@kici-dev/orchestrator 0.1.15 → 0.1.16

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 (54) hide show
  1. package/dist/app.d.ts +25 -0
  2. package/dist/approvals/apply-decision.d.ts +60 -0
  3. package/dist/approvals/approval-resolver.d.ts +66 -0
  4. package/dist/approvals/step-approval-bridge.d.ts +72 -0
  5. package/dist/approvals/team-membership-lookup.d.ts +13 -0
  6. package/dist/cache/user-cache.d.ts +1 -1
  7. package/dist/cli/api-client.d.ts +24 -0
  8. package/dist/cli/commands/firecracker/index.d.ts +11 -0
  9. package/dist/cli/commands/firecracker/provision.d.ts +13 -0
  10. package/dist/cli/commands/firecracker/teardown.d.ts +3 -0
  11. package/dist/cli/commands/firecracker/verify.d.ts +3 -0
  12. package/dist/cli/commands/scaler.d.ts +18 -0
  13. package/dist/cli/kici-admin.d.ts +10 -1
  14. package/dist/cli/service/image-digests.d.ts +21 -0
  15. package/dist/cli.js +3692 -411
  16. package/dist/cluster/peer-client.d.ts +23 -1
  17. package/dist/cluster/peer-handler.d.ts +9 -1
  18. package/dist/db/migrations/033_org_settings_approval.d.ts +19 -0
  19. package/dist/db/migrations/034_held_runs_generalize.d.ts +24 -0
  20. package/dist/db/types.d.ts +52 -1
  21. package/dist/diagnostics/bundle-writer.d.ts +1 -17
  22. package/dist/diagnostics/checks/firecracker-network.d.ts +13 -0
  23. package/dist/diagnostics/checks/index.d.ts +2 -1
  24. package/dist/diagnostics/fleet-collector.d.ts +52 -0
  25. package/dist/diagnostics/fleet-constants.d.ts +8 -0
  26. package/dist/diagnostics/fleet-selection.d.ts +15 -0
  27. package/dist/diagnostics/fleet-topology.d.ts +47 -0
  28. package/dist/diagnostics/fleet-wiring.d.ts +60 -0
  29. package/dist/environments/held-runs.d.ts +69 -1
  30. package/dist/firecracker/host-network.d.ts +83 -0
  31. package/dist/firecracker/persist.d.ts +14 -0
  32. package/dist/index.js +24 -6
  33. package/dist/orchestrator-core.d.ts +9 -1
  34. package/dist/pipeline/processor.d.ts +22 -0
  35. package/dist/routes/fleet.d.ts +20 -0
  36. package/dist/scaler/config.d.ts +4 -2
  37. package/dist/scaler/disk-guard.d.ts +27 -0
  38. package/dist/scaler/firecracker-backend.d.ts +18 -0
  39. package/dist/scaler/manager.d.ts +6 -0
  40. package/dist/scaler/nftables.d.ts +4 -0
  41. package/dist/scaler/reap-orphans.d.ts +27 -0
  42. package/dist/scaler/types.d.ts +2 -0
  43. package/dist/server.js +3205 -1214
  44. package/dist/stale-detector/stale-run-detector.d.ts +18 -0
  45. package/dist/standalone.js +2585 -1062
  46. package/dist/storage/filesystem.d.ts +2 -1
  47. package/dist/storage/s3.d.ts +2 -1
  48. package/dist/storage/types.d.ts +7 -0
  49. package/dist/ws/agent-handler.d.ts +32 -0
  50. package/dist/ws/dashboard-env-handler.d.ts +35 -0
  51. package/dist/ws/fleet-agent-collector.d.ts +23 -0
  52. package/installer-image-digests.json +7 -0
  53. package/package.json +6 -5
  54. package/sbom.spdx.json +62 -57
@@ -13,7 +13,7 @@
13
13
  * data file is byte-identical to what the agent receives over HTTP. TTL is
14
14
  * enforced lazily on access — same model as the S3 backend.
15
15
  */
16
- import type { CacheStorage } from './types.js';
16
+ import type { CacheMetadata, CacheStorage } from './types.js';
17
17
  export interface FilesystemCacheStorageOptions {
18
18
  /** Absolute path to the cache root directory. Created on first write if missing. */
19
19
  basePath: string;
@@ -55,6 +55,7 @@ export declare class FilesystemCacheStorage implements CacheStorage {
55
55
  getInternalUploadUrl(key: string): Promise<string>;
56
56
  initMeta(key: string): Promise<void>;
57
57
  list(subPrefix: string): Promise<string[]>;
58
+ getMetadata(key: string): Promise<CacheMetadata | null>;
58
59
  copy(srcKey: string, destKey: string): Promise<void>;
59
60
  /**
60
61
  * Recursively collect data files under `dir`, returning each as a cache key
@@ -11,7 +11,7 @@
11
11
  * TTL is enforced lazily: expired items are deleted on access.
12
12
  * Pre-signed URLs are generated for getUrl() with 15-minute expiry.
13
13
  */
14
- import type { CacheStorage } from './types.js';
14
+ import type { CacheMetadata, CacheStorage } from './types.js';
15
15
  export interface S3CacheStorageOptions {
16
16
  bucket: string;
17
17
  prefix: string;
@@ -74,6 +74,7 @@ export declare class S3CacheStorage implements CacheStorage {
74
74
  getInternalUploadUrl(key: string): Promise<string>;
75
75
  initMeta(key: string): Promise<void>;
76
76
  list(subPrefix: string): Promise<string[]>;
77
+ getMetadata(key: string): Promise<CacheMetadata | null>;
77
78
  copy(srcKey: string, destKey: string): Promise<void>;
78
79
  /** Delete an S3 object. Idempotent (doesn't error if missing). */
79
80
  private deleteObject;
@@ -79,6 +79,13 @@ export interface CacheStorage {
79
79
  list(subPrefix: string): Promise<string[]>;
80
80
  /** Server-side copy from one cache key to another (used for atomic temp -> final commit). */
81
81
  copy(srcKey: string, destKey: string): Promise<void>;
82
+ /**
83
+ * Read the stored metadata (createdAt + lastAccessedAt) for a key WITHOUT
84
+ * refreshing lastAccessedAt. Returns null when the key is missing or carries
85
+ * no metadata. A pure read (no TTL-expiry side effect) — used by quota
86
+ * eviction to order candidates by access recency.
87
+ */
88
+ getMetadata(key: string): Promise<CacheMetadata | null>;
82
89
  }
83
90
  import type { SharedS3Config } from '@kici-dev/shared';
84
91
  /**
@@ -31,6 +31,7 @@ import type { PendingDynamicTracker } from '../cache/pending-dynamics.js';
31
31
  import type { CacheStorage } from '../storage/types.js';
32
32
  import type { AgentMetricsAggregator } from '../metrics/agent-metrics-aggregator.js';
33
33
  import type { AgentApiRegistry } from './agent-api-registry.js';
34
+ import type { FleetAgentCollector } from './fleet-agent-collector.js';
34
35
  /**
35
36
  * Run the three token-bound authorization gates against a wire-supplied
36
37
  * `agent.register` payload. The gates are identical at first register
@@ -208,6 +209,30 @@ export interface AgentWsHandlerDeps {
208
209
  action: 'proceed' | 'wait' | 'cancel';
209
210
  reason?: string;
210
211
  }>;
212
+ /**
213
+ * Optional callback when an agent blocks a `requireApproval` step. The server
214
+ * creates a step-scoped hold from the carried clauses and returns a promise
215
+ * that resolves when the hold is approved, rejected, or expired. The handler
216
+ * relays the resolution back to the originating agent as a
217
+ * `step.approval-resolved` message. The `agentId` lets the server drop the
218
+ * pending resolver when the agent disconnects.
219
+ */
220
+ onStepApproval?: (agentId: string, msg: {
221
+ runId: string;
222
+ jobId: string;
223
+ stepIndex: number;
224
+ stepName: string;
225
+ clauses: Array<{
226
+ team: string;
227
+ } | {
228
+ user: string;
229
+ }>;
230
+ reason: string;
231
+ timeoutSeconds?: number;
232
+ }) => Promise<{
233
+ outcome: 'approved' | 'rejected' | 'expired';
234
+ reason?: string;
235
+ }>;
211
236
  /**
212
237
  * Optional callback fired when an agent's WS connection closes, after the
213
238
  * dispatcher's own cleanup has run. Used by the long-poll concurrency
@@ -217,6 +242,13 @@ export interface AgentWsHandlerDeps {
217
242
  onConcurrencyAgentDisconnect?: (agentId: string) => void | Promise<void>;
218
243
  /** Agent private API registry for handling agent.api.request messages. */
219
244
  agentApiRegistry?: AgentApiRegistry;
245
+ /**
246
+ * Orchestrator-scoped collector that correlates fleet.logs.request with the
247
+ * agent's chunked fleet.bundle.chunk / fleet.bundle.error response. Routed to
248
+ * from the incoming-message switch; pending requests for a given agent are
249
+ * rejected when that agent's WS closes.
250
+ */
251
+ fleetAgentCollector?: FleetAgentCollector;
220
252
  }
221
253
  export declare function createAgentWsHandler(deps: AgentWsHandlerDeps): WSEvents;
222
254
  //# sourceMappingURL=agent-handler.d.ts.map
@@ -11,6 +11,8 @@
11
11
  * 3. Returns a response message with requestId and data (or error)
12
12
  */
13
13
  import { type Kysely } from 'kysely';
14
+ import type { HeldRunStore, ReleaseSignal } from '../environments/held-runs.js';
15
+ import type { TeamMembershipLookup } from '../approvals/approval-resolver.js';
14
16
  import type { DashboardPlatformToOrchMessage } from '@kici-dev/engine';
15
17
  import type { EnvironmentStore } from '../environments/environment-store.js';
16
18
  import type { VariableStore } from '../environments/variable-store.js';
@@ -44,6 +46,26 @@ export interface DashboardEnvHandlerDeps {
44
46
  accessLog?: AccessLogWriter;
45
47
  /** Routing key for access_log rows (null when not run-scoped). */
46
48
  routingKey?: string | null;
49
+ /**
50
+ * Held-run store + resume hook for the approve/reject flow. When present, the
51
+ * approve/reject handlers route through the shared `applyDecision` applier
52
+ * (eligibility check, real attribution, multi-clause accumulation, and the
53
+ * resume-after-approval re-dispatch). When absent (legacy / tests), the
54
+ * handlers fall back to the direct status flip.
55
+ */
56
+ approvals?: ApprovalHandlerDeps;
57
+ }
58
+ /** Dependencies enabling the resolver-backed approve/reject + resume path. */
59
+ export interface ApprovalHandlerDeps {
60
+ store: HeldRunStore;
61
+ /** Team name → member user ids (Plan-1 trust-policy cache). */
62
+ teamMembershipLookup: TeamMembershipLookup;
63
+ /** Re-dispatch a released job/workflow hold (consumes its pending context). */
64
+ resumeJob: (signal: ReleaseSignal) => Promise<void>;
65
+ /** Notify a waiting agent that a step hold released (step scope). */
66
+ resumeStep?: (signal: ReleaseSignal) => Promise<void>;
67
+ /** Notify a waiting agent that a step hold was rejected (step scope). */
68
+ rejectStep?: (heldRunId: string, reason?: string) => Promise<void> | void;
47
69
  }
48
70
  /**
49
71
  * Handler for all dashboard environment and held run WS messages.
@@ -107,6 +129,19 @@ export declare class DashboardEnvHandler {
107
129
  private handleScopeDelete;
108
130
  private handleEnvHistory;
109
131
  private handleHeldRunsList;
132
+ /**
133
+ * Resolve the actor's Keycloak sub for approval attribution. Only `user` and
134
+ * `platform_operator` actors carry a `sub`; others fall back to a stable id.
135
+ */
136
+ private actorSub;
137
+ /** Read org_settings.allow_self_approval (default true). */
138
+ private readAllowSelfApproval;
139
+ /**
140
+ * Route an approve/reject through the shared `applyDecision` applier:
141
+ * eligibility check, real attribution, multi-clause accumulation, and the
142
+ * resume-after-approval re-dispatch. Sends the matching response message.
143
+ */
144
+ private applyApprovalDecision;
110
145
  private handleHeldRunApprove;
111
146
  private handleHeldRunReject;
112
147
  private sendError;
@@ -0,0 +1,23 @@
1
+ export interface FleetAgentCollectorOptions {
2
+ timeoutMs: number;
3
+ }
4
+ export declare class FleetAgentCollector {
5
+ private readonly opts;
6
+ private readonly waiter;
7
+ /** requestId -> owning agentId, so a disconnect rejects only that agent's requests. */
8
+ private readonly requestAgent;
9
+ constructor(opts: FleetAgentCollectorOptions);
10
+ /**
11
+ * Register the pending request `requestId` (owned by `agentId`), invoke
12
+ * `send` to dispatch the fleet.logs.request envelope, and await the
13
+ * reassembled bundle Buffer.
14
+ */
15
+ request(requestId: string, agentId: string, send: () => void): Promise<Buffer>;
16
+ onChunk(requestId: string, seq: number, dataB64: string, isLast: boolean): void;
17
+ onError(requestId: string, message: string): void;
18
+ /** Reject every pending request owned by `agentId` (called on its disconnect). */
19
+ rejectAgent(agentId: string, reason: string): void;
20
+ /** Reject every pending request regardless of owner (orchestrator shutdown). */
21
+ rejectAll(reason: string): void;
22
+ }
23
+ //# sourceMappingURL=fleet-agent-collector.d.ts.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": "0.1.16",
3
+ "images": {
4
+ "kici-agent": "sha256:817dfadfe941eb9e9096724c58d7af6d53665d813de0bc952c31090347b959da",
5
+ "kici-orchestrator": "sha256:85dd71ae39df06dad94defc19cc9152621640a5324e2008a83813cac001d979e"
6
+ }
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kici-dev/orchestrator",
3
- "version": "0.1.15",
3
+ "version": "0.1.16",
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,7 +30,8 @@
30
30
  "files": [
31
31
  "dist",
32
32
  "!dist/**/*.map",
33
- "sbom.spdx.json"
33
+ "sbom.spdx.json",
34
+ "installer-image-digests.json"
34
35
  ],
35
36
  "publishConfig": {
36
37
  "registry": "https://registry.npmjs.org/",
@@ -85,8 +86,8 @@
85
86
  "ws": "^8.20.0",
86
87
  "yaml": "^2.8.3",
87
88
  "zod": "^4.3.6",
88
- "@kici-dev/engine": "0.1.15",
89
- "@kici-dev/shared": "0.1.15"
89
+ "@kici-dev/engine": "0.1.16",
90
+ "@kici-dev/shared": "0.1.16"
90
91
  },
91
92
  "kici": {
92
93
  "metrics": {
@@ -100,7 +101,7 @@
100
101
  "@types/archiver": "^7.0.0",
101
102
  "@types/dockerode": "^4.0.1",
102
103
  "kysely-ctl": "^0.21.0",
103
- "@kici-dev/agent": "0.1.15"
104
+ "@kici-dev/agent": "0.1.16"
104
105
  },
105
106
  "scripts": {
106
107
  "build": "node ../../scripts/build-service.mjs && tsc --emitDeclarationOnly",
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.1.15",
6
- "documentNamespace": "https://kici.dev/sbom/%40kici-dev%2Forchestrator/0.1.15/098f67ed-8ddb-4745-a28c-e2c731216540",
5
+ "name": "@kici-dev/orchestrator@0.1.16",
6
+ "documentNamespace": "https://kici.dev/sbom/%40kici-dev%2Forchestrator/0.1.16/6b96d055-7c14-4de7-933b-c4d260b0d312",
7
7
  "creationInfo": {
8
- "created": "2026-06-11T03:03:47Z",
8
+ "created": "2026-06-12T09:41:54Z",
9
9
  "creators": [
10
10
  "Tool: kici-sbom-generator"
11
11
  ]
@@ -1477,9 +1477,9 @@
1477
1477
  "homepage": "https://ericsmekens.github.io/jsep/tree/master/packages/regex#readme"
1478
1478
  },
1479
1479
  {
1480
- "SPDXID": "SPDXRef-Package--kici-dev-core-0.1.15",
1480
+ "SPDXID": "SPDXRef-Package--kici-dev-core-0.1.16",
1481
1481
  "name": "@kici-dev/core",
1482
- "versionInfo": "0.1.15",
1482
+ "versionInfo": "0.1.16",
1483
1483
  "downloadLocation": "NOASSERTION",
1484
1484
  "filesAnalyzed": false,
1485
1485
  "licenseConcluded": "NOASSERTION",
@@ -1490,16 +1490,16 @@
1490
1490
  {
1491
1491
  "referenceCategory": "PACKAGE-MANAGER",
1492
1492
  "referenceType": "purl",
1493
- "referenceLocator": "pkg:npm/%40kici-dev/core@0.1.15"
1493
+ "referenceLocator": "pkg:npm/%40kici-dev/core@0.1.16"
1494
1494
  }
1495
1495
  ],
1496
1496
  "description": "Light shared utilities for the KiCI stack (logging, errors, formatting, crypto, zx init, the TypeScript ESM loader hook). No server-side dependencies.",
1497
1497
  "homepage": "https://kici.dev"
1498
1498
  },
1499
1499
  {
1500
- "SPDXID": "SPDXRef-Package--kici-dev-engine-0.1.15",
1500
+ "SPDXID": "SPDXRef-Package--kici-dev-engine-0.1.16",
1501
1501
  "name": "@kici-dev/engine",
1502
- "versionInfo": "0.1.15",
1502
+ "versionInfo": "0.1.16",
1503
1503
  "downloadLocation": "NOASSERTION",
1504
1504
  "filesAnalyzed": false,
1505
1505
  "licenseConcluded": "NOASSERTION",
@@ -1510,7 +1510,7 @@
1510
1510
  {
1511
1511
  "referenceCategory": "PACKAGE-MANAGER",
1512
1512
  "referenceType": "purl",
1513
- "referenceLocator": "pkg:npm/%40kici-dev/engine@0.1.15"
1513
+ "referenceLocator": "pkg:npm/%40kici-dev/engine@0.1.16"
1514
1514
  }
1515
1515
  ],
1516
1516
  "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.",
@@ -1519,7 +1519,7 @@
1519
1519
  {
1520
1520
  "SPDXID": "SPDXRef-RootPackage",
1521
1521
  "name": "@kici-dev/orchestrator",
1522
- "versionInfo": "0.1.15",
1522
+ "versionInfo": "0.1.16",
1523
1523
  "downloadLocation": "NOASSERTION",
1524
1524
  "filesAnalyzed": false,
1525
1525
  "licenseConcluded": "NOASSERTION",
@@ -1530,16 +1530,16 @@
1530
1530
  {
1531
1531
  "referenceCategory": "PACKAGE-MANAGER",
1532
1532
  "referenceType": "purl",
1533
- "referenceLocator": "pkg:npm/%40kici-dev/orchestrator@0.1.15"
1533
+ "referenceLocator": "pkg:npm/%40kici-dev/orchestrator@0.1.16"
1534
1534
  }
1535
1535
  ],
1536
1536
  "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.",
1537
1537
  "homepage": "https://kici.dev"
1538
1538
  },
1539
1539
  {
1540
- "SPDXID": "SPDXRef-Package--kici-dev-shared-0.1.15",
1540
+ "SPDXID": "SPDXRef-Package--kici-dev-shared-0.1.16",
1541
1541
  "name": "@kici-dev/shared",
1542
- "versionInfo": "0.1.15",
1542
+ "versionInfo": "0.1.16",
1543
1543
  "downloadLocation": "NOASSERTION",
1544
1544
  "filesAnalyzed": false,
1545
1545
  "licenseConcluded": "NOASSERTION",
@@ -1550,7 +1550,7 @@
1550
1550
  {
1551
1551
  "referenceCategory": "PACKAGE-MANAGER",
1552
1552
  "referenceType": "purl",
1553
- "referenceLocator": "pkg:npm/%40kici-dev/shared@0.1.15"
1553
+ "referenceLocator": "pkg:npm/%40kici-dev/shared@0.1.16"
1554
1554
  }
1555
1555
  ],
1556
1556
  "description": "Shared utilities for the KiCI CI/CD stack — logging, zx setup, crypto, telemetry, health and metrics routes. No business logic.",
@@ -7737,10 +7737,10 @@
7737
7737
  "homepage": "https://github.com/browserify/stream-browserify"
7738
7738
  },
7739
7739
  {
7740
- "SPDXID": "SPDXRef-Package-streamx-2.23.0",
7740
+ "SPDXID": "SPDXRef-Package-streamx-2.25.0",
7741
7741
  "name": "streamx",
7742
- "versionInfo": "2.23.0",
7743
- "downloadLocation": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz",
7742
+ "versionInfo": "2.25.0",
7743
+ "downloadLocation": "https://registry.npmjs.org/streamx/-/streamx-2.25.0.tgz",
7744
7744
  "filesAnalyzed": false,
7745
7745
  "licenseConcluded": "NOASSERTION",
7746
7746
  "licenseDeclared": "MIT",
@@ -7750,7 +7750,7 @@
7750
7750
  {
7751
7751
  "referenceCategory": "PACKAGE-MANAGER",
7752
7752
  "referenceType": "purl",
7753
- "referenceLocator": "pkg:npm/streamx@2.23.0"
7753
+ "referenceLocator": "pkg:npm/streamx@2.25.0"
7754
7754
  }
7755
7755
  ],
7756
7756
  "description": "An iteration of the Node.js core streams with a series of improvements",
@@ -10702,47 +10702,47 @@
10702
10702
  "relationshipType": "DEPENDS_ON"
10703
10703
  },
10704
10704
  {
10705
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.15",
10705
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.16",
10706
10706
  "relatedSpdxElement": "SPDXRef-Package-oxc-transform-0.128.0",
10707
10707
  "relationshipType": "DEPENDS_ON"
10708
10708
  },
10709
10709
  {
10710
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.15",
10710
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.16",
10711
10711
  "relatedSpdxElement": "SPDXRef-Package-picocolors-1.1.1",
10712
10712
  "relationshipType": "DEPENDS_ON"
10713
10713
  },
10714
10714
  {
10715
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.15",
10715
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.16",
10716
10716
  "relatedSpdxElement": "SPDXRef-Package-winston-daily-rotate-file-5.0.0",
10717
10717
  "relationshipType": "DEPENDS_ON"
10718
10718
  },
10719
10719
  {
10720
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.15",
10720
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.16",
10721
10721
  "relatedSpdxElement": "SPDXRef-Package-winston-3.19.0",
10722
10722
  "relationshipType": "DEPENDS_ON"
10723
10723
  },
10724
10724
  {
10725
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.15",
10725
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.16",
10726
10726
  "relatedSpdxElement": "SPDXRef-Package-zod-4.3.6",
10727
10727
  "relationshipType": "DEPENDS_ON"
10728
10728
  },
10729
10729
  {
10730
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.15",
10730
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.16",
10731
10731
  "relatedSpdxElement": "SPDXRef-Package-zx-8.8.5",
10732
10732
  "relationshipType": "DEPENDS_ON"
10733
10733
  },
10734
10734
  {
10735
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.15",
10735
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.16",
10736
10736
  "relatedSpdxElement": "SPDXRef-Package-jsonpath-plus-10.4.0",
10737
10737
  "relationshipType": "DEPENDS_ON"
10738
10738
  },
10739
10739
  {
10740
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.15",
10740
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.16",
10741
10741
  "relatedSpdxElement": "SPDXRef-Package-picomatch-4.0.4",
10742
10742
  "relationshipType": "DEPENDS_ON"
10743
10743
  },
10744
10744
  {
10745
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.15",
10745
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.16",
10746
10746
  "relatedSpdxElement": "SPDXRef-Package-zod-4.3.6",
10747
10747
  "relationshipType": "DEPENDS_ON"
10748
10748
  },
@@ -10778,12 +10778,12 @@
10778
10778
  },
10779
10779
  {
10780
10780
  "spdxElementId": "SPDXRef-RootPackage",
10781
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-engine-0.1.15",
10781
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-engine-0.1.16",
10782
10782
  "relationshipType": "DEPENDS_ON"
10783
10783
  },
10784
10784
  {
10785
10785
  "spdxElementId": "SPDXRef-RootPackage",
10786
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-shared-0.1.15",
10786
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-shared-0.1.16",
10787
10787
  "relationshipType": "DEPENDS_ON"
10788
10788
  },
10789
10789
  {
@@ -10887,107 +10887,112 @@
10887
10887
  "relationshipType": "DEPENDS_ON"
10888
10888
  },
10889
10889
  {
10890
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10890
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10891
10891
  "relatedSpdxElement": "SPDXRef-Package--aws-sdk-client-s3-3.1038.0",
10892
10892
  "relationshipType": "DEPENDS_ON"
10893
10893
  },
10894
10894
  {
10895
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10896
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-core-0.1.15",
10895
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10896
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-core-0.1.16",
10897
10897
  "relationshipType": "DEPENDS_ON"
10898
10898
  },
10899
10899
  {
10900
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10900
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10901
10901
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-api-1.9.1",
10902
10902
  "relationshipType": "DEPENDS_ON"
10903
10903
  },
10904
10904
  {
10905
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10905
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10906
10906
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-exporter-metrics-otlp-http-0.217.0",
10907
10907
  "relationshipType": "DEPENDS_ON"
10908
10908
  },
10909
10909
  {
10910
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10910
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10911
10911
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-exporter-prometheus-0.217.0",
10912
10912
  "relationshipType": "DEPENDS_ON"
10913
10913
  },
10914
10914
  {
10915
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10915
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10916
10916
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-exporter-trace-otlp-http-0.217.0",
10917
10917
  "relationshipType": "DEPENDS_ON"
10918
10918
  },
10919
10919
  {
10920
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10920
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10921
10921
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-instrumentation-runtime-node-0.28.0",
10922
10922
  "relationshipType": "DEPENDS_ON"
10923
10923
  },
10924
10924
  {
10925
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10925
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10926
10926
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-resources-2.7.0",
10927
10927
  "relationshipType": "DEPENDS_ON"
10928
10928
  },
10929
10929
  {
10930
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10930
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10931
10931
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-sdk-node-0.217.0",
10932
10932
  "relationshipType": "DEPENDS_ON"
10933
10933
  },
10934
10934
  {
10935
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10935
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10936
10936
  "relatedSpdxElement": "SPDXRef-Package--opentelemetry-semantic-conventions-1.40.0",
10937
10937
  "relationshipType": "DEPENDS_ON"
10938
10938
  },
10939
10939
  {
10940
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10940
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10941
+ "relatedSpdxElement": "SPDXRef-Package-archiver-7.0.1",
10942
+ "relationshipType": "DEPENDS_ON"
10943
+ },
10944
+ {
10945
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10941
10946
  "relatedSpdxElement": "SPDXRef-Package-diff-7.0.0",
10942
10947
  "relationshipType": "DEPENDS_ON"
10943
10948
  },
10944
10949
  {
10945
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10950
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10946
10951
  "relatedSpdxElement": "SPDXRef-Package-hono-4.12.18",
10947
10952
  "relationshipType": "DEPENDS_ON"
10948
10953
  },
10949
10954
  {
10950
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10955
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10951
10956
  "relatedSpdxElement": "SPDXRef-Package-kysely-0.29.0",
10952
10957
  "relationshipType": "DEPENDS_ON"
10953
10958
  },
10954
10959
  {
10955
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10960
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10956
10961
  "relatedSpdxElement": "SPDXRef-Package-oxc-transform-0.128.0",
10957
10962
  "relationshipType": "DEPENDS_ON"
10958
10963
  },
10959
10964
  {
10960
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10965
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10961
10966
  "relatedSpdxElement": "SPDXRef-Package-pg-8.20.0",
10962
10967
  "relationshipType": "DEPENDS_ON"
10963
10968
  },
10964
10969
  {
10965
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10970
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10966
10971
  "relatedSpdxElement": "SPDXRef-Package-picocolors-1.1.1",
10967
10972
  "relationshipType": "DEPENDS_ON"
10968
10973
  },
10969
10974
  {
10970
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10975
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10971
10976
  "relatedSpdxElement": "SPDXRef-Package-winston-daily-rotate-file-5.0.0",
10972
10977
  "relationshipType": "DEPENDS_ON"
10973
10978
  },
10974
10979
  {
10975
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10980
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10976
10981
  "relatedSpdxElement": "SPDXRef-Package-winston-3.19.0",
10977
10982
  "relationshipType": "DEPENDS_ON"
10978
10983
  },
10979
10984
  {
10980
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10985
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10981
10986
  "relatedSpdxElement": "SPDXRef-Package-yaml-2.8.3",
10982
10987
  "relationshipType": "DEPENDS_ON"
10983
10988
  },
10984
10989
  {
10985
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10990
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10986
10991
  "relatedSpdxElement": "SPDXRef-Package-zod-4.3.6",
10987
10992
  "relationshipType": "DEPENDS_ON"
10988
10993
  },
10989
10994
  {
10990
- "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.15",
10995
+ "spdxElementId": "SPDXRef-Package--kici-dev-shared-0.1.16",
10991
10996
  "relatedSpdxElement": "SPDXRef-Package-zx-8.8.5",
10992
10997
  "relationshipType": "DEPENDS_ON"
10993
10998
  },
@@ -13148,7 +13153,7 @@
13148
13153
  },
13149
13154
  {
13150
13155
  "spdxElementId": "SPDXRef-Package-bare-stream-2.8.1",
13151
- "relatedSpdxElement": "SPDXRef-Package-streamx-2.23.0",
13156
+ "relatedSpdxElement": "SPDXRef-Package-streamx-2.25.0",
13152
13157
  "relationshipType": "DEPENDS_ON"
13153
13158
  },
13154
13159
  {
@@ -14082,17 +14087,17 @@
14082
14087
  "relationshipType": "DEPENDS_ON"
14083
14088
  },
14084
14089
  {
14085
- "spdxElementId": "SPDXRef-Package-streamx-2.23.0",
14090
+ "spdxElementId": "SPDXRef-Package-streamx-2.25.0",
14086
14091
  "relatedSpdxElement": "SPDXRef-Package-events-universal-1.0.1",
14087
14092
  "relationshipType": "DEPENDS_ON"
14088
14093
  },
14089
14094
  {
14090
- "spdxElementId": "SPDXRef-Package-streamx-2.23.0",
14095
+ "spdxElementId": "SPDXRef-Package-streamx-2.25.0",
14091
14096
  "relatedSpdxElement": "SPDXRef-Package-fast-fifo-1.3.2",
14092
14097
  "relationshipType": "DEPENDS_ON"
14093
14098
  },
14094
14099
  {
14095
- "spdxElementId": "SPDXRef-Package-streamx-2.23.0",
14100
+ "spdxElementId": "SPDXRef-Package-streamx-2.25.0",
14096
14101
  "relatedSpdxElement": "SPDXRef-Package-text-decoder-1.2.7",
14097
14102
  "relationshipType": "DEPENDS_ON"
14098
14103
  },
@@ -14208,7 +14213,7 @@
14208
14213
  },
14209
14214
  {
14210
14215
  "spdxElementId": "SPDXRef-Package-tar-stream-3.1.8",
14211
- "relatedSpdxElement": "SPDXRef-Package-streamx-2.23.0",
14216
+ "relatedSpdxElement": "SPDXRef-Package-streamx-2.25.0",
14212
14217
  "relationshipType": "DEPENDS_ON"
14213
14218
  },
14214
14219
  {
@@ -14238,7 +14243,7 @@
14238
14243
  },
14239
14244
  {
14240
14245
  "spdxElementId": "SPDXRef-Package-teex-1.0.1",
14241
- "relatedSpdxElement": "SPDXRef-Package-streamx-2.23.0",
14246
+ "relatedSpdxElement": "SPDXRef-Package-streamx-2.25.0",
14242
14247
  "relationshipType": "DEPENDS_ON"
14243
14248
  },
14244
14249
  {