@1mcp/agent 0.27.4 → 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.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/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 +3 -2
- 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"}
|