Some providers (e.g. codebuddy/cbcn) attach an empty tool_calls array to every streaming chunk. An empty array is truthy in JS, so the guard 'if (delta.tool_calls)' closed the message on the first content token and emitted response.output_text.done early, dropping the remaining deltas. Guard on a non-empty array; finish_reason still closes the message and real tool calls still close it before emitting function_call items. fixes #3234 |
||
|---|---|---|
| .. | ||
| claude-to-openai.js | ||
| commandcode-to-openai.js | ||
| cursor-to-openai.js | ||
| gemini-to-openai.js | ||
| kiro-to-claude.js | ||
| kiro-to-openai.js | ||
| ollama-to-openai.js | ||
| openai-responses.js | ||
| openai-to-antigravity.js | ||
| openai-to-claude.js | ||