@cyanheads/mcp-ts-core 0.11.4 → 0.12.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 (366) hide show
  1. package/AGENTS.md +28 -24
  2. package/CLAUDE.md +28 -24
  3. package/README.md +10 -10
  4. package/biome.json +1 -1
  5. package/changelog/0.11.x/0.11.5.md +28 -0
  6. package/changelog/0.12.x/0.12.0.md +96 -0
  7. package/changelog/template.md +55 -16
  8. package/dist/cli/init.js +1 -1
  9. package/dist/cli/init.js.map +1 -1
  10. package/dist/config/index.d.ts +0 -18
  11. package/dist/config/index.d.ts.map +1 -1
  12. package/dist/config/index.js +0 -25
  13. package/dist/config/index.js.map +1 -1
  14. package/dist/core/app.d.ts +5 -7
  15. package/dist/core/app.d.ts.map +1 -1
  16. package/dist/core/app.js +18 -27
  17. package/dist/core/app.js.map +1 -1
  18. package/dist/core/context.d.ts +90 -57
  19. package/dist/core/context.d.ts.map +1 -1
  20. package/dist/core/context.js +32 -33
  21. package/dist/core/context.js.map +1 -1
  22. package/dist/core/gcPressure.d.ts.map +1 -1
  23. package/dist/core/gcPressure.js +3 -4
  24. package/dist/core/gcPressure.js.map +1 -1
  25. package/dist/core/index.d.ts +6 -7
  26. package/dist/core/index.d.ts.map +1 -1
  27. package/dist/core/index.js +10 -2
  28. package/dist/core/index.js.map +1 -1
  29. package/dist/core/serverManifest.d.ts +1 -3
  30. package/dist/core/serverManifest.d.ts.map +1 -1
  31. package/dist/core/serverManifest.js +9 -4
  32. package/dist/core/serverManifest.js.map +1 -1
  33. package/dist/core/worker.d.ts.map +1 -1
  34. package/dist/core/worker.js +32 -35
  35. package/dist/core/worker.js.map +1 -1
  36. package/dist/logs/combined.log +10 -0
  37. package/dist/logs/error.log +6 -0
  38. package/dist/logs/interactions.log +0 -0
  39. package/dist/mcp-server/inputRequired.d.ts +52 -0
  40. package/dist/mcp-server/inputRequired.d.ts.map +1 -0
  41. package/dist/mcp-server/inputRequired.js +76 -0
  42. package/dist/mcp-server/inputRequired.js.map +1 -0
  43. package/dist/mcp-server/notifications.d.ts +33 -31
  44. package/dist/mcp-server/notifications.d.ts.map +1 -1
  45. package/dist/mcp-server/notifications.js +34 -26
  46. package/dist/mcp-server/notifications.js.map +1 -1
  47. package/dist/mcp-server/prompts/prompt-registration.d.ts +2 -2
  48. package/dist/mcp-server/prompts/prompt-registration.d.ts.map +1 -1
  49. package/dist/mcp-server/prompts/prompt-registration.js +15 -5
  50. package/dist/mcp-server/prompts/prompt-registration.js.map +1 -1
  51. package/dist/mcp-server/prompts/utils/promptDefinition.d.ts +1 -1
  52. package/dist/mcp-server/prompts/utils/promptDefinition.d.ts.map +1 -1
  53. package/dist/mcp-server/resources/resource-registration.d.ts +3 -3
  54. package/dist/mcp-server/resources/resource-registration.d.ts.map +1 -1
  55. package/dist/mcp-server/resources/resource-registration.js +8 -15
  56. package/dist/mcp-server/resources/resource-registration.js.map +1 -1
  57. package/dist/mcp-server/resources/resourceSubscriptions.d.ts +45 -0
  58. package/dist/mcp-server/resources/resourceSubscriptions.d.ts.map +1 -0
  59. package/dist/mcp-server/resources/resourceSubscriptions.js +51 -0
  60. package/dist/mcp-server/resources/resourceSubscriptions.js.map +1 -0
  61. package/dist/mcp-server/resources/utils/resourceDefinition.d.ts +3 -5
  62. package/dist/mcp-server/resources/utils/resourceDefinition.d.ts.map +1 -1
  63. package/dist/mcp-server/resources/utils/resourceDefinition.js +1 -1
  64. package/dist/mcp-server/resources/utils/resourceDefinition.js.map +1 -1
  65. package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts +8 -15
  66. package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts.map +1 -1
  67. package/dist/mcp-server/resources/utils/resourceHandlerFactory.js +21 -22
  68. package/dist/mcp-server/resources/utils/resourceHandlerFactory.js.map +1 -1
  69. package/dist/mcp-server/server.d.ts +12 -21
  70. package/dist/mcp-server/server.d.ts.map +1 -1
  71. package/dist/mcp-server/server.js +38 -28
  72. package/dist/mcp-server/server.js.map +1 -1
  73. package/dist/mcp-server/tools/tool-registration.d.ts +11 -33
  74. package/dist/mcp-server/tools/tool-registration.d.ts.map +1 -1
  75. package/dist/mcp-server/tools/tool-registration.js +17 -243
  76. package/dist/mcp-server/tools/tool-registration.js.map +1 -1
  77. package/dist/mcp-server/tools/utils/toolDefinition.d.ts +1 -3
  78. package/dist/mcp-server/tools/utils/toolDefinition.d.ts.map +1 -1
  79. package/dist/mcp-server/tools/utils/toolDefinition.js +48 -1
  80. package/dist/mcp-server/tools/utils/toolDefinition.js.map +1 -1
  81. package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts +46 -20
  82. package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts.map +1 -1
  83. package/dist/mcp-server/tools/utils/toolHandlerFactory.js +131 -25
  84. package/dist/mcp-server/tools/utils/toolHandlerFactory.js.map +1 -1
  85. package/dist/mcp-server/transports/ITransport.d.ts +2 -2
  86. package/dist/mcp-server/transports/ITransport.d.ts.map +1 -1
  87. package/dist/mcp-server/transports/auth/authFactory.js +1 -1
  88. package/dist/mcp-server/transports/auth/authFactory.js.map +1 -1
  89. package/dist/mcp-server/transports/auth/lib/authTypes.d.ts +1 -1
  90. package/dist/mcp-server/transports/auth/lib/authTypes.d.ts.map +1 -1
  91. package/dist/mcp-server/transports/auth/lib/authUtils.d.ts.map +1 -1
  92. package/dist/mcp-server/transports/auth/lib/authUtils.js +5 -13
  93. package/dist/mcp-server/transports/auth/lib/authUtils.js.map +1 -1
  94. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js +5 -11
  95. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js.map +1 -1
  96. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts.map +1 -1
  97. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js +9 -22
  98. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js.map +1 -1
  99. package/dist/mcp-server/transports/heartbeat.d.ts.map +1 -1
  100. package/dist/mcp-server/transports/heartbeat.js +4 -8
  101. package/dist/mcp-server/transports/heartbeat.js.map +1 -1
  102. package/dist/mcp-server/transports/http/httpErrorHandler.d.ts.map +1 -1
  103. package/dist/mcp-server/transports/http/httpErrorHandler.js +6 -24
  104. package/dist/mcp-server/transports/http/httpErrorHandler.js.map +1 -1
  105. package/dist/mcp-server/transports/http/httpServer.d.ts +3 -3
  106. package/dist/mcp-server/transports/http/httpServer.d.ts.map +1 -1
  107. package/dist/mcp-server/transports/http/httpServer.js +15 -32
  108. package/dist/mcp-server/transports/http/httpServer.js.map +1 -1
  109. package/dist/mcp-server/transports/http/httpTransport.d.ts +25 -8
  110. package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -1
  111. package/dist/mcp-server/transports/http/httpTransport.js +156 -310
  112. package/dist/mcp-server/transports/http/httpTransport.js.map +1 -1
  113. package/dist/mcp-server/transports/http/landing-page/assets/styles.d.ts.map +1 -1
  114. package/dist/mcp-server/transports/http/landing-page/assets/styles.js +0 -1
  115. package/dist/mcp-server/transports/http/landing-page/assets/styles.js.map +1 -1
  116. package/dist/mcp-server/transports/http/landing-page/handler.d.ts.map +1 -1
  117. package/dist/mcp-server/transports/http/landing-page/handler.js +4 -8
  118. package/dist/mcp-server/transports/http/landing-page/handler.js.map +1 -1
  119. package/dist/mcp-server/transports/http/landing-page/sections/tools.js +0 -2
  120. package/dist/mcp-server/transports/http/landing-page/sections/tools.js.map +1 -1
  121. package/dist/mcp-server/transports/http/protectedResourceMetadata.d.ts.map +1 -1
  122. package/dist/mcp-server/transports/http/protectedResourceMetadata.js +2 -6
  123. package/dist/mcp-server/transports/http/protectedResourceMetadata.js.map +1 -1
  124. package/dist/mcp-server/transports/http/robotsTxt.js +2 -2
  125. package/dist/mcp-server/transports/http/robotsTxt.js.map +1 -1
  126. package/dist/mcp-server/transports/http/serverCard.d.ts.map +1 -1
  127. package/dist/mcp-server/transports/http/serverCard.js +2 -6
  128. package/dist/mcp-server/transports/http/serverCard.js.map +1 -1
  129. package/dist/mcp-server/transports/http/sessionStore.d.ts +48 -45
  130. package/dist/mcp-server/transports/http/sessionStore.d.ts.map +1 -1
  131. package/dist/mcp-server/transports/http/sessionStore.js +141 -185
  132. package/dist/mcp-server/transports/http/sessionStore.js.map +1 -1
  133. package/dist/mcp-server/transports/manager.d.ts +12 -4
  134. package/dist/mcp-server/transports/manager.d.ts.map +1 -1
  135. package/dist/mcp-server/transports/manager.js +35 -33
  136. package/dist/mcp-server/transports/manager.js.map +1 -1
  137. package/dist/mcp-server/transports/stdio/stdioTransport.d.ts +24 -31
  138. package/dist/mcp-server/transports/stdio/stdioTransport.d.ts.map +1 -1
  139. package/dist/mcp-server/transports/stdio/stdioTransport.js +23 -38
  140. package/dist/mcp-server/transports/stdio/stdioTransport.js.map +1 -1
  141. package/dist/mcp-server/types.d.ts +25 -0
  142. package/dist/mcp-server/types.d.ts.map +1 -0
  143. package/dist/mcp-server/types.js +10 -0
  144. package/dist/mcp-server/types.js.map +1 -0
  145. package/dist/services/canvas/core/CanvasInstance.d.ts +2 -2
  146. package/dist/services/canvas/core/CanvasInstance.d.ts.map +1 -1
  147. package/dist/services/canvas/core/CanvasInstance.js.map +1 -1
  148. package/dist/services/canvas/core/CanvasRegistry.d.ts +4 -4
  149. package/dist/services/canvas/core/CanvasRegistry.d.ts.map +1 -1
  150. package/dist/services/canvas/core/CanvasRegistry.js +8 -18
  151. package/dist/services/canvas/core/CanvasRegistry.js.map +1 -1
  152. package/dist/services/canvas/core/DataCanvas.d.ts +5 -5
  153. package/dist/services/canvas/core/DataCanvas.d.ts.map +1 -1
  154. package/dist/services/canvas/core/DataCanvas.js +2 -3
  155. package/dist/services/canvas/core/DataCanvas.js.map +1 -1
  156. package/dist/services/canvas/core/IDataCanvasProvider.d.ts +11 -11
  157. package/dist/services/canvas/core/IDataCanvasProvider.d.ts.map +1 -1
  158. package/dist/services/canvas/providers/duckdb/DuckdbProvider.d.ts +11 -11
  159. package/dist/services/canvas/providers/duckdb/DuckdbProvider.d.ts.map +1 -1
  160. package/dist/services/canvas/providers/duckdb/DuckdbProvider.js +4 -10
  161. package/dist/services/canvas/providers/duckdb/DuckdbProvider.js.map +1 -1
  162. package/dist/services/llm/providers/openrouter.provider.d.ts.map +1 -1
  163. package/dist/services/llm/providers/openrouter.provider.js +2 -5
  164. package/dist/services/llm/providers/openrouter.provider.js.map +1 -1
  165. package/dist/services/mirror/core/defineMirror.js +1 -1
  166. package/dist/services/mirror/core/defineMirror.js.map +1 -1
  167. package/dist/services/mirror/types.d.ts +5 -5
  168. package/dist/services/mirror/types.d.ts.map +1 -1
  169. package/dist/services/speech/providers/elevenlabs.provider.js +1 -1
  170. package/dist/services/speech/providers/elevenlabs.provider.js.map +1 -1
  171. package/dist/services/speech/providers/whisper.provider.js +1 -1
  172. package/dist/services/speech/providers/whisper.provider.js.map +1 -1
  173. package/dist/storage/core/StorageService.d.ts +1 -1
  174. package/dist/storage/core/StorageService.d.ts.map +1 -1
  175. package/dist/storage/core/StorageService.js +12 -20
  176. package/dist/storage/core/StorageService.js.map +1 -1
  177. package/dist/storage/core/storageFactory.d.ts.map +1 -1
  178. package/dist/storage/core/storageFactory.js.map +1 -1
  179. package/dist/storage/core/storageValidation.d.ts +1 -1
  180. package/dist/storage/core/storageValidation.d.ts.map +1 -1
  181. package/dist/storage/core/storageValidation.js +2 -2
  182. package/dist/storage/core/storageValidation.js.map +1 -1
  183. package/dist/storage/providers/cloudflare/d1Provider.d.ts +1 -1
  184. package/dist/storage/providers/cloudflare/d1Provider.d.ts.map +1 -1
  185. package/dist/storage/providers/cloudflare/d1Provider.js +4 -12
  186. package/dist/storage/providers/cloudflare/d1Provider.js.map +1 -1
  187. package/dist/storage/providers/cloudflare/kvProvider.d.ts +1 -1
  188. package/dist/storage/providers/cloudflare/kvProvider.d.ts.map +1 -1
  189. package/dist/storage/providers/cloudflare/kvProvider.js +3 -8
  190. package/dist/storage/providers/cloudflare/kvProvider.js.map +1 -1
  191. package/dist/storage/providers/cloudflare/r2Provider.d.ts +1 -1
  192. package/dist/storage/providers/cloudflare/r2Provider.d.ts.map +1 -1
  193. package/dist/storage/providers/cloudflare/r2Provider.js +3 -8
  194. package/dist/storage/providers/cloudflare/r2Provider.js.map +1 -1
  195. package/dist/storage/providers/inMemory/inMemoryProvider.d.ts +1 -1
  196. package/dist/storage/providers/inMemory/inMemoryProvider.d.ts.map +1 -1
  197. package/dist/storage/providers/inMemory/inMemoryProvider.js +2 -4
  198. package/dist/storage/providers/inMemory/inMemoryProvider.js.map +1 -1
  199. package/dist/testing/index.d.ts +35 -12
  200. package/dist/testing/index.d.ts.map +1 -1
  201. package/dist/testing/index.js +53 -38
  202. package/dist/testing/index.js.map +1 -1
  203. package/dist/testing/vitest.d.ts +1 -1
  204. package/dist/testing/vitest.d.ts.map +1 -1
  205. package/dist/types-global/errors.d.ts +28 -15
  206. package/dist/types-global/errors.d.ts.map +1 -1
  207. package/dist/types-global/errors.js +8 -1
  208. package/dist/types-global/errors.js.map +1 -1
  209. package/dist/utils/formatting/diffFormatter.d.ts +5 -5
  210. package/dist/utils/formatting/diffFormatter.d.ts.map +1 -1
  211. package/dist/utils/formatting/diffFormatter.js +7 -20
  212. package/dist/utils/formatting/diffFormatter.js.map +1 -1
  213. package/dist/utils/formatting/tableFormatter.d.ts +3 -3
  214. package/dist/utils/formatting/tableFormatter.d.ts.map +1 -1
  215. package/dist/utils/formatting/tableFormatter.js +6 -17
  216. package/dist/utils/formatting/tableFormatter.js.map +1 -1
  217. package/dist/utils/formatting/treeFormatter.d.ts +3 -3
  218. package/dist/utils/formatting/treeFormatter.d.ts.map +1 -1
  219. package/dist/utils/formatting/treeFormatter.js +5 -18
  220. package/dist/utils/formatting/treeFormatter.js.map +1 -1
  221. package/dist/utils/index.d.ts +4 -2
  222. package/dist/utils/index.d.ts.map +1 -1
  223. package/dist/utils/index.js +2 -2
  224. package/dist/utils/index.js.map +1 -1
  225. package/dist/utils/internal/error-handler/errorHandler.d.ts +1 -1
  226. package/dist/utils/internal/error-handler/errorHandler.d.ts.map +1 -1
  227. package/dist/utils/internal/error-handler/errorHandler.js +23 -11
  228. package/dist/utils/internal/error-handler/errorHandler.js.map +1 -1
  229. package/dist/utils/internal/error-handler/types.d.ts +10 -13
  230. package/dist/utils/internal/error-handler/types.d.ts.map +1 -1
  231. package/dist/utils/internal/logger.d.ts +3 -3
  232. package/dist/utils/internal/logger.d.ts.map +1 -1
  233. package/dist/utils/internal/logger.js +11 -5
  234. package/dist/utils/internal/logger.js.map +1 -1
  235. package/dist/utils/internal/performance.d.ts +1 -1
  236. package/dist/utils/internal/performance.d.ts.map +1 -1
  237. package/dist/utils/internal/performance.js +57 -13
  238. package/dist/utils/internal/performance.js.map +1 -1
  239. package/dist/utils/internal/requestContext.d.ts +79 -55
  240. package/dist/utils/internal/requestContext.d.ts.map +1 -1
  241. package/dist/utils/internal/requestContext.js +77 -32
  242. package/dist/utils/internal/requestContext.js.map +1 -1
  243. package/dist/utils/metrics/tokenCounter.d.ts +3 -3
  244. package/dist/utils/metrics/tokenCounter.d.ts.map +1 -1
  245. package/dist/utils/metrics/tokenCounter.js.map +1 -1
  246. package/dist/utils/network/fetchWithTimeout.d.ts +2 -2
  247. package/dist/utils/network/fetchWithTimeout.d.ts.map +1 -1
  248. package/dist/utils/network/fetchWithTimeout.js +8 -24
  249. package/dist/utils/network/fetchWithTimeout.js.map +1 -1
  250. package/dist/utils/network/retry.d.ts +2 -2
  251. package/dist/utils/network/retry.d.ts.map +1 -1
  252. package/dist/utils/overflow/outlineOnOverflow.d.ts +1 -1
  253. package/dist/utils/overflow/outlineOnOverflow.d.ts.map +1 -1
  254. package/dist/utils/pagination/pagination.d.ts +3 -3
  255. package/dist/utils/pagination/pagination.d.ts.map +1 -1
  256. package/dist/utils/pagination/pagination.js +3 -3
  257. package/dist/utils/pagination/pagination.js.map +1 -1
  258. package/dist/utils/parsing/csvParser.d.ts +2 -2
  259. package/dist/utils/parsing/csvParser.d.ts.map +1 -1
  260. package/dist/utils/parsing/csvParser.js +4 -8
  261. package/dist/utils/parsing/csvParser.js.map +1 -1
  262. package/dist/utils/parsing/dateParser.d.ts +3 -3
  263. package/dist/utils/parsing/dateParser.d.ts.map +1 -1
  264. package/dist/utils/parsing/dateParser.js +3 -2
  265. package/dist/utils/parsing/dateParser.js.map +1 -1
  266. package/dist/utils/parsing/frontmatterParser.d.ts +2 -2
  267. package/dist/utils/parsing/frontmatterParser.d.ts.map +1 -1
  268. package/dist/utils/parsing/frontmatterParser.js +7 -10
  269. package/dist/utils/parsing/frontmatterParser.js.map +1 -1
  270. package/dist/utils/parsing/htmlExtractor.d.ts +2 -2
  271. package/dist/utils/parsing/htmlExtractor.d.ts.map +1 -1
  272. package/dist/utils/parsing/htmlExtractor.js +6 -11
  273. package/dist/utils/parsing/htmlExtractor.js.map +1 -1
  274. package/dist/utils/parsing/jsonParser.d.ts +2 -2
  275. package/dist/utils/parsing/jsonParser.d.ts.map +1 -1
  276. package/dist/utils/parsing/jsonParser.js +4 -8
  277. package/dist/utils/parsing/jsonParser.js.map +1 -1
  278. package/dist/utils/parsing/pdfParser.d.ts +10 -10
  279. package/dist/utils/parsing/pdfParser.d.ts.map +1 -1
  280. package/dist/utils/parsing/pdfParser.js +26 -89
  281. package/dist/utils/parsing/pdfParser.js.map +1 -1
  282. package/dist/utils/parsing/xmlParser.d.ts +2 -2
  283. package/dist/utils/parsing/xmlParser.d.ts.map +1 -1
  284. package/dist/utils/parsing/xmlParser.js +4 -8
  285. package/dist/utils/parsing/xmlParser.js.map +1 -1
  286. package/dist/utils/parsing/yamlParser.d.ts +2 -2
  287. package/dist/utils/parsing/yamlParser.d.ts.map +1 -1
  288. package/dist/utils/parsing/yamlParser.js +4 -8
  289. package/dist/utils/parsing/yamlParser.js.map +1 -1
  290. package/dist/utils/scheduling/scheduler.d.ts.map +1 -1
  291. package/dist/utils/scheduling/scheduler.js +5 -6
  292. package/dist/utils/scheduling/scheduler.js.map +1 -1
  293. package/dist/utils/security/rateLimiter.d.ts +2 -2
  294. package/dist/utils/security/rateLimiter.d.ts.map +1 -1
  295. package/dist/utils/security/rateLimiter.js +1 -1
  296. package/dist/utils/security/rateLimiter.js.map +1 -1
  297. package/dist/utils/telemetry/attributes.d.ts +23 -7
  298. package/dist/utils/telemetry/attributes.d.ts.map +1 -1
  299. package/dist/utils/telemetry/attributes.js +23 -10
  300. package/dist/utils/telemetry/attributes.js.map +1 -1
  301. package/dist/utils/telemetry/trace.d.ts +3 -3
  302. package/dist/utils/telemetry/trace.d.ts.map +1 -1
  303. package/dist/utils/telemetry/trace.js +4 -2
  304. package/dist/utils/telemetry/trace.js.map +1 -1
  305. package/package.json +22 -26
  306. package/scripts/lint-mcp.ts +1 -3
  307. package/scripts/lint-packaging.ts +1 -1
  308. package/skills/add-service/SKILL.md +2 -2
  309. package/skills/add-test/SKILL.md +42 -20
  310. package/skills/add-tool/SKILL.md +68 -19
  311. package/skills/api-canvas/SKILL.md +2 -2
  312. package/skills/api-config/SKILL.md +1 -11
  313. package/skills/api-context/SKILL.md +175 -111
  314. package/skills/api-linter/SKILL.md +2 -2
  315. package/skills/api-telemetry/SKILL.md +8 -12
  316. package/skills/api-testing/SKILL.md +53 -52
  317. package/skills/code-simplifier/SKILL.md +2 -2
  318. package/skills/design-mcp-server/SKILL.md +34 -18
  319. package/skills/field-test/SKILL.md +4 -2
  320. package/skills/git-wrapup/SKILL.md +3 -3
  321. package/skills/polish-docs-meta/SKILL.md +1 -1
  322. package/skills/polish-docs-meta/references/agent-protocol.md +2 -2
  323. package/skills/polish-docs-meta/references/readme.md +1 -1
  324. package/skills/release-and-publish/SKILL.md +3 -1
  325. package/skills/report-issue-framework/SKILL.md +2 -2
  326. package/skills/report-issue-local/SKILL.md +2 -2
  327. package/skills/security-pass/SKILL.md +16 -14
  328. package/templates/.github/CODE_OF_CONDUCT.md +28 -0
  329. package/templates/.github/CONTRIBUTING.md +50 -0
  330. package/templates/.github/SECURITY.md +24 -0
  331. package/templates/AGENTS.md +6 -6
  332. package/templates/CLAUDE.md +6 -6
  333. package/templates/changelog/template.md +55 -16
  334. package/templates/tests/resources/echo.resource.test.ts +16 -9
  335. package/dist/mcp-server/elicitation.d.ts +0 -64
  336. package/dist/mcp-server/elicitation.d.ts.map +0 -1
  337. package/dist/mcp-server/elicitation.js +0 -81
  338. package/dist/mcp-server/elicitation.js.map +0 -1
  339. package/dist/mcp-server/protocolSession.d.ts +0 -34
  340. package/dist/mcp-server/protocolSession.d.ts.map +0 -1
  341. package/dist/mcp-server/protocolSession.js +0 -13
  342. package/dist/mcp-server/protocolSession.js.map +0 -1
  343. package/dist/mcp-server/tasks/core/evictingTaskMessageQueue.d.ts +0 -53
  344. package/dist/mcp-server/tasks/core/evictingTaskMessageQueue.d.ts.map +0 -1
  345. package/dist/mcp-server/tasks/core/evictingTaskMessageQueue.js +0 -65
  346. package/dist/mcp-server/tasks/core/evictingTaskMessageQueue.js.map +0 -1
  347. package/dist/mcp-server/tasks/core/sessionAwareTaskStore.d.ts +0 -70
  348. package/dist/mcp-server/tasks/core/sessionAwareTaskStore.d.ts.map +0 -1
  349. package/dist/mcp-server/tasks/core/sessionAwareTaskStore.js +0 -130
  350. package/dist/mcp-server/tasks/core/sessionAwareTaskStore.js.map +0 -1
  351. package/dist/mcp-server/tasks/core/storageBackedTaskStore.d.ts +0 -109
  352. package/dist/mcp-server/tasks/core/storageBackedTaskStore.d.ts.map +0 -1
  353. package/dist/mcp-server/tasks/core/storageBackedTaskStore.js +0 -209
  354. package/dist/mcp-server/tasks/core/storageBackedTaskStore.js.map +0 -1
  355. package/dist/mcp-server/tasks/core/taskManager.d.ts +0 -91
  356. package/dist/mcp-server/tasks/core/taskManager.d.ts.map +0 -1
  357. package/dist/mcp-server/tasks/core/taskManager.js +0 -210
  358. package/dist/mcp-server/tasks/core/taskManager.js.map +0 -1
  359. package/dist/mcp-server/tasks/core/taskTypes.d.ts +0 -18
  360. package/dist/mcp-server/tasks/core/taskTypes.d.ts.map +0 -1
  361. package/dist/mcp-server/tasks/core/taskTypes.js +0 -20
  362. package/dist/mcp-server/tasks/core/taskTypes.js.map +0 -1
  363. package/dist/mcp-server/tasks/utils/taskToolDefinition.d.ts +0 -101
  364. package/dist/mcp-server/tasks/utils/taskToolDefinition.d.ts.map +0 -1
  365. package/dist/mcp-server/tasks/utils/taskToolDefinition.js +0 -14
  366. package/dist/mcp-server/tasks/utils/taskToolDefinition.js.map +0 -1
@@ -1,15 +1,27 @@
1
1
  /**
2
2
  * @fileoverview Worker-safe Hono application factory for the HTTP MCP transport.
3
- * Builds the routing, auth, session, and per-request server lifecycle wiring
4
- * using only web-standard APIs. The Node-only `serve()` start path lives in
5
- * `httpServer.ts` so the Worker bundle drops `@hono/node-server` and
6
- * `node:http` via tree-shaking.
3
+ * Builds the routing, auth, session, and serving wiring using only web-standard
4
+ * APIs. The Node-only `serve()` start path lives in `httpServer.ts` so the
5
+ * Worker bundle drops `@hono/node-server` and `node:http` via tree-shaking.
7
6
  *
8
- * Implements MCP Specification 2025-06-18 Streamable HTTP Transport.
9
- * @see {@link https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#streamable-http | MCP Streamable HTTP Transport}
7
+ * Serving is split by session mode:
8
+ *
9
+ * - **stateless** — one `createMcpHandler(factory)` answers both protocol eras
10
+ * per request (its default `legacy: 'stateless'` posture).
11
+ * - **stateful / auto** — `isLegacyRequest(request)` splits the traffic. 2025-era
12
+ * requests go to a sessionful `WebStandardStreamableHTTPServerTransport` with
13
+ * one persistent `McpServer` per `Mcp-Session-Id`; 2026-07-28 requests go to a
14
+ * strict (`legacy: 'reject'`) modern handler, which is per-request by
15
+ * construction — that revision has no session.
16
+ *
17
+ * The sessionful arm is load-bearing rather than legacy courtesy: the SDK's
18
+ * multi-round-trip legacy shim needs a live session, so dropping it would break
19
+ * interactive tools for every 2025 client that is not on stdio.
20
+ *
21
+ * @see {@link https://modelcontextprotocol.io/specification/2026-07-28/basic/transports | MCP Transports}
10
22
  * @module src/mcp-server/transports/http/httpTransport
11
23
  */
12
- import { StreamableHTTPTransport } from '@hono/mcp';
24
+ import { createMcpHandler, isJsonContentType, isLegacyRequest, WebStandardStreamableHTTPServerTransport, } from '@modelcontextprotocol/server';
13
25
  import { Hono } from 'hono';
14
26
  import { cors } from 'hono/cors';
15
27
  import { config } from '../../../config/index.js';
@@ -22,109 +34,18 @@ import { protectedResourceMetadataHandler } from '../../../mcp-server/transports
22
34
  import { createRobotsTxtHandler } from '../../../mcp-server/transports/http/robotsTxt.js';
23
35
  import { createServerCardHandler } from '../../../mcp-server/transports/http/serverCard.js';
24
36
  import { generateSecureSessionId } from '../../../mcp-server/transports/http/sessionIdUtils.js';
25
- import { SessionStore } from '../../../mcp-server/transports/http/sessionStore.js';
37
+ import { closeConnection, SessionStore, } from '../../../mcp-server/transports/http/sessionStore.js';
26
38
  import { logger } from '../../../utils/internal/logger.js';
27
- import { requestContextService } from '../../../utils/internal/requestContext.js';
28
- import { createCounter, createObservableGauge } from '../../../utils/telemetry/metrics.js';
29
- /**
30
- * Extends the base StreamableHTTPTransport to include a session ID.
31
- */
32
- class McpSessionTransport extends StreamableHTTPTransport {
33
- sessionId;
34
- constructor(sessionId) {
35
- super();
36
- this.sessionId = sessionId;
37
- }
38
- }
39
- /** Max time (ms) we wait for per-request transport/server close to complete
40
- * before giving up and logging a failure. Silent hangs here accumulate
41
- * retained closures — bounded wait surfaces the issue as a metric. */
42
- const PER_REQUEST_CLOSE_TIMEOUT_MS = 5_000;
39
+ import { requestContextService, withExtra, } from '../../../utils/internal/requestContext.js';
40
+ import { createObservableGauge } from '../../../utils/telemetry/metrics.js';
43
41
  /** Matches loopback origins (http(s)://localhost|127.0.0.1|[::1] with optional port).
44
42
  * Used as the fail-closed default for the Origin guard when no explicit
45
43
  * MCP_ALLOWED_ORIGINS is configured — an unauthenticated MCP server must not
46
- * accept browser Origin headers from arbitrary hosts (MCP Spec 2025-06-18 DNS
47
- * rebinding protection). */
44
+ * accept browser Origin headers from arbitrary hosts (DNS rebinding
45
+ * protection). The SDK's `validateOriginHeader` matches bare hostnames from a
46
+ * fixed list and so cannot express "any loopback port", which is exactly the
47
+ * dev-server case this guard exists for. */
48
48
  const LOOPBACK_ORIGIN_RE = /^https?:\/\/(?:localhost|127\.0\.0\.1|\[::1\])(?::\d+)?$/i;
49
- let closeFailureCounter;
50
- function getCloseFailureCounter() {
51
- closeFailureCounter ??= createCounter('mcp.http.close_failures', 'Per-request HTTP close failures (transport or server close threw or timed out)', '{failures}');
52
- return closeFailureCounter;
53
- }
54
- // ---------------------------------------------------------------------------
55
- // Finalization-lag diagnostic (issue #50)
56
- //
57
- // The HTTP transport constructs a fresh `McpServer` + `McpSessionTransport`
58
- // per request (SDK 1.26 GHSA-345p-7cg4-v4c7). Production heap graphs show
59
- // linear growth proportional to request volume, which suggests some of
60
- // these per-request instances are being retained past their scope.
61
- //
62
- // Compare `mcp.http.per_request.created_total` against
63
- // `mcp.http.per_request.finalized_total` (both tagged with `kind`) to
64
- // detect retention. A persistent gap that grows with traffic is the
65
- // signature of the leak; a gap that closes within minutes is just GC
66
- // timing.
67
- // ---------------------------------------------------------------------------
68
- let perRequestCreatedCounter;
69
- let perRequestFinalizedCounter;
70
- function getPerRequestCreatedCounter() {
71
- perRequestCreatedCounter ??= createCounter('mcp.http.per_request.created', 'Per-request McpServer/McpSessionTransport instances created', '{instances}');
72
- return perRequestCreatedCounter;
73
- }
74
- function getPerRequestFinalizedCounter() {
75
- perRequestFinalizedCounter ??= createCounter('mcp.http.per_request.finalized', 'Per-request McpServer/McpSessionTransport instances reclaimed by GC', '{instances}');
76
- return perRequestFinalizedCounter;
77
- }
78
- /** Lazy so the registry only exists when HTTP transport is active. The
79
- * FinalizationRegistry callback itself does not run during this process's
80
- * exit teardown — so we deliberately don't try to drain it. */
81
- let perRequestFinalizationRegistry;
82
- function getPerRequestFinalizationRegistry() {
83
- perRequestFinalizationRegistry ??= new FinalizationRegistry((kind) => {
84
- getPerRequestFinalizedCounter().add(1, { kind });
85
- });
86
- return perRequestFinalizationRegistry;
87
- }
88
- function trackPerRequestInstance(obj, kind) {
89
- getPerRequestCreatedCounter().add(1, { kind });
90
- getPerRequestFinalizationRegistry().register(obj, kind);
91
- }
92
- /** Await a promise with a bounded timeout. Rejects with the timeout error
93
- * if the promise doesn't settle first. */
94
- function withTimeout(p, ms, label) {
95
- let timer;
96
- return Promise.race([
97
- p,
98
- new Promise((_, reject) => {
99
- timer = setTimeout(() => reject(new Error(`${label} timed out after ${ms}ms`)), ms);
100
- }),
101
- ]).finally(() => {
102
- if (timer !== undefined)
103
- clearTimeout(timer);
104
- });
105
- }
106
- /** Closes the per-request transport and server under a bounded timeout.
107
- * Runs the two closes in parallel so one hanging close doesn't delay the
108
- * other, and records each failure to `mcp.http.close_failures` with
109
- * `surface` and `trigger` tags. */
110
- async function closePerRequestInstances(transport, server, sessionId, requestContext, trigger) {
111
- const tasks = [['transport', () => transport.close()]];
112
- if (server)
113
- tasks.push(['server', () => server.close()]);
114
- await Promise.all(tasks.map(async ([surface, close]) => {
115
- try {
116
- await withTimeout(close(), PER_REQUEST_CLOSE_TIMEOUT_MS, `${surface}.close`);
117
- }
118
- catch (err) {
119
- getCloseFailureCounter().add(1, { surface, trigger });
120
- logger.warning(`Failed to close ${surface} (trigger=${trigger})`, {
121
- ...requestContext,
122
- sessionId,
123
- error: err instanceof Error ? err.message : String(err),
124
- });
125
- }
126
- }));
127
- }
128
49
  /** Reads at most one stream chunk beyond `maxBytes`, cancelling as soon as the
129
50
  * limit is crossed. Fetch body chunks are not size-bounded by the consumer, so
130
51
  * the final chunk may itself be larger than the remaining allowance. */
@@ -175,10 +96,7 @@ async function readBodyWithinLimit(request, maxBytes) {
175
96
  */
176
97
  export async function createHttpApp(serverFactory, parentContext, manifest) {
177
98
  const app = new Hono();
178
- const transportContext = {
179
- ...parentContext,
180
- component: 'HttpTransportSetup',
181
- };
99
+ const transportContext = withExtra(parentContext, { component: 'HttpTransportSetup' });
182
100
  // Initialize session store for stateful mode.
183
101
  // 'auto' resolves to stateful for HTTP (per MCP spec conformance).
184
102
  const isStateful = config.mcpSessionMode === 'stateful' || config.mcpSessionMode === 'auto';
@@ -255,13 +173,12 @@ export async function createHttpApp(serverFactory, parentContext, manifest) {
255
173
  if (!isAllowed) {
256
174
  const requestContext = requestContextService.createRequestContext({
257
175
  operation: 'HttpOriginGuard',
258
- component: 'HttpTransport',
176
+ additionalContext: { component: 'HttpTransport' },
259
177
  });
260
- logger.warning('Rejected request with invalid Origin header', {
261
- ...requestContext,
178
+ logger.warning('Rejected request with invalid Origin header', withExtra(requestContext, {
262
179
  origin,
263
180
  allowedOrigins: explicitOrigins ?? 'loopback-only',
264
- });
181
+ }));
265
182
  return c.json({ error: 'Invalid origin. DNS rebinding protection.' }, 403);
266
183
  }
267
184
  }
@@ -286,13 +203,9 @@ export async function createHttpApp(serverFactory, parentContext, manifest) {
286
203
  const rejectOversized = (bytes) => {
287
204
  const requestContext = requestContextService.createRequestContext({
288
205
  operation: 'HttpBodyLimit',
289
- component: 'HttpTransport',
290
- });
291
- logger.warning('Rejected request exceeding body size limit', {
292
- ...requestContext,
293
- bytes,
294
- maxBodyBytes,
206
+ additionalContext: { component: 'HttpTransport' },
295
207
  });
208
+ logger.warning('Rejected request exceeding body size limit', withExtra(requestContext, { bytes, maxBodyBytes }));
296
209
  return c.json({
297
210
  error: `Request body exceeds the ${maxBodyBytes}-byte limit (configurable via MCP_HTTP_MAX_BODY_BYTES).`,
298
211
  }, 413);
@@ -445,226 +358,159 @@ export async function createHttpApp(serverFactory, parentContext, manifest) {
445
358
  subject: authInfo.subject,
446
359
  }).filter(([, v]) => v != null));
447
360
  }
448
- // MCP Spec 2025-06-18: DELETE endpoint for session termination
449
- // Clients SHOULD send DELETE to explicitly terminate sessions
450
- // https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#session-management
451
- app.delete(config.mcpHttpEndpointPath, (c) => {
361
+ // DELETE terminates a session. Ownership is validated here, before the SDK
362
+ // transport is allowed to tear the session down; the transport itself owns
363
+ // the spec-shaped response and fires `onsessionclosed`.
364
+ // https://modelcontextprotocol.io/specification/2026-07-28/basic/transports
365
+ app.delete(config.mcpHttpEndpointPath, async (c, next) => {
452
366
  const requestContext = requestContextService.createRequestContext({
453
367
  operation: 'HttpSessionTermination',
454
- component: 'HttpTransport',
368
+ additionalContext: { component: 'HttpTransport' },
455
369
  });
456
370
  const sessionId = c.req.header('mcp-session-id');
371
+ // Stateless mode has no session to terminate — the stateless handler
372
+ // answers with the spec's 405.
373
+ if (!sessionStore)
374
+ return await next();
457
375
  if (!sessionId) {
458
376
  logger.warning('DELETE request without session ID', requestContext);
459
377
  return c.json({ error: 'Mcp-Session-Id header required' }, 400);
460
378
  }
461
- logger.info('Session termination requested', {
462
- ...requestContext,
463
- sessionId,
464
- });
465
- // For stateless mode or if session management is disabled, return 405
466
- if (config.mcpSessionMode === 'stateless' || !sessionStore) {
467
- return c.json({ error: 'Session termination not supported in stateless mode' }, 405);
468
- }
469
- // SECURITY: Validate session ownership before termination
470
- const sessionIdentity = extractSessionIdentity();
471
- if (!sessionStore.isValidForIdentity(sessionId, sessionIdentity)) {
379
+ logger.info('Session termination requested', { ...requestContext, sessionId });
380
+ // SECURITY: validate session ownership before termination.
381
+ if (!sessionStore.isValidForIdentity(sessionId, extractSessionIdentity())) {
472
382
  logger.warning('Session termination rejected - ownership validation failed', {
473
383
  ...requestContext,
474
384
  sessionId,
475
- requestTenant: sessionIdentity?.tenantId,
476
- requestClient: sessionIdentity?.clientId,
477
385
  });
478
386
  return c.json({ error: 'Session not found or access denied' }, 404);
479
387
  }
480
- // Terminate the session in the store
481
- sessionStore.terminate(sessionId);
482
- logger.info('Session terminated successfully', {
483
- ...requestContext,
484
- sessionId,
485
- });
486
- return c.json({ status: 'terminated', sessionId }, 200);
388
+ const connection = sessionStore.getConnection(sessionId);
389
+ if (!connection) {
390
+ // Identity-valid but no live connection (already torn down). Drop the
391
+ // record and answer exactly as the transport does below — one status and
392
+ // one body shape for one operation.
393
+ await sessionStore.terminate(sessionId);
394
+ return c.body(null, 200);
395
+ }
396
+ return await connection.transport.handleRequest(c.req.raw);
487
397
  });
398
+ // -------------------------------------------------------------------------
488
399
  // JSON-RPC over HTTP (Streamable)
400
+ // -------------------------------------------------------------------------
401
+ /** Validated auth info for pass-through to the SDK's `ctx.http.authInfo`. */
402
+ const currentAuthInfo = () => authContext.getStore()?.authInfo;
403
+ // The modern (2026-07-28) leg. In stateless mode the same handler also serves
404
+ // 2025-era traffic per request (`legacy: 'stateless'`, the default); in
405
+ // stateful mode it is strict and the sessionful arm below owns 2025.
406
+ const handler = createMcpHandler(serverFactory, {
407
+ ...(isStateful && { legacy: 'reject' }),
408
+ onerror: (error) => {
409
+ logger.debug(`MCP handler reported: ${error.message}`, transportContext);
410
+ },
411
+ });
412
+ /** Serves one 2025-era request on the sessionful arm. */
413
+ const handleLegacySessionful = async (store, request, parsedBody, requestContext) => {
414
+ const authInfo = currentAuthInfo();
415
+ const identity = extractSessionIdentity();
416
+ const providedSessionId = request.headers.get('mcp-session-id') ?? undefined;
417
+ const options = {
418
+ ...(parsedBody !== undefined && { parsedBody }),
419
+ ...(authInfo && { authInfo }),
420
+ };
421
+ if (providedSessionId) {
422
+ // SECURITY: identity binding is checked before the session is reachable,
423
+ // so a stolen session ID alone cannot resume someone else's session.
424
+ if (!store.isValidForIdentity(providedSessionId, identity)) {
425
+ logger.warning('Session validation failed - invalid or hijacked session', {
426
+ ...requestContext,
427
+ sessionId: providedSessionId,
428
+ });
429
+ return Response.json({ error: 'Session not found or expired' }, { status: 404 });
430
+ }
431
+ const connection = store.getConnection(providedSessionId);
432
+ if (!connection) {
433
+ return Response.json({ error: 'Session not found or expired' }, { status: 404 });
434
+ }
435
+ return await connection.transport.handleRequest(request, options);
436
+ }
437
+ // No session yet: this is an `initialize` (anything else is rejected by the
438
+ // SDK transport with the spec's 400). Capacity is checked before the
439
+ // instance is built so a saturated server never allocates one.
440
+ store.assertCapacity();
441
+ const server = await serverFactory({
442
+ era: 'legacy',
443
+ ...(authInfo && { authInfo }),
444
+ requestInfo: request,
445
+ });
446
+ const transport = new WebStandardStreamableHTTPServerTransport({
447
+ sessionIdGenerator: generateSecureSessionId,
448
+ onsessioninitialized: (sessionId) => {
449
+ store.register(sessionId, { server, transport }, identity);
450
+ logger.debug('Session initialized', { ...requestContext, sessionId });
451
+ },
452
+ onsessionclosed: (sessionId) => store.terminate(sessionId),
453
+ });
454
+ await server.connect(transport);
455
+ try {
456
+ const response = await transport.handleRequest(request, options);
457
+ // A handshake the transport refused never mints a session, so the
458
+ // instance pair it would have owned has no owner — close it here.
459
+ if (!transport.sessionId)
460
+ await closeConnection({ server, transport });
461
+ return response;
462
+ }
463
+ catch (error) {
464
+ await closeConnection({ server, transport });
465
+ throw error;
466
+ }
467
+ };
489
468
  app.all(config.mcpHttpEndpointPath, async (c) => {
490
469
  const requestContext = requestContextService.createRequestContext({
491
470
  operation: 'HttpRpcRequest',
492
- component: 'HttpTransport',
493
- });
494
- const protocolVersion = c.req.header('mcp-protocol-version') ?? '2025-03-26';
495
- logger.debug('Handling MCP request.', {
496
- ...requestContext,
497
- path: c.req.path,
498
- method: c.req.method,
499
- protocolVersion,
471
+ additionalContext: { component: 'HttpTransport' },
500
472
  });
501
- // Per MCP Spec 2025-06-18: MCP-Protocol-Version header MUST be validated
502
- // Server MUST respond with 400 Bad Request for unsupported versions
503
- // We default to 2025-03-26 for backward compatibility if not provided
504
- const supportedVersions = manifest.protocol.supportedVersions;
505
- if (!supportedVersions.includes(protocolVersion)) {
506
- logger.warning('Unsupported MCP protocol version requested.', {
507
- ...requestContext,
508
- protocolVersion,
509
- supportedVersions,
510
- });
511
- return c.json({
512
- error: 'Unsupported MCP protocol version',
513
- protocolVersion,
514
- supportedVersions,
515
- }, 400);
473
+ logger.debug('Handling MCP request.', withExtra(requestContext, { path: c.req.path, method: c.req.method }));
474
+ // Media type before body: a POST whose Content-Type is not JSON is a 415,
475
+ // not a parse error, and the SDK answers it that way. Parsing first turns
476
+ // even a well-formed body into a misleading `-32700`, so hand those
477
+ // straight to the handler and let it produce the canonical response.
478
+ if (c.req.method === 'POST' && !isJsonContentType(c.req.header('content-type'))) {
479
+ const authInfo = currentAuthInfo();
480
+ return await handler.fetch(c.req.raw, { ...(authInfo && { authInfo }) });
516
481
  }
517
- const providedSessionId = c.req.header('mcp-session-id');
518
- // Parse once for the small amount of protocol state the per-request SDK
519
- // server cannot retain itself. Hono caches body parsing, so the transport
520
- // still receives the same body below. Malformed JSON remains the SDK's job.
521
- let rpcMessages = [];
482
+ // Read the POST body once, from the cache the body-limit guard may have
483
+ // seeded. Every downstream consumer takes it as `parsedBody` because the raw
484
+ // stream is not guaranteed re-readable after that guard runs.
485
+ let parsedBody;
522
486
  if (c.req.method === 'POST') {
523
487
  try {
524
- const rawBody = await c.req.json();
525
- const messages = Array.isArray(rawBody) ? rawBody : [rawBody];
526
- rpcMessages = messages.filter((message) => typeof message === 'object' && message !== null);
488
+ parsedBody = await c.req.json();
527
489
  }
528
490
  catch {
529
- // Malformed body — let the SDK surface the parse error downstream.
491
+ // Malformed JSON never reaches classification — answer the spec's parse
492
+ // error directly rather than letting an unreadable body reach a transport.
493
+ return c.json({ jsonrpc: '2.0', id: null, error: { code: -32700, message: 'Parse error' } }, 400);
530
494
  }
531
495
  }
532
- const initializeMessage = rpcMessages.find((message) => message.method === 'initialize');
533
- const declaredCapabilities = initializeMessage?.params?.capabilities;
534
- const initializeCapabilities = typeof declaredCapabilities === 'object' && declaredCapabilities !== null
535
- ? declaredCapabilities
536
- : undefined;
537
- // Extract identity from auth context (if auth is enabled)
538
- // This MUST happen before session validation for security
539
- const sessionIdentity = extractSessionIdentity();
540
- // MCP Spec 2025-06-18: Return 404 for invalid/terminated sessions
541
- // https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#session-management
542
- // SECURITY: Validate session WITH identity binding to prevent hijacking
543
- if (sessionStore &&
544
- providedSessionId &&
545
- !sessionStore.isValidForIdentity(providedSessionId, sessionIdentity)) {
546
- logger.warning('Session validation failed - invalid or hijacked session', {
547
- ...requestContext,
548
- sessionId: providedSessionId,
549
- requestTenant: sessionIdentity?.tenantId,
550
- requestClient: sessionIdentity?.clientId,
551
- });
552
- return c.json({ error: 'Session not found or expired' }, 404);
553
- }
554
- // MCP Spec 2025-06-18: stateful sessions require Mcp-Session-Id on all
555
- // non-initialize requests. Without this gate, the SDK processes the RPC
556
- // on a fresh per-request McpServer (no protocol state to reject against)
557
- // and the session store mints an uninitialized session on response.ok.
558
- if (sessionStore && !providedSessionId && !initializeMessage) {
559
- logger.warning('Rejected non-initialize request without session in stateful mode', {
560
- ...requestContext,
561
- method: c.req.method,
562
- });
563
- return c.json({
564
- error: 'Bad Request: Mcp-Session-Id header is required. Send an initialize request first.',
565
- }, 400);
566
- }
567
- const sessionId = providedSessionId ?? generateSecureSessionId();
568
- // The cancellation notification is handled by a different SDK Server
569
- // instance than the original request. Mirror it into the durable session
570
- // registry before passing it to the SDK so the original handler's merged
571
- // `ctx.signal` is aborted without sharing Server instances across clients.
572
- if (sessionStore) {
573
- for (const message of rpcMessages) {
574
- if (message.method !== 'notifications/cancelled')
575
- continue;
576
- const params = message.params;
577
- const requestId = params?.requestId;
578
- if (typeof requestId !== 'string' && typeof requestId !== 'number')
579
- continue;
580
- const reason = params?.reason;
581
- sessionStore.cancelRequest(sessionId, requestId, typeof reason === 'string' ? reason : undefined);
582
- }
583
- }
584
- const transport = new McpSessionTransport(sessionId);
585
- trackPerRequestInstance(transport, 'transport');
586
- let server;
587
- let closePromise;
588
- const closeOnce = (trigger) => {
589
- closePromise ??= closePerRequestInstances(transport, server, sessionId, requestContext, trigger);
590
- return closePromise;
591
- };
592
- const handleRpc = async () => {
593
- // SDK 1.26.0: Protocol.connect() throws if already connected.
594
- // Create a fresh McpServer per request to prevent cross-client data leaks.
595
- // See GHSA-345p-7cg4-v4c7.
596
- server = await serverFactory(sessionStore?.createProtocolSessionHooks(sessionId));
597
- trackPerRequestInstance(server, 'server');
598
- await server.connect(transport);
599
- const response = await transport.handleRequest(c);
600
- if (response) {
601
- // Only register the session in the store AFTER a successful response.
602
- // This avoids minting sessions for requests that fail protocol
603
- // validation (e.g. tools/list without prior initialize).
604
- if (sessionStore && response.ok) {
605
- sessionStore.getOrCreate(sessionId, sessionIdentity);
606
- if (initializeCapabilities) {
607
- sessionStore.setClientCapabilities(sessionId, initializeCapabilities);
608
- }
609
- }
610
- // MCP Spec 2025-06-18: For stateful sessions, return Mcp-Session-Id header
611
- // in InitializeResponse (and all subsequent responses).
612
- // 'auto' resolves to stateful for HTTP, matching the SessionStore creation above.
613
- if (isStateful && response.ok) {
614
- response.headers.set('Mcp-Session-Id', sessionId);
615
- logger.debug('Added Mcp-Session-Id header to response', {
616
- ...requestContext,
617
- sessionId,
618
- });
619
- }
620
- // Non-SSE responses (POST/202): close immediately via queueMicrotask.
621
- // SSE streams must stay open until the client disconnects — closing now
622
- // would abort the ReadableStream before Hono can write to it (see
623
- // GHSA-345p-7cg4-v4c7 above) — so cleanup is bound to the request's
624
- // AbortSignal instead. `@hono/mcp` `stream.onAbort` only clears its
625
- // internal stream map; it never fires `transport.close()` or `onclose`,
626
- // and real clients almost always disconnect ungracefully (no DELETE).
627
- // Without this hook every SSE GET leaks its per-request McpServer +
628
- // Transport pair (issue #50). `c.req.raw.signal` aborts on client
629
- // disconnect across runtimes (`@hono/node-server`, modern Bun, Workers).
630
- const isSSE = response.headers.get('content-type')?.includes('text/event-stream');
631
- if (!isSSE) {
632
- queueMicrotask(() => {
633
- void closeOnce('success');
634
- });
635
- }
636
- else {
637
- const sseCleanup = () => {
638
- void closeOnce('sse-abort');
639
- };
640
- const reqSignal = c.req.raw.signal;
641
- if (reqSignal.aborted) {
642
- queueMicrotask(sseCleanup);
643
- }
644
- else {
645
- reqSignal.addEventListener('abort', sseCleanup, { once: true });
646
- }
647
- }
648
- return response;
649
- }
650
- queueMicrotask(() => {
651
- void closeOnce('success');
652
- });
653
- return c.body(null, 204);
654
- };
655
- // Auth context is already populated by the middleware's authContext.run().
656
- // ALS propagates through all async continuations in this handler.
657
- try {
658
- return await handleRpc();
659
- }
660
- catch (err) {
661
- // Close every surface that was successfully created. The idempotent
662
- // closure also protects against any cleanup already scheduled elsewhere.
663
- await closeOnce('error');
664
- throw err instanceof Error ? err : new Error(String(err));
496
+ if (sessionStore && (await isLegacyRequest(c.req.raw, parsedBody))) {
497
+ return await handleLegacySessionful(sessionStore, c.req.raw, parsedBody, requestContext);
665
498
  }
499
+ const authInfo = currentAuthInfo();
500
+ return await handler.fetch(c.req.raw, {
501
+ ...(parsedBody !== undefined && { parsedBody }),
502
+ ...(authInfo && { authInfo }),
503
+ });
666
504
  });
667
505
  logger.info('Hono application setup complete.', transportContext);
668
- return { app, sessionStore };
506
+ return {
507
+ app,
508
+ handler,
509
+ sessionStore,
510
+ close: async () => {
511
+ await handler.close();
512
+ await sessionStore?.destroy();
513
+ },
514
+ };
669
515
  }
670
516
  //# sourceMappingURL=httpTransport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"httpTransport.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/httpTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"httpTransport.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/httpTransport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EAEf,wCAAwC,GACzC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAE9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AAEpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,gCAAgC,EAAE,MAAM,2DAA2D,CAAC;AAC7G,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,EACL,eAAe,EAEf,YAAY,GACb,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAEL,qBAAqB,EACrB,SAAS,GACV,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE;;;;;;4CAM4C;AAC5C,MAAM,kBAAkB,GAAG,2DAA2D,CAAC;AAMvF;;wEAEwE;AACxE,KAAK,UAAU,mBAAmB,CAAC,OAAgB,EAAE,QAAgB;IACnE,IAAI,CAAC,OAAO,CAAC,IAAI;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAExE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACxC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,IAAI;YAAE,MAAM;QAEhB,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC;QAC9B,IAAI,SAAS,GAAG,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC;gBACP,uEAAuE;YACzE,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACvC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;IAC7B,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,aAAqC,EACrC,aAA6B,EAC7B,QAAwB;IASxB,MAAM,GAAG,GAAG,IAAI,IAAI,EAA2B,CAAC;IAChD,MAAM,gBAAgB,GAAG,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAEvF,8CAA8C;IAC9C,mEAAmE;IACnE,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,KAAK,UAAU,IAAI,MAAM,CAAC,cAAc,KAAK,MAAM,CAAC;IAC5F,MAAM,YAAY,GAAG,UAAU;QAC7B,CAAC,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,gCAAgC,CAAC;QAC3D,CAAC,CAAC,IAAI,CAAC;IAET,mEAAmE;IACnE,iGAAiG;IACjG,qBAAqB,CACnB,qBAAqB,EACrB,+BAA+B,EAC/B,GAAG,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,EAC1C,YAAY,CACb,CAAC;IAEF,2EAA2E;IAC3E,iEAAiE;IACjE,6EAA6E;IAC7E,uEAAuE;IACvE,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,EAAE,6BAA6B,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;YACrE,GAAG,CAAC,GAAG,CACL,MAAM,CAAC,mBAAmB,EAC1B,6BAA6B,CAAC;gBAC5B,qBAAqB,EAAE,CAAC,gBAAgB,CAAC;aAC1C,CAAC,CACH,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,2DAA2D,EAAE,gBAAgB,CAAC,CAAC;QAC9F,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,OAAO,CACZ,4FAA4F,EAC5F,gBAAgB,CACjB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,2DAA2D;IAC3D,EAAE;IACF,oEAAoE;IACpE,+EAA+E;IAC/E,6EAA6E;IAC7E,EAAE;IACF,iFAAiF;IACjF,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,EAAE;IACF,8EAA8E;IAC9E,wEAAwE;IACxE,MAAM,eAAe,GACnB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;QAC5E,CAAC,CAAC,MAAM,CAAC,iBAAiB;QAC1B,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,yBAAyB,GAAG,eAAe,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC;IAC1E,MAAM,UAAU,GACd,CAAC,eAAe,IAAI,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC;IAExE,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,CAAC,OAAO,CACZ,4MAA4M,EAC5M,gBAAgB,CACjB,CAAC;IACJ,CAAC;SAAM,IAAI,yBAAyB,EAAE,CAAC;QACrC,MAAM,CAAC,OAAO,CACZ,oHAAoH,EACpH,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED,sDAAsD;IACtD,0EAA0E;IAC1E,2EAA2E;IAC3E,GAAG,CAAC,GAAG,CACL,GAAG,EACH,IAAI,CAAC;QACH,MAAM,EAAE,UAAU;QAClB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC;QAClD,YAAY,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,sBAAsB,CAAC;QACzF,aAAa,EAAE,CAAC,gBAAgB,CAAC;QACjC,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;KACjD,CAAC,CACH,CAAC;IAEF,6BAA6B;IAC7B,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE9B,8EAA8E;IAC9E,6FAA6F;IAC7F,EAAE;IACF,8EAA8E;IAC9E,gFAAgF;IAChF,0EAA0E;IAC1E,yBAAyB;IACzB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACpD,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,SAAS,GACb,yBAAyB;gBACzB,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAEzF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,cAAc,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;oBAChE,SAAS,EAAE,iBAAiB;oBAC5B,iBAAiB,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE;iBAClD,CAAC,CAAC;gBACH,MAAM,CAAC,OAAO,CACZ,6CAA6C,EAC7C,SAAS,CAAC,cAAc,EAAE;oBACxB,MAAM;oBACN,cAAc,EAAE,eAAe,IAAI,eAAe;iBACnD,CAAC,CACH,CAAC;gBACF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2CAA2C,EAAE,EAAE,GAAG,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QACD,2CAA2C;QAC3C,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAC9E,8EAA8E;IAC9E,qEAAqE;IACrE,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,sBAAsB;IACtB,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC;IAChD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;YACpD,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YAC5B,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBAChE,OAAO,MAAM,IAAI,EAAE,CAAC;YACtB,CAAC;YAED,MAAM,eAAe,GAAG,CAAC,KAAa,EAAY,EAAE;gBAClD,MAAM,cAAc,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;oBAChE,SAAS,EAAE,eAAe;oBAC1B,iBAAiB,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE;iBAClD,CAAC,CAAC;gBACH,MAAM,CAAC,OAAO,CACZ,4CAA4C,EAC5C,SAAS,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CACnD,CAAC;gBACF,OAAO,CAAC,CAAC,IAAI,CACX;oBACE,KAAK,EAAE,4BAA4B,YAAY,yDAAyD;iBACzG,EACD,GAAG,CACJ,CAAC;YACJ,CAAC,CAAC;YAEF,+EAA+E;YAC/E,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACxD,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,YAAY,EAAE,CAAC;gBACzD,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC;YAED,oEAAoE;YACpE,uDAAuD;YACvD,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YACpE,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,OAAO,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC;YAED,sEAAsE;YACtE,0EAA0E;YAC1E,4DAA4D;YAC5D,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEhF,OAAO,MAAM,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,oCAAoC,YAAY,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAC5F,CAAC;IAED,gEAAgE;IAChE,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAErD,2EAA2E;IAC3E,0EAA0E;IAC1E,6EAA6E;IAC7E,yEAAyE;IACzE,oEAAoE;IACpE,gDAAgD;IAChD,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;QAClC,MAAM,qBAAqB,GAAG,uCAAuC,CAAC;QACtE,GAAG,CAAC,GAAG,CAAC,qBAAqB,EAAE,gCAAgC,CAAC,CAAC;QAEjE,yDAAyD;QACzD,4EAA4E;QAC5E,wEAAwE;QACxE,IAAI,MAAM,CAAC,mBAAmB,KAAK,GAAG,EAAE,CAAC;YACvC,MAAM,6BAA6B,GAAG,GAAG,qBAAqB,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAC9F,GAAG,CAAC,GAAG,CAAC,6BAA6B,EAAE,gCAAgC,CAAC,CAAC;YACzE,MAAM,CAAC,KAAK,CACV,8CAA8C,6BAA6B,GAAG,EAC9E,gBAAgB,CACjB,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CACV,2GAA2G,EAC3G,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED,kEAAkE;IAClE,2EAA2E;IAC3E,+DAA+D;IAC/D,MAAM,cAAc,GAAG,uBAAuB,CAAC;IAC/C,IAAI,MAAM,CAAC,mBAAmB,KAAK,cAAc,EAAE,CAAC;QAClD,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,KAAK,CAAC,mCAAmC,cAAc,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACvF,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,OAAO,CACZ,iCAAiC,cAAc,4CAA4C,EAC3F,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,4EAA4E;IAC5E,uEAAuE;IACvE,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;IAE1C,2EAA2E;IAC3E,4EAA4E;IAC5E,qEAAqE;IACrE,MAAM,aAAa,GAAG,aAAa,CAAC;IACpC,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,mBAAmB,KAAK,aAAa,EAAE,CAAC;QAC7E,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,yBAAyB,aAAa,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAC5E,CAAC;IAED,+EAA+E;IAC/E,kFAAkF;IAClF,6DAA6D;IAC7D,MAAM,WAAW,GAAG,GAAG,CAAC;IACxB,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,mBAAmB,KAAK,WAAW,EAAE,CAAC;QAC3E,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE,CAAC;YAClD,MAAM,CAAC,OAAO,CACZ,mLAAmL,EACnL,gBAAgB,CACjB,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,wBAAwB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;QACvE,MAAM,CAAC,KAAK,CAAC,2BAA2B,WAAW,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAC5E,CAAC;SAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE,gBAAgB,CAAC,CAAC;IACrF,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,OAAO,CACZ,iCAAiC,WAAW,6CAA6C,EACzF,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,iFAAiF;IACjF,EAAE;IACF,iFAAiF;IACjF,2EAA2E;IAC3E,2EAA2E;IAC3E,+EAA+E;IAC/E,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;QAC9C,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC1D,OAAO,IAAI,EAAE,CAAC,CAAC,4CAA4C;QAC7D,CAAC;QAED,kEAAkE;QAClE,mFAAmF;QACnF,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YAClC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,CAAC,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI;gBAC1B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO;gBAChC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW;gBACxC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC/E,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACvE,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW;gBACxC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI;gBAClC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,WAAW;aAC5C;YACD,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,CAAC,iBAAiB;YACrD,YAAY,EAAE;gBACZ,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,OAAO;gBACtC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,OAAO;gBACtC,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,SAAS;gBAC1C,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK;aACnC;YACD,UAAU,EAAE;gBACV,4BAA4B,EAAE,4BAA4B,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;aAC1F;YACD,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI;aACzB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,yEAAyE;IACzE,6DAA6D;IAC7D,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,cAAc,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAC1D,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,qDAAqD,EAAE,gBAAgB,CAAC,CAAC;IACvF,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,0DAA0D,EAAE,gBAAgB,CAAC,CAAC;IAC5F,CAAC;IAED,oEAAoE;IACpE,SAAS,sBAAsB;QAC7B,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC;QAClD,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC;YACb,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CACb,CAAC;IACvB,CAAC;IAED,2EAA2E;IAC3E,2EAA2E;IAC3E,wDAAwD;IACxD,4EAA4E;IAC5E,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACvD,MAAM,cAAc,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;YAChE,SAAS,EAAE,wBAAwB;YACnC,iBAAiB,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE;SAClD,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEjD,qEAAqE;QACrE,+BAA+B;QAC/B,IAAI,CAAC,YAAY;YAAE,OAAO,MAAM,IAAI,EAAE,CAAC;QAEvC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,cAAc,CAAC,CAAC;YACpE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,GAAG,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC;QAE/E,2DAA2D;QAC3D,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,SAAS,EAAE,sBAAsB,EAAE,CAAC,EAAE,CAAC;YAC1E,MAAM,CAAC,OAAO,CAAC,4DAA4D,EAAE;gBAC3E,GAAG,cAAc;gBACjB,SAAS;aACV,CAAC,CAAC;YACH,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oCAAoC,EAAE,EAAE,GAAG,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,sEAAsE;YACtE,yEAAyE;YACzE,oCAAoC;YACpC,MAAM,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACxC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,MAAM,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,kCAAkC;IAClC,4EAA4E;IAE5E,6EAA6E;IAC7E,MAAM,eAAe,GAAG,GAAyB,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC;IAErF,8EAA8E;IAC9E,wEAAwE;IACxE,qEAAqE;IACrE,MAAM,OAAO,GAAG,gBAAgB,CAAC,aAAa,EAAE;QAC9C,GAAG,CAAC,UAAU,IAAI,EAAE,MAAM,EAAE,QAAiB,EAAE,CAAC;QAChD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,CAAC,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAC3E,CAAC;KACF,CAAC,CAAC;IAEH,yDAAyD;IACzD,MAAM,sBAAsB,GAAG,KAAK,EAClC,KAAmB,EACnB,OAAgB,EAChB,UAAmB,EACnB,cAA8B,EACX,EAAE;QACrB,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;QAC1C,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC;QAC7E,MAAM,OAAO,GAAG;YACd,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;YAC/C,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;SAC9B,CAAC;QAEF,IAAI,iBAAiB,EAAE,CAAC;YACtB,yEAAyE;YACzE,qEAAqE;YACrE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC3D,MAAM,CAAC,OAAO,CAAC,yDAAyD,EAAE;oBACxE,GAAG,cAAc;oBACjB,SAAS,EAAE,iBAAiB;iBAC7B,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACnF,CAAC;YACD,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACnF,CAAC;YACD,OAAO,MAAM,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;QAED,4EAA4E;QAC5E,qEAAqE;QACrE,+DAA+D;QAC/D,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;YACjC,GAAG,EAAE,QAAQ;YACb,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC7B,WAAW,EAAE,OAAO;SACrB,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,wCAAwC,CAAC;YAC7D,kBAAkB,EAAE,uBAAuB;YAC3C,oBAAoB,EAAE,CAAC,SAAS,EAAE,EAAE;gBAClC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC3D,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,GAAG,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,eAAe,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;SAC3D,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACjE,kEAAkE;YAClE,kEAAkE;YAClE,IAAI,CAAC,SAAS,CAAC,SAAS;gBAAE,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YACvE,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAC7C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9C,MAAM,cAAc,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;YAChE,SAAS,EAAE,gBAAgB;YAC3B,iBAAiB,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE;SAClD,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CACV,uBAAuB,EACvB,SAAS,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CACtE,CAAC;QAEF,0EAA0E;QAC1E,0EAA0E;QAC1E,oEAAoE;QACpE,qEAAqE;QACrE,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;YAChF,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;YACnC,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,wEAAwE;QACxE,6EAA6E;QAC7E,8DAA8D;QAC9D,IAAI,UAAmB,CAAC;QACxB,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,UAAU,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,wEAAwE;gBACxE,2EAA2E;gBAC3E,OAAO,CAAC,CAAC,IAAI,CACX,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAC7E,GAAG,CACJ,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,YAAY,IAAI,CAAC,MAAM,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;YACnE,OAAO,MAAM,sBAAsB,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QAC3F,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;QACnC,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;YACpC,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;YAC/C,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,gBAAgB,CAAC,CAAC;IAClE,OAAO;QACL,GAAG;QACH,OAAO;QACP,YAAY;QACZ,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,YAAY,EAAE,OAAO,EAAE,CAAC;QAChC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/mcp-server/transports/http/landing-page/assets/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,4BAA4B,CAAC;AAKtE;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAyyCrD"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/mcp-server/transports/http/landing-page/assets/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,4BAA4B,CAAC;AAKtE;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAwyCrD"}