CodeBuddy CN includes "tool_calls": [] in every SSE streaming delta. @ai-sdk/openai-compatible checks delta.tool_calls != null — an empty array passes ([] != null is true in JS), triggering premature reasoning-end on every reasoning chunk (0/1ms durations in OpenCode). Strip empty tool_calls arrays in passthrough before hasValuableContent. Zero side-effect: real tool_calls always have at least one element. Closes #2176 Co-authored-by: Cursor <cursoragent@cursor.com> |
||
|---|---|---|
| .. | ||
| bypassHandler.js | ||
| claudeCloaking.js | ||
| claudeHeaderCache.js | ||
| claudeSignature.js | ||
| clientDetector.js | ||
| cursorChecksum.js | ||
| cursorProtobuf.js | ||
| debugLog.js | ||
| error.js | ||
| ollamaTransform.js | ||
| proxyFetch.js | ||
| reasoningContentInjector.js | ||
| requestLogger.js | ||
| responsesStreamHelpers.js | ||
| sessionManager.js | ||
| sse.js | ||
| sseConstants.js | ||
| stream.js | ||
| streamHandler.js | ||
| streamHelpers.js | ||
| toolDeduper.js | ||
| usageTracking.js | ||