core: close SSE stream when instance is disposed

This commit is contained in:
Dax Raad
2025-12-01 09:13:53 -05:00
parent e37aeb6e6a
commit 7da6a22df2
2 changed files with 34 additions and 9 deletions

View File

@@ -43,7 +43,6 @@ import { Snapshot } from "@/snapshot"
import { SessionSummary } from "@/session/summary"
import { GlobalBus } from "@/bus/global"
import { SessionStatus } from "@/session/status"
import { ShareNext } from "@/share/share-next"
// @ts-ignore This global is needed to prevent ai-sdk from logging warnings to stdout https://github.com/vercel/ai/blob/2dc67e0ef538307f21368db32d5a12345d98831b/packages/ai/src/logger/log-warnings.ts#L85
globalThis.AI_SDK_LOG_WARNINGS = false
@@ -2037,6 +2036,9 @@ export namespace Server {
await stream.writeSSE({
data: JSON.stringify(event),
})
if (event.type === Bus.InstanceDisposed.type) {
stream.close()
}
})
await new Promise<void>((resolve) => {
stream.onAbort(() => {