@ai-ecoverse/slicc-spectrum 1.88.2 → 1.89.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 CHANGED
@@ -486,6 +486,7 @@ Either way its conversation stays here, and a row without a `kind` counts as a c
486
486
  A title longer than two lines ends in an ellipsis and carries its full text as a `title`; the dummy's titles are the whole first line of the first message, so only the card cuts them.
487
487
  A row with `v6: true` came from SLICC 6 and carries a neutral outline **SLICC 6** badge (`data-badge="v6"`, `data-v6` on the row), set apart from the gray model badge.
488
488
  When the agent port has `importProfile` and `importCancel` and the page is neither watch-only nor a guest seat, the bar offers **Import** with an import icon (`data-action="import-v6"`; its accessible name and tooltip say "Import from SLICC 6"), on the bar's first row at the default width, which picks a `.zip`; dropping a zip on the Freezer (with a "Drop to import" dropzone while dragging) does the same.
489
+ A zip is a `.zip` name or an `application/zip` or `application/x-zip-compressed` type; deeper checks are left to the preview. Dropping or picking anything else shows an inline error under the bar (`data-error="not-zip"`, a polite status): "That’s not a SLICC 6 export. Drop the .zip from Export for SLICC 7.", which clears on the next drop or pick, or with its dismiss button (`data-action="dismiss-not-zip"`, which puts focus back on Import).
489
490
  Either opens `<slicc-freezer-import>`, a modal (`dialog[data-import]` set to `checking`, `preview`, `importing`, `done` or `failed`): `importProfile(file, { preview: true })` runs behind a progress circle and "Checking the profile…"; then **Import from SLICC 6?** shows the agent's `text`, a summary (cones, scoops, frozen, skills, crons, webhooks, size, on one row when the dialog is wide and in four equal columns when it's narrow, so no cell sits alone on a row) and its notes (`[data-note]`): "You imported this export on {day}." when `already` is set, "Sign in again in Settings: {providers}." (named by their accounts), a **Warning:** with an icon for credential-like files, which are imported for review afterwards (their zip paths as code; more than three fold under a quiet chevron), and a muted "Not imported: {n} mounted folders." behind a folder icon, so every note's text starts at the same edge.
490
491
  **Import** (`data-action="import-confirm"`, **Import again** with `again: true` after an earlier import) runs the import with a progress bar from the `importing` event, announced only when it starts and ends; **Done** (`data-action="import-done"`) after "Imported {n} cones." and the report path with **Copy** (`data-action="copy-report"`) closes it and focuses the first imported row.
491
492
  A rejection shows the error card with its sentence (a check without a `preview` shows "Couldn’t read this export. Try another zip."), **Try again** (`data-action="import-retry"`, picks again) and **Close**; **Cancel** or <kbd>Escape</kbd> while checking or importing calls `importCancel`.
package/dist/slicc-ui.js CHANGED
@@ -10184,12 +10184,12 @@ e12([n({
10184
10184
  // node_modules/@adobe/spectrum-wc/dist/components/dropzone/swc-dropzone.js
10185
10185
  e25("swc-dropzone", c17);
10186
10186
 
10187
- // node_modules/@adobe/spectrum-wc-icons/dist/Import.js
10187
+ // node_modules/@adobe/spectrum-wc-icons/dist/AlertDiamond.js
10188
10188
  function e80() {
10189
- return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M8.325 12.47a.75.75 0 1 0 1.06 1.06l3-3a.75.75 0 0 0 0-1.06l-3-3a.75.75 0 1 0-1.06 1.06l1.72 1.72H.895a.75.75 0 0 0 0 1.5h9.15z"/><path fill="var(--swc-icon-color, currentColor)" d="M14.75 2.021h-8.5C5.01 2.021 4 3.031 4 4.271V6.24a.75.75 0 0 0 1.5 0V4.271c0-.413.337-.75.75-.75h8.5c.413 0 .75.337.75.75v11.5a.75.75 0 0 1-.75.75H6.453a.75.75 0 0 1-.75-.75v-2.043a.75.75 0 0 0-1.5 0v2.043c0 1.24 1.01 2.25 2.25 2.25h8.297c1.24 0 2.25-1.01 2.25-2.25v-11.5c0-1.24-1.01-2.25-2.25-2.25"/></svg>';
10189
+ 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>';
10190
10190
  }
10191
10191
 
10192
- // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-import.js
10192
+ // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-alert-diamond.js
10193
10193
  var o51 = class extends a10 {
10194
10194
  static get styles() {
10195
10195
  return [t40];
@@ -10200,7 +10200,25 @@ var o51 = class extends a10 {
10200
10200
  `;
10201
10201
  }
10202
10202
  };
10203
- e25("swc-icon-import", o51);
10203
+ e25("swc-icon-alert-diamond", o51);
10204
+
10205
+ // node_modules/@adobe/spectrum-wc-icons/dist/Import.js
10206
+ function e81() {
10207
+ return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M8.325 12.47a.75.75 0 1 0 1.06 1.06l3-3a.75.75 0 0 0 0-1.06l-3-3a.75.75 0 1 0-1.06 1.06l1.72 1.72H.895a.75.75 0 0 0 0 1.5h9.15z"/><path fill="var(--swc-icon-color, currentColor)" d="M14.75 2.021h-8.5C5.01 2.021 4 3.031 4 4.271V6.24a.75.75 0 0 0 1.5 0V4.271c0-.413.337-.75.75-.75h8.5c.413 0 .75.337.75.75v11.5a.75.75 0 0 1-.75.75H6.453a.75.75 0 0 1-.75-.75v-2.043a.75.75 0 0 0-1.5 0v2.043c0 1.24 1.01 2.25 2.25 2.25h8.297c1.24 0 2.25-1.01 2.25-2.25v-11.5c0-1.24-1.01-2.25-2.25-2.25"/></svg>';
10208
+ }
10209
+
10210
+ // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-import.js
10211
+ var o52 = class extends a10 {
10212
+ static get styles() {
10213
+ return [t40];
10214
+ }
10215
+ render() {
10216
+ return b`
10217
+ ${o16(e81())}
10218
+ `;
10219
+ }
10220
+ };
10221
+ e25("swc-icon-import", o52);
10204
10222
 
10205
10223
  // node_modules/@adobe/spectrum-wc/dist/patterns/ai-toolkit/conversation-thread/conversation-thread.js
10206
10224
  var t50 = i`:host{display:block;inline-size:100%}*,*:before,*:after{box-sizing:border-box}.swc-ConversationThread{display:flex;flex-direction:column;gap:24px;inline-size:100%}`;
@@ -10263,22 +10281,22 @@ e12([o({
10263
10281
  e25("swc-conversation-thread", s9);
10264
10282
 
10265
10283
  // node_modules/@adobe/spectrum-wc-icons/dist/New.js
10266
- function e81() {
10284
+ function e82() {
10267
10285
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M18 4.25v11.5c0 1.24-1.01 2.25-2.25 2.25H4.25C3.01 18 2 16.99 2 15.75V4.25C2 3.01 3.01 2 4.25 2h11.5C16.99 2 18 3.01 18 4.25m-1.5 0a.75.75 0 0 0-.75-.75H4.25a.75.75 0 0 0-.75.75v11.5c0 .414.336.75.75.75h11.5a.75.75 0 0 0 .75-.75z"/><path fill="var(--swc-icon-color, currentColor)" d="M13.763 10a.763.763 0 0 1-.763.763h-2.237V13a.763.763 0 0 1-1.526 0v-2.237H7a.763.763 0 0 1 0-1.526h2.237V7a.763.763 0 0 1 1.526 0v2.237H13c.421 0 .763.342.763.763"/></svg>';
10268
10286
  }
10269
10287
 
10270
10288
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-new.js
10271
- var o52 = class extends a10 {
10289
+ var o53 = class extends a10 {
10272
10290
  static get styles() {
10273
10291
  return [t40];
10274
10292
  }
10275
10293
  render() {
10276
10294
  return b`
10277
- ${o16(e81())}
10295
+ ${o16(e82())}
10278
10296
  `;
10279
10297
  }
10280
10298
  };
10281
- e25("swc-icon-new", o52);
10299
+ e25("swc-icon-new", o53);
10282
10300
 
10283
10301
  // src/app/dips.ts
10284
10302
  var dipType = "application/x-slicc-sprinkle";
@@ -10365,7 +10383,7 @@ e12([n({
10365
10383
  e25("swc-conversation-turn", a13);
10366
10384
 
10367
10385
  // node_modules/@adobe/spectrum-wc/dist/components/ui-icons/ui-icons.types.js
10368
- var e82 = [
10386
+ var e83 = [
10369
10387
  50,
10370
10388
  75,
10371
10389
  100,
@@ -10385,7 +10403,7 @@ function n29(e123) {
10385
10403
  }
10386
10404
  function r27(t90, r40) {
10387
10405
  if (!t90) return;
10388
- let i26 = n29(r40), a23 = e82.filter((e123) => t90[e123] !== void 0);
10406
+ let i26 = n29(r40), a23 = e83.filter((e123) => t90[e123] !== void 0);
10389
10407
  if (a23.length !== 0) return t90[a23.reduce((e123, t91) => Math.abs(t91 - i26) < Math.abs(e123 - i26) ? t91 : e123)];
10390
10408
  }
10391
10409
 
@@ -11009,7 +11027,7 @@ e12([n({
11009
11027
  e25("swc-ui-icon", l15);
11010
11028
 
11011
11029
  // node_modules/@adobe/spectrum-wc/dist/utils/id.js
11012
- function e83(e123) {
11030
+ function e84(e123) {
11013
11031
  return `${e123}-${Array.from(crypto.getRandomValues(new Uint8Array(4)), (e124) => `0${(e124 & 255).toString(16)}`.slice(-2)).join("")}`;
11014
11032
  }
11015
11033
 
@@ -11019,7 +11037,7 @@ var t66 = i`:host{display:block}*,*:before,*:after{box-sizing:border-box}.swc-Me
11019
11037
  // node_modules/@adobe/spectrum-wc/dist/patterns/ai-toolkit/message-sources/MessageSources.js
11020
11038
  var c18 = class extends i9 {
11021
11039
  constructor(...e123) {
11022
- super(...e123), this.panelId = e83("swc-sources-panel"), this.toggleId = e83("swc-message-sources-toggle"), this.sourceLinks = [], this.open = false, this.label = "Sources", this.accessibleLabel = "";
11040
+ super(...e123), this.panelId = e84("swc-sources-panel"), this.toggleId = e84("swc-message-sources-toggle"), this.sourceLinks = [], this.open = false, this.label = "Sources", this.accessibleLabel = "";
11023
11041
  }
11024
11042
  static get styles() {
11025
11043
  return [t66];
@@ -11152,7 +11170,7 @@ var a14 = () => b`
11152
11170
  <circle cx="4" cy="4" r="4" fill="currentColor" />
11153
11171
  </svg>
11154
11172
  `;
11155
- var o53 = () => b`
11173
+ var o54 = () => b`
11156
11174
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8">
11157
11175
  <circle cx="4" cy="4" r="3.5" fill="none" stroke="currentColor" />
11158
11176
  </svg>
@@ -11212,7 +11230,7 @@ var h6 = class extends i9 {
11212
11230
  return this._readLabel();
11213
11231
  }
11214
11232
  constructor() {
11215
- super(), this._toggleId = e83("swc-response-status-step-toggle"), this._detailId = e83("swc-response-status-step-detail"), this.status = "active", this.open = false, this._hasDescription = false, this._labelText = "", this._overflows = false, this._lastActiveLabel = "", new t2(this, {
11233
+ super(), this._toggleId = e84("swc-response-status-step-toggle"), this._detailId = e84("swc-response-status-step-detail"), this.status = "active", this.open = false, this._hasDescription = false, this._labelText = "", this._overflows = false, this._lastActiveLabel = "", new t2(this, {
11216
11234
  config: {
11217
11235
  attributes: true,
11218
11236
  attributeFilter: ["slot"],
@@ -11295,7 +11313,7 @@ var h6 = class extends i9 {
11295
11313
  class="swc-ResponseStatusStep-icon swc-ResponseStatusStep-icon--active"
11296
11314
  aria-hidden="true"
11297
11315
  >
11298
- ${o53()}
11316
+ ${o54()}
11299
11317
  </swc-icon>
11300
11318
  `);
11301
11319
  }
@@ -11369,7 +11387,7 @@ e12([n({
11369
11387
  e25("swc-response-status-step", h6);
11370
11388
 
11371
11389
  // node_modules/@adobe/spectrum-wc/dist/patterns/ai-toolkit/pixel-loader/data.js
11372
- function e84(e123, t90) {
11390
+ function e85(e123, t90) {
11373
11391
  let n37 = Array.from(new Set(e123.map(([, e124]) => e124))).sort((e124, t91) => t91 - e124), r40 = Array(e123.length).fill(0), i26 = 0;
11374
11392
  return n37.forEach((n38) => {
11375
11393
  let a23 = e123.reduce((e124, t91, r41) => (t91[1] === n38 && e124.push(r41), e124), []);
@@ -11379,7 +11397,7 @@ function e84(e123, t90) {
11379
11397
  }), r40;
11380
11398
  }
11381
11399
  function t69(t90, n37 = {}) {
11382
- let { staggerInterval: r40 = 2, rowOffset: i26 = 0 } = n37, a23 = e84(t90, r40);
11400
+ let { staggerInterval: r40 = 2, rowOffset: i26 = 0 } = n37, a23 = e85(t90, r40);
11383
11401
  return t90.map(([e123, t91], n38) => ({
11384
11402
  col: e123,
11385
11403
  row: t91 + i26,
@@ -11522,7 +11540,7 @@ var a15 = t69([
11522
11540
  [5, 0],
11523
11541
  [6, 0]
11524
11542
  ], { staggerInterval: 1 });
11525
- var o54 = t69([
11543
+ var o55 = t69([
11526
11544
  [6, 6],
11527
11545
  [5, 5],
11528
11546
  [1, 4],
@@ -12077,7 +12095,7 @@ var N = {
12077
12095
  brush: r31,
12078
12096
  eye: i19,
12079
12097
  hourglass: a15,
12080
- mag: o54,
12098
+ mag: o55,
12081
12099
  crop: s11,
12082
12100
  flower: c20,
12083
12101
  image: l16,
@@ -12168,13 +12186,13 @@ var F = {
12168
12186
  };
12169
12187
 
12170
12188
  // node_modules/@adobe/spectrum-wc/dist/patterns/ai-toolkit/pixel-loader/animation.js
12171
- var e85 = 30;
12172
- var t70 = (t90) => t90 * e85 / 1e3;
12189
+ var e86 = 30;
12190
+ var t70 = (t90) => t90 * e86 / 1e3;
12173
12191
  var n32 = 13;
12174
12192
  var r32 = 12;
12175
12193
  var i20 = t70(1400);
12176
12194
  var a16 = t70(150);
12177
- var o55 = t70(150);
12195
+ var o56 = t70(150);
12178
12196
  var s12 = 0.1;
12179
12197
  var c21 = t70(230);
12180
12198
  var l17 = 0.3;
@@ -12204,10 +12222,10 @@ function y4(e123) {
12204
12222
  return v8(e123) + n32 + i20 + r32;
12205
12223
  }
12206
12224
  function b8(t90) {
12207
- return y4(t90) / e85 * 1e3;
12225
+ return y4(t90) / e86 * 1e3;
12208
12226
  }
12209
12227
  function x3(t90) {
12210
- return (v8(t90) + n32) / e85 * 1e3;
12228
+ return (v8(t90) + n32) / e86 * 1e3;
12211
12229
  }
12212
12230
  function S2(e123, t90) {
12213
12231
  return Math.min(1, Math.max(0, e123 / t90));
@@ -12252,7 +12270,7 @@ function w3(e123, t90) {
12252
12270
  }), C3(o94);
12253
12271
  }
12254
12272
  function T4(e123, t90) {
12255
- let i26 = e123.stagger + n32 - o55, u27 = i26 - a16, d22 = _4(e123), f11 = d22 + c21;
12273
+ let i26 = e123.stagger + n32 - o56, u27 = i26 - a16, d22 = _4(e123), f11 = d22 + c21;
12256
12274
  return C3([
12257
12275
  {
12258
12276
  offset: 0,
@@ -12319,7 +12337,7 @@ function k2() {
12319
12337
  return D3 + O2 + D3;
12320
12338
  }
12321
12339
  function A4() {
12322
- return k2() / e85 * 1e3;
12340
+ return k2() / e86 * 1e3;
12323
12341
  }
12324
12342
  function j2() {
12325
12343
  let e123 = k2();
@@ -12348,9 +12366,9 @@ function j2() {
12348
12366
  var M2 = "0 0px";
12349
12367
 
12350
12368
  // node_modules/@adobe/spectrum-wc/dist/patterns/ai-toolkit/pixel-loader/geometry.js
12351
- var e86 = /* @__PURE__ */ new WeakMap();
12369
+ var e87 = /* @__PURE__ */ new WeakMap();
12352
12370
  function t71(t90) {
12353
- let n37 = e86.get(t90);
12371
+ let n37 = e87.get(t90);
12354
12372
  if (n37) return n37;
12355
12373
  let r40 = new Set(t90.map((e123) => `${e123.col},${e123.row}`)), i26 = (e123, t91) => r40.has(`${e123},${t91}`), a23 = t90.map(({ col: e123, row: t91 }) => {
12356
12374
  let n38 = i26(e123 - 1, t91), r41 = i26(e123 + 1, t91), a24 = i26(e123, t91 - 1), o94 = i26(e123, t91 + 1), s19 = i26(e123 - 1, t91 - 1), c28 = i26(e123 + 1, t91 - 1), l24 = i26(e123 + 1, t91 + 1), u27 = i26(e123 - 1, t91 + 1);
@@ -12361,7 +12379,7 @@ function t71(t90) {
12361
12379
  bottomLeft: !n38 && !o94 && !u27
12362
12380
  };
12363
12381
  });
12364
- return e86.set(t90, a23), a23;
12382
+ return e87.set(t90, a23), a23;
12365
12383
  }
12366
12384
  function n33(e123, t90) {
12367
12385
  return `${e123.topLeft ? t90 : "0"} ${e123.topRight ? t90 : "0"} ${e123.bottomRight ? t90 : "0"} ${e123.bottomLeft ? t90 : "0"}`;
@@ -12373,7 +12391,7 @@ var t72 = i`:host{display:inline-block}*,*:before,*:after{box-sizing:border-box}
12373
12391
  // node_modules/@adobe/spectrum-wc/dist/patterns/ai-toolkit/pixel-loader/PixelLoader.js
12374
12392
  var w4;
12375
12393
  var T5 = "https://spectrum-web-components.adobe.com/?path=/docs/patterns-ai-toolkit-pixel-loader--docs";
12376
- var E3 = class e87 extends i9 {
12394
+ var E3 = class e88 extends i9 {
12377
12395
  constructor(...e123) {
12378
12396
  super(...e123), this.icon = "aiLogo", this.paused = false, this.label = "Loading", this._presetIndex = 0, this._animations = [], this._containerCache = null, this._cellElsCache = null, this._shuffledPresetIcons = null, this._ticker = null, this._reducedMotionQuery = null, this._displayedIcon = "aiLogo", this._finishToken = 0, this._handleReducedMotionChange = () => {
12379
12397
  this._syncTicker(), this._playCells();
@@ -12497,8 +12515,8 @@ var E3 = class e87 extends i9 {
12497
12515
  }
12498
12516
  }), this._cancelAnimations();
12499
12517
  let i26 = {
12500
- duration: e87.FINISH_MS,
12501
- easing: e87.EASE_FINISH,
12518
+ duration: e88.FINISH_MS,
12519
+ easing: e88.EASE_FINISH,
12502
12520
  fill: "forwards"
12503
12521
  }, a23 = n37.map((e123) => e123.animate([{
12504
12522
  translate: M2,
@@ -12548,7 +12566,7 @@ var E3 = class e87 extends i9 {
12548
12566
  style=${o3({
12549
12567
  "grid-column": String(t90.col + 1),
12550
12568
  "grid-row": String(t90.row + 1),
12551
- "border-radius": n33(n37, e87.CORNER_RADIUS)
12569
+ "border-radius": n33(n37, e88.CORNER_RADIUS)
12552
12570
  })}
12553
12571
  ></div>
12554
12572
  `;
@@ -12589,12 +12607,12 @@ var y5 = [
12589
12607
  "complete",
12590
12608
  "stopped"
12591
12609
  ];
12592
- var b9 = class e88 extends i9 {
12610
+ var b9 = class e89 extends i9 {
12593
12611
  static get styles() {
12594
12612
  return [t73];
12595
12613
  }
12596
12614
  constructor() {
12597
- super(), this.panelId = e83("swc-response-status-panel"), this._hasSteps = false, this._hasActiveStep = false, this._activeStepLabel = "", this._activeStepEl = null, this._labelSlotText = "", this._displayedLabel = "", this._rollFromLabel = "", this._rollToLabel = "", this._rollActive = false, this._rollEngaged = false, this._loaderPaused = false, this._loaderStartRaf = null, this._loaderStartTimer = null, this.status = "active", this.open = false, this.accessibleLabel = "", this.loader = "mega", this._labelRollTimer = null, this._labelRollRaf = null, new t2(this, {
12615
+ super(), this.panelId = e84("swc-response-status-panel"), this._hasSteps = false, this._hasActiveStep = false, this._activeStepLabel = "", this._activeStepEl = null, this._labelSlotText = "", this._displayedLabel = "", this._rollFromLabel = "", this._rollToLabel = "", this._rollActive = false, this._rollEngaged = false, this._loaderPaused = false, this._loaderStartRaf = null, this._loaderStartTimer = null, this.status = "active", this.open = false, this.accessibleLabel = "", this.loader = "mega", this._labelRollTimer = null, this._labelRollRaf = null, new t2(this, {
12598
12616
  config: {
12599
12617
  attributes: true,
12600
12618
  attributeFilter: ["status"],
@@ -12712,10 +12730,10 @@ var b9 = class e88 extends i9 {
12712
12730
  if (this._labelSlotText) return this._labelSlotText;
12713
12731
  let t90 = this._resolvedStatus;
12714
12732
  if (t90 === "active") {
12715
- if (this._showsGenericProcessingLabel) return e88.ACTIVE_STEP_OPEN_LABEL;
12733
+ if (this._showsGenericProcessingLabel) return e89.ACTIVE_STEP_OPEN_LABEL;
12716
12734
  if (this._activeStepLabel) return this._activeStepLabel;
12717
12735
  }
12718
- return e88.DEFAULT_LABELS[t90];
12736
+ return e89.DEFAULT_LABELS[t90];
12719
12737
  }
12720
12738
  _clearLabelRollTimers() {
12721
12739
  this._labelRollTimer !== null && (window.clearTimeout(this._labelRollTimer), this._labelRollTimer = null), this._labelRollRaf !== null && (window.cancelAnimationFrame(this._labelRollRaf), this._labelRollRaf = null);
@@ -12727,7 +12745,7 @@ var b9 = class e88 extends i9 {
12727
12745
  this._clearLoaderStartRaf(), this._loaderPaused = true, this._loaderStartRaf = window.requestAnimationFrame(() => {
12728
12746
  this._loaderStartRaf = null, this._loaderStartTimer = window.setTimeout(() => {
12729
12747
  this._loaderStartTimer = null, this._loaderPaused = false;
12730
- }, e88.LOADER_START_DELAY_MS);
12748
+ }, e89.LOADER_START_DELAY_MS);
12731
12749
  });
12732
12750
  }
12733
12751
  _prefersReducedMotion() {
@@ -12754,7 +12772,7 @@ var b9 = class e88 extends i9 {
12754
12772
  this._labelRollRaf = window.requestAnimationFrame(() => {
12755
12773
  this._labelRollRaf = null, this._rollEngaged = true, this._labelRollTimer = window.setTimeout(() => {
12756
12774
  this._labelRollTimer = null, this._displayedLabel = this._rollToLabel, this._rollActive = false, this._rollEngaged = false, this._applyLabelRoll();
12757
- }, e88.LABEL_ROLL_DURATION_MS);
12775
+ }, e89.LABEL_ROLL_DURATION_MS);
12758
12776
  });
12759
12777
  });
12760
12778
  }
@@ -12762,7 +12780,7 @@ var b9 = class e88 extends i9 {
12762
12780
  return this._rollActive ? this._rollToLabel : this._displayedLabel || this._getHeaderLabel();
12763
12781
  }
12764
12782
  _renderLabel() {
12765
- let t90 = e88.STATUS_LABEL_CLASS;
12783
+ let t90 = e89.STATUS_LABEL_CLASS;
12766
12784
  return this._rollActive ? b`
12767
12785
  <span class="swc-ResponseStatus-headerTrailViewport">
12768
12786
  <span class=${this._rollEngaged ? "swc-ResponseStatus-headerTrailCrossfade swc-ResponseStatus-headerTrailCrossfade--engaged" : "swc-ResponseStatus-headerTrailCrossfade"}>
@@ -12886,7 +12904,7 @@ var b9 = class e88 extends i9 {
12886
12904
  `;
12887
12905
  }
12888
12906
  _renderPanel(t90) {
12889
- let n37 = t90 && this.open, r40 = this.accessibleLabel || e88.DEFAULT_ACCESSIBLE_LABEL;
12907
+ let n37 = t90 && this.open, r40 = this.accessibleLabel || e89.DEFAULT_ACCESSIBLE_LABEL;
12890
12908
  return b`
12891
12909
  <div
12892
12910
  id=${this.panelId}
@@ -12951,7 +12969,7 @@ var t74 = i`:host{display:block}*,*:before,*:after{box-sizing:border-box}.swc-Su
12951
12969
  // node_modules/@adobe/spectrum-wc/dist/patterns/ai-toolkit/suggestion/SuggestionGroup.js
12952
12970
  var s13 = class extends i9 {
12953
12971
  constructor(...e123) {
12954
- super(...e123), this.accessibleLabel = "", this._headingId = e83("swc-suggestion-group-heading");
12972
+ super(...e123), this.accessibleLabel = "", this._headingId = e84("swc-suggestion-group-heading");
12955
12973
  }
12956
12974
  static get styles() {
12957
12975
  return [t74];
@@ -13113,24 +13131,6 @@ e12([n({
13113
13131
  // node_modules/@adobe/spectrum-wc/dist/patterns/ai-toolkit/user-message/swc-user-message.js
13114
13132
  e25("swc-user-message", a17);
13115
13133
 
13116
- // node_modules/@adobe/spectrum-wc-icons/dist/AlertDiamond.js
13117
- function e89() {
13118
- 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>';
13119
- }
13120
-
13121
- // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-alert-diamond.js
13122
- var o56 = class extends a10 {
13123
- static get styles() {
13124
- return [t40];
13125
- }
13126
- render() {
13127
- return b`
13128
- ${o16(e89())}
13129
- `;
13130
- }
13131
- };
13132
- e25("swc-icon-alert-diamond", o56);
13133
-
13134
13134
  // node_modules/@adobe/spectrum-wc-icons/dist/Cancel.js
13135
13135
  function e90() {
13136
13136
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M16.201 16.166A8.72 8.72 0 0 0 18.75 10c0-4.825-3.925-8.75-8.75-8.75a8.72 8.72 0 0 0-6.166 2.549l-.021.014c-.011.007-.008.015-.014.021A8.72 8.72 0 0 0 1.25 10c0 4.825 3.925 8.75 8.75 8.75a8.72 8.72 0 0 0 6.166-2.549c.006-.006.015-.008.021-.014s.008-.015.014-.021M17.25 10c0 1.73-.61 3.317-1.625 4.565L5.435 4.375A7.2 7.2 0 0 1 10 2.75c3.998 0 7.25 3.252 7.25 7.25m-14.5 0c0-1.73.61-3.317 1.625-4.565l10.19 10.19A7.2 7.2 0 0 1 10 17.25c-3.998 0-7.25-3.252-7.25-7.25"/></svg>';
@@ -26670,14 +26670,20 @@ var frozenKinds = {
26670
26670
  scoop: ["seafoam", "Scoop"],
26671
26671
  agent: ["purple", "Agent run"]
26672
26672
  };
26673
+ var zipTypes = ["application/zip", "application/x-zip-compressed"];
26674
+ var notZip = "That\u2019s not a SLICC 6 export. Drop the .zip from Export for SLICC 7.";
26673
26675
  function isZip(file) {
26674
- return /\.zip$/i.test(file.name) || /zip/.test(file.type);
26676
+ return /\.zip$/i.test(file.name) || zipTypes.includes(file.type);
26675
26677
  }
26676
26678
  function freezerOrder(rows2) {
26677
26679
  return [...rows2].sort((a23, b13) => Number(!!b13.live) - Number(!!a23.live) || b13.frozenAt - a23.frozenAt);
26678
26680
  }
26679
26681
  var SliccFreezer = class extends ModelElement {
26680
- static properties = { ...ModelElement.properties, dropping: { state: true } };
26682
+ static properties = {
26683
+ ...ModelElement.properties,
26684
+ dropping: { state: true },
26685
+ refused: { state: true }
26686
+ };
26681
26687
  #scroll = new ViewScroll(this, "freezer:scroll", {
26682
26688
  scroller: () => this.renderRoot.querySelector(".list"),
26683
26689
  rows: ".card[data-id]"
@@ -26685,6 +26691,7 @@ var SliccFreezer = class extends ModelElement {
26685
26691
  constructor() {
26686
26692
  super();
26687
26693
  this.dropping = false;
26694
+ this.refused = false;
26688
26695
  this.addEventListener("dragenter", this.#over);
26689
26696
  this.addEventListener("dragover", this.#over);
26690
26697
  this.addEventListener("dragleave", this.#leave);
@@ -26693,6 +26700,7 @@ var SliccFreezer = class extends ModelElement {
26693
26700
  static styles = [
26694
26701
  shared,
26695
26702
  panelCss,
26703
+ errorCss,
26696
26704
  i`
26697
26705
  :host {
26698
26706
  position: relative;
@@ -26709,6 +26717,10 @@ var SliccFreezer = class extends ModelElement {
26709
26717
  .bar [data-action='import-v6'] {
26710
26718
  margin-inline-start: auto;
26711
26719
  }
26720
+ .error span {
26721
+ flex: 1;
26722
+ min-width: 0;
26723
+ }
26712
26724
  swc-dropzone {
26713
26725
  position: absolute;
26714
26726
  inset: var(--swc-spacing-100);
@@ -26793,6 +26805,10 @@ var SliccFreezer = class extends ModelElement {
26793
26805
  ...onWatch(model, update)
26794
26806
  ];
26795
26807
  }
26808
+ willUpdate(changed) {
26809
+ super.willUpdate(changed);
26810
+ if (!this.importable) this.refused = false;
26811
+ }
26796
26812
  focus() {
26797
26813
  this.focusOn(".card swc-action-button", "swc-action-button");
26798
26814
  }
@@ -26823,9 +26839,20 @@ var SliccFreezer = class extends ModelElement {
26823
26839
  this.#clear();
26824
26840
  if (!(carriesFiles(event2) && this.importable)) return;
26825
26841
  event2.preventDefault();
26826
- const file = [...event2.dataTransfer.files].find(isZip);
26827
- if (file) void this.#import(file, this);
26842
+ const files = [...event2.dataTransfer.files];
26843
+ this.#take(files.find(isZip) ?? files[0], this);
26828
26844
  };
26845
+ #take(file, trigger2) {
26846
+ if (!file) return;
26847
+ this.refused = !isZip(file);
26848
+ if (!this.refused) void this.#import(file, trigger2);
26849
+ }
26850
+ #dismiss() {
26851
+ this.refused = false;
26852
+ void this.updateComplete.then(
26853
+ () => this.renderRoot.querySelector("[data-action=import-v6]")?.focus()
26854
+ );
26855
+ }
26829
26856
  #pick() {
26830
26857
  this.renderRoot.querySelector("input[type=file]")?.click();
26831
26858
  }
@@ -26833,8 +26860,7 @@ var SliccFreezer = class extends ModelElement {
26833
26860
  const input = event2.currentTarget;
26834
26861
  const file = input.files?.[0];
26835
26862
  input.value = "";
26836
- const trigger2 = this.renderRoot.querySelector("[data-action=import-v6]");
26837
- if (file) void this.#import(file, trigger2);
26863
+ this.#take(file, this.renderRoot.querySelector("[data-action=import-v6]"));
26838
26864
  }
26839
26865
  async #import(file, trigger2) {
26840
26866
  const model = this.model;
@@ -26902,8 +26928,9 @@ var SliccFreezer = class extends ModelElement {
26902
26928
  const rows2 = freezerOrder(this.model?.agent.frozen() ?? []);
26903
26929
  return b`<div class="bar">
26904
26930
  <span>${rows2.length} ${rows2.length === 1 ? "conversation" : "conversations"}</span>
26905
- ${this.importable ? b`<swc-action-button id="import-v6" size="s" quiet data-action="import-v6" accessible-label="Import from SLICC 6" @click=${() => this.#pick()}><swc-icon-import slot="icon"></swc-icon-import>Import</swc-action-button><swc-tooltip for="import-v6" placement="bottom">Import from SLICC 6</swc-tooltip><input type="file" accept=".zip,application/zip" hidden data-action="import-file" @change=${this.#picked} />` : A}
26931
+ ${this.importable ? b`<swc-action-button id="import-v6" size="s" quiet data-action="import-v6" accessible-label="Import from SLICC 6" @click=${() => this.#pick()}><swc-icon-import slot="icon"></swc-icon-import>Import</swc-action-button><swc-tooltip for="import-v6" placement="bottom">Import from SLICC 6</swc-tooltip><input type="file" accept=${[".zip", ...zipTypes].join(",")} hidden data-action="import-file" @change=${this.#picked} />` : A}
26906
26932
  </div>
26933
+ <div class="error" role="status" aria-live="polite" data-error="not-zip">${this.refused && this.importable ? b`<swc-icon-alert-diamond size="s" aria-hidden="true"></swc-icon-alert-diamond><span>${notZip}</span><swc-action-button size="s" quiet data-action="dismiss-not-zip" accessible-label="Dismiss" @click=${() => this.#dismiss()}><swc-icon-close slot="icon"></swc-icon-close></swc-action-button>` : A}</div>
26907
26934
  <div class="list">
26908
26935
  ${rows2.length ? rows2.map((cone) => this.#card(cone)) : b`<div class="note">No conversations yet. A new conversation or a deleted cone leaves the old one here.</div>`}
26909
26936
  </div>
@@ -38789,7 +38816,7 @@ var D6 = (e123) => {
38789
38816
  var O4 = typeof CSS < "u" && typeof CSS.supports == "function" && CSS.supports("field-sizing", "content");
38790
38817
  var k5 = class extends i9 {
38791
38818
  constructor() {
38792
- super(), this.labelId = e83("swc-prompt-field-label"), this.disabled = false, this.generating = false, this.collapsed = false, this.variant = "balanced", this.size = "m", this.loader = "aiLogo", this.animateLoader = false, this.label = "Prompt", this.accessibleLabel = "", this.sendLabel = "Send", this.stopLabel = "Stop generating", this.uploadLabel = "Add attachment", this.attachmentScrollPrevLabel = "Show previous attachments", this.attachmentScrollNextLabel = "Show more attachments", this.attachmentStripLabel = "Uploaded assets strip", this.placeholder = "Ready to get started? Ask a question, share an idea, or add a task.", this.value = "", this._attachmentScrollOverflow = false, this._attachmentCanScrollPrev = false, this._attachmentCanScrollNext = false, this._attachmentScrollFallbackGeneration = 0, this._attachmentScrollObserver = new s8(this, {
38819
+ super(), this.labelId = e84("swc-prompt-field-label"), this.disabled = false, this.generating = false, this.collapsed = false, this.variant = "balanced", this.size = "m", this.loader = "aiLogo", this.animateLoader = false, this.label = "Prompt", this.accessibleLabel = "", this.sendLabel = "Send", this.stopLabel = "Stop generating", this.uploadLabel = "Add attachment", this.attachmentScrollPrevLabel = "Show previous attachments", this.attachmentScrollNextLabel = "Show more attachments", this.attachmentStripLabel = "Uploaded assets strip", this.placeholder = "Ready to get started? Ask a question, share an idea, or add a task.", this.value = "", this._attachmentScrollOverflow = false, this._attachmentCanScrollPrev = false, this._attachmentCanScrollNext = false, this._attachmentScrollFallbackGeneration = 0, this._attachmentScrollObserver = new s8(this, {
38793
38820
  target: null,
38794
38821
  callback: () => {
38795
38822
  this._updateAttachmentScrollState();