@modelcontextprotocol/sdk 1.23.0 → 1.24.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 (316) hide show
  1. package/README.md +84 -1507
  2. package/dist/cjs/client/auth-extensions.d.ts +178 -0
  3. package/dist/cjs/client/auth-extensions.d.ts.map +1 -0
  4. package/dist/cjs/client/auth-extensions.js +300 -0
  5. package/dist/cjs/client/auth-extensions.js.map +1 -0
  6. package/dist/cjs/client/auth.d.ts +90 -2
  7. package/dist/cjs/client/auth.d.ts.map +1 -1
  8. package/dist/cjs/client/auth.js +131 -75
  9. package/dist/cjs/client/auth.js.map +1 -1
  10. package/dist/cjs/client/index.d.ts +122 -14
  11. package/dist/cjs/client/index.d.ts.map +1 -1
  12. package/dist/cjs/client/index.js +125 -3
  13. package/dist/cjs/client/index.js.map +1 -1
  14. package/dist/cjs/client/sse.d.ts.map +1 -1
  15. package/dist/cjs/client/sse.js +6 -2
  16. package/dist/cjs/client/sse.js.map +1 -1
  17. package/dist/cjs/client/stdio.d.ts +0 -1
  18. package/dist/cjs/client/stdio.d.ts.map +1 -1
  19. package/dist/cjs/client/stdio.js +36 -11
  20. package/dist/cjs/client/stdio.js.map +1 -1
  21. package/dist/cjs/client/streamableHttp.d.ts +1 -0
  22. package/dist/cjs/client/streamableHttp.d.ts.map +1 -1
  23. package/dist/cjs/client/streamableHttp.js +36 -15
  24. package/dist/cjs/client/streamableHttp.js.map +1 -1
  25. package/dist/cjs/examples/client/simpleClientCredentials.d.ts +20 -0
  26. package/dist/cjs/examples/client/simpleClientCredentials.d.ts.map +1 -0
  27. package/dist/cjs/examples/client/simpleClientCredentials.js +70 -0
  28. package/dist/cjs/examples/client/simpleClientCredentials.js.map +1 -0
  29. package/dist/cjs/examples/client/simpleOAuthClient.js +77 -1
  30. package/dist/cjs/examples/client/simpleOAuthClient.js.map +1 -1
  31. package/dist/cjs/examples/client/simpleStreamableHttp.js +74 -3
  32. package/dist/cjs/examples/client/simpleStreamableHttp.js.map +1 -1
  33. package/dist/cjs/examples/client/simpleTaskInteractiveClient.d.ts +10 -0
  34. package/dist/cjs/examples/client/simpleTaskInteractiveClient.d.ts.map +1 -0
  35. package/dist/cjs/examples/client/simpleTaskInteractiveClient.js +158 -0
  36. package/dist/cjs/examples/client/simpleTaskInteractiveClient.js.map +1 -0
  37. package/dist/cjs/examples/server/elicitationFormExample.js +2 -12
  38. package/dist/cjs/examples/server/elicitationFormExample.js.map +1 -1
  39. package/dist/cjs/examples/server/elicitationUrlExample.js +4 -3
  40. package/dist/cjs/examples/server/elicitationUrlExample.js.map +1 -1
  41. package/dist/cjs/examples/server/jsonResponseStreamableHttp.js +2 -12
  42. package/dist/cjs/examples/server/jsonResponseStreamableHttp.js.map +1 -1
  43. package/dist/cjs/examples/server/simpleSseServer.js +2 -6
  44. package/dist/cjs/examples/server/simpleSseServer.js.map +1 -1
  45. package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js +2 -12
  46. package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
  47. package/dist/cjs/examples/server/simpleStreamableHttp.js +61 -21
  48. package/dist/cjs/examples/server/simpleStreamableHttp.js.map +1 -1
  49. package/dist/cjs/examples/server/simpleTaskInteractive.d.ts +12 -0
  50. package/dist/cjs/examples/server/simpleTaskInteractive.d.ts.map +1 -0
  51. package/dist/cjs/examples/server/simpleTaskInteractive.js +603 -0
  52. package/dist/cjs/examples/server/simpleTaskInteractive.js.map +1 -0
  53. package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js +2 -12
  54. package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
  55. package/dist/cjs/examples/server/ssePollingExample.js +11 -25
  56. package/dist/cjs/examples/server/ssePollingExample.js.map +1 -1
  57. package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js +2 -6
  58. package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
  59. package/dist/cjs/examples/server/toolWithSampleServer.js +7 -5
  60. package/dist/cjs/examples/server/toolWithSampleServer.js.map +1 -1
  61. package/dist/cjs/experimental/index.d.ts +13 -0
  62. package/dist/cjs/experimental/index.d.ts.map +1 -0
  63. package/dist/cjs/experimental/index.js +29 -0
  64. package/dist/cjs/experimental/index.js.map +1 -0
  65. package/dist/cjs/experimental/tasks/client.d.ts +121 -0
  66. package/dist/cjs/experimental/tasks/client.d.ts.map +1 -0
  67. package/dist/cjs/experimental/tasks/client.js +189 -0
  68. package/dist/cjs/experimental/tasks/client.js.map +1 -0
  69. package/dist/cjs/experimental/tasks/helpers.d.ts +47 -0
  70. package/dist/cjs/experimental/tasks/helpers.d.ts.map +1 -0
  71. package/dist/cjs/experimental/tasks/helpers.js +70 -0
  72. package/dist/cjs/experimental/tasks/helpers.js.map +1 -0
  73. package/dist/cjs/experimental/tasks/index.d.ts +16 -0
  74. package/dist/cjs/experimental/tasks/index.d.ts.map +1 -0
  75. package/dist/cjs/experimental/tasks/index.js +39 -0
  76. package/dist/cjs/experimental/tasks/index.js.map +1 -0
  77. package/dist/cjs/experimental/tasks/interfaces.d.ts +232 -0
  78. package/dist/cjs/experimental/tasks/interfaces.d.ts.map +1 -0
  79. package/dist/cjs/experimental/tasks/interfaces.js +19 -0
  80. package/dist/cjs/experimental/tasks/interfaces.js.map +1 -0
  81. package/dist/cjs/experimental/tasks/mcp-server.d.ts +77 -0
  82. package/dist/cjs/experimental/tasks/mcp-server.d.ts.map +1 -0
  83. package/dist/cjs/experimental/tasks/mcp-server.js +36 -0
  84. package/dist/cjs/experimental/tasks/mcp-server.js.map +1 -0
  85. package/dist/cjs/experimental/tasks/server.d.ts +83 -0
  86. package/dist/cjs/experimental/tasks/server.d.ts.map +1 -0
  87. package/dist/cjs/experimental/tasks/server.js +93 -0
  88. package/dist/cjs/experimental/tasks/server.js.map +1 -0
  89. package/dist/cjs/experimental/tasks/stores/in-memory.d.ts +94 -0
  90. package/dist/cjs/experimental/tasks/stores/in-memory.d.ts.map +1 -0
  91. package/dist/cjs/experimental/tasks/stores/in-memory.js +253 -0
  92. package/dist/cjs/experimental/tasks/stores/in-memory.js.map +1 -0
  93. package/dist/cjs/experimental/tasks/types.d.ts +10 -0
  94. package/dist/cjs/experimental/tasks/types.d.ts.map +1 -0
  95. package/dist/cjs/experimental/tasks/types.js +28 -0
  96. package/dist/cjs/experimental/tasks/types.js.map +1 -0
  97. package/dist/cjs/server/auth/errors.d.ts +7 -0
  98. package/dist/cjs/server/auth/errors.d.ts.map +1 -1
  99. package/dist/cjs/server/auth/errors.js +11 -2
  100. package/dist/cjs/server/auth/errors.js.map +1 -1
  101. package/dist/cjs/server/auth/handlers/token.d.ts.map +1 -1
  102. package/dist/cjs/server/auth/handlers/token.js +2 -2
  103. package/dist/cjs/server/auth/handlers/token.js.map +1 -1
  104. package/dist/cjs/server/auth/middleware/clientAuth.d.ts.map +1 -1
  105. package/dist/cjs/server/auth/middleware/clientAuth.js +0 -4
  106. package/dist/cjs/server/auth/middleware/clientAuth.js.map +1 -1
  107. package/dist/cjs/server/auth/providers/proxyProvider.d.ts.map +1 -1
  108. package/dist/cjs/server/auth/providers/proxyProvider.js +8 -4
  109. package/dist/cjs/server/auth/providers/proxyProvider.js.map +1 -1
  110. package/dist/cjs/server/auth/router.d.ts.map +1 -1
  111. package/dist/cjs/server/auth/router.js +7 -1
  112. package/dist/cjs/server/auth/router.js.map +1 -1
  113. package/dist/cjs/server/index.d.ts +91 -168
  114. package/dist/cjs/server/index.d.ts.map +1 -1
  115. package/dist/cjs/server/index.js +162 -0
  116. package/dist/cjs/server/index.js.map +1 -1
  117. package/dist/cjs/server/mcp.d.ts +41 -6
  118. package/dist/cjs/server/mcp.d.ts.map +1 -1
  119. package/dist/cjs/server/mcp.js +203 -48
  120. package/dist/cjs/server/mcp.js.map +1 -1
  121. package/dist/cjs/server/middleware/hostHeaderValidation.d.ts +32 -0
  122. package/dist/cjs/server/middleware/hostHeaderValidation.d.ts.map +1 -0
  123. package/dist/cjs/server/middleware/hostHeaderValidation.js +80 -0
  124. package/dist/cjs/server/middleware/hostHeaderValidation.js.map +1 -0
  125. package/dist/cjs/server/sse.d.ts +6 -0
  126. package/dist/cjs/server/sse.d.ts.map +1 -1
  127. package/dist/cjs/server/sse.js +3 -3
  128. package/dist/cjs/server/sse.js.map +1 -1
  129. package/dist/cjs/server/stdio.d.ts +1 -1
  130. package/dist/cjs/server/stdio.js +1 -1
  131. package/dist/cjs/server/streamableHttp.d.ts +11 -0
  132. package/dist/cjs/server/streamableHttp.d.ts.map +1 -1
  133. package/dist/cjs/server/streamableHttp.js +30 -7
  134. package/dist/cjs/server/streamableHttp.js.map +1 -1
  135. package/dist/cjs/server/zod-compat.d.ts +1 -1
  136. package/dist/cjs/server/zod-compat.d.ts.map +1 -1
  137. package/dist/cjs/server/zod-compat.js +2 -2
  138. package/dist/cjs/server/zod-compat.js.map +1 -1
  139. package/dist/cjs/shared/auth.d.ts +1 -1
  140. package/dist/cjs/shared/auth.js +1 -1
  141. package/dist/cjs/shared/auth.js.map +1 -1
  142. package/dist/cjs/shared/protocol.d.ts +220 -3
  143. package/dist/cjs/shared/protocol.d.ts.map +1 -1
  144. package/dist/cjs/shared/protocol.js +699 -38
  145. package/dist/cjs/shared/protocol.js.map +1 -1
  146. package/dist/cjs/shared/responseMessage.d.ts +45 -0
  147. package/dist/cjs/shared/responseMessage.d.ts.map +1 -0
  148. package/dist/cjs/shared/responseMessage.js +23 -0
  149. package/dist/cjs/shared/responseMessage.js.map +1 -0
  150. package/dist/cjs/shared/transport.d.ts +1 -1
  151. package/dist/cjs/types.d.ts +2369 -73
  152. package/dist/cjs/types.d.ts.map +1 -1
  153. package/dist/cjs/types.js +310 -18
  154. package/dist/cjs/types.js.map +1 -1
  155. package/dist/esm/client/auth-extensions.d.ts +178 -0
  156. package/dist/esm/client/auth-extensions.d.ts.map +1 -0
  157. package/dist/esm/client/auth-extensions.js +270 -0
  158. package/dist/esm/client/auth-extensions.js.map +1 -0
  159. package/dist/esm/client/auth.d.ts +90 -2
  160. package/dist/esm/client/auth.d.ts.map +1 -1
  161. package/dist/esm/client/auth.js +129 -75
  162. package/dist/esm/client/auth.js.map +1 -1
  163. package/dist/esm/client/index.d.ts +122 -14
  164. package/dist/esm/client/index.d.ts.map +1 -1
  165. package/dist/esm/client/index.js +126 -4
  166. package/dist/esm/client/index.js.map +1 -1
  167. package/dist/esm/client/sse.d.ts.map +1 -1
  168. package/dist/esm/client/sse.js +7 -3
  169. package/dist/esm/client/sse.js.map +1 -1
  170. package/dist/esm/client/stdio.d.ts +0 -1
  171. package/dist/esm/client/stdio.d.ts.map +1 -1
  172. package/dist/esm/client/stdio.js +36 -11
  173. package/dist/esm/client/stdio.js.map +1 -1
  174. package/dist/esm/client/streamableHttp.d.ts +1 -0
  175. package/dist/esm/client/streamableHttp.d.ts.map +1 -1
  176. package/dist/esm/client/streamableHttp.js +36 -15
  177. package/dist/esm/client/streamableHttp.js.map +1 -1
  178. package/dist/esm/examples/client/simpleClientCredentials.d.ts +20 -0
  179. package/dist/esm/examples/client/simpleClientCredentials.d.ts.map +1 -0
  180. package/dist/esm/examples/client/simpleClientCredentials.js +68 -0
  181. package/dist/esm/examples/client/simpleClientCredentials.js.map +1 -0
  182. package/dist/esm/examples/client/simpleOAuthClient.js +77 -1
  183. package/dist/esm/examples/client/simpleOAuthClient.js.map +1 -1
  184. package/dist/esm/examples/client/simpleStreamableHttp.js +75 -4
  185. package/dist/esm/examples/client/simpleStreamableHttp.js.map +1 -1
  186. package/dist/esm/examples/client/simpleTaskInteractiveClient.d.ts +10 -0
  187. package/dist/esm/examples/client/simpleTaskInteractiveClient.d.ts.map +1 -0
  188. package/dist/esm/examples/client/simpleTaskInteractiveClient.js +156 -0
  189. package/dist/esm/examples/client/simpleTaskInteractiveClient.js.map +1 -0
  190. package/dist/esm/examples/server/elicitationFormExample.js +2 -9
  191. package/dist/esm/examples/server/elicitationFormExample.js.map +1 -1
  192. package/dist/esm/examples/server/elicitationUrlExample.js +4 -3
  193. package/dist/esm/examples/server/elicitationUrlExample.js.map +1 -1
  194. package/dist/esm/examples/server/jsonResponseStreamableHttp.js +2 -9
  195. package/dist/esm/examples/server/jsonResponseStreamableHttp.js.map +1 -1
  196. package/dist/esm/examples/server/simpleSseServer.js +2 -3
  197. package/dist/esm/examples/server/simpleSseServer.js.map +1 -1
  198. package/dist/esm/examples/server/simpleStatelessStreamableHttp.js +2 -9
  199. package/dist/esm/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
  200. package/dist/esm/examples/server/simpleStreamableHttp.js +62 -19
  201. package/dist/esm/examples/server/simpleStreamableHttp.js.map +1 -1
  202. package/dist/esm/examples/server/simpleTaskInteractive.d.ts +12 -0
  203. package/dist/esm/examples/server/simpleTaskInteractive.d.ts.map +1 -0
  204. package/dist/esm/examples/server/simpleTaskInteractive.js +601 -0
  205. package/dist/esm/examples/server/simpleTaskInteractive.js.map +1 -0
  206. package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js +2 -9
  207. package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
  208. package/dist/esm/examples/server/ssePollingExample.js +11 -25
  209. package/dist/esm/examples/server/ssePollingExample.js.map +1 -1
  210. package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js +2 -3
  211. package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
  212. package/dist/esm/examples/server/toolWithSampleServer.js +7 -5
  213. package/dist/esm/examples/server/toolWithSampleServer.js.map +1 -1
  214. package/dist/esm/experimental/index.d.ts +13 -0
  215. package/dist/esm/experimental/index.d.ts.map +1 -0
  216. package/dist/esm/experimental/index.js +13 -0
  217. package/dist/esm/experimental/index.js.map +1 -0
  218. package/dist/esm/experimental/tasks/client.d.ts +121 -0
  219. package/dist/esm/experimental/tasks/client.d.ts.map +1 -0
  220. package/dist/esm/experimental/tasks/client.js +185 -0
  221. package/dist/esm/experimental/tasks/client.js.map +1 -0
  222. package/dist/esm/experimental/tasks/helpers.d.ts +47 -0
  223. package/dist/esm/experimental/tasks/helpers.d.ts.map +1 -0
  224. package/dist/esm/experimental/tasks/helpers.js +66 -0
  225. package/dist/esm/experimental/tasks/helpers.js.map +1 -0
  226. package/dist/esm/experimental/tasks/index.d.ts +16 -0
  227. package/dist/esm/experimental/tasks/index.d.ts.map +1 -0
  228. package/dist/esm/experimental/tasks/index.js +20 -0
  229. package/dist/esm/experimental/tasks/index.js.map +1 -0
  230. package/dist/esm/experimental/tasks/interfaces.d.ts +232 -0
  231. package/dist/esm/experimental/tasks/interfaces.d.ts.map +1 -0
  232. package/dist/esm/experimental/tasks/interfaces.js +16 -0
  233. package/dist/esm/experimental/tasks/interfaces.js.map +1 -0
  234. package/dist/esm/experimental/tasks/mcp-server.d.ts +77 -0
  235. package/dist/esm/experimental/tasks/mcp-server.d.ts.map +1 -0
  236. package/dist/esm/experimental/tasks/mcp-server.js +32 -0
  237. package/dist/esm/experimental/tasks/mcp-server.js.map +1 -0
  238. package/dist/esm/experimental/tasks/server.d.ts +83 -0
  239. package/dist/esm/experimental/tasks/server.d.ts.map +1 -0
  240. package/dist/esm/experimental/tasks/server.js +89 -0
  241. package/dist/esm/experimental/tasks/server.js.map +1 -0
  242. package/dist/esm/experimental/tasks/stores/in-memory.d.ts +94 -0
  243. package/dist/esm/experimental/tasks/stores/in-memory.d.ts.map +1 -0
  244. package/dist/esm/experimental/tasks/stores/in-memory.js +248 -0
  245. package/dist/esm/experimental/tasks/stores/in-memory.js.map +1 -0
  246. package/dist/esm/experimental/tasks/types.d.ts +10 -0
  247. package/dist/esm/experimental/tasks/types.d.ts.map +1 -0
  248. package/dist/esm/experimental/tasks/types.js +10 -0
  249. package/dist/esm/experimental/tasks/types.js.map +1 -0
  250. package/dist/esm/server/auth/errors.d.ts +7 -0
  251. package/dist/esm/server/auth/errors.d.ts.map +1 -1
  252. package/dist/esm/server/auth/errors.js +9 -1
  253. package/dist/esm/server/auth/errors.js.map +1 -1
  254. package/dist/esm/server/auth/handlers/token.d.ts.map +1 -1
  255. package/dist/esm/server/auth/handlers/token.js +2 -2
  256. package/dist/esm/server/auth/handlers/token.js.map +1 -1
  257. package/dist/esm/server/auth/middleware/clientAuth.d.ts.map +1 -1
  258. package/dist/esm/server/auth/middleware/clientAuth.js +0 -4
  259. package/dist/esm/server/auth/middleware/clientAuth.js.map +1 -1
  260. package/dist/esm/server/auth/providers/proxyProvider.d.ts.map +1 -1
  261. package/dist/esm/server/auth/providers/proxyProvider.js +8 -4
  262. package/dist/esm/server/auth/providers/proxyProvider.js.map +1 -1
  263. package/dist/esm/server/auth/router.d.ts.map +1 -1
  264. package/dist/esm/server/auth/router.js +7 -1
  265. package/dist/esm/server/auth/router.js.map +1 -1
  266. package/dist/esm/server/index.d.ts +91 -168
  267. package/dist/esm/server/index.d.ts.map +1 -1
  268. package/dist/esm/server/index.js +159 -1
  269. package/dist/esm/server/index.js.map +1 -1
  270. package/dist/esm/server/mcp.d.ts +41 -6
  271. package/dist/esm/server/mcp.d.ts.map +1 -1
  272. package/dist/esm/server/mcp.js +203 -48
  273. package/dist/esm/server/mcp.js.map +1 -1
  274. package/dist/esm/server/middleware/hostHeaderValidation.d.ts +32 -0
  275. package/dist/esm/server/middleware/hostHeaderValidation.d.ts.map +1 -0
  276. package/dist/esm/server/middleware/hostHeaderValidation.js +76 -0
  277. package/dist/esm/server/middleware/hostHeaderValidation.js.map +1 -0
  278. package/dist/esm/server/sse.d.ts +6 -0
  279. package/dist/esm/server/sse.d.ts.map +1 -1
  280. package/dist/esm/server/sse.js +2 -2
  281. package/dist/esm/server/sse.js.map +1 -1
  282. package/dist/esm/server/stdio.d.ts +1 -1
  283. package/dist/esm/server/stdio.js +1 -1
  284. package/dist/esm/server/streamableHttp.d.ts +11 -0
  285. package/dist/esm/server/streamableHttp.d.ts.map +1 -1
  286. package/dist/esm/server/streamableHttp.js +30 -7
  287. package/dist/esm/server/streamableHttp.js.map +1 -1
  288. package/dist/esm/server/zod-compat.d.ts +1 -1
  289. package/dist/esm/server/zod-compat.d.ts.map +1 -1
  290. package/dist/esm/server/zod-compat.js +2 -2
  291. package/dist/esm/server/zod-compat.js.map +1 -1
  292. package/dist/esm/shared/auth.d.ts +1 -1
  293. package/dist/esm/shared/auth.js +1 -1
  294. package/dist/esm/shared/auth.js.map +1 -1
  295. package/dist/esm/shared/protocol.d.ts +220 -3
  296. package/dist/esm/shared/protocol.d.ts.map +1 -1
  297. package/dist/esm/shared/protocol.js +700 -39
  298. package/dist/esm/shared/protocol.js.map +1 -1
  299. package/dist/esm/shared/responseMessage.d.ts +45 -0
  300. package/dist/esm/shared/responseMessage.d.ts.map +1 -0
  301. package/dist/esm/shared/responseMessage.js +19 -0
  302. package/dist/esm/shared/responseMessage.js.map +1 -0
  303. package/dist/esm/shared/transport.d.ts +1 -1
  304. package/dist/esm/types.d.ts +2369 -73
  305. package/dist/esm/types.d.ts.map +1 -1
  306. package/dist/esm/types.js +306 -15
  307. package/dist/esm/types.js.map +1 -1
  308. package/package.json +12 -1
  309. package/dist/cjs/shared/zodTestMatrix.d.ts +0 -16
  310. package/dist/cjs/shared/zodTestMatrix.d.ts.map +0 -1
  311. package/dist/cjs/shared/zodTestMatrix.js +0 -43
  312. package/dist/cjs/shared/zodTestMatrix.js.map +0 -1
  313. package/dist/esm/shared/zodTestMatrix.d.ts +0 -16
  314. package/dist/esm/shared/zodTestMatrix.d.ts.map +0 -1
  315. package/dist/esm/shared/zodTestMatrix.js +0 -17
  316. package/dist/esm/shared/zodTestMatrix.js.map +0 -1
@@ -1,7 +1,9 @@
1
1
  import { AnySchema, AnyObjectSchema, SchemaOutput } from '../server/zod-compat.js';
2
- import { ClientCapabilities, JSONRPCRequest, Notification, Progress, Request, RequestId, Result, ServerCapabilities, RequestMeta, RequestInfo } from '../types.js';
2
+ import { ClientCapabilities, GetTaskRequest, GetTaskPayloadRequest, ListTasksResultSchema, CancelTaskResultSchema, JSONRPCRequest, Notification, Progress, Request, RequestId, Result, ServerCapabilities, RequestMeta, RequestInfo, GetTaskResult, TaskCreationParams, RelatedTaskMetadata, Task } from '../types.js';
3
3
  import { Transport, TransportSendOptions } from './transport.js';
4
4
  import { AuthInfo } from '../server/auth/types.js';
5
+ import { TaskStore, TaskMessageQueue, CreateTaskOptions } from '../experimental/tasks/interfaces.js';
6
+ import { ResponseMessage } from './responseMessage.js';
5
7
  /**
6
8
  * Callback for progress notifications.
7
9
  */
@@ -25,6 +27,29 @@ export type ProtocolOptions = {
25
27
  * e.g., ['notifications/tools/list_changed']
26
28
  */
27
29
  debouncedNotificationMethods?: string[];
30
+ /**
31
+ * Optional task storage implementation. If provided, enables task-related request handlers
32
+ * and provides task storage capabilities to request handlers.
33
+ */
34
+ taskStore?: TaskStore;
35
+ /**
36
+ * Optional task message queue implementation for managing server-initiated messages
37
+ * that will be delivered through the tasks/result response stream.
38
+ */
39
+ taskMessageQueue?: TaskMessageQueue;
40
+ /**
41
+ * Default polling interval (in milliseconds) for task status checks when no pollInterval
42
+ * is provided by the server. Defaults to 5000ms if not specified.
43
+ */
44
+ defaultTaskPollInterval?: number;
45
+ /**
46
+ * Maximum number of messages that can be queued per task for side-channel delivery.
47
+ * If undefined, the queue size is unbounded.
48
+ * When the limit is exceeded, the TaskMessageQueue implementation's enqueue() method
49
+ * will throw an error. It's the implementation's responsibility to handle overflow
50
+ * appropriately (e.g., by failing the task, dropping messages, etc.).
51
+ */
52
+ maxTaskQueueSize?: number;
28
53
  };
29
54
  /**
30
55
  * The default request timeout, in miliseconds.
@@ -36,6 +61,8 @@ export declare const DEFAULT_REQUEST_TIMEOUT_MSEC = 60000;
36
61
  export type RequestOptions = {
37
62
  /**
38
63
  * If set, requests progress notifications from the remote end (if supported). When progress notifications are received, this callback will be invoked.
64
+ *
65
+ * For task-augmented requests: progress notifications continue after CreateTaskResult is returned and stop automatically when the task reaches a terminal status.
39
66
  */
40
67
  onprogress?: ProgressCallback;
41
68
  /**
@@ -60,6 +87,14 @@ export type RequestOptions = {
60
87
  * If not specified, there is no maximum total timeout.
61
88
  */
62
89
  maxTotalTimeout?: number;
90
+ /**
91
+ * If provided, augments the request with task creation parameters to enable call-now, fetch-later execution patterns.
92
+ */
93
+ task?: TaskCreationParams;
94
+ /**
95
+ * If provided, associates this request with a related task.
96
+ */
97
+ relatedTask?: RelatedTaskMetadata;
63
98
  } & TransportSendOptions;
64
99
  /**
65
100
  * Options that can be given per notification.
@@ -69,7 +104,69 @@ export type NotificationOptions = {
69
104
  * May be used to indicate to the transport which incoming request to associate this outgoing notification with.
70
105
  */
71
106
  relatedRequestId?: RequestId;
107
+ /**
108
+ * If provided, associates this notification with a related task.
109
+ */
110
+ relatedTask?: RelatedTaskMetadata;
72
111
  };
112
+ /**
113
+ * Options that can be given per request.
114
+ */
115
+ export type TaskRequestOptions = Omit<RequestOptions, 'relatedTask'>;
116
+ /**
117
+ * Request-scoped TaskStore interface.
118
+ */
119
+ export interface RequestTaskStore {
120
+ /**
121
+ * Creates a new task with the given creation parameters.
122
+ * The implementation generates a unique taskId and createdAt timestamp.
123
+ *
124
+ * @param taskParams - The task creation parameters from the request
125
+ * @returns The created task object
126
+ */
127
+ createTask(taskParams: CreateTaskOptions): Promise<Task>;
128
+ /**
129
+ * Gets the current status of a task.
130
+ *
131
+ * @param taskId - The task identifier
132
+ * @returns The task object
133
+ * @throws If the task does not exist
134
+ */
135
+ getTask(taskId: string): Promise<Task>;
136
+ /**
137
+ * Stores the result of a task and sets its final status.
138
+ *
139
+ * @param taskId - The task identifier
140
+ * @param status - The final status: 'completed' for success, 'failed' for errors
141
+ * @param result - The result to store
142
+ */
143
+ storeTaskResult(taskId: string, status: 'completed' | 'failed', result: Result): Promise<void>;
144
+ /**
145
+ * Retrieves the stored result of a task.
146
+ *
147
+ * @param taskId - The task identifier
148
+ * @returns The stored result
149
+ */
150
+ getTaskResult(taskId: string): Promise<Result>;
151
+ /**
152
+ * Updates a task's status (e.g., to 'cancelled', 'failed', 'completed').
153
+ *
154
+ * @param taskId - The task identifier
155
+ * @param status - The new status
156
+ * @param statusMessage - Optional diagnostic message for failed tasks or other status information
157
+ */
158
+ updateTaskStatus(taskId: string, status: Task['status'], statusMessage?: string): Promise<void>;
159
+ /**
160
+ * Lists tasks, optionally starting from a pagination cursor.
161
+ *
162
+ * @param cursor - Optional cursor for pagination
163
+ * @returns An object containing the tasks array and an optional nextCursor
164
+ */
165
+ listTasks(cursor?: string): Promise<{
166
+ tasks: Task[];
167
+ nextCursor?: string;
168
+ }>;
169
+ }
73
170
  /**
74
171
  * Extra data given to request handlers.
75
172
  */
@@ -95,6 +192,9 @@ export type RequestHandlerExtra<SendRequestT extends Request, SendNotificationT
95
192
  * This can be useful for tracking or logging purposes.
96
193
  */
97
194
  requestId: RequestId;
195
+ taskId?: string;
196
+ taskStore?: RequestTaskStore;
197
+ taskRequestedTtl?: number | null;
98
198
  /**
99
199
  * The original HTTP request.
100
200
  */
@@ -110,7 +210,19 @@ export type RequestHandlerExtra<SendRequestT extends Request, SendNotificationT
110
210
  *
111
211
  * This is used by certain transports to correctly associate related messages.
112
212
  */
113
- sendRequest: <U extends AnySchema>(request: SendRequestT, resultSchema: U, options?: RequestOptions) => Promise<SchemaOutput<U>>;
213
+ sendRequest: <U extends AnySchema>(request: SendRequestT, resultSchema: U, options?: TaskRequestOptions) => Promise<SchemaOutput<U>>;
214
+ /**
215
+ * Closes the SSE stream for this request, triggering client reconnection.
216
+ * Only available when using StreamableHTTPServerTransport with eventStore configured.
217
+ * Use this to implement polling behavior during long-running operations.
218
+ */
219
+ closeSSEStream?: () => void;
220
+ /**
221
+ * Closes the standalone GET SSE stream, triggering client reconnection.
222
+ * Only available when using StreamableHTTPServerTransport with eventStore configured.
223
+ * Use this to implement polling behavior for server-initiated notifications.
224
+ */
225
+ closeStandaloneSSEStream?: () => void;
114
226
  };
115
227
  /**
116
228
  * Implements MCP protocol framing on top of a pluggable transport, including
@@ -127,6 +239,10 @@ export declare abstract class Protocol<SendRequestT extends Request, SendNotific
127
239
  private _progressHandlers;
128
240
  private _timeoutInfo;
129
241
  private _pendingDebouncedNotifications;
242
+ private _taskProgressTokens;
243
+ private _taskStore?;
244
+ private _taskMessageQueue?;
245
+ private _requestResolvers;
130
246
  /**
131
247
  * Callback for when the connection is closed for any reason.
132
248
  *
@@ -148,6 +264,7 @@ export declare abstract class Protocol<SendRequestT extends Request, SendNotific
148
264
  */
149
265
  fallbackNotificationHandler?: (notification: Notification) => Promise<void>;
150
266
  constructor(_options?: ProtocolOptions | undefined);
267
+ private _oncancel;
151
268
  private _setupTimeout;
152
269
  private _resetTimeout;
153
270
  private _cleanupTimeout;
@@ -187,11 +304,79 @@ export declare abstract class Protocol<SendRequestT extends Request, SendNotific
187
304
  */
188
305
  protected abstract assertRequestHandlerCapability(method: string): void;
189
306
  /**
190
- * Sends a request and wait for a response.
307
+ * A method to check if task creation is supported for the given request method.
308
+ *
309
+ * This should be implemented by subclasses.
310
+ */
311
+ protected abstract assertTaskCapability(method: string): void;
312
+ /**
313
+ * A method to check if task handler is supported by the local side, for the given method to be handled.
314
+ *
315
+ * This should be implemented by subclasses.
316
+ */
317
+ protected abstract assertTaskHandlerCapability(method: string): void;
318
+ /**
319
+ * Sends a request and returns an AsyncGenerator that yields response messages.
320
+ * The generator is guaranteed to end with either a 'result' or 'error' message.
321
+ *
322
+ * @example
323
+ * ```typescript
324
+ * const stream = protocol.requestStream(request, resultSchema, options);
325
+ * for await (const message of stream) {
326
+ * switch (message.type) {
327
+ * case 'taskCreated':
328
+ * console.log('Task created:', message.task.taskId);
329
+ * break;
330
+ * case 'taskStatus':
331
+ * console.log('Task status:', message.task.status);
332
+ * break;
333
+ * case 'result':
334
+ * console.log('Final result:', message.result);
335
+ * break;
336
+ * case 'error':
337
+ * console.error('Error:', message.error);
338
+ * break;
339
+ * }
340
+ * }
341
+ * ```
342
+ *
343
+ * @experimental Use `client.experimental.tasks.requestStream()` to access this method.
344
+ */
345
+ protected requestStream<T extends AnySchema>(request: SendRequestT, resultSchema: T, options?: RequestOptions): AsyncGenerator<ResponseMessage<SchemaOutput<T>>, void, void>;
346
+ /**
347
+ * Sends a request and waits for a response.
191
348
  *
192
349
  * Do not use this method to emit notifications! Use notification() instead.
193
350
  */
194
351
  request<T extends AnySchema>(request: SendRequestT, resultSchema: T, options?: RequestOptions): Promise<SchemaOutput<T>>;
352
+ /**
353
+ * Gets the current status of a task.
354
+ *
355
+ * @experimental Use `client.experimental.tasks.getTask()` to access this method.
356
+ */
357
+ protected getTask(params: GetTaskRequest['params'], options?: RequestOptions): Promise<GetTaskResult>;
358
+ /**
359
+ * Retrieves the result of a completed task.
360
+ *
361
+ * @experimental Use `client.experimental.tasks.getTaskResult()` to access this method.
362
+ */
363
+ protected getTaskResult<T extends AnySchema>(params: GetTaskPayloadRequest['params'], resultSchema: T, options?: RequestOptions): Promise<SchemaOutput<T>>;
364
+ /**
365
+ * Lists tasks, optionally starting from a pagination cursor.
366
+ *
367
+ * @experimental Use `client.experimental.tasks.listTasks()` to access this method.
368
+ */
369
+ protected listTasks(params?: {
370
+ cursor?: string;
371
+ }, options?: RequestOptions): Promise<SchemaOutput<typeof ListTasksResultSchema>>;
372
+ /**
373
+ * Cancels a specific task.
374
+ *
375
+ * @experimental Use `client.experimental.tasks.cancelTask()` to access this method.
376
+ */
377
+ protected cancelTask(params: {
378
+ taskId: string;
379
+ }, options?: RequestOptions): Promise<SchemaOutput<typeof CancelTaskResultSchema>>;
195
380
  /**
196
381
  * Emits a notification, which is a one-way message that does not expect a response.
197
382
  */
@@ -220,6 +405,38 @@ export declare abstract class Protocol<SendRequestT extends Request, SendNotific
220
405
  * Removes the notification handler for the given method.
221
406
  */
222
407
  removeNotificationHandler(method: string): void;
408
+ /**
409
+ * Cleans up the progress handler associated with a task.
410
+ * This should be called when a task reaches a terminal status.
411
+ */
412
+ private _cleanupTaskProgressHandler;
413
+ /**
414
+ * Enqueues a task-related message for side-channel delivery via tasks/result.
415
+ * @param taskId The task ID to associate the message with
416
+ * @param message The message to enqueue
417
+ * @param sessionId Optional session ID for binding the operation to a specific session
418
+ * @throws Error if taskStore is not configured or if enqueue fails (e.g., queue overflow)
419
+ *
420
+ * Note: If enqueue fails, it's the TaskMessageQueue implementation's responsibility to handle
421
+ * the error appropriately (e.g., by failing the task, logging, etc.). The Protocol layer
422
+ * simply propagates the error.
423
+ */
424
+ private _enqueueTaskMessage;
425
+ /**
426
+ * Clears the message queue for a task and rejects any pending request resolvers.
427
+ * @param taskId The task ID whose queue should be cleared
428
+ * @param sessionId Optional session ID for binding the operation to a specific session
429
+ */
430
+ private _clearTaskQueue;
431
+ /**
432
+ * Waits for a task update (new messages or status change) with abort signal support.
433
+ * Uses polling to check for updates at the task's configured poll interval.
434
+ * @param taskId The task ID to wait for
435
+ * @param signal Abort signal to cancel the wait
436
+ * @returns Promise that resolves when an update occurs or rejects if aborted
437
+ */
438
+ private _waitForTaskUpdate;
439
+ private requestTaskStore;
223
440
  }
224
441
  export declare function mergeCapabilities(base: ServerCapabilities, additional: Partial<ServerCapabilities>): ServerCapabilities;
225
442
  export declare function mergeCapabilities(base: ClientCapabilities, additional: Partial<ClientCapabilities>): ClientCapabilities;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/shared/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/shared/protocol.ts"],"names":[],"mappings":"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"}