@omnitron-dev/omnitron 0.1.3 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BUILD.json +5 -0
- package/dist/cli/omnitron.js +378 -25
- package/dist/cli/omnitron.js.map +1 -1
- package/dist/cluster/cluster.rpc-service.d.ts +40 -0
- package/dist/cluster/cluster.rpc-service.d.ts.map +1 -1
- package/dist/cluster/cluster.rpc-service.js +49 -3
- package/dist/cluster/cluster.rpc-service.js.map +1 -1
- package/dist/cluster/config-sync.d.ts.map +1 -1
- package/dist/cluster/config-sync.js.map +1 -1
- package/dist/cluster/leader-election.d.ts +90 -2
- package/dist/cluster/leader-election.d.ts.map +1 -1
- package/dist/cluster/leader-election.js +176 -24
- package/dist/cluster/leader-election.js.map +1 -1
- package/dist/cluster/mesh-link.d.ts +136 -0
- package/dist/cluster/mesh-link.d.ts.map +1 -0
- package/dist/cluster/mesh-link.js +212 -0
- package/dist/cluster/mesh-link.js.map +1 -0
- package/dist/cluster/mesh.d.ts +59 -0
- package/dist/cluster/mesh.d.ts.map +1 -0
- package/dist/cluster/mesh.js +117 -0
- package/dist/cluster/mesh.js.map +1 -0
- package/dist/cluster/slave-connector.d.ts +193 -9
- package/dist/cluster/slave-connector.d.ts.map +1 -1
- package/dist/cluster/slave-connector.js +409 -37
- package/dist/cluster/slave-connector.js.map +1 -1
- package/dist/commands/audit.d.ts +65 -0
- package/dist/commands/audit.d.ts.map +1 -0
- package/dist/commands/audit.js +233 -0
- package/dist/commands/audit.js.map +1 -0
- package/dist/commands/backup.d.ts +4 -0
- package/dist/commands/backup.d.ts.map +1 -1
- package/dist/commands/backup.js +255 -33
- package/dist/commands/backup.js.map +1 -1
- package/dist/commands/cluster.d.ts.map +1 -1
- package/dist/commands/cluster.js +78 -47
- package/dist/commands/cluster.js.map +1 -1
- package/dist/commands/daemon-cmd.d.ts +7 -1
- package/dist/commands/daemon-cmd.d.ts.map +1 -1
- package/dist/commands/daemon-cmd.js +87 -21
- package/dist/commands/daemon-cmd.js.map +1 -1
- package/dist/commands/daemon-required.d.ts +34 -0
- package/dist/commands/daemon-required.d.ts.map +1 -0
- package/dist/commands/daemon-required.js +92 -0
- package/dist/commands/daemon-required.js.map +1 -0
- package/dist/commands/deploy.d.ts +70 -8
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +99 -64
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/discover.d.ts +25 -4
- package/dist/commands/discover.d.ts.map +1 -1
- package/dist/commands/discover.js +155 -102
- package/dist/commands/discover.js.map +1 -1
- package/dist/commands/doctor.d.ts +293 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +1706 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/env.d.ts +8 -1
- package/dist/commands/env.d.ts.map +1 -1
- package/dist/commands/env.js +18 -5
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/exec.d.ts.map +1 -1
- package/dist/commands/exec.js +3 -2
- package/dist/commands/exec.js.map +1 -1
- package/dist/commands/fleet-asking.d.ts +87 -0
- package/dist/commands/fleet-asking.d.ts.map +1 -0
- package/dist/commands/fleet-asking.js +176 -0
- package/dist/commands/fleet-asking.js.map +1 -0
- package/dist/commands/fleet.d.ts +18 -0
- package/dist/commands/fleet.d.ts.map +1 -1
- package/dist/commands/fleet.js +314 -74
- package/dist/commands/fleet.js.map +1 -1
- package/dist/commands/health-check.d.ts +8 -6
- package/dist/commands/health-check.d.ts.map +1 -1
- package/dist/commands/health-check.js +26 -23
- package/dist/commands/health-check.js.map +1 -1
- package/dist/commands/health.d.ts.map +1 -1
- package/dist/commands/health.js +26 -4
- package/dist/commands/health.js.map +1 -1
- package/dist/commands/infra.d.ts +42 -1
- package/dist/commands/infra.d.ts.map +1 -1
- package/dist/commands/infra.js +418 -49
- package/dist/commands/infra.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +21 -36
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/inspect-graph.d.ts +20 -0
- package/dist/commands/inspect-graph.d.ts.map +1 -0
- package/dist/commands/inspect-graph.js +74 -0
- package/dist/commands/inspect-graph.js.map +1 -0
- package/dist/commands/inspect.d.ts.map +1 -1
- package/dist/commands/inspect.js +115 -11
- package/dist/commands/inspect.js.map +1 -1
- package/dist/commands/k8s.d.ts.map +1 -1
- package/dist/commands/k8s.js +23 -18
- package/dist/commands/k8s.js.map +1 -1
- package/dist/commands/kb.d.ts.map +1 -1
- package/dist/commands/kb.js +88 -29
- package/dist/commands/kb.js.map +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +25 -3
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/log-health.d.ts +120 -0
- package/dist/commands/log-health.d.ts.map +1 -0
- package/dist/commands/log-health.js +212 -0
- package/dist/commands/log-health.js.map +1 -0
- package/dist/commands/logs.d.ts +96 -2
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +532 -192
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/metrics.d.ts.map +1 -1
- package/dist/commands/metrics.js +40 -14
- package/dist/commands/metrics.js.map +1 -1
- package/dist/commands/monit.d.ts.map +1 -1
- package/dist/commands/monit.js +12 -2
- package/dist/commands/monit.js.map +1 -1
- package/dist/commands/node.d.ts +68 -0
- package/dist/commands/node.d.ts.map +1 -1
- package/dist/commands/node.js +285 -68
- package/dist/commands/node.js.map +1 -1
- package/dist/commands/output.d.ts +45 -0
- package/dist/commands/output.d.ts.map +1 -0
- package/dist/commands/output.js +103 -0
- package/dist/commands/output.js.map +1 -0
- package/dist/commands/pipeline.d.ts.map +1 -1
- package/dist/commands/pipeline.js +26 -19
- package/dist/commands/pipeline.js.map +1 -1
- package/dist/commands/project.d.ts +19 -0
- package/dist/commands/project.d.ts.map +1 -1
- package/dist/commands/project.js +125 -27
- package/dist/commands/project.js.map +1 -1
- package/dist/commands/release-store.d.ts +28 -0
- package/dist/commands/release-store.d.ts.map +1 -0
- package/dist/commands/release-store.js +158 -0
- package/dist/commands/release-store.js.map +1 -0
- package/dist/commands/release.d.ts +61 -0
- package/dist/commands/release.d.ts.map +1 -0
- package/dist/commands/release.js +555 -0
- package/dist/commands/release.js.map +1 -0
- package/dist/commands/reload.d.ts +16 -0
- package/dist/commands/reload.d.ts.map +1 -1
- package/dist/commands/reload.js +21 -5
- package/dist/commands/reload.js.map +1 -1
- package/dist/commands/remote.d.ts +40 -0
- package/dist/commands/remote.d.ts.map +1 -1
- package/dist/commands/remote.js +146 -35
- package/dist/commands/remote.js.map +1 -1
- package/dist/commands/restart.d.ts +16 -0
- package/dist/commands/restart.d.ts.map +1 -1
- package/dist/commands/restart.js +21 -5
- package/dist/commands/restart.js.map +1 -1
- package/dist/commands/scale.d.ts.map +1 -1
- package/dist/commands/scale.js +4 -3
- package/dist/commands/scale.js.map +1 -1
- package/dist/commands/secret.d.ts +54 -0
- package/dist/commands/secret.d.ts.map +1 -1
- package/dist/commands/secret.js +236 -34
- package/dist/commands/secret.js.map +1 -1
- package/dist/commands/service-units.d.ts +181 -0
- package/dist/commands/service-units.d.ts.map +1 -0
- package/dist/commands/service-units.js +291 -0
- package/dist/commands/service-units.js.map +1 -0
- package/dist/commands/service.d.ts +39 -0
- package/dist/commands/service.d.ts.map +1 -0
- package/dist/commands/service.js +370 -0
- package/dist/commands/service.js.map +1 -0
- package/dist/commands/spinner.d.ts +29 -0
- package/dist/commands/spinner.d.ts.map +1 -0
- package/dist/commands/spinner.js +44 -0
- package/dist/commands/spinner.js.map +1 -0
- package/dist/commands/stack.d.ts +49 -1
- package/dist/commands/stack.d.ts.map +1 -1
- package/dist/commands/stack.js +341 -13
- package/dist/commands/stack.js.map +1 -1
- package/dist/commands/start.d.ts +16 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +20 -3
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts +9 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +62 -29
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/stop.d.ts +16 -0
- package/dist/commands/stop.d.ts.map +1 -1
- package/dist/commands/stop.js +34 -6
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/tor.d.ts +20 -0
- package/dist/commands/tor.d.ts.map +1 -0
- package/dist/commands/tor.js +180 -0
- package/dist/commands/tor.js.map +1 -0
- package/dist/commands/up.d.ts +85 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +181 -33
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/webapp.d.ts.map +1 -1
- package/dist/commands/webapp.js +2 -1
- package/dist/commands/webapp.js.map +1 -1
- package/dist/config/defaults.d.ts +16 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +26 -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 +2 -0
- package/dist/config/define-ecosystem.js.map +1 -1
- package/dist/config/index.d.ts +1 -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.d.ts +45 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +93 -11
- package/dist/config/loader.js.map +1 -1
- package/dist/config/omnitron-config.schema.d.ts.map +1 -1
- package/dist/config/omnitron-config.schema.js +16 -0
- package/dist/config/omnitron-config.schema.js.map +1 -1
- package/dist/config/types.d.ts +425 -42
- package/dist/config/types.d.ts.map +1 -1
- package/dist/daemon/config-reload.d.ts +27 -0
- package/dist/daemon/config-reload.d.ts.map +1 -0
- package/dist/daemon/config-reload.js +42 -0
- package/dist/daemon/config-reload.js.map +1 -0
- package/dist/daemon/daemon-client.d.ts +150 -2
- package/dist/daemon/daemon-client.d.ts.map +1 -1
- package/dist/daemon/daemon-client.js +311 -21
- package/dist/daemon/daemon-client.js.map +1 -1
- package/dist/daemon/daemon-entry.js +92 -38
- package/dist/daemon/daemon-entry.js.map +1 -1
- package/dist/daemon/daemon-scheduler.d.ts +4 -0
- package/dist/daemon/daemon-scheduler.d.ts.map +1 -1
- package/dist/daemon/daemon-scheduler.js +137 -7
- package/dist/daemon/daemon-scheduler.js.map +1 -1
- package/dist/daemon/daemon-state-store.service.d.ts +263 -0
- package/dist/daemon/daemon-state-store.service.d.ts.map +1 -0
- package/dist/daemon/daemon-state-store.service.js +446 -0
- package/dist/daemon/daemon-state-store.service.js.map +1 -0
- package/dist/daemon/daemon.d.ts +207 -1
- package/dist/daemon/daemon.d.ts.map +1 -1
- package/dist/daemon/daemon.js +1254 -143
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/daemon.module.d.ts.map +1 -1
- package/dist/daemon/daemon.module.js +186 -79
- package/dist/daemon/daemon.module.js.map +1 -1
- package/dist/daemon/daemon.rpc-service.d.ts +109 -1
- package/dist/daemon/daemon.rpc-service.d.ts.map +1 -1
- package/dist/daemon/daemon.rpc-service.js +451 -95
- package/dist/daemon/daemon.rpc-service.js.map +1 -1
- package/dist/daemon/pid-manager.d.ts +69 -5
- package/dist/daemon/pid-manager.d.ts.map +1 -1
- package/dist/daemon/pid-manager.js +151 -17
- package/dist/daemon/pid-manager.js.map +1 -1
- package/dist/daemon/spawn-daemon.d.ts +73 -0
- package/dist/daemon/spawn-daemon.d.ts.map +1 -0
- package/dist/daemon/spawn-daemon.js +101 -0
- package/dist/daemon/spawn-daemon.js.map +1 -0
- package/dist/daemon/state-store.d.ts +65 -3
- package/dist/daemon/state-store.d.ts.map +1 -1
- package/dist/daemon/state-store.js +103 -19
- package/dist/daemon/state-store.js.map +1 -1
- package/dist/database/connection.d.ts +71 -0
- package/dist/database/connection.d.ts.map +1 -0
- package/dist/database/connection.js +129 -0
- package/dist/database/connection.js.map +1 -0
- package/dist/database/dialect.d.ts +60 -0
- package/dist/database/dialect.d.ts.map +1 -0
- package/dist/database/dialect.js +80 -0
- package/dist/database/dialect.js.map +1 -0
- package/dist/database/migrate.d.ts +5 -2
- package/dist/database/migrate.d.ts.map +1 -1
- package/dist/database/migrate.js +23 -33
- package/dist/database/migrate.js.map +1 -1
- package/dist/database/migration-runner.d.ts +50 -0
- package/dist/database/migration-runner.d.ts.map +1 -0
- package/dist/database/migration-runner.js +143 -0
- package/dist/database/migration-runner.js.map +1 -0
- package/dist/database/migrations/006_login_throttle.d.ts +17 -0
- package/dist/database/migrations/006_login_throttle.d.ts.map +1 -0
- package/dist/database/migrations/006_login_throttle.js +33 -0
- package/dist/database/migrations/006_login_throttle.js.map +1 -0
- package/dist/database/migrations/007_sync_ingested.d.ts +21 -0
- package/dist/database/migrations/007_sync_ingested.d.ts.map +1 -0
- package/dist/database/migrations/007_sync_ingested.js +39 -0
- package/dist/database/migrations/007_sync_ingested.js.map +1 -0
- package/dist/database/migrations/008_node_health_version_text.d.ts +24 -0
- package/dist/database/migrations/008_node_health_version_text.d.ts.map +1 -0
- package/dist/database/migrations/008_node_health_version_text.js +35 -0
- package/dist/database/migrations/008_node_health_version_text.js.map +1 -0
- package/dist/database/migrations/009_node_health_unmeasured.d.ts +40 -0
- package/dist/database/migrations/009_node_health_unmeasured.d.ts.map +1 -0
- package/dist/database/migrations/009_node_health_unmeasured.js +63 -0
- package/dist/database/migrations/009_node_health_unmeasured.js.map +1 -0
- package/dist/database/migrations/010_metrics_raw_had_no_reader.d.ts +22 -0
- package/dist/database/migrations/010_metrics_raw_had_no_reader.d.ts.map +1 -0
- package/dist/database/migrations/010_metrics_raw_had_no_reader.js +26 -0
- package/dist/database/migrations/010_metrics_raw_had_no_reader.js.map +1 -0
- package/dist/database/migrations/011_alerts_nobody_had_to_write.d.ts +56 -0
- package/dist/database/migrations/011_alerts_nobody_had_to_write.d.ts.map +1 -0
- package/dist/database/migrations/011_alerts_nobody_had_to_write.js +79 -0
- package/dist/database/migrations/011_alerts_nobody_had_to_write.js.map +1 -0
- package/dist/database/migrations/012_a_disk_nobody_watched.d.ts +26 -0
- package/dist/database/migrations/012_a_disk_nobody_watched.d.ts.map +1 -0
- package/dist/database/migrations/012_a_disk_nobody_watched.js +40 -0
- package/dist/database/migrations/012_a_disk_nobody_watched.js.map +1 -0
- package/dist/database/migrations/013_an_alarm_delivered.d.ts +14 -0
- package/dist/database/migrations/013_an_alarm_delivered.d.ts.map +1 -0
- package/dist/database/migrations/013_an_alarm_delivered.js +28 -0
- package/dist/database/migrations/013_an_alarm_delivered.js.map +1 -0
- package/dist/database/migrations/index.d.ts +21 -0
- package/dist/database/migrations/index.d.ts.map +1 -0
- package/dist/database/migrations/index.js +47 -0
- package/dist/database/migrations/index.js.map +1 -0
- package/dist/database/schema.d.ts +27 -11
- package/dist/database/schema.d.ts.map +1 -1
- package/dist/database/sqlite-date-binding.d.ts +71 -0
- package/dist/database/sqlite-date-binding.d.ts.map +1 -0
- package/dist/database/sqlite-date-binding.js +174 -0
- package/dist/database/sqlite-date-binding.js.map +1 -0
- package/dist/execution/data-channel.d.ts +48 -0
- package/dist/execution/data-channel.d.ts.map +1 -0
- package/dist/execution/data-channel.js +55 -0
- package/dist/execution/data-channel.js.map +1 -0
- package/dist/execution/execution.service.d.ts +139 -0
- package/dist/execution/execution.service.d.ts.map +1 -1
- package/dist/execution/execution.service.js +273 -10
- package/dist/execution/execution.service.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/infrastructure/bare-metal-plan.d.ts +208 -0
- package/dist/infrastructure/bare-metal-plan.d.ts.map +1 -0
- package/dist/infrastructure/bare-metal-plan.js +363 -0
- package/dist/infrastructure/bare-metal-plan.js.map +1 -0
- package/dist/infrastructure/bare-metal-runner.d.ts +65 -0
- package/dist/infrastructure/bare-metal-runner.d.ts.map +1 -0
- package/dist/infrastructure/bare-metal-runner.js +354 -0
- package/dist/infrastructure/bare-metal-runner.js.map +1 -0
- package/dist/infrastructure/config-payload.d.ts +149 -0
- package/dist/infrastructure/config-payload.d.ts.map +1 -0
- package/dist/infrastructure/config-payload.js +235 -0
- package/dist/infrastructure/config-payload.js.map +1 -0
- package/dist/infrastructure/container-runtime.d.ts +179 -1
- package/dist/infrastructure/container-runtime.d.ts.map +1 -1
- package/dist/infrastructure/container-runtime.js +612 -45
- package/dist/infrastructure/container-runtime.js.map +1 -1
- package/dist/infrastructure/gateway-reachability.d.ts +85 -0
- package/dist/infrastructure/gateway-reachability.d.ts.map +1 -0
- package/dist/infrastructure/gateway-reachability.js +116 -0
- package/dist/infrastructure/gateway-reachability.js.map +1 -0
- package/dist/infrastructure/gateway-redis-db.d.ts +29 -0
- package/dist/infrastructure/gateway-redis-db.d.ts.map +1 -0
- package/dist/infrastructure/gateway-redis-db.js +32 -0
- package/dist/infrastructure/gateway-redis-db.js.map +1 -0
- package/dist/infrastructure/host-inspection.d.ts +223 -0
- package/dist/infrastructure/host-inspection.d.ts.map +1 -0
- package/dist/infrastructure/host-inspection.js +501 -0
- package/dist/infrastructure/host-inspection.js.map +1 -0
- package/dist/infrastructure/infrastructure-gate.d.ts.map +1 -1
- package/dist/infrastructure/infrastructure.service.d.ts +247 -6
- package/dist/infrastructure/infrastructure.service.d.ts.map +1 -1
- package/dist/infrastructure/infrastructure.service.js +571 -96
- package/dist/infrastructure/infrastructure.service.js.map +1 -1
- package/dist/infrastructure/known-machines.d.ts +76 -0
- package/dist/infrastructure/known-machines.d.ts.map +1 -0
- package/dist/infrastructure/known-machines.js +94 -0
- package/dist/infrastructure/known-machines.js.map +1 -0
- package/dist/infrastructure/node-credentials.d.ts +45 -0
- package/dist/infrastructure/node-credentials.d.ts.map +1 -0
- package/dist/infrastructure/node-credentials.js +80 -0
- package/dist/infrastructure/node-credentials.js.map +1 -0
- package/dist/infrastructure/orphan-containers.d.ts +99 -0
- package/dist/infrastructure/orphan-containers.d.ts.map +1 -0
- package/dist/infrastructure/orphan-containers.js +106 -0
- package/dist/infrastructure/orphan-containers.js.map +1 -0
- package/dist/infrastructure/phantom-endpoint-janitor.d.ts +92 -0
- package/dist/infrastructure/phantom-endpoint-janitor.d.ts.map +1 -0
- package/dist/infrastructure/phantom-endpoint-janitor.js +199 -0
- package/dist/infrastructure/phantom-endpoint-janitor.js.map +1 -0
- package/dist/infrastructure/presets/gateway-openresty.d.ts.map +1 -1
- package/dist/infrastructure/presets/gateway-openresty.js +29 -3
- package/dist/infrastructure/presets/gateway-openresty.js.map +1 -1
- package/dist/infrastructure/presets/index.d.ts.map +1 -1
- package/dist/infrastructure/presets/index.js +2 -0
- package/dist/infrastructure/presets/index.js.map +1 -1
- package/dist/infrastructure/presets/minio.d.ts.map +1 -1
- package/dist/infrastructure/presets/minio.js +36 -3
- 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 +78 -5
- package/dist/infrastructure/presets/postgres.js.map +1 -1
- package/dist/infrastructure/presets/redis.d.ts.map +1 -1
- package/dist/infrastructure/presets/redis.js +23 -4
- package/dist/infrastructure/presets/redis.js.map +1 -1
- package/dist/infrastructure/presets/registry.d.ts.map +1 -1
- package/dist/infrastructure/presets/registry.js +85 -4
- package/dist/infrastructure/presets/registry.js.map +1 -1
- package/dist/infrastructure/presets/tor.d.ts +112 -0
- package/dist/infrastructure/presets/tor.d.ts.map +1 -0
- package/dist/infrastructure/presets/tor.js +185 -0
- package/dist/infrastructure/presets/tor.js.map +1 -0
- package/dist/infrastructure/presets/torrc.d.ts +54 -0
- package/dist/infrastructure/presets/torrc.d.ts.map +1 -0
- package/dist/infrastructure/presets/torrc.js +153 -0
- package/dist/infrastructure/presets/torrc.js.map +1 -0
- package/dist/infrastructure/presets/types.d.ts +17 -0
- package/dist/infrastructure/presets/types.d.ts.map +1 -1
- package/dist/infrastructure/provisioning-outcome.d.ts +85 -0
- package/dist/infrastructure/provisioning-outcome.d.ts.map +1 -0
- package/dist/infrastructure/provisioning-outcome.js +122 -0
- package/dist/infrastructure/provisioning-outcome.js.map +1 -0
- package/dist/infrastructure/server-registry.d.ts +27 -0
- package/dist/infrastructure/server-registry.d.ts.map +1 -1
- package/dist/infrastructure/server-registry.js +60 -5
- package/dist/infrastructure/server-registry.js.map +1 -1
- package/dist/infrastructure/service-binding.d.ts +60 -0
- package/dist/infrastructure/service-binding.d.ts.map +1 -0
- package/dist/infrastructure/service-binding.js +90 -0
- package/dist/infrastructure/service-binding.js.map +1 -0
- package/dist/infrastructure/service-credentials.d.ts +105 -0
- package/dist/infrastructure/service-credentials.d.ts.map +1 -0
- package/dist/infrastructure/service-credentials.js +141 -0
- package/dist/infrastructure/service-credentials.js.map +1 -0
- package/dist/infrastructure/service-resolver.d.ts +191 -12
- package/dist/infrastructure/service-resolver.d.ts.map +1 -1
- package/dist/infrastructure/service-resolver.js +521 -60
- package/dist/infrastructure/service-resolver.js.map +1 -1
- package/dist/infrastructure/shipped-config.d.ts +43 -0
- package/dist/infrastructure/shipped-config.d.ts.map +1 -0
- package/dist/infrastructure/shipped-config.js +159 -0
- package/dist/infrastructure/shipped-config.js.map +1 -0
- package/dist/infrastructure/stack-infra-manager.d.ts +7 -1
- package/dist/infrastructure/stack-infra-manager.d.ts.map +1 -1
- package/dist/infrastructure/stack-infra-manager.js +32 -14
- package/dist/infrastructure/stack-infra-manager.js.map +1 -1
- package/dist/infrastructure/types.d.ts +278 -6
- package/dist/infrastructure/types.d.ts.map +1 -1
- package/dist/mcp/mcp-bridge.d.ts.map +1 -1
- package/dist/mcp/mcp-bridge.js.map +1 -1
- package/dist/mcp/tool-groups/apps.tools.d.ts +2 -1
- package/dist/mcp/tool-groups/apps.tools.d.ts.map +1 -1
- package/dist/mcp/tool-groups/apps.tools.js +2 -2
- package/dist/mcp/tool-groups/apps.tools.js.map +1 -1
- package/dist/mcp/tool-groups/infra.tools.d.ts +16 -2
- package/dist/mcp/tool-groups/infra.tools.d.ts.map +1 -1
- package/dist/mcp/tool-groups/infra.tools.js +51 -41
- package/dist/mcp/tool-groups/infra.tools.js.map +1 -1
- package/dist/mcp/tool-groups/kb.tools.d.ts.map +1 -1
- package/dist/mcp/tool-groups/kb.tools.js +4 -6
- package/dist/mcp/tool-groups/kb.tools.js.map +1 -1
- package/dist/mcp/tool-groups/management.tools.d.ts +20 -3
- package/dist/mcp/tool-groups/management.tools.d.ts.map +1 -1
- package/dist/mcp/tool-groups/management.tools.js +158 -125
- package/dist/mcp/tool-groups/management.tools.js.map +1 -1
- package/dist/mcp/tool-groups/monitoring.tools.d.ts +10 -1
- package/dist/mcp/tool-groups/monitoring.tools.d.ts.map +1 -1
- package/dist/mcp/tool-groups/monitoring.tools.js +65 -18
- package/dist/mcp/tool-groups/monitoring.tools.js.map +1 -1
- package/dist/mcp/unavailable-tools.d.ts +35 -0
- package/dist/mcp/unavailable-tools.d.ts.map +1 -0
- package/dist/mcp/unavailable-tools.js +59 -0
- package/dist/mcp/unavailable-tools.js.map +1 -0
- package/dist/monitoring/app-health.indicator.d.ts.map +1 -1
- package/dist/monitoring/app-health.indicator.js +12 -0
- package/dist/monitoring/app-health.indicator.js.map +1 -1
- package/dist/monitoring/desktop-notifier.d.ts +26 -0
- package/dist/monitoring/desktop-notifier.d.ts.map +1 -0
- package/dist/monitoring/desktop-notifier.js +49 -0
- package/dist/monitoring/desktop-notifier.js.map +1 -0
- package/dist/monitoring/docker-health.indicator.d.ts +17 -1
- package/dist/monitoring/docker-health.indicator.d.ts.map +1 -1
- package/dist/monitoring/docker-health.indicator.js +38 -8
- package/dist/monitoring/docker-health.indicator.js.map +1 -1
- package/dist/monitoring/event-loop-stall.indicator.d.ts +26 -0
- package/dist/monitoring/event-loop-stall.indicator.d.ts.map +1 -0
- package/dist/monitoring/event-loop-stall.indicator.js +47 -0
- package/dist/monitoring/event-loop-stall.indicator.js.map +1 -0
- package/dist/monitoring/event-loop-watch.d.ts +124 -0
- package/dist/monitoring/event-loop-watch.d.ts.map +1 -0
- package/dist/monitoring/event-loop-watch.js +179 -0
- package/dist/monitoring/event-loop-watch.js.map +1 -0
- package/dist/monitoring/host-disk.d.ts +6 -0
- package/dist/monitoring/host-disk.d.ts.map +1 -0
- package/dist/monitoring/host-disk.js +26 -0
- package/dist/monitoring/host-disk.js.map +1 -0
- package/dist/monitoring/log-line.d.ts +188 -0
- package/dist/monitoring/log-line.d.ts.map +1 -0
- package/dist/monitoring/log-line.js +458 -0
- package/dist/monitoring/log-line.js.map +1 -0
- package/dist/monitoring/log-manager.d.ts +89 -8
- package/dist/monitoring/log-manager.d.ts.map +1 -1
- package/dist/monitoring/log-manager.js +246 -77
- package/dist/monitoring/log-manager.js.map +1 -1
- package/dist/observability/index.d.ts +4 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +3 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/metrics-bridge.d.ts +87 -0
- package/dist/observability/metrics-bridge.d.ts.map +1 -0
- package/dist/observability/metrics-bridge.js +295 -0
- package/dist/observability/metrics-bridge.js.map +1 -0
- package/dist/observability/metrics-server.d.ts +68 -0
- package/dist/observability/metrics-server.d.ts.map +1 -0
- package/dist/observability/metrics-server.js +146 -0
- package/dist/observability/metrics-server.js.map +1 -0
- package/dist/orchestrator/app-handle.d.ts +170 -3
- package/dist/orchestrator/app-handle.d.ts.map +1 -1
- package/dist/orchestrator/app-handle.js +177 -3
- package/dist/orchestrator/app-handle.js.map +1 -1
- package/dist/orchestrator/app-health.d.ts +33 -0
- package/dist/orchestrator/app-health.d.ts.map +1 -0
- package/dist/orchestrator/app-health.js +74 -0
- package/dist/orchestrator/app-health.js.map +1 -0
- package/dist/orchestrator/app-traffic.d.ts +14 -0
- package/dist/orchestrator/app-traffic.d.ts.map +1 -0
- package/dist/orchestrator/app-traffic.js +33 -0
- package/dist/orchestrator/app-traffic.js.map +1 -0
- package/dist/orchestrator/bootstrap-loader-child.d.ts +19 -0
- package/dist/orchestrator/bootstrap-loader-child.d.ts.map +1 -0
- package/dist/orchestrator/bootstrap-loader-child.js +43 -0
- package/dist/orchestrator/bootstrap-loader-child.js.map +1 -0
- package/dist/orchestrator/bootstrap-loader.d.ts +72 -0
- package/dist/orchestrator/bootstrap-loader.d.ts.map +1 -1
- package/dist/orchestrator/bootstrap-loader.js +350 -5
- package/dist/orchestrator/bootstrap-loader.js.map +1 -1
- package/dist/orchestrator/bootstrap-process.d.ts +148 -4
- package/dist/orchestrator/bootstrap-process.d.ts.map +1 -1
- package/dist/orchestrator/bootstrap-process.js +496 -18
- package/dist/orchestrator/bootstrap-process.js.map +1 -1
- package/dist/orchestrator/build-service.d.ts +50 -3
- package/dist/orchestrator/build-service.d.ts.map +1 -1
- package/dist/orchestrator/build-service.js +357 -85
- package/dist/orchestrator/build-service.js.map +1 -1
- package/dist/orchestrator/call-exposed-service.d.ts +7 -0
- package/dist/orchestrator/call-exposed-service.d.ts.map +1 -0
- package/dist/orchestrator/call-exposed-service.js +50 -0
- package/dist/orchestrator/call-exposed-service.js.map +1 -0
- package/dist/orchestrator/classic-launcher.d.ts +1 -0
- package/dist/orchestrator/classic-launcher.d.ts.map +1 -1
- package/dist/orchestrator/classic-launcher.js +34 -3
- package/dist/orchestrator/classic-launcher.js.map +1 -1
- package/dist/orchestrator/file-watcher.d.ts +78 -1
- package/dist/orchestrator/file-watcher.d.ts.map +1 -1
- package/dist/orchestrator/file-watcher.js +240 -43
- package/dist/orchestrator/file-watcher.js.map +1 -1
- package/dist/orchestrator/module-worker-process.d.ts.map +1 -1
- package/dist/orchestrator/module-worker-process.js +10 -0
- package/dist/orchestrator/module-worker-process.js.map +1 -1
- package/dist/orchestrator/orchestrator.service.d.ts +540 -7
- package/dist/orchestrator/orchestrator.service.d.ts.map +1 -1
- package/dist/orchestrator/orchestrator.service.js +2106 -242
- package/dist/orchestrator/orchestrator.service.js.map +1 -1
- package/dist/orchestrator/owned-pids.d.ts +83 -0
- package/dist/orchestrator/owned-pids.d.ts.map +1 -0
- package/dist/orchestrator/owned-pids.js +93 -0
- package/dist/orchestrator/owned-pids.js.map +1 -0
- package/dist/orchestrator/port-conflict.d.ts +102 -0
- package/dist/orchestrator/port-conflict.d.ts.map +1 -0
- package/dist/orchestrator/port-conflict.js +131 -0
- package/dist/orchestrator/port-conflict.js.map +1 -0
- package/dist/orchestrator/process-janitor.d.ts +227 -0
- package/dist/orchestrator/process-janitor.d.ts.map +1 -0
- package/dist/orchestrator/process-janitor.js +495 -0
- package/dist/orchestrator/process-janitor.js.map +1 -0
- package/dist/orchestrator/ps-metrics.d.ts +37 -0
- package/dist/orchestrator/ps-metrics.d.ts.map +1 -0
- package/dist/orchestrator/ps-metrics.js +60 -0
- package/dist/orchestrator/ps-metrics.js.map +1 -0
- package/dist/orchestrator/service-router.d.ts +58 -2
- package/dist/orchestrator/service-router.d.ts.map +1 -1
- package/dist/orchestrator/service-router.js +157 -25
- package/dist/orchestrator/service-router.js.map +1 -1
- package/dist/orchestrator/topology-query.d.ts +49 -0
- package/dist/orchestrator/topology-query.d.ts.map +1 -0
- package/dist/orchestrator/topology-query.js +54 -0
- package/dist/orchestrator/topology-query.js.map +1 -0
- package/dist/project/artifact-builder.d.ts +174 -3
- package/dist/project/artifact-builder.d.ts.map +1 -1
- package/dist/project/artifact-builder.js +454 -42
- package/dist/project/artifact-builder.js.map +1 -1
- package/dist/project/build-decision.d.ts +58 -0
- package/dist/project/build-decision.d.ts.map +1 -0
- package/dist/project/build-decision.js +59 -0
- package/dist/project/build-decision.js.map +1 -0
- package/dist/project/config-resolver.d.ts +6 -4
- package/dist/project/config-resolver.d.ts.map +1 -1
- package/dist/project/config-resolver.js +158 -78
- package/dist/project/config-resolver.js.map +1 -1
- package/dist/project/declared-config.d.ts +42 -0
- package/dist/project/declared-config.d.ts.map +1 -0
- package/dist/project/declared-config.js +60 -0
- package/dist/project/declared-config.js.map +1 -0
- package/dist/project/dependency-analyzer.d.ts.map +1 -1
- package/dist/project/dependency-analyzer.js.map +1 -1
- package/dist/project/deploy-phases.d.ts +35 -0
- package/dist/project/deploy-phases.d.ts.map +1 -0
- package/dist/project/deploy-phases.js +75 -0
- package/dist/project/deploy-phases.js.map +1 -0
- package/dist/project/exec-in-group.d.ts +49 -0
- package/dist/project/exec-in-group.d.ts.map +1 -0
- package/dist/project/exec-in-group.js +100 -0
- package/dist/project/exec-in-group.js.map +1 -0
- package/dist/project/node-app-config.d.ts +101 -0
- package/dist/project/node-app-config.d.ts.map +1 -0
- package/dist/project/node-app-config.js +134 -0
- package/dist/project/node-app-config.js.map +1 -0
- package/dist/project/node-app-health.d.ts +76 -0
- package/dist/project/node-app-health.d.ts.map +1 -0
- package/dist/project/node-app-health.js +119 -0
- package/dist/project/node-app-health.js.map +1 -0
- package/dist/project/operator-account.d.ts +287 -0
- package/dist/project/operator-account.d.ts.map +1 -0
- package/dist/project/operator-account.js +373 -0
- package/dist/project/operator-account.js.map +1 -0
- package/dist/project/registry.d.ts +46 -8
- package/dist/project/registry.d.ts.map +1 -1
- package/dist/project/registry.js +238 -40
- package/dist/project/registry.js.map +1 -1
- package/dist/project/requirements-scanner.d.ts +1 -0
- package/dist/project/requirements-scanner.d.ts.map +1 -1
- package/dist/project/requirements-scanner.js +28 -3
- package/dist/project/requirements-scanner.js.map +1 -1
- package/dist/project/stack-env.d.ts +37 -0
- package/dist/project/stack-env.d.ts.map +1 -0
- package/dist/project/stack-env.js +85 -0
- package/dist/project/stack-env.js.map +1 -0
- package/dist/project/stand-containers.d.ts +4 -0
- package/dist/project/stand-containers.d.ts.map +1 -0
- package/dist/project/stand-containers.js +27 -0
- package/dist/project/stand-containers.js.map +1 -0
- package/dist/project/working-tree.d.ts +62 -0
- package/dist/project/working-tree.d.ts.map +1 -0
- package/dist/project/working-tree.js +101 -0
- package/dist/project/working-tree.js.map +1 -0
- package/dist/release/artifact-store.d.ts +360 -0
- package/dist/release/artifact-store.d.ts.map +1 -0
- package/dist/release/artifact-store.js +1040 -0
- package/dist/release/artifact-store.js.map +1 -0
- package/dist/release/attest-on-node.d.ts +92 -0
- package/dist/release/attest-on-node.d.ts.map +1 -0
- package/dist/release/attest-on-node.js +207 -0
- package/dist/release/attest-on-node.js.map +1 -0
- package/dist/release/attest.d.ts +135 -0
- package/dist/release/attest.d.ts.map +1 -0
- package/dist/release/attest.js +199 -0
- package/dist/release/attest.js.map +1 -0
- package/dist/release/build-run.d.ts +151 -0
- package/dist/release/build-run.d.ts.map +1 -0
- package/dist/release/build-run.js +609 -0
- package/dist/release/build-run.js.map +1 -0
- package/dist/release/builder.d.ts +57 -0
- package/dist/release/builder.d.ts.map +1 -0
- package/dist/release/builder.js +120 -0
- package/dist/release/builder.js.map +1 -0
- package/dist/release/daemon-omni.d.ts +41 -0
- package/dist/release/daemon-omni.d.ts.map +1 -0
- package/dist/release/daemon-omni.js +59 -0
- package/dist/release/daemon-omni.js.map +1 -0
- package/dist/release/definition-inputs.d.ts +34 -0
- package/dist/release/definition-inputs.d.ts.map +1 -0
- package/dist/release/definition-inputs.js +90 -0
- package/dist/release/definition-inputs.js.map +1 -0
- package/dist/release/delivered.d.ts +53 -0
- package/dist/release/delivered.d.ts.map +1 -0
- package/dist/release/delivered.js +81 -0
- package/dist/release/delivered.js.map +1 -0
- package/dist/release/layout.d.ts +61 -0
- package/dist/release/layout.d.ts.map +1 -0
- package/dist/release/layout.js +114 -0
- package/dist/release/layout.js.map +1 -0
- package/dist/release/load.d.ts +44 -0
- package/dist/release/load.d.ts.map +1 -0
- package/dist/release/load.js +84 -0
- package/dist/release/load.js.map +1 -0
- package/dist/release/manifest.d.ts +299 -0
- package/dist/release/manifest.d.ts.map +1 -0
- package/dist/release/manifest.js +176 -0
- package/dist/release/manifest.js.map +1 -0
- package/dist/release/migrations.d.ts +32 -0
- package/dist/release/migrations.d.ts.map +1 -0
- package/dist/release/migrations.js +51 -0
- package/dist/release/migrations.js.map +1 -0
- package/dist/release/publish.d.ts +71 -0
- package/dist/release/publish.d.ts.map +1 -0
- package/dist/release/publish.js +102 -0
- package/dist/release/publish.js.map +1 -0
- package/dist/release/store.d.ts +174 -0
- package/dist/release/store.d.ts.map +1 -0
- package/dist/release/store.js +257 -0
- package/dist/release/store.js.map +1 -0
- package/dist/services/alert.rpc-service.d.ts +11 -15
- package/dist/services/alert.rpc-service.d.ts.map +1 -1
- package/dist/services/alert.rpc-service.js +29 -14
- package/dist/services/alert.rpc-service.js.map +1 -1
- package/dist/services/alert.service.d.ts +96 -59
- package/dist/services/alert.service.d.ts.map +1 -1
- package/dist/services/alert.service.js +455 -70
- package/dist/services/alert.service.js.map +1 -1
- package/dist/services/anonymous-input.d.ts +26 -0
- package/dist/services/anonymous-input.d.ts.map +1 -0
- package/dist/services/anonymous-input.js +44 -0
- package/dist/services/anonymous-input.js.map +1 -0
- package/dist/services/audit.rpc-service.d.ts +27 -0
- package/dist/services/audit.rpc-service.d.ts.map +1 -0
- package/dist/services/audit.rpc-service.js +57 -0
- package/dist/services/audit.rpc-service.js.map +1 -0
- package/dist/services/audit.service.d.ts +165 -0
- package/dist/services/audit.service.d.ts.map +1 -0
- package/dist/services/audit.service.js +242 -0
- package/dist/services/audit.service.js.map +1 -0
- package/dist/services/auth-context.d.ts +21 -1
- package/dist/services/auth-context.d.ts.map +1 -1
- package/dist/services/auth-context.js +51 -5
- package/dist/services/auth-context.js.map +1 -1
- package/dist/services/auth.rpc-service.d.ts +0 -1
- package/dist/services/auth.rpc-service.d.ts.map +1 -1
- package/dist/services/auth.rpc-service.js +23 -9
- package/dist/services/auth.rpc-service.js.map +1 -1
- package/dist/services/auth.service.d.ts +47 -33
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +163 -24
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/backup-pipeline.d.ts +97 -0
- package/dist/services/backup-pipeline.d.ts.map +1 -0
- package/dist/services/backup-pipeline.js +286 -0
- package/dist/services/backup-pipeline.js.map +1 -0
- package/dist/services/backup-schedule.d.ts +69 -0
- package/dist/services/backup-schedule.d.ts.map +1 -0
- package/dist/services/backup-schedule.js +132 -0
- package/dist/services/backup-schedule.js.map +1 -0
- package/dist/services/backup.rpc-service.d.ts +31 -2
- package/dist/services/backup.rpc-service.d.ts.map +1 -1
- package/dist/services/backup.rpc-service.js +53 -0
- package/dist/services/backup.rpc-service.js.map +1 -1
- package/dist/services/backup.service.d.ts +458 -14
- package/dist/services/backup.service.d.ts.map +1 -1
- package/dist/services/backup.service.js +1368 -170
- package/dist/services/backup.service.js.map +1 -1
- package/dist/services/bundle-build-worker.d.ts +19 -0
- package/dist/services/bundle-build-worker.d.ts.map +1 -0
- package/dist/services/bundle-build-worker.js +40 -0
- package/dist/services/bundle-build-worker.js.map +1 -0
- package/dist/services/bundle-builder.d.ts +487 -0
- package/dist/services/bundle-builder.d.ts.map +1 -0
- package/dist/services/bundle-builder.js +1083 -0
- package/dist/services/bundle-builder.js.map +1 -0
- package/dist/services/bundle-worker-protocol.d.ts +19 -0
- package/dist/services/bundle-worker-protocol.d.ts.map +1 -0
- package/dist/services/bundle-worker-protocol.js +32 -0
- package/dist/services/bundle-worker-protocol.js.map +1 -0
- package/dist/services/deploy.rpc-service.d.ts +4 -1
- package/dist/services/deploy.rpc-service.d.ts.map +1 -1
- package/dist/services/deploy.rpc-service.js +10 -0
- package/dist/services/deploy.rpc-service.js.map +1 -1
- package/dist/services/deploy.service.d.ts +14 -24
- package/dist/services/deploy.service.d.ts.map +1 -1
- package/dist/services/deploy.service.js +46 -5
- package/dist/services/deploy.service.js.map +1 -1
- package/dist/services/discovery.rpc-service.d.ts +2 -1
- package/dist/services/discovery.rpc-service.d.ts.map +1 -1
- package/dist/services/discovery.rpc-service.js.map +1 -1
- package/dist/services/discovery.service.d.ts +32 -28
- package/dist/services/discovery.service.d.ts.map +1 -1
- package/dist/services/discovery.service.js +108 -133
- package/dist/services/discovery.service.js.map +1 -1
- package/dist/services/event-broadcaster.rpc-service.d.ts +36 -23
- package/dist/services/event-broadcaster.rpc-service.d.ts.map +1 -1
- package/dist/services/event-broadcaster.rpc-service.js +70 -32
- package/dist/services/event-broadcaster.rpc-service.js.map +1 -1
- package/dist/services/event-broadcaster.service.d.ts.map +1 -1
- package/dist/services/event-broadcaster.service.js.map +1 -1
- package/dist/services/fleet.rpc-service.d.ts +2 -1
- package/dist/services/fleet.rpc-service.d.ts.map +1 -1
- package/dist/services/fleet.rpc-service.js +3 -1
- package/dist/services/fleet.rpc-service.js.map +1 -1
- package/dist/services/fleet.service.d.ts +32 -34
- package/dist/services/fleet.service.d.ts.map +1 -1
- package/dist/services/fleet.service.js +66 -10
- package/dist/services/fleet.service.js.map +1 -1
- package/dist/services/health-check.rpc-service.d.ts +2 -1
- package/dist/services/health-check.rpc-service.d.ts.map +1 -1
- package/dist/services/health-check.rpc-service.js.map +1 -1
- package/dist/services/health-check.service.d.ts +50 -36
- package/dist/services/health-check.service.d.ts.map +1 -1
- package/dist/services/health-check.service.js +179 -182
- package/dist/services/health-check.service.js.map +1 -1
- package/dist/services/infrastructure.rpc-service.d.ts +297 -2
- package/dist/services/infrastructure.rpc-service.d.ts.map +1 -1
- package/dist/services/infrastructure.rpc-service.js +523 -11
- package/dist/services/infrastructure.rpc-service.js.map +1 -1
- package/dist/services/kubernetes.rpc-service.d.ts +2 -1
- package/dist/services/kubernetes.rpc-service.d.ts.map +1 -1
- package/dist/services/kubernetes.rpc-service.js.map +1 -1
- package/dist/services/kubernetes.service.d.ts +5 -39
- package/dist/services/kubernetes.service.d.ts.map +1 -1
- package/dist/services/kubernetes.service.js +29 -5
- package/dist/services/kubernetes.service.js.map +1 -1
- package/dist/services/local-bundle.d.ts +151 -0
- package/dist/services/local-bundle.d.ts.map +1 -0
- package/dist/services/local-bundle.js +233 -0
- package/dist/services/local-bundle.js.map +1 -0
- package/dist/services/lockout.d.ts +28 -0
- package/dist/services/lockout.d.ts.map +1 -0
- package/dist/services/lockout.js +41 -0
- package/dist/services/lockout.js.map +1 -0
- package/dist/services/log-collector.rpc-service.d.ts +16 -0
- package/dist/services/log-collector.rpc-service.d.ts.map +1 -1
- package/dist/services/log-collector.rpc-service.js +16 -0
- package/dist/services/log-collector.rpc-service.js.map +1 -1
- package/dist/services/log-collector.service.d.ts +172 -54
- package/dist/services/log-collector.service.d.ts.map +1 -1
- package/dist/services/log-collector.service.js +492 -102
- package/dist/services/log-collector.service.js.map +1 -1
- package/dist/services/log-retention.d.ts +50 -0
- package/dist/services/log-retention.d.ts.map +1 -0
- package/dist/services/log-retention.js +52 -0
- package/dist/services/log-retention.js.map +1 -0
- package/dist/services/maintenance-lock.d.ts +162 -0
- package/dist/services/maintenance-lock.d.ts.map +1 -0
- package/dist/services/maintenance-lock.js +316 -0
- package/dist/services/maintenance-lock.js.map +1 -0
- package/dist/services/master-address.d.ts +107 -0
- package/dist/services/master-address.d.ts.map +1 -0
- package/dist/services/master-address.js +154 -0
- package/dist/services/master-address.js.map +1 -0
- package/dist/services/migration-output.d.ts +16 -0
- package/dist/services/migration-output.d.ts.map +1 -0
- package/dist/services/migration-output.js +22 -0
- package/dist/services/migration-output.js.map +1 -0
- package/dist/services/netron-telemetry-transport.d.ts.map +1 -1
- package/dist/services/netron-telemetry-transport.js +0 -4
- package/dist/services/netron-telemetry-transport.js.map +1 -1
- package/dist/services/node-deploy-lease.d.ts +154 -0
- package/dist/services/node-deploy-lease.d.ts.map +1 -0
- package/dist/services/node-deploy-lease.js +386 -0
- package/dist/services/node-deploy-lease.js.map +1 -0
- package/dist/services/node-health.repository.d.ts +63 -4
- package/dist/services/node-health.repository.d.ts.map +1 -1
- package/dist/services/node-health.repository.js +108 -67
- package/dist/services/node-health.repository.js.map +1 -1
- package/dist/services/node-manager.rpc-service.d.ts +355 -10
- package/dist/services/node-manager.rpc-service.d.ts.map +1 -1
- package/dist/services/node-manager.rpc-service.js +730 -34
- package/dist/services/node-manager.rpc-service.js.map +1 -1
- package/dist/services/node-manager.service.d.ts +267 -95
- package/dist/services/node-manager.service.d.ts.map +1 -1
- package/dist/services/node-manager.service.js +806 -104
- package/dist/services/node-manager.service.js.map +1 -1
- package/dist/services/node-upgrade.d.ts +129 -0
- package/dist/services/node-upgrade.d.ts.map +1 -0
- package/dist/services/node-upgrade.js +161 -0
- package/dist/services/node-upgrade.js.map +1 -0
- package/dist/services/node-upgrade.service.d.ts +232 -0
- package/dist/services/node-upgrade.service.d.ts.map +1 -0
- package/dist/services/node-upgrade.service.js +468 -0
- package/dist/services/node-upgrade.service.js.map +1 -0
- package/dist/services/pipeline.rpc-service.d.ts +2 -1
- package/dist/services/pipeline.rpc-service.d.ts.map +1 -1
- 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 +125 -11
- package/dist/services/pipeline.service.js.map +1 -1
- package/dist/services/project.rpc-service.d.ts +137 -5
- package/dist/services/project.rpc-service.d.ts.map +1 -1
- package/dist/services/project.rpc-service.js +258 -22
- package/dist/services/project.rpc-service.js.map +1 -1
- package/dist/services/project.service.d.ts +680 -9
- package/dist/services/project.service.d.ts.map +1 -1
- package/dist/services/project.service.js +2914 -293
- package/dist/services/project.service.js.map +1 -1
- package/dist/services/redeploy-decision.d.ts +176 -0
- package/dist/services/redeploy-decision.d.ts.map +1 -0
- package/dist/services/redeploy-decision.js +142 -0
- package/dist/services/redeploy-decision.js.map +1 -0
- package/dist/services/release.rpc-service.d.ts +159 -0
- package/dist/services/release.rpc-service.d.ts.map +1 -0
- package/dist/services/release.rpc-service.js +395 -0
- package/dist/services/release.rpc-service.js.map +1 -0
- package/dist/services/release.service.d.ts +114 -0
- package/dist/services/release.service.d.ts.map +1 -0
- package/dist/services/release.service.js +208 -0
- package/dist/services/release.service.js.map +1 -0
- package/dist/services/remote-deployer.service.d.ts +569 -8
- package/dist/services/remote-deployer.service.d.ts.map +1 -1
- package/dist/services/remote-deployer.service.js +1618 -169
- package/dist/services/remote-deployer.service.js.map +1 -1
- package/dist/services/remote-ops.service.d.ts +51 -9
- package/dist/services/remote-ops.service.d.ts.map +1 -1
- package/dist/services/remote-ops.service.js +235 -39
- package/dist/services/remote-ops.service.js.map +1 -1
- package/dist/services/remote-provisioner.d.ts +122 -0
- package/dist/services/remote-provisioner.d.ts.map +1 -0
- package/dist/services/remote-provisioner.js +258 -0
- package/dist/services/remote-provisioner.js.map +1 -0
- package/dist/services/secrets.rpc-service.d.ts +51 -2
- package/dist/services/secrets.rpc-service.d.ts.map +1 -1
- package/dist/services/secrets.rpc-service.js +81 -2
- package/dist/services/secrets.rpc-service.js.map +1 -1
- package/dist/services/secrets.service.d.ts +108 -9
- package/dist/services/secrets.service.d.ts.map +1 -1
- package/dist/services/secrets.service.js +313 -48
- package/dist/services/secrets.service.js.map +1 -1
- package/dist/services/slave-storage.service.d.ts +107 -0
- package/dist/services/slave-storage.service.d.ts.map +1 -1
- package/dist/services/slave-storage.service.js +171 -2
- package/dist/services/slave-storage.service.js.map +1 -1
- package/dist/services/static-carry-forward.d.ts +85 -0
- package/dist/services/static-carry-forward.d.ts.map +1 -0
- package/dist/services/static-carry-forward.js +159 -0
- package/dist/services/static-carry-forward.js.map +1 -0
- package/dist/services/sync-policy.d.ts +167 -0
- package/dist/services/sync-policy.d.ts.map +1 -0
- package/dist/services/sync-policy.js +161 -0
- package/dist/services/sync-policy.js.map +1 -0
- package/dist/services/sync-summary.d.ts +39 -0
- package/dist/services/sync-summary.d.ts.map +1 -0
- package/dist/services/sync-summary.js +62 -0
- package/dist/services/sync-summary.js.map +1 -0
- package/dist/services/sync.rpc-service.d.ts +19 -7
- package/dist/services/sync.rpc-service.d.ts.map +1 -1
- package/dist/services/sync.rpc-service.js +36 -5
- package/dist/services/sync.rpc-service.js.map +1 -1
- package/dist/services/sync.service.d.ts +350 -18
- package/dist/services/sync.service.d.ts.map +1 -1
- package/dist/services/sync.service.js +864 -116
- package/dist/services/sync.service.js.map +1 -1
- package/dist/services/system-info.rpc-service.d.ts +2 -1
- package/dist/services/system-info.rpc-service.d.ts.map +1 -1
- package/dist/services/system-info.rpc-service.js.map +1 -1
- package/dist/services/system-info.service.d.ts +56 -68
- package/dist/services/system-info.service.d.ts.map +1 -1
- package/dist/services/system-info.service.js +240 -127
- package/dist/services/system-info.service.js.map +1 -1
- package/dist/services/telemetry.rpc-service.d.ts.map +1 -1
- package/dist/services/telemetry.rpc-service.js +9 -3
- package/dist/services/telemetry.rpc-service.js.map +1 -1
- package/dist/services/telemetry.service.d.ts +4 -2
- package/dist/services/telemetry.service.d.ts.map +1 -1
- package/dist/services/telemetry.service.js +4 -2
- package/dist/services/telemetry.service.js.map +1 -1
- package/dist/services/trace-collector.rpc-service.d.ts +2 -1
- package/dist/services/trace-collector.rpc-service.d.ts.map +1 -1
- package/dist/services/trace-collector.rpc-service.js.map +1 -1
- package/dist/services/trace-collector.service.d.ts +2 -41
- package/dist/services/trace-collector.service.d.ts.map +1 -1
- package/dist/services/trace-collector.service.js +27 -7
- package/dist/services/trace-collector.service.js.map +1 -1
- package/dist/services/wait-for-postgres.d.ts +28 -0
- package/dist/services/wait-for-postgres.d.ts.map +1 -0
- package/dist/services/wait-for-postgres.js +77 -0
- package/dist/services/wait-for-postgres.js.map +1 -0
- package/dist/shared/alert-expression.d.ts +60 -0
- package/dist/shared/alert-expression.d.ts.map +1 -0
- package/dist/shared/alert-expression.js +124 -0
- package/dist/shared/alert-expression.js.map +1 -0
- package/dist/shared/audit-outcome.d.ts +39 -0
- package/dist/shared/audit-outcome.d.ts.map +1 -0
- package/dist/shared/audit-outcome.js +45 -0
- package/dist/shared/audit-outcome.js.map +1 -0
- package/dist/shared/build-freshness.d.ts +59 -0
- package/dist/shared/build-freshness.d.ts.map +1 -0
- package/dist/shared/build-freshness.js +113 -0
- package/dist/shared/build-freshness.js.map +1 -0
- package/dist/shared/build-stamp.d.ts +26 -0
- package/dist/shared/build-stamp.d.ts.map +1 -0
- package/dist/shared/build-stamp.js +36 -0
- package/dist/shared/build-stamp.js.map +1 -0
- package/dist/shared/describe-error.d.ts +22 -0
- package/dist/shared/describe-error.d.ts.map +1 -0
- package/dist/shared/describe-error.js +39 -0
- package/dist/shared/describe-error.js.map +1 -0
- package/dist/shared/dto/alerts.d.ts +101 -0
- package/dist/shared/dto/alerts.d.ts.map +1 -0
- package/dist/shared/dto/alerts.js +9 -0
- package/dist/shared/dto/alerts.js.map +1 -0
- package/dist/shared/dto/auth.d.ts +49 -0
- package/dist/shared/dto/auth.d.ts.map +1 -0
- package/dist/shared/dto/auth.js +14 -0
- package/dist/shared/dto/auth.js.map +1 -0
- package/dist/shared/dto/backups.d.ts +16 -0
- package/dist/shared/dto/backups.d.ts.map +1 -0
- package/dist/shared/dto/backups.js +9 -0
- package/dist/shared/dto/backups.js.map +1 -0
- package/dist/shared/dto/deploy.d.ts +28 -0
- package/dist/shared/dto/deploy.d.ts.map +1 -0
- package/dist/shared/dto/deploy.js +8 -0
- package/dist/shared/dto/deploy.js.map +1 -0
- package/dist/shared/dto/discovery.d.ts +24 -0
- package/dist/shared/dto/discovery.d.ts.map +1 -0
- package/dist/shared/dto/discovery.js +9 -0
- package/dist/shared/dto/discovery.js.map +1 -0
- package/dist/shared/dto/fleet.d.ts +35 -0
- package/dist/shared/dto/fleet.d.ts.map +1 -0
- package/dist/shared/dto/fleet.js +8 -0
- package/dist/shared/dto/fleet.js.map +1 -0
- package/dist/shared/dto/health.d.ts +26 -0
- package/dist/shared/dto/health.d.ts.map +1 -0
- package/dist/shared/dto/health.js +9 -0
- package/dist/shared/dto/health.js.map +1 -0
- package/dist/shared/dto/kubernetes.d.ts +44 -0
- package/dist/shared/dto/kubernetes.d.ts.map +1 -0
- package/dist/shared/dto/kubernetes.js +9 -0
- package/dist/shared/dto/kubernetes.js.map +1 -0
- package/dist/shared/dto/logs.d.ts +77 -0
- package/dist/shared/dto/logs.d.ts.map +1 -0
- package/dist/shared/dto/logs.js +10 -0
- package/dist/shared/dto/logs.js.map +1 -0
- package/dist/shared/dto/metrics.d.ts +65 -0
- package/dist/shared/dto/metrics.d.ts.map +1 -0
- package/dist/shared/dto/metrics.js +17 -0
- package/dist/shared/dto/metrics.js.map +1 -0
- package/dist/shared/dto/nodes.d.ts +347 -0
- package/dist/shared/dto/nodes.d.ts.map +1 -0
- package/dist/shared/dto/nodes.js +8 -0
- package/dist/shared/dto/nodes.js.map +1 -0
- package/dist/shared/dto/pipelines.d.ts +53 -0
- package/dist/shared/dto/pipelines.d.ts.map +1 -0
- package/dist/shared/dto/pipelines.js +9 -0
- package/dist/shared/dto/pipelines.js.map +1 -0
- package/dist/shared/dto/project.d.ts +143 -9
- package/dist/shared/dto/project.d.ts.map +1 -1
- package/dist/shared/dto/services.d.ts +855 -7
- package/dist/shared/dto/services.d.ts.map +1 -1
- package/dist/shared/dto/system-info.d.ts +93 -0
- package/dist/shared/dto/system-info.d.ts.map +1 -0
- package/dist/shared/dto/system-info.js +9 -0
- package/dist/shared/dto/system-info.js.map +1 -0
- package/dist/shared/dto/traces.d.ts +49 -0
- package/dist/shared/dto/traces.d.ts.map +1 -0
- package/dist/shared/dto/traces.js +9 -0
- package/dist/shared/dto/traces.js.map +1 -0
- package/dist/shared/env-config.d.ts +74 -0
- package/dist/shared/env-config.d.ts.map +1 -0
- package/dist/shared/env-config.js +99 -0
- package/dist/shared/env-config.js.map +1 -0
- package/dist/shared/events.d.ts +45 -39
- package/dist/shared/events.d.ts.map +1 -1
- package/dist/shared/events.js +6 -0
- package/dist/shared/events.js.map +1 -1
- package/dist/shared/format.d.ts +1 -1
- package/dist/shared/format.d.ts.map +1 -1
- package/dist/shared/format.js +4 -0
- package/dist/shared/format.js.map +1 -1
- package/dist/shared/local-infra-host.d.ts +28 -0
- package/dist/shared/local-infra-host.d.ts.map +1 -0
- package/dist/shared/local-infra-host.js +28 -0
- package/dist/shared/local-infra-host.js.map +1 -0
- package/dist/shared/node-check.d.ts +37 -0
- package/dist/shared/node-check.d.ts.map +1 -0
- package/dist/shared/node-check.js +41 -0
- package/dist/shared/node-check.js.map +1 -0
- package/dist/shared/paths.d.ts +29 -0
- package/dist/shared/paths.d.ts.map +1 -0
- package/dist/shared/paths.js +54 -0
- package/dist/shared/paths.js.map +1 -0
- package/dist/shared/pnpm.d.ts +29 -0
- package/dist/shared/pnpm.d.ts.map +1 -0
- package/dist/shared/pnpm.js +57 -0
- package/dist/shared/pnpm.js.map +1 -0
- package/dist/shared/private-files.d.ts +29 -0
- package/dist/shared/private-files.d.ts.map +1 -0
- package/dist/shared/private-files.js +109 -0
- package/dist/shared/private-files.js.map +1 -0
- package/dist/shared/redact-env.d.ts +24 -0
- package/dist/shared/redact-env.d.ts.map +1 -0
- package/dist/shared/redact-env.js +36 -0
- package/dist/shared/redact-env.js.map +1 -0
- package/dist/shared/release-reading.d.ts +85 -0
- package/dist/shared/release-reading.d.ts.map +1 -0
- package/dist/shared/release-reading.js +81 -0
- package/dist/shared/release-reading.js.map +1 -0
- package/dist/shared/roles.d.ts +58 -3
- package/dist/shared/roles.d.ts.map +1 -1
- package/dist/shared/roles.js +55 -0
- package/dist/shared/roles.js.map +1 -1
- package/dist/shared/rpcauth.d.ts +13 -0
- package/dist/shared/rpcauth.d.ts.map +1 -0
- package/dist/shared/rpcauth.js +23 -0
- package/dist/shared/rpcauth.js.map +1 -0
- package/dist/shared/shell-escape.d.ts +9 -0
- package/dist/shared/shell-escape.d.ts.map +1 -0
- package/dist/shared/shell-escape.js +11 -0
- package/dist/shared/shell-escape.js.map +1 -0
- package/dist/shared/sync-reading.d.ts +45 -0
- package/dist/shared/sync-reading.d.ts.map +1 -0
- package/dist/shared/sync-reading.js +42 -0
- package/dist/shared/sync-reading.js.map +1 -0
- package/dist/shared/tokens.d.ts +19 -0
- package/dist/shared/tokens.d.ts.map +1 -1
- package/dist/shared/tokens.js +28 -0
- package/dist/shared/tokens.js.map +1 -1
- package/dist/webapp/webapp.service.d.ts +33 -2
- package/dist/webapp/webapp.service.d.ts.map +1 -1
- package/dist/webapp/webapp.service.js +143 -31
- package/dist/webapp/webapp.service.js.map +1 -1
- package/dist/workers/health-monitor-process.d.ts.map +1 -1
- package/dist/workers/health-monitor-process.js +10 -0
- package/dist/workers/health-monitor-process.js.map +1 -1
- package/dist/workers/health-monitor.service.d.ts +45 -3
- package/dist/workers/health-monitor.service.d.ts.map +1 -1
- package/dist/workers/health-monitor.service.js +156 -26
- package/dist/workers/health-monitor.service.js.map +1 -1
- package/dist/workers/system-worker-manager.d.ts +43 -0
- package/dist/workers/system-worker-manager.d.ts.map +1 -1
- package/dist/workers/system-worker-manager.js +150 -3
- package/dist/workers/system-worker-manager.js.map +1 -1
- package/dist/workers/types.d.ts +11 -2
- package/dist/workers/types.d.ts.map +1 -1
- package/package.json +64 -29
- package/webapp/dist/BUILD.json +5 -0
- package/webapp/dist/assets/FormControlLabel-BrH2diyl.js +1 -0
- package/webapp/dist/assets/Grid-BZ7xhoHQ.js +1 -0
- package/webapp/dist/assets/Switch-DGSAxQPM.js +1 -0
- package/webapp/dist/assets/alerts-sXqHJbsa.js +1 -0
- package/webapp/dist/assets/apps-B_Ah8Flh.js +1 -0
- package/webapp/dist/assets/audit-YXihwyui.js +1 -0
- package/webapp/dist/assets/client-CGbBvy9k.js +1 -0
- package/webapp/dist/assets/constants-veKGFkC6.js +1 -0
- package/webapp/dist/assets/containers-Di4NOTLf.js +2 -0
- package/webapp/dist/assets/daemon-memory-CCPZ4cV_.js +1 -0
- package/webapp/dist/assets/dashboard-Cfuf95N3.js +1 -0
- package/webapp/dist/assets/dashboard-builder-CowaYb-M.js +1 -0
- package/webapp/dist/assets/deploy-release-dialog-D6C-XcKY.js +1 -0
- package/webapp/dist/assets/deployments-ChTq5kCw.js +1 -0
- package/webapp/dist/assets/detail-BsGWv7Dj.js +1 -0
- package/webapp/dist/assets/detail-CyVf_cw5.js +2 -0
- package/webapp/dist/assets/detail-D027j6aO.js +8 -0
- package/webapp/dist/assets/formatters-BqjL73N3.js +1 -0
- package/webapp/dist/assets/index-B8AHIPc-.css +1 -0
- package/webapp/dist/assets/index-DiZbrwxT.js +414 -0
- package/webapp/dist/assets/logs-L2b8Oqmo.js +12 -0
- package/webapp/dist/assets/maplibre-gl-MlmG2kbn.js +801 -0
- package/webapp/dist/assets/metrics-CQgjz2Lz.js +2 -0
- package/webapp/dist/assets/nodes-Nwia2Ty6.js +7 -0
- package/webapp/dist/assets/pipelines-DCu_rXOr.js +4 -0
- package/webapp/dist/assets/projects-Bb4aV76h.js +1 -0
- package/webapp/dist/assets/react-CwJFpaho.js +1 -0
- package/webapp/dist/assets/react-apexcharts.esm-Dy0Fez42.js +1956 -0
- package/webapp/dist/assets/release-bits-Dj4EOhhb.js +1 -0
- package/webapp/dist/assets/release-build-panel-D6OCVlhT.js +1 -0
- package/webapp/dist/assets/releases-CnAt3yO6.js +2 -0
- package/webapp/dist/assets/rolldown-runtime-hePW80VL.js +1 -0
- package/webapp/dist/assets/settings-DU-mjiwb.js +1 -0
- package/webapp/dist/assets/settled-pair-C7SjZuns.js +1 -0
- package/webapp/dist/assets/sign-in-Bcvjrr4C.js +1 -0
- package/webapp/dist/assets/stacks-B-e8p50I.js +1 -0
- package/webapp/dist/assets/sync-reading-C3PnJ7AX.js +1 -0
- package/webapp/dist/assets/system-info-BtE3dgfw.js +1 -0
- package/webapp/dist/assets/topology-Cwch-uF1.js +12 -0
- package/webapp/dist/assets/topology-DLioOiRN.css +1 -0
- package/webapp/dist/assets/traces-BbShR-4P.js +1 -0
- package/webapp/dist/assets/use-stack-context-CZUgPq88.js +1 -0
- package/webapp/dist/index.html +6 -7
- package/dist/commands/dev.d.ts +0 -23
- package/dist/commands/dev.d.ts.map +0 -1
- package/dist/commands/dev.js +0 -76
- package/dist/commands/dev.js.map +0 -1
- package/dist/config/define-app.d.ts +0 -6
- package/dist/config/define-app.d.ts.map +0 -1
- package/dist/config/define-app.js +0 -38
- package/dist/config/define-app.js.map +0 -1
- package/dist/infrastructure/gateway-generator.d.ts +0 -63
- package/dist/infrastructure/gateway-generator.d.ts.map +0 -1
- package/dist/infrastructure/gateway-generator.js +0 -253
- package/dist/infrastructure/gateway-generator.js.map +0 -1
- package/dist/monitoring/health.service.d.ts +0 -14
- package/dist/monitoring/health.service.d.ts.map +0 -1
- package/dist/monitoring/health.service.js +0 -50
- package/dist/monitoring/health.service.js.map +0 -1
- package/dist/monitoring/metrics.service.d.ts +0 -14
- package/dist/monitoring/metrics.service.d.ts.map +0 -1
- package/dist/monitoring/metrics.service.js +0 -40
- package/dist/monitoring/metrics.service.js.map +0 -1
- package/dist/orchestrator/bootstrap-runner.d.ts +0 -15
- package/dist/orchestrator/bootstrap-runner.d.ts.map +0 -1
- package/dist/orchestrator/bootstrap-runner.js +0 -152
- package/dist/orchestrator/bootstrap-runner.js.map +0 -1
- package/dist/orchestrator/topology-proxy.d.ts +0 -65
- package/dist/orchestrator/topology-proxy.d.ts.map +0 -1
- package/dist/orchestrator/topology-proxy.js +0 -209
- package/dist/orchestrator/topology-proxy.js.map +0 -1
- package/dist/orchestrator/topology-relay.d.ts +0 -111
- package/dist/orchestrator/topology-relay.d.ts.map +0 -1
- package/dist/orchestrator/topology-relay.js +0 -255
- package/dist/orchestrator/topology-relay.js.map +0 -1
- package/dist/services/auth-middleware.d.ts +0 -47
- package/dist/services/auth-middleware.d.ts.map +0 -1
- package/dist/services/auth-middleware.js +0 -158
- package/dist/services/auth-middleware.js.map +0 -1
- package/dist/services/environment.rpc-service.d.ts +0 -22
- package/dist/services/environment.rpc-service.d.ts.map +0 -1
- package/dist/services/environment.rpc-service.js +0 -65
- package/dist/services/environment.rpc-service.js.map +0 -1
- package/dist/services/environment.service.d.ts +0 -87
- package/dist/services/environment.service.d.ts.map +0 -1
- package/dist/services/environment.service.js +0 -220
- package/dist/services/environment.service.js.map +0 -1
- package/dist/services/metrics-collector.service.d.ts +0 -103
- package/dist/services/metrics-collector.service.d.ts.map +0 -1
- package/dist/services/metrics-collector.service.js +0 -235
- package/dist/services/metrics-collector.service.js.map +0 -1
- package/dist/services/metrics.rpc-service.d.ts +0 -41
- package/dist/services/metrics.rpc-service.d.ts.map +0 -1
- package/dist/services/metrics.rpc-service.js +0 -90
- package/dist/services/metrics.rpc-service.js.map +0 -1
- package/dist/services/metrics.service.d.ts +0 -72
- package/dist/services/metrics.service.d.ts.map +0 -1
- package/dist/services/metrics.service.js +0 -185
- package/dist/services/metrics.service.js.map +0 -1
- package/dist/supervisor/omnitron-supervisor.d.ts +0 -21
- package/dist/supervisor/omnitron-supervisor.d.ts.map +0 -1
- package/dist/supervisor/omnitron-supervisor.js +0 -43
- package/dist/supervisor/omnitron-supervisor.js.map +0 -1
- package/dist/webapp/static-server.d.ts +0 -24
- package/dist/webapp/static-server.d.ts.map +0 -1
- package/dist/webapp/static-server.js +0 -152
- package/dist/webapp/static-server.js.map +0 -1
- package/webapp/dist/assets/Chip-BySxTjyN.js +0 -1
- package/webapp/dist/assets/DialogContentText-YQWiAVrU.js +0 -1
- package/webapp/dist/assets/DialogTitle-CDkgUIwp.js +0 -1
- package/webapp/dist/assets/FormControlLabel-Bu3CCsBM.js +0 -1
- package/webapp/dist/assets/Grid-BFY8hAzL.js +0 -1
- package/webapp/dist/assets/InputAdornment-_Dayk-3y.js +0 -3
- package/webapp/dist/assets/Skeleton-BGj6Sw8m.js +0 -37
- package/webapp/dist/assets/Switch-CA6682vv.js +0 -1
- package/webapp/dist/assets/TableContainer-4epq10KJ.js +0 -1
- package/webapp/dist/assets/TextField-C73KHMVN.js +0 -1
- package/webapp/dist/assets/alerts-JEQALS7Y.js +0 -1
- package/webapp/dist/assets/apps-DMPysEKB.js +0 -1
- package/webapp/dist/assets/client-DlGPter5.js +0 -110
- package/webapp/dist/assets/constants-DqFQJ27U.js +0 -1
- package/webapp/dist/assets/containers-CvkC7do8.js +0 -1
- package/webapp/dist/assets/dashboard-C0Fre9pC.js +0 -1
- package/webapp/dist/assets/dashboard-builder-DAghqdpE.js +0 -1
- package/webapp/dist/assets/deployments-Cg1lI1uT.js +0 -1
- package/webapp/dist/assets/detail-CyFtEson.js +0 -1
- package/webapp/dist/assets/detail-DqoSGKT1.js +0 -8
- package/webapp/dist/assets/formatters-J3Xqn6BQ.js +0 -1
- package/webapp/dist/assets/icons-ynIWYfBP.js +0 -3
- package/webapp/dist/assets/index-CHVXOsTS.css +0 -1
- package/webapp/dist/assets/index-vKrDmEA_.js +0 -259
- package/webapp/dist/assets/isMuiElement-BRL3YuCT.js +0 -1
- package/webapp/dist/assets/logs-IovIij1C.js +0 -11
- package/webapp/dist/assets/metrics-Dufwtwjq.js +0 -1
- package/webapp/dist/assets/nodes-Brvu8W3j.js +0 -7
- package/webapp/dist/assets/pipelines-t40X4MuC.js +0 -4
- package/webapp/dist/assets/prop-types-CvVtHxp4.js +0 -1
- package/webapp/dist/assets/react-apexcharts.esm-CLO6gala.js +0 -954
- package/webapp/dist/assets/settings-DTAIST3v.js +0 -1
- package/webapp/dist/assets/sign-in-DQEAkJum.js +0 -1
- package/webapp/dist/assets/stacks-BjM1f45N.js +0 -1
- package/webapp/dist/assets/system-info-BQSbSEK-.js +0 -1
- package/webapp/dist/assets/topology-6N8-Az_Z.js +0 -12
- package/webapp/dist/assets/topology-CHpVij2M.css +0 -1
- package/webapp/dist/assets/traces-DVXyb-4m.js +0 -1
- package/webapp/dist/assets/use-stack-context-CbE8fxBA.js +0 -1
- /package/webapp/dist/assets/{fs-uP8eiZAR.js → fs-Ccl3sAcp.js} +0 -0
|
@@ -7,19 +7,51 @@
|
|
|
7
7
|
* Designed to be wired into orchestrator.onAppLog() to capture all child
|
|
8
8
|
* process log lines, parse pino JSON, and persist to the logs table.
|
|
9
9
|
*/
|
|
10
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
11
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
12
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
13
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
14
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
15
|
+
};
|
|
16
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
17
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
18
|
+
};
|
|
19
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
20
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
21
|
+
};
|
|
10
22
|
import { randomUUID } from 'node:crypto';
|
|
23
|
+
import {} from 'kysely';
|
|
24
|
+
import { planRetention, batchesPerPass } from './log-retention.js';
|
|
25
|
+
import { jsonContains, dialectOf } from '../database/dialect.js';
|
|
11
26
|
import { EventEmitter } from 'node:events';
|
|
27
|
+
import { Injectable, Inject } from '@omnitron-dev/titan/decorators';
|
|
28
|
+
import { OMNITRON_DB_TOKEN } from '../shared/tokens.js';
|
|
29
|
+
import { LineAssembler } from '../monitoring/log-line.js';
|
|
12
30
|
// =============================================================================
|
|
13
|
-
//
|
|
31
|
+
// Capture order within a millisecond
|
|
14
32
|
// =============================================================================
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
33
|
+
/**
|
|
34
|
+
* A millisecond's capture sequence, written as its microseconds.
|
|
35
|
+
*
|
|
36
|
+
* Records captured in one millisecond were stored with equal timestamps and
|
|
37
|
+
* read back in whatever order the database chose for the tie — on the master
|
|
38
|
+
* a uuid's, which is to say none — so the lines of one dump, and bursts of
|
|
39
|
+
* records, came back shuffled. The column is `timestamptz`, which keeps
|
|
40
|
+
* microseconds, and no source stamps finer than a millisecond: so the
|
|
41
|
+
* microseconds carry the order the records were captured in, 0–999 within
|
|
42
|
+
* their millisecond. `ORDER BY timestamp` then IS capture order, with no
|
|
43
|
+
* migration and no second sort key — and the string travels to the master
|
|
44
|
+
* inside the replicated entry, whose ingest passes it through unchanged.
|
|
45
|
+
*
|
|
46
|
+
* The millisecond itself stays the record's own. Past 999 records in one
|
|
47
|
+
* millisecond the rest share .999 — a tie, never a later time.
|
|
48
|
+
*/
|
|
49
|
+
export function timestampWithSequence(ms, sequence) {
|
|
50
|
+
const iso = new Date(ms).toISOString();
|
|
51
|
+
return `${iso.slice(0, -1)}${String(Math.min(sequence, 999)).padStart(3, '0')}Z`;
|
|
52
|
+
}
|
|
53
|
+
/** Milliseconds whose sequence is remembered — far more than one flush spans. */
|
|
54
|
+
const SEQUENCED_MILLISECONDS = 4096;
|
|
23
55
|
// =============================================================================
|
|
24
56
|
// Log Collector Service
|
|
25
57
|
// =============================================================================
|
|
@@ -27,27 +59,244 @@ const PINO_LEVELS = {
|
|
|
27
59
|
function escapeLike(str) {
|
|
28
60
|
return str.replace(/[%_\\]/g, '\\$&');
|
|
29
61
|
}
|
|
62
|
+
/** A JSON column read back as text (SQLite), or nothing if it is not an object. */
|
|
63
|
+
function safeJson(text) {
|
|
64
|
+
try {
|
|
65
|
+
const value = JSON.parse(text);
|
|
66
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value) ? value : null;
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
30
72
|
const FLUSH_INTERVAL_MS = 1_000;
|
|
73
|
+
/**
|
|
74
|
+
* How often to prune old log rows. Hourly: the table grows over days, so a
|
|
75
|
+
* pass more often than this is work for its own sake, and one much less often
|
|
76
|
+
* lets a burst accumulate between passes.
|
|
77
|
+
*/
|
|
78
|
+
const RETENTION_INTERVAL_MS = 60 * 60 * 1_000;
|
|
79
|
+
/**
|
|
80
|
+
* How long to wait before the FIRST retention pass.
|
|
81
|
+
*
|
|
82
|
+
* Long enough for migrations to have created the table. See
|
|
83
|
+
* `setRetentionDays` for what firing at zero produced.
|
|
84
|
+
*/
|
|
85
|
+
const RETENTION_FIRST_PASS_DELAY_MS = 60_000;
|
|
86
|
+
/** Cadence while a backlog is still draining — see `scheduleRetention`. */
|
|
87
|
+
const RETENTION_BACKLOG_INTERVAL_MS = 60 * 1_000;
|
|
31
88
|
const FLUSH_THRESHOLD = 100;
|
|
32
|
-
|
|
89
|
+
/**
|
|
90
|
+
* Hard ceiling on buffered entries. During a DB outage every flush fails and
|
|
91
|
+
* requeues while new entries keep arriving — without a ceiling the buffer
|
|
92
|
+
* grows for as long as the outage lasts. The 2026-07-11 daemon crash was
|
|
93
|
+
* exactly this: hours of omnitron-pg downtime grew the buffer into the
|
|
94
|
+
* hundreds of thousands, and the then-`unshift(...batch)` requeue blew the
|
|
95
|
+
* argument-spread call-stack limit (RangeError → unhandled rejection →
|
|
96
|
+
* daemon exit). Newest entries win; the oldest overflow is counted and
|
|
97
|
+
* dropped.
|
|
98
|
+
*/
|
|
99
|
+
const MAX_BUFFER = 50_000;
|
|
100
|
+
/** Per-flush insert ceiling — bounds both the INSERT payload and the requeue. */
|
|
101
|
+
const FLUSH_BATCH_MAX = 5_000;
|
|
102
|
+
let LogCollectorService = class LogCollectorService extends EventEmitter {
|
|
33
103
|
db;
|
|
34
104
|
buffer = [];
|
|
35
105
|
flushTimer = null;
|
|
36
106
|
flushing = false;
|
|
37
107
|
disposed = false;
|
|
108
|
+
/** Entries dropped to the MAX_BUFFER ceiling since the last successful flush. */
|
|
109
|
+
droppedSinceFlush = 0;
|
|
110
|
+
/**
|
|
111
|
+
* Lifetime counters, in memory.
|
|
112
|
+
*
|
|
113
|
+
* The console's "Log Ingestion" card was a hardcoded `0 lines/s`, and the
|
|
114
|
+
* only alternative source is `getLogStats`, which runs three `count(*)`
|
|
115
|
+
* over the whole table — 22.5 million rows on this host, so not something
|
|
116
|
+
* to poll. A counter costs an addition per flush and answers the question
|
|
117
|
+
* the card was asking.
|
|
118
|
+
*
|
|
119
|
+
* `droppedTotal` matters more than the rate. The buffer sheds its oldest
|
|
120
|
+
* entries at the MAX_BUFFER ceiling during a database outage, and until
|
|
121
|
+
* now that happened with no counter anyone could read — logs vanished and
|
|
122
|
+
* the only trace was an event nobody was listening to.
|
|
123
|
+
*/
|
|
124
|
+
ingestedTotal = 0;
|
|
125
|
+
droppedTotal = 0;
|
|
126
|
+
/**
|
|
127
|
+
* Where persisted batches also go, on a slave.
|
|
128
|
+
*
|
|
129
|
+
* A slave keeps its logs locally and replicates them to the master; the
|
|
130
|
+
* replication half was fully built — a WAL, a dedup ledger on the master,
|
|
131
|
+
* backoff, eviction — and `SyncService.buffer`/`bufferBatch` had **zero
|
|
132
|
+
* callers**. Everything downstream of them worked and moved nothing,
|
|
133
|
+
* because nothing upstream ever enqueued. This is the missing producer.
|
|
134
|
+
*
|
|
135
|
+
* A sink rather than a constructor dependency, for the reason the
|
|
136
|
+
* retention setter below gives: this service is registered with `useClass`
|
|
137
|
+
* and takes the database as its only injected argument, and adding a
|
|
138
|
+
* second is a change to module wiring that fails at runtime rather than at
|
|
139
|
+
* compile time.
|
|
140
|
+
*
|
|
141
|
+
* Set only on a slave. `bufferBatch` is itself a no-op for any other role,
|
|
142
|
+
* so a mis-wire costs nothing, but not wiring it on a master also avoids
|
|
143
|
+
* the work.
|
|
144
|
+
*/
|
|
145
|
+
syncSink = null;
|
|
146
|
+
retentionTimer = null;
|
|
147
|
+
/** Days of history to keep in the table. Zero or less disables pruning. */
|
|
148
|
+
retentionDays = 0;
|
|
149
|
+
/**
|
|
150
|
+
* Set alongside retention rather than injected.
|
|
151
|
+
*
|
|
152
|
+
* The service is registered with `useClass` and takes the database as its
|
|
153
|
+
* only constructor dependency; adding a second is a change to the module's
|
|
154
|
+
* wiring, and a wrong one there fails at runtime rather than at compile
|
|
155
|
+
* time — twice today already. One setter, one call site, nothing to get out
|
|
156
|
+
* of order.
|
|
157
|
+
*/
|
|
158
|
+
logger = null;
|
|
159
|
+
/** Lines become records here exactly as they do for the files — `log-line.ts`. */
|
|
160
|
+
assembler = new LineAssembler((app, record) => this.ingestRecord(app, record));
|
|
161
|
+
/** Next capture sequence per millisecond — see `timestampWithSequence`. */
|
|
162
|
+
sequenceByMs = new Map();
|
|
163
|
+
dialect = null;
|
|
38
164
|
constructor(db) {
|
|
39
165
|
super();
|
|
40
166
|
this.db = db;
|
|
41
167
|
this.startFlushTimer();
|
|
42
168
|
}
|
|
169
|
+
/**
|
|
170
|
+
* Turn on table retention.
|
|
171
|
+
*
|
|
172
|
+
* Off until called, because the number belongs to the daemon config and
|
|
173
|
+
* this service is constructed before it is read. A default chosen here
|
|
174
|
+
* would be a policy decision made in the wrong place — and a wrong one
|
|
175
|
+
* deletes an operator's history.
|
|
176
|
+
*/
|
|
177
|
+
/**
|
|
178
|
+
* Replicate persisted batches to the master (slave role only).
|
|
179
|
+
*
|
|
180
|
+
* Called with the entries that REACHED the table, not the ones that were
|
|
181
|
+
* offered: a flush that fails puts its batch back at the front of the
|
|
182
|
+
* buffer and retries, and queueing on the attempt would send every retried
|
|
183
|
+
* line twice.
|
|
184
|
+
*/
|
|
185
|
+
setSyncSink(sink) {
|
|
186
|
+
this.syncSink = sink;
|
|
187
|
+
}
|
|
188
|
+
setRetentionDays(days, logger) {
|
|
189
|
+
this.retentionDays = days;
|
|
190
|
+
if (logger)
|
|
191
|
+
this.logger = logger;
|
|
192
|
+
if (this.retentionTimer) {
|
|
193
|
+
clearTimeout(this.retentionTimer);
|
|
194
|
+
this.retentionTimer = null;
|
|
195
|
+
}
|
|
196
|
+
if (planRetention(days) === null) {
|
|
197
|
+
this.logger?.info?.({ days }, 'Log table retention disabled');
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
// Not zero. A pass fired the instant the collector is configured races
|
|
201
|
+
// the migrations that create the table it reads: measured on a daemon
|
|
202
|
+
// start, `Log retention pass failed — relation "logs" does not exist`,
|
|
203
|
+
// once, at 03:27:03. Harmless in itself — the next pass an hour later
|
|
204
|
+
// succeeds — but it is an error-level line about a subsystem that is
|
|
205
|
+
// fine, and an error nobody can act on is one they learn to scroll past.
|
|
206
|
+
//
|
|
207
|
+
// The first pass has nothing urgent to do anyway: rows become eligible
|
|
208
|
+
// for deletion by ageing past the window, so a minute's delay costs
|
|
209
|
+
// nothing and a backlog is still drained at the faster cadence once the
|
|
210
|
+
// first pass sees one.
|
|
211
|
+
this.scheduleRetention(RETENTION_FIRST_PASS_DELAY_MS);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Arm the next retention pass.
|
|
215
|
+
*
|
|
216
|
+
* The per-pass ceiling exists to keep each statement short; it should not
|
|
217
|
+
* also decide how long a backlog takes to clear. A pass that hits its
|
|
218
|
+
* ceiling means there is more waiting, so the next one comes in a minute
|
|
219
|
+
* rather than an hour — thirteen million stale rows drain in half an hour
|
|
220
|
+
* instead of a day, with every individual statement still bounded. A pass
|
|
221
|
+
* that finishes early returns to the hourly cadence.
|
|
222
|
+
*
|
|
223
|
+
* `setTimeout` chained rather than `setInterval`, so the cadence is a
|
|
224
|
+
* decision made after each pass with its result in hand.
|
|
225
|
+
*/
|
|
226
|
+
scheduleRetention(delayMs) {
|
|
227
|
+
if (this.retentionTimer)
|
|
228
|
+
clearTimeout(this.retentionTimer);
|
|
229
|
+
if (this.disposed)
|
|
230
|
+
return;
|
|
231
|
+
this.retentionTimer = setTimeout(() => {
|
|
232
|
+
void this.pruneOldLogs().then((removed) => {
|
|
233
|
+
const plan = planRetention(this.retentionDays);
|
|
234
|
+
if (!plan || this.disposed)
|
|
235
|
+
return;
|
|
236
|
+
this.scheduleRetention(removed >= plan.maxThisPass ? RETENTION_BACKLOG_INTERVAL_MS : RETENTION_INTERVAL_MS);
|
|
237
|
+
});
|
|
238
|
+
}, delayMs);
|
|
239
|
+
this.retentionTimer.unref();
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Delete rows past the retention window, in bounded batches.
|
|
243
|
+
*
|
|
244
|
+
* Batched because a single `DELETE` over 13 GB holds its transaction for
|
|
245
|
+
* the duration and blocks the flush path behind it — a retention pass would
|
|
246
|
+
* show up as the log pipeline stalling, which is the opposite of the point.
|
|
247
|
+
*/
|
|
248
|
+
async pruneOldLogs() {
|
|
249
|
+
const plan = planRetention(this.retentionDays);
|
|
250
|
+
if (!plan || this.disposed)
|
|
251
|
+
return 0;
|
|
252
|
+
let removed = 0;
|
|
253
|
+
try {
|
|
254
|
+
for (let i = 0; i < batchesPerPass(plan); i++) {
|
|
255
|
+
if (this.disposed)
|
|
256
|
+
break;
|
|
257
|
+
const doomed = await this.db
|
|
258
|
+
.selectFrom('logs')
|
|
259
|
+
.select('id')
|
|
260
|
+
.where('timestamp', '<', plan.cutoff)
|
|
261
|
+
.limit(plan.batchSize)
|
|
262
|
+
.execute();
|
|
263
|
+
if (doomed.length === 0)
|
|
264
|
+
break;
|
|
265
|
+
await this.db
|
|
266
|
+
.deleteFrom('logs')
|
|
267
|
+
.where('id', 'in', doomed.map((r) => String(r.id)))
|
|
268
|
+
.execute();
|
|
269
|
+
removed += doomed.length;
|
|
270
|
+
}
|
|
271
|
+
if (removed > 0) {
|
|
272
|
+
this.logger?.info?.({ removed, cutoff: plan.cutoff.toISOString(), retentionDays: this.retentionDays }, 'Pruned log rows past retention');
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
catch (err) {
|
|
276
|
+
// Reported rather than swallowed: a retention pass that keeps failing
|
|
277
|
+
// is the disk filling up in slow motion, and the only warning of it.
|
|
278
|
+
this.logger?.error?.({ error: err.message, removed }, 'Log retention pass failed');
|
|
279
|
+
}
|
|
280
|
+
return removed;
|
|
281
|
+
}
|
|
43
282
|
// ===========================================================================
|
|
44
283
|
// Ingestion
|
|
45
284
|
// ===========================================================================
|
|
285
|
+
/** Drop the oldest overflow so the buffer never exceeds MAX_BUFFER. */
|
|
286
|
+
enforceCap() {
|
|
287
|
+
const overflow = this.buffer.length - MAX_BUFFER;
|
|
288
|
+
if (overflow > 0) {
|
|
289
|
+
this.buffer.splice(0, overflow);
|
|
290
|
+
this.droppedSinceFlush += overflow;
|
|
291
|
+
this.droppedTotal += overflow;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
46
294
|
/** Ingest a single log entry into the buffer */
|
|
47
295
|
ingestLog(entry) {
|
|
48
296
|
if (this.disposed)
|
|
49
297
|
return;
|
|
50
298
|
this.buffer.push(entry);
|
|
299
|
+
this.enforceCap();
|
|
51
300
|
if (this.buffer.length >= FLUSH_THRESHOLD) {
|
|
52
301
|
void this.flush();
|
|
53
302
|
}
|
|
@@ -56,119 +305,178 @@ export class LogCollectorService extends EventEmitter {
|
|
|
56
305
|
ingestBatch(entries) {
|
|
57
306
|
if (this.disposed)
|
|
58
307
|
return;
|
|
59
|
-
|
|
308
|
+
// concat, not push(...entries) — spreading a large array as arguments
|
|
309
|
+
// risks the same call-stack blowup the flush requeue hit.
|
|
310
|
+
this.buffer = this.buffer.concat(entries);
|
|
311
|
+
this.enforceCap();
|
|
60
312
|
if (this.buffer.length >= FLUSH_THRESHOLD) {
|
|
61
313
|
void this.flush();
|
|
62
314
|
}
|
|
63
315
|
}
|
|
64
316
|
/**
|
|
65
|
-
*
|
|
317
|
+
* Take one line of an app's output (or of the daemon's own, as `omnitron`).
|
|
66
318
|
* This is the primary integration point with orchestrator.onAppLog().
|
|
319
|
+
*
|
|
320
|
+
* The line is read by the one classifier (`log-line.ts`) and joined into a
|
|
321
|
+
* record there. What the table held before: a line that was not JSON became
|
|
322
|
+
* a row at level `info`, and every indented line of a dump a row of its own
|
|
323
|
+
* — on the master, paysys from the test node: 3 `error` rows, 1 264 995
|
|
324
|
+
* `info`, 1 216 292 of those dump fragments.
|
|
67
325
|
*/
|
|
68
326
|
ingestPinoLine(appName, line) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
const traceId = parsed.traceId ?? parsed.trace_id ?? undefined;
|
|
80
|
-
const spanId = parsed.spanId ?? parsed.span_id ?? undefined;
|
|
81
|
-
// Everything else goes into metadata
|
|
82
|
-
const metadata = Object.keys(rest).length > 0 ? rest : undefined;
|
|
83
|
-
this.ingestLog({
|
|
84
|
-
app: appName,
|
|
85
|
-
level,
|
|
86
|
-
message: String(message),
|
|
87
|
-
timestamp: time ? new Date(time) : new Date(),
|
|
88
|
-
labels,
|
|
89
|
-
traceId,
|
|
90
|
-
spanId,
|
|
91
|
-
metadata,
|
|
92
|
-
});
|
|
327
|
+
if (this.disposed)
|
|
328
|
+
return;
|
|
329
|
+
this.assembler.push(appName, line);
|
|
330
|
+
}
|
|
331
|
+
/** One record, as a row. */
|
|
332
|
+
ingestRecord(appName, record) {
|
|
333
|
+
const timestamp = this.sequenced(record.time);
|
|
334
|
+
if (record.kind !== 'json' || !record.data) {
|
|
335
|
+
this.ingestLog({ app: appName, level: record.level, message: record.message, timestamp });
|
|
336
|
+
return;
|
|
93
337
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
338
|
+
const parsed = record.data;
|
|
339
|
+
// Extract well-known fields, put the rest into metadata
|
|
340
|
+
const { level: _l, msg: _m, message: _msg, time: _t, pid: _pid, hostname: _hostname, ...rest } = parsed;
|
|
341
|
+
// Extract labels if present
|
|
342
|
+
const labels = parsed['labels'] ?? undefined;
|
|
343
|
+
const traceId = (parsed['traceId'] ?? parsed['trace_id'] ?? undefined);
|
|
344
|
+
const spanId = (parsed['spanId'] ?? parsed['span_id'] ?? undefined);
|
|
345
|
+
// Everything else goes into metadata
|
|
346
|
+
const metadata = Object.keys(rest).length > 0 ? rest : undefined;
|
|
347
|
+
this.ingestLog({
|
|
348
|
+
app: appName,
|
|
349
|
+
level: record.level,
|
|
350
|
+
message: record.message,
|
|
351
|
+
timestamp,
|
|
352
|
+
...(labels !== undefined ? { labels } : {}),
|
|
353
|
+
...(traceId !== undefined ? { traceId } : {}),
|
|
354
|
+
...(spanId !== undefined ? { spanId } : {}),
|
|
355
|
+
...(metadata !== undefined ? { metadata } : {}),
|
|
356
|
+
});
|
|
357
|
+
}
|
|
358
|
+
/** The record's millisecond, and its place among the records captured in it. */
|
|
359
|
+
sequenced(ms) {
|
|
360
|
+
const at = Number.isFinite(ms) ? Math.floor(ms) : Date.now();
|
|
361
|
+
const next = this.sequenceByMs.get(at) ?? 0;
|
|
362
|
+
this.sequenceByMs.set(at, next + 1);
|
|
363
|
+
if (this.sequenceByMs.size > SEQUENCED_MILLISECONDS) {
|
|
364
|
+
const oldest = this.sequenceByMs.keys().next().value;
|
|
365
|
+
if (oldest !== undefined)
|
|
366
|
+
this.sequenceByMs.delete(oldest);
|
|
102
367
|
}
|
|
368
|
+
return timestampWithSequence(at, next);
|
|
103
369
|
}
|
|
104
370
|
// ===========================================================================
|
|
105
371
|
// Querying
|
|
106
372
|
// ===========================================================================
|
|
373
|
+
/**
|
|
374
|
+
* The two filters the schema was built for and no query used.
|
|
375
|
+
*
|
|
376
|
+
* `logs.nodeId` is a uuid column that `SyncService.ingestLog` fills for every
|
|
377
|
+
* entry a slave sends up, and `logs.labels` is jsonb carrying a GIN index
|
|
378
|
+
* that `001_initial_schema` created with the intended query written in its
|
|
379
|
+
* own comment: `WHERE labels @> '{"env":"prod"}'`. Neither `queryLogs` nor
|
|
380
|
+
* `getRecentLogs` referenced either one.
|
|
381
|
+
*
|
|
382
|
+
* The visible consequence was in the console: its cluster node filter put the
|
|
383
|
+
* node id inside `labels`, sent it, and the daemon dropped the whole field —
|
|
384
|
+
* so selecting a node narrowed nothing while the chip stayed lit. A filter
|
|
385
|
+
* that silently does nothing is worse than one that is missing, because the
|
|
386
|
+
* operator reads the unnarrowed result as an answer about that node.
|
|
387
|
+
*
|
|
388
|
+
* Applied in BOTH paths deliberately. A filter honoured by the paginated
|
|
389
|
+
* query and not by the live tail is how a viewer changes its answer when you
|
|
390
|
+
* press Live.
|
|
391
|
+
*/
|
|
107
392
|
async queryLogs(filter) {
|
|
108
393
|
const limit = Math.min(filter.limit ?? 100, 1000);
|
|
109
394
|
const offset = filter.offset ?? 0;
|
|
110
|
-
|
|
111
|
-
//
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
395
|
+
// One definition of "which rows", used by both queries.
|
|
396
|
+
//
|
|
397
|
+
// There were two, and they had drifted: the rows honoured `nodeId` and
|
|
398
|
+
// `labels`, the count did not. So a log view filtered to one node showed
|
|
399
|
+
// that node's lines under a total counting every node's — a pager
|
|
400
|
+
// offering pages that hold nothing, and a number an operator reads as
|
|
401
|
+
// how much that node said. The two lists were written together and
|
|
402
|
+
// maintained apart, which is the failure mode of writing them twice.
|
|
403
|
+
const matching = (eb) => {
|
|
404
|
+
const clauses = [];
|
|
405
|
+
if (filter.app)
|
|
406
|
+
clauses.push(eb('app', '=', filter.app));
|
|
407
|
+
if (filter.level) {
|
|
408
|
+
clauses.push(Array.isArray(filter.level)
|
|
409
|
+
? eb('level', 'in', filter.level)
|
|
410
|
+
: eb('level', '=', filter.level));
|
|
118
411
|
}
|
|
119
|
-
|
|
120
|
-
|
|
412
|
+
if (filter.search)
|
|
413
|
+
clauses.push(eb('message', 'like', `%${escapeLike(filter.search)}%`));
|
|
414
|
+
if (filter.traceId)
|
|
415
|
+
clauses.push(eb('traceId', '=', filter.traceId));
|
|
416
|
+
if (filter.nodeId)
|
|
417
|
+
clauses.push(eb('nodeId', '=', filter.nodeId));
|
|
418
|
+
if (filter.labels && Object.keys(filter.labels).length > 0) {
|
|
419
|
+
// Containment, asked the way each engine understands it. Written as
|
|
420
|
+
// `labels @> ?::jsonb`, this was a syntax error on every slave —
|
|
421
|
+
// SQLite reads `@` as an unrecognized token and refuses the whole
|
|
422
|
+
// statement — so a log query carrying a label filter threw on the
|
|
423
|
+
// exact nodes whose logs you go looking for. See `jsonContains`.
|
|
424
|
+
clauses.push(jsonContains(this.db, 'labels', filter.labels));
|
|
121
425
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
if (filter.traceId) {
|
|
127
|
-
query = query.where('traceId', '=', filter.traceId);
|
|
128
|
-
}
|
|
129
|
-
if (filter.from) {
|
|
130
|
-
const fromDate = typeof filter.from === 'string' ? new Date(filter.from) : filter.from;
|
|
131
|
-
query = query.where('timestamp', '>=', fromDate);
|
|
132
|
-
}
|
|
133
|
-
if (filter.to) {
|
|
134
|
-
const toDate = typeof filter.to === 'string' ? new Date(filter.to) : filter.to;
|
|
135
|
-
query = query.where('timestamp', '<=', toDate);
|
|
136
|
-
}
|
|
137
|
-
// Get total count for pagination
|
|
138
|
-
let countQuery = this.db.selectFrom('logs').select(this.db.fn.countAll().as('count'));
|
|
139
|
-
if (filter.app)
|
|
140
|
-
countQuery = countQuery.where('app', '=', filter.app);
|
|
141
|
-
if (filter.level) {
|
|
142
|
-
if (Array.isArray(filter.level)) {
|
|
143
|
-
countQuery = countQuery.where('level', 'in', filter.level);
|
|
426
|
+
if (filter.from) {
|
|
427
|
+
const fromDate = typeof filter.from === 'string' ? new Date(filter.from) : filter.from;
|
|
428
|
+
clauses.push(eb('timestamp', '>=', fromDate));
|
|
144
429
|
}
|
|
145
|
-
|
|
146
|
-
|
|
430
|
+
if (filter.to) {
|
|
431
|
+
const toDate = typeof filter.to === 'string' ? new Date(filter.to) : filter.to;
|
|
432
|
+
clauses.push(eb('timestamp', '<=', toDate));
|
|
147
433
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
const
|
|
434
|
+
// No filter at all is not "match nothing" — the unfiltered view is
|
|
435
|
+
// the default one. `lit`, not `val`: a bound `true` is a JS boolean,
|
|
436
|
+
// and better-sqlite3 binds "numbers, strings, bigints, buffers, and
|
|
437
|
+
// null", so a parameter here would refuse every unfiltered log query
|
|
438
|
+
// on every slave. `true` as a keyword is understood by both engines.
|
|
439
|
+
return clauses.length > 0 ? eb.and(clauses) : eb.lit(true);
|
|
440
|
+
};
|
|
441
|
+
const query = this.db.selectFrom('logs').selectAll().where(matching);
|
|
442
|
+
// The total and its breakdown by level, counted by one query: the total
|
|
443
|
+
// is their sum. The console printed the total beside `getLogStats`'s
|
|
444
|
+
// levels — the whole table's, filtered by nothing — so on the master
|
|
445
|
+
// (2026-09-23) «Showing 100 of 48 991» sat beside «error: 42 650» for an
|
|
446
|
+
// hour that held 149 errors among 9 159 730 rows since 09-09.
|
|
447
|
+
const levelsQuery = this.db
|
|
448
|
+
.selectFrom('logs')
|
|
449
|
+
.select(['level', this.db.fn.countAll().as('count')])
|
|
450
|
+
.where(matching)
|
|
451
|
+
.groupBy('level');
|
|
452
|
+
const [entries, levels] = await Promise.all([
|
|
162
453
|
query.orderBy('timestamp', 'desc').limit(limit).offset(offset).execute(),
|
|
163
|
-
|
|
454
|
+
levelsQuery.execute(),
|
|
164
455
|
]);
|
|
165
|
-
const
|
|
456
|
+
const byLevel = levels.map((r) => ({ level: r.level, count: Number(r.count) }));
|
|
457
|
+
const total = byLevel.reduce((sum, { count }) => sum + count, 0);
|
|
166
458
|
return {
|
|
167
459
|
entries: entries,
|
|
168
460
|
total,
|
|
461
|
+
byLevel,
|
|
169
462
|
hasMore: offset + limit < total,
|
|
170
463
|
};
|
|
171
464
|
}
|
|
465
|
+
/**
|
|
466
|
+
* In-memory counters. No database work, so it is safe to poll.
|
|
467
|
+
*
|
|
468
|
+
* `ingestedTotal` counts rows actually written, not rows accepted: a caller
|
|
469
|
+
* sampling it twice gets a real write rate, and a stalled flush shows as a
|
|
470
|
+
* rate of zero with a growing `bufferSize` beside it — which is the state
|
|
471
|
+
* an operator needs to be able to tell from "nothing is being logged".
|
|
472
|
+
*/
|
|
473
|
+
getIngestionStats() {
|
|
474
|
+
return {
|
|
475
|
+
ingestedTotal: this.ingestedTotal,
|
|
476
|
+
droppedTotal: this.droppedTotal,
|
|
477
|
+
bufferSize: this.buffer.length,
|
|
478
|
+
};
|
|
479
|
+
}
|
|
172
480
|
async getLogStats() {
|
|
173
481
|
const [byApp, byLevel, bounds] = await Promise.all([
|
|
174
482
|
this.db
|
|
@@ -220,6 +528,16 @@ export class LogCollectorService extends EventEmitter {
|
|
|
220
528
|
}
|
|
221
529
|
if (filter.search)
|
|
222
530
|
query = query.where('message', 'like', `%${escapeLike(filter.search)}%`);
|
|
531
|
+
if (filter.traceId)
|
|
532
|
+
query = query.where('traceId', '=', filter.traceId);
|
|
533
|
+
if (filter.nodeId)
|
|
534
|
+
query = query.where('nodeId', '=', filter.nodeId);
|
|
535
|
+
if (filter.labels && Object.keys(filter.labels).length > 0) {
|
|
536
|
+
// Both paths, deliberately: a filter honoured by the paginated query
|
|
537
|
+
// and not by the live tail is how a viewer changes its answer when you
|
|
538
|
+
// press Live.
|
|
539
|
+
query = query.where(jsonContains(this.db, 'labels', filter.labels));
|
|
540
|
+
}
|
|
223
541
|
// Range filters — critical for efficient live polling (since parameter)
|
|
224
542
|
if (filter.from) {
|
|
225
543
|
const from = typeof filter.from === 'string' ? new Date(filter.from) : filter.from;
|
|
@@ -236,6 +554,28 @@ export class LogCollectorService extends EventEmitter {
|
|
|
236
554
|
.execute();
|
|
237
555
|
return entries.reverse();
|
|
238
556
|
}
|
|
557
|
+
/**
|
|
558
|
+
* The last `lines` stored records of one app, as the daemon's `getLogs`
|
|
559
|
+
* answers — oldest first, each saying which machine it came from.
|
|
560
|
+
*
|
|
561
|
+
* `sourceNode` is the row's `nodeId`: the node that synced it, or `null` for
|
|
562
|
+
* a line this machine captured itself. Under its own key in `data` because
|
|
563
|
+
* the rest of `data` is the record's fields, and records carry `nodeId`s of
|
|
564
|
+
* their own (the daemon logs them).
|
|
565
|
+
*/
|
|
566
|
+
async storedEntries(app, lines) {
|
|
567
|
+
const rows = await this.getRecentLogs({ app, tail: Math.max(1, Math.min(lines, 10_000)) });
|
|
568
|
+
return rows.map((row) => {
|
|
569
|
+
const metadata = typeof row.metadata === 'string' ? safeJson(row.metadata) : row.metadata;
|
|
570
|
+
return {
|
|
571
|
+
timestamp: new Date(row.timestamp).getTime(),
|
|
572
|
+
app: row.app,
|
|
573
|
+
level: row.level,
|
|
574
|
+
message: row.message,
|
|
575
|
+
data: { ...(metadata ?? {}), sourceNode: row.nodeId ?? null },
|
|
576
|
+
};
|
|
577
|
+
});
|
|
578
|
+
}
|
|
239
579
|
// ===========================================================================
|
|
240
580
|
// Buffer Flush
|
|
241
581
|
// ===========================================================================
|
|
@@ -244,14 +584,27 @@ export class LogCollectorService extends EventEmitter {
|
|
|
244
584
|
if (this.flushing || this.buffer.length === 0)
|
|
245
585
|
return;
|
|
246
586
|
this.flushing = true;
|
|
247
|
-
|
|
587
|
+
// Bounded batch — caps the INSERT payload AND the requeue-on-failure so
|
|
588
|
+
// an outage backlog drains in chunks instead of one giant statement.
|
|
589
|
+
// The 1s flush timer + threshold-triggered flushes drain the remainder.
|
|
590
|
+
const batch = this.buffer.splice(0, FLUSH_BATCH_MAX);
|
|
248
591
|
try {
|
|
249
592
|
if (batch.length === 0)
|
|
250
593
|
return;
|
|
594
|
+
// Postgres keeps the microseconds that carry capture order, so it gets
|
|
595
|
+
// the string as sequenced. SQLite (a slave) stores this column as TEXT
|
|
596
|
+
// and compares it as text, where `.123004Z` sorts BEFORE `.123Z` — its
|
|
597
|
+
// rows keep the millisecond form every other writer and every bound
|
|
598
|
+
// there uses. The order still reaches the master: the replicated entry
|
|
599
|
+
// carries the sequenced string, not this row.
|
|
600
|
+
this.dialect ??= dialectOf(this.db);
|
|
601
|
+
const keepsSequence = this.dialect === 'postgres';
|
|
251
602
|
const rows = batch.map((entry) => ({
|
|
252
603
|
id: randomUUID(),
|
|
253
604
|
timestamp: entry.timestamp
|
|
254
|
-
? (typeof entry.timestamp === 'string'
|
|
605
|
+
? (typeof entry.timestamp === 'string'
|
|
606
|
+
? (keepsSequence ? entry.timestamp : new Date(entry.timestamp))
|
|
607
|
+
: entry.timestamp)
|
|
255
608
|
: new Date(),
|
|
256
609
|
nodeId: entry.nodeId ?? null,
|
|
257
610
|
app: entry.app,
|
|
@@ -263,14 +616,38 @@ export class LogCollectorService extends EventEmitter {
|
|
|
263
616
|
metadata: entry.metadata ? JSON.stringify(entry.metadata) : null,
|
|
264
617
|
}));
|
|
265
618
|
await this.db.insertInto('logs').values(rows).execute();
|
|
619
|
+
// After the write, never instead of it: what the master receives is
|
|
620
|
+
// what this node actually holds. Guarded because a sink that throws
|
|
621
|
+
// must not turn a successful flush into a failed one — the batch is
|
|
622
|
+
// already persisted and re-queueing it would duplicate the rows.
|
|
623
|
+
if (this.syncSink) {
|
|
624
|
+
try {
|
|
625
|
+
// The BATCH, not `rows`. `rows` has `labels`/`metadata` already
|
|
626
|
+
// serialised for this table, and the master's `ingestLog`
|
|
627
|
+
// serialises what it is given — so shipping rows would store
|
|
628
|
+
// `"{\"a\":1}"` as a label object on the other side. `LogEntry`
|
|
629
|
+
// is the unencoded shape both ends already agree on.
|
|
630
|
+
this.syncSink(batch);
|
|
631
|
+
}
|
|
632
|
+
catch (err) {
|
|
633
|
+
this.emit('sync_error', err);
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
if (this.droppedSinceFlush > 0) {
|
|
637
|
+
this.emit('dropped', this.droppedSinceFlush);
|
|
638
|
+
this.droppedSinceFlush = 0;
|
|
639
|
+
}
|
|
640
|
+
this.ingestedTotal += batch.length;
|
|
266
641
|
this.emit('flushed', batch.length);
|
|
267
642
|
}
|
|
268
643
|
catch (err) {
|
|
269
|
-
// On failure, put
|
|
270
|
-
//
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
644
|
+
// On failure, put the batch back at the FRONT of the buffer so order
|
|
645
|
+
// is preserved. concat (never unshift(...batch)) — spreading a large
|
|
646
|
+
// batch as arguments overflows the call stack, which is precisely how
|
|
647
|
+
// the 2026-07-11 daemon crash happened. The ceiling then drops the
|
|
648
|
+
// oldest overflow.
|
|
649
|
+
this.buffer = batch.concat(this.buffer);
|
|
650
|
+
this.enforceCap();
|
|
274
651
|
this.emit('flush_error', err);
|
|
275
652
|
}
|
|
276
653
|
finally {
|
|
@@ -287,11 +664,18 @@ export class LogCollectorService extends EventEmitter {
|
|
|
287
664
|
this.flushTimer.unref();
|
|
288
665
|
}
|
|
289
666
|
async dispose() {
|
|
667
|
+
// Held records (a dump waiting for its last lines) go into the buffer
|
|
668
|
+
// before the final flush, not out with the process.
|
|
669
|
+
this.assembler.dispose();
|
|
290
670
|
this.disposed = true;
|
|
291
671
|
if (this.flushTimer) {
|
|
292
672
|
clearInterval(this.flushTimer);
|
|
293
673
|
this.flushTimer = null;
|
|
294
674
|
}
|
|
675
|
+
if (this.retentionTimer) {
|
|
676
|
+
clearTimeout(this.retentionTimer);
|
|
677
|
+
this.retentionTimer = null;
|
|
678
|
+
}
|
|
295
679
|
// Wait for any in-progress flush to complete before final flush
|
|
296
680
|
while (this.flushing) {
|
|
297
681
|
await new Promise((r) => setTimeout(r, 50));
|
|
@@ -299,5 +683,11 @@ export class LogCollectorService extends EventEmitter {
|
|
|
299
683
|
// Final flush of remaining buffered entries
|
|
300
684
|
await this.flush();
|
|
301
685
|
}
|
|
302
|
-
}
|
|
686
|
+
};
|
|
687
|
+
LogCollectorService = __decorate([
|
|
688
|
+
Injectable(),
|
|
689
|
+
__param(0, Inject(OMNITRON_DB_TOKEN)),
|
|
690
|
+
__metadata("design:paramtypes", [Function])
|
|
691
|
+
], LogCollectorService);
|
|
692
|
+
export { LogCollectorService };
|
|
303
693
|
//# sourceMappingURL=log-collector.service.js.map
|