diff --git a/open-sse/handlers/sseParser.ts b/open-sse/handlers/sseParser.ts index 4a9626ac7b..aa579010bc 100644 --- a/open-sse/handlers/sseParser.ts +++ b/open-sse/handlers/sseParser.ts @@ -98,12 +98,14 @@ export function parseSSEToOpenAIResponse(rawSSE, fallbackModel) { } } + const joinedContent = contentParts.length > 0 ? contentParts.join("").trim() : null; + const joinedReasoning = reasoningParts.length > 0 ? reasoningParts.join("").trim() : null; const message: Record = { role: "assistant", - content: contentParts.length > 0 ? contentParts.join("") : null, + content: joinedContent || null, }; - if (reasoningParts.length > 0) { - message.reasoning_content = reasoningParts.join(""); + if (joinedReasoning) { + message.reasoning_content = joinedReasoning; } const finalToolCalls = [...accumulatedToolCalls.values()].filter(Boolean).sort((a, b) => { diff --git a/open-sse/utils/streamPayloadCollector.ts b/open-sse/utils/streamPayloadCollector.ts index 427770fa08..58a20cbb5e 100644 --- a/open-sse/utils/streamPayloadCollector.ts +++ b/open-sse/utils/streamPayloadCollector.ts @@ -207,12 +207,14 @@ function buildOpenAISummary(events: StructuredSSEEvent[], fallbackModel?: string } } + const joinedContent = contentParts.length > 0 ? contentParts.join("").trim() : null; + const joinedReasoning = reasoningParts.length > 0 ? reasoningParts.join("").trim() : null; const message: JsonRecord = { role: "assistant", - content: contentParts.length > 0 ? contentParts.join("") : null, + content: joinedContent || null, }; - if (reasoningParts.length > 0) { - message.reasoning_content = reasoningParts.join(""); + if (joinedReasoning) { + message.reasoning_content = joinedReasoning; } const finalToolCalls = [...toolCalls.values()].sort((a, b) => a.index - b.index);