@ai-ecoverse/slicc-bios 1.51.2 → 1.51.3

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
@@ -603,7 +603,7 @@ A running install updates itself from the deployment it was booted from, package
603
603
 
604
604
  1. **Notice.** `os/update.js` fetches `packages/pnpm-lock.yaml` from the deployment when the UI starts, whenever the tab becomes visible again, and every 15 minutes. If it differs from `var/lib/slicc/pnpm-lock.yaml` in OPFS, there is an update.
605
605
  2. **Install.** It writes the deployment's `package.json` and `pnpm-lock.yaml` to the OPFS root and runs `pnpm install --frozen-lockfile --trust-lockfile` there in the page's kernel. [`@ai-ecoverse/wasi-pnpm`](https://www.npmjs.com/package/@ai-ecoverse/wasi-pnpm) is one of the bootstrap packages, so pnpm is always installed. pnpm's hoisted, copying layout keeps `node_modules/` exactly where the BIOS puts it, and it only rewrites packages whose locked version changed. Its store lives in OPFS under `/home/.local/share/pnpm/`. Only when pnpm succeeds does the updater write the lockfile to `var/lib/slicc/pnpm-lock.yaml`, so an update that fails or is cut short by closing the tab is tried again by the next check.
606
- 3. **Switch over.** Packages are updated in place. A program reads its wasm and glue when it starts, so running processes, the interactive `bash` included, keep the code they started with, and every process started afterwards gets the new version. The page itself keeps the kernel and terminals it loaded. The changed rows of [Install / Update](#install--update) say *Ready to apply*, list what changed and offer **Reload**, which navigates to the BIOS with a view transition. The BIOS then picks up a new `sw.js` and seed, finds every package current (its receipt, or pnpm's `.modules.yaml` and the installed version, match), and goes back to `os/`. Files in OPFS, `/home` included, are not touched.
606
+ 3. **Switch over.** Packages are updated in place. pnpm swaps a changed package in with two renames (the old directory aside, the staged one onto its name). From slicc-kernel 1.168.1 on, the kernel holds the package's `slicc-kernel-replacing` lock from the first rename until the second, the lock the installer takes too (boot step 3, at the top), so an exec that starts meanwhile waits and then runs the new version whole ([#663](https://github.com/ai-ecoverse/slicc-bios/issues/663)). A program reads its wasm and glue when it starts, so running processes, the interactive `bash` included, keep the code they started with, and every process started afterwards gets the new version. The page itself keeps the kernel and terminals it loaded. The changed rows of [Install / Update](#install--update) say *Ready to apply*, list what changed and offer **Reload**, which navigates to the BIOS with a view transition. The BIOS then picks up a new `sw.js` and seed, finds every package current (its receipt, or pnpm's `.modules.yaml` and the installed version, match), and goes back to `os/`. Files in OPFS, `/home` included, are not touched.
607
607
 
608
608
  Both the BIOS installer and the updater take the Web Lock `slicc-packages`, so tabs never install at the same time.
609
609
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/slicc-bios",
3
- "version": "1.51.2",
3
+ "version": "1.51.3",
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",
@@ -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.8.8",
6
+ "@ai-ecoverse/slicc-agent": "7.8.9",
7
7
  "@ai-ecoverse/slicc-kernel": "1.168.1"
8
8
  }
9
9
  }
@@ -14,8 +14,8 @@ importers:
14
14
  .:
15
15
  dependencies:
16
16
  '@ai-ecoverse/slicc-agent':
17
- specifier: 7.8.8
18
- version: 7.8.8(@ai-ecoverse/slicc-kernel@1.168.1)(@aws-sdk/credential-provider-node@3.972.84)(@smithy/signature-v4@5.7.4)(ws@8.22.0)
17
+ specifier: 7.8.9
18
+ version: 7.8.9(@ai-ecoverse/slicc-kernel@1.168.1)(@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
20
  specifier: 1.168.1
21
21
  version: 1.168.1
@@ -25,8 +25,8 @@ packages:
25
25
  '@ai-ecoverse/jerk-oauth@1.3.0':
26
26
  resolution: {integrity: sha512-dbCU1KgYns8lP8IUCWbvCxQxCFSiVxuEYViu4CcnxphcrL9gltTvPdBpQOfAduU80GQTU3H4CMjGwuCo6EGNhg==}
27
27
 
28
- '@ai-ecoverse/slicc-agent@7.8.8':
29
- resolution: {integrity: sha512-6MOpHEY3ljdTkVPbO4jZNiX1tPoAVQaP2ngChY61LL1ElKl/B5fWYzwj+ikUjjZ4taQI921PaBHqnOJ2Vx1olg==}
28
+ '@ai-ecoverse/slicc-agent@7.8.9':
29
+ resolution: {integrity: sha512-+2inbqY/nsJDo38+qrzbMAOZLKu3EIsK8VJ4jnEI2YvfEmjzPOPV9AdD2tTXUx8q/3/oHugvAGpfMXVzRUIWxg==}
30
30
  engines: {node: '>=24'}
31
31
  peerDependencies:
32
32
  '@ai-ecoverse/slicc-kernel': '>=1.110.0 <2'
@@ -35,8 +35,8 @@ packages:
35
35
  '@ai-ecoverse/slicc-spectrum':
36
36
  optional: true
37
37
 
38
- '@ai-ecoverse/slicc-browsers@1.18.15':
39
- resolution: {integrity: sha512-wdihEFKgVCU9xjL7D/lJeMveGBosqwqDXzJNh0Y4mo6XNAXRehY9lpq1XpFx+Pt4jCPzEZwYfjChPLC1MdXu+g==}
38
+ '@ai-ecoverse/slicc-browsers@1.18.16':
39
+ resolution: {integrity: sha512-hTXaDzfcpFk/YCs09t6ciWSX3L6w99pcux/EXZsICHtSWxfFp1xk4sWNpFb4rCUgC2CY7ZxVa2bDkfYqAYEcnA==}
40
40
  engines: {node: '>=24'}
41
41
 
42
42
  '@ai-ecoverse/slicc-kernel@1.168.1':
@@ -355,9 +355,9 @@ snapshots:
355
355
 
356
356
  '@ai-ecoverse/jerk-oauth@1.3.0': {}
357
357
 
358
- '@ai-ecoverse/slicc-agent@7.8.8(@ai-ecoverse/slicc-kernel@1.168.1)(@aws-sdk/credential-provider-node@3.972.84)(@smithy/signature-v4@5.7.4)(ws@8.22.0)':
358
+ '@ai-ecoverse/slicc-agent@7.8.9(@ai-ecoverse/slicc-kernel@1.168.1)(@aws-sdk/credential-provider-node@3.972.84)(@smithy/signature-v4@5.7.4)(ws@8.22.0)':
359
359
  dependencies:
360
- '@ai-ecoverse/slicc-browsers': 1.18.15
360
+ '@ai-ecoverse/slicc-browsers': 1.18.16
361
361
  '@ai-ecoverse/slicc-kernel': 1.168.1
362
362
  '@ai-ecoverse/slicc-vault': 1.17.0
363
363
  '@aws-sdk/middleware-websocket': 3.972.54
@@ -380,7 +380,7 @@ snapshots:
380
380
  - ws
381
381
  - zod
382
382
 
383
- '@ai-ecoverse/slicc-browsers@1.18.15': {}
383
+ '@ai-ecoverse/slicc-browsers@1.18.16': {}
384
384
 
385
385
  '@ai-ecoverse/slicc-kernel@1.168.1': {}
386
386