@omnitron-dev/omnitron 0.3.1 → 0.3.3
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 +575 -0
- package/bin/pnpmfile-sdk.mjs +35 -0
- package/bin/sdk.d.mts +8 -0
- package/bin/sdk.mjs +576 -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 +456 -98
- 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 +65 -77
- 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 +40 -4
- package/dist/cluster/slave-connector.d.ts.map +1 -1
- package/dist/cluster/slave-connector.js +348 -195
- 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/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-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/infra.d.ts +5 -2
- package/dist/commands/infra.d.ts.map +1 -1
- package/dist/commands/infra.js +145 -53
- package/dist/commands/infra.js.map +1 -1
- package/dist/commands/logs.d.ts +6 -23
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +114 -38
- 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 +0 -8
- package/dist/commands/node.d.ts.map +1 -1
- package/dist/commands/node.js +32 -35
- 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 +75 -15
- package/dist/commands/pipeline.js.map +1 -1
- package/dist/commands/project.d.ts +8 -0
- package/dist/commands/project.d.ts.map +1 -1
- package/dist/commands/project.js +67 -1
- 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 +141 -33
- package/dist/commands/release.js.map +1 -1
- 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/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/project-stacks.d.ts +5 -0
- package/dist/config/project-stacks.d.ts.map +1 -0
- package/dist/config/project-stacks.js +24 -0
- package/dist/config/project-stacks.js.map +1 -0
- 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 +96 -52
- 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 +45 -60
- package/dist/daemon/daemon.d.ts.map +1 -1
- package/dist/daemon/daemon.js +720 -396
- 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 +136 -101
- package/dist/daemon/daemon.module.js.map +1 -1
- package/dist/daemon/daemon.rpc-service.d.ts +9 -17
- package/dist/daemon/daemon.rpc-service.d.ts.map +1 -1
- package/dist/daemon/daemon.rpc-service.js +83 -22
- 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/execution.service.d.ts +6 -1
- package/dist/execution/execution.service.d.ts.map +1 -1
- package/dist/execution/execution.service.js +32 -30
- 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 +21 -0
- 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/container-runtime.d.ts +37 -3
- package/dist/infrastructure/container-runtime.d.ts.map +1 -1
- package/dist/infrastructure/container-runtime.js +235 -64
- package/dist/infrastructure/container-runtime.js.map +1 -1
- 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.map +1 -1
- package/dist/infrastructure/host-ingress-config.js +11 -8
- package/dist/infrastructure/host-ingress-config.js.map +1 -1
- package/dist/infrastructure/host-ingress-lock.d.ts +2 -3
- package/dist/infrastructure/host-ingress-lock.d.ts.map +1 -1
- package/dist/infrastructure/host-ingress-lock.js +1 -35
- package/dist/infrastructure/host-ingress-lock.js.map +1 -1
- package/dist/infrastructure/host-ingress-takeover.js +3 -3
- package/dist/infrastructure/host-ingress-takeover.js.map +1 -1
- package/dist/infrastructure/host-ingress-types.d.ts +4 -2
- package/dist/infrastructure/host-ingress-types.d.ts.map +1 -1
- package/dist/infrastructure/host-ingress.service.d.ts.map +1 -1
- package/dist/infrastructure/host-ingress.service.js +6 -6
- package/dist/infrastructure/host-ingress.service.js.map +1 -1
- 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 +80 -29
- package/dist/infrastructure/infrastructure.service.d.ts.map +1 -1
- package/dist/infrastructure/infrastructure.service.js +561 -216
- 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 +1 -0
- package/dist/infrastructure/orphan-containers.d.ts.map +1 -1
- package/dist/infrastructure/orphan-containers.js +1 -1
- 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 +7 -0
- package/dist/infrastructure/provisioning-outcome.d.ts.map +1 -1
- package/dist/infrastructure/provisioning-outcome.js +41 -8
- package/dist/infrastructure/provisioning-outcome.js.map +1 -1
- package/dist/infrastructure/service-resolver.d.ts +1 -1
- package/dist/infrastructure/service-resolver.d.ts.map +1 -1
- package/dist/infrastructure/service-resolver.js +22 -10
- package/dist/infrastructure/service-resolver.js.map +1 -1
- package/dist/infrastructure/stack-infra-manager.d.ts +25 -4
- package/dist/infrastructure/stack-infra-manager.d.ts.map +1 -1
- package/dist/infrastructure/stack-infra-manager.js +181 -21
- package/dist/infrastructure/stack-infra-manager.js.map +1 -1
- package/dist/infrastructure/types.d.ts +60 -3
- 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 +19 -14
- package/dist/monitoring/log-line.d.ts.map +1 -1
- package/dist/monitoring/log-line.js +70 -59
- package/dist/monitoring/log-line.js.map +1 -1
- package/dist/monitoring/log-manager.d.ts +34 -37
- package/dist/monitoring/log-manager.d.ts.map +1 -1
- package/dist/monitoring/log-manager.js +164 -63
- 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 +1 -0
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js.map +1 -1
- package/dist/orchestrator/app-handle.d.ts +24 -6
- package/dist/orchestrator/app-handle.d.ts.map +1 -1
- package/dist/orchestrator/app-handle.js +39 -8
- 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 +8 -18
- package/dist/orchestrator/bootstrap-loader.d.ts.map +1 -1
- package/dist/orchestrator/bootstrap-loader.js +21 -204
- package/dist/orchestrator/bootstrap-loader.js.map +1 -1
- package/dist/orchestrator/bootstrap-process.d.ts +5 -5
- package/dist/orchestrator/bootstrap-process.d.ts.map +1 -1
- package/dist/orchestrator/bootstrap-process.js +37 -38
- package/dist/orchestrator/bootstrap-process.js.map +1 -1
- package/dist/orchestrator/build-service.d.ts +3 -3
- package/dist/orchestrator/build-service.d.ts.map +1 -1
- package/dist/orchestrator/build-service.js +29 -80
- 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/classic-launcher.d.ts +3 -2
- package/dist/orchestrator/classic-launcher.d.ts.map +1 -1
- package/dist/orchestrator/classic-launcher.js +26 -22
- 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 +1 -1
- package/dist/orchestrator/file-watcher.d.ts.map +1 -1
- package/dist/orchestrator/file-watcher.js +10 -3
- package/dist/orchestrator/file-watcher.js.map +1 -1
- 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 +87 -76
- package/dist/orchestrator/orchestrator.service.d.ts.map +1 -1
- package/dist/orchestrator/orchestrator.service.js +941 -469
- 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/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 +89 -56
- 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/config-resolver.js +3 -3
- 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 +2 -0
- package/dist/project/declared-config.d.ts.map +1 -1
- package/dist/project/declared-config.js +8 -5
- 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/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 +8 -1
- package/dist/project/node-app-config.d.ts.map +1 -1
- package/dist/project/node-app-config.js +20 -28
- package/dist/project/node-app-config.js.map +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/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 +244 -55
- 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-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/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-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/build-run.d.ts +12 -15
- package/dist/release/build-run.d.ts.map +1 -1
- package/dist/release/build-run.js +265 -81
- package/dist/release/build-run.js.map +1 -1
- package/dist/release/builder.d.ts +8 -2
- package/dist/release/builder.d.ts.map +1 -1
- package/dist/release/builder.js +18 -4
- 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 +6 -3
- package/dist/release/definition-inputs.d.ts.map +1 -1
- package/dist/release/definition-inputs.js +145 -14
- package/dist/release/definition-inputs.js.map +1 -1
- package/dist/release/framework-source.d.ts +29 -0
- package/dist/release/framework-source.d.ts.map +1 -0
- package/dist/release/framework-source.js +63 -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 +27 -32
- package/dist/release/layout.d.ts.map +1 -1
- package/dist/release/layout.js +162 -51
- 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/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 +13 -4
- package/dist/release/store.d.ts.map +1 -1
- package/dist/release/store.js +70 -14
- 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 +1 -1
- package/dist/services/alert.service.d.ts.map +1 -1
- package/dist/services/alert.service.js +1 -1
- 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-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 +33 -126
- package/dist/services/backup.service.d.ts.map +1 -1
- package/dist/services/backup.service.js +174 -153
- package/dist/services/backup.service.js.map +1 -1
- package/dist/services/bundle-builder.d.ts +12 -0
- package/dist/services/bundle-builder.d.ts.map +1 -1
- package/dist/services/bundle-builder.js +77 -62
- 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/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-upgrade.d.ts +55 -3
- package/dist/services/host-upgrade.d.ts.map +1 -1
- package/dist/services/host-upgrade.js +167 -16
- package/dist/services/host-upgrade.js.map +1 -1
- package/dist/services/infrastructure.rpc-service.d.ts +9 -2
- package/dist/services/infrastructure.rpc-service.d.ts.map +1 -1
- package/dist/services/infrastructure.rpc-service.js +117 -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.map +1 -1
- package/dist/services/local-bundle.js +3 -1
- 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/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-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-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 +44 -37
- package/dist/services/node-manager.rpc-service.d.ts.map +1 -1
- package/dist/services/node-manager.rpc-service.js +208 -37
- package/dist/services/node-manager.rpc-service.js.map +1 -1
- package/dist/services/node-manager.service.d.ts +3 -0
- package/dist/services/node-manager.service.d.ts.map +1 -1
- package/dist/services/node-manager.service.js +78 -27
- 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.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 +10 -3
- package/dist/services/pipeline.rpc-service.d.ts.map +1 -1
- package/dist/services/pipeline.rpc-service.js +38 -14
- package/dist/services/pipeline.rpc-service.js.map +1 -1
- package/dist/services/pipeline.service.d.ts +30 -46
- package/dist/services/pipeline.service.d.ts.map +1 -1
- package/dist/services/pipeline.service.js +401 -344
- package/dist/services/pipeline.service.js.map +1 -1
- package/dist/services/project.rpc-service.d.ts +212 -14
- package/dist/services/project.rpc-service.d.ts.map +1 -1
- package/dist/services/project.rpc-service.js +303 -31
- package/dist/services/project.rpc-service.js.map +1 -1
- package/dist/services/project.service.d.ts +174 -56
- package/dist/services/project.service.d.ts.map +1 -1
- package/dist/services/project.service.js +1957 -661
- package/dist/services/project.service.js.map +1 -1
- package/dist/services/release.rpc-service.d.ts +5 -18
- package/dist/services/release.rpc-service.d.ts.map +1 -1
- package/dist/services/release.rpc-service.js +34 -11
- 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 +41 -113
- package/dist/services/remote-deployer.service.d.ts.map +1 -1
- package/dist/services/remote-deployer.service.js +415 -378
- package/dist/services/remote-deployer.service.js.map +1 -1
- package/dist/services/remote-provisioner.d.ts +1 -1
- package/dist/services/remote-provisioner.js +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 +2 -2
- package/dist/services/static-carry-forward.d.ts.map +1 -1
- package/dist/services/static-carry-forward.js +10 -3
- 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 +96 -22
- 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 +174 -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/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 -44
- 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-BbSxpQwN.js +0 -1
- package/webapp/dist/assets/Grid-DizFZYue.js +0 -1
- package/webapp/dist/assets/Switch-Bfiqzx8l.js +0 -1
- package/webapp/dist/assets/alerts-DH_RVRS3.js +0 -1
- package/webapp/dist/assets/apps-B96355sz.js +0 -1
- package/webapp/dist/assets/audit-CYGtbi4k.js +0 -1
- package/webapp/dist/assets/client-BmqFExWT.js +0 -1
- package/webapp/dist/assets/constants-veKGFkC6.js +0 -1
- package/webapp/dist/assets/containers-B_TpThln.js +0 -2
- package/webapp/dist/assets/daemon-memory-CCPZ4cV_.js +0 -1
- package/webapp/dist/assets/dashboard-DHf2_65N.js +0 -1
- package/webapp/dist/assets/dashboard-builder-CWY2pjeG.js +0 -1
- package/webapp/dist/assets/deploy-release-dialog-Dp-zpSAd.js +0 -1
- package/webapp/dist/assets/deployments-tJI6O3fK.js +0 -1
- package/webapp/dist/assets/detail-B2zP1Hto.js +0 -8
- package/webapp/dist/assets/detail-CoIrwmsy.js +0 -1
- package/webapp/dist/assets/detail-DWaGaOtL.js +0 -2
- package/webapp/dist/assets/formatters-BqjL73N3.js +0 -1
- package/webapp/dist/assets/fs-Ccl3sAcp.js +0 -1
- package/webapp/dist/assets/index-Dvo0iprx.css +0 -1
- package/webapp/dist/assets/index-vMnY_4jR.js +0 -412
- package/webapp/dist/assets/logs-DTRjOfX8.js +0 -12
- package/webapp/dist/assets/maplibre-gl-DowHoZAx.js +0 -814
- package/webapp/dist/assets/metrics-UCajtdox.js +0 -2
- package/webapp/dist/assets/nodes-DuTVU0f6.js +0 -7
- package/webapp/dist/assets/pipelines-C8BeDcAl.js +0 -4
- package/webapp/dist/assets/projects-Dp_zFfLY.js +0 -1
- package/webapp/dist/assets/react-DlmbjZJV.js +0 -1
- package/webapp/dist/assets/react-apexcharts.esm-C8pn45ml.js +0 -97
- package/webapp/dist/assets/release-bits-BzTKz5fM.js +0 -1
- package/webapp/dist/assets/release-build-panel-DcW9YcXQ.js +0 -1
- package/webapp/dist/assets/releases-B4hcr1bE.js +0 -2
- package/webapp/dist/assets/rolldown-runtime-XKyaHtl9.js +0 -1
- package/webapp/dist/assets/settings-DIteZTbe.js +0 -1
- package/webapp/dist/assets/settled-pair-C7SjZuns.js +0 -1
- package/webapp/dist/assets/sign-in-D4kMBOHp.js +0 -1
- package/webapp/dist/assets/stacks-Brnf-EB7.js +0 -1
- package/webapp/dist/assets/sync-reading-C3PnJ7AX.js +0 -1
- package/webapp/dist/assets/system-info-CFDNVKkU.js +0 -1
- package/webapp/dist/assets/topology-7WeTUsDN.js +0 -12
- package/webapp/dist/assets/traces-9c3gwCN-.js +0 -1
- package/webapp/dist/assets/use-stack-context-CnA5FTHu.js +0 -1
|
@@ -1,45 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* Architecture:
|
|
5
|
-
* - Every slave daemon collects ALL metrics, logs, events, alerts locally
|
|
6
|
-
* - Data is buffered in a local append-only WAL (write-ahead log) in omnitron-pg
|
|
7
|
-
* - Periodically, slave attempts to push buffered data to master via Netron TCP
|
|
8
|
-
* - On success: the entries the master confirms are marked as synced
|
|
9
|
-
* - On failure: exponential backoff, retry later — the entries stay pending
|
|
10
|
-
* - Sync batches are idempotent: the master keeps a ledger of what it took
|
|
11
|
-
*
|
|
12
|
-
* Guarantees:
|
|
13
|
-
* 1. No loss on delivery failure — an entry is released only once the master
|
|
14
|
-
* has confirmed it holds it. Bounded by (5): when the buffer is over
|
|
15
|
-
* budget, undelivered entries are dropped oldest-first, loudly.
|
|
16
|
-
* 2. Autonomous operation — slave works normally without master
|
|
17
|
-
* 3. Eventual consistency — master sees all data when connectivity restores
|
|
18
|
-
* 4. Conflict-free — operational data is append-only, config uses master-wins
|
|
19
|
-
* 5. Bounded buffer — oldest entries evicted when maxBufferSize reached
|
|
20
|
-
*
|
|
21
|
-
* Four of these were stated here long before anything implemented them, and
|
|
22
|
-
* every one of the failures was silent: replication that drops data still
|
|
23
|
-
* reports a successful cycle, because what would have noticed is what was
|
|
24
|
-
* missing. Guarantee 1 said "zero data loss" while both transports discarded
|
|
25
|
-
* whatever the master rejected; the batches were called idempotent with
|
|
26
|
-
* `batchId` used only inside log strings; and `maxBufferSize` was read from
|
|
27
|
-
* config, defaulted to 500 MB, and never referenced again.
|
|
28
|
-
*
|
|
29
|
-
* Guarantee 1 is now stated as what it can be. "Zero data loss" was not
|
|
30
|
-
* achievable alongside a bounded buffer, and writing it down did not make it
|
|
31
|
-
* so — a slave that cannot reach its master eventually has to choose between
|
|
32
|
-
* dropping data and filling the disk. It drops, oldest first, at warning
|
|
33
|
-
* level with a count. See `sync-policy.ts`.
|
|
34
|
-
*
|
|
35
|
-
* WAL table: `sync_buffer` in slave's local omnitron-pg
|
|
36
|
-
* Each entry: { id, category, payload (jsonb), createdAt, syncedAt (null until synced) }
|
|
37
|
-
* Dedup ledger (master side): `sync_ingested`, keyed on (nodeId, slave entry id)
|
|
38
|
-
*/
|
|
1
|
+
import { assertLogDurability } from '../database/log-durability.js';
|
|
2
|
+
import {} from '@omnitron-dev/titan-metrics';
|
|
39
3
|
import { toIsoUtc } from '../database/sqlite-date-binding.js';
|
|
40
4
|
import { describeError } from '../shared/describe-error.js';
|
|
41
|
-
import {
|
|
5
|
+
import { readReplicationEvidence, receiptGroups } from './replication-evidence.js';
|
|
6
|
+
import { acknowledgeReconciliation, readUnverifiedMetrics, reconcileMetricPage, reconciliationSummaries, reconciledMetricIds, replicatedMetric } from './replication-reconciliation.js';
|
|
7
|
+
import { classifyIngestFailure, deliveredIds, planEviction, SYNCED_RETENTION_MS, LEDGER_WINDOW_DAYS, LEDGER_FIRST_PASS_DELAY_MS, LEDGER_INTERVAL_MS, LEDGER_BACKLOG_INTERVAL_MS, } from './sync-policy.js';
|
|
42
8
|
import { planRetention, batchesPerPass } from './log-retention.js';
|
|
9
|
+
import { historyCoverage } from './replication-history.js';
|
|
43
10
|
/** Max batches per node per minute */
|
|
44
11
|
const RATE_LIMIT_PER_MINUTE = 60;
|
|
45
12
|
/**
|
|
@@ -137,21 +104,21 @@ export class SyncService {
|
|
|
137
104
|
logger;
|
|
138
105
|
nodeId;
|
|
139
106
|
role;
|
|
140
|
-
|
|
141
|
-
|
|
107
|
+
metricsStorage = null;
|
|
108
|
+
metricsHistoryMaxAgeMs = 7 * 86400_000;
|
|
109
|
+
metricsRegistry = null;
|
|
142
110
|
config;
|
|
143
111
|
syncTimer = null;
|
|
112
|
+
outboxMaintenance = null;
|
|
144
113
|
/** The master's ledger pruning, re-armed after each pass. See `pruneLedger`. */
|
|
145
114
|
ledgerTimer = null;
|
|
146
115
|
/** Whether this database keeps the buffer's figures; null until asked. See `keptBufferStats`. */
|
|
147
116
|
bufferStatsKept = null;
|
|
148
|
-
|
|
149
|
-
backoff = { attempt: 0, nextRetryAt: 0 };
|
|
117
|
+
evidenceKept = null;
|
|
150
118
|
lastSyncAt = null;
|
|
151
|
-
|
|
119
|
+
/** At most 60 one-second buckets, independent of batch size and polling rate. */
|
|
120
|
+
deliveries = new Map();
|
|
152
121
|
disposed = false;
|
|
153
|
-
/** Master RPC invoke function — injected at connect time */
|
|
154
|
-
masterInvoke = null;
|
|
155
122
|
/** Rate limiter state per nodeId (master-side) */
|
|
156
123
|
rateLimits = new Map();
|
|
157
124
|
constructor(db, logger, nodeId, role, syncConfig) {
|
|
@@ -162,28 +129,17 @@ export class SyncService {
|
|
|
162
129
|
this.config = {
|
|
163
130
|
interval: syncConfig?.interval ?? 30_000,
|
|
164
131
|
batchSize: syncConfig?.batchSize ?? 1000,
|
|
165
|
-
backoff: {
|
|
166
|
-
initial: syncConfig?.backoff?.initial ?? 5_000,
|
|
167
|
-
max: syncConfig?.backoff?.max ?? 300_000, // 5 min max
|
|
168
|
-
factor: syncConfig?.backoff?.factor ?? 2,
|
|
169
|
-
},
|
|
170
132
|
categories: syncConfig?.categories ?? ['metrics', 'logs', 'events', 'alerts', 'traces', 'state'],
|
|
171
|
-
bufferPath: syncConfig?.bufferPath ?? '~/.omnitron/sync-buffer/',
|
|
172
133
|
maxBufferSize: syncConfig?.maxBufferSize ?? 500 * 1024 * 1024, // 500MB
|
|
173
134
|
};
|
|
174
135
|
}
|
|
175
136
|
// ===========================================================================
|
|
176
137
|
// Lifecycle
|
|
177
138
|
// ===========================================================================
|
|
178
|
-
/**
|
|
179
|
-
* Start the sync loop.
|
|
180
|
-
*
|
|
181
|
-
* On a slave, the buffer's pass: bound it, then try to drain it. On a
|
|
182
|
-
* master, the ledger's: `sync_ingested` pruned to its dedup window. The
|
|
183
|
-
* master used to return here, and its half of the pipeline was never
|
|
184
|
-
* maintained at all.
|
|
185
|
-
*/
|
|
139
|
+
/** Bound the worker outbox even while offline. The master periodically prunes its deduplication ledger. */
|
|
186
140
|
start() {
|
|
141
|
+
if (this.disposed || this.syncTimer || this.ledgerTimer)
|
|
142
|
+
return;
|
|
187
143
|
if (this.role === 'master') {
|
|
188
144
|
this.scheduleLedgerPrune(LEDGER_FIRST_PASS_DELAY_MS);
|
|
189
145
|
return;
|
|
@@ -191,21 +147,14 @@ export class SyncService {
|
|
|
191
147
|
this.logger.info({ interval: this.config.interval, batchSize: this.config.batchSize, categories: this.config.categories }, 'Starting sync service');
|
|
192
148
|
this.syncTimer = setInterval(() => {
|
|
193
149
|
this.syncTick().catch((err) => {
|
|
194
|
-
this.logger.error({ error: err.message }, '
|
|
150
|
+
this.logger.error({ error: err.message }, 'Outbox maintenance failed');
|
|
195
151
|
});
|
|
196
152
|
}, this.config.interval);
|
|
197
153
|
this.syncTimer.unref();
|
|
198
|
-
// Initial sync attempt — reported like every other one. The recurring
|
|
199
|
-
// call four lines above logs its failure; this one swallowed it, and it
|
|
200
|
-
// is the more informative of the two: it is the first evidence that a
|
|
201
|
-
// slave can reach its master at all.
|
|
202
154
|
this.syncTick().catch((err) => {
|
|
203
|
-
this.logger.error({ error: err.message }, 'Initial
|
|
155
|
+
this.logger.error({ error: err.message }, 'Initial outbox maintenance failed');
|
|
204
156
|
});
|
|
205
157
|
}
|
|
206
|
-
/**
|
|
207
|
-
* Stop the sync loop and flush remaining buffer.
|
|
208
|
-
*/
|
|
209
158
|
async stop() {
|
|
210
159
|
this.disposed = true;
|
|
211
160
|
if (this.syncTimer) {
|
|
@@ -216,31 +165,7 @@ export class SyncService {
|
|
|
216
165
|
clearTimeout(this.ledgerTimer);
|
|
217
166
|
this.ledgerTimer = null;
|
|
218
167
|
}
|
|
219
|
-
|
|
220
|
-
if (this.role === 'slave' && this.masterInvoke) {
|
|
221
|
-
try {
|
|
222
|
-
await this.syncCycle();
|
|
223
|
-
}
|
|
224
|
-
catch {
|
|
225
|
-
this.logger.warn('Final sync attempt failed — data preserved in local WAL');
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* Set the master RPC connection.
|
|
231
|
-
* Called when slave establishes Netron TCP connection to master.
|
|
232
|
-
*/
|
|
233
|
-
setMasterConnection(invoke) {
|
|
234
|
-
this.masterInvoke = invoke;
|
|
235
|
-
this.backoff = { attempt: 0, nextRetryAt: 0 };
|
|
236
|
-
this.logger.info('Master connection established — sync enabled');
|
|
237
|
-
}
|
|
238
|
-
/**
|
|
239
|
-
* Clear master connection (disconnect/failure).
|
|
240
|
-
*/
|
|
241
|
-
clearMasterConnection() {
|
|
242
|
-
this.masterInvoke = null;
|
|
243
|
-
this.logger.warn('Master connection lost — buffering locally');
|
|
168
|
+
await this.outboxMaintenance;
|
|
244
169
|
}
|
|
245
170
|
// ===========================================================================
|
|
246
171
|
// Buffer Operations (write to local WAL)
|
|
@@ -265,34 +190,45 @@ export class SyncService {
|
|
|
265
190
|
this.logger.error({ nodeId: this.nodeId, category: entry.category, error: err.message }, 'Failed to buffer sync entry — it will not reach the master');
|
|
266
191
|
}
|
|
267
192
|
}
|
|
268
|
-
/**
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
193
|
+
/** Optional post-commit exposition observer. It is never the durable destination. */
|
|
194
|
+
setMetricsRegistry(registry) {
|
|
195
|
+
this.metricsRegistry = registry;
|
|
196
|
+
}
|
|
197
|
+
/** Required for metric ingestion. The adapter writes inside the receipt transaction. */
|
|
198
|
+
setMetricsStorage(storage, historyMaxAgeMs = 7 * 86400_000) {
|
|
199
|
+
if (!Number.isSafeInteger(historyMaxAgeMs) || historyMaxAgeMs < 1)
|
|
200
|
+
throw new Error('Invalid metrics history horizon');
|
|
201
|
+
this.metricsStorage = storage;
|
|
202
|
+
this.metricsHistoryMaxAgeMs = historyMaxAgeMs;
|
|
203
|
+
}
|
|
204
|
+
getReconciliationSummaries() { return reconciliationSummaries(this.db); }
|
|
205
|
+
getHistoryCoverage() { return historyCoverage(this.db); }
|
|
206
|
+
readUnverifiedMetrics(options) {
|
|
207
|
+
if (this.role !== 'slave')
|
|
208
|
+
throw new Error('Only a node owns retained replication entries');
|
|
209
|
+
return readUnverifiedMetrics(this.db, this.nodeId, options);
|
|
210
|
+
}
|
|
211
|
+
reconcileMetrics(page, restore) {
|
|
212
|
+
if (this.role !== 'master' || !this.metricsStorage)
|
|
213
|
+
throw new Error('Reconciliation requires a master with persistent metrics');
|
|
214
|
+
return reconcileMetricPage(this.db, this.metricsStorage, page, { restore, maxAgeMs: this.metricsHistoryMaxAgeMs });
|
|
215
|
+
}
|
|
216
|
+
acknowledgeReconciliation(proofs) {
|
|
217
|
+
if (this.role !== 'slave')
|
|
218
|
+
throw new Error('Only a node can settle its replication evidence');
|
|
219
|
+
return acknowledgeReconciliation(this.db, this.nodeId, proofs);
|
|
284
220
|
}
|
|
285
221
|
/**
|
|
286
222
|
* Buffer multiple entries at once (batch optimization).
|
|
287
223
|
*/
|
|
288
|
-
async bufferBatch(entries) {
|
|
224
|
+
async bufferBatch(entries, transaction) {
|
|
289
225
|
if (this.role !== 'slave' || entries.length === 0)
|
|
290
226
|
return;
|
|
291
227
|
const filteredEntries = entries.filter((e) => this.config.categories.includes(e.category));
|
|
292
228
|
if (filteredEntries.length === 0)
|
|
293
229
|
return;
|
|
294
230
|
try {
|
|
295
|
-
await this.db.insertInto('sync_buffer').values(filteredEntries.map((e) => ({
|
|
231
|
+
await (transaction ?? this.db).insertInto('sync_buffer').values(filteredEntries.map((e) => ({
|
|
296
232
|
category: e.category,
|
|
297
233
|
payload: JSON.stringify(e.payload),
|
|
298
234
|
}))).execute();
|
|
@@ -303,6 +239,7 @@ export class SyncService {
|
|
|
303
239
|
// like a node that had nothing to say — someone reads an empty screen
|
|
304
240
|
// and draws a conclusion about the system rather than about the pipe.
|
|
305
241
|
this.logger.error({ nodeId: this.nodeId, count: filteredEntries.length, category: filteredEntries[0]?.category, error: err.message }, 'Failed to buffer sync batch — these entries will not reach the master');
|
|
242
|
+
throw err;
|
|
306
243
|
}
|
|
307
244
|
}
|
|
308
245
|
// ===========================================================================
|
|
@@ -331,139 +268,35 @@ export class SyncService {
|
|
|
331
268
|
* everything between the two — the network, the checksum, the ingestion —
|
|
332
269
|
* can fail without the slave forgetting the data.
|
|
333
270
|
*/
|
|
334
|
-
async ackDrained(ids) {
|
|
335
|
-
|
|
336
|
-
return { released: 0 };
|
|
337
|
-
await this.markSynced(ids);
|
|
338
|
-
this.lastSyncAt = Date.now();
|
|
339
|
-
return { released: ids.length };
|
|
271
|
+
async ackDrained(ids, receipt) {
|
|
272
|
+
return { released: await this.markSynced(ids, receipt) };
|
|
340
273
|
}
|
|
341
274
|
// ===========================================================================
|
|
342
|
-
//
|
|
275
|
+
// Worker outbox maintenance and delivery
|
|
343
276
|
// ===========================================================================
|
|
344
|
-
|
|
345
|
-
* One scheduled pass: bound the buffer, then try to drain it.
|
|
346
|
-
*
|
|
347
|
-
* The order is the whole point. `enforceBufferBounds` used to be the last
|
|
348
|
-
* statement of `syncCycle`'s `try`, which meant it ran on a SUCCESSFUL
|
|
349
|
-
* cycle and on nothing else — and a successful cycle is the one case where
|
|
350
|
-
* the buffer is being drained and needs no bound. Every path that leaves it
|
|
351
|
-
* growing skipped it:
|
|
352
|
-
*
|
|
353
|
-
* - no master configured at all → `syncCycle` returns at its second line;
|
|
354
|
-
* - master unreachable → the push throws and control leaves via `catch`;
|
|
355
|
-
* - and then the backoff, which saturates at five minutes, returns at the
|
|
356
|
-
* third line for most ticks after that.
|
|
357
|
-
*
|
|
358
|
-
* So the guarantee in this file's header — "bounded buffer, oldest entries
|
|
359
|
-
* evicted when maxBufferSize is reached" — held only while it was not
|
|
360
|
-
* needed. A slave that lost its master still buffered until the disk filled,
|
|
361
|
-
* which is the exact failure the bound was written to prevent and the
|
|
362
|
-
* reason it is not read as a replication bug when it happens: what fills is
|
|
363
|
-
* the disk, and what breaks is everything else sharing it.
|
|
364
|
-
*
|
|
365
|
-
* The bound is a local database operation. It needs no master, so it does
|
|
366
|
-
* not belong behind a check for one.
|
|
367
|
-
*/
|
|
368
|
-
async syncTick() {
|
|
277
|
+
syncTick() {
|
|
369
278
|
if (this.disposed)
|
|
370
|
-
return;
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
}
|
|
374
|
-
async syncCycle() {
|
|
375
|
-
if (this.disposed || this.isSyncing)
|
|
376
|
-
return;
|
|
377
|
-
if (!this.masterInvoke)
|
|
378
|
-
return; // No master connection — skip
|
|
379
|
-
// Respect backoff
|
|
380
|
-
if (Date.now() < this.backoff.nextRetryAt)
|
|
381
|
-
return;
|
|
382
|
-
this.isSyncing = true;
|
|
383
|
-
try {
|
|
384
|
-
let totalSynced = 0;
|
|
385
|
-
let totalRefused = 0;
|
|
386
|
-
const seenThisCycle = new Set();
|
|
387
|
-
// Sync in batches until no more pending entries
|
|
388
|
-
while (true) {
|
|
389
|
-
const batch = await this.fetchPendingBatch();
|
|
390
|
-
if (batch.entries.length === 0)
|
|
391
|
-
break;
|
|
392
|
-
const outcome = await this.pushBatch(batch);
|
|
393
|
-
const delivered = deliveredIds(outcome);
|
|
394
|
-
await this.markSynced(delivered);
|
|
395
|
-
totalSynced += delivered.length;
|
|
396
|
-
totalRefused += outcome.failed.length;
|
|
397
|
-
// Entries the master rejected stay pending, so the next fetch
|
|
398
|
-
// returns them again. Stop the sweep when a page yields nothing new
|
|
399
|
-
// — otherwise a permanently unacceptable entry loops here forever.
|
|
400
|
-
if (!sweepMadeProgress(seenThisCycle, batch.entries.map((e) => e.id))) {
|
|
401
|
-
this.logger.warn({ nodeId: this.nodeId, pending: batch.entries.length }, 'Sync sweep stalled — the master is rejecting the oldest pending entries');
|
|
402
|
-
break;
|
|
403
|
-
}
|
|
404
|
-
for (const e of batch.entries)
|
|
405
|
-
seenThisCycle.add(e.id);
|
|
406
|
-
// Don't monopolize — yield after each batch
|
|
407
|
-
if (totalSynced >= this.config.batchSize * 5)
|
|
408
|
-
break;
|
|
409
|
-
}
|
|
410
|
-
if (totalSynced > 0) {
|
|
411
|
-
this.logger.info({ synced: totalSynced }, 'Sync cycle completed');
|
|
412
|
-
}
|
|
413
|
-
// A cycle that delivered NOTHING and was refused everything is not a
|
|
414
|
-
// success, even though nothing threw.
|
|
415
|
-
//
|
|
416
|
-
// Only one of the two ways to fail used to reach the backoff. An
|
|
417
|
-
// unreachable master makes the push throw, and the `catch` below grows
|
|
418
|
-
// the delay to five minutes. But a master that ANSWERS and says no to
|
|
419
|
-
// every entry returns normally — and control arrived here, at a reset
|
|
420
|
-
// of a backoff that had never been set. That is how 1000 entries were
|
|
421
|
-
// offered 94 times in 37 minutes while the master's own Postgres was
|
|
422
|
-
// down behind a stopped Docker: the RPC succeeded on every attempt,
|
|
423
|
-
// and only the ingest failed. The configured delay (5 s, doubling, to
|
|
424
|
-
// 300 s) would have made that about a dozen attempts; it was never
|
|
425
|
-
// consulted.
|
|
426
|
-
if (totalSynced === 0 && totalRefused > 0) {
|
|
427
|
-
this.noteSyncFailure(`master refused every entry (${totalRefused})`);
|
|
428
|
-
return;
|
|
429
|
-
}
|
|
430
|
-
// Reset backoff on success
|
|
431
|
-
this.backoff = { attempt: 0, nextRetryAt: 0 };
|
|
432
|
-
this.lastSyncAt = Date.now();
|
|
433
|
-
this.lastError = null;
|
|
434
|
-
}
|
|
435
|
-
catch (err) {
|
|
436
|
-
this.noteSyncFailure(describeError(err));
|
|
437
|
-
}
|
|
438
|
-
finally {
|
|
439
|
-
this.isSyncing = false;
|
|
440
|
-
}
|
|
441
|
-
}
|
|
442
|
-
/**
|
|
443
|
-
* Grow the retry delay and record why.
|
|
444
|
-
*
|
|
445
|
-
* Shared by both ways a cycle can fail — a master that cannot be reached,
|
|
446
|
-
* and a master that answers no — because the buffer does not care which
|
|
447
|
-
* one it was, and neither does the disk it is filling.
|
|
448
|
-
*/
|
|
449
|
-
noteSyncFailure(message) {
|
|
450
|
-
this.lastError = message;
|
|
451
|
-
this.backoff.attempt++;
|
|
452
|
-
const delay = Math.min(this.config.backoff.initial * Math.pow(this.config.backoff.factor, this.backoff.attempt), this.config.backoff.max);
|
|
453
|
-
this.backoff.nextRetryAt = Date.now() + delay;
|
|
454
|
-
this.logger.warn({ error: message, attempt: this.backoff.attempt, nextRetryMs: delay }, 'Sync failed — will retry');
|
|
279
|
+
return Promise.resolve();
|
|
280
|
+
this.outboxMaintenance ??= this.enforceBufferBounds().finally(() => { this.outboxMaintenance = null; });
|
|
281
|
+
return this.outboxMaintenance;
|
|
455
282
|
}
|
|
456
283
|
async fetchPendingBatch(limit) {
|
|
284
|
+
const requested = limit ?? this.config.batchSize;
|
|
285
|
+
if (!Number.isSafeInteger(requested) || requested < 1 || requested > 10_000)
|
|
286
|
+
throw new Error('Replication batch limit must be between 1 and 10000');
|
|
287
|
+
const tracked = await this.replicationEvidence();
|
|
288
|
+
const { sql } = await import('kysely');
|
|
457
289
|
const rows = await this.db
|
|
458
290
|
.selectFrom('sync_buffer')
|
|
459
|
-
.
|
|
291
|
+
.select(['category', 'payload', 'createdAt'])
|
|
292
|
+
.select(sql `cast(id as text)`.as('id'))
|
|
460
293
|
.where('syncedAt', 'is', null)
|
|
461
294
|
.orderBy('createdAt', 'asc')
|
|
462
|
-
.limit(
|
|
295
|
+
.limit(requested)
|
|
463
296
|
.execute();
|
|
464
297
|
const batchId = `${this.nodeId}-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
465
298
|
const entries = rows.map((r) => ({
|
|
466
|
-
id: String(r.id),
|
|
299
|
+
id: tracked && BigInt(r.id) >= BigInt(tracked.namespaceFrom) ? `${tracked.evidence.epoch}:${r.id}` : String(r.id),
|
|
467
300
|
category: r.category,
|
|
468
301
|
payload: (typeof r.payload === 'string' ? JSON.parse(r.payload) : r.payload),
|
|
469
302
|
// Whatever spelling the local column holds, the master receives a
|
|
@@ -480,47 +313,88 @@ export class SyncService {
|
|
|
480
313
|
hash.update(JSON.stringify(entries));
|
|
481
314
|
return hash.digest('hex');
|
|
482
315
|
}
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
return { accepted: allIds, duplicates: [], failed: [], discarded: [] };
|
|
316
|
+
async replicationEvidence() {
|
|
317
|
+
if (this.evidenceKept === false)
|
|
318
|
+
return null;
|
|
319
|
+
try {
|
|
320
|
+
const reading = await readReplicationEvidence(this.db);
|
|
321
|
+
this.evidenceKept = true;
|
|
322
|
+
return reading;
|
|
323
|
+
}
|
|
324
|
+
catch (error) {
|
|
325
|
+
// An older schema is compatible. Corrupt state and I/O errors are not
|
|
326
|
+
// evidence of an empty queue and must reach the caller.
|
|
327
|
+
if (/no such table: sync_replication_state|relation ["']?sync_replication_state["']? does not exist/i.test(describeError(error))) {
|
|
328
|
+
this.evidenceKept = false;
|
|
329
|
+
return null;
|
|
330
|
+
}
|
|
331
|
+
throw error;
|
|
500
332
|
}
|
|
501
|
-
return {
|
|
502
|
-
accepted: response.acceptedIds,
|
|
503
|
-
duplicates: Array.isArray(response.duplicateIds) ? response.duplicateIds : [],
|
|
504
|
-
failed: Array.isArray(response.failedIds) ? response.failedIds : [],
|
|
505
|
-
// An older master answers without this field. Treating a missing list
|
|
506
|
-
// as an empty one is right: it discarded nothing.
|
|
507
|
-
discarded: Array.isArray(response.discardedIds) ? response.discardedIds : [],
|
|
508
|
-
};
|
|
509
333
|
}
|
|
510
|
-
async markSynced(ids) {
|
|
334
|
+
async markSynced(ids, receipt) {
|
|
335
|
+
const groups = receiptGroups(ids, receipt);
|
|
511
336
|
if (ids.length === 0)
|
|
512
|
-
return;
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
.
|
|
337
|
+
return 0;
|
|
338
|
+
const now = Date.now();
|
|
339
|
+
const tracked = await this.replicationEvidence();
|
|
340
|
+
let released;
|
|
341
|
+
if (tracked) {
|
|
342
|
+
// Classification, queue release and durable evidence commit together.
|
|
343
|
+
released = await this.db.transaction().execute(async (transaction) => {
|
|
344
|
+
let count = 0;
|
|
345
|
+
for (const [outcome, wireIds] of Object.entries(groups)) {
|
|
346
|
+
if (!wireIds.length)
|
|
347
|
+
continue;
|
|
348
|
+
const values = wireIds.map(id => {
|
|
349
|
+
if (!id.includes(':')) {
|
|
350
|
+
if (!/^[1-9]\d*$/.test(id) || BigInt(id) >= BigInt(tracked.namespaceFrom)) {
|
|
351
|
+
throw new Error('Replication receipt is missing its buffer epoch');
|
|
352
|
+
}
|
|
353
|
+
return id; // IDs offered before migration retain their original wire representation.
|
|
354
|
+
}
|
|
355
|
+
const [epoch, sequence, extra] = id.split(':');
|
|
356
|
+
if (epoch !== tracked.evidence.epoch || !sequence || !/^[1-9]\d*$/.test(sequence) || extra !== undefined ||
|
|
357
|
+
BigInt(sequence) < BigInt(tracked.namespaceFrom) || BigInt(sequence) > 9223372036854775807n) {
|
|
358
|
+
throw new Error('Replication receipt belongs to a different buffer epoch');
|
|
359
|
+
}
|
|
360
|
+
return sequence;
|
|
361
|
+
});
|
|
362
|
+
const result = await transaction.updateTable('sync_buffer')
|
|
363
|
+
.set({ syncedAt: new Date(now), syncOutcome: outcome })
|
|
364
|
+
.where('id', 'in', values).where('syncedAt', 'is', null).executeTakeFirst();
|
|
365
|
+
count += Number(result.numUpdatedRows);
|
|
366
|
+
}
|
|
367
|
+
return count;
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
else {
|
|
371
|
+
const result = await this.db.updateTable('sync_buffer').set({ syncedAt: new Date(now) })
|
|
372
|
+
.where('id', 'in', [...new Set(ids)]).where('syncedAt', 'is', null).executeTakeFirst();
|
|
373
|
+
released = Number(result.numUpdatedRows);
|
|
374
|
+
}
|
|
375
|
+
if (released > 0) {
|
|
376
|
+
this.lastSyncAt = now;
|
|
377
|
+
const second = Math.floor(now / 1000);
|
|
378
|
+
this.deliveries.set(second, (this.deliveries.get(second) ?? 0) + released);
|
|
379
|
+
this.deliveryRate(now);
|
|
380
|
+
}
|
|
381
|
+
return released;
|
|
382
|
+
}
|
|
383
|
+
deliveryRate(now) {
|
|
384
|
+
const cutoff = Math.floor(now / 1000) - 59;
|
|
385
|
+
let count = 0;
|
|
386
|
+
for (const [second, entries] of this.deliveries) {
|
|
387
|
+
if (second < cutoff)
|
|
388
|
+
this.deliveries.delete(second);
|
|
389
|
+
else
|
|
390
|
+
count += entries;
|
|
391
|
+
}
|
|
392
|
+
return count / 60;
|
|
518
393
|
}
|
|
519
394
|
/**
|
|
520
395
|
* Keep the WAL inside `maxBufferSize`.
|
|
521
396
|
*
|
|
522
|
-
*
|
|
523
|
-
* evicted when maxBufferSize reached" — had no implementation:
|
|
397
|
+
* The original bounded-buffer promise had no implementation:
|
|
524
398
|
* `maxBufferSize` was read from config, defaulted to 500 MB, and never
|
|
525
399
|
* referenced again. The only eviction was of *synced* rows older than a
|
|
526
400
|
* day, so a slave that lost its master buffered until the disk filled. The
|
|
@@ -728,6 +602,10 @@ export class SyncService {
|
|
|
728
602
|
if (typeof batch.nodeId !== 'string' || batch.nodeId.trim() === '') {
|
|
729
603
|
throw new Error('Sync batch rejected: `nodeId` is required and must be a non-empty string.');
|
|
730
604
|
}
|
|
605
|
+
if (!Array.isArray(batch.entries) || batch.entries.length > 10_000 || batch.entries.some(entry => !entry || typeof entry.id !== 'string' || !entry.id.length || entry.id.length > 64 ||
|
|
606
|
+
typeof entry.category !== 'string' || !entry.payload || typeof entry.payload !== 'object' || Array.isArray(entry.payload))) {
|
|
607
|
+
throw new Error('Sync batch rejected: at most 10000 entries with bounded IDs and object payloads are required');
|
|
608
|
+
}
|
|
731
609
|
// Rate limiting — prevent flood from misbehaving slaves
|
|
732
610
|
if (!this.checkRateLimit(batch.nodeId)) {
|
|
733
611
|
throw new Error(`Rate limit exceeded for node ${batch.nodeId}. Max ${RATE_LIMIT_PER_MINUTE} batches/min.`);
|
|
@@ -756,18 +634,28 @@ export class SyncService {
|
|
|
756
634
|
total: batch.entries.length,
|
|
757
635
|
}, 'Sync batch received');
|
|
758
636
|
}
|
|
637
|
+
const released = deliveredIds(outcome);
|
|
638
|
+
const receipts = released.length ? await this.db.selectFrom('sync_ingested').select(['entryId', 'outcome'])
|
|
639
|
+
.where('nodeId', '=', batch.nodeId).where('entryId', 'in', released).execute() : [];
|
|
640
|
+
const discarded = new Set(receipts.filter(row => row.outcome === 'discarded').map(row => row.entryId));
|
|
641
|
+
const unverified = new Set(receipts.filter(row => row.outcome === 'unverified').map(row => row.entryId));
|
|
642
|
+
const reconciled = await reconciledMetricIds(this.db, batch.nodeId, batch.entries.filter(entry => unverified.has(entry.id)));
|
|
643
|
+
const acceptedIds = outcome.accepted.filter(id => !discarded.has(id));
|
|
644
|
+
const duplicateIds = outcome.duplicates.filter(id => !discarded.has(id));
|
|
759
645
|
return {
|
|
646
|
+
receiptVersion: 1,
|
|
647
|
+
committedIds: [...receipts.filter(row => row.outcome === 'committed').map(row => row.entryId), ...reconciled],
|
|
760
648
|
// Kept as a number for the existing RPC contract; the id lists are
|
|
761
649
|
// what the slave needs to know which entries it may release.
|
|
762
|
-
accepted:
|
|
763
|
-
duplicates:
|
|
764
|
-
acceptedIds
|
|
765
|
-
duplicateIds
|
|
650
|
+
accepted: acceptedIds.length,
|
|
651
|
+
duplicates: duplicateIds.length,
|
|
652
|
+
acceptedIds,
|
|
653
|
+
duplicateIds,
|
|
766
654
|
failedIds: outcome.failed,
|
|
767
655
|
// Released, not stored. The slave must let these go or it offers them
|
|
768
656
|
// forever; the ERROR beside each one is the only record that they
|
|
769
657
|
// existed.
|
|
770
|
-
discardedIds:
|
|
658
|
+
discardedIds: [...discarded],
|
|
771
659
|
};
|
|
772
660
|
}
|
|
773
661
|
/**
|
|
@@ -815,7 +703,7 @@ export class SyncService {
|
|
|
815
703
|
const outcome = { accepted: [], duplicates: [], failed: [], discarded: [] };
|
|
816
704
|
const taken = [];
|
|
817
705
|
await this.db.transaction().execute(async (trx) => {
|
|
818
|
-
const claimed = await this.claimAll(trx, nodeId, entries
|
|
706
|
+
const claimed = await this.claimAll(trx, nodeId, entries);
|
|
819
707
|
for (const entry of entries) {
|
|
820
708
|
if (claimed.delete(entry.id)) {
|
|
821
709
|
outcome.accepted.push(entry.id);
|
|
@@ -883,8 +771,13 @@ export class SyncService {
|
|
|
883
771
|
* Sorted, so that two transactions claiming overlapping batches take the
|
|
884
772
|
* ledger's rows in the same order and cannot deadlock on each other.
|
|
885
773
|
*/
|
|
886
|
-
async claimAll(db, nodeId,
|
|
887
|
-
const
|
|
774
|
+
async claimAll(db, nodeId, entries) {
|
|
775
|
+
const byId = new Map();
|
|
776
|
+
for (const entry of entries)
|
|
777
|
+
if (!byId.has(entry.id))
|
|
778
|
+
byId.set(entry.id, entry);
|
|
779
|
+
const rows = [...byId.values()].sort((a, b) => a.id.localeCompare(b.id))
|
|
780
|
+
.map(entry => ({ nodeId, entryId: entry.id, outcome: this.receiptOutcome(entry.category) }));
|
|
888
781
|
const claimed = new Set();
|
|
889
782
|
for (const part of statementsOf(rows)) {
|
|
890
783
|
const taken = await db
|
|
@@ -904,6 +797,7 @@ export class SyncService {
|
|
|
904
797
|
* so an entry lands as the same row whichever one took it.
|
|
905
798
|
*/
|
|
906
799
|
async writeRows(db, nodeId, entries) {
|
|
800
|
+
const metrics = [];
|
|
907
801
|
const logs = [];
|
|
908
802
|
const alerts = [];
|
|
909
803
|
const traces = [];
|
|
@@ -911,9 +805,7 @@ export class SyncService {
|
|
|
911
805
|
for (const entry of entries) {
|
|
912
806
|
switch (entry.category) {
|
|
913
807
|
case 'metrics':
|
|
914
|
-
|
|
915
|
-
// commits (`recordMetrics`). Its claim is what stops a retry from
|
|
916
|
-
// recording it twice.
|
|
808
|
+
metrics.push(this.metricSample(nodeId, entry));
|
|
917
809
|
break;
|
|
918
810
|
case 'logs':
|
|
919
811
|
logs.push(logRow(nodeId, entry));
|
|
@@ -936,12 +828,19 @@ export class SyncService {
|
|
|
936
828
|
break;
|
|
937
829
|
}
|
|
938
830
|
}
|
|
831
|
+
if (logs.length)
|
|
832
|
+
await assertLogDurability(db);
|
|
939
833
|
for (const part of statementsOf(logs))
|
|
940
834
|
await db.insertInto('logs').values(part).execute();
|
|
941
835
|
for (const part of statementsOf(alerts))
|
|
942
836
|
await db.insertInto('alert_events').values(part).execute();
|
|
943
837
|
for (const part of statementsOf(traces))
|
|
944
838
|
await db.insertInto('traces').values(part).execute();
|
|
839
|
+
if (metrics.length) {
|
|
840
|
+
if (!this.metricsStorage)
|
|
841
|
+
throw new Error('Persistent metric storage is unavailable; payloads remain pending on the node');
|
|
842
|
+
await this.metricsStorage.writeInTransaction(db, metrics);
|
|
843
|
+
}
|
|
945
844
|
if (unknown.length > 0) {
|
|
946
845
|
// An unknown category is not a failure to retry — retrying cannot make
|
|
947
846
|
// it known. It is claimed and dropped, so the slave releases it, and
|
|
@@ -955,45 +854,20 @@ export class SyncService {
|
|
|
955
854
|
}, 'Unknown sync category — entries discarded');
|
|
956
855
|
}
|
|
957
856
|
}
|
|
958
|
-
/**
|
|
959
|
-
* Hand claimed remote metrics to the store the console reads.
|
|
960
|
-
*
|
|
961
|
-
* The sink records each sample into titan-metrics, which is what the
|
|
962
|
-
* console's `getSnapshot` and `querySeries` read, tagged with `node` so a
|
|
963
|
-
* remote reading is a label dimension rather than a second table. The
|
|
964
|
-
* `metrics_raw` table these were also written to was kept «until the
|
|
965
|
-
* console is observed showing the label»; it was observed (2026-09-23: 19
|
|
966
|
-
* series labelled with the test node), and the table — written ~0.93
|
|
967
|
-
* million rows a day, read and pruned by nothing — is gone (migration 010).
|
|
968
|
-
* History now lives in titan-metrics' store (in memory, 7 days, lost with a
|
|
969
|
-
* master restart); how long it should be kept is that store's question.
|
|
970
|
-
*
|
|
971
|
-
* AFTER the commit. The sink is not part of the transaction, and it used to
|
|
972
|
-
* be called inside it, before the row was written: an entry whose write
|
|
973
|
-
* then failed was recorded anyway, and recorded again by the retry that
|
|
974
|
-
* stored it. With a batch rolled back and retried entry by entry, that
|
|
975
|
-
* would have been every metric in it.
|
|
976
|
-
*/
|
|
857
|
+
/** Update live exposition after the payload and receipt commit atomically. */
|
|
977
858
|
recordMetrics(nodeId, entries) {
|
|
978
|
-
if (!this.
|
|
859
|
+
if (!this.metricsRegistry)
|
|
979
860
|
return;
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
this.
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
value: Number(entry.payload['value'] ?? 0),
|
|
990
|
-
});
|
|
861
|
+
for (const entry of entries) {
|
|
862
|
+
if (entry.category !== 'metrics')
|
|
863
|
+
continue;
|
|
864
|
+
try {
|
|
865
|
+
this.metricsRegistry.record(this.metricSample(nodeId, entry));
|
|
866
|
+
}
|
|
867
|
+
catch (err) {
|
|
868
|
+
// The sample and receipt have already committed. Projection cannot undo that or skip later samples.
|
|
869
|
+
this.logger.warn({ nodeId, entryId: entry.id, error: describeError(err) }, 'Failed to expose a committed remote metric');
|
|
991
870
|
}
|
|
992
|
-
}
|
|
993
|
-
catch (err) {
|
|
994
|
-
// The entries are stored and will be acknowledged; a sink that throws
|
|
995
|
-
// must not turn that into a retry the ledger then calls a duplicate.
|
|
996
|
-
this.logger.warn({ nodeId, error: describeError(err) }, 'Stored remote metrics could not be recorded for the console');
|
|
997
871
|
}
|
|
998
872
|
}
|
|
999
873
|
/**
|
|
@@ -1003,6 +877,18 @@ export class SyncService {
|
|
|
1003
877
|
* lost acknowledgement, which is delivery, not failure. Throws when
|
|
1004
878
|
* ingestion fails, leaving nothing recorded.
|
|
1005
879
|
*/
|
|
880
|
+
receiptOutcome(category) {
|
|
881
|
+
return ['metrics', 'logs', 'alerts', 'traces', 'events', 'state'].includes(category) ? 'committed' : 'discarded';
|
|
882
|
+
}
|
|
883
|
+
metricSample(nodeId, entry) {
|
|
884
|
+
try {
|
|
885
|
+
return replicatedMetric(nodeId, entry);
|
|
886
|
+
}
|
|
887
|
+
catch (cause) {
|
|
888
|
+
// Malformed telemetry is a permanent refusal; database/network failures are retryable.
|
|
889
|
+
throw Object.assign(new Error(`Invalid replicated metric: ${describeError(cause)}`), { code: '22023' });
|
|
890
|
+
}
|
|
891
|
+
}
|
|
1006
892
|
async claimAndIngest(nodeId, entry) {
|
|
1007
893
|
try {
|
|
1008
894
|
return await this.claimAndIngestOnce(nodeId, entry);
|
|
@@ -1018,12 +904,13 @@ export class SyncService {
|
|
|
1018
904
|
// The claim is made in its own transaction because the one above rolled
|
|
1019
905
|
// back with the failure, taking the claim with it. Claiming it here is
|
|
1020
906
|
// what stops it coming back.
|
|
1021
|
-
await this.db
|
|
907
|
+
const recorded = await this.db
|
|
1022
908
|
.insertInto('sync_ingested')
|
|
1023
|
-
.values({ nodeId, entryId: entry.id })
|
|
909
|
+
.values({ nodeId, entryId: entry.id, outcome: 'discarded' })
|
|
1024
910
|
.onConflict((oc) => oc.columns(['nodeId', 'entryId']).doNothing())
|
|
1025
|
-
.
|
|
1026
|
-
|
|
911
|
+
.returning('entryId').executeTakeFirst();
|
|
912
|
+
if (!recorded)
|
|
913
|
+
return 'duplicate'; // The canonical receipt decides which outcome won.
|
|
1027
914
|
// ERROR, with everything needed to find the entry: this is data that
|
|
1028
915
|
// will never arrive, and the node has been told to forget it.
|
|
1029
916
|
this.logger.error({ nodeId, entryId: entry.id, category: entry.category, error: err.message }, 'Sync entry rejected permanently — discarded so the buffer can drain');
|
|
@@ -1034,7 +921,7 @@ export class SyncService {
|
|
|
1034
921
|
return this.db.transaction().execute(async (trx) => {
|
|
1035
922
|
const claim = await trx
|
|
1036
923
|
.insertInto('sync_ingested')
|
|
1037
|
-
.values({ nodeId, entryId: entry.id })
|
|
924
|
+
.values({ nodeId, entryId: entry.id, outcome: this.receiptOutcome(entry.category) })
|
|
1038
925
|
.onConflict((oc) => oc.columns(['nodeId', 'entryId']).doNothing())
|
|
1039
926
|
.returning('entryId')
|
|
1040
927
|
.executeTakeFirst();
|
|
@@ -1158,30 +1045,45 @@ export class SyncService {
|
|
|
1158
1045
|
async getStatus() {
|
|
1159
1046
|
let pendingItems = 0;
|
|
1160
1047
|
let bufferSize = 0;
|
|
1048
|
+
let oldestPendingAgeMs = null;
|
|
1049
|
+
let lastSyncAt = this.lastSyncAt;
|
|
1050
|
+
let tracked = null;
|
|
1051
|
+
let reconciliationError;
|
|
1161
1052
|
if (this.role === 'slave') {
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1053
|
+
tracked = await this.replicationEvidence();
|
|
1054
|
+
if (tracked) {
|
|
1055
|
+
({ pendingItems, bufferSize, oldestPendingAgeMs, lastSyncAt } = tracked);
|
|
1056
|
+
try {
|
|
1057
|
+
const reconciled = (await this.getReconciliationSummaries()).find(r => r.nodeId === this.nodeId && r.epoch === tracked.evidence.epoch);
|
|
1058
|
+
if (reconciled)
|
|
1059
|
+
tracked.evidence.reconciliation = { ...reconciled, scope: 'source' };
|
|
1060
|
+
}
|
|
1061
|
+
catch (error) {
|
|
1062
|
+
reconciliationError = describeError(error);
|
|
1063
|
+
}
|
|
1173
1064
|
}
|
|
1174
|
-
|
|
1175
|
-
|
|
1065
|
+
else {
|
|
1066
|
+
const { sql } = await import('kysely');
|
|
1067
|
+
const result = await this.db.selectFrom('sync_buffer').select(eb => [
|
|
1068
|
+
eb.fn.count('id').as('count'), eb.fn.min('createdAt').as('oldest'),
|
|
1069
|
+
sql `coalesce(sum(octet_length(cast(payload as text))), 0)`.as('bytes'),
|
|
1070
|
+
]).where('syncedAt', 'is', null).executeTakeFirst();
|
|
1071
|
+
pendingItems = Number(result?.count ?? 0);
|
|
1072
|
+
bufferSize = Number(result?.bytes ?? 0);
|
|
1073
|
+
if (result?.oldest != null)
|
|
1074
|
+
oldestPendingAgeMs = Math.max(0, Date.now() - Date.parse(toIsoUtc(result.oldest)));
|
|
1176
1075
|
}
|
|
1177
1076
|
}
|
|
1178
1077
|
return {
|
|
1179
|
-
connected:
|
|
1180
|
-
lastSyncAt
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1078
|
+
connected: false, // Legacy reverse-channel field. Connectivity is observed by the controller.
|
|
1079
|
+
lastSyncAt, pendingItems, oldestPendingAgeMs,
|
|
1080
|
+
lastSyncAgeMs: lastSyncAt === null ? null : Math.max(0, Date.now() - lastSyncAt),
|
|
1081
|
+
deliveryRatePerSecond: this.deliveryRate(Date.now()),
|
|
1082
|
+
bufferSize, bufferSizeAccuracy: 'measured',
|
|
1083
|
+
...(tracked && { evidence: tracked.evidence, retainedBufferSize: tracked.retainedBufferSize }),
|
|
1084
|
+
...(reconciliationError && { reconciliationError }),
|
|
1085
|
+
lastError: null,
|
|
1086
|
+
failedAttempts: 0,
|
|
1185
1087
|
};
|
|
1186
1088
|
}
|
|
1187
1089
|
}
|