DEV Community

邱敬幃 Pardn Chiu
邱敬幃 Pardn Chiu

Posted on

Agenvoy@v0.24.13 - Add agent fallback handling and denied-path tracking for file tools

pardnchiu/Agenvoy


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]

翻譯

  • SelectAgentNames dispatcher 3-retry 全失敗改回「標 dead[bot.Name()]=true + warn + fall through registry order」(v0.24.12 的 return error 在 multi-agent setup 會把健康 agent 一起槍斃,已撤回);加 len(registry.Entries)==1 early 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.Hit guard、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)