@ai-ecoverse/slicc-spectrum 2.11.0 → 2.11.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 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.
package/dist/slicc-ui.js CHANGED
@@ -8454,6 +8454,24 @@ var o42 = class extends a8 {
8454
8454
  };
8455
8455
  e26("swc-icon-close", o42);
8456
8456
 
8457
+ // node_modules/@adobe/spectrum-wc-icons/dist/AlertTriangle.js
8458
+ function e75() {
8459
+ return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M10 15.123a.9.9 0 0 1-.627-.228.956.956 0 0 1 0-1.285.87.87 0 0 1 .626-.234c.237-.01.466.08.633.247a.86.86 0 0 1 .242.627.88.88 0 0 1-.228.639.86.86 0 0 1-.647.234M10 11.75a.75.75 0 0 1-.75-.75V7a.75.75 0 0 1 1.5 0v4a.75.75 0 0 1-.75.75"/><path fill="var(--swc-icon-color, currentColor)" d="M16.733 18H3.267c-.8 0-1.523-.41-1.933-1.098s-.427-1.518-.046-2.222L8.02 2.232a2.248 2.248 0 0 1 3.958 0l6.733 12.448c.381.704.364 1.535-.046 2.222S17.534 18 16.733 18M10 2.553a.73.73 0 0 0-.66.392L2.607 15.393a.74.74 0 0 0 .016.74.74.74 0 0 0 .644.367h13.466a.74.74 0 0 0 .644-.366.74.74 0 0 0 .016-.741L10.66 2.945a.73.73 0 0 0-.66-.392"/></svg>';
8460
+ }
8461
+
8462
+ // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-alert-triangle.js
8463
+ var o43 = class extends a8 {
8464
+ static get styles() {
8465
+ return [t40];
8466
+ }
8467
+ render() {
8468
+ return b`
8469
+ ${o15(e75())}
8470
+ `;
8471
+ }
8472
+ };
8473
+ e26("swc-icon-alert-triangle", o43);
8474
+
8457
8475
  // src/app/base.ts
8458
8476
  var typed = false;
8459
8477
  document.addEventListener("keydown", () => typed = true, true);
@@ -8605,26 +8623,158 @@ function chatModels(options2) {
8605
8623
  function statusLight(status2) {
8606
8624
  return b`<swc-status-light size="s" variant=${statusVariant[status2]}>${statusLabel[status2]}</swc-status-light>`;
8607
8625
  }
8626
+ function statusMark(status2) {
8627
+ if (status2 !== "error") return A;
8628
+ return b`<swc-icon-alert-triangle size="xs" aria-hidden="true"></swc-icon-alert-triangle>`;
8629
+ }
8608
8630
  function statusDot(status2) {
8609
- return b`<span class="dot" data-agent-status=${status2} data-variant=${statusVariant[status2]} role="img" aria-label=${statusLabel[status2]} title=${statusLabel[status2]}></span>`;
8631
+ return b`<span
8632
+ class="dot"
8633
+ data-agent-status=${status2}
8634
+ data-variant=${statusVariant[status2]}
8635
+ role="img"
8636
+ aria-label=${statusLabel[status2]}
8637
+ title=${statusLabel[status2]}
8638
+ tabindex="0"
8639
+ >${statusMark(status2)}</span
8640
+ >`;
8610
8641
  }
8611
8642
  var shared = i`
8643
+ @keyframes status-working {
8644
+ 50% {
8645
+ opacity: 0.45;
8646
+ }
8647
+ }
8612
8648
  .dot {
8613
- display: inline-block;
8649
+ display: inline-flex;
8614
8650
  flex: none;
8651
+ align-items: center;
8652
+ justify-content: center;
8653
+ box-sizing: border-box;
8615
8654
  width: var(--swc-spacing-100);
8616
8655
  height: var(--swc-spacing-100);
8656
+ border: var(--swc-border-width-200) solid transparent;
8617
8657
  border-radius: var(--swc-corner-radius-full);
8618
8658
  background: var(--swc-neutral-visual-color);
8659
+ color: var(--swc-neutral-visual-color);
8660
+ }
8661
+ .dot:focus {
8662
+ outline: none;
8663
+ }
8664
+ .dot:focus-visible {
8665
+ outline: var(--swc-focus-indicator-thickness) solid var(--swc-focus-indicator-color);
8666
+ outline-offset: var(--swc-focus-ring-gap);
8619
8667
  }
8620
8668
  .dot[data-variant='info'] {
8621
8669
  background: var(--swc-informative-visual-color);
8670
+ color: var(--swc-informative-visual-color);
8622
8671
  }
8623
8672
  .dot[data-variant='notice'] {
8624
8673
  background: var(--swc-notice-visual-color);
8674
+ color: var(--swc-notice-visual-color);
8625
8675
  }
8626
8676
  .dot[data-variant='negative'] {
8627
8677
  background: var(--swc-negative-visual-color);
8678
+ color: var(--swc-negative-visual-color);
8679
+ }
8680
+ .dot[data-agent-status] {
8681
+ margin-inline: var(--swc-border-width-200);
8682
+ }
8683
+ .dot[data-agent-status='thinking'] {
8684
+ background: transparent;
8685
+ border-style: dashed;
8686
+ border-color: var(--swc-informative-visual-color);
8687
+ }
8688
+ .dot[data-agent-status='waiting'] {
8689
+ background: transparent;
8690
+ border-color: var(--swc-notice-visual-color);
8691
+ }
8692
+ .dot[data-agent-status='working'] {
8693
+ box-shadow: 0 0 0 var(--swc-border-width-200) var(--swc-informative-visual-color);
8694
+ animation: status-working calc(var(--swc-animation-duration-600) * 4)
8695
+ var(--swc-animation-ease-in-out) infinite;
8696
+ }
8697
+ .dot[data-agent-status='error'] {
8698
+ width: var(--swc-spacing-200);
8699
+ height: var(--swc-spacing-200);
8700
+ margin-inline: calc(
8701
+ var(--swc-border-width-200) - (var(--swc-spacing-200) - var(--swc-spacing-100)) / 2
8702
+ );
8703
+ border: none;
8704
+ background: transparent;
8705
+ color: var(--swc-negative-visual-color);
8706
+ }
8707
+ .dot[data-agent-status='error'] swc-icon-alert-triangle {
8708
+ display: block;
8709
+ inline-size: 100%;
8710
+ block-size: 100%;
8711
+ --swc-icon-inline-size: 100%;
8712
+ --swc-icon-block-size: 100%;
8713
+ --swc-icon-color: currentColor;
8714
+ }
8715
+ .marker.status {
8716
+ border: var(--swc-border-width-200) solid transparent;
8717
+ margin-inline-end: var(--swc-border-width-200);
8718
+ }
8719
+ .marker.status[data-status='thinking'] {
8720
+ background: transparent;
8721
+ border-style: dashed;
8722
+ border-color: var(--status-color);
8723
+ }
8724
+ .marker.status[data-status='waiting'] {
8725
+ background: transparent;
8726
+ border-color: var(--status-color);
8727
+ }
8728
+ .marker.status[data-status='working'] {
8729
+ box-shadow: 0 0 0 var(--swc-border-width-200) var(--status-color);
8730
+ animation: status-working calc(var(--swc-animation-duration-600) * 4)
8731
+ var(--swc-animation-ease-in-out) infinite;
8732
+ }
8733
+ .marker.status[data-status='error'] {
8734
+ border: none;
8735
+ background: transparent;
8736
+ color: var(--status-color);
8737
+ }
8738
+ .marker.status[data-status='error'] swc-icon-alert-triangle {
8739
+ display: block;
8740
+ inline-size: 100%;
8741
+ block-size: 100%;
8742
+ --swc-icon-inline-size: 100%;
8743
+ --swc-icon-block-size: 100%;
8744
+ --swc-icon-color: currentColor;
8745
+ }
8746
+ @media (prefers-reduced-motion: reduce) {
8747
+ .dot[data-agent-status='working'],
8748
+ .marker.status[data-status='working'] {
8749
+ animation: none;
8750
+ }
8751
+ }
8752
+ @media (forced-colors: active) {
8753
+ .dot[data-agent-status],
8754
+ .marker.status[data-status] {
8755
+ forced-color-adjust: none;
8756
+ background: CanvasText;
8757
+ color: CanvasText;
8758
+ border-color: CanvasText;
8759
+ box-shadow: none;
8760
+ }
8761
+ .dot[data-agent-status='thinking'],
8762
+ .dot[data-agent-status='waiting'],
8763
+ .dot[data-agent-status='error'],
8764
+ .marker.status[data-status='thinking'],
8765
+ .marker.status[data-status='waiting'],
8766
+ .marker.status[data-status='error'] {
8767
+ background: transparent;
8768
+ }
8769
+ .dot[data-agent-status='working'],
8770
+ .marker.status[data-status='working'] {
8771
+ box-shadow:
8772
+ 0 0 0 var(--swc-border-width-100) Canvas,
8773
+ 0 0 0 calc(var(--swc-border-width-100) + var(--swc-border-width-200)) CanvasText;
8774
+ }
8775
+ .dot:focus-visible {
8776
+ outline-color: Highlight;
8777
+ }
8628
8778
  }
8629
8779
  .count {
8630
8780
  display: inline-block;
@@ -8764,10 +8914,10 @@ var s7 = class {
8764
8914
  defineElement("sp-button", Button);
8765
8915
 
8766
8916
  // node_modules/@spectrum-web-components/button-group/src/button-group.css.js
8767
- var o43 = i`
8917
+ var o44 = i`
8768
8918
  :host{--spectrum-buttongroup-spacing:var(--mod-buttongroup-spacing,var(--mod-buttongroup-spacing-horizontal,var(--spectrum-spacing-300)));--spectrum-buttongroup-display:flex;--spectrum-buttongroup-flex-direction:row;--spectrum-buttongroup-justify-content:var(--mod-buttongroup-justify-content,normal)}:host([size=s]){--spectrum-buttongroup-spacing:var(--mod-buttongroup-spacing,var(--mod-buttongroup-spacing-horizontal,var(--spectrum-spacing-200)))}:host([vertical]){--mod-buttongroup-spacing:var(--mod-buttongroup-spacing-vertical);--spectrum-buttongroup-display:inline-flex;--spectrum-buttongroup-flex-direction:column}:host{display:var(--spectrum-buttongroup-display);flex-direction:var(--spectrum-buttongroup-flex-direction);gap:var(--spectrum-buttongroup-spacing);justify-content:var(--spectrum-buttongroup-justify-content);flex-wrap:wrap}::slotted(*){flex-shrink:0}:host([vertical]) ::slotted(sp-action-button){--spectrum-actionbutton-label-flex-grow:1;--spectrum-actionbutton-label-text-align:left}:host([vertical]:dir(rtl)) ::slotted(sp-action-button){--spectrum-actionbutton-label-text-align:right}
8769
8919
  `;
8770
- var button_group_css_default = o43;
8920
+ var button_group_css_default = o44;
8771
8921
 
8772
8922
  // node_modules/@spectrum-web-components/button-group/src/ButtonGroup.js
8773
8923
  var a9 = Object.defineProperty;
@@ -8873,20 +9023,20 @@ function h5(a20, r36) {
8873
9023
  }
8874
9024
  }), t90;
8875
9025
  }
8876
- var o44 = class o45 extends FocusVisiblePolyfillMixin(SpectrumElement) {
9026
+ var o45 = class o46 extends FocusVisiblePolyfillMixin(SpectrumElement) {
8877
9027
  constructor() {
8878
9028
  super(...arguments);
8879
9029
  this.resizeController = new s7(this, { callback: () => {
8880
9030
  this.shouldManageTabOrderForScrolling();
8881
9031
  } });
8882
9032
  this._variant = "";
8883
- this.labelledbyId = `sp-dialog-label-${o45.instanceCount++}`;
9033
+ this.labelledbyId = `sp-dialog-label-${o46.instanceCount++}`;
8884
9034
  this.shouldManageTabOrderForScrolling = () => {
8885
9035
  if (!this.contentElement) return;
8886
9036
  const { offsetHeight: e128, scrollHeight: t90 } = this.contentElement;
8887
9037
  e128 < t90 ? this.contentElement.tabIndex = 0 : this.contentElement.removeAttribute("tabindex");
8888
9038
  };
8889
- this.describedbyId = `sp-dialog-description-${o45.instanceCount++}`;
9039
+ this.describedbyId = `sp-dialog-description-${o46.instanceCount++}`;
8890
9040
  }
8891
9041
  static get styles() {
8892
9042
  return [alert_dialog_css_default];
@@ -8959,17 +9109,17 @@ var o44 = class o45 extends FocusVisiblePolyfillMixin(SpectrumElement) {
8959
9109
  `;
8960
9110
  }
8961
9111
  };
8962
- o44.instanceCount = 0, l12([e(".content")], o44.prototype, "contentElement", 2), l12([n({ type: String, reflect: true })], o44.prototype, "variant", 1);
8963
- var AlertDialog = o44;
9112
+ o45.instanceCount = 0, l12([e(".content")], o45.prototype, "contentElement", 2), l12([n({ type: String, reflect: true })], o45.prototype, "variant", 1);
9113
+ var AlertDialog = o45;
8964
9114
 
8965
9115
  // node_modules/@spectrum-web-components/alert-dialog/sp-alert-dialog.js
8966
9116
  defineElement("sp-alert-dialog", AlertDialog);
8967
9117
 
8968
9118
  // node_modules/@spectrum-web-components/icon/src/spectrum-icon-asterisk.css.js
8969
- var e75 = i`
9119
+ var e76 = i`
8970
9120
  .spectrum-UIIcon-Asterisk75{--spectrum-icon-size:var(--spectrum-asterisk-icon-size-75)}.spectrum-UIIcon-Asterisk100{--spectrum-icon-size:var(--spectrum-asterisk-icon-size-100)}.spectrum-UIIcon-Asterisk200{--spectrum-icon-size:var(--spectrum-asterisk-icon-size-200)}.spectrum-UIIcon-Asterisk300{--spectrum-icon-size:var(--spectrum-asterisk-icon-size-300)}
8971
9121
  `;
8972
- var spectrum_icon_asterisk_css_default = e75;
9122
+ var spectrum_icon_asterisk_css_default = e76;
8973
9123
 
8974
9124
  // node_modules/@spectrum-web-components/icons-ui/src/icons-s2/Asterisk100.js
8975
9125
  var Asterisk100Icon = ({ width: l21 = 24, height: t90 = 24, hidden: e128 = false, title: r36 = "Asterisk100" } = {}) => tag`<svg
@@ -9022,7 +9172,7 @@ var field_label_css_default = t44;
9022
9172
  // node_modules/@spectrum-web-components/field-label/src/FieldLabel.js
9023
9173
  var c16 = Object.defineProperty;
9024
9174
  var d11 = Object.getOwnPropertyDescriptor;
9025
- var o46 = (n38, l21, e128, i26) => {
9175
+ var o47 = (n38, l21, e128, i26) => {
9026
9176
  for (var t90 = i26 > 1 ? void 0 : i26 ? d11(l21, e128) : l21, s17 = n38.length - 1, r36; s17 >= 0; s17--) (r36 = n38[s17]) && (t90 = (i26 ? r36(l21, e128, t90) : r36(t90)) || t90);
9027
9177
  return i26 && t90 && c16(l21, e128, t90), t90;
9028
9178
  };
@@ -9082,16 +9232,16 @@ var FieldLabel = class extends SizedMixin(SpectrumElement, { noDefaultSize: true
9082
9232
  this.hasAttribute("id") || this.setAttribute("id", `${this.tagName.toLowerCase()}-${randomID()}`), e128.has("for") && (this.resolvedElement.selector = this.for ? `#${this.for}` : ""), (e128.has("id") || e128.has(elementResolverUpdatedSymbol)) && this.manageTarget();
9083
9233
  }
9084
9234
  };
9085
- o46([n({ type: Boolean, reflect: true })], FieldLabel.prototype, "disabled", 2), o46([n({ type: String })], FieldLabel.prototype, "id", 2), o46([n({ type: String })], FieldLabel.prototype, "for", 2), o46([n({ type: Boolean, reflect: true })], FieldLabel.prototype, "required", 2), o46([e("slot")], FieldLabel.prototype, "slotEl", 2), o46([n({ type: String, reflect: true, attribute: "side-aligned" })], FieldLabel.prototype, "sideAligned", 2);
9235
+ o47([n({ type: Boolean, reflect: true })], FieldLabel.prototype, "disabled", 2), o47([n({ type: String })], FieldLabel.prototype, "id", 2), o47([n({ type: String })], FieldLabel.prototype, "for", 2), o47([n({ type: Boolean, reflect: true })], FieldLabel.prototype, "required", 2), o47([e("slot")], FieldLabel.prototype, "slotEl", 2), o47([n({ type: String, reflect: true, attribute: "side-aligned" })], FieldLabel.prototype, "sideAligned", 2);
9086
9236
 
9087
9237
  // node_modules/@spectrum-web-components/field-label/sp-field-label.js
9088
9238
  defineElement("sp-field-label", FieldLabel);
9089
9239
 
9090
9240
  // node_modules/@spectrum-web-components/help-text/src/help-text.css.js
9091
- var e76 = i`
9241
+ var e77 = i`
9092
9242
  @media (forced-colors:active){:host{--highcontrast-helptext-content-color-default:CanvasText;--highcontrast-helptext-icon-color-default:CanvasText}:host,.text,.icon{forced-color-adjust:none}}:host{--spectrum-helptext-content-color-default:var(--spectrum-neutral-subdued-content-color-default);--spectrum-helptext-icon-color-default:var(--spectrum-neutral-subdued-content-color-default);min-block-size:var(--mod-helptext-min-height,var(--spectrum-helptext-min-height));font-size:var(--mod-helptext-font-size,var(--spectrum-helptext-font-size));color:var(--highcontrast-helptext-content-color-default,var(--mod-helptext-content-color-default,var(--spectrum-helptext-content-color-default)));display:flex}:host([size=s]){--spectrum-helptext-min-height:var(--spectrum-component-height-75);--spectrum-helptext-icon-size:var(--spectrum-workflow-icon-size-75);--spectrum-helptext-font-size:var(--spectrum-font-size-75);--spectrum-helptext-text-to-visual:var(--spectrum-text-to-visual-75);--spectrum-helptext-top-to-workflow-icon:var(--spectrum-help-text-top-to-workflow-icon-small);--spectrum-helptext-bottom-to-workflow-icon:var(--spectrum-helptext-top-to-workflow-icon)}:host,:host{--spectrum-helptext-min-height:var(--spectrum-component-height-75);--spectrum-helptext-icon-size:var(--spectrum-workflow-icon-size-100);--spectrum-helptext-font-size:var(--spectrum-font-size-75);--spectrum-helptext-text-to-visual:var(--spectrum-text-to-visual-75);--spectrum-helptext-top-to-workflow-icon:var(--spectrum-help-text-top-to-workflow-icon-medium);--spectrum-helptext-bottom-to-workflow-icon:var(--spectrum-helptext-top-to-workflow-icon)}:host([size=l]){--spectrum-helptext-min-height:var(--spectrum-component-height-100);--spectrum-helptext-icon-size:var(--spectrum-workflow-icon-size-200);--spectrum-helptext-font-size:var(--spectrum-font-size-100);--spectrum-helptext-text-to-visual:var(--spectrum-text-to-visual-100);--spectrum-helptext-top-to-workflow-icon:var(--spectrum-help-text-top-to-workflow-icon-large);--spectrum-helptext-bottom-to-workflow-icon:var(--spectrum-helptext-top-to-workflow-icon)}:host([size=xl]){--spectrum-helptext-min-height:var(--spectrum-component-height-200);--spectrum-helptext-icon-size:var(--spectrum-workflow-icon-size-300);--spectrum-helptext-font-size:var(--spectrum-font-size-200);--spectrum-helptext-text-to-visual:var(--spectrum-text-to-visual-200);--spectrum-helptext-top-to-workflow-icon:var(--spectrum-help-text-top-to-workflow-icon-extra-large);--spectrum-helptext-bottom-to-workflow-icon:var(--spectrum-helptext-top-to-workflow-icon)}:host([variant=neutral]){--spectrum-helptext-content-color-default:var(--spectrum-neutral-subdued-content-color-default);--spectrum-helptext-icon-color-default:var(--spectrum-neutral-subdued-content-color-default)}:host([variant=negative]){--spectrum-helptext-content-color-default:var(--spectrum-negative-color-900);--spectrum-helptext-icon-color-default:var(--spectrum-negative-color-900)}:host([disabled]){--spectrum-helptext-content-color-default:var(--spectrum-disabled-content-color);--spectrum-helptext-icon-color-default:var(--spectrum-disabled-content-color)}:host(:lang(ja)),:host(:lang(ko)),:host(:lang(zh)){--mod-helptext-line-height:var(--mod-helptext-line-height-cjk,var(--spectrum-cjk-line-height-100))}.icon{inline-size:var(--mod-helptext-icon-size,var(--spectrum-helptext-icon-size));block-size:var(--mod-helptext-icon-size,var(--spectrum-helptext-icon-size));flex-shrink:0;margin-inline-end:var(--mod-helptext-text-to-visual,var(--spectrum-helptext-text-to-visual));padding-block-start:var(--mod-helptext-top-to-workflow-icon,var(--spectrum-helptext-top-to-workflow-icon));padding-block-end:var(--mod-helptext-bottom-to-workflow-icon,var(--spectrum-helptext-bottom-to-workflow-icon))}.text{line-height:var(--mod-helptext-line-height,var(--spectrum-line-height-100));padding-block-start:var(--mod-helptext-top-to-text,var(--spectrum-helptext-top-to-text));padding-block-end:var(--mod-helptext-bottom-to-text,var(--spectrum-helptext-bottom-to-text))}:host([variant=neutral]) .text{color:var(--highcontrast-helptext-content-color-default,var(--mod-helptext-content-color-default,var(--spectrum-helptext-content-color-default)))}:host([variant=neutral]) .icon{color:var(--highcontrast-helptext-icon-color-default,var(--mod-helptext-icon-color-default,var(--spectrum-helptext-icon-color-default)))}:host([variant=negative]) .text{color:var(--highcontrast-helptext-content-color-default,var(--mod-helptext-content-color-default,var(--spectrum-helptext-content-color-default)))}:host([variant=negative]) .icon{color:var(--highcontrast-helptext-icon-color-default,var(--mod-helptext-icon-color-default,var(--spectrum-helptext-icon-color-default)))}:host([disabled]) .text{color:var(--highcontrast-helptext-content-color-default,var(--mod-helptext-content-color-default,var(--spectrum-helptext-content-color-default)))}:host([disabled]) .icon{color:var(--highcontrast-helptext-icon-color-default,var(--mod-helptext-icon-color-default,var(--spectrum-helptext-icon-color-default)))}:host{--spectrum-helptext-top-to-text:var(--system-helptext-top-to-text);--spectrum-helptext-bottom-to-text:var(--system-helptext-bottom-to-text)}:host([size=s]){--spectrum-helptext-top-to-text:var(--system-helptext-top-to-text-small);--spectrum-helptext-bottom-to-text:var(--system-helptext-bottom-to-text-small)}:host([size=l]){--spectrum-helptext-top-to-text:var(--system-helptext-top-to-text-large);--spectrum-helptext-bottom-to-text:var(--system-helptext-bottom-to-text-large)}:host([size=xl]){--spectrum-helptext-top-to-text:var(--system-helptext-top-to-text-extra-large);--spectrum-helptext-bottom-to-text:var(--system-helptext-bottom-to-text-extra-large)}
9093
9243
  `;
9094
- var help_text_css_default = e76;
9244
+ var help_text_css_default = e77;
9095
9245
 
9096
9246
  // node_modules/@spectrum-web-components/help-text/src/HelpText.js
9097
9247
  var c17 = Object.defineProperty;
@@ -9384,7 +9534,7 @@ function prompt(options2) {
9384
9534
  var t45 = i`@keyframes swc-fills-rotate{0%{transform:rotate(var(--swc-progress-circle-rotate-start, -90deg))}to{transform:rotate(var(--swc-progress-circle-rotate-end, 270deg))}}@keyframes swc-dashoffset-animation{0%,to{stroke-dashoffset:75px}30%{stroke-dashoffset:var(--swc-progress-circle-dashoffset-30, 20px)}}:host{display:inline-block;align-self:center;justify-self:center;place-self:center}*{box-sizing:border-box}.swc-ProgressCircle{--_swc-progress-circle-size: var(--swc-progress-circle-size, var(--swc-progress-circle-size-medium));--_swc-progress-circle-track-border-color: var(--swc-progress-circle-track-border-color, var(--swc-gray-300));--_swc-progress-circle-fill-border-color: var(--swc-progress-circle-fill-border-color, var(--swc-accent-color-900));--_swc-progress-circle-thickness: var(--swc-progress-circle-thickness, var(--swc-progress-circle-thickness-medium));display:inline-block;position:relative;inline-size:var(--_swc-progress-circle-size);block-size:var(--_swc-progress-circle-size);direction:ltr;transform:translateZ(0)}.swc-ProgressCircle-fill,.swc-ProgressCircle-track{inline-size:var(--_swc-progress-circle-size);block-size:var(--_swc-progress-circle-size)}.swc-ProgressCircle-track{stroke:var(--_swc-progress-circle-track-border-color);stroke-width:var(--_swc-progress-circle-thickness)}.swc-ProgressCircle-fill{stroke:var(--_swc-progress-circle-fill-border-color);stroke-width:var(--_swc-progress-circle-thickness);transform:rotate(-90deg);transform-origin:center}.swc-ProgressCircle--indeterminate .swc-ProgressCircle-fill{transform-origin:center;animation:swc-fills-rotate 1s cubic-bezier(.6,.1,.3,.9) infinite,swc-dashoffset-animation 1s cubic-bezier(.25,.1,.25,1.3) infinite;will-change:transform}:host([size=\"s\"]){--swc-progress-circle-size: var(--swc-progress-circle-size-small);--swc-progress-circle-thickness: var(--swc-progress-circle-thickness-small)}:host([size=\"l\"]){--swc-progress-circle-size: var(--swc-progress-circle-size-large);--swc-progress-circle-thickness: var(--swc-progress-circle-thickness-large)}.swc-ProgressCircle:where(.swc-ProgressCircle--staticWhite){--swc-progress-circle-track-border-color: var(--swc-transparent-static-white-300);--swc-progress-circle-fill-border-color: var(--swc-transparent-static-white-950)}.swc-ProgressCircle:where(.swc-ProgressCircle--staticBlack){--swc-progress-circle-track-border-color: var(--swc-transparent-static-black-300);--swc-progress-circle-fill-border-color: var(--swc-transparent-static-black-950)}@media(prefers-reduced-motion:reduce){.swc-ProgressCircle--indeterminate .swc-ProgressCircle-fill{--swc-progress-circle-dashoffset-30: 0;--swc-progress-circle-rotate-start: 0deg;--swc-progress-circle-rotate-end: 360deg;animation-duration:15s;animation-timing-function:linear,linear}}@media(forced-colors:active){.swc-ProgressCircle{--swc-progress-circle-fill-border-color: Highlight;@media(prefers-color-scheme:dark){--swc-progress-circle-track-border-color: var(--swc-transparent-static-white-300)}@media(prefers-color-scheme:light){--swc-progress-circle-track-border-color: var(--swc-transparent-static-black-300)}}}`;
9385
9535
 
9386
9536
  // node_modules/@adobe/spectrum-wc-core/dist/components/progress-circle/ProgressCircle.types.js
9387
- var e77 = [
9537
+ var e78 = [
9388
9538
  "s",
9389
9539
  "m",
9390
9540
  "l"
@@ -9393,7 +9543,7 @@ var t46 = ["white", "black"];
9393
9543
 
9394
9544
  // node_modules/@adobe/spectrum-wc-core/dist/components/progress-circle/ProgressCircle.base.js
9395
9545
  var u15;
9396
- var d12 = class e78 extends i13(i9, { validSizes: e77 }) {
9546
+ var d12 = class e79 extends i13(i9, { validSizes: e78 }) {
9397
9547
  constructor(...e128) {
9398
9548
  super(...e128), this.label = "", this.progress = null, this.languageResolver = new i11(this);
9399
9549
  }
@@ -9418,11 +9568,11 @@ var d12 = class e78 extends i13(i9, { validSizes: e77 }) {
9418
9568
  }).format(((e128 = this.progress) == null ? 0 : e128) / 100);
9419
9569
  }
9420
9570
  warnDeprecatedLightDomChildren() {
9421
- r8(this, e78.hasMeaningfulLightDomChildren(this), `<${this.localName}> no longer has a default slot. Light DOM children are not rendered and are not used for an accessible name. Use the "label" attribute or property, or "aria-label" / "aria-labelledby" on the host instead.`, "https://spectrum-web-components.adobe.com/?path=/docs/components-progress-circle--docs", { level: "deprecation" });
9571
+ r8(this, e79.hasMeaningfulLightDomChildren(this), `<${this.localName}> no longer has a default slot. Light DOM children are not rendered and are not used for an accessible name. Use the "label" attribute or property, or "aria-label" / "aria-labelledby" on the host instead.`, "https://spectrum-web-components.adobe.com/?path=/docs/components-progress-circle--docs", { level: "deprecation" });
9422
9572
  }
9423
9573
  willUpdate(t90) {
9424
9574
  if (t90.has("progress") && this.progress !== null) {
9425
- let t91 = e78.clampProgress(this.progress);
9575
+ let t91 = e79.clampProgress(this.progress);
9426
9576
  t91 !== this.progress && (this.progress = t91);
9427
9577
  }
9428
9578
  super.willUpdate(t90);
@@ -9431,7 +9581,7 @@ var d12 = class e78 extends i13(i9, { validSizes: e77 }) {
9431
9581
  super.firstUpdated(e128), this.setAttribute("role", "progressbar");
9432
9582
  }
9433
9583
  updated(t90) {
9434
- if (super.updated(t90), t90.has("progress") && (this.progress !== null && this.progress >= 0 ? (this.setAttribute("aria-valuemin", "0"), this.setAttribute("aria-valuemax", "100"), this.setAttribute("aria-valuenow", String(this.progress)), this.setAttribute("aria-valuetext", this.formatProgress())) : (this.removeAttribute("aria-valuemin"), this.removeAttribute("aria-valuemax"), this.removeAttribute("aria-valuenow"), this.removeAttribute("aria-valuetext"))), this.progress !== null && t90.has(e29) && this.setAttribute("aria-valuetext", this.formatProgress()), t90.has("label") && (this.label.length ? this.setAttribute("aria-label", this.label) : t90.get("label") === this.getAttribute("aria-label") && this.removeAttribute("aria-label")), t90.has("label") && !this.hasAccessibleName() && (this.setAttribute("aria-label", e78.DEFAULT_LABEL), r8(this, true, `<${this.localName}> requires an accessible name. A default label of "${e78.DEFAULT_LABEL}" has been applied, but a more specific label should be provided via:`, "https://spectrum-web-components.adobe.com/?path=/docs/components-progress-circle--docs", {
9584
+ if (super.updated(t90), t90.has("progress") && (this.progress !== null && this.progress >= 0 ? (this.setAttribute("aria-valuemin", "0"), this.setAttribute("aria-valuemax", "100"), this.setAttribute("aria-valuenow", String(this.progress)), this.setAttribute("aria-valuetext", this.formatProgress())) : (this.removeAttribute("aria-valuemin"), this.removeAttribute("aria-valuemax"), this.removeAttribute("aria-valuenow"), this.removeAttribute("aria-valuetext"))), this.progress !== null && t90.has(e29) && this.setAttribute("aria-valuetext", this.formatProgress()), t90.has("label") && (this.label.length ? this.setAttribute("aria-label", this.label) : t90.get("label") === this.getAttribute("aria-label") && this.removeAttribute("aria-label")), t90.has("label") && !this.hasAccessibleName() && (this.setAttribute("aria-label", e79.DEFAULT_LABEL), r8(this, true, `<${this.localName}> requires an accessible name. A default label of "${e79.DEFAULT_LABEL}" has been applied, but a more specific label should be provided via:`, "https://spectrum-web-components.adobe.com/?path=/docs/components-progress-circle--docs", {
9435
9585
  type: "accessibility",
9436
9586
  issues: [
9437
9587
  'value supplied to the "label" attribute, which will be displayed visually as part of the element, or',
@@ -9514,24 +9664,6 @@ l13 = u16, l13.STATIC_COLORS = t46, e12([n({
9514
9664
  // node_modules/@adobe/spectrum-wc/dist/components/progress-circle/swc-progress-circle.js
9515
9665
  e26("swc-progress-circle", u16);
9516
9666
 
9517
- // node_modules/@adobe/spectrum-wc-icons/dist/AlertTriangle.js
9518
- function e79() {
9519
- return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M10 15.123a.9.9 0 0 1-.627-.228.956.956 0 0 1 0-1.285.87.87 0 0 1 .626-.234c.237-.01.466.08.633.247a.86.86 0 0 1 .242.627.88.88 0 0 1-.228.639.86.86 0 0 1-.647.234M10 11.75a.75.75 0 0 1-.75-.75V7a.75.75 0 0 1 1.5 0v4a.75.75 0 0 1-.75.75"/><path fill="var(--swc-icon-color, currentColor)" d="M16.733 18H3.267c-.8 0-1.523-.41-1.933-1.098s-.427-1.518-.046-2.222L8.02 2.232a2.248 2.248 0 0 1 3.958 0l6.733 12.448c.381.704.364 1.535-.046 2.222S17.534 18 16.733 18M10 2.553a.73.73 0 0 0-.66.392L2.607 15.393a.74.74 0 0 0 .016.74.74.74 0 0 0 .644.367h13.466a.74.74 0 0 0 .644-.366.74.74 0 0 0 .016-.741L10.66 2.945a.73.73 0 0 0-.66-.392"/></svg>';
9520
- }
9521
-
9522
- // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-alert-triangle.js
9523
- var o47 = class extends a8 {
9524
- static get styles() {
9525
- return [t40];
9526
- }
9527
- render() {
9528
- return b`
9529
- ${o15(e79())}
9530
- `;
9531
- }
9532
- };
9533
- e26("swc-icon-alert-triangle", o47);
9534
-
9535
9667
  // node_modules/@adobe/spectrum-wc-icons/dist/UserFollowing.js
9536
9668
  function e80() {
9537
9669
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M15 10.5a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9m2.4 3.35L15.09 17a.623.623 0 0 1-.968.048l-1.439-1.599a.625.625 0 0 1 .93-.836l.924 1.028 1.855-2.53a.625.625 0 1 1 1.007.74M2.274 18.752a.75.75 0 0 1-.733-.91c.596-2.73 3.313-5.025 6.608-5.58a.75.75 0 0 1 .249 1.48c-2.706.455-4.923 2.273-5.391 4.42a.75.75 0 0 1-.733.59m7.726-7.9c-2.485 0-4.507-2.153-4.507-4.8s2.022-4.8 4.507-4.8 4.507 2.153 4.507 4.8-2.022 4.8-4.507 4.8m0-8.1c-1.658 0-3.007 1.48-3.007 3.3s1.349 3.3 3.007 3.3 3.007-1.48 3.007-3.3-1.349-3.3-3.007-3.3"/></svg>';
@@ -37759,12 +37891,6 @@ var SliccChat = class _SliccChat extends ThemedElement {
37759
37891
  header .dot {
37760
37892
  align-self: center;
37761
37893
  }
37762
- @media (forced-colors: active) {
37763
- header .dot[data-agent-status] {
37764
- forced-color-adjust: none;
37765
- background: CanvasText;
37766
- }
37767
- }
37768
37894
  header swc-meter {
37769
37895
  flex: 0 1 calc(var(--swc-spacing-400) * 6);
37770
37896
  min-width: calc(var(--swc-spacing-400) * 4.5);
@@ -38867,7 +38993,7 @@ var panelCss = i`
38867
38993
  `;
38868
38994
  var letters = { added: "A", modified: "M", deleted: "D" };
38869
38995
  var statusLabels = { added: "Added", modified: "Modified", deleted: "Deleted" };
38870
- function statusMark(status2, announce = true) {
38996
+ function statusMark2(status2, announce = true) {
38871
38997
  return b`<span class="status" data-status=${status2} title=${statusLabels[status2]}
38872
38998
  ><span aria-hidden="true">${letters[status2]}</span>${announce ? b`<span class="sr">${statusLabels[status2]}</span>` : A}</span
38873
38999
  >`;
@@ -39399,7 +39525,7 @@ var SliccFileView = class extends ThemedElement {
39399
39525
  return b`<div class="bar">
39400
39526
  <span class="path" title=${this.path}>${this.path}</span>
39401
39527
  <span class="spacer"></span>
39402
- ${change ? b`${statusMark(change.status, false)}
39528
+ ${change ? b`${statusMark2(change.status, false)}
39403
39529
  <span>${by ? `${statusLabels[change.status]} by ${by}` : statusLabels[change.status]}</span>
39404
39530
  <swc-action-button size="s" quiet @click=${() => request(this, "open-diff", this.path)}>
39405
39531
  <swc-icon-compare slot="icon"></swc-icon-compare>Diff
@@ -41144,6 +41270,7 @@ var SliccAgents = class extends ModelElement {
41144
41270
  block-size: var(--swc-spacing-200);
41145
41271
  border-radius: var(--swc-corner-radius-full);
41146
41272
  background: var(--status-color);
41273
+ color: var(--status-color);
41147
41274
  }
41148
41275
  .marker.unread {
41149
41276
  --status-color: var(--swc-accent-background-color-default);
@@ -41270,7 +41397,7 @@ var SliccAgents = class extends ModelElement {
41270
41397
  }
41271
41398
  }
41272
41399
  @media (forced-colors: active) {
41273
- .marker,
41400
+ .marker.unread,
41274
41401
  .segment,
41275
41402
  li[aria-selected='true']::before {
41276
41403
  forced-color-adjust: none;
@@ -41507,7 +41634,7 @@ var SliccAgents = class extends ModelElement {
41507
41634
  >
41508
41635
  ${this.#disclosure(agent, scoops, open)}
41509
41636
  <div class="head">
41510
- <span class="marker status" data-status=${agent.status} aria-hidden="true"></span>
41637
+ <span class="marker status" data-status=${agent.status} aria-hidden="true">${statusMark(agent.status)}</span>
41511
41638
  ${unread ? b`<span class="marker unread" data-status=${agent.status} aria-hidden="true">${unreadCount(unread)}</span>` : A}
41512
41639
  <span class="name">${agent.name}</span>
41513
41640
  </div>
@@ -54145,7 +54272,7 @@ var SliccChanges = class extends ModelElement {
54145
54272
  title=${`${change.path}, ${change.status}${by ? ` by ${by}` : ""}`}
54146
54273
  @click=${() => request(this, "open-diff", change.path)}
54147
54274
  >
54148
- ${statusMark(change.status)}
54275
+ ${statusMark2(change.status)}
54149
54276
  <span class="name">${basename(change.path)}</span>
54150
54277
  <span class="where"><bdi>${[at, by].filter(Boolean).join(" \xB7 ")}</bdi></span>
54151
54278
  ${watchOnly(this.model) ? A : b`<span class="actions">
@@ -54319,7 +54446,7 @@ var SliccDiffPanel = class extends ThemedElement {
54319
54446
  }
54320
54447
  const by = author(model, change);
54321
54448
  return b`<div class="bar">
54322
- ${statusMark(change.status, false)}
54449
+ ${statusMark2(change.status, false)}
54323
54450
  <span class="path" title=${this.path}>${this.path}</span>
54324
54451
  <span class="label">${statusLabels[change.status]}${by ? ` by ${by}` : ""}</span>
54325
54452
  <span class="spacer"></span>