@kici-dev/orchestrator 0.1.26 → 0.2.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 (310) hide show
  1. package/dist/__test-helpers__/mock-db.d.ts +2 -0
  2. package/dist/agent/dispatcher.d.ts +52 -2
  3. package/dist/agent/host-roster-reaper.d.ts +1 -2
  4. package/dist/agent/host-roster.d.ts +34 -0
  5. package/dist/agent/ownership-refusal.d.ts +12 -0
  6. package/dist/agent/ownership-tracker.d.ts +64 -16
  7. package/dist/agent/token-store.d.ts +13 -0
  8. package/dist/agent-packaging/availability.d.ts +27 -0
  9. package/dist/agent-packaging/build-package.d.ts +16 -0
  10. package/dist/agent-packaging/download.d.ts +30 -0
  11. package/dist/agent-packaging/index.d.ts +9 -0
  12. package/dist/agent-packaging/install-closure.d.ts +30 -0
  13. package/dist/agent-packaging/node-binary.d.ts +26 -0
  14. package/dist/agent-packaging/refresh.d.ts +50 -0
  15. package/dist/agent-packaging/store.d.ts +15 -0
  16. package/dist/agent-packaging/upload.d.ts +24 -0
  17. package/dist/app-on-error.d.ts +29 -0
  18. package/dist/app.d.ts +69 -8
  19. package/dist/approvals/apply-decision.d.ts +1 -1
  20. package/dist/approvals/step-approval-bridge.d.ts +1 -1
  21. package/dist/artifacts/artifact-store.d.ts +233 -0
  22. package/dist/artifacts/failure-messages.d.ts +46 -0
  23. package/dist/audit/access-log.d.ts +18 -1
  24. package/dist/cache/dep-cache.d.ts +15 -0
  25. package/dist/cache/pending-inits.d.ts +4 -4
  26. package/dist/cache/user-cache.d.ts +37 -0
  27. package/dist/cancel/cancel-run.d.ts +10 -3
  28. package/dist/cancel/dashboard-cancel-handler.d.ts +19 -0
  29. package/dist/cli/api-client.d.ts +51 -5
  30. package/dist/cli/commands/agent-package.d.ts +34 -0
  31. package/dist/cli/commands/check-run.d.ts +26 -0
  32. package/dist/cli/commands/cluster-settings.d.ts +55 -0
  33. package/dist/cli/commands/context.d.ts +25 -0
  34. package/dist/cli/commands/dashboard-encryption-key.d.ts +3 -0
  35. package/dist/cli/commands/db-backup.d.ts +71 -0
  36. package/dist/cli/commands/debug-bundle.d.ts +1 -1
  37. package/dist/cli/commands/orchestrator-service/drain.d.ts +31 -0
  38. package/dist/cli/commands/orchestrator-service/index.d.ts +7 -4
  39. package/dist/cli/commands/orchestrator-service/install-env.d.ts +58 -0
  40. package/dist/cli/commands/secret.d.ts +45 -1
  41. package/dist/cli/commands/shared/admin-cli-access-log.d.ts +46 -0
  42. package/dist/cli/commands/shared/versioned-upgrade.d.ts +65 -2
  43. package/dist/cli/commands/signing-key.d.ts +3 -0
  44. package/dist/cli/commands/source.d.ts +12 -0
  45. package/dist/cli/commands/token.d.ts +9 -0
  46. package/dist/cli/commands/trust-policy.d.ts +48 -0
  47. package/dist/cli/commands/variable.d.ts +6 -6
  48. package/dist/cli/join.d.ts +1 -1
  49. package/dist/cli/service/index.d.ts +2 -2
  50. package/dist/cli/service/instance/manifest.d.ts +17 -0
  51. package/dist/cli/service/instance/resolve.d.ts +11 -0
  52. package/dist/cli/service/windows.d.ts +6 -0
  53. package/dist/cli/wizard/orchestrator-wizard.d.ts +39 -11
  54. package/dist/cli.js +10263 -3667
  55. package/dist/cluster/cluster-settings-reader.d.ts +78 -0
  56. package/dist/cluster/coordinator.d.ts +81 -9
  57. package/dist/cluster/join-client.d.ts +1 -1
  58. package/dist/cluster/leader-gated-scheduler.d.ts +50 -0
  59. package/dist/cluster/orphan-recovery.d.ts +14 -0
  60. package/dist/cluster/peer-client.d.ts +12 -2
  61. package/dist/cluster/peer-handler.d.ts +15 -4
  62. package/dist/cluster/peer-registry.d.ts +12 -0
  63. package/dist/cluster/verified-issuer-poller.d.ts +11 -0
  64. package/dist/cluster/verified-issuer.d.ts +63 -0
  65. package/dist/cold-store/tables/access-log.d.ts +1 -1
  66. package/dist/cold-store/tables/event-log.d.ts +1 -1
  67. package/dist/cold-store/tables/execution-jobs.d.ts +1 -1
  68. package/dist/cold-store/tables/execution-runs.d.ts +1 -1
  69. package/dist/cold-store/tables/execution-steps.d.ts +1 -1
  70. package/dist/cold-store/tables/secret-audit-log.d.ts +1 -1
  71. package/dist/config/loader.d.ts +1 -1
  72. package/dist/config/resolver.d.ts +2 -1
  73. package/dist/config/schema.d.ts +8 -6
  74. package/dist/config/types.d.ts +3 -2
  75. package/dist/config.d.ts +372 -46
  76. package/dist/contexts/binding-store.d.ts +36 -0
  77. package/dist/contexts/context-store.d.ts +100 -0
  78. package/dist/contexts/glob-specificity.d.ts +30 -0
  79. package/dist/{environments → contexts}/held-runs.d.ts +64 -32
  80. package/dist/{environments → contexts}/index.d.ts +1 -1
  81. package/dist/contexts/protection/aggregate.d.ts +43 -0
  82. package/dist/contexts/protection/branch-gate.d.ts +5 -0
  83. package/dist/contexts/protection/concurrency-gate.d.ts +4 -0
  84. package/dist/{environments → contexts}/protection/pipeline.d.ts +3 -3
  85. package/dist/contexts/protection/reviewer-gate.d.ts +4 -0
  86. package/dist/{environments → contexts}/protection/satisfiability.d.ts +22 -22
  87. package/dist/contexts/protection/trust-gate.d.ts +4 -0
  88. package/dist/contexts/protection/wait-timer-gate.d.ts +4 -0
  89. package/dist/contexts/variable-store.d.ts +39 -0
  90. package/dist/cron/cron-scheduler.d.ts +24 -4
  91. package/dist/cron/cron-store.d.ts +21 -7
  92. package/dist/dashboard/attestation-filters.d.ts +94 -74
  93. package/dist/dashboard/handler.d.ts +63 -3
  94. package/dist/db/migration-test-harness.d.ts +41 -0
  95. package/dist/db/migrations/067_environments_to_contexts.d.ts +36 -0
  96. package/dist/db/migrations/068_request_idempotency.d.ts +17 -0
  97. package/dist/db/migrations/069_reroute_tunables.d.ts +21 -0
  98. package/dist/db/migrations/070_execution_runs_failure_class.d.ts +4 -0
  99. package/dist/db/migrations/071_batch_accumulation.d.ts +26 -0
  100. package/dist/db/migrations/072_dispatch_queue_run_id_index.d.ts +15 -0
  101. package/dist/db/migrations/073_org_settings_ingest_concurrency.d.ts +13 -0
  102. package/dist/db/migrations/074_normalize_zero_concurrency_limit.d.ts +13 -0
  103. package/dist/db/migrations/075_ingest_overflow_buffer.d.ts +16 -0
  104. package/dist/db/migrations/076_artifacts.d.ts +19 -0
  105. package/dist/db/migrations/077_backup_runs.d.ts +13 -0
  106. package/dist/db/migrations/078_org_settings_backup_staleness.d.ts +12 -0
  107. package/dist/db/migrations/079_org_settings_scaler_spawn_timeout.d.ts +14 -0
  108. package/dist/db/migrations/080_cluster_settings.d.ts +17 -0
  109. package/dist/db/migrations/081_org_settings_queue_timeout.d.ts +19 -0
  110. package/dist/db/migrations/082_host_s3_reachable.d.ts +16 -0
  111. package/dist/db/migrations/083_org_settings_artifact_caps.d.ts +18 -0
  112. package/dist/db/migrations/084_orchestrator_signing_keys.d.ts +20 -0
  113. package/dist/db/migrations/085_cluster_settings_reroute_flap_grace_ms.d.ts +12 -0
  114. package/dist/db/migrations/086_cluster_settings_max_fanout_hosts.d.ts +12 -0
  115. package/dist/db/migrations/087_cluster_settings_event_router_rate_limit.d.ts +12 -0
  116. package/dist/db/migrations/088_cluster_settings_cache_max_tarball_bytes.d.ts +12 -0
  117. package/dist/db/migrations/089_cluster_settings_cache_ttl_days.d.ts +12 -0
  118. package/dist/db/migrations/090_cluster_settings_concurrency_wait_timeout_ms.d.ts +12 -0
  119. package/dist/db/migrations/091_cluster_settings_agent_token_ttl_ms.d.ts +12 -0
  120. package/dist/db/migrations/092_cluster_settings_version.d.ts +16 -0
  121. package/dist/db/migrations/093_org_settings_sandbox_allowlist.d.ts +4 -0
  122. package/dist/db/migrations/094_dashboard_encryption_keys.d.ts +21 -0
  123. package/dist/db/migrations/095_dashboard_write_policy_tristate.d.ts +20 -0
  124. package/dist/db/migrations/096_multi_schedule_cron_last_fired.d.ts +4 -0
  125. package/dist/db/migrations/097_execution_runs_pr_number.d.ts +4 -0
  126. package/dist/db/migrations/098_execution_runs_customer_id.d.ts +4 -0
  127. package/dist/db/migrations/099_cluster_settings_dashboard_verified_issuer.d.ts +21 -0
  128. package/dist/db/migrations/100_held_runs_hold_type_vocabulary.d.ts +31 -0
  129. package/dist/db/migrations/101_contexts_hold_expiry_drop_default.d.ts +31 -0
  130. package/dist/db/migrations/102_dispatch_queue_agent_id.d.ts +20 -0
  131. package/dist/db/migrations/103_cluster_settings_ownership_db_check_timeout_ms.d.ts +20 -0
  132. package/dist/db/migrations/104_check_run_terminal_sent.d.ts +22 -0
  133. package/dist/db/migrations/105_org_trust_policy.d.ts +19 -0
  134. package/dist/db/migrations/106_cluster_settings_check_run_tracking_ttl_days.d.ts +18 -0
  135. package/dist/db/migrations/107_check_run_tracking_updated_at_index.d.ts +23 -0
  136. package/dist/db/repos/dashboard-encryption-keys-repo.d.ts +48 -0
  137. package/dist/db/repos/signing-keys-repo.d.ts +34 -0
  138. package/dist/db/types.d.ts +499 -66
  139. package/dist/deployment/deployment-identity.d.ts +87 -2
  140. package/dist/diagnostics/checks/backup.d.ts +18 -0
  141. package/dist/diagnostics/checks/index.d.ts +2 -1
  142. package/dist/diagnostics/fleet-collector.d.ts +1 -1
  143. package/dist/drain/drain-controller.d.ts +52 -0
  144. package/dist/events/batch-accumulator.d.ts +63 -0
  145. package/dist/events/circuit-breaker.d.ts +9 -3
  146. package/dist/events/event-emitter.d.ts +31 -0
  147. package/dist/events/event-retry-scanner.d.ts +12 -2
  148. package/dist/events/event-router.d.ts +29 -0
  149. package/dist/firecracker/host-network.d.ts +2 -0
  150. package/dist/firecracker/net-interfaces.d.ts +14 -0
  151. package/dist/github-app-name-refresher/github-app-name-refresher.d.ts +19 -9
  152. package/dist/index.d.ts +2 -0
  153. package/dist/index.js +625 -22
  154. package/dist/lockfile-cache.d.ts +4 -0
  155. package/dist/lockfile-validate.d.ts +16 -9
  156. package/dist/metrics/prometheus.d.ts +114 -15
  157. package/dist/oidc/aws-kms-signer.d.ts +37 -0
  158. package/dist/oidc/command-signer.d.ts +23 -0
  159. package/dist/oidc/db-signer.d.ts +48 -0
  160. package/dist/oidc/id-token-claims.d.ts +76 -0
  161. package/dist/oidc/jwt.d.ts +18 -0
  162. package/dist/oidc/local-dev-signer.d.ts +31 -0
  163. package/dist/oidc/local-mint.d.ts +77 -0
  164. package/dist/oidc/oidc-mint-registration.d.ts +65 -0
  165. package/dist/oidc/orchestrator-mint.d.ts +97 -0
  166. package/dist/oidc/orchestrator-signer-factory.d.ts +33 -0
  167. package/dist/oidc/reconcile-signing-key.d.ts +21 -0
  168. package/dist/oidc/signer.d.ts +25 -0
  169. package/dist/oidc/signing-key-status.d.ts +23 -0
  170. package/dist/orchestrator-core.d.ts +42 -2
  171. package/dist/pipeline/decorating-secret-resolver.d.ts +5 -4
  172. package/dist/pipeline/dispatch-matched-workflow.d.ts +44 -3
  173. package/dist/pipeline/inline-eval.d.ts +2 -2
  174. package/dist/pipeline/install-secrets-resolver.d.ts +25 -14
  175. package/dist/pipeline/{job-environments.d.ts → job-contexts.d.ts} +23 -23
  176. package/dist/pipeline/manual-schedule.d.ts +28 -14
  177. package/dist/pipeline/pending-workflow-context.d.ts +1 -1
  178. package/dist/pipeline/process-webhook.d.ts +57 -2
  179. package/dist/pipeline/processor.d.ts +49 -13
  180. package/dist/pipeline/request-idempotency.d.ts +28 -0
  181. package/dist/pipeline/rerun.d.ts +20 -13
  182. package/dist/pipeline/resolve-sandbox-grant.d.ts +28 -0
  183. package/dist/pipeline/resume-workflow.d.ts +1 -1
  184. package/dist/pipeline/route-or-dispatch-jobs.d.ts +71 -0
  185. package/dist/pipeline/sandbox-allowlist-reader.d.ts +33 -0
  186. package/dist/pipeline/test-pipeline.d.ts +2 -2
  187. package/dist/policy/dashboard-write-policy.d.ts +9 -4
  188. package/dist/provenance/backfill-run.d.ts +1 -0
  189. package/dist/provenance/trust-root.d.ts +20 -0
  190. package/dist/provider-registry.d.ts +8 -0
  191. package/dist/providers/generic/normalizer.d.ts +1 -1
  192. package/dist/providers/github/auth.d.ts +1 -1
  193. package/dist/providers/github/changed-files.d.ts +14 -6
  194. package/dist/providers/github/check-status-poster.d.ts +19 -3
  195. package/dist/providers/github/contributor-resolver.d.ts +1 -1
  196. package/dist/providers/github/lock-file.d.ts +1 -1
  197. package/dist/providers/github/normalizer.d.ts +1 -1
  198. package/dist/providers/github/repo-url.d.ts +1 -1
  199. package/dist/providers/local/index.d.ts +1 -0
  200. package/dist/providers/local/local-source-config.d.ts +1 -0
  201. package/dist/providers/local/lock-file-fetcher.d.ts +1 -1
  202. package/dist/providers/local/normalizer.d.ts +1 -1
  203. package/dist/providers/local/repo-url-builder.d.ts +1 -1
  204. package/dist/providers/universal-git/changed-files.d.ts +8 -7
  205. package/dist/providers/universal-git/clone-token.d.ts +1 -1
  206. package/dist/providers/universal-git/config.d.ts +4 -4
  207. package/dist/providers/universal-git/index.d.ts +5 -1
  208. package/dist/providers/universal-git/lock-file.d.ts +6 -1
  209. package/dist/providers/universal-git/normalizer.d.ts +1 -1
  210. package/dist/providers/universal-git/repo-url.d.ts +1 -1
  211. package/dist/queue/cleanup.d.ts +69 -8
  212. package/dist/queue/job-queue.d.ts +94 -14
  213. package/dist/queue/scheduled-job.d.ts +2 -2
  214. package/dist/registration/registration-index.d.ts +1 -1
  215. package/dist/reporting/agent-failure-category.d.ts +4 -1
  216. package/dist/reporting/check-run-reporter.d.ts +34 -14
  217. package/dist/reporting/check-run-tracking-store.d.ts +70 -8
  218. package/dist/reporting/execution-tracker.d.ts +173 -17
  219. package/dist/reporting/fs-log-storage.d.ts +31 -2
  220. package/dist/reporting/job-check-run-completion.d.ts +50 -0
  221. package/dist/reporting/log-chunk-sink.d.ts +47 -0
  222. package/dist/reporting/log-retention.d.ts +16 -0
  223. package/dist/reporting/log-storage.d.ts +64 -4
  224. package/dist/reporting/log-writer.d.ts +22 -7
  225. package/dist/reporting/peer-log-normalize.d.ts +14 -0
  226. package/dist/reporting/run-aggregator.d.ts +36 -36
  227. package/dist/reporting/s3-log-storage.d.ts +102 -8
  228. package/dist/routes/admin-auth.d.ts +90 -0
  229. package/dist/routes/admin-cluster-settings.d.ts +31 -0
  230. package/dist/routes/admin-contexts.d.ts +47 -0
  231. package/dist/routes/admin-events.d.ts +3 -0
  232. package/dist/routes/admin-orchestrator-drain.d.ts +35 -0
  233. package/dist/routes/admin-registrations.d.ts +2 -2
  234. package/dist/routes/admin-runs.d.ts +9 -0
  235. package/dist/routes/admin-sources.d.ts +7 -0
  236. package/dist/routes/admin-trust-policy.d.ts +49 -0
  237. package/dist/routes/admin.d.ts +15 -1
  238. package/dist/routes/github-webhook.d.ts +9 -3
  239. package/dist/routes/provenance-oidc.d.ts +38 -0
  240. package/dist/routes/verify-attestation.d.ts +21 -0
  241. package/dist/scaler/bare-metal-backend.d.ts +9 -2
  242. package/dist/scaler/config.d.ts +25 -4
  243. package/dist/scaler/container-backend.d.ts +9 -1
  244. package/dist/scaler/firecracker-backend.d.ts +29 -2
  245. package/dist/scaler/index.d.ts +1 -1
  246. package/dist/scaler/manager.d.ts +166 -8
  247. package/dist/scaler/pending-scale-sweeper.d.ts +35 -0
  248. package/dist/scaler/types.d.ts +75 -6
  249. package/dist/secrets/backend-registry.d.ts +32 -1
  250. package/dist/secrets/context-secret-resolver.d.ts +30 -0
  251. package/dist/secrets/dashboard-encryption-key.d.ts +48 -0
  252. package/dist/secrets/ephemeral-keys.d.ts +16 -0
  253. package/dist/secrets/index.d.ts +1 -1
  254. package/dist/secrets/pg-secret-store.d.ts +13 -3
  255. package/dist/secrets/rbac.d.ts +5 -1
  256. package/dist/secrets/routing-key-scope.d.ts +6 -0
  257. package/dist/secrets/scope-routing.d.ts +126 -0
  258. package/dist/secrets/secret-resolver.d.ts +19 -32
  259. package/dist/secrets/token-manager.d.ts +5 -1
  260. package/dist/security/comment-handler.d.ts +1 -1
  261. package/dist/security/contributor-cache.d.ts +9 -1
  262. package/dist/security/trust-policy-gate.d.ts +117 -0
  263. package/dist/security/trust-policy-store.d.ts +78 -0
  264. package/dist/server.js +44012 -32721
  265. package/dist/sources/source-manager.d.ts +24 -0
  266. package/dist/stale-detector/stale-run-detector.d.ts +8 -1
  267. package/dist/standalone.js +44106 -33690
  268. package/dist/storage/blob-routes.d.ts +16 -0
  269. package/dist/storage/filesystem.d.ts +17 -0
  270. package/dist/storage/key-discriminator.d.ts +20 -0
  271. package/dist/storage/s3.d.ts +2 -0
  272. package/dist/storage/types.d.ts +16 -0
  273. package/dist/webhook/dedup.d.ts +9 -1
  274. package/dist/webhook/event-log.d.ts +13 -2
  275. package/dist/webhook/generic-sources-listener.d.ts +4 -0
  276. package/dist/webhook/ingest-admission.d.ts +140 -0
  277. package/dist/webhook/ingest-overflow-buffer.d.ts +27 -0
  278. package/dist/webhook/ingest-overflow-replayer.d.ts +49 -0
  279. package/dist/webhook/ingest-overflow-types.d.ts +73 -0
  280. package/dist/webhook/loop-lag-source.d.ts +40 -0
  281. package/dist/webhook/observed-relay-guard.d.ts +40 -0
  282. package/dist/webhook/org-ingest-cap-reader.d.ts +24 -0
  283. package/dist/webhook/register-source-bundle.d.ts +3 -0
  284. package/dist/webhook/relay-reinject.d.ts +43 -0
  285. package/dist/worker/in-memory-job-queue.d.ts +8 -3
  286. package/dist/worker-core.d.ts +10 -0
  287. package/dist/ws/agent-api-registry.d.ts +20 -0
  288. package/dist/ws/agent-handler.d.ts +63 -7
  289. package/dist/ws/bringup-api.d.ts +99 -0
  290. package/dist/ws/{dashboard-env-handler.d.ts → dashboard-context-handler.d.ts} +43 -25
  291. package/dist/ws/dashboard-run-state-handler.d.ts +31 -0
  292. package/dist/ws/failure-messages.d.ts +29 -0
  293. package/dist/ws/oidc-token-relay.d.ts +15 -0
  294. package/dist/ws/ownership-gate.d.ts +22 -0
  295. package/dist/ws/platform-client.d.ts +96 -1
  296. package/dist/ws/replay-chunker.d.ts +37 -0
  297. package/installer-image-digests.json +3 -3
  298. package/package.json +22 -21
  299. package/sbom.spdx.json +1245 -1793
  300. package/dist/cli/commands/environment.d.ts +0 -25
  301. package/dist/environments/binding-store.d.ts +0 -36
  302. package/dist/environments/environment-store.d.ts +0 -87
  303. package/dist/environments/protection/aggregate.d.ts +0 -43
  304. package/dist/environments/protection/branch-gate.d.ts +0 -5
  305. package/dist/environments/protection/concurrency-gate.d.ts +0 -7
  306. package/dist/environments/protection/reviewer-gate.d.ts +0 -7
  307. package/dist/environments/protection/trust-gate.d.ts +0 -7
  308. package/dist/environments/protection/wait-timer-gate.d.ts +0 -7
  309. package/dist/environments/variable-store.d.ts +0 -39
  310. package/dist/routes/admin-environments.d.ts +0 -47
@@ -21,17 +21,18 @@ export declare const localConfigSchema: z.ZodObject<{
21
21
  instance: z.ZodOptional<z.ZodObject<{
22
22
  id: z.ZodOptional<z.ZodString>;
23
23
  mode: z.ZodOptional<z.ZodEnum<{
24
- platform: "platform";
25
24
  hybrid: "hybrid";
26
25
  independent: "independent";
26
+ observed: "observed";
27
+ platform: "platform";
27
28
  }>>;
28
29
  }, z.core.$strip>>;
29
30
  server: z.ZodOptional<z.ZodObject<{
30
31
  port: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
31
32
  basePath: z.ZodOptional<z.ZodString>;
32
33
  logLevel: z.ZodOptional<z.ZodEnum<{
33
- error: "error";
34
34
  debug: "debug";
35
+ error: "error";
35
36
  info: "info";
36
37
  warn: "warn";
37
38
  }>>;
@@ -65,8 +66,8 @@ export declare const sharedConfigSchema: z.ZodObject<{
65
66
  logBucket: z.ZodOptional<z.ZodString>;
66
67
  }, z.core.$strip>>;
67
68
  agentAuth: z.ZodOptional<z.ZodEnum<{
68
- token: "token";
69
69
  none: "none";
70
+ token: "token";
70
71
  }>>;
71
72
  agentTokenTtlMs: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
72
73
  rosterGraceMs: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
@@ -129,9 +130,10 @@ export type SharedConfigSchemaType = z.infer<typeof sharedConfigSchema>;
129
130
  export declare const appConfigSchema: z.ZodObject<{
130
131
  instanceId: z.ZodDefault<z.ZodString>;
131
132
  mode: z.ZodDefault<z.ZodEnum<{
132
- platform: "platform";
133
133
  hybrid: "hybrid";
134
134
  independent: "independent";
135
+ observed: "observed";
136
+ platform: "platform";
135
137
  }>>;
136
138
  databaseUrl: z.ZodDefault<z.ZodString>;
137
139
  port: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
@@ -154,8 +156,8 @@ export declare const appConfigSchema: z.ZodObject<{
154
156
  logBucket: z.ZodOptional<z.ZodString>;
155
157
  }, z.core.$strip>>;
156
158
  agentAuth: z.ZodDefault<z.ZodEnum<{
157
- token: "token";
158
159
  none: "none";
160
+ token: "token";
159
161
  }>>;
160
162
  agentTokenTtlMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
161
163
  rosterGraceMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
@@ -203,8 +205,8 @@ export declare const appConfigSchema: z.ZodObject<{
203
205
  eventRouterCleanupIntervalMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
204
206
  eventLogMaxPayloadBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
205
207
  logLevel: z.ZodDefault<z.ZodEnum<{
206
- error: "error";
207
208
  debug: "debug";
209
+ error: "error";
208
210
  info: "info";
209
211
  warn: "warn";
210
212
  }>>;
@@ -6,6 +6,7 @@
6
6
  * - SharedConfig: shared settings stored in PostgreSQL config_versions table
7
7
  * - AppConfig: merged result type used throughout the codebase
8
8
  */
9
+ import type { OrchestratorMode } from '@kici-dev/engine';
9
10
  /**
10
11
  * Per-orchestrator settings loaded from YAML file.
11
12
  * These are instance-specific and never shared across orchestrators.
@@ -16,7 +17,7 @@ export interface LocalConfig {
16
17
  };
17
18
  instance?: {
18
19
  id?: string;
19
- mode?: 'platform' | 'hybrid' | 'independent';
20
+ mode?: OrchestratorMode;
20
21
  };
21
22
  server?: {
22
23
  port?: number;
@@ -107,7 +108,7 @@ export interface AppConfig {
107
108
  /** Unique identifier for this orchestrator instance */
108
109
  instanceId: string;
109
110
  /** Operating mode */
110
- mode: 'platform' | 'hybrid' | 'independent';
111
+ mode: OrchestratorMode;
111
112
  /** PostgreSQL connection URL */
112
113
  databaseUrl: string;
113
114
  /** HTTP server port */
package/dist/config.d.ts CHANGED
@@ -15,11 +15,23 @@
15
15
  * and PgSecretStore, not through config. See SourceStore and SourceManager.
16
16
  */
17
17
  import { z } from 'zod';
18
+ /**
19
+ * Validation scope for orchestrator config: a running orchestrator (`runtime`)
20
+ * vs a build-artifact (agent packaging) operation (`packaging`). Packaging only
21
+ * needs the object-storage config, so it skips the runtime coordinator/platform
22
+ * cross-field requirements.
23
+ */
24
+ export declare const ConfigScope: z.ZodEnum<{
25
+ packaging: "packaging";
26
+ runtime: "runtime";
27
+ }>;
28
+ export type ConfigScope = z.infer<typeof ConfigScope>;
18
29
  declare const configSchema: z.ZodObject<{
19
30
  mode: z.ZodDefault<z.ZodEnum<{
20
- platform: "platform";
21
31
  hybrid: "hybrid";
22
32
  independent: "independent";
33
+ observed: "observed";
34
+ platform: "platform";
23
35
  }>>;
24
36
  port: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
25
37
  basePath: z.ZodDefault<z.ZodString>;
@@ -28,19 +40,56 @@ declare const configSchema: z.ZodObject<{
28
40
  platformToken: z.ZodOptional<z.ZodString>;
29
41
  dashboardUrl: z.ZodOptional<z.ZodString>;
30
42
  provenanceIssuer: z.ZodOptional<z.ZodString>;
43
+ provenanceSigningIssuer: z.ZodOptional<z.ZodString>;
44
+ provenanceSignerKind: z.ZodOptional<z.ZodString>;
45
+ provenanceKmsKeyArn: z.ZodOptional<z.ZodString>;
46
+ provenanceKmsRegion: z.ZodOptional<z.ZodString>;
47
+ provenanceKmsAccessKeyId: z.ZodOptional<z.ZodString>;
48
+ provenanceKmsSecretAccessKey: z.ZodOptional<z.ZodString>;
49
+ provenanceSignerCommand: z.ZodOptional<z.ZodString>;
31
50
  webhookPublicUrl: z.ZodOptional<z.ZodString>;
51
+ orchestratorUrl: z.ZodOptional<z.ZodString>;
32
52
  databaseUrl: z.ZodDefault<z.ZodString>;
53
+ dbPoolMax: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
54
+ dbPoolAcquireTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
55
+ dbStatementTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
33
56
  lockfileCacheMax: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
34
57
  lockfileCacheTtlMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
58
+ lockfileCacheMaxBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
35
59
  queueMaxDepth: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
36
60
  queueTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
37
61
  queueBackpressureThreshold: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
38
62
  workerConcurrency: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
39
63
  concurrencyWaitTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
40
64
  dispatchAckTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
65
+ ownershipDbCheckTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
66
+ ingestMaxConcurrency: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
67
+ ingestMaxQueueDepth: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
68
+ ingestCodelTargetMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
69
+ ingestCodelIntervalMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
70
+ ingestQueueMaxWaitMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
71
+ ingestLoopLagShedMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
72
+ ingestLoopLagResumeMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
73
+ ingestLoopLagSampleMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
74
+ ingestOrgMaxConcurrency: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
75
+ ingestOverflowEnabled: z.ZodPipe<z.ZodDefault<z.ZodEnum<{
76
+ false: "false";
77
+ true: "true";
78
+ }>>, z.ZodTransform<boolean, "false" | "true">>;
79
+ ingestOverflowMax: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
80
+ ingestOverflowReplayIntervalMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
81
+ ingestOverflowReplayBatch: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
82
+ ingestOverflowMaxAttempts: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
83
+ rerouteSpawnWindowMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
84
+ rerouteAckTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
85
+ rerouteMaxHops: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
86
+ rerouteFlapGraceMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
87
+ scalerSpawnTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
88
+ backupStalenessWarnHours: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
89
+ scalerPendingSweepIntervalMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
41
90
  cacheStorageType: z.ZodOptional<z.ZodEnum<{
42
- s3: "s3";
43
91
  filesystem: "filesystem";
92
+ s3: "s3";
44
93
  }>>;
45
94
  cacheStoragePath: z.ZodOptional<z.ZodString>;
46
95
  cacheStorageS3Bucket: z.ZodOptional<z.ZodString>;
@@ -50,17 +99,28 @@ declare const configSchema: z.ZodObject<{
50
99
  cacheStorageS3ExternalEndpoint: z.ZodOptional<z.ZodString>;
51
100
  cacheStorageS3UploadEndpoint: z.ZodOptional<z.ZodString>;
52
101
  cacheStorageS3ForcePathStyle: z.ZodOptional<z.ZodPipe<z.ZodEnum<{
53
- true: "true";
54
102
  false: "false";
55
- }>, z.ZodTransform<boolean, "true" | "false">>>;
103
+ true: "true";
104
+ }>, z.ZodTransform<boolean, "false" | "true">>>;
105
+ agentBinarySource: z.ZodOptional<z.ZodString>;
56
106
  cacheStorageFsPath: z.ZodOptional<z.ZodString>;
57
107
  cacheStorageFsBaseUrl: z.ZodOptional<z.ZodString>;
58
108
  logStorageS3Bucket: z.ZodOptional<z.ZodString>;
109
+ logSegmentFlushBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
110
+ logSegmentFlushMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
59
111
  cacheTtlDays: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
112
+ dispatchQueueTtlDays: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
113
+ stepLogTtlDays: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
114
+ checkRunTrackingTtlDays: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
115
+ reconnectReplayWindowHours: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
60
116
  cacheBuildTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
61
117
  cacheMaxTarballBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
62
118
  userCacheQuotaBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
63
119
  userCacheTtlMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
120
+ artifactQuotaBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
121
+ artifactTtlMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
122
+ artifactMaxBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
123
+ artifactMaxPerRun: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
64
124
  webhookPayloadDir: z.ZodOptional<z.ZodString>;
65
125
  dataDir: z.ZodOptional<z.ZodString>;
66
126
  scalerConfigPath: z.ZodOptional<z.ZodString>;
@@ -75,13 +135,22 @@ declare const configSchema: z.ZodObject<{
75
135
  secretKeyOld: z.ZodOptional<z.ZodString>;
76
136
  secretKeyFileOld: z.ZodOptional<z.ZodString>;
77
137
  bootstrapAdminToken: z.ZodOptional<z.ZodString>;
78
- pgCustomerSecrets: z.ZodPipe<z.ZodDefault<z.ZodEnum<{
138
+ independentSecrets: z.ZodPipe<z.ZodDefault<z.ZodEnum<{
139
+ false: "false";
140
+ true: "true";
141
+ }>>, z.ZodTransform<boolean, "false" | "true">>;
142
+ independentIdentity: z.ZodPipe<z.ZodDefault<z.ZodEnum<{
143
+ false: "false";
79
144
  true: "true";
145
+ }>>, z.ZodTransform<boolean, "false" | "true">>;
146
+ devIdentityKeyFile: z.ZodOptional<z.ZodString>;
147
+ pgCustomerSecrets: z.ZodPipe<z.ZodDefault<z.ZodEnum<{
80
148
  false: "false";
81
- }>>, z.ZodTransform<boolean, "true" | "false">>;
149
+ true: "true";
150
+ }>>, z.ZodTransform<boolean, "false" | "true">>;
82
151
  agentAuth: z.ZodDefault<z.ZodEnum<{
83
- token: "token";
84
152
  none: "none";
153
+ token: "token";
85
154
  }>>;
86
155
  agentTokenTtlMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
87
156
  rosterGraceMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
@@ -101,10 +170,211 @@ declare const configSchema: z.ZodObject<{
101
170
  testMode: z.ZodPipe<z.ZodDefault<z.ZodString>, z.ZodTransform<boolean, string>>;
102
171
  testEventFailFirstN: z.ZodOptional<z.ZodString>;
103
172
  testMintDeferAudience: z.ZodOptional<z.ZodString>;
173
+ testMintRejectAudience: z.ZodOptional<z.ZodString>;
174
+ testRerunDelayMs: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
175
+ testOmitDashboardRequestTypes: z.ZodOptional<z.ZodString>;
104
176
  eventLogMaxPayloadBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
177
+ maxGithubPayloadBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
178
+ lockFileMaxBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
179
+ webhookDedupTtlMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
180
+ contributorCacheTtlMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
181
+ clusterSettingsCacheTtlMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
105
182
  logLevel: z.ZodDefault<z.ZodEnum<{
183
+ debug: "debug";
106
184
  error: "error";
185
+ info: "info";
186
+ warn: "warn";
187
+ }>>;
188
+ nodeEnv: z.ZodDefault<z.ZodEnum<{
189
+ development: "development";
190
+ production: "production";
191
+ test: "test";
192
+ }>>;
193
+ autoMigrate: z.ZodPipe<z.ZodDefault<z.ZodString>, z.ZodTransform<boolean, string>>;
194
+ agentMaxReconnectDelayMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
195
+ skipS3SentinelValidation: z.ZodPipe<z.ZodDefault<z.ZodString>, z.ZodTransform<boolean, string>>;
196
+ otelExporterOtlpEndpoint: z.ZodOptional<z.ZodString>;
197
+ clusterName: z.ZodOptional<z.ZodString>;
198
+ cluster: z.ZodPrefault<z.ZodObject<{
199
+ instanceId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
200
+ address: z.ZodOptional<z.ZodString>;
201
+ joinToken: z.ZodOptional<z.ZodString>;
202
+ credentialFile: z.ZodDefault<z.ZodString>;
203
+ autoRotateCredentials: z.ZodDefault<z.ZodBoolean>;
204
+ peers: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string[], string | undefined>>;
205
+ raftElectionTimeoutMinMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
206
+ raftElectionTimeoutMaxMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
207
+ raftHeartbeatMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
208
+ peerHeartbeatIntervalMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
209
+ peerMaxReconnectDelayMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
210
+ role: z.ZodDefault<z.ZodEnum<{
211
+ coordinator: "coordinator";
212
+ worker: "worker";
213
+ }>>;
214
+ coordinatorUrl: z.ZodOptional<z.ZodString>;
215
+ coordinatorUrls: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string[], string | undefined>>;
216
+ peerStaleTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
217
+ electionGracePeriodMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
218
+ singleNode: z.ZodPipe<z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>, z.ZodTransform<boolean, string | boolean>>;
219
+ trustedProxies: z.ZodPipe<z.ZodDefault<z.ZodString>, z.ZodTransform<string[], string>>;
220
+ }, z.core.$strip>>;
221
+ }, z.core.$strip>;
222
+ export declare const packagingConfigSchema: z.ZodObject<{
223
+ mode: z.ZodDefault<z.ZodEnum<{
224
+ hybrid: "hybrid";
225
+ independent: "independent";
226
+ observed: "observed";
227
+ platform: "platform";
228
+ }>>;
229
+ port: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
230
+ basePath: z.ZodDefault<z.ZodString>;
231
+ tlsCertPath: z.ZodOptional<z.ZodString>;
232
+ platformUrl: z.ZodOptional<z.ZodString>;
233
+ platformToken: z.ZodOptional<z.ZodString>;
234
+ dashboardUrl: z.ZodOptional<z.ZodString>;
235
+ provenanceIssuer: z.ZodOptional<z.ZodString>;
236
+ provenanceSigningIssuer: z.ZodOptional<z.ZodString>;
237
+ provenanceSignerKind: z.ZodOptional<z.ZodString>;
238
+ provenanceKmsKeyArn: z.ZodOptional<z.ZodString>;
239
+ provenanceKmsRegion: z.ZodOptional<z.ZodString>;
240
+ provenanceKmsAccessKeyId: z.ZodOptional<z.ZodString>;
241
+ provenanceKmsSecretAccessKey: z.ZodOptional<z.ZodString>;
242
+ provenanceSignerCommand: z.ZodOptional<z.ZodString>;
243
+ webhookPublicUrl: z.ZodOptional<z.ZodString>;
244
+ orchestratorUrl: z.ZodOptional<z.ZodString>;
245
+ databaseUrl: z.ZodDefault<z.ZodString>;
246
+ dbPoolMax: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
247
+ dbPoolAcquireTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
248
+ dbStatementTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
249
+ lockfileCacheMax: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
250
+ lockfileCacheTtlMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
251
+ lockfileCacheMaxBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
252
+ queueMaxDepth: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
253
+ queueTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
254
+ queueBackpressureThreshold: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
255
+ workerConcurrency: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
256
+ concurrencyWaitTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
257
+ dispatchAckTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
258
+ ownershipDbCheckTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
259
+ ingestMaxConcurrency: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
260
+ ingestMaxQueueDepth: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
261
+ ingestCodelTargetMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
262
+ ingestCodelIntervalMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
263
+ ingestQueueMaxWaitMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
264
+ ingestLoopLagShedMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
265
+ ingestLoopLagResumeMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
266
+ ingestLoopLagSampleMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
267
+ ingestOrgMaxConcurrency: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
268
+ ingestOverflowEnabled: z.ZodPipe<z.ZodDefault<z.ZodEnum<{
269
+ false: "false";
270
+ true: "true";
271
+ }>>, z.ZodTransform<boolean, "false" | "true">>;
272
+ ingestOverflowMax: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
273
+ ingestOverflowReplayIntervalMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
274
+ ingestOverflowReplayBatch: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
275
+ ingestOverflowMaxAttempts: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
276
+ rerouteSpawnWindowMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
277
+ rerouteAckTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
278
+ rerouteMaxHops: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
279
+ rerouteFlapGraceMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
280
+ scalerSpawnTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
281
+ backupStalenessWarnHours: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
282
+ scalerPendingSweepIntervalMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
283
+ cacheStorageType: z.ZodOptional<z.ZodEnum<{
284
+ filesystem: "filesystem";
285
+ s3: "s3";
286
+ }>>;
287
+ cacheStoragePath: z.ZodOptional<z.ZodString>;
288
+ cacheStorageS3Bucket: z.ZodOptional<z.ZodString>;
289
+ cacheStorageS3Prefix: z.ZodDefault<z.ZodString>;
290
+ cacheStorageS3Region: z.ZodOptional<z.ZodString>;
291
+ cacheStorageS3Endpoint: z.ZodOptional<z.ZodString>;
292
+ cacheStorageS3ExternalEndpoint: z.ZodOptional<z.ZodString>;
293
+ cacheStorageS3UploadEndpoint: z.ZodOptional<z.ZodString>;
294
+ cacheStorageS3ForcePathStyle: z.ZodOptional<z.ZodPipe<z.ZodEnum<{
295
+ false: "false";
296
+ true: "true";
297
+ }>, z.ZodTransform<boolean, "false" | "true">>>;
298
+ agentBinarySource: z.ZodOptional<z.ZodString>;
299
+ cacheStorageFsPath: z.ZodOptional<z.ZodString>;
300
+ cacheStorageFsBaseUrl: z.ZodOptional<z.ZodString>;
301
+ logStorageS3Bucket: z.ZodOptional<z.ZodString>;
302
+ logSegmentFlushBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
303
+ logSegmentFlushMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
304
+ cacheTtlDays: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
305
+ dispatchQueueTtlDays: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
306
+ stepLogTtlDays: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
307
+ checkRunTrackingTtlDays: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
308
+ reconnectReplayWindowHours: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
309
+ cacheBuildTimeoutMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
310
+ cacheMaxTarballBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
311
+ userCacheQuotaBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
312
+ userCacheTtlMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
313
+ artifactQuotaBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
314
+ artifactTtlMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
315
+ artifactMaxBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
316
+ artifactMaxPerRun: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
317
+ webhookPayloadDir: z.ZodOptional<z.ZodString>;
318
+ dataDir: z.ZodOptional<z.ZodString>;
319
+ scalerConfigPath: z.ZodOptional<z.ZodString>;
320
+ scalerConfigDir: z.ZodOptional<z.ZodString>;
321
+ machineLedgerDir: z.ZodOptional<z.ZodString>;
322
+ staleDetectorScanIntervalMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
323
+ staleDetectorThresholdMultiplier: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
324
+ jobHeartbeatIntervalMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
325
+ githubAppNameRefreshIntervalMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
326
+ secretKey: z.ZodOptional<z.ZodString>;
327
+ secretKeyFile: z.ZodOptional<z.ZodString>;
328
+ secretKeyOld: z.ZodOptional<z.ZodString>;
329
+ secretKeyFileOld: z.ZodOptional<z.ZodString>;
330
+ bootstrapAdminToken: z.ZodOptional<z.ZodString>;
331
+ independentSecrets: z.ZodPipe<z.ZodDefault<z.ZodEnum<{
332
+ false: "false";
333
+ true: "true";
334
+ }>>, z.ZodTransform<boolean, "false" | "true">>;
335
+ independentIdentity: z.ZodPipe<z.ZodDefault<z.ZodEnum<{
336
+ false: "false";
337
+ true: "true";
338
+ }>>, z.ZodTransform<boolean, "false" | "true">>;
339
+ devIdentityKeyFile: z.ZodOptional<z.ZodString>;
340
+ pgCustomerSecrets: z.ZodPipe<z.ZodDefault<z.ZodEnum<{
341
+ false: "false";
342
+ true: "true";
343
+ }>>, z.ZodTransform<boolean, "false" | "true">>;
344
+ agentAuth: z.ZodDefault<z.ZodEnum<{
345
+ none: "none";
346
+ token: "token";
347
+ }>>;
348
+ agentTokenTtlMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
349
+ rosterGraceMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
350
+ rosterTtlMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
351
+ hostRebootDeadlineMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
352
+ orchestratorHostAgentId: z.ZodOptional<z.ZodString>;
353
+ maxFanoutHosts: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
354
+ eventRouterMaxChainDepth: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
355
+ eventRouterRateLimitPerWorkflowPerMinute: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
356
+ eventRouterEventTtlSeconds: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
357
+ eventRouterCleanupIntervalMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
358
+ eventRouterMaxDispatchAttempts: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
359
+ eventRouterLeaseDurationMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
360
+ eventRouterRetryBaseBackoffMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
361
+ eventRouterRetryMaxBackoffMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
362
+ eventRouterRetryScanIntervalMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
363
+ testMode: z.ZodPipe<z.ZodDefault<z.ZodString>, z.ZodTransform<boolean, string>>;
364
+ testEventFailFirstN: z.ZodOptional<z.ZodString>;
365
+ testMintDeferAudience: z.ZodOptional<z.ZodString>;
366
+ testMintRejectAudience: z.ZodOptional<z.ZodString>;
367
+ testRerunDelayMs: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
368
+ testOmitDashboardRequestTypes: z.ZodOptional<z.ZodString>;
369
+ eventLogMaxPayloadBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
370
+ maxGithubPayloadBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
371
+ lockFileMaxBytes: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
372
+ webhookDedupTtlMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
373
+ contributorCacheTtlMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
374
+ clusterSettingsCacheTtlMs: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
375
+ logLevel: z.ZodDefault<z.ZodEnum<{
107
376
  debug: "debug";
377
+ error: "error";
108
378
  info: "info";
109
379
  warn: "warn";
110
380
  }>>;
@@ -181,34 +451,110 @@ export type AppConfig = z.infer<typeof configSchema> & {
181
451
  * so cross-field rules still fire.
182
452
  */
183
453
  export declare const envDef: import("@kici-dev/shared/env").DefineEnvResult<{
184
- mode: "platform" | "hybrid" | "independent";
454
+ mode: "hybrid" | "independent" | "observed" | "platform";
185
455
  port: number;
186
456
  basePath: string;
457
+ tlsCertPath?: string | undefined;
458
+ platformUrl?: string | undefined;
459
+ platformToken?: string | undefined;
460
+ dashboardUrl?: string | undefined;
461
+ provenanceIssuer?: string | undefined;
462
+ provenanceSigningIssuer?: string | undefined;
463
+ provenanceSignerKind?: string | undefined;
464
+ provenanceKmsKeyArn?: string | undefined;
465
+ provenanceKmsRegion?: string | undefined;
466
+ provenanceKmsAccessKeyId?: string | undefined;
467
+ provenanceKmsSecretAccessKey?: string | undefined;
468
+ provenanceSignerCommand?: string | undefined;
469
+ webhookPublicUrl?: string | undefined;
470
+ orchestratorUrl?: string | undefined;
187
471
  databaseUrl: string;
472
+ dbPoolMax: number;
473
+ dbPoolAcquireTimeoutMs: number;
474
+ dbStatementTimeoutMs: number;
188
475
  lockfileCacheMax: number;
189
476
  lockfileCacheTtlMs: number;
477
+ lockfileCacheMaxBytes: number;
190
478
  queueMaxDepth: number;
191
479
  queueTimeoutMs: number;
192
480
  queueBackpressureThreshold: number;
193
481
  workerConcurrency: number;
194
482
  concurrencyWaitTimeoutMs: number;
195
483
  dispatchAckTimeoutMs: number;
484
+ ownershipDbCheckTimeoutMs: number;
485
+ ingestMaxConcurrency: number;
486
+ ingestMaxQueueDepth: number;
487
+ ingestCodelTargetMs: number;
488
+ ingestCodelIntervalMs: number;
489
+ ingestQueueMaxWaitMs: number;
490
+ ingestLoopLagShedMs: number;
491
+ ingestLoopLagResumeMs: number;
492
+ ingestLoopLagSampleMs: number;
493
+ ingestOrgMaxConcurrency: number;
494
+ ingestOverflowEnabled: boolean;
495
+ ingestOverflowMax: number;
496
+ ingestOverflowReplayIntervalMs: number;
497
+ ingestOverflowReplayBatch: number;
498
+ ingestOverflowMaxAttempts: number;
499
+ rerouteSpawnWindowMs: number;
500
+ rerouteAckTimeoutMs: number;
501
+ rerouteMaxHops: number;
502
+ rerouteFlapGraceMs: number;
503
+ scalerSpawnTimeoutMs: number;
504
+ backupStalenessWarnHours: number;
505
+ scalerPendingSweepIntervalMs: number;
506
+ cacheStorageType?: "filesystem" | "s3" | undefined;
507
+ cacheStoragePath?: string | undefined;
508
+ cacheStorageS3Bucket?: string | undefined;
196
509
  cacheStorageS3Prefix: string;
510
+ cacheStorageS3Region?: string | undefined;
511
+ cacheStorageS3Endpoint?: string | undefined;
512
+ cacheStorageS3ExternalEndpoint?: string | undefined;
513
+ cacheStorageS3UploadEndpoint?: string | undefined;
514
+ cacheStorageS3ForcePathStyle?: boolean | undefined;
515
+ agentBinarySource?: string | undefined;
516
+ cacheStorageFsPath?: string | undefined;
517
+ cacheStorageFsBaseUrl?: string | undefined;
518
+ logStorageS3Bucket?: string | undefined;
519
+ logSegmentFlushBytes: number;
520
+ logSegmentFlushMs: number;
197
521
  cacheTtlDays: number;
522
+ dispatchQueueTtlDays: number;
523
+ stepLogTtlDays: number;
524
+ checkRunTrackingTtlDays: number;
525
+ reconnectReplayWindowHours: number;
198
526
  cacheBuildTimeoutMs: number;
199
527
  cacheMaxTarballBytes: number;
200
528
  userCacheQuotaBytes: number;
201
529
  userCacheTtlMs: number;
530
+ artifactQuotaBytes: number;
531
+ artifactTtlMs: number;
532
+ artifactMaxBytes: number;
533
+ artifactMaxPerRun: number;
534
+ webhookPayloadDir?: string | undefined;
535
+ dataDir?: string | undefined;
536
+ scalerConfigPath?: string | undefined;
537
+ scalerConfigDir?: string | undefined;
538
+ machineLedgerDir?: string | undefined;
202
539
  staleDetectorScanIntervalMs: number;
203
540
  staleDetectorThresholdMultiplier: number;
204
541
  jobHeartbeatIntervalMs: number;
205
542
  githubAppNameRefreshIntervalMs: number;
543
+ secretKey?: string | undefined;
544
+ secretKeyFile?: string | undefined;
545
+ secretKeyOld?: string | undefined;
546
+ secretKeyFileOld?: string | undefined;
547
+ bootstrapAdminToken?: string | undefined;
548
+ independentSecrets: boolean;
549
+ independentIdentity: boolean;
550
+ devIdentityKeyFile?: string | undefined;
206
551
  pgCustomerSecrets: boolean;
207
- agentAuth: "token" | "none";
552
+ agentAuth: "none" | "token";
208
553
  agentTokenTtlMs: number;
209
554
  rosterGraceMs: number;
210
555
  rosterTtlMs: number;
211
556
  hostRebootDeadlineMs: number;
557
+ orchestratorHostAgentId?: string | undefined;
212
558
  maxFanoutHosts: number;
213
559
  eventRouterMaxChainDepth: number;
214
560
  eventRouterRateLimitPerWorkflowPerMinute: number;
@@ -220,14 +566,28 @@ export declare const envDef: import("@kici-dev/shared/env").DefineEnvResult<{
220
566
  eventRouterRetryMaxBackoffMs: number;
221
567
  eventRouterRetryScanIntervalMs: number;
222
568
  testMode: boolean;
569
+ testEventFailFirstN?: string | undefined;
570
+ testMintDeferAudience?: string | undefined;
571
+ testMintRejectAudience?: string | undefined;
572
+ testRerunDelayMs?: number | undefined;
573
+ testOmitDashboardRequestTypes?: string | undefined;
223
574
  eventLogMaxPayloadBytes: number;
224
- logLevel: "error" | "debug" | "info" | "warn";
575
+ maxGithubPayloadBytes: number;
576
+ lockFileMaxBytes: number;
577
+ webhookDedupTtlMs: number;
578
+ contributorCacheTtlMs: number;
579
+ clusterSettingsCacheTtlMs: number;
580
+ logLevel: "debug" | "error" | "info" | "warn";
225
581
  nodeEnv: "development" | "production" | "test";
226
582
  autoMigrate: boolean;
227
583
  agentMaxReconnectDelayMs: number;
228
584
  skipS3SentinelValidation: boolean;
585
+ otelExporterOtlpEndpoint?: string | undefined;
586
+ clusterName?: string | undefined;
229
587
  cluster: {
230
588
  instanceId: string;
589
+ address?: string | undefined;
590
+ joinToken?: string | undefined;
231
591
  credentialFile: string;
232
592
  autoRotateCredentials: boolean;
233
593
  peers: string[];
@@ -237,48 +597,14 @@ export declare const envDef: import("@kici-dev/shared/env").DefineEnvResult<{
237
597
  peerHeartbeatIntervalMs: number;
238
598
  peerMaxReconnectDelayMs: number;
239
599
  role: "coordinator" | "worker";
600
+ coordinatorUrl?: string | undefined;
240
601
  coordinatorUrls: string[];
241
602
  peerStaleTimeoutMs: number;
242
603
  electionGracePeriodMs: number;
243
604
  singleNode: boolean;
244
605
  trustedProxies: string[];
245
- address?: string | undefined;
246
- joinToken?: string | undefined;
247
- coordinatorUrl?: string | undefined;
248
606
  };
249
- tlsCertPath?: string | undefined;
250
- platformUrl?: string | undefined;
251
- platformToken?: string | undefined;
252
- dashboardUrl?: string | undefined;
253
- provenanceIssuer?: string | undefined;
254
- webhookPublicUrl?: string | undefined;
255
- cacheStorageType?: "s3" | "filesystem" | undefined;
256
- cacheStoragePath?: string | undefined;
257
- cacheStorageS3Bucket?: string | undefined;
258
- cacheStorageS3Region?: string | undefined;
259
- cacheStorageS3Endpoint?: string | undefined;
260
- cacheStorageS3ExternalEndpoint?: string | undefined;
261
- cacheStorageS3UploadEndpoint?: string | undefined;
262
- cacheStorageS3ForcePathStyle?: boolean | undefined;
263
- cacheStorageFsPath?: string | undefined;
264
- cacheStorageFsBaseUrl?: string | undefined;
265
- logStorageS3Bucket?: string | undefined;
266
- webhookPayloadDir?: string | undefined;
267
- dataDir?: string | undefined;
268
- scalerConfigPath?: string | undefined;
269
- scalerConfigDir?: string | undefined;
270
- machineLedgerDir?: string | undefined;
271
- secretKey?: string | undefined;
272
- secretKeyFile?: string | undefined;
273
- secretKeyOld?: string | undefined;
274
- secretKeyFileOld?: string | undefined;
275
- bootstrapAdminToken?: string | undefined;
276
- orchestratorHostAgentId?: string | undefined;
277
- testEventFailFirstN?: string | undefined;
278
- testMintDeferAudience?: string | undefined;
279
- otelExporterOtlpEndpoint?: string | undefined;
280
- clusterName?: string | undefined;
281
607
  }>;
282
- export declare function loadConfig(): AppConfig;
608
+ export declare function loadConfig(scope?: ConfigScope): AppConfig;
283
609
  export {};
284
610
  //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Binding store -- scope-to-context binding CRUD.
3
+ *
4
+ * Bindings map scope patterns (e.g. 'aws/prod/**') to contexts,
5
+ * controlling which scoped secrets are available in each context.
6
+ */
7
+ import type { Kysely } from 'kysely';
8
+ import type { Database, ContextBinding } from '../db/types.js';
9
+ /**
10
+ * A scope→context binding with its host selector. `hostPattern` defaults to
11
+ * `'**'` (all hosts) when omitted.
12
+ */
13
+ export interface BindingInput {
14
+ scopePattern: string;
15
+ hostPattern?: string;
16
+ }
17
+ /**
18
+ * Data access layer for context bindings.
19
+ */
20
+ export declare class BindingStore {
21
+ private readonly db;
22
+ constructor(db: Kysely<Database>);
23
+ /** List all bindings for an context. */
24
+ list(orgId: string, contextId: string): Promise<ContextBinding[]>;
25
+ /**
26
+ * Replace all bindings for an context in a transaction.
27
+ *
28
+ * Deletes existing bindings and inserts the new set atomically. Each binding
29
+ * carries a `scopePattern` and an optional `hostPattern` (defaulting to
30
+ * `'**'`). Pass an empty array to clear all bindings.
31
+ */
32
+ set(orgId: string, contextId: string, bindings: BindingInput[]): Promise<void>;
33
+ /** Find bindings for an context (alias for list, used by secret resolver). */
34
+ findBindingsForContext(orgId: string, contextId: string): Promise<ContextBinding[]>;
35
+ }
36
+ //# sourceMappingURL=binding-store.d.ts.map