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,132 @@
1
+ /**
2
+ * Session Types
3
+ *
4
+ * The Session is the single source of truth for a connected MCP client.
5
+ * It composes transport, auth, and MCP session contexts into one unified entity.
6
+ *
7
+ * @module server/session/session
8
+ */
9
+ import type { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
10
+ import type { McpSession } from "./mcp-session.js";
11
+ import type { TransportType, TransportContext } from "../transport/transport-context.js";
12
+ import { type AuthContext } from "../auth/index.js";
13
+ /**
14
+ * Session lifecycle state constants.
15
+ *
16
+ * Single source of truth — use these instead of raw string literals.
17
+ */
18
+ export declare const SESSION_STATES: {
19
+ readonly CREATED: "created";
20
+ readonly ACTIVE: "active";
21
+ readonly CLOSING: "closing";
22
+ readonly CLOSED: "closed";
23
+ };
24
+ /**
25
+ * Session lifecycle states.
26
+ */
27
+ export type SessionState = (typeof SESSION_STATES)[keyof typeof SESSION_STATES];
28
+ /**
29
+ * Reason for session closure.
30
+ *
31
+ * Single source of truth — use `SESSION_CLOSE_REASONS.*` instead of raw string literals.
32
+ */
33
+ export declare const SESSION_CLOSE_REASONS: {
34
+ readonly CLIENT_DISCONNECT: "client_disconnect";
35
+ readonly TIMEOUT: "timeout";
36
+ readonly HEARTBEAT_FAILURE: "heartbeat_failure";
37
+ readonly ERROR: "error";
38
+ readonly SHUTDOWN: "shutdown";
39
+ readonly REPLACED: "replaced";
40
+ };
41
+ /**
42
+ * Session close reason type (derived from const object).
43
+ */
44
+ export type SessionCloseReason = (typeof SESSION_CLOSE_REASONS)[keyof typeof SESSION_CLOSE_REASONS];
45
+ /**
46
+ * Information about the connected client.
47
+ *
48
+ * Captured from MCP initialize request and HTTP headers.
49
+ */
50
+ export interface ClientInfo {
51
+ /** Client name from MCP initialization */
52
+ name?: string | undefined;
53
+ /** Client version from MCP initialization */
54
+ version?: string | undefined;
55
+ /** Remote IP address (for HTTP connections) */
56
+ remoteAddress?: string | undefined;
57
+ /** User agent header (for HTTP connections) */
58
+ userAgent?: string | undefined;
59
+ }
60
+ /**
61
+ * Session lifecycle and timing metadata.
62
+ *
63
+ * Grouped separately from core session identity for clean serialization
64
+ * and future Session Store support (Phase 4.3 — Redis-ready).
65
+ */
66
+ export interface SessionMetadata {
67
+ /** When the session was created */
68
+ readonly createdAt: Date;
69
+ /** Last activity timestamp (updated on touch) */
70
+ lastActivityAt: Date;
71
+ }
72
+ /**
73
+ * A unified session representing a single connected MCP client.
74
+ *
75
+ * The Session is the **source of truth** for everything related to a client connection.
76
+ * It directly owns the MCP session (SDK bridge), transport context, and auth context.
77
+ *
78
+ * ## Composition
79
+ * ```
80
+ * Session
81
+ * ├── id (unique identifier)
82
+ * ├── state (lifecycle: created → active → closing → closed)
83
+ * ├── transport → TransportContext (type, instance, heartbeat)
84
+ * ├── mcpSession → McpSession (SDK server, request manager)
85
+ * ├── auth → AuthContext (SDK AuthInfo + framework permissions)
86
+ * ├── clientInfo → ClientInfo (name, version, remoteAddress)
87
+ * └── metadata → SessionMetadata (createdAt, lastActivityAt)
88
+ * ```
89
+ */
90
+ export interface Session {
91
+ /** Unique session identifier (from transport or generated) */
92
+ readonly id: string;
93
+ /** Current lifecycle state */
94
+ state: SessionState;
95
+ /** Transport-layer context */
96
+ readonly transport: TransportContext;
97
+ /** MCP session — SDK server wrapper with per-client request manager */
98
+ readonly mcpSession: McpSession;
99
+ /** Authentication context (immutable after creation) */
100
+ readonly auth: AuthContext;
101
+ /** Client information (populated after initialize) */
102
+ clientInfo: ClientInfo;
103
+ /** Session timing and lifecycle metadata */
104
+ readonly metadata: SessionMetadata;
105
+ }
106
+ /**
107
+ * Read-only view of a Session for external consumers.
108
+ * Used in forEach callbacks and other external-facing APIs.
109
+ */
110
+ export type ReadonlySession = Readonly<Session>;
111
+ /**
112
+ * Options for creating a new session.
113
+ */
114
+ export interface CreateSessionOptions {
115
+ /** Session ID (if undefined, will be generated) */
116
+ id?: string;
117
+ /** Transport type */
118
+ transportType: TransportType;
119
+ /** MCP SDK transport instance */
120
+ transport: Transport;
121
+ /** Managed MCP session instance */
122
+ mcpSession: McpSession;
123
+ /** Initial auth context (defaults to anonymous) */
124
+ auth?: AuthContext;
125
+ /** Initial client info */
126
+ clientInfo?: Partial<ClientInfo>;
127
+ }
128
+ /**
129
+ * Factory function to create a composed session.
130
+ */
131
+ export declare function createSession(options: CreateSessionOptions): Session;
132
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/server/session/session.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAEzF,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAMpE;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;;;;CAOxB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC;AAMpG;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAMD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,mCAAmC;IACnC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IAEzB,iDAAiD;IACjD,cAAc,EAAE,IAAI,CAAC;CACtB;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,OAAO;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,8BAA8B;IAC9B,KAAK,EAAE,YAAY,CAAC;IAEpB,8BAA8B;IAC9B,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAErC,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B,sDAAsD;IACtD,UAAU,EAAE,UAAU,CAAC;IAEvB,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;AAMhD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,qBAAqB;IACrB,aAAa,EAAE,aAAa,CAAC;IAE7B,iCAAiC;IACjC,SAAS,EAAE,SAAS,CAAC;IAErB,mCAAmC;IACnC,UAAU,EAAE,UAAU,CAAC;IAEvB,mDAAmD;IACnD,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAoBpE"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Session Types
3
+ *
4
+ * The Session is the single source of truth for a connected MCP client.
5
+ * It composes transport, auth, and MCP session contexts into one unified entity.
6
+ *
7
+ * @module server/session/session
8
+ */
9
+ import { createTransportContext } from "../transport/transport-context.js";
10
+ import { ANONYMOUS_AUTH } from "../auth/index.js";
11
+ // ============================================================================
12
+ // Session Lifecycle
13
+ // ============================================================================
14
+ /**
15
+ * Session lifecycle state constants.
16
+ *
17
+ * Single source of truth — use these instead of raw string literals.
18
+ */
19
+ export const SESSION_STATES = {
20
+ CREATED: "created",
21
+ ACTIVE: "active",
22
+ CLOSING: "closing",
23
+ CLOSED: "closed",
24
+ };
25
+ /**
26
+ * Reason for session closure.
27
+ *
28
+ * Single source of truth — use `SESSION_CLOSE_REASONS.*` instead of raw string literals.
29
+ */
30
+ export const SESSION_CLOSE_REASONS = {
31
+ CLIENT_DISCONNECT: "client_disconnect",
32
+ TIMEOUT: "timeout",
33
+ HEARTBEAT_FAILURE: "heartbeat_failure",
34
+ ERROR: "error",
35
+ SHUTDOWN: "shutdown",
36
+ REPLACED: "replaced",
37
+ };
38
+ /**
39
+ * Factory function to create a composed session.
40
+ */
41
+ export function createSession(options) {
42
+ const now = new Date();
43
+ return {
44
+ id: options.id ?? crypto.randomUUID(),
45
+ state: SESSION_STATES.CREATED,
46
+ transport: createTransportContext(options.transportType, options.transport),
47
+ mcpSession: options.mcpSession,
48
+ auth: options.auth ?? ANONYMOUS_AUTH,
49
+ clientInfo: {
50
+ name: options.clientInfo?.name,
51
+ version: options.clientInfo?.version,
52
+ remoteAddress: options.clientInfo?.remoteAddress,
53
+ userAgent: options.clientInfo?.userAgent,
54
+ },
55
+ metadata: {
56
+ createdAt: now,
57
+ lastActivityAt: now,
58
+ },
59
+ };
60
+ }
61
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/server/session/session.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAoB,MAAM,kBAAkB,CAAC;AAEpE,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;CACR,CAAC;AAOX;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,iBAAiB,EAAE,mBAAmB;IACtC,OAAO,EAAE,SAAS;IAClB,iBAAiB,EAAE,mBAAmB;IACtC,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;CACZ,CAAC;AA8HX;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAA6B;IACzD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE;QACrC,KAAK,EAAE,cAAc,CAAC,OAAO;QAC7B,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC;QAC3E,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,cAAc;QACpC,UAAU,EAAE;YACV,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI;YAC9B,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO;YACpC,aAAa,EAAE,OAAO,CAAC,UAAU,EAAE,aAAa;YAChD,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS;SACzC;QACD,QAAQ,EAAE;YACR,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,GAAG;SACpB;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Transport Constants
3
+ *
4
+ * Central place for all transport-layer constants:
5
+ * log component names, route paths, MCP headers, query parameters, and SSE events.
6
+ *
7
+ * Eliminates magic strings across the transport module.
8
+ *
9
+ * @module server/transport/constants
10
+ */
11
+ /**
12
+ * Logger component names for transport layer.
13
+ * Used for consistent log categorization.
14
+ */
15
+ export declare const TRANSPORT_LOG_COMPONENTS: {
16
+ /** Main HTTP server */
17
+ readonly HTTP_SERVER: "HttpServer";
18
+ /** Streamable HTTP transport */
19
+ readonly STREAMABLE_HTTP: "StreamableHttp";
20
+ /** Legacy SSE transport */
21
+ readonly SSE: "Sse";
22
+ /** Rate limiting @public — available for consumer transport implementations */
23
+ readonly RATE_LIMIT: "RateLimit";
24
+ /** DNS rebinding protection @public — available for consumer transport implementations */
25
+ readonly DNS_PROTECTION: "DnsProtection";
26
+ /** Session management @public — available for consumer transport implementations */
27
+ readonly SESSION: "Session";
28
+ /** Health endpoints @public — available for consumer transport implementations */
29
+ readonly HEALTH: "Health";
30
+ /** Security (TLS, credentials) */
31
+ readonly SECURITY: "Security";
32
+ /** TLS certificate operations @public — available for consumer transport implementations */
33
+ readonly TLS: "Tls";
34
+ };
35
+ /**
36
+ * All route paths used in the transport layer.
37
+ */
38
+ export declare const TRANSPORT_ROUTES: {
39
+ /** Primary MCP endpoint for Streamable HTTP transport */
40
+ readonly MCP: "/mcp";
41
+ /** SSE connection endpoint (legacy transport, deprecated 2024-11-05) */
42
+ readonly SSE: "/sse";
43
+ /** SSE message endpoint for connections via /sse */
44
+ readonly SSE_MESSAGE: "/sse/message";
45
+ /** SSE message endpoint for connections via /mcp */
46
+ readonly MCP_MESSAGE: "/mcp/message";
47
+ /** Health check endpoint */
48
+ readonly HEALTH: "/health";
49
+ /** Readiness check endpoint */
50
+ readonly READY: "/ready";
51
+ /** Prometheus metrics endpoint (available when OTEL is enabled) */
52
+ readonly METRICS: "/metrics";
53
+ };
54
+ /**
55
+ * HTTP header names defined by the MCP specification.
56
+ */
57
+ export declare const MCP_HEADERS: {
58
+ /** Session identifier header (MCP 2025-03-26) */
59
+ readonly SESSION_ID: "mcp-session-id";
60
+ /** Protocol version header (MCP 2025-03-26) */
61
+ readonly PROTOCOL_VERSION: "mcp-protocol-version";
62
+ };
63
+ /**
64
+ * Query parameter name accepted as session ID fallback.
65
+ *
66
+ * For clients that cannot set custom HTTP headers (e.g. browser EventSource),
67
+ * the session ID can be provided via query parameter.
68
+ *
69
+ * Uses a single canonical name to minimize attack surface (DD-023).
70
+ */
71
+ export declare const SESSION_ID_QUERY_PARAMS: readonly ["sessionId"];
72
+ /**
73
+ * Server-Sent Event names used by the SSE transport.
74
+ */
75
+ export declare const SSE_EVENTS: {
76
+ /** Connection handshake event (sends message endpoint URL) */
77
+ readonly ENDPOINT: "endpoint";
78
+ /** JSON-RPC message event */
79
+ readonly MESSAGE: "message";
80
+ };
81
+ /**
82
+ * Number of characters to display for shortened session IDs in logs.
83
+ */
84
+ export declare const SESSION_ID_DISPLAY_LENGTH = 8;
85
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/server/transport/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;;GAGG;AACH,eAAO,MAAM,wBAAwB;IACnC,uBAAuB;;IAEvB,gCAAgC;;IAEhC,2BAA2B;;IAE3B,+EAA+E;;IAE/E,0FAA0F;;IAE1F,oFAAoF;;IAEpF,kFAAkF;;IAElF,kCAAkC;;IAElC,4FAA4F;;CAEpF,CAAC;AAMX;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B,yDAAyD;;IAEzD,wEAAwE;;IAExE,oDAAoD;;IAEpD,oDAAoD;;IAEpD,4BAA4B;;IAE5B,+BAA+B;;IAE/B,mEAAmE;;CAE3D,CAAC;AAMX;;GAEG;AACH,eAAO,MAAM,WAAW;IACtB,iDAAiD;;IAEjD,+CAA+C;;CAEvC,CAAC;AAMX;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,wBAAyB,CAAC;AAM9D;;GAEG;AACH,eAAO,MAAM,UAAU;IACrB,8DAA8D;;IAE9D,6BAA6B;;CAErB,CAAC;AAMX;;GAEG;AACH,eAAO,MAAM,yBAAyB,IAAI,CAAC"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Transport Constants
3
+ *
4
+ * Central place for all transport-layer constants:
5
+ * log component names, route paths, MCP headers, query parameters, and SSE events.
6
+ *
7
+ * Eliminates magic strings across the transport module.
8
+ *
9
+ * @module server/transport/constants
10
+ */
11
+ // ============================================================================
12
+ // Log Components
13
+ // ============================================================================
14
+ /**
15
+ * Logger component names for transport layer.
16
+ * Used for consistent log categorization.
17
+ */
18
+ export const TRANSPORT_LOG_COMPONENTS = {
19
+ /** Main HTTP server */
20
+ HTTP_SERVER: "HttpServer",
21
+ /** Streamable HTTP transport */
22
+ STREAMABLE_HTTP: "StreamableHttp",
23
+ /** Legacy SSE transport */
24
+ SSE: "Sse",
25
+ /** Rate limiting @public — available for consumer transport implementations */
26
+ RATE_LIMIT: "RateLimit",
27
+ /** DNS rebinding protection @public — available for consumer transport implementations */
28
+ DNS_PROTECTION: "DnsProtection",
29
+ /** Session management @public — available for consumer transport implementations */
30
+ SESSION: "Session",
31
+ /** Health endpoints @public — available for consumer transport implementations */
32
+ HEALTH: "Health",
33
+ /** Security (TLS, credentials) */
34
+ SECURITY: "Security",
35
+ /** TLS certificate operations @public — available for consumer transport implementations */
36
+ TLS: "Tls",
37
+ };
38
+ // ============================================================================
39
+ // Route Paths
40
+ // ============================================================================
41
+ /**
42
+ * All route paths used in the transport layer.
43
+ */
44
+ export const TRANSPORT_ROUTES = {
45
+ /** Primary MCP endpoint for Streamable HTTP transport */
46
+ MCP: "/mcp",
47
+ /** SSE connection endpoint (legacy transport, deprecated 2024-11-05) */
48
+ SSE: "/sse",
49
+ /** SSE message endpoint for connections via /sse */
50
+ SSE_MESSAGE: "/sse/message",
51
+ /** SSE message endpoint for connections via /mcp */
52
+ MCP_MESSAGE: "/mcp/message",
53
+ /** Health check endpoint */
54
+ HEALTH: "/health",
55
+ /** Readiness check endpoint */
56
+ READY: "/ready",
57
+ /** Prometheus metrics endpoint (available when OTEL is enabled) */
58
+ METRICS: "/metrics",
59
+ };
60
+ // ============================================================================
61
+ // MCP Headers
62
+ // ============================================================================
63
+ /**
64
+ * HTTP header names defined by the MCP specification.
65
+ */
66
+ export const MCP_HEADERS = {
67
+ /** Session identifier header (MCP 2025-03-26) */
68
+ SESSION_ID: "mcp-session-id",
69
+ /** Protocol version header (MCP 2025-03-26) */
70
+ PROTOCOL_VERSION: "mcp-protocol-version",
71
+ };
72
+ // ============================================================================
73
+ // Query Parameters
74
+ // ============================================================================
75
+ /**
76
+ * Query parameter name accepted as session ID fallback.
77
+ *
78
+ * For clients that cannot set custom HTTP headers (e.g. browser EventSource),
79
+ * the session ID can be provided via query parameter.
80
+ *
81
+ * Uses a single canonical name to minimize attack surface (DD-023).
82
+ */
83
+ export const SESSION_ID_QUERY_PARAMS = ["sessionId"];
84
+ // ============================================================================
85
+ // SSE Events
86
+ // ============================================================================
87
+ /**
88
+ * Server-Sent Event names used by the SSE transport.
89
+ */
90
+ export const SSE_EVENTS = {
91
+ /** Connection handshake event (sends message endpoint URL) */
92
+ ENDPOINT: "endpoint",
93
+ /** JSON-RPC message event */
94
+ MESSAGE: "message",
95
+ };
96
+ // ============================================================================
97
+ // Session Display
98
+ // ============================================================================
99
+ /**
100
+ * Number of characters to display for shortened session IDs in logs.
101
+ */
102
+ export const SESSION_ID_DISPLAY_LENGTH = 8;
103
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/server/transport/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,uBAAuB;IACvB,WAAW,EAAE,YAAY;IACzB,gCAAgC;IAChC,eAAe,EAAE,gBAAgB;IACjC,2BAA2B;IAC3B,GAAG,EAAE,KAAK;IACV,+EAA+E;IAC/E,UAAU,EAAE,WAAW;IACvB,0FAA0F;IAC1F,cAAc,EAAE,eAAe;IAC/B,oFAAoF;IACpF,OAAO,EAAE,SAAS;IAClB,kFAAkF;IAClF,MAAM,EAAE,QAAQ;IAChB,kCAAkC;IAClC,QAAQ,EAAE,UAAU;IACpB,4FAA4F;IAC5F,GAAG,EAAE,KAAK;CACF,CAAC;AAEX,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,yDAAyD;IACzD,GAAG,EAAE,MAAM;IACX,wEAAwE;IACxE,GAAG,EAAE,MAAM;IACX,oDAAoD;IACpD,WAAW,EAAE,cAAc;IAC3B,oDAAoD;IACpD,WAAW,EAAE,cAAc;IAC3B,4BAA4B;IAC5B,MAAM,EAAE,SAAS;IACjB,+BAA+B;IAC/B,KAAK,EAAE,QAAQ;IACf,mEAAmE;IACnE,OAAO,EAAE,UAAU;CACX,CAAC;AAEX,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,iDAAiD;IACjD,UAAU,EAAE,gBAAgB;IAC5B,+CAA+C;IAC/C,gBAAgB,EAAE,sBAAsB;CAChC,CAAC;AAEX,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,WAAW,CAAU,CAAC;AAE9D,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,8DAA8D;IAC9D,QAAQ,EAAE,UAAU;IACpB,6BAA6B;IAC7B,OAAO,EAAE,SAAS;CACV,CAAC;AAEX,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Transport Layer — Public API
3
+ *
4
+ * MCP protocol transports: Stdio and Streamable HTTP (2025-03-26),
5
+ * with optional SSE backwards compatibility (2024-11-05).
6
+ *
7
+ * HTTP infrastructure (Express app, HTTP/S server) is in server/http/.
8
+ * Express routers are in server/routes/.
9
+ * Middleware is in server/middleware/.
10
+ *
11
+ * @see https://modelcontextprotocol.io/specification/2025-03-26/basic/transports
12
+ *
13
+ * @module server/transport
14
+ */
15
+ export type { SessionFactory, TransportHandle, TransportInfo, TransportType, TransportState, HeartbeatCapableTransport, HeartbeatState, TransportContext, } from "./types.js";
16
+ export { createTransportContext, isHeartbeatCapable } from "./types.js";
17
+ export { startStdioTransport } from "./stdio-transport.js";
18
+ export { StreamableHttpTransport } from "./streamable-http/index.js";
19
+ export type { StreamableHttpTransportOptions } from "./streamable-http/index.js";
20
+ export { MCP_HEADERS } from "./constants.js";
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/transport/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,YAAY,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,aAAa,EACb,cAAc,EACd,yBAAyB,EACzB,cAAc,EACd,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAMxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAM3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,YAAY,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAMjF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Transport Layer — Public API
3
+ *
4
+ * MCP protocol transports: Stdio and Streamable HTTP (2025-03-26),
5
+ * with optional SSE backwards compatibility (2024-11-05).
6
+ *
7
+ * HTTP infrastructure (Express app, HTTP/S server) is in server/http/.
8
+ * Express routers are in server/routes/.
9
+ * Middleware is in server/middleware/.
10
+ *
11
+ * @see https://modelcontextprotocol.io/specification/2025-03-26/basic/transports
12
+ *
13
+ * @module server/transport
14
+ */
15
+ export { createTransportContext, isHeartbeatCapable } from "./types.js";
16
+ // ============================================================================
17
+ // Transport Functions
18
+ // ============================================================================
19
+ export { startStdioTransport } from "./stdio-transport.js";
20
+ // ============================================================================
21
+ // Streamable HTTP Transport
22
+ // ============================================================================
23
+ export { StreamableHttpTransport } from "./streamable-http/index.js";
24
+ // ============================================================================
25
+ // Constants (public)
26
+ // ============================================================================
27
+ export { MCP_HEADERS } from "./constants.js";
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/transport/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAiBH,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAExE,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAGrE,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * SSE Request Handler
3
+ *
4
+ * Manages SSE session lifecycle — connection setup, message routing,
5
+ * and cleanup. Parallel to the StreamableHttpTransport's role for
6
+ * the modern Streamable HTTP transport.
7
+ *
8
+ * This handler encapsulates all session management so the SSE router
9
+ * remains a thin routing layer.
10
+ *
11
+ * @module server/transport/sse/handler
12
+ */
13
+ import type { Request, Response } from "express";
14
+ import type { SessionFactory } from "../types.js";
15
+ import type { SessionManager } from "../../session/index.js";
16
+ /**
17
+ * Handles SSE transport session lifecycle and message routing.
18
+ *
19
+ * Manages session creation, connection setup, and message dispatching
20
+ * for the legacy HTTP+SSE transport (deprecated protocol 2024-11-05).
21
+ */
22
+ export declare class SseRequestHandler {
23
+ private readonly sessionFactory;
24
+ private readonly sessionManager;
25
+ constructor(sessionFactory: SessionFactory, sessionManager: SessionManager);
26
+ /**
27
+ * Handle an SSE connection (shared logic for /mcp and /sse endpoints).
28
+ *
29
+ * Creates an SSE stream and connects the MCP server to it.
30
+ * The messageEndpoint parameter determines where clients should POST messages to.
31
+ *
32
+ * Note: mcpServer.connect() automatically calls transport.start() internally,
33
+ * which sends the 'endpoint' SSE event with the message URL containing the sessionId.
34
+ *
35
+ * NOTE: This function requires real SSE connections for full test coverage.
36
+ */
37
+ handleConnection(req: Request, res: Response, messageEndpoint: string): Promise<void>;
38
+ /**
39
+ * Handle an incoming POST message for an SSE session.
40
+ *
41
+ * Looks up the session by query parameter, validates it, and delegates
42
+ * the message to the session's SseTransport.
43
+ */
44
+ handleMessage(req: Request, res: Response, endpoint: string): Promise<void>;
45
+ }
46
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/server/transport/sse/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAyB7D;;;;;GAKG;AACH,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBADd,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc;IAOjD;;;;;;;;;;OAUG;IAEG,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiG3F;;;;;OAKG;IAEG,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA4ClF"}