@ai-ecoverse/slicc-bios 1.9.1 → 1.10.1

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,14 +168,16 @@ 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`), `sliccy:browser` for `.jsh` scripts, Ruby, Perl, esbuild, TypeScript, Biome, the PDF tools (poppler), qpdf, rsync, buf, screen, SQLite, dig, websocat, GnuPG and fnox.
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, the GitHub CLI, OpenSSH, Python, 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, GnuPG and fnox.
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.
175
- - **Remove** runs `pnpm remove -g <package>`. It asks first only when another installed entry needs it (*Remove Python? uv needs it and stops working until Python is back.*, accent); otherwise it doesn't ask, since pnpm's global projects hold no user data and the package can be installed again. A cancelled confirm changes nothing.
175
+ - **Remove** runs `pnpm remove -g <package>`. It asks first only when another installed entry needs it (*Remove Node.js (jsh)? Browser for jsh scripts needs it and stops working until Node.js (jsh) is back.*, accent); otherwise it doesn't ask, since pnpm's global projects hold no user data and the package can be installed again. A cancelled confirm changes nothing.
176
176
  - **Readable by everyone:** after every pnpm install of `/opt/agent`, `/opt/grammars` and an optional project in `/opt/slicc`, bios runs `chmod -R a+rX` on that tree, as root. pnpm writes some files `0600`, such as `node_modules/.pnpm-workspace-state-v1.json`, and with kernel users every user must be able to read seven's installed packages. An install from before this runs the same `chmod` once at its next check, marked by `var/lib/slicc/<project>/readable`.
177
177
  - **Failures** lead with one sentence and keep pnpm's output, starting with the package and version, under *Install log*, with **Retry**.
178
- - **Project entries** (`kind: "project"`): **Python data tools** (numpy, pandas, scipy and matplotlib, about 270 MB on disk) can't be a global add. pnpm 12 gives each global add its own isolated project, so every py-* package would carry its own Python (about 1 GB in total), and Python wouldn't find the packages. So the entry is a pnpm project of its own in [`src/packages/optional/projects/pydata/`](src/packages/optional/projects/pydata/):
178
+ - **Withdrawn and kept as exceptions** (homescoop#858/#859, #864): uv, esbuild, tsc and buf are withdrawn until attested rebuilds. They're retired rows (*No longer offered*, with Remove for an earlier install), and their certs lines are gone. Instead, use `pip` for uv's work for now (uv returns as `@ai-ecoverse/wasi-uv`, Astral's uv, once that's certified), and install esbuild and typescript straight from npm with `pnpm add -g`; buf has no stand-in. **git** and **gh** stay as recorded supply-chain exceptions until their attested rebuilds: their `certs.json` entries carry an `exception` field, which `pins.test.mjs` lists, and any other uncertified pin still fails it.
179
+ - **Python data tools are withdrawn** until numpy and pandas come from verified CI builds (homescoop#826, #730): py-numpy 2.3.2-4 to -10 and py-pandas 2.3.2-5 to -11 came from un-attested local builds, so their certs lines are gone and the catalog has no `pydata` row or project. `retired.json` lists it as a retired `kind: "project"` entry, so an earlier install shows as installed with only **Remove**, which deletes the project, its `.pth` and its receipt. Plain Python stays. The project support below is unchanged for when it returns.
180
+ - **Project entries** (`kind: "project"`): **Python data tools** (numpy, pandas, scipy and matplotlib, about 270 MB on disk) can't be a global add. pnpm 12 gives each global add its own isolated project, so every py-* package would carry its own Python (about 1 GB in total), and Python wouldn't find the packages. So the entry is a pnpm project of its own in `src/packages/optional/projects/pydata/`:
179
181
  - **Install:** bios writes the project to `/opt/slicc/pydata` and installs it with `pnpm install --frozen-lockfile`, so pnpm checks every integrity against the lockfile bios ships. Its `pnpm-workspace.yaml` overrides `@ai-ecoverse/wasix-python` to nothing, and the entry `requires` the catalog's Python, which runs it.
180
182
  - **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
183
  - **State and Remove:** a receipt in `var/lib/slicc/optional/pydata/` records the installed version. **Remove** deletes the project, the `.pth` and the receipt.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/slicc-bios",
3
- "version": "1.9.1",
3
+ "version": "1.10.1",
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",
@@ -56,7 +56,7 @@
56
56
  "monocart-coverage-reports": "2.13.2",
57
57
  "playwright-core": "1.64.0",
58
58
  "semantic-release": "25.0.9",
59
- "wrangler": "4.148.0",
59
+ "wrangler": "4.149.0",
60
60
  "ws": "8.22.0"
61
61
  }
62
62
  }
@@ -7,22 +7,6 @@
7
7
  "integrity": "sha512-VKNEZPMgROHP+EYcuXBE3gHny+K29ATHsg+ruxoO97gDTJMoggbj3VhbsCnxnH27JD6m9tVkWdUAAsdDK1Sr+Q==",
8
8
  "sha256": "c4e2cee8f42acd79ed84d8ac88860a545031cc51c4f842e87aaed03c35c35f76"
9
9
  },
10
- "@ai-ecoverse/py-cycler@0.12.1-5": {
11
- "integrity": "sha512-6ikdLdovKfH4GKersS107LxKeo3KOGNuGxC++2RxauiBuXRL1Zk9ERFw16SdDpAeKSC40xshj+sfFbejNfVjQA==",
12
- "sha256": "4f82499628639b01ae022afd8a84fa2f08079dbf6b51dc63539709a25e947016"
13
- },
14
- "@ai-ecoverse/py-cycler@0.12.1-6": {
15
- "integrity": "sha512-S/nIJ7Vd7WDB+jFVY18Q1FJzWNK1Z7BAOdJ+05Tnwjh5CTM+GZA6TvBD3vpl0x/C9eq1l10aQeldhaFt4uh4Rg==",
16
- "sha256": "ef2f42591ccc499337e66b83677912a3a710587bece849ef6b47b23ad0e961d6"
17
- },
18
- "@ai-ecoverse/py-fonttools@4.66.1-5": {
19
- "integrity": "sha512-K0IoyfKlhZe7pWn/p/mK7GKGnu4+rsAkEpl/9If5mxGPw/04ys2o/ja5o1ZazltN1aN0JXqD0MQ59zl6d4EDrQ==",
20
- "sha256": "c72b5900b5cf72f53e2f0f30f27f191003ab19660574099dbbb6ce3295f65324"
21
- },
22
- "@ai-ecoverse/py-fonttools@4.66.1-6": {
23
- "integrity": "sha512-H+oUWs5RzTDIQVOOb4FKg9iBZiXIAa3NXLR2by92VdSnbob8YWAieDFdLMr1GpEc4WCkblAlnsGaOmo22BuhqQ==",
24
- "sha256": "c8d0136d356cc41c32bf3034f1231b0cb1e6926ab23b5f9893c10a57345e17be"
25
- },
26
10
  "@ai-ecoverse/py-kiwisolver@1.5.1-5": {
27
11
  "integrity": "sha512-iPlyNsJP6gLptvS6YwMm32zRCTrZiJjTDmJWDMtalQ6xNorR0Hvx+DW2WGaktsb92RuggbTQmJhrVY85j3UO2A==",
28
12
  "sha256": "b5eec3bb653874580f5e6ccb527e0a4fade7a9ccc98d62ae950d01e9a9873a7d"
@@ -31,38 +15,6 @@
31
15
  "integrity": "sha512-hNUM+rB+IEotVQ76pztZMY1nwcADXbnNZg2IQxKayfRTXbvkCaLjpfJlTxSNpC7xgVGqYyJZ5RGm9KJAA/D/QA==",
32
16
  "sha256": "ac43056dbe4b320a4b51ca2026eceec378d9ec401c8c41332b6329ad7231c65d"
33
17
  },
34
- "@ai-ecoverse/py-matplotlib@3.11.2-6": {
35
- "integrity": "sha512-uEjcO76jBkmnamlAQQ1RmgvDMX8DenfvuEb3G32aQO1jogjY5omfoQ9MMS4eMf9TnVtHK3dp6lvBbPRzuaFVhA==",
36
- "sha256": "5f6e38db1047c5bb512350272068fbbef04b4740b22b665b26ccbe4f932a04bc"
37
- },
38
- "@ai-ecoverse/py-matplotlib@3.11.2-7": {
39
- "integrity": "sha512-F9c37Mqst9w8xochnG7tfITKZCwWu6+oIeiAyYKbW+dI8KliWS6B3ShrFtIbE/Riunbw7HSkFRVDBAtQaj45tg==",
40
- "sha256": "4d33e1e92be0848662679725825d8dce1ecf01bd4c7597b9125b0fa4daf2868f"
41
- },
42
- "@ai-ecoverse/py-numpy@2.3.2-8": {
43
- "integrity": "sha512-WEScW3EQEEWo0JcvnR7v/9Qax4dYpCu95yAU5Xx/fDteNzpXUWIpkSjN8/xd2lRW+9mdenorBdEVCagGj56qNA==",
44
- "sha256": "cf97ea1e463db39facfc5c8f00e1f72e2349de0830a3959990eeb1b1428c8af8"
45
- },
46
- "@ai-ecoverse/py-numpy@2.3.2-9": {
47
- "integrity": "sha512-bTq0DxMlzCWroiKcVJw4WSd//AnHLS2BXMW95sKUpH8PkfDguB+gqcWjPkaej9lT8R5GgwVcekNN1R7PRX2ELw==",
48
- "sha256": "50f36746d4e3773961c5aeaaef9186318d94a61c84517ae8a7d6ce5cdaca5587"
49
- },
50
- "@ai-ecoverse/py-packaging@26.3.0-5": {
51
- "integrity": "sha512-syvuROdk7JkbVO9OYKeKZ+Wc2ib97K98rjOnNhK+1qb8+QefeDwMeix7kvL7ow82LRTkfoV0yVrzuNcOh7hxCA==",
52
- "sha256": "e6b89f4b730a2d75a66d65e3791276b338c580850ecb6ed6dd34bec3dcd6059c"
53
- },
54
- "@ai-ecoverse/py-packaging@26.3.0-6": {
55
- "integrity": "sha512-qn7qAxSYoIIng+Yk26Z/SzBu2wJfRWtN5zR1FR9jcfvSgxOhwi2yd4rnkB1pYzB/5vn0zPNRLQ5NsLdE/U1g0w==",
56
- "sha256": "35e36090847bf0040cc06870794d22ca4ce91dc6da5676487edea6147813f3a8"
57
- },
58
- "@ai-ecoverse/py-pandas@2.3.2-10": {
59
- "integrity": "sha512-zEUoIjsicPbuCbBNNlS12qfqaMcI3YfBxvmB+jawFU8Q2gUvrOiOaIyBa4pa5O5zGEAoh1S6s9YXadNHKTQbng==",
60
- "sha256": "305a7394dc94dc3d0b5205e247a306c8a52e7136c6dde8e91fdfc9e2b3cca912"
61
- },
62
- "@ai-ecoverse/py-pandas@2.3.2-9": {
63
- "integrity": "sha512-CLbOzjLivGA0jme1gdKV+BlcUkL/cffRyt34ugfnY77tA5WrK8HSA1BGH3hDfk9M00ZnpdtFslGSTlIQy1PV/w==",
64
- "sha256": "22c7b67999343c8ebd6b2bae890871e386ac307196cf6d898080c61ae82fcbdd"
65
- },
66
18
  "@ai-ecoverse/py-pillow@12.3.0-6": {
67
19
  "integrity": "sha512-oyuDfimQshBOfzQzWycwqxm4/a9FRojIHkPL/buwyyKE9zbGXdR7NRNFvmoNyOayNcgmUct0/sGXRVGXl4e7SA==",
68
20
  "sha256": "1e7811bc2f0c46ccef65588b8b323c2bf3e2cbcc7ad0ec7ec271edc7b8b4e134"
@@ -71,14 +23,6 @@
71
23
  "integrity": "sha512-dm7sI+Lj8MoAmRa/ZsDINSbbRc9UPx7hMxfhJpoT6z70h65Bkc9nHdkRyKawOqqoSJKyW2F3XwEq9X4uwDAV0A==",
72
24
  "sha256": "6aa31dfbbd35bd2edbe9e2cc51f1c9467c0fe707ea348e4b7b888ad1940dcf20"
73
25
  },
74
- "@ai-ecoverse/py-pyparsing@3.3.3-5": {
75
- "integrity": "sha512-RoiKQMo0Hdnp0snet9D1yLNY2Szq0ToAeT1m4TSPR8AooC2tlYiLgfJh5XXz7z+Fj5jzttW6Yx7KWd+ghUN96Q==",
76
- "sha256": "2b2a9e8acd76e0b160bfdff288d2aa8a0055df5735d2e2945e2d596eb310068d"
77
- },
78
- "@ai-ecoverse/py-pyparsing@3.3.3-6": {
79
- "integrity": "sha512-fHG4DtnxQ8N3bOKbJZ7SU5xzz7W9xzgw8580SLF6SHr5NRh1TJ/gYJFxpjKm9MlRx+Yk3ddvZY96W5ZpFyr0mA==",
80
- "sha256": "fed54c6136fee0a471cc1156c7375e48d7df9b02da50ee9afa0cdaf2e0fa947f"
81
- },
82
26
  "@ai-ecoverse/py-python-dateutil@2.9.0-post0.2": {
83
27
  "integrity": "sha512-RCa4x3MbuASOiDFxmiK6vmstyUvl8KffqQWJarGQa4MAHvtoT8tM3vl3iPTqbgGIPPUVfYSTy0bMKLNWx7uG9w==",
84
28
  "sha256": "2a355c9dd7e008d27970b8cd4eef641756bec74d61f393dae7452a7a55f61c48"
@@ -87,14 +31,6 @@
87
31
  "integrity": "sha512-fdYh2M/sSwFd8Y1rnUkZCbyFxkF5GB5otiSpJxNphLlFQa3kHDdU7dpwK6XGpJ3ZH2YvmNo01qY5eWbw+Gq9mw==",
88
32
  "sha256": "a9f47842a14d204823694ce95105ba9fa745a504e0dcaa9c9e8fd0e2ded27470"
89
33
  },
90
- "@ai-ecoverse/py-scipy@1.18.0-10": {
91
- "integrity": "sha512-kF/DI0T7qHI5TIkV63AUj8lMkBP1enUdkwkKQw78OZeRpLHP5riZX88bEW/tcdD3pUzMr1NAz5tsC4VRkBXvSw==",
92
- "sha256": "b6ab14cdb98e3f3cf8670fda175a233ca91579efd8518d3e73de009434e5f85e"
93
- },
94
- "@ai-ecoverse/py-scipy@1.18.0-11": {
95
- "integrity": "sha512-YUJ8Cvt31TQFScem5oXUVTDtE/8rgBnUGBGeNWZ+NtxNEbECErtd93o4DhYbYpWLVW5E/LE6KWqnThvBT73y+Q==",
96
- "sha256": "517304bd038d28c49b9dd803bf8bec2b38c0befdb0ace63d3828e4b9d5b1205c"
97
- },
98
34
  "@ai-ecoverse/py-six@1.17.0-2": {
99
35
  "integrity": "sha512-BNEgSp4l+y5dhmvKqqId7TO2Krchq/uw5vg/Q6bB6UKj+dfmr8ad42vGs4VFzTCnmqpGSgNRVg+TYeRi50t3yg==",
100
36
  "sha256": "53fd2ac9ba87baebe147fdfcbdd0ea0af9498f725d0d3702d960a209722779cc"
@@ -295,10 +231,6 @@
295
231
  "integrity": "sha512-hTKxTKNCvvfzXoVp30xFe8o/iB3cZ+FxjxYPv4kvyTuvG9i6InbGmZH/IgPsfRgMIL3g0TYIZQcFNlaOHjCTCg==",
296
232
  "sha256": "6e3c79623cb82067121e971e8fb4b879c64591cd756c89cea33a3487b7928c7f"
297
233
  },
298
- "@ai-ecoverse/wasi-buf@1.73.0-2": {
299
- "integrity": "sha512-zkfuvCUoe8VbKicU1GbHnGFRx6S3EI2laW37y8fJdVxfU22L2vyBLHUfCe2wVq/DDKzoQRz7OA8FxJ0xH4zIFQ==",
300
- "sha256": "0499c7c91181aefd49e7b8838409f52241e344ef826a857ab131e41052a7753a"
301
- },
302
234
  "@ai-ecoverse/wasi-dig@0.1.0-1": {
303
235
  "integrity": "sha512-jGCiTdo9CRNEH+iJ1+pl7IYvghP3A5curSXhr9WigKccKkTpyzhGMpoQRfRdNIeVcy1jgbgZOoDgA4GDJpdupQ==",
304
236
  "sha256": "7d173721a83c63cd2231111d063410f078999df12172dba5f0734f5fd8605205"
@@ -311,13 +243,10 @@
311
243
  "integrity": "sha512-puU9FN7kXKnlxaClZyqGd/m/229HHmVOA50+YExQBxzb1IrwPz/yS0Q1KDw0GnzC/glVLqu6jkSyc05LK1Fzyg==",
312
244
  "sha256": "3b6607de060ea30756807aa936774842b3bded9f463025c4d10732a8b474b175"
313
245
  },
314
- "@ai-ecoverse/wasi-esbuild@0.28.2-2": {
315
- "integrity": "sha512-Z6LXuBY2G9Po4cbEUFhbASSQ0ab5tdSHqtt1qDxNCgJFquAk525swjbTRVsj/j0v2iJVlq3Um1r2eYiYkGyLrQ==",
316
- "sha256": "9d9ed5820c8b5e8cb1924d4f2756e8a9a59f82ed344508ff1704b213bc1199ca"
317
- },
318
246
  "@ai-ecoverse/wasi-gh@2.102.0-1": {
319
247
  "integrity": "sha512-LX/ieGLiCbc7GMevt4hctBMaBYoK9jvrGKv+bRIOrs0qy5qdAm8E6RvZopm1Yaaa30d9as/hZbytDx9P2hKKjw==",
320
- "sha256": "134acd4ccc67ba48e98102e5a6b4ee995a21eb87b628e2b683b750437319a631"
248
+ "sha256": "134acd4ccc67ba48e98102e5a6b4ee995a21eb87b628e2b683b750437319a631",
249
+ "exception": "unverifiable build (homescoop#864): kept because gh is core; bump when its reproduce check or a CI-built gh is certified"
321
250
  },
322
251
  "@ai-ecoverse/wasi-pnpm@12.9.1-8": {
323
252
  "integrity": "sha512-/3LRssC7T2t9HovusS9neuDg5+FNMhf90MkECauL1vZI/6BsQSadLyopnzn3ifYvY0LDC+Q8Src22oGCE+x1QA==",
@@ -331,10 +260,6 @@
331
260
  "integrity": "sha512-UYnMCCev7OQYAOGJ+sO/wbmZGg5mOlsaa8zJPtsrere2mrKHczvwMYmLnGeC1cqV3XW/AwRlMNk0j+S3pYUZ2A==",
332
261
  "sha256": "d7db54ccdade9379aff3fa90fd8b07bb48990d96097fde39691b0fa17bffe2fe"
333
262
  },
334
- "@ai-ecoverse/wasi-typescript@7.0.2-1": {
335
- "integrity": "sha512-FvlAbqh0x+1ckznDGMw3zy7Ttyu07ICtzg9fP0nTaeuP2VXJ8OJTCTKp1GxY+OZEc7t6qb48VuZTgazv7AnRVA==",
336
- "sha256": "348de00af6350011d4e8f6cec8e8afd0de420a57c87249b6c260e604ebcdaccc"
337
- },
338
263
  "@ai-ecoverse/wasix-gnupg@2.4.9-4": {
339
264
  "integrity": "sha512-O1V9mpj62CiI6gkKcD0YxBaHKRZ3pDLdwVB8hif2DBOin4bQsWaHgUn0P7jaoArIUjlD/Ak3Wk/u+wJawto/FA==",
340
265
  "sha256": "7b36fec5ff7585373c8f22482b245641e38d979d61c470383b030d678a3893ff"
@@ -387,14 +312,6 @@
387
312
  "integrity": "sha512-qTMGYM+x0738OjxXdBuzTDadzDJb1XrR92ER3V1Y7l5Rw6IHfHSalizKuO+Jo+zM6qAa81OAmoYe61NrI50jgg==",
388
313
  "sha256": "a2efdbf4a3977e7cb6e158b51d619772f92b062aef8dca32236ed7be261c2606"
389
314
  },
390
- "@ai-ecoverse/wasix-uv-shim@0.1.0-5": {
391
- "integrity": "sha512-EvvD894Dc8agRIvdhQ12nrXJIKtPOWXibiN/RYT7/SgtX4JyxrBfFxFa4Fo5VVnRp8u6QNSwN7FeGGpPryt6Jw==",
392
- "sha256": "97cea396f18264d8358259ea9e103b9459c80da33c022a2593c3b0f3e469fdac"
393
- },
394
- "@ai-ecoverse/wasix-uv-shim@0.1.0-6": {
395
- "integrity": "sha512-fEmBJVZ6DDWwogpP7mmgQGnOHqQ0VPCeuhJh/IkHsril59T5InBczSEZ2y8KY+Vl71lVQRKt5IJ5Au7JP4YpAQ==",
396
- "sha256": "b3ecab2258cd2e07fc71d38358eeaff3818d366559b41d37eb5d9af3fc10f5b8"
397
- },
398
315
  "@ai-ecoverse/wasix-websocat@4.0.0-alpha3-3": {
399
316
  "integrity": "sha512-D3iGDb+tx30SUwuONfyMfRDY9ZIJnEnF8A4X5r4P8uPXYUge9ZTL8wVTMW9x060kq0VN1w9mifNzDF6Lb1/fFA==",
400
317
  "sha256": "50062e7d8f0d05eb04735aa3f5fd71b561bd831d7426f5a4baa0621980c20a61"
@@ -443,10 +360,6 @@
443
360
  "integrity": "sha512-k8vezSs6/M0Mu/PxymsxvyM6lYym7nm+otzb+Epnw6dN9TiW/67Rtpk1YcbcLcIvqMIQpvUIzqVFhTBMIjoYMQ==",
444
361
  "sha256": "0fcb72f0a420af33d4e24370bc3c3284c6df78bda0d33dd544f71de1ee6729dd"
445
362
  },
446
- "@ai-ecoverse/wasm-emscripten@6.0.9-16": {
447
- "integrity": "sha512-Uknz71uTLXOuR/tj71tWXM6sXPY16yBPm5n1Bzn2nub46s5oGC0aBbXv+xn7lK1yS9sBl6XFN/oCzo4S+R/HKA==",
448
- "sha256": "6f9bc18f388977f1959bf6f2c6ac47125e2aa40071550d399bc62cc58a33f9ba"
449
- },
450
363
  "@ai-ecoverse/wasm-findutils@4.11.0-1": {
451
364
  "integrity": "sha512-MKF21UnnF5IQCkMcwGfjbdgsq3eb0vzW76HHAl4XGkdf46wPvjPsNFdqBcgavkPO5YGhukLwZLT2EawnKeV88A=="
452
365
  },
@@ -456,7 +369,8 @@
456
369
  },
457
370
  "@ai-ecoverse/wasm-git@2.55.0-15": {
458
371
  "integrity": "sha512-iN+it7A5iVGAV4UL7p2ulLcopY/7vGADgin7GTk+8JKC5bmE++BkGSbDCHvv+FTBe17KHVljzHQ5Mz8SZlMZ/A==",
459
- "sha256": "42605553b8afb9471114530422cb3e69ec0e039cbac14aae16f17ace6e58c459"
372
+ "sha256": "42605553b8afb9471114530422cb3e69ec0e039cbac14aae16f17ace6e58c459",
373
+ "exception": "unverifiable build (homescoop#858/#859): kept because git is core; bump when its reproduce check or a CI-built git is certified"
460
374
  },
461
375
  "@ai-ecoverse/wasm-grep@3.12.0-3": {
462
376
  "integrity": "sha512-2zUPO95WUlvdlRp2EOZW4ABaTvPdmF6qwX/mSWke1r51vW1NXTsqx1G+EXRwNFPzeYcOih17GViA0XGA7ph3/g=="
@@ -27,23 +27,6 @@
27
27
  "commands": ["python3", "pip", "pip3"],
28
28
  "size": 49598727
29
29
  },
30
- "@ai-ecoverse/wasix-uv-shim": {
31
- "id": "uv",
32
- "label": "uv",
33
- "description": "Python projects and virtual environments, as a shim over pip and venv.",
34
- "commands": ["uv"],
35
- "requires": ["python"],
36
- "size": 10326
37
- },
38
- "slicc-py-datatools": {
39
- "id": "pydata",
40
- "kind": "project",
41
- "label": "Python data tools",
42
- "description": "numpy, pandas, scipy and matplotlib for Python, about 270 MB on disk.",
43
- "commands": [],
44
- "requires": ["python"],
45
- "size": 71955355
46
- },
47
30
  "@ai-ecoverse/slicc-jsh": {
48
31
  "id": "node",
49
32
  "label": "Node.js (jsh)",
@@ -73,20 +56,6 @@
73
56
  "commands": ["perl", "cpan", "perldoc", "prove", "pod2html", "pod2man", "pod2text"],
74
57
  "size": 15533777
75
58
  },
76
- "@ai-ecoverse/wasi-esbuild": {
77
- "id": "esbuild",
78
- "label": "esbuild",
79
- "description": "Bundles and minifies JavaScript and TypeScript.",
80
- "commands": ["esbuild"],
81
- "size": 5093287
82
- },
83
- "@ai-ecoverse/wasi-typescript": {
84
- "id": "tsc",
85
- "label": "TypeScript",
86
- "description": "The TypeScript 7 compiler and type checker.",
87
- "commands": ["tsc"],
88
- "size": 10814667
89
- },
90
59
  "@ai-ecoverse/wasi-biome": {
91
60
  "id": "biome",
92
61
  "label": "Biome",
@@ -129,13 +98,6 @@
129
98
  "commands": ["sqlite3"],
130
99
  "size": 668627
131
100
  },
132
- "@ai-ecoverse/wasi-buf": {
133
- "id": "buf",
134
- "label": "buf",
135
- "description": "Lints, formats and builds Protocol Buffers.",
136
- "commands": ["buf"],
137
- "size": 16875828
138
- },
139
101
  "@ai-ecoverse/wasm-screen": {
140
102
  "id": "screen",
141
103
  "label": "screen",
@@ -9,18 +9,14 @@
9
9
  "@ai-ecoverse/slicc-jsh": "0.27.2",
10
10
  "@ai-ecoverse/sliccy-browser": "0.1.3",
11
11
  "@ai-ecoverse/wasi-biome": "2.5.15-4",
12
- "@ai-ecoverse/wasi-buf": "1.73.0-2",
13
12
  "@ai-ecoverse/wasi-dig": "0.1.0-2",
14
- "@ai-ecoverse/wasi-esbuild": "0.28.2-2",
15
13
  "@ai-ecoverse/wasi-fnox": "1.39.0-2",
16
14
  "@ai-ecoverse/wasi-gh": "2.102.0-1",
17
- "@ai-ecoverse/wasi-typescript": "7.0.2-1",
18
15
  "@ai-ecoverse/wasix-gnupg": "2.4.9-5",
19
16
  "@ai-ecoverse/wasix-openssh": "10.6.0-6",
20
17
  "@ai-ecoverse/wasix-perl": "5.42.0-11",
21
18
  "@ai-ecoverse/wasix-python": "3.14.2-20",
22
19
  "@ai-ecoverse/wasix-ruby": "3.4.11-12",
23
- "@ai-ecoverse/wasix-uv-shim": "0.1.0-6",
24
20
  "@ai-ecoverse/wasix-websocat": "4.0.0-alpha3-3",
25
21
  "@ai-ecoverse/wasm-git": "2.55.0-15",
26
22
  "@ai-ecoverse/wasm-libheif": "1.23.6-1",
@@ -74,30 +70,12 @@
74
70
  "integrity": "sha512-hTKxTKNCvvfzXoVp30xFe8o/iB3cZ+FxjxYPv4kvyTuvG9i6InbGmZH/IgPsfRgMIL3g0TYIZQcFNlaOHjCTCg==",
75
71
  "license": "MIT OR Apache-2.0"
76
72
  },
77
- "node_modules/@ai-ecoverse/wasi-buf": {
78
- "version": "1.73.0-2",
79
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasi-buf/-/wasi-buf-1.73.0-2.tgz",
80
- "integrity": "sha512-zkfuvCUoe8VbKicU1GbHnGFRx6S3EI2laW37y8fJdVxfU22L2vyBLHUfCe2wVq/DDKzoQRz7OA8FxJ0xH4zIFQ==",
81
- "license": "Apache-2.0",
82
- "engines": {
83
- "slicc-kernel": ">=1.30.0"
84
- }
85
- },
86
73
  "node_modules/@ai-ecoverse/wasi-dig": {
87
74
  "version": "0.1.0-2",
88
75
  "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasi-dig/-/wasi-dig-0.1.0-2.tgz",
89
76
  "integrity": "sha512-xpi0li0G2wD3ezIlHGcfDJ8Pd1/pT9w+dNU5U3vrx8XlkIAEnpjJRpPU/+sIDeBy81EauPd9H0M3ke33wZD53g==",
90
77
  "license": "Apache-2.0"
91
78
  },
92
- "node_modules/@ai-ecoverse/wasi-esbuild": {
93
- "version": "0.28.2-2",
94
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasi-esbuild/-/wasi-esbuild-0.28.2-2.tgz",
95
- "integrity": "sha512-Z6LXuBY2G9Po4cbEUFhbASSQ0ab5tdSHqtt1qDxNCgJFquAk525swjbTRVsj/j0v2iJVlq3Um1r2eYiYkGyLrQ==",
96
- "license": "MIT",
97
- "engines": {
98
- "slicc-kernel": ">=1.30.0"
99
- }
100
- },
101
79
  "node_modules/@ai-ecoverse/wasi-fnox": {
102
80
  "version": "1.39.0-2",
103
81
  "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasi-fnox/-/wasi-fnox-1.39.0-2.tgz",
@@ -116,12 +94,6 @@
116
94
  "slicc-kernel": ">=1.30.0"
117
95
  }
118
96
  },
119
- "node_modules/@ai-ecoverse/wasi-typescript": {
120
- "version": "7.0.2-1",
121
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasi-typescript/-/wasi-typescript-7.0.2-1.tgz",
122
- "integrity": "sha512-FvlAbqh0x+1ckznDGMw3zy7Ttyu07ICtzg9fP0nTaeuP2VXJ8OJTCTKp1GxY+OZEc7t6qb48VuZTgazv7AnRVA==",
123
- "license": "Apache-2.0"
124
- },
125
97
  "node_modules/@ai-ecoverse/wasix-gnupg": {
126
98
  "version": "2.4.9-5",
127
99
  "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasix-gnupg/-/wasix-gnupg-2.4.9-5.tgz",
@@ -167,24 +139,6 @@
167
139
  "slicc-kernel": ">=1.44.0"
168
140
  }
169
141
  },
170
- "node_modules/@ai-ecoverse/wasix-uv-shim": {
171
- "version": "0.1.0-6",
172
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasix-uv-shim/-/wasix-uv-shim-0.1.0-6.tgz",
173
- "integrity": "sha512-fEmBJVZ6DDWwogpP7mmgQGnOHqQ0VPCeuhJh/IkHsril59T5InBczSEZ2y8KY+Vl71lVQRKt5IJ5Au7JP4YpAQ==",
174
- "license": "Apache-2.0",
175
- "dependencies": {
176
- "@ai-ecoverse/wasix-python": "3.14.2-16"
177
- }
178
- },
179
- "node_modules/@ai-ecoverse/wasix-uv-shim/node_modules/@ai-ecoverse/wasix-python": {
180
- "version": "3.14.2-16",
181
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasix-python/-/wasix-python-3.14.2-16.tgz",
182
- "integrity": "sha512-Ca0Gnv8bcxUvbQAc2OBt+47xgiQp8jmD9k+uyud+8Q7tc211l9gytTQLGgWCetCYycaXd3McmEfuuMe6NAkRiQ==",
183
- "license": "PSF-2.0 AND GPL-3.0-or-later",
184
- "engines": {
185
- "slicc-kernel": ">=1.51.0"
186
- }
187
- },
188
142
  "node_modules/@ai-ecoverse/wasix-websocat": {
189
143
  "version": "4.0.0-alpha3-3",
190
144
  "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasix-websocat/-/wasix-websocat-4.0.0-alpha3-3.tgz",
@@ -6,18 +6,14 @@
6
6
  "@ai-ecoverse/slicc-jsh": "0.27.2",
7
7
  "@ai-ecoverse/sliccy-browser": "0.1.3",
8
8
  "@ai-ecoverse/wasi-biome": "2.5.15-4",
9
- "@ai-ecoverse/wasi-buf": "1.73.0-2",
10
9
  "@ai-ecoverse/wasi-dig": "0.1.0-2",
11
- "@ai-ecoverse/wasi-esbuild": "0.28.2-2",
12
10
  "@ai-ecoverse/wasi-fnox": "1.39.0-2",
13
11
  "@ai-ecoverse/wasi-gh": "2.102.0-1",
14
- "@ai-ecoverse/wasi-typescript": "7.0.2-1",
15
12
  "@ai-ecoverse/wasix-gnupg": "2.4.9-5",
16
13
  "@ai-ecoverse/wasix-openssh": "10.6.0-6",
17
14
  "@ai-ecoverse/wasix-perl": "5.42.0-11",
18
15
  "@ai-ecoverse/wasix-python": "3.14.2-20",
19
16
  "@ai-ecoverse/wasix-ruby": "3.4.11-12",
20
- "@ai-ecoverse/wasix-uv-shim": "0.1.0-6",
21
17
  "@ai-ecoverse/wasix-websocat": "4.0.0-alpha3-3",
22
18
  "@ai-ecoverse/wasm-git": "2.55.0-15",
23
19
  "@ai-ecoverse/wasm-libheif": "1.23.6-1",