v0.24.12 -> v0.24.13
Summary
Agent resolution recovers the multi-agent failover path: when dispatcher routing exhausts its retries it now marks the dispatcher dead and falls through to the registry order instead of returning an outright error, so other registered agents still get tried. Skips dispatcher entirely when only one agent is registered. File tools remember per-session permission-denied roots and short-circuit subsequent calls into the same subtree.
翻譯
Agent resolution 復原 multi-agent failover:dispatcher routing 全失敗改回標 dead 並 fall through registry order,其他註冊 agent 仍能接手,不再一次 return error 把整盤判死。註冊表只有單一 agent 時整段跳過 dispatcher 呼叫。File tool 加 per-session denied-path 記憶,重複踩到同個 EACCES subtree 直接 short-circuit。
Changes
FEAT
- Add agent fallback handling and denied-path tracking for file tools [22594db]
翻譯
-
SelectAgentNamesdispatcher 3-retry 全失敗改回「標dead[bot.Name()]=true+ warn + fall through registry order」(v0.24.12 的return error在 multi-agent setup 會把健康 agent 一起槍斃,已撤回);加len(registry.Entries)==1early return 完全跳過 dispatcher LLM call(單 entry 無路由決策可做);新增internal/tools/file/denied/package(per-session sync.Map,path-component-boundary 前綴比對,Hit/Register/IsPermission API);六個 file tool(list/read/write/patch/glob/search)handler 入口接denied.Hitguard、op 失敗時IsPermission(err) → Register收錄 EACCES path;list_files額外os.Open預測試以避免 go-pkg reader 的IgnoreWalkError:true把 root EACCES 吞成空結果
Scope
-
internal/agents/exec/selectAgent.go— UPDATE (dispatcher fall-through restored, single-entry skip) -
internal/tools/file/denied/denied.go— FEAT (new per-session EACCES cache package) -
internal/tools/file/— UPDATE (list_files,read_file,write_file,patch_file,glob_files,search_files— all six wired to denied cache guard + register on EACCES)
Generated by SKILL
Top comments (0)