@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.
- 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.d.ts.map +1 -1
- package/build/constants/mcp.js +3 -7
- package/build/constants/mcp.js.map +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 +25 -6
- 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 +59 -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 +36 -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 +69 -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,146 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import prompts from 'prompts';
|
|
3
|
+
/**
|
|
4
|
+
* Configure CLI runtime arguments interactively
|
|
5
|
+
* Prompts user to select which arguments to configure and collects their values
|
|
6
|
+
*/
|
|
7
|
+
export async function configureCliArgs(argMetadata) {
|
|
8
|
+
if (argMetadata.length === 0) {
|
|
9
|
+
// No args defined, ask if user wants to add any manually
|
|
10
|
+
const addManual = await prompts({
|
|
11
|
+
type: 'confirm',
|
|
12
|
+
name: 'add',
|
|
13
|
+
message: 'No runtime arguments defined. Add any manually?',
|
|
14
|
+
initial: false,
|
|
15
|
+
});
|
|
16
|
+
if (addManual.add === undefined) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
if (!addManual.add) {
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
// Allow manual input
|
|
23
|
+
const manualInput = await prompts({
|
|
24
|
+
type: 'text',
|
|
25
|
+
name: 'args',
|
|
26
|
+
message: 'Arguments (comma-separated):',
|
|
27
|
+
initial: '',
|
|
28
|
+
});
|
|
29
|
+
if (manualInput.args === undefined) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
const argsValue = String(manualInput.args).trim();
|
|
33
|
+
if (!argsValue) {
|
|
34
|
+
return [];
|
|
35
|
+
}
|
|
36
|
+
// Try to parse as JSON first
|
|
37
|
+
try {
|
|
38
|
+
const parsed = JSON.parse(argsValue);
|
|
39
|
+
if (Array.isArray(parsed)) {
|
|
40
|
+
return parsed.map((a) => String(a).trim()).filter((a) => a.length > 0);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
// If not valid JSON, treat as comma-separated
|
|
45
|
+
}
|
|
46
|
+
return argsValue
|
|
47
|
+
.split(',')
|
|
48
|
+
.map((a) => a.trim())
|
|
49
|
+
.filter((a) => a.length > 0);
|
|
50
|
+
}
|
|
51
|
+
// Show summary of available args
|
|
52
|
+
console.log(chalk.cyan.bold('\n⚙️ Available Runtime Arguments:'));
|
|
53
|
+
console.log(chalk.gray(` Found ${argMetadata.length} runtime arguments\n`));
|
|
54
|
+
// Ask if user wants to configure any
|
|
55
|
+
const wantsToConfigure = await prompts({
|
|
56
|
+
type: 'confirm',
|
|
57
|
+
name: 'value',
|
|
58
|
+
message: `Configure runtime arguments?`,
|
|
59
|
+
initial: argMetadata.some((a) => a.isRequired),
|
|
60
|
+
});
|
|
61
|
+
if (wantsToConfigure.value === undefined) {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
if (!wantsToConfigure.value) {
|
|
65
|
+
// Use defaults only for required args, otherwise return null
|
|
66
|
+
const defaults = argMetadata.filter((a) => a.isRequired && a.default).map((a) => `${a.name}=${a.default}`);
|
|
67
|
+
return defaults.length > 0 ? defaults : null;
|
|
68
|
+
}
|
|
69
|
+
// Let user select which args to configure
|
|
70
|
+
const choices = argMetadata.map((arg) => {
|
|
71
|
+
const required = arg.isRequired ? chalk.red('*required') : '';
|
|
72
|
+
const name = arg.name || 'argument';
|
|
73
|
+
const title = `${name} ${required}`;
|
|
74
|
+
const description = arg.description || '';
|
|
75
|
+
return {
|
|
76
|
+
title,
|
|
77
|
+
description,
|
|
78
|
+
value: arg.name || '',
|
|
79
|
+
selected: arg.isRequired || false, // Pre-select required args
|
|
80
|
+
};
|
|
81
|
+
});
|
|
82
|
+
const selection = await prompts({
|
|
83
|
+
type: 'multiselect',
|
|
84
|
+
name: 'selected',
|
|
85
|
+
message: 'Select runtime arguments to configure (use space to select, enter to confirm):',
|
|
86
|
+
choices,
|
|
87
|
+
hint: '- Space to select. Enter to submit',
|
|
88
|
+
instructions: false,
|
|
89
|
+
});
|
|
90
|
+
if (selection.selected === undefined) {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
const selectedNames = selection.selected;
|
|
94
|
+
if (selectedNames.length === 0) {
|
|
95
|
+
return [];
|
|
96
|
+
}
|
|
97
|
+
// Prompt for each selected arg
|
|
98
|
+
console.log(chalk.cyan.bold('\n📝 Configure Selected Arguments:\n'));
|
|
99
|
+
const args = [];
|
|
100
|
+
for (const name of selectedNames) {
|
|
101
|
+
const arg = argMetadata.find((a) => a.name === name);
|
|
102
|
+
if (!arg || !arg.name)
|
|
103
|
+
continue;
|
|
104
|
+
let result;
|
|
105
|
+
if (arg.choices && arg.choices.length > 0) {
|
|
106
|
+
result = await prompts({
|
|
107
|
+
type: 'select',
|
|
108
|
+
name: arg.name,
|
|
109
|
+
message: `${arg.name}${arg.isRequired ? chalk.red(' *') : ''}:${arg.description ? `\n ${chalk.gray(arg.description)}` : ''}`,
|
|
110
|
+
choices: arg.choices.map((c) => ({ title: c, value: c })),
|
|
111
|
+
initial: arg.default ? arg.choices.indexOf(arg.default) : 0,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
result = await prompts({
|
|
116
|
+
type: 'text',
|
|
117
|
+
name: arg.name,
|
|
118
|
+
message: `${arg.name}${arg.isRequired ? chalk.red(' *') : ''}:${arg.description ? `\n ${chalk.gray(arg.description)}` : ''}`,
|
|
119
|
+
initial: arg.default || '',
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
const value = String(result[arg.name]).trim();
|
|
123
|
+
// Handle undefined values - if there's a default, use it
|
|
124
|
+
if (result[arg.name] === undefined) {
|
|
125
|
+
if (arg.default) {
|
|
126
|
+
args.push(`${arg.name}=${arg.default}`);
|
|
127
|
+
}
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
if (value && value !== '') {
|
|
131
|
+
// Format as name=value for CLI args (non-empty values)
|
|
132
|
+
args.push(`${arg.name}=${value}`);
|
|
133
|
+
}
|
|
134
|
+
else if (arg.isRequired && arg.default) {
|
|
135
|
+
// Required arg with empty value should use default
|
|
136
|
+
console.log(chalk.yellow(`⚠️ ${arg.name} is required, using default value`));
|
|
137
|
+
args.push(`${arg.name}=${arg.default}`);
|
|
138
|
+
}
|
|
139
|
+
else if (value === '') {
|
|
140
|
+
// Optional arg with empty value should be included as empty string
|
|
141
|
+
args.push(`${arg.name}=${value}`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return args;
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=cliArgsConfigurator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliArgsConfigurator.js","sourceRoot":"","sources":["../../../../src/domains/installation/configurators/cliArgsConfigurator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { EnvVarMetadata } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Configure environment variables interactively
|
|
4
|
+
* Prompts user to select which env vars to configure and collects their values
|
|
5
|
+
*/
|
|
6
|
+
export declare function configureEnvVars(envVarMetadata: EnvVarMetadata[]): Promise<Record<string, string> | null>;
|
|
7
|
+
//# sourceMappingURL=envVarConfigurator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envVarConfigurator.d.ts","sourceRoot":"","sources":["../../../../src/domains/installation/configurators/envVarConfigurator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,cAAc,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAkI/G"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import prompts from 'prompts';
|
|
3
|
+
/**
|
|
4
|
+
* Configure environment variables interactively
|
|
5
|
+
* Prompts user to select which env vars to configure and collects their values
|
|
6
|
+
*/
|
|
7
|
+
export async function configureEnvVars(envVarMetadata) {
|
|
8
|
+
if (envVarMetadata.length === 0) {
|
|
9
|
+
// No env vars defined, ask if user wants to add any manually
|
|
10
|
+
const addManual = await prompts({
|
|
11
|
+
type: 'confirm',
|
|
12
|
+
name: 'add',
|
|
13
|
+
message: 'No environment variables defined. Add any manually?',
|
|
14
|
+
initial: false,
|
|
15
|
+
});
|
|
16
|
+
if (addManual.add === undefined) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
if (!addManual.add) {
|
|
20
|
+
return {};
|
|
21
|
+
}
|
|
22
|
+
// Allow manual JSON input
|
|
23
|
+
const manualInput = await prompts({
|
|
24
|
+
type: 'text',
|
|
25
|
+
name: 'env',
|
|
26
|
+
message: 'Environment variables (JSON):',
|
|
27
|
+
initial: '{}',
|
|
28
|
+
validate: (value) => {
|
|
29
|
+
try {
|
|
30
|
+
JSON.parse(value);
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return 'Invalid JSON format';
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
if (manualInput.env === undefined) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
return JSON.parse(String(manualInput.env));
|
|
42
|
+
}
|
|
43
|
+
// Show summary of available env vars
|
|
44
|
+
console.log(chalk.cyan.bold('\n📋 Available Environment Variables:'));
|
|
45
|
+
console.log(chalk.gray(` Found ${envVarMetadata.length} environment variables\n`));
|
|
46
|
+
// Ask if user wants to configure any
|
|
47
|
+
const wantsToConfigure = await prompts({
|
|
48
|
+
type: 'confirm',
|
|
49
|
+
name: 'value',
|
|
50
|
+
message: `Configure environment variables?`,
|
|
51
|
+
initial: envVarMetadata.some((v) => v.isRequired),
|
|
52
|
+
});
|
|
53
|
+
if (wantsToConfigure.value === undefined) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
if (!wantsToConfigure.value) {
|
|
57
|
+
// Use defaults only for required vars
|
|
58
|
+
const env = {};
|
|
59
|
+
envVarMetadata.forEach((envVar) => {
|
|
60
|
+
if (envVar.default && envVar.isRequired) {
|
|
61
|
+
env[envVar.key] = envVar.default;
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
return env;
|
|
65
|
+
}
|
|
66
|
+
// Let user select which env vars to configure
|
|
67
|
+
const choices = envVarMetadata.map((envVar) => {
|
|
68
|
+
const required = envVar.isRequired ? chalk.red('*required') : '';
|
|
69
|
+
const secret = envVar.isSecret ? chalk.yellow('🔒 ') : '';
|
|
70
|
+
const title = `${secret}${envVar.key} ${required}`;
|
|
71
|
+
const description = envVar.description || '';
|
|
72
|
+
return {
|
|
73
|
+
title,
|
|
74
|
+
description,
|
|
75
|
+
value: envVar.key,
|
|
76
|
+
selected: envVar.isRequired || false, // Pre-select required vars
|
|
77
|
+
};
|
|
78
|
+
});
|
|
79
|
+
const selection = await prompts({
|
|
80
|
+
type: 'multiselect',
|
|
81
|
+
name: 'selected',
|
|
82
|
+
message: 'Select environment variables to configure (use space to select, enter to confirm):',
|
|
83
|
+
choices,
|
|
84
|
+
hint: '- Space to select. Enter to submit',
|
|
85
|
+
instructions: false,
|
|
86
|
+
});
|
|
87
|
+
if (selection.selected === undefined) {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
const selectedKeys = selection.selected;
|
|
91
|
+
if (selectedKeys.length === 0) {
|
|
92
|
+
return {};
|
|
93
|
+
}
|
|
94
|
+
// Prompt for each selected env var
|
|
95
|
+
console.log(chalk.cyan.bold('\n📝 Configure Selected Variables:\n'));
|
|
96
|
+
const env = {};
|
|
97
|
+
for (const key of selectedKeys) {
|
|
98
|
+
const envVar = envVarMetadata.find((v) => v.key === key);
|
|
99
|
+
if (!envVar)
|
|
100
|
+
continue;
|
|
101
|
+
const result = await prompts({
|
|
102
|
+
type: envVar.isSecret ? 'password' : 'text',
|
|
103
|
+
name: 'value',
|
|
104
|
+
message: `${envVar.key}${envVar.isRequired ? chalk.red(' *') : ''}:${envVar.description ? `\n ${chalk.gray(envVar.description)}` : ''}`,
|
|
105
|
+
initial: envVar.default || '',
|
|
106
|
+
});
|
|
107
|
+
if (result.value === undefined) {
|
|
108
|
+
// User can skip by pressing Ctrl+C on individual fields
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
const value = String(result.value).trim();
|
|
112
|
+
if (value) {
|
|
113
|
+
env[envVar.key] = value;
|
|
114
|
+
}
|
|
115
|
+
else if (envVar.isRequired) {
|
|
116
|
+
console.log(chalk.yellow(`⚠️ ${envVar.key} is required, using default or empty value`));
|
|
117
|
+
env[envVar.key] = envVar.default || '';
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return env;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=envVarConfigurator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envVarConfigurator.js","sourceRoot":"","sources":["../../../../src/domains/installation/configurators/envVarConfigurator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tags configuration helpers
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Parse tags from comma-separated string
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseTags(tagsString: string): string[];
|
|
8
|
+
/**
|
|
9
|
+
* Format tags array to comma-separated string
|
|
10
|
+
*/
|
|
11
|
+
export declare function formatTags(tags: string[]): string;
|
|
12
|
+
/**
|
|
13
|
+
* Validate tags format
|
|
14
|
+
*/
|
|
15
|
+
export declare function validateTags(tags: string[]): {
|
|
16
|
+
valid: boolean;
|
|
17
|
+
errors: string[];
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Generate default tags from server name
|
|
21
|
+
*/
|
|
22
|
+
export declare function generateDefaultTags(serverName: string): string[];
|
|
23
|
+
//# sourceMappingURL=tagsConfigurator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tagsConfigurator.d.ts","sourceRoot":"","sources":["../../../../src/domains/installation/configurators/tagsConfigurator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAKtD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAmBjF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAEhE"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tags configuration helpers
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Parse tags from comma-separated string
|
|
6
|
+
*/
|
|
7
|
+
export function parseTags(tagsString) {
|
|
8
|
+
return tagsString
|
|
9
|
+
.split(',')
|
|
10
|
+
.map((t) => t.trim())
|
|
11
|
+
.filter((t) => t.length > 0);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Format tags array to comma-separated string
|
|
15
|
+
*/
|
|
16
|
+
export function formatTags(tags) {
|
|
17
|
+
return tags.join(', ');
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Validate tags format
|
|
21
|
+
*/
|
|
22
|
+
export function validateTags(tags) {
|
|
23
|
+
const errors = [];
|
|
24
|
+
for (const tag of tags) {
|
|
25
|
+
if (tag.length === 0) {
|
|
26
|
+
errors.push('Tag cannot be empty');
|
|
27
|
+
}
|
|
28
|
+
if (tag.length > 50) {
|
|
29
|
+
errors.push(`Tag '${tag}' is too long (max 50 characters)`);
|
|
30
|
+
}
|
|
31
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(tag)) {
|
|
32
|
+
errors.push(`Tag '${tag}' contains invalid characters (only alphanumeric, underscore, and hyphen allowed)`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
valid: errors.length === 0,
|
|
37
|
+
errors,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Generate default tags from server name
|
|
42
|
+
*/
|
|
43
|
+
export function generateDefaultTags(serverName) {
|
|
44
|
+
return [serverName];
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=tagsConfigurator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tagsConfigurator.js","sourceRoot":"","sources":["../../../../src/domains/installation/configurators/tagsConfigurator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,UAAkB;IAC1C,OAAO,UAAU;SACd,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAc;IACvC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAc;IACzC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,mCAAmC,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,mFAAmF,CAAC,CAAC;QAC9G,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACpD,OAAO,CAAC,UAAU,CAAC,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Installation domain exports
|
|
3
|
+
*/
|
|
4
|
+
export * from './types.js';
|
|
5
|
+
export * from './metadata/metadataExtractor.js';
|
|
6
|
+
export * from './metadata/defaultsProvider.js';
|
|
7
|
+
export * from './validators/serverNameValidator.js';
|
|
8
|
+
export * from './validators/conflictDetector.js';
|
|
9
|
+
export * from './configurators/envVarConfigurator.js';
|
|
10
|
+
export * from './configurators/cliArgsConfigurator.js';
|
|
11
|
+
export * from './configurators/tagsConfigurator.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domains/installation/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,YAAY,CAAC;AAG3B,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAG/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AAGjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,qCAAqC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Installation domain exports
|
|
3
|
+
*/
|
|
4
|
+
// Types
|
|
5
|
+
export * from './types.js';
|
|
6
|
+
// Metadata
|
|
7
|
+
export * from './metadata/metadataExtractor.js';
|
|
8
|
+
export * from './metadata/defaultsProvider.js';
|
|
9
|
+
// Validators
|
|
10
|
+
export * from './validators/serverNameValidator.js';
|
|
11
|
+
export * from './validators/conflictDetector.js';
|
|
12
|
+
// Configurators
|
|
13
|
+
export * from './configurators/envVarConfigurator.js';
|
|
14
|
+
export * from './configurators/cliArgsConfigurator.js';
|
|
15
|
+
export * from './configurators/tagsConfigurator.js';
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domains/installation/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,WAAW;AACX,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAE/C,aAAa;AACb,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AAEjD,gBAAgB;AAChB,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,qCAAqC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { RegistryServer } from '../../../domains/registry/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Extract default environment variables from server metadata
|
|
4
|
+
* @deprecated Use extractEnvVarMetadata and filter for defaults instead
|
|
5
|
+
*/
|
|
6
|
+
export declare function extractDefaultEnvVars(server: RegistryServer): Record<string, string>;
|
|
7
|
+
/**
|
|
8
|
+
* Extract default arguments from server metadata
|
|
9
|
+
* @deprecated Use extractArgMetadata and filter for defaults instead
|
|
10
|
+
*/
|
|
11
|
+
export declare function extractDefaultArgs(server: RegistryServer): string[];
|
|
12
|
+
//# sourceMappingURL=defaultsProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultsProvider.d.ts","sourceRoot":"","sources":["../../../../src/domains/installation/metadata/defaultsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBpF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,EAAE,CAiBnE"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extract default environment variables from server metadata
|
|
3
|
+
* @deprecated Use extractEnvVarMetadata and filter for defaults instead
|
|
4
|
+
*/
|
|
5
|
+
export function extractDefaultEnvVars(server) {
|
|
6
|
+
const envVars = {};
|
|
7
|
+
// Check packages for environment variables
|
|
8
|
+
if (server.packages && server.packages.length > 0) {
|
|
9
|
+
for (const pkg of server.packages) {
|
|
10
|
+
if (pkg.environmentVariables && Array.isArray(pkg.environmentVariables)) {
|
|
11
|
+
for (const envVar of pkg.environmentVariables) {
|
|
12
|
+
if (envVar.value) {
|
|
13
|
+
// Use the variable name from the value field or description
|
|
14
|
+
const key = envVar.value.toUpperCase().replace(/[^A-Z0-9_]/g, '_');
|
|
15
|
+
envVars[key] = envVar.default || '';
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return envVars;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Extract default arguments from server metadata
|
|
25
|
+
* @deprecated Use extractArgMetadata and filter for defaults instead
|
|
26
|
+
*/
|
|
27
|
+
export function extractDefaultArgs(server) {
|
|
28
|
+
const args = [];
|
|
29
|
+
// Check packages for runtime arguments
|
|
30
|
+
if (server.packages && server.packages.length > 0) {
|
|
31
|
+
for (const pkg of server.packages) {
|
|
32
|
+
if (pkg.runtimeArguments && Array.isArray(pkg.runtimeArguments)) {
|
|
33
|
+
for (const arg of pkg.runtimeArguments) {
|
|
34
|
+
if (arg.default) {
|
|
35
|
+
args.push(arg.default);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return args;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=defaultsProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultsProvider.js","sourceRoot":"","sources":["../../../../src/domains/installation/metadata/defaultsProvider.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAsB;IAC1D,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,2CAA2C;IAC3C,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,GAAG,CAAC,oBAAoB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACxE,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,oBAAoB,EAAE,CAAC;oBAC9C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;wBACjB,4DAA4D;wBAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;wBACnE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAsB;IACvD,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,uCAAuC;IACvC,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,GAAG,CAAC,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAChE,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;oBACvC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;wBAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { RegistryServer } from '../../../domains/registry/types.js';
|
|
2
|
+
import type { ArgMetadata, EnvVarMetadata } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Extract all environment variables with metadata from server packages
|
|
5
|
+
*/
|
|
6
|
+
export declare function extractEnvVarMetadata(server: RegistryServer): EnvVarMetadata[];
|
|
7
|
+
/**
|
|
8
|
+
* Extract all runtime arguments with metadata from server packages
|
|
9
|
+
*/
|
|
10
|
+
export declare function extractArgMetadata(server: RegistryServer): ArgMetadata[];
|
|
11
|
+
//# sourceMappingURL=metadataExtractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadataExtractor.d.ts","sourceRoot":"","sources":["../../../../src/domains/installation/metadata/metadataExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE/D;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,EAAE,CA0B9E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,WAAW,EAAE,CA6BxE"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extract all environment variables with metadata from server packages
|
|
3
|
+
*/
|
|
4
|
+
export function extractEnvVarMetadata(server) {
|
|
5
|
+
const envVars = [];
|
|
6
|
+
const seen = new Set();
|
|
7
|
+
if (server.packages && server.packages.length > 0) {
|
|
8
|
+
for (const pkg of server.packages) {
|
|
9
|
+
if (pkg.environmentVariables && Array.isArray(pkg.environmentVariables)) {
|
|
10
|
+
for (const envVar of pkg.environmentVariables) {
|
|
11
|
+
// Use 'name' or 'value' field for the environment variable key
|
|
12
|
+
const key = envVar.name || envVar.value;
|
|
13
|
+
if (key && !seen.has(key)) {
|
|
14
|
+
seen.add(key);
|
|
15
|
+
envVars.push({
|
|
16
|
+
key,
|
|
17
|
+
description: envVar.description,
|
|
18
|
+
default: envVar.default,
|
|
19
|
+
isRequired: envVar.isRequired,
|
|
20
|
+
isSecret: envVar.isSecret,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return envVars;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Extract all runtime arguments with metadata from server packages
|
|
31
|
+
*/
|
|
32
|
+
export function extractArgMetadata(server) {
|
|
33
|
+
const args = [];
|
|
34
|
+
const seen = new Set();
|
|
35
|
+
if (server.packages && server.packages.length > 0) {
|
|
36
|
+
for (const pkg of server.packages) {
|
|
37
|
+
// Check both packageArguments and runtimeArguments
|
|
38
|
+
const argSources = [...(pkg.packageArguments || []), ...(pkg.runtimeArguments || [])];
|
|
39
|
+
for (const arg of argSources) {
|
|
40
|
+
const name = arg.name;
|
|
41
|
+
if (name && !seen.has(name)) {
|
|
42
|
+
seen.add(name);
|
|
43
|
+
args.push({
|
|
44
|
+
name: arg.name,
|
|
45
|
+
description: arg.description,
|
|
46
|
+
default: arg.default,
|
|
47
|
+
isRequired: arg.isRequired,
|
|
48
|
+
isSecret: arg.isSecret,
|
|
49
|
+
type: arg.type,
|
|
50
|
+
choices: arg.choices,
|
|
51
|
+
valueHint: arg.valueHint,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return args;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=metadataExtractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadataExtractor.js","sourceRoot":"","sources":["../../../../src/domains/installation/metadata/metadataExtractor.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAsB;IAC1D,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,GAAG,CAAC,oBAAoB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACxE,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,oBAAoB,EAAE,CAAC;oBAC9C,+DAA+D;oBAC/D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC;oBACxC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACd,OAAO,CAAC,IAAI,CAAC;4BACX,GAAG;4BACH,WAAW,EAAE,MAAM,CAAC,WAAW;4BAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,UAAU,EAAE,MAAM,CAAC,UAAU;4BAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;yBAC1B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAsB;IACvD,MAAM,IAAI,GAAkB,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClC,mDAAmD;YACnD,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC;YAEtF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBACtB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACf,IAAI,CAAC,IAAI,CAAC;wBACR,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,WAAW,EAAE,GAAG,CAAC,WAAW;wBAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,UAAU,EAAE,GAAG,CAAC,UAAU;wBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,SAAS,EAAE,GAAG,CAAC,SAAS;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for installation domain
|
|
3
|
+
*/
|
|
4
|
+
export interface EnvVarMetadata {
|
|
5
|
+
key: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
default?: string;
|
|
8
|
+
isRequired?: boolean;
|
|
9
|
+
isSecret?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface ArgMetadata {
|
|
12
|
+
name?: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
default?: string;
|
|
15
|
+
isRequired?: boolean;
|
|
16
|
+
isSecret?: boolean;
|
|
17
|
+
type?: string;
|
|
18
|
+
choices?: string[];
|
|
19
|
+
valueHint?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface ServerConfigInput {
|
|
22
|
+
localName?: string;
|
|
23
|
+
tags?: string[];
|
|
24
|
+
env?: Record<string, string>;
|
|
25
|
+
args?: string[];
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/domains/installation/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,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,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,MAAM,WAAW,iBAAiB;IAChC,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/domains/installation/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server name conflict detection and resolution
|
|
3
|
+
*/
|
|
4
|
+
export type ConflictResolution = 'rename' | 'override' | 'cancel';
|
|
5
|
+
export interface ConflictResult {
|
|
6
|
+
hasConflict: boolean;
|
|
7
|
+
conflictingName?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Check if a server name conflicts with existing servers
|
|
11
|
+
*/
|
|
12
|
+
export declare function checkNameConflict(name: string, existingNames: string[]): ConflictResult;
|
|
13
|
+
/**
|
|
14
|
+
* Generate alternative name suggestions when there's a conflict
|
|
15
|
+
*/
|
|
16
|
+
export declare function generateAlternativeNames(baseName: string, existingNames: string[], count?: number): string[];
|
|
17
|
+
/**
|
|
18
|
+
* Validate that a proposed name doesn't conflict
|
|
19
|
+
*/
|
|
20
|
+
export declare function validateNoConflict(name: string, existingNames: string[]): {
|
|
21
|
+
valid: boolean;
|
|
22
|
+
error?: string;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=conflictDetector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conflictDetector.d.ts","sourceRoot":"","sources":["../../../../src/domains/installation/validators/conflictDetector.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,cAAc,CAMvF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,EAAE,CAa/G;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAQ5G"}
|