@omnitron-dev/omnitron 0.3.0 → 0.3.2
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/README.md +579 -0
- package/data/operations/managed-kernel.mjs +302 -0
- package/data/operations/stage-kernel.mjs +125 -0
- package/dist/BUILD.json +4 -3
- package/dist/cli/exit-after-output.d.ts +3 -0
- package/dist/cli/exit-after-output.d.ts.map +1 -0
- package/dist/cli/exit-after-output.js +11 -0
- package/dist/cli/exit-after-output.js.map +1 -0
- package/dist/cli/installed.d.ts +3 -0
- package/dist/cli/installed.d.ts.map +1 -0
- package/dist/cli/installed.js +17 -0
- package/dist/cli/installed.js.map +1 -0
- package/dist/cli/omnitron.js +455 -99
- package/dist/cli/omnitron.js.map +1 -1
- package/dist/cli/output-command.d.ts +13 -0
- package/dist/cli/output-command.d.ts.map +1 -0
- package/dist/cli/output-command.js +48 -0
- package/dist/cli/output-command.js.map +1 -0
- package/dist/cluster/cluster.rpc-service.d.ts +9 -77
- package/dist/cluster/cluster.rpc-service.d.ts.map +1 -1
- package/dist/cluster/cluster.rpc-service.js +20 -107
- package/dist/cluster/cluster.rpc-service.js.map +1 -1
- package/dist/cluster/enrollment.d.ts +9 -0
- package/dist/cluster/enrollment.d.ts.map +1 -0
- package/dist/cluster/enrollment.js +49 -0
- package/dist/cluster/enrollment.js.map +1 -0
- package/dist/cluster/index.d.ts +1 -1
- package/dist/cluster/index.d.ts.map +1 -1
- package/dist/cluster/leader-election.d.ts +39 -211
- package/dist/cluster/leader-election.d.ts.map +1 -1
- package/dist/cluster/leader-election.js +235 -512
- package/dist/cluster/leader-election.js.map +1 -1
- package/dist/cluster/mesh-link.d.ts +18 -51
- package/dist/cluster/mesh-link.d.ts.map +1 -1
- package/dist/cluster/mesh-link.js +66 -78
- package/dist/cluster/mesh-link.js.map +1 -1
- package/dist/cluster/mesh.d.ts +3 -1
- package/dist/cluster/mesh.d.ts.map +1 -1
- package/dist/cluster/mesh.js +76 -60
- package/dist/cluster/mesh.js.map +1 -1
- package/dist/cluster/slave-connector.d.ts +42 -6
- package/dist/cluster/slave-connector.d.ts.map +1 -1
- package/dist/cluster/slave-connector.js +349 -196
- package/dist/cluster/slave-connector.js.map +1 -1
- package/dist/cluster/standalone-infrastructure.d.ts +3 -0
- package/dist/cluster/standalone-infrastructure.d.ts.map +1 -0
- package/dist/cluster/standalone-infrastructure.js +25 -0
- package/dist/cluster/standalone-infrastructure.js.map +1 -0
- package/dist/cluster/stop-authority.d.ts +45 -0
- package/dist/cluster/stop-authority.d.ts.map +1 -0
- package/dist/cluster/stop-authority.js +112 -0
- package/dist/cluster/stop-authority.js.map +1 -0
- package/dist/commands/access.d.ts +9 -0
- package/dist/commands/access.d.ts.map +1 -0
- package/dist/commands/access.js +45 -0
- package/dist/commands/access.js.map +1 -0
- package/dist/commands/audit.d.ts +2 -0
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +9 -4
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/backend.d.ts +17 -0
- package/dist/commands/backend.d.ts.map +1 -0
- package/dist/commands/backend.js +264 -0
- package/dist/commands/backend.js.map +1 -0
- package/dist/commands/backup.d.ts +5 -0
- package/dist/commands/backup.d.ts.map +1 -1
- package/dist/commands/backup.js +17 -2
- package/dist/commands/backup.js.map +1 -1
- package/dist/commands/cluster.d.ts.map +1 -1
- package/dist/commands/cluster.js +33 -42
- package/dist/commands/cluster.js.map +1 -1
- package/dist/commands/daemon-cmd.d.ts.map +1 -1
- package/dist/commands/daemon-cmd.js +14 -3
- package/dist/commands/daemon-cmd.js.map +1 -1
- package/dist/commands/deploy.d.ts +4 -4
- package/dist/commands/deploy.js +4 -4
- package/dist/commands/discover.d.ts +2 -2
- package/dist/commands/discover.js +2 -2
- package/dist/commands/doctor.d.ts +11 -29
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +47 -45
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/files.d.ts +19 -0
- package/dist/commands/files.d.ts.map +1 -0
- package/dist/commands/files.js +226 -0
- package/dist/commands/files.js.map +1 -0
- package/dist/commands/fleet-asking.d.ts +2 -2
- package/dist/commands/fleet-asking.js +2 -2
- package/dist/commands/fleet-recover.d.ts +2 -0
- package/dist/commands/fleet-recover.d.ts.map +1 -0
- package/dist/commands/fleet-recover.js +30 -0
- package/dist/commands/fleet-recover.js.map +1 -0
- package/dist/commands/fleet-rollout.d.ts +25 -0
- package/dist/commands/fleet-rollout.d.ts.map +1 -0
- package/dist/commands/fleet-rollout.js +155 -0
- package/dist/commands/fleet-rollout.js.map +1 -0
- package/dist/commands/fleet.d.ts.map +1 -1
- package/dist/commands/fleet.js +1 -0
- package/dist/commands/fleet.js.map +1 -1
- package/dist/commands/health-check.d.ts.map +1 -1
- package/dist/commands/health-check.js +13 -6
- package/dist/commands/health-check.js.map +1 -1
- package/dist/commands/host-ingress.d.ts +3 -0
- package/dist/commands/host-ingress.d.ts.map +1 -0
- package/dist/commands/host-ingress.js +31 -0
- package/dist/commands/host-ingress.js.map +1 -0
- package/dist/commands/infra.d.ts +7 -4
- package/dist/commands/infra.d.ts.map +1 -1
- package/dist/commands/infra.js +152 -60
- package/dist/commands/infra.js.map +1 -1
- package/dist/commands/logs.d.ts +7 -24
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +117 -41
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/metrics.d.ts.map +1 -1
- package/dist/commands/metrics.js +7 -1
- package/dist/commands/metrics.js.map +1 -1
- package/dist/commands/migrate.d.ts +8 -0
- package/dist/commands/migrate.d.ts.map +1 -0
- package/dist/commands/migrate.js +64 -0
- package/dist/commands/migrate.js.map +1 -0
- package/dist/commands/node-reconcile.d.ts +8 -0
- package/dist/commands/node-reconcile.d.ts.map +1 -0
- package/dist/commands/node-reconcile.js +49 -0
- package/dist/commands/node-reconcile.js.map +1 -0
- package/dist/commands/node.d.ts +1 -21
- package/dist/commands/node.d.ts.map +1 -1
- package/dist/commands/node.js +35 -27
- package/dist/commands/node.js.map +1 -1
- package/dist/commands/output.d.ts +3 -9
- package/dist/commands/output.d.ts.map +1 -1
- package/dist/commands/output.js +34 -25
- package/dist/commands/output.js.map +1 -1
- package/dist/commands/pipeline.d.ts +11 -2
- package/dist/commands/pipeline.d.ts.map +1 -1
- package/dist/commands/pipeline.js +82 -15
- package/dist/commands/pipeline.js.map +1 -1
- package/dist/commands/project.d.ts +10 -2
- package/dist/commands/project.d.ts.map +1 -1
- package/dist/commands/project.js +69 -3
- package/dist/commands/project.js.map +1 -1
- package/dist/commands/release-store.js +1 -1
- package/dist/commands/release-store.js.map +1 -1
- package/dist/commands/release.d.ts +5 -12
- package/dist/commands/release.d.ts.map +1 -1
- package/dist/commands/release.js +144 -36
- package/dist/commands/release.js.map +1 -1
- package/dist/commands/remote.d.ts +3 -3
- package/dist/commands/remote.js +3 -3
- package/dist/commands/scale.d.ts +1 -4
- package/dist/commands/scale.d.ts.map +1 -1
- package/dist/commands/scale.js +39 -19
- package/dist/commands/scale.js.map +1 -1
- package/dist/commands/secret-input.d.ts +3 -0
- package/dist/commands/secret-input.d.ts.map +1 -0
- package/dist/commands/secret-input.js +36 -0
- package/dist/commands/secret-input.js.map +1 -0
- package/dist/commands/secret.d.ts +4 -2
- package/dist/commands/secret.d.ts.map +1 -1
- package/dist/commands/secret.js +12 -2
- package/dist/commands/secret.js.map +1 -1
- package/dist/commands/service-resident.d.ts +25 -0
- package/dist/commands/service-resident.d.ts.map +1 -0
- package/dist/commands/service-resident.js +236 -0
- package/dist/commands/service-resident.js.map +1 -0
- package/dist/commands/service-units.d.ts +13 -1
- package/dist/commands/service-units.d.ts.map +1 -1
- package/dist/commands/service-units.js +38 -16
- package/dist/commands/service-units.js.map +1 -1
- package/dist/commands/service.d.ts +2 -24
- package/dist/commands/service.d.ts.map +1 -1
- package/dist/commands/service.js +89 -7
- package/dist/commands/service.js.map +1 -1
- package/dist/commands/stack.d.ts +11 -6
- package/dist/commands/stack.d.ts.map +1 -1
- package/dist/commands/stack.js +212 -38
- package/dist/commands/stack.js.map +1 -1
- package/dist/commands/start.d.ts +0 -21
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +33 -43
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts +1 -5
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +5 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/stop.d.ts +0 -22
- package/dist/commands/stop.d.ts.map +1 -1
- package/dist/commands/stop.js +26 -86
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/system.d.ts +4 -0
- package/dist/commands/system.d.ts.map +1 -0
- package/dist/commands/system.js +41 -0
- package/dist/commands/system.js.map +1 -0
- package/dist/commands/terminal.d.ts +7 -0
- package/dist/commands/terminal.d.ts.map +1 -0
- package/dist/commands/terminal.js +184 -0
- package/dist/commands/terminal.js.map +1 -0
- package/dist/commands/topology.d.ts +3 -0
- package/dist/commands/topology.d.ts.map +1 -0
- package/dist/commands/topology.js +107 -0
- package/dist/commands/topology.js.map +1 -0
- package/dist/commands/tor.d.ts +1 -1
- package/dist/commands/tor.js +2 -2
- package/dist/commands/up.d.ts +4 -54
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +41 -98
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/webapp.d.ts +0 -9
- package/dist/commands/webapp.d.ts.map +1 -1
- package/dist/commands/webapp.js +116 -69
- package/dist/commands/webapp.js.map +1 -1
- package/dist/config/app-path.d.ts +4 -0
- package/dist/config/app-path.d.ts.map +1 -0
- package/dist/config/app-path.js +6 -0
- package/dist/config/app-path.js.map +1 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +9 -3
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/define-ecosystem.d.ts.map +1 -1
- package/dist/config/define-ecosystem.js +12 -0
- package/dist/config/define-ecosystem.js.map +1 -1
- package/dist/config/index.d.ts +3 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/loader-child.d.ts +2 -0
- package/dist/config/loader-child.d.ts.map +1 -0
- package/dist/config/loader-child.js +56 -0
- package/dist/config/loader-child.js.map +1 -0
- package/dist/config/loader.d.ts +7 -2
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +14 -27
- package/dist/config/loader.js.map +1 -1
- package/dist/config/saved.d.ts +67 -0
- package/dist/config/saved.d.ts.map +1 -0
- package/dist/config/saved.js +81 -0
- package/dist/config/saved.js.map +1 -0
- package/dist/config/types.d.ts +105 -58
- package/dist/config/types.d.ts.map +1 -1
- package/dist/daemon/backend-candidate.d.ts +32 -0
- package/dist/daemon/backend-candidate.d.ts.map +1 -0
- package/dist/daemon/backend-candidate.js +129 -0
- package/dist/daemon/backend-candidate.js.map +1 -0
- package/dist/daemon/backend-child.d.ts +5 -0
- package/dist/daemon/backend-child.d.ts.map +1 -0
- package/dist/daemon/backend-child.js +13 -0
- package/dist/daemon/backend-child.js.map +1 -0
- package/dist/daemon/backend-control.d.ts +43 -0
- package/dist/daemon/backend-control.d.ts.map +1 -0
- package/dist/daemon/backend-control.js +155 -0
- package/dist/daemon/backend-control.js.map +1 -0
- package/dist/daemon/backend-crash-recovery.d.ts +4 -0
- package/dist/daemon/backend-crash-recovery.d.ts.map +1 -0
- package/dist/daemon/backend-crash-recovery.js +136 -0
- package/dist/daemon/backend-crash-recovery.js.map +1 -0
- package/dist/daemon/backend-handoff-types.d.ts +27 -0
- package/dist/daemon/backend-handoff-types.d.ts.map +1 -0
- package/dist/daemon/backend-handoff-types.js +33 -0
- package/dist/daemon/backend-handoff-types.js.map +1 -0
- package/dist/daemon/backend-recovery-journal.d.ts +30 -0
- package/dist/daemon/backend-recovery-journal.d.ts.map +1 -0
- package/dist/daemon/backend-recovery-journal.js +67 -0
- package/dist/daemon/backend-recovery-journal.js.map +1 -0
- package/dist/daemon/backend-recovery-monitor.d.ts +35 -0
- package/dist/daemon/backend-recovery-monitor.d.ts.map +1 -0
- package/dist/daemon/backend-recovery-monitor.js +113 -0
- package/dist/daemon/backend-recovery-monitor.js.map +1 -0
- package/dist/daemon/backend-supervisor-entry.d.ts +2 -0
- package/dist/daemon/backend-supervisor-entry.d.ts.map +1 -0
- package/dist/daemon/backend-supervisor-entry.js +3 -0
- package/dist/daemon/backend-supervisor-entry.js.map +1 -0
- package/dist/daemon/backend-supervisor-main.d.ts +2 -0
- package/dist/daemon/backend-supervisor-main.d.ts.map +1 -0
- package/dist/daemon/backend-supervisor-main.js +45 -0
- package/dist/daemon/backend-supervisor-main.js.map +1 -0
- package/dist/daemon/backend-supervisor.d.ts +61 -0
- package/dist/daemon/backend-supervisor.d.ts.map +1 -0
- package/dist/daemon/backend-supervisor.js +339 -0
- package/dist/daemon/backend-supervisor.js.map +1 -0
- package/dist/daemon/backend-upgrade.d.ts +41 -0
- package/dist/daemon/backend-upgrade.d.ts.map +1 -0
- package/dist/daemon/backend-upgrade.js +444 -0
- package/dist/daemon/backend-upgrade.js.map +1 -0
- package/dist/daemon/backend.rpc-service.d.ts +11 -0
- package/dist/daemon/backend.rpc-service.d.ts.map +1 -0
- package/dist/daemon/backend.rpc-service.js +44 -0
- package/dist/daemon/backend.rpc-service.js.map +1 -0
- package/dist/daemon/daemon-client.d.ts +12 -79
- package/dist/daemon/daemon-client.d.ts.map +1 -1
- package/dist/daemon/daemon-client.js +28 -270
- package/dist/daemon/daemon-client.js.map +1 -1
- package/dist/daemon/daemon-entry.d.ts +0 -7
- package/dist/daemon/daemon-entry.d.ts.map +1 -1
- package/dist/daemon/daemon-entry.js +2 -115
- package/dist/daemon/daemon-entry.js.map +1 -1
- package/dist/daemon/daemon-main.d.ts +9 -0
- package/dist/daemon/daemon-main.d.ts.map +1 -0
- package/dist/daemon/daemon-main.js +105 -0
- package/dist/daemon/daemon-main.js.map +1 -0
- package/dist/daemon/daemon-scheduler.d.ts +8 -5
- package/dist/daemon/daemon-scheduler.d.ts.map +1 -1
- package/dist/daemon/daemon-scheduler.js +45 -73
- package/dist/daemon/daemon-scheduler.js.map +1 -1
- package/dist/daemon/daemon-state-store.service.d.ts +5 -39
- package/dist/daemon/daemon-state-store.service.d.ts.map +1 -1
- package/dist/daemon/daemon-state-store.service.js +30 -17
- package/dist/daemon/daemon-state-store.service.js.map +1 -1
- package/dist/daemon/daemon.d.ts +50 -79
- package/dist/daemon/daemon.d.ts.map +1 -1
- package/dist/daemon/daemon.js +769 -442
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/daemon.module.d.ts +13 -11
- package/dist/daemon/daemon.module.d.ts.map +1 -1
- package/dist/daemon/daemon.module.js +139 -106
- package/dist/daemon/daemon.module.js.map +1 -1
- package/dist/daemon/daemon.rpc-service.d.ts +11 -19
- package/dist/daemon/daemon.rpc-service.d.ts.map +1 -1
- package/dist/daemon/daemon.rpc-service.js +89 -28
- package/dist/daemon/daemon.rpc-service.js.map +1 -1
- package/dist/daemon/darwin-owner-evidence.d.ts +57 -0
- package/dist/daemon/darwin-owner-evidence.d.ts.map +1 -0
- package/dist/daemon/darwin-owner-evidence.js +131 -0
- package/dist/daemon/darwin-owner-evidence.js.map +1 -0
- package/dist/daemon/database-startup.d.ts +7 -0
- package/dist/daemon/database-startup.d.ts.map +1 -0
- package/dist/daemon/database-startup.js +40 -0
- package/dist/daemon/database-startup.js.map +1 -0
- package/dist/daemon/entry-guard.d.ts +2 -0
- package/dist/daemon/entry-guard.d.ts.map +1 -0
- package/dist/daemon/entry-guard.js +34 -0
- package/dist/daemon/entry-guard.js.map +1 -0
- package/dist/daemon/execution-capabilities.d.ts +7 -0
- package/dist/daemon/execution-capabilities.d.ts.map +1 -0
- package/dist/daemon/execution-capabilities.js +23 -0
- package/dist/daemon/execution-capabilities.js.map +1 -0
- package/dist/daemon/execution-client.d.ts +88 -0
- package/dist/daemon/execution-client.d.ts.map +1 -0
- package/dist/daemon/execution-client.js +433 -0
- package/dist/daemon/execution-client.js.map +1 -0
- package/dist/daemon/execution-config.d.ts +7 -0
- package/dist/daemon/execution-config.d.ts.map +1 -0
- package/dist/daemon/execution-config.js +61 -0
- package/dist/daemon/execution-config.js.map +1 -0
- package/dist/daemon/execution-entry.d.ts +2 -0
- package/dist/daemon/execution-entry.d.ts.map +1 -0
- package/dist/daemon/execution-entry.js +3 -0
- package/dist/daemon/execution-entry.js.map +1 -0
- package/dist/daemon/execution-host.d.ts +133 -0
- package/dist/daemon/execution-host.d.ts.map +1 -0
- package/dist/daemon/execution-host.js +308 -0
- package/dist/daemon/execution-host.js.map +1 -0
- package/dist/daemon/execution-journal.d.ts +17 -0
- package/dist/daemon/execution-journal.d.ts.map +1 -0
- package/dist/daemon/execution-journal.js +75 -0
- package/dist/daemon/execution-journal.js.map +1 -0
- package/dist/daemon/execution-launcher.d.ts +12 -0
- package/dist/daemon/execution-launcher.d.ts.map +1 -0
- package/dist/daemon/execution-launcher.js +110 -0
- package/dist/daemon/execution-launcher.js.map +1 -0
- package/dist/daemon/execution-main.d.ts +2 -0
- package/dist/daemon/execution-main.d.ts.map +1 -0
- package/dist/daemon/execution-main.js +48 -0
- package/dist/daemon/execution-main.js.map +1 -0
- package/dist/daemon/execution-owner.d.ts +16 -0
- package/dist/daemon/execution-owner.d.ts.map +1 -0
- package/dist/daemon/execution-owner.js +97 -0
- package/dist/daemon/execution-owner.js.map +1 -0
- package/dist/daemon/execution-platform.d.ts +3 -0
- package/dist/daemon/execution-platform.d.ts.map +1 -0
- package/dist/daemon/execution-platform.js +23 -0
- package/dist/daemon/execution-platform.js.map +1 -0
- package/dist/daemon/execution-shutdown.d.ts +13 -0
- package/dist/daemon/execution-shutdown.d.ts.map +1 -0
- package/dist/daemon/execution-shutdown.js +30 -0
- package/dist/daemon/execution-shutdown.js.map +1 -0
- package/dist/daemon/managed-entry.d.ts +2 -0
- package/dist/daemon/managed-entry.d.ts.map +1 -0
- package/dist/daemon/managed-entry.js +3 -0
- package/dist/daemon/managed-entry.js.map +1 -0
- package/dist/daemon/managed-main.d.ts +2 -0
- package/dist/daemon/managed-main.d.ts.map +1 -0
- package/dist/daemon/managed-main.js +29 -0
- package/dist/daemon/managed-main.js.map +1 -0
- package/dist/daemon/managed-owner-build.d.ts +17 -0
- package/dist/daemon/managed-owner-build.d.ts.map +1 -0
- package/dist/daemon/managed-owner-build.js +108 -0
- package/dist/daemon/managed-owner-build.js.map +1 -0
- package/dist/daemon/managed-owner-entry.d.ts +2 -0
- package/dist/daemon/managed-owner-entry.d.ts.map +1 -0
- package/dist/daemon/managed-owner-entry.js +3 -0
- package/dist/daemon/managed-owner-entry.js.map +1 -0
- package/dist/daemon/managed-owner-main.d.ts +2 -0
- package/dist/daemon/managed-owner-main.d.ts.map +1 -0
- package/dist/daemon/managed-owner-main.js +53 -0
- package/dist/daemon/managed-owner-main.js.map +1 -0
- package/dist/daemon/managed-runtime.d.ts +39 -0
- package/dist/daemon/managed-runtime.d.ts.map +1 -0
- package/dist/daemon/managed-runtime.js +137 -0
- package/dist/daemon/managed-runtime.js.map +1 -0
- package/dist/daemon/network-publication.d.ts +5 -0
- package/dist/daemon/network-publication.d.ts.map +1 -0
- package/dist/daemon/network-publication.js +25 -0
- package/dist/daemon/network-publication.js.map +1 -0
- package/dist/daemon/owner-reconciliation.d.ts +58 -0
- package/dist/daemon/owner-reconciliation.d.ts.map +1 -0
- package/dist/daemon/owner-reconciliation.js +265 -0
- package/dist/daemon/owner-reconciliation.js.map +1 -0
- package/dist/daemon/pid-manager.d.ts +2 -0
- package/dist/daemon/pid-manager.d.ts.map +1 -1
- package/dist/daemon/pid-manager.js +5 -0
- package/dist/daemon/pid-manager.js.map +1 -1
- package/dist/daemon/private-control-client.d.ts +8 -0
- package/dist/daemon/private-control-client.d.ts.map +1 -0
- package/dist/daemon/private-control-client.js +41 -0
- package/dist/daemon/private-control-client.js.map +1 -0
- package/dist/daemon/recovery-state.d.ts +20 -0
- package/dist/daemon/recovery-state.d.ts.map +1 -0
- package/dist/daemon/recovery-state.js +53 -0
- package/dist/daemon/recovery-state.js.map +1 -0
- package/dist/daemon/rpc-connection.d.ts +29 -0
- package/dist/daemon/rpc-connection.d.ts.map +1 -0
- package/dist/daemon/rpc-connection.js +137 -0
- package/dist/daemon/rpc-connection.js.map +1 -0
- package/dist/daemon/runtime-installation.d.ts +58 -0
- package/dist/daemon/runtime-installation.d.ts.map +1 -0
- package/dist/daemon/runtime-installation.js +346 -0
- package/dist/daemon/runtime-installation.js.map +1 -0
- package/dist/daemon/runtime-launcher.d.ts +6 -0
- package/dist/daemon/runtime-launcher.d.ts.map +1 -0
- package/dist/daemon/runtime-launcher.js +45 -0
- package/dist/daemon/runtime-launcher.js.map +1 -0
- package/dist/daemon/schema-transition.d.ts +43 -0
- package/dist/daemon/schema-transition.d.ts.map +1 -0
- package/dist/daemon/schema-transition.js +239 -0
- package/dist/daemon/schema-transition.js.map +1 -0
- package/dist/daemon/spawn-daemon.d.ts +2 -0
- package/dist/daemon/spawn-daemon.d.ts.map +1 -1
- package/dist/daemon/spawn-daemon.js +4 -0
- package/dist/daemon/spawn-daemon.js.map +1 -1
- package/dist/daemon/startup-config.d.ts +77 -0
- package/dist/daemon/startup-config.d.ts.map +1 -0
- package/dist/daemon/startup-config.js +31 -0
- package/dist/daemon/startup-config.js.map +1 -0
- package/dist/daemon/startup-failure-journal.d.ts +3 -0
- package/dist/daemon/startup-failure-journal.d.ts.map +1 -0
- package/dist/daemon/startup-failure-journal.js +29 -0
- package/dist/daemon/startup-failure-journal.js.map +1 -0
- package/dist/daemon/state-store.d.ts +16 -24
- package/dist/daemon/state-store.d.ts.map +1 -1
- package/dist/daemon/state-store.js +51 -9
- package/dist/daemon/state-store.js.map +1 -1
- package/dist/daemon/supervisor-transition.d.ts +101 -0
- package/dist/daemon/supervisor-transition.d.ts.map +1 -0
- package/dist/daemon/supervisor-transition.js +503 -0
- package/dist/daemon/supervisor-transition.js.map +1 -0
- package/dist/daemon/system-guardian-cgroup.d.ts +16 -0
- package/dist/daemon/system-guardian-cgroup.d.ts.map +1 -0
- package/dist/daemon/system-guardian-cgroup.js +202 -0
- package/dist/daemon/system-guardian-cgroup.js.map +1 -0
- package/dist/daemon/system-guardian-unit.d.ts +9 -0
- package/dist/daemon/system-guardian-unit.d.ts.map +1 -0
- package/dist/daemon/system-guardian-unit.js +41 -0
- package/dist/daemon/system-guardian-unit.js.map +1 -0
- package/dist/database/connection.d.ts.map +1 -1
- package/dist/database/connection.js +2 -6
- package/dist/database/connection.js.map +1 -1
- package/dist/database/log-durability.d.ts +5 -0
- package/dist/database/log-durability.d.ts.map +1 -0
- package/dist/database/log-durability.js +28 -0
- package/dist/database/log-durability.js.map +1 -0
- package/dist/database/migrate.js +2 -15
- package/dist/database/migrate.js.map +1 -1
- package/dist/database/migration-registry-compatibility.d.ts +13 -0
- package/dist/database/migration-registry-compatibility.d.ts.map +1 -0
- package/dist/database/migration-registry-compatibility.js +108 -0
- package/dist/database/migration-registry-compatibility.js.map +1 -0
- package/dist/database/migration-runner.d.ts +8 -42
- package/dist/database/migration-runner.d.ts.map +1 -1
- package/dist/database/migration-runner.js +114 -123
- package/dist/database/migration-runner.js.map +1 -1
- package/dist/database/migrations/014_replication_receipts.d.ts +5 -0
- package/dist/database/migrations/014_replication_receipts.d.ts.map +1 -0
- package/dist/database/migrations/014_replication_receipts.js +6 -0
- package/dist/database/migrations/014_replication_receipts.js.map +1 -0
- package/dist/database/migrations/015_persistent_metrics.d.ts +5 -0
- package/dist/database/migrations/015_persistent_metrics.d.ts.map +1 -0
- package/dist/database/migrations/015_persistent_metrics.js +7 -0
- package/dist/database/migrations/015_persistent_metrics.js.map +1 -0
- package/dist/database/migrations/016_cluster_lease.d.ts +4 -0
- package/dist/database/migrations/016_cluster_lease.d.ts.map +1 -0
- package/dist/database/migrations/016_cluster_lease.js +6 -0
- package/dist/database/migrations/016_cluster_lease.js.map +1 -0
- package/dist/database/migrations/index.d.ts +1 -1
- package/dist/database/migrations/index.d.ts.map +1 -1
- package/dist/database/migrations/index.js +22 -13
- package/dist/database/migrations/index.js.map +1 -1
- package/dist/database/schema-compatibility.d.ts +34 -0
- package/dist/database/schema-compatibility.d.ts.map +1 -0
- package/dist/database/schema-compatibility.js +109 -0
- package/dist/database/schema-compatibility.js.map +1 -0
- package/dist/database/schema-expansion-policy.d.ts +10 -0
- package/dist/database/schema-expansion-policy.d.ts.map +1 -0
- package/dist/database/schema-expansion-policy.js +21 -0
- package/dist/database/schema-expansion-policy.js.map +1 -0
- package/dist/database/schema-transition-plan.d.ts +53 -0
- package/dist/database/schema-transition-plan.d.ts.map +1 -0
- package/dist/database/schema-transition-plan.js +102 -0
- package/dist/database/schema-transition-plan.js.map +1 -0
- package/dist/database/schema-worker.d.ts +2 -0
- package/dist/database/schema-worker.d.ts.map +1 -0
- package/dist/database/schema-worker.js +55 -0
- package/dist/database/schema-worker.js.map +1 -0
- package/dist/database/schema.d.ts +6 -1
- package/dist/database/schema.d.ts.map +1 -1
- package/dist/database/slave-migrations/001_replication_evidence.d.ts +4 -0
- package/dist/database/slave-migrations/001_replication_evidence.d.ts.map +1 -0
- package/dist/database/slave-migrations/001_replication_evidence.js +89 -0
- package/dist/database/slave-migrations/001_replication_evidence.js.map +1 -0
- package/dist/database/slave-migrations/index.d.ts +6 -0
- package/dist/database/slave-migrations/index.d.ts.map +1 -0
- package/dist/database/slave-migrations/index.js +10 -0
- package/dist/database/slave-migrations/index.js.map +1 -0
- package/dist/diagnostics/index.d.ts +16 -0
- package/dist/diagnostics/index.d.ts.map +1 -0
- package/dist/diagnostics/index.js +22 -0
- package/dist/diagnostics/index.js.map +1 -0
- package/dist/execution/command-failure.d.ts +7 -0
- package/dist/execution/command-failure.d.ts.map +1 -0
- package/dist/execution/command-failure.js +29 -0
- package/dist/execution/command-failure.js.map +1 -0
- package/dist/execution/data-channel.d.ts +1 -1
- package/dist/execution/data-channel.js +1 -1
- package/dist/execution/execution.service.d.ts +16 -4
- package/dist/execution/execution.service.d.ts.map +1 -1
- package/dist/execution/execution.service.js +133 -74
- package/dist/execution/execution.service.js.map +1 -1
- package/dist/files/archive-codec.d.ts +57 -0
- package/dist/files/archive-codec.d.ts.map +1 -0
- package/dist/files/archive-codec.js +454 -0
- package/dist/files/archive-codec.js.map +1 -0
- package/dist/files/archive-node.d.ts +27 -0
- package/dist/files/archive-node.d.ts.map +1 -0
- package/dist/files/archive-node.js +379 -0
- package/dist/files/archive-node.js.map +1 -0
- package/dist/files/archive-publication.d.ts +26 -0
- package/dist/files/archive-publication.d.ts.map +1 -0
- package/dist/files/archive-publication.js +224 -0
- package/dist/files/archive-publication.js.map +1 -0
- package/dist/files/file-config.d.ts +7 -0
- package/dist/files/file-config.d.ts.map +1 -0
- package/dist/files/file-config.js +11 -0
- package/dist/files/file-config.js.map +1 -0
- package/dist/files/file-node.d.ts +65 -0
- package/dist/files/file-node.d.ts.map +1 -0
- package/dist/files/file-node.js +863 -0
- package/dist/files/file-node.js.map +1 -0
- package/dist/files/file-node.rpc-service.d.ts +12 -0
- package/dist/files/file-node.rpc-service.d.ts.map +1 -0
- package/dist/files/file-node.rpc-service.js +42 -0
- package/dist/files/file-node.rpc-service.js.map +1 -0
- package/dist/files/files.rpc-service.d.ts +107 -0
- package/dist/files/files.rpc-service.d.ts.map +1 -0
- package/dist/files/files.rpc-service.js +769 -0
- package/dist/files/files.rpc-service.js.map +1 -0
- package/dist/files/structural-policy.d.ts +3 -0
- package/dist/files/structural-policy.d.ts.map +1 -0
- package/dist/files/structural-policy.js +27 -0
- package/dist/files/structural-policy.js.map +1 -0
- package/dist/health/contracts.d.ts +30 -0
- package/dist/health/contracts.d.ts.map +1 -0
- package/dist/health/contracts.js +58 -0
- package/dist/health/contracts.js.map +1 -0
- package/dist/health/heartbeat.d.ts +11 -0
- package/dist/health/heartbeat.d.ts.map +1 -0
- package/dist/health/heartbeat.js +32 -0
- package/dist/health/heartbeat.js.map +1 -0
- package/dist/health/index.d.ts +4 -0
- package/dist/health/index.d.ts.map +1 -0
- package/dist/health/index.js +2 -0
- package/dist/health/index.js.map +1 -0
- package/dist/health/readiness.d.ts +15 -0
- package/dist/health/readiness.d.ts.map +1 -0
- package/dist/health/readiness.js +170 -0
- package/dist/health/readiness.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/infrastructure/apt-packages.d.ts +34 -0
- package/dist/infrastructure/apt-packages.d.ts.map +1 -0
- package/dist/infrastructure/apt-packages.js +232 -0
- package/dist/infrastructure/apt-packages.js.map +1 -0
- package/dist/infrastructure/bare-metal-plan.d.ts +10 -1
- package/dist/infrastructure/bare-metal-plan.d.ts.map +1 -1
- package/dist/infrastructure/bare-metal-plan.js +22 -1
- package/dist/infrastructure/bare-metal-plan.js.map +1 -1
- package/dist/infrastructure/bare-metal-runner.d.ts.map +1 -1
- package/dist/infrastructure/bare-metal-runner.js +13 -2
- package/dist/infrastructure/bare-metal-runner.js.map +1 -1
- package/dist/infrastructure/config-normalizer.d.ts +4 -3
- package/dist/infrastructure/config-normalizer.d.ts.map +1 -1
- package/dist/infrastructure/config-normalizer.js +11 -3
- package/dist/infrastructure/config-normalizer.js.map +1 -1
- package/dist/infrastructure/config-payload.d.ts +4 -4
- package/dist/infrastructure/config-payload.js +4 -4
- package/dist/infrastructure/container-runtime.d.ts +39 -13
- package/dist/infrastructure/container-runtime.d.ts.map +1 -1
- package/dist/infrastructure/container-runtime.js +276 -84
- package/dist/infrastructure/container-runtime.js.map +1 -1
- package/dist/infrastructure/gateway-redis-db.d.ts +2 -2
- package/dist/infrastructure/gateway-redis-db.js +2 -2
- package/dist/infrastructure/health-recovery.d.ts +19 -0
- package/dist/infrastructure/health-recovery.d.ts.map +1 -0
- package/dist/infrastructure/health-recovery.js +39 -0
- package/dist/infrastructure/health-recovery.js.map +1 -0
- package/dist/infrastructure/host-ingress-config.d.ts +12 -0
- package/dist/infrastructure/host-ingress-config.d.ts.map +1 -0
- package/dist/infrastructure/host-ingress-config.js +200 -0
- package/dist/infrastructure/host-ingress-config.js.map +1 -0
- package/dist/infrastructure/host-ingress-lock.d.ts +3 -0
- package/dist/infrastructure/host-ingress-lock.d.ts.map +1 -0
- package/dist/infrastructure/host-ingress-lock.js +2 -0
- package/dist/infrastructure/host-ingress-lock.js.map +1 -0
- package/dist/infrastructure/host-ingress-runtime.d.ts +25 -0
- package/dist/infrastructure/host-ingress-runtime.d.ts.map +1 -0
- package/dist/infrastructure/host-ingress-runtime.js +114 -0
- package/dist/infrastructure/host-ingress-runtime.js.map +1 -0
- package/dist/infrastructure/host-ingress-takeover.d.ts +18 -0
- package/dist/infrastructure/host-ingress-takeover.d.ts.map +1 -0
- package/dist/infrastructure/host-ingress-takeover.js +142 -0
- package/dist/infrastructure/host-ingress-takeover.js.map +1 -0
- package/dist/infrastructure/host-ingress-types.d.ts +175 -0
- package/dist/infrastructure/host-ingress-types.d.ts.map +1 -0
- package/dist/infrastructure/host-ingress-types.js +2 -0
- package/dist/infrastructure/host-ingress-types.js.map +1 -0
- package/dist/infrastructure/host-ingress.service.d.ts +47 -0
- package/dist/infrastructure/host-ingress.service.d.ts.map +1 -0
- package/dist/infrastructure/host-ingress.service.js +514 -0
- package/dist/infrastructure/host-ingress.service.js.map +1 -0
- package/dist/infrastructure/host-inspection.d.ts +1 -0
- package/dist/infrastructure/host-inspection.d.ts.map +1 -1
- package/dist/infrastructure/host-inspection.js +3 -2
- package/dist/infrastructure/host-inspection.js.map +1 -1
- package/dist/infrastructure/infrastructure.service.d.ts +101 -34
- package/dist/infrastructure/infrastructure.service.d.ts.map +1 -1
- package/dist/infrastructure/infrastructure.service.js +631 -205
- package/dist/infrastructure/infrastructure.service.js.map +1 -1
- package/dist/infrastructure/merge-config.d.ts +10 -0
- package/dist/infrastructure/merge-config.d.ts.map +1 -0
- package/dist/infrastructure/merge-config.js +27 -0
- package/dist/infrastructure/merge-config.js.map +1 -0
- package/dist/infrastructure/orphan-containers.d.ts +8 -7
- package/dist/infrastructure/orphan-containers.d.ts.map +1 -1
- package/dist/infrastructure/orphan-containers.js +7 -7
- package/dist/infrastructure/orphan-containers.js.map +1 -1
- package/dist/infrastructure/owned-container.d.ts +4 -0
- package/dist/infrastructure/owned-container.d.ts.map +1 -0
- package/dist/infrastructure/owned-container.js +13 -0
- package/dist/infrastructure/owned-container.js.map +1 -0
- package/dist/infrastructure/phantom-endpoint-janitor.d.ts +4 -1
- package/dist/infrastructure/phantom-endpoint-janitor.d.ts.map +1 -1
- package/dist/infrastructure/phantom-endpoint-janitor.js +11 -2
- package/dist/infrastructure/phantom-endpoint-janitor.js.map +1 -1
- package/dist/infrastructure/presets/minio.d.ts.map +1 -1
- package/dist/infrastructure/presets/minio.js +15 -25
- package/dist/infrastructure/presets/minio.js.map +1 -1
- package/dist/infrastructure/presets/postgres.d.ts.map +1 -1
- package/dist/infrastructure/presets/postgres.js +35 -31
- package/dist/infrastructure/presets/postgres.js.map +1 -1
- package/dist/infrastructure/presets/tor.d.ts +1 -2
- package/dist/infrastructure/presets/tor.d.ts.map +1 -1
- package/dist/infrastructure/presets/tor.js +7 -13
- package/dist/infrastructure/presets/tor.js.map +1 -1
- package/dist/infrastructure/provisioning-outcome.d.ts +8 -1
- package/dist/infrastructure/provisioning-outcome.d.ts.map +1 -1
- package/dist/infrastructure/provisioning-outcome.js +42 -9
- package/dist/infrastructure/provisioning-outcome.js.map +1 -1
- package/dist/infrastructure/service-binding.js +1 -1
- package/dist/infrastructure/service-resolver.d.ts +11 -5
- package/dist/infrastructure/service-resolver.d.ts.map +1 -1
- package/dist/infrastructure/service-resolver.js +109 -54
- package/dist/infrastructure/service-resolver.js.map +1 -1
- package/dist/infrastructure/shipped-config.js +4 -4
- package/dist/infrastructure/stack-infra-manager.d.ts +35 -5
- package/dist/infrastructure/stack-infra-manager.d.ts.map +1 -1
- package/dist/infrastructure/stack-infra-manager.js +227 -57
- package/dist/infrastructure/stack-infra-manager.js.map +1 -1
- package/dist/infrastructure/types.d.ts +68 -9
- package/dist/infrastructure/types.d.ts.map +1 -1
- package/dist/mcp/mcp-bridge.js +1 -1
- package/dist/mcp/mcp-bridge.js.map +1 -1
- package/dist/mcp/monitoring-reading.d.ts +18 -0
- package/dist/mcp/monitoring-reading.d.ts.map +1 -0
- package/dist/mcp/monitoring-reading.js +84 -0
- package/dist/mcp/monitoring-reading.js.map +1 -0
- package/dist/mcp/tool-groups/apps.tools.d.ts.map +1 -1
- package/dist/mcp/tool-groups/apps.tools.js +6 -4
- package/dist/mcp/tool-groups/apps.tools.js.map +1 -1
- package/dist/mcp/tool-groups/management.tools.d.ts +2 -0
- package/dist/mcp/tool-groups/management.tools.d.ts.map +1 -1
- package/dist/mcp/tool-groups/management.tools.js +17 -38
- package/dist/mcp/tool-groups/management.tools.js.map +1 -1
- package/dist/mcp/tool-groups/monitoring.tools.d.ts.map +1 -1
- package/dist/mcp/tool-groups/monitoring.tools.js +45 -2
- package/dist/mcp/tool-groups/monitoring.tools.js.map +1 -1
- package/dist/mcp/unavailable-tools.js +2 -2
- package/dist/mcp/unavailable-tools.js.map +1 -1
- package/dist/migration/configuration.d.ts +8 -0
- package/dist/migration/configuration.d.ts.map +1 -0
- package/dist/migration/configuration.js +16 -0
- package/dist/migration/configuration.js.map +1 -0
- package/dist/migration/index.d.ts +25 -0
- package/dist/migration/index.d.ts.map +1 -0
- package/dist/migration/index.js +27 -0
- package/dist/migration/index.js.map +1 -0
- package/dist/migration/operation.d.ts +31 -0
- package/dist/migration/operation.d.ts.map +1 -0
- package/dist/migration/operation.js +67 -0
- package/dist/migration/operation.js.map +1 -0
- package/dist/migration/workspace.d.ts +28 -0
- package/dist/migration/workspace.d.ts.map +1 -0
- package/dist/migration/workspace.js +91 -0
- package/dist/migration/workspace.js.map +1 -0
- package/dist/monitoring/app-health.indicator.d.ts +1 -1
- package/dist/monitoring/app-health.indicator.d.ts.map +1 -1
- package/dist/monitoring/docker-health.indicator.d.ts +4 -2
- package/dist/monitoring/docker-health.indicator.d.ts.map +1 -1
- package/dist/monitoring/docker-health.indicator.js +66 -5
- package/dist/monitoring/docker-health.indicator.js.map +1 -1
- package/dist/monitoring/event-loop-watch.d.ts.map +1 -1
- package/dist/monitoring/event-loop-watch.js.map +1 -1
- package/dist/monitoring/infrastructure-health.d.ts +15 -0
- package/dist/monitoring/infrastructure-health.d.ts.map +1 -0
- package/dist/monitoring/infrastructure-health.js +2 -0
- package/dist/monitoring/infrastructure-health.js.map +1 -0
- package/dist/monitoring/log-entry.d.ts +7 -0
- package/dist/monitoring/log-entry.d.ts.map +1 -0
- package/dist/monitoring/log-entry.js +16 -0
- package/dist/monitoring/log-entry.js.map +1 -0
- package/dist/monitoring/log-journal.d.ts +40 -0
- package/dist/monitoring/log-journal.d.ts.map +1 -0
- package/dist/monitoring/log-journal.js +158 -0
- package/dist/monitoring/log-journal.js.map +1 -0
- package/dist/monitoring/log-line.d.ts +22 -17
- package/dist/monitoring/log-line.d.ts.map +1 -1
- package/dist/monitoring/log-line.js +73 -62
- package/dist/monitoring/log-line.js.map +1 -1
- package/dist/monitoring/log-manager.d.ts +37 -40
- package/dist/monitoring/log-manager.d.ts.map +1 -1
- package/dist/monitoring/log-manager.js +167 -66
- package/dist/monitoring/log-manager.js.map +1 -1
- package/dist/monitoring/log-sink-health.indicator.d.ts +10 -0
- package/dist/monitoring/log-sink-health.indicator.d.ts.map +1 -0
- package/dist/monitoring/log-sink-health.indicator.js +21 -0
- package/dist/monitoring/log-sink-health.indicator.js.map +1 -0
- package/dist/monitoring/metrics-storage.indicator.d.ts +9 -0
- package/dist/monitoring/metrics-storage.indicator.d.ts.map +1 -0
- package/dist/monitoring/metrics-storage.indicator.js +18 -0
- package/dist/monitoring/metrics-storage.indicator.js.map +1 -0
- package/dist/monitoring/process-lifetime.d.ts +11 -0
- package/dist/monitoring/process-lifetime.d.ts.map +1 -0
- package/dist/monitoring/process-lifetime.js +45 -0
- package/dist/monitoring/process-lifetime.js.map +1 -0
- package/dist/monitoring/runtime-diagnostics.d.ts +47 -0
- package/dist/monitoring/runtime-diagnostics.d.ts.map +1 -0
- package/dist/monitoring/runtime-diagnostics.js +88 -0
- package/dist/monitoring/runtime-diagnostics.js.map +1 -0
- package/dist/observability/metrics-bridge.d.ts +5 -1
- package/dist/observability/metrics-bridge.d.ts.map +1 -1
- package/dist/observability/metrics-bridge.js +11 -0
- package/dist/observability/metrics-bridge.js.map +1 -1
- package/dist/operations.d.ts +17 -0
- package/dist/operations.d.ts.map +1 -0
- package/dist/operations.js +13 -0
- package/dist/operations.js.map +1 -0
- package/dist/orchestrator/app-handle.d.ts +27 -9
- package/dist/orchestrator/app-handle.d.ts.map +1 -1
- package/dist/orchestrator/app-handle.js +42 -11
- package/dist/orchestrator/app-handle.js.map +1 -1
- package/dist/orchestrator/application-runtime-child.d.ts +2 -0
- package/dist/orchestrator/application-runtime-child.d.ts.map +1 -0
- package/dist/orchestrator/application-runtime-child.js +15 -0
- package/dist/orchestrator/application-runtime-child.js.map +1 -0
- package/dist/orchestrator/application-runtime-resolution.d.ts +4 -0
- package/dist/orchestrator/application-runtime-resolution.d.ts.map +1 -0
- package/dist/orchestrator/application-runtime-resolution.js +62 -0
- package/dist/orchestrator/application-runtime-resolution.js.map +1 -0
- package/dist/orchestrator/application-runtime.d.ts +3 -0
- package/dist/orchestrator/application-runtime.d.ts.map +1 -0
- package/dist/orchestrator/application-runtime.js +20 -0
- package/dist/orchestrator/application-runtime.js.map +1 -0
- package/dist/orchestrator/application-topology.d.ts +20 -0
- package/dist/orchestrator/application-topology.d.ts.map +1 -0
- package/dist/orchestrator/application-topology.js +90 -0
- package/dist/orchestrator/application-topology.js.map +1 -0
- package/dist/orchestrator/bootstrap-loader-child.d.ts +1 -1
- package/dist/orchestrator/bootstrap-loader-child.js +7 -16
- package/dist/orchestrator/bootstrap-loader-child.js.map +1 -1
- package/dist/orchestrator/bootstrap-loader.d.ts +10 -20
- package/dist/orchestrator/bootstrap-loader.d.ts.map +1 -1
- package/dist/orchestrator/bootstrap-loader.js +24 -207
- package/dist/orchestrator/bootstrap-loader.js.map +1 -1
- package/dist/orchestrator/bootstrap-process.d.ts +6 -6
- package/dist/orchestrator/bootstrap-process.d.ts.map +1 -1
- package/dist/orchestrator/bootstrap-process.js +40 -40
- package/dist/orchestrator/bootstrap-process.js.map +1 -1
- package/dist/orchestrator/build-service.d.ts +8 -14
- package/dist/orchestrator/build-service.d.ts.map +1 -1
- package/dist/orchestrator/build-service.js +144 -158
- package/dist/orchestrator/build-service.js.map +1 -1
- package/dist/orchestrator/call-exposed-service.d.ts +8 -0
- package/dist/orchestrator/call-exposed-service.d.ts.map +1 -1
- package/dist/orchestrator/call-exposed-service.js +1 -1
- package/dist/orchestrator/classic-launcher.d.ts +3 -2
- package/dist/orchestrator/classic-launcher.d.ts.map +1 -1
- package/dist/orchestrator/classic-launcher.js +32 -23
- package/dist/orchestrator/classic-launcher.js.map +1 -1
- package/dist/orchestrator/dependency-resolver.d.ts.map +1 -1
- package/dist/orchestrator/dependency-resolver.js +7 -38
- package/dist/orchestrator/dependency-resolver.js.map +1 -1
- package/dist/orchestrator/execution-contract.d.ts +67 -0
- package/dist/orchestrator/execution-contract.d.ts.map +1 -0
- package/dist/orchestrator/execution-contract.js +2 -0
- package/dist/orchestrator/execution-contract.js.map +1 -0
- package/dist/orchestrator/file-watcher.d.ts +2 -1
- package/dist/orchestrator/file-watcher.d.ts.map +1 -1
- package/dist/orchestrator/file-watcher.js +23 -5
- package/dist/orchestrator/file-watcher.js.map +1 -1
- package/dist/orchestrator/http-routes.d.ts +4 -0
- package/dist/orchestrator/http-routes.d.ts.map +1 -0
- package/dist/orchestrator/http-routes.js +19 -0
- package/dist/orchestrator/http-routes.js.map +1 -0
- package/dist/orchestrator/installed-execution.d.ts +7 -0
- package/dist/orchestrator/installed-execution.d.ts.map +1 -0
- package/dist/orchestrator/installed-execution.js +25 -0
- package/dist/orchestrator/installed-execution.js.map +1 -0
- package/dist/orchestrator/module-worker-process.d.ts.map +1 -1
- package/dist/orchestrator/module-worker-process.js +2 -1
- package/dist/orchestrator/module-worker-process.js.map +1 -1
- package/dist/orchestrator/orchestrator.service.d.ts +105 -80
- package/dist/orchestrator/orchestrator.service.d.ts.map +1 -1
- package/dist/orchestrator/orchestrator.service.js +1084 -571
- package/dist/orchestrator/orchestrator.service.js.map +1 -1
- package/dist/orchestrator/process-janitor.d.ts +3 -0
- package/dist/orchestrator/process-janitor.d.ts.map +1 -1
- package/dist/orchestrator/process-janitor.js +5 -1
- package/dist/orchestrator/process-janitor.js.map +1 -1
- package/dist/orchestrator/runtime-package-resolution.d.ts +8 -0
- package/dist/orchestrator/runtime-package-resolution.d.ts.map +1 -0
- package/dist/orchestrator/runtime-package-resolution.js +56 -0
- package/dist/orchestrator/runtime-package-resolution.js.map +1 -0
- package/dist/orchestrator/service-router.d.ts +4 -108
- package/dist/orchestrator/service-router.d.ts.map +1 -1
- package/dist/orchestrator/service-router.js +51 -237
- package/dist/orchestrator/service-router.js.map +1 -1
- package/dist/orchestrator/topology-query.d.ts +1 -1
- package/dist/orchestrator/topology-query.js +1 -1
- package/dist/orchestrator/ts-compiler.d.ts.map +1 -1
- package/dist/orchestrator/ts-compiler.js +9 -17
- package/dist/orchestrator/ts-compiler.js.map +1 -1
- package/dist/project/artifact-builder.d.ts +17 -7
- package/dist/project/artifact-builder.d.ts.map +1 -1
- package/dist/project/artifact-builder.js +91 -58
- package/dist/project/artifact-builder.js.map +1 -1
- package/dist/project/bootstrap-metadata.d.ts +42 -0
- package/dist/project/bootstrap-metadata.d.ts.map +1 -0
- package/dist/project/bootstrap-metadata.js +76 -0
- package/dist/project/bootstrap-metadata.js.map +1 -0
- package/dist/project/build-decision.d.ts +1 -1
- package/dist/project/build-decision.js +1 -1
- package/dist/project/config-resolver.js +4 -4
- package/dist/project/config-resolver.js.map +1 -1
- package/dist/project/configuration-catalog.d.ts +8 -0
- package/dist/project/configuration-catalog.d.ts.map +1 -0
- package/dist/project/configuration-catalog.js +29 -0
- package/dist/project/configuration-catalog.js.map +1 -0
- package/dist/project/declared-config.d.ts +4 -2
- package/dist/project/declared-config.d.ts.map +1 -1
- package/dist/project/declared-config.js +10 -7
- package/dist/project/declared-config.js.map +1 -1
- package/dist/project/dependency-topology.d.ts +10 -0
- package/dist/project/dependency-topology.d.ts.map +1 -0
- package/dist/project/dependency-topology.js +55 -0
- package/dist/project/dependency-topology.js.map +1 -0
- package/dist/project/deploy-phases.d.ts +1 -1
- package/dist/project/deploy-phases.js +1 -1
- package/dist/project/exec-in-group.d.ts +1 -1
- package/dist/project/exec-in-group.js +1 -1
- package/dist/project/infrastructure-ownership.d.ts +5 -0
- package/dist/project/infrastructure-ownership.d.ts.map +1 -0
- package/dist/project/infrastructure-ownership.js +26 -0
- package/dist/project/infrastructure-ownership.js.map +1 -0
- package/dist/project/installed-stack-resume.d.ts +62 -0
- package/dist/project/installed-stack-resume.d.ts.map +1 -0
- package/dist/project/installed-stack-resume.js +261 -0
- package/dist/project/installed-stack-resume.js.map +1 -0
- package/dist/project/launch-failure.d.ts +3 -0
- package/dist/project/launch-failure.d.ts.map +1 -0
- package/dist/project/launch-failure.js +32 -0
- package/dist/project/launch-failure.js.map +1 -0
- package/dist/project/local-release-selection.d.ts +18 -0
- package/dist/project/local-release-selection.d.ts.map +1 -0
- package/dist/project/local-release-selection.js +36 -0
- package/dist/project/local-release-selection.js.map +1 -0
- package/dist/project/node-app-config.d.ts +10 -3
- package/dist/project/node-app-config.d.ts.map +1 -1
- package/dist/project/node-app-config.js +22 -30
- package/dist/project/node-app-config.js.map +1 -1
- package/dist/project/node-app-health.d.ts +1 -1
- package/dist/project/node-app-health.js +1 -1
- package/dist/project/node-stack-stop.d.ts +83 -0
- package/dist/project/node-stack-stop.d.ts.map +1 -0
- package/dist/project/node-stack-stop.js +219 -0
- package/dist/project/node-stack-stop.js.map +1 -0
- package/dist/project/operator-account.d.ts +9 -3
- package/dist/project/operator-account.d.ts.map +1 -1
- package/dist/project/operator-account.js +9 -9
- package/dist/project/operator-account.js.map +1 -1
- package/dist/project/public-stack.d.ts +4 -0
- package/dist/project/public-stack.d.ts.map +1 -0
- package/dist/project/public-stack.js +29 -0
- package/dist/project/public-stack.js.map +1 -0
- package/dist/project/registry.d.ts +18 -27
- package/dist/project/registry.d.ts.map +1 -1
- package/dist/project/registry.js +248 -77
- package/dist/project/registry.js.map +1 -1
- package/dist/project/requirements-scanner.d.ts +4 -8
- package/dist/project/requirements-scanner.d.ts.map +1 -1
- package/dist/project/requirements-scanner.js +39 -146
- package/dist/project/requirements-scanner.js.map +1 -1
- package/dist/project/stack-diagnosis.d.ts +18 -0
- package/dist/project/stack-diagnosis.d.ts.map +1 -0
- package/dist/project/stack-diagnosis.js +94 -0
- package/dist/project/stack-diagnosis.js.map +1 -0
- package/dist/project/stack-env.d.ts +1 -1
- package/dist/project/stack-env.js +1 -1
- package/dist/project/stack-health.d.ts +12 -0
- package/dist/project/stack-health.d.ts.map +1 -0
- package/dist/project/stack-health.js +27 -0
- package/dist/project/stack-health.js.map +1 -0
- package/dist/project/stack-observation.d.ts +8 -0
- package/dist/project/stack-observation.d.ts.map +1 -0
- package/dist/project/stack-observation.js +126 -0
- package/dist/project/stack-observation.js.map +1 -0
- package/dist/project/stack-placement.d.ts +11 -0
- package/dist/project/stack-placement.d.ts.map +1 -0
- package/dist/project/stack-placement.js +57 -0
- package/dist/project/stack-placement.js.map +1 -0
- package/dist/project/stack-stop-review.d.ts +14 -0
- package/dist/project/stack-stop-review.d.ts.map +1 -0
- package/dist/project/stack-stop-review.js +22 -0
- package/dist/project/stack-stop-review.js.map +1 -0
- package/dist/project/stack-targets.d.ts +24 -0
- package/dist/project/stack-targets.d.ts.map +1 -0
- package/dist/project/stack-targets.js +67 -0
- package/dist/project/stack-targets.js.map +1 -0
- package/dist/project/stand-containers.d.ts +9 -2
- package/dist/project/stand-containers.d.ts.map +1 -1
- package/dist/project/stand-containers.js +17 -17
- package/dist/project/stand-containers.js.map +1 -1
- package/dist/project/topology-control.d.ts +41 -0
- package/dist/project/topology-control.d.ts.map +1 -0
- package/dist/project/topology-control.js +133 -0
- package/dist/project/topology-control.js.map +1 -0
- package/dist/project/topology-plan.d.ts +11 -0
- package/dist/project/topology-plan.d.ts.map +1 -0
- package/dist/project/topology-plan.js +154 -0
- package/dist/project/topology-plan.js.map +1 -0
- package/dist/project/topology-services.d.ts +7 -0
- package/dist/project/topology-services.d.ts.map +1 -0
- package/dist/project/topology-services.js +36 -0
- package/dist/project/topology-services.js.map +1 -0
- package/dist/project/topology-state.d.ts +27 -0
- package/dist/project/topology-state.d.ts.map +1 -0
- package/dist/project/topology-state.js +71 -0
- package/dist/project/topology-state.js.map +1 -0
- package/dist/project/workspace-kind.d.ts +3 -0
- package/dist/project/workspace-kind.d.ts.map +1 -0
- package/dist/project/workspace-kind.js +13 -0
- package/dist/project/workspace-kind.js.map +1 -0
- package/dist/readiness.d.ts +4 -0
- package/dist/readiness.d.ts.map +1 -0
- package/dist/readiness.js +3 -0
- package/dist/readiness.js.map +1 -0
- package/dist/release/application-closure.d.ts +4 -0
- package/dist/release/application-closure.d.ts.map +1 -0
- package/dist/release/application-closure.js +61 -0
- package/dist/release/application-closure.js.map +1 -0
- package/dist/release/archive.d.ts +3 -0
- package/dist/release/archive.d.ts.map +1 -0
- package/dist/release/archive.js +3 -0
- package/dist/release/archive.js.map +1 -0
- package/dist/release/artifact-inspection.d.ts +50 -0
- package/dist/release/artifact-inspection.d.ts.map +1 -0
- package/dist/release/artifact-inspection.js +169 -0
- package/dist/release/artifact-inspection.js.map +1 -0
- package/dist/release/artifact-store.d.ts +1 -1
- package/dist/release/artifact-store.d.ts.map +1 -1
- package/dist/release/artifact-store.js +1 -1
- package/dist/release/artifact-store.js.map +1 -1
- package/dist/release/artifact-volumes.d.ts +10 -0
- package/dist/release/artifact-volumes.d.ts.map +1 -0
- package/dist/release/artifact-volumes.js +112 -0
- package/dist/release/artifact-volumes.js.map +1 -0
- package/dist/release/attest-on-node.d.ts +3 -2
- package/dist/release/attest-on-node.d.ts.map +1 -1
- package/dist/release/attest-on-node.js +6 -6
- package/dist/release/attest-on-node.js.map +1 -1
- package/dist/release/attest.d.ts +3 -3
- package/dist/release/attest.js +1 -1
- package/dist/release/build-run.d.ts +14 -17
- package/dist/release/build-run.d.ts.map +1 -1
- package/dist/release/build-run.js +264 -77
- package/dist/release/build-run.js.map +1 -1
- package/dist/release/builder.d.ts +9 -3
- package/dist/release/builder.d.ts.map +1 -1
- package/dist/release/builder.js +19 -5
- package/dist/release/builder.js.map +1 -1
- package/dist/release/closure-library-path.d.ts +26 -0
- package/dist/release/closure-library-path.d.ts.map +1 -0
- package/dist/release/closure-library-path.js +160 -0
- package/dist/release/closure-library-path.js.map +1 -0
- package/dist/release/definition-inputs.d.ts +7 -4
- package/dist/release/definition-inputs.d.ts.map +1 -1
- package/dist/release/definition-inputs.js +146 -15
- package/dist/release/definition-inputs.js.map +1 -1
- package/dist/release/framework-source.d.ts +22 -0
- package/dist/release/framework-source.d.ts.map +1 -0
- package/dist/release/framework-source.js +54 -0
- package/dist/release/framework-source.js.map +1 -0
- package/dist/release/frozen-installation.d.ts +23 -0
- package/dist/release/frozen-installation.d.ts.map +1 -0
- package/dist/release/frozen-installation.js +159 -0
- package/dist/release/frozen-installation.js.map +1 -0
- package/dist/release/import-artifacts.d.ts +9 -0
- package/dist/release/import-artifacts.d.ts.map +1 -0
- package/dist/release/import-artifacts.js +60 -0
- package/dist/release/import-artifacts.js.map +1 -0
- package/dist/release/infrastructure.d.ts +6 -0
- package/dist/release/infrastructure.d.ts.map +1 -0
- package/dist/release/infrastructure.js +74 -0
- package/dist/release/infrastructure.js.map +1 -0
- package/dist/release/installed-artifacts.d.ts +12 -0
- package/dist/release/installed-artifacts.d.ts.map +1 -0
- package/dist/release/installed-artifacts.js +199 -0
- package/dist/release/installed-artifacts.js.map +1 -0
- package/dist/release/installed-graph.d.ts +28 -0
- package/dist/release/installed-graph.d.ts.map +1 -0
- package/dist/release/installed-graph.js +138 -0
- package/dist/release/installed-graph.js.map +1 -0
- package/dist/release/installed-origin.d.ts +42 -0
- package/dist/release/installed-origin.d.ts.map +1 -0
- package/dist/release/installed-origin.js +130 -0
- package/dist/release/installed-origin.js.map +1 -0
- package/dist/release/installed-release.d.ts +23 -0
- package/dist/release/installed-release.d.ts.map +1 -0
- package/dist/release/installed-release.js +141 -0
- package/dist/release/installed-release.js.map +1 -0
- package/dist/release/layout.d.ts +29 -34
- package/dist/release/layout.d.ts.map +1 -1
- package/dist/release/layout.js +164 -53
- package/dist/release/layout.js.map +1 -1
- package/dist/release/load.d.ts +3 -0
- package/dist/release/load.d.ts.map +1 -1
- package/dist/release/load.js +50 -8
- package/dist/release/load.js.map +1 -1
- package/dist/release/local-installation.d.ts +20 -0
- package/dist/release/local-installation.d.ts.map +1 -0
- package/dist/release/local-installation.js +298 -0
- package/dist/release/local-installation.js.map +1 -0
- package/dist/release/manifest.d.ts +87 -12
- package/dist/release/manifest.d.ts.map +1 -1
- package/dist/release/manifest.js +31 -7
- package/dist/release/manifest.js.map +1 -1
- package/dist/release/migration-programs.d.ts +12 -0
- package/dist/release/migration-programs.d.ts.map +1 -0
- package/dist/release/migration-programs.js +45 -0
- package/dist/release/migration-programs.js.map +1 -0
- package/dist/release/migrations.d.ts +12 -1
- package/dist/release/migrations.d.ts.map +1 -1
- package/dist/release/migrations.js +124 -9
- package/dist/release/migrations.js.map +1 -1
- package/dist/release/origin.d.ts +33 -0
- package/dist/release/origin.d.ts.map +1 -0
- package/dist/release/origin.js +253 -0
- package/dist/release/origin.js.map +1 -0
- package/dist/release/owner-admission.d.ts +15 -0
- package/dist/release/owner-admission.d.ts.map +1 -0
- package/dist/release/owner-admission.js +37 -0
- package/dist/release/owner-admission.js.map +1 -0
- package/dist/release/owner-executable.d.ts +3 -0
- package/dist/release/owner-executable.d.ts.map +1 -0
- package/dist/release/owner-executable.js +40 -0
- package/dist/release/owner-executable.js.map +1 -0
- package/dist/release/package-gates.d.ts +9 -0
- package/dist/release/package-gates.d.ts.map +1 -0
- package/dist/release/package-gates.js +42 -0
- package/dist/release/package-gates.js.map +1 -0
- package/dist/release/package-resolution.d.ts +4 -0
- package/dist/release/package-resolution.d.ts.map +1 -0
- package/dist/release/package-resolution.js +28 -0
- package/dist/release/package-resolution.js.map +1 -0
- package/dist/release/portable-archive.d.ts +12 -0
- package/dist/release/portable-archive.d.ts.map +1 -0
- package/dist/release/portable-archive.js +96 -0
- package/dist/release/portable-archive.js.map +1 -0
- package/dist/release/publish.d.ts +1 -1
- package/dist/release/publish.js +1 -1
- package/dist/release/registry-download.d.ts +2 -0
- package/dist/release/registry-download.d.ts.map +1 -0
- package/dist/release/registry-download.js +157 -0
- package/dist/release/registry-download.js.map +1 -0
- package/dist/release/registry-framework.d.ts +39 -0
- package/dist/release/registry-framework.d.ts.map +1 -0
- package/dist/release/registry-framework.js +279 -0
- package/dist/release/registry-framework.js.map +1 -0
- package/dist/release/registry-transport.d.ts +27 -0
- package/dist/release/registry-transport.d.ts.map +1 -0
- package/dist/release/registry-transport.js +96 -0
- package/dist/release/registry-transport.js.map +1 -0
- package/dist/release/repository-identity.d.ts +12 -0
- package/dist/release/repository-identity.d.ts.map +1 -0
- package/dist/release/repository-identity.js +62 -0
- package/dist/release/repository-identity.js.map +1 -0
- package/dist/release/runtime-extractor.d.ts +4 -0
- package/dist/release/runtime-extractor.d.ts.map +1 -0
- package/dist/release/runtime-extractor.js +15 -0
- package/dist/release/runtime-extractor.js.map +1 -0
- package/dist/release/runtime-provenance.d.ts +40 -0
- package/dist/release/runtime-provenance.d.ts.map +1 -0
- package/dist/release/runtime-provenance.js +229 -0
- package/dist/release/runtime-provenance.js.map +1 -0
- package/dist/release/source.d.ts +12 -0
- package/dist/release/source.d.ts.map +1 -0
- package/dist/release/source.js +168 -0
- package/dist/release/source.js.map +1 -0
- package/dist/release/store.d.ts +14 -5
- package/dist/release/store.d.ts.map +1 -1
- package/dist/release/store.js +73 -17
- package/dist/release/store.js.map +1 -1
- package/dist/release/target-runtime.d.ts +19 -0
- package/dist/release/target-runtime.d.ts.map +1 -0
- package/dist/release/target-runtime.js +41 -0
- package/dist/release/target-runtime.js.map +1 -0
- package/dist/release/vendored-framework.d.ts +28 -0
- package/dist/release/vendored-framework.d.ts.map +1 -0
- package/dist/release/vendored-framework.js +98 -0
- package/dist/release/vendored-framework.js.map +1 -0
- package/dist/release/workspace-source.d.ts +3 -0
- package/dist/release/workspace-source.d.ts.map +1 -0
- package/dist/release/workspace-source.js +33 -0
- package/dist/release/workspace-source.js.map +1 -0
- package/dist/runtime/context.d.ts +29 -0
- package/dist/runtime/context.d.ts.map +1 -0
- package/dist/runtime/context.js +111 -0
- package/dist/runtime/context.js.map +1 -0
- package/dist/runtime/identity.d.ts +15 -0
- package/dist/runtime/identity.d.ts.map +1 -0
- package/dist/runtime/identity.js +33 -0
- package/dist/runtime/identity.js.map +1 -0
- package/dist/runtime/index.d.ts +3 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +3 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/services/access.rpc-service.d.ts +41 -0
- package/dist/services/access.rpc-service.d.ts.map +1 -0
- package/dist/services/access.rpc-service.js +248 -0
- package/dist/services/access.rpc-service.js.map +1 -0
- package/dist/services/alert.service.d.ts +3 -3
- package/dist/services/alert.service.d.ts.map +1 -1
- package/dist/services/alert.service.js +3 -3
- package/dist/services/anonymous-input.d.ts +0 -21
- package/dist/services/anonymous-input.d.ts.map +1 -1
- package/dist/services/anonymous-input.js +1 -27
- package/dist/services/anonymous-input.js.map +1 -1
- package/dist/services/audit.service.d.ts +10 -30
- package/dist/services/audit.service.d.ts.map +1 -1
- package/dist/services/audit.service.js +72 -18
- package/dist/services/audit.service.js.map +1 -1
- package/dist/services/auth-context.d.ts +2 -0
- package/dist/services/auth-context.d.ts.map +1 -1
- package/dist/services/auth-context.js +4 -1
- package/dist/services/auth-context.js.map +1 -1
- package/dist/services/auth.rpc-service.d.ts +3 -1
- package/dist/services/auth.rpc-service.d.ts.map +1 -1
- package/dist/services/auth.rpc-service.js +13 -3
- package/dist/services/auth.rpc-service.js.map +1 -1
- package/dist/services/auth.service.d.ts +11 -21
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +125 -139
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/backup-pipeline.d.ts +1 -1
- package/dist/services/backup-pipeline.js +1 -1
- package/dist/services/backup-storage.d.ts +14 -0
- package/dist/services/backup-storage.d.ts.map +1 -0
- package/dist/services/backup-storage.js +195 -0
- package/dist/services/backup-storage.js.map +1 -0
- package/dist/services/backup.rpc-service.d.ts +2 -0
- package/dist/services/backup.rpc-service.d.ts.map +1 -1
- package/dist/services/backup.rpc-service.js +9 -0
- package/dist/services/backup.rpc-service.js.map +1 -1
- package/dist/services/backup.service.d.ts +36 -129
- package/dist/services/backup.service.d.ts.map +1 -1
- package/dist/services/backup.service.js +177 -156
- package/dist/services/backup.service.js.map +1 -1
- package/dist/services/bundle-builder.d.ts +27 -12
- package/dist/services/bundle-builder.d.ts.map +1 -1
- package/dist/services/bundle-builder.js +192 -101
- package/dist/services/bundle-builder.js.map +1 -1
- package/dist/services/bundle-overrides.d.ts +25 -0
- package/dist/services/bundle-overrides.d.ts.map +1 -0
- package/dist/services/bundle-overrides.js +96 -0
- package/dist/services/bundle-overrides.js.map +1 -0
- package/dist/services/daemon-authority.d.ts +16 -0
- package/dist/services/daemon-authority.d.ts.map +1 -0
- package/dist/services/daemon-authority.js +54 -0
- package/dist/services/daemon-authority.js.map +1 -0
- package/dist/services/daemon-principal.d.ts +31 -0
- package/dist/services/daemon-principal.d.ts.map +1 -0
- package/dist/services/daemon-principal.js +37 -0
- package/dist/services/daemon-principal.js.map +1 -0
- package/dist/services/deploy.service.d.ts +13 -57
- package/dist/services/deploy.service.d.ts.map +1 -1
- package/dist/services/deploy.service.js +15 -263
- package/dist/services/deploy.service.js.map +1 -1
- package/dist/services/discovery.service.d.ts +1 -1
- package/dist/services/discovery.service.js +1 -1
- package/dist/services/event-broadcaster.rpc-service.d.ts +7 -1
- package/dist/services/event-broadcaster.rpc-service.d.ts.map +1 -1
- package/dist/services/event-broadcaster.rpc-service.js +89 -11
- package/dist/services/event-broadcaster.rpc-service.js.map +1 -1
- package/dist/services/fleet.rpc-service.d.ts +0 -6
- package/dist/services/fleet.rpc-service.d.ts.map +1 -1
- package/dist/services/fleet.rpc-service.js +0 -13
- package/dist/services/fleet.rpc-service.js.map +1 -1
- package/dist/services/health-check.service.d.ts +1 -1
- package/dist/services/health-check.service.d.ts.map +1 -1
- package/dist/services/health-check.service.js +30 -5
- package/dist/services/health-check.service.js.map +1 -1
- package/dist/services/host-operation-barrier.d.ts +8 -0
- package/dist/services/host-operation-barrier.d.ts.map +1 -0
- package/dist/services/host-operation-barrier.js +44 -0
- package/dist/services/host-operation-barrier.js.map +1 -0
- package/dist/services/host-upgrade.d.ts +181 -0
- package/dist/services/host-upgrade.d.ts.map +1 -0
- package/dist/services/host-upgrade.js +503 -0
- package/dist/services/host-upgrade.js.map +1 -0
- package/dist/services/infrastructure.rpc-service.d.ts +24 -2
- package/dist/services/infrastructure.rpc-service.d.ts.map +1 -1
- package/dist/services/infrastructure.rpc-service.js +178 -36
- package/dist/services/infrastructure.rpc-service.js.map +1 -1
- package/dist/services/kernel-catalog.d.ts +14 -0
- package/dist/services/kernel-catalog.d.ts.map +1 -0
- package/dist/services/kernel-catalog.js +172 -0
- package/dist/services/kernel-catalog.js.map +1 -0
- package/dist/services/kernel-distribution.d.ts +5 -0
- package/dist/services/kernel-distribution.d.ts.map +1 -0
- package/dist/services/kernel-distribution.js +49 -0
- package/dist/services/kernel-distribution.js.map +1 -0
- package/dist/services/kernel-rollout.service.d.ts +55 -0
- package/dist/services/kernel-rollout.service.d.ts.map +1 -0
- package/dist/services/kernel-rollout.service.js +394 -0
- package/dist/services/kernel-rollout.service.js.map +1 -0
- package/dist/services/local-bundle.d.ts +9 -0
- package/dist/services/local-bundle.d.ts.map +1 -1
- package/dist/services/local-bundle.js +14 -3
- package/dist/services/local-bundle.js.map +1 -1
- package/dist/services/log-collector.rpc-service.d.ts +5 -11
- package/dist/services/log-collector.rpc-service.d.ts.map +1 -1
- package/dist/services/log-collector.rpc-service.js +6 -6
- package/dist/services/log-collector.rpc-service.js.map +1 -1
- package/dist/services/log-collector.service.d.ts +39 -109
- package/dist/services/log-collector.service.d.ts.map +1 -1
- package/dist/services/log-collector.service.js +286 -261
- package/dist/services/log-collector.service.js.map +1 -1
- package/dist/services/log-query.d.ts +6 -0
- package/dist/services/log-query.d.ts.map +1 -0
- package/dist/services/log-query.js +46 -0
- package/dist/services/log-query.js.map +1 -0
- package/dist/services/maintenance-lock.d.ts +2 -2
- package/dist/services/maintenance-lock.d.ts.map +1 -1
- package/dist/services/maintenance-lock.js +1 -1
- package/dist/services/managed-rollout.d.ts +54 -0
- package/dist/services/managed-rollout.d.ts.map +1 -0
- package/dist/services/managed-rollout.js +124 -0
- package/dist/services/managed-rollout.js.map +1 -0
- package/dist/services/metrics.rpc-service.d.ts +23 -0
- package/dist/services/metrics.rpc-service.d.ts.map +1 -0
- package/dist/services/metrics.rpc-service.js +73 -0
- package/dist/services/metrics.rpc-service.js.map +1 -0
- package/dist/services/migration-output.d.ts +2 -2
- package/dist/services/migration-output.js +2 -2
- package/dist/services/migration-process.d.ts +32 -0
- package/dist/services/migration-process.d.ts.map +1 -0
- package/dist/services/migration-process.js +71 -0
- package/dist/services/migration-process.js.map +1 -0
- package/dist/services/migration-target.d.ts +57 -0
- package/dist/services/migration-target.d.ts.map +1 -0
- package/dist/services/migration-target.js +221 -0
- package/dist/services/migration-target.js.map +1 -0
- package/dist/services/node-deploy-lease.d.ts +19 -2
- package/dist/services/node-deploy-lease.d.ts.map +1 -1
- package/dist/services/node-deploy-lease.js +84 -10
- package/dist/services/node-deploy-lease.js.map +1 -1
- package/dist/services/node-health.repository.d.ts +2 -59
- package/dist/services/node-health.repository.d.ts.map +1 -1
- package/dist/services/node-health.repository.js.map +1 -1
- package/dist/services/node-host-key.d.ts +9 -0
- package/dist/services/node-host-key.d.ts.map +1 -0
- package/dist/services/node-host-key.js +17 -0
- package/dist/services/node-host-key.js.map +1 -0
- package/dist/services/node-manager.rpc-service.d.ts +50 -38
- package/dist/services/node-manager.rpc-service.d.ts.map +1 -1
- package/dist/services/node-manager.rpc-service.js +233 -38
- package/dist/services/node-manager.rpc-service.js.map +1 -1
- package/dist/services/node-manager.service.d.ts +4 -1
- package/dist/services/node-manager.service.d.ts.map +1 -1
- package/dist/services/node-manager.service.js +79 -28
- package/dist/services/node-manager.service.js.map +1 -1
- package/dist/services/node-registration.d.ts +17 -0
- package/dist/services/node-registration.d.ts.map +1 -0
- package/dist/services/node-registration.js +73 -0
- package/dist/services/node-registration.js.map +1 -0
- package/dist/services/node-upgrade.d.ts +1 -1
- package/dist/services/node-upgrade.service.d.ts +2 -28
- package/dist/services/node-upgrade.service.d.ts.map +1 -1
- package/dist/services/node-upgrade.service.js +2 -3
- package/dist/services/node-upgrade.service.js.map +1 -1
- package/dist/services/pipeline-definition.d.ts +14 -0
- package/dist/services/pipeline-definition.d.ts.map +1 -0
- package/dist/services/pipeline-definition.js +77 -0
- package/dist/services/pipeline-definition.js.map +1 -0
- package/dist/services/pipeline.rpc-service.d.ts +14 -3
- package/dist/services/pipeline.rpc-service.d.ts.map +1 -1
- package/dist/services/pipeline.rpc-service.js +45 -12
- package/dist/services/pipeline.rpc-service.js.map +1 -1
- package/dist/services/pipeline.service.d.ts +30 -44
- package/dist/services/pipeline.service.d.ts.map +1 -1
- package/dist/services/pipeline.service.js +402 -333
- package/dist/services/pipeline.service.js.map +1 -1
- package/dist/services/project.rpc-service.d.ts +219 -14
- package/dist/services/project.rpc-service.d.ts.map +1 -1
- package/dist/services/project.rpc-service.js +314 -31
- package/dist/services/project.rpc-service.js.map +1 -1
- package/dist/services/project.service.d.ts +195 -67
- package/dist/services/project.service.d.ts.map +1 -1
- package/dist/services/project.service.js +2029 -705
- package/dist/services/project.service.js.map +1 -1
- package/dist/services/redeploy-decision.d.ts +2 -2
- package/dist/services/redeploy-decision.js +1 -1
- package/dist/services/release.rpc-service.d.ts +6 -19
- package/dist/services/release.rpc-service.d.ts.map +1 -1
- package/dist/services/release.rpc-service.js +35 -12
- package/dist/services/release.rpc-service.js.map +1 -1
- package/dist/services/release.service.d.ts +2 -47
- package/dist/services/release.service.d.ts.map +1 -1
- package/dist/services/release.service.js +26 -2
- package/dist/services/release.service.js.map +1 -1
- package/dist/services/remote-deployer.service.d.ts +65 -126
- package/dist/services/remote-deployer.service.d.ts.map +1 -1
- package/dist/services/remote-deployer.service.js +671 -466
- package/dist/services/remote-deployer.service.js.map +1 -1
- package/dist/services/remote-provisioner.d.ts +3 -1
- package/dist/services/remote-provisioner.d.ts.map +1 -1
- package/dist/services/remote-provisioner.js +2 -2
- package/dist/services/remote-provisioner.js.map +1 -1
- package/dist/services/replication-evidence.d.ts +24 -0
- package/dist/services/replication-evidence.d.ts.map +1 -0
- package/dist/services/replication-evidence.js +61 -0
- package/dist/services/replication-evidence.js.map +1 -0
- package/dist/services/replication-history.d.ts +80 -0
- package/dist/services/replication-history.d.ts.map +1 -0
- package/dist/services/replication-history.js +279 -0
- package/dist/services/replication-history.js.map +1 -0
- package/dist/services/replication-reconciliation.d.ts +74 -0
- package/dist/services/replication-reconciliation.d.ts.map +1 -0
- package/dist/services/replication-reconciliation.js +351 -0
- package/dist/services/replication-reconciliation.js.map +1 -0
- package/dist/services/slave-storage.service.d.ts +2 -19
- package/dist/services/slave-storage.service.d.ts.map +1 -1
- package/dist/services/slave-storage.service.js +19 -6
- package/dist/services/slave-storage.service.js.map +1 -1
- package/dist/services/static-carry-forward.d.ts +28 -3
- package/dist/services/static-carry-forward.d.ts.map +1 -1
- package/dist/services/static-carry-forward.js +285 -4
- package/dist/services/static-carry-forward.js.map +1 -1
- package/dist/services/sync-summary.d.ts.map +1 -1
- package/dist/services/sync-summary.js +1 -18
- package/dist/services/sync-summary.js.map +1 -1
- package/dist/services/sync.rpc-service.d.ts +17 -20
- package/dist/services/sync.rpc-service.d.ts.map +1 -1
- package/dist/services/sync.rpc-service.js +23 -37
- package/dist/services/sync.rpc-service.js.map +1 -1
- package/dist/services/sync.service.d.ts +53 -157
- package/dist/services/sync.service.d.ts.map +1 -1
- package/dist/services/sync.service.js +239 -337
- package/dist/services/sync.service.js.map +1 -1
- package/dist/services/system-info.rpc-service.d.ts +3 -1
- package/dist/services/system-info.rpc-service.d.ts.map +1 -1
- package/dist/services/system-info.rpc-service.js +5 -5
- package/dist/services/system-info.rpc-service.js.map +1 -1
- package/dist/services/system-info.service.d.ts +3 -1
- package/dist/services/system-info.service.d.ts.map +1 -1
- package/dist/services/system-info.service.js +17 -9
- package/dist/services/system-info.service.js.map +1 -1
- package/dist/services/telemetry.rpc-service.d.ts +4 -23
- package/dist/services/telemetry.rpc-service.d.ts.map +1 -1
- package/dist/services/telemetry.rpc-service.js +4 -32
- package/dist/services/telemetry.rpc-service.js.map +1 -1
- package/dist/services/telemetry.service.d.ts +2 -30
- package/dist/services/telemetry.service.d.ts.map +1 -1
- package/dist/services/telemetry.service.js +25 -131
- package/dist/services/telemetry.service.js.map +1 -1
- package/dist/services/terminal-ssh.d.ts +16 -0
- package/dist/services/terminal-ssh.d.ts.map +1 -0
- package/dist/services/terminal-ssh.js +101 -0
- package/dist/services/terminal-ssh.js.map +1 -0
- package/dist/services/terminal.rpc-service.d.ts +84 -0
- package/dist/services/terminal.rpc-service.d.ts.map +1 -0
- package/dist/services/terminal.rpc-service.js +508 -0
- package/dist/services/terminal.rpc-service.js.map +1 -0
- package/dist/services/trace-collector.rpc-service.js +3 -3
- package/dist/services/trace-collector.rpc-service.js.map +1 -1
- package/dist/services/wait-for-postgres.d.ts +1 -1
- package/dist/services/wait-for-postgres.d.ts.map +1 -1
- package/dist/services/wait-for-postgres.js +13 -28
- package/dist/services/wait-for-postgres.js.map +1 -1
- package/dist/shared/build-stamp.d.ts +4 -1
- package/dist/shared/build-stamp.d.ts.map +1 -1
- package/dist/shared/build-stamp.js +14 -6
- package/dist/shared/build-stamp.js.map +1 -1
- package/dist/shared/describe-error.d.ts +1 -21
- package/dist/shared/describe-error.d.ts.map +1 -1
- package/dist/shared/describe-error.js +1 -38
- package/dist/shared/describe-error.js.map +1 -1
- package/dist/shared/dto/access.d.ts +55 -0
- package/dist/shared/dto/access.d.ts.map +1 -0
- package/dist/shared/dto/access.js +2 -0
- package/dist/shared/dto/access.js.map +1 -0
- package/dist/shared/dto/audit.d.ts +32 -0
- package/dist/shared/dto/audit.d.ts.map +1 -0
- package/dist/shared/dto/audit.js +3 -0
- package/dist/shared/dto/audit.js.map +1 -0
- package/dist/shared/dto/auth.d.ts +2 -0
- package/dist/shared/dto/auth.d.ts.map +1 -1
- package/dist/shared/dto/auth.js +5 -1
- package/dist/shared/dto/auth.js.map +1 -1
- package/dist/shared/dto/backend.d.ts +50 -0
- package/dist/shared/dto/backend.d.ts.map +1 -0
- package/dist/shared/dto/backend.js +3 -0
- package/dist/shared/dto/backend.js.map +1 -0
- package/dist/shared/dto/backups.d.ts +99 -0
- package/dist/shared/dto/backups.d.ts.map +1 -1
- package/dist/shared/dto/cluster.d.ts +44 -0
- package/dist/shared/dto/cluster.d.ts.map +1 -0
- package/dist/shared/dto/cluster.js +3 -0
- package/dist/shared/dto/cluster.js.map +1 -0
- package/dist/shared/dto/files.d.ts +328 -0
- package/dist/shared/dto/files.d.ts.map +1 -0
- package/dist/shared/dto/files.js +2 -0
- package/dist/shared/dto/files.js.map +1 -0
- package/dist/shared/dto/health.d.ts +59 -0
- package/dist/shared/dto/health.d.ts.map +1 -1
- package/dist/shared/dto/installed-release.d.ts +40 -0
- package/dist/shared/dto/installed-release.d.ts.map +1 -0
- package/dist/shared/dto/installed-release.js +2 -0
- package/dist/shared/dto/installed-release.js.map +1 -0
- package/dist/shared/dto/kernel-catalog.d.ts +11 -0
- package/dist/shared/dto/kernel-catalog.d.ts.map +1 -0
- package/dist/shared/dto/kernel-catalog.js +2 -0
- package/dist/shared/dto/kernel-catalog.js.map +1 -0
- package/dist/shared/dto/logs.d.ts +21 -0
- package/dist/shared/dto/logs.d.ts.map +1 -1
- package/dist/shared/dto/metrics.d.ts +4 -64
- package/dist/shared/dto/metrics.d.ts.map +1 -1
- package/dist/shared/dto/metrics.js +0 -15
- package/dist/shared/dto/metrics.js.map +1 -1
- package/dist/shared/dto/nodes.d.ts +98 -24
- package/dist/shared/dto/nodes.d.ts.map +1 -1
- package/dist/shared/dto/pipelines.d.ts +22 -1
- package/dist/shared/dto/pipelines.d.ts.map +1 -1
- package/dist/shared/dto/project.d.ts +289 -30
- package/dist/shared/dto/project.d.ts.map +1 -1
- package/dist/shared/dto/releases.d.ts +59 -0
- package/dist/shared/dto/releases.d.ts.map +1 -0
- package/dist/shared/dto/releases.js +2 -0
- package/dist/shared/dto/releases.js.map +1 -0
- package/dist/shared/dto/services.d.ts +201 -37
- package/dist/shared/dto/services.d.ts.map +1 -1
- package/dist/shared/dto/services.js +15 -6
- package/dist/shared/dto/services.js.map +1 -1
- package/dist/shared/dto/stack-diagnosis.d.ts +20 -0
- package/dist/shared/dto/stack-diagnosis.d.ts.map +1 -0
- package/dist/shared/dto/stack-diagnosis.js +8 -0
- package/dist/shared/dto/stack-diagnosis.js.map +1 -0
- package/dist/shared/dto/stack-execution.d.ts +65 -0
- package/dist/shared/dto/stack-execution.d.ts.map +1 -0
- package/dist/shared/dto/stack-execution.js +33 -0
- package/dist/shared/dto/stack-execution.js.map +1 -0
- package/dist/shared/dto/system-info.d.ts +11 -0
- package/dist/shared/dto/system-info.d.ts.map +1 -1
- package/dist/shared/dto/system-info.js +7 -1
- package/dist/shared/dto/system-info.js.map +1 -1
- package/dist/shared/dto/terminal.d.ts +40 -0
- package/dist/shared/dto/terminal.d.ts.map +1 -0
- package/dist/shared/dto/terminal.js +2 -0
- package/dist/shared/dto/terminal.js.map +1 -0
- package/dist/shared/dto/topology.d.ts +96 -0
- package/dist/shared/dto/topology.d.ts.map +1 -0
- package/dist/shared/dto/topology.js +2 -0
- package/dist/shared/dto/topology.js.map +1 -0
- package/dist/shared/emergency-output.d.ts +3 -0
- package/dist/shared/emergency-output.d.ts.map +1 -0
- package/dist/shared/emergency-output.js +22 -0
- package/dist/shared/emergency-output.js.map +1 -0
- package/dist/shared/env-config.d.ts +2 -0
- package/dist/shared/env-config.d.ts.map +1 -1
- package/dist/shared/env-config.js +1 -0
- package/dist/shared/env-config.js.map +1 -1
- package/dist/shared/events.d.ts +2 -0
- package/dist/shared/events.d.ts.map +1 -1
- package/dist/shared/events.js.map +1 -1
- package/dist/shared/execution-identity.d.ts +39 -0
- package/dist/shared/execution-identity.d.ts.map +1 -0
- package/dist/shared/execution-identity.js +160 -0
- package/dist/shared/execution-identity.js.map +1 -0
- package/dist/shared/file-policy.d.ts +5 -0
- package/dist/shared/file-policy.d.ts.map +1 -0
- package/dist/shared/file-policy.js +18 -0
- package/dist/shared/file-policy.js.map +1 -0
- package/dist/shared/framework-source.d.ts +11 -0
- package/dist/shared/framework-source.d.ts.map +1 -0
- package/dist/shared/framework-source.js +31 -0
- package/dist/shared/framework-source.js.map +1 -0
- package/dist/shared/fresh-module-reader.d.ts +40 -0
- package/dist/shared/fresh-module-reader.d.ts.map +1 -0
- package/dist/shared/fresh-module-reader.js +257 -0
- package/dist/shared/fresh-module-reader.js.map +1 -0
- package/dist/shared/host-boot-identity.d.ts +12 -0
- package/dist/shared/host-boot-identity.d.ts.map +1 -0
- package/dist/shared/host-boot-identity.js +89 -0
- package/dist/shared/host-boot-identity.js.map +1 -0
- package/dist/shared/kernel-file-lock.d.ts +3 -0
- package/dist/shared/kernel-file-lock.d.ts.map +1 -0
- package/dist/shared/kernel-file-lock.js +53 -0
- package/dist/shared/kernel-file-lock.js.map +1 -0
- package/dist/shared/linux-file-lock.d.ts +4 -0
- package/dist/shared/linux-file-lock.d.ts.map +1 -0
- package/dist/shared/linux-file-lock.js +36 -0
- package/dist/shared/linux-file-lock.js.map +1 -0
- package/dist/shared/local-infra-host.d.ts +2 -2
- package/dist/shared/local-infra-host.js +2 -2
- package/dist/shared/log-ingestion-reading.d.ts +9 -0
- package/dist/shared/log-ingestion-reading.d.ts.map +1 -0
- package/dist/shared/log-ingestion-reading.js +32 -0
- package/dist/shared/log-ingestion-reading.js.map +1 -0
- package/dist/shared/log-levels.d.ts +19 -0
- package/dist/shared/log-levels.d.ts.map +1 -0
- package/dist/shared/log-levels.js +23 -0
- package/dist/shared/log-levels.js.map +1 -0
- package/dist/shared/metrics-storage-reading.d.ts +8 -0
- package/dist/shared/metrics-storage-reading.d.ts.map +1 -0
- package/dist/shared/metrics-storage-reading.js +27 -0
- package/dist/shared/metrics-storage-reading.js.map +1 -0
- package/dist/shared/pnpm.d.ts.map +1 -1
- package/dist/shared/pnpm.js +7 -0
- package/dist/shared/pnpm.js.map +1 -1
- package/dist/shared/pool-scale.d.ts +10 -0
- package/dist/shared/pool-scale.d.ts.map +1 -0
- package/dist/shared/pool-scale.js +25 -0
- package/dist/shared/pool-scale.js.map +1 -0
- package/dist/shared/private-files.d.ts +10 -22
- package/dist/shared/private-files.d.ts.map +1 -1
- package/dist/shared/private-files.js +95 -82
- package/dist/shared/private-files.js.map +1 -1
- package/dist/shared/relay-reading.d.ts +19 -0
- package/dist/shared/relay-reading.d.ts.map +1 -0
- package/dist/shared/relay-reading.js +22 -0
- package/dist/shared/relay-reading.js.map +1 -0
- package/dist/shared/release-reading.d.ts +124 -32
- package/dist/shared/release-reading.d.ts.map +1 -1
- package/dist/shared/release-reading.js +208 -28
- package/dist/shared/release-reading.js.map +1 -1
- package/dist/shared/roles.d.ts +19 -18
- package/dist/shared/roles.d.ts.map +1 -1
- package/dist/shared/roles.js +21 -26
- package/dist/shared/roles.js.map +1 -1
- package/dist/shared/runtime-artifact.d.ts +20 -0
- package/dist/shared/runtime-artifact.d.ts.map +1 -0
- package/dist/shared/runtime-artifact.js +83 -0
- package/dist/shared/runtime-artifact.js.map +1 -0
- package/dist/shared/stack-reading.d.ts +18 -0
- package/dist/shared/stack-reading.d.ts.map +1 -0
- package/dist/shared/stack-reading.js +15 -0
- package/dist/shared/stack-reading.js.map +1 -0
- package/dist/shared/sync-reading.d.ts +30 -38
- package/dist/shared/sync-reading.d.ts.map +1 -1
- package/dist/shared/sync-reading.js +90 -29
- package/dist/shared/sync-reading.js.map +1 -1
- package/dist/shared/tokens.d.ts +3 -1
- package/dist/shared/tokens.d.ts.map +1 -1
- package/dist/shared/tokens.js +1 -0
- package/dist/shared/tokens.js.map +1 -1
- package/dist/supervisor/restart-policy.d.ts.map +1 -1
- package/dist/supervisor/restart-policy.js +7 -5
- package/dist/supervisor/restart-policy.js.map +1 -1
- package/dist/webapp/console-container.d.ts +7 -0
- package/dist/webapp/console-container.d.ts.map +1 -0
- package/dist/webapp/console-container.js +23 -0
- package/dist/webapp/console-container.js.map +1 -0
- package/dist/webapp/webapp.service.d.ts.map +1 -1
- package/dist/webapp/webapp.service.js +71 -24
- package/dist/webapp/webapp.service.js.map +1 -1
- package/dist/workers/health-monitor.service.d.ts.map +1 -1
- package/dist/workers/health-monitor.service.js +8 -1
- package/dist/workers/health-monitor.service.js.map +1 -1
- package/dist/workers/types.d.ts +2 -0
- package/dist/workers/types.d.ts.map +1 -1
- package/package.json +109 -43
- package/webapp/dist/BUILD.json +4 -3
- package/webapp/dist/assets/access-48hkC2-P.js +1 -0
- package/webapp/dist/assets/access-jWkHxGc7.js +1 -0
- package/webapp/dist/assets/admin-data-table-BKSDI8sU.js +1 -0
- package/webapp/dist/assets/alert-expression-CSblScoa.js +1 -0
- package/webapp/dist/assets/alert-notify-settings-C_CHZrFm.js +1 -0
- package/webapp/dist/assets/alert-uBG6r9NW.js +1 -0
- package/webapp/dist/assets/alerts-CuPQ9YQJ.js +1 -0
- package/webapp/dist/assets/app-address-BCXfN59F.js +1 -0
- package/webapp/dist/assets/apps-Drio028B.js +1 -0
- package/webapp/dist/assets/audit-npSFJECe.js +1 -0
- package/webapp/dist/assets/auth-CcgjP7hR.js +1 -0
- package/webapp/dist/assets/card-DkH32gMY.js +1 -0
- package/webapp/dist/assets/chart-BpGXlCJc.js +2 -0
- package/webapp/dist/assets/charts-BY7qI6s2.js +41 -0
- package/webapp/dist/assets/charts-CpBdHU_A.js +56 -0
- package/webapp/dist/assets/client-DFnuv2z3.js +3 -0
- package/webapp/dist/assets/code-editor-DK6Tmmxv.js +4 -0
- package/webapp/dist/assets/comparison-bars-BtC0dHjF.js +1 -0
- package/webapp/dist/assets/confirm-dialog-BbGsAz7_.js +1 -0
- package/webapp/dist/assets/console-keyboard-D3YCA0yU.js +1 -0
- package/webapp/dist/assets/constants-CyhngVXh.js +1 -0
- package/webapp/dist/assets/containers-Bl8gAyZX.js +3 -0
- package/webapp/dist/assets/context-FIuwpd9_.js +1 -0
- package/webapp/dist/assets/controls-C5W8gHU4.js +1 -0
- package/webapp/dist/assets/daemon-memory-BiEtr9jr.js +1 -0
- package/webapp/dist/assets/dashboard-UHlet3H9.js +1 -0
- package/webapp/dist/assets/dashboard-builder-67PZFqhE.js +1 -0
- package/webapp/dist/assets/dayjs.min-DHwAvH5f.js +1 -0
- package/webapp/dist/assets/deploy-release-dialog-BOXcD5Wo.js +1 -0
- package/webapp/dist/assets/deployments-qV20Ak0P.js +1 -0
- package/webapp/dist/assets/detail-B4TiBfxU.js +8 -0
- package/webapp/dist/assets/detail-B85-Wees.js +2 -0
- package/webapp/dist/assets/detail-CYS81K6Y.js +1 -0
- package/webapp/dist/assets/dist-BUDn8hLh.js +11 -0
- package/webapp/dist/assets/dist-Ci5pYRbx.js +1 -0
- package/webapp/dist/assets/dist-DQmjHv4-.js +1 -0
- package/webapp/dist/assets/dist-De9Fty7a.js +1 -0
- package/webapp/dist/assets/dist-DsGmKwmk.js +23 -0
- package/webapp/dist/assets/empty-content-7jOFhG4C.js +1 -0
- package/webapp/dist/assets/error-boundary-CLLI8PWw.js +3 -0
- package/webapp/dist/assets/event-fields-CiyqrRO8.js +1 -0
- package/webapp/dist/assets/files-DigwXndm.js +2 -0
- package/webapp/dist/assets/formatters-RnRy4bXm.js +1 -0
- package/webapp/dist/assets/icons-OboZgWSt.js +1 -0
- package/webapp/dist/assets/index-uq8Dkk4c.js +1 -0
- package/webapp/dist/assets/label-B1SF0RTL.js +1 -0
- package/webapp/dist/assets/log-level-filter-Bcn31D1F.js +1 -0
- package/webapp/dist/assets/log-location-DuBjh6HQ.js +1 -0
- package/webapp/dist/assets/logs-BqHOufk8.js +4 -0
- package/webapp/dist/assets/metric-chart-M-kI-XOt.js +1 -0
- package/webapp/dist/assets/metric-series-WxePniyw.js +1 -0
- package/webapp/dist/assets/metrics-QIQaF7iS.js +1 -0
- package/webapp/dist/assets/model-ZEXEHm0l.js +2 -0
- package/webapp/dist/assets/mui-6ssfcZcz.js +1 -0
- package/webapp/dist/assets/mui-AnEgAVjz.js +52 -0
- package/webapp/dist/assets/mui-B1jrje6Z.js +1 -0
- package/webapp/dist/assets/mui-BIz4LSVs.js +1 -0
- package/webapp/dist/assets/mui-BTN91yBK.js +28 -0
- package/webapp/dist/assets/mui-BXSXx9c9.js +124 -0
- package/webapp/dist/assets/mui-BwsIrivo.js +37 -0
- package/webapp/dist/assets/mui-C_hromOc.js +1 -0
- package/webapp/dist/assets/mui-Cd711nOk.js +4 -0
- package/webapp/dist/assets/mui-CdB_p2lt.js +10 -0
- package/webapp/dist/assets/mui-DyT2n1lx.js +1 -0
- package/webapp/dist/assets/mui-agG5dued.js +1 -0
- package/webapp/dist/assets/mui-y44PQOfG.js +1 -0
- package/webapp/dist/assets/nodes-BJPk02vv.js +7 -0
- package/webapp/dist/assets/omnitron-logo-koMCbsCv.js +1 -0
- package/webapp/dist/assets/operation-status-Bm1x1wTz.js +1 -0
- package/webapp/dist/assets/page-breadcrumbs-fR7Jmpp4.js +1 -0
- package/webapp/dist/assets/pipelines-T6Ch9LTw.js +3 -0
- package/webapp/dist/assets/popper-m_9b0JRf.js +1 -0
- package/webapp/dist/assets/preload-helper-DzCYNvzR.js +1 -0
- package/webapp/dist/assets/project.store--G5pIF-J.js +1 -0
- package/webapp/dist/assets/projects-YoBzcQ24.js +1 -0
- package/webapp/dist/assets/react-BN8qLIAi.js +9 -0
- package/webapp/dist/assets/react-CEuifcaQ.js +1 -0
- package/webapp/dist/assets/react-apexcharts.esm-DoOt-pu4.js +1 -0
- package/webapp/dist/assets/realtime.store-CBDO4Abj.js +1 -0
- package/webapp/dist/assets/release-bits-B2a_wbft.js +1 -0
- package/webapp/dist/assets/release-build-panel-BQmIdKW9.js +1 -0
- package/webapp/dist/assets/release-deployment-state-DRrEI2pP.js +1 -0
- package/webapp/dist/assets/release-wire-f2VuBoBF.js +1 -0
- package/webapp/dist/assets/releases-Bp3CDgmo.js +2 -0
- package/webapp/dist/assets/rolldown-runtime-CNOWq4Kh.js +1 -0
- package/webapp/dist/assets/search-input-C0MHI8vO.js +1 -0
- package/webapp/dist/assets/services-BddvcFi8.js +1 -0
- package/webapp/dist/assets/settings-B3egRvbI.js +1 -0
- package/webapp/dist/assets/settled-pair-B-wgSZl6.js +1 -0
- package/webapp/dist/assets/shared-styles-C0vN3I7_.js +1 -0
- package/webapp/dist/assets/shell-command-C3pXf1vi.js +1 -0
- package/webapp/dist/assets/sign-in-9q-Nfy83.js +1 -0
- package/webapp/dist/assets/skeleton-BmWDJWF9.js +1 -0
- package/webapp/dist/assets/snackbar-DSPmjMyi.js +1 -0
- package/webapp/dist/assets/stack-health-status-BIv2C10x.js +1 -0
- package/webapp/dist/assets/stack-start-notice-BVnMOwRQ.js +1 -0
- package/webapp/dist/assets/stacks-IZ1mfizi.js +1 -0
- package/webapp/dist/assets/storage-CKXnhqkt.js +1 -0
- package/webapp/dist/assets/store-bqUBn2A4.js +1 -0
- package/webapp/dist/assets/sync-reading-CN0jPKAg.js +1 -0
- package/webapp/dist/assets/system-info-BFKNM-hf.js +1 -0
- package/webapp/dist/assets/table-BOWT6Y9d.js +1 -0
- package/webapp/dist/assets/table-viewport-Bp4pq-c_.js +1 -0
- package/webapp/dist/assets/tabs-k5NPGLnJ.js +1 -0
- package/webapp/dist/assets/terminal-BrP-ENHg.css +1 -0
- package/webapp/dist/assets/terminal-QWBau-Us.js +62 -0
- package/webapp/dist/assets/terminal-input-b7f2VoE_.js +2 -0
- package/webapp/dist/assets/topology-CPey5dP6.js +8 -0
- package/webapp/dist/assets/topology-metadata-dialog-BivuU2y6.js +2 -0
- package/webapp/dist/assets/topology-routes.worker-BoYrIzAH.js +1 -0
- package/webapp/dist/assets/traces-By0rdfDC.js +1 -0
- package/webapp/dist/assets/use-copy-to-clipboard-BWYpToS3.js +1 -0
- package/webapp/dist/assets/use-polled-resource-B22hhr5L.js +1 -0
- package/webapp/dist/assets/use-stack-context-UkBsF-l7.js +1 -0
- package/webapp/dist/assets/webapp-BnxOVfrc.css +1 -0
- package/webapp/dist/assets/webapp-D-UhjFhS.js +35 -0
- package/webapp/dist/console-version.json +1 -0
- package/webapp/dist/index.html +54 -7
- package/dist/release/daemon-omni.d.ts +0 -41
- package/dist/release/daemon-omni.d.ts.map +0 -1
- package/dist/release/daemon-omni.js +0 -59
- package/dist/release/daemon-omni.js.map +0 -1
- package/dist/services/netron-telemetry-transport.d.ts +0 -42
- package/dist/services/netron-telemetry-transport.d.ts.map +0 -1
- package/dist/services/netron-telemetry-transport.js +0 -93
- package/dist/services/netron-telemetry-transport.js.map +0 -1
- package/webapp/dist/assets/FormControlLabel-BrH2diyl.js +0 -1
- package/webapp/dist/assets/Grid-BZ7xhoHQ.js +0 -1
- package/webapp/dist/assets/Switch-DGSAxQPM.js +0 -1
- package/webapp/dist/assets/alerts-sXqHJbsa.js +0 -1
- package/webapp/dist/assets/apps-B_Ah8Flh.js +0 -1
- package/webapp/dist/assets/audit-YXihwyui.js +0 -1
- package/webapp/dist/assets/client-CGbBvy9k.js +0 -1
- package/webapp/dist/assets/constants-veKGFkC6.js +0 -1
- package/webapp/dist/assets/containers-Di4NOTLf.js +0 -2
- package/webapp/dist/assets/daemon-memory-CCPZ4cV_.js +0 -1
- package/webapp/dist/assets/dashboard-Cfuf95N3.js +0 -1
- package/webapp/dist/assets/dashboard-builder-CowaYb-M.js +0 -1
- package/webapp/dist/assets/deploy-release-dialog-D6C-XcKY.js +0 -1
- package/webapp/dist/assets/deployments-ChTq5kCw.js +0 -1
- package/webapp/dist/assets/detail-BsGWv7Dj.js +0 -1
- package/webapp/dist/assets/detail-CyVf_cw5.js +0 -2
- package/webapp/dist/assets/detail-D027j6aO.js +0 -8
- package/webapp/dist/assets/formatters-BqjL73N3.js +0 -1
- package/webapp/dist/assets/fs-Ccl3sAcp.js +0 -1
- package/webapp/dist/assets/index-B8AHIPc-.css +0 -1
- package/webapp/dist/assets/index-DiZbrwxT.js +0 -414
- package/webapp/dist/assets/logs-L2b8Oqmo.js +0 -12
- package/webapp/dist/assets/maplibre-gl-MlmG2kbn.js +0 -801
- package/webapp/dist/assets/metrics-CQgjz2Lz.js +0 -2
- package/webapp/dist/assets/nodes-Nwia2Ty6.js +0 -7
- package/webapp/dist/assets/pipelines-DCu_rXOr.js +0 -4
- package/webapp/dist/assets/projects-Bb4aV76h.js +0 -1
- package/webapp/dist/assets/react-CwJFpaho.js +0 -1
- package/webapp/dist/assets/react-apexcharts.esm-Dy0Fez42.js +0 -1956
- package/webapp/dist/assets/release-bits-Dj4EOhhb.js +0 -1
- package/webapp/dist/assets/release-build-panel-D6OCVlhT.js +0 -1
- package/webapp/dist/assets/releases-CnAt3yO6.js +0 -2
- package/webapp/dist/assets/rolldown-runtime-hePW80VL.js +0 -1
- package/webapp/dist/assets/settings-DU-mjiwb.js +0 -1
- package/webapp/dist/assets/settled-pair-C7SjZuns.js +0 -1
- package/webapp/dist/assets/sign-in-Bcvjrr4C.js +0 -1
- package/webapp/dist/assets/stacks-B-e8p50I.js +0 -1
- package/webapp/dist/assets/sync-reading-C3PnJ7AX.js +0 -1
- package/webapp/dist/assets/system-info-BtE3dgfw.js +0 -1
- package/webapp/dist/assets/topology-Cwch-uF1.js +0 -12
- package/webapp/dist/assets/traces-BbShR-4P.js +0 -1
- package/webapp/dist/assets/use-stack-context-CZUgPq88.js +0 -1
|
@@ -0,0 +1,503 @@
|
|
|
1
|
+
/** Controlled host upgrades. App deployments pin an installed bundle and never call this lifecycle. */
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { shellEscape } from '../shared/shell-escape.js';
|
|
4
|
+
export const HOST_UPGRADE_CONTRACT = 'omnitron.host-upgrade.json';
|
|
5
|
+
export function assertResidentApplicationRuntime(value) {
|
|
6
|
+
if (!value || typeof value.root !== 'string' || !path.isAbsolute(value.root) ||
|
|
7
|
+
typeof value.executable !== 'string' || !path.isAbsolute(value.executable) || !/^[a-f0-9]{40}$/.test(value.commit) ||
|
|
8
|
+
value.execution?.mode !== 'resident' || value.execution.protocol !== 1 ||
|
|
9
|
+
typeof value.execution.ownerId !== 'string' || !/^[a-zA-Z0-9-]{1,128}$/.test(value.execution.ownerId) || !Number.isSafeInteger(value.execution.pid) || value.execution.pid < 1 ||
|
|
10
|
+
!Number.isSafeInteger(value.execution.epoch) || value.execution.epoch < 1)
|
|
11
|
+
throw Error('Verified application deployment requires an authenticated independent execution owner (protocol 1). Prepare an owner transition and rollback before installing this release; no SDK rebinding or dependency installation will be attempted.');
|
|
12
|
+
}
|
|
13
|
+
function fail(reason) { throw new Error(`Host upgrade preflight: ${reason}`); }
|
|
14
|
+
function strings(value) { return Array.isArray(value) && value.every(v => typeof v === 'string' && v.length > 0); }
|
|
15
|
+
/** The native control-plane runtime contract currently binds the default daemon endpoint. */
|
|
16
|
+
export function assertControlledDaemonPort(port) {
|
|
17
|
+
if (port !== undefined && port !== 9700)
|
|
18
|
+
throw new Error('Controlled host operations currently require daemon port 9700');
|
|
19
|
+
}
|
|
20
|
+
export function assertServingBundle(bundle, status) {
|
|
21
|
+
if (!status || status.build?.commit !== bundle.commit || status.build?.dirty !== false ||
|
|
22
|
+
typeof status.version !== 'string' || status.version.split('+')[0] !== bundle.version.split('+')[0] ||
|
|
23
|
+
!Number.isSafeInteger(status.pid) || status.pid <= 0 || !Array.isArray(status.apps)) {
|
|
24
|
+
fail(`serving daemon does not match installed bundle ${bundle.root}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/** Refuse configurations whose existing boot policy would start something previously offline. */
|
|
28
|
+
export function planHostUpgrade(previous, candidate, inventory) {
|
|
29
|
+
for (const bundle of [previous, candidate]) {
|
|
30
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9._+-]*$/.test(bundle.version) || bundle.version.includes('..') ||
|
|
31
|
+
!bundle.root?.startsWith('/') || !bundle.root.endsWith(`/versions/${bundle.version}`) || !/^[a-f0-9]{40}$/.test(bundle.commit))
|
|
32
|
+
fail('invalid recorded bundle identity');
|
|
33
|
+
}
|
|
34
|
+
assertServingBundle(previous, inventory.status);
|
|
35
|
+
if (inventory.runtime?.kind === 'managed')
|
|
36
|
+
fail('Independent owner detected. Use backend upgrade with a sealed runtime on this node; coupled host upgrades cannot stop or rebind its applications.');
|
|
37
|
+
if (!inventory.runtime || !['fork', 'systemd'].includes(inventory.runtime.kind) || !inventory.runtime.cwd?.startsWith('/'))
|
|
38
|
+
fail('missing supported runtime snapshot');
|
|
39
|
+
if (!Array.isArray(inventory.projects) || !Array.isArray(inventory.stacks) || !Array.isArray(inventory.contracts))
|
|
40
|
+
fail('incomplete project inventory');
|
|
41
|
+
const all = new Map();
|
|
42
|
+
const contracts = new Map();
|
|
43
|
+
const seenProjects = new Set();
|
|
44
|
+
for (const project of inventory.projects) {
|
|
45
|
+
if (!project.name || seenProjects.has(project.name) || !strings(project.enabledStacks) || !project.path?.startsWith('/'))
|
|
46
|
+
fail('invalid or duplicate project');
|
|
47
|
+
seenProjects.add(project.name);
|
|
48
|
+
const group = inventory.stacks.filter(s => s.project === project.name);
|
|
49
|
+
if (group.length !== 1 || group[0].path !== project.path)
|
|
50
|
+
fail(`missing stack inventory for ${project.name}`);
|
|
51
|
+
const declarations = inventory.contracts.filter(c => c.project === project.name);
|
|
52
|
+
const localApps = group[0].stacks.filter(s => s.type === 'local').flatMap(s => s.apps);
|
|
53
|
+
if (localApps.length && (declarations.length !== 1 || declarations[0].schema !== 1 || !Array.isArray(declarations[0].apps)))
|
|
54
|
+
fail(`${project.name} needs ${HOST_UPGRADE_CONTRACT} schema 1`);
|
|
55
|
+
const seenStacks = new Set();
|
|
56
|
+
for (const stack of group[0].stacks) {
|
|
57
|
+
if (seenStacks.has(stack.name))
|
|
58
|
+
fail(`duplicate stack ${project.name}/${stack.name}`);
|
|
59
|
+
seenStacks.add(stack.name);
|
|
60
|
+
const enabled = project.enabledStacks.includes(stack.name);
|
|
61
|
+
if (stack.type !== 'local') {
|
|
62
|
+
if (enabled)
|
|
63
|
+
fail(`enabled ${stack.type} stack ${project.name}/${stack.name} cannot be restored locally`);
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
for (const app of stack.apps) {
|
|
67
|
+
if (!app.handleKey.startsWith(`${project.name}/${stack.name}/`) || all.has(app.handleKey))
|
|
68
|
+
fail('invalid or duplicate qualified app identity');
|
|
69
|
+
if (!['online', 'stopped', 'errored', 'crashed'].includes(app.status))
|
|
70
|
+
fail(`unstable app ${app.handleKey}: ${app.status}`);
|
|
71
|
+
const online = app.status === 'online';
|
|
72
|
+
if (online !== enabled)
|
|
73
|
+
fail(`${app.handleKey}: boot policy would change its online/offline state; partial enabled stacks are unsupported`);
|
|
74
|
+
all.set(app.handleKey, online);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (project.enabledStacks.some(s => !seenStacks.has(s)))
|
|
78
|
+
fail(`unknown enabled stack in ${project.name}`);
|
|
79
|
+
for (const app of declarations[0]?.apps ?? []) {
|
|
80
|
+
if (!app || typeof app.name !== 'string' || !app.name.startsWith(`${project.name}/`) || contracts.has(app.name) ||
|
|
81
|
+
!app.cwd?.startsWith('/') || !app.version || !app.binding)
|
|
82
|
+
fail('invalid or duplicate app contract');
|
|
83
|
+
if (app.binding.kind === 'hook') {
|
|
84
|
+
const b = app.binding;
|
|
85
|
+
if (b.bundleRoot !== previous.root || !/^[A-Z_][A-Z0-9_]*$/.test(b.bundleEnv) ||
|
|
86
|
+
['PATH', 'HOME', 'NODE_OPTIONS', 'NODE_PATH', 'LD_PRELOAD', 'SHELL'].includes(b.bundleEnv) ||
|
|
87
|
+
!strings(b.rebind) || !b.rebind.length || !strings(b.verify) || !b.verify.length)
|
|
88
|
+
fail(`unsupported or stale rebind contract for ${app.name}`);
|
|
89
|
+
}
|
|
90
|
+
else if (app.binding.kind !== 'independent')
|
|
91
|
+
fail(`unsupported binding for ${app.name}`);
|
|
92
|
+
contracts.set(app.name, app);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
if (inventory.stacks.length !== seenProjects.size || inventory.contracts.some(c => !seenProjects.has(c.project)))
|
|
96
|
+
fail('unmatched project inventory');
|
|
97
|
+
const seenHandles = new Set();
|
|
98
|
+
for (const app of inventory.status.apps) {
|
|
99
|
+
if (seenHandles.has(app.name) || !all.has(app.name) || !['online', 'stopped', 'errored', 'crashed'].includes(app.status) ||
|
|
100
|
+
all.get(app.name) !== (app.status === 'online'))
|
|
101
|
+
fail(`unregistered, duplicate or inconsistent handle ${app.name}`);
|
|
102
|
+
seenHandles.add(app.name);
|
|
103
|
+
}
|
|
104
|
+
for (const [name, online] of all) {
|
|
105
|
+
if (!contracts.has(name))
|
|
106
|
+
fail(`missing explicit binding contract for ${name}`);
|
|
107
|
+
if (online && (!strings(contracts.get(name).health) || !contracts.get(name).health.length))
|
|
108
|
+
fail(`missing operational health command for ${name}`);
|
|
109
|
+
if (online && !seenHandles.has(name))
|
|
110
|
+
fail(`online stack app ${name} is absent from daemon`);
|
|
111
|
+
}
|
|
112
|
+
if ([...contracts.keys()].some(name => !all.has(name)))
|
|
113
|
+
fail('contract names an app absent from local stacks');
|
|
114
|
+
return { previous, candidate, inventory, apps: [...contracts.values()],
|
|
115
|
+
online: [...all].filter(([, online]) => online).map(([name]) => name).sort(),
|
|
116
|
+
offline: [...all].filter(([, online]) => !online).map(([name]) => name).sort() };
|
|
117
|
+
}
|
|
118
|
+
export function verifyRestoredInventory(plan, bundle, status) {
|
|
119
|
+
assertServingBundle(bundle, status);
|
|
120
|
+
const online = status.apps.filter(a => a.status === 'online').map(a => a.name).sort();
|
|
121
|
+
if (JSON.stringify(online) !== JSON.stringify(plan.online) || new Set(status.apps.map(a => a.name)).size !== status.apps.length ||
|
|
122
|
+
status.apps.some(a => ![...plan.online, ...plan.offline].includes(a.name) || ['starting', 'stopping'].includes(a.status))) {
|
|
123
|
+
throw new Error('Restored daemon does not have exactly the previously online apps');
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/** Save intent before mutation; rollback only the framework and dependency bindings, never app releases/data. */
|
|
127
|
+
export async function executeHostUpgrade(plan, id, actions) {
|
|
128
|
+
const receipt = { schema: 1, id, plan, phase: 'prepared', outcome: 'running', events: [] };
|
|
129
|
+
const record = async (phase, error) => {
|
|
130
|
+
receipt.phase = phase;
|
|
131
|
+
receipt.events.push({ at: new Date().toISOString(), phase, ...(error ? { error: String(error) } : {}) });
|
|
132
|
+
await actions.save(receipt);
|
|
133
|
+
};
|
|
134
|
+
await record('prepared'); // If this fails there must be no mutation.
|
|
135
|
+
try {
|
|
136
|
+
await record('stopping');
|
|
137
|
+
await actions.stop(plan.previous);
|
|
138
|
+
await record('activating');
|
|
139
|
+
await actions.activate(plan.candidate);
|
|
140
|
+
await record('rebinding');
|
|
141
|
+
for (const app of plan.apps)
|
|
142
|
+
await actions.rebind(app, plan.candidate);
|
|
143
|
+
await record('starting');
|
|
144
|
+
await actions.start(plan.candidate);
|
|
145
|
+
await record('verifying');
|
|
146
|
+
await actions.verify(plan.candidate);
|
|
147
|
+
receipt.outcome = 'upgraded';
|
|
148
|
+
await record('verified');
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
// A failed terminal write may have left either the old or the new bytes.
|
|
152
|
+
// Rollback intent must always be discoverable as unfinished after a crash.
|
|
153
|
+
receipt.outcome = 'running';
|
|
154
|
+
// Record loss must not prevent recovery. All failed writes remain in the returned receipt.
|
|
155
|
+
try {
|
|
156
|
+
await record('rollback', error);
|
|
157
|
+
}
|
|
158
|
+
catch (writeError) {
|
|
159
|
+
receipt.events.push({ at: new Date().toISOString(), phase: 'receipt-write-failed', error: String(writeError) });
|
|
160
|
+
}
|
|
161
|
+
return recoverHostUpgrade(receipt, actions);
|
|
162
|
+
}
|
|
163
|
+
try {
|
|
164
|
+
await actions.prune([plan.previous.root, plan.candidate.root]);
|
|
165
|
+
await record('retained');
|
|
166
|
+
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
try {
|
|
169
|
+
await record('retention-failed', error);
|
|
170
|
+
}
|
|
171
|
+
catch { /* verified upgrade remains successful */ }
|
|
172
|
+
}
|
|
173
|
+
return receipt;
|
|
174
|
+
}
|
|
175
|
+
/** Idempotent recovery of an interrupted operation, including a controller lost between phase writes. */
|
|
176
|
+
export async function recoverHostUpgrade(receipt, actions) {
|
|
177
|
+
const record = async (phase, error) => {
|
|
178
|
+
receipt.phase = phase;
|
|
179
|
+
receipt.events.push({ at: new Date().toISOString(), phase, ...(error ? { error: String(error) } : {}) });
|
|
180
|
+
await actions.save(receipt);
|
|
181
|
+
};
|
|
182
|
+
try {
|
|
183
|
+
receipt.outcome = 'running';
|
|
184
|
+
await record('recovering');
|
|
185
|
+
await actions.stop(receipt.plan.candidate);
|
|
186
|
+
await actions.activate(receipt.plan.previous);
|
|
187
|
+
for (const app of receipt.plan.apps)
|
|
188
|
+
await actions.rebind(app, receipt.plan.previous);
|
|
189
|
+
await actions.start(receipt.plan.previous);
|
|
190
|
+
await actions.verify(receipt.plan.previous);
|
|
191
|
+
receipt.outcome = 'rolled-back';
|
|
192
|
+
await record('rolled-back');
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
receipt.outcome = 'recovery-required';
|
|
196
|
+
try {
|
|
197
|
+
await record('recovery-required', error);
|
|
198
|
+
}
|
|
199
|
+
catch { /* original durable intent remains */ }
|
|
200
|
+
}
|
|
201
|
+
return receipt;
|
|
202
|
+
}
|
|
203
|
+
export function appHealthCommand(app, bundle) {
|
|
204
|
+
if (!app.health?.length)
|
|
205
|
+
throw new Error(`No operational health command for ${app.name}`);
|
|
206
|
+
return remoteNode(`${fsPrelude} import {execFileSync} from 'node:child_process';
|
|
207
|
+
const cwd=${JSON.stringify(app.cwd)};
|
|
208
|
+
if(fs.realpathSync(cwd)!==cwd) throw Error('Release cwd changed or is not immutable');
|
|
209
|
+
const argv=${JSON.stringify(app.health)};
|
|
210
|
+
execFileSync(argv[0],argv.slice(1),{cwd,env:{...process.env,...${JSON.stringify(app.binding.kind === 'hook' ? { [app.binding.bundleEnv]: bundle.root } : {})}},stdio:'inherit',timeout:300000});`);
|
|
211
|
+
}
|
|
212
|
+
export function pendingReceiptsCommand(prefix, id) {
|
|
213
|
+
if (id !== undefined && !/^[A-Za-z0-9_-]+$/.test(id))
|
|
214
|
+
throw new Error('Invalid host upgrade receipt ID');
|
|
215
|
+
return remoteNode(`${fsPrelude}
|
|
216
|
+
const dir=${JSON.stringify(`${prefix}/upgrade-receipts`)};
|
|
217
|
+
const ids=${id === undefined ? "fs.existsSync(dir)?fs.readdirSync(dir).filter(n=>n.endsWith('.json')):[]" : JSON.stringify([`${id}.json`])};
|
|
218
|
+
const records=ids.map(name=>JSON.parse(fs.readFileSync(path.join(dir,name),'utf8')));
|
|
219
|
+
if(records.some(r=>r.schema!==1 || !r.plan || !Array.isArray(r.events))) throw Error('Invalid host upgrade receipt');
|
|
220
|
+
console.log(JSON.stringify(records.filter(r=>['running','recovery-required'].includes(r.outcome))));`);
|
|
221
|
+
}
|
|
222
|
+
/** Every program argument is quoted as data; declared hooks run without shell interpolation. */
|
|
223
|
+
export function remoteNode(source) { return `node --input-type=module -e ${shellEscape(source)}`; }
|
|
224
|
+
const fsPrelude = `import fs from 'node:fs'; import path from 'node:path'; import { pathToFileURL } from 'node:url';`;
|
|
225
|
+
export function bundleProbeCommand(prefix, version) {
|
|
226
|
+
return remoteNode(`${fsPrelude}
|
|
227
|
+
const prefix=fs.realpathSync(${JSON.stringify(prefix)});
|
|
228
|
+
if(prefix!==${JSON.stringify(prefix)}) throw Error('Installation prefix must be canonical');
|
|
229
|
+
const root=fs.realpathSync(path.join(prefix,${JSON.stringify(version ? `versions/${version}` : 'current')}));
|
|
230
|
+
if(path.dirname(root)!==path.join(prefix,'versions')) throw Error('Bundle is not an immutable installed version');
|
|
231
|
+
const meta=JSON.parse(fs.readFileSync(path.join(root,'BUNDLE.json'),'utf8'));
|
|
232
|
+
const stamp=JSON.parse(fs.readFileSync(path.join(root,'dist/BUILD.json'),'utf8'));
|
|
233
|
+
const pkg=JSON.parse(fs.readFileSync(path.join(root,'package.json'),'utf8'));
|
|
234
|
+
if(meta.dirty!==false || stamp.dirty!==false || !/^[a-f0-9]{40}$/.test(meta.commit) || stamp.commit!==meta.commit ||
|
|
235
|
+
meta.version!==path.basename(root) || pkg.version!==meta.version) throw Error('Inconsistent bundle metadata');
|
|
236
|
+
fs.accessSync(path.join(root,'dist/cli/omnitron.js'),fs.constants.X_OK);
|
|
237
|
+
console.log(JSON.stringify({root,version:meta.version,commit:meta.commit}));`);
|
|
238
|
+
}
|
|
239
|
+
export function inventoryCommand(bundle, full) {
|
|
240
|
+
return remoteNode(`${fsPrelude}
|
|
241
|
+
const {createDaemonClient}=await import(pathToFileURL(${JSON.stringify(`${bundle.root}/dist/daemon/daemon-client.js`)}).href);
|
|
242
|
+
const client=createDaemonClient();
|
|
243
|
+
try {
|
|
244
|
+
const status=await client.status();
|
|
245
|
+
${full ? `const service=await client.service('OmnitronProject');
|
|
246
|
+
const {loadEcosystemConfig}=await import(pathToFileURL(${JSON.stringify(`${bundle.root}/dist/config/loader.js`)}).href);
|
|
247
|
+
const projects=await service.listProjects(); const stacks=[]; const contracts=[]; const launches=[];
|
|
248
|
+
for(const project of projects){
|
|
249
|
+
const live=await service.listStacks({project:project.name});
|
|
250
|
+
stacks.push({project:project.name,path:project.path,stacks:live});
|
|
251
|
+
const file=path.join(project.path,${JSON.stringify(HOST_UPGRADE_CONTRACT)});
|
|
252
|
+
const contract=fs.existsSync(file)?JSON.parse(fs.readFileSync(file,'utf8')):null;
|
|
253
|
+
if(contract) contracts.push({...contract,project:project.name});
|
|
254
|
+
// The daemon's cached inventory is insufficient: prove that disk can boot it again.
|
|
255
|
+
const config=await loadEcosystemConfig(project.path);
|
|
256
|
+
const userFile=path.join(project.path,'omnitron.stacks.json');
|
|
257
|
+
const declared={...(fs.existsSync(userFile)?JSON.parse(fs.readFileSync(userFile,'utf8')):{}),...config.stacks};
|
|
258
|
+
const boot=[];
|
|
259
|
+
for(const [stackName,stack] of Object.entries(declared)){
|
|
260
|
+
if(stack.type!=='local') continue;
|
|
261
|
+
for(const app of config.apps.filter(a=>a.enabled!==false && (!stack.apps || stack.apps==='all' || stack.apps.includes(a.name)))){
|
|
262
|
+
const name=project.name+'/'+stackName+'/'+app.name; boot.push(name);
|
|
263
|
+
const binding=contract?.apps?.find(a=>a.name===name);
|
|
264
|
+
if(!binding || path.resolve(project.path,app.cwd||'.')!==binding.cwd) throw Error('Boot release differs from upgrade contract: '+name);
|
|
265
|
+
launches.push({name,bootstrap:app.bootstrap?path.resolve(project.path,app.cwd ?? '.',app.bootstrap):null});
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
const expected=live.filter(s=>s.type==='local').flatMap(s=>s.apps.map(a=>a.handleKey)).sort();
|
|
269
|
+
if(JSON.stringify(boot.sort())!==JSON.stringify(expected)) throw Error('Boot configuration differs from serving app inventory: '+project.name);
|
|
270
|
+
}
|
|
271
|
+
console.log(JSON.stringify({status,projects,stacks,contracts,launches}));` : 'console.log(JSON.stringify(status));'}
|
|
272
|
+
} finally { await client.disconnect(); }`);
|
|
273
|
+
}
|
|
274
|
+
export function hookCommand(app, bundle, operation) {
|
|
275
|
+
if (app.binding.kind === 'independent')
|
|
276
|
+
return 'true';
|
|
277
|
+
return remoteNode(`${fsPrelude} import {execFileSync} from 'node:child_process';
|
|
278
|
+
const cwd=${JSON.stringify(app.cwd)};
|
|
279
|
+
if(fs.realpathSync(cwd)!==cwd) throw Error('Release cwd changed or is not immutable');
|
|
280
|
+
const argv=${JSON.stringify(app.binding[operation])};
|
|
281
|
+
execFileSync(argv[0],argv.slice(1),{cwd,env:{...process.env,[${JSON.stringify(app.binding.bundleEnv)}]:${JSON.stringify(bundle.root)}},stdio:'inherit',timeout:300000});`);
|
|
282
|
+
}
|
|
283
|
+
export function receiptCommand(prefix, receipt) {
|
|
284
|
+
return remoteNode(`${fsPrelude}
|
|
285
|
+
const dir=${JSON.stringify(`${prefix}/upgrade-receipts`)}; fs.mkdirSync(dir,{recursive:true,mode:0o700});
|
|
286
|
+
const file=path.join(dir,${JSON.stringify(`${receipt.id}.json`)}); const temporary=file+'.part';
|
|
287
|
+
const fd=fs.openSync(temporary,'w',0o600);
|
|
288
|
+
try { fs.writeFileSync(fd,${JSON.stringify(JSON.stringify(receipt, null, 2) + '\n')}); fs.fsyncSync(fd); } finally { fs.closeSync(fd); }
|
|
289
|
+
fs.renameSync(temporary,file); const directory=fs.openSync(dir,'r'); try{fs.fsyncSync(directory)}finally{fs.closeSync(directory)};`);
|
|
290
|
+
}
|
|
291
|
+
export function contractPreflightCommand(apps) {
|
|
292
|
+
return remoteNode(`${fsPrelude}
|
|
293
|
+
for(const app of ${JSON.stringify(apps)}){
|
|
294
|
+
if(fs.realpathSync(app.cwd)!==app.cwd || !fs.statSync(app.cwd).isDirectory()) throw Error('Release cwd is not immutable: '+app.name);
|
|
295
|
+
for(const argv of [...(app.binding.kind==='hook'?[app.binding.rebind,app.binding.verify]:[]),...(app.health?[app.health]:[])]) {
|
|
296
|
+
const executable=argv[0];
|
|
297
|
+
const candidates=executable.includes('/') ? [path.resolve(app.cwd,executable)] : (process.env.PATH||'').split(':').filter(Boolean).map(p=>path.join(p,executable));
|
|
298
|
+
if(!candidates.some(p=>{try{fs.accessSync(p,fs.constants.X_OK);return fs.statSync(p).isFile()}catch{return false}})) throw Error('Missing hook executable: '+executable);
|
|
299
|
+
}
|
|
300
|
+
}`);
|
|
301
|
+
}
|
|
302
|
+
export const HOST_BOOTSTRAP_PREFLIGHT_TIMEOUT_MS = 120_000;
|
|
303
|
+
/**
|
|
304
|
+
* Exercise the candidate's fresh reader before stopping anything. Dependency
|
|
305
|
+
* hooks remain separate: definitions still see the serving application's bindings.
|
|
306
|
+
* procRoot permits inspection of a mounted procfs (and isolated process fixtures).
|
|
307
|
+
* Environment bytes stay on the host, outside inventory and recovery receipts.
|
|
308
|
+
*/
|
|
309
|
+
export function bootstrapPreflightCommand(plan, procRoot = '/proc') {
|
|
310
|
+
const runtime = plan.inventory.runtime;
|
|
311
|
+
const launches = plan.inventory.launches;
|
|
312
|
+
if (!Array.isArray(launches) || new Set(launches.map(a => a.name)).size !== launches.length ||
|
|
313
|
+
JSON.stringify(launches.map(a => a.name).sort()) !== JSON.stringify([...plan.online, ...plan.offline].sort()) ||
|
|
314
|
+
launches.some(a => a.bootstrap !== null && (typeof a.bootstrap !== 'string' || !a.bootstrap.startsWith('/')))) {
|
|
315
|
+
fail('missing or inconsistent bootstrap launch inventory');
|
|
316
|
+
}
|
|
317
|
+
if (!runtime.executable?.startsWith('/') || !Array.isArray(runtime.execArgv) ||
|
|
318
|
+
runtime.execArgv.some(a => typeof a !== 'string' || /^(--inspect|--debug|--watch|--eval|--print|--input-type|-e$|-p$)/.test(a))) {
|
|
319
|
+
fail('missing or unsupported captured Node arguments for bootstrap preflight');
|
|
320
|
+
}
|
|
321
|
+
const online = launches.filter(a => plan.online.includes(a.name));
|
|
322
|
+
const cwd = runtime.cwd === plan.previous.root ? plan.candidate.root : runtime.cwd;
|
|
323
|
+
const execArgv = runtime.execArgv.map(a => a.replaceAll(plan.previous.root, plan.candidate.root));
|
|
324
|
+
return remoteNode(`${fsPrelude} import {execFileSync} from 'node:child_process';
|
|
325
|
+
const proc=path.join(${JSON.stringify(procRoot)},String(${plan.inventory.status.pid}));
|
|
326
|
+
const argv=fs.readFileSync(proc+'/cmdline','utf8').split('\\0').filter(Boolean);
|
|
327
|
+
if(fs.realpathSync(proc+'/exe')!==${JSON.stringify(runtime.executable)} ||
|
|
328
|
+
fs.realpathSync(proc+'/cwd')!==${JSON.stringify(runtime.cwd)} ||
|
|
329
|
+
fs.realpathSync(argv[${runtime.execArgv.length + 1}])!==${JSON.stringify(plan.previous.root + '/dist/daemon/daemon-entry.js')} ||
|
|
330
|
+
JSON.stringify(argv.slice(1,${runtime.execArgv.length + 1}))!==${JSON.stringify(JSON.stringify(runtime.execArgv))}) throw Error('Serving process changed before bootstrap preflight');
|
|
331
|
+
const env=Object.fromEntries(fs.readFileSync(proc+'/environ','utf8').split('\\0').filter(v=>v.includes('=')).map(v=>[v.slice(0,v.indexOf('=')),v.slice(v.indexOf('=')+1)]));
|
|
332
|
+
// procfs retains startup IPC descriptors that Node consumes during boot.
|
|
333
|
+
// They belong to the serving daemon's parent, never to an execFile child.
|
|
334
|
+
delete env.NODE_CHANNEL_FD; delete env.NODE_CHANNEL_SERIALIZATION_MODE; delete env.NODE_UNIQUE_ID;
|
|
335
|
+
if(/--(?:inspect|debug|watch)/.test(env.NODE_OPTIONS||'')) throw Error('Unsupported debugging/watch NODE_OPTIONS for bootstrap preflight');
|
|
336
|
+
if(env.OMNITRON_CWD===${JSON.stringify(plan.previous.root)}) env.OMNITRON_CWD=${JSON.stringify(plan.candidate.root)};
|
|
337
|
+
const deadline=Date.now()+${HOST_BOOTSTRAP_PREFLIGHT_TIMEOUT_MS},checked=[],seen=new Set();
|
|
338
|
+
for(const app of ${JSON.stringify(online)}){
|
|
339
|
+
if(app.bootstrap===null || seen.has(app.bootstrap)) continue;
|
|
340
|
+
const remaining=deadline-Date.now();if(remaining<1000) throw Error('Bootstrap preflight exceeded its total deadline');
|
|
341
|
+
const timeout=Math.min(30000,remaining);
|
|
342
|
+
const script='process.chdir('+JSON.stringify(${JSON.stringify(cwd)})+');' +
|
|
343
|
+
'const {loadBootstrapConfig}=await import('+JSON.stringify(pathToFileURL(${JSON.stringify(plan.candidate.root + '/dist/orchestrator/bootstrap-loader.js')}).href)+');' +
|
|
344
|
+
'await loadBootstrapConfig('+JSON.stringify(app.bootstrap)+',{freshModuleGraph:{timeoutMs:'+Math.max(1, timeout-500)+'}});';
|
|
345
|
+
try {execFileSync(${JSON.stringify(runtime.executable)},[...${JSON.stringify(execArgv)},'--input-type=module','--eval',script],
|
|
346
|
+
{cwd:${JSON.stringify(plan.candidate.root)},env,timeout,maxBuffer:256*1024,stdio:['ignore','ignore','pipe']});}
|
|
347
|
+
catch(error){throw Error('Candidate bootstrap preflight failed for '+app.name+' (exit '+error.status+', signal '+error.signal+', code '+error.code+'): '+(error.stderr?.toString().slice(-4000)||error.message));}
|
|
348
|
+
seen.add(app.bootstrap);checked.push(app.name);
|
|
349
|
+
}
|
|
350
|
+
console.log(JSON.stringify({checked,classic:${online.filter(a => a.bootstrap === null).length},total:${online.length}}));`);
|
|
351
|
+
}
|
|
352
|
+
/** Only the declared dependency binding changes; release paths, versions, and app data stay intact. */
|
|
353
|
+
export function updateContractBindingsCommand(plan, bundle) {
|
|
354
|
+
return remoteNode(`${fsPrelude}
|
|
355
|
+
for(const project of ${JSON.stringify(plan.inventory.projects)}) {
|
|
356
|
+
const file=path.join(project.path,${JSON.stringify(HOST_UPGRADE_CONTRACT)});
|
|
357
|
+
if(!fs.existsSync(file)) continue;
|
|
358
|
+
const document=JSON.parse(fs.readFileSync(file,'utf8'));
|
|
359
|
+
const expected=${JSON.stringify(plan.apps)}.filter(a=>a.name.startsWith(project.name+'/'));
|
|
360
|
+
if(document.schema!==1 || !Array.isArray(document.apps) || document.apps.length!==expected.length) throw Error('App contract changed during upgrade');
|
|
361
|
+
for(const app of document.apps) {
|
|
362
|
+
const original=expected.find(a=>a.name===app.name);
|
|
363
|
+
const normalized=JSON.parse(JSON.stringify(app));
|
|
364
|
+
if(normalized.binding.kind==='hook') normalized.binding.bundleRoot=${JSON.stringify(plan.previous.root)};
|
|
365
|
+
if(JSON.stringify(normalized)!==JSON.stringify(original)) throw Error('App release contract changed during upgrade: '+app.name);
|
|
366
|
+
if(app.binding.kind==='hook') app.binding.bundleRoot=${JSON.stringify(bundle.root)};
|
|
367
|
+
}
|
|
368
|
+
const temporary=file+'.upgrade-part'; const fd=fs.openSync(temporary,'w',0o600);
|
|
369
|
+
try {fs.writeFileSync(fd,JSON.stringify(document,null,2));fs.fsyncSync(fd)}finally{fs.closeSync(fd)}
|
|
370
|
+
fs.renameSync(temporary,file);
|
|
371
|
+
}`);
|
|
372
|
+
}
|
|
373
|
+
/** Linux process identity + supervisor state. Other platforms and custom/drop-in units fail closed. */
|
|
374
|
+
export function runtimeProbeCommand(bundle, pid) {
|
|
375
|
+
if (!Number.isSafeInteger(pid) || pid < 1)
|
|
376
|
+
throw new Error('A live daemon PID is required for runtime inspection');
|
|
377
|
+
const probe = `${fsPrelude} import os from 'node:os'; import {execFileSync} from 'node:child_process';
|
|
378
|
+
if(process.platform!=='linux') throw Error('Controlled host upgrade currently requires Linux runtime inspection');
|
|
379
|
+
const root=${JSON.stringify(bundle.root)}; const pid=${JSON.stringify(pid)};
|
|
380
|
+
const argv=fs.readFileSync('/proc/'+pid+'/cmdline','utf8').split('\\0').filter(Boolean);
|
|
381
|
+
const entry=argv.find(a=>a.endsWith('/dist/daemon/daemon-entry.js'));
|
|
382
|
+
if(!entry) throw Error('Serving daemon has no recognized entry');
|
|
383
|
+
const cwd=fs.realpathSync('/proc/'+pid+'/cwd');
|
|
384
|
+
const executable=fs.realpathSync('/proc/'+pid+'/exe');
|
|
385
|
+
fs.accessSync(executable,fs.constants.X_OK);
|
|
386
|
+
const execArgv=argv.slice(1,argv.indexOf(entry));
|
|
387
|
+
if(fs.realpathSync(entry)!==root+'/dist/daemon/daemon-entry.js') {
|
|
388
|
+
const {readManagedRuntime,managedJobPid,verifyManagedIsolation}=await import(pathToFileURL(root+'/dist/daemon/managed-runtime.js').href);
|
|
389
|
+
const {RuntimeInstallation}=await import(pathToFileURL(root+'/dist/daemon/runtime-installation.js').href);
|
|
390
|
+
const config=await readManagedRuntime();
|
|
391
|
+
if(!config) throw Error('Serving daemon entry does not bind installed bundle or an independent owner');
|
|
392
|
+
const installation=await RuntimeInstallation.open(config.instanceHome,{existing:true});
|
|
393
|
+
if(!installation) throw Error('Managed runtime registry is missing');
|
|
394
|
+
try {
|
|
395
|
+
const selection=installation.selection();
|
|
396
|
+
if(!selection || installation.activation()) throw Error('Managed backend selection is not settled');
|
|
397
|
+
const artifact=await installation.artifact(selection.current);
|
|
398
|
+
if(fs.realpathSync(entry)!==artifact.entry || executable!==artifact.execPath || artifact.build.commit!==${JSON.stringify(bundle.commit)}) throw Error('Serving process does not match its selected sealed backend');
|
|
399
|
+
const ownerPid=await managedJobPid(config,'owner'),guardianPid=await managedJobPid(config,'backend');
|
|
400
|
+
await verifyManagedIsolation(config,ownerPid,guardianPid,pid);
|
|
401
|
+
const stat=fs.readFileSync('/proc/'+pid+'/stat','utf8');
|
|
402
|
+
if(Number(stat.slice(stat.lastIndexOf(')')+2).split(' ')[1])!==guardianPid) throw Error('Serving backend is not a child of its native guardian');
|
|
403
|
+
const ownerRoot=path.join(config.instanceHome,'runtime','releases',config.owner.artifact);
|
|
404
|
+
const ownerExecutable=fs.realpathSync('/proc/'+ownerPid+'/exe');
|
|
405
|
+
if(ownerExecutable!==path.join(fs.realpathSync(ownerRoot),'node')) throw Error('Execution owner does not use its registered Node executable');
|
|
406
|
+
const ownerPackage=path.join(fs.realpathSync(ownerRoot),'packages/0');
|
|
407
|
+
const stamp=JSON.parse(fs.readFileSync(path.join(ownerPackage,'dist/BUILD.json'),'utf8'));
|
|
408
|
+
if(!/^[a-f0-9]{40}$/.test(stamp.commit) || stamp.dirty!==false) throw Error('Execution owner has no clean framework identity');
|
|
409
|
+
console.log(JSON.stringify({kind:'managed',cwd,executable,execArgv,scope:config.scope,ownerPid,guardianPid,artifact:selection.current,
|
|
410
|
+
applicationRuntime:{root:ownerPackage,executable:ownerExecutable,commit:stamp.commit}}));
|
|
411
|
+
} finally { await installation.close(); }
|
|
412
|
+
} else {
|
|
413
|
+
const candidates=[{scope:'system',file:'/etc/systemd/system/omnitron-daemon.service'},{scope:'user',file:path.join(os.homedir(),'.config/systemd/user/omnitron-daemon.service')}].filter(c=>fs.existsSync(c.file));
|
|
414
|
+
if(candidates.length>1) throw Error('Multiple supervisor scopes are unsupported');
|
|
415
|
+
if(!candidates.length) { console.log(JSON.stringify({kind:'fork',cwd,executable,execArgv})); }
|
|
416
|
+
else {
|
|
417
|
+
const unit=candidates[0]; const args=unit.scope==='user'?['--user']:[];
|
|
418
|
+
const output=execFileSync('systemctl',[...args,'show','omnitron-daemon.service','--property=MainPID,ActiveState,UnitFileState,FragmentPath,DropInPaths'],{encoding:'utf8'});
|
|
419
|
+
const properties=Object.fromEntries(output.trim().split('\\n').map(l=>[l.slice(0,l.indexOf('=')),l.slice(l.indexOf('=')+1)]));
|
|
420
|
+
if(properties.MainPID!==String(pid) || properties.ActiveState!=='active' || properties.FragmentPath!==unit.file || properties.DropInPaths || !['enabled','disabled'].includes(properties.UnitFileState)) throw Error('Supervisor does not own the serving daemon, or has unsupported overrides');
|
|
421
|
+
const contents=fs.readFileSync(unit.file,'utf8');
|
|
422
|
+
const lines=contents.split('\\n'); const exec=lines.filter(l=>l.startsWith('ExecStart=')); const wd=lines.filter(l=>l.startsWith('WorkingDirectory='));
|
|
423
|
+
const aliases=[root,path.dirname(path.dirname(root))+'/current'];
|
|
424
|
+
if(exec.length!==1 || wd.length!==1 || !aliases.some(p=>exec[0].includes(p+'/dist/daemon/daemon-entry.js')) || !aliases.some(p=>wd[0]==='WorkingDirectory='+p)) throw Error('Unsupported supervisor framework binding');
|
|
425
|
+
const operatorCwd=lines.filter(l=>/^Environment="?OMNITRON_CWD=/.test(l));
|
|
426
|
+
if(operatorCwd.length!==1 || !aliases.some(p=>operatorCwd[0]==='Environment=OMNITRON_CWD='+p || operatorCwd[0]==='Environment="OMNITRON_CWD='+p+'"')) throw Error('Unsupported supervisor operator cwd');
|
|
427
|
+
if(lines.some(l=>!l.startsWith('ExecStart=')&&!l.startsWith('WorkingDirectory=')&&!/^Environment="?OMNITRON_CWD=/.test(l)&&l.includes(root))) throw Error('Additional static framework paths in service need an explicit migration');
|
|
428
|
+
console.log(JSON.stringify({kind:'systemd',cwd,executable,execArgv,...unit,contents,enabled:properties.UnitFileState==='enabled'}));
|
|
429
|
+
} }`;
|
|
430
|
+
// SSH's default Node may have a different native-module ABI. Read the
|
|
431
|
+
// selected SQLite registry with the executable of the actual serving process.
|
|
432
|
+
return remoteNode(`${fsPrelude} import {execFileSync} from 'node:child_process';
|
|
433
|
+
if(process.platform!=='linux') throw Error('Controlled host upgrade currently requires Linux runtime inspection');
|
|
434
|
+
const executable=fs.realpathSync('/proc/'+${pid}+'/exe');
|
|
435
|
+
process.stdout.write(execFileSync(executable,['--input-type=module','--eval',${JSON.stringify(probe)}],
|
|
436
|
+
{encoding:'utf8',timeout:60000,maxBuffer:1024*1024}));`);
|
|
437
|
+
}
|
|
438
|
+
export function runtimeStopCommand(runtime, bundle) {
|
|
439
|
+
if (runtime.kind === 'managed')
|
|
440
|
+
throw new Error('Use backend upgrade for an independently supervised runtime');
|
|
441
|
+
if (runtime.kind === 'fork')
|
|
442
|
+
return `${runtime.executable ? shellEscape(runtime.executable) + ' ' : ''}${shellEscape(`${bundle.root}/dist/cli/omnitron.js`)} down`;
|
|
443
|
+
return `systemctl ${runtime.scope === 'user' ? '--user ' : ''}stop omnitron-daemon.service`;
|
|
444
|
+
}
|
|
445
|
+
export function runtimeStartCommand(runtime, previous, bundle, allowedCurrentRoots = [previous.root, bundle.root]) {
|
|
446
|
+
if (runtime.kind === 'managed')
|
|
447
|
+
throw new Error('Use backend upgrade for an independently supervised runtime');
|
|
448
|
+
if (runtime.kind === 'fork') {
|
|
449
|
+
if (runtime.executable && !runtime.executable.startsWith('/'))
|
|
450
|
+
throw new Error('Captured Node executable must be absolute');
|
|
451
|
+
const executable = runtime.executable ? shellEscape(runtime.executable) + ' ' : '';
|
|
452
|
+
// Keep the serving Node runtime for the daemon and its child processes, without modifying global links.
|
|
453
|
+
const env = runtime.executable ? `PATH=${shellEscape(runtime.executable.slice(0, runtime.executable.lastIndexOf('/')))}:"$PATH" ` : '';
|
|
454
|
+
return `cd ${shellEscape(runtime.cwd === previous.root ? bundle.root : runtime.cwd)} && ${env}${executable}${shellEscape(`${bundle.root}/dist/cli/omnitron.js`)} up --no-infra`;
|
|
455
|
+
}
|
|
456
|
+
return remoteNode(`${fsPrelude} import {execFileSync} from 'node:child_process';
|
|
457
|
+
const original=${JSON.stringify(runtime.contents)};
|
|
458
|
+
const render=root=>original.split('\\n').map(l=>(l.startsWith('ExecStart=')||l.startsWith('WorkingDirectory=')||/^Environment="?OMNITRON_CWD=/.test(l))?l.split(${JSON.stringify(previous.root)}).join(root):l).join('\\n');
|
|
459
|
+
const content=render(${JSON.stringify(bundle.root)});
|
|
460
|
+
const file=${JSON.stringify(runtime.file)};
|
|
461
|
+
const originalStat=fs.lstatSync(file);
|
|
462
|
+
if(!originalStat.isFile()) throw Error('Supervisor unit must be a regular file');
|
|
463
|
+
const current=fs.readFileSync(file,'utf8');
|
|
464
|
+
if(!${JSON.stringify(allowedCurrentRoots)}.map(render).includes(current)) throw Error('Supervisor unit changed outside the captured host operation');
|
|
465
|
+
const temporary=file+'.upgrade-part'; const fd=fs.openSync(temporary,'wx',0o600);
|
|
466
|
+
try {
|
|
467
|
+
try {
|
|
468
|
+
fs.writeFileSync(fd,content);
|
|
469
|
+
const created=fs.fstatSync(fd);
|
|
470
|
+
if(created.uid!==originalStat.uid||created.gid!==originalStat.gid)fs.fchownSync(fd,originalStat.uid,originalStat.gid);
|
|
471
|
+
fs.fchmodSync(fd,originalStat.mode & 0o777);fs.fsyncSync(fd);
|
|
472
|
+
} finally {fs.closeSync(fd)}
|
|
473
|
+
const now=fs.lstatSync(file);
|
|
474
|
+
if(!now.isFile()||now.dev!==originalStat.dev||now.ino!==originalStat.ino||now.mode!==originalStat.mode||now.uid!==originalStat.uid||now.gid!==originalStat.gid||fs.readFileSync(file,'utf8')!==current)
|
|
475
|
+
throw Error('Supervisor unit changed while preparing replacement');
|
|
476
|
+
fs.renameSync(temporary,file);
|
|
477
|
+
const directory=fs.openSync(path.dirname(file),'r');try{fs.fsyncSync(directory)}finally{fs.closeSync(directory)}
|
|
478
|
+
} finally {if(fs.existsSync(temporary))fs.unlinkSync(temporary)}
|
|
479
|
+
const scope=${JSON.stringify(runtime.scope === 'user' ? ['--user'] : [])};
|
|
480
|
+
execFileSync('systemctl',[...scope,'daemon-reload'],{stdio:'inherit'});
|
|
481
|
+
execFileSync('systemctl',[...scope,${JSON.stringify(runtime.enabled ? 'enable' : 'disable')},'omnitron-daemon.service'],{stdio:'inherit'});
|
|
482
|
+
execFileSync('systemctl',[...scope,'start','omnitron-daemon.service'],{stdio:'inherit'});`);
|
|
483
|
+
}
|
|
484
|
+
/** A successful CLI exit is insufficient: prove its native PID owner is no longer alive before rebinding. */
|
|
485
|
+
export function stoppedDaemonCommand(bundle) {
|
|
486
|
+
return remoteNode(`${fsPrelude}
|
|
487
|
+
const base=${JSON.stringify(bundle.root)};
|
|
488
|
+
const {PidManager}=await import(pathToFileURL(base+'/dist/daemon/pid-manager.js').href);
|
|
489
|
+
const {DEFAULT_DAEMON_CONFIG}=await import(pathToFileURL(base+'/dist/config/defaults.js').href);
|
|
490
|
+
const {expandPath}=await import(pathToFileURL(base+'/dist/shared/paths.js').href);
|
|
491
|
+
const pid=new PidManager(expandPath(DEFAULT_DAEMON_CONFIG.pidFile)).getPid();
|
|
492
|
+
if(pid && PidManager.isProcessAlive(pid)) throw Error('Daemon still owns a live PID after stop; refusing to change bindings');`);
|
|
493
|
+
}
|
|
494
|
+
/** A build commit identifies code, while this observation binds the live process and grant. */
|
|
495
|
+
export function assertSameApplicationRuntime(expected, actual) {
|
|
496
|
+
assertResidentApplicationRuntime(expected);
|
|
497
|
+
assertResidentApplicationRuntime(actual);
|
|
498
|
+
if (expected.root !== actual.root || expected.executable !== actual.executable || expected.commit !== actual.commit ||
|
|
499
|
+
expected.execution.ownerId !== actual.execution.ownerId || expected.execution.pid !== actual.execution.pid ||
|
|
500
|
+
expected.execution.epoch !== actual.execution.epoch)
|
|
501
|
+
throw Error('Execution owner or controller grant changed during application delivery; inspect the settled owner and retry before starting this release');
|
|
502
|
+
}
|
|
503
|
+
//# sourceMappingURL=host-upgrade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-upgrade.js","sourceRoot":"","sources":["../../src/services/host-upgrade.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
* Netron RPC endpoints for infrastructure container management
|
|
5
5
|
* (Docker-based PostgreSQL, Redis, MinIO, etc.).
|
|
6
6
|
*/
|
|
7
|
+
import { type StackExecutionScope } from '../shared/dto/stack-execution.js';
|
|
8
|
+
import { HostIngressService } from '../infrastructure/host-ingress.service.js';
|
|
9
|
+
import type { HostIngressApply, HostIngressRemove, HostIngressSettings, HostIngressOwnerRestore, HostIngressTakeoverRollback } from '../infrastructure/host-ingress-types.js';
|
|
7
10
|
import type { InfrastructureService } from '../infrastructure/infrastructure.service.js';
|
|
8
11
|
import type { InfrastructureConfig, IServiceRequirement } from '../infrastructure/types.js';
|
|
9
12
|
import type { InfrastructureState, ContainerState } from '../infrastructure/types.js';
|
|
@@ -52,6 +55,13 @@ export declare class InfrastructureRpcService implements IOmnitronInfraService {
|
|
|
52
55
|
* partial payload a `warn`.
|
|
53
56
|
*/
|
|
54
57
|
private readonly logger?;
|
|
58
|
+
private readonly hostIngress;
|
|
59
|
+
private readonly getStackObservations;
|
|
60
|
+
private readonly activeMutations;
|
|
61
|
+
private stackOperationGate?;
|
|
62
|
+
setStackOperationGate(gate: (scope?: StackExecutionScope) => void): void;
|
|
63
|
+
drainStackProvisioning(scope: StackExecutionScope): Promise<void>;
|
|
64
|
+
private trackMutation;
|
|
55
65
|
constructor(getInfra: () => InfrastructureService | null,
|
|
56
66
|
/**
|
|
57
67
|
* How this daemon builds and adopts an infrastructure it is asked for.
|
|
@@ -98,7 +108,19 @@ export declare class InfrastructureRpcService implements IOmnitronInfraService {
|
|
|
98
108
|
error(obj: object, msg?: string, ...args: any[]): void;
|
|
99
109
|
warn?(obj: object, msg?: string, ...args: any[]): void;
|
|
100
110
|
info?(obj: object, msg?: string, ...args: any[]): void;
|
|
101
|
-
} | undefined);
|
|
111
|
+
} | undefined, hostIngress?: HostIngressService, getStackObservations?: () => ContainerState[]);
|
|
112
|
+
configureHostIngress(data: HostIngressSettings): Promise<{
|
|
113
|
+
configured: true;
|
|
114
|
+
settings: HostIngressSettings;
|
|
115
|
+
}>;
|
|
116
|
+
getHostIngress(): Promise<import("../infrastructure/host-ingress-types.js").HostIngressStatus>;
|
|
117
|
+
checkHostIngress(data: HostIngressApply): Promise<import("../infrastructure/host-ingress-types.js").HostIngressCheck>;
|
|
118
|
+
validateHostIngress(data: HostIngressApply): Promise<import("../infrastructure/host-ingress-types.js").HostIngressValidation>;
|
|
119
|
+
restoreHostIngressOwner(data: HostIngressOwnerRestore): Promise<import("../infrastructure/host-ingress-types.js").HostIngressReceipt>;
|
|
120
|
+
rollbackHostIngressTakeover(data: HostIngressTakeoverRollback): Promise<import("../infrastructure/host-ingress-types.js").HostIngressTakeoverRollbackReceipt>;
|
|
121
|
+
applyHostIngress(data: HostIngressApply): Promise<import("../infrastructure/host-ingress-types.js").HostIngressReceipt>;
|
|
122
|
+
removeHostIngress(data: HostIngressRemove): Promise<import("../infrastructure/host-ingress-types.js").HostIngressReceipt>;
|
|
123
|
+
recoverHostIngress(): Promise<import("../infrastructure/host-ingress-types.js").HostIngressStatus>;
|
|
102
124
|
/**
|
|
103
125
|
* Bring up the infrastructure a stack needs, here, on this node.
|
|
104
126
|
*
|
|
@@ -286,7 +308,7 @@ export declare class InfrastructureRpcService implements IOmnitronInfraService {
|
|
|
286
308
|
/**
|
|
287
309
|
* @throws when the container is not one this daemon manages.
|
|
288
310
|
*/
|
|
289
|
-
private
|
|
311
|
+
private managedContainer;
|
|
290
312
|
startContainer(data: {
|
|
291
313
|
name: string;
|
|
292
314
|
}): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infrastructure.rpc-service.d.ts","sourceRoot":"","sources":["../../src/services/infrastructure.rpc-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"infrastructure.rpc-service.d.ts","sourceRoot":"","sources":["../../src/services/infrastructure.rpc-service.ts"],"names":[],"mappings":"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"}
|