@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
package/dist/storage/types.d.ts
CHANGED
|
@@ -1,44 +1,33 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Pluggable cache storage for the orchestrator (compiled workflow bundles,
|
|
3
|
+
* etc.). Implementations handle TTL-based expiry via lastAccessedAt.
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* must handle TTL-based expiry via lastAccessedAt timestamps.
|
|
7
|
-
*
|
|
8
|
-
* Backends:
|
|
9
|
-
* - `S3CacheStorage` for production / multi-host deployments
|
|
10
|
-
* - `FilesystemCacheStorage` for single-host / test sandboxes
|
|
11
|
-
*/
|
|
12
|
-
/**
|
|
13
|
-
* Metadata tracked alongside each cached item.
|
|
14
|
-
* Used for TTL-based expiry (based on lastAccessedAt).
|
|
5
|
+
* Backends: `S3CacheStorage` (production / multi-host) and
|
|
6
|
+
* `FilesystemCacheStorage` (single-host / test sandboxes).
|
|
15
7
|
*/
|
|
8
|
+
/** Metadata tracked alongside each cached item; drives TTL-based expiry. */
|
|
16
9
|
export interface CacheMetadata {
|
|
17
|
-
/** ISO timestamp of
|
|
10
|
+
/** ISO timestamp of the first store. */
|
|
18
11
|
createdAt: string;
|
|
19
|
-
/** ISO timestamp of
|
|
12
|
+
/** ISO timestamp of the last access (read or touch). */
|
|
20
13
|
lastAccessedAt: string;
|
|
21
14
|
}
|
|
22
15
|
/**
|
|
23
|
-
* Pluggable cache storage
|
|
24
|
-
*
|
|
25
|
-
* All operations are async. Implementations must handle TTL-based expiry:
|
|
26
|
-
* an item is considered expired when (now - lastAccessedAt) > ttlMs.
|
|
27
|
-
* Expired items are cleaned up lazily on access.
|
|
16
|
+
* Pluggable cache storage. An item is expired when
|
|
17
|
+
* (now - lastAccessedAt) > ttlMs; expired items are cleaned up lazily on access.
|
|
28
18
|
*/
|
|
29
19
|
export interface CacheStorage {
|
|
30
|
-
/** Store a value
|
|
20
|
+
/** Store a value; overwrites an existing key. */
|
|
31
21
|
put(key: string, data: Buffer | string): Promise<void>;
|
|
32
22
|
/**
|
|
33
|
-
* Retrieve a value
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* cluster-wide default without re-constructing the backend).
|
|
23
|
+
* Retrieve a value; null if not found or expired. `ttlMsOverride` replaces
|
|
24
|
+
* the backend's constructor-time TTL for this call, so a per-org cache TTL
|
|
25
|
+
* overrides the cluster-wide default without re-constructing the backend.
|
|
37
26
|
*/
|
|
38
27
|
get(key: string, ttlMsOverride?: number): Promise<Buffer | null>;
|
|
39
28
|
/**
|
|
40
|
-
*
|
|
41
|
-
* `ttlMsOverride
|
|
29
|
+
* Whether a key exists and is not expired, without retrieving data.
|
|
30
|
+
* `ttlMsOverride`: see `get`.
|
|
42
31
|
*/
|
|
43
32
|
has(key: string, ttlMsOverride?: number): Promise<boolean>;
|
|
44
33
|
/** Delete a key. Returns true if the key existed (even if expired). */
|
|
@@ -46,68 +35,58 @@ export interface CacheStorage {
|
|
|
46
35
|
/** Update lastAccessedAt to now, refreshing the TTL. No-op if key doesn't exist. */
|
|
47
36
|
touch(key: string): Promise<void>;
|
|
48
37
|
/**
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* `ttlMsOverride` applies a per-operation TTL (see `get`).
|
|
38
|
+
* A pre-signed download URL; null if not found or expired.
|
|
39
|
+
* `ttlMsOverride`: see `get`.
|
|
52
40
|
*/
|
|
53
41
|
getUrl(key: string, ttlMsOverride?: number): Promise<string | null>;
|
|
54
42
|
/**
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
* `getUrl` link (e.g. the dashboard artifacts panel) use it to refresh the
|
|
60
|
-
* link before it stops working.
|
|
43
|
+
* How long, in seconds, a `getUrl` link authorizes a download before its
|
|
44
|
+
* signature expires. This is the signature expiry, NOT the
|
|
45
|
+
* artifact-retention TTL; consumers that render a `getUrl` link (e.g. the
|
|
46
|
+
* dashboard artifacts panel) use it to refresh the link in time.
|
|
61
47
|
*/
|
|
62
48
|
presignedGetTtlSeconds(): number;
|
|
63
49
|
/**
|
|
64
|
-
*
|
|
65
|
-
*
|
|
50
|
+
* A pre-signed PUT URL for direct agent upload, signed with the external
|
|
51
|
+
* (container-routable) endpoint when configured.
|
|
66
52
|
*/
|
|
67
53
|
getUploadUrl(key: string): Promise<string>;
|
|
68
54
|
/**
|
|
69
|
-
*
|
|
70
|
-
*
|
|
55
|
+
* The pre-signed PUT URL a developer machine running `kici run remote`
|
|
56
|
+
* uploads the overlay to. The S3 backend signs it with
|
|
71
57
|
* `KICI_STORAGE_UPLOAD_ENDPOINT`, else the agent-facing
|
|
72
58
|
* `KICI_STORAGE_EXTERNAL_ENDPOINT`, else `KICI_STORAGE_ENDPOINT`.
|
|
73
59
|
*/
|
|
74
60
|
getInternalUploadUrl(key: string): Promise<string>;
|
|
75
61
|
/**
|
|
76
|
-
* Set
|
|
77
|
-
*
|
|
78
|
-
* after the agent confirms upload via cache.upload.complete.
|
|
79
|
-
* Sets created-at and last-accessed-at to now.
|
|
62
|
+
* Set created-at and last-accessed-at to now on an object uploaded via
|
|
63
|
+
* pre-signed URL. A pre-signed PUT cannot carry custom metadata, so call this
|
|
64
|
+
* after the agent confirms the upload via cache.upload.complete.
|
|
80
65
|
*/
|
|
81
66
|
initMeta(key: string): Promise<void>;
|
|
82
67
|
/**
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
* (without the storage prefix). Returns an empty array when nothing matches.
|
|
68
|
+
* Full cache keys (without the storage prefix) under a sub-prefix, newest
|
|
69
|
+
* first by createdAt/last-modified metadata (lexicographic when metadata is
|
|
70
|
+
* unavailable); empty when nothing matches.
|
|
87
71
|
*/
|
|
88
72
|
list(subPrefix: string): Promise<string[]>;
|
|
89
|
-
/** Server-side copy
|
|
73
|
+
/** Server-side copy between keys (used for atomic temp -> final commit). */
|
|
90
74
|
copy(srcKey: string, destKey: string): Promise<void>;
|
|
91
75
|
/**
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
* eviction to order candidates by access recency.
|
|
76
|
+
* The stored metadata, read WITHOUT refreshing lastAccessedAt or any
|
|
77
|
+
* TTL-expiry side effect; null when the key is missing or has no metadata.
|
|
78
|
+
* Quota eviction uses it to order candidates by access recency.
|
|
96
79
|
*/
|
|
97
80
|
getMetadata(key: string): Promise<CacheMetadata | null>;
|
|
98
81
|
/**
|
|
99
|
-
* Byte size of the stored object, or null when
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
* agent-declared value.
|
|
82
|
+
* Byte size of the stored object, or null when missing. A pure stat (no
|
|
83
|
+
* metadata write, no TTL/last-accessed side effect), used to verify an
|
|
84
|
+
* artifact's real size server-side instead of trusting the agent's value.
|
|
103
85
|
*/
|
|
104
86
|
getObjectSize(key: string): Promise<number | null>;
|
|
105
87
|
}
|
|
106
88
|
import type { SharedS3Config } from '@kici-dev/shared';
|
|
107
|
-
/**
|
|
108
|
-
* S3 backend config. Extends the generic `SharedS3Config` from
|
|
109
|
-
* `@kici-dev/shared` with the cache-specific `ttlMs` knob.
|
|
110
|
-
*/
|
|
89
|
+
/** S3 backend config: `SharedS3Config` plus the cache-specific `ttlMs`. */
|
|
111
90
|
export type S3CacheStorageConfig = SharedS3Config & {
|
|
112
91
|
type: 's3';
|
|
113
92
|
ttlMs: number;
|
|
@@ -115,12 +94,10 @@ export type S3CacheStorageConfig = SharedS3Config & {
|
|
|
115
94
|
uploadEndpoint?: string;
|
|
116
95
|
};
|
|
117
96
|
/**
|
|
118
|
-
* Filesystem backend config. Stores blobs
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
* Intended for single-host / test sandboxes where standing up an
|
|
123
|
-
* S3-compatible service is overkill.
|
|
97
|
+
* Filesystem backend config. Stores blobs under `basePath` and mints
|
|
98
|
+
* HMAC-signed `http://baseUrl<routePrefix>...` URLs that the orchestrator's
|
|
99
|
+
* `/api/v1/cache/blob/*` route verifies before serving. For single-host / test
|
|
100
|
+
* sandboxes.
|
|
124
101
|
*/
|
|
125
102
|
export interface FilesystemCacheStorageConfig {
|
|
126
103
|
type: 'filesystem';
|
|
@@ -133,9 +110,6 @@ export interface FilesystemCacheStorageConfig {
|
|
|
133
110
|
/** Per-process HMAC secret used to sign URLs. */
|
|
134
111
|
signingSecret: string;
|
|
135
112
|
}
|
|
136
|
-
/**
|
|
137
|
-
* Configuration for creating a cache storage backend. Discriminated union
|
|
138
|
-
* keyed on `type` so new backends slot in without breaking consumers.
|
|
139
|
-
*/
|
|
113
|
+
/** Cache storage backend config, discriminated on `type`. */
|
|
140
114
|
export type CacheStorageConfig = S3CacheStorageConfig | FilesystemCacheStorageConfig;
|
|
141
115
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -4,7 +4,6 @@ import type { Database } from '../db/types.js';
|
|
|
4
4
|
import type { LogStorage } from '../reporting/log-storage.js';
|
|
5
5
|
import type { ClusterSettingsReader } from '../cluster/cluster-settings-reader.js';
|
|
6
6
|
import type { WebhookInfo } from './handler.js';
|
|
7
|
-
/** Configuration for the writer. */
|
|
8
7
|
export interface EventLogWriterOptions {
|
|
9
8
|
/**
|
|
10
9
|
* Cluster-wide fallback soft cap in bytes for payload upload (default 5 MB),
|
|
@@ -27,7 +26,6 @@ export interface EventLogOutcome {
|
|
|
27
26
|
orgId: string;
|
|
28
27
|
/** Where the delivery arrived. */
|
|
29
28
|
source: EventLogSource;
|
|
30
|
-
/** Outcome status. */
|
|
31
29
|
status: EventLogStatus;
|
|
32
30
|
/** Workflows matched by trigger evaluation (default 0). */
|
|
33
31
|
matchedCount?: number;
|
|
@@ -10,9 +10,6 @@ import type { Database, GenericWebhookSource } from '../db/types.js';
|
|
|
10
10
|
import type { VerificationMethod } from '../providers/generic/verification.js';
|
|
11
11
|
import { type UniversalGitConfig } from '../providers/universal-git/config.js';
|
|
12
12
|
import { type LocalSourceConfig } from '../providers/local/local-source-config.js';
|
|
13
|
-
/**
|
|
14
|
-
* Input for creating a new generic webhook source.
|
|
15
|
-
*/
|
|
16
13
|
interface CreateSourceInput {
|
|
17
14
|
orgId: string;
|
|
18
15
|
name: string;
|
|
@@ -54,8 +51,6 @@ type UpdateSourceInput = Partial<Omit<CreateSourceInput, 'orgId' | 'gitConfig' |
|
|
|
54
51
|
localConfig?: LocalSourceConfig | null;
|
|
55
52
|
};
|
|
56
53
|
/**
|
|
57
|
-
* Generic webhook source manager.
|
|
58
|
-
*
|
|
59
54
|
* Manages CRUD operations for generic_webhook_sources table.
|
|
60
55
|
* Sources are identified by routing keys with format `generic:<orgId>:<sourceId>`.
|
|
61
56
|
*/
|
|
@@ -63,7 +58,6 @@ export declare class GenericSourceManager {
|
|
|
63
58
|
private readonly db;
|
|
64
59
|
constructor(db: Kysely<Database>);
|
|
65
60
|
/**
|
|
66
|
-
* Create a new generic webhook source.
|
|
67
61
|
* Generates a routing key in format `generic:<orgId>:<sourceId>`.
|
|
68
62
|
*/
|
|
69
63
|
create(input: CreateSourceInput): Promise<GenericWebhookSource>;
|
|
@@ -79,9 +73,6 @@ export declare class GenericSourceManager {
|
|
|
79
73
|
* Get a source by org ID and name (unique lookup, excludes soft-deleted).
|
|
80
74
|
*/
|
|
81
75
|
getByOrgAndName(orgId: string, name: string): Promise<GenericWebhookSource | null>;
|
|
82
|
-
/**
|
|
83
|
-
* List all sources for an org.
|
|
84
|
-
*/
|
|
85
76
|
list(orgId: string, includeDeleted?: boolean): Promise<GenericWebhookSource[]>;
|
|
86
77
|
/**
|
|
87
78
|
* List all enabled, non-deleted sources matching a provider type.
|
|
@@ -113,9 +104,6 @@ export declare class GenericSourceManager {
|
|
|
113
104
|
* `git_config.repoBasePath`) under the source's routing key.
|
|
114
105
|
*/
|
|
115
106
|
listLocalSources(): Promise<GenericWebhookSource[]>;
|
|
116
|
-
/**
|
|
117
|
-
* Update a source's configuration.
|
|
118
|
-
*/
|
|
119
107
|
update(id: string, input: UpdateSourceInput): Promise<GenericWebhookSource | null>;
|
|
120
108
|
/**
|
|
121
109
|
* Soft delete a source (sets deleted_at timestamp).
|
|
@@ -125,19 +113,12 @@ export declare class GenericSourceManager {
|
|
|
125
113
|
* Hard delete a source (removes the row entirely).
|
|
126
114
|
*/
|
|
127
115
|
hardDelete(id: string): Promise<void>;
|
|
128
|
-
/**
|
|
129
|
-
* Enable a source.
|
|
130
|
-
*/
|
|
131
116
|
enable(id: string): Promise<void>;
|
|
132
|
-
/**
|
|
133
|
-
* Disable a source.
|
|
134
|
-
*/
|
|
135
117
|
disable(id: string): Promise<void>;
|
|
136
118
|
/**
|
|
137
119
|
* Check if a request is a duplicate within the dedup window.
|
|
138
120
|
* Uses the kici_events table for idempotency checking.
|
|
139
121
|
*
|
|
140
|
-
* @param sourceId - Source ID
|
|
141
122
|
* @param idempotencyKey - Idempotency key from header or payload
|
|
142
123
|
* @returns true if this is a duplicate request
|
|
143
124
|
*/
|
|
@@ -147,14 +128,12 @@ export declare class GenericSourceManager {
|
|
|
147
128
|
* Inserts a `__dedup:<key>` event into kici_events so that
|
|
148
129
|
* checkIdempotency can detect retries within the dedup window.
|
|
149
130
|
*
|
|
150
|
-
* @param sourceId - Source ID
|
|
151
131
|
* @param idempotencyKey - Idempotency key from header or payload
|
|
152
132
|
*/
|
|
153
133
|
markIdempotency(sourceId: string, idempotencyKey: string): Promise<void>;
|
|
154
134
|
/**
|
|
155
135
|
* Check if payload size is within the source's limit.
|
|
156
136
|
*
|
|
157
|
-
* @param sourceId - Source ID
|
|
158
137
|
* @param bodyLength - Length of the request body in bytes
|
|
159
138
|
* @returns Whether the payload is allowed and what the max is
|
|
160
139
|
*/
|
|
@@ -66,8 +66,8 @@ export declare class RelayBufferRegistry {
|
|
|
66
66
|
/** Number of in-flight reassembly buffers. Useful for metrics + tests. */
|
|
67
67
|
get size(): number;
|
|
68
68
|
/**
|
|
69
|
-
* Begin a new reassembly stream. Allocates an entry keyed by `
|
|
70
|
-
*
|
|
69
|
+
* Begin a new reassembly stream. Allocates an entry keyed by the `messageId`
|
|
70
|
+
* argument, not by a field of `meta`.
|
|
71
71
|
*
|
|
72
72
|
* Returns an error if `messageId` is already in flight (Platform sent two
|
|
73
73
|
* `start` frames with the same id, indicates a sender bug or abuse).
|
|
@@ -58,7 +58,6 @@ export interface VerifyInboundInput {
|
|
|
58
58
|
/** Inbound HTTP request client IP, for IP-allowlist verification. */
|
|
59
59
|
clientIp: string | null;
|
|
60
60
|
}
|
|
61
|
-
/** Dependencies the dispatcher reads from. */
|
|
62
61
|
export interface VerifyInboundDeps {
|
|
63
62
|
/** Kysely DB handle for `sources` table lookups (github sources). */
|
|
64
63
|
db: Kysely<Database>;
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* call (onExecutionStarted, onJobStatus, onStepStatus, getRunStatus),
|
|
7
|
-
* allowing those subsystems to work unchanged on workers.
|
|
8
|
-
*
|
|
9
|
-
* Optionally forwards status updates via a callback for coordinator relay,
|
|
10
|
-
* and maintains a ring buffer of recently completed jobs for /status.
|
|
2
|
+
* Execution tracker for DB-less worker nodes. It implements the subset the
|
|
3
|
+
* dispatcher and processor call (onExecutionStarted, onJobStatus, onStepStatus,
|
|
4
|
+
* getRunStatus), so they run unchanged on workers. It can forward status updates
|
|
5
|
+
* to the coordinator, and keeps a ring buffer of recently completed jobs for /status.
|
|
11
6
|
*/
|
|
12
7
|
import type { ObserverRegistry } from '../ws/observer-registry.js';
|
|
13
8
|
/** A status update forwarded to the coordinator. */
|
|
@@ -21,7 +16,6 @@ export interface StatusUpdate {
|
|
|
21
16
|
timestamp: number;
|
|
22
17
|
data?: Record<string, unknown>;
|
|
23
18
|
}
|
|
24
|
-
/** A completed job entry in the ring buffer. */
|
|
25
19
|
interface CompletedJobInfo {
|
|
26
20
|
runId: string;
|
|
27
21
|
jobId: string;
|
|
@@ -32,21 +26,19 @@ interface CompletedJobInfo {
|
|
|
32
26
|
durationMs: number;
|
|
33
27
|
}
|
|
34
28
|
interface InMemoryExecutionTrackerOptions {
|
|
35
|
-
/**
|
|
29
|
+
/** Forwards status updates to the coordinator over P2P. */
|
|
36
30
|
onStatusForward?: (update: StatusUpdate) => void;
|
|
37
|
-
/**
|
|
31
|
+
/** Default: 50. */
|
|
38
32
|
recentJobsLimit?: number;
|
|
39
|
-
/**
|
|
33
|
+
/** Broadcasts to CLI observers. */
|
|
40
34
|
observerRegistry?: ObserverRegistry;
|
|
41
35
|
}
|
|
42
|
-
/** In-memory state for a single job within a run. */
|
|
43
36
|
interface JobState {
|
|
44
37
|
name: string;
|
|
45
38
|
status: string;
|
|
46
39
|
startedAt?: number;
|
|
47
40
|
completedAt?: number;
|
|
48
41
|
}
|
|
49
|
-
/** In-memory state for a single execution run. */
|
|
50
42
|
interface RunState {
|
|
51
43
|
workflowName: string;
|
|
52
44
|
provider: string;
|
|
@@ -63,35 +55,21 @@ export declare class InMemoryExecutionTracker {
|
|
|
63
55
|
private readonly runs;
|
|
64
56
|
private readonly recentJobs;
|
|
65
57
|
constructor(options: InMemoryExecutionTrackerOptions);
|
|
66
|
-
/**
|
|
67
|
-
* Record a new execution run with its initial jobs.
|
|
68
|
-
* Signature matches ExecutionTracker.onExecutionStarted (positional args).
|
|
69
|
-
*/
|
|
58
|
+
/** Positional signature matches ExecutionTracker.onExecutionStarted. */
|
|
70
59
|
onExecutionStarted(runId: string, workflowName: string, provider: string, repoIdentifier: string, ref: string, sha: string, _deliveryId: string | null, _providerContext: Record<string, unknown>, _triggerDecision: Record<string, unknown> | null, jobs: Array<{
|
|
71
60
|
jobId: string;
|
|
72
61
|
jobName: string;
|
|
73
62
|
matrixValues?: Record<string, unknown>;
|
|
74
63
|
}>): Promise<void>;
|
|
75
|
-
/**
|
|
76
|
-
* Update job status. Forwards to coordinator callback if configured.
|
|
77
|
-
*/
|
|
78
64
|
onJobStatus(runId: string, jobId: string, status: string, timestamp: number, agentId?: string, data?: Record<string, unknown>): Promise<void>;
|
|
79
|
-
/**
|
|
80
|
-
* Update step status. Forwards to coordinator callback if configured.
|
|
81
|
-
*/
|
|
82
65
|
onStepStatus(runId: string, jobId: string, stepIndex: number, stepName: string, status: string, timestamp: number, data?: Record<string, unknown>): Promise<void>;
|
|
83
66
|
/**
|
|
84
67
|
* Forget a job this worker gave up or was told to stop before it ran. Nothing is
|
|
85
68
|
* forwarded: the coordinator that owns the run already decided what happens to it.
|
|
86
69
|
*/
|
|
87
70
|
dropJob(runId: string, jobId: string): void;
|
|
88
|
-
/**
|
|
89
|
-
* Get the current status of a run.
|
|
90
|
-
*/
|
|
91
71
|
getRunStatus(runId: string): RunState | null;
|
|
92
|
-
/**
|
|
93
|
-
* Get recent completed jobs (most recent first).
|
|
94
|
-
*/
|
|
72
|
+
/** Most recent first. */
|
|
95
73
|
getRecentJobs(): CompletedJobInfo[];
|
|
96
74
|
private addToRecentJobs;
|
|
97
75
|
}
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* not from a database queue. This implementation satisfies the JobQueue
|
|
6
|
-
* interface with ephemeral in-memory storage, allowing the dispatcher
|
|
7
|
-
* subsystem to work unchanged on workers.
|
|
8
|
-
*
|
|
9
|
-
* Jobs enqueued here (when no agent is immediately available) are stored
|
|
10
|
-
* in memory and dequeued when an agent with matching labels connects.
|
|
2
|
+
* Ephemeral JobQueue for worker nodes, which get jobs from the coordinator over
|
|
3
|
+
* P2P rather than a database queue, so the dispatcher runs unchanged on workers.
|
|
4
|
+
* A job enqueued with no agent available waits here until a matching agent connects.
|
|
11
5
|
*/
|
|
12
6
|
import { DispatchQueueStatus, type QueuedJobInput, type QueuedJob } from '../queue/job-queue.js';
|
|
13
7
|
export declare class InMemoryJobQueue {
|
|
@@ -17,10 +11,9 @@ export declare class InMemoryJobQueue {
|
|
|
17
11
|
/** Per-job re-dispatch counter (parity with dispatch_queue.dispatch_attempts). */
|
|
18
12
|
private readonly attempts;
|
|
19
13
|
/**
|
|
20
|
-
* Jobs the owning coordinator stopped (a cancel), or
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* stopped-run guard. The mark goes with the job's entry.
|
|
14
|
+
* Jobs the owning coordinator stopped (a cancel), or this worker gave back after
|
|
15
|
+
* its spawn retries ran out. Never claimed, listed or re-pended — the counterpart
|
|
16
|
+
* of the database queue's stopped-run guard. The mark goes with the job's entry.
|
|
24
17
|
*/
|
|
25
18
|
private readonly stopped;
|
|
26
19
|
/** Stop-mark every job of `runId` (or just `jobId`), pending or dispatched. Synchronous. */
|
|
@@ -35,67 +28,46 @@ export declare class InMemoryJobQueue {
|
|
|
35
28
|
* requeue. `requeue` already dropped a stopped job, so nothing is left to settle.
|
|
36
29
|
*/
|
|
37
30
|
settleClaimOfStoppedRun(_jobId: string, _runId: string): Promise<boolean>;
|
|
38
|
-
/** Enqueue a job in memory and return its ID. */
|
|
39
31
|
enqueue(input: QueuedJobInput): Promise<string>;
|
|
40
32
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* queue has no unique-key constraint, so an insert is always treated as new.
|
|
33
|
+
* Honors a pre-allocated jobId (cluster reroute) or generates one. No unique-key
|
|
34
|
+
* constraint here, so an insert is always new.
|
|
44
35
|
*/
|
|
45
36
|
insertDispatched(input: QueuedJobInput, _agentId: string): Promise<{
|
|
46
37
|
id: string;
|
|
47
38
|
inserted: boolean;
|
|
48
39
|
}>;
|
|
49
40
|
/**
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
* `agentMandatoryLabels` mirrors the DB-backed `JobQueue.dequeueForLabels`
|
|
53
|
-
* gate: a job is only dequeued when its `runsOnLabels` includes every
|
|
54
|
-
* label in the gate set. Empty (default) is a no-op for static / non-scaler
|
|
55
|
-
* agents — the gate trivially passes.
|
|
41
|
+
* First pending job matching the labels. `agentMandatoryLabels` mirrors the
|
|
42
|
+
* `JobQueue.dequeueForLabels` gate; empty (static / non-scaler agents) passes.
|
|
56
43
|
*/
|
|
57
44
|
dequeueForLabels(agentLabels: string[], agentMandatoryLabels?: string[], _agentId?: string, canServe?: (job: QueuedJob) => boolean): Promise<QueuedJob | null>;
|
|
58
45
|
/**
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* used by `Dispatcher.dispatchBoundJob()` when a scaler-managed agent
|
|
63
|
-
* registers and the scaler had bound a queued jobId to that agent at
|
|
64
|
-
* spawn time. Returns null if the job is missing, no longer Pending,
|
|
65
|
-
* labels no longer match, or the agent's gate is not satisfied.
|
|
46
|
+
* Mirrors `JobQueue.dequeueById`, which `Dispatcher.dispatchBoundJob()` calls
|
|
47
|
+
* when a scaler agent registers for the jobId it was spawned for. Null when the
|
|
48
|
+
* job is missing, not Pending, or fails {@link matchesGate}.
|
|
66
49
|
*/
|
|
67
50
|
dequeueById(jobId: string, agentLabels: string[], agentMandatoryLabels?: string[]): Promise<QueuedJob | null>;
|
|
68
51
|
/**
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
* label drain. Like the DB version, a pinned job relaxes the label-subset
|
|
73
|
-
* gate (the agent is its designated runner) and only the JS regex
|
|
74
|
-
* post-filter is applied.
|
|
52
|
+
* Oldest pending job pinned to the agent; mirrors `JobQueue.dequeueByPinnedAgent`
|
|
53
|
+
* (host-fanout children drain before the label drain). A pinned job skips the
|
|
54
|
+
* label-subset gate; only the JS regex post-filter applies.
|
|
75
55
|
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
* `
|
|
79
|
-
*
|
|
80
|
-
* is mandatory: `Dispatcher.onAgentAvailable` invokes it unconditionally, so
|
|
81
|
-
* its absence threw `TypeError: this.queue.dequeueByPinnedAgent is not a
|
|
82
|
-
* function` as an unhandled rejection that crashed the worker.
|
|
56
|
+
* Workers do not pin jobs, so this returns null in practice and
|
|
57
|
+
* `onAgentAvailable` falls back to `dequeueForLabels`. It must exist:
|
|
58
|
+
* `Dispatcher.onAgentAvailable` calls it unconditionally, and a missing method
|
|
59
|
+
* is an unhandled `TypeError` that crashes the worker.
|
|
83
60
|
*/
|
|
84
61
|
dequeueByPinnedAgent(agentId: string, agentLabels?: string[]): Promise<QueuedJob | null>;
|
|
85
|
-
/** Return count of pending jobs. */
|
|
86
62
|
getDepth(): Promise<number>;
|
|
87
63
|
/** No-op — the job is already tracked in `dispatched` from dequeue. */
|
|
88
64
|
markDispatched(_jobId: string, _agentId: string): Promise<void>;
|
|
89
|
-
/** Drop the dispatched entry — the job reached a terminal state. */
|
|
90
65
|
markFailed(jobId: string, _reason: string): Promise<void>;
|
|
91
|
-
/** Drop the dispatched entry — the job completed. */
|
|
92
66
|
markCompleted(jobId: string): Promise<void>;
|
|
93
|
-
/** No-op. */
|
|
94
67
|
markRecovering(_jobId: string): Promise<void>;
|
|
95
68
|
/**
|
|
96
|
-
* No-op
|
|
97
|
-
*
|
|
98
|
-
* queue, not the worker's in-memory queue.
|
|
69
|
+
* No-op: the worker's ack deadline lives in its in-memory timer; HA-safe
|
|
70
|
+
* persistence belongs to the coordinator's DB queue.
|
|
99
71
|
*/
|
|
100
72
|
setAckDeadline(_jobId: string, _deadline: Date, _agentId: string): Promise<void>;
|
|
101
73
|
/** No-op (see setAckDeadline). */
|
|
@@ -114,54 +86,42 @@ export declare class InMemoryJobQueue {
|
|
|
114
86
|
agentId: string | null;
|
|
115
87
|
}>>;
|
|
116
88
|
/**
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
* not currently dispatched. A stopped job is dropped instead of re-pended, and
|
|
121
|
-
* also returns null.
|
|
89
|
+
* Mirrors `JobQueue.requeue`: re-pend a dispatched job, bumping attempts unless
|
|
90
|
+
* `countAttempt` is false. Returns the attempt count, or null when the job is not
|
|
91
|
+
* dispatched or is stopped (a stopped job is dropped instead).
|
|
122
92
|
*/
|
|
123
93
|
requeue(jobId: string, opts?: {
|
|
124
94
|
countAttempt?: boolean;
|
|
125
95
|
}): Promise<number | null>;
|
|
126
96
|
/**
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
* requeue redispatch asks every queue this.
|
|
97
|
+
* `JobQueue.isDeferredUnopenable`'s sealed-secrets back-off, which the requeue
|
|
98
|
+
* redispatch asks every queue. Worker jobs are never sealed, so never deferred.
|
|
130
99
|
*/
|
|
131
100
|
isDeferredUnopenable(_jobId: string): boolean;
|
|
132
|
-
/**
|
|
101
|
+
/** Pending or dispatched. */
|
|
133
102
|
getFullJobById(jobId: string): Promise<QueuedJob | null>;
|
|
134
|
-
/** Return all pending jobs. */
|
|
135
103
|
getPendingJobs(): Promise<QueuedJob[]>;
|
|
136
104
|
/**
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
*
|
|
140
|
-
* a slot; `worker-core` wires that hook exactly as the coordinator does.
|
|
141
|
-
* Insertion order is the enqueue order, which is what `created_at ASC` gives
|
|
142
|
-
* the DB queue.
|
|
105
|
+
* Twin of `JobQueue.listPending`: oldest first (insertion order = `created_at
|
|
106
|
+
* ASC`), capped at `limit`. `retryPendingScaleRequests` reads it on every worker
|
|
107
|
+
* whose scaler frees a slot; `worker-core` wires that hook as the coordinator does.
|
|
143
108
|
*/
|
|
144
109
|
listPending(limit: number): Promise<QueuedJob[]>;
|
|
145
|
-
/** Always returns empty array. */
|
|
146
110
|
getDispatchedJobIdsByRunId(_runId: string): Promise<string[]>;
|
|
147
|
-
/**
|
|
111
|
+
/** Pending or dispatched. */
|
|
148
112
|
getJobById(jobId: string): Promise<{
|
|
149
113
|
id: string;
|
|
150
114
|
runId: string;
|
|
151
115
|
status: DispatchQueueStatus;
|
|
152
116
|
} | null>;
|
|
153
|
-
/** Always returns false. */
|
|
154
117
|
markFailedIfRecovering(_jobId: string, _reason: string): Promise<boolean>;
|
|
155
|
-
/** Always returns false. */
|
|
156
118
|
markDispatchedIfRecovering(_jobId: string, _agentId: string): Promise<boolean>;
|
|
157
|
-
/** Always returns empty array. */
|
|
158
119
|
getJobsByStatus(_status: DispatchQueueStatus): Promise<Array<{
|
|
159
120
|
id: string;
|
|
160
121
|
runId: string;
|
|
161
122
|
status: DispatchQueueStatus;
|
|
162
123
|
agentId: string | null;
|
|
163
124
|
}>>;
|
|
164
|
-
/** No-op — nothing to expire. */
|
|
165
125
|
markExpired(): Promise<number>;
|
|
166
126
|
}
|
|
167
127
|
//# sourceMappingURL=in-memory-job-queue.d.ts.map
|
|
@@ -16,14 +16,11 @@ export declare class PeerOutbox {
|
|
|
16
16
|
loadFromDisk(): Promise<void>;
|
|
17
17
|
enqueue(coordUrl: string, message: JobProgress): Promise<void>;
|
|
18
18
|
/**
|
|
19
|
-
* Synchronous,
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* fire-and-forget at its call site, so its fsync can be dropped when the
|
|
25
|
-
* event loop never runs again; this variant blocks the (infrequent,
|
|
26
|
-
* once-per-job-terminal) call path until the bytes are durable instead.
|
|
19
|
+
* Synchronous, fsynced enqueue: the terminal job status is on disk before this
|
|
20
|
+
* returns, so a worker killed moments later (e.g. crashing during microVM
|
|
21
|
+
* teardown) cannot lose it. The async {@link enqueue} is fire-and-forget at its
|
|
22
|
+
* call site, so its fsync is lost when the event loop never runs again; this
|
|
23
|
+
* variant blocks the once-per-job-terminal path until the bytes are durable.
|
|
27
24
|
*/
|
|
28
25
|
enqueueSync(coordUrl: string, message: JobProgress): void;
|
|
29
26
|
ack(coordUrl: string, runId: string, jobId: string): Promise<void>;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Worker-mode dispatch of a job rerouted from a coordinator.
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* them in the queued job's config and turns them into the agent's clone auth
|
|
7
|
-
* at dispatch time.
|
|
2
|
+
* Worker-mode dispatch of a job rerouted from a coordinator. A worker holds no
|
|
3
|
+
* provider credentials: the coordinator pre-resolves clone tokens onto the
|
|
4
|
+
* `job.reroute` message, and the worker keeps them in the queued job's config and
|
|
5
|
+
* turns them into the agent's clone auth at dispatch time.
|
|
8
6
|
*/
|
|
9
7
|
import type { JobReroute } from '@kici-dev/engine';
|
|
10
8
|
/** The queued job's config for a reroute message, carrying the pre-resolved clone tokens. */
|