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,95 @@
1
+ /**
2
+ * System Error Classes
3
+ *
4
+ * Errors related to internal system failures:
5
+ * - InternalError: Unexpected internal errors
6
+ * - RegistryError: Tool/resource registry errors
7
+ *
8
+ * @module errors/categories/system
9
+ */
10
+ import { AppError } from "../core/index.js";
11
+ import type { BaseErrorOptions } from "../core/index.js";
12
+ /**
13
+ * Error for unexpected internal failures.
14
+ *
15
+ * Use this for errors that shouldn't happen in normal operation
16
+ * and indicate bugs or system failures.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * throw new InternalError('Unexpected state in request handler');
21
+ *
22
+ * // Wrap unexpected errors
23
+ * catch (err) {
24
+ * throw InternalError.wrap(err, 'Failed to process request');
25
+ * }
26
+ * ```
27
+ */
28
+ export declare class InternalError extends AppError {
29
+ constructor(message: string, options?: Omit<BaseErrorOptions, "code">);
30
+ /**
31
+ * Wrap an unknown error in an InternalError.
32
+ */
33
+ static wrap(error: unknown, context?: string): InternalError;
34
+ /**
35
+ * Create an InternalError for an unexpected state.
36
+ */
37
+ static unexpectedState(description: string): InternalError;
38
+ /**
39
+ * Create an InternalError for missing implementation.
40
+ */
41
+ static notImplemented(feature: string): InternalError;
42
+ }
43
+ /**
44
+ * Error for tool/resource registry operations.
45
+ *
46
+ * Used when registering, unregistering, or looking up
47
+ * tools and resources fails.
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * throw RegistryError.toolNotFound('unknown_tool');
52
+ * throw RegistryError.duplicateTool('existing_tool');
53
+ * ```
54
+ */
55
+ export declare class RegistryError extends AppError {
56
+ /** The type of registry item (tool, resource, prompt) */
57
+ readonly itemType: "tool" | "resource" | "prompt";
58
+ /** The name of the item */
59
+ readonly itemName: string;
60
+ constructor(message: string, itemType: "tool" | "resource" | "prompt", itemName: string, options?: Omit<BaseErrorOptions, "code">);
61
+ /**
62
+ * Create a RegistryError for a tool not found.
63
+ */
64
+ static toolNotFound(name: string): RegistryError;
65
+ /**
66
+ * Create a RegistryError for duplicate tool registration.
67
+ */
68
+ static duplicateTool(name: string): RegistryError;
69
+ /**
70
+ * Create a RegistryError for a resource not found.
71
+ */
72
+ static resourceNotFound(name: string): RegistryError;
73
+ /**
74
+ * Create a RegistryError for duplicate resource registration.
75
+ */
76
+ static duplicateResource(name: string): RegistryError;
77
+ /**
78
+ * Create a RegistryError for a prompt not found.
79
+ */
80
+ static promptNotFound(name: string): RegistryError;
81
+ /**
82
+ * Create a RegistryError for duplicate prompt registration.
83
+ */
84
+ static duplicatePrompt(name: string): RegistryError;
85
+ /** @internal Mapping for valid registry item types — eliminates type assertion */
86
+ private static readonly TYPE_MAP;
87
+ /**
88
+ * Create a RegistryError for a generic duplicate registration.
89
+ *
90
+ * @param itemType - The type of item (e.g., 'Tool', 'Resource', 'Prompt')
91
+ * @param itemName - The name of the item
92
+ */
93
+ static duplicate(itemType: string, itemName: string): RegistryError;
94
+ }
95
+ //# sourceMappingURL=system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/errors/categories/system.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,QAAQ,EAAc,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAMzD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,aAAc,SAAQ,QAAQ;gBAC7B,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAM;IAezE;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa;IAY5D;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa;IAM1D;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;CAKtD;AAMD;;;;;;;;;;;GAWG;AACH,qBAAa,aAAc,SAAQ,QAAQ;IACzC,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;IAElD,2BAA2B;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAGxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,EACxC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAM;IAuB9C;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAMhD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAUjD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAMpD;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAUrD;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAMlD;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAUnD,kFAAkF;IAClF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAI9B;IAEF;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa;CAMpE"}
@@ -0,0 +1,190 @@
1
+ /**
2
+ * System Error Classes
3
+ *
4
+ * Errors related to internal system failures:
5
+ * - InternalError: Unexpected internal errors
6
+ * - RegistryError: Tool/resource registry errors
7
+ *
8
+ * @module errors/categories/system
9
+ */
10
+ import { ErrorCode } from "@modelcontextprotocol/sdk/types.js";
11
+ import { AppError, ErrorCodes } from "../core/index.js";
12
+ // ============================================================================
13
+ // Internal Error
14
+ // ============================================================================
15
+ /**
16
+ * Error for unexpected internal failures.
17
+ *
18
+ * Use this for errors that shouldn't happen in normal operation
19
+ * and indicate bugs or system failures.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * throw new InternalError('Unexpected state in request handler');
24
+ *
25
+ * // Wrap unexpected errors
26
+ * catch (err) {
27
+ * throw InternalError.wrap(err, 'Failed to process request');
28
+ * }
29
+ * ```
30
+ */
31
+ export class InternalError extends AppError {
32
+ constructor(message, options = {}) {
33
+ super(message, {
34
+ code: ErrorCodes.INTERNAL_ERROR,
35
+ statusCode: 500,
36
+ mcpCode: ErrorCode.InternalError,
37
+ cause: options.cause,
38
+ recoveryHint: options.recoveryHint || "This is an internal error. Please try again or contact support.",
39
+ context: options.context,
40
+ });
41
+ }
42
+ // ─────────────────────────────────────────────────────────────────────────
43
+ // Factory Methods
44
+ // ─────────────────────────────────────────────────────────────────────────
45
+ /**
46
+ * Wrap an unknown error in an InternalError.
47
+ */
48
+ static wrap(error, context) {
49
+ const message = context
50
+ ? `${context}: ${error instanceof Error ? error.message : String(error)}`
51
+ : error instanceof Error
52
+ ? error.message
53
+ : String(error);
54
+ return new InternalError(message, {
55
+ cause: error instanceof Error ? error : undefined,
56
+ });
57
+ }
58
+ /**
59
+ * Create an InternalError for an unexpected state.
60
+ */
61
+ static unexpectedState(description) {
62
+ return new InternalError(`Unexpected state: ${description}`, {
63
+ recoveryHint: "This indicates a bug. Please report this issue.",
64
+ });
65
+ }
66
+ /**
67
+ * Create an InternalError for missing implementation.
68
+ */
69
+ static notImplemented(feature) {
70
+ return new InternalError(`Feature '${feature}' is not implemented`, {
71
+ recoveryHint: `The feature '${feature}' is not yet implemented.`,
72
+ });
73
+ }
74
+ }
75
+ // ============================================================================
76
+ // Registry Error
77
+ // ============================================================================
78
+ /**
79
+ * Error for tool/resource registry operations.
80
+ *
81
+ * Used when registering, unregistering, or looking up
82
+ * tools and resources fails.
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * throw RegistryError.toolNotFound('unknown_tool');
87
+ * throw RegistryError.duplicateTool('existing_tool');
88
+ * ```
89
+ */
90
+ export class RegistryError extends AppError {
91
+ /** The type of registry item (tool, resource, prompt) */
92
+ itemType;
93
+ /** The name of the item */
94
+ itemName;
95
+ constructor(message, itemType, itemName, options = {}) {
96
+ super(message, {
97
+ code: ErrorCodes.REGISTRY_ERROR,
98
+ statusCode: 404, // Usually not found
99
+ mcpCode: ErrorCode.MethodNotFound,
100
+ cause: options.cause,
101
+ recoveryHint: options.recoveryHint,
102
+ context: {
103
+ ...options.context,
104
+ itemType,
105
+ itemName,
106
+ },
107
+ });
108
+ this.itemType = itemType;
109
+ this.itemName = itemName;
110
+ }
111
+ // ─────────────────────────────────────────────────────────────────────────
112
+ // Tool Factory Methods
113
+ // ─────────────────────────────────────────────────────────────────────────
114
+ /**
115
+ * Create a RegistryError for a tool not found.
116
+ */
117
+ static toolNotFound(name) {
118
+ return new RegistryError(`Tool '${name}' not found`, "tool", name, {
119
+ recoveryHint: `Check the tool name '${name}' is correct. Use tools/list to see available tools.`,
120
+ });
121
+ }
122
+ /**
123
+ * Create a RegistryError for duplicate tool registration.
124
+ */
125
+ static duplicateTool(name) {
126
+ return new RegistryError(`Tool '${name}' is already registered`, "tool", name, {
127
+ recoveryHint: `Tool '${name}' is already registered. Use a different name.`,
128
+ });
129
+ }
130
+ // ─────────────────────────────────────────────────────────────────────────
131
+ // Resource Factory Methods
132
+ // ─────────────────────────────────────────────────────────────────────────
133
+ /**
134
+ * Create a RegistryError for a resource not found.
135
+ */
136
+ static resourceNotFound(name) {
137
+ return new RegistryError(`Resource '${name}' not found`, "resource", name, {
138
+ recoveryHint: `Check the resource URI '${name}' is correct. Use resources/list to see available resources.`,
139
+ });
140
+ }
141
+ /**
142
+ * Create a RegistryError for duplicate resource registration.
143
+ */
144
+ static duplicateResource(name) {
145
+ return new RegistryError(`Resource '${name}' is already registered`, "resource", name, {
146
+ recoveryHint: `Resource '${name}' is already registered. Use a different URI.`,
147
+ });
148
+ }
149
+ // ─────────────────────────────────────────────────────────────────────────
150
+ // Prompt Factory Methods
151
+ // ─────────────────────────────────────────────────────────────────────────
152
+ /**
153
+ * Create a RegistryError for a prompt not found.
154
+ */
155
+ static promptNotFound(name) {
156
+ return new RegistryError(`Prompt '${name}' not found`, "prompt", name, {
157
+ recoveryHint: `Check the prompt name '${name}' is correct. Use prompts/list to see available prompts.`,
158
+ });
159
+ }
160
+ /**
161
+ * Create a RegistryError for duplicate prompt registration.
162
+ */
163
+ static duplicatePrompt(name) {
164
+ return new RegistryError(`Prompt '${name}' is already registered`, "prompt", name, {
165
+ recoveryHint: `Prompt '${name}' is already registered. Use a different name.`,
166
+ });
167
+ }
168
+ // ─────────────────────────────────────────────────────────────────────────
169
+ // Generic Factory Methods
170
+ // ─────────────────────────────────────────────────────────────────────────
171
+ /** @internal Mapping for valid registry item types — eliminates type assertion */
172
+ static TYPE_MAP = {
173
+ tool: "tool",
174
+ resource: "resource",
175
+ prompt: "prompt",
176
+ };
177
+ /**
178
+ * Create a RegistryError for a generic duplicate registration.
179
+ *
180
+ * @param itemType - The type of item (e.g., 'Tool', 'Resource', 'Prompt')
181
+ * @param itemName - The name of the item
182
+ */
183
+ static duplicate(itemType, itemName) {
184
+ const normalizedType = RegistryError.TYPE_MAP[itemType.toLowerCase()] ?? "tool";
185
+ return new RegistryError(`${itemType} '${itemName}' is already registered`, normalizedType, itemName, {
186
+ recoveryHint: `${itemType} '${itemName}' is already registered. Use a different name.`,
187
+ });
188
+ }
189
+ }
190
+ //# sourceMappingURL=system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/errors/categories/system.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Transport Error
3
+ *
4
+ * Error for MCP transport layer issues (connection, binding, rate limiting).
5
+ *
6
+ * @module errors/categories/transport
7
+ */
8
+ import { AppError } from "../core/index.js";
9
+ import type { BaseErrorOptions } from "../core/index.js";
10
+ /**
11
+ * Error thrown for transport layer issues.
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * throw TransportError.closed();
16
+ * throw TransportError.connectionFailed('timeout');
17
+ * ```
18
+ */
19
+ export declare class TransportError extends AppError {
20
+ /** The transport type */
21
+ readonly transportType?: "http" | "sse" | "stdio" | undefined;
22
+ constructor(message: string, options?: Omit<BaseErrorOptions, "code"> & {
23
+ transportType?: "http" | "sse" | "stdio" | undefined;
24
+ });
25
+ /**
26
+ * Create an error for closed transport.
27
+ */
28
+ static closed(): TransportError;
29
+ /**
30
+ * Create an error for transport not started.
31
+ */
32
+ static notStarted(): TransportError;
33
+ /**
34
+ * Create an error for unsupported transport type.
35
+ */
36
+ static unsupported(transport: string): TransportError;
37
+ /**
38
+ * Create an error for connection failure.
39
+ */
40
+ static connectionFailed(reason: string): TransportError;
41
+ /**
42
+ * Create an error for connection closed.
43
+ */
44
+ static connectionClosed(reason?: string): TransportError;
45
+ /**
46
+ * Create an error for invalid header.
47
+ */
48
+ static invalidHeader(header: string, reason: string): TransportError;
49
+ /**
50
+ * Create an error for protocol mismatch.
51
+ */
52
+ static protocolMismatch(expected: string, received: string): TransportError;
53
+ /**
54
+ * Create an error for rate limiting.
55
+ */
56
+ static rateLimited(retryAfterSeconds?: number): TransportError;
57
+ /**
58
+ * Create an error for DNS rebinding attack.
59
+ */
60
+ static dnsRebinding(host: string): TransportError;
61
+ /**
62
+ * Create an error for port already in use (EADDRINUSE).
63
+ */
64
+ static portInUse(bind: string): TransportError;
65
+ /**
66
+ * Create an error for insufficient privileges to bind (EACCES).
67
+ */
68
+ static privilegesRequired(bind: string): TransportError;
69
+ }
70
+ //# sourceMappingURL=transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/errors/categories/transport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,QAAQ,EAA0B,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAMzD;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,yBAAyB;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;gBAG5D,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG;QACxC,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;KACjD;IAqBR;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,cAAc;IAM/B;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,cAAc;IAMnC;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc;IAMrD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc;IAOvD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc;IAQxD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc;IAQpE;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc;IAQ3E;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,cAAc;IAc9D;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;IAQjD;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;IAO9C;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;CAMxD"}
@@ -0,0 +1,148 @@
1
+ /**
2
+ * Transport Error
3
+ *
4
+ * Error for MCP transport layer issues (connection, binding, rate limiting).
5
+ *
6
+ * @module errors/categories/transport
7
+ */
8
+ import { ErrorCode } from "@modelcontextprotocol/sdk/types.js";
9
+ import { AppError, ErrorCodes, HttpStatus } from "../core/index.js";
10
+ // ============================================================================
11
+ // Transport Error
12
+ // ============================================================================
13
+ /**
14
+ * Error thrown for transport layer issues.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * throw TransportError.closed();
19
+ * throw TransportError.connectionFailed('timeout');
20
+ * ```
21
+ */
22
+ export class TransportError extends AppError {
23
+ /** The transport type */
24
+ transportType;
25
+ constructor(message, options = {}) {
26
+ super(message, {
27
+ code: ErrorCodes.SERVICE_UNAVAILABLE,
28
+ statusCode: options.statusCode ?? HttpStatus.SERVICE_UNAVAILABLE,
29
+ mcpCode: ErrorCode.InternalError,
30
+ cause: options.cause,
31
+ recoveryHint: options.recoveryHint,
32
+ context: {
33
+ ...options.context,
34
+ transportType: options.transportType,
35
+ },
36
+ });
37
+ this.transportType = options.transportType;
38
+ }
39
+ // ─────────────────────────────────────────────────────────────────────────
40
+ // Factory Methods
41
+ // ─────────────────────────────────────────────────────────────────────────
42
+ /**
43
+ * Create an error for closed transport.
44
+ */
45
+ static closed() {
46
+ return new TransportError("Transport is closed", {
47
+ recoveryHint: "The transport connection was closed. Reconnect to continue.",
48
+ });
49
+ }
50
+ /**
51
+ * Create an error for transport not started.
52
+ */
53
+ static notStarted() {
54
+ return new TransportError("Transport not started", {
55
+ recoveryHint: "Ensure the transport is properly started before sending messages.",
56
+ });
57
+ }
58
+ /**
59
+ * Create an error for unsupported transport type.
60
+ */
61
+ static unsupported(transport) {
62
+ return new TransportError(`Unsupported transport type: ${transport}`, {
63
+ recoveryHint: "Use a supported transport type: stdio or http.",
64
+ });
65
+ }
66
+ /**
67
+ * Create an error for connection failure.
68
+ */
69
+ static connectionFailed(reason) {
70
+ return new TransportError(`Connection failed: ${reason}`, {
71
+ statusCode: HttpStatus.BAD_GATEWAY,
72
+ recoveryHint: `Connection failed: ${reason}. Check network connectivity and try again.`,
73
+ });
74
+ }
75
+ /**
76
+ * Create an error for connection closed.
77
+ */
78
+ static connectionClosed(reason) {
79
+ const message = reason ? `Connection closed: ${reason}` : "Connection closed";
80
+ return new TransportError(message, {
81
+ recoveryHint: "The connection was closed. Reconnect to continue.",
82
+ });
83
+ }
84
+ /**
85
+ * Create an error for invalid header.
86
+ */
87
+ static invalidHeader(header, reason) {
88
+ return new TransportError(`Invalid header '${header}': ${reason}`, {
89
+ statusCode: HttpStatus.BAD_REQUEST,
90
+ context: { header, reason },
91
+ recoveryHint: `Check the '${header}' header value.`,
92
+ });
93
+ }
94
+ /**
95
+ * Create an error for protocol mismatch.
96
+ */
97
+ static protocolMismatch(expected, received) {
98
+ return new TransportError(`Protocol mismatch: expected '${expected}', received '${received}'`, {
99
+ statusCode: HttpStatus.BAD_REQUEST,
100
+ context: { expected, received },
101
+ recoveryHint: `Use protocol version '${expected}'.`,
102
+ });
103
+ }
104
+ /**
105
+ * Create an error for rate limiting.
106
+ */
107
+ static rateLimited(retryAfterSeconds) {
108
+ const message = retryAfterSeconds
109
+ ? `Rate limit exceeded. Retry after ${retryAfterSeconds} seconds`
110
+ : "Rate limit exceeded";
111
+ return new TransportError(message, {
112
+ statusCode: HttpStatus.TOO_MANY_REQUESTS,
113
+ context: retryAfterSeconds ? { retryAfterSeconds } : undefined,
114
+ recoveryHint: retryAfterSeconds
115
+ ? `Wait ${retryAfterSeconds} seconds before retrying.`
116
+ : "Wait a moment before retrying.",
117
+ });
118
+ }
119
+ /**
120
+ * Create an error for DNS rebinding attack.
121
+ */
122
+ static dnsRebinding(host) {
123
+ return new TransportError(`DNS rebinding attack detected from host '${host}'`, {
124
+ statusCode: HttpStatus.FORBIDDEN,
125
+ context: { host },
126
+ recoveryHint: "Access denied for security reasons.",
127
+ });
128
+ }
129
+ /**
130
+ * Create an error for port already in use (EADDRINUSE).
131
+ */
132
+ static portInUse(bind) {
133
+ return new TransportError(`Port ${bind} is already in use — server cannot start`, {
134
+ context: { bind },
135
+ recoveryHint: `Free port or choose a different one via MCP_PORT.`,
136
+ });
137
+ }
138
+ /**
139
+ * Create an error for insufficient privileges to bind (EACCES).
140
+ */
141
+ static privilegesRequired(bind) {
142
+ return new TransportError(`Binding to ${bind} requires elevated privileges`, {
143
+ context: { bind },
144
+ recoveryHint: "Use a port above 1024 or run with elevated privileges.",
145
+ });
146
+ }
147
+ }
148
+ //# sourceMappingURL=transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/errors/categories/transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Validation Error Classes
3
+ *
4
+ * Errors related to input validation and configuration:
5
+ * - ValidationError: Input validation failures
6
+ * - ConfigurationError: Configuration/environment errors
7
+ *
8
+ * @module errors/categories/validation
9
+ */
10
+ import { ZodError } from "zod";
11
+ import { AppError } from "../core/index.js";
12
+ import type { ValidationErrorOptions, ValidationIssue, BaseErrorOptions } from "../core/index.js";
13
+ /**
14
+ * Error thrown when input validation fails.
15
+ *
16
+ * Integrates with Zod for schema validation errors.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * // From Zod error
21
+ * throw ValidationError.fromZodError(zodError, 'Invalid server configuration');
22
+ *
23
+ * // Manual validation
24
+ * throw new ValidationError('Server name is required', {
25
+ * field: 'server',
26
+ * value: undefined
27
+ * });
28
+ *
29
+ * // Using factory methods
30
+ * throw ValidationError.fieldRequired('server');
31
+ * ```
32
+ */
33
+ export declare class ValidationError extends AppError {
34
+ /** The field that failed validation */
35
+ readonly field?: string | undefined;
36
+ /** The invalid value (sanitized) */
37
+ readonly value?: unknown;
38
+ /** All validation issues (for multi-field validation) */
39
+ readonly issues?: ValidationIssue[] | undefined;
40
+ constructor(message: string, options?: ValidationErrorOptions);
41
+ /**
42
+ * Sanitize a value for safe storage/logging.
43
+ * Removes potential sensitive data.
44
+ */
45
+ private sanitizeValue;
46
+ /**
47
+ * Create a ValidationError from a Zod error.
48
+ */
49
+ static fromZodError(zodError: ZodError, message?: string): ValidationError;
50
+ /**
51
+ * Create a ValidationError for a required field.
52
+ */
53
+ static fieldRequired(field: string): ValidationError;
54
+ /**
55
+ * Create a ValidationError for an invalid field value.
56
+ */
57
+ static fieldInvalid(field: string, value?: unknown): ValidationError;
58
+ /**
59
+ * Create a ValidationError for a type mismatch.
60
+ */
61
+ static fieldTypeMismatch(field: string, expectedType: string): ValidationError;
62
+ /**
63
+ * Create a ValidationError for minimum value constraint.
64
+ */
65
+ static fieldMin(field: string, min: number): ValidationError;
66
+ /**
67
+ * Create a ValidationError for maximum value constraint.
68
+ */
69
+ static fieldMax(field: string, max: number): ValidationError;
70
+ /**
71
+ * Create a ValidationError for pattern mismatch.
72
+ */
73
+ static fieldPattern(field: string): ValidationError;
74
+ /**
75
+ * Format issues as a human-readable list.
76
+ */
77
+ formatIssues(): string;
78
+ }
79
+ /**
80
+ * Error thrown when configuration is invalid.
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * throw new ConfigurationError('Missing required environment variable: API_URL');
85
+ *
86
+ * // Using factory methods
87
+ * throw ConfigurationError.missingEnvVar('API_URL');
88
+ * throw ConfigurationError.invalidEnvVar('API_PORT', 'must be a number');
89
+ * ```
90
+ */
91
+ export declare class ConfigurationError extends AppError {
92
+ /** The configuration key that is invalid */
93
+ readonly configKey?: string | undefined;
94
+ constructor(message: string, options?: Omit<BaseErrorOptions, "code"> & {
95
+ configKey?: string | undefined;
96
+ });
97
+ /**
98
+ * Create a ConfigurationError for a missing environment variable.
99
+ */
100
+ static missingEnvVar(varName: string): ConfigurationError;
101
+ /**
102
+ * Create a ConfigurationError for an invalid environment variable value.
103
+ */
104
+ static invalidEnvVar(varName: string, reason: string): ConfigurationError;
105
+ /**
106
+ * Create a ConfigurationError with a custom message.
107
+ */
108
+ static invalid(message: string): ConfigurationError;
109
+ /**
110
+ * Create a ConfigurationError for an explicitly specified config file that doesn't exist.
111
+ */
112
+ static fileNotFound(filePath: string): ConfigurationError;
113
+ /**
114
+ * Create a ConfigurationError for a file that could not be read.
115
+ */
116
+ static fileReadFailed(filePath: string, cause?: Error): ConfigurationError;
117
+ /**
118
+ * Create a ConfigurationError for a TOML/YAML parse failure.
119
+ */
120
+ static fileParseFailed(filePath: string, cause?: Error): ConfigurationError;
121
+ /**
122
+ * Create a ConfigurationError for schema validation failures in a config file.
123
+ *
124
+ * Formats Zod issues into a human-readable message with the file path
125
+ * so users can locate and fix typos or invalid values.
126
+ */
127
+ static fileValidationFailed(filePath: string, zodError: ZodError): ConfigurationError;
128
+ /**
129
+ * Create a ConfigurationError for an unsupported config file extension.
130
+ */
131
+ static unsupportedFormat(extension: string): ConfigurationError;
132
+ /**
133
+ * Create a ConfigurationError for cross-field validation failures.
134
+ *
135
+ * Used after merging all config sources (env + file + overrides)
136
+ * to validate constraints that span multiple fields.
137
+ */
138
+ static constraintViolation(message: string, fields: string[]): ConfigurationError;
139
+ }
140
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/errors/categories/validation.ts"],"names":[],"mappings":"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"}