From 13257ce625d66197c3eb21b72322aed4670d8bc2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 18 Jul 2025 20:43:59 +0000 Subject: [PATCH] Fix streamable HTTP transport connection cleanup Co-authored-by: pavelfeldman <883973+pavelfeldman@users.noreply.github.com> --- src/transport.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/transport.ts b/src/transport.ts index b6f861b..c2bdfe4 100644 --- a/src/transport.ts +++ b/src/transport.ts @@ -88,7 +88,14 @@ async function handleStreamable(server: Server, req: http.IncomingMessage, res: if (transport.sessionId) sessions.delete(transport.sessionId); }; - await server.createConnection(transport); + const connection = await server.createConnection(transport); + // Ensure connection is closed when transport closes + transport.onclose = () => { + if (transport.sessionId) + sessions.delete(transport.sessionId); + // eslint-disable-next-line no-console + void connection.close().catch(e => console.error(e)); + }; await transport.handleRequest(req, res); return; }