@kici-dev/orchestrator 0.17.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/agent-version.d.ts +12 -21
- package/dist/agent/dispatcher.d.ts +283 -437
- package/dist/agent/host-roster-reaper.d.ts +8 -10
- package/dist/agent/host-roster.d.ts +77 -100
- package/dist/agent/ownership-refusal.d.ts +3 -5
- package/dist/agent/ownership-tracker.d.ts +42 -76
- package/dist/agent/registry.d.ts +121 -233
- package/dist/agent/token-store.d.ts +34 -77
- package/dist/agent-packaging/availability.d.ts +6 -9
- package/dist/agent-packaging/download.d.ts +6 -9
- package/dist/agent-packaging/install-closure.d.ts +9 -12
- package/dist/agent-packaging/node-binary.d.ts +6 -10
- package/dist/agent-packaging/node-runtime-members.d.ts +3 -5
- package/dist/agent-packaging/refresh.d.ts +12 -16
- package/dist/agent-packaging/store.d.ts +5 -6
- package/dist/agent-packaging/upload.d.ts +3 -4
- package/dist/app.d.ts +0 -3
- package/dist/approvals/apply-decision.d.ts +35 -52
- package/dist/approvals/approval-resolver.d.ts +11 -23
- package/dist/approvals/held-run-release-wiring.d.ts +14 -21
- package/dist/approvals/independent-wiring.d.ts +13 -20
- package/dist/approvals/resume-router.d.ts +1 -1
- package/dist/approvals/step-approval-bridge.d.ts +11 -21
- package/dist/approvals/triggerer-subject.d.ts +8 -10
- package/dist/artifacts/artifact-store.d.ts +55 -95
- package/dist/artifacts/failure-messages.d.ts +15 -20
- package/dist/audit/access-log.d.ts +27 -45
- package/dist/audit/sampling-rate-limiter.d.ts +11 -23
- package/dist/cache/agent-job-failed-error.d.ts +2 -3
- package/dist/cache/build-coordinator.d.ts +5 -28
- package/dist/cache/cache-upload-settle.d.ts +11 -11
- package/dist/cache/dep-cache.d.ts +32 -60
- package/dist/cache/dispatch-cache-ref-tracker.d.ts +15 -23
- package/dist/cache/global-eval-round-cache.d.ts +33 -41
- package/dist/cache/pending-builds.d.ts +2 -6
- package/dist/cache/pending-dynamics.d.ts +2 -7
- package/dist/cache/pending-global-evals.d.ts +9 -12
- package/dist/cache/pending-inits.d.ts +11 -22
- package/dist/cache/pending-precursor-db-watcher.d.ts +24 -32
- package/dist/cache/pending-tracker.d.ts +17 -45
- package/dist/cache/precursor-result.d.ts +17 -30
- package/dist/cache/source-cache.d.ts +36 -65
- package/dist/cache/user-cache.d.ts +21 -25
- package/dist/cancel/cancel-held-run.d.ts +13 -16
- package/dist/cancel/cancel-route-answer.d.ts +1 -2
- package/dist/cancel/cancel-run.d.ts +26 -50
- package/dist/cancel/dashboard-cancel-handler.d.ts +2 -2
- package/dist/cancel/peer-job-cancel.d.ts +11 -14
- package/dist/cancel/sweep-stuck-cancelling.d.ts +9 -13
- package/dist/cli/api-client.d.ts +25 -76
- package/dist/cli/commands/access-log.d.ts +4 -24
- package/dist/cli/commands/agent-package.d.ts +7 -15
- package/dist/cli/commands/agent-service/agent-env.d.ts +3 -6
- package/dist/cli/commands/agent-service/index.d.ts +4 -10
- package/dist/cli/commands/agent-service/install.d.ts +4 -11
- package/dist/cli/commands/agent-service/status.d.ts +4 -9
- package/dist/cli/commands/agent-service/upgrade.d.ts +4 -16
- package/dist/cli/commands/agent.d.ts +12 -25
- package/dist/cli/commands/api-key.d.ts +5 -12
- package/dist/cli/commands/attestations-list.d.ts +7 -17
- package/dist/cli/commands/attestations-retry.d.ts +5 -11
- package/dist/cli/commands/attestations-reverify.d.ts +4 -5
- package/dist/cli/commands/attestations.d.ts +3 -8
- package/dist/cli/commands/audit.d.ts +1 -5
- package/dist/cli/commands/backend.d.ts +2 -11
- package/dist/cli/commands/check-run.d.ts +7 -18
- package/dist/cli/commands/cluster-name.d.ts +5 -12
- package/dist/cli/commands/cluster-settings.d.ts +28 -53
- package/dist/cli/commands/cold-store.d.ts +7 -15
- package/dist/cli/commands/config.d.ts +9 -20
- package/dist/cli/commands/context.d.ts +8 -20
- package/dist/cli/commands/dashboard-encryption-key.d.ts +9 -14
- package/dist/cli/commands/db-backup.d.ts +17 -32
- package/dist/cli/commands/db.d.ts +3 -4
- package/dist/cli/commands/debug-bundle.d.ts +3 -10
- package/dist/cli/commands/diagnose.d.ts +3 -14
- package/dist/cli/commands/event-dlq.d.ts +4 -12
- package/dist/cli/commands/event-log.d.ts +2 -20
- package/dist/cli/commands/execution.d.ts +3 -9
- package/dist/cli/commands/firecracker/index.d.ts +3 -6
- package/dist/cli/commands/held-run.d.ts +23 -37
- package/dist/cli/commands/host.d.ts +4 -11
- package/dist/cli/commands/inspect-bundle.d.ts +3 -11
- package/dist/cli/commands/local-hook.d.ts +2 -10
- package/dist/cli/commands/local-trigger.d.ts +2 -2
- package/dist/cli/commands/orchestrator-service/drain.d.ts +3 -6
- package/dist/cli/commands/orchestrator-service/index.d.ts +6 -14
- package/dist/cli/commands/orchestrator-service/install-env.d.ts +25 -49
- package/dist/cli/commands/orchestrator-service/install.d.ts +2 -5
- package/dist/cli/commands/orchestrator-service/status.d.ts +10 -22
- package/dist/cli/commands/orchestrator-service/upgrade.d.ts +6 -15
- package/dist/cli/commands/org-settings.d.ts +5 -11
- package/dist/cli/commands/peer.d.ts +5 -10
- package/dist/cli/commands/queue.d.ts +3 -9
- package/dist/cli/commands/registration.d.ts +4 -8
- package/dist/cli/commands/remote-source.d.ts +6 -12
- package/dist/cli/commands/rotate.d.ts +1 -5
- package/dist/cli/commands/runs.d.ts +1 -30
- package/dist/cli/commands/scaler.d.ts +5 -12
- package/dist/cli/commands/secret.d.ts +1 -9
- package/dist/cli/commands/service-health.d.ts +5 -10
- package/dist/cli/commands/shared/admin-cli-access-log.d.ts +10 -19
- package/dist/cli/commands/shared/bare-metal-binary-check.d.ts +86 -0
- package/dist/cli/commands/shared/cli-action.d.ts +1 -4
- package/dist/cli/commands/shared/confirm.d.ts +5 -10
- package/dist/cli/commands/shared/db.d.ts +1 -12
- package/dist/cli/commands/shared/env-file-mode.d.ts +6 -9
- package/dist/cli/commands/shared/secret-input.d.ts +7 -21
- package/dist/cli/commands/shared/service-verbs.d.ts +6 -12
- package/dist/cli/commands/shared/unbound-context-warning.d.ts +2 -4
- package/dist/cli/commands/shared/upgrade-hooks.d.ts +7 -16
- package/dist/cli/commands/shared/upgrade-safety.d.ts +20 -31
- package/dist/cli/commands/shared/versioned-upgrade.d.ts +83 -161
- package/dist/cli/commands/signing-key.d.ts +4 -9
- package/dist/cli/commands/source-manifest.d.ts +11 -14
- package/dist/cli/commands/source.d.ts +7 -32
- package/dist/cli/commands/token.d.ts +4 -15
- package/dist/cli/commands/trust-policy.d.ts +35 -88
- package/dist/cli/commands/variable.d.ts +3 -5
- package/dist/cli/commands/workflow.d.ts +3 -24
- package/dist/cli/join.d.ts +3 -6
- package/dist/cli/kici-admin.d.ts +11 -29
- package/dist/cli/lazy-deps/cache.d.ts +1 -14
- package/dist/cli/lazy-deps/downloader.d.ts +4 -27
- package/dist/cli/lazy-deps/registry.d.ts +5 -25
- package/dist/cli/local-github-ingress-url.d.ts +5 -7
- package/dist/cli/loopback-callback.d.ts +6 -7
- package/dist/cli/open-browser.d.ts +4 -8
- package/dist/cli/root-option-routing.d.ts +17 -29
- package/dist/cli/service/backup-timer.d.ts +16 -39
- package/dist/cli/service/compose-path.d.ts +3 -7
- package/dist/cli/service/compose.d.ts +12 -30
- package/dist/cli/service/deploy-env.d.ts +6 -18
- package/dist/cli/service/entrypoint.d.ts +14 -25
- package/dist/cli/service/env-assignment.d.ts +6 -17
- package/dist/cli/service/image-digests.d.ts +6 -15
- package/dist/cli/service/index.d.ts +2 -18
- package/dist/cli/service/instance/index-file.d.ts +9 -16
- package/dist/cli/service/instance/manifest.d.ts +33 -59
- package/dist/cli/service/instance/resolve.d.ts +32 -68
- package/dist/cli/service/instance/types.d.ts +12 -29
- package/dist/cli/service/launchd.d.ts +29 -60
- package/dist/cli/service/platform-detect.d.ts +13 -68
- package/dist/cli/service/privilege.d.ts +12 -25
- package/dist/cli/service/shutdown-grace.d.ts +11 -20
- package/dist/cli/service/systemd.d.ts +7 -20
- package/dist/cli/service/types.d.ts +63 -114
- package/dist/cli/service/windows-acl.d.ts +14 -21
- package/dist/cli/service/windows-env-file.d.ts +10 -28
- package/dist/cli/service/windows.d.ts +15 -31
- package/dist/cli/webhook-url-notes.d.ts +4 -6
- package/dist/cli/wizard/agent-wizard.d.ts +3 -14
- package/dist/cli/wizard/orchestrator-wizard.d.ts +12 -37
- package/dist/cli/wizard/prompts.d.ts +6 -16
- package/dist/cli.js +4568 -6571
- package/dist/cluster/cluster-identity.d.ts +20 -32
- package/dist/cluster/cluster-settings-reader.d.ts +50 -77
- package/dist/cluster/coordinator-credential.d.ts +4 -5
- package/dist/cluster/coordinator.d.ts +76 -148
- package/dist/cluster/health-api.d.ts +2 -10
- package/dist/cluster/index.d.ts +1 -6
- package/dist/cluster/instance-heartbeat.d.ts +26 -42
- package/dist/cluster/join-client.d.ts +4 -7
- package/dist/cluster/join-handler.d.ts +3 -7
- package/dist/cluster/join-token.d.ts +13 -27
- package/dist/cluster/leader-gated-scheduler.d.ts +8 -17
- package/dist/cluster/orphan-recovery.d.ts +13 -35
- package/dist/cluster/peer-auth-coordinator.d.ts +2 -8
- package/dist/cluster/peer-client.d.ts +46 -76
- package/dist/cluster/peer-credentials.d.ts +24 -70
- package/dist/cluster/peer-crypto.d.ts +5 -26
- package/dist/cluster/peer-forget.d.ts +3 -3
- package/dist/cluster/peer-handler.d.ts +47 -71
- package/dist/cluster/peer-registry.d.ts +37 -106
- package/dist/cluster/plan-headroom-store.d.ts +4 -6
- package/dist/cluster/raft-state.d.ts +4 -13
- package/dist/cluster/raft.d.ts +18 -53
- package/dist/cluster/reconcile-identity.d.ts +8 -11
- package/dist/cluster/rerouted-job-guard.d.ts +7 -11
- package/dist/cluster/verified-issuer.d.ts +2 -3
- package/dist/cluster/worker-cluster-settings.d.ts +7 -10
- package/dist/cluster/worker-eviction.d.ts +16 -26
- package/dist/cold-store/load-access-log-range.d.ts +15 -31
- package/dist/cold-store/load-event-log-range.d.ts +13 -27
- package/dist/cold-store/load-secret-audit-log-range.d.ts +8 -12
- package/dist/cold-store/orchestrator-cold-store.d.ts +8 -28
- package/dist/cold-store/tables/access-log.d.ts +12 -14
- package/dist/cold-store/tables/event-log.d.ts +4 -8
- package/dist/cold-store/tables/execution-runs.d.ts +6 -11
- package/dist/cold-store/tables/secret-audit-log.d.ts +5 -12
- package/dist/concurrency/dispatch-next-queued.d.ts +13 -25
- package/dist/concurrency/queue-manager.d.ts +22 -54
- package/dist/concurrency/waiters.d.ts +15 -31
- package/dist/config/encryption.d.ts +0 -2
- package/dist/config/loader.d.ts +0 -1
- package/dist/config/reload.d.ts +0 -6
- package/dist/config/resolver.d.ts +0 -4
- package/dist/config/shared-store.d.ts +0 -2
- package/dist/config/types.d.ts +0 -3
- package/dist/content-requirements-cache.d.ts +0 -1
- package/dist/contexts/context-store.d.ts +0 -2
- package/dist/contexts/held-runs.d.ts +0 -2
- package/dist/contexts/variable-store.d.ts +0 -2
- package/dist/dashboard/attestation-filters.d.ts +13 -18
- package/dist/dashboard/handler.d.ts +143 -307
- package/dist/db/client.d.ts +2 -6
- package/dist/db/deferred-index-build.d.ts +8 -10
- package/dist/db/deferred-indexes.d.ts +15 -22
- package/dist/db/migration-provider.d.ts +2 -4
- package/dist/db/migration-test-harness.d.ts +26 -44
- package/dist/db/migrations/001_initial.d.ts +1 -4
- package/dist/db/migrations/002_config_versions_key_version.d.ts +5 -8
- package/dist/db/migrations/003_access_log.d.ts +10 -15
- package/dist/db/migrations/004_rename_bundle_to_source.d.ts +7 -9
- package/dist/db/migrations/005_cold_store_chunk_counter.d.ts +4 -10
- package/dist/db/migrations/006_runs_jobs_steps_archived_at.d.ts +9 -29
- package/dist/db/migrations/007_audit_logs_archived_at.d.ts +11 -30
- package/dist/db/migrations/008_event_log_archived_at.d.ts +14 -29
- package/dist/db/migrations/009_access_log_trigram.d.ts +4 -8
- package/dist/db/migrations/010_cold_store_chunks.d.ts +16 -26
- package/dist/db/migrations/011_drop_source_secrets_notify.d.ts +6 -14
- package/dist/db/migrations/012_peer_credentials_active_uniq.d.ts +9 -14
- package/dist/db/migrations/013_execution_log_bytes.d.ts +5 -13
- package/dist/db/migrations/014_kici_events_lease_retry.d.ts +14 -27
- package/dist/db/migrations/015_org_settings_customer_scoped.d.ts +12 -17
- package/dist/db/migrations/016_org_settings_allow_http_npm.d.ts +4 -6
- package/dist/db/migrations/019_generic_sources_change_notify.d.ts +13 -17
- package/dist/db/migrations/020_org_settings_dashboard_write_policy.d.ts +5 -8
- package/dist/db/migrations/021_check_run_tracking.d.ts +5 -17
- package/dist/db/migrations/022_scaler_manager_state.d.ts +10 -20
- package/dist/db/migrations/023_dispatch_queue_recovery_deadline.d.ts +7 -18
- package/dist/db/migrations/024_dispatch_queue_provisioning_error.d.ts +5 -11
- package/dist/db/migrations/025_init_failure.d.ts +5 -9
- package/dist/db/migrations/027_workflow_timeout.d.ts +5 -13
- package/dist/db/migrations/029_dispatch_queue_attempts.d.ts +4 -10
- package/dist/db/migrations/030_held_runs_env_set_null.d.ts +5 -6
- package/dist/db/migrations/031_dispatch_queue_ack_deadline.d.ts +6 -12
- package/dist/db/migrations/033_org_settings_approval.d.ts +7 -10
- package/dist/db/migrations/034_held_runs_generalize.d.ts +10 -18
- package/dist/db/migrations/035_pending_workflow_contexts.d.ts +4 -5
- package/dist/db/migrations/037_generic_sources_provider_type_local.d.ts +5 -6
- package/dist/db/migrations/038_remote_sources.d.ts +5 -7
- package/dist/db/migrations/045_host_properties.d.ts +5 -9
- package/dist/db/migrations/046_join_token_consumed_by_instance.d.ts +5 -10
- package/dist/db/migrations/048_host_reboot_pending.d.ts +6 -12
- package/dist/db/migrations/049_held_runs_payload.d.ts +3 -8
- package/dist/db/migrations/050_sources_slug.d.ts +4 -5
- package/dist/db/migrations/051_binding_host_pattern.d.ts +7 -10
- package/dist/db/migrations/052_host_reach_metadata.d.ts +8 -11
- package/dist/db/migrations/053_agent_token_single_use.d.ts +6 -10
- package/dist/db/migrations/054_local_working_tree.d.ts +4 -6
- package/dist/db/migrations/055_agent_token_mandatory_labels.d.ts +6 -11
- package/dist/db/migrations/056_execution_jobs_environments.d.ts +4 -11
- package/dist/db/migrations/064_execution_jobs_skipped_environments.d.ts +6 -9
- package/dist/db/migrations/065_pending_attestations.d.ts +9 -12
- package/dist/db/migrations/066_pending_attestations_rejected.d.ts +4 -7
- package/dist/db/migrations/068_request_idempotency.d.ts +7 -9
- package/dist/db/migrations/069_reroute_tunables.d.ts +6 -14
- package/dist/db/migrations/071_batch_accumulation.d.ts +8 -16
- package/dist/db/migrations/072_dispatch_queue_run_id_index.d.ts +3 -9
- package/dist/db/migrations/074_normalize_zero_concurrency_limit.d.ts +4 -7
- package/dist/db/migrations/076_artifacts.d.ts +7 -8
- package/dist/db/migrations/078_org_settings_backup_staleness.d.ts +3 -6
- package/dist/db/migrations/079_org_settings_scaler_spawn_timeout.d.ts +4 -8
- package/dist/db/migrations/080_cluster_settings.d.ts +6 -10
- package/dist/db/migrations/081_org_settings_queue_timeout.d.ts +7 -11
- package/dist/db/migrations/082_host_s3_reachable.d.ts +5 -10
- package/dist/db/migrations/083_org_settings_artifact_caps.d.ts +6 -8
- package/dist/db/migrations/084_orchestrator_signing_keys.d.ts +8 -13
- package/dist/db/migrations/085_cluster_settings_reroute_flap_grace_ms.d.ts +4 -5
- package/dist/db/migrations/086_cluster_settings_max_fanout_hosts.d.ts +3 -3
- package/dist/db/migrations/087_cluster_settings_event_router_rate_limit.d.ts +5 -3
- package/dist/db/migrations/088_cluster_settings_cache_max_tarball_bytes.d.ts +3 -3
- package/dist/db/migrations/089_cluster_settings_cache_ttl_days.d.ts +3 -5
- package/dist/db/migrations/090_cluster_settings_concurrency_wait_timeout_ms.d.ts +3 -6
- package/dist/db/migrations/091_cluster_settings_agent_token_ttl_ms.d.ts +3 -6
- package/dist/db/migrations/092_cluster_settings_version.d.ts +5 -9
- package/dist/db/migrations/094_dashboard_encryption_keys.d.ts +9 -14
- package/dist/db/migrations/095_dashboard_write_policy_tristate.d.ts +2 -6
- package/dist/db/migrations/099_cluster_settings_dashboard_verified_issuer.d.ts +8 -11
- package/dist/db/migrations/101_contexts_hold_expiry_drop_default.d.ts +9 -15
- package/dist/db/migrations/102_dispatch_queue_agent_id.d.ts +6 -11
- package/dist/db/migrations/103_cluster_settings_ownership_db_check_timeout_ms.d.ts +6 -12
- package/dist/db/migrations/104_check_run_terminal_sent.d.ts +8 -14
- package/dist/db/migrations/105_org_trust_policy.d.ts +5 -7
- package/dist/db/migrations/106_cluster_settings_check_run_tracking_ttl_days.d.ts +4 -12
- package/dist/db/migrations/107_check_run_tracking_updated_at_index.d.ts +8 -14
- package/dist/db/migrations/113_execution_runs_workflow_repo_index.d.ts +10 -19
- package/dist/db/migrations/115_global_workflows_cluster_switch.d.ts +2 -3
- package/dist/db/migrations/121_org_settings_allow_untrusted_dockerfile_builds.d.ts +7 -8
- package/dist/db/migrations/122_host_roster_scaler_managed.d.ts +9 -16
- package/dist/db/migrations/123_workflow_registrations_default_branch.d.ts +8 -16
- package/dist/db/migrations/125_org_trust_directory.d.ts +13 -21
- package/dist/db/migrations/126_held_runs_posted_pending_check.d.ts +10 -16
- package/dist/db/migrations/127_org_trust_policy_approval_expiry_seconds.d.ts +8 -16
- package/dist/db/migrations/128_execution_runs_global_eval_round.d.ts +6 -11
- package/dist/db/migrations/129_execution_runs_dispatch_routing_key.d.ts +8 -11
- package/dist/db/migrations/130_scaler_provision_outcomes.d.ts +13 -20
- package/dist/db/migrations/131_execution_jobs_git_credentials.d.ts +12 -22
- package/dist/db/migrations/132_execution_runs_trigger_event.d.ts +6 -16
- package/dist/db/migrations/133_dispatch_queue_source_tar_digest.d.ts +6 -9
- package/dist/db/migrations/140_dispatch_queue_canonical_labels.d.ts +22 -40
- package/dist/db/migrations/143_execution_jobs_precursor_result.d.ts +9 -18
- package/dist/db/migrations/144_execution_runs_registration_window.d.ts +12 -20
- package/dist/db/migrations/147_sealed_job_secrets.d.ts +5 -9
- package/dist/db/migrations/148_cluster_settings_sealed_secrets_retry_backoff_ms.d.ts +7 -13
- package/dist/db/migrations/150_execution_runs_status_epoch.d.ts +6 -11
- package/dist/db/migrations/152_org_settings_cache_upload_settle_timeout.d.ts +5 -8
- package/dist/db/migrations/157_host_roster_identity_source.d.ts +9 -13
- package/dist/db/migrations/159_org_id_widen_to_source_width.d.ts +5 -0
- package/dist/db/migrator.d.ts +17 -25
- package/dist/db/notify-listener.d.ts +8 -11
- package/dist/db/repos/dashboard-encryption-keys-repo.d.ts +9 -10
- package/dist/db/synthetic-job-ids.d.ts +6 -8
- package/dist/db/types.d.ts +531 -1058
- package/dist/deployment/deployment-identity.d.ts +42 -60
- package/dist/diagnostics/bundle-reader.d.ts +3 -15
- package/dist/diagnostics/bundle-writer.d.ts +5 -12
- package/dist/diagnostics/checks/agents.d.ts +1 -7
- package/dist/diagnostics/checks/backup.d.ts +7 -10
- package/dist/diagnostics/checks/certs.d.ts +1 -6
- package/dist/diagnostics/checks/config.d.ts +2 -5
- package/dist/diagnostics/checks/db.d.ts +1 -1
- package/dist/diagnostics/checks/disk.d.ts +1 -6
- package/dist/diagnostics/checks/firecracker-network.d.ts +3 -3
- package/dist/diagnostics/checks/index.d.ts +0 -6
- package/dist/diagnostics/checks/retention.d.ts +3 -6
- package/dist/diagnostics/checks/scaler.d.ts +3 -7
- package/dist/diagnostics/checks/ws.d.ts +1 -6
- package/dist/diagnostics/fleet-collector.d.ts +11 -14
- package/dist/diagnostics/fleet-constants.d.ts +1 -3
- package/dist/diagnostics/fleet-selection.d.ts +3 -7
- package/dist/diagnostics/fleet-topology.d.ts +2 -6
- package/dist/diagnostics/fleet-wiring.d.ts +6 -12
- package/dist/diagnostics/index.d.ts +0 -5
- package/dist/diagnostics/runner.d.ts +4 -8
- package/dist/diagnostics/types.d.ts +10 -21
- package/dist/drain/drain-controller.d.ts +16 -22
- package/dist/entry-helpers.d.ts +0 -2
- package/dist/events/circuit-breaker.d.ts +0 -3
- package/dist/events/event-router.d.ts +1 -2
- package/dist/events/event-store.d.ts +0 -9
- package/dist/events/trust-store.d.ts +0 -3
- package/dist/events/types.d.ts +0 -9
- package/dist/firecracker/host-network.d.ts +24 -30
- package/dist/firecracker/net-interfaces.d.ts +4 -7
- package/dist/helpers/rate-limiter.d.ts +0 -1
- package/dist/index.js +240 -482
- package/dist/metrics/agent-metrics-aggregator.d.ts +24 -67
- package/dist/metrics/metrics-reporter.d.ts +4 -13
- package/dist/metrics/prometheus.d.ts +47 -81
- package/dist/orchestrator-core.d.ts +3 -7
- package/dist/pipeline/content-filter.d.ts +20 -30
- package/dist/pipeline/cross-source-tally.d.ts +7 -8
- package/dist/pipeline/decorating-secret-resolver.d.ts +4 -8
- package/dist/pipeline/degraded-reason.d.ts +3 -4
- package/dist/pipeline/direct-ingress-deps.d.ts +15 -24
- package/dist/pipeline/dispatch-matched-workflow.d.ts +289 -525
- package/dist/pipeline/flatten-lock-steps.d.ts +4 -6
- package/dist/pipeline/global-dispatch-identity.d.ts +5 -10
- package/dist/pipeline/global-eval-round.d.ts +65 -151
- package/dist/pipeline/global-round-hold.d.ts +5 -7
- package/dist/pipeline/held-context-data.d.ts +5 -8
- package/dist/pipeline/held-round-registrations.d.ts +8 -11
- package/dist/pipeline/install-gate.d.ts +15 -25
- package/dist/pipeline/install-secrets-resolver.d.ts +24 -34
- package/dist/pipeline/internal-event-pipeline.d.ts +45 -62
- package/dist/pipeline/invoke-gate.d.ts +27 -40
- package/dist/pipeline/job-contexts.d.ts +19 -36
- package/dist/pipeline/manual-schedule.d.ts +7 -13
- package/dist/pipeline/needs-scheduler.d.ts +29 -46
- package/dist/pipeline/pending-workflow-context.d.ts +14 -28
- package/dist/pipeline/process-webhook.d.ts +88 -123
- package/dist/pipeline/processor.d.ts +209 -355
- package/dist/pipeline/remote-source-store.d.ts +5 -8
- package/dist/pipeline/request-idempotency.d.ts +10 -13
- package/dist/pipeline/rerun-global.d.ts +6 -7
- package/dist/pipeline/rerun-inputs.d.ts +23 -37
- package/dist/pipeline/rerun.d.ts +34 -57
- package/dist/pipeline/resolve-sandbox-grant.d.ts +5 -10
- package/dist/pipeline/resume-workflow.d.ts +28 -34
- package/dist/pipeline/route-or-dispatch-jobs.d.ts +19 -30
- package/dist/pipeline/run-event-context.d.ts +16 -21
- package/dist/pipeline/sandbox-allowlist-reader.d.ts +7 -11
- package/dist/pipeline/security-hold-check.d.ts +56 -80
- package/dist/pipeline/test-pipeline.d.ts +20 -46
- package/dist/pipeline/unbound-job-context.d.ts +6 -9
- package/dist/pipeline/undispatched-hold-checks.d.ts +4 -6
- package/dist/pipeline/wave-scheduler.d.ts +15 -22
- package/dist/pipeline/webhook-payload-store.d.ts +3 -10
- package/dist/pipeline/workflow-lock-at-sha.d.ts +14 -20
- package/dist/policy/dashboard-write-policy.d.ts +1 -1
- package/dist/provider-registry.d.ts +0 -19
- package/dist/providers/generic/index.d.ts +0 -2
- package/dist/providers/generic/normalizer.d.ts +0 -1
- package/dist/providers/generic/verification.d.ts +0 -8
- package/dist/providers/github/auth.d.ts +0 -1
- package/dist/providers/github/changed-files.d.ts +2 -1
- package/dist/providers/github/file-contents.d.ts +0 -4
- package/dist/providers/github/lock-file.d.ts +0 -4
- package/dist/providers/github/normalizer.d.ts +1 -9
- package/dist/providers/local/index.d.ts +1 -2
- package/dist/providers/local/lock-file-fetcher.d.ts +0 -4
- package/dist/providers/local/normalizer.d.ts +0 -10
- package/dist/providers/local/repo-url-builder.d.ts +0 -2
- package/dist/providers/universal-git/clone-token.d.ts +0 -2
- package/dist/providers/universal-git/lock-file.d.ts +0 -2
- package/dist/providers/universal-git/normalizer.d.ts +0 -2
- package/dist/queue/bootstrap.d.ts +3 -15
- package/dist/queue/cleanup.d.ts +29 -50
- package/dist/queue/depth-refresher.d.ts +21 -39
- package/dist/queue/job-queue.d.ts +112 -163
- package/dist/queue/retention.d.ts +23 -36
- package/dist/queue/scheduled-job.d.ts +17 -39
- package/dist/queue/terminalize-unroutable.d.ts +16 -18
- package/dist/queue/unroutable-probe.d.ts +15 -22
- package/dist/registration/extractor.d.ts +0 -6
- package/dist/registration/registration-index.d.ts +0 -6
- package/dist/registration/registration-store.d.ts +0 -9
- package/dist/reporting/agent-failure-category.d.ts +3 -5
- package/dist/reporting/check-run-reporter.d.ts +142 -316
- package/dist/reporting/check-run-summary.d.ts +16 -35
- package/dist/reporting/check-run-tracking-store.d.ts +54 -107
- package/dist/reporting/execution-tracker.d.ts +356 -526
- package/dist/reporting/fs-log-storage.d.ts +31 -33
- package/dist/reporting/job-check-run-completion.d.ts +14 -22
- package/dist/reporting/log-chunk-sink.d.ts +11 -16
- package/dist/reporting/log-pull-handler.d.ts +4 -13
- package/dist/reporting/log-retention.d.ts +3 -4
- package/dist/reporting/log-storage.d.ts +24 -52
- package/dist/reporting/log-writer.d.ts +28 -56
- package/dist/reporting/peer-log-normalize.d.ts +4 -8
- package/dist/reporting/run-aggregator.d.ts +6 -11
- package/dist/reporting/run-summary-fields.d.ts +5 -8
- package/dist/reporting/s3-log-storage.d.ts +31 -50
- package/dist/reporting/step-display-order.d.ts +11 -21
- package/dist/reporting/step-log-buffer.d.ts +7 -28
- package/dist/reporting/step-log-reader.d.ts +11 -19
- package/dist/routes/admin-access-log.d.ts +4 -6
- package/dist/routes/admin-auth.d.ts +17 -38
- package/dist/routes/admin-backends.d.ts +3 -14
- package/dist/routes/admin-cluster-name.d.ts +13 -21
- package/dist/routes/admin-cluster-settings.d.ts +6 -9
- package/dist/routes/admin-config.d.ts +7 -19
- package/dist/routes/admin-contexts.d.ts +6 -13
- package/dist/routes/admin-db.d.ts +5 -10
- package/dist/routes/admin-event-dlq.d.ts +3 -5
- package/dist/routes/admin-event-inspect.d.ts +3 -4
- package/dist/routes/admin-event-log.d.ts +3 -7
- package/dist/routes/admin-events.d.ts +16 -30
- package/dist/routes/admin-held-runs.d.ts +52 -76
- package/dist/routes/admin-maintenance.d.ts +3 -6
- package/dist/routes/admin-orchestrator-drain.d.ts +0 -2
- package/dist/routes/admin-org-settings.d.ts +8 -14
- package/dist/routes/admin-peer-forget.d.ts +0 -1
- package/dist/routes/admin-queue-execution.d.ts +3 -3
- package/dist/routes/admin-registrations.d.ts +3 -12
- package/dist/routes/admin-runs.d.ts +16 -29
- package/dist/routes/admin-scaler-orphans.d.ts +4 -4
- package/dist/routes/admin-scaler-reload.d.ts +5 -8
- package/dist/routes/admin-scheduled-jobs.d.ts +3 -4
- package/dist/routes/admin-sources.d.ts +20 -29
- package/dist/routes/admin-trust-policy.d.ts +31 -48
- package/dist/routes/admin.d.ts +67 -94
- package/dist/routes/caller-identity.d.ts +5 -12
- package/dist/routes/capabilities.d.ts +8 -13
- package/dist/routes/diagnostics.d.ts +2 -10
- package/dist/routes/fleet.d.ts +1 -2
- package/dist/routes/github-webhook.d.ts +2 -5
- package/dist/routes/health.d.ts +6 -19
- package/dist/routes/provenance-oidc.d.ts +3 -3
- package/dist/routes/uploads.d.ts +5 -11
- package/dist/routes/webhooks.d.ts +2 -24
- package/dist/scaler/agent-binary-location.d.ts +77 -0
- package/dist/scaler/agent-fit.d.ts +2 -2
- package/dist/scaler/backend-factory.d.ts +10 -18
- package/dist/scaler/bare-metal-backend.d.ts +28 -45
- package/dist/scaler/claim-store.d.ts +20 -43
- package/dist/scaler/config.d.ts +10 -37
- package/dist/scaler/container-backend.d.ts +22 -35
- package/dist/scaler/container-hostconfig.d.ts +10 -16
- package/dist/scaler/container-routing.d.ts +10 -13
- package/dist/scaler/disk-guard.d.ts +2 -3
- package/dist/scaler/event-backend.d.ts +33 -58
- package/dist/scaler/event-provision-reaper.d.ts +61 -84
- package/dist/scaler/failure-tracker.d.ts +6 -13
- package/dist/scaler/file-tail.d.ts +6 -19
- package/dist/scaler/firecracker-api.d.ts +19 -63
- package/dist/scaler/firecracker-backend.d.ts +142 -258
- package/dist/scaler/host-access.d.ts +7 -10
- package/dist/scaler/index.d.ts +3 -6
- package/dist/scaler/ip-allocator.d.ts +30 -82
- package/dist/scaler/label-matcher.d.ts +14 -35
- package/dist/scaler/log-forwarder.d.ts +6 -25
- package/dist/scaler/machine-ledger.d.ts +39 -86
- package/dist/scaler/manager.d.ts +517 -787
- package/dist/scaler/pending-scale-sweeper.d.ts +8 -11
- package/dist/scaler/reap-orphans.d.ts +8 -12
- package/dist/scaler/resolve-container-auth.d.ts +12 -21
- package/dist/scaler/scaler-events.d.ts +2 -5
- package/dist/scaler/scaler-state-store.d.ts +127 -189
- package/dist/scaler/spawn-errors.d.ts +1 -4
- package/dist/scaler/startup-orphan-sweep.d.ts +3 -4
- package/dist/scaler/startup-tools-check.d.ts +21 -0
- package/dist/scaler/types.d.ts +142 -255
- package/dist/scaler/vm-job-bindings.d.ts +5 -9
- package/dist/scaler/warm-pool.d.ts +46 -93
- package/dist/secrets/audit-logger.d.ts +0 -3
- package/dist/secrets/backend-health.d.ts +0 -9
- package/dist/secrets/backend-registry.d.ts +0 -9
- package/dist/secrets/cleanup.d.ts +0 -1
- package/dist/secrets/config.d.ts +0 -3
- package/dist/secrets/ephemeral-keys.d.ts +0 -3
- package/dist/secrets/pg-secret-store.d.ts +0 -3
- package/dist/secrets/rbac.d.ts +0 -6
- package/dist/secrets/secret-output-store.d.ts +0 -6
- package/dist/secrets/secret-resolver.d.ts +2 -6
- package/dist/secrets/token-manager.d.ts +0 -4
- package/dist/secrets/vault-secret-store.d.ts +0 -13
- package/dist/security/comment-handler.d.ts +0 -2
- package/dist/security/workflow-diff.d.ts +1 -1
- package/dist/server.js +7500 -12629
- package/dist/sources/source-manager.d.ts +0 -3
- package/dist/sources/source-store.d.ts +0 -9
- package/dist/sources/source-validator.d.ts +0 -3
- package/dist/stale-detector/all-terminal-runs.d.ts +8 -11
- package/dist/stale-detector/gate-deadline-detector.d.ts +14 -19
- package/dist/stale-detector/reboot-deadline-sweep.d.ts +7 -11
- package/dist/stale-detector/stale-dispatch-candidates.d.ts +13 -20
- package/dist/stale-detector/stale-run-detector.d.ts +74 -121
- package/dist/stale-detector/workflow-deadline-detector.d.ts +15 -43
- package/dist/standalone.js +7141 -11957
- package/dist/storage/blob-routes.d.ts +10 -19
- package/dist/storage/filesystem.d.ts +19 -29
- package/dist/storage/index.d.ts +2 -10
- package/dist/storage/key-discriminator.d.ts +8 -10
- package/dist/storage/loopback-guard.d.ts +27 -45
- package/dist/storage/s3.d.ts +25 -52
- package/dist/storage/sign-url.d.ts +7 -22
- package/dist/storage/types.d.ts +44 -70
- package/dist/webhook/event-log.d.ts +0 -2
- package/dist/webhook/generic-sources.d.ts +0 -21
- package/dist/webhook/ingest-admission.d.ts +0 -1
- package/dist/webhook/relay-buffer.d.ts +2 -2
- package/dist/webhook/verify-inbound.d.ts +0 -1
- package/dist/worker/in-memory-execution-tracker.d.ts +9 -31
- package/dist/worker/in-memory-job-queue.d.ts +32 -72
- package/dist/worker/peer-outbox.d.ts +5 -8
- package/dist/worker/reroute-dispatch.d.ts +4 -6
- package/dist/worker/static-agent-token-store.d.ts +6 -27
- package/dist/worker/worker-outbox-relay.d.ts +2 -2
- package/dist/worker/worker-status.d.ts +3 -20
- package/dist/ws/agent-api-registry.d.ts +8 -27
- package/dist/ws/agent-handler.d.ts +63 -110
- package/dist/ws/agent-heartbeat.d.ts +5 -12
- package/dist/ws/bringup-api.d.ts +31 -38
- package/dist/ws/dashboard-backends-handler.d.ts +12 -22
- package/dist/ws/dashboard-context-handler.d.ts +37 -80
- package/dist/ws/dashboard-diagnostics-handler.d.ts +8 -25
- package/dist/ws/dashboard-dispatch-guard.d.ts +3 -4
- package/dist/ws/dashboard-fleet-handler.d.ts +9 -13
- package/dist/ws/dashboard-fleet-write-handler.d.ts +7 -21
- package/dist/ws/dashboard-global-workflows-handler.d.ts +22 -44
- package/dist/ws/dashboard-registrations-handler.d.ts +10 -27
- package/dist/ws/dashboard-run-state-handler.d.ts +10 -13
- package/dist/ws/event-buffer.d.ts +3 -6
- package/dist/ws/execution-status-frame.d.ts +7 -10
- package/dist/ws/failure-messages.d.ts +9 -14
- package/dist/ws/fleet-agent-collector.d.ts +6 -12
- package/dist/ws/fleet-runs-on-all.d.ts +1 -6
- package/dist/ws/git-credential-relay.d.ts +12 -20
- package/dist/ws/inventory-api.d.ts +4 -5
- package/dist/ws/observer-registry.d.ts +14 -59
- package/dist/ws/ownership-gate.d.ts +1 -1
- package/dist/ws/platform-client.d.ts +21 -30
- package/dist/ws/replay-chunker.d.ts +7 -10
- package/dist/ws/server-options.d.ts +5 -9
- package/dist/ws/test-relay-handlers.d.ts +36 -60
- package/installer-image-digests.json +3 -3
- package/package.json +6 -5
- package/sbom.spdx.json +53 -53
- package/dist/__test-helpers__/fake-scaler-state-store.d.ts +0 -24
- package/dist/__test-helpers__/mock-db-query.d.ts +0 -129
- package/dist/__test-helpers__/mock-db.d.ts +0 -134
- package/dist/__test-helpers__/mock-ws.d.ts +0 -13
- package/dist/__test-helpers__/peer-mutual-auth.d.ts +0 -42
- package/dist/__test-helpers__/scratch-db.d.ts +0 -16
- package/dist/__test-helpers__/test-db.d.ts +0 -34
- package/dist/pipeline/dispatch-matched-workflow.test-helpers.d.ts +0 -121
|
@@ -1,34 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* no scoped secrets and none of the context's protection rules reached an
|
|
7
|
-
* internally-triggered job; it also dropped every non-static job on the floor.
|
|
8
|
-
* Routing through the one pipeline is what keeps a fourth such gap from
|
|
9
|
-
* appearing.
|
|
2
|
+
* Dispatches an internally-triggered workflow through the SHARED pipeline
|
|
3
|
+
* (`dispatchMatchedWorkflow`), never a bespoke path: a bespoke path resolves no
|
|
4
|
+
* bound contexts (no context vars, scoped secrets or protection rules) and drops
|
|
5
|
+
* every non-static job.
|
|
10
6
|
*/
|
|
11
7
|
import { z } from 'zod';
|
|
12
8
|
import type { LockFile, WorkflowDecision } from '@kici-dev/engine';
|
|
13
9
|
import { type ProcessingDeps } from './processor.js';
|
|
14
10
|
import type { ProviderBundle } from '../provider-registry.js';
|
|
15
11
|
/**
|
|
16
|
-
* The LIFECYCLE event names the orchestrator emits to itself.
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* one that is not a plain de-prefixing).
|
|
12
|
+
* The LIFECYCLE event names the orchestrator emits to itself. The `__` prefix
|
|
13
|
+
* keeps them from colliding with a user `kiciEvent()` name; each maps onto a
|
|
14
|
+
* canonical trigger-event type (`__schedule_fire` is not a plain de-prefixing).
|
|
20
15
|
*
|
|
21
|
-
* NOT
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
16
|
+
* NOT every orchestrator-minted event (the scaler manager mints two more under
|
|
17
|
+
* the other reserved prefix), and NOT the trusted set: two of these four are
|
|
18
|
+
* caused by a run and inherit its tier — trust classification reads
|
|
19
|
+
* `ORCHESTRATOR_MINTED_TRUSTED_EVENT_NAMES`.
|
|
25
20
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* not cover. The names are a protocol between those emitters, the router and
|
|
31
|
-
* this adapter, so a typo in any one of them silently stops matching.
|
|
21
|
+
* NOT yet the single source: `cron/cron-scheduler.ts`, `events/event-emitter.ts`
|
|
22
|
+
* and `events/event-router.ts` still spell the names inline. The names are a
|
|
23
|
+
* protocol between those emitters, the router and this adapter, so a typo in
|
|
24
|
+
* any one of them silently stops matching.
|
|
32
25
|
*/
|
|
33
26
|
export declare const InternalSystemEventName: z.ZodEnum<{
|
|
34
27
|
__job_complete: "__job_complete";
|
|
@@ -37,10 +30,9 @@ export declare const InternalSystemEventName: z.ZodEnum<{
|
|
|
37
30
|
__workflows_failed_batch: "__workflows_failed_batch";
|
|
38
31
|
}>;
|
|
39
32
|
/**
|
|
40
|
-
* Context for dispatching one internally-triggered workflow.
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* the consumer that defines the shape; the composition root imports it.
|
|
33
|
+
* Context for dispatching one internally-triggered workflow. Declared here, not
|
|
34
|
+
* in `orchestrator-core.ts`: the adapter defines the shape and the composition
|
|
35
|
+
* root imports it.
|
|
44
36
|
*/
|
|
45
37
|
export interface InternalEventDispatchContext {
|
|
46
38
|
event: {
|
|
@@ -54,49 +46,44 @@ export interface InternalEventDispatchContext {
|
|
|
54
46
|
providerType: 'github' | undefined;
|
|
55
47
|
/**
|
|
56
48
|
* Provider bundle for the acting repository, resolved by the composition root
|
|
57
|
-
* from the live registry
|
|
49
|
+
* from the live registry; it also carries the clone-token provider and the
|
|
50
|
+
* check-status poster.
|
|
58
51
|
*
|
|
59
52
|
* Required, not derived here: every dispatch site builds its clone URL as
|
|
60
53
|
* `bundle?.repoUrlBuilder?.buildCloneUrl(repoIdentifier) ?? ''`, and nothing
|
|
61
|
-
* downstream resolves a bundle from `deps.providerRegistry`.
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* carries the clone-token provider and the check-status poster.
|
|
54
|
+
* downstream resolves a bundle from `deps.providerRegistry`. `undefined`
|
|
55
|
+
* dispatches every job with an empty repo URL AND classifies the run as a
|
|
56
|
+
* local-working-tree dispatch (the source-pack build and the source-cache
|
|
57
|
+
* probe both gate on `!!ctx.bundle`), so no source tarball is produced and the
|
|
58
|
+
* agent clones `''`.
|
|
67
59
|
*
|
|
68
|
-
* Legitimately `undefined` when the event carries no routing key, or
|
|
69
|
-
* registry has no bundle for it
|
|
70
|
-
* rendered as an empty repo URL.
|
|
60
|
+
* Legitimately `undefined` when the event carries no routing key, or the
|
|
61
|
+
* registry has no bundle for it.
|
|
71
62
|
*/
|
|
72
63
|
bundle: ProviderBundle | undefined;
|
|
73
64
|
cronCommitSha: string;
|
|
74
65
|
/**
|
|
75
|
-
* The default branch
|
|
76
|
-
* when it was never captured.
|
|
66
|
+
* The registration's default branch, or `null` when never captured.
|
|
77
67
|
*
|
|
78
68
|
* A `__schedule_fire` run executes the default branch's lock file, so that
|
|
79
|
-
* branch IS the run's branch
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
69
|
+
* branch IS the run's branch for a context's branch restrictions. `null`
|
|
70
|
+
* presents no branch and the gate rejects with its named-cause verdict;
|
|
71
|
+
* nothing substitutes a value, because a branch nobody proved is worse than an
|
|
72
|
+
* honest refusal.
|
|
83
73
|
*/
|
|
84
74
|
registrationDefaultBranch: string | null;
|
|
85
75
|
/**
|
|
86
|
-
* The run that summoned this one through an invoke gate
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
* inheritance every other user `kiciEvent()` subscriber gets — instead of
|
|
92
|
-
* always falling back to isolated on a lookup that cannot succeed.
|
|
76
|
+
* The run that summoned this one through an invoke gate. Set ONLY by the
|
|
77
|
+
* invoke-gate summon path, whose synthesized event id matches no
|
|
78
|
+
* `kici_events` row; naming the emitting run directly lets the summoned run
|
|
79
|
+
* inherit its summoner's trust tier instead of falling back to isolated on a
|
|
80
|
+
* lookup that cannot succeed.
|
|
93
81
|
*/
|
|
94
82
|
summonedByRunId?: string;
|
|
95
83
|
/**
|
|
96
|
-
* Chain depth to stamp on the started run
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
* gate.
|
|
84
|
+
* Chain depth to stamp on the started run: unset (0) for a webhook-triggered
|
|
85
|
+
* run, the summoner's depth + 1 for an invoke-gate summon, so the chain-depth
|
|
86
|
+
* circuit breaker bounds recursion.
|
|
100
87
|
*/
|
|
101
88
|
chainDepth?: number;
|
|
102
89
|
}
|
|
@@ -118,19 +105,15 @@ export declare function deriveInternalEventIdentity(eventName: string): {
|
|
|
118
105
|
triggerEvent: string;
|
|
119
106
|
};
|
|
120
107
|
/**
|
|
121
|
-
* True when every tier the schema admits carries a rank.
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
* tier, so this can only ever be false if the two drift through a cast. It is
|
|
125
|
-
* exported so a test asserts it against the live `TrustTierSchema.options`
|
|
126
|
-
* rather than against a transcription of it — the check has to read the schema
|
|
127
|
-
* to be worth having.
|
|
108
|
+
* True when every tier the schema admits carries a rank. Only false if the two
|
|
109
|
+
* drift through a cast; exported so a test asserts it against the live
|
|
110
|
+
* `TrustTierSchema.options`, not a transcription of it.
|
|
128
111
|
*/
|
|
129
112
|
export declare function trustTierRanksCoverEverySchemaTier(): boolean;
|
|
130
113
|
/**
|
|
131
114
|
* Dispatch one matched workflow for an internal event through the shared
|
|
132
|
-
* pipeline. Returns the
|
|
133
|
-
*
|
|
115
|
+
* pipeline. Returns `null` when the decision names a workflow the lock file
|
|
116
|
+
* does not carry.
|
|
134
117
|
*/
|
|
135
118
|
export declare function dispatchInternalEventViaPipeline(decision: WorkflowDecision, lockFile: LockFile, ctx: InternalEventDispatchContext, deps: ProcessingDeps): Promise<{
|
|
136
119
|
runId: string;
|
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Invoke-gate executor.
|
|
3
|
-
*
|
|
4
|
-
* An invoke gate is a standard job whose only novel attribute is `invoke`: it
|
|
5
|
-
* never dispatches steps to an agent. When the gate becomes ready the
|
|
2
|
+
* Invoke-gate executor. An invoke gate is a standard job whose only novel
|
|
3
|
+
* attribute is `invoke`: it never dispatches steps to an agent. When ready, the
|
|
6
4
|
* orchestrator emits the gate's kici event at the source repo, matches the
|
|
7
5
|
* repo's opt-in subscribers, dispatches each as a normal in-repo run, and
|
|
8
6
|
* tracks each spawned run as a **proxy job** in the gate's own run.
|
|
9
7
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
8
|
+
* One orchestrator serves one org, so match-and-dispatch is synchronous and
|
|
9
|
+
* in-process through an injected `summon` callback that returns the spawned run
|
|
10
|
+
* ids. It ALSO persists `summoned_by_run_id` / `summoned_by_proxy_job` on each
|
|
11
|
+
* spawned run so proxy completion resolves if the run finalizes on another HA
|
|
12
|
+
* instance.
|
|
15
13
|
*
|
|
16
|
-
* The gate
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
14
|
+
* The gate is the aggregating graph node: downstream `needs` edges point at it,
|
|
15
|
+
* and its proxies are its fan-out children (`base_job_name` = the gate name). A
|
|
16
|
+
* zero-subscriber emit fails the gate by default; `optional: true` makes it a
|
|
17
|
+
* green skip.
|
|
20
18
|
*/
|
|
21
19
|
import { ExecutionJobStatus } from '@kici-dev/engine';
|
|
22
20
|
import type { LockInvoke, LockJob } from '@kici-dev/engine';
|
|
@@ -47,24 +45,20 @@ export declare function invokeParamsFromLockJob(lockJob: Pick<LockJob, 'invoke'
|
|
|
47
45
|
/** True when a lock job is an invoke gate (carries an `invoke` action). */
|
|
48
46
|
export declare function isInvokeGate(lockJob: Pick<LockJob, 'invoke'>): boolean;
|
|
49
47
|
/**
|
|
50
|
-
* A summon that was REFUSED, as opposed to one that matched nothing.
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* Throwing this makes the confusion unrepresentable: {@link runInvokeGate}
|
|
56
|
-
* fails the gate job with the reason, whatever order its own checks run in.
|
|
48
|
+
* A summon that was REFUSED, as opposed to one that matched nothing. An
|
|
49
|
+
* `optional: true` gate treats zero summoned runs as a green skip, so a refusal
|
|
50
|
+
* returned as `[]` would report success for declined work. Throwing this makes
|
|
51
|
+
* the confusion unrepresentable: {@link runInvokeGate} fails the gate job with
|
|
52
|
+
* the reason, whatever order its own checks run in.
|
|
57
53
|
*/
|
|
58
54
|
export declare class SummonRefusedError extends Error {
|
|
59
55
|
constructor(reason: string);
|
|
60
56
|
}
|
|
61
57
|
/** One source-repo run summoned by an invoke gate. */
|
|
62
58
|
export interface SummonedRun {
|
|
63
|
-
/** The spawned run's id. */
|
|
64
59
|
runId: string;
|
|
65
60
|
/** The source repo the run belongs to (`owner/repo`). */
|
|
66
61
|
repo: string;
|
|
67
|
-
/** The subscribing workflow's name. */
|
|
68
62
|
workflow: string;
|
|
69
63
|
}
|
|
70
64
|
/** Arguments to the injected `summon` callback. */
|
|
@@ -85,12 +79,9 @@ export interface InvokeGateDeps {
|
|
|
85
79
|
/**
|
|
86
80
|
* Match the source repo's subscribers to `event`, dispatch each as a normal
|
|
87
81
|
* in-repo run, and return the spawned run ids. Implemented at the composition
|
|
88
|
-
* root,
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
* gate may declare `optional`. A REFUSAL raises
|
|
92
|
-
* {@link SummonRefusedError} instead, so the two can never be read as the
|
|
93
|
-
* same thing.
|
|
82
|
+
* root, reusing the orchestrator's event match + trust-policy path. An empty
|
|
83
|
+
* array means no subscriber matched (a gate may declare that `optional`); a
|
|
84
|
+
* REFUSAL raises {@link SummonRefusedError} instead.
|
|
94
85
|
*/
|
|
95
86
|
summon: (args: SummonArgs) => Promise<SummonedRun[]>;
|
|
96
87
|
/** Max chain depth allowed for a summon (the circuit breaker's bound). */
|
|
@@ -123,21 +114,18 @@ export declare function aggregateGateStatus(proxyStatuses: readonly string[]): {
|
|
|
123
114
|
status?: ExecutionJobStatus;
|
|
124
115
|
};
|
|
125
116
|
/**
|
|
126
|
-
* The message a gate naming a reserved event fails with
|
|
127
|
-
*
|
|
128
|
-
* Exported so the gate executor and its test state the same string, and so the
|
|
129
|
-
* SDK-side error can be compared against it.
|
|
117
|
+
* The message a gate naming a reserved event fails with; exported so the
|
|
118
|
+
* executor, its test and the SDK-side error compare against one string.
|
|
130
119
|
*/
|
|
131
120
|
export declare function reservedEventMessage(event: string, prefix: string): string;
|
|
132
121
|
/** The message a require-by-default gate fails with when nothing subscribes. */
|
|
133
122
|
export declare function zeroSubscriberMessage(sourceRepo: string, event: string): string;
|
|
134
123
|
/**
|
|
135
|
-
* The proxy job name for a summoned run
|
|
136
|
-
* variant, and the summoned run id. The run id makes the name **unique per run**:
|
|
124
|
+
* The proxy job name for a summoned run. The run id makes it **unique per run**:
|
|
137
125
|
* two summoned runs with the same `repo`+`workflow` (duplicate registrations)
|
|
138
126
|
* would otherwise share one `job_name`, so the mirror's `job_name` lookup would
|
|
139
|
-
* resolve one proxy and leave the other hanging. The
|
|
140
|
-
*
|
|
127
|
+
* resolve one proxy and leave the other hanging. The graph label lives in
|
|
128
|
+
* `variant_label` (`repo:workflow`).
|
|
141
129
|
*/
|
|
142
130
|
export declare function proxyJobName(gateJobName: string, run: SummonedRun): string;
|
|
143
131
|
/**
|
|
@@ -155,10 +143,9 @@ export interface ReleaseInvokeGateDeps {
|
|
|
155
143
|
}
|
|
156
144
|
/**
|
|
157
145
|
* Release a ready invoke gate: swap its synthetic needs-pending row for a real
|
|
158
|
-
* `gate` job row, then run the
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
* post-registration nudge, so both go through one code path.
|
|
146
|
+
* `gate` job row, then run the executor with the source repo and chain depth
|
|
147
|
+
* (which bounds recursion) read from `execution_runs`. Shared by the
|
|
148
|
+
* needs-release path (`dispatchReadyJob`) and the root-gate post-registration nudge.
|
|
162
149
|
*/
|
|
163
150
|
export declare function releaseInvokeGate(deps: ReleaseInvokeGateDeps, runId: string, gateJobName: string, params: InvokeGateParams): Promise<void>;
|
|
164
151
|
//# sourceMappingURL=invoke-gate.d.ts.map
|
|
@@ -3,54 +3,41 @@
|
|
|
3
3
|
*
|
|
4
4
|
* A job binds an ordered list of contexts: the workflow-level names
|
|
5
5
|
* (`LockWorkflow.contexts`) first, then its own (`LockJob.contexts`). This
|
|
6
|
-
* module resolves that list
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* out of `dispatchMatchedWorkflow`, which must stay under the function-length cap.
|
|
6
|
+
* module resolves that list (dynamic elements via the agent's init job) and
|
|
7
|
+
* folds per-context secrets/variables last-wins, keeping that fold out of
|
|
8
|
+
* `dispatchMatchedWorkflow`, which must stay under the function-length cap.
|
|
10
9
|
*/
|
|
11
10
|
import { type Context, type HostFacts, type LockJob, type LockWorkflow } from '@kici-dev/engine';
|
|
12
11
|
import type { SecretResolverApi } from '../secrets/secret-resolver.js';
|
|
13
12
|
import type { VariableStore } from '../contexts/variable-store.js';
|
|
14
13
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* overwrites the list with the resolved name.
|
|
14
|
+
* Persisted bound-env placeholder for a dynamic element; the agent's init eval
|
|
15
|
+
* later overwrites it with the resolved name.
|
|
18
16
|
*/
|
|
19
17
|
export declare const DYNAMIC_ENV_PLACEHOLDER = "(dynamic)";
|
|
20
|
-
/** Ordered resolved context names plus whether any element still needs agent init. */
|
|
21
18
|
export interface ResolvedJobContexts {
|
|
22
19
|
/** Resolved static names, in order. */
|
|
23
20
|
names: string[];
|
|
24
|
-
/**
|
|
21
|
+
/** A dynamic element must be resolved by an agent init job. */
|
|
25
22
|
needsInit: boolean;
|
|
26
23
|
}
|
|
27
24
|
/** One bound-context element, as a lock job carries it. */
|
|
28
25
|
export type ContextRef = NonNullable<LockJob['contexts']>[number];
|
|
29
26
|
/**
|
|
30
|
-
* The ordered context elements a job binds:
|
|
31
|
-
*
|
|
32
|
-
* context wins a key collision, since later contexts override earlier ones.
|
|
27
|
+
* The ordered context elements a job binds: workflow-level names first, so a
|
|
28
|
+
* job-level context wins a key collision.
|
|
33
29
|
*
|
|
34
|
-
* A workflow-level name the job also binds statically is dropped
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* workflow-level context passes the same gates a job-level one does.
|
|
30
|
+
* A workflow-level name the job also binds statically is dropped, so each
|
|
31
|
+
* context is gated and resolved once, at the job's position. Every gating site
|
|
32
|
+
* reads through this function, so workflow-level contexts pass the same gates.
|
|
38
33
|
*/
|
|
39
34
|
export declare function effectiveContextRefs(workflow: Pick<LockWorkflow, 'contexts'>, job: Pick<LockJob, 'contexts'>): ContextRef[];
|
|
40
|
-
/**
|
|
41
|
-
* Resolve the ordered bound-context names from a lock job and its workflow. Static elements
|
|
42
|
-
* use their value verbatim; a dynamic element is resolved by the agent's init
|
|
43
|
-
* job and flags `needsInit`.
|
|
44
|
-
*/
|
|
35
|
+
/** Static elements use their value verbatim; a dynamic element flags `needsInit`. */
|
|
45
36
|
export declare function resolveJobContextNames(workflow: Pick<LockWorkflow, 'contexts'>, lockJob: Pick<LockJob, 'contexts'>): ResolvedJobContexts;
|
|
46
37
|
/**
|
|
47
|
-
* Build the ordered bound-context display list
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* orchestrator no longer resolves at dispatch) becomes the `(dynamic)`
|
|
51
|
-
* placeholder — so the persisted column reflects every declared slot in order.
|
|
52
|
-
* The deferred-init flow-back overwrites the placeholder once the agent
|
|
53
|
-
* resolves the name. Returns an empty array when the job binds no context.
|
|
38
|
+
* Build the ordered bound-context display list persisted at dispatch. Unlike
|
|
39
|
+
* {@link resolveJobContextNames}, a dynamic element becomes the `(dynamic)`
|
|
40
|
+
* placeholder rather than being dropped, so every declared slot is kept in order.
|
|
54
41
|
*/
|
|
55
42
|
export declare function buildJobContextDisplayNames(workflow: Pick<LockWorkflow, 'contexts'>, lockJob: Pick<LockJob, 'contexts'>): string[];
|
|
56
43
|
/** Merged secrets/variables across an ordered list of resolved contexts. */
|
|
@@ -60,14 +47,10 @@ export interface MultiEnvMergedData {
|
|
|
60
47
|
jobNamespacedSecrets?: Record<string, Record<string, string>>;
|
|
61
48
|
}
|
|
62
49
|
/**
|
|
63
|
-
* Resolve and fold variables + secrets across the
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* Secrets are also returned namespaced per context so qualified
|
|
68
|
-
* `<env>:<secret>` references still resolve. `entries` carries the matched
|
|
69
|
-
* `Context` for each name (in order); variables and secrets both resolve by the
|
|
70
|
-
* matched context's id, so a glob context contributes what its own row holds.
|
|
50
|
+
* Resolve and fold variables + secrets across the matched contexts, last-wins
|
|
51
|
+
* (longest-scope-path-wins within each context). Secrets are also returned
|
|
52
|
+
* namespaced per context so qualified `<env>:<secret>` references resolve. Both
|
|
53
|
+
* resolve by the matched row's id, so a glob context contributes its own row.
|
|
71
54
|
*/
|
|
72
55
|
export declare function resolveMultiEnvMergedData(args: {
|
|
73
56
|
deps: {
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* the newRunId can be returned synchronously in the WS response.
|
|
7
|
-
*
|
|
8
|
-
* This is intentionally separate from the automatic cron path which uses
|
|
9
|
-
* eventRouter fire-and-forget. The manual path needs request/response
|
|
10
|
-
* correlation to return the newRunId to the dashboard.
|
|
2
|
+
* Dispatches a new run for a cron-scheduled workflow triggered manually from
|
|
3
|
+
* the dashboard. It dispatches directly, not through the fire-and-forget
|
|
4
|
+
* `eventRouter.emit` the automatic cron path uses, so the WS response can
|
|
5
|
+
* return the newRunId synchronously.
|
|
11
6
|
*/
|
|
12
7
|
import type { LockScheduleTrigger, LockWorkflow, MaterializedJob } from '@kici-dev/engine';
|
|
13
8
|
import type { RerunDeps } from './rerun.js';
|
|
@@ -17,10 +12,9 @@ interface ManualScheduleDeps extends RerunDeps {
|
|
|
17
12
|
}
|
|
18
13
|
export declare function handleManualSchedule(registrationId: string, triggeredBy: string | null, triggeredByAgentLabel: string | null, deps: ManualScheduleDeps,
|
|
19
14
|
/**
|
|
20
|
-
* Platform-minted
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* same run instead of minting a second one.
|
|
15
|
+
* Platform-minted idempotency key, stable across an HA relay failover
|
|
16
|
+
* re-send: the first coordinator to claim it creates the run, and a re-send
|
|
17
|
+
* returns that same run.
|
|
24
18
|
*/
|
|
25
19
|
requestId: string): Promise<{
|
|
26
20
|
newRunId: string;
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* DB-backed needs-aware dispatch scheduler.
|
|
3
3
|
*
|
|
4
|
-
* Gates ALL needs edges (static
|
|
5
|
-
*
|
|
4
|
+
* Gates ALL needs edges (static and dynamic-group, either side) with
|
|
5
|
+
* event-driven scheduling instead of concurrent dispatch.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* zero recovery code on orchestrator restart.
|
|
7
|
+
* Pure DB, no in-memory state: every decision is a fresh query against
|
|
8
|
+
* execution_jobs + execution_job_needs, so a restart needs no recovery code.
|
|
10
9
|
*
|
|
11
|
-
* Each edge carries a `run_on`
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* is skipped. A downstream dispatches only when every edge is satisfied.
|
|
10
|
+
* Each edge carries a `run_on` set of upstream terminal statuses. An upstream
|
|
11
|
+
* status outside the set skips the downstream; a downstream dispatches only when
|
|
12
|
+
* every edge is satisfied.
|
|
15
13
|
*
|
|
16
14
|
* Entry points:
|
|
17
15
|
* - insertEdgesForRun: called at run start for static-to-static edges
|
|
@@ -32,12 +30,9 @@ export interface SchedulerResult {
|
|
|
32
30
|
reason?: string;
|
|
33
31
|
}
|
|
34
32
|
/**
|
|
35
|
-
* Check if ALL upstreams of a job are satisfied
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* { satisfied: true, action: 'skip', reason } when an upstream is terminal but
|
|
39
|
-
* its status is not in the edge's run_on set. Returns { satisfied: false } when
|
|
40
|
-
* any upstream is not yet terminal.
|
|
33
|
+
* Check if ALL upstreams of a job are satisfied: `satisfied: false` while any
|
|
34
|
+
* is non-terminal, `action: 'skip'` when a terminal status is outside its
|
|
35
|
+
* edge's run_on, otherwise `action: 'dispatch'`.
|
|
41
36
|
*/
|
|
42
37
|
export declare function checkAllUpstreamsSatisfied(db: Kysely<Database>, runId: string, jobName: string): Promise<{
|
|
43
38
|
satisfied: boolean;
|
|
@@ -47,28 +42,22 @@ export declare function checkAllUpstreamsSatisfied(db: Kysely<Database>, runId:
|
|
|
47
42
|
/**
|
|
48
43
|
* Insert dependency edges at run start for static-to-static needs.
|
|
49
44
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* child, so a downstream `needs: ['test']` waits for ALL children to terminate.
|
|
54
|
-
* Each materialized child likewise inherits the full upstream edge set under its
|
|
55
|
-
* own expanded name.
|
|
45
|
+
* An upstream base name `test` fanned into `test (a)` / `test (b)` yields one
|
|
46
|
+
* edge per child, so `needs: ['test']` waits for ALL children; each
|
|
47
|
+
* materialized child inherits the full upstream edge set under its expanded name.
|
|
56
48
|
*
|
|
57
|
-
* NeedsGroupEntry items
|
|
58
|
-
*
|
|
59
|
-
* keyed by expanded name.
|
|
49
|
+
* NeedsGroupEntry items wait for resolveGroupEdges. Root jobs (no needs, no
|
|
50
|
+
* dependsOnGroups) are marked needs_satisfied=true.
|
|
60
51
|
*/
|
|
61
52
|
export declare function insertEdgesForRun(db: Kysely<Database>, runId: string, jobs: readonly MaterializedJob[], expansionMap: ReadonlyMap<string, readonly string[]>): Promise<void>;
|
|
62
53
|
/**
|
|
63
54
|
* Resolve dynamic group edges after eval completion.
|
|
64
55
|
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* for dependents.
|
|
56
|
+
* Inserts one edge per (dependent, member); an empty group satisfies its
|
|
57
|
+
* dependents immediately.
|
|
68
58
|
*
|
|
69
|
-
* CRITICAL: dependentStaticJobs carries
|
|
70
|
-
*
|
|
71
|
-
* silently default to success-only.
|
|
59
|
+
* CRITICAL: dependentStaticJobs carries each NeedsGroupEntry's run_on set;
|
|
60
|
+
* without it every group edge silently defaults to success-only.
|
|
72
61
|
*/
|
|
73
62
|
export declare function resolveGroupEdges(db: Kysely<Database>, runId: string, groupName: string, memberJobNames: string[], dependentStaticJobs: Array<{
|
|
74
63
|
jobName: string;
|
|
@@ -77,33 +66,27 @@ export declare function resolveGroupEdges(db: Kysely<Database>, runId: string, g
|
|
|
77
66
|
/**
|
|
78
67
|
* Evaluate downstream jobs after an upstream reaches terminal state.
|
|
79
68
|
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
* 2. Otherwise, check if ALL upstreams are terminal and satisfied.
|
|
84
|
-
* 3. If all satisfied, mark needs_satisfied=true and return for dispatch.
|
|
69
|
+
* The core scheduler hook: a downstream whose edge's run_on excludes the
|
|
70
|
+
* completed status skips; one whose upstreams are all satisfied is claimed and
|
|
71
|
+
* returned for dispatch.
|
|
85
72
|
*/
|
|
86
73
|
export declare function evaluateDownstreams(db: Kysely<Database>, runId: string, completedJobName: string, completedStatus: string): Promise<SchedulerResult[]>;
|
|
87
74
|
/**
|
|
88
|
-
* Batch recompute needs_satisfied
|
|
89
|
-
*
|
|
90
|
-
* Returns scheduler results for any jobs that became ready.
|
|
75
|
+
* Batch recompute needs_satisfied, after group resolution and on restart
|
|
76
|
+
* recovery. Returns results for jobs that became ready.
|
|
91
77
|
*/
|
|
92
78
|
export declare function recomputeNeedsSatisfied(db: Kysely<Database>, runId: string, jobNames: string[]): Promise<SchedulerResult[]>;
|
|
93
79
|
/**
|
|
94
80
|
* Layer 3: defensive scheduler invariant check.
|
|
95
81
|
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
* Returns the names of stuck jobs (empty array = no violation).
|
|
82
|
+
* Returns stuck jobs: needs_satisfied=false, pending, every upstream terminal,
|
|
83
|
+
* and no group resolution pending.
|
|
99
84
|
*/
|
|
100
85
|
export declare function checkSchedulerInvariant(db: Kysely<Database>, runId: string): Promise<string[]>;
|
|
101
86
|
/**
|
|
102
|
-
* Failure-propagation cascade:
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
* downstream edges propagate (status not in run_on → the downstream skips and
|
|
106
|
-
* propagates further).
|
|
87
|
+
* Failure-propagation cascade: every transitive downstream to skip. At each hop
|
|
88
|
+
* the propagating job's own terminal status decides: outside an edge's run_on,
|
|
89
|
+
* the downstream skips and propagates further.
|
|
107
90
|
*/
|
|
108
91
|
export declare function getFailurePropagationTargets(db: Kysely<Database>, runId: string, failedJobName: string): Promise<string[]>;
|
|
109
92
|
//# sourceMappingURL=needs-scheduler.d.ts.map
|
|
@@ -1,32 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Pending workflow dispatch context store
|
|
3
|
-
* `pending_job_contexts
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
2
|
+
* Pending workflow dispatch context store, the workflow-level analogue of
|
|
3
|
+
* `pending_job_contexts`: persists a held workflow's serializable dispatch
|
|
4
|
+
* inputs so it can resume (reviewer approve, wait-timer expiry, concurrency
|
|
5
|
+
* slot free) by re-running `dispatchMatchedWorkflow`. The live `deps` and
|
|
6
|
+
* `bundle` are rebuilt on resume, never persisted.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* live orchestrator on resume.
|
|
11
|
-
*
|
|
12
|
-
* Writes to both an in-memory Map (fast read on the same process) and the DB
|
|
13
|
-
* (crash recovery + cross-orchestrator read), mirroring the pending-job store.
|
|
8
|
+
* Writes to an in-memory Map (same-process reads) and the DB (crash recovery,
|
|
9
|
+
* cross-orchestrator reads).
|
|
14
10
|
*/
|
|
15
11
|
import { type Kysely } from 'kysely';
|
|
16
12
|
import type { Database } from '../db/types.js';
|
|
17
13
|
import type { WorkflowDispatchContext } from './dispatch-matched-workflow.js';
|
|
18
14
|
import { type SerializableGlobalDispatchIdentity } from './global-dispatch-identity.js';
|
|
19
15
|
/**
|
|
20
|
-
* The
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* as JSON). A global run's identity is stored without its workflow bundle and
|
|
24
|
-
* credentials, which the resume re-derives.
|
|
16
|
+
* The JSON-safe subset of a `WorkflowDispatchContext`. A global run's identity
|
|
17
|
+
* is stored without its workflow bundle and credentials, which the resume
|
|
18
|
+
* re-derives.
|
|
25
19
|
*/
|
|
26
20
|
export type SerializableWorkflowDispatchInputs = Omit<WorkflowDispatchContext, 'deps' | 'bundle' | 'global'> & {
|
|
27
21
|
global?: SerializableGlobalDispatchIdentity;
|
|
28
22
|
};
|
|
29
|
-
/** Stored inputs as a read returns them. */
|
|
30
23
|
export type LoadedWorkflowDispatchInputs = SerializableWorkflowDispatchInputs & {
|
|
31
24
|
/**
|
|
32
25
|
* Set when the row's sealed secret fields could not be decrypted; the
|
|
@@ -34,23 +27,16 @@ export type LoadedWorkflowDispatchInputs = SerializableWorkflowDispatchInputs &
|
|
|
34
27
|
*/
|
|
35
28
|
secretsUnavailable?: string;
|
|
36
29
|
};
|
|
37
|
-
/** Extract the serializable inputs from a live dispatch context. */
|
|
38
30
|
export declare function toSerializableInputs(ctx: WorkflowDispatchContext): SerializableWorkflowDispatchInputs;
|
|
39
|
-
/** Persist the pending workflow context to the in-memory Map and the DB. */
|
|
40
31
|
export declare function storePendingWorkflowContext(db: Kysely<Database> | undefined, inputs: SerializableWorkflowDispatchInputs): Promise<void>;
|
|
41
|
-
/**
|
|
32
|
+
/** Memory first, then DB. */
|
|
42
33
|
export declare function loadPendingWorkflowContext(db: Kysely<Database> | undefined, runId: string): Promise<LoadedWorkflowDispatchInputs | null>;
|
|
43
|
-
/** Delete the pending workflow context from the in-memory Map and the DB. */
|
|
44
34
|
export declare function deletePendingWorkflowContext(db: Kysely<Database> | undefined, runId: string): Promise<void>;
|
|
45
35
|
/**
|
|
46
|
-
* Restore the in-memory Map from the DB on startup,
|
|
47
|
-
*
|
|
48
|
-
* Returns the number of restored contexts.
|
|
36
|
+
* Restore the in-memory Map from the DB on startup, mirroring
|
|
37
|
+
* `restorePendingJobContexts`. Returns the number restored.
|
|
49
38
|
*/
|
|
50
39
|
export declare function restorePendingWorkflowContexts(db: Kysely<Database>): Promise<number>;
|
|
51
|
-
/**
|
|
52
|
-
* Clear all entries from the in-memory pending workflow contexts Map.
|
|
53
|
-
* @internal Exported for testing only.
|
|
54
|
-
*/
|
|
40
|
+
/** @internal Exported for testing only. */
|
|
55
41
|
export declare function clearPendingWorkflowContextsMap(): void;
|
|
56
42
|
//# sourceMappingURL=pending-workflow-context.d.ts.map
|