@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
package/dist/commands/logs.js
CHANGED
|
@@ -1,254 +1,590 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* omnitron logs [app] [-n N] [-f] [--file] [--level LEVEL] [--grep PATTERN]
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* With no app (or `omnitron`): the daemon's own log, `~/.omnitron/logs/omnitron.log`.
|
|
5
|
+
* With an app this daemon runs: its latest records from the daemon, or — when
|
|
6
|
+
* those hold fewer than N matches — its log file, the one the daemon names.
|
|
7
|
+
* With an app another machine runs: the rows its node synced to this master.
|
|
8
|
+
*
|
|
9
|
+
* `-n` counts MATCHES. A file is read backwards until N records pass the
|
|
10
|
+
* filters (or 128 MB have been searched), and the command says which file it
|
|
11
|
+
* read and when that file was last written.
|
|
6
12
|
*/
|
|
7
13
|
import fs from 'node:fs';
|
|
8
14
|
import path from 'node:path';
|
|
9
15
|
import { log, prism } from '@xec-sh/kit';
|
|
10
16
|
import { createDaemonClient } from '../daemon/daemon-client.js';
|
|
11
17
|
import { OMNITRON_HOME } from '../config/defaults.js';
|
|
18
|
+
import { NODE_STACK } from '../project/node-app-config.js';
|
|
19
|
+
import { BackwardAssembler, LineAssembler, LEVEL_RANK, levelRank } from '../monitoring/log-line.js';
|
|
20
|
+
import { emitJson, emitError, isJsonMode } from './output.js';
|
|
21
|
+
import { describeAbsence } from './daemon-required.js';
|
|
12
22
|
const LOG_DIR = path.join(OMNITRON_HOME, 'logs');
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
const PROJECTS_DIR = path.join(OMNITRON_HOME, 'projects');
|
|
24
|
+
/** The daemon's own name among log sources — `LogManager.getLogDir` reserves it. */
|
|
25
|
+
const DAEMON_LOG_NAME = 'omnitron';
|
|
26
|
+
/** How far back a file is searched for N matches before the command says it stopped. */
|
|
27
|
+
const FILE_SEARCH_LIMIT = 128 * 1024 * 1024;
|
|
28
|
+
const FILE_CHUNK = 256 * 1024;
|
|
29
|
+
/** The daemon keeps up to 1000 records per app; a filtered read asks for all of them. */
|
|
30
|
+
const CAPTURED_WINDOW = 1000;
|
|
31
|
+
/** Stored rows fetched when filtering them — a window, said so when it falls short. */
|
|
32
|
+
const STORED_WINDOW = 5000;
|
|
33
|
+
const FOLLOW_WINDOW = 200;
|
|
34
|
+
const FOLLOW_INTERVAL_MS = 1000;
|
|
22
35
|
export async function logsCommand(appName, options = {}) {
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
36
|
+
const checked = readOptions(options);
|
|
37
|
+
if (!checked.ok) {
|
|
38
|
+
refuse(checked.error, appName);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const wanted = checked.wanted;
|
|
42
|
+
const match = matcher(wanted);
|
|
43
|
+
// In JSON mode, --follow is unsupported (no streaming JSON contract);
|
|
44
|
+
// fail fast with a structured error.
|
|
45
|
+
if (options.follow && isJsonMode()) {
|
|
46
|
+
emitError('logs --follow is not supported in --json mode (use file-tail or jq instead)');
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
// The daemon's own log. The help has always promised this for a bare
|
|
50
|
+
// `omnitron logs`; it printed the apps' buffers instead — 193 paysys and 7
|
|
51
|
+
// storage records out of 200, not one daemon line.
|
|
52
|
+
if (!appName || appName === DAEMON_LOG_NAME) {
|
|
53
|
+
const file = path.join(LOG_DIR, wanted.minLevel !== null && wanted.minLevel >= LEVEL_RANK.error ? 'omnitron.error.log' : 'omnitron.log');
|
|
54
|
+
await showFile(DAEMON_LOG_NAME, file, wanted, match, options.follow ?? false);
|
|
28
55
|
return;
|
|
29
56
|
}
|
|
30
57
|
const client = createDaemonClient();
|
|
31
|
-
|
|
58
|
+
const absence = await client.whyUnreachable();
|
|
59
|
+
if (absence) {
|
|
32
60
|
await client.disconnect();
|
|
33
|
-
|
|
34
|
-
|
|
61
|
+
// The fallback is right whatever the reason, but the reason still belongs
|
|
62
|
+
// on screen: reading the files is a different answer from reading the
|
|
63
|
+
// daemon, and an operator who thinks the daemon is down when it is merely
|
|
64
|
+
// busy will not know why the tail stops where it does.
|
|
65
|
+
if (!isJsonMode())
|
|
66
|
+
log.info(`${describeAbsence(absence)} — reading from log files`);
|
|
67
|
+
await showDerivedFile(appName, wanted, match, options.follow ?? false);
|
|
35
68
|
return;
|
|
36
69
|
}
|
|
37
|
-
const query = appName ? { name: appName, lines } : { lines };
|
|
38
70
|
try {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
catch {
|
|
52
|
-
// Connection lost
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
// Initial fetch
|
|
56
|
-
const entries = await client.getLogs(query);
|
|
57
|
-
const filtered = entries.filter(filter);
|
|
58
|
-
for (const entry of filtered) {
|
|
59
|
-
printLogEntry(entry);
|
|
60
|
-
lastTimestamp = Math.max(lastTimestamp, entry.timestamp);
|
|
71
|
+
const diag = await inspectApp(client, appName);
|
|
72
|
+
if (diag) {
|
|
73
|
+
// An app this daemon runs. Its file is the one the daemon names — never
|
|
74
|
+
// a path guessed from the name: `~/.omnitron/logs/main/app.log` exists
|
|
75
|
+
// on this host, last written weeks ago, and `logs main -l error` printed
|
|
76
|
+
// its May errors as the answer while the live `error.log` held 27 089.
|
|
77
|
+
const logFile = wanted.minLevel !== null && wanted.minLevel >= LEVEL_RANK.error ? diag.logPaths.error : diag.logPaths.app;
|
|
78
|
+
if (options.file) {
|
|
79
|
+
await client.disconnect();
|
|
80
|
+
await showFile(diag.name, logFile, wanted, match, options.follow ?? false);
|
|
81
|
+
return;
|
|
61
82
|
}
|
|
62
|
-
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
process.exit(0);
|
|
68
|
-
});
|
|
69
|
-
await new Promise(() => { });
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
const entries = await client.getLogs(query);
|
|
73
|
-
const filtered = entries.filter(filter);
|
|
74
|
-
if (filtered.length === 0) {
|
|
75
|
-
log.info('No logs available');
|
|
83
|
+
const window = wanted.minLevel !== null || wanted.pattern ? CAPTURED_WINDOW : wanted.lines;
|
|
84
|
+
const captured = await client.getLogs({ name: diag.name, lines: window });
|
|
85
|
+
const hits = captured.filter(match);
|
|
86
|
+
if (hits.length >= wanted.lines) {
|
|
87
|
+
report(diag.name, { source: 'daemon' }, hits.slice(-wanted.lines), new Map());
|
|
76
88
|
}
|
|
77
89
|
else {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
90
|
+
// The daemon's records are the live end of the file, not the record.
|
|
91
|
+
// Fewer matches there than asked for — a restart emptied them, or the
|
|
92
|
+
// filter is narrow — is exactly when the file has the answer.
|
|
93
|
+
readAndReport(diag.name, logFile, wanted, match);
|
|
94
|
+
}
|
|
95
|
+
if (options.follow) {
|
|
96
|
+
await follow(() => client.getLogs({ name: diag.name, lines: FOLLOW_WINDOW }), captured, match, new Map(), client);
|
|
97
|
+
}
|
|
98
|
+
await client.disconnect();
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
// Not an app the daemon runs now: what is stored about it, which for an
|
|
102
|
+
// app on a node is what that node synced here.
|
|
103
|
+
const window = wanted.minLevel !== null || wanted.pattern ? STORED_WINDOW : wanted.lines;
|
|
104
|
+
let stored = await client.getLogs({ name: appName, lines: window });
|
|
105
|
+
let note;
|
|
106
|
+
let fetch = () => client.getLogs({ name: appName, lines: FOLLOW_WINDOW });
|
|
107
|
+
if (!stored.some((e) => typeof e.data?.['sourceNode'] === 'string')) {
|
|
108
|
+
// Only this machine's own records, or none: an app that ran here left
|
|
109
|
+
// its file, and the file is the record.
|
|
110
|
+
const derived = derivedLogFile(appName, wanted.minLevel !== null && wanted.minLevel >= LEVEL_RANK.error ? 'error' : 'app');
|
|
111
|
+
if (derived) {
|
|
112
|
+
await client.disconnect();
|
|
113
|
+
await showDerivedFile(appName, wanted, match, options.follow ?? false);
|
|
114
|
+
return;
|
|
81
115
|
}
|
|
82
116
|
}
|
|
117
|
+
if (stored.length === 0) {
|
|
118
|
+
const mapped = await mapStackName(client, appName);
|
|
119
|
+
if (mapped) {
|
|
120
|
+
const ofStack = (entries) => entries.filter((e) => mapped.nodeIds.has(String(e.data?.['sourceNode'])));
|
|
121
|
+
stored = ofStack(await client.getLogs({ name: mapped.reportedAs, lines: window }));
|
|
122
|
+
note = `${appName} runs on its stack's node as ${mapped.reportedAs}`;
|
|
123
|
+
fetch = async () => ofStack(await client.getLogs({ name: mapped.reportedAs, lines: FOLLOW_WINDOW }));
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (stored.length > 0) {
|
|
127
|
+
const names = await nodeNames(client);
|
|
128
|
+
const hits = stored.filter(match);
|
|
129
|
+
const nodes = [...new Set(stored.map((e) => e.data?.['sourceNode'] ?? null))].map((id) => ({
|
|
130
|
+
id,
|
|
131
|
+
name: id === null ? 'this machine' : (names.get(id) ?? id),
|
|
132
|
+
}));
|
|
133
|
+
const shortfall = hits.length < wanted.lines && stored.length >= window ? `searched the last ${stored.length} stored records` : undefined;
|
|
134
|
+
report(appName, { source: 'stored', nodes, ...(note || shortfall ? { note: [note, shortfall].filter(Boolean).join('; ') } : {}) }, hits.slice(-wanted.lines), names);
|
|
135
|
+
if (options.follow)
|
|
136
|
+
await follow(fetch, stored, match, names, client);
|
|
137
|
+
await client.disconnect();
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
await client.disconnect();
|
|
141
|
+
if (emitJson({ app: appName, source: 'stored', count: 0, entries: [] }))
|
|
142
|
+
return;
|
|
143
|
+
log.info(`No log entries found for "${appName}" — the daemon does not run it, holds no records for it, and it left no log file`);
|
|
83
144
|
}
|
|
84
145
|
catch (err) {
|
|
85
|
-
|
|
146
|
+
await client.disconnect();
|
|
147
|
+
emitError(err.message, { app: appName });
|
|
148
|
+
process.exitCode = 1;
|
|
86
149
|
}
|
|
87
|
-
await client.disconnect();
|
|
88
150
|
}
|
|
89
151
|
// ---------------------------------------------------------------------------
|
|
90
|
-
//
|
|
152
|
+
// Options
|
|
91
153
|
// ---------------------------------------------------------------------------
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
154
|
+
const LEVEL_NAMES = Object.keys(LEVEL_RANK);
|
|
155
|
+
/**
|
|
156
|
+
* Check the options before anything is read.
|
|
157
|
+
*
|
|
158
|
+
* `--grep '('` used to escape as a raw `SyntaxError` stack (the pattern was
|
|
159
|
+
* compiled outside every `try`), and `--level bogus` silently disabled the
|
|
160
|
+
* level filter — a query that asks for nothing recognisable answered as if
|
|
161
|
+
* it had asked for everything. Both are refused now, with what IS accepted.
|
|
162
|
+
*/
|
|
163
|
+
function readOptions(options) {
|
|
164
|
+
const lines = options.lines ?? 50;
|
|
165
|
+
if (!Number.isInteger(lines) || lines < 1) {
|
|
166
|
+
return { ok: false, error: `-n must be a whole number of records, 1 or more (got ${String(options.lines)})` };
|
|
167
|
+
}
|
|
168
|
+
let minLevel = null;
|
|
169
|
+
if (options.level !== undefined) {
|
|
170
|
+
const rank = levelRank(options.level.trim().toLowerCase());
|
|
171
|
+
if (rank === undefined) {
|
|
172
|
+
return { ok: false, error: `Unknown level '${options.level}' — use one of ${LEVEL_NAMES.join(', ')}` };
|
|
173
|
+
}
|
|
174
|
+
minLevel = rank;
|
|
175
|
+
}
|
|
176
|
+
let pattern = null;
|
|
177
|
+
if (options.grep !== undefined) {
|
|
178
|
+
try {
|
|
179
|
+
pattern = new RegExp(options.grep, 'i');
|
|
180
|
+
}
|
|
181
|
+
catch (err) {
|
|
182
|
+
return { ok: false, error: `Invalid --grep pattern '${options.grep}': ${err.message}` };
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return { ok: true, wanted: { lines, minLevel, pattern } };
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* The filter a record must pass.
|
|
189
|
+
*
|
|
190
|
+
* A level filter keeps records at or above it. A record whose level could not
|
|
191
|
+
* be read (`unknown`) has no place in that order, so it is shown only when no
|
|
192
|
+
* `--level` is given — it is not `info`, which is what it used to be called.
|
|
193
|
+
*/
|
|
194
|
+
function matcher(wanted) {
|
|
95
195
|
return (entry) => {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
if (entryLevel < minLevel)
|
|
196
|
+
if (wanted.minLevel !== null) {
|
|
197
|
+
const rank = levelRank(entry.level);
|
|
198
|
+
if (rank === undefined || rank < wanted.minLevel)
|
|
100
199
|
return false;
|
|
101
200
|
}
|
|
102
|
-
|
|
103
|
-
if (grepPattern && !grepPattern.test(entry.message)) {
|
|
104
|
-
return false;
|
|
105
|
-
}
|
|
106
|
-
return true;
|
|
201
|
+
return !wanted.pattern || wanted.pattern.test(entry.message);
|
|
107
202
|
};
|
|
108
203
|
}
|
|
204
|
+
function refuse(message, appName) {
|
|
205
|
+
emitError(message, appName ? { app: appName } : undefined);
|
|
206
|
+
process.exitCode = 1;
|
|
207
|
+
}
|
|
109
208
|
// ---------------------------------------------------------------------------
|
|
110
|
-
//
|
|
209
|
+
// Where an app's records are
|
|
111
210
|
// ---------------------------------------------------------------------------
|
|
211
|
+
/** The daemon's diagnostics for a name it runs, or null for one it does not. */
|
|
212
|
+
async function inspectApp(client, appName) {
|
|
213
|
+
try {
|
|
214
|
+
return await client.inspect({ name: appName });
|
|
215
|
+
}
|
|
216
|
+
catch {
|
|
217
|
+
return null;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
/** Node id → the name the operator gave it. Empty when the daemon keeps no node list. */
|
|
221
|
+
async function nodeNames(client) {
|
|
222
|
+
try {
|
|
223
|
+
const nodes = await (await client.service('OmnitronNodes')).listNodes();
|
|
224
|
+
return new Map(nodes.map((n) => [n.id, n.name]));
|
|
225
|
+
}
|
|
226
|
+
catch {
|
|
227
|
+
return new Map();
|
|
228
|
+
}
|
|
229
|
+
}
|
|
112
230
|
/**
|
|
113
|
-
*
|
|
114
|
-
*
|
|
231
|
+
* A stack's name for an app on a remote stack → the name its node reports.
|
|
232
|
+
*
|
|
233
|
+
* A node runs what it is given under its own stack, `<project>/deployed/<app>`,
|
|
234
|
+
* and its synced rows carry that name — so `daos/test/main` has no rows under
|
|
235
|
+
* its own name. The stack's config says which hosts are its nodes (and which
|
|
236
|
+
* apps each runs); the node list says which node ids those hosts are. Rows are
|
|
237
|
+
* then taken from those nodes only: another remote stack of the same project
|
|
238
|
+
* reports the same `<project>/deployed/<app>` from ITS nodes, and answering a
|
|
239
|
+
* question about one deployment with another's lines is the failure
|
|
240
|
+
* `resolveAppName` refuses for the same reason.
|
|
115
241
|
*/
|
|
116
|
-
function
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
return;
|
|
242
|
+
async function mapStackName(client, name) {
|
|
243
|
+
const parts = name.split('/');
|
|
244
|
+
if (parts.length < 3)
|
|
245
|
+
return null;
|
|
246
|
+
const [project, stack, ...rest] = parts;
|
|
247
|
+
const app = rest.join('/');
|
|
248
|
+
if (stack === NODE_STACK)
|
|
249
|
+
return null;
|
|
250
|
+
try {
|
|
251
|
+
const info = await (await client.service('OmnitronProject')).getStack({ project, stack });
|
|
252
|
+
if (!info || info.type === 'local')
|
|
253
|
+
return null;
|
|
254
|
+
const hosts = new Set((info.config?.nodes ?? []).filter((n) => !n.apps || n.apps.includes(app)).map((n) => n.host));
|
|
255
|
+
if (hosts.size === 0)
|
|
256
|
+
return null;
|
|
257
|
+
const nodes = await (await client.service('OmnitronNodes')).listNodes();
|
|
258
|
+
const nodeIds = new Set(nodes.filter((n) => hosts.has(n.host)).map((n) => n.id));
|
|
259
|
+
return nodeIds.size > 0 ? { reportedAs: `${project}/${NODE_STACK}/${app}`, nodeIds } : null;
|
|
120
260
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
// Check both app-specific and main omnitron log
|
|
124
|
-
const filePath = path.join(LOG_DIR, `${appName}.log`);
|
|
125
|
-
const omnitronPath = path.join(LOG_DIR, 'omnitron.log');
|
|
126
|
-
if (fs.existsSync(filePath)) {
|
|
127
|
-
logFiles.push({ app: appName, filePath });
|
|
128
|
-
}
|
|
129
|
-
else if (fs.existsSync(omnitronPath)) {
|
|
130
|
-
// Filter omnitron.log by app name via childProcess field
|
|
131
|
-
logFiles.push({ app: appName, filePath: omnitronPath });
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
log.info(`No log file found for app "${appName}"`);
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
261
|
+
catch {
|
|
262
|
+
return null;
|
|
137
263
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* The file an app writes, derived from its name, for when the daemon cannot
|
|
267
|
+
* be asked (or does not run the app now).
|
|
268
|
+
*
|
|
269
|
+
* Derived the way `LogManager.getLogDir` writes: a qualified name under its
|
|
270
|
+
* project and stack; a bare name under the one project stack that has it, and
|
|
271
|
+
* only failing that under the standalone directory. The legacy flat `<app>.log`
|
|
272
|
+
* and the daemon's own log are never an app's answer — both used to be probed,
|
|
273
|
+
* and `logs main` read `~/.omnitron/logs/main/app.log` (last written Sep 7)
|
|
274
|
+
* while `main` was writing under `projects/daos/dev/`.
|
|
275
|
+
*/
|
|
276
|
+
export function derivedLogFile(appName, kind, roots = { projects: PROJECTS_DIR, logs: LOG_DIR }) {
|
|
277
|
+
const fileName = kind === 'error' ? 'error.log' : 'app.log';
|
|
278
|
+
const parts = appName.split('/');
|
|
279
|
+
if (parts.length >= 3) {
|
|
280
|
+
const [project, stack, ...rest] = parts;
|
|
281
|
+
const dir = path.join(roots.projects, project, stack, 'logs', rest.join('/'));
|
|
282
|
+
return fs.existsSync(path.join(dir, 'app.log')) ? { file: path.join(dir, fileName) } : null;
|
|
283
|
+
}
|
|
284
|
+
const found = [];
|
|
285
|
+
for (const project of listDirs(roots.projects)) {
|
|
286
|
+
for (const stack of listDirs(path.join(roots.projects, project))) {
|
|
287
|
+
const dir = path.join(roots.projects, project, stack, 'logs', appName);
|
|
288
|
+
if (fs.existsSync(path.join(dir, 'app.log')))
|
|
289
|
+
found.push(dir);
|
|
147
290
|
}
|
|
148
291
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
292
|
+
if (found.length === 1)
|
|
293
|
+
return { file: path.join(found[0], fileName) };
|
|
294
|
+
if (found.length > 1)
|
|
295
|
+
return { ambiguous: found };
|
|
296
|
+
const standalone = path.join(roots.logs, appName);
|
|
297
|
+
return fs.existsSync(path.join(standalone, 'app.log')) ? { file: path.join(standalone, fileName) } : null;
|
|
298
|
+
}
|
|
299
|
+
function listDirs(dir) {
|
|
300
|
+
try {
|
|
301
|
+
return fs
|
|
302
|
+
.readdirSync(dir, { withFileTypes: true })
|
|
303
|
+
.filter((e) => e.isDirectory())
|
|
304
|
+
.map((e) => e.name);
|
|
305
|
+
}
|
|
306
|
+
catch {
|
|
307
|
+
return [];
|
|
154
308
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
const
|
|
158
|
-
|
|
159
|
-
|
|
309
|
+
}
|
|
310
|
+
async function showDerivedFile(appName, wanted, match, following) {
|
|
311
|
+
const kind = wanted.minLevel !== null && wanted.minLevel >= LEVEL_RANK.error ? 'error' : 'app';
|
|
312
|
+
const derived = derivedLogFile(appName, kind);
|
|
313
|
+
if (!derived) {
|
|
314
|
+
if (emitJson({ app: appName, source: 'file', count: 0, entries: [] }))
|
|
315
|
+
return;
|
|
316
|
+
log.info(`No log file found for app "${appName}" — nothing under ${PROJECTS_DIR}/<project>/<stack>/logs/${appName} or ${LOG_DIR}/${appName}`);
|
|
160
317
|
return;
|
|
161
318
|
}
|
|
162
|
-
|
|
163
|
-
|
|
319
|
+
if ('ambiguous' in derived) {
|
|
320
|
+
refuse(`App name '${appName}' is ambiguous — logs exist under ${derived.ambiguous.join(', ')}. Use the full <project>/<stack>/<app> name.`, appName);
|
|
321
|
+
return;
|
|
164
322
|
}
|
|
323
|
+
await showFile(appName, derived.file, wanted, match, following);
|
|
324
|
+
}
|
|
325
|
+
function toEntry(app, record) {
|
|
326
|
+
const data = record.data ?? (record.source ? { source: record.source } : undefined);
|
|
327
|
+
const child = record.data?.['childProcess'];
|
|
328
|
+
return {
|
|
329
|
+
timestamp: record.time,
|
|
330
|
+
app: typeof child === 'string' ? child : app,
|
|
331
|
+
level: record.level,
|
|
332
|
+
message: record.message || record.raw || '',
|
|
333
|
+
...(data ? { data } : {}),
|
|
334
|
+
};
|
|
165
335
|
}
|
|
166
336
|
/**
|
|
167
|
-
*
|
|
168
|
-
*
|
|
337
|
+
* The last `want` records of a file that pass `match`, oldest first.
|
|
338
|
+
*
|
|
339
|
+
* Read backwards in chunks until that many are found or `limit` bytes have
|
|
340
|
+
* been searched. This read a fixed `lines × 3` raw lines and filtered after:
|
|
341
|
+
* with the default 50 that is 150 lines — a minute and a half of the daemon's
|
|
342
|
+
* log at 100 lines a minute — so `logs omnitron --level error --grep "Failed
|
|
343
|
+
* to run task"` found nothing while the line sat 6 504 lines back.
|
|
169
344
|
*/
|
|
170
|
-
function
|
|
345
|
+
function readMatches(file, app, want, match, limit = FILE_SEARCH_LIMIT) {
|
|
346
|
+
const fd = fs.openSync(file, 'r');
|
|
171
347
|
try {
|
|
172
|
-
const stat = fs.
|
|
173
|
-
const
|
|
174
|
-
let
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
const
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
348
|
+
const stat = fs.fstatSync(fd);
|
|
349
|
+
const found = [];
|
|
350
|
+
let done = false;
|
|
351
|
+
const assembler = new BackwardAssembler(stat.mtimeMs, (record) => {
|
|
352
|
+
if (done)
|
|
353
|
+
return;
|
|
354
|
+
const entry = toEntry(app, record);
|
|
355
|
+
if (match(entry)) {
|
|
356
|
+
found.push(entry);
|
|
357
|
+
if (found.length >= want)
|
|
358
|
+
done = true;
|
|
359
|
+
}
|
|
360
|
+
});
|
|
361
|
+
let pos = stat.size;
|
|
362
|
+
let carry = Buffer.alloc(0);
|
|
363
|
+
let scanned = 0;
|
|
364
|
+
while (pos > 0 && !done && scanned < limit) {
|
|
365
|
+
const len = Math.min(FILE_CHUNK, pos);
|
|
366
|
+
pos -= len;
|
|
367
|
+
const chunk = Buffer.alloc(len);
|
|
368
|
+
fs.readSync(fd, chunk, 0, len, pos);
|
|
369
|
+
scanned += len;
|
|
370
|
+
const buf = carry.length > 0 ? Buffer.concat([chunk, carry]) : chunk;
|
|
371
|
+
let start = 0;
|
|
372
|
+
if (pos > 0) {
|
|
373
|
+
// The first line of this chunk may begin in the chunk before it.
|
|
374
|
+
const nl = buf.indexOf(0x0a);
|
|
375
|
+
if (nl === -1) {
|
|
376
|
+
carry = buf;
|
|
201
377
|
continue;
|
|
202
378
|
}
|
|
379
|
+
carry = buf.subarray(0, nl);
|
|
380
|
+
start = nl + 1;
|
|
381
|
+
}
|
|
382
|
+
else {
|
|
383
|
+
carry = Buffer.alloc(0);
|
|
384
|
+
}
|
|
385
|
+
const lines = buf.subarray(start).toString('utf8').split('\n');
|
|
386
|
+
for (let i = lines.length - 1; i >= 0 && !done; i--) {
|
|
387
|
+
const line = lines[i];
|
|
388
|
+
if (line === '' && i === lines.length - 1)
|
|
389
|
+
continue;
|
|
390
|
+
assembler.pushEarlier(line);
|
|
203
391
|
}
|
|
204
|
-
entries.push(entry);
|
|
205
392
|
}
|
|
206
|
-
|
|
393
|
+
// Indented lines at the very start of the file belong to a record that
|
|
394
|
+
// began before it (a rotation). Past the search limit, their header is
|
|
395
|
+
// simply further back, and they are left alone.
|
|
396
|
+
if (!done && pos === 0)
|
|
397
|
+
assembler.finish();
|
|
398
|
+
return { entries: found.reverse(), scannedBytes: scanned, whole: pos === 0, size: stat.size, modified: stat.mtime };
|
|
207
399
|
}
|
|
208
|
-
|
|
209
|
-
|
|
400
|
+
finally {
|
|
401
|
+
fs.closeSync(fd);
|
|
210
402
|
}
|
|
211
403
|
}
|
|
212
|
-
function
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
404
|
+
function describeRead(file, read, want) {
|
|
405
|
+
const note = read.entries.length >= want
|
|
406
|
+
? undefined
|
|
407
|
+
: read.whole
|
|
408
|
+
? `${read.entries.length} matching in the whole file`
|
|
409
|
+
: `${read.entries.length} matching in the last ${Math.round(read.scannedBytes / (1024 * 1024))} MB of ${Math.round(read.size / (1024 * 1024))} MB`;
|
|
410
|
+
return { source: 'file', file, modified: read.modified.toISOString(), ...(note ? { note } : {}) };
|
|
411
|
+
}
|
|
412
|
+
/** Read a file for N matches and print them, saying which file and how fresh it is. */
|
|
413
|
+
function readAndReport(app, file, wanted, match) {
|
|
414
|
+
if (!fs.existsSync(file)) {
|
|
415
|
+
if (emitJson({ app, source: 'file', file, count: 0, entries: [] }))
|
|
416
|
+
return null;
|
|
417
|
+
log.info(`No log entries found — ${file} does not exist`);
|
|
418
|
+
return null;
|
|
222
419
|
}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
420
|
+
const read = readMatches(file, app, wanted.lines, match);
|
|
421
|
+
report(app, describeRead(file, read, wanted.lines), read.entries, new Map());
|
|
422
|
+
return read;
|
|
423
|
+
}
|
|
424
|
+
async function showFile(app, file, wanted, match, following) {
|
|
425
|
+
const read = readAndReport(app, file, wanted, match);
|
|
426
|
+
if (following)
|
|
427
|
+
await followFile(app, file, match, read?.size ?? 0);
|
|
428
|
+
}
|
|
429
|
+
// ---------------------------------------------------------------------------
|
|
430
|
+
// Following
|
|
431
|
+
// ---------------------------------------------------------------------------
|
|
432
|
+
/** What identifies a record across two reads of the same window. */
|
|
433
|
+
function fingerprint(e) {
|
|
434
|
+
return `${e.timestamp}\u0000${e.app}\u0000${e.level}\u0000${e.message}`;
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* The records of `current` that `previous` had not shown.
|
|
438
|
+
*
|
|
439
|
+
* Both are windows onto one append-only sequence, so `previous`'s tail
|
|
440
|
+
* reappears in `current` and everything after it is new. `-f` used to keep
|
|
441
|
+
* the records with a timestamp above the last one printed — which printed the
|
|
442
|
+
* same old lines every second while they were dated at the read, and still
|
|
443
|
+
* drops a record that arrives after one with a later stamp from another
|
|
444
|
+
* process of the same app (`main`'s file: .528 followed by .516).
|
|
445
|
+
*/
|
|
446
|
+
function unseen(previous, current) {
|
|
447
|
+
const tail = previous.slice(-8).map(fingerprint);
|
|
448
|
+
if (tail.length === 0)
|
|
449
|
+
return current;
|
|
450
|
+
const keys = current.map(fingerprint);
|
|
451
|
+
for (let p = 0; p < keys.length; p++) {
|
|
452
|
+
let aligned = true;
|
|
453
|
+
for (let i = 0; i < tail.length; i++) {
|
|
454
|
+
const at = p - (tail.length - 1 - i);
|
|
455
|
+
if (at < 0)
|
|
456
|
+
continue;
|
|
457
|
+
if (keys[at] !== tail[i]) {
|
|
458
|
+
aligned = false;
|
|
459
|
+
break;
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
if (aligned)
|
|
463
|
+
return current.slice(p + 1);
|
|
230
464
|
}
|
|
465
|
+
return current;
|
|
231
466
|
}
|
|
232
|
-
function
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
467
|
+
async function follow(fetch, seen, match, names, client) {
|
|
468
|
+
let previous = seen;
|
|
469
|
+
let timer = null;
|
|
470
|
+
const tick = async () => {
|
|
471
|
+
try {
|
|
472
|
+
const current = await fetch();
|
|
473
|
+
const fresh = unseen(previous, current).filter(match);
|
|
474
|
+
previous = current;
|
|
475
|
+
if (fresh.length > 0)
|
|
476
|
+
printEntries(fresh, names);
|
|
477
|
+
}
|
|
478
|
+
catch {
|
|
479
|
+
// Connection lost — keep asking.
|
|
480
|
+
}
|
|
481
|
+
timer = setTimeout(() => void tick(), FOLLOW_INTERVAL_MS);
|
|
482
|
+
};
|
|
483
|
+
timer = setTimeout(() => void tick(), FOLLOW_INTERVAL_MS);
|
|
484
|
+
process.on('SIGINT', () => {
|
|
485
|
+
if (timer)
|
|
486
|
+
clearTimeout(timer);
|
|
487
|
+
void client.disconnect();
|
|
488
|
+
process.exit(0);
|
|
489
|
+
});
|
|
490
|
+
await new Promise(() => { });
|
|
491
|
+
}
|
|
492
|
+
/** Print what is appended to a file, from `from` on — a rotated file starts over. */
|
|
493
|
+
async function followFile(app, file, match, from) {
|
|
494
|
+
let pos = from;
|
|
495
|
+
let carry = Buffer.alloc(0);
|
|
496
|
+
const assembler = new LineAssembler((_key, record) => {
|
|
497
|
+
const entry = toEntry(app, record);
|
|
498
|
+
if (match(entry))
|
|
499
|
+
printEntries([entry], new Map());
|
|
500
|
+
});
|
|
501
|
+
let timer = null;
|
|
502
|
+
const tick = () => {
|
|
503
|
+
try {
|
|
504
|
+
const size = fs.statSync(file).size;
|
|
505
|
+
if (size < pos) {
|
|
506
|
+
pos = 0;
|
|
507
|
+
carry = Buffer.alloc(0);
|
|
508
|
+
}
|
|
509
|
+
if (size > pos) {
|
|
510
|
+
const fd = fs.openSync(file, 'r');
|
|
511
|
+
try {
|
|
512
|
+
while (pos < size) {
|
|
513
|
+
const len = Math.min(FILE_CHUNK * 4, size - pos);
|
|
514
|
+
const chunk = Buffer.alloc(len);
|
|
515
|
+
fs.readSync(fd, chunk, 0, len, pos);
|
|
516
|
+
pos += len;
|
|
517
|
+
const buf = carry.length > 0 ? Buffer.concat([carry, chunk]) : chunk;
|
|
518
|
+
const nl = buf.lastIndexOf(0x0a);
|
|
519
|
+
if (nl === -1) {
|
|
520
|
+
carry = buf;
|
|
521
|
+
continue;
|
|
522
|
+
}
|
|
523
|
+
carry = buf.subarray(nl + 1);
|
|
524
|
+
for (const line of buf.subarray(0, nl).toString('utf8').split('\n'))
|
|
525
|
+
assembler.push(file, line);
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
finally {
|
|
529
|
+
fs.closeSync(fd);
|
|
530
|
+
}
|
|
531
|
+
assembler.sealAll();
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
catch {
|
|
535
|
+
// Mid-rotation the file can be briefly absent.
|
|
536
|
+
}
|
|
537
|
+
timer = setTimeout(tick, FOLLOW_INTERVAL_MS);
|
|
538
|
+
};
|
|
539
|
+
timer = setTimeout(tick, FOLLOW_INTERVAL_MS);
|
|
540
|
+
process.on('SIGINT', () => {
|
|
541
|
+
if (timer)
|
|
542
|
+
clearTimeout(timer);
|
|
543
|
+
process.exit(0);
|
|
544
|
+
});
|
|
545
|
+
await new Promise(() => { });
|
|
244
546
|
}
|
|
245
547
|
// ---------------------------------------------------------------------------
|
|
246
|
-
//
|
|
548
|
+
// Output
|
|
247
549
|
// ---------------------------------------------------------------------------
|
|
248
|
-
|
|
249
|
-
|
|
550
|
+
/** One answer: its source said once, then its records. */
|
|
551
|
+
function report(app, source, entries, names) {
|
|
552
|
+
if (emitJson({ app, ...source, count: entries.length, entries }))
|
|
553
|
+
return;
|
|
554
|
+
if (source.source === 'file') {
|
|
555
|
+
log.info(`${source.file} — last written ${source.modified}${source.note ? ` (${source.note})` : ''}`);
|
|
556
|
+
}
|
|
557
|
+
else if (source.source === 'stored') {
|
|
558
|
+
const from = (source.nodes ?? []).map((n) => (n.id === null ? n.name : `node ${n.name}${n.name === n.id ? '' : ` (${n.id.slice(0, 8)})`}`));
|
|
559
|
+
log.info(`Records for ${app} from ${from.join(', ')}${source.note ? ` — ${source.note}` : ''}`);
|
|
560
|
+
}
|
|
561
|
+
if (entries.length === 0) {
|
|
562
|
+
log.info('No log entries found');
|
|
563
|
+
return;
|
|
564
|
+
}
|
|
565
|
+
printEntries(entries, names);
|
|
566
|
+
}
|
|
567
|
+
const utcDay = (ts) => (Number.isFinite(ts) ? new Date(ts).toISOString().slice(0, 10) : '');
|
|
568
|
+
/**
|
|
569
|
+
* Print records, with the date when it is not today.
|
|
570
|
+
*
|
|
571
|
+
* Times printed as a bare `16:29:11` — so records from 2026-05-28 in an
|
|
572
|
+
* abandoned file read as this afternoon's. A batch that is not all from
|
|
573
|
+
* today (UTC, as the times are) prints the date on every line.
|
|
574
|
+
*/
|
|
575
|
+
function printEntries(entries, names) {
|
|
576
|
+
const today = utcDay(Date.now());
|
|
577
|
+
const dated = entries.some((e) => utcDay(e.timestamp) !== today);
|
|
578
|
+
for (const entry of entries)
|
|
579
|
+
printLogEntry(entry, dated, names);
|
|
580
|
+
}
|
|
581
|
+
function printLogEntry(entry, dated, names) {
|
|
582
|
+
const iso = Number.isFinite(entry.timestamp) ? new Date(entry.timestamp).toISOString() : '????-??-??T??:??:??.???Z';
|
|
583
|
+
const time = dated ? `${iso.slice(0, 10)} ${iso.slice(11, 23)}` : iso.slice(11, 23);
|
|
250
584
|
const level = formatLevel(entry.level);
|
|
251
|
-
const
|
|
585
|
+
const node = entry.data?.['sourceNode'];
|
|
586
|
+
const where = typeof node === 'string' ? `${entry.app}@${names.get(node) ?? node.slice(0, 8)}` : entry.app;
|
|
587
|
+
const app = prism.cyan(`[${where}]`);
|
|
252
588
|
// Show relevant data fields inline for richer context
|
|
253
589
|
let extra = '';
|
|
254
590
|
if (entry.data) {
|
|
@@ -269,19 +605,23 @@ function printLogEntry(entry) {
|
|
|
269
605
|
console.log(`${prism.dim(time)} ${level} ${app} ${entry.message}${extra}`);
|
|
270
606
|
}
|
|
271
607
|
function formatLevel(level) {
|
|
608
|
+
const label = level.toUpperCase().padEnd(7);
|
|
272
609
|
switch (level) {
|
|
273
610
|
case 'fatal':
|
|
274
611
|
case 'error':
|
|
275
|
-
return prism.red(
|
|
612
|
+
return prism.red(label);
|
|
276
613
|
case 'warn':
|
|
277
|
-
return prism.yellow(
|
|
614
|
+
return prism.yellow(label);
|
|
278
615
|
case 'info':
|
|
279
|
-
return prism.green(
|
|
616
|
+
return prism.green(label);
|
|
280
617
|
case 'debug':
|
|
281
618
|
case 'trace':
|
|
282
|
-
|
|
619
|
+
case 'unknown':
|
|
620
|
+
return prism.dim(label);
|
|
283
621
|
default:
|
|
284
|
-
return
|
|
622
|
+
return label;
|
|
285
623
|
}
|
|
286
624
|
}
|
|
625
|
+
/** Test-only — the pieces the courts reach directly. */
|
|
626
|
+
export const __test = { readOptions, derivedLogFile, readMatches, unseen, printEntries };
|
|
287
627
|
//# sourceMappingURL=logs.js.map
|