@kici-dev/orchestrator 0.17.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (592) hide show
  1. package/dist/agent/agent-version.d.ts +12 -21
  2. package/dist/agent/dispatcher.d.ts +283 -437
  3. package/dist/agent/host-roster-reaper.d.ts +8 -10
  4. package/dist/agent/host-roster.d.ts +77 -100
  5. package/dist/agent/ownership-refusal.d.ts +3 -5
  6. package/dist/agent/ownership-tracker.d.ts +42 -76
  7. package/dist/agent/registry.d.ts +137 -230
  8. package/dist/agent/token-store.d.ts +34 -77
  9. package/dist/agent-packaging/availability.d.ts +6 -9
  10. package/dist/agent-packaging/download.d.ts +6 -9
  11. package/dist/agent-packaging/install-closure.d.ts +9 -12
  12. package/dist/agent-packaging/node-binary.d.ts +6 -10
  13. package/dist/agent-packaging/node-runtime-members.d.ts +3 -5
  14. package/dist/agent-packaging/refresh.d.ts +12 -16
  15. package/dist/agent-packaging/store.d.ts +5 -6
  16. package/dist/agent-packaging/upload.d.ts +3 -4
  17. package/dist/app.d.ts +0 -3
  18. package/dist/approvals/apply-decision.d.ts +35 -52
  19. package/dist/approvals/approval-resolver.d.ts +11 -23
  20. package/dist/approvals/held-run-release-wiring.d.ts +14 -21
  21. package/dist/approvals/independent-wiring.d.ts +13 -20
  22. package/dist/approvals/resume-router.d.ts +1 -1
  23. package/dist/approvals/step-approval-bridge.d.ts +11 -21
  24. package/dist/approvals/triggerer-subject.d.ts +8 -10
  25. package/dist/artifacts/artifact-store.d.ts +55 -95
  26. package/dist/artifacts/failure-messages.d.ts +15 -20
  27. package/dist/audit/access-log.d.ts +27 -45
  28. package/dist/audit/sampling-rate-limiter.d.ts +11 -23
  29. package/dist/cache/agent-job-failed-error.d.ts +2 -3
  30. package/dist/cache/build-coordinator.d.ts +5 -28
  31. package/dist/cache/cache-upload-settle.d.ts +11 -11
  32. package/dist/cache/dep-cache.d.ts +32 -60
  33. package/dist/cache/dispatch-cache-ref-tracker.d.ts +15 -23
  34. package/dist/cache/global-eval-round-cache.d.ts +33 -41
  35. package/dist/cache/pending-builds.d.ts +2 -6
  36. package/dist/cache/pending-dynamics.d.ts +2 -7
  37. package/dist/cache/pending-global-evals.d.ts +9 -12
  38. package/dist/cache/pending-inits.d.ts +11 -22
  39. package/dist/cache/pending-precursor-db-watcher.d.ts +24 -32
  40. package/dist/cache/pending-tracker.d.ts +17 -45
  41. package/dist/cache/precursor-result.d.ts +17 -30
  42. package/dist/cache/source-cache.d.ts +36 -65
  43. package/dist/cache/user-cache.d.ts +21 -25
  44. package/dist/cancel/cancel-held-run.d.ts +13 -16
  45. package/dist/cancel/cancel-route-answer.d.ts +1 -2
  46. package/dist/cancel/cancel-run.d.ts +26 -50
  47. package/dist/cancel/dashboard-cancel-handler.d.ts +2 -2
  48. package/dist/cancel/peer-job-cancel.d.ts +11 -14
  49. package/dist/cancel/sweep-stuck-cancelling.d.ts +9 -13
  50. package/dist/cli/api-client.d.ts +25 -76
  51. package/dist/cli/commands/access-log.d.ts +4 -24
  52. package/dist/cli/commands/agent-package.d.ts +7 -15
  53. package/dist/cli/commands/agent-service/agent-env.d.ts +3 -6
  54. package/dist/cli/commands/agent-service/index.d.ts +4 -10
  55. package/dist/cli/commands/agent-service/install.d.ts +4 -11
  56. package/dist/cli/commands/agent-service/status.d.ts +4 -9
  57. package/dist/cli/commands/agent-service/upgrade.d.ts +4 -16
  58. package/dist/cli/commands/agent.d.ts +12 -25
  59. package/dist/cli/commands/api-key.d.ts +5 -12
  60. package/dist/cli/commands/attestations-list.d.ts +7 -17
  61. package/dist/cli/commands/attestations-retry.d.ts +5 -11
  62. package/dist/cli/commands/attestations-reverify.d.ts +4 -5
  63. package/dist/cli/commands/attestations.d.ts +3 -8
  64. package/dist/cli/commands/audit.d.ts +1 -5
  65. package/dist/cli/commands/backend.d.ts +2 -11
  66. package/dist/cli/commands/check-run.d.ts +7 -18
  67. package/dist/cli/commands/cluster-name.d.ts +5 -12
  68. package/dist/cli/commands/cluster-settings.d.ts +28 -53
  69. package/dist/cli/commands/cold-store.d.ts +7 -15
  70. package/dist/cli/commands/config.d.ts +9 -20
  71. package/dist/cli/commands/context.d.ts +8 -20
  72. package/dist/cli/commands/dashboard-encryption-key.d.ts +9 -14
  73. package/dist/cli/commands/db-backup.d.ts +17 -32
  74. package/dist/cli/commands/db.d.ts +3 -4
  75. package/dist/cli/commands/debug-bundle.d.ts +3 -10
  76. package/dist/cli/commands/diagnose.d.ts +3 -14
  77. package/dist/cli/commands/event-dlq.d.ts +4 -12
  78. package/dist/cli/commands/event-log.d.ts +2 -20
  79. package/dist/cli/commands/execution.d.ts +3 -9
  80. package/dist/cli/commands/firecracker/index.d.ts +3 -6
  81. package/dist/cli/commands/held-run.d.ts +23 -37
  82. package/dist/cli/commands/host.d.ts +4 -11
  83. package/dist/cli/commands/inspect-bundle.d.ts +3 -11
  84. package/dist/cli/commands/local-hook.d.ts +2 -10
  85. package/dist/cli/commands/local-trigger.d.ts +2 -2
  86. package/dist/cli/commands/orchestrator-service/drain.d.ts +3 -6
  87. package/dist/cli/commands/orchestrator-service/index.d.ts +6 -14
  88. package/dist/cli/commands/orchestrator-service/install-env.d.ts +25 -49
  89. package/dist/cli/commands/orchestrator-service/install.d.ts +2 -5
  90. package/dist/cli/commands/orchestrator-service/status.d.ts +10 -22
  91. package/dist/cli/commands/orchestrator-service/upgrade.d.ts +6 -15
  92. package/dist/cli/commands/org-settings.d.ts +5 -11
  93. package/dist/cli/commands/peer.d.ts +5 -10
  94. package/dist/cli/commands/queue.d.ts +3 -9
  95. package/dist/cli/commands/registration.d.ts +4 -8
  96. package/dist/cli/commands/remote-source.d.ts +6 -12
  97. package/dist/cli/commands/rotate.d.ts +1 -5
  98. package/dist/cli/commands/runs.d.ts +1 -30
  99. package/dist/cli/commands/scaler.d.ts +5 -12
  100. package/dist/cli/commands/secret.d.ts +1 -9
  101. package/dist/cli/commands/service-health.d.ts +5 -10
  102. package/dist/cli/commands/shared/admin-cli-access-log.d.ts +10 -19
  103. package/dist/cli/commands/shared/bare-metal-binary-check.d.ts +86 -0
  104. package/dist/cli/commands/shared/cli-action.d.ts +1 -4
  105. package/dist/cli/commands/shared/confirm.d.ts +5 -10
  106. package/dist/cli/commands/shared/db.d.ts +1 -12
  107. package/dist/cli/commands/shared/env-file-mode.d.ts +6 -9
  108. package/dist/cli/commands/shared/secret-input.d.ts +7 -21
  109. package/dist/cli/commands/shared/service-verbs.d.ts +6 -12
  110. package/dist/cli/commands/shared/unbound-context-warning.d.ts +2 -4
  111. package/dist/cli/commands/shared/upgrade-hooks.d.ts +7 -16
  112. package/dist/cli/commands/shared/upgrade-safety.d.ts +20 -31
  113. package/dist/cli/commands/shared/versioned-upgrade.d.ts +83 -161
  114. package/dist/cli/commands/signing-key.d.ts +4 -9
  115. package/dist/cli/commands/source-manifest.d.ts +11 -14
  116. package/dist/cli/commands/source.d.ts +7 -32
  117. package/dist/cli/commands/token.d.ts +4 -15
  118. package/dist/cli/commands/trust-policy.d.ts +35 -88
  119. package/dist/cli/commands/variable.d.ts +3 -5
  120. package/dist/cli/commands/workflow.d.ts +3 -24
  121. package/dist/cli/join.d.ts +3 -6
  122. package/dist/cli/kici-admin.d.ts +11 -29
  123. package/dist/cli/lazy-deps/cache.d.ts +1 -14
  124. package/dist/cli/lazy-deps/downloader.d.ts +4 -27
  125. package/dist/cli/lazy-deps/registry.d.ts +5 -25
  126. package/dist/cli/local-github-ingress-url.d.ts +5 -7
  127. package/dist/cli/loopback-callback.d.ts +6 -7
  128. package/dist/cli/open-browser.d.ts +4 -8
  129. package/dist/cli/root-option-routing.d.ts +17 -29
  130. package/dist/cli/service/backup-timer.d.ts +16 -39
  131. package/dist/cli/service/compose-path.d.ts +3 -7
  132. package/dist/cli/service/compose.d.ts +12 -30
  133. package/dist/cli/service/deploy-env.d.ts +6 -18
  134. package/dist/cli/service/entrypoint.d.ts +14 -25
  135. package/dist/cli/service/env-assignment.d.ts +6 -17
  136. package/dist/cli/service/image-digests.d.ts +6 -15
  137. package/dist/cli/service/index.d.ts +2 -18
  138. package/dist/cli/service/instance/index-file.d.ts +9 -16
  139. package/dist/cli/service/instance/manifest.d.ts +60 -60
  140. package/dist/cli/service/instance/resolve.d.ts +32 -68
  141. package/dist/cli/service/instance/types.d.ts +12 -29
  142. package/dist/cli/service/launchd.d.ts +29 -60
  143. package/dist/cli/service/platform-detect.d.ts +13 -68
  144. package/dist/cli/service/privilege.d.ts +12 -25
  145. package/dist/cli/service/shutdown-grace.d.ts +11 -20
  146. package/dist/cli/service/systemd.d.ts +7 -20
  147. package/dist/cli/service/types.d.ts +63 -114
  148. package/dist/cli/service/windows-acl.d.ts +14 -21
  149. package/dist/cli/service/windows-env-file.d.ts +10 -28
  150. package/dist/cli/service/windows.d.ts +15 -31
  151. package/dist/cli/webhook-url-notes.d.ts +4 -6
  152. package/dist/cli/wizard/agent-wizard.d.ts +3 -14
  153. package/dist/cli/wizard/orchestrator-wizard.d.ts +12 -37
  154. package/dist/cli/wizard/prompts.d.ts +6 -16
  155. package/dist/cli.js +8207 -10128
  156. package/dist/cluster/cluster-identity.d.ts +20 -32
  157. package/dist/cluster/cluster-settings-reader.d.ts +50 -77
  158. package/dist/cluster/coordinator-credential.d.ts +4 -5
  159. package/dist/cluster/coordinator.d.ts +76 -148
  160. package/dist/cluster/health-api.d.ts +2 -10
  161. package/dist/cluster/index.d.ts +1 -6
  162. package/dist/cluster/instance-heartbeat.d.ts +26 -42
  163. package/dist/cluster/join-client.d.ts +4 -7
  164. package/dist/cluster/join-handler.d.ts +3 -7
  165. package/dist/cluster/join-token.d.ts +13 -27
  166. package/dist/cluster/leader-gated-scheduler.d.ts +8 -17
  167. package/dist/cluster/orphan-recovery.d.ts +13 -35
  168. package/dist/cluster/peer-auth-coordinator.d.ts +2 -8
  169. package/dist/cluster/peer-client.d.ts +46 -76
  170. package/dist/cluster/peer-credentials.d.ts +24 -70
  171. package/dist/cluster/peer-crypto.d.ts +5 -26
  172. package/dist/cluster/peer-forget.d.ts +3 -3
  173. package/dist/cluster/peer-handler.d.ts +47 -71
  174. package/dist/cluster/peer-registry.d.ts +37 -106
  175. package/dist/cluster/plan-headroom-store.d.ts +4 -6
  176. package/dist/cluster/raft-state.d.ts +4 -13
  177. package/dist/cluster/raft.d.ts +18 -53
  178. package/dist/cluster/reconcile-identity.d.ts +8 -11
  179. package/dist/cluster/rerouted-job-guard.d.ts +7 -11
  180. package/dist/cluster/verified-issuer.d.ts +2 -3
  181. package/dist/cluster/worker-cluster-settings.d.ts +7 -10
  182. package/dist/cluster/worker-eviction.d.ts +16 -26
  183. package/dist/cold-store/load-access-log-range.d.ts +15 -31
  184. package/dist/cold-store/load-event-log-range.d.ts +13 -27
  185. package/dist/cold-store/load-secret-audit-log-range.d.ts +8 -12
  186. package/dist/cold-store/orchestrator-cold-store.d.ts +8 -28
  187. package/dist/cold-store/tables/access-log.d.ts +12 -14
  188. package/dist/cold-store/tables/event-log.d.ts +4 -8
  189. package/dist/cold-store/tables/execution-runs.d.ts +6 -11
  190. package/dist/cold-store/tables/secret-audit-log.d.ts +5 -12
  191. package/dist/concurrency/dispatch-next-queued.d.ts +13 -25
  192. package/dist/concurrency/queue-manager.d.ts +22 -54
  193. package/dist/concurrency/waiters.d.ts +15 -31
  194. package/dist/config/encryption.d.ts +0 -2
  195. package/dist/config/loader.d.ts +0 -1
  196. package/dist/config/reload.d.ts +0 -6
  197. package/dist/config/resolver.d.ts +0 -4
  198. package/dist/config/shared-store.d.ts +0 -2
  199. package/dist/config/types.d.ts +0 -3
  200. package/dist/content-requirements-cache.d.ts +0 -1
  201. package/dist/contexts/context-store.d.ts +0 -2
  202. package/dist/contexts/held-runs.d.ts +0 -2
  203. package/dist/contexts/variable-store.d.ts +0 -2
  204. package/dist/dashboard/attestation-filters.d.ts +13 -18
  205. package/dist/dashboard/handler.d.ts +145 -307
  206. package/dist/db/client.d.ts +2 -6
  207. package/dist/db/deferred-index-build.d.ts +8 -10
  208. package/dist/db/deferred-indexes.d.ts +15 -22
  209. package/dist/db/migration-provider.d.ts +2 -4
  210. package/dist/db/migration-test-harness.d.ts +26 -44
  211. package/dist/db/migrations/001_initial.d.ts +1 -4
  212. package/dist/db/migrations/002_config_versions_key_version.d.ts +5 -8
  213. package/dist/db/migrations/003_access_log.d.ts +10 -15
  214. package/dist/db/migrations/004_rename_bundle_to_source.d.ts +7 -9
  215. package/dist/db/migrations/005_cold_store_chunk_counter.d.ts +4 -10
  216. package/dist/db/migrations/006_runs_jobs_steps_archived_at.d.ts +9 -29
  217. package/dist/db/migrations/007_audit_logs_archived_at.d.ts +11 -30
  218. package/dist/db/migrations/008_event_log_archived_at.d.ts +14 -29
  219. package/dist/db/migrations/009_access_log_trigram.d.ts +4 -8
  220. package/dist/db/migrations/010_cold_store_chunks.d.ts +16 -26
  221. package/dist/db/migrations/011_drop_source_secrets_notify.d.ts +6 -14
  222. package/dist/db/migrations/012_peer_credentials_active_uniq.d.ts +9 -14
  223. package/dist/db/migrations/013_execution_log_bytes.d.ts +5 -13
  224. package/dist/db/migrations/014_kici_events_lease_retry.d.ts +14 -27
  225. package/dist/db/migrations/015_org_settings_customer_scoped.d.ts +12 -17
  226. package/dist/db/migrations/016_org_settings_allow_http_npm.d.ts +4 -6
  227. package/dist/db/migrations/019_generic_sources_change_notify.d.ts +13 -17
  228. package/dist/db/migrations/020_org_settings_dashboard_write_policy.d.ts +5 -8
  229. package/dist/db/migrations/021_check_run_tracking.d.ts +5 -17
  230. package/dist/db/migrations/022_scaler_manager_state.d.ts +10 -20
  231. package/dist/db/migrations/023_dispatch_queue_recovery_deadline.d.ts +7 -18
  232. package/dist/db/migrations/024_dispatch_queue_provisioning_error.d.ts +5 -11
  233. package/dist/db/migrations/025_init_failure.d.ts +5 -9
  234. package/dist/db/migrations/027_workflow_timeout.d.ts +5 -13
  235. package/dist/db/migrations/029_dispatch_queue_attempts.d.ts +4 -10
  236. package/dist/db/migrations/030_held_runs_env_set_null.d.ts +5 -6
  237. package/dist/db/migrations/031_dispatch_queue_ack_deadline.d.ts +6 -12
  238. package/dist/db/migrations/033_org_settings_approval.d.ts +7 -10
  239. package/dist/db/migrations/034_held_runs_generalize.d.ts +10 -18
  240. package/dist/db/migrations/035_pending_workflow_contexts.d.ts +4 -5
  241. package/dist/db/migrations/037_generic_sources_provider_type_local.d.ts +5 -6
  242. package/dist/db/migrations/038_remote_sources.d.ts +5 -7
  243. package/dist/db/migrations/045_host_properties.d.ts +5 -9
  244. package/dist/db/migrations/046_join_token_consumed_by_instance.d.ts +5 -10
  245. package/dist/db/migrations/048_host_reboot_pending.d.ts +6 -12
  246. package/dist/db/migrations/049_held_runs_payload.d.ts +3 -8
  247. package/dist/db/migrations/050_sources_slug.d.ts +4 -5
  248. package/dist/db/migrations/051_binding_host_pattern.d.ts +7 -10
  249. package/dist/db/migrations/052_host_reach_metadata.d.ts +8 -11
  250. package/dist/db/migrations/053_agent_token_single_use.d.ts +6 -10
  251. package/dist/db/migrations/054_local_working_tree.d.ts +4 -6
  252. package/dist/db/migrations/055_agent_token_mandatory_labels.d.ts +6 -11
  253. package/dist/db/migrations/056_execution_jobs_environments.d.ts +4 -11
  254. package/dist/db/migrations/064_execution_jobs_skipped_environments.d.ts +6 -9
  255. package/dist/db/migrations/065_pending_attestations.d.ts +9 -12
  256. package/dist/db/migrations/066_pending_attestations_rejected.d.ts +4 -7
  257. package/dist/db/migrations/068_request_idempotency.d.ts +7 -9
  258. package/dist/db/migrations/069_reroute_tunables.d.ts +6 -14
  259. package/dist/db/migrations/071_batch_accumulation.d.ts +8 -16
  260. package/dist/db/migrations/072_dispatch_queue_run_id_index.d.ts +3 -9
  261. package/dist/db/migrations/074_normalize_zero_concurrency_limit.d.ts +4 -7
  262. package/dist/db/migrations/076_artifacts.d.ts +7 -8
  263. package/dist/db/migrations/078_org_settings_backup_staleness.d.ts +3 -6
  264. package/dist/db/migrations/079_org_settings_scaler_spawn_timeout.d.ts +4 -8
  265. package/dist/db/migrations/080_cluster_settings.d.ts +6 -10
  266. package/dist/db/migrations/081_org_settings_queue_timeout.d.ts +7 -11
  267. package/dist/db/migrations/082_host_s3_reachable.d.ts +5 -10
  268. package/dist/db/migrations/083_org_settings_artifact_caps.d.ts +6 -8
  269. package/dist/db/migrations/084_orchestrator_signing_keys.d.ts +8 -13
  270. package/dist/db/migrations/085_cluster_settings_reroute_flap_grace_ms.d.ts +4 -5
  271. package/dist/db/migrations/086_cluster_settings_max_fanout_hosts.d.ts +3 -3
  272. package/dist/db/migrations/087_cluster_settings_event_router_rate_limit.d.ts +5 -3
  273. package/dist/db/migrations/088_cluster_settings_cache_max_tarball_bytes.d.ts +3 -3
  274. package/dist/db/migrations/089_cluster_settings_cache_ttl_days.d.ts +3 -5
  275. package/dist/db/migrations/090_cluster_settings_concurrency_wait_timeout_ms.d.ts +3 -6
  276. package/dist/db/migrations/091_cluster_settings_agent_token_ttl_ms.d.ts +3 -6
  277. package/dist/db/migrations/092_cluster_settings_version.d.ts +5 -9
  278. package/dist/db/migrations/094_dashboard_encryption_keys.d.ts +9 -14
  279. package/dist/db/migrations/095_dashboard_write_policy_tristate.d.ts +2 -6
  280. package/dist/db/migrations/099_cluster_settings_dashboard_verified_issuer.d.ts +8 -11
  281. package/dist/db/migrations/101_contexts_hold_expiry_drop_default.d.ts +9 -15
  282. package/dist/db/migrations/102_dispatch_queue_agent_id.d.ts +6 -11
  283. package/dist/db/migrations/103_cluster_settings_ownership_db_check_timeout_ms.d.ts +6 -12
  284. package/dist/db/migrations/104_check_run_terminal_sent.d.ts +8 -14
  285. package/dist/db/migrations/105_org_trust_policy.d.ts +5 -7
  286. package/dist/db/migrations/106_cluster_settings_check_run_tracking_ttl_days.d.ts +4 -12
  287. package/dist/db/migrations/107_check_run_tracking_updated_at_index.d.ts +8 -14
  288. package/dist/db/migrations/113_execution_runs_workflow_repo_index.d.ts +10 -19
  289. package/dist/db/migrations/115_global_workflows_cluster_switch.d.ts +2 -3
  290. package/dist/db/migrations/121_org_settings_allow_untrusted_dockerfile_builds.d.ts +7 -8
  291. package/dist/db/migrations/122_host_roster_scaler_managed.d.ts +9 -16
  292. package/dist/db/migrations/123_workflow_registrations_default_branch.d.ts +8 -16
  293. package/dist/db/migrations/125_org_trust_directory.d.ts +13 -21
  294. package/dist/db/migrations/126_held_runs_posted_pending_check.d.ts +10 -16
  295. package/dist/db/migrations/127_org_trust_policy_approval_expiry_seconds.d.ts +8 -16
  296. package/dist/db/migrations/128_execution_runs_global_eval_round.d.ts +6 -11
  297. package/dist/db/migrations/129_execution_runs_dispatch_routing_key.d.ts +8 -11
  298. package/dist/db/migrations/130_scaler_provision_outcomes.d.ts +13 -20
  299. package/dist/db/migrations/131_execution_jobs_git_credentials.d.ts +12 -22
  300. package/dist/db/migrations/132_execution_runs_trigger_event.d.ts +6 -16
  301. package/dist/db/migrations/133_dispatch_queue_source_tar_digest.d.ts +6 -9
  302. package/dist/db/migrations/140_dispatch_queue_canonical_labels.d.ts +22 -40
  303. package/dist/db/migrations/143_execution_jobs_precursor_result.d.ts +9 -18
  304. package/dist/db/migrations/144_execution_runs_registration_window.d.ts +12 -20
  305. package/dist/db/migrations/147_sealed_job_secrets.d.ts +5 -9
  306. package/dist/db/migrations/148_cluster_settings_sealed_secrets_retry_backoff_ms.d.ts +7 -13
  307. package/dist/db/migrations/150_execution_runs_status_epoch.d.ts +6 -11
  308. package/dist/db/migrations/152_org_settings_cache_upload_settle_timeout.d.ts +5 -8
  309. package/dist/db/migrations/157_host_roster_identity_source.d.ts +9 -13
  310. package/dist/db/migrations/159_org_id_widen_to_source_width.d.ts +5 -0
  311. package/dist/db/migrator.d.ts +17 -25
  312. package/dist/db/notify-listener.d.ts +8 -11
  313. package/dist/db/repos/dashboard-encryption-keys-repo.d.ts +9 -10
  314. package/dist/db/synthetic-job-ids.d.ts +6 -8
  315. package/dist/db/types.d.ts +531 -1058
  316. package/dist/deployment/deployment-identity.d.ts +42 -60
  317. package/dist/diagnostics/bundle-reader.d.ts +3 -15
  318. package/dist/diagnostics/bundle-writer.d.ts +5 -12
  319. package/dist/diagnostics/checks/agents.d.ts +1 -7
  320. package/dist/diagnostics/checks/backup.d.ts +7 -10
  321. package/dist/diagnostics/checks/certs.d.ts +1 -6
  322. package/dist/diagnostics/checks/config.d.ts +2 -5
  323. package/dist/diagnostics/checks/db.d.ts +1 -1
  324. package/dist/diagnostics/checks/disk.d.ts +1 -6
  325. package/dist/diagnostics/checks/firecracker-network.d.ts +3 -3
  326. package/dist/diagnostics/checks/index.d.ts +0 -6
  327. package/dist/diagnostics/checks/retention.d.ts +3 -6
  328. package/dist/diagnostics/checks/scaler.d.ts +3 -7
  329. package/dist/diagnostics/checks/ws.d.ts +1 -6
  330. package/dist/diagnostics/fleet-collector.d.ts +11 -14
  331. package/dist/diagnostics/fleet-constants.d.ts +1 -3
  332. package/dist/diagnostics/fleet-selection.d.ts +3 -7
  333. package/dist/diagnostics/fleet-topology.d.ts +2 -6
  334. package/dist/diagnostics/fleet-wiring.d.ts +6 -12
  335. package/dist/diagnostics/index.d.ts +0 -5
  336. package/dist/diagnostics/runner.d.ts +4 -8
  337. package/dist/diagnostics/types.d.ts +10 -21
  338. package/dist/drain/drain-controller.d.ts +16 -22
  339. package/dist/entry-helpers.d.ts +0 -2
  340. package/dist/events/circuit-breaker.d.ts +0 -3
  341. package/dist/events/event-router.d.ts +1 -2
  342. package/dist/events/event-store.d.ts +0 -9
  343. package/dist/events/trust-store.d.ts +0 -3
  344. package/dist/events/types.d.ts +0 -9
  345. package/dist/firecracker/host-network.d.ts +24 -30
  346. package/dist/firecracker/net-interfaces.d.ts +4 -7
  347. package/dist/helpers/rate-limiter.d.ts +0 -1
  348. package/dist/index.js +240 -482
  349. package/dist/metrics/agent-metrics-aggregator.d.ts +24 -67
  350. package/dist/metrics/metrics-reporter.d.ts +4 -13
  351. package/dist/metrics/prometheus.d.ts +47 -81
  352. package/dist/orchestrator-core.d.ts +3 -7
  353. package/dist/pipeline/content-filter.d.ts +20 -30
  354. package/dist/pipeline/cross-source-tally.d.ts +7 -8
  355. package/dist/pipeline/decorating-secret-resolver.d.ts +4 -8
  356. package/dist/pipeline/degraded-reason.d.ts +3 -4
  357. package/dist/pipeline/direct-ingress-deps.d.ts +15 -24
  358. package/dist/pipeline/dispatch-matched-workflow.d.ts +290 -526
  359. package/dist/pipeline/flatten-lock-steps.d.ts +4 -6
  360. package/dist/pipeline/global-dispatch-identity.d.ts +5 -10
  361. package/dist/pipeline/global-eval-round.d.ts +62 -156
  362. package/dist/pipeline/global-round-hold.d.ts +5 -7
  363. package/dist/pipeline/held-context-data.d.ts +5 -8
  364. package/dist/pipeline/held-round-registrations.d.ts +8 -11
  365. package/dist/pipeline/install-gate.d.ts +15 -25
  366. package/dist/pipeline/install-secrets-resolver.d.ts +24 -34
  367. package/dist/pipeline/internal-event-pipeline.d.ts +45 -62
  368. package/dist/pipeline/invoke-gate.d.ts +27 -40
  369. package/dist/pipeline/job-contexts.d.ts +19 -36
  370. package/dist/pipeline/manual-schedule.d.ts +7 -13
  371. package/dist/pipeline/needs-scheduler.d.ts +29 -46
  372. package/dist/pipeline/pending-workflow-context.d.ts +14 -28
  373. package/dist/pipeline/process-webhook.d.ts +88 -123
  374. package/dist/pipeline/processor.d.ts +209 -355
  375. package/dist/pipeline/remote-source-store.d.ts +5 -8
  376. package/dist/pipeline/request-idempotency.d.ts +10 -13
  377. package/dist/pipeline/rerun-global.d.ts +6 -7
  378. package/dist/pipeline/rerun-inputs.d.ts +23 -37
  379. package/dist/pipeline/rerun.d.ts +34 -57
  380. package/dist/pipeline/resolve-sandbox-grant.d.ts +5 -10
  381. package/dist/pipeline/resume-workflow.d.ts +28 -34
  382. package/dist/pipeline/route-or-dispatch-jobs.d.ts +19 -30
  383. package/dist/pipeline/run-event-context.d.ts +16 -21
  384. package/dist/pipeline/sandbox-allowlist-reader.d.ts +7 -11
  385. package/dist/pipeline/security-hold-check.d.ts +56 -80
  386. package/dist/pipeline/test-pipeline.d.ts +20 -46
  387. package/dist/pipeline/unbound-job-context.d.ts +6 -9
  388. package/dist/pipeline/undispatched-hold-checks.d.ts +4 -6
  389. package/dist/pipeline/wave-scheduler.d.ts +15 -22
  390. package/dist/pipeline/webhook-payload-store.d.ts +3 -10
  391. package/dist/pipeline/workflow-lock-at-sha.d.ts +14 -20
  392. package/dist/policy/dashboard-write-policy.d.ts +1 -1
  393. package/dist/provider-registry.d.ts +0 -19
  394. package/dist/providers/generic/index.d.ts +0 -2
  395. package/dist/providers/generic/normalizer.d.ts +0 -1
  396. package/dist/providers/generic/verification.d.ts +0 -8
  397. package/dist/providers/github/auth.d.ts +0 -1
  398. package/dist/providers/github/changed-files.d.ts +2 -1
  399. package/dist/providers/github/file-contents.d.ts +0 -4
  400. package/dist/providers/github/lock-file.d.ts +0 -4
  401. package/dist/providers/github/normalizer.d.ts +1 -9
  402. package/dist/providers/local/index.d.ts +1 -2
  403. package/dist/providers/local/lock-file-fetcher.d.ts +0 -4
  404. package/dist/providers/local/normalizer.d.ts +0 -10
  405. package/dist/providers/local/repo-url-builder.d.ts +0 -2
  406. package/dist/providers/universal-git/clone-token.d.ts +0 -2
  407. package/dist/providers/universal-git/lock-file.d.ts +0 -2
  408. package/dist/providers/universal-git/normalizer.d.ts +0 -2
  409. package/dist/queue/bootstrap.d.ts +3 -15
  410. package/dist/queue/cleanup.d.ts +29 -50
  411. package/dist/queue/depth-refresher.d.ts +21 -39
  412. package/dist/queue/job-queue.d.ts +112 -163
  413. package/dist/queue/retention.d.ts +23 -36
  414. package/dist/queue/scheduled-job.d.ts +17 -39
  415. package/dist/queue/terminalize-unroutable.d.ts +16 -18
  416. package/dist/queue/unroutable-probe.d.ts +15 -22
  417. package/dist/registration/extractor.d.ts +0 -6
  418. package/dist/registration/registration-index.d.ts +0 -6
  419. package/dist/registration/registration-store.d.ts +0 -9
  420. package/dist/reporting/agent-failure-category.d.ts +3 -5
  421. package/dist/reporting/check-run-reporter.d.ts +142 -316
  422. package/dist/reporting/check-run-summary.d.ts +16 -35
  423. package/dist/reporting/check-run-tracking-store.d.ts +54 -107
  424. package/dist/reporting/execution-tracker.d.ts +356 -526
  425. package/dist/reporting/fs-log-storage.d.ts +31 -33
  426. package/dist/reporting/job-check-run-completion.d.ts +14 -22
  427. package/dist/reporting/log-chunk-sink.d.ts +11 -16
  428. package/dist/reporting/log-pull-handler.d.ts +4 -13
  429. package/dist/reporting/log-retention.d.ts +3 -4
  430. package/dist/reporting/log-storage.d.ts +24 -52
  431. package/dist/reporting/log-writer.d.ts +28 -56
  432. package/dist/reporting/peer-log-normalize.d.ts +4 -8
  433. package/dist/reporting/run-aggregator.d.ts +6 -11
  434. package/dist/reporting/run-summary-fields.d.ts +5 -8
  435. package/dist/reporting/s3-log-storage.d.ts +31 -50
  436. package/dist/reporting/step-display-order.d.ts +11 -21
  437. package/dist/reporting/step-log-buffer.d.ts +7 -28
  438. package/dist/reporting/step-log-reader.d.ts +11 -19
  439. package/dist/routes/admin-access-log.d.ts +4 -6
  440. package/dist/routes/admin-auth.d.ts +17 -38
  441. package/dist/routes/admin-backends.d.ts +3 -14
  442. package/dist/routes/admin-cluster-name.d.ts +13 -21
  443. package/dist/routes/admin-cluster-settings.d.ts +6 -9
  444. package/dist/routes/admin-config.d.ts +7 -19
  445. package/dist/routes/admin-contexts.d.ts +6 -13
  446. package/dist/routes/admin-db.d.ts +5 -10
  447. package/dist/routes/admin-event-dlq.d.ts +3 -5
  448. package/dist/routes/admin-event-inspect.d.ts +3 -4
  449. package/dist/routes/admin-event-log.d.ts +3 -7
  450. package/dist/routes/admin-events.d.ts +16 -30
  451. package/dist/routes/admin-held-runs.d.ts +52 -76
  452. package/dist/routes/admin-maintenance.d.ts +3 -6
  453. package/dist/routes/admin-orchestrator-drain.d.ts +0 -2
  454. package/dist/routes/admin-org-settings.d.ts +8 -14
  455. package/dist/routes/admin-peer-forget.d.ts +0 -1
  456. package/dist/routes/admin-queue-execution.d.ts +3 -3
  457. package/dist/routes/admin-registrations.d.ts +3 -12
  458. package/dist/routes/admin-runs.d.ts +16 -29
  459. package/dist/routes/admin-scaler-orphans.d.ts +4 -4
  460. package/dist/routes/admin-scaler-reload.d.ts +5 -8
  461. package/dist/routes/admin-scheduled-jobs.d.ts +3 -4
  462. package/dist/routes/admin-sources.d.ts +20 -29
  463. package/dist/routes/admin-trust-policy.d.ts +31 -48
  464. package/dist/routes/admin.d.ts +67 -94
  465. package/dist/routes/caller-identity.d.ts +5 -12
  466. package/dist/routes/capabilities.d.ts +8 -13
  467. package/dist/routes/diagnostics.d.ts +2 -10
  468. package/dist/routes/fleet.d.ts +1 -2
  469. package/dist/routes/github-webhook.d.ts +2 -5
  470. package/dist/routes/health.d.ts +6 -19
  471. package/dist/routes/provenance-oidc.d.ts +3 -3
  472. package/dist/routes/uploads.d.ts +5 -11
  473. package/dist/routes/webhooks.d.ts +2 -24
  474. package/dist/scaler/agent-binary-location.d.ts +77 -0
  475. package/dist/scaler/agent-fit.d.ts +2 -2
  476. package/dist/scaler/backend-factory.d.ts +10 -18
  477. package/dist/scaler/bare-metal-backend.d.ts +30 -46
  478. package/dist/scaler/claim-store.d.ts +20 -43
  479. package/dist/scaler/config.d.ts +10 -37
  480. package/dist/scaler/container-backend.d.ts +22 -35
  481. package/dist/scaler/container-hostconfig.d.ts +19 -16
  482. package/dist/scaler/container-routing.d.ts +10 -13
  483. package/dist/scaler/disk-guard.d.ts +2 -3
  484. package/dist/scaler/event-backend.d.ts +33 -58
  485. package/dist/scaler/event-provision-reaper.d.ts +61 -84
  486. package/dist/scaler/failure-tracker.d.ts +6 -13
  487. package/dist/scaler/file-tail.d.ts +6 -19
  488. package/dist/scaler/firecracker-api.d.ts +19 -63
  489. package/dist/scaler/firecracker-backend.d.ts +142 -258
  490. package/dist/scaler/host-access.d.ts +7 -10
  491. package/dist/scaler/index.d.ts +3 -6
  492. package/dist/scaler/ip-allocator.d.ts +30 -82
  493. package/dist/scaler/label-matcher.d.ts +14 -35
  494. package/dist/scaler/log-forwarder.d.ts +6 -25
  495. package/dist/scaler/machine-ledger.d.ts +39 -86
  496. package/dist/scaler/manager.d.ts +517 -787
  497. package/dist/scaler/pending-scale-sweeper.d.ts +8 -11
  498. package/dist/scaler/reap-orphans.d.ts +8 -12
  499. package/dist/scaler/resolve-container-auth.d.ts +12 -21
  500. package/dist/scaler/scaler-events.d.ts +2 -5
  501. package/dist/scaler/scaler-state-store.d.ts +127 -189
  502. package/dist/scaler/spawn-errors.d.ts +1 -4
  503. package/dist/scaler/startup-orphan-sweep.d.ts +3 -4
  504. package/dist/scaler/startup-tools-check.d.ts +21 -0
  505. package/dist/scaler/types.d.ts +142 -255
  506. package/dist/scaler/vm-job-bindings.d.ts +5 -9
  507. package/dist/scaler/warm-pool.d.ts +49 -93
  508. package/dist/secrets/audit-logger.d.ts +0 -3
  509. package/dist/secrets/backend-health.d.ts +0 -9
  510. package/dist/secrets/backend-registry.d.ts +0 -9
  511. package/dist/secrets/cleanup.d.ts +0 -1
  512. package/dist/secrets/config.d.ts +0 -3
  513. package/dist/secrets/ephemeral-keys.d.ts +0 -3
  514. package/dist/secrets/pg-secret-store.d.ts +0 -3
  515. package/dist/secrets/rbac.d.ts +0 -6
  516. package/dist/secrets/secret-output-store.d.ts +0 -6
  517. package/dist/secrets/secret-resolver.d.ts +2 -6
  518. package/dist/secrets/token-manager.d.ts +0 -4
  519. package/dist/secrets/vault-secret-store.d.ts +0 -13
  520. package/dist/security/comment-handler.d.ts +0 -2
  521. package/dist/security/workflow-diff.d.ts +1 -1
  522. package/dist/server.js +8628 -13569
  523. package/dist/sources/source-manager.d.ts +0 -3
  524. package/dist/sources/source-store.d.ts +0 -9
  525. package/dist/sources/source-validator.d.ts +0 -3
  526. package/dist/stale-detector/all-terminal-runs.d.ts +8 -11
  527. package/dist/stale-detector/gate-deadline-detector.d.ts +14 -19
  528. package/dist/stale-detector/reboot-deadline-sweep.d.ts +7 -11
  529. package/dist/stale-detector/stale-dispatch-candidates.d.ts +13 -20
  530. package/dist/stale-detector/stale-run-detector.d.ts +74 -121
  531. package/dist/stale-detector/workflow-deadline-detector.d.ts +15 -43
  532. package/dist/standalone.js +7670 -12402
  533. package/dist/storage/blob-routes.d.ts +10 -19
  534. package/dist/storage/filesystem.d.ts +19 -29
  535. package/dist/storage/index.d.ts +2 -10
  536. package/dist/storage/key-discriminator.d.ts +8 -10
  537. package/dist/storage/loopback-guard.d.ts +27 -45
  538. package/dist/storage/s3.d.ts +25 -52
  539. package/dist/storage/sign-url.d.ts +7 -22
  540. package/dist/storage/types.d.ts +44 -70
  541. package/dist/webhook/event-log.d.ts +0 -2
  542. package/dist/webhook/generic-sources.d.ts +0 -21
  543. package/dist/webhook/ingest-admission.d.ts +0 -1
  544. package/dist/webhook/relay-buffer.d.ts +2 -2
  545. package/dist/webhook/verify-inbound.d.ts +0 -1
  546. package/dist/worker/in-memory-execution-tracker.d.ts +9 -31
  547. package/dist/worker/in-memory-job-queue.d.ts +32 -72
  548. package/dist/worker/peer-outbox.d.ts +5 -8
  549. package/dist/worker/reroute-dispatch.d.ts +4 -6
  550. package/dist/worker/static-agent-token-store.d.ts +6 -27
  551. package/dist/worker/worker-outbox-relay.d.ts +2 -2
  552. package/dist/worker/worker-status.d.ts +3 -20
  553. package/dist/ws/agent-api-registry.d.ts +8 -27
  554. package/dist/ws/agent-handler.d.ts +63 -110
  555. package/dist/ws/agent-heartbeat.d.ts +5 -12
  556. package/dist/ws/bringup-api.d.ts +31 -38
  557. package/dist/ws/dashboard-backends-handler.d.ts +12 -22
  558. package/dist/ws/dashboard-context-handler.d.ts +37 -80
  559. package/dist/ws/dashboard-diagnostics-handler.d.ts +8 -25
  560. package/dist/ws/dashboard-dispatch-guard.d.ts +3 -4
  561. package/dist/ws/dashboard-fleet-handler.d.ts +9 -13
  562. package/dist/ws/dashboard-fleet-write-handler.d.ts +7 -21
  563. package/dist/ws/dashboard-global-workflows-handler.d.ts +22 -44
  564. package/dist/ws/dashboard-registrations-handler.d.ts +10 -27
  565. package/dist/ws/dashboard-run-state-handler.d.ts +10 -13
  566. package/dist/ws/event-buffer.d.ts +3 -6
  567. package/dist/ws/execution-status-frame.d.ts +9 -11
  568. package/dist/ws/failure-messages.d.ts +9 -14
  569. package/dist/ws/fleet-agent-collector.d.ts +6 -12
  570. package/dist/ws/fleet-runs-on-all.d.ts +1 -6
  571. package/dist/ws/git-credential-relay.d.ts +12 -20
  572. package/dist/ws/inventory-api.d.ts +4 -5
  573. package/dist/ws/job-status-forward-frame.d.ts +30 -0
  574. package/dist/ws/observer-registry.d.ts +14 -59
  575. package/dist/ws/outbound-frame-guard.d.ts +4 -0
  576. package/dist/ws/ownership-gate.d.ts +1 -1
  577. package/dist/ws/platform-client.d.ts +32 -31
  578. package/dist/ws/replay-chunker.d.ts +7 -10
  579. package/dist/ws/server-options.d.ts +5 -9
  580. package/dist/ws/test-relay-handlers.d.ts +45 -59
  581. package/dist/ws/test-run-log-cursor.d.ts +18 -0
  582. package/installer-image-digests.json +3 -3
  583. package/package.json +6 -5
  584. package/sbom.spdx.json +53 -53
  585. package/dist/__test-helpers__/fake-scaler-state-store.d.ts +0 -24
  586. package/dist/__test-helpers__/mock-db-query.d.ts +0 -129
  587. package/dist/__test-helpers__/mock-db.d.ts +0 -134
  588. package/dist/__test-helpers__/mock-ws.d.ts +0 -13
  589. package/dist/__test-helpers__/peer-mutual-auth.d.ts +0 -42
  590. package/dist/__test-helpers__/scratch-db.d.ts +0 -16
  591. package/dist/__test-helpers__/test-db.d.ts +0 -34
  592. package/dist/pipeline/dispatch-matched-workflow.test-helpers.d.ts +0 -121
@@ -2,8 +2,7 @@ import { type Kysely } from 'kysely';
2
2
  import type { Database } from '../db/types.js';
3
3
  import type { ScalerEvent } from './types.js';
4
4
  /**
5
- * Snapshot of a spawning-agent record. Mirrors the row shape in
6
- * `scaler_spawning_agents`.
5
+ * A `scaler_spawning_agents` row.
7
6
  *
8
7
  * The ownership and self-describing fields are optional: a row written before a
9
8
  * coordinator instance id was known carries none of them, and an absent
@@ -21,18 +20,14 @@ export interface SpawningAgentSnapshot {
21
20
  ownerInstanceId?: string;
22
21
  /** The coordinator the agent actually reached when it registered. */
23
22
  adoptedBy?: string;
24
- /** When the adopting coordinator claimed the agent. */
25
23
  adoptedAt?: Date;
26
- /** The scaler's mandatory labels, copied onto the row at spawn time. */
24
+ /** Copied from the scaler at spawn time, as are `provisioningTargets` and `roles`. */
27
25
  mandatoryLabels?: string[];
28
- /** The scaler's provisioning targets, copied onto the row at spawn time. */
29
26
  provisioningTargets?: string[];
30
- /** The scaler's roles, copied onto the row at spawn time. */
31
27
  roles?: string[];
32
- /** The scaler backend that spawned the agent. */
33
28
  backendType?: string;
34
29
  }
35
- /** A pending provisioning claim, as written by the event scaler's claim store. */
30
+ /** Written by the event scaler's claim store. */
36
31
  export interface PendingClaimRow {
37
32
  claimHash: string;
38
33
  claimPrefix: string;
@@ -43,7 +38,6 @@ export interface PendingClaimRow {
43
38
  orchestratorUrl: string;
44
39
  expiresAt: Date;
45
40
  }
46
- /** What a successful `redeemClaim` returns. */
47
41
  export interface RedeemedClaim {
48
42
  agentId: string;
49
43
  labels: string[];
@@ -56,21 +50,21 @@ export interface RedeemedClaim {
56
50
  */
57
51
  export interface ScalerCapSlot {
58
52
  /**
59
- * Live event-scaler spawn rows for this scaler across every coordinator.
60
- * Read inside the advisory-locked transaction, so no other holder of the
61
- * lock can change it while the caller decides.
53
+ * Live event-scaler spawn rows for this scaler across every coordinator,
54
+ * read inside the advisory-locked transaction so no other lock holder can
55
+ * change it while the caller decides.
62
56
  */
63
57
  clusterActiveCount: number;
64
58
  /**
65
59
  * Claim a slot by writing the spawn row in the same transaction the count
66
- * was read in. Counting without claiming here bounds nothing: the spawn row
67
- * is otherwise written well after the check, so every coordinator arriving
68
- * in that window reads the same pre-spawn count and admits.
60
+ * was read in. Counting without claiming bounds nothing: the spawn row is
61
+ * otherwise written well after the check, so every coordinator arriving in
62
+ * that window reads the same pre-spawn count and admits.
69
63
  */
70
64
  reserve(snapshot: SpawningAgentSnapshot): Promise<void>;
71
65
  /**
72
- * Whether this scaler already holds a spawn row bound to `jobId` on any
73
- * coordinator. Read inside the same locked transaction as the claim.
66
+ * Whether this scaler holds a spawn row bound to `jobId` on any coordinator,
67
+ * read inside the same locked transaction as the claim.
74
68
  */
75
69
  hasProvisionForJob(jobId: string): Promise<boolean>;
76
70
  }
@@ -82,73 +76,60 @@ export interface ReapCandidate {
82
76
  ownerInstanceId?: string;
83
77
  adoptedBy?: string;
84
78
  /**
85
- * When the provision was requested. The reaper ages every row on this and
86
- * never on `adopted_at`: a coordinator that re-adopts its own agent refreshes
87
- * `adopted_at`, so a restart loop on the adopter would keep resetting the
88
- * clock on its own stranded provision and the row would never age out.
79
+ * The reaper ages every row on this, never on `adopted_at`: a coordinator
80
+ * that re-adopts its own agent refreshes `adopted_at`, so a restart loop on
81
+ * the adopter would keep resetting the clock and the row would never age out.
89
82
  */
90
83
  spawnedAt: Date;
91
84
  /**
92
- * The run this provision was spawned for, when it was job-bound. Carried so a
93
- * teardown for a provision that never registered can be attributed back to the
94
- * job that is still waiting on it — the reaper is leader-gated, so the
95
- * coordinator that condemns the row is often not the one that spawned it and
96
- * has no in-memory spawning entry to read the identity from.
85
+ * Set when job-bound, so a teardown of a never-registered provision can be
86
+ * attributed to the waiting job: the reaper is leader-gated, so the
87
+ * condemning coordinator often did not spawn the row and has no in-memory
88
+ * spawning entry to read the identity from.
97
89
  */
98
90
  runId?: string;
99
- /** The queued job this provision was spawned for. Absent for a warm fill. */
91
+ /** Absent for a warm fill. */
100
92
  boundJobId?: string;
101
93
  }
102
- /**
103
- * Snapshot of an agent-job correlation. Mirrors the row shape in
104
- * `scaler_agent_jobs`.
105
- */
94
+ /** A `scaler_agent_jobs` row. */
106
95
  export interface AgentJobCorrelationSnapshot {
107
96
  agentId: string;
108
97
  runId: string;
109
98
  jobId: string;
110
99
  }
111
- /**
112
- * Snapshot of a resource reservation. Mirrors the row shape in
113
- * `scaler_reservations`.
114
- */
100
+ /** A `scaler_reservations` row. */
115
101
  export interface ReservationSnapshot {
116
102
  agentId: string;
117
103
  scalerName: string;
118
104
  cpus: number;
119
105
  memBytes: number;
120
- /**
121
- * The coordinator instance holding the reservation. Absent means "unknown
122
- * owner", never "held by someone else".
123
- */
106
+ /** Absent means "unknown owner", never "held by someone else". */
124
107
  ownerInstanceId?: string;
125
108
  }
126
109
  /**
127
110
  * DB persistence for `ScalerManager` HA-critical state.
128
111
  *
129
- * Backed by four tables — `scaler_spawning_agents`, `scaler_agent_jobs`,
130
- * `scaler_reservations`, `scaler_pending_claims` — so a Raft leader switch /
131
- * coord crash no longer:
112
+ * Backed by `scaler_spawning_agents`, `scaler_agent_jobs`,
113
+ * `scaler_reservations` and `scaler_pending_claims`, so a Raft leader switch
114
+ * or coord crash does not:
132
115
  *
133
- * - orphans an agent that is mid-spawn (lost `boundJobId` → eager
134
- * dispatch silently downgraded to a generic queue drain),
135
- * - strands a reservation (resource counted as used until the agent's
136
- * backend GC eventually disconnects, minutes later),
137
- * - drops the agent → run/job correlation (execution-tracker loses
116
+ * - orphan a mid-spawn agent (lost `boundJobId` → eager dispatch silently
117
+ * downgraded to a generic queue drain),
118
+ * - strand a reservation (counted as used until the backend GC disconnects
119
+ * the agent, minutes later),
120
+ * - drop the agent → run/job correlation (execution-tracker loses
138
121
  * scaler-lifecycle events emitted by the new coord).
139
122
  *
140
- * The consumer keeps the in-memory Maps as L1 caches. On boot /
141
- * become-leader the caches are hydrated via `recoverState()`.
123
+ * The consumer keeps in-memory Maps as L1 caches, hydrated via `recoverState()`
124
+ * on boot / become-leader.
142
125
  *
143
- * `perScalerUsage` / `globalUsage` are NOT stored — they are derived
144
- * state recomputed from `SUM(...) FROM scaler_reservations` on
145
- * recovery, which means the on-disk reservation rows are the single
146
- * source of truth for the cap-check critical section.
126
+ * `perScalerUsage` / `globalUsage` are NOT stored: they are recomputed from
127
+ * `SUM(...) FROM scaler_reservations` on recovery, so the reservation rows are
128
+ * the single source of truth for the cap-check critical section.
147
129
  *
148
- * The `eventBuffer` Map is also not persisted: events emitted before
149
- * correlation are observability, not correctness. A coord crash before
150
- * `correlateAgentToJob()` runs accepts losing those events (they are
151
- * observability, not correctness: nothing downstream waits on them).
130
+ * The `eventBuffer` Map is not persisted: a coord crash before
131
+ * `correlateAgentToJob()` loses those events, which are observability, not
132
+ * correctness — nothing downstream waits on them.
152
133
  *
153
134
  * Ownership columns (`owner_instance_id`, `adopted_by`) let several
154
135
  * coordinators behind one shared endpoint divide the same tables between them.
@@ -156,22 +137,18 @@ export interface ReservationSnapshot {
156
137
  * instance", so no query may read a NULL owner as somebody else's row.
157
138
  */
158
139
  /**
159
- * Postgres `lock_not_available`. Raised when the `lock_timeout` the cap
160
- * transaction sets expires with the advisory lock still held elsewhere —
161
- * a contended lock on a healthy database, which reads very differently from a
162
- * database that could not be reached at all.
140
+ * Postgres `lock_not_available`: the cap transaction's `lock_timeout` expired
141
+ * with the advisory lock held elsewhere — a contended lock on a healthy
142
+ * database, unlike a database that could not be reached at all.
163
143
  */
164
144
  export declare const PG_LOCK_NOT_AVAILABLE = "55P03";
165
145
  export declare class ScalerStateStore {
166
146
  private readonly db;
167
147
  private readonly lockWaitMs?;
168
148
  /**
169
- * `lockWaitMs` bounds how long `withScalerCapLock` waits to acquire the
170
- * advisory lock. It is the orchestrator's existing `dbPoolAcquireTimeoutMs`
171
- * — the same answer to "how long may a caller block waiting to get hold of a
172
- * database resource before we fail" — not a timeout of its own. Omitted, the
173
- * wait is unbounded except by `statement_timeout`, which is the behaviour a
174
- * store built without it has always had.
149
+ * `lockWaitMs` bounds how long `withScalerCapLock` waits for the advisory
150
+ * lock. It is the orchestrator's `dbPoolAcquireTimeoutMs`, not a timeout of
151
+ * its own. Omitted, the wait is bounded only by `statement_timeout`.
175
152
  */
176
153
  constructor(db: Kysely<Database>, lockWaitMs?: number | undefined);
177
154
  upsertSpawningAgent(snapshot: SpawningAgentSnapshot): Promise<void>;
@@ -179,30 +156,25 @@ export declare class ScalerStateStore {
179
156
  * Run a cap check plus its slot claim for one scaler under a cluster-wide
180
157
  * lock.
181
158
  *
182
- * `runWithReservationLock` in the manager is an in-process promise chain:
183
- * correct within an instance, blind across them. For an event scaler that
184
- * means N coordinators each provision up to `maxAgents` cloud instances, so
185
- * the number an operator writes is not the number they are billed for. The
186
- * advisory lock is transaction-scoped, so it releases on commit or rollback
187
- * with no unlock path to leak.
159
+ * The manager's `runWithReservationLock` is an in-process promise chain,
160
+ * blind across instances: N coordinators would each provision up to
161
+ * `maxAgents` cloud instances. The advisory lock is transaction-scoped, so it
162
+ * releases on commit or rollback with no unlock path to leak.
188
163
  *
189
- * The count and the claim share the transaction on purpose — see
190
- * `ScalerCapSlot.reserve`. `fn` therefore runs inside an open transaction:
191
- * keep it short, and never await anything outside the database in it.
164
+ * The count and the claim share the transaction (see `ScalerCapSlot.reserve`),
165
+ * so `fn` runs inside an open transaction: keep it short, and never await
166
+ * anything outside the database in it.
192
167
  *
193
- * READ COMMITTED is pinned rather than inherited. The lock is taken first
194
- * and the count read second, so each statement needs its own snapshot for
195
- * the second holder to see the first one's committed row. Under REPEATABLE
196
- * READ the snapshot is taken at the FIRST statement — before the lock is
197
- * granted — so both coordinators would read the same pre-claim count and
198
- * both admit, reintroducing the exact defect this exists to close. Pinning
199
- * it means a server-side `default_transaction_isolation` change cannot do
200
- * that silently.
168
+ * READ COMMITTED is pinned, not inherited: the lock is taken before the count
169
+ * is read, so each statement needs its own snapshot to see the previous
170
+ * holder's committed row. Under REPEATABLE READ the snapshot is taken at the
171
+ * FIRST statement, before the lock is granted, so both coordinators would
172
+ * read the same pre-claim count and admit. Pinning it means a server-side
173
+ * `default_transaction_isolation` change cannot do that silently.
201
174
  *
202
175
  * A caller that cannot get the lock within `lockWaitMs` fails rather than
203
176
  * queuing: the manager holds its process-wide reservation lock across this
204
- * call, so an unbounded wait here stalls every other backend's scale
205
- * request too.
177
+ * call, so an unbounded wait would stall every other backend's scale request.
206
178
  */
207
179
  withScalerCapLock<T>(scalerName: string, fn: (slot: ScalerCapSlot) => Promise<T> | T): Promise<T>;
208
180
  deleteSpawningAgent(agentId: string): Promise<void>;
@@ -210,38 +182,32 @@ export declare class ScalerStateStore {
210
182
  * Delete a spawning-agent row only while no instance has adopted it.
211
183
  *
212
184
  * The spawning instance is never told that a peer adopted its agent, so its
213
- * in-memory entry survives adoption and its stale-entry prune fires five
214
- * minutes later. An unconditional delete there would drop the row whose
215
- * `adopted_by` is the only durable record of a live provision — and an
216
- * adopted event agent legitimately runs for hours, so the reaper would find
217
- * nothing to tear down if the adopting instance then died. The
218
- * `adopted_by IS NULL` predicate keeps the prune to rows nobody claimed.
185
+ * stale-entry prune fires five minutes later regardless. An unconditional
186
+ * delete would drop the row whose `adopted_by` is the only durable record of
187
+ * a live provision; an adopted event agent can run for hours, so the reaper
188
+ * would find nothing to tear down if the adopting instance then died.
219
189
  */
220
190
  deleteUnadoptedSpawningAgent(agentId: string): Promise<void>;
221
191
  /**
222
192
  * The instance that adopted a provision, or null while nobody has.
223
193
  *
224
- * The counterpart read to `deleteUnadoptedSpawningAgent`'s predicate, for the
225
- * caller that must not act rather than must not delete: the spawning instance
226
- * is never told that a peer adopted its agent, so a stale in-memory entry is
227
- * no evidence the provision failed.
194
+ * The read counterpart of `deleteUnadoptedSpawningAgent`'s predicate, for a
195
+ * caller that must not act: a stale in-memory entry on the spawning instance
196
+ * is no evidence the provision failed.
228
197
  *
229
- * Reads the LIVE spawn row first and the durable outcome second, because the
230
- * spawn row is deleted on teardown and its absence is ambiguous — it is both
231
- * "never adopted" and "adopted, then torn down". The outcome row survives the
232
- * delete and answers the second case positively.
198
+ * Reads the LIVE spawn row first, then the durable outcome: the spawn row is
199
+ * deleted on teardown, so its absence means either "never adopted" or
200
+ * "adopted, then torn down", and the outcome row answers the second case.
233
201
  *
234
- * A provision with neither row still answers null, and the prune treats that
235
- * as "no evidence" and reports — which is what a single coordinator wants and
236
- * what keeps every coordinator backing off on a real provisioning outage. See
237
- * `ScalerManager.reportPrunedProvisionFailure`.
202
+ * Neither row answers null; the prune treats that as "no evidence" and
203
+ * reports, which keeps every coordinator backing off on a real provisioning
204
+ * outage. See `ScalerManager.reportPrunedProvisionFailure`.
238
205
  */
239
206
  provisionAdopter(agentId: string): Promise<string | null>;
240
207
  /**
241
- * Every spawning-agent row in the table, whoever owns it. Not for recovery —
242
- * hydrating a peer's in-flight spawns as our own lets the spawn-timeout
243
- * reaper destroy agents that peer is still waiting on. Recovery uses
244
- * `listSpawningAgentsForOwner`.
208
+ * Every row, whoever owns it. Not for recovery (use
209
+ * `listSpawningAgentsForOwner`): hydrating a peer's in-flight spawns as our
210
+ * own lets the spawn-timeout reaper destroy agents that peer still awaits.
245
211
  */
246
212
  listSpawningAgents(): Promise<SpawningAgentSnapshot[]>;
247
213
  /**
@@ -252,41 +218,35 @@ export declare class ScalerStateStore {
252
218
  * itself still resolves. Without the second arm a restart is a silent leak:
253
219
  * recovery rehydrates the row, the stale-spawn prune drops the in-memory
254
220
  * entry but spares the row, and the still-live agent's next registration
255
- * finds neither — it reads as a static agent, so no `scale-down` is ever
256
- * emitted and the reaper spares it because the agent is registered and its
257
- * adopter is alive. Gated on `backend_type = 'event'`: a local-backend
258
- * agent's compute is pinned to another host, so adopting its bookkeeping
259
- * would be a lie.
221
+ * finds neither — it reads as a static agent, so no `scale-down` is emitted
222
+ * and the reaper spares it (registered, adopter alive). Gated on
223
+ * `backend_type = 'event'`: a local-backend agent's compute is pinned to
224
+ * another host, so adopting its bookkeeping would be a lie.
260
225
  *
261
226
  * The adoption is also recorded in `scaler_provision_outcomes`, in the SAME
262
- * transaction as the stamp. The spawn row is deleted on teardown, so its
263
- * `adopted_by` is not a durable answer to "was this provision ever adopted?"
264
- * — and the stale-spawn prune needs exactly that answer to tell a dead
265
- * external provision from a healthy one it was not told about. Writing
266
- * it here rather than at the two call sites is deliberate: this method is the
267
- * single writer of `adopted_by`, so no adoption path can miss the record.
268
- * Splitting the two writes would let a crash leave an adopted row whose
269
- * adoption the prune cannot see, which is the very ambiguity being removed.
227
+ * transaction: the spawn row is deleted on teardown, and the stale-spawn
228
+ * prune needs a durable "was this ever adopted?" to tell a dead external
229
+ * provision from a healthy one it was not told about. This method is the
230
+ * single writer of `adopted_by`, so no adoption path can miss the record;
231
+ * splitting the writes would let a crash hide an adoption from the prune.
270
232
  */
271
233
  adoptSpawningAgent(agentId: string, instanceId: string): Promise<SpawningAgentSnapshot | null>;
272
234
  /**
273
- * Every spawning-agent row this instance owns. Scopes recovery so an instance
274
- * rehydrates only its own bookkeeping. A row with a NULL `owner_instance_id`
275
- * has an unknown owner and is deliberately not returned to anybody.
235
+ * Scopes recovery to this instance's own bookkeeping. A NULL-owner row is
236
+ * deliberately returned to nobody.
276
237
  */
277
238
  listSpawningAgentsForOwner(instanceId: string): Promise<SpawningAgentSnapshot[]>;
278
239
  /**
279
- * Whether `instanceId` adopted an event provision whose spawn row is still
280
- * live: one of the rows `listReapCandidates` returns that the reaper judges
281
- * by its adopter's liveness rather than by its own deadline. `peer forget`
282
- * reads it, so forgetting such an adopter never cuts the reaper's grace short.
240
+ * Whether `instanceId` adopted an event provision whose spawn row is live —
241
+ * a row the reaper judges by its adopter's liveness, not its deadline.
242
+ * `peer forget` reads it, so forgetting such an adopter never cuts the
243
+ * reaper's grace short.
283
244
  */
284
245
  hasAdoptedProvisions(instanceId: string): Promise<boolean>;
285
246
  /**
286
- * Every event row that is either past its spawn deadline without ever being
287
- * adopted, or adopted by some instance. The reaper decides which to tear down;
288
- * this only narrows the scan. Deliberately NOT a blanket `spawned_at < cutoff`
289
- * delete: an adopted event agent legitimately runs for hours.
247
+ * Event rows either adopted, or past the spawn deadline unadopted. The reaper
248
+ * decides what to tear down; this only narrows the scan. NOT a blanket
249
+ * `spawned_at < cutoff` delete: an adopted event agent can run for hours.
290
250
  */
291
251
  listReapCandidates(spawnCutoff: Date): Promise<ReapCandidate[]>;
292
252
  upsertAgentJob(snapshot: AgentJobCorrelationSnapshot): Promise<void>;
@@ -295,45 +255,37 @@ export declare class ScalerStateStore {
295
255
  upsertReservation(snapshot: ReservationSnapshot): Promise<void>;
296
256
  deleteReservation(agentId: string): Promise<void>;
297
257
  /**
298
- * Every reservation row in the table, whoever holds it. Not for recovery —
299
- * counting a peer's reservations against our own caps double-books the
300
- * cluster. Recovery uses `listReservationsForOwner`.
258
+ * Every row, whoever holds it. Not for recovery (use
259
+ * `listReservationsForOwner`): counting a peer's reservations against our
260
+ * own caps double-books the cluster.
301
261
  */
302
262
  listReservations(): Promise<ReservationSnapshot[]>;
303
263
  /**
304
- * Every reservation this instance holds. Scopes recovery so an instance
305
- * rehydrates only its own usage. A row with a NULL `owner_instance_id` has an
306
- * unknown owner and is deliberately not returned to anybody.
264
+ * Scopes recovery to this instance's own usage. A NULL-owner row is
265
+ * deliberately returned to nobody.
307
266
  */
308
267
  listReservationsForOwner(instanceId: string): Promise<ReservationSnapshot[]>;
309
268
  registerClaim(row: PendingClaimRow): Promise<void>;
310
269
  /**
311
- * Consume a claim and return its spec, or null when the code is unknown,
312
- * already consumed, or expired. The UPDATE is the consumption: it commits
313
- * before any mint is attempted, so two concurrent claims of one code — on the
314
- * same instance or on different ones — can never both mint.
270
+ * Null when the code is unknown, consumed or expired. The UPDATE is the
271
+ * consumption and commits before any mint, so two concurrent claims of one
272
+ * code, on one instance or several, can never both mint.
315
273
  */
316
274
  redeemClaim(claimHash: string): Promise<RedeemedClaim | null>;
317
- /**
318
- * Why a redeem failed. Called ONLY on the failure path, so the happy path
319
- * stays one round trip.
320
- */
275
+ /** Why a redeem failed; called ONLY on failure, so the happy path stays one round trip. */
321
276
  describeClaim(claimHash: string): Promise<{
322
277
  consumed: boolean;
323
278
  expired: boolean;
324
279
  } | null>;
325
280
  invalidateClaimsForAgent(agentId: string): Promise<void>;
326
281
  /**
327
- * Delete every claim whose `expires_at` passed before `cutoff`. Returns how
328
- * many rows went.
282
+ * Delete every claim whose `expires_at` is before `cutoff`; returns rows deleted.
329
283
  *
330
284
  * Nothing else removes a claim on a timer: `redeemClaim` only marks
331
285
  * `consumed_at`, and `invalidateClaimsForAgent` runs on a teardown path a
332
- * stranded provision never reaches. So a claim outlives its agent whenever a
333
- * registration unwinds after the claim was written, or whenever the
334
- * coordinator that would have torn the agent down crashed first — and the row
335
- * then sits in the table forever. Purging on `expires_at` covers both,
336
- * consumed or not, because an expired claim can never be redeemed again.
286
+ * stranded provision never reaches (a registration unwound after the claim
287
+ * was written, or the tearing-down coordinator crashed first). An expired
288
+ * claim can never be redeemed, so purging covers both, consumed or not.
337
289
  *
338
290
  * The caller subtracts a retention grace from now, so `describeClaim` can
339
291
  * still tell a late redeemer "expired" rather than "unknown code" for a while
@@ -343,69 +295,55 @@ export declare class ScalerStateStore {
343
295
  /**
344
296
  * Record the reaper's teardown verdict for one provision.
345
297
  *
346
- * Deliberately additive: it writes only the `condemned_*` columns. A
347
- * `heartbeat-timeout` condemns a provision that WAS adopted, so clearing the
348
- * adoption here would put the stale-spawn prune straight back to reporting a
349
- * healthy provision as a failed one — the exact misattribution this table
350
- * exists to remove.
298
+ * Writes only the `condemned_*` columns: a `heartbeat-timeout` condemns a
299
+ * provision that WAS adopted, and clearing the adoption would make the
300
+ * stale-spawn prune report a healthy provision as failed.
351
301
  *
352
- * Called only once the teardown was actually delivered. An emit that reached
353
- * nobody leaves the spawn row in place for the reaper to retry, so there is
354
- * no verdict yet to record.
302
+ * Called only once the teardown was delivered; an emit that reached nobody
303
+ * leaves the spawn row for the reaper to retry, so there is no verdict yet.
355
304
  *
356
- * The `condemned_*` half is the forensic side of the record and has no
357
- * production reader: `provisionAdopter` answers from `adopted_by` alone, so
358
- * the prune's verdict does not depend on it. It is written because the row
359
- * is the only surviving account of what became of a provision once the spawn
360
- * row is gone — which is what an operator investigating a torn-down
361
- * provision reads it for.
305
+ * `condemned_*` is forensic, with no production reader (`provisionAdopter`
306
+ * reads `adopted_by` alone): once the spawn row is gone, this row is the only
307
+ * account an operator has of what became of a torn-down provision.
362
308
  */
363
309
  recordProvisionCondemned(agentId: string, scalerName: string, reason: string): Promise<void>;
364
310
  /**
365
311
  * Delete outcome rows that can no longer be asked about; returns rows deleted.
366
312
  *
367
- * Two predicates, and the second is the load-bearing one. The cutoff alone is
368
- * not safe: recovery rehydrates an in-memory spawning entry from
369
- * `scaler_spawning_agents`, and a rehydrated entry is immediately stale, so
370
- * it asks about its provision on the very next prune however old the
371
- * provision is. While the spawn row exists the outcome must stay. Once the
372
- * spawn row is gone, nothing can rehydrate an entry for it, and the caller's
373
- * retention floor covers the one prune window still in flight.
313
+ * The cutoff alone is not safe: a spawning entry rehydrated by recovery is
314
+ * immediately stale, so it asks about its provision on the next prune however
315
+ * old the provision is. So the outcome stays while the spawn row exists; once
316
+ * it is gone nothing can rehydrate an entry, and the caller's retention floor
317
+ * covers the one prune window still in flight.
374
318
  *
375
319
  * Backed by `idx_scaler_provision_outcomes_updated_at`.
376
320
  */
377
321
  purgeProvisionOutcomes(cutoff: Date): Promise<number>;
378
322
  }
379
323
  /**
380
- * Aggregate event surface for "the scaler manager fully replayed its
381
- * state from the DB after a leader switch". Kept here (vs in
382
- * manager.ts) so `ScalerManager.recoverState()` can declare a clean
383
- * return type. `bufferedEventsLost` always returns 0 today — the
384
- * `eventBuffer` Map is intentionally not persisted — but the field
385
- * exists so a future buffer-table addition is type-compatible.
324
+ * Kept here, not in manager.ts, so `recoverState()` can declare a clean return
325
+ * type. Result of `ScalerManager.recoverState()` replaying state from the DB after a
326
+ * leader switch. `bufferedEventsLost` is always 0 (the `eventBuffer` Map is not
327
+ * persisted); the field keeps a future buffer table type-compatible.
386
328
  */
387
329
  export interface ScalerStateRecovery {
388
330
  spawningAgentsRehydrated: number;
389
331
  /**
390
332
  * Spawn rows released during recovery because their backend is local
391
333
  * (container / firecracker / bare-metal): such a spawn cannot outlive the
392
- * process that started it, so nothing could ever register against it, and
393
- * rehydrating it would hold its reservation until the stale prune.
334
+ * process that started it, and rehydrating it would hold its reservation
335
+ * until the stale prune.
394
336
  */
395
337
  spawningDropped: number;
396
338
  agentJobsRehydrated: number;
397
339
  reservationsRehydrated: number;
398
340
  /**
399
- * Reservation rows discarded during recovery because no rehydrated spawn
400
- * backs them. Counted separately from `reservationsRehydrated` so a
401
- * deployment carrying orphaned rows says so on every boot until it is clean.
341
+ * Reservation rows no rehydrated spawn backs, discarded during recovery;
342
+ * counted apart so a deployment with orphaned rows says so on every boot.
402
343
  */
403
344
  reservationsDropped: number;
404
345
  bufferedEventsLost: number;
405
346
  }
406
- /**
407
- * Re-export for the buffered-events note above; sole reason
408
- * `ScalerEvent` is imported is to keep that comment compile-checked.
409
- */
347
+ /** Keeps the `ScalerEvent` import, and the buffered-events note, compile-checked. */
410
348
  export type { ScalerEvent };
411
349
  //# sourceMappingURL=scaler-state-store.d.ts.map
@@ -1,7 +1,4 @@
1
- /**
2
- * Errors a scaler backend's `spawn()` throws to tell the manager how to treat
3
- * the failure.
4
- */
1
+ /** Errors a scaler backend's `spawn()` throws to tell the manager how to treat the failure. */
5
2
  /**
6
3
  * A spawn the host refused outright. Retrying cannot succeed until an operator
7
4
  * changes something — the binary path, the label set's env — so the manager
@@ -3,10 +3,9 @@ import type { ScalerBackend } from './types.js';
3
3
  * Reap each container and Firecracker backend's orphans once, and start the
4
4
  * Firecracker periodic sweep. A failure is logged and never stops startup.
5
5
  *
6
- * The periodic sweep is what reclaims a VM chroot, TAP or IP that a failed
7
- * spawn could not remove (the jailer had already taken the chroot, or the
8
- * removal raced the jailer). Startup-only cleanup leaves those to accumulate
9
- * for as long as the process stays up.
6
+ * The periodic sweep reclaims a VM chroot, TAP or IP a failed spawn could not
7
+ * remove (the jailer already took the chroot, or the removal raced the jailer);
8
+ * startup-only cleanup would let those accumulate while the process runs.
10
9
  */
11
10
  export declare function reapOrphansAtStartup(backends: ReadonlyArray<{
12
11
  name: string;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * The scaler tools check the orchestrator runs at startup, before it builds
3
+ * any scaler backend.
4
+ */
5
+ import type { ScalerEntry } from './types.js';
6
+ /**
7
+ * Why the configured scalers cannot run on this host, as one message for the
8
+ * startup log, or null when every required tool is present.
9
+ *
10
+ * A bare-metal `binaryPath` that is a version-manager shim passes the
11
+ * executable check, so it is refused on its own. When a bare-metal
12
+ * `binaryPath` fails, the message names the `kici-agent` installed with this
13
+ * orchestrator's runtime: a path into another Node.js runtime or through a
14
+ * shim is the usual cause.
15
+ */
16
+ export declare function scalerStartupToolsFailure(entries: ScalerEntry[], runtime: {
17
+ entryPath: string | undefined;
18
+ execPath: string;
19
+ windows: boolean;
20
+ }): string | null;
21
+ //# sourceMappingURL=startup-tools-check.d.ts.map