@ai-ecoverse/slicc-bios 1.11.2 → 1.12.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 +5 -3
- package/package.json +2 -2
- package/src/packages/agent/package.json +1 -1
- package/src/packages/agent/pnpm-lock.yaml +35 -34
- package/src/packages/certs.json +4 -0
- package/src/packages/package-lock.json +11 -8
- package/src/packages/package.json +2 -2
- package/src/packages/pnpm-lock.yaml +11 -10
package/README.md
CHANGED
|
@@ -81,8 +81,10 @@ The kernel runs with users on (slicc-kernel ≥ 1.81.0): files have owners and m
|
|
|
81
81
|
- **Under `'report'`** nothing is protected, since protection has no report mode of its own. Installs already run as tagged writers from `/opt/slicc/base` with the clean config, and bios watches the six trees through the kernel (`fs.watch`, recursive). Each change made through the page's kernel outside bios's own installs goes to `denials.log` as `op: 'protect'`, `errno: 'EROFS'`: a write that `'enforce'` would refuse. The watch doesn't say which process wrote, so these lines have no user and no tag. Changes made outside the page's kernel (bios's install kernels, the page itself) aren't seen.
|
|
82
82
|
- **Global packages** (`pnpm add -g` into `/usr/local/share/pnpm`) aren't protected and run untagged.
|
|
83
83
|
- **A remembered mount** (`slicc-os.mounts`) at, under or above a protected path is dropped at boot under `'enforce'`, with a notice, *A remembered folder wasn’t mounted*.
|
|
84
|
-
- **Sudo approvals
|
|
84
|
+
- **Sudo approvals through the agent** (slicc-agent ≥ 5.9.0): while the agent runs, the kernel's `approve` hook hands each request to the agent's `owner.approve(req, { signal, where })`. It becomes a `sudo` item in the agent's approvals, which every owner device answers with the same powers: this tab, other tabs, and linked followers with or without Control, *Always allow* included where bios offered it. bios sets `req.always` from the checks below, and turns an *Always* it didn't offer into *Allow once*. A request from a follower's shell names that device (`where`, "on <device>"), and each linked device's agent port is opened with `owner.port({ device })`, so the item records which device answered. The tab hands its own approvals port to `createAgentModel(connection, { approvals })`, so `model.approvals` lists both sets. When the agent can't take a request (it rejects with `EAGAIN`: released, restarting or an older worker) or isn't running, bios's own dialog below asks instead.
|
|
85
|
+
- **Sudo approvals in bios's dialog:** the kernel's `approve` hook feeds `model.approvals`, spectrum's sudo dialog. It shows the resolved path and arguments, shell-quoted, the directory, the requester mapped from the tag, the target and *Always allow*. Every tab shows the request (`BroadcastChannel('slicc-approvals')`), and the first decision wins; the other tabs see *Answered in another tab*. *Always allow* is offered only for a command bios trusts to run the same way every time: the kernel's resolved path, whose real path and every directory above it are root's and not group- or other-writable (checked by a root `stat` when the request comes), that isn't a shell, interpreter or wrapper (`bash`, `python*`, `node`, `env`, `xargs`, `sudo`, `timeout`, `find -exec` and the like), doesn't write named files (`tee`, `cp`, `mv`, `chmod`, `dd`, `sed -i`, `tar -x`, `git`, `pnpm` and the like), whose operands are all absolute, inside none of `/tmp`, `/var/tmp`, `/home`, `/mnt`, `/scoops` and `/dev/shm`, and not user-writable (a file that isn't root's or is group- or other-writable, a directory above that is, or a missing path whose parent is), with no shell metacharacter in any argument, and which may not change the secret rules. Everything else gets *Allow once* only. A request that may change the secret rules never offers *Always allow* either. bios decides that at least as broadly as spectrum's dialog: it runs the dialog's own classifier (spectrum's exported `secretRules`; without it every command counts as one that may change them), its own path check (`/etc/fnox`, `/etc/slicc/secrets-policy.toml`, and for a command that isn't read-only `/`, `/etc`, `/etc/slicc`, a name with `fnox` or `secrets-policy`, a glob or `..`), and treats any `$`, backtick, quote or backslash in an argument, and any quoting or `cd` inside a `-c` script, as a possible change. For such a request bios sends `always: false`, and answers an `always` for it, from any tab, as `once`, so no `NOPASSWD` line is written for it.
|
|
85
86
|
- **Denials:** denials under `'report'` and `'enforce'` go to `/var/log/slicc/denials.log`, one JSON line per distinct `(uid, tag, op, path, errno)` with its `count`, `first` and last `time`, plus `user`, `tag` (the process's tag, `null` for an untagged one) and `mode`. They're written within a quarter of a second, at every 100 distinct denials, and when the page is hidden (`visibilitychange`). When the page goes away (`pagehide`), the ones not yet written are kept in `localStorage` (`slicc.denials.spool.*`), and the next page writes them once its kernel is up. The log rotates to `denials.log.1` at 1 MiB. `slicc-denials` (in `/usr/local/bin`) sums up the log and its `.1`: the total and time span, then counts by tag kind (`agent`, `user`, `untagged`), op, errno and path prefix; `--json` prints the same as one object.
|
|
87
|
+
- **Schedules** (slicc-agent ≥ 5.9.0, slicc-kernel ≥ 1.110.0): each user's kernel crontab (`/var/spool/cron/crontabs/<user>`, `crontab -l`) holds them, and the kernel runs a due job as its user. A job that runs `agent send <target> '<message>'` comes back as a cron lick. The agent moves an older agent's `~/.slicc/crontab` lines into the file owner's crontab (as `# name: <name>` and `<schedule> agent send …`) and keeps the file as `~/.slicc/crontab.migrated`.
|
|
86
88
|
- **Not a boundary:** the kernel's loopback (`<port>.kernel.localhost`) isn't one between users (N2). A server any user starts is reachable by every process and by seven's pages.
|
|
87
89
|
|
|
88
90
|
### Folder mounts
|
|
@@ -371,7 +373,7 @@ seven can also join a tailnet, with a patched build of Tailscale's wasm client (
|
|
|
371
373
|
- **Identity:** one persistent DTLS certificate per hub origin (`RTCPeerConnection.generateCertificate`, ECDSA P-256 for a year, in the IndexedDB database `slicc-follow`), so the device and its access survive reloads. Unlinking deletes it.
|
|
372
374
|
- **The link:** the follower answers as the link's node: its HELLO says `role: 'node'`, `kind: 'seven'`, caps `join` and `permissions`, and its tab as `node`, and it opens even stream ids. The owner treats a link as a follower because the hub said `slicc-seven/1`, and closes it if HELLO disagrees. A follower gets no `.slicc.internal` name, no exit, and none of the CLI kinds: the owner refuses `kernel`, `agent` and `browsers` from it with `EOPNOTSUPP`.
|
|
373
375
|
- **View, Control and Terminal:** each follower certificate has three switches in Linked devices, off by default and kept with the device in `slicc-os.devices` (`setAccess` on the network port). Control and Terminal need View, so turning either on turns View on, and turning View off clears both. Without View a follower links but gets nothing: it shows as **Asks to follow**, with Allow, and its page says it waits for the owner. The owner's HELLO carries the current switches, and every change goes to the follower as `OPEN { kind: 'permissions', view, control, terminal }` on the control channel. Losing View resets the follower's open streams with `EACCES`, and so does losing Terminal for its terminals. For a CLI, the old **Allow remote control** is the same Control switch.
|
|
374
|
-
- **Chat (`pi`):** with View, the follower opens `OPEN { kind: 'pi' }` and gets the owner's agent, the same replicated chat a follower tab has. The owner bridges the stream to `owner.port({ readOnly, pages: false })` with slicc-agent's `bridgePort` (agent ≥ 3.32.0), read-only unless the device has Control, and without `pages`, so a follower's agent can't drive the owner's panels. The follower builds its `AgentConnection` with `linkEndpoint` and `connectAgent`, and spectrum's agent model on top. The stream carries slicc-agent's frames: a `u32` length, a `u8` tag (data, hello or close) and the payload. Without Control, a send, steer or stop is refused by the owner's agent with `EACCES`, and the chat shows that it watches only. Changing Control resets the stream, so the follower reconnects with the new access, and losing View resets it with `EACCES`. The follower installs `/opt/agent` itself, for `page.js` and the agent model, in a kernel it starts only for that install. Linked devices shows *Watching* while a follower's chat is open.
|
|
376
|
+
- **Chat (`pi`):** with View, the follower opens `OPEN { kind: 'pi' }` and gets the owner's agent, the same replicated chat a follower tab has. The owner bridges the stream to `owner.port({ readOnly, pages: false, device })` with slicc-agent's `bridgePort` (agent ≥ 3.32.0; `device`, the link's id, from 5.9.0), read-only unless the device has Control, and without `pages`, so a follower's agent can't drive the owner's panels. The follower builds its `AgentConnection` with `linkEndpoint` and `connectAgent`, and spectrum's agent model on top. The stream carries slicc-agent's frames: a `u32` length, a `u8` tag (data, hello or close) and the payload. Without Control, a send, steer or stop is refused by the owner's agent with `EACCES`, and the chat shows that it watches only. Changing Control resets the stream, so the follower reconnects with the new access, and losing View resets it with `EACCES`. The follower installs `/opt/agent` itself, for `page.js` and the agent model, in a kernel it starts only for that install. Linked devices shows *Watching* while a follower's chat is open. A failed connection is tried again after 2 s, except when the owner runs another agent version: `connectAgent` then rejects with `EVERSION` (slicc-agent ≥ 5.5.2), and the follower shows the agent's sentence as bios's own warning (`follow:other-agent-version`, not dismissable) and makes no further attempt in that follow session.
|
|
375
377
|
- **Terminals (`terminal`):** with View and Terminal, the follower's Terminal panel opens shells in the owner's kernel. Each one is `OPEN { kind: 'terminal', cols, rows, cwd? }`, and the owner runs `bash -i` there with its own terminals' prompt, as the same user its own terminals use (root today, so Terminal is a root shell on the owner's SLICC), and answers OPENED `{ pid }`. Both directions then carry records, each a `u32` length, a `u8` type and a payload: `0` terminal bytes, `1` a resize as `{ cols, rows }` JSON, `2` a signal name (`INT`, `TSTP`, `QUIT`, `HUP`), and, from the owner only, `3` the shell's exit status as a decimal string, just before END. A bad record or size resets the stream with `EPROTO` or `EINVAL`. The follower's END closes the shell, and the owner ends the stream when the shell exits. Linked devices shows *Terminal open* while one runs (`terminals`), and turning Terminal or View off resets every open shell with `EACCES`.
|
|
376
378
|
- **Names:** both sides call themselves `SLICC on <platform>` (`navigator.userAgentData.platform`). When two show the same name, the first four hex digits of the certificate fingerprint are added.
|
|
377
379
|
- **Sevens this kernel follows (the in-kernel `slicc`):** the optional `slicc` package (`@ai-ecoverse/wasi-slicc`, slicc-cli's client commands built for `wasip1`) runs `slicc <join-url> prompt|watch|abort` in seven's terminal against another seven's agent, as slicc-cli's README specifies in §1.4 and §5.16. The program never touches WebRTC, the hub or the join state: it reaches the page's **link facade** at `SLICC_LINK_URL` (`tcp://127.0.0.1:7400`), which `os/os.js` declares with `createKernel({ facades: { link: { port: 7400, hook } } })` (`os/facade.js`, slicc-kernel ≥ 1.90.0), and the page follows that seven's tray for it (`os/leaders.js`).
|
|
@@ -471,7 +473,7 @@ Limits:
|
|
|
471
473
|
|
|
472
474
|
[`.github/workflows/canary.yml`](.github/workflows/canary.yml) answers "is bios main green with these candidate versions?" before anyone asks for a pin. It never pushes, pins or opens a PR: it reports.
|
|
473
475
|
|
|
474
|
-
- **Triggers:** `workflow_dispatch` and `workflow_call` with `overrides`, a JSON list of `name@version` (`["@ai-ecoverse/slicc-kernel@1.81.0"]`), and optionally `runner`, `shards` (names from [`scripts/canary/shards.json`](scripts/canary/shards.json); ci.yml's `follow-chat`, `remote-pydata`, `users-agent-ui`, `packages-update-cdp`, `guard`, `k4-link` and `rest` by default, or `sweep` for just the base-set sweep and the certs check), `expect` and `bios-ref` (any branch or sha of slicc-bios: the shard jobs check it out and lay this ref's `scripts/canary`, and `sweep.test.mjs` if it has none, over it; a ref whose `pins.test.mjs` has no canary mode gets the candidates in its working copy of `certs.json` instead, and the report still lists them as candidates). A proof in `proofs.json` can name its own `ref` the same way. An hourly `schedule` checks npm's `latest` of every kernel, jsh, cdp, agent, `wasm-*`, `wasi-*`, `wasix-*` and `py-*` package that a `src/packages/**/package.json` pins, and runs once with every newer one as the overrides, only when that list differs from the last scheduled canary's (its inputs are kept in the Actions cache). A `pull_request` trigger, filtered to the canary's own files, runs the proof in [`scripts/canary/proofs.json`](scripts/canary/proofs.json) from one plan job, cancelling a superseded run: kernel 1.78.0 on the `sweep` shard must regress grep, sed, jq, xz, findutils, diffutils and patch with exit 70 (kernel #483). A second proof packs `@ai-ecoverse/slicc-cdp@1.26.2` with `npm pack`, uploads it from the plan job, and runs it as a candidate artifact on `packages-update-cdp` and `guard` with `repeat: 3`.
|
|
476
|
+
- **Triggers:** `workflow_dispatch` and `workflow_call` with `overrides`, a JSON list of `name@version` (`["@ai-ecoverse/slicc-kernel@1.81.0"]`), and optionally `runner`, `shards` (names from [`scripts/canary/shards.json`](scripts/canary/shards.json); ci.yml's `follow-chat`, `remote-pydata`, `users-agent-ui`, `packages-update-cdp`, `guard`, `guard-set-extension-prompt`, `guard-set-extension-lagging`, `guard-set-proxy-prompt`, `guard-set-proxy-lagging`, `k4-link`, `user-packages-keys-favicon` and `rest` by default; a shard's `env` in that file, such as `GUARD_VARIANTS`, is set for its tests, or `sweep` for just the base-set sweep and the certs check), `expect` and `bios-ref` (any branch or sha of slicc-bios: the shard jobs check it out and lay this ref's `scripts/canary`, and `sweep.test.mjs` if it has none, over it; a ref whose `pins.test.mjs` has no canary mode gets the candidates in its working copy of `certs.json` instead, and the report still lists them as candidates). A proof in `proofs.json` can name its own `ref` the same way. An hourly `schedule` checks npm's `latest` of every kernel, jsh, cdp, agent, `wasm-*`, `wasi-*`, `wasix-*` and `py-*` package that a `src/packages/**/package.json` pins, and runs once with every newer one as the overrides, only when that list differs from the last scheduled canary's (its inputs are kept in the Actions cache). A `pull_request` trigger, filtered to the canary's own files, runs the proof in [`scripts/canary/proofs.json`](scripts/canary/proofs.json) from one plan job, cancelling a superseded run: kernel 1.78.0 on the `sweep` shard must regress grep, sed, jq, xz, findutils, diffutils and patch with exit 70 (kernel #483). A second proof packs `@ai-ecoverse/slicc-cdp@1.26.2` with `npm pack`, uploads it from the plan job, and runs it as a candidate artifact on `packages-update-cdp` and `guard` with `repeat: 3`.
|
|
475
477
|
- **A candidate from another repo's run:** `candidate-package` (the package it replaces, `@ai-ecoverse/slicc-cdp`), `candidate-artifact` (an artifact holding one `npm pack` tarball of it), `candidate-run` (the run that uploaded it), `candidate-sha256` and optionally `candidate-repo` (the caller's repository by default). Each shard job downloads the artifact with `github.token`, which under `workflow_call` is the caller's, so the caller's job needs `actions: read`. [`override-pins.mjs`](scripts/canary/override-pins.mjs) checks the tarball's sha256 before it reads anything and refuses a mismatch, then checks the tarball is that package with an exact version. It seeds the harness download cache with the bytes at the npm URL of that version, and rewrites the pins and locks through a local registry that serves npm's packuments with that version added, so an unpublished `x.y.z-pr.N.M` locks like a published one (npm's lock gets the registry URL back). Everything else stays a registry version. The report lists it as `candidate (artifact <run>/<name>, sha256 …)`.
|
|
476
478
|
- **`repeat`** (1 to 10, default 1): each selected test file runs that many times with the candidates, and the files with a failure run that many times on main's pins. A test failing in every candidate run and no baseline run is a regression, one failing in every run of both is a failure on both, and anything mixed is flaky. Each row carries its counts, `candidate 2/3, baseline 0/3`.
|
|
477
479
|
- **`result`**, a `workflow_call` output next to `ok`: the JSON summary (`ok`, `counts`, `regressions`, `both`, `flaky`, `failures`, `missingShards`, `unexplainedExits`, `candidates`, `overrides`, `repeat`) plus the `canary` artifact's name and URL.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-ecoverse/slicc-bios",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.12.0",
|
|
4
4
|
"description": "Slim loader that boots SLICC into OPFS and serves the UI from there",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"@ai-ecoverse/slicc-browsers": "1.7.6",
|
|
47
47
|
"@ai-ecoverse/slicc-node": "2.5.1",
|
|
48
48
|
"@ai-ecoverse/slicc-shared-web": "1.23.1",
|
|
49
|
-
"@ai-ecoverse/slicc-spectrum": "1.
|
|
49
|
+
"@ai-ecoverse/slicc-spectrum": "1.84.2",
|
|
50
50
|
"@ai-ecoverse/slicc-vault": "1.9.2",
|
|
51
51
|
"@biomejs/biome": "2.5.15",
|
|
52
52
|
"es-module-lexer": "3.0.3",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"private": true,
|
|
4
4
|
"description": "SLICC's agent, which the UI installs with pnpm in the background into /opt/agent in OPFS",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@ai-ecoverse/slicc-agent": "
|
|
6
|
+
"@ai-ecoverse/slicc-agent": "6.0.1",
|
|
7
7
|
"@ai-ecoverse/slicc-kernel": "1.113.0"
|
|
8
8
|
}
|
|
9
9
|
}
|
|
@@ -12,26 +12,26 @@ importers:
|
|
|
12
12
|
.:
|
|
13
13
|
dependencies:
|
|
14
14
|
'@ai-ecoverse/slicc-agent':
|
|
15
|
-
specifier:
|
|
16
|
-
version:
|
|
15
|
+
specifier: 6.0.1
|
|
16
|
+
version: 6.0.1(@ai-ecoverse/slicc-kernel@1.113.0)(@aws-sdk/credential-provider-node@3.972.84)(@smithy/signature-v4@5.7.4)(ws@8.22.0)
|
|
17
17
|
'@ai-ecoverse/slicc-kernel':
|
|
18
18
|
specifier: 1.113.0
|
|
19
19
|
version: 1.113.0
|
|
20
20
|
|
|
21
21
|
packages:
|
|
22
22
|
|
|
23
|
-
'@ai-ecoverse/slicc-agent@
|
|
24
|
-
resolution: {integrity: sha512-
|
|
23
|
+
'@ai-ecoverse/slicc-agent@6.0.1':
|
|
24
|
+
resolution: {integrity: sha512-CB2rbanCVqwE8gdgrTJQ/iIvt5nHBvav9BIITQKuAT92YnRhgrqYYJVgXazoC1zwGn10qc1rlWitrHdA2ajGsQ==}
|
|
25
25
|
engines: {node: '>=24'}
|
|
26
26
|
peerDependencies:
|
|
27
|
-
'@ai-ecoverse/slicc-kernel': '>=1.
|
|
28
|
-
'@ai-ecoverse/slicc-spectrum': ^1.
|
|
27
|
+
'@ai-ecoverse/slicc-kernel': '>=1.110.0 <2'
|
|
28
|
+
'@ai-ecoverse/slicc-spectrum': ^1.84.0
|
|
29
29
|
peerDependenciesMeta:
|
|
30
30
|
'@ai-ecoverse/slicc-spectrum':
|
|
31
31
|
optional: true
|
|
32
32
|
|
|
33
|
-
'@ai-ecoverse/slicc-browsers@1.7.
|
|
34
|
-
resolution: {integrity: sha512-
|
|
33
|
+
'@ai-ecoverse/slicc-browsers@1.7.6':
|
|
34
|
+
resolution: {integrity: sha512-clzlvrVLjmWEiKXhuK/Lez7y3Dwmo+FJ8POUs5GYqLJy5u8cOAiXyliQlNUNOVkNx9EoPm0RVvdfFkSTgv/isg==}
|
|
35
35
|
engines: {node: '>=24'}
|
|
36
36
|
|
|
37
37
|
'@ai-ecoverse/slicc-kernel@1.113.0':
|
|
@@ -135,25 +135,25 @@ packages:
|
|
|
135
135
|
resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==}
|
|
136
136
|
engines: {node: '>=6.9.0'}
|
|
137
137
|
|
|
138
|
-
'@earendil-works/chord@1.
|
|
139
|
-
resolution: {integrity: sha512-
|
|
138
|
+
'@earendil-works/chord@1.3.0':
|
|
139
|
+
resolution: {integrity: sha512-qqYhjALZ193atpBzmmS+M5pHQoiI4Aynetc1jXpv+5O2crXH3Y8wbFEy33orU2nmFrlw1U36rsdgUjaW4b3m/w==}
|
|
140
140
|
engines: {node: '>=22.19.0'}
|
|
141
141
|
|
|
142
|
-
'@earendil-works/pi-ai@1.
|
|
143
|
-
resolution: {integrity: sha512-
|
|
142
|
+
'@earendil-works/pi-ai@1.3.0':
|
|
143
|
+
resolution: {integrity: sha512-KaBI8x7q7sPoFUXICNGD9efHzDG+oRNwVvkA9jdIsSQWH1RjFssOlEGsbLtewUPPgCrvmz0l2KTgSLXTyj3acw==}
|
|
144
144
|
engines: {node: '>=22.19.0'}
|
|
145
145
|
hasBin: true
|
|
146
146
|
|
|
147
|
-
'@earendil-works/pi-codemode@1.
|
|
148
|
-
resolution: {integrity: sha512-
|
|
147
|
+
'@earendil-works/pi-codemode@1.3.0':
|
|
148
|
+
resolution: {integrity: sha512-2G9tmbsPhgzwfz7cmzJpbLSLqOx3eu22Gbzm+Wc3HqeZMjLQS4F3KfAabozVhv7uEjq3k2O1dZTHmhhWr2xbfQ==}
|
|
149
149
|
engines: {node: '>=22.19.0'}
|
|
150
150
|
|
|
151
|
-
'@earendil-works/pi-durable@1.
|
|
152
|
-
resolution: {integrity: sha512-
|
|
151
|
+
'@earendil-works/pi-durable@1.3.0':
|
|
152
|
+
resolution: {integrity: sha512-2aD0xead1LH0BBwUBxex28in/PpUJEwyaEiW/nLoTFUcZ/lDYEl6LHX6mGZKJG8tUHzERwJyysDgy0ruidt84w==}
|
|
153
153
|
engines: {node: '>=22.19.0'}
|
|
154
154
|
|
|
155
|
-
'@earendil-works/pi-mcp@1.
|
|
156
|
-
resolution: {integrity: sha512-
|
|
155
|
+
'@earendil-works/pi-mcp@1.3.0':
|
|
156
|
+
resolution: {integrity: sha512-lbktLplmdGamM2t460Q0ziNEfpUEHDTVNf79g/AialJ3XZ+SHgNqa/OJXRR+fU+GV/l+gBhRPcyP8XkQlv8Avw==}
|
|
157
157
|
engines: {node: '>=22.19.0'}
|
|
158
158
|
|
|
159
159
|
'@earendil-works/pi-telemetry@1.3.0':
|
|
@@ -324,16 +324,17 @@ packages:
|
|
|
324
324
|
|
|
325
325
|
snapshots:
|
|
326
326
|
|
|
327
|
-
'@ai-ecoverse/slicc-agent@
|
|
327
|
+
'@ai-ecoverse/slicc-agent@6.0.1(@ai-ecoverse/slicc-kernel@1.113.0)(@aws-sdk/credential-provider-node@3.972.84)(@smithy/signature-v4@5.7.4)(ws@8.22.0)':
|
|
328
328
|
dependencies:
|
|
329
|
-
'@ai-ecoverse/slicc-browsers': 1.7.
|
|
329
|
+
'@ai-ecoverse/slicc-browsers': 1.7.6
|
|
330
330
|
'@ai-ecoverse/slicc-kernel': 1.113.0
|
|
331
331
|
'@ai-ecoverse/slicc-vault': 1.9.1
|
|
332
|
-
'@
|
|
333
|
-
'@earendil-works/
|
|
334
|
-
'@earendil-works/pi-
|
|
335
|
-
'@earendil-works/pi-
|
|
336
|
-
'@earendil-works/pi-
|
|
332
|
+
'@aws-sdk/middleware-websocket': 3.972.54
|
|
333
|
+
'@earendil-works/chord': 1.3.0
|
|
334
|
+
'@earendil-works/pi-ai': 1.3.0(@aws-sdk/credential-provider-node@3.972.84)(@smithy/signature-v4@5.7.4)(ws@8.22.0)
|
|
335
|
+
'@earendil-works/pi-codemode': 1.3.0
|
|
336
|
+
'@earendil-works/pi-durable': 1.3.0(@aws-sdk/credential-provider-node@3.972.84)(@smithy/signature-v4@5.7.4)(ws@8.22.0)
|
|
337
|
+
'@earendil-works/pi-mcp': 1.3.0
|
|
337
338
|
'@sqlite.org/sqlite-wasm': 3.53.4-build2
|
|
338
339
|
typebox: 1.3.36
|
|
339
340
|
transitivePeerDependencies:
|
|
@@ -346,7 +347,7 @@ snapshots:
|
|
|
346
347
|
- ws
|
|
347
348
|
- zod
|
|
348
349
|
|
|
349
|
-
'@ai-ecoverse/slicc-browsers@1.7.
|
|
350
|
+
'@ai-ecoverse/slicc-browsers@1.7.6': {}
|
|
350
351
|
|
|
351
352
|
'@ai-ecoverse/slicc-kernel@1.113.0': {}
|
|
352
353
|
|
|
@@ -541,11 +542,11 @@ snapshots:
|
|
|
541
542
|
|
|
542
543
|
'@babel/runtime@7.29.7': {}
|
|
543
544
|
|
|
544
|
-
'@earendil-works/chord@1.
|
|
545
|
+
'@earendil-works/chord@1.3.0':
|
|
545
546
|
dependencies:
|
|
546
547
|
typebox: 1.3.27
|
|
547
548
|
|
|
548
|
-
'@earendil-works/pi-ai@1.
|
|
549
|
+
'@earendil-works/pi-ai@1.3.0(@aws-sdk/credential-provider-node@3.972.84)(@smithy/signature-v4@5.7.4)(ws@8.22.0)':
|
|
549
550
|
dependencies:
|
|
550
551
|
'@anthropic-ai/sdk': 0.129.0
|
|
551
552
|
'@aws-sdk/client-bedrock-runtime': 3.1127.0
|
|
@@ -566,15 +567,15 @@ snapshots:
|
|
|
566
567
|
- ws
|
|
567
568
|
- zod
|
|
568
569
|
|
|
569
|
-
'@earendil-works/pi-codemode@1.
|
|
570
|
+
'@earendil-works/pi-codemode@1.3.0':
|
|
570
571
|
dependencies:
|
|
571
572
|
quickjs-wasi: 3.6.2
|
|
572
573
|
|
|
573
|
-
'@earendil-works/pi-durable@1.
|
|
574
|
+
'@earendil-works/pi-durable@1.3.0(@aws-sdk/credential-provider-node@3.972.84)(@smithy/signature-v4@5.7.4)(ws@8.22.0)':
|
|
574
575
|
dependencies:
|
|
575
|
-
'@earendil-works/chord': 1.
|
|
576
|
-
'@earendil-works/pi-ai': 1.
|
|
577
|
-
'@earendil-works/pi-codemode': 1.
|
|
576
|
+
'@earendil-works/chord': 1.3.0
|
|
577
|
+
'@earendil-works/pi-ai': 1.3.0(@aws-sdk/credential-provider-node@3.972.84)(@smithy/signature-v4@5.7.4)(ws@8.22.0)
|
|
578
|
+
'@earendil-works/pi-codemode': 1.3.0
|
|
578
579
|
'@silvia-odwyer/photon': 0.3.3
|
|
579
580
|
diff: 8.0.4
|
|
580
581
|
typebox: 1.3.27
|
|
@@ -588,7 +589,7 @@ snapshots:
|
|
|
588
589
|
- ws
|
|
589
590
|
- zod
|
|
590
591
|
|
|
591
|
-
'@earendil-works/pi-mcp@1.
|
|
592
|
+
'@earendil-works/pi-mcp@1.3.0':
|
|
592
593
|
dependencies:
|
|
593
594
|
cross-spawn: 7.0.6
|
|
594
595
|
|
package/src/packages/certs.json
CHANGED
|
@@ -87,6 +87,10 @@
|
|
|
87
87
|
"integrity": "sha512-gBj/wHcDmRC0e4oSdgThodGLoCQWk3crEfAv/sOg1mH3MnBdEzUjIWArnvnH8m8dovz+MB2KC5Z20jXzJIcaZw==",
|
|
88
88
|
"sha256": "713fba137c1a682039bca80268ce4e4005f29c4a0e1f1a537f51b4e22347821e"
|
|
89
89
|
},
|
|
90
|
+
"@ai-ecoverse/slicc-cdp@1.26.2": {
|
|
91
|
+
"integrity": "sha512-YSmqvEOQMcwu3aQrPZ4W1XpHl+O7Sm4QE7MOtG4wnfjx8go2XakagTHrPiPE199GQ2QuQAJE+dluRNZn3bB4cg==",
|
|
92
|
+
"sha256": "67fa941ce0afe790b60ade22c0014658fb5d0ef993e35437c43144361f3f82b3"
|
|
93
|
+
},
|
|
90
94
|
"@ai-ecoverse/slicc-clipboard@1.0.2": {
|
|
91
95
|
"integrity": "sha512-p7b1h85qkiU0LKjNLCLiU7GVXjGigkyR2+VUCInM1cZo2yjLFxr7tGAOO09e6OG9nB7XKiQn3W88wb3s0gxy+g==",
|
|
92
96
|
"sha256": "1bd73c6ae4c5c0dc149ba6a301e7615a78bf4b97ff88c5b0f6eb7d8e270588aa"
|
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
"name": "slicc-bios-packages",
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"@ai-ecoverse/slicc-browsers": "1.7.6",
|
|
10
|
-
"@ai-ecoverse/slicc-cdp": "1.
|
|
10
|
+
"@ai-ecoverse/slicc-cdp": "1.26.2",
|
|
11
11
|
"@ai-ecoverse/slicc-clipboard": "1.0.2",
|
|
12
12
|
"@ai-ecoverse/slicc-kernel": "1.113.0",
|
|
13
|
-
"@ai-ecoverse/slicc-spectrum": "1.
|
|
13
|
+
"@ai-ecoverse/slicc-spectrum": "1.84.2",
|
|
14
14
|
"@ai-ecoverse/wasi-pnpm": "12.9.1-9",
|
|
15
15
|
"@ai-ecoverse/wasi-ripgrep": "15.2.0-3",
|
|
16
16
|
"@ai-ecoverse/wasm-bash": "5.3.0-18",
|
|
@@ -46,13 +46,16 @@
|
|
|
46
46
|
}
|
|
47
47
|
},
|
|
48
48
|
"node_modules/@ai-ecoverse/slicc-cdp": {
|
|
49
|
-
"version": "1.
|
|
50
|
-
"resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-cdp/-/slicc-cdp-1.
|
|
51
|
-
"integrity": "sha512-
|
|
49
|
+
"version": "1.26.2",
|
|
50
|
+
"resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-cdp/-/slicc-cdp-1.26.2.tgz",
|
|
51
|
+
"integrity": "sha512-YSmqvEOQMcwu3aQrPZ4W1XpHl+O7Sm4QE7MOtG4wnfjx8go2XakagTHrPiPE199GQ2QuQAJE+dluRNZn3bB4cg==",
|
|
52
52
|
"license": "Apache-2.0",
|
|
53
53
|
"workspaces": [
|
|
54
54
|
"packages/sliccy-browser"
|
|
55
55
|
],
|
|
56
|
+
"bin": {
|
|
57
|
+
"slicc-cdp": "src/cli.js"
|
|
58
|
+
},
|
|
56
59
|
"engines": {
|
|
57
60
|
"node": ">=24"
|
|
58
61
|
}
|
|
@@ -77,9 +80,9 @@
|
|
|
77
80
|
}
|
|
78
81
|
},
|
|
79
82
|
"node_modules/@ai-ecoverse/slicc-spectrum": {
|
|
80
|
-
"version": "1.
|
|
81
|
-
"resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-spectrum/-/slicc-spectrum-1.
|
|
82
|
-
"integrity": "sha512-
|
|
83
|
+
"version": "1.84.2",
|
|
84
|
+
"resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-spectrum/-/slicc-spectrum-1.84.2.tgz",
|
|
85
|
+
"integrity": "sha512-7nSam2gjvT18jjpajcEn4Q7IqX0qTITU5G4ZrH1oipcgiOMmNmXTMeWOra1CAPL1+JZMHHQIIdYmh6nBCLAGlw==",
|
|
83
86
|
"license": "Apache-2.0",
|
|
84
87
|
"engines": {
|
|
85
88
|
"node": ">=24"
|
|
@@ -4,10 +4,10 @@
|
|
|
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-browsers": "1.7.6",
|
|
7
|
-
"@ai-ecoverse/slicc-cdp": "1.
|
|
7
|
+
"@ai-ecoverse/slicc-cdp": "1.26.2",
|
|
8
8
|
"@ai-ecoverse/slicc-clipboard": "1.0.2",
|
|
9
9
|
"@ai-ecoverse/slicc-kernel": "1.113.0",
|
|
10
|
-
"@ai-ecoverse/slicc-spectrum": "1.
|
|
10
|
+
"@ai-ecoverse/slicc-spectrum": "1.84.2",
|
|
11
11
|
"@ai-ecoverse/wasi-pnpm": "12.9.1-9",
|
|
12
12
|
"@ai-ecoverse/wasi-ripgrep": "15.2.0-3",
|
|
13
13
|
"@ai-ecoverse/wasm-bash": "5.3.0-18",
|
|
@@ -12,8 +12,8 @@ importers:
|
|
|
12
12
|
specifier: 1.7.6
|
|
13
13
|
version: 1.7.6
|
|
14
14
|
'@ai-ecoverse/slicc-cdp':
|
|
15
|
-
specifier: 1.
|
|
16
|
-
version: 1.
|
|
15
|
+
specifier: 1.26.2
|
|
16
|
+
version: 1.26.2
|
|
17
17
|
'@ai-ecoverse/slicc-clipboard':
|
|
18
18
|
specifier: 1.0.2
|
|
19
19
|
version: 1.0.2
|
|
@@ -21,8 +21,8 @@ importers:
|
|
|
21
21
|
specifier: 1.113.0
|
|
22
22
|
version: 1.113.0
|
|
23
23
|
'@ai-ecoverse/slicc-spectrum':
|
|
24
|
-
specifier: 1.
|
|
25
|
-
version: 1.
|
|
24
|
+
specifier: 1.84.2
|
|
25
|
+
version: 1.84.2
|
|
26
26
|
'@ai-ecoverse/wasi-pnpm':
|
|
27
27
|
specifier: 12.9.1-9
|
|
28
28
|
version: 12.9.1-9
|
|
@@ -99,9 +99,10 @@ packages:
|
|
|
99
99
|
resolution: {integrity: sha512-clzlvrVLjmWEiKXhuK/Lez7y3Dwmo+FJ8POUs5GYqLJy5u8cOAiXyliQlNUNOVkNx9EoPm0RVvdfFkSTgv/isg==}
|
|
100
100
|
engines: {node: '>=24'}
|
|
101
101
|
|
|
102
|
-
'@ai-ecoverse/slicc-cdp@1.
|
|
103
|
-
resolution: {integrity: sha512-
|
|
102
|
+
'@ai-ecoverse/slicc-cdp@1.26.2':
|
|
103
|
+
resolution: {integrity: sha512-YSmqvEOQMcwu3aQrPZ4W1XpHl+O7Sm4QE7MOtG4wnfjx8go2XakagTHrPiPE199GQ2QuQAJE+dluRNZn3bB4cg==}
|
|
104
104
|
engines: {node: '>=24'}
|
|
105
|
+
hasBin: true
|
|
105
106
|
|
|
106
107
|
'@ai-ecoverse/slicc-clipboard@1.0.2':
|
|
107
108
|
resolution: {integrity: sha512-p7b1h85qkiU0LKjNLCLiU7GVXjGigkyR2+VUCInM1cZo2yjLFxr7tGAOO09e6OG9nB7XKiQn3W88wb3s0gxy+g==}
|
|
@@ -111,8 +112,8 @@ packages:
|
|
|
111
112
|
resolution: {integrity: sha512-PGJvZUm/oQYuS9pbUxDIpBSCeyaW91wDN2yWPCZIv664WDWKsiCTeQ1c4i8xU4Bq7C66viFK6EzZhvvofQ6b3Q==}
|
|
112
113
|
engines: {node: '>=24'}
|
|
113
114
|
|
|
114
|
-
'@ai-ecoverse/slicc-spectrum@1.
|
|
115
|
-
resolution: {integrity: sha512-
|
|
115
|
+
'@ai-ecoverse/slicc-spectrum@1.84.2':
|
|
116
|
+
resolution: {integrity: sha512-7nSam2gjvT18jjpajcEn4Q7IqX0qTITU5G4ZrH1oipcgiOMmNmXTMeWOra1CAPL1+JZMHHQIIdYmh6nBCLAGlw==}
|
|
116
117
|
engines: {node: '>=24'}
|
|
117
118
|
peerDependencies:
|
|
118
119
|
'@shikijs/langs': 4.5.0
|
|
@@ -201,13 +202,13 @@ snapshots:
|
|
|
201
202
|
|
|
202
203
|
'@ai-ecoverse/slicc-browsers@1.7.6': {}
|
|
203
204
|
|
|
204
|
-
'@ai-ecoverse/slicc-cdp@1.
|
|
205
|
+
'@ai-ecoverse/slicc-cdp@1.26.2': {}
|
|
205
206
|
|
|
206
207
|
'@ai-ecoverse/slicc-clipboard@1.0.2': {}
|
|
207
208
|
|
|
208
209
|
'@ai-ecoverse/slicc-kernel@1.113.0': {}
|
|
209
210
|
|
|
210
|
-
'@ai-ecoverse/slicc-spectrum@1.
|
|
211
|
+
'@ai-ecoverse/slicc-spectrum@1.84.2': {}
|
|
211
212
|
|
|
212
213
|
'@ai-ecoverse/wasi-pnpm@12.9.1-9': {}
|
|
213
214
|
|