@kici-dev/orchestrator 0.18.0 → 0.20.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.
@@ -8,9 +8,10 @@
8
8
  * `workflowRepoIdentifier` that is load-bearing: the tracker records it only
9
9
  * when the repository that defines the workflow differs from the one the run
10
10
  * acted on, so its presence marks a cross-repository global run downstream.
11
+ * Free text is clamped to the wire bound here, at the source.
11
12
  */
12
13
  import type { ExecutionContext } from '../reporting/execution-tracker.js';
13
- import type { ExecutionRunStatus, ExecutionStatus, InitFailure } from '@kici-dev/engine';
14
+ import { type ExecutionRunStatus, type ExecutionStatus, type InitFailure } from '@kici-dev/engine';
14
15
  export interface ExecutionStatusFrameArgs {
15
16
  messageId: string;
16
17
  runId: string;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Build the `job.status.forward` frame the orchestrator forwards to the Platform.
3
+ *
4
+ * Every optional field is sent only when the tracker supplied it, so the
5
+ * Platform reads an absent field as "no value" and keeps what it stored. Free
6
+ * text is clamped to the wire bound here, at the source, so a long agent error
7
+ * never produces a frame the Platform has to shorten.
8
+ */
9
+ import { type ExecutionJobStatus, type InitFailure, type JobStatusForward } from '@kici-dev/engine';
10
+ export interface JobStatusForwardFrameArgs {
11
+ messageId: string;
12
+ runId: string;
13
+ jobId: string;
14
+ jobName: string;
15
+ status: ExecutionJobStatus;
16
+ timestamp: number;
17
+ orchestratorId: string;
18
+ startedAt?: number;
19
+ completedAt?: number;
20
+ durationMs?: number;
21
+ errorMessage?: string;
22
+ agentId?: string;
23
+ runsOnLabels?: string[];
24
+ logBytes?: number;
25
+ initFailure?: InitFailure;
26
+ /** Ordered bound context names for a multi-context job. */
27
+ contexts?: string[];
28
+ }
29
+ export declare function buildJobStatusForwardFrame(args: JobStatusForwardFrameArgs): JobStatusForward;
30
+ //# sourceMappingURL=job-status-forward-frame.d.ts.map
@@ -0,0 +1,4 @@
1
+ import { type OrchestratorToPlatformMessage } from '@kici-dev/engine';
2
+ /** The frame to send (clamped for a guarded type), or null when it must not be sent. */
3
+ export declare function guardOutboundFrame(frame: OrchestratorToPlatformMessage): OrchestratorToPlatformMessage | null;
4
+ //# sourceMappingURL=outbound-frame-guard.d.ts.map
@@ -284,7 +284,11 @@ export declare class PlatformClient {
284
284
  connect(): void;
285
285
  /** Graceful disconnect; does not reconnect. */
286
286
  disconnect(): void;
287
- /** Send now when authenticated, otherwise buffer for the next connection. */
287
+ /**
288
+ * Send now when authenticated, otherwise buffer for the next connection. A
289
+ * status frame the Platform would refuse is dropped here (see
290
+ * `guardOutboundFrame`), so the buffer only ever holds frames that can be sent.
291
+ */
288
292
  send(message: OrchestratorToPlatformMessage): void;
289
293
  /**
290
294
  * Send the reconnect state replay as paced frames, each within the wire
@@ -340,6 +344,12 @@ export declare class PlatformClient {
340
344
  private handlePeerUpdate;
341
345
  /** Unbuffered send, for ACKs that must go now or not at all. */
342
346
  private sendDirect;
347
+ /**
348
+ * Send the frames buffered while disconnected, in order. A frame that cannot
349
+ * be serialized is dropped alone and the rest still go out. When the socket
350
+ * stops being open part-way, the frames not yet written go back into the
351
+ * buffer for the next connection instead of being lost.
352
+ */
343
353
  private flushBuffer;
344
354
  private startHeartbeat;
345
355
  private stopHeartbeat;
@@ -98,17 +98,27 @@ export interface TestRunStatusPayload {
98
98
  export declare function handleTestRunStatus(msg: TestRelayRunStatusRequest, deps: TestRelayHandlerDeps): Promise<TestRunStatusPayload | {
99
99
  error: string;
100
100
  }>;
101
+ /** Response payload for `test.relay.run.logs.response` (minus envelope fields). */
101
102
  export interface TestRunLogsPayload {
102
103
  lines: string[];
103
104
  nextCursor: number;
104
105
  done: boolean;
106
+ /** Opaque per-file cursor for the next poll; present when the request sent `logCursor`. */
107
+ nextLogCursor?: string;
105
108
  }
106
109
  /**
107
- * Return the next chunk of a run's logs from a monotonic line-offset cursor:
108
- * lines are concatenated in `(jobName ASC, stepIndex ASC, lineIndex ASC)` order
109
- * and `cursor` counts lines already delivered. `done` is true only when the run
110
- * is terminal AND the cursor reached the end, so a live or not-yet-drained poll
111
- * returns what exists with `done: false` and no line is dropped.
110
+ * Return the next chunk of a run's logs.
111
+ *
112
+ * With `logCursor` (the per-file cursor), each log file is read from its own
113
+ * offset, so a file that appears later is read from its first line wherever it
114
+ * sorts. Without it, the stream is the flat `(jobName, stepIndex, lineIndex)`
115
+ * concatenation and `cursor` counts the lines already delivered, which an
116
+ * older CLI sends.
117
+ *
118
+ * `done` is true only once the run is terminal and the stream is delivered to
119
+ * its end. For a terminal run, pending log appends are drained first, because
120
+ * the agent's chunks are persisted fire-and-forget and the status can turn
121
+ * terminal while the last write is still in flight.
112
122
  */
113
123
  export declare function handleTestRunLogs(msg: TestRelayRunLogsRequest, deps: TestRelayHandlerDeps): Promise<TestRunLogsPayload | {
114
124
  error: string;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * The opaque per-file cursor of a `kici run remote` log stream.
3
+ *
4
+ * It records, for each of a run's log files, how many lines the caller already
5
+ * received: `{ "<file>": <lines> }`, JSON-encoded, then base64url so it fits a
6
+ * query string. The file key is the path below `executions/<runId>/`. A file
7
+ * that appears later starts at line 0 wherever it sorts, so no line is lost or
8
+ * sent twice when a step's file sorts before a file that was already read.
9
+ */
10
+ import { z } from 'zod';
11
+ declare const offsetsSchema: z.ZodRecord<z.ZodString, z.ZodNumber>;
12
+ /** Lines already delivered from each of a run's log files. */
13
+ export type RunLogFileOffsets = z.infer<typeof offsetsSchema>;
14
+ export declare function encodeRunLogCursor(offsets: RunLogFileOffsets): string;
15
+ /** Decode a cursor. The start token decodes to no offsets; malformed input to null. */
16
+ export declare function decodeRunLogCursor(cursor: string): RunLogFileOffsets | null;
17
+ export {};
18
+ //# sourceMappingURL=test-run-log-cursor.d.ts.map
@@ -1,7 +1,7 @@
1
1
  {
2
- "version": "0.18.0",
2
+ "version": "0.20.0",
3
3
  "images": {
4
- "kici-agent": "sha256:af19d486765839afb181379d43f826af951038392b1fabc6b0ff3ceaf08c0641",
5
- "kici-orchestrator": "sha256:d7e0fd14671bc845a0bd07b6b6374a0eb357422a6c470b3790ef94e476739e0d"
4
+ "kici-agent": "sha256:860c84bf420d76ce0900b0e41fe9fde0a7dfe47862d933028ff48da7efb7d1a4",
5
+ "kici-orchestrator": "sha256:b2bd35ee87b94f2612622d47d2e7c0bf6fdb8487e9631366e91bf48920f698fb"
6
6
  }
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kici-dev/orchestrator",
3
- "version": "0.18.0",
3
+ "version": "0.20.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",
@@ -90,8 +90,8 @@
90
90
  "ws": "^8.21.3",
91
91
  "yaml": "^2.9.1",
92
92
  "zod": "^4.6.5",
93
- "@kici-dev/engine": "0.18.0",
94
- "@kici-dev/shared": "0.18.0"
93
+ "@kici-dev/engine": "0.20.0",
94
+ "@kici-dev/shared": "0.20.0"
95
95
  },
96
96
  "kici": {
97
97
  "metrics": {
@@ -106,7 +106,7 @@
106
106
  "@types/dockerode": "^4.0.1",
107
107
  "@types/ws": "^8.18.1",
108
108
  "kysely-ctl": "^0.21.0",
109
- "@kici-dev/agent": "0.18.0",
109
+ "@kici-dev/agent": "0.20.0",
110
110
  "@kici-dev/test-support": "0.0.0"
111
111
  },
112
112
  "scripts": {
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/orchestrator@0.18.0",
6
- "documentNamespace": "https://kici.dev/sbom/%40kici-dev%2Forchestrator/0.18.0/f6394886-a872-49bd-a317-c943d8affb5b",
5
+ "name": "@kici-dev/orchestrator@0.20.0",
6
+ "documentNamespace": "https://kici.dev/sbom/%40kici-dev%2Forchestrator/0.20.0/5a49c6d3-45cd-4b94-8d53-78bd4bffd04d",
7
7
  "creationInfo": {
8
- "created": "2026-10-15T18:02:40Z",
8
+ "created": "2026-10-17T10:01:06Z",
9
9
  "creators": [
10
10
  "Tool: kici-sbom-generator"
11
11
  ]
@@ -964,9 +964,9 @@
964
964
  "homepage": "https://ericsmekens.github.io/jsep/tree/master/packages/regex#readme"
965
965
  },
966
966
  {
967
- "SPDXID": "SPDXRef-Package--kici-dev-core-0.18.0",
967
+ "SPDXID": "SPDXRef-Package--kici-dev-core-0.20.0",
968
968
  "name": "@kici-dev/core",
969
- "versionInfo": "0.18.0",
969
+ "versionInfo": "0.20.0",
970
970
  "downloadLocation": "NOASSERTION",
971
971
  "filesAnalyzed": false,
972
972
  "licenseConcluded": "NOASSERTION",
@@ -977,16 +977,16 @@
977
977
  {
978
978
  "referenceCategory": "PACKAGE-MANAGER",
979
979
  "referenceType": "purl",
980
- "referenceLocator": "pkg:npm/%40kici-dev/core@0.18.0"
980
+ "referenceLocator": "pkg:npm/%40kici-dev/core@0.20.0"
981
981
  }
982
982
  ],
983
983
  "description": "Light shared utilities for the KiCI stack (logging, errors, formatting, crypto, zx init, the TypeScript ESM loader hook). No server-side dependencies.",
984
984
  "homepage": "https://kici.dev"
985
985
  },
986
986
  {
987
- "SPDXID": "SPDXRef-Package--kici-dev-engine-0.18.0",
987
+ "SPDXID": "SPDXRef-Package--kici-dev-engine-0.20.0",
988
988
  "name": "@kici-dev/engine",
989
- "versionInfo": "0.18.0",
989
+ "versionInfo": "0.20.0",
990
990
  "downloadLocation": "NOASSERTION",
991
991
  "filesAnalyzed": false,
992
992
  "licenseConcluded": "NOASSERTION",
@@ -997,7 +997,7 @@
997
997
  {
998
998
  "referenceCategory": "PACKAGE-MANAGER",
999
999
  "referenceType": "purl",
1000
- "referenceLocator": "pkg:npm/%40kici-dev/engine@0.18.0"
1000
+ "referenceLocator": "pkg:npm/%40kici-dev/engine@0.20.0"
1001
1001
  }
1002
1002
  ],
1003
1003
  "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.",
@@ -1006,7 +1006,7 @@
1006
1006
  {
1007
1007
  "SPDXID": "SPDXRef-RootPackage",
1008
1008
  "name": "@kici-dev/orchestrator",
1009
- "versionInfo": "0.18.0",
1009
+ "versionInfo": "0.20.0",
1010
1010
  "downloadLocation": "NOASSERTION",
1011
1011
  "filesAnalyzed": false,
1012
1012
  "licenseConcluded": "NOASSERTION",
@@ -1017,16 +1017,16 @@
1017
1017
  {
1018
1018
  "referenceCategory": "PACKAGE-MANAGER",
1019
1019
  "referenceType": "purl",
1020
- "referenceLocator": "pkg:npm/%40kici-dev/orchestrator@0.18.0"
1020
+ "referenceLocator": "pkg:npm/%40kici-dev/orchestrator@0.20.0"
1021
1021
  }
1022
1022
  ],
1023
1023
  "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.",
1024
1024
  "homepage": "https://kici.dev"
1025
1025
  },
1026
1026
  {
1027
- "SPDXID": "SPDXRef-Package--kici-dev-shared-0.18.0",
1027
+ "SPDXID": "SPDXRef-Package--kici-dev-shared-0.20.0",
1028
1028
  "name": "@kici-dev/shared",
1029
- "versionInfo": "0.18.0",
1029
+ "versionInfo": "0.20.0",
1030
1030
  "downloadLocation": "NOASSERTION",
1031
1031
  "filesAnalyzed": false,
1032
1032
  "licenseConcluded": "NOASSERTION",
@@ -1037,7 +1037,7 @@
1037
1037
  {
1038
1038
  "referenceCategory": "PACKAGE-MANAGER",
1039
1039
  "referenceType": "purl",
1040
- "referenceLocator": "pkg:npm/%40kici-dev/shared@0.18.0"
1040
+ "referenceLocator": "pkg:npm/%40kici-dev/shared@0.20.0"
1041
1041
  }
1042
1042
  ],
1043
1043
  "description": "Shared utilities for the KiCI CI/CD stack — logging, zx setup, crypto, telemetry, health and metrics routes. No business logic.",
@@ -7676,62 +7676,62 @@
7676
7676
  "relationshipType": "DEPENDS_ON"
7677
7677
  },
7678
7678
  {
7679
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.18.0",
7679
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.20.0",
7680
7680
  "relatedSpdxElement": "SPDXRef-Package-oxc-transform-0.150.0",
7681
7681
  "relationshipType": "DEPENDS_ON"
7682
7682
  },
7683
7683
  {
7684
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.18.0",
7684
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.20.0",
7685
7685
  "relatedSpdxElement": "SPDXRef-Package-picocolors-1.1.1",
7686
7686
  "relationshipType": "DEPENDS_ON"
7687
7687
  },
7688
7688
  {
7689
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.18.0",
7689
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.20.0",
7690
7690
  "relatedSpdxElement": "SPDXRef-Package-winston-daily-rotate-file-5.0.0",
7691
7691
  "relationshipType": "DEPENDS_ON"
7692
7692
  },
7693
7693
  {
7694
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.18.0",
7694
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.20.0",
7695
7695
  "relatedSpdxElement": "SPDXRef-Package-winston-3.19.0",
7696
7696
  "relationshipType": "DEPENDS_ON"
7697
7697
  },
7698
7698
  {
7699
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.18.0",
7699
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.20.0",
7700
7700
  "relatedSpdxElement": "SPDXRef-Package-zod-4.6.5",
7701
7701
  "relationshipType": "DEPENDS_ON"
7702
7702
  },
7703
7703
  {
7704
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.18.0",
7704
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.20.0",
7705
7705
  "relatedSpdxElement": "SPDXRef-Package-zx-8.8.5",
7706
7706
  "relationshipType": "DEPENDS_ON"
7707
7707
  },
7708
7708
  {
7709
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.18.0",
7709
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.20.0",
7710
7710
  "relatedSpdxElement": "SPDXRef-Package-jose-6.2.12",
7711
7711
  "relationshipType": "DEPENDS_ON"
7712
7712
  },
7713
7713
  {
7714
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.18.0",
7714
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.20.0",
7715
7715
  "relatedSpdxElement": "SPDXRef-Package-jsonpath-plus-10.4.0",
7716
7716
  "relationshipType": "DEPENDS_ON"
7717
7717
  },
7718
7718
  {
7719
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.18.0",
7719
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.20.0",
7720
7720
  "relatedSpdxElement": "SPDXRef-Package-picomatch-4.0.7",
7721
7721
  "relationshipType": "DEPENDS_ON"
7722
7722
  },
7723
7723
  {
7724
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.18.0",
7724
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.20.0",
7725
7725
  "relatedSpdxElement": "SPDXRef-Package-safe-regex-2.1.1",
7726
7726
  "relationshipType": "DEPENDS_ON"
7727
7727
  },
7728
7728
  {
7729
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.18.0",
7729
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.20.0",
7730
7730
  "relatedSpdxElement": "SPDXRef-Package-yaml-2.9.1",
7731
7731
  "relationshipType": "DEPENDS_ON"
7732
7732
  },
7733
7733
  {
7734
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.18.0",
7734
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.20.0",
7735
7735
  "relatedSpdxElement": "SPDXRef-Package-zod-4.6.5",
7736
7736
  "relationshipType": "DEPENDS_ON"
7737
7737
  },
@@ -7767,12 +7767,12 @@
7767
7767
  },
7768
7768
  {
7769
7769
  "spdxElementId": "SPDXRef-RootPackage",
7770
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-engine-0.18.0",
7770
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-engine-0.20.0",
7771
7771
  "relationshipType": "DEPENDS_ON"
7772
7772
  },
7773
7773
  {
7774
7774
  "spdxElementId": "SPDXRef-RootPackage",
7775
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-shared-0.18.0",
7775
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-shared-0.20.0",
7776
7776
  "relationshipType": "DEPENDS_ON"
7777
7777
  },
7778
7778
  {
@@ -7881,117 +7881,117 @@
7881
7881
  "relationshipType": "DEPENDS_ON"
7882
7882
  },
7883
7883
  {
7884
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7884
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7885
7885
  "relatedSpdxElement": "SPDXRef-Package--aws-sdk-client-s3-3.1135.0",
7886
7886
  "relationshipType": "DEPENDS_ON"
7887
7887
  },
7888
7888
  {
7889
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7890
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-core-0.18.0",
7889
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7890
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-core-0.20.0",
7891
7891
  "relationshipType": "DEPENDS_ON"
7892
7892
  },
7893
7893
  {
7894
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7895
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-engine-0.18.0",
7894
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7895
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-engine-0.20.0",
7896
7896
  "relationshipType": "DEPENDS_ON"
7897
7897
  },
7898
7898
  {
7899
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7899
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7900
7900
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-api-1.9.1",
7901
7901
  "relationshipType": "DEPENDS_ON"
7902
7902
  },
7903
7903
  {
7904
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7904
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7905
7905
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-exporter-metrics-otlp-http-0.222.0",
7906
7906
  "relationshipType": "DEPENDS_ON"
7907
7907
  },
7908
7908
  {
7909
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7909
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7910
7910
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-exporter-prometheus-0.222.0",
7911
7911
  "relationshipType": "DEPENDS_ON"
7912
7912
  },
7913
7913
  {
7914
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7914
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7915
7915
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-exporter-trace-otlp-http-0.222.0",
7916
7916
  "relationshipType": "DEPENDS_ON"
7917
7917
  },
7918
7918
  {
7919
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7919
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7920
7920
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-instrumentation-runtime-node-0.35.0",
7921
7921
  "relationshipType": "DEPENDS_ON"
7922
7922
  },
7923
7923
  {
7924
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7924
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7925
7925
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-resources-2.11.0",
7926
7926
  "relationshipType": "DEPENDS_ON"
7927
7927
  },
7928
7928
  {
7929
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7929
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7930
7930
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-sdk-node-0.222.0",
7931
7931
  "relationshipType": "DEPENDS_ON"
7932
7932
  },
7933
7933
  {
7934
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7934
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7935
7935
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-semantic-conventions-1.43.0",
7936
7936
  "relationshipType": "DEPENDS_ON"
7937
7937
  },
7938
7938
  {
7939
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7939
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7940
7940
  "relatedSpdxElement": "SPDXRef-Package-archiver-8.0.0",
7941
7941
  "relationshipType": "DEPENDS_ON"
7942
7942
  },
7943
7943
  {
7944
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7944
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7945
7945
  "relatedSpdxElement": "SPDXRef-Package-diff-9.0.0",
7946
7946
  "relationshipType": "DEPENDS_ON"
7947
7947
  },
7948
7948
  {
7949
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7949
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7950
7950
  "relatedSpdxElement": "SPDXRef-Package-hono-4.13.7",
7951
7951
  "relationshipType": "DEPENDS_ON"
7952
7952
  },
7953
7953
  {
7954
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7954
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7955
7955
  "relatedSpdxElement": "SPDXRef-Package-kysely-0.29.4",
7956
7956
  "relationshipType": "DEPENDS_ON"
7957
7957
  },
7958
7958
  {
7959
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7959
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7960
7960
  "relatedSpdxElement": "SPDXRef-Package-oxc-transform-0.150.0",
7961
7961
  "relationshipType": "DEPENDS_ON"
7962
7962
  },
7963
7963
  {
7964
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7964
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7965
7965
  "relatedSpdxElement": "SPDXRef-Package-pg-8.23.0",
7966
7966
  "relationshipType": "DEPENDS_ON"
7967
7967
  },
7968
7968
  {
7969
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7969
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7970
7970
  "relatedSpdxElement": "SPDXRef-Package-picocolors-1.1.1",
7971
7971
  "relationshipType": "DEPENDS_ON"
7972
7972
  },
7973
7973
  {
7974
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7974
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7975
7975
  "relatedSpdxElement": "SPDXRef-Package-winston-daily-rotate-file-5.0.0",
7976
7976
  "relationshipType": "DEPENDS_ON"
7977
7977
  },
7978
7978
  {
7979
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7979
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7980
7980
  "relatedSpdxElement": "SPDXRef-Package-winston-3.19.0",
7981
7981
  "relationshipType": "DEPENDS_ON"
7982
7982
  },
7983
7983
  {
7984
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7984
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7985
7985
  "relatedSpdxElement": "SPDXRef-Package-yaml-2.9.1",
7986
7986
  "relationshipType": "DEPENDS_ON"
7987
7987
  },
7988
7988
  {
7989
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7989
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7990
7990
  "relatedSpdxElement": "SPDXRef-Package-zod-4.6.5",
7991
7991
  "relationshipType": "DEPENDS_ON"
7992
7992
  },
7993
7993
  {
7994
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.18.0",
7994
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.20.0",
7995
7995
  "relatedSpdxElement": "SPDXRef-Package-zx-8.8.5",
7996
7996
  "relationshipType": "DEPENDS_ON"
7997
7997
  },