DRY: unify tool execution in ToolExecutor._execute_one()
Three methods (_run_single_tool, _execute_tool_calls,
_execute_tool_calls_streaming) duplicated identical logic:
resolve → middleware → execute → image extraction → build message.

- Extract canonical _execute_one(tc, tool_map) -> (ToolEvent, Message, image_msg)
- All three public methods now delegate to _execute_one
- Public signatures unchanged — no test or caller changes needed

392 passed, 1 skipped

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent fcf9a18 commit 631f4fda3a3c759bdcfa23db73ee45c30758d9a3
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored on 18 May
Showing 1 changed file
View
navi/core/tool_executor.py