@modelcontextprotocol/sdk 1.24.2 → 1.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/dist/cjs/client/auth-extensions.js +5 -9
  2. package/dist/cjs/client/auth-extensions.js.map +1 -1
  3. package/dist/cjs/client/auth.js +30 -37
  4. package/dist/cjs/client/auth.js.map +1 -1
  5. package/dist/cjs/client/index.d.ts +61 -14
  6. package/dist/cjs/client/index.d.ts.map +1 -1
  7. package/dist/cjs/client/index.js +117 -36
  8. package/dist/cjs/client/index.js.map +1 -1
  9. package/dist/cjs/client/middleware.js +3 -3
  10. package/dist/cjs/client/middleware.js.map +1 -1
  11. package/dist/cjs/client/sse.d.ts.map +1 -1
  12. package/dist/cjs/client/sse.js +20 -26
  13. package/dist/cjs/client/sse.js.map +1 -1
  14. package/dist/cjs/client/stdio.js +18 -28
  15. package/dist/cjs/client/stdio.js.map +1 -1
  16. package/dist/cjs/client/streamableHttp.d.ts.map +1 -1
  17. package/dist/cjs/client/streamableHttp.js +42 -47
  18. package/dist/cjs/client/streamableHttp.js.map +1 -1
  19. package/dist/cjs/client/websocket.js +6 -11
  20. package/dist/cjs/client/websocket.js.map +1 -1
  21. package/dist/cjs/examples/client/elicitationUrlExample.js +4 -5
  22. package/dist/cjs/examples/client/elicitationUrlExample.js.map +1 -1
  23. package/dist/cjs/examples/client/simpleOAuthClient.js +3 -3
  24. package/dist/cjs/examples/client/simpleOAuthClient.js.map +1 -1
  25. package/dist/cjs/examples/client/simpleStreamableHttp.js +7 -9
  26. package/dist/cjs/examples/client/simpleStreamableHttp.js.map +1 -1
  27. package/dist/cjs/examples/client/simpleTaskInteractiveClient.js +1 -2
  28. package/dist/cjs/examples/client/simpleTaskInteractiveClient.js.map +1 -1
  29. package/dist/cjs/examples/server/honoWebStandardStreamableHttp.d.ts +10 -0
  30. package/dist/cjs/examples/server/honoWebStandardStreamableHttp.d.ts.map +1 -0
  31. package/dist/cjs/examples/server/honoWebStandardStreamableHttp.js +81 -0
  32. package/dist/cjs/examples/server/honoWebStandardStreamableHttp.js.map +1 -0
  33. package/dist/cjs/examples/server/jsonResponseStreamableHttp.js +10 -4
  34. package/dist/cjs/examples/server/jsonResponseStreamableHttp.js.map +1 -1
  35. package/dist/cjs/examples/server/simpleSseServer.js +6 -3
  36. package/dist/cjs/examples/server/simpleSseServer.js.map +1 -1
  37. package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js +12 -6
  38. package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
  39. package/dist/cjs/examples/server/simpleStreamableHttp.js +21 -11
  40. package/dist/cjs/examples/server/simpleStreamableHttp.js.map +1 -1
  41. package/dist/cjs/examples/server/simpleTaskInteractive.js +7 -11
  42. package/dist/cjs/examples/server/simpleTaskInteractive.js.map +1 -1
  43. package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js +10 -7
  44. package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
  45. package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js +1 -1
  46. package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
  47. package/dist/cjs/experimental/tasks/client.js +1 -2
  48. package/dist/cjs/experimental/tasks/client.js.map +1 -1
  49. package/dist/cjs/experimental/tasks/helpers.js +3 -5
  50. package/dist/cjs/experimental/tasks/helpers.js.map +1 -1
  51. package/dist/cjs/experimental/tasks/interfaces.d.ts +3 -3
  52. package/dist/cjs/experimental/tasks/interfaces.d.ts.map +1 -1
  53. package/dist/cjs/experimental/tasks/stores/in-memory.d.ts +1 -1
  54. package/dist/cjs/experimental/tasks/stores/in-memory.d.ts.map +1 -1
  55. package/dist/cjs/experimental/tasks/stores/in-memory.js +3 -5
  56. package/dist/cjs/experimental/tasks/stores/in-memory.js.map +1 -1
  57. package/dist/cjs/inMemory.js +5 -7
  58. package/dist/cjs/inMemory.js.map +1 -1
  59. package/dist/cjs/server/auth/handlers/token.js +1 -1
  60. package/dist/cjs/server/auth/handlers/token.js.map +1 -1
  61. package/dist/cjs/server/auth/providers/proxyProvider.js +11 -17
  62. package/dist/cjs/server/auth/providers/proxyProvider.js.map +1 -1
  63. package/dist/cjs/server/auth/router.js +3 -6
  64. package/dist/cjs/server/auth/router.js.map +1 -1
  65. package/dist/cjs/server/completable.js +1 -1
  66. package/dist/cjs/server/completable.js.map +1 -1
  67. package/dist/cjs/server/index.d.ts +3 -3
  68. package/dist/cjs/server/index.d.ts.map +1 -1
  69. package/dist/cjs/server/index.js +20 -30
  70. package/dist/cjs/server/index.js.map +1 -1
  71. package/dist/cjs/server/mcp.d.ts.map +1 -1
  72. package/dist/cjs/server/mcp.js +25 -11
  73. package/dist/cjs/server/mcp.js.map +1 -1
  74. package/dist/cjs/server/middleware/hostHeaderValidation.js +1 -1
  75. package/dist/cjs/server/middleware/hostHeaderValidation.js.map +1 -1
  76. package/dist/cjs/server/sse.js +14 -17
  77. package/dist/cjs/server/sse.js.map +1 -1
  78. package/dist/cjs/server/stdio.js +4 -7
  79. package/dist/cjs/server/stdio.js.map +1 -1
  80. package/dist/cjs/server/streamableHttp.d.ts +52 -153
  81. package/dist/cjs/server/streamableHttp.d.ts.map +1 -1
  82. package/dist/cjs/server/streamableHttp.js +78 -636
  83. package/dist/cjs/server/streamableHttp.js.map +1 -1
  84. package/dist/cjs/server/webStandardStreamableHttp.d.ts +267 -0
  85. package/dist/cjs/server/webStandardStreamableHttp.d.ts.map +1 -0
  86. package/dist/cjs/server/webStandardStreamableHttp.js +729 -0
  87. package/dist/cjs/server/webStandardStreamableHttp.js.map +1 -0
  88. package/dist/cjs/server/zod-compat.d.ts +3 -1
  89. package/dist/cjs/server/zod-compat.d.ts.map +1 -1
  90. package/dist/cjs/server/zod-compat.js +11 -19
  91. package/dist/cjs/server/zod-compat.js.map +1 -1
  92. package/dist/cjs/server/zod-json-schema-compat.js +5 -6
  93. package/dist/cjs/server/zod-json-schema-compat.js.map +1 -1
  94. package/dist/cjs/shared/metadataUtils.js +1 -2
  95. package/dist/cjs/shared/metadataUtils.js.map +1 -1
  96. package/dist/cjs/shared/protocol.d.ts +1 -1
  97. package/dist/cjs/shared/protocol.d.ts.map +1 -1
  98. package/dist/cjs/shared/protocol.js +76 -88
  99. package/dist/cjs/shared/protocol.js.map +1 -1
  100. package/dist/cjs/shared/transport.js +1 -1
  101. package/dist/cjs/shared/transport.js.map +1 -1
  102. package/dist/cjs/spec.types.d.ts +315 -26
  103. package/dist/cjs/spec.types.d.ts.map +1 -1
  104. package/dist/cjs/spec.types.js +2 -2
  105. package/dist/cjs/spec.types.js.map +1 -1
  106. package/dist/cjs/types.d.ts +1392 -1248
  107. package/dist/cjs/types.d.ts.map +1 -1
  108. package/dist/cjs/types.js +201 -136
  109. package/dist/cjs/types.js.map +1 -1
  110. package/dist/cjs/validation/ajv-provider.d.ts +1 -1
  111. package/dist/cjs/validation/ajv-provider.d.ts.map +1 -1
  112. package/dist/cjs/validation/ajv-provider.js +4 -5
  113. package/dist/cjs/validation/ajv-provider.js.map +1 -1
  114. package/dist/cjs/validation/cfworker-provider.js +4 -5
  115. package/dist/cjs/validation/cfworker-provider.js.map +1 -1
  116. package/dist/cjs/validation/types.d.ts +12 -2
  117. package/dist/cjs/validation/types.d.ts.map +1 -1
  118. package/dist/esm/client/auth-extensions.js +5 -9
  119. package/dist/esm/client/auth-extensions.js.map +1 -1
  120. package/dist/esm/client/auth.js +30 -37
  121. package/dist/esm/client/auth.js.map +1 -1
  122. package/dist/esm/client/index.d.ts +61 -14
  123. package/dist/esm/client/index.d.ts.map +1 -1
  124. package/dist/esm/client/index.js +118 -37
  125. package/dist/esm/client/index.js.map +1 -1
  126. package/dist/esm/client/middleware.js +3 -3
  127. package/dist/esm/client/middleware.js.map +1 -1
  128. package/dist/esm/client/sse.d.ts.map +1 -1
  129. package/dist/esm/client/sse.js +20 -26
  130. package/dist/esm/client/sse.js.map +1 -1
  131. package/dist/esm/client/stdio.js +18 -28
  132. package/dist/esm/client/stdio.js.map +1 -1
  133. package/dist/esm/client/streamableHttp.d.ts.map +1 -1
  134. package/dist/esm/client/streamableHttp.js +43 -48
  135. package/dist/esm/client/streamableHttp.js.map +1 -1
  136. package/dist/esm/client/websocket.js +6 -11
  137. package/dist/esm/client/websocket.js.map +1 -1
  138. package/dist/esm/examples/client/elicitationUrlExample.js +4 -5
  139. package/dist/esm/examples/client/elicitationUrlExample.js.map +1 -1
  140. package/dist/esm/examples/client/simpleOAuthClient.js +3 -3
  141. package/dist/esm/examples/client/simpleOAuthClient.js.map +1 -1
  142. package/dist/esm/examples/client/simpleStreamableHttp.js +7 -9
  143. package/dist/esm/examples/client/simpleStreamableHttp.js.map +1 -1
  144. package/dist/esm/examples/client/simpleTaskInteractiveClient.js +1 -2
  145. package/dist/esm/examples/client/simpleTaskInteractiveClient.js.map +1 -1
  146. package/dist/esm/examples/server/honoWebStandardStreamableHttp.d.ts +10 -0
  147. package/dist/esm/examples/server/honoWebStandardStreamableHttp.d.ts.map +1 -0
  148. package/dist/esm/examples/server/honoWebStandardStreamableHttp.js +56 -0
  149. package/dist/esm/examples/server/honoWebStandardStreamableHttp.js.map +1 -0
  150. package/dist/esm/examples/server/jsonResponseStreamableHttp.js +10 -4
  151. package/dist/esm/examples/server/jsonResponseStreamableHttp.js.map +1 -1
  152. package/dist/esm/examples/server/simpleSseServer.js +6 -3
  153. package/dist/esm/examples/server/simpleSseServer.js.map +1 -1
  154. package/dist/esm/examples/server/simpleStatelessStreamableHttp.js +12 -6
  155. package/dist/esm/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
  156. package/dist/esm/examples/server/simpleStreamableHttp.js +21 -11
  157. package/dist/esm/examples/server/simpleStreamableHttp.js.map +1 -1
  158. package/dist/esm/examples/server/simpleTaskInteractive.js +7 -11
  159. package/dist/esm/examples/server/simpleTaskInteractive.js.map +1 -1
  160. package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js +10 -7
  161. package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
  162. package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js +1 -1
  163. package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
  164. package/dist/esm/experimental/tasks/client.js +1 -2
  165. package/dist/esm/experimental/tasks/client.js.map +1 -1
  166. package/dist/esm/experimental/tasks/helpers.js +3 -5
  167. package/dist/esm/experimental/tasks/helpers.js.map +1 -1
  168. package/dist/esm/experimental/tasks/interfaces.d.ts +3 -3
  169. package/dist/esm/experimental/tasks/interfaces.d.ts.map +1 -1
  170. package/dist/esm/experimental/tasks/stores/in-memory.d.ts +1 -1
  171. package/dist/esm/experimental/tasks/stores/in-memory.d.ts.map +1 -1
  172. package/dist/esm/experimental/tasks/stores/in-memory.js +3 -5
  173. package/dist/esm/experimental/tasks/stores/in-memory.js.map +1 -1
  174. package/dist/esm/inMemory.js +5 -7
  175. package/dist/esm/inMemory.js.map +1 -1
  176. package/dist/esm/server/auth/handlers/token.js +1 -1
  177. package/dist/esm/server/auth/handlers/token.js.map +1 -1
  178. package/dist/esm/server/auth/providers/proxyProvider.js +11 -17
  179. package/dist/esm/server/auth/providers/proxyProvider.js.map +1 -1
  180. package/dist/esm/server/auth/router.js +3 -6
  181. package/dist/esm/server/auth/router.js.map +1 -1
  182. package/dist/esm/server/completable.js +1 -1
  183. package/dist/esm/server/completable.js.map +1 -1
  184. package/dist/esm/server/index.d.ts +3 -3
  185. package/dist/esm/server/index.d.ts.map +1 -1
  186. package/dist/esm/server/index.js +20 -30
  187. package/dist/esm/server/index.js.map +1 -1
  188. package/dist/esm/server/mcp.d.ts.map +1 -1
  189. package/dist/esm/server/mcp.js +25 -11
  190. package/dist/esm/server/mcp.js.map +1 -1
  191. package/dist/esm/server/middleware/hostHeaderValidation.js +1 -1
  192. package/dist/esm/server/middleware/hostHeaderValidation.js.map +1 -1
  193. package/dist/esm/server/sse.js +14 -17
  194. package/dist/esm/server/sse.js.map +1 -1
  195. package/dist/esm/server/stdio.js +4 -7
  196. package/dist/esm/server/stdio.js.map +1 -1
  197. package/dist/esm/server/streamableHttp.d.ts +52 -153
  198. package/dist/esm/server/streamableHttp.d.ts.map +1 -1
  199. package/dist/esm/server/streamableHttp.js +78 -633
  200. package/dist/esm/server/streamableHttp.js.map +1 -1
  201. package/dist/esm/server/webStandardStreamableHttp.d.ts +267 -0
  202. package/dist/esm/server/webStandardStreamableHttp.d.ts.map +1 -0
  203. package/dist/esm/server/webStandardStreamableHttp.js +725 -0
  204. package/dist/esm/server/webStandardStreamableHttp.js.map +1 -0
  205. package/dist/esm/server/zod-compat.d.ts +3 -1
  206. package/dist/esm/server/zod-compat.d.ts.map +1 -1
  207. package/dist/esm/server/zod-compat.js +11 -19
  208. package/dist/esm/server/zod-compat.js.map +1 -1
  209. package/dist/esm/server/zod-json-schema-compat.js +5 -6
  210. package/dist/esm/server/zod-json-schema-compat.js.map +1 -1
  211. package/dist/esm/shared/metadataUtils.js +1 -2
  212. package/dist/esm/shared/metadataUtils.js.map +1 -1
  213. package/dist/esm/shared/protocol.d.ts +1 -1
  214. package/dist/esm/shared/protocol.d.ts.map +1 -1
  215. package/dist/esm/shared/protocol.js +77 -89
  216. package/dist/esm/shared/protocol.js.map +1 -1
  217. package/dist/esm/shared/transport.js +1 -1
  218. package/dist/esm/shared/transport.js.map +1 -1
  219. package/dist/esm/spec.types.d.ts +315 -26
  220. package/dist/esm/spec.types.d.ts.map +1 -1
  221. package/dist/esm/spec.types.js +2 -2
  222. package/dist/esm/spec.types.js.map +1 -1
  223. package/dist/esm/types.d.ts +1392 -1248
  224. package/dist/esm/types.d.ts.map +1 -1
  225. package/dist/esm/types.js +194 -130
  226. package/dist/esm/types.js.map +1 -1
  227. package/dist/esm/validation/ajv-provider.d.ts +1 -1
  228. package/dist/esm/validation/ajv-provider.d.ts.map +1 -1
  229. package/dist/esm/validation/ajv-provider.js +3 -4
  230. package/dist/esm/validation/ajv-provider.js.map +1 -1
  231. package/dist/esm/validation/cfworker-provider.js +4 -5
  232. package/dist/esm/validation/cfworker-provider.js.map +1 -1
  233. package/dist/esm/validation/types.d.ts +12 -2
  234. package/dist/esm/validation/types.d.ts.map +1 -1
  235. package/package.json +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"streamableHttp.js","sourceRoot":"","sources":["../../../src/server/streamableHttp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamableHttp.js","sourceRoot":"","sources":["../../../src/server/streamableHttp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,267 @@
1
+ /**
2
+ * Web Standards Streamable HTTP Server Transport
3
+ *
4
+ * This is the core transport implementation using Web Standard APIs (Request, Response, ReadableStream).
5
+ * It can run on any runtime that supports Web Standards: Node.js 18+, Cloudflare Workers, Deno, Bun, etc.
6
+ *
7
+ * For Node.js Express/HTTP compatibility, use `StreamableHTTPServerTransport` which wraps this transport.
8
+ */
9
+ import { Transport } from '../shared/transport.js';
10
+ import { AuthInfo } from './auth/types.js';
11
+ import { MessageExtraInfo, JSONRPCMessage, RequestId } from '../types.js';
12
+ export type StreamId = string;
13
+ export type EventId = string;
14
+ /**
15
+ * Interface for resumability support via event storage
16
+ */
17
+ export interface EventStore {
18
+ /**
19
+ * Stores an event for later retrieval
20
+ * @param streamId ID of the stream the event belongs to
21
+ * @param message The JSON-RPC message to store
22
+ * @returns The generated event ID for the stored event
23
+ */
24
+ storeEvent(streamId: StreamId, message: JSONRPCMessage): Promise<EventId>;
25
+ /**
26
+ * Get the stream ID associated with a given event ID.
27
+ * @param eventId The event ID to look up
28
+ * @returns The stream ID, or undefined if not found
29
+ *
30
+ * Optional: If not provided, the SDK will use the streamId returned by
31
+ * replayEventsAfter for stream mapping.
32
+ */
33
+ getStreamIdForEventId?(eventId: EventId): Promise<StreamId | undefined>;
34
+ replayEventsAfter(lastEventId: EventId, { send }: {
35
+ send: (eventId: EventId, message: JSONRPCMessage) => Promise<void>;
36
+ }): Promise<StreamId>;
37
+ }
38
+ /**
39
+ * Configuration options for WebStandardStreamableHTTPServerTransport
40
+ */
41
+ export interface WebStandardStreamableHTTPServerTransportOptions {
42
+ /**
43
+ * Function that generates a session ID for the transport.
44
+ * The session ID SHOULD be globally unique and cryptographically secure (e.g., a securely generated UUID, a JWT, or a cryptographic hash)
45
+ *
46
+ * If not provided, session management is disabled (stateless mode).
47
+ */
48
+ sessionIdGenerator?: () => string;
49
+ /**
50
+ * A callback for session initialization events
51
+ * This is called when the server initializes a new session.
52
+ * Useful in cases when you need to register multiple mcp sessions
53
+ * and need to keep track of them.
54
+ * @param sessionId The generated session ID
55
+ */
56
+ onsessioninitialized?: (sessionId: string) => void | Promise<void>;
57
+ /**
58
+ * A callback for session close events
59
+ * This is called when the server closes a session due to a DELETE request.
60
+ * Useful in cases when you need to clean up resources associated with the session.
61
+ * Note that this is different from the transport closing, if you are handling
62
+ * HTTP requests from multiple nodes you might want to close each
63
+ * WebStandardStreamableHTTPServerTransport after a request is completed while still keeping the
64
+ * session open/running.
65
+ * @param sessionId The session ID that was closed
66
+ */
67
+ onsessionclosed?: (sessionId: string) => void | Promise<void>;
68
+ /**
69
+ * If true, the server will return JSON responses instead of starting an SSE stream.
70
+ * This can be useful for simple request/response scenarios without streaming.
71
+ * Default is false (SSE streams are preferred).
72
+ */
73
+ enableJsonResponse?: boolean;
74
+ /**
75
+ * Event store for resumability support
76
+ * If provided, resumability will be enabled, allowing clients to reconnect and resume messages
77
+ */
78
+ eventStore?: EventStore;
79
+ /**
80
+ * List of allowed host header values for DNS rebinding protection.
81
+ * If not specified, host validation is disabled.
82
+ * @deprecated Use external middleware for host validation instead.
83
+ */
84
+ allowedHosts?: string[];
85
+ /**
86
+ * List of allowed origin header values for DNS rebinding protection.
87
+ * If not specified, origin validation is disabled.
88
+ * @deprecated Use external middleware for origin validation instead.
89
+ */
90
+ allowedOrigins?: string[];
91
+ /**
92
+ * Enable DNS rebinding protection (requires allowedHosts and/or allowedOrigins to be configured).
93
+ * Default is false for backwards compatibility.
94
+ * @deprecated Use external middleware for DNS rebinding protection instead.
95
+ */
96
+ enableDnsRebindingProtection?: boolean;
97
+ /**
98
+ * Retry interval in milliseconds to suggest to clients in SSE retry field.
99
+ * When set, the server will send a retry field in SSE priming events to control
100
+ * client reconnection timing for polling behavior.
101
+ */
102
+ retryInterval?: number;
103
+ }
104
+ /**
105
+ * Options for handling a request
106
+ */
107
+ export interface HandleRequestOptions {
108
+ /**
109
+ * Pre-parsed request body. If provided, the transport will use this instead of parsing req.json().
110
+ * Useful when using body-parser middleware that has already parsed the body.
111
+ */
112
+ parsedBody?: unknown;
113
+ /**
114
+ * Authentication info from middleware. If provided, will be passed to message handlers.
115
+ */
116
+ authInfo?: AuthInfo;
117
+ }
118
+ /**
119
+ * Server transport for Web Standards Streamable HTTP: this implements the MCP Streamable HTTP transport specification
120
+ * using Web Standard APIs (Request, Response, ReadableStream).
121
+ *
122
+ * This transport works on any runtime that supports Web Standards: Node.js 18+, Cloudflare Workers, Deno, Bun, etc.
123
+ *
124
+ * Usage example:
125
+ *
126
+ * ```typescript
127
+ * // Stateful mode - server sets the session ID
128
+ * const statefulTransport = new WebStandardStreamableHTTPServerTransport({
129
+ * sessionIdGenerator: () => crypto.randomUUID(),
130
+ * });
131
+ *
132
+ * // Stateless mode - explicitly set session ID to undefined
133
+ * const statelessTransport = new WebStandardStreamableHTTPServerTransport({
134
+ * sessionIdGenerator: undefined,
135
+ * });
136
+ *
137
+ * // Hono.js usage
138
+ * app.all('/mcp', async (c) => {
139
+ * return transport.handleRequest(c.req.raw);
140
+ * });
141
+ *
142
+ * // Cloudflare Workers usage
143
+ * export default {
144
+ * async fetch(request: Request): Promise<Response> {
145
+ * return transport.handleRequest(request);
146
+ * }
147
+ * };
148
+ * ```
149
+ *
150
+ * In stateful mode:
151
+ * - Session ID is generated and included in response headers
152
+ * - Session ID is always included in initialization responses
153
+ * - Requests with invalid session IDs are rejected with 404 Not Found
154
+ * - Non-initialization requests without a session ID are rejected with 400 Bad Request
155
+ * - State is maintained in-memory (connections, message history)
156
+ *
157
+ * In stateless mode:
158
+ * - No Session ID is included in any responses
159
+ * - No session validation is performed
160
+ */
161
+ export declare class WebStandardStreamableHTTPServerTransport implements Transport {
162
+ private sessionIdGenerator;
163
+ private _started;
164
+ private _streamMapping;
165
+ private _requestToStreamMapping;
166
+ private _requestResponseMap;
167
+ private _initialized;
168
+ private _enableJsonResponse;
169
+ private _standaloneSseStreamId;
170
+ private _eventStore?;
171
+ private _onsessioninitialized?;
172
+ private _onsessionclosed?;
173
+ private _allowedHosts?;
174
+ private _allowedOrigins?;
175
+ private _enableDnsRebindingProtection;
176
+ private _retryInterval?;
177
+ sessionId?: string;
178
+ onclose?: () => void;
179
+ onerror?: (error: Error) => void;
180
+ onmessage?: (message: JSONRPCMessage, extra?: MessageExtraInfo) => void;
181
+ constructor(options?: WebStandardStreamableHTTPServerTransportOptions);
182
+ /**
183
+ * Starts the transport. This is required by the Transport interface but is a no-op
184
+ * for the Streamable HTTP transport as connections are managed per-request.
185
+ */
186
+ start(): Promise<void>;
187
+ /**
188
+ * Helper to create a JSON error response
189
+ */
190
+ private createJsonErrorResponse;
191
+ /**
192
+ * Validates request headers for DNS rebinding protection.
193
+ * @returns Error response if validation fails, undefined if validation passes.
194
+ */
195
+ private validateRequestHeaders;
196
+ /**
197
+ * Handles an incoming HTTP request, whether GET, POST, or DELETE
198
+ * Returns a Response object (Web Standard)
199
+ */
200
+ handleRequest(req: Request, options?: HandleRequestOptions): Promise<Response>;
201
+ /**
202
+ * Writes a priming event to establish resumption capability.
203
+ * Only sends if eventStore is configured (opt-in for resumability) and
204
+ * the client's protocol version supports empty SSE data (>= 2025-11-25).
205
+ */
206
+ private writePrimingEvent;
207
+ /**
208
+ * Handles GET requests for SSE stream
209
+ */
210
+ private handleGetRequest;
211
+ /**
212
+ * Replays events that would have been sent after the specified event ID
213
+ * Only used when resumability is enabled
214
+ */
215
+ private replayEvents;
216
+ /**
217
+ * Writes an event to an SSE stream via controller with proper formatting
218
+ */
219
+ private writeSSEEvent;
220
+ /**
221
+ * Handles unsupported requests (PUT, PATCH, etc.)
222
+ */
223
+ private handleUnsupportedRequest;
224
+ /**
225
+ * Handles POST requests containing JSON-RPC messages
226
+ */
227
+ private handlePostRequest;
228
+ /**
229
+ * Handles DELETE requests to terminate sessions
230
+ */
231
+ private handleDeleteRequest;
232
+ /**
233
+ * Validates session ID for non-initialization requests.
234
+ * Returns Response error if invalid, undefined otherwise
235
+ */
236
+ private validateSession;
237
+ /**
238
+ * Validates the MCP-Protocol-Version header on incoming requests.
239
+ *
240
+ * For initialization: Version negotiation handles unknown versions gracefully
241
+ * (server responds with its supported version).
242
+ *
243
+ * For subsequent requests with MCP-Protocol-Version header:
244
+ * - Accept if in supported list
245
+ * - 400 if unsupported
246
+ *
247
+ * For HTTP requests without the MCP-Protocol-Version header:
248
+ * - Accept and default to the version negotiated at initialization
249
+ */
250
+ private validateProtocolVersion;
251
+ close(): Promise<void>;
252
+ /**
253
+ * Close an SSE stream for a specific request, triggering client reconnection.
254
+ * Use this to implement polling behavior during long-running operations -
255
+ * client will reconnect after the retry interval specified in the priming event.
256
+ */
257
+ closeSSEStream(requestId: RequestId): void;
258
+ /**
259
+ * Close the standalone GET SSE stream, triggering client reconnection.
260
+ * Use this to implement polling behavior for server-initiated notifications.
261
+ */
262
+ closeStandaloneSSEStream(): void;
263
+ send(message: JSONRPCMessage, options?: {
264
+ relatedRequestId?: RequestId;
265
+ }): Promise<void>;
266
+ }
267
+ //# sourceMappingURL=webStandardStreamableHttp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webStandardStreamableHttp.d.ts","sourceRoot":"","sources":["../../../src/server/webStandardStreamableHttp.ts"],"names":[],"mappings":"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"}