@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,58 +1,56 @@
1
1
  /**
2
- * Filesystem-backed log storage.
2
+ * Filesystem-backed log storage: append-only JSONL files with cursor-based pagination.
3
+ * Lifecycle is operator-managed (the retention sweep runs on the S3 backend only).
3
4
  *
4
- * Stores execution logs as files on disk. Lifecycle is operator-managed (the
5
- * cleanup retention sweep runs on the S3 backend only). Supports append-only
6
- * writes (JSONL accumulation) and cursor-based pagination.
5
+ * Layout: {basePath}/executions/{runId}/job-{name}/step-{index}.log
7
6
  *
8
- * File layout:
9
- * {basePath}/executions/{runId}/job-{name}/step-{index}.log
7
+ * A logical key maps to the same relative path on disk, `/` separating directories. On a
8
+ * Windows host, each character Windows refuses in a file name (`"`, `*`, `:`, `<`, `>`, `?`,
9
+ * `|`, `\` and the control characters 1-31) is stored as the private-use character
10
+ * U+F000 + its code, the mapping Cygwin uses for the same set. Every name Windows accepts maps
11
+ * to itself, so the mapping moves no file a Windows host could already write, and `list()`
12
+ * decodes the names back to logical keys.
10
13
  */
11
14
  import type { LogReadOptions, LogReadResult, LogStorage } from './log-storage.js';
12
15
  interface FilesystemLogStorageOptions {
13
16
  basePath: string;
17
+ /** Host platform; `win32` turns on the file-name mapping. Defaults to `process.platform`. */
18
+ platform?: NodeJS.Platform;
14
19
  }
15
20
  export declare class FilesystemLogStorage implements LogStorage {
16
21
  private readonly basePath;
22
+ private readonly mapWin32Names;
17
23
  constructor(options: FilesystemLogStorageOptions);
18
24
  /**
19
- * Resolve a logical log path to an absolute filesystem path, refusing
20
- * anything that would address a file outside the storage root.
25
+ * Resolve a logical log path to an absolute path, refusing anything outside the storage root.
21
26
  *
22
- * Two checks, deliberately both. `assertSafeLogPath` is the effective gate on
23
- * POSIX: once a path is relative and carries no `..` segment, `resolve()`
24
- * cannot produce anything outside the root, so the comparison below is
25
- * unreachable there. It is kept as a second, independent statement of the
26
- * same invariant — it is what catches a resolver with extra escape hatches
27
- * (win32 resolves a drive-relative `C:foo` against that drive's own cwd, not
28
- * against the root), and it means relaxing the logical check cannot silently
29
- * reopen an escape.
27
+ * Two checks, deliberately. `assertSafeLogPath` is the effective gate on POSIX (a relative
28
+ * path with no `..` cannot resolve outside the root), so the comparison below is unreachable
29
+ * there. It stays as an independent statement of the invariant: it catches resolvers with
30
+ * extra escape hatches (win32 resolves drive-relative `C:foo` against that drive's cwd, a form
31
+ * the Windows name mapping already turns into a plain name), and relaxing the logical check
32
+ * cannot silently reopen an escape.
30
33
  *
31
- * Both checks are lexical — neither resolves symlinks. A symlink planted
32
- * inside the log root still redirects a logically-clean path outside it;
33
- * containing that would need a `realpath` on every call, and the log root is
34
- * the orchestrator user's own directory.
34
+ * Both are lexical — neither resolves symlinks. A symlink planted inside the log root still
35
+ * redirects a clean path outside it; containing that needs a `realpath` per call, and the log
36
+ * root is the orchestrator user's own directory.
35
37
  *
36
- * Every verb on this class funnels through here, so a new caller is
37
- * contained on arrival.
38
+ * Every verb funnels through here, so a new caller is contained on arrival.
38
39
  */
39
40
  private fullPath;
40
41
  /**
41
- * Ensure the directory for a given file path exists.
42
+ * Logical key → relative on-disk path. Identity off Windows. On Windows a key that already
43
+ * holds one of the mapped private-use characters is refused: `list()` would decode it to a
44
+ * different key, so writing it would break the round trip.
42
45
  */
46
+ private toDiskPath;
47
+ /** Path relative to the base path, as the host separates it → logical `/`-separated key. */
48
+ private toLogicalKey;
43
49
  private ensureDir;
44
- /**
45
- * Check if a file exists on disk.
46
- */
47
50
  private fileExists;
48
- /**
49
- * Get the size of a file in bytes. Returns 0 if the file doesn't exist.
50
- */
51
+ /** Bytes; 0 if the file doesn't exist. */
51
52
  private fileSize;
52
- /**
53
- * Recursively list all files under a directory, returning paths relative
54
- * to the base path.
55
- */
53
+ /** Recursive; logical keys relative to the base path. */
56
54
  private listRecursive;
57
55
  append(path: string, data: string): Promise<void>;
58
56
  appendStreaming(path: string, data: string): Promise<void>;
@@ -1,9 +1,8 @@
1
1
  import { type CheckRunReporter } from './check-run-reporter.js';
2
2
  import type { ExecutionContext } from './execution-tracker.js';
3
3
  /**
4
- * Job-terminal signal this module reacts to. Shaped after the payload the
5
- * execution tracker hands its `onJobComplete` hook — its primary caller — plus
6
- * the agent-supplied `data` blob used to build the enriched check-run summary.
4
+ * Shaped after the payload the execution tracker (the primary caller) hands its
5
+ * `onJobComplete` hook, plus the agent-supplied `data` blob for the enriched summary.
7
6
  */
8
7
  export interface JobCheckRunCompletionInput {
9
8
  runId: string;
@@ -14,11 +13,9 @@ export interface JobCheckRunCompletionInput {
14
13
  /** Agent-supplied job payload (step results, error, duration). */
15
14
  data?: Record<string, unknown>;
16
15
  /**
17
- * Explicit check-run description, overriding the conclusion mapper's default
18
- * wording. A caller that already holds the specific reason a job ended the way
19
- * it did passes it here — the queue-expiry sweep's `unroutable` message, for
20
- * instance, is the only statement of WHICH `runsOn` selectors went unmatched,
21
- * and the mapper's generic phrasing cannot name them.
16
+ * Overrides the conclusion mapper's default wording with a reason the caller already
17
+ * holds — e.g. the queue-expiry sweep's `unroutable` message is the only statement of
18
+ * WHICH `runsOn` selectors went unmatched, which the mapper's phrasing cannot name.
22
19
  */
23
20
  description?: string;
24
21
  }
@@ -29,22 +26,17 @@ export interface JobCheckRunCompletionDeps {
29
26
  getExecutionContext: (runId: string) => ExecutionContext | undefined;
30
27
  }
31
28
  /**
32
- * Post the terminal conclusion for a job's check run.
29
+ * Every terminal job must resolve the check run `setPending()` created at trigger match.
30
+ * A check run left `queued` is not cosmetic: branch protection requiring it can never be
31
+ * satisfied, and a developer reads it as "still running" indefinitely.
33
32
  *
34
- * Every job that reaches a terminal state must resolve the check run that
35
- * `setPending()` created for it at trigger match. A check run left `queued` is
36
- * not cosmetic: branch protection that requires it can never be satisfied, and
37
- * a developer reads it as "still running" indefinitely with nothing to point at.
33
+ * A non-terminal status is a no-op — a check run is completed once, when the job stops.
38
34
  *
39
- * A non-terminal status is a no-op — a check run is completed once, when the job
40
- * stops.
41
- *
42
- * Never throws. Its callers are hot paths whose remaining work matters more than
43
- * this report: the tracker's terminal-job hook runs inside `onJobStatus`, ahead
44
- * of the job-complete event emission and the needs/wave scheduler hooks, and the
45
- * expiry sweep runs it per job inside a loop. `buildJobFailureDescription` reads
46
- * an agent-supplied payload, so a malformed `stepResults` entry is enough to
47
- * raise — and a check-run report is not worth stalling a run's scheduling for.
35
+ * Never throws. Its callers are hot paths whose remaining work matters more: the
36
+ * tracker's terminal-job hook runs inside `onJobStatus`, ahead of the job-complete event
37
+ * and the needs/wave scheduler hooks, and the expiry sweep runs it per job in a loop.
38
+ * `buildJobFailureDescription` reads an agent-supplied payload, so a malformed
39
+ * `stepResults` entry can raise — not worth stalling a run's scheduling for.
48
40
  */
49
41
  export declare function reportJobCheckRunCompletion(deps: JobCheckRunCompletionDeps, input: JobCheckRunCompletionInput): void;
50
42
  //# sourceMappingURL=job-check-run-completion.d.ts.map
@@ -1,18 +1,14 @@
1
1
  /**
2
- * The single place that decides what happens to a step-log chunk.
2
+ * The single place that decides what happens to a step-log chunk. Both ingresses feed
3
+ * it — the local agent WebSocket handler and the coordinator's peer handler (chunks
4
+ * relayed by a worker orchestrator) — so a worker-dispatched job's logs are persisted,
5
+ * counted and forwarded exactly like a local one's.
3
6
  *
4
- * Both ingresses feed this sink: the local agent WebSocket handler and the
5
- * coordinator's peer handler, which receives chunks relayed by a worker
6
- * orchestrator. Keeping the policy in one place is what makes the two paths
7
- * behave identically — a worker-dispatched job's logs are persisted, counted
8
- * and forwarded exactly like a locally-dispatched one's.
9
- *
10
- * The storage key is derived from `executionTracker.resolveJobName`, the same
11
- * call `ExecutionTracker.onStepStatus` uses to fill `execution_steps.log_path`,
12
- * so the reader and the writer cannot disagree about the naming rule — the
13
- * resolver falls back to `dispatch_queue.job_name` during the dispatch window
14
- * before in-memory job state is populated, which is what stops an early chunk
15
- * from being persisted under an unreadable `job-{jobId}` path.
7
+ * The storage key comes from `executionTracker.resolveJobName`, the same call
8
+ * `ExecutionTracker.onStepStatus` uses to fill `execution_steps.log_path`, so reader and
9
+ * writer cannot disagree on naming. Its `dispatch_queue.job_name` fallback during the
10
+ * dispatch window, before in-memory job state exists, stops an early chunk from landing
11
+ * under an unreadable `job-{jobId}` path.
16
12
  */
17
13
  import type { LogStream } from '@kici-dev/engine';
18
14
  import type { LogWriter } from './log-writer.js';
@@ -40,9 +36,8 @@ export interface LogChunkSinkDeps {
40
36
  resolveJobName(runId: string, jobId: string): Promise<string>;
41
37
  };
42
38
  /**
43
- * Forward to the Platform for browser fan-out. Absent in independent mode.
44
- * The caller wraps the chunk in the `log.chunk` envelope, which keeps this
45
- * module free of Platform-protocol knowledge.
39
+ * Platform forward for browser fan-out; absent in independent mode. The caller wraps
40
+ * the `log.chunk` envelope, keeping this module free of Platform-protocol knowledge.
46
41
  */
47
42
  forwardToPlatform?: (chunk: NormalizedLogChunk) => void;
48
43
  }
@@ -1,28 +1,19 @@
1
1
  /**
2
- * Handler for log pull protocol messages on the orchestrator side.
3
- *
4
- * Responds to Platform requests for historical logs (log.request).
5
- * Reads from LogStorage, supports pagination via cursor/limit,
6
- * and filtering by jobName/stepIndex.
7
- *
8
- * Live logs flow via the push-based log.chunk -> BrowserFanOut path
9
- * and are not handled here.
2
+ * Answers Platform `log.request` messages for historical logs from LogStorage, with
3
+ * cursor/limit pagination and jobName/stepIndex filtering. Live logs flow via the
4
+ * push-based log.chunk -> BrowserFanOut path, not here.
10
5
  */
11
6
  import type { LogStorage } from './log-storage.js';
12
7
  import type { ExecutionTracker } from './execution-tracker.js';
13
8
  export interface LogPullHandlerDeps {
14
9
  logStorage: LogStorage;
15
10
  executionTracker: ExecutionTracker;
16
- /** Callback to send response messages back over WS */
11
+ /** Sends response messages back over WS */
17
12
  send: (message: unknown) => void;
18
13
  }
19
14
  export declare class LogPullHandler {
20
15
  private readonly deps;
21
16
  constructor(deps: LogPullHandlerDeps);
22
- /**
23
- * Handle log.request -- read logs from storage and respond.
24
- * Supports filtering by jobName and stepIndex, pagination via cursor/limit.
25
- */
26
17
  handleRequest(msg: {
27
18
  messageId: string;
28
19
  executionId: string;
@@ -5,10 +5,9 @@ import type { LogStorage } from './log-storage.js';
5
5
  * Step-log objects are write-once (appended during the run, untouched after
6
6
  * finalize), so last-modified time is the correct expiry basis — a recent or
7
7
  * still-running run's objects were all written within the window and survive.
8
- * `ttlDays <= 0` disables the sweep (returns 0). Expired objects are collected
9
- * then bulk-deleted via `deleteMany` (S3 DeleteObjects), so a large sweep is a
10
- * handful of API calls, not one-per-object. A delete failure is logged and the
11
- * cleanup tick is not aborted.
8
+ * `ttlDays <= 0` disables the sweep (returns 0). One `deleteMany` (S3
9
+ * DeleteObjects) removes them, so a large sweep is a handful of API calls, not
10
+ * one per object. A delete failure is logged and does not abort the cleanup tick.
12
11
  *
13
12
  * @returns Number of objects deleted.
14
13
  */
@@ -1,49 +1,33 @@
1
1
  /**
2
- * Log storage abstraction for the orchestrator.
3
- *
4
- * Provides a pluggable backend interface for persisting execution logs.
5
- * Retention on the S3 backend is bounded by the orchestrator cleanup sweep
6
- * (`KICI_STEP_LOG_TTL_DAYS`, default 90; 0 disables it); the filesystem backend
7
- * leaves lifecycle to the operator.
8
- *
9
- * Backends: FilesystemLogStorage, S3LogStorage
2
+ * Pluggable execution-log storage (FilesystemLogStorage, S3LogStorage). Retention on S3 is
3
+ * bounded by the orchestrator cleanup sweep (`KICI_STEP_LOG_TTL_DAYS`, default 90; 0
4
+ * disables it); the filesystem backend leaves lifecycle to the operator.
10
5
  *
11
6
  * Log file layout: executions/{runId}/job-{name}/step-{index}.log
12
7
  * Format: JSONL (one JSON object per line with timestamp, level, message, metadata)
13
8
  */
14
9
  /**
15
- * Assert that a logical log path is safe to hand to a storage backend.
16
- *
17
- * The invariant every backend relies on: a log path is relative, contains no
18
- * `..` segment, and carries no NUL byte. Both backends call this at their own
19
- * boundary, so a malformed key is refused identically whichever backend the
20
- * operator configured, and a new caller is guarded on arrival rather than by
21
- * remembering to validate.
10
+ * The invariant every backend relies on: a log path is relative, contains no `..`
11
+ * segment, and carries no NUL byte. Both backends call this at their own boundary, so a
12
+ * malformed key is refused identically whichever backend is configured, and a new caller
13
+ * is guarded on arrival rather than by remembering to validate.
22
14
  *
23
- * The `..` test is per-segment, not a substring match: a job name such as
24
- * `job-a..b` is legitimate and is accepted.
15
+ * The `..` test is per-segment, not a substring match: `job-a..b` is legitimate.
25
16
  *
26
- * `FilesystemLogStorage.fullPath()` re-states the same invariant physically,
27
- * comparing the resolved absolute path against the resolved root. Both checks
28
- * are lexical: neither resolves symlinks, so a symlink planted inside the log
29
- * root still redirects a logically-clean path through it.
17
+ * `FilesystemLogStorage.fullPath()` re-states the invariant physically, comparing the
18
+ * resolved absolute path against the resolved root. Both checks are lexical: neither
19
+ * resolves symlinks, so a symlink planted inside the log root still redirects a
20
+ * logically-clean path through it.
30
21
  */
31
22
  export declare function assertSafeLogPath(path: string): void;
32
- /**
33
- * Read result from LogStorage.read().
34
- * Supports cursor-based pagination for large log files.
35
- */
23
+ /** Cursor-based pagination for large log files. */
36
24
  export interface LogReadResult {
37
- /** The log content for this page */
38
25
  data: string;
39
26
  /** Byte offset cursor for the next read (pass to options.cursor) */
40
27
  cursor: number;
41
28
  /** True if the entire file has been read (cursor >= file size) */
42
29
  complete: boolean;
43
30
  }
44
- /**
45
- * Options for LogStorage.read().
46
- */
47
31
  export interface LogReadOptions {
48
32
  /** Byte offset to start reading from (0-based). Default: 0 */
49
33
  cursor?: number;
@@ -51,17 +35,14 @@ export interface LogReadOptions {
51
35
  limit?: number;
52
36
  }
53
37
  /**
54
- * Pluggable log storage interface.
55
- *
56
- * All operations are async. Retention is enforced by the cleanup sweep on the
57
- * S3 backend (see `pruneExpiredLogs`); the filesystem backend is operator-managed.
38
+ * Retention is enforced by the cleanup sweep on the S3 backend (see `pruneExpiredLogs`);
39
+ * the filesystem backend is operator-managed.
58
40
  */
59
41
  export interface LogStorage {
60
42
  /**
61
- * Append lines to a log file, immediately durable. Creates the file (and
62
- * directories) if it doesn't exist. Used by single-shot writers (webhook
63
- * payloads, rerun payloads, orchestration logs) that write once and expect
64
- * the content to be readable without any subsequent finalize call.
43
+ * Append lines, immediately durable; creates the file (and directories) if missing.
44
+ * For single-shot writers (webhook payloads, rerun payloads, orchestration logs) that
45
+ * write once and read back without any finalize call.
65
46
  */
66
47
  append(path: string, data: string): Promise<void>;
67
48
  /**
@@ -77,19 +58,16 @@ export interface LogStorage {
77
58
  * nothing is buffered.
78
59
  */
79
60
  finalize(path: string): Promise<void>;
80
- /** Read log file content. Returns { data, cursor, complete } for pagination. */
81
61
  read(path: string, options?: LogReadOptions): Promise<LogReadResult>;
82
- /** Check if a log file exists. */
83
62
  exists(path: string): Promise<boolean>;
84
- /** List files matching a prefix (directory listing). */
63
+ /** Directory listing by prefix. */
85
64
  list(prefix: string): Promise<string[]>;
86
65
  /**
87
- * List every physical object under a prefix with its last-modified time,
88
- * `path` relative to the storage prefix. Unlike {@link LogStorage.list} this
89
- * does NOT collapse S3 segment objects (`.../seg-NNNNNN`) to their logical
90
- * step path — the retention sweep must see and delete each physical object,
91
- * and each segment carries its own last-modified time. Step-log objects are
92
- * write-once, so last-modified is the correct expiry basis.
66
+ * Every physical object under a prefix, `path` relative to the storage prefix. Unlike
67
+ * {@link LogStorage.list} it does NOT collapse S3 segment objects (`.../seg-NNNNNN`):
68
+ * the retention sweep must delete each physical object, and each segment carries its
69
+ * own last-modified time. Step-log objects are write-once, so last-modified is the
70
+ * correct expiry basis.
93
71
  */
94
72
  listWithMetadata(prefix: string): Promise<Array<{
95
73
  path: string;
@@ -102,9 +80,6 @@ export interface LogStorage {
102
80
  */
103
81
  deleteMany(paths: string[]): Promise<number>;
104
82
  }
105
- /**
106
- * Configuration for creating a log storage backend.
107
- */
108
83
  type LogStorageConfig = {
109
84
  type: 'filesystem';
110
85
  basePath: string;
@@ -122,9 +97,6 @@ type LogStorageConfig = {
122
97
  /** Seal a step-log segment once the oldest buffered byte reaches this age (ms). */
123
98
  segmentFlushMs: number;
124
99
  };
125
- /**
126
- * Factory function to create the appropriate LogStorage backend.
127
- */
128
100
  export declare function createLogStorage(config: LogStorageConfig): LogStorage;
129
101
  export {};
130
102
  //# sourceMappingURL=log-storage.d.ts.map
@@ -1,24 +1,19 @@
1
1
  /**
2
- * Log writer that transforms agent log lines into JSONL and persists to LogStorage.
2
+ * Writes agent log lines as JSONL to LogStorage at executions/{runId}/job-{name}/step-{index}.log.
3
3
  *
4
- * Each log line is formatted as a JSON object with timestamp, level, message,
5
- * and metadata fields. Lines are written to the standard log path layout:
6
- * executions/{runId}/job-{name}/step-{index}.log
7
- *
8
- * Step-log writes go through the high-frequency `appendStreaming` verb: the
9
- * filesystem backend appends immediately (no buffering); the S3 backend buffers
10
- * per step key and seals immutable append-only segments. `drain(runId)` awaits
11
- * the in-flight appends and then finalizes each step path so the S3 tail
12
- * segment is sealed before a reader declares the stream complete.
4
+ * Writes use `appendStreaming`: the filesystem backend appends immediately (no buffering); the
5
+ * S3 backend buffers per step key and seals immutable append-only segments. `drain(runId)`
6
+ * awaits in-flight appends, then finalizes each step path so the S3 tail segment is sealed
7
+ * before a reader declares the stream complete.
13
8
  */
14
9
  import type { LogStorage } from './log-storage.js';
15
10
  import { LogStream } from '@kici-dev/engine';
16
11
  import type { ObserverRegistry } from '../ws/observer-registry.js';
17
12
  interface LogWriterDeps {
18
13
  logStorage: LogStorage;
19
- /** Optional observer registry for broadcasting log chunks to CLI observers. */
14
+ /** Broadcasts log chunks to CLI observers. */
20
15
  observerRegistry?: ObserverRegistry;
21
- /** Optional function to check if a run is a test run (for observer broadcasting). */
16
+ /** Only test runs are broadcast to observers. */
22
17
  isTestRun?: (runId: string) => boolean;
23
18
  }
24
19
  export declare class LogWriter {
@@ -26,66 +21,43 @@ export declare class LogWriter {
26
21
  private readonly observerRegistry?;
27
22
  private readonly isTestRun?;
28
23
  /**
29
- * In-flight `logStorage.append` promises, keyed by runId. `appendChunk` is
30
- * called fire-and-forget from the agent WS handler (it does not await the
31
- * storage write), so a run can flip to a terminal status while the final
32
- * log chunk's append is still pending. `drain(runId)` lets a reader (the
33
- * test-run logs cursor endpoint) wait for those pending writes before it
34
- * reports the stream as fully drained — without this, the `done` flag can
35
- * be returned `true` while the last user-visible log line is not yet on
36
- * disk, dropping it from a blocking `kici run remote` follow.
24
+ * In-flight appends per runId. The agent WS handler calls `appendChunk` fire-and-forget, so a
25
+ * run can turn terminal while its final chunk's append is pending. `drain(runId)` lets a reader
26
+ * (the test-run logs cursor endpoint) wait for them; otherwise `done` can be `true` before the
27
+ * last log line is on disk, dropping it from a blocking `kici run remote` follow.
37
28
  */
38
29
  private readonly pendingAppends;
39
- /**
40
- * Log paths written for each run, populated in `appendChunk`. `drain(runId)`
41
- * finalizes each one so the S3 backend seals its buffered tail segment before
42
- * a reader declares the stream complete. The filesystem backend's `finalize`
43
- * is a no-op.
44
- */
30
+ /** Paths written per run; `drain(runId)` finalizes each (a no-op on the filesystem backend). */
45
31
  private readonly runPaths;
46
32
  constructor(deps: LogWriterDeps);
47
33
  /**
48
- * Await every in-flight log append for `runId` that was registered before
49
- * this call, then seal each step log's buffered tail segment so the durable
50
- * S3 record is complete. Settles even if an append rejected (errors are
51
- * already logged by `appendChunk`); the point is ordering, not error
52
- * propagation. New appends started after this call are not waited on — a
53
- * terminal run emits no further chunks, so the snapshot taken at call time is
54
- * complete.
34
+ * Await every append for `runId` registered before this call, then seal each step log's S3
35
+ * tail segment. Settles even if an append rejected (`appendChunk` already logged it): the
36
+ * point is ordering, not error propagation. Later appends are not waited on — a terminal run
37
+ * emits no further chunks, so the call-time snapshot is complete.
55
38
  */
56
39
  drain(runId: string): Promise<void>;
57
40
  /**
58
- * Append log lines from an agent to storage in JSONL format.
59
- *
60
- * Each line is formatted as:
41
+ * Append agent lines as JSONL, one per line:
61
42
  * {"ts":"2026-01-01T00:00:00.000Z","level":"stdout","msg":"line content","meta":{}}
62
43
  *
63
- * Also fans log chunks to connected observers for real-time streaming
64
- * (test runs only, when observerRegistry is configured).
44
+ * Also fans chunks out to observers (test runs only, when observerRegistry is configured).
65
45
  *
66
- * @param runId - Execution run ID
67
46
  * @param jobName - Job name (not job ID)
68
- * @param stepIndex - Step index within the job (0-based)
69
- * @param lines - Raw log lines from the agent
70
- * @param timestamp - Timestamp from the agent message (epoch ms)
71
- * @param jobId - Job ID for observer broadcasting (optional)
72
- * @param stepName - Step name for observer broadcasting (optional)
73
- * @param stream - Which subprocess stream the lines came from. Absent means
74
- * the agent did not report one, which is recorded as `stdout`.
47
+ * @param stepIndex - 0-based
48
+ * @param timestamp - Epoch ms, from the agent message
49
+ * @param jobId - Required for observer broadcasting
50
+ * @param stream - Subprocess stream; absent (not reported) is recorded as `stdout`.
75
51
  */
76
52
  appendChunk(runId: string, jobName: string, stepIndex: number, lines: string[], timestamp: number, jobId?: string, stepName?: string, stream?: LogStream): Promise<void>;
77
53
  /**
78
- * Make {@link drain} for `runId` wait for `pending` as it waits for an
79
- * append.
54
+ * Make {@link drain} for `runId` wait for `pending` as it waits for an append.
80
55
  *
81
- * For a caller that still has work to do before it can call
82
- * {@link appendChunk} — resolving the job name that names the storage key.
83
- * Registering only inside `appendChunk` leaves that work outside the
84
- * snapshot: a run that completes while the name is being resolved is drained
85
- * first, the chunk's append lands afterwards, and on object storage its
86
- * segment is never sealed, so the chunk is never readable. A job whose setup
87
- * fails sends its last setup lines immediately before its terminal status,
88
- * which is exactly that window.
56
+ * For a caller with work left before {@link appendChunk} — resolving the job name that names
57
+ * the storage key. Otherwise a run completing mid-resolve is drained first, the append lands
58
+ * after, and on object storage its segment is never sealed, so the chunk is never readable. A
59
+ * job whose setup fails sends its last setup lines right before its terminal status: exactly
60
+ * that window.
89
61
  */
90
62
  trackPending(runId: string, pending: Promise<unknown>): void;
91
63
  }
@@ -1,12 +1,8 @@
1
1
  /**
2
- * Convert a worker-relayed `peer.log.chunk` into the chunk shape the log sink
3
- * consumes.
4
- *
5
- * The peer frame carries a timestamp and an originating stream per line, while
6
- * the sink (and `LogWriter.appendChunk` beneath it) takes one of each per
7
- * chunk. Grouping consecutive lines that agree on both is lossless and keeps
8
- * line order intact. A worker today gives every line in a chunk the same
9
- * timestamp and stream, so this yields a single group in practice.
2
+ * Convert a worker-relayed `peer.log.chunk` into log-sink chunks. The peer frame carries a
3
+ * timestamp and stream per line; the sink (and `LogWriter.appendChunk`) takes one per chunk.
4
+ * Grouping consecutive lines that agree on both is lossless and keeps line order. A worker
5
+ * gives a chunk's lines one timestamp and stream, so this yields one group in practice.
10
6
  */
11
7
  import type { PeerLogChunk } from '@kici-dev/engine';
12
8
  import type { NormalizedLogChunk } from './log-chunk-sink.js';
@@ -69,18 +69,13 @@ export interface RunDetailJobLookups {
69
69
  }>>;
70
70
  }
71
71
  /**
72
- * The routing reason as a reader should see it.
72
+ * The routing reason as a reader should see it: only while the job is `pending`/`queued`.
73
73
  *
74
- * `routing_reason` is only meaningful while the job is still waiting to be
75
- * routed, and more than twenty call sites move a job out of `pending`/`queued`
76
- * — dispatch, cancel, the run-level failure cascades, the stale detector.
77
- * Requiring every one of them to also null the column would be fragile in the
78
- * one direction that matters: the site somebody forgets renders a finished job
79
- * as "waiting for an agent".
80
- *
81
- * So the guard lives here, at the read boundary both projections share, where
82
- * it cannot be forgotten by a writer that does not know this column exists.
83
- * The stale bytes may linger in the row; they are never shown.
74
+ * More than twenty call sites move a job out of those statuses (dispatch, cancel, the
75
+ * run-level failure cascades, the stale detector). Making each also null the column is
76
+ * fragile: the site somebody forgets renders a finished job as "waiting for an agent". So
77
+ * the guard sits at the read boundary both projections share; stale bytes may linger in the
78
+ * row but are never shown.
84
79
  */
85
80
  export declare function visibleRoutingReason(status: string, routingReason: string | null): string | null;
86
81
  /** Map queried job + step rows into the dashboard run-detail job DTO shape. */
@@ -1,7 +1,6 @@
1
1
  /**
2
- * The run fields every `onExecutionStatusChange` context built from an
3
- * in-memory run carries, in one place so a new column cannot be forwarded from
4
- * some status transitions and silently dropped from others.
2
+ * The run fields every `onExecutionStatusChange` context built from an in-memory run carries,
3
+ * in one place so no status transition silently drops a new column.
5
4
  */
6
5
  import type { ExecutionContext } from './execution-tracker.js';
7
6
  type RunSummaryKey = 'workflowName' | 'provider' | 'repoIdentifier' | 'workflowRepoIdentifier' | 'sha' | 'installationId' | 'requestId' | 'routingKey' | 'ref' | 'triggerEvent' | 'commitMessage' | 'parentRunId' | 'originalRunId' | 'triggeredBy' | 'triggeredByAgentLabel' | 'triggerActorUsername' | 'triggerActorUserId';
@@ -14,11 +13,9 @@ export declare function statusEpochField(epoch: number | null | undefined): {
14
13
  statusEpoch?: number;
15
14
  };
16
15
  /**
17
- * The shared part of a run's status-change context.
18
- *
19
- * `workflowRepoIdentifier` is copied only when set, because its presence is
20
- * what marks a cross-repository global run downstream. `localWorkingTree` is
21
- * left to the caller: only some transitions forward it.
16
+ * `workflowRepoIdentifier` is copied only when set: its presence marks a cross-repository
17
+ * global run downstream. `localWorkingTree` is left to the caller (only some transitions
18
+ * forward it).
22
19
  */
23
20
  export declare function runSummaryFields(run: RunSummarySource): Pick<ExecutionContext, RunSummaryKey | 'statusEpoch'>;
24
21
  export {};