@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,5 @@
1
+ export * from './managementAdapter.js';
2
+ export * from './toolHandlers.js';
3
+ export * from './types.js';
4
+ export * from './validation.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/core/tools/internal/adapters/management/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './managementAdapter.js';
2
+ export * from './toolHandlers.js';
3
+ export * from './types.js';
4
+ export * from './validation.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/core/tools/internal/adapters/management/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { MCPServerParams } from '../../../../../core/types/index.js';
2
+ import { DisableServerOptions, DisableServerResult, EnableServerOptions, EnableServerResult, ManagementAdapter, ManagementListOptions, ReloadOptions, ReloadResult, ServerInfo, ServerStatusInfo, UpdateConfigResult, ValidationResult } from './types.js';
3
+ /**
4
+ * Management adapter implementation using configuration utilities
5
+ */
6
+ export declare class ConfigManagementAdapter implements ManagementAdapter {
7
+ /**
8
+ * List all configured servers with optional filtering
9
+ */
10
+ listServers(options?: ManagementListOptions): Promise<ServerInfo[]>;
11
+ /**
12
+ * Get status of servers
13
+ */
14
+ getServerStatus(serverName?: string): Promise<ServerStatusInfo>;
15
+ /**
16
+ * Enable a server
17
+ */
18
+ enableServer(serverName: string, options?: EnableServerOptions): Promise<EnableServerResult>;
19
+ /**
20
+ * Disable a server
21
+ */
22
+ disableServer(serverName: string, options?: DisableServerOptions): Promise<DisableServerResult>;
23
+ /**
24
+ * Reload configuration
25
+ */
26
+ reloadConfiguration(options?: ReloadOptions): Promise<ReloadResult>;
27
+ /**
28
+ * Update server configuration
29
+ */
30
+ updateServerConfig(serverName: string, configUpdate: Partial<MCPServerParams & {
31
+ newName?: string;
32
+ }>): Promise<UpdateConfigResult>;
33
+ /**
34
+ * Validate server configuration
35
+ */
36
+ validateServerConfig(serverName: string, config: Partial<MCPServerParams & {
37
+ newName?: string;
38
+ }>): Promise<ValidationResult>;
39
+ /**
40
+ * Get 1mcp server URL for current configuration
41
+ */
42
+ getServerUrl(options?: {
43
+ port?: number;
44
+ host?: string;
45
+ }): Promise<string>;
46
+ }
47
+ /**
48
+ * Factory function to create management adapter
49
+ */
50
+ export declare function createManagementAdapter(): ManagementAdapter;
51
+ //# sourceMappingURL=managementAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managementAdapter.d.ts","sourceRoot":"","sources":["../../../../../../src/core/tools/internal/adapters/management/managementAdapter.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAI3D,OAAO,EAEL,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,qBAAa,uBAAwB,YAAW,iBAAiB;IAC/D;;OAEG;IACG,WAAW,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA6D7E;;OAEG;IACG,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsDrE;;OAEG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA+CtG;;OAEG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA+CzG;;OAEG;IACG,mBAAmB,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAsD7E;;OAEG;IACG,kBAAkB,CACtB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,OAAO,CAAC,eAAe,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAC5D,OAAO,CAAC,kBAAkB,CAAC;IA4G9B;;OAEG;IACG,oBAAoB,CACxB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,CAAC,eAAe,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GACtD,OAAO,CAAC,gBAAgB,CAAC;IAI5B;;OAEG;IACG,YAAY,CAAC,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAchF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,iBAAiB,CAE3D"}
@@ -0,0 +1,402 @@
1
+ /**
2
+ * Management domain service adapter
3
+ *
4
+ * Thin adapter that bridges internal tools with management 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, getServer, reloadMcpConfig, setServer } from '../../../../../commands/mcp/utils/mcpServerConfig.js';
9
+ import logger, { debugIf } from '../../../../../logger/logger.js';
10
+ import { getServer1mcpUrl } from '../../../../../utils/validation/urlDetection.js';
11
+ import { validateServerConfig } from './validation.js';
12
+ /**
13
+ * Management adapter implementation using configuration utilities
14
+ */
15
+ export class ConfigManagementAdapter {
16
+ /**
17
+ * List all configured servers with optional filtering
18
+ */
19
+ async listServers(options = {}) {
20
+ debugIf(() => ({
21
+ message: 'Adapter: Listing servers',
22
+ meta: { options },
23
+ }));
24
+ try {
25
+ const allServers = getAllServers();
26
+ let servers = Object.entries(allServers);
27
+ // Apply filters
28
+ if (options.status && options.status !== 'all') {
29
+ servers = servers.filter(([_, config]) => {
30
+ if (options.status === 'enabled')
31
+ return !config.disabled;
32
+ if (options.status === 'disabled')
33
+ return config.disabled;
34
+ return true;
35
+ });
36
+ }
37
+ if (options.transport) {
38
+ servers = servers.filter(([_, config]) => {
39
+ if (options.transport === 'stdio')
40
+ return !config.url;
41
+ if (options.transport === 'sse') {
42
+ return config.url && (config.url.endsWith('/sse') || config.url.includes('/sse?'));
43
+ }
44
+ if (options.transport === 'http') {
45
+ return config.url && !config.url.includes('/sse');
46
+ }
47
+ return false;
48
+ });
49
+ }
50
+ if (options.tags && options.tags.length > 0) {
51
+ servers = servers.filter(([_, config]) => {
52
+ if (!config.tags)
53
+ return false;
54
+ return options.tags.some((tag) => config.tags.includes(tag));
55
+ });
56
+ }
57
+ // Transform to ServerInfo format
58
+ const serverInfos = servers.map(([name, config]) => ({
59
+ name,
60
+ config,
61
+ status: config.disabled ? 'disabled' : 'enabled',
62
+ transport: config.url ? (config.url.includes('/sse') ? 'sse' : 'http') : 'stdio',
63
+ url: config.url,
64
+ healthStatus: 'unknown', // Would require actual health checking
65
+ metadata: {
66
+ tags: config.tags,
67
+ // Additional metadata could be extracted from installation records
68
+ },
69
+ }));
70
+ return serverInfos;
71
+ }
72
+ catch (error) {
73
+ const errorMessage = error instanceof Error ? error.message : String(error);
74
+ logger.error('Server listing failed', { error: errorMessage });
75
+ throw new Error(`Server listing failed: ${errorMessage}`);
76
+ }
77
+ }
78
+ /**
79
+ * Get status of servers
80
+ */
81
+ async getServerStatus(serverName) {
82
+ debugIf(() => ({
83
+ message: 'Adapter: Getting server status',
84
+ meta: { serverName },
85
+ }));
86
+ try {
87
+ const allServers = getAllServers();
88
+ let targetServers = serverName ? { [serverName]: allServers[serverName] } : allServers;
89
+ // Filter out undefined entries if serverName was provided but not found
90
+ if (serverName && !targetServers[serverName]) {
91
+ return {
92
+ timestamp: new Date().toISOString(),
93
+ servers: [],
94
+ totalServers: 0,
95
+ enabledServers: 0,
96
+ disabledServers: 0,
97
+ unhealthyServers: 0,
98
+ };
99
+ }
100
+ const serverStatuses = Object.entries(targetServers)
101
+ .filter(([_, config]) => config !== undefined)
102
+ .map(([name, config]) => ({
103
+ name,
104
+ status: config.disabled ? 'disabled' : 'enabled',
105
+ transport: config.url ? (config.url.includes('/sse') ? 'sse' : 'http') : 'stdio',
106
+ url: config.url,
107
+ healthStatus: 'unknown', // Would require actual health checking
108
+ lastChecked: new Date().toISOString(),
109
+ errors: config.disabled ? [] : [], // Would require actual error checking
110
+ }));
111
+ const totalServers = serverStatuses.length;
112
+ const enabledServers = serverStatuses.filter((s) => s.status === 'enabled').length;
113
+ const disabledServers = serverStatuses.filter((s) => s.status === 'disabled').length;
114
+ const unhealthyServers = 0; // Would require actual health checking
115
+ return {
116
+ timestamp: new Date().toISOString(),
117
+ servers: serverStatuses,
118
+ totalServers,
119
+ enabledServers,
120
+ disabledServers,
121
+ unhealthyServers,
122
+ };
123
+ }
124
+ catch (error) {
125
+ const errorMessage = error instanceof Error ? error.message : String(error);
126
+ logger.error('Server status check failed', { error: errorMessage });
127
+ throw new Error(`Server status check failed: ${errorMessage}`);
128
+ }
129
+ }
130
+ /**
131
+ * Enable a server
132
+ */
133
+ async enableServer(serverName, options = {}) {
134
+ debugIf(() => ({
135
+ message: 'Adapter: Enabling server',
136
+ meta: { serverName, options },
137
+ }));
138
+ try {
139
+ const config = getServer(serverName);
140
+ if (!config) {
141
+ throw new Error(`Server '${serverName}' not found`);
142
+ }
143
+ if (!config.disabled) {
144
+ return {
145
+ success: true,
146
+ serverName,
147
+ enabled: true,
148
+ warnings: ['Server was already enabled'],
149
+ };
150
+ }
151
+ // Enable the server
152
+ const updatedConfig = { ...config, disabled: false };
153
+ setServer(serverName, updatedConfig);
154
+ // Handle tag-based enabling if specified
155
+ if (options.tags && options.tags.length > 0) {
156
+ const currentTags = updatedConfig.tags || [];
157
+ const newTags = [...new Set([...currentTags, ...options.tags])];
158
+ updatedConfig.tags = newTags;
159
+ setServer(serverName, updatedConfig);
160
+ }
161
+ return {
162
+ success: true,
163
+ serverName,
164
+ enabled: true,
165
+ restarted: options.restart || false,
166
+ warnings: [],
167
+ };
168
+ }
169
+ catch (error) {
170
+ const errorMessage = error instanceof Error ? error.message : String(error);
171
+ logger.error('Server enable failed', { error: errorMessage, serverName });
172
+ throw new Error(`Server enable failed: ${errorMessage}`);
173
+ }
174
+ }
175
+ /**
176
+ * Disable a server
177
+ */
178
+ async disableServer(serverName, options = {}) {
179
+ debugIf(() => ({
180
+ message: 'Adapter: Disabling server',
181
+ meta: { serverName, options },
182
+ }));
183
+ try {
184
+ const config = getServer(serverName);
185
+ if (!config) {
186
+ throw new Error(`Server '${serverName}' not found`);
187
+ }
188
+ if (config.disabled) {
189
+ return {
190
+ success: true,
191
+ serverName,
192
+ disabled: true,
193
+ warnings: ['Server was already disabled'],
194
+ };
195
+ }
196
+ // Disable the server
197
+ const updatedConfig = { ...config, disabled: true };
198
+ setServer(serverName, updatedConfig);
199
+ // Handle tag-based disabling if specified
200
+ if (options.tags && options.tags.length > 0) {
201
+ const currentTags = updatedConfig.tags || [];
202
+ const newTags = currentTags.filter((tag) => !options.tags.includes(tag));
203
+ updatedConfig.tags = newTags;
204
+ setServer(serverName, updatedConfig);
205
+ }
206
+ return {
207
+ success: true,
208
+ serverName,
209
+ disabled: true,
210
+ gracefulShutdown: options.graceful || false,
211
+ warnings: [],
212
+ };
213
+ }
214
+ catch (error) {
215
+ const errorMessage = error instanceof Error ? error.message : String(error);
216
+ logger.error('Server disable failed', { error: errorMessage, serverName });
217
+ throw new Error(`Server disable failed: ${errorMessage}`);
218
+ }
219
+ }
220
+ /**
221
+ * Reload configuration
222
+ */
223
+ async reloadConfiguration(options = {}) {
224
+ debugIf(() => ({
225
+ message: 'Adapter: Reloading configuration',
226
+ meta: { options },
227
+ }));
228
+ try {
229
+ const target = options.server || 'all-servers';
230
+ const action = options.configOnly ? 'config-reload' : 'full-reload';
231
+ const timestamp = new Date().toISOString();
232
+ // Use reloadMcpConfig for config-only reload or as part of full reload
233
+ reloadMcpConfig();
234
+ let reloadedServers = [];
235
+ if (options.configOnly) {
236
+ // For config-only reload, we just reload the config file
237
+ if (options.server) {
238
+ reloadedServers = [options.server];
239
+ }
240
+ else {
241
+ const allServers = getAllServers();
242
+ reloadedServers = Object.keys(allServers);
243
+ }
244
+ }
245
+ else {
246
+ // For full reload, we trigger the ConfigManager
247
+ // Note: In the current architecture, ConfigManager watches the config file,
248
+ // so reloadMcpConfig() above will trigger the file watcher which triggers ConfigChangeHandler.
249
+ // However, if we want to be explicit or wait for completion, we might need direct access.
250
+ // For now, we rely on the file watcher mechanism which is robust.
251
+ if (options.server) {
252
+ reloadedServers = [options.server];
253
+ }
254
+ else {
255
+ const allServers = getAllServers();
256
+ reloadedServers = Object.keys(allServers);
257
+ }
258
+ }
259
+ return {
260
+ success: true,
261
+ target,
262
+ action,
263
+ timestamp,
264
+ reloadedServers,
265
+ warnings: [],
266
+ };
267
+ }
268
+ catch (error) {
269
+ const errorMessage = error instanceof Error ? error.message : String(error);
270
+ logger.error('Configuration reload failed', { error: errorMessage });
271
+ throw new Error(`Configuration reload failed: ${errorMessage}`);
272
+ }
273
+ }
274
+ /**
275
+ * Update server configuration
276
+ */
277
+ async updateServerConfig(serverName, configUpdate) {
278
+ debugIf(() => ({
279
+ message: 'Adapter: Updating server config',
280
+ meta: { serverName, configUpdate },
281
+ }));
282
+ try {
283
+ const currentConfig = getServer(serverName);
284
+ if (!currentConfig) {
285
+ throw new Error(`Server '${serverName}' not found`);
286
+ }
287
+ const previousConfig = { ...currentConfig };
288
+ // Handle server renaming
289
+ let finalServerName = serverName;
290
+ const { newName, ...configChanges } = configUpdate;
291
+ if (newName && newName !== serverName) {
292
+ const allServers = getAllServers();
293
+ if (allServers[newName]) {
294
+ throw new Error(`Server name '${newName}' already exists`);
295
+ }
296
+ // Remove old server and create new one with updated config
297
+ delete allServers[serverName];
298
+ finalServerName = newName;
299
+ serverName = newName; // Update for the return value
300
+ }
301
+ // Track changes for all fields
302
+ const changes = [];
303
+ // Handle renaming as a change
304
+ if (newName && newName !== finalServerName) {
305
+ changes.push({
306
+ field: 'name',
307
+ oldValue: finalServerName,
308
+ newValue: newName,
309
+ });
310
+ }
311
+ // Check all other fields for changes
312
+ const checkableFields = [
313
+ 'disabled',
314
+ 'timeout',
315
+ 'connectionTimeout',
316
+ 'requestTimeout',
317
+ 'tags',
318
+ 'command',
319
+ 'args',
320
+ 'cwd',
321
+ 'env',
322
+ 'inheritParentEnv',
323
+ 'envFilter',
324
+ 'restartOnExit',
325
+ 'maxRestarts',
326
+ 'restartDelay',
327
+ 'url',
328
+ 'headers',
329
+ 'oauth',
330
+ ];
331
+ for (const field of checkableFields) {
332
+ if (field in configChanges) {
333
+ const oldValue = currentConfig[field];
334
+ const newValue = configChanges[field];
335
+ // Only add change if value is actually different
336
+ if (JSON.stringify(oldValue) !== JSON.stringify(newValue)) {
337
+ changes.push({
338
+ field,
339
+ oldValue,
340
+ newValue,
341
+ });
342
+ }
343
+ }
344
+ }
345
+ // Apply configuration changes
346
+ const newConfig = { ...currentConfig, ...configChanges };
347
+ setServer(finalServerName, newConfig);
348
+ // Generate warnings based on changes
349
+ const warnings = [];
350
+ if (changes.some((change) => change.field === 'command' || change.field === 'url')) {
351
+ warnings.push('Transport configuration changed - server restart required');
352
+ }
353
+ if (changes.some((change) => change.field === 'oauth')) {
354
+ warnings.push('OAuth configuration changed - re-authentication may be required');
355
+ }
356
+ return {
357
+ success: true,
358
+ serverName: finalServerName,
359
+ previousConfig,
360
+ newConfig,
361
+ updated: changes.length > 0,
362
+ changes,
363
+ warnings: warnings.length > 0 ? warnings : undefined,
364
+ };
365
+ }
366
+ catch (error) {
367
+ const errorMessage = error instanceof Error ? error.message : String(error);
368
+ logger.error('Server config update failed', { error: errorMessage, serverName });
369
+ throw new Error(`Server config update failed: ${errorMessage}`);
370
+ }
371
+ }
372
+ /**
373
+ * Validate server configuration
374
+ */
375
+ async validateServerConfig(serverName, config) {
376
+ return validateServerConfig(serverName, config);
377
+ }
378
+ /**
379
+ * Get 1mcp server URL for current configuration
380
+ */
381
+ async getServerUrl(options) {
382
+ debugIf(() => ({
383
+ message: 'Adapter: Getting server URL',
384
+ meta: { options },
385
+ }));
386
+ try {
387
+ return getServer1mcpUrl();
388
+ }
389
+ catch (error) {
390
+ const errorMessage = error instanceof Error ? error.message : String(error);
391
+ logger.error('Failed to get server URL', { error: errorMessage });
392
+ throw new Error(`Failed to get server URL: ${errorMessage}`);
393
+ }
394
+ }
395
+ }
396
+ /**
397
+ * Factory function to create management adapter
398
+ */
399
+ export function createManagementAdapter() {
400
+ return new ConfigManagementAdapter();
401
+ }
402
+ //# sourceMappingURL=managementAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managementAdapter.js","sourceRoot":"","sources":["../../../../../../src/core/tools/internal/adapters/management/managementAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { McpEditOutput, McpEditToolArgs } from '../../schemas/index.js';
2
+ /**
3
+ * Internal tool handler for editing MCP server configurations
4
+ */
5
+ export declare function handleMcpEdit(args: McpEditToolArgs): Promise<McpEditOutput>;
6
+ //# sourceMappingURL=toolHandlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolHandlers.d.ts","sourceRoot":"","sources":["../../../../../../src/core/tools/internal/adapters/management/toolHandlers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAuB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AA0E7F;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,CAgGjF"}
@@ -0,0 +1,154 @@
1
+ import { FlagManager } from '../../../../../core/flags/flagManager.js';
2
+ import logger, { debugIf } from '../../../../../logger/logger.js';
3
+ import { McpEditOutputSchema } from '../../schemas/index.js';
4
+ import { createManagementAdapter } from './managementAdapter.js';
5
+ /**
6
+ * Preview changes that would be made to the server configuration
7
+ */
8
+ async function previewChanges(serverName, editArgs, adapter) {
9
+ try {
10
+ const changes = [];
11
+ // Get current server configuration
12
+ const serverList = await adapter.listServers();
13
+ const currentServer = serverList.find((server) => server.name === serverName);
14
+ if (!currentServer) {
15
+ throw new Error(`Server '${serverName}' not found`);
16
+ }
17
+ const currentConfig = currentServer.config;
18
+ // Check each editable field for changes
19
+ const editableFields = [
20
+ 'newName',
21
+ 'tags',
22
+ 'disabled',
23
+ 'timeout',
24
+ 'connectionTimeout',
25
+ 'requestTimeout',
26
+ 'env',
27
+ 'command',
28
+ 'args',
29
+ 'cwd',
30
+ 'inheritParentEnv',
31
+ 'envFilter',
32
+ 'restartOnExit',
33
+ 'maxRestarts',
34
+ 'restartDelay',
35
+ 'url',
36
+ 'headers',
37
+ 'oauth',
38
+ ];
39
+ for (const field of editableFields) {
40
+ if (field in editArgs) {
41
+ const fieldName = field === 'newName' ? 'name' : field;
42
+ const newValue = editArgs[field];
43
+ const oldValue = currentConfig[fieldName];
44
+ // Only add change if the value is different
45
+ if (JSON.stringify(oldValue) !== JSON.stringify(newValue)) {
46
+ changes.push({
47
+ field: fieldName,
48
+ oldValue,
49
+ newValue,
50
+ });
51
+ }
52
+ }
53
+ }
54
+ return changes;
55
+ }
56
+ catch (error) {
57
+ logger.error('Error previewing configuration changes', {
58
+ error: error instanceof Error ? error.message : 'Unknown error',
59
+ serverName,
60
+ });
61
+ throw error;
62
+ }
63
+ }
64
+ /**
65
+ * Internal tool handler for editing MCP server configurations
66
+ */
67
+ export async function handleMcpEdit(args) {
68
+ // Apply default values for optional operation control fields
69
+ const normalizedArgs = {
70
+ preview: args.preview ?? false,
71
+ backup: args.backup ?? true,
72
+ interactive: args.interactive ?? false,
73
+ ...args,
74
+ };
75
+ try {
76
+ debugIf(() => ({
77
+ message: 'Executing mcp_edit tool',
78
+ meta: { args: normalizedArgs },
79
+ }));
80
+ // Check if edit tools are enabled
81
+ const flagManager = FlagManager.getInstance();
82
+ if (!flagManager.isToolEnabled('internalTools', 'edit', 'modify')) {
83
+ const result = {
84
+ success: false,
85
+ message: 'MCP server editing is currently disabled by configuration',
86
+ serverName: normalizedArgs.name,
87
+ error: 'Edit tools are disabled',
88
+ };
89
+ return McpEditOutputSchema.parse(result);
90
+ }
91
+ const adapter = createManagementAdapter();
92
+ // Validate configuration before making changes
93
+ const validationResult = await adapter.validateServerConfig(normalizedArgs.name, normalizedArgs);
94
+ if (!validationResult.valid) {
95
+ const result = {
96
+ success: false,
97
+ message: `Configuration validation failed: ${validationResult.errors?.join(', ') || 'Unknown validation error'}`,
98
+ serverName: normalizedArgs.name,
99
+ error: validationResult.errors?.join(', ') || 'Validation failed',
100
+ };
101
+ return McpEditOutputSchema.parse(result);
102
+ }
103
+ // Handle preview mode
104
+ if (normalizedArgs.preview) {
105
+ const changes = await previewChanges(normalizedArgs.name, normalizedArgs, adapter);
106
+ const result = {
107
+ success: true,
108
+ message: `Preview of changes for server '${normalizedArgs.name}' configuration`,
109
+ serverName: normalizedArgs.name,
110
+ preview: true,
111
+ changes,
112
+ };
113
+ return McpEditOutputSchema.parse(result);
114
+ }
115
+ // Apply changes with backup if requested
116
+ let backupPath;
117
+ if (normalizedArgs.backup) {
118
+ // Backup would be handled by the adapter
119
+ debugIf(() => ({
120
+ message: 'Creating backup before editing server configuration',
121
+ meta: { serverName: normalizedArgs.name, backup: normalizedArgs.backup },
122
+ }));
123
+ }
124
+ // Execute the configuration update
125
+ const updateResult = await adapter.updateServerConfig(normalizedArgs.name, normalizedArgs);
126
+ // Transform to match expected output schema
127
+ const structuredResult = {
128
+ success: updateResult.success,
129
+ message: updateResult.success
130
+ ? `MCP server '${updateResult.serverName}' configuration updated successfully`
131
+ : `Failed to update server configuration: ${updateResult.errors?.join(', ') || 'Unknown error'}`,
132
+ serverName: updateResult.serverName,
133
+ changes: updateResult.changes,
134
+ preview: false,
135
+ backupPath: updateResult.backupPath || backupPath,
136
+ warnings: updateResult.warnings,
137
+ reloadRecommended: updateResult.success,
138
+ error: updateResult.success ? undefined : updateResult.errors?.join(', '),
139
+ };
140
+ return McpEditOutputSchema.parse(structuredResult);
141
+ }
142
+ catch (error) {
143
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
144
+ logger.error('Error in mcp_edit tool handler', { error: errorMessage, serverName: normalizedArgs.name });
145
+ const result = {
146
+ success: false,
147
+ message: `Edit operation failed: ${errorMessage}`,
148
+ serverName: normalizedArgs.name,
149
+ error: errorMessage,
150
+ };
151
+ return McpEditOutputSchema.parse(result);
152
+ }
153
+ }
154
+ //# sourceMappingURL=toolHandlers.js.map