@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,33 +1,24 @@
1
1
  /**
2
- * HTTP routes for the filesystem cache backend.
2
+ * Filesystem cache backend routes. `FilesystemCacheStorage` mints signed
3
+ * `http://<orch>/api/v1/cache/blob/<key>?sig=<token>` URLs for agent GETs and PUTs; these
4
+ * routes verify the HMAC token, reject path traversal, and stream to / from `basePath`.
3
5
  *
4
- * `FilesystemCacheStorage` mints signed `http://<orch>/api/v1/cache/blob/<key>?sig=<token>`
5
- * URLs that the agent uses to GET cached bytes or PUT new uploads. These
6
- * routes verify the HMAC token, reject path traversal, and stream content
7
- * to / from disk under the configured `basePath`.
8
- *
9
- * The S3 backend doesn't go through these routes — it uses real pre-signed
10
- * URLs against the S3 endpoint. These routes are mounted only when the
11
- * filesystem backend is active (`deps.fsCache` truthy in app.ts).
6
+ * Mounted only when the filesystem backend is active (`deps.fsCache` in app.ts); S3 uses real
7
+ * pre-signed URLs instead.
12
8
  */
13
9
  import type { Hono } from 'hono';
14
10
  /**
15
- * URL prefix for the filesystem-backend blob transfer route. The app-level
16
- * webhook body-size cap MUST exempt this prefix: blob PUTs carry internal
17
- * artifacts (dependency tarballs up to `cacheMaxTarballBytes`, 500MB by
18
- * default), which the S3 backend uploads direct-to-S3 uncapped. Binding them
19
- * to the tenant-webhook body limit would 413 legitimate large caches on the
20
- * filesystem backend. The PUT route below enforces its own `maxUploadBytes`
21
- * bound instead.
11
+ * The app-level webhook body-size cap MUST exempt this prefix: blob PUTs carry dependency
12
+ * tarballs up to `cacheMaxTarballBytes` (500MB default), which S3 uploads uncapped, and the
13
+ * webhook limit would 413 them. The PUT route enforces its own `maxUploadBytes` instead.
22
14
  */
23
15
  export declare const CACHE_BLOB_PATH_PREFIX = "/api/v1/cache/blob/";
24
16
  export interface FsCacheRouteDeps {
25
17
  basePath: string;
26
18
  signingSecret: string;
27
19
  /**
28
- * Upper bound on a single blob PUT, in bytes. Aligned with the dep-cache's
29
- * `cacheMaxTarballBytes` (500MB default) so the filesystem backend accepts
30
- * the same artifact sizes the S3 backend does.
20
+ * Bytes per blob PUT; aligned with `cacheMaxTarballBytes` (500MB default) so the filesystem
21
+ * backend accepts the sizes S3 does.
31
22
  */
32
23
  maxUploadBytes: number;
33
24
  }
@@ -1,17 +1,13 @@
1
1
  /**
2
- * Filesystem-backed cache storage.
2
+ * Filesystem-backed `CacheStorage`, the counterpart of `S3CacheStorage`, for
3
+ * single-host deployments and test sandboxes. Production should still use S3.
3
4
  *
4
- * Mirrors the `CacheStorage` interface that `S3CacheStorage` provides, but
5
- * stores blobs as files under a configured base directory. Pre-signed URLs
6
- * are replaced by HMAC-signed `http://<orchUrl>/api/v1/cache/blob/...` URLs
7
- * — see `sign-url.ts` for the token mechanics and `app.ts` for the route.
5
+ * Pre-signed URLs become HMAC-signed `http://<orchUrl>/api/v1/cache/blob/...`
6
+ * URLs (token mechanics: `sign-url.ts`; route: `app.ts`).
8
7
  *
9
- * Intended for single-host deployments and test sandboxes where standing up
10
- * an S3-compatible service is overkill. Production should still use S3.
11
- *
12
- * Metadata is co-located as a sibling JSON file (`<key>.meta.json`) so the
13
- * data file is byte-identical to what the agent receives over HTTP. TTL is
14
- * enforced lazily on access — same model as the S3 backend.
8
+ * Metadata sits in a sibling `<key>.meta.json`, so the data file is
9
+ * byte-identical to what the agent receives over HTTP. TTL is enforced lazily
10
+ * on access, as in the S3 backend.
15
11
  */
16
12
  import type { CacheMetadata, CacheStorage } from './types.js';
17
13
  export interface FilesystemCacheStorageOptions {
@@ -34,9 +30,9 @@ export declare class FilesystemCacheStorage implements CacheStorage {
34
30
  private readonly routePrefix;
35
31
  constructor(options: FilesystemCacheStorageOptions);
36
32
  /**
37
- * Map a cache key to its on-disk path. Keys may contain `/`, which becomes a
38
- * directory separator. Reject keys containing `..` segments or NUL bytes to
39
- * prevent path traversal — the same defence the route layer enforces too.
33
+ * Map a cache key to its on-disk path (`/` becomes a directory separator).
34
+ * Rejects `..` segments and NUL bytes against path traversal, as the route
35
+ * layer also does.
40
36
  */
41
37
  private resolvePath;
42
38
  /** Public for the HTTP route. The route validates the key before calling. */
@@ -56,29 +52,23 @@ export declare class FilesystemCacheStorage implements CacheStorage {
56
52
  getInternalUploadUrl(key: string): Promise<string>;
57
53
  initMeta(key: string): Promise<void>;
58
54
  /**
59
- * List cache keys under a prefix.
60
- *
61
- * The prefix is a **key prefix**, not necessarily a directory — `UserCache`'s
62
- * `restoreKeys` fallback lists on `${prefix}${seg(restoreKey)}`, a partial
63
- * object name. Two shapes, and both must work the way the S3 backend does:
55
+ * List cache keys under a **key prefix**, which need not be a directory:
56
+ * `UserCache`'s `restoreKeys` fallback lists on `${prefix}${seg(restoreKey)}`,
57
+ * a partial object name. Both shapes must behave as on S3:
64
58
  *
65
59
  * - trailing `/` — a directory. Walk it directly; this is the hot path.
66
- * - no trailing `/` — a partial name. Walk the parent directory and filter by
67
- * the prefix, since the prefix itself may name a file (or nothing at all).
68
- *
69
- * Reading the prefix as a directory in the second case is what made the
70
- * `restoreKeys` fallback silently never hit here (`ENOENT` → `[]`) or throw
71
- * (`ENOTDIR`, when a real object carried that exact name).
60
+ * - no trailing `/` — a partial name. Walk the parent and filter by the
61
+ * prefix, which may name a file or nothing at all. Reading it as a
62
+ * directory made `restoreKeys` never hit (`ENOENT`) or throw (`ENOTDIR`).
72
63
  */
73
64
  list(subPrefix: string): Promise<string[]>;
74
65
  getMetadata(key: string): Promise<CacheMetadata | null>;
75
66
  getObjectSize(key: string): Promise<number | null>;
76
67
  copy(srcKey: string, destKey: string): Promise<void>;
77
68
  /**
78
- * Recursively collect data files under `dir`, returning each as a cache key
79
- * relative to `basePath` paired with its mtime. Metadata sidecars
80
- * (`*.meta.json`) and the atomic-write temp files (`*.tmp-*`) are skipped so
81
- * `list()` only surfaces real cache objects.
69
+ * Recursively collect data files under `dir` as `basePath`-relative keys with
70
+ * their mtime, skipping `*.meta.json` sidecars and `*.tmp-*` atomic-write
71
+ * temp files so `list()` surfaces only real cache objects.
82
72
  */
83
73
  private walkDataFiles;
84
74
  private signedUrl;
@@ -1,11 +1,6 @@
1
1
  /**
2
- * Cache storage module.
3
- *
4
- * Pluggable storage backends:
5
- * - S3CacheStorage — production / multi-host
6
- * - FilesystemCacheStorage — single-host / test sandbox
7
- *
8
- * Use createCacheStorage() to instantiate from a discriminated config.
2
+ * Cache storage backends: S3CacheStorage (production / multi-host) and FilesystemCacheStorage
3
+ * (single-host / test sandbox), built by createCacheStorage() from a discriminated config.
9
4
  */
10
5
  export type { CacheStorage, CacheStorageConfig, CacheMetadata, S3CacheStorageConfig, FilesystemCacheStorageConfig, } from './types.js';
11
6
  export { S3CacheStorage } from './s3.js';
@@ -13,8 +8,5 @@ export { FilesystemCacheStorage } from './filesystem.js';
13
8
  export { signToken, verifyToken, generateSigningSecret } from './sign-url.js';
14
9
  export type { SignedMethod, SignedToken, VerifyResult } from './sign-url.js';
15
10
  import type { CacheStorage, CacheStorageConfig } from './types.js';
16
- /**
17
- * Create a cache storage backend from configuration.
18
- */
19
11
  export declare function createCacheStorage(config: CacheStorageConfig): CacheStorage;
20
12
  //# sourceMappingURL=index.d.ts.map
@@ -1,20 +1,18 @@
1
1
  /**
2
- * Width of the object-key discriminator, in hex characters.
2
+ * Width of the object-key discriminator, in hex characters (32 = 128 bits).
3
3
  *
4
- * 32 hex chars is 128 bits, and the width is a security property rather than a
5
- * formatting choice: on a case-insensitive namespace the discriminator is the
6
- * only thing separating object names chosen by untrusted workflow code. A
7
- * narrower value would let that code search case variants for a colliding pair
8
- * and land two different payloads on one object.
4
+ * A security property: on a case-insensitive namespace the discriminator alone
5
+ * separates object names chosen by untrusted workflow code, and a narrower one
6
+ * would let that code search case variants for a collision and land two
7
+ * payloads on one object.
9
8
  */
10
9
  export declare const KEY_DISCRIMINATOR_LENGTH = 32;
11
10
  /**
12
11
  * A collision-resistant discriminator for a user-supplied object-key segment.
13
12
  *
14
- * Hashes the **exact** name, before any sanitization. Sanitizing is many-to-one
15
- * — `seg()` maps both `/` and `_` to `_`, so `a/b` and `a_b` collapse to one
16
- * segment — and a case-insensitive backend folds `build` onto `Build`. Hashing
17
- * the pre-sanitization name is what keeps each of those pairs two objects.
13
+ * Hashes the **exact** pre-sanitization name: `seg()` maps both `/` and `_` to
14
+ * `_` (`a/b` and `a_b` collapse), and a case-insensitive backend folds `build`
15
+ * onto `Build`, so only the hash keeps each pair two objects.
18
16
  */
19
17
  export declare function keyDiscriminator(exact: string): string;
20
18
  //# sourceMappingURL=key-discriminator.d.ts.map
@@ -1,45 +1,35 @@
1
1
  /**
2
- * Startup guard: an orchestrator that runs non-co-located agents (any scaler
3
- * backend) must not hand them a loopback storage URL. Loopback is only
4
- * reachable by a co-located process, so a scaled agent would fail with an
5
- * opaque ECONNREFUSED. This module detects the misconfiguration so the
6
- * orchestrator can refuse to start with a clear, actionable error.
2
+ * Startup guard: an orchestrator running non-co-located agents must not hand them a loopback
3
+ * storage URL, which only a co-located process reaches (a scaled agent fails with an opaque
4
+ * ECONNREFUSED). It refuses to start with an actionable error instead.
7
5
  */
8
6
  import { ScalerBackendType } from '@kici-dev/engine';
9
7
  import type { AppConfig } from '../config.js';
10
8
  import type { ScalerConfig } from '../scaler/types.js';
11
9
  /**
12
- * Backends that place the agent outside the orchestrator's loopback (separate
13
- * netns, microVM, or host) whenever the entry does not say otherwise.
14
- * `kubernetes` is included defensively even though `ScalerEntry.type` excludes
15
- * it today.
10
+ * Backends that place the agent outside the orchestrator's loopback (separate netns, microVM,
11
+ * or host) unless the entry says otherwise. `kubernetes` is included defensively although
12
+ * `ScalerEntry.type` excludes it.
16
13
  *
17
- * Backend type alone is an imprecise signal — a `bare-metal` scaler may spawn
18
- * on this very machine or on a rack of remote hosts — so it is only the
19
- * fallback. When an entry declares its own `orchestratorUrl`, that URL says
20
- * where the agent will be, and `scalerIsColocated` reads it instead.
14
+ * Backend type is only the fallback signal (a `bare-metal` scaler may spawn locally or
15
+ * remotely): an entry's own `orchestratorUrl` takes precedence in `scalerIsColocated`.
21
16
  */
22
17
  export declare const NON_COLOCATED_BACKENDS: ReadonlySet<ScalerBackendType>;
23
18
  /**
24
- * Answers "could an agent in another netns/VM/host reach this address?" — the
25
- * question a DESTINATION URL asks. A wildcard (`0.0.0.0`, `::`) is not a
26
- * destination at all, so it is reported as loopback here.
27
- *
28
- * For a listener's bind address the question is the opposite one; use
29
- * `isLoopbackBind`.
19
+ * Whether a DESTINATION URL host is unreachable from another netns/VM/host. A wildcard
20
+ * (`0.0.0.0`, `::`) is not a destination, so it counts as loopback here. For a listener's
21
+ * bind address, use `isLoopbackBind`.
30
22
  */
31
23
  export declare function isLoopbackHost(hostname: string): boolean;
32
24
  /**
33
- * Answers "does a listener on this address stay on this machine?" — the
34
- * question a BIND address asks. A wildcard (`0.0.0.0`, `::`) accepts every
35
- * interface, so it is NOT loopback here, which is the one case where this
36
- * predicate and `isLoopbackHost` disagree.
25
+ * Whether a listener on this BIND address stays on this machine. A wildcard (`0.0.0.0`, `::`)
26
+ * accepts every interface, so it is NOT loopback here: the only disagreement with
27
+ * `isLoopbackHost`.
37
28
  */
38
29
  export declare function isLoopbackBind(hostname: string): boolean;
39
30
  /**
40
- * Decide whether an agent-facing storage URL is a loopback address that a
41
- * non-co-located agent could not reach. Returns a remediation message, or null
42
- * when the configuration is safe.
31
+ * A remediation message when the agent-facing storage URL is a loopback address a
32
+ * non-co-located agent cannot reach; null when the configuration is safe.
43
33
  */
44
34
  export declare function checkLoopbackAgentEndpoint(input: {
45
35
  agentFacingUrl: string | null;
@@ -53,9 +43,8 @@ export declare function checkLoopbackAgentEndpoint(input: {
53
43
  message: string;
54
44
  } | null;
55
45
  /**
56
- * Resolve the URL an AGENT would use to reach storage, plus the env var an
57
- * operator would set to fix a loopback misconfiguration. Returns null when the
58
- * storage backend has no agent-facing URL to validate.
46
+ * The URL an AGENT uses to reach storage, and the env var that fixes a loopback
47
+ * misconfiguration; null when the backend has no agent-facing URL.
59
48
  */
60
49
  export declare function resolveAgentFacingStorage(config: AppConfig): {
61
50
  url: string | null;
@@ -73,24 +62,17 @@ export declare function assertAgentReachableStorage(config: AppConfig, scalerCon
73
62
  * bound to something other than a loopback address.
74
63
  *
75
64
  * `KICI_AGENT_AUTH=none` answers `auth.success` to any `auth.request`
76
- * (`ws/agent-handler.ts`), so a listener on a routable address hands anyone who
77
- * can reach the port a registered agent: it receives dispatched jobs — with the
78
- * org's resolved secrets in hybrid mode — and streams results back as the
79
- * operator's own agent. No credential is involved anywhere in that sequence.
65
+ * (`ws/agent-handler.ts`), so on a routable address anyone who reaches the port becomes a
66
+ * registered agent with no credential: it receives dispatched jobs (with the org's resolved
67
+ * secrets in hybrid mode) and reports results as the operator's own agent.
80
68
  *
81
- * `none` is a local-development affordance, and any bind other hosts can reach
82
- * is never an intended pairing with it. The one-shot startup warning that used
83
- * to be the only signal was demonstrably not enough — the local dev plane
84
- * shipped in exactly this state — so this refuses, following the sibling guard
85
- * above: an orchestrator misconfiguration that produces a confusing failure
86
- * later must refuse to start with an actionable message.
69
+ * `none` is a local-development affordance, never intended with a bind other hosts can reach.
70
+ * A startup warning alone proved insufficient, so this refuses to start, like the storage
71
+ * guard above.
87
72
  *
88
- * The bind question is `isLoopbackBind`, not `isLoopbackHost`. The default
89
- * `KICI_HOST` is the wildcard `0.0.0.0`, which `isLoopbackHost` reports as
90
- * loopback because a wildcard is not a reachable destination — true of a
91
- * storage URL, and the opposite of what a listener on it does. So the guard
92
- * covers the default bind, which is the configuration an operator reaches
93
- * without setting `KICI_HOST` at all.
73
+ * It uses `isLoopbackBind`, not `isLoopbackHost`: the default `KICI_HOST` is the wildcard
74
+ * `0.0.0.0`, which `isLoopbackHost` reports as loopback, so only `isLoopbackBind` covers the
75
+ * default bind an operator gets without setting `KICI_HOST`.
94
76
  */
95
77
  export declare function assertAgentAuthBindSafe(config: AppConfig): void;
96
78
  //# sourceMappingURL=loopback-guard.d.ts.map
@@ -1,15 +1,11 @@
1
1
  /**
2
- * S3-backed cache storage.
2
+ * S3-backed cache storage; AWS SDK v3 modules load only when S3 storage is configured.
3
3
  *
4
- * Stores cached items in S3 with custom metadata headers for TTL tracking.
5
- * Uses AWS SDK v3 modular imports -- only loaded when S3 storage is configured.
6
- *
7
- * Metadata storage:
4
+ * TTL metadata headers:
8
5
  * x-amz-meta-created-at -- ISO timestamp of creation
9
6
  * x-amz-meta-last-accessed-at -- ISO timestamp of last access
10
7
  *
11
8
  * TTL is enforced lazily: expired items are deleted on access.
12
- * Pre-signed URLs are generated for getUrl() with 15-minute expiry.
13
9
  */
14
10
  import type { CacheMetadata, CacheStorage } from './types.js';
15
11
  export interface S3CacheStorageOptions {
@@ -20,85 +16,62 @@ export interface S3CacheStorageOptions {
20
16
  /** Custom endpoint URL for S3-compatible services (e.g., SeaweedFS, LocalStack) */
21
17
  endpoint?: string;
22
18
  /**
23
- * Separate endpoint for pre-signed URLs (upload and download).
24
- * When set, pre-signed URLs use this endpoint instead of `endpoint`.
25
- * Useful when the orchestrator accesses S3 on localhost but agents
26
- * need a container-routable address (e.g., container DNS name).
19
+ * Endpoint for pre-signed URLs (upload and download) instead of `endpoint`, e.g. when the
20
+ * orchestrator reaches S3 on localhost but agents need a container DNS name.
27
21
  */
28
22
  externalEndpoint?: string;
29
23
  /**
30
- * Separate endpoint for the pre-signed URL a developer machine running
31
- * `kici run remote` PUTs the overlay to. The developer's machine may reach
32
- * the bucket at a different address than the orchestrator or its agents (an
33
- * orchestrator in a container uses the compose DNS name while the host CLI
34
- * uses localhost). When unset, `getInternalUploadUrl` signs with the
35
- * agent-facing `externalEndpoint`, else with `endpoint`.
24
+ * Endpoint for the pre-signed URL a developer machine running `kici run remote` PUTs the
25
+ * overlay to, which may differ from the orchestrator's and agents' (compose DNS name vs the
26
+ * host CLI's localhost). When unset, `getInternalUploadUrl` signs with `externalEndpoint`,
27
+ * else `endpoint`.
36
28
  */
37
29
  uploadEndpoint?: string;
38
- /** Use path-style access instead of virtual-hosted-style (required for most S3-compatible services) */
30
+ /** Path-style instead of virtual-hosted-style access (most S3-compatible services need it). */
39
31
  forcePathStyle?: boolean;
40
32
  }
41
33
  export declare class S3CacheStorage implements CacheStorage {
42
34
  private readonly client;
43
- /** Separate client for pre-signed URL generation (uses externalEndpoint if configured). */
35
+ /** Pre-signing client: externalEndpoint when configured. */
44
36
  private readonly presignClient;
45
37
  /** Client for the developer upload URL: uploadEndpoint, else the presign client. */
46
38
  private readonly uploadPresignClient;
47
39
  private readonly bucket;
48
40
  private readonly prefix;
49
41
  private readonly ttlMs;
50
- /**
51
- * False once the backend answered a conditional self-copy with
52
- * `501 NotImplemented`. From then on `updateMeta` copies unconditionally.
53
- */
42
+ /** False once the backend answered a conditional self-copy with `501 NotImplemented`. */
54
43
  private conditionalCopySupported;
55
44
  constructor(options: S3CacheStorageOptions);
56
- /** Build the full S3 object key from a cache key. */
57
45
  private objectKey;
58
46
  /** Check if metadata indicates an expired item, honoring a per-op TTL override. */
59
47
  private isExpired;
60
- /**
61
- * Read metadata from an S3 object's custom headers.
62
- * Returns null if the object doesn't exist (NoSuchKey/NotFound).
63
- */
48
+ /** Null when the object does not exist (NoSuchKey/NotFound). */
64
49
  private readMeta;
65
- /**
66
- * Read an object's TTL metadata together with the ETag of the version it
67
- * belongs to. Returns null if the object doesn't exist (NoSuchKey/NotFound).
68
- */
50
+ /** TTL metadata plus the ETag of its version; null when the object does not exist. */
69
51
  private readHead;
70
52
  /**
71
- * Update metadata on an S3 object by copying it to itself.
72
- * This is the standard S3 pattern for updating metadata without re-uploading data.
73
- *
74
- * The copy is conditional on `etag`, the version whose metadata the caller
75
- * read. A self-copy is a whole-object write: without the condition, one that
76
- * races a `put()` of the same key can land after it and write the older body
77
- * back. Cache pointers are rewritten in place while builds publish them, so a
78
- * touch-on-read racing a publish reverted the pointer to a tarball that no
79
- * longer exists. `CopySourceIfMatch` pins the bytes copied to that version and
80
- * `IfMatch` refuses the write unless the key still holds it.
53
+ * Updates metadata by self-copy, conditional on `etag` (the version the caller read). A
54
+ * self-copy is a whole-object write: unconditioned, one racing a `put()` of the key can write
55
+ * the older body back, reverting a cache pointer to a deleted tarball. `CopySourceIfMatch`
56
+ * pins the copied bytes; `IfMatch` refuses the write unless the key still holds that version.
81
57
  *
82
- * Returns false when the object was replaced since the read (`412`), or is
83
- * being replaced right now (`409 ConditionalRequestConflict`): the newer
84
- * write stamps metadata of its own, so there is nothing left to refresh.
58
+ * Returns false when the object was replaced since the read (`412`) or is being replaced
59
+ * (`409 ConditionalRequestConflict`): the newer write stamps its own metadata.
85
60
  *
86
- * An S3-compatible backend that does not implement conditional copies
87
- * answers `501 NotImplemented`. The copy then runs again without the
88
- * condition, and later copies skip it, as on a backend that ignores the
89
- * headers.
61
+ * A backend without conditional copies answers `501 NotImplemented`; the copy reruns
62
+ * unconditionally, and later copies skip the condition.
90
63
  */
91
64
  private updateMeta;
92
65
  /** Copy an object onto itself with new TTL metadata, conditional on `etag` when given. */
93
66
  private copyOntoItself;
94
- /** Check if an error is a failed conditional request (PreconditionFailed, 412). */
67
+ /** A failed conditional request (PreconditionFailed, 412). */
95
68
  private isPreconditionFailedError;
96
- /** Check if an error is a conditional write that raced another write (ConditionalRequestConflict, 409). */
69
+ /** A conditional write that raced another write (ConditionalRequestConflict, 409). */
97
70
  private isConditionalConflictError;
98
- /** Check if an error is a request the backend does not implement (NotImplemented, 501). */
71
+ /** A request the backend does not implement (NotImplemented, 501). */
99
72
  private isNotImplementedError;
100
73
  private hasErrorShape;
101
- /** Check if an error is a "not found" error (NoSuchKey, NotFound, 404). */
74
+ /** NoSuchKey, NotFound or 404. */
102
75
  private isNotFoundError;
103
76
  put(key: string, data: Buffer | string): Promise<void>;
104
77
  get(key: string, ttlMsOverride?: number): Promise<Buffer | null>;
@@ -1,25 +1,16 @@
1
1
  /**
2
- * HMAC-signed URL tokens for the filesystem cache backend.
3
- *
4
- * Pre-signed S3 URLs are not available for filesystem storage, so the
5
- * filesystem backend mints HMAC-SHA256 tokens that the orchestrator's HTTP
6
- * blob route verifies before serving / writing a file. Token shape:
2
+ * HMAC-SHA256 URL tokens for the filesystem cache backend (which has no pre-signed S3 URLs);
3
+ * the blob route verifies them before serving / writing a file. Token shape:
7
4
  *
8
5
  * `${expiresUnixMs}.${hexSig}`
9
6
  *
10
- * Signature input: `${method}:${key}:${expiresUnixMs}` with HMAC-SHA256 keyed
11
- * by a per-orchestrator-process secret (random 32-byte hex at boot, persists
12
- * for the lifetime of the process). Tokens become invalid on orchestrator
13
- * restart — fine for the filesystem backend's single-host / test-sandbox use
14
- * case.
7
+ * Signs `${method}:${key}:${expiresUnixMs}` with a per-process secret (random 32 bytes at
8
+ * boot), so tokens die on orchestrator restart — fine for single-host / test-sandbox use.
15
9
  */
16
- /** Default URL lifetime: 1 hour (matches S3 backend's PUT-URL lifetime). */
10
+ /** Default URL lifetime: 1 hour. */
17
11
  export declare const DEFAULT_SIGN_URL_TTL_MS: number;
18
12
  export type SignedMethod = 'GET' | 'PUT';
19
- /**
20
- * Generate a fresh per-process signing secret. Caller stores it on the
21
- * orchestrator config object so the same value is used for sign + verify.
22
- */
13
+ /** The caller stores it on the orchestrator config, so sign and verify share it. */
23
14
  export declare function generateSigningSecret(): string;
24
15
  export interface SignedToken {
25
16
  /** Encoded token string (`${expiresMs}.${sig}`) ready to drop into a URL. */
@@ -27,9 +18,6 @@ export interface SignedToken {
27
18
  /** Expiry timestamp in unix ms — exposed for tests and logging. */
28
19
  expiresMs: number;
29
20
  }
30
- /**
31
- * Mint a signed token for the given (method, key, expiry) triple.
32
- */
33
21
  export declare function signToken(secret: string, method: SignedMethod, key: string, ttlMs?: number): SignedToken;
34
22
  export type VerifyResult = {
35
23
  ok: true;
@@ -38,9 +26,6 @@ export type VerifyResult = {
38
26
  ok: false;
39
27
  reason: 'malformed' | 'expired' | 'bad-signature';
40
28
  };
41
- /**
42
- * Verify a token. Constant-time signature compare on hex digest length;
43
- * rejects malformed shapes and expired tokens up-front.
44
- */
29
+ /** Constant-time signature compare; rejects malformed and expired tokens up-front. */
45
30
  export declare function verifyToken(secret: string, method: SignedMethod, key: string, token: string): VerifyResult;
46
31
  //# sourceMappingURL=sign-url.d.ts.map