fix(open-sse): emit [DONE] in passthrough SSE mode (#142)

This commit is contained in:
misterdas
2026-02-18 11:56:23 +05:30
committed by GitHub
parent e1b836168a
commit b9a697925e

View File

@@ -253,6 +253,14 @@ export function createSSEStream(options = {}) {
appendRequestLog({ model, provider, connectionId, tokens: null, status: "200 OK" }).catch(() => { });
}
// IMPORTANT: In passthrough mode we still must terminate the SSE stream.
// Some clients (e.g. OpenClaw) expect the OpenAI-style sentinel:
// data: [DONE]\n\n
// Without it they can hang until timeout and trigger failover.
const doneOutput = "data: [DONE]\n\n";
reqLogger?.appendConvertedChunk?.(doneOutput);
controller.enqueue(sharedEncoder.encode(doneOutput));
if (onStreamComplete) {
onStreamComplete({
content: accumulatedContent,