qubicl-cli 0.1.1 → 0.2.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.
package/README.md CHANGED
@@ -36,7 +36,7 @@ your model or agent
36
36
 
37
37
  │ MCP / OpenAPI / Open Terminal
38
38
 
39
- localhost-only Qubicl gateway
39
+ local-by-default Qubicl gateway
40
40
 
41
41
  ├── terminal + managed processes
42
42
  ├── durable, host-visible files
@@ -60,8 +60,13 @@ your model or agent
60
60
  ## Quick start
61
61
 
62
62
  Requirements: Node.js 22 or 24, Docker Engine 24.0 or Docker Desktop 4.29+, and
63
- Docker Compose 2.24+. Qubicl supports Linux, Apple Silicon macOS with Docker
64
- Desktop, and Windows 11 x64 through Ubuntu 24.04 on WSL 2 with Docker Desktop.
63
+ Docker Compose 2.24+. Directly tested hosts are Linux x64, Apple Silicon
64
+ macOS with Docker Desktop, and Windows 11 x64 through Ubuntu 24.04 on WSL 2
65
+ with Docker Desktop. Linux ARM64, Intel macOS, Windows on ARM, and other WSL 2
66
+ distributions are best-effort. Native Windows and WSL 1 are unsupported;
67
+ Qubicl computers remain Linux containers on every host. See the versioned
68
+ [Platform support](https://github.com/EldanRing/qubicl/blob/main/docs/platforms.md)
69
+ matrix before installing on a best-effort host.
65
70
 
66
71
  ```sh
67
72
  qubicl setup
@@ -81,7 +86,7 @@ never with `sudo`.
81
86
  | `file-system` | Shell, processes, Git, durable files, web research | — | 1 CPU / 512m |
82
87
  | `browser` | Everything above plus persistent Chromium, OCR, PDF inspection | ✓ | 2 CPU / 2g |
83
88
  | `computer` | Browser plus a lightweight XFCE desktop, editors, document tools, SSH | ✓ | 2 CPU / 3g |
84
- | `workstation` | Full development and office environment with LibreOffice | ✓ | 2 CPU / 4g |
89
+ | `workstation` | Development and office environment with LibreOffice Writer, Calc, and Impress | ✓ | 2 CPU / 4g |
85
90
 
86
91
  Every preset includes native keyless `web_search`, local `web_extract`, and
87
92
  verified Qubicl-native skill baselines with durable, agent-editable working
@@ -114,8 +119,37 @@ a bearer token.
114
119
 
115
120
  For Open WebUI, copy the generated configuration into **Admin Panel → Settings
116
121
  → Integrations → Open Terminal**. Qubicl supplies native durable-file browsing,
117
- chat uploads, screenshots, browser tools, and explicitly published local
118
- previews without joining Open WebUI's Docker network.
122
+ bounded ZIP downloads, non-PTY managed processes, chat uploads, screenshots,
123
+ browser tools, and explicitly published local previews without joining Open
124
+ WebUI's Docker network.
125
+
126
+ The gateway remains on `127.0.0.1` unless the host operator explicitly adds a
127
+ second TLS-only listener with `qubicl gateway expose`. The opt-in uses the same
128
+ gateway container, requires certificate, interface, network, and trusted-origin
129
+ policy, and persists until `qubicl gateway revoke`; `0.0.0.0` additionally
130
+ requires `--all-interfaces`. Read the
131
+ [remote-access guide](https://github.com/EldanRing/qubicl/blob/main/docs/remote-access.md)
132
+ before enabling it.
133
+
134
+ ## Review updates safely
135
+
136
+ `qubicl status` shows pending exact curated gateway/default/computer targets.
137
+ `qubicl upgrade --all` prints the deduplicated targets, expected download and
138
+ expanded sizes, honest capacity limits, preserved runtime state, and roll-forward
139
+ order before confirmation. It acquires and inspects every target before the first
140
+ state or runtime mutation. Custom images remain manual.
141
+
142
+ Optional notices are local and default off:
143
+
144
+ ```sh
145
+ qubicl config set --update-notifications on
146
+ ```
147
+
148
+ They compare only with the CLI's bundled catalog and never use telemetry, make a
149
+ network check, pull an image, or apply an update. `qubicl cleanup --orphans
150
+ [--images]` likewise previews exact verified candidates; Docker images and
151
+ volumes remain manual because daemon-global or name-only resources cannot be
152
+ proven exclusive to one installation.
119
153
 
120
154
  ## Watch and take over
121
155
 
@@ -127,20 +161,36 @@ Observation is passive. **Take control** fences agent tools and terminates its
127
161
  ordinary managed commands before handing you the keyboard and mouse. Persistent
128
162
  browser and managed desktop applications remain visible so you can continue the
129
163
  same task. Qubicl's green pointer shows the agent's latest desktop or browser
130
- position in the viewer.
164
+ position in the viewer. The viewer states that Chromium's profile is durable
165
+ across restarts and upgrades. Current viewer images also require a
166
+ gateway-injected internal credential for noVNC files and WebSocket traffic and
167
+ expose no raw TCP VNC listener.
168
+
169
+ Agent-facing `browser_reset` is presented as **Reset tabs** and retains the
170
+ durable profile. A host operator can separately run `qubicl browser profile
171
+ wipe COMPUTER` to preview domains with stored cookies/site data and the exact
172
+ removal/preservation scope before explicit confirmation; Downloads remain.
131
173
 
132
174
  ## Security boundary
133
175
 
134
176
  Computers run without privileged mode, a Docker socket, host namespaces,
135
177
  arbitrary mounts, or passwordless elevation. The gateway listens only on
136
- `127.0.0.1`. Qubicl is a Docker-based computer for trusted or
178
+ `127.0.0.1` by default; explicit remote mode adds a separate TLS-only listener
179
+ without publishing computer ports. Qubicl is a Docker-based computer for trusted or
137
180
  operator-supervised workloads, not a VM boundary against hostile code.
138
181
 
139
182
  Read the complete [security model](https://github.com/EldanRing/qubicl/blob/main/docs/security-model.md)
140
183
  before relying on the boundary.
141
184
 
142
185
  Qubicl `0.1.x` is the initial public series. Interfaces and state formats may
143
- evolve before 1.0; back up important computer homes before upgrades.
186
+ evolve before 1.0. Linux x64, Apple Silicon macOS with Docker Desktop, and
187
+ Windows 11 x64 through Ubuntu 24.04 on WSL 2 with Docker Desktop are directly
188
+ tested. Linux ARM64, Intel macOS, Windows on ARM, and other WSL 2 distributions
189
+ remain best-effort. Native Windows and WSL 1 are unsupported; Qubicl computers
190
+ remain Linux containers on every host. Read the
191
+ [platform matrix](https://github.com/EldanRing/qubicl/blob/main/docs/platforms.md)
192
+ and [WSL guide](https://github.com/EldanRing/qubicl/blob/main/docs/wsl.md) for
193
+ the exact boundaries. Back up important computer homes before upgrades.
144
194
 
145
195
  Explore the [source and full documentation](https://github.com/EldanRing/qubicl).
146
196
  Source code and documentation are Apache-2.0. Designated Qubicl brand artwork
@@ -2,22 +2,22 @@
2
2
  "spdxVersion": "SPDX-2.3",
3
3
  "dataLicense": "CC0-1.0",
4
4
  "SPDXID": "SPDXRef-DOCUMENT",
5
- "name": "qubicl-cli-0.1.1-npm-application",
6
- "documentNamespace": "https://github.com/EldanRing/qubicl/spdx/qubicl-cli/0.1.1/dac0e16a11b8cbc0ed7f8b0e9eb9e16a3aa2f45d/npm-application",
5
+ "name": "qubicl-cli-0.2.0-npm-application",
6
+ "documentNamespace": "https://github.com/EldanRing/qubicl/spdx/qubicl-cli/0.2.0/5e54dafceb7c28ca3bcf561e6281be3d7da976d5/npm-application",
7
7
  "creationInfo": {
8
- "created": "2026-08-27T13:23:55Z",
8
+ "created": "2026-08-30T04:44:30Z",
9
9
  "creators": [
10
10
  "Tool: qubicl-metafile-sbom-1"
11
11
  ]
12
12
  },
13
13
  "documentDescribes": [
14
- "SPDXRef-Package-qubicl-cli-0.1.1-3aef512ef329"
14
+ "SPDXRef-Package-qubicl-cli-0.2.0-e4e0b5a81a1f"
15
15
  ],
16
16
  "packages": [
17
17
  {
18
18
  "name": "qubicl-cli",
19
- "SPDXID": "SPDXRef-Package-qubicl-cli-0.1.1-3aef512ef329",
20
- "versionInfo": "0.1.1",
19
+ "SPDXID": "SPDXRef-Package-qubicl-cli-0.2.0-e4e0b5a81a1f",
20
+ "versionInfo": "0.2.0",
21
21
  "downloadLocation": "NOASSERTION",
22
22
  "filesAnalyzed": false,
23
23
  "licenseConcluded": "Apache-2.0",
@@ -27,7 +27,7 @@
27
27
  {
28
28
  "referenceCategory": "PACKAGE-MANAGER",
29
29
  "referenceType": "purl",
30
- "referenceLocator": "pkg:npm/qubicl-cli@0.1.1"
30
+ "referenceLocator": "pkg:npm/qubicl-cli@0.2.0"
31
31
  }
32
32
  ],
33
33
  "comment": "Qubicl npm-application application assembled from the recorded esbuild metafiles."
@@ -50,6 +50,24 @@
50
50
  ],
51
51
  "comment": "Bundled into: control."
52
52
  },
53
+ {
54
+ "name": "@isaacs/fs-minipass",
55
+ "SPDXID": "SPDXRef-Package-isaacs-fs-minipass-4.0.1-e29823829017",
56
+ "versionInfo": "4.0.1",
57
+ "downloadLocation": "NOASSERTION",
58
+ "filesAnalyzed": false,
59
+ "licenseConcluded": "ISC",
60
+ "licenseDeclared": "ISC",
61
+ "copyrightText": "NOASSERTION",
62
+ "externalRefs": [
63
+ {
64
+ "referenceCategory": "PACKAGE-MANAGER",
65
+ "referenceType": "purl",
66
+ "referenceLocator": "pkg:npm/%40isaacs/fs-minipass@4.0.1"
67
+ }
68
+ ],
69
+ "comment": "Bundled into: cli."
70
+ },
53
71
  {
54
72
  "name": "@modelcontextprotocol/core",
55
73
  "SPDXID": "SPDXRef-Package-modelcontextprotocol-core-2.0.0-546354de5e47",
@@ -104,6 +122,114 @@
104
122
  ],
105
123
  "comment": "Bundled into: cli, control."
106
124
  },
125
+ {
126
+ "name": "chownr",
127
+ "SPDXID": "SPDXRef-Package-chownr-3.0.0-833f419be73d",
128
+ "versionInfo": "3.0.0",
129
+ "downloadLocation": "NOASSERTION",
130
+ "filesAnalyzed": false,
131
+ "licenseConcluded": "BlueOak-1.0.0",
132
+ "licenseDeclared": "BlueOak-1.0.0",
133
+ "copyrightText": "NOASSERTION",
134
+ "externalRefs": [
135
+ {
136
+ "referenceCategory": "PACKAGE-MANAGER",
137
+ "referenceType": "purl",
138
+ "referenceLocator": "pkg:npm/chownr@3.0.0"
139
+ }
140
+ ],
141
+ "comment": "Bundled into: cli."
142
+ },
143
+ {
144
+ "name": "entities",
145
+ "SPDXID": "SPDXRef-Package-entities-8.0.0-2e887580fed6",
146
+ "versionInfo": "8.0.0",
147
+ "downloadLocation": "NOASSERTION",
148
+ "filesAnalyzed": false,
149
+ "licenseConcluded": "BSD-2-Clause",
150
+ "licenseDeclared": "BSD-2-Clause",
151
+ "copyrightText": "NOASSERTION",
152
+ "externalRefs": [
153
+ {
154
+ "referenceCategory": "PACKAGE-MANAGER",
155
+ "referenceType": "purl",
156
+ "referenceLocator": "pkg:npm/entities@8.0.0"
157
+ }
158
+ ],
159
+ "comment": "Bundled into: control."
160
+ },
161
+ {
162
+ "name": "fflate",
163
+ "SPDXID": "SPDXRef-Package-fflate-0.8.3-e40a8fa62b11",
164
+ "versionInfo": "0.8.3",
165
+ "downloadLocation": "NOASSERTION",
166
+ "filesAnalyzed": false,
167
+ "licenseConcluded": "MIT",
168
+ "licenseDeclared": "MIT",
169
+ "copyrightText": "NOASSERTION",
170
+ "externalRefs": [
171
+ {
172
+ "referenceCategory": "PACKAGE-MANAGER",
173
+ "referenceType": "purl",
174
+ "referenceLocator": "pkg:npm/fflate@0.8.3"
175
+ }
176
+ ],
177
+ "comment": "Bundled into: control."
178
+ },
179
+ {
180
+ "name": "minipass",
181
+ "SPDXID": "SPDXRef-Package-minipass-7.1.3-919212b49551",
182
+ "versionInfo": "7.1.3",
183
+ "downloadLocation": "NOASSERTION",
184
+ "filesAnalyzed": false,
185
+ "licenseConcluded": "BlueOak-1.0.0",
186
+ "licenseDeclared": "BlueOak-1.0.0",
187
+ "copyrightText": "NOASSERTION",
188
+ "externalRefs": [
189
+ {
190
+ "referenceCategory": "PACKAGE-MANAGER",
191
+ "referenceType": "purl",
192
+ "referenceLocator": "pkg:npm/minipass@7.1.3"
193
+ }
194
+ ],
195
+ "comment": "Bundled into: cli."
196
+ },
197
+ {
198
+ "name": "minizlib",
199
+ "SPDXID": "SPDXRef-Package-minizlib-3.1.0-9d2296e811f3",
200
+ "versionInfo": "3.1.0",
201
+ "downloadLocation": "NOASSERTION",
202
+ "filesAnalyzed": false,
203
+ "licenseConcluded": "MIT",
204
+ "licenseDeclared": "MIT",
205
+ "copyrightText": "NOASSERTION",
206
+ "externalRefs": [
207
+ {
208
+ "referenceCategory": "PACKAGE-MANAGER",
209
+ "referenceType": "purl",
210
+ "referenceLocator": "pkg:npm/minizlib@3.1.0"
211
+ }
212
+ ],
213
+ "comment": "Bundled into: cli."
214
+ },
215
+ {
216
+ "name": "parse5",
217
+ "SPDXID": "SPDXRef-Package-parse5-8.0.1-e18dc8ba2437",
218
+ "versionInfo": "8.0.1",
219
+ "downloadLocation": "NOASSERTION",
220
+ "filesAnalyzed": false,
221
+ "licenseConcluded": "MIT",
222
+ "licenseDeclared": "MIT",
223
+ "copyrightText": "NOASSERTION",
224
+ "externalRefs": [
225
+ {
226
+ "referenceCategory": "PACKAGE-MANAGER",
227
+ "referenceType": "purl",
228
+ "referenceLocator": "pkg:npm/parse5@8.0.1"
229
+ }
230
+ ],
231
+ "comment": "Bundled into: control."
232
+ },
107
233
  {
108
234
  "name": "playwright-core",
109
235
  "SPDXID": "SPDXRef-Package-playwright-core-1.62.1-6e887f47565b",
@@ -124,8 +250,8 @@
124
250
  },
125
251
  {
126
252
  "name": "qubicl-core-skill-adaptations",
127
- "SPDXID": "SPDXRef-Package-qubicl-core-skill-adaptations-0.1.1-7a87144aafe4",
128
- "versionInfo": "0.1.1",
253
+ "SPDXID": "SPDXRef-Package-qubicl-core-skill-adaptations-0.2.0-29cfb4803a60",
254
+ "versionInfo": "0.2.0",
129
255
  "downloadLocation": "https://github.com/EldanRing/qubicl",
130
256
  "filesAnalyzed": false,
131
257
  "licenseConcluded": "MIT",
@@ -135,11 +261,47 @@
135
261
  {
136
262
  "referenceCategory": "PACKAGE-MANAGER",
137
263
  "referenceType": "purl",
138
- "referenceLocator": "pkg:github/EldanRing/qubicl@dac0e16a11b8cbc0ed7f8b0e9eb9e16a3aa2f45d"
264
+ "referenceLocator": "pkg:github/EldanRing/qubicl@5e54dafceb7c28ca3bcf561e6281be3d7da976d5"
139
265
  }
140
266
  ],
141
267
  "comment": "Six Qubicl-native core skills, with selected MIT-licensed helpers adapted from hermes-agent@7d6db4efb885856078e4d19f804035226df81e0d; Hermes Agent is not installed."
142
268
  },
269
+ {
270
+ "name": "tar",
271
+ "SPDXID": "SPDXRef-Package-tar-7.5.22-60084ba1dfc1",
272
+ "versionInfo": "7.5.22",
273
+ "downloadLocation": "NOASSERTION",
274
+ "filesAnalyzed": false,
275
+ "licenseConcluded": "BlueOak-1.0.0",
276
+ "licenseDeclared": "BlueOak-1.0.0",
277
+ "copyrightText": "NOASSERTION",
278
+ "externalRefs": [
279
+ {
280
+ "referenceCategory": "PACKAGE-MANAGER",
281
+ "referenceType": "purl",
282
+ "referenceLocator": "pkg:npm/tar@7.5.22"
283
+ }
284
+ ],
285
+ "comment": "Bundled into: cli."
286
+ },
287
+ {
288
+ "name": "yallist",
289
+ "SPDXID": "SPDXRef-Package-yallist-5.0.0-4a8b5707001b",
290
+ "versionInfo": "5.0.0",
291
+ "downloadLocation": "NOASSERTION",
292
+ "filesAnalyzed": false,
293
+ "licenseConcluded": "BlueOak-1.0.0",
294
+ "licenseDeclared": "BlueOak-1.0.0",
295
+ "copyrightText": "NOASSERTION",
296
+ "externalRefs": [
297
+ {
298
+ "referenceCategory": "PACKAGE-MANAGER",
299
+ "referenceType": "purl",
300
+ "referenceLocator": "pkg:npm/yallist@5.0.0"
301
+ }
302
+ ],
303
+ "comment": "Bundled into: cli."
304
+ },
143
305
  {
144
306
  "name": "yaml",
145
307
  "SPDXID": "SPDXRef-Package-yaml-2.9.0-be80181ebffd",
@@ -179,42 +341,87 @@
179
341
  ],
180
342
  "relationships": [
181
343
  {
182
- "spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.1-3aef512ef329",
344
+ "spdxElementId": "SPDXRef-Package-qubicl-cli-0.2.0-e4e0b5a81a1f",
183
345
  "relationshipType": "DEPENDS_ON",
184
346
  "relatedSpdxElement": "SPDXRef-Package-hono-node-server-1.19.17-1838a11ef509"
185
347
  },
186
348
  {
187
- "spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.1-3aef512ef329",
349
+ "spdxElementId": "SPDXRef-Package-qubicl-cli-0.2.0-e4e0b5a81a1f",
350
+ "relationshipType": "DEPENDS_ON",
351
+ "relatedSpdxElement": "SPDXRef-Package-isaacs-fs-minipass-4.0.1-e29823829017"
352
+ },
353
+ {
354
+ "spdxElementId": "SPDXRef-Package-qubicl-cli-0.2.0-e4e0b5a81a1f",
188
355
  "relationshipType": "DEPENDS_ON",
189
356
  "relatedSpdxElement": "SPDXRef-Package-modelcontextprotocol-core-2.0.0-546354de5e47"
190
357
  },
191
358
  {
192
- "spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.1-3aef512ef329",
359
+ "spdxElementId": "SPDXRef-Package-qubicl-cli-0.2.0-e4e0b5a81a1f",
193
360
  "relationshipType": "DEPENDS_ON",
194
361
  "relatedSpdxElement": "SPDXRef-Package-modelcontextprotocol-node-2.0.0-cc861036891c"
195
362
  },
196
363
  {
197
- "spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.1-3aef512ef329",
364
+ "spdxElementId": "SPDXRef-Package-qubicl-cli-0.2.0-e4e0b5a81a1f",
198
365
  "relationshipType": "DEPENDS_ON",
199
366
  "relatedSpdxElement": "SPDXRef-Package-modelcontextprotocol-server-2.0.0-39f69d3701b8"
200
367
  },
201
368
  {
202
- "spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.1-3aef512ef329",
369
+ "spdxElementId": "SPDXRef-Package-qubicl-cli-0.2.0-e4e0b5a81a1f",
370
+ "relationshipType": "DEPENDS_ON",
371
+ "relatedSpdxElement": "SPDXRef-Package-chownr-3.0.0-833f419be73d"
372
+ },
373
+ {
374
+ "spdxElementId": "SPDXRef-Package-qubicl-cli-0.2.0-e4e0b5a81a1f",
375
+ "relationshipType": "DEPENDS_ON",
376
+ "relatedSpdxElement": "SPDXRef-Package-entities-8.0.0-2e887580fed6"
377
+ },
378
+ {
379
+ "spdxElementId": "SPDXRef-Package-qubicl-cli-0.2.0-e4e0b5a81a1f",
380
+ "relationshipType": "DEPENDS_ON",
381
+ "relatedSpdxElement": "SPDXRef-Package-fflate-0.8.3-e40a8fa62b11"
382
+ },
383
+ {
384
+ "spdxElementId": "SPDXRef-Package-qubicl-cli-0.2.0-e4e0b5a81a1f",
385
+ "relationshipType": "DEPENDS_ON",
386
+ "relatedSpdxElement": "SPDXRef-Package-minipass-7.1.3-919212b49551"
387
+ },
388
+ {
389
+ "spdxElementId": "SPDXRef-Package-qubicl-cli-0.2.0-e4e0b5a81a1f",
390
+ "relationshipType": "DEPENDS_ON",
391
+ "relatedSpdxElement": "SPDXRef-Package-minizlib-3.1.0-9d2296e811f3"
392
+ },
393
+ {
394
+ "spdxElementId": "SPDXRef-Package-qubicl-cli-0.2.0-e4e0b5a81a1f",
395
+ "relationshipType": "DEPENDS_ON",
396
+ "relatedSpdxElement": "SPDXRef-Package-parse5-8.0.1-e18dc8ba2437"
397
+ },
398
+ {
399
+ "spdxElementId": "SPDXRef-Package-qubicl-cli-0.2.0-e4e0b5a81a1f",
203
400
  "relationshipType": "DEPENDS_ON",
204
401
  "relatedSpdxElement": "SPDXRef-Package-playwright-core-1.62.1-6e887f47565b"
205
402
  },
206
403
  {
207
- "spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.1-3aef512ef329",
404
+ "spdxElementId": "SPDXRef-Package-qubicl-cli-0.2.0-e4e0b5a81a1f",
405
+ "relationshipType": "DEPENDS_ON",
406
+ "relatedSpdxElement": "SPDXRef-Package-qubicl-core-skill-adaptations-0.2.0-29cfb4803a60"
407
+ },
408
+ {
409
+ "spdxElementId": "SPDXRef-Package-qubicl-cli-0.2.0-e4e0b5a81a1f",
410
+ "relationshipType": "DEPENDS_ON",
411
+ "relatedSpdxElement": "SPDXRef-Package-tar-7.5.22-60084ba1dfc1"
412
+ },
413
+ {
414
+ "spdxElementId": "SPDXRef-Package-qubicl-cli-0.2.0-e4e0b5a81a1f",
208
415
  "relationshipType": "DEPENDS_ON",
209
- "relatedSpdxElement": "SPDXRef-Package-qubicl-core-skill-adaptations-0.1.1-7a87144aafe4"
416
+ "relatedSpdxElement": "SPDXRef-Package-yallist-5.0.0-4a8b5707001b"
210
417
  },
211
418
  {
212
- "spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.1-3aef512ef329",
419
+ "spdxElementId": "SPDXRef-Package-qubicl-cli-0.2.0-e4e0b5a81a1f",
213
420
  "relationshipType": "DEPENDS_ON",
214
421
  "relatedSpdxElement": "SPDXRef-Package-yaml-2.9.0-be80181ebffd"
215
422
  },
216
423
  {
217
- "spdxElementId": "SPDXRef-Package-qubicl-cli-0.1.1-3aef512ef329",
424
+ "spdxElementId": "SPDXRef-Package-qubicl-cli-0.2.0-e4e0b5a81a1f",
218
425
  "relationshipType": "DEPENDS_ON",
219
426
  "relatedSpdxElement": "SPDXRef-Package-zod-4.4.3-0479f5dfed7f"
220
427
  }