@kici-dev/engine 0.1.23 → 0.1.25

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 (146) hide show
  1. package/dist/approval/types.d.ts +1 -1
  2. package/dist/approval/types.js +1 -1
  3. package/dist/audit/access-log-policy.d.ts +4 -1
  4. package/dist/audit/access-log-policy.js +11 -2
  5. package/dist/audit/activity.d.ts +4 -2
  6. package/dist/audit/activity.js +15 -1
  7. package/dist/audit/retention-policy.js +5 -3
  8. package/dist/bundler/index.js +1 -1
  9. package/dist/bundler/rolldown-config.js +1 -1
  10. package/dist/check-mode.js +1 -1
  11. package/dist/dev-ops/operations.d.ts +56 -0
  12. package/dist/dev-ops/operations.js +135 -0
  13. package/dist/env/environment-allowlist.js +1 -1
  14. package/dist/environment/host-match.js +1 -1
  15. package/dist/environment/index.d.ts +2 -0
  16. package/dist/environment/index.js +4 -2
  17. package/dist/environment/multi-env.d.ts +30 -0
  18. package/dist/environment/multi-env.js +38 -0
  19. package/dist/environment/scope-resolver.js +1 -1
  20. package/dist/environment/scope-template.js +1 -1
  21. package/dist/environment/types.d.ts +8 -2
  22. package/dist/environment/types.js +19 -2
  23. package/dist/fanout/materialize.js +3 -3
  24. package/dist/index.d.ts +10 -1
  25. package/dist/index.js +25 -13
  26. package/dist/inputs/build.js +1 -1
  27. package/dist/inputs/coerce.js +1 -1
  28. package/dist/inputs/descriptor.js +1 -1
  29. package/dist/inputs/extract.js +1 -1
  30. package/dist/inputs/index.d.ts +1 -0
  31. package/dist/inputs/index.js +3 -2
  32. package/dist/inputs/schedule.d.ts +19 -0
  33. package/dist/inputs/schedule.js +33 -0
  34. package/dist/inventory.js +1 -1
  35. package/dist/labels/compile.js +1 -1
  36. package/dist/labels-match.js +1 -1
  37. package/dist/labels.js +2 -2
  38. package/dist/matrix/expand.js +1 -1
  39. package/dist/matrix/format.js +1 -1
  40. package/dist/mcp/fence.d.ts +22 -0
  41. package/dist/mcp/fence.js +65 -0
  42. package/dist/mcp/held-run-resolve.d.ts +52 -0
  43. package/dist/mcp/held-run-resolve.js +53 -0
  44. package/dist/mcp/tool-schemas.d.ts +74 -0
  45. package/dist/mcp/tool-schemas.js +78 -0
  46. package/dist/metrics/catalog-policy.js +1 -1
  47. package/dist/metrics/metric-catalog.generated.d.ts +105 -0
  48. package/dist/metrics/metric-catalog.generated.js +127 -1
  49. package/dist/protocol/analytics-events.js +1 -1
  50. package/dist/protocol/cluster-name.js +1 -1
  51. package/dist/protocol/dashboard-global-workflows.js +1 -1
  52. package/dist/protocol/dashboard-write-operations.d.ts +5 -1
  53. package/dist/protocol/dashboard-write-operations.js +13 -2
  54. package/dist/protocol/event-log-payload.js +1 -1
  55. package/dist/protocol/messages/access-log.d.ts +43 -20
  56. package/dist/protocol/messages/access-log.js +16 -2
  57. package/dist/protocol/messages/actor.d.ts +21 -0
  58. package/dist/protocol/messages/actor.js +42 -8
  59. package/dist/protocol/messages/agent-dev-ops.d.ts +118 -0
  60. package/dist/protocol/messages/agent-dev-ops.js +89 -0
  61. package/dist/protocol/messages/agent-run-result.d.ts +425 -0
  62. package/dist/protocol/messages/agent-run-result.js +165 -0
  63. package/dist/protocol/messages/auth.d.ts +3 -0
  64. package/dist/protocol/messages/auth.js +11 -2
  65. package/dist/protocol/messages/browser.js +1 -1
  66. package/dist/protocol/messages/capabilities.d.ts +3 -0
  67. package/dist/protocol/messages/capabilities.js +16 -3
  68. package/dist/protocol/messages/common.js +1 -1
  69. package/dist/protocol/messages/dashboard-global-workflows.d.ts +14 -0
  70. package/dist/protocol/messages/dashboard-global-workflows.js +1 -1
  71. package/dist/protocol/messages/dashboard.d.ts +1998 -48
  72. package/dist/protocol/messages/dashboard.js +269 -15
  73. package/dist/protocol/messages/deployment-identity.js +1 -1
  74. package/dist/protocol/messages/event-log.js +1 -1
  75. package/dist/protocol/messages/execution-status.d.ts +67 -4
  76. package/dist/protocol/messages/execution-status.js +133 -57
  77. package/dist/protocol/messages/join.js +1 -1
  78. package/dist/protocol/messages/log-pull.js +1 -1
  79. package/dist/protocol/messages/oidc-mint.d.ts +51 -0
  80. package/dist/protocol/messages/oidc-mint.js +55 -0
  81. package/dist/protocol/messages/oidc-token-relay.d.ts +31 -4
  82. package/dist/protocol/messages/oidc-token-relay.js +22 -7
  83. package/dist/protocol/messages/orchestrator-agent.d.ts +66 -5
  84. package/dist/protocol/messages/orchestrator-agent.js +35 -3
  85. package/dist/protocol/messages/pat-kind.d.ts +16 -0
  86. package/dist/protocol/messages/pat-kind.js +17 -0
  87. package/dist/protocol/messages/peer.d.ts +7 -7
  88. package/dist/protocol/messages/peer.js +1 -1
  89. package/dist/protocol/messages/platform-orchestrator.d.ts +685 -17
  90. package/dist/protocol/messages/platform-orchestrator.js +8 -5
  91. package/dist/protocol/messages/run-events.d.ts +8 -1
  92. package/dist/protocol/messages/run-events.js +1 -1
  93. package/dist/protocol/messages/scaler-event.js +1 -1
  94. package/dist/protocol/messages/source-registration.js +1 -1
  95. package/dist/protocol/source-origin.d.ts +20 -0
  96. package/dist/protocol/source-origin.js +21 -0
  97. package/dist/protocol/version.js +1 -1
  98. package/dist/provenance/attestation-origin.d.ts +18 -0
  99. package/dist/provenance/attestation-origin.js +22 -0
  100. package/dist/provenance/bundle.js +1 -1
  101. package/dist/provenance/dsse.js +1 -1
  102. package/dist/provenance/schema.d.ts +48 -0
  103. package/dist/provenance/schema.js +21 -7
  104. package/dist/provenance/statement-hash.d.ts +9 -0
  105. package/dist/provenance/statement-hash.js +17 -0
  106. package/dist/provenance/verify.d.ts +7 -0
  107. package/dist/provenance/verify.js +49 -10
  108. package/dist/provider/changed-files-fetcher.js +1 -1
  109. package/dist/provider/check-run-conclusion.d.ts +1 -1
  110. package/dist/provider/check-run-conclusion.js +1 -1
  111. package/dist/provider/check-status-poster.js +1 -1
  112. package/dist/provider/clone-token-provider.js +1 -1
  113. package/dist/provider/contributor-resolver.js +1 -1
  114. package/dist/provider/index.js +1 -1
  115. package/dist/provider/lock-file-fetcher.js +1 -1
  116. package/dist/provider/lock-file-parse-error.js +1 -1
  117. package/dist/provider/repo-url-builder.js +1 -1
  118. package/dist/provider/types.js +1 -1
  119. package/dist/provider/webhook-normalizer.js +1 -1
  120. package/dist/registration/registerable-trigger-type.d.ts +1 -1
  121. package/dist/registration/registerable-trigger-type.js +1 -1
  122. package/dist/{chunk-BTugEXQM.js → rolldown-runtime-ClRpJifh.js} +0 -1
  123. package/dist/scaler/resource-types.js +1 -1
  124. package/dist/scaler/scaler-backend-type.js +1 -1
  125. package/dist/secrets/index.d.ts +1 -1
  126. package/dist/secrets/index.js +1 -1
  127. package/dist/secrets/types.d.ts +0 -24
  128. package/dist/secrets/types.js +1 -1
  129. package/dist/state-machine/index.js +1 -1
  130. package/dist/state-machine/machine.js +1 -1
  131. package/dist/state-machine/types.js +1 -1
  132. package/dist/trigger/decision-trace.js +1 -1
  133. package/dist/trigger/jsonpath-matcher.js +1 -1
  134. package/dist/trigger/matcher.js +1 -1
  135. package/dist/trigger/trigger-event-type.js +1 -1
  136. package/dist/trigger/types.d.ts +35 -7
  137. package/dist/trigger/types.js +8 -3
  138. package/dist/webhook/signature.js +1 -1
  139. package/dist/webhook/webhook-url-format.d.ts +7 -0
  140. package/dist/webhook/webhook-url-format.js +11 -2
  141. package/dist/ws/close-codes.d.ts +8 -2
  142. package/dist/ws/close-codes.js +10 -4
  143. package/dist/ws/rate-limiter.js +1 -1
  144. package/dist/ws/ws-like.js +1 -1
  145. package/package.json +9 -1
  146. package/sbom.spdx.json +5 -5
@@ -69,30 +69,6 @@ export interface AddBackendParams {
69
69
  scopeFilter?: string;
70
70
  syncIntervalMs?: number;
71
71
  }
72
- /**
73
- * Backend lifecycle manager interface.
74
- * Provides CRUD, health checks, and connection testing for secret backends.
75
- */
76
- export interface BackendManager {
77
- /** Check backend connectivity. Returns health status. */
78
- checkHealth(name: string): Promise<BackendHealthStatus>;
79
- /** Trigger scope discovery sync for a backend (or all if name omitted). */
80
- syncScopes(name?: string): Promise<void>;
81
- /** List all registered backends (no credentials). */
82
- listBackends(): Promise<BackendDescriptor[]>;
83
- /** Get a single backend by name. */
84
- getBackend(name: string): Promise<BackendDescriptor | null>;
85
- /** Register a new backend. Returns the descriptor. */
86
- addBackend(params: AddBackendParams): Promise<BackendDescriptor>;
87
- /** Remove a backend by name. Returns true if removed. */
88
- removeBackend(name: string): Promise<boolean>;
89
- /** Test connectivity without persisting. */
90
- testConnection(params: AddBackendParams): Promise<{
91
- ok: boolean;
92
- error?: string;
93
- latencyMs: number;
94
- }>;
95
- }
96
72
  /**
97
73
  * Periodic scope sync manager for secret backends.
98
74
  */
@@ -1,2 +1,2 @@
1
- import "../chunk-BTugEXQM.js";
1
+ import "../rolldown-runtime-ClRpJifh.js";
2
2
  export {};
@@ -1,3 +1,3 @@
1
- import "../chunk-BTugEXQM.js";
1
+ import "../rolldown-runtime-ClRpJifh.js";
2
2
  import { isTerminal, transition } from "./machine.js";
3
3
  export { isTerminal, transition };
@@ -1,4 +1,4 @@
1
- import "../chunk-BTugEXQM.js";
1
+ import "../rolldown-runtime-ClRpJifh.js";
2
2
  import { TERMINAL_STATES } from "./types.js";
3
3
  //#region src/state-machine/machine.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import "../chunk-BTugEXQM.js";
1
+ import "../rolldown-runtime-ClRpJifh.js";
2
2
  //#region src/state-machine/types.ts
3
3
  /**
4
4
  * States from which no further transitions are possible.
@@ -1,4 +1,4 @@
1
- import "../chunk-BTugEXQM.js";
1
+ import "../rolldown-runtime-ClRpJifh.js";
2
2
  //#region src/trigger/decision-trace.ts
3
3
  /**
4
4
  * Create a new trace entry.
@@ -1,4 +1,4 @@
1
- import "../chunk-BTugEXQM.js";
1
+ import "../rolldown-runtime-ClRpJifh.js";
2
2
  import { JSONPath } from "jsonpath-plus";
3
3
  //#region src/trigger/jsonpath-matcher.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import "../chunk-BTugEXQM.js";
1
+ import "../rolldown-runtime-ClRpJifh.js";
2
2
  import { createTraceEntry, createWorkflowDecision } from "./decision-trace.js";
3
3
  import { matchJsonPath, matchJsonPathNot } from "./jsonpath-matcher.js";
4
4
  import picomatch from "picomatch";
@@ -1,4 +1,4 @@
1
- import "../chunk-BTugEXQM.js";
1
+ import "../rolldown-runtime-ClRpJifh.js";
2
2
  //#region src/trigger/trigger-event-type.ts
3
3
  /**
4
4
  * Canonical trigger event types with human-readable metadata.
@@ -19,6 +19,7 @@
19
19
  * Schema version 24: adds LockJob.runsOnPick (deterministic single-host selection).
20
20
  * Schema version 25: adds LockStep.retry (step retry policy data subset; retryIf is execution-only).
21
21
  * Schema version 26: adds LockJob.includeUninitialized (runsOnAll fans out to declared-but-un-agented hosts, bringing up a temporary init-runner per fresh box).
22
+ * Schema version 27: adds LockScheduleTrigger.inputs (defaults-only schedule dispatch inputs).
22
23
  */
23
24
  import { z } from 'zod';
24
25
  import type { ProviderType } from '../provider/types.js';
@@ -27,7 +28,7 @@ import type { InputsDescriptorMap } from '../inputs/descriptor.js';
27
28
  import { LabelMatcher } from '../labels-match.js';
28
29
  import { ExecutionJobStatus } from '../protocol/messages/execution-status.js';
29
30
  /** Schema version - increment on breaking changes */
30
- export declare const SCHEMA_VERSION: 26;
31
+ export declare const SCHEMA_VERSION: 29;
31
32
  /**
32
33
  * Normalized approval config carried in the lock file. Produced by the compiler
33
34
  * from an SDK `approval` at any of the three levels; consumed by the
@@ -292,6 +293,8 @@ export interface LockScheduleTrigger {
292
293
  readonly cronExpression: string;
293
294
  readonly timezone: string;
294
295
  readonly description?: string;
296
+ /** Typed schedule-input descriptors (from `schedule({ inputs })`); defaults-only. */
297
+ readonly inputs?: InputsDescriptorMap;
295
298
  }
296
299
  /**
297
300
  * Lifecycle trigger in lock file.
@@ -336,6 +339,8 @@ export interface LockRule {
336
339
  * Minimal representation - agents load full step functions from source.
337
340
  */
338
341
  export interface LockStep {
342
+ /** Discriminator for the step union; absent/`'sequential'` is an ordinary step. */
343
+ readonly kind?: 'sequential';
339
344
  readonly name: string;
340
345
  readonly hasOutputs: boolean;
341
346
  /** When true, job proceeds even if this step fails. */
@@ -358,6 +363,24 @@ export interface LockStep {
358
363
  /** Normalized approval gate; when set the step pauses for a human approval. */
359
364
  readonly approval?: LockApproval;
360
365
  }
366
+ /**
367
+ * A concurrent group of sequential steps in the lock file. Children run
368
+ * concurrently behind a join barrier; the group wrapper itself consumes no
369
+ * flat step index (its children carry the indices). No nesting is allowed.
370
+ */
371
+ export interface LockParallelStep {
372
+ readonly kind: 'parallel';
373
+ readonly name: string;
374
+ /** Cancel in-flight siblings when the first child fails (default true). */
375
+ readonly failFast: boolean;
376
+ /** Maximum children running at once; queued children report `pending`. */
377
+ readonly maxParallel?: number;
378
+ readonly children: readonly LockStep[];
379
+ }
380
+ /** A lock-file entry in a job's `steps` array: an ordinary step or a parallel group. */
381
+ export type LockStepEntry = LockStep | LockParallelStep;
382
+ /** Type guard distinguishing a parallel group from an ordinary lock step. */
383
+ export declare function isLockParallelStep(entry: LockStepEntry): entry is LockParallelStep;
361
384
  /**
362
385
  * Inline expression value for pure dynamic functions.
363
386
  * The compiler serializes pure functions as { _type: 'inline', expression: '(event) => ...' }
@@ -483,9 +506,9 @@ export type RunsOnAllInput = string | RegExp | readonly (string | RegExp)[] | {
483
506
  * never return), independent of this policy.
484
507
  */
485
508
  export declare const OnUnreachableMode: z.ZodEnum<{
509
+ hold: "hold";
486
510
  skip: "skip";
487
511
  fail: "fail";
488
- hold: "hold";
489
512
  }>;
490
513
  export type OnUnreachableMode = z.infer<typeof OnUnreachableMode>;
491
514
  /**
@@ -538,16 +561,21 @@ export interface LockJob {
538
561
  readonly needs: readonly (string | NeedsEntry | NeedsGroupEntry)[];
539
562
  /** Group names this job depends on (populated by compiler from dynamicGroup refs). */
540
563
  readonly dependsOnGroups?: readonly string[];
541
- readonly steps: readonly LockStep[];
564
+ readonly steps: readonly LockStepEntry[];
542
565
  readonly matrix?: LockMatrix;
543
566
  readonly include?: readonly Record<string, string>[];
544
567
  readonly exclude?: readonly Record<string, string>[];
545
568
  readonly rules?: readonly LockRule[];
546
569
  readonly description?: string;
547
- /** Deployment environment name (static string) or inline expression (pure function). */
548
- readonly environment?: string | LockInlineValue;
549
- /** When true, environment is dynamic (function) -- resolved at orchestrator two-phase eval or inline. */
550
- readonly dynamicEnvironment?: boolean;
570
+ /**
571
+ * Deployment environments in merge order. Each entry is a static name or inline
572
+ * expression (pure function); `dynamic` is set when it is a function resolved at
573
+ * two-phase eval. Later entries override earlier ones on name collisions.
574
+ */
575
+ readonly environments?: ReadonlyArray<{
576
+ value: string | LockInlineValue;
577
+ dynamic: boolean;
578
+ }>;
551
579
  /** Static environment variables or inline expression (pure function). */
552
580
  readonly env?: Record<string, string> | LockInlineValue;
553
581
  /** When true, env is dynamic (function) -- resolved at orchestrator two-phase eval or inline. */
@@ -1,4 +1,4 @@
1
- import "../chunk-BTugEXQM.js";
1
+ import "../rolldown-runtime-ClRpJifh.js";
2
2
  import { ExecutionJobStatus, TERMINAL_JOB_STATES } from "../protocol/messages/execution-status.js";
3
3
  import { z } from "zod";
4
4
  //#region src/trigger/types.ts
@@ -23,9 +23,14 @@ import { z } from "zod";
23
23
  * Schema version 24: adds LockJob.runsOnPick (deterministic single-host selection).
24
24
  * Schema version 25: adds LockStep.retry (step retry policy data subset; retryIf is execution-only).
25
25
  * Schema version 26: adds LockJob.includeUninitialized (runsOnAll fans out to declared-but-un-agented hosts, bringing up a temporary init-runner per fresh box).
26
+ * Schema version 27: adds LockScheduleTrigger.inputs (defaults-only schedule dispatch inputs).
26
27
  */
27
28
  /** Schema version - increment on breaking changes */
28
- const SCHEMA_VERSION = 26;
29
+ const SCHEMA_VERSION = 29;
30
+ /** Type guard distinguishing a parallel group from an ordinary lock step. */
31
+ function isLockParallelStep(entry) {
32
+ return entry.kind === "parallel";
33
+ }
29
34
  /** Type guard for inline expression values */
30
35
  function isLockInlineValue(value) {
31
36
  return typeof value === "object" && value !== null && value._type === "inline";
@@ -115,6 +120,6 @@ function isLockDynamicJobFn(job) {
115
120
  return job._type === "dynamic";
116
121
  }
117
122
  //#endregion
118
- export { NeedsEntrySchema, NeedsGroupEntrySchema, NeedsRunOn, NeedsWhen, OnUnreachableMode, RunsOnPick, SCHEMA_VERSION, isLockDynamicJobFn, isLockInlineValue, isLockStaticJob, resolveWhenToRunOn };
123
+ export { NeedsEntrySchema, NeedsGroupEntrySchema, NeedsRunOn, NeedsWhen, OnUnreachableMode, RunsOnPick, SCHEMA_VERSION, isLockDynamicJobFn, isLockInlineValue, isLockParallelStep, isLockStaticJob, resolveWhenToRunOn };
119
124
 
120
125
  //# sourceMappingURL=types.js.map
@@ -1,4 +1,4 @@
1
- import "../chunk-BTugEXQM.js";
1
+ import "../rolldown-runtime-ClRpJifh.js";
2
2
  import { createHmac, timingSafeEqual } from "node:crypto";
3
3
  //#region src/webhook/signature.ts
4
4
  /**
@@ -6,4 +6,11 @@
6
6
  * pre-flight so the two never drift.
7
7
  */
8
8
  export declare function githubWebhookPath(orgId: string): string;
9
+ /**
10
+ * Route shape for a direct GitHub-App webhook delivered straight to the
11
+ * orchestrator (bypassing the Platform relay). Per-source: the `:sourceId`
12
+ * segment identifies the local GitHub source. Shared by the orchestrator's
13
+ * ingress route handler and its local URL resolver so the two never drift.
14
+ */
15
+ export declare function githubIngressPath(orgId: string, sourceId: string): string;
9
16
  //# sourceMappingURL=webhook-url-format.d.ts.map
@@ -1,4 +1,4 @@
1
- import "../chunk-BTugEXQM.js";
1
+ import "../rolldown-runtime-ClRpJifh.js";
2
2
  //#region src/webhook/webhook-url-format.ts
3
3
  /**
4
4
  * Route shape for a GitHub App webhook. Org-scoped, NOT app-scoped — the app
@@ -10,7 +10,16 @@ import "../chunk-BTugEXQM.js";
10
10
  function githubWebhookPath(orgId) {
11
11
  return `/webhook/${orgId}/github`;
12
12
  }
13
+ /**
14
+ * Route shape for a direct GitHub-App webhook delivered straight to the
15
+ * orchestrator (bypassing the Platform relay). Per-source: the `:sourceId`
16
+ * segment identifies the local GitHub source. Shared by the orchestrator's
17
+ * ingress route handler and its local URL resolver so the two never drift.
18
+ */
19
+ function githubIngressPath(orgId, sourceId) {
20
+ return `/webhook/${orgId}/github/${sourceId}`;
21
+ }
13
22
  //#endregion
14
- export { githubWebhookPath };
23
+ export { githubIngressPath, githubWebhookPath };
15
24
 
16
25
  //# sourceMappingURL=webhook-url-format.js.map
@@ -29,8 +29,14 @@ export declare const WS_CLOSE_PLAN_LIMIT = 4020;
29
29
  * via `kici-admin cluster-name set <name>` before reconnecting.
30
30
  */
31
31
  export declare const WS_CLOSE_CLUSTER_NAME_CONFLICT = 4011;
32
- /** The connection was closed because the requested run was not found. */
33
- export declare const WS_CLOSE_RUN_NOT_FOUND = 4030;
32
+ /**
33
+ * The connection was closed to rebalance load across Platform instances. A
34
+ * newly-joined Platform instance asks peers holding excess connections to shed
35
+ * some; the affected orchestrators reconnect immediately and redistribute
36
+ * evenly. Not an error — the orchestrator treats it as a transient close and
37
+ * reconnects.
38
+ */
39
+ export declare const WS_CLOSE_REBALANCE = 4030;
34
40
  /**
35
41
  * The connection was closed because a job dispatch went unacknowledged past
36
42
  * its deadline. The orchestrator treats the dispatch as lost, requeues the
@@ -1,4 +1,4 @@
1
- import "../chunk-BTugEXQM.js";
1
+ import "../rolldown-runtime-ClRpJifh.js";
2
2
  //#region src/ws/close-codes.ts
3
3
  /**
4
4
  * Unified WebSocket close codes for KiCI connections.
@@ -31,8 +31,14 @@ const WS_CLOSE_PLAN_LIMIT = 4020;
31
31
  * via `kici-admin cluster-name set <name>` before reconnecting.
32
32
  */
33
33
  const WS_CLOSE_CLUSTER_NAME_CONFLICT = 4011;
34
- /** The connection was closed because the requested run was not found. */
35
- const WS_CLOSE_RUN_NOT_FOUND = 4030;
34
+ /**
35
+ * The connection was closed to rebalance load across Platform instances. A
36
+ * newly-joined Platform instance asks peers holding excess connections to shed
37
+ * some; the affected orchestrators reconnect immediately and redistribute
38
+ * evenly. Not an error — the orchestrator treats it as a transient close and
39
+ * reconnects.
40
+ */
41
+ const WS_CLOSE_REBALANCE = 4030;
36
42
  /**
37
43
  * The connection was closed because a job dispatch went unacknowledged past
38
44
  * its deadline. The orchestrator treats the dispatch as lost, requeues the
@@ -41,6 +47,6 @@ const WS_CLOSE_RUN_NOT_FOUND = 4030;
41
47
  */
42
48
  const WS_CLOSE_DISPATCH_ACK_TIMEOUT = 4031;
43
49
  //#endregion
44
- export { WS_CLOSE_AGENT_AUTH_FAILED, WS_CLOSE_AUTH_TIMEOUT, WS_CLOSE_CLUSTER_NAME_CONFLICT, WS_CLOSE_DISPATCH_ACK_TIMEOUT, WS_CLOSE_GOING_AWAY, WS_CLOSE_HEARTBEAT_TIMEOUT, WS_CLOSE_INTERNAL_ERROR, WS_CLOSE_INVALID_MESSAGE, WS_CLOSE_PLAN_LIMIT, WS_CLOSE_PROTOCOL_ERROR, WS_CLOSE_RUN_NOT_FOUND, WS_CLOSE_UNAUTHORIZED };
50
+ export { WS_CLOSE_AGENT_AUTH_FAILED, WS_CLOSE_AUTH_TIMEOUT, WS_CLOSE_CLUSTER_NAME_CONFLICT, WS_CLOSE_DISPATCH_ACK_TIMEOUT, WS_CLOSE_GOING_AWAY, WS_CLOSE_HEARTBEAT_TIMEOUT, WS_CLOSE_INTERNAL_ERROR, WS_CLOSE_INVALID_MESSAGE, WS_CLOSE_PLAN_LIMIT, WS_CLOSE_PROTOCOL_ERROR, WS_CLOSE_REBALANCE, WS_CLOSE_UNAUTHORIZED };
45
51
 
46
52
  //# sourceMappingURL=close-codes.js.map
@@ -1,4 +1,4 @@
1
- import "../chunk-BTugEXQM.js";
1
+ import "../rolldown-runtime-ClRpJifh.js";
2
2
  //#region src/ws/rate-limiter.ts
3
3
  /**
4
4
  * WebSocket rate limiter with two-tier token bucket (messages + bytes).
@@ -1,2 +1,2 @@
1
- import "../chunk-BTugEXQM.js";
1
+ import "../rolldown-runtime-ClRpJifh.js";
2
2
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kici-dev/engine",
3
- "version": "0.1.23",
3
+ "version": "0.1.25",
4
4
  "description": "Shared business logic for the KiCI CI/CD stack: protocol, triggers, state machine, and provider interfaces used by the Platform relay, orchestrator, and compiler.",
5
5
  "keywords": [
6
6
  "ci",
@@ -81,6 +81,10 @@
81
81
  "import": "./dist/protocol/messages/oidc-token-relay.js",
82
82
  "types": "./dist/protocol/messages/oidc-token-relay.d.ts"
83
83
  },
84
+ "./protocol/messages/oidc-mint": {
85
+ "import": "./dist/protocol/messages/oidc-mint.js",
86
+ "types": "./dist/protocol/messages/oidc-mint.d.ts"
87
+ },
84
88
  "./provenance/schema": {
85
89
  "import": "./dist/provenance/schema.js",
86
90
  "types": "./dist/provenance/schema.d.ts"
@@ -97,6 +101,10 @@
97
101
  "import": "./dist/provenance/verify.js",
98
102
  "types": "./dist/provenance/verify.d.ts"
99
103
  },
104
+ "./provenance/statement-hash": {
105
+ "import": "./dist/provenance/statement-hash.js",
106
+ "types": "./dist/provenance/statement-hash.d.ts"
107
+ },
100
108
  "./metrics/catalog": {
101
109
  "import": "./dist/metrics/metric-catalog.generated.js",
102
110
  "types": "./dist/metrics/metric-catalog.generated.d.ts"
package/sbom.spdx.json CHANGED
@@ -2,10 +2,10 @@
2
2
  "spdxVersion": "SPDX-2.3",
3
3
  "dataLicense": "CC0-1.0",
4
4
  "SPDXID": "SPDXRef-DOCUMENT",
5
- "name": "@kici-dev/engine@0.1.23",
6
- "documentNamespace": "https://kici.dev/sbom/%40kici-dev%2Fengine/0.1.23/8d393c8b-11ae-4191-987e-130f8fca7033",
5
+ "name": "@kici-dev/engine@0.1.25",
6
+ "documentNamespace": "https://kici.dev/sbom/%40kici-dev%2Fengine/0.1.25/1d119a82-cc7a-45cf-b310-0eab61d7151e",
7
7
  "creationInfo": {
8
- "created": "2026-06-25T11:12:41Z",
8
+ "created": "2026-07-05T08:32:25Z",
9
9
  "creators": [
10
10
  "Tool: kici-sbom-generator"
11
11
  ]
@@ -54,7 +54,7 @@
54
54
  {
55
55
  "SPDXID": "SPDXRef-RootPackage",
56
56
  "name": "@kici-dev/engine",
57
- "versionInfo": "0.1.23",
57
+ "versionInfo": "0.1.25",
58
58
  "downloadLocation": "NOASSERTION",
59
59
  "filesAnalyzed": false,
60
60
  "licenseConcluded": "NOASSERTION",
@@ -65,7 +65,7 @@
65
65
  {
66
66
  "referenceCategory": "PACKAGE-MANAGER",
67
67
  "referenceType": "purl",
68
- "referenceLocator": "pkg:npm/%40kici-dev/engine@0.1.23"
68
+ "referenceLocator": "pkg:npm/%40kici-dev/engine@0.1.25"
69
69
  }
70
70
  ],
71
71
  "description": "Shared business logic for the KiCI CI/CD stack: protocol, triggers, state machine, and provider interfaces used by the Platform relay, orchestrator, and compiler.",