9 Commits (2c961e4629136aaee56de129505a69acd56e67d7)

Author SHA1 Message Date
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 44e0085eae refactor: use tool package interrupt APIs in follow_up_tool and review_edit_wrapper
- follow_up_tool.go: use tool.GetInterruptState, tool.GetResumeContext, tool.StatefulInterrupt
- review_edit_wrapper.go: use tool.GetInterruptState, tool.GetResumeContext, tool.StatefulInterrupt
- Remove ToolCallID from ReviewEditInfo (compose.GetToolCallID no longer used)
- Remove compose import from both files

Change-Id: I9fee8a8ef93a5b3eab4700c0850f6dce220e5f98
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
shentong.martin 25b11b1a40 feat: graph tool
Change-Id: Ic523afc41e82af04c578968cc2b535c4b76ce828
4 months ago
shentong.martin 3ce08012fd chore: update approval example to be easier to understand
Change-Id: Ia999549cce2940aee6d2e1e57ad90c28d5d2f15f
6 months ago
shentongmartin d41b497bdc
feat: add common human-in-the-loop patterns (#125)
* feat: add approval human-in-the-loop pattern

Change-Id: I8217d0b92e5df954adfbae129f945a52d9367a08

* feat: add review-and-edit human-in-the-loop pattern

Change-Id: Ifebae102fe01c6b5c1239c56d4bde9b83f89ff45

* feat: add follow-up human-in-the-loop pattern

Change-Id: I79323759e03607496b411a7e6bd06a6eac18c986

* feat: change 'review-and-edit' to 'feedback-loop'

Change-Id: I6c0a94d97a745dce9badda5b73e895ea440076e4

* feat: re-add the review-and-edit pattern

Change-Id: If2058922c3e2428ab896c5f8c59d12de79ae2ae5

* fix(adk): improve review-and-edit tool call wrapper response

Change-Id: I22b30575551f3f9d9b10a65ce11bcc2a92199a0b

* docs: update command path with actual dir name

* chore: update to eino v0.7.0 release

Change-Id: Ie61a51f9d6dc0edbc1ddac973966740f2edf466b

---------

Co-authored-by: HaotianChen <chenhaotian16@huawei.com>
6 months ago