@kici-dev/orchestrator 0.16.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +121 -233
  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 +39 -45
  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 +33 -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 +7 -7
  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 +33 -59
  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 +4553 -6556
  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 +143 -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 +251 -486
  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 +289 -525
  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 +65 -151
  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 +21 -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 +21 -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 +19 -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 +45 -0
  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/test-direct.d.ts +46 -0
  473. package/dist/routes/uploads.d.ts +14 -19
  474. package/dist/routes/webhooks.d.ts +2 -24
  475. package/dist/scaler/agent-binary-location.d.ts +77 -0
  476. package/dist/scaler/agent-fit.d.ts +2 -2
  477. package/dist/scaler/backend-factory.d.ts +10 -18
  478. package/dist/scaler/bare-metal-backend.d.ts +28 -45
  479. package/dist/scaler/claim-store.d.ts +20 -43
  480. package/dist/scaler/config.d.ts +10 -37
  481. package/dist/scaler/container-backend.d.ts +22 -35
  482. package/dist/scaler/container-hostconfig.d.ts +10 -16
  483. package/dist/scaler/container-routing.d.ts +10 -13
  484. package/dist/scaler/disk-guard.d.ts +2 -3
  485. package/dist/scaler/event-backend.d.ts +33 -58
  486. package/dist/scaler/event-provision-reaper.d.ts +61 -84
  487. package/dist/scaler/failure-tracker.d.ts +6 -13
  488. package/dist/scaler/file-tail.d.ts +6 -19
  489. package/dist/scaler/firecracker-api.d.ts +19 -63
  490. package/dist/scaler/firecracker-backend.d.ts +142 -258
  491. package/dist/scaler/host-access.d.ts +7 -10
  492. package/dist/scaler/index.d.ts +3 -6
  493. package/dist/scaler/ip-allocator.d.ts +30 -82
  494. package/dist/scaler/label-matcher.d.ts +14 -35
  495. package/dist/scaler/log-forwarder.d.ts +6 -25
  496. package/dist/scaler/machine-ledger.d.ts +39 -86
  497. package/dist/scaler/manager.d.ts +517 -787
  498. package/dist/scaler/pending-scale-sweeper.d.ts +8 -11
  499. package/dist/scaler/reap-orphans.d.ts +8 -12
  500. package/dist/scaler/resolve-container-auth.d.ts +12 -21
  501. package/dist/scaler/scaler-events.d.ts +2 -5
  502. package/dist/scaler/scaler-state-store.d.ts +127 -189
  503. package/dist/scaler/spawn-errors.d.ts +1 -4
  504. package/dist/scaler/startup-orphan-sweep.d.ts +3 -4
  505. package/dist/scaler/startup-tools-check.d.ts +21 -0
  506. package/dist/scaler/types.d.ts +142 -255
  507. package/dist/scaler/vm-job-bindings.d.ts +5 -9
  508. package/dist/scaler/warm-pool.d.ts +46 -93
  509. package/dist/secrets/audit-logger.d.ts +0 -3
  510. package/dist/secrets/backend-health.d.ts +0 -9
  511. package/dist/secrets/backend-registry.d.ts +0 -9
  512. package/dist/secrets/cleanup.d.ts +0 -1
  513. package/dist/secrets/config.d.ts +0 -3
  514. package/dist/secrets/ephemeral-keys.d.ts +0 -3
  515. package/dist/secrets/pg-secret-store.d.ts +0 -3
  516. package/dist/secrets/rbac.d.ts +5 -7
  517. package/dist/secrets/routing-key-scope.d.ts +1 -0
  518. package/dist/secrets/secret-output-store.d.ts +0 -6
  519. package/dist/secrets/secret-resolver.d.ts +2 -6
  520. package/dist/secrets/token-manager.d.ts +1 -4
  521. package/dist/secrets/vault-secret-store.d.ts +0 -13
  522. package/dist/security/comment-handler.d.ts +0 -2
  523. package/dist/security/workflow-diff.d.ts +1 -1
  524. package/dist/server.js +49004 -53782
  525. package/dist/sources/source-manager.d.ts +0 -3
  526. package/dist/sources/source-store.d.ts +0 -9
  527. package/dist/sources/source-validator.d.ts +0 -3
  528. package/dist/stale-detector/all-terminal-runs.d.ts +8 -11
  529. package/dist/stale-detector/gate-deadline-detector.d.ts +14 -19
  530. package/dist/stale-detector/reboot-deadline-sweep.d.ts +7 -11
  531. package/dist/stale-detector/stale-dispatch-candidates.d.ts +13 -20
  532. package/dist/stale-detector/stale-run-detector.d.ts +74 -121
  533. package/dist/stale-detector/workflow-deadline-detector.d.ts +15 -43
  534. package/dist/standalone.js +9342 -13077
  535. package/dist/storage/blob-routes.d.ts +10 -19
  536. package/dist/storage/filesystem.d.ts +19 -29
  537. package/dist/storage/index.d.ts +2 -10
  538. package/dist/storage/key-discriminator.d.ts +8 -10
  539. package/dist/storage/loopback-guard.d.ts +27 -45
  540. package/dist/storage/s3.d.ts +26 -53
  541. package/dist/storage/sign-url.d.ts +7 -22
  542. package/dist/storage/types.d.ts +46 -72
  543. package/dist/webhook/event-log.d.ts +0 -2
  544. package/dist/webhook/generic-sources.d.ts +0 -21
  545. package/dist/webhook/ingest-admission.d.ts +0 -1
  546. package/dist/webhook/relay-buffer.d.ts +2 -2
  547. package/dist/webhook/verify-inbound.d.ts +0 -1
  548. package/dist/worker/in-memory-execution-tracker.d.ts +9 -31
  549. package/dist/worker/in-memory-job-queue.d.ts +32 -72
  550. package/dist/worker/peer-outbox.d.ts +5 -8
  551. package/dist/worker/reroute-dispatch.d.ts +4 -6
  552. package/dist/worker/static-agent-token-store.d.ts +6 -27
  553. package/dist/worker/worker-outbox-relay.d.ts +2 -2
  554. package/dist/worker/worker-status.d.ts +3 -20
  555. package/dist/ws/agent-api-registry.d.ts +8 -27
  556. package/dist/ws/agent-handler.d.ts +63 -110
  557. package/dist/ws/agent-heartbeat.d.ts +5 -12
  558. package/dist/ws/bringup-api.d.ts +31 -38
  559. package/dist/ws/dashboard-backends-handler.d.ts +12 -22
  560. package/dist/ws/dashboard-context-handler.d.ts +37 -80
  561. package/dist/ws/dashboard-diagnostics-handler.d.ts +8 -25
  562. package/dist/ws/dashboard-dispatch-guard.d.ts +3 -4
  563. package/dist/ws/dashboard-fleet-handler.d.ts +9 -13
  564. package/dist/ws/dashboard-fleet-write-handler.d.ts +7 -21
  565. package/dist/ws/dashboard-global-workflows-handler.d.ts +22 -44
  566. package/dist/ws/dashboard-registrations-handler.d.ts +10 -27
  567. package/dist/ws/dashboard-run-state-handler.d.ts +10 -13
  568. package/dist/ws/event-buffer.d.ts +3 -6
  569. package/dist/ws/execution-status-frame.d.ts +7 -10
  570. package/dist/ws/failure-messages.d.ts +9 -14
  571. package/dist/ws/fleet-agent-collector.d.ts +6 -12
  572. package/dist/ws/fleet-runs-on-all.d.ts +1 -6
  573. package/dist/ws/git-credential-relay.d.ts +12 -20
  574. package/dist/ws/inventory-api.d.ts +4 -5
  575. package/dist/ws/observer-registry.d.ts +14 -59
  576. package/dist/ws/ownership-gate.d.ts +1 -1
  577. package/dist/ws/platform-client.d.ts +21 -30
  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 +46 -63
  581. package/installer-image-digests.json +3 -3
  582. package/package.json +6 -5
  583. package/sbom.spdx.json +53 -53
  584. package/dist/__test-helpers__/fake-scaler-state-store.d.ts +0 -24
  585. package/dist/__test-helpers__/mock-db-query.d.ts +0 -129
  586. package/dist/__test-helpers__/mock-db.d.ts +0 -134
  587. package/dist/__test-helpers__/mock-ws.d.ts +0 -13
  588. package/dist/__test-helpers__/peer-mutual-auth.d.ts +0 -42
  589. package/dist/__test-helpers__/scratch-db.d.ts +0 -16
  590. package/dist/__test-helpers__/test-db.d.ts +0 -34
  591. package/dist/pipeline/dispatch-matched-workflow.test-helpers.d.ts +0 -121
  592. package/dist/scaler/container-spawn.d.ts +0 -28
@@ -14,16 +14,12 @@ export interface LeaderGatedSchedulerOptions {
14
14
  onBecomeLeader?: () => Promise<void> | void;
15
15
  /** Whether to unref the interval timer. Default true; pass false to keep the loop alive. */
16
16
  unref?: boolean;
17
- /**
18
- * Logger for the lifecycle + tick-error lines. Pass the owning class's logger so the log
19
- * prefix stays that of the scheduler site; defaults to a `leader-gated-scheduler` logger.
20
- */
17
+ /** The owning class's logger, to keep its log prefix; defaults to `leader-gated-scheduler`. */
21
18
  logger?: SchedulerLogger;
22
19
  }
23
20
  /**
24
- * Raft-leader-only periodic scheduler. Encapsulates the become -> (optional async setup) ->
25
- * start-interval / lose -> stop lifecycle that the orchestrator's leader-gated schedulers share.
26
- * The interval runs only while this node is the leader. `stop()` is final: no
21
+ * Raft-leader-only periodic scheduler: become -> (optional async setup) -> start interval;
22
+ * lose -> stop. The interval runs only while this node is the leader. `stop()` is final: no
27
23
  * later leadership change starts another tenure.
28
24
  */
29
25
  export declare class LeaderGatedScheduler {
@@ -32,18 +28,13 @@ export declare class LeaderGatedScheduler {
32
28
  private leader;
33
29
  private readonly logger;
34
30
  /**
35
- * Monotonic tenure counter. Bumped on every leadership transition
36
- * (onBecomeLeader / onLoseLeadership / stop). onBecomeLeader captures its
37
- * tenure at entry and re-checks it after the awaited setup: if it changed
38
- * during the async setup, leadership was revoked (or superseded by a newer
39
- * tenure) mid-flight and this stale tenure must NOT start the interval — that
40
- * would leak a timer running tick() while no longer leader.
31
+ * Monotonic tenure counter, bumped on every leadership transition (onBecomeLeader /
32
+ * onLoseLeadership / stop). onBecomeLeader re-checks it after the awaited setup: if it
33
+ * changed, this stale tenure must NOT start the interval, or a timer leaks running tick()
34
+ * while no longer leader.
41
35
  */
42
36
  private generation;
43
- /**
44
- * Set by {@link stop}: the owning process is shutting down, so no later
45
- * leadership change starts another tenure.
46
- */
37
+ /** Set by {@link stop}: no later leadership change starts another tenure. */
47
38
  private stopped;
48
39
  constructor(opts: LeaderGatedSchedulerOptions);
49
40
  get isLeader(): boolean;
@@ -6,7 +6,7 @@
6
6
  * to prevent multiple orchestrators from racing to recover the same run.
7
7
  *
8
8
  * Recovery logic:
9
- * 1. Find runs with status='running' and stale last update (> threshold)
9
+ * 1. Find runs with status='running' that started before the stale threshold
10
10
  * 2. Check if the coordinator is still a connected peer
11
11
  * 3. If coordinator is disconnected/unknown, this is an orphan run
12
12
  * 4. Check job statuses: terminal jobs stay, stuck jobs get marked failed
@@ -23,15 +23,15 @@ interface OrphanRecoveryDeps {
23
23
  raft: RaftNode;
24
24
  peerRegistry: PeerRegistry;
25
25
  executionTracker: ExecutionTracker;
26
- /** Reader for fleet-wide cluster tunables (reroute flap-grace override). */
26
+ /** Source of the reroute flap-grace override. */
27
27
  clusterSettings: ClusterSettingsReader;
28
28
  /** Cluster default for the reroute flap-grace window (config.rerouteFlapGraceMs). */
29
29
  rerouteFlapGraceFallbackMs: number;
30
30
  /** Scan interval in ms. Default: 60000 (1 minute). */
31
31
  scanIntervalMs?: number;
32
- /** How long a run must be stale before considered orphaned. Default: 5 minutes. */
32
+ /** Default: 5 minutes. */
33
33
  staleThresholdMs?: number;
34
- /** How long a stuck job must have no heartbeat before marking as failed. Default: 3 minutes. */
34
+ /** Default: 3 minutes. */
35
35
  jobStuckThresholdMs?: number;
36
36
  }
37
37
  export declare class OrphanRecovery {
@@ -46,51 +46,29 @@ export declare class OrphanRecovery {
46
46
  private readonly jobStuckThresholdMs;
47
47
  private scanTimer;
48
48
  constructor(deps: OrphanRecoveryDeps);
49
- /**
50
- * Start periodic orphan recovery scans.
51
- * Only runs recovery logic when this node is the Raft leader.
52
- */
49
+ /** Recovery logic runs only while this node is the Raft leader. */
53
50
  start(): void;
54
- /**
55
- * Stop periodic orphan recovery scans.
56
- */
57
51
  stop(): void;
58
- /**
59
- * Scan for orphaned runs and recover them.
60
- * Only runs when this node is the Raft leader.
61
- */
62
52
  scanForOrphans(): Promise<void>;
63
53
  /**
64
54
  * Release concurrency slots still marked `active` for a run that has already
65
55
  * finished. Run once per leader transition (`start()`), which covers a boot
66
56
  * and a failover.
67
57
  *
68
- * A slot outlives its run whenever the release path did not run — a
69
- * coordinator crash between "the run finished" and "the slot was released".
70
- * On a `max: 1` deploy gate a single leaked slot blocks every later deploy
71
- * forever, and nothing else would ever notice: the DB says the slot is held
72
- * and the run that held it is gone.
73
- *
74
- * `getActiveRuns` reconciles the same way inside its own transaction on every
75
- * acquire, so this is the sweep for a scope nobody happens to ask about —
76
- * which is why once per leader transition is enough.
58
+ * A coordinator crash between "the run finished" and "the slot was released"
59
+ * leaks the slot; on a `max: 1` deploy gate it blocks every later deploy
60
+ * forever, and nothing else notices. `getActiveRuns` reconciles the same way
61
+ * on every acquire, so this only sweeps scopes nobody asks about — hence once
62
+ * per leader transition is enough.
77
63
  */
78
64
  releaseLeakedConcurrencySlots(): Promise<void>;
79
- /**
80
- * Attempt to recover a single potentially orphaned run.
81
- */
82
65
  private recoverRun;
83
66
  /**
84
- * Whether any job of the run moved within the stale window — a heartbeat, a
85
- * start, or a completion. A crashed coordinator stops producing all three, so
86
- * a genuinely orphaned run becomes eligible again within one window; a healthy
87
- * long run never does.
67
+ * Whether any job had a heartbeat, start or completion within the stale
68
+ * window. A crashed coordinator stops all three, so an orphaned run becomes
69
+ * eligible within one window; a healthy long run never does.
88
70
  */
89
71
  private hasRecentProgress;
90
- /**
91
- * Check if a coordinator with the given routing key is still connected
92
- * as a peer in the cluster.
93
- */
94
72
  private isCoordinatorStillConnected;
95
73
  }
96
74
  export {};
@@ -39,15 +39,9 @@ export declare class PeerAuthCoordinator {
39
39
  instanceId: string;
40
40
  joinToken?: string;
41
41
  joinWaitTimeoutMs?: number;
42
- /**
43
- * Issues this coordinator its own credential when a decision finds no
44
- * credential and no join token. Only a coordinator wires it.
45
- */
42
+ /** Self-issues a credential when there is none and no join token. Coordinator-only. */
46
43
  selfIssue?: () => Promise<CoordinatorCredentialOutcome>;
47
- /**
48
- * Asks this coordinator's own cluster database whether it holds a rejected
49
- * credential as valid. Only a coordinator with a database wires it.
50
- */
44
+ /** Asks the own cluster DB whether it holds a rejected credential as valid. */
51
45
  corroborateRejection?: (credential: string) => Promise<RejectionCorroboration>;
52
46
  });
53
47
  /** Run `fn` exclusively against the credential file. */
@@ -41,17 +41,14 @@ export declare enum PeerMutualAuthFailure {
41
41
  }
42
42
  type PeerConnectionState = 'disconnected' | 'connecting' | 'handshaking' | 'authenticating' | 'connected';
43
43
  export interface PeerClientOptions {
44
- /** WebSocket URL of the remote peer orchestrator. */
45
44
  url: string;
46
- /** Join token for first-time cluster join (optional if credential file exists). */
45
+ /** For a first-time cluster join; optional when the credential file exists. */
47
46
  joinToken?: string;
48
- /** Path to the credential file for reconnection. */
49
47
  credentialFile: string;
50
48
  /** Shared per-orchestrator coordinator that owns the credential file. */
51
49
  authCoordinator: PeerAuthCoordinator;
52
- /** This orchestrator's instance ID. */
53
50
  instanceId: string;
54
- /** Peer registry to update on heartbeats from remote peer. */
51
+ /** Updated on the remote peer's heartbeats. */
55
52
  peerRegistry: PeerRegistry;
56
53
  /**
57
54
  * Where the dialled address came from. A static target reconnects with
@@ -68,51 +65,42 @@ export interface PeerClientOptions {
68
65
  handshakeTimeoutMs?: number;
69
66
  /** Called when a discovered target fails mutual authentication; the client then stays down. */
70
67
  onMutualAuthFailed?: (failure: PeerMutualAuthFailure) => void;
71
- /** Callback to get this orchestrator's local agent inventory for heartbeats. */
68
+ /** This orchestrator's local agent inventory, for heartbeats. */
72
69
  getLocalInventory: () => Omit<PeerHeartbeat, 'type'>;
73
- /** Heartbeat interval in ms. Default: 30000 (30s). */
70
+ /** In ms. Default: 30000. */
74
71
  heartbeatIntervalMs?: number;
75
- /** Maximum reconnect delay in ms. Default: 60000 (60s). */
72
+ /** In ms. Default: 60000. */
76
73
  maxReconnectDelayMs?: number;
77
- /** Callback when a job reroute request is received from peer. */
78
74
  onJobReroute: (msg: JobReroute) => Promise<void>;
79
- /** Callback when a job progress update is received from peer. */
80
75
  onJobProgress: (msg: JobProgress, fromPeerId: string, reply: (m: JobProgressAck) => void) => void;
81
76
  /**
82
- * Callback invoked once this client reaches the `connected` state (initial
83
- * connect AND every reconnect). Carries this client's peer URL.
77
+ * Called on reaching `connected`: the initial connect AND every reconnect.
78
+ * Carries this client's peer URL.
84
79
  */
85
80
  onConnected?: (url: string) => void;
86
- /** Callback when a coordinator ACKs a terminal job.progress this worker sent. */
81
+ /** A coordinator ACKed a terminal job.progress this worker sent. */
87
82
  onJobProgressAck?: (msg: JobProgressAck) => void;
88
- /** This orchestrator's role. Default: 'coordinator'. */
83
+ /** Default: 'coordinator'. */
89
84
  role?: 'coordinator' | 'worker';
90
- /** Callback when a job cancel request is received from peer. */
91
85
  onJobCancel: (msg: PeerJobCancel) => void;
92
- /** Callback when a log chunk is received from a peer (coordinator side). */
86
+ /** Coordinator side. */
93
87
  onPeerLogChunk?: (chunk: PeerLogChunk) => void;
94
- /** Callback when a cache upload request is received from a peer (coordinator side). */
88
+ /** Coordinator side. */
95
89
  onPeerCacheUploadRequest?: (req: PeerCacheUploadRequest) => Promise<PeerCacheUploadResponse>;
96
- /** Callback for Raft vote requests. */
97
90
  onRaftVoteRequest?: (msg: RaftVoteRequest) => RaftVoteResponse;
98
- /** Callback for Raft vote responses (forwarded to Raft module). */
91
+ /** Forwarded to the Raft module. */
99
92
  onRaftVoteResponse?: (msg: RaftVoteResponse) => void;
100
- /** Callback for Raft append entries (leader heartbeat). */
93
+ /** The leader heartbeat. */
101
94
  onRaftAppendEntries?: (msg: RaftAppendEntries) => void;
102
- /** Callback when a peer.leaving announcement is received. */
103
95
  onPeerLeaving?: (msg: PeerLeaving) => void;
104
96
  /**
105
- * Callback when a peer.agent-token.revoke announcement is received.
106
- * The local handler should call agentRegistry.disconnectByTokenId(tokenId)
107
- * to close every in-flight WS authenticated by the now-revoked token.
97
+ * Should call agentRegistry.disconnectByTokenId(tokenId) to close every
98
+ * in-flight WS authenticated by the revoked token.
108
99
  */
109
100
  onAgentTokenRevoke?: (msg: PeerAgentTokenRevoke) => void;
110
101
  /**
111
- * Callback when a config reload request is received from the peer.
112
- * Should execute a local config reload and return the result fields,
113
- * which are sent back via peer.config.reload.response.
114
- *
115
- * If undefined, incoming reload requests are answered with success=false.
102
+ * Runs a local config reload; the result is sent back as
103
+ * peer.config.reload.response. If undefined, requests get success=false.
116
104
  */
117
105
  onPeerConfigReload?: (msg: PeerConfigReload) => Promise<{
118
106
  success: boolean;
@@ -122,18 +110,15 @@ export interface PeerClientOptions {
122
110
  fieldsChanged?: string[];
123
111
  }>;
124
112
  /**
125
- * Callback invoked once the remote peer accepts our auth handshake,
126
- * carrying the remote peer's instanceId. Used by callers that initially
127
- * register this client in `sub.peerClients` keyed by a placeholder (URL
128
- * or stale id) to re-key the map by the canonical instanceId so later
129
- * Platform-mediated discovery dedupes against the same client.
113
+ * Called once the remote peer accepts the auth handshake. Lets a caller that
114
+ * keyed `sub.peerClients` by a placeholder (URL or stale id) re-key it by the
115
+ * canonical instanceId, so later Platform-mediated discovery dedupes against
116
+ * the same client.
130
117
  */
131
118
  onAuthenticated?: (targetInstanceId: string) => void;
132
119
  /**
133
- * Callback when a peer.logs.collect.request is received from the peer. Builds
134
- * this node's subtree bundle and streams it back via the supplied `send`
135
- * (peer.logs.collect.chunk frames, or a peer.logs.collect.error on failure).
136
- * If undefined, incoming collect requests are ignored.
120
+ * Streams this node's subtree bundle back as peer.logs.collect.chunk frames,
121
+ * or a peer.logs.collect.error on failure. If undefined, requests are ignored.
137
122
  */
138
123
  onLogsCollectRequest?: PeerLogsCollectResponder;
139
124
  /**
@@ -190,7 +175,7 @@ export declare class PeerClient {
190
175
  private readonly authCoordinator;
191
176
  /** Set true between deciding token-join and receiving the auth response. */
192
177
  private isJoiner;
193
- /** complete() callback for the in-flight token-join, if this client is joiner. */
178
+ /** complete() for the in-flight token-join, when this client is the joiner. */
194
179
  private joinComplete;
195
180
  /** The credential string this client last built a proof with. */
196
181
  private lastProvedCredential;
@@ -223,33 +208,24 @@ export declare class PeerClient {
223
208
  private readonly onScalerReloadRequest?;
224
209
  private readonly onPeerForgetRequest?;
225
210
  constructor(options: PeerClientOptions);
226
- /** Current connection state. */
227
211
  get state(): PeerConnectionState;
228
- /** The remote peer's instanceId (set after auth handshake). */
212
+ /** Set after the auth handshake. */
229
213
  get targetInstanceId(): string | null;
230
- /**
231
- * Initiate connection to the peer orchestrator.
232
- */
233
214
  connect(): void;
234
- /**
235
- * Gracefully disconnect. Does not trigger reconnection.
236
- */
215
+ /** Graceful; does not trigger reconnection. */
237
216
  disconnect(): void;
238
217
  /**
239
- * Send a peer protocol message. Returns false if not connected.
240
- * Messages are encrypted with the session key.
218
+ * Encrypts with the session key. Returns false if not connected.
241
219
  */
242
220
  send(msg: PeerToPeerMessage): boolean;
243
221
  /**
244
- * Send a message and wait for an ACK response.
245
- * Used for job.reroute which expects job.reroute.ack.
222
+ * Send a job.reroute and wait for its job.reroute.ack.
246
223
  *
247
224
  * @returns true if accepted, false if rejected or timeout
248
225
  */
249
226
  sendAndWaitAck(msg: JobReroute, timeoutMs?: number): Promise<boolean>;
250
227
  /**
251
- * Send a log chunk to the coordinator (worker -> coordinator relay).
252
- * Fire-and-forget: no ACK expected.
228
+ * Worker -> coordinator log relay. Fire-and-forget: no ACK expected.
253
229
  */
254
230
  sendLogChunk(chunk: PeerLogChunk): boolean;
255
231
  /**
@@ -299,15 +275,12 @@ export declare class PeerClient {
299
275
  */
300
276
  sendLogsCollectAndWait(msg: PeerLogsCollectRequest, timeoutMs: number): Promise<Buffer>;
301
277
  /**
302
- * Send a cache upload request to the coordinator and wait for a response
303
- * with a pre-signed URL.
278
+ * Ask the coordinator for a pre-signed cache upload URL.
304
279
  *
305
280
  * @returns The response with the uploadUrl, or rejects on timeout/disconnect.
306
281
  */
307
282
  sendCacheUploadRequest(req: PeerCacheUploadRequest, timeoutMs?: number): Promise<PeerCacheUploadResponse>;
308
- /**
309
- * Calculate the reconnection delay with exponential backoff and jitter.
310
- */
283
+ /** Exponential backoff with jitter. */
311
284
  getReconnectDelay(): number;
312
285
  private doConnect;
313
286
  private handleMessage;
@@ -335,29 +308,26 @@ export declare class PeerClient {
335
308
  /** The server proved itself: register the peer and start the connected session. */
336
309
  private completeAcceptance;
337
310
  /**
338
- * Handle a rejected peer.auth.response. For the three credential-divergence
339
- * reasons, delegate to the coordinator (which deletes the shared file only if
340
- * no sibling has refreshed it, preventing a revocation cascade). A failed
341
- * token-join releases the in-flight join so siblings can retry. Config-error
342
- * reasons (role mismatch / missing auth method / protocol version) skip the
343
- * coordinator entirely — deletion would not help.
311
+ * Handle a rejected peer.auth.response. The credential-divergence reasons go
312
+ * to the coordinator, which deletes the shared file only if no sibling has
313
+ * refreshed it (preventing a revocation cascade). A failed token-join releases
314
+ * the in-flight join so siblings can retry. Config-error reasons (role
315
+ * mismatch / missing auth method / protocol version) skip the coordinator:
316
+ * deletion would not help.
344
317
  */
345
318
  private handleAuthRejected;
346
319
  /**
347
- * Determine auth method and send encrypted auth request.
320
+ * Choose the auth method and send the encrypted auth request.
348
321
  *
349
- * Credentials are **identity-scoped**, not URL-scoped. A single orchestrator
350
- * runs N peer-clients (one per remote peer) and they all share the same
351
- * on-disk credential file. The credential represents "this orchestrator's
352
- * cluster membership credential", and the server (peer-handler) verifies it
353
- * by `instanceId` alone — not by the requester URL. So any peer-client
354
- * connecting to any peer can use the same credential, as long as the
355
- * `instanceId` on disk matches ours.
322
+ * Credentials are **identity-scoped**, not URL-scoped: every peer-client of
323
+ * one orchestrator shares one on-disk credential file, and the server
324
+ * (peer-handler) verifies it by `instanceId` alone. So any peer-client can use
325
+ * it, as long as the `instanceId` on disk matches ours.
356
326
  *
357
- * The auth-method decision is delegated to the shared `PeerAuthCoordinator`,
358
- * which serializes sibling peer-clients so exactly one token-joins per
359
- * reconnect storm (the rest reuse the freshly-written credential). This
360
- * client never reads or writes the credential file directly.
327
+ * The shared `PeerAuthCoordinator` decides the method and serializes sibling
328
+ * peer-clients, so exactly one token-joins per reconnect storm (the rest reuse
329
+ * the freshly written credential). This client never reads or writes the
330
+ * credential file directly.
361
331
  */
362
332
  private sendAuthRequest;
363
333
  /**
@@ -5,14 +5,10 @@ export declare enum PeerCredentialIssuance {
5
5
  Self = "self"
6
6
  }
7
7
  /**
8
- * `metadata` key set when a coordinator retires the self-issued credential its
9
- * previous run left behind. An operator revoke never sets it, which is how a
10
- * retirement is told apart from a revoke.
8
+ * `metadata` key set when a coordinator retires its previous run's self-issued
9
+ * credential. An operator revoke never sets it, which tells the two apart.
11
10
  */
12
11
  export declare const RETIRED_BY_INSTANCE_KEY = "retiredByInstance";
13
- /**
14
- * A peer credential record stored in the coordinator's database.
15
- */
16
12
  export interface PeerCredential {
17
13
  id: string;
18
14
  instanceId: string;
@@ -28,10 +24,9 @@ export interface PeerCredential {
28
24
  metadata: Record<string, unknown>;
29
25
  }
30
26
  /**
31
- * Data persisted in this orchestrator's local credential file
32
- * (~/.kici/credential.json). The credential is identity-scoped: one file per
33
- * orchestrator, shared across every peer-client this orchestrator runs. See
34
- * the `sendAuthRequest` doc in peer-client.ts for the history.
27
+ * The local credential file (~/.kici/credential.json). Identity-scoped: one file
28
+ * per orchestrator, shared by all its peer-clients (see `sendAuthRequest` in
29
+ * peer-client.ts).
35
30
  */
36
31
  export interface CredentialFileData {
37
32
  instanceId: string;
@@ -40,25 +35,17 @@ export interface CredentialFileData {
40
35
  /** ISO 8601 timestamp of when this credential was issued. */
41
36
  issuedAt: string;
42
37
  }
43
- /**
44
- * Database CRUD operations for peer credentials.
45
- * Used by the coordinator to manage credentials for all cluster members.
46
- */
38
+ /** The coordinator's DB store of every cluster member's credential. */
47
39
  export declare class PeerCredentialStore {
48
40
  private readonly db;
49
41
  constructor(db: Kysely<any>);
50
42
  /**
51
- * Save a new peer credential, revoking any prior active credential for the
52
- * same instanceId (the `peer_credentials_active_uniq` partial unique index
53
- * permits exactly one active credential per instanceId).
43
+ * Save a credential, revoking the instanceId's prior active one
44
+ * (`peer_credentials_active_uniq` permits one active credential per instanceId).
54
45
  *
55
- * Returns `{ revokedCount }` — how many previously-active credentials this
56
- * save revoked. Because a coordinator's peer-clients share one
57
- * identity-scoped credential, a `revokedCount > 0` here means every sibling
58
- * peer-client of `instanceId` that was authenticating with the old
59
- * credential is now invalidated and will be rejected on its next proof. The
60
- * caller logs this so a revoke that cascades sibling rejections is visible in
61
- * the orchestrator logs.
46
+ * `revokedCount > 0` means every sibling peer-client of `instanceId` still on the
47
+ * old shared credential is rejected on its next proof; the caller logs it so a
48
+ * cascade of sibling rejections is visible.
62
49
  */
63
50
  save(opts: {
64
51
  instanceId: string;
@@ -71,13 +58,9 @@ export declare class PeerCredentialStore {
71
58
  }): Promise<{
72
59
  revokedCount: number;
73
60
  }>;
74
- /**
75
- * Find a non-revoked, non-expired credential by its hash.
76
- */
61
+ /** Non-revoked, non-expired credential by hash. */
77
62
  findByCredentialHash(hash: string): Promise<PeerCredential | null>;
78
- /**
79
- * Find a non-revoked, non-expired credential by instance ID.
80
- */
63
+ /** Newest non-revoked, non-expired credential for the instance. */
81
64
  findByInstanceId(instanceId: string): Promise<PeerCredential | null>;
82
65
  /**
83
66
  * The credential row for `instanceId` that nobody revoked, expired or not.
@@ -87,60 +70,31 @@ export declare class PeerCredentialStore {
87
70
  /** The most recently revoked credential row for `instanceId`, or null. */
88
71
  findLatestRevokedByInstanceId(instanceId: string): Promise<PeerCredential | null>;
89
72
  /**
90
- * Revoke `instanceId`'s unrevoked, self-issued row whose hash is
91
- * `credentialHash`, recording who retired it. Every condition sits in the
92
- * WHERE clause, so a row that changed meanwhile is left alone.
93
- * Returns whether a row was retired.
73
+ * Revoke `instanceId`'s unrevoked self-issued row with `credentialHash`,
74
+ * recording who retired it. Every condition is in the WHERE clause, so a row
75
+ * that changed meanwhile is left alone. Returns whether a row was retired.
94
76
  */
95
77
  retireSelfIssued(opts: {
96
78
  instanceId: string;
97
79
  credentialHash: string;
98
80
  retiredByInstance: string;
99
81
  }): Promise<boolean>;
100
- /**
101
- * Update the last_seen_at timestamp for a credential.
102
- * Optionally records which coordinator validated it.
103
- */
82
+ /** Bump last_seen_at; optionally record the validating coordinator. */
104
83
  updateLastSeen(credentialHash: string, validatedBy?: string): Promise<void>;
105
- /**
106
- * Revoke a peer's credential by instance ID.
107
- */
108
84
  revoke(instanceId: string): Promise<void>;
109
- /**
110
- * Revoke all active credentials.
111
- * @returns The number of credentials revoked.
112
- */
85
+ /** @returns The number of credentials revoked. */
113
86
  revokeAll(): Promise<number>;
114
- /**
115
- * List all active (non-revoked, non-expired) credentials.
116
- */
87
+ /** Non-revoked, non-expired credentials, oldest first. */
117
88
  listActive(): Promise<PeerCredential[]>;
118
89
  }
119
- /**
120
- * Write credential data to a JSON file with restrictive permissions.
121
- *
122
- * Creates the parent directory (e.g., ~/.kici/) with 0700 if it doesn't exist.
123
- * The credential file is written with 0600 permissions (owner read/write only).
124
- *
125
- * @param filePath - Absolute path to the credential file
126
- * @param data - Credential data to persist
127
- */
90
+ /** Write the credential file 0600, creating its parent directory 0700 if missing. */
128
91
  export declare function writeCredentialFile(filePath: string, data: CredentialFileData): Promise<void>;
129
- /**
130
- * Read credential data from a JSON file.
131
- *
132
- * @param filePath - Absolute path to the credential file
133
- * @returns Parsed credential data, or null if the file doesn't exist
134
- */
92
+ /** @returns The parsed credential file, or null if it does not exist. */
135
93
  export declare function readCredentialFile(filePath: string): Promise<CredentialFileData | null>;
136
94
  /**
137
- * Construct a PeerCredentialStore bound to a Postgres URL, returning the
138
- * store plus a disposer that closes the underlying pool. Lets tests
139
- * exercise the real Kysely-backed store without importing pg/kysely.
140
- *
141
- * Intended for tests of the store's own CRUD methods — production
142
- * code constructs the store with an already-allocated Kysely instance
143
- * shared with the orchestrator.
95
+ * A store bound to a Postgres URL plus a pool disposer, so tests exercise the real
96
+ * store without importing pg/kysely. Test-only: production passes the
97
+ * orchestrator's shared Kysely instance.
144
98
  */
145
99
  export declare function createPeerCredentialStoreFromUrl(databaseUrl: string, opts?: {
146
100
  maxConnections?: number;
@@ -18,48 +18,27 @@
18
18
  * IV (12 bytes) || AuthTag (16 bytes) || Ciphertext
19
19
  */
20
20
  import { type KeyObject } from 'node:crypto';
21
- /**
22
- * An X25519 key pair for ECDH key exchange.
23
- * The public key is DER SPKI-encoded for wire transport.
24
- */
25
21
  export interface EcdhKeyPair {
26
22
  /** DER SPKI-encoded X25519 public key. */
27
23
  publicKey: Buffer;
28
- /** X25519 private key object (not exported to wire). */
24
+ /** Never sent on the wire. */
29
25
  privateKey: KeyObject;
30
26
  }
31
- /**
32
- * Generate a new X25519 key pair for ECDH key exchange.
33
- *
34
- * @returns Key pair with DER SPKI public key and KeyObject private key
35
- */
36
27
  export declare function generateEcdhKeyPair(): EcdhKeyPair;
37
28
  /**
38
- * Derive a 32-byte AES-256 session key from an ECDH key exchange.
39
- *
40
- * Performs X25519 Diffie-Hellman, then derives the session key via
41
- * HKDF-SHA256 with the provided nonce as salt.
42
- *
43
- * @param localPrivateKey - This node's X25519 private key
44
- * @param remotePubKeyDer - Remote node's DER SPKI-encoded X25519 public key
45
- * @param nonce - Random nonce (used as HKDF salt for per-session uniqueness)
46
- * @returns 32-byte session key suitable for AES-256-GCM
29
+ * Derive a 32-byte AES-256 session key: X25519 Diffie-Hellman, then HKDF-SHA256
30
+ * with the nonce as salt for per-session uniqueness.
47
31
  */
48
32
  export declare function deriveSessionKey(localPrivateKey: KeyObject, remotePubKeyDer: Buffer, nonce: Buffer): Buffer;
49
33
  /**
50
- * Encrypt a plaintext message with a session key using AES-256-GCM.
34
+ * AES-256-GCM with a 32-byte session key.
51
35
  *
52
- * @param plaintext - The message to encrypt
53
- * @param sessionKey - 32-byte session key from deriveSessionKey
54
36
  * @returns Base64-encoded string: IV (12) || AuthTag (16) || Ciphertext
55
37
  */
56
38
  export declare function encryptMessage(plaintext: string, sessionKey: Buffer): string;
57
39
  /**
58
- * Decrypt a message encrypted with encryptMessage.
40
+ * Decrypt the output of encryptMessage.
59
41
  *
60
- * @param encrypted - Base64-encoded string: IV (12) || AuthTag (16) || Ciphertext
61
- * @param sessionKey - 32-byte session key (must match the key used for encryption)
62
- * @returns Decrypted plaintext string
63
42
  * @throws If the session key is wrong or the ciphertext has been tampered with
64
43
  */
65
44
  export declare function decryptMessage(encrypted: string, sessionKey: Buffer): string;
@@ -4,7 +4,6 @@ import type { PeerRegistry } from './peer-registry.js';
4
4
  import { PeerRequestWaiters } from './peer-request-waiters.js';
5
5
  /** What forgetting did on one coordinator. */
6
6
  export interface PeerForgetResult {
7
- /** The coordinator that answered. */
8
7
  coordinator: string;
9
8
  outcome: PeerForgetOutcome;
10
9
  detail: string;
@@ -92,8 +91,9 @@ export declare function backstopConsequence(instanceId: string): string;
92
91
  * Drop `instanceId` from `registry` when it names a peer that left the
93
92
  * cluster. Kept, with the reason: a connected peer (its next heartbeat would
94
93
  * register it again), a peer heard from inside its liveness window (it may be
95
- * partitioned rather than gone; see `peerLivenessWindow`), and a peer whose removal would switch the
96
- * event-provision backstop back on, unless the request acknowledged that.
94
+ * partitioned rather than gone; see `peerLivenessWindow`), and a peer whose
95
+ * removal would switch the event-provision backstop back on, unless the request
96
+ * acknowledged that.
97
97
  */
98
98
  export declare function forgetDepartedPeer(registry: PeerRegistry, selfInstanceId: string, instanceId: string, guards: PeerForgetGuards): Omit<PeerForgetResult, 'coordinator'>;
99
99
  /** Answers a forget request a sibling coordinator fanned out. */