@kici-dev/orchestrator 0.4.0 → 0.6.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 (183) hide show
  1. package/dist/__test-helpers__/fake-scaler-state-store.d.ts +24 -0
  2. package/dist/__test-helpers__/mock-db-query.d.ts +130 -0
  3. package/dist/__test-helpers__/mock-db.d.ts +27 -0
  4. package/dist/agent/agent-version.d.ts +34 -0
  5. package/dist/agent/dispatcher.d.ts +151 -13
  6. package/dist/agent/host-roster.d.ts +37 -5
  7. package/dist/agent/registry.d.ts +2 -0
  8. package/dist/app.d.ts +56 -7
  9. package/dist/approvals/apply-decision.d.ts +67 -19
  10. package/dist/approvals/held-run-release-wiring.d.ts +45 -0
  11. package/dist/approvals/independent-wiring.d.ts +55 -0
  12. package/dist/approvals/resume-router.d.ts +9 -0
  13. package/dist/approvals/triggerer-subject.d.ts +37 -0
  14. package/dist/cache/dep-cache.d.ts +54 -10
  15. package/dist/cache/global-eval-round-cache.d.ts +95 -0
  16. package/dist/cache/index.d.ts +3 -0
  17. package/dist/cache/pending-global-evals.d.ts +42 -0
  18. package/dist/cache/pending-inits.d.ts +10 -0
  19. package/dist/cli/api-client.d.ts +18 -0
  20. package/dist/cli/commands/cluster-settings.d.ts +52 -3
  21. package/dist/cli/commands/diagnose.d.ts +6 -0
  22. package/dist/cli/commands/held-run.d.ts +58 -0
  23. package/dist/cli/commands/runs.d.ts +1 -0
  24. package/dist/cli/commands/trust-policy.d.ts +117 -12
  25. package/dist/cli/kici-admin.d.ts +10 -0
  26. package/dist/cli.js +2770 -938
  27. package/dist/cluster/cluster-identity.d.ts +3 -3
  28. package/dist/cluster/cluster-settings-reader.d.ts +59 -1
  29. package/dist/cluster/coordinator.d.ts +44 -0
  30. package/dist/cluster/index.d.ts +4 -0
  31. package/dist/cluster/peer-handler.d.ts +19 -0
  32. package/dist/cluster/peer-registry.d.ts +17 -0
  33. package/dist/cluster/plan-headroom-store.d.ts +26 -0
  34. package/dist/cluster/worker-eviction.d.ts +69 -0
  35. package/dist/cold-store/load-event-log-range.d.ts +10 -3
  36. package/dist/cold-store/load-secret-audit-log-range.d.ts +4 -3
  37. package/dist/cold-store/tables/secret-audit-log.d.ts +4 -3
  38. package/dist/config.d.ts +48 -21
  39. package/dist/content-requirements-cache.d.ts +55 -0
  40. package/dist/contexts/held-runs.d.ts +123 -16
  41. package/dist/contexts/protection/aggregate.d.ts +3 -2
  42. package/dist/contexts/protection/branch-gate.d.ts +15 -0
  43. package/dist/contexts/protection/concurrency-gate.d.ts +8 -2
  44. package/dist/contexts/protection/pipeline.d.ts +18 -0
  45. package/dist/contexts/release-queued-holds.d.ts +35 -0
  46. package/dist/dashboard/attestation-filters.d.ts +8 -0
  47. package/dist/dashboard/handler.d.ts +6 -24
  48. package/dist/db/migrations/109_cluster_settings_cache_knobs.d.ts +4 -0
  49. package/dist/db/migrations/110_cluster_settings_global_eval_knobs.d.ts +4 -0
  50. package/dist/db/migrations/111_cluster_settings_global_eval_wait.d.ts +4 -0
  51. package/dist/db/migrations/112_execution_runs_workflow_repo.d.ts +4 -0
  52. package/dist/db/migrations/113_execution_runs_workflow_repo_index.d.ts +30 -0
  53. package/dist/db/migrations/114_ingest_queue_claim.d.ts +4 -0
  54. package/dist/db/migrations/115_global_workflows_cluster_switch.d.ts +9 -0
  55. package/dist/db/migrations/116_org_plan_headroom.d.ts +4 -0
  56. package/dist/db/migrations/117_invoke_gate_proxy_jobs.d.ts +4 -0
  57. package/dist/db/migrations/118_invoke_gate_scheduling.d.ts +4 -0
  58. package/dist/db/migrations/119_scaler_ha_ownership.d.ts +4 -0
  59. package/dist/db/migrations/120_cluster_settings_scaler_reaper.d.ts +4 -0
  60. package/dist/db/migrations/121_org_settings_allow_untrusted_dockerfile_builds.d.ts +19 -0
  61. package/dist/db/migrations/122_host_roster_scaler_managed.d.ts +25 -0
  62. package/dist/db/migrations/123_workflow_registrations_default_branch.d.ts +24 -0
  63. package/dist/db/migrations/124_cluster_settings_provision_backoff.d.ts +4 -0
  64. package/dist/db/migrations/125_org_trust_directory.d.ts +30 -0
  65. package/dist/db/migrations/126_held_runs_posted_pending_check.d.ts +28 -0
  66. package/dist/db/migrations/127_org_trust_policy_approval_expiry_seconds.d.ts +26 -0
  67. package/dist/db/migrations/128_execution_runs_global_eval_round.d.ts +23 -0
  68. package/dist/db/migrations/129_execution_runs_dispatch_routing_key.d.ts +24 -0
  69. package/dist/db/migrations/130_scaler_provision_outcomes.d.ts +32 -0
  70. package/dist/db/types.d.ts +428 -12
  71. package/dist/entry-helpers.d.ts +28 -0
  72. package/dist/events/event-emitter.d.ts +22 -0
  73. package/dist/events/event-router.d.ts +87 -1
  74. package/dist/events/types.d.ts +2 -23
  75. package/dist/git/credential-broker.d.ts +94 -0
  76. package/dist/git/inherited-secret.d.ts +24 -0
  77. package/dist/git/installation-token.d.ts +38 -0
  78. package/dist/git/job-context.d.ts +13 -0
  79. package/dist/index.js +324 -84
  80. package/dist/metrics/agent-metrics-aggregator.d.ts +4 -4
  81. package/dist/metrics/prometheus.d.ts +170 -3
  82. package/dist/oidc/oidc-mint-registration.d.ts +7 -3
  83. package/dist/orchestrator-core.d.ts +91 -24
  84. package/dist/pipeline/content-filter.d.ts +71 -0
  85. package/dist/pipeline/direct-ingress-deps.d.ts +100 -0
  86. package/dist/pipeline/dispatch-matched-workflow.d.ts +521 -11
  87. package/dist/pipeline/global-eval-round.d.ts +307 -0
  88. package/dist/pipeline/internal-event-pipeline.d.ts +140 -0
  89. package/dist/pipeline/invoke-gate.d.ts +164 -0
  90. package/dist/pipeline/job-contexts.d.ts +16 -17
  91. package/dist/pipeline/needs-scheduler.d.ts +13 -0
  92. package/dist/pipeline/process-webhook.d.ts +126 -31
  93. package/dist/pipeline/processor.d.ts +282 -23
  94. package/dist/pipeline/rerun.d.ts +21 -0
  95. package/dist/pipeline/resume-workflow.d.ts +40 -7
  96. package/dist/pipeline/route-or-dispatch-jobs.d.ts +15 -0
  97. package/dist/pipeline/security-hold-check.d.ts +217 -0
  98. package/dist/pipeline/test-pipeline.d.ts +12 -0
  99. package/dist/pipeline/undispatched-hold-checks.d.ts +23 -0
  100. package/dist/pipeline/webhook-payload-store.d.ts +20 -0
  101. package/dist/policy/dashboard-write-policy-listener.d.ts +62 -0
  102. package/dist/policy/dashboard-write-policy.d.ts +14 -0
  103. package/dist/provenance/backfill-run.d.ts +10 -1
  104. package/dist/provider-registry.d.ts +47 -4
  105. package/dist/providers/github/check-status-poster.d.ts +33 -3
  106. package/dist/providers/github/commit-message.d.ts +20 -0
  107. package/dist/providers/github/file-contents.d.ts +40 -0
  108. package/dist/providers/github/index.d.ts +2 -2
  109. package/dist/providers/github/normalizer.d.ts +3 -2
  110. package/dist/providers/local/normalizer.d.ts +3 -5
  111. package/dist/providers/universal-git/config.d.ts +2 -0
  112. package/dist/providers/universal-git/index.d.ts +11 -2
  113. package/dist/providers/universal-git/normalizer.d.ts +10 -0
  114. package/dist/queue/cleanup.d.ts +7 -1
  115. package/dist/queue/job-queue.d.ts +112 -7
  116. package/dist/queue/terminalize-unroutable.d.ts +13 -0
  117. package/dist/registration/extractor.d.ts +3 -3
  118. package/dist/registration/registration-index.d.ts +7 -0
  119. package/dist/registration/registration-run-match.d.ts +47 -0
  120. package/dist/registration/registration-store.d.ts +22 -0
  121. package/dist/reporting/check-run-reporter.d.ts +146 -2
  122. package/dist/reporting/check-run-summary.d.ts +25 -1
  123. package/dist/reporting/execution-tracker.d.ts +324 -9
  124. package/dist/reporting/log-chunk-sink.d.ts +8 -5
  125. package/dist/reporting/run-aggregator.d.ts +4 -14
  126. package/dist/reporting/step-display-order.d.ts +43 -0
  127. package/dist/routes/admin-held-runs.d.ts +142 -0
  128. package/dist/routes/admin-org-settings.d.ts +5 -0
  129. package/dist/routes/admin-trust-policy.d.ts +34 -6
  130. package/dist/routes/admin.d.ts +15 -0
  131. package/dist/scaler/backend-factory.d.ts +55 -0
  132. package/dist/scaler/bare-metal-backend.d.ts +43 -5
  133. package/dist/scaler/claim-store.d.ts +119 -0
  134. package/dist/scaler/config.d.ts +4 -0
  135. package/dist/scaler/container-backend.d.ts +18 -4
  136. package/dist/scaler/container-routing.d.ts +23 -0
  137. package/dist/scaler/container-spawn.d.ts +28 -0
  138. package/dist/scaler/event-backend.d.ts +124 -0
  139. package/dist/scaler/event-provision-reaper.d.ts +350 -0
  140. package/dist/scaler/failure-tracker.d.ts +1 -1
  141. package/dist/scaler/firecracker-backend.d.ts +33 -6
  142. package/dist/scaler/index.d.ts +11 -1
  143. package/dist/scaler/label-matcher.d.ts +4 -3
  144. package/dist/scaler/manager.d.ts +905 -76
  145. package/dist/scaler/resolve-container-auth.d.ts +45 -0
  146. package/dist/scaler/scaler-events.d.ts +11 -0
  147. package/dist/scaler/scaler-state-store.d.ts +294 -10
  148. package/dist/scaler/types.d.ts +131 -13
  149. package/dist/scaler/warm-pool.d.ts +132 -29
  150. package/dist/security/comment-handler.d.ts +50 -11
  151. package/dist/security/global-workflow-policy.d.ts +52 -12
  152. package/dist/security/identity-link.d.ts +60 -0
  153. package/dist/security/lock-source.d.ts +11 -13
  154. package/dist/security/reduced-privilege-note.d.ts +59 -0
  155. package/dist/security/trust-directory-store.d.ts +233 -0
  156. package/dist/security/trust-policy-gate.d.ts +94 -59
  157. package/dist/security/trust-policy-store.d.ts +3 -0
  158. package/dist/security/trust-resolver.d.ts +14 -98
  159. package/dist/server.d.ts +11 -1
  160. package/dist/server.js +56329 -42234
  161. package/dist/stale-detector/gate-deadline-detector.d.ts +52 -0
  162. package/dist/stale-detector/stale-run-detector.d.ts +61 -3
  163. package/dist/standalone.js +37619 -23570
  164. package/dist/webhook/ingest-accept.d.ts +70 -0
  165. package/dist/webhook/ingest-overflow-buffer.d.ts +35 -4
  166. package/dist/webhook/ingest-overflow-replayer.d.ts +50 -6
  167. package/dist/worker/in-memory-job-queue.d.ts +1 -1
  168. package/dist/ws/agent-handler.d.ts +31 -4
  169. package/dist/ws/dashboard-context-handler.d.ts +28 -4
  170. package/dist/ws/dashboard-global-workflows-handler.d.ts +36 -9
  171. package/dist/ws/execution-status-frame.d.ts +32 -0
  172. package/dist/ws/failure-messages.d.ts +2 -0
  173. package/dist/ws/git-credential-relay.d.ts +39 -0
  174. package/dist/ws/oidc-token-relay.d.ts +6 -11
  175. package/dist/ws/platform-client.d.ts +68 -9
  176. package/dist/ws/test-relay-handlers.d.ts +35 -10
  177. package/installer-image-digests.json +3 -3
  178. package/package.json +24 -19
  179. package/sbom.spdx.json +868 -821
  180. package/dist/approvals/team-membership-lookup.d.ts +0 -13
  181. package/dist/pipeline/inline-eval.d.ts +0 -44
  182. package/dist/providers/github/contributor-resolver.d.ts +0 -30
  183. package/dist/security/contributor-cache.d.ts +0 -83
@@ -1,4 +1,5 @@
1
1
  import { type StateReplayRun, type OrchestratorToPlatformMessage, type WebhookRelay, type WebhookRelayResult, type TrustPolicyUpdate, type StaleCheckrunCleanup, type DashboardRunDetailRequest, type DashboardRunStructuredRequest, type DashboardRunStateRequest, type DashboardRunsListRequest, type DashboardRunsFiltersRequest, type DashboardSourcesListRequest, type DashboardStepLogsRequest, type DashboardAttestationsListRequest, type DashboardAttestationsListAllRequest, type DashboardAttestationGetRequest, type DashboardAttestationRetryRequest, type DashboardArtifactsListRequest, type DashboardOrchLogsRequest, type RunRerunRequest, type ManualScheduleRequest, type RunCancelRequest, type DashboardPayloadRequest, type DashboardPlatformToOrchMessage, type TestRelayRequest, type DashboardDiagnosticsRequest, type DashboardScalerCapacityRequest, type DashboardScalerAgentsRequest, type DashboardFleetHostsRequest, type DashboardFleetHostRequest, type DashboardFleetPreviewRequest, type DashboardFleetWorkflowsForHostRequest, type JoinRequest, type JoinResponse, type DeploymentIdentity, type OrchCapabilities, type OrchRole } from '@kici-dev/engine';
2
+ import type { PlanHeadroomStore } from '../cluster/plan-headroom-store.js';
2
3
  import { RelayBufferRegistry, type RelayStartMeta } from '../webhook/relay-buffer.js';
3
4
  import type { AdmitResult } from '../webhook/ingest-admission.js';
4
5
  /**
@@ -36,6 +37,20 @@ export type ReplaySendResult = {
36
37
  */
37
38
  export type { ProviderSource } from '../entry-helpers.js';
38
39
  import type { ProviderSource } from '../entry-helpers.js';
40
+ /**
41
+ * Hard ceiling on how long an admitted fire-and-forget relay pipeline may hold
42
+ * its admission slot before it is force-released. A pipeline running longer than
43
+ * this is treated as hung; releasing its slot (idempotently) prevents a
44
+ * permanent slot leak that would otherwise shrink capacity for every future
45
+ * webhook. Well above any legitimate ingest-pipeline duration.
46
+ *
47
+ * Exported because it is also the hard bound on anything a webhook waits for
48
+ * inline: the global eval round caps its raised wait ceiling at this value,
49
+ * since a ceiling past the point the relay force-releases the pipeline buys
50
+ * latency and no verdict. Two copies of "5 minutes" with nothing coupling them
51
+ * is exactly the pair that drifts.
52
+ */
53
+ export declare const ADMITTED_PIPELINE_LIFETIME_MS: number;
39
54
  export interface PlatformClientOptions {
40
55
  /** WebSocket URL of the Platform relay. */
41
56
  url: string;
@@ -100,6 +115,27 @@ export interface PlatformClientOptions {
100
115
  }) => void;
101
116
  /** Optional callback invoked after successful authentication and source registration. */
102
117
  onAuthenticated?: () => void;
118
+ /**
119
+ * Returns this coordinator's currently-connected worker peers for the
120
+ * `cluster.membership` snapshot. Undefined on a non-coordinator (or when
121
+ * clustering is off) → no membership is reported.
122
+ */
123
+ getWorkerPeers?: () => Array<{
124
+ instanceId: string;
125
+ }>;
126
+ /**
127
+ * Persisted cache of the Platform-pushed worker ceiling. Written on every
128
+ * `plan.headroom`, read by `getWorkerCeiling`. Undefined → the coordinator
129
+ * receives no ceiling and admits worker joins freely.
130
+ */
131
+ planHeadroomStore?: PlanHeadroomStore;
132
+ /**
133
+ * Reconcile this coordinator's workers against a pushed ceiling. Invoked on
134
+ * EVERY `plan.headroom` frame with the frame's `evictExcess` flag, so a raised
135
+ * ceiling (or a cleared `evictExcess`) can cancel an in-flight drain, not only
136
+ * start one. Undefined → no eviction reconciliation.
137
+ */
138
+ onPlanCeiling?: (ceiling: number, evictExcess: boolean) => void;
103
139
  /**
104
140
  * Optional callback invoked when the Platform surfaces the orchestrator's
105
141
  * canonical org id on `auth.success`. Used to auto-provision the
@@ -181,16 +217,12 @@ export interface PlatformClientOptions {
181
217
  /** Custom orchestrator capabilities to merge with ORCH_CAPABILITIES in auth.request. */
182
218
  orchCapabilities?: Partial<OrchCapabilities>;
183
219
  /**
184
- * Test-only. Whether the orchestrator runs in test mode (config
185
- * `KICI_TEST_MODE=1`). Gates `testOmitDashboardRequestTypes`.
220
+ * Test-only fault-injection transform over the advertised capability manifest,
221
+ * supplied only by the build-time test double to reproduce an older /
222
+ * sourceless orchestrator that predates a given dashboard capability. Undefined
223
+ * (the shipped default) means identity — the full capability set is advertised.
186
224
  */
187
- testMode?: boolean;
188
- /**
189
- * Test-only. Comma-separated `dashboard.*` request types to drop from the
190
- * advertised capability manifest (config `KICI_TEST_OMIT_DASHBOARD_REQUEST_TYPES`).
191
- * Only honored when `testMode` is true; production leaves both unset.
192
- */
193
- testOmitDashboardRequestTypes?: string;
225
+ capabilitiesTransform?: (c: OrchCapabilities) => OrchCapabilities;
194
226
  /**
195
227
  * Verify a reassembled inbound webhook from the chunked relay path.
196
228
  *
@@ -255,6 +287,7 @@ export declare class PlatformClient {
255
287
  private _state;
256
288
  private readonly eventBuffer;
257
289
  private heartbeatTimer;
290
+ private membershipTimer;
258
291
  private reconnectTimer;
259
292
  private reconnectAttempts;
260
293
  /** Armed on auth; resets the backoff only if the connection survives it. */
@@ -307,6 +340,9 @@ export declare class PlatformClient {
307
340
  private readonly onLogPullRequest?;
308
341
  private readonly onPeerDiscover?;
309
342
  private readonly onAuthenticated?;
343
+ private readonly getWorkerPeers?;
344
+ private readonly planHeadroomStore?;
345
+ private readonly onPlanCeiling?;
310
346
  private readonly onOrgIdentified?;
311
347
  private readonly onProvenanceIssuer?;
312
348
  private readonly onDashboardRunDetail?;
@@ -518,6 +554,29 @@ export declare class PlatformClient {
518
554
  private flushBuffer;
519
555
  private startHeartbeat;
520
556
  private stopHeartbeat;
557
+ /** How often a coordinator re-sends its membership snapshot. */
558
+ private static readonly CLUSTER_MEMBERSHIP_INTERVAL_MS;
559
+ /**
560
+ * Send the current worker-peer snapshot to the Platform.
561
+ *
562
+ * A snapshot, not a delta: a dropped frame self-heals on the next send. A
563
+ * no-op when the client is not authenticated or has no worker-peer source.
564
+ */
565
+ sendClusterMembership(): void;
566
+ private startClusterMembership;
567
+ private stopClusterMembership;
568
+ /**
569
+ * Store the Platform's worker ceiling and act on an eviction directive.
570
+ *
571
+ * The stored value survives a Platform disconnect and a coordinator restart,
572
+ * which is what makes the fail-open stance bounded rather than unlimited.
573
+ */
574
+ private onPlanHeadroom;
575
+ /**
576
+ * The ceiling this coordinator enforces, or `null` when none was ever
577
+ * received — in which case worker joins are admitted freely.
578
+ */
579
+ getWorkerCeiling(): Promise<number | null>;
521
580
  private scheduleReconnect;
522
581
  private clearStabilityTimer;
523
582
  private cancelReconnect;
@@ -24,15 +24,6 @@ export interface TestRelayHandlerDeps extends ProcessingDeps {
24
24
  agentRegistry: NonNullable<ProcessingDeps['agentRegistry']>;
25
25
  cacheStorage?: CacheStorage;
26
26
  logStorage?: LogStorage;
27
- /**
28
- * Log writer that owns the in-flight append tracking. The logs cursor
29
- * handler drains its pending appends for a terminal run before computing the
30
- * `done` flag, so the final (fire-and-forget) log chunk can't be lost to a
31
- * race with the run-status transition.
32
- */
33
- logWriter?: {
34
- drain(runId: string): Promise<void>;
35
- };
36
27
  accessLog?: AccessLogWriter;
37
28
  /** Canonical org id this orchestrator is bound to (for access_log attribution). */
38
29
  orgId?: string | null;
@@ -79,7 +70,41 @@ export interface TestRunStatusPayload {
79
70
  }>;
80
71
  done: boolean;
81
72
  }
82
- /** Snapshot a run's status + per-job status. `done` is true at a terminal run state. */
73
+ /**
74
+ * Snapshot a run's status + per-job status. `done` is true at a terminal run state.
75
+ *
76
+ * ## Why this does not check ownership, even though the run now records an owner
77
+ *
78
+ * `handleTestTrigger` records the initiator on `execution_runs.triggered_by`,
79
+ * so comparing `msg.actor` against it here looks like free defence in depth. It
80
+ * is not, for three reasons that are worth writing down because the idea
81
+ * recurs.
82
+ *
83
+ * **The orchestrator cannot authenticate the actor.** It is asserted by the
84
+ * Platform over the authenticated control-plane connection; nothing here can
85
+ * verify it. A Platform that is lying can name any principal and pass the
86
+ * check, so enforcing would defend only against a Platform that reports the
87
+ * actor faithfully and forgets to check ownership — not against a hostile one.
88
+ *
89
+ * **The two gates would disagree.** The Platform deliberately admits a caller
90
+ * with unrestricted repository scope alongside the creator, because such a
91
+ * caller can already read these runs through the dashboard run plane. Repo
92
+ * patterns do not exist on this tier — only the actor arrives — so an
93
+ * organization owner reading a developer's run would be allowed there and
94
+ * refused here. Closing that would mean the Platform asserting "this caller is
95
+ * unrestricted", which is the first problem again with extra steps.
96
+ *
97
+ * **The version skew runs the wrong way.** This component is customer-deployed
98
+ * and versions independently of the Platform, so an orchestrator upgraded to
99
+ * enforce would start refusing legitimate reads against a Platform that has not
100
+ * changed — a break the customer triggers and we cannot roll back. Fail-closed
101
+ * is right for a security control and wrong for a compatibility surface, and
102
+ * this is both.
103
+ *
104
+ * So the actor is recorded, not enforced. Enforcing here needs the caller's
105
+ * effective authorization scope on the wire (so one policy is evaluated rather
106
+ * than two), and an actor this tier can establish independently.
107
+ */
83
108
  export declare function handleTestRunStatus(msg: TestRelayRunStatusRequest, deps: TestRelayHandlerDeps): Promise<TestRunStatusPayload | {
84
109
  error: string;
85
110
  }>;
@@ -1,7 +1,7 @@
1
1
  {
2
- "version": "0.4.0",
2
+ "version": "0.6.0",
3
3
  "images": {
4
- "kici-agent": "sha256:60f463973e2fa02c4e1d9311c9214e679269fa6ead3135b4c826789ca0278cbf",
5
- "kici-orchestrator": "sha256:75312fc8bee960384aa2c57ff72cf2fe65bcd52d222278632c79a5f14ccd3e27"
4
+ "kici-agent": "sha256:6a6dad749ae8a520774139588b6b83d194dcddc5fec58ed46207e0654eb9bc27",
5
+ "kici-orchestrator": "sha256:86cc2e5c316492bffce415ac55989681491de25085258f411928ed19ad7a36fb"
6
6
  }
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kici-dev/orchestrator",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "description": "Customer-deployable orchestrator for the KiCI CI/CD stack. Receives webhook events (direct or via Platform relay), matches triggers against the lock file, and dispatches jobs to connected agents.",
5
5
  "keywords": [
6
6
  "ci",
@@ -30,6 +30,8 @@
30
30
  "files": [
31
31
  "dist",
32
32
  "!dist/**/*.map",
33
+ "!dist/server-test.d.ts",
34
+ "!dist/testing",
33
35
  "sbom.spdx.json",
34
36
  "installer-image-digests.json"
35
37
  ],
@@ -54,38 +56,41 @@
54
56
  "standalone.js": "src/standalone.ts",
55
57
  "cli.js": "src/cli/kici-admin.ts",
56
58
  "index.js": "src/index.ts"
59
+ },
60
+ "devEntries": {
61
+ "server-test.js": "src/server-test.ts"
57
62
  }
58
63
  },
59
64
  "dependencies": {
60
- "@aws-sdk/client-kms": "^3.1089.0",
61
- "@aws-sdk/client-s3": "^3.1089.0",
62
- "@aws-sdk/lib-storage": "^3.1089.0",
63
- "@aws-sdk/s3-request-presigner": "^3.1089.0",
64
- "@hono/node-server": "^2.0.10",
65
- "@inquirer/prompts": "^8.5.2",
66
- "@octokit/auth-app": "^8.2.0",
65
+ "@aws-sdk/client-kms": "^3.1121.0",
66
+ "@aws-sdk/client-s3": "^3.1121.0",
67
+ "@aws-sdk/lib-storage": "^3.1121.0",
68
+ "@aws-sdk/s3-request-presigner": "^3.1121.0",
69
+ "@hono/node-server": "^2.1.1",
70
+ "@inquirer/prompts": "^8.7.0",
71
+ "@octokit/auth-app": "^8.3.0",
67
72
  "@octokit/rest": "^22.0.1",
68
73
  "archiver": "^8.0.0",
69
74
  "commander": "^15.0.0",
70
75
  "croner": "^10.0.1",
71
76
  "dockerode": "^5.0.1",
72
- "hashi-vault-js": "^0.5.2",
73
- "hono": "^4.12.32",
74
- "jose": "^6.1.0",
77
+ "hashi-vault-js": "^0.5.3",
78
+ "hono": "^4.13.2",
79
+ "jose": "^6.2.10",
75
80
  "jsonpath-plus": "^10.4.0",
76
81
  "jszip": "^3.10.1",
77
82
  "kysely": "^0.29.4",
78
83
  "lru-cache": "^11.5.2",
79
- "nanoid": "^6.0.0",
80
- "pg": "^8.22.0",
81
- "picomatch": "^4.0.5",
84
+ "nanoid": "^6.0.1",
85
+ "pg": "^8.23.0",
86
+ "picomatch": "^4.0.7",
82
87
  "strip-ansi": "^7.2.0",
83
- "tar": "^7.5.20",
84
- "ws": "^8.21.1",
88
+ "tar": "^7.5.22",
89
+ "ws": "^8.21.3",
85
90
  "yaml": "^2.9.0",
86
91
  "zod": "^4.4.3",
87
- "@kici-dev/engine": "0.4.0",
88
- "@kici-dev/shared": "0.4.0"
92
+ "@kici-dev/shared": "0.6.0",
93
+ "@kici-dev/engine": "0.6.0"
89
94
  },
90
95
  "kici": {
91
96
  "metrics": {
@@ -100,7 +105,7 @@
100
105
  "@types/dockerode": "^4.0.1",
101
106
  "@types/ws": "^8.18.1",
102
107
  "kysely-ctl": "^0.21.0",
103
- "@kici-dev/agent": "0.4.0"
108
+ "@kici-dev/agent": "0.6.0"
104
109
  },
105
110
  "scripts": {
106
111
  "build": "node ../../scripts/build-service.mjs && tsgo --emitDeclarationOnly",