mcp-server-framework 1.0.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 (673) hide show
  1. package/CHANGELOG.md +174 -0
  2. package/LICENSE-GPL.md +219 -0
  3. package/LICENSE.md +187 -0
  4. package/README.md +439 -0
  5. package/build/config/config-cache.d.ts +120 -0
  6. package/build/config/config-cache.d.ts.map +1 -0
  7. package/build/config/config-cache.js +310 -0
  8. package/build/config/config-cache.js.map +1 -0
  9. package/build/config/env.d.ts +476 -0
  10. package/build/config/env.d.ts.map +1 -0
  11. package/build/config/env.js +441 -0
  12. package/build/config/env.js.map +1 -0
  13. package/build/config/extensions.d.ts +107 -0
  14. package/build/config/extensions.d.ts.map +1 -0
  15. package/build/config/extensions.js +152 -0
  16. package/build/config/extensions.js.map +1 -0
  17. package/build/config/file/index.d.ts +8 -0
  18. package/build/config/file/index.d.ts.map +1 -0
  19. package/build/config/file/index.js +10 -0
  20. package/build/config/file/index.js.map +1 -0
  21. package/build/config/file/loader.d.ts +31 -0
  22. package/build/config/file/loader.d.ts.map +1 -0
  23. package/build/config/file/loader.js +313 -0
  24. package/build/config/file/loader.js.map +1 -0
  25. package/build/config/file/schema.d.ts +583 -0
  26. package/build/config/file/schema.d.ts.map +1 -0
  27. package/build/config/file/schema.js +388 -0
  28. package/build/config/file/schema.js.map +1 -0
  29. package/build/config/index.d.ts +15 -0
  30. package/build/config/index.d.ts.map +1 -0
  31. package/build/config/index.js +27 -0
  32. package/build/config/index.js.map +1 -0
  33. package/build/config/startup-warnings.d.ts +46 -0
  34. package/build/config/startup-warnings.d.ts.map +1 -0
  35. package/build/config/startup-warnings.js +61 -0
  36. package/build/config/startup-warnings.js.map +1 -0
  37. package/build/connection/connection-state.d.ts +196 -0
  38. package/build/connection/connection-state.d.ts.map +1 -0
  39. package/build/connection/connection-state.js +426 -0
  40. package/build/connection/connection-state.js.map +1 -0
  41. package/build/connection/core/base.d.ts +43 -0
  42. package/build/connection/core/base.d.ts.map +1 -0
  43. package/build/connection/core/base.js +82 -0
  44. package/build/connection/core/base.js.map +1 -0
  45. package/build/connection/core/constants.d.ts +121 -0
  46. package/build/connection/core/constants.d.ts.map +1 -0
  47. package/build/connection/core/constants.js +151 -0
  48. package/build/connection/core/constants.js.map +1 -0
  49. package/build/connection/core/index.d.ts +13 -0
  50. package/build/connection/core/index.d.ts.map +1 -0
  51. package/build/connection/core/index.js +14 -0
  52. package/build/connection/core/index.js.map +1 -0
  53. package/build/connection/core/types.d.ts +102 -0
  54. package/build/connection/core/types.d.ts.map +1 -0
  55. package/build/connection/core/types.js +31 -0
  56. package/build/connection/core/types.js.map +1 -0
  57. package/build/connection/index.d.ts +19 -0
  58. package/build/connection/index.d.ts.map +1 -0
  59. package/build/connection/index.js +22 -0
  60. package/build/connection/index.js.map +1 -0
  61. package/build/connection/types.d.ts +125 -0
  62. package/build/connection/types.d.ts.map +1 -0
  63. package/build/connection/types.js +39 -0
  64. package/build/connection/types.js.map +1 -0
  65. package/build/errors/categories/auth.d.ts +59 -0
  66. package/build/errors/categories/auth.d.ts.map +1 -0
  67. package/build/errors/categories/auth.js +111 -0
  68. package/build/errors/categories/auth.js.map +1 -0
  69. package/build/errors/categories/connection.d.ts +70 -0
  70. package/build/errors/categories/connection.d.ts.map +1 -0
  71. package/build/errors/categories/connection.js +120 -0
  72. package/build/errors/categories/connection.js.map +1 -0
  73. package/build/errors/categories/index.d.ts +14 -0
  74. package/build/errors/categories/index.d.ts.map +1 -0
  75. package/build/errors/categories/index.js +20 -0
  76. package/build/errors/categories/index.js.map +1 -0
  77. package/build/errors/categories/operation.d.ts +83 -0
  78. package/build/errors/categories/operation.d.ts.map +1 -0
  79. package/build/errors/categories/operation.js +149 -0
  80. package/build/errors/categories/operation.js.map +1 -0
  81. package/build/errors/categories/protocol.d.ts +68 -0
  82. package/build/errors/categories/protocol.d.ts.map +1 -0
  83. package/build/errors/categories/protocol.js +135 -0
  84. package/build/errors/categories/protocol.js.map +1 -0
  85. package/build/errors/categories/session.d.ts +50 -0
  86. package/build/errors/categories/session.d.ts.map +1 -0
  87. package/build/errors/categories/session.js +97 -0
  88. package/build/errors/categories/session.js.map +1 -0
  89. package/build/errors/categories/system.d.ts +95 -0
  90. package/build/errors/categories/system.d.ts.map +1 -0
  91. package/build/errors/categories/system.js +190 -0
  92. package/build/errors/categories/system.js.map +1 -0
  93. package/build/errors/categories/transport.d.ts +70 -0
  94. package/build/errors/categories/transport.d.ts.map +1 -0
  95. package/build/errors/categories/transport.js +148 -0
  96. package/build/errors/categories/transport.js.map +1 -0
  97. package/build/errors/categories/validation.d.ts +140 -0
  98. package/build/errors/categories/validation.d.ts.map +1 -0
  99. package/build/errors/categories/validation.js +311 -0
  100. package/build/errors/categories/validation.js.map +1 -0
  101. package/build/errors/core/base.d.ts +103 -0
  102. package/build/errors/core/base.d.ts.map +1 -0
  103. package/build/errors/core/base.js +219 -0
  104. package/build/errors/core/base.js.map +1 -0
  105. package/build/errors/core/constants.d.ts +40 -0
  106. package/build/errors/core/constants.d.ts.map +1 -0
  107. package/build/errors/core/constants.js +49 -0
  108. package/build/errors/core/constants.js.map +1 -0
  109. package/build/errors/core/error-codes.d.ts +72 -0
  110. package/build/errors/core/error-codes.d.ts.map +1 -0
  111. package/build/errors/core/error-codes.js +88 -0
  112. package/build/errors/core/error-codes.js.map +1 -0
  113. package/build/errors/core/http.d.ts +69 -0
  114. package/build/errors/core/http.d.ts.map +1 -0
  115. package/build/errors/core/http.js +106 -0
  116. package/build/errors/core/http.js.map +1 -0
  117. package/build/errors/core/index.d.ts +23 -0
  118. package/build/errors/core/index.d.ts.map +1 -0
  119. package/build/errors/core/index.js +41 -0
  120. package/build/errors/core/index.js.map +1 -0
  121. package/build/errors/core/json-rpc.d.ts +69 -0
  122. package/build/errors/core/json-rpc.d.ts.map +1 -0
  123. package/build/errors/core/json-rpc.js +79 -0
  124. package/build/errors/core/json-rpc.js.map +1 -0
  125. package/build/errors/core/messages.d.ts +51 -0
  126. package/build/errors/core/messages.d.ts.map +1 -0
  127. package/build/errors/core/messages.js +59 -0
  128. package/build/errors/core/messages.js.map +1 -0
  129. package/build/errors/core/types.d.ts +80 -0
  130. package/build/errors/core/types.d.ts.map +1 -0
  131. package/build/errors/core/types.js +10 -0
  132. package/build/errors/core/types.js.map +1 -0
  133. package/build/errors/factory.d.ts +199 -0
  134. package/build/errors/factory.d.ts.map +1 -0
  135. package/build/errors/factory.js +244 -0
  136. package/build/errors/factory.js.map +1 -0
  137. package/build/errors/index.d.ts +35 -0
  138. package/build/errors/index.d.ts.map +1 -0
  139. package/build/errors/index.js +67 -0
  140. package/build/errors/index.js.map +1 -0
  141. package/build/index.d.ts +93 -0
  142. package/build/index.d.ts.map +1 -0
  143. package/build/index.js +107 -0
  144. package/build/index.js.map +1 -0
  145. package/build/logger/core/constants.d.ts +143 -0
  146. package/build/logger/core/constants.d.ts.map +1 -0
  147. package/build/logger/core/constants.js +206 -0
  148. package/build/logger/core/constants.js.map +1 -0
  149. package/build/logger/core/context.d.ts +170 -0
  150. package/build/logger/core/context.d.ts.map +1 -0
  151. package/build/logger/core/context.js +237 -0
  152. package/build/logger/core/context.js.map +1 -0
  153. package/build/logger/core/errors.d.ts +101 -0
  154. package/build/logger/core/errors.d.ts.map +1 -0
  155. package/build/logger/core/errors.js +128 -0
  156. package/build/logger/core/errors.js.map +1 -0
  157. package/build/logger/core/format.d.ts +40 -0
  158. package/build/logger/core/format.d.ts.map +1 -0
  159. package/build/logger/core/format.js +47 -0
  160. package/build/logger/core/format.js.map +1 -0
  161. package/build/logger/core/index.d.ts +19 -0
  162. package/build/logger/core/index.d.ts.map +1 -0
  163. package/build/logger/core/index.js +47 -0
  164. package/build/logger/core/index.js.map +1 -0
  165. package/build/logger/core/trace-context.d.ts +51 -0
  166. package/build/logger/core/trace-context.d.ts.map +1 -0
  167. package/build/logger/core/trace-context.js +42 -0
  168. package/build/logger/core/trace-context.js.map +1 -0
  169. package/build/logger/core/types.d.ts +233 -0
  170. package/build/logger/core/types.d.ts.map +1 -0
  171. package/build/logger/core/types.js +10 -0
  172. package/build/logger/core/types.js.map +1 -0
  173. package/build/logger/factory.d.ts +150 -0
  174. package/build/logger/factory.d.ts.map +1 -0
  175. package/build/logger/factory.js +236 -0
  176. package/build/logger/factory.js.map +1 -0
  177. package/build/logger/formatters/index.d.ts +12 -0
  178. package/build/logger/formatters/index.d.ts.map +1 -0
  179. package/build/logger/formatters/index.js +15 -0
  180. package/build/logger/formatters/index.js.map +1 -0
  181. package/build/logger/formatters/json-formatter.d.ts +54 -0
  182. package/build/logger/formatters/json-formatter.d.ts.map +1 -0
  183. package/build/logger/formatters/json-formatter.js +80 -0
  184. package/build/logger/formatters/json-formatter.js.map +1 -0
  185. package/build/logger/formatters/schema.d.ts +230 -0
  186. package/build/logger/formatters/schema.d.ts.map +1 -0
  187. package/build/logger/formatters/schema.js +278 -0
  188. package/build/logger/formatters/schema.js.map +1 -0
  189. package/build/logger/formatters/text-formatter.d.ts +50 -0
  190. package/build/logger/formatters/text-formatter.d.ts.map +1 -0
  191. package/build/logger/formatters/text-formatter.js +93 -0
  192. package/build/logger/formatters/text-formatter.js.map +1 -0
  193. package/build/logger/index.d.ts +39 -0
  194. package/build/logger/index.d.ts.map +1 -0
  195. package/build/logger/index.js +43 -0
  196. package/build/logger/index.js.map +1 -0
  197. package/build/logger/logger.d.ts +278 -0
  198. package/build/logger/logger.d.ts.map +1 -0
  199. package/build/logger/logger.js +459 -0
  200. package/build/logger/logger.js.map +1 -0
  201. package/build/logger/mcp-logger.d.ts +177 -0
  202. package/build/logger/mcp-logger.d.ts.map +1 -0
  203. package/build/logger/mcp-logger.js +294 -0
  204. package/build/logger/mcp-logger.js.map +1 -0
  205. package/build/logger/scrubbing/index.d.ts +14 -0
  206. package/build/logger/scrubbing/index.d.ts.map +1 -0
  207. package/build/logger/scrubbing/index.js +16 -0
  208. package/build/logger/scrubbing/index.js.map +1 -0
  209. package/build/logger/scrubbing/injection-guard.d.ts +69 -0
  210. package/build/logger/scrubbing/injection-guard.d.ts.map +1 -0
  211. package/build/logger/scrubbing/injection-guard.js +102 -0
  212. package/build/logger/scrubbing/injection-guard.js.map +1 -0
  213. package/build/logger/scrubbing/secret-scrubber.d.ts +72 -0
  214. package/build/logger/scrubbing/secret-scrubber.d.ts.map +1 -0
  215. package/build/logger/scrubbing/secret-scrubber.js +177 -0
  216. package/build/logger/scrubbing/secret-scrubber.js.map +1 -0
  217. package/build/logger/writers/base-writer.d.ts +45 -0
  218. package/build/logger/writers/base-writer.d.ts.map +1 -0
  219. package/build/logger/writers/base-writer.js +41 -0
  220. package/build/logger/writers/base-writer.js.map +1 -0
  221. package/build/logger/writers/composite-writer.d.ts +83 -0
  222. package/build/logger/writers/composite-writer.d.ts.map +1 -0
  223. package/build/logger/writers/composite-writer.js +121 -0
  224. package/build/logger/writers/composite-writer.js.map +1 -0
  225. package/build/logger/writers/console-writer.d.ts +59 -0
  226. package/build/logger/writers/console-writer.d.ts.map +1 -0
  227. package/build/logger/writers/console-writer.js +73 -0
  228. package/build/logger/writers/console-writer.js.map +1 -0
  229. package/build/logger/writers/file-writer.d.ts +160 -0
  230. package/build/logger/writers/file-writer.d.ts.map +1 -0
  231. package/build/logger/writers/file-writer.js +345 -0
  232. package/build/logger/writers/file-writer.js.map +1 -0
  233. package/build/logger/writers/index.d.ts +15 -0
  234. package/build/logger/writers/index.d.ts.map +1 -0
  235. package/build/logger/writers/index.js +19 -0
  236. package/build/logger/writers/index.js.map +1 -0
  237. package/build/mcp/capabilities/apps/define-app.d.ts +68 -0
  238. package/build/mcp/capabilities/apps/define-app.d.ts.map +1 -0
  239. package/build/mcp/capabilities/apps/define-app.js +127 -0
  240. package/build/mcp/capabilities/apps/define-app.js.map +1 -0
  241. package/build/mcp/capabilities/apps/index.d.ts +10 -0
  242. package/build/mcp/capabilities/apps/index.d.ts.map +1 -0
  243. package/build/mcp/capabilities/apps/index.js +10 -0
  244. package/build/mcp/capabilities/apps/index.js.map +1 -0
  245. package/build/mcp/capabilities/capabilities.d.ts +24 -0
  246. package/build/mcp/capabilities/capabilities.d.ts.map +1 -0
  247. package/build/mcp/capabilities/capabilities.js +50 -0
  248. package/build/mcp/capabilities/capabilities.js.map +1 -0
  249. package/build/mcp/capabilities/index.d.ts +17 -0
  250. package/build/mcp/capabilities/index.d.ts.map +1 -0
  251. package/build/mcp/capabilities/index.js +20 -0
  252. package/build/mcp/capabilities/index.js.map +1 -0
  253. package/build/mcp/capabilities/prompts/define-prompt.d.ts +95 -0
  254. package/build/mcp/capabilities/prompts/define-prompt.d.ts.map +1 -0
  255. package/build/mcp/capabilities/prompts/define-prompt.js +109 -0
  256. package/build/mcp/capabilities/prompts/define-prompt.js.map +1 -0
  257. package/build/mcp/capabilities/prompts/index.d.ts +10 -0
  258. package/build/mcp/capabilities/prompts/index.d.ts.map +1 -0
  259. package/build/mcp/capabilities/prompts/index.js +10 -0
  260. package/build/mcp/capabilities/prompts/index.js.map +1 -0
  261. package/build/mcp/capabilities/registry/base-registry.d.ts +95 -0
  262. package/build/mcp/capabilities/registry/base-registry.d.ts.map +1 -0
  263. package/build/mcp/capabilities/registry/base-registry.js +149 -0
  264. package/build/mcp/capabilities/registry/base-registry.js.map +1 -0
  265. package/build/mcp/capabilities/registry/index.d.ts +16 -0
  266. package/build/mcp/capabilities/registry/index.d.ts.map +1 -0
  267. package/build/mcp/capabilities/registry/index.js +34 -0
  268. package/build/mcp/capabilities/registry/index.js.map +1 -0
  269. package/build/mcp/capabilities/registry/prompt-registry.d.ts +116 -0
  270. package/build/mcp/capabilities/registry/prompt-registry.d.ts.map +1 -0
  271. package/build/mcp/capabilities/registry/prompt-registry.js +232 -0
  272. package/build/mcp/capabilities/registry/prompt-registry.js.map +1 -0
  273. package/build/mcp/capabilities/registry/reset.d.ts +30 -0
  274. package/build/mcp/capabilities/registry/reset.d.ts.map +1 -0
  275. package/build/mcp/capabilities/registry/reset.js +48 -0
  276. package/build/mcp/capabilities/registry/reset.js.map +1 -0
  277. package/build/mcp/capabilities/registry/resource-registry.d.ts +152 -0
  278. package/build/mcp/capabilities/registry/resource-registry.d.ts.map +1 -0
  279. package/build/mcp/capabilities/registry/resource-registry.js +430 -0
  280. package/build/mcp/capabilities/registry/resource-registry.js.map +1 -0
  281. package/build/mcp/capabilities/registry/scope-enforcement.d.ts +48 -0
  282. package/build/mcp/capabilities/registry/scope-enforcement.d.ts.map +1 -0
  283. package/build/mcp/capabilities/registry/scope-enforcement.js +62 -0
  284. package/build/mcp/capabilities/registry/scope-enforcement.js.map +1 -0
  285. package/build/mcp/capabilities/registry/task-tool-registry.d.ts +96 -0
  286. package/build/mcp/capabilities/registry/task-tool-registry.d.ts.map +1 -0
  287. package/build/mcp/capabilities/registry/task-tool-registry.js +190 -0
  288. package/build/mcp/capabilities/registry/task-tool-registry.js.map +1 -0
  289. package/build/mcp/capabilities/registry/tool-registry.d.ts +100 -0
  290. package/build/mcp/capabilities/registry/tool-registry.d.ts.map +1 -0
  291. package/build/mcp/capabilities/registry/tool-registry.js +242 -0
  292. package/build/mcp/capabilities/registry/tool-registry.js.map +1 -0
  293. package/build/mcp/capabilities/resources/define-resource.d.ts +103 -0
  294. package/build/mcp/capabilities/resources/define-resource.d.ts.map +1 -0
  295. package/build/mcp/capabilities/resources/define-resource.js +137 -0
  296. package/build/mcp/capabilities/resources/define-resource.js.map +1 -0
  297. package/build/mcp/capabilities/resources/index.d.ts +10 -0
  298. package/build/mcp/capabilities/resources/index.d.ts.map +1 -0
  299. package/build/mcp/capabilities/resources/index.js +10 -0
  300. package/build/mcp/capabilities/resources/index.js.map +1 -0
  301. package/build/mcp/capabilities/server-capabilities.d.ts +33 -0
  302. package/build/mcp/capabilities/server-capabilities.d.ts.map +1 -0
  303. package/build/mcp/capabilities/server-capabilities.js +16 -0
  304. package/build/mcp/capabilities/server-capabilities.js.map +1 -0
  305. package/build/mcp/capabilities/tasks/define-task.d.ts +75 -0
  306. package/build/mcp/capabilities/tasks/define-task.d.ts.map +1 -0
  307. package/build/mcp/capabilities/tasks/define-task.js +93 -0
  308. package/build/mcp/capabilities/tasks/define-task.js.map +1 -0
  309. package/build/mcp/capabilities/tasks/index.d.ts +11 -0
  310. package/build/mcp/capabilities/tasks/index.d.ts.map +1 -0
  311. package/build/mcp/capabilities/tasks/index.js +11 -0
  312. package/build/mcp/capabilities/tasks/index.js.map +1 -0
  313. package/build/mcp/capabilities/tools/define-tool.d.ts +62 -0
  314. package/build/mcp/capabilities/tools/define-tool.d.ts.map +1 -0
  315. package/build/mcp/capabilities/tools/define-tool.js +73 -0
  316. package/build/mcp/capabilities/tools/define-tool.js.map +1 -0
  317. package/build/mcp/capabilities/tools/index.d.ts +10 -0
  318. package/build/mcp/capabilities/tools/index.d.ts.map +1 -0
  319. package/build/mcp/capabilities/tools/index.js +10 -0
  320. package/build/mcp/capabilities/tools/index.js.map +1 -0
  321. package/build/mcp/handlers/index.d.ts +19 -0
  322. package/build/mcp/handlers/index.d.ts.map +1 -0
  323. package/build/mcp/handlers/index.js +26 -0
  324. package/build/mcp/handlers/index.js.map +1 -0
  325. package/build/mcp/handlers/ping.d.ts +27 -0
  326. package/build/mcp/handlers/ping.d.ts.map +1 -0
  327. package/build/mcp/handlers/ping.js +61 -0
  328. package/build/mcp/handlers/ping.js.map +1 -0
  329. package/build/mcp/handlers/progress.d.ts +41 -0
  330. package/build/mcp/handlers/progress.d.ts.map +1 -0
  331. package/build/mcp/handlers/progress.js +79 -0
  332. package/build/mcp/handlers/progress.js.map +1 -0
  333. package/build/mcp/index.d.ts +28 -0
  334. package/build/mcp/index.d.ts.map +1 -0
  335. package/build/mcp/index.js +34 -0
  336. package/build/mcp/index.js.map +1 -0
  337. package/build/mcp/responses/helpers.d.ts +146 -0
  338. package/build/mcp/responses/helpers.d.ts.map +1 -0
  339. package/build/mcp/responses/helpers.js +197 -0
  340. package/build/mcp/responses/helpers.js.map +1 -0
  341. package/build/mcp/responses/index.d.ts +9 -0
  342. package/build/mcp/responses/index.d.ts.map +1 -0
  343. package/build/mcp/responses/index.js +12 -0
  344. package/build/mcp/responses/index.js.map +1 -0
  345. package/build/mcp/types/context.d.ts +371 -0
  346. package/build/mcp/types/context.d.ts.map +1 -0
  347. package/build/mcp/types/context.js +17 -0
  348. package/build/mcp/types/context.js.map +1 -0
  349. package/build/mcp/types/definition.d.ts +727 -0
  350. package/build/mcp/types/definition.d.ts.map +1 -0
  351. package/build/mcp/types/definition.js +29 -0
  352. package/build/mcp/types/definition.js.map +1 -0
  353. package/build/mcp/types/handler.d.ts +58 -0
  354. package/build/mcp/types/handler.d.ts.map +1 -0
  355. package/build/mcp/types/handler.js +10 -0
  356. package/build/mcp/types/handler.js.map +1 -0
  357. package/build/mcp/types/index.d.ts +21 -0
  358. package/build/mcp/types/index.d.ts.map +1 -0
  359. package/build/mcp/types/index.js +18 -0
  360. package/build/mcp/types/index.js.map +1 -0
  361. package/build/mcp/types/response.d.ts +79 -0
  362. package/build/mcp/types/response.d.ts.map +1 -0
  363. package/build/mcp/types/response.js +10 -0
  364. package/build/mcp/types/response.js.map +1 -0
  365. package/build/server/auth/auth-context.d.ts +52 -0
  366. package/build/server/auth/auth-context.d.ts.map +1 -0
  367. package/build/server/auth/auth-context.js +45 -0
  368. package/build/server/auth/auth-context.js.map +1 -0
  369. package/build/server/auth/guards.d.ts +72 -0
  370. package/build/server/auth/guards.d.ts.map +1 -0
  371. package/build/server/auth/guards.js +103 -0
  372. package/build/server/auth/guards.js.map +1 -0
  373. package/build/server/auth/index.d.ts +21 -0
  374. package/build/server/auth/index.d.ts.map +1 -0
  375. package/build/server/auth/index.js +20 -0
  376. package/build/server/auth/index.js.map +1 -0
  377. package/build/server/auth/oidc-discovery.d.ts +68 -0
  378. package/build/server/auth/oidc-discovery.d.ts.map +1 -0
  379. package/build/server/auth/oidc-discovery.js +234 -0
  380. package/build/server/auth/oidc-discovery.js.map +1 -0
  381. package/build/server/auth/oidc-provider.d.ts +96 -0
  382. package/build/server/auth/oidc-provider.d.ts.map +1 -0
  383. package/build/server/auth/oidc-provider.js +126 -0
  384. package/build/server/auth/oidc-provider.js.map +1 -0
  385. package/build/server/auth/types.d.ts +204 -0
  386. package/build/server/auth/types.d.ts.map +1 -0
  387. package/build/server/auth/types.js +29 -0
  388. package/build/server/auth/types.js.map +1 -0
  389. package/build/server/auth/upstream-provider.d.ts +161 -0
  390. package/build/server/auth/upstream-provider.d.ts.map +1 -0
  391. package/build/server/auth/upstream-provider.js +411 -0
  392. package/build/server/auth/upstream-provider.js.map +1 -0
  393. package/build/server/builder/constants.d.ts +45 -0
  394. package/build/server/builder/constants.d.ts.map +1 -0
  395. package/build/server/builder/constants.js +54 -0
  396. package/build/server/builder/constants.js.map +1 -0
  397. package/build/server/builder/index.d.ts +24 -0
  398. package/build/server/builder/index.d.ts.map +1 -0
  399. package/build/server/builder/index.js +25 -0
  400. package/build/server/builder/index.js.map +1 -0
  401. package/build/server/builder/primitive-collector.d.ts +24 -0
  402. package/build/server/builder/primitive-collector.d.ts.map +1 -0
  403. package/build/server/builder/primitive-collector.js +89 -0
  404. package/build/server/builder/primitive-collector.js.map +1 -0
  405. package/build/server/builder/server-builder.d.ts +53 -0
  406. package/build/server/builder/server-builder.d.ts.map +1 -0
  407. package/build/server/builder/server-builder.js +132 -0
  408. package/build/server/builder/server-builder.js.map +1 -0
  409. package/build/server/builder/types.d.ts +93 -0
  410. package/build/server/builder/types.d.ts.map +1 -0
  411. package/build/server/builder/types.js +25 -0
  412. package/build/server/builder/types.js.map +1 -0
  413. package/build/server/builder/validation.d.ts +36 -0
  414. package/build/server/builder/validation.d.ts.map +1 -0
  415. package/build/server/builder/validation.js +44 -0
  416. package/build/server/builder/validation.js.map +1 -0
  417. package/build/server/create-server.d.ts +57 -0
  418. package/build/server/create-server.d.ts.map +1 -0
  419. package/build/server/create-server.js +104 -0
  420. package/build/server/create-server.js.map +1 -0
  421. package/build/server/http/express-app.d.ts +103 -0
  422. package/build/server/http/express-app.d.ts.map +1 -0
  423. package/build/server/http/express-app.js +391 -0
  424. package/build/server/http/express-app.js.map +1 -0
  425. package/build/server/http/http-server.d.ts +67 -0
  426. package/build/server/http/http-server.d.ts.map +1 -0
  427. package/build/server/http/http-server.js +188 -0
  428. package/build/server/http/http-server.js.map +1 -0
  429. package/build/server/http/http-transport.d.ts +33 -0
  430. package/build/server/http/http-transport.d.ts.map +1 -0
  431. package/build/server/http/http-transport.js +84 -0
  432. package/build/server/http/http-transport.js.map +1 -0
  433. package/build/server/http/index.d.ts +15 -0
  434. package/build/server/http/index.d.ts.map +1 -0
  435. package/build/server/http/index.js +11 -0
  436. package/build/server/http/index.js.map +1 -0
  437. package/build/server/index.d.ts +25 -0
  438. package/build/server/index.d.ts.map +1 -0
  439. package/build/server/index.js +41 -0
  440. package/build/server/index.js.map +1 -0
  441. package/build/server/lifecycle.d.ts +114 -0
  442. package/build/server/lifecycle.d.ts.map +1 -0
  443. package/build/server/lifecycle.js +30 -0
  444. package/build/server/lifecycle.js.map +1 -0
  445. package/build/server/middleware/bearer-auth.d.ts +43 -0
  446. package/build/server/middleware/bearer-auth.d.ts.map +1 -0
  447. package/build/server/middleware/bearer-auth.js +75 -0
  448. package/build/server/middleware/bearer-auth.js.map +1 -0
  449. package/build/server/middleware/custom-header-auth.d.ts +40 -0
  450. package/build/server/middleware/custom-header-auth.d.ts.map +1 -0
  451. package/build/server/middleware/custom-header-auth.js +90 -0
  452. package/build/server/middleware/custom-header-auth.js.map +1 -0
  453. package/build/server/middleware/dns-rebinding.d.ts +25 -0
  454. package/build/server/middleware/dns-rebinding.d.ts.map +1 -0
  455. package/build/server/middleware/dns-rebinding.js +94 -0
  456. package/build/server/middleware/dns-rebinding.js.map +1 -0
  457. package/build/server/middleware/index.d.ts +69 -0
  458. package/build/server/middleware/index.d.ts.map +1 -0
  459. package/build/server/middleware/index.js +68 -0
  460. package/build/server/middleware/index.js.map +1 -0
  461. package/build/server/middleware/logging.d.ts +21 -0
  462. package/build/server/middleware/logging.d.ts.map +1 -0
  463. package/build/server/middleware/logging.js +36 -0
  464. package/build/server/middleware/logging.js.map +1 -0
  465. package/build/server/middleware/oauth-router.d.ts +50 -0
  466. package/build/server/middleware/oauth-router.d.ts.map +1 -0
  467. package/build/server/middleware/oauth-router.js +53 -0
  468. package/build/server/middleware/oauth-router.js.map +1 -0
  469. package/build/server/middleware/protocol-version.d.ts +13 -0
  470. package/build/server/middleware/protocol-version.d.ts.map +1 -0
  471. package/build/server/middleware/protocol-version.js +48 -0
  472. package/build/server/middleware/protocol-version.js.map +1 -0
  473. package/build/server/middleware/rate-limit.d.ts +47 -0
  474. package/build/server/middleware/rate-limit.d.ts.map +1 -0
  475. package/build/server/middleware/rate-limit.js +109 -0
  476. package/build/server/middleware/rate-limit.js.map +1 -0
  477. package/build/server/middleware/trust-proxy.d.ts +37 -0
  478. package/build/server/middleware/trust-proxy.d.ts.map +1 -0
  479. package/build/server/middleware/trust-proxy.js +154 -0
  480. package/build/server/middleware/trust-proxy.js.map +1 -0
  481. package/build/server/option-overrides.d.ts +25 -0
  482. package/build/server/option-overrides.d.ts.map +1 -0
  483. package/build/server/option-overrides.js +85 -0
  484. package/build/server/option-overrides.js.map +1 -0
  485. package/build/server/routes/health.d.ts +87 -0
  486. package/build/server/routes/health.d.ts.map +1 -0
  487. package/build/server/routes/health.js +183 -0
  488. package/build/server/routes/health.js.map +1 -0
  489. package/build/server/routes/index.d.ts +16 -0
  490. package/build/server/routes/index.d.ts.map +1 -0
  491. package/build/server/routes/index.js +18 -0
  492. package/build/server/routes/index.js.map +1 -0
  493. package/build/server/routes/metrics.d.ts +40 -0
  494. package/build/server/routes/metrics.d.ts.map +1 -0
  495. package/build/server/routes/metrics.js +81 -0
  496. package/build/server/routes/metrics.js.map +1 -0
  497. package/build/server/routes/oauth-router.d.ts +50 -0
  498. package/build/server/routes/oauth-router.d.ts.map +1 -0
  499. package/build/server/routes/oauth-router.js +53 -0
  500. package/build/server/routes/oauth-router.js.map +1 -0
  501. package/build/server/routes/readiness-status.d.ts +25 -0
  502. package/build/server/routes/readiness-status.d.ts.map +1 -0
  503. package/build/server/routes/readiness-status.js +27 -0
  504. package/build/server/routes/readiness-status.js.map +1 -0
  505. package/build/server/routes/sse-router.d.ts +43 -0
  506. package/build/server/routes/sse-router.d.ts.map +1 -0
  507. package/build/server/routes/sse-router.js +92 -0
  508. package/build/server/routes/sse-router.js.map +1 -0
  509. package/build/server/routes/streamable-http-router.d.ts +36 -0
  510. package/build/server/routes/streamable-http-router.d.ts.map +1 -0
  511. package/build/server/routes/streamable-http-router.js +59 -0
  512. package/build/server/routes/streamable-http-router.js.map +1 -0
  513. package/build/server/server-instance.d.ts +185 -0
  514. package/build/server/server-instance.d.ts.map +1 -0
  515. package/build/server/server-instance.js +615 -0
  516. package/build/server/server-instance.js.map +1 -0
  517. package/build/server/server-options.d.ts +411 -0
  518. package/build/server/server-options.d.ts.map +1 -0
  519. package/build/server/server-options.js +17 -0
  520. package/build/server/server-options.js.map +1 -0
  521. package/build/server/session/in-memory-store.d.ts +128 -0
  522. package/build/server/session/in-memory-store.d.ts.map +1 -0
  523. package/build/server/session/in-memory-store.js +312 -0
  524. package/build/server/session/in-memory-store.js.map +1 -0
  525. package/build/server/session/index.d.ts +43 -0
  526. package/build/server/session/index.d.ts.map +1 -0
  527. package/build/server/session/index.js +47 -0
  528. package/build/server/session/index.js.map +1 -0
  529. package/build/server/session/mcp-session.d.ts +210 -0
  530. package/build/server/session/mcp-session.d.ts.map +1 -0
  531. package/build/server/session/mcp-session.js +428 -0
  532. package/build/server/session/mcp-session.js.map +1 -0
  533. package/build/server/session/session-factory.d.ts +119 -0
  534. package/build/server/session/session-factory.d.ts.map +1 -0
  535. package/build/server/session/session-factory.js +131 -0
  536. package/build/server/session/session-factory.js.map +1 -0
  537. package/build/server/session/session-housekeeper.d.ts +100 -0
  538. package/build/server/session/session-housekeeper.d.ts.map +1 -0
  539. package/build/server/session/session-housekeeper.js +217 -0
  540. package/build/server/session/session-housekeeper.js.map +1 -0
  541. package/build/server/session/session-manager.d.ts +227 -0
  542. package/build/server/session/session-manager.d.ts.map +1 -0
  543. package/build/server/session/session-manager.js +282 -0
  544. package/build/server/session/session-manager.js.map +1 -0
  545. package/build/server/session/session-store.d.ts +95 -0
  546. package/build/server/session/session-store.d.ts.map +1 -0
  547. package/build/server/session/session-store.js +13 -0
  548. package/build/server/session/session-store.js.map +1 -0
  549. package/build/server/session/session.d.ts +132 -0
  550. package/build/server/session/session.d.ts.map +1 -0
  551. package/build/server/session/session.js +61 -0
  552. package/build/server/session/session.js.map +1 -0
  553. package/build/server/transport/constants.d.ts +85 -0
  554. package/build/server/transport/constants.d.ts.map +1 -0
  555. package/build/server/transport/constants.js +103 -0
  556. package/build/server/transport/constants.js.map +1 -0
  557. package/build/server/transport/index.d.ts +21 -0
  558. package/build/server/transport/index.d.ts.map +1 -0
  559. package/build/server/transport/index.js +28 -0
  560. package/build/server/transport/index.js.map +1 -0
  561. package/build/server/transport/sse/handler.d.ts +46 -0
  562. package/build/server/transport/sse/handler.d.ts.map +1 -0
  563. package/build/server/transport/sse/handler.js +189 -0
  564. package/build/server/transport/sse/handler.js.map +1 -0
  565. package/build/server/transport/sse/index.d.ts +15 -0
  566. package/build/server/transport/sse/index.d.ts.map +1 -0
  567. package/build/server/transport/sse/index.js +14 -0
  568. package/build/server/transport/sse/index.js.map +1 -0
  569. package/build/server/transport/sse/transport.d.ts +94 -0
  570. package/build/server/transport/sse/transport.d.ts.map +1 -0
  571. package/build/server/transport/sse/transport.js +175 -0
  572. package/build/server/transport/sse/transport.js.map +1 -0
  573. package/build/server/transport/stdio-transport.d.ts +23 -0
  574. package/build/server/transport/stdio-transport.d.ts.map +1 -0
  575. package/build/server/transport/stdio-transport.js +59 -0
  576. package/build/server/transport/stdio-transport.js.map +1 -0
  577. package/build/server/transport/streamable-http/index.d.ts +9 -0
  578. package/build/server/transport/streamable-http/index.d.ts.map +1 -0
  579. package/build/server/transport/streamable-http/index.js +9 -0
  580. package/build/server/transport/streamable-http/index.js.map +1 -0
  581. package/build/server/transport/streamable-http/stateful-handler.d.ts +41 -0
  582. package/build/server/transport/streamable-http/stateful-handler.d.ts.map +1 -0
  583. package/build/server/transport/streamable-http/stateful-handler.js +264 -0
  584. package/build/server/transport/streamable-http/stateful-handler.js.map +1 -0
  585. package/build/server/transport/streamable-http/stateless-handler.d.ts +28 -0
  586. package/build/server/transport/streamable-http/stateless-handler.d.ts.map +1 -0
  587. package/build/server/transport/streamable-http/stateless-handler.js +81 -0
  588. package/build/server/transport/streamable-http/stateless-handler.js.map +1 -0
  589. package/build/server/transport/streamable-http/transport.d.ts +110 -0
  590. package/build/server/transport/streamable-http/transport.d.ts.map +1 -0
  591. package/build/server/transport/streamable-http/transport.js +118 -0
  592. package/build/server/transport/streamable-http/transport.js.map +1 -0
  593. package/build/server/transport/transport-context.d.ts +67 -0
  594. package/build/server/transport/transport-context.d.ts.map +1 -0
  595. package/build/server/transport/transport-context.js +38 -0
  596. package/build/server/transport/transport-context.js.map +1 -0
  597. package/build/server/transport/types.d.ts +56 -0
  598. package/build/server/transport/types.d.ts.map +1 -0
  599. package/build/server/transport/types.js +11 -0
  600. package/build/server/transport/types.js.map +1 -0
  601. package/build/server/transport-options.d.ts +248 -0
  602. package/build/server/transport-options.d.ts.map +1 -0
  603. package/build/server/transport-options.js +18 -0
  604. package/build/server/transport-options.js.map +1 -0
  605. package/build/server/types.d.ts +172 -0
  606. package/build/server/types.d.ts.map +1 -0
  607. package/build/server/types.js +9 -0
  608. package/build/server/types.js.map +1 -0
  609. package/build/telemetry/connection-telemetry-bridge.d.ts +30 -0
  610. package/build/telemetry/connection-telemetry-bridge.d.ts.map +1 -0
  611. package/build/telemetry/connection-telemetry-bridge.js +54 -0
  612. package/build/telemetry/connection-telemetry-bridge.js.map +1 -0
  613. package/build/telemetry/core/config.d.ts +38 -0
  614. package/build/telemetry/core/config.d.ts.map +1 -0
  615. package/build/telemetry/core/config.js +54 -0
  616. package/build/telemetry/core/config.js.map +1 -0
  617. package/build/telemetry/core/constants.d.ts +183 -0
  618. package/build/telemetry/core/constants.d.ts.map +1 -0
  619. package/build/telemetry/core/constants.js +207 -0
  620. package/build/telemetry/core/constants.js.map +1 -0
  621. package/build/telemetry/core/diag-logger.d.ts +35 -0
  622. package/build/telemetry/core/diag-logger.d.ts.map +1 -0
  623. package/build/telemetry/core/diag-logger.js +54 -0
  624. package/build/telemetry/core/diag-logger.js.map +1 -0
  625. package/build/telemetry/core/index.d.ts +12 -0
  626. package/build/telemetry/core/index.d.ts.map +1 -0
  627. package/build/telemetry/core/index.js +32 -0
  628. package/build/telemetry/core/index.js.map +1 -0
  629. package/build/telemetry/core/types.d.ts +106 -0
  630. package/build/telemetry/core/types.d.ts.map +1 -0
  631. package/build/telemetry/core/types.js +10 -0
  632. package/build/telemetry/core/types.js.map +1 -0
  633. package/build/telemetry/index.d.ts +59 -0
  634. package/build/telemetry/index.d.ts.map +1 -0
  635. package/build/telemetry/index.js +79 -0
  636. package/build/telemetry/index.js.map +1 -0
  637. package/build/telemetry/metrics.d.ts +127 -0
  638. package/build/telemetry/metrics.d.ts.map +1 -0
  639. package/build/telemetry/metrics.js +337 -0
  640. package/build/telemetry/metrics.js.map +1 -0
  641. package/build/telemetry/sdk.d.ts +110 -0
  642. package/build/telemetry/sdk.d.ts.map +1 -0
  643. package/build/telemetry/sdk.js +547 -0
  644. package/build/telemetry/sdk.js.map +1 -0
  645. package/build/telemetry/tracing.d.ts +78 -0
  646. package/build/telemetry/tracing.d.ts.map +1 -0
  647. package/build/telemetry/tracing.js +257 -0
  648. package/build/telemetry/tracing.js.map +1 -0
  649. package/build/utils/env-helpers.d.ts +46 -0
  650. package/build/utils/env-helpers.d.ts.map +1 -0
  651. package/build/utils/env-helpers.js +54 -0
  652. package/build/utils/env-helpers.js.map +1 -0
  653. package/build/utils/index.d.ts +14 -0
  654. package/build/utils/index.d.ts.map +1 -0
  655. package/build/utils/index.js +19 -0
  656. package/build/utils/index.js.map +1 -0
  657. package/build/utils/sensitive-keys.d.ts +48 -0
  658. package/build/utils/sensitive-keys.d.ts.map +1 -0
  659. package/build/utils/sensitive-keys.js +131 -0
  660. package/build/utils/sensitive-keys.js.map +1 -0
  661. package/build/utils/string-helpers.d.ts +126 -0
  662. package/build/utils/string-helpers.d.ts.map +1 -0
  663. package/build/utils/string-helpers.js +189 -0
  664. package/build/utils/string-helpers.js.map +1 -0
  665. package/build/utils/validation.d.ts +84 -0
  666. package/build/utils/validation.d.ts.map +1 -0
  667. package/build/utils/validation.js +111 -0
  668. package/build/utils/validation.js.map +1 -0
  669. package/build/utils/zod-helpers.d.ts +92 -0
  670. package/build/utils/zod-helpers.d.ts.map +1 -0
  671. package/build/utils/zod-helpers.js +120 -0
  672. package/build/utils/zod-helpers.js.map +1 -0
  673. package/package.json +133 -0
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Task Tool Definition Factory
3
+ *
4
+ * Provides the defineTask() factory function for defining MCP task tools.
5
+ * Task tools enable long-running, asynchronous tool execution with a
6
+ * create → poll → result lifecycle.
7
+ *
8
+ * Tools defined with this function are automatically registered in the
9
+ * global task tool registry and discovered by `createServer()`.
10
+ *
11
+ * @experimental MCP Tasks is an experimental SDK feature
12
+ * @module mcp/capabilities/tasks/define-task
13
+ */
14
+ import type { z } from "zod";
15
+ import type { TaskToolDefinition } from "../../types/index.js";
16
+ /**
17
+ * Define a task tool with automatic registration.
18
+ *
19
+ * Task tools support long-running operations via the MCP Tasks protocol.
20
+ * Instead of blocking until completion, the client receives a task ID and
21
+ * can poll for status updates and results.
22
+ *
23
+ * The tool is automatically registered in the global task tool registry.
24
+ * The framework uses the SDK's `experimental.tasks.registerToolTask()` internally.
25
+ *
26
+ * @typeParam TInput - Zod schema type (inferred)
27
+ *
28
+ * @param definition - Task tool definition with name, description, input schema, and task handler
29
+ * @returns The registered task tool definition (for re-export and type inference)
30
+ *
31
+ * @experimental MCP Tasks is an experimental SDK feature
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * import { defineTask, text, z } from 'mcp-server-framework';
36
+ *
37
+ * export const longComputation = defineTask({
38
+ * name: 'long_computation',
39
+ * description: 'Perform a long-running computation',
40
+ * input: z.object({ data: z.string() }),
41
+ * taskSupport: 'required',
42
+ * taskHandler: {
43
+ * createTask: async (args, ctx) => {
44
+ * const task = await ctx.taskStore.createTask({ ttl: 300_000 });
45
+ * startBackgroundWork(task.taskId, args);
46
+ * return { task };
47
+ * },
48
+ * getTask: async (_args, ctx) => ctx.taskStore.getTask(ctx.taskId),
49
+ * getTaskResult: async (_args, ctx) => ctx.taskStore.getTaskResult(ctx.taskId),
50
+ * },
51
+ * });
52
+ * ```
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * // Optional task support — tool can be called normally OR as a task
57
+ * export const flexibleTool = defineTask({
58
+ * name: 'flexible_process',
59
+ * description: 'Process that supports both sync and async execution',
60
+ * input: z.object({ items: z.array(z.string()) }),
61
+ * taskSupport: 'optional',
62
+ * taskHandler: {
63
+ * createTask: async (args, ctx) => {
64
+ * const task = await ctx.taskStore.createTask({});
65
+ * processInBackground(task.taskId, args);
66
+ * return { task };
67
+ * },
68
+ * getTask: async (_args, ctx) => ctx.taskStore.getTask(ctx.taskId),
69
+ * getTaskResult: async (_args, ctx) => ctx.taskStore.getTaskResult(ctx.taskId),
70
+ * },
71
+ * });
72
+ * ```
73
+ */
74
+ export declare function defineTask<TInput extends z.ZodTypeAny>(definition: TaskToolDefinition<TInput>): TaskToolDefinition<TInput>;
75
+ //# sourceMappingURL=define-task.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-task.d.ts","sourceRoot":"","sources":["../../../../src/mcp/capabilities/tasks/define-task.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAc/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,wBAAgB,UAAU,CAAC,MAAM,SAAS,CAAC,CAAC,UAAU,EACpD,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC,GACrC,kBAAkB,CAAC,MAAM,CAAC,CAmB5B"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Task Tool Definition Factory
3
+ *
4
+ * Provides the defineTask() factory function for defining MCP task tools.
5
+ * Task tools enable long-running, asynchronous tool execution with a
6
+ * create → poll → result lifecycle.
7
+ *
8
+ * Tools defined with this function are automatically registered in the
9
+ * global task tool registry and discovered by `createServer()`.
10
+ *
11
+ * @experimental MCP Tasks is an experimental SDK feature
12
+ * @module mcp/capabilities/tasks/define-task
13
+ */
14
+ import { globalTaskToolRegistry } from "../registry/index.js";
15
+ import { validateDefinitionBase, validateFunction, validateZodSchema, validateObject, validateEnum, } from "../../../utils/index.js";
16
+ // ============================================================================
17
+ // Factory Function
18
+ // ============================================================================
19
+ /**
20
+ * Define a task tool with automatic registration.
21
+ *
22
+ * Task tools support long-running operations via the MCP Tasks protocol.
23
+ * Instead of blocking until completion, the client receives a task ID and
24
+ * can poll for status updates and results.
25
+ *
26
+ * The tool is automatically registered in the global task tool registry.
27
+ * The framework uses the SDK's `experimental.tasks.registerToolTask()` internally.
28
+ *
29
+ * @typeParam TInput - Zod schema type (inferred)
30
+ *
31
+ * @param definition - Task tool definition with name, description, input schema, and task handler
32
+ * @returns The registered task tool definition (for re-export and type inference)
33
+ *
34
+ * @experimental MCP Tasks is an experimental SDK feature
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * import { defineTask, text, z } from 'mcp-server-framework';
39
+ *
40
+ * export const longComputation = defineTask({
41
+ * name: 'long_computation',
42
+ * description: 'Perform a long-running computation',
43
+ * input: z.object({ data: z.string() }),
44
+ * taskSupport: 'required',
45
+ * taskHandler: {
46
+ * createTask: async (args, ctx) => {
47
+ * const task = await ctx.taskStore.createTask({ ttl: 300_000 });
48
+ * startBackgroundWork(task.taskId, args);
49
+ * return { task };
50
+ * },
51
+ * getTask: async (_args, ctx) => ctx.taskStore.getTask(ctx.taskId),
52
+ * getTaskResult: async (_args, ctx) => ctx.taskStore.getTaskResult(ctx.taskId),
53
+ * },
54
+ * });
55
+ * ```
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * // Optional task support — tool can be called normally OR as a task
60
+ * export const flexibleTool = defineTask({
61
+ * name: 'flexible_process',
62
+ * description: 'Process that supports both sync and async execution',
63
+ * input: z.object({ items: z.array(z.string()) }),
64
+ * taskSupport: 'optional',
65
+ * taskHandler: {
66
+ * createTask: async (args, ctx) => {
67
+ * const task = await ctx.taskStore.createTask({});
68
+ * processInBackground(task.taskId, args);
69
+ * return { task };
70
+ * },
71
+ * getTask: async (_args, ctx) => ctx.taskStore.getTask(ctx.taskId),
72
+ * getTaskResult: async (_args, ctx) => ctx.taskStore.getTaskResult(ctx.taskId),
73
+ * },
74
+ * });
75
+ * ```
76
+ */
77
+ export function defineTask(definition) {
78
+ // Validate required fields
79
+ validateDefinitionBase(definition, "TaskTool");
80
+ validateZodSchema(definition.input, "TaskTool", "input");
81
+ // Validate task handler object and its methods
82
+ validateObject(definition.taskHandler, "TaskTool", "taskHandler");
83
+ validateFunction(definition.taskHandler.createTask, "TaskTool", "taskHandler.createTask");
84
+ validateFunction(definition.taskHandler.getTask, "TaskTool", "taskHandler.getTask");
85
+ validateFunction(definition.taskHandler.getTaskResult, "TaskTool", "taskHandler.getTaskResult");
86
+ // Validate taskSupport value (defaults to 'required')
87
+ const taskSupport = definition.taskSupport ?? "required";
88
+ validateEnum(taskSupport, ["optional", "required"], "TaskTool", "taskSupport");
89
+ // Auto-register in global task tool registry
90
+ globalTaskToolRegistry.registerFromFactory(definition);
91
+ return definition;
92
+ }
93
+ //# sourceMappingURL=define-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-task.js","sourceRoot":"","sources":["../../../../src/mcp/capabilities/tasks/define-task.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,YAAY,GACb,MAAM,yBAAyB,CAAC;AAEjC,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,MAAM,UAAU,UAAU,CACxB,UAAsC;IAEtC,2BAA2B;IAC3B,sBAAsB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC/C,iBAAiB,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAEzD,+CAA+C;IAC/C,cAAc,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IAClE,gBAAgB,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,wBAAwB,CAAC,CAAC;IAC1F,gBAAgB,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;IACpF,gBAAgB,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,EAAE,UAAU,EAAE,2BAA2B,CAAC,CAAC;IAEhG,sDAAsD;IACtD,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC;IACzD,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IAE/E,6CAA6C;IAC7C,sBAAsB,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAEvD,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * MCP Task Tools Module
3
+ *
4
+ * Provides the defineTask() factory for creating MCP task tools
5
+ * (tools with asynchronous execution support).
6
+ *
7
+ * @experimental MCP Tasks is an experimental SDK feature
8
+ * @module mcp/capabilities/tasks
9
+ */
10
+ export { defineTask } from "./define-task.js";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp/capabilities/tasks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * MCP Task Tools Module
3
+ *
4
+ * Provides the defineTask() factory for creating MCP task tools
5
+ * (tools with asynchronous execution support).
6
+ *
7
+ * @experimental MCP Tasks is an experimental SDK feature
8
+ * @module mcp/capabilities/tasks
9
+ */
10
+ export { defineTask } from "./define-task.js";
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp/capabilities/tasks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Tool Definition Factory
3
+ *
4
+ * Provides the defineTool() factory function for zero-boilerplate tool registration.
5
+ * Tools defined with this function are automatically registered in a global registry.
6
+ *
7
+ * @module mcp/capabilities/tools/define-tool
8
+ */
9
+ import type { z } from "zod";
10
+ import type { ToolDefinition } from "../../types/index.js";
11
+ /**
12
+ * Define a tool with automatic registration.
13
+ *
14
+ * This is the recommended way to define tools in the framework.
15
+ * The tool is automatically registered in the global registry when defined.
16
+ *
17
+ * @typeParam TInput - Zod schema type (inferred)
18
+ *
19
+ * @param definition - Tool definition with name, description, input schema, and handler
20
+ * @returns The registered tool definition (for re-export and type inference)
21
+ *
22
+ * **Important**: Call `defineTool()` at module scope (top-level). The tool is
23
+ * registered as a side-effect of module import. For conditional or runtime
24
+ * tool management, use `McpServerBuilder` with a custom `ToolProvider`.
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * // tools/greet.ts
29
+ * import { defineTool, text } from 'mcp-server-framework';
30
+ * import { z } from 'zod';
31
+ *
32
+ * export const greetTool = defineTool({
33
+ * name: 'greet',
34
+ * description: 'Greet a user by name',
35
+ * input: z.object({
36
+ * name: z.string().describe('The name to greet'),
37
+ * }),
38
+ * handler: async ({ name }) => text(`Hello, ${name}!`),
39
+ * });
40
+ * ```
41
+ *
42
+ * @example
43
+ * ```typescript
44
+ * // tools/items.ts - With annotations and external API client
45
+ * import { defineTool, json } from 'mcp-server-framework';
46
+ * import { z } from 'zod';
47
+ * import { apiClient } from '../api/client.js';
48
+ *
49
+ * export const listItems = defineTool({
50
+ * name: 'list_items',
51
+ * description: 'List all items',
52
+ * input: z.object({ category: z.string() }),
53
+ * annotations: { readOnlyHint: true, openWorldHint: true },
54
+ * handler: async ({ category }) => {
55
+ * const items = await apiClient.items.list(category);
56
+ * return json(items);
57
+ * },
58
+ * });
59
+ * ```
60
+ */
61
+ export declare function defineTool<TInput extends z.ZodTypeAny>(definition: ToolDefinition<TInput>): ToolDefinition<TInput>;
62
+ //# sourceMappingURL=define-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp/capabilities/tools/define-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAQ3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAgB,UAAU,CAAC,MAAM,SAAS,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAUlH"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Tool Definition Factory
3
+ *
4
+ * Provides the defineTool() factory function for zero-boilerplate tool registration.
5
+ * Tools defined with this function are automatically registered in a global registry.
6
+ *
7
+ * @module mcp/capabilities/tools/define-tool
8
+ */
9
+ import { globalToolRegistry } from "../registry/index.js";
10
+ import { validateDefinitionBase, validateFunction, validateZodSchema } from "../../../utils/index.js";
11
+ // ============================================================================
12
+ // Factory Function
13
+ // ============================================================================
14
+ /**
15
+ * Define a tool with automatic registration.
16
+ *
17
+ * This is the recommended way to define tools in the framework.
18
+ * The tool is automatically registered in the global registry when defined.
19
+ *
20
+ * @typeParam TInput - Zod schema type (inferred)
21
+ *
22
+ * @param definition - Tool definition with name, description, input schema, and handler
23
+ * @returns The registered tool definition (for re-export and type inference)
24
+ *
25
+ * **Important**: Call `defineTool()` at module scope (top-level). The tool is
26
+ * registered as a side-effect of module import. For conditional or runtime
27
+ * tool management, use `McpServerBuilder` with a custom `ToolProvider`.
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * // tools/greet.ts
32
+ * import { defineTool, text } from 'mcp-server-framework';
33
+ * import { z } from 'zod';
34
+ *
35
+ * export const greetTool = defineTool({
36
+ * name: 'greet',
37
+ * description: 'Greet a user by name',
38
+ * input: z.object({
39
+ * name: z.string().describe('The name to greet'),
40
+ * }),
41
+ * handler: async ({ name }) => text(`Hello, ${name}!`),
42
+ * });
43
+ * ```
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * // tools/items.ts - With annotations and external API client
48
+ * import { defineTool, json } from 'mcp-server-framework';
49
+ * import { z } from 'zod';
50
+ * import { apiClient } from '../api/client.js';
51
+ *
52
+ * export const listItems = defineTool({
53
+ * name: 'list_items',
54
+ * description: 'List all items',
55
+ * input: z.object({ category: z.string() }),
56
+ * annotations: { readOnlyHint: true, openWorldHint: true },
57
+ * handler: async ({ category }) => {
58
+ * const items = await apiClient.items.list(category);
59
+ * return json(items);
60
+ * },
61
+ * });
62
+ * ```
63
+ */
64
+ export function defineTool(definition) {
65
+ // Validate required fields (safety net for JS consumers and empty strings)
66
+ validateDefinitionBase(definition, "Tool");
67
+ validateZodSchema(definition.input, "Tool", "input");
68
+ validateFunction(definition.handler, "Tool", "handler");
69
+ // Auto-register in global registry (variance handled by registry)
70
+ globalToolRegistry.registerFromFactory(definition);
71
+ return definition;
72
+ }
73
+ //# sourceMappingURL=define-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-tool.js","sourceRoot":"","sources":["../../../../src/mcp/capabilities/tools/define-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEtG,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,MAAM,UAAU,UAAU,CAA8B,UAAkC;IACxF,2EAA2E;IAC3E,sBAAsB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC3C,iBAAiB,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,gBAAgB,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAExD,kEAAkE;IAClE,kBAAkB,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAEnD,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Tools Module
3
+ *
4
+ * Exports the tool definition factory for zero-boilerplate registration.
5
+ * Types should be imported directly from `mcp/types/`.
6
+ *
7
+ * @module mcp/capabilities/tools
8
+ */
9
+ export { defineTool } from "./define-tool.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp/capabilities/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Tools Module
3
+ *
4
+ * Exports the tool definition factory for zero-boilerplate registration.
5
+ * Types should be imported directly from `mcp/types/`.
6
+ *
7
+ * @module mcp/capabilities/tools
8
+ */
9
+ export { defineTool } from "./define-tool.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp/capabilities/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * MCP Protocol Handlers Module
3
+ *
4
+ * Setup functions for MCP protocol request/notification handlers.
5
+ *
6
+ * - **Ping Handler**: Responds to client liveness checks
7
+ * - **Progress Reporter**: Rate-limited progress notifications
8
+ *
9
+ * Cancellation is handled natively by the MCP SDK's Protocol layer.
10
+ * The SDK creates per-request AbortControllers and automatically aborts
11
+ * them when `notifications/cancelled` is received. No custom handler needed.
12
+ *
13
+ * @see https://modelcontextprotocol.io/specification/2025-11-25/basic/utilities/ping
14
+ * @see https://modelcontextprotocol.io/specification/2025-11-25/basic/utilities/cancellation
15
+ * @module mcp/handlers
16
+ */
17
+ export { setupPingHandler } from "./ping.js";
18
+ export { createProgressReporter } from "./progress.js";
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAM7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * MCP Protocol Handlers Module
3
+ *
4
+ * Setup functions for MCP protocol request/notification handlers.
5
+ *
6
+ * - **Ping Handler**: Responds to client liveness checks
7
+ * - **Progress Reporter**: Rate-limited progress notifications
8
+ *
9
+ * Cancellation is handled natively by the MCP SDK's Protocol layer.
10
+ * The SDK creates per-request AbortControllers and automatically aborts
11
+ * them when `notifications/cancelled` is received. No custom handler needed.
12
+ *
13
+ * @see https://modelcontextprotocol.io/specification/2025-11-25/basic/utilities/ping
14
+ * @see https://modelcontextprotocol.io/specification/2025-11-25/basic/utilities/cancellation
15
+ * @module mcp/handlers
16
+ */
17
+ // ============================================================================
18
+ // Handler Setup Functions
19
+ // @internal Used by McpSession during initialization
20
+ // ============================================================================
21
+ export { setupPingHandler } from "./ping.js";
22
+ // ============================================================================
23
+ // Progress Utilities
24
+ // ============================================================================
25
+ export { createProgressReporter } from "./progress.js";
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/handlers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,+EAA+E;AAC/E,0BAA0B;AAC1B,qDAAqD;AACrD,+EAA+E;AAE/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Ping Handler
3
+ *
4
+ * Handles ping/pong liveness checks per MCP Specification.
5
+ *
6
+ * Per MCP Spec:
7
+ * - Ping is a standard request that servers SHOULD respond to
8
+ * - Response is an empty object
9
+ * - Used for connection health checks
10
+ *
11
+ * @see https://modelcontextprotocol.io/specification/2025-11-25/basic/utilities/ping
12
+ * @module mcp/handlers/ping
13
+ */
14
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
15
+ import type { PingHandler } from "../types/index.js";
16
+ /**
17
+ * Sets up the ping request handler.
18
+ *
19
+ * Registers a handler that responds to ping requests with an empty object
20
+ * and optionally invokes a custom handler for app-specific logic.
21
+ *
22
+ * @internal Called by McpSession during initialization.
23
+ * @param server - The McpServer instance
24
+ * @param onPing - Optional custom handler for app logic (metrics, health tracking, etc.)
25
+ */
26
+ export declare function setupPingHandler(server: McpServer, onPing?: PingHandler): void;
27
+ //# sourceMappingURL=ping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ping.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/ping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAqBrD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAuB9E"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Ping Handler
3
+ *
4
+ * Handles ping/pong liveness checks per MCP Specification.
5
+ *
6
+ * Per MCP Spec:
7
+ * - Ping is a standard request that servers SHOULD respond to
8
+ * - Response is an empty object
9
+ * - Used for connection health checks
10
+ *
11
+ * @see https://modelcontextprotocol.io/specification/2025-11-25/basic/utilities/ping
12
+ * @module mcp/handlers/ping
13
+ */
14
+ import { PingRequestSchema } from "@modelcontextprotocol/sdk/types.js";
15
+ import { logger as baseLogger, mcpLogger } from "../../logger/index.js";
16
+ // ============================================================================
17
+ // Constants
18
+ // ============================================================================
19
+ const LOG_COMPONENT = "ping";
20
+ /** @internal Log messages used by the ping handler. */
21
+ const LogMessages = {
22
+ PONG_SENT: "🏓 pong",
23
+ PING_RECEIVED: "Received ping, sent pong",
24
+ HANDLER_REGISTERED: "%s handler registered",
25
+ };
26
+ const logger = baseLogger.child({ component: LOG_COMPONENT });
27
+ // ============================================================================
28
+ // Handler Implementation
29
+ // ============================================================================
30
+ /**
31
+ * Sets up the ping request handler.
32
+ *
33
+ * Registers a handler that responds to ping requests with an empty object
34
+ * and optionally invokes a custom handler for app-specific logic.
35
+ *
36
+ * @internal Called by McpSession during initialization.
37
+ * @param server - The McpServer instance
38
+ * @param onPing - Optional custom handler for app logic (metrics, health tracking, etc.)
39
+ */
40
+ export function setupPingHandler(server, onPing) {
41
+ server.server.setRequestHandler(PingRequestSchema, async () => {
42
+ // Call custom handler if defined (fire-and-forget, errors logged)
43
+ if (onPing) {
44
+ try {
45
+ await Promise.resolve(onPing());
46
+ }
47
+ catch (err) {
48
+ logger.warn("Custom ping handler error: %s", err instanceof Error ? err.message : String(err));
49
+ }
50
+ }
51
+ // Log pong via MCP notification (demonstrates server -> client communication)
52
+ mcpLogger.info(LogMessages.PONG_SENT).catch(() => {
53
+ // Ignore errors if client disconnected
54
+ });
55
+ logger.trace(LogMessages.PING_RECEIVED);
56
+ // Return empty object as per MCP spec
57
+ return {};
58
+ });
59
+ logger.trace(LogMessages.HANDLER_REGISTERED, LOG_COMPONENT);
60
+ }
61
+ //# sourceMappingURL=ping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ping.js","sourceRoot":"","sources":["../../../src/mcp/handlers/ping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGxE,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,MAAM,aAAa,GAAG,MAAM,CAAC;AAE7B,uDAAuD;AACvD,MAAM,WAAW,GAAG;IAClB,SAAS,EAAE,SAAS;IACpB,aAAa,EAAE,0BAA0B;IACzC,kBAAkB,EAAE,uBAAuB;CACnC,CAAC;AAEX,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;AAE9D,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAiB,EAAE,MAAoB;IACtE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,KAAK,IAAoC,EAAE;QAC5F,kEAAkE;QAClE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;QAED,8EAA8E;QAC9E,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAC/C,uCAAuC;QACzC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAExC,sCAAsC;QACtC,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;AAC9D,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Progress Reporting Utility
3
+ *
4
+ * Creates rate-limited progress reporters using the SDK's native
5
+ * `sendNotification` from `RequestHandlerExtra`. This replaces
6
+ * the redundant RequestManager progress functionality.
7
+ *
8
+ * Rate-limiting prevents flooding the client with too many
9
+ * `notifications/progress` messages during tight loops.
10
+ *
11
+ * @see https://spec.modelcontextprotocol.io/specification/2025-11-25/server/utilities/progress/
12
+ * @module mcp/handlers/progress
13
+ */
14
+ import type { ProgressReporter, SendNotificationFn, ProgressToken } from "../types/index.js";
15
+ /**
16
+ * Minimum interval between progress notifications in milliseconds.
17
+ * Prevents flooding the client with updates during tight loops.
18
+ */
19
+ export declare const PROGRESS_MIN_INTERVAL_MS = 100;
20
+ /**
21
+ * Creates a rate-limited progress reporter for a tool invocation.
22
+ *
23
+ * Uses the SDK's native `sendNotification` to send `notifications/progress`
24
+ * messages. Applies rate-limiting (100ms minimum interval) to prevent
25
+ * flooding the client during tight loops.
26
+ *
27
+ * @param sendNotification - The SDK extra's `sendNotification` function
28
+ * @param progressToken - The progress token from `_meta.progressToken` (undefined = no progress requested)
29
+ * @returns A ProgressReporter function, or undefined if no progressToken was provided
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * // Inside SDK tool callback:
34
+ * const reporter = createProgressReporter(extra.sendNotification, extra._meta?.progressToken);
35
+ *
36
+ * // Use in tool handler:
37
+ * await reporter?.({ progress: 1, total: 10, message: 'Processing...' });
38
+ * ```
39
+ */
40
+ export declare function createProgressReporter(sendNotification: SendNotificationFn, progressToken: ProgressToken | undefined): ProgressReporter | undefined;
41
+ //# sourceMappingURL=progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAgB,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAM3G;;;GAGG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAW5C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,kBAAkB,EACpC,aAAa,EAAE,aAAa,GAAG,SAAS,GACvC,gBAAgB,GAAG,SAAS,CAiC9B"}