@kici-dev/orchestrator 0.17.0 → 0.18.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 +121 -233
- 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 +33 -59
- 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 +4568 -6571
- 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 +143 -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 +289 -525
- 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 +65 -151
- 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 +28 -45
- 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 +10 -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 +46 -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 +7500 -12629
- 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 +7141 -11957
- 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 +7 -10
- 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/observer-registry.d.ts +14 -59
- package/dist/ws/ownership-gate.d.ts +1 -1
- package/dist/ws/platform-client.d.ts +21 -30
- 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 +36 -60
- 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,58 @@ 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>;
|
|
200
159
|
/**
|
|
201
|
-
*
|
|
202
|
-
*
|
|
203
|
-
* aggregator + provenance mapper
|
|
204
|
-
*
|
|
205
|
-
* agent label when the actor came through an agent PAT).
|
|
160
|
+
* dashboard.run.structured: the user-plane twin of the orchestrator-admin
|
|
161
|
+
* `/runs/:id/structured` endpoint, byte-identical because it reuses the
|
|
162
|
+
* aggregator + provenance mapper. The `run.structured.read` access-log row
|
|
163
|
+
* carries the agent label when the actor came through an agent PAT.
|
|
206
164
|
*/
|
|
207
165
|
handleRunStructured(msg: DashboardRunStructuredRequest): Promise<void>;
|
|
208
166
|
/**
|
|
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.
|
|
167
|
+
* The orchestrator is single-org but multi-routing-key: one org owns one
|
|
168
|
+
* GitHub-app source plus N generic sources. `execution_runs` has no `org_id`;
|
|
169
|
+
* ownership is only `routing_key → sources.customer_id` /
|
|
170
|
+
* `generic_webhook_sources.customer_id`, so an org-scoped run query scopes to
|
|
171
|
+
* the union of the org's routing keys.
|
|
216
172
|
*
|
|
217
173
|
* Predicates mirror the org-context resolver in `server.ts` and
|
|
218
174
|
* `resolveOrgForRoutingKey` above:
|
|
@@ -222,294 +178,174 @@ export declare class DashboardHandler {
|
|
|
222
178
|
*/
|
|
223
179
|
private resolveOrgRoutingKeys;
|
|
224
180
|
/**
|
|
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).
|
|
181
|
+
* Same name/subtype/provider derivation as `handleSourcesList`, so a run
|
|
182
|
+
* summary's `source` block matches the sources page. Keys with no live source
|
|
183
|
+
* row are absent (the caller falls back to the run's own provider).
|
|
231
184
|
*/
|
|
232
185
|
private resolveSourceIdentities;
|
|
233
186
|
/**
|
|
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).
|
|
187
|
+
* Per-run `jobCount` plus compile-job markers (`hadCompileJob` /
|
|
188
|
+
* `compileJobId`) for one page, in one query. Runs with no job rows are
|
|
189
|
+
* absent (the caller omits the fields).
|
|
240
190
|
*/
|
|
241
191
|
private resolveRunJobAggregates;
|
|
242
192
|
/**
|
|
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.
|
|
193
|
+
* dashboard.runs.list: a page of run summaries scoped to ALL routing keys of
|
|
194
|
+
* the bound org. The bound `this.routingKey` is just ONE of them (picked
|
|
195
|
+
* non-deterministically at startup), so filtering on it alone would drop runs
|
|
196
|
+
* under a sibling key. Attribution uses the bound `orgId` / `routingKey`
|
|
197
|
+
* directly, like the org-scoped event-log / access-log handlers.
|
|
255
198
|
*
|
|
256
|
-
*
|
|
257
|
-
*
|
|
258
|
-
*
|
|
259
|
-
* operator read.
|
|
199
|
+
* Serves the operator console (`support-read` break-glass) and the run-list
|
|
200
|
+
* view. The access_log row carries the wire actor (including the
|
|
201
|
+
* platform_operator reason) so the customer can audit any operator read.
|
|
260
202
|
*/
|
|
261
203
|
handleRunsList(msg: DashboardRunsListRequest): Promise<DashboardRunsListResponse>;
|
|
262
204
|
/**
|
|
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.
|
|
205
|
+
* dashboard.runs.filters: the distinct filter-option values for the customer
|
|
206
|
+
* runs page, with `handleRunsList`'s scoping and attribution. Values come
|
|
207
|
+
* in-memory from one column projection over `execution_runs`; `sources`
|
|
208
|
+
* reuses `resolveSourceIdentities` to match the sources page.
|
|
272
209
|
*
|
|
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.
|
|
210
|
+
* `triggerTypes` comes from `execution_runs.provider` (`github` / `generic` /
|
|
211
|
+
* `local`): with no trigger-event column, it is the closest discriminator.
|
|
212
|
+
* The access_log row carries the wire actor (including the platform_operator
|
|
213
|
+
* reason) so the customer can audit any operator read.
|
|
282
214
|
*/
|
|
283
215
|
handleRunsFilters(msg: DashboardRunsFiltersRequest): Promise<DashboardRunsFiltersResponse>;
|
|
284
216
|
/**
|
|
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.
|
|
217
|
+
* dashboard.sources.list: the bound org's GitHub-app `sources` plus live
|
|
218
|
+
* `generic_webhook_sources`, unpaginated because counts are tiny (`msg.limit`
|
|
219
|
+
* is ignored). Secret-bearing columns (`config`, `git_config`,
|
|
220
|
+
* `verification_config`) are never returned; `git_config` is read only to
|
|
221
|
+
* derive the subtype. Attribution follows `handleRunsList`; the access_log
|
|
222
|
+
* row carries the wire actor so the customer can audit any operator read.
|
|
297
223
|
*/
|
|
298
224
|
handleSourcesList(msg: DashboardSourcesListRequest): Promise<DashboardSourcesListResponse>;
|
|
299
225
|
/**
|
|
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.
|
|
226
|
+
* dashboard.admin-tokens.list: the live admin-token inventory for the
|
|
227
|
+
* Platform's RBAC drift report. `admin_tokens` is orchestrator-wide (one org
|
|
228
|
+
* per orchestrator), so there is no `orgId` filter; the bound context
|
|
229
|
+
* attributes the row. Revoked or expired tokens are not findings, so they
|
|
230
|
+
* are left out as noise.
|
|
314
231
|
*
|
|
315
|
-
*
|
|
316
|
-
* an
|
|
232
|
+
* `token_hash` is never selected: a hash is a credential verifier, and
|
|
233
|
+
* relaying one would put an offline-crackable value on the dashboard plane.
|
|
234
|
+
* Reading who holds admin tokens is privileged, so every read writes an
|
|
235
|
+
* access_log row carrying the wire actor.
|
|
317
236
|
*/
|
|
318
237
|
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
|
-
*/
|
|
238
|
+
/** dashboard.step.logs: reads the step's log_path from LogStorage. */
|
|
323
239
|
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
|
-
*/
|
|
240
|
+
/** Oldest-first so the dashboard table is stable. */
|
|
328
241
|
private resolveAttestationsForRun;
|
|
329
242
|
/**
|
|
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.
|
|
243
|
+
* dashboard.attestations.list: the run's attestations with each bundle
|
|
244
|
+
* inlined for client-side verification. A row whose bundle can't be read is
|
|
245
|
+
* skipped rather than failing the whole list.
|
|
335
246
|
*/
|
|
336
247
|
handleAttestationsList(msg: DashboardAttestationsListRequest): Promise<void>;
|
|
337
248
|
/**
|
|
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.
|
|
249
|
+
* dashboard.artifacts.list: a presigned GET per named artifact. The org comes
|
|
250
|
+
* from the run row, never the wire, so the listing cannot cross tenants.
|
|
342
251
|
*/
|
|
343
252
|
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
|
-
*/
|
|
253
|
+
/** Null (logged) when the bundle is missing or not valid JSON. */
|
|
349
254
|
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
|
-
*/
|
|
255
|
+
/** One page of metadata-only summaries (no bundle fetch) plus the total count. */
|
|
355
256
|
private resolveAttestationsListAll;
|
|
356
|
-
/** Map the deferred-attestation outbox into pending list summaries (page 1). */
|
|
357
257
|
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
|
-
*/
|
|
258
|
+
/** Org-wide, metadata only; access-logged against the `attestation` target. */
|
|
363
259
|
handleAttestationsListAll(msg: DashboardAttestationsListAllRequest): Promise<void>;
|
|
364
260
|
/**
|
|
365
|
-
*
|
|
366
|
-
*
|
|
367
|
-
* mint happens in this orchestrator process, which owns the Platform WS.
|
|
261
|
+
* Drains the deferred-attestation outbox (optionally one run's) in this
|
|
262
|
+
* process, which owns the Platform WS.
|
|
368
263
|
*/
|
|
369
264
|
handleAttestationRetry(msg: DashboardAttestationRetryRequest): Promise<void>;
|
|
370
265
|
/**
|
|
371
|
-
*
|
|
372
|
-
*
|
|
373
|
-
* access-log row, then logs against the `attestation` target.
|
|
266
|
+
* One attestation with its bundle inlined, logged against the `attestation`
|
|
267
|
+
* target under the run-owning org.
|
|
374
268
|
*/
|
|
375
269
|
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
270
|
handlePayload(msg: DashboardPayloadRequest): Promise<void>;
|
|
381
271
|
/**
|
|
382
|
-
*
|
|
383
|
-
*
|
|
384
|
-
* Provisioning logs are returned with phase "provisioning" so the dashboard can
|
|
385
|
-
* render them in a separate collapsible section.
|
|
272
|
+
* Provisioning logs carry phase "provisioning" so the dashboard renders them
|
|
273
|
+
* in a separate collapsible section.
|
|
386
274
|
*/
|
|
387
275
|
handleOrchLogs(msg: DashboardOrchLogsRequest): Promise<void>;
|
|
388
276
|
/**
|
|
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.
|
|
277
|
+
* Org resolution prefers the Platform's `msg.routingKey` hint: it is the ONLY
|
|
278
|
+
* org context once the run row is cold-archived out of PG. Without it,
|
|
279
|
+
* `resolveOrgForRun` reads the warm PG row.
|
|
397
280
|
*/
|
|
398
281
|
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
282
|
handleCancelRequest(msg: RunCancelRequest): Promise<void>;
|
|
404
283
|
/**
|
|
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.
|
|
284
|
+
* Inbound webhook deliveries (`event_log`) for the org. The opaque
|
|
285
|
+
* (received_at + id) cursor keeps concurrent inserts from shifting pages.
|
|
286
|
+
* Every filter is optional; deliveryId matches a substring.
|
|
413
287
|
*/
|
|
414
288
|
handleEventLogList(msg: DashboardEventLogListRequest): Promise<void>;
|
|
415
289
|
/**
|
|
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
|
|
290
|
+
* Windowed matched / unmatched / lockfile-missing counts: facts the Platform
|
|
291
|
+
* relay cannot compute (it only sees "delivered"). Powers the Runs-page
|
|
292
|
+
* misconfig strip + the `kici runs` hint. Counts only — no payloads, no repo
|
|
421
293
|
* identifiers — so the Platform route serves them to all org members.
|
|
422
294
|
*/
|
|
423
295
|
handleEventLogActivity(msg: DashboardEventLogActivityRequest): Promise<void>;
|
|
424
296
|
/**
|
|
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.
|
|
297
|
+
* Backs the dashboard "Data access" tab. Scopes on orgId, then applies each
|
|
298
|
+
* optional filter independently. Its own `access_log.list.read` row is a
|
|
299
|
+
* meta-audit of who looked at the audit log.
|
|
434
300
|
*/
|
|
435
301
|
handleAccessLogList(msg: DashboardAccessLogListRequest): Promise<void>;
|
|
436
302
|
/**
|
|
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.
|
|
303
|
+
* Metadata only: the body streams over `handleEventLogPayloadStream`, so the
|
|
304
|
+
* Platform never holds it in memory and the dashboard shows progress. With
|
|
305
|
+
* `payload_omitted=true`, `payloadOmitted`/`payloadOmittedReason` tell the
|
|
306
|
+
* dashboard to skip the stream request.
|
|
445
307
|
*/
|
|
446
308
|
handleEventLogDetail(msg: DashboardEventLogDetailRequest): Promise<void>;
|
|
447
309
|
/**
|
|
448
|
-
*
|
|
310
|
+
* Gunzips the body and emits it as base64 `dashboard.event-log.payload.chunk`
|
|
311
|
+
* messages of 64 KiB decompressed bytes; the first carries `totalBytes`, the
|
|
312
|
+
* last `isLast=true`.
|
|
449
313
|
*
|
|
450
|
-
*
|
|
451
|
-
*
|
|
452
|
-
*
|
|
453
|
-
* chunk carries `totalBytes`; the last chunk carries `isLast=true`.
|
|
314
|
+
* One `event_log.payload.read` audit row is written at stream start:
|
|
315
|
+
* `allowed` when the body begins streaming, `not_found` / `denied` for an
|
|
316
|
+
* empty/error stream. Per-chunk rows would add volume, not attribution.
|
|
454
317
|
*
|
|
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.
|
|
318
|
+
* A `setImmediate` yield between sends keeps the WS from saturating: ~80
|
|
319
|
+
* yields for the 5 MB cap.
|
|
464
320
|
*/
|
|
465
321
|
handleEventLogPayloadStream(msg: DashboardEventLogPayloadStreamRequest): Promise<void>;
|
|
466
322
|
/**
|
|
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.
|
|
323
|
+
* DLQ rows (dispatch retries exhausted), `dlq_at DESC` with one `before` ISO
|
|
324
|
+
* cursor. The `event_dlq.list.read` row mirrors the HTTP admin route's audit
|
|
325
|
+
* shape, with the wire user's identity instead of the bearer-token role.
|
|
476
326
|
*/
|
|
477
327
|
handleEventDlqList(msg: DashboardEventDlqListRequest): Promise<void>;
|
|
478
328
|
/**
|
|
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).
|
|
329
|
+
* DLQ depth for the sidebar badge, polled every ~30s. Deliberately
|
|
330
|
+
* un-audited: a frequent badge poll is not a triage action.
|
|
484
331
|
*/
|
|
485
332
|
handleEventDlqCount(msg: DashboardEventDlqCountRequest): Promise<void>;
|
|
486
333
|
/**
|
|
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.
|
|
334
|
+
* Clears the DLQ flag and `pg_notify`s so a healthy node picks the event up
|
|
335
|
+
* without waiting for the leader-only retry scanner. A notify failure is
|
|
336
|
+
* non-fatal: the scanner catches up.
|
|
493
337
|
*/
|
|
494
338
|
handleEventDlqRetry(msg: DashboardEventDlqRetryRequest): Promise<void>;
|
|
495
339
|
/**
|
|
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.
|
|
340
|
+
* Permanently deletes the DLQ row (no retry, no archive), for a corrupt
|
|
341
|
+
* payload or a removed routing target.
|
|
500
342
|
*/
|
|
501
343
|
handleEventDlqDiscard(msg: DashboardEventDlqDiscardRequest): Promise<void>;
|
|
502
|
-
/**
|
|
503
|
-
* Handle a run.manual_schedule.request.
|
|
504
|
-
* Delegates to the onManualSchedule callback which invokes handleManualSchedule.
|
|
505
|
-
*/
|
|
506
344
|
handleManualScheduleRequest(msg: ManualScheduleRequest): Promise<void>;
|
|
507
345
|
/**
|
|
508
|
-
*
|
|
509
|
-
*
|
|
510
|
-
*
|
|
511
|
-
* construction). Each row is filtered by `run_id` because chunks
|
|
512
|
-
* span multiple runs.
|
|
346
|
+
* Fetch an archived run + jobs + steps from S3. The scan stops at the warm
|
|
347
|
+
* cutoff (cold-store holds nothing past it by construction), and rows are
|
|
348
|
+
* filtered by `run_id` because chunks span runs.
|
|
513
349
|
*/
|
|
514
350
|
private fetchArchivedRunDetail;
|
|
515
351
|
}
|