@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
@@ -1,21 +1,16 @@
1
1
  /**
2
- * The release wiring the local (`kici-admin`) held-run decision surface runs on.
2
+ * The release wiring of the local (`kici-admin`) held-run decision surface,
3
+ * composed by `createApp` for every mode. A factory rather than an inline
4
+ * literal so a test can assert its fields: the defect it guards is a MISSING
5
+ * field — a release that flips the `held_runs` row without dispatching looks
6
+ * like it works and does nothing.
3
7
  *
4
- * `createApp` composes this for every mode. It lives here rather than inline in
5
- * that composition root because the defect it guards against is a MISSING
6
- * field, not a wrong algorithm: a release path that flips the `held_runs` row
7
- * without dispatching looks like it works and does nothing. A factory can be
8
- * constructed by a test and its fields asserted; an object literal buried in
9
- * `createApp` cannot.
8
+ * `undefined` without a job-release callback, so no decision route is mounted
9
+ * rather than one whose approves are silent no-ops.
10
10
  *
11
- * It returns `undefined` when there is no job-release callback, so an app
12
- * assembled without one mounts no decision route at all rather than one whose
13
- * approves are silent no-ops.
14
- *
15
- * Every callback reads the LIVE processing-deps bag at call time rather than
16
- * capturing one: the provider registry is swapped whenever sources reload, and
17
- * a captured bag would resolve a check poster from a registry that no longer
18
- * serves the routing key.
11
+ * Callbacks read the LIVE processing-deps bag at call time: sources reloading
12
+ * swap the provider registry, and a captured bag would resolve a check poster
13
+ * from a registry that no longer serves the routing key.
19
14
  */
20
15
  import type { ReleaseSignal } from '../contexts/held-runs.js';
21
16
  import type { ProcessingDeps } from '../pipeline/processor.js';
@@ -33,12 +28,10 @@ export interface HeldRunReleaseInputs {
33
28
  buildProcessingDeps: () => ProcessingDeps;
34
29
  }
35
30
  /**
36
- * The reason a workflow-scoped hold rejected through this surface records on the
37
- * run it cancels, when the operator supplied none.
38
- *
39
- * Scope-neutral on purpose: the install gate, the org trust policy's PR-wide
40
- * hold and an SDK workflow-level `requireApproval` all arrive here, so a
41
- * reason naming one of them would mislabel the other two.
31
+ * The reason recorded on the run when a workflow-scoped hold is rejected here
32
+ * with none supplied. Scope-neutral on purpose: the install gate, the org trust
33
+ * policy's PR-wide hold and an SDK workflow-level `requireApproval` all arrive
34
+ * here, so naming one would mislabel the others.
42
35
  */
43
36
  export declare const DEFAULT_LOCAL_REJECT_REASON = "Workflow hold rejected by the orchestrator operator";
44
37
  export declare function buildHeldRunRelease(inputs: HeldRunReleaseInputs): HeldRunReleaseWiring | undefined;
@@ -2,25 +2,19 @@
2
2
  * The approval subsystem an INDEPENDENT orchestrator runs on.
3
3
  *
4
4
  * `server.ts` composes this inline for the three Platform-attached modes. An
5
- * independent orchestrator has no Platform and therefore none of that hook, so
6
- * every gate that raises a hold was inert there: a fork PR the org policy said
7
- * to HOLD was dropped instead of held, an SDK `requireApproval` job ran
8
- * UNGATED (the dispatch site logged an error and dispatched anyway), and the
9
- * stale detector had no store through which to expire an overdue hold,
10
- * terminalize its `KiCI Security` check, or drop the pending dispatch context
11
- * it would have replayed.
5
+ * independent orchestrator has no Platform hook, so without this every hold
6
+ * gate is inert: a fork PR the policy says to HOLD is dropped, an SDK
7
+ * `requireApproval` job runs UNGATED (the dispatch site logs an error and
8
+ * dispatches anyway), and the stale detector has no store to expire an overdue
9
+ * hold, terminalize its `KiCI Security` check, or drop its pending context.
12
10
  *
13
- * It lives here rather than inside `standalone.ts` because that module is an
14
- * entry point: it runs `guardStartup` at import time, so nothing can construct
15
- * its wiring in a test. A factory can be constructed, and the fields it
16
- * produces can be asserted — which is the whole point, since every defect this
17
- * closes was a missing field rather than a wrong algorithm.
11
+ * Not in `standalone.ts`: that entry point runs `guardStartup` at import time,
12
+ * so no test can construct its wiring. A factory's fields can be asserted —
13
+ * the point, since each defect this closes is a missing field.
18
14
  *
19
- * What it deliberately does NOT produce is a `stepApprovalBridge`. A
20
- * step-scoped hold is opened by the agent WS `onStepApproval` seam and answered
21
- * by the dashboard applier, which is Platform-relayed and has no
22
- * independent-mode equivalent — so wiring the bridge would let an agent open a
23
- * hold nothing could resolve short of expiry.
15
+ * Deliberately NO `stepApprovalBridge`: a step hold is answered by the
16
+ * Platform-relayed dashboard applier, which has no independent-mode
17
+ * equivalent, so an agent could open a hold nothing resolves short of expiry.
24
18
  */
25
19
  import type { Kysely } from 'kysely';
26
20
  import type { Database } from '../db/types.js';
@@ -38,9 +32,8 @@ export interface IndependentApprovalSubsystems {
38
32
  coordinator?: RunCoordinator | undefined;
39
33
  invokeGateDeps?: InvokeGateDeps | undefined;
40
34
  /**
41
- * The live direct-ingress deps bag. Read lazily inside the release callbacks:
42
- * it is populated by `createApp`, which runs after the mode hook, and reading
43
- * it at wiring time throws.
35
+ * The live direct-ingress deps bag. Read lazily: `createApp` populates it
36
+ * after the mode hook, so reading it at wiring time throws.
44
37
  */
45
38
  buildProcessingDeps: () => ProcessingDeps;
46
39
  }
@@ -1,5 +1,5 @@
1
1
  import type { ReleaseSignal } from '../contexts/held-runs.js';
2
- /** The three resume paths a released hold can take. */
2
+ /** The resume paths a released hold can take. */
3
3
  export interface ResumeHandlers {
4
4
  onStepRelease?: (signal: ReleaseSignal) => Promise<void>;
5
5
  onWorkflowRelease?: (signal: ReleaseSignal) => Promise<void>;
@@ -27,48 +27,38 @@ export interface StepApprovalRequest {
27
27
  export interface StepApprovalBridgeDeps {
28
28
  store: HeldRunStore;
29
29
  /**
30
- * Resolve the orchestrator's tenant org id (same value the dashboard handler
31
- * uses to read held_runs). A function because the org is resolved post-auth
32
- * for sourceless orchestrators.
30
+ * The tenant org id the dashboard handler also reads held_runs with. A
31
+ * function because a sourceless orchestrator resolves its org post-auth.
33
32
  */
34
33
  resolveOrgId: () => string;
35
34
  /** Resolve the authoritative approval expiry (seconds) for an org. */
36
35
  resolveExpirySeconds: (orgId: string) => Promise<number>;
37
- /**
38
- * Access-log writer for the orchestrator audit stream. Optional -- if not
39
- * set, the step-hold creation audit row (`held_run.request`) is skipped.
40
- */
36
+ /** When unset, the `held_run.request` audit row is skipped. */
41
37
  accessLogWriter?: AccessLogWriter;
42
- /** Routing key recorded on the audit row. Optional. */
38
+ /** Routing key recorded on the audit row. */
43
39
  routingKey?: string | null;
44
40
  }
45
41
  /**
46
- * Owns the step-scoped held_runs rows and the map from holdId → the waiting
47
- * agent's resolver. The only place that opens a step hold and the only place
48
- * that settles a step-scoped wait.
42
+ * Owns step-scoped held_runs rows and the holdId → waiting-agent resolver map:
43
+ * the only place that opens a step hold or settles a step-scoped wait.
49
44
  */
50
45
  export declare class StepApprovalBridge {
51
46
  private readonly deps;
52
47
  private readonly pending;
53
48
  constructor(deps: StepApprovalBridgeDeps);
54
- /**
55
- * Create a step-scoped hold and return a promise that settles when the hold
56
- * is approved / rejected / expired (via {@link resolve}).
57
- */
49
+ /** Create a step-scoped hold; the promise settles via {@link resolve}. */
58
50
  request(req: StepApprovalRequest): Promise<{
59
51
  outcome: StepApprovalOutcome;
60
52
  reason?: string;
61
53
  }>;
62
54
  /**
63
- * Settle a step-scoped wait. Called by the approve/reject applier
64
- * (`onStepRelease`) and by the stale detector (`expired`). A no-op when no
65
- * agent is waiting on the hold (e.g. the agent already disconnected).
55
+ * Called by the applier (`onStepRelease`) and the stale detector (`expired`).
56
+ * A no-op when no agent waits on the hold (e.g. it already disconnected).
66
57
  */
67
58
  resolve(holdId: string, outcome: StepApprovalOutcome, reason?: string): boolean;
68
59
  /**
69
- * Reject every pending wait for a disconnected agent. The held_runs rows are
70
- * left as-is (the stale detector will expire them) — only the in-memory
71
- * resolver is dropped so the handler's relayed `ws.send` is skipped.
60
+ * Reject a disconnected agent's pending waits so the handler skips `ws.send`.
61
+ * The held_runs rows stay for the stale detector to expire.
72
62
  */
73
63
  failAgent(agentId: string): void;
74
64
  /** Number of in-flight step-approval waits (test/diagnostics). */
@@ -19,19 +19,17 @@ export declare function adminActorSub(tokenUserId: string): string;
19
19
  * | anything else | unchanged | no other actor type reaches these surfaces |
20
20
  *
21
21
  * The agent suffix is stripped first. `stringifyActor` renders a `user` or
22
- * `api_key` who acted through an agent as `user:<sub> via agent:<label>`, and a
23
- * reader splitting on the first colon gets `<sub> via agent:<label>` — which
24
- * matches no live subject, so the gate was inert for every agent-mediated
25
- * trigger. That is the `user` case, i.e. the common one.
22
+ * `api_key` who acted through an agent as `user:<sub> via agent:<label>`, and
23
+ * splitting on the first colon alone gives `<sub> via agent:<label>`, which
24
+ * matches no live subject and leaves the gate inert for every agent-mediated
25
+ * trigger — the common `user` case.
26
26
  *
27
27
  * **Residual: `api_key`.** A key's persisted identifier is its `keyId`, while
28
28
  * both surfaces render a live `api_key` actor as its owner's Keycloak subject
29
- * (`ownerSub`). Those are different identifiers for the same principal and no
30
- * string transform bridges them — closing it needs a keyId → ownerSub lookup,
31
- * which is a store this pure function does not have. So an owner approving a
32
- * hold on a run their own key triggered is still admitted. Recorded rather than
33
- * papered over: returning the bare keyId is at least honest about what was
34
- * stored.
29
+ * (`ownerSub`). No string transform bridges them; closing it needs a keyId →
30
+ * ownerSub lookup, a store this pure function lacks. So an owner approving a
31
+ * hold on a run their own key triggered is still admitted. Returning the bare
32
+ * keyId is at least honest about what was stored.
35
33
  */
36
34
  export declare function triggererSubjectFor(triggeredBy: string | null | undefined): string | undefined;
37
35
  //# sourceMappingURL=triggerer-subject.d.ts.map
@@ -3,10 +3,9 @@ import type { ArtifactRejectReason } from '@kici-dev/engine';
3
3
  import type { Database } from '../db/types.js';
4
4
  import type { CacheStorage } from '../storage/types.js';
5
5
  /**
6
- * The presigned PUT never landed an object, so there is nothing to record.
7
- * Distinct from a transient storage/DB error: a caller retrying the commit
8
- * would keep finding the object absent, so this failure is terminal and is
9
- * reported straight back to the agent (which fails the workflow step).
6
+ * The presigned PUT never landed an object. Terminal, unlike a transient
7
+ * storage/DB error (a retry would keep finding it absent), so it goes straight
8
+ * back to the agent, which fails the workflow step.
10
9
  */
11
10
  export declare class ArtifactObjectMissingError extends Error {
12
11
  readonly storageKey: string;
@@ -20,16 +19,13 @@ export declare class ArtifactInvalidNameError extends Error {
20
19
  constructor(detail: string);
21
20
  }
22
21
  /**
23
- * Map a `completeUpload` failure onto a message safe to send to the agent — which
24
- * runs untrusted workflow code, so the reason reaches the workflow author and its
25
- * step logs.
22
+ * Map a `completeUpload` failure onto a message safe for the agent, which runs
23
+ * untrusted workflow code (the reason reaches the author's step logs).
26
24
  *
27
- * An invalid-name error already carries a safe message: its constructor formats
28
- * the schema's own fixed detail, so it passes through unchanged. An object-missing
29
- * error is a genuinely actionable terminal case and keeps its own category, but
30
- * the storage key its message embeds does not travel. Anything else is an internal
31
- * failure the author cannot act on, so it collapses to one literal; the raw
32
- * exception stays in the orchestrator's own log line.
25
+ * An invalid-name message is already safe (the schema's fixed detail) and
26
+ * passes through. Object-missing keeps its own category, but not the storage
27
+ * key its message embeds. Anything else collapses to one literal; the raw
28
+ * exception stays in the orchestrator's own log.
33
29
  */
34
30
  export declare function classifyArtifactCommitFailure(err: unknown): string;
35
31
  /** Cluster-wide default per-org artifact byte quota: 20 GiB. */
@@ -41,36 +37,24 @@ export declare const DEFAULT_ARTIFACT_MAX_BYTES: number;
41
37
  /** Cluster-wide default per-run artifact count cap. */
42
38
  export declare const DEFAULT_ARTIFACT_MAX_PER_RUN = 50;
43
39
  /**
44
- * Storage key for a run's named artifact.
40
+ * Storage key for a run's named artifact. Injective over names, so a second
41
+ * upload can never silently overwrite the first while both rows keep their own
42
+ * hash.
45
43
  *
46
- * Injective over names: distinct names always produce distinct keys, so a
47
- * second upload can never silently overwrite the first while both rows keep
48
- * their own hash.
44
+ * The trailing discriminator, a hash of the EXACT name, keeps keys apart on a
45
+ * CASE-INSENSITIVE namespace (the filesystem backend on macOS or Windows),
46
+ * where `bundle` and `Bundle` would otherwise resolve to one file. Under case
47
+ * folding it carries the whole separation, hence its width (see
48
+ * `KEY_DISCRIMINATOR_LENGTH`). The readable stem lets an operator browsing the
49
+ * bucket tell which artifact an object is. Hashing the sanitized name instead
50
+ * would fold `a/b` and `a_b` back together.
49
51
  *
50
- * The trailing discriminator is a hash of the exact name, and it is what keeps
51
- * the keys apart on a CASE-INSENSITIVE object namespace — the filesystem
52
- * backend on a macOS or Windows host. There `bundle` and `Bundle` would
53
- * otherwise be two keys resolving to one file; because their discriminators
54
- * differ, the keys differ by more than case and stay two objects. That is why
55
- * the discriminator is wide (see `KEY_DISCRIMINATOR_LENGTH`): under case
56
- * folding it carries the whole separation on its own. The readable stem is kept
57
- * so an operator browsing the bucket can still tell which artifact an object
58
- * is.
59
- *
60
- * Hashing the EXACT name rather than the sanitized one is deliberate:
61
- * sanitizing is many-to-one, so a discriminator over its output would fold
62
- * `a/b` and `a_b` back together.
63
- *
64
- * Changing this format does not strand existing artifacts — the key is
65
- * persisted in `artifacts.storage_key` and the download paths read that column
66
- * rather than re-deriving. Only the grant and commit paths derive, and both do
67
- * so at upload time.
52
+ * Changing this format does not strand existing artifacts: downloads read the
53
+ * persisted `artifacts.storage_key`; only the grant and commit paths derive,
54
+ * both at upload time.
68
55
  */
69
56
  export declare function artifactStorageKey(runId: string, name: string): string;
70
- /**
71
- * Per-org override of the artifact limits, read from `org_settings`. Each field
72
- * is optional; an undefined field falls back to the cluster-wide default.
73
- */
57
+ /** Per-org `org_settings` overrides; an undefined field uses the cluster default. */
74
58
  export interface ArtifactOrgLimits {
75
59
  quotaBytes?: number;
76
60
  ttlMs?: number;
@@ -85,10 +69,7 @@ export interface ArtifactBeginUploadResult {
85
69
  uploadUrl?: string;
86
70
  storageKey?: string;
87
71
  reason?: ArtifactRejectReason;
88
- /**
89
- * Free-text rejection detail carried when no enforcement `reason` applies —
90
- * today, a name that violates the artifact-name contract.
91
- */
72
+ /** Free-text detail when no enforcement `reason` applies (a contract-violating name). */
92
73
  error?: string;
93
74
  }
94
75
  /** Outcome of a download lookup. */
@@ -105,11 +86,7 @@ export interface ArtifactListEntry {
105
86
  sizeBytes: number;
106
87
  sha256: string;
107
88
  createdAt: string;
108
- /**
109
- * Presigned GET for the backing object. Present on the run-detail listing
110
- * (`listForRunWithUrls`); omitted when the object could not be resolved
111
- * (expired / gone).
112
- */
89
+ /** Presigned GET (`listForRunWithUrls`); omitted when the object is expired or gone. */
113
90
  downloadUrl?: string;
114
91
  }
115
92
  export declare class ArtifactStore {
@@ -127,34 +104,25 @@ export declare class ArtifactStore {
127
104
  quotaBytes?: number;
128
105
  /** Cluster-wide default TTL (env default). */
129
106
  ttlMs?: number;
130
- /** Per-artifact size cap. */
131
107
  maxBytes?: number;
132
- /** Per-run artifact count cap. */
133
108
  maxPerRun?: number;
134
- /** Per-org override reader (org_settings). When unset, defaults apply. */
109
+ /** When unset, defaults apply. */
135
110
  orgLimitsReader?: ArtifactOrgLimitsReader;
136
111
  });
137
- /**
138
- * Resolve the effective quota, TTL, per-artifact size cap, and per-run count
139
- * cap for an org. Each value is the per-org `org_settings` override when set,
140
- * otherwise the cluster-wide default.
141
- */
112
+ /** Effective limits for an org: the `org_settings` override, else the default. */
142
113
  private resolveLimits;
143
- /** ISO cutoff for TTL filtering: rows created before this are expired. */
114
+ /** Cutoff time for TTL filtering: rows created before this are expired. */
144
115
  private cutoff;
145
116
  /**
146
- * Grant or refuse a presigned PUT for a named artifact. Order: name contract →
147
- * resolve limits → size cap → duplicate name → per-run count cap → org quota.
148
- * The size cap and per-run count cap are the resolved per-org override when
149
- * set, otherwise the cluster-wide default. No presigned URL is minted for a
150
- * request that would violate any gate.
117
+ * Grant or refuse a presigned PUT. Order: name contract → resolve limits →
118
+ * size cap → duplicate name → per-run count cap → org quota. No URL is minted
119
+ * for a request violating any gate.
151
120
  *
152
- * The name is checked first, and here rather than only in the SDK, because the
153
- * agent runs untrusted customer workflow code: a name that bypassed the SDK
154
- * check would be sanitized onto another name's storage key, letting a second
155
- * upload overwrite the first object while both rows keep their own hash. A
156
- * contract violation is not an enforcement rejection, so it carries a
157
- * free-text `error` and no `reason`.
121
+ * The name is checked here, not only in the SDK, because the agent runs
122
+ * untrusted workflow code: a name bypassing the SDK check would be sanitized
123
+ * onto another name's key, letting a second upload overwrite the first object
124
+ * while both rows keep their own hash. A contract violation is not an
125
+ * enforcement rejection, so it carries a free-text `error` and no `reason`.
158
126
  */
159
127
  beginUpload(args: {
160
128
  customerId: string;
@@ -163,29 +131,23 @@ export declare class ArtifactStore {
163
131
  declaredSizeBytes: number;
164
132
  }): Promise<ArtifactBeginUploadResult>;
165
133
  /**
166
- * Commit a completed upload: write the object metadata sidecar, then insert
167
- * the DB row. The `UNIQUE (run_id, name)` constraint (via onConflict-do-nothing)
168
- * is the immutability backstop for a racing duplicate that slipped past the
169
- * pre-mint check.
134
+ * Commit a completed upload: write the metadata sidecar, then insert the row.
135
+ * `UNIQUE (run_id, name)` (onConflict-do-nothing) backstops a racing duplicate
136
+ * that slipped past the pre-mint check.
170
137
  *
171
- * The agent asserts neither the key nor the size: the storage key is derived
172
- * from the server-resolved `runId` + `name`, and the recorded size is the real
173
- * byte size of the stored object read back from the storage backend. Agents
174
- * run untrusted customer workflow code, so an echoed key could otherwise point
175
- * a row at another tenant's object, and a declared size could under-account
176
- * the per-org quota (a presigned PUT does not bind content length).
138
+ * The agent asserts neither key nor size: the key derives from the
139
+ * server-resolved `runId` + `name`, the size is read back from storage.
140
+ * Agents run untrusted code, so an echoed key could point a row at another
141
+ * tenant's object, and a declared size could under-account the org quota (a
142
+ * presigned PUT does not bind content length).
177
143
  *
178
- * The name is re-validated here, not only at `beginUpload`: a commit is its
179
- * own inbound message, so an agent can send one for a name it never got a
180
- * grant for. Without the check, a non-conforming name would derive the
181
- * storage key of a *different*, already-committed artifact and record a second
182
- * row against that same object with its own hash.
144
+ * The name is re-validated: a commit is its own inbound message, possibly for
145
+ * a name never granted, and a non-conforming name would derive the key of a
146
+ * *different*, already-committed artifact and record a second row against it.
183
147
  *
184
- * Throws when the commit cannot be recorded — `ArtifactInvalidNameError` for a
185
- * name that violates the contract, `ArtifactObjectMissingError` when the
186
- * presigned PUT never landed an object, or the underlying storage / DB error
187
- * otherwise. The caller reports the failure back to the agent, which fails the
188
- * workflow step rather than leaving a green run with no artifact.
148
+ * Throws `ArtifactInvalidNameError`, `ArtifactObjectMissingError`, or the
149
+ * underlying storage / DB error. The caller reports it to the agent, which
150
+ * fails the step rather than leaving a green run with no artifact.
189
151
  */
190
152
  completeUpload(args: {
191
153
  customerId: string;
@@ -210,13 +172,11 @@ export declare class ArtifactStore {
210
172
  /** Load a run's non-expired artifact rows, newest first, given the org TTL. */
211
173
  private loadRunRows;
212
174
  /**
213
- * List a run's non-expired artifacts with a presigned GET per entry, newest
214
- * first — the shape the dashboard run-detail panel renders. Resolves the org
215
- * TTL once, then mints one presigned URL per row; a row whose backing object
216
- * is gone lists its metadata with `downloadUrl` omitted rather than being
217
- * dropped. Also reports the presigned-URL expiry (seconds) — the storage
218
- * backend's `getUrl` signature TTL, NOT the artifact-retention `ttlMs` — so
219
- * the dashboard can refresh a rendered `downloadUrl` before its signature
175
+ * A run's non-expired artifacts with a presigned GET each, newest first, for
176
+ * the dashboard run-detail panel. A row whose object is gone keeps its
177
+ * metadata with `downloadUrl` omitted rather than being dropped. Also reports
178
+ * the presigned-URL expiry in seconds — the backend's `getUrl` signature TTL,
179
+ * NOT the retention `ttlMs` — so the dashboard can refresh a URL before it
220
180
  * expires.
221
181
  */
222
182
  listForRunWithUrls(customerId: string, runId: string): Promise<{
@@ -1,19 +1,16 @@
1
1
  /**
2
2
  * Safe, fixed messages the orchestrator sends to the agent (and through it to
3
- * the workflow author) when a user-artifact request is refused for something
4
- * other than an enforcement gate or a genuine lookup miss — an internal failure,
5
- * or a request that violates the artifact-name contract.
3
+ * the workflow author) when a user-artifact request is refused for an internal
4
+ * failure or an artifact-name contract violation, rather than an enforcement
5
+ * gate or a genuine lookup miss.
6
6
  *
7
- * These are presentation strings, not a wire vocabulary: the protocol carries
8
- * them in the free-text `error` field of `artifacts.upload.response` /
9
- * `artifacts.download.response` and in the free-text `reason` field of
10
- * `artifacts.upload.complete.ack`, so an orchestrator is free to reword them
11
- * without any agent-side change. They live here — rather than inline at each
12
- * send site — so the handler and its tests share one definition.
7
+ * Presentation strings, not a wire vocabulary: they ride the free-text `error`
8
+ * of `artifacts.upload.response` / `artifacts.download.response` and `reason`
9
+ * of `artifacts.upload.complete.ack`, so they can be reworded with no agent
10
+ * change. Defined once so the handler and its tests share them.
13
11
  *
14
- * Raw exception text is never one of these. Exceptions stay in the
15
- * orchestrator's own logs; the author sees only "this is an orchestrator or
16
- * configuration problem", never a database endpoint or a stack frame.
12
+ * Raw exception text is never sent: it stays in the orchestrator's logs, and
13
+ * the author never sees a database endpoint or a stack frame.
17
14
  */
18
15
  export declare const ArtifactInternalFailure: Readonly<{
19
16
  /** Upload requested but the orchestrator has no artifact store configured. */
@@ -32,15 +29,13 @@ export declare const ArtifactInternalFailure: Readonly<{
32
29
  readonly commitObjectMissing: 'the uploaded artifact object was not found in storage — the upload may not have completed';
33
30
  }>;
34
31
  /**
35
- * The artifact-name rejection prefix and message builder are defined in
36
- * `@kici-dev/engine`, beside `ArtifactNameSchema` itself, so the orchestrator and
37
- * the agent sandbox render one wording. Such a rejection is neither an
32
+ * Defined in `@kici-dev/engine` beside `ArtifactNameSchema`, so the orchestrator
33
+ * and the agent sandbox render one wording. A name rejection is neither an
38
34
  * enforcement gate (nothing about the org's usage refuses it) nor an internal
39
- * failure — the sandbox validates the same contract at the call site, so a name
40
- * only reaches this path from an agent that bypassed or predates that check.
41
- *
42
- * Re-exported here because this module is where the orchestrator's artifact
43
- * failure messages live — callers keep their existing import path.
35
+ * failure. The sandbox validates the same contract at the call site, so an
36
+ * invalid name only reaches the orchestrator from an agent that bypassed or
37
+ * predates that check. Re-exported so callers import every artifact failure
38
+ * message from here.
44
39
  */
45
40
  export { ARTIFACT_INVALID_NAME_PREFIX, artifactInvalidNameError } from '@kici-dev/engine';
46
41
  //# sourceMappingURL=failure-messages.d.ts.map
@@ -16,10 +16,8 @@ export interface AccessLogRecord {
16
16
  outcome: AccessLogOutcome;
17
17
  errorMessage?: string | null;
18
18
  /**
19
- * Extra key/value pairs merged into `actor_meta` on insert. Lets
20
- * callers attach action-specific context (e.g. which dashboard-write
21
- * operation flipped) without overloading other columns. Values must
22
- * be JSON-serialisable.
19
+ * Merged into `actor_meta` on insert, for action-specific context (e.g. which
20
+ * dashboard-write operation flipped). Values must be JSON-serialisable.
23
21
  */
24
22
  meta?: Record<string, unknown>;
25
23
  }
@@ -48,15 +46,13 @@ export interface AccessLogQueryResult {
48
46
  nextCursor: string | null;
49
47
  }
50
48
  /**
51
- * Best-effort writer for the orchestrator `access_log` table. Records one
52
- * row per read / orchestrator-admin mutation attributable to an
53
- * ActorPrincipal. Callers get their actor from the incoming Platform proxy
54
- * message (`msg.actor`) or from the admin HTTP auth chain.
49
+ * Best-effort writer for `access_log`: one row per read / orchestrator-admin
50
+ * mutation attributable to an ActorPrincipal (from the Platform proxy's
51
+ * `msg.actor` or the admin HTTP auth chain).
55
52
  *
56
- * Failure mode: insert errors are logged and swallowed — a broken
57
- * access_log table MUST NOT take down dashboard reads. Use `secret_audit_log`
58
- * for the always-consistent secret mutation path; `access_log` is the
59
- * read + broad-surface audit stream.
53
+ * Insert errors are logged and swallowed — a broken access_log MUST NOT take
54
+ * down dashboard reads. `secret_audit_log` is the always-consistent secret
55
+ * mutation path; `access_log` is the read + broad-surface audit stream.
60
56
  */
61
57
  export declare class AccessLogWriter {
62
58
  private readonly db;
@@ -64,53 +60,39 @@ export declare class AccessLogWriter {
64
60
  private readonly rateLimiter;
65
61
  constructor(db: Kysely<Database>, coldStore?: ColdStore, rateLimiter?: AccessLogRateLimiter);
66
62
  /**
67
- * Late-binding setter for the cold-store handle. orchestrator-core
68
- * builds AccessLogWriter before the cold-store singleton, then
69
- * attaches it via this setter (mirrors AuditLogger.setColdStore).
63
+ * Late binding: orchestrator-core builds this before the cold-store
64
+ * singleton (mirrors AuditLogger.setColdStore).
70
65
  */
71
66
  setColdStore(coldStore: ColdStore | null): void;
72
67
  record(entry: AccessLogRecord): Promise<void>;
73
68
  /**
74
- * Transactional variant: writes the row through the caller's executor so it
75
- * commits or rolls back with the mutation it audits.
69
+ * Writes through the caller's executor so the row commits or rolls back with
70
+ * the mutation it audits. Unlike `record`, failures PROPAGATE: a caller that
71
+ * opts into a transaction asserts the mutation must not land unaudited.
76
72
  *
77
- * Unlike `record`, failures PROPAGATE. The best-effort swallow exists so a
78
- * broken `access_log` cannot take down dashboard reads; a caller that opted
79
- * into a transaction is asserting the opposite — the mutation must not land
80
- * unaudited — so the error has to reach the transaction and abort it.
81
- *
82
- * The per-action `POLICY_BY_ACTION` gate still applies, so a `sample` /
83
- * `rate_limit` action would be dropped here silently and the caller's
84
- * mutation would commit unaudited after all. Callers must therefore use an
85
- * action whose policy is `always` — which is why `trust_policy.updated` is
86
- * one.
73
+ * The `POLICY_BY_ACTION` gate still applies, so a `sample` / `rate_limit`
74
+ * action would be dropped silently and the mutation would commit unaudited.
75
+ * Callers must use an `always` action — why `trust_policy.updated` is one.
87
76
  */
88
77
  recordInTransaction(executor: Kysely<Database> | Transaction<Database>, entry: AccessLogRecord): Promise<void>;
89
78
  private insert;
90
79
  /**
91
- * Delegates to `loadAccessLogRange` so cold-store rows are
92
- * merged transparently when pagination crosses the warm cutoff. The
93
- * caller-visible `{items, nextCursor}` shape is preserved. NO
94
- * --include-archived flag — access_log is "paginated/transparent".
80
+ * Cold-store rows merge transparently when pagination crosses the warm
81
+ * cutoff. NO --include-archived flag — access_log is "paginated/transparent".
95
82
  */
96
83
  query(filter: AccessLogQueryFilter): Promise<AccessLogQueryResult>;
97
84
  /**
98
- * Detail lookup by row id. Hot first; on miss falls back to a single
99
- * cold-store tenant scan filtering by `id`. Mirrors the
100
- * `loadEventLogByDeliveryId` pattern in `load-event-log-range.ts` —
101
- * cold-store is partitioned by `(tenant_id, day)` with no cross-tenant
102
- * `id` index, so the caller MUST scope the cold scan to one tenant.
85
+ * Hot first, then one cold-store tenant scan by `id` (like
86
+ * `loadEventLogByDeliveryId` in `load-event-log-range.ts`): cold-store is
87
+ * partitioned by `(tenant_id, day)` with no cross-tenant `id` index, so the
88
+ * scan MUST be scoped to one tenant.
103
89
  *
104
- * `opts.orgId` supplies the tenant scope. When omitted, only the
105
- * synthetic `__orchestrator__` tenant is scanned (matches the
106
- * NULL-org_id rows the orchestrator itself emits via
107
- * `cold-store-archive` / `cold-store-purge`). The CLI exposes this as
108
- * `kici-admin access-log show <id> --org <orgId>`.
90
+ * `opts.orgId` is that scope; omitted ⇒ only the synthetic `__orchestrator__`
91
+ * tenant (the NULL-org_id rows `cold-store-archive` / `cold-store-purge`
92
+ * emit). CLI: `kici-admin access-log show <id> --org <orgId>`.
109
93
  *
110
- * Best-effort contract: a cold-store error logs a warn line and
111
- * returns null, matching `loadAccessLogRange` and
112
- * `loadEventLogByDeliveryId`. A transient S3 outage MUST NOT
113
- * manufacture a misleading 404-vs-500 distinction at the HTTP layer.
94
+ * Best-effort, like `loadAccessLogRange`: a cold-store error warns and returns
95
+ * null, so a transient S3 outage never fakes a 404-vs-500 distinction.
114
96
  */
115
97
  getById(id: string, opts?: {
116
98
  orgId?: string;