@ai-ecoverse/slicc-bios 1.49.0 → 1.50.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
@@ -6,18 +6,42 @@ The page shows six boot steps as they run:
6
6
 
7
7
  1. **Acquire OPFS** – open the origin private file system and ask for persistent storage.
8
8
  2. **Create installer worker** – start `installer.js`, a shared worker that does all of the BIOS's OPFS writes and is shared by every tab.
9
- 3. **Install packages from npm into OPFS** – the installer reads [`src/packages/package-lock.json`](src/packages/package-lock.json), the lockfile the BIOS ships with. It skips packages that name an `os` or `cpu` (native binaries such as esbuild's, which can't run in a browser). For every other locked package it downloads the tarball from `registry.npmjs.org` and checks its `integrity`, then unpacks it with the built-in `DecompressionStream` and [`modern-tar`](https://github.com/ayuhito/modern-tar) into OPFS at its lockfile path (`node_modules/…`), dropping `.` segments from entry names and skipping any entry with `..`. A package that is already there is rewritten in place, never emptied first: every file is overwritten whole (an OPFS write commits on close), the entry points come last: a command's wasm (and its variants), then its glue or script with `bin`, `main` and `exports` targets, then `package.json`, and only then do the files the new version no longer has go, so a running kernel or another tab never finds the package missing. While it unpacks, it hashes every file (SHA-256) and records the hashes in IndexedDB (see [Integrity](#integrity)). It also keeps each file's mode from the tarball, owned by root: once a package's files are in, it hands their paths and modes to the kernel's `writeMetadata` (`@ai-ecoverse/slicc-kernel/meta`, read from the installed kernel), in one batch per run, so an executable outside `bin/`, such as pnpm's `shims/i`, stays executable when the kernel checks modes. The seed's files are recorded as root's `0644`. A kernel without `/meta` skips this. A package installed before the kernel had `/meta` gets its modes once, on the first run with it: the installer fetches its tarball again, checks its integrity, reads the modes from the headers without unpacking, and marks the receipt (`modes: true`). A package installed or replaced later is marked when it's stamped. It also records a receipt in `var/lib/bios/`. A package whose recorded integrity matches the lockfile's and whose files are still there isn't downloaded again, so pinning a new version replaces just that package. Replacing a package keeps its nested `node_modules`, and packages the lockfile no longer lists are deleted along with their receipts and hashes. A package without recorded hashes is downloaded again, even with a receipt, so the first boot after integrity checks arrived downloads the base set once. Last, the installer copies the deployment's `package.json` and `pnpm-lock.yaml` to the OPFS root for pnpm, and the lockfile once more to `var/lib/slicc/pnpm-lock.yaml`, which records what is installed (see [Updates](#updates)).
9
+ 3. **Install packages from npm into OPFS** – the installer reads [`src/packages/package-lock.json`](src/packages/package-lock.json), the lockfile the BIOS ships with. It pins only what UI boot and the agent install need (Lars, 2026-10-21): slicc-kernel, slicc-spectrum, slicc-browsers (the guard's catalog), slicc-capture and slicc-audio (the page's capture and audio), wasi-pnpm, bash, coreutils, findutils, the TLS engine (the kernel's HTTPS) and fnox (the agent's secrets). Every other tool comes after boot, at npm's `latest` (see [Seven's tools](#sevens-tools)). It skips packages that name an `os` or `cpu` (native binaries such as esbuild's, which can't run in a browser). For every other locked package it downloads the tarball from `registry.npmjs.org` and checks its `integrity`, then unpacks it with the built-in `DecompressionStream` and [`modern-tar`](https://github.com/ayuhito/modern-tar) into OPFS at its lockfile path (`node_modules/…`), dropping `.` segments from entry names and skipping any entry with `..`. A package that is already there is rewritten in place, never emptied first: every file is overwritten whole (an OPFS write commits on close), the entry points come last: a command's wasm (and its variants), then its glue or script with `bin`, `main` and `exports` targets, then `package.json`, and only then do the files the new version no longer has go, so a running kernel or another tab never finds the package missing. While it unpacks, it hashes every file (SHA-256) and records the hashes in IndexedDB (see [Integrity](#integrity)). It also keeps each file's mode from the tarball, owned by root: once a package's files are in, it hands their paths and modes to the kernel's `writeMetadata` (`@ai-ecoverse/slicc-kernel/meta`, read from the installed kernel), in one batch per run, so an executable outside `bin/`, such as pnpm's `shims/i`, stays executable when the kernel checks modes. The seed's files are recorded as root's `0644`. A kernel without `/meta` skips this. A package installed before the kernel had `/meta` gets its modes once, on the first run with it: the installer fetches its tarball again, checks its integrity, reads the modes from the headers without unpacking, and marks the receipt (`modes: true`). A package installed or replaced later is marked when it's stamped. It also records a receipt in `var/lib/bios/`. A package whose recorded integrity matches the lockfile's and whose files are still there isn't downloaded again, so pinning a new version replaces just that package. Replacing a package keeps its nested `node_modules`, and packages the lockfile no longer lists are deleted along with their receipts and hashes. A package without recorded hashes is downloaded again, even with a receipt, so the first boot after integrity checks arrived downloads the base set once. Last, the installer copies the deployment's `package.json` and `pnpm-lock.yaml` to the OPFS root for pnpm, and the lockfile once more to `var/lib/slicc/pnpm-lock.yaml`, which records what is installed (see [Updates](#updates)).
10
10
  4. **Add UI page to OPFS** – the installer copies `src/seed/` to `os/` in OPFS and records each file's hash. This is a stand-in until the UI ships as a downloadable asset.
11
11
  5. **Intercept same-origin requests** – `sw.js`, a module service worker, answers in-scope requests from OPFS and passes everything else to the network (see [What the service worker serves](#what-the-service-worker-serves)). The code it serves from OPFS carries `Cross-Origin-Opener-Policy: same-origin`, `Cross-Origin-Embedder-Policy: require-corp` and `Cross-Origin-Resource-Policy: same-origin`, so the UI page and the workers it starts are cross-origin isolated. Scripts it serves get their bare imports resolved (see [Modules](#modules)).
12
12
 
13
13
  Every boot registers `sw.js` again and asks Chrome for an update. Chrome compares `sw.js` and then the modules it imports, in URL order, and stops at the first one that changed. When only a module changed, it copies the unchanged modules it compared before that one into the new worker, and that copy fails in Chrome 156 with *ServiceWorker cannot be started* (#1022). So when the update fails, the BIOS registers the service worker under its other URL, `sw.js?afresh` or `sw.js`, which Chrome installs whole from the network without comparing; later boots update whichever of the two is registered. When that install fails too, offline for instance, the step fails with the update's error and the installed worker keeps serving.
14
- 6. **Serve UI from OPFS** – navigate to `os/` (keeping the URL fragment) with a cross-document view transition. That page imports [`@ai-ecoverse/slicc-kernel`](https://github.com/ai-ecoverse/slicc-kernel) and [`@ai-ecoverse/slicc-spectrum`](https://github.com/ai-ecoverse/slicc-spectrum) by name from `node_modules/` in OPFS, starts the kernel on the OPFS root and boots SLICC's UI, `<slicc-app>`, on spectrum's kernel model. The agent comes later, from its own pnpm project (see [Agent](#agent)). Commands come from the installed packages: `bash`, coreutils, `grep`, `sed`, findutils, `gawk`, `diff` (with `cmp`, `sdiff` and `diff3`), `patch`, `rg` (ripgrep), `jq`, `less`, `tree`, `tar` with `gzip`, `xz` and `bzip2` (and their `gunzip`, `zcat`, `unxz`, `xzcat`, `lzma`, `bunzip2` and `bzcat` names), `curl`, `mount`, `umount`, `clear`, `tput`, `tset`, `reset`, `pnpm` with its `npm` and `npx` shims, and `playwright-cli` and `curlwright` from slicc-cdp. The shell starts in `/home` as **root** (slicc-kernel ≥ 1.44.0 has users: `/etc/passwd` and `/etc/group` list root, nobody, sudo, users and nogroup), so the prompt ends in `#`, `whoami` and `id` say root, `ls -l` and `ps` show user names, and root's `HOME` is `/root` (mode 0700) with `PNPM_HOME=/usr/local/share/pnpm`. bash, coreutils, procps and git are the homescoop H1 rebuilds that know about users; older builds claimed uid 1000. `tar` forks the compressors for `-z`, `-J` and `-j` through `/bin/sh`. Hard links in archives aren't recreated, and there's no `--zstd`. xz is single-threaded: `-T` is accepted but has no effect. xz's `xzgrep`, `xzdiff` and `xzless` wrapper scripts are installed too, running seven's own grep, diff and less; gzip's `zgrep` and bzip2's `bzgrep`-style wrappers aren't. Whatever the shell writes stays in OPFS across reloads. The kernel terminates HTTPS with `wasm-tls-engine`, so `curl https://…` works over whichever transport is picked (see [Network](#network)). `wasm-git` is left out for its size (53 MB); it can come later through pnpm.
14
+ 6. **Serve UI from OPFS** – navigate to `os/` (keeping the URL fragment) with a cross-document view transition. That page imports [`@ai-ecoverse/slicc-kernel`](https://github.com/ai-ecoverse/slicc-kernel) and [`@ai-ecoverse/slicc-spectrum`](https://github.com/ai-ecoverse/slicc-spectrum) by name from `node_modules/` in OPFS, starts the kernel on the OPFS root and boots SLICC's UI, `<slicc-app>`, on spectrum's kernel model. The agent comes later, from its own pnpm project (see [Agent](#agent)). Commands come from the installed packages (the base set at boot, [seven's tools](#sevens-tools) right after): `bash`, coreutils, `grep`, `sed`, findutils, `gawk`, `diff` (with `cmp`, `sdiff` and `diff3`), `patch`, `rg` (ripgrep), `jq`, `less`, `tree`, `tar` with `gzip`, `xz` and `bzip2` (and their `gunzip`, `zcat`, `unxz`, `xzcat`, `lzma`, `bunzip2` and `bzcat` names), `curl`, `mount`, `umount`, `clear`, `tput`, `tset`, `reset`, `pnpm` with its `npm` and `npx` shims, and `playwright-cli` and `curlwright` from slicc-cdp. The shell starts in `/home` as **root** (slicc-kernel ≥ 1.44.0 has users: `/etc/passwd` and `/etc/group` list root, nobody, sudo, users and nogroup), so the prompt ends in `#`, `whoami` and `id` say root, `ls -l` and `ps` show user names, and root's `HOME` is `/root` (mode 0700) with `PNPM_HOME=/usr/local/share/pnpm`. bash, coreutils, procps and git are the homescoop H1 rebuilds that know about users; older builds claimed uid 1000. `tar` forks the compressors for `-z`, `-J` and `-j` through `/bin/sh`. Hard links in archives aren't recreated, and there's no `--zstd`. xz is single-threaded: `-T` is accepted but has no effect. xz's `xzgrep`, `xzdiff` and `xzless` wrapper scripts are installed too, running seven's own grep, diff and less; gzip's `zgrep` and bzip2's `bzgrep`-style wrappers aren't. Whatever the shell writes stays in OPFS across reloads. The kernel terminates HTTPS with `wasm-tls-engine`, so `curl https://…` works over whichever transport is picked (see [Network](#network)). `wasm-git` is left out for its size (53 MB); it can come later through pnpm.
15
+
16
+ ## Seven's tools
17
+
18
+ The base set pins only what UI boot and the agent install need, as the code shows:
19
+ - **slicc-kernel, slicc-spectrum, slicc-browsers, slicc-capture and slicc-audio:** the page imports them (`os.js` imports `@ai-ecoverse/slicc-capture/page` and `@ai-ecoverse/slicc-audio/page`). slicc-audio's optional slicc-ortllama isn't installed. The guard reads slicc-browsers' catalog.
20
+ - **wasi-pnpm:** it installs `/opt/agent`.
21
+ - **bash:** the terminal runs `bash -i`, `sh` is bash, and bios's boot scripts are bash.
22
+ - **coreutils:** bios's boot scripts need it (`/mnt`, the legacy homes' lock, the fnox config, known hosts), and so does the sudo check, which fails closed without it.
23
+ - **findutils:** after every install, `readable()` runs `find … -exec chmod a+rX`.
24
+ - **the TLS engine:** the kernel loads it from `/node_modules` for every HTTPS connection a program makes (curl, git, the agent's tools); it has no other place to look.
25
+ - **fnox:** the agent lists its secrets with `fnox env --describe` when it starts, and asks again only when the vault changes, so fnox must be there before the agent (slicc-agent#459).
26
+
27
+ The other 20 tools are listed in [`src/packages/tools.json`](src/packages/tools.json), in order: grep, sed, curl, tar, gzip, jq and ripgrep first, then gawk, diffutils, patch, xz, bzip2, less, tree, which, procps, ncurses' utilities, mount, slicc-cdp (`playwright-cli`, `curlwright`) and slicc-clipboard. Each comes at the version npm offers, behind [the gate](#optional-packages) (`os/tools.js`):
28
+ - **When:** right after the kernel starts, in parallel with the agent install, and at every update check. The UI and the terminal never wait. The agent's start waits until every tool is installed, refused or failed, for at most two minutes. The essentials go first, so a cap that's hit still leaves them.
29
+ - **Where:** a pnpm project at `/opt/slicc/tools`, installed as bios's installer. The kernel scans its `node_modules` for commands after `/node_modules` and root's global packages, and before `/opt/user`.
30
+ - **How:** seven writes the versions it chose into the project's `package.json`, lets pnpm resolve them with `pnpm install --lockfile-only`, and runs [the gate](#optional-packages) on every package in that lock, dependencies included. Only a lock that passes is installed, with `pnpm install --frozen-lockfile`. The project doesn't install peer dependencies on its own (`autoInstallPeers: false`): xz names sed as a peer, and pnpm would otherwise resolve a refused sed again, at npm's latest, as xz's peer, and refuse xz with it. A package the gate refuses is never downloaded, so none of its commands reach the kernel. A refusal puts the project's `package.json` and lock back and tries again without that tool. Both runs pass `--ignore-scripts --ignore-pnpmfile`, so no install, postinstall or prepare script runs. Each of these pnpm runs waits at most 15 minutes for the pnpm store, which the agent's install and other installs share, and is stopped when it writes nothing, download progress included, for 3 minutes, or after 15 minutes in all. A round that stops that way fails its rows, with the reason in their install log, and runs again at the next boot or update check.
31
+ - **Which version:**
32
+ - npm's `latest`, through the same listing rules as an optional package: provenance, exceptions, engines, and a walk-back of at most five versions;
33
+ - never older than the installed one;
34
+ - one that doesn't pass, or doesn't come back from pnpm, leaves the version it had. Its row reads *Not offered: …*.
35
+ - **Offline:** what's installed stays. Nothing is fetched until npm answers again.
36
+ - **Moving an old profile over:** an existing profile has the tools in `/node_modules`. The installer keeps each one there until `/opt/slicc/tools` has it. Then seven removes the old copy through the kernel, and its receipt and ledger entry through the installer (`retire`). A tool therefore never disappears, offline or not.
37
+ - **Install / Update:** each tool has a row (`tools:<id>`, `preinstalled: true`), with the version it has, what npm offers, and why a newer one isn't offered. Retry or Update checks again. There's no Remove.
38
+ - **Your packages:** a user's own add of one of these packages goes through the gate like a catalog package.
15
39
 
16
40
  ## What the service worker serves
17
41
 
18
42
  The kernel's root is the OPFS root, so any file a kernel process writes, such as `/home/x.html`, has a URL on seven's origin. The service worker serves only BIOS-managed code as live same-origin content:
19
43
 
20
- - `/os/` (the seed: the UI page and its modules and workers), `/node_modules/` (the base set: kernel, spectrum, slicc-cdp and the wasm packages), and `/opt/agent/` (the agent and its workers);
44
+ - `/os/` (the seed: the UI page and its modules and workers), `/node_modules/` (the base set: kernel, spectrum, slicc-browsers, slicc-capture, pnpm, bash, coreutils, findutils, the TLS engine and fnox), and `/opt/agent/` (the agent and its workers);
21
45
  - the aliases `/auth/callback` (→ `/os/callback.html`, only on an origin of seven's own) and `/oauth/mcp-callback` (→ the agent's `dist/oauth/mcp-callback.html`), the node builtin stubs under `/__slicc/node/`, and `/os/manifest.json`, a redirect to the BIOS's `manifest.json`, so the manifest's relative icons and `start_url` resolve in the BIOS's folder;
22
46
  - bios's own files, in the BIOS's folder (`index.html`, `bios.js`, `bios.css`, `installer.js`, `sw.js`, `manifest.json`, and `sw/`, `seed/`, `packages/` and `icons/`), and `/fonts/`, which always come from the network, even when OPFS has a file of that name.
23
47
 
@@ -612,7 +636,7 @@ Seven certifies a gated package (slicc-kernel, slicc-cdp, slicc-audio, slicc-cap
612
636
 
613
637
  [`renovate.json`](renovate.json) bumps every `@ai-ecoverse/*` pin in the base set (`src/packages/package.json`) and `/opt/agent` (`src/packages/agent/package.json`), with their npm and pnpm lockfiles. The optional catalog pins nothing, so it needs no bumps; the Python data tools' project (`src/packages/optional/projects/pydata`) is pinned by hand, from the dependency dashboard.
614
638
 
615
- - **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 and slicc-spectrum each get their own PR, and so does every other package. The Tailscale project stays on the dependency dashboard.
639
+ - **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-agent and slicc-spectrum each get their own PR, and so does every other package. The Tailscale project stays on the dependency dashboard.
616
640
  - **Automerge once CI is green:** Renovate turns on auto-merge, so a PR goes through the merge queue once its required checks, `ci / integration` and `ci / review`, are green (see [CI](#ci)). No bot writes to a Renovate branch: the shipped lockfiles are part of what seven certifies, so a certified pin needs no `certs.json` line.
617
641
  - **Known breaks** are `packageRules` with `allowedVersions`, each with its reason and issue in `description`. Today the only one is wasi-pnpm skipping the deprecated 12.9.1-11 and 12.9.1-12 (homescoop#1128). wasm-bash's hold below 5.3.0-20 went with the pin of kernel 1.135.2, which has slicc-kernel#1146. bash 5.3.0-20 and later count as certified only with kernel 1.130.2 or later (homescoop#1230), and -21 declares `engines.slicc-kernel >=1.130.2`. `test/integration/renovate.test.mjs` checks the config, the gate and the queue in plain node.
618
642
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/slicc-bios",
3
- "version": "1.49.0",
3
+ "version": "1.50.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",
@@ -23,6 +23,7 @@
23
23
  "src/packages/package-lock.json",
24
24
  "src/packages/pnpm-lock.yaml",
25
25
  "src/packages/certs.json",
26
+ "src/packages/tools.json",
26
27
  "src/packages/agent/package.json",
27
28
  "src/packages/agent/pnpm-lock.yaml",
28
29
  "src/packages/optional/catalog.json",
@@ -48,11 +49,11 @@
48
49
  "format": "biome check --write ."
49
50
  },
50
51
  "devDependencies": {
51
- "@ai-ecoverse/slicc": "1.49.25",
52
- "@ai-ecoverse/slicc-browsers": "1.18.14",
52
+ "@ai-ecoverse/slicc": "1.49.27",
53
+ "@ai-ecoverse/slicc-browsers": "1.18.16",
53
54
  "@ai-ecoverse/slicc-cdp": "1.42.2",
54
55
  "@ai-ecoverse/slicc-node": "2.5.1",
55
- "@ai-ecoverse/slicc-shared-web": "2.13.2",
56
+ "@ai-ecoverse/slicc-shared-web": "2.13.3",
56
57
  "@ai-ecoverse/slicc-spectrum": "1.107.2",
57
58
  "@ai-ecoverse/slicc-vault": "1.17.0",
58
59
  "@biomejs/biome": "2.5.15",
@@ -2,5 +2,9 @@
2
2
  "@ai-ecoverse/slicc-cdp": {
3
3
  "repo": "ai-ecoverse/slicc-cdp",
4
4
  "workflow": [".github/workflows/release.yml", ".github/workflows/ci.yml"]
5
+ },
6
+ "@ai-ecoverse/slicc-clipboard": {
7
+ "repo": "ai-ecoverse/slicc-clipboard",
8
+ "workflow": [".github/workflows/release.yml", ".github/workflows/ci.yml"]
5
9
  }
6
10
  }
@@ -7,36 +7,16 @@
7
7
  "name": "slicc-bios-packages",
8
8
  "dependencies": {
9
9
  "@ai-ecoverse/slicc-audio": "1.1.6",
10
- "@ai-ecoverse/slicc-browsers": "1.18.14",
10
+ "@ai-ecoverse/slicc-browsers": "1.18.16",
11
11
  "@ai-ecoverse/slicc-capture": "1.4.1",
12
- "@ai-ecoverse/slicc-cdp": "1.42.2",
13
- "@ai-ecoverse/slicc-clipboard": "1.1.1",
14
12
  "@ai-ecoverse/slicc-kernel": "1.167.4",
15
13
  "@ai-ecoverse/slicc-spectrum": "1.107.2",
16
14
  "@ai-ecoverse/wasi-fnox": "1.40.0-1",
17
15
  "@ai-ecoverse/wasi-pnpm": "12.9.1-21",
18
- "@ai-ecoverse/wasi-ripgrep": "15.2.0-5",
19
16
  "@ai-ecoverse/wasm-bash": "5.3.0-23",
20
- "@ai-ecoverse/wasm-bzip2": "1.0.8-6",
21
17
  "@ai-ecoverse/wasm-coreutils": "9.12.0-15",
22
- "@ai-ecoverse/wasm-curl": "8.22.0-10",
23
- "@ai-ecoverse/wasm-diffutils": "3.12.0-4",
24
18
  "@ai-ecoverse/wasm-findutils": "4.11.0-5",
25
- "@ai-ecoverse/wasm-gawk": "5.4.1-6",
26
- "@ai-ecoverse/wasm-grep": "3.12.0-8",
27
- "@ai-ecoverse/wasm-gzip": "1.15.0-6",
28
- "@ai-ecoverse/wasm-jq": "1.8.2-6",
29
- "@ai-ecoverse/wasm-less": "668.0.0-7",
30
- "@ai-ecoverse/wasm-mount": "1.0.0-5",
31
- "@ai-ecoverse/wasm-ncurses-utils": "6.5.0-6",
32
- "@ai-ecoverse/wasm-patch": "2.8.0-5",
33
- "@ai-ecoverse/wasm-procps": "4.0.7-6",
34
- "@ai-ecoverse/wasm-sed": "4.10.0-6",
35
- "@ai-ecoverse/wasm-tar": "1.35.0-9",
36
- "@ai-ecoverse/wasm-tls-engine": "4.2.0-12",
37
- "@ai-ecoverse/wasm-tree": "2.3.2-7",
38
- "@ai-ecoverse/wasm-which": "2.23.0-5",
39
- "@ai-ecoverse/wasm-xz": "5.8.4-8"
19
+ "@ai-ecoverse/wasm-tls-engine": "4.2.0-12"
40
20
  }
41
21
  },
42
22
  "node_modules/@ai-ecoverse/slicc-audio": {
@@ -59,9 +39,9 @@
59
39
  }
60
40
  },
61
41
  "node_modules/@ai-ecoverse/slicc-browsers": {
62
- "version": "1.18.14",
63
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-browsers/-/slicc-browsers-1.18.14.tgz",
64
- "integrity": "sha512-BJAYu1tPJETsQFJEWdCyxWYU5oYaRwMdH1u4sJMvtBLVegkoRrEo5ruEAbIfzx63OJryzTylVYQ8FPVSVomxNA==",
42
+ "version": "1.18.16",
43
+ "resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-browsers/-/slicc-browsers-1.18.16.tgz",
44
+ "integrity": "sha512-hTXaDzfcpFk/YCs09t6ciWSX3L6w99pcux/EXZsICHtSWxfFp1xk4sWNpFb4rCUgC2CY7ZxVa2bDkfYqAYEcnA==",
65
45
  "license": "Apache-2.0",
66
46
  "engines": {
67
47
  "node": ">=24"
@@ -80,35 +60,6 @@
80
60
  "slicc-kernel": ">=1.153.0"
81
61
  }
82
62
  },
83
- "node_modules/@ai-ecoverse/slicc-cdp": {
84
- "version": "1.42.2",
85
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-cdp/-/slicc-cdp-1.42.2.tgz",
86
- "integrity": "sha512-1dRpeDcSNAv8qYTGCo0Y+hXDSILOO7mnB7hudfaw+rvhyCUei4E5XsdMFV1sVrlTxNOYmqQRNJyQEfc3LkOPMg==",
87
- "license": "Apache-2.0",
88
- "workspaces": [
89
- "packages/sliccy-browser"
90
- ],
91
- "bin": {
92
- "slicc-cdp": "src/cli.js"
93
- },
94
- "engines": {
95
- "node": ">=24"
96
- }
97
- },
98
- "node_modules/@ai-ecoverse/slicc-clipboard": {
99
- "version": "1.1.1",
100
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-clipboard/-/slicc-clipboard-1.1.1.tgz",
101
- "integrity": "sha512-MggIwJR4jDNNxN5y9bsnNkYuEeVQeUqeYaenIgDRRKWSN/yKIiCx4OujpsIkLE6iF4k1rGnD2zVg6FbS0nR1ug==",
102
- "license": "Apache-2.0",
103
- "bin": {
104
- "sccopy": "host/sccopy.mjs",
105
- "scpaste": "host/scpaste.mjs"
106
- },
107
- "engines": {
108
- "node": ">=24",
109
- "slicc-kernel": ">=1.75.0"
110
- }
111
- },
112
63
  "node_modules/@ai-ecoverse/slicc-kernel": {
113
64
  "version": "1.167.4",
114
65
  "resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-kernel/-/slicc-kernel-1.167.4.tgz",
@@ -221,15 +172,6 @@
221
172
  "slicc-kernel": ">=1.7.2"
222
173
  }
223
174
  },
224
- "node_modules/@ai-ecoverse/wasi-ripgrep": {
225
- "version": "15.2.0-5",
226
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasi-ripgrep/-/wasi-ripgrep-15.2.0-5.tgz",
227
- "integrity": "sha512-QtSi35Zr2Cbb7tg2DM4CCJ1gM/KtNrcJA0YgqiVrnSQ1fuXDi5rYnv9tIXqzpqGPRaLg/JOzhG7qklmksNn4cg==",
228
- "license": "MIT OR Unlicense",
229
- "engines": {
230
- "slicc-kernel": ">=1.34.1"
231
- }
232
- },
233
175
  "node_modules/@ai-ecoverse/wasm-bash": {
234
176
  "version": "5.3.0-23",
235
177
  "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-bash/-/wasm-bash-5.3.0-23.tgz",
@@ -239,12 +181,6 @@
239
181
  "slicc-kernel": ">=1.130.2"
240
182
  }
241
183
  },
242
- "node_modules/@ai-ecoverse/wasm-bzip2": {
243
- "version": "1.0.8-6",
244
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-bzip2/-/wasm-bzip2-1.0.8-6.tgz",
245
- "integrity": "sha512-AEdXJvs2D2ujNgTFHKp7MuCF2o2e1WFPvSxvgwwWqcakXiiijHlkwEOFu1jAclRbWKOwtwWAHjgvG2mupO+BKQ==",
246
- "license": "bzip2-1.0.6"
247
- },
248
184
  "node_modules/@ai-ecoverse/wasm-coreutils": {
249
185
  "version": "9.12.0-15",
250
186
  "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-coreutils/-/wasm-coreutils-9.12.0-15.tgz",
@@ -254,125 +190,18 @@
254
190
  "slicc-kernel": ">=1.44.0"
255
191
  }
256
192
  },
257
- "node_modules/@ai-ecoverse/wasm-curl": {
258
- "version": "8.22.0-10",
259
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-curl/-/wasm-curl-8.22.0-10.tgz",
260
- "integrity": "sha512-7PkpUNHfuCt3GPzB/UpmRoJtEyXA/5csXd220yWndBCB0x5dL5EU4enGtaAMpm7rQuTVWHUroiHnYdQzvZ/nlg==",
261
- "license": "curl"
262
- },
263
- "node_modules/@ai-ecoverse/wasm-diffutils": {
264
- "version": "3.12.0-4",
265
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-diffutils/-/wasm-diffutils-3.12.0-4.tgz",
266
- "integrity": "sha512-aW0FuJ47vI+PhMnxtZaHUFyQBrEMzgc7HE7cB6x+vbhB+vgaRL5mGMyjFkvDj2LYPfgmhPEr5mgS6wegARaP/w==",
267
- "license": "GPL-3.0-or-later"
268
- },
269
193
  "node_modules/@ai-ecoverse/wasm-findutils": {
270
194
  "version": "4.11.0-5",
271
195
  "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-findutils/-/wasm-findutils-4.11.0-5.tgz",
272
196
  "integrity": "sha512-UNQgX1BFtHUa8HE5M7D1gSZmfl9HztvamvhrZbQENVlKcqZdCiQo/Bzi8WPhklU7+SpglSVe5PFVggLrfKQ1Tw==",
273
197
  "license": "GPL-3.0-or-later"
274
198
  },
275
- "node_modules/@ai-ecoverse/wasm-gawk": {
276
- "version": "5.4.1-6",
277
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-gawk/-/wasm-gawk-5.4.1-6.tgz",
278
- "integrity": "sha512-7S6fKVNCusNoq47kQb/TkflKVYQ8fGP2D9Ykm0tGHDroZ2h2wGF13Y59+cfHv9UxWKp1FJO6qnxn5I7pBHXBiA==",
279
- "license": "GPL-3.0-or-later"
280
- },
281
- "node_modules/@ai-ecoverse/wasm-grep": {
282
- "version": "3.12.0-8",
283
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-grep/-/wasm-grep-3.12.0-8.tgz",
284
- "integrity": "sha512-49mo+01fE+gPcH8SX7vs5xZ/SnqpWNcFQrsmNvmTezufdeITf+0qPmXhtSGmqzVF1CEMXIdQlOloYk2/MDzYSw==",
285
- "license": "GPL-3.0-or-later"
286
- },
287
- "node_modules/@ai-ecoverse/wasm-gzip": {
288
- "version": "1.15.0-6",
289
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-gzip/-/wasm-gzip-1.15.0-6.tgz",
290
- "integrity": "sha512-9JDnyEE7aZL6s4iHhTNaygGbLcsUzmihL29f/Ps8rVUCd8MVnF3dksEZ02Ir/Lc/vpQeskvKxC/4YK5j4nZOGQ==",
291
- "license": "GPL-3.0-or-later"
292
- },
293
- "node_modules/@ai-ecoverse/wasm-jq": {
294
- "version": "1.8.2-6",
295
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-jq/-/wasm-jq-1.8.2-6.tgz",
296
- "integrity": "sha512-zjDAtViArXdy68A9UXADP0NhIPu/qY4tusOnNCv+Cl9KK+oJN4dECrirmxhdoWOORxOpko8TxlF6+GOdb+QDbA==",
297
- "license": "MIT"
298
- },
299
- "node_modules/@ai-ecoverse/wasm-less": {
300
- "version": "668.0.0-7",
301
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-less/-/wasm-less-668.0.0-7.tgz",
302
- "integrity": "sha512-0okQPLTmhF9PKVuzcmIaBvEhVmSC0CZuji8lXPI3+gReulNUA8qx1xB6KrtTAk74Ak6ea0d0LQ6AmPa1g9BKDw==",
303
- "license": "GPL-3.0-or-later OR BSD-2-Clause"
304
- },
305
- "node_modules/@ai-ecoverse/wasm-mount": {
306
- "version": "1.0.0-5",
307
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-mount/-/wasm-mount-1.0.0-5.tgz",
308
- "integrity": "sha512-WkowzMrTZAOPY15XxJ7LtVyyboUelvJlPFQ4HQUswmyXsIEDeOKP1wn1rv6dLp6d8Hax51+QJkOLAMWbDoSkdw==",
309
- "license": "Apache-2.0"
310
- },
311
- "node_modules/@ai-ecoverse/wasm-ncurses-utils": {
312
- "version": "6.5.0-6",
313
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-ncurses-utils/-/wasm-ncurses-utils-6.5.0-6.tgz",
314
- "integrity": "sha512-gasKlSpf0mt1Y/JjFNAFs/iQH3ACoHv3jiowrrGaRa1WPYgK9qmNkYuPCeX8QG3ASd5F854DEO2WywiWPIeBTA==",
315
- "license": "X11-distribute-modifications-variant"
316
- },
317
- "node_modules/@ai-ecoverse/wasm-patch": {
318
- "version": "2.8.0-5",
319
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-patch/-/wasm-patch-2.8.0-5.tgz",
320
- "integrity": "sha512-xoMrYGOwbD43O46JQaQsIQkv7hcP/oVMsDH1F3kgaAFMko0KZXUURm0xtnZVEQMy9JLPlN+dwalKZf93gx17sg==",
321
- "license": "GPL-3.0-or-later"
322
- },
323
- "node_modules/@ai-ecoverse/wasm-procps": {
324
- "version": "4.0.7-6",
325
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-procps/-/wasm-procps-4.0.7-6.tgz",
326
- "integrity": "sha512-pFRV/plLnZ9bYVIHl2TIDl6bhiqJ32HJn0/UDnsik28JiCWy4sZ1fZjZvsP1l1MaxLscelovaaRzOiQf1QnFkQ==",
327
- "license": "GPL-2.0-or-later AND LGPL-2.1-or-later",
328
- "engines": {
329
- "slicc-kernel": ">=1.44.0"
330
- }
331
- },
332
- "node_modules/@ai-ecoverse/wasm-sed": {
333
- "version": "4.10.0-6",
334
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-sed/-/wasm-sed-4.10.0-6.tgz",
335
- "integrity": "sha512-Gj0vkj1krEK76XvdZqfTLOL5QOdC6hEFuLSo8OYKdcq5/4pwYf45q66CimIVb8ueujpsqlqhXvPn90GmgcBA3w==",
336
- "license": "GPL-3.0-or-later"
337
- },
338
- "node_modules/@ai-ecoverse/wasm-tar": {
339
- "version": "1.35.0-9",
340
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-tar/-/wasm-tar-1.35.0-9.tgz",
341
- "integrity": "sha512-dcGWf9lUS79Z38+TBnK894n1UGBgQkiefuQLHKPmi24I0wBXbzS63g/IyioMZY7Se1afmx1OOrrZkYiT9Fnilg==",
342
- "license": "GPL-3.0-or-later"
343
- },
344
199
  "node_modules/@ai-ecoverse/wasm-tls-engine": {
345
200
  "version": "4.2.0-12",
346
201
  "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-tls-engine/-/wasm-tls-engine-4.2.0-12.tgz",
347
202
  "integrity": "sha512-s/BeMGFK4SmaoG3l2e7eV9H3iXH2GjHxZzMqKhPufE3WfjaTuL8BziZGCcfA/gd7VtqTldMAXErAQWwpvhG2pg==",
348
203
  "license": "Apache-2.0 AND MPL-2.0"
349
204
  },
350
- "node_modules/@ai-ecoverse/wasm-tree": {
351
- "version": "2.3.2-7",
352
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-tree/-/wasm-tree-2.3.2-7.tgz",
353
- "integrity": "sha512-PUuA1uUboZ3xCfH9ZuQp0ioLe0YzC7WnuiArxwDdDXs7BllmZER/LjxmugSUpx/tbK9+PzNjN8m1YDOFrXPbYg==",
354
- "license": "GPL-2.0-or-later"
355
- },
356
- "node_modules/@ai-ecoverse/wasm-which": {
357
- "version": "2.23.0-5",
358
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-which/-/wasm-which-2.23.0-5.tgz",
359
- "integrity": "sha512-Lrb8NitymJqzsjW7AVYoe+sOtnwX8GOD0cEsxemd3qQrU3OGz8ViuJ1si3RJbkQPvQ1Bga7pt4VJbMVvFpZn2w==",
360
- "license": "GPL-3.0-or-later"
361
- },
362
- "node_modules/@ai-ecoverse/wasm-xz": {
363
- "version": "5.8.4-8",
364
- "resolved": "https://registry.npmjs.org/@ai-ecoverse/wasm-xz/-/wasm-xz-5.8.4-8.tgz",
365
- "integrity": "sha512-AXR23vZMhWmvjFqay8O3v805XoaeFuY9QJBw0g5H1H21iy6YUUtbLutfLuBWg8CLiVg2aDQeqPOoRYr4xd/mLA==",
366
- "license": "0BSD AND GPL-2.0-or-later",
367
- "peerDependencies": {
368
- "@ai-ecoverse/wasm-bash": "*",
369
- "@ai-ecoverse/wasm-coreutils": "*",
370
- "@ai-ecoverse/wasm-diffutils": "*",
371
- "@ai-ecoverse/wasm-grep": "*",
372
- "@ai-ecoverse/wasm-less": "*",
373
- "@ai-ecoverse/wasm-sed": "*"
374
- }
375
- },
376
205
  "node_modules/@huggingface/jinja": {
377
206
  "version": "0.5.10",
378
207
  "resolved": "https://registry.npmjs.org/@huggingface/jinja/-/jinja-0.5.10.tgz",
@@ -4,35 +4,15 @@
4
4
  "description": "Packages the BIOS installs from npm into OPFS, pinned by package-lock.json and pnpm-lock.yaml",
5
5
  "dependencies": {
6
6
  "@ai-ecoverse/slicc-audio": "1.1.6",
7
- "@ai-ecoverse/slicc-browsers": "1.18.14",
7
+ "@ai-ecoverse/slicc-browsers": "1.18.16",
8
8
  "@ai-ecoverse/slicc-capture": "1.4.1",
9
- "@ai-ecoverse/slicc-cdp": "1.42.2",
10
- "@ai-ecoverse/slicc-clipboard": "1.1.1",
11
9
  "@ai-ecoverse/slicc-kernel": "1.167.4",
12
10
  "@ai-ecoverse/slicc-spectrum": "1.107.2",
13
11
  "@ai-ecoverse/wasi-fnox": "1.40.0-1",
14
12
  "@ai-ecoverse/wasi-pnpm": "12.9.1-21",
15
- "@ai-ecoverse/wasi-ripgrep": "15.2.0-5",
16
13
  "@ai-ecoverse/wasm-bash": "5.3.0-23",
17
- "@ai-ecoverse/wasm-bzip2": "1.0.8-6",
18
14
  "@ai-ecoverse/wasm-coreutils": "9.12.0-15",
19
- "@ai-ecoverse/wasm-curl": "8.22.0-10",
20
- "@ai-ecoverse/wasm-diffutils": "3.12.0-4",
21
15
  "@ai-ecoverse/wasm-findutils": "4.11.0-5",
22
- "@ai-ecoverse/wasm-gawk": "5.4.1-6",
23
- "@ai-ecoverse/wasm-grep": "3.12.0-8",
24
- "@ai-ecoverse/wasm-gzip": "1.15.0-6",
25
- "@ai-ecoverse/wasm-jq": "1.8.2-6",
26
- "@ai-ecoverse/wasm-less": "668.0.0-7",
27
- "@ai-ecoverse/wasm-mount": "1.0.0-5",
28
- "@ai-ecoverse/wasm-ncurses-utils": "6.5.0-6",
29
- "@ai-ecoverse/wasm-patch": "2.8.0-5",
30
- "@ai-ecoverse/wasm-procps": "4.0.7-6",
31
- "@ai-ecoverse/wasm-sed": "4.10.0-6",
32
- "@ai-ecoverse/wasm-tar": "1.35.0-9",
33
- "@ai-ecoverse/wasm-tls-engine": "4.2.0-12",
34
- "@ai-ecoverse/wasm-tree": "2.3.2-7",
35
- "@ai-ecoverse/wasm-which": "2.23.0-5",
36
- "@ai-ecoverse/wasm-xz": "5.8.4-8"
16
+ "@ai-ecoverse/wasm-tls-engine": "4.2.0-12"
37
17
  }
38
18
  }
@@ -12,17 +12,11 @@ importers:
12
12
  specifier: 1.1.6
13
13
  version: 1.1.6
14
14
  '@ai-ecoverse/slicc-browsers':
15
- specifier: 1.18.14
16
- version: 1.18.14
15
+ specifier: 1.18.16
16
+ version: 1.18.16
17
17
  '@ai-ecoverse/slicc-capture':
18
18
  specifier: 1.4.1
19
19
  version: 1.4.1
20
- '@ai-ecoverse/slicc-cdp':
21
- specifier: 1.42.2
22
- version: 1.42.2
23
- '@ai-ecoverse/slicc-clipboard':
24
- specifier: 1.1.1
25
- version: 1.1.1
26
20
  '@ai-ecoverse/slicc-kernel':
27
21
  specifier: 1.167.4
28
22
  version: 1.167.4
@@ -35,72 +29,18 @@ importers:
35
29
  '@ai-ecoverse/wasi-pnpm':
36
30
  specifier: 12.9.1-21
37
31
  version: 12.9.1-21
38
- '@ai-ecoverse/wasi-ripgrep':
39
- specifier: 15.2.0-5
40
- version: 15.2.0-5
41
32
  '@ai-ecoverse/wasm-bash':
42
33
  specifier: 5.3.0-23
43
34
  version: 5.3.0-23
44
- '@ai-ecoverse/wasm-bzip2':
45
- specifier: 1.0.8-6
46
- version: 1.0.8-6
47
35
  '@ai-ecoverse/wasm-coreutils':
48
36
  specifier: 9.12.0-15
49
37
  version: 9.12.0-15
50
- '@ai-ecoverse/wasm-curl':
51
- specifier: 8.22.0-10
52
- version: 8.22.0-10
53
- '@ai-ecoverse/wasm-diffutils':
54
- specifier: 3.12.0-4
55
- version: 3.12.0-4
56
38
  '@ai-ecoverse/wasm-findutils':
57
39
  specifier: 4.11.0-5
58
40
  version: 4.11.0-5
59
- '@ai-ecoverse/wasm-gawk':
60
- specifier: 5.4.1-6
61
- version: 5.4.1-6
62
- '@ai-ecoverse/wasm-grep':
63
- specifier: 3.12.0-8
64
- version: 3.12.0-8
65
- '@ai-ecoverse/wasm-gzip':
66
- specifier: 1.15.0-6
67
- version: 1.15.0-6
68
- '@ai-ecoverse/wasm-jq':
69
- specifier: 1.8.2-6
70
- version: 1.8.2-6
71
- '@ai-ecoverse/wasm-less':
72
- specifier: 668.0.0-7
73
- version: 668.0.0-7
74
- '@ai-ecoverse/wasm-mount':
75
- specifier: 1.0.0-5
76
- version: 1.0.0-5
77
- '@ai-ecoverse/wasm-ncurses-utils':
78
- specifier: 6.5.0-6
79
- version: 6.5.0-6
80
- '@ai-ecoverse/wasm-patch':
81
- specifier: 2.8.0-5
82
- version: 2.8.0-5
83
- '@ai-ecoverse/wasm-procps':
84
- specifier: 4.0.7-6
85
- version: 4.0.7-6
86
- '@ai-ecoverse/wasm-sed':
87
- specifier: 4.10.0-6
88
- version: 4.10.0-6
89
- '@ai-ecoverse/wasm-tar':
90
- specifier: 1.35.0-9
91
- version: 1.35.0-9
92
41
  '@ai-ecoverse/wasm-tls-engine':
93
42
  specifier: 4.2.0-12
94
43
  version: 4.2.0-12
95
- '@ai-ecoverse/wasm-tree':
96
- specifier: 2.3.2-7
97
- version: 2.3.2-7
98
- '@ai-ecoverse/wasm-which':
99
- specifier: 2.23.0-5
100
- version: 2.23.0-5
101
- '@ai-ecoverse/wasm-xz':
102
- specifier: 5.8.4-8
103
- version: 5.8.4-8(@ai-ecoverse/wasm-bash@5.3.0-23)(@ai-ecoverse/wasm-coreutils@9.12.0-15)(@ai-ecoverse/wasm-diffutils@3.12.0-4)(@ai-ecoverse/wasm-grep@3.12.0-8)(@ai-ecoverse/wasm-less@668.0.0-7)(@ai-ecoverse/wasm-sed@4.10.0-6)
104
44
 
105
45
  packages:
106
46
 
@@ -109,8 +49,8 @@ packages:
109
49
  engines: {node: '>=24', slicc-kernel: '>=1.153.0'}
110
50
  hasBin: true
111
51
 
112
- '@ai-ecoverse/slicc-browsers@1.18.14':
113
- resolution: {integrity: sha512-BJAYu1tPJETsQFJEWdCyxWYU5oYaRwMdH1u4sJMvtBLVegkoRrEo5ruEAbIfzx63OJryzTylVYQ8FPVSVomxNA==}
52
+ '@ai-ecoverse/slicc-browsers@1.18.16':
53
+ resolution: {integrity: sha512-hTXaDzfcpFk/YCs09t6ciWSX3L6w99pcux/EXZsICHtSWxfFp1xk4sWNpFb4rCUgC2CY7ZxVa2bDkfYqAYEcnA==}
114
54
  engines: {node: '>=24'}
115
55
 
116
56
  '@ai-ecoverse/slicc-capture@1.4.1':
@@ -118,16 +58,6 @@ packages:
118
58
  engines: {node: '>=24', slicc-kernel: '>=1.153.0'}
119
59
  hasBin: true
120
60
 
121
- '@ai-ecoverse/slicc-cdp@1.42.2':
122
- resolution: {integrity: sha512-1dRpeDcSNAv8qYTGCo0Y+hXDSILOO7mnB7hudfaw+rvhyCUei4E5XsdMFV1sVrlTxNOYmqQRNJyQEfc3LkOPMg==}
123
- engines: {node: '>=24'}
124
- hasBin: true
125
-
126
- '@ai-ecoverse/slicc-clipboard@1.1.1':
127
- resolution: {integrity: sha512-MggIwJR4jDNNxN5y9bsnNkYuEeVQeUqeYaenIgDRRKWSN/yKIiCx4OujpsIkLE6iF4k1rGnD2zVg6FbS0nR1ug==}
128
- engines: {node: '>=24', slicc-kernel: '>=1.75.0'}
129
- hasBin: true
130
-
131
61
  '@ai-ecoverse/slicc-kernel@1.167.4':
132
62
  resolution: {integrity: sha512-IOIqooRxVT/IoPjQ5SLlKPfqRtyZuyoxjeVCXRiY0x4qPB1OwKZYeBMFpYh0om/5aUoizrHD2QZqLmppO/1yrw==}
133
63
  engines: {node: '>=26'}
@@ -187,83 +117,20 @@ packages:
187
117
  resolution: {integrity: sha512-9UmGRnBXtZpRSH+9+X5LUeafqURymTnP0OZuN3h3Tf4bdin6H103zYnvMjiXm9I7XKi0CcfHlDOtLeHwxDTtnQ==}
188
118
  engines: {slicc-kernel: '>=1.7.2'}
189
119
 
190
- '@ai-ecoverse/wasi-ripgrep@15.2.0-5':
191
- resolution: {integrity: sha512-QtSi35Zr2Cbb7tg2DM4CCJ1gM/KtNrcJA0YgqiVrnSQ1fuXDi5rYnv9tIXqzpqGPRaLg/JOzhG7qklmksNn4cg==}
192
- engines: {slicc-kernel: '>=1.34.1'}
193
-
194
120
  '@ai-ecoverse/wasm-bash@5.3.0-23':
195
121
  resolution: {integrity: sha512-x9YvgzzebSguzCJCDG8JSG8b+q1uWMQ3jheZwG+IyAPwXH3Eo2jVbzfHQmu67QDXR2qxjjRpxwaGDKyVUyQrEQ==}
196
122
  engines: {slicc-kernel: '>=1.130.2'}
197
123
 
198
- '@ai-ecoverse/wasm-bzip2@1.0.8-6':
199
- resolution: {integrity: sha512-AEdXJvs2D2ujNgTFHKp7MuCF2o2e1WFPvSxvgwwWqcakXiiijHlkwEOFu1jAclRbWKOwtwWAHjgvG2mupO+BKQ==}
200
-
201
124
  '@ai-ecoverse/wasm-coreutils@9.12.0-15':
202
125
  resolution: {integrity: sha512-Q+0LQ6vtym8MKvBZ/02h/FvrorXLu4SNX/IvreJ+BIX3MxZHwpzcOxP38xpUd1dLdUDx7YGNwqWmXIziw+kfsw==}
203
126
  engines: {slicc-kernel: '>=1.44.0'}
204
127
 
205
- '@ai-ecoverse/wasm-curl@8.22.0-10':
206
- resolution: {integrity: sha512-7PkpUNHfuCt3GPzB/UpmRoJtEyXA/5csXd220yWndBCB0x5dL5EU4enGtaAMpm7rQuTVWHUroiHnYdQzvZ/nlg==}
207
-
208
- '@ai-ecoverse/wasm-diffutils@3.12.0-4':
209
- resolution: {integrity: sha512-aW0FuJ47vI+PhMnxtZaHUFyQBrEMzgc7HE7cB6x+vbhB+vgaRL5mGMyjFkvDj2LYPfgmhPEr5mgS6wegARaP/w==}
210
-
211
128
  '@ai-ecoverse/wasm-findutils@4.11.0-5':
212
129
  resolution: {integrity: sha512-UNQgX1BFtHUa8HE5M7D1gSZmfl9HztvamvhrZbQENVlKcqZdCiQo/Bzi8WPhklU7+SpglSVe5PFVggLrfKQ1Tw==}
213
130
 
214
- '@ai-ecoverse/wasm-gawk@5.4.1-6':
215
- resolution: {integrity: sha512-7S6fKVNCusNoq47kQb/TkflKVYQ8fGP2D9Ykm0tGHDroZ2h2wGF13Y59+cfHv9UxWKp1FJO6qnxn5I7pBHXBiA==}
216
-
217
- '@ai-ecoverse/wasm-grep@3.12.0-8':
218
- resolution: {integrity: sha512-49mo+01fE+gPcH8SX7vs5xZ/SnqpWNcFQrsmNvmTezufdeITf+0qPmXhtSGmqzVF1CEMXIdQlOloYk2/MDzYSw==}
219
-
220
- '@ai-ecoverse/wasm-gzip@1.15.0-6':
221
- resolution: {integrity: sha512-9JDnyEE7aZL6s4iHhTNaygGbLcsUzmihL29f/Ps8rVUCd8MVnF3dksEZ02Ir/Lc/vpQeskvKxC/4YK5j4nZOGQ==}
222
-
223
- '@ai-ecoverse/wasm-jq@1.8.2-6':
224
- resolution: {integrity: sha512-zjDAtViArXdy68A9UXADP0NhIPu/qY4tusOnNCv+Cl9KK+oJN4dECrirmxhdoWOORxOpko8TxlF6+GOdb+QDbA==}
225
-
226
- '@ai-ecoverse/wasm-less@668.0.0-7':
227
- resolution: {integrity: sha512-0okQPLTmhF9PKVuzcmIaBvEhVmSC0CZuji8lXPI3+gReulNUA8qx1xB6KrtTAk74Ak6ea0d0LQ6AmPa1g9BKDw==}
228
-
229
- '@ai-ecoverse/wasm-mount@1.0.0-5':
230
- resolution: {integrity: sha512-WkowzMrTZAOPY15XxJ7LtVyyboUelvJlPFQ4HQUswmyXsIEDeOKP1wn1rv6dLp6d8Hax51+QJkOLAMWbDoSkdw==}
231
-
232
- '@ai-ecoverse/wasm-ncurses-utils@6.5.0-6':
233
- resolution: {integrity: sha512-gasKlSpf0mt1Y/JjFNAFs/iQH3ACoHv3jiowrrGaRa1WPYgK9qmNkYuPCeX8QG3ASd5F854DEO2WywiWPIeBTA==}
234
-
235
- '@ai-ecoverse/wasm-patch@2.8.0-5':
236
- resolution: {integrity: sha512-xoMrYGOwbD43O46JQaQsIQkv7hcP/oVMsDH1F3kgaAFMko0KZXUURm0xtnZVEQMy9JLPlN+dwalKZf93gx17sg==}
237
-
238
- '@ai-ecoverse/wasm-procps@4.0.7-6':
239
- resolution: {integrity: sha512-pFRV/plLnZ9bYVIHl2TIDl6bhiqJ32HJn0/UDnsik28JiCWy4sZ1fZjZvsP1l1MaxLscelovaaRzOiQf1QnFkQ==}
240
- engines: {slicc-kernel: '>=1.44.0'}
241
-
242
- '@ai-ecoverse/wasm-sed@4.10.0-6':
243
- resolution: {integrity: sha512-Gj0vkj1krEK76XvdZqfTLOL5QOdC6hEFuLSo8OYKdcq5/4pwYf45q66CimIVb8ueujpsqlqhXvPn90GmgcBA3w==}
244
-
245
- '@ai-ecoverse/wasm-tar@1.35.0-9':
246
- resolution: {integrity: sha512-dcGWf9lUS79Z38+TBnK894n1UGBgQkiefuQLHKPmi24I0wBXbzS63g/IyioMZY7Se1afmx1OOrrZkYiT9Fnilg==}
247
-
248
131
  '@ai-ecoverse/wasm-tls-engine@4.2.0-12':
249
132
  resolution: {integrity: sha512-s/BeMGFK4SmaoG3l2e7eV9H3iXH2GjHxZzMqKhPufE3WfjaTuL8BziZGCcfA/gd7VtqTldMAXErAQWwpvhG2pg==}
250
133
 
251
- '@ai-ecoverse/wasm-tree@2.3.2-7':
252
- resolution: {integrity: sha512-PUuA1uUboZ3xCfH9ZuQp0ioLe0YzC7WnuiArxwDdDXs7BllmZER/LjxmugSUpx/tbK9+PzNjN8m1YDOFrXPbYg==}
253
-
254
- '@ai-ecoverse/wasm-which@2.23.0-5':
255
- resolution: {integrity: sha512-Lrb8NitymJqzsjW7AVYoe+sOtnwX8GOD0cEsxemd3qQrU3OGz8ViuJ1si3RJbkQPvQ1Bga7pt4VJbMVvFpZn2w==}
256
-
257
- '@ai-ecoverse/wasm-xz@5.8.4-8':
258
- resolution: {integrity: sha512-AXR23vZMhWmvjFqay8O3v805XoaeFuY9QJBw0g5H1H21iy6YUUtbLutfLuBWg8CLiVg2aDQeqPOoRYr4xd/mLA==}
259
- peerDependencies:
260
- '@ai-ecoverse/wasm-bash': '*'
261
- '@ai-ecoverse/wasm-coreutils': '*'
262
- '@ai-ecoverse/wasm-diffutils': '*'
263
- '@ai-ecoverse/wasm-grep': '*'
264
- '@ai-ecoverse/wasm-less': '*'
265
- '@ai-ecoverse/wasm-sed': '*'
266
-
267
134
  '@huggingface/jinja@0.5.10':
268
135
  resolution: {integrity: sha512-SgS1D1bglQ94ceD4ZCL6eayUDy9uV1xuyk61OjgSxU5GJh7upqZCKII0JoTYMc6wWsg3JUgaPRX0ElQzXPk3Cw==}
269
136
  engines: {node: '>=18'}
@@ -381,14 +248,10 @@ snapshots:
381
248
  - utf-8-validate
382
249
  - webgpu
383
250
 
384
- '@ai-ecoverse/slicc-browsers@1.18.14': {}
251
+ '@ai-ecoverse/slicc-browsers@1.18.16': {}
385
252
 
386
253
  '@ai-ecoverse/slicc-capture@1.4.1': {}
387
254
 
388
- '@ai-ecoverse/slicc-cdp@1.42.2': {}
389
-
390
- '@ai-ecoverse/slicc-clipboard@1.1.1': {}
391
-
392
255
  '@ai-ecoverse/slicc-kernel@1.167.4': {}
393
256
 
394
257
  '@ai-ecoverse/slicc-ortllama@1.28.0':
@@ -413,57 +276,14 @@ snapshots:
413
276
 
414
277
  '@ai-ecoverse/wasi-pnpm@12.9.1-21': {}
415
278
 
416
- '@ai-ecoverse/wasi-ripgrep@15.2.0-5': {}
417
-
418
279
  '@ai-ecoverse/wasm-bash@5.3.0-23': {}
419
280
 
420
- '@ai-ecoverse/wasm-bzip2@1.0.8-6': {}
421
-
422
281
  '@ai-ecoverse/wasm-coreutils@9.12.0-15': {}
423
282
 
424
- '@ai-ecoverse/wasm-curl@8.22.0-10': {}
425
-
426
- '@ai-ecoverse/wasm-diffutils@3.12.0-4': {}
427
-
428
283
  '@ai-ecoverse/wasm-findutils@4.11.0-5': {}
429
284
 
430
- '@ai-ecoverse/wasm-gawk@5.4.1-6': {}
431
-
432
- '@ai-ecoverse/wasm-grep@3.12.0-8': {}
433
-
434
- '@ai-ecoverse/wasm-gzip@1.15.0-6': {}
435
-
436
- '@ai-ecoverse/wasm-jq@1.8.2-6': {}
437
-
438
- '@ai-ecoverse/wasm-less@668.0.0-7': {}
439
-
440
- '@ai-ecoverse/wasm-mount@1.0.0-5': {}
441
-
442
- '@ai-ecoverse/wasm-ncurses-utils@6.5.0-6': {}
443
-
444
- '@ai-ecoverse/wasm-patch@2.8.0-5': {}
445
-
446
- '@ai-ecoverse/wasm-procps@4.0.7-6': {}
447
-
448
- '@ai-ecoverse/wasm-sed@4.10.0-6': {}
449
-
450
- '@ai-ecoverse/wasm-tar@1.35.0-9': {}
451
-
452
285
  '@ai-ecoverse/wasm-tls-engine@4.2.0-12': {}
453
286
 
454
- '@ai-ecoverse/wasm-tree@2.3.2-7': {}
455
-
456
- '@ai-ecoverse/wasm-which@2.23.0-5': {}
457
-
458
- '@ai-ecoverse/wasm-xz@5.8.4-8(@ai-ecoverse/wasm-bash@5.3.0-23)(@ai-ecoverse/wasm-coreutils@9.12.0-15)(@ai-ecoverse/wasm-diffutils@3.12.0-4)(@ai-ecoverse/wasm-grep@3.12.0-8)(@ai-ecoverse/wasm-less@668.0.0-7)(@ai-ecoverse/wasm-sed@4.10.0-6)':
459
- dependencies:
460
- '@ai-ecoverse/wasm-bash': 5.3.0-23
461
- '@ai-ecoverse/wasm-coreutils': 9.12.0-15
462
- '@ai-ecoverse/wasm-diffutils': 3.12.0-4
463
- '@ai-ecoverse/wasm-grep': 3.12.0-8
464
- '@ai-ecoverse/wasm-less': 668.0.0-7
465
- '@ai-ecoverse/wasm-sed': 4.10.0-6
466
-
467
287
  '@huggingface/jinja@0.5.10':
468
288
  optional: true
469
289
 
@@ -0,0 +1,89 @@
1
+ {
2
+ "@ai-ecoverse/wasm-grep": {
3
+ "id": "grep",
4
+ "label": "grep",
5
+ "first": true
6
+ },
7
+ "@ai-ecoverse/wasm-sed": {
8
+ "id": "sed",
9
+ "label": "sed",
10
+ "first": true
11
+ },
12
+ "@ai-ecoverse/wasm-curl": {
13
+ "id": "curl",
14
+ "label": "curl",
15
+ "first": true
16
+ },
17
+ "@ai-ecoverse/wasm-tar": {
18
+ "id": "tar",
19
+ "label": "tar",
20
+ "first": true
21
+ },
22
+ "@ai-ecoverse/wasm-gzip": {
23
+ "id": "gzip",
24
+ "label": "gzip",
25
+ "first": true
26
+ },
27
+ "@ai-ecoverse/wasm-jq": {
28
+ "id": "jq",
29
+ "label": "jq",
30
+ "first": true
31
+ },
32
+ "@ai-ecoverse/wasi-ripgrep": {
33
+ "id": "rg",
34
+ "label": "ripgrep",
35
+ "first": true
36
+ },
37
+ "@ai-ecoverse/wasm-gawk": {
38
+ "id": "awk",
39
+ "label": "gawk"
40
+ },
41
+ "@ai-ecoverse/wasm-diffutils": {
42
+ "id": "diff",
43
+ "label": "diffutils"
44
+ },
45
+ "@ai-ecoverse/wasm-patch": {
46
+ "id": "patch",
47
+ "label": "patch"
48
+ },
49
+ "@ai-ecoverse/wasm-xz": {
50
+ "id": "xz",
51
+ "label": "xz"
52
+ },
53
+ "@ai-ecoverse/wasm-bzip2": {
54
+ "id": "bzip2",
55
+ "label": "bzip2"
56
+ },
57
+ "@ai-ecoverse/wasm-less": {
58
+ "id": "less",
59
+ "label": "less"
60
+ },
61
+ "@ai-ecoverse/wasm-tree": {
62
+ "id": "tree",
63
+ "label": "tree"
64
+ },
65
+ "@ai-ecoverse/wasm-which": {
66
+ "id": "which",
67
+ "label": "which"
68
+ },
69
+ "@ai-ecoverse/wasm-procps": {
70
+ "id": "procps",
71
+ "label": "procps (ps, free, pgrep)"
72
+ },
73
+ "@ai-ecoverse/wasm-ncurses-utils": {
74
+ "id": "ncurses",
75
+ "label": "ncurses utilities (tput, clear)"
76
+ },
77
+ "@ai-ecoverse/wasm-mount": {
78
+ "id": "mount",
79
+ "label": "mount"
80
+ },
81
+ "@ai-ecoverse/slicc-cdp": {
82
+ "id": "cdp",
83
+ "label": "slicc-cdp (playwright-cli, curlwright)"
84
+ },
85
+ "@ai-ecoverse/slicc-clipboard": {
86
+ "id": "clipboard",
87
+ "label": "slicc-clipboard (pbcopy, xclip)"
88
+ }
89
+ }