@omnitron-dev/omnitron 0.1.1
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/LICENSE +21 -0
- package/README.md +35 -0
- package/dist/cli/omnitron.d.ts +9 -0
- package/dist/cli/omnitron.d.ts.map +1 -0
- package/dist/cli/omnitron.js +768 -0
- package/dist/cli/omnitron.js.map +1 -0
- package/dist/cluster/cluster.rpc-service.d.ts +48 -0
- package/dist/cluster/cluster.rpc-service.d.ts.map +1 -0
- package/dist/cluster/cluster.rpc-service.js +105 -0
- package/dist/cluster/cluster.rpc-service.js.map +1 -0
- package/dist/cluster/config-sync.d.ts +89 -0
- package/dist/cluster/config-sync.d.ts.map +1 -0
- package/dist/cluster/config-sync.js +162 -0
- package/dist/cluster/config-sync.js.map +1 -0
- package/dist/cluster/index.d.ts +9 -0
- package/dist/cluster/index.d.ts.map +1 -0
- package/dist/cluster/index.js +7 -0
- package/dist/cluster/index.js.map +1 -0
- package/dist/cluster/leader-election.d.ts +145 -0
- package/dist/cluster/leader-election.d.ts.map +1 -0
- package/dist/cluster/leader-election.js +410 -0
- package/dist/cluster/leader-election.js.map +1 -0
- package/dist/cluster/slave-connector.d.ts +104 -0
- package/dist/cluster/slave-connector.d.ts.map +1 -0
- package/dist/cluster/slave-connector.js +316 -0
- package/dist/cluster/slave-connector.js.map +1 -0
- package/dist/commands/backup.d.ts +9 -0
- package/dist/commands/backup.d.ts.map +1 -0
- package/dist/commands/backup.js +81 -0
- package/dist/commands/backup.js.map +1 -0
- package/dist/commands/cluster.d.ts +9 -0
- package/dist/commands/cluster.d.ts.map +1 -0
- package/dist/commands/cluster.js +148 -0
- package/dist/commands/cluster.js.map +1 -0
- package/dist/commands/daemon-cmd.d.ts +11 -0
- package/dist/commands/daemon-cmd.d.ts.map +1 -0
- package/dist/commands/daemon-cmd.js +182 -0
- package/dist/commands/daemon-cmd.js.map +1 -0
- package/dist/commands/deploy.d.ts +17 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +110 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/dev.d.ts +23 -0
- package/dist/commands/dev.d.ts.map +1 -0
- package/dist/commands/dev.js +76 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/discover.d.ts +9 -0
- package/dist/commands/discover.d.ts.map +1 -0
- package/dist/commands/discover.js +124 -0
- package/dist/commands/discover.js.map +1 -0
- package/dist/commands/env.d.ts +5 -0
- package/dist/commands/env.d.ts.map +1 -0
- package/dist/commands/env.js +30 -0
- package/dist/commands/env.js.map +1 -0
- package/dist/commands/exec.d.ts +5 -0
- package/dist/commands/exec.d.ts.map +1 -0
- package/dist/commands/exec.js +36 -0
- package/dist/commands/exec.js.map +1 -0
- package/dist/commands/fleet.d.ts +9 -0
- package/dist/commands/fleet.d.ts.map +1 -0
- package/dist/commands/fleet.js +136 -0
- package/dist/commands/fleet.js.map +1 -0
- package/dist/commands/health-check.d.ts +12 -0
- package/dist/commands/health-check.d.ts.map +1 -0
- package/dist/commands/health-check.js +91 -0
- package/dist/commands/health-check.js.map +1 -0
- package/dist/commands/health.d.ts +7 -0
- package/dist/commands/health.d.ts.map +1 -0
- package/dist/commands/health.js +44 -0
- package/dist/commands/health.js.map +1 -0
- package/dist/commands/infra.d.ts +32 -0
- package/dist/commands/infra.d.ts.map +1 -0
- package/dist/commands/infra.js +179 -0
- package/dist/commands/infra.js.map +1 -0
- package/dist/commands/init.d.ts +5 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +78 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/inspect.d.ts +7 -0
- package/dist/commands/inspect.d.ts.map +1 -0
- package/dist/commands/inspect.js +95 -0
- package/dist/commands/inspect.js.map +1 -0
- package/dist/commands/k8s.d.ts +7 -0
- package/dist/commands/k8s.d.ts.map +1 -0
- package/dist/commands/k8s.js +74 -0
- package/dist/commands/k8s.js.map +1 -0
- package/dist/commands/kb.d.ts +21 -0
- package/dist/commands/kb.d.ts.map +1 -0
- package/dist/commands/kb.js +137 -0
- package/dist/commands/kb.js.map +1 -0
- package/dist/commands/list.d.ts +7 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +77 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/logs.d.ts +17 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +287 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/metrics.d.ts +7 -0
- package/dist/commands/metrics.d.ts.map +1 -0
- package/dist/commands/metrics.js +64 -0
- package/dist/commands/metrics.js.map +1 -0
- package/dist/commands/monit.d.ts +7 -0
- package/dist/commands/monit.d.ts.map +1 -0
- package/dist/commands/monit.js +90 -0
- package/dist/commands/monit.js.map +1 -0
- package/dist/commands/node.d.ts +33 -0
- package/dist/commands/node.d.ts.map +1 -0
- package/dist/commands/node.js +169 -0
- package/dist/commands/node.js.map +1 -0
- package/dist/commands/pipeline.d.ts +9 -0
- package/dist/commands/pipeline.d.ts.map +1 -0
- package/dist/commands/pipeline.js +89 -0
- package/dist/commands/pipeline.js.map +1 -0
- package/dist/commands/project.d.ts +11 -0
- package/dist/commands/project.d.ts.map +1 -0
- package/dist/commands/project.js +54 -0
- package/dist/commands/project.js.map +1 -0
- package/dist/commands/reload.d.ts +5 -0
- package/dist/commands/reload.d.ts.map +1 -0
- package/dist/commands/reload.js +31 -0
- package/dist/commands/reload.js.map +1 -0
- package/dist/commands/remote.d.ts +13 -0
- package/dist/commands/remote.d.ts.map +1 -0
- package/dist/commands/remote.js +88 -0
- package/dist/commands/remote.js.map +1 -0
- package/dist/commands/restart.d.ts +5 -0
- package/dist/commands/restart.d.ts.map +1 -0
- package/dist/commands/restart.js +31 -0
- package/dist/commands/restart.js.map +1 -0
- package/dist/commands/scale.d.ts +5 -0
- package/dist/commands/scale.d.ts.map +1 -0
- package/dist/commands/scale.js +29 -0
- package/dist/commands/scale.js.map +1 -0
- package/dist/commands/secret.d.ts +14 -0
- package/dist/commands/secret.d.ts.map +1 -0
- package/dist/commands/secret.js +148 -0
- package/dist/commands/secret.js.map +1 -0
- package/dist/commands/stack.d.ts +18 -0
- package/dist/commands/stack.d.ts.map +1 -0
- package/dist/commands/stack.js +252 -0
- package/dist/commands/stack.js.map +1 -0
- package/dist/commands/start.d.ts +7 -0
- package/dist/commands/start.d.ts.map +1 -0
- package/dist/commands/start.js +43 -0
- package/dist/commands/start.js.map +1 -0
- package/dist/commands/status.d.ts +9 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +70 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/stop.d.ts +10 -0
- package/dist/commands/stop.d.ts.map +1 -0
- package/dist/commands/stop.js +69 -0
- package/dist/commands/stop.js.map +1 -0
- package/dist/commands/up.d.ts +47 -0
- package/dist/commands/up.d.ts.map +1 -0
- package/dist/commands/up.js +278 -0
- package/dist/commands/up.js.map +1 -0
- package/dist/commands/webapp.d.ts +17 -0
- package/dist/commands/webapp.d.ts.map +1 -0
- package/dist/commands/webapp.js +103 -0
- package/dist/commands/webapp.js.map +1 -0
- package/dist/config/defaults.d.ts +22 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +76 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/define-app.d.ts +6 -0
- package/dist/config/define-app.d.ts.map +1 -0
- package/dist/config/define-app.js +38 -0
- package/dist/config/define-app.js.map +1 -0
- package/dist/config/define-ecosystem.d.ts +6 -0
- package/dist/config/define-ecosystem.d.ts.map +1 -0
- package/dist/config/define-ecosystem.js +21 -0
- package/dist/config/define-ecosystem.js.map +1 -0
- package/dist/config/define-system.d.ts +9 -0
- package/dist/config/define-system.d.ts.map +1 -0
- package/dist/config/define-system.js +106 -0
- package/dist/config/define-system.js.map +1 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +6 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +11 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +68 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/omnitron-config.schema.d.ts +14 -0
- package/dist/config/omnitron-config.schema.d.ts.map +1 -0
- package/dist/config/omnitron-config.schema.js +35 -0
- package/dist/config/omnitron-config.schema.js.map +1 -0
- package/dist/config/types.d.ts +807 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +7 -0
- package/dist/config/types.js.map +1 -0
- package/dist/daemon/daemon-client.d.ts +147 -0
- package/dist/daemon/daemon-client.d.ts.map +1 -0
- package/dist/daemon/daemon-client.js +256 -0
- package/dist/daemon/daemon-client.js.map +1 -0
- package/dist/daemon/daemon-entry.d.ts +9 -0
- package/dist/daemon/daemon-entry.d.ts.map +1 -0
- package/dist/daemon/daemon-entry.js +62 -0
- package/dist/daemon/daemon-entry.js.map +1 -0
- package/dist/daemon/daemon-scheduler.d.ts +32 -0
- package/dist/daemon/daemon-scheduler.d.ts.map +1 -0
- package/dist/daemon/daemon-scheduler.js +93 -0
- package/dist/daemon/daemon-scheduler.js.map +1 -0
- package/dist/daemon/daemon.d.ts +115 -0
- package/dist/daemon/daemon.d.ts.map +1 -0
- package/dist/daemon/daemon.js +1202 -0
- package/dist/daemon/daemon.js.map +1 -0
- package/dist/daemon/daemon.module.d.ts +50 -0
- package/dist/daemon/daemon.module.d.ts.map +1 -0
- package/dist/daemon/daemon.module.js +506 -0
- package/dist/daemon/daemon.module.js.map +1 -0
- package/dist/daemon/daemon.rpc-service.d.ts +122 -0
- package/dist/daemon/daemon.rpc-service.d.ts.map +1 -0
- package/dist/daemon/daemon.rpc-service.js +452 -0
- package/dist/daemon/daemon.rpc-service.js.map +1 -0
- package/dist/daemon/pid-manager.d.ts +43 -0
- package/dist/daemon/pid-manager.d.ts.map +1 -0
- package/dist/daemon/pid-manager.js +103 -0
- package/dist/daemon/pid-manager.js.map +1 -0
- package/dist/daemon/state-store.d.ts +26 -0
- package/dist/daemon/state-store.d.ts.map +1 -0
- package/dist/daemon/state-store.js +34 -0
- package/dist/daemon/state-store.js.map +1 -0
- package/dist/database/index.d.ts +10 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +10 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/migrate.d.ts +11 -0
- package/dist/database/migrate.d.ts.map +1 -0
- package/dist/database/migrate.js +62 -0
- package/dist/database/migrate.js.map +1 -0
- package/dist/database/migrations/001_initial_schema.d.ts +12 -0
- package/dist/database/migrations/001_initial_schema.d.ts.map +1 -0
- package/dist/database/migrations/001_initial_schema.js +246 -0
- package/dist/database/migrations/001_initial_schema.js.map +1 -0
- package/dist/database/migrations/002_metrics_raw.d.ts +17 -0
- package/dist/database/migrations/002_metrics_raw.d.ts.map +1 -0
- package/dist/database/migrations/002_metrics_raw.js +44 -0
- package/dist/database/migrations/002_metrics_raw.js.map +1 -0
- package/dist/database/migrations/003_pipelines_traces.d.ts +14 -0
- package/dist/database/migrations/003_pipelines_traces.d.ts.map +1 -0
- package/dist/database/migrations/003_pipelines_traces.js +108 -0
- package/dist/database/migrations/003_pipelines_traces.js.map +1 -0
- package/dist/database/migrations/004_sync_buffer.d.ts +17 -0
- package/dist/database/migrations/004_sync_buffer.d.ts.map +1 -0
- package/dist/database/migrations/004_sync_buffer.js +59 -0
- package/dist/database/migrations/004_sync_buffer.js.map +1 -0
- package/dist/database/migrations/005_node_health_checks.d.ts +11 -0
- package/dist/database/migrations/005_node_health_checks.d.ts.map +1 -0
- package/dist/database/migrations/005_node_health_checks.js +71 -0
- package/dist/database/migrations/005_node_health_checks.js.map +1 -0
- package/dist/database/schema.d.ts +217 -0
- package/dist/database/schema.d.ts.map +1 -0
- package/dist/database/schema.js +9 -0
- package/dist/database/schema.js.map +1 -0
- package/dist/execution/execution.service.d.ts +72 -0
- package/dist/execution/execution.service.d.ts.map +1 -0
- package/dist/execution/execution.service.js +191 -0
- package/dist/execution/execution.service.js.map +1 -0
- package/dist/execution/index.d.ts +3 -0
- package/dist/execution/index.d.ts.map +1 -0
- package/dist/execution/index.js +2 -0
- package/dist/execution/index.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/infrastructure/config-normalizer.d.ts +13 -0
- package/dist/infrastructure/config-normalizer.d.ts.map +1 -0
- package/dist/infrastructure/config-normalizer.js +84 -0
- package/dist/infrastructure/config-normalizer.js.map +1 -0
- package/dist/infrastructure/container-runtime.d.ts +63 -0
- package/dist/infrastructure/container-runtime.d.ts.map +1 -0
- package/dist/infrastructure/container-runtime.js +304 -0
- package/dist/infrastructure/container-runtime.js.map +1 -0
- package/dist/infrastructure/gateway-generator.d.ts +63 -0
- package/dist/infrastructure/gateway-generator.d.ts.map +1 -0
- package/dist/infrastructure/gateway-generator.js +253 -0
- package/dist/infrastructure/gateway-generator.js.map +1 -0
- package/dist/infrastructure/index.d.ts +5 -0
- package/dist/infrastructure/index.d.ts.map +1 -0
- package/dist/infrastructure/index.js +5 -0
- package/dist/infrastructure/index.js.map +1 -0
- package/dist/infrastructure/infrastructure-gate.d.ts +48 -0
- package/dist/infrastructure/infrastructure-gate.d.ts.map +1 -0
- package/dist/infrastructure/infrastructure-gate.js +92 -0
- package/dist/infrastructure/infrastructure-gate.js.map +1 -0
- package/dist/infrastructure/infrastructure.service.d.ts +84 -0
- package/dist/infrastructure/infrastructure.service.d.ts.map +1 -0
- package/dist/infrastructure/infrastructure.service.js +502 -0
- package/dist/infrastructure/infrastructure.service.js.map +1 -0
- package/dist/infrastructure/presets/gateway-openresty.d.ts +10 -0
- package/dist/infrastructure/presets/gateway-openresty.d.ts.map +1 -0
- package/dist/infrastructure/presets/gateway-openresty.js +30 -0
- package/dist/infrastructure/presets/gateway-openresty.js.map +1 -0
- package/dist/infrastructure/presets/index.d.ts +14 -0
- package/dist/infrastructure/presets/index.d.ts.map +1 -0
- package/dist/infrastructure/presets/index.js +24 -0
- package/dist/infrastructure/presets/index.js.map +1 -0
- package/dist/infrastructure/presets/minio.d.ts +10 -0
- package/dist/infrastructure/presets/minio.d.ts.map +1 -0
- package/dist/infrastructure/presets/minio.js +60 -0
- package/dist/infrastructure/presets/minio.js.map +1 -0
- package/dist/infrastructure/presets/postgres.d.ts +9 -0
- package/dist/infrastructure/presets/postgres.d.ts.map +1 -0
- package/dist/infrastructure/presets/postgres.js +80 -0
- package/dist/infrastructure/presets/postgres.js.map +1 -0
- package/dist/infrastructure/presets/redis.d.ts +9 -0
- package/dist/infrastructure/presets/redis.d.ts.map +1 -0
- package/dist/infrastructure/presets/redis.js +32 -0
- package/dist/infrastructure/presets/redis.js.map +1 -0
- package/dist/infrastructure/presets/registry.d.ts +21 -0
- package/dist/infrastructure/presets/registry.d.ts.map +1 -0
- package/dist/infrastructure/presets/registry.js +87 -0
- package/dist/infrastructure/presets/registry.js.map +1 -0
- package/dist/infrastructure/presets/types.d.ts +88 -0
- package/dist/infrastructure/presets/types.d.ts.map +1 -0
- package/dist/infrastructure/presets/types.js +14 -0
- package/dist/infrastructure/presets/types.js.map +1 -0
- package/dist/infrastructure/runtime/types.d.ts +35 -0
- package/dist/infrastructure/runtime/types.d.ts.map +1 -0
- package/dist/infrastructure/runtime/types.js +9 -0
- package/dist/infrastructure/runtime/types.js.map +1 -0
- package/dist/infrastructure/server-registry.d.ts +16 -0
- package/dist/infrastructure/server-registry.d.ts.map +1 -0
- package/dist/infrastructure/server-registry.js +45 -0
- package/dist/infrastructure/server-registry.js.map +1 -0
- package/dist/infrastructure/service-resolver.d.ts +93 -0
- package/dist/infrastructure/service-resolver.d.ts.map +1 -0
- package/dist/infrastructure/service-resolver.js +419 -0
- package/dist/infrastructure/service-resolver.js.map +1 -0
- package/dist/infrastructure/stack-infra-manager.d.ts +81 -0
- package/dist/infrastructure/stack-infra-manager.d.ts.map +1 -0
- package/dist/infrastructure/stack-infra-manager.js +309 -0
- package/dist/infrastructure/stack-infra-manager.js.map +1 -0
- package/dist/infrastructure/types.d.ts +413 -0
- package/dist/infrastructure/types.d.ts.map +1 -0
- package/dist/infrastructure/types.js +10 -0
- package/dist/infrastructure/types.js.map +1 -0
- package/dist/mcp/mcp-bridge.d.ts +21 -0
- package/dist/mcp/mcp-bridge.d.ts.map +1 -0
- package/dist/mcp/mcp-bridge.js +126 -0
- package/dist/mcp/mcp-bridge.js.map +1 -0
- package/dist/mcp/tool-groups/apps.tools.d.ts +7 -0
- package/dist/mcp/tool-groups/apps.tools.d.ts.map +1 -0
- package/dist/mcp/tool-groups/apps.tools.js +104 -0
- package/dist/mcp/tool-groups/apps.tools.js.map +1 -0
- package/dist/mcp/tool-groups/infra.tools.d.ts +7 -0
- package/dist/mcp/tool-groups/infra.tools.d.ts.map +1 -0
- package/dist/mcp/tool-groups/infra.tools.js +80 -0
- package/dist/mcp/tool-groups/infra.tools.js.map +1 -0
- package/dist/mcp/tool-groups/kb.tools.d.ts +7 -0
- package/dist/mcp/tool-groups/kb.tools.d.ts.map +1 -0
- package/dist/mcp/tool-groups/kb.tools.js +147 -0
- package/dist/mcp/tool-groups/kb.tools.js.map +1 -0
- package/dist/mcp/tool-groups/management.tools.d.ts +7 -0
- package/dist/mcp/tool-groups/management.tools.d.ts.map +1 -0
- package/dist/mcp/tool-groups/management.tools.js +263 -0
- package/dist/mcp/tool-groups/management.tools.js.map +1 -0
- package/dist/mcp/tool-groups/monitoring.tools.d.ts +6 -0
- package/dist/mcp/tool-groups/monitoring.tools.d.ts.map +1 -0
- package/dist/mcp/tool-groups/monitoring.tools.js +52 -0
- package/dist/mcp/tool-groups/monitoring.tools.js.map +1 -0
- package/dist/mcp/types.d.ts +23 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +2 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/monitoring/app-health.indicator.d.ts +16 -0
- package/dist/monitoring/app-health.indicator.d.ts.map +1 -0
- package/dist/monitoring/app-health.indicator.js +45 -0
- package/dist/monitoring/app-health.indicator.js.map +1 -0
- package/dist/monitoring/docker-health.indicator.d.ts +19 -0
- package/dist/monitoring/docker-health.indicator.d.ts.map +1 -0
- package/dist/monitoring/docker-health.indicator.js +52 -0
- package/dist/monitoring/docker-health.indicator.js.map +1 -0
- package/dist/monitoring/health.service.d.ts +14 -0
- package/dist/monitoring/health.service.d.ts.map +1 -0
- package/dist/monitoring/health.service.js +50 -0
- package/dist/monitoring/health.service.js.map +1 -0
- package/dist/monitoring/log-manager.d.ts +88 -0
- package/dist/monitoring/log-manager.d.ts.map +1 -0
- package/dist/monitoring/log-manager.js +353 -0
- package/dist/monitoring/log-manager.js.map +1 -0
- package/dist/monitoring/metrics.service.d.ts +14 -0
- package/dist/monitoring/metrics.service.d.ts.map +1 -0
- package/dist/monitoring/metrics.service.js +40 -0
- package/dist/monitoring/metrics.service.js.map +1 -0
- package/dist/orchestrator/app-handle.d.ts +51 -0
- package/dist/orchestrator/app-handle.d.ts.map +1 -0
- package/dist/orchestrator/app-handle.js +90 -0
- package/dist/orchestrator/app-handle.js.map +1 -0
- package/dist/orchestrator/bootstrap-loader.d.ts +36 -0
- package/dist/orchestrator/bootstrap-loader.d.ts.map +1 -0
- package/dist/orchestrator/bootstrap-loader.js +118 -0
- package/dist/orchestrator/bootstrap-loader.js.map +1 -0
- package/dist/orchestrator/bootstrap-process.d.ts +73 -0
- package/dist/orchestrator/bootstrap-process.d.ts.map +1 -0
- package/dist/orchestrator/bootstrap-process.js +342 -0
- package/dist/orchestrator/bootstrap-process.js.map +1 -0
- package/dist/orchestrator/bootstrap-runner.d.ts +15 -0
- package/dist/orchestrator/bootstrap-runner.d.ts.map +1 -0
- package/dist/orchestrator/bootstrap-runner.js +152 -0
- package/dist/orchestrator/bootstrap-runner.js.map +1 -0
- package/dist/orchestrator/build-service.d.ts +70 -0
- package/dist/orchestrator/build-service.d.ts.map +1 -0
- package/dist/orchestrator/build-service.js +313 -0
- package/dist/orchestrator/build-service.js.map +1 -0
- package/dist/orchestrator/classic-launcher.d.ts +17 -0
- package/dist/orchestrator/classic-launcher.d.ts.map +1 -0
- package/dist/orchestrator/classic-launcher.js +111 -0
- package/dist/orchestrator/classic-launcher.js.map +1 -0
- package/dist/orchestrator/dependency-resolver.d.ts +14 -0
- package/dist/orchestrator/dependency-resolver.d.ts.map +1 -0
- package/dist/orchestrator/dependency-resolver.js +56 -0
- package/dist/orchestrator/dependency-resolver.js.map +1 -0
- package/dist/orchestrator/file-watcher.d.ts +53 -0
- package/dist/orchestrator/file-watcher.d.ts.map +1 -0
- package/dist/orchestrator/file-watcher.js +307 -0
- package/dist/orchestrator/file-watcher.js.map +1 -0
- package/dist/orchestrator/module-worker-process.d.ts +37 -0
- package/dist/orchestrator/module-worker-process.d.ts.map +1 -0
- package/dist/orchestrator/module-worker-process.js +187 -0
- package/dist/orchestrator/module-worker-process.js.map +1 -0
- package/dist/orchestrator/orchestrator.service.d.ts +170 -0
- package/dist/orchestrator/orchestrator.service.d.ts.map +1 -0
- package/dist/orchestrator/orchestrator.service.js +1146 -0
- package/dist/orchestrator/orchestrator.service.js.map +1 -0
- package/dist/orchestrator/service-router.d.ts +78 -0
- package/dist/orchestrator/service-router.d.ts.map +1 -0
- package/dist/orchestrator/service-router.js +148 -0
- package/dist/orchestrator/service-router.js.map +1 -0
- package/dist/orchestrator/topology-proxy.d.ts +65 -0
- package/dist/orchestrator/topology-proxy.d.ts.map +1 -0
- package/dist/orchestrator/topology-proxy.js +209 -0
- package/dist/orchestrator/topology-proxy.js.map +1 -0
- package/dist/orchestrator/topology-relay.d.ts +111 -0
- package/dist/orchestrator/topology-relay.d.ts.map +1 -0
- package/dist/orchestrator/topology-relay.js +255 -0
- package/dist/orchestrator/topology-relay.js.map +1 -0
- package/dist/orchestrator/ts-compiler.d.ts +55 -0
- package/dist/orchestrator/ts-compiler.d.ts.map +1 -0
- package/dist/orchestrator/ts-compiler.js +166 -0
- package/dist/orchestrator/ts-compiler.js.map +1 -0
- package/dist/project/artifact-builder.d.ts +63 -0
- package/dist/project/artifact-builder.d.ts.map +1 -0
- package/dist/project/artifact-builder.js +193 -0
- package/dist/project/artifact-builder.js.map +1 -0
- package/dist/project/config-resolver.d.ts +110 -0
- package/dist/project/config-resolver.d.ts.map +1 -0
- package/dist/project/config-resolver.js +563 -0
- package/dist/project/config-resolver.js.map +1 -0
- package/dist/project/dependency-analyzer.d.ts +53 -0
- package/dist/project/dependency-analyzer.d.ts.map +1 -0
- package/dist/project/dependency-analyzer.js +135 -0
- package/dist/project/dependency-analyzer.js.map +1 -0
- package/dist/project/index.d.ts +10 -0
- package/dist/project/index.d.ts.map +1 -0
- package/dist/project/index.js +6 -0
- package/dist/project/index.js.map +1 -0
- package/dist/project/registry.d.ts +28 -0
- package/dist/project/registry.d.ts.map +1 -0
- package/dist/project/registry.js +117 -0
- package/dist/project/registry.js.map +1 -0
- package/dist/project/requirements-scanner.d.ts +65 -0
- package/dist/project/requirements-scanner.d.ts.map +1 -0
- package/dist/project/requirements-scanner.js +217 -0
- package/dist/project/requirements-scanner.js.map +1 -0
- package/dist/services/alert.rpc-service.d.ts +41 -0
- package/dist/services/alert.rpc-service.d.ts.map +1 -0
- package/dist/services/alert.rpc-service.js +102 -0
- package/dist/services/alert.rpc-service.js.map +1 -0
- package/dist/services/alert.service.d.ts +83 -0
- package/dist/services/alert.service.d.ts.map +1 -0
- package/dist/services/alert.service.js +277 -0
- package/dist/services/alert.service.js.map +1 -0
- package/dist/services/auth-context.d.ts +39 -0
- package/dist/services/auth-context.d.ts.map +1 -0
- package/dist/services/auth-context.js +66 -0
- package/dist/services/auth-context.js.map +1 -0
- package/dist/services/auth-middleware.d.ts +47 -0
- package/dist/services/auth-middleware.d.ts.map +1 -0
- package/dist/services/auth-middleware.js +158 -0
- package/dist/services/auth-middleware.js.map +1 -0
- package/dist/services/auth.rpc-service.d.ts +61 -0
- package/dist/services/auth.rpc-service.d.ts.map +1 -0
- package/dist/services/auth.rpc-service.js +131 -0
- package/dist/services/auth.rpc-service.js.map +1 -0
- package/dist/services/auth.service.d.ts +70 -0
- package/dist/services/auth.service.d.ts.map +1 -0
- package/dist/services/auth.service.js +310 -0
- package/dist/services/auth.service.js.map +1 -0
- package/dist/services/backup.rpc-service.d.ts +37 -0
- package/dist/services/backup.rpc-service.d.ts.map +1 -0
- package/dist/services/backup.rpc-service.js +85 -0
- package/dist/services/backup.rpc-service.js.map +1 -0
- package/dist/services/backup.service.d.ts +45 -0
- package/dist/services/backup.service.d.ts.map +1 -0
- package/dist/services/backup.service.js +299 -0
- package/dist/services/backup.service.js.map +1 -0
- package/dist/services/deploy.rpc-service.d.ts +26 -0
- package/dist/services/deploy.rpc-service.d.ts.map +1 -0
- package/dist/services/deploy.rpc-service.js +61 -0
- package/dist/services/deploy.rpc-service.js.map +1 -0
- package/dist/services/deploy.service.d.ts +85 -0
- package/dist/services/deploy.service.d.ts.map +1 -0
- package/dist/services/deploy.service.js +269 -0
- package/dist/services/deploy.service.js.map +1 -0
- package/dist/services/discovery.rpc-service.d.ts +16 -0
- package/dist/services/discovery.rpc-service.d.ts.map +1 -0
- package/dist/services/discovery.rpc-service.js +55 -0
- package/dist/services/discovery.rpc-service.js.map +1 -0
- package/dist/services/discovery.service.d.ts +43 -0
- package/dist/services/discovery.service.d.ts.map +1 -0
- package/dist/services/discovery.service.js +178 -0
- package/dist/services/discovery.service.js.map +1 -0
- package/dist/services/environment.rpc-service.d.ts +22 -0
- package/dist/services/environment.rpc-service.d.ts.map +1 -0
- package/dist/services/environment.rpc-service.js +65 -0
- package/dist/services/environment.rpc-service.js.map +1 -0
- package/dist/services/environment.service.d.ts +87 -0
- package/dist/services/environment.service.d.ts.map +1 -0
- package/dist/services/environment.service.js +220 -0
- package/dist/services/environment.service.js.map +1 -0
- package/dist/services/event-broadcaster.rpc-service.d.ts +44 -0
- package/dist/services/event-broadcaster.rpc-service.d.ts.map +1 -0
- package/dist/services/event-broadcaster.rpc-service.js +84 -0
- package/dist/services/event-broadcaster.rpc-service.js.map +1 -0
- package/dist/services/event-broadcaster.service.d.ts +42 -0
- package/dist/services/event-broadcaster.service.d.ts.map +1 -0
- package/dist/services/event-broadcaster.service.js +87 -0
- package/dist/services/event-broadcaster.service.js.map +1 -0
- package/dist/services/fleet.rpc-service.d.ts +37 -0
- package/dist/services/fleet.rpc-service.d.ts.map +1 -0
- package/dist/services/fleet.rpc-service.js +104 -0
- package/dist/services/fleet.rpc-service.js.map +1 -0
- package/dist/services/fleet.service.d.ts +104 -0
- package/dist/services/fleet.service.d.ts.map +1 -0
- package/dist/services/fleet.service.js +243 -0
- package/dist/services/fleet.service.js.map +1 -0
- package/dist/services/health-check.rpc-service.d.ts +18 -0
- package/dist/services/health-check.rpc-service.d.ts.map +1 -0
- package/dist/services/health-check.rpc-service.js +64 -0
- package/dist/services/health-check.rpc-service.js.map +1 -0
- package/dist/services/health-check.service.d.ts +53 -0
- package/dist/services/health-check.service.d.ts.map +1 -0
- package/dist/services/health-check.service.js +232 -0
- package/dist/services/health-check.service.js.map +1 -0
- package/dist/services/infrastructure.rpc-service.d.ts +18 -0
- package/dist/services/infrastructure.rpc-service.d.ts.map +1 -0
- package/dist/services/infrastructure.rpc-service.js +64 -0
- package/dist/services/infrastructure.rpc-service.js.map +1 -0
- package/dist/services/kubernetes.rpc-service.d.ts +54 -0
- package/dist/services/kubernetes.rpc-service.d.ts.map +1 -0
- package/dist/services/kubernetes.rpc-service.js +112 -0
- package/dist/services/kubernetes.rpc-service.js.map +1 -0
- package/dist/services/kubernetes.service.d.ts +71 -0
- package/dist/services/kubernetes.service.d.ts.map +1 -0
- package/dist/services/kubernetes.service.js +244 -0
- package/dist/services/kubernetes.service.js.map +1 -0
- package/dist/services/log-collector.rpc-service.d.ts +38 -0
- package/dist/services/log-collector.rpc-service.d.ts.map +1 -0
- package/dist/services/log-collector.rpc-service.js +74 -0
- package/dist/services/log-collector.rpc-service.js.map +1 -0
- package/dist/services/log-collector.service.d.ts +96 -0
- package/dist/services/log-collector.service.d.ts.map +1 -0
- package/dist/services/log-collector.service.js +303 -0
- package/dist/services/log-collector.service.js.map +1 -0
- package/dist/services/metrics-collector.service.d.ts +103 -0
- package/dist/services/metrics-collector.service.d.ts.map +1 -0
- package/dist/services/metrics-collector.service.js +235 -0
- package/dist/services/metrics-collector.service.js.map +1 -0
- package/dist/services/metrics.rpc-service.d.ts +41 -0
- package/dist/services/metrics.rpc-service.d.ts.map +1 -0
- package/dist/services/metrics.rpc-service.js +90 -0
- package/dist/services/metrics.rpc-service.js.map +1 -0
- package/dist/services/metrics.service.d.ts +72 -0
- package/dist/services/metrics.service.d.ts.map +1 -0
- package/dist/services/metrics.service.js +185 -0
- package/dist/services/metrics.service.js.map +1 -0
- package/dist/services/netron-telemetry-transport.d.ts +42 -0
- package/dist/services/netron-telemetry-transport.d.ts.map +1 -0
- package/dist/services/netron-telemetry-transport.js +97 -0
- package/dist/services/netron-telemetry-transport.js.map +1 -0
- package/dist/services/node-health.repository.d.ts +65 -0
- package/dist/services/node-health.repository.d.ts.map +1 -0
- package/dist/services/node-health.repository.js +132 -0
- package/dist/services/node-health.repository.js.map +1 -0
- package/dist/services/node-manager.rpc-service.d.ts +66 -0
- package/dist/services/node-manager.rpc-service.d.ts.map +1 -0
- package/dist/services/node-manager.rpc-service.js +229 -0
- package/dist/services/node-manager.rpc-service.js.map +1 -0
- package/dist/services/node-manager.service.d.ts +149 -0
- package/dist/services/node-manager.service.d.ts.map +1 -0
- package/dist/services/node-manager.service.js +547 -0
- package/dist/services/node-manager.service.js.map +1 -0
- package/dist/services/pipeline.rpc-service.d.ts +37 -0
- package/dist/services/pipeline.rpc-service.d.ts.map +1 -0
- package/dist/services/pipeline.rpc-service.js +102 -0
- package/dist/services/pipeline.rpc-service.js.map +1 -0
- package/dist/services/pipeline.service.d.ts +77 -0
- package/dist/services/pipeline.service.d.ts.map +1 -0
- package/dist/services/pipeline.service.js +278 -0
- package/dist/services/pipeline.service.js.map +1 -0
- package/dist/services/project.rpc-service.d.ts +73 -0
- package/dist/services/project.rpc-service.d.ts.map +1 -0
- package/dist/services/project.rpc-service.js +184 -0
- package/dist/services/project.rpc-service.js.map +1 -0
- package/dist/services/project.service.d.ts +123 -0
- package/dist/services/project.service.d.ts.map +1 -0
- package/dist/services/project.service.js +1112 -0
- package/dist/services/project.service.js.map +1 -0
- package/dist/services/remote-deployer.service.d.ts +85 -0
- package/dist/services/remote-deployer.service.d.ts.map +1 -0
- package/dist/services/remote-deployer.service.js +332 -0
- package/dist/services/remote-deployer.service.js.map +1 -0
- package/dist/services/remote-ops.service.d.ts +72 -0
- package/dist/services/remote-ops.service.d.ts.map +1 -0
- package/dist/services/remote-ops.service.js +132 -0
- package/dist/services/remote-ops.service.js.map +1 -0
- package/dist/services/secrets.rpc-service.d.ts +45 -0
- package/dist/services/secrets.rpc-service.d.ts.map +1 -0
- package/dist/services/secrets.rpc-service.js +81 -0
- package/dist/services/secrets.rpc-service.js.map +1 -0
- package/dist/services/secrets.service.d.ts +57 -0
- package/dist/services/secrets.service.d.ts.map +1 -0
- package/dist/services/secrets.service.js +211 -0
- package/dist/services/secrets.service.js.map +1 -0
- package/dist/services/slave-storage.service.d.ts +69 -0
- package/dist/services/slave-storage.service.d.ts.map +1 -0
- package/dist/services/slave-storage.service.js +131 -0
- package/dist/services/slave-storage.service.js.map +1 -0
- package/dist/services/sync.rpc-service.d.ts +37 -0
- package/dist/services/sync.rpc-service.d.ts.map +1 -0
- package/dist/services/sync.rpc-service.js +72 -0
- package/dist/services/sync.rpc-service.js.map +1 -0
- package/dist/services/sync.service.d.ts +121 -0
- package/dist/services/sync.service.d.ts.map +1 -0
- package/dist/services/sync.service.js +440 -0
- package/dist/services/sync.service.js.map +1 -0
- package/dist/services/system-info.rpc-service.d.ts +12 -0
- package/dist/services/system-info.rpc-service.d.ts.map +1 -0
- package/dist/services/system-info.rpc-service.js +37 -0
- package/dist/services/system-info.rpc-service.js.map +1 -0
- package/dist/services/system-info.service.d.ts +89 -0
- package/dist/services/system-info.service.d.ts.map +1 -0
- package/dist/services/system-info.service.js +151 -0
- package/dist/services/system-info.service.js.map +1 -0
- package/dist/services/telemetry.rpc-service.d.ts +27 -0
- package/dist/services/telemetry.rpc-service.d.ts.map +1 -0
- package/dist/services/telemetry.rpc-service.js +56 -0
- package/dist/services/telemetry.rpc-service.js.map +1 -0
- package/dist/services/telemetry.service.d.ts +31 -0
- package/dist/services/telemetry.service.d.ts.map +1 -0
- package/dist/services/telemetry.service.js +134 -0
- package/dist/services/telemetry.service.js.map +1 -0
- package/dist/services/trace-collector.rpc-service.d.ts +24 -0
- package/dist/services/trace-collector.rpc-service.d.ts.map +1 -0
- package/dist/services/trace-collector.rpc-service.js +75 -0
- package/dist/services/trace-collector.rpc-service.js.map +1 -0
- package/dist/services/trace-collector.service.d.ts +76 -0
- package/dist/services/trace-collector.service.d.ts.map +1 -0
- package/dist/services/trace-collector.service.js +201 -0
- package/dist/services/trace-collector.service.js.map +1 -0
- package/dist/shared/dto/project.d.ts +156 -0
- package/dist/shared/dto/project.d.ts.map +1 -0
- package/dist/shared/dto/project.js +8 -0
- package/dist/shared/dto/project.js.map +1 -0
- package/dist/shared/dto/services.d.ts +254 -0
- package/dist/shared/dto/services.d.ts.map +1 -0
- package/dist/shared/dto/services.js +7 -0
- package/dist/shared/dto/services.js.map +1 -0
- package/dist/shared/dto/types.d.ts +5 -0
- package/dist/shared/dto/types.d.ts.map +1 -0
- package/dist/shared/dto/types.js +5 -0
- package/dist/shared/dto/types.js.map +1 -0
- package/dist/shared/events.d.ts +215 -0
- package/dist/shared/events.d.ts.map +1 -0
- package/dist/shared/events.js +101 -0
- package/dist/shared/events.js.map +1 -0
- package/dist/shared/format.d.ts +18 -0
- package/dist/shared/format.d.ts.map +1 -0
- package/dist/shared/format.js +93 -0
- package/dist/shared/format.js.map +1 -0
- package/dist/shared/roles.d.ts +31 -0
- package/dist/shared/roles.d.ts.map +1 -0
- package/dist/shared/roles.js +39 -0
- package/dist/shared/roles.js.map +1 -0
- package/dist/shared/tokens.d.ts +70 -0
- package/dist/shared/tokens.d.ts.map +1 -0
- package/dist/shared/tokens.js +46 -0
- package/dist/shared/tokens.js.map +1 -0
- package/dist/shared/xec-loader.d.ts +17 -0
- package/dist/shared/xec-loader.d.ts.map +1 -0
- package/dist/shared/xec-loader.js +41 -0
- package/dist/shared/xec-loader.js.map +1 -0
- package/dist/supervisor/omnitron-supervisor.d.ts +21 -0
- package/dist/supervisor/omnitron-supervisor.d.ts.map +1 -0
- package/dist/supervisor/omnitron-supervisor.js +43 -0
- package/dist/supervisor/omnitron-supervisor.js.map +1 -0
- package/dist/supervisor/restart-policy.d.ts +11 -0
- package/dist/supervisor/restart-policy.d.ts.map +1 -0
- package/dist/supervisor/restart-policy.js +33 -0
- package/dist/supervisor/restart-policy.js.map +1 -0
- package/dist/webapp/static-server.d.ts +24 -0
- package/dist/webapp/static-server.d.ts.map +1 -0
- package/dist/webapp/static-server.js +152 -0
- package/dist/webapp/static-server.js.map +1 -0
- package/dist/webapp/webapp.service.d.ts +55 -0
- package/dist/webapp/webapp.service.d.ts.map +1 -0
- package/dist/webapp/webapp.service.js +233 -0
- package/dist/webapp/webapp.service.js.map +1 -0
- package/dist/workers/health-monitor-process.d.ts +41 -0
- package/dist/workers/health-monitor-process.d.ts.map +1 -0
- package/dist/workers/health-monitor-process.js +128 -0
- package/dist/workers/health-monitor-process.js.map +1 -0
- package/dist/workers/health-monitor.module.d.ts +11 -0
- package/dist/workers/health-monitor.module.d.ts.map +1 -0
- package/dist/workers/health-monitor.module.js +29 -0
- package/dist/workers/health-monitor.module.js.map +1 -0
- package/dist/workers/health-monitor.service.d.ts +55 -0
- package/dist/workers/health-monitor.service.d.ts.map +1 -0
- package/dist/workers/health-monitor.service.js +402 -0
- package/dist/workers/health-monitor.service.js.map +1 -0
- package/dist/workers/system-worker-manager.d.ts +47 -0
- package/dist/workers/system-worker-manager.d.ts.map +1 -0
- package/dist/workers/system-worker-manager.js +98 -0
- package/dist/workers/system-worker-manager.js.map +1 -0
- package/dist/workers/types.d.ts +80 -0
- package/dist/workers/types.d.ts.map +1 -0
- package/dist/workers/types.js +8 -0
- package/dist/workers/types.js.map +1 -0
- package/package.json +85 -0
- package/webapp/dist/assets/Chip-BySxTjyN.js +1 -0
- package/webapp/dist/assets/DialogContentText-YQWiAVrU.js +1 -0
- package/webapp/dist/assets/DialogTitle-CDkgUIwp.js +1 -0
- package/webapp/dist/assets/FormControlLabel-Bu3CCsBM.js +1 -0
- package/webapp/dist/assets/Grid-BFY8hAzL.js +1 -0
- package/webapp/dist/assets/InputAdornment-_Dayk-3y.js +3 -0
- package/webapp/dist/assets/Skeleton-BGj6Sw8m.js +37 -0
- package/webapp/dist/assets/Switch-CA6682vv.js +1 -0
- package/webapp/dist/assets/TableContainer-4epq10KJ.js +1 -0
- package/webapp/dist/assets/TextField-C73KHMVN.js +1 -0
- package/webapp/dist/assets/alerts-JEQALS7Y.js +1 -0
- package/webapp/dist/assets/apps-DMPysEKB.js +1 -0
- package/webapp/dist/assets/client-DlGPter5.js +110 -0
- package/webapp/dist/assets/constants-DqFQJ27U.js +1 -0
- package/webapp/dist/assets/containers-CvkC7do8.js +1 -0
- package/webapp/dist/assets/dashboard-C0Fre9pC.js +1 -0
- package/webapp/dist/assets/dashboard-builder-DAghqdpE.js +1 -0
- package/webapp/dist/assets/deployments-Cg1lI1uT.js +1 -0
- package/webapp/dist/assets/detail-CyFtEson.js +1 -0
- package/webapp/dist/assets/detail-DqoSGKT1.js +8 -0
- package/webapp/dist/assets/formatters-J3Xqn6BQ.js +1 -0
- package/webapp/dist/assets/fs-uP8eiZAR.js +1 -0
- package/webapp/dist/assets/icons-ynIWYfBP.js +3 -0
- package/webapp/dist/assets/index-CHVXOsTS.css +1 -0
- package/webapp/dist/assets/index-vKrDmEA_.js +259 -0
- package/webapp/dist/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
- package/webapp/dist/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
- package/webapp/dist/assets/inter-cyrillic-500-normal-BasfLYem.woff2 +0 -0
- package/webapp/dist/assets/inter-cyrillic-500-normal-CxZf_p3X.woff +0 -0
- package/webapp/dist/assets/inter-cyrillic-600-normal-4D_pXhcN.woff +0 -0
- package/webapp/dist/assets/inter-cyrillic-600-normal-CWCymEST.woff2 +0 -0
- package/webapp/dist/assets/inter-cyrillic-700-normal-CjBOestx.woff2 +0 -0
- package/webapp/dist/assets/inter-cyrillic-700-normal-DrXBdSj3.woff +0 -0
- package/webapp/dist/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
- package/webapp/dist/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
- package/webapp/dist/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2 +0 -0
- package/webapp/dist/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff +0 -0
- package/webapp/dist/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff +0 -0
- package/webapp/dist/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2 +0 -0
- package/webapp/dist/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2 +0 -0
- package/webapp/dist/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff +0 -0
- package/webapp/dist/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
- package/webapp/dist/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
- package/webapp/dist/assets/inter-greek-500-normal-BIZE56-Y.woff2 +0 -0
- package/webapp/dist/assets/inter-greek-500-normal-Xzm54t5V.woff +0 -0
- package/webapp/dist/assets/inter-greek-600-normal-BZpKdvQh.woff +0 -0
- package/webapp/dist/assets/inter-greek-600-normal-plRanbMR.woff2 +0 -0
- package/webapp/dist/assets/inter-greek-700-normal-BUv2fZ6O.woff +0 -0
- package/webapp/dist/assets/inter-greek-700-normal-C3JjAnD8.woff2 +0 -0
- package/webapp/dist/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
- package/webapp/dist/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
- package/webapp/dist/assets/inter-greek-ext-500-normal-2j5mBUwD.woff +0 -0
- package/webapp/dist/assets/inter-greek-ext-500-normal-C4iEst2y.woff2 +0 -0
- package/webapp/dist/assets/inter-greek-ext-600-normal-B8X0CLgF.woff +0 -0
- package/webapp/dist/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2 +0 -0
- package/webapp/dist/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff +0 -0
- package/webapp/dist/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2 +0 -0
- package/webapp/dist/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
- package/webapp/dist/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
- package/webapp/dist/assets/inter-latin-500-normal-BL9OpVg8.woff +0 -0
- package/webapp/dist/assets/inter-latin-500-normal-Cerq10X2.woff2 +0 -0
- package/webapp/dist/assets/inter-latin-600-normal-CiBQ2DWP.woff +0 -0
- package/webapp/dist/assets/inter-latin-600-normal-LgqL8muc.woff2 +0 -0
- package/webapp/dist/assets/inter-latin-700-normal-BLAVimhd.woff +0 -0
- package/webapp/dist/assets/inter-latin-700-normal-Yt3aPRUw.woff2 +0 -0
- package/webapp/dist/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
- package/webapp/dist/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
- package/webapp/dist/assets/inter-latin-ext-500-normal-BxGbmqWO.woff +0 -0
- package/webapp/dist/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2 +0 -0
- package/webapp/dist/assets/inter-latin-ext-600-normal-CIVaiw4L.woff +0 -0
- package/webapp/dist/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2 +0 -0
- package/webapp/dist/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2 +0 -0
- package/webapp/dist/assets/inter-latin-ext-700-normal-TidjK2hL.woff +0 -0
- package/webapp/dist/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
- package/webapp/dist/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
- package/webapp/dist/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
- package/webapp/dist/assets/inter-vietnamese-500-normal-mJboJaSs.woff +0 -0
- package/webapp/dist/assets/inter-vietnamese-600-normal-BuLX-rYi.woff +0 -0
- package/webapp/dist/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 +0 -0
- package/webapp/dist/assets/inter-vietnamese-700-normal-BZaoP0fm.woff +0 -0
- package/webapp/dist/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2 +0 -0
- package/webapp/dist/assets/isMuiElement-BRL3YuCT.js +1 -0
- package/webapp/dist/assets/logs-IovIij1C.js +11 -0
- package/webapp/dist/assets/metrics-Dufwtwjq.js +1 -0
- package/webapp/dist/assets/nodes-Brvu8W3j.js +7 -0
- package/webapp/dist/assets/pipelines-t40X4MuC.js +4 -0
- package/webapp/dist/assets/prop-types-CvVtHxp4.js +1 -0
- package/webapp/dist/assets/react-apexcharts.esm-CLO6gala.js +954 -0
- package/webapp/dist/assets/settings-DTAIST3v.js +1 -0
- package/webapp/dist/assets/sign-in-DQEAkJum.js +1 -0
- package/webapp/dist/assets/stacks-BjM1f45N.js +1 -0
- package/webapp/dist/assets/system-info-BQSbSEK-.js +1 -0
- package/webapp/dist/assets/topology-6N8-Az_Z.js +12 -0
- package/webapp/dist/assets/topology-CHpVij2M.css +1 -0
- package/webapp/dist/assets/traces-DVXyb-4m.js +1 -0
- package/webapp/dist/assets/use-stack-context-CbE8fxBA.js +1 -0
- package/webapp/dist/favicon.png +0 -0
- package/webapp/dist/index.html +19 -0
- package/webapp/dist/logo.svg +80 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SystemInfoService — Real-time system metrics via systeminformation
|
|
3
|
+
*
|
|
4
|
+
* Collects OS, CPU, memory, disk, network, and Docker data.
|
|
5
|
+
* Exposed via OmnitronSystemInfo RPC for webapp /system page.
|
|
6
|
+
* Uses caching to avoid hammering the OS on every request.
|
|
7
|
+
*/
|
|
8
|
+
import si from 'systeminformation';
|
|
9
|
+
// =============================================================================
|
|
10
|
+
// Service
|
|
11
|
+
// =============================================================================
|
|
12
|
+
const CACHE_TTL = 3000; // 3s cache — prevents hammering on rapid requests
|
|
13
|
+
const COLLECT_TIMEOUT = 5000; // 5s max per si call — prevents hanging on Docker/network
|
|
14
|
+
/** Wrap a promise with a timeout — rejects if not settled within `ms`. */
|
|
15
|
+
function withTimeout(p, ms) {
|
|
16
|
+
return new Promise((resolve, reject) => {
|
|
17
|
+
const timer = setTimeout(() => reject(new Error('timeout')), ms);
|
|
18
|
+
p.then((v) => { clearTimeout(timer); resolve(v); }, (e) => { clearTimeout(timer); reject(e); });
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export class SystemInfoService {
|
|
22
|
+
logger;
|
|
23
|
+
role;
|
|
24
|
+
cache = null;
|
|
25
|
+
cacheTime = 0;
|
|
26
|
+
collecting = false;
|
|
27
|
+
constructor(logger, role) {
|
|
28
|
+
this.logger = logger;
|
|
29
|
+
this.role = role;
|
|
30
|
+
}
|
|
31
|
+
async getSnapshot() {
|
|
32
|
+
if (this.cache && Date.now() - this.cacheTime < CACHE_TTL) {
|
|
33
|
+
return this.cache;
|
|
34
|
+
}
|
|
35
|
+
// Prevent concurrent collection
|
|
36
|
+
if (this.collecting && this.cache)
|
|
37
|
+
return this.cache;
|
|
38
|
+
this.collecting = true;
|
|
39
|
+
try {
|
|
40
|
+
const t = COLLECT_TIMEOUT;
|
|
41
|
+
const [osInfo, cpuInfo, cpuLoad, cpuTemp, mem, fsSize, netIfaces, netStats, dockerInfo] = await Promise.allSettled([
|
|
42
|
+
withTimeout(si.osInfo(), t),
|
|
43
|
+
withTimeout(si.cpu(), t),
|
|
44
|
+
withTimeout(si.currentLoad(), t),
|
|
45
|
+
withTimeout(si.cpuTemperature(), t),
|
|
46
|
+
withTimeout(si.mem(), t),
|
|
47
|
+
withTimeout(si.fsSize(), t),
|
|
48
|
+
withTimeout(si.networkInterfaces(), t),
|
|
49
|
+
withTimeout(si.networkStats(), t),
|
|
50
|
+
withTimeout(si.dockerInfo(), t),
|
|
51
|
+
]);
|
|
52
|
+
const os = osInfo.status === 'fulfilled' ? osInfo.value : null;
|
|
53
|
+
const cpu = cpuInfo.status === 'fulfilled' ? cpuInfo.value : null;
|
|
54
|
+
const load = cpuLoad.status === 'fulfilled' ? cpuLoad.value : null;
|
|
55
|
+
const temp = cpuTemp.status === 'fulfilled' ? cpuTemp.value : null;
|
|
56
|
+
const memory = mem.status === 'fulfilled' ? mem.value : null;
|
|
57
|
+
const disks = fsSize.status === 'fulfilled' ? fsSize.value : [];
|
|
58
|
+
const ifaces = netIfaces.status === 'fulfilled' ? netIfaces.value : [];
|
|
59
|
+
const stats = netStats.status === 'fulfilled' ? netStats.value : [];
|
|
60
|
+
const docker = dockerInfo.status === 'fulfilled' ? dockerInfo.value : null;
|
|
61
|
+
const memUsage = process.memoryUsage();
|
|
62
|
+
const snapshot = {
|
|
63
|
+
timestamp: Date.now(),
|
|
64
|
+
os: {
|
|
65
|
+
platform: os?.platform ?? process.platform,
|
|
66
|
+
distro: os?.distro ?? '',
|
|
67
|
+
release: os?.release ?? '',
|
|
68
|
+
kernel: os?.kernel ?? '',
|
|
69
|
+
arch: os?.arch ?? process.arch,
|
|
70
|
+
hostname: os?.hostname ?? '',
|
|
71
|
+
uptime: os ? si.time().uptime : 0,
|
|
72
|
+
},
|
|
73
|
+
cpu: {
|
|
74
|
+
manufacturer: cpu?.manufacturer ?? '',
|
|
75
|
+
brand: cpu?.brand ?? '',
|
|
76
|
+
cores: cpu?.cores ?? 0,
|
|
77
|
+
physicalCores: cpu?.physicalCores ?? 0,
|
|
78
|
+
speed: cpu?.speed ?? 0,
|
|
79
|
+
currentLoad: load?.currentLoad ?? 0,
|
|
80
|
+
loadPerCore: (load?.cpus ?? []).map((c) => c.load),
|
|
81
|
+
temperature: temp?.main ?? null,
|
|
82
|
+
},
|
|
83
|
+
memory: {
|
|
84
|
+
total: memory?.total ?? 0,
|
|
85
|
+
used: memory?.used ?? 0,
|
|
86
|
+
free: memory?.free ?? 0,
|
|
87
|
+
available: memory?.available ?? 0,
|
|
88
|
+
usedPercent: memory ? (memory.used / memory.total) * 100 : 0,
|
|
89
|
+
swapTotal: memory?.swaptotal ?? 0,
|
|
90
|
+
swapUsed: memory?.swapused ?? 0,
|
|
91
|
+
},
|
|
92
|
+
disks: (Array.isArray(disks) ? disks : [])
|
|
93
|
+
.filter((d) => d.size > 0)
|
|
94
|
+
.map((d) => ({
|
|
95
|
+
fs: d.fs,
|
|
96
|
+
type: d.type,
|
|
97
|
+
size: d.size,
|
|
98
|
+
used: d.used,
|
|
99
|
+
available: d.available,
|
|
100
|
+
usedPercent: d.use,
|
|
101
|
+
mount: d.mount,
|
|
102
|
+
})),
|
|
103
|
+
network: {
|
|
104
|
+
interfaces: (Array.isArray(ifaces) ? ifaces : [])
|
|
105
|
+
.filter((i) => !i.internal)
|
|
106
|
+
.map((i) => ({
|
|
107
|
+
iface: i.iface,
|
|
108
|
+
ip4: i.ip4,
|
|
109
|
+
ip6: i.ip6,
|
|
110
|
+
mac: i.mac,
|
|
111
|
+
speed: i.speed,
|
|
112
|
+
operstate: i.operstate,
|
|
113
|
+
})),
|
|
114
|
+
rxSec: (Array.isArray(stats) ? stats : []).reduce((sum, s) => sum + (s.rx_sec ?? 0), 0),
|
|
115
|
+
txSec: (Array.isArray(stats) ? stats : []).reduce((sum, s) => sum + (s.tx_sec ?? 0), 0),
|
|
116
|
+
},
|
|
117
|
+
docker: docker && typeof docker === 'object' && 'containers' in docker ? {
|
|
118
|
+
running: docker.containersRunning ?? 0,
|
|
119
|
+
paused: docker.containersPaused ?? 0,
|
|
120
|
+
stopped: docker.containersStopped ?? 0,
|
|
121
|
+
} : null,
|
|
122
|
+
daemon: {
|
|
123
|
+
role: this.role,
|
|
124
|
+
pid: process.pid,
|
|
125
|
+
nodeVersion: process.version,
|
|
126
|
+
v8Version: process.versions.v8,
|
|
127
|
+
uptimeMs: process.uptime() * 1000,
|
|
128
|
+
memoryUsage: {
|
|
129
|
+
rss: memUsage.rss,
|
|
130
|
+
heapTotal: memUsage.heapTotal,
|
|
131
|
+
heapUsed: memUsage.heapUsed,
|
|
132
|
+
external: memUsage.external,
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
this.cache = snapshot;
|
|
137
|
+
this.cacheTime = Date.now();
|
|
138
|
+
return snapshot;
|
|
139
|
+
}
|
|
140
|
+
catch (err) {
|
|
141
|
+
this.logger.warn({ error: err.message }, 'Failed to collect system info');
|
|
142
|
+
if (this.cache)
|
|
143
|
+
return this.cache;
|
|
144
|
+
throw err;
|
|
145
|
+
}
|
|
146
|
+
finally {
|
|
147
|
+
this.collecting = false;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=system-info.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-info.service.js","sourceRoot":"","sources":["../../src/services/system-info.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Telemetry RPC Service
|
|
3
|
+
*
|
|
4
|
+
* Netron RPC endpoints for:
|
|
5
|
+
* 1. Follower → Leader telemetry push (receive batches)
|
|
6
|
+
* 2. Webapp → Leader telemetry stats (relay health)
|
|
7
|
+
*/
|
|
8
|
+
import type { TelemetryRelayService, TelemetryEntry } from '@omnitron-dev/titan-telemetry-relay';
|
|
9
|
+
export declare class TelemetryRpcService {
|
|
10
|
+
private readonly relay;
|
|
11
|
+
constructor(relay: TelemetryRelayService);
|
|
12
|
+
/**
|
|
13
|
+
* Receive telemetry batch from a follower node.
|
|
14
|
+
* Called by remote omnitron daemons via Netron TCP.
|
|
15
|
+
*/
|
|
16
|
+
pushBatch(data: {
|
|
17
|
+
nodeId: string;
|
|
18
|
+
entries: TelemetryEntry[];
|
|
19
|
+
}): Promise<{
|
|
20
|
+
ackd: number;
|
|
21
|
+
}>;
|
|
22
|
+
/**
|
|
23
|
+
* Get relay stats for monitoring dashboard.
|
|
24
|
+
*/
|
|
25
|
+
getRelayStats(): Promise<ReturnType<TelemetryRelayService['stats']>>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=telemetry.rpc-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.rpc-service.d.ts","sourceRoot":"","sources":["../../src/services/telemetry.rpc-service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAEjG,qBACa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,qBAAqB;IAEzD;;;OAGG;IAEG,SAAS,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,cAAc,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAK/F;;OAEG;IAEG,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;CAG3E"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Telemetry RPC Service
|
|
3
|
+
*
|
|
4
|
+
* Netron RPC endpoints for:
|
|
5
|
+
* 1. Follower → Leader telemetry push (receive batches)
|
|
6
|
+
* 2. Webapp → Leader telemetry stats (relay health)
|
|
7
|
+
*/
|
|
8
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
9
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
10
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
11
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
12
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
13
|
+
};
|
|
14
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
15
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
16
|
+
};
|
|
17
|
+
import { Service, Public } from '@omnitron-dev/titan/decorators';
|
|
18
|
+
import { VIEWER_ROLES } from '../shared/roles.js';
|
|
19
|
+
let TelemetryRpcService = class TelemetryRpcService {
|
|
20
|
+
relay;
|
|
21
|
+
constructor(relay) {
|
|
22
|
+
this.relay = relay;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Receive telemetry batch from a follower node.
|
|
26
|
+
* Called by remote omnitron daemons via Netron TCP.
|
|
27
|
+
*/
|
|
28
|
+
async pushBatch(data) {
|
|
29
|
+
const ackd = await this.relay.receive(data.nodeId, data.entries);
|
|
30
|
+
return { ackd };
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get relay stats for monitoring dashboard.
|
|
34
|
+
*/
|
|
35
|
+
async getRelayStats() {
|
|
36
|
+
return this.relay.stats();
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
__decorate([
|
|
40
|
+
Public({ auth: { allowAnonymous: true } }),
|
|
41
|
+
__metadata("design:type", Function),
|
|
42
|
+
__metadata("design:paramtypes", [Object]),
|
|
43
|
+
__metadata("design:returntype", Promise)
|
|
44
|
+
], TelemetryRpcService.prototype, "pushBatch", null);
|
|
45
|
+
__decorate([
|
|
46
|
+
Public({ auth: { roles: VIEWER_ROLES } }),
|
|
47
|
+
__metadata("design:type", Function),
|
|
48
|
+
__metadata("design:paramtypes", []),
|
|
49
|
+
__metadata("design:returntype", Promise)
|
|
50
|
+
], TelemetryRpcService.prototype, "getRelayStats", null);
|
|
51
|
+
TelemetryRpcService = __decorate([
|
|
52
|
+
Service({ name: 'OmnitronTelemetry' }),
|
|
53
|
+
__metadata("design:paramtypes", [Function])
|
|
54
|
+
], TelemetryRpcService);
|
|
55
|
+
export { TelemetryRpcService };
|
|
56
|
+
//# sourceMappingURL=telemetry.rpc-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.rpc-service.js","sourceRoot":"","sources":["../../src/services/telemetry.rpc-service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;;;;;;;;;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAI3C,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IACD;IAA7B,YAA6B,KAA4B;QAA5B,UAAK,GAAL,KAAK,CAAuB;IAAG,CAAC;IAE7D;;;OAGG;IAEG,AAAN,KAAK,CAAC,SAAS,CAAC,IAAmD;QACjE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;CACF,CAAA;AAZO;IADL,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,CAAC;;;;oDAI1C;AAMK;IADL,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC;;;;wDAGzC;AAnBU,mBAAmB;IAD/B,OAAO,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;;GAC1B,mBAAmB,CAoB/B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Omnitron Telemetry Service — Wires TelemetryRelay into the daemon
|
|
3
|
+
*
|
|
4
|
+
* In single-node (dev) mode: role='both' — records and stores locally.
|
|
5
|
+
* In cluster mode: leader=aggregator, followers=producers via Netron TCP.
|
|
6
|
+
*
|
|
7
|
+
* Aggregator stores telemetry in omnitron-pg via LogCollectorService (logs)
|
|
8
|
+
* and will store metrics in metrics_raw table when Phase 2 is complete.
|
|
9
|
+
*/
|
|
10
|
+
import type { Kysely } from 'kysely';
|
|
11
|
+
import type { ILogger } from '@omnitron-dev/titan/module/logger';
|
|
12
|
+
import { TelemetryRelayService } from '@omnitron-dev/titan-telemetry-relay';
|
|
13
|
+
import type { OmnitronDatabase } from '../database/schema.js';
|
|
14
|
+
import type { LogCollectorService } from './log-collector.service.js';
|
|
15
|
+
export interface TelemetryServiceDeps {
|
|
16
|
+
db: Kysely<OmnitronDatabase>;
|
|
17
|
+
logCollector: LogCollectorService;
|
|
18
|
+
logger: ILogger;
|
|
19
|
+
nodeId?: string;
|
|
20
|
+
isLeader?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Create and configure the TelemetryRelayService for the daemon.
|
|
24
|
+
*/
|
|
25
|
+
export declare function createTelemetryRelay(deps: TelemetryServiceDeps): TelemetryRelayService;
|
|
26
|
+
/**
|
|
27
|
+
* Wire the relay into the orchestrator's log pipeline.
|
|
28
|
+
* Every app log line goes through the relay for unified telemetry.
|
|
29
|
+
*/
|
|
30
|
+
export declare function wireTelemetryToOrchestrator(relay: TelemetryRelayService, onAppLog: (handler: (appName: string, line: string) => void) => void): void;
|
|
31
|
+
//# sourceMappingURL=telemetry.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.service.d.ts","sourceRoot":"","sources":["../../src/services/telemetry.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EACL,qBAAqB,EAGtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AA+EtE,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC7B,YAAY,EAAE,mBAAmB,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,GAAG,qBAAqB,CAqBtF;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,qBAAqB,EAC5B,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,GACnE,IAAI,CAmBN"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Omnitron Telemetry Service — Wires TelemetryRelay into the daemon
|
|
3
|
+
*
|
|
4
|
+
* In single-node (dev) mode: role='both' — records and stores locally.
|
|
5
|
+
* In cluster mode: leader=aggregator, followers=producers via Netron TCP.
|
|
6
|
+
*
|
|
7
|
+
* Aggregator stores telemetry in omnitron-pg via LogCollectorService (logs)
|
|
8
|
+
* and will store metrics in metrics_raw table when Phase 2 is complete.
|
|
9
|
+
*/
|
|
10
|
+
import { TelemetryRelayService, } from '@omnitron-dev/titan-telemetry-relay';
|
|
11
|
+
// =============================================================================
|
|
12
|
+
// PG Aggregator — stores telemetry in omnitron-pg
|
|
13
|
+
// =============================================================================
|
|
14
|
+
class PgTelemetryAggregator {
|
|
15
|
+
logCollector;
|
|
16
|
+
logger;
|
|
17
|
+
constructor(logCollector, logger) {
|
|
18
|
+
this.logCollector = logCollector;
|
|
19
|
+
this.logger = logger;
|
|
20
|
+
}
|
|
21
|
+
async ingest(nodeId, entries) {
|
|
22
|
+
let ingested = 0;
|
|
23
|
+
// Batch by type for efficient storage
|
|
24
|
+
const logs = [];
|
|
25
|
+
const metricEntries = [];
|
|
26
|
+
const healthEntries = [];
|
|
27
|
+
for (const entry of entries) {
|
|
28
|
+
switch (entry.type) {
|
|
29
|
+
case 'log':
|
|
30
|
+
logs.push(entry);
|
|
31
|
+
break;
|
|
32
|
+
case 'metric':
|
|
33
|
+
metricEntries.push(entry);
|
|
34
|
+
break;
|
|
35
|
+
case 'health':
|
|
36
|
+
healthEntries.push(entry);
|
|
37
|
+
break;
|
|
38
|
+
default:
|
|
39
|
+
// event, alert — store as log with type label
|
|
40
|
+
logs.push(entry);
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// Ingest logs
|
|
45
|
+
if (logs.length > 0) {
|
|
46
|
+
try {
|
|
47
|
+
await this.logCollector.ingestBatch(logs.map((e) => ({
|
|
48
|
+
app: e.app ?? 'unknown',
|
|
49
|
+
level: e.data['level'] ?? 'info',
|
|
50
|
+
message: e.data['message'] ?? JSON.stringify(e.data),
|
|
51
|
+
labels: { ...e.labels, nodeId, type: e.type },
|
|
52
|
+
traceId: e.data['traceId'] ?? null,
|
|
53
|
+
spanId: e.data['spanId'] ?? null,
|
|
54
|
+
})));
|
|
55
|
+
ingested += logs.length;
|
|
56
|
+
}
|
|
57
|
+
catch (err) {
|
|
58
|
+
this.logger.warn({ error: err.message, count: logs.length }, 'Failed to ingest telemetry logs');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// Metrics are now handled by TitanMetricsModule — telemetry relay just counts them
|
|
62
|
+
ingested += metricEntries.length;
|
|
63
|
+
// Process health entries (update node health state)
|
|
64
|
+
for (const _entry of healthEntries) {
|
|
65
|
+
// Future: update nodes table with health status
|
|
66
|
+
ingested++;
|
|
67
|
+
}
|
|
68
|
+
return ingested;
|
|
69
|
+
}
|
|
70
|
+
async query() {
|
|
71
|
+
// Query delegates to LogCollectorService for now
|
|
72
|
+
return [];
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Create and configure the TelemetryRelayService for the daemon.
|
|
77
|
+
*/
|
|
78
|
+
export function createTelemetryRelay(deps) {
|
|
79
|
+
const role = deps.isLeader !== false ? 'both' : 'producer';
|
|
80
|
+
const relay = new TelemetryRelayService({
|
|
81
|
+
nodeId: deps.nodeId ?? `omnitron-${process.pid}`,
|
|
82
|
+
role,
|
|
83
|
+
buffer: {
|
|
84
|
+
maxBufferSize: 5_000,
|
|
85
|
+
flushIntervalMs: 5_000, // 5s flush for telemetry
|
|
86
|
+
maxBatchSize: 1_000,
|
|
87
|
+
},
|
|
88
|
+
wal: role === 'producer' ? { maxSizeBytes: 50 * 1024 * 1024, maxSegments: 10 } : false,
|
|
89
|
+
});
|
|
90
|
+
// Set up aggregator (for 'both' role — leader stores telemetry locally)
|
|
91
|
+
if (role === 'both') {
|
|
92
|
+
const aggregator = new PgTelemetryAggregator(deps.logCollector, deps.logger);
|
|
93
|
+
relay.setAggregator(aggregator);
|
|
94
|
+
}
|
|
95
|
+
return relay;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Wire the relay into the orchestrator's log pipeline.
|
|
99
|
+
* Every app log line goes through the relay for unified telemetry.
|
|
100
|
+
*/
|
|
101
|
+
export function wireTelemetryToOrchestrator(relay, onAppLog) {
|
|
102
|
+
onAppLog((appName, line) => {
|
|
103
|
+
// Parse pino JSON line
|
|
104
|
+
let level = 'info';
|
|
105
|
+
let message = line;
|
|
106
|
+
try {
|
|
107
|
+
const parsed = JSON.parse(line);
|
|
108
|
+
level = pinoLevelToString(parsed.level ?? 30);
|
|
109
|
+
message = parsed.msg ?? parsed.message ?? line;
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
// Plain text — use as-is
|
|
113
|
+
}
|
|
114
|
+
relay.record({
|
|
115
|
+
type: 'log',
|
|
116
|
+
app: appName,
|
|
117
|
+
data: { level, message },
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
function pinoLevelToString(level) {
|
|
122
|
+
if (level <= 10)
|
|
123
|
+
return 'trace';
|
|
124
|
+
if (level <= 20)
|
|
125
|
+
return 'debug';
|
|
126
|
+
if (level <= 30)
|
|
127
|
+
return 'info';
|
|
128
|
+
if (level <= 40)
|
|
129
|
+
return 'warn';
|
|
130
|
+
if (level <= 50)
|
|
131
|
+
return 'error';
|
|
132
|
+
return 'fatal';
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=telemetry.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.service.js","sourceRoot":"","sources":["../../src/services/telemetry.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trace Collector RPC Service
|
|
3
|
+
*
|
|
4
|
+
* Netron RPC endpoints for distributed trace ingestion and querying.
|
|
5
|
+
*/
|
|
6
|
+
import type { TraceCollectorService, TraceSpan, Trace, TraceFilter, ServiceMapEntry } from './trace-collector.service.js';
|
|
7
|
+
export declare class TraceRpcService {
|
|
8
|
+
private readonly traces;
|
|
9
|
+
constructor(traces: TraceCollectorService);
|
|
10
|
+
ingestSpan(data: TraceSpan): Promise<{
|
|
11
|
+
success: boolean;
|
|
12
|
+
}>;
|
|
13
|
+
ingestBatch(data: {
|
|
14
|
+
spans: TraceSpan[];
|
|
15
|
+
}): Promise<{
|
|
16
|
+
success: boolean;
|
|
17
|
+
}>;
|
|
18
|
+
getTrace(data: {
|
|
19
|
+
traceId: string;
|
|
20
|
+
}): Promise<Trace | null>;
|
|
21
|
+
queryTraces(data: TraceFilter): Promise<Trace[]>;
|
|
22
|
+
getServiceMap(): Promise<ServiceMapEntry[]>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=trace-collector.rpc-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-collector.rpc-service.d.ts","sourceRoot":"","sources":["../../src/services/trace-collector.rpc-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EACV,qBAAqB,EACrB,SAAS,EACT,KAAK,EACL,WAAW,EACX,eAAe,EAChB,MAAM,8BAA8B,CAAC;AAEtC,qBACa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,qBAAqB;IAGpD,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAM1D,WAAW,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,SAAS,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAMxE,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAK1D,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAKhD,aAAa,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;CAGlD"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trace Collector RPC Service
|
|
3
|
+
*
|
|
4
|
+
* Netron RPC endpoints for distributed trace ingestion and querying.
|
|
5
|
+
*/
|
|
6
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
7
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
9
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
10
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
11
|
+
};
|
|
12
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
13
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
14
|
+
};
|
|
15
|
+
import { Service, Public } from '@omnitron-dev/titan/decorators';
|
|
16
|
+
import { VIEWER_ROLES } from '../shared/roles.js';
|
|
17
|
+
let TraceRpcService = class TraceRpcService {
|
|
18
|
+
traces;
|
|
19
|
+
constructor(traces) {
|
|
20
|
+
this.traces = traces;
|
|
21
|
+
}
|
|
22
|
+
async ingestSpan(data) {
|
|
23
|
+
await this.traces.ingestSpan(data);
|
|
24
|
+
return { success: true };
|
|
25
|
+
}
|
|
26
|
+
async ingestBatch(data) {
|
|
27
|
+
await this.traces.ingestBatch(data.spans);
|
|
28
|
+
return { success: true };
|
|
29
|
+
}
|
|
30
|
+
async getTrace(data) {
|
|
31
|
+
return this.traces.getTrace(data.traceId);
|
|
32
|
+
}
|
|
33
|
+
async queryTraces(data) {
|
|
34
|
+
return this.traces.queryTraces(data);
|
|
35
|
+
}
|
|
36
|
+
async getServiceMap() {
|
|
37
|
+
return this.traces.getServiceMap();
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
__decorate([
|
|
41
|
+
Public({ auth: { roles: VIEWER_ROLES } }),
|
|
42
|
+
__metadata("design:type", Function),
|
|
43
|
+
__metadata("design:paramtypes", [Object]),
|
|
44
|
+
__metadata("design:returntype", Promise)
|
|
45
|
+
], TraceRpcService.prototype, "ingestSpan", null);
|
|
46
|
+
__decorate([
|
|
47
|
+
Public({ auth: { roles: VIEWER_ROLES } }),
|
|
48
|
+
__metadata("design:type", Function),
|
|
49
|
+
__metadata("design:paramtypes", [Object]),
|
|
50
|
+
__metadata("design:returntype", Promise)
|
|
51
|
+
], TraceRpcService.prototype, "ingestBatch", null);
|
|
52
|
+
__decorate([
|
|
53
|
+
Public({ auth: { roles: VIEWER_ROLES } }),
|
|
54
|
+
__metadata("design:type", Function),
|
|
55
|
+
__metadata("design:paramtypes", [Object]),
|
|
56
|
+
__metadata("design:returntype", Promise)
|
|
57
|
+
], TraceRpcService.prototype, "getTrace", null);
|
|
58
|
+
__decorate([
|
|
59
|
+
Public({ auth: { roles: VIEWER_ROLES } }),
|
|
60
|
+
__metadata("design:type", Function),
|
|
61
|
+
__metadata("design:paramtypes", [Object]),
|
|
62
|
+
__metadata("design:returntype", Promise)
|
|
63
|
+
], TraceRpcService.prototype, "queryTraces", null);
|
|
64
|
+
__decorate([
|
|
65
|
+
Public({ auth: { roles: VIEWER_ROLES } }),
|
|
66
|
+
__metadata("design:type", Function),
|
|
67
|
+
__metadata("design:paramtypes", []),
|
|
68
|
+
__metadata("design:returntype", Promise)
|
|
69
|
+
], TraceRpcService.prototype, "getServiceMap", null);
|
|
70
|
+
TraceRpcService = __decorate([
|
|
71
|
+
Service({ name: 'OmnitronTraces' }),
|
|
72
|
+
__metadata("design:paramtypes", [Function])
|
|
73
|
+
], TraceRpcService);
|
|
74
|
+
export { TraceRpcService };
|
|
75
|
+
//# sourceMappingURL=trace-collector.rpc-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-collector.rpc-service.js","sourceRoot":"","sources":["../../src/services/trace-collector.rpc-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;;;;;;;;;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAU3C,IAAM,eAAe,GAArB,MAAM,eAAe;IACG;IAA7B,YAA6B,MAA6B;QAA7B,WAAM,GAAN,MAAM,CAAuB;IAAG,CAAC;IAGxD,AAAN,KAAK,CAAC,UAAU,CAAC,IAAe;QAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CAAC,IAA4B;QAC5C,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAGK,AAAN,KAAK,CAAC,QAAQ,CAAC,IAAyB;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CAAC,IAAiB;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAGK,AAAN,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;IACrC,CAAC;CACF,CAAA;AAzBO;IADL,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC;;;;iDAIzC;AAGK;IADL,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC;;;;kDAIzC;AAGK;IADL,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC;;;;+CAGzC;AAGK;IADL,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC;;;;kDAGzC;AAGK;IADL,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC;;;;oDAGzC;AA5BU,eAAe;IAD3B,OAAO,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;;GACvB,eAAe,CA6B3B"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TraceCollectorService — OTLP-compatible distributed trace collection
|
|
3
|
+
*
|
|
4
|
+
* Collects spans from Netron RPC calls and stores them in omnitron-pg
|
|
5
|
+
* for querying and visualization. Supports:
|
|
6
|
+
* - Single span and batch ingestion
|
|
7
|
+
* - Trace reconstruction from spans
|
|
8
|
+
* - Service map generation
|
|
9
|
+
* - Filtering by service, operation, duration, tags, time range
|
|
10
|
+
*
|
|
11
|
+
* Ingestion is write-buffered for performance — spans are batched and
|
|
12
|
+
* flushed to PG at configurable intervals.
|
|
13
|
+
*/
|
|
14
|
+
import type { Kysely } from 'kysely';
|
|
15
|
+
import type { ILogger } from '@omnitron-dev/titan/module/logger';
|
|
16
|
+
import type { OmnitronDatabase } from '../database/schema.js';
|
|
17
|
+
export interface TraceSpan {
|
|
18
|
+
traceId: string;
|
|
19
|
+
spanId: string;
|
|
20
|
+
parentSpanId: string | null;
|
|
21
|
+
operationName: string;
|
|
22
|
+
serviceName: string;
|
|
23
|
+
startTime: string;
|
|
24
|
+
endTime: string;
|
|
25
|
+
duration: number;
|
|
26
|
+
status: 'ok' | 'error';
|
|
27
|
+
tags: Record<string, string>;
|
|
28
|
+
logs?: Array<{
|
|
29
|
+
timestamp: string;
|
|
30
|
+
message: string;
|
|
31
|
+
}>;
|
|
32
|
+
}
|
|
33
|
+
export interface Trace {
|
|
34
|
+
traceId: string;
|
|
35
|
+
spans: TraceSpan[];
|
|
36
|
+
duration: number;
|
|
37
|
+
serviceName: string;
|
|
38
|
+
operationName: string;
|
|
39
|
+
startTime: string;
|
|
40
|
+
}
|
|
41
|
+
export interface TraceFilter {
|
|
42
|
+
service?: string;
|
|
43
|
+
operation?: string;
|
|
44
|
+
minDuration?: number;
|
|
45
|
+
maxDuration?: number;
|
|
46
|
+
from?: string;
|
|
47
|
+
to?: string;
|
|
48
|
+
limit?: number;
|
|
49
|
+
tags?: Record<string, string>;
|
|
50
|
+
}
|
|
51
|
+
export interface ServiceMapEntry {
|
|
52
|
+
source: string;
|
|
53
|
+
target: string;
|
|
54
|
+
callCount: number;
|
|
55
|
+
avgDuration: number;
|
|
56
|
+
errorRate: number;
|
|
57
|
+
}
|
|
58
|
+
export declare class TraceCollectorService {
|
|
59
|
+
private readonly db;
|
|
60
|
+
private readonly logger;
|
|
61
|
+
private buffer;
|
|
62
|
+
private flushTimer;
|
|
63
|
+
private readonly flushInterval;
|
|
64
|
+
private readonly maxBufferSize;
|
|
65
|
+
constructor(db: Kysely<OmnitronDatabase>, logger: ILogger);
|
|
66
|
+
start(): void;
|
|
67
|
+
stop(): Promise<void>;
|
|
68
|
+
ingestSpan(span: TraceSpan): Promise<void>;
|
|
69
|
+
ingestBatch(spans: TraceSpan[]): Promise<void>;
|
|
70
|
+
getTrace(traceId: string): Promise<Trace | null>;
|
|
71
|
+
queryTraces(filter: TraceFilter): Promise<Trace[]>;
|
|
72
|
+
getServiceMap(): Promise<ServiceMapEntry[]>;
|
|
73
|
+
private flush;
|
|
74
|
+
private mapSpan;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=trace-collector.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-collector.service.d.ts","sourceRoot":"","sources":["../../src/services/trace-collector.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAM9D,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,qBAAa,qBAAqB;IAO9B,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPzB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAO;gBAGlB,EAAE,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAC5B,MAAM,EAAE,OAAO;IAOlC,KAAK,IAAI,IAAI;IAMP,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrB,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1C,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAuBhD,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IA+ClD,aAAa,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YA8BnC,KAAK;IAwCnB,OAAO,CAAC,OAAO;CAehB"}
|