@nextclaw/service 0.2.13 → 0.2.14
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/dist/app/nextclaw-service-runtime.d.ts +41 -0
- package/dist/app/nextclaw-service-runtime.d.ts.map +1 -0
- package/dist/app/nextclaw-service-runtime.js +136 -0
- package/dist/app/nextclaw-service-runtime.js.map +1 -0
- package/dist/controllers/commands/agent-command.controller.d.ts +3 -0
- package/dist/controllers/commands/agent-command.controller.js +3 -0
- package/dist/controllers/commands/channel-command.controller.d.ts +21 -0
- package/dist/controllers/commands/channel-command.controller.d.ts.map +1 -0
- package/dist/controllers/commands/channel-command.controller.js +115 -0
- package/dist/controllers/commands/channel-command.controller.js.map +1 -0
- package/dist/controllers/commands/config-command.controller.d.ts +2 -0
- package/dist/controllers/commands/config-command.controller.js +2 -0
- package/dist/controllers/commands/cron-command.controller.d.ts +2 -0
- package/dist/controllers/commands/cron-command.controller.js +2 -0
- package/dist/controllers/commands/diagnostics-command.controller.d.ts +2 -0
- package/dist/controllers/commands/diagnostics-command.controller.js +2 -0
- package/dist/controllers/commands/gateway-command.controller.d.ts +15 -0
- package/dist/controllers/commands/gateway-command.controller.d.ts.map +1 -0
- package/dist/controllers/commands/gateway-command.controller.js +17 -0
- package/dist/controllers/commands/gateway-command.controller.js.map +1 -0
- package/dist/controllers/commands/logs-command.controller.d.ts +13 -0
- package/dist/controllers/commands/logs-command.controller.d.ts.map +1 -0
- package/dist/controllers/commands/logs-command.controller.js +31 -0
- package/dist/controllers/commands/logs-command.controller.js.map +1 -0
- package/dist/controllers/commands/marketplace-skill-command.controller.d.ts +28 -0
- package/dist/controllers/commands/marketplace-skill-command.controller.d.ts.map +1 -0
- package/dist/controllers/commands/marketplace-skill-command.controller.js +170 -0
- package/dist/controllers/commands/marketplace-skill-command.controller.js.map +1 -0
- package/dist/controllers/commands/mcp-command.controller.d.ts +15 -0
- package/dist/controllers/commands/mcp-command.controller.d.ts.map +1 -0
- package/dist/controllers/commands/mcp-command.controller.js +195 -0
- package/dist/controllers/commands/mcp-command.controller.js.map +1 -0
- package/dist/controllers/commands/platform-auth-command.controller.d.ts +2 -0
- package/dist/controllers/commands/platform-auth-command.controller.js +2 -0
- package/dist/controllers/commands/remote-command.controller.d.ts +48 -0
- package/dist/controllers/commands/remote-command.controller.d.ts.map +1 -0
- package/dist/controllers/commands/remote-command.controller.js +176 -0
- package/dist/controllers/commands/remote-command.controller.js.map +1 -0
- package/dist/controllers/commands/restart-command.controller.d.ts +21 -0
- package/dist/controllers/commands/restart-command.controller.d.ts.map +1 -0
- package/dist/controllers/commands/restart-command.controller.js +90 -0
- package/dist/controllers/commands/restart-command.controller.js.map +1 -0
- package/dist/controllers/commands/secrets-command.controller.d.ts +23 -0
- package/dist/controllers/commands/secrets-command.controller.d.ts.map +1 -0
- package/dist/controllers/commands/secrets-command.controller.js +282 -0
- package/dist/controllers/commands/secrets-command.controller.js.map +1 -0
- package/dist/controllers/commands/serve-command.controller.d.ts +15 -0
- package/dist/controllers/commands/serve-command.controller.d.ts.map +1 -0
- package/dist/controllers/commands/serve-command.controller.js +21 -0
- package/dist/controllers/commands/serve-command.controller.js.map +1 -0
- package/dist/controllers/commands/service-command.controller.d.ts +17 -0
- package/dist/controllers/commands/service-command.controller.d.ts.map +1 -0
- package/dist/controllers/commands/service-command.controller.js +33 -0
- package/dist/controllers/commands/service-command.controller.js.map +1 -0
- package/dist/controllers/commands/start-command.controller.d.ts +19 -0
- package/dist/controllers/commands/start-command.controller.d.ts.map +1 -0
- package/dist/controllers/commands/start-command.controller.js +27 -0
- package/dist/controllers/commands/start-command.controller.js.map +1 -0
- package/dist/controllers/commands/stop-command.controller.d.ts +13 -0
- package/dist/controllers/commands/stop-command.controller.d.ts.map +1 -0
- package/dist/controllers/commands/stop-command.controller.js +13 -0
- package/dist/controllers/commands/stop-command.controller.js.map +1 -0
- package/dist/controllers/commands/ui-command.controller.d.ts +15 -0
- package/dist/controllers/commands/ui-command.controller.d.ts.map +1 -0
- package/dist/controllers/commands/ui-command.controller.js +19 -0
- package/dist/controllers/commands/ui-command.controller.js.map +1 -0
- package/dist/controllers/commands/usage-command.controller.d.ts +2 -0
- package/dist/controllers/commands/usage-command.controller.js +2 -0
- package/dist/controllers/gateway.controller.d.ts +54 -0
- package/dist/controllers/gateway.controller.d.ts.map +1 -0
- package/dist/controllers/gateway.controller.js +162 -0
- package/dist/controllers/gateway.controller.js.map +1 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.js +2 -2
- package/dist/launcher/npm-runtime-launcher.service.d.ts +1 -1
- package/dist/launcher/npm-runtime-launcher.service.js +6 -6
- package/dist/launcher/npm-runtime-launcher.service.js.map +1 -1
- package/dist/managers/gateway-extension.manager.d.ts +29 -0
- package/dist/managers/gateway-extension.manager.d.ts.map +1 -0
- package/dist/managers/gateway-extension.manager.js +78 -0
- package/dist/managers/gateway-extension.manager.js.map +1 -0
- package/dist/managers/gateway-remote.manager.d.ts +23 -0
- package/dist/managers/gateway-remote.manager.d.ts.map +1 -0
- package/dist/managers/gateway-remote.manager.js +28 -0
- package/dist/managers/gateway-remote.manager.js.map +1 -0
- package/dist/managers/managed-service.manager.d.ts +42 -0
- package/dist/managers/managed-service.manager.d.ts.map +1 -0
- package/dist/managers/managed-service.manager.js +195 -0
- package/dist/managers/managed-service.manager.js.map +1 -0
- package/dist/managers/runtime-update.manager.d.ts +43 -0
- package/dist/managers/runtime-update.manager.d.ts.map +1 -0
- package/dist/managers/runtime-update.manager.js +185 -0
- package/dist/managers/runtime-update.manager.js.map +1 -0
- package/dist/managers/service-command.manager.d.ts +67 -0
- package/dist/managers/service-command.manager.d.ts.map +1 -0
- package/dist/managers/service-command.manager.js +94 -0
- package/dist/managers/service-command.manager.js.map +1 -0
- package/dist/managers/service-gateway.manager.d.ts +85 -0
- package/dist/managers/service-gateway.manager.d.ts.map +1 -0
- package/dist/managers/service-gateway.manager.js +278 -0
- package/dist/managers/service-gateway.manager.js.map +1 -0
- package/dist/managers/service-restart.manager.d.ts +22 -0
- package/dist/managers/service-restart.manager.d.ts.map +1 -0
- package/dist/managers/service-restart.manager.js +183 -0
- package/dist/managers/service-restart.manager.js.map +1 -0
- package/dist/managers/service-workspace.manager.d.ts +14 -0
- package/dist/managers/service-workspace.manager.d.ts.map +1 -0
- package/dist/managers/service-workspace.manager.js +86 -0
- package/dist/managers/service-workspace.manager.js.map +1 -0
- package/dist/services/agent/agent-commands.service.d.ts +17 -0
- package/dist/services/agent/agent-commands.service.d.ts.map +1 -0
- package/dist/services/agent/agent-commands.service.js +111 -0
- package/dist/services/agent/agent-commands.service.js.map +1 -0
- package/dist/services/autostart/host-autostart-command.service.d.ts +30 -0
- package/dist/services/autostart/host-autostart-command.service.d.ts.map +1 -0
- package/dist/services/autostart/host-autostart-command.service.js +160 -0
- package/dist/services/autostart/host-autostart-command.service.js.map +1 -0
- package/dist/services/autostart/host-autostart-runtime.service.d.ts +24 -0
- package/dist/services/autostart/host-autostart-runtime.service.d.ts.map +1 -0
- package/dist/services/autostart/host-autostart-runtime.service.js +55 -0
- package/dist/services/autostart/host-autostart-runtime.service.js.map +1 -0
- package/dist/services/autostart/host-autostart.service.d.ts +42 -0
- package/dist/services/autostart/host-autostart.service.d.ts.map +1 -0
- package/dist/services/autostart/host-autostart.service.js +50 -0
- package/dist/services/autostart/host-autostart.service.js.map +1 -0
- package/dist/services/autostart/linux-systemd-autostart.service.d.ts +49 -0
- package/dist/services/autostart/linux-systemd-autostart.service.d.ts.map +1 -0
- package/dist/services/autostart/linux-systemd-autostart.service.js +435 -0
- package/dist/services/autostart/linux-systemd-autostart.service.js.map +1 -0
- package/dist/services/autostart/macos-launch-agent-autostart.service.d.ts +55 -0
- package/dist/services/autostart/macos-launch-agent-autostart.service.d.ts.map +1 -0
- package/dist/services/autostart/macos-launch-agent-autostart.service.js +407 -0
- package/dist/services/autostart/macos-launch-agent-autostart.service.js.map +1 -0
- package/dist/services/autostart/windows-task-autostart.service.d.ts +55 -0
- package/dist/services/autostart/windows-task-autostart.service.d.ts.map +1 -0
- package/dist/services/autostart/windows-task-autostart.service.js +406 -0
- package/dist/services/autostart/windows-task-autostart.service.js.map +1 -0
- package/dist/services/channel/channel-list-view.service.d.ts +29 -0
- package/dist/services/channel/channel-list-view.service.d.ts.map +1 -0
- package/dist/services/channel/channel-list-view.service.js +53 -0
- package/dist/services/channel/channel-list-view.service.js.map +1 -0
- package/dist/services/config/config-commands.service.d.ts +17 -0
- package/dist/services/config/config-commands.service.d.ts.map +1 -0
- package/dist/services/config/config-commands.service.js +117 -0
- package/dist/services/config/config-commands.service.js.map +1 -0
- package/dist/services/cron/cron-commands.service.d.ts +23 -0
- package/dist/services/cron/cron-commands.service.d.ts.map +1 -0
- package/dist/services/cron/cron-commands.service.js +109 -0
- package/dist/services/cron/cron-commands.service.js.map +1 -0
- package/dist/services/cron/cron-local.service.d.ts +26 -0
- package/dist/services/cron/cron-local.service.d.ts.map +1 -0
- package/dist/services/cron/cron-local.service.js +89 -0
- package/dist/services/cron/cron-local.service.js.map +1 -0
- package/dist/services/diagnostics/diagnostics-commands.service.d.ts +25 -0
- package/dist/services/diagnostics/diagnostics-commands.service.d.ts.map +1 -0
- package/dist/services/diagnostics/diagnostics-commands.service.js +345 -0
- package/dist/services/diagnostics/diagnostics-commands.service.js.map +1 -0
- package/dist/services/gateway/gateway-restart-wake.service.d.ts +13 -0
- package/dist/services/gateway/gateway-restart-wake.service.d.ts.map +1 -0
- package/dist/services/gateway/gateway-restart-wake.service.js +99 -0
- package/dist/services/gateway/gateway-restart-wake.service.js.map +1 -0
- package/dist/services/gateway/nextclaw-app.service.d.ts +18 -0
- package/dist/services/gateway/nextclaw-app.service.d.ts.map +1 -0
- package/dist/services/gateway/nextclaw-app.service.js +44 -0
- package/dist/services/gateway/nextclaw-app.service.js.map +1 -0
- package/dist/services/gateway/service-bootstrap-status.service.d.ts +33 -0
- package/dist/services/gateway/service-bootstrap-status.service.d.ts.map +1 -0
- package/dist/services/gateway/service-bootstrap-status.service.js +144 -0
- package/dist/services/gateway/service-bootstrap-status.service.js.map +1 -0
- package/dist/services/gateway/service-startup-support.service.d.ts +35 -0
- package/dist/services/gateway/service-startup-support.service.d.ts.map +1 -0
- package/dist/services/gateway/service-startup-support.service.js +83 -0
- package/dist/services/gateway/service-startup-support.service.js.map +1 -0
- package/dist/services/marketplace/service-marketplace-installer.service.d.ts +29 -0
- package/dist/services/marketplace/service-marketplace-installer.service.d.ts.map +1 -0
- package/dist/services/marketplace/service-marketplace-installer.service.js +87 -0
- package/dist/services/marketplace/service-marketplace-installer.service.js.map +1 -0
- package/dist/services/marketplace/service-mcp-marketplace-ops.service.d.ts +40 -0
- package/dist/services/marketplace/service-mcp-marketplace-ops.service.d.ts.map +1 -0
- package/dist/services/marketplace/service-mcp-marketplace-ops.service.js +69 -0
- package/dist/services/marketplace/service-mcp-marketplace-ops.service.js.map +1 -0
- package/dist/services/marketplace/skills-query.service.d.ts +110 -0
- package/dist/services/marketplace/skills-query.service.d.ts.map +1 -0
- package/dist/services/marketplace/skills-query.service.js +132 -0
- package/dist/services/marketplace/skills-query.service.js.map +1 -0
- package/dist/services/platform-auth/account-status.service.d.ts +20 -0
- package/dist/services/platform-auth/account-status.service.d.ts.map +1 -0
- package/dist/services/platform-auth/account-status.service.js +36 -0
- package/dist/services/platform-auth/account-status.service.js.map +1 -0
- package/dist/services/platform-auth/platform-auth-commands.service.d.ts +78 -0
- package/dist/services/platform-auth/platform-auth-commands.service.d.ts.map +1 -0
- package/dist/services/platform-auth/platform-auth-commands.service.js +297 -0
- package/dist/services/platform-auth/platform-auth-commands.service.js.map +1 -0
- package/dist/services/remote/remote-access-host.service.d.ts +42 -0
- package/dist/services/remote/remote-access-host.service.d.ts.map +1 -0
- package/dist/services/remote/remote-access-host.service.js +128 -0
- package/dist/services/remote/remote-access-host.service.js.map +1 -0
- package/dist/services/remote/remote-service-control.service.d.ts +34 -0
- package/dist/services/remote/remote-service-control.service.d.ts.map +1 -0
- package/dist/services/remote/remote-service-control.service.js +247 -0
- package/dist/services/remote/remote-service-control.service.js.map +1 -0
- package/dist/services/restart/restart-coordinator.service.d.ts +31 -0
- package/dist/services/restart/restart-coordinator.service.d.ts.map +1 -0
- package/dist/services/restart/restart-coordinator.service.js +53 -0
- package/dist/services/restart/restart-coordinator.service.js.map +1 -0
- package/dist/services/runtime/managed-service-supervisor.service.d.ts +85 -0
- package/dist/services/runtime/managed-service-supervisor.service.d.ts.map +1 -0
- package/dist/services/runtime/managed-service-supervisor.service.js +271 -0
- package/dist/services/runtime/managed-service-supervisor.service.js.map +1 -0
- package/dist/services/runtime/nextclaw-distribution.service.d.ts +11 -0
- package/dist/services/runtime/nextclaw-distribution.service.d.ts.map +1 -0
- package/dist/services/runtime/nextclaw-distribution.service.js +15 -0
- package/dist/services/runtime/nextclaw-distribution.service.js.map +1 -0
- package/dist/services/runtime/npm-runtime-bundle-manifest.service.d.ts +10 -0
- package/dist/services/runtime/npm-runtime-bundle-manifest.service.d.ts.map +1 -0
- package/dist/services/runtime/npm-runtime-bundle-manifest.service.js +41 -0
- package/dist/services/runtime/npm-runtime-bundle-manifest.service.js.map +1 -0
- package/dist/services/runtime/npm-runtime-bundle.service.d.ts +48 -0
- package/dist/services/runtime/npm-runtime-bundle.service.d.ts.map +1 -0
- package/dist/services/runtime/npm-runtime-bundle.service.js +152 -0
- package/dist/services/runtime/npm-runtime-bundle.service.js.map +1 -0
- package/dist/services/runtime/npm-runtime-update-command.service.d.ts +16 -0
- package/dist/services/runtime/npm-runtime-update-command.service.d.ts.map +1 -0
- package/dist/services/runtime/npm-runtime-update-command.service.js +120 -0
- package/dist/services/runtime/npm-runtime-update-command.service.js.map +1 -0
- package/dist/services/runtime/npm-runtime-update-host.service.d.ts +41 -0
- package/dist/services/runtime/npm-runtime-update-host.service.d.ts.map +1 -0
- package/dist/services/runtime/npm-runtime-update-host.service.js +189 -0
- package/dist/services/runtime/npm-runtime-update-host.service.js.map +1 -0
- package/dist/services/runtime/npm-runtime-update-source.service.d.ts +22 -0
- package/dist/services/runtime/npm-runtime-update-source.service.d.ts.map +1 -0
- package/dist/services/runtime/npm-runtime-update-source.service.js +61 -0
- package/dist/services/runtime/npm-runtime-update-source.service.js.map +1 -0
- package/dist/services/runtime/npm-runtime-update.service.d.ts +55 -0
- package/dist/services/runtime/npm-runtime-update.service.d.ts.map +1 -0
- package/dist/services/runtime/npm-runtime-update.service.js +185 -0
- package/dist/services/runtime/npm-runtime-update.service.js.map +1 -0
- package/dist/services/runtime/runtime-config-init.service.d.ts +5 -0
- package/dist/services/runtime/runtime-config-init.service.d.ts.map +1 -0
- package/dist/services/runtime/runtime-config-init.service.js +12 -0
- package/dist/services/runtime/runtime-config-init.service.js.map +1 -0
- package/dist/services/runtime/service-managed-startup.service.d.ts +95 -0
- package/dist/services/runtime/service-managed-startup.service.d.ts.map +1 -0
- package/dist/services/runtime/service-managed-startup.service.js +341 -0
- package/dist/services/runtime/service-managed-startup.service.js.map +1 -0
- package/dist/services/ui/companion-runtime.service.d.ts +36 -0
- package/dist/services/ui/companion-runtime.service.d.ts.map +1 -0
- package/dist/services/ui/companion-runtime.service.js +180 -0
- package/dist/services/ui/companion-runtime.service.js.map +1 -0
- package/dist/services/ui/local-ui-discovery.service.d.ts +20 -0
- package/dist/services/ui/local-ui-discovery.service.d.ts.map +1 -0
- package/dist/services/ui/local-ui-discovery.service.js +43 -0
- package/dist/services/ui/local-ui-discovery.service.js.map +1 -0
- package/dist/services/ui/runtime-control-host.service.d.ts +29 -0
- package/dist/services/ui/runtime-control-host.service.d.ts.map +1 -0
- package/dist/services/ui/runtime-control-host.service.js +91 -0
- package/dist/services/ui/runtime-control-host.service.js.map +1 -0
- package/dist/services/ui/service-remote-access.service.d.ts +26 -0
- package/dist/services/ui/service-remote-access.service.d.ts.map +1 -0
- package/dist/services/ui/service-remote-access.service.js +40 -0
- package/dist/services/ui/service-remote-access.service.js.map +1 -0
- package/dist/services/ui/ui-bridge-api.service.d.ts +17 -0
- package/dist/services/ui/ui-bridge-api.service.d.ts.map +1 -0
- package/dist/services/ui/ui-bridge-api.service.js +45 -0
- package/dist/services/ui/ui-bridge-api.service.js.map +1 -0
- package/dist/services/usage/llm-usage-command.service.d.ts +21 -0
- package/dist/services/usage/llm-usage-command.service.d.ts.map +1 -0
- package/dist/services/usage/llm-usage-command.service.js +152 -0
- package/dist/services/usage/llm-usage-command.service.js.map +1 -0
- package/dist/stores/companion-runtime.store.d.ts +16 -0
- package/dist/stores/companion-runtime.store.d.ts.map +1 -0
- package/dist/stores/companion-runtime.store.js +29 -0
- package/dist/stores/companion-runtime.store.js.map +1 -0
- package/dist/stores/local-ui-runtime.store.d.ts +26 -0
- package/dist/stores/local-ui-runtime.store.d.ts.map +1 -0
- package/dist/stores/local-ui-runtime.store.js +56 -0
- package/dist/stores/local-ui-runtime.store.js.map +1 -0
- package/dist/stores/managed-service-state.store.d.ts +46 -0
- package/dist/stores/managed-service-state.store.d.ts.map +1 -0
- package/dist/stores/managed-service-state.store.js +40 -0
- package/dist/stores/managed-service-state.store.js.map +1 -0
- package/dist/stores/marketplace-install-state.store.d.ts +39 -0
- package/dist/stores/marketplace-install-state.store.d.ts.map +1 -0
- package/dist/stores/marketplace-install-state.store.js +58 -0
- package/dist/stores/marketplace-install-state.store.js.map +1 -0
- package/dist/stores/npm-runtime-bundle-layout.store.d.ts +24 -0
- package/dist/stores/npm-runtime-bundle-layout.store.d.ts.map +1 -0
- package/dist/stores/npm-runtime-bundle-layout.store.js +39 -0
- package/dist/stores/npm-runtime-bundle-layout.store.js.map +1 -0
- package/dist/stores/npm-runtime-update-state.store.d.ts +18 -0
- package/dist/stores/npm-runtime-update-state.store.d.ts.map +1 -0
- package/dist/stores/npm-runtime-update-state.store.js +94 -0
- package/dist/stores/npm-runtime-update-state.store.js.map +1 -0
- package/dist/stores/pending-restart.store.d.ts +22 -0
- package/dist/stores/pending-restart.store.d.ts.map +1 -0
- package/dist/stores/pending-restart.store.js +37 -0
- package/dist/stores/pending-restart.store.js.map +1 -0
- package/dist/types/cli.types.d.ts +304 -0
- package/dist/types/cli.types.d.ts.map +1 -0
- package/dist/types/distribution.types.d.ts +11 -0
- package/dist/types/distribution.types.d.ts.map +1 -0
- package/dist/types/host-autostart.types.d.ts +65 -0
- package/dist/types/host-autostart.types.d.ts.map +1 -0
- package/dist/types/npm-runtime-bundle.types.d.ts +50 -0
- package/dist/types/npm-runtime-bundle.types.d.ts.map +1 -0
- package/dist/utils/agent-runtime.utils.d.ts +15 -0
- package/dist/utils/agent-runtime.utils.d.ts.map +1 -0
- package/dist/utils/agent-runtime.utils.js +40 -0
- package/dist/utils/agent-runtime.utils.js.map +1 -0
- package/dist/utils/channel-config-view.utils.d.ts +7 -0
- package/dist/utils/channel-config-view.utils.d.ts.map +1 -0
- package/dist/utils/channel-config-view.utils.js +9 -0
- package/dist/utils/channel-config-view.utils.js.map +1 -0
- package/dist/utils/cli-agent-runner.utils.d.ts +14 -0
- package/dist/utils/cli-agent-runner.utils.d.ts.map +1 -0
- package/dist/utils/cli-agent-runner.utils.js +94 -0
- package/dist/utils/cli-agent-runner.utils.js.map +1 -0
- package/dist/utils/cli.utils.d.ts +32 -0
- package/dist/utils/cli.utils.d.ts.map +1 -0
- package/dist/utils/cli.utils.js +254 -0
- package/dist/utils/cli.utils.js.map +1 -0
- package/dist/utils/config-path.utils.d.ts +16 -0
- package/dist/utils/config-path.utils.d.ts.map +1 -0
- package/dist/utils/config-path.utils.js +169 -0
- package/dist/utils/config-path.utils.js.map +1 -0
- package/dist/utils/cron/cron-job.utils.d.ts +28 -0
- package/dist/utils/cron/cron-job.utils.d.ts.map +1 -0
- package/dist/utils/cron/cron-job.utils.js +17 -0
- package/dist/utils/cron/cron-job.utils.js.map +1 -0
- package/dist/utils/diagnostics/diagnostics-render.utils.d.ts +24 -0
- package/dist/utils/diagnostics/diagnostics-render.utils.d.ts.map +1 -0
- package/dist/utils/diagnostics/diagnostics-render.utils.js +74 -0
- package/dist/utils/diagnostics/diagnostics-render.utils.js.map +1 -0
- package/dist/utils/gateway-cron-job-handler.utils.d.ts +18 -0
- package/dist/utils/gateway-cron-job-handler.utils.d.ts.map +1 -0
- package/dist/utils/gateway-cron-job-handler.utils.js +56 -0
- package/dist/utils/gateway-cron-job-handler.utils.js.map +1 -0
- package/dist/utils/gateway-runtime-lifecycle.utils.d.ts +10 -0
- package/dist/utils/gateway-runtime-lifecycle.utils.d.ts.map +1 -0
- package/dist/utils/gateway-runtime-lifecycle.utils.js +12 -0
- package/dist/utils/gateway-runtime-lifecycle.utils.js.map +1 -0
- package/dist/utils/marketplace/cli-subcommand-launch.utils.d.ts +17 -0
- package/dist/utils/marketplace/cli-subcommand-launch.utils.d.ts.map +1 -0
- package/dist/utils/marketplace/cli-subcommand-launch.utils.js +48 -0
- package/dist/utils/marketplace/cli-subcommand-launch.utils.js.map +1 -0
- package/dist/utils/marketplace/marketplace-client.utils.d.ts +46 -0
- package/dist/utils/marketplace/marketplace-client.utils.d.ts.map +1 -0
- package/dist/utils/marketplace/marketplace-client.utils.js +137 -0
- package/dist/utils/marketplace/marketplace-client.utils.js.map +1 -0
- package/dist/utils/marketplace/marketplace-command-options.utils.d.ts +26 -0
- package/dist/utils/marketplace/marketplace-command-options.utils.d.ts.map +1 -0
- package/dist/utils/marketplace/marketplace-command-options.utils.js +33 -0
- package/dist/utils/marketplace/marketplace-command-options.utils.js.map +1 -0
- package/dist/utils/marketplace/marketplace-identity.utils.d.ts +15 -0
- package/dist/utils/marketplace/marketplace-identity.utils.d.ts.map +1 -0
- package/dist/utils/marketplace/marketplace-identity.utils.js +79 -0
- package/dist/utils/marketplace/marketplace-identity.utils.js.map +1 -0
- package/dist/utils/marketplace/marketplace-metadata.utils.d.ts +21 -0
- package/dist/utils/marketplace/marketplace-metadata.utils.d.ts.map +1 -0
- package/dist/utils/marketplace/marketplace-metadata.utils.js +74 -0
- package/dist/utils/marketplace/marketplace-metadata.utils.js.map +1 -0
- package/dist/utils/marketplace/marketplace-network-retry.utils.d.ts +5 -0
- package/dist/utils/marketplace/marketplace-network-retry.utils.d.ts.map +1 -0
- package/dist/utils/marketplace/marketplace-network-retry.utils.js +34 -0
- package/dist/utils/marketplace/marketplace-network-retry.utils.js.map +1 -0
- package/dist/utils/marketplace/marketplace-skill-lifecycle.utils.d.ts +27 -0
- package/dist/utils/marketplace/marketplace-skill-lifecycle.utils.d.ts.map +1 -0
- package/dist/utils/marketplace/marketplace-skill-lifecycle.utils.js +206 -0
- package/dist/utils/marketplace/marketplace-skill-lifecycle.utils.js.map +1 -0
- package/dist/utils/marketplace/marketplace.utils.d.ts +34 -0
- package/dist/utils/marketplace/marketplace.utils.d.ts.map +1 -0
- package/dist/utils/marketplace/marketplace.utils.js +77 -0
- package/dist/utils/marketplace/marketplace.utils.js.map +1 -0
- package/dist/utils/marketplace/service-marketplace-helpers.utils.d.ts +15 -0
- package/dist/utils/marketplace/service-marketplace-helpers.utils.d.ts.map +1 -0
- package/dist/utils/marketplace/service-marketplace-helpers.utils.js +47 -0
- package/dist/utils/marketplace/service-marketplace-helpers.utils.js.map +1 -0
- package/dist/utils/package/package-manifest.utils.d.ts +5 -0
- package/dist/utils/package/package-manifest.utils.d.ts.map +1 -0
- package/dist/utils/package/package-manifest.utils.js +40 -0
- package/dist/utils/package/package-manifest.utils.js.map +1 -0
- package/dist/utils/panel-app-client-sdk/panel-app-client-sdk-script.utils.d.ts +5 -0
- package/dist/utils/panel-app-client-sdk/panel-app-client-sdk-script.utils.d.ts.map +1 -0
- package/dist/utils/panel-app-client-sdk/panel-app-client-sdk-script.utils.js +37 -0
- package/dist/utils/panel-app-client-sdk/panel-app-client-sdk-script.utils.js.map +1 -0
- package/dist/utils/platform-auth/payload.utils.d.ts +30 -0
- package/dist/utils/platform-auth/payload.utils.d.ts.map +1 -0
- package/dist/utils/platform-auth/payload.utils.js +89 -0
- package/dist/utils/platform-auth/payload.utils.js.map +1 -0
- package/dist/utils/remote/platform-api-base.utils.d.ts +15 -0
- package/dist/utils/remote/platform-api-base.utils.d.ts.map +1 -0
- package/dist/utils/remote/platform-api-base.utils.js +41 -0
- package/dist/utils/remote/platform-api-base.utils.js.map +1 -0
- package/dist/utils/remote/remote-runtime-support.utils.d.ts +16 -0
- package/dist/utils/remote/remote-runtime-support.utils.d.ts.map +1 -0
- package/dist/utils/remote/remote-runtime-support.utils.js +82 -0
- package/dist/utils/remote/remote-runtime-support.utils.js.map +1 -0
- package/dist/utils/restart-sentinel.utils.d.ts +37 -0
- package/dist/utils/restart-sentinel.utils.d.ts.map +1 -0
- package/dist/utils/restart-sentinel.utils.js +76 -0
- package/dist/utils/restart-sentinel.utils.js.map +1 -0
- package/dist/utils/runtime/managed-service-routing.utils.d.ts +31 -0
- package/dist/utils/runtime/managed-service-routing.utils.d.ts.map +1 -0
- package/dist/utils/runtime/managed-service-routing.utils.js +64 -0
- package/dist/utils/runtime/managed-service-routing.utils.js.map +1 -0
- package/dist/utils/runtime/service-remote-runtime.utils.d.ts +58 -0
- package/dist/utils/runtime/service-remote-runtime.utils.d.ts.map +1 -0
- package/dist/utils/runtime/service-remote-runtime.utils.js +184 -0
- package/dist/utils/runtime/service-remote-runtime.utils.js.map +1 -0
- package/dist/utils/runtime-helpers.utils.d.ts +15 -0
- package/dist/utils/runtime-helpers.utils.d.ts.map +1 -0
- package/dist/utils/runtime-helpers.utils.js +28 -0
- package/dist/utils/runtime-helpers.utils.js.map +1 -0
- package/dist/utils/service-port-probe.utils.d.ts +42 -0
- package/dist/utils/service-port-probe.utils.d.ts.map +1 -0
- package/dist/utils/service-port-probe.utils.js +166 -0
- package/dist/utils/service-port-probe.utils.js.map +1 -0
- package/dist/utils/startup-trace.utils.d.ts +8 -0
- package/dist/utils/startup-trace.utils.d.ts.map +1 -0
- package/dist/utils/startup-trace.utils.js +39 -0
- package/dist/utils/startup-trace.utils.js.map +1 -0
- package/dist/utils/top-level-nextclaw-command-env.utils.d.ts +5 -0
- package/dist/utils/top-level-nextclaw-command-env.utils.d.ts.map +1 -0
- package/dist/utils/top-level-nextclaw-command-env.utils.js +12 -0
- package/dist/utils/top-level-nextclaw-command-env.utils.js.map +1 -0
- package/package.json +26 -26
- package/dist/cli/commands/agent/agent-runtime.utils.d.ts +0 -15
- package/dist/cli/commands/agent/agent-runtime.utils.d.ts.map +0 -1
- package/dist/cli/commands/agent/agent-runtime.utils.js +0 -43
- package/dist/cli/commands/agent/agent-runtime.utils.js.map +0 -1
- package/dist/cli/commands/agent/cli-agent-runner.utils.d.ts +0 -14
- package/dist/cli/commands/agent/cli-agent-runner.utils.d.ts.map +0 -1
- package/dist/cli/commands/agent/cli-agent-runner.utils.js +0 -94
- package/dist/cli/commands/agent/cli-agent-runner.utils.js.map +0 -1
- package/dist/cli/commands/agent/index.d.ts +0 -3
- package/dist/cli/commands/agent/index.js +0 -3
- package/dist/cli/commands/agent/services/agent-commands.service.d.ts +0 -18
- package/dist/cli/commands/agent/services/agent-commands.service.d.ts.map +0 -1
- package/dist/cli/commands/agent/services/agent-commands.service.js +0 -113
- package/dist/cli/commands/agent/services/agent-commands.service.js.map +0 -1
- package/dist/cli/commands/config/index.d.ts +0 -2
- package/dist/cli/commands/config/index.js +0 -2
- package/dist/cli/commands/config/services/config-commands.service.d.ts +0 -17
- package/dist/cli/commands/config/services/config-commands.service.d.ts.map +0 -1
- package/dist/cli/commands/config/services/config-commands.service.js +0 -117
- package/dist/cli/commands/config/services/config-commands.service.js.map +0 -1
- package/dist/cli/commands/cron/index.d.ts +0 -2
- package/dist/cli/commands/cron/index.js +0 -2
- package/dist/cli/commands/cron/services/cron-commands.service.d.ts +0 -23
- package/dist/cli/commands/cron/services/cron-commands.service.d.ts.map +0 -1
- package/dist/cli/commands/cron/services/cron-commands.service.js +0 -109
- package/dist/cli/commands/cron/services/cron-commands.service.js.map +0 -1
- package/dist/cli/commands/cron/services/cron-local.service.d.ts +0 -26
- package/dist/cli/commands/cron/services/cron-local.service.d.ts.map +0 -1
- package/dist/cli/commands/cron/services/cron-local.service.js +0 -89
- package/dist/cli/commands/cron/services/cron-local.service.js.map +0 -1
- package/dist/cli/commands/cron/utils/cron-job.utils.d.ts +0 -28
- package/dist/cli/commands/cron/utils/cron-job.utils.d.ts.map +0 -1
- package/dist/cli/commands/cron/utils/cron-job.utils.js +0 -17
- package/dist/cli/commands/cron/utils/cron-job.utils.js.map +0 -1
- package/dist/cli/commands/diagnostics/index.d.ts +0 -2
- package/dist/cli/commands/diagnostics/index.js +0 -2
- package/dist/cli/commands/diagnostics/services/diagnostics-commands.service.d.ts +0 -25
- package/dist/cli/commands/diagnostics/services/diagnostics-commands.service.d.ts.map +0 -1
- package/dist/cli/commands/diagnostics/services/diagnostics-commands.service.js +0 -345
- package/dist/cli/commands/diagnostics/services/diagnostics-commands.service.js.map +0 -1
- package/dist/cli/commands/diagnostics/utils/diagnostics-render.utils.d.ts +0 -24
- package/dist/cli/commands/diagnostics/utils/diagnostics-render.utils.d.ts.map +0 -1
- package/dist/cli/commands/diagnostics/utils/diagnostics-render.utils.js +0 -74
- package/dist/cli/commands/diagnostics/utils/diagnostics-render.utils.js.map +0 -1
- package/dist/cli/commands/gateway/index.d.ts +0 -15
- package/dist/cli/commands/gateway/index.d.ts.map +0 -1
- package/dist/cli/commands/gateway/index.js +0 -17
- package/dist/cli/commands/gateway/index.js.map +0 -1
- package/dist/cli/commands/logs/index.d.ts +0 -13
- package/dist/cli/commands/logs/index.d.ts.map +0 -1
- package/dist/cli/commands/logs/index.js +0 -31
- package/dist/cli/commands/logs/index.js.map +0 -1
- package/dist/cli/commands/mcp/index.d.ts +0 -15
- package/dist/cli/commands/mcp/index.d.ts.map +0 -1
- package/dist/cli/commands/mcp/index.js +0 -195
- package/dist/cli/commands/mcp/index.js.map +0 -1
- package/dist/cli/commands/restart/index.d.ts +0 -21
- package/dist/cli/commands/restart/index.d.ts.map +0 -1
- package/dist/cli/commands/restart/index.js +0 -90
- package/dist/cli/commands/restart/index.js.map +0 -1
- package/dist/cli/commands/secrets/index.d.ts +0 -23
- package/dist/cli/commands/secrets/index.d.ts.map +0 -1
- package/dist/cli/commands/secrets/index.js +0 -282
- package/dist/cli/commands/secrets/index.js.map +0 -1
- package/dist/cli/commands/serve/index.d.ts +0 -15
- package/dist/cli/commands/serve/index.d.ts.map +0 -1
- package/dist/cli/commands/serve/index.js +0 -21
- package/dist/cli/commands/serve/index.js.map +0 -1
- package/dist/cli/commands/skills/index.d.ts +0 -28
- package/dist/cli/commands/skills/index.d.ts.map +0 -1
- package/dist/cli/commands/skills/index.js +0 -170
- package/dist/cli/commands/skills/index.js.map +0 -1
- package/dist/cli/commands/skills/marketplace-client.d.ts +0 -46
- package/dist/cli/commands/skills/marketplace-client.d.ts.map +0 -1
- package/dist/cli/commands/skills/marketplace-client.js +0 -137
- package/dist/cli/commands/skills/marketplace-client.js.map +0 -1
- package/dist/cli/commands/skills/marketplace-command-options.utils.d.ts +0 -26
- package/dist/cli/commands/skills/marketplace-command-options.utils.d.ts.map +0 -1
- package/dist/cli/commands/skills/marketplace-command-options.utils.js +0 -33
- package/dist/cli/commands/skills/marketplace-command-options.utils.js.map +0 -1
- package/dist/cli/commands/skills/marketplace-identity.utils.d.ts +0 -15
- package/dist/cli/commands/skills/marketplace-identity.utils.d.ts.map +0 -1
- package/dist/cli/commands/skills/marketplace-identity.utils.js +0 -79
- package/dist/cli/commands/skills/marketplace-identity.utils.js.map +0 -1
- package/dist/cli/commands/skills/marketplace-network-retry.d.ts +0 -5
- package/dist/cli/commands/skills/marketplace-network-retry.d.ts.map +0 -1
- package/dist/cli/commands/skills/marketplace-network-retry.js +0 -34
- package/dist/cli/commands/skills/marketplace-network-retry.js.map +0 -1
- package/dist/cli/commands/skills/marketplace.metadata.d.ts +0 -21
- package/dist/cli/commands/skills/marketplace.metadata.d.ts.map +0 -1
- package/dist/cli/commands/skills/marketplace.metadata.js +0 -74
- package/dist/cli/commands/skills/marketplace.metadata.js.map +0 -1
- package/dist/cli/commands/skills/marketplace.utils.d.ts +0 -34
- package/dist/cli/commands/skills/marketplace.utils.d.ts.map +0 -1
- package/dist/cli/commands/skills/marketplace.utils.js +0 -77
- package/dist/cli/commands/skills/marketplace.utils.js.map +0 -1
- package/dist/cli/commands/skills/skills-query.service.d.ts +0 -110
- package/dist/cli/commands/skills/skills-query.service.d.ts.map +0 -1
- package/dist/cli/commands/skills/skills-query.service.js +0 -132
- package/dist/cli/commands/skills/skills-query.service.js.map +0 -1
- package/dist/cli/commands/skills/stores/marketplace-install-state.store.d.ts +0 -39
- package/dist/cli/commands/skills/stores/marketplace-install-state.store.d.ts.map +0 -1
- package/dist/cli/commands/skills/stores/marketplace-install-state.store.js +0 -58
- package/dist/cli/commands/skills/stores/marketplace-install-state.store.js.map +0 -1
- package/dist/cli/commands/skills/utils/marketplace-skill-lifecycle.utils.d.ts +0 -27
- package/dist/cli/commands/skills/utils/marketplace-skill-lifecycle.utils.d.ts.map +0 -1
- package/dist/cli/commands/skills/utils/marketplace-skill-lifecycle.utils.js +0 -206
- package/dist/cli/commands/skills/utils/marketplace-skill-lifecycle.utils.js.map +0 -1
- package/dist/cli/commands/start/index.d.ts +0 -19
- package/dist/cli/commands/start/index.d.ts.map +0 -1
- package/dist/cli/commands/start/index.js +0 -27
- package/dist/cli/commands/start/index.js.map +0 -1
- package/dist/cli/commands/stop/index.d.ts +0 -13
- package/dist/cli/commands/stop/index.d.ts.map +0 -1
- package/dist/cli/commands/stop/index.js +0 -13
- package/dist/cli/commands/stop/index.js.map +0 -1
- package/dist/cli/commands/ui/index.d.ts +0 -15
- package/dist/cli/commands/ui/index.d.ts.map +0 -1
- package/dist/cli/commands/ui/index.js +0 -19
- package/dist/cli/commands/ui/index.js.map +0 -1
- package/dist/cli/commands/usage/index.d.ts +0 -2
- package/dist/cli/commands/usage/index.js +0 -2
- package/dist/cli/commands/usage/services/llm-usage-command.service.d.ts +0 -21
- package/dist/cli/commands/usage/services/llm-usage-command.service.d.ts.map +0 -1
- package/dist/cli/commands/usage/services/llm-usage-command.service.js +0 -152
- package/dist/cli/commands/usage/services/llm-usage-command.service.js.map +0 -1
- package/dist/commands/channel/channel-config-view.utils.d.ts +0 -7
- package/dist/commands/channel/channel-config-view.utils.d.ts.map +0 -1
- package/dist/commands/channel/channel-config-view.utils.js +0 -9
- package/dist/commands/channel/channel-config-view.utils.js.map +0 -1
- package/dist/commands/channel/channel-list-view.service.d.ts +0 -29
- package/dist/commands/channel/channel-list-view.service.d.ts.map +0 -1
- package/dist/commands/channel/channel-list-view.service.js +0 -53
- package/dist/commands/channel/channel-list-view.service.js.map +0 -1
- package/dist/commands/channel/index.d.ts +0 -21
- package/dist/commands/channel/index.d.ts.map +0 -1
- package/dist/commands/channel/index.js +0 -115
- package/dist/commands/channel/index.js.map +0 -1
- package/dist/commands/platform-auth/index.d.ts +0 -2
- package/dist/commands/platform-auth/index.js +0 -2
- package/dist/commands/platform-auth/services/account-status.service.d.ts +0 -19
- package/dist/commands/platform-auth/services/account-status.service.d.ts.map +0 -1
- package/dist/commands/platform-auth/services/account-status.service.js +0 -36
- package/dist/commands/platform-auth/services/account-status.service.js.map +0 -1
- package/dist/commands/platform-auth/services/platform-auth-commands.service.d.ts +0 -78
- package/dist/commands/platform-auth/services/platform-auth-commands.service.d.ts.map +0 -1
- package/dist/commands/platform-auth/services/platform-auth-commands.service.js +0 -297
- package/dist/commands/platform-auth/services/platform-auth-commands.service.js.map +0 -1
- package/dist/commands/platform-auth/utils/payload.utils.d.ts +0 -29
- package/dist/commands/platform-auth/utils/payload.utils.d.ts.map +0 -1
- package/dist/commands/platform-auth/utils/payload.utils.js +0 -89
- package/dist/commands/platform-auth/utils/payload.utils.js.map +0 -1
- package/dist/commands/remote/index.d.ts +0 -48
- package/dist/commands/remote/index.d.ts.map +0 -1
- package/dist/commands/remote/index.js +0 -176
- package/dist/commands/remote/index.js.map +0 -1
- package/dist/commands/remote/services/remote-access-host.service.d.ts +0 -42
- package/dist/commands/remote/services/remote-access-host.service.d.ts.map +0 -1
- package/dist/commands/remote/services/remote-access-host.service.js +0 -128
- package/dist/commands/remote/services/remote-access-host.service.js.map +0 -1
- package/dist/commands/remote/services/remote-service-control.service.d.ts +0 -34
- package/dist/commands/remote/services/remote-service-control.service.d.ts.map +0 -1
- package/dist/commands/remote/services/remote-service-control.service.js +0 -247
- package/dist/commands/remote/services/remote-service-control.service.js.map +0 -1
- package/dist/commands/remote/utils/platform-api-base.utils.d.ts +0 -15
- package/dist/commands/remote/utils/platform-api-base.utils.d.ts.map +0 -1
- package/dist/commands/remote/utils/platform-api-base.utils.js +0 -41
- package/dist/commands/remote/utils/platform-api-base.utils.js.map +0 -1
- package/dist/commands/remote/utils/remote-runtime-support.utils.d.ts +0 -16
- package/dist/commands/remote/utils/remote-runtime-support.utils.d.ts.map +0 -1
- package/dist/commands/remote/utils/remote-runtime-support.utils.js +0 -82
- package/dist/commands/remote/utils/remote-runtime-support.utils.js.map +0 -1
- package/dist/commands/service/index.d.ts +0 -17
- package/dist/commands/service/index.d.ts.map +0 -1
- package/dist/commands/service/index.js +0 -33
- package/dist/commands/service/index.js.map +0 -1
- package/dist/commands/service/services/autostart/host-autostart-command.service.d.ts +0 -30
- package/dist/commands/service/services/autostart/host-autostart-command.service.d.ts.map +0 -1
- package/dist/commands/service/services/autostart/host-autostart-command.service.js +0 -160
- package/dist/commands/service/services/autostart/host-autostart-command.service.js.map +0 -1
- package/dist/commands/service/services/autostart/host-autostart-runtime.service.d.ts +0 -24
- package/dist/commands/service/services/autostart/host-autostart-runtime.service.d.ts.map +0 -1
- package/dist/commands/service/services/autostart/host-autostart-runtime.service.js +0 -55
- package/dist/commands/service/services/autostart/host-autostart-runtime.service.js.map +0 -1
- package/dist/commands/service/services/autostart/host-autostart.service.d.ts +0 -42
- package/dist/commands/service/services/autostart/host-autostart.service.d.ts.map +0 -1
- package/dist/commands/service/services/autostart/host-autostart.service.js +0 -50
- package/dist/commands/service/services/autostart/host-autostart.service.js.map +0 -1
- package/dist/commands/service/services/autostart/linux-systemd-autostart.service.d.ts +0 -49
- package/dist/commands/service/services/autostart/linux-systemd-autostart.service.d.ts.map +0 -1
- package/dist/commands/service/services/autostart/linux-systemd-autostart.service.js +0 -435
- package/dist/commands/service/services/autostart/linux-systemd-autostart.service.js.map +0 -1
- package/dist/commands/service/services/autostart/macos-launch-agent-autostart.service.d.ts +0 -55
- package/dist/commands/service/services/autostart/macos-launch-agent-autostart.service.d.ts.map +0 -1
- package/dist/commands/service/services/autostart/macos-launch-agent-autostart.service.js +0 -407
- package/dist/commands/service/services/autostart/macos-launch-agent-autostart.service.js.map +0 -1
- package/dist/commands/service/services/autostart/windows-task-autostart.service.d.ts +0 -55
- package/dist/commands/service/services/autostart/windows-task-autostart.service.d.ts.map +0 -1
- package/dist/commands/service/services/autostart/windows-task-autostart.service.js +0 -406
- package/dist/commands/service/services/autostart/windows-task-autostart.service.js.map +0 -1
- package/dist/commands/service/types/autostart/host-autostart.types.d.ts +0 -65
- package/dist/commands/service/types/autostart/host-autostart.types.d.ts.map +0 -1
- package/dist/launcher/npm-runtime-bundle-layout.store.d.ts +0 -24
- package/dist/launcher/npm-runtime-bundle-layout.store.d.ts.map +0 -1
- package/dist/launcher/npm-runtime-bundle-layout.store.js +0 -39
- package/dist/launcher/npm-runtime-bundle-layout.store.js.map +0 -1
- package/dist/launcher/npm-runtime-bundle-manifest.service.d.ts +0 -10
- package/dist/launcher/npm-runtime-bundle-manifest.service.d.ts.map +0 -1
- package/dist/launcher/npm-runtime-bundle-manifest.service.js +0 -41
- package/dist/launcher/npm-runtime-bundle-manifest.service.js.map +0 -1
- package/dist/launcher/npm-runtime-bundle.service.d.ts +0 -48
- package/dist/launcher/npm-runtime-bundle.service.d.ts.map +0 -1
- package/dist/launcher/npm-runtime-bundle.service.js +0 -152
- package/dist/launcher/npm-runtime-bundle.service.js.map +0 -1
- package/dist/launcher/npm-runtime-bundle.types.d.ts +0 -50
- package/dist/launcher/npm-runtime-bundle.types.d.ts.map +0 -1
- package/dist/launcher/npm-runtime-update-command.service.d.ts +0 -16
- package/dist/launcher/npm-runtime-update-command.service.d.ts.map +0 -1
- package/dist/launcher/npm-runtime-update-command.service.js +0 -120
- package/dist/launcher/npm-runtime-update-command.service.js.map +0 -1
- package/dist/launcher/npm-runtime-update-source.service.d.ts +0 -22
- package/dist/launcher/npm-runtime-update-source.service.d.ts.map +0 -1
- package/dist/launcher/npm-runtime-update-source.service.js +0 -61
- package/dist/launcher/npm-runtime-update-source.service.js.map +0 -1
- package/dist/launcher/npm-runtime-update-state.store.d.ts +0 -18
- package/dist/launcher/npm-runtime-update-state.store.d.ts.map +0 -1
- package/dist/launcher/npm-runtime-update-state.store.js +0 -94
- package/dist/launcher/npm-runtime-update-state.store.js.map +0 -1
- package/dist/launcher/npm-runtime-update.manager.d.ts +0 -43
- package/dist/launcher/npm-runtime-update.manager.d.ts.map +0 -1
- package/dist/launcher/npm-runtime-update.manager.js +0 -185
- package/dist/launcher/npm-runtime-update.manager.js.map +0 -1
- package/dist/launcher/npm-runtime-update.service.d.ts +0 -55
- package/dist/launcher/npm-runtime-update.service.d.ts.map +0 -1
- package/dist/launcher/npm-runtime-update.service.js +0 -185
- package/dist/launcher/npm-runtime-update.service.js.map +0 -1
- package/dist/service-runtime.service.d.ts +0 -88
- package/dist/service-runtime.service.d.ts.map +0 -1
- package/dist/service-runtime.service.js +0 -366
- package/dist/service-runtime.service.js.map +0 -1
- package/dist/shared/controllers/gateway.controller.d.ts +0 -54
- package/dist/shared/controllers/gateway.controller.d.ts.map +0 -1
- package/dist/shared/controllers/gateway.controller.js +0 -162
- package/dist/shared/controllers/gateway.controller.js.map +0 -1
- package/dist/shared/services/gateway/gateway-restart-wake.service.d.ts +0 -13
- package/dist/shared/services/gateway/gateway-restart-wake.service.d.ts.map +0 -1
- package/dist/shared/services/gateway/gateway-restart-wake.service.js +0 -99
- package/dist/shared/services/gateway/gateway-restart-wake.service.js.map +0 -1
- package/dist/shared/services/gateway/managers/gateway-extension.manager.d.ts +0 -29
- package/dist/shared/services/gateway/managers/gateway-extension.manager.d.ts.map +0 -1
- package/dist/shared/services/gateway/managers/gateway-extension.manager.js +0 -78
- package/dist/shared/services/gateway/managers/gateway-extension.manager.js.map +0 -1
- package/dist/shared/services/gateway/managers/gateway-remote.manager.d.ts +0 -23
- package/dist/shared/services/gateway/managers/gateway-remote.manager.d.ts.map +0 -1
- package/dist/shared/services/gateway/managers/gateway-remote.manager.js +0 -28
- package/dist/shared/services/gateway/managers/gateway-remote.manager.js.map +0 -1
- package/dist/shared/services/gateway/nextclaw-app.service.d.ts +0 -18
- package/dist/shared/services/gateway/nextclaw-app.service.d.ts.map +0 -1
- package/dist/shared/services/gateway/nextclaw-app.service.js +0 -44
- package/dist/shared/services/gateway/nextclaw-app.service.js.map +0 -1
- package/dist/shared/services/gateway/nextclaw-gateway-runtime.service.d.ts +0 -85
- package/dist/shared/services/gateway/nextclaw-gateway-runtime.service.d.ts.map +0 -1
- package/dist/shared/services/gateway/nextclaw-gateway-runtime.service.js +0 -278
- package/dist/shared/services/gateway/nextclaw-gateway-runtime.service.js.map +0 -1
- package/dist/shared/services/gateway/service-bootstrap-status.service.d.ts +0 -33
- package/dist/shared/services/gateway/service-bootstrap-status.service.d.ts.map +0 -1
- package/dist/shared/services/gateway/service-bootstrap-status.service.js +0 -144
- package/dist/shared/services/gateway/service-bootstrap-status.service.js.map +0 -1
- package/dist/shared/services/gateway/service-startup-support.service.d.ts +0 -35
- package/dist/shared/services/gateway/service-startup-support.service.d.ts.map +0 -1
- package/dist/shared/services/gateway/service-startup-support.service.js +0 -85
- package/dist/shared/services/gateway/service-startup-support.service.js.map +0 -1
- package/dist/shared/services/gateway/utils/cron-job-handler.utils.d.ts +0 -18
- package/dist/shared/services/gateway/utils/cron-job-handler.utils.d.ts.map +0 -1
- package/dist/shared/services/gateway/utils/cron-job-handler.utils.js +0 -56
- package/dist/shared/services/gateway/utils/cron-job-handler.utils.js.map +0 -1
- package/dist/shared/services/gateway/utils/gateway-runtime-lifecycle.utils.d.ts +0 -10
- package/dist/shared/services/gateway/utils/gateway-runtime-lifecycle.utils.d.ts.map +0 -1
- package/dist/shared/services/gateway/utils/gateway-runtime-lifecycle.utils.js +0 -12
- package/dist/shared/services/gateway/utils/gateway-runtime-lifecycle.utils.js.map +0 -1
- package/dist/shared/services/marketplace/service-marketplace-installer.service.d.ts +0 -29
- package/dist/shared/services/marketplace/service-marketplace-installer.service.d.ts.map +0 -1
- package/dist/shared/services/marketplace/service-marketplace-installer.service.js +0 -87
- package/dist/shared/services/marketplace/service-marketplace-installer.service.js.map +0 -1
- package/dist/shared/services/marketplace/service-mcp-marketplace-ops.d.ts +0 -40
- package/dist/shared/services/marketplace/service-mcp-marketplace-ops.d.ts.map +0 -1
- package/dist/shared/services/marketplace/service-mcp-marketplace-ops.js +0 -69
- package/dist/shared/services/marketplace/service-mcp-marketplace-ops.js.map +0 -1
- package/dist/shared/services/restart/restart-coordinator.service.d.ts +0 -31
- package/dist/shared/services/restart/restart-coordinator.service.d.ts.map +0 -1
- package/dist/shared/services/restart/restart-coordinator.service.js +0 -53
- package/dist/shared/services/restart/restart-coordinator.service.js.map +0 -1
- package/dist/shared/services/restart/runtime-restart-request.service.d.ts +0 -25
- package/dist/shared/services/restart/runtime-restart-request.service.d.ts.map +0 -1
- package/dist/shared/services/restart/runtime-restart-request.service.js +0 -44
- package/dist/shared/services/restart/runtime-restart-request.service.js.map +0 -1
- package/dist/shared/services/runtime/managed-service-supervisor.service.d.ts +0 -85
- package/dist/shared/services/runtime/managed-service-supervisor.service.d.ts.map +0 -1
- package/dist/shared/services/runtime/managed-service-supervisor.service.js +0 -271
- package/dist/shared/services/runtime/managed-service-supervisor.service.js.map +0 -1
- package/dist/shared/services/runtime/nextclaw-distribution.service.d.ts +0 -11
- package/dist/shared/services/runtime/nextclaw-distribution.service.d.ts.map +0 -1
- package/dist/shared/services/runtime/nextclaw-distribution.service.js +0 -15
- package/dist/shared/services/runtime/nextclaw-distribution.service.js.map +0 -1
- package/dist/shared/services/runtime/runtime-command.service.d.ts +0 -42
- package/dist/shared/services/runtime/runtime-command.service.d.ts.map +0 -1
- package/dist/shared/services/runtime/runtime-command.service.js +0 -195
- package/dist/shared/services/runtime/runtime-command.service.js.map +0 -1
- package/dist/shared/services/runtime/runtime-config-init.service.d.ts +0 -5
- package/dist/shared/services/runtime/runtime-config-init.service.d.ts.map +0 -1
- package/dist/shared/services/runtime/runtime-config-init.service.js +0 -12
- package/dist/shared/services/runtime/runtime-config-init.service.js.map +0 -1
- package/dist/shared/services/runtime/service-managed-startup.service.d.ts +0 -95
- package/dist/shared/services/runtime/service-managed-startup.service.d.ts.map +0 -1
- package/dist/shared/services/runtime/service-managed-startup.service.js +0 -341
- package/dist/shared/services/runtime/service-managed-startup.service.js.map +0 -1
- package/dist/shared/services/runtime/utils/managed-service-routing.utils.d.ts +0 -31
- package/dist/shared/services/runtime/utils/managed-service-routing.utils.d.ts.map +0 -1
- package/dist/shared/services/runtime/utils/managed-service-routing.utils.js +0 -64
- package/dist/shared/services/runtime/utils/managed-service-routing.utils.js.map +0 -1
- package/dist/shared/services/runtime/utils/service-remote-runtime.utils.d.ts +0 -58
- package/dist/shared/services/runtime/utils/service-remote-runtime.utils.d.ts.map +0 -1
- package/dist/shared/services/runtime/utils/service-remote-runtime.utils.js +0 -184
- package/dist/shared/services/runtime/utils/service-remote-runtime.utils.js.map +0 -1
- package/dist/shared/services/ui/companion-runtime.service.d.ts +0 -36
- package/dist/shared/services/ui/companion-runtime.service.d.ts.map +0 -1
- package/dist/shared/services/ui/companion-runtime.service.js +0 -180
- package/dist/shared/services/ui/companion-runtime.service.js.map +0 -1
- package/dist/shared/services/ui/local-ui-discovery.service.d.ts +0 -20
- package/dist/shared/services/ui/local-ui-discovery.service.d.ts.map +0 -1
- package/dist/shared/services/ui/local-ui-discovery.service.js +0 -43
- package/dist/shared/services/ui/local-ui-discovery.service.js.map +0 -1
- package/dist/shared/services/ui/npm-runtime-update-host.service.d.ts +0 -41
- package/dist/shared/services/ui/npm-runtime-update-host.service.d.ts.map +0 -1
- package/dist/shared/services/ui/npm-runtime-update-host.service.js +0 -189
- package/dist/shared/services/ui/npm-runtime-update-host.service.js.map +0 -1
- package/dist/shared/services/ui/runtime-control-host.service.d.ts +0 -29
- package/dist/shared/services/ui/runtime-control-host.service.d.ts.map +0 -1
- package/dist/shared/services/ui/runtime-control-host.service.js +0 -91
- package/dist/shared/services/ui/runtime-control-host.service.js.map +0 -1
- package/dist/shared/services/ui/service-remote-access.service.d.ts +0 -26
- package/dist/shared/services/ui/service-remote-access.service.d.ts.map +0 -1
- package/dist/shared/services/ui/service-remote-access.service.js +0 -40
- package/dist/shared/services/ui/service-remote-access.service.js.map +0 -1
- package/dist/shared/services/ui/ui-bridge-api.service.d.ts +0 -17
- package/dist/shared/services/ui/ui-bridge-api.service.d.ts.map +0 -1
- package/dist/shared/services/ui/ui-bridge-api.service.js +0 -45
- package/dist/shared/services/ui/ui-bridge-api.service.js.map +0 -1
- package/dist/shared/services/workspace/workspace-manager.service.d.ts +0 -14
- package/dist/shared/services/workspace/workspace-manager.service.d.ts.map +0 -1
- package/dist/shared/services/workspace/workspace-manager.service.js +0 -86
- package/dist/shared/services/workspace/workspace-manager.service.js.map +0 -1
- package/dist/shared/stores/companion-runtime.store.d.ts +0 -16
- package/dist/shared/stores/companion-runtime.store.d.ts.map +0 -1
- package/dist/shared/stores/companion-runtime.store.js +0 -29
- package/dist/shared/stores/companion-runtime.store.js.map +0 -1
- package/dist/shared/stores/local-ui-runtime.store.d.ts +0 -26
- package/dist/shared/stores/local-ui-runtime.store.d.ts.map +0 -1
- package/dist/shared/stores/local-ui-runtime.store.js +0 -56
- package/dist/shared/stores/local-ui-runtime.store.js.map +0 -1
- package/dist/shared/stores/managed-service-state.store.d.ts +0 -46
- package/dist/shared/stores/managed-service-state.store.d.ts.map +0 -1
- package/dist/shared/stores/managed-service-state.store.js +0 -40
- package/dist/shared/stores/managed-service-state.store.js.map +0 -1
- package/dist/shared/stores/pending-restart.store.d.ts +0 -22
- package/dist/shared/stores/pending-restart.store.d.ts.map +0 -1
- package/dist/shared/stores/pending-restart.store.js +0 -37
- package/dist/shared/stores/pending-restart.store.js.map +0 -1
- package/dist/shared/types/cli.types.d.ts +0 -304
- package/dist/shared/types/cli.types.d.ts.map +0 -1
- package/dist/shared/types/distribution.types.d.ts +0 -11
- package/dist/shared/types/distribution.types.d.ts.map +0 -1
- package/dist/shared/utils/cli.utils.d.ts +0 -32
- package/dist/shared/utils/cli.utils.d.ts.map +0 -1
- package/dist/shared/utils/cli.utils.js +0 -254
- package/dist/shared/utils/cli.utils.js.map +0 -1
- package/dist/shared/utils/config-path.d.ts +0 -16
- package/dist/shared/utils/config-path.d.ts.map +0 -1
- package/dist/shared/utils/config-path.js +0 -169
- package/dist/shared/utils/config-path.js.map +0 -1
- package/dist/shared/utils/marketplace/cli-subcommand-launch.utils.d.ts +0 -17
- package/dist/shared/utils/marketplace/cli-subcommand-launch.utils.d.ts.map +0 -1
- package/dist/shared/utils/marketplace/cli-subcommand-launch.utils.js +0 -48
- package/dist/shared/utils/marketplace/cli-subcommand-launch.utils.js.map +0 -1
- package/dist/shared/utils/marketplace/service-marketplace-helpers.utils.d.ts +0 -15
- package/dist/shared/utils/marketplace/service-marketplace-helpers.utils.d.ts.map +0 -1
- package/dist/shared/utils/marketplace/service-marketplace-helpers.utils.js +0 -47
- package/dist/shared/utils/marketplace/service-marketplace-helpers.utils.js.map +0 -1
- package/dist/shared/utils/package/package-manifest.utils.d.ts +0 -5
- package/dist/shared/utils/package/package-manifest.utils.d.ts.map +0 -1
- package/dist/shared/utils/package/package-manifest.utils.js +0 -40
- package/dist/shared/utils/package/package-manifest.utils.js.map +0 -1
- package/dist/shared/utils/panel-app-client-sdk/panel-app-client-sdk-script.utils.d.ts +0 -5
- package/dist/shared/utils/panel-app-client-sdk/panel-app-client-sdk-script.utils.d.ts.map +0 -1
- package/dist/shared/utils/panel-app-client-sdk/panel-app-client-sdk-script.utils.js +0 -37
- package/dist/shared/utils/panel-app-client-sdk/panel-app-client-sdk-script.utils.js.map +0 -1
- package/dist/shared/utils/restart/restart-sentinel.utils.d.ts +0 -37
- package/dist/shared/utils/restart/restart-sentinel.utils.d.ts.map +0 -1
- package/dist/shared/utils/restart/restart-sentinel.utils.js +0 -76
- package/dist/shared/utils/restart/restart-sentinel.utils.js.map +0 -1
- package/dist/shared/utils/runtime-helpers.d.ts +0 -15
- package/dist/shared/utils/runtime-helpers.d.ts.map +0 -1
- package/dist/shared/utils/runtime-helpers.js +0 -28
- package/dist/shared/utils/runtime-helpers.js.map +0 -1
- package/dist/shared/utils/service-port-probe.utils.d.ts +0 -42
- package/dist/shared/utils/service-port-probe.utils.d.ts.map +0 -1
- package/dist/shared/utils/service-port-probe.utils.js +0 -166
- package/dist/shared/utils/service-port-probe.utils.js.map +0 -1
- package/dist/shared/utils/startup-trace.d.ts +0 -8
- package/dist/shared/utils/startup-trace.d.ts.map +0 -1
- package/dist/shared/utils/startup-trace.js +0 -39
- package/dist/shared/utils/startup-trace.js.map +0 -1
- package/dist/shared/utils/top-level-nextclaw-command-env.utils.d.ts +0 -5
- package/dist/shared/utils/top-level-nextclaw-command-env.utils.d.ts.map +0 -1
- package/dist/shared/utils/top-level-nextclaw-command-env.utils.js +0 -12
- package/dist/shared/utils/top-level-nextclaw-command-env.utils.js.map +0 -1
- /package/dist/{shared/types → types}/cli.types.js +0 -0
- /package/dist/{shared/types → types}/distribution.types.js +0 -0
- /package/dist/{commands/service/types/autostart → types}/host-autostart.types.js +0 -0
- /package/dist/{launcher → types}/npm-runtime-bundle.types.js +0 -0
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { buildPlatformApiBaseErrorMessage, resolvePlatformApiBase } from "../../utils/remote/platform-api-base.utils.js";
|
|
2
|
+
import { buildNextclawConfiguredRemoteState, createNextclawRemoteConnector, createNextclawRemoteStatusStore, hasRunningNextclawManagedService, resolveNextclawRemoteStatusSnapshot } from "../../utils/remote/remote-runtime-support.utils.js";
|
|
3
|
+
import { localUiDiscoveryService } from "../../services/ui/local-ui-discovery.service.js";
|
|
4
|
+
import { getConfigPath, loadConfig, saveConfig } from "@nextclaw/core";
|
|
5
|
+
import { readPlatformSessionTokenState } from "@nextclaw/remote";
|
|
6
|
+
import { hostname } from "node:os";
|
|
7
|
+
//#region src/controllers/commands/remote-command.controller.ts
|
|
8
|
+
function normalizeOptionalString(value) {
|
|
9
|
+
if (typeof value !== "string") return;
|
|
10
|
+
const trimmed = value.trim();
|
|
11
|
+
return trimmed.length > 0 ? trimmed : void 0;
|
|
12
|
+
}
|
|
13
|
+
function resolveConfiguredLocalOrigin(config) {
|
|
14
|
+
return localUiDiscoveryService.resolveLocalOrigin(config);
|
|
15
|
+
}
|
|
16
|
+
async function probeLocalUi(localOrigin) {
|
|
17
|
+
try {
|
|
18
|
+
const response = await fetch(`${localOrigin}/api/health`);
|
|
19
|
+
if (!response.ok) return {
|
|
20
|
+
ok: false,
|
|
21
|
+
detail: `health returned ${response.status}`
|
|
22
|
+
};
|
|
23
|
+
return {
|
|
24
|
+
ok: true,
|
|
25
|
+
detail: "health endpoint returned ok"
|
|
26
|
+
};
|
|
27
|
+
} catch (error) {
|
|
28
|
+
return {
|
|
29
|
+
ok: false,
|
|
30
|
+
detail: error instanceof Error ? error.message : String(error)
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function describePlatformTokenCheck(token) {
|
|
35
|
+
const tokenState = readPlatformSessionTokenState(token);
|
|
36
|
+
if (tokenState.valid) return {
|
|
37
|
+
name: "platform-token",
|
|
38
|
+
ok: true,
|
|
39
|
+
detail: "platform session token configured"
|
|
40
|
+
};
|
|
41
|
+
if (tokenState.reason === "expired") return {
|
|
42
|
+
name: "platform-token",
|
|
43
|
+
ok: false,
|
|
44
|
+
detail: "platform session token expired; run remote browser login or \"nextclaw login\" again"
|
|
45
|
+
};
|
|
46
|
+
if (tokenState.reason === "malformed") return {
|
|
47
|
+
name: "platform-token",
|
|
48
|
+
ok: false,
|
|
49
|
+
detail: "platform session token invalid; run remote browser login or \"nextclaw login\" again"
|
|
50
|
+
};
|
|
51
|
+
return {
|
|
52
|
+
name: "platform-token",
|
|
53
|
+
ok: false,
|
|
54
|
+
detail: "run remote browser login or \"nextclaw login\" first"
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
var RemoteCommands = class {
|
|
58
|
+
constructor(deps = {}) {
|
|
59
|
+
this.deps = deps;
|
|
60
|
+
}
|
|
61
|
+
updateConfig(params = {}) {
|
|
62
|
+
const config = loadConfig(getConfigPath());
|
|
63
|
+
const nextEnabled = typeof params.enabled === "boolean" ? params.enabled : config.remote.enabled;
|
|
64
|
+
const nextPlatformApiBase = typeof params.apiBase === "string" ? params.apiBase.trim() : config.remote.platformApiBase;
|
|
65
|
+
const nextDeviceName = typeof params.name === "string" ? params.name.trim() : config.remote.deviceName;
|
|
66
|
+
const next = {
|
|
67
|
+
...config,
|
|
68
|
+
remote: {
|
|
69
|
+
...config.remote,
|
|
70
|
+
enabled: nextEnabled,
|
|
71
|
+
platformApiBase: nextPlatformApiBase,
|
|
72
|
+
deviceName: nextDeviceName
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
saveConfig(next);
|
|
76
|
+
return {
|
|
77
|
+
changed: config.remote.enabled !== next.remote.enabled || config.remote.platformApiBase !== next.remote.platformApiBase || config.remote.deviceName !== next.remote.deviceName,
|
|
78
|
+
config: next
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
enableConfig(opts = {}) {
|
|
82
|
+
return this.updateConfig({
|
|
83
|
+
enabled: true,
|
|
84
|
+
apiBase: typeof opts.apiBase === "string" ? opts.apiBase : void 0,
|
|
85
|
+
name: typeof opts.name === "string" ? opts.name : void 0
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
disableConfig() {
|
|
89
|
+
return this.updateConfig({ enabled: false });
|
|
90
|
+
}
|
|
91
|
+
async connect(opts = {}) {
|
|
92
|
+
await createNextclawRemoteConnector().run({
|
|
93
|
+
...opts,
|
|
94
|
+
mode: "foreground"
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
getStatusView() {
|
|
98
|
+
const config = loadConfig(getConfigPath());
|
|
99
|
+
const snapshot = resolveNextclawRemoteStatusSnapshot(config);
|
|
100
|
+
const resolvedLocalOrigin = snapshot.runtime?.localOrigin ?? this.deps.currentLocalOrigin ?? resolveConfiguredLocalOrigin(config);
|
|
101
|
+
return {
|
|
102
|
+
configuredEnabled: snapshot.configuredEnabled,
|
|
103
|
+
runtime: snapshot.runtime,
|
|
104
|
+
localOrigin: resolvedLocalOrigin,
|
|
105
|
+
deviceName: snapshot.runtime?.deviceName ?? normalizeOptionalString(config.remote.deviceName) ?? hostname(),
|
|
106
|
+
platformBase: snapshot.runtime?.platformBase ?? normalizeOptionalString(config.remote.platformApiBase) ?? normalizeOptionalString(config.providers.nextclaw?.apiBase) ?? null
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
async status(opts = {}) {
|
|
110
|
+
const view = this.getStatusView();
|
|
111
|
+
if (opts.json) {
|
|
112
|
+
console.log(JSON.stringify(view, null, 2));
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
const runtime = view.runtime;
|
|
116
|
+
console.log("NextClaw Remote Status");
|
|
117
|
+
console.log(`Enabled: ${view.configuredEnabled ? "yes" : "no"}`);
|
|
118
|
+
console.log(`Mode: ${runtime?.mode ?? "service"}`);
|
|
119
|
+
console.log(`State: ${runtime?.state ?? "disabled"}`);
|
|
120
|
+
console.log(`Device: ${view.deviceName}`);
|
|
121
|
+
console.log(`Platform: ${view.platformBase ?? "not set"}`);
|
|
122
|
+
console.log(`Local origin: ${runtime?.localOrigin ?? view.localOrigin}`);
|
|
123
|
+
if (runtime?.deviceId) console.log(`Device ID: ${runtime.deviceId}`);
|
|
124
|
+
if (runtime?.lastConnectedAt) console.log(`Last connected: ${runtime.lastConnectedAt}`);
|
|
125
|
+
if (runtime?.lastError) console.log(`Last error: ${runtime.lastError}`);
|
|
126
|
+
}
|
|
127
|
+
async getDoctorView() {
|
|
128
|
+
const config = loadConfig(getConfigPath());
|
|
129
|
+
const snapshot = resolveNextclawRemoteStatusSnapshot(config);
|
|
130
|
+
const localOrigin = snapshot.runtime?.localOrigin ?? this.deps.currentLocalOrigin ?? resolveConfiguredLocalOrigin(config);
|
|
131
|
+
const localUi = await probeLocalUi(localOrigin);
|
|
132
|
+
const token = normalizeOptionalString(config.providers.nextclaw?.apiKey);
|
|
133
|
+
const platformApiBase = normalizeOptionalString(config.remote.platformApiBase) ?? normalizeOptionalString(config.providers.nextclaw?.apiBase);
|
|
134
|
+
const checks = [
|
|
135
|
+
{
|
|
136
|
+
name: "remote-enabled",
|
|
137
|
+
ok: snapshot.configuredEnabled,
|
|
138
|
+
detail: snapshot.configuredEnabled ? "enabled in config" : "disabled in config"
|
|
139
|
+
},
|
|
140
|
+
describePlatformTokenCheck(token),
|
|
141
|
+
{
|
|
142
|
+
name: "platform-api-base",
|
|
143
|
+
ok: Boolean(platformApiBase),
|
|
144
|
+
detail: platformApiBase ?? "set remote.platformApiBase or login with --api-base"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
name: "local-ui",
|
|
148
|
+
ok: localUi.ok,
|
|
149
|
+
detail: `${localOrigin} (${localUi.detail})`
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
name: "service-runtime",
|
|
153
|
+
ok: snapshot.runtime?.state === "connected",
|
|
154
|
+
detail: snapshot.runtime ? snapshot.runtime.state : "no managed remote runtime detected"
|
|
155
|
+
}
|
|
156
|
+
];
|
|
157
|
+
return {
|
|
158
|
+
generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
159
|
+
checks,
|
|
160
|
+
snapshot
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
async doctor(opts = {}) {
|
|
164
|
+
const report = await this.getDoctorView();
|
|
165
|
+
if (opts.json) {
|
|
166
|
+
console.log(JSON.stringify(report, null, 2));
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
console.log("NextClaw Remote Doctor");
|
|
170
|
+
for (const check of report.checks) console.log(`${check.ok ? "✓" : "✗"} ${check.name}: ${check.detail}`);
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
//#endregion
|
|
174
|
+
export { RemoteCommands, buildNextclawConfiguredRemoteState, buildPlatformApiBaseErrorMessage, createNextclawRemoteConnector, createNextclawRemoteStatusStore, hasRunningNextclawManagedService, resolveNextclawRemoteStatusSnapshot, resolvePlatformApiBase };
|
|
175
|
+
|
|
176
|
+
//# sourceMappingURL=remote-command.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-command.controller.js","names":[],"sources":["../../../src/controllers/commands/remote-command.controller.ts"],"sourcesContent":["import { getConfigPath, loadConfig, saveConfig, type Config } from \"@nextclaw/core\";\nimport {\n readPlatformSessionTokenState,\n type RemoteConnectCommandOptions,\n type RemoteDoctorCommandOptions,\n type RemoteEnableCommandOptions,\n type RemoteStatusCommandOptions,\n type RemoteStatusSnapshot\n} from \"@nextclaw/remote\";\nimport { hostname } from \"node:os\";\nimport { localUiDiscoveryService } from \"@nextclaw-service/services/ui/local-ui-discovery.service.js\";\nimport { createNextclawRemoteConnector, resolveNextclawRemoteStatusSnapshot } from \"@nextclaw-service/utils/remote/remote-runtime-support.utils.js\";\n\nexport {\n buildNextclawConfiguredRemoteState,\n createNextclawRemoteConnector,\n createNextclawRemoteStatusStore,\n hasRunningNextclawManagedService,\n resolveNextclawRemoteStatusSnapshot\n} from \"@nextclaw-service/utils/remote/remote-runtime-support.utils.js\";\nexport {\n buildPlatformApiBaseErrorMessage,\n resolvePlatformApiBase\n} from \"@nextclaw-service/utils/remote/platform-api-base.utils.js\";\n\ntype RemoteConfigChange = {\n changed: boolean;\n config: Config;\n};\n\nexport type RemoteCommandStatusView = {\n configuredEnabled: boolean;\n runtime: RemoteStatusSnapshot[\"runtime\"];\n localOrigin: string;\n deviceName: string;\n platformBase: string | null;\n};\n\nexport type RemoteCommandDoctorCheck = {\n name: string;\n ok: boolean;\n detail: string;\n};\n\nexport type RemoteCommandDoctorView = {\n generatedAt: string;\n checks: RemoteCommandDoctorCheck[];\n snapshot: RemoteStatusSnapshot;\n};\n\nfunction normalizeOptionalString(value: unknown): string | undefined {\n if (typeof value !== \"string\") {\n return undefined;\n }\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : undefined;\n}\n\nfunction resolveConfiguredLocalOrigin(config: Config): string {\n return localUiDiscoveryService.resolveLocalOrigin(config);\n}\n\nasync function probeLocalUi(localOrigin: string): Promise<{ ok: boolean; detail: string }> {\n try {\n const response = await fetch(`${localOrigin}/api/health`);\n if (!response.ok) {\n return { ok: false, detail: `health returned ${response.status}` };\n }\n return { ok: true, detail: \"health endpoint returned ok\" };\n } catch (error) {\n return {\n ok: false,\n detail: error instanceof Error ? error.message : String(error)\n };\n }\n}\n\nfunction describePlatformTokenCheck(token: string | undefined): RemoteCommandDoctorCheck {\n const tokenState = readPlatformSessionTokenState(token);\n if (tokenState.valid) {\n return {\n name: \"platform-token\",\n ok: true,\n detail: \"platform session token configured\"\n };\n }\n if (tokenState.reason === \"expired\") {\n return {\n name: \"platform-token\",\n ok: false,\n detail: 'platform session token expired; run remote browser login or \"nextclaw login\" again'\n };\n }\n if (tokenState.reason === \"malformed\") {\n return {\n name: \"platform-token\",\n ok: false,\n detail: 'platform session token invalid; run remote browser login or \"nextclaw login\" again'\n };\n }\n return {\n name: \"platform-token\",\n ok: false,\n detail: 'run remote browser login or \"nextclaw login\" first'\n };\n}\n\nexport class RemoteCommands {\n constructor(private readonly deps: { currentLocalOrigin?: string } = {}) {}\n\n updateConfig(params: {\n enabled?: boolean;\n apiBase?: string;\n name?: string;\n } = {}): RemoteConfigChange {\n const config = loadConfig(getConfigPath());\n const nextEnabled = typeof params.enabled === \"boolean\" ? params.enabled : config.remote.enabled;\n const nextPlatformApiBase =\n typeof params.apiBase === \"string\" ? params.apiBase.trim() : config.remote.platformApiBase;\n const nextDeviceName =\n typeof params.name === \"string\" ? params.name.trim() : config.remote.deviceName;\n const next: Config = {\n ...config,\n remote: {\n ...config.remote,\n enabled: nextEnabled,\n platformApiBase: nextPlatformApiBase,\n deviceName: nextDeviceName\n }\n };\n saveConfig(next);\n return {\n changed:\n config.remote.enabled !== next.remote.enabled ||\n config.remote.platformApiBase !== next.remote.platformApiBase ||\n config.remote.deviceName !== next.remote.deviceName,\n config: next\n };\n }\n\n enableConfig(opts: RemoteEnableCommandOptions = {}): RemoteConfigChange {\n return this.updateConfig({\n enabled: true,\n apiBase: typeof opts.apiBase === \"string\" ? opts.apiBase : undefined,\n name: typeof opts.name === \"string\" ? opts.name : undefined\n });\n }\n\n disableConfig(): RemoteConfigChange {\n return this.updateConfig({ enabled: false });\n }\n\n async connect(opts: RemoteConnectCommandOptions = {}): Promise<void> {\n const connector = createNextclawRemoteConnector();\n await connector.run({\n ...opts,\n mode: \"foreground\"\n });\n }\n\n getStatusView(): RemoteCommandStatusView {\n const config = loadConfig(getConfigPath());\n const snapshot = resolveNextclawRemoteStatusSnapshot(config);\n const resolvedLocalOrigin =\n snapshot.runtime?.localOrigin ??\n this.deps.currentLocalOrigin ??\n resolveConfiguredLocalOrigin(config);\n return {\n configuredEnabled: snapshot.configuredEnabled,\n runtime: snapshot.runtime,\n localOrigin: resolvedLocalOrigin,\n deviceName: snapshot.runtime?.deviceName ?? normalizeOptionalString(config.remote.deviceName) ?? hostname(),\n platformBase:\n snapshot.runtime?.platformBase ??\n normalizeOptionalString(config.remote.platformApiBase) ??\n normalizeOptionalString(config.providers.nextclaw?.apiBase) ??\n null\n };\n }\n\n async status(opts: RemoteStatusCommandOptions = {}): Promise<void> {\n const view = this.getStatusView();\n\n if (opts.json) {\n console.log(JSON.stringify(view, null, 2));\n return;\n }\n\n const runtime = view.runtime;\n console.log(\"NextClaw Remote Status\");\n console.log(`Enabled: ${view.configuredEnabled ? \"yes\" : \"no\"}`);\n console.log(`Mode: ${runtime?.mode ?? \"service\"}`);\n console.log(`State: ${runtime?.state ?? \"disabled\"}`);\n console.log(`Device: ${view.deviceName}`);\n console.log(`Platform: ${view.platformBase ?? \"not set\"}`);\n console.log(`Local origin: ${runtime?.localOrigin ?? view.localOrigin}`);\n if (runtime?.deviceId) {\n console.log(`Device ID: ${runtime.deviceId}`);\n }\n if (runtime?.lastConnectedAt) {\n console.log(`Last connected: ${runtime.lastConnectedAt}`);\n }\n if (runtime?.lastError) {\n console.log(`Last error: ${runtime.lastError}`);\n }\n }\n\n async getDoctorView(): Promise<RemoteCommandDoctorView> {\n const config = loadConfig(getConfigPath());\n const snapshot = resolveNextclawRemoteStatusSnapshot(config);\n const localOrigin =\n snapshot.runtime?.localOrigin ??\n this.deps.currentLocalOrigin ??\n resolveConfiguredLocalOrigin(config);\n const localUi = await probeLocalUi(localOrigin);\n const token = normalizeOptionalString(config.providers.nextclaw?.apiKey);\n const platformApiBase =\n normalizeOptionalString(config.remote.platformApiBase) ??\n normalizeOptionalString(config.providers.nextclaw?.apiBase);\n const checks = [\n {\n name: \"remote-enabled\",\n ok: snapshot.configuredEnabled,\n detail: snapshot.configuredEnabled ? \"enabled in config\" : \"disabled in config\"\n },\n describePlatformTokenCheck(token),\n {\n name: \"platform-api-base\",\n ok: Boolean(platformApiBase),\n detail: platformApiBase ?? \"set remote.platformApiBase or login with --api-base\"\n },\n {\n name: \"local-ui\",\n ok: localUi.ok,\n detail: `${localOrigin} (${localUi.detail})`\n },\n {\n name: \"service-runtime\",\n ok: snapshot.runtime?.state === \"connected\",\n detail: snapshot.runtime ? snapshot.runtime.state : \"no managed remote runtime detected\"\n }\n ];\n return {\n generatedAt: new Date().toISOString(),\n checks,\n snapshot\n };\n }\n\n async doctor(opts: RemoteDoctorCommandOptions = {}): Promise<void> {\n const report = await this.getDoctorView();\n\n if (opts.json) {\n console.log(JSON.stringify(report, null, 2));\n return;\n }\n\n console.log(\"NextClaw Remote Doctor\");\n for (const check of report.checks) {\n console.log(`${check.ok ? \"✓\" : \"✗\"} ${check.name}: ${check.detail}`);\n }\n }\n}\n"],"mappings":";;;;;;;AAkDA,SAAS,wBAAwB,OAAoC;AACnE,KAAI,OAAO,UAAU,SACnB;CAEF,MAAM,UAAU,MAAM,MAAM;AAC5B,QAAO,QAAQ,SAAS,IAAI,UAAU,KAAA;;AAGxC,SAAS,6BAA6B,QAAwB;AAC5D,QAAO,wBAAwB,mBAAmB,OAAO;;AAG3D,eAAe,aAAa,aAA+D;AACzF,KAAI;EACF,MAAM,WAAW,MAAM,MAAM,GAAG,YAAY,aAAa;AACzD,MAAI,CAAC,SAAS,GACZ,QAAO;GAAE,IAAI;GAAO,QAAQ,mBAAmB,SAAS;GAAU;AAEpE,SAAO;GAAE,IAAI;GAAM,QAAQ;GAA+B;UACnD,OAAO;AACd,SAAO;GACL,IAAI;GACJ,QAAQ,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;GAC/D;;;AAIL,SAAS,2BAA2B,OAAqD;CACvF,MAAM,aAAa,8BAA8B,MAAM;AACvD,KAAI,WAAW,MACb,QAAO;EACL,MAAM;EACN,IAAI;EACJ,QAAQ;EACT;AAEH,KAAI,WAAW,WAAW,UACxB,QAAO;EACL,MAAM;EACN,IAAI;EACJ,QAAQ;EACT;AAEH,KAAI,WAAW,WAAW,YACxB,QAAO;EACL,MAAM;EACN,IAAI;EACJ,QAAQ;EACT;AAEH,QAAO;EACL,MAAM;EACN,IAAI;EACJ,QAAQ;EACT;;AAGH,IAAa,iBAAb,MAA4B;CAC1B,YAAY,OAAyD,EAAE,EAAE;AAA5C,OAAA,OAAA;;CAE7B,aAAa,SAIT,EAAE,EAAsB;EAC1B,MAAM,SAAS,WAAW,eAAe,CAAC;EAC1C,MAAM,cAAc,OAAO,OAAO,YAAY,YAAY,OAAO,UAAU,OAAO,OAAO;EACzF,MAAM,sBACJ,OAAO,OAAO,YAAY,WAAW,OAAO,QAAQ,MAAM,GAAG,OAAO,OAAO;EAC7E,MAAM,iBACJ,OAAO,OAAO,SAAS,WAAW,OAAO,KAAK,MAAM,GAAG,OAAO,OAAO;EACvE,MAAM,OAAe;GACnB,GAAG;GACH,QAAQ;IACN,GAAG,OAAO;IACV,SAAS;IACT,iBAAiB;IACjB,YAAY;IACb;GACF;AACD,aAAW,KAAK;AAChB,SAAO;GACL,SACE,OAAO,OAAO,YAAY,KAAK,OAAO,WACtC,OAAO,OAAO,oBAAoB,KAAK,OAAO,mBAC9C,OAAO,OAAO,eAAe,KAAK,OAAO;GAC3C,QAAQ;GACT;;CAGH,aAAa,OAAmC,EAAE,EAAsB;AACtE,SAAO,KAAK,aAAa;GACvB,SAAS;GACT,SAAS,OAAO,KAAK,YAAY,WAAW,KAAK,UAAU,KAAA;GAC3D,MAAM,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO,KAAA;GACnD,CAAC;;CAGJ,gBAAoC;AAClC,SAAO,KAAK,aAAa,EAAE,SAAS,OAAO,CAAC;;CAG9C,MAAM,QAAQ,OAAoC,EAAE,EAAiB;AAEnE,QADkB,+BAA+B,CACjC,IAAI;GAClB,GAAG;GACH,MAAM;GACP,CAAC;;CAGJ,gBAAyC;EACvC,MAAM,SAAS,WAAW,eAAe,CAAC;EAC1C,MAAM,WAAW,oCAAoC,OAAO;EAC5D,MAAM,sBACJ,SAAS,SAAS,eAClB,KAAK,KAAK,sBACV,6BAA6B,OAAO;AACtC,SAAO;GACL,mBAAmB,SAAS;GAC5B,SAAS,SAAS;GAClB,aAAa;GACb,YAAY,SAAS,SAAS,cAAc,wBAAwB,OAAO,OAAO,WAAW,IAAI,UAAU;GAC3G,cACE,SAAS,SAAS,gBAClB,wBAAwB,OAAO,OAAO,gBAAgB,IACtD,wBAAwB,OAAO,UAAU,UAAU,QAAQ,IAC3D;GACH;;CAGH,MAAM,OAAO,OAAmC,EAAE,EAAiB;EACjE,MAAM,OAAO,KAAK,eAAe;AAEjC,MAAI,KAAK,MAAM;AACb,WAAQ,IAAI,KAAK,UAAU,MAAM,MAAM,EAAE,CAAC;AAC1C;;EAGF,MAAM,UAAU,KAAK;AACrB,UAAQ,IAAI,yBAAyB;AACrC,UAAQ,IAAI,YAAY,KAAK,oBAAoB,QAAQ,OAAO;AAChE,UAAQ,IAAI,SAAS,SAAS,QAAQ,YAAY;AAClD,UAAQ,IAAI,UAAU,SAAS,SAAS,aAAa;AACrD,UAAQ,IAAI,WAAW,KAAK,aAAa;AACzC,UAAQ,IAAI,aAAa,KAAK,gBAAgB,YAAY;AAC1D,UAAQ,IAAI,iBAAiB,SAAS,eAAe,KAAK,cAAc;AACxE,MAAI,SAAS,SACX,SAAQ,IAAI,cAAc,QAAQ,WAAW;AAE/C,MAAI,SAAS,gBACX,SAAQ,IAAI,mBAAmB,QAAQ,kBAAkB;AAE3D,MAAI,SAAS,UACX,SAAQ,IAAI,eAAe,QAAQ,YAAY;;CAInD,MAAM,gBAAkD;EACtD,MAAM,SAAS,WAAW,eAAe,CAAC;EAC1C,MAAM,WAAW,oCAAoC,OAAO;EAC5D,MAAM,cACJ,SAAS,SAAS,eAClB,KAAK,KAAK,sBACV,6BAA6B,OAAO;EACtC,MAAM,UAAU,MAAM,aAAa,YAAY;EAC/C,MAAM,QAAQ,wBAAwB,OAAO,UAAU,UAAU,OAAO;EACxE,MAAM,kBACJ,wBAAwB,OAAO,OAAO,gBAAgB,IACtD,wBAAwB,OAAO,UAAU,UAAU,QAAQ;EAC7D,MAAM,SAAS;GACb;IACE,MAAM;IACN,IAAI,SAAS;IACb,QAAQ,SAAS,oBAAoB,sBAAsB;IAC5D;GACD,2BAA2B,MAAM;GACjC;IACE,MAAM;IACN,IAAI,QAAQ,gBAAgB;IAC5B,QAAQ,mBAAmB;IAC5B;GACD;IACE,MAAM;IACN,IAAI,QAAQ;IACZ,QAAQ,GAAG,YAAY,IAAI,QAAQ,OAAO;IAC3C;GACD;IACE,MAAM;IACN,IAAI,SAAS,SAAS,UAAU;IAChC,QAAQ,SAAS,UAAU,SAAS,QAAQ,QAAQ;IACrD;GACF;AACD,SAAO;GACL,8BAAa,IAAI,MAAM,EAAC,aAAa;GACrC;GACA;GACD;;CAGH,MAAM,OAAO,OAAmC,EAAE,EAAiB;EACjE,MAAM,SAAS,MAAM,KAAK,eAAe;AAEzC,MAAI,KAAK,MAAM;AACb,WAAQ,IAAI,KAAK,UAAU,QAAQ,MAAM,EAAE,CAAC;AAC5C;;AAGF,UAAQ,IAAI,yBAAyB;AACrC,OAAK,MAAM,SAAS,OAAO,OACzB,SAAQ,IAAI,GAAG,MAAM,KAAK,MAAM,IAAI,GAAG,MAAM,KAAK,IAAI,MAAM,SAAS"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { StartCommandOptions } from "../../types/cli.types.js";
|
|
2
|
+
import { ManagedServiceManager } from "../../managers/managed-service.manager.js";
|
|
3
|
+
import { StartCommands } from "./start-command.controller.js";
|
|
4
|
+
|
|
5
|
+
//#region src/controllers/commands/restart-command.controller.d.ts
|
|
6
|
+
declare class RestartCommands {
|
|
7
|
+
private readonly deps;
|
|
8
|
+
constructor(deps: {
|
|
9
|
+
runtimeCommandService: ManagedServiceManager;
|
|
10
|
+
startCommands: StartCommands;
|
|
11
|
+
forcedPublicHost: string;
|
|
12
|
+
writeRestartSentinelFromExecContext: (reason: string) => Promise<void>;
|
|
13
|
+
});
|
|
14
|
+
run: (opts: StartCommandOptions) => Promise<void>;
|
|
15
|
+
private restartForegroundRuntime;
|
|
16
|
+
private resolveAdoptableForegroundRuntimePid;
|
|
17
|
+
private isAdoptableNextclawRuntimeCommand;
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { RestartCommands };
|
|
21
|
+
//# sourceMappingURL=restart-command.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restart-command.controller.d.ts","names":[],"sources":["../../../src/controllers/commands/restart-command.controller.ts"],"mappings":";;;;;cAUa,eAAA;EAAA,iBAEQ,IAAA;cAAA,IAAA;IACf,qBAAA,EAAuB,qBAAA;IACvB,aAAA,EAAe,aAAA;IACf,gBAAA;IACA,mCAAA,GAAsC,MAAA,aAAmB,OAAA;EAAA;EAI7D,GAAA,GAAa,IAAA,EAAM,mBAAA,KAAsB,OAAA;EAAA,QAuDjC,wBAAA;EAAA,QA6BA,oCAAA;EAAA,QAQA,iCAAA;AAAA"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { findListeningProcessByPort, isProcessRunning, resolveUiConfig, waitForExit } from "../../utils/cli.utils.js";
|
|
2
|
+
import { localUiRuntimeStore } from "../../stores/local-ui-runtime.store.js";
|
|
3
|
+
import { managedServiceStateStore } from "../../stores/managed-service-state.store.js";
|
|
4
|
+
import { describeUnmanagedHealthyTargetMessage } from "../../utils/service-port-probe.utils.js";
|
|
5
|
+
import "../../managers/managed-service.manager.js";
|
|
6
|
+
import { resolveManagedServiceUiOverrides } from "../../utils/runtime-helpers.utils.js";
|
|
7
|
+
import { APP_NAME, loadConfig } from "@nextclaw/core";
|
|
8
|
+
//#region src/controllers/commands/restart-command.controller.ts
|
|
9
|
+
var RestartCommands = class {
|
|
10
|
+
constructor(deps) {
|
|
11
|
+
this.deps = deps;
|
|
12
|
+
}
|
|
13
|
+
run = async (opts) => {
|
|
14
|
+
await this.deps.writeRestartSentinelFromExecContext("cli.restart");
|
|
15
|
+
const uiOverrides = resolveManagedServiceUiOverrides({
|
|
16
|
+
uiPort: opts.uiPort,
|
|
17
|
+
forcedPublicHost: this.deps.forcedPublicHost
|
|
18
|
+
});
|
|
19
|
+
const targetUi = resolveUiConfig(loadConfig(), uiOverrides);
|
|
20
|
+
const state = managedServiceStateStore.read();
|
|
21
|
+
if (state && isProcessRunning(state.pid)) {
|
|
22
|
+
console.log(`Restarting ${APP_NAME}...`);
|
|
23
|
+
await this.deps.runtimeCommandService.stopService();
|
|
24
|
+
} else {
|
|
25
|
+
const foregroundRuntime = localUiRuntimeStore.read();
|
|
26
|
+
const foregroundMatchesTarget = Boolean(foregroundRuntime && isProcessRunning(foregroundRuntime.pid) && foregroundRuntime.uiPort === targetUi.port);
|
|
27
|
+
if (foregroundRuntime && foregroundMatchesTarget) {
|
|
28
|
+
if (!await this.restartForegroundRuntime(foregroundRuntime.pid)) return;
|
|
29
|
+
await this.deps.startCommands.run(opts);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
if (state) {
|
|
33
|
+
managedServiceStateStore.clear();
|
|
34
|
+
console.log("Service state was stale and has been cleaned up.");
|
|
35
|
+
}
|
|
36
|
+
const unmanagedHealthyServiceMessage = await describeUnmanagedHealthyTargetMessage({ uiOverrides });
|
|
37
|
+
if (unmanagedHealthyServiceMessage) {
|
|
38
|
+
const adoptedRuntimePid = this.resolveAdoptableForegroundRuntimePid(targetUi.port);
|
|
39
|
+
if (adoptedRuntimePid) {
|
|
40
|
+
if (!await this.restartForegroundRuntime(adoptedRuntimePid)) return;
|
|
41
|
+
await this.deps.startCommands.run(opts);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
console.error(`Error: Cannot restart ${APP_NAME} because the target UI/API port is already served by a healthy unmanaged instance.`);
|
|
45
|
+
console.error(unmanagedHealthyServiceMessage);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (!state) console.log("No running service found. Starting a new service.");
|
|
49
|
+
}
|
|
50
|
+
await this.deps.startCommands.run(opts);
|
|
51
|
+
};
|
|
52
|
+
restartForegroundRuntime = async (pid) => {
|
|
53
|
+
console.log(`Restarting ${APP_NAME} foreground runtime (PID ${pid})...`);
|
|
54
|
+
try {
|
|
55
|
+
process.kill(pid, "SIGTERM");
|
|
56
|
+
} catch (error) {
|
|
57
|
+
console.error(`Failed to stop foreground runtime: ${String(error)}`);
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
if (!await waitForExit(pid, 3e3)) {
|
|
61
|
+
try {
|
|
62
|
+
process.kill(pid, "SIGKILL");
|
|
63
|
+
} catch (error) {
|
|
64
|
+
console.error(`Failed to force stop foreground runtime: ${String(error)}`);
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
if (!await waitForExit(pid, 2e3)) {
|
|
68
|
+
console.error(`Failed to stop foreground runtime PID ${pid}.`);
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
localUiRuntimeStore.clearIfOwnedByProcess(pid);
|
|
73
|
+
console.log(`✓ ${APP_NAME} foreground runtime stopped`);
|
|
74
|
+
return true;
|
|
75
|
+
};
|
|
76
|
+
resolveAdoptableForegroundRuntimePid = (port) => {
|
|
77
|
+
const listeningProcess = findListeningProcessByPort(port);
|
|
78
|
+
if (!listeningProcess || !isProcessRunning(listeningProcess.pid)) return null;
|
|
79
|
+
return this.isAdoptableNextclawRuntimeCommand(listeningProcess.command) ? listeningProcess.pid : null;
|
|
80
|
+
};
|
|
81
|
+
isAdoptableNextclawRuntimeCommand = (command) => {
|
|
82
|
+
const normalized = command?.trim() ?? "";
|
|
83
|
+
if (!normalized) return false;
|
|
84
|
+
return /\bserve\b/.test(normalized) && (normalized.includes("/dist/cli/app/index.js") || normalized.includes("/src/cli/app/index.js") || normalized.includes("/runtime/dist/cli/app/index.js"));
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
//#endregion
|
|
88
|
+
export { RestartCommands };
|
|
89
|
+
|
|
90
|
+
//# sourceMappingURL=restart-command.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restart-command.controller.js","names":[],"sources":["../../../src/controllers/commands/restart-command.controller.ts"],"sourcesContent":["import { APP_NAME, loadConfig } from \"@nextclaw/core\";\nimport { managedServiceStateStore } from \"@nextclaw-service/stores/managed-service-state.store.js\";\nimport { localUiRuntimeStore } from \"@nextclaw-service/stores/local-ui-runtime.store.js\";\nimport { findListeningProcessByPort, isProcessRunning, resolveUiConfig, waitForExit } from \"@nextclaw-service/utils/cli.utils.js\";\nimport { resolveManagedServiceUiOverrides } from \"@nextclaw-service/utils/runtime-helpers.utils.js\";\nimport { describeUnmanagedHealthyTargetMessage } from \"@nextclaw-service/managers/managed-service.manager.js\";\nimport type { ManagedServiceManager } from \"@nextclaw-service/managers/managed-service.manager.js\";\nimport type { StartCommandOptions } from \"@nextclaw-service/types/cli.types.js\";\nimport type { StartCommands } from \"@nextclaw-service/controllers/commands/start-command.controller.js\";\n\nexport class RestartCommands {\n constructor(\n private readonly deps: {\n runtimeCommandService: ManagedServiceManager;\n startCommands: StartCommands;\n forcedPublicHost: string;\n writeRestartSentinelFromExecContext: (reason: string) => Promise<void>;\n }\n ) {}\n\n run = async (opts: StartCommandOptions): Promise<void> => {\n await this.deps.writeRestartSentinelFromExecContext(\"cli.restart\");\n const uiOverrides = resolveManagedServiceUiOverrides({\n uiPort: opts.uiPort,\n forcedPublicHost: this.deps.forcedPublicHost\n });\n const targetUi = resolveUiConfig(loadConfig(), uiOverrides);\n\n const state = managedServiceStateStore.read();\n if (state && isProcessRunning(state.pid)) {\n console.log(`Restarting ${APP_NAME}...`);\n await this.deps.runtimeCommandService.stopService();\n } else {\n const foregroundRuntime = localUiRuntimeStore.read();\n const foregroundMatchesTarget = Boolean(\n foregroundRuntime &&\n isProcessRunning(foregroundRuntime.pid) &&\n foregroundRuntime.uiPort === targetUi.port\n );\n if (foregroundRuntime && foregroundMatchesTarget) {\n const restarted = await this.restartForegroundRuntime(foregroundRuntime.pid);\n if (!restarted) {\n return;\n }\n await this.deps.startCommands.run(opts);\n return;\n }\n if (state) {\n managedServiceStateStore.clear();\n console.log(\"Service state was stale and has been cleaned up.\");\n }\n\n const unmanagedHealthyServiceMessage = await describeUnmanagedHealthyTargetMessage({ uiOverrides });\n if (unmanagedHealthyServiceMessage) {\n const adoptedRuntimePid = this.resolveAdoptableForegroundRuntimePid(targetUi.port);\n if (adoptedRuntimePid) {\n const restarted = await this.restartForegroundRuntime(adoptedRuntimePid);\n if (!restarted) {\n return;\n }\n await this.deps.startCommands.run(opts);\n return;\n }\n console.error(`Error: Cannot restart ${APP_NAME} because the target UI/API port is already served by a healthy unmanaged instance.`);\n console.error(unmanagedHealthyServiceMessage);\n return;\n }\n if (!state) {\n console.log(\"No running service found. Starting a new service.\");\n }\n }\n\n await this.deps.startCommands.run(opts);\n };\n\n private restartForegroundRuntime = async (pid: number): Promise<boolean> => {\n console.log(`Restarting ${APP_NAME} foreground runtime (PID ${pid})...`);\n try {\n process.kill(pid, \"SIGTERM\");\n } catch (error) {\n console.error(`Failed to stop foreground runtime: ${String(error)}`);\n return false;\n }\n\n const stopped = await waitForExit(pid, 3000);\n if (!stopped) {\n try {\n process.kill(pid, \"SIGKILL\");\n } catch (error) {\n console.error(`Failed to force stop foreground runtime: ${String(error)}`);\n return false;\n }\n const forcedStopped = await waitForExit(pid, 2000);\n if (!forcedStopped) {\n console.error(`Failed to stop foreground runtime PID ${pid}.`);\n return false;\n }\n }\n\n localUiRuntimeStore.clearIfOwnedByProcess(pid);\n console.log(`✓ ${APP_NAME} foreground runtime stopped`);\n return true;\n };\n\n private resolveAdoptableForegroundRuntimePid = (port: number): number | null => {\n const listeningProcess = findListeningProcessByPort(port);\n if (!listeningProcess || !isProcessRunning(listeningProcess.pid)) {\n return null;\n }\n return this.isAdoptableNextclawRuntimeCommand(listeningProcess.command) ? listeningProcess.pid : null;\n };\n\n private isAdoptableNextclawRuntimeCommand = (command: string | null): boolean => {\n const normalized = command?.trim() ?? \"\";\n if (!normalized) {\n return false;\n }\n return (\n /\\bserve\\b/.test(normalized) &&\n (\n normalized.includes(\"/dist/cli/app/index.js\") ||\n normalized.includes(\"/src/cli/app/index.js\") ||\n normalized.includes(\"/runtime/dist/cli/app/index.js\")\n )\n );\n };\n}\n"],"mappings":";;;;;;;;AAUA,IAAa,kBAAb,MAA6B;CAC3B,YACE,MAMA;AANiB,OAAA,OAAA;;CAQnB,MAAM,OAAO,SAA6C;AACxD,QAAM,KAAK,KAAK,oCAAoC,cAAc;EAClE,MAAM,cAAc,iCAAiC;GACnD,QAAQ,KAAK;GACb,kBAAkB,KAAK,KAAK;GAC7B,CAAC;EACF,MAAM,WAAW,gBAAgB,YAAY,EAAE,YAAY;EAE3D,MAAM,QAAQ,yBAAyB,MAAM;AAC7C,MAAI,SAAS,iBAAiB,MAAM,IAAI,EAAE;AACxC,WAAQ,IAAI,cAAc,SAAS,KAAK;AACxC,SAAM,KAAK,KAAK,sBAAsB,aAAa;SAC9C;GACL,MAAM,oBAAoB,oBAAoB,MAAM;GACpD,MAAM,0BAA0B,QAC9B,qBACA,iBAAiB,kBAAkB,IAAI,IACvC,kBAAkB,WAAW,SAAS,KACvC;AACD,OAAI,qBAAqB,yBAAyB;AAEhD,QAAI,CADc,MAAM,KAAK,yBAAyB,kBAAkB,IAAI,CAE1E;AAEF,UAAM,KAAK,KAAK,cAAc,IAAI,KAAK;AACvC;;AAEF,OAAI,OAAO;AACT,6BAAyB,OAAO;AAChC,YAAQ,IAAI,mDAAmD;;GAGjE,MAAM,iCAAiC,MAAM,sCAAsC,EAAE,aAAa,CAAC;AACnG,OAAI,gCAAgC;IAClC,MAAM,oBAAoB,KAAK,qCAAqC,SAAS,KAAK;AAClF,QAAI,mBAAmB;AAErB,SAAI,CADc,MAAM,KAAK,yBAAyB,kBAAkB,CAEtE;AAEF,WAAM,KAAK,KAAK,cAAc,IAAI,KAAK;AACvC;;AAEF,YAAQ,MAAM,yBAAyB,SAAS,oFAAoF;AACpI,YAAQ,MAAM,+BAA+B;AAC7C;;AAEF,OAAI,CAAC,MACH,SAAQ,IAAI,oDAAoD;;AAIpE,QAAM,KAAK,KAAK,cAAc,IAAI,KAAK;;CAGzC,2BAAmC,OAAO,QAAkC;AAC1E,UAAQ,IAAI,cAAc,SAAS,2BAA2B,IAAI,MAAM;AACxE,MAAI;AACF,WAAQ,KAAK,KAAK,UAAU;WACrB,OAAO;AACd,WAAQ,MAAM,sCAAsC,OAAO,MAAM,GAAG;AACpE,UAAO;;AAIT,MAAI,CADY,MAAM,YAAY,KAAK,IAAK,EAC9B;AACZ,OAAI;AACF,YAAQ,KAAK,KAAK,UAAU;YACrB,OAAO;AACd,YAAQ,MAAM,4CAA4C,OAAO,MAAM,GAAG;AAC1E,WAAO;;AAGT,OAAI,CADkB,MAAM,YAAY,KAAK,IAAK,EAC9B;AAClB,YAAQ,MAAM,yCAAyC,IAAI,GAAG;AAC9D,WAAO;;;AAIX,sBAAoB,sBAAsB,IAAI;AAC9C,UAAQ,IAAI,KAAK,SAAS,6BAA6B;AACvD,SAAO;;CAGT,wCAAgD,SAAgC;EAC9E,MAAM,mBAAmB,2BAA2B,KAAK;AACzD,MAAI,CAAC,oBAAoB,CAAC,iBAAiB,iBAAiB,IAAI,CAC9D,QAAO;AAET,SAAO,KAAK,kCAAkC,iBAAiB,QAAQ,GAAG,iBAAiB,MAAM;;CAGnG,qCAA6C,YAAoC;EAC/E,MAAM,aAAa,SAAS,MAAM,IAAI;AACtC,MAAI,CAAC,WACH,QAAO;AAET,SACE,YAAY,KAAK,WAAW,KAE1B,WAAW,SAAS,yBAAyB,IAC7C,WAAW,SAAS,wBAAwB,IAC5C,WAAW,SAAS,iCAAiC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { RequestRestartParams, SecretsApplyOptions, SecretsAuditOptions, SecretsConfigureOptions, SecretsReloadOptions } from "../../types/cli.types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/controllers/commands/secrets-command.controller.d.ts
|
|
4
|
+
declare class SecretsCommands {
|
|
5
|
+
private deps;
|
|
6
|
+
constructor(deps: {
|
|
7
|
+
requestRestart: (params: RequestRestartParams) => Promise<void>;
|
|
8
|
+
});
|
|
9
|
+
audit: (opts?: SecretsAuditOptions) => void;
|
|
10
|
+
configure: (opts: SecretsConfigureOptions) => Promise<void>;
|
|
11
|
+
apply: (opts: SecretsApplyOptions) => Promise<void>;
|
|
12
|
+
reload: (opts?: SecretsReloadOptions) => Promise<void>;
|
|
13
|
+
private removeProvider;
|
|
14
|
+
private configureProvider;
|
|
15
|
+
private buildProviderConfig;
|
|
16
|
+
private applyEnabledPatch;
|
|
17
|
+
private applyFilePatch;
|
|
18
|
+
private applySingleRefPatch;
|
|
19
|
+
private requestRestartForConfigDiff;
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { SecretsCommands };
|
|
23
|
+
//# sourceMappingURL=secrets-command.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets-command.controller.d.ts","names":[],"sources":["../../../src/controllers/commands/secrets-command.controller.ts"],"mappings":";;;cAqIa,eAAA;EAAA,QAED,IAAA;cAAA,IAAA;IACN,cAAA,GAAiB,MAAA,EAAQ,oBAAA,KAAyB,OAAA;EAAA;EAItD,KAAA,GAAS,IAAA,GAAM,mBAAA;EAwEf,SAAA,GAAmB,IAAA,EAAM,uBAAA,KAA0B,OAAA;EAgCnD,KAAA,GAAe,IAAA,EAAM,mBAAA,KAAsB,OAAA;EAwB3C,MAAA,GAAgB,IAAA,GAAM,oBAAA,KAA4B,OAAA;EAAA,QAa1C,cAAA;EAAA,QASA,iBAAA;EAAA,QAWA,mBAAA;EAAA,QA2BA,iBAAA;EAAA,QAUA,cAAA;EAAA,QAUA,mBAAA;EAAA,QA4BA,2BAAA;AAAA"}
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
import { getAtConfigPath, parseRequiredConfigPath } from "../../utils/config-path.utils.js";
|
|
2
|
+
import { buildReloadPlan, diffConfigPaths, getConfigPath, loadConfig, resolveConfigSecrets, saveConfig } from "@nextclaw/core";
|
|
3
|
+
import { readFileSync } from "node:fs";
|
|
4
|
+
//#region src/controllers/commands/secrets-command.controller.ts
|
|
5
|
+
const SECRET_SOURCES = [
|
|
6
|
+
"env",
|
|
7
|
+
"file",
|
|
8
|
+
"exec"
|
|
9
|
+
];
|
|
10
|
+
function normalizeSecretSource(value) {
|
|
11
|
+
if (typeof value !== "string") return null;
|
|
12
|
+
const normalized = value.trim().toLowerCase();
|
|
13
|
+
return SECRET_SOURCES.includes(normalized) ? normalized : null;
|
|
14
|
+
}
|
|
15
|
+
function normalizeOptionalString(value) {
|
|
16
|
+
if (typeof value !== "string") return;
|
|
17
|
+
return value.trim() || void 0;
|
|
18
|
+
}
|
|
19
|
+
function parseTimeoutMs(value) {
|
|
20
|
+
if (value === void 0 || value === null || value === "") return;
|
|
21
|
+
const parsed = Number(value);
|
|
22
|
+
if (!Number.isFinite(parsed) || parsed <= 0) throw new Error(`invalid timeout: ${String(value)}`);
|
|
23
|
+
return Math.trunc(parsed);
|
|
24
|
+
}
|
|
25
|
+
function inferProviderAlias(config, ref) {
|
|
26
|
+
const explicit = normalizeOptionalString(ref.provider);
|
|
27
|
+
if (explicit) return explicit;
|
|
28
|
+
const defaultAlias = normalizeOptionalString(config.secrets.defaults[ref.source]);
|
|
29
|
+
if (defaultAlias) return defaultAlias;
|
|
30
|
+
return ref.source;
|
|
31
|
+
}
|
|
32
|
+
function summarizeAudit(items) {
|
|
33
|
+
const ok = items.filter((item) => item.ok).length;
|
|
34
|
+
return {
|
|
35
|
+
total: items.length,
|
|
36
|
+
ok,
|
|
37
|
+
failed: items.length - ok
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function parseRefsPatch(raw) {
|
|
41
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw)) throw new Error("refs patch must be an object");
|
|
42
|
+
const output = {};
|
|
43
|
+
for (const [path, value] of Object.entries(raw)) {
|
|
44
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) throw new Error(`invalid ref for ${path}`);
|
|
45
|
+
const source = normalizeSecretSource(value.source);
|
|
46
|
+
const id = normalizeOptionalString(value.id);
|
|
47
|
+
const provider = normalizeOptionalString(value.provider);
|
|
48
|
+
if (!source || !id) throw new Error(`invalid ref for ${path}: source/id is required`);
|
|
49
|
+
output[path] = {
|
|
50
|
+
source,
|
|
51
|
+
...provider ? { provider } : {},
|
|
52
|
+
id
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
return output;
|
|
56
|
+
}
|
|
57
|
+
function parseApplyFile(raw) {
|
|
58
|
+
const data = JSON.parse(raw);
|
|
59
|
+
if (!data || typeof data !== "object" || Array.isArray(data)) throw new Error("apply file must be an object");
|
|
60
|
+
const record = data;
|
|
61
|
+
if (record.refs || record.providers || record.defaults || Object.prototype.hasOwnProperty.call(record, "enabled")) {
|
|
62
|
+
const patch = {};
|
|
63
|
+
if (Object.prototype.hasOwnProperty.call(record, "enabled")) patch.enabled = Boolean(record.enabled);
|
|
64
|
+
if (record.defaults && typeof record.defaults === "object" && !Array.isArray(record.defaults)) patch.defaults = record.defaults;
|
|
65
|
+
if (record.providers && typeof record.providers === "object" && !Array.isArray(record.providers)) patch.providers = record.providers;
|
|
66
|
+
if (record.refs) patch.refs = parseRefsPatch(record.refs);
|
|
67
|
+
return patch;
|
|
68
|
+
}
|
|
69
|
+
return { refs: parseRefsPatch(record) };
|
|
70
|
+
}
|
|
71
|
+
var SecretsCommands = class {
|
|
72
|
+
constructor(deps) {
|
|
73
|
+
this.deps = deps;
|
|
74
|
+
}
|
|
75
|
+
audit = (opts = {}) => {
|
|
76
|
+
const config = loadConfig();
|
|
77
|
+
const configPath = getConfigPath();
|
|
78
|
+
const refs = config.secrets.refs;
|
|
79
|
+
const items = [];
|
|
80
|
+
for (const [path, ref] of Object.entries(refs)) {
|
|
81
|
+
const provider = inferProviderAlias(config, ref);
|
|
82
|
+
const scopedConfig = structuredClone(config);
|
|
83
|
+
scopedConfig.secrets.refs = { [path]: ref };
|
|
84
|
+
try {
|
|
85
|
+
const target = getAtConfigPath(resolveConfigSecrets(scopedConfig, { configPath }), parseRequiredConfigPath(path));
|
|
86
|
+
if (!target.found) {
|
|
87
|
+
items.push({
|
|
88
|
+
path,
|
|
89
|
+
source: ref.source,
|
|
90
|
+
provider,
|
|
91
|
+
id: ref.id,
|
|
92
|
+
ok: false,
|
|
93
|
+
detail: "resolved but path not found"
|
|
94
|
+
});
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
const resolvedValue = target.value;
|
|
98
|
+
const detail = typeof resolvedValue === "string" ? `resolved (length=${resolvedValue.length})` : `resolved (${typeof resolvedValue})`;
|
|
99
|
+
items.push({
|
|
100
|
+
path,
|
|
101
|
+
source: ref.source,
|
|
102
|
+
provider,
|
|
103
|
+
id: ref.id,
|
|
104
|
+
ok: true,
|
|
105
|
+
detail
|
|
106
|
+
});
|
|
107
|
+
} catch (error) {
|
|
108
|
+
items.push({
|
|
109
|
+
path,
|
|
110
|
+
source: ref.source,
|
|
111
|
+
provider,
|
|
112
|
+
id: ref.id,
|
|
113
|
+
ok: false,
|
|
114
|
+
detail: String(error)
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
const summary = summarizeAudit(items);
|
|
119
|
+
if (opts.json) console.log(JSON.stringify({
|
|
120
|
+
summary,
|
|
121
|
+
items
|
|
122
|
+
}, null, 2));
|
|
123
|
+
else if (!items.length) console.log("No secret refs configured.");
|
|
124
|
+
else {
|
|
125
|
+
for (const item of items) {
|
|
126
|
+
const status = item.ok ? "OK" : "ERROR";
|
|
127
|
+
console.log(`[${status}] ${item.path} <- ${item.source}:${item.provider}:${item.id} (${item.detail})`);
|
|
128
|
+
}
|
|
129
|
+
console.log(`Summary: total=${summary.total}, ok=${summary.ok}, failed=${summary.failed}`);
|
|
130
|
+
}
|
|
131
|
+
if (Boolean(opts.strict) && summary.failed > 0) process.exitCode = 1;
|
|
132
|
+
};
|
|
133
|
+
configure = async (opts) => {
|
|
134
|
+
const alias = normalizeOptionalString(opts.provider);
|
|
135
|
+
if (!alias) throw new Error("provider alias is required");
|
|
136
|
+
const prevConfig = loadConfig();
|
|
137
|
+
const nextConfig = structuredClone(prevConfig);
|
|
138
|
+
const remove = Boolean(opts.remove);
|
|
139
|
+
if (remove) this.removeProvider(nextConfig, alias);
|
|
140
|
+
else this.configureProvider(nextConfig, alias, opts);
|
|
141
|
+
resolveConfigSecrets(nextConfig, { configPath: getConfigPath() });
|
|
142
|
+
saveConfig(nextConfig);
|
|
143
|
+
await this.requestRestartForConfigDiff({
|
|
144
|
+
prevConfig,
|
|
145
|
+
nextConfig,
|
|
146
|
+
reason: `secrets.configure ${alias}`,
|
|
147
|
+
manualMessage: "Secrets provider updated. Restart the gateway if required."
|
|
148
|
+
});
|
|
149
|
+
if (opts.json) {
|
|
150
|
+
console.log(JSON.stringify({
|
|
151
|
+
ok: true,
|
|
152
|
+
providers: nextConfig.secrets.providers,
|
|
153
|
+
defaults: nextConfig.secrets.defaults
|
|
154
|
+
}, null, 2));
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
console.log(`Secrets provider ${remove ? "removed" : "configured"}: ${alias}`);
|
|
158
|
+
};
|
|
159
|
+
apply = async (opts) => {
|
|
160
|
+
const prevConfig = loadConfig();
|
|
161
|
+
const nextConfig = structuredClone(prevConfig);
|
|
162
|
+
this.applyEnabledPatch(nextConfig, opts);
|
|
163
|
+
this.applyFilePatch(nextConfig, opts);
|
|
164
|
+
this.applySingleRefPatch(nextConfig, opts);
|
|
165
|
+
resolveConfigSecrets(nextConfig, { configPath: getConfigPath() });
|
|
166
|
+
saveConfig(nextConfig);
|
|
167
|
+
await this.requestRestartForConfigDiff({
|
|
168
|
+
prevConfig,
|
|
169
|
+
nextConfig,
|
|
170
|
+
reason: "secrets.apply",
|
|
171
|
+
manualMessage: "Secrets updated. Restart the gateway if required."
|
|
172
|
+
});
|
|
173
|
+
if (opts.json) {
|
|
174
|
+
console.log(JSON.stringify({
|
|
175
|
+
ok: true,
|
|
176
|
+
secrets: nextConfig.secrets
|
|
177
|
+
}, null, 2));
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
console.log("Secrets applied.");
|
|
181
|
+
};
|
|
182
|
+
reload = async (opts = {}) => {
|
|
183
|
+
const config = loadConfig();
|
|
184
|
+
resolveConfigSecrets(config, { configPath: getConfigPath() });
|
|
185
|
+
saveConfig(config);
|
|
186
|
+
if (opts.json) {
|
|
187
|
+
console.log(JSON.stringify({
|
|
188
|
+
ok: true,
|
|
189
|
+
message: "secrets reload signal emitted"
|
|
190
|
+
}, null, 2));
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
console.log("Secrets reload signal emitted.");
|
|
194
|
+
};
|
|
195
|
+
removeProvider = (config, alias) => {
|
|
196
|
+
delete config.secrets.providers[alias];
|
|
197
|
+
for (const source of SECRET_SOURCES) if (config.secrets.defaults[source] === alias) delete config.secrets.defaults[source];
|
|
198
|
+
};
|
|
199
|
+
configureProvider = (config, alias, opts) => {
|
|
200
|
+
const source = normalizeSecretSource(opts.source);
|
|
201
|
+
if (!source) throw new Error("source is required and must be one of env/file/exec");
|
|
202
|
+
config.secrets.providers[alias] = this.buildProviderConfig(source, opts);
|
|
203
|
+
if (opts.setDefault) config.secrets.defaults[source] = alias;
|
|
204
|
+
};
|
|
205
|
+
buildProviderConfig = (source, opts) => {
|
|
206
|
+
if (source === "env") return {
|
|
207
|
+
source,
|
|
208
|
+
...normalizeOptionalString(opts.prefix) ? { prefix: normalizeOptionalString(opts.prefix) } : {}
|
|
209
|
+
};
|
|
210
|
+
if (source === "file") {
|
|
211
|
+
const path = normalizeOptionalString(opts.path);
|
|
212
|
+
if (!path) throw new Error("file source requires --path");
|
|
213
|
+
return {
|
|
214
|
+
source,
|
|
215
|
+
path,
|
|
216
|
+
format: "json"
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
const command = normalizeOptionalString(opts.command);
|
|
220
|
+
if (!command) throw new Error("exec source requires --command");
|
|
221
|
+
return {
|
|
222
|
+
source,
|
|
223
|
+
command,
|
|
224
|
+
args: Array.isArray(opts.arg) ? opts.arg : [],
|
|
225
|
+
...normalizeOptionalString(opts.cwd) ? { cwd: normalizeOptionalString(opts.cwd) } : {},
|
|
226
|
+
timeoutMs: parseTimeoutMs(opts.timeoutMs) ?? 5e3
|
|
227
|
+
};
|
|
228
|
+
};
|
|
229
|
+
applyEnabledPatch = (config, opts) => {
|
|
230
|
+
const { disable, enable } = opts;
|
|
231
|
+
if (enable && disable) throw new Error("cannot set --enable and --disable at the same time");
|
|
232
|
+
if (enable || disable) config.secrets.enabled = Boolean(enable);
|
|
233
|
+
};
|
|
234
|
+
applyFilePatch = (config, opts) => {
|
|
235
|
+
if (!opts.file) return;
|
|
236
|
+
const { defaults, providers, refs } = parseApplyFile(readFileSync(opts.file, "utf-8"));
|
|
237
|
+
if (defaults) config.secrets.defaults = defaults;
|
|
238
|
+
if (providers) config.secrets.providers = providers;
|
|
239
|
+
if (refs) config.secrets.refs = {
|
|
240
|
+
...config.secrets.refs,
|
|
241
|
+
...refs
|
|
242
|
+
};
|
|
243
|
+
};
|
|
244
|
+
applySingleRefPatch = (config, opts) => {
|
|
245
|
+
if (!opts.path) {
|
|
246
|
+
if (opts.remove && !opts.file) throw new Error("--remove requires --path");
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
const path = opts.path.trim();
|
|
250
|
+
if (!path) throw new Error("path is empty");
|
|
251
|
+
if (opts.remove) {
|
|
252
|
+
delete config.secrets.refs[path];
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
const source = normalizeSecretSource(opts.source);
|
|
256
|
+
const id = normalizeOptionalString(opts.id);
|
|
257
|
+
if (!source || !id) throw new Error("apply single ref requires --source and --id");
|
|
258
|
+
const provider = normalizeOptionalString(opts.provider);
|
|
259
|
+
config.secrets.refs[path] = {
|
|
260
|
+
source,
|
|
261
|
+
id,
|
|
262
|
+
...provider ? { provider } : {}
|
|
263
|
+
};
|
|
264
|
+
};
|
|
265
|
+
requestRestartForConfigDiff = async (params) => {
|
|
266
|
+
const { manualMessage, nextConfig, prevConfig, reason } = params;
|
|
267
|
+
const changedPaths = diffConfigPaths(prevConfig, nextConfig);
|
|
268
|
+
if (!changedPaths.length) return;
|
|
269
|
+
const plan = buildReloadPlan(changedPaths);
|
|
270
|
+
if (plan.restartRequired.length === 0) return;
|
|
271
|
+
await this.deps.requestRestart({
|
|
272
|
+
changedPaths: plan.restartRequired,
|
|
273
|
+
mode: "notify",
|
|
274
|
+
reason: `${reason} (${plan.restartRequired.join(", ")})`,
|
|
275
|
+
manualMessage
|
|
276
|
+
});
|
|
277
|
+
};
|
|
278
|
+
};
|
|
279
|
+
//#endregion
|
|
280
|
+
export { SecretsCommands };
|
|
281
|
+
|
|
282
|
+
//# sourceMappingURL=secrets-command.controller.js.map
|