@1mcp/agent 0.27.4 → 0.28.1

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 (352) hide show
  1. package/build/commands/app/consolidate.js +1 -1
  2. package/build/commands/app/consolidate.js.map +1 -1
  3. package/build/commands/mcp/add.js +1 -1
  4. package/build/commands/mcp/add.js.map +1 -1
  5. package/build/commands/mcp/enable.js +1 -1
  6. package/build/commands/mcp/enable.js.map +1 -1
  7. package/build/commands/mcp/index.d.ts.map +1 -1
  8. package/build/commands/mcp/index.js +64 -1
  9. package/build/commands/mcp/index.js.map +1 -1
  10. package/build/commands/mcp/install.d.ts +28 -0
  11. package/build/commands/mcp/install.d.ts.map +1 -0
  12. package/build/commands/mcp/install.js +472 -0
  13. package/build/commands/mcp/install.js.map +1 -0
  14. package/build/commands/mcp/list.d.ts +3 -0
  15. package/build/commands/mcp/list.d.ts.map +1 -1
  16. package/build/commands/mcp/list.js +49 -4
  17. package/build/commands/mcp/list.js.map +1 -1
  18. package/build/commands/mcp/remove.js +1 -1
  19. package/build/commands/mcp/remove.js.map +1 -1
  20. package/build/commands/mcp/status.js +1 -1
  21. package/build/commands/mcp/status.js.map +1 -1
  22. package/build/commands/mcp/tokens.js +1 -1
  23. package/build/commands/mcp/tokens.js.map +1 -1
  24. package/build/commands/mcp/uninstall.d.ts +28 -0
  25. package/build/commands/mcp/uninstall.d.ts.map +1 -0
  26. package/build/commands/mcp/uninstall.js +103 -0
  27. package/build/commands/mcp/uninstall.js.map +1 -0
  28. package/build/commands/mcp/update.d.ts +16 -1
  29. package/build/commands/mcp/update.d.ts.map +1 -1
  30. package/build/commands/mcp/update.js +33 -2
  31. package/build/commands/mcp/update.js.map +1 -1
  32. package/build/commands/mcp/utils/installWizard.d.ts +35 -0
  33. package/build/commands/mcp/utils/installWizard.d.ts.map +1 -0
  34. package/build/commands/mcp/utils/installWizard.js +137 -0
  35. package/build/commands/mcp/utils/installWizard.js.map +1 -0
  36. package/build/commands/mcp/utils/mcpServerConfig.d.ts +31 -0
  37. package/build/commands/mcp/utils/mcpServerConfig.d.ts.map +1 -0
  38. package/build/commands/mcp/utils/mcpServerConfig.js +79 -0
  39. package/build/commands/mcp/utils/mcpServerConfig.js.map +1 -0
  40. package/build/commands/mcp/utils/serverUtils.d.ts +40 -0
  41. package/build/commands/mcp/utils/serverUtils.d.ts.map +1 -0
  42. package/build/commands/mcp/utils/serverUtils.js +103 -0
  43. package/build/commands/mcp/utils/serverUtils.js.map +1 -0
  44. package/build/commands/mcp/wizard/components/serverDetailsDisplay.d.ts +14 -0
  45. package/build/commands/mcp/wizard/components/serverDetailsDisplay.d.ts.map +1 -0
  46. package/build/commands/mcp/wizard/components/serverDetailsDisplay.js +56 -0
  47. package/build/commands/mcp/wizard/components/serverDetailsDisplay.js.map +1 -0
  48. package/build/commands/mcp/wizard/components/stepIndicator.d.ts +11 -0
  49. package/build/commands/mcp/wizard/components/stepIndicator.d.ts.map +1 -0
  50. package/build/commands/mcp/wizard/components/stepIndicator.js +38 -0
  51. package/build/commands/mcp/wizard/components/stepIndicator.js.map +1 -0
  52. package/build/commands/mcp/wizard/components/welcomeScreen.d.ts +5 -0
  53. package/build/commands/mcp/wizard/components/welcomeScreen.d.ts.map +1 -0
  54. package/build/commands/mcp/wizard/components/welcomeScreen.js +25 -0
  55. package/build/commands/mcp/wizard/components/welcomeScreen.js.map +1 -0
  56. package/build/commands/mcp/wizard/configuration.d.ts +31 -0
  57. package/build/commands/mcp/wizard/configuration.d.ts.map +1 -0
  58. package/build/commands/mcp/wizard/configuration.js +360 -0
  59. package/build/commands/mcp/wizard/configuration.js.map +1 -0
  60. package/build/commands/mcp/wizard/display.d.ts +31 -0
  61. package/build/commands/mcp/wizard/display.d.ts.map +1 -0
  62. package/build/commands/mcp/wizard/display.js +131 -0
  63. package/build/commands/mcp/wizard/display.js.map +1 -0
  64. package/build/commands/mcp/wizard/index.d.ts +8 -0
  65. package/build/commands/mcp/wizard/index.d.ts.map +1 -0
  66. package/build/commands/mcp/wizard/index.js +10 -0
  67. package/build/commands/mcp/wizard/index.js.map +1 -0
  68. package/build/commands/mcp/wizard/metadata.d.ts +48 -0
  69. package/build/commands/mcp/wizard/metadata.d.ts.map +1 -0
  70. package/build/commands/mcp/wizard/metadata.js +126 -0
  71. package/build/commands/mcp/wizard/metadata.js.map +1 -0
  72. package/build/commands/mcp/wizard/navigation/keyboardHandler.d.ts +14 -0
  73. package/build/commands/mcp/wizard/navigation/keyboardHandler.d.ts.map +1 -0
  74. package/build/commands/mcp/wizard/navigation/keyboardHandler.js +99 -0
  75. package/build/commands/mcp/wizard/navigation/keyboardHandler.js.map +1 -0
  76. package/build/commands/mcp/wizard/navigation.d.ts +12 -0
  77. package/build/commands/mcp/wizard/navigation.d.ts.map +1 -0
  78. package/build/commands/mcp/wizard/navigation.js +99 -0
  79. package/build/commands/mcp/wizard/navigation.js.map +1 -0
  80. package/build/commands/mcp/wizard/search.d.ts +23 -0
  81. package/build/commands/mcp/wizard/search.d.ts.map +1 -0
  82. package/build/commands/mcp/wizard/search.js +101 -0
  83. package/build/commands/mcp/wizard/search.js.map +1 -0
  84. package/build/commands/mcp/wizard/selection.d.ts +14 -0
  85. package/build/commands/mcp/wizard/selection.d.ts.map +1 -0
  86. package/build/commands/mcp/wizard/selection.js +40 -0
  87. package/build/commands/mcp/wizard/selection.js.map +1 -0
  88. package/build/commands/registry/search.d.ts +1 -1
  89. package/build/commands/registry/search.d.ts.map +1 -1
  90. package/build/commands/registry/search.js +10 -7
  91. package/build/commands/registry/search.js.map +1 -1
  92. package/build/commands/serve/index.d.ts +10 -0
  93. package/build/commands/serve/index.d.ts.map +1 -1
  94. package/build/commands/serve/index.js +28 -1
  95. package/build/commands/serve/index.js.map +1 -1
  96. package/build/commands/serve/serve.d.ts +2 -0
  97. package/build/commands/serve/serve.d.ts.map +1 -1
  98. package/build/commands/serve/serve.js +33 -8
  99. package/build/commands/serve/serve.js.map +1 -1
  100. package/build/commands/shared/{configUtils.d.ts → baseConfigUtils.d.ts} +1 -1
  101. package/build/commands/shared/baseConfigUtils.d.ts.map +1 -0
  102. package/build/commands/shared/{configUtils.js → baseConfigUtils.js} +1 -1
  103. package/build/commands/shared/baseConfigUtils.js.map +1 -0
  104. package/build/config/configManager.d.ts +125 -0
  105. package/build/config/configManager.d.ts.map +1 -0
  106. package/build/config/configManager.js +412 -0
  107. package/build/config/configManager.js.map +1 -0
  108. package/build/constants/mcp.d.ts +1 -1
  109. package/build/constants/mcp.js +1 -1
  110. package/build/core/capabilities/asyncLoadingOrchestrator.d.ts +1 -1
  111. package/build/core/capabilities/asyncLoadingOrchestrator.d.ts.map +1 -1
  112. package/build/core/capabilities/asyncLoadingOrchestrator.js +6 -1
  113. package/build/core/capabilities/asyncLoadingOrchestrator.js.map +1 -1
  114. package/build/core/capabilities/capabilityAggregator.d.ts +1 -0
  115. package/build/core/capabilities/capabilityAggregator.d.ts.map +1 -1
  116. package/build/core/capabilities/capabilityAggregator.js +21 -0
  117. package/build/core/capabilities/capabilityAggregator.js.map +1 -1
  118. package/build/core/capabilities/capabilityManager.d.ts +3 -10
  119. package/build/core/capabilities/capabilityManager.d.ts.map +1 -1
  120. package/build/core/capabilities/internal/discoveryTools.d.ts +28 -0
  121. package/build/core/capabilities/internal/discoveryTools.d.ts.map +1 -0
  122. package/build/core/capabilities/internal/discoveryTools.js +84 -0
  123. package/build/core/capabilities/internal/discoveryTools.js.map +1 -0
  124. package/build/core/capabilities/internal/installationTools.d.ts +20 -0
  125. package/build/core/capabilities/internal/installationTools.d.ts.map +1 -0
  126. package/build/core/capabilities/internal/installationTools.js +50 -0
  127. package/build/core/capabilities/internal/installationTools.js.map +1 -0
  128. package/build/core/capabilities/internal/managementTools.d.ts +32 -0
  129. package/build/core/capabilities/internal/managementTools.d.ts.map +1 -0
  130. package/build/core/capabilities/internal/managementTools.js +94 -0
  131. package/build/core/capabilities/internal/managementTools.js.map +1 -0
  132. package/build/core/capabilities/internalCapabilitiesProvider.d.ts +41 -0
  133. package/build/core/capabilities/internalCapabilitiesProvider.d.ts.map +1 -0
  134. package/build/core/capabilities/internalCapabilitiesProvider.js +275 -0
  135. package/build/core/capabilities/internalCapabilitiesProvider.js.map +1 -0
  136. package/build/core/client/clientManager.d.ts +5 -0
  137. package/build/core/client/clientManager.d.ts.map +1 -1
  138. package/build/core/client/clientManager.js +34 -0
  139. package/build/core/client/clientManager.js.map +1 -1
  140. package/build/core/configChangeHandler.d.ts +78 -0
  141. package/build/core/configChangeHandler.d.ts.map +1 -0
  142. package/build/core/configChangeHandler.js +310 -0
  143. package/build/core/configChangeHandler.js.map +1 -0
  144. package/build/core/flags/flagManager.d.ts +90 -0
  145. package/build/core/flags/flagManager.d.ts.map +1 -0
  146. package/build/core/flags/flagManager.js +209 -0
  147. package/build/core/flags/flagManager.js.map +1 -0
  148. package/build/core/protocol/requestHandlers.d.ts.map +1 -1
  149. package/build/core/protocol/requestHandlers.js +32 -1
  150. package/build/core/protocol/requestHandlers.js.map +1 -1
  151. package/build/core/server/agentConfig.d.ts +20 -0
  152. package/build/core/server/agentConfig.d.ts.map +1 -1
  153. package/build/core/server/agentConfig.js +40 -0
  154. package/build/core/server/agentConfig.js.map +1 -1
  155. package/build/core/server/pidFileManager.d.ts +14 -1
  156. package/build/core/server/pidFileManager.d.ts.map +1 -1
  157. package/build/core/server/pidFileManager.js +24 -2
  158. package/build/core/server/pidFileManager.js.map +1 -1
  159. package/build/core/server/serverManager.d.ts +46 -1
  160. package/build/core/server/serverManager.d.ts.map +1 -1
  161. package/build/core/server/serverManager.js +260 -3
  162. package/build/core/server/serverManager.js.map +1 -1
  163. package/build/core/tools/handlers/searchHandler.js +1 -1
  164. package/build/core/tools/handlers/searchHandler.js.map +1 -1
  165. package/build/core/tools/handlers/serverManagementHandler.d.ts +262 -0
  166. package/build/core/tools/handlers/serverManagementHandler.d.ts.map +1 -0
  167. package/build/core/tools/handlers/serverManagementHandler.js +430 -0
  168. package/build/core/tools/handlers/serverManagementHandler.js.map +1 -0
  169. package/build/core/tools/internal/adapters/discoveryAdapter.d.ts +148 -0
  170. package/build/core/tools/internal/adapters/discoveryAdapter.d.ts.map +1 -0
  171. package/build/core/tools/internal/adapters/discoveryAdapter.js +163 -0
  172. package/build/core/tools/internal/adapters/discoveryAdapter.js.map +1 -0
  173. package/build/core/tools/internal/adapters/helpers/configTransformers.d.ts +62 -0
  174. package/build/core/tools/internal/adapters/helpers/configTransformers.d.ts.map +1 -0
  175. package/build/core/tools/internal/adapters/helpers/configTransformers.js +79 -0
  176. package/build/core/tools/internal/adapters/helpers/configTransformers.js.map +1 -0
  177. package/build/core/tools/internal/adapters/index.d.ts +58 -0
  178. package/build/core/tools/internal/adapters/index.d.ts.map +1 -0
  179. package/build/core/tools/internal/adapters/index.js +85 -0
  180. package/build/core/tools/internal/adapters/index.js.map +1 -0
  181. package/build/core/tools/internal/adapters/installation/directInstallation.d.ts +16 -0
  182. package/build/core/tools/internal/adapters/installation/directInstallation.d.ts.map +1 -0
  183. package/build/core/tools/internal/adapters/installation/directInstallation.js +103 -0
  184. package/build/core/tools/internal/adapters/installation/directInstallation.js.map +1 -0
  185. package/build/core/tools/internal/adapters/installation/packageResolver.d.ts +7 -0
  186. package/build/core/tools/internal/adapters/installation/packageResolver.d.ts.map +1 -0
  187. package/build/core/tools/internal/adapters/installation/packageResolver.js +86 -0
  188. package/build/core/tools/internal/adapters/installation/packageResolver.js.map +1 -0
  189. package/build/core/tools/internal/adapters/installation/types.d.ts +100 -0
  190. package/build/core/tools/internal/adapters/installation/types.d.ts.map +1 -0
  191. package/build/core/tools/internal/adapters/installation/types.js +2 -0
  192. package/build/core/tools/internal/adapters/installation/types.js.map +1 -0
  193. package/build/core/tools/internal/adapters/installationAdapter.d.ts +89 -0
  194. package/build/core/tools/internal/adapters/installationAdapter.d.ts.map +1 -0
  195. package/build/core/tools/internal/adapters/installationAdapter.js +335 -0
  196. package/build/core/tools/internal/adapters/installationAdapter.js.map +1 -0
  197. package/build/core/tools/internal/adapters/management/index.d.ts +5 -0
  198. package/build/core/tools/internal/adapters/management/index.d.ts.map +1 -0
  199. package/build/core/tools/internal/adapters/management/index.js +5 -0
  200. package/build/core/tools/internal/adapters/management/index.js.map +1 -0
  201. package/build/core/tools/internal/adapters/management/managementAdapter.d.ts +51 -0
  202. package/build/core/tools/internal/adapters/management/managementAdapter.d.ts.map +1 -0
  203. package/build/core/tools/internal/adapters/management/managementAdapter.js +402 -0
  204. package/build/core/tools/internal/adapters/management/managementAdapter.js.map +1 -0
  205. package/build/core/tools/internal/adapters/management/toolHandlers.d.ts +6 -0
  206. package/build/core/tools/internal/adapters/management/toolHandlers.d.ts.map +1 -0
  207. package/build/core/tools/internal/adapters/management/toolHandlers.js +154 -0
  208. package/build/core/tools/internal/adapters/management/toolHandlers.js.map +1 -0
  209. package/build/core/tools/internal/adapters/management/types.d.ts +179 -0
  210. package/build/core/tools/internal/adapters/management/types.d.ts.map +1 -0
  211. package/build/core/tools/internal/adapters/management/types.js +2 -0
  212. package/build/core/tools/internal/adapters/management/types.js.map +1 -0
  213. package/build/core/tools/internal/adapters/management/validation.d.ts +9 -0
  214. package/build/core/tools/internal/adapters/management/validation.d.ts.map +1 -0
  215. package/build/core/tools/internal/adapters/management/validation.js +204 -0
  216. package/build/core/tools/internal/adapters/management/validation.js.map +1 -0
  217. package/build/core/tools/internal/adapters/validation/configValidation.d.ts +22 -0
  218. package/build/core/tools/internal/adapters/validation/configValidation.d.ts.map +1 -0
  219. package/build/core/tools/internal/adapters/validation/configValidation.js +185 -0
  220. package/build/core/tools/internal/adapters/validation/configValidation.js.map +1 -0
  221. package/build/core/tools/internal/discoveryHandlers.d.ts +26 -0
  222. package/build/core/tools/internal/discoveryHandlers.d.ts.map +1 -0
  223. package/build/core/tools/internal/discoveryHandlers.js +283 -0
  224. package/build/core/tools/internal/discoveryHandlers.js.map +1 -0
  225. package/build/core/tools/internal/index.d.ts +279 -0
  226. package/build/core/tools/internal/index.d.ts.map +1 -0
  227. package/build/core/tools/internal/index.js +236 -0
  228. package/build/core/tools/internal/index.js.map +1 -0
  229. package/build/core/tools/internal/installationHandlers.d.ts +18 -0
  230. package/build/core/tools/internal/installationHandlers.d.ts.map +1 -0
  231. package/build/core/tools/internal/installationHandlers.js +314 -0
  232. package/build/core/tools/internal/installationHandlers.js.map +1 -0
  233. package/build/core/tools/internal/managementHandlers.d.ts +26 -0
  234. package/build/core/tools/internal/managementHandlers.d.ts.map +1 -0
  235. package/build/core/tools/internal/managementHandlers.js +306 -0
  236. package/build/core/tools/internal/managementHandlers.js.map +1 -0
  237. package/build/core/tools/internal/schemas/discovery.d.ts +233 -0
  238. package/build/core/tools/internal/schemas/discovery.d.ts.map +1 -0
  239. package/build/core/tools/internal/schemas/discovery.js +189 -0
  240. package/build/core/tools/internal/schemas/discovery.js.map +1 -0
  241. package/build/core/tools/internal/schemas/edit.d.ts +96 -0
  242. package/build/core/tools/internal/schemas/edit.d.ts.map +1 -0
  243. package/build/core/tools/internal/schemas/edit.js +76 -0
  244. package/build/core/tools/internal/schemas/edit.js.map +1 -0
  245. package/build/core/tools/internal/schemas/index.d.ts +629 -0
  246. package/build/core/tools/internal/schemas/index.d.ts.map +1 -0
  247. package/build/core/tools/internal/schemas/index.js +158 -0
  248. package/build/core/tools/internal/schemas/index.js.map +1 -0
  249. package/build/core/tools/internal/schemas/installation.d.ts +210 -0
  250. package/build/core/tools/internal/schemas/installation.d.ts.map +1 -0
  251. package/build/core/tools/internal/schemas/installation.js +212 -0
  252. package/build/core/tools/internal/schemas/installation.js.map +1 -0
  253. package/build/core/tools/internal/schemas/management.d.ts +232 -0
  254. package/build/core/tools/internal/schemas/management.d.ts.map +1 -0
  255. package/build/core/tools/internal/schemas/management.js +188 -0
  256. package/build/core/tools/internal/schemas/management.js.map +1 -0
  257. package/build/core/tools/internal/toolHandlers.d.ts +7 -0
  258. package/build/core/tools/internal/toolHandlers.d.ts.map +1 -0
  259. package/build/core/tools/internal/toolHandlers.js +8 -0
  260. package/build/core/tools/internal/toolHandlers.js.map +1 -0
  261. package/build/core/tools/internal/toolSchemas.d.ts +16 -0
  262. package/build/core/tools/internal/toolSchemas.d.ts.map +1 -0
  263. package/build/core/tools/internal/toolSchemas.js +22 -0
  264. package/build/core/tools/internal/toolSchemas.js.map +1 -0
  265. package/build/domains/installation/configurators/cliArgsConfigurator.d.ts +7 -0
  266. package/build/domains/installation/configurators/cliArgsConfigurator.d.ts.map +1 -0
  267. package/build/domains/installation/configurators/cliArgsConfigurator.js +146 -0
  268. package/build/domains/installation/configurators/cliArgsConfigurator.js.map +1 -0
  269. package/build/domains/installation/configurators/envVarConfigurator.d.ts +7 -0
  270. package/build/domains/installation/configurators/envVarConfigurator.d.ts.map +1 -0
  271. package/build/domains/installation/configurators/envVarConfigurator.js +122 -0
  272. package/build/domains/installation/configurators/envVarConfigurator.js.map +1 -0
  273. package/build/domains/installation/configurators/tagsConfigurator.d.ts +23 -0
  274. package/build/domains/installation/configurators/tagsConfigurator.d.ts.map +1 -0
  275. package/build/domains/installation/configurators/tagsConfigurator.js +46 -0
  276. package/build/domains/installation/configurators/tagsConfigurator.js.map +1 -0
  277. package/build/domains/installation/index.d.ts +12 -0
  278. package/build/domains/installation/index.d.ts.map +1 -0
  279. package/build/domains/installation/index.js +16 -0
  280. package/build/domains/installation/index.js.map +1 -0
  281. package/build/domains/installation/metadata/defaultsProvider.d.ts +12 -0
  282. package/build/domains/installation/metadata/defaultsProvider.d.ts.map +1 -0
  283. package/build/domains/installation/metadata/defaultsProvider.js +43 -0
  284. package/build/domains/installation/metadata/defaultsProvider.js.map +1 -0
  285. package/build/domains/installation/metadata/metadataExtractor.d.ts +11 -0
  286. package/build/domains/installation/metadata/metadataExtractor.d.ts.map +1 -0
  287. package/build/domains/installation/metadata/metadataExtractor.js +59 -0
  288. package/build/domains/installation/metadata/metadataExtractor.js.map +1 -0
  289. package/build/domains/installation/types.d.ts +27 -0
  290. package/build/domains/installation/types.d.ts.map +1 -0
  291. package/build/domains/installation/types.js +5 -0
  292. package/build/domains/installation/types.js.map +1 -0
  293. package/build/domains/installation/validators/conflictDetector.d.ts +24 -0
  294. package/build/domains/installation/validators/conflictDetector.d.ts.map +1 -0
  295. package/build/domains/installation/validators/conflictDetector.js +41 -0
  296. package/build/domains/installation/validators/conflictDetector.js.map +1 -0
  297. package/build/domains/installation/validators/serverNameValidator.d.ts +17 -0
  298. package/build/domains/installation/validators/serverNameValidator.d.ts.map +1 -0
  299. package/build/domains/installation/validators/serverNameValidator.js +58 -0
  300. package/build/domains/installation/validators/serverNameValidator.js.map +1 -0
  301. package/build/domains/registry/formatters/serverDetailFormatter.js +22 -9
  302. package/build/domains/registry/formatters/serverDetailFormatter.js.map +1 -1
  303. package/build/domains/registry/mcpRegistryClient.d.ts.map +1 -1
  304. package/build/domains/registry/mcpRegistryClient.js +46 -18
  305. package/build/domains/registry/mcpRegistryClient.js.map +1 -1
  306. package/build/domains/registry/mcpToolSchemas.d.ts +2 -2
  307. package/build/domains/registry/mcpToolSchemas.d.ts.map +1 -1
  308. package/build/domains/registry/mcpToolSchemas.js +1 -1
  309. package/build/domains/registry/mcpToolSchemas.js.map +1 -1
  310. package/build/domains/registry/types.d.ts +2 -3
  311. package/build/domains/registry/types.d.ts.map +1 -1
  312. package/build/domains/server-management/index.d.ts +11 -0
  313. package/build/domains/server-management/index.d.ts.map +1 -0
  314. package/build/domains/server-management/index.js +13 -0
  315. package/build/domains/server-management/index.js.map +1 -0
  316. package/build/domains/server-management/progressTrackingService.d.ts +49 -0
  317. package/build/domains/server-management/progressTrackingService.d.ts.map +1 -0
  318. package/build/domains/server-management/progressTrackingService.js +102 -0
  319. package/build/domains/server-management/progressTrackingService.js.map +1 -0
  320. package/build/domains/server-management/serverInstallationService.d.ts +48 -0
  321. package/build/domains/server-management/serverInstallationService.d.ts.map +1 -0
  322. package/build/domains/server-management/serverInstallationService.js +299 -0
  323. package/build/domains/server-management/serverInstallationService.js.map +1 -0
  324. package/build/domains/server-management/services/versionResolver.d.ts +36 -0
  325. package/build/domains/server-management/services/versionResolver.d.ts.map +1 -0
  326. package/build/domains/server-management/services/versionResolver.js +74 -0
  327. package/build/domains/server-management/services/versionResolver.js.map +1 -0
  328. package/build/domains/server-management/types.d.ts +215 -0
  329. package/build/domains/server-management/types.d.ts.map +1 -0
  330. package/build/domains/server-management/types.js +28 -0
  331. package/build/domains/server-management/types.js.map +1 -0
  332. package/build/server.d.ts +1 -1
  333. package/build/server.d.ts.map +1 -1
  334. package/build/server.js +18 -12
  335. package/build/server.js.map +1 -1
  336. package/build/transport/http/middlewares/mcpAvailabilityMiddleware.js +2 -2
  337. package/build/transport/http/middlewares/mcpAvailabilityMiddleware.js.map +1 -1
  338. package/build/utils/schemaUtils.d.ts +25 -0
  339. package/build/utils/schemaUtils.d.ts.map +1 -0
  340. package/build/utils/schemaUtils.js +43 -0
  341. package/build/utils/schemaUtils.js.map +1 -0
  342. package/package.json +5 -4
  343. package/build/application/services/configReloadService.d.ts +0 -55
  344. package/build/application/services/configReloadService.d.ts.map +0 -1
  345. package/build/application/services/configReloadService.js +0 -195
  346. package/build/application/services/configReloadService.js.map +0 -1
  347. package/build/commands/mcp/utils/configUtils.d.ts +0 -71
  348. package/build/commands/mcp/utils/configUtils.d.ts.map +0 -1
  349. package/build/commands/mcp/utils/configUtils.js +0 -326
  350. package/build/commands/mcp/utils/configUtils.js.map +0 -1
  351. package/build/commands/shared/configUtils.d.ts.map +0 -1
  352. package/build/commands/shared/configUtils.js.map +0 -1
@@ -0,0 +1,86 @@
1
+ import { createRegistryClient } from '../../../../../domains/registry/mcpRegistryClient.js';
2
+ import { debugIf } from '../../../../../logger/logger.js';
3
+ export class PackageResolver {
4
+ registryClient;
5
+ constructor() {
6
+ this.registryClient = createRegistryClient();
7
+ }
8
+ async resolvePackageToServerName(serverName, options) {
9
+ if (!options.package) {
10
+ return serverName;
11
+ }
12
+ try {
13
+ let searchResults;
14
+ let matchedServer = null;
15
+ // Strategy 1: Try exact package identifier match (might work for some packages)
16
+ searchResults = await this.registryClient.searchServers({
17
+ query: options.package,
18
+ limit: 20,
19
+ });
20
+ matchedServer = searchResults.find((server) => server.packages &&
21
+ server.packages.some((pkg) => pkg.identifier === options.package ||
22
+ pkg.identifier === `@${options.package}` ||
23
+ pkg.identifier.endsWith(`/${options.package}`)));
24
+ // Strategy 2: Extract organization/author from package and search for that
25
+ if (!matchedServer && options.package.includes('/')) {
26
+ const orgName = options.package.split('/')[0].replace('@', '');
27
+ debugIf(() => ({
28
+ message: 'Adapter: Trying organization search',
29
+ meta: { packageName: options.package, orgName },
30
+ }));
31
+ searchResults = await this.registryClient.searchServers({
32
+ query: orgName,
33
+ limit: 50,
34
+ });
35
+ matchedServer = searchResults.find((server) => server.packages &&
36
+ server.packages.some((pkg) => pkg.identifier === options.package ||
37
+ pkg.identifier === `@${options.package}` ||
38
+ pkg.identifier.endsWith(`/${options.package}`)));
39
+ }
40
+ // Strategy 3: Try searching for the server name component
41
+ if (!matchedServer) {
42
+ const serverComponent = options.package.split('/').pop();
43
+ if (serverComponent) {
44
+ debugIf(() => ({
45
+ message: 'Adapter: Trying server component search',
46
+ meta: { packageName: options.package, serverComponent },
47
+ }));
48
+ searchResults = await this.registryClient.searchServers({
49
+ query: serverComponent,
50
+ limit: 50,
51
+ });
52
+ matchedServer = searchResults.find((server) => server.packages &&
53
+ server.packages.some((pkg) => pkg.identifier === options.package ||
54
+ pkg.identifier === `@${options.package}` ||
55
+ pkg.identifier.endsWith(`/${options.package}`)));
56
+ }
57
+ }
58
+ if (matchedServer) {
59
+ const actualServerName = matchedServer.name;
60
+ debugIf(() => ({
61
+ message: 'Adapter: Resolved package to registry server',
62
+ meta: { packageName: options.package, serverName: actualServerName },
63
+ }));
64
+ return actualServerName;
65
+ }
66
+ else {
67
+ // If no server found for the package, try using the package name as server ID
68
+ const actualServerName = options.package;
69
+ debugIf(() => ({
70
+ message: 'Adapter: Using package name as server ID',
71
+ meta: { packageName: options.package, serverName: actualServerName },
72
+ }));
73
+ return actualServerName;
74
+ }
75
+ }
76
+ catch (searchError) {
77
+ // If search fails, fall back to using the original server name
78
+ debugIf(() => ({
79
+ message: 'Adapter: Package search failed, using original server name',
80
+ meta: { packageName: options.package, serverName, error: searchError },
81
+ }));
82
+ return serverName;
83
+ }
84
+ }
85
+ }
86
+ //# sourceMappingURL=packageResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageResolver.js","sourceRoot":"","sources":["../../../../../../src/core/tools/internal/adapters/installation/packageResolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ import type { InstallOptions, ListOptions, UninstallOptions, UpdateOptions } from '../../../../../domains/server-management/types.js';
2
+ /**
3
+ * Installation adapter interface
4
+ */
5
+ export interface InstallationAdapter {
6
+ installServer(serverName: string, version?: string, options?: InstallAdapterOptions): Promise<{
7
+ success: boolean;
8
+ serverName: string;
9
+ version?: string;
10
+ installedAt: Date;
11
+ configPath?: string;
12
+ backupPath?: string;
13
+ warnings: string[];
14
+ errors: string[];
15
+ operationId: string;
16
+ }>;
17
+ uninstallServer(serverName: string, options?: UninstallAdapterOptions): Promise<{
18
+ success: boolean;
19
+ serverName: string;
20
+ removedAt: Date;
21
+ configRemoved: boolean;
22
+ warnings: string[];
23
+ errors: string[];
24
+ operationId: string;
25
+ }>;
26
+ updateServer(serverName: string, version?: string, options?: UpdateAdapterOptions): Promise<{
27
+ success: boolean;
28
+ serverName: string;
29
+ previousVersion: string;
30
+ newVersion: string;
31
+ updatedAt: Date;
32
+ warnings: string[];
33
+ errors: string[];
34
+ operationId: string;
35
+ }>;
36
+ listInstalledServers(options?: ListAdapterOptions): Promise<string[]>;
37
+ validateTags(tags: string[]): {
38
+ valid: boolean;
39
+ errors: string[];
40
+ };
41
+ parseTags(tagsString: string): string[];
42
+ }
43
+ /**
44
+ * Adapter-specific options that extend domain service options
45
+ */
46
+ export interface InstallAdapterOptions extends Omit<InstallOptions, 'force' | 'backup'> {
47
+ /** Force installation even if server exists */
48
+ force?: boolean;
49
+ /** Create backup before installation */
50
+ backup?: boolean;
51
+ /** Tags to assign to the server */
52
+ tags?: string[];
53
+ /** Environment variables */
54
+ env?: Record<string, string>;
55
+ /** Command line arguments */
56
+ args?: string[];
57
+ /** Package name (npm, pypi, or docker image) */
58
+ package?: string;
59
+ /** Command to run for stdio transport */
60
+ command?: string;
61
+ /** URL for HTTP/SSE transport */
62
+ url?: string;
63
+ /** Transport type */
64
+ transport?: 'stdio' | 'http' | 'sse';
65
+ /** Connection timeout in milliseconds */
66
+ timeout?: number;
67
+ /** Enable server after installation */
68
+ enabled?: boolean;
69
+ /** Working directory for stdio servers */
70
+ cwd?: string;
71
+ /** Auto-restart server if it crashes */
72
+ autoRestart?: boolean;
73
+ /** Maximum number of restart attempts */
74
+ maxRestarts?: number;
75
+ /** Delay in milliseconds between restart attempts */
76
+ restartDelay?: number;
77
+ }
78
+ export interface UninstallAdapterOptions extends Omit<UninstallOptions, 'force' | 'backup'> {
79
+ /** Force uninstallation */
80
+ force?: boolean;
81
+ /** Create backup before uninstallation */
82
+ backup?: boolean;
83
+ /** Remove all configuration files */
84
+ removeAll?: boolean;
85
+ }
86
+ export interface UpdateAdapterOptions extends Omit<UpdateOptions, 'force' | 'backup'> {
87
+ /** Force update */
88
+ force?: boolean;
89
+ /** Create backup before update */
90
+ backup?: boolean;
91
+ /** Check for updates without applying */
92
+ dryRun?: boolean;
93
+ }
94
+ export interface ListAdapterOptions extends ListOptions {
95
+ /** Filter servers by tags */
96
+ tags?: string[];
97
+ /** Show detailed information */
98
+ detailed?: boolean;
99
+ }
100
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/core/tools/internal/adapters/installation/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/core/tools/internal/adapters/installation/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,89 @@
1
+ import { InstallAdapterOptions, InstallationAdapter, ListAdapterOptions, UninstallAdapterOptions, UpdateAdapterOptions } from './installation/types.js';
2
+ export { type InstallAdapterOptions, type InstallationAdapter, type ListAdapterOptions, type UninstallAdapterOptions, type UpdateAdapterOptions, } from './installation/types.js';
3
+ /**
4
+ * Server installation service adapter implementation
5
+ */
6
+ export declare class ServerInstallationAdapter implements InstallationAdapter {
7
+ private installationService;
8
+ private packageResolver;
9
+ constructor();
10
+ /**
11
+ * Install a server from the registry
12
+ */
13
+ installServer(serverName: string, version?: string, options?: InstallAdapterOptions): Promise<{
14
+ success: boolean;
15
+ serverName: string;
16
+ version?: string;
17
+ installedAt: Date;
18
+ configPath?: string;
19
+ backupPath?: string;
20
+ warnings: string[];
21
+ errors: string[];
22
+ operationId: string;
23
+ }>;
24
+ /**
25
+ * Uninstall a server
26
+ */
27
+ uninstallServer(serverName: string, options?: UninstallAdapterOptions): Promise<{
28
+ success: boolean;
29
+ serverName: string;
30
+ removedAt: Date;
31
+ configRemoved: boolean;
32
+ warnings: string[];
33
+ errors: string[];
34
+ operationId: string;
35
+ }>;
36
+ /**
37
+ * Update a server
38
+ */
39
+ updateServer(serverName: string, version?: string, options?: UpdateAdapterOptions): Promise<{
40
+ success: boolean;
41
+ serverName: string;
42
+ previousVersion: string;
43
+ newVersion: string;
44
+ updatedAt: Date;
45
+ warnings: string[];
46
+ errors: string[];
47
+ operationId: string;
48
+ }>;
49
+ /**
50
+ * List installed servers
51
+ */
52
+ listInstalledServers(options?: ListAdapterOptions): Promise<string[]>;
53
+ /**
54
+ * Validate tags format
55
+ */
56
+ validateTags(tags: string[]): {
57
+ valid: boolean;
58
+ errors: string[];
59
+ };
60
+ /**
61
+ * Parse tags from comma-separated string
62
+ */
63
+ parseTags(tagsString: string): string[];
64
+ /**
65
+ * Get installation metadata for a server
66
+ */
67
+ getServerMetadata(serverName: string): {
68
+ version?: string;
69
+ installedAt?: string;
70
+ source?: string;
71
+ metadata?: Record<string, unknown>;
72
+ } | null;
73
+ /**
74
+ * Check for available updates for servers
75
+ */
76
+ checkForUpdates(serverNames?: string[]): Promise<Array<{
77
+ serverName: string;
78
+ currentVersion: string;
79
+ latestVersion: string;
80
+ hasUpdate: boolean;
81
+ updateAvailable: boolean;
82
+ updateType?: 'patch' | 'minor' | 'major' | 'unknown';
83
+ }>>;
84
+ }
85
+ /**
86
+ * Factory function to create installation adapter
87
+ */
88
+ export declare function createInstallationAdapter(): InstallationAdapter;
89
+ //# sourceMappingURL=installationAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installationAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/core/tools/internal/adapters/installationAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,335 @@
1
+ /**
2
+ * Installation domain service adapter
3
+ *
4
+ * Thin adapter that bridges internal tools with installation domain services.
5
+ * This adapter wraps existing domain service calls and transforms data
6
+ * between internal tool format and domain service format.
7
+ */
8
+ import { getAllServers, getInstallationMetadata, getServer, reloadMcpConfig, removeServer, setServer, } from '../../../../commands/mcp/utils/mcpServerConfig.js';
9
+ import { parseTags, validateTags } from '../../../../domains/installation/configurators/tagsConfigurator.js';
10
+ import { createServerInstallationService } from '../../../../domains/server-management/serverInstallationService.js';
11
+ import logger, { debugIf } from '../../../../logger/logger.js';
12
+ import { performDirectPackageInstallation } from './installation/directInstallation.js';
13
+ import { PackageResolver } from './installation/packageResolver.js';
14
+ /**
15
+ * Server installation service adapter implementation
16
+ */
17
+ export class ServerInstallationAdapter {
18
+ installationService;
19
+ packageResolver;
20
+ constructor() {
21
+ this.installationService = createServerInstallationService();
22
+ this.packageResolver = new PackageResolver();
23
+ }
24
+ /**
25
+ * Install a server from the registry
26
+ */
27
+ async installServer(serverName, version, options = {}) {
28
+ debugIf(() => ({
29
+ message: 'Adapter: Installing server',
30
+ meta: { serverName, version, options },
31
+ }));
32
+ try {
33
+ // Validate tags if provided
34
+ if (options.tags) {
35
+ const tagValidation = this.validateTags(options.tags);
36
+ if (!tagValidation.valid) {
37
+ throw new Error(`Invalid tags: ${tagValidation.errors.join(', ')}`);
38
+ }
39
+ }
40
+ // Convert adapter options to domain service options
41
+ const domainOptions = {
42
+ force: options.force || false,
43
+ };
44
+ // Check if this is a direct package installation (package + command/args provided)
45
+ if (options.package && (options.command || options.args || options.url)) {
46
+ debugIf(() => ({
47
+ message: 'Adapter: Detected direct package installation, using mcp add',
48
+ meta: { serverName, package: options.package, command: options.command, args: options.args },
49
+ }));
50
+ return await performDirectPackageInstallation(serverName, version, options);
51
+ }
52
+ // If package is provided, try to find the server that uses this package
53
+ let actualServerName = serverName;
54
+ if (options.package) {
55
+ actualServerName = await this.packageResolver.resolvePackageToServerName(serverName, options);
56
+ }
57
+ const result = await this.installationService.installServer(actualServerName, version, domainOptions);
58
+ if (!result) {
59
+ throw new Error('Installation service returned undefined result');
60
+ }
61
+ // If installation succeeded and tags are provided, merge them with existing tags
62
+ if (result.success && options.tags && options.tags.length > 0) {
63
+ const currentConfig = getServer(serverName);
64
+ if (currentConfig) {
65
+ // Merge user tags with existing tags, deduplicating while preserving order
66
+ const existingTags = currentConfig.tags || [];
67
+ const mergedTags = Array.from(new Set([...existingTags, ...options.tags]));
68
+ const updatedConfig = {
69
+ ...currentConfig,
70
+ tags: mergedTags,
71
+ env: { ...currentConfig.env, ...options.env },
72
+ args: options.args || currentConfig.args,
73
+ };
74
+ setServer(serverName, updatedConfig);
75
+ }
76
+ }
77
+ // Persist configuration if provided
78
+ if (result.success && result.config) {
79
+ try {
80
+ setServer(serverName, result.config);
81
+ reloadMcpConfig();
82
+ logger.debug(`Persisted configuration for ${serverName}`);
83
+ }
84
+ catch (configError) {
85
+ const errorMessage = configError instanceof Error ? configError.message : String(configError);
86
+ logger.warn('Failed to persist configuration', { error: errorMessage, serverName });
87
+ result.warnings.push(`Failed to persist configuration: ${errorMessage}`);
88
+ }
89
+ }
90
+ return result;
91
+ }
92
+ catch (error) {
93
+ const errorMessage = error instanceof Error ? error.message : String(error);
94
+ logger.error('Server installation failed', { error: errorMessage, serverName, version });
95
+ throw new Error(`Server installation failed: ${errorMessage}`);
96
+ }
97
+ }
98
+ /**
99
+ * Uninstall a server
100
+ */
101
+ async uninstallServer(serverName, options = {}) {
102
+ debugIf(() => ({
103
+ message: 'Adapter: Uninstalling server',
104
+ meta: { serverName, options },
105
+ }));
106
+ try {
107
+ // Convert adapter options to domain service options
108
+ const domainOptions = {
109
+ force: options.force || false,
110
+ backup: options.backup || false,
111
+ };
112
+ const result = await this.installationService.uninstallServer(serverName, domainOptions);
113
+ if (!result) {
114
+ throw new Error('Uninstallation service returned undefined result');
115
+ }
116
+ // If removeAll is specified, remove server from configuration
117
+ if (result.success && options.removeAll) {
118
+ try {
119
+ const removed = removeServer(serverName);
120
+ if (removed) {
121
+ reloadMcpConfig();
122
+ logger.debug(`Removed server ${serverName} from configuration`);
123
+ }
124
+ else {
125
+ logger.debug(`Server ${serverName} not found in configuration`);
126
+ }
127
+ }
128
+ catch (configError) {
129
+ const errorMessage = configError instanceof Error ? configError.message : String(configError);
130
+ logger.warn('Failed to remove server from configuration', { error: errorMessage, serverName });
131
+ result.warnings.push(`Failed to remove from configuration: ${errorMessage}`);
132
+ }
133
+ }
134
+ return result;
135
+ }
136
+ catch (error) {
137
+ const errorMessage = error instanceof Error ? error.message : String(error);
138
+ logger.error('Server uninstallation failed', { error: errorMessage, serverName });
139
+ throw new Error(`Server uninstallation failed: ${errorMessage}`);
140
+ }
141
+ }
142
+ /**
143
+ * Update a server
144
+ */
145
+ async updateServer(serverName, version, options = {}) {
146
+ debugIf(() => ({
147
+ message: 'Adapter: Updating server',
148
+ meta: { serverName, version, options },
149
+ }));
150
+ try {
151
+ // Convert adapter options to domain service options
152
+ const domainOptions = {
153
+ backup: options.backup || false,
154
+ };
155
+ // If dry run, check for updates without applying
156
+ if (options.dryRun) {
157
+ const updateChecks = await this.installationService.checkForUpdates([serverName]);
158
+ const updateCheck = updateChecks[0];
159
+ if (!updateCheck) {
160
+ throw new Error(`Could not check updates for server: ${serverName}`);
161
+ }
162
+ return {
163
+ success: true,
164
+ serverName,
165
+ previousVersion: updateCheck.currentVersion || 'unknown',
166
+ newVersion: updateCheck.latestVersion || 'unknown',
167
+ updatedAt: new Date(),
168
+ warnings: [
169
+ `Dry run: Update available from ${updateCheck.currentVersion || 'unknown'} to ${updateCheck.latestVersion || 'unknown'}`,
170
+ ],
171
+ errors: [],
172
+ operationId: `dryrun_${Date.now()}`,
173
+ };
174
+ }
175
+ const result = await this.installationService.updateServer(serverName, version, domainOptions);
176
+ if (!result) {
177
+ throw new Error('Update service returned undefined result');
178
+ }
179
+ // Convert UpdateResult to the expected adapter return type
180
+ return {
181
+ success: result.success,
182
+ serverName: result.serverName || serverName,
183
+ previousVersion: result.previousVersion || 'unknown',
184
+ newVersion: result.newVersion || 'unknown',
185
+ updatedAt: result.updatedAt || new Date(),
186
+ warnings: result.warnings || [],
187
+ errors: result.errors || [],
188
+ operationId: result.operationId || `update_${Date.now()}`,
189
+ };
190
+ }
191
+ catch (error) {
192
+ const errorMessage = error instanceof Error ? error.message : String(error);
193
+ logger.error('Server update failed', { error: errorMessage, serverName, version });
194
+ throw new Error(`Server update failed: ${errorMessage}`);
195
+ }
196
+ }
197
+ /**
198
+ * List installed servers
199
+ */
200
+ async listInstalledServers(options = {}) {
201
+ debugIf(() => ({
202
+ message: 'Adapter: Listing installed servers',
203
+ meta: { options },
204
+ }));
205
+ try {
206
+ // Convert adapter options to domain service options
207
+ const domainOptions = {
208
+ filterActive: options.filterActive,
209
+ };
210
+ let servers = await this.installationService.listInstalledServers(domainOptions);
211
+ if (!servers) {
212
+ return [];
213
+ }
214
+ // Apply tag filtering if specified
215
+ if (options.tags && options.tags.length > 0) {
216
+ const allServers = getAllServers();
217
+ servers = servers.filter((serverName) => {
218
+ const serverConfig = allServers[serverName];
219
+ if (!serverConfig || !serverConfig.tags) {
220
+ return false;
221
+ }
222
+ return options.tags.some((tag) => serverConfig.tags.includes(tag));
223
+ });
224
+ }
225
+ return servers;
226
+ }
227
+ catch (error) {
228
+ const errorMessage = error instanceof Error ? error.message : String(error);
229
+ logger.error('Server listing failed', { error: errorMessage });
230
+ throw new Error(`Server listing failed: ${errorMessage}`);
231
+ }
232
+ }
233
+ /**
234
+ * Validate tags format
235
+ */
236
+ validateTags(tags) {
237
+ debugIf(() => ({
238
+ message: 'Adapter: Validating tags',
239
+ meta: { tags },
240
+ }));
241
+ try {
242
+ return validateTags(tags);
243
+ }
244
+ catch (error) {
245
+ const errorMessage = error instanceof Error ? error.message : String(error);
246
+ logger.error('Tag validation failed', { error: errorMessage, tags });
247
+ return {
248
+ valid: false,
249
+ errors: [errorMessage],
250
+ };
251
+ }
252
+ }
253
+ /**
254
+ * Parse tags from comma-separated string
255
+ */
256
+ parseTags(tagsString) {
257
+ debugIf(() => ({
258
+ message: 'Adapter: Parsing tags',
259
+ meta: { tagsString },
260
+ }));
261
+ try {
262
+ return parseTags(tagsString);
263
+ }
264
+ catch (error) {
265
+ const errorMessage = error instanceof Error ? error.message : String(error);
266
+ logger.error('Tag parsing failed', { error: errorMessage, tagsString });
267
+ throw new Error(`Tag parsing failed: ${errorMessage}`);
268
+ }
269
+ }
270
+ /**
271
+ * Get installation metadata for a server
272
+ */
273
+ getServerMetadata(serverName) {
274
+ debugIf(() => ({
275
+ message: 'Adapter: Getting server metadata',
276
+ meta: { serverName },
277
+ }));
278
+ try {
279
+ const metadata = getInstallationMetadata(serverName);
280
+ if (!metadata) {
281
+ return null;
282
+ }
283
+ // Convert the metadata to match expected adapter interface
284
+ return {
285
+ version: metadata.version,
286
+ installedAt: metadata.installedAt?.toISOString(),
287
+ source: metadata.installedBy,
288
+ metadata: {
289
+ installedBy: metadata.installedBy,
290
+ },
291
+ };
292
+ }
293
+ catch (error) {
294
+ const errorMessage = error instanceof Error ? error.message : String(error);
295
+ logger.error('Failed to get server metadata', { error: errorMessage, serverName });
296
+ return null;
297
+ }
298
+ }
299
+ /**
300
+ * Check for available updates for servers
301
+ */
302
+ async checkForUpdates(serverNames) {
303
+ debugIf(() => ({
304
+ message: 'Adapter: Checking for updates',
305
+ meta: { serverNames },
306
+ }));
307
+ try {
308
+ const updateResults = await this.installationService.checkForUpdates(serverNames);
309
+ if (!updateResults) {
310
+ return [];
311
+ }
312
+ // Transform UpdateCheckResult to match expected interface
313
+ return updateResults.map((result) => ({
314
+ serverName: result.serverName,
315
+ currentVersion: result.currentVersion || 'unknown',
316
+ latestVersion: result.latestVersion || 'unknown',
317
+ hasUpdate: result.hasUpdate || false,
318
+ updateAvailable: result.updateAvailable || false,
319
+ updateType: result.updateType,
320
+ }));
321
+ }
322
+ catch (error) {
323
+ const errorMessage = error instanceof Error ? error.message : String(error);
324
+ logger.error('Update check failed', { error: errorMessage, serverNames });
325
+ throw new Error(`Update check failed: ${errorMessage}`);
326
+ }
327
+ }
328
+ }
329
+ /**
330
+ * Factory function to create installation adapter
331
+ */
332
+ export function createInstallationAdapter() {
333
+ return new ServerInstallationAdapter();
334
+ }
335
+ //# sourceMappingURL=installationAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installationAdapter.js","sourceRoot":"","sources":["../../../../../src/core/tools/internal/adapters/installationAdapter.ts"],"names":[],"mappings":"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"}