@kici-dev/orchestrator 0.16.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (592) hide show
  1. package/dist/agent/agent-version.d.ts +12 -21
  2. package/dist/agent/dispatcher.d.ts +283 -437
  3. package/dist/agent/host-roster-reaper.d.ts +8 -10
  4. package/dist/agent/host-roster.d.ts +77 -100
  5. package/dist/agent/ownership-refusal.d.ts +3 -5
  6. package/dist/agent/ownership-tracker.d.ts +42 -76
  7. package/dist/agent/registry.d.ts +121 -233
  8. package/dist/agent/token-store.d.ts +34 -77
  9. package/dist/agent-packaging/availability.d.ts +6 -9
  10. package/dist/agent-packaging/download.d.ts +6 -9
  11. package/dist/agent-packaging/install-closure.d.ts +9 -12
  12. package/dist/agent-packaging/node-binary.d.ts +6 -10
  13. package/dist/agent-packaging/node-runtime-members.d.ts +3 -5
  14. package/dist/agent-packaging/refresh.d.ts +12 -16
  15. package/dist/agent-packaging/store.d.ts +5 -6
  16. package/dist/agent-packaging/upload.d.ts +3 -4
  17. package/dist/app.d.ts +0 -3
  18. package/dist/approvals/apply-decision.d.ts +39 -45
  19. package/dist/approvals/approval-resolver.d.ts +11 -23
  20. package/dist/approvals/held-run-release-wiring.d.ts +14 -21
  21. package/dist/approvals/independent-wiring.d.ts +13 -20
  22. package/dist/approvals/resume-router.d.ts +1 -1
  23. package/dist/approvals/step-approval-bridge.d.ts +11 -21
  24. package/dist/approvals/triggerer-subject.d.ts +8 -10
  25. package/dist/artifacts/artifact-store.d.ts +55 -95
  26. package/dist/artifacts/failure-messages.d.ts +15 -20
  27. package/dist/audit/access-log.d.ts +27 -45
  28. package/dist/audit/sampling-rate-limiter.d.ts +11 -23
  29. package/dist/cache/agent-job-failed-error.d.ts +2 -3
  30. package/dist/cache/build-coordinator.d.ts +5 -28
  31. package/dist/cache/cache-upload-settle.d.ts +11 -11
  32. package/dist/cache/dep-cache.d.ts +32 -60
  33. package/dist/cache/dispatch-cache-ref-tracker.d.ts +15 -23
  34. package/dist/cache/global-eval-round-cache.d.ts +33 -41
  35. package/dist/cache/pending-builds.d.ts +2 -6
  36. package/dist/cache/pending-dynamics.d.ts +2 -7
  37. package/dist/cache/pending-global-evals.d.ts +9 -12
  38. package/dist/cache/pending-inits.d.ts +11 -22
  39. package/dist/cache/pending-precursor-db-watcher.d.ts +24 -32
  40. package/dist/cache/pending-tracker.d.ts +17 -45
  41. package/dist/cache/precursor-result.d.ts +17 -30
  42. package/dist/cache/source-cache.d.ts +36 -65
  43. package/dist/cache/user-cache.d.ts +21 -25
  44. package/dist/cancel/cancel-held-run.d.ts +13 -16
  45. package/dist/cancel/cancel-route-answer.d.ts +1 -2
  46. package/dist/cancel/cancel-run.d.ts +26 -50
  47. package/dist/cancel/dashboard-cancel-handler.d.ts +2 -2
  48. package/dist/cancel/peer-job-cancel.d.ts +11 -14
  49. package/dist/cancel/sweep-stuck-cancelling.d.ts +9 -13
  50. package/dist/cli/api-client.d.ts +33 -76
  51. package/dist/cli/commands/access-log.d.ts +4 -24
  52. package/dist/cli/commands/agent-package.d.ts +7 -15
  53. package/dist/cli/commands/agent-service/agent-env.d.ts +3 -6
  54. package/dist/cli/commands/agent-service/index.d.ts +4 -10
  55. package/dist/cli/commands/agent-service/install.d.ts +4 -11
  56. package/dist/cli/commands/agent-service/status.d.ts +4 -9
  57. package/dist/cli/commands/agent-service/upgrade.d.ts +4 -16
  58. package/dist/cli/commands/agent.d.ts +12 -25
  59. package/dist/cli/commands/api-key.d.ts +7 -7
  60. package/dist/cli/commands/attestations-list.d.ts +7 -17
  61. package/dist/cli/commands/attestations-retry.d.ts +5 -11
  62. package/dist/cli/commands/attestations-reverify.d.ts +4 -5
  63. package/dist/cli/commands/attestations.d.ts +3 -8
  64. package/dist/cli/commands/audit.d.ts +1 -5
  65. package/dist/cli/commands/backend.d.ts +2 -11
  66. package/dist/cli/commands/check-run.d.ts +7 -18
  67. package/dist/cli/commands/cluster-name.d.ts +5 -12
  68. package/dist/cli/commands/cluster-settings.d.ts +28 -53
  69. package/dist/cli/commands/cold-store.d.ts +7 -15
  70. package/dist/cli/commands/config.d.ts +9 -20
  71. package/dist/cli/commands/context.d.ts +8 -20
  72. package/dist/cli/commands/dashboard-encryption-key.d.ts +9 -14
  73. package/dist/cli/commands/db-backup.d.ts +17 -32
  74. package/dist/cli/commands/db.d.ts +3 -4
  75. package/dist/cli/commands/debug-bundle.d.ts +3 -10
  76. package/dist/cli/commands/diagnose.d.ts +3 -14
  77. package/dist/cli/commands/event-dlq.d.ts +4 -12
  78. package/dist/cli/commands/event-log.d.ts +2 -20
  79. package/dist/cli/commands/execution.d.ts +3 -9
  80. package/dist/cli/commands/firecracker/index.d.ts +3 -6
  81. package/dist/cli/commands/held-run.d.ts +23 -37
  82. package/dist/cli/commands/host.d.ts +4 -11
  83. package/dist/cli/commands/inspect-bundle.d.ts +3 -11
  84. package/dist/cli/commands/local-hook.d.ts +2 -10
  85. package/dist/cli/commands/local-trigger.d.ts +2 -2
  86. package/dist/cli/commands/orchestrator-service/drain.d.ts +3 -6
  87. package/dist/cli/commands/orchestrator-service/index.d.ts +6 -14
  88. package/dist/cli/commands/orchestrator-service/install-env.d.ts +25 -49
  89. package/dist/cli/commands/orchestrator-service/install.d.ts +2 -5
  90. package/dist/cli/commands/orchestrator-service/status.d.ts +10 -22
  91. package/dist/cli/commands/orchestrator-service/upgrade.d.ts +6 -15
  92. package/dist/cli/commands/org-settings.d.ts +5 -11
  93. package/dist/cli/commands/peer.d.ts +5 -10
  94. package/dist/cli/commands/queue.d.ts +3 -9
  95. package/dist/cli/commands/registration.d.ts +4 -8
  96. package/dist/cli/commands/remote-source.d.ts +6 -12
  97. package/dist/cli/commands/rotate.d.ts +1 -5
  98. package/dist/cli/commands/runs.d.ts +1 -30
  99. package/dist/cli/commands/scaler.d.ts +5 -12
  100. package/dist/cli/commands/secret.d.ts +1 -9
  101. package/dist/cli/commands/service-health.d.ts +5 -10
  102. package/dist/cli/commands/shared/admin-cli-access-log.d.ts +10 -19
  103. package/dist/cli/commands/shared/bare-metal-binary-check.d.ts +86 -0
  104. package/dist/cli/commands/shared/cli-action.d.ts +1 -4
  105. package/dist/cli/commands/shared/confirm.d.ts +5 -10
  106. package/dist/cli/commands/shared/db.d.ts +1 -12
  107. package/dist/cli/commands/shared/env-file-mode.d.ts +6 -9
  108. package/dist/cli/commands/shared/secret-input.d.ts +7 -21
  109. package/dist/cli/commands/shared/service-verbs.d.ts +6 -12
  110. package/dist/cli/commands/shared/unbound-context-warning.d.ts +2 -4
  111. package/dist/cli/commands/shared/upgrade-hooks.d.ts +7 -16
  112. package/dist/cli/commands/shared/upgrade-safety.d.ts +20 -31
  113. package/dist/cli/commands/shared/versioned-upgrade.d.ts +83 -161
  114. package/dist/cli/commands/signing-key.d.ts +4 -9
  115. package/dist/cli/commands/source-manifest.d.ts +11 -14
  116. package/dist/cli/commands/source.d.ts +7 -32
  117. package/dist/cli/commands/token.d.ts +4 -15
  118. package/dist/cli/commands/trust-policy.d.ts +35 -88
  119. package/dist/cli/commands/variable.d.ts +3 -5
  120. package/dist/cli/commands/workflow.d.ts +3 -24
  121. package/dist/cli/join.d.ts +3 -6
  122. package/dist/cli/kici-admin.d.ts +11 -29
  123. package/dist/cli/lazy-deps/cache.d.ts +1 -14
  124. package/dist/cli/lazy-deps/downloader.d.ts +4 -27
  125. package/dist/cli/lazy-deps/registry.d.ts +5 -25
  126. package/dist/cli/local-github-ingress-url.d.ts +5 -7
  127. package/dist/cli/loopback-callback.d.ts +6 -7
  128. package/dist/cli/open-browser.d.ts +4 -8
  129. package/dist/cli/root-option-routing.d.ts +17 -29
  130. package/dist/cli/service/backup-timer.d.ts +16 -39
  131. package/dist/cli/service/compose-path.d.ts +3 -7
  132. package/dist/cli/service/compose.d.ts +12 -30
  133. package/dist/cli/service/deploy-env.d.ts +6 -18
  134. package/dist/cli/service/entrypoint.d.ts +14 -25
  135. package/dist/cli/service/env-assignment.d.ts +6 -17
  136. package/dist/cli/service/image-digests.d.ts +6 -15
  137. package/dist/cli/service/index.d.ts +2 -18
  138. package/dist/cli/service/instance/index-file.d.ts +9 -16
  139. package/dist/cli/service/instance/manifest.d.ts +33 -59
  140. package/dist/cli/service/instance/resolve.d.ts +32 -68
  141. package/dist/cli/service/instance/types.d.ts +12 -29
  142. package/dist/cli/service/launchd.d.ts +29 -60
  143. package/dist/cli/service/platform-detect.d.ts +13 -68
  144. package/dist/cli/service/privilege.d.ts +12 -25
  145. package/dist/cli/service/shutdown-grace.d.ts +11 -20
  146. package/dist/cli/service/systemd.d.ts +7 -20
  147. package/dist/cli/service/types.d.ts +63 -114
  148. package/dist/cli/service/windows-acl.d.ts +14 -21
  149. package/dist/cli/service/windows-env-file.d.ts +10 -28
  150. package/dist/cli/service/windows.d.ts +15 -31
  151. package/dist/cli/webhook-url-notes.d.ts +4 -6
  152. package/dist/cli/wizard/agent-wizard.d.ts +3 -14
  153. package/dist/cli/wizard/orchestrator-wizard.d.ts +12 -37
  154. package/dist/cli/wizard/prompts.d.ts +6 -16
  155. package/dist/cli.js +4553 -6556
  156. package/dist/cluster/cluster-identity.d.ts +20 -32
  157. package/dist/cluster/cluster-settings-reader.d.ts +50 -77
  158. package/dist/cluster/coordinator-credential.d.ts +4 -5
  159. package/dist/cluster/coordinator.d.ts +76 -148
  160. package/dist/cluster/health-api.d.ts +2 -10
  161. package/dist/cluster/index.d.ts +1 -6
  162. package/dist/cluster/instance-heartbeat.d.ts +26 -42
  163. package/dist/cluster/join-client.d.ts +4 -7
  164. package/dist/cluster/join-handler.d.ts +3 -7
  165. package/dist/cluster/join-token.d.ts +13 -27
  166. package/dist/cluster/leader-gated-scheduler.d.ts +8 -17
  167. package/dist/cluster/orphan-recovery.d.ts +13 -35
  168. package/dist/cluster/peer-auth-coordinator.d.ts +2 -8
  169. package/dist/cluster/peer-client.d.ts +46 -76
  170. package/dist/cluster/peer-credentials.d.ts +24 -70
  171. package/dist/cluster/peer-crypto.d.ts +5 -26
  172. package/dist/cluster/peer-forget.d.ts +3 -3
  173. package/dist/cluster/peer-handler.d.ts +47 -71
  174. package/dist/cluster/peer-registry.d.ts +37 -106
  175. package/dist/cluster/plan-headroom-store.d.ts +4 -6
  176. package/dist/cluster/raft-state.d.ts +4 -13
  177. package/dist/cluster/raft.d.ts +18 -53
  178. package/dist/cluster/reconcile-identity.d.ts +8 -11
  179. package/dist/cluster/rerouted-job-guard.d.ts +7 -11
  180. package/dist/cluster/verified-issuer.d.ts +2 -3
  181. package/dist/cluster/worker-cluster-settings.d.ts +7 -10
  182. package/dist/cluster/worker-eviction.d.ts +16 -26
  183. package/dist/cold-store/load-access-log-range.d.ts +15 -31
  184. package/dist/cold-store/load-event-log-range.d.ts +13 -27
  185. package/dist/cold-store/load-secret-audit-log-range.d.ts +8 -12
  186. package/dist/cold-store/orchestrator-cold-store.d.ts +8 -28
  187. package/dist/cold-store/tables/access-log.d.ts +12 -14
  188. package/dist/cold-store/tables/event-log.d.ts +4 -8
  189. package/dist/cold-store/tables/execution-runs.d.ts +6 -11
  190. package/dist/cold-store/tables/secret-audit-log.d.ts +5 -12
  191. package/dist/concurrency/dispatch-next-queued.d.ts +13 -25
  192. package/dist/concurrency/queue-manager.d.ts +22 -54
  193. package/dist/concurrency/waiters.d.ts +15 -31
  194. package/dist/config/encryption.d.ts +0 -2
  195. package/dist/config/loader.d.ts +0 -1
  196. package/dist/config/reload.d.ts +0 -6
  197. package/dist/config/resolver.d.ts +0 -4
  198. package/dist/config/shared-store.d.ts +0 -2
  199. package/dist/config/types.d.ts +0 -3
  200. package/dist/content-requirements-cache.d.ts +0 -1
  201. package/dist/contexts/context-store.d.ts +0 -2
  202. package/dist/contexts/held-runs.d.ts +0 -2
  203. package/dist/contexts/variable-store.d.ts +0 -2
  204. package/dist/dashboard/attestation-filters.d.ts +13 -18
  205. package/dist/dashboard/handler.d.ts +143 -307
  206. package/dist/db/client.d.ts +2 -6
  207. package/dist/db/deferred-index-build.d.ts +8 -10
  208. package/dist/db/deferred-indexes.d.ts +15 -22
  209. package/dist/db/migration-provider.d.ts +2 -4
  210. package/dist/db/migration-test-harness.d.ts +26 -44
  211. package/dist/db/migrations/001_initial.d.ts +1 -4
  212. package/dist/db/migrations/002_config_versions_key_version.d.ts +5 -8
  213. package/dist/db/migrations/003_access_log.d.ts +10 -15
  214. package/dist/db/migrations/004_rename_bundle_to_source.d.ts +7 -9
  215. package/dist/db/migrations/005_cold_store_chunk_counter.d.ts +4 -10
  216. package/dist/db/migrations/006_runs_jobs_steps_archived_at.d.ts +9 -29
  217. package/dist/db/migrations/007_audit_logs_archived_at.d.ts +11 -30
  218. package/dist/db/migrations/008_event_log_archived_at.d.ts +14 -29
  219. package/dist/db/migrations/009_access_log_trigram.d.ts +4 -8
  220. package/dist/db/migrations/010_cold_store_chunks.d.ts +16 -26
  221. package/dist/db/migrations/011_drop_source_secrets_notify.d.ts +6 -14
  222. package/dist/db/migrations/012_peer_credentials_active_uniq.d.ts +9 -14
  223. package/dist/db/migrations/013_execution_log_bytes.d.ts +5 -13
  224. package/dist/db/migrations/014_kici_events_lease_retry.d.ts +14 -27
  225. package/dist/db/migrations/015_org_settings_customer_scoped.d.ts +12 -17
  226. package/dist/db/migrations/016_org_settings_allow_http_npm.d.ts +4 -6
  227. package/dist/db/migrations/019_generic_sources_change_notify.d.ts +13 -17
  228. package/dist/db/migrations/020_org_settings_dashboard_write_policy.d.ts +5 -8
  229. package/dist/db/migrations/021_check_run_tracking.d.ts +5 -17
  230. package/dist/db/migrations/022_scaler_manager_state.d.ts +10 -20
  231. package/dist/db/migrations/023_dispatch_queue_recovery_deadline.d.ts +7 -18
  232. package/dist/db/migrations/024_dispatch_queue_provisioning_error.d.ts +5 -11
  233. package/dist/db/migrations/025_init_failure.d.ts +5 -9
  234. package/dist/db/migrations/027_workflow_timeout.d.ts +5 -13
  235. package/dist/db/migrations/029_dispatch_queue_attempts.d.ts +4 -10
  236. package/dist/db/migrations/030_held_runs_env_set_null.d.ts +5 -6
  237. package/dist/db/migrations/031_dispatch_queue_ack_deadline.d.ts +6 -12
  238. package/dist/db/migrations/033_org_settings_approval.d.ts +7 -10
  239. package/dist/db/migrations/034_held_runs_generalize.d.ts +10 -18
  240. package/dist/db/migrations/035_pending_workflow_contexts.d.ts +4 -5
  241. package/dist/db/migrations/037_generic_sources_provider_type_local.d.ts +5 -6
  242. package/dist/db/migrations/038_remote_sources.d.ts +5 -7
  243. package/dist/db/migrations/045_host_properties.d.ts +5 -9
  244. package/dist/db/migrations/046_join_token_consumed_by_instance.d.ts +5 -10
  245. package/dist/db/migrations/048_host_reboot_pending.d.ts +6 -12
  246. package/dist/db/migrations/049_held_runs_payload.d.ts +3 -8
  247. package/dist/db/migrations/050_sources_slug.d.ts +4 -5
  248. package/dist/db/migrations/051_binding_host_pattern.d.ts +7 -10
  249. package/dist/db/migrations/052_host_reach_metadata.d.ts +8 -11
  250. package/dist/db/migrations/053_agent_token_single_use.d.ts +6 -10
  251. package/dist/db/migrations/054_local_working_tree.d.ts +4 -6
  252. package/dist/db/migrations/055_agent_token_mandatory_labels.d.ts +6 -11
  253. package/dist/db/migrations/056_execution_jobs_environments.d.ts +4 -11
  254. package/dist/db/migrations/064_execution_jobs_skipped_environments.d.ts +6 -9
  255. package/dist/db/migrations/065_pending_attestations.d.ts +9 -12
  256. package/dist/db/migrations/066_pending_attestations_rejected.d.ts +4 -7
  257. package/dist/db/migrations/068_request_idempotency.d.ts +7 -9
  258. package/dist/db/migrations/069_reroute_tunables.d.ts +6 -14
  259. package/dist/db/migrations/071_batch_accumulation.d.ts +8 -16
  260. package/dist/db/migrations/072_dispatch_queue_run_id_index.d.ts +3 -9
  261. package/dist/db/migrations/074_normalize_zero_concurrency_limit.d.ts +4 -7
  262. package/dist/db/migrations/076_artifacts.d.ts +7 -8
  263. package/dist/db/migrations/078_org_settings_backup_staleness.d.ts +3 -6
  264. package/dist/db/migrations/079_org_settings_scaler_spawn_timeout.d.ts +4 -8
  265. package/dist/db/migrations/080_cluster_settings.d.ts +6 -10
  266. package/dist/db/migrations/081_org_settings_queue_timeout.d.ts +7 -11
  267. package/dist/db/migrations/082_host_s3_reachable.d.ts +5 -10
  268. package/dist/db/migrations/083_org_settings_artifact_caps.d.ts +6 -8
  269. package/dist/db/migrations/084_orchestrator_signing_keys.d.ts +8 -13
  270. package/dist/db/migrations/085_cluster_settings_reroute_flap_grace_ms.d.ts +4 -5
  271. package/dist/db/migrations/086_cluster_settings_max_fanout_hosts.d.ts +3 -3
  272. package/dist/db/migrations/087_cluster_settings_event_router_rate_limit.d.ts +5 -3
  273. package/dist/db/migrations/088_cluster_settings_cache_max_tarball_bytes.d.ts +3 -3
  274. package/dist/db/migrations/089_cluster_settings_cache_ttl_days.d.ts +3 -5
  275. package/dist/db/migrations/090_cluster_settings_concurrency_wait_timeout_ms.d.ts +3 -6
  276. package/dist/db/migrations/091_cluster_settings_agent_token_ttl_ms.d.ts +3 -6
  277. package/dist/db/migrations/092_cluster_settings_version.d.ts +5 -9
  278. package/dist/db/migrations/094_dashboard_encryption_keys.d.ts +9 -14
  279. package/dist/db/migrations/095_dashboard_write_policy_tristate.d.ts +2 -6
  280. package/dist/db/migrations/099_cluster_settings_dashboard_verified_issuer.d.ts +8 -11
  281. package/dist/db/migrations/101_contexts_hold_expiry_drop_default.d.ts +9 -15
  282. package/dist/db/migrations/102_dispatch_queue_agent_id.d.ts +6 -11
  283. package/dist/db/migrations/103_cluster_settings_ownership_db_check_timeout_ms.d.ts +6 -12
  284. package/dist/db/migrations/104_check_run_terminal_sent.d.ts +8 -14
  285. package/dist/db/migrations/105_org_trust_policy.d.ts +5 -7
  286. package/dist/db/migrations/106_cluster_settings_check_run_tracking_ttl_days.d.ts +4 -12
  287. package/dist/db/migrations/107_check_run_tracking_updated_at_index.d.ts +8 -14
  288. package/dist/db/migrations/113_execution_runs_workflow_repo_index.d.ts +10 -19
  289. package/dist/db/migrations/115_global_workflows_cluster_switch.d.ts +2 -3
  290. package/dist/db/migrations/121_org_settings_allow_untrusted_dockerfile_builds.d.ts +7 -8
  291. package/dist/db/migrations/122_host_roster_scaler_managed.d.ts +9 -16
  292. package/dist/db/migrations/123_workflow_registrations_default_branch.d.ts +8 -16
  293. package/dist/db/migrations/125_org_trust_directory.d.ts +13 -21
  294. package/dist/db/migrations/126_held_runs_posted_pending_check.d.ts +10 -16
  295. package/dist/db/migrations/127_org_trust_policy_approval_expiry_seconds.d.ts +8 -16
  296. package/dist/db/migrations/128_execution_runs_global_eval_round.d.ts +6 -11
  297. package/dist/db/migrations/129_execution_runs_dispatch_routing_key.d.ts +8 -11
  298. package/dist/db/migrations/130_scaler_provision_outcomes.d.ts +13 -20
  299. package/dist/db/migrations/131_execution_jobs_git_credentials.d.ts +12 -22
  300. package/dist/db/migrations/132_execution_runs_trigger_event.d.ts +6 -16
  301. package/dist/db/migrations/133_dispatch_queue_source_tar_digest.d.ts +6 -9
  302. package/dist/db/migrations/140_dispatch_queue_canonical_labels.d.ts +22 -40
  303. package/dist/db/migrations/143_execution_jobs_precursor_result.d.ts +9 -18
  304. package/dist/db/migrations/144_execution_runs_registration_window.d.ts +12 -20
  305. package/dist/db/migrations/147_sealed_job_secrets.d.ts +5 -9
  306. package/dist/db/migrations/148_cluster_settings_sealed_secrets_retry_backoff_ms.d.ts +7 -13
  307. package/dist/db/migrations/150_execution_runs_status_epoch.d.ts +6 -11
  308. package/dist/db/migrations/152_org_settings_cache_upload_settle_timeout.d.ts +5 -8
  309. package/dist/db/migrations/157_host_roster_identity_source.d.ts +9 -13
  310. package/dist/db/migrations/159_org_id_widen_to_source_width.d.ts +5 -0
  311. package/dist/db/migrator.d.ts +17 -25
  312. package/dist/db/notify-listener.d.ts +8 -11
  313. package/dist/db/repos/dashboard-encryption-keys-repo.d.ts +9 -10
  314. package/dist/db/synthetic-job-ids.d.ts +6 -8
  315. package/dist/db/types.d.ts +531 -1058
  316. package/dist/deployment/deployment-identity.d.ts +42 -60
  317. package/dist/diagnostics/bundle-reader.d.ts +3 -15
  318. package/dist/diagnostics/bundle-writer.d.ts +5 -12
  319. package/dist/diagnostics/checks/agents.d.ts +1 -7
  320. package/dist/diagnostics/checks/backup.d.ts +7 -10
  321. package/dist/diagnostics/checks/certs.d.ts +1 -6
  322. package/dist/diagnostics/checks/config.d.ts +2 -5
  323. package/dist/diagnostics/checks/db.d.ts +1 -1
  324. package/dist/diagnostics/checks/disk.d.ts +1 -6
  325. package/dist/diagnostics/checks/firecracker-network.d.ts +3 -3
  326. package/dist/diagnostics/checks/index.d.ts +0 -6
  327. package/dist/diagnostics/checks/retention.d.ts +3 -6
  328. package/dist/diagnostics/checks/scaler.d.ts +3 -7
  329. package/dist/diagnostics/checks/ws.d.ts +1 -6
  330. package/dist/diagnostics/fleet-collector.d.ts +11 -14
  331. package/dist/diagnostics/fleet-constants.d.ts +1 -3
  332. package/dist/diagnostics/fleet-selection.d.ts +3 -7
  333. package/dist/diagnostics/fleet-topology.d.ts +2 -6
  334. package/dist/diagnostics/fleet-wiring.d.ts +6 -12
  335. package/dist/diagnostics/index.d.ts +0 -5
  336. package/dist/diagnostics/runner.d.ts +4 -8
  337. package/dist/diagnostics/types.d.ts +10 -21
  338. package/dist/drain/drain-controller.d.ts +16 -22
  339. package/dist/entry-helpers.d.ts +0 -2
  340. package/dist/events/circuit-breaker.d.ts +0 -3
  341. package/dist/events/event-router.d.ts +1 -2
  342. package/dist/events/event-store.d.ts +0 -9
  343. package/dist/events/trust-store.d.ts +0 -3
  344. package/dist/events/types.d.ts +0 -9
  345. package/dist/firecracker/host-network.d.ts +24 -30
  346. package/dist/firecracker/net-interfaces.d.ts +4 -7
  347. package/dist/helpers/rate-limiter.d.ts +0 -1
  348. package/dist/index.js +251 -486
  349. package/dist/metrics/agent-metrics-aggregator.d.ts +24 -67
  350. package/dist/metrics/metrics-reporter.d.ts +4 -13
  351. package/dist/metrics/prometheus.d.ts +47 -81
  352. package/dist/orchestrator-core.d.ts +3 -7
  353. package/dist/pipeline/content-filter.d.ts +20 -30
  354. package/dist/pipeline/cross-source-tally.d.ts +7 -8
  355. package/dist/pipeline/decorating-secret-resolver.d.ts +4 -8
  356. package/dist/pipeline/degraded-reason.d.ts +3 -4
  357. package/dist/pipeline/direct-ingress-deps.d.ts +15 -24
  358. package/dist/pipeline/dispatch-matched-workflow.d.ts +289 -525
  359. package/dist/pipeline/flatten-lock-steps.d.ts +4 -6
  360. package/dist/pipeline/global-dispatch-identity.d.ts +5 -10
  361. package/dist/pipeline/global-eval-round.d.ts +65 -151
  362. package/dist/pipeline/global-round-hold.d.ts +5 -7
  363. package/dist/pipeline/held-context-data.d.ts +5 -8
  364. package/dist/pipeline/held-round-registrations.d.ts +8 -11
  365. package/dist/pipeline/install-gate.d.ts +15 -25
  366. package/dist/pipeline/install-secrets-resolver.d.ts +24 -34
  367. package/dist/pipeline/internal-event-pipeline.d.ts +45 -62
  368. package/dist/pipeline/invoke-gate.d.ts +27 -40
  369. package/dist/pipeline/job-contexts.d.ts +19 -36
  370. package/dist/pipeline/manual-schedule.d.ts +7 -13
  371. package/dist/pipeline/needs-scheduler.d.ts +29 -46
  372. package/dist/pipeline/pending-workflow-context.d.ts +14 -28
  373. package/dist/pipeline/process-webhook.d.ts +88 -123
  374. package/dist/pipeline/processor.d.ts +209 -355
  375. package/dist/pipeline/remote-source-store.d.ts +5 -8
  376. package/dist/pipeline/request-idempotency.d.ts +10 -13
  377. package/dist/pipeline/rerun-global.d.ts +6 -7
  378. package/dist/pipeline/rerun-inputs.d.ts +23 -37
  379. package/dist/pipeline/rerun.d.ts +34 -57
  380. package/dist/pipeline/resolve-sandbox-grant.d.ts +5 -10
  381. package/dist/pipeline/resume-workflow.d.ts +28 -34
  382. package/dist/pipeline/route-or-dispatch-jobs.d.ts +19 -30
  383. package/dist/pipeline/run-event-context.d.ts +16 -21
  384. package/dist/pipeline/sandbox-allowlist-reader.d.ts +7 -11
  385. package/dist/pipeline/security-hold-check.d.ts +56 -80
  386. package/dist/pipeline/test-pipeline.d.ts +21 -46
  387. package/dist/pipeline/unbound-job-context.d.ts +6 -9
  388. package/dist/pipeline/undispatched-hold-checks.d.ts +4 -6
  389. package/dist/pipeline/wave-scheduler.d.ts +15 -22
  390. package/dist/pipeline/webhook-payload-store.d.ts +3 -10
  391. package/dist/pipeline/workflow-lock-at-sha.d.ts +14 -20
  392. package/dist/policy/dashboard-write-policy.d.ts +1 -1
  393. package/dist/provider-registry.d.ts +0 -19
  394. package/dist/providers/generic/index.d.ts +0 -2
  395. package/dist/providers/generic/normalizer.d.ts +0 -1
  396. package/dist/providers/generic/verification.d.ts +0 -8
  397. package/dist/providers/github/auth.d.ts +0 -1
  398. package/dist/providers/github/changed-files.d.ts +2 -1
  399. package/dist/providers/github/file-contents.d.ts +0 -4
  400. package/dist/providers/github/lock-file.d.ts +0 -4
  401. package/dist/providers/github/normalizer.d.ts +1 -9
  402. package/dist/providers/local/index.d.ts +1 -2
  403. package/dist/providers/local/lock-file-fetcher.d.ts +0 -4
  404. package/dist/providers/local/normalizer.d.ts +0 -10
  405. package/dist/providers/local/repo-url-builder.d.ts +0 -2
  406. package/dist/providers/universal-git/clone-token.d.ts +0 -2
  407. package/dist/providers/universal-git/lock-file.d.ts +0 -2
  408. package/dist/providers/universal-git/normalizer.d.ts +0 -2
  409. package/dist/queue/bootstrap.d.ts +3 -15
  410. package/dist/queue/cleanup.d.ts +29 -50
  411. package/dist/queue/depth-refresher.d.ts +21 -39
  412. package/dist/queue/job-queue.d.ts +112 -163
  413. package/dist/queue/retention.d.ts +23 -36
  414. package/dist/queue/scheduled-job.d.ts +17 -39
  415. package/dist/queue/terminalize-unroutable.d.ts +21 -18
  416. package/dist/queue/unroutable-probe.d.ts +15 -22
  417. package/dist/registration/extractor.d.ts +0 -6
  418. package/dist/registration/registration-index.d.ts +0 -6
  419. package/dist/registration/registration-store.d.ts +0 -9
  420. package/dist/reporting/agent-failure-category.d.ts +3 -5
  421. package/dist/reporting/check-run-reporter.d.ts +142 -316
  422. package/dist/reporting/check-run-summary.d.ts +16 -35
  423. package/dist/reporting/check-run-tracking-store.d.ts +54 -107
  424. package/dist/reporting/execution-tracker.d.ts +356 -526
  425. package/dist/reporting/fs-log-storage.d.ts +31 -33
  426. package/dist/reporting/job-check-run-completion.d.ts +14 -22
  427. package/dist/reporting/log-chunk-sink.d.ts +11 -16
  428. package/dist/reporting/log-pull-handler.d.ts +4 -13
  429. package/dist/reporting/log-retention.d.ts +3 -4
  430. package/dist/reporting/log-storage.d.ts +24 -52
  431. package/dist/reporting/log-writer.d.ts +28 -56
  432. package/dist/reporting/peer-log-normalize.d.ts +4 -8
  433. package/dist/reporting/run-aggregator.d.ts +6 -11
  434. package/dist/reporting/run-summary-fields.d.ts +5 -8
  435. package/dist/reporting/s3-log-storage.d.ts +31 -50
  436. package/dist/reporting/step-display-order.d.ts +11 -21
  437. package/dist/reporting/step-log-buffer.d.ts +7 -28
  438. package/dist/reporting/step-log-reader.d.ts +11 -19
  439. package/dist/routes/admin-access-log.d.ts +4 -6
  440. package/dist/routes/admin-auth.d.ts +19 -38
  441. package/dist/routes/admin-backends.d.ts +3 -14
  442. package/dist/routes/admin-cluster-name.d.ts +13 -21
  443. package/dist/routes/admin-cluster-settings.d.ts +6 -9
  444. package/dist/routes/admin-config.d.ts +7 -19
  445. package/dist/routes/admin-contexts.d.ts +6 -13
  446. package/dist/routes/admin-db.d.ts +5 -10
  447. package/dist/routes/admin-event-dlq.d.ts +3 -5
  448. package/dist/routes/admin-event-inspect.d.ts +3 -4
  449. package/dist/routes/admin-event-log.d.ts +3 -7
  450. package/dist/routes/admin-events.d.ts +16 -30
  451. package/dist/routes/admin-held-runs.d.ts +52 -76
  452. package/dist/routes/admin-maintenance.d.ts +3 -6
  453. package/dist/routes/admin-orchestrator-drain.d.ts +0 -2
  454. package/dist/routes/admin-org-settings.d.ts +8 -14
  455. package/dist/routes/admin-peer-forget.d.ts +0 -1
  456. package/dist/routes/admin-queue-execution.d.ts +3 -3
  457. package/dist/routes/admin-registrations.d.ts +3 -12
  458. package/dist/routes/admin-runs.d.ts +16 -29
  459. package/dist/routes/admin-scaler-orphans.d.ts +4 -4
  460. package/dist/routes/admin-scaler-reload.d.ts +5 -8
  461. package/dist/routes/admin-scheduled-jobs.d.ts +3 -4
  462. package/dist/routes/admin-sources.d.ts +20 -29
  463. package/dist/routes/admin-trust-policy.d.ts +31 -48
  464. package/dist/routes/admin.d.ts +67 -94
  465. package/dist/routes/caller-identity.d.ts +45 -0
  466. package/dist/routes/capabilities.d.ts +8 -13
  467. package/dist/routes/diagnostics.d.ts +2 -10
  468. package/dist/routes/fleet.d.ts +1 -2
  469. package/dist/routes/github-webhook.d.ts +2 -5
  470. package/dist/routes/health.d.ts +6 -19
  471. package/dist/routes/provenance-oidc.d.ts +3 -3
  472. package/dist/routes/test-direct.d.ts +46 -0
  473. package/dist/routes/uploads.d.ts +14 -19
  474. package/dist/routes/webhooks.d.ts +2 -24
  475. package/dist/scaler/agent-binary-location.d.ts +77 -0
  476. package/dist/scaler/agent-fit.d.ts +2 -2
  477. package/dist/scaler/backend-factory.d.ts +10 -18
  478. package/dist/scaler/bare-metal-backend.d.ts +28 -45
  479. package/dist/scaler/claim-store.d.ts +20 -43
  480. package/dist/scaler/config.d.ts +10 -37
  481. package/dist/scaler/container-backend.d.ts +22 -35
  482. package/dist/scaler/container-hostconfig.d.ts +10 -16
  483. package/dist/scaler/container-routing.d.ts +10 -13
  484. package/dist/scaler/disk-guard.d.ts +2 -3
  485. package/dist/scaler/event-backend.d.ts +33 -58
  486. package/dist/scaler/event-provision-reaper.d.ts +61 -84
  487. package/dist/scaler/failure-tracker.d.ts +6 -13
  488. package/dist/scaler/file-tail.d.ts +6 -19
  489. package/dist/scaler/firecracker-api.d.ts +19 -63
  490. package/dist/scaler/firecracker-backend.d.ts +142 -258
  491. package/dist/scaler/host-access.d.ts +7 -10
  492. package/dist/scaler/index.d.ts +3 -6
  493. package/dist/scaler/ip-allocator.d.ts +30 -82
  494. package/dist/scaler/label-matcher.d.ts +14 -35
  495. package/dist/scaler/log-forwarder.d.ts +6 -25
  496. package/dist/scaler/machine-ledger.d.ts +39 -86
  497. package/dist/scaler/manager.d.ts +517 -787
  498. package/dist/scaler/pending-scale-sweeper.d.ts +8 -11
  499. package/dist/scaler/reap-orphans.d.ts +8 -12
  500. package/dist/scaler/resolve-container-auth.d.ts +12 -21
  501. package/dist/scaler/scaler-events.d.ts +2 -5
  502. package/dist/scaler/scaler-state-store.d.ts +127 -189
  503. package/dist/scaler/spawn-errors.d.ts +1 -4
  504. package/dist/scaler/startup-orphan-sweep.d.ts +3 -4
  505. package/dist/scaler/startup-tools-check.d.ts +21 -0
  506. package/dist/scaler/types.d.ts +142 -255
  507. package/dist/scaler/vm-job-bindings.d.ts +5 -9
  508. package/dist/scaler/warm-pool.d.ts +46 -93
  509. package/dist/secrets/audit-logger.d.ts +0 -3
  510. package/dist/secrets/backend-health.d.ts +0 -9
  511. package/dist/secrets/backend-registry.d.ts +0 -9
  512. package/dist/secrets/cleanup.d.ts +0 -1
  513. package/dist/secrets/config.d.ts +0 -3
  514. package/dist/secrets/ephemeral-keys.d.ts +0 -3
  515. package/dist/secrets/pg-secret-store.d.ts +0 -3
  516. package/dist/secrets/rbac.d.ts +5 -7
  517. package/dist/secrets/routing-key-scope.d.ts +1 -0
  518. package/dist/secrets/secret-output-store.d.ts +0 -6
  519. package/dist/secrets/secret-resolver.d.ts +2 -6
  520. package/dist/secrets/token-manager.d.ts +1 -4
  521. package/dist/secrets/vault-secret-store.d.ts +0 -13
  522. package/dist/security/comment-handler.d.ts +0 -2
  523. package/dist/security/workflow-diff.d.ts +1 -1
  524. package/dist/server.js +49004 -53782
  525. package/dist/sources/source-manager.d.ts +0 -3
  526. package/dist/sources/source-store.d.ts +0 -9
  527. package/dist/sources/source-validator.d.ts +0 -3
  528. package/dist/stale-detector/all-terminal-runs.d.ts +8 -11
  529. package/dist/stale-detector/gate-deadline-detector.d.ts +14 -19
  530. package/dist/stale-detector/reboot-deadline-sweep.d.ts +7 -11
  531. package/dist/stale-detector/stale-dispatch-candidates.d.ts +13 -20
  532. package/dist/stale-detector/stale-run-detector.d.ts +74 -121
  533. package/dist/stale-detector/workflow-deadline-detector.d.ts +15 -43
  534. package/dist/standalone.js +9342 -13077
  535. package/dist/storage/blob-routes.d.ts +10 -19
  536. package/dist/storage/filesystem.d.ts +19 -29
  537. package/dist/storage/index.d.ts +2 -10
  538. package/dist/storage/key-discriminator.d.ts +8 -10
  539. package/dist/storage/loopback-guard.d.ts +27 -45
  540. package/dist/storage/s3.d.ts +26 -53
  541. package/dist/storage/sign-url.d.ts +7 -22
  542. package/dist/storage/types.d.ts +46 -72
  543. package/dist/webhook/event-log.d.ts +0 -2
  544. package/dist/webhook/generic-sources.d.ts +0 -21
  545. package/dist/webhook/ingest-admission.d.ts +0 -1
  546. package/dist/webhook/relay-buffer.d.ts +2 -2
  547. package/dist/webhook/verify-inbound.d.ts +0 -1
  548. package/dist/worker/in-memory-execution-tracker.d.ts +9 -31
  549. package/dist/worker/in-memory-job-queue.d.ts +32 -72
  550. package/dist/worker/peer-outbox.d.ts +5 -8
  551. package/dist/worker/reroute-dispatch.d.ts +4 -6
  552. package/dist/worker/static-agent-token-store.d.ts +6 -27
  553. package/dist/worker/worker-outbox-relay.d.ts +2 -2
  554. package/dist/worker/worker-status.d.ts +3 -20
  555. package/dist/ws/agent-api-registry.d.ts +8 -27
  556. package/dist/ws/agent-handler.d.ts +63 -110
  557. package/dist/ws/agent-heartbeat.d.ts +5 -12
  558. package/dist/ws/bringup-api.d.ts +31 -38
  559. package/dist/ws/dashboard-backends-handler.d.ts +12 -22
  560. package/dist/ws/dashboard-context-handler.d.ts +37 -80
  561. package/dist/ws/dashboard-diagnostics-handler.d.ts +8 -25
  562. package/dist/ws/dashboard-dispatch-guard.d.ts +3 -4
  563. package/dist/ws/dashboard-fleet-handler.d.ts +9 -13
  564. package/dist/ws/dashboard-fleet-write-handler.d.ts +7 -21
  565. package/dist/ws/dashboard-global-workflows-handler.d.ts +22 -44
  566. package/dist/ws/dashboard-registrations-handler.d.ts +10 -27
  567. package/dist/ws/dashboard-run-state-handler.d.ts +10 -13
  568. package/dist/ws/event-buffer.d.ts +3 -6
  569. package/dist/ws/execution-status-frame.d.ts +7 -10
  570. package/dist/ws/failure-messages.d.ts +9 -14
  571. package/dist/ws/fleet-agent-collector.d.ts +6 -12
  572. package/dist/ws/fleet-runs-on-all.d.ts +1 -6
  573. package/dist/ws/git-credential-relay.d.ts +12 -20
  574. package/dist/ws/inventory-api.d.ts +4 -5
  575. package/dist/ws/observer-registry.d.ts +14 -59
  576. package/dist/ws/ownership-gate.d.ts +1 -1
  577. package/dist/ws/platform-client.d.ts +21 -30
  578. package/dist/ws/replay-chunker.d.ts +7 -10
  579. package/dist/ws/server-options.d.ts +5 -9
  580. package/dist/ws/test-relay-handlers.d.ts +46 -63
  581. package/installer-image-digests.json +3 -3
  582. package/package.json +6 -5
  583. package/sbom.spdx.json +53 -53
  584. package/dist/__test-helpers__/fake-scaler-state-store.d.ts +0 -24
  585. package/dist/__test-helpers__/mock-db-query.d.ts +0 -129
  586. package/dist/__test-helpers__/mock-db.d.ts +0 -134
  587. package/dist/__test-helpers__/mock-ws.d.ts +0 -13
  588. package/dist/__test-helpers__/peer-mutual-auth.d.ts +0 -42
  589. package/dist/__test-helpers__/scratch-db.d.ts +0 -16
  590. package/dist/__test-helpers__/test-db.d.ts +0 -34
  591. package/dist/pipeline/dispatch-matched-workflow.test-helpers.d.ts +0 -121
  592. package/dist/scaler/container-spawn.d.ts +0 -28
@@ -1,6 +1,5 @@
1
1
  /**
2
- * resolveInstance — the single entry point every lifecycle command uses to
3
- * decide which installed service it's operating on.
2
+ * resolveInstance picks the installed service every lifecycle command acts on.
4
3
  *
5
4
  * Priority:
6
5
  * 1. --instance-dir <path> → read manifest at <path>
@@ -8,14 +7,9 @@
8
7
  * 3. CWD manifest → read ./.kici-<component>.json
9
8
  * 4. otherwise → refuse with a candidate list (throws)
10
9
  *
11
- * listInstances reconciles the on-disk index (cache) with the drivers'
12
- * native scans (source of truth). The reconciled result is rewritten back to
13
- * the index to self-heal stale entries.
14
- *
15
- * Discovery is platform-plural and operation is platform-singular. A host can
16
- * hold both a systemd install and a compose install, so finding an instance
17
- * scans every candidate driver; acting on the one that was found uses the
18
- * single driver its manifest names.
10
+ * Discovery is platform-plural and operation is platform-singular: a host can
11
+ * hold both a systemd and a compose install, so finding an instance scans every
12
+ * candidate driver, and acting on it uses the single driver its manifest names.
19
13
  */
20
14
  import type { DiscoveredInstance, ServiceManager, ServicePlatform } from '../types.js';
21
15
  import type { Component, ResolveOptions, ResolvedInstance } from './types.js';
@@ -25,13 +19,10 @@ export interface ListedInstance extends DiscoveredInstance {
25
19
  source: 'index' | 'scan' | 'index+scan';
26
20
  }
27
21
  /**
28
- * The drivers that can plausibly hold an install on this host.
29
- *
30
- * `--platform` forces one driver, so an operator keeps an escape hatch to
31
- * today's exact single-driver behaviour on every path. Otherwise the host's own
32
- * init system is joined by compose, which runs on any host with a container
33
- * runtime — a compose install on a systemd box is the case the single-driver
34
- * scan could not see.
22
+ * The drivers that can plausibly hold an install on this host. `--platform`
23
+ * forces one driver, the operator's single-driver escape hatch. Otherwise the
24
+ * host's init system is joined by compose, which runs on any host with a
25
+ * container runtime, so a compose install on a systemd box is found.
35
26
  */
36
27
  export declare function candidatePlatforms(override?: ServicePlatform): ServicePlatform[];
37
28
  export interface ListInstancesArgs {
@@ -39,37 +30,34 @@ export interface ListInstancesArgs {
39
30
  isUserLevel: boolean;
40
31
  kiciRoot: string;
41
32
  /**
42
- * The drivers to scan. Omit to scan every candidate driver for this host.
43
- * Each driver is authoritative only over its own platform's index rows.
33
+ * Omit to scan every candidate driver for this host. Each driver is
34
+ * authoritative only over its own platform's index rows.
44
35
  */
45
36
  managers?: ServiceManager[];
46
37
  }
47
38
  /**
48
39
  * Reconcile <kiciRoot>/instances.json with the drivers' native scans, then
49
- * rewrite the index so it mirrors the scanned instances that have a known
50
- * instanceDir. Two self-heal directions happen here:
40
+ * rewrite the index to mirror the scanned instances with a known instanceDir:
51
41
  *
52
42
  * - backward: drop index entries whose unit no longer exists.
53
43
  * - forward: adopt an instanceDir a driver recovered from the unit marker
54
- * when the index entry is missing or carries no dir — so a lost or emptied
55
- * index rebuilds itself from the init system on the next read.
44
+ * when the index entry is missing or has no dir, so a lost or emptied
45
+ * index rebuilds itself on the next read.
56
46
  *
57
- * The init system is therefore the source of truth for the name→folder mapping
58
- * (via the X-KiCI-InstanceDir / KiCIInstanceDir / dev.kici.instance-dir / [KiCI-DIR]
59
- * markers), and the index is a pure cache. Returns the merged list filtered to
60
- * the requested component + isUserLevel.
47
+ * The init system is the source of truth for the name→folder mapping (via the
48
+ * X-KiCI-InstanceDir / KiCIInstanceDir / dev.kici.instance-dir / [KiCI-DIR]
49
+ * markers); the index is a pure cache. Returns the list filtered to the
50
+ * requested component + isUserLevel.
61
51
  *
62
- * The rewrite is scoped to the platforms that were actually scanned. A driver
63
- * speaks for its own platform's rows and for no others, so a systemd scan
64
- * cannot delete a compose install's row, and a driver that could not reach its
65
- * registry deletes nothing at all.
52
+ * The rewrite is scoped to the scanned platforms: a systemd scan cannot delete
53
+ * a compose install's row, and a driver that could not reach its registry
54
+ * deletes nothing.
66
55
  */
67
56
  export declare function listInstances(args: ListInstancesArgs): Promise<ListedInstance[]>;
68
57
  /**
69
- * Thrown by resolveInstance when `--name <n>` is given but no installed
70
- * instance matches. Lifecycle commands catch this to treat stop/uninstall of
71
- * a never-installed instance as an idempotent no-op. Distinct from the
72
- * ambiguous-refusal and missing-manifest errors, which stay hard failures.
58
+ * Thrown when `--name <n>` matches no installed instance. Lifecycle commands
59
+ * catch it so stop/uninstall of a never-installed instance is an idempotent
60
+ * no-op; the ambiguous-refusal and missing-manifest errors stay hard failures.
73
61
  */
74
62
  export declare class InstanceNotFoundError extends Error {
75
63
  readonly component: Component;
@@ -81,45 +69,25 @@ export interface ResolveArgs {
81
69
  opts: ResolveOptions;
82
70
  cwd: string;
83
71
  kiciRoot: string;
84
- /**
85
- * Every driver discovery should scan. Omit to scan every candidate driver
86
- * for this host.
87
- */
72
+ /** Omit to scan every candidate driver for this host. */
88
73
  managers?: ServiceManager[];
89
74
  /**
90
- * Privilege scope to resolve against. Must match the caller's resolved
91
- * --system / --user-level decision so candidate lists and name lookups see
92
- * the correct set of installed instances.
75
+ * Must match the caller's resolved --system / --user-level decision so
76
+ * candidate lists and name lookups see the right installed instances.
93
77
  */
94
78
  isUserLevel: boolean;
95
79
  }
96
- /**
97
- * Resolve the target instance for the current lifecycle invocation.
98
- * Throws with a refusal/candidate-listing error when ambiguous.
99
- */
80
+ /** Throws a refusal listing the candidates when ambiguous. */
100
81
  export declare function resolveInstance(args: ResolveArgs): Promise<ResolvedInstance>;
101
- /**
102
- * Format the refusal message and candidate table.
103
- *
104
- * When candidates is empty, returns the "no instances installed" guidance.
105
- * When candidates exist, lists them with their instanceDir (or "(no manifest)").
106
- */
107
82
  export declare function formatRefusal(component: Component, candidates: ListedInstance[]): string;
108
- /** What {@link resolveInstanceTarget} is asked. */
109
83
  export interface ResolveTargetArgs {
110
84
  component: Component;
111
85
  opts: ResolveOptions;
112
86
  cwd: string;
113
87
  kiciRoot: string;
114
- /**
115
- * Privilege scope to resolve against. Must match the caller's resolved
116
- * --system / --user-level decision.
117
- */
88
+ /** Must match the caller's resolved --system / --user-level decision. */
118
89
  isUserLevel: boolean;
119
- /**
120
- * The `--platform` flag. When set it forces the driver for both discovery and
121
- * operation, which is the operator's escape hatch to a single-driver run.
122
- */
90
+ /** `--platform`: forces the driver for both discovery and operation. */
123
91
  platformOverride?: ServicePlatform;
124
92
  /** Driver factory. Defaults to the service barrel's createServiceManager. */
125
93
  createManager?: (platform: ServicePlatform) => Promise<ServiceManager>;
@@ -132,13 +100,9 @@ export interface ResolvedTarget {
132
100
  platform: ServicePlatform;
133
101
  }
134
102
  /**
135
- * Resolve the target instance and the driver that manages it.
136
- *
137
- * The question a lifecycle command asks is about the install, not the host: a
138
- * compose install stays a compose install on a systemd box. So discovery scans
139
- * every candidate driver, and the manifest that discovery produced then names
140
- * the single driver the command operates through. The two need not be the same
141
- * object, and only the second has to be right.
103
+ * Resolve the target instance and its driver. A compose install stays a compose
104
+ * install on a systemd box, so discovery scans every candidate driver and the
105
+ * found manifest names the single driver the command operates through.
142
106
  */
143
107
  export declare function resolveInstanceTarget(args: ResolveTargetArgs): Promise<ResolvedTarget>;
144
108
  //# sourceMappingURL=resolve.d.ts.map
@@ -1,25 +1,16 @@
1
1
  /**
2
- * Instance types — the shared shape of a folder-anchored service instance,
3
- * its on-disk manifest, the reconciled cache index, and the per-driver
4
- * discovery result.
5
- *
6
- * A KiCI service instance is identified by (component, name, instanceDir).
7
- * The deploy folder holds the manifest; the index at <kiciRoot>/instances.json
8
- * is a reconciled cache of all installed instances on the host.
2
+ * A service instance is identified by (component, name, instanceDir). The
3
+ * deploy folder holds the manifest; `<kiciRoot>/instances.json` is a
4
+ * reconciled cache of the host's installed instances.
9
5
  */
10
6
  import type { ServicePlatform } from '../types.js';
11
- /** The two KiCI components managed by `kici-admin` service commands. */
12
7
  export type Component = 'orchestrator' | 'agent';
13
- /** Enumerable list — used for iteration and discovery. */
14
8
  export declare const COMPONENTS: readonly Component[];
15
- /** Narrow an arbitrary string to a Component. */
16
9
  export declare function isComponent(value: string): value is Component;
17
10
  /**
18
- * The manifest written by `install` into the deploy folder
19
- * (`./.kici-orchestrator.json` or `./.kici-agent.json`).
20
- *
21
- * Holds everything `resolveInstance` needs to reconstruct a ServiceConfig
22
- * without re-deriving paths.
11
+ * The `./.kici-<component>.json` that `install` writes into the deploy folder:
12
+ * everything `resolveInstance` needs to rebuild a ServiceConfig without
13
+ * re-deriving paths.
23
14
  */
24
15
  export interface InstanceManifest {
25
16
  component: Component;
@@ -33,18 +24,11 @@ export interface InstanceManifest {
33
24
  createdAt: string;
34
25
  kiciVersion: string;
35
26
  /**
36
- * Installed version → the last applied migration at the moment that version
37
- * was running.
38
- *
39
- * A rollback flips a symlink, and the previous release's static migration
40
- * provider does not carry the newer migrations' names — so Kysely refuses to
41
- * start against a ledger that records them, and the documented recovery
42
- * produces a second outage. This map is what lets the switch check whether
43
- * the database is ahead of the version it is about to activate.
44
- *
45
- * Merged, never replaced, at every version change. Absent on every instance
46
- * installed before this field existed, which the guard treats as "unknown"
47
- * and warns about rather than refusing.
27
+ * Installed version → the last migration applied while it ran. A version
28
+ * switch checks it to refuse activating a version the database is ahead of
29
+ * (see `schemaGuardVerdict`). Merged, never replaced, at every version
30
+ * change; absent on older installs, which the guard warns about rather than
31
+ * refuses.
48
32
  */
49
33
  migrationHeads?: Record<string, string>;
50
34
  }
@@ -56,12 +40,11 @@ export interface IndexEntry {
56
40
  isUserLevel: boolean;
57
41
  instanceDir: string;
58
42
  }
59
- /** CLI options that influence target resolution. */
60
43
  export interface ResolveOptions {
61
44
  instanceDir?: string;
62
45
  name?: string;
63
46
  }
64
- /** Fully-resolved target — what `resolveInstance` returns. */
47
+ /** What `resolveInstance` returns. */
65
48
  export interface ResolvedInstance {
66
49
  manifest: InstanceManifest;
67
50
  manifestPath: string;
@@ -1,101 +1,70 @@
1
1
  /**
2
- * launchd service manager implementation.
3
- *
4
- * Generates plist files and manages service lifecycle via launchctl.
5
- * Supports both system-level (/Library/LaunchDaemons/) and
6
- * user-level (~/Library/LaunchAgents/) agents.
2
+ * launchd service manager: writes plists and drives launchctl, for system-level
3
+ * (/Library/LaunchDaemons/) and user-level (~/Library/LaunchAgents/) jobs.
7
4
  */
8
5
  import type { ServiceConfig, ServiceManager, ServiceStatus, LogOptions, DiscoveredInstance, LaunchSpec } from './types.js';
9
6
  /**
10
- * `dev.kici.my-orch` -> `my-orch`. Returns the input unchanged when it carries
11
- * no known prefix, so a hand-written plist is still discoverable under
12
- * whatever label it uses.
7
+ * `dev.kici.my-orch` -> `my-orch`. A label with no known prefix returns
8
+ * unchanged, so a hand-written plist stays discoverable.
13
9
  */
14
10
  export declare function stripLabelPrefix(label: string): string;
15
11
  export declare class LaunchdServiceManager implements ServiceManager {
16
12
  readonly platform: 'launchd';
17
- /** Build the launchd label for a service. */
18
13
  private label;
19
- /** Resolve the log directory based on service level. */
20
14
  private logDir;
21
15
  /** The directory launchd loads this service level's plists from. */
22
16
  private plistDir;
23
17
  /** The job `install` writes: `dev.kici.<name>`. */
24
18
  private installJob;
25
19
  /**
26
- * An installed job for this name under another label: a `com.kici.<name>`
27
- * plist, or a plist named after the service itself — each one `list()`
28
- * reports as this instance. Only a plist that carries the KiCI component
29
- * marker counts, and the job is addressed by the Label the plist declares.
20
+ * A job for this name under another label (`com.kici.<name>`, or a plist named
21
+ * after the service), which `list()` reports as this instance. Only a plist
22
+ * with the KiCI component marker counts; the job is addressed by its declared Label.
30
23
  */
31
24
  private otherLabelJob;
32
25
  /**
33
- * The job a lifecycle command acts on: the `dev.kici.<name>` plist when it
34
- * is installed, otherwise a job this name was installed under with another
35
- * label, so every instance `list()` reports can be stopped, started and
36
- * removed. With neither installed, the `dev.kici.<name>` job.
26
+ * The job a lifecycle command acts on: the installed `dev.kici.<name>` plist,
27
+ * else an other-label job, so every instance `list()` reports stays
28
+ * manageable. With neither installed, the `dev.kici.<name>` job.
37
29
  */
38
30
  private resolveJob;
39
- /** Parse a .env file into key-value pairs. */
40
31
  private parseEnvFile;
41
- /** Escape XML special characters. */
42
32
  private escapeXml;
43
- /** Inverse of {@link escapeXml} — decode the entities back to literals. */
33
+ /** Inverse of {@link escapeXml}. */
44
34
  private unescapeXml;
45
- /**
46
- * Generate a launchd plist XML string from a service config.
47
- * Visible for testing.
48
- */
35
+ /** Visible for testing. */
49
36
  generatePlist(config: ServiceConfig): string;
50
37
  /**
51
- * Resolve the launchctl domain string for a service config.
52
- *
53
- * - User-level (LaunchAgent at `~/Library/LaunchAgents/…`) → `gui/<uid>`
54
- * - System-level (LaunchDaemon at `/Library/LaunchDaemons/…`) → `system`
55
- *
56
- * The legacy `launchctl load` / `unload` verbs implicitly inferred the
57
- * domain from the plist's filesystem location, but they fail silently on
58
- * headless macOS hosts where no GUI session exists (the `gui/<uid>` domain
59
- * is not available without a console login). The modern `bootstrap` /
60
- * `bootout` / `kickstart` / `print` verbs take the domain explicitly, so a
61
- * system-level LaunchDaemon loads regardless of whether anyone is logged
62
- * in at the console — exactly what we need for headless deploy targets.
38
+ * `gui/<uid>` for a user-level LaunchAgent, `system` for a LaunchDaemon. The
39
+ * legacy `load`/`unload` verbs infer the domain from the plist location and
40
+ * fail silently on a headless host (no `gui/<uid>` domain without a console
41
+ * login); the `bootstrap`/`bootout`/`kickstart`/`print` verbs take it
42
+ * explicitly, so a system daemon loads with nobody logged in.
63
43
  */
64
44
  private domain;
65
45
  /** `<domain>/<label>` — the target string for bootout/kickstart/print. */
66
46
  private domainTarget;
67
47
  /**
68
- * `launchctl print <domain>/<label>`: the job's description while it is
69
- * loaded, or null when launchd reports it not loaded. Unlike `launchctl
70
- * list`, which lists only the caller's own domain, this reads a system
71
- * daemon without root. Any other failure throws, so a job that could not be
72
- * inspected is never mistaken for a stopped one.
48
+ * `launchctl print`: the job description, or null when not loaded. Unlike
49
+ * `launchctl list` (own domain only), it reads a system daemon without root.
50
+ * Any other failure throws, so an uninspectable job never reads as stopped.
73
51
  */
74
52
  private printJob;
75
- /** Is the job currently loaded in its target domain? */
76
53
  private isLoaded;
77
54
  install(config: ServiceConfig): Promise<void>;
78
55
  /**
79
- * Poll until the job is no longer loaded in its target domain, or the
80
- * deadline elapses. Resolves true once the job has left the domain,
81
- * false on timeout. `launchctl bootout` is asynchronous — it returns before
82
- * launchd has finished releasing the job — so a bootstrap issued
83
- * immediately afterward races the teardown and fails with EIO. Waiting for
84
- * the unload to complete closes that race for the common case; the residual
85
- * window is covered by bootstrapWithRetry.
56
+ * True once the job has left its domain, false on timeout. `bootout` returns
57
+ * before launchd releases the job, so an immediate bootstrap fails with EIO;
58
+ * this closes the common case and bootstrapWithRetry the residual window.
86
59
  */
87
60
  private waitUntilUnloaded;
88
61
  /**
89
- * Bootstrap into the target domain, retrying on the transient EIO
90
- * ("5: Input/output error") launchd returns when a just-removed service has
91
- * not finished tearing down. A genuine, non-transient failure (bad plist,
92
- * permission denied) is re-thrown on the first attempt.
93
- *
94
- * launchd answers a bootstrap of a job that is already loaded with the same
95
- * EIO. With `replaceLoaded` (install, which just wrote a new plist) such a
96
- * job is booted out before the next try. Without it (start), a job that
97
- * another caller loaded meanwhile is the outcome start wanted: RunAtLoad has
98
- * started it, so the call succeeds and leaves it running.
62
+ * Bootstrap, retrying on the transient EIO launchd returns while a
63
+ * just-removed service tears down; a non-transient failure (bad plist,
64
+ * permission denied) throws at once. An already-loaded job gets the same
65
+ * EIO: with `replaceLoaded` (install) it is booted out before the next try;
66
+ * without it (start), a job another caller loaded meanwhile is the wanted
67
+ * outcome (RunAtLoad started it), so the call succeeds.
99
68
  */
100
69
  private bootstrapWithRetry;
101
70
  uninstall(config: ServiceConfig): Promise<void>;
@@ -1,84 +1,29 @@
1
- /**
2
- * Platform detection and directory resolution for KiCI service management.
3
- *
4
- * Detects the init system (systemd, launchd, Windows Services, or Compose fallback)
5
- * and resolves platform-appropriate directories for config, logs, and cache.
6
- */
1
+ /** Init-system detection and the per-platform config, log and cache directories. */
7
2
  import type { ServicePlatform } from './types.js';
8
3
  /**
9
- * Detect the service management platform.
4
+ * Linux without systemd falls back to Docker/Podman Compose.
10
5
  *
11
- * Auto-detection order:
12
- * - win32 -> 'windows'
13
- * - darwin -> 'launchd'
14
- * - linux with /run/systemd/system or /sys/fs/cgroup/systemd -> 'systemd'
15
- * - linux without systemd -> 'compose' (Docker/Podman Compose fallback)
16
- *
17
- * @param override - Force a specific platform (e.g., from --platform flag)
6
+ * @param override - Forces a platform (the --platform flag).
18
7
  */
19
8
  export declare function detectPlatform(override?: ServicePlatform): ServicePlatform;
20
- /**
21
- * Check if the current process has root/admin privileges.
22
- *
23
- * - Unix: UID === 0
24
- * - Windows: attempts `net session` (succeeds only as admin)
25
- */
9
+ /** Root on Unix (UID 0) or admin on Windows. */
26
10
  export declare function isRoot(): boolean;
27
11
  /**
28
- * Name-agnostic KiCI config root — the directory that contains every
29
- * per-instance config subdir for this privilege level.
30
- *
31
- * Paths follow platform conventions:
32
- * - System Linux/macOS: /etc/kici/
33
- * - User Linux: ~/.config/kici/
34
- * - User macOS: ~/Library/Application Support/kici/
35
- * - System Windows: C:\ProgramData\kici\
36
- * - User Windows: %LOCALAPPDATA%\kici\
37
- *
38
- * Used by the instance index (`<kiciRoot>/instances.json`) which lives
39
- * outside any per-instance subdir, and as the base for {@link getConfigDir}.
12
+ * The config root holding every per-instance subdir for this privilege level,
13
+ * plus the instance index (`<kiciRoot>/instances.json`).
40
14
  *
41
- * `KICI_CONFIG_ROOT` overrides the platform default for both privilege scopes.
42
- * It exists so a test harness (or a sandboxed run) can point the instance index
43
- * at an isolated directory instead of sharing the host's `~/.config/kici/` —
44
- * which otherwise lets concurrent installs clobber each other's index.
15
+ * `KICI_CONFIG_ROOT` overrides it for both scopes, so a test harness or
16
+ * sandboxed run gets an isolated index; a shared `~/.config/kici/` lets
17
+ * concurrent installs clobber each other's index.
45
18
  */
46
19
  export declare function kiciConfigRoot(isUserLevel: boolean): string;
47
20
  /**
48
- * Get the configuration directory for a specific KiCI service instance.
49
- *
50
- * Returns `<kiciConfigRoot>/<serviceName>/`. The name-scoped subdir is the
51
- * folder-anchored home for everything belonging to one installed instance
52
- * (env file, generated unit references, future per-instance state).
53
- *
54
- * Examples:
55
- * - System Linux: /etc/kici/<name>/
56
- * - User Linux: ~/.config/kici/<name>/
57
- * - User macOS: ~/Library/Application Support/kici/<name>/
58
- * - System Windows: C:\ProgramData\kici\<name>\
59
- * - User Windows: %LOCALAPPDATA%\kici\<name>\
21
+ * `<kiciConfigRoot>/<serviceName>/`: the home of everything one instance owns
22
+ * (env file, unit references).
60
23
  */
61
24
  export declare function getConfigDir(serviceName: string, isUserLevel: boolean): string;
62
- /**
63
- * Get the log directory for a specific KiCI service instance.
64
- *
65
- * The per-platform layout matches the existing matrix; the service name is
66
- * injected as the per-instance segment so each instance has its own log dir:
67
- * - System Linux/macOS: /var/log/kici/<name>/
68
- * - User Linux: ~/.local/share/kici/<name>/logs/
69
- * - User macOS: ~/Library/Logs/kici/<name>/
70
- * - Windows: C:\ProgramData\kici\<name>\logs\
71
- */
25
+ /** One log directory per instance, named by `serviceName`. */
72
26
  export declare function getLogDir(serviceName: string, isUserLevel: boolean): string;
73
- /**
74
- * Get the cache directory for lazy dependency downloads.
75
- *
76
- * Resolution order:
77
- * 1. $XDG_CACHE_HOME/kici/deps/ (if set)
78
- * 2. Platform default:
79
- * - Linux: ~/.cache/kici/deps/
80
- * - macOS: ~/Library/Caches/kici/deps/
81
- * - Windows: %LOCALAPPDATA%\kici\deps\
82
- */
27
+ /** The lazy-dependency download cache; `$XDG_CACHE_HOME` wins on every platform. */
83
28
  export declare function getCacheDir(): string;
84
29
  //# sourceMappingURL=platform-detect.d.ts.map
@@ -1,41 +1,28 @@
1
1
  /**
2
- * Resolve the system-vs-user privilege level for a service lifecycle command.
2
+ * Resolve system- vs user-level for the service lifecycle verbs and `db`, so
3
+ * they agree on the target (`systemctl --user` / LaunchAgents vs `systemctl` /
4
+ * LaunchDaemons). No flag auto-detects by UID: non-root is user-level.
3
5
  *
4
- * The service lifecycle verbs (install, start, stop, restart, uninstall,
5
- * status, logs) and `db` need to agree on whether they're operating against
6
- * the user-level service (~/Library/LaunchAgents, `systemctl --user`) or the
7
- * system-level one (/Library/LaunchDaemons, `systemctl`). Default behavior
8
- * (no flag) is to auto-detect based on UID — non-root → user-level, root →
9
- * system-level.
10
- *
11
- * Explicit `--system` / `--user-level` flags override the auto-detect.
12
- * They're mutually exclusive: passing both throws. Passing `--system`
13
- * without root throws with a `sudo` command the operator can paste: it names
14
- * the node binary and CLI script the refused process was actually running,
15
- * because `sudo` resets PATH to its `secure_path` and cannot find a node that
16
- * a version manager (nvm, mise, fnm, volta) put on the operator's PATH.
6
+ * `--system` and `--user-level` are mutually exclusive. `--system` without
7
+ * root throws with a pasteable `sudo` command naming the running node binary
8
+ * and CLI script, because `sudo` resets PATH to `secure_path` and loses a
9
+ * version manager's node (nvm, mise, fnm, volta).
17
10
  */
18
11
  export interface PrivilegeOpts {
19
- /** Force system-level install/lifecycle. Requires root. */
12
+ /** Requires root. */
20
13
  system?: boolean;
21
- /** Force user-level install/lifecycle. */
22
14
  userLevel?: boolean;
23
15
  }
24
- /** The slice of `process` the re-run hint is built from, injectable for tests. */
16
+ /** The slice of `process` the re-run hint uses, injectable for tests. */
25
17
  export interface RerunContext {
26
- /** `process.execPath` — the node binary actually running. */
27
18
  execPath: string;
28
- /** `process.argv` — `[node, script, ...args]`. */
19
+ /** `[node, script, ...args]`. */
29
20
  argv: readonly string[];
30
- /** `process.platform`. */
31
21
  platform: NodeJS.Platform;
32
22
  }
33
23
  /**
34
- * The lines appended to the `--system` refusal: a command that re-runs the
35
- * refused invocation as root, built from the running process rather than from
36
- * a literal `kici-admin`, which `sudo` cannot find when node comes from a
37
- * version manager. On Windows there is no `sudo`; the hint names an elevated
38
- * shell instead.
24
+ * A root re-run command built from the running process, not a literal
25
+ * `kici-admin`; on Windows, an elevated shell instead.
39
26
  */
40
27
  export declare function systemRerunHint(ctx: RerunContext): string;
41
28
  export declare function resolveUserLevel(opts: PrivilegeOpts): boolean;
@@ -1,35 +1,26 @@
1
- /**
2
- * How long an init system waits for a KiCI service to shut down.
3
- */
4
1
  import type { ServiceConfig } from './types.js';
5
2
  /**
6
3
  * Seconds an init system must wait after SIGTERM before it SIGKILLs the service.
7
4
  *
8
- * The runtime defaults are shorter than either component's own graceful-shutdown
9
- * budget: Compose waits 10s, launchd's default ExitTimeOut is 5s, and shawl's
10
- * default `--stop-timeout` on Windows is 3s. A teardown that
11
- * takes longer is killed partway through: the orchestrator never broadcasts
12
- * `peer.leaving` and never closes its agent sockets, and the agent never
13
- * finishes draining. That window is reached exactly when it matters most — the
14
- * orchestrator's scaler stops each managed agent with its own grace, so an
15
- * orchestrator with agents in flight routinely needs more than 10s.
5
+ * Runtime defaults (Compose 10s, launchd ExitTimeOut 5s, shawl `--stop-timeout`
6
+ * 3s) are shorter than either component's graceful shutdown, so the orchestrator
7
+ * would never broadcast `peer.leaving` or close its agent sockets, and the agent
8
+ * would never finish draining. An orchestrator stopping its scaler's agents, each
9
+ * with its own grace, routinely needs more than 10s.
16
10
  *
17
- * Each value is its component's force-exit budget plus headroom, so the
18
- * process always reaches its own timer first and the runtime's kill stays the
19
- * last resort it is meant to be:
11
+ * Each value is the component's force-exit budget plus headroom, so its own
12
+ * timer always fires before the runtime's kill:
20
13
  * - orchestrator: 30s (`setupGracefulShutdown` default) plus up to 2s of log
21
14
  * file flush -> 45s
22
15
  * - agent: 10s plus a ~1s abort delay in its `onForceExit` -> 20s
23
16
  *
24
- * An unrecognised component gets the larger value: over-waiting costs a few
25
- * seconds on shutdown, under-waiting corrupts it.
17
+ * An unrecognised component gets the larger value: over-waiting costs seconds,
18
+ * under-waiting corrupts the shutdown.
26
19
  */
27
20
  export declare function shutdownGraceSeconds(config: ServiceConfig): number;
28
21
  /**
29
- * Seconds a `stop` waits for the init system to report the service stopped.
30
- *
31
- * The init system kills the process once its grace elapses, so a service still
32
- * running after the grace plus this margin is hung, not slow.
22
+ * Seconds a `stop` waits for the service to report stopped. The init system
23
+ * kills it once its grace elapses, so one still running after this is hung.
33
24
  */
34
25
  export declare function stopWaitSeconds(config: ServiceConfig): number;
35
26
  //# sourceMappingURL=shutdown-grace.d.ts.map
@@ -1,34 +1,21 @@
1
1
  /**
2
- * systemd service manager implementation.
3
- *
4
- * Generates unit files and manages service lifecycle via systemctl,
5
- * journalctl, and loginctl commands. Supports both system-level
6
- * (/etc/systemd/system/) and user-level (~/.config/systemd/user/) services.
2
+ * systemd service manager: system-level (/etc/systemd/system/) and user-level
3
+ * (~/.config/systemd/user/) units, driven through systemctl, journalctl and
4
+ * loginctl.
7
5
  */
8
6
  import type { DiscoveredInstance, ServiceConfig, ServiceManager, ServiceStatus, LogOptions, LaunchSpec } from './types.js';
9
7
  /**
10
- * Check whether linger is already enabled for a user.
11
- *
12
- * Uses `loginctl show-user <user>` which is readable by any user. Returns
13
- * true if the user's `Linger` property reads `yes`. Returns false on any
14
- * parse failure, missing binary, or unknown user — the caller is expected
15
- * to attempt `enable-linger` in that case.
16
- *
17
- * Exported (package-private) for testing.
8
+ * Whether linger is enabled, via `loginctl show-user` (readable by any user).
9
+ * False on any failure (parse, missing binary, unknown user), in which case
10
+ * the caller attempts `enable-linger`. Exported for testing.
18
11
  */
19
12
  export declare function isLingerEnabled(user: string): boolean;
20
13
  export declare class SystemdServiceManager implements ServiceManager {
21
14
  readonly platform: 'systemd';
22
- /**
23
- * Generate a systemd unit file from a service config.
24
- * Visible for testing.
25
- */
15
+ /** Visible for testing. */
26
16
  generateUnitFile(config: ServiceConfig): string;
27
- /** Resolve the unit file path based on service level. */
28
17
  private unitFilePath;
29
- /** Build systemctl command args, inserting --user for user-level services. */
30
18
  private systemctlArgs;
31
- /** Run a systemctl command. */
32
19
  private systemctl;
33
20
  install(config: ServiceConfig): Promise<void>;
34
21
  uninstall(config: ServiceConfig): Promise<void>;