34 Commits (drew/english)

Author SHA1 Message Date
shentong.martin b035dd29c5 chore: satisfy staticcheck QF1012 (plan-execute-replan)
Change-Id: I2b04f7e939840138d535b95af1b49acd76052bed
2 months ago
shentong.martin fa53f234c7 chore: satisfy staticcheck QF1012
Change-Id: I1204fd946fb1368f613f0666ac2bc46f99fa5ff3
2 months ago
shentong.martin 4ea5783584 chore: fix staticcheck formatting
Change-Id: I10f1b13764ae8533034cec505bcb24dfa216d531
2 months ago
shentong.martin 57cb494e77 chore: fix lint and formatting
Change-Id: I3b4f908dd24ce6b779fdb8cac3e7519c3295a21b
2 months ago
Megumin d49cfe085a
fix: add execute tool to skill example (#182) 2 months ago
Megumin 6114f39861
feat(adk): add search tool middleware example (#167) (#180) 2 months ago
dependabot[bot] cdc720df8c
chore(deps): bump the eino-dependencies group across 3 directories with 2 updates (#177) 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 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 f13f4f7555 feat(flow/react): add short-term memory example with MessageFuture and tool calls
Change-Id: Iff0920fa888b74ee40770ea4e59126bbc01949c5
5 months ago
shentong.martin 60eb90bce2 feat: update eino to v0.7.14
Change-Id: I3e2e71a820d9caee68b8ac1f4616d1cf610da8f5
5 months ago
shentong.martin c396f82e82 feat: make rate limit delay configurable via RATE_LIMIT_DELAY_MS env var
- Add getRateLimitDelay() function to read delay from environment
- When RATE_LIMIT_DELAY_MS is not set or 0, use original model without wrapper
- Remove debug print statements from rateLimitedModel

Change-Id: I491d061b90530a84976e26952c7245f821553d1c
5 months ago
shentong.martin f3c86a123c fix: remove redundant newlines and apply gofmt formatting
Change-Id: I0e3b7a87011ff7a6a2d1c00f456f4c36569576a2
5 months ago
shentong.martin 7c56672353 feat(adk): add human-in-the-loop examples for multi-agent patterns
Add four new examples demonstrating interrupt/resume functionality with
prebuilt multi-agent patterns:

- 5_supervisor: Supervisor pattern with approval for fund transfers
- 6_plan-execute-replan: Plan-Execute-Replan with review-edit for bookings
- 7_deep-agents: Deep agents with follow-up for clarification questions
- 8_supervisor-plan-execute: Nested architecture with Plan-Execute-Replan
  as sub-agent under Supervisor, demonstrating deep interrupt propagation

Each example includes:
- Semantically meaningful scenarios (financial advisor, travel booking,
  data analysis, project management)
- Rate-limited model wrapper for test environments
- English and Chinese README documentation

Also includes:
- Fix errorremover middleware to propagate interrupt errors correctly
- Add .trae to .gitignore

Change-Id: I1a7e21936bf7015d2d2c08c4b9e78cdd7c07da8b
5 months ago
shentong.martin 9835e6abd6 feat(react): dynamic option during execution
Change-Id: I7c67d6b6244c3f37912faf35d64fa4c73bc04358
5 months ago
shentong.martin d35371e0af feat(adk): add input msg log to supervisor example
Change-Id: I5befb422a92466983d00d20f87c3dd9596e1f47f
5 months ago
shentong.martin 78b2ca9963 feat(adk): add http sse service example
Change-Id: I46b9bcb6673cee8a0a7e2946b8541ec0eae38ec3
5 months ago
shentong.martin 476e80b9f4 feat: implement an AB test router ChatModel example
Change-Id: If21899ebe9d5848a82c386056bded7346d8ec25a
5 months ago
shentong.martin 3ce08012fd chore: update approval example to be easier to understand
Change-Id: Ia999549cce2940aee6d2e1e57ad90c28d5d2f15f
6 months ago
IPender 85592f893f
feat(adk): add agent_with_summarization based on agent_middleware (#135) 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
N3ko bc28accbb7
feat: update commandline (#132) 6 months ago
Megumin 09c7e3515e
feat(adk): deepagents example (#131) 6 months ago
IPender 0795ca30b0
feat(adk): add Exit tool for loop_for_reflection (#127)
* feat(adk): add Exit tool for loop_for_reflection

* feat(adk): add break_loop event for loop_for_reflection

* feat(adk): add break_loop event for loop_for_reflection
6 months ago
N3ko b3cc87e04e
feat(adk): add excel agent based on plan-execute-replan pattern (#122) 6 months ago
mrh997 3bc1a807df
fix: use jsonschema_description tag (#123) 7 months ago
N3ko bbbae09319
feat: add examples for adk (#120) 8 months ago
JqRrt 3a94b9ab0d
add cozeloop callback (#115) 8 months ago
IPender 528919187f
feat(adk): add eino adk examples (#114) 8 months ago