fix(open-sse): emit [DONE] in passthrough SSE mode (#142)
This commit is contained in:
@@ -253,6 +253,14 @@ export function createSSEStream(options = {}) {
|
|||||||
appendRequestLog({ model, provider, connectionId, tokens: null, status: "200 OK" }).catch(() => { });
|
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) {
|
if (onStreamComplete) {
|
||||||
onStreamComplete({
|
onStreamComplete({
|
||||||
content: accumulatedContent,
|
content: accumulatedContent,
|
||||||
|
|||||||
Reference in New Issue
Block a user