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