@ai-ecoverse/slicc-bios 1.48.4 → 1.50.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 +29 -5
- package/package.json +4 -3
- package/src/packages/optional/sources.json +4 -0
- package/src/packages/package-lock.json +1 -172
- package/src/packages/package.json +1 -21
- package/src/packages/pnpm-lock.yaml +0 -180
- package/src/packages/tools.json +89 -0
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-
|
|
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
|
|
|
@@ -339,7 +363,7 @@ Programs ask seven's page for what only a page can do through the kernel's `/dev
|
|
|
339
363
|
- **Gestures:** a request from a terminal tag (`{ kind: 'user', where: 'terminal:…' }`) in a tab that has just had a keystroke or click (`navigator.userActivation.isActive`) goes ahead at once. Any other request, the agent's always, waits for seven's own prompt: Cancel, or 60 s without an answer, refuses it with `EACCES`, and a signal or closed request withdraws the prompt. A session (its uid and tags) has at most one prompt up: another request from it meanwhile is refused with `EACCES`, `another request is waiting for you`. After a Cancel or a timeout the session rests for 10 s: its requests are refused with the dismissed text and no prompt, unless they come typed in an active tab. Withdrawing or timing out the prompt gives focus back to what had it.
|
|
340
364
|
- **`open.url`** (`{"kind":"open.url","url":"…"}`, an empty reply) opens the URL in a new tab with `noopener,noreferrer`; `background` is ignored. Refusals, all `EACCES`, with this first line: `that isn't a URL`; `seven opens only http and https URLs` (`javascript:`, `data:`, `blob:`, `file:` and the rest); `seven doesn't open its own pages or the vault for a program` (the guard's protected origins: seven's own origin, `*.sliccy.ai` and the vault); `the request to open the page was dismissed`; `nobody answered the request to open the page within 60 s`. For example: `printf '{"kind":"open.url","url":"%s"}\n' "$url" | cat > /dev/embedder`.
|
|
341
365
|
- **Tool modules** (capture, audio) export the kernel's hook object `{ kinds, handle }`. `plugged(hook, prompts, extra)` wraps one: only kinds seven lists and gives a prompt for reach it, and its `handle` runs only after seven's gesture check, with the request plus seven's `extra`. A module is a pinned, gated dependency in the base set, since it runs as seven.
|
|
342
|
-
- **`capture.screen`** (`screencapture`, `@ai-ecoverse/slicc-capture/page`): the same gesture check as `open.url`, with the prompt "Capture the screen?". The prompt's action is Choose, and Chrome's picker comes next. The module captures only through seven's `request.display(constraints)`, which calls `getDisplayMedia` with `audio: false
|
|
366
|
+
- **`capture.screen`** (`screencapture`, `@ai-ecoverse/slicc-capture/page`): the same gesture check as `open.url`, with the prompt "Capture the screen?". The prompt's action is Choose, and Chrome's picker comes next. The module captures only through seven's `request.display(constraints)`, which calls `getDisplayMedia` with `audio: false` unless a video request has `system: true` (`-A`), when it asks for `audio: true` and the prompt names "your screen and its sound"; Chrome's picker still lets the user decide whether to share sound. `selfBrowserSurface: 'exclude'`, `surfaceSwitching: 'exclude'` and `preferCurrentTab: false` always apply. A video request with `microphone: true` (`-g`) or a device ID (`-G`) also names the microphone in the same prompt, with "for up to N seconds" when `duration` is positive. It follows the same rule as `audio.record`: a command typed in an active tab can proceed, but the agent is always asked. Cancel opens neither device. Only after that check does seven supply a guarded `request.userMedia` for the default or exact named microphone, with no camera request. When the picked surface's capture handle is seven's or the vault's (`slicc-vault`; every seven page sets `setCaptureHandleConfig({ handle: 'slicc-seven', exposeOrigin: true })` for its own origin, first thing at boot), or its origin is protected, seven stops every track and refuses with `EACCES`, `seven doesn't capture its own pages or the vault`. For a tab, seven waits up to 1 s for a handle that arrives after the capture starts. A tab whose handle is still missing, or any surface Chrome doesn't name as a window or a screen, is refused too (`seven can't tell this tab isn't its own or the vault's (it sets no capture handle), so it doesn't capture it; share a window or the screen`): Chrome hides handles in off-the-record profiles, and an older vault sets none, so a missing handle can't prove the tab is safe. That costs every ordinary tab that sets no capture handle, which is most of them; share a window or the screen to capture one. A captured tab that navigates to a page without a handle is stopped the same way. Seven watches for handle changes from the moment the capture starts, so a change during that wait isn't lost. The same holds while the capture is live: when the captured tab's handle changes to seven's, a protected one or none (`capturehandlechange`), seven stops every track, ends the module's capture and refuses, even if a frame was already taken. A cross-origin navigation clears the handle first, so a tab that navigates to seven is usually refused with the missing-handle text. A window or a whole screen that shows seven, and a protected page that sets no capture handle, are the user's choice in the picker. The vault's top-level pages set `slicc-vault` for seven's production origins (slicc-vault ≥ 1.17.0), so they're refused too. A local seven gets no handle from vault-preview. A page that paints before it sets its capture handle can land in a frame taken in that moment, before seven sees the handle. The dismissed texts are `the request to capture the screen was dismissed` and `nobody answered the request to capture the screen within 60 s`.
|
|
343
367
|
- **`clipboard.write`** (`{"kind":"clipboard.write","type":"image/png"}`, the bytes as the body, an empty reply; `screencapture -c`): `src/seed/clipboard.js` writes one `ClipboardItem` of `image/png`, `text/plain` or `text/html`, with `/dev/clipboard`'s focus rule and refusal text. Other types are `ENOTSUP`. The body is read up to 16 MB; beyond that seven cancels the rest and fails with `EIO`, `seven copies at most 16 MB to the clipboard`.
|
|
344
368
|
- **Audio** (`afplay`, `chime`, `say`, `hear`, `@ai-ecoverse/slicc-audio/page`; kinds `audio.play`, `audio.say`, `audio.voices`, `audio.record`, `audio.transcribe`):
|
|
345
369
|
- **Sound and speech:** `audio.play` ("Play a sound?") and `audio.say` ("Speak aloud?") get the same gesture check as `open.url`.
|
|
@@ -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-
|
|
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.
|
|
3
|
+
"version": "1.50.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",
|
|
@@ -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.
|
|
52
|
+
"@ai-ecoverse/slicc": "1.49.27",
|
|
52
53
|
"@ai-ecoverse/slicc-browsers": "1.18.14",
|
|
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.
|
|
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
|
}
|
|
@@ -9,34 +9,14 @@
|
|
|
9
9
|
"@ai-ecoverse/slicc-audio": "1.1.6",
|
|
10
10
|
"@ai-ecoverse/slicc-browsers": "1.18.14",
|
|
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-
|
|
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": {
|
|
@@ -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",
|
|
@@ -6,33 +6,13 @@
|
|
|
6
6
|
"@ai-ecoverse/slicc-audio": "1.1.6",
|
|
7
7
|
"@ai-ecoverse/slicc-browsers": "1.18.14",
|
|
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-
|
|
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
|
}
|
|
@@ -17,12 +17,6 @@ importers:
|
|
|
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
|
|
|
@@ -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'}
|
|
@@ -385,10 +252,6 @@ snapshots:
|
|
|
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
|
+
}
|