@ai-ecoverse/slicc-bios 1.24.1 → 1.25.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
@@ -172,7 +172,7 @@ The Files panel lists `/opt/grammars/node_modules` but doesn't scan it.
172
172
 
173
173
  #### Optional packages
174
174
 
175
- Below the system rows, Install / Update offers **Optional packages** (spectrum ≥ 1.42.0): tools that seven doesn't preinstall, each at the version the homescoop coordinator certified. The catalog is [`src/packages/optional/`](src/packages/optional/): `package.json` pins each package exactly, `package-lock.json` (made with `npm install --package-lock-only --ignore-scripts`, never installed) holds its integrity, and `catalog.json` gives its id, label, description, commands, tarball size and `requires`. A test keeps the three in step. Today it offers git, the GitHub CLI, OpenSSH, `slicc` (see [Sevens this kernel follows](#network)), Python, the Python data tools (numpy, pandas and matplotlib), Node.js (slicc-jsh's `node` and `jsh`), `sliccy:browser` for `.jsh` scripts, Ruby, Perl, Biome, the PDF tools (poppler), qpdf, rsync, screen, SQLite, dig, websocat, ntfy, GnuPG, fnox and mcpcat (an MCP client).
175
+ Below the system rows, Install / Update offers **Optional packages** (spectrum ≥ 1.42.0): tools that seven doesn't preinstall, each at the version the homescoop coordinator certified. The catalog is [`src/packages/optional/`](src/packages/optional/): `package.json` pins each package exactly, `package-lock.json` (made with `npm install --package-lock-only --ignore-scripts`, never installed) holds its integrity, and `catalog.json` gives its id, label, description, commands, tarball size and `requires`. A test keeps the three in step. Today it offers git, the GitHub CLI, OpenSSH, `slicc` (see [Sevens this kernel follows](#network)), Python, the Python data tools (numpy, pandas and matplotlib), Node.js (slicc-jsh's `node` and `jsh`), `sliccy:browser` for `.jsh` scripts, Ruby, Perl, Biome, the PDF tools (poppler), qpdf, rsync, screen, SQLite, dig, websocat, ntfy, GnuPG, fnox, mcpcat (an MCP client) and ImageMagick. ImageMagick is homescoop's HEIF build (`wasm-imagemagick-heif`, a superset of the plain build, which isn't offered), with `magick`, `convert`, `mogrify`, `identify` and `magick-open`, and it reads HEIC and AVIF. A failed write leaves an existing target as it was. Its known issues: writing over another user's 0666 file in a sticky directory such as `/tmp` fails with `Operation not permitted`, though writing your own files works ([homescoop#1258](https://github.com/ai-ecoverse/homescoop/issues/1258)); `.mpc` writes fail with `cache resources exhausted` ([homescoop#1208](https://github.com/ai-ecoverse/homescoop/issues/1208)); and the cert's coverage gaps, among them the no-encoder fallback and MPC's two-file write ([homescoop#1209](https://github.com/ai-ecoverse/homescoop/issues/1209)). sudo for `magick`, `convert` or `mogrify` is offered once, never always, since they write files. No two catalog entries provide the same command, so an install never shadows another entry's.
176
176
 
177
177
  - **Install** runs `pnpm add -g <package>@<version>` in the page's kernel, as a user would, under the Web Lock `slicc-optional`, so the commands work at once in every open shell. pnpm 12 gives each global add its own project under `$PNPM_HOME/global/v11/`; bios reads `PNPM_HOME` from the kernel's environment. Afterwards `os/packages.js` reads that project's `pnpm-lock.yaml`: every package in it, the one added and each dependency, must be a version in the catalog's lockfile or the base set's, with that integrity. homescoop pins `@ai-ecoverse/*` dependencies exactly (uv → Python, git → bash), so the catalog's lockfile names them all. Anything else, a dependency pnpm resolved to another version included, removes the package again and fails the row with *This version doesn't match the tested build*. An entry's `requires` (uv needs Python) are installed first. A package's kernel command always wins over the same package's Node `bin`. After each install and update, for every name that a package declares both in `slicc.commands` and in `bin`, bios removes the link that pnpm made in `$PNPM_HOME/bin`, but only when that link points into this package, so `mcpcat` runs `/usr/bin/mcpcat`, not a `#!/usr/bin/env node` script with no Node to run it. Another package's bins are never touched, and a package with only a `bin` keeps it. `/opt/user` (Your packages) isn't affected: its bins are not on `PATH`. A project entry also **updates** a required package that's older than the catalog's before it installs, since it runs on the catalog's version: the data tools override their own Python away, and their builds need the catalog's Python. A global add brings its own pinned dependencies, so it leaves an older required package as it is.
178
178
  - **State** comes from pnpm's global projects, not from a list of bios's own, so a package installed by hand shows as installed with its version. One older than the catalog's offers **Update**, which adds the catalog's version; one at or above it offers **Remove**. bios never downgrades.
@@ -487,6 +487,15 @@ Limits:
487
487
 
488
488
  [`src/packages/certs.json`](src/packages/certs.json) lists every certified version of the gated packages: slicc-kernel, slicc-cdp, mcpcat, and the `wasi-*`, `wasix-*`, `wasm-*` and `py-*` packages. Each entry has its npm integrity, and its tarball sha256 where the cert gave one. `test/integration/pins.test.mjs` fails when any lockfile seven ships (the base set, `/opt/agent`, the optional catalog with its nested dependencies, and Tailscale) pins a gated package that isn't listed there with the same integrity. It also fails when a pinned package's `engines.slicc-kernel` or kernel peer range isn't met by the pinned kernel. An uncertified bump, from Renovate or anyone, turns CI red. When homescoop (or the CDP coordinator, for slicc-cdp) certifies a version, add it here in the same PR that pins it.
489
489
 
490
+ ### Renovate keeps the pins current
491
+
492
+ [`renovate.json`](renovate.json) bumps every `@ai-ecoverse/*` pin in the base set (`src/packages/package.json`), the optional catalog (`src/packages/optional/package.json`) and `/opt/agent` (`src/packages/agent/package.json`), with their npm and pnpm lockfiles.
493
+
494
+ - **PRs:** homescoop's packages (`wasi-*`, `wasix-*`, `wasm-*`, `py-*`, `wasi-pnpm` included) come as one PR a day, between 00:00 and 06:00 UTC. The kernel (its base-set and `/opt/agent` pins together), slicc-cdp, slicc-agent, slicc-spectrum and slicc-jsh each get their own PR, and so does every other package. The grammars and Tailscale projects stay on the dependency dashboard.
495
+ - **Automerge only when certified:** Renovate turns on auto-merge, so a PR goes through the merge queue once `ci / test` is green. On a Renovate PR, `ci / test` ends with [`scripts/ci/certified.mjs`](scripts/ci/certified.mjs). It fails unless, for each `@ai-ecoverse` pin the PR changes in those three files, the latest cert review comment that names it (posted by `github-actions[bot]`, with `sha check ok`) has its `certified` line. Its verdict line is `cert-gate: CERTIFIED …`, `cert-gate: FAIL …` or `cert-gate: PASS <why it doesn't apply>`. So the first CI run of such a PR is red.
496
+ - **Then cert review** (the `workflow_run` after CI) writes its verdict. After a certified verdict, its `cert / queue` job runs [`scripts/cert/apply.mjs`](scripts/cert/apply.mjs) from the base, which runs no code from the PR. That script runs the sha check again and adds each certified `certs.json:` line for a gated package that the PR's lockfiles pin with that integrity. The job commits the lines to the Renovate branch as `github-actions[bot]`, whose email is in `gitIgnoredAuthors`, so Renovate keeps rebasing the branch. Then it dispatches CI on it (`workflow_dispatch` with `pr`), since a push with `GITHUB_TOKEN` starts no workflow. That run's `ci / test` counts for the PR's head, and the queue takes it from there.
497
+ - **Known breaks** are `packageRules` with `allowedVersions`, each with its reason and issue in `description`: wasm-bash stays below 5.3.0-20 until a kernel with slicc-kernel#1146 is pinned, and wasi-pnpm skips the deprecated 12.9.1-11 and 12.9.1-12 (homescoop#1128). `test/integration/renovate.test.mjs` checks the config, the gate and the queue in plain node.
498
+
490
499
  ### Canary
491
500
 
492
501
  [`.github/workflows/canary.yml`](.github/workflows/canary.yml) answers "is bios main green with these candidate versions?" before anyone asks for a pin. It never pushes, pins or opens a PR: it reports.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/slicc-bios",
3
- "version": "1.24.1",
3
+ "version": "1.25.0",
4
4
  "description": "Slim loader that boots SLICC into OPFS and serves the UI from there",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -46,7 +46,7 @@
46
46
  "@ai-ecoverse/slicc-browsers": "1.8.5",
47
47
  "@ai-ecoverse/slicc-node": "2.5.1",
48
48
  "@ai-ecoverse/slicc-shared-web": "1.24.2",
49
- "@ai-ecoverse/slicc-spectrum": "1.89.1",
49
+ "@ai-ecoverse/slicc-spectrum": "1.89.2",
50
50
  "@ai-ecoverse/slicc-vault": "1.12.2",
51
51
  "@biomejs/biome": "2.5.15",
52
52
  "es-module-lexer": "3.0.3",
@@ -3,7 +3,7 @@
3
3
  "private": true,
4
4
  "description": "SLICC's agent, which the UI installs with pnpm in the background into /opt/agent in OPFS",
5
5
  "dependencies": {
6
- "@ai-ecoverse/slicc-agent": "6.5.0",
7
- "@ai-ecoverse/slicc-kernel": "1.125.12"
6
+ "@ai-ecoverse/slicc-agent": "6.6.0",
7
+ "@ai-ecoverse/slicc-kernel": "1.128.0"
8
8
  }
9
9
  }
@@ -12,16 +12,16 @@ importers:
12
12
  .:
13
13
  dependencies:
14
14
  '@ai-ecoverse/slicc-agent':
15
- specifier: 6.5.0
16
- version: 6.5.0(@ai-ecoverse/slicc-kernel@1.125.12)(@aws-sdk/credential-provider-node@3.972.84)(@smithy/signature-v4@5.7.4)(ws@8.22.0)
15
+ specifier: 6.6.0
16
+ version: 6.6.0(@ai-ecoverse/slicc-kernel@1.128.0)(@aws-sdk/credential-provider-node@3.972.84)(@smithy/signature-v4@5.7.4)(ws@8.22.0)
17
17
  '@ai-ecoverse/slicc-kernel':
18
- specifier: 1.125.12
19
- version: 1.125.12
18
+ specifier: 1.128.0
19
+ version: 1.128.0
20
20
 
21
21
  packages:
22
22
 
23
- '@ai-ecoverse/slicc-agent@6.5.0':
24
- resolution: {integrity: sha512-gBE6kmapMtmCRGGVlE+gZM9mn2ftpJNYSjLpGu0lvHzsY+sVLA3ZWxPCFHHPhTdQPuQ+kOuUuZDHl2P61kRcrQ==}
23
+ '@ai-ecoverse/slicc-agent@6.6.0':
24
+ resolution: {integrity: sha512-cluLkBcWUIvqCdiZdmSGRvC7AH45lc7CFWnyOwXa/BEOoibbEMNqyUmIdI1lxICsJu54rcJD1KgCD8MQ5SqR5Q==}
25
25
  engines: {node: '>=24'}
26
26
  peerDependencies:
27
27
  '@ai-ecoverse/slicc-kernel': '>=1.110.0 <2'
@@ -34,12 +34,12 @@ packages:
34
34
  resolution: {integrity: sha512-Ec91bcUjUORvGzC1YQ9BJ+0N17T8pJMITcAkVSVFayO0cq5OP8T1kXrMC/LoXVqLcOjo8kmxEVsu/qkzylyNFw==}
35
35
  engines: {node: '>=24'}
36
36
 
37
- '@ai-ecoverse/slicc-kernel@1.125.12':
38
- resolution: {integrity: sha512-V9qpj4wwqC0/gz2loI6mrbOqRxhLqW4YJ0xFjXV3BreFx6As0HsBe/1xYZGt3+wRGc/NbCa/qsuMWlpz31B5jQ==}
37
+ '@ai-ecoverse/slicc-kernel@1.128.0':
38
+ resolution: {integrity: sha512-zj4hVv8H0cNrwbMs8NcFX2jFQ9mFE1uK+Yv0+4cTzHS6ploQH4HSySv62oWjAyBl+XRfhXJZNyZoXE5hL+d8nA==}
39
39
  engines: {node: '>=24'}
40
40
 
41
- '@ai-ecoverse/slicc-vault@1.12.0':
42
- resolution: {integrity: sha512-fhkHorPUDvwnwYyJYCiqPXrzTYNCLOA8ouYICunB8jcVS0LUec088LZMKThVw0LeA17H6Se7AFt/cth0Q+c0ww==}
41
+ '@ai-ecoverse/slicc-vault@1.12.1':
42
+ resolution: {integrity: sha512-pcePFdV0F1Do2oj5lXrQHV627IWT9mWpSgTEnQzZ5mzKX3y6Tt5cAFu67wZ+m0Ww3Ay4THzbXk4plxbuQojKPQ==}
43
43
  engines: {node: '>=24'}
44
44
 
45
45
  '@anthropic-ai/sdk@0.129.0':
@@ -324,11 +324,11 @@ packages:
324
324
 
325
325
  snapshots:
326
326
 
327
- '@ai-ecoverse/slicc-agent@6.5.0(@ai-ecoverse/slicc-kernel@1.125.12)(@aws-sdk/credential-provider-node@3.972.84)(@smithy/signature-v4@5.7.4)(ws@8.22.0)':
327
+ '@ai-ecoverse/slicc-agent@6.6.0(@ai-ecoverse/slicc-kernel@1.128.0)(@aws-sdk/credential-provider-node@3.972.84)(@smithy/signature-v4@5.7.4)(ws@8.22.0)':
328
328
  dependencies:
329
329
  '@ai-ecoverse/slicc-browsers': 1.8.5
330
- '@ai-ecoverse/slicc-kernel': 1.125.12
331
- '@ai-ecoverse/slicc-vault': 1.12.0
330
+ '@ai-ecoverse/slicc-kernel': 1.128.0
331
+ '@ai-ecoverse/slicc-vault': 1.12.1
332
332
  '@aws-sdk/middleware-websocket': 3.972.54
333
333
  '@earendil-works/chord': 1.3.0
334
334
  '@earendil-works/pi-ai': 1.3.0(@aws-sdk/credential-provider-node@3.972.84)(@smithy/signature-v4@5.7.4)(ws@8.22.0)
@@ -349,9 +349,9 @@ snapshots:
349
349
 
350
350
  '@ai-ecoverse/slicc-browsers@1.8.5': {}
351
351
 
352
- '@ai-ecoverse/slicc-kernel@1.125.12': {}
352
+ '@ai-ecoverse/slicc-kernel@1.128.0': {}
353
353
 
354
- '@ai-ecoverse/slicc-vault@1.12.0': {}
354
+ '@ai-ecoverse/slicc-vault@1.12.1': {}
355
355
 
356
356
  '@anthropic-ai/sdk@0.129.0':
357
357
  dependencies:
@@ -215,6 +215,10 @@
215
215
  "integrity": "sha512-TQJguJZKQsArERx4iz5h5CL9WdGmMBrFzkkSZLFKqUhzMcKI1llbGeZ7TKTcNs9vMc0H6yIv/iroY/36NIIPMw==",
216
216
  "sha256": "864e48c7c44b85a2d797648990da52053ed1162f8fa65817ae59dcec183f6ba5"
217
217
  },
218
+ "@ai-ecoverse/slicc-jsh@0.45.4": {
219
+ "integrity": "sha512-fSHMCOodMnPiSh+XfhiaXVVSVSRAg8at7vmdXFPtaXO3pzJ2A2WArSpaD3jlJife4zB2wZJHeR8buZOGqXyc3A==",
220
+ "sha256": "7da54c1f73b2e7cc498af299af3f9a1bce2296212c75f6642a125be2d0f8bb95"
221
+ },
218
222
  "@ai-ecoverse/slicc-kernel@1.53.3": {
219
223
  "integrity": "sha512-bGAzgiz/V3cAtKumrK6Fu1raUdIA4Jkcm5ni3deNlfoATDZX+fY7khICHrxknpFT4knJS2AhhmUzAIR1IGFAjw==",
220
224
  "sha256": "2ef150188e4b6f983b7d3af3db4ac63c884471642f11e828ca4d05396c74d3c5"
@@ -323,6 +327,10 @@
323
327
  "integrity": "sha512-V9qpj4wwqC0/gz2loI6mrbOqRxhLqW4YJ0xFjXV3BreFx6As0HsBe/1xYZGt3+wRGc/NbCa/qsuMWlpz31B5jQ==",
324
328
  "sha256": "d574a6baf7080ee92d51b62f0f94387cb03ef870f55b47ebfa43789904954b2e"
325
329
  },
330
+ "@ai-ecoverse/slicc-kernel@1.128.0": {
331
+ "integrity": "sha512-zj4hVv8H0cNrwbMs8NcFX2jFQ9mFE1uK+Yv0+4cTzHS6ploQH4HSySv62oWjAyBl+XRfhXJZNyZoXE5hL+d8nA==",
332
+ "sha256": "495ccb024e8762c752a2b1b74025cea2d6364689755d36ee9d721af55e262c0d"
333
+ },
326
334
  "@ai-ecoverse/wasi-biome@2.5.15-2": {
327
335
  "integrity": "sha512-5oIfngw8Ln2/ddCJ0wtqMoSnW+UO2zuih0+x1CNDbwKkB18TxuWoI60QFQySjd69N6eP+blL/stz/AZyoYpeuw==",
328
336
  "sha256": "25599e4317ec2e7ca9a447ff99ac01f271358cd06bd2d727e6b28b10c05bf44a"
@@ -760,5 +768,9 @@
760
768
  "@ai-ecoverse/mcpcat@0.16.3": {
761
769
  "integrity": "sha512-Sah/qC/1x31WKsVK+tyHYSdV8StFLpZEmuNyWqu2inbK19IL7ZyZyOb+85CGVAG1+ZRdXfE1y0eUAQuu0jnm3w==",
762
770
  "sha256": "d492f978d7f0925378369feaddb2925f9220169b965c3a7b0a2854acd6668bc3"
771
+ },
772
+ "@ai-ecoverse/wasm-imagemagick-heif@7.1.2-34-9.1": {
773
+ "integrity": "sha512-0z9FTPGFcO/8cFvCHkBI8kBQLvtjts3WFrhVzI5FQSVeRyZwMCKJZWHmAgiGUiS5q/UbsJF2AI9ocwGgIaJXjw==",
774
+ "sha256": "f8e80e2aa2486a1658e0cdc6eb9c6b675b5615f3ce87b7e609d3e33f66752da5"
763
775
  }
764
776
  }
@@ -46,9 +46,9 @@
46
46
  "@ai-ecoverse/slicc-jsh": {
47
47
  "id": "node",
48
48
  "label": "Node.js (jsh)",
49
- "description": "Node.js 22-compatible node and jsh commands: fs (chmod included), streams, http, fetch, WebSocket, zlib, crypto and child_process, the sync calls (spawnSync, execSync, execFileSync) and detached spawns included, tls on the kernel's own handshake and Brotli and zstd decompression in zlib, without fork, worker or asymmetric crypto yet. fetch() reaches servers inside seven (localhost, <port>.kernel.localhost) and streams their responses. node with no arguments opens the REPL.",
49
+ "description": "Node.js 22-compatible node and jsh commands: fs (chmod included), streams, http, fetch, WebSocket, zlib, crypto, v8.serialize and child_process, the sync calls (spawnSync, execSync, execFileSync) and detached spawns included, tls on the kernel's own handshake and Brotli and zstd decompression in zlib, without fork, worker or asymmetric crypto yet. fetch() reaches servers inside seven (localhost, <port>.kernel.localhost) and streams their responses. node with no arguments opens the REPL.",
50
50
  "commands": ["node", "jsh"],
51
- "size": 1456683
51
+ "size": 1478434
52
52
  },
53
53
  "@ai-ecoverse/sliccy-browser": {
54
54
  "id": "jsh-browser",
@@ -162,5 +162,12 @@
162
162
  "description": "Calls MCP servers from the terminal: lists and calls their tools, resources and prompts, over HTTP or a stdio command. In a header, -H 'Authorization: Bearer ${NAME}' (single quotes) sends the vault's placeholder, which the vault fills in where a secret rule allows that host; mcpcat never prints the value.",
163
163
  "commands": ["mcpcat"],
164
164
  "size": 589050
165
+ },
166
+ "@ai-ecoverse/wasm-imagemagick-heif": {
167
+ "id": "imagemagick",
168
+ "label": "ImageMagick",
169
+ "description": "Convert, resize and inspect images (magick, convert, mogrify, identify), including HEIC/AVIF.",
170
+ "commands": ["magick", "convert", "mogrify", "identify", "magick-open"],
171
+ "size": 11420934
165
172
  }
166
173
  }
@@ -7,7 +7,7 @@
7
7
  "name": "slicc-bios-optional",
8
8
  "dependencies": {
9
9
  "@ai-ecoverse/mcpcat": "0.16.3",
10
- "@ai-ecoverse/slicc-jsh": "0.43.0",
10
+ "@ai-ecoverse/slicc-jsh": "0.45.4",
11
11
  "@ai-ecoverse/sliccy-browser": "0.1.22",
12
12
  "@ai-ecoverse/wasi-biome": "2.5.15-4",
13
13
  "@ai-ecoverse/wasi-dig": "0.1.0-4",
@@ -22,6 +22,7 @@
22
22
  "@ai-ecoverse/wasix-ruby": "3.4.11-20",
23
23
  "@ai-ecoverse/wasix-websocat": "4.0.0-alpha3-5",
24
24
  "@ai-ecoverse/wasm-git": "2.55.0-17",
25
+ "@ai-ecoverse/wasm-imagemagick-heif": "7.1.2-34-9.1",
25
26
  "@ai-ecoverse/wasm-libheif": "1.23.6-6",
26
27
  "@ai-ecoverse/wasm-poppler": "26.10.0-5",
27
28
  "@ai-ecoverse/wasm-qpdf": "12.4.2-4",
@@ -59,9 +60,9 @@
59
60
  }
60
61
  },
61
62
  "node_modules/@ai-ecoverse/slicc-jsh": {
62
- "version": "0.43.0",
63
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-jsh/-/slicc-jsh-0.43.0.tgz",
64
- "integrity": "sha512-TQJguJZKQsArERx4iz5h5CL9WdGmMBrFzkkSZLFKqUhzMcKI1llbGeZ7TKTcNs9vMc0H6yIv/iroY/36NIIPMw==",
63
+ "version": "0.45.4",
64
+ "resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-jsh/-/slicc-jsh-0.45.4.tgz",
65
+ "integrity": "sha512-fSHMCOodMnPiSh+XfhiaXVVSVSRAg8at7vmdXFPtaXO3pzJ2A2WArSpaD3jlJife4zB2wZJHeR8buZOGqXyc3A==",
65
66
  "license": "Apache-2.0",
66
67
  "bin": {
67
68
  "jsh": "dist/host/jsh.mjs"
@@ -206,6 +207,15 @@
206
207
  "slicc-kernel": ">=1.47.1"
207
208
  }
208
209
  },
210
+ "node_modules/@ai-ecoverse/wasm-imagemagick-heif": {
211
+ "version": "7.1.2-34-9.1",
212
+ "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-imagemagick-heif/-/wasm-imagemagick-heif-7.1.2-34-9.1.tgz",
213
+ "integrity": "sha512-0z9FTPGFcO/8cFvCHkBI8kBQLvtjts3WFrhVzI5FQSVeRyZwMCKJZWHmAgiGUiS5q/UbsJF2AI9ocwGgIaJXjw==",
214
+ "license": "ImageMagick AND LGPL-3.0-or-later AND BSD-2-Clause",
215
+ "engines": {
216
+ "slicc-kernel": ">=1.78.0"
217
+ }
218
+ },
209
219
  "node_modules/@ai-ecoverse/wasm-libheif": {
210
220
  "version": "1.23.6-6",
211
221
  "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-libheif/-/wasm-libheif-1.23.6-6.tgz",
@@ -4,7 +4,7 @@
4
4
  "description": "The certified versions of the optional packages that seven's Install / Update panel offers. Never installed as a project: the panel runs pnpm add -g for each one.",
5
5
  "dependencies": {
6
6
  "@ai-ecoverse/mcpcat": "0.16.3",
7
- "@ai-ecoverse/slicc-jsh": "0.43.0",
7
+ "@ai-ecoverse/slicc-jsh": "0.45.4",
8
8
  "@ai-ecoverse/sliccy-browser": "0.1.22",
9
9
  "@ai-ecoverse/wasi-biome": "2.5.15-4",
10
10
  "@ai-ecoverse/wasi-dig": "0.1.0-4",
@@ -19,6 +19,7 @@
19
19
  "@ai-ecoverse/wasix-ruby": "3.4.11-20",
20
20
  "@ai-ecoverse/wasix-websocat": "4.0.0-alpha3-5",
21
21
  "@ai-ecoverse/wasm-git": "2.55.0-17",
22
+ "@ai-ecoverse/wasm-imagemagick-heif": "7.1.2-34-9.1",
22
23
  "@ai-ecoverse/wasm-libheif": "1.23.6-6",
23
24
  "@ai-ecoverse/wasm-poppler": "26.10.0-5",
24
25
  "@ai-ecoverse/wasm-qpdf": "12.4.2-4",
@@ -9,8 +9,8 @@
9
9
  "@ai-ecoverse/slicc-browsers": "1.8.5",
10
10
  "@ai-ecoverse/slicc-cdp": "1.30.2",
11
11
  "@ai-ecoverse/slicc-clipboard": "1.0.2",
12
- "@ai-ecoverse/slicc-kernel": "1.125.12",
13
- "@ai-ecoverse/slicc-spectrum": "1.89.1",
12
+ "@ai-ecoverse/slicc-kernel": "1.128.0",
13
+ "@ai-ecoverse/slicc-spectrum": "1.89.2",
14
14
  "@ai-ecoverse/wasi-pnpm": "12.9.1-13",
15
15
  "@ai-ecoverse/wasi-ripgrep": "15.2.0-5",
16
16
  "@ai-ecoverse/wasm-bash": "5.3.0-19",
@@ -71,18 +71,18 @@
71
71
  }
72
72
  },
73
73
  "node_modules/@ai-ecoverse/slicc-kernel": {
74
- "version": "1.125.12",
75
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-kernel/-/slicc-kernel-1.125.12.tgz",
76
- "integrity": "sha512-V9qpj4wwqC0/gz2loI6mrbOqRxhLqW4YJ0xFjXV3BreFx6As0HsBe/1xYZGt3+wRGc/NbCa/qsuMWlpz31B5jQ==",
74
+ "version": "1.128.0",
75
+ "resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-kernel/-/slicc-kernel-1.128.0.tgz",
76
+ "integrity": "sha512-zj4hVv8H0cNrwbMs8NcFX2jFQ9mFE1uK+Yv0+4cTzHS6ploQH4HSySv62oWjAyBl+XRfhXJZNyZoXE5hL+d8nA==",
77
77
  "license": "Apache-2.0",
78
78
  "engines": {
79
79
  "node": ">=24"
80
80
  }
81
81
  },
82
82
  "node_modules/@ai-ecoverse/slicc-spectrum": {
83
- "version": "1.89.1",
84
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-spectrum/-/slicc-spectrum-1.89.1.tgz",
85
- "integrity": "sha512-UUwKMRJZjbHy8IBZmGoe2mLIp0NMBFdXe37wTS9W8er/4YjABaQYKVCtBxlZUEcGXN3DZEAbG4eGKi+FC/L76A==",
83
+ "version": "1.89.2",
84
+ "resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-spectrum/-/slicc-spectrum-1.89.2.tgz",
85
+ "integrity": "sha512-4jaRJwFp+KmqW5mDjbYd9MInkxh/KwkfWrNyHrDwnn4YRJ2R1cq+eV3Cbhwposj75u+rVh/NlPnexBeJp1d9FA==",
86
86
  "license": "Apache-2.0",
87
87
  "engines": {
88
88
  "node": ">=24"
@@ -6,8 +6,8 @@
6
6
  "@ai-ecoverse/slicc-browsers": "1.8.5",
7
7
  "@ai-ecoverse/slicc-cdp": "1.30.2",
8
8
  "@ai-ecoverse/slicc-clipboard": "1.0.2",
9
- "@ai-ecoverse/slicc-kernel": "1.125.12",
10
- "@ai-ecoverse/slicc-spectrum": "1.89.1",
9
+ "@ai-ecoverse/slicc-kernel": "1.128.0",
10
+ "@ai-ecoverse/slicc-spectrum": "1.89.2",
11
11
  "@ai-ecoverse/wasi-pnpm": "12.9.1-13",
12
12
  "@ai-ecoverse/wasi-ripgrep": "15.2.0-5",
13
13
  "@ai-ecoverse/wasm-bash": "5.3.0-19",
@@ -18,11 +18,11 @@ importers:
18
18
  specifier: 1.0.2
19
19
  version: 1.0.2
20
20
  '@ai-ecoverse/slicc-kernel':
21
- specifier: 1.125.12
22
- version: 1.125.12
21
+ specifier: 1.128.0
22
+ version: 1.128.0
23
23
  '@ai-ecoverse/slicc-spectrum':
24
- specifier: 1.89.1
25
- version: 1.89.1
24
+ specifier: 1.89.2
25
+ version: 1.89.2
26
26
  '@ai-ecoverse/wasi-pnpm':
27
27
  specifier: 12.9.1-13
28
28
  version: 12.9.1-13
@@ -108,12 +108,12 @@ packages:
108
108
  resolution: {integrity: sha512-p7b1h85qkiU0LKjNLCLiU7GVXjGigkyR2+VUCInM1cZo2yjLFxr7tGAOO09e6OG9nB7XKiQn3W88wb3s0gxy+g==}
109
109
  engines: {node: '>=24', slicc-kernel: '>=1.75.0'}
110
110
 
111
- '@ai-ecoverse/slicc-kernel@1.125.12':
112
- resolution: {integrity: sha512-V9qpj4wwqC0/gz2loI6mrbOqRxhLqW4YJ0xFjXV3BreFx6As0HsBe/1xYZGt3+wRGc/NbCa/qsuMWlpz31B5jQ==}
111
+ '@ai-ecoverse/slicc-kernel@1.128.0':
112
+ resolution: {integrity: sha512-zj4hVv8H0cNrwbMs8NcFX2jFQ9mFE1uK+Yv0+4cTzHS6ploQH4HSySv62oWjAyBl+XRfhXJZNyZoXE5hL+d8nA==}
113
113
  engines: {node: '>=24'}
114
114
 
115
- '@ai-ecoverse/slicc-spectrum@1.89.1':
116
- resolution: {integrity: sha512-UUwKMRJZjbHy8IBZmGoe2mLIp0NMBFdXe37wTS9W8er/4YjABaQYKVCtBxlZUEcGXN3DZEAbG4eGKi+FC/L76A==}
115
+ '@ai-ecoverse/slicc-spectrum@1.89.2':
116
+ resolution: {integrity: sha512-4jaRJwFp+KmqW5mDjbYd9MInkxh/KwkfWrNyHrDwnn4YRJ2R1cq+eV3Cbhwposj75u+rVh/NlPnexBeJp1d9FA==}
117
117
  engines: {node: '>=24'}
118
118
  peerDependencies:
119
119
  '@shikijs/langs': 4.5.0
@@ -206,9 +206,9 @@ snapshots:
206
206
 
207
207
  '@ai-ecoverse/slicc-clipboard@1.0.2': {}
208
208
 
209
- '@ai-ecoverse/slicc-kernel@1.125.12': {}
209
+ '@ai-ecoverse/slicc-kernel@1.128.0': {}
210
210
 
211
- '@ai-ecoverse/slicc-spectrum@1.89.1': {}
211
+ '@ai-ecoverse/slicc-spectrum@1.89.2': {}
212
212
 
213
213
  '@ai-ecoverse/wasi-pnpm@12.9.1-13': {}
214
214