@kici-dev/orchestrator 0.17.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (592) hide show
  1. package/dist/agent/agent-version.d.ts +12 -21
  2. package/dist/agent/dispatcher.d.ts +283 -437
  3. package/dist/agent/host-roster-reaper.d.ts +8 -10
  4. package/dist/agent/host-roster.d.ts +77 -100
  5. package/dist/agent/ownership-refusal.d.ts +3 -5
  6. package/dist/agent/ownership-tracker.d.ts +42 -76
  7. package/dist/agent/registry.d.ts +137 -230
  8. package/dist/agent/token-store.d.ts +34 -77
  9. package/dist/agent-packaging/availability.d.ts +6 -9
  10. package/dist/agent-packaging/download.d.ts +6 -9
  11. package/dist/agent-packaging/install-closure.d.ts +9 -12
  12. package/dist/agent-packaging/node-binary.d.ts +6 -10
  13. package/dist/agent-packaging/node-runtime-members.d.ts +3 -5
  14. package/dist/agent-packaging/refresh.d.ts +12 -16
  15. package/dist/agent-packaging/store.d.ts +5 -6
  16. package/dist/agent-packaging/upload.d.ts +3 -4
  17. package/dist/app.d.ts +0 -3
  18. package/dist/approvals/apply-decision.d.ts +35 -52
  19. package/dist/approvals/approval-resolver.d.ts +11 -23
  20. package/dist/approvals/held-run-release-wiring.d.ts +14 -21
  21. package/dist/approvals/independent-wiring.d.ts +13 -20
  22. package/dist/approvals/resume-router.d.ts +1 -1
  23. package/dist/approvals/step-approval-bridge.d.ts +11 -21
  24. package/dist/approvals/triggerer-subject.d.ts +8 -10
  25. package/dist/artifacts/artifact-store.d.ts +55 -95
  26. package/dist/artifacts/failure-messages.d.ts +15 -20
  27. package/dist/audit/access-log.d.ts +27 -45
  28. package/dist/audit/sampling-rate-limiter.d.ts +11 -23
  29. package/dist/cache/agent-job-failed-error.d.ts +2 -3
  30. package/dist/cache/build-coordinator.d.ts +5 -28
  31. package/dist/cache/cache-upload-settle.d.ts +11 -11
  32. package/dist/cache/dep-cache.d.ts +32 -60
  33. package/dist/cache/dispatch-cache-ref-tracker.d.ts +15 -23
  34. package/dist/cache/global-eval-round-cache.d.ts +33 -41
  35. package/dist/cache/pending-builds.d.ts +2 -6
  36. package/dist/cache/pending-dynamics.d.ts +2 -7
  37. package/dist/cache/pending-global-evals.d.ts +9 -12
  38. package/dist/cache/pending-inits.d.ts +11 -22
  39. package/dist/cache/pending-precursor-db-watcher.d.ts +24 -32
  40. package/dist/cache/pending-tracker.d.ts +17 -45
  41. package/dist/cache/precursor-result.d.ts +17 -30
  42. package/dist/cache/source-cache.d.ts +36 -65
  43. package/dist/cache/user-cache.d.ts +21 -25
  44. package/dist/cancel/cancel-held-run.d.ts +13 -16
  45. package/dist/cancel/cancel-route-answer.d.ts +1 -2
  46. package/dist/cancel/cancel-run.d.ts +26 -50
  47. package/dist/cancel/dashboard-cancel-handler.d.ts +2 -2
  48. package/dist/cancel/peer-job-cancel.d.ts +11 -14
  49. package/dist/cancel/sweep-stuck-cancelling.d.ts +9 -13
  50. package/dist/cli/api-client.d.ts +25 -76
  51. package/dist/cli/commands/access-log.d.ts +4 -24
  52. package/dist/cli/commands/agent-package.d.ts +7 -15
  53. package/dist/cli/commands/agent-service/agent-env.d.ts +3 -6
  54. package/dist/cli/commands/agent-service/index.d.ts +4 -10
  55. package/dist/cli/commands/agent-service/install.d.ts +4 -11
  56. package/dist/cli/commands/agent-service/status.d.ts +4 -9
  57. package/dist/cli/commands/agent-service/upgrade.d.ts +4 -16
  58. package/dist/cli/commands/agent.d.ts +12 -25
  59. package/dist/cli/commands/api-key.d.ts +5 -12
  60. package/dist/cli/commands/attestations-list.d.ts +7 -17
  61. package/dist/cli/commands/attestations-retry.d.ts +5 -11
  62. package/dist/cli/commands/attestations-reverify.d.ts +4 -5
  63. package/dist/cli/commands/attestations.d.ts +3 -8
  64. package/dist/cli/commands/audit.d.ts +1 -5
  65. package/dist/cli/commands/backend.d.ts +2 -11
  66. package/dist/cli/commands/check-run.d.ts +7 -18
  67. package/dist/cli/commands/cluster-name.d.ts +5 -12
  68. package/dist/cli/commands/cluster-settings.d.ts +28 -53
  69. package/dist/cli/commands/cold-store.d.ts +7 -15
  70. package/dist/cli/commands/config.d.ts +9 -20
  71. package/dist/cli/commands/context.d.ts +8 -20
  72. package/dist/cli/commands/dashboard-encryption-key.d.ts +9 -14
  73. package/dist/cli/commands/db-backup.d.ts +17 -32
  74. package/dist/cli/commands/db.d.ts +3 -4
  75. package/dist/cli/commands/debug-bundle.d.ts +3 -10
  76. package/dist/cli/commands/diagnose.d.ts +3 -14
  77. package/dist/cli/commands/event-dlq.d.ts +4 -12
  78. package/dist/cli/commands/event-log.d.ts +2 -20
  79. package/dist/cli/commands/execution.d.ts +3 -9
  80. package/dist/cli/commands/firecracker/index.d.ts +3 -6
  81. package/dist/cli/commands/held-run.d.ts +23 -37
  82. package/dist/cli/commands/host.d.ts +4 -11
  83. package/dist/cli/commands/inspect-bundle.d.ts +3 -11
  84. package/dist/cli/commands/local-hook.d.ts +2 -10
  85. package/dist/cli/commands/local-trigger.d.ts +2 -2
  86. package/dist/cli/commands/orchestrator-service/drain.d.ts +3 -6
  87. package/dist/cli/commands/orchestrator-service/index.d.ts +6 -14
  88. package/dist/cli/commands/orchestrator-service/install-env.d.ts +25 -49
  89. package/dist/cli/commands/orchestrator-service/install.d.ts +2 -5
  90. package/dist/cli/commands/orchestrator-service/status.d.ts +10 -22
  91. package/dist/cli/commands/orchestrator-service/upgrade.d.ts +6 -15
  92. package/dist/cli/commands/org-settings.d.ts +5 -11
  93. package/dist/cli/commands/peer.d.ts +5 -10
  94. package/dist/cli/commands/queue.d.ts +3 -9
  95. package/dist/cli/commands/registration.d.ts +4 -8
  96. package/dist/cli/commands/remote-source.d.ts +6 -12
  97. package/dist/cli/commands/rotate.d.ts +1 -5
  98. package/dist/cli/commands/runs.d.ts +1 -30
  99. package/dist/cli/commands/scaler.d.ts +5 -12
  100. package/dist/cli/commands/secret.d.ts +1 -9
  101. package/dist/cli/commands/service-health.d.ts +5 -10
  102. package/dist/cli/commands/shared/admin-cli-access-log.d.ts +10 -19
  103. package/dist/cli/commands/shared/bare-metal-binary-check.d.ts +86 -0
  104. package/dist/cli/commands/shared/cli-action.d.ts +1 -4
  105. package/dist/cli/commands/shared/confirm.d.ts +5 -10
  106. package/dist/cli/commands/shared/db.d.ts +1 -12
  107. package/dist/cli/commands/shared/env-file-mode.d.ts +6 -9
  108. package/dist/cli/commands/shared/secret-input.d.ts +7 -21
  109. package/dist/cli/commands/shared/service-verbs.d.ts +6 -12
  110. package/dist/cli/commands/shared/unbound-context-warning.d.ts +2 -4
  111. package/dist/cli/commands/shared/upgrade-hooks.d.ts +7 -16
  112. package/dist/cli/commands/shared/upgrade-safety.d.ts +20 -31
  113. package/dist/cli/commands/shared/versioned-upgrade.d.ts +83 -161
  114. package/dist/cli/commands/signing-key.d.ts +4 -9
  115. package/dist/cli/commands/source-manifest.d.ts +11 -14
  116. package/dist/cli/commands/source.d.ts +7 -32
  117. package/dist/cli/commands/token.d.ts +4 -15
  118. package/dist/cli/commands/trust-policy.d.ts +35 -88
  119. package/dist/cli/commands/variable.d.ts +3 -5
  120. package/dist/cli/commands/workflow.d.ts +3 -24
  121. package/dist/cli/join.d.ts +3 -6
  122. package/dist/cli/kici-admin.d.ts +11 -29
  123. package/dist/cli/lazy-deps/cache.d.ts +1 -14
  124. package/dist/cli/lazy-deps/downloader.d.ts +4 -27
  125. package/dist/cli/lazy-deps/registry.d.ts +5 -25
  126. package/dist/cli/local-github-ingress-url.d.ts +5 -7
  127. package/dist/cli/loopback-callback.d.ts +6 -7
  128. package/dist/cli/open-browser.d.ts +4 -8
  129. package/dist/cli/root-option-routing.d.ts +17 -29
  130. package/dist/cli/service/backup-timer.d.ts +16 -39
  131. package/dist/cli/service/compose-path.d.ts +3 -7
  132. package/dist/cli/service/compose.d.ts +12 -30
  133. package/dist/cli/service/deploy-env.d.ts +6 -18
  134. package/dist/cli/service/entrypoint.d.ts +14 -25
  135. package/dist/cli/service/env-assignment.d.ts +6 -17
  136. package/dist/cli/service/image-digests.d.ts +6 -15
  137. package/dist/cli/service/index.d.ts +2 -18
  138. package/dist/cli/service/instance/index-file.d.ts +9 -16
  139. package/dist/cli/service/instance/manifest.d.ts +60 -60
  140. package/dist/cli/service/instance/resolve.d.ts +32 -68
  141. package/dist/cli/service/instance/types.d.ts +12 -29
  142. package/dist/cli/service/launchd.d.ts +29 -60
  143. package/dist/cli/service/platform-detect.d.ts +13 -68
  144. package/dist/cli/service/privilege.d.ts +12 -25
  145. package/dist/cli/service/shutdown-grace.d.ts +11 -20
  146. package/dist/cli/service/systemd.d.ts +7 -20
  147. package/dist/cli/service/types.d.ts +63 -114
  148. package/dist/cli/service/windows-acl.d.ts +14 -21
  149. package/dist/cli/service/windows-env-file.d.ts +10 -28
  150. package/dist/cli/service/windows.d.ts +15 -31
  151. package/dist/cli/webhook-url-notes.d.ts +4 -6
  152. package/dist/cli/wizard/agent-wizard.d.ts +3 -14
  153. package/dist/cli/wizard/orchestrator-wizard.d.ts +12 -37
  154. package/dist/cli/wizard/prompts.d.ts +6 -16
  155. package/dist/cli.js +8207 -10128
  156. package/dist/cluster/cluster-identity.d.ts +20 -32
  157. package/dist/cluster/cluster-settings-reader.d.ts +50 -77
  158. package/dist/cluster/coordinator-credential.d.ts +4 -5
  159. package/dist/cluster/coordinator.d.ts +76 -148
  160. package/dist/cluster/health-api.d.ts +2 -10
  161. package/dist/cluster/index.d.ts +1 -6
  162. package/dist/cluster/instance-heartbeat.d.ts +26 -42
  163. package/dist/cluster/join-client.d.ts +4 -7
  164. package/dist/cluster/join-handler.d.ts +3 -7
  165. package/dist/cluster/join-token.d.ts +13 -27
  166. package/dist/cluster/leader-gated-scheduler.d.ts +8 -17
  167. package/dist/cluster/orphan-recovery.d.ts +13 -35
  168. package/dist/cluster/peer-auth-coordinator.d.ts +2 -8
  169. package/dist/cluster/peer-client.d.ts +46 -76
  170. package/dist/cluster/peer-credentials.d.ts +24 -70
  171. package/dist/cluster/peer-crypto.d.ts +5 -26
  172. package/dist/cluster/peer-forget.d.ts +3 -3
  173. package/dist/cluster/peer-handler.d.ts +47 -71
  174. package/dist/cluster/peer-registry.d.ts +37 -106
  175. package/dist/cluster/plan-headroom-store.d.ts +4 -6
  176. package/dist/cluster/raft-state.d.ts +4 -13
  177. package/dist/cluster/raft.d.ts +18 -53
  178. package/dist/cluster/reconcile-identity.d.ts +8 -11
  179. package/dist/cluster/rerouted-job-guard.d.ts +7 -11
  180. package/dist/cluster/verified-issuer.d.ts +2 -3
  181. package/dist/cluster/worker-cluster-settings.d.ts +7 -10
  182. package/dist/cluster/worker-eviction.d.ts +16 -26
  183. package/dist/cold-store/load-access-log-range.d.ts +15 -31
  184. package/dist/cold-store/load-event-log-range.d.ts +13 -27
  185. package/dist/cold-store/load-secret-audit-log-range.d.ts +8 -12
  186. package/dist/cold-store/orchestrator-cold-store.d.ts +8 -28
  187. package/dist/cold-store/tables/access-log.d.ts +12 -14
  188. package/dist/cold-store/tables/event-log.d.ts +4 -8
  189. package/dist/cold-store/tables/execution-runs.d.ts +6 -11
  190. package/dist/cold-store/tables/secret-audit-log.d.ts +5 -12
  191. package/dist/concurrency/dispatch-next-queued.d.ts +13 -25
  192. package/dist/concurrency/queue-manager.d.ts +22 -54
  193. package/dist/concurrency/waiters.d.ts +15 -31
  194. package/dist/config/encryption.d.ts +0 -2
  195. package/dist/config/loader.d.ts +0 -1
  196. package/dist/config/reload.d.ts +0 -6
  197. package/dist/config/resolver.d.ts +0 -4
  198. package/dist/config/shared-store.d.ts +0 -2
  199. package/dist/config/types.d.ts +0 -3
  200. package/dist/content-requirements-cache.d.ts +0 -1
  201. package/dist/contexts/context-store.d.ts +0 -2
  202. package/dist/contexts/held-runs.d.ts +0 -2
  203. package/dist/contexts/variable-store.d.ts +0 -2
  204. package/dist/dashboard/attestation-filters.d.ts +13 -18
  205. package/dist/dashboard/handler.d.ts +145 -307
  206. package/dist/db/client.d.ts +2 -6
  207. package/dist/db/deferred-index-build.d.ts +8 -10
  208. package/dist/db/deferred-indexes.d.ts +15 -22
  209. package/dist/db/migration-provider.d.ts +2 -4
  210. package/dist/db/migration-test-harness.d.ts +26 -44
  211. package/dist/db/migrations/001_initial.d.ts +1 -4
  212. package/dist/db/migrations/002_config_versions_key_version.d.ts +5 -8
  213. package/dist/db/migrations/003_access_log.d.ts +10 -15
  214. package/dist/db/migrations/004_rename_bundle_to_source.d.ts +7 -9
  215. package/dist/db/migrations/005_cold_store_chunk_counter.d.ts +4 -10
  216. package/dist/db/migrations/006_runs_jobs_steps_archived_at.d.ts +9 -29
  217. package/dist/db/migrations/007_audit_logs_archived_at.d.ts +11 -30
  218. package/dist/db/migrations/008_event_log_archived_at.d.ts +14 -29
  219. package/dist/db/migrations/009_access_log_trigram.d.ts +4 -8
  220. package/dist/db/migrations/010_cold_store_chunks.d.ts +16 -26
  221. package/dist/db/migrations/011_drop_source_secrets_notify.d.ts +6 -14
  222. package/dist/db/migrations/012_peer_credentials_active_uniq.d.ts +9 -14
  223. package/dist/db/migrations/013_execution_log_bytes.d.ts +5 -13
  224. package/dist/db/migrations/014_kici_events_lease_retry.d.ts +14 -27
  225. package/dist/db/migrations/015_org_settings_customer_scoped.d.ts +12 -17
  226. package/dist/db/migrations/016_org_settings_allow_http_npm.d.ts +4 -6
  227. package/dist/db/migrations/019_generic_sources_change_notify.d.ts +13 -17
  228. package/dist/db/migrations/020_org_settings_dashboard_write_policy.d.ts +5 -8
  229. package/dist/db/migrations/021_check_run_tracking.d.ts +5 -17
  230. package/dist/db/migrations/022_scaler_manager_state.d.ts +10 -20
  231. package/dist/db/migrations/023_dispatch_queue_recovery_deadline.d.ts +7 -18
  232. package/dist/db/migrations/024_dispatch_queue_provisioning_error.d.ts +5 -11
  233. package/dist/db/migrations/025_init_failure.d.ts +5 -9
  234. package/dist/db/migrations/027_workflow_timeout.d.ts +5 -13
  235. package/dist/db/migrations/029_dispatch_queue_attempts.d.ts +4 -10
  236. package/dist/db/migrations/030_held_runs_env_set_null.d.ts +5 -6
  237. package/dist/db/migrations/031_dispatch_queue_ack_deadline.d.ts +6 -12
  238. package/dist/db/migrations/033_org_settings_approval.d.ts +7 -10
  239. package/dist/db/migrations/034_held_runs_generalize.d.ts +10 -18
  240. package/dist/db/migrations/035_pending_workflow_contexts.d.ts +4 -5
  241. package/dist/db/migrations/037_generic_sources_provider_type_local.d.ts +5 -6
  242. package/dist/db/migrations/038_remote_sources.d.ts +5 -7
  243. package/dist/db/migrations/045_host_properties.d.ts +5 -9
  244. package/dist/db/migrations/046_join_token_consumed_by_instance.d.ts +5 -10
  245. package/dist/db/migrations/048_host_reboot_pending.d.ts +6 -12
  246. package/dist/db/migrations/049_held_runs_payload.d.ts +3 -8
  247. package/dist/db/migrations/050_sources_slug.d.ts +4 -5
  248. package/dist/db/migrations/051_binding_host_pattern.d.ts +7 -10
  249. package/dist/db/migrations/052_host_reach_metadata.d.ts +8 -11
  250. package/dist/db/migrations/053_agent_token_single_use.d.ts +6 -10
  251. package/dist/db/migrations/054_local_working_tree.d.ts +4 -6
  252. package/dist/db/migrations/055_agent_token_mandatory_labels.d.ts +6 -11
  253. package/dist/db/migrations/056_execution_jobs_environments.d.ts +4 -11
  254. package/dist/db/migrations/064_execution_jobs_skipped_environments.d.ts +6 -9
  255. package/dist/db/migrations/065_pending_attestations.d.ts +9 -12
  256. package/dist/db/migrations/066_pending_attestations_rejected.d.ts +4 -7
  257. package/dist/db/migrations/068_request_idempotency.d.ts +7 -9
  258. package/dist/db/migrations/069_reroute_tunables.d.ts +6 -14
  259. package/dist/db/migrations/071_batch_accumulation.d.ts +8 -16
  260. package/dist/db/migrations/072_dispatch_queue_run_id_index.d.ts +3 -9
  261. package/dist/db/migrations/074_normalize_zero_concurrency_limit.d.ts +4 -7
  262. package/dist/db/migrations/076_artifacts.d.ts +7 -8
  263. package/dist/db/migrations/078_org_settings_backup_staleness.d.ts +3 -6
  264. package/dist/db/migrations/079_org_settings_scaler_spawn_timeout.d.ts +4 -8
  265. package/dist/db/migrations/080_cluster_settings.d.ts +6 -10
  266. package/dist/db/migrations/081_org_settings_queue_timeout.d.ts +7 -11
  267. package/dist/db/migrations/082_host_s3_reachable.d.ts +5 -10
  268. package/dist/db/migrations/083_org_settings_artifact_caps.d.ts +6 -8
  269. package/dist/db/migrations/084_orchestrator_signing_keys.d.ts +8 -13
  270. package/dist/db/migrations/085_cluster_settings_reroute_flap_grace_ms.d.ts +4 -5
  271. package/dist/db/migrations/086_cluster_settings_max_fanout_hosts.d.ts +3 -3
  272. package/dist/db/migrations/087_cluster_settings_event_router_rate_limit.d.ts +5 -3
  273. package/dist/db/migrations/088_cluster_settings_cache_max_tarball_bytes.d.ts +3 -3
  274. package/dist/db/migrations/089_cluster_settings_cache_ttl_days.d.ts +3 -5
  275. package/dist/db/migrations/090_cluster_settings_concurrency_wait_timeout_ms.d.ts +3 -6
  276. package/dist/db/migrations/091_cluster_settings_agent_token_ttl_ms.d.ts +3 -6
  277. package/dist/db/migrations/092_cluster_settings_version.d.ts +5 -9
  278. package/dist/db/migrations/094_dashboard_encryption_keys.d.ts +9 -14
  279. package/dist/db/migrations/095_dashboard_write_policy_tristate.d.ts +2 -6
  280. package/dist/db/migrations/099_cluster_settings_dashboard_verified_issuer.d.ts +8 -11
  281. package/dist/db/migrations/101_contexts_hold_expiry_drop_default.d.ts +9 -15
  282. package/dist/db/migrations/102_dispatch_queue_agent_id.d.ts +6 -11
  283. package/dist/db/migrations/103_cluster_settings_ownership_db_check_timeout_ms.d.ts +6 -12
  284. package/dist/db/migrations/104_check_run_terminal_sent.d.ts +8 -14
  285. package/dist/db/migrations/105_org_trust_policy.d.ts +5 -7
  286. package/dist/db/migrations/106_cluster_settings_check_run_tracking_ttl_days.d.ts +4 -12
  287. package/dist/db/migrations/107_check_run_tracking_updated_at_index.d.ts +8 -14
  288. package/dist/db/migrations/113_execution_runs_workflow_repo_index.d.ts +10 -19
  289. package/dist/db/migrations/115_global_workflows_cluster_switch.d.ts +2 -3
  290. package/dist/db/migrations/121_org_settings_allow_untrusted_dockerfile_builds.d.ts +7 -8
  291. package/dist/db/migrations/122_host_roster_scaler_managed.d.ts +9 -16
  292. package/dist/db/migrations/123_workflow_registrations_default_branch.d.ts +8 -16
  293. package/dist/db/migrations/125_org_trust_directory.d.ts +13 -21
  294. package/dist/db/migrations/126_held_runs_posted_pending_check.d.ts +10 -16
  295. package/dist/db/migrations/127_org_trust_policy_approval_expiry_seconds.d.ts +8 -16
  296. package/dist/db/migrations/128_execution_runs_global_eval_round.d.ts +6 -11
  297. package/dist/db/migrations/129_execution_runs_dispatch_routing_key.d.ts +8 -11
  298. package/dist/db/migrations/130_scaler_provision_outcomes.d.ts +13 -20
  299. package/dist/db/migrations/131_execution_jobs_git_credentials.d.ts +12 -22
  300. package/dist/db/migrations/132_execution_runs_trigger_event.d.ts +6 -16
  301. package/dist/db/migrations/133_dispatch_queue_source_tar_digest.d.ts +6 -9
  302. package/dist/db/migrations/140_dispatch_queue_canonical_labels.d.ts +22 -40
  303. package/dist/db/migrations/143_execution_jobs_precursor_result.d.ts +9 -18
  304. package/dist/db/migrations/144_execution_runs_registration_window.d.ts +12 -20
  305. package/dist/db/migrations/147_sealed_job_secrets.d.ts +5 -9
  306. package/dist/db/migrations/148_cluster_settings_sealed_secrets_retry_backoff_ms.d.ts +7 -13
  307. package/dist/db/migrations/150_execution_runs_status_epoch.d.ts +6 -11
  308. package/dist/db/migrations/152_org_settings_cache_upload_settle_timeout.d.ts +5 -8
  309. package/dist/db/migrations/157_host_roster_identity_source.d.ts +9 -13
  310. package/dist/db/migrations/159_org_id_widen_to_source_width.d.ts +5 -0
  311. package/dist/db/migrator.d.ts +17 -25
  312. package/dist/db/notify-listener.d.ts +8 -11
  313. package/dist/db/repos/dashboard-encryption-keys-repo.d.ts +9 -10
  314. package/dist/db/synthetic-job-ids.d.ts +6 -8
  315. package/dist/db/types.d.ts +531 -1058
  316. package/dist/deployment/deployment-identity.d.ts +42 -60
  317. package/dist/diagnostics/bundle-reader.d.ts +3 -15
  318. package/dist/diagnostics/bundle-writer.d.ts +5 -12
  319. package/dist/diagnostics/checks/agents.d.ts +1 -7
  320. package/dist/diagnostics/checks/backup.d.ts +7 -10
  321. package/dist/diagnostics/checks/certs.d.ts +1 -6
  322. package/dist/diagnostics/checks/config.d.ts +2 -5
  323. package/dist/diagnostics/checks/db.d.ts +1 -1
  324. package/dist/diagnostics/checks/disk.d.ts +1 -6
  325. package/dist/diagnostics/checks/firecracker-network.d.ts +3 -3
  326. package/dist/diagnostics/checks/index.d.ts +0 -6
  327. package/dist/diagnostics/checks/retention.d.ts +3 -6
  328. package/dist/diagnostics/checks/scaler.d.ts +3 -7
  329. package/dist/diagnostics/checks/ws.d.ts +1 -6
  330. package/dist/diagnostics/fleet-collector.d.ts +11 -14
  331. package/dist/diagnostics/fleet-constants.d.ts +1 -3
  332. package/dist/diagnostics/fleet-selection.d.ts +3 -7
  333. package/dist/diagnostics/fleet-topology.d.ts +2 -6
  334. package/dist/diagnostics/fleet-wiring.d.ts +6 -12
  335. package/dist/diagnostics/index.d.ts +0 -5
  336. package/dist/diagnostics/runner.d.ts +4 -8
  337. package/dist/diagnostics/types.d.ts +10 -21
  338. package/dist/drain/drain-controller.d.ts +16 -22
  339. package/dist/entry-helpers.d.ts +0 -2
  340. package/dist/events/circuit-breaker.d.ts +0 -3
  341. package/dist/events/event-router.d.ts +1 -2
  342. package/dist/events/event-store.d.ts +0 -9
  343. package/dist/events/trust-store.d.ts +0 -3
  344. package/dist/events/types.d.ts +0 -9
  345. package/dist/firecracker/host-network.d.ts +24 -30
  346. package/dist/firecracker/net-interfaces.d.ts +4 -7
  347. package/dist/helpers/rate-limiter.d.ts +0 -1
  348. package/dist/index.js +240 -482
  349. package/dist/metrics/agent-metrics-aggregator.d.ts +24 -67
  350. package/dist/metrics/metrics-reporter.d.ts +4 -13
  351. package/dist/metrics/prometheus.d.ts +47 -81
  352. package/dist/orchestrator-core.d.ts +3 -7
  353. package/dist/pipeline/content-filter.d.ts +20 -30
  354. package/dist/pipeline/cross-source-tally.d.ts +7 -8
  355. package/dist/pipeline/decorating-secret-resolver.d.ts +4 -8
  356. package/dist/pipeline/degraded-reason.d.ts +3 -4
  357. package/dist/pipeline/direct-ingress-deps.d.ts +15 -24
  358. package/dist/pipeline/dispatch-matched-workflow.d.ts +290 -526
  359. package/dist/pipeline/flatten-lock-steps.d.ts +4 -6
  360. package/dist/pipeline/global-dispatch-identity.d.ts +5 -10
  361. package/dist/pipeline/global-eval-round.d.ts +62 -156
  362. package/dist/pipeline/global-round-hold.d.ts +5 -7
  363. package/dist/pipeline/held-context-data.d.ts +5 -8
  364. package/dist/pipeline/held-round-registrations.d.ts +8 -11
  365. package/dist/pipeline/install-gate.d.ts +15 -25
  366. package/dist/pipeline/install-secrets-resolver.d.ts +24 -34
  367. package/dist/pipeline/internal-event-pipeline.d.ts +45 -62
  368. package/dist/pipeline/invoke-gate.d.ts +27 -40
  369. package/dist/pipeline/job-contexts.d.ts +19 -36
  370. package/dist/pipeline/manual-schedule.d.ts +7 -13
  371. package/dist/pipeline/needs-scheduler.d.ts +29 -46
  372. package/dist/pipeline/pending-workflow-context.d.ts +14 -28
  373. package/dist/pipeline/process-webhook.d.ts +88 -123
  374. package/dist/pipeline/processor.d.ts +209 -355
  375. package/dist/pipeline/remote-source-store.d.ts +5 -8
  376. package/dist/pipeline/request-idempotency.d.ts +10 -13
  377. package/dist/pipeline/rerun-global.d.ts +6 -7
  378. package/dist/pipeline/rerun-inputs.d.ts +23 -37
  379. package/dist/pipeline/rerun.d.ts +34 -57
  380. package/dist/pipeline/resolve-sandbox-grant.d.ts +5 -10
  381. package/dist/pipeline/resume-workflow.d.ts +28 -34
  382. package/dist/pipeline/route-or-dispatch-jobs.d.ts +19 -30
  383. package/dist/pipeline/run-event-context.d.ts +16 -21
  384. package/dist/pipeline/sandbox-allowlist-reader.d.ts +7 -11
  385. package/dist/pipeline/security-hold-check.d.ts +56 -80
  386. package/dist/pipeline/test-pipeline.d.ts +20 -46
  387. package/dist/pipeline/unbound-job-context.d.ts +6 -9
  388. package/dist/pipeline/undispatched-hold-checks.d.ts +4 -6
  389. package/dist/pipeline/wave-scheduler.d.ts +15 -22
  390. package/dist/pipeline/webhook-payload-store.d.ts +3 -10
  391. package/dist/pipeline/workflow-lock-at-sha.d.ts +14 -20
  392. package/dist/policy/dashboard-write-policy.d.ts +1 -1
  393. package/dist/provider-registry.d.ts +0 -19
  394. package/dist/providers/generic/index.d.ts +0 -2
  395. package/dist/providers/generic/normalizer.d.ts +0 -1
  396. package/dist/providers/generic/verification.d.ts +0 -8
  397. package/dist/providers/github/auth.d.ts +0 -1
  398. package/dist/providers/github/changed-files.d.ts +2 -1
  399. package/dist/providers/github/file-contents.d.ts +0 -4
  400. package/dist/providers/github/lock-file.d.ts +0 -4
  401. package/dist/providers/github/normalizer.d.ts +1 -9
  402. package/dist/providers/local/index.d.ts +1 -2
  403. package/dist/providers/local/lock-file-fetcher.d.ts +0 -4
  404. package/dist/providers/local/normalizer.d.ts +0 -10
  405. package/dist/providers/local/repo-url-builder.d.ts +0 -2
  406. package/dist/providers/universal-git/clone-token.d.ts +0 -2
  407. package/dist/providers/universal-git/lock-file.d.ts +0 -2
  408. package/dist/providers/universal-git/normalizer.d.ts +0 -2
  409. package/dist/queue/bootstrap.d.ts +3 -15
  410. package/dist/queue/cleanup.d.ts +29 -50
  411. package/dist/queue/depth-refresher.d.ts +21 -39
  412. package/dist/queue/job-queue.d.ts +112 -163
  413. package/dist/queue/retention.d.ts +23 -36
  414. package/dist/queue/scheduled-job.d.ts +17 -39
  415. package/dist/queue/terminalize-unroutable.d.ts +16 -18
  416. package/dist/queue/unroutable-probe.d.ts +15 -22
  417. package/dist/registration/extractor.d.ts +0 -6
  418. package/dist/registration/registration-index.d.ts +0 -6
  419. package/dist/registration/registration-store.d.ts +0 -9
  420. package/dist/reporting/agent-failure-category.d.ts +3 -5
  421. package/dist/reporting/check-run-reporter.d.ts +142 -316
  422. package/dist/reporting/check-run-summary.d.ts +16 -35
  423. package/dist/reporting/check-run-tracking-store.d.ts +54 -107
  424. package/dist/reporting/execution-tracker.d.ts +356 -526
  425. package/dist/reporting/fs-log-storage.d.ts +31 -33
  426. package/dist/reporting/job-check-run-completion.d.ts +14 -22
  427. package/dist/reporting/log-chunk-sink.d.ts +11 -16
  428. package/dist/reporting/log-pull-handler.d.ts +4 -13
  429. package/dist/reporting/log-retention.d.ts +3 -4
  430. package/dist/reporting/log-storage.d.ts +24 -52
  431. package/dist/reporting/log-writer.d.ts +28 -56
  432. package/dist/reporting/peer-log-normalize.d.ts +4 -8
  433. package/dist/reporting/run-aggregator.d.ts +6 -11
  434. package/dist/reporting/run-summary-fields.d.ts +5 -8
  435. package/dist/reporting/s3-log-storage.d.ts +31 -50
  436. package/dist/reporting/step-display-order.d.ts +11 -21
  437. package/dist/reporting/step-log-buffer.d.ts +7 -28
  438. package/dist/reporting/step-log-reader.d.ts +11 -19
  439. package/dist/routes/admin-access-log.d.ts +4 -6
  440. package/dist/routes/admin-auth.d.ts +17 -38
  441. package/dist/routes/admin-backends.d.ts +3 -14
  442. package/dist/routes/admin-cluster-name.d.ts +13 -21
  443. package/dist/routes/admin-cluster-settings.d.ts +6 -9
  444. package/dist/routes/admin-config.d.ts +7 -19
  445. package/dist/routes/admin-contexts.d.ts +6 -13
  446. package/dist/routes/admin-db.d.ts +5 -10
  447. package/dist/routes/admin-event-dlq.d.ts +3 -5
  448. package/dist/routes/admin-event-inspect.d.ts +3 -4
  449. package/dist/routes/admin-event-log.d.ts +3 -7
  450. package/dist/routes/admin-events.d.ts +16 -30
  451. package/dist/routes/admin-held-runs.d.ts +52 -76
  452. package/dist/routes/admin-maintenance.d.ts +3 -6
  453. package/dist/routes/admin-orchestrator-drain.d.ts +0 -2
  454. package/dist/routes/admin-org-settings.d.ts +8 -14
  455. package/dist/routes/admin-peer-forget.d.ts +0 -1
  456. package/dist/routes/admin-queue-execution.d.ts +3 -3
  457. package/dist/routes/admin-registrations.d.ts +3 -12
  458. package/dist/routes/admin-runs.d.ts +16 -29
  459. package/dist/routes/admin-scaler-orphans.d.ts +4 -4
  460. package/dist/routes/admin-scaler-reload.d.ts +5 -8
  461. package/dist/routes/admin-scheduled-jobs.d.ts +3 -4
  462. package/dist/routes/admin-sources.d.ts +20 -29
  463. package/dist/routes/admin-trust-policy.d.ts +31 -48
  464. package/dist/routes/admin.d.ts +67 -94
  465. package/dist/routes/caller-identity.d.ts +5 -12
  466. package/dist/routes/capabilities.d.ts +8 -13
  467. package/dist/routes/diagnostics.d.ts +2 -10
  468. package/dist/routes/fleet.d.ts +1 -2
  469. package/dist/routes/github-webhook.d.ts +2 -5
  470. package/dist/routes/health.d.ts +6 -19
  471. package/dist/routes/provenance-oidc.d.ts +3 -3
  472. package/dist/routes/uploads.d.ts +5 -11
  473. package/dist/routes/webhooks.d.ts +2 -24
  474. package/dist/scaler/agent-binary-location.d.ts +77 -0
  475. package/dist/scaler/agent-fit.d.ts +2 -2
  476. package/dist/scaler/backend-factory.d.ts +10 -18
  477. package/dist/scaler/bare-metal-backend.d.ts +30 -46
  478. package/dist/scaler/claim-store.d.ts +20 -43
  479. package/dist/scaler/config.d.ts +10 -37
  480. package/dist/scaler/container-backend.d.ts +22 -35
  481. package/dist/scaler/container-hostconfig.d.ts +19 -16
  482. package/dist/scaler/container-routing.d.ts +10 -13
  483. package/dist/scaler/disk-guard.d.ts +2 -3
  484. package/dist/scaler/event-backend.d.ts +33 -58
  485. package/dist/scaler/event-provision-reaper.d.ts +61 -84
  486. package/dist/scaler/failure-tracker.d.ts +6 -13
  487. package/dist/scaler/file-tail.d.ts +6 -19
  488. package/dist/scaler/firecracker-api.d.ts +19 -63
  489. package/dist/scaler/firecracker-backend.d.ts +142 -258
  490. package/dist/scaler/host-access.d.ts +7 -10
  491. package/dist/scaler/index.d.ts +3 -6
  492. package/dist/scaler/ip-allocator.d.ts +30 -82
  493. package/dist/scaler/label-matcher.d.ts +14 -35
  494. package/dist/scaler/log-forwarder.d.ts +6 -25
  495. package/dist/scaler/machine-ledger.d.ts +39 -86
  496. package/dist/scaler/manager.d.ts +517 -787
  497. package/dist/scaler/pending-scale-sweeper.d.ts +8 -11
  498. package/dist/scaler/reap-orphans.d.ts +8 -12
  499. package/dist/scaler/resolve-container-auth.d.ts +12 -21
  500. package/dist/scaler/scaler-events.d.ts +2 -5
  501. package/dist/scaler/scaler-state-store.d.ts +127 -189
  502. package/dist/scaler/spawn-errors.d.ts +1 -4
  503. package/dist/scaler/startup-orphan-sweep.d.ts +3 -4
  504. package/dist/scaler/startup-tools-check.d.ts +21 -0
  505. package/dist/scaler/types.d.ts +142 -255
  506. package/dist/scaler/vm-job-bindings.d.ts +5 -9
  507. package/dist/scaler/warm-pool.d.ts +49 -93
  508. package/dist/secrets/audit-logger.d.ts +0 -3
  509. package/dist/secrets/backend-health.d.ts +0 -9
  510. package/dist/secrets/backend-registry.d.ts +0 -9
  511. package/dist/secrets/cleanup.d.ts +0 -1
  512. package/dist/secrets/config.d.ts +0 -3
  513. package/dist/secrets/ephemeral-keys.d.ts +0 -3
  514. package/dist/secrets/pg-secret-store.d.ts +0 -3
  515. package/dist/secrets/rbac.d.ts +0 -6
  516. package/dist/secrets/secret-output-store.d.ts +0 -6
  517. package/dist/secrets/secret-resolver.d.ts +2 -6
  518. package/dist/secrets/token-manager.d.ts +0 -4
  519. package/dist/secrets/vault-secret-store.d.ts +0 -13
  520. package/dist/security/comment-handler.d.ts +0 -2
  521. package/dist/security/workflow-diff.d.ts +1 -1
  522. package/dist/server.js +8628 -13569
  523. package/dist/sources/source-manager.d.ts +0 -3
  524. package/dist/sources/source-store.d.ts +0 -9
  525. package/dist/sources/source-validator.d.ts +0 -3
  526. package/dist/stale-detector/all-terminal-runs.d.ts +8 -11
  527. package/dist/stale-detector/gate-deadline-detector.d.ts +14 -19
  528. package/dist/stale-detector/reboot-deadline-sweep.d.ts +7 -11
  529. package/dist/stale-detector/stale-dispatch-candidates.d.ts +13 -20
  530. package/dist/stale-detector/stale-run-detector.d.ts +74 -121
  531. package/dist/stale-detector/workflow-deadline-detector.d.ts +15 -43
  532. package/dist/standalone.js +7670 -12402
  533. package/dist/storage/blob-routes.d.ts +10 -19
  534. package/dist/storage/filesystem.d.ts +19 -29
  535. package/dist/storage/index.d.ts +2 -10
  536. package/dist/storage/key-discriminator.d.ts +8 -10
  537. package/dist/storage/loopback-guard.d.ts +27 -45
  538. package/dist/storage/s3.d.ts +25 -52
  539. package/dist/storage/sign-url.d.ts +7 -22
  540. package/dist/storage/types.d.ts +44 -70
  541. package/dist/webhook/event-log.d.ts +0 -2
  542. package/dist/webhook/generic-sources.d.ts +0 -21
  543. package/dist/webhook/ingest-admission.d.ts +0 -1
  544. package/dist/webhook/relay-buffer.d.ts +2 -2
  545. package/dist/webhook/verify-inbound.d.ts +0 -1
  546. package/dist/worker/in-memory-execution-tracker.d.ts +9 -31
  547. package/dist/worker/in-memory-job-queue.d.ts +32 -72
  548. package/dist/worker/peer-outbox.d.ts +5 -8
  549. package/dist/worker/reroute-dispatch.d.ts +4 -6
  550. package/dist/worker/static-agent-token-store.d.ts +6 -27
  551. package/dist/worker/worker-outbox-relay.d.ts +2 -2
  552. package/dist/worker/worker-status.d.ts +3 -20
  553. package/dist/ws/agent-api-registry.d.ts +8 -27
  554. package/dist/ws/agent-handler.d.ts +63 -110
  555. package/dist/ws/agent-heartbeat.d.ts +5 -12
  556. package/dist/ws/bringup-api.d.ts +31 -38
  557. package/dist/ws/dashboard-backends-handler.d.ts +12 -22
  558. package/dist/ws/dashboard-context-handler.d.ts +37 -80
  559. package/dist/ws/dashboard-diagnostics-handler.d.ts +8 -25
  560. package/dist/ws/dashboard-dispatch-guard.d.ts +3 -4
  561. package/dist/ws/dashboard-fleet-handler.d.ts +9 -13
  562. package/dist/ws/dashboard-fleet-write-handler.d.ts +7 -21
  563. package/dist/ws/dashboard-global-workflows-handler.d.ts +22 -44
  564. package/dist/ws/dashboard-registrations-handler.d.ts +10 -27
  565. package/dist/ws/dashboard-run-state-handler.d.ts +10 -13
  566. package/dist/ws/event-buffer.d.ts +3 -6
  567. package/dist/ws/execution-status-frame.d.ts +9 -11
  568. package/dist/ws/failure-messages.d.ts +9 -14
  569. package/dist/ws/fleet-agent-collector.d.ts +6 -12
  570. package/dist/ws/fleet-runs-on-all.d.ts +1 -6
  571. package/dist/ws/git-credential-relay.d.ts +12 -20
  572. package/dist/ws/inventory-api.d.ts +4 -5
  573. package/dist/ws/job-status-forward-frame.d.ts +30 -0
  574. package/dist/ws/observer-registry.d.ts +14 -59
  575. package/dist/ws/outbound-frame-guard.d.ts +4 -0
  576. package/dist/ws/ownership-gate.d.ts +1 -1
  577. package/dist/ws/platform-client.d.ts +32 -31
  578. package/dist/ws/replay-chunker.d.ts +7 -10
  579. package/dist/ws/server-options.d.ts +5 -9
  580. package/dist/ws/test-relay-handlers.d.ts +45 -59
  581. package/dist/ws/test-run-log-cursor.d.ts +18 -0
  582. package/installer-image-digests.json +3 -3
  583. package/package.json +6 -5
  584. package/sbom.spdx.json +53 -53
  585. package/dist/__test-helpers__/fake-scaler-state-store.d.ts +0 -24
  586. package/dist/__test-helpers__/mock-db-query.d.ts +0 -129
  587. package/dist/__test-helpers__/mock-db.d.ts +0 -134
  588. package/dist/__test-helpers__/mock-ws.d.ts +0 -13
  589. package/dist/__test-helpers__/peer-mutual-auth.d.ts +0 -42
  590. package/dist/__test-helpers__/scratch-db.d.ts +0 -16
  591. package/dist/__test-helpers__/test-db.d.ts +0 -34
  592. package/dist/pipeline/dispatch-matched-workflow.test-helpers.d.ts +0 -121
@@ -5,25 +5,19 @@ import type { AccessLogWriter } from '../audit/access-log.js';
5
5
  import type { Kysely } from 'kysely';
6
6
  import type { Database } from '../db/types.js';
7
7
  interface DashboardBackendsHandlerDeps {
8
- /** Send a response message back to Platform over the WS connection. */
9
8
  send: (msg: unknown) => void;
10
9
  registry: BackendRegistry;
11
10
  healthChecker: BackendHealthChecker;
12
11
  syncManager?: BackendSyncManager;
13
- /** Database — required for dashboard-write policy lookups. */
12
+ /** Required for dashboard-write policy lookups. */
14
13
  db: Kysely<Database>;
15
- /** Access log writer — records one row per read / mutation with actor attribution. */
14
+ /** Records one row per read / mutation with actor attribution. */
16
15
  accessLog?: AccessLogWriter;
17
- /** Org ID for access_log rows (null when the orchestrator isn't org-scoped). */
16
+ /** For access_log rows; null when the orchestrator isn't org-scoped. */
18
17
  orgId?: string | null;
19
- /** Routing key for access_log rows (null when not run-scoped). */
18
+ /** For access_log rows; null when not run-scoped. */
20
19
  routingKey?: string | null;
21
20
  }
22
- /**
23
- * Handler for all dashboard backend WS messages.
24
- *
25
- * Dispatches incoming messages by type and calls the appropriate backend services.
26
- */
27
21
  export declare class DashboardBackendsHandler {
28
22
  private readonly deps;
29
23
  private orgId;
@@ -31,24 +25,20 @@ export declare class DashboardBackendsHandler {
31
25
  private readonly access;
32
26
  constructor(deps: DashboardBackendsHandlerDeps);
33
27
  /**
34
- * Update the bound orgId + routingKey. Called from server.ts after resolving
35
- * the single tenant org from the `sources` / `generic_webhook_sources` table.
28
+ * Called from server.ts after resolving the single tenant org from the `sources` /
29
+ * `generic_webhook_sources` table.
36
30
  */
37
31
  setOrgContext(orgId: string | null, routingKey: string | null): void;
38
32
  /**
39
- * Defense-in-depth dashboard-write policy gate. Returns true when the
40
- * operation is allowed and the caller should proceed. Returns false
41
- * when the policy is disabled — also records a `denied` access_log row
42
- * and emits a structured `operation_disabled` envelope on the WS.
33
+ * Defense-in-depth dashboard-write policy gate. When the policy is disabled it records
34
+ * a `denied` access_log row, emits a structured `operation_disabled` envelope and
35
+ * returns false.
43
36
  *
44
- * Fails open when no org is bound — the orch hasn't resolved a
45
- * customer yet, so there's nothing to look up.
37
+ * Fails open when no org is bound: no customer is resolved yet, so there is nothing to
38
+ * look up.
46
39
  */
47
40
  private enforcePolicy;
48
- /**
49
- * Route a dashboard backends message to the appropriate handler.
50
- * Returns true if the message was handled, false otherwise.
51
- */
41
+ /** Returns false for a message this handler does not own. */
52
42
  handleMessage(msg: DashboardPlatformToOrchMessage): Promise<boolean>;
53
43
  private handleList;
54
44
  private handleGet;
@@ -1,14 +1,6 @@
1
1
  /**
2
- * Dashboard context handler for the orchestrator.
3
- *
4
- * Responds to dashboard.contexts.* and dashboard.held-runs.* WS messages
5
- * from Platform by calling the appropriate stores (ContextStore, VariableStore,
6
- * BindingStore, PgSecretStore) and sending typed responses.
7
- *
8
- * Each handler:
9
- * 1. Extracts orgId from the dependency context
10
- * 2. Calls the appropriate store method
11
- * 3. Returns a response message with requestId and data (or error)
2
+ * Answers dashboard.contexts.* and dashboard.held-runs.* WS messages from Platform via
3
+ * the ContextStore, VariableStore, BindingStore and PgSecretStore.
12
4
  */
13
5
  import type { Kysely } from 'kysely';
14
6
  import type { HeldRunStore, ReleaseSignal } from '../contexts/held-runs.js';
@@ -22,42 +14,28 @@ import type { Database, HeldRun } from '../db/types.js';
22
14
  import type { AccessLogWriter } from '../audit/access-log.js';
23
15
  import { type ScopedSecretStore } from '../secrets/scope-routing.js';
24
16
  import type { ResolvedDashboardEncryptionKey } from '../secrets/dashboard-encryption-key.js';
25
- /**
26
- * Secret store interface (subset of PgSecretStore methods used here).
27
- *
28
- * Alias of the shared `ScopedSecretStore` so the WS plane and the HTTP admin
29
- * plane route scopes against one contract.
30
- */
17
+ /** Aliases `ScopedSecretStore` so the WS and HTTP admin planes share one scope contract. */
31
18
  type SecretStoreForDashboard = ScopedSecretStore;
32
19
  export interface DashboardContextHandlerDeps {
33
- /** Organization ID for all operations. */
34
20
  orgId: string;
35
- /** Send a response message back to Platform over the WS connection. */
36
21
  send: (msg: unknown) => void;
37
22
  contextStore: ContextStore;
38
23
  variableStore: VariableStore;
39
24
  bindingStore: BindingStore;
40
25
  secretStore: SecretStoreForDashboard;
41
- /** Load fresh backend stores from registry (creates new store instances with current credentials). */
26
+ /** Creates fresh store instances from the registry with current credentials. */
42
27
  loadBackendStores?: () => Promise<Map<string, SecretStoreForDashboard>>;
43
- /** Database for held_runs queries. */
44
28
  db: Kysely<Database>;
45
- /** Access log writer — records one row per read / mutation with actor attribution. */
29
+ /** Records one row per read / mutation with actor attribution. */
46
30
  accessLog?: AccessLogWriter;
47
- /** Routing key for access_log rows (null when not run-scoped). */
31
+ /** For access_log rows; null when not run-scoped. */
48
32
  routingKey?: string | null;
49
- /**
50
- * Held-run store + resume hook for the approve/reject flow. The approve/reject
51
- * handlers route through the shared `applyDecision` applier (eligibility
52
- * check, real attribution, multi-clause accumulation, and the
53
- * resume-after-approval re-dispatch).
54
- */
33
+ /** Held-run store + resume hooks; approve/reject route through the shared `applyDecision`. */
55
34
  approvals: ApprovalHandlerDeps;
56
35
  /**
57
- * Dashboard-encryption key resolver. Present when KICI_SECRET_KEY is
58
- * configured. Under the `encrypted` posture the secret/variable set handlers
59
- * decrypt the browser-sealed envelope with the resolved private key. Absent ⇒
60
- * `encrypted` writes fail closed (`encryption_unavailable`).
36
+ * Present when KICI_SECRET_KEY is configured; under the `encrypted` posture the
37
+ * secret/variable set handlers decrypt the browser-sealed envelope with its private key.
38
+ * Absent ⇒ `encrypted` writes fail closed (`encryption_unavailable`).
61
39
  */
62
40
  dashboardEncryption?: {
63
41
  resolve: () => Promise<ResolvedDashboardEncryptionKey | null>;
@@ -91,51 +69,36 @@ export interface ApprovalHandlerDeps {
91
69
  */
92
70
  settleSecurityCheck?: ApplyDecisionDeps['settleSecurityCheck'];
93
71
  }
94
- /**
95
- * Handler for all dashboard context and held run WS messages.
96
- *
97
- * Dispatches incoming messages by type and calls the appropriate store.
98
- */
99
72
  export declare class DashboardContextHandler {
100
73
  private readonly deps;
101
74
  private routingKey;
102
75
  private readonly access;
103
76
  constructor(deps: DashboardContextHandlerDeps);
104
- /** Update the orgId used for all operations (called when resolved from DB). */
77
+ /** Called when the org is resolved from the DB. */
105
78
  setOrgId(orgId: string): void;
106
- /** Update the routing key bound to access_log rows. */
107
79
  setRoutingKey(routingKey: string | null): void;
108
80
  /**
109
- * Defense-in-depth dashboard-write policy gate. Returns true when the
110
- * operation is allowed and the caller should proceed. Returns false when
111
- * the policy is disabled — also records a `denied` access_log row and
112
- * sends a structured `operation_disabled` envelope back to Platform.
81
+ * Defense-in-depth dashboard-write policy gate. When the policy is disabled it records
82
+ * a `denied` access_log row, sends a structured `operation_disabled` envelope and
83
+ * returns false.
113
84
  */
114
85
  private enforcePolicy;
115
- /** Run a single-call request through `audited` with this handler's recorder and response channel. */
116
86
  private audited;
117
87
  /**
118
- * Resolve the plaintext value for a secret/variable set under the write
119
- * policy. When the client sends a `sealed` envelope, decrypt it with the
120
- * orchestrator's X25519 key (honored regardless of posture — the client chose
121
- * to seal, so never expose that plaintext through the Platform). Otherwise,
122
- * under the `encrypted` posture a plaintext `value` is refused (fail-closed);
123
- * under `permissive` the plaintext `value` is used. Returns the plaintext or a
124
- * structured error code the caller records + sends back.
88
+ * Plaintext for a secret/variable set. A `sealed` envelope is decrypted with the
89
+ * orchestrator's X25519 key under any posture: the client chose to seal, so that
90
+ * plaintext never transits the Platform. Otherwise `encrypted` refuses a plaintext
91
+ * `value` (fail-closed) and `permissive` uses it. Errors are structured codes the
92
+ * caller records and sends back.
125
93
  */
126
94
  private resolveWriteValue;
127
- /**
128
- * Route a dashboard message to the appropriate handler.
129
- * Returns true if the message was handled, false otherwise.
130
- */
95
+ /** Returns false for a message this handler does not own. */
131
96
  handleMessage(msg: DashboardPlatformToOrchMessage): Promise<boolean>;
132
97
  private handleEnvList;
133
98
  /**
134
- * Map each context id to the distinct secret key names reachable through
135
- * its scope bindings. Joins `context_bindings` → `scoped_secrets` on the
136
- * scope pattern, excluding the `__empty__` sentinel. Returns key names only —
137
- * never values. Scoped to the caller-resolved org (the request's target org,
138
- * else the connection-level org).
99
+ * Context id → distinct secret key names reachable through its scope bindings
100
+ * (`context_bindings` → `scoped_secrets` on the scope pattern, minus the `__empty__`
101
+ * sentinel). Key names only, never values, scoped to the caller-resolved org.
139
102
  */
140
103
  private loadSecretKeysByEnv;
141
104
  private handleEnvGet;
@@ -151,13 +114,9 @@ export declare class DashboardContextHandler {
151
114
  private handleSourceOverrideDelete;
152
115
  private handleBindingsList;
153
116
  private handleBindingsSet;
154
- /** Load fresh backend stores, falling back to single secretStore wrapped in a Map. */
117
+ /** Falls back to the single secretStore wrapped in a Map. */
155
118
  private getBackendStores;
156
- /**
157
- * Resolve the correct backend store for a prefixed scope (e.g., 'vault:aws/prod').
158
- * Returns the store and the scope to pass to it.
159
- * All stores expect unprefixed scopes — the backend prefix is stripped.
160
- */
119
+ /** For a prefixed scope (e.g. 'vault:aws/prod'); stores expect it with the prefix stripped. */
161
120
  private resolveStoreForScope;
162
121
  private handleSecretsList;
163
122
  private handleSecretSet;
@@ -168,27 +127,25 @@ export declare class DashboardContextHandler {
168
127
  private handleEnvHistory;
169
128
  private handleHeldRunsList;
170
129
  /**
171
- * Resolve the actor's Keycloak sub for approval attribution. Only `user` and
130
+ * The actor's Keycloak sub for approval attribution. Only `user` and
172
131
  * `platform_operator` actors carry a `sub`; others fall back to a stable id.
173
132
  *
174
- * The `service:` namespace comes from {@link adminActorSub} rather than a
175
- * literal here: `applyDecision`'s self-approval gate compares this value
176
- * against {@link triggererSubjectFor}'s output, so the two renderings of one
177
- * principal have to be produced by the same code or the gate compares strings
178
- * that can never be equal.
133
+ * The `service:` namespace comes from {@link adminActorSub}, not a literal:
134
+ * `applyDecision`'s self-approval gate compares this against
135
+ * {@link triggererSubjectFor}'s output, so both renderings must come from the same
136
+ * code or the gate compares strings that can never be equal.
179
137
  */
180
138
  private actorSub;
181
- /** Read org_settings.allow_self_approval (default true). */
139
+ /** org_settings.allow_self_approval, default true. */
182
140
  private readAllowSelfApproval;
183
141
  /**
184
- * Route an approve/reject through the shared `applyDecision` applier:
185
- * eligibility check, real attribution, multi-clause accumulation, and the
186
- * resume-after-approval re-dispatch. Sends the matching response message.
142
+ * Routes an approve/reject through the shared `applyDecision` applier: eligibility,
143
+ * real attribution, multi-clause accumulation and the resume-after-approval
144
+ * re-dispatch.
187
145
  *
188
- * The response goes out as soon as the decision is durable, not when its
189
- * consequence finishes — see `ApplyDecisionResult.consequence`. The audit
190
- * entry is attached to that consequence instead, so there is still exactly one
191
- * per decision and it still carries the real outcome.
146
+ * The response goes out once the decision is durable, not when its consequence
147
+ * finishes (`ApplyDecisionResult.consequence`). The audit entry attaches to the
148
+ * consequence, so there is exactly one per decision carrying the real outcome.
192
149
  */
193
150
  private applyApprovalDecision;
194
151
  private handleHeldRunApprove;
@@ -1,10 +1,8 @@
1
1
  /**
2
2
  * Handles dashboard.diagnostics requests from Platform.
3
3
  *
4
- * Reads the AgentRegistry for connected agent info, extracts orchestrator
5
- * metadata from config, and computes label gap information from the job queue.
6
- *
7
- * Returns a response matching dashboardDiagnosticsResponseSchema.
4
+ * Reads the AgentRegistry for connected agent info and extracts orchestrator
5
+ * metadata from config. `pendingLabelGaps` is always empty.
8
6
  */
9
7
  import type { AgentRegistry } from '../agent/registry.js';
10
8
  import type { AppConfig } from '../config.js';
@@ -16,41 +14,26 @@ import type { RaftNode } from '../cluster/raft.js';
16
14
  export interface DiagnosticsHandlerDeps {
17
15
  agentRegistry: AgentRegistry;
18
16
  config: AppConfig;
19
- /** Orchestrator version string (e.g. "0.0.1"). */
17
+ /** e.g. "0.0.1". */
20
18
  version: string;
21
- /** Unique scaler backend types (e.g. ["container", "firecracker"]). */
19
+ /** Unique backend types, e.g. ["container", "firecracker"]. */
22
20
  scalerBackends: string[];
23
- /** Optional job queue for queued job count. */
24
21
  jobQueue?: {
25
22
  getDepth(): Promise<number>;
26
23
  };
27
- /** Optional scaler manager for agent-to-scaler mapping. */
28
24
  scalerManager?: ScalerManager | null;
29
- /** Optional scaler config for scaler details. */
30
25
  scalerConfig?: ScalerConfig | null;
31
- /** Optional peer registry for cluster coordinator mode. */
26
+ /** Set in cluster coordinator mode. */
32
27
  peerRegistry?: PeerRegistry | null;
33
- /** Optional Raft node for cluster election state. */
34
28
  raftNode?: RaftNode | null;
35
29
  }
36
30
  /**
37
- * Build a safe config subset for a scaler entry (no secrets like socketPath, uid, gid, etc).
38
- * Uses an explicit allowlist to prevent accidental secret leaks.
31
+ * An explicit allowlist, so secrets (socketPath, uid, gid, …) never leak.
39
32
  */
40
33
  export declare function buildSafeScalerConfig(entry: ScalerEntry): Record<string, unknown>;
41
- /**
42
- * Build a diagnostics response for the given request.
43
- * When includeAgents is false (default), agents[] is empty and aggregate fields are populated.
44
- */
34
+ /** When includeAgents is false (default), agents[] is empty; aggregates are always set. */
45
35
  export declare function handleDiagnosticsRequest(deps: DiagnosticsHandlerDeps, requestId: string, includeAgents?: boolean): Promise<DashboardDiagnosticsResponse>;
46
- /**
47
- * Build a per-scaler capacity response for the given request.
48
- * Reads ScalerManager status to get active/max counts per backend.
49
- */
50
36
  export declare function handleScalerCapacityRequest(scalerManager: ScalerManager | null, requestId: string): DashboardScalerCapacityResponse;
51
- /**
52
- * Build a per-scaler agents response for the given request.
53
- * When scalerName is null, returns agents not bound to any scaler (stateful agents).
54
- */
37
+ /** A null scalerName returns agents bound to no scaler (stateful agents). */
55
38
  export declare function handleScalerAgentsRequest(deps: DiagnosticsHandlerDeps, requestId: string, scalerName: string | null): DashboardScalerAgentsResponse;
56
39
  //# sourceMappingURL=dashboard-diagnostics-handler.d.ts.map
@@ -1,8 +1,7 @@
1
1
  /**
2
- * Guarantees every forwarded dashboard request produces exactly one response
3
- * frame keyed to its requestId. Wraps the per-type dispatch so a thrown handler
4
- * or an unhandled message type returns a fast structured error instead of a
5
- * silently dropped frame (which the Platform would surface as a 10s 504 at its
2
+ * Guarantees every forwarded dashboard request gets exactly one response frame
3
+ * keyed to its requestId: a thrown handler or an unhandled type returns a
4
+ * structured error instead of a dropped frame (a 10s 504 at the Platform's
6
5
  * forward window).
7
6
  */
8
7
  export interface DashboardDispatchGuardDeps {
@@ -1,12 +1,9 @@
1
1
  /**
2
- * Orchestrator-side handlers for the fleet-management read path (P2).
3
- *
4
- * Each handler answers one Platform->orchestrator read-relay request from
5
- * `HostRosterStore`. The roster reads return `FleetHostEntry` (the canonical
6
- * `HostInventoryEntry` plus `confirmed`) so the dashboard can show hosts
7
- * declared from the dashboard that no agent or operator confirmed yet. The handlers are pure (they take their dependencies as arguments) so
8
- * the WS wiring in `server.ts` stays a thin adapter and the logic is unit
9
- * testable without a live DB / Platform connection.
2
+ * Fleet-management read-relay handlers, answered from `HostRosterStore`. Roster
3
+ * reads return `FleetHostEntry` (`HostInventoryEntry` plus `confirmed`) so the
4
+ * dashboard can show dashboard-declared hosts no agent or operator confirmed
5
+ * yet. Handlers take their deps as arguments, keeping the `server.ts` wiring a
6
+ * thin adapter and the logic unit-testable without a live DB or Platform.
10
7
  */
11
8
  import type { Kysely } from 'kysely';
12
9
  import type { Database } from '../db/types.js';
@@ -25,7 +22,7 @@ export interface FleetHandlerDeps {
25
22
  rosterGraceMs: number;
26
23
  /** Resolve a workflow's runsOnAll predicate + onUnreachable, or null. */
27
24
  resolveRunsOnAll: (workflowName: string) => Promise<ResolvedRunsOnAll | null>;
28
- /** All registered workflows (for the host-centric workflows-for-host read). */
25
+ /** Backs the host-centric workflows-for-host read. */
29
26
  registrationStore: RegistrationStore;
30
27
  }
31
28
  /** Roster: every host, unconfirmed placeholders included, flagged `confirmed`. */
@@ -35,10 +32,9 @@ export declare function handleFleetHostRequest(deps: FleetHandlerDeps, requestId
35
32
  /** runsOnAll preview: matched hosts + the fan-out policy + estimated child count. */
36
33
  export declare function handleFleetPreviewRequest(deps: FleetHandlerDeps, requestId: string, workflowName: string): Promise<DashboardFleetPreviewResponse>;
37
34
  /**
38
- * workflows-for-host: the host-centric inverse of the preview. Resolves this
39
- * host's label set once, then tests every registered (non-disabled) workflow's
40
- * runsOnAll predicate against it, returning each match with the fan-out's
41
- * `onUnreachable` policy and the host's per-workflow disposition.
35
+ * workflows-for-host: the host-centric inverse of the preview. Tests every
36
+ * non-disabled workflow's runsOnAll predicate against this host's labels and
37
+ * returns each match with its `onUnreachable` policy and the host's disposition.
42
38
  */
43
39
  export declare function handleFleetWorkflowsForHostRequest(deps: FleetHandlerDeps, requestId: string, agentId: string): Promise<DashboardFleetWorkflowsForHostResponse>;
44
40
  //# sourceMappingURL=dashboard-fleet-handler.d.ts.map
@@ -4,25 +4,17 @@ import type { Database } from '../db/types.js';
4
4
  import { type HostRosterStore } from '../agent/host-roster.js';
5
5
  import type { AccessLogWriter } from '../audit/access-log.js';
6
6
  interface DashboardFleetWriteHandlerDeps {
7
- /** Send a response message back to Platform over the WS connection. */
8
7
  send: (msg: unknown) => void;
9
- /** The orchestrator host roster store (declare / remove). */
10
8
  rosterStore: HostRosterStore;
11
- /** Database — required for dashboard-write policy lookups. */
9
+ /** For dashboard-write policy lookups. */
12
10
  db: Kysely<Database>;
13
- /** Access log writer — records one row per mutation with actor attribution. */
14
11
  accessLog?: AccessLogWriter;
15
12
  /** Org ID for access_log rows (null when the orchestrator isn't org-scoped). */
16
13
  orgId?: string | null;
17
14
  /** Routing key for access_log rows (null when not run-scoped). */
18
15
  routingKey?: string | null;
19
16
  }
20
- /** Messages this handler owns. */
21
17
  type FleetWriteMessage = FleetHostDeclareRequest | FleetHostRemoveRequest;
22
- /**
23
- * Handler for the fleet host-write WS messages. Dispatches by type and calls
24
- * the host roster store behind the dashboard-write policy gate.
25
- */
26
18
  export declare class DashboardFleetWriteHandler {
27
19
  private readonly deps;
28
20
  private orgId;
@@ -30,17 +22,14 @@ export declare class DashboardFleetWriteHandler {
30
22
  private readonly access;
31
23
  constructor(deps: DashboardFleetWriteHandlerDeps);
32
24
  /**
33
- * Update the bound orgId + routingKey. Called from server.ts after resolving
34
- * the single tenant org from the `sources` / `generic_webhook_sources` table.
25
+ * Called from server.ts once the single tenant org resolves from the
26
+ * `sources`, `generic_webhook_sources` or `remote_sources` table.
35
27
  */
36
28
  setOrgContext(orgId: string | null, routingKey: string | null): void;
37
29
  /**
38
- * Defense-in-depth dashboard-write policy gate. Returns true when the
39
- * operation is allowed and the caller should proceed. Returns false when the
40
- * policy is disabled — also records a `denied` access_log row and emits a
41
- * structured `operation_disabled` envelope on the WS.
42
- *
43
- * Fails open when no org is bound — the orch hasn't resolved a customer yet.
30
+ * Defense-in-depth policy gate: false when the policy disables the op, after
31
+ * recording a `denied` row and sending the `operation_disabled` envelope.
32
+ * Fails open when no org is bound (no customer resolved yet).
44
33
  */
45
34
  private enforcePolicy;
46
35
  /**
@@ -49,10 +38,7 @@ export declare class DashboardFleetWriteHandler {
49
38
  * response `error` field (plus the reserved keys for `reserved_property`).
50
39
  */
51
40
  private refuse;
52
- /**
53
- * Route a fleet host-write message to the appropriate handler. Returns true
54
- * if the message was handled, false otherwise.
55
- */
41
+ /** Returns false for a message this handler does not own. */
56
42
  handleMessage(msg: FleetWriteMessage): Promise<boolean>;
57
43
  private handleDeclare;
58
44
  private handleRemove;
@@ -1,17 +1,13 @@
1
1
  /**
2
- * Dashboard global-workflows handler for the orchestrator.
2
+ * Handles `dashboard.global-workflows.*` WS messages from Platform by reading or
3
+ * upserting the `org_settings` row keyed by `customer_id`. The row holds the per-org
4
+ * repo-pattern lists (allow / deny) of `{routingKey?, pattern}` entries; `routingKey`
5
+ * optionally pins an entry to one source. The fleet-wide master switch
6
+ * (`cluster_settings.global_workflows_enabled`) is read-only here: projected as
7
+ * `enabled`, never written.
3
8
  *
4
- * Responds to `dashboard.global-workflows.*` WS messages from Platform by
5
- * reading or upserting the `org_settings` row keyed by `customer_id`. The row
6
- * holds the per-org repo-pattern lists (allow / deny); each
7
- * entry is a `{routingKey?, pattern}` object that may optionally pin to one
8
- * source. The master enable switch is fleet-wide
9
- * (`cluster_settings.global_workflows_enabled`) and read-only here — projected
10
- * onto the response as `enabled`, never written from this handler.
11
- *
12
- * The handler binds a single `customerId` at construction time (via the
13
- * sources / generic_webhook_sources lookup at server startup) and updates
14
- * via setOrgId() when a real customer source registers.
9
+ * `customerId` binds at construction (from the sources / generic_webhook_sources lookup
10
+ * at server startup) and updates via setOrgId() when a real customer source registers.
15
11
  */
16
12
  import { type Kysely } from 'kysely';
17
13
  import type { GlobalWorkflowsGetRequest, GlobalWorkflowsUpdateRequest, GlobalWorkflowSettings, RepoPatternEntry } from '@kici-dev/engine/protocol/dashboard-global-workflows';
@@ -19,23 +15,18 @@ import type { Database, OrgSettings } from '../db/types.js';
19
15
  import type { AccessLogWriter } from '../audit/access-log.js';
20
16
  import type { ClusterSettingsReader } from '../cluster/cluster-settings-reader.js';
21
17
  interface DashboardGlobalWorkflowsHandlerDeps {
22
- /** Customer / org identifier — primary key on org_settings. */
18
+ /** Primary key on org_settings. */
23
19
  customerId: string;
24
- /** Send a response message back to Platform over the WS connection. */
25
20
  send: (msg: unknown) => void;
26
21
  db: Kysely<Database>;
27
22
  /** Reads the fleet-wide master switch for the read-only `enabled` projection. */
28
23
  clusterSettings: ClusterSettingsReader;
29
24
  /** Applies when the cluster column is NULL — `config.globalWorkflowsEnabled`. */
30
25
  globalWorkflowsEnabledDefault: boolean;
31
- /** Access log writer — records one row per read / mutation with actor attribution. */
26
+ /** Records one row per read / mutation with actor attribution. */
32
27
  accessLog?: AccessLogWriter;
33
28
  }
34
29
  type GlobalWorkflowsMessage = GlobalWorkflowsGetRequest | GlobalWorkflowsUpdateRequest;
35
- /**
36
- * Returns true when the message is one this handler can dispatch. Used by the
37
- * server to route incoming WS messages.
38
- */
39
30
  export declare function isDashboardGlobalWorkflowsMessage(msg: {
40
31
  type: string;
41
32
  } | null | undefined): msg is GlobalWorkflowsMessage;
@@ -43,12 +34,10 @@ export declare class DashboardGlobalWorkflowsHandler {
43
34
  private readonly deps;
44
35
  private readonly access;
45
36
  constructor(deps: DashboardGlobalWorkflowsHandlerDeps);
46
- /** Update the customer / org id this handler operates on. */
47
37
  setOrgId(customerId: string | null): void;
48
38
  /**
49
- * Defense-in-depth dashboard-write policy gate. Returns true when the
50
- * operation is allowed; false (with a structured `operation_disabled`
51
- * envelope and a `denied` access_log row) when policy says no.
39
+ * Defense-in-depth dashboard-write policy gate. On denial it sends a structured
40
+ * `operation_disabled` envelope, writes a `denied` access_log row and returns false.
52
41
  */
53
42
  private enforcePolicy;
54
43
  handleMessage(msg: GlobalWorkflowsMessage): Promise<boolean>;
@@ -56,24 +45,19 @@ export declare class DashboardGlobalWorkflowsHandler {
56
45
  private handleUpdate;
57
46
  private readRow;
58
47
  /**
59
- * The effective fleet-wide master switch, for the read-only projection the
60
- * dashboard renders as a status badge.
48
+ * The effective master switch, rendered by the dashboard as a status badge.
61
49
  *
62
- * Uses the shared 10s-cached reader — unlike the admin route, which reads
63
- * uncached because an operator does set-then-show. A dashboard badge that is
64
- * up to 10s stale is fine; a second uncached read on every dashboard poll is
65
- * not.
50
+ * Uses the shared 10s-cached reader, unlike the admin route, which reads uncached for
51
+ * set-then-show. A badge up to 10s stale is fine; an uncached read per poll is not.
66
52
  *
67
- * An unreadable row resolves to the configured default here rather than
68
- * failing closed. This value only decides what the UI displays; the actual
69
- * gate is `GlobalWorkflowPolicy`, which does fail closed.
53
+ * An unreadable row resolves to the configured default rather than failing closed:
54
+ * this only drives the UI, and the actual gate, `GlobalWorkflowPolicy`, fails closed.
70
55
  */
71
56
  private effectiveEnabled;
72
57
  private upsertRow;
73
58
  /**
74
- * Same envelope as `sendError`, for a request the client got wrong. Logged at
75
- * warn level: bad input is not a server fault, and error-level rows here would
76
- * pollute the error dashboards an operator watches.
59
+ * `sendError`'s envelope for bad client input, logged at warn: it is not a server
60
+ * fault, and error-level rows would pollute the operator's error dashboards.
77
61
  */
78
62
  private sendClientError;
79
63
  private sendError;
@@ -82,17 +66,11 @@ interface NormalizedPatch {
82
66
  allowedRepos: RepoPatternEntry[] | null;
83
67
  deniedRepos: RepoPatternEntry[] | null;
84
68
  }
85
- /**
86
- * Derive the effective storage state from an existing row (may be undefined)
87
- * plus a partial update message. Unset fields fall back to the existing value;
88
- * an explicit `null` clears the corresponding column.
89
- */
69
+ /** Unset fields keep the existing value; an explicit `null` clears the column. */
90
70
  export declare function buildPatch(existing: OrgSettings | undefined, msg: GlobalWorkflowsUpdateRequest): NormalizedPatch;
91
71
  /**
92
- * Project a row into the public settings shape. `enabled` is the effective
93
- * fleet-wide master switch, supplied by the caller (read-only here). When the
94
- * row does not yet exist, the per-org lists project as null so callers always
95
- * get a renderable state.
72
+ * `enabled` is the effective master switch, supplied by the caller. A missing row
73
+ * projects its lists as null so callers always get a renderable state.
96
74
  */
97
75
  export declare function rowToSettings(customerId: string, row: OrgSettings | undefined, enabled: boolean): GlobalWorkflowSettings;
98
76
  export {};
@@ -5,17 +5,12 @@ import type { RegistrationStore } from '../registration/registration-store.js';
5
5
  import type { RegistrationIndex } from '../registration/registration-index.js';
6
6
  import type { AccessLogWriter } from '../audit/access-log.js';
7
7
  interface DashboardRegistrationsHandlerDeps {
8
- /** Organization ID for all operations. */
9
8
  orgId: string;
10
- /** Send a response message back to Platform over the WS connection. */
11
9
  send: (msg: unknown) => void;
12
- /** Registration store for DB queries. */
13
10
  registrationStore: RegistrationStore;
14
- /** Registration index for version info. */
15
11
  registrationIndex: RegistrationIndex;
16
- /** Database for execution_runs and cron_last_fired queries. */
17
12
  db: Kysely<Database>;
18
- /** Access log writer — records one row per read / mutation with actor attribution. */
13
+ /** Records one row per read / mutation with actor attribution. */
19
14
  accessLog?: AccessLogWriter;
20
15
  /** Routing key for access_log rows (null when not run-scoped). */
21
16
  routingKey?: string | null;
@@ -42,41 +37,29 @@ interface RegistrationDeleteMessage {
42
37
  cancelActiveRuns?: boolean;
43
38
  }
44
39
  type RegistrationMessage = RegistrationsListMessage | RegistrationDisableMessage | RegistrationDeleteMessage;
45
- /**
46
- * Handler for dashboard registration WS messages (list, disable, delete).
47
- *
48
- * Queries registration store, enriches with last-triggered and next-fire data,
49
- * and sends typed response via deps.send().
50
- */
40
+ /** Dashboard registration WS messages: list, disable, delete. */
51
41
  export declare class DashboardRegistrationsHandler {
52
42
  private readonly deps;
53
43
  private routingKey;
54
44
  private readonly access;
55
45
  constructor(deps: DashboardRegistrationsHandlerDeps);
56
- /** Update the orgId used for all operations (called when resolved from DB). */
46
+ /** Called once the orgId resolves from the DB. */
57
47
  setOrgId(orgId: string): void;
58
- /** Update the routing key bound to access_log rows. */
59
48
  setRoutingKey(routingKey: string | null): void;
60
49
  /**
61
- * Defense-in-depth dashboard-write policy gate. Returns true when the
62
- * operation is allowed and the caller should proceed. Returns false
63
- * when the policy is disabled — also records a `denied` access_log row
64
- * and emits a structured `operation_disabled` envelope on the WS.
50
+ * Defense-in-depth policy gate: false when the policy disables the op, after
51
+ * recording a `denied` row and sending the `operation_disabled` envelope.
65
52
  */
66
53
  private enforcePolicy;
67
54
  handle(msg: RegistrationMessage): Promise<void>;
68
55
  private handleDisable;
69
56
  private handleDelete;
70
57
  /**
71
- * Batch-fetch source metadata for the routing keys in the registrations,
72
- * keyed on `routing_key`. The map combines rows from `sources` (native,
73
- * currently always GitHub Apps) and `generic_webhook_sources` (generic /
74
- * universal-git / internal). When a routing key is present in both, the
75
- * native row wins.
76
- *
77
- * Each query is wrapped in its own try/catch so a transient failure on
78
- * one table still allows enrichment from the other; rows missing in both
79
- * fall through to the synthetic fallback in `buildRegistrationSource`.
58
+ * Source metadata keyed on `routing_key`, from `sources` (native, currently
59
+ * always GitHub Apps) and `generic_webhook_sources` (generic / universal-git /
60
+ * internal); the native row wins when a key is in both. Each query fails on
61
+ * its own, so one table's transient failure still enriches from the other;
62
+ * keys missing from both get the synthetic fallback in `buildRegistrationSource`.
80
63
  */
81
64
  private loadSourceMetadata;
82
65
  private handleList;