@kici-dev/orchestrator 0.16.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 +39 -45
- 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 +33 -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 +7 -7
- 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 +4553 -6556
- 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 +251 -486
- 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 +21 -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 +21 -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 +19 -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 +45 -0
- 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/test-direct.d.ts +46 -0
- package/dist/routes/uploads.d.ts +14 -19
- 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 +5 -7
- package/dist/secrets/routing-key-scope.d.ts +1 -0
- 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 +1 -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 +49004 -53782
- 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 +9342 -13077
- 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 +26 -53
- package/dist/storage/sign-url.d.ts +7 -22
- package/dist/storage/types.d.ts +46 -72
- 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 +46 -63
- 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
- package/dist/scaler/container-spawn.d.ts +0 -28
|
@@ -1,38 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* In-memory rate limiter shared by AccessLogWriter and AuditLogger
|
|
3
|
-
* the per-action / per-actor caps
|
|
4
|
-
*
|
|
5
|
-
* reads).
|
|
2
|
+
* In-memory rate limiter shared by AccessLogWriter and AuditLogger, enforcing
|
|
3
|
+
* the engine's `POLICY_BY_ACTION` per-action / per-actor caps (one row per
|
|
4
|
+
* minute per actor for diagnostics-class reads).
|
|
6
5
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* permit() call we lazily prune entries older than 5 minutes so memory
|
|
11
|
-
* stays bounded for long-lived orchestrators.
|
|
6
|
+
* One Map of `${action}:${actorKey}` → last permit timestamp; a permit is
|
|
7
|
+
* granted iff `now - last >= floor(60_000 / perMinutePerActor)`. permit()
|
|
8
|
+
* lazily prunes entries older than 5 minutes so memory stays bounded.
|
|
12
9
|
*
|
|
13
|
-
*
|
|
14
|
-
* read-then-write below is atomic per call. No locking needed.
|
|
10
|
+
* The single-threaded event loop makes each read-then-write atomic; no locking.
|
|
15
11
|
*/
|
|
16
12
|
import type { AccessLogAction, AccessLogRateLimiter } from '@kici-dev/engine';
|
|
17
|
-
/**
|
|
18
|
-
* Implementation of `AccessLogRateLimiter` (engine interface). Constructed
|
|
19
|
-
* once per orchestrator process and injected into both
|
|
20
|
-
* `AccessLogWriter` and `AuditLogger`.
|
|
21
|
-
*/
|
|
13
|
+
/** One per orchestrator process, injected into `AccessLogWriter` and `AuditLogger`. */
|
|
22
14
|
export declare class SamplingRateLimiter implements AccessLogRateLimiter {
|
|
23
15
|
private readonly buckets;
|
|
24
16
|
private readonly now;
|
|
25
17
|
private lastPruneAt;
|
|
26
|
-
/**
|
|
27
|
-
* @param now Time source override (test seam). Defaults to `Date.now`.
|
|
28
|
-
*/
|
|
18
|
+
/** @param now Time source (test seam). */
|
|
29
19
|
constructor(now?: () => number);
|
|
30
20
|
permit(action: AccessLogAction, actorKey: string, perMinute: number): boolean;
|
|
31
21
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* 1-row/min/actor cap the map is naturally tiny (it grows by one entry
|
|
35
|
-
* per active actor and prunes after five minutes of silence).
|
|
22
|
+
* Called from `permit()`, so no background timer is needed. The map holds
|
|
23
|
+
* one entry per active actor, pruned after five minutes of silence.
|
|
36
24
|
*/
|
|
37
25
|
private maybePrune;
|
|
38
26
|
/** Test-only: introspect the bucket size. */
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { InitFailure } from '@kici-dev/engine';
|
|
2
2
|
/**
|
|
3
3
|
* Reject reason for a pending init / dynamic-eval job the agent reported as
|
|
4
|
-
* failed. Carries the optional structured initFailure
|
|
5
|
-
*
|
|
6
|
-
* instead of collapsing everything to a string.
|
|
4
|
+
* failed. Carries the agent's optional structured `job.status.data` initFailure
|
|
5
|
+
* so the catch records the correct category, not just a string.
|
|
7
6
|
*/
|
|
8
7
|
export declare class AgentJobFailedError extends Error {
|
|
9
8
|
readonly initFailure?: InitFailure | undefined;
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* for the same hash coalesce on the same Promise, avoiding duplicate
|
|
6
|
-
* compilation work.
|
|
7
|
-
*
|
|
8
|
-
* On success: all waiters resolve.
|
|
9
|
-
* On failure: all waiters reject with the build error.
|
|
10
|
-
* On timeout: all waiters reject with a timeout error.
|
|
2
|
+
* Coalesces concurrent build requests: one build per content hash, and later
|
|
3
|
+
* requests for the hash share its Promise. Every waiter resolves on success
|
|
4
|
+
* and rejects with the build error or the timeout error otherwise.
|
|
11
5
|
*/
|
|
12
6
|
export declare class BuildCoordinator {
|
|
13
7
|
private readonly inFlight;
|
|
@@ -15,28 +9,11 @@ export declare class BuildCoordinator {
|
|
|
15
9
|
constructor(options?: {
|
|
16
10
|
timeoutMs?: number;
|
|
17
11
|
});
|
|
18
|
-
/**
|
|
19
|
-
* Ensure a build is running for the given content hash.
|
|
20
|
-
*
|
|
21
|
-
* If already in-flight, returns the existing promise (coalescing).
|
|
22
|
-
* If not, calls triggerBuild() and tracks the promise.
|
|
23
|
-
*
|
|
24
|
-
* @param contentHash - The content hash identifying the bundle to build
|
|
25
|
-
* @param triggerBuild - Async function that performs the actual build
|
|
26
|
-
*/
|
|
12
|
+
/** Return the in-flight build for `contentHash`, or start one via triggerBuild. */
|
|
27
13
|
ensureBuild(contentHash: string, triggerBuild: () => Promise<void>): Promise<void>;
|
|
28
|
-
/**
|
|
29
|
-
* Check if a build is currently in-flight for a content hash.
|
|
30
|
-
*/
|
|
31
14
|
isBuilding(contentHash: string): boolean;
|
|
32
|
-
/**
|
|
33
|
-
* Get the number of in-flight builds (for metrics/debugging).
|
|
34
|
-
*/
|
|
15
|
+
/** For metrics / debugging. */
|
|
35
16
|
getInFlightCount(): number;
|
|
36
|
-
/**
|
|
37
|
-
* Run triggerBuild with a timeout. Rejects with a descriptive
|
|
38
|
-
* error if the build exceeds timeoutMs.
|
|
39
|
-
*/
|
|
40
17
|
private runWithTimeout;
|
|
41
18
|
}
|
|
42
19
|
//# sourceMappingURL=build-coordinator.d.ts.map
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* Holds a build job's success until the cache publish its agent reported just
|
|
3
|
+
* before it has finished.
|
|
4
4
|
*
|
|
5
|
-
* A build agent sends `cache.upload.complete
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
5
|
+
* A build agent sends `cache.upload.complete`, then moments later the terminal
|
|
6
|
+
* `job.status success`. The agent WebSocket handler runs frames concurrently, so
|
|
7
|
+
* without this record the success can release the jobs waiting on the build while
|
|
8
|
+
* the pointer naming the uploaded tarball is still being written, and they
|
|
9
|
+
* dispatch without the cache URL.
|
|
10
10
|
*
|
|
11
|
-
* The upload frame registers here before its first `await
|
|
12
|
-
* handler in wire order, so the registration
|
|
13
|
-
*
|
|
11
|
+
* The upload frame registers here before its first `await`; frames enter the
|
|
12
|
+
* handler in wire order, so the registration exists when the success frame is
|
|
13
|
+
* handled. The success then waits, bounded by the org's
|
|
14
14
|
* `cache_upload_settle_timeout_ms` (cluster default
|
|
15
15
|
* `KICI_CACHE_UPLOAD_SETTLE_TIMEOUT_MS`).
|
|
16
16
|
*/
|
|
@@ -37,7 +37,7 @@ export declare class InFlightCacheUploads {
|
|
|
37
37
|
/** Register one publish for `jobId`; the returned function settles it (idempotent). */
|
|
38
38
|
begin(jobId: string): () => void;
|
|
39
39
|
has(jobId: string): boolean;
|
|
40
|
-
/**
|
|
40
|
+
/** Jobs with a publish in flight. */
|
|
41
41
|
get size(): number;
|
|
42
42
|
/**
|
|
43
43
|
* Wait for every publish registered for `jobId` at call time, bounded by
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Dependency
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* resolving lockfileHash + platform + arch to that hash. Shared CacheStorage
|
|
6
|
-
* backend with SourceCache (same S3 bucket). Refreshes TTL on reads
|
|
7
|
-
* (touch-on-read).
|
|
2
|
+
* Dependency cache over CacheStorage (the same S3 bucket as SourceCache).
|
|
3
|
+
* Tarballs live under their own content hash, with a small pointer resolving
|
|
4
|
+
* lockfileHash + platform + arch to it. Reads refresh TTL (touch-on-read).
|
|
8
5
|
*
|
|
9
6
|
* Keys: `deps/{platform}-{arch}/{depsHash}.tar.gz` (immutable) and
|
|
10
7
|
* `deps/{platform}-{arch}/{lockfileHash}.hash` (the pointer).
|
|
@@ -12,17 +9,14 @@
|
|
|
12
9
|
import type { CacheStorage } from '../storage/types.js';
|
|
13
10
|
import type { ClusterSettingsReader } from '../cluster/cluster-settings-reader.js';
|
|
14
11
|
/**
|
|
15
|
-
* Cache key for a dependency tarball, addressed by
|
|
16
|
-
*
|
|
12
|
+
* Cache key for a dependency tarball, addressed by its OWN content hash:
|
|
13
|
+
* `deps/{platform}-{arch}/{depsHash}.tar.gz`.
|
|
17
14
|
*
|
|
18
|
-
* Content-addressing
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* verification durably. Naming the object by its own hash means every pair a
|
|
24
|
-
* reader can observe is self-consistent, and the bytes at a given key can never
|
|
25
|
-
* change after a URL is signed for it.
|
|
15
|
+
* Content-addressing makes a mismatched pair unrepresentable. Under a
|
|
16
|
+
* lockfile-derived name, concurrent builders sharing lockfile + platform + arch
|
|
17
|
+
* could leave one's `.tar.gz` and the other's `.hash`, and the reader failed
|
|
18
|
+
* verification durably. Named by its own hash, every observable pair is
|
|
19
|
+
* self-consistent and a key's bytes never change after a URL is signed for it.
|
|
26
20
|
*/
|
|
27
21
|
export declare function depTarballKey(depsHash: string, platform: string, arch: string): string;
|
|
28
22
|
/**
|
|
@@ -30,17 +24,14 @@ export declare function depTarballKey(depsHash: string, platform: string, arch:
|
|
|
30
24
|
* tarball built from it: `deps/{platform}-{arch}/{lockfileHash}.hash`, or
|
|
31
25
|
* `…/{lockfileHash}-{siblingsDigest}.hash` when the lock carries one.
|
|
32
26
|
*
|
|
33
|
-
* `siblingsDigest` is
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* lock with no in-repo sibling carries no digest and keys exactly as before, so
|
|
38
|
-
* existing pointers stay live.
|
|
27
|
+
* `siblingsDigest` is keyed because the tarball carries in-repo `workspace:`
|
|
28
|
+
* siblings WITH their built output, and editing a sibling moves no lock file —
|
|
29
|
+
* a `lockfileHash`-only key restored a stale sibling build over the fresh clone.
|
|
30
|
+
* A lock with no in-repo sibling carries no digest, so existing pointers stay live.
|
|
39
31
|
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* and both tarballs remain valid and fetchable.
|
|
32
|
+
* The one mutable object in the scheme. A write replaces the pointer wholesale
|
|
33
|
+
* (never half-written), so racing builders at worst leave whichever landed
|
|
34
|
+
* last, and both tarballs stay valid and fetchable.
|
|
44
35
|
*/
|
|
45
36
|
export declare function depPointerKey(lockfileHash: string, platform: string, arch: string, siblingsDigest?: string): string;
|
|
46
37
|
export declare class DepCache {
|
|
@@ -57,59 +48,40 @@ export declare class DepCache {
|
|
|
57
48
|
clusterSettings?: ClusterSettingsReader;
|
|
58
49
|
});
|
|
59
50
|
/**
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
* its own configured TTL. Passed to read/expiry operations so an operator's
|
|
64
|
-
* `cache_ttl_days` change takes effect on the next lookup.
|
|
51
|
+
* Per-operation TTL override (ms) from `cluster_settings.cache_ttl_days`, so
|
|
52
|
+
* an operator's change takes effect on the next lookup. `undefined` when no
|
|
53
|
+
* reader is wired, so the backend uses its own configured TTL.
|
|
65
54
|
*/
|
|
66
55
|
private resolveTtlMsOverride;
|
|
67
|
-
/**
|
|
68
|
-
* Resolve a lockfile to the content hash of the tarball built from it, or
|
|
69
|
-
* null when no pointer exists. The single place the indirection is read.
|
|
70
|
-
*/
|
|
56
|
+
/** Lockfile → tarball content hash, or null when no pointer exists. */
|
|
71
57
|
private resolvePointer;
|
|
72
58
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
* Both halves must be present: a pointer whose tarball has aged out is a miss,
|
|
76
|
-
* not a hit, or the caller skips a rebuild and dispatches a URL that 404s.
|
|
59
|
+
* Both halves must be present: a pointer whose tarball aged out is a miss, or
|
|
60
|
+
* the caller skips a rebuild and dispatches a URL that 404s.
|
|
77
61
|
*/
|
|
78
62
|
has(lockfileHash: string, platform: string, arch: string, siblingsDigest?: string): Promise<boolean>;
|
|
79
|
-
/**
|
|
80
|
-
* Get a pre-signed download URL for the dep tarball (for agent delivery).
|
|
81
|
-
* Refreshes TTL on hit.
|
|
82
|
-
*/
|
|
63
|
+
/** Pre-signed download URL for agent delivery. Refreshes TTL on hit. */
|
|
83
64
|
getUrl(lockfileHash: string, platform: string, arch: string, siblingsDigest?: string): Promise<string | null>;
|
|
84
65
|
/**
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
* Returns null on cache miss — including an entry with no pointer, which is
|
|
88
|
-
* unverifiable and so is deliberately not served.
|
|
66
|
+
* Pre-signed download URL plus tarball content hash; null on a miss,
|
|
67
|
+
* including an entry with no pointer (unverifiable, so never served).
|
|
89
68
|
*/
|
|
90
69
|
getUrlAndHash(lockfileHash: string, platform: string, arch: string, siblingsDigest?: string): Promise<{
|
|
91
70
|
url: string;
|
|
92
71
|
hash?: string;
|
|
93
72
|
} | null>;
|
|
94
|
-
/**
|
|
95
|
-
* Get a pre-signed upload URL for direct agent-to-S3 upload.
|
|
96
|
-
*/
|
|
73
|
+
/** Pre-signed URL for direct agent-to-S3 upload. */
|
|
97
74
|
getUploadUrl(depsHash: string, platform: string, arch: string): Promise<string>;
|
|
98
75
|
/**
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
* Called only after the agent confirms its upload completed. Publishing before
|
|
102
|
-
* the bytes land would let a reader follow the pointer to a missing object.
|
|
76
|
+
* Make an uploaded tarball discoverable by lockfile. Called only after the
|
|
77
|
+
* agent confirms its upload, or a reader could follow the pointer to nothing.
|
|
103
78
|
*/
|
|
104
79
|
publishPointer(lockfileHash: string, platform: string, arch: string, depsHash: string, siblingsDigest?: string): Promise<void>;
|
|
105
|
-
/**
|
|
106
|
-
* Store a dep tarball in cache.
|
|
107
|
-
* Throws if tarball exceeds max size (per user decision).
|
|
108
|
-
*/
|
|
80
|
+
/** Throws when the tarball exceeds the max size. */
|
|
109
81
|
store(lockfileHash: string, platform: string, arch: string, tarballData: Buffer): Promise<void>;
|
|
110
82
|
/**
|
|
111
|
-
* Compute SHA-256 hash of a tarball buffer
|
|
112
|
-
*
|
|
83
|
+
* Compute SHA-256 hash of a tarball buffer: the `depsHash` that `store()`
|
|
84
|
+
* keys and logs the tarball under.
|
|
113
85
|
*/
|
|
114
86
|
static computeHash(data: Buffer): string;
|
|
115
87
|
/** Remove a dep tarball and its pointer from cache. */
|
|
@@ -1,45 +1,37 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Server-side record of the user-cache namespacing for each dispatched job.
|
|
3
3
|
*
|
|
4
|
-
* The
|
|
5
|
-
*
|
|
6
|
-
* `
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* tracker is that store: a wire `cache.user.*` message can name a `jobId`, but it
|
|
10
|
-
* can never influence the org/repo/scope the orchestrator resolves for it.
|
|
4
|
+
* The orchestrator decides `{orgId, repoId, cacheRefScope, runId}` at dispatch
|
|
5
|
+
* time (lifted onto `job.dispatch`). The agent's `cache.user.*` requests carry
|
|
6
|
+
* ONLY `jobId` + `key`, so the WS handler resolves the namespace from this
|
|
7
|
+
* trusted store: a wire message can name a `jobId` but never influence the
|
|
8
|
+
* org/repo/scope resolved for it.
|
|
11
9
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
10
|
+
* Written at dispatch, read on every `cache.user.*` request, deleted when the
|
|
11
|
+
* job completes or its agent disconnects (mirroring the dispatcher's per-job
|
|
12
|
+
* cleanup) so it cannot leak.
|
|
15
13
|
*/
|
|
16
14
|
import type { CacheRefScope } from '@kici-dev/engine';
|
|
17
|
-
/** Cache namespacing recorded for a dispatched job. */
|
|
18
15
|
export interface DispatchCacheRef {
|
|
19
16
|
/** Org that owns the run — the per-tenant cache isolation boundary. Absent for sourceless deploys. */
|
|
20
17
|
orgId?: string;
|
|
21
|
-
/**
|
|
18
|
+
/** E.g. "owner/repo" — second namespacing level. Absent for sourceless deploys. */
|
|
22
19
|
repoId?: string;
|
|
23
|
-
/**
|
|
20
|
+
/** `shared` (trusted ref) or `isolated` (untrusted ref, per-run scope). */
|
|
24
21
|
cacheRefScope?: CacheRefScope;
|
|
25
|
-
/**
|
|
22
|
+
/** The per-run isolation namespace for `isolated`-scope writes. */
|
|
26
23
|
runId: string;
|
|
27
24
|
}
|
|
28
|
-
/**
|
|
29
|
-
* In-memory `jobId -> DispatchCacheRef` map populated at dispatch time and
|
|
30
|
-
* consumed by the agent WS handler to resolve a `UserCacheRef` server-side.
|
|
31
|
-
*/
|
|
32
25
|
export declare class DispatchCacheRefTracker {
|
|
33
26
|
private readonly refs;
|
|
34
|
-
/** Record the cache namespacing for a dispatched job. */
|
|
35
27
|
record(jobId: string, ref: DispatchCacheRef): void;
|
|
36
|
-
/**
|
|
28
|
+
/** `undefined` if the job was never dispatched or is already cleaned up. */
|
|
37
29
|
get(jobId: string): DispatchCacheRef | undefined;
|
|
38
|
-
/**
|
|
30
|
+
/** On completion or agent disconnect. */
|
|
39
31
|
delete(jobId: string): void;
|
|
40
|
-
/**
|
|
32
|
+
/** Test/teardown helper. */
|
|
41
33
|
clear(): void;
|
|
42
|
-
/**
|
|
34
|
+
/** For leak assertions in tests. */
|
|
43
35
|
get size(): number;
|
|
44
36
|
}
|
|
45
37
|
//# sourceMappingURL=dispatch-cache-ref-tracker.d.ts.map
|
|
@@ -3,47 +3,41 @@
|
|
|
3
3
|
*
|
|
4
4
|
* **This cache only helps webhook redelivery and same-input re-deliveries.** Its
|
|
5
5
|
* key pins the source commit and a digest of the whole round input, and every
|
|
6
|
-
* real push carries a new source SHA
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* on a healthy cluster is the expected shape, not a defect.
|
|
6
|
+
* real push carries a new source SHA, so two pushes get two rounds by design. It
|
|
7
|
+
* is a duplicate-delivery guard, not a steady-state optimization: sizing it up
|
|
8
|
+
* buys nothing, and a hit rate near zero on a healthy cluster is expected.
|
|
10
9
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* branch-name escape hatch.
|
|
10
|
+
* Deliberately no TTL: a round verdict is a pure function of its inputs, and
|
|
11
|
+
* {@link globalEvalRoundCacheKey} covers all of them, so an entry cannot go stale
|
|
12
|
+
* within its key — the content-addressable argument of the lock-file and content
|
|
13
|
+
* caches, without their branch-name escape hatch.
|
|
16
14
|
*/
|
|
17
15
|
import type { GlobalEvalRoundResult } from '@kici-dev/engine';
|
|
18
16
|
/**
|
|
19
17
|
* Key one round over **every input its verdict depends on**.
|
|
20
18
|
*
|
|
21
|
-
* The
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* reason `groupCandidates` keeps it in the group key — it selects the provider
|
|
19
|
+
* The SHAs alone would give wrong answers, not just missed hits.
|
|
20
|
+
* `createFilterContext` and `buildGeneratorContext` both receive the whole event,
|
|
21
|
+
* so a filter can branch on `event.type`, `targetBranch`, `changedFiles`, or
|
|
22
|
+
* anything in the raw payload. A push to `main` at commit X and a pull-request
|
|
23
|
+
* synchronize whose head is X share every SHA yet deserve different verdicts
|
|
24
|
+
* (different events, changed files computed over different ranges); two branches
|
|
25
|
+
* at one commit collide the same way. `workflowRoutingKey` is in the key for the
|
|
26
|
+
* reason `groupCandidates` keeps it in the group key: it selects the provider
|
|
30
27
|
* bundle that mints the clone credentials.
|
|
31
28
|
*
|
|
32
|
-
* `sourceRepoIdentifier`
|
|
33
|
-
*
|
|
34
|
-
* source repo, so the event digest covers it too — but keying it explicitly
|
|
35
|
-
* makes that coverage structural rather than incidental: an event shape that
|
|
29
|
+
* `sourceRepoIdentifier` sits next to `sourceSha`. The event digest covers it
|
|
30
|
+
* too, but keying it explicitly makes that structural: an event shape that
|
|
36
31
|
* stopped carrying the source repo could otherwise collide two repos' rounds.
|
|
37
32
|
*
|
|
38
|
-
* The candidate list and the event
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* than a wrong verdict.
|
|
33
|
+
* The candidate list and the event enter as a SHA-256 digest of their JSON, so
|
|
34
|
+
* the key stays bounded. The same code rebuilds both from the same delivery, so a
|
|
35
|
+
* genuine redelivery reproduces the digest; anything else is a miss, which costs
|
|
36
|
+
* a round rather than a wrong verdict.
|
|
43
37
|
*
|
|
44
|
-
* Returns `null` when the inputs cannot be serialized
|
|
45
|
-
*
|
|
46
|
-
*
|
|
38
|
+
* Returns `null` when the inputs cannot be serialized: a round is never keyed on
|
|
39
|
+
* a partial input, which is how a cache starts answering questions it was not
|
|
40
|
+
* asked.
|
|
47
41
|
*/
|
|
48
42
|
export declare function globalEvalRoundCacheKey(args: {
|
|
49
43
|
workflowRepoIdentifier: string;
|
|
@@ -62,18 +56,16 @@ export declare function globalEvalRoundCacheKey(args: {
|
|
|
62
56
|
* An agent-side budget breach reports `success` with the affected candidates
|
|
63
57
|
* marked indeterminate — the whole round on a round-budget breach, one workflow
|
|
64
58
|
* on a candidate-budget breach. Caching either turns one slow round into a
|
|
65
|
-
* permanently replayed failure for the
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
* read so a stored breach short-circuits that too.
|
|
59
|
+
* permanently replayed failure for the key: a webhook redelivery (exactly when an
|
|
60
|
+
* operator retries) would be served the stored failure, and the round's own retry
|
|
61
|
+
* sits behind this cache read, so it short-circuits too.
|
|
69
62
|
*
|
|
70
|
-
* Requiring EVERY candidate
|
|
71
|
-
*
|
|
72
|
-
* easy to state: nothing a redelivery replays was ever undecided.
|
|
63
|
+
* Requiring EVERY candidate decided costs almost no hit rate (indeterminate is the
|
|
64
|
+
* exceptional path) and guarantees nothing a redelivery replays was undecided.
|
|
73
65
|
*
|
|
74
|
-
* An empty candidate list is not cacheable either
|
|
75
|
-
*
|
|
76
|
-
*
|
|
66
|
+
* An empty candidate list is not cacheable either: for a non-empty group every
|
|
67
|
+
* candidate is about to be recorded as "no verdict", the same failure by another
|
|
68
|
+
* route.
|
|
77
69
|
*/
|
|
78
70
|
export declare function isCacheableRoundResult(result: GlobalEvalRoundResult): boolean;
|
|
79
71
|
export declare class GlobalEvalRoundCache {
|
|
@@ -85,7 +77,7 @@ export declare class GlobalEvalRoundCache {
|
|
|
85
77
|
});
|
|
86
78
|
get(key: string): GlobalEvalRoundResult | undefined;
|
|
87
79
|
set(key: string, value: GlobalEvalRoundResult): void;
|
|
88
|
-
/**
|
|
80
|
+
/** For metrics and debugging. */
|
|
89
81
|
stats(): {
|
|
90
82
|
hits: number;
|
|
91
83
|
misses: number;
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* The orchestrator dispatches a build job and waits for the build agent to
|
|
5
|
-
* finish before retrieving cache URLs and dispatching execution jobs. The
|
|
6
|
-
* underlying tracker logic lives in `PendingTracker<void>`; this subclass
|
|
7
|
-
* just wires the build-specific logger prefix and disconnect error.
|
|
2
|
+
* Awaits a build job in the build-then-execute pipeline, before cache URLs are
|
|
3
|
+
* retrieved and execution jobs dispatched.
|
|
8
4
|
*/
|
|
9
5
|
import { PendingTracker } from './pending-tracker.js';
|
|
10
6
|
export declare class PendingBuildTracker extends PendingTracker<void> {
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* The orchestrator dispatches a dynamic eval job for runtime job generation and
|
|
5
|
-
* waits for the agent to evaluate the DynamicJobFn and return the generated
|
|
6
|
-
* `LockJob[]` array. The underlying tracker logic lives in
|
|
7
|
-
* `PendingTracker<LockJob[]>`; this subclass wires the dynamic-eval-specific
|
|
8
|
-
* logger prefix and disconnect error.
|
|
2
|
+
* Awaits the `LockJob[]` an agent returns after evaluating a DynamicJobFn
|
|
3
|
+
* (runtime job generation). Logic lives in `PendingTracker`.
|
|
9
4
|
*/
|
|
10
5
|
import type { LockJob } from '@kici-dev/engine';
|
|
11
6
|
import { PendingTracker } from './pending-tracker.js';
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Pending tracker for the Tier-2 global eval round.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* underlying tracker logic lives in `PendingTracker<GlobalEvalRoundResult>`;
|
|
7
|
-
* this subclass wires the round-specific logger prefix and disconnect error.
|
|
4
|
+
* One round job per (event × workflow repo) returns a verdict per candidate
|
|
5
|
+
* workflow.
|
|
8
6
|
*
|
|
9
7
|
* Unlike the dynamic-eval and init trackers, this round runs BEFORE any run row
|
|
10
|
-
* exists: its
|
|
11
|
-
*
|
|
8
|
+
* exists: its purpose is to decide which global workflows produce a run at all,
|
|
9
|
+
* so creating one up-front would defeat it.
|
|
12
10
|
*/
|
|
13
11
|
import { type GlobalEvalRoundResult } from '@kici-dev/engine';
|
|
14
12
|
import { PendingTracker } from './pending-tracker.js';
|
|
@@ -17,12 +15,11 @@ import { PendingTracker } from './pending-tracker.js';
|
|
|
17
15
|
* the tracker.
|
|
18
16
|
*
|
|
19
17
|
* **This is the one place the round's wire payload is validated.** The status
|
|
20
|
-
* message's `data`
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* across every consumer.
|
|
18
|
+
* message's `data` is `z.record(z.string(), z.unknown())`, so nothing upstream
|
|
19
|
+
* checks `globalEvalResult` against its schema, and any agent that owns the round
|
|
20
|
+
* job can send an arbitrary value — a cast at the message handler would be an
|
|
21
|
+
* unchecked type assertion. Parsing here keeps the "typed but unvalidated"
|
|
22
|
+
* boundary at one named function instead of every consumer.
|
|
26
23
|
*
|
|
27
24
|
* The parsed value is widened back to {@link GlobalEvalRoundResult}: the schema
|
|
28
25
|
* is deliberately loose about `jobs` (the lock-job shape has no Zod mirror), and
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* The orchestrator dispatches an init job for dynamic context resolution
|
|
5
|
-
* and waits for the agent to return the resolved field values
|
|
6
|
-
* (contextNames, env, concurrencyGroup). The underlying tracker logic lives
|
|
7
|
-
* in `PendingTracker<InitResult>`; this subclass wires the init-specific
|
|
8
|
-
* logger prefix and disconnect error.
|
|
2
|
+
* Awaits an init job (dynamic context resolution) in the init-then-execute
|
|
3
|
+
* pipeline until the agent returns the resolved field values.
|
|
9
4
|
*/
|
|
10
5
|
import { PendingTracker } from './pending-tracker.js';
|
|
11
6
|
export interface InitResult {
|
|
@@ -14,27 +9,21 @@ export interface InitResult {
|
|
|
14
9
|
env?: Record<string, string>;
|
|
15
10
|
concurrencyGroup?: string;
|
|
16
11
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
12
|
+
* Matrix combinations of a dynamic-function matrix, which dispatch
|
|
13
|
+
* re-materializes into N execution jobs.
|
|
19
14
|
*/
|
|
20
15
|
matrixValues?: Array<Record<string, string | undefined>>;
|
|
21
16
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* Optional on purpose: an agent that predates the filter never sends it, so
|
|
27
|
-
* absence means "no verdict was reported" and dispatch proceeds — only an
|
|
28
|
-
* explicit `false` suppresses.
|
|
17
|
+
* The workflow-level `filter` verdict, when asked; `false` suppresses the
|
|
18
|
+
* job. Optional because an agent predating the filter never sends it: absence
|
|
19
|
+
* means "no verdict" and dispatch proceeds — only an explicit `false`
|
|
20
|
+
* suppresses.
|
|
29
21
|
*/
|
|
30
22
|
filterPassed?: boolean;
|
|
31
23
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* Optional on purpose: an agent that predates deferred paths never sends it,
|
|
37
|
-
* so absence means "no verdict" and dispatch proceeds.
|
|
24
|
+
* The deferred `paths` verdict, when asked; `false` (the clone diff matched
|
|
25
|
+
* none) suppresses the job. Optional because an agent predating deferred
|
|
26
|
+
* paths never sends it: absence means "no verdict" and dispatch proceeds.
|
|
38
27
|
*/
|
|
39
28
|
pathsPassed?: boolean;
|
|
40
29
|
}
|