@kici-dev/agent 0.1.18 → 0.1.20

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.
@@ -25,6 +25,14 @@ export interface AttestResult {
25
25
  subjectDigest: string;
26
26
  }
27
27
  export declare function attestProvenance(deps: AttestDeps, input: AttestInput): Promise<AttestResult>;
28
- /** Pick the primary digest (`sha256` preferred) as the storage-key discriminator. */
28
+ /**
29
+ * Pick the primary digest (`sha256` preferred) as the storage-key discriminator.
30
+ * Throws when the subject carries no digest: an empty digest set would otherwise
31
+ * yield an `undefined` storage-key segment (`provenance/<run>/<job>/undefined.kici.json`)
32
+ * and an unverifiable statement, since in-toto requires every subject to carry
33
+ * at least one digest. The SDK `ProvenanceSubjectInput` type allows an empty
34
+ * digest map (both `sha256` and `sha512` are optional), so this is the runtime
35
+ * boundary that upholds the engine `digestSetSchema` invariant.
36
+ */
29
37
  export declare function subjectDigestString(subject: ProvenanceSubject): string;
30
38
  //# sourceMappingURL=attest.d.ts.map
package/dist/server.js CHANGED
@@ -15,8 +15,9 @@ import { LOGGER_ENV_VARS, defineEnv, validateUnknownKiciVars } from "@kici-dev/s
15
15
  import { ALLOWED_SYSTEM_VARS, CacheRunEventType, CacheStepType, ExecutionJobStatus, ExecutionStepStatus, InitFailureCategory, KNOWN_ROLES, PROTOCOL_VERSION, SANDBOX_DEFAULT_VARS, WS_CLOSE_AGENT_AUTH_FAILED, WS_MAX_PAYLOAD_BYTES, applyIncludeExclude, deriveOsArchLabels, expandMatrix, heartbeatSchema, hostLabel, mergeAutoLabels, orchestratorToAgentMessageSchema, resolveRoleLabels, validateNoReservedLabels } from "@kici-dev/engine";
16
16
  import { execFile, execFileSync, execSync, fork, spawn } from "node:child_process";
17
17
  import WebSocket from "ws";
18
- import { ZipArchive } from "archiver";
18
+ import * as fs$2 from "node:fs";
19
19
  import fs, { existsSync } from "node:fs";
20
+ import { ZipArchive } from "archiver";
20
21
  import path, { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
21
22
  import { fileURLToPath, pathToFileURL } from "node:url";
22
23
  import { AsyncLocalStorage } from "node:async_hooks";
@@ -215,7 +216,7 @@ async function buildAgentMiniBundle(opts) {
215
216
  uptime: os$1.uptime()
216
217
  }, null, 2), { name: "system/info.json" });
217
218
  if (opts.metricsText) archive.append(opts.metricsText, { name: "system/metrics.txt" });
218
- if (opts.logDir) await addLogsToArchive(archive, opts.logDir, opts.logWindowHours);
219
+ if (opts.logDir && fs$2.existsSync(opts.logDir)) await addLogsToArchive(archive, opts.logDir, opts.logWindowHours);
219
220
  await archive.finalize();
220
221
  await done;
221
222
  return Buffer.concat(chunks);
@@ -1299,13 +1300,13 @@ var init_console_capture = __esmMin((() => {
1299
1300
  init_console_capture();
1300
1301
  function safe(name, fallback = "unknown") {
1301
1302
  switch (name) {
1302
- case "version": return "0.1.18";
1303
- case "buildCommit": return "d8cff38bb";
1304
- case "sdkVersion": return "0.1.18";
1303
+ case "version": return "0.1.20";
1304
+ case "buildCommit": return "f12ea0665";
1305
+ case "sdkVersion": return "0.1.20";
1305
1306
  case "sdkBundleHash": return "8308089347c304e41b457d3867b17bbff11d6b5cd9706b6823e7abdbd849f33f";
1306
- case "sharedVersion": return "0.1.18";
1307
+ case "sharedVersion": return "0.1.20";
1307
1308
  case "sharedBundleHash": return "5f2c220f24d166b0f13d0620a2e80d19689ac8b683a12154daef44e938fd46a7";
1308
- case "engineVersion": return "0.1.18";
1309
+ case "engineVersion": return "0.1.20";
1309
1310
  case "engineBundleHash": return "79ce14640d1798eaaa7cb3aa6c4bc325da3bff1e9f4716936e19614eabb1d858";
1310
1311
  default: return fallback;
1311
1312
  }
@@ -1992,7 +1993,7 @@ async function extractStepsFromDynamicJob(workflow, dynamicIndex, jobName, event
1992
1993
  }
1993
1994
  var AGENT_SDK_VERSION, AGENT_SDK_BUNDLE_HASH, hookRegistered;
1994
1995
  var init_workflow_loader = __esmMin((() => {
1995
- AGENT_SDK_VERSION = "0.1.18";
1996
+ AGENT_SDK_VERSION = "0.1.20";
1996
1997
  AGENT_SDK_BUNDLE_HASH = "8308089347c304e41b457d3867b17bbff11d6b5cd9706b6823e7abdbd849f33f";
1997
1998
  hookRegistered = false;
1998
1999
  }));
@@ -6405,13 +6406,13 @@ var init_job_runner = __esmMin((() => {
6405
6406
  */
6406
6407
  init_console_capture();
6407
6408
  init_npm_resolver();
6408
- const AGENT_VERSION = "0.1.18";
6409
- const BUILD_COMMIT = "d8cff38bb";
6410
- const SDK_VERSION = "0.1.18";
6409
+ const AGENT_VERSION = "0.1.20";
6410
+ const BUILD_COMMIT = "f12ea0665";
6411
+ const SDK_VERSION = "0.1.20";
6411
6412
  const SDK_BUNDLE_HASH = "8308089347c304e41b457d3867b17bbff11d6b5cd9706b6823e7abdbd849f33f";
6412
- const SHARED_VERSION = "0.1.18";
6413
+ const SHARED_VERSION = "0.1.20";
6413
6414
  const SHARED_BUNDLE_HASH = "5f2c220f24d166b0f13d0620a2e80d19689ac8b683a12154daef44e938fd46a7";
6414
- const ENGINE_VERSION = "0.1.18";
6415
+ const ENGINE_VERSION = "0.1.20";
6415
6416
  const ENGINE_BUNDLE_HASH = "79ce14640d1798eaaa7cb3aa6c4bc325da3bff1e9f4716936e19614eabb1d858";
6416
6417
  initTelemetry({
6417
6418
  serviceName: "kici-agent",
@@ -124,6 +124,7 @@ async function signStatementDsse(payloadType, statementBytes) {
124
124
  */
125
125
  async function attestProvenance(deps, input) {
126
126
  const audience = input.audience ?? KICI_PROVENANCE_AUDIENCE;
127
+ const subjectDigest = subjectDigestString(input.subject);
127
128
  const { token } = await deps.getIdToken({ audience });
128
129
  const claims = decodeJwt(token);
129
130
  const now = (deps.now ?? (() => (/* @__PURE__ */ new Date()).toISOString()))();
@@ -143,16 +144,25 @@ async function attestProvenance(deps, input) {
143
144
  identityToken: token
144
145
  }
145
146
  };
146
- const subjectDigest = subjectDigestString(input.subject);
147
147
  return {
148
148
  storageKey: await deps.persist(bundle, subjectDigest),
149
149
  bundle,
150
150
  subjectDigest
151
151
  };
152
152
  }
153
- /** Pick the primary digest (`sha256` preferred) as the storage-key discriminator. */
153
+ /**
154
+ * Pick the primary digest (`sha256` preferred) as the storage-key discriminator.
155
+ * Throws when the subject carries no digest: an empty digest set would otherwise
156
+ * yield an `undefined` storage-key segment (`provenance/<run>/<job>/undefined.kici.json`)
157
+ * and an unverifiable statement, since in-toto requires every subject to carry
158
+ * at least one digest. The SDK `ProvenanceSubjectInput` type allows an empty
159
+ * digest map (both `sha256` and `sha512` are optional), so this is the runtime
160
+ * boundary that upholds the engine `digestSetSchema` invariant.
161
+ */
154
162
  function subjectDigestString(subject) {
155
- return subject.digest.sha256 ?? Object.values(subject.digest)[0];
163
+ const digest = subject.digest.sha256 ?? Object.values(subject.digest)[0];
164
+ if (digest === void 0) throw new Error("provenance subject digest is empty: at least one digest algorithm is required");
165
+ return digest;
156
166
  }
157
167
  //#endregion
158
168
  //#region src/execution/dep-restore.ts
@@ -3013,7 +3023,7 @@ function logSubprocessStreams(e, tokens) {
3013
3023
  * no Rolldown step at runtime. `@kici-dev/sdk` and host-repo deps resolve via
3014
3024
  * Node's normal ESM lookup against `.kici/node_modules/`.
3015
3025
  */
3016
- const AGENT_SDK_VERSION = "0.1.18";
3026
+ const AGENT_SDK_VERSION = "0.1.20";
3017
3027
  const AGENT_SDK_BUNDLE_HASH = "8308089347c304e41b457d3867b17bbff11d6b5cd9706b6823e7abdbd849f33f";
3018
3028
  /**
3019
3029
  * Register the `@kici-dev/core/ts-loader-hook` oxc-transform ESM loader hook so
@@ -3376,7 +3386,7 @@ async function applyOverlay(config) {
3376
3386
  */
3377
3387
  init_download();
3378
3388
  init_dep_restore();
3379
- const AGENT_VERSION = "0.1.18";
3389
+ const AGENT_VERSION = "0.1.20";
3380
3390
  process.on("uncaughtException", (err) => {
3381
3391
  process.stderr.write(`[workflow-runner] UNCAUGHT EXCEPTION: ${err.message}\n`);
3382
3392
  if (err.stack) process.stderr.write(`[workflow-runner] Stack: ${err.stack}\n`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kici-dev/agent",
3
- "version": "0.1.18",
3
+ "version": "0.1.20",
4
4
  "description": "Customer-deployable agent for the KiCI CI/CD stack. Connects to an orchestrator, clones the workflow repo, executes steps, and streams logs back.",
5
5
  "keywords": [
6
6
  "ci",
@@ -64,10 +64,10 @@
64
64
  "yaml": "^2.9.0",
65
65
  "zod": "^4.4.3",
66
66
  "zx": "^8.8.5",
67
- "@kici-dev/core": "0.1.18",
68
- "@kici-dev/sdk": "0.1.18",
69
- "@kici-dev/engine": "0.1.18",
70
- "@kici-dev/shared": "0.1.18"
67
+ "@kici-dev/core": "0.1.20",
68
+ "@kici-dev/engine": "0.1.20",
69
+ "@kici-dev/sdk": "0.1.20",
70
+ "@kici-dev/shared": "0.1.20"
71
71
  },
72
72
  "kici": {
73
73
  "metrics": {
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/agent@0.1.18",
6
- "documentNamespace": "https://kici.dev/sbom/%40kici-dev%2Fagent/0.1.18/2089a0f0-6ecd-46fa-93a8-a8b9ff94e643",
5
+ "name": "@kici-dev/agent@0.1.20",
6
+ "documentNamespace": "https://kici.dev/sbom/%40kici-dev%2Fagent/0.1.20/10164ea2-3d04-4dfc-8f64-f8df768e806f",
7
7
  "creationInfo": {
8
- "created": "2026-06-17T10:56:11Z",
8
+ "created": "2026-06-19T09:07:39Z",
9
9
  "creators": [
10
10
  "Tool: kici-sbom-generator"
11
11
  ]
@@ -816,7 +816,7 @@
816
816
  {
817
817
  "SPDXID": "SPDXRef-RootPackage",
818
818
  "name": "@kici-dev/agent",
819
- "versionInfo": "0.1.18",
819
+ "versionInfo": "0.1.20",
820
820
  "downloadLocation": "NOASSERTION",
821
821
  "filesAnalyzed": false,
822
822
  "licenseConcluded": "NOASSERTION",
@@ -827,16 +827,16 @@
827
827
  {
828
828
  "referenceCategory": "PACKAGE-MANAGER",
829
829
  "referenceType": "purl",
830
- "referenceLocator": "pkg:npm/%40kici-dev/agent@0.1.18"
830
+ "referenceLocator": "pkg:npm/%40kici-dev/agent@0.1.20"
831
831
  }
832
832
  ],
833
833
  "description": "Customer-deployable agent for the KiCI CI/CD stack. Connects to an orchestrator, clones the workflow repo, executes steps, and streams logs back.",
834
834
  "homepage": "https://kici.dev"
835
835
  },
836
836
  {
837
- "SPDXID": "SPDXRef-Package--kici-dev-core-0.1.18",
837
+ "SPDXID": "SPDXRef-Package--kici-dev-core-0.1.20",
838
838
  "name": "@kici-dev/core",
839
- "versionInfo": "0.1.18",
839
+ "versionInfo": "0.1.20",
840
840
  "downloadLocation": "NOASSERTION",
841
841
  "filesAnalyzed": false,
842
842
  "licenseConcluded": "NOASSERTION",
@@ -847,16 +847,16 @@
847
847
  {
848
848
  "referenceCategory": "PACKAGE-MANAGER",
849
849
  "referenceType": "purl",
850
- "referenceLocator": "pkg:npm/%40kici-dev/core@0.1.18"
850
+ "referenceLocator": "pkg:npm/%40kici-dev/core@0.1.20"
851
851
  }
852
852
  ],
853
853
  "description": "Light shared utilities for the KiCI stack (logging, errors, formatting, crypto, zx init, the TypeScript ESM loader hook). No server-side dependencies.",
854
854
  "homepage": "https://kici.dev"
855
855
  },
856
856
  {
857
- "SPDXID": "SPDXRef-Package--kici-dev-engine-0.1.18",
857
+ "SPDXID": "SPDXRef-Package--kici-dev-engine-0.1.20",
858
858
  "name": "@kici-dev/engine",
859
- "versionInfo": "0.1.18",
859
+ "versionInfo": "0.1.20",
860
860
  "downloadLocation": "NOASSERTION",
861
861
  "filesAnalyzed": false,
862
862
  "licenseConcluded": "NOASSERTION",
@@ -867,16 +867,16 @@
867
867
  {
868
868
  "referenceCategory": "PACKAGE-MANAGER",
869
869
  "referenceType": "purl",
870
- "referenceLocator": "pkg:npm/%40kici-dev/engine@0.1.18"
870
+ "referenceLocator": "pkg:npm/%40kici-dev/engine@0.1.20"
871
871
  }
872
872
  ],
873
873
  "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.",
874
874
  "homepage": "https://kici.dev"
875
875
  },
876
876
  {
877
- "SPDXID": "SPDXRef-Package--kici-dev-sdk-0.1.18",
877
+ "SPDXID": "SPDXRef-Package--kici-dev-sdk-0.1.20",
878
878
  "name": "@kici-dev/sdk",
879
- "versionInfo": "0.1.18",
879
+ "versionInfo": "0.1.20",
880
880
  "downloadLocation": "NOASSERTION",
881
881
  "filesAnalyzed": false,
882
882
  "licenseConcluded": "NOASSERTION",
@@ -887,16 +887,16 @@
887
887
  {
888
888
  "referenceCategory": "PACKAGE-MANAGER",
889
889
  "referenceType": "purl",
890
- "referenceLocator": "pkg:npm/%40kici-dev/sdk@0.1.18"
890
+ "referenceLocator": "pkg:npm/%40kici-dev/sdk@0.1.20"
891
891
  }
892
892
  ],
893
893
  "description": "TypeScript SDK for defining KiCI workflows. Import into `.kici/workflows/*.ts` to declare workflows, jobs, steps, triggers, rules, and matrix configurations.",
894
894
  "homepage": "https://kici.dev"
895
895
  },
896
896
  {
897
- "SPDXID": "SPDXRef-Package--kici-dev-shared-0.1.18",
897
+ "SPDXID": "SPDXRef-Package--kici-dev-shared-0.1.20",
898
898
  "name": "@kici-dev/shared",
899
- "versionInfo": "0.1.18",
899
+ "versionInfo": "0.1.20",
900
900
  "downloadLocation": "NOASSERTION",
901
901
  "filesAnalyzed": false,
902
902
  "licenseConcluded": "NOASSERTION",
@@ -907,7 +907,7 @@
907
907
  {
908
908
  "referenceCategory": "PACKAGE-MANAGER",
909
909
  "referenceType": "purl",
910
- "referenceLocator": "pkg:npm/%40kici-dev/shared@0.1.18"
910
+ "referenceLocator": "pkg:npm/%40kici-dev/shared@0.1.20"
911
911
  }
912
912
  ],
913
913
  "description": "Shared utilities for the KiCI CI/CD stack — logging, zx setup, crypto, telemetry, health and metrics routes. No business logic.",
@@ -6250,22 +6250,22 @@
6250
6250
  },
6251
6251
  {
6252
6252
  "spdxElementId": "SPDXRef-RootPackage",
6253
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-core-0.1.18",
6253
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-core-0.1.20",
6254
6254
  "relationshipType": "DEPENDS_ON"
6255
6255
  },
6256
6256
  {
6257
6257
  "spdxElementId": "SPDXRef-RootPackage",
6258
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-engine-0.1.18",
6258
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-engine-0.1.20",
6259
6259
  "relationshipType": "DEPENDS_ON"
6260
6260
  },
6261
6261
  {
6262
6262
  "spdxElementId": "SPDXRef-RootPackage",
6263
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-sdk-0.1.18",
6263
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-sdk-0.1.20",
6264
6264
  "relationshipType": "DEPENDS_ON"
6265
6265
  },
6266
6266
  {
6267
6267
  "spdxElementId": "SPDXRef-RootPackage",
6268
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-shared-0.1.18",
6268
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-shared-0.1.20",
6269
6269
  "relationshipType": "DEPENDS_ON"
6270
6270
  },
6271
6271
  {
@@ -6319,192 +6319,192 @@
6319
6319
  "relationshipType": "DEPENDS_ON"
6320
6320
  },
6321
6321
  {
6322
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.18",
6322
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.20",
6323
6323
  "relatedSpdxElement": "SPDXRef-Package-oxc-transform-0.135.0",
6324
6324
  "relationshipType": "DEPENDS_ON"
6325
6325
  },
6326
6326
  {
6327
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.18",
6327
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.20",
6328
6328
  "relatedSpdxElement": "SPDXRef-Package-picocolors-1.1.1",
6329
6329
  "relationshipType": "DEPENDS_ON"
6330
6330
  },
6331
6331
  {
6332
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.18",
6332
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.20",
6333
6333
  "relatedSpdxElement": "SPDXRef-Package-winston-daily-rotate-file-5.0.0",
6334
6334
  "relationshipType": "DEPENDS_ON"
6335
6335
  },
6336
6336
  {
6337
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.18",
6337
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.20",
6338
6338
  "relatedSpdxElement": "SPDXRef-Package-winston-3.19.0",
6339
6339
  "relationshipType": "DEPENDS_ON"
6340
6340
  },
6341
6341
  {
6342
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.18",
6342
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.20",
6343
6343
  "relatedSpdxElement": "SPDXRef-Package-zod-4.4.3",
6344
6344
  "relationshipType": "DEPENDS_ON"
6345
6345
  },
6346
6346
  {
6347
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.18",
6347
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.20",
6348
6348
  "relatedSpdxElement": "SPDXRef-Package-zx-8.8.5",
6349
6349
  "relationshipType": "DEPENDS_ON"
6350
6350
  },
6351
6351
  {
6352
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.18",
6352
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.20",
6353
6353
  "relatedSpdxElement": "SPDXRef-Package-jose-6.2.3",
6354
6354
  "relationshipType": "DEPENDS_ON"
6355
6355
  },
6356
6356
  {
6357
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.18",
6357
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.20",
6358
6358
  "relatedSpdxElement": "SPDXRef-Package-jsonpath-plus-10.4.0",
6359
6359
  "relationshipType": "DEPENDS_ON"
6360
6360
  },
6361
6361
  {
6362
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.18",
6362
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.20",
6363
6363
  "relatedSpdxElement": "SPDXRef-Package-picomatch-4.0.4",
6364
6364
  "relationshipType": "DEPENDS_ON"
6365
6365
  },
6366
6366
  {
6367
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.18",
6367
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.20",
6368
6368
  "relatedSpdxElement": "SPDXRef-Package-safe-regex-2.1.1",
6369
6369
  "relationshipType": "DEPENDS_ON"
6370
6370
  },
6371
6371
  {
6372
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.18",
6372
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.20",
6373
6373
  "relatedSpdxElement": "SPDXRef-Package-zod-4.4.3",
6374
6374
  "relationshipType": "DEPENDS_ON"
6375
6375
  },
6376
6376
  {
6377
- "spdxElementId": "SPDXRef-Package--kici-dev-sdk-0.1.18",
6378
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-core-0.1.18",
6377
+ "spdxElementId": "SPDXRef-Package--kici-dev-sdk-0.1.20",
6378
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-core-0.1.20",
6379
6379
  "relationshipType": "DEPENDS_ON"
6380
6380
  },
6381
6381
  {
6382
- "spdxElementId": "SPDXRef-Package--kici-dev-sdk-0.1.18",
6383
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-engine-0.1.18",
6382
+ "spdxElementId": "SPDXRef-Package--kici-dev-sdk-0.1.20",
6383
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-engine-0.1.20",
6384
6384
  "relationshipType": "DEPENDS_ON"
6385
6385
  },
6386
6386
  {
6387
- "spdxElementId": "SPDXRef-Package--kici-dev-sdk-0.1.18",
6387
+ "spdxElementId": "SPDXRef-Package--kici-dev-sdk-0.1.20",
6388
6388
  "relatedSpdxElement": "SPDXRef-Package-micromatch-4.0.8",
6389
6389
  "relationshipType": "DEPENDS_ON"
6390
6390
  },
6391
6391
  {
6392
- "spdxElementId": "SPDXRef-Package--kici-dev-sdk-0.1.18",
6392
+ "spdxElementId": "SPDXRef-Package--kici-dev-sdk-0.1.20",
6393
6393
  "relatedSpdxElement": "SPDXRef-Package-zod-4.4.3",
6394
6394
  "relationshipType": "DEPENDS_ON"
6395
6395
  },
6396
6396
  {
6397
- "spdxElementId": "SPDXRef-Package--kici-dev-sdk-0.1.18",
6397
+ "spdxElementId": "SPDXRef-Package--kici-dev-sdk-0.1.20",
6398
6398
  "relatedSpdxElement": "SPDXRef-Package-zx-8.8.5",
6399
6399
  "relationshipType": "DEPENDS_ON"
6400
6400
  },
6401
6401
  {
6402
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6402
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6403
6403
  "relatedSpdxElement": "SPDXRef-Package--aws-sdk-client-s3-3.1064.0",
6404
6404
  "relationshipType": "DEPENDS_ON"
6405
6405
  },
6406
6406
  {
6407
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6408
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-core-0.1.18",
6407
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6408
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-core-0.1.20",
6409
6409
  "relationshipType": "DEPENDS_ON"
6410
6410
  },
6411
6411
  {
6412
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6412
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6413
6413
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-api-1.9.1",
6414
6414
  "relationshipType": "DEPENDS_ON"
6415
6415
  },
6416
6416
  {
6417
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6417
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6418
6418
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-exporter-metrics-otlp-http-0.218.0",
6419
6419
  "relationshipType": "DEPENDS_ON"
6420
6420
  },
6421
6421
  {
6422
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6422
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6423
6423
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-exporter-prometheus-0.218.0",
6424
6424
  "relationshipType": "DEPENDS_ON"
6425
6425
  },
6426
6426
  {
6427
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6427
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6428
6428
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-exporter-trace-otlp-http-0.218.0",
6429
6429
  "relationshipType": "DEPENDS_ON"
6430
6430
  },
6431
6431
  {
6432
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6432
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6433
6433
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-instrumentation-runtime-node-0.31.0",
6434
6434
  "relationshipType": "DEPENDS_ON"
6435
6435
  },
6436
6436
  {
6437
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6437
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6438
6438
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-resources-2.7.1",
6439
6439
  "relationshipType": "DEPENDS_ON"
6440
6440
  },
6441
6441
  {
6442
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6442
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6443
6443
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-sdk-node-0.218.0",
6444
6444
  "relationshipType": "DEPENDS_ON"
6445
6445
  },
6446
6446
  {
6447
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6447
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6448
6448
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-semantic-conventions-1.41.1",
6449
6449
  "relationshipType": "DEPENDS_ON"
6450
6450
  },
6451
6451
  {
6452
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6452
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6453
6453
  "relatedSpdxElement": "SPDXRef-Package-archiver-8.0.0",
6454
6454
  "relationshipType": "DEPENDS_ON"
6455
6455
  },
6456
6456
  {
6457
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6457
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6458
6458
  "relatedSpdxElement": "SPDXRef-Package-diff-9.0.0",
6459
6459
  "relationshipType": "DEPENDS_ON"
6460
6460
  },
6461
6461
  {
6462
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6462
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6463
6463
  "relatedSpdxElement": "SPDXRef-Package-hono-4.12.25",
6464
6464
  "relationshipType": "DEPENDS_ON"
6465
6465
  },
6466
6466
  {
6467
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6467
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6468
6468
  "relatedSpdxElement": "SPDXRef-Package-kysely-0.29.2",
6469
6469
  "relationshipType": "DEPENDS_ON"
6470
6470
  },
6471
6471
  {
6472
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6472
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6473
6473
  "relatedSpdxElement": "SPDXRef-Package-oxc-transform-0.135.0",
6474
6474
  "relationshipType": "DEPENDS_ON"
6475
6475
  },
6476
6476
  {
6477
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6477
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6478
6478
  "relatedSpdxElement": "SPDXRef-Package-pg-8.21.0",
6479
6479
  "relationshipType": "DEPENDS_ON"
6480
6480
  },
6481
6481
  {
6482
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6482
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6483
6483
  "relatedSpdxElement": "SPDXRef-Package-picocolors-1.1.1",
6484
6484
  "relationshipType": "DEPENDS_ON"
6485
6485
  },
6486
6486
  {
6487
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6487
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6488
6488
  "relatedSpdxElement": "SPDXRef-Package-winston-daily-rotate-file-5.0.0",
6489
6489
  "relationshipType": "DEPENDS_ON"
6490
6490
  },
6491
6491
  {
6492
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6492
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6493
6493
  "relatedSpdxElement": "SPDXRef-Package-winston-3.19.0",
6494
6494
  "relationshipType": "DEPENDS_ON"
6495
6495
  },
6496
6496
  {
6497
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6497
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6498
6498
  "relatedSpdxElement": "SPDXRef-Package-yaml-2.9.0",
6499
6499
  "relationshipType": "DEPENDS_ON"
6500
6500
  },
6501
6501
  {
6502
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6502
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6503
6503
  "relatedSpdxElement": "SPDXRef-Package-zod-4.4.3",
6504
6504
  "relationshipType": "DEPENDS_ON"
6505
6505
  },
6506
6506
  {
6507
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.18",
6507
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.20",
6508
6508
  "relatedSpdxElement": "SPDXRef-Package-zx-8.8.5",
6509
6509
  "relationshipType": "DEPENDS_ON"
6510
6510
  },