@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
@@ -12,31 +12,25 @@ interface DashboardHandlerDeps {
12
12
  logStorage: LogStorage;
13
13
  /**
14
14
  * The orchestrator's own provenance issuer (`KICI_ORCHESTRATOR_PROVENANCE_ISSUER`)
15
- * when it owns signing. Surfaced on attestations-list responses so the Platform
16
- * returns it as `trustedIssuer` — the dashboard / CLI verify against the
17
- * orchestrator that signed the bundles.
15
+ * when it owns signing. The Platform returns it as `trustedIssuer`, so the
16
+ * dashboard / CLI verify against the orchestrator that signed the bundles.
18
17
  */
19
18
  provenanceSigningIssuer?: string | null;
20
19
  /**
21
- * Object-storage backend for provenance bundles. The attestations handler
22
- * reads each stored bundle by `storage_key` and inlines it into the response
23
- * so the dashboard verifies it client-side without a second fetch. Optional —
24
- * when absent (e.g. orchestrators without provenance configured) the handler
25
- * replies with an `error` and an empty list. Reuses the cache storage backend
26
- * (the same one attestation bundles are written to).
20
+ * The cache storage backend attestation bundles are written to. The handler
21
+ * inlines each bundle (by `storage_key`) so the dashboard verifies it
22
+ * client-side without a second fetch. Absent (no provenance configured) ⇒ an
23
+ * `error` reply with an empty list.
27
24
  */
28
25
  provenanceStorage?: CacheStorage | null;
29
26
  /**
30
- * User-facing artifacts layer. Backs `dashboard.artifacts.list` — lists a
31
- * run's named artifacts and mints a presigned GET per entry. Optional — when
32
- * absent (orchestrator without a DB / cache storage) the handler replies with
33
- * an `error` and an empty list.
27
+ * Backs `dashboard.artifacts.list` (a presigned GET per artifact). Absent (no
28
+ * DB / cache storage) ⇒ an `error` reply with an empty list.
34
29
  */
35
30
  artifactStore?: ArtifactStore | null;
36
31
  /**
37
32
  * Drain the deferred-attestation outbox on demand (mints in this process,
38
- * which owns the Platform WS). Backs `dashboard.attestation.retry`. Optional —
39
- * absent on orchestrators without the retrier wired.
33
+ * which owns the Platform WS). Backs `dashboard.attestation.retry`.
40
34
  */
41
35
  retryAttestations?: (opts: {
42
36
  runId?: string;
@@ -44,33 +38,25 @@ interface DashboardHandlerDeps {
44
38
  minted: number;
45
39
  stillPending: number;
46
40
  }>;
47
- /** Send a response message back to Platform over the WS connection. */
48
41
  send: (msg: unknown) => void;
49
- /** This orchestrator's instance ID, included in job detail responses. */
42
+ /** Included in job detail responses. */
50
43
  orchestratorId?: string;
51
- /** Access log writer — records one row per read / mutation with actor attribution. */
44
+ /** Records one row per read / mutation with actor attribution. */
52
45
  accessLog?: AccessLogWriter;
53
46
  /** Org ID for access_log rows (null when the orchestrator isn't org-scoped). */
54
47
  orgId?: string | null;
55
48
  /** Routing key for access_log rows (null when not run-scoped). */
56
49
  routingKey?: string | null;
57
50
  /**
58
- * Long-lived cold-store handle for read fallback. When set, run /
59
- * job / step lookups fall through to S3 if the row has aged out of
60
- * PG. `null` means the orchestrator is running without cold-store
61
- * configured — handler then serves PG rows only.
51
+ * Run / job / step lookups fall through to this S3 cold store once a row ages
52
+ * out of PG; `null` serves PG rows only.
62
53
  */
63
54
  coldStore?: ColdStore | null;
64
55
  /**
65
- * Callback for handling re-run requests.
66
- * Returns { newRunId } on success or throws on failure.
67
- *
68
- * `routingKey` is forwarded from the Platform (read from
69
- * Platform's denormalized `execution_runs.routing_key`) so the
70
- * orchestrator can probe its cold-store under the right tenant
71
- * prefix when the run row is missing from PG. Optional for back-
72
- * compat with mixed deploys; absent means the orchestrator falls
73
- * back to the legacy "no PG row → throw" path.
56
+ * Throws on failure. `routingKey` comes from the Platform's denormalized
57
+ * `execution_runs.routing_key`, so the cold-store probe uses the right tenant
58
+ * prefix when the run row is missing from PG. It is optional for mixed-deploy
59
+ * back-compat; absent ⇒ the legacy "no PG row → throw" path.
74
60
  */
75
61
  onRerun: (runId: string, triggeredBy: string | null, triggeredByAgentLabel: string | null,
76
62
  /**
@@ -82,19 +68,12 @@ interface DashboardHandlerDeps {
82
68
  requestId: string, routingKey?: string) => Promise<{
83
69
  newRunId: string;
84
70
  }>;
85
- /**
86
- * Callback for handling cancel requests.
87
- * Returns { cancelledJobs } on success or throws on failure.
88
- * The force flag indicates whether to force-cancel (SIGKILL, skip hooks).
89
- */
71
+ /** Throws on failure. `force` force-cancels (SIGKILL, skip hooks). */
90
72
  onCancel: (runId: string, cancelledBy: string | null, cancelledByAgentLabel: string | null, force?: boolean) => Promise<{
91
73
  cancelledJobs: number;
92
74
  alreadyTerminal?: boolean;
93
75
  }>;
94
- /**
95
- * Callback for handling manual schedule trigger requests.
96
- * Returns { newRunId } on success or throws on failure.
97
- */
76
+ /** Throws on failure. */
98
77
  onManualSchedule: (registrationId: string, triggeredBy: string | null, triggeredByAgentLabel: string | null,
99
78
  /**
100
79
  * Platform-minted `requestId` for this manual schedule. Used as an
@@ -105,17 +84,15 @@ interface DashboardHandlerDeps {
105
84
  newRunId: string;
106
85
  }>;
107
86
  /**
108
- * Event store for the per-org DLQ surface. Optional — when absent the
109
- * `handleEventDlq*` methods reply with a structured `error` so the
110
- * dashboard renders an empty-state without crashing. In real
111
- * deployments the store is wired by `bootstrapOrchestrator`.
87
+ * Backs the per-org DLQ surface (wired by `bootstrapOrchestrator`). Absent ⇒
88
+ * `handleEventDlq*` replies with a structured `error`, which the dashboard
89
+ * renders as an empty state.
112
90
  */
113
91
  eventStore?: EventStore | null;
114
92
  /**
115
93
  * **Test-only fault injection**, supplied only by the build-time test double:
116
- * `handleRerunRequest` awaits this hook before invoking `onRerun`, so an HA
117
- * test can force a slow first coordinator and trigger a relay failover.
118
- * Undefined (the shipped default) means no delay.
94
+ * awaited before `onRerun` so an HA test can slow the first coordinator into
95
+ * a relay failover. The shipped default is undefined (no delay).
119
96
  */
120
97
  beforeRerun?: () => Promise<void>;
121
98
  }
@@ -140,79 +117,58 @@ export declare class DashboardHandler {
140
117
  private readonly beforeRerun;
141
118
  constructor(deps: DashboardHandlerDeps);
142
119
  /**
143
- * Update the bound orgId + routingKey. Called from server.ts after resolving
144
- * the single tenant org from the `sources` / `generic_webhook_sources` table.
120
+ * Called from server.ts after resolving the single tenant org from the
121
+ * `sources`, `generic_webhook_sources` or `remote_sources` table.
145
122
  *
146
- * NOTE: this binding is the **fallback** access_log scope. Run-targeted
147
- * handlers resolve the run-owning org per-request via `resolveOrgForRun`;
148
- * the bound pair is consulted only when the per-target lookup yields no
149
- * result (e.g. cold-archived run, deleted source). On a multi-tenant
150
- * orchestrator the bound pair is non-deterministic (server.ts:937-955
123
+ * The binding is only the **fallback** access_log scope: run-targeted
124
+ * handlers resolve the run-owning org per request via `resolveOrgForRun`
125
+ * and use the bound pair only when that yields nothing (e.g. cold-archived
126
+ * run, deleted source). On a multi-tenant
127
+ * orchestrator the bound pair is non-deterministic (server.ts `onAuthenticated`
151
128
  * picks the first row from a `LIMIT 1` query with no `ORDER BY`), so it
152
129
  * MUST NOT be the source of truth for `access_log.org_id`.
153
130
  */
154
131
  setOrgContext(orgId: string | null, routingKey: string | null): void;
155
132
  /**
156
- * Resolve the run-owning org from `execution_runs.routing_key` plus a
157
- * sources/generic_webhook_sources lookup on that routing key. Returns
158
- * `null` when the run row is missing (e.g. cold-archived) so the caller
159
- * can fall back to the handler-bound context.
160
- *
161
- * Returns `{ orgId, routingKey }` where either field can be null:
162
- * - `routingKey` is non-null whenever the PG run row was found, even if
163
- * the source row has since been deleted (best-effort attribution).
164
- * - `orgId` is null only when the routing key has no matching source row.
133
+ * Null when the run row is missing (e.g. cold-archived), so the caller falls
134
+ * back to the bound context. Otherwise `routingKey` is set even when the
135
+ * source row was deleted (best-effort attribution), and `orgId` is null only
136
+ * when no source row matches the routing key.
165
137
  */
166
138
  private resolveOrgForRun;
167
139
  /**
168
- * Resolve the org owning a routing key by consulting both source tables
169
- * (GitHub-app `sources` first, then `generic_webhook_sources`). Used
170
- * directly for `handleRerunRequest` (which gets a `routingKey` hint from
171
- * Platform's denormalized copy) and indirectly via
172
- * `resolveOrgForRun`.
140
+ * GitHub-app `sources` first, then `generic_webhook_sources`. Also used
141
+ * directly by `handleRerunRequest` with the Platform's `routingKey` hint.
173
142
  */
174
143
  private resolveOrgForRoutingKey;
175
- /**
176
- * Resolve the org from a `workflow_registrations` row. Returns null when
177
- * the registration is missing (caller falls back to bound context).
178
- */
144
+ /** Null when the registration is missing (caller falls back to bound context). */
179
145
  private resolveOrgForRegistration;
180
146
  /**
181
- * Apply a per-target resolution result, falling back to the handler-bound
182
- * orgId / routingKey when the resolution is null or its individual fields
183
- * are null. This is the merge point that makes the bound context a
184
- * fallback rather than the source of truth.
147
+ * The merge point that makes the bound context a per-field fallback for a
148
+ * per-target resolution, never the source of truth.
185
149
  */
186
150
  private contextOrFallback;
187
151
  /**
188
- * Defense-in-depth dashboard-write policy gate for the DLQ handlers.
189
- * Returns true when allowed; false (with a `denied` access_log row and
190
- * an `operation_disabled` envelope on the wire) when the orch policy
191
- * has the operation switched off.
152
+ * Defense-in-depth policy gate for the DLQ handlers: false when the policy
153
+ * disables the op, after recording a `denied` row and sending the
154
+ * `operation_disabled` envelope.
192
155
  */
193
156
  private enforcePolicy;
194
- /**
195
- * Handle a dashboard.run.detail request.
196
- * Queries execution_jobs and execution_steps for the given runId,
197
- * builds a nested job/step tree, and sends the response.
198
- */
157
+ /** dashboard.run.detail: the run's nested job/step tree. */
199
158
  handleRunDetail(msg: DashboardRunDetailRequest): Promise<void>;
200
159
  /**
201
- * Handle a dashboard.run.structured request — the user-plane equivalent of
202
- * the orchestrator-admin `/runs/:id/structured` endpoint. Reuses the
203
- * aggregator + provenance mapper so the result is byte-identical to the admin
204
- * surface; emits an `access_log` `run.structured.read` row (carrying the
205
- * agent label when the actor came through an agent PAT).
160
+ * dashboard.run.structured: the user-plane twin of the orchestrator-admin
161
+ * `/runs/:id/structured` endpoint, byte-identical because it reuses the
162
+ * aggregator + provenance mapper. The `run.structured.read` access-log row
163
+ * carries the agent label when the actor came through an agent PAT.
206
164
  */
207
165
  handleRunStructured(msg: DashboardRunStructuredRequest): Promise<void>;
208
166
  /**
209
- * Resolve every routing key owned by an org by unioning both source
210
- * tables. The orchestrator is single-org but multi-routing-key: one org
211
- * owns one GitHub-app source plus N generic sources, each with its own
212
- * `routing_key`. `execution_runs` has no `org_id` column — org ownership
213
- * is expressed purely through `routing_key → sources.customer_id` /
214
- * `generic_webhook_sources.customer_id`, so scoping a run query to an org
215
- * means scoping it to the union of that org's routing keys.
167
+ * The orchestrator is single-org but multi-routing-key: one org owns one
168
+ * GitHub-app source plus N generic sources. `execution_runs` has no `org_id`;
169
+ * ownership is only `routing_key → sources.customer_id` /
170
+ * `generic_webhook_sources.customer_id`, so an org-scoped run query scopes to
171
+ * the union of the org's routing keys.
216
172
  *
217
173
  * Predicates mirror the org-context resolver in `server.ts` and
218
174
  * `resolveOrgForRoutingKey` above:
@@ -222,294 +178,174 @@ export declare class DashboardHandler {
222
178
  */
223
179
  private resolveOrgRoutingKeys;
224
180
  /**
225
- * Resolve a per-routing-key source identity map for a set of routing keys,
226
- * unioning both source tables. Uses the identical name/subtype/provider
227
- * derivation as `handleSourcesList` so a run summary's `source` block
228
- * matches what the sources page shows for the same routing key. Routing
229
- * keys with no live source row are absent from the map (the caller
230
- * falls back to the run's own provider).
181
+ * Same name/subtype/provider derivation as `handleSourcesList`, so a run
182
+ * summary's `source` block matches the sources page. Keys with no live source
183
+ * row are absent (the caller falls back to the run's own provider).
231
184
  */
232
185
  private resolveSourceIdentities;
233
186
  /**
234
- * Look up the page's jobs in one query to derive per-run `jobCount` plus the
235
- * compile-job markers (`hadCompileJob` / `compileJobId`). The compile job is
236
- * the synthetic `__build__*` job KiCI inserts for the compile phase — the
237
- * same definition the Platform run-list route uses
238
- * (`job_name LIKE '__build__%'`). Returns a per-run aggregate keyed by
239
- * `run_id`; runs with no job rows are absent (the caller omits the fields).
187
+ * Per-run `jobCount` plus compile-job markers (`hadCompileJob` /
188
+ * `compileJobId`) for one page, in one query. Runs with no job rows are
189
+ * absent (the caller omits the fields).
240
190
  */
241
191
  private resolveRunJobAggregates;
242
192
  /**
243
- * Handle a dashboard.runs.list request.
244
- *
245
- * Returns a page of run summaries from `execution_runs`, scoped to ALL
246
- * routing keys owned by this orchestrator's bound org (`this.orgId`). The
247
- * orchestrator is single-org but multi-routing-key, and the bound
248
- * `this.routingKey` is just ONE of the org's keys (resolved
249
- * non-deterministically at startup), so filtering on it alone would drop
250
- * runs that arrived under a sibling routing key. We resolve the org's full
251
- * routing-key set from `sources` + `generic_webhook_sources` and filter on
252
- * the union. Attribution still uses the handler-bound `orgId` /
253
- * `routingKey` directly — the same inline-ctx pattern as the org-scoped
254
- * event-log / access-log handlers.
193
+ * dashboard.runs.list: a page of run summaries scoped to ALL routing keys of
194
+ * the bound org. The bound `this.routingKey` is just ONE of them (picked
195
+ * non-deterministically at startup), so filtering on it alone would drop runs
196
+ * under a sibling key. Attribution uses the bound `orgId` / `routingKey`
197
+ * directly, like the org-scoped event-log / access-log handlers.
255
198
  *
256
- * Used by the operator console (`support-read` break-glass) and the
257
- * dashboard's run-list view. The access_log row carries the wire actor
258
- * (including the platform_operator reason) so the customer can audit any
259
- * operator read.
199
+ * Serves the operator console (`support-read` break-glass) and the run-list
200
+ * view. The access_log row carries the wire actor (including the
201
+ * platform_operator reason) so the customer can audit any operator read.
260
202
  */
261
203
  handleRunsList(msg: DashboardRunsListRequest): Promise<DashboardRunsListResponse>;
262
204
  /**
263
- * Handle a dashboard.runs.filters request.
264
- *
265
- * Returns the distinct filter-option values the customer runs page renders
266
- * in its filter controls — statuses / workflows / branches / repositories /
267
- * triggerTypes / sources — scoped to ALL routing keys owned by this
268
- * orchestrator's bound org (same scoping as `handleRunsList`). Distinct
269
- * values are derived in-memory from a single column projection over
270
- * `execution_runs`; `sources` reuses `resolveSourceIdentities` so the list
271
- * matches what the sources page shows for the same routing key.
205
+ * dashboard.runs.filters: the distinct filter-option values for the customer
206
+ * runs page, with `handleRunsList`'s scoping and attribution. Values come
207
+ * in-memory from one column projection over `execution_runs`; `sources`
208
+ * reuses `resolveSourceIdentities` to match the sources page.
272
209
  *
273
- * `triggerTypes` is populated from `execution_runs.provider` — the
274
- * orchestrator has no dedicated trigger-event column, so `provider`
275
- * (`github` / `generic` / `local`) is the closest available
276
- * discriminator the customer filter can offer.
277
- *
278
- * Attribution uses the handler-bound `orgId` / `routingKey` directly — the
279
- * same inline-ctx pattern as `handleRunsList`. The access_log row carries
280
- * the wire actor (including the platform_operator reason) so the customer
281
- * can audit any operator read.
210
+ * `triggerTypes` comes from `execution_runs.provider` (`github` / `generic` /
211
+ * `local`): with no trigger-event column, it is the closest discriminator.
212
+ * The access_log row carries the wire actor (including the platform_operator
213
+ * reason) so the customer can audit any operator read.
282
214
  */
283
215
  handleRunsFilters(msg: DashboardRunsFiltersRequest): Promise<DashboardRunsFiltersResponse>;
284
216
  /**
285
- * Handle a dashboard.sources.list request.
286
- *
287
- * Returns the org's webhook source summaries by unioning both source
288
- * tables (GitHub-app `sources` + live `generic_webhook_sources`), scoped
289
- * to this orchestrator's bound org (`this.orgId`). Source counts are tiny
290
- * so the page is returned unpaginated (`msg.limit` is ignored). Secret-
291
- * bearing columns (`config`, `git_config`, `verification_config`) are
292
- * never projected — `git_config` is read only to derive the subtype.
293
- *
294
- * Attribution uses the handler-bound `orgId` / `routingKey` directly —
295
- * the same inline-ctx pattern as `handleRunsList`. The access_log row
296
- * carries the wire actor so the customer can audit any operator read.
217
+ * dashboard.sources.list: the bound org's GitHub-app `sources` plus live
218
+ * `generic_webhook_sources`, unpaginated because counts are tiny (`msg.limit`
219
+ * is ignored). Secret-bearing columns (`config`, `git_config`,
220
+ * `verification_config`) are never returned; `git_config` is read only to
221
+ * derive the subtype. Attribution follows `handleRunsList`; the access_log
222
+ * row carries the wire actor so the customer can audit any operator read.
297
223
  */
298
224
  handleSourcesList(msg: DashboardSourcesListRequest): Promise<DashboardSourcesListResponse>;
299
225
  /**
300
- * Handle a dashboard.admin-tokens.list request.
301
- *
302
- * Returns the orchestrator's live admin-token inventory for the Platform's
303
- * RBAC drift report. `admin_tokens` is orchestrator-wide — an orchestrator
304
- * serves exactly one org — so the projection is not filtered by `orgId`; the
305
- * handler-bound `orgId` / `routingKey` attribute the access_log row, the same
306
- * inline-ctx pattern `handleSourcesList` uses.
307
- *
308
- * Only live tokens are returned: a revoked or already-expired token is not a
309
- * finding, so reporting one would be noise the operator learns to ignore.
310
- *
311
- * `token_hash` is never selected. The report has no use for it, and a hash is
312
- * a credential verifier — relaying one would put an offline-crackable value
313
- * on the dashboard plane.
226
+ * dashboard.admin-tokens.list: the live admin-token inventory for the
227
+ * Platform's RBAC drift report. `admin_tokens` is orchestrator-wide (one org
228
+ * per orchestrator), so there is no `orgId` filter; the bound context
229
+ * attributes the row. Revoked or expired tokens are not findings, so they
230
+ * are left out as noise.
314
231
  *
315
- * Reading who holds admin tokens is itself privileged, so every read writes
316
- * an access_log row carrying the wire actor.
232
+ * `token_hash` is never selected: a hash is a credential verifier, and
233
+ * relaying one would put an offline-crackable value on the dashboard plane.
234
+ * Reading who holds admin tokens is privileged, so every read writes an
235
+ * access_log row carrying the wire actor.
317
236
  */
318
237
  handleAdminTokensList(msg: DashboardAdminTokensListRequest): Promise<DashboardAdminTokensListResponse>;
319
- /**
320
- * Handle a dashboard.step.logs request.
321
- * Looks up the step's log_path and reads content from LogStorage.
322
- */
238
+ /** dashboard.step.logs: reads the step's log_path from LogStorage. */
323
239
  handleStepLogs(msg: DashboardStepLogsRequest): Promise<void>;
324
- /**
325
- * Read the attestation rows for a run, joined to `execution_jobs` for the
326
- * job name. Ordered oldest-first so the dashboard table is stable.
327
- */
240
+ /** Oldest-first so the dashboard table is stable. */
328
241
  private resolveAttestationsForRun;
329
242
  /**
330
- * Handle a dashboard.attestations.list request: list the run's provenance
331
- * attestations, inlining each stored bundle from object storage so the
332
- * dashboard verifies it client-side. Mirrors `handleStepLogs` (per-run org
333
- * resolution + `access.recordIn` + `send`). Rows whose bundle can't be read are
334
- * skipped (best-effort) rather than failing the whole list.
243
+ * dashboard.attestations.list: the run's attestations with each bundle
244
+ * inlined for client-side verification. A row whose bundle can't be read is
245
+ * skipped rather than failing the whole list.
335
246
  */
336
247
  handleAttestationsList(msg: DashboardAttestationsListRequest): Promise<void>;
337
248
  /**
338
- * Handle a dashboard.artifacts.list request: list the run's named artifacts
339
- * with a presigned GET per entry. Mirrors `handleAttestationsList` (per-run
340
- * org resolution + `access.recordIn` + `send`). Org is resolved server-side from
341
- * the run row, never the wire, so the listing cannot cross tenants.
249
+ * dashboard.artifacts.list: a presigned GET per named artifact. The org comes
250
+ * from the run row, never the wire, so the listing cannot cross tenants.
342
251
  */
343
252
  handleArtifactsList(msg: DashboardArtifactsListRequest): Promise<void>;
344
- /**
345
- * Fetch + parse one attestation bundle from object storage. Returns the full
346
- * detail item, or null when the bundle is missing or not valid JSON (logged).
347
- * Shared by `handleAttestationsList` (per-run) and `handleAttestationGet`.
348
- */
253
+ /** Null (logged) when the bundle is missing or not valid JSON. */
349
254
  private inlineBundle;
350
- /**
351
- * Org-wide attestations query: one page of metadata-only summaries (no bundle
352
- * fetch) plus the total matching count. Filters/pagination/sort applied via
353
- * the shared filter builder.
354
- */
255
+ /** One page of metadata-only summaries (no bundle fetch) plus the total count. */
355
256
  private resolveAttestationsListAll;
356
- /** Map the deferred-attestation outbox into pending list summaries (page 1). */
357
257
  private resolvePendingAttestationSummaries;
358
- /**
359
- * Handle a dashboard.attestations.list.all request: org-wide, paginated,
360
- * filtered list of attestation summaries (metadata only). Access-logged
361
- * against the `attestation` target.
362
- */
258
+ /** Org-wide, metadata only; access-logged against the `attestation` target. */
363
259
  handleAttestationsListAll(msg: DashboardAttestationsListAllRequest): Promise<void>;
364
260
  /**
365
- * Handle a dashboard.attestation.retry request: drain the deferred-attestation
366
- * outbox (optionally scoped to one run) and reply with the mint counts. The
367
- * mint happens in this orchestrator process, which owns the Platform WS.
261
+ * Drains the deferred-attestation outbox (optionally one run's) in this
262
+ * process, which owns the Platform WS.
368
263
  */
369
264
  handleAttestationRetry(msg: DashboardAttestationRetryRequest): Promise<void>;
370
265
  /**
371
- * Handle a dashboard.attestation.get request: a single attestation by id with
372
- * its bundle inlined for the detail page. Resolves the run-owning org for the
373
- * access-log row, then logs against the `attestation` target.
266
+ * One attestation with its bundle inlined, logged against the `attestation`
267
+ * target under the run-owning org.
374
268
  */
375
269
  handleAttestationGet(msg: DashboardAttestationGetRequest): Promise<void>;
376
- /**
377
- * Handle a dashboard.payload request.
378
- * Reads the webhook payload from log storage for the given runId.
379
- */
380
270
  handlePayload(msg: DashboardPayloadRequest): Promise<void>;
381
271
  /**
382
- * Handle a dashboard.orch.logs request.
383
- * Reads orchestration + provisioning log files from LogStorage for the given run/job.
384
- * Provisioning logs are returned with phase "provisioning" so the dashboard can
385
- * render them in a separate collapsible section.
272
+ * Provisioning logs carry phase "provisioning" so the dashboard renders them
273
+ * in a separate collapsible section.
386
274
  */
387
275
  handleOrchLogs(msg: DashboardOrchLogsRequest): Promise<void>;
388
276
  /**
389
- * Handle a run.rerun.request.
390
- * Delegates to the onRerun callback which invokes handleRerun from the rerun module.
391
- *
392
- * Resolution: prefer `msg.routingKey` (denormalization hint from
393
- * Platform — `execution_runs.routing_key` mirror). The hint is the ONLY
394
- * org context we have when the run row has been cold-archived out of PG,
395
- * so consult sources/generic_webhook_sources directly. If the hint is
396
- * absent, fall back to `resolveOrgForRun` against the warm PG row.
277
+ * Org resolution prefers the Platform's `msg.routingKey` hint: it is the ONLY
278
+ * org context once the run row is cold-archived out of PG. Without it,
279
+ * `resolveOrgForRun` reads the warm PG row.
397
280
  */
398
281
  handleRerunRequest(msg: RunRerunRequest): Promise<void>;
399
- /**
400
- * Handle a run.cancel.request.
401
- * Delegates to the onCancel callback which sends job.cancel to agents.
402
- */
403
282
  handleCancelRequest(msg: RunCancelRequest): Promise<void>;
404
283
  /**
405
- * Handle a dashboard.event-log.list request.
406
- *
407
- * Returns a paginated page of inbound webhook delivery rows owned by this
408
- * orchestrator (`event_log` table) for the given org. Pagination uses an
409
- * opaque cursor (received_at + id) so concurrent inserts don't shift pages.
410
- *
411
- * Filters: routingKey, event, status, fromTimestamp/toTimestamp,
412
- * deliveryId substring. All optional.
284
+ * Inbound webhook deliveries (`event_log`) for the org. The opaque
285
+ * (received_at + id) cursor keeps concurrent inserts from shifting pages.
286
+ * Every filter is optional; deliveryId matches a substring.
413
287
  */
414
288
  handleEventLogList(msg: DashboardEventLogListRequest): Promise<void>;
415
289
  /**
416
- * Handle a dashboard.event-log.activity request — windowed aggregate counts
417
- * for the org (matched vs unmatched vs lockfile-missing), the
418
- * orchestrator-only facts the Platform relay cannot compute (it only sees
419
- * "delivered", not whether a trigger matched). Powers the Runs-page misconfig
420
- * strip + the `kici runs` hint. Aggregate counts only — no payloads, no repo
290
+ * Windowed matched / unmatched / lockfile-missing counts: facts the Platform
291
+ * relay cannot compute (it only sees "delivered"). Powers the Runs-page
292
+ * misconfig strip + the `kici runs` hint. Counts only — no payloads, no repo
421
293
  * identifiers — so the Platform route serves them to all org members.
422
294
  */
423
295
  handleEventLogActivity(msg: DashboardEventLogActivityRequest): Promise<void>;
424
296
  /**
425
- * Handle a dashboard.access-log.list request.
426
- *
427
- * Returns a paginated page of access_log rows for the given org. Used by
428
- * the dashboard "Data access" tab to show who read what (and when).
429
- *
430
- * Every filter is optional; the orchestrator scopes on orgId then applies
431
- * each supplied filter independently. Records its own access_log row
432
- * under action='access_log.list.read' so there's a meta-audit of who
433
- * looked at the audit log.
297
+ * Backs the dashboard "Data access" tab. Scopes on orgId, then applies each
298
+ * optional filter independently. Its own `access_log.list.read` row is a
299
+ * meta-audit of who looked at the audit log.
434
300
  */
435
301
  handleAccessLogList(msg: DashboardAccessLogListRequest): Promise<void>;
436
302
  /**
437
- * Handle a dashboard.event-log.detail request.
438
- *
439
- * Returns the metadata row only — the webhook body bytes stream over a
440
- * separate chunked-WS path (`handleEventLogPayloadStream` below) so
441
- * Platform never holds the full body in memory and the dashboard can
442
- * render progress as bytes arrive. When `payload_omitted=true` the row's
443
- * `payloadOmitted`/`payloadOmittedReason` fields tell the dashboard to
444
- * skip issuing a stream request.
303
+ * Metadata only: the body streams over `handleEventLogPayloadStream`, so the
304
+ * Platform never holds it in memory and the dashboard shows progress. With
305
+ * `payload_omitted=true`, `payloadOmitted`/`payloadOmittedReason` tell the
306
+ * dashboard to skip the stream request.
445
307
  */
446
308
  handleEventLogDetail(msg: DashboardEventLogDetailRequest): Promise<void>;
447
309
  /**
448
- * Handle a dashboard.event-log.payload.stream request.
310
+ * Gunzips the body and emits it as base64 `dashboard.event-log.payload.chunk`
311
+ * messages of 64 KiB decompressed bytes; the first carries `totalBytes`, the
312
+ * last `isLast=true`.
449
313
  *
450
- * Reads the gzipped body from LogStorage, decompresses it, slices the
451
- * decompressed bytes into 64 KiB chunks, base64-encodes each, and emits a
452
- * sequence of `dashboard.event-log.payload.chunk` messages. The first
453
- * chunk carries `totalBytes`; the last chunk carries `isLast=true`.
314
+ * One `event_log.payload.read` audit row is written at stream start:
315
+ * `allowed` when the body begins streaming, `not_found` / `denied` for an
316
+ * empty/error stream. Per-chunk rows would add volume, not attribution.
454
317
  *
455
- * The single audit row (`event_log.payload.read`) is written at the start
456
- * of the stream — outcome `allowed` when the row exists and the body
457
- * begins streaming, `not_found` / `denied` when the request resolves to
458
- * an empty/error stream. Per-chunk audits would inflate the access-log
459
- * volume without adding attribution detail.
460
- *
461
- * Pacing: a `setImmediate` yield between sends keeps the WS connection
462
- * from saturating. For the 5 MB cap this means
463
- * ~80 yields per stream — negligible.
318
+ * A `setImmediate` yield between sends keeps the WS from saturating: ~80
319
+ * yields for the 5 MB cap.
464
320
  */
465
321
  handleEventLogPayloadStream(msg: DashboardEventLogPayloadStreamRequest): Promise<void>;
466
322
  /**
467
- * Handle a dashboard.event-dlq.list request.
468
- *
469
- * Returns a paginated page of DLQ rows (events whose dispatch attempts
470
- * exhausted the retry budget). The page is keyed off `dlq_at DESC` and
471
- * paginates with a single `before` ISO cursor.
472
- *
473
- * Records one `event_dlq.list.read` access_log entry using the user
474
- * actor on the wire — mirrors the HTTP admin route's audit shape but
475
- * with the calling user's identity instead of the bearer-token role.
323
+ * DLQ rows (dispatch retries exhausted), `dlq_at DESC` with one `before` ISO
324
+ * cursor. The `event_dlq.list.read` row mirrors the HTTP admin route's audit
325
+ * shape, with the wire user's identity instead of the bearer-token role.
476
326
  */
477
327
  handleEventDlqList(msg: DashboardEventDlqListRequest): Promise<void>;
478
328
  /**
479
- * Handle a dashboard.event-dlq.count request.
480
- *
481
- * Returns the DLQ depth for the sidebar badge. Polled ~30s by the
482
- * dashboard. No access_log row — the count surface is intentionally
483
- * un-audited (it's a frequent badge poll, not a triage action).
329
+ * DLQ depth for the sidebar badge, polled every ~30s. Deliberately
330
+ * un-audited: a frequent badge poll is not a triage action.
484
331
  */
485
332
  handleEventDlqCount(msg: DashboardEventDlqCountRequest): Promise<void>;
486
333
  /**
487
- * Handle a dashboard.event-dlq.retry request.
488
- *
489
- * Clears the DLQ flag on the row and issues a `pg_notify` so a healthy
490
- * node picks the event up immediately rather than waiting for the
491
- * leader-only retry scanner's next tick. Notify failure is non-fatal —
492
- * the scanner will catch up.
334
+ * Clears the DLQ flag and `pg_notify`s so a healthy node picks the event up
335
+ * without waiting for the leader-only retry scanner. A notify failure is
336
+ * non-fatal: the scanner catches up.
493
337
  */
494
338
  handleEventDlqRetry(msg: DashboardEventDlqRetryRequest): Promise<void>;
495
339
  /**
496
- * Handle a dashboard.event-dlq.discard request.
497
- *
498
- * Permanently deletes the DLQ row. No retry, no archive — used when the
499
- * payload is corrupt or the routing target has been removed.
340
+ * Permanently deletes the DLQ row (no retry, no archive), for a corrupt
341
+ * payload or a removed routing target.
500
342
  */
501
343
  handleEventDlqDiscard(msg: DashboardEventDlqDiscardRequest): Promise<void>;
502
- /**
503
- * Handle a run.manual_schedule.request.
504
- * Delegates to the onManualSchedule callback which invokes handleManualSchedule.
505
- */
506
344
  handleManualScheduleRequest(msg: ManualScheduleRequest): Promise<void>;
507
345
  /**
508
- * Cold-store fallback: fetch the run + its jobs + its steps
509
- * from S3 when the PG copy has been archived. Bounded scan: stops at
510
- * the warm cutoff (older entries don't exist in cold-store yet by
511
- * construction). Each row is filtered by `run_id` because chunks
512
- * span multiple runs.
346
+ * Fetch an archived run + jobs + steps from S3. The scan stops at the warm
347
+ * cutoff (cold-store holds nothing past it by construction), and rows are
348
+ * filtered by `run_id` because chunks span runs.
513
349
  */
514
350
  private fetchArchivedRunDetail;
515
351
  }