@ai-ecoverse/slicc-spectrum 1.103.3 → 1.104.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/slicc-ui.js CHANGED
@@ -21282,12 +21282,12 @@ function safeUrl(url, images = false, strict = false) {
21282
21282
  if (strict) return /^https:\/\//i.test(url);
21283
21283
  return /^https?:\/\//.test(url) || !images && /^mailto:/.test(url) || images && /^data:image\/(png|jpeg|gif|webp|svg\+xml)[;,]/.test(url);
21284
21284
  }
21285
- function link(url, title, label, strict) {
21286
- return safeUrl(url, false, strict) ? b`<a href=${url} title=${title ?? A} target="_blank" rel="noopener noreferrer">${label}</a>` : b`${label}`;
21285
+ function link(url, title2, label, strict) {
21286
+ return safeUrl(url, false, strict) ? b`<a href=${url} title=${title2 ?? A} target="_blank" rel="noopener noreferrer">${label}</a>` : b`${label}`;
21287
21287
  }
21288
- function image(url, title, alt, strict) {
21289
- if (strict) return link(url, title, alt || url, true);
21290
- return safeUrl(url, true) ? b`<img src=${url} alt=${alt} title=${title ?? A} />` : alt;
21288
+ function image(url, title2, alt, strict) {
21289
+ if (strict) return link(url, title2, alt || url, true);
21290
+ return safeUrl(url, true) ? b`<img src=${url} alt=${alt} title=${title2 ?? A} />` : alt;
21291
21291
  }
21292
21292
  function inline3(node2, context) {
21293
21293
  return node2.children.map((child) => phrasing(child, context));
@@ -21868,11 +21868,11 @@ function errorCard(item2, handlers) {
21868
21868
  const resolved = login?.state === "connected";
21869
21869
  const signing = login?.state === "signing-in" && login.window;
21870
21870
  const text5 = resolved ? signedIn : signing ? signInText(login.waited) : item2.text;
21871
- const title = resolved && login.provider ? `Signed in to ${login.provider} again.` : item2.title;
21871
+ const title2 = resolved && login.provider ? `Signed in to ${login.provider} again.` : item2.title;
21872
21872
  const failure2 = login?.state === "idle" ? login.error : void 0;
21873
21873
  return b`<div class="error-card" role=${resolved ? A : "alert"} aria-atomic=${resolved ? A : "false"} data-id=${id || A} data-login=${login?.state ?? A}>
21874
21874
  ${resolved ? b`<swc-icon-info-circle class="icon" size="s" aria-hidden="true"></swc-icon-info-circle>` : b`<swc-icon-alert-diamond class="icon" size="s" aria-hidden="true"></swc-icon-alert-diamond>`}
21875
- ${resolved ? A : b`<span class="sr">Error: </span>`}<span class="lead">${title}</span>
21875
+ ${resolved ? A : b`<span class="sr">Error: </span>`}<span class="lead">${title2}</span>
21876
21876
  ${text5 ? b`<span class="detail" role=${login ? "status" : A}>${text5}</span>` : A}
21877
21877
  ${fix ? b`<div class="fix" aria-live="off">${fixButton(fix, item2, handlers, login)}</div>` : A}
21878
21878
  ${signing ? signInDetails(item2.account, login.signIn, login.copied, (code3) => handlers.copySignIn?.(item2.account, id, code3), "s") : A}
@@ -22187,8 +22187,8 @@ function attachment(item2) {
22187
22187
  <span slot="subtitle" class="size">${detail}</span>
22188
22188
  </swc-user-message>`;
22189
22189
  }
22190
- function when(at, title = "") {
22191
- return b`<time class="when" datetime=${new Date(at).toISOString()} title=${title || A}>${time(at)}</time>`;
22190
+ function when(at, title2 = "") {
22191
+ return b`<time class="when" datetime=${new Date(at).toISOString()} title=${title2 || A}>${time(at)}</time>`;
22192
22192
  }
22193
22193
  function unseen(at) {
22194
22194
  return b`<time class="sr" datetime=${new Date(at).toISOString()}>${time(at)}</time>`;
@@ -22324,12 +22324,12 @@ var ended = /* @__PURE__ */ new Set([
22324
22324
  function system(message, handlers) {
22325
22325
  if (message.kind === "compaction") {
22326
22326
  const failed2 = message.state === "fallback" || message.state === "discarded";
22327
- const title = message.title ?? compactionTitles[message.state ?? "summarized"];
22327
+ const title2 = message.title ?? compactionTitles[message.state ?? "summarized"];
22328
22328
  return event(
22329
- title,
22329
+ title2,
22330
22330
  b`<div class="marker" role="status" data-id=${message.id} data-state=${message.state ?? "summarized"}>
22331
22331
  <span class="line"></span>
22332
- <span class="marker-text">${failed2 ? b`<swc-icon-alert-diamond class="fault" size="xs" aria-hidden="true"></swc-icon-alert-diamond>` : A}${title}${message.state === "summarizing" ? b`<swc-progress-circle size="s" label="Summarizing"></swc-progress-circle>` : A}${message.text ? b`<span class="sr">. ${message.text}</span>` : A}</span>
22332
+ <span class="marker-text">${failed2 ? b`<swc-icon-alert-diamond class="fault" size="xs" aria-hidden="true"></swc-icon-alert-diamond>` : A}${title2}${message.state === "summarizing" ? b`<swc-progress-circle size="s" label="Summarizing"></swc-progress-circle>` : A}${message.text ? b`<span class="sr">. ${message.text}</span>` : A}</span>
22333
22333
  <span class="line"></span>
22334
22334
  </div>`
22335
22335
  );
@@ -24858,7 +24858,7 @@ ${this.value}` : text5;
24858
24858
  <swc-button size="s" variant="accent" data-action="share-secret" ?pending=${this.sharing} @click=${(event2) => event2.currentTarget.closest("form")?.requestSubmit()}>Share</swc-button>
24859
24859
  </form>`;
24860
24860
  }
24861
- const title = {
24861
+ const title2 = {
24862
24862
  command: "Commands",
24863
24863
  argument: "Options",
24864
24864
  mention: "Mention",
@@ -24882,7 +24882,7 @@ ${this.value}` : text5;
24882
24882
  if (last && last.group === item2.group) last.entries.push([item2, index2]);
24883
24883
  else sections2.push({ group: item2.group, entries: [[item2, index2]] });
24884
24884
  });
24885
- return b`<div class="popup" role="listbox" aria-label=${title} data-kind=${popup2.kind}>
24885
+ return b`<div class="popup" role="listbox" aria-label=${title2} data-kind=${popup2.kind}>
24886
24886
  ${popup2.items.length ? sections2.map(
24887
24887
  ({ group, entries }) => group ? b`<div class="section" role="group" aria-label=${group} data-group=${group}>
24888
24888
  <div class="heading" aria-hidden="true">${group}</div>
@@ -27630,8 +27630,8 @@ function agentTitle(model, agent) {
27630
27630
  function twinned(name, id, rows2) {
27631
27631
  return rows2.some((row) => row.id !== id && row.name === name);
27632
27632
  }
27633
- function withTitle(name, title) {
27634
- return `${name} (${short(title) || untitled.toLowerCase()})`;
27633
+ function withTitle(name, title2) {
27634
+ return `${name} (${short(title2) || untitled.toLowerCase()})`;
27635
27635
  }
27636
27636
  function coneLabel(model, agent) {
27637
27637
  const cones = model.agent.list().filter((other) => other.kind === "cone");
@@ -27643,9 +27643,9 @@ function watchTitles(model, update) {
27643
27643
  const check3 = (id) => {
27644
27644
  const agent = model.agent.list().find((candidate) => candidate.id === id);
27645
27645
  if (!agent) return;
27646
- const title = agentTitle(model, agent);
27647
- if (seen.get(id) === title) return;
27648
- seen.set(id, title);
27646
+ const title2 = agentTitle(model, agent);
27647
+ if (seen.get(id) === title2) return;
27648
+ seen.set(id, title2);
27649
27649
  update();
27650
27650
  };
27651
27651
  const stops = [
@@ -28946,7 +28946,7 @@ var SliccAgents = class extends ModelElement {
28946
28946
  const current = agent.id === anchor;
28947
28947
  const error = this.errors[agent.id];
28948
28948
  const model = this.model;
28949
- const title = agentTitle(model, agent);
28949
+ const title2 = agentTitle(model, agent);
28950
28950
  const scoops = this.#scoops(agent);
28951
28951
  const open = this.#expanded.has(agent.id);
28952
28952
  const unread = selected ? 0 : agent.unread;
@@ -28974,7 +28974,7 @@ var SliccAgents = class extends ModelElement {
28974
28974
  <span class="name">${agent.name}</span>
28975
28975
  </div>
28976
28976
  ${fillShown(agent.contextFill) ? b`<span class="fill" data-variant=${meterVariant2(agent.contextFill)}>${percent(agent.contextFill)}</span>` : A}
28977
- <span class="title"><span class="state">${statusLabel[agent.status]}</span> · ${title || untitled}</span>
28977
+ <span class="title"><span class="state">${statusLabel[agent.status]}</span> · ${title2 || untitled}</span>
28978
28978
  ${this.#ribbon(scoops)}
28979
28979
  ${this.#dropButton(agent, selected)}
28980
28980
  ${this.#deleteButton(agent, selected)}
@@ -29514,13 +29514,13 @@ var SliccGuestInvite = class extends i2 {
29514
29514
  this.remove();
29515
29515
  if (this.trigger?.isConnected) this.trigger.focus();
29516
29516
  }
29517
- #gate(field, title, value) {
29517
+ #gate(field, title2, value) {
29518
29518
  const options2 = this.#options(field, this.#current);
29519
29519
  const chosen = options2.find((option2) => option2.value === value);
29520
29520
  const id = `guest-${field}`;
29521
29521
  return b`<div class="field">
29522
- <sp-field-label for=${id} size="m">${title}</sp-field-label>
29523
- <sp-picker id=${id} size="m" label=${title} data-action=${`guest-${field}`} .value=${l(value)} ?disabled=${this.pending} @change=${(event2) => {
29522
+ <sp-field-label for=${id} size="m">${title2}</sp-field-label>
29523
+ <sp-picker id=${id} size="m" label=${title2} data-action=${`guest-${field}`} .value=${l(value)} ?disabled=${this.pending} @change=${(event2) => {
29524
29524
  this[field] = this.#pick(event2);
29525
29525
  }}>
29526
29526
  ${options2.map((option2) => b`<sp-menu-item value=${option2.value}>${option2.label}<span slot="description">${option2.description}</span></sp-menu-item>`)}
@@ -30498,7 +30498,7 @@ function terminalsText(count2) {
30498
30498
  var again = "Unlinking it, or a new certificate on it, turns this off again.";
30499
30499
  function accessConfirm(device, key2) {
30500
30500
  const name = device.name;
30501
- const [title, body4] = {
30501
+ const [title2, body4] = {
30502
30502
  follow: [
30503
30503
  `Let ${name} follow this SLICC?`,
30504
30504
  "It sees the agent\u2019s conversations live. To let it send prompts or open terminals, turn on Control or Terminal for it afterwards."
@@ -30516,7 +30516,7 @@ function accessConfirm(device, key2) {
30516
30516
  "Terminal lets it open shells on this SLICC as root: it can run any command and read or change every file."
30517
30517
  ]
30518
30518
  }[key2];
30519
- return { title, body: `${body4} ${again}`, action: "Allow", variant: "confirmation" };
30519
+ return { title: title2, body: `${body4} ${again}`, action: "Allow", variant: "confirmation" };
30520
30520
  }
30521
30521
  function say(devices, one3, many) {
30522
30522
  if (!devices.length) return [];
@@ -31605,7 +31605,7 @@ var SliccNetwork = class extends ModelElement {
31605
31605
  const [variant, label] = linksLight(links);
31606
31606
  const pairing = links.pairing;
31607
31607
  const joinable = hasTray(links) || !!pairing;
31608
- const active = !!pairing && (pairing.state !== "idle" || links.devices.some((device) => device.note));
31608
+ const active = !!pairing && (pairing.state !== "idle" || links.devices.some((device) => device.note && device.state === "offline"));
31609
31609
  return b`<section aria-labelledby="links" data-links=${linksSummary(links)}>
31610
31610
  <div class="head">
31611
31611
  <h2 id="links">Linked devices</h2>
@@ -32458,7 +32458,7 @@ function state(info) {
32458
32458
  function table2(rows2) {
32459
32459
  const lines = [["ID", "TITLE", "STATE"], ...rows2.map((row) => [row.id, row.title, state(row)])];
32460
32460
  const widths = [0, 1].map((column) => Math.max(...lines.map((line) => line[column].length)));
32461
- return lines.map(([id, title, shown4]) => `${id.padEnd(widths[0])} ${title.padEnd(widths[1])} ${shown4}`).join("\n");
32461
+ return lines.map(([id, title2, shown4]) => `${id.padEnd(widths[0])} ${title2.padEnd(widths[1])} ${shown4}`).join("\n");
32462
32462
  }
32463
32463
  var done = (result, note = "") => result.code === 0 ? { stdout: `${result.message}${note}
32464
32464
  `, stderr: "", code: 0 } : { stdout: "", stderr: `panel: ${result.message}
@@ -38057,9 +38057,22 @@ function guestAlwaysHint(approval) {
38057
38057
  function guestAsking(approval) {
38058
38058
  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}:`;
38059
38059
  }
38060
+ function trayTitle(approval) {
38061
+ if (approval.op === "url") return "Share this seven\u2019s join URL?";
38062
+ if (approval.op === "rotate") return "Make a new join URL?";
38063
+ return approval.device ? `Unlink ${approval.device.name}?` : "Unlink a device?";
38064
+ }
38065
+ function trayAsking(approval) {
38066
+ const { name } = approval.requester;
38067
+ if (approval.op === "url")
38068
+ return `${name} wants this seven\u2019s join URL. Anyone with it can ask to link to this seven.`;
38069
+ if (approval.op === "rotate")
38070
+ return `${name} wants a new join URL. Linked devices move to it, and the old one stops working.`;
38071
+ return `${name} wants to unlink ${approval.device?.name ?? "a device"} from this seven.`;
38072
+ }
38060
38073
  function approved(approval) {
38061
38074
  if (approval.kind === "sudo") return sudo(approval);
38062
- if (approval.kind === "guest-message") return "";
38075
+ if (approval.kind === "guest-message" || approval.kind === "tray") return "";
38063
38076
  if (approval.summary.trim()) return approval.summary;
38064
38077
  return approval.args?.trim() ? `${approval.tool}
38065
38078
  ${approval.args}` : "";
@@ -38079,7 +38092,7 @@ function rulesOf(approval) {
38079
38092
  return approval.kind === "sudo" ? secretRules(approval.command, approval.cwd) : clear;
38080
38093
  }
38081
38094
  function waiting2(model, now) {
38082
- return [...model?.approvals?.list() ?? []].filter((approval) => approval.expiresAt > now).sort((a23, b13) => a23.createdAt - b13.createdAt);
38095
+ return [...model?.approvals?.list() ?? []].filter((approval) => approval.expiresAt > now && Object.hasOwn(titles, approval.kind)).sort((a23, b13) => a23.createdAt - b13.createdAt);
38083
38096
  }
38084
38097
  var titles = {
38085
38098
  sudo: {
@@ -38096,8 +38109,16 @@ var titles = {
38096
38109
  ask: "Allow a guest\u2019s tool call?",
38097
38110
  elsewhere: "Answered elsewhere",
38098
38111
  expired: "Guest tool call timed out"
38112
+ },
38113
+ tray: {
38114
+ ask: "",
38115
+ elsewhere: "Answered in another tab",
38116
+ expired: "Tray request timed out"
38099
38117
  }
38100
38118
  };
38119
+ function title(approval) {
38120
+ return approval.kind === "tray" ? trayTitle(approval) : titles[approval.kind].ask;
38121
+ }
38101
38122
  function gone(reason) {
38102
38123
  return reason === "expired" ? "expired" : "elsewhere";
38103
38124
  }
@@ -38289,7 +38310,7 @@ var SliccApprovals = class extends ModelElement {
38289
38310
  if (!port?.decide || this.busy || decision2 !== "deny" && (!this.#armed || !this.#whole(approval)))
38290
38311
  return;
38291
38312
  const verdict = rulesOf(approval);
38292
- const always = approval.kind === "sudo" || approval.always;
38313
+ const always = approval.kind === "sudo" || approval.kind !== "tray" && approval.always;
38293
38314
  if (decision2 === "always" && (!always || verdict.certain || verdict.maybe)) return;
38294
38315
  this.busy = decision2;
38295
38316
  this.failure = null;
@@ -38405,6 +38426,7 @@ var SliccApprovals = class extends ModelElement {
38405
38426
  return b`<pre class="command" data-command=${approval.kind === "sudo" ? "" : A} data-summary=${approval.kind === "sudo" ? A : ""}><span class="lines" data-clamp=${full ? A : id}>${text5}${pending ? b`<span class="end" data-end=${id}></span>` : A}</span></pre>${toggle}`;
38406
38427
  }
38407
38428
  #request(approval, pending = false) {
38429
+ if (approval.kind === "tray") return b`<p id="asking">${trayAsking(approval)}</p>`;
38408
38430
  if (approval.kind === "sudo")
38409
38431
  return b`<p id="asking">${asking(approval)}:</p>
38410
38432
  ${this.#command(approval, pending)}`;
@@ -38417,7 +38439,7 @@ var SliccApprovals = class extends ModelElement {
38417
38439
  ${files.length ? b`<ul class="files" data-attachments>${files.map((file) => b`<li>${file.name} · ${file.mimeType} · ${size3(file.size)}</li>`)}</ul>` : A}`;
38418
38440
  }
38419
38441
  #verdict(approval) {
38420
- const verdict = approval.kind === "sudo" ? void 0 : approval.verdict;
38442
+ const verdict = approval.kind === "sudo" || approval.kind === "tray" ? void 0 : approval.verdict;
38421
38443
  return verdict ? b`<p class="verdict" data-verdict=${verdict.decision}>${verdict.decision === "unsure" ? "The automatic check wasn\u2019t sure" : `The automatic check would ${verdict.decision} this`}: ${verdict.reason}</p>` : A;
38422
38444
  }
38423
38445
  #actions(approval, rejected, always) {
@@ -38449,14 +38471,14 @@ var SliccApprovals = class extends ModelElement {
38449
38471
  const failure2 = this.failure?.id === approval.id ? this.failure.message : "";
38450
38472
  const verdict = rulesOf(approval);
38451
38473
  const rules = verdict.certain ?? verdict.maybe;
38452
- const always = approval.always && !rules;
38474
+ const always = approval.kind !== "tray" && approval.always && !rules;
38453
38475
  const gate = this.#gate(approval);
38454
38476
  const hint2 = always && this.#whole(approval) ? hintOf(approval) : "";
38455
38477
  return this.#dialog(
38456
38478
  approval,
38457
38479
  approval.id,
38458
38480
  b`<sp-alert-dialog variant="warning" data-approval-kind=${approval.kind}>
38459
- <h2 id="title" slot="heading">${titles[approval.kind].ask}</h2>
38481
+ <h2 id="title" slot="heading">${title(approval)}</h2>
38460
38482
  ${this.#request(approval, true)}
38461
38483
  ${this.#verdict(approval)}
38462
38484
  ${approval.kind === "sudo" && approval.cwd ? b`<p class="cwd">In ${approval.cwd}</p>` : A}
@@ -39963,8 +39985,8 @@ var SliccChanges = class extends ModelElement {
39963
39985
  return;
39964
39986
  }
39965
39987
  const count2 = changes2.length;
39966
- const title = `Revert ${count2} ${count2 === 1 ? "change" : "changes"}?`;
39967
- if (await confirm({ title, body: lost(changes2), action: "Revert all" }) && !watchOnly(this.model))
39988
+ const title2 = `Revert ${count2} ${count2 === 1 ? "change" : "changes"}?`;
39989
+ if (await confirm({ title: title2, body: lost(changes2), action: "Revert all" }) && !watchOnly(this.model))
39968
39990
  this.error = await revertPaths(
39969
39991
  port,
39970
39992
  changes2.map((change) => change.path)
@@ -40725,8 +40747,8 @@ var SliccMemory = class extends ModelElement {
40725
40747
  }
40726
40748
  async #forget(memory, trigger2) {
40727
40749
  const body4 = "Agents won\u2019t remember this anymore. You can\u2019t undo this.";
40728
- const title = `Forget \u201C${memory.title}\u201D?`;
40729
- if (await confirm({ title, body: body4, action: "Forget", variant: "destructive", trigger: trigger2 }))
40750
+ const title2 = `Forget \u201C${memory.title}\u201D?`;
40751
+ if (await confirm({ title: title2, body: body4, action: "Forget", variant: "destructive", trigger: trigger2 }))
40730
40752
  this.model?.memory.remove(memory.id);
40731
40753
  }
40732
40754
  #scopeOf(id) {
@@ -41005,6 +41027,15 @@ var SliccNotices = class extends ModelElement {
41005
41027
  </div>`;
41006
41028
  }
41007
41029
  #approval(approval) {
41030
+ if (approval.kind === "tray")
41031
+ return b`<div class="notice" role="status" data-approval-notice=${approval.id} data-approval-kind="tray" data-tone="warning">
41032
+ <swc-icon-alert-triangle></swc-icon-alert-triangle>
41033
+ <div class="text">
41034
+ <span class="title">Waiting for tray approval</span>
41035
+ <p>${trayAsking(approval)}</p>
41036
+ <p>It waits for the owner's approval. Denied automatically at ${deadline(approval.expiresAt)}.</p>
41037
+ </div>
41038
+ </div>`;
41008
41039
  if (approval.kind !== "sudo")
41009
41040
  return b`<div class="notice" role="status" data-approval-notice=${approval.id} data-approval-kind=${approval.kind} data-tone="warning">
41010
41041
  <swc-icon-alert-triangle></swc-icon-alert-triangle>
@@ -43343,8 +43374,8 @@ var SliccSettings = class extends ThemedElement {
43343
43374
  const signIn = vaulted && account.auth !== "api-key" && account.group === "mcp";
43344
43375
  const stored2 = key2 || signIn ? vault : void 0;
43345
43376
  const body4 = `Agents can\u2019t use ${account.provider} until you connect it again.${key2 ? " You can restore its key from Removed in Secrets for 30 days." : ""}`;
43346
- const title = `Disconnect ${account.provider}?`;
43347
- if (!await confirm({ title, body: body4, action: "Disconnect", variant: "confirmation" })) return;
43377
+ const title2 = `Disconnect ${account.provider}?`;
43378
+ if (!await confirm({ title: title2, body: body4, action: "Disconnect", variant: "confirmation" })) return;
43348
43379
  clearValues(this.renderRoot);
43349
43380
  if (this.model !== model) return;
43350
43381
  const server = serverOf(account);
@@ -43493,8 +43524,8 @@ var SliccSettings = class extends ThemedElement {
43493
43524
  async #remove(account) {
43494
43525
  const model = this.model;
43495
43526
  const body4 = removeBodies[account.auth ?? ""] ?? "Its key is deleted from the vault. Models from it stop working.";
43496
- const title = `Remove ${account.provider}?`;
43497
- if (!await confirm({ title, body: body4, action: "Remove" })) return;
43527
+ const title2 = `Remove ${account.provider}?`;
43528
+ if (!await confirm({ title: title2, body: body4, action: "Remove" })) return;
43498
43529
  if (this.model !== model) return;
43499
43530
  clearValues(this.renderRoot);
43500
43531
  if (this.entering === account.id) this.entering = null;
@@ -55686,14 +55717,14 @@ function getIgnoreCaseMatchChars(char) {
55686
55717
  const set = /* @__PURE__ */ new Set();
55687
55718
  const lower2 = char.toLowerCase();
55688
55719
  const upper2 = lower2.toUpperCase();
55689
- const title = LowerToTitleCaseMap.get(lower2);
55720
+ const title2 = LowerToTitleCaseMap.get(lower2);
55690
55721
  const altLower = LowerToAlternativeLowerCaseMap.get(lower2);
55691
55722
  const altUpper = LowerToAlternativeUpperCaseMap.get(lower2);
55692
55723
  if ([...upper2].length === 1) {
55693
55724
  set.add(upper2);
55694
55725
  }
55695
55726
  altUpper && set.add(altUpper);
55696
- title && set.add(title);
55727
+ title2 && set.add(title2);
55697
55728
  set.add(lower2);
55698
55729
  altLower && set.add(altLower);
55699
55730
  return [...set];
@@ -72449,14 +72480,14 @@ function committedWhere(position2, target) {
72449
72480
  return position2 === "center" ? `docked into ${target}` : `split ${position2} of ${target}`;
72450
72481
  }
72451
72482
  var DEFAULT_MESSAGES = {
72452
- panelOpened: (title) => `${title} opened`,
72453
- panelClosed: (title) => `${title} closed`,
72454
- groupMaximized: (title) => `${title} maximized`,
72455
- groupRestored: (title) => `${title} restored`,
72456
- groupFloated: (title) => `${title} floated`,
72457
- groupDocked: (title) => `${title} docked`,
72458
- groupPoppedOut: (title) => `${title} opened in a new window`,
72459
- closeTab: (title) => `Close ${title}`,
72483
+ panelOpened: (title2) => `${title2} opened`,
72484
+ panelClosed: (title2) => `${title2} closed`,
72485
+ groupMaximized: (title2) => `${title2} maximized`,
72486
+ groupRestored: (title2) => `${title2} restored`,
72487
+ groupFloated: (title2) => `${title2} floated`,
72488
+ groupDocked: (title2) => `${title2} docked`,
72489
+ groupPoppedOut: (title2) => `${title2} opened in a new window`,
72490
+ closeTab: (title2) => `Close ${title2}`,
72460
72491
  closeTabPlain: () => `Close`,
72461
72492
  movePickTarget: (source, target, current, total) => `Moving ${source}. Target ${target}, ${current} of ${total}. Enter to choose where, Escape to cancel.`,
72462
72493
  movePickEdge: (position2, target) => `${edgeWhere(position2, target)}. Arrows to change, Enter to confirm, Escape to go back.`,
@@ -79739,8 +79770,8 @@ var DockviewGroupPanelModel = class extends CompositeDisposable {
79739
79770
  /** Label the group region with its active panel's title (the WAI-ARIA region name). */
79740
79771
  updateAccessibleLabel() {
79741
79772
  var _this$_activePanel5;
79742
- const title = (_this$_activePanel5 = this._activePanel) === null || _this$_activePanel5 === void 0 ? void 0 : _this$_activePanel5.title;
79743
- if (title) this.container.setAttribute("aria-label", title);
79773
+ const title2 = (_this$_activePanel5 = this._activePanel) === null || _this$_activePanel5 === void 0 ? void 0 : _this$_activePanel5.title;
79774
+ if (title2) this.container.setAttribute("aria-label", title2);
79744
79775
  else this.container.removeAttribute("aria-label");
79745
79776
  }
79746
79777
  updateMru(panel) {
@@ -80341,8 +80372,8 @@ var DockviewPanelApiImpl = class extends GridviewPanelApiImpl {
80341
80372
  });
80342
80373
  });
80343
80374
  }
80344
- setTitle(title) {
80345
- this.panel.setTitle(title);
80375
+ setTitle(title2) {
80376
+ this.panel.setTitle(title2);
80346
80377
  }
80347
80378
  setPinned(pinned) {
80348
80379
  this.accessor.setPanelPinned(this.panel, pinned);
@@ -80479,11 +80510,11 @@ var DockviewPanel = class extends CompositeDisposable {
80479
80510
  pinned: this._pinned ? true : void 0
80480
80511
  };
80481
80512
  }
80482
- setTitle(title) {
80483
- if (title !== this.title) {
80484
- this._title = title;
80485
- this.view.setTitle(title);
80486
- this.api._onDidTitleChange.fire({ title });
80513
+ setTitle(title2) {
80514
+ if (title2 !== this.title) {
80515
+ this._title = title2;
80516
+ this.view.setTitle(title2);
80517
+ this.api._onDidTitleChange.fire({ title: title2 });
80487
80518
  }
80488
80519
  }
80489
80520
  /**
@@ -80624,8 +80655,8 @@ var DockviewPanelModel = class {
80624
80655
  this.content.init(params);
80625
80656
  this.tab.init(_objectSpread2(_objectSpread2({}, params), {}, { tabLocation: "header" }));
80626
80657
  }
80627
- setTitle(title) {
80628
- if (this._params) this._params.title = title;
80658
+ setTitle(title2) {
80659
+ if (this._params) this._params.title = title2;
80629
80660
  }
80630
80661
  layout(width, height) {
80631
80662
  var _this$content$layout, _this$content;
@@ -80672,7 +80703,7 @@ var DefaultDockviewDeserialzier = class {
80672
80703
  var _panelData$contentCom, _viewData$tab, _this$accessor$option;
80673
80704
  const panelId = panelData.id;
80674
80705
  const params = panelData.params;
80675
- const title = panelData.title;
80706
+ const title2 = panelData.title;
80676
80707
  const viewData = panelData.view;
80677
80708
  const contentComponent = viewData ? viewData.content.id : (_panelData$contentCom = panelData.contentComponent) !== null && _panelData$contentCom !== void 0 ? _panelData$contentCom : "unknown";
80678
80709
  const tabComponent = viewData ? (_viewData$tab = viewData.tab) === null || _viewData$tab === void 0 ? void 0 : _viewData$tab.id : panelData.tabComponent;
@@ -80685,7 +80716,7 @@ var DefaultDockviewDeserialzier = class {
80685
80716
  maximumHeight: panelData.maximumHeight
80686
80717
  });
80687
80718
  panel.init({
80688
- title: title !== null && title !== void 0 ? title : panelId,
80719
+ title: title2 !== null && title2 !== void 0 ? title2 : panelId,
80689
80720
  params: params !== null && params !== void 0 ? params : {}
80690
80721
  });
80691
80722
  if (panelData.pinned && ((_this$accessor$option = this.accessor.options.pinnedTabs) === null || _this$accessor$option === void 0 ? void 0 : _this$accessor$option.enabled)) panel.setPinned(true);
@@ -81372,8 +81403,8 @@ var FloatingGroupService = class {
81372
81403
  })());
81373
81404
  const updateDialogLabel = () => {
81374
81405
  var _group$activePanel;
81375
- const title = (_group$activePanel = group.activePanel) === null || _group$activePanel === void 0 ? void 0 : _group$activePanel.title;
81376
- if (title) overlay.element.setAttribute("aria-label", title);
81406
+ const title2 = (_group$activePanel = group.activePanel) === null || _group$activePanel === void 0 ? void 0 : _group$activePanel.title;
81407
+ if (title2) overlay.element.setAttribute("aria-label", title2);
81377
81408
  else overlay.element.removeAttribute("aria-label");
81378
81409
  };
81379
81410
  updateDialogLabel();
@@ -86574,7 +86605,7 @@ var SliccTab = class {
86574
86605
  this.#close.append(cross);
86575
86606
  this.element.append(this.#label, this.#close);
86576
86607
  }
86577
- init({ api, containerApi, title }) {
86608
+ init({ api, containerApi, title: title2 }) {
86578
86609
  const render2 = (text5) => {
86579
86610
  this.#label.textContent = text5;
86580
86611
  this.#close.setAttribute(
@@ -86582,7 +86613,7 @@ var SliccTab = class {
86582
86613
  text5 ? containerApi.messages.closeTab(text5) : containerApi.messages.closeTabPlain()
86583
86614
  );
86584
86615
  };
86585
- render2(title);
86616
+ render2(title2);
86586
86617
  const pointerdown = (event2) => event2.preventDefault();
86587
86618
  const click = (event2) => {
86588
86619
  if (event2.defaultPrevented) return;
@@ -86592,7 +86623,7 @@ var SliccTab = class {
86592
86623
  this.#close.addEventListener("pointerdown", pointerdown);
86593
86624
  this.#close.addEventListener("click", click);
86594
86625
  this.#disposables.push(
86595
- api.onDidTitleChange(({ title: title2 }) => render2(title2)),
86626
+ api.onDidTitleChange(({ title: title3 }) => render2(title3)),
86596
86627
  {
86597
86628
  dispose: () => {
86598
86629
  this.#close.removeEventListener("pointerdown", pointerdown);