@kici-dev/orchestrator 0.17.0 → 0.19.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/agent/agent-version.d.ts +12 -21
- package/dist/agent/dispatcher.d.ts +283 -437
- package/dist/agent/host-roster-reaper.d.ts +8 -10
- package/dist/agent/host-roster.d.ts +77 -100
- package/dist/agent/ownership-refusal.d.ts +3 -5
- package/dist/agent/ownership-tracker.d.ts +42 -76
- package/dist/agent/registry.d.ts +137 -230
- package/dist/agent/token-store.d.ts +34 -77
- package/dist/agent-packaging/availability.d.ts +6 -9
- package/dist/agent-packaging/download.d.ts +6 -9
- package/dist/agent-packaging/install-closure.d.ts +9 -12
- package/dist/agent-packaging/node-binary.d.ts +6 -10
- package/dist/agent-packaging/node-runtime-members.d.ts +3 -5
- package/dist/agent-packaging/refresh.d.ts +12 -16
- package/dist/agent-packaging/store.d.ts +5 -6
- package/dist/agent-packaging/upload.d.ts +3 -4
- package/dist/app.d.ts +0 -3
- package/dist/approvals/apply-decision.d.ts +35 -52
- package/dist/approvals/approval-resolver.d.ts +11 -23
- package/dist/approvals/held-run-release-wiring.d.ts +14 -21
- package/dist/approvals/independent-wiring.d.ts +13 -20
- package/dist/approvals/resume-router.d.ts +1 -1
- package/dist/approvals/step-approval-bridge.d.ts +11 -21
- package/dist/approvals/triggerer-subject.d.ts +8 -10
- package/dist/artifacts/artifact-store.d.ts +55 -95
- package/dist/artifacts/failure-messages.d.ts +15 -20
- package/dist/audit/access-log.d.ts +27 -45
- package/dist/audit/sampling-rate-limiter.d.ts +11 -23
- package/dist/cache/agent-job-failed-error.d.ts +2 -3
- package/dist/cache/build-coordinator.d.ts +5 -28
- package/dist/cache/cache-upload-settle.d.ts +11 -11
- package/dist/cache/dep-cache.d.ts +32 -60
- package/dist/cache/dispatch-cache-ref-tracker.d.ts +15 -23
- package/dist/cache/global-eval-round-cache.d.ts +33 -41
- package/dist/cache/pending-builds.d.ts +2 -6
- package/dist/cache/pending-dynamics.d.ts +2 -7
- package/dist/cache/pending-global-evals.d.ts +9 -12
- package/dist/cache/pending-inits.d.ts +11 -22
- package/dist/cache/pending-precursor-db-watcher.d.ts +24 -32
- package/dist/cache/pending-tracker.d.ts +17 -45
- package/dist/cache/precursor-result.d.ts +17 -30
- package/dist/cache/source-cache.d.ts +36 -65
- package/dist/cache/user-cache.d.ts +21 -25
- package/dist/cancel/cancel-held-run.d.ts +13 -16
- package/dist/cancel/cancel-route-answer.d.ts +1 -2
- package/dist/cancel/cancel-run.d.ts +26 -50
- package/dist/cancel/dashboard-cancel-handler.d.ts +2 -2
- package/dist/cancel/peer-job-cancel.d.ts +11 -14
- package/dist/cancel/sweep-stuck-cancelling.d.ts +9 -13
- package/dist/cli/api-client.d.ts +25 -76
- package/dist/cli/commands/access-log.d.ts +4 -24
- package/dist/cli/commands/agent-package.d.ts +7 -15
- package/dist/cli/commands/agent-service/agent-env.d.ts +3 -6
- package/dist/cli/commands/agent-service/index.d.ts +4 -10
- package/dist/cli/commands/agent-service/install.d.ts +4 -11
- package/dist/cli/commands/agent-service/status.d.ts +4 -9
- package/dist/cli/commands/agent-service/upgrade.d.ts +4 -16
- package/dist/cli/commands/agent.d.ts +12 -25
- package/dist/cli/commands/api-key.d.ts +5 -12
- package/dist/cli/commands/attestations-list.d.ts +7 -17
- package/dist/cli/commands/attestations-retry.d.ts +5 -11
- package/dist/cli/commands/attestations-reverify.d.ts +4 -5
- package/dist/cli/commands/attestations.d.ts +3 -8
- package/dist/cli/commands/audit.d.ts +1 -5
- package/dist/cli/commands/backend.d.ts +2 -11
- package/dist/cli/commands/check-run.d.ts +7 -18
- package/dist/cli/commands/cluster-name.d.ts +5 -12
- package/dist/cli/commands/cluster-settings.d.ts +28 -53
- package/dist/cli/commands/cold-store.d.ts +7 -15
- package/dist/cli/commands/config.d.ts +9 -20
- package/dist/cli/commands/context.d.ts +8 -20
- package/dist/cli/commands/dashboard-encryption-key.d.ts +9 -14
- package/dist/cli/commands/db-backup.d.ts +17 -32
- package/dist/cli/commands/db.d.ts +3 -4
- package/dist/cli/commands/debug-bundle.d.ts +3 -10
- package/dist/cli/commands/diagnose.d.ts +3 -14
- package/dist/cli/commands/event-dlq.d.ts +4 -12
- package/dist/cli/commands/event-log.d.ts +2 -20
- package/dist/cli/commands/execution.d.ts +3 -9
- package/dist/cli/commands/firecracker/index.d.ts +3 -6
- package/dist/cli/commands/held-run.d.ts +23 -37
- package/dist/cli/commands/host.d.ts +4 -11
- package/dist/cli/commands/inspect-bundle.d.ts +3 -11
- package/dist/cli/commands/local-hook.d.ts +2 -10
- package/dist/cli/commands/local-trigger.d.ts +2 -2
- package/dist/cli/commands/orchestrator-service/drain.d.ts +3 -6
- package/dist/cli/commands/orchestrator-service/index.d.ts +6 -14
- package/dist/cli/commands/orchestrator-service/install-env.d.ts +25 -49
- package/dist/cli/commands/orchestrator-service/install.d.ts +2 -5
- package/dist/cli/commands/orchestrator-service/status.d.ts +10 -22
- package/dist/cli/commands/orchestrator-service/upgrade.d.ts +6 -15
- package/dist/cli/commands/org-settings.d.ts +5 -11
- package/dist/cli/commands/peer.d.ts +5 -10
- package/dist/cli/commands/queue.d.ts +3 -9
- package/dist/cli/commands/registration.d.ts +4 -8
- package/dist/cli/commands/remote-source.d.ts +6 -12
- package/dist/cli/commands/rotate.d.ts +1 -5
- package/dist/cli/commands/runs.d.ts +1 -30
- package/dist/cli/commands/scaler.d.ts +5 -12
- package/dist/cli/commands/secret.d.ts +1 -9
- package/dist/cli/commands/service-health.d.ts +5 -10
- package/dist/cli/commands/shared/admin-cli-access-log.d.ts +10 -19
- package/dist/cli/commands/shared/bare-metal-binary-check.d.ts +86 -0
- package/dist/cli/commands/shared/cli-action.d.ts +1 -4
- package/dist/cli/commands/shared/confirm.d.ts +5 -10
- package/dist/cli/commands/shared/db.d.ts +1 -12
- package/dist/cli/commands/shared/env-file-mode.d.ts +6 -9
- package/dist/cli/commands/shared/secret-input.d.ts +7 -21
- package/dist/cli/commands/shared/service-verbs.d.ts +6 -12
- package/dist/cli/commands/shared/unbound-context-warning.d.ts +2 -4
- package/dist/cli/commands/shared/upgrade-hooks.d.ts +7 -16
- package/dist/cli/commands/shared/upgrade-safety.d.ts +20 -31
- package/dist/cli/commands/shared/versioned-upgrade.d.ts +83 -161
- package/dist/cli/commands/signing-key.d.ts +4 -9
- package/dist/cli/commands/source-manifest.d.ts +11 -14
- package/dist/cli/commands/source.d.ts +7 -32
- package/dist/cli/commands/token.d.ts +4 -15
- package/dist/cli/commands/trust-policy.d.ts +35 -88
- package/dist/cli/commands/variable.d.ts +3 -5
- package/dist/cli/commands/workflow.d.ts +3 -24
- package/dist/cli/join.d.ts +3 -6
- package/dist/cli/kici-admin.d.ts +11 -29
- package/dist/cli/lazy-deps/cache.d.ts +1 -14
- package/dist/cli/lazy-deps/downloader.d.ts +4 -27
- package/dist/cli/lazy-deps/registry.d.ts +5 -25
- package/dist/cli/local-github-ingress-url.d.ts +5 -7
- package/dist/cli/loopback-callback.d.ts +6 -7
- package/dist/cli/open-browser.d.ts +4 -8
- package/dist/cli/root-option-routing.d.ts +17 -29
- package/dist/cli/service/backup-timer.d.ts +16 -39
- package/dist/cli/service/compose-path.d.ts +3 -7
- package/dist/cli/service/compose.d.ts +12 -30
- package/dist/cli/service/deploy-env.d.ts +6 -18
- package/dist/cli/service/entrypoint.d.ts +14 -25
- package/dist/cli/service/env-assignment.d.ts +6 -17
- package/dist/cli/service/image-digests.d.ts +6 -15
- package/dist/cli/service/index.d.ts +2 -18
- package/dist/cli/service/instance/index-file.d.ts +9 -16
- package/dist/cli/service/instance/manifest.d.ts +60 -60
- package/dist/cli/service/instance/resolve.d.ts +32 -68
- package/dist/cli/service/instance/types.d.ts +12 -29
- package/dist/cli/service/launchd.d.ts +29 -60
- package/dist/cli/service/platform-detect.d.ts +13 -68
- package/dist/cli/service/privilege.d.ts +12 -25
- package/dist/cli/service/shutdown-grace.d.ts +11 -20
- package/dist/cli/service/systemd.d.ts +7 -20
- package/dist/cli/service/types.d.ts +63 -114
- package/dist/cli/service/windows-acl.d.ts +14 -21
- package/dist/cli/service/windows-env-file.d.ts +10 -28
- package/dist/cli/service/windows.d.ts +15 -31
- package/dist/cli/webhook-url-notes.d.ts +4 -6
- package/dist/cli/wizard/agent-wizard.d.ts +3 -14
- package/dist/cli/wizard/orchestrator-wizard.d.ts +12 -37
- package/dist/cli/wizard/prompts.d.ts +6 -16
- package/dist/cli.js +8207 -10128
- package/dist/cluster/cluster-identity.d.ts +20 -32
- package/dist/cluster/cluster-settings-reader.d.ts +50 -77
- package/dist/cluster/coordinator-credential.d.ts +4 -5
- package/dist/cluster/coordinator.d.ts +76 -148
- package/dist/cluster/health-api.d.ts +2 -10
- package/dist/cluster/index.d.ts +1 -6
- package/dist/cluster/instance-heartbeat.d.ts +26 -42
- package/dist/cluster/join-client.d.ts +4 -7
- package/dist/cluster/join-handler.d.ts +3 -7
- package/dist/cluster/join-token.d.ts +13 -27
- package/dist/cluster/leader-gated-scheduler.d.ts +8 -17
- package/dist/cluster/orphan-recovery.d.ts +13 -35
- package/dist/cluster/peer-auth-coordinator.d.ts +2 -8
- package/dist/cluster/peer-client.d.ts +46 -76
- package/dist/cluster/peer-credentials.d.ts +24 -70
- package/dist/cluster/peer-crypto.d.ts +5 -26
- package/dist/cluster/peer-forget.d.ts +3 -3
- package/dist/cluster/peer-handler.d.ts +47 -71
- package/dist/cluster/peer-registry.d.ts +37 -106
- package/dist/cluster/plan-headroom-store.d.ts +4 -6
- package/dist/cluster/raft-state.d.ts +4 -13
- package/dist/cluster/raft.d.ts +18 -53
- package/dist/cluster/reconcile-identity.d.ts +8 -11
- package/dist/cluster/rerouted-job-guard.d.ts +7 -11
- package/dist/cluster/verified-issuer.d.ts +2 -3
- package/dist/cluster/worker-cluster-settings.d.ts +7 -10
- package/dist/cluster/worker-eviction.d.ts +16 -26
- package/dist/cold-store/load-access-log-range.d.ts +15 -31
- package/dist/cold-store/load-event-log-range.d.ts +13 -27
- package/dist/cold-store/load-secret-audit-log-range.d.ts +8 -12
- package/dist/cold-store/orchestrator-cold-store.d.ts +8 -28
- package/dist/cold-store/tables/access-log.d.ts +12 -14
- package/dist/cold-store/tables/event-log.d.ts +4 -8
- package/dist/cold-store/tables/execution-runs.d.ts +6 -11
- package/dist/cold-store/tables/secret-audit-log.d.ts +5 -12
- package/dist/concurrency/dispatch-next-queued.d.ts +13 -25
- package/dist/concurrency/queue-manager.d.ts +22 -54
- package/dist/concurrency/waiters.d.ts +15 -31
- package/dist/config/encryption.d.ts +0 -2
- package/dist/config/loader.d.ts +0 -1
- package/dist/config/reload.d.ts +0 -6
- package/dist/config/resolver.d.ts +0 -4
- package/dist/config/shared-store.d.ts +0 -2
- package/dist/config/types.d.ts +0 -3
- package/dist/content-requirements-cache.d.ts +0 -1
- package/dist/contexts/context-store.d.ts +0 -2
- package/dist/contexts/held-runs.d.ts +0 -2
- package/dist/contexts/variable-store.d.ts +0 -2
- package/dist/dashboard/attestation-filters.d.ts +13 -18
- package/dist/dashboard/handler.d.ts +145 -307
- package/dist/db/client.d.ts +2 -6
- package/dist/db/deferred-index-build.d.ts +8 -10
- package/dist/db/deferred-indexes.d.ts +15 -22
- package/dist/db/migration-provider.d.ts +2 -4
- package/dist/db/migration-test-harness.d.ts +26 -44
- package/dist/db/migrations/001_initial.d.ts +1 -4
- package/dist/db/migrations/002_config_versions_key_version.d.ts +5 -8
- package/dist/db/migrations/003_access_log.d.ts +10 -15
- package/dist/db/migrations/004_rename_bundle_to_source.d.ts +7 -9
- package/dist/db/migrations/005_cold_store_chunk_counter.d.ts +4 -10
- package/dist/db/migrations/006_runs_jobs_steps_archived_at.d.ts +9 -29
- package/dist/db/migrations/007_audit_logs_archived_at.d.ts +11 -30
- package/dist/db/migrations/008_event_log_archived_at.d.ts +14 -29
- package/dist/db/migrations/009_access_log_trigram.d.ts +4 -8
- package/dist/db/migrations/010_cold_store_chunks.d.ts +16 -26
- package/dist/db/migrations/011_drop_source_secrets_notify.d.ts +6 -14
- package/dist/db/migrations/012_peer_credentials_active_uniq.d.ts +9 -14
- package/dist/db/migrations/013_execution_log_bytes.d.ts +5 -13
- package/dist/db/migrations/014_kici_events_lease_retry.d.ts +14 -27
- package/dist/db/migrations/015_org_settings_customer_scoped.d.ts +12 -17
- package/dist/db/migrations/016_org_settings_allow_http_npm.d.ts +4 -6
- package/dist/db/migrations/019_generic_sources_change_notify.d.ts +13 -17
- package/dist/db/migrations/020_org_settings_dashboard_write_policy.d.ts +5 -8
- package/dist/db/migrations/021_check_run_tracking.d.ts +5 -17
- package/dist/db/migrations/022_scaler_manager_state.d.ts +10 -20
- package/dist/db/migrations/023_dispatch_queue_recovery_deadline.d.ts +7 -18
- package/dist/db/migrations/024_dispatch_queue_provisioning_error.d.ts +5 -11
- package/dist/db/migrations/025_init_failure.d.ts +5 -9
- package/dist/db/migrations/027_workflow_timeout.d.ts +5 -13
- package/dist/db/migrations/029_dispatch_queue_attempts.d.ts +4 -10
- package/dist/db/migrations/030_held_runs_env_set_null.d.ts +5 -6
- package/dist/db/migrations/031_dispatch_queue_ack_deadline.d.ts +6 -12
- package/dist/db/migrations/033_org_settings_approval.d.ts +7 -10
- package/dist/db/migrations/034_held_runs_generalize.d.ts +10 -18
- package/dist/db/migrations/035_pending_workflow_contexts.d.ts +4 -5
- package/dist/db/migrations/037_generic_sources_provider_type_local.d.ts +5 -6
- package/dist/db/migrations/038_remote_sources.d.ts +5 -7
- package/dist/db/migrations/045_host_properties.d.ts +5 -9
- package/dist/db/migrations/046_join_token_consumed_by_instance.d.ts +5 -10
- package/dist/db/migrations/048_host_reboot_pending.d.ts +6 -12
- package/dist/db/migrations/049_held_runs_payload.d.ts +3 -8
- package/dist/db/migrations/050_sources_slug.d.ts +4 -5
- package/dist/db/migrations/051_binding_host_pattern.d.ts +7 -10
- package/dist/db/migrations/052_host_reach_metadata.d.ts +8 -11
- package/dist/db/migrations/053_agent_token_single_use.d.ts +6 -10
- package/dist/db/migrations/054_local_working_tree.d.ts +4 -6
- package/dist/db/migrations/055_agent_token_mandatory_labels.d.ts +6 -11
- package/dist/db/migrations/056_execution_jobs_environments.d.ts +4 -11
- package/dist/db/migrations/064_execution_jobs_skipped_environments.d.ts +6 -9
- package/dist/db/migrations/065_pending_attestations.d.ts +9 -12
- package/dist/db/migrations/066_pending_attestations_rejected.d.ts +4 -7
- package/dist/db/migrations/068_request_idempotency.d.ts +7 -9
- package/dist/db/migrations/069_reroute_tunables.d.ts +6 -14
- package/dist/db/migrations/071_batch_accumulation.d.ts +8 -16
- package/dist/db/migrations/072_dispatch_queue_run_id_index.d.ts +3 -9
- package/dist/db/migrations/074_normalize_zero_concurrency_limit.d.ts +4 -7
- package/dist/db/migrations/076_artifacts.d.ts +7 -8
- package/dist/db/migrations/078_org_settings_backup_staleness.d.ts +3 -6
- package/dist/db/migrations/079_org_settings_scaler_spawn_timeout.d.ts +4 -8
- package/dist/db/migrations/080_cluster_settings.d.ts +6 -10
- package/dist/db/migrations/081_org_settings_queue_timeout.d.ts +7 -11
- package/dist/db/migrations/082_host_s3_reachable.d.ts +5 -10
- package/dist/db/migrations/083_org_settings_artifact_caps.d.ts +6 -8
- package/dist/db/migrations/084_orchestrator_signing_keys.d.ts +8 -13
- package/dist/db/migrations/085_cluster_settings_reroute_flap_grace_ms.d.ts +4 -5
- package/dist/db/migrations/086_cluster_settings_max_fanout_hosts.d.ts +3 -3
- package/dist/db/migrations/087_cluster_settings_event_router_rate_limit.d.ts +5 -3
- package/dist/db/migrations/088_cluster_settings_cache_max_tarball_bytes.d.ts +3 -3
- package/dist/db/migrations/089_cluster_settings_cache_ttl_days.d.ts +3 -5
- package/dist/db/migrations/090_cluster_settings_concurrency_wait_timeout_ms.d.ts +3 -6
- package/dist/db/migrations/091_cluster_settings_agent_token_ttl_ms.d.ts +3 -6
- package/dist/db/migrations/092_cluster_settings_version.d.ts +5 -9
- package/dist/db/migrations/094_dashboard_encryption_keys.d.ts +9 -14
- package/dist/db/migrations/095_dashboard_write_policy_tristate.d.ts +2 -6
- package/dist/db/migrations/099_cluster_settings_dashboard_verified_issuer.d.ts +8 -11
- package/dist/db/migrations/101_contexts_hold_expiry_drop_default.d.ts +9 -15
- package/dist/db/migrations/102_dispatch_queue_agent_id.d.ts +6 -11
- package/dist/db/migrations/103_cluster_settings_ownership_db_check_timeout_ms.d.ts +6 -12
- package/dist/db/migrations/104_check_run_terminal_sent.d.ts +8 -14
- package/dist/db/migrations/105_org_trust_policy.d.ts +5 -7
- package/dist/db/migrations/106_cluster_settings_check_run_tracking_ttl_days.d.ts +4 -12
- package/dist/db/migrations/107_check_run_tracking_updated_at_index.d.ts +8 -14
- package/dist/db/migrations/113_execution_runs_workflow_repo_index.d.ts +10 -19
- package/dist/db/migrations/115_global_workflows_cluster_switch.d.ts +2 -3
- package/dist/db/migrations/121_org_settings_allow_untrusted_dockerfile_builds.d.ts +7 -8
- package/dist/db/migrations/122_host_roster_scaler_managed.d.ts +9 -16
- package/dist/db/migrations/123_workflow_registrations_default_branch.d.ts +8 -16
- package/dist/db/migrations/125_org_trust_directory.d.ts +13 -21
- package/dist/db/migrations/126_held_runs_posted_pending_check.d.ts +10 -16
- package/dist/db/migrations/127_org_trust_policy_approval_expiry_seconds.d.ts +8 -16
- package/dist/db/migrations/128_execution_runs_global_eval_round.d.ts +6 -11
- package/dist/db/migrations/129_execution_runs_dispatch_routing_key.d.ts +8 -11
- package/dist/db/migrations/130_scaler_provision_outcomes.d.ts +13 -20
- package/dist/db/migrations/131_execution_jobs_git_credentials.d.ts +12 -22
- package/dist/db/migrations/132_execution_runs_trigger_event.d.ts +6 -16
- package/dist/db/migrations/133_dispatch_queue_source_tar_digest.d.ts +6 -9
- package/dist/db/migrations/140_dispatch_queue_canonical_labels.d.ts +22 -40
- package/dist/db/migrations/143_execution_jobs_precursor_result.d.ts +9 -18
- package/dist/db/migrations/144_execution_runs_registration_window.d.ts +12 -20
- package/dist/db/migrations/147_sealed_job_secrets.d.ts +5 -9
- package/dist/db/migrations/148_cluster_settings_sealed_secrets_retry_backoff_ms.d.ts +7 -13
- package/dist/db/migrations/150_execution_runs_status_epoch.d.ts +6 -11
- package/dist/db/migrations/152_org_settings_cache_upload_settle_timeout.d.ts +5 -8
- package/dist/db/migrations/157_host_roster_identity_source.d.ts +9 -13
- package/dist/db/migrations/159_org_id_widen_to_source_width.d.ts +5 -0
- package/dist/db/migrator.d.ts +17 -25
- package/dist/db/notify-listener.d.ts +8 -11
- package/dist/db/repos/dashboard-encryption-keys-repo.d.ts +9 -10
- package/dist/db/synthetic-job-ids.d.ts +6 -8
- package/dist/db/types.d.ts +531 -1058
- package/dist/deployment/deployment-identity.d.ts +42 -60
- package/dist/diagnostics/bundle-reader.d.ts +3 -15
- package/dist/diagnostics/bundle-writer.d.ts +5 -12
- package/dist/diagnostics/checks/agents.d.ts +1 -7
- package/dist/diagnostics/checks/backup.d.ts +7 -10
- package/dist/diagnostics/checks/certs.d.ts +1 -6
- package/dist/diagnostics/checks/config.d.ts +2 -5
- package/dist/diagnostics/checks/db.d.ts +1 -1
- package/dist/diagnostics/checks/disk.d.ts +1 -6
- package/dist/diagnostics/checks/firecracker-network.d.ts +3 -3
- package/dist/diagnostics/checks/index.d.ts +0 -6
- package/dist/diagnostics/checks/retention.d.ts +3 -6
- package/dist/diagnostics/checks/scaler.d.ts +3 -7
- package/dist/diagnostics/checks/ws.d.ts +1 -6
- package/dist/diagnostics/fleet-collector.d.ts +11 -14
- package/dist/diagnostics/fleet-constants.d.ts +1 -3
- package/dist/diagnostics/fleet-selection.d.ts +3 -7
- package/dist/diagnostics/fleet-topology.d.ts +2 -6
- package/dist/diagnostics/fleet-wiring.d.ts +6 -12
- package/dist/diagnostics/index.d.ts +0 -5
- package/dist/diagnostics/runner.d.ts +4 -8
- package/dist/diagnostics/types.d.ts +10 -21
- package/dist/drain/drain-controller.d.ts +16 -22
- package/dist/entry-helpers.d.ts +0 -2
- package/dist/events/circuit-breaker.d.ts +0 -3
- package/dist/events/event-router.d.ts +1 -2
- package/dist/events/event-store.d.ts +0 -9
- package/dist/events/trust-store.d.ts +0 -3
- package/dist/events/types.d.ts +0 -9
- package/dist/firecracker/host-network.d.ts +24 -30
- package/dist/firecracker/net-interfaces.d.ts +4 -7
- package/dist/helpers/rate-limiter.d.ts +0 -1
- package/dist/index.js +240 -482
- package/dist/metrics/agent-metrics-aggregator.d.ts +24 -67
- package/dist/metrics/metrics-reporter.d.ts +4 -13
- package/dist/metrics/prometheus.d.ts +47 -81
- package/dist/orchestrator-core.d.ts +3 -7
- package/dist/pipeline/content-filter.d.ts +20 -30
- package/dist/pipeline/cross-source-tally.d.ts +7 -8
- package/dist/pipeline/decorating-secret-resolver.d.ts +4 -8
- package/dist/pipeline/degraded-reason.d.ts +3 -4
- package/dist/pipeline/direct-ingress-deps.d.ts +15 -24
- package/dist/pipeline/dispatch-matched-workflow.d.ts +290 -526
- package/dist/pipeline/flatten-lock-steps.d.ts +4 -6
- package/dist/pipeline/global-dispatch-identity.d.ts +5 -10
- package/dist/pipeline/global-eval-round.d.ts +62 -156
- package/dist/pipeline/global-round-hold.d.ts +5 -7
- package/dist/pipeline/held-context-data.d.ts +5 -8
- package/dist/pipeline/held-round-registrations.d.ts +8 -11
- package/dist/pipeline/install-gate.d.ts +15 -25
- package/dist/pipeline/install-secrets-resolver.d.ts +24 -34
- package/dist/pipeline/internal-event-pipeline.d.ts +45 -62
- package/dist/pipeline/invoke-gate.d.ts +27 -40
- package/dist/pipeline/job-contexts.d.ts +19 -36
- package/dist/pipeline/manual-schedule.d.ts +7 -13
- package/dist/pipeline/needs-scheduler.d.ts +29 -46
- package/dist/pipeline/pending-workflow-context.d.ts +14 -28
- package/dist/pipeline/process-webhook.d.ts +88 -123
- package/dist/pipeline/processor.d.ts +209 -355
- package/dist/pipeline/remote-source-store.d.ts +5 -8
- package/dist/pipeline/request-idempotency.d.ts +10 -13
- package/dist/pipeline/rerun-global.d.ts +6 -7
- package/dist/pipeline/rerun-inputs.d.ts +23 -37
- package/dist/pipeline/rerun.d.ts +34 -57
- package/dist/pipeline/resolve-sandbox-grant.d.ts +5 -10
- package/dist/pipeline/resume-workflow.d.ts +28 -34
- package/dist/pipeline/route-or-dispatch-jobs.d.ts +19 -30
- package/dist/pipeline/run-event-context.d.ts +16 -21
- package/dist/pipeline/sandbox-allowlist-reader.d.ts +7 -11
- package/dist/pipeline/security-hold-check.d.ts +56 -80
- package/dist/pipeline/test-pipeline.d.ts +20 -46
- package/dist/pipeline/unbound-job-context.d.ts +6 -9
- package/dist/pipeline/undispatched-hold-checks.d.ts +4 -6
- package/dist/pipeline/wave-scheduler.d.ts +15 -22
- package/dist/pipeline/webhook-payload-store.d.ts +3 -10
- package/dist/pipeline/workflow-lock-at-sha.d.ts +14 -20
- package/dist/policy/dashboard-write-policy.d.ts +1 -1
- package/dist/provider-registry.d.ts +0 -19
- package/dist/providers/generic/index.d.ts +0 -2
- package/dist/providers/generic/normalizer.d.ts +0 -1
- package/dist/providers/generic/verification.d.ts +0 -8
- package/dist/providers/github/auth.d.ts +0 -1
- package/dist/providers/github/changed-files.d.ts +2 -1
- package/dist/providers/github/file-contents.d.ts +0 -4
- package/dist/providers/github/lock-file.d.ts +0 -4
- package/dist/providers/github/normalizer.d.ts +1 -9
- package/dist/providers/local/index.d.ts +1 -2
- package/dist/providers/local/lock-file-fetcher.d.ts +0 -4
- package/dist/providers/local/normalizer.d.ts +0 -10
- package/dist/providers/local/repo-url-builder.d.ts +0 -2
- package/dist/providers/universal-git/clone-token.d.ts +0 -2
- package/dist/providers/universal-git/lock-file.d.ts +0 -2
- package/dist/providers/universal-git/normalizer.d.ts +0 -2
- package/dist/queue/bootstrap.d.ts +3 -15
- package/dist/queue/cleanup.d.ts +29 -50
- package/dist/queue/depth-refresher.d.ts +21 -39
- package/dist/queue/job-queue.d.ts +112 -163
- package/dist/queue/retention.d.ts +23 -36
- package/dist/queue/scheduled-job.d.ts +17 -39
- package/dist/queue/terminalize-unroutable.d.ts +16 -18
- package/dist/queue/unroutable-probe.d.ts +15 -22
- package/dist/registration/extractor.d.ts +0 -6
- package/dist/registration/registration-index.d.ts +0 -6
- package/dist/registration/registration-store.d.ts +0 -9
- package/dist/reporting/agent-failure-category.d.ts +3 -5
- package/dist/reporting/check-run-reporter.d.ts +142 -316
- package/dist/reporting/check-run-summary.d.ts +16 -35
- package/dist/reporting/check-run-tracking-store.d.ts +54 -107
- package/dist/reporting/execution-tracker.d.ts +356 -526
- package/dist/reporting/fs-log-storage.d.ts +31 -33
- package/dist/reporting/job-check-run-completion.d.ts +14 -22
- package/dist/reporting/log-chunk-sink.d.ts +11 -16
- package/dist/reporting/log-pull-handler.d.ts +4 -13
- package/dist/reporting/log-retention.d.ts +3 -4
- package/dist/reporting/log-storage.d.ts +24 -52
- package/dist/reporting/log-writer.d.ts +28 -56
- package/dist/reporting/peer-log-normalize.d.ts +4 -8
- package/dist/reporting/run-aggregator.d.ts +6 -11
- package/dist/reporting/run-summary-fields.d.ts +5 -8
- package/dist/reporting/s3-log-storage.d.ts +31 -50
- package/dist/reporting/step-display-order.d.ts +11 -21
- package/dist/reporting/step-log-buffer.d.ts +7 -28
- package/dist/reporting/step-log-reader.d.ts +11 -19
- package/dist/routes/admin-access-log.d.ts +4 -6
- package/dist/routes/admin-auth.d.ts +17 -38
- package/dist/routes/admin-backends.d.ts +3 -14
- package/dist/routes/admin-cluster-name.d.ts +13 -21
- package/dist/routes/admin-cluster-settings.d.ts +6 -9
- package/dist/routes/admin-config.d.ts +7 -19
- package/dist/routes/admin-contexts.d.ts +6 -13
- package/dist/routes/admin-db.d.ts +5 -10
- package/dist/routes/admin-event-dlq.d.ts +3 -5
- package/dist/routes/admin-event-inspect.d.ts +3 -4
- package/dist/routes/admin-event-log.d.ts +3 -7
- package/dist/routes/admin-events.d.ts +16 -30
- package/dist/routes/admin-held-runs.d.ts +52 -76
- package/dist/routes/admin-maintenance.d.ts +3 -6
- package/dist/routes/admin-orchestrator-drain.d.ts +0 -2
- package/dist/routes/admin-org-settings.d.ts +8 -14
- package/dist/routes/admin-peer-forget.d.ts +0 -1
- package/dist/routes/admin-queue-execution.d.ts +3 -3
- package/dist/routes/admin-registrations.d.ts +3 -12
- package/dist/routes/admin-runs.d.ts +16 -29
- package/dist/routes/admin-scaler-orphans.d.ts +4 -4
- package/dist/routes/admin-scaler-reload.d.ts +5 -8
- package/dist/routes/admin-scheduled-jobs.d.ts +3 -4
- package/dist/routes/admin-sources.d.ts +20 -29
- package/dist/routes/admin-trust-policy.d.ts +31 -48
- package/dist/routes/admin.d.ts +67 -94
- package/dist/routes/caller-identity.d.ts +5 -12
- package/dist/routes/capabilities.d.ts +8 -13
- package/dist/routes/diagnostics.d.ts +2 -10
- package/dist/routes/fleet.d.ts +1 -2
- package/dist/routes/github-webhook.d.ts +2 -5
- package/dist/routes/health.d.ts +6 -19
- package/dist/routes/provenance-oidc.d.ts +3 -3
- package/dist/routes/uploads.d.ts +5 -11
- package/dist/routes/webhooks.d.ts +2 -24
- package/dist/scaler/agent-binary-location.d.ts +77 -0
- package/dist/scaler/agent-fit.d.ts +2 -2
- package/dist/scaler/backend-factory.d.ts +10 -18
- package/dist/scaler/bare-metal-backend.d.ts +30 -46
- package/dist/scaler/claim-store.d.ts +20 -43
- package/dist/scaler/config.d.ts +10 -37
- package/dist/scaler/container-backend.d.ts +22 -35
- package/dist/scaler/container-hostconfig.d.ts +19 -16
- package/dist/scaler/container-routing.d.ts +10 -13
- package/dist/scaler/disk-guard.d.ts +2 -3
- package/dist/scaler/event-backend.d.ts +33 -58
- package/dist/scaler/event-provision-reaper.d.ts +61 -84
- package/dist/scaler/failure-tracker.d.ts +6 -13
- package/dist/scaler/file-tail.d.ts +6 -19
- package/dist/scaler/firecracker-api.d.ts +19 -63
- package/dist/scaler/firecracker-backend.d.ts +142 -258
- package/dist/scaler/host-access.d.ts +7 -10
- package/dist/scaler/index.d.ts +3 -6
- package/dist/scaler/ip-allocator.d.ts +30 -82
- package/dist/scaler/label-matcher.d.ts +14 -35
- package/dist/scaler/log-forwarder.d.ts +6 -25
- package/dist/scaler/machine-ledger.d.ts +39 -86
- package/dist/scaler/manager.d.ts +517 -787
- package/dist/scaler/pending-scale-sweeper.d.ts +8 -11
- package/dist/scaler/reap-orphans.d.ts +8 -12
- package/dist/scaler/resolve-container-auth.d.ts +12 -21
- package/dist/scaler/scaler-events.d.ts +2 -5
- package/dist/scaler/scaler-state-store.d.ts +127 -189
- package/dist/scaler/spawn-errors.d.ts +1 -4
- package/dist/scaler/startup-orphan-sweep.d.ts +3 -4
- package/dist/scaler/startup-tools-check.d.ts +21 -0
- package/dist/scaler/types.d.ts +142 -255
- package/dist/scaler/vm-job-bindings.d.ts +5 -9
- package/dist/scaler/warm-pool.d.ts +49 -93
- package/dist/secrets/audit-logger.d.ts +0 -3
- package/dist/secrets/backend-health.d.ts +0 -9
- package/dist/secrets/backend-registry.d.ts +0 -9
- package/dist/secrets/cleanup.d.ts +0 -1
- package/dist/secrets/config.d.ts +0 -3
- package/dist/secrets/ephemeral-keys.d.ts +0 -3
- package/dist/secrets/pg-secret-store.d.ts +0 -3
- package/dist/secrets/rbac.d.ts +0 -6
- package/dist/secrets/secret-output-store.d.ts +0 -6
- package/dist/secrets/secret-resolver.d.ts +2 -6
- package/dist/secrets/token-manager.d.ts +0 -4
- package/dist/secrets/vault-secret-store.d.ts +0 -13
- package/dist/security/comment-handler.d.ts +0 -2
- package/dist/security/workflow-diff.d.ts +1 -1
- package/dist/server.js +8628 -13569
- package/dist/sources/source-manager.d.ts +0 -3
- package/dist/sources/source-store.d.ts +0 -9
- package/dist/sources/source-validator.d.ts +0 -3
- package/dist/stale-detector/all-terminal-runs.d.ts +8 -11
- package/dist/stale-detector/gate-deadline-detector.d.ts +14 -19
- package/dist/stale-detector/reboot-deadline-sweep.d.ts +7 -11
- package/dist/stale-detector/stale-dispatch-candidates.d.ts +13 -20
- package/dist/stale-detector/stale-run-detector.d.ts +74 -121
- package/dist/stale-detector/workflow-deadline-detector.d.ts +15 -43
- package/dist/standalone.js +7670 -12402
- package/dist/storage/blob-routes.d.ts +10 -19
- package/dist/storage/filesystem.d.ts +19 -29
- package/dist/storage/index.d.ts +2 -10
- package/dist/storage/key-discriminator.d.ts +8 -10
- package/dist/storage/loopback-guard.d.ts +27 -45
- package/dist/storage/s3.d.ts +25 -52
- package/dist/storage/sign-url.d.ts +7 -22
- package/dist/storage/types.d.ts +44 -70
- package/dist/webhook/event-log.d.ts +0 -2
- package/dist/webhook/generic-sources.d.ts +0 -21
- package/dist/webhook/ingest-admission.d.ts +0 -1
- package/dist/webhook/relay-buffer.d.ts +2 -2
- package/dist/webhook/verify-inbound.d.ts +0 -1
- package/dist/worker/in-memory-execution-tracker.d.ts +9 -31
- package/dist/worker/in-memory-job-queue.d.ts +32 -72
- package/dist/worker/peer-outbox.d.ts +5 -8
- package/dist/worker/reroute-dispatch.d.ts +4 -6
- package/dist/worker/static-agent-token-store.d.ts +6 -27
- package/dist/worker/worker-outbox-relay.d.ts +2 -2
- package/dist/worker/worker-status.d.ts +3 -20
- package/dist/ws/agent-api-registry.d.ts +8 -27
- package/dist/ws/agent-handler.d.ts +63 -110
- package/dist/ws/agent-heartbeat.d.ts +5 -12
- package/dist/ws/bringup-api.d.ts +31 -38
- package/dist/ws/dashboard-backends-handler.d.ts +12 -22
- package/dist/ws/dashboard-context-handler.d.ts +37 -80
- package/dist/ws/dashboard-diagnostics-handler.d.ts +8 -25
- package/dist/ws/dashboard-dispatch-guard.d.ts +3 -4
- package/dist/ws/dashboard-fleet-handler.d.ts +9 -13
- package/dist/ws/dashboard-fleet-write-handler.d.ts +7 -21
- package/dist/ws/dashboard-global-workflows-handler.d.ts +22 -44
- package/dist/ws/dashboard-registrations-handler.d.ts +10 -27
- package/dist/ws/dashboard-run-state-handler.d.ts +10 -13
- package/dist/ws/event-buffer.d.ts +3 -6
- package/dist/ws/execution-status-frame.d.ts +9 -11
- package/dist/ws/failure-messages.d.ts +9 -14
- package/dist/ws/fleet-agent-collector.d.ts +6 -12
- package/dist/ws/fleet-runs-on-all.d.ts +1 -6
- package/dist/ws/git-credential-relay.d.ts +12 -20
- package/dist/ws/inventory-api.d.ts +4 -5
- package/dist/ws/job-status-forward-frame.d.ts +30 -0
- package/dist/ws/observer-registry.d.ts +14 -59
- package/dist/ws/outbound-frame-guard.d.ts +4 -0
- package/dist/ws/ownership-gate.d.ts +1 -1
- package/dist/ws/platform-client.d.ts +32 -31
- package/dist/ws/replay-chunker.d.ts +7 -10
- package/dist/ws/server-options.d.ts +5 -9
- package/dist/ws/test-relay-handlers.d.ts +45 -59
- package/dist/ws/test-run-log-cursor.d.ts +18 -0
- package/installer-image-digests.json +3 -3
- package/package.json +6 -5
- package/sbom.spdx.json +53 -53
- package/dist/__test-helpers__/fake-scaler-state-store.d.ts +0 -24
- package/dist/__test-helpers__/mock-db-query.d.ts +0 -129
- package/dist/__test-helpers__/mock-db.d.ts +0 -134
- package/dist/__test-helpers__/mock-ws.d.ts +0 -13
- package/dist/__test-helpers__/peer-mutual-auth.d.ts +0 -42
- package/dist/__test-helpers__/scratch-db.d.ts +0 -16
- package/dist/__test-helpers__/test-db.d.ts +0 -34
- package/dist/pipeline/dispatch-matched-workflow.test-helpers.d.ts +0 -121
|
@@ -12,31 +12,25 @@ interface DashboardHandlerDeps {
|
|
|
12
12
|
logStorage: LogStorage;
|
|
13
13
|
/**
|
|
14
14
|
* The orchestrator's own provenance issuer (`KICI_ORCHESTRATOR_PROVENANCE_ISSUER`)
|
|
15
|
-
* when it owns signing.
|
|
16
|
-
*
|
|
17
|
-
* orchestrator that signed the bundles.
|
|
15
|
+
* when it owns signing. The Platform returns it as `trustedIssuer`, so the
|
|
16
|
+
* dashboard / CLI verify against the orchestrator that signed the bundles.
|
|
18
17
|
*/
|
|
19
18
|
provenanceSigningIssuer?: string | null;
|
|
20
19
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* replies with an `error` and an empty list. Reuses the cache storage backend
|
|
26
|
-
* (the same one attestation bundles are written to).
|
|
20
|
+
* The cache storage backend attestation bundles are written to. The handler
|
|
21
|
+
* inlines each bundle (by `storage_key`) so the dashboard verifies it
|
|
22
|
+
* client-side without a second fetch. Absent (no provenance configured) ⇒ an
|
|
23
|
+
* `error` reply with an empty list.
|
|
27
24
|
*/
|
|
28
25
|
provenanceStorage?: CacheStorage | null;
|
|
29
26
|
/**
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* absent (orchestrator without a DB / cache storage) the handler replies with
|
|
33
|
-
* an `error` and an empty list.
|
|
27
|
+
* Backs `dashboard.artifacts.list` (a presigned GET per artifact). Absent (no
|
|
28
|
+
* DB / cache storage) ⇒ an `error` reply with an empty list.
|
|
34
29
|
*/
|
|
35
30
|
artifactStore?: ArtifactStore | null;
|
|
36
31
|
/**
|
|
37
32
|
* Drain the deferred-attestation outbox on demand (mints in this process,
|
|
38
|
-
* which owns the Platform WS). Backs `dashboard.attestation.retry`.
|
|
39
|
-
* absent on orchestrators without the retrier wired.
|
|
33
|
+
* which owns the Platform WS). Backs `dashboard.attestation.retry`.
|
|
40
34
|
*/
|
|
41
35
|
retryAttestations?: (opts: {
|
|
42
36
|
runId?: string;
|
|
@@ -44,33 +38,25 @@ interface DashboardHandlerDeps {
|
|
|
44
38
|
minted: number;
|
|
45
39
|
stillPending: number;
|
|
46
40
|
}>;
|
|
47
|
-
/** Send a response message back to Platform over the WS connection. */
|
|
48
41
|
send: (msg: unknown) => void;
|
|
49
|
-
/**
|
|
42
|
+
/** Included in job detail responses. */
|
|
50
43
|
orchestratorId?: string;
|
|
51
|
-
/**
|
|
44
|
+
/** Records one row per read / mutation with actor attribution. */
|
|
52
45
|
accessLog?: AccessLogWriter;
|
|
53
46
|
/** Org ID for access_log rows (null when the orchestrator isn't org-scoped). */
|
|
54
47
|
orgId?: string | null;
|
|
55
48
|
/** Routing key for access_log rows (null when not run-scoped). */
|
|
56
49
|
routingKey?: string | null;
|
|
57
50
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* PG. `null` means the orchestrator is running without cold-store
|
|
61
|
-
* configured — handler then serves PG rows only.
|
|
51
|
+
* Run / job / step lookups fall through to this S3 cold store once a row ages
|
|
52
|
+
* out of PG; `null` serves PG rows only.
|
|
62
53
|
*/
|
|
63
54
|
coldStore?: ColdStore | null;
|
|
64
55
|
/**
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
* Platform's denormalized `execution_runs.routing_key`) so the
|
|
70
|
-
* orchestrator can probe its cold-store under the right tenant
|
|
71
|
-
* prefix when the run row is missing from PG. Optional for back-
|
|
72
|
-
* compat with mixed deploys; absent means the orchestrator falls
|
|
73
|
-
* back to the legacy "no PG row → throw" path.
|
|
56
|
+
* Throws on failure. `routingKey` comes from the Platform's denormalized
|
|
57
|
+
* `execution_runs.routing_key`, so the cold-store probe uses the right tenant
|
|
58
|
+
* prefix when the run row is missing from PG. It is optional for mixed-deploy
|
|
59
|
+
* back-compat; absent ⇒ the legacy "no PG row → throw" path.
|
|
74
60
|
*/
|
|
75
61
|
onRerun: (runId: string, triggeredBy: string | null, triggeredByAgentLabel: string | null,
|
|
76
62
|
/**
|
|
@@ -82,19 +68,12 @@ interface DashboardHandlerDeps {
|
|
|
82
68
|
requestId: string, routingKey?: string) => Promise<{
|
|
83
69
|
newRunId: string;
|
|
84
70
|
}>;
|
|
85
|
-
/**
|
|
86
|
-
* Callback for handling cancel requests.
|
|
87
|
-
* Returns { cancelledJobs } on success or throws on failure.
|
|
88
|
-
* The force flag indicates whether to force-cancel (SIGKILL, skip hooks).
|
|
89
|
-
*/
|
|
71
|
+
/** Throws on failure. `force` force-cancels (SIGKILL, skip hooks). */
|
|
90
72
|
onCancel: (runId: string, cancelledBy: string | null, cancelledByAgentLabel: string | null, force?: boolean) => Promise<{
|
|
91
73
|
cancelledJobs: number;
|
|
92
74
|
alreadyTerminal?: boolean;
|
|
93
75
|
}>;
|
|
94
|
-
/**
|
|
95
|
-
* Callback for handling manual schedule trigger requests.
|
|
96
|
-
* Returns { newRunId } on success or throws on failure.
|
|
97
|
-
*/
|
|
76
|
+
/** Throws on failure. */
|
|
98
77
|
onManualSchedule: (registrationId: string, triggeredBy: string | null, triggeredByAgentLabel: string | null,
|
|
99
78
|
/**
|
|
100
79
|
* Platform-minted `requestId` for this manual schedule. Used as an
|
|
@@ -105,17 +84,15 @@ interface DashboardHandlerDeps {
|
|
|
105
84
|
newRunId: string;
|
|
106
85
|
}>;
|
|
107
86
|
/**
|
|
108
|
-
*
|
|
109
|
-
* `handleEventDlq*`
|
|
110
|
-
*
|
|
111
|
-
* deployments the store is wired by `bootstrapOrchestrator`.
|
|
87
|
+
* Backs the per-org DLQ surface (wired by `bootstrapOrchestrator`). Absent ⇒
|
|
88
|
+
* `handleEventDlq*` replies with a structured `error`, which the dashboard
|
|
89
|
+
* renders as an empty state.
|
|
112
90
|
*/
|
|
113
91
|
eventStore?: EventStore | null;
|
|
114
92
|
/**
|
|
115
93
|
* **Test-only fault injection**, supplied only by the build-time test double:
|
|
116
|
-
* `
|
|
117
|
-
*
|
|
118
|
-
* Undefined (the shipped default) means no delay.
|
|
94
|
+
* awaited before `onRerun` so an HA test can slow the first coordinator into
|
|
95
|
+
* a relay failover. The shipped default is undefined (no delay).
|
|
119
96
|
*/
|
|
120
97
|
beforeRerun?: () => Promise<void>;
|
|
121
98
|
}
|
|
@@ -140,79 +117,60 @@ export declare class DashboardHandler {
|
|
|
140
117
|
private readonly beforeRerun;
|
|
141
118
|
constructor(deps: DashboardHandlerDeps);
|
|
142
119
|
/**
|
|
143
|
-
*
|
|
144
|
-
*
|
|
120
|
+
* Called from server.ts after resolving the single tenant org from the
|
|
121
|
+
* `sources`, `generic_webhook_sources` or `remote_sources` table.
|
|
145
122
|
*
|
|
146
|
-
*
|
|
147
|
-
* handlers resolve the run-owning org per
|
|
148
|
-
* the bound pair
|
|
149
|
-
*
|
|
150
|
-
* orchestrator the bound pair is non-deterministic (server.ts
|
|
123
|
+
* The binding is only the **fallback** access_log scope: run-targeted
|
|
124
|
+
* handlers resolve the run-owning org per request via `resolveOrgForRun`
|
|
125
|
+
* and use the bound pair only when that yields nothing (e.g. cold-archived
|
|
126
|
+
* run, deleted source). On a multi-tenant
|
|
127
|
+
* orchestrator the bound pair is non-deterministic (server.ts `onAuthenticated`
|
|
151
128
|
* picks the first row from a `LIMIT 1` query with no `ORDER BY`), so it
|
|
152
129
|
* MUST NOT be the source of truth for `access_log.org_id`.
|
|
153
130
|
*/
|
|
154
131
|
setOrgContext(orgId: string | null, routingKey: string | null): void;
|
|
155
132
|
/**
|
|
156
|
-
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
* Returns `{ orgId, routingKey }` where either field can be null:
|
|
162
|
-
* - `routingKey` is non-null whenever the PG run row was found, even if
|
|
163
|
-
* the source row has since been deleted (best-effort attribution).
|
|
164
|
-
* - `orgId` is null only when the routing key has no matching source row.
|
|
133
|
+
* Null when the run row is missing (e.g. cold-archived), so the caller falls
|
|
134
|
+
* back to the bound context. Otherwise `routingKey` is set even when the
|
|
135
|
+
* source row was deleted (best-effort attribution), and `orgId` is null only
|
|
136
|
+
* when no source row matches the routing key.
|
|
165
137
|
*/
|
|
166
138
|
private resolveOrgForRun;
|
|
167
139
|
/**
|
|
168
|
-
*
|
|
169
|
-
*
|
|
170
|
-
* directly for `handleRerunRequest` (which gets a `routingKey` hint from
|
|
171
|
-
* Platform's denormalized copy) and indirectly via
|
|
172
|
-
* `resolveOrgForRun`.
|
|
140
|
+
* GitHub-app `sources` first, then `generic_webhook_sources`. Also used
|
|
141
|
+
* directly by `handleRerunRequest` with the Platform's `routingKey` hint.
|
|
173
142
|
*/
|
|
174
143
|
private resolveOrgForRoutingKey;
|
|
175
|
-
/**
|
|
176
|
-
* Resolve the org from a `workflow_registrations` row. Returns null when
|
|
177
|
-
* the registration is missing (caller falls back to bound context).
|
|
178
|
-
*/
|
|
144
|
+
/** Null when the registration is missing (caller falls back to bound context). */
|
|
179
145
|
private resolveOrgForRegistration;
|
|
180
146
|
/**
|
|
181
|
-
*
|
|
182
|
-
*
|
|
183
|
-
* are null. This is the merge point that makes the bound context a
|
|
184
|
-
* fallback rather than the source of truth.
|
|
147
|
+
* The merge point that makes the bound context a per-field fallback for a
|
|
148
|
+
* per-target resolution, never the source of truth.
|
|
185
149
|
*/
|
|
186
150
|
private contextOrFallback;
|
|
187
151
|
/**
|
|
188
|
-
* Defense-in-depth
|
|
189
|
-
*
|
|
190
|
-
*
|
|
191
|
-
* has the operation switched off.
|
|
152
|
+
* Defense-in-depth policy gate for the DLQ handlers: false when the policy
|
|
153
|
+
* disables the op, after recording a `denied` row and sending the
|
|
154
|
+
* `operation_disabled` envelope.
|
|
192
155
|
*/
|
|
193
156
|
private enforcePolicy;
|
|
194
|
-
/**
|
|
195
|
-
* Handle a dashboard.run.detail request.
|
|
196
|
-
* Queries execution_jobs and execution_steps for the given runId,
|
|
197
|
-
* builds a nested job/step tree, and sends the response.
|
|
198
|
-
*/
|
|
157
|
+
/** dashboard.run.detail: the run's nested job/step tree. */
|
|
199
158
|
handleRunDetail(msg: DashboardRunDetailRequest): Promise<void>;
|
|
159
|
+
/** Answer a run-detail read for a run this orchestrator does not hold. */
|
|
160
|
+
private sendRunDetailNotFound;
|
|
200
161
|
/**
|
|
201
|
-
*
|
|
202
|
-
*
|
|
203
|
-
* aggregator + provenance mapper
|
|
204
|
-
*
|
|
205
|
-
* agent label when the actor came through an agent PAT).
|
|
162
|
+
* dashboard.run.structured: the user-plane twin of the orchestrator-admin
|
|
163
|
+
* `/runs/:id/structured` endpoint, byte-identical because it reuses the
|
|
164
|
+
* aggregator + provenance mapper. The `run.structured.read` access-log row
|
|
165
|
+
* carries the agent label when the actor came through an agent PAT.
|
|
206
166
|
*/
|
|
207
167
|
handleRunStructured(msg: DashboardRunStructuredRequest): Promise<void>;
|
|
208
168
|
/**
|
|
209
|
-
*
|
|
210
|
-
*
|
|
211
|
-
*
|
|
212
|
-
* `
|
|
213
|
-
*
|
|
214
|
-
* `generic_webhook_sources.customer_id`, so scoping a run query to an org
|
|
215
|
-
* means scoping it to the union of that org's routing keys.
|
|
169
|
+
* The orchestrator is single-org but multi-routing-key: one org owns one
|
|
170
|
+
* GitHub-app source plus N generic sources. `execution_runs` has no `org_id`;
|
|
171
|
+
* ownership is only `routing_key → sources.customer_id` /
|
|
172
|
+
* `generic_webhook_sources.customer_id`, so an org-scoped run query scopes to
|
|
173
|
+
* the union of the org's routing keys.
|
|
216
174
|
*
|
|
217
175
|
* Predicates mirror the org-context resolver in `server.ts` and
|
|
218
176
|
* `resolveOrgForRoutingKey` above:
|
|
@@ -222,294 +180,174 @@ export declare class DashboardHandler {
|
|
|
222
180
|
*/
|
|
223
181
|
private resolveOrgRoutingKeys;
|
|
224
182
|
/**
|
|
225
|
-
*
|
|
226
|
-
*
|
|
227
|
-
*
|
|
228
|
-
* matches what the sources page shows for the same routing key. Routing
|
|
229
|
-
* keys with no live source row are absent from the map (the caller
|
|
230
|
-
* falls back to the run's own provider).
|
|
183
|
+
* Same name/subtype/provider derivation as `handleSourcesList`, so a run
|
|
184
|
+
* summary's `source` block matches the sources page. Keys with no live source
|
|
185
|
+
* row are absent (the caller falls back to the run's own provider).
|
|
231
186
|
*/
|
|
232
187
|
private resolveSourceIdentities;
|
|
233
188
|
/**
|
|
234
|
-
*
|
|
235
|
-
*
|
|
236
|
-
* the
|
|
237
|
-
* same definition the Platform run-list route uses
|
|
238
|
-
* (`job_name LIKE '__build__%'`). Returns a per-run aggregate keyed by
|
|
239
|
-
* `run_id`; runs with no job rows are absent (the caller omits the fields).
|
|
189
|
+
* Per-run `jobCount` plus compile-job markers (`hadCompileJob` /
|
|
190
|
+
* `compileJobId`) for one page, in one query. Runs with no job rows are
|
|
191
|
+
* absent (the caller omits the fields).
|
|
240
192
|
*/
|
|
241
193
|
private resolveRunJobAggregates;
|
|
242
194
|
/**
|
|
243
|
-
*
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
*
|
|
247
|
-
*
|
|
248
|
-
* `this.routingKey` is just ONE of the org's keys (resolved
|
|
249
|
-
* non-deterministically at startup), so filtering on it alone would drop
|
|
250
|
-
* runs that arrived under a sibling routing key. We resolve the org's full
|
|
251
|
-
* routing-key set from `sources` + `generic_webhook_sources` and filter on
|
|
252
|
-
* the union. Attribution still uses the handler-bound `orgId` /
|
|
253
|
-
* `routingKey` directly — the same inline-ctx pattern as the org-scoped
|
|
254
|
-
* event-log / access-log handlers.
|
|
195
|
+
* dashboard.runs.list: a page of run summaries scoped to ALL routing keys of
|
|
196
|
+
* the bound org. The bound `this.routingKey` is just ONE of them (picked
|
|
197
|
+
* non-deterministically at startup), so filtering on it alone would drop runs
|
|
198
|
+
* under a sibling key. Attribution uses the bound `orgId` / `routingKey`
|
|
199
|
+
* directly, like the org-scoped event-log / access-log handlers.
|
|
255
200
|
*
|
|
256
|
-
*
|
|
257
|
-
*
|
|
258
|
-
*
|
|
259
|
-
* operator read.
|
|
201
|
+
* Serves the operator console (`support-read` break-glass) and the run-list
|
|
202
|
+
* view. The access_log row carries the wire actor (including the
|
|
203
|
+
* platform_operator reason) so the customer can audit any operator read.
|
|
260
204
|
*/
|
|
261
205
|
handleRunsList(msg: DashboardRunsListRequest): Promise<DashboardRunsListResponse>;
|
|
262
206
|
/**
|
|
263
|
-
*
|
|
264
|
-
*
|
|
265
|
-
*
|
|
266
|
-
*
|
|
267
|
-
* triggerTypes / sources — scoped to ALL routing keys owned by this
|
|
268
|
-
* orchestrator's bound org (same scoping as `handleRunsList`). Distinct
|
|
269
|
-
* values are derived in-memory from a single column projection over
|
|
270
|
-
* `execution_runs`; `sources` reuses `resolveSourceIdentities` so the list
|
|
271
|
-
* matches what the sources page shows for the same routing key.
|
|
207
|
+
* dashboard.runs.filters: the distinct filter-option values for the customer
|
|
208
|
+
* runs page, with `handleRunsList`'s scoping and attribution. Values come
|
|
209
|
+
* in-memory from one column projection over `execution_runs`; `sources`
|
|
210
|
+
* reuses `resolveSourceIdentities` to match the sources page.
|
|
272
211
|
*
|
|
273
|
-
* `triggerTypes`
|
|
274
|
-
*
|
|
275
|
-
*
|
|
276
|
-
*
|
|
277
|
-
*
|
|
278
|
-
* Attribution uses the handler-bound `orgId` / `routingKey` directly — the
|
|
279
|
-
* same inline-ctx pattern as `handleRunsList`. The access_log row carries
|
|
280
|
-
* the wire actor (including the platform_operator reason) so the customer
|
|
281
|
-
* can audit any operator read.
|
|
212
|
+
* `triggerTypes` comes from `execution_runs.provider` (`github` / `generic` /
|
|
213
|
+
* `local`): with no trigger-event column, it is the closest discriminator.
|
|
214
|
+
* The access_log row carries the wire actor (including the platform_operator
|
|
215
|
+
* reason) so the customer can audit any operator read.
|
|
282
216
|
*/
|
|
283
217
|
handleRunsFilters(msg: DashboardRunsFiltersRequest): Promise<DashboardRunsFiltersResponse>;
|
|
284
218
|
/**
|
|
285
|
-
*
|
|
286
|
-
*
|
|
287
|
-
*
|
|
288
|
-
*
|
|
289
|
-
*
|
|
290
|
-
* so the
|
|
291
|
-
* bearing columns (`config`, `git_config`, `verification_config`) are
|
|
292
|
-
* never projected — `git_config` is read only to derive the subtype.
|
|
293
|
-
*
|
|
294
|
-
* Attribution uses the handler-bound `orgId` / `routingKey` directly —
|
|
295
|
-
* the same inline-ctx pattern as `handleRunsList`. The access_log row
|
|
296
|
-
* carries the wire actor so the customer can audit any operator read.
|
|
219
|
+
* dashboard.sources.list: the bound org's GitHub-app `sources` plus live
|
|
220
|
+
* `generic_webhook_sources`, unpaginated because counts are tiny (`msg.limit`
|
|
221
|
+
* is ignored). Secret-bearing columns (`config`, `git_config`,
|
|
222
|
+
* `verification_config`) are never returned; `git_config` is read only to
|
|
223
|
+
* derive the subtype. Attribution follows `handleRunsList`; the access_log
|
|
224
|
+
* row carries the wire actor so the customer can audit any operator read.
|
|
297
225
|
*/
|
|
298
226
|
handleSourcesList(msg: DashboardSourcesListRequest): Promise<DashboardSourcesListResponse>;
|
|
299
227
|
/**
|
|
300
|
-
*
|
|
301
|
-
*
|
|
302
|
-
*
|
|
303
|
-
*
|
|
304
|
-
*
|
|
305
|
-
* handler-bound `orgId` / `routingKey` attribute the access_log row, the same
|
|
306
|
-
* inline-ctx pattern `handleSourcesList` uses.
|
|
307
|
-
*
|
|
308
|
-
* Only live tokens are returned: a revoked or already-expired token is not a
|
|
309
|
-
* finding, so reporting one would be noise the operator learns to ignore.
|
|
310
|
-
*
|
|
311
|
-
* `token_hash` is never selected. The report has no use for it, and a hash is
|
|
312
|
-
* a credential verifier — relaying one would put an offline-crackable value
|
|
313
|
-
* on the dashboard plane.
|
|
228
|
+
* dashboard.admin-tokens.list: the live admin-token inventory for the
|
|
229
|
+
* Platform's RBAC drift report. `admin_tokens` is orchestrator-wide (one org
|
|
230
|
+
* per orchestrator), so there is no `orgId` filter; the bound context
|
|
231
|
+
* attributes the row. Revoked or expired tokens are not findings, so they
|
|
232
|
+
* are left out as noise.
|
|
314
233
|
*
|
|
315
|
-
*
|
|
316
|
-
* an
|
|
234
|
+
* `token_hash` is never selected: a hash is a credential verifier, and
|
|
235
|
+
* relaying one would put an offline-crackable value on the dashboard plane.
|
|
236
|
+
* Reading who holds admin tokens is privileged, so every read writes an
|
|
237
|
+
* access_log row carrying the wire actor.
|
|
317
238
|
*/
|
|
318
239
|
handleAdminTokensList(msg: DashboardAdminTokensListRequest): Promise<DashboardAdminTokensListResponse>;
|
|
319
|
-
/**
|
|
320
|
-
* Handle a dashboard.step.logs request.
|
|
321
|
-
* Looks up the step's log_path and reads content from LogStorage.
|
|
322
|
-
*/
|
|
240
|
+
/** dashboard.step.logs: reads the step's log_path from LogStorage. */
|
|
323
241
|
handleStepLogs(msg: DashboardStepLogsRequest): Promise<void>;
|
|
324
|
-
/**
|
|
325
|
-
* Read the attestation rows for a run, joined to `execution_jobs` for the
|
|
326
|
-
* job name. Ordered oldest-first so the dashboard table is stable.
|
|
327
|
-
*/
|
|
242
|
+
/** Oldest-first so the dashboard table is stable. */
|
|
328
243
|
private resolveAttestationsForRun;
|
|
329
244
|
/**
|
|
330
|
-
*
|
|
331
|
-
*
|
|
332
|
-
*
|
|
333
|
-
* resolution + `access.recordIn` + `send`). Rows whose bundle can't be read are
|
|
334
|
-
* skipped (best-effort) rather than failing the whole list.
|
|
245
|
+
* dashboard.attestations.list: the run's attestations with each bundle
|
|
246
|
+
* inlined for client-side verification. A row whose bundle can't be read is
|
|
247
|
+
* skipped rather than failing the whole list.
|
|
335
248
|
*/
|
|
336
249
|
handleAttestationsList(msg: DashboardAttestationsListRequest): Promise<void>;
|
|
337
250
|
/**
|
|
338
|
-
*
|
|
339
|
-
*
|
|
340
|
-
* org resolution + `access.recordIn` + `send`). Org is resolved server-side from
|
|
341
|
-
* the run row, never the wire, so the listing cannot cross tenants.
|
|
251
|
+
* dashboard.artifacts.list: a presigned GET per named artifact. The org comes
|
|
252
|
+
* from the run row, never the wire, so the listing cannot cross tenants.
|
|
342
253
|
*/
|
|
343
254
|
handleArtifactsList(msg: DashboardArtifactsListRequest): Promise<void>;
|
|
344
|
-
/**
|
|
345
|
-
* Fetch + parse one attestation bundle from object storage. Returns the full
|
|
346
|
-
* detail item, or null when the bundle is missing or not valid JSON (logged).
|
|
347
|
-
* Shared by `handleAttestationsList` (per-run) and `handleAttestationGet`.
|
|
348
|
-
*/
|
|
255
|
+
/** Null (logged) when the bundle is missing or not valid JSON. */
|
|
349
256
|
private inlineBundle;
|
|
350
|
-
/**
|
|
351
|
-
* Org-wide attestations query: one page of metadata-only summaries (no bundle
|
|
352
|
-
* fetch) plus the total matching count. Filters/pagination/sort applied via
|
|
353
|
-
* the shared filter builder.
|
|
354
|
-
*/
|
|
257
|
+
/** One page of metadata-only summaries (no bundle fetch) plus the total count. */
|
|
355
258
|
private resolveAttestationsListAll;
|
|
356
|
-
/** Map the deferred-attestation outbox into pending list summaries (page 1). */
|
|
357
259
|
private resolvePendingAttestationSummaries;
|
|
358
|
-
/**
|
|
359
|
-
* Handle a dashboard.attestations.list.all request: org-wide, paginated,
|
|
360
|
-
* filtered list of attestation summaries (metadata only). Access-logged
|
|
361
|
-
* against the `attestation` target.
|
|
362
|
-
*/
|
|
260
|
+
/** Org-wide, metadata only; access-logged against the `attestation` target. */
|
|
363
261
|
handleAttestationsListAll(msg: DashboardAttestationsListAllRequest): Promise<void>;
|
|
364
262
|
/**
|
|
365
|
-
*
|
|
366
|
-
*
|
|
367
|
-
* mint happens in this orchestrator process, which owns the Platform WS.
|
|
263
|
+
* Drains the deferred-attestation outbox (optionally one run's) in this
|
|
264
|
+
* process, which owns the Platform WS.
|
|
368
265
|
*/
|
|
369
266
|
handleAttestationRetry(msg: DashboardAttestationRetryRequest): Promise<void>;
|
|
370
267
|
/**
|
|
371
|
-
*
|
|
372
|
-
*
|
|
373
|
-
* access-log row, then logs against the `attestation` target.
|
|
268
|
+
* One attestation with its bundle inlined, logged against the `attestation`
|
|
269
|
+
* target under the run-owning org.
|
|
374
270
|
*/
|
|
375
271
|
handleAttestationGet(msg: DashboardAttestationGetRequest): Promise<void>;
|
|
376
|
-
/**
|
|
377
|
-
* Handle a dashboard.payload request.
|
|
378
|
-
* Reads the webhook payload from log storage for the given runId.
|
|
379
|
-
*/
|
|
380
272
|
handlePayload(msg: DashboardPayloadRequest): Promise<void>;
|
|
381
273
|
/**
|
|
382
|
-
*
|
|
383
|
-
*
|
|
384
|
-
* Provisioning logs are returned with phase "provisioning" so the dashboard can
|
|
385
|
-
* render them in a separate collapsible section.
|
|
274
|
+
* Provisioning logs carry phase "provisioning" so the dashboard renders them
|
|
275
|
+
* in a separate collapsible section.
|
|
386
276
|
*/
|
|
387
277
|
handleOrchLogs(msg: DashboardOrchLogsRequest): Promise<void>;
|
|
388
278
|
/**
|
|
389
|
-
*
|
|
390
|
-
*
|
|
391
|
-
*
|
|
392
|
-
* Resolution: prefer `msg.routingKey` (denormalization hint from
|
|
393
|
-
* Platform — `execution_runs.routing_key` mirror). The hint is the ONLY
|
|
394
|
-
* org context we have when the run row has been cold-archived out of PG,
|
|
395
|
-
* so consult sources/generic_webhook_sources directly. If the hint is
|
|
396
|
-
* absent, fall back to `resolveOrgForRun` against the warm PG row.
|
|
279
|
+
* Org resolution prefers the Platform's `msg.routingKey` hint: it is the ONLY
|
|
280
|
+
* org context once the run row is cold-archived out of PG. Without it,
|
|
281
|
+
* `resolveOrgForRun` reads the warm PG row.
|
|
397
282
|
*/
|
|
398
283
|
handleRerunRequest(msg: RunRerunRequest): Promise<void>;
|
|
399
|
-
/**
|
|
400
|
-
* Handle a run.cancel.request.
|
|
401
|
-
* Delegates to the onCancel callback which sends job.cancel to agents.
|
|
402
|
-
*/
|
|
403
284
|
handleCancelRequest(msg: RunCancelRequest): Promise<void>;
|
|
404
285
|
/**
|
|
405
|
-
*
|
|
406
|
-
*
|
|
407
|
-
*
|
|
408
|
-
* orchestrator (`event_log` table) for the given org. Pagination uses an
|
|
409
|
-
* opaque cursor (received_at + id) so concurrent inserts don't shift pages.
|
|
410
|
-
*
|
|
411
|
-
* Filters: routingKey, event, status, fromTimestamp/toTimestamp,
|
|
412
|
-
* deliveryId substring. All optional.
|
|
286
|
+
* Inbound webhook deliveries (`event_log`) for the org. The opaque
|
|
287
|
+
* (received_at + id) cursor keeps concurrent inserts from shifting pages.
|
|
288
|
+
* Every filter is optional; deliveryId matches a substring.
|
|
413
289
|
*/
|
|
414
290
|
handleEventLogList(msg: DashboardEventLogListRequest): Promise<void>;
|
|
415
291
|
/**
|
|
416
|
-
*
|
|
417
|
-
*
|
|
418
|
-
*
|
|
419
|
-
* "delivered", not whether a trigger matched). Powers the Runs-page misconfig
|
|
420
|
-
* strip + the `kici runs` hint. Aggregate counts only — no payloads, no repo
|
|
292
|
+
* Windowed matched / unmatched / lockfile-missing counts: facts the Platform
|
|
293
|
+
* relay cannot compute (it only sees "delivered"). Powers the Runs-page
|
|
294
|
+
* misconfig strip + the `kici runs` hint. Counts only — no payloads, no repo
|
|
421
295
|
* identifiers — so the Platform route serves them to all org members.
|
|
422
296
|
*/
|
|
423
297
|
handleEventLogActivity(msg: DashboardEventLogActivityRequest): Promise<void>;
|
|
424
298
|
/**
|
|
425
|
-
*
|
|
426
|
-
*
|
|
427
|
-
*
|
|
428
|
-
* the dashboard "Data access" tab to show who read what (and when).
|
|
429
|
-
*
|
|
430
|
-
* Every filter is optional; the orchestrator scopes on orgId then applies
|
|
431
|
-
* each supplied filter independently. Records its own access_log row
|
|
432
|
-
* under action='access_log.list.read' so there's a meta-audit of who
|
|
433
|
-
* looked at the audit log.
|
|
299
|
+
* Backs the dashboard "Data access" tab. Scopes on orgId, then applies each
|
|
300
|
+
* optional filter independently. Its own `access_log.list.read` row is a
|
|
301
|
+
* meta-audit of who looked at the audit log.
|
|
434
302
|
*/
|
|
435
303
|
handleAccessLogList(msg: DashboardAccessLogListRequest): Promise<void>;
|
|
436
304
|
/**
|
|
437
|
-
*
|
|
438
|
-
*
|
|
439
|
-
*
|
|
440
|
-
*
|
|
441
|
-
* Platform never holds the full body in memory and the dashboard can
|
|
442
|
-
* render progress as bytes arrive. When `payload_omitted=true` the row's
|
|
443
|
-
* `payloadOmitted`/`payloadOmittedReason` fields tell the dashboard to
|
|
444
|
-
* skip issuing a stream request.
|
|
305
|
+
* Metadata only: the body streams over `handleEventLogPayloadStream`, so the
|
|
306
|
+
* Platform never holds it in memory and the dashboard shows progress. With
|
|
307
|
+
* `payload_omitted=true`, `payloadOmitted`/`payloadOmittedReason` tell the
|
|
308
|
+
* dashboard to skip the stream request.
|
|
445
309
|
*/
|
|
446
310
|
handleEventLogDetail(msg: DashboardEventLogDetailRequest): Promise<void>;
|
|
447
311
|
/**
|
|
448
|
-
*
|
|
312
|
+
* Gunzips the body and emits it as base64 `dashboard.event-log.payload.chunk`
|
|
313
|
+
* messages of 64 KiB decompressed bytes; the first carries `totalBytes`, the
|
|
314
|
+
* last `isLast=true`.
|
|
449
315
|
*
|
|
450
|
-
*
|
|
451
|
-
*
|
|
452
|
-
*
|
|
453
|
-
* chunk carries `totalBytes`; the last chunk carries `isLast=true`.
|
|
316
|
+
* One `event_log.payload.read` audit row is written at stream start:
|
|
317
|
+
* `allowed` when the body begins streaming, `not_found` / `denied` for an
|
|
318
|
+
* empty/error stream. Per-chunk rows would add volume, not attribution.
|
|
454
319
|
*
|
|
455
|
-
*
|
|
456
|
-
*
|
|
457
|
-
* begins streaming, `not_found` / `denied` when the request resolves to
|
|
458
|
-
* an empty/error stream. Per-chunk audits would inflate the access-log
|
|
459
|
-
* volume without adding attribution detail.
|
|
460
|
-
*
|
|
461
|
-
* Pacing: a `setImmediate` yield between sends keeps the WS connection
|
|
462
|
-
* from saturating. For the 5 MB cap this means
|
|
463
|
-
* ~80 yields per stream — negligible.
|
|
320
|
+
* A `setImmediate` yield between sends keeps the WS from saturating: ~80
|
|
321
|
+
* yields for the 5 MB cap.
|
|
464
322
|
*/
|
|
465
323
|
handleEventLogPayloadStream(msg: DashboardEventLogPayloadStreamRequest): Promise<void>;
|
|
466
324
|
/**
|
|
467
|
-
*
|
|
468
|
-
*
|
|
469
|
-
*
|
|
470
|
-
* exhausted the retry budget). The page is keyed off `dlq_at DESC` and
|
|
471
|
-
* paginates with a single `before` ISO cursor.
|
|
472
|
-
*
|
|
473
|
-
* Records one `event_dlq.list.read` access_log entry using the user
|
|
474
|
-
* actor on the wire — mirrors the HTTP admin route's audit shape but
|
|
475
|
-
* with the calling user's identity instead of the bearer-token role.
|
|
325
|
+
* DLQ rows (dispatch retries exhausted), `dlq_at DESC` with one `before` ISO
|
|
326
|
+
* cursor. The `event_dlq.list.read` row mirrors the HTTP admin route's audit
|
|
327
|
+
* shape, with the wire user's identity instead of the bearer-token role.
|
|
476
328
|
*/
|
|
477
329
|
handleEventDlqList(msg: DashboardEventDlqListRequest): Promise<void>;
|
|
478
330
|
/**
|
|
479
|
-
*
|
|
480
|
-
*
|
|
481
|
-
* Returns the DLQ depth for the sidebar badge. Polled ~30s by the
|
|
482
|
-
* dashboard. No access_log row — the count surface is intentionally
|
|
483
|
-
* un-audited (it's a frequent badge poll, not a triage action).
|
|
331
|
+
* DLQ depth for the sidebar badge, polled every ~30s. Deliberately
|
|
332
|
+
* un-audited: a frequent badge poll is not a triage action.
|
|
484
333
|
*/
|
|
485
334
|
handleEventDlqCount(msg: DashboardEventDlqCountRequest): Promise<void>;
|
|
486
335
|
/**
|
|
487
|
-
*
|
|
488
|
-
*
|
|
489
|
-
*
|
|
490
|
-
* node picks the event up immediately rather than waiting for the
|
|
491
|
-
* leader-only retry scanner's next tick. Notify failure is non-fatal —
|
|
492
|
-
* the scanner will catch up.
|
|
336
|
+
* Clears the DLQ flag and `pg_notify`s so a healthy node picks the event up
|
|
337
|
+
* without waiting for the leader-only retry scanner. A notify failure is
|
|
338
|
+
* non-fatal: the scanner catches up.
|
|
493
339
|
*/
|
|
494
340
|
handleEventDlqRetry(msg: DashboardEventDlqRetryRequest): Promise<void>;
|
|
495
341
|
/**
|
|
496
|
-
*
|
|
497
|
-
*
|
|
498
|
-
* Permanently deletes the DLQ row. No retry, no archive — used when the
|
|
499
|
-
* payload is corrupt or the routing target has been removed.
|
|
342
|
+
* Permanently deletes the DLQ row (no retry, no archive), for a corrupt
|
|
343
|
+
* payload or a removed routing target.
|
|
500
344
|
*/
|
|
501
345
|
handleEventDlqDiscard(msg: DashboardEventDlqDiscardRequest): Promise<void>;
|
|
502
|
-
/**
|
|
503
|
-
* Handle a run.manual_schedule.request.
|
|
504
|
-
* Delegates to the onManualSchedule callback which invokes handleManualSchedule.
|
|
505
|
-
*/
|
|
506
346
|
handleManualScheduleRequest(msg: ManualScheduleRequest): Promise<void>;
|
|
507
347
|
/**
|
|
508
|
-
*
|
|
509
|
-
*
|
|
510
|
-
*
|
|
511
|
-
* construction). Each row is filtered by `run_id` because chunks
|
|
512
|
-
* span multiple runs.
|
|
348
|
+
* Fetch an archived run + jobs + steps from S3. The scan stops at the warm
|
|
349
|
+
* cutoff (cold-store holds nothing past it by construction), and rows are
|
|
350
|
+
* filtered by `run_id` because chunks span runs.
|
|
513
351
|
*/
|
|
514
352
|
private fetchArchivedRunDetail;
|
|
515
353
|
}
|