@ai-ecoverse/slicc-bios 1.51.32 → 1.51.34
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
|
@@ -352,9 +352,9 @@ Seven keeps its secrets in the vault, a separate origin (`@ai-ecoverse/slicc-vau
|
|
|
352
352
|
- **`button()`** is a plain iframe of `<vault origin>/button.html`, with no `sandbox`, so it can open the vault's popup. Every `button` message carries seven's current colour scheme as `theme`, and is sent again on the frame's `load` and whenever the scheme changes; spectrum (≥ 1.68.3) gives the iframe the same `color-scheme`, so Chrome doesn't paint it opaque.
|
|
353
353
|
- **The agent's port:** for slicc-agent ≥ 4.0.0 only, each agent worker gets its own `agent`-role port, posted raw as `{ vault, scrub }` next to the agent's `{ kernel, admin }`, and again with a fresh port after the frame reloads. The agent port gets no events, so every lock change in the page port's `status` is posted to the worker as `{ locked: true | false }`. `scrub` is the last `{ needed, version, ready }` pair (`localStorage['slicc-os.vault-scrub']`, `null` before any vault connected); each new pair is posted to the worker as `{ scrub }` before seven relays the `put`, `seal` or `import` answer that caused it. Agents before 4.0.0 speak an earlier draft of that wire, so they get no port and stay inert.
|
|
354
354
|
- **`/dev/sealed`:** the kernel's `sealed` hook relays each request with its kernel stamp (`caller`, unchanged) as the vault's `sealed` op, and returns its one reply. While kernel users aren't `enforce`, `materialize` and `materializeConsume` are refused with `EACCES`; under `enforce`, `materialize` is relayed like the rest, and the kernel's `materializeConsume` (`ticket`, `stamp`, `path`, `resolved`, `argv`, `cwd`, `interpreters`, `trusted`, unchanged) goes to the vault's page op of that name, whose `{ values, placeholders }` go back to the kernel only. jerk's requests (`src/seed/jerk.js`) are answered with `answer`: `jop: list` with rows from each linked device that runs jerk (J1 `list`), `jop: status` from the vault's records, where `mcp:<server>` also counts a `list.mcp` record of exactly that server (exit 3 without one; the vault, not bios, checks that the reader is root), `jop: create` through J1 `create` with its progress lines (exit 4 without a jerk device), `unseal` by removing the provider's `jerk:` records, and `oauth` and `jerk-seal` with exit 5 until seven signs in itself. A `cancelled` event stops a running J1 `create`.
|
|
355
|
-
- **
|
|
356
|
-
- **
|
|
357
|
-
- **Egress:**
|
|
355
|
+
- **HTTP placeholders:** an attributed kernel request uses the vault's `forward` admission before its selected exit sends it. The carrier must support manual redirects and decoded responses; no unavailable, older or unproven carrier is used instead. Ordinary secret bodies are unchanged. A Settings MCP credential uses its server-bound path, with complete-body scrubbing before send and response scrubbing before return. Body-only placeholders are application data, not injected. An old extension remains unavailable for these requests until its verified store release supports the redirect contract. Link and Tailscale credentialed carriers remain unavailable in this release.
|
|
356
|
+
- **Policy:** with kernel users `enforce`, bios seeds missing policy files under trusted root-owned `/etc/fnox` and `/etc/slicc` directories, without overwriting existing contents or trusting writable, linked or mounted paths. The kernel attests the bytes on boot and change. A trusted missing-file attestation clears and pauses its policy; missing or untrusted ancestors hold protected operations until a trusted resync. Materialize, consume and session operations also require an unlocked, current-capability vault and an accepted trusted policy; an older vault stays refused until it updates. Processes keep `FNOX_CONFIG_DIR=/etc/fnox`; fnox uses placeholders and `/dev/sealed`. Named root MCP calls discover their Settings placeholder directly, without a jerk command.
|
|
357
|
+
- **Egress:** token refreshes use the same selected transport with a manual redirect policy, never a native-fetch fallback. An incapable route or redirect is refused; the response returns only to the vault. Request bodies are zeroed after use, and requests are not logged.
|
|
358
358
|
- **Adobe IMS:** with agent ≥ 4.0.0, `login('adobe', …)` opens its popup before anything else, then seals the token as `{ kind: 'model', provider: 'adobe', name: 'ADOBE_IMS_TOKEN', source: 'oauth:adobe', expiresAt }` (the redirect's `expires_in` is in seconds, 86399 for a day) and resolves `{ sealed: true }`, so the token never reaches spectrum or the agent. IMS gives no refresh token: an expired token means signing in again, which replaces the record and keeps its placeholder. Agents before 4.0.0 get the token as before.
|
|
359
359
|
|
|
360
360
|
## Requests from programs (`/dev/embedder`)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-ecoverse/slicc-bios",
|
|
3
|
-
"version": "1.51.
|
|
3
|
+
"version": "1.51.34",
|
|
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",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"start": "node test/integration/chrome.mjs",
|
|
45
45
|
"pretest": "slicc-cdp install-browser",
|
|
46
46
|
"test": "node --test --test-concurrency=1 --test-timeout=900000 --test-global-setup=test/integration/global.mjs 'test/integration/*.test.mjs'",
|
|
47
|
-
"test:unit": "mcr -c node_modules/@ai-ecoverse/slicc-shared-web/mcr.config.mjs node --test 'test/unit/**/*.test.mjs'",
|
|
47
|
+
"test:unit": "mcr -c node_modules/@ai-ecoverse/slicc-shared-web/mcr.config.mjs node --test --test-concurrency=1 'test/unit/**/*.test.mjs'",
|
|
48
48
|
"lint": "slicc-lint",
|
|
49
49
|
"format": "biome check --write ."
|
|
50
50
|
},
|
|
@@ -52,9 +52,10 @@
|
|
|
52
52
|
"@ai-ecoverse/slicc": "1.49.36",
|
|
53
53
|
"@ai-ecoverse/slicc-browsers": "1.18.21",
|
|
54
54
|
"@ai-ecoverse/slicc-cdp": "1.43.1",
|
|
55
|
+
"@ai-ecoverse/slicc-kernel": "1.172.0",
|
|
55
56
|
"@ai-ecoverse/slicc-shared-web": "2.13.7",
|
|
56
|
-
"@ai-ecoverse/slicc-spectrum": "1.108.
|
|
57
|
-
"@ai-ecoverse/slicc-vault": "1.
|
|
57
|
+
"@ai-ecoverse/slicc-spectrum": "1.108.2",
|
|
58
|
+
"@ai-ecoverse/slicc-vault": "1.20.0",
|
|
58
59
|
"@biomejs/biome": "2.6.2",
|
|
59
60
|
"aws4fetch": "1.0.20",
|
|
60
61
|
"es-module-lexer": "3.0.4",
|
|
@@ -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": "7.11.
|
|
7
|
-
"@ai-ecoverse/slicc-kernel": "1.
|
|
6
|
+
"@ai-ecoverse/slicc-agent": "7.11.5",
|
|
7
|
+
"@ai-ecoverse/slicc-kernel": "1.172.0"
|
|
8
8
|
}
|
|
9
9
|
}
|
|
@@ -14,22 +14,22 @@ importers:
|
|
|
14
14
|
.:
|
|
15
15
|
dependencies:
|
|
16
16
|
'@ai-ecoverse/slicc-agent':
|
|
17
|
-
specifier: 7.11.
|
|
18
|
-
version: 7.11.
|
|
17
|
+
specifier: 7.11.5
|
|
18
|
+
version: 7.11.5(@ai-ecoverse/slicc-kernel@1.172.0)(@aws-sdk/credential-provider-node@3.972.84)(@smithy/signature-v4@5.7.4)(ws@8.22.0)
|
|
19
19
|
'@ai-ecoverse/slicc-kernel':
|
|
20
|
-
specifier: 1.
|
|
21
|
-
version: 1.
|
|
20
|
+
specifier: 1.172.0
|
|
21
|
+
version: 1.172.0
|
|
22
22
|
|
|
23
23
|
packages:
|
|
24
24
|
|
|
25
25
|
'@ai-ecoverse/jerk-oauth@1.3.9':
|
|
26
26
|
resolution: {integrity: sha512-K9dUvrvG17dF7M82jSgCZFU1vIHJXTzDHtZF8bFkJoPAaWEkVwiB5bW5Xorq7rBuzuftv+fanJN/G6TIgia2mQ==}
|
|
27
27
|
|
|
28
|
-
'@ai-ecoverse/slicc-agent@7.11.
|
|
29
|
-
resolution: {integrity: sha512-
|
|
28
|
+
'@ai-ecoverse/slicc-agent@7.11.5':
|
|
29
|
+
resolution: {integrity: sha512-zSHKIQZe24996Tc890vCe1psfwmswvAMydsoZDqPuX4NfSTI2XhVMjBjEv1zkGb97rHG0P9yB1gm35tGYJUsoQ==}
|
|
30
30
|
engines: {node: '>=24'}
|
|
31
31
|
peerDependencies:
|
|
32
|
-
'@ai-ecoverse/slicc-kernel': '>=1.
|
|
32
|
+
'@ai-ecoverse/slicc-kernel': '>=1.171.0 <2'
|
|
33
33
|
'@ai-ecoverse/slicc-spectrum': ^1.103.0
|
|
34
34
|
peerDependenciesMeta:
|
|
35
35
|
'@ai-ecoverse/slicc-spectrum':
|
|
@@ -39,16 +39,16 @@ packages:
|
|
|
39
39
|
resolution: {integrity: sha512-hinx7Lvb0IrClsxw1BdQTwLPjUcGkYjISmHOXHE3e4oiZZL6GpxJsvHTGaLk1bM/cX2VIz3C4BAch7HGqiVrWg==}
|
|
40
40
|
engines: {node: '>=24'}
|
|
41
41
|
|
|
42
|
-
'@ai-ecoverse/slicc-kernel@1.
|
|
43
|
-
resolution: {integrity: sha512-
|
|
42
|
+
'@ai-ecoverse/slicc-kernel@1.172.0':
|
|
43
|
+
resolution: {integrity: sha512-a5K3zh1VGFaOz9eEIiKFwtlV4M5QO1HdyBcDbz2VdzsLBOCqESR/fvZh4j9ob3kYBlg7eKZXED9F+TI+xWAhIA==}
|
|
44
44
|
engines: {node: '>=26'}
|
|
45
45
|
|
|
46
46
|
'@ai-ecoverse/slicc-scrub@1.1.0':
|
|
47
47
|
resolution: {integrity: sha512-HZ5qVnVez4B2UTP+UrHbYg6GnHJjpT09byt/HHJ8Y0IRk13q5Oj8rFFCme+R0T5h42ZlmwaNVI+n77VtSaCtuA==}
|
|
48
48
|
engines: {node: '>=24'}
|
|
49
49
|
|
|
50
|
-
'@ai-ecoverse/slicc-vault@1.
|
|
51
|
-
resolution: {integrity: sha512-
|
|
50
|
+
'@ai-ecoverse/slicc-vault@1.19.0':
|
|
51
|
+
resolution: {integrity: sha512-f0JJMY+flhPCBeokxHtDwws31XgmOrc0L941tRWoa14Mxjx1GJFlXElksCU/nU1kwQIVELSSnb9Mp3CiD1SjoQ==}
|
|
52
52
|
engines: {node: '>=24'}
|
|
53
53
|
|
|
54
54
|
'@anthropic-ai/sdk@0.129.0':
|
|
@@ -356,11 +356,11 @@ snapshots:
|
|
|
356
356
|
|
|
357
357
|
'@ai-ecoverse/jerk-oauth@1.3.9': {}
|
|
358
358
|
|
|
359
|
-
'@ai-ecoverse/slicc-agent@7.11.
|
|
359
|
+
'@ai-ecoverse/slicc-agent@7.11.5(@ai-ecoverse/slicc-kernel@1.172.0)(@aws-sdk/credential-provider-node@3.972.84)(@smithy/signature-v4@5.7.4)(ws@8.22.0)':
|
|
360
360
|
dependencies:
|
|
361
361
|
'@ai-ecoverse/slicc-browsers': 1.18.21
|
|
362
|
-
'@ai-ecoverse/slicc-kernel': 1.
|
|
363
|
-
'@ai-ecoverse/slicc-vault': 1.
|
|
362
|
+
'@ai-ecoverse/slicc-kernel': 1.172.0
|
|
363
|
+
'@ai-ecoverse/slicc-vault': 1.19.0
|
|
364
364
|
'@aws-sdk/middleware-websocket': 3.972.54
|
|
365
365
|
'@earendil-works/chord': 1.4.0
|
|
366
366
|
'@earendil-works/pi-ai': 1.4.0(@aws-sdk/credential-provider-node@3.972.84)(@smithy/signature-v4@5.7.4)(ws@8.22.0)
|
|
@@ -383,11 +383,11 @@ snapshots:
|
|
|
383
383
|
|
|
384
384
|
'@ai-ecoverse/slicc-browsers@1.18.21': {}
|
|
385
385
|
|
|
386
|
-
'@ai-ecoverse/slicc-kernel@1.
|
|
386
|
+
'@ai-ecoverse/slicc-kernel@1.172.0': {}
|
|
387
387
|
|
|
388
388
|
'@ai-ecoverse/slicc-scrub@1.1.0': {}
|
|
389
389
|
|
|
390
|
-
'@ai-ecoverse/slicc-vault@1.
|
|
390
|
+
'@ai-ecoverse/slicc-vault@1.19.0':
|
|
391
391
|
dependencies:
|
|
392
392
|
'@ai-ecoverse/jerk-oauth': 1.3.9
|
|
393
393
|
'@ai-ecoverse/slicc-scrub': 1.1.0
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
"@ai-ecoverse/slicc-audio": "1.1.6",
|
|
10
10
|
"@ai-ecoverse/slicc-browsers": "1.18.21",
|
|
11
11
|
"@ai-ecoverse/slicc-capture": "1.4.1",
|
|
12
|
-
"@ai-ecoverse/slicc-kernel": "1.
|
|
13
|
-
"@ai-ecoverse/slicc-spectrum": "1.108.
|
|
12
|
+
"@ai-ecoverse/slicc-kernel": "1.172.0",
|
|
13
|
+
"@ai-ecoverse/slicc-spectrum": "1.108.2",
|
|
14
14
|
"@ai-ecoverse/wasi-fnox": "1.42.0-1",
|
|
15
15
|
"@ai-ecoverse/wasi-pnpm": "12.9.1-21",
|
|
16
16
|
"@ai-ecoverse/wasm-bash": "5.3.0-23",
|
|
@@ -61,9 +61,9 @@
|
|
|
61
61
|
}
|
|
62
62
|
},
|
|
63
63
|
"node_modules/@ai-ecoverse/slicc-kernel": {
|
|
64
|
-
"version": "1.
|
|
65
|
-
"resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-kernel/-/slicc-kernel-1.
|
|
66
|
-
"integrity": "sha512-
|
|
64
|
+
"version": "1.172.0",
|
|
65
|
+
"resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-kernel/-/slicc-kernel-1.172.0.tgz",
|
|
66
|
+
"integrity": "sha512-a5K3zh1VGFaOz9eEIiKFwtlV4M5QO1HdyBcDbz2VdzsLBOCqESR/fvZh4j9ob3kYBlg7eKZXED9F+TI+xWAhIA==",
|
|
67
67
|
"license": "Apache-2.0",
|
|
68
68
|
"engines": {
|
|
69
69
|
"node": ">=26"
|
|
@@ -146,9 +146,9 @@
|
|
|
146
146
|
}
|
|
147
147
|
},
|
|
148
148
|
"node_modules/@ai-ecoverse/slicc-spectrum": {
|
|
149
|
-
"version": "1.108.
|
|
150
|
-
"resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-spectrum/-/slicc-spectrum-1.108.
|
|
151
|
-
"integrity": "sha512-
|
|
149
|
+
"version": "1.108.2",
|
|
150
|
+
"resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-spectrum/-/slicc-spectrum-1.108.2.tgz",
|
|
151
|
+
"integrity": "sha512-Vu1uy3hpCoKTZB7d1T+d7MNHp2swb3S4CSNDOGd/py5mFjiy9Y0xaOsNuPN3k3UENq4NMcMgVXUWojo4YBbwiw==",
|
|
152
152
|
"license": "Apache-2.0",
|
|
153
153
|
"engines": {
|
|
154
154
|
"node": ">=24"
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
"@ai-ecoverse/slicc-audio": "1.1.6",
|
|
7
7
|
"@ai-ecoverse/slicc-browsers": "1.18.21",
|
|
8
8
|
"@ai-ecoverse/slicc-capture": "1.4.1",
|
|
9
|
-
"@ai-ecoverse/slicc-kernel": "1.
|
|
10
|
-
"@ai-ecoverse/slicc-spectrum": "1.108.
|
|
9
|
+
"@ai-ecoverse/slicc-kernel": "1.172.0",
|
|
10
|
+
"@ai-ecoverse/slicc-spectrum": "1.108.2",
|
|
11
11
|
"@ai-ecoverse/wasi-fnox": "1.42.0-1",
|
|
12
12
|
"@ai-ecoverse/wasi-pnpm": "12.9.1-21",
|
|
13
13
|
"@ai-ecoverse/wasm-bash": "5.3.0-23",
|
|
@@ -18,11 +18,11 @@ importers:
|
|
|
18
18
|
specifier: 1.4.1
|
|
19
19
|
version: 1.4.1
|
|
20
20
|
'@ai-ecoverse/slicc-kernel':
|
|
21
|
-
specifier: 1.
|
|
22
|
-
version: 1.
|
|
21
|
+
specifier: 1.172.0
|
|
22
|
+
version: 1.172.0
|
|
23
23
|
'@ai-ecoverse/slicc-spectrum':
|
|
24
|
-
specifier: 1.108.
|
|
25
|
-
version: 1.108.
|
|
24
|
+
specifier: 1.108.2
|
|
25
|
+
version: 1.108.2
|
|
26
26
|
'@ai-ecoverse/wasi-fnox':
|
|
27
27
|
specifier: 1.42.0-1
|
|
28
28
|
version: 1.42.0-1
|
|
@@ -58,8 +58,8 @@ packages:
|
|
|
58
58
|
engines: {node: '>=24', slicc-kernel: '>=1.153.0'}
|
|
59
59
|
hasBin: true
|
|
60
60
|
|
|
61
|
-
'@ai-ecoverse/slicc-kernel@1.
|
|
62
|
-
resolution: {integrity: sha512-
|
|
61
|
+
'@ai-ecoverse/slicc-kernel@1.172.0':
|
|
62
|
+
resolution: {integrity: sha512-a5K3zh1VGFaOz9eEIiKFwtlV4M5QO1HdyBcDbz2VdzsLBOCqESR/fvZh4j9ob3kYBlg7eKZXED9F+TI+xWAhIA==}
|
|
63
63
|
engines: {node: '>=26'}
|
|
64
64
|
|
|
65
65
|
'@ai-ecoverse/slicc-ortllama@1.28.0':
|
|
@@ -105,8 +105,8 @@ packages:
|
|
|
105
105
|
webgpu:
|
|
106
106
|
optional: true
|
|
107
107
|
|
|
108
|
-
'@ai-ecoverse/slicc-spectrum@1.108.
|
|
109
|
-
resolution: {integrity: sha512-
|
|
108
|
+
'@ai-ecoverse/slicc-spectrum@1.108.2':
|
|
109
|
+
resolution: {integrity: sha512-Vu1uy3hpCoKTZB7d1T+d7MNHp2swb3S4CSNDOGd/py5mFjiy9Y0xaOsNuPN3k3UENq4NMcMgVXUWojo4YBbwiw==}
|
|
110
110
|
engines: {node: '>=24'}
|
|
111
111
|
|
|
112
112
|
'@ai-ecoverse/wasi-fnox@1.42.0-1':
|
|
@@ -252,7 +252,7 @@ snapshots:
|
|
|
252
252
|
|
|
253
253
|
'@ai-ecoverse/slicc-capture@1.4.1': {}
|
|
254
254
|
|
|
255
|
-
'@ai-ecoverse/slicc-kernel@1.
|
|
255
|
+
'@ai-ecoverse/slicc-kernel@1.172.0': {}
|
|
256
256
|
|
|
257
257
|
'@ai-ecoverse/slicc-ortllama@1.28.0':
|
|
258
258
|
dependencies:
|
|
@@ -270,7 +270,7 @@ snapshots:
|
|
|
270
270
|
- utf-8-validate
|
|
271
271
|
optional: true
|
|
272
272
|
|
|
273
|
-
'@ai-ecoverse/slicc-spectrum@1.108.
|
|
273
|
+
'@ai-ecoverse/slicc-spectrum@1.108.2': {}
|
|
274
274
|
|
|
275
275
|
'@ai-ecoverse/wasi-fnox@1.42.0-1': {}
|
|
276
276
|
|