@1mcp/agent 0.32.2 → 0.33.0-beta1

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 (347) hide show
  1. package/build/auth/oauthAuthorizationFlow.d.ts +145 -0
  2. package/build/auth/oauthAuthorizationFlow.d.ts.map +1 -0
  3. package/build/auth/oauthAuthorizationFlow.js +257 -0
  4. package/build/auth/oauthAuthorizationFlow.js.map +1 -0
  5. package/build/auth/sdkOAuthServerProvider.d.ts +4 -0
  6. package/build/auth/sdkOAuthServerProvider.d.ts.map +1 -1
  7. package/build/auth/sdkOAuthServerProvider.js +4 -0
  8. package/build/auth/sdkOAuthServerProvider.js.map +1 -1
  9. package/build/auth/storage/fileStorageService.d.ts.map +1 -1
  10. package/build/auth/storage/fileStorageService.js +9 -5
  11. package/build/auth/storage/fileStorageService.js.map +1 -1
  12. package/build/commands/cliSetup/setupFiles.d.ts +2 -4
  13. package/build/commands/cliSetup/setupFiles.d.ts.map +1 -1
  14. package/build/commands/cliSetup/setupFiles.js +8 -46
  15. package/build/commands/cliSetup/setupFiles.js.map +1 -1
  16. package/build/commands/inspect/inspect.d.ts +3 -0
  17. package/build/commands/inspect/inspect.d.ts.map +1 -1
  18. package/build/commands/inspect/inspect.js +90 -83
  19. package/build/commands/inspect/inspect.js.map +1 -1
  20. package/build/commands/instructions/instructions.d.ts.map +1 -1
  21. package/build/commands/instructions/instructions.js +11 -68
  22. package/build/commands/instructions/instructions.js.map +1 -1
  23. package/build/commands/mcp/install.d.ts.map +1 -1
  24. package/build/commands/mcp/install.js +62 -145
  25. package/build/commands/mcp/install.js.map +1 -1
  26. package/build/commands/mcp/installSource.d.ts +13 -0
  27. package/build/commands/mcp/installSource.d.ts.map +1 -0
  28. package/build/commands/mcp/installSource.js +69 -0
  29. package/build/commands/mcp/installSource.js.map +1 -0
  30. package/build/commands/mcp/uninstall.d.ts.map +1 -1
  31. package/build/commands/mcp/uninstall.js +20 -15
  32. package/build/commands/mcp/uninstall.js.map +1 -1
  33. package/build/commands/preset/edit.d.ts.map +1 -1
  34. package/build/commands/preset/edit.js +2 -0
  35. package/build/commands/preset/edit.js.map +1 -1
  36. package/build/commands/preset/interactive.d.ts.map +1 -1
  37. package/build/commands/preset/interactive.js +2 -0
  38. package/build/commands/preset/interactive.js.map +1 -1
  39. package/build/commands/preset/show.d.ts.map +1 -1
  40. package/build/commands/preset/show.js +2 -0
  41. package/build/commands/preset/show.js.map +1 -1
  42. package/build/commands/preset/test.d.ts.map +1 -1
  43. package/build/commands/preset/test.js +2 -0
  44. package/build/commands/preset/test.js.map +1 -1
  45. package/build/commands/proxy/proxy.d.ts.map +1 -1
  46. package/build/commands/proxy/proxy.js +11 -22
  47. package/build/commands/proxy/proxy.js.map +1 -1
  48. package/build/commands/registry/options.d.ts +14 -7
  49. package/build/commands/registry/options.d.ts.map +1 -1
  50. package/build/commands/registry/options.js +14 -7
  51. package/build/commands/registry/options.js.map +1 -1
  52. package/build/commands/run/run.d.ts +1 -0
  53. package/build/commands/run/run.d.ts.map +1 -1
  54. package/build/commands/run/run.js +124 -156
  55. package/build/commands/run/run.js.map +1 -1
  56. package/build/commands/serve/index.d.ts +5 -0
  57. package/build/commands/serve/index.d.ts.map +1 -1
  58. package/build/commands/serve/index.js +6 -1
  59. package/build/commands/serve/index.js.map +1 -1
  60. package/build/commands/serve/serve.d.ts +1 -0
  61. package/build/commands/serve/serve.d.ts.map +1 -1
  62. package/build/commands/serve/serve.js +5 -103
  63. package/build/commands/serve/serve.js.map +1 -1
  64. package/build/commands/serve/serveOptions.d.ts +6 -0
  65. package/build/commands/serve/serveOptions.d.ts.map +1 -0
  66. package/build/commands/serve/serveOptions.js +90 -0
  67. package/build/commands/serve/serveOptions.js.map +1 -0
  68. package/build/commands/shared/baseConfigUtils.d.ts +1 -25
  69. package/build/commands/shared/baseConfigUtils.d.ts.map +1 -1
  70. package/build/commands/shared/baseConfigUtils.js +3 -193
  71. package/build/commands/shared/baseConfigUtils.js.map +1 -1
  72. package/build/commands/shared/clientSurfaceAttachment.d.ts +131 -0
  73. package/build/commands/shared/clientSurfaceAttachment.d.ts.map +1 -0
  74. package/build/commands/shared/clientSurfaceAttachment.js +205 -0
  75. package/build/commands/shared/clientSurfaceAttachment.js.map +1 -0
  76. package/build/commands/shared/configParsingUtils.d.ts +9 -0
  77. package/build/commands/shared/configParsingUtils.d.ts.map +1 -0
  78. package/build/commands/shared/configParsingUtils.js +179 -0
  79. package/build/commands/shared/configParsingUtils.js.map +1 -0
  80. package/build/commands/shared/serveClient.d.ts.map +1 -1
  81. package/build/commands/shared/serveClient.js +35 -12
  82. package/build/commands/shared/serveClient.js.map +1 -1
  83. package/build/commands/shared/serveTargetResolver.d.ts.map +1 -1
  84. package/build/commands/shared/serveTargetResolver.js +42 -3
  85. package/build/commands/shared/serveTargetResolver.js.map +1 -1
  86. package/build/config/configLoader.d.ts +0 -1
  87. package/build/config/configLoader.d.ts.map +1 -1
  88. package/build/config/configLoader.js +12 -7
  89. package/build/config/configLoader.js.map +1 -1
  90. package/build/config/envProcessor.d.ts +3 -8
  91. package/build/config/envProcessor.d.ts.map +1 -1
  92. package/build/config/envProcessor.js +17 -34
  93. package/build/config/envProcessor.js.map +1 -1
  94. package/build/config/mcpConfigMerge.d.ts.map +1 -1
  95. package/build/config/mcpConfigMerge.js +15 -8
  96. package/build/config/mcpConfigMerge.js.map +1 -1
  97. package/build/constants/mcp.d.ts +1 -1
  98. package/build/constants/mcp.d.ts.map +1 -1
  99. package/build/constants/mcp.js +1 -1
  100. package/build/constants/mcp.js.map +1 -1
  101. package/build/core/capabilities/asyncLoadingOrchestrator.d.ts +2 -1
  102. package/build/core/capabilities/asyncLoadingOrchestrator.d.ts.map +1 -1
  103. package/build/core/capabilities/asyncLoadingOrchestrator.js +3 -1
  104. package/build/core/capabilities/asyncLoadingOrchestrator.js.map +1 -1
  105. package/build/core/capabilities/capabilityCatalog.d.ts +88 -0
  106. package/build/core/capabilities/capabilityCatalog.d.ts.map +1 -0
  107. package/build/core/capabilities/capabilityCatalog.js +235 -0
  108. package/build/core/capabilities/capabilityCatalog.js.map +1 -0
  109. package/build/core/capabilities/capabilityNotificationFacts.d.ts +9 -0
  110. package/build/core/capabilities/capabilityNotificationFacts.d.ts.map +1 -0
  111. package/build/core/capabilities/capabilityNotificationFacts.js +11 -0
  112. package/build/core/capabilities/capabilityNotificationFacts.js.map +1 -0
  113. package/build/core/capabilities/metaToolProvider.d.ts +2 -0
  114. package/build/core/capabilities/metaToolProvider.d.ts.map +1 -1
  115. package/build/core/capabilities/metaToolProvider.js +37 -77
  116. package/build/core/capabilities/metaToolProvider.js.map +1 -1
  117. package/build/core/capabilities/toolRegistry.d.ts +2 -1
  118. package/build/core/capabilities/toolRegistry.d.ts.map +1 -1
  119. package/build/core/capabilities/toolRegistry.js +2 -0
  120. package/build/core/capabilities/toolRegistry.js.map +1 -1
  121. package/build/core/configChangeHandler.d.ts.map +1 -1
  122. package/build/core/configChangeHandler.js +33 -16
  123. package/build/core/configChangeHandler.js.map +1 -1
  124. package/build/core/filtering/filterSelection.d.ts +72 -0
  125. package/build/core/filtering/filterSelection.d.ts.map +1 -0
  126. package/build/core/filtering/filterSelection.js +262 -0
  127. package/build/core/filtering/filterSelection.js.map +1 -0
  128. package/build/core/instructions/instructionsDistribution.d.ts +52 -0
  129. package/build/core/instructions/instructionsDistribution.d.ts.map +1 -0
  130. package/build/core/instructions/instructionsDistribution.js +124 -0
  131. package/build/core/instructions/instructionsDistribution.js.map +1 -0
  132. package/build/core/protocol/notificationHandlers.js +2 -2
  133. package/build/core/protocol/notificationHandlers.js.map +1 -1
  134. package/build/core/protocol/promptRequestHandlers.d.ts +4 -0
  135. package/build/core/protocol/promptRequestHandlers.d.ts.map +1 -0
  136. package/build/core/protocol/promptRequestHandlers.js +64 -0
  137. package/build/core/protocol/promptRequestHandlers.js.map +1 -0
  138. package/build/core/protocol/requestHandlerUtils.d.ts +8 -0
  139. package/build/core/protocol/requestHandlerUtils.d.ts.map +1 -0
  140. package/build/core/protocol/requestHandlerUtils.js +48 -0
  141. package/build/core/protocol/requestHandlerUtils.js.map +1 -0
  142. package/build/core/protocol/requestHandlers.d.ts +2 -0
  143. package/build/core/protocol/requestHandlers.d.ts.map +1 -1
  144. package/build/core/protocol/requestHandlers.js +7 -391
  145. package/build/core/protocol/requestHandlers.js.map +1 -1
  146. package/build/core/protocol/resourceRequestHandlers.d.ts +3 -0
  147. package/build/core/protocol/resourceRequestHandlers.d.ts.map +1 -0
  148. package/build/core/protocol/resourceRequestHandlers.js +76 -0
  149. package/build/core/protocol/resourceRequestHandlers.js.map +1 -0
  150. package/build/core/protocol/toolRequestHandlers.d.ts +4 -0
  151. package/build/core/protocol/toolRequestHandlers.d.ts.map +1 -0
  152. package/build/core/protocol/toolRequestHandlers.js +132 -0
  153. package/build/core/protocol/toolRequestHandlers.js.map +1 -0
  154. package/build/core/server/adapters/TemplateServerAdapter.d.ts +0 -5
  155. package/build/core/server/adapters/TemplateServerAdapter.d.ts.map +1 -1
  156. package/build/core/server/adapters/TemplateServerAdapter.js +7 -30
  157. package/build/core/server/adapters/TemplateServerAdapter.js.map +1 -1
  158. package/build/core/server/clientInstanceFactory.d.ts +13 -0
  159. package/build/core/server/clientInstanceFactory.d.ts.map +1 -0
  160. package/build/core/server/clientInstanceFactory.js +32 -0
  161. package/build/core/server/clientInstanceFactory.js.map +1 -0
  162. package/build/core/server/clientInstancePool.d.ts +8 -49
  163. package/build/core/server/clientInstancePool.d.ts.map +1 -1
  164. package/build/core/server/clientInstancePool.js +61 -72
  165. package/build/core/server/clientInstancePool.js.map +1 -1
  166. package/build/core/server/clientInstancePoolTypes.d.ts +52 -0
  167. package/build/core/server/clientInstancePoolTypes.d.ts.map +1 -0
  168. package/build/core/server/clientInstancePoolTypes.js +10 -0
  169. package/build/core/server/clientInstancePoolTypes.js.map +1 -0
  170. package/build/core/server/connectionResolver.d.ts.map +1 -1
  171. package/build/core/server/connectionResolver.js +34 -31
  172. package/build/core/server/connectionResolver.js.map +1 -1
  173. package/build/core/server/requestContextPreparation.d.ts +38 -0
  174. package/build/core/server/requestContextPreparation.d.ts.map +1 -0
  175. package/build/core/server/requestContextPreparation.js +49 -0
  176. package/build/core/server/requestContextPreparation.js.map +1 -0
  177. package/build/core/server/serverManager.js +1 -1
  178. package/build/core/server/serverManager.js.map +1 -1
  179. package/build/core/server/templateIdentity.d.ts +44 -0
  180. package/build/core/server/templateIdentity.d.ts.map +1 -0
  181. package/build/core/server/templateIdentity.js +95 -0
  182. package/build/core/server/templateIdentity.js.map +1 -0
  183. package/build/core/server/templateServerCleanup.d.ts +23 -0
  184. package/build/core/server/templateServerCleanup.d.ts.map +1 -0
  185. package/build/core/server/templateServerCleanup.js +155 -0
  186. package/build/core/server/templateServerCleanup.js.map +1 -0
  187. package/build/core/server/templateServerManager.d.ts +12 -3
  188. package/build/core/server/templateServerManager.d.ts.map +1 -1
  189. package/build/core/server/templateServerManager.js +82 -127
  190. package/build/core/server/templateServerManager.js.map +1 -1
  191. package/build/core/tools/internal/adapters/installation/types.d.ts +16 -11
  192. package/build/core/tools/internal/adapters/installation/types.d.ts.map +1 -1
  193. package/build/core/tools/internal/adapters/installationAdapter.d.ts +3 -13
  194. package/build/core/tools/internal/adapters/installationAdapter.d.ts.map +1 -1
  195. package/build/core/tools/internal/adapters/installationAdapter.js +85 -69
  196. package/build/core/tools/internal/adapters/installationAdapter.js.map +1 -1
  197. package/build/core/tools/internal/installationHandlers.d.ts.map +1 -1
  198. package/build/core/tools/internal/installationHandlers.js +10 -4
  199. package/build/core/tools/internal/installationHandlers.js.map +1 -1
  200. package/build/core/tools/internal/integration.domainMocks.testSetup.d.ts +2 -0
  201. package/build/core/tools/internal/integration.domainMocks.testSetup.d.ts.map +1 -0
  202. package/build/core/tools/internal/integration.domainMocks.testSetup.js +66 -0
  203. package/build/core/tools/internal/integration.domainMocks.testSetup.js.map +1 -0
  204. package/build/core/tools/internal/integration.testSetup.d.ts +2 -0
  205. package/build/core/tools/internal/integration.testSetup.d.ts.map +1 -0
  206. package/build/core/tools/internal/integration.testSetup.js +469 -0
  207. package/build/core/tools/internal/integration.testSetup.js.map +1 -0
  208. package/build/core/tools/internal/schemas/index.d.ts +6 -0
  209. package/build/core/tools/internal/schemas/index.d.ts.map +1 -1
  210. package/build/core/tools/internal/schemas/installation.d.ts +6 -0
  211. package/build/core/tools/internal/schemas/installation.d.ts.map +1 -1
  212. package/build/core/tools/internal/schemas/installation.js +13 -1
  213. package/build/core/tools/internal/schemas/installation.js.map +1 -1
  214. package/build/domains/config-change/backupRetention.d.ts +14 -0
  215. package/build/domains/config-change/backupRetention.d.ts.map +1 -0
  216. package/build/domains/config-change/backupRetention.js +36 -0
  217. package/build/domains/config-change/backupRetention.js.map +1 -0
  218. package/build/domains/config-change/configChange.d.ts +4 -0
  219. package/build/domains/config-change/configChange.d.ts.map +1 -0
  220. package/build/domains/config-change/configChange.js +346 -0
  221. package/build/domains/config-change/configChange.js.map +1 -0
  222. package/build/domains/config-change/configLock.d.ts +6 -0
  223. package/build/domains/config-change/configLock.d.ts.map +1 -0
  224. package/build/domains/config-change/configLock.js +62 -0
  225. package/build/domains/config-change/configLock.js.map +1 -0
  226. package/build/domains/config-change/types.d.ts +64 -0
  227. package/build/domains/config-change/types.d.ts.map +1 -0
  228. package/build/domains/config-change/types.js +2 -0
  229. package/build/domains/config-change/types.js.map +1 -0
  230. package/build/domains/installation/index.d.ts +4 -3
  231. package/build/domains/installation/index.d.ts.map +1 -1
  232. package/build/domains/installation/index.js +5 -3
  233. package/build/domains/installation/index.js.map +1 -1
  234. package/build/domains/installation/serverInstallationSourceResolution.d.ts +6 -0
  235. package/build/domains/installation/serverInstallationSourceResolution.d.ts.map +1 -0
  236. package/build/domains/installation/serverInstallationSourceResolution.js +210 -0
  237. package/build/domains/installation/serverInstallationSourceResolution.js.map +1 -0
  238. package/build/domains/installation/serverInstallationTypes.d.ts +105 -0
  239. package/build/domains/installation/serverInstallationTypes.d.ts.map +1 -0
  240. package/build/domains/installation/serverInstallationTypes.js +2 -0
  241. package/build/domains/installation/serverInstallationTypes.js.map +1 -0
  242. package/build/domains/installation/serverInstallationWorkflow.d.ts +4 -0
  243. package/build/domains/installation/serverInstallationWorkflow.d.ts.map +1 -0
  244. package/build/domains/installation/serverInstallationWorkflow.js +148 -0
  245. package/build/domains/installation/serverInstallationWorkflow.js.map +1 -0
  246. package/build/domains/preset/manager/presetManager.d.ts +0 -4
  247. package/build/domains/preset/manager/presetManager.d.ts.map +1 -1
  248. package/build/domains/preset/manager/presetManager.js +19 -153
  249. package/build/domains/preset/manager/presetManager.js.map +1 -1
  250. package/build/domains/preset/manager/presetManagerCleanup.d.ts +15 -0
  251. package/build/domains/preset/manager/presetManagerCleanup.d.ts.map +1 -0
  252. package/build/domains/preset/manager/presetManagerCleanup.js +34 -0
  253. package/build/domains/preset/manager/presetManagerCleanup.js.map +1 -0
  254. package/build/domains/preset/manager/presetStorage.d.ts +4 -0
  255. package/build/domains/preset/manager/presetStorage.d.ts.map +1 -0
  256. package/build/domains/preset/manager/presetStorage.js +27 -0
  257. package/build/domains/preset/manager/presetStorage.js.map +1 -0
  258. package/build/domains/preset/manager/presetTesting.d.ts +8 -0
  259. package/build/domains/preset/manager/presetTesting.d.ts.map +1 -0
  260. package/build/domains/preset/manager/presetTesting.js +38 -0
  261. package/build/domains/preset/manager/presetTesting.js.map +1 -0
  262. package/build/domains/preset/manager/presetValidation.d.ts +3 -0
  263. package/build/domains/preset/manager/presetValidation.d.ts.map +1 -0
  264. package/build/domains/preset/manager/presetValidation.js +41 -0
  265. package/build/domains/preset/manager/presetValidation.js.map +1 -0
  266. package/build/domains/registry/cacheManager.d.ts.map +1 -1
  267. package/build/domains/registry/cacheManager.js +1 -0
  268. package/build/domains/registry/cacheManager.js.map +1 -1
  269. package/build/domains/registry/mcpRegistryClient.d.ts.map +1 -1
  270. package/build/domains/registry/mcpRegistryClient.js +2 -1
  271. package/build/domains/registry/mcpRegistryClient.js.map +1 -1
  272. package/build/transport/http/middlewares/scopeAuthMiddleware.d.ts +3 -0
  273. package/build/transport/http/middlewares/scopeAuthMiddleware.d.ts.map +1 -1
  274. package/build/transport/http/middlewares/scopeAuthMiddleware.js +18 -28
  275. package/build/transport/http/middlewares/scopeAuthMiddleware.js.map +1 -1
  276. package/build/transport/http/middlewares/tagsExtractor.d.ts.map +1 -1
  277. package/build/transport/http/middlewares/tagsExtractor.js +46 -255
  278. package/build/transport/http/middlewares/tagsExtractor.js.map +1 -1
  279. package/build/transport/http/routes/cliTokenRoute.d.ts.map +1 -1
  280. package/build/transport/http/routes/cliTokenRoute.js +20 -14
  281. package/build/transport/http/routes/cliTokenRoute.js.map +1 -1
  282. package/build/transport/http/routes/inspectRequestContext.d.ts +5 -0
  283. package/build/transport/http/routes/inspectRequestContext.d.ts.map +1 -0
  284. package/build/transport/http/routes/inspectRequestContext.js +59 -0
  285. package/build/transport/http/routes/inspectRequestContext.js.map +1 -0
  286. package/build/transport/http/routes/inspectRoutes.d.ts +3 -3
  287. package/build/transport/http/routes/inspectRoutes.d.ts.map +1 -1
  288. package/build/transport/http/routes/inspectRoutes.js +60 -83
  289. package/build/transport/http/routes/inspectRoutes.js.map +1 -1
  290. package/build/transport/http/routes/oauthRoutes.d.ts.map +1 -1
  291. package/build/transport/http/routes/oauthRoutes.js +99 -223
  292. package/build/transport/http/routes/oauthRoutes.js.map +1 -1
  293. package/build/transport/http/routes/streamableHttpRoutes.d.ts +2 -2
  294. package/build/transport/http/routes/streamableHttpRoutes.d.ts.map +1 -1
  295. package/build/transport/http/routes/streamableHttpRoutes.js +39 -84
  296. package/build/transport/http/routes/streamableHttpRoutes.js.map +1 -1
  297. package/build/transport/http/routes/toolRoutes.d.ts.map +1 -1
  298. package/build/transport/http/routes/toolRoutes.js +138 -39
  299. package/build/transport/http/routes/toolRoutes.js.map +1 -1
  300. package/build/transport/http/server.d.ts.map +1 -1
  301. package/build/transport/http/server.js +93 -0
  302. package/build/transport/http/server.js.map +1 -1
  303. package/build/transport/http/streamableSessionLifecycle.d.ts +90 -0
  304. package/build/transport/http/streamableSessionLifecycle.d.ts.map +1 -0
  305. package/build/transport/http/streamableSessionLifecycle.js +348 -0
  306. package/build/transport/http/streamableSessionLifecycle.js.map +1 -0
  307. package/build/transport/http/utils/contextExtractor.d.ts +1 -1
  308. package/build/transport/http/utils/contextExtractor.d.ts.map +1 -1
  309. package/build/transport/http/utils/contextExtractor.js +1 -33
  310. package/build/transport/http/utils/contextExtractor.js.map +1 -1
  311. package/build/transport/stdioProxyTransport.d.ts +1 -0
  312. package/build/transport/stdioProxyTransport.d.ts.map +1 -1
  313. package/build/transport/stdioProxyTransport.js +3 -0
  314. package/build/transport/stdioProxyTransport.js.map +1 -1
  315. package/build/transport/transportFactory.d.ts +1 -2
  316. package/build/transport/transportFactory.d.ts.map +1 -1
  317. package/build/transport/transportFactory.js +54 -4
  318. package/build/transport/transportFactory.js.map +1 -1
  319. package/build/transport/transportFactory.testSetup.d.ts +2 -0
  320. package/build/transport/transportFactory.testSetup.d.ts.map +1 -0
  321. package/build/transport/transportFactory.testSetup.js +83 -0
  322. package/build/transport/transportFactory.testSetup.js.map +1 -0
  323. package/build/utils/context/sessionIdentity.d.ts +9 -0
  324. package/build/utils/context/sessionIdentity.d.ts.map +1 -0
  325. package/build/utils/context/sessionIdentity.js +39 -0
  326. package/build/utils/context/sessionIdentity.js.map +1 -0
  327. package/build/utils/ui/interactiveSelector.d.ts +0 -25
  328. package/build/utils/ui/interactiveSelector.d.ts.map +1 -1
  329. package/build/utils/ui/interactiveSelector.js +12 -329
  330. package/build/utils/ui/interactiveSelector.js.map +1 -1
  331. package/build/utils/ui/interactiveSelectorPrompts.d.ts +7 -0
  332. package/build/utils/ui/interactiveSelectorPrompts.d.ts.map +1 -0
  333. package/build/utils/ui/interactiveSelectorPrompts.js +60 -0
  334. package/build/utils/ui/interactiveSelectorPrompts.js.map +1 -0
  335. package/build/utils/ui/interactiveSelectorQuery.d.ts +5 -0
  336. package/build/utils/ui/interactiveSelectorQuery.d.ts.map +1 -0
  337. package/build/utils/ui/interactiveSelectorQuery.js +67 -0
  338. package/build/utils/ui/interactiveSelectorQuery.js.map +1 -0
  339. package/build/utils/ui/interactiveSelectorTagUi.d.ts +7 -0
  340. package/build/utils/ui/interactiveSelectorTagUi.d.ts.map +1 -0
  341. package/build/utils/ui/interactiveSelectorTagUi.js +129 -0
  342. package/build/utils/ui/interactiveSelectorTagUi.js.map +1 -0
  343. package/package.json +2 -2
  344. package/build/transport/http/utils/sessionService.d.ts +0 -106
  345. package/build/transport/http/utils/sessionService.d.ts.map +0 -1
  346. package/build/transport/http/utils/sessionService.js +0 -342
  347. package/build/transport/http/utils/sessionService.js.map +0 -1
@@ -0,0 +1,7 @@
1
+ import { MCPServerParams } from '../../core/types/transport.js';
2
+ import { TagSelection, TagState } from '../../domains/preset/parsers/tagQueryEvaluator.js';
3
+ import { PresetStrategy } from '../../domains/preset/types/presetTypes.js';
4
+ export declare function showTagSelection(tagSelections: TagSelection[], currentIndex: number, servers: Record<string, MCPServerParams>, strategy: PresetStrategy): void;
5
+ export declare function getTagStateColor(state: TagState): (text: string) => string;
6
+ export declare function showTagServerDetails(tagSelection: TagSelection, servers: Record<string, MCPServerParams>): void;
7
+ //# sourceMappingURL=interactiveSelectorTagUi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactiveSelectorTagUi.d.ts","sourceRoot":"","sources":["../../../src/utils/ui/interactiveSelectorTagUi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAqB,YAAY,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAC7G,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAK1E,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,YAAY,EAAE,EAC7B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACxC,QAAQ,EAAE,cAAc,GACvB,IAAI,CAKN;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAW1E;AAED,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,IAAI,CAqC/G"}
@@ -0,0 +1,129 @@
1
+ import { TagQueryEvaluator } from '../../domains/preset/parsers/tagQueryEvaluator.js';
2
+ import boxen from 'boxen';
3
+ import chalk from 'chalk';
4
+ export function showTagSelection(tagSelections, currentIndex, servers, strategy) {
5
+ console.log(createTagSelectionHeader(strategy));
6
+ console.log(createTagList(tagSelections, currentIndex, servers));
7
+ console.log(createLivePreview(tagSelections, servers, strategy));
8
+ console.log(createStateLegend());
9
+ }
10
+ export function getTagStateColor(state) {
11
+ switch (state) {
12
+ case 'empty':
13
+ return chalk.gray;
14
+ case 'selected':
15
+ return chalk.green;
16
+ case 'not-selected':
17
+ return chalk.red;
18
+ default:
19
+ return chalk.reset;
20
+ }
21
+ }
22
+ export function showTagServerDetails(tagSelection, servers) {
23
+ const enabledServers = tagSelection.servers.filter((serverName) => servers[serverName]?.disabled !== true);
24
+ const disabledServers = tagSelection.servers.filter((serverName) => servers[serverName]?.disabled === true);
25
+ let content = chalk.blue.bold(`📋 Tag: ${tagSelection.tag}\n\n`);
26
+ if (enabledServers.length > 0) {
27
+ content += chalk.green.bold(`✅ Enabled Servers (${enabledServers.length}):\n`);
28
+ for (const serverName of enabledServers) {
29
+ content += formatServerDetailsLine(serverName, servers, chalk.green);
30
+ }
31
+ content += '\n';
32
+ }
33
+ if (disabledServers.length > 0) {
34
+ content += chalk.red.bold(`❌ Disabled Servers (${disabledServers.length}):\n`);
35
+ for (const serverName of disabledServers) {
36
+ content += formatServerDetailsLine(serverName, servers, chalk.red);
37
+ }
38
+ content += '\n';
39
+ }
40
+ if (tagSelection.servers.length === 0) {
41
+ content += chalk.yellow('No servers have this tag.\n\n');
42
+ }
43
+ content += chalk.gray('Press any key to return to tag selection...');
44
+ console.log(boxen(content, {
45
+ padding: 1,
46
+ borderStyle: 'round',
47
+ borderColor: 'blue',
48
+ title: `🔍 Server Details`,
49
+ titleAlignment: 'center',
50
+ }));
51
+ }
52
+ function createTagSelectionHeader(strategy) {
53
+ return boxen(chalk.cyan.bold('🎯 Three-State Tag Selection\n\n') +
54
+ chalk.yellow(`Strategy: ${strategy === 'and' ? 'ALL' : 'ANY'} selected tags must match\n`) +
55
+ chalk.gray('Controls: ↑↓ Navigate Space Cycle states → Server details Enter Confirm ← Back Esc Cancel'), {
56
+ padding: 1,
57
+ borderStyle: 'double',
58
+ borderColor: 'cyan',
59
+ title: 'Tag Selection',
60
+ titleAlignment: 'center',
61
+ });
62
+ }
63
+ function createTagList(tagSelections, currentIndex, servers) {
64
+ const tagListContent = tagSelections
65
+ .map((selection, index) => {
66
+ const symbol = TagQueryEvaluator.getTagStateSymbol(selection.state);
67
+ const stateColor = getTagStateColor(selection.state);
68
+ const isCurrentIndex = index === currentIndex;
69
+ const cursor = isCurrentIndex ? chalk.yellow.bold('►') : ' ';
70
+ const tagHighlight = isCurrentIndex ? chalk.bgGray.white.bold : chalk.white;
71
+ const enabledServers = selection.servers.filter((serverName) => servers[serverName]?.disabled !== true);
72
+ const disabledServers = selection.servers.filter((serverName) => servers[serverName]?.disabled === true);
73
+ const disabledText = disabledServers.length > 0 ? chalk.gray(`, ${chalk.red(disabledServers.length)} disabled`) : '';
74
+ const serverInfo = chalk.gray(`(${chalk.blue(enabledServers.length)} enabled`) + disabledText + chalk.gray(')');
75
+ return `${cursor} ${stateColor(symbol)} ${tagHighlight(selection.tag)} ${serverInfo}`;
76
+ })
77
+ .join('\n');
78
+ return boxen(tagListContent, {
79
+ padding: 1,
80
+ borderStyle: 'round',
81
+ borderColor: 'blue',
82
+ });
83
+ }
84
+ function createLivePreview(tagSelections, servers, strategy) {
85
+ const matchingServers = TagQueryEvaluator.getMatchingServers(tagSelections, servers, strategy);
86
+ const disabledServers = matchingServers.filter((serverName) => servers[serverName]?.disabled === true);
87
+ const enabledServers = matchingServers.filter((serverName) => servers[serverName]?.disabled !== true);
88
+ const matchColor = enabledServers.length === 0 ? chalk.red : enabledServers.length < 3 ? chalk.yellow : chalk.green;
89
+ const matchIcon = enabledServers.length === 0 ? '❌' : enabledServers.length < 3 ? '⚠️' : '✅';
90
+ let previewContent = chalk.blue.bold('Live Preview:\n') +
91
+ `${matchIcon} ${matchColor.bold(`${enabledServers.length} enabled servers`)} match your selection\n` +
92
+ (enabledServers.length > 0
93
+ ? chalk.green(`Servers: ${TagQueryEvaluator.formatServerList(enabledServers, 3)}`)
94
+ : chalk.gray('No enabled servers match'));
95
+ if (disabledServers.length > 0) {
96
+ previewContent +=
97
+ '\n' +
98
+ chalk.red.bold(`⚠️ ${disabledServers.length} disabled servers also match: `) +
99
+ chalk.red(TagQueryEvaluator.formatServerList(disabledServers, 3));
100
+ }
101
+ return boxen(previewContent, {
102
+ padding: 1,
103
+ borderStyle: 'round',
104
+ borderColor: disabledServers.length > 0 ? 'yellow' : 'green',
105
+ title: '⚡ Live Preview',
106
+ titleAlignment: 'center',
107
+ });
108
+ }
109
+ function createStateLegend() {
110
+ const legend = chalk.gray('○ ') +
111
+ chalk.dim('Empty (ignored)') +
112
+ ' ' +
113
+ chalk.green('✓ ') +
114
+ chalk.green('Selected (include)') +
115
+ ' ' +
116
+ chalk.red('✗ ') +
117
+ chalk.red('Not selected (exclude)');
118
+ return boxen(legend, {
119
+ padding: 1,
120
+ borderStyle: 'single',
121
+ borderColor: 'gray',
122
+ });
123
+ }
124
+ function formatServerDetailsLine(serverName, servers, color) {
125
+ const serverConfig = servers[serverName];
126
+ const allTags = (serverConfig.tags || []).join(', ');
127
+ return color(` • ${serverName}`) + chalk.gray(` - tags: ${allTags || 'none'}\n`);
128
+ }
129
+ //# sourceMappingURL=interactiveSelectorTagUi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactiveSelectorTagUi.js","sourceRoot":"","sources":["../../../src/utils/ui/interactiveSelectorTagUi.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1mcp/agent",
3
- "version": "0.32.2",
3
+ "version": "0.33.0-beta1",
4
4
  "description": "One MCP server to aggregate them all - A unified Model Context Protocol server implementation",
5
5
  "keywords": [
6
6
  "mcp",
@@ -99,7 +99,7 @@
99
99
  "@typescript-eslint/parser": "^8.27.0",
100
100
  "@vitest/coverage-v8": "^4.1.8",
101
101
  "archiver": "^7.0.1",
102
- "concurrently": "^9.2.1",
102
+ "concurrently": "^10.0.3",
103
103
  "cytoscape": "^3.32.1",
104
104
  "cytoscape-cose-bilkent": "^4.1.0",
105
105
  "dayjs": "^1.11.13",
@@ -1,106 +0,0 @@
1
- import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
2
- import { InitializeResponseData } from '../../../auth/sessionTypes.js';
3
- import { AsyncLoadingOrchestrator } from '../../../core/capabilities/asyncLoadingOrchestrator.js';
4
- import { ServerManager } from '../../../core/server/serverManager.js';
5
- import { InboundConnectionConfig } from '../../../core/types/index.js';
6
- import { RestorableStreamableHTTPServerTransport } from '../../../transport/http/restorableStreamableTransport.js';
7
- import { StreamableSessionRepository } from '../../../transport/http/storage/streamableSessionRepository.js';
8
- import type { ContextData } from '../../../types/context.js';
9
- /**
10
- * Result type for session restoration operations.
11
- */
12
- export interface SessionRestoreResult {
13
- transport: RestorableStreamableHTTPServerTransport | null;
14
- error?: string;
15
- errorType?: 'not_found' | 'transport_failed' | 'connection_failed' | 'context_invalid';
16
- }
17
- /**
18
- * Result type for session creation operations.
19
- * Indicates whether the session was successfully persisted to storage.
20
- */
21
- export interface SessionCreateResult {
22
- transport: StreamableHTTPServerTransport | RestorableStreamableHTTPServerTransport;
23
- persisted: boolean;
24
- persistenceError?: string;
25
- }
26
- /**
27
- * Service to handle session management logic for Streamable HTTP transport.
28
- * Encapsulates creation, restoration, and cleanup of sessions.
29
- */
30
- export declare class SessionService {
31
- private serverManager;
32
- private sessionRepository;
33
- private asyncOrchestrator?;
34
- constructor(serverManager: ServerManager, sessionRepository: StreamableSessionRepository, asyncOrchestrator?: AsyncLoadingOrchestrator | undefined);
35
- /**
36
- * Retrieves an existing session transport or tries to restore it.
37
- *
38
- * @param sessionId - The session ID to retrieve
39
- * @returns The transport if found or restored successfully, null otherwise
40
- */
41
- getSession(sessionId: string): Promise<StreamableHTTPServerTransport | RestorableStreamableHTTPServerTransport | null>;
42
- /**
43
- * Stores initialize response data for a session to enable proper restoration.
44
- *
45
- * This data is used to replay the initialize handshake through the SDK's
46
- * public API during session restoration, avoiding fragile private property access.
47
- *
48
- * @param sessionId - The session ID to update
49
- * @param initializeResponse - The initialize response data to store
50
- */
51
- storeInitializeResponse(sessionId: string, initializeResponse: InitializeResponseData): void;
52
- /**
53
- * Sets the SDK's internal initialized state directly.
54
- *
55
- * This is a simple approach that accesses SDK internals. If the SDK structure
56
- * changes, this will fail gracefully and the session won't be marked as restored,
57
- * allowing the client to re-initialize.
58
- *
59
- * @param transport - The transport to mark as initialized
60
- * @param sessionId - The session ID to set
61
- * @returns true if successful, false if SDK internals are inaccessible
62
- */
63
- private setInitializedState;
64
- /**
65
- * Restores a session from persistent storage.
66
- *
67
- * The client won't send initialize again when reconnecting - they think the session
68
- * is already initialized. We need to restore the SDK's initialized state internally
69
- * using the stored initialize response data.
70
- *
71
- * @param sessionId - The session ID to restore
72
- * @returns SessionRestoreResult with transport or error details
73
- */
74
- restoreSession(sessionId: string): Promise<SessionRestoreResult>;
75
- /**
76
- * Creates a new session with the given configuration.
77
- *
78
- * @param config - The inbound connection configuration
79
- * @param context - Optional context data for the session
80
- * @param providedSessionId - Optional session ID to use instead of generating one
81
- * @returns SessionCreateResult with transport and persistence status
82
- * @throws Error if session creation fails (but not if persistence fails)
83
- */
84
- createSession(config: InboundConnectionConfig, context?: Partial<ContextData>, providedSessionId?: string): Promise<SessionCreateResult>;
85
- /**
86
- * Deletes a session and cleans up resources.
87
- *
88
- * Best-effort deletion: client is disconnecting anyway, so we log but don't throw.
89
- * The session will expire naturally via TTL if repository deletion fails.
90
- *
91
- * @param sessionId - The session ID to delete
92
- */
93
- deleteSession(sessionId: string): Promise<void>;
94
- /**
95
- * Initializes async loading notifications for a session.
96
- *
97
- * This method should be called after connecting a transport to enable
98
- * the async orchestrator to send capability updates to the client.
99
- * Only applicable when async loading is enabled.
100
- *
101
- * @param sessionId - The session ID to initialize notifications for
102
- */
103
- private initializeNotifications;
104
- private setupTransportHandlers;
105
- }
106
- //# sourceMappingURL=sessionService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sessionService.d.ts","sourceRoot":"","sources":["../../../../src/transport/http/utils/sessionService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AAEnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAgB,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAAE,uCAAuC,EAAE,MAAM,sDAAsD,CAAC;AAC/G,OAAO,EAAE,2BAA2B,EAAE,MAAM,4DAA4D,CAAC;AAEzG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAazD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,uCAAuC,GAAG,IAAI,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,WAAW,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;CACxF;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,6BAA6B,GAAG,uCAAuC,CAAC;IACnF,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAYD;;;GAGG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,iBAAiB,CAAC;gBAFlB,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,2BAA2B,EAC9C,iBAAiB,CAAC,EAAE,wBAAwB,YAAA;IAGtD;;;;;OAKG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,6BAA6B,GAAG,uCAAuC,GAAG,IAAI,CAAC;IA4B1F;;;;;;;;OAQG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,sBAAsB,GAAG,IAAI;IAI5F;;;;;;;;;;OAUG;IACH,OAAO,CAAC,mBAAmB;IAuD3B;;;;;;;;;OASG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA4FtE;;;;;;;;OAQG;IACG,aAAa,CACjB,MAAM,EAAE,uBAAuB,EAC/B,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,EAC9B,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,mBAAmB,CAAC;IA6D/B;;;;;;;OAOG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBrD;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,sBAAsB;CAmB/B"}
@@ -1,342 +0,0 @@
1
- import { randomUUID } from 'node:crypto';
2
- import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
3
- import { AUTH_CONFIG } from '../../../constants.js';
4
- import { ServerStatus } from '../../../core/types/index.js';
5
- import logger from '../../../logger/logger.js';
6
- import { RestorableStreamableHTTPServerTransport } from '../../../transport/http/restorableStreamableTransport.js';
7
- import { logError } from '../../../transport/http/utils/unifiedLogger.js';
8
- /**
9
- * Validates a session ID format.
10
- *
11
- * @param sessionId - The session ID to validate
12
- * @returns true if the session ID is valid, false otherwise
13
- */
14
- function isValidSessionId(sessionId) {
15
- return typeof sessionId === 'string' && sessionId.trim().length > 0;
16
- }
17
- /**
18
- * Service to handle session management logic for Streamable HTTP transport.
19
- * Encapsulates creation, restoration, and cleanup of sessions.
20
- */
21
- export class SessionService {
22
- serverManager;
23
- sessionRepository;
24
- asyncOrchestrator;
25
- constructor(serverManager, sessionRepository, asyncOrchestrator) {
26
- this.serverManager = serverManager;
27
- this.sessionRepository = sessionRepository;
28
- this.asyncOrchestrator = asyncOrchestrator;
29
- }
30
- /**
31
- * Retrieves an existing session transport or tries to restore it.
32
- *
33
- * @param sessionId - The session ID to retrieve
34
- * @returns The transport if found or restored successfully, null otherwise
35
- */
36
- async getSession(sessionId) {
37
- // Validate sessionId
38
- if (!isValidSessionId(sessionId)) {
39
- logger.debug('Invalid sessionId provided to getSession');
40
- return null;
41
- }
42
- const existingTransport = this.serverManager.getTransport(sessionId);
43
- if (existingTransport) {
44
- // Verify the transport is the correct type for this endpoint
45
- if (existingTransport instanceof StreamableHTTPServerTransport ||
46
- existingTransport instanceof RestorableStreamableHTTPServerTransport) {
47
- // Update last accessed time for active sessions
48
- this.sessionRepository.updateAccess(sessionId);
49
- return existingTransport;
50
- }
51
- // Transport exists but is wrong type (e.g., STDIO), so it's not usable here
52
- return null;
53
- }
54
- // Try to restore from persistent storage
55
- const result = await this.restoreSession(sessionId);
56
- return result.transport;
57
- }
58
- /**
59
- * Stores initialize response data for a session to enable proper restoration.
60
- *
61
- * This data is used to replay the initialize handshake through the SDK's
62
- * public API during session restoration, avoiding fragile private property access.
63
- *
64
- * @param sessionId - The session ID to update
65
- * @param initializeResponse - The initialize response data to store
66
- */
67
- storeInitializeResponse(sessionId, initializeResponse) {
68
- this.sessionRepository.storeInitializeResponse(sessionId, initializeResponse);
69
- }
70
- /**
71
- * Sets the SDK's internal initialized state directly.
72
- *
73
- * This is a simple approach that accesses SDK internals. If the SDK structure
74
- * changes, this will fail gracefully and the session won't be marked as restored,
75
- * allowing the client to re-initialize.
76
- *
77
- * @param transport - The transport to mark as initialized
78
- * @param sessionId - The session ID to set
79
- * @returns true if successful, false if SDK internals are inaccessible
80
- */
81
- setInitializedState(transport, sessionId) {
82
- try {
83
- const internals = transport;
84
- if (internals._webStandardTransport) {
85
- // Validate that required properties exist before assignment
86
- if (internals._webStandardTransport._initialized !== undefined &&
87
- typeof internals._webStandardTransport._initialized !== 'boolean') {
88
- logError('SDK internal property _initialized is not a boolean', {
89
- method: 'setInitializedState',
90
- path: 'sessionService',
91
- sessionId,
92
- phase: 'SDK internal validation',
93
- context: { property: '_initialized', type: typeof internals._webStandardTransport._initialized },
94
- });
95
- return false;
96
- }
97
- if (internals._webStandardTransport.sessionId !== undefined &&
98
- typeof internals._webStandardTransport.sessionId !== 'string') {
99
- logError('SDK internal property sessionId is not a string', {
100
- method: 'setInitializedState',
101
- path: 'sessionService',
102
- sessionId,
103
- phase: 'SDK internal validation',
104
- context: { property: 'sessionId', type: typeof internals._webStandardTransport.sessionId },
105
- });
106
- return false;
107
- }
108
- internals._webStandardTransport._initialized = true;
109
- internals._webStandardTransport.sessionId = sessionId;
110
- return true;
111
- }
112
- logError('SDK internal structure changed - _webStandardTransport not found', {
113
- method: 'setInitializedState',
114
- path: 'sessionService',
115
- sessionId,
116
- phase: 'SDK internal access',
117
- context: { reason: '_webStandardTransport property missing' },
118
- });
119
- return false;
120
- }
121
- catch (error) {
122
- logError('Failed to set initialized state', {
123
- method: 'setInitializedState',
124
- path: 'sessionService',
125
- sessionId,
126
- phase: 'SDK internal mutation',
127
- error,
128
- });
129
- return false;
130
- }
131
- }
132
- /**
133
- * Restores a session from persistent storage.
134
- *
135
- * The client won't send initialize again when reconnecting - they think the session
136
- * is already initialized. We need to restore the SDK's initialized state internally
137
- * using the stored initialize response data.
138
- *
139
- * @param sessionId - The session ID to restore
140
- * @returns SessionRestoreResult with transport or error details
141
- */
142
- async restoreSession(sessionId) {
143
- try {
144
- // Get full session data including initializeResponse
145
- const sessionData = this.sessionRepository.getSessionData(sessionId);
146
- if (!sessionData) {
147
- logger.debug(`No persisted session found for: ${sessionId}`);
148
- return { transport: null, errorType: 'not_found' };
149
- }
150
- // Check if session has initialize response data
151
- if (!sessionData.initializeResponse) {
152
- logger.warn(`Session ${sessionId} exists but lacks initialize response data, cannot restore`);
153
- return {
154
- transport: null,
155
- errorType: 'transport_failed',
156
- error: 'Session data incompatible with current version. Please create a new session.',
157
- };
158
- }
159
- // Parse session data to config
160
- const config = this.sessionRepository.get(sessionId);
161
- if (!config) {
162
- logger.error(`Failed to parse session config for ${sessionId}`);
163
- return { transport: null, errorType: 'transport_failed', error: 'Failed to parse session config' };
164
- }
165
- logger.info(`Restoring streamable session: ${sessionId}`);
166
- // Create new transport with the original session ID
167
- // The sessionIdGenerator callback is the SDK's public API for controlling session IDs
168
- const transport = new RestorableStreamableHTTPServerTransport({
169
- sessionIdGenerator: () => sessionId,
170
- });
171
- // Convert config context to ContextData format if available
172
- const context = config.context;
173
- const contextData = context
174
- ? {
175
- project: context.project || { name: 'unknown' },
176
- user: context.user || {},
177
- environment: context.environment || {},
178
- timestamp: context.timestamp || new Date().toISOString(),
179
- sessionId: context.sessionId || sessionId,
180
- version: context.version || 'unknown',
181
- transport: context.transport || { type: 'unknown' },
182
- }
183
- : undefined;
184
- // Reconnect with the original configuration and context
185
- try {
186
- await this.serverManager.connectTransport(transport, sessionId, config, contextData);
187
- }
188
- catch (connectError) {
189
- const errorMessage = connectError instanceof Error ? connectError.message : String(connectError);
190
- logger.error(`Failed to connect transport ${sessionId}:`, connectError);
191
- return { transport: null, error: errorMessage, errorType: 'connection_failed' };
192
- }
193
- // Set SDK's internal initialized state directly
194
- // This is simple but fragile - if SDK changes, client can re-initialize
195
- const initialized = this.setInitializedState(transport, sessionId);
196
- if (!initialized) {
197
- logError('Could not set initialized state during session restoration', {
198
- method: 'restoreSession',
199
- path: 'sessionService',
200
- sessionId,
201
- phase: 'SDK initialization',
202
- context: { reason: 'SDK internal structure inaccessible' },
203
- });
204
- // Continue anyway - client can re-initialize if needed
205
- }
206
- // Mark as restored
207
- transport.markAsRestored();
208
- // Initialize notifications
209
- this.initializeNotifications(sessionId);
210
- // Set up handlers
211
- this.setupTransportHandlers(transport, sessionId);
212
- // Update last accessed time
213
- this.sessionRepository.updateAccess(sessionId);
214
- logger.info(`Successfully restored streamable session: ${sessionId} (restored: ${transport.isRestored()})`);
215
- return { transport };
216
- }
217
- catch (error) {
218
- const errorMessage = error instanceof Error ? error.message : String(error);
219
- logger.error(`Failed to restore streamable session ${sessionId}:`, error);
220
- return { transport: null, error: errorMessage, errorType: 'transport_failed' };
221
- }
222
- }
223
- /**
224
- * Creates a new session with the given configuration.
225
- *
226
- * @param config - The inbound connection configuration
227
- * @param context - Optional context data for the session
228
- * @param providedSessionId - Optional session ID to use instead of generating one
229
- * @returns SessionCreateResult with transport and persistence status
230
- * @throws Error if session creation fails (but not if persistence fails)
231
- */
232
- async createSession(config, context, providedSessionId) {
233
- const sessionId = providedSessionId || AUTH_CONFIG.SERVER.STREAMABLE_SESSION.ID_PREFIX + randomUUID();
234
- let transport;
235
- try {
236
- // Always use the standard transport - no special handling for providedSessionId
237
- // The client's initialize request will be processed normally through handleRequest
238
- transport = new StreamableHTTPServerTransport({
239
- sessionIdGenerator: () => sessionId,
240
- });
241
- }
242
- catch (error) {
243
- const errorMessage = error instanceof Error ? error.message : String(error);
244
- logger.error(`Failed to create transport for session ${sessionId}:`, error);
245
- throw new Error(`Session creation failed: transport initialization error - ${errorMessage}`);
246
- }
247
- if (context && context.project?.name && context.sessionId) {
248
- logger.info(`New session with context: ${context.project.name} (${context.sessionId})${providedSessionId ? ` (ID: ${providedSessionId})` : ''}`);
249
- }
250
- // Include full context in config for session persistence
251
- const configWithContext = {
252
- ...config,
253
- context: context || undefined,
254
- };
255
- // Pass context to ServerManager
256
- const validContext = context && context.project && context.user && context.environment ? context : undefined;
257
- try {
258
- await this.serverManager.connectTransport(transport, sessionId, configWithContext, validContext);
259
- }
260
- catch (error) {
261
- const errorMessage = error instanceof Error ? error.message : String(error);
262
- logger.error(`Failed to connect transport ${sessionId}:`, error);
263
- throw new Error(`Session creation failed: connection error - ${errorMessage}`);
264
- }
265
- // Try to persist session to storage
266
- let persisted = false;
267
- let persistenceError;
268
- try {
269
- this.sessionRepository.create(sessionId, configWithContext);
270
- persisted = true;
271
- }
272
- catch (error) {
273
- persistenceError = error instanceof Error ? error.message : String(error);
274
- logger.warn(`Failed to persist session ${sessionId} to repository: ${persistenceError}`);
275
- // Continue anyway - transport is connected, just not persisted
276
- }
277
- // Initialize notifications
278
- this.initializeNotifications(sessionId);
279
- // Set up handlers
280
- this.setupTransportHandlers(transport, sessionId);
281
- return { transport, persisted, persistenceError };
282
- }
283
- /**
284
- * Deletes a session and cleans up resources.
285
- *
286
- * Best-effort deletion: client is disconnecting anyway, so we log but don't throw.
287
- * The session will expire naturally via TTL if repository deletion fails.
288
- *
289
- * @param sessionId - The session ID to delete
290
- */
291
- async deleteSession(sessionId) {
292
- try {
293
- this.sessionRepository.delete(sessionId);
294
- }
295
- catch (error) {
296
- // Best-effort deletion: client is disconnecting, so we log but don't throw
297
- // The session will expire naturally via TTL
298
- logError('Session deletion failed', {
299
- method: 'deleteSession',
300
- path: 'sessionService',
301
- sessionId,
302
- phase: 'session cleanup',
303
- error,
304
- context: { reason: 'Repository delete failed - session will expire via TTL' },
305
- });
306
- }
307
- }
308
- /**
309
- * Initializes async loading notifications for a session.
310
- *
311
- * This method should be called after connecting a transport to enable
312
- * the async orchestrator to send capability updates to the client.
313
- * Only applicable when async loading is enabled.
314
- *
315
- * @param sessionId - The session ID to initialize notifications for
316
- */
317
- initializeNotifications(sessionId) {
318
- if (this.asyncOrchestrator) {
319
- const inboundConnection = this.serverManager.getServer(sessionId);
320
- if (inboundConnection) {
321
- this.asyncOrchestrator.initializeNotifications(inboundConnection);
322
- logger.debug(`Async loading notifications initialized for Streamable HTTP session ${sessionId}`);
323
- }
324
- }
325
- }
326
- setupTransportHandlers(transport, sessionId) {
327
- transport.onclose = () => {
328
- // Only disconnect the transport, don't delete the session
329
- // Sessions persist across server restarts and are only deleted via explicit DELETE requests
330
- this.serverManager.disconnectTransport(sessionId);
331
- };
332
- transport.onerror = (error) => {
333
- logger.error(`Streamable HTTP transport error for session ${sessionId}:`, error);
334
- const server = this.serverManager.getServer(sessionId);
335
- if (server) {
336
- server.status = ServerStatus.Error;
337
- server.lastError = error instanceof Error ? error : new Error(String(error));
338
- }
339
- };
340
- }
341
- }
342
- //# sourceMappingURL=sessionService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sessionService.js","sourceRoot":"","sources":["../../../../src/transport/http/utils/sessionService.ts"],"names":[],"mappings":"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"}