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 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connection/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAoB7C,iFAAiF;AAEjF,kCAAkC;AAClC,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAEtH,gCAAgC;AAChC,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,4BAA4B,EAC5B,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,+EAA+E;AAC/E,wCAAwC;AACxC,+EAA+E;AAE/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Service Client Types
3
+ *
4
+ * Core service client interface and health check types.
5
+ * The ServiceClient interface defines the minimum contract for connection
6
+ * management with any backend service.
7
+ *
8
+ * @module connection/types
9
+ */
10
+ /**
11
+ * Health status values for service client connectivity.
12
+ */
13
+ export type HealthStatus = "healthy" | "unhealthy";
14
+ /**
15
+ * Health check result from a service client.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const result: HealthCheckResult = {
20
+ * status: 'healthy',
21
+ * message: 'Connection established',
22
+ * details: { responseTime: 42 }
23
+ * };
24
+ * ```
25
+ */
26
+ export interface HealthCheckResult {
27
+ /** Health status of the service client */
28
+ readonly status: HealthStatus;
29
+ /** Optional human-readable message */
30
+ readonly message?: string;
31
+ /** Optional additional details for debugging (extensible) */
32
+ readonly details?: {
33
+ readonly [key: string]: unknown;
34
+ };
35
+ }
36
+ /**
37
+ * Generic service client interface for connection management.
38
+ *
39
+ * This interface defines the minimum contract that any service client
40
+ * must implement to work with the MCP server framework's connection
41
+ * state management and tool execution.
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * class MyServiceClient implements ServiceClient {
46
+ * readonly clientType = 'my-api';
47
+ *
48
+ * async healthCheck(): Promise<HealthCheckResult> {
49
+ * try {
50
+ * await this.ping();
51
+ * return { status: 'healthy' };
52
+ * } catch (error) {
53
+ * return { status: 'unhealthy', message: error.message };
54
+ * }
55
+ * }
56
+ * }
57
+ * ```
58
+ */
59
+ export interface ServiceClient {
60
+ /**
61
+ * Unique identifier for the client type.
62
+ * Used for logging and telemetry attribution.
63
+ *
64
+ * @example 'my-api', 'docker', 'kubernetes'
65
+ */
66
+ readonly clientType: string;
67
+ /**
68
+ * Performs a health check to verify connectivity.
69
+ *
70
+ * This method is OPTIONAL. If not provided, the framework assumes
71
+ * the client is healthy when connected.
72
+ *
73
+ * When provided, this method is called:
74
+ * - During initial connection to validate credentials
75
+ * - Periodically to monitor connection health
76
+ * - On reconnection attempts
77
+ *
78
+ * Implementations should:
79
+ * - Make a lightweight API call (e.g., ping, version check)
80
+ * - Return quickly (timeout recommended: 5-10 seconds)
81
+ * - NOT throw errors - return unhealthy status instead
82
+ *
83
+ * @returns Health check result with status and optional details
84
+ */
85
+ healthCheck?(): Promise<HealthCheckResult>;
86
+ /**
87
+ * Gracefully release resources held by the client.
88
+ *
89
+ * This method is OPTIONAL. If provided, it is called by
90
+ * {@link ConnectionStateManager} during disconnect to allow
91
+ * the client to close sockets, drain pools, flush buffers, etc.
92
+ *
93
+ * Implementations should:
94
+ * - Release all held resources (connections, file handles, timers)
95
+ * - Be idempotent (safe to call multiple times)
96
+ * - NOT throw errors — log and swallow instead
97
+ *
98
+ * @returns Resolves when cleanup is complete
99
+ */
100
+ disconnect?(): Promise<void>;
101
+ }
102
+ /**
103
+ * Type guard to check if an object implements ServiceClient.
104
+ *
105
+ * @param obj - Object to check
106
+ * @returns True if obj implements ServiceClient interface
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * if (isServiceClient(maybeClient)) {
111
+ * const result = await maybeClient.healthCheck();
112
+ * }
113
+ * ```
114
+ */
115
+ export declare function isServiceClient(obj: unknown): obj is ServiceClient;
116
+ /**
117
+ * Factory function type for creating service clients.
118
+ *
119
+ * @public Exported for consumer dependency injection and testing patterns.
120
+ *
121
+ * @typeParam TService - The service client type to create
122
+ * @typeParam TConfig - Configuration type for client creation
123
+ */
124
+ export type ServiceClientFactory<TService extends ServiceClient, TConfig = unknown> = (config: TConfig) => Promise<TService>;
125
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/connection/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,CAAC;AAEnD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAE9B,sCAAsC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,CAAC,EAAE;QACjB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACjC,CAAC;CACH;AAMD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE3C;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,aAAa,CAclE;AAMD;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,CAAC,QAAQ,SAAS,aAAa,EAAE,OAAO,GAAG,OAAO,IAAI,CACpF,MAAM,EAAE,OAAO,KACZ,OAAO,CAAC,QAAQ,CAAC,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Service Client Types
3
+ *
4
+ * Core service client interface and health check types.
5
+ * The ServiceClient interface defines the minimum contract for connection
6
+ * management with any backend service.
7
+ *
8
+ * @module connection/types
9
+ */
10
+ // ============================================================================
11
+ // Type Guards
12
+ // ============================================================================
13
+ /**
14
+ * Type guard to check if an object implements ServiceClient.
15
+ *
16
+ * @param obj - Object to check
17
+ * @returns True if obj implements ServiceClient interface
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * if (isServiceClient(maybeClient)) {
22
+ * const result = await maybeClient.healthCheck();
23
+ * }
24
+ * ```
25
+ */
26
+ export function isServiceClient(obj) {
27
+ return (typeof obj === "object" &&
28
+ obj !== null &&
29
+ "clientType" in obj &&
30
+ // @type-guard — After 'in' check, property exists but TS cannot narrow unknown for property access
31
+ typeof obj.clientType === "string" &&
32
+ // healthCheck is optional - only validate if present
33
+ // @type-guard — Same pattern: validate optional property type after 'in' existence check
34
+ (!("healthCheck" in obj) || typeof obj.healthCheck === "function") &&
35
+ // disconnect is optional - only validate if present
36
+ // @type-guard — Same pattern: validate optional property type after 'in' existence check
37
+ (!("disconnect" in obj) || typeof obj.disconnect === "function"));
38
+ }
39
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/connection/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA6GH,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,YAAY,IAAI,GAAG;QACnB,mGAAmG;QACnG,OAAQ,GAAqB,CAAC,UAAU,KAAK,QAAQ;QACrD,qDAAqD;QACrD,yFAAyF;QACzF,CAAC,CAAC,CAAC,aAAa,IAAI,GAAG,CAAC,IAAI,OAAQ,GAAqB,CAAC,WAAW,KAAK,UAAU,CAAC;QACrF,oDAAoD;QACpD,yFAAyF;QACzF,CAAC,CAAC,CAAC,YAAY,IAAI,GAAG,CAAC,IAAI,OAAQ,GAAqB,CAAC,UAAU,KAAK,UAAU,CAAC,CACpF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Auth Error Classes
3
+ *
4
+ * Errors related to authentication and authorization:
5
+ * - AuthenticationError: Token validation failures, missing tokens (HTTP 401)
6
+ * - AuthorizationError: Insufficient permissions or scopes (HTTP 403)
7
+ *
8
+ * @module errors/categories/auth
9
+ */
10
+ import { AppError } from "../core/index.js";
11
+ import type { BaseErrorOptions } from "../core/index.js";
12
+ /**
13
+ * Error thrown when authentication fails.
14
+ *
15
+ * Maps to HTTP 401 Unauthorized — the request lacks valid credentials.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * throw AuthenticationError.invalidToken('Token signature invalid');
20
+ * throw AuthenticationError.tokenExpired();
21
+ * throw AuthenticationError.missingToken();
22
+ * ```
23
+ */
24
+ export declare class AuthenticationError extends AppError {
25
+ constructor(message: string, options?: BaseErrorOptions);
26
+ /** Token is invalid or malformed */
27
+ static invalidToken(reason?: string): AuthenticationError;
28
+ /** Token has expired */
29
+ static tokenExpired(): AuthenticationError;
30
+ /** No token provided in request */
31
+ static missingToken(): AuthenticationError;
32
+ }
33
+ /**
34
+ * Error thrown when authorization fails (authenticated but not permitted).
35
+ *
36
+ * Maps to HTTP 403 Forbidden — the request is authenticated but lacks
37
+ * the required permissions or scopes.
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * throw AuthorizationError.insufficientScope(['mcp:write'], ['mcp:read']);
42
+ * throw AuthorizationError.forbidden('Admin access required');
43
+ * ```
44
+ */
45
+ export declare class AuthorizationError extends AppError {
46
+ /** Scopes that were required */
47
+ readonly requiredScopes?: readonly string[] | undefined;
48
+ /** Scopes that the token actually has */
49
+ readonly actualScopes?: readonly string[] | undefined;
50
+ constructor(message: string, options?: BaseErrorOptions & {
51
+ requiredScopes?: string[] | undefined;
52
+ actualScopes?: string[] | undefined;
53
+ });
54
+ /** Token lacks required scopes */
55
+ static insufficientScope(required: readonly string[], actual: readonly string[]): AuthorizationError;
56
+ /** Generic forbidden — authenticated but not authorized */
57
+ static forbidden(reason?: string): AuthorizationError;
58
+ }
59
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/errors/categories/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,QAAQ,EAAc,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAMzD;;;;;;;;;;;GAWG;AACH,qBAAa,mBAAoB,SAAQ,QAAQ;gBACnC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;IAa3D,oCAAoC;IACpC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAOzD,wBAAwB;IACxB,MAAM,CAAC,YAAY,IAAI,mBAAmB;IAM1C,mCAAmC;IACnC,MAAM,CAAC,YAAY,IAAI,mBAAmB;CAK3C;AAMD;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAmB,SAAQ,QAAQ;IAC9C,gCAAgC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAExD,yCAAyC;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;gBAGpD,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,gBAAgB,GAAG;QAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACtC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;KAChC;IAsBR,kCAAkC;IAClC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,kBAAkB;IAQpG,2DAA2D;IAC3D,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,kBAAkB;CAItD"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Auth Error Classes
3
+ *
4
+ * Errors related to authentication and authorization:
5
+ * - AuthenticationError: Token validation failures, missing tokens (HTTP 401)
6
+ * - AuthorizationError: Insufficient permissions or scopes (HTTP 403)
7
+ *
8
+ * @module errors/categories/auth
9
+ */
10
+ import { ErrorCode } from "@modelcontextprotocol/sdk/types.js";
11
+ import { AppError, ErrorCodes } from "../core/index.js";
12
+ // ============================================================================
13
+ // Authentication Error (401)
14
+ // ============================================================================
15
+ /**
16
+ * Error thrown when authentication fails.
17
+ *
18
+ * Maps to HTTP 401 Unauthorized — the request lacks valid credentials.
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * throw AuthenticationError.invalidToken('Token signature invalid');
23
+ * throw AuthenticationError.tokenExpired();
24
+ * throw AuthenticationError.missingToken();
25
+ * ```
26
+ */
27
+ export class AuthenticationError extends AppError {
28
+ constructor(message, options = {}) {
29
+ super(message, {
30
+ code: ErrorCodes.UNAUTHORIZED,
31
+ statusCode: 401,
32
+ mcpCode: ErrorCode.InvalidRequest,
33
+ ...options,
34
+ });
35
+ }
36
+ // ─────────────────────────────────────────────────────────────────────────
37
+ // Factory Methods
38
+ // ─────────────────────────────────────────────────────────────────────────
39
+ /** Token is invalid or malformed */
40
+ static invalidToken(reason) {
41
+ const message = reason ? `Invalid access token: ${reason}` : "Invalid access token";
42
+ return new AuthenticationError(message, {
43
+ recoveryHint: "Provide a valid Bearer token in the Authorization header",
44
+ });
45
+ }
46
+ /** Token has expired */
47
+ static tokenExpired() {
48
+ return new AuthenticationError("Access token has expired", {
49
+ recoveryHint: "Refresh the token or obtain a new one",
50
+ });
51
+ }
52
+ /** No token provided in request */
53
+ static missingToken() {
54
+ return new AuthenticationError("Missing Bearer token", {
55
+ recoveryHint: "Include an Authorization: Bearer <token> header",
56
+ });
57
+ }
58
+ }
59
+ // ============================================================================
60
+ // Authorization Error (403)
61
+ // ============================================================================
62
+ /**
63
+ * Error thrown when authorization fails (authenticated but not permitted).
64
+ *
65
+ * Maps to HTTP 403 Forbidden — the request is authenticated but lacks
66
+ * the required permissions or scopes.
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * throw AuthorizationError.insufficientScope(['mcp:write'], ['mcp:read']);
71
+ * throw AuthorizationError.forbidden('Admin access required');
72
+ * ```
73
+ */
74
+ export class AuthorizationError extends AppError {
75
+ /** Scopes that were required */
76
+ requiredScopes;
77
+ /** Scopes that the token actually has */
78
+ actualScopes;
79
+ constructor(message, options = {}) {
80
+ super(message, {
81
+ code: ErrorCodes.FORBIDDEN,
82
+ statusCode: 403,
83
+ mcpCode: ErrorCode.InvalidRequest,
84
+ ...options,
85
+ context: {
86
+ ...options.context,
87
+ requiredScopes: options.requiredScopes,
88
+ actualScopes: options.actualScopes,
89
+ },
90
+ });
91
+ this.requiredScopes = options.requiredScopes ? Object.freeze([...options.requiredScopes]) : undefined;
92
+ this.actualScopes = options.actualScopes ? Object.freeze([...options.actualScopes]) : undefined;
93
+ }
94
+ // ─────────────────────────────────────────────────────────────────────────
95
+ // Factory Methods
96
+ // ─────────────────────────────────────────────────────────────────────────
97
+ /** Token lacks required scopes */
98
+ static insufficientScope(required, actual) {
99
+ return new AuthorizationError(`Insufficient scope: required [${required.join(", ")}], got [${actual.join(", ")}]`, {
100
+ requiredScopes: [...required],
101
+ actualScopes: [...actual],
102
+ recoveryHint: `Token must include scopes: ${required.join(", ")}`,
103
+ });
104
+ }
105
+ /** Generic forbidden — authenticated but not authorized */
106
+ static forbidden(reason) {
107
+ const message = reason ? `Access denied: ${reason}` : "Access denied";
108
+ return new AuthorizationError(message);
109
+ }
110
+ }
111
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/errors/categories/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Connection Error Classes
3
+ *
4
+ * Generic connection errors for the MCP framework.
5
+ * Application-specific connection errors should extend these classes.
6
+ *
7
+ * @module errors/categories/connection
8
+ */
9
+ import { AppError } from "../core/index.js";
10
+ import type { BaseErrorOptions } from "../core/index.js";
11
+ /**
12
+ * Generic error thrown when connection to an API server fails.
13
+ *
14
+ * This is a framework-level error. For application-specific connection errors
15
+ * with custom messages, extend this class in your app/errors/ module.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * // Framework usage
20
+ * throw ConnectionError.failed('http://api.example.com');
21
+ * throw ConnectionError.timeout('http://api.example.com', 5000);
22
+ *
23
+ * // App-specific extension
24
+ * class MyApiConnectionError extends ConnectionError {
25
+ * static apiServerDown(url: string): MyApiConnectionError {
26
+ * return new MyApiConnectionError(
27
+ * `API server at ${url} is not responding`,
28
+ * url,
29
+ * { recoveryHint: 'Ensure the API server is running.' }
30
+ * );
31
+ * }
32
+ * }
33
+ * ```
34
+ */
35
+ export declare class ConnectionError extends AppError {
36
+ /** The target URL/address that connection was attempted to */
37
+ readonly target: string;
38
+ constructor(message: string, target: string, options?: Omit<BaseErrorOptions, "code">);
39
+ /**
40
+ * Create a ConnectionError for a generic failed connection.
41
+ */
42
+ static failed(target: string, reason?: string): ConnectionError;
43
+ /**
44
+ * Create a ConnectionError for a refused connection.
45
+ */
46
+ static refused(target: string): ConnectionError;
47
+ /**
48
+ * Create a ConnectionError for a connection timeout.
49
+ *
50
+ * @param target - The target URL/address
51
+ * @param timeoutMs - Optional timeout duration in milliseconds
52
+ */
53
+ static timeout(target: string, timeoutMs?: number): ConnectionError;
54
+ /**
55
+ * Create a ConnectionError for connection lost.
56
+ */
57
+ static lost(target: string): ConnectionError;
58
+ /**
59
+ * Create a ConnectionError for connection reset.
60
+ */
61
+ static reset(target: string): ConnectionError;
62
+ /**
63
+ * Create a ConnectionError for a failed health check.
64
+ *
65
+ * @param reason - The reason the health check failed
66
+ * @param target - Optional target URL (defaults to 'unknown')
67
+ */
68
+ static healthCheckFailed(reason: string, target?: string): ConnectionError;
69
+ }
70
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/errors/categories/connection.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,QAAQ,EAA0B,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAMzD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;IAC3C,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAM;IAoBzF;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,eAAe;IAS/D;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe;IAM/C;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe;IAWnE;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe;IAM5C;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe;IAM7C;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,SAAY,GAAG,eAAe;CAM9E"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Connection Error Classes
3
+ *
4
+ * Generic connection errors for the MCP framework.
5
+ * Application-specific connection errors should extend these classes.
6
+ *
7
+ * @module errors/categories/connection
8
+ */
9
+ import { ErrorCode } from "@modelcontextprotocol/sdk/types.js";
10
+ import { AppError, ErrorCodes, HttpStatus } from "../core/index.js";
11
+ // ============================================================================
12
+ // Connection Error
13
+ // ============================================================================
14
+ /**
15
+ * Generic error thrown when connection to an API server fails.
16
+ *
17
+ * This is a framework-level error. For application-specific connection errors
18
+ * with custom messages, extend this class in your app/errors/ module.
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * // Framework usage
23
+ * throw ConnectionError.failed('http://api.example.com');
24
+ * throw ConnectionError.timeout('http://api.example.com', 5000);
25
+ *
26
+ * // App-specific extension
27
+ * class MyApiConnectionError extends ConnectionError {
28
+ * static apiServerDown(url: string): MyApiConnectionError {
29
+ * return new MyApiConnectionError(
30
+ * `API server at ${url} is not responding`,
31
+ * url,
32
+ * { recoveryHint: 'Ensure the API server is running.' }
33
+ * );
34
+ * }
35
+ * }
36
+ * ```
37
+ */
38
+ export class ConnectionError extends AppError {
39
+ /** The target URL/address that connection was attempted to */
40
+ target;
41
+ constructor(message, target, options = {}) {
42
+ super(message, {
43
+ code: ErrorCodes.CONNECTION_ERROR,
44
+ statusCode: options.statusCode ?? HttpStatus.BAD_GATEWAY,
45
+ mcpCode: ErrorCode.InternalError,
46
+ cause: options.cause,
47
+ recoveryHint: options.recoveryHint,
48
+ context: {
49
+ ...options.context,
50
+ target,
51
+ },
52
+ });
53
+ this.target = target;
54
+ }
55
+ // ─────────────────────────────────────────────────────────────────────────
56
+ // Factory Methods
57
+ // ─────────────────────────────────────────────────────────────────────────
58
+ /**
59
+ * Create a ConnectionError for a generic failed connection.
60
+ */
61
+ static failed(target, reason) {
62
+ const baseMessage = "Failed to connect to server";
63
+ const message = reason ? `${baseMessage}: ${reason}` : `${baseMessage} to '${target}'`;
64
+ return new ConnectionError(message, target, {
65
+ recoveryHint: `Check that the server at '${target}' is running and accessible.`,
66
+ });
67
+ }
68
+ /**
69
+ * Create a ConnectionError for a refused connection.
70
+ */
71
+ static refused(target) {
72
+ return new ConnectionError("Connection refused", target, {
73
+ recoveryHint: `Ensure the server is running at '${target}' and accepting connections.`,
74
+ });
75
+ }
76
+ /**
77
+ * Create a ConnectionError for a connection timeout.
78
+ *
79
+ * @param target - The target URL/address
80
+ * @param timeoutMs - Optional timeout duration in milliseconds
81
+ */
82
+ static timeout(target, timeoutMs) {
83
+ const baseMessage = "Connection timed out";
84
+ const message = timeoutMs ? `${baseMessage} (after ${timeoutMs}ms)` : baseMessage;
85
+ return new ConnectionError(message, target, {
86
+ statusCode: HttpStatus.GATEWAY_TIMEOUT,
87
+ recoveryHint: `Connection to '${target}' timed out. Check network connectivity.`,
88
+ context: timeoutMs ? { timeoutMs } : undefined,
89
+ });
90
+ }
91
+ /**
92
+ * Create a ConnectionError for connection lost.
93
+ */
94
+ static lost(target) {
95
+ return new ConnectionError("Connection lost", target, {
96
+ recoveryHint: `The connection to '${target}' was lost. Reconnecting may help.`,
97
+ });
98
+ }
99
+ /**
100
+ * Create a ConnectionError for connection reset.
101
+ */
102
+ static reset(target) {
103
+ return new ConnectionError("Connection was reset", target, {
104
+ recoveryHint: `The connection to '${target}' was reset by the server. Try again.`,
105
+ });
106
+ }
107
+ /**
108
+ * Create a ConnectionError for a failed health check.
109
+ *
110
+ * @param reason - The reason the health check failed
111
+ * @param target - Optional target URL (defaults to 'unknown')
112
+ */
113
+ static healthCheckFailed(reason, target = "unknown") {
114
+ return new ConnectionError(`Health check failed: ${reason}`, target, {
115
+ recoveryHint: "The server is reachable but not healthy. Check server logs for details.",
116
+ context: { reason },
117
+ });
118
+ }
119
+ }
120
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/errors/categories/connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Error Categories Barrel Export
3
+ *
4
+ * @module errors/categories
5
+ */
6
+ export { McpProtocolError } from "./protocol.js";
7
+ export { SessionError } from "./session.js";
8
+ export { TransportError } from "./transport.js";
9
+ export { ValidationError, ConfigurationError } from "./validation.js";
10
+ export { InternalError, RegistryError } from "./system.js";
11
+ export { OperationError, OperationCancelledError } from "./operation.js";
12
+ export { ConnectionError } from "./connection.js";
13
+ export { AuthenticationError, AuthorizationError } from "./auth.js";
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/categories/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGtE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG3D,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAGzE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Error Categories Barrel Export
3
+ *
4
+ * @module errors/categories
5
+ */
6
+ // MCP Protocol Errors (split from former mcp.ts)
7
+ export { McpProtocolError } from "./protocol.js";
8
+ export { SessionError } from "./session.js";
9
+ export { TransportError } from "./transport.js";
10
+ // Validation Errors
11
+ export { ValidationError, ConfigurationError } from "./validation.js";
12
+ // System Errors
13
+ export { InternalError, RegistryError } from "./system.js";
14
+ // Operation Errors
15
+ export { OperationError, OperationCancelledError } from "./operation.js";
16
+ // Connection Errors
17
+ export { ConnectionError } from "./connection.js";
18
+ // Auth Errors
19
+ export { AuthenticationError, AuthorizationError } from "./auth.js";
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/categories/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,iDAAiD;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,oBAAoB;AACpB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,gBAAgB;AAChB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE3D,mBAAmB;AACnB,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzE,oBAAoB;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,cAAc;AACd,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC"}