@modelcontextprotocol/sdk 1.24.3 → 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 (233) 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.js +19 -27
  12. package/dist/cjs/client/sse.js.map +1 -1
  13. package/dist/cjs/client/stdio.js +18 -28
  14. package/dist/cjs/client/stdio.js.map +1 -1
  15. package/dist/cjs/client/streamableHttp.d.ts.map +1 -1
  16. package/dist/cjs/client/streamableHttp.js +39 -49
  17. package/dist/cjs/client/streamableHttp.js.map +1 -1
  18. package/dist/cjs/client/websocket.js +6 -11
  19. package/dist/cjs/client/websocket.js.map +1 -1
  20. package/dist/cjs/examples/client/elicitationUrlExample.js +4 -5
  21. package/dist/cjs/examples/client/elicitationUrlExample.js.map +1 -1
  22. package/dist/cjs/examples/client/simpleOAuthClient.js +3 -3
  23. package/dist/cjs/examples/client/simpleOAuthClient.js.map +1 -1
  24. package/dist/cjs/examples/client/simpleStreamableHttp.js +7 -9
  25. package/dist/cjs/examples/client/simpleStreamableHttp.js.map +1 -1
  26. package/dist/cjs/examples/client/simpleTaskInteractiveClient.js +1 -2
  27. package/dist/cjs/examples/client/simpleTaskInteractiveClient.js.map +1 -1
  28. package/dist/cjs/examples/server/honoWebStandardStreamableHttp.d.ts +10 -0
  29. package/dist/cjs/examples/server/honoWebStandardStreamableHttp.d.ts.map +1 -0
  30. package/dist/cjs/examples/server/honoWebStandardStreamableHttp.js +81 -0
  31. package/dist/cjs/examples/server/honoWebStandardStreamableHttp.js.map +1 -0
  32. package/dist/cjs/examples/server/jsonResponseStreamableHttp.js +10 -4
  33. package/dist/cjs/examples/server/jsonResponseStreamableHttp.js.map +1 -1
  34. package/dist/cjs/examples/server/simpleSseServer.js +6 -3
  35. package/dist/cjs/examples/server/simpleSseServer.js.map +1 -1
  36. package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js +12 -6
  37. package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
  38. package/dist/cjs/examples/server/simpleStreamableHttp.js +21 -11
  39. package/dist/cjs/examples/server/simpleStreamableHttp.js.map +1 -1
  40. package/dist/cjs/examples/server/simpleTaskInteractive.js +7 -11
  41. package/dist/cjs/examples/server/simpleTaskInteractive.js.map +1 -1
  42. package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js +10 -7
  43. package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
  44. package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js +1 -1
  45. package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
  46. package/dist/cjs/experimental/tasks/client.js +1 -2
  47. package/dist/cjs/experimental/tasks/client.js.map +1 -1
  48. package/dist/cjs/experimental/tasks/helpers.js +3 -5
  49. package/dist/cjs/experimental/tasks/helpers.js.map +1 -1
  50. package/dist/cjs/experimental/tasks/interfaces.d.ts +3 -3
  51. package/dist/cjs/experimental/tasks/interfaces.d.ts.map +1 -1
  52. package/dist/cjs/experimental/tasks/stores/in-memory.d.ts +1 -1
  53. package/dist/cjs/experimental/tasks/stores/in-memory.d.ts.map +1 -1
  54. package/dist/cjs/experimental/tasks/stores/in-memory.js +3 -5
  55. package/dist/cjs/experimental/tasks/stores/in-memory.js.map +1 -1
  56. package/dist/cjs/inMemory.js +5 -7
  57. package/dist/cjs/inMemory.js.map +1 -1
  58. package/dist/cjs/server/auth/handlers/token.js +1 -1
  59. package/dist/cjs/server/auth/handlers/token.js.map +1 -1
  60. package/dist/cjs/server/auth/providers/proxyProvider.js +11 -17
  61. package/dist/cjs/server/auth/providers/proxyProvider.js.map +1 -1
  62. package/dist/cjs/server/auth/router.js +3 -6
  63. package/dist/cjs/server/auth/router.js.map +1 -1
  64. package/dist/cjs/server/completable.js +1 -1
  65. package/dist/cjs/server/completable.js.map +1 -1
  66. package/dist/cjs/server/index.d.ts +3 -3
  67. package/dist/cjs/server/index.d.ts.map +1 -1
  68. package/dist/cjs/server/index.js +20 -30
  69. package/dist/cjs/server/index.js.map +1 -1
  70. package/dist/cjs/server/mcp.d.ts.map +1 -1
  71. package/dist/cjs/server/mcp.js +25 -11
  72. package/dist/cjs/server/mcp.js.map +1 -1
  73. package/dist/cjs/server/middleware/hostHeaderValidation.js +1 -1
  74. package/dist/cjs/server/middleware/hostHeaderValidation.js.map +1 -1
  75. package/dist/cjs/server/sse.js +14 -17
  76. package/dist/cjs/server/sse.js.map +1 -1
  77. package/dist/cjs/server/stdio.js +4 -7
  78. package/dist/cjs/server/stdio.js.map +1 -1
  79. package/dist/cjs/server/streamableHttp.d.ts +52 -154
  80. package/dist/cjs/server/streamableHttp.d.ts.map +1 -1
  81. package/dist/cjs/server/streamableHttp.js +78 -653
  82. package/dist/cjs/server/streamableHttp.js.map +1 -1
  83. package/dist/cjs/server/webStandardStreamableHttp.d.ts +267 -0
  84. package/dist/cjs/server/webStandardStreamableHttp.d.ts.map +1 -0
  85. package/dist/cjs/server/webStandardStreamableHttp.js +729 -0
  86. package/dist/cjs/server/webStandardStreamableHttp.js.map +1 -0
  87. package/dist/cjs/server/zod-compat.d.ts +3 -1
  88. package/dist/cjs/server/zod-compat.d.ts.map +1 -1
  89. package/dist/cjs/server/zod-compat.js +11 -19
  90. package/dist/cjs/server/zod-compat.js.map +1 -1
  91. package/dist/cjs/server/zod-json-schema-compat.js +5 -6
  92. package/dist/cjs/server/zod-json-schema-compat.js.map +1 -1
  93. package/dist/cjs/shared/metadataUtils.js +1 -2
  94. package/dist/cjs/shared/metadataUtils.js.map +1 -1
  95. package/dist/cjs/shared/protocol.d.ts +1 -1
  96. package/dist/cjs/shared/protocol.d.ts.map +1 -1
  97. package/dist/cjs/shared/protocol.js +76 -88
  98. package/dist/cjs/shared/protocol.js.map +1 -1
  99. package/dist/cjs/shared/transport.js +1 -1
  100. package/dist/cjs/shared/transport.js.map +1 -1
  101. package/dist/cjs/spec.types.d.ts +315 -26
  102. package/dist/cjs/spec.types.d.ts.map +1 -1
  103. package/dist/cjs/spec.types.js +2 -2
  104. package/dist/cjs/spec.types.js.map +1 -1
  105. package/dist/cjs/types.d.ts +1392 -1248
  106. package/dist/cjs/types.d.ts.map +1 -1
  107. package/dist/cjs/types.js +201 -136
  108. package/dist/cjs/types.js.map +1 -1
  109. package/dist/cjs/validation/ajv-provider.d.ts +1 -1
  110. package/dist/cjs/validation/ajv-provider.d.ts.map +1 -1
  111. package/dist/cjs/validation/ajv-provider.js +4 -5
  112. package/dist/cjs/validation/ajv-provider.js.map +1 -1
  113. package/dist/cjs/validation/cfworker-provider.js +4 -5
  114. package/dist/cjs/validation/cfworker-provider.js.map +1 -1
  115. package/dist/cjs/validation/types.d.ts +12 -2
  116. package/dist/cjs/validation/types.d.ts.map +1 -1
  117. package/dist/esm/client/auth-extensions.js +5 -9
  118. package/dist/esm/client/auth-extensions.js.map +1 -1
  119. package/dist/esm/client/auth.js +30 -37
  120. package/dist/esm/client/auth.js.map +1 -1
  121. package/dist/esm/client/index.d.ts +61 -14
  122. package/dist/esm/client/index.d.ts.map +1 -1
  123. package/dist/esm/client/index.js +118 -37
  124. package/dist/esm/client/index.js.map +1 -1
  125. package/dist/esm/client/middleware.js +3 -3
  126. package/dist/esm/client/middleware.js.map +1 -1
  127. package/dist/esm/client/sse.js +19 -27
  128. package/dist/esm/client/sse.js.map +1 -1
  129. package/dist/esm/client/stdio.js +18 -28
  130. package/dist/esm/client/stdio.js.map +1 -1
  131. package/dist/esm/client/streamableHttp.d.ts.map +1 -1
  132. package/dist/esm/client/streamableHttp.js +40 -50
  133. package/dist/esm/client/streamableHttp.js.map +1 -1
  134. package/dist/esm/client/websocket.js +6 -11
  135. package/dist/esm/client/websocket.js.map +1 -1
  136. package/dist/esm/examples/client/elicitationUrlExample.js +4 -5
  137. package/dist/esm/examples/client/elicitationUrlExample.js.map +1 -1
  138. package/dist/esm/examples/client/simpleOAuthClient.js +3 -3
  139. package/dist/esm/examples/client/simpleOAuthClient.js.map +1 -1
  140. package/dist/esm/examples/client/simpleStreamableHttp.js +7 -9
  141. package/dist/esm/examples/client/simpleStreamableHttp.js.map +1 -1
  142. package/dist/esm/examples/client/simpleTaskInteractiveClient.js +1 -2
  143. package/dist/esm/examples/client/simpleTaskInteractiveClient.js.map +1 -1
  144. package/dist/esm/examples/server/honoWebStandardStreamableHttp.d.ts +10 -0
  145. package/dist/esm/examples/server/honoWebStandardStreamableHttp.d.ts.map +1 -0
  146. package/dist/esm/examples/server/honoWebStandardStreamableHttp.js +56 -0
  147. package/dist/esm/examples/server/honoWebStandardStreamableHttp.js.map +1 -0
  148. package/dist/esm/examples/server/jsonResponseStreamableHttp.js +10 -4
  149. package/dist/esm/examples/server/jsonResponseStreamableHttp.js.map +1 -1
  150. package/dist/esm/examples/server/simpleSseServer.js +6 -3
  151. package/dist/esm/examples/server/simpleSseServer.js.map +1 -1
  152. package/dist/esm/examples/server/simpleStatelessStreamableHttp.js +12 -6
  153. package/dist/esm/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
  154. package/dist/esm/examples/server/simpleStreamableHttp.js +21 -11
  155. package/dist/esm/examples/server/simpleStreamableHttp.js.map +1 -1
  156. package/dist/esm/examples/server/simpleTaskInteractive.js +7 -11
  157. package/dist/esm/examples/server/simpleTaskInteractive.js.map +1 -1
  158. package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js +10 -7
  159. package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
  160. package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js +1 -1
  161. package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
  162. package/dist/esm/experimental/tasks/client.js +1 -2
  163. package/dist/esm/experimental/tasks/client.js.map +1 -1
  164. package/dist/esm/experimental/tasks/helpers.js +3 -5
  165. package/dist/esm/experimental/tasks/helpers.js.map +1 -1
  166. package/dist/esm/experimental/tasks/interfaces.d.ts +3 -3
  167. package/dist/esm/experimental/tasks/interfaces.d.ts.map +1 -1
  168. package/dist/esm/experimental/tasks/stores/in-memory.d.ts +1 -1
  169. package/dist/esm/experimental/tasks/stores/in-memory.d.ts.map +1 -1
  170. package/dist/esm/experimental/tasks/stores/in-memory.js +3 -5
  171. package/dist/esm/experimental/tasks/stores/in-memory.js.map +1 -1
  172. package/dist/esm/inMemory.js +5 -7
  173. package/dist/esm/inMemory.js.map +1 -1
  174. package/dist/esm/server/auth/handlers/token.js +1 -1
  175. package/dist/esm/server/auth/handlers/token.js.map +1 -1
  176. package/dist/esm/server/auth/providers/proxyProvider.js +11 -17
  177. package/dist/esm/server/auth/providers/proxyProvider.js.map +1 -1
  178. package/dist/esm/server/auth/router.js +3 -6
  179. package/dist/esm/server/auth/router.js.map +1 -1
  180. package/dist/esm/server/completable.js +1 -1
  181. package/dist/esm/server/completable.js.map +1 -1
  182. package/dist/esm/server/index.d.ts +3 -3
  183. package/dist/esm/server/index.d.ts.map +1 -1
  184. package/dist/esm/server/index.js +20 -30
  185. package/dist/esm/server/index.js.map +1 -1
  186. package/dist/esm/server/mcp.d.ts.map +1 -1
  187. package/dist/esm/server/mcp.js +25 -11
  188. package/dist/esm/server/mcp.js.map +1 -1
  189. package/dist/esm/server/middleware/hostHeaderValidation.js +1 -1
  190. package/dist/esm/server/middleware/hostHeaderValidation.js.map +1 -1
  191. package/dist/esm/server/sse.js +14 -17
  192. package/dist/esm/server/sse.js.map +1 -1
  193. package/dist/esm/server/stdio.js +4 -7
  194. package/dist/esm/server/stdio.js.map +1 -1
  195. package/dist/esm/server/streamableHttp.d.ts +52 -154
  196. package/dist/esm/server/streamableHttp.d.ts.map +1 -1
  197. package/dist/esm/server/streamableHttp.js +78 -650
  198. package/dist/esm/server/streamableHttp.js.map +1 -1
  199. package/dist/esm/server/webStandardStreamableHttp.d.ts +267 -0
  200. package/dist/esm/server/webStandardStreamableHttp.d.ts.map +1 -0
  201. package/dist/esm/server/webStandardStreamableHttp.js +725 -0
  202. package/dist/esm/server/webStandardStreamableHttp.js.map +1 -0
  203. package/dist/esm/server/zod-compat.d.ts +3 -1
  204. package/dist/esm/server/zod-compat.d.ts.map +1 -1
  205. package/dist/esm/server/zod-compat.js +11 -19
  206. package/dist/esm/server/zod-compat.js.map +1 -1
  207. package/dist/esm/server/zod-json-schema-compat.js +5 -6
  208. package/dist/esm/server/zod-json-schema-compat.js.map +1 -1
  209. package/dist/esm/shared/metadataUtils.js +1 -2
  210. package/dist/esm/shared/metadataUtils.js.map +1 -1
  211. package/dist/esm/shared/protocol.d.ts +1 -1
  212. package/dist/esm/shared/protocol.d.ts.map +1 -1
  213. package/dist/esm/shared/protocol.js +77 -89
  214. package/dist/esm/shared/protocol.js.map +1 -1
  215. package/dist/esm/shared/transport.js +1 -1
  216. package/dist/esm/shared/transport.js.map +1 -1
  217. package/dist/esm/spec.types.d.ts +315 -26
  218. package/dist/esm/spec.types.d.ts.map +1 -1
  219. package/dist/esm/spec.types.js +2 -2
  220. package/dist/esm/spec.types.js.map +1 -1
  221. package/dist/esm/types.d.ts +1392 -1248
  222. package/dist/esm/types.d.ts.map +1 -1
  223. package/dist/esm/types.js +194 -130
  224. package/dist/esm/types.js.map +1 -1
  225. package/dist/esm/validation/ajv-provider.d.ts +1 -1
  226. package/dist/esm/validation/ajv-provider.d.ts.map +1 -1
  227. package/dist/esm/validation/ajv-provider.js +3 -4
  228. package/dist/esm/validation/ajv-provider.js.map +1 -1
  229. package/dist/esm/validation/cfworker-provider.js +4 -5
  230. package/dist/esm/validation/cfworker-provider.js.map +1 -1
  231. package/dist/esm/validation/types.d.ts +12 -2
  232. package/dist/esm/validation/types.d.ts.map +1 -1
  233. package/package.json +3 -1
@@ -70,9 +70,8 @@ export class SSEServerTransport {
70
70
  this.res.write(`event: endpoint\ndata: ${relativeUrlWithSession}\n\n`);
71
71
  this._sseResponse = this.res;
72
72
  this.res.on('close', () => {
73
- var _a;
74
73
  this._sseResponse = undefined;
75
- (_a = this.onclose) === null || _a === void 0 ? void 0 : _a.call(this);
74
+ this.onclose?.();
76
75
  });
77
76
  }
78
77
  /**
@@ -81,7 +80,6 @@ export class SSEServerTransport {
81
80
  * This should be called when a POST request is made to send a message to the server.
82
81
  */
83
82
  async handlePostMessage(req, res, parsedBody) {
84
- var _a, _b, _c, _d;
85
83
  if (!this._sseResponse) {
86
84
  const message = 'SSE connection not established';
87
85
  res.writeHead(500).end(message);
@@ -91,32 +89,33 @@ export class SSEServerTransport {
91
89
  const validationError = this.validateRequestHeaders(req);
92
90
  if (validationError) {
93
91
  res.writeHead(403).end(validationError);
94
- (_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, new Error(validationError));
92
+ this.onerror?.(new Error(validationError));
95
93
  return;
96
94
  }
97
95
  const authInfo = req.auth;
98
96
  const requestInfo = { headers: req.headers };
99
97
  let body;
100
98
  try {
101
- const ct = contentType.parse((_b = req.headers['content-type']) !== null && _b !== void 0 ? _b : '');
99
+ const ct = contentType.parse(req.headers['content-type'] ?? '');
102
100
  if (ct.type !== 'application/json') {
103
101
  throw new Error(`Unsupported content-type: ${ct.type}`);
104
102
  }
105
103
  body =
106
- parsedBody !== null && parsedBody !== void 0 ? parsedBody : (await getRawBody(req, {
107
- limit: MAXIMUM_MESSAGE_SIZE,
108
- encoding: (_c = ct.parameters.charset) !== null && _c !== void 0 ? _c : 'utf-8'
109
- }));
104
+ parsedBody ??
105
+ (await getRawBody(req, {
106
+ limit: MAXIMUM_MESSAGE_SIZE,
107
+ encoding: ct.parameters.charset ?? 'utf-8'
108
+ }));
110
109
  }
111
110
  catch (error) {
112
111
  res.writeHead(400).end(String(error));
113
- (_d = this.onerror) === null || _d === void 0 ? void 0 : _d.call(this, error);
112
+ this.onerror?.(error);
114
113
  return;
115
114
  }
116
115
  try {
117
116
  await this.handleMessage(typeof body === 'string' ? JSON.parse(body) : body, { requestInfo, authInfo });
118
117
  }
119
- catch (_e) {
118
+ catch {
120
119
  res.writeHead(400).end(`Invalid message: ${body}`);
121
120
  return;
122
121
  }
@@ -126,22 +125,20 @@ export class SSEServerTransport {
126
125
  * Handle a client message, regardless of how it arrived. This can be used to inform the server of messages that arrive via a means different than HTTP POST.
127
126
  */
128
127
  async handleMessage(message, extra) {
129
- var _a, _b;
130
128
  let parsedMessage;
131
129
  try {
132
130
  parsedMessage = JSONRPCMessageSchema.parse(message);
133
131
  }
134
132
  catch (error) {
135
- (_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error);
133
+ this.onerror?.(error);
136
134
  throw error;
137
135
  }
138
- (_b = this.onmessage) === null || _b === void 0 ? void 0 : _b.call(this, parsedMessage, extra);
136
+ this.onmessage?.(parsedMessage, extra);
139
137
  }
140
138
  async close() {
141
- var _a, _b;
142
- (_a = this._sseResponse) === null || _a === void 0 ? void 0 : _a.end();
139
+ this._sseResponse?.end();
143
140
  this._sseResponse = undefined;
144
- (_b = this.onclose) === null || _b === void 0 ? void 0 : _b.call(this);
141
+ this.onclose?.();
145
142
  }
146
143
  async send(message) {
147
144
  if (!this._sseResponse) {
@@ -1 +1 @@
1
- {"version":3,"file":"sse.js","sourceRoot":"","sources":["../../../src/server/sse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sse.js","sourceRoot":"","sources":["../../../src/server/sse.ts"],"names":[],"mappings":"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"}
@@ -17,8 +17,7 @@ export class StdioServerTransport {
17
17
  this.processReadBuffer();
18
18
  };
19
19
  this._onerror = (error) => {
20
- var _a;
21
- (_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error);
20
+ this.onerror?.(error);
22
21
  };
23
22
  }
24
23
  /**
@@ -33,22 +32,20 @@ export class StdioServerTransport {
33
32
  this._stdin.on('error', this._onerror);
34
33
  }
35
34
  processReadBuffer() {
36
- var _a, _b;
37
35
  while (true) {
38
36
  try {
39
37
  const message = this._readBuffer.readMessage();
40
38
  if (message === null) {
41
39
  break;
42
40
  }
43
- (_a = this.onmessage) === null || _a === void 0 ? void 0 : _a.call(this, message);
41
+ this.onmessage?.(message);
44
42
  }
45
43
  catch (error) {
46
- (_b = this.onerror) === null || _b === void 0 ? void 0 : _b.call(this, error);
44
+ this.onerror?.(error);
47
45
  }
48
46
  }
49
47
  }
50
48
  async close() {
51
- var _a;
52
49
  // Remove our event listeners first
53
50
  this._stdin.off('data', this._ondata);
54
51
  this._stdin.off('error', this._onerror);
@@ -61,7 +58,7 @@ export class StdioServerTransport {
61
58
  }
62
59
  // Clear the buffer and notify closure
63
60
  this._readBuffer.clear();
64
- (_a = this.onclose) === null || _a === void 0 ? void 0 : _a.call(this);
61
+ this.onclose?.();
65
62
  }
66
63
  send(message) {
67
64
  return new Promise(resolve => {
@@ -1 +1 @@
1
- {"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../../src/server/stdio.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAIlE;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IAI7B,YACY,SAAmB,OAAO,CAAC,KAAK,EAChC,UAAoB,OAAO,CAAC,MAAM;QADlC,WAAM,GAAN,MAAM,CAA0B;QAChC,YAAO,GAAP,OAAO,CAA2B;QALtC,gBAAW,GAAe,IAAI,UAAU,EAAE,CAAC;QAC3C,aAAQ,GAAG,KAAK,CAAC;QAWzB,gFAAgF;QAChF,YAAO,GAAG,CAAC,KAAa,EAAE,EAAE;YACxB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC,CAAC;QACF,aAAQ,GAAG,CAAC,KAAY,EAAE,EAAE;;YACxB,MAAA,IAAI,CAAC,OAAO,qDAAG,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC;IAbC,CAAC;IAeJ;;OAEG;IACH,KAAK,CAAC,KAAK;QACP,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACX,+GAA+G,CAClH,CAAC;QACN,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAEO,iBAAiB;;QACrB,OAAO,IAAI,EAAE,CAAC;YACV,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;gBAC/C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACnB,MAAM;gBACV,CAAC;gBAED,MAAA,IAAI,CAAC,SAAS,qDAAG,OAAO,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAA,IAAI,CAAC,OAAO,qDAAG,KAAc,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;;QACP,mCAAmC;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExC,0CAA0C;QAC1C,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,sBAAsB,KAAK,CAAC,EAAE,CAAC;YAC/B,gDAAgD;YAChD,0FAA0F;YAC1F,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,MAAA,IAAI,CAAC,OAAO,oDAAI,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,OAAuB;QACxB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,CAAC;YACd,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../../src/server/stdio.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAIlE;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IAI7B,YACY,SAAmB,OAAO,CAAC,KAAK,EAChC,UAAoB,OAAO,CAAC,MAAM;QADlC,WAAM,GAAN,MAAM,CAA0B;QAChC,YAAO,GAAP,OAAO,CAA2B;QALtC,gBAAW,GAAe,IAAI,UAAU,EAAE,CAAC;QAC3C,aAAQ,GAAG,KAAK,CAAC;QAWzB,gFAAgF;QAChF,YAAO,GAAG,CAAC,KAAa,EAAE,EAAE;YACxB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC,CAAC;QACF,aAAQ,GAAG,CAAC,KAAY,EAAE,EAAE;YACxB,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC;IAbC,CAAC;IAeJ;;OAEG;IACH,KAAK,CAAC,KAAK;QACP,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACX,+GAA+G,CAClH,CAAC;QACN,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAEO,iBAAiB;QACrB,OAAO,IAAI,EAAE,CAAC;YACV,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;gBAC/C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACnB,MAAM;gBACV,CAAC;gBAED,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,OAAO,EAAE,CAAC,KAAc,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACP,mCAAmC;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExC,0CAA0C;QAC1C,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,sBAAsB,KAAK,CAAC,EAAE,CAAC;YAC/B,gDAAgD;YAChD,0FAA0F;YAC1F,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,OAAuB;QACxB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,CAAC;YACd,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -1,106 +1,30 @@
1
+ /**
2
+ * Node.js HTTP Streamable HTTP Server Transport
3
+ *
4
+ * This is a thin wrapper around `WebStandardStreamableHTTPServerTransport` that provides
5
+ * compatibility with Node.js HTTP server (IncomingMessage/ServerResponse).
6
+ *
7
+ * For web-standard environments (Cloudflare Workers, Deno, Bun), use `WebStandardStreamableHTTPServerTransport` directly.
8
+ */
1
9
  import { IncomingMessage, ServerResponse } from 'node:http';
2
10
  import { Transport } from '../shared/transport.js';
3
- import { MessageExtraInfo, JSONRPCMessage, RequestId } from '../types.js';
4
11
  import { AuthInfo } from './auth/types.js';
5
- export type StreamId = string;
6
- export type EventId = string;
7
- /**
8
- * Interface for resumability support via event storage
9
- */
10
- export interface EventStore {
11
- /**
12
- * Stores an event for later retrieval
13
- * @param streamId ID of the stream the event belongs to
14
- * @param message The JSON-RPC message to store
15
- * @returns The generated event ID for the stored event
16
- */
17
- storeEvent(streamId: StreamId, message: JSONRPCMessage): Promise<EventId>;
18
- /**
19
- * Get the stream ID associated with a given event ID.
20
- * @param eventId The event ID to look up
21
- * @returns The stream ID, or undefined if not found
22
- *
23
- * Optional: If not provided, the SDK will use the streamId returned by
24
- * replayEventsAfter for stream mapping.
25
- */
26
- getStreamIdForEventId?(eventId: EventId): Promise<StreamId | undefined>;
27
- replayEventsAfter(lastEventId: EventId, { send }: {
28
- send: (eventId: EventId, message: JSONRPCMessage) => Promise<void>;
29
- }): Promise<StreamId>;
30
- }
12
+ import { MessageExtraInfo, JSONRPCMessage, RequestId } from '../types.js';
13
+ import { WebStandardStreamableHTTPServerTransportOptions, EventStore, StreamId, EventId } from './webStandardStreamableHttp.js';
14
+ export type { EventStore, StreamId, EventId };
31
15
  /**
32
16
  * Configuration options for StreamableHTTPServerTransport
17
+ *
18
+ * This is an alias for WebStandardStreamableHTTPServerTransportOptions for backward compatibility.
33
19
  */
34
- export interface StreamableHTTPServerTransportOptions {
35
- /**
36
- * Function that generates a session ID for the transport.
37
- * The session ID SHOULD be globally unique and cryptographically secure (e.g., a securely generated UUID, a JWT, or a cryptographic hash)
38
- *
39
- * Return undefined to disable session management.
40
- */
41
- sessionIdGenerator: (() => string) | undefined;
42
- /**
43
- * A callback for session initialization events
44
- * This is called when the server initializes a new session.
45
- * Useful in cases when you need to register multiple mcp sessions
46
- * and need to keep track of them.
47
- * @param sessionId The generated session ID
48
- */
49
- onsessioninitialized?: (sessionId: string) => void | Promise<void>;
50
- /**
51
- * A callback for session close events
52
- * This is called when the server closes a session due to a DELETE request.
53
- * Useful in cases when you need to clean up resources associated with the session.
54
- * Note that this is different from the transport closing, if you are handling
55
- * HTTP requests from multiple nodes you might want to close each
56
- * StreamableHTTPServerTransport after a request is completed while still keeping the
57
- * session open/running.
58
- * @param sessionId The session ID that was closed
59
- */
60
- onsessionclosed?: (sessionId: string) => void | Promise<void>;
61
- /**
62
- * If true, the server will return JSON responses instead of starting an SSE stream.
63
- * This can be useful for simple request/response scenarios without streaming.
64
- * Default is false (SSE streams are preferred).
65
- */
66
- enableJsonResponse?: boolean;
67
- /**
68
- * Event store for resumability support
69
- * If provided, resumability will be enabled, allowing clients to reconnect and resume messages
70
- */
71
- eventStore?: EventStore;
72
- /**
73
- * List of allowed host header values for DNS rebinding protection.
74
- * If not specified, host validation is disabled.
75
- * @deprecated Use the `hostHeaderValidation` middleware from `@modelcontextprotocol/sdk/server/middleware/hostHeaderValidation.js` instead,
76
- * or use `createMcpExpressApp` from `@modelcontextprotocol/sdk/server/express.js` which includes localhost protection by default.
77
- */
78
- allowedHosts?: string[];
79
- /**
80
- * List of allowed origin header values for DNS rebinding protection.
81
- * If not specified, origin validation is disabled.
82
- * @deprecated Use the `hostHeaderValidation` middleware from `@modelcontextprotocol/sdk/server/middleware/hostHeaderValidation.js` instead,
83
- * or use `createMcpExpressApp` from `@modelcontextprotocol/sdk/server/express.js` which includes localhost protection by default.
84
- */
85
- allowedOrigins?: string[];
86
- /**
87
- * Enable DNS rebinding protection (requires allowedHosts and/or allowedOrigins to be configured).
88
- * Default is false for backwards compatibility.
89
- * @deprecated Use the `hostHeaderValidation` middleware from `@modelcontextprotocol/sdk/server/middleware/hostHeaderValidation.js` instead,
90
- * or use `createMcpExpressApp` from `@modelcontextprotocol/sdk/server/express.js` which includes localhost protection by default.
91
- */
92
- enableDnsRebindingProtection?: boolean;
93
- /**
94
- * Retry interval in milliseconds to suggest to clients in SSE retry field.
95
- * When set, the server will send a retry field in SSE priming events to control
96
- * client reconnection timing for polling behavior.
97
- */
98
- retryInterval?: number;
99
- }
20
+ export type StreamableHTTPServerTransportOptions = WebStandardStreamableHTTPServerTransportOptions;
100
21
  /**
101
22
  * Server transport for Streamable HTTP: this implements the MCP Streamable HTTP transport specification.
102
23
  * It supports both SSE streaming and direct HTTP responses.
103
24
  *
25
+ * This is a wrapper around `WebStandardStreamableHTTPServerTransport` that provides Node.js HTTP compatibility.
26
+ * It uses the `@hono/node-server` library to convert between Node.js HTTP and Web Standard APIs.
27
+ *
104
28
  * Usage example:
105
29
  *
106
30
  * ```typescript
@@ -132,80 +56,57 @@ export interface StreamableHTTPServerTransportOptions {
132
56
  * - No session validation is performed
133
57
  */
134
58
  export declare class StreamableHTTPServerTransport implements Transport {
135
- private sessionIdGenerator;
136
- private _started;
137
- private _streamMapping;
138
- private _requestToStreamMapping;
139
- private _requestResponseMap;
140
- private _initialized;
141
- private _enableJsonResponse;
142
- private _standaloneSseStreamId;
143
- private _eventStore?;
144
- private _onsessioninitialized?;
145
- private _onsessionclosed?;
146
- private _allowedHosts?;
147
- private _allowedOrigins?;
148
- private _enableDnsRebindingProtection;
149
- private _retryInterval?;
150
- sessionId?: string;
151
- onclose?: () => void;
152
- onerror?: (error: Error) => void;
153
- onmessage?: (message: JSONRPCMessage, extra?: MessageExtraInfo) => void;
154
- constructor(options: StreamableHTTPServerTransportOptions);
155
- /**
156
- * Starts the transport. This is required by the Transport interface but is a no-op
157
- * for the Streamable HTTP transport as connections are managed per-request.
158
- */
159
- start(): Promise<void>;
160
- /**
161
- * Validates request headers for DNS rebinding protection.
162
- * @returns Error message if validation fails, undefined if validation passes.
163
- */
164
- private validateRequestHeaders;
165
- /**
166
- * Handles an incoming HTTP request, whether GET or POST
167
- */
168
- handleRequest(req: IncomingMessage & {
169
- auth?: AuthInfo;
170
- }, res: ServerResponse, parsedBody?: unknown): Promise<void>;
59
+ private _webStandardTransport;
60
+ private _requestListener;
61
+ private _requestContext;
62
+ constructor(options?: StreamableHTTPServerTransportOptions);
171
63
  /**
172
- * Writes a priming event to establish resumption capability.
173
- * Only sends if eventStore is configured (opt-in for resumability) and
174
- * the client's protocol version supports empty SSE data (>= 2025-11-25).
64
+ * Gets the session ID for this transport instance.
175
65
  */
176
- private _maybeWritePrimingEvent;
66
+ get sessionId(): string | undefined;
177
67
  /**
178
- * Handles GET requests for SSE stream
68
+ * Sets callback for when the transport is closed.
179
69
  */
180
- private handleGetRequest;
70
+ set onclose(handler: (() => void) | undefined);
71
+ get onclose(): (() => void) | undefined;
181
72
  /**
182
- * Replays events that would have been sent after the specified event ID
183
- * Only used when resumability is enabled
73
+ * Sets callback for transport errors.
184
74
  */
185
- private replayEvents;
75
+ set onerror(handler: ((error: Error) => void) | undefined);
76
+ get onerror(): ((error: Error) => void) | undefined;
186
77
  /**
187
- * Writes an event to the SSE stream with proper formatting
78
+ * Sets callback for incoming messages.
188
79
  */
189
- private writeSSEEvent;
80
+ set onmessage(handler: ((message: JSONRPCMessage, extra?: MessageExtraInfo) => void) | undefined);
81
+ get onmessage(): ((message: JSONRPCMessage, extra?: MessageExtraInfo) => void) | undefined;
190
82
  /**
191
- * Handles unsupported requests (PUT, PATCH, etc.)
83
+ * Starts the transport. This is required by the Transport interface but is a no-op
84
+ * for the Streamable HTTP transport as connections are managed per-request.
192
85
  */
193
- private handleUnsupportedRequest;
86
+ start(): Promise<void>;
194
87
  /**
195
- * Handles POST requests containing JSON-RPC messages
88
+ * Closes the transport and all active connections.
196
89
  */
197
- private handlePostRequest;
90
+ close(): Promise<void>;
198
91
  /**
199
- * Handles DELETE requests to terminate sessions
92
+ * Sends a JSON-RPC message through the transport.
200
93
  */
201
- private handleDeleteRequest;
94
+ send(message: JSONRPCMessage, options?: {
95
+ relatedRequestId?: RequestId;
96
+ }): Promise<void>;
202
97
  /**
203
- * Validates session ID for non-initialization requests
204
- * Returns true if the session is valid, false otherwise
98
+ * Handles an incoming HTTP request, whether GET or POST.
99
+ *
100
+ * This method converts Node.js HTTP objects to Web Standard Request/Response
101
+ * and delegates to the underlying WebStandardStreamableHTTPServerTransport.
102
+ *
103
+ * @param req - Node.js IncomingMessage, optionally with auth property from middleware
104
+ * @param res - Node.js ServerResponse
105
+ * @param parsedBody - Optional pre-parsed body from body-parser middleware
205
106
  */
206
- private validateSession;
207
- private validateProtocolVersion;
208
- close(): Promise<void>;
107
+ handleRequest(req: IncomingMessage & {
108
+ auth?: AuthInfo;
109
+ }, res: ServerResponse, parsedBody?: unknown): Promise<void>;
209
110
  /**
210
111
  * Close an SSE stream for a specific request, triggering client reconnection.
211
112
  * Use this to implement polling behavior during long-running operations -
@@ -217,8 +118,5 @@ export declare class StreamableHTTPServerTransport implements Transport {
217
118
  * Use this to implement polling behavior for server-initiated notifications.
218
119
  */
219
120
  closeStandaloneSSEStream(): void;
220
- send(message: JSONRPCMessage, options?: {
221
- relatedRequestId?: RequestId;
222
- }): Promise<void>;
223
121
  }
224
122
  //# sourceMappingURL=streamableHttp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"streamableHttp.d.ts","sourceRoot":"","sources":["../../../src/server/streamableHttp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamableHttp.d.ts","sourceRoot":"","sources":["../../../src/server/streamableHttp.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAEH,+CAA+C,EAC/C,UAAU,EACV,QAAQ,EACR,OAAO,EACV,MAAM,gCAAgC,CAAC;AAGxC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAE9C;;;;GAIG;AACH,MAAM,MAAM,oCAAoC,GAAG,+CAA+C,CAAC;AAEnG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAAa,6BAA8B,YAAW,SAAS;IAC3D,OAAO,CAAC,qBAAqB,CAA2C;IACxE,OAAO,CAAC,gBAAgB,CAAwC;IAEhE,OAAO,CAAC,eAAe,CAAkF;gBAE7F,OAAO,GAAE,oCAAyC;IAe9D;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED;;OAEG;IACH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,EAE5C;IAED,IAAI,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAEtC;IAED;;OAEG;IACH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,SAAS,EAExD;IAED,IAAI,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,SAAS,CAElD;IAED;;OAEG;IACH,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC,GAAG,SAAS,EAE/F;IAED,IAAI,SAAS,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC,GAAG,SAAS,CAEzF;IAED;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,SAAS,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9F;;;;;;;;;OASG;IACG,aAAa,CAAC,GAAG,EAAE,eAAe,GAAG;QAAE,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzH;;;;OAIG;IACH,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAI1C;;;OAGG;IACH,wBAAwB,IAAI,IAAI;CAGnC"}