@ai-ecoverse/slicc-spectrum 2.11.0 → 2.11.2

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
@@ -257,7 +257,7 @@ The chevron only expands and collapses; a click on the row, <kbd>Enter</kbd> or
257
257
  <kbd>→</kbd> expands a cone and then moves to its first scoop, <kbd>←</kbd> moves from a scoop to its cone and then collapses it, and neither changes the active agent.
258
258
  Several cones can be open at once, and they stay open for every view of the panel on the same model, so a layout switch keeps them; when the active agent has changed since the panel last showed it, its cone opens again as the panel mounts, so on a phone a cone you tapped still shows its scoops when you come back to Agents, and a cone you closed stays closed.
259
259
  When the active scoop's cone is collapsed, the cone row takes the Tab stop.
260
- A row's first line starts with a dot coloured by status, always in the same place, and, when there are unread messages, the unread count beside it (`99+` from a hundred up, at `--swc-font-size-50`, white on the accent fill, or on the negative fill when the cone is in error).
260
+ A row's first line starts with a status mark shaped by status (a filled disk when idle, a pulsing ringed disk when working that `prefers-reduced-motion` stills, a dashed ring when thinking, a hollow ring when waiting, and an alert triangle when in error), always in the same place, and, when there are unread messages, the unread count beside it (`99+` from a hundred up, at `--swc-font-size-50`, white on the accent fill, or on the negative fill when the cone is in error).
261
261
  Then comes the name; the context fill, when it's high, sits in the top right corner.
262
262
  Every row has up to two lines of conversation title, aligned to the top under the name, with no status word, so nothing moves when the status changes; the accessible name and the tooltip say the status and the exact unread count.
263
263
  A cone with scoops has a ribbon line below: one segment per scoop, coloured by status at 3:1 or more on every row background, then its scoops in words, naming only the busy ones, as in "2 scoops · 1 waiting" ("2 scoops" when all are idle).
@@ -266,7 +266,7 @@ Rows without scoops or errors have no empty ribbon or error line.
266
266
  With no agents while the agent port's `starting()` returns a line, the panel says "The agent shows up here once it starts." (`[data-empty="starting"]`, subdued) and has no **New cone**; the line goes, and New cone comes back, once an agent arrives or the line clears.
267
267
  The drop or delete button sits in its own column on the row's right edge, under the context fill, so the title ellipsizes before it and the focus ring stays whole; it shows on hover, on keyboard focus of the row, when <kbd>Tab</kbd> from the selected row reaches it, and always on touch, and it hides again once a pointer that clicked it leaves.
268
268
  The selected row has an accent bar on its inline-start edge.
269
- Under forced colors, the dots, segments, unread circle and selection bar keep `CanvasText`, `Highlight` and `HighlightText`.
269
+ Under forced colors, the status marks keep their shapes in `CanvasText`, and the segments, unread circle and selection bar keep `CanvasText`, `Highlight` and `HighlightText`.
270
270
  A cone with scoops carries `aria-expanded`, and `aria-controls` names its scoop rows while they show.
271
271
  Expanding and collapsing have no motion.
272
272
  **New cone** sits at the bottom.
@@ -301,7 +301,7 @@ While pending, cards leave the log for their own region between the header and t
301
301
  Clicking a waiting card (not its controls), or <kbd>Enter</kbd> on it, scrolls the log to where it was asked, at the bottom of the view above the composer.
302
302
  When a card leaves the region (answered, timed out or decided elsewhere) while it has focus, focus moves to the newest card still waiting, else the composer; a timed-out card goes back to its place in the log.
303
303
  Under `prefers-reduced-motion`, nothing animates and the scroll is instant.
304
- The header is one row: a dot coloured by status (`data-agent-status`, with the status in its `aria-label` and tooltip, and no word, so the pickers never move; in forced colours it paints `CanvasText`, like the Agents markers), a model picker that names each model's provider and leaves out classifiers and models with `tools: false` (with no model on offer, **Set up a model**, `data-action="set-up-model"`, opens Settings), the thinking picker, the context meter and **New conversation**, which calls `clear` and puts focus back in the composer; on a cone, when the port can freeze, its tooltip says the old conversation stays in the Freezer.
304
+ The header is one row: a status mark shaped by status (`data-agent-status`, with the status in its `aria-label` and tooltip, focusable so the keyboard reaches it, and no visible word, so the pickers never move; in forced colours its shape paints `CanvasText`, like the Agents markers), a model picker that names each model's provider and leaves out classifiers and models with `tools: false` (with no model on offer, **Set up a model**, `data-action="set-up-model"`, opens Settings), the thinking picker, the context meter and **New conversation**, which calls `clear` and puts focus back in the composer; on a cone, when the port can freeze, its tooltip says the old conversation stays in the Freezer.
305
305
  It never wraps: when it's short of room, the model picker's label is cut with an ellipsis, and under 560px wide (`header[data-compact]`) New conversation is icon-only, with `accessible-label` and its tooltip.
306
306
  The pickers re-read `models()` on `settings`, `accounts` and `agents`.
307
307
  When a live agent's model, or `Settings.model`, is no longer offered and its provider (the id before `/`) isn't a connected account, it moves to the offered chat model with `default: true`, else the first one; frozen agents are left alone, and so is everything on a follower unless it has Control and is connected.