2 Commits (c5df2f12e49ba8e733ef753b3a2ecb8c576c38b9)

Author SHA1 Message Date
shentong.martin c5df2f12e4 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
4 months ago
shentong.martin fb76b1c544 feat(graphtool): add InvokableGraphTool and StreamableGraphTool for wrapping compose types as tools
- Add graphtool package with InvokableGraphTool and StreamableGraphTool
- Support compose.Graph, compose.Chain, and compose.Workflow via Compilable interface
- Full interrupt/resume support with checkpoint persistence
- Add 4 examples demonstrating different use cases:
  - 1_chain_summarize: Document summarization with compose.Chain
  - 2_graph_research: Multi-source research with compose.Graph + streaming
  - 3_workflow_order: Order processing with compose.Workflow + approval
  - 4_nested_interrupt: Nested interrupts (outer approval + inner risk check)
- Update InvokableApprovableTool to support nested interrupts
- Add comprehensive README documentation for package and examples

Change-Id: Ia7cceebb9e25baf6ca4db25b36eddc74eec273cb
4 months ago