@ai-ecoverse/slicc-spectrum 1.104.0 → 1.104.1
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 +3 -3
- package/dist/slicc-dummy.js +8 -2
- package/dist/slicc-dummy.js.map +2 -2
- package/dist/slicc-ui.js +1 -1
- package/dist/slicc-ui.js.map +2 -2
- package/dist/types/dummy/network.d.ts +2 -1
- package/dist/types/dummy.d.ts +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -879,7 +879,7 @@ Join URLs let a device join, so the join URL, the command, the follow link and t
|
|
|
879
879
|
A `LinkedDevice` has an `id`, a display `name` (a leading `slicc` is shown as `SLICC`), the kernel `host` and `address`, a `mode` (`local` for a CLI on this computer attached over CDP, or `remote`), `offers` (`net`, `http`, `ssh`; `ssh` adds a copyable `ssh <host>`), a one-line `policy`, `exit` (whether it can carry internet traffic), a `state` (`connecting`, `connected`, `reconnecting` or `offline`, for a device that linked before and isn't there now; every device that ever linked is listed, so one that was refused can be allowed), optional `control` (`{ allowed, fixed? }`; `fixed` for one on this computer, always allowed), optional `controlling` (`prompt` or `watch` while a CLI prompts or watches the agent) optional `browsers` (`{ runtime, name }`, listed in the row as `data-browsers`, with the runtime such as `pier-nuc/chrome` that the 9222 facade drives), optional `kind` (`cli`, or `seven` for another SLICC that follows this one, "Follower" in the row), optional `access` (`{ view?, control?, terminal?, fixed? }`: only the keys present get a switch, so a CLI sends `{ control }`; `fixed` lists them as always allowed from this computer; it replaces `control`), optional `asking` (a follower that waits to be allowed), optional `terminals` (how many terminals it has open here), an optional `note` (one warning line in the row, `[data-note]`, with the alert icon, such as a forgotten device's "Pair it again") and optional `folders` (`LinkedFolder`s the device shares: `name`, `source` such as `pier-nuc/proj`, `readonly`, and `mounted`, the mount point once mounted).
|
|
880
880
|
Folders list in the row (`[data-folders] li[data-folder]`, with `data-mounted` `yes` or `no`, a **Read-only** badge and "Mounted at …"); `mountFolder(source)` adds **Mount** (`data-action="mount-folder"`, `data-id` the source; only on a connected device) and resolves with the mount point, such as `/mnt/pier-nuc/proj`, and `ejectFolder(source)` adds **Eject** (`data-action="eject-folder"`); a failure shows on the links error line.
|
|
881
881
|
Each device is an `li[data-device]` with `data-state`, `data-mode` and `data-kind`, and `data-asking` while it asks; once there are devices, the join details fold into **Link another device**.
|
|
882
|
-
An optional `pairing` (`LinkPairing`: `state` `idle`, `confirm`, `linking`, `linked` or `failed`, the node's short `code`, the device `name` once linked and a one-sentence `error` once failed) adds **Link this computer** (`section[data-pairing=<state>]`) for `slicc pair` on this computer, inside **Link another device**, which opens by itself while the state isn't `idle` or
|
|
882
|
+
An optional `pairing` (`LinkPairing`: `state` `idle`, `confirm`, `linking`, `linked` or `failed`, the node's short `code`, the device `name` once linked and a one-sentence `error` once failed) adds **Link this computer** (`section[data-pairing=<state>]`) for `slicc pair` on this computer, inside **Link another device**, which opens by itself while the state isn't `idle` or an `offline` device has a `note` (one that has to be linked again; a note on a device that is still linked, such as an update, leaves it closed); without `pairComputer` its Link stays disabled.
|
|
883
883
|
`idle` has the **Pairing link** field (`#pair-url`, not kept, cleared once accepted) and **Link** (`data-action="pair"`, disabled while empty; Enter submits) through `pairComputer(url)`, whose rejection shows under the field (`[data-error=pairing]`) and keeps the text.
|
|
884
884
|
`confirm` shows the code and **Link** (`data-action="confirm-pairing"`, `confirmPairing()`) and **Cancel** (`data-action="cancel-pairing"`); when the state becomes `confirm`, or the panel opens on it, the block scrolls into view and its heading takes focus.
|
|
885
885
|
`linking` shows a progress circle and **Cancel**, `linked` a positive status light and **Done** (`data-action="done-pairing"`), and `failed` an error box with **Try again** (`data-action="retry-pairing"`, which focuses the field) and **Dismiss** (`data-action="dismiss-pairing"`); Cancel, Done, Try again and Dismiss call `cancelPairing()`, and a polite status line (`[data-pairing-status]`) announces each state.
|
|
@@ -1019,10 +1019,10 @@ Dummy Update now and Retry simulate download and link progress, and a dummy pack
|
|
|
1019
1019
|
`model.network.setScenario()` switches it and Check again re-emits after a short wait.
|
|
1020
1020
|
`createDummyModel({ tailnet: 'off' | 'needs-login' | 'running' | 'failed' })` (or `?tailnet=` on `/ui/`, off by default) adds an invented tailnet: an auth key starting with `tskey-` signs in, `mast-pi` and `keel-router` are online exit nodes and `buoy-laptop` is offline, and Retry on `failed` connects.
|
|
1021
1021
|
While the dummy tailnet runs with an exit node, the route is `tailnet` and the health `ok`.
|
|
1022
|
-
`createDummyModel({ links: 'none' | 'preparing' | 'linked' | 'reconnecting' | 'exit' | 'prompt' | 'denied' | 'remote' | 'followers' | 'pairing' | 'pairing-notray' | 'forgotten' })` (or `?links=` on `/ui/`, off by default) adds invented linked devices and the exit members: `linked` has quay-studio (on this computer) and pier-nuc, which can be exits and have a Chrome each, and dock-builder, which can't; quay-studio shares `sketches` and pier-nuc `proj` and a read-only `archive`, which **Mount** attaches to the dummy files at `/mnt/<source>` (with `mountInfo` naming the source) and **Eject** or the Files strip detaches; with no other browser automation, the dummy reports `via: 'link'`; `exit` sends traffic through quay-studio; `reconnecting` holds traffic for pier-nuc (health `failing`, and `ok` while the exit device is connected, both without a `detail`, as bios reports them); `remote` has pier-nuc allowed and prompting, quay-studio watching, and an offline reef-laptop that only ever connected for control; `prompt` and `denied` wait for Local Network Access, and Try again links quay-studio; `pairing` has a tray, pier-nuc and dock-builder, and `pairing` at `idle`: `pairComputer` takes a URL with a `#slicc-pair=` fragment (as `slicc pair` prints, e.g. `https://seven.sliccy.ai/#slicc-pair=17117.<token>.<fp>`) to `confirm` with the code `ab12…ef` and refuses anything else, and `confirmPairing` goes through `linking` to `linked` as SLICC on quay-studio, adding it as a local CLI row without access, or to `failed` when the URL contains `fail`; `pairing-notray` is the same without `joinUrl` and `joinCommand`,
|
|
1022
|
+
`createDummyModel({ links: 'none' | 'preparing' | 'linked' | 'reconnecting' | 'exit' | 'prompt' | 'denied' | 'remote' | 'followers' | 'pairing' | 'pairing-notray' | 'forgotten' | 'outdated' })` (or `?links=` on `/ui/`, off by default) adds invented linked devices and the exit members: `linked` has quay-studio (on this computer) and pier-nuc, which can be exits and have a Chrome each, and dock-builder, which can't; quay-studio shares `sketches` and pier-nuc `proj` and a read-only `archive`, which **Mount** attaches to the dummy files at `/mnt/<source>` (with `mountInfo` naming the source) and **Eject** or the Files strip detaches; with no other browser automation, the dummy reports `via: 'link'`; `exit` sends traffic through quay-studio; `reconnecting` holds traffic for pier-nuc (health `failing`, and `ok` while the exit device is connected, both without a `detail`, as bios reports them); `remote` has pier-nuc allowed and prompting, quay-studio watching, and an offline reef-laptop that only ever connected for control; `prompt` and `denied` wait for Local Network Access, and Try again links quay-studio; `pairing` has a tray, pier-nuc and dock-builder, and `pairing` at `idle`: `pairComputer` takes a URL with a `#slicc-pair=` fragment (as `slicc pair` prints, e.g. `https://seven.sliccy.ai/#slicc-pair=17117.<token>.<fp>`) to `confirm` with the code `ab12…ef` and refuses anything else, and `confirmPairing` goes through `linking` to `linked` as SLICC on quay-studio, adding it as a local CLI row without access, or to `failed` when the URL contains `fail`; `pairing-notray` is the same without `joinUrl` and `joinCommand`, `forgotten` adds quay-studio offline with a `note`, and `outdated` adds it connected with a `note` to update slicc.
|
|
1023
1023
|
New join URL changes the URL, and `model.network.setLinks()` switches scenarios.
|
|
1024
1024
|
`createDummyModel({ leaders: 'connected' | 'failed' | 'unlinked' | 'disconnected' | 'two' })` (or `?leaders=` on `/ui/`, off by default) adds invented leaders and their members: cove-studio connected, marsh-desk failed with an error, cove-studio unlinked (gone on the next status), cove-studio disconnected, or both cove-studio and marsh-desk; Retry and Reconnect move a leader to connecting, then connected, Disconnect makes it disconnected and Forget drops it, each after a short wait.
|
|
1025
|
-
`networkFixtures`, `tailnetFixtures`, `linksFixtures`, `leadersFixtures`, `joinUrl`, `pairingCode`, `pairingRefused`, `pairingStopped`, `pairedDevice`, `forgottenDevice` and `DummyNetwork` are exported from `/dummy`.
|
|
1025
|
+
`networkFixtures`, `tailnetFixtures`, `linksFixtures`, `leadersFixtures`, `joinUrl`, `pairingCode`, `pairingRefused`, `pairingStopped`, `pairedDevice`, `forgottenDevice`, `outdatedDevice` and `DummyNetwork` are exported from `/dummy`.
|
|
1026
1026
|
`createDummyModel({ guests: 'on' | 'none' | 'unavailable' | 'fail' | 'policy' })` (or `?guests=` on `/ui/`, off by default) adds an invented `guests` port: `on` has Seat 1 (Mara) on sliccy, connected with 2 waiting and 5 days left, and Seat 2 (Ole) on harbor, not connected and without expiry; `none` has no seats; `unavailable` has none and says guests need the tray hub, so minting rejects; `fail` makes `mint` reject with a sentence; and `policy` has the `on` seats and a `gates()` (`guestsPolicy`) that also allows tools `off`.
|
|
1027
1027
|
`mint` adds a seat after a short wait and resolves with an invented `https://www.example.com/guest/…` URL, `revoke` drops the seat, and `model.guests.setScenario()` switches scenarios.
|
|
1028
1028
|
`guestsFixtures`, `guestsPolicy`, `guestsUnavailable`, `guestsRefused` and `DummyGuests` are exported from `/dummy`.
|
package/dist/slicc-dummy.js
CHANGED
|
@@ -4380,6 +4380,10 @@ var forgottenDevice = {
|
|
|
4380
4380
|
state: "offline",
|
|
4381
4381
|
note: "SLICC on quay-studio no longer knows this seven. Pair it again."
|
|
4382
4382
|
};
|
|
4383
|
+
var outdatedDevice = {
|
|
4384
|
+
...pairedDevice,
|
|
4385
|
+
note: "Update slicc to 1.47.0 or later to share this computer\u2019s browsers."
|
|
4386
|
+
};
|
|
4383
4387
|
var others = linkedDevices.filter((device) => device.id !== pairedDevice.id);
|
|
4384
4388
|
function grant(device, key, allowed) {
|
|
4385
4389
|
const access = { ...device.access, [key]: allowed };
|
|
@@ -4408,9 +4412,10 @@ function linksFixtures(scenario, rotation = 0) {
|
|
|
4408
4412
|
return { links: { ...base, devices: others, pairing: { state: "idle" } }, exit: null };
|
|
4409
4413
|
if (scenario === "pairing-notray")
|
|
4410
4414
|
return { links: { devices: others, permission: null, pairing: { state: "idle" } }, exit: null };
|
|
4411
|
-
if (scenario === "forgotten") {
|
|
4415
|
+
if (scenario === "forgotten" || scenario === "outdated") {
|
|
4416
|
+
const device = scenario === "forgotten" ? forgottenDevice : outdatedDevice;
|
|
4412
4417
|
return {
|
|
4413
|
-
links: { ...base, devices: [
|
|
4418
|
+
links: { ...base, devices: [device, ...others], pairing: { state: "idle" } },
|
|
4414
4419
|
exit: null
|
|
4415
4420
|
};
|
|
4416
4421
|
}
|
|
@@ -6968,6 +6973,7 @@ export {
|
|
|
6968
6973
|
networkFixtures,
|
|
6969
6974
|
noticeFixtures,
|
|
6970
6975
|
otherGuest,
|
|
6976
|
+
outdatedDevice,
|
|
6971
6977
|
packageFixtures,
|
|
6972
6978
|
page,
|
|
6973
6979
|
pairedDevice,
|