You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: clarify GraphTools are compatible with any tool wrapper
- Add 'Composable Tool Wrappers' section explaining GraphTools implement standard interfaces
- List example wrappers: InvokableApprovableTool, InvokableReviewEditTool, FollowUpTool
- Clarify nested interrupts work with any interrupt-based wrapper, not just InvokableApprovableTool
Change-Id: Ic3156bf0d28bb30b11dcd61092972bc2d12faccb
Copy file name to clipboardExpand all lines: adk/common/tool/graphtool/README.md
+14-4Lines changed: 14 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -116,13 +116,23 @@ The tool automatically:
116
116
2. Wraps the interrupt with `CompositeInterrupt` for proper propagation
117
117
3. Restores state and resumes execution when `runner.ResumeWithParams` is called
118
118
119
+
### Composable Tool Wrappers
120
+
121
+
GraphTools implement standard `tool.InvokableTool` or `tool.StreamableTool` interfaces, making them compatible with any tool wrapper in the ecosystem. Examples of wrappers you can use:
122
+
123
+
-**`InvokableApprovableTool`**: Adds human approval before tool execution
124
+
-**`InvokableReviewEditTool`**: Allows users to review and edit tool arguments
125
+
-**`FollowUpTool`**: Asks users follow-up questions during execution
126
+
- Custom wrappers you create
127
+
119
128
### Nested Interrupts
120
129
121
-
GraphTools can be wrapped with `InvokableApprovableTool` for two-level approval:
When a GraphTool with internal interrupts is wrapped by another interrupt-based wrapper (e.g., `InvokableApprovableTool`), both interrupt layers work independently:
131
+
132
+
1.**Outer interrupt**: Wrapper-level interrupt (e.g., approval via `InvokableApprovableTool`)
0 commit comments