ZhenYi
|
f7e087e066
|
fix(agent/service): retry jitter, tool executor ordering, curl SSRF, grep/JSON
- agent/client: full jitter backoff (random(0, base_ms)) instead of equal jitter
- agent/tool/executor: fix buffer_unordered ordering mismatch with
HashMap-by-index approach for concurrent tool execution
- agent/chat: AiChunkType emit fixes, is_retryable_tool_error refinements,
process_react uses request.max_tool_depth
- agent/chat/context: fix Function message sender_name field
- file_tools/curl: shared reqwest::Client via OnceLock, manual redirect
following with per-hop SSRF validation, blocked sensitive headers
- file_tools/grep: fix case-insensitive glob matching, segment consumption
- file_tools/json: bracket notation support, remove .vscodeignore from JSONC
- git_tools: git_diff_stats resolve base/head independently,
DiffFileOut old_file.path for Deleted, reflog offset_minutes
- git/repo: create_commit read parent tree into index, bare repo init
- project_tools/repos: branch/path validation, .git/ prefix check
- service/agent: tokent integration, billing, pr_summary, code_review fixes
|
2026-04-25 09:53:31 +08:00 |
|
ZhenYi
|
767bb10249
|
feat(agent): wire git_tools into AI tool registry with full schemas
- ChatService: add tools() method to expose registered tool definitions
- RoomService: populate AiRequest.tools from chat_service.tools(), enable tools
with max_tool_depth=3 (was always None)
- ToolHandler: add pub new() constructor so git_tools modules can register
handlers with full schema metadata
- Add description + JSON schema params to all 16 git tools:
git_log, git_show, git_search_commits, git_commit_info, git_graph,
git_reflog, git_branch_list, git_branch_info, git_branches_merged,
git_branch_diff, git_diff, git_diff_stats, git_blame, git_file_content,
git_tree_ls, git_file_history, git_tag_list, git_tag_info
|
2026-04-18 21:42:33 +08:00 |
|