mirror of
https://github.com/Nezumi-2711/9router.git
synced 2026-09-22 13:38:31 +00:00
Kiro requires a non-empty currentMessage tools array whenever history references any tool use, else returns "Improperly formed request" (400). Clients trip this by omitting tools on follow-ups after client-side compaction. - flattenToolInteractions(): no client tools -> collapse tool_use/result to text so the "tools required" rule never fires - reconcileOrphanedToolResults(): client tools -> salvage orphaned results as text, keep matched ones, guard co-located tools array - safeJSONParse(): guard tool-call argument parsing against bad JSON - merge consecutive user userInputMessageContext; null-guard currentMessage for assistant-only input Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: Cursor <cursoragent@cursor.com>