diff --git a/src/examples/server/simpleSseServer.ts b/src/examples/server/simpleSseServer.ts index f8bdd466..a5b75ff9 100644 --- a/src/examples/server/simpleSseServer.ts +++ b/src/examples/server/simpleSseServer.ts @@ -158,7 +158,7 @@ process.on('SIGINT', async () => { console.log('Shutting down server...'); // Close all active transports to properly clean up resources - for (const sessionId in transports) { + for await (const sessionId of Object.keys(transports)) { try { console.log(`Closing transport for session ${sessionId}`); await transports[sessionId].close(); diff --git a/src/examples/server/simpleStreamableHttp.ts b/src/examples/server/simpleStreamableHttp.ts index 98f9d351..1f80c955 100644 --- a/src/examples/server/simpleStreamableHttp.ts +++ b/src/examples/server/simpleStreamableHttp.ts @@ -661,7 +661,7 @@ process.on('SIGINT', async () => { console.log('Shutting down server...'); // Close all active transports to properly clean up resources - for (const sessionId in transports) { + for await (const sessionId of Object.keys(transports)) { try { console.log(`Closing transport for session ${sessionId}`); await transports[sessionId].close(); diff --git a/src/examples/server/sseAndStreamableHttpCompatibleServer.ts b/src/examples/server/sseAndStreamableHttpCompatibleServer.ts index e097ca70..99f231f0 100644 --- a/src/examples/server/sseAndStreamableHttpCompatibleServer.ts +++ b/src/examples/server/sseAndStreamableHttpCompatibleServer.ts @@ -243,7 +243,7 @@ process.on('SIGINT', async () => { console.log('Shutting down server...'); // Close all active transports to properly clean up resources - for (const sessionId in transports) { + for await (const sessionId of Object.keys(transports)) { try { console.log(`Closing transport for session ${sessionId}`); await transports[sessionId].close(); diff --git a/src/examples/shared/inMemoryEventStore.ts b/src/examples/shared/inMemoryEventStore.ts index fbdebe12..5ab6788c 100644 --- a/src/examples/shared/inMemoryEventStore.ts +++ b/src/examples/shared/inMemoryEventStore.ts @@ -56,7 +56,7 @@ export class InMemoryEventStore implements EventStore { // Sort events by eventId for chronological ordering const sortedEvents = [...this.events.entries()].sort((a, b) => a[0].localeCompare(b[0])); - for (const [eventId, { streamId: eventStreamId, message }] of sortedEvents) { + for await (const [eventId, { streamId: eventStreamId, message }] of sortedEvents) { // Only include events from the same stream if (eventStreamId !== streamId) { continue; diff --git a/src/server/auth/middleware/allowedMethods.test.ts b/src/server/auth/middleware/allowedMethods.test.ts index 61f8c801..5b36d86f 100644 --- a/src/server/auth/middleware/allowedMethods.test.ts +++ b/src/server/auth/middleware/allowedMethods.test.ts @@ -30,7 +30,7 @@ describe("allowedMethods", () => { test("returns 405 for unspecified HTTP methods", async () => { const methods = ["post", "put", "delete", "patch"]; - for (const method of methods) { + for await (const method of methods) { // @ts-expect-error - dynamic method call const response = await request(app)[method]("/test"); expect(response.status).toBe(405); diff --git a/src/server/mcp.ts b/src/server/mcp.ts index 791facef..ad48a766 100644 --- a/src/server/mcp.ts +++ b/src/server/mcp.ts @@ -365,7 +365,7 @@ export class McpServer { ); const templateResources: Resource[] = []; - for (const template of Object.values( + for await (const template of Object.values( this._registeredResourceTemplates, )) { if (!template.resourceTemplate.listCallback) { diff --git a/src/server/streamableHttp.test.ts b/src/server/streamableHttp.test.ts index 3a0a5c06..2b0c26e3 100644 --- a/src/server/streamableHttp.test.ts +++ b/src/server/streamableHttp.test.ts @@ -1285,7 +1285,7 @@ describe("StreamableHTTPServerTransport with resumability", () => { const streamId = lastEventId.split('_')[0]; // Extract stream ID from the event ID // For test simplicity, just return all events with matching streamId that aren't the lastEventId - for (const [eventId, { message }] of storedEvents.entries()) { + for await (const [eventId, { message }] of storedEvents.entries()) { if (eventId.startsWith(streamId) && eventId !== lastEventId) { await send(eventId, message); }