From f053a121309e2377c297c9a498c6303a31dd950d Mon Sep 17 00:00:00 2001 From: Andrei Papancea Date: Mon, 7 Apr 2025 22:14:37 -0400 Subject: [PATCH 1/3] + allow SSE transport init with sessionId --- src/server/sse.test.ts | 7 +++++++ src/server/sse.ts | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 src/server/sse.test.ts diff --git a/src/server/sse.test.ts b/src/server/sse.test.ts new file mode 100644 index 00000000..38bca36f --- /dev/null +++ b/src/server/sse.test.ts @@ -0,0 +1,7 @@ +import { SSEServerTransport } from "./sse.js"; + +test("should initialize with provided sessionId", async () => { + const res: any = null; + const server = new SSEServerTransport("/sse", res, "test-sessionId-123"); + expect(server.sessionId).toBe("test-sessionId-123"); +}); \ No newline at end of file diff --git a/src/server/sse.ts b/src/server/sse.ts index e6cddc4e..576dcba0 100644 --- a/src/server/sse.ts +++ b/src/server/sse.ts @@ -26,8 +26,9 @@ export class SSEServerTransport implements Transport { constructor( private _endpoint: string, private res: ServerResponse, + sessionId?: string ) { - this._sessionId = randomUUID(); + this._sessionId = sessionId ?? randomUUID(); } /** From 8491dd9448d4e74ad793b84c1d02e725404f7089 Mon Sep 17 00:00:00 2001 From: Andrei Papancea Date: Mon, 7 Apr 2025 22:16:47 -0400 Subject: [PATCH 2/3] ! linting --- src/server/sse.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/server/sse.test.ts b/src/server/sse.test.ts index 38bca36f..6a15f1d8 100644 --- a/src/server/sse.test.ts +++ b/src/server/sse.test.ts @@ -1,7 +1,8 @@ import { SSEServerTransport } from "./sse.js"; test("should initialize with provided sessionId", async () => { - const res: any = null; + /* eslint-disable @typescript-eslint/no-explicit-any */ + const res: any = null; // mocking HTTP res as it's irrelevant to the test const server = new SSEServerTransport("/sse", res, "test-sessionId-123"); expect(server.sessionId).toBe("test-sessionId-123"); }); \ No newline at end of file From c82578e5d4f7c1ce16cd812b0c4e37fbb1b2f4b3 Mon Sep 17 00:00:00 2001 From: Andrei Papancea Date: Mon, 7 Apr 2025 22:25:49 -0400 Subject: [PATCH 3/3] ! updated docs --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index a6ec645c..ec369938 100644 --- a/README.md +++ b/README.md @@ -241,6 +241,8 @@ app.get("/sse", async (_: Request, res: Response) => { app.post("/messages", async (req: Request, res: Response) => { const sessionId = req.query.sessionId as string; const transport = transports[sessionId]; + // or... + // const transport = new SSEServerTransport('/messages', res, sessionId); if (transport) { await transport.handlePostMessage(req, res); } else {