SIGN IN SIGN UP

Fix system-message tools parser when tool call is non-terminal (#11092)

* fix(openai-adapters): map reasoning-delta to reasoning_content

* Fix system-message tool parser for non-terminal tool calls

* Fix duplicate predefined tools in dynamic system-message section

* fix(openai-adapters): fix TS syntax error in vercelStreamConverter test

The `as typeof X & Y` type assertion was ambiguous to the TypeScript
parser without parentheses, causing TS1005 errors across all CI checks.
Simplify to `as any` since this is a test assertion.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore: remove unrelated vercelStreamConverter changes

Per reviewer feedback — keeping this PR focused on the
system-message tools parser fix.

* fix: correct test expectations for post-tool-call content preservation

The 'preserves content after a tool call' test incorrectly consumed the
trailing newline and preserved text within the tool-call loop. Adjusted
the loop count from 6 to 4 (actual tool-call deltas) and added explicit
assertions for the trailing newline and preserved content chunks.

The 'mid-message' test was missing an assertion for the newline chunk
emitted between the closing codeblock fence and trailing text.

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: MumuTW <mumu@novel98.com>
M
MumuTW committed
ffb6ea45f097c48fbef6261a1c0ee1ce3471e767
Parent: cbbe3ef
Committed by GitHub <noreply@github.com> on 3/24/2026, 6:56:43 PM