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,127 @@
1
+ /**
2
+ * App Definition Factory
3
+ *
4
+ * Provides the defineApp() factory function for defining MCP Apps.
5
+ * An MCP App combines a tool with a UI resource, linked via
6
+ * `_meta.ui.resourceUri` on the tool definition.
7
+ *
8
+ * `defineApp()` internally creates:
9
+ * 1. A static resource via `defineResource()` (the UI)
10
+ * 2. A tool via `defineTool()` with `_meta.ui.resourceUri` pointing to the resource
11
+ *
12
+ * Both are automatically registered in the global registries.
13
+ *
14
+ * @module mcp/capabilities/apps/define-app
15
+ */
16
+ import { defineTool } from "../tools/index.js";
17
+ import { defineResource } from "../resources/index.js";
18
+ import { globalToolRegistry } from "../registry/index.js";
19
+ import { validateDefinitionBase, validateZodSchema, validateFunction } from "../../../utils/index.js";
20
+ import { FrameworkErrorFactory } from "../../../errors/index.js";
21
+ // ============================================================================
22
+ // Factory Function
23
+ // ============================================================================
24
+ /**
25
+ * Define an MCP App with automatic resource and tool registration.
26
+ *
27
+ * Creates a tool linked to a UI resource via `_meta.ui.resourceUri`.
28
+ * Both the tool and the resource are registered in the global registries,
29
+ * so they are automatically available when `createServer()` is called.
30
+ *
31
+ * @typeParam TInput - Zod schema type for the tool input (inferred)
32
+ *
33
+ * @param definition - App definition with resource and tool configuration
34
+ * @returns The original app definition (for re-export and type inference)
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * import { defineApp, text, z } from 'mcp-server-framework';
39
+ *
40
+ * export const calculator = defineApp({
41
+ * name: 'calculator',
42
+ * description: 'An interactive calculator app',
43
+ * resource: {
44
+ * uri: 'ui://calculator',
45
+ * mimeType: 'text/html;profile=mcp-app',
46
+ * read: async () => '<html>...calculator UI...</html>',
47
+ * },
48
+ * input: z.object({ expression: z.string() }),
49
+ * handler: async ({ expression }) => text('42'),
50
+ * });
51
+ * ```
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * // With annotations and custom _meta
56
+ * export const dashboard = defineApp({
57
+ * name: 'dashboard',
58
+ * description: 'System monitoring dashboard',
59
+ * resource: {
60
+ * uri: 'ui://dashboard',
61
+ * name: 'Dashboard UI',
62
+ * description: 'Interactive system monitoring dashboard',
63
+ * mimeType: 'text/html;profile=mcp-app',
64
+ * read: async () => generateDashboardHtml(),
65
+ * },
66
+ * input: z.object({ metric: z.string().optional() }),
67
+ * handler: async ({ metric }, ctx) => json(await getMetrics(metric)),
68
+ * annotations: { readOnlyHint: true },
69
+ * _meta: { version: '2.0' },
70
+ * });
71
+ * ```
72
+ */
73
+ export function defineApp(definition) {
74
+ // Validate app-level fields before delegation to defineTool/defineResource
75
+ // This ensures error messages say "App" instead of "Tool" or "Resource"
76
+ validateDefinitionBase(definition, "App");
77
+ validateZodSchema(definition.input, "App", "input");
78
+ validateFunction(definition.handler, "App", "handler");
79
+ const { resource } = definition;
80
+ // Validate URI scheme — MCP Inspector and clients require 'ui://' prefix
81
+ if (!resource.uri.startsWith("ui://")) {
82
+ throw FrameworkErrorFactory.validation.custom(`Invalid app resource URI "${resource.uri}" for app "${definition.name}": ` +
83
+ `URI must use the "ui://" scheme (e.g., "ui://${definition.name}"). ` +
84
+ `MCP clients require this prefix to identify app resources.`, "resource.uri");
85
+ }
86
+ // 1. Register the tool first (more likely to fail due to schema issues)
87
+ const toolMeta = {
88
+ ...definition._meta,
89
+ ui: {
90
+ // @type-narrowing — _meta is Record<string, unknown>, ui may be an object or undefined
91
+ ...definition._meta?.ui,
92
+ resourceUri: resource.uri,
93
+ },
94
+ };
95
+ defineTool({
96
+ name: definition.name,
97
+ description: definition.description,
98
+ input: definition.input,
99
+ handler: definition.handler,
100
+ ...(definition.annotations && { annotations: definition.annotations }),
101
+ ...(definition.requiredScopes && {
102
+ requiredScopes: definition.requiredScopes,
103
+ }),
104
+ _meta: toolMeta,
105
+ });
106
+ // 2. Register the UI resource — rollback tool on failure
107
+ try {
108
+ defineResource({
109
+ name: resource.name ?? definition.name,
110
+ description: resource.description ?? definition.description,
111
+ uri: resource.uri,
112
+ mimeType: resource.mimeType ?? "text/html;profile=mcp-app",
113
+ read: async () => resource.read(),
114
+ });
115
+ }
116
+ catch (registrationError) {
117
+ try {
118
+ globalToolRegistry.unregister(definition.name);
119
+ }
120
+ catch {
121
+ // Rollback best-effort — original registration error takes priority
122
+ }
123
+ throw registrationError;
124
+ }
125
+ return definition;
126
+ }
127
+ //# sourceMappingURL=define-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-app.js","sourceRoot":"","sources":["../../../../src/mcp/capabilities/apps/define-app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtG,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,UAAU,SAAS,CAA8B,UAAiC;IACtF,2EAA2E;IAC3E,wEAAwE;IACxE,sBAAsB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC1C,iBAAiB,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACpD,gBAAgB,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAEvD,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;IAEhC,yEAAyE;IACzE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,MAAM,qBAAqB,CAAC,UAAU,CAAC,MAAM,CAC3C,6BAA6B,QAAQ,CAAC,GAAG,cAAc,UAAU,CAAC,IAAI,KAAK;YACzE,gDAAgD,UAAU,CAAC,IAAI,MAAM;YACrE,4DAA4D,EAC9D,cAAc,CACf,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,MAAM,QAAQ,GAA4B;QACxC,GAAG,UAAU,CAAC,KAAK;QACnB,EAAE,EAAE;YACF,uFAAuF;YACvF,GAAI,UAAU,CAAC,KAAK,EAAE,EAA0C;YAChE,WAAW,EAAE,QAAQ,CAAC,GAAG;SAC1B;KACF,CAAC;IAEF,UAAU,CAAC;QACT,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,GAAG,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC;QACtE,GAAG,CAAC,UAAU,CAAC,cAAc,IAAI;YAC/B,cAAc,EAAE,UAAU,CAAC,cAAc;SAC1C,CAAC;QACF,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IAEH,yDAAyD;IACzD,IAAI,CAAC;QACH,cAAc,CAAC;YACb,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI;YACtC,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW;YAC3D,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,2BAA2B;YAC1D,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,iBAAiB,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;QACtE,CAAC;QACD,MAAM,iBAAiB,CAAC;IAC1B,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * MCP Apps Module
3
+ *
4
+ * Provides the defineApp() factory for creating MCP Apps
5
+ * (tool + resource combinations with UI linking).
6
+ *
7
+ * @module mcp/capabilities/apps
8
+ */
9
+ export { defineApp } from "./define-app.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp/capabilities/apps/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * MCP Apps Module
3
+ *
4
+ * Provides the defineApp() factory for creating MCP Apps
5
+ * (tool + resource combinations with UI linking).
6
+ *
7
+ * @module mcp/capabilities/apps
8
+ */
9
+ export { defineApp } from "./define-app.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp/capabilities/apps/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * MCP Capabilities Builder
3
+ *
4
+ * Builds MCP capabilities objects based on registered primitives.
5
+ * The capabilities object tells the SDK which features the server supports.
6
+ *
7
+ * @module mcp/capabilities
8
+ */
9
+ import type { ToolDefinition, TaskToolDefinition, ResourceStaticDefinition, ResourceTemplateDefinition, PromptDefinition } from "../types/index.js";
10
+ import { type ServerCapabilities } from "./server-capabilities.js";
11
+ /**
12
+ * Builds the MCP capabilities object based on registered primitives.
13
+ *
14
+ * @internal Used by server runtime during SDK initialization.
15
+ * @param capabilities - Configured server capabilities
16
+ * @param tools - All available tool definitions
17
+ * @param resources - Static resource definitions
18
+ * @param resourceTemplates - Resource template definitions
19
+ * @param prompts - Prompt definitions
20
+ * @param taskTools - Task tool definitions (experimental)
21
+ * @returns Capabilities object for the MCP SDK
22
+ */
23
+ export declare function buildCapabilities(capabilities: ServerCapabilities | undefined, tools: readonly ToolDefinition[], resources: readonly ResourceStaticDefinition[], resourceTemplates: readonly ResourceTemplateDefinition[], prompts: readonly PromptDefinition[], taskTools?: readonly TaskToolDefinition[]): Record<string, unknown>;
24
+ //# sourceMappingURL=capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../src/mcp/capabilities/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAMzF;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,kBAAkB,GAAG,SAAS,EAC5C,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,SAAS,EAAE,SAAS,wBAAwB,EAAE,EAC9C,iBAAiB,EAAE,SAAS,0BAA0B,EAAE,EACxD,OAAO,EAAE,SAAS,gBAAgB,EAAE,EACpC,SAAS,GAAE,SAAS,kBAAkB,EAAO,GAC5C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA8BzB"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * MCP Capabilities Builder
3
+ *
4
+ * Builds MCP capabilities objects based on registered primitives.
5
+ * The capabilities object tells the SDK which features the server supports.
6
+ *
7
+ * @module mcp/capabilities
8
+ */
9
+ import { DEFAULT_CAPABILITIES } from "./server-capabilities.js";
10
+ // ============================================================================
11
+ // Capabilities Builder
12
+ // ============================================================================
13
+ /**
14
+ * Builds the MCP capabilities object based on registered primitives.
15
+ *
16
+ * @internal Used by server runtime during SDK initialization.
17
+ * @param capabilities - Configured server capabilities
18
+ * @param tools - All available tool definitions
19
+ * @param resources - Static resource definitions
20
+ * @param resourceTemplates - Resource template definitions
21
+ * @param prompts - Prompt definitions
22
+ * @param taskTools - Task tool definitions (experimental)
23
+ * @returns Capabilities object for the MCP SDK
24
+ */
25
+ export function buildCapabilities(capabilities, tools, resources, resourceTemplates, prompts, taskTools = []) {
26
+ const caps = capabilities ?? DEFAULT_CAPABILITIES;
27
+ const result = {};
28
+ // Logging capability
29
+ if (caps.logging) {
30
+ result.logging = {};
31
+ }
32
+ // Tools capability
33
+ if (caps.tools && tools.length > 0) {
34
+ result.tools = typeof caps.tools === "object" ? caps.tools : { listChanged: true };
35
+ }
36
+ // Resources capability
37
+ if (caps.resources && (resources.length > 0 || resourceTemplates.length > 0)) {
38
+ result.resources = typeof caps.resources === "object" ? caps.resources : { listChanged: true };
39
+ }
40
+ // Prompts capability
41
+ if (caps.prompts && prompts.length > 0) {
42
+ result.prompts = typeof caps.prompts === "object" ? caps.prompts : { listChanged: true };
43
+ }
44
+ // Tasks capability (experimental) — required by SDK assertRequestHandlerCapability
45
+ if (taskTools.length > 0) {
46
+ result.tasks = { requests: { tools: { call: {} } } };
47
+ }
48
+ return result;
49
+ }
50
+ //# sourceMappingURL=capabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../src/mcp/capabilities/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,OAAO,EAAE,oBAAoB,EAA2B,MAAM,0BAA0B,CAAC;AAEzF,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAA4C,EAC5C,KAAgC,EAChC,SAA8C,EAC9C,iBAAwD,EACxD,OAAoC,EACpC,YAA2C,EAAE;IAE7C,MAAM,IAAI,GAAG,YAAY,IAAI,oBAAoB,CAAC;IAClD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,qBAAqB;IACrB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,mBAAmB;IACnB,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACrF,CAAC;IAED,uBAAuB;IACvB,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,CAAC,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACjG,CAAC;IAED,qBAAqB;IACrB,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC3F,CAAC;IAED,mFAAmF;IACnF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACvD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * MCP Registration Module
3
+ *
4
+ * Provides the capabilities builder for the MCP SDK.
5
+ * Tool/resource/prompt registration is handled directly by McpSession.
6
+ *
7
+ * ## Architecture
8
+ *
9
+ * ```
10
+ * Registry (stores definitions) → McpSession (registers with SDK) → SDK (protocol server)
11
+ * ```
12
+ *
13
+ * @module mcp/capabilities
14
+ */
15
+ export { buildCapabilities } from "./capabilities.js";
16
+ export { type ServerCapabilities, DEFAULT_CAPABILITIES } from "./server-capabilities.js";
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/capabilities/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,KAAK,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * MCP Registration Module
3
+ *
4
+ * Provides the capabilities builder for the MCP SDK.
5
+ * Tool/resource/prompt registration is handled directly by McpSession.
6
+ *
7
+ * ## Architecture
8
+ *
9
+ * ```
10
+ * Registry (stores definitions) → McpSession (registers with SDK) → SDK (protocol server)
11
+ * ```
12
+ *
13
+ * @module mcp/capabilities
14
+ */
15
+ // ============================================================================
16
+ // Capabilities
17
+ // ============================================================================
18
+ export { buildCapabilities } from "./capabilities.js";
19
+ export { DEFAULT_CAPABILITIES } from "./server-capabilities.js";
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/capabilities/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAA2B,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Prompt Definition Factory
3
+ *
4
+ * Provides the definePrompt() factory function for zero-boilerplate prompt registration.
5
+ * Prompts defined with this function are automatically registered in a global registry.
6
+ *
7
+ * @module mcp/capabilities/prompts/define-prompt
8
+ */
9
+ import type { z } from "zod";
10
+ import type { PromptDefinition } from "../../types/index.js";
11
+ /**
12
+ * Define a prompt with automatic registration.
13
+ *
14
+ * This is the recommended way to define prompts in the framework.
15
+ * The prompt is automatically registered in the global registry when defined.
16
+ *
17
+ * @typeParam TInput - Zod object schema for input validation
18
+ * @param definition - Prompt definition with name, description, optional input schema, and generate handler
19
+ * @returns The prompt definition (for re-export and type inference)
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * // prompts/explain.ts - Prompt with typed arguments
24
+ * import { definePrompt } from 'mcp-server-framework';
25
+ * import { z } from 'zod';
26
+ *
27
+ * export const explainPrompt = definePrompt({
28
+ * name: 'explain-concept',
29
+ * description: 'Explain a technical concept clearly',
30
+ * input: z.object({
31
+ * topic: z.string().describe('The topic to explain'),
32
+ * level: z.enum(['beginner', 'intermediate', 'expert'])
33
+ * .default('intermediate')
34
+ * .describe('Target expertise level'),
35
+ * }),
36
+ * generate: async ({ topic, level }) => [
37
+ * {
38
+ * role: 'user',
39
+ * content: `Please explain ${topic} for someone at ${level} level.
40
+ *
41
+ * Include:
42
+ * - A clear definition
43
+ * - Key concepts
44
+ * - Practical examples
45
+ * - Common misconceptions`,
46
+ * },
47
+ * ],
48
+ * });
49
+ * ```
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * // prompts/code-review.ts - Multi-turn prompt
54
+ * import { definePrompt } from 'mcp-server-framework';
55
+ * import { z } from 'zod';
56
+ *
57
+ * export const codeReviewPrompt = definePrompt({
58
+ * name: 'code-review',
59
+ * description: 'Start a code review conversation',
60
+ * input: z.object({
61
+ * code: z.string().describe('The code to review'),
62
+ * language: z.string().describe('Programming language'),
63
+ * }),
64
+ * generate: async ({ code, language }) => [
65
+ * {
66
+ * role: 'user',
67
+ * content: `Please review this ${language} code:\n\n\`\`\`${language}\n${code}\n\`\`\``,
68
+ * },
69
+ * {
70
+ * role: 'assistant',
71
+ * content: 'I\'ll analyze this code for best practices, potential bugs, and improvements.',
72
+ * },
73
+ * ],
74
+ * });
75
+ * ```
76
+ *
77
+ * @example
78
+ * ```typescript
79
+ * // prompts/greeting.ts - No-argument prompt
80
+ * import { definePrompt } from 'mcp-server-framework';
81
+ *
82
+ * export const greetingPrompt = definePrompt({
83
+ * name: 'greeting',
84
+ * description: 'Standard greeting prompt',
85
+ * generate: async () => [
86
+ * {
87
+ * role: 'user',
88
+ * content: 'Hello! How can you help me today?',
89
+ * },
90
+ * ],
91
+ * });
92
+ * ```
93
+ */
94
+ export declare function definePrompt<TInput extends z.AnyZodObject = z.AnyZodObject>(definition: PromptDefinition<TInput>): PromptDefinition<TInput>;
95
+ //# sourceMappingURL=define-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-prompt.d.ts","sourceRoot":"","sources":["../../../../src/mcp/capabilities/prompts/define-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAQ7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AACH,wBAAgB,YAAY,CAAC,MAAM,SAAS,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,EACzE,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,GACnC,gBAAgB,CAAC,MAAM,CAAC,CAc1B"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Prompt Definition Factory
3
+ *
4
+ * Provides the definePrompt() factory function for zero-boilerplate prompt registration.
5
+ * Prompts defined with this function are automatically registered in a global registry.
6
+ *
7
+ * @module mcp/capabilities/prompts/define-prompt
8
+ */
9
+ import { globalPromptRegistry } from "../registry/index.js";
10
+ import { validateDefinitionBase, validateFunction, validateZodSchema } from "../../../utils/index.js";
11
+ // ============================================================================
12
+ // Factory Function
13
+ // ============================================================================
14
+ /**
15
+ * Define a prompt with automatic registration.
16
+ *
17
+ * This is the recommended way to define prompts in the framework.
18
+ * The prompt is automatically registered in the global registry when defined.
19
+ *
20
+ * @typeParam TInput - Zod object schema for input validation
21
+ * @param definition - Prompt definition with name, description, optional input schema, and generate handler
22
+ * @returns The prompt definition (for re-export and type inference)
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * // prompts/explain.ts - Prompt with typed arguments
27
+ * import { definePrompt } from 'mcp-server-framework';
28
+ * import { z } from 'zod';
29
+ *
30
+ * export const explainPrompt = definePrompt({
31
+ * name: 'explain-concept',
32
+ * description: 'Explain a technical concept clearly',
33
+ * input: z.object({
34
+ * topic: z.string().describe('The topic to explain'),
35
+ * level: z.enum(['beginner', 'intermediate', 'expert'])
36
+ * .default('intermediate')
37
+ * .describe('Target expertise level'),
38
+ * }),
39
+ * generate: async ({ topic, level }) => [
40
+ * {
41
+ * role: 'user',
42
+ * content: `Please explain ${topic} for someone at ${level} level.
43
+ *
44
+ * Include:
45
+ * - A clear definition
46
+ * - Key concepts
47
+ * - Practical examples
48
+ * - Common misconceptions`,
49
+ * },
50
+ * ],
51
+ * });
52
+ * ```
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * // prompts/code-review.ts - Multi-turn prompt
57
+ * import { definePrompt } from 'mcp-server-framework';
58
+ * import { z } from 'zod';
59
+ *
60
+ * export const codeReviewPrompt = definePrompt({
61
+ * name: 'code-review',
62
+ * description: 'Start a code review conversation',
63
+ * input: z.object({
64
+ * code: z.string().describe('The code to review'),
65
+ * language: z.string().describe('Programming language'),
66
+ * }),
67
+ * generate: async ({ code, language }) => [
68
+ * {
69
+ * role: 'user',
70
+ * content: `Please review this ${language} code:\n\n\`\`\`${language}\n${code}\n\`\`\``,
71
+ * },
72
+ * {
73
+ * role: 'assistant',
74
+ * content: 'I\'ll analyze this code for best practices, potential bugs, and improvements.',
75
+ * },
76
+ * ],
77
+ * });
78
+ * ```
79
+ *
80
+ * @example
81
+ * ```typescript
82
+ * // prompts/greeting.ts - No-argument prompt
83
+ * import { definePrompt } from 'mcp-server-framework';
84
+ *
85
+ * export const greetingPrompt = definePrompt({
86
+ * name: 'greeting',
87
+ * description: 'Standard greeting prompt',
88
+ * generate: async () => [
89
+ * {
90
+ * role: 'user',
91
+ * content: 'Hello! How can you help me today?',
92
+ * },
93
+ * ],
94
+ * });
95
+ * ```
96
+ */
97
+ export function definePrompt(definition) {
98
+ // Validate required fields (safety net for JS consumers and empty strings)
99
+ validateDefinitionBase(definition, "Prompt");
100
+ validateFunction(definition.generate, "Prompt", "generate");
101
+ // Validate optional Zod schema if provided (consistent with defineTool)
102
+ if (definition.input) {
103
+ validateZodSchema(definition.input, "Prompt", "input");
104
+ }
105
+ // Auto-register in global registry (variance handled by registry)
106
+ globalPromptRegistry.registerFromFactory(definition);
107
+ return definition;
108
+ }
109
+ //# sourceMappingURL=define-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-prompt.js","sourceRoot":"","sources":["../../../../src/mcp/capabilities/prompts/define-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEtG,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AACH,MAAM,UAAU,YAAY,CAC1B,UAAoC;IAEpC,2EAA2E;IAC3E,sBAAsB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7C,gBAAgB,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAE5D,wEAAwE;IACxE,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,iBAAiB,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,kEAAkE;IAClE,oBAAoB,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAErD,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Prompts Module
3
+ *
4
+ * Exports the prompt definition factory for zero-boilerplate registration.
5
+ * Types should be imported directly from `mcp/types/`.
6
+ *
7
+ * @module mcp/capabilities/prompts
8
+ */
9
+ export { definePrompt } from "./define-prompt.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp/capabilities/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Prompts Module
3
+ *
4
+ * Exports the prompt definition factory for zero-boilerplate registration.
5
+ * Types should be imported directly from `mcp/types/`.
6
+ *
7
+ * @module mcp/capabilities/prompts
8
+ */
9
+ export { definePrompt } from "./define-prompt.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp/capabilities/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Base Registry
3
+ *
4
+ * Generic abstract base class for MCP registries (Tools, Resources, Prompts).
5
+ * Extracts common functionality to reduce code duplication.
6
+ *
7
+ * @module mcp/capabilities/registry/base-registry
8
+ */
9
+ /**
10
+ * Minimum interface for items that can be registered.
11
+ */
12
+ export interface RegistryItem {
13
+ readonly name: string;
14
+ }
15
+ /**
16
+ * Abstract base class for MCP registries.
17
+ *
18
+ * Provides common functionality:
19
+ * - Registration (with duplicate checking)
20
+ * - Lookup by name
21
+ * - Iteration and size
22
+ * - Clear/unregister operations
23
+ *
24
+ * @typeParam T - The item type (must have a `name` property)
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * class ToolRegistry extends BaseRegistry<Tool> {
29
+ * // Add tool-specific methods here
30
+ * }
31
+ * ```
32
+ */
33
+ export declare abstract class BaseRegistry<T extends RegistryItem> {
34
+ /** Internal storage */
35
+ protected readonly items: Map<string, T>;
36
+ /**
37
+ * Register a new item. Throws if name already exists.
38
+ *
39
+ * @param item - Item to register
40
+ * @throws If an item with the same name is already registered
41
+ */
42
+ register(item: T): void;
43
+ /**
44
+ * Register or replace an existing item.
45
+ *
46
+ * @param item - Item to register/replace
47
+ * @returns true if replaced, false if new
48
+ */
49
+ registerOrReplace(item: T): boolean;
50
+ /**
51
+ * Unregister an item by name.
52
+ *
53
+ * @param name - Name of the item to remove
54
+ * @returns true if removed, false if not found
55
+ */
56
+ unregister(name: string): boolean;
57
+ /**
58
+ * Clear all items from the registry.
59
+ */
60
+ clear(): void;
61
+ /**
62
+ * Get an item by name.
63
+ *
64
+ * @param name - Name of the item
65
+ * @returns The item or undefined
66
+ */
67
+ get(name: string): T | undefined;
68
+ /**
69
+ * Check if an item exists.
70
+ *
71
+ * @param name - Name to check
72
+ * @returns true if exists
73
+ */
74
+ has(name: string): boolean;
75
+ /**
76
+ * Get all registered items.
77
+ *
78
+ * @returns Readonly array of all items
79
+ */
80
+ getAll(): ReadonlyArray<T>;
81
+ /**
82
+ * Number of registered items.
83
+ */
84
+ get size(): number;
85
+ /**
86
+ * Iterate over all items.
87
+ */
88
+ [Symbol.iterator](): Iterator<T>;
89
+ /**
90
+ * Human-readable name for error messages (e.g., "Tool", "Resource").
91
+ * Override in subclasses.
92
+ */
93
+ protected get itemTypeName(): string;
94
+ }
95
+ //# sourceMappingURL=base-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-registry.d.ts","sourceRoot":"","sources":["../../../../src/mcp/capabilities/registry/base-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAuBH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,8BAAsB,YAAY,CAAC,CAAC,SAAS,YAAY;IACvD,uBAAuB;IACvB,SAAS,CAAC,QAAQ,CAAC,KAAK,iBAAwB;IAMhD;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAQvB;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO;IAWnC;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC;;OAEG;IACH,KAAK,IAAI,IAAI;IAYb;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIhC;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;;;OAIG;IACH,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC;IAI1B;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;IAQhC;;;OAGG;IACH,SAAS,KAAK,YAAY,IAAI,MAAM,CAEnC;CACF"}