@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.
- package/build/commands/app/consolidate.js +1 -1
- package/build/commands/app/consolidate.js.map +1 -1
- package/build/commands/mcp/add.js +1 -1
- package/build/commands/mcp/add.js.map +1 -1
- package/build/commands/mcp/enable.js +1 -1
- package/build/commands/mcp/enable.js.map +1 -1
- package/build/commands/mcp/index.d.ts.map +1 -1
- package/build/commands/mcp/index.js +64 -1
- package/build/commands/mcp/index.js.map +1 -1
- package/build/commands/mcp/install.d.ts +28 -0
- package/build/commands/mcp/install.d.ts.map +1 -0
- package/build/commands/mcp/install.js +472 -0
- package/build/commands/mcp/install.js.map +1 -0
- package/build/commands/mcp/list.d.ts +3 -0
- package/build/commands/mcp/list.d.ts.map +1 -1
- package/build/commands/mcp/list.js +49 -4
- package/build/commands/mcp/list.js.map +1 -1
- package/build/commands/mcp/remove.js +1 -1
- package/build/commands/mcp/remove.js.map +1 -1
- package/build/commands/mcp/status.js +1 -1
- package/build/commands/mcp/status.js.map +1 -1
- package/build/commands/mcp/tokens.js +1 -1
- package/build/commands/mcp/tokens.js.map +1 -1
- package/build/commands/mcp/uninstall.d.ts +28 -0
- package/build/commands/mcp/uninstall.d.ts.map +1 -0
- package/build/commands/mcp/uninstall.js +103 -0
- package/build/commands/mcp/uninstall.js.map +1 -0
- package/build/commands/mcp/update.d.ts +16 -1
- package/build/commands/mcp/update.d.ts.map +1 -1
- package/build/commands/mcp/update.js +33 -2
- package/build/commands/mcp/update.js.map +1 -1
- package/build/commands/mcp/utils/installWizard.d.ts +35 -0
- package/build/commands/mcp/utils/installWizard.d.ts.map +1 -0
- package/build/commands/mcp/utils/installWizard.js +137 -0
- package/build/commands/mcp/utils/installWizard.js.map +1 -0
- package/build/commands/mcp/utils/mcpServerConfig.d.ts +31 -0
- package/build/commands/mcp/utils/mcpServerConfig.d.ts.map +1 -0
- package/build/commands/mcp/utils/mcpServerConfig.js +79 -0
- package/build/commands/mcp/utils/mcpServerConfig.js.map +1 -0
- package/build/commands/mcp/utils/serverUtils.d.ts +40 -0
- package/build/commands/mcp/utils/serverUtils.d.ts.map +1 -0
- package/build/commands/mcp/utils/serverUtils.js +103 -0
- package/build/commands/mcp/utils/serverUtils.js.map +1 -0
- package/build/commands/mcp/wizard/components/serverDetailsDisplay.d.ts +14 -0
- package/build/commands/mcp/wizard/components/serverDetailsDisplay.d.ts.map +1 -0
- package/build/commands/mcp/wizard/components/serverDetailsDisplay.js +56 -0
- package/build/commands/mcp/wizard/components/serverDetailsDisplay.js.map +1 -0
- package/build/commands/mcp/wizard/components/stepIndicator.d.ts +11 -0
- package/build/commands/mcp/wizard/components/stepIndicator.d.ts.map +1 -0
- package/build/commands/mcp/wizard/components/stepIndicator.js +38 -0
- package/build/commands/mcp/wizard/components/stepIndicator.js.map +1 -0
- package/build/commands/mcp/wizard/components/welcomeScreen.d.ts +5 -0
- package/build/commands/mcp/wizard/components/welcomeScreen.d.ts.map +1 -0
- package/build/commands/mcp/wizard/components/welcomeScreen.js +25 -0
- package/build/commands/mcp/wizard/components/welcomeScreen.js.map +1 -0
- package/build/commands/mcp/wizard/configuration.d.ts +31 -0
- package/build/commands/mcp/wizard/configuration.d.ts.map +1 -0
- package/build/commands/mcp/wizard/configuration.js +360 -0
- package/build/commands/mcp/wizard/configuration.js.map +1 -0
- package/build/commands/mcp/wizard/display.d.ts +31 -0
- package/build/commands/mcp/wizard/display.d.ts.map +1 -0
- package/build/commands/mcp/wizard/display.js +131 -0
- package/build/commands/mcp/wizard/display.js.map +1 -0
- package/build/commands/mcp/wizard/index.d.ts +8 -0
- package/build/commands/mcp/wizard/index.d.ts.map +1 -0
- package/build/commands/mcp/wizard/index.js +10 -0
- package/build/commands/mcp/wizard/index.js.map +1 -0
- package/build/commands/mcp/wizard/metadata.d.ts +48 -0
- package/build/commands/mcp/wizard/metadata.d.ts.map +1 -0
- package/build/commands/mcp/wizard/metadata.js +126 -0
- package/build/commands/mcp/wizard/metadata.js.map +1 -0
- package/build/commands/mcp/wizard/navigation/keyboardHandler.d.ts +14 -0
- package/build/commands/mcp/wizard/navigation/keyboardHandler.d.ts.map +1 -0
- package/build/commands/mcp/wizard/navigation/keyboardHandler.js +99 -0
- package/build/commands/mcp/wizard/navigation/keyboardHandler.js.map +1 -0
- package/build/commands/mcp/wizard/navigation.d.ts +12 -0
- package/build/commands/mcp/wizard/navigation.d.ts.map +1 -0
- package/build/commands/mcp/wizard/navigation.js +99 -0
- package/build/commands/mcp/wizard/navigation.js.map +1 -0
- package/build/commands/mcp/wizard/search.d.ts +23 -0
- package/build/commands/mcp/wizard/search.d.ts.map +1 -0
- package/build/commands/mcp/wizard/search.js +101 -0
- package/build/commands/mcp/wizard/search.js.map +1 -0
- package/build/commands/mcp/wizard/selection.d.ts +14 -0
- package/build/commands/mcp/wizard/selection.d.ts.map +1 -0
- package/build/commands/mcp/wizard/selection.js +40 -0
- package/build/commands/mcp/wizard/selection.js.map +1 -0
- package/build/commands/registry/search.d.ts +1 -1
- package/build/commands/registry/search.d.ts.map +1 -1
- package/build/commands/registry/search.js +10 -7
- package/build/commands/registry/search.js.map +1 -1
- package/build/commands/serve/index.d.ts +10 -0
- package/build/commands/serve/index.d.ts.map +1 -1
- package/build/commands/serve/index.js +28 -1
- package/build/commands/serve/index.js.map +1 -1
- package/build/commands/serve/serve.d.ts +2 -0
- package/build/commands/serve/serve.d.ts.map +1 -1
- package/build/commands/serve/serve.js +33 -8
- package/build/commands/serve/serve.js.map +1 -1
- package/build/commands/shared/{configUtils.d.ts → baseConfigUtils.d.ts} +1 -1
- package/build/commands/shared/baseConfigUtils.d.ts.map +1 -0
- package/build/commands/shared/{configUtils.js → baseConfigUtils.js} +1 -1
- package/build/commands/shared/baseConfigUtils.js.map +1 -0
- package/build/config/configManager.d.ts +125 -0
- package/build/config/configManager.d.ts.map +1 -0
- package/build/config/configManager.js +412 -0
- package/build/config/configManager.js.map +1 -0
- package/build/constants/mcp.d.ts +1 -1
- package/build/constants/mcp.js +1 -1
- package/build/core/capabilities/asyncLoadingOrchestrator.d.ts +1 -1
- package/build/core/capabilities/asyncLoadingOrchestrator.d.ts.map +1 -1
- package/build/core/capabilities/asyncLoadingOrchestrator.js +6 -1
- package/build/core/capabilities/asyncLoadingOrchestrator.js.map +1 -1
- package/build/core/capabilities/capabilityAggregator.d.ts +1 -0
- package/build/core/capabilities/capabilityAggregator.d.ts.map +1 -1
- package/build/core/capabilities/capabilityAggregator.js +21 -0
- package/build/core/capabilities/capabilityAggregator.js.map +1 -1
- package/build/core/capabilities/capabilityManager.d.ts +3 -10
- package/build/core/capabilities/capabilityManager.d.ts.map +1 -1
- package/build/core/capabilities/internal/discoveryTools.d.ts +28 -0
- package/build/core/capabilities/internal/discoveryTools.d.ts.map +1 -0
- package/build/core/capabilities/internal/discoveryTools.js +84 -0
- package/build/core/capabilities/internal/discoveryTools.js.map +1 -0
- package/build/core/capabilities/internal/installationTools.d.ts +20 -0
- package/build/core/capabilities/internal/installationTools.d.ts.map +1 -0
- package/build/core/capabilities/internal/installationTools.js +50 -0
- package/build/core/capabilities/internal/installationTools.js.map +1 -0
- package/build/core/capabilities/internal/managementTools.d.ts +32 -0
- package/build/core/capabilities/internal/managementTools.d.ts.map +1 -0
- package/build/core/capabilities/internal/managementTools.js +94 -0
- package/build/core/capabilities/internal/managementTools.js.map +1 -0
- package/build/core/capabilities/internalCapabilitiesProvider.d.ts +41 -0
- package/build/core/capabilities/internalCapabilitiesProvider.d.ts.map +1 -0
- package/build/core/capabilities/internalCapabilitiesProvider.js +275 -0
- package/build/core/capabilities/internalCapabilitiesProvider.js.map +1 -0
- package/build/core/client/clientManager.d.ts +5 -0
- package/build/core/client/clientManager.d.ts.map +1 -1
- package/build/core/client/clientManager.js +34 -0
- package/build/core/client/clientManager.js.map +1 -1
- package/build/core/configChangeHandler.d.ts +78 -0
- package/build/core/configChangeHandler.d.ts.map +1 -0
- package/build/core/configChangeHandler.js +310 -0
- package/build/core/configChangeHandler.js.map +1 -0
- package/build/core/flags/flagManager.d.ts +90 -0
- package/build/core/flags/flagManager.d.ts.map +1 -0
- package/build/core/flags/flagManager.js +209 -0
- package/build/core/flags/flagManager.js.map +1 -0
- package/build/core/protocol/requestHandlers.d.ts.map +1 -1
- package/build/core/protocol/requestHandlers.js +32 -1
- package/build/core/protocol/requestHandlers.js.map +1 -1
- package/build/core/server/agentConfig.d.ts +20 -0
- package/build/core/server/agentConfig.d.ts.map +1 -1
- package/build/core/server/agentConfig.js +40 -0
- package/build/core/server/agentConfig.js.map +1 -1
- package/build/core/server/pidFileManager.d.ts +14 -1
- package/build/core/server/pidFileManager.d.ts.map +1 -1
- package/build/core/server/pidFileManager.js +24 -2
- package/build/core/server/pidFileManager.js.map +1 -1
- package/build/core/server/serverManager.d.ts +46 -1
- package/build/core/server/serverManager.d.ts.map +1 -1
- package/build/core/server/serverManager.js +260 -3
- package/build/core/server/serverManager.js.map +1 -1
- package/build/core/tools/handlers/searchHandler.js +1 -1
- package/build/core/tools/handlers/searchHandler.js.map +1 -1
- package/build/core/tools/handlers/serverManagementHandler.d.ts +262 -0
- package/build/core/tools/handlers/serverManagementHandler.d.ts.map +1 -0
- package/build/core/tools/handlers/serverManagementHandler.js +430 -0
- package/build/core/tools/handlers/serverManagementHandler.js.map +1 -0
- package/build/core/tools/internal/adapters/discoveryAdapter.d.ts +148 -0
- package/build/core/tools/internal/adapters/discoveryAdapter.d.ts.map +1 -0
- package/build/core/tools/internal/adapters/discoveryAdapter.js +163 -0
- package/build/core/tools/internal/adapters/discoveryAdapter.js.map +1 -0
- package/build/core/tools/internal/adapters/helpers/configTransformers.d.ts +62 -0
- package/build/core/tools/internal/adapters/helpers/configTransformers.d.ts.map +1 -0
- package/build/core/tools/internal/adapters/helpers/configTransformers.js +79 -0
- package/build/core/tools/internal/adapters/helpers/configTransformers.js.map +1 -0
- package/build/core/tools/internal/adapters/index.d.ts +58 -0
- package/build/core/tools/internal/adapters/index.d.ts.map +1 -0
- package/build/core/tools/internal/adapters/index.js +85 -0
- package/build/core/tools/internal/adapters/index.js.map +1 -0
- package/build/core/tools/internal/adapters/installation/directInstallation.d.ts +16 -0
- package/build/core/tools/internal/adapters/installation/directInstallation.d.ts.map +1 -0
- package/build/core/tools/internal/adapters/installation/directInstallation.js +103 -0
- package/build/core/tools/internal/adapters/installation/directInstallation.js.map +1 -0
- package/build/core/tools/internal/adapters/installation/packageResolver.d.ts +7 -0
- package/build/core/tools/internal/adapters/installation/packageResolver.d.ts.map +1 -0
- package/build/core/tools/internal/adapters/installation/packageResolver.js +86 -0
- package/build/core/tools/internal/adapters/installation/packageResolver.js.map +1 -0
- package/build/core/tools/internal/adapters/installation/types.d.ts +100 -0
- package/build/core/tools/internal/adapters/installation/types.d.ts.map +1 -0
- package/build/core/tools/internal/adapters/installation/types.js +2 -0
- package/build/core/tools/internal/adapters/installation/types.js.map +1 -0
- package/build/core/tools/internal/adapters/installationAdapter.d.ts +89 -0
- package/build/core/tools/internal/adapters/installationAdapter.d.ts.map +1 -0
- package/build/core/tools/internal/adapters/installationAdapter.js +335 -0
- package/build/core/tools/internal/adapters/installationAdapter.js.map +1 -0
- package/build/core/tools/internal/adapters/management/index.d.ts +5 -0
- package/build/core/tools/internal/adapters/management/index.d.ts.map +1 -0
- package/build/core/tools/internal/adapters/management/index.js +5 -0
- package/build/core/tools/internal/adapters/management/index.js.map +1 -0
- package/build/core/tools/internal/adapters/management/managementAdapter.d.ts +51 -0
- package/build/core/tools/internal/adapters/management/managementAdapter.d.ts.map +1 -0
- package/build/core/tools/internal/adapters/management/managementAdapter.js +402 -0
- package/build/core/tools/internal/adapters/management/managementAdapter.js.map +1 -0
- package/build/core/tools/internal/adapters/management/toolHandlers.d.ts +6 -0
- package/build/core/tools/internal/adapters/management/toolHandlers.d.ts.map +1 -0
- package/build/core/tools/internal/adapters/management/toolHandlers.js +154 -0
- package/build/core/tools/internal/adapters/management/toolHandlers.js.map +1 -0
- package/build/core/tools/internal/adapters/management/types.d.ts +179 -0
- package/build/core/tools/internal/adapters/management/types.d.ts.map +1 -0
- package/build/core/tools/internal/adapters/management/types.js +2 -0
- package/build/core/tools/internal/adapters/management/types.js.map +1 -0
- package/build/core/tools/internal/adapters/management/validation.d.ts +9 -0
- package/build/core/tools/internal/adapters/management/validation.d.ts.map +1 -0
- package/build/core/tools/internal/adapters/management/validation.js +204 -0
- package/build/core/tools/internal/adapters/management/validation.js.map +1 -0
- package/build/core/tools/internal/adapters/validation/configValidation.d.ts +22 -0
- package/build/core/tools/internal/adapters/validation/configValidation.d.ts.map +1 -0
- package/build/core/tools/internal/adapters/validation/configValidation.js +185 -0
- package/build/core/tools/internal/adapters/validation/configValidation.js.map +1 -0
- package/build/core/tools/internal/discoveryHandlers.d.ts +26 -0
- package/build/core/tools/internal/discoveryHandlers.d.ts.map +1 -0
- package/build/core/tools/internal/discoveryHandlers.js +283 -0
- package/build/core/tools/internal/discoveryHandlers.js.map +1 -0
- package/build/core/tools/internal/index.d.ts +279 -0
- package/build/core/tools/internal/index.d.ts.map +1 -0
- package/build/core/tools/internal/index.js +236 -0
- package/build/core/tools/internal/index.js.map +1 -0
- package/build/core/tools/internal/installationHandlers.d.ts +18 -0
- package/build/core/tools/internal/installationHandlers.d.ts.map +1 -0
- package/build/core/tools/internal/installationHandlers.js +314 -0
- package/build/core/tools/internal/installationHandlers.js.map +1 -0
- package/build/core/tools/internal/managementHandlers.d.ts +26 -0
- package/build/core/tools/internal/managementHandlers.d.ts.map +1 -0
- package/build/core/tools/internal/managementHandlers.js +306 -0
- package/build/core/tools/internal/managementHandlers.js.map +1 -0
- package/build/core/tools/internal/schemas/discovery.d.ts +233 -0
- package/build/core/tools/internal/schemas/discovery.d.ts.map +1 -0
- package/build/core/tools/internal/schemas/discovery.js +189 -0
- package/build/core/tools/internal/schemas/discovery.js.map +1 -0
- package/build/core/tools/internal/schemas/edit.d.ts +96 -0
- package/build/core/tools/internal/schemas/edit.d.ts.map +1 -0
- package/build/core/tools/internal/schemas/edit.js +76 -0
- package/build/core/tools/internal/schemas/edit.js.map +1 -0
- package/build/core/tools/internal/schemas/index.d.ts +629 -0
- package/build/core/tools/internal/schemas/index.d.ts.map +1 -0
- package/build/core/tools/internal/schemas/index.js +158 -0
- package/build/core/tools/internal/schemas/index.js.map +1 -0
- package/build/core/tools/internal/schemas/installation.d.ts +210 -0
- package/build/core/tools/internal/schemas/installation.d.ts.map +1 -0
- package/build/core/tools/internal/schemas/installation.js +212 -0
- package/build/core/tools/internal/schemas/installation.js.map +1 -0
- package/build/core/tools/internal/schemas/management.d.ts +232 -0
- package/build/core/tools/internal/schemas/management.d.ts.map +1 -0
- package/build/core/tools/internal/schemas/management.js +188 -0
- package/build/core/tools/internal/schemas/management.js.map +1 -0
- package/build/core/tools/internal/toolHandlers.d.ts +7 -0
- package/build/core/tools/internal/toolHandlers.d.ts.map +1 -0
- package/build/core/tools/internal/toolHandlers.js +8 -0
- package/build/core/tools/internal/toolHandlers.js.map +1 -0
- package/build/core/tools/internal/toolSchemas.d.ts +16 -0
- package/build/core/tools/internal/toolSchemas.d.ts.map +1 -0
- package/build/core/tools/internal/toolSchemas.js +22 -0
- package/build/core/tools/internal/toolSchemas.js.map +1 -0
- package/build/domains/installation/configurators/cliArgsConfigurator.d.ts +7 -0
- package/build/domains/installation/configurators/cliArgsConfigurator.d.ts.map +1 -0
- package/build/domains/installation/configurators/cliArgsConfigurator.js +146 -0
- package/build/domains/installation/configurators/cliArgsConfigurator.js.map +1 -0
- package/build/domains/installation/configurators/envVarConfigurator.d.ts +7 -0
- package/build/domains/installation/configurators/envVarConfigurator.d.ts.map +1 -0
- package/build/domains/installation/configurators/envVarConfigurator.js +122 -0
- package/build/domains/installation/configurators/envVarConfigurator.js.map +1 -0
- package/build/domains/installation/configurators/tagsConfigurator.d.ts +23 -0
- package/build/domains/installation/configurators/tagsConfigurator.d.ts.map +1 -0
- package/build/domains/installation/configurators/tagsConfigurator.js +46 -0
- package/build/domains/installation/configurators/tagsConfigurator.js.map +1 -0
- package/build/domains/installation/index.d.ts +12 -0
- package/build/domains/installation/index.d.ts.map +1 -0
- package/build/domains/installation/index.js +16 -0
- package/build/domains/installation/index.js.map +1 -0
- package/build/domains/installation/metadata/defaultsProvider.d.ts +12 -0
- package/build/domains/installation/metadata/defaultsProvider.d.ts.map +1 -0
- package/build/domains/installation/metadata/defaultsProvider.js +43 -0
- package/build/domains/installation/metadata/defaultsProvider.js.map +1 -0
- package/build/domains/installation/metadata/metadataExtractor.d.ts +11 -0
- package/build/domains/installation/metadata/metadataExtractor.d.ts.map +1 -0
- package/build/domains/installation/metadata/metadataExtractor.js +59 -0
- package/build/domains/installation/metadata/metadataExtractor.js.map +1 -0
- package/build/domains/installation/types.d.ts +27 -0
- package/build/domains/installation/types.d.ts.map +1 -0
- package/build/domains/installation/types.js +5 -0
- package/build/domains/installation/types.js.map +1 -0
- package/build/domains/installation/validators/conflictDetector.d.ts +24 -0
- package/build/domains/installation/validators/conflictDetector.d.ts.map +1 -0
- package/build/domains/installation/validators/conflictDetector.js +41 -0
- package/build/domains/installation/validators/conflictDetector.js.map +1 -0
- package/build/domains/installation/validators/serverNameValidator.d.ts +17 -0
- package/build/domains/installation/validators/serverNameValidator.d.ts.map +1 -0
- package/build/domains/installation/validators/serverNameValidator.js +58 -0
- package/build/domains/installation/validators/serverNameValidator.js.map +1 -0
- package/build/domains/registry/formatters/serverDetailFormatter.js +22 -9
- package/build/domains/registry/formatters/serverDetailFormatter.js.map +1 -1
- package/build/domains/registry/mcpRegistryClient.d.ts.map +1 -1
- package/build/domains/registry/mcpRegistryClient.js +46 -18
- package/build/domains/registry/mcpRegistryClient.js.map +1 -1
- package/build/domains/registry/mcpToolSchemas.d.ts +2 -2
- package/build/domains/registry/mcpToolSchemas.d.ts.map +1 -1
- package/build/domains/registry/mcpToolSchemas.js +1 -1
- package/build/domains/registry/mcpToolSchemas.js.map +1 -1
- package/build/domains/registry/types.d.ts +2 -3
- package/build/domains/registry/types.d.ts.map +1 -1
- package/build/domains/server-management/index.d.ts +11 -0
- package/build/domains/server-management/index.d.ts.map +1 -0
- package/build/domains/server-management/index.js +13 -0
- package/build/domains/server-management/index.js.map +1 -0
- package/build/domains/server-management/progressTrackingService.d.ts +49 -0
- package/build/domains/server-management/progressTrackingService.d.ts.map +1 -0
- package/build/domains/server-management/progressTrackingService.js +102 -0
- package/build/domains/server-management/progressTrackingService.js.map +1 -0
- package/build/domains/server-management/serverInstallationService.d.ts +48 -0
- package/build/domains/server-management/serverInstallationService.d.ts.map +1 -0
- package/build/domains/server-management/serverInstallationService.js +299 -0
- package/build/domains/server-management/serverInstallationService.js.map +1 -0
- package/build/domains/server-management/services/versionResolver.d.ts +36 -0
- package/build/domains/server-management/services/versionResolver.d.ts.map +1 -0
- package/build/domains/server-management/services/versionResolver.js +74 -0
- package/build/domains/server-management/services/versionResolver.js.map +1 -0
- package/build/domains/server-management/types.d.ts +215 -0
- package/build/domains/server-management/types.d.ts.map +1 -0
- package/build/domains/server-management/types.js +28 -0
- package/build/domains/server-management/types.js.map +1 -0
- package/build/server.d.ts +1 -1
- package/build/server.d.ts.map +1 -1
- package/build/server.js +18 -12
- package/build/server.js.map +1 -1
- package/build/transport/http/middlewares/mcpAvailabilityMiddleware.js +2 -2
- package/build/transport/http/middlewares/mcpAvailabilityMiddleware.js.map +1 -1
- package/build/utils/schemaUtils.d.ts +25 -0
- package/build/utils/schemaUtils.d.ts.map +1 -0
- package/build/utils/schemaUtils.js +43 -0
- package/build/utils/schemaUtils.js.map +1 -0
- package/package.json +5 -4
- package/build/application/services/configReloadService.d.ts +0 -55
- package/build/application/services/configReloadService.d.ts.map +0 -1
- package/build/application/services/configReloadService.js +0 -195
- package/build/application/services/configReloadService.js.map +0 -1
- package/build/commands/mcp/utils/configUtils.d.ts +0 -71
- package/build/commands/mcp/utils/configUtils.d.ts.map +0 -1
- package/build/commands/mcp/utils/configUtils.js +0 -326
- package/build/commands/mcp/utils/configUtils.js.map +0 -1
- package/build/commands/shared/configUtils.d.ts.map +0 -1
- package/build/commands/shared/configUtils.js.map +0 -1
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import logger from '../../../logger/logger.js';
|
|
2
|
+
import boxen from 'boxen';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import prompts from 'prompts';
|
|
5
|
+
import { askInstallAnother, collectConfiguration } from '../wizard/configuration.js';
|
|
6
|
+
import { showConfirmation, showStepIndicator, showWelcome } from '../wizard/display.js';
|
|
7
|
+
import { cleanup } from '../wizard/navigation.js';
|
|
8
|
+
import { confirmServerId, searchServers } from '../wizard/search.js';
|
|
9
|
+
import { selectFromResults } from '../wizard/selection.js';
|
|
10
|
+
/**
|
|
11
|
+
* Interactive installation wizard for MCP servers
|
|
12
|
+
*/
|
|
13
|
+
export class InstallWizard {
|
|
14
|
+
registryClient;
|
|
15
|
+
constructor(registryClient) {
|
|
16
|
+
this.registryClient = registryClient;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Run the complete interactive installation wizard
|
|
20
|
+
*/
|
|
21
|
+
async run(initialServerId, existingServerNames = []) {
|
|
22
|
+
try {
|
|
23
|
+
// Show welcome screen with controls
|
|
24
|
+
showWelcome();
|
|
25
|
+
let serverId = initialServerId;
|
|
26
|
+
let selectedServer;
|
|
27
|
+
// Step 1: Get server (search or use provided ID)
|
|
28
|
+
if (!serverId) {
|
|
29
|
+
const searchResult = await searchServers(this.registryClient, showStepIndicator, selectFromResults);
|
|
30
|
+
if (searchResult.cancelled) {
|
|
31
|
+
return this.cancelledResult();
|
|
32
|
+
}
|
|
33
|
+
selectedServer = searchResult.server;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
// Confirm provided server ID
|
|
37
|
+
const confirmed = await confirmServerId(serverId);
|
|
38
|
+
if (!confirmed) {
|
|
39
|
+
return this.cancelledResult();
|
|
40
|
+
}
|
|
41
|
+
// Fetch server details
|
|
42
|
+
try {
|
|
43
|
+
selectedServer = await this.registryClient.getServerById(serverId);
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
logger.error('Failed to fetch server details', { serverId, error });
|
|
47
|
+
console.log(boxen(chalk.red.bold(`❌ Server '${serverId}' not found in registry`), {
|
|
48
|
+
padding: 1,
|
|
49
|
+
borderStyle: 'round',
|
|
50
|
+
borderColor: 'red',
|
|
51
|
+
}));
|
|
52
|
+
return this.cancelledResult();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (!selectedServer) {
|
|
56
|
+
return this.cancelledResult();
|
|
57
|
+
}
|
|
58
|
+
// Step 2: Configuration prompts
|
|
59
|
+
let config = await collectConfiguration(selectedServer, existingServerNames);
|
|
60
|
+
if (config.cancelled) {
|
|
61
|
+
return this.cancelledResult();
|
|
62
|
+
}
|
|
63
|
+
// Step 3: Confirmation summary (with back navigation)
|
|
64
|
+
while (true) {
|
|
65
|
+
showConfirmation(selectedServer, config);
|
|
66
|
+
const result = await prompts({
|
|
67
|
+
type: 'toggle',
|
|
68
|
+
name: 'confirmed',
|
|
69
|
+
message: 'Proceed with installation?',
|
|
70
|
+
initial: true,
|
|
71
|
+
active: 'yes',
|
|
72
|
+
inactive: 'go back',
|
|
73
|
+
});
|
|
74
|
+
// If user cancelled (Ctrl+C)
|
|
75
|
+
if (result.confirmed === undefined) {
|
|
76
|
+
return this.cancelledResult();
|
|
77
|
+
}
|
|
78
|
+
// If user selected "go back" (toggled to false)
|
|
79
|
+
if (result.confirmed === false) {
|
|
80
|
+
// Go back to configuration step
|
|
81
|
+
const newConfig = await collectConfiguration(selectedServer, existingServerNames);
|
|
82
|
+
if (newConfig.cancelled) {
|
|
83
|
+
return this.cancelledResult();
|
|
84
|
+
}
|
|
85
|
+
config = newConfig;
|
|
86
|
+
continue; // Show confirmation again with new config
|
|
87
|
+
}
|
|
88
|
+
// Confirmed - proceed to next step
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
// Step 4: Ask to install another
|
|
92
|
+
const installAnother = await askInstallAnother();
|
|
93
|
+
// If not installing another, cleanup now
|
|
94
|
+
if (!installAnother) {
|
|
95
|
+
cleanup();
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
serverId: selectedServer.name,
|
|
99
|
+
version: config.version,
|
|
100
|
+
localName: config.localName,
|
|
101
|
+
tags: config.tags,
|
|
102
|
+
env: config.env,
|
|
103
|
+
args: config.args,
|
|
104
|
+
installAnother,
|
|
105
|
+
cancelled: false,
|
|
106
|
+
forceOverride: config.forceOverride,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
logger.error('Wizard failed', { error });
|
|
111
|
+
console.log(boxen(chalk.red.bold('❌ Installation wizard failed - see logs for details'), {
|
|
112
|
+
padding: 1,
|
|
113
|
+
borderStyle: 'round',
|
|
114
|
+
borderColor: 'red',
|
|
115
|
+
}));
|
|
116
|
+
cleanup();
|
|
117
|
+
return this.cancelledResult();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Cleanup wizard resources
|
|
122
|
+
*/
|
|
123
|
+
cleanup() {
|
|
124
|
+
cleanup();
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Create a cancelled result
|
|
128
|
+
*/
|
|
129
|
+
cancelledResult() {
|
|
130
|
+
return {
|
|
131
|
+
serverId: '',
|
|
132
|
+
cancelled: true,
|
|
133
|
+
installAnother: false,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=installWizard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installWizard.js","sourceRoot":"","sources":["../../../../src/commands/mcp/utils/installWizard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export * from '../../../commands/shared/baseConfigUtils.js';
|
|
2
|
+
/**
|
|
3
|
+
* Set installation metadata for a server
|
|
4
|
+
*/
|
|
5
|
+
export declare function setInstallationMetadata(serverName: string, metadata: {
|
|
6
|
+
version: string;
|
|
7
|
+
registryId?: string;
|
|
8
|
+
installedBy?: string;
|
|
9
|
+
}): void;
|
|
10
|
+
/**
|
|
11
|
+
* Update installation metadata for a server
|
|
12
|
+
*/
|
|
13
|
+
export declare function updateInstallationMetadata(serverName: string, updates: {
|
|
14
|
+
version?: string;
|
|
15
|
+
}): void;
|
|
16
|
+
/**
|
|
17
|
+
* Get installation metadata for a server
|
|
18
|
+
* Returns metadata about when and how the server was installed
|
|
19
|
+
*/
|
|
20
|
+
export declare function getInstallationMetadata(serverName: string): {
|
|
21
|
+
installedAt?: Date;
|
|
22
|
+
installedBy?: string;
|
|
23
|
+
version?: string;
|
|
24
|
+
registryId?: string;
|
|
25
|
+
lastUpdated?: Date;
|
|
26
|
+
} | null;
|
|
27
|
+
/**
|
|
28
|
+
* Remove installation metadata for a server
|
|
29
|
+
*/
|
|
30
|
+
export declare function removeInstallationMetadata(serverName: string): void;
|
|
31
|
+
//# sourceMappingURL=mcpServerConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpServerConfig.d.ts","sourceRoot":"","sources":["../../../../src/commands/mcp/utils/mcpServerConfig.ts"],"names":[],"mappings":"AAKA,cAAc,yCAAyC,CAAC;AAexD;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE;IACR,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,IAAI,CAiBN;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IACP,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACA,IAAI,CAmBN;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG;IAC3D,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB,GAAG,IAAI,CAmBP;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAQnE"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { getServer, setServer } from '../../../commands/shared/baseConfigUtils.js';
|
|
2
|
+
import logger from '../../../logger/logger.js';
|
|
3
|
+
// Import all core configuration utilities from baseConfigUtils
|
|
4
|
+
export * from '../../../commands/shared/baseConfigUtils.js';
|
|
5
|
+
/**
|
|
6
|
+
* Set installation metadata for a server
|
|
7
|
+
*/
|
|
8
|
+
export function setInstallationMetadata(serverName, metadata) {
|
|
9
|
+
const server = getServer(serverName);
|
|
10
|
+
if (!server) {
|
|
11
|
+
logger.warn(`Cannot set metadata for non-existent server: ${serverName}`);
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const serverWithMetadata = server;
|
|
15
|
+
serverWithMetadata._metadata = {
|
|
16
|
+
installedAt: new Date().toISOString(),
|
|
17
|
+
version: metadata.version,
|
|
18
|
+
registryId: metadata.registryId,
|
|
19
|
+
installedBy: metadata.installedBy,
|
|
20
|
+
lastUpdated: new Date().toISOString(),
|
|
21
|
+
};
|
|
22
|
+
setServer(serverName, serverWithMetadata);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Update installation metadata for a server
|
|
26
|
+
*/
|
|
27
|
+
export function updateInstallationMetadata(serverName, updates) {
|
|
28
|
+
const server = getServer(serverName);
|
|
29
|
+
if (!server) {
|
|
30
|
+
logger.warn(`Cannot update metadata for non-existent server: ${serverName}`);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
if (!server._metadata) {
|
|
34
|
+
logger.warn(`No metadata found for server: ${serverName}`);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
server._metadata = {
|
|
38
|
+
...server._metadata,
|
|
39
|
+
...updates,
|
|
40
|
+
lastUpdated: new Date().toISOString(),
|
|
41
|
+
};
|
|
42
|
+
setServer(serverName, server);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Get installation metadata for a server
|
|
46
|
+
* Returns metadata about when and how the server was installed
|
|
47
|
+
*/
|
|
48
|
+
export function getInstallationMetadata(serverName) {
|
|
49
|
+
try {
|
|
50
|
+
const server = getServer(serverName);
|
|
51
|
+
if (!server || !server._metadata) {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
const metadata = server._metadata;
|
|
55
|
+
return {
|
|
56
|
+
installedAt: new Date(metadata.installedAt),
|
|
57
|
+
installedBy: metadata.installedBy,
|
|
58
|
+
version: metadata.version,
|
|
59
|
+
registryId: metadata.registryId,
|
|
60
|
+
lastUpdated: metadata.lastUpdated ? new Date(metadata.lastUpdated) : undefined,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
logger.error(`Failed to get installation metadata for ${serverName}: ${error}`);
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Remove installation metadata for a server
|
|
70
|
+
*/
|
|
71
|
+
export function removeInstallationMetadata(serverName) {
|
|
72
|
+
const server = getServer(serverName);
|
|
73
|
+
if (!server) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
delete server._metadata;
|
|
77
|
+
setServer(serverName, server);
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=mcpServerConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpServerConfig.js","sourceRoot":"","sources":["../../../../src/commands/mcp/utils/mcpServerConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAE/E,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAE3C,+DAA+D;AAC/D,cAAc,yCAAyC,CAAC;AAexD;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAAkB,EAClB,QAIC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,gDAAgD,UAAU,EAAE,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,MAAM,kBAAkB,GAAG,MAAqC,CAAC;IACjE,kBAAkB,CAAC,SAAS,GAAG;QAC7B,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACtC,CAAC;IAEF,SAAS,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAAkB,EAClB,OAEC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAgC,CAAC;IACpE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,mDAAmD,UAAU,EAAE,CAAC,CAAC;QAC7E,OAAO;IACT,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,CAAC,SAAS,GAAG;QACjB,GAAG,MAAM,CAAC,SAAS;QACnB,GAAG,OAAO;QACV,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACtC,CAAC;IAEF,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAkB;IAOxD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAgC,CAAC;QACpE,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,OAAO;YACL,WAAW,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC3C,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SAC/E,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,2CAA2C,UAAU,KAAK,KAAK,EAAE,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,UAAkB;IAC3D,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAgC,CAAC;IACpE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,OAAO,MAAM,CAAC,SAAS,CAAC;IACxB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { InstallationStatus } from '../../../domains/server-management/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Server utility functions for validation and management
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Parse server name and version from input string
|
|
7
|
+
* Supports formats: "server-name", "server-name@1.0.0"
|
|
8
|
+
*/
|
|
9
|
+
export declare function parseServerNameVersion(input: string): {
|
|
10
|
+
name: string;
|
|
11
|
+
version?: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Validate server name format
|
|
15
|
+
* Must be unique within the configuration, match regex, and be 1-50 characters
|
|
16
|
+
*/
|
|
17
|
+
export declare function validateServerName(name: string): void;
|
|
18
|
+
/**
|
|
19
|
+
* Validate version format (semantic versioning)
|
|
20
|
+
*/
|
|
21
|
+
export declare function validateVersion(version: string): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Calculate server installation status
|
|
24
|
+
* Determines current state based on installed version and available updates
|
|
25
|
+
*/
|
|
26
|
+
export declare function calculateServerStatus(installedVersion: string, latestVersion?: string): InstallationStatus;
|
|
27
|
+
/**
|
|
28
|
+
* Check if server process is currently in use
|
|
29
|
+
* This checks if server processes are currently running or have recent connections
|
|
30
|
+
*/
|
|
31
|
+
export declare function checkServerInUse(serverName: string): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Generate a unique operation ID for tracking progress
|
|
34
|
+
*/
|
|
35
|
+
export declare function generateOperationId(): string;
|
|
36
|
+
/**
|
|
37
|
+
* Sanitize server name for use in file paths
|
|
38
|
+
*/
|
|
39
|
+
export declare function sanitizeServerNameForPath(name: string): string;
|
|
40
|
+
//# sourceMappingURL=serverUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverUtils.d.ts","sourceRoot":"","sources":["../../../../src/commands/mcp/utils/serverUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAG7E;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAcxF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAcrD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAU1G;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CA8B5D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9D"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { ServerManager } from '../../../core/server/serverManager.js';
|
|
2
|
+
import { InstallationStatus } from '../../../domains/server-management/types.js';
|
|
3
|
+
import logger from '../../../logger/logger.js';
|
|
4
|
+
/**
|
|
5
|
+
* Server utility functions for validation and management
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Parse server name and version from input string
|
|
9
|
+
* Supports formats: "server-name", "server-name@1.0.0"
|
|
10
|
+
*/
|
|
11
|
+
export function parseServerNameVersion(input) {
|
|
12
|
+
const atIndex = input.lastIndexOf('@');
|
|
13
|
+
if (atIndex === -1) {
|
|
14
|
+
return { name: input };
|
|
15
|
+
}
|
|
16
|
+
const name = input.substring(0, atIndex);
|
|
17
|
+
const version = input.substring(atIndex + 1);
|
|
18
|
+
if (!name) {
|
|
19
|
+
throw new Error('Server name cannot be empty');
|
|
20
|
+
}
|
|
21
|
+
return { name, version };
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Validate server name format
|
|
25
|
+
* Must be unique within the configuration, match regex, and be 1-50 characters
|
|
26
|
+
*/
|
|
27
|
+
export function validateServerName(name) {
|
|
28
|
+
if (!name || name.length === 0) {
|
|
29
|
+
throw new Error('Server name cannot be empty');
|
|
30
|
+
}
|
|
31
|
+
if (name.length > 50) {
|
|
32
|
+
throw new Error('Server name must be 50 characters or less');
|
|
33
|
+
}
|
|
34
|
+
// Must start with letter, followed by letters, numbers, underscores, or hyphens
|
|
35
|
+
const nameRegex = /^[a-zA-Z][a-zA-Z0-9_-]*$/;
|
|
36
|
+
if (!nameRegex.test(name)) {
|
|
37
|
+
throw new Error('Server name must start with a letter and contain only letters, numbers, underscores, or hyphens');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Validate version format (semantic versioning)
|
|
42
|
+
*/
|
|
43
|
+
export function validateVersion(version) {
|
|
44
|
+
const versionRegex = /^\d+\.\d+\.\d+(-[a-zA-Z0-9]+)?$/;
|
|
45
|
+
return versionRegex.test(version);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Calculate server installation status
|
|
49
|
+
* Determines current state based on installed version and available updates
|
|
50
|
+
*/
|
|
51
|
+
export function calculateServerStatus(installedVersion, latestVersion) {
|
|
52
|
+
if (!installedVersion) {
|
|
53
|
+
return InstallationStatus.NOT_INSTALLED;
|
|
54
|
+
}
|
|
55
|
+
if (latestVersion && installedVersion !== latestVersion) {
|
|
56
|
+
return InstallationStatus.OUTDATED;
|
|
57
|
+
}
|
|
58
|
+
return InstallationStatus.INSTALLED;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Check if server process is currently in use
|
|
62
|
+
* This checks if server processes are currently running or have recent connections
|
|
63
|
+
*/
|
|
64
|
+
export function checkServerInUse(serverName) {
|
|
65
|
+
logger.debug(`Checking if server ${serverName} is in use`);
|
|
66
|
+
try {
|
|
67
|
+
// Get ServerManager instance if it exists
|
|
68
|
+
const serverManager = ServerManager.current;
|
|
69
|
+
// Check if server has an active outbound connection
|
|
70
|
+
// Use getClient which is the actual method name in ServerManager
|
|
71
|
+
const connection = serverManager.getClient(serverName);
|
|
72
|
+
if (connection) {
|
|
73
|
+
logger.debug(`Server ${serverName} has an active client connection`);
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
// Check all outbound connections for this server name
|
|
77
|
+
// Use getClients which returns all outbound connections
|
|
78
|
+
const allConnections = serverManager.getClients();
|
|
79
|
+
if (allConnections && allConnections.has(serverName)) {
|
|
80
|
+
logger.debug(`Server ${serverName} is in outbound connections map`);
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
catch (_error) {
|
|
86
|
+
// If ServerManager is not initialized, server is not in use
|
|
87
|
+
logger.debug(`ServerManager not initialized or not accessible`);
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Generate a unique operation ID for tracking progress
|
|
93
|
+
*/
|
|
94
|
+
export function generateOperationId() {
|
|
95
|
+
return `op_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Sanitize server name for use in file paths
|
|
99
|
+
*/
|
|
100
|
+
export function sanitizeServerNameForPath(name) {
|
|
101
|
+
return name.replace(/[^a-zA-Z0-9_-]/g, '_');
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=serverUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverUtils.js","sourceRoot":"","sources":["../../../../src/commands/mcp/utils/serverUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { RegistryServer } from '../../../../domains/registry/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Render search results list with highlighted selection
|
|
4
|
+
*/
|
|
5
|
+
export declare function renderResultsList(results: RegistryServer[], currentIndex: number): void;
|
|
6
|
+
/**
|
|
7
|
+
* Format server details for display
|
|
8
|
+
*/
|
|
9
|
+
export declare function formatServerDetails(server: RegistryServer): string;
|
|
10
|
+
/**
|
|
11
|
+
* Display detailed information about a server
|
|
12
|
+
*/
|
|
13
|
+
export declare function displayServerDetails(server: RegistryServer): void;
|
|
14
|
+
//# sourceMappingURL=serverDetailsDisplay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverDetailsDisplay.d.ts","sourceRoot":"","sources":["../../../../../src/commands/mcp/wizard/components/serverDetailsDisplay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAKrE;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAiCvF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CASlE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAYjE"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import boxen from 'boxen';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
/**
|
|
4
|
+
* Render search results list with highlighted selection
|
|
5
|
+
*/
|
|
6
|
+
export function renderResultsList(results, currentIndex) {
|
|
7
|
+
const header = boxen(chalk.cyan.bold(`📦 Search Results (${results.length} found)\n\n`) +
|
|
8
|
+
chalk.gray('Controls: ↑↓ Navigate → Details Enter Select ← Back Esc Cancel'), {
|
|
9
|
+
padding: 1,
|
|
10
|
+
borderStyle: 'double',
|
|
11
|
+
borderColor: 'cyan',
|
|
12
|
+
title: 'Select Server',
|
|
13
|
+
titleAlignment: 'center',
|
|
14
|
+
});
|
|
15
|
+
console.log(header);
|
|
16
|
+
const listContent = results
|
|
17
|
+
.map((server, index) => {
|
|
18
|
+
const isSelected = index === currentIndex;
|
|
19
|
+
const cursor = isSelected ? chalk.yellow.bold('►') : ' ';
|
|
20
|
+
const nameStyle = isSelected ? chalk.bgGray.white.bold : chalk.white;
|
|
21
|
+
const description = server.description?.substring(0, 60) || 'No description';
|
|
22
|
+
const descStyle = isSelected ? chalk.gray : chalk.dim;
|
|
23
|
+
return `${cursor} ${nameStyle(server.name)}\n ${descStyle(description)}`;
|
|
24
|
+
})
|
|
25
|
+
.join('\n\n');
|
|
26
|
+
console.log(boxen(listContent, {
|
|
27
|
+
padding: 1,
|
|
28
|
+
borderStyle: 'round',
|
|
29
|
+
borderColor: 'blue',
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Format server details for display
|
|
34
|
+
*/
|
|
35
|
+
export function formatServerDetails(server) {
|
|
36
|
+
return (chalk.blue.bold(`📋 ${server.name}\n\n`) +
|
|
37
|
+
chalk.yellow.bold('Description:\n') +
|
|
38
|
+
chalk.white(`${server.description || 'No description available'}\n\n`) +
|
|
39
|
+
(server.websiteUrl ? chalk.yellow.bold('Website:\n') + chalk.cyan(`${server.websiteUrl}\n\n`) : '') +
|
|
40
|
+
(server.repository?.url ? chalk.yellow.bold('Repository:\n') + chalk.cyan(`${server.repository.url}\n\n`) : '') +
|
|
41
|
+
chalk.gray('Press any key to return...'));
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Display detailed information about a server
|
|
45
|
+
*/
|
|
46
|
+
export function displayServerDetails(server) {
|
|
47
|
+
const content = formatServerDetails(server);
|
|
48
|
+
console.log(boxen(content, {
|
|
49
|
+
padding: 1,
|
|
50
|
+
borderStyle: 'round',
|
|
51
|
+
borderColor: 'blue',
|
|
52
|
+
title: '🔍 Server Details',
|
|
53
|
+
titleAlignment: 'center',
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=serverDetailsDisplay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverDetailsDisplay.js","sourceRoot":"","sources":["../../../../../src/commands/mcp/wizard/components/serverDetailsDisplay.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Show wizard step progress indicator
|
|
3
|
+
* @param currentStep Current step number (1-5)
|
|
4
|
+
* @param skipClear Whether to skip clearing console (useful when preserving logs)
|
|
5
|
+
*/
|
|
6
|
+
export declare function showStepIndicator(currentStep: number, skipClear?: boolean): void;
|
|
7
|
+
/**
|
|
8
|
+
* Get total number of wizard steps
|
|
9
|
+
*/
|
|
10
|
+
export declare function getTotalSteps(): number;
|
|
11
|
+
//# sourceMappingURL=stepIndicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepIndicator.d.ts","sourceRoot":"","sources":["../../../../../src/commands/mcp/wizard/components/stepIndicator.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,IAAI,CAwB9E;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import boxen from 'boxen';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
const WIZARD_STEPS = ['Search', 'Select', 'Configure', 'Confirm', 'Install'];
|
|
4
|
+
/**
|
|
5
|
+
* Show wizard step progress indicator
|
|
6
|
+
* @param currentStep Current step number (1-5)
|
|
7
|
+
* @param skipClear Whether to skip clearing console (useful when preserving logs)
|
|
8
|
+
*/
|
|
9
|
+
export function showStepIndicator(currentStep, skipClear = false) {
|
|
10
|
+
if (!skipClear) {
|
|
11
|
+
console.clear();
|
|
12
|
+
}
|
|
13
|
+
const stepBar = WIZARD_STEPS.map((step, index) => {
|
|
14
|
+
const num = index + 1;
|
|
15
|
+
if (num < currentStep) {
|
|
16
|
+
return chalk.green(`✓ ${step}`);
|
|
17
|
+
}
|
|
18
|
+
else if (num === currentStep) {
|
|
19
|
+
return chalk.cyan.bold(`► ${step}`);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return chalk.gray(`○ ${step}`);
|
|
23
|
+
}
|
|
24
|
+
}).join(chalk.gray(' → '));
|
|
25
|
+
console.log(boxen(stepBar, {
|
|
26
|
+
padding: { left: 2, right: 2, top: 0, bottom: 0 },
|
|
27
|
+
borderStyle: 'single',
|
|
28
|
+
borderColor: 'gray',
|
|
29
|
+
}));
|
|
30
|
+
console.log('');
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get total number of wizard steps
|
|
34
|
+
*/
|
|
35
|
+
export function getTotalSteps() {
|
|
36
|
+
return WIZARD_STEPS.length;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=stepIndicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepIndicator.js","sourceRoot":"","sources":["../../../../../src/commands/mcp/wizard/components/stepIndicator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;AAEtF;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB,EAAE,SAAS,GAAG,KAAK;IACtE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC/C,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;QACtB,IAAI,GAAG,GAAG,WAAW,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE3B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,OAAO,EAAE;QACb,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QACjD,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,MAAM;KACpB,CAAC,CACH,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,YAAY,CAAC,MAAM,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"welcomeScreen.d.ts","sourceRoot":"","sources":["../../../../../src/commands/mcp/wizard/components/welcomeScreen.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAsBxC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import boxen from 'boxen';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
/**
|
|
4
|
+
* Show welcome screen with wizard instructions and key bindings
|
|
5
|
+
*/
|
|
6
|
+
export function showWelcomeScreen() {
|
|
7
|
+
const welcomeContent = chalk.magenta.bold('🚀 MCP Server Installation Wizard\n\n') +
|
|
8
|
+
chalk.yellow('This wizard will guide you through installing an MCP server.\n\n') +
|
|
9
|
+
chalk.cyan.bold('Navigation Keys:\n') +
|
|
10
|
+
chalk.gray(' ↑/↓ - Navigate options\n') +
|
|
11
|
+
chalk.gray(' ← - Go back\n') +
|
|
12
|
+
chalk.gray(' → - View details\n') +
|
|
13
|
+
chalk.gray(' Tab - Next step\n') +
|
|
14
|
+
chalk.gray(' Enter - Confirm\n') +
|
|
15
|
+
chalk.gray(' Ctrl+C - Cancel');
|
|
16
|
+
console.log(boxen(welcomeContent, {
|
|
17
|
+
padding: 1,
|
|
18
|
+
margin: 1,
|
|
19
|
+
borderStyle: 'double',
|
|
20
|
+
borderColor: 'cyan',
|
|
21
|
+
title: 'Install Wizard',
|
|
22
|
+
titleAlignment: 'center',
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=welcomeScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"welcomeScreen.js","sourceRoot":"","sources":["../../../../../src/commands/mcp/wizard/components/welcomeScreen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,cAAc,GAClB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC;QAC3D,KAAK,CAAC,MAAM,CAAC,kEAAkE,CAAC;QAChF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAEnC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,cAAc,EAAE;QACpB,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,CAAC;QACT,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,MAAM;QACnB,KAAK,EAAE,gBAAgB;QACvB,cAAc,EAAE,QAAQ;KACzB,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { RegistryServer } from '../../../domains/registry/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration collection result
|
|
4
|
+
*/
|
|
5
|
+
export interface ConfigurationResult {
|
|
6
|
+
version?: string;
|
|
7
|
+
localName?: string;
|
|
8
|
+
tags?: string[];
|
|
9
|
+
env?: Record<string, string>;
|
|
10
|
+
args?: string[];
|
|
11
|
+
cancelled: boolean;
|
|
12
|
+
goBack?: boolean;
|
|
13
|
+
forceOverride?: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Collect configuration (tags, env, args)
|
|
17
|
+
*/
|
|
18
|
+
export declare function collectConfiguration(server: RegistryServer, existingNames?: string[]): Promise<ConfigurationResult>;
|
|
19
|
+
/**
|
|
20
|
+
* Configure environment variables interactively
|
|
21
|
+
*/
|
|
22
|
+
export declare function configureEnvVars(server: RegistryServer): Promise<Record<string, string> | null>;
|
|
23
|
+
/**
|
|
24
|
+
* Configure runtime arguments interactively
|
|
25
|
+
*/
|
|
26
|
+
export declare function configureArgs(server: RegistryServer): Promise<string[] | null>;
|
|
27
|
+
/**
|
|
28
|
+
* Ask if user wants to install another server
|
|
29
|
+
*/
|
|
30
|
+
export declare function askInstallAnother(): Promise<boolean>;
|
|
31
|
+
//# sourceMappingURL=configuration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../../../src/commands/mcp/wizard/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAShE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,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;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,cAAc,EACtB,aAAa,GAAE,MAAM,EAAO,GAC3B,OAAO,CAAC,mBAAmB,CAAC,CAgH9B;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAoIrG;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAwIpF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAgB1D"}
|