@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
|
@@ -1,78 +1,52 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* GitHub
|
|
2
|
+
* GitHub Checks API integration for the execution lifecycle.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Per
|
|
6
|
-
* -
|
|
7
|
-
* - Both per-job AND overall workflow check runs: kici/{workflow} and kici/{workflow}/job/{job}
|
|
8
|
-
* - Success ONLY if ALL jobs pass
|
|
9
|
-
* - Cancelled/timed-out use 'cancelled' conclusion
|
|
4
|
+
* - Check runs are created (queued) at trigger match time, before an agent picks up the job
|
|
5
|
+
* - Per-job AND overall check runs: kici/{workflow} and kici/{workflow}/job/{job}
|
|
6
|
+
* - Success ONLY if ALL jobs pass; cancelled/timed-out use the 'cancelled' conclusion
|
|
10
7
|
* - All API calls are fire-and-forget (non-blocking)
|
|
11
8
|
*
|
|
12
|
-
* Check run IDs are tracked
|
|
13
|
-
*
|
|
9
|
+
* Check run IDs are tracked after creation so later updates can call checks.update().
|
|
10
|
+
* Output carries live step progress (debounced at 5s), failure details (step names, errors,
|
|
11
|
+
* exit codes, log context) and annotations pointing at step source locations in
|
|
12
|
+
* `.kici/workflows/*.ts`. GitHub-only: other providers are a logged no-op.
|
|
14
13
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* Currently GitHub-only. Non-GitHub providers are handled gracefully (no-op with log).
|
|
21
|
-
*
|
|
22
|
-
* Note: The engine-level CheckStatusPoster interface (packages/engine/src/provider/check-status-poster.ts)
|
|
23
|
-
* provides a provider-agnostic API for posting security-related check statuses (holds, approvals,
|
|
24
|
-
* workflow modifications). The GitHub implementation is at packages/orchestrator/src/providers/github/check-status-poster.ts.
|
|
25
|
-
* This CheckRunReporter handles execution lifecycle checks (queued, in_progress, completed per job/workflow).
|
|
26
|
-
* Future cleanup may unify both under CheckStatusPoster, but they serve different purposes today.
|
|
14
|
+
* Security check statuses (holds, approvals, workflow modifications) go through the separate
|
|
15
|
+
* engine `CheckStatusPoster` (packages/engine/src/provider/check-status-poster.ts; GitHub impl
|
|
16
|
+
* in packages/orchestrator/src/providers/github/check-status-poster.ts) — the two serve
|
|
17
|
+
* different purposes today.
|
|
27
18
|
*/
|
|
28
19
|
import type { ProviderRegistry } from '../provider-registry.js';
|
|
29
20
|
import type { StepLogBuffer } from './step-log-buffer.js';
|
|
30
21
|
import { type SourceLocationData } from './check-run-summary.js';
|
|
31
22
|
import type { CheckRunTrackingStore } from './check-run-tracking-store.js';
|
|
32
23
|
import { CheckRunConclusion, type TerminalJobStatus } from '@kici-dev/engine';
|
|
33
|
-
/**
|
|
34
|
-
* Dependencies for the CheckRunReporter.
|
|
35
|
-
*/
|
|
36
24
|
interface CheckRunReporterDeps {
|
|
37
|
-
/**
|
|
38
|
-
* Provider registry for per-routing-key credential lookup: the reporter
|
|
39
|
-
* resolves GitHub App credentials by routing key from the registry's
|
|
40
|
-
* CloneTokenProvider config.
|
|
41
|
-
*/
|
|
25
|
+
/** Resolves GitHub App credentials by routing key from its CloneTokenProvider config. */
|
|
42
26
|
providerRegistry?: ProviderRegistry;
|
|
43
|
-
/**
|
|
27
|
+
/** Feeds log context into failure summaries. */
|
|
44
28
|
stepLogBuffer?: StepLogBuffer;
|
|
45
29
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* back-compat path used by unit tests that don't need HA correctness),
|
|
51
|
-
* the reporter operates entirely from in-memory `Map`s.
|
|
30
|
+
* When provided, every per-key state mutation (check-run ID, step progress, build creation
|
|
31
|
+
* marker, in-progress-sent flag) is written through so a replacement coord on Raft leader
|
|
32
|
+
* switch can recover it. When omitted (unit tests that don't need HA correctness), state
|
|
33
|
+
* lives only in the in-memory `Map`s.
|
|
52
34
|
*/
|
|
53
35
|
trackingStore?: CheckRunTrackingStore;
|
|
54
|
-
/**
|
|
36
|
+
/** Step source locations from the lock file, for annotations. */
|
|
55
37
|
getStepSourceLocations?: (workflowName: string, jobName: string) => SourceLocationData[] | undefined;
|
|
56
38
|
/**
|
|
57
|
-
*
|
|
58
|
-
* `
|
|
59
|
-
* `
|
|
60
|
-
* `details_url = <dashboardUrl>/r/orgs/<alias>/runs/<runId>` on
|
|
61
|
-
* every check-run create/update. When unset, no `details_url` is
|
|
62
|
-
* emitted (preserving today's behavior).
|
|
39
|
+
* Dashboard base URL (e.g. `https://dashboard.example.com/dashboard`). When set AND
|
|
40
|
+
* `getOrgPublicAlias()` returns an alias, every check-run create/update carries
|
|
41
|
+
* `details_url = <dashboardUrl>/r/orgs/<alias>/runs/<runId>`; otherwise no `details_url`.
|
|
63
42
|
*/
|
|
64
43
|
dashboardUrl?: string;
|
|
65
44
|
/**
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
* `oal_<12-char>` alias supplied by Platform on `auth.success`, or
|
|
69
|
-
* `undefined` before auth completes.
|
|
45
|
+
* Typically `PlatformClient.getOrgPublicAlias()`: the `oal_<12-char>` alias the Platform
|
|
46
|
+
* supplies on `auth.success`, or `undefined` before auth completes.
|
|
70
47
|
*/
|
|
71
48
|
getOrgPublicAlias?: () => string | undefined;
|
|
72
49
|
}
|
|
73
|
-
/**
|
|
74
|
-
* Options for setPending.
|
|
75
|
-
*/
|
|
76
50
|
interface SetPendingOptions {
|
|
77
51
|
provider: string;
|
|
78
52
|
owner: string;
|
|
@@ -80,12 +54,10 @@ interface SetPendingOptions {
|
|
|
80
54
|
sha: string;
|
|
81
55
|
workflowName: string;
|
|
82
56
|
/**
|
|
83
|
-
* The repository that DEFINES the workflow
|
|
84
|
-
* the run
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
* `workflowLabel`. Passing the acted-on repository here is a no-op, so a
|
|
88
|
-
* caller cannot change a per-repository run's name by accident.
|
|
57
|
+
* The repository that DEFINES the workflow when it differs from the acted-on one (an
|
|
58
|
+
* organization-wide workflow). Qualifies the check-run name so the run cannot share a check
|
|
59
|
+
* run with a same-named workflow of the acted-on repository; see `workflowLabel`. Passing
|
|
60
|
+
* the acted-on repository is a no-op, so a per-repository run's name cannot change by accident.
|
|
89
61
|
*/
|
|
90
62
|
workflowRepoIdentifier?: string;
|
|
91
63
|
jobNames: string[];
|
|
@@ -97,9 +69,6 @@ interface SetPendingOptions {
|
|
|
97
69
|
/** Explicit runId for trace context (falls back to AsyncLocalStorage context). */
|
|
98
70
|
runId?: string;
|
|
99
71
|
}
|
|
100
|
-
/**
|
|
101
|
-
* Options for setBuildPending.
|
|
102
|
-
*/
|
|
103
72
|
interface SetBuildPendingOptions {
|
|
104
73
|
provider: string;
|
|
105
74
|
owner: string;
|
|
@@ -116,9 +85,6 @@ interface SetBuildPendingOptions {
|
|
|
116
85
|
/** Explicit runId for trace context (falls back to AsyncLocalStorage context). */
|
|
117
86
|
runId?: string;
|
|
118
87
|
}
|
|
119
|
-
/**
|
|
120
|
-
* Options for setBuildComplete.
|
|
121
|
-
*/
|
|
122
88
|
interface SetBuildCompleteOptions {
|
|
123
89
|
provider: string;
|
|
124
90
|
owner: string;
|
|
@@ -137,9 +103,6 @@ interface SetBuildCompleteOptions {
|
|
|
137
103
|
/** Explicit runId for trace context (falls back to AsyncLocalStorage context). */
|
|
138
104
|
runId?: string;
|
|
139
105
|
}
|
|
140
|
-
/**
|
|
141
|
-
* Options for updateJobStatus.
|
|
142
|
-
*/
|
|
143
106
|
interface UpdateJobStatusOptions {
|
|
144
107
|
provider: string;
|
|
145
108
|
owner: string;
|
|
@@ -165,18 +128,13 @@ interface UpdateJobStatusOptions {
|
|
|
165
128
|
/** Job ID for StepLogBuffer lookup. */
|
|
166
129
|
jobId?: string;
|
|
167
130
|
/**
|
|
168
|
-
* The run's resolved trust tier and lock-file branch.
|
|
169
|
-
*
|
|
170
|
-
*
|
|
171
|
-
* request can see which parts of the build environment the run did not have.
|
|
172
|
-
* Both absent for a run whose trust never resolved.
|
|
131
|
+
* The run's resolved trust tier and lock-file branch. For any tier other than `trusted`, the
|
|
132
|
+
* completion summary leads with the reduced-privilege note so a contributor reading a failed
|
|
133
|
+
* fork-PR job can see what the build environment lacked. Both absent when trust never resolved.
|
|
173
134
|
*/
|
|
174
135
|
trustTier?: string;
|
|
175
136
|
lockFileSource?: string;
|
|
176
137
|
}
|
|
177
|
-
/**
|
|
178
|
-
* Options for updateWorkflowStatus.
|
|
179
|
-
*/
|
|
180
138
|
interface UpdateWorkflowStatusOptions {
|
|
181
139
|
provider: string;
|
|
182
140
|
owner: string;
|
|
@@ -195,17 +153,13 @@ interface UpdateWorkflowStatusOptions {
|
|
|
195
153
|
/** Explicit runId for trace context (falls back to AsyncLocalStorage context). */
|
|
196
154
|
runId?: string;
|
|
197
155
|
/**
|
|
198
|
-
*
|
|
199
|
-
*
|
|
200
|
-
*
|
|
201
|
-
* usually requires — would otherwise see a run fail with no explanation.
|
|
156
|
+
* Same contract as {@link UpdateJobStatusOptions}. The roll-up check carries the note too: a
|
|
157
|
+
* contributor who reads only `kici/<workflow>` — the one branch protection usually requires —
|
|
158
|
+
* would otherwise see a run fail with no explanation.
|
|
202
159
|
*/
|
|
203
160
|
trustTier?: string;
|
|
204
161
|
lockFileSource?: string;
|
|
205
162
|
}
|
|
206
|
-
/**
|
|
207
|
-
* Options for completeUndispatchedCheckRuns.
|
|
208
|
-
*/
|
|
209
163
|
export interface CompleteUndispatchedCheckRunsOptions {
|
|
210
164
|
provider: string;
|
|
211
165
|
owner: string;
|
|
@@ -214,11 +168,7 @@ export interface CompleteUndispatchedCheckRunsOptions {
|
|
|
214
168
|
workflowName: string;
|
|
215
169
|
/** See {@link SetPendingOptions.workflowRepoIdentifier}. */
|
|
216
170
|
workflowRepoIdentifier?: string;
|
|
217
|
-
/**
|
|
218
|
-
* The job names `setPending` / `setPendingAwait` created a check run for.
|
|
219
|
-
* Pass the same list that call used, or the names will not match the check
|
|
220
|
-
* runs on the commit.
|
|
221
|
-
*/
|
|
171
|
+
/** Pass the exact list `setPending` / `setPendingAwait` used, or names miss the check runs. */
|
|
222
172
|
jobNames: string[];
|
|
223
173
|
installationId?: number;
|
|
224
174
|
/** Routing key for per-app credential lookup (e.g., "github:12345"). */
|
|
@@ -227,14 +177,10 @@ export interface CompleteUndispatchedCheckRunsOptions {
|
|
|
227
177
|
requestId?: string;
|
|
228
178
|
/** Explicit runId for trace context (falls back to AsyncLocalStorage context). */
|
|
229
179
|
runId?: string;
|
|
230
|
-
/** The conclusion to complete each check run with. */
|
|
231
180
|
conclusion: CheckRunConclusion;
|
|
232
181
|
/** The check-run output body. The title stays the standard `KiCI: <label>` form. */
|
|
233
182
|
summary: string;
|
|
234
183
|
}
|
|
235
|
-
/**
|
|
236
|
-
* Options for updateStepProgress.
|
|
237
|
-
*/
|
|
238
184
|
interface UpdateStepProgressOptions {
|
|
239
185
|
provider: string;
|
|
240
186
|
owner: string;
|
|
@@ -255,167 +201,121 @@ interface UpdateStepProgressOptions {
|
|
|
255
201
|
runId?: string;
|
|
256
202
|
}
|
|
257
203
|
/**
|
|
258
|
-
* Reports check run status
|
|
204
|
+
* Reports check run status via the GitHub Checks API (checks.create / checks.update).
|
|
205
|
+
* Non-GitHub providers are a no-op with a warning log.
|
|
259
206
|
*
|
|
260
|
-
*
|
|
261
|
-
*
|
|
262
|
-
*
|
|
263
|
-
* All public methods are fire-and-forget: they return void immediately
|
|
264
|
-
* and log errors internally without propagating them.
|
|
207
|
+
* All public methods are fire-and-forget: they return void immediately and log errors
|
|
208
|
+
* internally without propagating them.
|
|
265
209
|
*/
|
|
266
210
|
export declare class CheckRunReporter {
|
|
267
211
|
private deps;
|
|
268
212
|
/**
|
|
269
|
-
* L1 cache: composite key → check run ID.
|
|
270
|
-
*
|
|
271
|
-
*
|
|
272
|
-
* is wired. On a miss the cache falls through to the store; on a store
|
|
273
|
-
* miss the lookup returns undefined and the caller logs + skips.
|
|
274
|
-
*
|
|
275
|
-
* Without the store this Map IS the source of truth (single-coord
|
|
276
|
-
* deployments, unit tests).
|
|
213
|
+
* L1 cache: composite key → check run ID, backed by `check_run_tracking.check_run_id` when
|
|
214
|
+
* `deps.trackingStore` is wired (miss → store; store miss → undefined, caller logs + skips).
|
|
215
|
+
* Without the store this Map IS the source of truth (single-coord deployments, unit tests).
|
|
277
216
|
*/
|
|
278
217
|
private readonly checkRunIds;
|
|
279
218
|
/**
|
|
280
|
-
* L1 cache: in-flight build-creation promises.
|
|
281
|
-
*
|
|
282
|
-
*
|
|
283
|
-
* in-progress `setBuildPending` promise (the DB column is a state
|
|
284
|
-
* marker, not an awaitable).
|
|
219
|
+
* L1 cache: in-flight build-creation promises. Needed locally even with the DB-backed
|
|
220
|
+
* `check_run_tracking.build_creation_state`, so a same-process `setBuildComplete` can await
|
|
221
|
+
* the in-progress `setBuildPending` (the DB column is a state marker, not an awaitable).
|
|
285
222
|
*/
|
|
286
223
|
private readonly pendingBuildCreations;
|
|
287
224
|
/** L1 cache: step-progress entries (synced to `check_run_tracking.step_progress_json`). */
|
|
288
225
|
private readonly stepProgress;
|
|
289
226
|
/**
|
|
290
|
-
* L1 cache: per-key debounce timers. NOT persisted — on coord failover
|
|
291
|
-
*
|
|
292
|
-
*
|
|
293
|
-
* timer.
|
|
227
|
+
* L1 cache: per-key debounce timers. NOT persisted — on coord failover the next update
|
|
228
|
+
* either flushes immediately (the DB row's `updated_at` is older than the debounce window)
|
|
229
|
+
* or starts a fresh timer.
|
|
294
230
|
*/
|
|
295
231
|
private readonly progressTimers;
|
|
296
232
|
/** L1 cache: first in-progress sent flag (synced to `check_run_tracking.in_progress_sent_at`). */
|
|
297
233
|
private readonly inProgressSent;
|
|
298
234
|
/**
|
|
299
|
-
* Keys whose job check run has
|
|
300
|
-
*
|
|
301
|
-
*
|
|
302
|
-
*
|
|
303
|
-
*
|
|
304
|
-
*
|
|
305
|
-
* FRESH timer, which then fires and leaves the check run showing
|
|
306
|
-
* `status: in_progress` with a terminal `conclusion` already attached. That
|
|
307
|
-
* is the permanently-unresolved state check-run completion exists to prevent,
|
|
308
|
-
* so the guard is on the write itself rather than on the timer.
|
|
235
|
+
* Keys whose job check run has been completed. Makes status monotonic: after a `completed`
|
|
236
|
+
* update, no step-progress update may push it back to `in_progress`. Cancelling the debounce
|
|
237
|
+
* timer at completion is not enough — a step status arriving later schedules a FRESH timer,
|
|
238
|
+
* which would leave `status: in_progress` with a terminal `conclusion` attached, the
|
|
239
|
+
* permanently-unresolved state completion exists to prevent. So the guard is on the write
|
|
240
|
+
* itself, not on the timer.
|
|
309
241
|
*/
|
|
310
242
|
private readonly terminalSent;
|
|
311
243
|
/**
|
|
312
|
-
* L1 cache: runId →
|
|
313
|
-
*
|
|
314
|
-
* still find every key for a runId at cleanup time.
|
|
244
|
+
* L1 cache: runId → check-run composite keys. Synced to the indexed
|
|
245
|
+
* `check_run_tracking.run_id` column so a replacement coord can find every key at cleanup.
|
|
315
246
|
*/
|
|
316
247
|
private readonly runIdToKeys;
|
|
317
248
|
/**
|
|
318
|
-
* Per-key serialization of GitHub check-run PATCHes. Two updates for one
|
|
319
|
-
*
|
|
320
|
-
*
|
|
321
|
-
*
|
|
322
|
-
*
|
|
323
|
-
*
|
|
324
|
-
*
|
|
325
|
-
* check-then-await. Chaining every PATCH for a key through this map makes the
|
|
326
|
-
* re-check and the PATCH atomic relative to the completion write.
|
|
249
|
+
* Per-key serialization of GitHub check-run PATCHes. Two updates for one check run must never
|
|
250
|
+
* be in flight at once: the terminal `completed` write and an earlier `in_progress` write race
|
|
251
|
+
* last-write-wins, and an `in_progress` landing second reopens the check run to the
|
|
252
|
+
* permanently-unresolved `{ status: in_progress, conclusion: <terminal> }` state. The
|
|
253
|
+
* `terminalSent` re-check in `updateCheckRun` is a check-then-await and cannot stop a PATCH
|
|
254
|
+
* already on the network; chaining every PATCH for a key makes re-check + PATCH atomic
|
|
255
|
+
* relative to the completion write.
|
|
327
256
|
*/
|
|
328
257
|
private readonly updateLocks;
|
|
329
258
|
constructor(deps: CheckRunReporterDeps);
|
|
330
259
|
/**
|
|
331
|
-
* Run `fn` after every
|
|
332
|
-
*
|
|
333
|
-
* chain swallows prior errors (each is surfaced to its own caller) so one
|
|
260
|
+
* Run `fn` after every queued PATCH for `key` has settled, so updates to one check run run
|
|
261
|
+
* strictly in order. The chain swallows prior errors (each surfaces to its own caller) so one
|
|
334
262
|
* failed PATCH does not wedge the key.
|
|
335
263
|
*/
|
|
336
264
|
private runUpdateExclusive;
|
|
337
|
-
/**
|
|
338
|
-
* Update the provider registry used for per-routing-key credential lookup.
|
|
339
|
-
* Called after config reload when the provider registry is rebuilt.
|
|
340
|
-
*/
|
|
265
|
+
/** Called after config reload rebuilds the provider registry. */
|
|
341
266
|
updateRegistry(newRegistry: ProviderRegistry): void;
|
|
342
267
|
/**
|
|
343
|
-
* Late-
|
|
344
|
-
*
|
|
345
|
-
*
|
|
346
|
-
* `details_url`. orchestrator-core can't pass it at construction time
|
|
347
|
-
* because the platform client is created later (after the HTTP server
|
|
348
|
-
* starts).
|
|
268
|
+
* Late-bound from `server.ts` / `standalone.ts` once `PlatformClient` exists: orchestrator-core
|
|
269
|
+
* can't pass it at construction because the platform client is created after the HTTP server
|
|
270
|
+
* starts.
|
|
349
271
|
*/
|
|
350
272
|
setOrgPublicAliasResolver(resolver: () => string | undefined): void;
|
|
351
273
|
/**
|
|
352
|
-
*
|
|
353
|
-
*
|
|
354
|
-
* Fire-and-forget
|
|
355
|
-
*
|
|
356
|
-
* Creates check runs via checks.create with status 'queued'.
|
|
357
|
-
* Per locked decision: both per-job AND overall workflow check runs.
|
|
358
|
-
* Name format: kici/{workflow-name}, kici/{workflow-name}/job/{job-name}
|
|
274
|
+
* Create queued check runs for a workflow (kici/{workflow-name}) and each job
|
|
275
|
+
* (kici/{workflow-name}/job/{job-name}) at trigger match time, before an agent picks up the job.
|
|
276
|
+
* Fire-and-forget.
|
|
359
277
|
*/
|
|
360
278
|
setPending(opts: SetPendingOptions): void;
|
|
361
279
|
/**
|
|
362
|
-
*
|
|
363
|
-
*
|
|
364
|
-
* check runs MUST exist before job dispatch to ensure updates work.
|
|
280
|
+
* Awaitable setPending. The RunCoordinator uses it for rerouted jobs, whose check runs MUST
|
|
281
|
+
* exist before dispatch for updates to work.
|
|
365
282
|
*/
|
|
366
283
|
setPendingAwait(opts: SetPendingOptions): Promise<void>;
|
|
367
|
-
/**
|
|
368
|
-
* Update a specific job's check run.
|
|
369
|
-
* Called when a job reaches a terminal state.
|
|
370
|
-
* Fire-and-forget: errors are logged but don't block the pipeline.
|
|
371
|
-
*/
|
|
284
|
+
/** Called when a job reaches a terminal state. Fire-and-forget. */
|
|
372
285
|
updateJobStatus(opts: UpdateJobStatusOptions): void;
|
|
373
286
|
/**
|
|
374
|
-
*
|
|
375
|
-
*
|
|
376
|
-
* Per locked decision: success ONLY if ALL jobs pass.
|
|
377
|
-
* Fire-and-forget: errors are logged but don't block the pipeline.
|
|
287
|
+
* Called when ALL jobs in a workflow reach a terminal state; success ONLY if ALL jobs pass.
|
|
288
|
+
* Fire-and-forget.
|
|
378
289
|
*/
|
|
379
290
|
updateWorkflowStatus(opts: UpdateWorkflowStatusOptions): void;
|
|
380
291
|
/**
|
|
381
292
|
* Complete the queued check runs of a workflow that never dispatched a job.
|
|
382
293
|
*
|
|
383
|
-
* `setPendingAwait` creates `kici/<workflow>` and one
|
|
384
|
-
*
|
|
385
|
-
*
|
|
386
|
-
*
|
|
387
|
-
*
|
|
388
|
-
* `
|
|
389
|
-
* `doCleanupStaleCheckRuns` skips them because that sweep only updates check
|
|
390
|
-
* runs whose status is `in_progress`. They stay `queued` on the commit, which
|
|
391
|
-
* on a pull request reads as a check that never finishes and blocks branch
|
|
392
|
-
* protection.
|
|
294
|
+
* `setPendingAwait` creates `kici/<workflow>` and one `kici/<workflow>/job/<name>` per static
|
|
295
|
+
* job before the pipeline knows whether the workflow runs. When it ends without dispatching
|
|
296
|
+
* (a hold rejected or expired, any pre-dispatch init failure), no job or run record carries
|
|
297
|
+
* these names, so `updateJobStatus` / `updateWorkflowStatus` never fire, and
|
|
298
|
+
* `doCleanupStaleCheckRuns` skips them (it only updates `in_progress` check runs). They would
|
|
299
|
+
* stay `queued` — on a PR, a never-finishing check that blocks branch protection.
|
|
393
300
|
*
|
|
394
|
-
* Completes only
|
|
395
|
-
*
|
|
301
|
+
* Completes only check runs whose id resolves (L1 or the `check_run_tracking` row), skipping
|
|
302
|
+
* keys already latched terminal.
|
|
396
303
|
*
|
|
397
|
-
* The build check `kici/<workflow>/setup` is deliberately
|
|
398
|
-
*
|
|
399
|
-
* `
|
|
400
|
-
*
|
|
401
|
-
*
|
|
402
|
-
* resolves with no latch, and completing it again would overwrite a real
|
|
403
|
-
* build conclusion. An unreadable row is the harmless direction: it yields
|
|
404
|
-
* no id and the name is skipped.
|
|
304
|
+
* The build check `kici/<workflow>/setup` is deliberately excluded: the latch does not
|
|
305
|
+
* reliably cover it. `setBuildComplete` stamps `terminal_sent_at` on the row but not the
|
|
306
|
+
* in-process `terminalSent` set, and `resolveCheckRunId` returns on an L1 hit without reading
|
|
307
|
+
* the row — so a just-completed build check resolves unlatched, and completing it again would
|
|
308
|
+
* overwrite a real build conclusion. An unreadable row is harmless: no id, name skipped.
|
|
405
309
|
*/
|
|
406
310
|
completeUndispatchedCheckRuns(opts: CompleteUndispatchedCheckRunsOptions): Promise<void>;
|
|
407
311
|
/**
|
|
408
312
|
* Clean up stale check runs left by a dead orchestrator.
|
|
409
313
|
*
|
|
410
|
-
* Unlike updateJobStatus/updateWorkflowStatus (which rely on in-memory checkRunId),
|
|
411
|
-
*
|
|
412
|
-
*
|
|
413
|
-
*
|
|
414
|
-
*
|
|
415
|
-
* Uses the GitHub App to look up the installation for each repo, then lists and
|
|
416
|
-
* updates any stuck "in_progress" check runs with a "timed_out" conclusion.
|
|
417
|
-
*
|
|
418
|
-
* Fire-and-forget: errors are logged but don't block.
|
|
314
|
+
* Unlike updateJobStatus/updateWorkflowStatus (which rely on in-memory checkRunId), this lists
|
|
315
|
+
* the commit's check runs via the GitHub API and matches the `kici/` prefix, so a replacement
|
|
316
|
+
* orchestrator can clean up check runs it didn't create. Looks up each repo's installation via
|
|
317
|
+
* the GitHub App, then completes stuck "in_progress" check runs as "timed_out".
|
|
318
|
+
* Fire-and-forget.
|
|
419
319
|
*/
|
|
420
320
|
cleanupStaleCheckRuns(opts: {
|
|
421
321
|
provider: string;
|
|
@@ -429,140 +329,87 @@ export declare class CheckRunReporter {
|
|
|
429
329
|
jobNames: string[];
|
|
430
330
|
}): void;
|
|
431
331
|
/**
|
|
432
|
-
*
|
|
433
|
-
*
|
|
434
|
-
*
|
|
435
|
-
* Subsequent updates are debounced (5 seconds) to prevent API rate limiting.
|
|
436
|
-
* Fire-and-forget: errors are logged but don't block the pipeline.
|
|
332
|
+
* Called each time a step starts, completes, or fails. The first 'running' step triggers an
|
|
333
|
+
* immediate in_progress transition; later updates are debounced (5 seconds) to avoid API rate
|
|
334
|
+
* limiting. Fire-and-forget.
|
|
437
335
|
*/
|
|
438
336
|
updateStepProgress(opts: UpdateStepProgressOptions): void;
|
|
439
337
|
/**
|
|
440
|
-
*
|
|
441
|
-
*
|
|
442
|
-
*
|
|
443
|
-
*
|
|
444
|
-
*
|
|
445
|
-
* Check run name format: kici/{workflowName}/setup — prefixed with the
|
|
446
|
-
* defining repository for a cross-repository global run, see `workflowLabel`.
|
|
338
|
+
* Queue the build check run when a build job (dependency install and/or bundle compilation) is
|
|
339
|
+
* dispatched — separate from execution check runs so users see build progress independently.
|
|
340
|
+
* Name: kici/{workflowName}/setup, prefixed with the defining repository for a
|
|
341
|
+
* cross-repository global run (see `workflowLabel`). Fire-and-forget.
|
|
447
342
|
*/
|
|
448
343
|
setBuildPending(opts: SetBuildPendingOptions): void;
|
|
449
|
-
/**
|
|
450
|
-
* Update a build check run to completed.
|
|
451
|
-
* Called when the build job finishes (success, failure, or cancellation).
|
|
452
|
-
* Fire-and-forget: errors are logged but don't block the pipeline.
|
|
453
|
-
*/
|
|
344
|
+
/** Called when the build job finishes (success, failure, or cancellation). Fire-and-forget. */
|
|
454
345
|
setBuildComplete(opts: SetBuildCompleteOptions): void;
|
|
455
346
|
/**
|
|
456
|
-
*
|
|
457
|
-
* Called when the execution tracker prunes the run.
|
|
347
|
+
* Drop a run's in-memory state when the execution tracker prunes it.
|
|
458
348
|
*
|
|
459
|
-
* In-memory only
|
|
460
|
-
*
|
|
461
|
-
*
|
|
462
|
-
* status PATCH that arrives after the prune resolves its check-run ID by
|
|
463
|
-
* loading through to this row, and a deleted row makes that lookup fail.
|
|
349
|
+
* In-memory only: DB rows belong to the retention sweep in `queue/cleanup.ts`, which deletes
|
|
350
|
+
* on inactivity age, not run completion. Deleting here would strand a late terminal PATCH,
|
|
351
|
+
* which resolves its check-run ID by loading through to the row.
|
|
464
352
|
*/
|
|
465
353
|
cleanupRun(runId: string): void;
|
|
466
354
|
/**
|
|
467
|
-
*
|
|
468
|
-
* recovery). Called once on coord become-leader. If no store is wired,
|
|
469
|
-
* this is a no-op.
|
|
355
|
+
* Called once on coord become-leader (or any boot-time recovery); no-op without a store.
|
|
470
356
|
*
|
|
471
|
-
* Nothing is hydrated up front — the table can be large across many shas —
|
|
472
|
-
*
|
|
473
|
-
*
|
|
474
|
-
*
|
|
475
|
-
*
|
|
476
|
-
* fresh coord, and the DB rows belong to the retention sweep rather than to
|
|
477
|
-
* run prune.
|
|
357
|
+
* Nothing is hydrated up front — the table can be large across many shas — so IDs load
|
|
358
|
+
* through on demand in `resolveCheckRunId`. `runIdToKeys` is rebuilt only from this coord's
|
|
359
|
+
* writes, so a run whose keys predate the switch leaves `cleanupRun` nothing to evict. That is
|
|
360
|
+
* harmless: those L1 caches are equally empty on a fresh coord, and DB rows belong to the
|
|
361
|
+
* retention sweep, not run prune.
|
|
478
362
|
*/
|
|
479
363
|
recoverState(): Promise<void>;
|
|
480
|
-
/** Track a check run key associated with a runId for later cleanup. */
|
|
481
364
|
private trackRunKey;
|
|
482
365
|
/**
|
|
483
|
-
*
|
|
484
|
-
*
|
|
485
|
-
* `checkRunKey()`; provider defaults to 'github' because today's
|
|
486
|
-
* reporter only writes check runs for GitHub.
|
|
366
|
+
* Inverse of `checkRunKey()`. Provider is always 'github': the reporter only writes GitHub
|
|
367
|
+
* check runs.
|
|
487
368
|
*/
|
|
488
369
|
private parseKey;
|
|
489
|
-
/**
|
|
490
|
-
* Write-through helper: persist a check-run ID to L1 + the store.
|
|
491
|
-
* Used by `setPending` / `setBuildPending` after a successful
|
|
492
|
-
* `checks.create()`.
|
|
493
|
-
*/
|
|
370
|
+
/** Write-through to L1 + store after a successful `checks.create()`. */
|
|
494
371
|
private persistCheckRunId;
|
|
495
372
|
/**
|
|
496
|
-
* Read-through
|
|
497
|
-
*
|
|
498
|
-
* undefined when neither layer has the ID — the caller logs + skips.
|
|
373
|
+
* Read-through: L1, then the store (cached on hit); undefined when neither has it — the caller
|
|
374
|
+
* logs + skips.
|
|
499
375
|
*
|
|
500
|
-
* The same row also rehydrates the `terminalSent` latch.
|
|
501
|
-
*
|
|
502
|
-
*
|
|
503
|
-
*
|
|
504
|
-
* `status: in_progress` over its completion. Reading `terminal_sent_at` off
|
|
505
|
-
* the row this query already selects costs nothing and closes that gap.
|
|
376
|
+
* The same row also rehydrates the `terminalSent` latch. `cleanupRun` drops both L1 entries
|
|
377
|
+
* together; reloading the id without the latch would let a late step-progress update PATCH
|
|
378
|
+
* `status: in_progress` over the completion. `terminal_sent_at` is on the row already
|
|
379
|
+
* selected, so this costs nothing.
|
|
506
380
|
*/
|
|
507
381
|
private resolveCheckRunId;
|
|
508
|
-
/**
|
|
509
|
-
* Write-through helper: persist updated step-progress entries.
|
|
510
|
-
*/
|
|
511
382
|
private persistStepProgress;
|
|
512
|
-
/**
|
|
513
|
-
* Write-through helper: mark the first running-step transition as sent.
|
|
514
|
-
*/
|
|
383
|
+
/** Mark the first running-step transition as sent. */
|
|
515
384
|
private persistInProgressSent;
|
|
516
|
-
/**
|
|
517
|
-
* Write-through helper: stamp `build_creation_state = 'pending'`.
|
|
518
|
-
*/
|
|
385
|
+
/** Stamp `build_creation_state = 'pending'`. */
|
|
519
386
|
private persistBuildCreationPending;
|
|
520
|
-
/**
|
|
521
|
-
* Resolve GitHub App credentials for a given routing key from the bundle's
|
|
522
|
-
* CloneTokenProvider `getAppConfig()`. Returns undefined when no routing key,
|
|
523
|
-
* registry, bundle or GitHub provider is available.
|
|
524
|
-
*/
|
|
387
|
+
/** Via the CloneTokenProvider `getAppConfig()` (only GitHubCloneTokenProvider has it). */
|
|
525
388
|
private resolveGithubConfig;
|
|
526
|
-
/**
|
|
527
|
-
* Resolve trace IDs for check run summaries.
|
|
528
|
-
* Priority: explicit option value > AsyncLocalStorage context > 'N/A'
|
|
529
|
-
*/
|
|
389
|
+
/** Priority: explicit option value > AsyncLocalStorage context > 'N/A'. */
|
|
530
390
|
private resolveTraceIds;
|
|
531
|
-
/**
|
|
532
|
-
* Append trace IDs to a check run summary string.
|
|
533
|
-
*/
|
|
534
391
|
private appendTraceIds;
|
|
535
392
|
private checkRunKey;
|
|
536
393
|
/**
|
|
537
394
|
* The workflow label every check-run name and title is built from.
|
|
538
395
|
*
|
|
539
|
-
* A check run's identity is `(owner, repo, sha, check name)` — on the
|
|
540
|
-
*
|
|
541
|
-
*
|
|
542
|
-
*
|
|
543
|
-
*
|
|
544
|
-
*
|
|
545
|
-
*
|
|
546
|
-
* to one check run. The global run's conclusion would complete the acted-on
|
|
547
|
-
* repository's check — the signal branch protection reads — and point its
|
|
548
|
-
* `details_url` at the wrong run, while `cleanupRun` would evict the other
|
|
549
|
-
* run's check-run id and terminal latch on prune.
|
|
396
|
+
* A check run's identity is `(owner, repo, sha, check name)` — on the provider, in
|
|
397
|
+
* `check_run_tracking`'s primary key, and in the L1 keys — with no run id. Per-repository runs
|
|
398
|
+
* cannot collide (one lock file cannot define a workflow name twice), but an
|
|
399
|
+
* organization-wide workflow, defined in ANOTHER repository, can share a name with the
|
|
400
|
+
* acted-on repository's workflow and resolve to one check run on the same commit. Its
|
|
401
|
+
* conclusion would then complete the acted-on check — the signal branch protection reads —
|
|
402
|
+
* with the wrong `details_url`, and `cleanupRun` would evict the other run's id and latch.
|
|
550
403
|
*
|
|
551
|
-
* Qualifying
|
|
552
|
-
*
|
|
553
|
-
*
|
|
554
|
-
*
|
|
555
|
-
* because a caller passed the field where it did not apply.
|
|
404
|
+
* Qualifying with the defining repository keeps them apart. The "differs from the acted-on
|
|
405
|
+
* repository" narrowing lives here, not at call sites, so a per-repository run's name
|
|
406
|
+
* (customer-visible, possibly a branch-protection required check) cannot move because a caller
|
|
407
|
+
* passed the field where it did not apply.
|
|
556
408
|
*/
|
|
557
409
|
private workflowLabel;
|
|
558
410
|
/**
|
|
559
|
-
*
|
|
560
|
-
*
|
|
561
|
-
* `undefined` when either the dashboard URL or the alias is missing,
|
|
562
|
-
* or when the runId is the synthetic `'N/A'` sentinel from
|
|
563
|
-
* `resolveTraceIds` (no real run to link to). Strips any trailing
|
|
564
|
-
* slash on `dashboardUrl` so the concatenation produces a single
|
|
565
|
-
* separator.
|
|
411
|
+
* Dashboard public-alias link (`/r/orgs/<oal_xxx>/runs/<runId>`). Undefined when the
|
|
412
|
+
* dashboard URL or alias is missing, or runId is the `'N/A'` sentinel from `resolveTraceIds`.
|
|
566
413
|
*/
|
|
567
414
|
private buildDetailsUrl;
|
|
568
415
|
private doSetPending;
|
|
@@ -570,41 +417,20 @@ export declare class CheckRunReporter {
|
|
|
570
417
|
private doUpdateWorkflowStatus;
|
|
571
418
|
private doCleanupStaleCheckRuns;
|
|
572
419
|
private doUpdateStepProgress;
|
|
573
|
-
/**
|
|
574
|
-
* Flush pending progress update to GitHub.
|
|
575
|
-
*/
|
|
576
420
|
private flushProgress;
|
|
577
421
|
private doSetBuildPending;
|
|
578
422
|
private doSetBuildComplete;
|
|
579
|
-
/**
|
|
580
|
-
* Map internal build status to GitHub Checks conclusion and description.
|
|
581
|
-
*/
|
|
582
423
|
private mapBuildConclusion;
|
|
583
|
-
/**
|
|
584
|
-
* Map internal job state to GitHub Checks conclusion and description.
|
|
585
|
-
*/
|
|
586
424
|
private mapJobConclusion;
|
|
587
|
-
/**
|
|
588
|
-
* Map internal workflow state to GitHub Checks conclusion and description.
|
|
589
|
-
*/
|
|
590
425
|
private mapWorkflowConclusion;
|
|
591
|
-
/**
|
|
592
|
-
* Create a check run via the GitHub Checks API.
|
|
593
|
-
* Returns the check run ID on success, or undefined on failure.
|
|
594
|
-
*/
|
|
426
|
+
/** Returns the check run ID, or undefined on failure. */
|
|
595
427
|
private createCheckRun;
|
|
596
|
-
/**
|
|
597
|
-
* Update an existing check run via the GitHub Checks API.
|
|
598
|
-
* Supports both 'completed' and 'in_progress' statuses.
|
|
599
|
-
*/
|
|
600
428
|
private updateCheckRun;
|
|
601
429
|
private updateCheckRunLocked;
|
|
602
430
|
}
|
|
603
431
|
/**
|
|
604
|
-
*
|
|
605
|
-
*
|
|
606
|
-
* Examines `stepResults` for the first failed step, falling back to
|
|
607
|
-
* `data.error`, and finally to a generic "Job failed" message.
|
|
432
|
+
* Failure description from agent job status data: the first failed step in `stepResults`,
|
|
433
|
+
* else `data.error`, else a generic "Job failed".
|
|
608
434
|
*/
|
|
609
435
|
export declare function buildJobFailureDescription(data: Record<string, unknown>): string;
|
|
610
436
|
export {};
|