6 Commits (drew/english)

Author SHA1 Message Date
shentong.martin 57cb494e77 chore: fix lint and formatting
Change-Id: I3b4f908dd24ce6b779fdb8cac3e7519c3295a21b
2 months ago
shentong.martin a05f4e9a5d refactor: remove unused chain variables in example 1
Change-Id: I1fcd725de100d42d7c496fb3ea2e8701c72af42f
4 months ago
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 f7ed18dd7e refactor: use tool package interrupt APIs instead of compose package
- approval_wrapper.go: use tool.GetInterruptState, tool.GetResumeContext, tool.StatefulInterrupt
- graphtool/graph_tool.go: use tool.GetInterruptState, tool.CompositeInterrupt
- Keep compose.ExtractInterruptInfo for checking graph execution errors
- Remove ToolCallID from ApprovalInfo (compose.GetToolCallID no longer used)

Change-Id: I7c9a7f73a0e0036ab384478d1ea6770ea0031c4b
4 months ago
shentong.martin f2f7dbb918 fix: remove redundant newline in fmt.Println
Change-Id: Ia8fa3750eca3880c500e2931c6b32b18069653cf
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