@ai-ecoverse/slicc-spectrum 2.10.0 → 2.11.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 +3 -3
- package/dist/slicc-dummy.js +20 -12
- package/dist/slicc-dummy.js.map +2 -2
- package/dist/slicc-ui.js +16 -5
- package/dist/slicc-ui.js.map +3 -3
- package/dist/types/dummy/live.d.ts +1 -1
- package/dist/types/model/types.d.ts +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1002,8 +1002,8 @@ An approval whose `kind` this build doesn't know shows neither a dialog nor a no
|
|
|
1002
1002
|
#### `live` (optional)
|
|
1003
1003
|
|
|
1004
1004
|
Later backed by: BIOS.
|
|
1005
|
-
`items()` returns the `LiveItem`s, what is live in seven now (a recording, later an open serial port): `id`, `kind` (free text: `screen`, `camera`, `microphone`, later `serial`), `label` (such as "Recording screen"), `what` (may be empty), `asker`, `since` (ms) and `action` (`{ label }`, such as "Stop"); emit `items` when the list changes. `act(id)` runs the item's action.
|
|
1006
|
-
`<slicc-app>` shows `<slicc-live>` under the header when the port is there: nothing while `items()` is empty, else one chip per item, stacked (`[data-surface=live]`, each chip `[data-id]`): a red dot, then "{label} · {what} · {asker} · m:ss" (`what` left out when empty), ticking once a second from `since`, and a quiet button with `action.label` (`data-action="live-act"`) that calls `act(id)`. On phones (`compact`) a chip keeps only the dot, the label and the button.
|
|
1005
|
+
`items()` returns the `LiveItem`s, what is live in seven now (a recording, later an open serial port): `id`, `kind` (free text: `screen`, `camera`, `microphone`, later `serial`), `label` (such as "Recording screen"), `what` (may be empty), `asker`, `since` (ms), optional `endedAt` (ms, when the item has finished; leave it out for a live chip) and `action` (`{ label }`, such as "Stop" or "Dismiss"); emit `items` when the list changes. `act(id)` runs the item's action.
|
|
1006
|
+
`<slicc-app>` shows `<slicc-live>` under the header when the port is there: nothing while `items()` is empty, else one chip per item, stacked (`[data-surface=live]`, each chip `[data-id]`): a red dot, then "{label} · {what} · {asker} · m:ss" (`what` left out when empty), ticking once a second from `since`, and a quiet button with `action.label` (`data-action="live-act"`) that calls `act(id)`. With `endedAt` the chip carries `data-ended`, uses a neutral (not red) dot with no pulse, replaces the ticking timer with "Ended" (frozen from `endedAt`, so the elapsed time stays put without a timer), and keeps the same act button (bios sets the label to **Dismiss** and removes the item). The strip only ticks while at least one item has no `endedAt`. On phones (`compact`) a live chip keeps only the dot, the label and the button; an ended chip also keeps "Ended" next to the label. Spectrum does not rewrite `label`: bios owns that wording and should use past tense for ended items (for example "Recorded microphone"). The dummy's `live: 'ended'` (or `?live=ended` on `/ui/`) stacks one live screen chip next to an ended microphone chip.
|
|
1007
1007
|
|
|
1008
1008
|
#### `capture` (optional)
|
|
1009
1009
|
|
|
@@ -1144,7 +1144,7 @@ Like slicc-agent's snapshot, the dummy's vitals are the budget, Spend, Active ag
|
|
|
1144
1144
|
`controls-cr` and `controls-lf` show control characters in a sudo command's quoted word; `controls-place` shows them in the requester name, place and target; `controls-cwd` shows them in the cwd.
|
|
1145
1145
|
`createDummyModel({ asks: 'long' })` (`?asks=long`) adds a pending sudo request with that seven-line command to kitchen-sink (`k-long`).
|
|
1146
1146
|
`createDummyModel({ approvals: 'click' | 'click-remote' | 'capture' })` adds one capture request: a click request from sliccy for `media` to choose what to share (`click-share`, `here: true`), the same with `here: false` on Studio Mac (`click-remote`), or a guest capture from Seat 2 (Mara) through sliccy, recording the screen for up to 10 seconds with the microphone, with a level 2 verdict (`capture-screen`).
|
|
1147
|
-
`createDummyModel({ live: 'screen' | 'both' })` (`?live=` on `/ui/`) adds a `live` port with sliccy recording the entire screen (`live-screen`), and with `both` also Seat 2 (Mara) via docs-pass recording the desk microphone (`live-microphone`); `act(id)` records the id in `model.live.acted` and drops the item, and `model.live.add(item)` adds one.
|
|
1147
|
+
`createDummyModel({ live: 'screen' | 'both' | 'ended' })` (`?live=` on `/ui/`) adds a `live` port with sliccy recording the entire screen (`live-screen`), and with `both` also Seat 2 (Mara) via docs-pass recording the desk microphone (`live-microphone`); `ended` keeps the live screen chip and ends the microphone chip (`endedAt`, **Dismiss**); `act(id)` records the id in `model.live.acted` and drops the item, and `model.live.add(item)` adds one.
|
|
1148
1148
|
`createDummyModel({ switches: 'capture' })` (`?switches=capture`) adds a `switches` port with Camera, Microphone and Screen, all on; `set` records `[key, on]` in `model.switches.sets`.
|
|
1149
1149
|
Kitchen-sink's "Here is where things stand." ends with a `media` call that waited for a click in seven's tab (`k-media`).
|
|
1150
1150
|
Decisions are recorded in `model.approvals.decisions`, and `model.approvals.end(id, reason)` ends a request.
|
package/dist/slicc-dummy.js
CHANGED
|
@@ -4356,18 +4356,26 @@ function liveFixtures(scenario, now2 = Date.now()) {
|
|
|
4356
4356
|
action: { label: "Stop" }
|
|
4357
4357
|
};
|
|
4358
4358
|
if (scenario === "screen") return [screen];
|
|
4359
|
-
|
|
4360
|
-
|
|
4361
|
-
|
|
4362
|
-
|
|
4363
|
-
|
|
4364
|
-
|
|
4365
|
-
|
|
4366
|
-
|
|
4367
|
-
|
|
4368
|
-
|
|
4369
|
-
|
|
4370
|
-
|
|
4359
|
+
const microphone = {
|
|
4360
|
+
id: "live-microphone",
|
|
4361
|
+
kind: "microphone",
|
|
4362
|
+
label: "Recording microphone",
|
|
4363
|
+
what: "Desk microphone",
|
|
4364
|
+
asker: "Seat 2 (Mara) via docs-pass",
|
|
4365
|
+
since: now2 - 7e3,
|
|
4366
|
+
action: { label: "Stop" }
|
|
4367
|
+
};
|
|
4368
|
+
if (scenario === "ended") {
|
|
4369
|
+
return [
|
|
4370
|
+
screen,
|
|
4371
|
+
{
|
|
4372
|
+
...microphone,
|
|
4373
|
+
endedAt: now2 - 1e3,
|
|
4374
|
+
action: { label: "Dismiss" }
|
|
4375
|
+
}
|
|
4376
|
+
];
|
|
4377
|
+
}
|
|
4378
|
+
return [screen, microphone];
|
|
4371
4379
|
}
|
|
4372
4380
|
var DummyLive = class extends Emitter {
|
|
4373
4381
|
#items;
|