@ai-ecoverse/slicc 1.19.0 → 1.20.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.
Files changed (2) hide show
  1. package/README.md +2 -2
  2. package/package.json +7 -7
package/README.md CHANGED
@@ -274,9 +274,9 @@ HELLO from `attach`: `{ "v": 1, "role": "node", "name", "host", "version", "mode
274
274
 
275
275
  **List changes.** The node checks every listed browser's debugging port every 2 s. One that fails twice in a row is removed: its open streams get `RESET ECONNRESET: browser quit`, and a later OPEN for it gets `ENOENT`. Once its port answers again it is listed again under the same id. A browser removed through the API (`Registry.Remove`, for the TUI) has its streams reset with `ECONNRESET: browser removed`.
276
276
 
277
- **`browsers` updates** (§5.8.1 of the link spec, a node → page stream that tells the page about list changes) are not sent yet: a link sees the list in its HELLO, and a browser removed later answers `ENOENT`.
277
+ **`browsers` updates** (page cap `browsers`), node → page. When the list changes while a link is up and the page's HELLO has `browsers` in `caps`, the node opens `OPEN { "kind": "browsers", "browsers": [ … ] }` on the control channel with the full current list in HELLO's shape. It replaces the previous list; there are no deltas. The page answers OPENED `{}` and END, and the node sends END. Updates are sent one at a time per link, a change that comes while one is in flight is sent after it, with the list as it is then, and an update the page doesn't finish within 10 s is reset with `ETIMEDOUT`. A change between the HELLO and the link coming up is sent as an update right away.
278
278
 
279
- `test/integration/testdata/link/link.js` is a page-side implementation of the link (framing, credit, both channel layouts, the violation rules, and `resolve` and raw-fetch helpers) that the integration tests run in Chrome against `slicc attach`. `cdp.js` next to it is a CDP client over `cdp` streams. Loaded with `?kernel`, the test page lists `kernel-in` and answers `kernel` OPENs with `kernel.js`, a small HTTP and WebSocket echo server in the page.
279
+ `test/integration/testdata/link/link.js` is a page-side implementation of the link (framing, credit, both channel layouts, the violation rules, and `resolve` and raw-fetch helpers) that the integration tests run in Chrome against `slicc attach`. `cdp.js` next to it is a CDP client over `cdp` streams, and `page.js` answers `browsers` updates. Loaded with `?kernel`, the test page lists `kernel-in` and answers `kernel` OPENs with `kernel.js`, a small HTTP and WebSocket echo server in the page.
280
280
 
281
281
  ### Kernel services
282
282
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/slicc",
3
- "version": "1.19.0",
3
+ "version": "1.20.0",
4
4
  "description": "SLICC's command line for seven: links a machine's network, compute and browsers to seven over WebRTC",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -18,11 +18,11 @@
18
18
  "node": ">=18"
19
19
  },
20
20
  "optionalDependencies": {
21
- "@ai-ecoverse/slicc-darwin-arm64": "1.19.0",
22
- "@ai-ecoverse/slicc-darwin-amd64": "1.19.0",
23
- "@ai-ecoverse/slicc-linux-arm64": "1.19.0",
24
- "@ai-ecoverse/slicc-linux-amd64": "1.19.0",
25
- "@ai-ecoverse/slicc-windows-arm64": "1.19.0",
26
- "@ai-ecoverse/slicc-windows-amd64": "1.19.0"
21
+ "@ai-ecoverse/slicc-darwin-arm64": "1.20.0",
22
+ "@ai-ecoverse/slicc-darwin-amd64": "1.20.0",
23
+ "@ai-ecoverse/slicc-linux-arm64": "1.20.0",
24
+ "@ai-ecoverse/slicc-linux-amd64": "1.20.0",
25
+ "@ai-ecoverse/slicc-windows-arm64": "1.20.0",
26
+ "@ai-ecoverse/slicc-windows-amd64": "1.20.0"
27
27
  }
28
28
  }