diff options
| author | Adam Malczewski <[email protected]> | 2026-05-29 16:52:28 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-05-29 16:52:28 +0900 |
| commit | 5b3e1ac64681e233f35e1b4d2230d9988667c37e (patch) | |
| tree | 483b68c5336008c1d531db1f9cda93f97e6b9df0 /packaging/[email protected] | |
| parent | 9c401530254b764d9c7a74c992bec612f32ccd8e (diff) | |
| download | dispatch-5b3e1ac64681e233f35e1b4d2230d9988667c37e.tar.gz dispatch-5b3e1ac64681e233f35e1b4d2230d9988667c37e.zip | |
fix: handle unavailable tool calls via native v6 tool-error event, not synthetic invalid tool
- Removed __invalid__ tool definition, experimental_repairToolCall, and
v4-era NoSuchToolError catch block — AI SDK v6 already emits a native
tool-error stream event with the original tool name
- Added synthesizeResidualToolResults() helper to fill orphaned tool-call
IDs with isError: true results for abort/error terminal paths
- tool-error handler now break's instead of return's — lets sibling tools
execute normally via the manual executor loop
- Added final safety net after execution loop to catch any genuinely
orphaned tool-call IDs before round-tripping to the LLM
- Propagated isError through toModelMessages so error results are properly
flagged in conversation history
- Updated tests: tool-error event now continues to idle (not error), added
sibling-orphan prevention test
Diffstat (limited to 'packaging/[email protected]')
0 files changed, 0 insertions, 0 deletions
