|
Fix MCP tool spinner bug: match tool_started → tool_call by tool_call_id
- Add tool_call_id field to ToolStarted and ToolEvent dataclasses
- Pass tc.id as tool_call_id from agent.py, subagent_runner.py, and tool_executor.py
- Update frontend chat.js onToolStarted/onToolCall to match cards by toolCallId
with fallback to name-matching for backward compatibility
Closes spinner issue where LLM short name ("search_docs") didn't match
resolved MCP name ("mcp__gnexus_book__search_docs").
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
|---|
|
|
| navi/core/agent.py |
|---|
| navi/core/events.py |
|---|
| navi/core/subagent_runner.py |
|---|
| navi/core/tool_executor.py |
|---|
| tests/unit/core/test_events.py |
|---|
| webclient/src/stores/chat.js |
|---|