@1mcp/agent 0.32.1 → 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 (365) 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 +4 -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 +7 -2
  122. package/build/core/configChangeHandler.d.ts.map +1 -1
  123. package/build/core/configChangeHandler.js +47 -23
  124. package/build/core/configChangeHandler.js.map +1 -1
  125. package/build/core/filtering/filterSelection.d.ts +72 -0
  126. package/build/core/filtering/filterSelection.d.ts.map +1 -0
  127. package/build/core/filtering/filterSelection.js +262 -0
  128. package/build/core/filtering/filterSelection.js.map +1 -0
  129. package/build/core/instructions/instructionsDistribution.d.ts +52 -0
  130. package/build/core/instructions/instructionsDistribution.d.ts.map +1 -0
  131. package/build/core/instructions/instructionsDistribution.js +124 -0
  132. package/build/core/instructions/instructionsDistribution.js.map +1 -0
  133. package/build/core/loading/loadingStateTracker.d.ts +19 -0
  134. package/build/core/loading/loadingStateTracker.d.ts.map +1 -1
  135. package/build/core/loading/loadingStateTracker.js +37 -0
  136. package/build/core/loading/loadingStateTracker.js.map +1 -1
  137. package/build/core/loading/mcpLoadingManager.d.ts +103 -8
  138. package/build/core/loading/mcpLoadingManager.d.ts.map +1 -1
  139. package/build/core/loading/mcpLoadingManager.js +301 -31
  140. package/build/core/loading/mcpLoadingManager.js.map +1 -1
  141. package/build/core/protocol/notificationHandlers.js +2 -2
  142. package/build/core/protocol/notificationHandlers.js.map +1 -1
  143. package/build/core/protocol/promptRequestHandlers.d.ts +4 -0
  144. package/build/core/protocol/promptRequestHandlers.d.ts.map +1 -0
  145. package/build/core/protocol/promptRequestHandlers.js +64 -0
  146. package/build/core/protocol/promptRequestHandlers.js.map +1 -0
  147. package/build/core/protocol/requestHandlerUtils.d.ts +8 -0
  148. package/build/core/protocol/requestHandlerUtils.d.ts.map +1 -0
  149. package/build/core/protocol/requestHandlerUtils.js +48 -0
  150. package/build/core/protocol/requestHandlerUtils.js.map +1 -0
  151. package/build/core/protocol/requestHandlers.d.ts +2 -0
  152. package/build/core/protocol/requestHandlers.d.ts.map +1 -1
  153. package/build/core/protocol/requestHandlers.js +7 -391
  154. package/build/core/protocol/requestHandlers.js.map +1 -1
  155. package/build/core/protocol/resourceRequestHandlers.d.ts +3 -0
  156. package/build/core/protocol/resourceRequestHandlers.d.ts.map +1 -0
  157. package/build/core/protocol/resourceRequestHandlers.js +76 -0
  158. package/build/core/protocol/resourceRequestHandlers.js.map +1 -0
  159. package/build/core/protocol/toolRequestHandlers.d.ts +4 -0
  160. package/build/core/protocol/toolRequestHandlers.d.ts.map +1 -0
  161. package/build/core/protocol/toolRequestHandlers.js +132 -0
  162. package/build/core/protocol/toolRequestHandlers.js.map +1 -0
  163. package/build/core/server/adapters/TemplateServerAdapter.d.ts +0 -5
  164. package/build/core/server/adapters/TemplateServerAdapter.d.ts.map +1 -1
  165. package/build/core/server/adapters/TemplateServerAdapter.js +7 -30
  166. package/build/core/server/adapters/TemplateServerAdapter.js.map +1 -1
  167. package/build/core/server/clientInstanceFactory.d.ts +13 -0
  168. package/build/core/server/clientInstanceFactory.d.ts.map +1 -0
  169. package/build/core/server/clientInstanceFactory.js +32 -0
  170. package/build/core/server/clientInstanceFactory.js.map +1 -0
  171. package/build/core/server/clientInstancePool.d.ts +8 -49
  172. package/build/core/server/clientInstancePool.d.ts.map +1 -1
  173. package/build/core/server/clientInstancePool.js +61 -72
  174. package/build/core/server/clientInstancePool.js.map +1 -1
  175. package/build/core/server/clientInstancePoolTypes.d.ts +52 -0
  176. package/build/core/server/clientInstancePoolTypes.d.ts.map +1 -0
  177. package/build/core/server/clientInstancePoolTypes.js +10 -0
  178. package/build/core/server/clientInstancePoolTypes.js.map +1 -0
  179. package/build/core/server/connectionResolver.d.ts.map +1 -1
  180. package/build/core/server/connectionResolver.js +34 -31
  181. package/build/core/server/connectionResolver.js.map +1 -1
  182. package/build/core/server/mcpServerLifecycleManager.d.ts +9 -1
  183. package/build/core/server/mcpServerLifecycleManager.d.ts.map +1 -1
  184. package/build/core/server/mcpServerLifecycleManager.js +22 -0
  185. package/build/core/server/mcpServerLifecycleManager.js.map +1 -1
  186. package/build/core/server/requestContextPreparation.d.ts +38 -0
  187. package/build/core/server/requestContextPreparation.d.ts.map +1 -0
  188. package/build/core/server/requestContextPreparation.js +49 -0
  189. package/build/core/server/requestContextPreparation.js.map +1 -0
  190. package/build/core/server/serverManager.d.ts +8 -0
  191. package/build/core/server/serverManager.d.ts.map +1 -1
  192. package/build/core/server/serverManager.js +84 -2
  193. package/build/core/server/serverManager.js.map +1 -1
  194. package/build/core/server/templateIdentity.d.ts +44 -0
  195. package/build/core/server/templateIdentity.d.ts.map +1 -0
  196. package/build/core/server/templateIdentity.js +95 -0
  197. package/build/core/server/templateIdentity.js.map +1 -0
  198. package/build/core/server/templateServerCleanup.d.ts +23 -0
  199. package/build/core/server/templateServerCleanup.d.ts.map +1 -0
  200. package/build/core/server/templateServerCleanup.js +155 -0
  201. package/build/core/server/templateServerCleanup.js.map +1 -0
  202. package/build/core/server/templateServerManager.d.ts +12 -3
  203. package/build/core/server/templateServerManager.d.ts.map +1 -1
  204. package/build/core/server/templateServerManager.js +82 -127
  205. package/build/core/server/templateServerManager.js.map +1 -1
  206. package/build/core/tools/internal/adapters/installation/types.d.ts +16 -11
  207. package/build/core/tools/internal/adapters/installation/types.d.ts.map +1 -1
  208. package/build/core/tools/internal/adapters/installationAdapter.d.ts +3 -13
  209. package/build/core/tools/internal/adapters/installationAdapter.d.ts.map +1 -1
  210. package/build/core/tools/internal/adapters/installationAdapter.js +85 -69
  211. package/build/core/tools/internal/adapters/installationAdapter.js.map +1 -1
  212. package/build/core/tools/internal/installationHandlers.d.ts.map +1 -1
  213. package/build/core/tools/internal/installationHandlers.js +10 -4
  214. package/build/core/tools/internal/installationHandlers.js.map +1 -1
  215. package/build/core/tools/internal/integration.domainMocks.testSetup.d.ts +2 -0
  216. package/build/core/tools/internal/integration.domainMocks.testSetup.d.ts.map +1 -0
  217. package/build/core/tools/internal/integration.domainMocks.testSetup.js +66 -0
  218. package/build/core/tools/internal/integration.domainMocks.testSetup.js.map +1 -0
  219. package/build/core/tools/internal/integration.testSetup.d.ts +2 -0
  220. package/build/core/tools/internal/integration.testSetup.d.ts.map +1 -0
  221. package/build/core/tools/internal/integration.testSetup.js +469 -0
  222. package/build/core/tools/internal/integration.testSetup.js.map +1 -0
  223. package/build/core/tools/internal/schemas/index.d.ts +6 -0
  224. package/build/core/tools/internal/schemas/index.d.ts.map +1 -1
  225. package/build/core/tools/internal/schemas/installation.d.ts +6 -0
  226. package/build/core/tools/internal/schemas/installation.d.ts.map +1 -1
  227. package/build/core/tools/internal/schemas/installation.js +13 -1
  228. package/build/core/tools/internal/schemas/installation.js.map +1 -1
  229. package/build/domains/config-change/backupRetention.d.ts +14 -0
  230. package/build/domains/config-change/backupRetention.d.ts.map +1 -0
  231. package/build/domains/config-change/backupRetention.js +36 -0
  232. package/build/domains/config-change/backupRetention.js.map +1 -0
  233. package/build/domains/config-change/configChange.d.ts +4 -0
  234. package/build/domains/config-change/configChange.d.ts.map +1 -0
  235. package/build/domains/config-change/configChange.js +346 -0
  236. package/build/domains/config-change/configChange.js.map +1 -0
  237. package/build/domains/config-change/configLock.d.ts +6 -0
  238. package/build/domains/config-change/configLock.d.ts.map +1 -0
  239. package/build/domains/config-change/configLock.js +62 -0
  240. package/build/domains/config-change/configLock.js.map +1 -0
  241. package/build/domains/config-change/types.d.ts +64 -0
  242. package/build/domains/config-change/types.d.ts.map +1 -0
  243. package/build/domains/config-change/types.js +2 -0
  244. package/build/domains/config-change/types.js.map +1 -0
  245. package/build/domains/installation/index.d.ts +4 -3
  246. package/build/domains/installation/index.d.ts.map +1 -1
  247. package/build/domains/installation/index.js +5 -3
  248. package/build/domains/installation/index.js.map +1 -1
  249. package/build/domains/installation/serverInstallationSourceResolution.d.ts +6 -0
  250. package/build/domains/installation/serverInstallationSourceResolution.d.ts.map +1 -0
  251. package/build/domains/installation/serverInstallationSourceResolution.js +210 -0
  252. package/build/domains/installation/serverInstallationSourceResolution.js.map +1 -0
  253. package/build/domains/installation/serverInstallationTypes.d.ts +105 -0
  254. package/build/domains/installation/serverInstallationTypes.d.ts.map +1 -0
  255. package/build/domains/installation/serverInstallationTypes.js +2 -0
  256. package/build/domains/installation/serverInstallationTypes.js.map +1 -0
  257. package/build/domains/installation/serverInstallationWorkflow.d.ts +4 -0
  258. package/build/domains/installation/serverInstallationWorkflow.d.ts.map +1 -0
  259. package/build/domains/installation/serverInstallationWorkflow.js +148 -0
  260. package/build/domains/installation/serverInstallationWorkflow.js.map +1 -0
  261. package/build/domains/preset/manager/presetManager.d.ts +0 -4
  262. package/build/domains/preset/manager/presetManager.d.ts.map +1 -1
  263. package/build/domains/preset/manager/presetManager.js +19 -153
  264. package/build/domains/preset/manager/presetManager.js.map +1 -1
  265. package/build/domains/preset/manager/presetManagerCleanup.d.ts +15 -0
  266. package/build/domains/preset/manager/presetManagerCleanup.d.ts.map +1 -0
  267. package/build/domains/preset/manager/presetManagerCleanup.js +34 -0
  268. package/build/domains/preset/manager/presetManagerCleanup.js.map +1 -0
  269. package/build/domains/preset/manager/presetStorage.d.ts +4 -0
  270. package/build/domains/preset/manager/presetStorage.d.ts.map +1 -0
  271. package/build/domains/preset/manager/presetStorage.js +27 -0
  272. package/build/domains/preset/manager/presetStorage.js.map +1 -0
  273. package/build/domains/preset/manager/presetTesting.d.ts +8 -0
  274. package/build/domains/preset/manager/presetTesting.d.ts.map +1 -0
  275. package/build/domains/preset/manager/presetTesting.js +38 -0
  276. package/build/domains/preset/manager/presetTesting.js.map +1 -0
  277. package/build/domains/preset/manager/presetValidation.d.ts +3 -0
  278. package/build/domains/preset/manager/presetValidation.d.ts.map +1 -0
  279. package/build/domains/preset/manager/presetValidation.js +41 -0
  280. package/build/domains/preset/manager/presetValidation.js.map +1 -0
  281. package/build/domains/registry/cacheManager.d.ts.map +1 -1
  282. package/build/domains/registry/cacheManager.js +1 -0
  283. package/build/domains/registry/cacheManager.js.map +1 -1
  284. package/build/domains/registry/mcpRegistryClient.d.ts.map +1 -1
  285. package/build/domains/registry/mcpRegistryClient.js +2 -1
  286. package/build/domains/registry/mcpRegistryClient.js.map +1 -1
  287. package/build/server.d.ts.map +1 -1
  288. package/build/server.js +1 -0
  289. package/build/server.js.map +1 -1
  290. package/build/transport/http/middlewares/scopeAuthMiddleware.d.ts +3 -0
  291. package/build/transport/http/middlewares/scopeAuthMiddleware.d.ts.map +1 -1
  292. package/build/transport/http/middlewares/scopeAuthMiddleware.js +18 -28
  293. package/build/transport/http/middlewares/scopeAuthMiddleware.js.map +1 -1
  294. package/build/transport/http/middlewares/tagsExtractor.d.ts.map +1 -1
  295. package/build/transport/http/middlewares/tagsExtractor.js +46 -255
  296. package/build/transport/http/middlewares/tagsExtractor.js.map +1 -1
  297. package/build/transport/http/routes/cliTokenRoute.d.ts.map +1 -1
  298. package/build/transport/http/routes/cliTokenRoute.js +20 -14
  299. package/build/transport/http/routes/cliTokenRoute.js.map +1 -1
  300. package/build/transport/http/routes/inspectRequestContext.d.ts +5 -0
  301. package/build/transport/http/routes/inspectRequestContext.d.ts.map +1 -0
  302. package/build/transport/http/routes/inspectRequestContext.js +59 -0
  303. package/build/transport/http/routes/inspectRequestContext.js.map +1 -0
  304. package/build/transport/http/routes/inspectRoutes.d.ts +3 -3
  305. package/build/transport/http/routes/inspectRoutes.d.ts.map +1 -1
  306. package/build/transport/http/routes/inspectRoutes.js +60 -83
  307. package/build/transport/http/routes/inspectRoutes.js.map +1 -1
  308. package/build/transport/http/routes/oauthRoutes.d.ts.map +1 -1
  309. package/build/transport/http/routes/oauthRoutes.js +99 -223
  310. package/build/transport/http/routes/oauthRoutes.js.map +1 -1
  311. package/build/transport/http/routes/streamableHttpRoutes.d.ts +2 -2
  312. package/build/transport/http/routes/streamableHttpRoutes.d.ts.map +1 -1
  313. package/build/transport/http/routes/streamableHttpRoutes.js +39 -84
  314. package/build/transport/http/routes/streamableHttpRoutes.js.map +1 -1
  315. package/build/transport/http/routes/toolRoutes.d.ts.map +1 -1
  316. package/build/transport/http/routes/toolRoutes.js +138 -39
  317. package/build/transport/http/routes/toolRoutes.js.map +1 -1
  318. package/build/transport/http/server.d.ts.map +1 -1
  319. package/build/transport/http/server.js +93 -0
  320. package/build/transport/http/server.js.map +1 -1
  321. package/build/transport/http/streamableSessionLifecycle.d.ts +90 -0
  322. package/build/transport/http/streamableSessionLifecycle.d.ts.map +1 -0
  323. package/build/transport/http/streamableSessionLifecycle.js +348 -0
  324. package/build/transport/http/streamableSessionLifecycle.js.map +1 -0
  325. package/build/transport/http/utils/contextExtractor.d.ts +1 -1
  326. package/build/transport/http/utils/contextExtractor.d.ts.map +1 -1
  327. package/build/transport/http/utils/contextExtractor.js +1 -33
  328. package/build/transport/http/utils/contextExtractor.js.map +1 -1
  329. package/build/transport/stdioProxyTransport.d.ts +1 -0
  330. package/build/transport/stdioProxyTransport.d.ts.map +1 -1
  331. package/build/transport/stdioProxyTransport.js +3 -0
  332. package/build/transport/stdioProxyTransport.js.map +1 -1
  333. package/build/transport/transportFactory.d.ts +1 -2
  334. package/build/transport/transportFactory.d.ts.map +1 -1
  335. package/build/transport/transportFactory.js +54 -4
  336. package/build/transport/transportFactory.js.map +1 -1
  337. package/build/transport/transportFactory.testSetup.d.ts +2 -0
  338. package/build/transport/transportFactory.testSetup.d.ts.map +1 -0
  339. package/build/transport/transportFactory.testSetup.js +83 -0
  340. package/build/transport/transportFactory.testSetup.js.map +1 -0
  341. package/build/utils/context/sessionIdentity.d.ts +9 -0
  342. package/build/utils/context/sessionIdentity.d.ts.map +1 -0
  343. package/build/utils/context/sessionIdentity.js +39 -0
  344. package/build/utils/context/sessionIdentity.js.map +1 -0
  345. package/build/utils/ui/interactiveSelector.d.ts +0 -25
  346. package/build/utils/ui/interactiveSelector.d.ts.map +1 -1
  347. package/build/utils/ui/interactiveSelector.js +12 -329
  348. package/build/utils/ui/interactiveSelector.js.map +1 -1
  349. package/build/utils/ui/interactiveSelectorPrompts.d.ts +7 -0
  350. package/build/utils/ui/interactiveSelectorPrompts.d.ts.map +1 -0
  351. package/build/utils/ui/interactiveSelectorPrompts.js +60 -0
  352. package/build/utils/ui/interactiveSelectorPrompts.js.map +1 -0
  353. package/build/utils/ui/interactiveSelectorQuery.d.ts +5 -0
  354. package/build/utils/ui/interactiveSelectorQuery.d.ts.map +1 -0
  355. package/build/utils/ui/interactiveSelectorQuery.js +67 -0
  356. package/build/utils/ui/interactiveSelectorQuery.js.map +1 -0
  357. package/build/utils/ui/interactiveSelectorTagUi.d.ts +7 -0
  358. package/build/utils/ui/interactiveSelectorTagUi.d.ts.map +1 -0
  359. package/build/utils/ui/interactiveSelectorTagUi.js +129 -0
  360. package/build/utils/ui/interactiveSelectorTagUi.js.map +1 -0
  361. package/package.json +2 -2
  362. package/build/transport/http/utils/sessionService.d.ts +0 -106
  363. package/build/transport/http/utils/sessionService.d.ts.map +0 -1
  364. package/build/transport/http/utils/sessionService.js +0 -342
  365. package/build/transport/http/utils/sessionService.js.map +0 -1
@@ -0,0 +1,76 @@
1
+ import { ListResourcesRequestSchema, ListResourceTemplatesRequestSchema, ReadResourceRequestSchema, SubscribeRequestSchema, UnsubscribeRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
2
+ import { MCP_URI_SEPARATOR } from '../../constants.js';
3
+ import { byCapabilities } from '../../core/filtering/clientFiltering.js';
4
+ import { FilteringService } from '../../core/filtering/filteringService.js';
5
+ import { withErrorHandling } from '../../utils/core/errorHandling.js';
6
+ import { buildUri, parseUri } from '../../utils/core/parsing.js';
7
+ import { getRequestTimeout } from '../../utils/core/timeoutUtils.js';
8
+ import { handlePagination } from '../../utils/ui/pagination.js';
9
+ import { filterConnectionsForSession, getRequestSession, resolveOutboundConnection } from './requestHandlerUtils.js';
10
+ export function registerResourceHandlers(outboundConns, inboundConn) {
11
+ const sessionId = getRequestSession(inboundConn);
12
+ inboundConn.server.setRequestHandler(ListResourcesRequestSchema, withErrorHandling(async (request) => {
13
+ const sessionFilteredConns = filterConnectionsForSession(outboundConns, sessionId);
14
+ const capabilityFilteredClients = byCapabilities({ resources: {} })(sessionFilteredConns);
15
+ const filteredClients = FilteringService.getFilteredConnections(capabilityFilteredClients, inboundConn);
16
+ const result = await handlePagination(filteredClients, request.params || {}, (client, params, opts) => client.listResources(params, opts), (outboundConn, result) => result.resources?.map((resource) => ({
17
+ ...resource,
18
+ uri: buildUri(outboundConn.name, resource.uri, MCP_URI_SEPARATOR),
19
+ })) ?? [], inboundConn.enablePagination ?? false);
20
+ return {
21
+ resources: result.items,
22
+ nextCursor: result.nextCursor,
23
+ };
24
+ }, 'Error listing resources'));
25
+ inboundConn.server.setRequestHandler(ListResourceTemplatesRequestSchema, withErrorHandling(async (request) => {
26
+ const sessionFilteredConns = filterConnectionsForSession(outboundConns, sessionId);
27
+ const capabilityFilteredClients = byCapabilities({ resources: {} })(sessionFilteredConns);
28
+ const filteredClients = FilteringService.getFilteredConnections(capabilityFilteredClients, inboundConn);
29
+ const result = await handlePagination(filteredClients, request.params || {}, (client, params, opts) => client.listResourceTemplates(params, opts), (outboundConn, result) => result.resourceTemplates?.map((template) => ({
30
+ ...template,
31
+ uriTemplate: buildUri(outboundConn.name, template.uriTemplate, MCP_URI_SEPARATOR),
32
+ })) ?? [], inboundConn.enablePagination ?? false);
33
+ return {
34
+ resourceTemplates: result.items,
35
+ nextCursor: result.nextCursor,
36
+ };
37
+ }, 'Error listing resource templates'));
38
+ inboundConn.server.setRequestHandler(SubscribeRequestSchema, withErrorHandling(async (request) => {
39
+ const { clientName, resourceName } = parseUri(request.params.uri, MCP_URI_SEPARATOR);
40
+ const outboundConn = resolveOutboundConnection(clientName, sessionId, outboundConns, inboundConn);
41
+ if (!outboundConn) {
42
+ throw new Error(`Unknown client: ${clientName}`);
43
+ }
44
+ return outboundConn.client.subscribeResource({ ...request.params, uri: resourceName }, {
45
+ timeout: getRequestTimeout(outboundConn.transport),
46
+ });
47
+ }, 'Error subscribing to resource'));
48
+ inboundConn.server.setRequestHandler(UnsubscribeRequestSchema, withErrorHandling(async (request) => {
49
+ const { clientName, resourceName } = parseUri(request.params.uri, MCP_URI_SEPARATOR);
50
+ const outboundConn = resolveOutboundConnection(clientName, sessionId, outboundConns, inboundConn);
51
+ if (!outboundConn) {
52
+ throw new Error(`Unknown client: ${clientName}`);
53
+ }
54
+ return outboundConn.client.unsubscribeResource({ ...request.params, uri: resourceName }, {
55
+ timeout: getRequestTimeout(outboundConn.transport),
56
+ });
57
+ }, 'Error unsubscribing from resource'));
58
+ inboundConn.server.setRequestHandler(ReadResourceRequestSchema, withErrorHandling(async (request) => {
59
+ const { clientName, resourceName } = parseUri(request.params.uri, MCP_URI_SEPARATOR);
60
+ const outboundConn = resolveOutboundConnection(clientName, sessionId, outboundConns, inboundConn);
61
+ if (!outboundConn) {
62
+ throw new Error(`Unknown client: ${clientName}`);
63
+ }
64
+ const resource = await outboundConn.client.readResource({ ...request.params, uri: resourceName }, {
65
+ timeout: getRequestTimeout(outboundConn.transport),
66
+ });
67
+ return {
68
+ ...resource,
69
+ contents: resource.contents.map((content) => ({
70
+ ...content,
71
+ uri: buildUri(outboundConn.name, content.uri, MCP_URI_SEPARATOR),
72
+ })),
73
+ };
74
+ }, 'Error reading resource'));
75
+ }
76
+ //# sourceMappingURL=resourceRequestHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resourceRequestHandlers.js","sourceRoot":"","sources":["../../../src/core/protocol/resourceRequestHandlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { LazyLoadingOrchestrator } from '../../core/capabilities/lazyLoadingOrchestrator.js';
2
+ import { InboundConnection, OutboundConnections } from '../../core/types/index.js';
3
+ export declare function registerToolHandlers(outboundConns: OutboundConnections, inboundConn: InboundConnection, lazyLoadingOrchestrator?: LazyLoadingOrchestrator): void;
4
+ //# sourceMappingURL=toolRequestHandlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolRequestHandlers.d.ts","sourceRoot":"","sources":["../../../src/core/protocol/toolRequestHandlers.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAI5F,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAclF,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,mBAAmB,EAClC,WAAW,EAAE,iBAAiB,EAC9B,uBAAuB,CAAC,EAAE,uBAAuB,GAChD,IAAI,CA0IN"}
@@ -0,0 +1,132 @@
1
+ import { CallToolRequestSchema, CallToolResultSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
2
+ import { McpConfigManager } from '../../config/mcpConfigManager.js';
3
+ import { MCP_URI_SEPARATOR } from '../../constants.js';
4
+ import { InternalCapabilitiesProvider } from '../../core/capabilities/internalCapabilitiesProvider.js';
5
+ import { byCapabilities } from '../../core/filtering/clientFiltering.js';
6
+ import { FilteringService } from '../../core/filtering/filteringService.js';
7
+ import { getDisabledToolError } from '../../core/server/disabledTools.js';
8
+ import logger, { infoIf } from '../../logger/logger.js';
9
+ import { withErrorHandling } from '../../utils/core/errorHandling.js';
10
+ import { buildUri, parseUri } from '../../utils/core/parsing.js';
11
+ import { getRequestTimeout } from '../../utils/core/timeoutUtils.js';
12
+ import { createCapabilityCatalogFromConnections, filterConnectionsForSession, getRequestSession, resolveOutboundConnection, } from './requestHandlerUtils.js';
13
+ export function registerToolHandlers(outboundConns, inboundConn, lazyLoadingOrchestrator) {
14
+ const sessionId = getRequestSession(inboundConn);
15
+ const lazyLoadingEnabled = lazyLoadingOrchestrator?.isEnabled();
16
+ const getServerConfigs = () => McpConfigManager.getInstance().getTransportConfig();
17
+ inboundConn.server.setRequestHandler(ListToolsRequestSchema, withErrorHandling(async (request) => {
18
+ if (lazyLoadingEnabled && lazyLoadingOrchestrator) {
19
+ const sessionFilteredConns = filterConnectionsForSession(outboundConns, sessionId);
20
+ const capabilityFilteredClients = byCapabilities({ tools: {} })(sessionFilteredConns);
21
+ const filteredClients = FilteringService.getFilteredConnections(capabilityFilteredClients, inboundConn);
22
+ const filteredServerNames = new Set(Array.from(filteredClients.values()).map((conn) => conn.name));
23
+ infoIf(() => ({
24
+ message: 'Lazy loading: filtered servers',
25
+ meta: {
26
+ totalOutbound: outboundConns.size,
27
+ sessionFiltered: sessionFilteredConns.size,
28
+ capabilityFiltered: capabilityFilteredClients.size,
29
+ finalFiltered: filteredClients.size,
30
+ filteredServerNames: Array.from(filteredServerNames),
31
+ inboundConfig: {
32
+ tagFilterMode: inboundConn.tagFilterMode,
33
+ tags: inboundConn.tags,
34
+ tagExpression: inboundConn.tagExpression,
35
+ },
36
+ },
37
+ }));
38
+ const capabilities = await lazyLoadingOrchestrator.getCapabilitiesForFilteredServers(filteredServerNames, sessionId);
39
+ const internalProvider = InternalCapabilitiesProvider.getInstance();
40
+ await internalProvider.initialize();
41
+ const internalTools = internalProvider.getAvailableTools();
42
+ const lazyToolNames = ['tool_list', 'tool_schema', 'tool_invoke'];
43
+ const nonLazyTools = internalTools.filter((tool) => !lazyToolNames.includes(tool.name));
44
+ const internalToolsWithPrefix = nonLazyTools.map((tool) => ({
45
+ ...tool,
46
+ name: buildUri('1mcp', tool.name, MCP_URI_SEPARATOR),
47
+ }));
48
+ return {
49
+ tools: [...capabilities.tools, ...internalToolsWithPrefix],
50
+ };
51
+ }
52
+ const sessionFilteredConns = filterConnectionsForSession(outboundConns, sessionId);
53
+ const capabilityFilteredClients = byCapabilities({ tools: {} })(sessionFilteredConns);
54
+ const filteredClients = FilteringService.getFilteredConnections(capabilityFilteredClients, inboundConn);
55
+ const catalog = await createCapabilityCatalogFromConnections(filteredClients, getServerConfigs);
56
+ const result = await catalog.listVisibleTools(request.params || {}, sessionId);
57
+ const internalProvider = InternalCapabilitiesProvider.getInstance();
58
+ await internalProvider.initialize();
59
+ const internalTools = internalProvider.getAvailableTools();
60
+ const internalToolsWithPrefix = internalTools.map((tool) => ({
61
+ ...tool,
62
+ name: buildUri('1mcp', tool.name, MCP_URI_SEPARATOR),
63
+ }));
64
+ const externalTools = result.tools.map((tool) => ({
65
+ ...tool,
66
+ name: buildUri(tool.server, tool.name, MCP_URI_SEPARATOR),
67
+ inputSchema: tool.inputSchema ?? { type: 'object' },
68
+ }));
69
+ return {
70
+ tools: [...externalTools, ...internalToolsWithPrefix],
71
+ nextCursor: result.nextCursor,
72
+ };
73
+ }, 'Error listing tools'));
74
+ inboundConn.server.setRequestHandler(CallToolRequestSchema, withErrorHandling(async (request) => {
75
+ const toolName = request.params.name;
76
+ const isUnprefixedMetaTool = lazyLoadingEnabled && lazyLoadingOrchestrator && lazyLoadingOrchestrator.isMetaTool(toolName);
77
+ if (isUnprefixedMetaTool && lazyLoadingOrchestrator) {
78
+ let result;
79
+ try {
80
+ result = await lazyLoadingOrchestrator.callMetaTool(toolName, request.params.arguments, sessionId);
81
+ }
82
+ catch (metaToolError) {
83
+ logger.error(`Meta-tool ${toolName} execution failed: ${metaToolError}`);
84
+ throw new Error(`Meta-tool ${toolName} failed: ${metaToolError instanceof Error ? metaToolError.message : String(metaToolError)}`);
85
+ }
86
+ return structuredToolResult(result);
87
+ }
88
+ if (lazyLoadingEnabled && !toolName.includes(MCP_URI_SEPARATOR)) {
89
+ return structuredToolResult({
90
+ error: {
91
+ type: 'not_found',
92
+ message: `Unknown tool: ${toolName}. In lazy loading mode, use meta-tools (tool_list, tool_schema, tool_invoke) to discover and call tools.`,
93
+ },
94
+ });
95
+ }
96
+ const { clientName, resourceName: extractedToolName } = parseUri(toolName, MCP_URI_SEPARATOR);
97
+ if (clientName === '1mcp') {
98
+ const internalProvider = InternalCapabilitiesProvider.getInstance();
99
+ await internalProvider.initialize();
100
+ const result = await internalProvider.executeTool(extractedToolName, request.params.arguments, sessionId);
101
+ return structuredToolResult(result);
102
+ }
103
+ const outboundConn = resolveOutboundConnection(clientName, sessionId, outboundConns, inboundConn);
104
+ if (!outboundConn) {
105
+ throw new Error(`Unknown client: ${clientName}`);
106
+ }
107
+ const disabledError = getDisabledToolError(getServerConfigs(), clientName, extractedToolName);
108
+ if (disabledError) {
109
+ return structuredToolResult({
110
+ error: {
111
+ type: disabledError.type,
112
+ message: disabledError.message,
113
+ },
114
+ });
115
+ }
116
+ return outboundConn.client.callTool({ ...request.params, name: extractedToolName }, CallToolResultSchema, {
117
+ timeout: getRequestTimeout(outboundConn.transport),
118
+ });
119
+ }, 'Error calling tool'));
120
+ }
121
+ function structuredToolResult(result) {
122
+ return {
123
+ content: [
124
+ {
125
+ type: 'text',
126
+ text: JSON.stringify(result, null, 2),
127
+ },
128
+ ],
129
+ structuredContent: result,
130
+ };
131
+ }
132
+ //# sourceMappingURL=toolRequestHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolRequestHandlers.js","sourceRoot":"","sources":["../../../src/core/protocol/toolRequestHandlers.ts"],"names":[],"mappings":"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"}
@@ -20,11 +20,6 @@ export declare class TemplateServerAdapter implements ServerAdapter {
20
20
  private readonly templateManager;
21
21
  readonly type = ServerType.Template;
22
22
  constructor(name: string, config: MCPServerParams, outboundConns: OutboundConnections, templateManager: TemplateServerManager);
23
- /**
24
- * Build the possible connection keys for a session.
25
- * Returns keys in priority order: session-scoped first, then hash-based.
26
- */
27
- private buildConnectionKeys;
28
23
  /**
29
24
  * Resolve the outbound connection for this template server.
30
25
  * Uses session-based resolution with hash lookup for shareable servers.
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateServerAdapter.d.ts","sourceRoot":"","sources":["../../../../src/core/server/adapters/TemplateServerAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE,OAAO,EAAiC,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnH;;;;;;;;;;GAUG;AACH,qBAAa,qBAAsB,YAAW,aAAa;IAIvD,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IANlC,QAAQ,CAAC,IAAI,uBAAuB;gBAGzB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,EACf,aAAa,EAAE,mBAAmB,EAClC,eAAe,EAAE,qBAAqB;IAGzD;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAmB3B;;;OAGG;IACH,iBAAiB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,kBAAkB,GAAG,SAAS;IA2B1E;;OAEG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY;IAKhD;;OAEG;IACH,WAAW,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO;IAK7C;;;OAGG;IACH,gBAAgB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS;CAQ9D"}
1
+ {"version":3,"file":"TemplateServerAdapter.d.ts","sourceRoot":"","sources":["../../../../src/core/server/adapters/TemplateServerAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAIhE,OAAO,EAAiC,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnH;;;;;;;;;;GAUG;AACH,qBAAa,qBAAsB,YAAW,aAAa;IAIvD,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IANlC,QAAQ,CAAC,IAAI,uBAAuB;gBAGzB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,EACf,aAAa,EAAE,mBAAmB,EAClC,eAAe,EAAE,qBAAqB;IAGzD;;;OAGG;IACH,iBAAiB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,kBAAkB,GAAG,SAAS;IA0B1E;;OAEG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY;IAKhD;;OAEG;IACH,WAAW,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO;IAK7C;;;OAGG;IACH,gBAAgB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS;CAQ9D"}
@@ -1,4 +1,5 @@
1
- import { debugIf, errorIf } from '../../../logger/logger.js';
1
+ import { debugIf } from '../../../logger/logger.js';
2
+ import { ConnectionResolver } from '../connectionResolver.js';
2
3
  import { mapClientStatusToServerStatus, ServerStatus, ServerType } from './types.js';
3
4
  /**
4
5
  * TemplateServerAdapter handles template-based MCP servers with dynamic connections.
@@ -23,27 +24,6 @@ export class TemplateServerAdapter {
23
24
  this.outboundConns = outboundConns;
24
25
  this.templateManager = templateManager;
25
26
  }
26
- /**
27
- * Build the possible connection keys for a session.
28
- * Returns keys in priority order: session-scoped first, then hash-based.
29
- */
30
- buildConnectionKeys(sessionId) {
31
- const keys = [`${this.name}:${sessionId}`];
32
- try {
33
- const renderedHash = this.templateManager.getRenderedHashForSession(sessionId, this.name);
34
- if (renderedHash) {
35
- keys.push(`${this.name}:${renderedHash}`);
36
- }
37
- }
38
- catch (error) {
39
- const errorMessage = error instanceof Error ? error.message : String(error);
40
- errorIf(() => ({
41
- message: `Failed to get rendered hash for template server`,
42
- meta: { serverName: this.name, sessionId, error: errorMessage },
43
- }));
44
- }
45
- return keys;
46
- }
47
27
  /**
48
28
  * Resolve the outbound connection for this template server.
49
29
  * Uses session-based resolution with hash lookup for shareable servers.
@@ -57,16 +37,13 @@ export class TemplateServerAdapter {
57
37
  }));
58
38
  return undefined;
59
39
  }
60
- const keys = this.buildConnectionKeys(sessionId);
61
- for (const key of keys) {
62
- const conn = this.outboundConns.get(key);
63
- if (conn) {
64
- return conn;
65
- }
40
+ const resolved = new ConnectionResolver(this.outboundConns, this.templateManager).resolveWithKey(this.name, sessionId);
41
+ if (resolved) {
42
+ return resolved.connection;
66
43
  }
67
44
  debugIf(() => ({
68
45
  message: 'TemplateServerAdapter: No connection found for template server',
69
- meta: { serverName: this.name, sessionId, attemptedKeys: keys },
46
+ meta: { serverName: this.name, sessionId },
70
47
  }));
71
48
  return undefined;
72
49
  }
@@ -93,7 +70,7 @@ export class TemplateServerAdapter {
93
70
  if (!sessionId) {
94
71
  return undefined;
95
72
  }
96
- return this.buildConnectionKeys(sessionId).find((key) => this.outboundConns.has(key));
73
+ return new ConnectionResolver(this.outboundConns, this.templateManager).resolveWithKey(this.name, sessionId)?.key;
97
74
  }
98
75
  }
99
76
  //# sourceMappingURL=TemplateServerAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateServerAdapter.js","sourceRoot":"","sources":["../../../../src/core/server/adapters/TemplateServerAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TemplateServerAdapter.js","sourceRoot":"","sources":["../../../../src/core/server/adapters/TemplateServerAdapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAgC,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnH;;;;;;;;;;GAUG;AACH,MAAM,OAAO,qBAAqB;IAIrB;IACA;IACQ;IACA;IANV,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC;IAEpC,YACW,IAAY,EACZ,MAAuB,EACf,aAAkC,EAClC,eAAsC;QAH9C,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAiB;QACf,kBAAa,GAAb,aAAa,CAAqB;QAClC,oBAAe,GAAf,eAAe,CAAuB;IACtD,CAAC;IAEJ;;;OAGG;IACH,iBAAiB,CAAC,OAAuB;QACvC,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QACrC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBACb,OAAO,EAAE,yDAAyD;gBAClE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE;aAChC,CAAC,CAAC,CAAC;YACJ,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,cAAc,CAC9F,IAAI,CAAC,IAAI,EACT,SAAS,CACV,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC,UAAU,CAAC;QAC7B,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACb,OAAO,EAAE,gEAAgE;YACzE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE;SAC3C,CAAC,CAAC,CAAC;QAEJ,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,OAAuB;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC;IACvF,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,OAAuB;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,MAAM,KAAK,YAAY,CAAC,SAAS,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,OAAuB;QACtC,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QACrC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC;IACpH,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ import type { MCPServerParams } from '../../core/types/transport.js';
2
+ import type { PooledClientInstance } from './clientInstancePoolTypes.js';
3
+ export interface CreatePooledInstanceParams {
4
+ instanceId: string;
5
+ instanceKey: string;
6
+ templateName: string;
7
+ processedConfig: MCPServerParams;
8
+ renderedHash: string;
9
+ clientId: string;
10
+ idleTimeout: number;
11
+ }
12
+ export declare function createPooledClientInstance({ instanceId, instanceKey, templateName, processedConfig, renderedHash, clientId, idleTimeout, }: CreatePooledInstanceParams): Promise<PooledClientInstance>;
13
+ //# sourceMappingURL=clientInstanceFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientInstanceFactory.d.ts","sourceRoot":"","sources":["../../../src/core/server/clientInstanceFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAIpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,0BAA0B,CAAC,EAC/C,UAAU,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,WAAW,GACZ,EAAE,0BAA0B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAmC5D"}
@@ -0,0 +1,32 @@
1
+ import { createTransportsWithContext } from '../../transport/transportFactory.js';
2
+ import { getConnectionTimeout } from '../../utils/core/timeoutUtils.js';
3
+ export async function createPooledClientInstance({ instanceId, instanceKey, templateName, processedConfig, renderedHash, clientId, idleTimeout, }) {
4
+ const transports = await createTransportsWithContext({
5
+ [templateName]: processedConfig,
6
+ }, undefined);
7
+ const transport = transports[templateName];
8
+ if (!transport) {
9
+ throw new Error(`Failed to create transport for template ${templateName}`);
10
+ }
11
+ const { ClientManager } = await import('../../core/client/clientManager.js');
12
+ const clientManager = ClientManager.getOrCreateInstance();
13
+ const client = clientManager.createPooledClientInstance();
14
+ const connectionTimeout = getConnectionTimeout(transport);
15
+ await client.connect(transport, connectionTimeout ? { timeout: connectionTimeout } : undefined);
16
+ return {
17
+ id: instanceId,
18
+ instanceKey,
19
+ templateName,
20
+ client,
21
+ transport,
22
+ renderedHash,
23
+ processedConfig,
24
+ referenceCount: 1,
25
+ createdAt: new Date(),
26
+ lastUsedAt: new Date(),
27
+ status: 'active',
28
+ clientIds: new Set([clientId]),
29
+ idleTimeout,
30
+ };
31
+ }
32
+ //# sourceMappingURL=clientInstanceFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientInstanceFactory.js","sourceRoot":"","sources":["../../../src/core/server/clientInstanceFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAcvE,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,EAC/C,UAAU,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,WAAW,GACgB;IAC3B,MAAM,UAAU,GAAG,MAAM,2BAA2B,CAClD;QACE,CAAC,YAAY,CAAC,EAAE,eAAe;KAChC,EACD,SAAS,CACV,CAAC;IAEF,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,2CAA2C,YAAY,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,aAAa,CAAC,mBAAmB,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAG,aAAa,CAAC,0BAA0B,EAAE,CAAC;IAE1D,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEhG,OAAO;QACL,EAAE,EAAE,UAAU;QACd,WAAW;QACX,YAAY;QACZ,MAAM;QACN,SAAS;QACT,YAAY;QACZ,eAAe;QACf,cAAc,EAAE,CAAC;QACjB,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,UAAU,EAAE,IAAI,IAAI,EAAE;QACtB,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC9B,WAAW;KACZ,CAAC;AACJ,CAAC"}
@@ -1,49 +1,7 @@
1
- import { Client } from '@modelcontextprotocol/sdk/client/index.js';
2
- import { AuthProviderTransport } from '../../core/types/index.js';
3
1
  import type { MCPServerParams } from '../../core/types/transport.js';
4
2
  import type { ContextData } from '../../types/context.js';
5
- /**
6
- * Configuration options for client instance pool
7
- */
8
- export interface ClientPoolOptions {
9
- /** Maximum number of instances per template (0 = unlimited) */
10
- maxInstances?: number;
11
- /** Time in milliseconds to wait before terminating idle instances */
12
- idleTimeout?: number;
13
- /** Interval in milliseconds to run cleanup checks */
14
- cleanupInterval?: number;
15
- /** Maximum total instances across all templates (0 = unlimited) */
16
- maxTotalInstances?: number;
17
- }
18
- /**
19
- * Represents a pooled client instance connected to an upstream MCP server
20
- */
21
- export interface PooledClientInstance {
22
- /** Unique identifier for this instance */
23
- id: string;
24
- /** Name of the template this instance was created from */
25
- templateName: string;
26
- /** MCP client instance */
27
- client: Client;
28
- /** Transport connected to upstream server */
29
- transport: AuthProviderTransport;
30
- /** Hash of the rendered configuration used to create this instance */
31
- renderedHash: string;
32
- /** Processed server configuration */
33
- processedConfig: MCPServerParams;
34
- /** Number of clients currently connected to this instance */
35
- referenceCount: number;
36
- /** Timestamp when this instance was created */
37
- createdAt: Date;
38
- /** Timestamp of last client activity */
39
- lastUsedAt: Date;
40
- /** Current status of the instance */
41
- status: 'active' | 'idle' | 'terminating';
42
- /** Set of client IDs connected to this instance */
43
- clientIds: Set<string>;
44
- /** Template-specific idle timeout */
45
- idleTimeout: number;
46
- }
3
+ import { ClientPoolOptions, PooledClientInstance } from './clientInstancePoolTypes.js';
4
+ export type { ClientPoolOptions, PooledClientInstance };
47
5
  /**
48
6
  * Manages a pool of MCP client instances created from templates
49
7
  *
@@ -59,6 +17,7 @@ export declare class ClientInstancePool {
59
17
  private options;
60
18
  private cleanupTimer?;
61
19
  private instanceCounter;
20
+ private pendingCreations;
62
21
  constructor(options?: Partial<ClientPoolOptions>);
63
22
  /**
64
23
  * Creates or retrieves a client instance for the given template and variables
@@ -75,11 +34,15 @@ export declare class ClientInstancePool {
75
34
  /**
76
35
  * Removes a client from an instance
77
36
  */
78
- removeClientFromInstance(instanceKey: string, clientId: string): void;
37
+ removeClientFromInstance(instanceKey: string, clientId: string, idleSince?: Date): void;
79
38
  /**
80
39
  * Gets an instance by its key
81
40
  */
82
41
  getInstance(instanceKey: string): PooledClientInstance | undefined;
42
+ /**
43
+ * Gets an instance key by its generated instance ID
44
+ */
45
+ getInstanceKeyById(instanceId: string): string | undefined;
83
46
  /**
84
47
  * Gets all instances for a specific template
85
48
  */
@@ -110,10 +73,6 @@ export declare class ClientInstancePool {
110
73
  templateCount: number;
111
74
  totalClients: number;
112
75
  };
113
- /**
114
- * Creates a new client instance and connects to upstream server
115
- */
116
- private createNewInstance;
117
76
  /**
118
77
  * Gets template configuration with proper defaults
119
78
  */
@@ -1 +1 @@
1
- {"version":3,"file":"clientInstancePool.d.ts","sourceRoot":"","sources":["../../../src/core/server/clientInstancePool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clientInstancePool.d.ts","sourceRoot":"","sources":["../../../src/core/server/clientInstancePool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,iBAAiB,EAAwB,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAE7G,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;AAExD;;;;;;;;GAQG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,YAAY,CAAC,CAAiC;IACtD,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,gBAAgB,CAAoD;gBAEhE,OAAO,GAAE,OAAO,CAAC,iBAAiB,CAAM;IAUpD;;OAEG;IACG,yBAAyB,CAC7B,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,eAAe,EAC/B,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GACA,OAAO,CAAC,oBAAoB,CAAC;IAgGhC;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,GAAG,oBAAoB;IAoB3F;;OAEG;IACH,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAE,IAAiB,GAAG,IAAI;IAiCnG;;OAEG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAIlE;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAU1D;;OAEG;IACH,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,oBAAoB,EAAE;IAWlE;;OAEG;IACH,eAAe,IAAI,oBAAoB,EAAE;IAIzC;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BxD;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmC3C;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAqC/B;;OAEG;IACH,QAAQ,IAAI;QACV,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;KACtB;IAeD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA+B3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAuB3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAU/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAc1B"}