@1mcp/agent 0.27.3 → 0.28.0

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 (354) 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.d.ts.map +1 -1
  110. package/build/constants/mcp.js +3 -7
  111. package/build/constants/mcp.js.map +1 -1
  112. package/build/core/capabilities/asyncLoadingOrchestrator.d.ts +1 -1
  113. package/build/core/capabilities/asyncLoadingOrchestrator.d.ts.map +1 -1
  114. package/build/core/capabilities/asyncLoadingOrchestrator.js +6 -1
  115. package/build/core/capabilities/asyncLoadingOrchestrator.js.map +1 -1
  116. package/build/core/capabilities/capabilityAggregator.d.ts +1 -0
  117. package/build/core/capabilities/capabilityAggregator.d.ts.map +1 -1
  118. package/build/core/capabilities/capabilityAggregator.js +21 -0
  119. package/build/core/capabilities/capabilityAggregator.js.map +1 -1
  120. package/build/core/capabilities/capabilityManager.d.ts +25 -6
  121. package/build/core/capabilities/capabilityManager.d.ts.map +1 -1
  122. package/build/core/capabilities/internal/discoveryTools.d.ts +28 -0
  123. package/build/core/capabilities/internal/discoveryTools.d.ts.map +1 -0
  124. package/build/core/capabilities/internal/discoveryTools.js +59 -0
  125. package/build/core/capabilities/internal/discoveryTools.js.map +1 -0
  126. package/build/core/capabilities/internal/installationTools.d.ts +20 -0
  127. package/build/core/capabilities/internal/installationTools.d.ts.map +1 -0
  128. package/build/core/capabilities/internal/installationTools.js +36 -0
  129. package/build/core/capabilities/internal/installationTools.js.map +1 -0
  130. package/build/core/capabilities/internal/managementTools.d.ts +32 -0
  131. package/build/core/capabilities/internal/managementTools.d.ts.map +1 -0
  132. package/build/core/capabilities/internal/managementTools.js +69 -0
  133. package/build/core/capabilities/internal/managementTools.js.map +1 -0
  134. package/build/core/capabilities/internalCapabilitiesProvider.d.ts +41 -0
  135. package/build/core/capabilities/internalCapabilitiesProvider.d.ts.map +1 -0
  136. package/build/core/capabilities/internalCapabilitiesProvider.js +275 -0
  137. package/build/core/capabilities/internalCapabilitiesProvider.js.map +1 -0
  138. package/build/core/client/clientManager.d.ts +5 -0
  139. package/build/core/client/clientManager.d.ts.map +1 -1
  140. package/build/core/client/clientManager.js +34 -0
  141. package/build/core/client/clientManager.js.map +1 -1
  142. package/build/core/configChangeHandler.d.ts +78 -0
  143. package/build/core/configChangeHandler.d.ts.map +1 -0
  144. package/build/core/configChangeHandler.js +310 -0
  145. package/build/core/configChangeHandler.js.map +1 -0
  146. package/build/core/flags/flagManager.d.ts +90 -0
  147. package/build/core/flags/flagManager.d.ts.map +1 -0
  148. package/build/core/flags/flagManager.js +209 -0
  149. package/build/core/flags/flagManager.js.map +1 -0
  150. package/build/core/protocol/requestHandlers.d.ts.map +1 -1
  151. package/build/core/protocol/requestHandlers.js +32 -1
  152. package/build/core/protocol/requestHandlers.js.map +1 -1
  153. package/build/core/server/agentConfig.d.ts +20 -0
  154. package/build/core/server/agentConfig.d.ts.map +1 -1
  155. package/build/core/server/agentConfig.js +40 -0
  156. package/build/core/server/agentConfig.js.map +1 -1
  157. package/build/core/server/pidFileManager.d.ts +14 -1
  158. package/build/core/server/pidFileManager.d.ts.map +1 -1
  159. package/build/core/server/pidFileManager.js +24 -2
  160. package/build/core/server/pidFileManager.js.map +1 -1
  161. package/build/core/server/serverManager.d.ts +46 -1
  162. package/build/core/server/serverManager.d.ts.map +1 -1
  163. package/build/core/server/serverManager.js +260 -3
  164. package/build/core/server/serverManager.js.map +1 -1
  165. package/build/core/tools/handlers/searchHandler.js +1 -1
  166. package/build/core/tools/handlers/searchHandler.js.map +1 -1
  167. package/build/core/tools/handlers/serverManagementHandler.d.ts +262 -0
  168. package/build/core/tools/handlers/serverManagementHandler.d.ts.map +1 -0
  169. package/build/core/tools/handlers/serverManagementHandler.js +430 -0
  170. package/build/core/tools/handlers/serverManagementHandler.js.map +1 -0
  171. package/build/core/tools/internal/adapters/discoveryAdapter.d.ts +148 -0
  172. package/build/core/tools/internal/adapters/discoveryAdapter.d.ts.map +1 -0
  173. package/build/core/tools/internal/adapters/discoveryAdapter.js +163 -0
  174. package/build/core/tools/internal/adapters/discoveryAdapter.js.map +1 -0
  175. package/build/core/tools/internal/adapters/helpers/configTransformers.d.ts +62 -0
  176. package/build/core/tools/internal/adapters/helpers/configTransformers.d.ts.map +1 -0
  177. package/build/core/tools/internal/adapters/helpers/configTransformers.js +79 -0
  178. package/build/core/tools/internal/adapters/helpers/configTransformers.js.map +1 -0
  179. package/build/core/tools/internal/adapters/index.d.ts +58 -0
  180. package/build/core/tools/internal/adapters/index.d.ts.map +1 -0
  181. package/build/core/tools/internal/adapters/index.js +85 -0
  182. package/build/core/tools/internal/adapters/index.js.map +1 -0
  183. package/build/core/tools/internal/adapters/installation/directInstallation.d.ts +16 -0
  184. package/build/core/tools/internal/adapters/installation/directInstallation.d.ts.map +1 -0
  185. package/build/core/tools/internal/adapters/installation/directInstallation.js +103 -0
  186. package/build/core/tools/internal/adapters/installation/directInstallation.js.map +1 -0
  187. package/build/core/tools/internal/adapters/installation/packageResolver.d.ts +7 -0
  188. package/build/core/tools/internal/adapters/installation/packageResolver.d.ts.map +1 -0
  189. package/build/core/tools/internal/adapters/installation/packageResolver.js +86 -0
  190. package/build/core/tools/internal/adapters/installation/packageResolver.js.map +1 -0
  191. package/build/core/tools/internal/adapters/installation/types.d.ts +100 -0
  192. package/build/core/tools/internal/adapters/installation/types.d.ts.map +1 -0
  193. package/build/core/tools/internal/adapters/installation/types.js +2 -0
  194. package/build/core/tools/internal/adapters/installation/types.js.map +1 -0
  195. package/build/core/tools/internal/adapters/installationAdapter.d.ts +89 -0
  196. package/build/core/tools/internal/adapters/installationAdapter.d.ts.map +1 -0
  197. package/build/core/tools/internal/adapters/installationAdapter.js +335 -0
  198. package/build/core/tools/internal/adapters/installationAdapter.js.map +1 -0
  199. package/build/core/tools/internal/adapters/management/index.d.ts +5 -0
  200. package/build/core/tools/internal/adapters/management/index.d.ts.map +1 -0
  201. package/build/core/tools/internal/adapters/management/index.js +5 -0
  202. package/build/core/tools/internal/adapters/management/index.js.map +1 -0
  203. package/build/core/tools/internal/adapters/management/managementAdapter.d.ts +51 -0
  204. package/build/core/tools/internal/adapters/management/managementAdapter.d.ts.map +1 -0
  205. package/build/core/tools/internal/adapters/management/managementAdapter.js +402 -0
  206. package/build/core/tools/internal/adapters/management/managementAdapter.js.map +1 -0
  207. package/build/core/tools/internal/adapters/management/toolHandlers.d.ts +6 -0
  208. package/build/core/tools/internal/adapters/management/toolHandlers.d.ts.map +1 -0
  209. package/build/core/tools/internal/adapters/management/toolHandlers.js +154 -0
  210. package/build/core/tools/internal/adapters/management/toolHandlers.js.map +1 -0
  211. package/build/core/tools/internal/adapters/management/types.d.ts +179 -0
  212. package/build/core/tools/internal/adapters/management/types.d.ts.map +1 -0
  213. package/build/core/tools/internal/adapters/management/types.js +2 -0
  214. package/build/core/tools/internal/adapters/management/types.js.map +1 -0
  215. package/build/core/tools/internal/adapters/management/validation.d.ts +9 -0
  216. package/build/core/tools/internal/adapters/management/validation.d.ts.map +1 -0
  217. package/build/core/tools/internal/adapters/management/validation.js +204 -0
  218. package/build/core/tools/internal/adapters/management/validation.js.map +1 -0
  219. package/build/core/tools/internal/adapters/validation/configValidation.d.ts +22 -0
  220. package/build/core/tools/internal/adapters/validation/configValidation.d.ts.map +1 -0
  221. package/build/core/tools/internal/adapters/validation/configValidation.js +185 -0
  222. package/build/core/tools/internal/adapters/validation/configValidation.js.map +1 -0
  223. package/build/core/tools/internal/discoveryHandlers.d.ts +26 -0
  224. package/build/core/tools/internal/discoveryHandlers.d.ts.map +1 -0
  225. package/build/core/tools/internal/discoveryHandlers.js +283 -0
  226. package/build/core/tools/internal/discoveryHandlers.js.map +1 -0
  227. package/build/core/tools/internal/index.d.ts +279 -0
  228. package/build/core/tools/internal/index.d.ts.map +1 -0
  229. package/build/core/tools/internal/index.js +236 -0
  230. package/build/core/tools/internal/index.js.map +1 -0
  231. package/build/core/tools/internal/installationHandlers.d.ts +18 -0
  232. package/build/core/tools/internal/installationHandlers.d.ts.map +1 -0
  233. package/build/core/tools/internal/installationHandlers.js +314 -0
  234. package/build/core/tools/internal/installationHandlers.js.map +1 -0
  235. package/build/core/tools/internal/managementHandlers.d.ts +26 -0
  236. package/build/core/tools/internal/managementHandlers.d.ts.map +1 -0
  237. package/build/core/tools/internal/managementHandlers.js +306 -0
  238. package/build/core/tools/internal/managementHandlers.js.map +1 -0
  239. package/build/core/tools/internal/schemas/discovery.d.ts +233 -0
  240. package/build/core/tools/internal/schemas/discovery.d.ts.map +1 -0
  241. package/build/core/tools/internal/schemas/discovery.js +189 -0
  242. package/build/core/tools/internal/schemas/discovery.js.map +1 -0
  243. package/build/core/tools/internal/schemas/edit.d.ts +96 -0
  244. package/build/core/tools/internal/schemas/edit.d.ts.map +1 -0
  245. package/build/core/tools/internal/schemas/edit.js +76 -0
  246. package/build/core/tools/internal/schemas/edit.js.map +1 -0
  247. package/build/core/tools/internal/schemas/index.d.ts +629 -0
  248. package/build/core/tools/internal/schemas/index.d.ts.map +1 -0
  249. package/build/core/tools/internal/schemas/index.js +158 -0
  250. package/build/core/tools/internal/schemas/index.js.map +1 -0
  251. package/build/core/tools/internal/schemas/installation.d.ts +210 -0
  252. package/build/core/tools/internal/schemas/installation.d.ts.map +1 -0
  253. package/build/core/tools/internal/schemas/installation.js +212 -0
  254. package/build/core/tools/internal/schemas/installation.js.map +1 -0
  255. package/build/core/tools/internal/schemas/management.d.ts +232 -0
  256. package/build/core/tools/internal/schemas/management.d.ts.map +1 -0
  257. package/build/core/tools/internal/schemas/management.js +188 -0
  258. package/build/core/tools/internal/schemas/management.js.map +1 -0
  259. package/build/core/tools/internal/toolHandlers.d.ts +7 -0
  260. package/build/core/tools/internal/toolHandlers.d.ts.map +1 -0
  261. package/build/core/tools/internal/toolHandlers.js +8 -0
  262. package/build/core/tools/internal/toolHandlers.js.map +1 -0
  263. package/build/core/tools/internal/toolSchemas.d.ts +16 -0
  264. package/build/core/tools/internal/toolSchemas.d.ts.map +1 -0
  265. package/build/core/tools/internal/toolSchemas.js +22 -0
  266. package/build/core/tools/internal/toolSchemas.js.map +1 -0
  267. package/build/domains/installation/configurators/cliArgsConfigurator.d.ts +7 -0
  268. package/build/domains/installation/configurators/cliArgsConfigurator.d.ts.map +1 -0
  269. package/build/domains/installation/configurators/cliArgsConfigurator.js +146 -0
  270. package/build/domains/installation/configurators/cliArgsConfigurator.js.map +1 -0
  271. package/build/domains/installation/configurators/envVarConfigurator.d.ts +7 -0
  272. package/build/domains/installation/configurators/envVarConfigurator.d.ts.map +1 -0
  273. package/build/domains/installation/configurators/envVarConfigurator.js +122 -0
  274. package/build/domains/installation/configurators/envVarConfigurator.js.map +1 -0
  275. package/build/domains/installation/configurators/tagsConfigurator.d.ts +23 -0
  276. package/build/domains/installation/configurators/tagsConfigurator.d.ts.map +1 -0
  277. package/build/domains/installation/configurators/tagsConfigurator.js +46 -0
  278. package/build/domains/installation/configurators/tagsConfigurator.js.map +1 -0
  279. package/build/domains/installation/index.d.ts +12 -0
  280. package/build/domains/installation/index.d.ts.map +1 -0
  281. package/build/domains/installation/index.js +16 -0
  282. package/build/domains/installation/index.js.map +1 -0
  283. package/build/domains/installation/metadata/defaultsProvider.d.ts +12 -0
  284. package/build/domains/installation/metadata/defaultsProvider.d.ts.map +1 -0
  285. package/build/domains/installation/metadata/defaultsProvider.js +43 -0
  286. package/build/domains/installation/metadata/defaultsProvider.js.map +1 -0
  287. package/build/domains/installation/metadata/metadataExtractor.d.ts +11 -0
  288. package/build/domains/installation/metadata/metadataExtractor.d.ts.map +1 -0
  289. package/build/domains/installation/metadata/metadataExtractor.js +59 -0
  290. package/build/domains/installation/metadata/metadataExtractor.js.map +1 -0
  291. package/build/domains/installation/types.d.ts +27 -0
  292. package/build/domains/installation/types.d.ts.map +1 -0
  293. package/build/domains/installation/types.js +5 -0
  294. package/build/domains/installation/types.js.map +1 -0
  295. package/build/domains/installation/validators/conflictDetector.d.ts +24 -0
  296. package/build/domains/installation/validators/conflictDetector.d.ts.map +1 -0
  297. package/build/domains/installation/validators/conflictDetector.js +41 -0
  298. package/build/domains/installation/validators/conflictDetector.js.map +1 -0
  299. package/build/domains/installation/validators/serverNameValidator.d.ts +17 -0
  300. package/build/domains/installation/validators/serverNameValidator.d.ts.map +1 -0
  301. package/build/domains/installation/validators/serverNameValidator.js +58 -0
  302. package/build/domains/installation/validators/serverNameValidator.js.map +1 -0
  303. package/build/domains/registry/formatters/serverDetailFormatter.js +22 -9
  304. package/build/domains/registry/formatters/serverDetailFormatter.js.map +1 -1
  305. package/build/domains/registry/mcpRegistryClient.d.ts.map +1 -1
  306. package/build/domains/registry/mcpRegistryClient.js +46 -18
  307. package/build/domains/registry/mcpRegistryClient.js.map +1 -1
  308. package/build/domains/registry/mcpToolSchemas.d.ts +2 -2
  309. package/build/domains/registry/mcpToolSchemas.d.ts.map +1 -1
  310. package/build/domains/registry/mcpToolSchemas.js +1 -1
  311. package/build/domains/registry/mcpToolSchemas.js.map +1 -1
  312. package/build/domains/registry/types.d.ts +2 -3
  313. package/build/domains/registry/types.d.ts.map +1 -1
  314. package/build/domains/server-management/index.d.ts +11 -0
  315. package/build/domains/server-management/index.d.ts.map +1 -0
  316. package/build/domains/server-management/index.js +13 -0
  317. package/build/domains/server-management/index.js.map +1 -0
  318. package/build/domains/server-management/progressTrackingService.d.ts +49 -0
  319. package/build/domains/server-management/progressTrackingService.d.ts.map +1 -0
  320. package/build/domains/server-management/progressTrackingService.js +102 -0
  321. package/build/domains/server-management/progressTrackingService.js.map +1 -0
  322. package/build/domains/server-management/serverInstallationService.d.ts +48 -0
  323. package/build/domains/server-management/serverInstallationService.d.ts.map +1 -0
  324. package/build/domains/server-management/serverInstallationService.js +299 -0
  325. package/build/domains/server-management/serverInstallationService.js.map +1 -0
  326. package/build/domains/server-management/services/versionResolver.d.ts +36 -0
  327. package/build/domains/server-management/services/versionResolver.d.ts.map +1 -0
  328. package/build/domains/server-management/services/versionResolver.js +74 -0
  329. package/build/domains/server-management/services/versionResolver.js.map +1 -0
  330. package/build/domains/server-management/types.d.ts +215 -0
  331. package/build/domains/server-management/types.d.ts.map +1 -0
  332. package/build/domains/server-management/types.js +28 -0
  333. package/build/domains/server-management/types.js.map +1 -0
  334. package/build/server.d.ts +1 -1
  335. package/build/server.d.ts.map +1 -1
  336. package/build/server.js +18 -12
  337. package/build/server.js.map +1 -1
  338. package/build/transport/http/middlewares/mcpAvailabilityMiddleware.js +2 -2
  339. package/build/transport/http/middlewares/mcpAvailabilityMiddleware.js.map +1 -1
  340. package/build/utils/schemaUtils.d.ts +25 -0
  341. package/build/utils/schemaUtils.d.ts.map +1 -0
  342. package/build/utils/schemaUtils.js +43 -0
  343. package/build/utils/schemaUtils.js.map +1 -0
  344. package/package.json +5 -4
  345. package/build/application/services/configReloadService.d.ts +0 -55
  346. package/build/application/services/configReloadService.d.ts.map +0 -1
  347. package/build/application/services/configReloadService.js +0 -195
  348. package/build/application/services/configReloadService.js.map +0 -1
  349. package/build/commands/mcp/utils/configUtils.d.ts +0 -71
  350. package/build/commands/mcp/utils/configUtils.d.ts.map +0 -1
  351. package/build/commands/mcp/utils/configUtils.js +0 -326
  352. package/build/commands/mcp/utils/configUtils.js.map +0 -1
  353. package/build/commands/shared/configUtils.d.ts.map +0 -1
  354. package/build/commands/shared/configUtils.js.map +0 -1
@@ -0,0 +1,360 @@
1
+ import boxen from 'boxen';
2
+ import chalk from 'chalk';
3
+ import prompts from 'prompts';
4
+ import { showStepIndicator } from './display.js';
5
+ import { deriveLocalName, extractArgMetadata, extractEnvVarMetadata } from './metadata.js';
6
+ /**
7
+ * Collect configuration (tags, env, args)
8
+ */
9
+ export async function collectConfiguration(server, existingNames = []) {
10
+ console.clear();
11
+ showStepIndicator(3, 5, 'Configure');
12
+ console.log(boxen(chalk.magenta.bold(`⚙️ Configure: ${server.name}`), {
13
+ padding: 1,
14
+ borderStyle: 'round',
15
+ borderColor: 'magenta',
16
+ }));
17
+ // Derive auto-generated name
18
+ const autoGeneratedName = deriveLocalName(server.name);
19
+ // Local name with conflict detection
20
+ let localName = autoGeneratedName;
21
+ let nameConflict = existingNames.includes(localName);
22
+ let forceOverride = false;
23
+ while (true) {
24
+ const localNameInput = await prompts({
25
+ type: 'text',
26
+ name: 'localName',
27
+ message: nameConflict
28
+ ? chalk.yellow(`⚠️ Server '${localName}' already exists. Enter a different name:`)
29
+ : `Local server name:`,
30
+ initial: localName,
31
+ });
32
+ if (localNameInput.localName === undefined) {
33
+ return { cancelled: true };
34
+ }
35
+ localName = String(localNameInput.localName).trim();
36
+ // Check for conflict
37
+ if (existingNames.includes(localName)) {
38
+ nameConflict = true;
39
+ // Ask user what to do
40
+ const conflictAction = await prompts({
41
+ type: 'select',
42
+ name: 'action',
43
+ message: `Server '${localName}' already exists. What would you like to do?`,
44
+ choices: [
45
+ { title: 'Rename (enter a different name)', value: 'rename' },
46
+ { title: 'Override (replace existing server)', value: 'override' },
47
+ { title: 'Cancel installation', value: 'cancel' },
48
+ ],
49
+ initial: 0,
50
+ });
51
+ if (conflictAction.action === 'cancel' || conflictAction.action === undefined) {
52
+ return { cancelled: true };
53
+ }
54
+ if (conflictAction.action === 'override') {
55
+ // User wants to override - set flag and break the loop
56
+ forceOverride = true;
57
+ break;
58
+ }
59
+ // If 'rename', loop continues with nameConflict still true
60
+ continue;
61
+ }
62
+ // No conflict, proceed
63
+ break;
64
+ }
65
+ // Tags - default to server name
66
+ const defaultTags = autoGeneratedName;
67
+ const tagsInput = await prompts({
68
+ type: 'text',
69
+ name: 'tags',
70
+ message: 'Tags (comma-separated):',
71
+ initial: defaultTags,
72
+ });
73
+ if (tagsInput.tags === undefined) {
74
+ return { cancelled: true };
75
+ }
76
+ // Configure environment variables interactively
77
+ const env = await configureEnvVars(server);
78
+ if (env === null) {
79
+ return { cancelled: true };
80
+ }
81
+ // Configure arguments interactively
82
+ const args = await configureArgs(server);
83
+ if (args === null) {
84
+ return { cancelled: true };
85
+ }
86
+ const tagsValue = String(tagsInput.tags || '').trim();
87
+ const tags = tagsValue
88
+ ? tagsValue
89
+ .split(',')
90
+ .map((t) => t.trim())
91
+ .filter((t) => t.length > 0)
92
+ : undefined;
93
+ return {
94
+ localName: localName || undefined,
95
+ tags,
96
+ env: env || undefined,
97
+ args: args || undefined,
98
+ cancelled: false,
99
+ forceOverride,
100
+ };
101
+ }
102
+ /**
103
+ * Configure environment variables interactively
104
+ */
105
+ export async function configureEnvVars(server) {
106
+ const envVarMetadata = extractEnvVarMetadata(server);
107
+ if (envVarMetadata.length === 0) {
108
+ // No env vars defined, ask if user wants to add any manually
109
+ const addManual = await prompts({
110
+ type: 'confirm',
111
+ name: 'add',
112
+ message: 'No environment variables defined. Add any manually?',
113
+ initial: false,
114
+ });
115
+ if (addManual.add === undefined) {
116
+ return null;
117
+ }
118
+ if (!addManual.add) {
119
+ return {};
120
+ }
121
+ // Allow manual JSON input
122
+ const manualInput = await prompts({
123
+ type: 'text',
124
+ name: 'env',
125
+ message: 'Environment variables (JSON):',
126
+ initial: '{}',
127
+ validate: (value) => {
128
+ try {
129
+ JSON.parse(value);
130
+ return true;
131
+ }
132
+ catch {
133
+ return 'Invalid JSON format';
134
+ }
135
+ },
136
+ });
137
+ if (manualInput.env === undefined) {
138
+ return null;
139
+ }
140
+ return JSON.parse(String(manualInput.env));
141
+ }
142
+ // Show summary of available env vars
143
+ console.log(chalk.cyan.bold('\n📋 Available Environment Variables:'));
144
+ console.log(chalk.gray(` Found ${envVarMetadata.length} environment variables\n`));
145
+ // Ask if user wants to configure any
146
+ const wantsToConfigure = await prompts({
147
+ type: 'confirm',
148
+ name: 'value',
149
+ message: `Configure environment variables?`,
150
+ initial: envVarMetadata.some((v) => v.isRequired),
151
+ });
152
+ if (wantsToConfigure.value === undefined) {
153
+ return null;
154
+ }
155
+ if (!wantsToConfigure.value) {
156
+ // Use defaults only for required vars
157
+ const env = {};
158
+ envVarMetadata.forEach((envVar) => {
159
+ if (envVar.default && envVar.isRequired) {
160
+ env[envVar.key] = envVar.default;
161
+ }
162
+ });
163
+ return env;
164
+ }
165
+ // Let user select which env vars to configure
166
+ const choices = envVarMetadata.map((envVar) => {
167
+ const required = envVar.isRequired ? chalk.red('*required') : '';
168
+ const secret = envVar.isSecret ? chalk.yellow('🔒 ') : '';
169
+ const title = `${secret}${envVar.key} ${required}`;
170
+ const description = envVar.description || '';
171
+ return {
172
+ title,
173
+ description,
174
+ value: envVar.key,
175
+ selected: envVar.isRequired || false, // Pre-select required vars
176
+ };
177
+ });
178
+ const selection = await prompts({
179
+ type: 'multiselect',
180
+ name: 'selected',
181
+ message: 'Select environment variables to configure (use space to select, enter to confirm):',
182
+ choices,
183
+ hint: '- Space to select. Enter to submit',
184
+ instructions: false,
185
+ });
186
+ if (selection.selected === undefined) {
187
+ return null;
188
+ }
189
+ const selectedKeys = selection.selected;
190
+ if (selectedKeys.length === 0) {
191
+ return {};
192
+ }
193
+ // Prompt for each selected env var
194
+ console.log(chalk.cyan.bold('\n📝 Configure Selected Variables:\n'));
195
+ const env = {};
196
+ for (const key of selectedKeys) {
197
+ const envVar = envVarMetadata.find((v) => v.key === key);
198
+ if (!envVar)
199
+ continue;
200
+ const result = await prompts({
201
+ type: envVar.isSecret ? 'password' : 'text',
202
+ name: 'value',
203
+ message: `${envVar.key}${envVar.isRequired ? chalk.red(' *') : ''}:${envVar.description ? `\n ${chalk.gray(envVar.description)}` : ''}`,
204
+ initial: envVar.default || '',
205
+ });
206
+ if (result.value === undefined) {
207
+ // User can skip by pressing Ctrl+C on individual fields
208
+ continue;
209
+ }
210
+ const value = String(result.value).trim();
211
+ if (value) {
212
+ env[envVar.key] = value;
213
+ }
214
+ else if (envVar.isRequired) {
215
+ console.log(chalk.yellow(`⚠️ ${envVar.key} is required, using default or empty value`));
216
+ env[envVar.key] = envVar.default || '';
217
+ }
218
+ }
219
+ return env;
220
+ }
221
+ /**
222
+ * Configure runtime arguments interactively
223
+ */
224
+ export async function configureArgs(server) {
225
+ const argMetadata = extractArgMetadata(server);
226
+ if (argMetadata.length === 0) {
227
+ // No args defined, ask if user wants to add any manually
228
+ const addManual = await prompts({
229
+ type: 'confirm',
230
+ name: 'add',
231
+ message: 'No runtime arguments defined. Add any manually?',
232
+ initial: false,
233
+ });
234
+ if (addManual.add === undefined) {
235
+ return null;
236
+ }
237
+ if (!addManual.add) {
238
+ return [];
239
+ }
240
+ // Allow manual input
241
+ const manualInput = await prompts({
242
+ type: 'text',
243
+ name: 'args',
244
+ message: 'Arguments (comma-separated):',
245
+ initial: '',
246
+ });
247
+ if (manualInput.args === undefined) {
248
+ return null;
249
+ }
250
+ const argsValue = String(manualInput.args).trim();
251
+ return argsValue
252
+ ? argsValue
253
+ .split(',')
254
+ .map((a) => a.trim())
255
+ .filter((a) => a.length > 0)
256
+ : [];
257
+ }
258
+ // Show summary of available args
259
+ console.log(chalk.cyan.bold('\n⚙️ Available Runtime Arguments:'));
260
+ console.log(chalk.gray(` Found ${argMetadata.length} runtime arguments\n`));
261
+ // Ask if user wants to configure any
262
+ const wantsToConfigure = await prompts({
263
+ type: 'confirm',
264
+ name: 'value',
265
+ message: `Configure runtime arguments?`,
266
+ initial: argMetadata.some((a) => a.isRequired),
267
+ });
268
+ if (wantsToConfigure.value === undefined) {
269
+ return null;
270
+ }
271
+ if (!wantsToConfigure.value) {
272
+ // Use defaults only for required args
273
+ return argMetadata.filter((a) => a.isRequired && a.default).map((a) => `${a.name}=${a.default}`);
274
+ }
275
+ // Let user select which args to configure
276
+ const choices = argMetadata.map((arg) => {
277
+ const required = arg.isRequired ? chalk.red('*required') : '';
278
+ const name = arg.name || 'argument';
279
+ const title = `${name} ${required}`;
280
+ const description = arg.description || '';
281
+ return {
282
+ title,
283
+ description,
284
+ value: arg.name || '',
285
+ selected: arg.isRequired || false, // Pre-select required args
286
+ };
287
+ });
288
+ const selection = await prompts({
289
+ type: 'multiselect',
290
+ name: 'selected',
291
+ message: 'Select runtime arguments to configure (use space to select, enter to confirm):',
292
+ choices,
293
+ hint: '- Space to select. Enter to submit',
294
+ instructions: false,
295
+ });
296
+ if (selection.selected === undefined) {
297
+ return null;
298
+ }
299
+ const selectedNames = selection.selected;
300
+ if (selectedNames.length === 0) {
301
+ return [];
302
+ }
303
+ // Prompt for each selected arg
304
+ console.log(chalk.cyan.bold('\n📝 Configure Selected Arguments:\n'));
305
+ const args = [];
306
+ for (const name of selectedNames) {
307
+ const arg = argMetadata.find((a) => a.name === name);
308
+ if (!arg)
309
+ continue;
310
+ let result;
311
+ if (arg.choices && arg.choices.length > 0) {
312
+ result = await prompts({
313
+ type: 'select',
314
+ name: 'value',
315
+ message: `${arg.name || 'Argument'}${arg.isRequired ? chalk.red(' *') : ''}:${arg.description ? `\n ${chalk.gray(arg.description)}` : ''}`,
316
+ choices: arg.choices.map((c) => ({ title: c, value: c })),
317
+ initial: arg.default ? arg.choices.indexOf(arg.default) : 0,
318
+ });
319
+ }
320
+ else {
321
+ result = await prompts({
322
+ type: 'text',
323
+ name: 'value',
324
+ message: `${arg.name || 'Argument'}${arg.isRequired ? chalk.red(' *') : ''}:${arg.description ? `\n ${chalk.gray(arg.description)}` : ''}`,
325
+ initial: arg.default || '',
326
+ });
327
+ }
328
+ if (result.value === undefined) {
329
+ // User can skip by pressing Ctrl+C on individual fields
330
+ continue;
331
+ }
332
+ const value = String(result.value).trim();
333
+ if (value) {
334
+ // Format as name=value for CLI args
335
+ args.push(`${arg.name}=${value}`);
336
+ }
337
+ else if (arg.isRequired && arg.default) {
338
+ console.log(chalk.yellow(`⚠️ ${arg.name} is required, using default value`));
339
+ args.push(`${arg.name}=${arg.default}`);
340
+ }
341
+ }
342
+ return args;
343
+ }
344
+ /**
345
+ * Ask if user wants to install another server
346
+ */
347
+ export async function askInstallAnother() {
348
+ const result = await prompts({
349
+ type: 'confirm',
350
+ name: 'another',
351
+ message: 'Install another server?',
352
+ initial: false,
353
+ }, {
354
+ onCancel: () => {
355
+ return false;
356
+ },
357
+ });
358
+ return Boolean(result.another);
359
+ }
360
+ //# sourceMappingURL=configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../../src/commands/mcp/wizard/configuration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { RegistryServer } from '../../../domains/registry/types.js';
2
+ /**
3
+ * UI display and rendering utilities for the wizard
4
+ */
5
+ /**
6
+ * Show welcome screen with key bindings
7
+ */
8
+ export declare function showWelcome(): void;
9
+ /**
10
+ * Show step indicator
11
+ */
12
+ export declare function showStepIndicator(currentStep: number, _totalSteps: number, _stepName: string): void;
13
+ /**
14
+ * Render the results list with highlighted selection
15
+ */
16
+ export declare function renderResultsList(results: RegistryServer[], currentIndex: number): void;
17
+ /**
18
+ * Show detailed information about a server
19
+ */
20
+ export declare function showServerDetails(server: RegistryServer, getKeyInput: () => Promise<string>): Promise<void>;
21
+ /**
22
+ * Show confirmation summary
23
+ */
24
+ export declare function showConfirmation(server: RegistryServer, config: {
25
+ version?: string;
26
+ localName?: string;
27
+ tags?: string[];
28
+ env?: Record<string, string>;
29
+ args?: string[];
30
+ }): void;
31
+ //# sourceMappingURL=display.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../../src/commands/mcp/wizard/display.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAKhE;;GAEG;AAEH;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAsBlC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAuBnG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAmCvF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBjH;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;IACN,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,GACA,IAAI,CA8BN"}
@@ -0,0 +1,131 @@
1
+ import boxen from 'boxen';
2
+ import chalk from 'chalk';
3
+ /**
4
+ * UI display and rendering utilities for the wizard
5
+ */
6
+ /**
7
+ * Show welcome screen with key bindings
8
+ */
9
+ export function showWelcome() {
10
+ const welcomeContent = chalk.magenta.bold('🚀 MCP Server Installation Wizard\n\n') +
11
+ chalk.yellow('This wizard will guide you through installing an MCP server.\n\n') +
12
+ chalk.cyan.bold('Navigation Keys:\n') +
13
+ chalk.gray(' ↑/↓ - Navigate options\n') +
14
+ chalk.gray(' ← - Go back\n') +
15
+ chalk.gray(' → - View details\n') +
16
+ chalk.gray(' Tab - Next step\n') +
17
+ chalk.gray(' Enter - Confirm\n') +
18
+ chalk.gray(' Ctrl+C - Cancel');
19
+ console.log(boxen(welcomeContent, {
20
+ padding: 1,
21
+ margin: 1,
22
+ borderStyle: 'double',
23
+ borderColor: 'cyan',
24
+ title: 'Install Wizard',
25
+ titleAlignment: 'center',
26
+ }));
27
+ }
28
+ /**
29
+ * Show step indicator
30
+ */
31
+ export function showStepIndicator(currentStep, _totalSteps, _stepName) {
32
+ const steps = ['Search', 'Select', 'Configure', 'Confirm', 'Install'];
33
+ const stepBar = steps
34
+ .map((step, index) => {
35
+ const num = index + 1;
36
+ if (num < currentStep) {
37
+ return chalk.green(`✓ ${step}`);
38
+ }
39
+ else if (num === currentStep) {
40
+ return chalk.cyan.bold(`► ${step}`);
41
+ }
42
+ else {
43
+ return chalk.gray(`○ ${step}`);
44
+ }
45
+ })
46
+ .join(chalk.gray(' → '));
47
+ console.log(boxen(stepBar, {
48
+ padding: { left: 2, right: 2, top: 0, bottom: 0 },
49
+ borderStyle: 'single',
50
+ borderColor: 'gray',
51
+ }));
52
+ console.log('');
53
+ }
54
+ /**
55
+ * Render the results list with highlighted selection
56
+ */
57
+ export function renderResultsList(results, currentIndex) {
58
+ showStepIndicator(2, 5, 'Select');
59
+ const header = boxen(chalk.cyan.bold(`📦 Search Results (${results.length} found)\n\n`) +
60
+ chalk.gray('Controls: ↑↓ Navigate → Details Enter Select ← Back Esc Cancel'), {
61
+ padding: 1,
62
+ borderStyle: 'double',
63
+ borderColor: 'cyan',
64
+ title: 'Select Server',
65
+ titleAlignment: 'center',
66
+ });
67
+ console.log(header);
68
+ const listContent = results
69
+ .map((server, index) => {
70
+ const isSelected = index === currentIndex;
71
+ const cursor = isSelected ? chalk.yellow.bold('►') : ' ';
72
+ const nameStyle = isSelected ? chalk.bgGray.white.bold : chalk.white;
73
+ const description = server.description?.substring(0, 60) || 'No description';
74
+ const descStyle = isSelected ? chalk.gray : chalk.dim;
75
+ return `${cursor} ${nameStyle(server.name)}\n ${descStyle(description)}`;
76
+ })
77
+ .join('\n\n');
78
+ console.log(boxen(listContent, {
79
+ padding: 1,
80
+ borderStyle: 'round',
81
+ borderColor: 'blue',
82
+ }));
83
+ }
84
+ /**
85
+ * Show detailed information about a server
86
+ */
87
+ export async function showServerDetails(server, getKeyInput) {
88
+ const content = chalk.blue.bold(`📋 ${server.name}\n\n`) +
89
+ chalk.yellow.bold('Description:\n') +
90
+ chalk.white(`${server.description || 'No description available'}\n\n`) +
91
+ (server.websiteUrl ? chalk.yellow.bold('Website:\n') + chalk.cyan(`${server.websiteUrl}\n\n`) : '') +
92
+ (server.repository?.url ? chalk.yellow.bold('Repository:\n') + chalk.cyan(`${server.repository.url}\n\n`) : '') +
93
+ chalk.gray('Press any key to return...');
94
+ console.log(boxen(content, {
95
+ padding: 1,
96
+ borderStyle: 'round',
97
+ borderColor: 'blue',
98
+ title: '🔍 Server Details',
99
+ titleAlignment: 'center',
100
+ }));
101
+ await getKeyInput();
102
+ }
103
+ /**
104
+ * Show confirmation summary
105
+ */
106
+ export function showConfirmation(server, config) {
107
+ console.clear();
108
+ showStepIndicator(4, 5, 'Confirm');
109
+ let content = chalk.green.bold('✅ Installation Summary\n\n') +
110
+ chalk.yellow('Server: ') +
111
+ chalk.cyan.bold(server.name) +
112
+ '\n' +
113
+ (config.version ? chalk.yellow('Version: ') + chalk.white(config.version) + '\n' : '') +
114
+ (config.localName ? chalk.yellow('Local Name: ') + chalk.white(config.localName) + '\n' : '') +
115
+ (config.tags && config.tags.length > 0 ? chalk.yellow('Tags: ') + chalk.white(config.tags.join(', ')) + '\n' : '') +
116
+ (config.env && Object.keys(config.env).length > 0
117
+ ? chalk.yellow('Environment: ') + chalk.white(JSON.stringify(config.env, null, 2)) + '\n'
118
+ : '') +
119
+ (config.args && config.args.length > 0
120
+ ? chalk.yellow('Arguments: ') + chalk.white(config.args.join(' ')) + '\n'
121
+ : '');
122
+ console.log(boxen(content, {
123
+ padding: 1,
124
+ borderStyle: 'round',
125
+ borderColor: 'green',
126
+ title: '📋 Confirm Installation',
127
+ titleAlignment: 'center',
128
+ }));
129
+ console.log(chalk.gray('\nPress ← (left arrow) to go back, → (enter) to proceed, Ctrl+C to cancel\n'));
130
+ }
131
+ //# sourceMappingURL=display.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display.js","sourceRoot":"","sources":["../../../../src/commands/mcp/wizard/display.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Wizard exports
3
+ */
4
+ export * from './components/stepIndicator.js';
5
+ export * from './components/welcomeScreen.js';
6
+ export * from './components/serverDetailsDisplay.js';
7
+ export * from './navigation/keyboardHandler.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/mcp/wizard/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AAGrD,cAAc,iCAAiC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Wizard exports
3
+ */
4
+ // Components
5
+ export * from './components/stepIndicator.js';
6
+ export * from './components/welcomeScreen.js';
7
+ export * from './components/serverDetailsDisplay.js';
8
+ // Navigation
9
+ export * from './navigation/keyboardHandler.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/mcp/wizard/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,aAAa;AACb,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AAErD,aAAa;AACb,cAAc,iCAAiC,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { RegistryServer } from '../../../domains/registry/types.js';
2
+ /**
3
+ * Metadata extraction utilities for MCP server installation
4
+ */
5
+ /**
6
+ * Environment variable metadata
7
+ */
8
+ export interface EnvVarMetadata {
9
+ key: string;
10
+ description?: string;
11
+ default?: string;
12
+ isRequired?: boolean;
13
+ isSecret?: boolean;
14
+ }
15
+ /**
16
+ * Runtime argument metadata
17
+ */
18
+ export interface ArgMetadata {
19
+ name?: string;
20
+ description?: string;
21
+ default?: string;
22
+ isRequired?: boolean;
23
+ isSecret?: boolean;
24
+ type?: string;
25
+ choices?: string[];
26
+ valueHint?: string;
27
+ }
28
+ /**
29
+ * Derive local server name from registry ID
30
+ */
31
+ export declare function deriveLocalName(registryId: string): string;
32
+ /**
33
+ * Extract all environment variables with metadata from server
34
+ */
35
+ export declare function extractEnvVarMetadata(server: RegistryServer): EnvVarMetadata[];
36
+ /**
37
+ * Extract default environment variables from server metadata
38
+ */
39
+ export declare function extractDefaultEnvVars(server: RegistryServer): Record<string, string>;
40
+ /**
41
+ * Extract all runtime arguments with metadata from server
42
+ */
43
+ export declare function extractArgMetadata(server: RegistryServer): ArgMetadata[];
44
+ /**
45
+ * Extract default arguments from server metadata
46
+ */
47
+ export declare function extractDefaultArgs(server: RegistryServer): string[];
48
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../../src/commands/mcp/wizard/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA6B1D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,EAAE,CA0B9E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBpF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,WAAW,EAAE,CA6BxE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,EAAE,CAiBnE"}