fix: make Eino exit and transfer work on AgenticMessage state

Official ExitTool still writes classic Message react state, which breaks supervisor delivery on the Agentic path.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ed1s0nZ
2026-09-22 10:44:34 +08:00
co-authored by Cursor
parent 8da3c8c51b
commit 3aa9274675
7 changed files with 338 additions and 10 deletions
+1
View File
@@ -73,3 +73,4 @@
| 2026-08-14 | **本地 MCP 审计回归**:新增真实 `mcp.Server` 覆盖,验证 Eino ADK filesystem begin/finish 复用同一 execution id,并在 `tool_result` 后把模型可见正文更新回 MCP display result。 |
| 2026-08-14 | **Agentic 上下文压缩端到端**:新增 typed agent 测试,证明 `summarization.NewTyped[*schema.AgenticMessage]` 会先压缩历史,再把摘要、ledger 与 transcript 提示送入业务 AgenticModel。 |
| 2026-08-14 | **Agentic 主路径切换**:`RunEinoSingleChatModelAgent`、Deep 主/子代理、Supervisor 主/子代理与 plan_execute Executor 切到 `TypedChatModelAgent[*schema.AgenticMessage]` / `deep.NewTyped[*schema.AgenticMessage]`;官方 typed patchtoolcalls / toolsearch / plantask / reduction / filesystem / skill / summarization 与 Agentic retry/failover 进入生产装配;adapter 补 `adk.ResumableAgent`,保持 Runner checkpoint、TurnLoop、SSE 与 MCP drain 边界稳定。 |
| 2026-09-22 | **Agentic builtin action 状态对齐**:Eino v0.9.14 官方 `ExitTool` / `transfer_to_agent` 仍通过 `SendToolGenAction` 写 `typedState[*schema.Message]`。Agentic 主路径改为兼容 exit/transfer 的 typed state 写入,并拦截 HITL 拒绝 transfer 时的 returnDirectly 清理,避免工具执行报 `cannot find state with type ... AgenticMessage`。 |