diff --git a/src/server/streamableHttp.ts b/src/server/streamableHttp.ts index 3bf84e430..c0da91704 100644 --- a/src/server/streamableHttp.ts +++ b/src/server/streamableHttp.ts @@ -303,6 +303,11 @@ export class StreamableHTTPServerTransport implements Transport { res.on("close", () => { this._streamMapping.delete(this._standaloneSseStreamId); }); + + // Add error handler for standalone SSE stream + res.on("error", (error) => { + this.onerror?.(error as Error); + }); } /** @@ -334,6 +339,11 @@ export class StreamableHTTPServerTransport implements Transport { } }); this._streamMapping.set(streamId, res); + + // Add error handler for replay stream + res.on("error", (error) => { + this.onerror?.(error as Error); + }); } catch (error) { this.onerror?.(error as Error); } @@ -520,6 +530,11 @@ export class StreamableHTTPServerTransport implements Transport { this._streamMapping.delete(streamId); }); + // Add error handler for stream write errors + res.on("error", (error) => { + this.onerror?.(error as Error); + }); + // handle each message for (const message of messages) { this.onmessage?.(message, { authInfo, requestInfo });