@ai-ecoverse/slicc-spectrum 1.103.2 → 1.103.3

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
@@ -24000,7 +24000,7 @@ var SliccComposer = class extends ThemedElement {
24000
24000
  padding: var(--swc-spacing-50) var(--swc-spacing-50) var(--swc-spacing-50) var(--swc-spacing-200);
24001
24001
  border-radius: var(--swc-corner-radius-medium-default);
24002
24002
  background: var(--swc-neutral-subtle-background-color-default);
24003
- border: var(--swc-border-width-100) dashed var(--swc-gray-300);
24003
+ border: var(--swc-border-width-100) dashed var(--swc-neutral-visual-color);
24004
24004
  color: var(--swc-neutral-content-color-default);
24005
24005
  }
24006
24006
  .hold {
@@ -25533,6 +25533,7 @@ var SliccChat = class _SliccChat extends ThemedElement {
25533
25533
  globalThis.addEventListener("keydown", this.#escape, true);
25534
25534
  };
25535
25535
  #leaving;
25536
+ #probed = null;
25536
25537
  #leave = (event2) => {
25537
25538
  const to = event2.relatedTarget;
25538
25539
  if (to instanceof Node && this.contains(to)) return;
@@ -26038,6 +26039,7 @@ var SliccChat = class _SliccChat extends ThemedElement {
26038
26039
  }
26039
26040
  connectedCallback() {
26040
26041
  super.connectedCallback();
26042
+ this.#probed = null;
26041
26043
  globalThis.addEventListener("pointerup", this.#release, true);
26042
26044
  globalThis.addEventListener("pointercancel", this.#release, true);
26043
26045
  if (this.hasUpdated) this.#observe();
@@ -26298,6 +26300,9 @@ var SliccChat = class _SliccChat extends ThemedElement {
26298
26300
  this.model.agent.clear(agent.id);
26299
26301
  this.renderRoot.querySelector("slicc-composer")?.focus();
26300
26302
  }
26303
+ #agentless() {
26304
+ return this.model?.agent.starting?.() ? b`<swc-status-light size="s" variant="neutral" data-starting>Starting…</swc-status-light>` : b`<span>No agent</span>`;
26305
+ }
26301
26306
  #meta(agent, empty5) {
26302
26307
  const model = this.model;
26303
26308
  const fill2 = Math.round(agent.contextFill * 100);
@@ -26343,10 +26348,15 @@ var SliccChat = class _SliccChat extends ThemedElement {
26343
26348
  this.#all = false;
26344
26349
  this.#details.clear();
26345
26350
  }
26351
+ #probe() {
26352
+ if (this.#handlers.surface || this.#probed === this.color) return;
26353
+ this.#probed = this.color;
26354
+ this.#handlers.surface = readSurface(this.renderRoot);
26355
+ }
26346
26356
  render() {
26347
26357
  this.#handlers.color = this.color;
26348
26358
  this.#handlers.model = this.model ?? null;
26349
- this.#handlers.surface ??= readSurface(this.renderRoot);
26359
+ this.#probe();
26350
26360
  const agent = this.#agent();
26351
26361
  this.#switched(agent);
26352
26362
  const watch2 = watchOnly(this.model);
@@ -26361,7 +26371,7 @@ var SliccChat = class _SliccChat extends ThemedElement {
26361
26371
  if (!this.behind) this.#mark = count2;
26362
26372
  return b`
26363
26373
  <header ?data-compact=${this.compact}>
26364
- ${agent ? this.#meta(agent, !messages.length) : b`<span>No agent</span>`}
26374
+ ${agent ? this.#meta(agent, !messages.length) : this.#agentless()}
26365
26375
  </header>
26366
26376
  <slicc-notices .model=${this.model}></slicc-notices>
26367
26377
  ${this.#asks(asks)}
@@ -28510,6 +28520,11 @@ var SliccAgents = class extends ModelElement {
28510
28520
  min-block-size: 0;
28511
28521
  overflow-y: auto;
28512
28522
  }
28523
+ .note {
28524
+ margin: 0;
28525
+ padding: var(--swc-spacing-400);
28526
+ color: var(--swc-neutral-subdued-content-color-default);
28527
+ }
28513
28528
  .actions {
28514
28529
  display: flex;
28515
28530
  padding: var(--swc-spacing-75) var(--swc-spacing-100);
@@ -28736,6 +28751,7 @@ var SliccAgents = class extends ModelElement {
28736
28751
  this.#reveal(model);
28737
28752
  return [
28738
28753
  model.agent.on("agents", () => this.requestUpdate()),
28754
+ ...model.agent.starting ? [model.agent.on("starting", () => this.requestUpdate())] : [],
28739
28755
  model.agent.on("active", () => {
28740
28756
  this.#reveal(model);
28741
28757
  this.requestUpdate();
@@ -28985,6 +29001,8 @@ var SliccAgents = class extends ModelElement {
28985
29001
  }
28986
29002
  render() {
28987
29003
  const list6 = this.model?.agent.list() ?? [];
29004
+ if (!list6.length && this.model?.agent.starting?.())
29005
+ return b`<div class="list"><p class="note" data-empty="starting">The agent shows up here once it starts.</p></div>`;
28988
29006
  const active = this.model?.agent.active() ?? "";
28989
29007
  const errors = Object.values(this.errors);
28990
29008
  const rows2 = ordered(list6).filter(
@@ -39916,6 +39934,7 @@ var SliccChanges = class extends ModelElement {
39916
39934
  subscribe(model) {
39917
39935
  return [
39918
39936
  changesOf(model).on("changes", () => this.requestUpdate()),
39937
+ model.agent.on("agents", () => this.requestUpdate()),
39919
39938
  ...onWatch(model, () => this.requestUpdate())
39920
39939
  ];
39921
39940
  }
@@ -40111,6 +40130,7 @@ var SliccDiffPanel = class extends ThemedElement {
40111
40130
  return [
40112
40131
  ...super.subscribe(model),
40113
40132
  changesOf(model).on("changes", () => this.requestUpdate()),
40133
+ model.agent.on("agents", () => this.requestUpdate()),
40114
40134
  ...onWatch(model, () => this.requestUpdate())
40115
40135
  ];
40116
40136
  }
@@ -41126,11 +41146,24 @@ function endpointsLine(entry, named2 = (provider) => provider) {
41126
41146
  );
41127
41147
  return b`${parts3.map((part2, index2) => b`${index2 ? ". " : ""}${part2}`)}`;
41128
41148
  }
41149
+ var sessionProtocols = {
41150
+ http1: "HTTP/1.1",
41151
+ smtp: "SMTP",
41152
+ pg: "Postgres"
41153
+ };
41154
+ var sessionTrust = {
41155
+ roots: "trusted by public roots",
41156
+ anchored: "trusted by its pinned anchor"
41157
+ };
41158
+ var sessionProtocol = (protocol) => Object.hasOwn(sessionProtocols, protocol) ? sessionProtocols[protocol] : protocol;
41159
+ var sessionTrusted = (verifiedBy) => verifiedBy && Object.hasOwn(sessionTrust, verifiedBy) ? `${sessionTrust[verifiedBy]}, ` : "";
41129
41160
  function auditLine(entry, devices, named2) {
41130
41161
  switch (entry.type) {
41131
41162
  case "inject":
41132
41163
  case "forward":
41133
41164
  return b`Sent to ${entry.domain}: <code>${entry.method} ${entry.path}</code>, through ${exitLabel(entry.exit, devices)}`;
41165
+ case "session":
41166
+ return b`Sent over ${sessionProtocol(entry.protocol)} to ${entry.domain}:${entry.port}, ${sessionTrusted(entry.verifiedBy)}through ${exitLabel(entry.exit, devices)}`;
41134
41167
  case "mcp":
41135
41168
  return b`Sent to the MCP server ${entry.server} at ${entry.domain}: <code>${entry.method} ${entry.path}</code>, through ${exitLabel(entry.exit, devices)}`;
41136
41169
  case "materialize":