@ai-ecoverse/slicc-bios 1.3.2 → 1.4.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
@@ -168,7 +168,7 @@ The Files panel lists `/opt/grammars/node_modules` but doesn't scan it.
168
168
 
169
169
  #### Optional packages
170
170
 
171
- 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, OpenSSH, Python, uv, Node.js (slicc-jsh's `node` and `jsh`), Ruby, Perl, esbuild, TypeScript, Biome, the PDF tools (poppler), qpdf, rsync, buf, screen, dig and GnuPG.
171
+ 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, OpenSSH, Python, uv, Node.js (slicc-jsh's `node` and `jsh`), `sliccy:browser` for `.jsh` scripts, Ruby, Perl, esbuild, TypeScript, Biome, the PDF tools (poppler), qpdf, rsync, buf, screen, SQLite, dig and GnuPG.
172
172
 
173
173
  - **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.
174
174
  - **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.
@@ -180,6 +180,7 @@ Below the system rows, Install / Update offers **Optional packages** (spectrum
180
180
  - **How Python finds it:** bios writes `/opt/slicc/python/slicc-pydata.pth`, which lists each package's site-packages (from its `slicc.python.sitePackages`), next to a `sitecustomize.py` that adds that folder as a site directory. The page's kernel puts `/opt/slicc/python` on every process's `PYTHONPATH`, so `python3` imports the packages from any shell or agent, as any user. Python's own discovery only looks in its own project, so the `.pth` stays. A `.pth` that an earlier version wrote to `/root/.local` is moved there the next time the optional packages are listed. The kernel's environment reaches every process, whichever client or user starts it, `sudo` included. `python -I` and `python -E` ignore `PYTHONPATH`, so they don't see the data tools; that's a known gap.
181
181
  - **State and Remove:** a receipt in `var/lib/slicc/optional/pydata/` records the installed version. **Remove** deletes the project, the `.pth` and the receipt.
182
182
  - **Without Python:** if Python is removed while the data tools stay installed, the row warns that it needs Python (`warnings`, spectrum ≥ 1.49.1).
183
+ - **Login shells:** bios writes `/etc/profile.d/slicc.sh` at every boot, which puts `~/.local/share/gem/ruby/3.4.0/bin` on `PATH`, so a command from `gem install` runs by name in a login shell. It also makes sure `/etc/profile` runs `/etc/profile.d/*.sh`: it writes one if there's none, and adds that loop once, after the lines already there, to an `/etc/profile` that doesn't mention `/etc/profile.d/`.
183
184
  - **The agent** reads the same catalog: bios writes it to `/etc/slicc/optional.json` at every boot (id, package, version, label, description, commands, requires).
184
185
 
185
186
  Optional packages never count in the header and never open the panel. The terminal's `pnpm add -g` still installs anything, at any version.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/slicc-bios",
3
- "version": "1.3.2",
3
+ "version": "1.4.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",
@@ -42,7 +42,7 @@
42
42
  "format": "biome check --write ."
43
43
  },
44
44
  "devDependencies": {
45
- "@ai-ecoverse/slicc": "1.40.0",
45
+ "@ai-ecoverse/slicc": "1.41.2",
46
46
  "@ai-ecoverse/slicc-browsers": "1.7.1",
47
47
  "@ai-ecoverse/slicc-node": "2.5.1",
48
48
  "@ai-ecoverse/slicc-shared-web": "1.20.0",
@@ -255,6 +255,10 @@
255
255
  "integrity": "sha512-Iu3F2xOiUBNGWyToogpsYtMMBsc647HcZmC2PMuTcHrW93g1jgB5eAZ4x/6/qZbJQUxhAjPucMyg3TWQNCs/uQ==",
256
256
  "sha256": "1d92e493505ccc4a9a49a870a76bf5195d9f4bb91906d663219172e3521c8ab3"
257
257
  },
258
+ "@ai-ecoverse/sliccy-browser@0.1.3": {
259
+ "integrity": "sha512-9u+tfce4r4dYC3WDW/EqcT5XxdchiWXCdebAvmTi5MKXj6KfxKEZf9fUTy4o91kak8NVogERSzlvBvfu+VDLHQ==",
260
+ "sha256": "841e01c1ae11892da0bd1c29329d66dc218048594d2b856dac2a32c4660bd014"
261
+ },
258
262
  "@ai-ecoverse/wasi-biome@2.5.15-2": {
259
263
  "integrity": "sha512-5oIfngw8Ln2/ddCJ0wtqMoSnW+UO2zuih0+x1CNDbwKkB18TxuWoI60QFQySjd69N6eP+blL/stz/AZyoYpeuw==",
260
264
  "sha256": "25599e4317ec2e7ca9a447ff99ac01f271358cd06bd2d727e6b28b10c05bf44a"
@@ -267,6 +271,10 @@
267
271
  "integrity": "sha512-jGCiTdo9CRNEH+iJ1+pl7IYvghP3A5curSXhr9WigKccKkTpyzhGMpoQRfRdNIeVcy1jgbgZOoDgA4GDJpdupQ==",
268
272
  "sha256": "7d173721a83c63cd2231111d063410f078999df12172dba5f0734f5fd8605205"
269
273
  },
274
+ "@ai-ecoverse/wasi-dig@0.1.0-2": {
275
+ "integrity": "sha512-xpi0li0G2wD3ezIlHGcfDJ8Pd1/pT9w+dNU5U3vrx8XlkIAEnpjJRpPU/+sIDeBy81EauPd9H0M3ke33wZD53g==",
276
+ "sha256": "ea735648aff0c8620b62462bcbe9023d10c7306bbb41930e140977a2aa530964"
277
+ },
270
278
  "@ai-ecoverse/wasi-esbuild@0.28.2-2": {
271
279
  "integrity": "sha512-Z6LXuBY2G9Po4cbEUFhbASSQ0ab5tdSHqtt1qDxNCgJFquAk525swjbTRVsj/j0v2iJVlq3Um1r2eYiYkGyLrQ==",
272
280
  "sha256": "9d9ed5820c8b5e8cb1924d4f2756e8a9a59f82ed344508ff1704b213bc1199ca"
@@ -311,6 +319,10 @@
311
319
  "integrity": "sha512-BHStC6crZDp2ULQbVaRPx5BqeoiVdMHYpgLaQmHfqAnUVLflAxQ5QMuEzaN32EpT4u1Vki2j5sgRBIABDsat3Q==",
312
320
  "sha256": "f7cae126f069cf9e1f2b96ffd90fdbbf09fd4c47699723583d6f19d50fc4a2fc"
313
321
  },
322
+ "@ai-ecoverse/wasix-perl@5.42.0-11": {
323
+ "integrity": "sha512-LHZes1su/6q25q6rHjNUcQxJW3FwW8JWSLWCTvZhEIPWWZ895mgkC+8s2uXFzjmSUclbIURBoTz5BfkAc4SLOg==",
324
+ "sha256": "6a64347e332815d8681e739c7f47f8f71204df75101dcab66352544a872bc9ee"
325
+ },
314
326
  "@ai-ecoverse/wasix-python@3.14.2-15": {
315
327
  "integrity": "sha512-Yh0sg/eKB+YwsUwRFmBTAo6uM4GaZ18bHgunKTTV1HP3ORnsQ5ajBK//yqdmYl0LtHesltDhJ1mzQ+9Ciq+W4A==",
316
328
  "sha256": "f97315f7dbb2262f41512c7eb77384af78a51920f0678db8a49853f8b36d8a6d"
@@ -319,10 +331,18 @@
319
331
  "integrity": "sha512-Ca0Gnv8bcxUvbQAc2OBt+47xgiQp8jmD9k+uyud+8Q7tc211l9gytTQLGgWCetCYycaXd3McmEfuuMe6NAkRiQ==",
320
332
  "sha256": "59204c7bdc693e8542f5d0b9d44bdbcab07dd21ba4470703f2178d5e37bd8833"
321
333
  },
334
+ "@ai-ecoverse/wasix-python@3.14.2-18": {
335
+ "integrity": "sha512-jaPk9rNqjTDj4lvuc7TV4cwYT8q5adbmTGrv/VKKKIIPwd12gkKY05GxJCEvZPcNaVT7sGbGS3YchaooEq0T7g==",
336
+ "sha256": "5ef04fe21917bd47ec2e53899d3a6db4b14a9178c4ceecf7d13b62c0e4337c06"
337
+ },
322
338
  "@ai-ecoverse/wasix-ruby@3.4.11-10": {
323
339
  "integrity": "sha512-HY2DH3Mgvcpmn0icZqrv7oivk3eb4jcuf+HDCUuYq9YP1+rdQ/auyZpfVhu7UOQsTc+xkVyTsxHvLKifWxNVBw==",
324
340
  "sha256": "6852e7668ada97a107af743b992a3073da189b32cb18f4eccf4f32d5de741456"
325
341
  },
342
+ "@ai-ecoverse/wasix-ruby@3.4.11-12": {
343
+ "integrity": "sha512-qTMGYM+x0738OjxXdBuzTDadzDJb1XrR92ER3V1Y7l5Rw6IHfHSalizKuO+Jo+zM6qAa81OAmoYe61NrI50jgg==",
344
+ "sha256": "a2efdbf4a3977e7cb6e158b51d619772f92b062aef8dca32236ed7be261c2606"
345
+ },
326
346
  "@ai-ecoverse/wasix-uv-shim@0.1.0-5": {
327
347
  "integrity": "sha512-EvvD894Dc8agRIvdhQ12nrXJIKtPOWXibiN/RYT7/SgtX4JyxrBfFxFa4Fo5VVnRp8u6QNSwN7FeGGpPryt6Jw==",
328
348
  "sha256": "97cea396f18264d8358259ea9e103b9459c80da33c022a2593c3b0f3e469fdac"
@@ -446,6 +466,10 @@
446
466
  "@ai-ecoverse/wasm-sed@4.9.0-3": {
447
467
  "integrity": "sha512-t+sfLSgTzFW5tyysusEtV7D1xPY/qELvbNAqbNobp8/q898b0zFZrM2b2/PjNN5o1O6jEgjOTHuT1Z71tzb9bw=="
448
468
  },
469
+ "@ai-ecoverse/wasm-sqlite3@3.54.0-3": {
470
+ "integrity": "sha512-o44vvWhPQm0KNmnF9cy/J5Tj+wmKwdOPM/36yDpNAltCy/givEpViDOhvM071ZalJNA0ZE8R1dyX24jnivD0pA==",
471
+ "sha256": "ea159cdf70797fc0aeb6319d85369e59fc78fbe2eda7b8bf92f62f2c98331190"
472
+ },
449
473
  "@ai-ecoverse/wasm-tailscale@1.104.1-8": {
450
474
  "integrity": "sha512-F8H2HVuDswpmFq2tfqabKDQlzZ8xmWpNUDinUIWplixiz+SCKwA0uE4YJIAHdw+lGJP1AEVdHHTFtcroGGv1Pw==",
451
475
  "sha256": "23e2b35274385c6b82cfe0b6fb140af4a15207902f97b1ed280d1b9543bcc4e4"
@@ -23,9 +23,9 @@
23
23
  "@ai-ecoverse/wasix-python": {
24
24
  "id": "python",
25
25
  "label": "Python",
26
- "description": "Python 3.14 with pip as python3 -m pip, for scripts and data work.",
27
- "commands": ["python3"],
28
- "size": 49555063
26
+ "description": "Python 3.14 with pip (pip, pip3 or python3 -m pip), for scripts and data work.",
27
+ "commands": ["python3", "pip", "pip3"],
28
+ "size": 49562051
29
29
  },
30
30
  "@ai-ecoverse/wasix-uv-shim": {
31
31
  "id": "uv",
@@ -51,19 +51,27 @@
51
51
  "commands": ["node", "jsh"],
52
52
  "size": 1093431
53
53
  },
54
+ "@ai-ecoverse/sliccy-browser": {
55
+ "id": "jsh-browser",
56
+ "label": "Browser for jsh scripts",
57
+ "description": "sliccy:browser for .jsh scripts: find and open tabs, run code in them, read cookies and localStorage, and fetch as the page, through seven's browser automation. Seven's own tab and the vault stay out of reach.",
58
+ "commands": [],
59
+ "requires": ["node"],
60
+ "size": 1451643
61
+ },
54
62
  "@ai-ecoverse/wasix-ruby": {
55
63
  "id": "ruby",
56
64
  "label": "Ruby",
57
- "description": "Ruby 3.4 with gem, bundler, rake, irb and erb, for scripts and gems.",
65
+ "description": "Ruby 3.4 with gem, bundler, rake, irb and erb, for scripts and gems. Commands from gem install run by name in a login shell.",
58
66
  "commands": ["ruby", "gem", "bundle", "rake", "irb", "erb"],
59
- "size": 9754400
67
+ "size": 9758294
60
68
  },
61
69
  "@ai-ecoverse/wasix-perl": {
62
70
  "id": "perl",
63
71
  "label": "Perl",
64
- "description": "Perl 5.42 with cpan, perldoc and prove, for scripts and text processing. prove/TAP::Harness doesn't work yet.",
72
+ "description": "Perl 5.42 with cpan, perldoc and prove, for scripts and text processing.",
65
73
  "commands": ["perl", "cpan", "perldoc", "prove", "pod2html", "pod2man", "pod2text"],
66
- "size": 15530750
74
+ "size": 15533777
67
75
  },
68
76
  "@ai-ecoverse/wasi-esbuild": {
69
77
  "id": "esbuild",
@@ -114,6 +122,13 @@
114
122
  "commands": ["rsync"],
115
123
  "size": 917492
116
124
  },
125
+ "@ai-ecoverse/wasm-sqlite3": {
126
+ "id": "sqlite3",
127
+ "label": "SQLite",
128
+ "description": "The sqlite3 shell 3.54, for SQLite databases. One process per database: two processes writing one database at once can lose updates (slicc-kernel#665). journal_mode=WAL falls back to delete, and a WAL database made elsewhere opens as \"file is not a database\".",
129
+ "commands": ["sqlite3"],
130
+ "size": 668627
131
+ },
117
132
  "@ai-ecoverse/wasi-buf": {
118
133
  "id": "buf",
119
134
  "label": "buf",
@@ -133,7 +148,7 @@
133
148
  "label": "dig",
134
149
  "description": "Looks up DNS records, tailnet names included.",
135
150
  "commands": ["dig"],
136
- "size": 221617
151
+ "size": 207317
137
152
  },
138
153
  "@ai-ecoverse/wasix-gnupg": {
139
154
  "id": "gpg",
@@ -7,24 +7,38 @@
7
7
  "name": "slicc-bios-optional",
8
8
  "dependencies": {
9
9
  "@ai-ecoverse/slicc-jsh": "0.27.2",
10
+ "@ai-ecoverse/sliccy-browser": "0.1.3",
10
11
  "@ai-ecoverse/wasi-biome": "2.5.15-2",
11
12
  "@ai-ecoverse/wasi-buf": "1.73.0-2",
12
- "@ai-ecoverse/wasi-dig": "0.1.0-1",
13
+ "@ai-ecoverse/wasi-dig": "0.1.0-2",
13
14
  "@ai-ecoverse/wasi-esbuild": "0.28.2-2",
14
15
  "@ai-ecoverse/wasi-gh": "2.102.0-1",
15
16
  "@ai-ecoverse/wasi-typescript": "7.0.2-1",
16
17
  "@ai-ecoverse/wasix-gnupg": "2.4.9-5",
17
18
  "@ai-ecoverse/wasix-openssh": "10.6.0-6",
18
- "@ai-ecoverse/wasix-perl": "5.42.0-10",
19
- "@ai-ecoverse/wasix-python": "3.14.2-16",
20
- "@ai-ecoverse/wasix-ruby": "3.4.11-10",
19
+ "@ai-ecoverse/wasix-perl": "5.42.0-11",
20
+ "@ai-ecoverse/wasix-python": "3.14.2-18",
21
+ "@ai-ecoverse/wasix-ruby": "3.4.11-12",
21
22
  "@ai-ecoverse/wasix-uv-shim": "0.1.0-6",
22
23
  "@ai-ecoverse/wasm-git": "2.55.0-15",
23
24
  "@ai-ecoverse/wasm-libheif": "1.23.6-1",
24
25
  "@ai-ecoverse/wasm-poppler": "26.10.0-2",
25
26
  "@ai-ecoverse/wasm-qpdf": "12.4.2-1",
26
27
  "@ai-ecoverse/wasm-rsync": "3.4.4-5",
27
- "@ai-ecoverse/wasm-screen": "5.0.1-10"
28
+ "@ai-ecoverse/wasm-screen": "5.0.1-10",
29
+ "@ai-ecoverse/wasm-sqlite3": "3.54.0-3"
30
+ }
31
+ },
32
+ "node_modules/@ai-ecoverse/slicc-cdp": {
33
+ "version": "1.25.1",
34
+ "resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-cdp/-/slicc-cdp-1.25.1.tgz",
35
+ "integrity": "sha512-gBj/wHcDmRC0e4oSdgThodGLoCQWk3crEfAv/sOg1mH3MnBdEzUjIWArnvnH8m8dovz+MB2KC5Z20jXzJIcaZw==",
36
+ "license": "Apache-2.0",
37
+ "workspaces": [
38
+ "packages/sliccy-browser"
39
+ ],
40
+ "engines": {
41
+ "node": ">=24"
28
42
  }
29
43
  },
30
44
  "node_modules/@ai-ecoverse/slicc-jsh": {
@@ -40,6 +54,18 @@
40
54
  "slicc-kernel": ">=1.53.2"
41
55
  }
42
56
  },
57
+ "node_modules/@ai-ecoverse/sliccy-browser": {
58
+ "version": "0.1.3",
59
+ "resolved": "https://registry.npmjs.org/@ai-ecoverse/sliccy-browser/-/sliccy-browser-0.1.3.tgz",
60
+ "integrity": "sha512-9u+tfce4r4dYC3WDW/EqcT5XxdchiWXCdebAvmTi5MKXj6KfxKEZf9fUTy4o91kak8NVogERSzlvBvfu+VDLHQ==",
61
+ "license": "Apache-2.0",
62
+ "dependencies": {
63
+ "@ai-ecoverse/slicc-cdp": "1.25.1"
64
+ },
65
+ "engines": {
66
+ "node": ">=24"
67
+ }
68
+ },
43
69
  "node_modules/@ai-ecoverse/wasi-biome": {
44
70
  "version": "2.5.15-2",
45
71
  "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasi-biome/-/wasi-biome-2.5.15-2.tgz",
@@ -56,9 +82,9 @@
56
82
  }
57
83
  },
58
84
  "node_modules/@ai-ecoverse/wasi-dig": {
59
- "version": "0.1.0-1",
60
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasi-dig/-/wasi-dig-0.1.0-1.tgz",
61
- "integrity": "sha512-jGCiTdo9CRNEH+iJ1+pl7IYvghP3A5curSXhr9WigKccKkTpyzhGMpoQRfRdNIeVcy1jgbgZOoDgA4GDJpdupQ==",
85
+ "version": "0.1.0-2",
86
+ "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasi-dig/-/wasi-dig-0.1.0-2.tgz",
87
+ "integrity": "sha512-xpi0li0G2wD3ezIlHGcfDJ8Pd1/pT9w+dNU5U3vrx8XlkIAEnpjJRpPU/+sIDeBy81EauPd9H0M3ke33wZD53g==",
62
88
  "license": "Apache-2.0"
63
89
  },
64
90
  "node_modules/@ai-ecoverse/wasi-esbuild": {
@@ -104,27 +130,27 @@
104
130
  }
105
131
  },
106
132
  "node_modules/@ai-ecoverse/wasix-perl": {
107
- "version": "5.42.0-10",
108
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasix-perl/-/wasix-perl-5.42.0-10.tgz",
109
- "integrity": "sha512-BHStC6crZDp2ULQbVaRPx5BqeoiVdMHYpgLaQmHfqAnUVLflAxQ5QMuEzaN32EpT4u1Vki2j5sgRBIABDsat3Q==",
133
+ "version": "5.42.0-11",
134
+ "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasix-perl/-/wasix-perl-5.42.0-11.tgz",
135
+ "integrity": "sha512-LHZes1su/6q25q6rHjNUcQxJW3FwW8JWSLWCTvZhEIPWWZ895mgkC+8s2uXFzjmSUclbIURBoTz5BfkAc4SLOg==",
110
136
  "license": "Artistic-1.0-Perl OR GPL-1.0-or-later",
111
137
  "engines": {
112
138
  "slicc-kernel": ">=1.44.0"
113
139
  }
114
140
  },
115
141
  "node_modules/@ai-ecoverse/wasix-python": {
116
- "version": "3.14.2-16",
117
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasix-python/-/wasix-python-3.14.2-16.tgz",
118
- "integrity": "sha512-Ca0Gnv8bcxUvbQAc2OBt+47xgiQp8jmD9k+uyud+8Q7tc211l9gytTQLGgWCetCYycaXd3McmEfuuMe6NAkRiQ==",
142
+ "version": "3.14.2-18",
143
+ "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasix-python/-/wasix-python-3.14.2-18.tgz",
144
+ "integrity": "sha512-jaPk9rNqjTDj4lvuc7TV4cwYT8q5adbmTGrv/VKKKIIPwd12gkKY05GxJCEvZPcNaVT7sGbGS3YchaooEq0T7g==",
119
145
  "license": "PSF-2.0 AND GPL-3.0-or-later",
120
146
  "engines": {
121
147
  "slicc-kernel": ">=1.51.0"
122
148
  }
123
149
  },
124
150
  "node_modules/@ai-ecoverse/wasix-ruby": {
125
- "version": "3.4.11-10",
126
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasix-ruby/-/wasix-ruby-3.4.11-10.tgz",
127
- "integrity": "sha512-HY2DH3Mgvcpmn0icZqrv7oivk3eb4jcuf+HDCUuYq9YP1+rdQ/auyZpfVhu7UOQsTc+xkVyTsxHvLKifWxNVBw==",
151
+ "version": "3.4.11-12",
152
+ "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasix-ruby/-/wasix-ruby-3.4.11-12.tgz",
153
+ "integrity": "sha512-qTMGYM+x0738OjxXdBuzTDadzDJb1XrR92ER3V1Y7l5Rw6IHfHSalizKuO+Jo+zM6qAa81OAmoYe61NrI50jgg==",
128
154
  "license": "Ruby",
129
155
  "engines": {
130
156
  "slicc-kernel": ">=1.44.0"
@@ -139,6 +165,15 @@
139
165
  "@ai-ecoverse/wasix-python": "3.14.2-16"
140
166
  }
141
167
  },
168
+ "node_modules/@ai-ecoverse/wasix-uv-shim/node_modules/@ai-ecoverse/wasix-python": {
169
+ "version": "3.14.2-16",
170
+ "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasix-python/-/wasix-python-3.14.2-16.tgz",
171
+ "integrity": "sha512-Ca0Gnv8bcxUvbQAc2OBt+47xgiQp8jmD9k+uyud+8Q7tc211l9gytTQLGgWCetCYycaXd3McmEfuuMe6NAkRiQ==",
172
+ "license": "PSF-2.0 AND GPL-3.0-or-later",
173
+ "engines": {
174
+ "slicc-kernel": ">=1.51.0"
175
+ }
176
+ },
142
177
  "node_modules/@ai-ecoverse/wasm-bash": {
143
178
  "version": "5.3.0-13",
144
179
  "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-bash/-/wasm-bash-5.3.0-13.tgz",
@@ -192,6 +227,12 @@
192
227
  "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-screen/-/wasm-screen-5.0.1-10.tgz",
193
228
  "integrity": "sha512-uvijsh00d98MvuJwlMdI0WqJZrl7BpKlw3ucZzsa2nTcR+6W2YC8hEAjXkP8T4MV40Zne5QzKXFr7ezXLhz7ZA==",
194
229
  "license": "GPL-3.0-or-later"
230
+ },
231
+ "node_modules/@ai-ecoverse/wasm-sqlite3": {
232
+ "version": "3.54.0-3",
233
+ "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-sqlite3/-/wasm-sqlite3-3.54.0-3.tgz",
234
+ "integrity": "sha512-o44vvWhPQm0KNmnF9cy/J5Tj+wmKwdOPM/36yDpNAltCy/givEpViDOhvM071ZalJNA0ZE8R1dyX24jnivD0pA==",
235
+ "license": "blessing"
195
236
  }
196
237
  }
197
238
  }
@@ -4,23 +4,25 @@
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/slicc-jsh": "0.27.2",
7
+ "@ai-ecoverse/sliccy-browser": "0.1.3",
7
8
  "@ai-ecoverse/wasi-biome": "2.5.15-2",
8
9
  "@ai-ecoverse/wasi-buf": "1.73.0-2",
9
- "@ai-ecoverse/wasi-dig": "0.1.0-1",
10
+ "@ai-ecoverse/wasi-dig": "0.1.0-2",
10
11
  "@ai-ecoverse/wasi-esbuild": "0.28.2-2",
11
12
  "@ai-ecoverse/wasi-gh": "2.102.0-1",
12
13
  "@ai-ecoverse/wasi-typescript": "7.0.2-1",
13
14
  "@ai-ecoverse/wasix-gnupg": "2.4.9-5",
14
15
  "@ai-ecoverse/wasix-openssh": "10.6.0-6",
15
- "@ai-ecoverse/wasix-perl": "5.42.0-10",
16
- "@ai-ecoverse/wasix-python": "3.14.2-16",
17
- "@ai-ecoverse/wasix-ruby": "3.4.11-10",
16
+ "@ai-ecoverse/wasix-perl": "5.42.0-11",
17
+ "@ai-ecoverse/wasix-python": "3.14.2-18",
18
+ "@ai-ecoverse/wasix-ruby": "3.4.11-12",
18
19
  "@ai-ecoverse/wasix-uv-shim": "0.1.0-6",
19
20
  "@ai-ecoverse/wasm-git": "2.55.0-15",
20
21
  "@ai-ecoverse/wasm-libheif": "1.23.6-1",
21
22
  "@ai-ecoverse/wasm-poppler": "26.10.0-2",
22
23
  "@ai-ecoverse/wasm-qpdf": "12.4.2-1",
23
24
  "@ai-ecoverse/wasm-rsync": "3.4.4-5",
24
- "@ai-ecoverse/wasm-screen": "5.0.1-10"
25
+ "@ai-ecoverse/wasm-screen": "5.0.1-10",
26
+ "@ai-ecoverse/wasm-sqlite3": "3.54.0-3"
25
27
  }
26
28
  }