@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,15 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Slot-release dispatch
|
|
2
|
+
* Slot-release dispatch for the long-poll concurrency protocol. When a group
|
|
3
|
+
* slot frees (run completed, cancelled or superseded), the FIFO-oldest queued
|
|
4
|
+
* row's agent, parked on its second `waitForConcurrencyAck` call, is woken and
|
|
5
|
+
* continues on the WS it got the original dispatch on.
|
|
3
6
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* the agent that's parked on its second `waitForConcurrencyAck` call. The
|
|
7
|
-
* agent then continues with normal step execution against the same WS
|
|
8
|
-
* connection it received the original dispatch on.
|
|
9
|
-
*
|
|
10
|
-
* If the in-memory waiter is missing (orchestrator restart, agent already
|
|
11
|
-
* disconnected), the dequeued DB row is marked completed so the slot doesn't
|
|
12
|
-
* get permanently stuck on a phantom holder.
|
|
7
|
+
* A missing in-memory waiter (orchestrator restart, agent disconnected) marks
|
|
8
|
+
* the dequeued row completed so the slot is not stuck on a phantom holder.
|
|
13
9
|
*/
|
|
14
10
|
import type { AgentRegistry } from '../agent/registry.js';
|
|
15
11
|
import type { ConcurrencyQueueManager } from './queue-manager.js';
|
|
@@ -17,23 +13,16 @@ import type { ConcurrencyWaiters } from './waiters.js';
|
|
|
17
13
|
export interface DispatchNextQueuedDeps {
|
|
18
14
|
/** The DB arbiter. */
|
|
19
15
|
queueManager: ConcurrencyQueueManager;
|
|
20
|
-
/** Agent registry for finding the waiter's WS. */
|
|
21
16
|
registry: AgentRegistry;
|
|
22
|
-
/** In-memory waiter map. */
|
|
23
17
|
waiters: ConcurrencyWaiters;
|
|
24
18
|
}
|
|
25
19
|
/**
|
|
26
20
|
* Try to dequeue the next queued entry for `(group, routingKey)` and notify
|
|
27
|
-
* the waiting agent's WS with `concurrency.ack { action: 'proceed' }`.
|
|
28
|
-
*
|
|
29
|
-
* No-op if the queue is empty. When a dequeued waiter is missing or its
|
|
30
|
-
* agent is gone (orphaned row, agent disconnected), the helper LOOPS to the
|
|
31
|
-
* next queued row instead of stopping — otherwise a single orphan would
|
|
32
|
-
* permanently mask all live waiters behind it (orphans sort first by
|
|
33
|
-
* `created_at ASC`).
|
|
21
|
+
* the waiting agent's WS with `job.concurrency.ack { action: 'proceed' }`.
|
|
34
22
|
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
23
|
+
* No-op on an empty queue. A missing waiter or gone agent LOOPS to the next
|
|
24
|
+
* row; stopping would let one orphan (they sort first by `created_at ASC`)
|
|
25
|
+
* permanently mask every live waiter behind it.
|
|
37
26
|
*/
|
|
38
27
|
export declare function tryDispatchNextQueued(deps: DispatchNextQueuedDeps, group: string, routingKey: string): Promise<void>;
|
|
39
28
|
export interface AgentDisconnectDeps {
|
|
@@ -41,11 +30,10 @@ export interface AgentDisconnectDeps {
|
|
|
41
30
|
queueManager: ConcurrencyQueueManager;
|
|
42
31
|
}
|
|
43
32
|
/**
|
|
44
|
-
*
|
|
45
|
-
* the
|
|
46
|
-
* cancelled so the queue manager doesn't try to dispatch a phantom run.
|
|
33
|
+
* Agent-disconnect cleanup: drop the agent's waiters and cancel their
|
|
34
|
+
* `concurrency_groups` rows so the queue manager never dispatches a phantom run.
|
|
47
35
|
*
|
|
48
|
-
* Returns
|
|
36
|
+
* Returns an async `(agentId)` closure suitable for passing to the agent WS handler.
|
|
49
37
|
*/
|
|
50
38
|
export declare function buildOnConcurrencyAgentDisconnect(deps: AgentDisconnectDeps): (agentId: string) => Promise<void>;
|
|
51
39
|
//# sourceMappingURL=dispatch-next-queued.d.ts.map
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The arbiter of `concurrency: { group, max }`.
|
|
3
3
|
*
|
|
4
|
-
* Every decision is a transaction against `concurrency_groups`,
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* `concurrency: { group, max: 1 }` is the guard customers use to serialise
|
|
10
|
-
* deploys and migrations, so "usually right" is not a useful guarantee.
|
|
4
|
+
* Every decision is a transaction against `concurrency_groups`, so `max` holds
|
|
5
|
+
* across a restart and across every coordinator in a cluster. A process-local
|
|
6
|
+
* map cannot: a restart empties it and lets a second run deploy alongside the
|
|
7
|
+
* first, and each coordinator would hold its own map. Customers use
|
|
8
|
+
* `max: 1` to serialise deploys and migrations, so "usually right" is not enough.
|
|
11
9
|
*/
|
|
12
10
|
import { type Kysely } from 'kysely';
|
|
13
11
|
import type { Database } from '../db/types.js';
|
|
@@ -37,22 +35,16 @@ export declare class ConcurrencyQueueManager {
|
|
|
37
35
|
private readonly db;
|
|
38
36
|
constructor(db: Kysely<Database>);
|
|
39
37
|
/**
|
|
40
|
-
* Serialise every arbitration for one (routingKey, groupKey) scope.
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
* inserting one are two statements, and without the lock two coordinators
|
|
45
|
-
* both read `count < max` and both insert — which is exactly the
|
|
46
|
-
* double-deploy the cap exists to prevent.
|
|
38
|
+
* Serialise every arbitration for one (routingKey, groupKey) scope. A
|
|
39
|
+
* transaction-scoped advisory lock, released on commit or rollback with no
|
|
40
|
+
* cleanup path. Without it two coordinators both read `count < max` and both
|
|
41
|
+
* insert — the double-deploy the cap exists to prevent.
|
|
47
42
|
*/
|
|
48
43
|
private static lockScope;
|
|
49
44
|
/**
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* consuming a second one, which the partial unique index on
|
|
54
|
-
* `(routing_key, group_key, run_id) WHERE status = 'active'` also enforces at
|
|
55
|
-
* the DB level.
|
|
45
|
+
* Idempotent: a run already holding an active slot re-acquires it without
|
|
46
|
+
* consuming a second, also enforced by the partial unique index on
|
|
47
|
+
* `(routing_key, group_key, run_id) WHERE status = 'active'`.
|
|
56
48
|
*
|
|
57
49
|
* @returns whether this run holds a slot afterwards.
|
|
58
50
|
*/
|
|
@@ -62,51 +54,27 @@ export declare class ConcurrencyQueueManager {
|
|
|
62
54
|
/** Release this run's slot in a group. No-op when it holds none. */
|
|
63
55
|
releaseSlot(groupKey: string, routingKey: string, runId: string): Promise<void>;
|
|
64
56
|
/**
|
|
65
|
-
* The runs holding an active slot, oldest first.
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
* the release path did not run — a coordinator crash between "the run
|
|
70
|
-
* finished" and "the slot was released" — and a leaked slot on a `max: 1`
|
|
71
|
-
* deploy gate blocks every later deploy forever.
|
|
57
|
+
* The runs holding an active slot, oldest first. A run whose `execution_runs`
|
|
58
|
+
* row is terminal is excluded and its slot released in the same transaction:
|
|
59
|
+
* a coordinator crash between run finish and slot release leaks the slot, and
|
|
60
|
+
* on a `max: 1` deploy gate that blocks every later deploy forever.
|
|
72
61
|
*/
|
|
73
62
|
getActiveRuns(groupKey: string, routingKey: string): Promise<string[]>;
|
|
74
63
|
/** The oldest active run, which `cancelInProgress` supersedes. */
|
|
75
64
|
getOldestRun(groupKey: string, routingKey: string): Promise<string | null>;
|
|
76
|
-
/**
|
|
77
|
-
* Active run ids for a scope, reconciled against `execution_runs`. Must be
|
|
78
|
-
* called with the scope lock already held.
|
|
79
|
-
*/
|
|
65
|
+
/** Active run ids reconciled against `execution_runs`. Caller holds the scope lock. */
|
|
80
66
|
private static activeRunIds;
|
|
81
|
-
/**
|
|
82
|
-
* Enqueue a job that is waiting for a concurrency slot.
|
|
83
|
-
* Inserts a row with status='queued' into concurrency_groups.
|
|
84
|
-
*/
|
|
85
67
|
enqueue(opts: EnqueueOptions): Promise<void>;
|
|
86
|
-
/**
|
|
87
|
-
* Dequeue the oldest queued job for a concurrency group.
|
|
88
|
-
* Returns null if no queued jobs exist.
|
|
89
|
-
*/
|
|
68
|
+
/** Promote the oldest queued job of a group to active; null when none is queued. */
|
|
90
69
|
dequeueNext(groupKey: string, routingKey: string): Promise<QueuedJob | null>;
|
|
91
|
-
/**
|
|
92
|
-
* Promote the oldest queued waiter to `active`. Must be called with the scope
|
|
93
|
-
* lock already held.
|
|
94
|
-
*/
|
|
70
|
+
/** Promote the oldest queued waiter to `active`. Caller holds the scope lock. */
|
|
95
71
|
private static promoteOldestQueued;
|
|
96
|
-
/**
|
|
97
|
-
* Cancel all queued entries for a run.
|
|
98
|
-
* Marks them as 'cancelled' with a completion timestamp.
|
|
99
|
-
*/
|
|
100
72
|
cancelQueued(runId: string): Promise<void>;
|
|
101
|
-
/**
|
|
102
|
-
* Mark a concurrency group entry as completed.
|
|
103
|
-
* Called when a job finishes (success/failed/cancelled).
|
|
104
|
-
*/
|
|
73
|
+
/** Called when a job finishes (success/failed/cancelled). */
|
|
105
74
|
markCompleted(runId: string, groupKey: string, routingKey: string): Promise<void>;
|
|
106
75
|
/**
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
* queued job should be dispatched.
|
|
76
|
+
* Release the run's slot and return the promoted next queued job, if any —
|
|
77
|
+
* the caller dispatches it.
|
|
110
78
|
*/
|
|
111
79
|
onJobComplete(groupKey: string, routingKey: string, runId: string): Promise<QueuedJob | null>;
|
|
112
80
|
}
|
|
@@ -1,55 +1,39 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* In-memory waiter registry for the long-poll concurrency protocol.
|
|
3
3
|
*
|
|
4
|
-
* When the orchestrator acks a `concurrency.report` with `{ action: 'wait' }`,
|
|
4
|
+
* When the orchestrator acks a `job.concurrency.report` with `{ action: 'wait' }`,
|
|
5
5
|
* the agent stays connected on the same WS waiting for an unsolicited follow-up
|
|
6
|
-
* `concurrency.ack
|
|
7
|
-
* run so that, when a slot frees, we can find the right WS to wake up.
|
|
6
|
+
* `job.concurrency.ack`; this tracks which agent is parked on which queued run.
|
|
8
7
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* in `concurrency_groups.created_at`).
|
|
8
|
+
* Keyed on `(groupKey, routingKey)`, FIFO within each scope (the queue
|
|
9
|
+
* manager's `concurrency_groups.created_at` ordering).
|
|
12
10
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* notify. The slot-release helper handles the missing-waiter case by marking
|
|
16
|
-
* the just-dequeued entry completed (effectively cancelling it).
|
|
11
|
+
* In-memory only: a restart drops every WS anyway. The slot-release helper
|
|
12
|
+
* marks a dequeued entry with no waiter completed (effectively cancelled).
|
|
17
13
|
*/
|
|
18
14
|
export interface WaiterEntry {
|
|
19
15
|
/** The run id queued behind a held slot. */
|
|
20
16
|
runId: string;
|
|
21
|
-
/** The job id the agent is parked on. */
|
|
22
17
|
jobId: string;
|
|
23
|
-
/** The agent
|
|
18
|
+
/** The agent holding the WS connection. */
|
|
24
19
|
agentId: string;
|
|
25
20
|
}
|
|
26
21
|
export declare class ConcurrencyWaiters {
|
|
27
|
-
/**
|
|
22
|
+
/** `${routingKey}\0${groupKey}` -> FIFO of waiters. */
|
|
28
23
|
private readonly waiters;
|
|
29
24
|
private scopeKey;
|
|
30
|
-
/**
|
|
31
|
-
* Register a waiter for the given (group, routingKey). FIFO order is
|
|
32
|
-
* preserved across multiple registrations.
|
|
33
|
-
*/
|
|
34
25
|
register(groupKey: string, routingKey: string, entry: WaiterEntry): void;
|
|
35
26
|
/**
|
|
36
|
-
* Pop the
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
* Matches by runId (not "shift the head") because the queue-manager's
|
|
42
|
-
* `dequeueNext()` may pick a specific row; the in-memory tracker has to
|
|
43
|
-
* follow the DB's verdict, not the in-memory FIFO head independently.
|
|
27
|
+
* Pop the first waiter for `runId`; undefined when none (orchestrator
|
|
28
|
+
* restart, or the WS already disconnected and called dropForAgent). Matches
|
|
29
|
+
* by runId, not the FIFO head, because `dequeueNext()` picks the row and the
|
|
30
|
+
* in-memory tracker must follow the DB's verdict.
|
|
44
31
|
*/
|
|
45
32
|
popByRunId(groupKey: string, routingKey: string, runId: string): WaiterEntry | undefined;
|
|
46
33
|
/**
|
|
47
|
-
* Drop
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* Called from the agent-handler `onClose` so a disconnect doesn't leave a
|
|
52
|
-
* queued row dangling forever.
|
|
34
|
+
* Drop the agent's waiters, returning them so the caller can
|
|
35
|
+
* `cancelQueued(runId)` and emit failure events. Called from the
|
|
36
|
+
* agent-handler `onClose` so a disconnect never leaves a queued row dangling.
|
|
53
37
|
*/
|
|
54
38
|
dropForAgent(agentId: string): WaiterEntry[];
|
|
55
39
|
/** Number of registered waiters. Test-only. */
|
|
@@ -4,7 +4,6 @@ export declare const REDACTED_VALUE = "***REDACTED***";
|
|
|
4
4
|
* Get a value at a nested path in an object.
|
|
5
5
|
* Returns undefined if the path doesn't exist.
|
|
6
6
|
*
|
|
7
|
-
* @param obj - The object to traverse
|
|
8
7
|
* @param path - Dot-separated path (e.g., 'providers.github.appId')
|
|
9
8
|
*/
|
|
10
9
|
export declare function deepGet(obj: Record<string, unknown>, path: string): unknown;
|
|
@@ -25,7 +24,6 @@ export declare function deepSet(obj: Record<string, unknown>, path: string, valu
|
|
|
25
24
|
* providers.github is an array of 2 items resolves to:
|
|
26
25
|
* ['providers.github.0.privateKey', 'providers.github.1.privateKey']
|
|
27
26
|
*
|
|
28
|
-
* @param obj - The object to inspect
|
|
29
27
|
* @param pattern - Dot-separated path with optional '*' wildcards
|
|
30
28
|
* @returns Array of concrete dot-separated paths that exist in the object
|
|
31
29
|
*/
|
package/dist/config/loader.d.ts
CHANGED
|
@@ -19,7 +19,6 @@ export declare const SENSITIVE_FIELD_PATHS: readonly ['platform.token', 'secrets
|
|
|
19
19
|
* Load and validate the local orchestrator YAML configuration.
|
|
20
20
|
*
|
|
21
21
|
* @param configPath - Explicit path to the config file (highest precedence)
|
|
22
|
-
* @returns Validated LocalConfig
|
|
23
22
|
* @throws Error if explicit path doesn't exist, or if validation fails
|
|
24
23
|
*/
|
|
25
24
|
export declare function loadLocalConfig(configPath?: string): Promise<LocalConfig>;
|
package/dist/config/reload.d.ts
CHANGED
|
@@ -15,13 +15,7 @@ import type { Logger } from '@kici-dev/shared';
|
|
|
15
15
|
import type { AppConfig, SharedConfig } from './types.js';
|
|
16
16
|
import type { SharedConfigStore } from './shared-store.js';
|
|
17
17
|
import type { ScalerFileReloadResult } from '../scaler/file-reload.js';
|
|
18
|
-
/**
|
|
19
|
-
* Source of a reload trigger.
|
|
20
|
-
*/
|
|
21
18
|
export type ReloadSource = 'sighup' | 'http' | 'cluster' | 'cli';
|
|
22
|
-
/**
|
|
23
|
-
* Result of a reload operation.
|
|
24
|
-
*/
|
|
25
19
|
export interface ReloadResult {
|
|
26
20
|
success: boolean;
|
|
27
21
|
version?: number;
|
|
@@ -17,13 +17,9 @@ import type { AppConfig, SharedConfig } from './types.js';
|
|
|
17
17
|
export interface LocalPhaseResult {
|
|
18
18
|
/** The raw local config (from YAML + env overlay) */
|
|
19
19
|
local: Record<string, unknown>;
|
|
20
|
-
/** Resolved database URL */
|
|
21
20
|
databaseUrl: string;
|
|
22
|
-
/** Resolved instance ID */
|
|
23
21
|
instanceId: string;
|
|
24
|
-
/** Resolved server port */
|
|
25
22
|
port: number;
|
|
26
|
-
/** Resolved instance mode */
|
|
27
23
|
mode: OrchestratorMode;
|
|
28
24
|
}
|
|
29
25
|
/**
|
|
@@ -75,7 +75,6 @@ export declare class SharedConfigStore {
|
|
|
75
75
|
* Validates with sharedConfigSchema, encrypts sensitive fields,
|
|
76
76
|
* and stores as a new immutable version.
|
|
77
77
|
*
|
|
78
|
-
* @param config - The config object to save
|
|
79
78
|
* @param createdBy - Who created this version (e.g., "cli:seed", "api:set")
|
|
80
79
|
* @param description - Human-readable change description
|
|
81
80
|
* @returns The new version number
|
|
@@ -92,7 +91,6 @@ export declare class SharedConfigStore {
|
|
|
92
91
|
* Rollback to a specific version.
|
|
93
92
|
* Reads the target version and creates a new version as a copy.
|
|
94
93
|
*
|
|
95
|
-
* @param targetVersion - Version number to rollback to
|
|
96
94
|
* @param createdBy - Who initiated the rollback
|
|
97
95
|
* @returns The new version number
|
|
98
96
|
* @throws Error if target version doesn't exist
|
package/dist/config/types.d.ts
CHANGED
|
@@ -109,7 +109,6 @@ export interface SharedConfig {
|
|
|
109
109
|
export interface AppConfig {
|
|
110
110
|
/** Unique identifier for this orchestrator instance */
|
|
111
111
|
instanceId: string;
|
|
112
|
-
/** Operating mode */
|
|
113
112
|
mode: OrchestratorMode;
|
|
114
113
|
/** PostgreSQL connection URL */
|
|
115
114
|
databaseUrl: string;
|
|
@@ -213,9 +212,7 @@ export interface AppConfig {
|
|
|
213
212
|
/** Inbound webhook delivery log: soft cap (bytes). Oversized deliveries are
|
|
214
213
|
* recorded with payload_omitted=true rather than 413'd. */
|
|
215
214
|
eventLogMaxPayloadBytes: number;
|
|
216
|
-
/** Log level */
|
|
217
215
|
logLevel: 'debug' | 'info' | 'warn' | 'error';
|
|
218
|
-
/** Node environment */
|
|
219
216
|
nodeEnv: 'development' | 'production' | 'test';
|
|
220
217
|
}
|
|
221
218
|
/**
|
|
@@ -37,7 +37,6 @@ export declare class ContentRequirementsCache {
|
|
|
37
37
|
* caching. Each distinct `(provider, repo, sha, path)` is fetched at most
|
|
38
38
|
* once; concurrent misses coalesce onto one fetch.
|
|
39
39
|
*
|
|
40
|
-
* @param fetcher - Provider-specific file-contents fetcher.
|
|
41
40
|
* @param repo - Provider repo identifier ("owner/repo").
|
|
42
41
|
* @param sha - Git ref (commit SHA, or a branch/tag name).
|
|
43
42
|
* @param path - Repo-relative file path.
|
|
@@ -77,8 +77,6 @@ export declare class ContextStore {
|
|
|
77
77
|
/** Update a context. Returns the updated row, or null if not found. */
|
|
78
78
|
update(orgId: string, id: string, updates: ContextUpdateInput): Promise<Context | null>;
|
|
79
79
|
/**
|
|
80
|
-
* Delete a context.
|
|
81
|
-
*
|
|
82
80
|
* Bindings, variables, and source overrides cascade away via their FK.
|
|
83
81
|
* Terminal held-run history survives with a null `context_id` (the FK
|
|
84
82
|
* uses ON DELETE SET NULL). Pending held runs still reference the
|
|
@@ -46,7 +46,6 @@ export declare const SecurityHoldReason: z.ZodEnum<{
|
|
|
46
46
|
workflow_modification: "workflow_modification";
|
|
47
47
|
}>;
|
|
48
48
|
export type SecurityHoldReason = z.infer<typeof SecurityHoldReason>;
|
|
49
|
-
/** Data required to create a held run. */
|
|
50
49
|
export interface CreateHeldRunData {
|
|
51
50
|
runId: string;
|
|
52
51
|
jobId: string;
|
|
@@ -134,7 +133,6 @@ export interface ReleaseSignal {
|
|
|
134
133
|
*/
|
|
135
134
|
triggerSource: TriggerSource;
|
|
136
135
|
}
|
|
137
|
-
/** Options for listing held runs. */
|
|
138
136
|
export interface ListHeldRunsOptions {
|
|
139
137
|
status?: string;
|
|
140
138
|
limit?: number;
|
|
@@ -16,7 +16,6 @@ export declare class VariableStore {
|
|
|
16
16
|
listVars(orgId: string, contextId: string): Promise<ContextVariable[]>;
|
|
17
17
|
/** Upsert an org-level variable. */
|
|
18
18
|
setVar(orgId: string, contextId: string, key: string, value: string, locked?: boolean): Promise<void>;
|
|
19
|
-
/** Delete an org-level variable. */
|
|
20
19
|
deleteVar(orgId: string, contextId: string, key: string): Promise<void>;
|
|
21
20
|
/** List source overrides for a specific source (routing key). */
|
|
22
21
|
listSourceOverrides(orgId: string, contextId: string, routingKey: string): Promise<ContextSourceOverride[]>;
|
|
@@ -24,7 +23,6 @@ export declare class VariableStore {
|
|
|
24
23
|
listAllSourceOverrides(orgId: string, contextId: string): Promise<ContextSourceOverride[]>;
|
|
25
24
|
/** Upsert a source override. */
|
|
26
25
|
setSourceOverride(orgId: string, contextId: string, routingKey: string, key: string, value: string): Promise<void>;
|
|
27
|
-
/** Delete a source override. */
|
|
28
26
|
deleteSourceOverride(orgId: string, contextId: string, routingKey: string, key: string): Promise<void>;
|
|
29
27
|
/**
|
|
30
28
|
* Get resolved variables for a context, optionally merged with source overrides.
|
|
@@ -2,14 +2,13 @@ import { type Kysely } from 'kysely';
|
|
|
2
2
|
import type { AttestationListFilters } from '@kici-dev/engine';
|
|
3
3
|
import type { Database } from '../db/types.js';
|
|
4
4
|
/**
|
|
5
|
-
* The org-wide attestations base query
|
|
6
|
-
*
|
|
5
|
+
* The org-wide attestations base query, joined to `execution_jobs` (job name) and
|
|
6
|
+
* `execution_runs` (repository / workflow).
|
|
7
7
|
*
|
|
8
|
-
* `attestations.run_id` / `job_id` are TEXT while the
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* lists (repository / workflow come back null).
|
|
8
|
+
* `attestations.run_id` / `job_id` are TEXT while the `execution_*` keys are `uuid`,
|
|
9
|
+
* and Postgres won't compare `uuid = text` implicitly, so the joins cast the uuid side
|
|
10
|
+
* to text, mirroring `resolveAttestationsForRun`. The `execution_runs` join is LEFT so
|
|
11
|
+
* a row with no matching run still lists (repository / workflow come back null).
|
|
13
12
|
*/
|
|
14
13
|
export declare function baseAttestationsQuery(db: Kysely<Database>): import("kysely").SelectQueryBuilder<{
|
|
15
14
|
access_log: import("../db/types.js").AccessLogTable;
|
|
@@ -77,15 +76,12 @@ export declare function baseAttestationsQuery(db: Kysely<Database>): import("kys
|
|
|
77
76
|
}, "attestations" | "execution_jobs" | "execution_runs", {}>;
|
|
78
77
|
export type AttestationsBaseQuery = ReturnType<typeof baseAttestationsQuery>;
|
|
79
78
|
/**
|
|
80
|
-
* Base query for the deferred-attestation outbox (`pending_attestations`),
|
|
81
|
-
*
|
|
82
|
-
* context) for the org-wide list's pending summaries.
|
|
79
|
+
* Base query for the deferred-attestation outbox (`pending_attestations`), joined like
|
|
80
|
+
* `baseAttestationsQuery` for the org-wide list's pending summaries.
|
|
83
81
|
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
* side to text. Both joins are LEFT joins so a pending row with no matching
|
|
88
|
-
* run / job still lists (repository / workflow / job name come back null).
|
|
82
|
+
* The joins cast the uuid side to text for the same uuid/text mismatch. Both joins are
|
|
83
|
+
* LEFT so a pending row with no matching run / job still lists (repository / workflow /
|
|
84
|
+
* job name come back null).
|
|
89
85
|
*/
|
|
90
86
|
export declare function basePendingAttestationsQuery(db: Kysely<Database>): import("kysely").SelectQueryBuilder<{
|
|
91
87
|
access_log: import("../db/types.js").AccessLogTable;
|
|
@@ -152,9 +148,8 @@ export declare function basePendingAttestationsQuery(db: Kysely<Database>): impo
|
|
|
152
148
|
workflow_registrations: import("../db/types.js").WorkflowRegistrationsTable;
|
|
153
149
|
}, "execution_jobs" | "execution_runs" | "pending_attestations", {}>;
|
|
154
150
|
/**
|
|
155
|
-
*
|
|
156
|
-
*
|
|
157
|
-
* created_at gets `>=` / `<=` bounds for the date range. Absent filters are
|
|
151
|
+
* Digest is exact-match; name is an ILIKE substring; status / repository / workflow /
|
|
152
|
+
* job are equality; created_at gets inclusive `>=` / `<=` bounds. Absent filters are
|
|
158
153
|
* skipped.
|
|
159
154
|
*/
|
|
160
155
|
export declare function applyAttestationFilters(qb: AttestationsBaseQuery, filters: AttestationListFilters): AttestationsBaseQuery;
|