@1mcp/agent 0.32.2 → 0.33.0-beta2

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 +4 -4
  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,155 @@
1
+ import logger, { debugIf } from '../../logger/logger.js';
2
+ export async function cleanupTemplateServersForSession(sessionId, outboundConns, transports, context) {
3
+ context.ephemeralClients.delete(sessionId);
4
+ context.persistentSessions.delete(sessionId);
5
+ const instancesToCleanup = context.clientTemplateTracker.removeClient(sessionId);
6
+ logger.info(`Removing client from ${instancesToCleanup.length} template instances`, {
7
+ sessionId,
8
+ instancesToCleanup,
9
+ });
10
+ for (const instanceKey of instancesToCleanup) {
11
+ const [templateName, ...instanceParts] = instanceKey.split(':');
12
+ const instanceId = instanceParts.join(':');
13
+ try {
14
+ const sessionHashes = context.sessionToRenderedHash.get(sessionId);
15
+ const renderedHash = sessionHashes?.get(templateName);
16
+ const { outboundKey, isShareable } = resolveOutboundCleanupTarget(templateName, sessionId, renderedHash, outboundConns);
17
+ context.clientInstancePool.removeClientFromInstance(getPoolInstanceKey(context.clientInstancePool, instanceKey), sessionId);
18
+ if (sessionHashes) {
19
+ sessionHashes.delete(templateName);
20
+ if (sessionHashes.size === 0) {
21
+ context.sessionToRenderedHash.delete(sessionId);
22
+ }
23
+ }
24
+ debugIf(() => ({
25
+ message: `TemplateServerManager.cleanupTemplateServers: Successfully removed client from client instance`,
26
+ meta: {
27
+ sessionId,
28
+ templateName,
29
+ instanceId,
30
+ instanceKey,
31
+ outboundKey,
32
+ isShareable,
33
+ renderedHash: renderedHash?.substring(0, 8),
34
+ },
35
+ }));
36
+ const remainingClients = context.clientTemplateTracker.getClientCount(templateName, instanceId);
37
+ cleanupOutboundConnection(outboundConns, outboundKey, isShareable, remainingClients);
38
+ cleanupTransportIfUnused(transports, instanceId, remainingClients);
39
+ logInstanceRetention(templateName, instanceId, outboundKey, remainingClients);
40
+ }
41
+ catch (error) {
42
+ logger.warn(`Failed to cleanup client instance ${instanceKey}:`, {
43
+ error,
44
+ sessionId,
45
+ templateName,
46
+ instanceId,
47
+ });
48
+ }
49
+ }
50
+ logger.info(`Cleaned up template client instances for session ${sessionId}`, {
51
+ instancesCleaned: instancesToCleanup.length,
52
+ });
53
+ }
54
+ export async function cleanupExpiredEphemeralClients(outboundConns, transports, context) {
55
+ const now = new Date();
56
+ for (const [sessionId, clients] of Array.from(context.ephemeralClients.entries())) {
57
+ if (context.persistentSessions.has(sessionId)) {
58
+ continue;
59
+ }
60
+ for (const [templateName, trackedClient] of Array.from(clients.entries())) {
61
+ const idleTime = now.getTime() - trackedClient.lastUsedAt.getTime();
62
+ if (idleTime <= trackedClient.idleTimeout) {
63
+ continue;
64
+ }
65
+ const instance = context.clientInstancePool.getInstance(trackedClient.instanceKey) ??
66
+ context.clientInstancePool.getInstance(`${templateName}:${trackedClient.instanceKey}`);
67
+ context.clientInstancePool.removeClientFromInstance(trackedClient.instanceKey, sessionId, trackedClient.lastUsedAt);
68
+ const shouldCleanup = context.clientTemplateTracker.removeClientFromInstance(sessionId, templateName, trackedClient.instanceId);
69
+ const sessionHashes = context.sessionToRenderedHash.get(sessionId);
70
+ sessionHashes?.delete(templateName);
71
+ if (sessionHashes?.size === 0) {
72
+ context.sessionToRenderedHash.delete(sessionId);
73
+ }
74
+ const remainingClients = context.clientTemplateTracker.getClientCount(templateName, trackedClient.instanceId);
75
+ if (shouldCleanup || remainingClients === 0) {
76
+ outboundConns.delete(trackedClient.outboundKey);
77
+ delete transports[trackedClient.instanceId];
78
+ context.clientTemplateTracker.cleanupInstance(templateName, trackedClient.instanceId);
79
+ }
80
+ clients.delete(templateName);
81
+ debugIf(() => ({
82
+ message: 'Expired ephemeral template client',
83
+ meta: {
84
+ sessionId,
85
+ templateName,
86
+ instanceId: trackedClient.instanceId,
87
+ instanceKey: trackedClient.instanceKey,
88
+ idleTime,
89
+ instanceFound: Boolean(instance),
90
+ },
91
+ }));
92
+ }
93
+ if (clients.size === 0) {
94
+ context.ephemeralClients.delete(sessionId);
95
+ }
96
+ }
97
+ }
98
+ function resolveOutboundCleanupTarget(templateName, sessionId, renderedHash, outboundConns) {
99
+ if (!renderedHash) {
100
+ return { outboundKey: `${templateName}:${sessionId}`, isShareable: false };
101
+ }
102
+ const hashKey = `${templateName}:${renderedHash}`;
103
+ const sessionKey = `${templateName}:${sessionId}`;
104
+ if (outboundConns.has(hashKey)) {
105
+ return { outboundKey: hashKey, isShareable: true };
106
+ }
107
+ return { outboundKey: sessionKey, isShareable: false };
108
+ }
109
+ function cleanupOutboundConnection(outboundConns, outboundKey, isShareable, remainingClients) {
110
+ if (isShareable && remainingClients === 0) {
111
+ const removed = outboundConns.delete(outboundKey);
112
+ if (removed) {
113
+ logger.debug(`Removed shareable template server from outbound connections: ${outboundKey}`);
114
+ }
115
+ return;
116
+ }
117
+ if (!isShareable) {
118
+ const removed = outboundConns.delete(outboundKey);
119
+ if (removed) {
120
+ logger.debug(`Removed template server from outbound connections: ${outboundKey}`);
121
+ }
122
+ return;
123
+ }
124
+ debugIf(() => ({
125
+ message: `Shareable template server still has clients, keeping connection`,
126
+ meta: { outboundKey, remainingClients },
127
+ }));
128
+ }
129
+ function cleanupTransportIfUnused(transports, instanceId, remainingClients) {
130
+ if (remainingClients === 0 && instanceId) {
131
+ delete transports[instanceId];
132
+ logger.debug(`Removed transport for instance: ${instanceId}`);
133
+ }
134
+ }
135
+ function logInstanceRetention(templateName, instanceId, outboundKey, remainingClients) {
136
+ if (remainingClients === 0) {
137
+ logger.debug(`Client instance ${instanceId} has no more clients, marking as idle for cleanup after timeout`, {
138
+ templateName,
139
+ instanceId,
140
+ idleTimeout: 5 * 60 * 1000,
141
+ });
142
+ return;
143
+ }
144
+ debugIf(() => ({
145
+ message: `Client instance ${instanceId} still has ${remainingClients} clients, keeping connection open`,
146
+ meta: { instanceId, outboundKey, remainingClients },
147
+ }));
148
+ }
149
+ function getPoolInstanceKey(clientInstancePool, trackerInstanceKey) {
150
+ const [, ...instanceParts] = trackerInstanceKey.split(':');
151
+ const instanceId = instanceParts.join(':');
152
+ const poolInstanceKey = clientInstancePool.getInstanceKeyById(instanceId);
153
+ return poolInstanceKey ?? trackerInstanceKey;
154
+ }
155
+ //# sourceMappingURL=templateServerCleanup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateServerCleanup.js","sourceRoot":"","sources":["../../../src/core/server/templateServerCleanup.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
2
2
  import { ClientTemplateTracker, TemplateIndex } from '../../core/filtering/index.js';
3
3
  import { InstructionAggregator } from '../../core/instructions/instructionAggregator.js';
4
- import { ClientInstancePool } from '../../core/server/clientInstancePool.js';
4
+ import { ClientInstancePool, type PooledClientInstance } from '../../core/server/clientInstancePool.js';
5
5
  import type { OutboundConnections } from '../../core/types/client.js';
6
6
  import { MCPServerParams } from '../../core/types/index.js';
7
7
  import type { InboundConnectionConfig } from '../../core/types/server.js';
@@ -12,6 +12,7 @@ import type { ContextData } from '../../types/context.js';
12
12
  export interface TemplateRebuildOptions {
13
13
  mcpTemplates?: Record<string, MCPServerParams>;
14
14
  }
15
+ export type TemplateClientLifecycle = 'persistent' | 'ephemeral';
15
16
  /**
16
17
  * Manages template-based server instances and client pools
17
18
  */
@@ -20,6 +21,10 @@ export declare class TemplateServerManager {
20
21
  private templateSessionMap?;
21
22
  private cleanupTimer?;
22
23
  private instructionAggregator?;
24
+ private ephemeralClients;
25
+ private persistentSessions;
26
+ private outboundConns?;
27
+ private transports?;
23
28
  private sessionToRenderedHash;
24
29
  private clientTemplateTracker;
25
30
  private templateIndex;
@@ -39,11 +44,14 @@ export declare class TemplateServerManager {
39
44
  createTemplateBasedServers(sessionId: string, context: ContextData, opts: InboundConnectionConfig, serverConfigData: {
40
45
  mcpTemplates?: Record<string, MCPServerParams>;
41
46
  }, // MCPServerConfiguration with templates
42
- outboundConns: OutboundConnections, transports: Record<string, Transport>): Promise<void>;
47
+ outboundConns: OutboundConnections, transports: Record<string, Transport>, lifecycle?: TemplateClientLifecycle): Promise<void>;
43
48
  /**
44
49
  * Clean up template-based servers when a client disconnects
45
50
  */
46
51
  cleanupTemplateServers(sessionId: string, outboundConns: OutboundConnections, transports: Record<string, Transport>): Promise<void>;
52
+ trackPersistentClient(sessionId: string): void;
53
+ trackEphemeralClient(sessionId: string, templateName: string, instance: PooledClientInstance, outboundKey?: string): void;
54
+ touchEphemeralClient(sessionId: string, templateName?: string): void;
47
55
  /**
48
56
  * Get template configurations that match the client's filter criteria
49
57
  */
@@ -59,7 +67,7 @@ export declare class TemplateServerManager {
59
67
  /**
60
68
  * Force cleanup of idle template instances
61
69
  */
62
- cleanupIdleInstances(): Promise<number>;
70
+ cleanupIdleInstances(outboundConns?: OutboundConnections, transports?: Record<string, Transport>): Promise<number>;
63
71
  /**
64
72
  * Rebuild the template index
65
73
  */
@@ -103,6 +111,7 @@ export declare class TemplateServerManager {
103
111
  /**
104
112
  * Clean up resources (for shutdown)
105
113
  */
114
+ shutdown(): Promise<void>;
106
115
  cleanup(): void;
107
116
  }
108
117
  //# sourceMappingURL=templateServerManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"templateServerManager.d.ts","sourceRoot":"","sources":["../../../src/core/server/templateServerManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templateServerManager.d.ts","sourceRoot":"","sources":["../../../src/core/server/templateServerManager.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { ClientTemplateTracker, TemplateFilteringService, TemplateIndex } from '../../core/filtering/index.js';
2
2
  import { ClientInstancePool } from '../../core/server/clientInstancePool.js';
3
+ import { createRenderedIdentity, createSessionIdentity, resolveTemplateIdentityMode, serializeTemplateIdentity, } from '../../core/server/templateIdentity.js';
4
+ import { cleanupExpiredEphemeralClients, cleanupTemplateServersForSession, } from '../../core/server/templateServerCleanup.js';
3
5
  import { ClientStatus } from '../../core/types/client.js';
4
6
  import logger, { debugIf } from '../../logger/logger.js';
5
7
  /**
@@ -10,6 +12,10 @@ export class TemplateServerManager {
10
12
  templateSessionMap; // Maps template name to session ID for tracking
11
13
  cleanupTimer; // Timer for idle instance cleanup
12
14
  instructionAggregator;
15
+ ephemeralClients = new Map();
16
+ persistentSessions = new Set();
17
+ outboundConns;
18
+ transports;
13
19
  // Maps sessionId -> (templateName -> renderedHash) for routing shareable servers
14
20
  sessionToRenderedHash = new Map();
15
21
  // Enhanced filtering components
@@ -59,7 +65,12 @@ export class TemplateServerManager {
59
65
  * Create template-based servers for a client connection
60
66
  */
61
67
  async createTemplateBasedServers(sessionId, context, opts, serverConfigData, // MCPServerConfiguration with templates
62
- outboundConns, transports) {
68
+ outboundConns, transports, lifecycle = 'persistent') {
69
+ this.outboundConns = outboundConns;
70
+ this.transports = transports;
71
+ if (lifecycle === 'persistent') {
72
+ this.trackPersistentClient(sessionId);
73
+ }
63
74
  // Get template servers that match the client's tags/preset
64
75
  const templateConfigs = this.getMatchingTemplateConfigs(opts, serverConfigData);
65
76
  logger.info(`Creating ${templateConfigs.length} template-based servers for session ${sessionId}`, {
@@ -71,11 +82,11 @@ export class TemplateServerManager {
71
82
  // Get or create client instance from template
72
83
  const instance = await this.clientInstancePool.getOrCreateClientInstance(templateName, templateConfig, context, sessionId, templateConfig.template);
73
84
  // CRITICAL: Register the template server in outbound connections for capability aggregation
74
- // Determine the key format based on shareable setting
75
- const isShareable = templateConfig.template?.shareable !== false; // Default true
76
85
  const renderedHash = instance.renderedHash; // From the pooled instance
77
- // Use rendered hash-based key for shareable servers, session-scoped for per-client
78
- const outboundKey = isShareable ? `${templateName}:${renderedHash}` : `${templateName}:${sessionId}`;
86
+ const identityMode = resolveTemplateIdentityMode(templateConfig.template);
87
+ const outboundKey = serializeTemplateIdentity(identityMode === 'session'
88
+ ? createSessionIdentity(templateName, sessionId)
89
+ : createRenderedIdentity(templateName, renderedHash));
79
90
  outboundConns.set(outboundKey, {
80
91
  name: templateName, // Keep clean name for tool namespacing (serena_1mcp_*)
81
92
  transport: instance.transport,
@@ -118,6 +129,9 @@ export class TemplateServerManager {
118
129
  shareable: templateConfig.template?.shareable,
119
130
  perClient: templateConfig.template?.perClient,
120
131
  });
132
+ if (lifecycle === 'ephemeral') {
133
+ this.trackEphemeralClient(sessionId, templateName, instance, outboundKey);
134
+ }
121
135
  debugIf(() => ({
122
136
  message: `TemplateServerManager.createTemplateBasedServers: Tracked client-template relationship`,
123
137
  meta: {
@@ -126,7 +140,7 @@ export class TemplateServerManager {
126
140
  outboundKey,
127
141
  instanceId: instance.id,
128
142
  referenceCount: instance.referenceCount,
129
- shareable: isShareable,
143
+ shareable: identityMode === 'rendered',
130
144
  perClient: templateConfig.template?.perClient,
131
145
  renderedHash: renderedHash.substring(0, 8),
132
146
  registeredInOutbound: true,
@@ -159,126 +173,53 @@ export class TemplateServerManager {
159
173
  * Clean up template-based servers when a client disconnects
160
174
  */
161
175
  async cleanupTemplateServers(sessionId, outboundConns, transports) {
162
- // Enhanced cleanup using client template tracker
163
- const instancesToCleanup = this.clientTemplateTracker.removeClient(sessionId);
164
- logger.info(`Removing client from ${instancesToCleanup.length} template instances`, {
165
- sessionId,
166
- instancesToCleanup,
176
+ this.outboundConns = outboundConns;
177
+ this.transports = transports;
178
+ await cleanupTemplateServersForSession(sessionId, outboundConns, transports, {
179
+ clientInstancePool: this.clientInstancePool,
180
+ clientTemplateTracker: this.clientTemplateTracker,
181
+ sessionToRenderedHash: this.sessionToRenderedHash,
182
+ ephemeralClients: this.ephemeralClients,
183
+ persistentSessions: this.persistentSessions,
167
184
  });
168
- // Remove client from client instance pool
169
- for (const instanceKey of instancesToCleanup) {
170
- const [templateName, ...instanceParts] = instanceKey.split(':');
171
- const instanceId = instanceParts.join(':');
172
- try {
173
- // Get the rendered hash for this session's template instance
174
- const sessionHashes = this.sessionToRenderedHash.get(sessionId);
175
- const renderedHash = sessionHashes?.get(templateName);
176
- // Determine if this was a shareable or per-client instance
177
- // We can tell by checking if the outbound key pattern matches rendered hash or sessionId
178
- let outboundKey;
179
- let isShareable = false;
180
- if (renderedHash) {
181
- const hashKey = `${templateName}:${renderedHash}`;
182
- const sessionKey = `${templateName}:${sessionId}`;
183
- // Check which key exists in outboundConns
184
- if (outboundConns.has(hashKey)) {
185
- outboundKey = hashKey;
186
- isShareable = true;
187
- }
188
- else if (outboundConns.has(sessionKey)) {
189
- outboundKey = sessionKey;
190
- isShareable = false;
191
- }
192
- else {
193
- // Fallback: neither key found, try session key
194
- outboundKey = sessionKey;
195
- isShareable = false;
196
- }
197
- }
198
- else {
199
- // No rendered hash found, assume per-client
200
- outboundKey = `${templateName}:${sessionId}`;
201
- isShareable = false;
202
- }
203
- // Remove the client from the instance pool
204
- this.clientInstancePool.removeClientFromInstance(instanceKey, sessionId);
205
- // Clean up session-to-renderedHash mapping
206
- if (sessionHashes) {
207
- sessionHashes.delete(templateName);
208
- if (sessionHashes.size === 0) {
209
- this.sessionToRenderedHash.delete(sessionId);
210
- }
211
- }
212
- debugIf(() => ({
213
- message: `TemplateServerManager.cleanupTemplateServers: Successfully removed client from client instance`,
214
- meta: {
215
- sessionId,
216
- templateName,
217
- instanceId,
218
- instanceKey,
219
- outboundKey,
220
- isShareable,
221
- renderedHash: renderedHash?.substring(0, 8),
222
- },
223
- }));
224
- // Check if this instance has no more clients
225
- const remainingClients = this.clientTemplateTracker.getClientCount(templateName, instanceId);
226
- // For shareable servers, only remove the outbound connection if no more clients
227
- // For per-client servers, always remove the connection
228
- if (isShareable && remainingClients === 0) {
229
- // No more clients for this shareable instance, safe to remove the shared connection
230
- const removed = outboundConns.delete(outboundKey);
231
- if (removed) {
232
- logger.debug(`Removed shareable template server from outbound connections: ${outboundKey}`);
233
- }
234
- }
235
- else if (!isShareable) {
236
- // Per-client: always remove the session-scoped connection
237
- const removed = outboundConns.delete(outboundKey);
238
- if (removed) {
239
- logger.debug(`Removed template server from outbound connections: ${outboundKey}`);
240
- }
241
- }
242
- else {
243
- debugIf(() => ({
244
- message: `Shareable template server still has clients, keeping connection`,
245
- meta: { outboundKey, remainingClients },
246
- }));
247
- }
248
- // Clean up transport entry if the instance is being removed
249
- if (remainingClients === 0 && instanceId) {
250
- delete transports[instanceId];
251
- logger.debug(`Removed transport for instance: ${instanceId}`);
252
- }
253
- if (remainingClients === 0) {
254
- // No more clients, instance becomes idle
255
- // The client instance will be closed after idle timeout by the cleanup timer
256
- logger.debug(`Client instance ${instanceId} has no more clients, marking as idle for cleanup after timeout`, {
257
- templateName,
258
- instanceId,
259
- idleTimeout: 5 * 60 * 1000, // 5 minutes default
260
- });
261
- }
262
- else {
263
- debugIf(() => ({
264
- message: `Client instance ${instanceId} still has ${remainingClients} clients, keeping connection open`,
265
- meta: { instanceId, remainingClients },
266
- }));
267
- }
268
- }
269
- catch (error) {
270
- logger.warn(`Failed to cleanup client instance ${instanceKey}:`, {
271
- error: error instanceof Error ? error.message : 'Unknown error',
272
- sessionId,
273
- templateName,
274
- instanceId,
275
- });
276
- }
185
+ }
186
+ trackPersistentClient(sessionId) {
187
+ this.persistentSessions.add(sessionId);
188
+ this.ephemeralClients.delete(sessionId);
189
+ }
190
+ trackEphemeralClient(sessionId, templateName, instance, outboundKey = `${templateName}:${instance.renderedHash}`) {
191
+ if (this.persistentSessions.has(sessionId)) {
192
+ return;
277
193
  }
278
- logger.info(`Cleaned up template client instances for session ${sessionId}`, {
279
- instancesCleaned: instancesToCleanup.length,
194
+ if (!this.ephemeralClients.has(sessionId)) {
195
+ this.ephemeralClients.set(sessionId, new Map());
196
+ }
197
+ this.ephemeralClients.get(sessionId).set(templateName, {
198
+ templateName,
199
+ instanceId: instance.id,
200
+ instanceKey: instance.instanceKey ?? `${templateName}:${instance.renderedHash}`,
201
+ outboundKey,
202
+ lastUsedAt: new Date(),
203
+ idleTimeout: instance.idleTimeout,
280
204
  });
281
205
  }
206
+ touchEphemeralClient(sessionId, templateName) {
207
+ const clients = this.ephemeralClients.get(sessionId);
208
+ if (!clients || this.persistentSessions.has(sessionId)) {
209
+ return;
210
+ }
211
+ const now = new Date();
212
+ if (templateName) {
213
+ const client = clients.get(templateName);
214
+ if (client) {
215
+ client.lastUsedAt = now;
216
+ }
217
+ return;
218
+ }
219
+ for (const client of clients.values()) {
220
+ client.lastUsedAt = now;
221
+ }
222
+ }
282
223
  /**
283
224
  * Get template configurations that match the client's filter criteria
284
225
  */
@@ -310,7 +251,14 @@ export class TemplateServerManager {
310
251
  /**
311
252
  * Force cleanup of idle template instances
312
253
  */
313
- async cleanupIdleInstances() {
254
+ async cleanupIdleInstances(outboundConns = this.outboundConns ?? new Map(), transports = this.transports ?? {}) {
255
+ await cleanupExpiredEphemeralClients(outboundConns, transports, {
256
+ clientInstancePool: this.clientInstancePool,
257
+ clientTemplateTracker: this.clientTemplateTracker,
258
+ sessionToRenderedHash: this.sessionToRenderedHash,
259
+ ephemeralClients: this.ephemeralClients,
260
+ persistentSessions: this.persistentSessions,
261
+ });
314
262
  // Get all instances from the pool
315
263
  const allInstances = this.clientInstancePool.getAllInstances();
316
264
  const instancesToCleanup = [];
@@ -327,7 +275,7 @@ export class TemplateServerManager {
327
275
  for (const { templateName, instanceId, instance } of instancesToCleanup) {
328
276
  try {
329
277
  // Remove the instance from the pool
330
- await this.clientInstancePool.removeInstance(`${templateName}:${instance.renderedHash}`);
278
+ await this.clientInstancePool.removeInstance(instance.instanceKey ?? `${templateName}:${instance.renderedHash}`);
331
279
  // Clean up tracking
332
280
  this.clientTemplateTracker.cleanupInstance(templateName, instanceId);
333
281
  cleanedUp++;
@@ -399,14 +347,21 @@ export class TemplateServerManager {
399
347
  /**
400
348
  * Clean up resources (for shutdown)
401
349
  */
402
- cleanup() {
350
+ async shutdown() {
403
351
  // Clean up cleanup timer
404
352
  if (this.cleanupTimer) {
405
353
  clearInterval(this.cleanupTimer);
406
354
  this.cleanupTimer = undefined;
407
355
  }
408
- // Clean up the client instance pool
409
- this.clientInstancePool?.cleanupIdleInstances();
356
+ this.ephemeralClients.clear();
357
+ this.persistentSessions.clear();
358
+ this.sessionToRenderedHash.clear();
359
+ await this.clientInstancePool.shutdown();
360
+ }
361
+ cleanup() {
362
+ this.shutdown().catch((error) => {
363
+ logger.warn('Failed to clean up template server manager:', error);
364
+ });
410
365
  }
411
366
  }
412
367
  //# sourceMappingURL=templateServerManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"templateServerManager.js","sourceRoot":"","sources":["../../../src/core/server/templateServerManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templateServerManager.js","sourceRoot":"","sources":["../../../src/core/server/templateServerManager.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,29 @@
1
+ import type { ServerInstallationWorkflowStatus } from '../../../../../domains/installation/serverInstallationWorkflow.js';
1
2
  import type { InstallOptions, ListOptions, UninstallOptions, UpdateOptions } from '../../../../../domains/server-management/types.js';
2
3
  import { TagsValidationResult } from '../../../../../types/validation.js';
4
+ export interface InstallAdapterResult {
5
+ success: boolean;
6
+ status?: ServerInstallationWorkflowStatus;
7
+ serverName: string;
8
+ version?: string;
9
+ installedAt: Date;
10
+ configPath?: string;
11
+ backupPath?: string;
12
+ warnings: string[];
13
+ errors: string[];
14
+ operationId: string;
15
+ reloadStatus?: string;
16
+ }
3
17
  /**
4
18
  * Installation adapter interface
5
19
  */
6
20
  export interface InstallationAdapter {
7
- installServer(serverName: string, version?: string, options?: InstallAdapterOptions): Promise<{
8
- success: boolean;
9
- serverName: string;
10
- version?: string;
11
- installedAt: Date;
12
- configPath?: string;
13
- backupPath?: string;
14
- warnings: string[];
15
- errors: string[];
16
- operationId: string;
17
- }>;
21
+ installServer(serverName: string, version?: string, options?: InstallAdapterOptions): Promise<InstallAdapterResult>;
18
22
  uninstallServer(serverName: string, options?: UninstallAdapterOptions): Promise<{
19
23
  success: boolean;
20
24
  serverName: string;
21
25
  removedAt: Date;
26
+ backupPath?: string;
22
27
  configRemoved: boolean;
23
28
  warnings: string[];
24
29
  errors: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/core/tools/internal/adapters/installation/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/core/tools/internal/adapters/installation/types.ts"],"names":[],"mappings":"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"}