@ai-ecoverse/slicc-spectrum 1.77.0 → 1.78.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 +8 -8
- package/dist/slicc-dummy.js +48 -1
- package/dist/slicc-dummy.js.map +2 -2
- package/dist/slicc-ui.js +332 -158
- package/dist/slicc-ui.js.map +4 -4
- package/dist/types/app/agents.d.ts +3 -0
- package/dist/types/app/approvals.d.ts +6 -4
- package/dist/types/dummy/approvals.d.ts +1 -1
- package/dist/types/model/types.d.ts +37 -3
- package/package.json +5 -5
package/dist/slicc-ui.js
CHANGED
|
@@ -8638,12 +8638,12 @@ var o41 = class extends a10 {
|
|
|
8638
8638
|
};
|
|
8639
8639
|
e25("swc-icon-view-grid", o41);
|
|
8640
8640
|
|
|
8641
|
-
// node_modules/@adobe/spectrum-wc-icons/dist/
|
|
8641
|
+
// node_modules/@adobe/spectrum-wc-icons/dist/ChevronRight.js
|
|
8642
8642
|
function e71() {
|
|
8643
|
-
return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="
|
|
8643
|
+
return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M7.75 16.465a.748.748 0 0 1-.54-1.27l4.999-5.197-4.986-5.184a.75.75 0 0 1 .02-1.06.75.75 0 0 1 1.06.021L13.79 9.48c.28.29.28.749 0 1.039l-5.5 5.716a.75.75 0 0 1-.54.23"/></svg>';
|
|
8644
8644
|
}
|
|
8645
8645
|
|
|
8646
|
-
// node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-
|
|
8646
|
+
// node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-chevron-right.js
|
|
8647
8647
|
var o42 = class extends a10 {
|
|
8648
8648
|
static get styles() {
|
|
8649
8649
|
return [t40];
|
|
@@ -8654,7 +8654,25 @@ var o42 = class extends a10 {
|
|
|
8654
8654
|
`;
|
|
8655
8655
|
}
|
|
8656
8656
|
};
|
|
8657
|
-
e25("swc-icon-
|
|
8657
|
+
e25("swc-icon-chevron-right", o42);
|
|
8658
|
+
|
|
8659
|
+
// node_modules/@adobe/spectrum-wc-icons/dist/Close.js
|
|
8660
|
+
function e72() {
|
|
8661
|
+
return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="m11.06 10 5.207-5.206a.75.75 0 1 0-1.06-1.06L10 8.938 4.793 3.733a.75.75 0 1 0-1.06 1.06L8.939 10l-5.206 5.206a.75.75 0 1 0 1.06 1.06L10 11.062l5.207 5.206a.75.75 0 0 0 1.06 0 .75.75 0 0 0 0-1.06z"/></svg>';
|
|
8662
|
+
}
|
|
8663
|
+
|
|
8664
|
+
// node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-close.js
|
|
8665
|
+
var o43 = class extends a10 {
|
|
8666
|
+
static get styles() {
|
|
8667
|
+
return [t40];
|
|
8668
|
+
}
|
|
8669
|
+
render() {
|
|
8670
|
+
return b`
|
|
8671
|
+
${o16(e72())}
|
|
8672
|
+
`;
|
|
8673
|
+
}
|
|
8674
|
+
};
|
|
8675
|
+
e25("swc-icon-close", o43);
|
|
8658
8676
|
|
|
8659
8677
|
// src/app/base.ts
|
|
8660
8678
|
var ModelElement = class extends i2 {
|
|
@@ -8950,10 +8968,10 @@ var s8 = class {
|
|
|
8950
8968
|
};
|
|
8951
8969
|
|
|
8952
8970
|
// node_modules/@spectrum-web-components/button-group/src/button-group.css.js
|
|
8953
|
-
var
|
|
8971
|
+
var o44 = i`
|
|
8954
8972
|
: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}
|
|
8955
8973
|
`;
|
|
8956
|
-
var button_group_css_default =
|
|
8974
|
+
var button_group_css_default = o44;
|
|
8957
8975
|
|
|
8958
8976
|
// node_modules/@spectrum-web-components/button-group/src/ButtonGroup.js
|
|
8959
8977
|
var a11 = Object.defineProperty;
|
|
@@ -9059,20 +9077,20 @@ function h5(a23, r40) {
|
|
|
9059
9077
|
}
|
|
9060
9078
|
}), t90;
|
|
9061
9079
|
}
|
|
9062
|
-
var
|
|
9080
|
+
var o45 = class o46 extends FocusVisiblePolyfillMixin(SpectrumElement) {
|
|
9063
9081
|
constructor() {
|
|
9064
9082
|
super(...arguments);
|
|
9065
9083
|
this.resizeController = new s8(this, { callback: () => {
|
|
9066
9084
|
this.shouldManageTabOrderForScrolling();
|
|
9067
9085
|
} });
|
|
9068
9086
|
this._variant = "";
|
|
9069
|
-
this.labelledbyId = `sp-dialog-label-${
|
|
9087
|
+
this.labelledbyId = `sp-dialog-label-${o46.instanceCount++}`;
|
|
9070
9088
|
this.shouldManageTabOrderForScrolling = () => {
|
|
9071
9089
|
if (!this.contentElement) return;
|
|
9072
9090
|
const { offsetHeight: e122, scrollHeight: t90 } = this.contentElement;
|
|
9073
9091
|
e122 < t90 ? this.contentElement.tabIndex = 0 : this.contentElement.removeAttribute("tabindex");
|
|
9074
9092
|
};
|
|
9075
|
-
this.describedbyId = `sp-dialog-description-${
|
|
9093
|
+
this.describedbyId = `sp-dialog-description-${o46.instanceCount++}`;
|
|
9076
9094
|
}
|
|
9077
9095
|
static get styles() {
|
|
9078
9096
|
return [alert_dialog_css_default];
|
|
@@ -9145,17 +9163,17 @@ var o44 = class o45 extends FocusVisiblePolyfillMixin(SpectrumElement) {
|
|
|
9145
9163
|
`;
|
|
9146
9164
|
}
|
|
9147
9165
|
};
|
|
9148
|
-
|
|
9149
|
-
var AlertDialog =
|
|
9166
|
+
o45.instanceCount = 0, l13([e(".content")], o45.prototype, "contentElement", 2), l13([n({ type: String, reflect: true })], o45.prototype, "variant", 1);
|
|
9167
|
+
var AlertDialog = o45;
|
|
9150
9168
|
|
|
9151
9169
|
// node_modules/@spectrum-web-components/alert-dialog/sp-alert-dialog.js
|
|
9152
9170
|
defineElement("sp-alert-dialog", AlertDialog);
|
|
9153
9171
|
|
|
9154
9172
|
// node_modules/@spectrum-web-components/icon/src/spectrum-icon-asterisk.css.js
|
|
9155
|
-
var
|
|
9173
|
+
var e73 = i`
|
|
9156
9174
|
.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)}
|
|
9157
9175
|
`;
|
|
9158
|
-
var spectrum_icon_asterisk_css_default =
|
|
9176
|
+
var spectrum_icon_asterisk_css_default = e73;
|
|
9159
9177
|
|
|
9160
9178
|
// node_modules/@spectrum-web-components/icons-ui/src/icons-s2/Asterisk100.js
|
|
9161
9179
|
var Asterisk100Icon = ({ width: l24 = 24, height: t90 = 24, hidden: e122 = false, title: r40 = "Asterisk100" } = {}) => tag`<svg
|
|
@@ -9208,7 +9226,7 @@ var field_label_css_default = t44;
|
|
|
9208
9226
|
// node_modules/@spectrum-web-components/field-label/src/FieldLabel.js
|
|
9209
9227
|
var c15 = Object.defineProperty;
|
|
9210
9228
|
var d12 = Object.getOwnPropertyDescriptor;
|
|
9211
|
-
var
|
|
9229
|
+
var o47 = (n37, l24, e122, i26) => {
|
|
9212
9230
|
for (var t90 = i26 > 1 ? void 0 : i26 ? d12(l24, e122) : l24, s19 = n37.length - 1, r40; s19 >= 0; s19--) (r40 = n37[s19]) && (t90 = (i26 ? r40(l24, e122, t90) : r40(t90)) || t90);
|
|
9213
9231
|
return i26 && t90 && c15(l24, e122, t90), t90;
|
|
9214
9232
|
};
|
|
@@ -9268,16 +9286,16 @@ var FieldLabel = class extends SizedMixin(SpectrumElement, { noDefaultSize: true
|
|
|
9268
9286
|
this.hasAttribute("id") || this.setAttribute("id", `${this.tagName.toLowerCase()}-${randomID()}`), e122.has("for") && (this.resolvedElement.selector = this.for ? `#${this.for}` : ""), (e122.has("id") || e122.has(elementResolverUpdatedSymbol)) && this.manageTarget();
|
|
9269
9287
|
}
|
|
9270
9288
|
};
|
|
9271
|
-
|
|
9289
|
+
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);
|
|
9272
9290
|
|
|
9273
9291
|
// node_modules/@spectrum-web-components/field-label/sp-field-label.js
|
|
9274
9292
|
defineElement("sp-field-label", FieldLabel);
|
|
9275
9293
|
|
|
9276
9294
|
// node_modules/@spectrum-web-components/help-text/src/help-text.css.js
|
|
9277
|
-
var
|
|
9295
|
+
var e74 = i`
|
|
9278
9296
|
@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)}
|
|
9279
9297
|
`;
|
|
9280
|
-
var help_text_css_default =
|
|
9298
|
+
var help_text_css_default = e74;
|
|
9281
9299
|
|
|
9282
9300
|
// node_modules/@spectrum-web-components/help-text/src/HelpText.js
|
|
9283
9301
|
var c16 = Object.defineProperty;
|
|
@@ -9557,7 +9575,7 @@ function prompt(options) {
|
|
|
9557
9575
|
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-white-300);--swc-progress-circle-fill-border-color: var(--swc-transparent-white-900)}.swc-ProgressCircle:where(.swc-ProgressCircle--staticBlack){--swc-progress-circle-track-border-color: var(--swc-transparent-black-300);--swc-progress-circle-fill-border-color: var(--swc-transparent-black-900)}@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-white-300)}@media(prefers-color-scheme:light){--swc-progress-circle-track-border-color: var(--swc-transparent-black-300)}}}`;
|
|
9558
9576
|
|
|
9559
9577
|
// node_modules/@adobe/spectrum-wc-core/dist/components/progress-circle/ProgressCircle.types.js
|
|
9560
|
-
var
|
|
9578
|
+
var e75 = [
|
|
9561
9579
|
"s",
|
|
9562
9580
|
"m",
|
|
9563
9581
|
"l"
|
|
@@ -9566,7 +9584,7 @@ var t46 = ["white", "black"];
|
|
|
9566
9584
|
|
|
9567
9585
|
// node_modules/@adobe/spectrum-wc-core/dist/components/progress-circle/ProgressCircle.base.js
|
|
9568
9586
|
var u16;
|
|
9569
|
-
var d13 = class
|
|
9587
|
+
var d13 = class e76 extends i12(i9, { validSizes: e75 }) {
|
|
9570
9588
|
constructor(...e122) {
|
|
9571
9589
|
super(...e122), this.label = "", this.progress = null, this.languageResolver = new i10(this);
|
|
9572
9590
|
}
|
|
@@ -9591,11 +9609,11 @@ var d13 = class e75 extends i12(i9, { validSizes: e74 }) {
|
|
|
9591
9609
|
}).format(((e122 = this.progress) == null ? 0 : e122) / 100);
|
|
9592
9610
|
}
|
|
9593
9611
|
warnDeprecatedLightDomChildren() {
|
|
9594
|
-
r9(this,
|
|
9612
|
+
r9(this, e76.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" });
|
|
9595
9613
|
}
|
|
9596
9614
|
willUpdate(t90) {
|
|
9597
9615
|
if (t90.has("progress") && this.progress !== null) {
|
|
9598
|
-
let t91 =
|
|
9616
|
+
let t91 = e76.clampProgress(this.progress);
|
|
9599
9617
|
t91 !== this.progress && (this.progress = t91);
|
|
9600
9618
|
}
|
|
9601
9619
|
super.willUpdate(t90);
|
|
@@ -9604,7 +9622,7 @@ var d13 = class e75 extends i12(i9, { validSizes: e74 }) {
|
|
|
9604
9622
|
super.firstUpdated(e122), this.setAttribute("role", "progressbar");
|
|
9605
9623
|
}
|
|
9606
9624
|
updated(t90) {
|
|
9607
|
-
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(e27) && 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",
|
|
9625
|
+
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(e27) && 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", e76.DEFAULT_LABEL), r9(this, true, `<${this.localName}> requires an accessible name. A default label of "${e76.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", {
|
|
9608
9626
|
type: "accessibility",
|
|
9609
9627
|
issues: [
|
|
9610
9628
|
'value supplied to the "label" attribute, which will be displayed visually as part of the element, or',
|
|
@@ -9688,40 +9706,40 @@ l14 = u17, l14.STATIC_COLORS = t46, e12([n({
|
|
|
9688
9706
|
e25("swc-progress-circle", u17);
|
|
9689
9707
|
|
|
9690
9708
|
// node_modules/@adobe/spectrum-wc-icons/dist/AlertTriangle.js
|
|
9691
|
-
function
|
|
9709
|
+
function e77() {
|
|
9692
9710
|
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>';
|
|
9693
9711
|
}
|
|
9694
9712
|
|
|
9695
9713
|
// node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-alert-triangle.js
|
|
9696
|
-
var
|
|
9714
|
+
var o48 = class extends a10 {
|
|
9697
9715
|
static get styles() {
|
|
9698
9716
|
return [t40];
|
|
9699
9717
|
}
|
|
9700
9718
|
render() {
|
|
9701
9719
|
return b`
|
|
9702
|
-
${o16(
|
|
9720
|
+
${o16(e77())}
|
|
9703
9721
|
`;
|
|
9704
9722
|
}
|
|
9705
9723
|
};
|
|
9706
|
-
e25("swc-icon-alert-triangle",
|
|
9724
|
+
e25("swc-icon-alert-triangle", o48);
|
|
9707
9725
|
|
|
9708
9726
|
// node_modules/@adobe/spectrum-wc-icons/dist/UserFollowing.js
|
|
9709
|
-
function
|
|
9727
|
+
function e78() {
|
|
9710
9728
|
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>';
|
|
9711
9729
|
}
|
|
9712
9730
|
|
|
9713
9731
|
// node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-user-following.js
|
|
9714
|
-
var
|
|
9732
|
+
var o49 = class extends a10 {
|
|
9715
9733
|
static get styles() {
|
|
9716
9734
|
return [t40];
|
|
9717
9735
|
}
|
|
9718
9736
|
render() {
|
|
9719
9737
|
return b`
|
|
9720
|
-
${o16(
|
|
9738
|
+
${o16(e78())}
|
|
9721
9739
|
`;
|
|
9722
9740
|
}
|
|
9723
9741
|
};
|
|
9724
|
-
e25("swc-icon-user-following",
|
|
9742
|
+
e25("swc-icon-user-following", o49);
|
|
9725
9743
|
|
|
9726
9744
|
// src/app/follow.ts
|
|
9727
9745
|
var lights = {
|
|
@@ -9961,40 +9979,40 @@ var SliccFollow = class extends ModelElement {
|
|
|
9961
9979
|
};
|
|
9962
9980
|
|
|
9963
9981
|
// node_modules/@adobe/spectrum-wc-icons/dist/AlertDiamond.js
|
|
9964
|
-
function
|
|
9982
|
+
function e79() {
|
|
9965
9983
|
return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M10 18.795a2.24 2.24 0 0 1-1.591-.66l-6.545-6.544a2.254 2.254 0 0 1 0-3.182l6.545-6.545c.849-.85 2.333-.85 3.182 0l6.545 6.545a2.254 2.254 0 0 1 0 3.182l-6.545 6.545c-.425.425-.99.659-1.591.659m0-16.09c-.2 0-.389.078-.53.22L2.925 9.47a.75.75 0 0 0 0 1.06l6.545 6.545a.77.77 0 0 0 1.06 0l6.545-6.545a.75.75 0 0 0 0-1.06L10.53 2.925a.75.75 0 0 0-.53-.22"/><path fill="var(--swc-icon-color, currentColor)" d="M10 14.998a.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.625a.75.75 0 0 1-.75-.75v-5a.75.75 0 0 1 1.5 0v5a.75.75 0 0 1-.75.75"/></svg>';
|
|
9966
9984
|
}
|
|
9967
9985
|
|
|
9968
9986
|
// node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-alert-diamond.js
|
|
9969
|
-
var
|
|
9987
|
+
var o50 = class extends a10 {
|
|
9970
9988
|
static get styles() {
|
|
9971
9989
|
return [t40];
|
|
9972
9990
|
}
|
|
9973
9991
|
render() {
|
|
9974
9992
|
return b`
|
|
9975
|
-
${o16(
|
|
9993
|
+
${o16(e79())}
|
|
9976
9994
|
`;
|
|
9977
9995
|
}
|
|
9978
9996
|
};
|
|
9979
|
-
e25("swc-icon-alert-diamond",
|
|
9997
|
+
e25("swc-icon-alert-diamond", o50);
|
|
9980
9998
|
|
|
9981
9999
|
// node_modules/@adobe/spectrum-wc-icons/dist/FolderAdd.js
|
|
9982
|
-
function
|
|
10000
|
+
function e80() {
|
|
9983
10001
|
return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M8.373 15.498H3.25a.75.75 0 0 1-.75-.75v-8.25h14.25a.75.75 0 0 1 .75.75V9.07a.75.75 0 0 0 1.5 0V7.248c0-1.24-1.01-2.25-2.25-2.25h-5.964a.75.75 0 0 1-.566-.258L8.515 2.773a2.25 2.25 0 0 0-1.7-.775H3.25C2.01 1.998 1 3.008 1 4.248v10.5c0 1.24 1.01 2.25 2.25 2.25h5.123a.75.75 0 0 0 0-1.5m-5.123-12h3.565a.75.75 0 0 1 .567.258l1.076 1.242H2.5v-.75a.75.75 0 0 1 .75-.75"/><path fill="var(--swc-icon-color, currentColor)" d="M15 10.498a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9m2.5 5.125h-1.875v1.875a.625.625 0 1 1-1.25 0v-1.875H12.5a.625.625 0 1 1 0-1.25h1.875v-1.875a.625.625 0 1 1 1.25 0v1.875H17.5a.625.625 0 1 1 0 1.25"/></svg>';
|
|
9984
10002
|
}
|
|
9985
10003
|
|
|
9986
10004
|
// node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-folder-add.js
|
|
9987
|
-
var
|
|
10005
|
+
var o51 = class extends a10 {
|
|
9988
10006
|
static get styles() {
|
|
9989
10007
|
return [t40];
|
|
9990
10008
|
}
|
|
9991
10009
|
render() {
|
|
9992
10010
|
return b`
|
|
9993
|
-
${o16(
|
|
10011
|
+
${o16(e80())}
|
|
9994
10012
|
`;
|
|
9995
10013
|
}
|
|
9996
10014
|
};
|
|
9997
|
-
e25("swc-icon-folder-add",
|
|
10015
|
+
e25("swc-icon-folder-add", o51);
|
|
9998
10016
|
|
|
9999
10017
|
// src/app/search.ts
|
|
10000
10018
|
var searchCss = i`
|
|
@@ -10083,6 +10101,11 @@ var panelCss = i`
|
|
|
10083
10101
|
.spacer {
|
|
10084
10102
|
flex: 1;
|
|
10085
10103
|
}
|
|
10104
|
+
.bar [data-watch-note] {
|
|
10105
|
+
flex: none;
|
|
10106
|
+
font-size: var(--swc-font-size-75);
|
|
10107
|
+
color: var(--swc-neutral-subdued-content-color-default);
|
|
10108
|
+
}
|
|
10086
10109
|
.body {
|
|
10087
10110
|
flex: 1;
|
|
10088
10111
|
min-height: 0;
|
|
@@ -10817,24 +10840,6 @@ var SliccFreezer = class extends ModelElement {
|
|
|
10817
10840
|
}
|
|
10818
10841
|
};
|
|
10819
10842
|
|
|
10820
|
-
// node_modules/@adobe/spectrum-wc-icons/dist/ChevronRight.js
|
|
10821
|
-
function e80() {
|
|
10822
|
-
return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M7.75 16.465a.748.748 0 0 1-.54-1.27l4.999-5.197-4.986-5.184a.75.75 0 0 1 .02-1.06.75.75 0 0 1 1.06.021L13.79 9.48c.28.29.28.749 0 1.039l-5.5 5.716a.75.75 0 0 1-.54.23"/></svg>';
|
|
10823
|
-
}
|
|
10824
|
-
|
|
10825
|
-
// node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-chevron-right.js
|
|
10826
|
-
var o51 = class extends a10 {
|
|
10827
|
-
static get styles() {
|
|
10828
|
-
return [t40];
|
|
10829
|
-
}
|
|
10830
|
-
render() {
|
|
10831
|
-
return b`
|
|
10832
|
-
${o16(e80())}
|
|
10833
|
-
`;
|
|
10834
|
-
}
|
|
10835
|
-
};
|
|
10836
|
-
e25("swc-icon-chevron-right", o51);
|
|
10837
|
-
|
|
10838
10843
|
// node_modules/@adobe/spectrum-wc-icons/dist/Copy.js
|
|
10839
10844
|
function e81() {
|
|
10840
10845
|
return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M11.75 18h-7.5C3.01 18 2 16.99 2 15.75v-7.5C2 7.01 3.01 6 4.25 6a.75.75 0 0 1 0 1.5.75.75 0 0 0-.75.75v7.5c0 .413.337.75.75.75h7.5c.413 0 .75-.337.75-.75a.75.75 0 0 1 1.5 0c0 1.24-1.01 2.25-2.25 2.25m-5-13A.75.75 0 0 1 6 4.25C6 3.01 7.01 2 8.25 2a.75.75 0 0 1 0 1.5.75.75 0 0 0-.75.75.75.75 0 0 1-.75.75M13 3.5h-2A.75.75 0 0 1 11 2h2a.75.75 0 0 1 0 1.5"/><path fill="var(--swc-icon-color, currentColor)" d="M13 14h-2a.75.75 0 0 1 0-1.5h2a.75.75 0 0 1 0 1.5m2.75 0a.75.75 0 0 1 0-1.5c.413 0 .75-.337.75-.75a.75.75 0 0 1 1.5 0c0 1.24-1.01 2.25-2.25 2.25m1.5-9a.75.75 0 0 1-.75-.75.75.75 0 0 0-.75-.75.75.75 0 0 1 0-1.5C16.99 2 18 3.01 18 4.25a.75.75 0 0 1-.75.75m0 4.75A.75.75 0 0 1 16.5 9V7A.75.75 0 0 1 18 7v2a.75.75 0 0 1-.75.75m-10.5 0A.75.75 0 0 1 6 9V7a.75.75 0 0 1 1.5 0v2a.75.75 0 0 1-.75.75M8.25 14C7.01 14 6 12.99 6 11.75a.75.75 0 0 1 1.5 0c0 .413.337.75.75.75a.75.75 0 0 1 0 1.5"/></svg>';
|
|
@@ -11422,17 +11427,25 @@ var statusOrder = ["working", "thinking", "waiting", "error", "idle"];
|
|
|
11422
11427
|
function scoopSummary(scoops) {
|
|
11423
11428
|
if (scoops.length === 0) return "";
|
|
11424
11429
|
const counts = statusOrder.map((status2) => [status2, scoops.filter((scoop) => scoop.status === status2).length]).filter(([, count]) => count > 0).map(([status2, count]) => `${count} ${statusLabel[status2].toLowerCase()}`);
|
|
11425
|
-
return `${scoops
|
|
11430
|
+
return `${scoopCount(scoops)}: ${counts.join(", ")}`;
|
|
11431
|
+
}
|
|
11432
|
+
function scoopCount(scoops) {
|
|
11433
|
+
return `${scoops.length} scoop${scoops.length === 1 ? "" : "s"}`;
|
|
11434
|
+
}
|
|
11435
|
+
function scoopBrief(scoops) {
|
|
11436
|
+
if (scoops.length === 0) return "";
|
|
11437
|
+
const busy = statusOrder.filter((status2) => status2 !== "idle").map((status2) => [status2, scoops.filter((scoop) => scoop.status === status2).length]).filter(([, count]) => count > 0).map(([status2, count]) => `${count} ${statusLabel[status2].toLowerCase()}`);
|
|
11438
|
+
return [scoopCount(scoops), busy.join(", ")].filter(Boolean).join(" \xB7 ");
|
|
11426
11439
|
}
|
|
11427
11440
|
function unreadCount(unread) {
|
|
11428
|
-
return unread >
|
|
11441
|
+
return unread > 99 ? "99+" : String(unread);
|
|
11429
11442
|
}
|
|
11430
11443
|
function fillShown(fill2) {
|
|
11431
11444
|
return fill2 >= 0.5;
|
|
11432
11445
|
}
|
|
11433
11446
|
var SliccAgents = class extends ModelElement {
|
|
11434
11447
|
static properties = { ...ModelElement.properties, errors: { state: true } };
|
|
11435
|
-
#expanded =
|
|
11448
|
+
#expanded = /* @__PURE__ */ new Set();
|
|
11436
11449
|
#pointer = false;
|
|
11437
11450
|
#modality = (event2) => {
|
|
11438
11451
|
this.#pointer = event2.type === "pointerdown";
|
|
@@ -11469,21 +11482,22 @@ var SliccAgents = class extends ModelElement {
|
|
|
11469
11482
|
}
|
|
11470
11483
|
li {
|
|
11471
11484
|
--row-background: var(--swc-background-layer-1-color);
|
|
11472
|
-
--row-head: 1lh;
|
|
11473
|
-
--row-description: calc(2 * 1.4 * var(--swc-font-size-75));
|
|
11474
11485
|
position: relative;
|
|
11475
11486
|
display: grid;
|
|
11476
|
-
grid-template-columns: minmax(0, 1fr) auto;
|
|
11477
|
-
grid-template-areas:
|
|
11478
|
-
|
|
11479
|
-
|
|
11487
|
+
grid-template-columns: var(--swc-component-height-75) minmax(0, 1fr) auto;
|
|
11488
|
+
grid-template-areas:
|
|
11489
|
+
'toggle head fill'
|
|
11490
|
+
'toggle description strip'
|
|
11491
|
+
'toggle ribbon ribbon'
|
|
11492
|
+
'toggle error error';
|
|
11493
|
+
align-items: start;
|
|
11480
11494
|
column-gap: var(--swc-spacing-100);
|
|
11481
|
-
padding: var(--swc-spacing-75) var(--swc-spacing-200);
|
|
11495
|
+
padding: var(--swc-spacing-75) var(--swc-spacing-200) var(--swc-spacing-75) var(--swc-spacing-100);
|
|
11482
11496
|
background: var(--row-background);
|
|
11483
11497
|
cursor: pointer;
|
|
11484
11498
|
}
|
|
11485
11499
|
li.scoop {
|
|
11486
|
-
padding-inline-start: calc(var(--swc-spacing-
|
|
11500
|
+
padding-inline-start: calc(var(--swc-spacing-100) + var(--swc-spacing-300));
|
|
11487
11501
|
}
|
|
11488
11502
|
li:hover {
|
|
11489
11503
|
--row-background: var(--swc-gray-100);
|
|
@@ -11491,40 +11505,66 @@ var SliccAgents = class extends ModelElement {
|
|
|
11491
11505
|
li[aria-selected='true'] {
|
|
11492
11506
|
--row-background: var(--swc-gray-200);
|
|
11493
11507
|
}
|
|
11508
|
+
li[aria-selected='true']::before {
|
|
11509
|
+
content: '';
|
|
11510
|
+
position: absolute;
|
|
11511
|
+
inset-block: 0;
|
|
11512
|
+
inset-inline-start: 0;
|
|
11513
|
+
inline-size: var(--swc-spacing-75);
|
|
11514
|
+
background: var(--swc-accent-color-900);
|
|
11515
|
+
}
|
|
11494
11516
|
li:focus-visible {
|
|
11495
11517
|
outline: var(--swc-focus-indicator-thickness) solid var(--swc-focus-indicator-color);
|
|
11496
11518
|
outline-offset: calc(-1 * var(--swc-focus-indicator-thickness));
|
|
11497
11519
|
}
|
|
11520
|
+
.toggle {
|
|
11521
|
+
grid-area: toggle;
|
|
11522
|
+
align-self: start;
|
|
11523
|
+
}
|
|
11524
|
+
.toggle swc-icon-chevron-right:dir(rtl) {
|
|
11525
|
+
transform: scaleX(-1);
|
|
11526
|
+
}
|
|
11527
|
+
.toggle[data-open] swc-icon-chevron-right {
|
|
11528
|
+
transform: rotate(90deg);
|
|
11529
|
+
}
|
|
11498
11530
|
.head {
|
|
11499
11531
|
grid-area: head;
|
|
11532
|
+
align-self: center;
|
|
11500
11533
|
display: flex;
|
|
11501
11534
|
align-items: center;
|
|
11502
11535
|
gap: var(--swc-spacing-75);
|
|
11503
11536
|
min-inline-size: 0;
|
|
11537
|
+
min-block-size: var(--swc-component-height-75);
|
|
11504
11538
|
}
|
|
11505
11539
|
.head > * {
|
|
11506
11540
|
flex: none;
|
|
11507
11541
|
}
|
|
11508
11542
|
.marker {
|
|
11543
|
+
--status-color: var(--swc-gray-600);
|
|
11509
11544
|
flex: none;
|
|
11510
11545
|
display: inline-flex;
|
|
11511
11546
|
align-items: center;
|
|
11512
11547
|
justify-content: center;
|
|
11548
|
+
box-sizing: border-box;
|
|
11513
11549
|
inline-size: var(--swc-spacing-200);
|
|
11514
11550
|
block-size: var(--swc-spacing-200);
|
|
11515
11551
|
border-radius: var(--swc-corner-radius-full);
|
|
11516
|
-
|
|
11517
|
-
font-variant-numeric: tabular-nums;
|
|
11518
|
-
line-height: 1;
|
|
11552
|
+
background: var(--status-color);
|
|
11519
11553
|
}
|
|
11520
11554
|
.marker.unread {
|
|
11521
|
-
|
|
11555
|
+
--status-color: var(--swc-accent-background-color-default);
|
|
11522
11556
|
inline-size: auto;
|
|
11523
|
-
min-inline-size: var(--swc-spacing-
|
|
11524
|
-
|
|
11525
|
-
|
|
11557
|
+
min-inline-size: var(--swc-spacing-300);
|
|
11558
|
+
block-size: var(--swc-spacing-300);
|
|
11559
|
+
padding-inline: var(--swc-spacing-75);
|
|
11526
11560
|
color: var(--swc-white);
|
|
11561
|
+
font-size: var(--swc-font-size-50);
|
|
11562
|
+
font-variant-numeric: tabular-nums;
|
|
11527
11563
|
font-weight: var(--swc-bold-font-weight);
|
|
11564
|
+
line-height: var(--swc-line-height-100);
|
|
11565
|
+
}
|
|
11566
|
+
.marker.unread[data-status='error'] {
|
|
11567
|
+
--status-color: var(--swc-negative-background-color-default);
|
|
11528
11568
|
}
|
|
11529
11569
|
.name {
|
|
11530
11570
|
flex: 0 1 auto;
|
|
@@ -11538,12 +11578,13 @@ var SliccAgents = class extends ModelElement {
|
|
|
11538
11578
|
}
|
|
11539
11579
|
.title {
|
|
11540
11580
|
grid-area: description;
|
|
11581
|
+
align-self: start;
|
|
11541
11582
|
display: -webkit-box;
|
|
11542
11583
|
-webkit-box-orient: vertical;
|
|
11543
11584
|
-webkit-line-clamp: 2;
|
|
11544
11585
|
overflow: hidden;
|
|
11545
11586
|
overflow-wrap: anywhere;
|
|
11546
|
-
line-height:
|
|
11587
|
+
line-height: var(--swc-line-height-100);
|
|
11547
11588
|
font-size: var(--swc-font-size-75);
|
|
11548
11589
|
color: var(--swc-neutral-subdued-content-color-default);
|
|
11549
11590
|
}
|
|
@@ -11553,40 +11594,48 @@ var SliccAgents = class extends ModelElement {
|
|
|
11553
11594
|
.ribbon {
|
|
11554
11595
|
grid-area: ribbon;
|
|
11555
11596
|
display: flex;
|
|
11597
|
+
flex-wrap: wrap;
|
|
11556
11598
|
align-items: center;
|
|
11557
|
-
gap: var(--swc-spacing-
|
|
11558
|
-
|
|
11559
|
-
|
|
11560
|
-
|
|
11561
|
-
|
|
11562
|
-
|
|
11563
|
-
}
|
|
11564
|
-
.status[data-status='thinking'],
|
|
11565
|
-
.status[data-status='working'],
|
|
11566
|
-
.segment[data-status='thinking'],
|
|
11567
|
-
.segment[data-status='working'] {
|
|
11568
|
-
background: var(--swc-informative-visual-color);
|
|
11599
|
+
gap: var(--swc-spacing-100);
|
|
11600
|
+
min-inline-size: 0;
|
|
11601
|
+
margin-block-start: var(--swc-spacing-75);
|
|
11602
|
+
font-size: var(--swc-font-size-75);
|
|
11603
|
+
line-height: var(--swc-line-height-100);
|
|
11604
|
+
color: var(--swc-neutral-subdued-content-color-default);
|
|
11569
11605
|
}
|
|
11570
|
-
.
|
|
11571
|
-
|
|
11572
|
-
|
|
11606
|
+
.segments {
|
|
11607
|
+
display: flex;
|
|
11608
|
+
flex-wrap: wrap;
|
|
11609
|
+
gap: var(--swc-spacing-50);
|
|
11610
|
+
min-inline-size: 0;
|
|
11573
11611
|
}
|
|
11574
|
-
.
|
|
11575
|
-
|
|
11576
|
-
background: var(--swc-negative-visual-color);
|
|
11612
|
+
.summary {
|
|
11613
|
+
min-inline-size: 0;
|
|
11577
11614
|
}
|
|
11578
11615
|
.segment {
|
|
11616
|
+
--status-color: var(--swc-gray-600);
|
|
11579
11617
|
flex: none;
|
|
11580
11618
|
inline-size: var(--swc-spacing-200);
|
|
11581
|
-
block-size: var(--swc-spacing-
|
|
11619
|
+
block-size: var(--swc-spacing-75);
|
|
11582
11620
|
border-radius: var(--swc-corner-radius-full);
|
|
11621
|
+
background: var(--status-color);
|
|
11622
|
+
}
|
|
11623
|
+
[data-status='thinking'],
|
|
11624
|
+
[data-status='working'] {
|
|
11625
|
+
--status-color: var(--swc-informative-color-900);
|
|
11626
|
+
}
|
|
11627
|
+
[data-status='waiting'] {
|
|
11628
|
+
--status-color: var(--swc-notice-color-900);
|
|
11629
|
+
}
|
|
11630
|
+
[data-status='error'] {
|
|
11631
|
+
--status-color: var(--swc-negative-color-900);
|
|
11583
11632
|
}
|
|
11584
11633
|
.fill {
|
|
11585
11634
|
grid-area: fill;
|
|
11586
|
-
|
|
11587
|
-
|
|
11588
|
-
align-self: start;
|
|
11635
|
+
align-self: center;
|
|
11636
|
+
justify-self: end;
|
|
11589
11637
|
font-size: var(--swc-font-size-75);
|
|
11638
|
+
line-height: var(--swc-line-height-100);
|
|
11590
11639
|
font-variant-numeric: tabular-nums;
|
|
11591
11640
|
color: var(--swc-neutral-subdued-content-color-default);
|
|
11592
11641
|
}
|
|
@@ -11599,13 +11648,10 @@ var SliccAgents = class extends ModelElement {
|
|
|
11599
11648
|
font-weight: var(--swc-bold-font-weight);
|
|
11600
11649
|
}
|
|
11601
11650
|
.drop-cell {
|
|
11602
|
-
|
|
11603
|
-
|
|
11604
|
-
|
|
11651
|
+
grid-area: strip;
|
|
11652
|
+
align-self: center;
|
|
11653
|
+
justify-self: end;
|
|
11605
11654
|
display: flex;
|
|
11606
|
-
align-items: center;
|
|
11607
|
-
padding-inline: var(--swc-spacing-100);
|
|
11608
|
-
background: var(--row-background);
|
|
11609
11655
|
opacity: 0;
|
|
11610
11656
|
}
|
|
11611
11657
|
li:hover .drop-cell,
|
|
@@ -11632,16 +11678,27 @@ var SliccAgents = class extends ModelElement {
|
|
|
11632
11678
|
opacity: 1;
|
|
11633
11679
|
}
|
|
11634
11680
|
}
|
|
11681
|
+
@media (forced-colors: active) {
|
|
11682
|
+
.marker,
|
|
11683
|
+
.segment,
|
|
11684
|
+
li[aria-selected='true']::before {
|
|
11685
|
+
forced-color-adjust: none;
|
|
11686
|
+
background: CanvasText;
|
|
11687
|
+
}
|
|
11688
|
+
.marker.unread,
|
|
11689
|
+
li[aria-selected='true']::before {
|
|
11690
|
+
background: Highlight;
|
|
11691
|
+
color: HighlightText;
|
|
11692
|
+
}
|
|
11693
|
+
}
|
|
11635
11694
|
`
|
|
11636
11695
|
];
|
|
11637
11696
|
subscribe(model) {
|
|
11638
|
-
|
|
11639
|
-
this.#expanded = focused2?.kind === "scoop" ? focused2.parentId : null;
|
|
11697
|
+
this.#reveal(model);
|
|
11640
11698
|
return [
|
|
11641
11699
|
model.agent.on("agents", () => this.requestUpdate()),
|
|
11642
11700
|
model.agent.on("active", () => {
|
|
11643
|
-
|
|
11644
|
-
if (next) this.#expanded = next.kind === "cone" ? next.id : next.parentId;
|
|
11701
|
+
this.#reveal(model);
|
|
11645
11702
|
this.requestUpdate();
|
|
11646
11703
|
}),
|
|
11647
11704
|
watchTitles(model, () => this.requestUpdate()),
|
|
@@ -11656,16 +11713,18 @@ var SliccAgents = class extends ModelElement {
|
|
|
11656
11713
|
for (const type of types) globalThis.removeEventListener(type, this.#modality, true);
|
|
11657
11714
|
};
|
|
11658
11715
|
}
|
|
11659
|
-
#
|
|
11660
|
-
|
|
11716
|
+
#reveal(model) {
|
|
11717
|
+
const focused2 = model.agent.list().find((agent) => agent.id === model.agent.active());
|
|
11718
|
+
const cone = focused2?.kind === "cone" ? focused2.id : focused2?.parentId;
|
|
11719
|
+
if (cone) this.#expanded.add(cone);
|
|
11661
11720
|
}
|
|
11662
|
-
#select(
|
|
11663
|
-
this.model?.agent.select(id);
|
|
11721
|
+
#select(agent) {
|
|
11722
|
+
this.model?.agent.select(agent.id);
|
|
11723
|
+
if (agent.kind === "cone") this.#toggle(agent, true);
|
|
11664
11724
|
}
|
|
11665
|
-
#
|
|
11666
|
-
|
|
11667
|
-
this.#
|
|
11668
|
-
if (agent.kind === "cone") this.#expanded = open ? agent.id : null;
|
|
11725
|
+
#toggle(agent, open = !this.#expanded.has(agent.id)) {
|
|
11726
|
+
if (open) this.#expanded.add(agent.id);
|
|
11727
|
+
else this.#expanded.delete(agent.id);
|
|
11669
11728
|
this.requestUpdate();
|
|
11670
11729
|
}
|
|
11671
11730
|
focus() {
|
|
@@ -11692,17 +11751,17 @@ var SliccAgents = class extends ModelElement {
|
|
|
11692
11751
|
if (!agent) return;
|
|
11693
11752
|
if (event2.key === "Enter" || event2.key === " ") {
|
|
11694
11753
|
event2.preventDefault();
|
|
11695
|
-
this.#
|
|
11754
|
+
this.#select(agent);
|
|
11696
11755
|
} else if (event2.key === "ArrowRight" && this.#scoops(agent).length > 0) {
|
|
11697
11756
|
event2.preventDefault();
|
|
11698
|
-
if (this.#expanded
|
|
11699
|
-
else this.#
|
|
11757
|
+
if (this.#expanded.has(agent.id)) items[index + 1].focus();
|
|
11758
|
+
else this.#toggle(agent, true);
|
|
11700
11759
|
} else if (event2.key === "ArrowLeft" && agent.kind === "scoop") {
|
|
11701
11760
|
event2.preventDefault();
|
|
11702
11761
|
items.find((item2) => item2.dataset.id === agent.parentId)?.focus();
|
|
11703
|
-
} else if (event2.key === "ArrowLeft" && this.#expanded
|
|
11762
|
+
} else if (event2.key === "ArrowLeft" && this.#expanded.has(agent.id)) {
|
|
11704
11763
|
event2.preventDefault();
|
|
11705
|
-
this.#
|
|
11764
|
+
this.#toggle(agent, false);
|
|
11706
11765
|
} else if (event2.key === "Delete") {
|
|
11707
11766
|
if (this.#droppable(agent)) {
|
|
11708
11767
|
event2.preventDefault();
|
|
@@ -11769,7 +11828,7 @@ var SliccAgents = class extends ModelElement {
|
|
|
11769
11828
|
><swc-action-button
|
|
11770
11829
|
id=${id}
|
|
11771
11830
|
class="drop"
|
|
11772
|
-
size="
|
|
11831
|
+
size="m"
|
|
11773
11832
|
quiet
|
|
11774
11833
|
tabindex=${selected ? "0" : "-1"}
|
|
11775
11834
|
data-action="drop"
|
|
@@ -11790,7 +11849,7 @@ var SliccAgents = class extends ModelElement {
|
|
|
11790
11849
|
><swc-action-button
|
|
11791
11850
|
id=${id}
|
|
11792
11851
|
class="drop"
|
|
11793
|
-
size="
|
|
11852
|
+
size="m"
|
|
11794
11853
|
quiet
|
|
11795
11854
|
tabindex=${selected ? "0" : "-1"}
|
|
11796
11855
|
data-action="delete-cone"
|
|
@@ -11805,17 +11864,36 @@ var SliccAgents = class extends ModelElement {
|
|
|
11805
11864
|
}
|
|
11806
11865
|
#ribbon(scoops) {
|
|
11807
11866
|
if (scoops.length === 0) return A;
|
|
11808
|
-
return b`<span class="ribbon" aria-hidden="true">${scoops.map(
|
|
11867
|
+
return b`<span class="ribbon"><span class="segments" aria-hidden="true">${scoops.map(
|
|
11809
11868
|
(scoop) => b`<span class="segment" data-status=${scoop.status}></span>`
|
|
11810
|
-
)}</span>`;
|
|
11869
|
+
)}</span><span class="summary">${scoopBrief(scoops)}</span></span>`;
|
|
11870
|
+
}
|
|
11871
|
+
#disclosure(agent, scoops, open) {
|
|
11872
|
+
if (scoops.length === 0) return A;
|
|
11873
|
+
return b`<swc-action-button
|
|
11874
|
+
class="toggle"
|
|
11875
|
+
size="s"
|
|
11876
|
+
quiet
|
|
11877
|
+
tabindex="-1"
|
|
11878
|
+
aria-hidden="true"
|
|
11879
|
+
data-action="toggle-cone"
|
|
11880
|
+
?data-open=${open}
|
|
11881
|
+
@mousedown=${(event2) => event2.preventDefault()}
|
|
11882
|
+
@click=${(event2) => {
|
|
11883
|
+
event2.stopPropagation();
|
|
11884
|
+
this.#toggle(agent);
|
|
11885
|
+
}}
|
|
11886
|
+
><swc-icon-chevron-right slot="icon"></swc-icon-chevron-right
|
|
11887
|
+
></swc-action-button>`;
|
|
11811
11888
|
}
|
|
11812
|
-
#row(agent, active) {
|
|
11889
|
+
#row(agent, active, anchor) {
|
|
11813
11890
|
const selected = agent.id === active;
|
|
11891
|
+
const current = agent.id === anchor;
|
|
11814
11892
|
const error = this.errors[agent.id];
|
|
11815
11893
|
const model = this.model;
|
|
11816
11894
|
const title = agentTitle(model, agent);
|
|
11817
11895
|
const scoops = this.#scoops(agent);
|
|
11818
|
-
const open = this.#expanded
|
|
11896
|
+
const open = this.#expanded.has(agent.id);
|
|
11819
11897
|
const unread = selected ? 0 : agent.unread;
|
|
11820
11898
|
const label = `${coneLabel(model, agent)}: ${statusLabel[agent.status]}, ${percent(agent.contextFill)} context${unread ? `, ${unread} unread` : ""}${error ? `. ${error}` : ""}`;
|
|
11821
11899
|
const summary = scoopSummary(scoops);
|
|
@@ -11830,13 +11908,14 @@ var SliccAgents = class extends ModelElement {
|
|
|
11830
11908
|
aria-controls=${open && scoops.length ? scoops.map((scoop) => `row-${scoop.id}`).join(" ") : A}
|
|
11831
11909
|
aria-label=${label}
|
|
11832
11910
|
aria-description=${summary || A}
|
|
11833
|
-
tabindex=${
|
|
11911
|
+
tabindex=${current ? "0" : "-1"}
|
|
11834
11912
|
aria-keyshortcuts=${this.#droppable(agent) || this.#deletable(agent) ? "Delete" : A}
|
|
11835
11913
|
title=${summary ? `${label}. ${summary}` : label}
|
|
11836
|
-
@click=${() => this.#
|
|
11914
|
+
@click=${() => this.#select(agent)}
|
|
11837
11915
|
>
|
|
11916
|
+
${this.#disclosure(agent, scoops, open)}
|
|
11838
11917
|
<div class="head">
|
|
11839
|
-
${unread ? b`<span class="marker unread" aria-hidden="true">${unreadCount(unread)}</span>` : b`<span class="marker status" data-status=${agent.status} aria-hidden="true"></span>`}
|
|
11918
|
+
${unread ? b`<span class="marker unread" data-status=${agent.status} aria-hidden="true">${unreadCount(unread)}</span>` : b`<span class="marker status" data-status=${agent.status} aria-hidden="true"></span>`}
|
|
11840
11919
|
<span class="name">${agent.name}</span>
|
|
11841
11920
|
</div>
|
|
11842
11921
|
${fillShown(agent.contextFill) ? b`<span class="fill" data-variant=${meterVariant2(agent.contextFill)}>${percent(agent.contextFill)}</span>` : A}
|
|
@@ -11860,15 +11939,26 @@ var SliccAgents = class extends ModelElement {
|
|
|
11860
11939
|
</swc-action-button>
|
|
11861
11940
|
</div>`;
|
|
11862
11941
|
}
|
|
11942
|
+
updated() {
|
|
11943
|
+
for (const tip of this.renderRoot.querySelectorAll("swc-tooltip")) {
|
|
11944
|
+
tip.triggerElement = tip.previousElementSibling;
|
|
11945
|
+
}
|
|
11946
|
+
}
|
|
11863
11947
|
render() {
|
|
11864
11948
|
const list5 = this.model?.agent.list() ?? [];
|
|
11865
11949
|
const active = this.model?.agent.active() ?? "";
|
|
11866
11950
|
const errors = Object.values(this.errors);
|
|
11867
11951
|
const rows = ordered(list5).filter(
|
|
11868
|
-
(agent) => agent.kind === "cone" || agent.parentId
|
|
11952
|
+
(agent) => agent.kind === "cone" || this.#expanded.has(agent.parentId)
|
|
11869
11953
|
);
|
|
11954
|
+
const shown4 = rows.find((agent) => agent.id === active);
|
|
11955
|
+
const anchor = shown4 ? active : list5.find((agent) => agent.id === active)?.parentId ?? "";
|
|
11870
11956
|
return b`<div class="list"><ul role="tree" aria-label="Cones and scoops" @keydown=${this.#keydown} @focusin=${this.#focusin} @focusout=${this.#focusout}>
|
|
11871
|
-
${
|
|
11957
|
+
${c(
|
|
11958
|
+
rows,
|
|
11959
|
+
(agent) => agent.id,
|
|
11960
|
+
(agent) => this.#row(agent, active, anchor)
|
|
11961
|
+
)}
|
|
11872
11962
|
</ul></div>${this.#actions()}
|
|
11873
11963
|
<div class="sr" role="status">${errors.at(-1) ?? ""}</div>`;
|
|
11874
11964
|
}
|
|
@@ -33927,13 +34017,40 @@ function origin() {
|
|
|
33927
34017
|
const active = focused();
|
|
33928
34018
|
return active?.closest("slicc-terminal") ?? active;
|
|
33929
34019
|
}
|
|
33930
|
-
var inCwd = (approval) => approval.alwaysScope === "cwd" && !!approval.cwd;
|
|
34020
|
+
var inCwd = (approval) => approval.kind === "sudo" && approval.alwaysScope === "cwd" && !!approval.cwd;
|
|
33931
34021
|
function alwaysHint(approval) {
|
|
33932
34022
|
return inCwd(approval) ? `Always allow lets ${approval.requester.name} run exactly this command with sudo, in ${approval.cwd}, without asking again.` : `Always allow lets ${approval.requester.name} run exactly this command with sudo without asking again.`;
|
|
33933
34023
|
}
|
|
34024
|
+
function guestAsking(approval) {
|
|
34025
|
+
return approval.kind === "guest-message" ? `${approval.requester.name} wants to send this to ${approval.agentName ?? "this cone"}:` : `${approval.agentName ?? "This cone"} wants to run ${approval.tool} for ${approval.requester.name}:`;
|
|
34026
|
+
}
|
|
34027
|
+
function guestWaiting(approval) {
|
|
34028
|
+
return approval.kind === "guest-message" ? `${approval.requester.name}'s message to ${approval.agentName ?? "this cone"} waits for approval on the device in control.` : `${approval.agentName ?? "This cone"} wants to run ${approval.tool} for ${approval.requester.name}, which waits for approval on the device in control.`;
|
|
34029
|
+
}
|
|
34030
|
+
var clear = { certain: null, maybe: null };
|
|
34031
|
+
function rulesOf(approval) {
|
|
34032
|
+
return approval.kind === "sudo" ? secretRules(approval.command, approval.cwd) : clear;
|
|
34033
|
+
}
|
|
33934
34034
|
function waiting2(model, now) {
|
|
33935
34035
|
return [...model?.approvals?.list() ?? []].filter((approval) => approval.expiresAt > now).sort((a23, b13) => a23.createdAt - b13.createdAt);
|
|
33936
34036
|
}
|
|
34037
|
+
var titles = {
|
|
34038
|
+
sudo: {
|
|
34039
|
+
ask: "Allow sudo?",
|
|
34040
|
+
elsewhere: "Answered in another tab",
|
|
34041
|
+
expired: "Sudo request timed out"
|
|
34042
|
+
},
|
|
34043
|
+
"guest-message": {
|
|
34044
|
+
ask: "Allow a guest\u2019s message?",
|
|
34045
|
+
elsewhere: "Answered elsewhere",
|
|
34046
|
+
expired: "Guest message timed out"
|
|
34047
|
+
},
|
|
34048
|
+
"guest-tool": {
|
|
34049
|
+
ask: "Allow a guest\u2019s tool call?",
|
|
34050
|
+
elsewhere: "Answered elsewhere",
|
|
34051
|
+
expired: "Guest tool call timed out"
|
|
34052
|
+
}
|
|
34053
|
+
};
|
|
33937
34054
|
function gone(reason) {
|
|
33938
34055
|
return reason === "expired" ? "expired" : "elsewhere";
|
|
33939
34056
|
}
|
|
@@ -33951,6 +34068,7 @@ var SliccApprovals = class extends ModelElement {
|
|
|
33951
34068
|
#showing = null;
|
|
33952
34069
|
#pending = /* @__PURE__ */ new Set();
|
|
33953
34070
|
#done = /* @__PURE__ */ new Set();
|
|
34071
|
+
#closed = /* @__PURE__ */ new Set();
|
|
33954
34072
|
#port;
|
|
33955
34073
|
#ended = /* @__PURE__ */ new Map();
|
|
33956
34074
|
#timer = null;
|
|
@@ -33969,6 +34087,9 @@ var SliccApprovals = class extends ModelElement {
|
|
|
33969
34087
|
:host {
|
|
33970
34088
|
display: contents;
|
|
33971
34089
|
}
|
|
34090
|
+
sp-alert-dialog {
|
|
34091
|
+
display: grid;
|
|
34092
|
+
}
|
|
33972
34093
|
.command {
|
|
33973
34094
|
margin: var(--swc-spacing-200) 0 0;
|
|
33974
34095
|
padding: var(--swc-spacing-200) var(--swc-spacing-300);
|
|
@@ -33981,7 +34102,24 @@ var SliccApprovals = class extends ModelElement {
|
|
|
33981
34102
|
max-block-size: 8lh;
|
|
33982
34103
|
overflow: auto;
|
|
33983
34104
|
}
|
|
34105
|
+
.guest {
|
|
34106
|
+
margin-block-start: var(--swc-spacing-200);
|
|
34107
|
+
padding: var(--swc-spacing-200) var(--swc-spacing-300);
|
|
34108
|
+
border: var(--swc-border-width-100) solid var(--swc-gray-300);
|
|
34109
|
+
border-radius: var(--swc-corner-radius-medium-default);
|
|
34110
|
+
white-space: pre-wrap;
|
|
34111
|
+
overflow-wrap: anywhere;
|
|
34112
|
+
max-block-size: 12lh;
|
|
34113
|
+
overflow: auto;
|
|
34114
|
+
}
|
|
34115
|
+
.files {
|
|
34116
|
+
margin: var(--swc-spacing-200) 0 0;
|
|
34117
|
+
padding-inline-start: var(--swc-spacing-400);
|
|
34118
|
+
font-size: var(--swc-font-size-75);
|
|
34119
|
+
overflow-wrap: anywhere;
|
|
34120
|
+
}
|
|
33984
34121
|
.cwd,
|
|
34122
|
+
.verdict,
|
|
33985
34123
|
.hint,
|
|
33986
34124
|
.timer,
|
|
33987
34125
|
.more {
|
|
@@ -34037,6 +34175,7 @@ var SliccApprovals = class extends ModelElement {
|
|
|
34037
34175
|
this.failure = null;
|
|
34038
34176
|
this.#pending.clear();
|
|
34039
34177
|
this.#done.clear();
|
|
34178
|
+
this.#closed.clear();
|
|
34040
34179
|
this.#ended.clear();
|
|
34041
34180
|
}
|
|
34042
34181
|
if (!port) return [];
|
|
@@ -34071,8 +34210,9 @@ var SliccApprovals = class extends ModelElement {
|
|
|
34071
34210
|
async decide(approval, decision2) {
|
|
34072
34211
|
const port = this.model?.approvals;
|
|
34073
34212
|
if (!port?.decide || this.busy || decision2 !== "deny" && !this.#armed) return;
|
|
34074
|
-
const verdict =
|
|
34075
|
-
if (decision2 === "always" && (verdict.certain
|
|
34213
|
+
const verdict = rulesOf(approval);
|
|
34214
|
+
if (decision2 === "always" && (approval.kind !== "sudo" || verdict.certain || verdict.maybe))
|
|
34215
|
+
return;
|
|
34076
34216
|
this.busy = decision2;
|
|
34077
34217
|
this.failure = null;
|
|
34078
34218
|
this.#pending.add(approval.id);
|
|
@@ -34090,7 +34230,7 @@ var SliccApprovals = class extends ModelElement {
|
|
|
34090
34230
|
}
|
|
34091
34231
|
}
|
|
34092
34232
|
#current() {
|
|
34093
|
-
return this.model?.approvals?.decide ? waiting2(this.model, this.now) : [];
|
|
34233
|
+
return this.model?.approvals?.decide ? waiting2(this.model, this.now).filter(({ id }) => !this.#closed.has(id)) : [];
|
|
34094
34234
|
}
|
|
34095
34235
|
willUpdate(changed) {
|
|
34096
34236
|
super.willUpdate(changed);
|
|
@@ -34114,7 +34254,7 @@ var SliccApprovals = class extends ModelElement {
|
|
|
34114
34254
|
const all2 = this.model?.approvals?.list() ?? [];
|
|
34115
34255
|
this.#tick(this.isConnected && all2.length > 0);
|
|
34116
34256
|
const dialog = this.renderRoot.querySelector("dialog");
|
|
34117
|
-
const key2 = dialog ? `${dialog.dataset.approval}:${dialog.dataset.gone ?? ""}` : "";
|
|
34257
|
+
const key2 = dialog ? `${dialog.dataset.approval}:${dialog.dataset.gone ?? ""}:${dialog.hasAttribute("data-rejected")}` : "";
|
|
34118
34258
|
if (key2 === this.#shown) return;
|
|
34119
34259
|
if (dialog && !this.#shown) this.#trigger = origin();
|
|
34120
34260
|
this.#shown = key2;
|
|
@@ -34131,9 +34271,15 @@ var SliccApprovals = class extends ModelElement {
|
|
|
34131
34271
|
this.gone = null;
|
|
34132
34272
|
this.#showing = null;
|
|
34133
34273
|
}
|
|
34274
|
+
#dismiss(approval) {
|
|
34275
|
+
this.#done.add(approval.id);
|
|
34276
|
+
this.#closed.add(approval.id);
|
|
34277
|
+
this.failure = null;
|
|
34278
|
+
}
|
|
34134
34279
|
#cancel(event2, approval) {
|
|
34135
34280
|
event2.preventDefault();
|
|
34136
34281
|
if (this.gone) this.close();
|
|
34282
|
+
else if (this.failure?.id === approval.id) this.#dismiss(approval);
|
|
34137
34283
|
else void this.decide(approval, "deny");
|
|
34138
34284
|
}
|
|
34139
34285
|
#button(approval, decision2, label, variant) {
|
|
@@ -34151,12 +34297,31 @@ var SliccApprovals = class extends ModelElement {
|
|
|
34151
34297
|
#dialog(approval, key2, content) {
|
|
34152
34298
|
return i17(
|
|
34153
34299
|
key2,
|
|
34154
|
-
b`<dialog role="alertdialog" aria-labelledby="title" aria-describedby="asking" data-approval=${approval.id} data-kind=${approval.kind} data-requester=${approval.requester.kind} data-gone=${this.gone?.reason ?? A} @cancel=${(event2) => this.#cancel(event2, approval)}>${content}</dialog>`
|
|
34300
|
+
b`<dialog role="alertdialog" aria-labelledby="title" aria-describedby="asking" data-approval=${approval.id} data-kind=${approval.kind} data-requester=${approval.requester.kind} data-gone=${this.gone?.reason ?? A} data-rejected=${!this.gone && this.failure?.id === approval.id ? "" : A} @cancel=${(event2) => this.#cancel(event2, approval)}>${content}</dialog>`
|
|
34155
34301
|
);
|
|
34156
34302
|
}
|
|
34157
34303
|
#request(approval) {
|
|
34158
|
-
|
|
34159
|
-
|
|
34304
|
+
if (approval.kind === "sudo")
|
|
34305
|
+
return b`<p id="asking">${asking(approval)}:</p>
|
|
34306
|
+
<pre class="command" data-command>${sudo(approval)}</pre>`;
|
|
34307
|
+
if (approval.kind === "guest-tool")
|
|
34308
|
+
return b`<p id="asking">${guestAsking(approval)}</p>
|
|
34309
|
+
<pre class="command" data-summary>${approval.summary}</pre>`;
|
|
34310
|
+
const files = approval.attachments ?? [];
|
|
34311
|
+
return b`<p id="asking">${guestAsking(approval)}</p>
|
|
34312
|
+
<div class="guest" data-guest-text>${approval.text}</div>
|
|
34313
|
+
${files.length ? b`<ul class="files" data-attachments>${files.map((file) => b`<li>${file.name} · ${file.mimeType} · ${size3(file.size)}</li>`)}</ul>` : A}`;
|
|
34314
|
+
}
|
|
34315
|
+
#verdict(approval) {
|
|
34316
|
+
const verdict = approval.kind === "sudo" ? void 0 : approval.verdict;
|
|
34317
|
+
return verdict ? b`<p class="verdict" data-verdict=${verdict.decision}>The automatic check would ${verdict.decision} this: ${verdict.reason}</p>` : A;
|
|
34318
|
+
}
|
|
34319
|
+
#actions(approval, rejected, always) {
|
|
34320
|
+
if (rejected)
|
|
34321
|
+
return b`<swc-button slot="button" variant="secondary" fill-style="outline" data-action="close" @click=${() => this.#dismiss(approval)}>Close</swc-button>`;
|
|
34322
|
+
return b`${this.#button(approval, "deny", "Deny", "secondary")}
|
|
34323
|
+
${always ? this.#button(approval, "always", inCwd(approval) ? "Always allow in this directory" : "Always allow", "secondary") : A}
|
|
34324
|
+
${this.#button(approval, "once", "Allow once", "accent")}`;
|
|
34160
34325
|
}
|
|
34161
34326
|
render() {
|
|
34162
34327
|
if (this.gone) {
|
|
@@ -34164,8 +34329,8 @@ var SliccApprovals = class extends ModelElement {
|
|
|
34164
34329
|
return this.#dialog(
|
|
34165
34330
|
approval2,
|
|
34166
34331
|
`gone:${approval2.id}`,
|
|
34167
|
-
b`<sp-alert-dialog variant="information">
|
|
34168
|
-
<h2 id="title" slot="heading">${reason
|
|
34332
|
+
b`<sp-alert-dialog variant="information" data-approval-kind=${approval2.kind}>
|
|
34333
|
+
<h2 id="title" slot="heading">${titles[approval2.kind][reason]}</h2>
|
|
34169
34334
|
${this.#request(approval2)}
|
|
34170
34335
|
${reason === "expired" ? b`<p class="timer" data-timer>Denied because nobody answered in time.</p>` : A}
|
|
34171
34336
|
<swc-button slot="button" variant="secondary" fill-style="outline" data-action="close" @click=${() => this.close()}>Close</swc-button>
|
|
@@ -34177,24 +34342,23 @@ var SliccApprovals = class extends ModelElement {
|
|
|
34177
34342
|
const [approval, ...rest] = held ? [held, ...list5.filter(({ id }) => id !== held.id)] : list5;
|
|
34178
34343
|
if (!approval) return A;
|
|
34179
34344
|
const failure2 = this.failure?.id === approval.id ? this.failure.message : "";
|
|
34180
|
-
const verdict =
|
|
34345
|
+
const verdict = rulesOf(approval);
|
|
34181
34346
|
const rules = verdict.certain ?? verdict.maybe;
|
|
34182
|
-
const always = approval.always && !rules;
|
|
34347
|
+
const always = approval.kind === "sudo" && approval.always && !rules;
|
|
34348
|
+
const hint2 = approval.kind === "sudo" && always ? alwaysHint(approval) : "";
|
|
34183
34349
|
return this.#dialog(
|
|
34184
34350
|
approval,
|
|
34185
34351
|
approval.id,
|
|
34186
|
-
b`<sp-alert-dialog variant="warning">
|
|
34187
|
-
<h2 id="title" slot="heading"
|
|
34352
|
+
b`<sp-alert-dialog variant="warning" data-approval-kind=${approval.kind}>
|
|
34353
|
+
<h2 id="title" slot="heading">${titles[approval.kind].ask}</h2>
|
|
34188
34354
|
${this.#request(approval)}
|
|
34189
|
-
${approval
|
|
34355
|
+
${this.#verdict(approval)}
|
|
34356
|
+
${approval.kind === "sudo" && approval.cwd ? b`<p class="cwd">In ${approval.cwd}</p>` : A}
|
|
34190
34357
|
${rules ? b`<div class="rules" data-secret-rules=${rules}><swc-icon-alert-triangle size="s" aria-hidden="true"></swc-icon-alert-triangle><p>${verdict.certain ? b`<strong>This changes secret rules.</strong> It names <code>${rules}</code>, where SLICC keeps which secrets programs may use and where they may be sent.` : b`<strong>This may change secret rules.</strong> SLICC can't tell where <code>${rules}</code> leads, and it could reach the files where SLICC keeps which secrets programs may use and where they may be sent.`} Allow it only if you asked for this change.</p></div>` : A}
|
|
34191
|
-
${
|
|
34192
|
-
${failure2 ? b`<p class="problem" role="alert" data-error><swc-icon-alert-triangle size="s" aria-hidden="true"></swc-icon-alert-triangle><span>${failure2}</span></p>` :
|
|
34193
|
-
<p class="timer" data-timer>Denied automatically in ${countdown(approval.expiresAt - this.now)}.</p>
|
|
34358
|
+
${hint2 ? b`<p class="hint">${hint2}</p>` : A}
|
|
34359
|
+
${failure2 ? b`<p class="problem" role="alert" data-error><swc-icon-alert-triangle size="s" aria-hidden="true"></swc-icon-alert-triangle><span>${failure2}</span></p>` : b`<p class="timer" data-timer>Denied automatically in ${countdown(approval.expiresAt - this.now)}.</p>`}
|
|
34194
34360
|
${rest.length ? b`<p class="more" data-more>${rest.length === 1 ? "1 more request is waiting." : `${rest.length} more requests are waiting.`}</p>` : A}
|
|
34195
|
-
${this.#
|
|
34196
|
-
${always ? this.#button(approval, "always", inCwd(approval) ? "Always allow in this directory" : "Always allow", "secondary") : A}
|
|
34197
|
-
${this.#button(approval, "once", "Allow once", "accent")}
|
|
34361
|
+
${this.#actions(approval, !!failure2, always)}
|
|
34198
34362
|
</sp-alert-dialog>`
|
|
34199
34363
|
);
|
|
34200
34364
|
}
|
|
@@ -35599,6 +35763,7 @@ e12([n({
|
|
|
35599
35763
|
e25("swc-action-group", o87);
|
|
35600
35764
|
|
|
35601
35765
|
// src/app/changes.ts
|
|
35766
|
+
var watchNote = b`<span data-watch-note>Watch only</span>`;
|
|
35602
35767
|
var layouts = [
|
|
35603
35768
|
["unified", "Unified"],
|
|
35604
35769
|
["split", "Split"]
|
|
@@ -35922,11 +36087,11 @@ var SliccChanges = class extends ModelElement {
|
|
|
35922
36087
|
return b`<div class="bar">
|
|
35923
36088
|
<span class="summary">${changes2.length} pending ${changes2.length === 1 ? "change" : "changes"}</span>
|
|
35924
36089
|
<span class="spacer"></span>
|
|
35925
|
-
${changes2.length
|
|
35926
|
-
<swc-action-button size="s" quiet data-action="revert-all" @click=${() => this.#all("revert")}>Revert all</swc-action-button>`
|
|
36090
|
+
${!changes2.length ? A : watchOnly(this.model) ? watchNote : b`<swc-action-button size="s" quiet data-action="accept-all" @click=${() => this.#all("accept")}>Accept all</swc-action-button>
|
|
36091
|
+
<swc-action-button size="s" quiet data-action="revert-all" @click=${() => this.#all("revert")}>Revert all</swc-action-button>`}
|
|
35927
36092
|
</div>
|
|
35928
36093
|
${errorLine(this.error)}
|
|
35929
|
-
${changes2.length ? this.#list(changes2) : b`<div class="note"
|
|
36094
|
+
${changes2.length ? this.#list(changes2) : b`<div class="note">${watchOnly(this.model) ? "No pending changes." : "No pending changes. Edits by agents show up here for review."}</div>`}`;
|
|
35930
36095
|
}
|
|
35931
36096
|
};
|
|
35932
36097
|
var SliccDiffPanel = class extends ThemedElement {
|
|
@@ -36036,7 +36201,7 @@ var SliccDiffPanel = class extends ThemedElement {
|
|
|
36036
36201
|
>`
|
|
36037
36202
|
)}
|
|
36038
36203
|
</swc-action-group>`}
|
|
36039
|
-
${watchOnly(model) ?
|
|
36204
|
+
${watchOnly(model) ? watchNote : b`<swc-action-button size="s" quiet data-action="accept" accessible-label="Accept" title="Accept" @click=${() => port?.accept(this.path)}>
|
|
36040
36205
|
<swc-icon-checkmark slot="icon"></swc-icon-checkmark><span class="label">Accept</span>
|
|
36041
36206
|
</swc-action-button>
|
|
36042
36207
|
<swc-action-button size="s" quiet data-action="revert" accessible-label="Revert" title="Revert" @click=${() => this.#revert(port, change)}>
|
|
@@ -36963,7 +37128,7 @@ var SliccChat = class extends ThemedElement {
|
|
|
36963
37128
|
this.#items(messages, agent),
|
|
36964
37129
|
([key2]) => key2,
|
|
36965
37130
|
([, item2]) => item2
|
|
36966
|
-
)}</swc-conversation-thread>` : this.model?.tabs?.state().role === "connecting" ? b`<div class="empty" data-connecting>${connecting}</div>` : b`<div class="empty"
|
|
37131
|
+
)}</swc-conversation-thread>` : this.model?.tabs?.state().role === "connecting" ? b`<div class="empty" data-connecting>${connecting}</div>` : b`<div class="empty">${watch ? "No messages yet." : `No messages yet. Ask ${agent?.name ?? "the agent"} something.`}</div>`}
|
|
36967
37132
|
</div>
|
|
36968
37133
|
</div>
|
|
36969
37134
|
${this.dropping ? b`<swc-dropzone dragged size="l" aria-label="Attach files" dragged-message="Drop to attach"><p>Drop to attach</p></swc-dropzone>` : A}
|
|
@@ -39724,7 +39889,16 @@ var SliccNotices = class extends ModelElement {
|
|
|
39724
39889
|
</div>`;
|
|
39725
39890
|
}
|
|
39726
39891
|
#approval(approval) {
|
|
39727
|
-
|
|
39892
|
+
if (approval.kind !== "sudo")
|
|
39893
|
+
return b`<div class="notice" role="status" data-approval-notice=${approval.id} data-approval-kind=${approval.kind} data-tone="warning">
|
|
39894
|
+
<swc-icon-alert-triangle></swc-icon-alert-triangle>
|
|
39895
|
+
<div class="text">
|
|
39896
|
+
<span class="title">${approval.kind === "guest-message" ? "Waiting for approval of a guest\u2019s message" : "Waiting for approval of a guest\u2019s tool call"}</span>
|
|
39897
|
+
<p>${guestWaiting(approval)}</p>
|
|
39898
|
+
<p>Denied automatically at ${deadline(approval.expiresAt)}.</p>
|
|
39899
|
+
</div>
|
|
39900
|
+
</div>`;
|
|
39901
|
+
return b`<div class="notice" role="status" data-approval-notice=${approval.id} data-approval-kind="sudo" data-tone="warning">
|
|
39728
39902
|
<swc-icon-alert-triangle></swc-icon-alert-triangle>
|
|
39729
39903
|
<div class="text">
|
|
39730
39904
|
<span class="title">Waiting for sudo approval</span>
|