fix: #791 support DeepSeek thinking tool calls #792
+237 −2
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
Summary
Fixes DeepSeek thinking-mode tool-call loops when using the AI SDK bridge (
aisdk()).DeepSeek requires
reasoning_contentto be echoed back to the API on assistant messages during thinking-mode tool calls. In our AI SDK prompt serialization, reasoning could be emitted as a separate assistant message, leaving the assistant tool-call message without reasoning. This PR merges reasoning parts into the same assistant message as subsequent tool calls, but only when thinking mode is enabled via:modelId === "deepseek-reasoner", orproviderOptions.deepseek.thinking.type === "enabled".Test plan
pnpm lintpnpm buildpnpm -r build-checkpnpm testIssue number
Closes #791
Checks
pnpm testandpnpm test:examplespnpm test:integration