@tangle-network/sandbox-ui 0.116.2 → 0.116.4

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/globals.css CHANGED
@@ -5152,17 +5152,17 @@
5152
5152
  [data-sandbox-ui],
5153
5153
  [data-theme="dark"],
5154
5154
  .dark {
5155
- --md3-surface: #151523;
5156
- --md3-surface-dim: #0f0f1a;
5157
- --md3-surface-bright: #393957;
5158
- --md3-surface-container-lowest: #0f0f1a;
5159
- --md3-surface-container-low: #222235;
5160
- --md3-surface-container: #2d2e43;
5161
- --md3-surface-container-high: #32324e;
5162
- --md3-surface-container-highest: #393957;
5163
- --md3-surface-variant: #32324e;
5164
- --md3-on-surface: #e3e6ed;
5165
- --md3-on-surface-variant: #b2b4c7;
5155
+ --md3-surface: #161616;
5156
+ --md3-surface-dim: #101010;
5157
+ --md3-surface-bright: #3b3b3b;
5158
+ --md3-surface-container-lowest: #101010;
5159
+ --md3-surface-container-low: #242424;
5160
+ --md3-surface-container: #303030;
5161
+ --md3-surface-container-high: #353535;
5162
+ --md3-surface-container-highest: #3b3b3b;
5163
+ --md3-surface-variant: #353535;
5164
+ --md3-on-surface: #e6e6e6;
5165
+ --md3-on-surface-variant: #b5b5b5;
5166
5166
  --md3-primary: #A5B4FC;
5167
5167
  --md3-primary-dim: #7C6CF6;
5168
5168
  --md3-primary-container: #4C3FC5;
@@ -5176,8 +5176,8 @@
5176
5176
  --md3-on-secondary: #E8E5FF;
5177
5177
  --md3-on-secondary-container: #E8E5FF;
5178
5178
  --md3-tertiary: #10B981;
5179
- --md3-outline: #898da9;
5180
- --md3-outline-variant: #474a6b;
5179
+ --md3-outline: #8e8e8e;
5180
+ --md3-outline-variant: #4c4c4c;
5181
5181
  --md3-error: #ff5277;
5182
5182
  --md3-error-dim: #eb2855;
5183
5183
  --md3-error-container: #82042b;
@@ -5187,24 +5187,24 @@
5187
5187
  --md3-inverse-primary: #4C3FC5;
5188
5188
  --md3-inverse-on-surface: #000000;
5189
5189
  --md3-surface-tint: #A5B4FC;
5190
- --hsl-background: 240 24% 11%;
5191
- --hsl-foreground: 225 22% 91%;
5192
- --hsl-card: 238 20% 22%;
5193
- --hsl-card-foreground: 225 22% 91%;
5194
- --hsl-popover: 239 22% 25%;
5195
- --hsl-popover-foreground: 225 22% 91%;
5190
+ --hsl-background: 0 0% 8.6275%;
5191
+ --hsl-foreground: 0 0% 90.1961%;
5192
+ --hsl-card: 0 0% 18.8235%;
5193
+ --hsl-card-foreground: 0 0% 90.1961%;
5194
+ --hsl-popover: 0 0% 20.7843%;
5195
+ --hsl-popover-foreground: 0 0% 90.1961%;
5196
5196
  --hsl-primary: 246 54% 51%;
5197
5197
  --hsl-primary-foreground: 0 0% 100%;
5198
- --hsl-secondary: 239 22% 25%;
5199
- --hsl-secondary-foreground: 225 22% 91%;
5200
- --hsl-muted: 239 22% 25%;
5201
- --hsl-muted-foreground: 234 16% 74%;
5202
- --hsl-accent: 239 22% 25%;
5203
- --hsl-accent-foreground: 225 22% 91%;
5198
+ --hsl-secondary: 0 0% 20.7843%;
5199
+ --hsl-secondary-foreground: 0 0% 90.1961%;
5200
+ --hsl-muted: 0 0% 20.7843%;
5201
+ --hsl-muted-foreground: 0 0% 70.9804%;
5202
+ --hsl-accent: 0 0% 20.7843%;
5203
+ --hsl-accent-foreground: 0 0% 90.1961%;
5204
5204
  --hsl-destructive: 348 74% 48%;
5205
5205
  --hsl-destructive-foreground: 0 0% 100%;
5206
- --hsl-border: 236 20% 35%;
5207
- --hsl-input: 240 24% 15%;
5206
+ --hsl-border: 0 0% 29.8039%;
5207
+ --hsl-input: 0 0% 12.1569%;
5208
5208
  --hsl-ring: 233 100% 87%;
5209
5209
  --hsl-success: 160 84% 39%;
5210
5210
  --hsl-warning: 40 94% 56%;
@@ -5232,18 +5232,18 @@
5232
5232
  --warning: var(--hsl-warning);
5233
5233
  --error: var(--hsl-destructive);
5234
5234
  --info: var(--hsl-info);
5235
- --sidebar-background: 242 26% 8%;
5236
- --sidebar-foreground: 225 22% 91%;
5235
+ --sidebar-background: 0 0% 6.2745%;
5236
+ --sidebar-foreground: 0 0% 90.1961%;
5237
5237
  --sidebar-primary: 246 54% 51%;
5238
5238
  --sidebar-primary-foreground: 0 0% 100%;
5239
- --sidebar-accent: 239 22% 25%;
5240
- --sidebar-accent-foreground: 225 22% 91%;
5241
- --sidebar-border: 236 20% 35%;
5239
+ --sidebar-accent: 0 0% 20.7843%;
5240
+ --sidebar-accent-foreground: 0 0% 90.1961%;
5241
+ --sidebar-border: 0 0% 29.8039%;
5242
5242
  --sidebar-ring: 233 100% 87%;
5243
- --depth-1: #151523;
5244
- --depth-2: #2d2e43;
5245
- --depth-3: #32324e;
5246
- --depth-4: #393957;
5243
+ --depth-1: #161616;
5244
+ --depth-2: #303030;
5245
+ --depth-3: #353535;
5246
+ --depth-4: #3b3b3b;
5247
5247
  --status-running: #10B981;
5248
5248
  --status-creating: #A5B4FC;
5249
5249
  --status-stopped: #FFB800;
@@ -5294,7 +5294,7 @@
5294
5294
  --accent-surface-soft: rgba(165, 180, 252, 0.07);
5295
5295
  --accent-surface-strong: rgba(76, 63, 197, 0.30);
5296
5296
  --accent-text: #A5B4FC;
5297
- --bg-root: #151523;
5297
+ --bg-root: #161616;
5298
5298
  --bg-dark: var(--depth-1);
5299
5299
  --bg-card: var(--depth-2);
5300
5300
  --bg-elevated: var(--depth-4);
@@ -5302,10 +5302,10 @@
5302
5302
  --bg-input: hsl(var(--hsl-input));
5303
5303
  --bg-hover: rgba(165, 180, 252, 0.07);
5304
5304
  --bg-selection: rgba(124, 108, 246, 0.28);
5305
- --text-primary: #e3e6ed;
5306
- --text-secondary: #c2c7d4;
5307
- --text-muted: #b2b4c7;
5308
- --text-dim: #9ea5b9;
5305
+ --text-primary: #e6e6e6;
5306
+ --text-secondary: #c7c7c7;
5307
+ --text-muted: #b5b5b5;
5308
+ --text-dim: #a5a5a5;
5309
5309
  --brand-primary: #7C6CF6;
5310
5310
  --brand-strong: #2E2A5E;
5311
5311
  --brand-strong-text: #ffffff;
@@ -5316,9 +5316,9 @@
5316
5316
  --brand-purple: #C7D2FE;
5317
5317
  --brand-vibrant: #6366F1;
5318
5318
  --brand-emerald: #10B981;
5319
- --border-subtle: rgba(165, 180, 252, 0.10);
5320
- --border-default: rgba(165, 180, 252, 0.16);
5321
- --border-hover: rgba(165, 180, 252, 0.28);
5319
+ --border-subtle: rgba(255, 255, 255, 0.10);
5320
+ --border-default: rgba(255, 255, 255, 0.16);
5321
+ --border-hover: rgba(255, 255, 255, 0.28);
5322
5322
  --border-accent: rgba(129, 140, 248, 0.35);
5323
5323
  --border-accent-hover: rgba(129, 140, 248, 0.50);
5324
5324
  --btn-primary-bg: #4C3FC5;
@@ -5404,17 +5404,17 @@
5404
5404
  [data-sandbox-theme="vault"],
5405
5405
  [data-theme="light"],
5406
5406
  .light {
5407
- --md3-surface: #e9e9f1;
5408
- --md3-surface-dim: #d9d9e6;
5407
+ --md3-surface: #eaeaea;
5408
+ --md3-surface-dim: #dadada;
5409
5409
  --md3-surface-bright: #ffffff;
5410
5410
  --md3-surface-container-lowest: #ffffff;
5411
- --md3-surface-container-low: #f7f7fa;
5411
+ --md3-surface-container-low: #f7f7f7;
5412
5412
  --md3-surface-container: #ffffff;
5413
- --md3-surface-container-high: #f2f2f7;
5413
+ --md3-surface-container-high: #f2f2f2;
5414
5414
  --md3-surface-container-highest: #ffffff;
5415
- --md3-surface-variant: #f2f2f7;
5416
- --md3-on-surface: #2b2c3e;
5417
- --md3-on-surface-variant: #494b5d;
5415
+ --md3-surface-variant: #f2f2f2;
5416
+ --md3-on-surface: #2d2d2d;
5417
+ --md3-on-surface-variant: #4c4c4c;
5418
5418
  --md3-primary: #3E349E;
5419
5419
  --md3-primary-dim: #352B88;
5420
5420
  --md3-primary-container: #352B88;
@@ -5429,8 +5429,8 @@
5429
5429
  --md3-on-secondary-container: #524A78;
5430
5430
  --md3-tertiary: #065F46;
5431
5431
  --md3-tertiary-container: #D1FAE5;
5432
- --md3-outline: #737696;
5433
- --md3-outline-variant: #cecfde;
5432
+ --md3-outline: #787878;
5433
+ --md3-outline-variant: #d0d0d0;
5434
5434
  --md3-error: #ba1a1a;
5435
5435
  --md3-error-dim: #93000a;
5436
5436
  --md3-error-container: #ffdad6;
@@ -5440,31 +5440,31 @@
5440
5440
  --md3-inverse-primary: #A5AAFC;
5441
5441
  --md3-inverse-on-surface: #f0f1f4;
5442
5442
  --md3-surface-tint: #6366F1;
5443
- --hsl-background: 240 24% 93%;
5444
- --hsl-foreground: 235 18% 20.5%;
5443
+ --hsl-background: 0 0% 91.7647%;
5444
+ --hsl-foreground: 0 0% 17.6471%;
5445
5445
  --hsl-card: 0 0% 100%;
5446
- --hsl-card-foreground: 235 18% 20.5%;
5446
+ --hsl-card-foreground: 0 0% 17.6471%;
5447
5447
  --hsl-popover: 0 0% 100%;
5448
- --hsl-popover-foreground: 235 18% 20.5%;
5448
+ --hsl-popover-foreground: 0 0% 17.6471%;
5449
5449
  --hsl-primary: 246 54% 51%;
5450
5450
  --hsl-primary-foreground: 0 0% 100%;
5451
- --hsl-secondary: 240 26% 96%;
5452
- --hsl-secondary-foreground: 235 18% 20.5%;
5453
- --hsl-muted: 240 26% 96%;
5454
- --hsl-muted-foreground: 235 12% 32.5%;
5455
- --hsl-accent: 240 26% 96%;
5456
- --hsl-accent-foreground: 235 18% 20.5%;
5451
+ --hsl-secondary: 0 0% 94.902%;
5452
+ --hsl-secondary-foreground: 0 0% 17.6471%;
5453
+ --hsl-muted: 0 0% 94.902%;
5454
+ --hsl-muted-foreground: 0 0% 29.8039%;
5455
+ --hsl-accent: 0 0% 94.902%;
5456
+ --hsl-accent-foreground: 0 0% 17.6471%;
5457
5457
  --hsl-destructive: 0 72% 41%;
5458
5458
  --hsl-destructive-foreground: 0 0% 100%;
5459
- --hsl-border: 238 20% 84%;
5460
- --hsl-input: 240 30% 97%;
5459
+ --hsl-border: 0 0% 81.5686%;
5460
+ --hsl-input: 0 0% 96.0784%;
5461
5461
  --hsl-ring: 246 54% 51%;
5462
5462
  --hsl-success: 160 84% 30%;
5463
5463
  --hsl-warning: 41 96% 50%;
5464
5464
  --hsl-info: 212 80% 50%;
5465
- --depth-1: #e9e9f1;
5465
+ --depth-1: #eaeaea;
5466
5466
  --depth-2: #ffffff;
5467
- --depth-3: #f2f2f7;
5467
+ --depth-3: #f2f2f2;
5468
5468
  --depth-4: #ffffff;
5469
5469
  --status-running: #059669;
5470
5470
  --status-creating: #3E349E;
@@ -5507,17 +5507,17 @@
5507
5507
  --surface-neutral-border: var(--border-subtle);
5508
5508
  --surface-neutral-text: var(--text-muted);
5509
5509
  --sidebar-background: 0 0% 100%;
5510
- --sidebar-foreground: 235 18% 20.5%;
5510
+ --sidebar-foreground: 0 0% 17.6471%;
5511
5511
  --sidebar-primary: 246 54% 51%;
5512
5512
  --sidebar-primary-foreground: 0 0% 100%;
5513
- --sidebar-accent: 240 26% 96%;
5514
- --sidebar-accent-foreground: 235 18% 20.5%;
5515
- --sidebar-border: 238 20% 84%;
5513
+ --sidebar-accent: 0 0% 94.902%;
5514
+ --sidebar-accent-foreground: 0 0% 17.6471%;
5515
+ --sidebar-border: 0 0% 81.5686%;
5516
5516
  --sidebar-ring: 246 54% 51%;
5517
5517
  --mesh-teal: transparent;
5518
5518
  --mesh-violet: transparent;
5519
5519
  --mesh-blue: transparent;
5520
- --bg-root: #e9e9f1;
5520
+ --bg-root: #eaeaea;
5521
5521
  --bg-dark: var(--depth-1);
5522
5522
  --bg-card: var(--depth-2);
5523
5523
  --bg-elevated: var(--depth-4);
@@ -5525,10 +5525,10 @@
5525
5525
  --bg-input: hsl(var(--hsl-input));
5526
5526
  --bg-hover: rgba(76, 63, 198, 0.06);
5527
5527
  --bg-selection: rgba(76, 63, 198, 0.16);
5528
- --text-primary: #2b2c3e;
5529
- --text-secondary: #3d3e52;
5530
- --text-muted: #494b5d;
5531
- --text-dim: #65677b;
5528
+ --text-primary: #2d2d2d;
5529
+ --text-secondary: #3f3f3f;
5530
+ --text-muted: #4c4c4c;
5531
+ --text-dim: #686868;
5532
5532
  --brand-primary: #6366F1;
5533
5533
  --brand-strong: #2E2A5E;
5534
5534
  --brand-strong-text: #ffffff;
@@ -5539,9 +5539,9 @@
5539
5539
  --brand-purple: #6366F1;
5540
5540
  --brand-vibrant: #6366F1;
5541
5541
  --brand-emerald: #059669;
5542
- --border-subtle: rgba(60, 52, 140, 0.10);
5543
- --border-default: rgba(60, 52, 140, 0.14);
5544
- --border-hover: rgba(60, 52, 140, 0.24);
5542
+ --border-subtle: rgba(0, 0, 0, 0.10);
5543
+ --border-default: rgba(0, 0, 0, 0.14);
5544
+ --border-hover: rgba(0, 0, 0, 0.24);
5545
5545
  --border-accent: rgba(91, 78, 212, 0.18);
5546
5546
  --border-accent-hover: rgba(91, 78, 212, 0.35);
5547
5547
  --btn-primary-bg: #4C3FC5;
@@ -5844,48 +5844,48 @@
5844
5844
  --text-dim: #82a699;
5845
5845
  }
5846
5846
  [data-theme="tangle-dark"] {
5847
- --hsl-background: 240 24% 11%;
5848
- --hsl-foreground: 225 22% 91%;
5849
- --hsl-card: 238 20% 22%;
5850
- --hsl-card-foreground: 225 22% 91%;
5851
- --hsl-popover: 239 22% 25%;
5852
- --hsl-popover-foreground: 225 22% 91%;
5847
+ --hsl-background: 0 0% 8.6275%;
5848
+ --hsl-foreground: 0 0% 90.1961%;
5849
+ --hsl-card: 0 0% 18.8235%;
5850
+ --hsl-card-foreground: 0 0% 90.1961%;
5851
+ --hsl-popover: 0 0% 20.7843%;
5852
+ --hsl-popover-foreground: 0 0% 90.1961%;
5853
5853
  --hsl-primary: 246 54% 51%;
5854
5854
  --hsl-primary-foreground: 0 0% 100%;
5855
- --hsl-secondary: 239 22% 25%;
5856
- --hsl-secondary-foreground: 225 22% 91%;
5857
- --hsl-muted: 239 22% 25%;
5858
- --hsl-muted-foreground: 234 16% 74%;
5859
- --hsl-accent: 239 22% 25%;
5860
- --hsl-accent-foreground: 225 22% 91%;
5855
+ --hsl-secondary: 0 0% 20.7843%;
5856
+ --hsl-secondary-foreground: 0 0% 90.1961%;
5857
+ --hsl-muted: 0 0% 20.7843%;
5858
+ --hsl-muted-foreground: 0 0% 70.9804%;
5859
+ --hsl-accent: 0 0% 20.7843%;
5860
+ --hsl-accent-foreground: 0 0% 90.1961%;
5861
5861
  --hsl-destructive: 348 74% 48%;
5862
5862
  --hsl-destructive-foreground: 0 0% 100%;
5863
- --hsl-border: 236 20% 35%;
5864
- --hsl-input: 240 24% 15%;
5863
+ --hsl-border: 0 0% 29.8039%;
5864
+ --hsl-input: 0 0% 12.1569%;
5865
5865
  --hsl-ring: 233 100% 87%;
5866
- --depth-1: #151523;
5867
- --depth-2: #2d2e43;
5868
- --depth-3: #32324e;
5869
- --depth-4: #393957;
5870
- --bg-root: #151523;
5866
+ --depth-1: #161616;
5867
+ --depth-2: #303030;
5868
+ --depth-3: #353535;
5869
+ --depth-4: #3b3b3b;
5870
+ --bg-root: #161616;
5871
5871
  --bg-card: var(--depth-2);
5872
5872
  --bg-input: hsl(var(--hsl-input));
5873
- --md3-surface-container-lowest: #0f0f1a;
5874
- --md3-surface-container-low: #222235;
5875
- --md3-surface-container: #2d2e43;
5876
- --md3-surface-container-high: #32324e;
5877
- --md3-surface-container-highest: #393957;
5878
- --md3-outline-variant: #474a6b;
5879
- --border-subtle: rgba(165, 180, 252, 0.10);
5880
- --border-default: rgba(165, 180, 252, 0.16);
5881
- --border-hover: rgba(165, 180, 252, 0.28);
5873
+ --md3-surface-container-lowest: #101010;
5874
+ --md3-surface-container-low: #242424;
5875
+ --md3-surface-container: #303030;
5876
+ --md3-surface-container-high: #353535;
5877
+ --md3-surface-container-highest: #3b3b3b;
5878
+ --md3-outline-variant: #4c4c4c;
5879
+ --border-subtle: rgba(255, 255, 255, 0.10);
5880
+ --border-default: rgba(255, 255, 255, 0.16);
5881
+ --border-hover: rgba(255, 255, 255, 0.28);
5882
5882
  --accent-text: #A5B4FC;
5883
5883
  --brand-primary: #7C6CF6;
5884
5884
  --brand-glow: #A5AAFC;
5885
- --text-primary: #e3e6ed;
5886
- --text-secondary: #c2c7d4;
5887
- --text-muted: #b2b4c7;
5888
- --text-dim: #9ea5b9;
5885
+ --text-primary: #e6e6e6;
5886
+ --text-secondary: #c7c7c7;
5887
+ --text-muted: #b5b5b5;
5888
+ --text-dim: #a5a5a5;
5889
5889
  }
5890
5890
  [data-theme="tangle-light"] {
5891
5891
  --hsl-background: 240 33% 98%;
package/dist/index.d.ts CHANGED
@@ -12,7 +12,7 @@ import { $ as InputProps, $t as ToastProvider, A as DropZoneProps, At as Table,
12
12
  import { $ as TerminalProps, A as ShellShouldRevalidateArgs, B as SessionSidebarLink, C as SandboxWorkbenchLayoutOptions, D as SandboxWorkbenchSessionProps, E as SandboxWorkbenchProps, F as SessionSidebar, G as SessionOptimisticController, H as SessionSidebarVariant, I as SessionSidebarBadge, J as useOptimisticSessionItems, K as UseOptimisticSessionItemsOptions, L as SessionSidebarFilter, M as createShellShouldRevalidate, N as shellShouldRevalidate, O as SessionActivityMonitor, P as formatRelativeAge, Q as TerminalPanel, R as SessionSidebarGroupBy, S as SandboxWorkbenchFileArtifact, T as SandboxWorkbenchOpenUIArtifact, U as SESSION_CREATED_EVENT, V as SessionSidebarProps, W as SessionCreatedDetail, X as RuntimePaneProps, Y as RuntimePane, Z as TerminalLine, _ as FormAudit, a as ApprovalQueue, at as StatusBannerProps, b as SandboxWorkbenchArtifact, c as CalendarView, ct as WorkspacePaneHeader, d as TaskBoardColumn, dt as WorkspaceLayoutProps, et as ContextBadge, f as TaskBoardItem, g as AuditResultsProps, h as AuditResults, i as ApprovalItem, it as StatusBanner, j as ShellShouldRevalidateOptions, k as SessionActivityMonitorProps, l as CalendarViewProps, lt as WorkspacePaneHeaderProps, m as AuditCheck, n as ArtifactPaneProps, nt as StatusBarProps, o as ApprovalQueueProps, ot as DirectoryPane, p as TaskBoardProps, q as dispatchSessionCreated, r as ApprovalConfidenceStat, rt as BannerType, s as CalendarEvent, st as DirectoryPaneProps, t as ArtifactPane, tt as StatusBar, u as TaskBoard, ut as WorkspaceLayout, v as AgentWorkbench, w as SandboxWorkbenchMarkdownArtifact, x as SandboxWorkbenchCustomArtifact, y as SandboxWorkbench, z as SessionSidebarItem } from "./index-iDiLnSoo.js";
13
13
  import { A as SandboxArtifactTerminal, C as ChangesPane, D as ChangesPaneProps, E as ChangedFile, O as SandboxArtifact, S as PillTabsProps, T as ArtifactView, _ as DiffStats, a as PreviewView, b as PillTabItem, c as DiffViewProps, d as FileBreadcrumb, f as FileBreadcrumbProps, g as PanelHeaderProps, h as PanelHeader, i as resolveLanguage, k as SandboxArtifactPaneProps, l as CodeView, m as GitStatusBadge, n as CodeSurface, o as PreviewViewProps, p as DiffStatsBadge, r as CodeSurfaceProps, s as DiffView, t as BRAND_PRISM_THEME, u as CodeViewProps, v as buildUnifiedPatch, w as SandboxArtifactPane, x as PillTabs, y as computeDiffStats } from "./index-D_G-wF6u.js";
14
14
  import { a as PreviewReadiness, i as PreviewAccess, n as EmbeddedAppView, r as EmbeddedAppViewProps, t as EmbeddedApp } from "./embedded-app-view-B_vMTtJn.js";
15
- import { OpenUIAction, OpenUIActionsNode, OpenUIArtifactRenderer, OpenUIArtifactRendererProps, OpenUIBadgeNode, OpenUICardNode, OpenUICodeNode, OpenUIComponentNode, OpenUIGridNode, OpenUIHeadingNode, OpenUIKeyValueNode, OpenUIMarkdownNode, OpenUIPrimitive, OpenUISeparatorNode, OpenUIStackNode, OpenUIStatNode, OpenUITableNode, OpenUITextNode } from "./openui.js";
15
+ import { OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, OpenUIAction, OpenUIActionsNode, OpenUIArtifactRenderer, OpenUIArtifactRendererProps, OpenUIBadgeNode, OpenUICardNode, OpenUICodeNode, OpenUIComponentNode, OpenUIGridNode, OpenUIHeadingNode, OpenUIKeyValueNode, OpenUIMarkdownNode, OpenUIPrimitive, OpenUISchemaIssue, OpenUISchemaValidation, OpenUISeparatorNode, OpenUIStackNode, OpenUIStatNode, OpenUITableNode, OpenUITextNode, findUnsupportedOpenUINode, validateOpenUIJsonArtifact, validateOpenUIJsonNode } from "./openui.js";
16
16
  import { ExpandedToolDetail, ExpandedToolDetailProps, FeedSegment, InlineThinkingItem, InlineThinkingItemProps, InlineToolItem, InlineToolItemProps, LiveDuration, RunGroup, RunGroupProps, RunRowShell, RunRowShellProps, RunRowStatus, RunRowStatusDot, ToolCallData, ToolCallFeed, ToolCallFeedProps, ToolCallStatus, ToolCallType, parseToolEvent } from "./run.js";
17
17
  import { ActiveProjectActivity, ActiveSessionActivityOptions, ActiveSessionConnectionOptions, ActiveSessionConnectionState, ActiveSessionReconnectState, ActiveSessionRecord, ActiveSessionStatus, ActiveSessionTransportMode, ActiveSessionsState, ChatSession, RegisterActiveSessionOptions, SessionProjectKey, activeSessionsAtom, addMessage, addParts, bumpActiveSessionActivity, clearChat, connectSession, disconnectSession, getActiveSession, getAllActiveSessions, getAllProjectActivity, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getTotalRunningSessionCount, hasBackgroundRunningSessions, isStreamingAtom, messagesAtom, partMapAtom, registerActiveSession, resetActiveSessions, sessionAtom, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useHasBackgroundRunningSessions, useNavbarSessions, useProjectActivity, useProjectSessions, useSessionsByActivity, useTotalRunningSessions } from "./stores.js";
18
18
  import { AgentBranding, CustomToolRenderer, DisplayVariant, FinalTextPart, GroupedMessage, MessageRun, MessageUser, ReasoningPart, Run, RunStats, SessionMessage, SessionPart, TextPart, ToolCategory, ToolDisplayMetadata, ToolPart, ToolState, ToolStatus, ToolTime } from "./types.js";
@@ -20,4 +20,4 @@ import { TOOL_CATEGORY_ICONS, cn, copyText, focusField, focusFieldInvalid, focus
20
20
  import { TerminalCursor as TerminalDisplayCursor, TerminalInput as TerminalDisplayInput, TerminalLine as TerminalDisplayLine } from "@tangle-network/ui/primitives";
21
21
  import { CodeBlock as CodeBlockDisplay, Markdown, MarkdownProps } from "@tangle-network/ui/markdown";
22
22
  import { CommandPreview, CommandPreviewProps, DiffPreview, DiffPreviewProps, GlobResultsPreview, GlobResultsPreviewProps, GrepResultsPreview, GrepResultsPreviewProps, QuestionPreview, QuestionPreviewProps, WebSearchPreview, WebSearchPreviewProps, WriteFilePreview, WriteFilePreviewProps } from "@tangle-network/ui/tool-previews";
23
- export { ActivityFeed, type ActivityFeedProps, type ActivityItem, type AgentBranding, type AgentProfileCapability, type AgentProfileDraft, type AgentProfileOption, AgentProfilePicker, type AgentProfilePickerProps, type AgentStreamEvent, AgentTimeline, type AgentTimelineArtifactItem, type AgentTimelineCustomItem, type AgentTimelineItem, type AgentTimelineMessageItem, type AgentTimelineProps, type AgentTimelineStatusItem, type AgentTimelineTone, type AgentTimelineToolGroupItem, type AgentTimelineToolItem, AgentWorkbench, type AppearanceController, type AppendUserMessageOptions, type ApplySdkEventOptions, type ApprovalConfidenceStat, type ApprovalItem, ApprovalQueue, type ApprovalQueueProps, ArtifactAgentDock, type ArtifactAgentDockProps, type ArtifactAgentDockTransport, type ArtifactDockMessage, type ArtifactDockStreamEvent, type ArtifactKind, ArtifactPane, type ArtifactPaneProps, type ArtifactScope, type ArtifactView, type AuditCheck, AuditResults, type AuditResultsProps, AuthHeader, type AuthHeaderProps, type AuthUser, type AutomationStreamEvent, Avatar, AvatarFallback, AvatarImage, BRAND_PRISM_THEME, type Backend, BackendConfig, type BackendConfigProps, BackendSelector, type BackendSelectorProps, type BackendStatusData, Badge, type BadgeProps, type BannerType, type BeginAssistantMessageOptions, type BillingBalance, BillingDashboard, type BillingDashboardProps, type BillingSubscription, type BillingUsage, type BotStreamEvent, Button, type ButtonProps, CSV_PREVIEW_ROW_LIMIT, type CalendarEvent, CalendarView, type CalendarViewProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type ChangedFile, ChangesPane, type ChangesPaneProps, ChatContainer, type ChatContainerProps, ChatMessage, type ChatMessageProps, ChatSession, ClusterStatusBar, type ClusterStatusBarProps, type ClusterStatusItem, CodeBlock, CodeBlockDisplay, type CodeBlockProps, CodeSurface, type CodeSurfaceProps, CodeView, type CodeViewProps, CommandPreview, type CommandPreviewProps, type CompleteAssistantMessageOptions, type ContextBadge, CopyButton, CreditBalance, type CreditBalanceProps, type CustomToolRenderer, DEFAULT_REASONING_LEVEL_OPTIONS, DashboardLayout, type DashboardLayoutProps, type Profile as DashboardProfile, type SnapshotInfo as DashboardSnapshotInfo, type DashboardUser, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DiffPreview, type DiffPreviewProps, type DiffStats, DiffStatsBadge, DiffView, type DiffViewProps, DirectoryPane, type DirectoryPaneProps, type DisplayVariant, DropZone, type DropZoneProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type EmbeddedApp, EmbeddedAppView, type EmbeddedAppViewProps, EmptyState, type EmptyStateProps, ExpandedToolDetail, type ExpandedToolDetailProps, type ExposedPort, type FeedSegment, FileArtifactPane, type FileArtifactPaneProps, FileBreadcrumb, type FileBreadcrumbProps, type FileFormat, type FileNode, FilePreview, type FilePreviewKind, type FilePreviewProps, type FileTabData, FileTabs, type FileTabsProps, FileTree, type FileTreeProps, type FileTreeVisibilityOptions, FilterField, type FilterFieldProps, type FinalTextPart, type FormAudit, type GitCommitData, GitHubLoginButton, type GitHubLoginButtonProps, GitPanel, type GitPanelProps, GitStatusBadge, type GitStatusData, GlobResultsPreview, type GlobResultsPreviewProps, GrepResultsPreview, type GrepResultsPreviewProps, type GroupedMessage, HARNESS_BRAND, HARNESS_OPTIONS, HARNESS_REASONING_OPTIONS, type HarnessBrand, HarnessLogo, type HarnessLogoProps, HarnessPicker, type HarnessPickerProps, type HarnessType, INSUFFICIENT_BALANCE_CODE, InfoPanel, type InfoPanelProps, InlineCode, type InlineCodeProps, InlineThinkingItem, type InlineThinkingItemProps, InlineToolItem, type InlineToolItemProps, Input, type InputProps, type InsufficientBalance, type Invoice, InvoiceTable, type InvoiceTableProps, Label, LiveDuration, LoginLayout, type LoginLayoutProps, Logo, type LogoProps, Markdown, type MarkdownProps, type McpServer, MessageList, type MessageListProps, type MessageRole, type MessageRun, type MessageUser, Metric, MetricAreaChart, type MetricAreaChartProps, type MetricChartPoint, type MetricChartTone, type MetricProps, MetricStrip, type MetricStripProps, type ModelBrandIdentity, ModelBrandStack, type ModelInfo, type NavItem, NetworkConfig, type NetworkConfigData, type NetworkConfigProps, NewSandboxCard, type NewSandboxCardProps, type OpenUIAction, type OpenUIActionsNode, OpenUIArtifactRenderer, type OpenUIArtifactRendererProps, type OpenUIBadgeNode, type OpenUICardNode, type OpenUICodeNode, type OpenUIComponentNode, type OpenUIGridNode, type OpenUIHeadingNode, type OpenUIKeyValueNode, type OpenUIMarkdownNode, type OpenUIPrimitive, type OpenUISeparatorNode, type OpenUIStackNode, type OpenUIStatNode, type OpenUITableNode, type OpenUITextNode, OutOfCreditsModal, type OutOfCreditsModalProps, PanelHeader, type PanelHeaderProps, type PillTabItem, PillTabs, type PillTabsProps, type PlanCardData, PlanCards, type PlanCardsProps, type PlanFeature, PortsList, type PortsListProps, type PreviewAccess, type PreviewReadiness, PreviewView, type PreviewViewProps, PricingPage, type PricingPageProps, type PricingTier, type ProcessInfo, ProcessList, type ProcessListProps, type ProductVariant, ProfileAvatar, type ProfileAvatarProps, ProfileComparison, type ProfileComparisonProps, ProfileSelector, type ProfileSelectorProps, Progress, PromoBanner, type PromoBannerProps, QuestionPreview, type QuestionPreviewProps, RailButton, type RailButtonProps, RailCollapseToggle, type RailCollapseToggleProps, RailExpandable, type RailExpandableProps, type RailExpandableSubItem, RailFlyout, type RailFlyoutProps, RailHeader, type RailHeaderProps, RailModeButton, type RailModeButtonProps, RailSeparator, type RailSeparatorProps, RailThemeToggle, RailTooltip, type RailTooltipProps, type RealtimeSessionOptions, RealtimeSessionRegistry, type RealtimeSessionRegistryProps, type RealtimeSessionState, type RealtimeSessionTarget, type ReasoningLevel, type ReasoningLevelOption, ReasoningLevelPicker, type ReasoningLevelPickerProps, type ReasoningPart, ResourceMeter, type ResourceMeterProps, ResourceSnapshot, type ResourceSnapshotItem, type ResourceSnapshotProps, RichFileTree, type RichFileTreeGitEntry, type RichFileTreeGitStatus, type RichFileTreeProps, type RichFileTreeThemeVars, type Run, RunGroup, type RunGroupProps, RunRowShell, type RunRowShellProps, type RunRowStatus, RunRowStatusDot, type RunStats, RuntimePane, type RuntimePaneProps, SESSION_CREATED_EVENT, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_LABELED_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, type SSEEvent, type SandboxArtifact, SandboxArtifactPane, type SandboxArtifactPaneProps, type SandboxArtifactTerminal, SandboxCard, type SandboxCardData, type SandboxCardProps, type SandboxMetrics, type SandboxStatus, SandboxTable, type SandboxTableProps, SandboxWorkbench, type SandboxWorkbenchArtifact, type SandboxWorkbenchCustomArtifact, type SandboxWorkbenchFileArtifact, type SandboxWorkbenchLayoutOptions, type SandboxWorkbenchMarkdownArtifact, type SandboxWorkbenchOpenUIArtifact, type SandboxWorkbenchProps, type SandboxWorkbenchSessionProps, type SdkSessionAttachment, type SdkSessionEvent, type SdkSessionSeed, SegmentedControl, type SegmentedControlOption, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Session, SessionActivityMonitor, type SessionActivityMonitorProps, type SessionCreatedDetail, type SessionDegradation, type SessionInfo, type SessionMessage, type SessionOptimisticController, type SessionPart, SessionSidebar, type SessionSidebarBadge, type SessionSidebarFilter, type SessionSidebarGroupBy, type SessionSidebarItem, type SessionSidebarLink, type SessionSidebarProps, type SessionSidebarVariant, type SessionUser, type ShellShouldRevalidateArgs, type ShellShouldRevalidateOptions, Sidebar, SidebarContent, type SidebarContentProps, SidebarDropZone, type SidebarDropZoneProps, SidebarLayout, type SidebarLayoutFlyoutItem, type SidebarLayoutNavItem, type SidebarLayoutProps, SidebarPanel, SidebarPanelContent, type SidebarPanelContentProps, SidebarPanelHeader, type SidebarPanelHeaderProps, type SidebarPanelProps, type SidebarProps, SidebarProvider, type SidebarProviderProps, SidebarRail, SidebarRailFooter, type SidebarRailFooterProps, SidebarRailHeader, type SidebarRailHeaderProps, SidebarRailNav, type SidebarRailNavProps, type SidebarRailProps, type SidebarUser, type SidecarAuth, type SidecarMetricsPayload, Skeleton, SkeletonCard, SkeletonTable, SnapshotList, type SnapshotListProps, StatCard, type StatCardProps, StatusBanner, type StatusBannerProps, StatusBar, type StatusBarProps, StatusPill, type StatusPillProps, type StatusTone, Switch, SystemLogsViewer, type SystemLogsViewerProps, TOOL_CATEGORY_ICONS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TangleKnot, TangleLoginButton, type TangleLoginButtonProps, TaskBoard, type TaskBoardColumn, type TaskBoardItem, type TaskBoardProps, type TaskStreamEvent, type TeamRole, TemplateCard, type TemplateCardData, type TemplateCardProps, TerminalDisplay, TerminalDisplayCursor, TerminalDisplayInput, TerminalDisplayLine, type TerminalLine, TerminalPanel, type TerminalProps, type TerminalStreamEvent, type TextPart, TextShimmer, type TextShimmerProps, Textarea, type TextareaProps, type ThemeMode, ThemeToggle, ThinkingIndicator, type ThinkingIndicatorProps, type Toast, ToastContainer, ToastProvider, type ToolCallData, ToolCallFeed, type ToolCallFeedProps, type ToolCallStatus, type ToolCallType, type ToolCategory, type ToolDisplayMetadata, type ToolPart, type ToolState, type ToolStatus, type ToolTime, Toolbar, type ToolbarProps, type UploadFile, UploadProgress, type UploadProgressProps, UsageChart, type UsageChartProps, type UsageDataPoint, UsageSummary, type UsageSummaryData, type UsageSummaryProps, type UseAuthOptions, type UseAuthResult, type UseOptimisticSessionItemsOptions, type UsePtySessionOptions, type UsePtySessionReturn, type UseRunGroupsOptions, type UseSSEStreamOptions, type UseSSEStreamResult, type UseSandboxMetricsOptions, type UseSandboxMetricsResult, type UseSdkSessionOptions, type UseSdkSessionReturn, type UseSessionStreamOptions, type UseSessionStreamResult, type UseSidecarAuthOptions, type UseToolCallStreamReturn, UserMenu, type UserMenuProps, UserMessage, type UserMessageProps, type Variant, VariantList, type VariantListProps, type VariantOutcome, type VariantStatus, WebSearchPreview, type WebSearchPreviewProps, WorkspaceLayout, type WorkspaceLayoutProps, WorkspacePaneHeader, type WorkspacePaneHeaderProps, WriteFilePreview, type WriteFilePreviewProps, activeSessionsAtom, addMessage, addParts, badgeVariants, buildUnifiedPatch, bumpActiveSessionActivity, buttonVariants, canAdminSandbox, canonicalModelId, chatCapableHarnesses, clearChat, cn, computeDiffStats, connectSession, copyText, createAuthFetcher, createFetchTransport, createShellShouldRevalidate, detectFileFormat, disconnectSession, dispatchSessionCreated, fileExtension, filterFileTree, focusField, focusFieldInvalid, focusFieldWithin, focusRing, focusRingInset, formatBytes, formatDuration, formatPrice, formatRelativeAge, formatUptime, getActiveSession, getAllActiveSessions, getAllProjectActivity, getCodeLanguage, getFormatLabel, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getSyntaxLanguage, getToolCategory, getToolDisplayMetadata, getToolErrorText, getTotalRunningSessionCount, hasBackgroundRunningSessions, isStreamingAtom, messagesAtom, modelBrandFor, modelProvider, parseCsv, parseInsufficientBalance, parseToolEvent, partMapAtom, registerActiveSession, resetActiveSessions, resolveFilePreviewKind, resolveLanguage, sessionAtom, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, shellShouldRevalidate, snapHarnessToModel, timeAgo, truncateText, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useApiKey, useAuth, useAutoScroll, useCreateSession, useDeleteSession, useDropdownMenu, useHasBackgroundRunningSessions, useLiveTime, useNavbarSessions, useOptimisticSessionItems, useProjectActivity, useProjectSessions, usePtySession, useRealtimeSession, useRenameSession, useRunCollapseState, useRunGroups, useSSEStream, useSandboxMetrics, useSdkSession, useSessionStream, useSessions, useSessionsByActivity, useSidebar, useSidecarAuth, useTheme, useToast, useToolCallStream, useTotalRunningSessions };
23
+ export { ActivityFeed, type ActivityFeedProps, type ActivityItem, type AgentBranding, type AgentProfileCapability, type AgentProfileDraft, type AgentProfileOption, AgentProfilePicker, type AgentProfilePickerProps, type AgentStreamEvent, AgentTimeline, type AgentTimelineArtifactItem, type AgentTimelineCustomItem, type AgentTimelineItem, type AgentTimelineMessageItem, type AgentTimelineProps, type AgentTimelineStatusItem, type AgentTimelineTone, type AgentTimelineToolGroupItem, type AgentTimelineToolItem, AgentWorkbench, type AppearanceController, type AppendUserMessageOptions, type ApplySdkEventOptions, type ApprovalConfidenceStat, type ApprovalItem, ApprovalQueue, type ApprovalQueueProps, ArtifactAgentDock, type ArtifactAgentDockProps, type ArtifactAgentDockTransport, type ArtifactDockMessage, type ArtifactDockStreamEvent, type ArtifactKind, ArtifactPane, type ArtifactPaneProps, type ArtifactScope, type ArtifactView, type AuditCheck, AuditResults, type AuditResultsProps, AuthHeader, type AuthHeaderProps, type AuthUser, type AutomationStreamEvent, Avatar, AvatarFallback, AvatarImage, BRAND_PRISM_THEME, type Backend, BackendConfig, type BackendConfigProps, BackendSelector, type BackendSelectorProps, type BackendStatusData, Badge, type BadgeProps, type BannerType, type BeginAssistantMessageOptions, type BillingBalance, BillingDashboard, type BillingDashboardProps, type BillingSubscription, type BillingUsage, type BotStreamEvent, Button, type ButtonProps, CSV_PREVIEW_ROW_LIMIT, type CalendarEvent, CalendarView, type CalendarViewProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type ChangedFile, ChangesPane, type ChangesPaneProps, ChatContainer, type ChatContainerProps, ChatMessage, type ChatMessageProps, ChatSession, ClusterStatusBar, type ClusterStatusBarProps, type ClusterStatusItem, CodeBlock, CodeBlockDisplay, type CodeBlockProps, CodeSurface, type CodeSurfaceProps, CodeView, type CodeViewProps, CommandPreview, type CommandPreviewProps, type CompleteAssistantMessageOptions, type ContextBadge, CopyButton, CreditBalance, type CreditBalanceProps, type CustomToolRenderer, DEFAULT_REASONING_LEVEL_OPTIONS, DashboardLayout, type DashboardLayoutProps, type Profile as DashboardProfile, type SnapshotInfo as DashboardSnapshotInfo, type DashboardUser, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DiffPreview, type DiffPreviewProps, type DiffStats, DiffStatsBadge, DiffView, type DiffViewProps, DirectoryPane, type DirectoryPaneProps, type DisplayVariant, DropZone, type DropZoneProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type EmbeddedApp, EmbeddedAppView, type EmbeddedAppViewProps, EmptyState, type EmptyStateProps, ExpandedToolDetail, type ExpandedToolDetailProps, type ExposedPort, type FeedSegment, FileArtifactPane, type FileArtifactPaneProps, FileBreadcrumb, type FileBreadcrumbProps, type FileFormat, type FileNode, FilePreview, type FilePreviewKind, type FilePreviewProps, type FileTabData, FileTabs, type FileTabsProps, FileTree, type FileTreeProps, type FileTreeVisibilityOptions, FilterField, type FilterFieldProps, type FinalTextPart, type FormAudit, type GitCommitData, GitHubLoginButton, type GitHubLoginButtonProps, GitPanel, type GitPanelProps, GitStatusBadge, type GitStatusData, GlobResultsPreview, type GlobResultsPreviewProps, GrepResultsPreview, type GrepResultsPreviewProps, type GroupedMessage, HARNESS_BRAND, HARNESS_OPTIONS, HARNESS_REASONING_OPTIONS, type HarnessBrand, HarnessLogo, type HarnessLogoProps, HarnessPicker, type HarnessPickerProps, type HarnessType, INSUFFICIENT_BALANCE_CODE, InfoPanel, type InfoPanelProps, InlineCode, type InlineCodeProps, InlineThinkingItem, type InlineThinkingItemProps, InlineToolItem, type InlineToolItemProps, Input, type InputProps, type InsufficientBalance, type Invoice, InvoiceTable, type InvoiceTableProps, Label, LiveDuration, LoginLayout, type LoginLayoutProps, Logo, type LogoProps, Markdown, type MarkdownProps, type McpServer, MessageList, type MessageListProps, type MessageRole, type MessageRun, type MessageUser, Metric, MetricAreaChart, type MetricAreaChartProps, type MetricChartPoint, type MetricChartTone, type MetricProps, MetricStrip, type MetricStripProps, type ModelBrandIdentity, ModelBrandStack, type ModelInfo, type NavItem, NetworkConfig, type NetworkConfigData, type NetworkConfigProps, NewSandboxCard, type NewSandboxCardProps, OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, type OpenUIAction, type OpenUIActionsNode, OpenUIArtifactRenderer, type OpenUIArtifactRendererProps, type OpenUIBadgeNode, type OpenUICardNode, type OpenUICodeNode, type OpenUIComponentNode, type OpenUIGridNode, type OpenUIHeadingNode, type OpenUIKeyValueNode, type OpenUIMarkdownNode, type OpenUIPrimitive, type OpenUISchemaIssue, type OpenUISchemaValidation, type OpenUISeparatorNode, type OpenUIStackNode, type OpenUIStatNode, type OpenUITableNode, type OpenUITextNode, OutOfCreditsModal, type OutOfCreditsModalProps, PanelHeader, type PanelHeaderProps, type PillTabItem, PillTabs, type PillTabsProps, type PlanCardData, PlanCards, type PlanCardsProps, type PlanFeature, PortsList, type PortsListProps, type PreviewAccess, type PreviewReadiness, PreviewView, type PreviewViewProps, PricingPage, type PricingPageProps, type PricingTier, type ProcessInfo, ProcessList, type ProcessListProps, type ProductVariant, ProfileAvatar, type ProfileAvatarProps, ProfileComparison, type ProfileComparisonProps, ProfileSelector, type ProfileSelectorProps, Progress, PromoBanner, type PromoBannerProps, QuestionPreview, type QuestionPreviewProps, RailButton, type RailButtonProps, RailCollapseToggle, type RailCollapseToggleProps, RailExpandable, type RailExpandableProps, type RailExpandableSubItem, RailFlyout, type RailFlyoutProps, RailHeader, type RailHeaderProps, RailModeButton, type RailModeButtonProps, RailSeparator, type RailSeparatorProps, RailThemeToggle, RailTooltip, type RailTooltipProps, type RealtimeSessionOptions, RealtimeSessionRegistry, type RealtimeSessionRegistryProps, type RealtimeSessionState, type RealtimeSessionTarget, type ReasoningLevel, type ReasoningLevelOption, ReasoningLevelPicker, type ReasoningLevelPickerProps, type ReasoningPart, ResourceMeter, type ResourceMeterProps, ResourceSnapshot, type ResourceSnapshotItem, type ResourceSnapshotProps, RichFileTree, type RichFileTreeGitEntry, type RichFileTreeGitStatus, type RichFileTreeProps, type RichFileTreeThemeVars, type Run, RunGroup, type RunGroupProps, RunRowShell, type RunRowShellProps, type RunRowStatus, RunRowStatusDot, type RunStats, RuntimePane, type RuntimePaneProps, SESSION_CREATED_EVENT, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_LABELED_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, type SSEEvent, type SandboxArtifact, SandboxArtifactPane, type SandboxArtifactPaneProps, type SandboxArtifactTerminal, SandboxCard, type SandboxCardData, type SandboxCardProps, type SandboxMetrics, type SandboxStatus, SandboxTable, type SandboxTableProps, SandboxWorkbench, type SandboxWorkbenchArtifact, type SandboxWorkbenchCustomArtifact, type SandboxWorkbenchFileArtifact, type SandboxWorkbenchLayoutOptions, type SandboxWorkbenchMarkdownArtifact, type SandboxWorkbenchOpenUIArtifact, type SandboxWorkbenchProps, type SandboxWorkbenchSessionProps, type SdkSessionAttachment, type SdkSessionEvent, type SdkSessionSeed, SegmentedControl, type SegmentedControlOption, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Session, SessionActivityMonitor, type SessionActivityMonitorProps, type SessionCreatedDetail, type SessionDegradation, type SessionInfo, type SessionMessage, type SessionOptimisticController, type SessionPart, SessionSidebar, type SessionSidebarBadge, type SessionSidebarFilter, type SessionSidebarGroupBy, type SessionSidebarItem, type SessionSidebarLink, type SessionSidebarProps, type SessionSidebarVariant, type SessionUser, type ShellShouldRevalidateArgs, type ShellShouldRevalidateOptions, Sidebar, SidebarContent, type SidebarContentProps, SidebarDropZone, type SidebarDropZoneProps, SidebarLayout, type SidebarLayoutFlyoutItem, type SidebarLayoutNavItem, type SidebarLayoutProps, SidebarPanel, SidebarPanelContent, type SidebarPanelContentProps, SidebarPanelHeader, type SidebarPanelHeaderProps, type SidebarPanelProps, type SidebarProps, SidebarProvider, type SidebarProviderProps, SidebarRail, SidebarRailFooter, type SidebarRailFooterProps, SidebarRailHeader, type SidebarRailHeaderProps, SidebarRailNav, type SidebarRailNavProps, type SidebarRailProps, type SidebarUser, type SidecarAuth, type SidecarMetricsPayload, Skeleton, SkeletonCard, SkeletonTable, SnapshotList, type SnapshotListProps, StatCard, type StatCardProps, StatusBanner, type StatusBannerProps, StatusBar, type StatusBarProps, StatusPill, type StatusPillProps, type StatusTone, Switch, SystemLogsViewer, type SystemLogsViewerProps, TOOL_CATEGORY_ICONS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TangleKnot, TangleLoginButton, type TangleLoginButtonProps, TaskBoard, type TaskBoardColumn, type TaskBoardItem, type TaskBoardProps, type TaskStreamEvent, type TeamRole, TemplateCard, type TemplateCardData, type TemplateCardProps, TerminalDisplay, TerminalDisplayCursor, TerminalDisplayInput, TerminalDisplayLine, type TerminalLine, TerminalPanel, type TerminalProps, type TerminalStreamEvent, type TextPart, TextShimmer, type TextShimmerProps, Textarea, type TextareaProps, type ThemeMode, ThemeToggle, ThinkingIndicator, type ThinkingIndicatorProps, type Toast, ToastContainer, ToastProvider, type ToolCallData, ToolCallFeed, type ToolCallFeedProps, type ToolCallStatus, type ToolCallType, type ToolCategory, type ToolDisplayMetadata, type ToolPart, type ToolState, type ToolStatus, type ToolTime, Toolbar, type ToolbarProps, type UploadFile, UploadProgress, type UploadProgressProps, UsageChart, type UsageChartProps, type UsageDataPoint, UsageSummary, type UsageSummaryData, type UsageSummaryProps, type UseAuthOptions, type UseAuthResult, type UseOptimisticSessionItemsOptions, type UsePtySessionOptions, type UsePtySessionReturn, type UseRunGroupsOptions, type UseSSEStreamOptions, type UseSSEStreamResult, type UseSandboxMetricsOptions, type UseSandboxMetricsResult, type UseSdkSessionOptions, type UseSdkSessionReturn, type UseSessionStreamOptions, type UseSessionStreamResult, type UseSidecarAuthOptions, type UseToolCallStreamReturn, UserMenu, type UserMenuProps, UserMessage, type UserMessageProps, type Variant, VariantList, type VariantListProps, type VariantOutcome, type VariantStatus, WebSearchPreview, type WebSearchPreviewProps, WorkspaceLayout, type WorkspaceLayoutProps, WorkspacePaneHeader, type WorkspacePaneHeaderProps, WriteFilePreview, type WriteFilePreviewProps, activeSessionsAtom, addMessage, addParts, badgeVariants, buildUnifiedPatch, bumpActiveSessionActivity, buttonVariants, canAdminSandbox, canonicalModelId, chatCapableHarnesses, clearChat, cn, computeDiffStats, connectSession, copyText, createAuthFetcher, createFetchTransport, createShellShouldRevalidate, detectFileFormat, disconnectSession, dispatchSessionCreated, fileExtension, filterFileTree, findUnsupportedOpenUINode, focusField, focusFieldInvalid, focusFieldWithin, focusRing, focusRingInset, formatBytes, formatDuration, formatPrice, formatRelativeAge, formatUptime, getActiveSession, getAllActiveSessions, getAllProjectActivity, getCodeLanguage, getFormatLabel, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getSyntaxLanguage, getToolCategory, getToolDisplayMetadata, getToolErrorText, getTotalRunningSessionCount, hasBackgroundRunningSessions, isStreamingAtom, messagesAtom, modelBrandFor, modelProvider, parseCsv, parseInsufficientBalance, parseToolEvent, partMapAtom, registerActiveSession, resetActiveSessions, resolveFilePreviewKind, resolveLanguage, sessionAtom, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, shellShouldRevalidate, snapHarnessToModel, timeAgo, truncateText, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useApiKey, useAuth, useAutoScroll, useCreateSession, useDeleteSession, useDropdownMenu, useHasBackgroundRunningSessions, useLiveTime, useNavbarSessions, useOptimisticSessionItems, useProjectActivity, useProjectSessions, usePtySession, useRealtimeSession, useRenameSession, useRunCollapseState, useRunGroups, useSSEStream, useSandboxMetrics, useSdkSession, useSessionStream, useSessions, useSessionsByActivity, useSidebar, useSidecarAuth, useTheme, useToast, useToolCallStream, useTotalRunningSessions, validateOpenUIJsonArtifact, validateOpenUIJsonNode };
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ import { a as formatPrice, i as PricingPage, n as TemplateCard, o as BillingDash
8
8
  import { t as usePtySession } from "./use-pty-session-Bf4hBLXJ.js";
9
9
  import { CSV_PREVIEW_ROW_LIMIT, FileArtifactPane, FilePreview, FileTabs, FileTree, RichFileTree, detectFileFormat, fileExtension, filterFileTree, getCodeLanguage, getFormatLabel, getSyntaxLanguage, parseCsv, resolveFilePreviewKind } from "./files.js";
10
10
  import { n as PreviewView, t as EmbeddedAppView } from "./embedded-app-view-CoiS_kfY.js";
11
- import { OpenUIArtifactRenderer } from "./openui.js";
11
+ import { OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, OpenUIArtifactRenderer, findUnsupportedOpenUINode, validateOpenUIJsonArtifact, validateOpenUIJsonNode } from "./openui.js";
12
12
  import { a as ThinkingIndicator, c as createFetchTransport, d as AgentProfilePicker, f as DEFAULT_REASONING_LEVEL_OPTIONS, i as MessageList, l as modelProvider, m as ReasoningLevelPicker, n as ChatContainer, o as UserMessage, p as HARNESS_REASONING_OPTIONS, r as ChatMessage, s as ArtifactAgentDock, t as AgentTimeline, u as snapHarnessToModel } from "./chat-BOvFAe6p.js";
13
13
  import { ExpandedToolDetail, InlineThinkingItem, InlineToolItem, LiveDuration, RunGroup, RunRowShell, RunRowStatusDot, ToolCallFeed, parseToolEvent } from "./run.js";
14
14
  import { a as TangleLoginButton, i as UserMenu, n as GitHubLoginButton, r as LoginLayout, t as AuthHeader } from "./auth-CWe17Hly.js";
@@ -20,4 +20,4 @@ import { TOOL_CATEGORY_ICONS, cn, copyText, focusField, focusFieldInvalid, focus
20
20
  import { TerminalCursor as TerminalDisplayCursor, TerminalInput as TerminalDisplayInput, TerminalLine as TerminalDisplayLine } from "@tangle-network/ui/primitives";
21
21
  import { CodeBlock as CodeBlockDisplay, Markdown } from "@tangle-network/ui/markdown";
22
22
  import { CommandPreview, DiffPreview, GlobResultsPreview, GrepResultsPreview, QuestionPreview, WebSearchPreview, WriteFilePreview } from "@tangle-network/ui/tool-previews";
23
- export { ActivityFeed, AgentProfilePicker, AgentTimeline, AgentWorkbench, ApprovalQueue, ArtifactAgentDock, ArtifactPane, AuditResults, AuthHeader, Avatar, AvatarFallback, AvatarImage, BRAND_PRISM_THEME, BackendConfig, BackendSelector, Badge, BillingDashboard, Button, CSV_PREVIEW_ROW_LIMIT, CalendarView, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChangesPane, ChatContainer, ChatMessage, ClusterStatusBar, CodeBlock, CodeBlockDisplay, CodeSurface, CodeView, CommandPreview, CopyButton, CreditBalance, DEFAULT_REASONING_LEVEL_OPTIONS, DashboardLayout, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DiffPreview, DiffStatsBadge, DiffView, DirectoryPane, DropZone, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmbeddedAppView, EmptyState, ExpandedToolDetail, FileArtifactPane, FileBreadcrumb, FilePreview, FileTabs, FileTree, FilterField, GitHubLoginButton, GitPanel, GitStatusBadge, GlobResultsPreview, GrepResultsPreview, HARNESS_BRAND, HARNESS_OPTIONS, HARNESS_REASONING_OPTIONS, HarnessLogo, HarnessPicker, INSUFFICIENT_BALANCE_CODE, InfoPanel, InlineCode, InlineThinkingItem, InlineToolItem, Input, InvoiceTable, Label, LiveDuration, LoginLayout, Logo, Markdown, MessageList, Metric, MetricAreaChart, MetricStrip, ModelBrandStack, NetworkConfig, NewSandboxCard, OpenUIArtifactRenderer, OutOfCreditsModal, PanelHeader, PillTabs, PlanCards, PortsList, PreviewView, PricingPage, ProcessList, ProfileAvatar, ProfileComparison, ProfileSelector, Progress, PromoBanner, QuestionPreview, RailButton, RailCollapseToggle, RailExpandable, RailFlyout, RailHeader, RailModeButton, RailSeparator, RailThemeToggle, RailTooltip, RealtimeSessionRegistry, ReasoningLevelPicker, ResourceMeter, ResourceSnapshot, RichFileTree, RunGroup, RunRowShell, RunRowStatusDot, RuntimePane, SESSION_CREATED_EVENT, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_LABELED_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxArtifactPane, SandboxCard, SandboxTable, SandboxWorkbench, SegmentedControl, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SessionActivityMonitor, SessionSidebar, Sidebar, SidebarContent, SidebarDropZone, SidebarLayout, SidebarPanel, SidebarPanelContent, SidebarPanelHeader, SidebarProvider, SidebarRail, SidebarRailFooter, SidebarRailHeader, SidebarRailNav, Skeleton, SkeletonCard, SkeletonTable, SnapshotList, StatCard, StatusBanner, StatusBar, StatusPill, Switch, SystemLogsViewer, TOOL_CATEGORY_ICONS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TangleKnot, TangleLoginButton, TaskBoard, TemplateCard, TerminalDisplay, TerminalDisplayCursor, TerminalDisplayInput, TerminalDisplayLine, TerminalPanel, TextShimmer, Textarea, ThemeToggle, ThinkingIndicator, ToastContainer, ToastProvider, ToolCallFeed, Toolbar, UploadProgress, UsageChart, UsageSummary, UserMenu, UserMessage, VariantList, WebSearchPreview, WorkspaceLayout, WorkspacePaneHeader, WriteFilePreview, activeSessionsAtom, addMessage, addParts, badgeVariants, buildUnifiedPatch, bumpActiveSessionActivity, buttonVariants, canAdminSandbox, canonicalModelId, chatCapableHarnesses, clearChat, cn, computeDiffStats, connectSession, copyText, createAuthFetcher, createFetchTransport, createShellShouldRevalidate, detectFileFormat, disconnectSession, dispatchSessionCreated, fileExtension, filterFileTree, focusField, focusFieldInvalid, focusFieldWithin, focusRing, focusRingInset, formatBytes, formatDuration, formatPrice, formatRelativeAge, formatUptime, getActiveSession, getAllActiveSessions, getAllProjectActivity, getCodeLanguage, getFormatLabel, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getSyntaxLanguage, getToolCategory, getToolDisplayMetadata, getToolErrorText, getTotalRunningSessionCount, hasBackgroundRunningSessions, isStreamingAtom, messagesAtom, modelBrandFor, modelProvider, parseCsv, parseInsufficientBalance, parseToolEvent, partMapAtom, registerActiveSession, resetActiveSessions, resolveFilePreviewKind, resolveLanguage, sessionAtom, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, shellShouldRevalidate, snapHarnessToModel, timeAgo, truncateText, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useApiKey, useAuth, useAutoScroll, useCreateSession, useDeleteSession, useDropdownMenu, useHasBackgroundRunningSessions, useLiveTime, useNavbarSessions, useOptimisticSessionItems, useProjectActivity, useProjectSessions, usePtySession, useRealtimeSession, useRenameSession, useRunCollapseState, useRunGroups, useSSEStream, useSandboxMetrics, useSdkSession, useSessionStream, useSessions, useSessionsByActivity, useSidebar, useSidecarAuth, useTheme, useToast, useToolCallStream, useTotalRunningSessions };
23
+ export { ActivityFeed, AgentProfilePicker, AgentTimeline, AgentWorkbench, ApprovalQueue, ArtifactAgentDock, ArtifactPane, AuditResults, AuthHeader, Avatar, AvatarFallback, AvatarImage, BRAND_PRISM_THEME, BackendConfig, BackendSelector, Badge, BillingDashboard, Button, CSV_PREVIEW_ROW_LIMIT, CalendarView, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChangesPane, ChatContainer, ChatMessage, ClusterStatusBar, CodeBlock, CodeBlockDisplay, CodeSurface, CodeView, CommandPreview, CopyButton, CreditBalance, DEFAULT_REASONING_LEVEL_OPTIONS, DashboardLayout, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DiffPreview, DiffStatsBadge, DiffView, DirectoryPane, DropZone, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmbeddedAppView, EmptyState, ExpandedToolDetail, FileArtifactPane, FileBreadcrumb, FilePreview, FileTabs, FileTree, FilterField, GitHubLoginButton, GitPanel, GitStatusBadge, GlobResultsPreview, GrepResultsPreview, HARNESS_BRAND, HARNESS_OPTIONS, HARNESS_REASONING_OPTIONS, HarnessLogo, HarnessPicker, INSUFFICIENT_BALANCE_CODE, InfoPanel, InlineCode, InlineThinkingItem, InlineToolItem, Input, InvoiceTable, Label, LiveDuration, LoginLayout, Logo, Markdown, MessageList, Metric, MetricAreaChart, MetricStrip, ModelBrandStack, NetworkConfig, NewSandboxCard, OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, OpenUIArtifactRenderer, OutOfCreditsModal, PanelHeader, PillTabs, PlanCards, PortsList, PreviewView, PricingPage, ProcessList, ProfileAvatar, ProfileComparison, ProfileSelector, Progress, PromoBanner, QuestionPreview, RailButton, RailCollapseToggle, RailExpandable, RailFlyout, RailHeader, RailModeButton, RailSeparator, RailThemeToggle, RailTooltip, RealtimeSessionRegistry, ReasoningLevelPicker, ResourceMeter, ResourceSnapshot, RichFileTree, RunGroup, RunRowShell, RunRowStatusDot, RuntimePane, SESSION_CREATED_EVENT, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_LABELED_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxArtifactPane, SandboxCard, SandboxTable, SandboxWorkbench, SegmentedControl, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SessionActivityMonitor, SessionSidebar, Sidebar, SidebarContent, SidebarDropZone, SidebarLayout, SidebarPanel, SidebarPanelContent, SidebarPanelHeader, SidebarProvider, SidebarRail, SidebarRailFooter, SidebarRailHeader, SidebarRailNav, Skeleton, SkeletonCard, SkeletonTable, SnapshotList, StatCard, StatusBanner, StatusBar, StatusPill, Switch, SystemLogsViewer, TOOL_CATEGORY_ICONS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TangleKnot, TangleLoginButton, TaskBoard, TemplateCard, TerminalDisplay, TerminalDisplayCursor, TerminalDisplayInput, TerminalDisplayLine, TerminalPanel, TextShimmer, Textarea, ThemeToggle, ThinkingIndicator, ToastContainer, ToastProvider, ToolCallFeed, Toolbar, UploadProgress, UsageChart, UsageSummary, UserMenu, UserMessage, VariantList, WebSearchPreview, WorkspaceLayout, WorkspacePaneHeader, WriteFilePreview, activeSessionsAtom, addMessage, addParts, badgeVariants, buildUnifiedPatch, bumpActiveSessionActivity, buttonVariants, canAdminSandbox, canonicalModelId, chatCapableHarnesses, clearChat, cn, computeDiffStats, connectSession, copyText, createAuthFetcher, createFetchTransport, createShellShouldRevalidate, detectFileFormat, disconnectSession, dispatchSessionCreated, fileExtension, filterFileTree, findUnsupportedOpenUINode, focusField, focusFieldInvalid, focusFieldWithin, focusRing, focusRingInset, formatBytes, formatDuration, formatPrice, formatRelativeAge, formatUptime, getActiveSession, getAllActiveSessions, getAllProjectActivity, getCodeLanguage, getFormatLabel, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getSyntaxLanguage, getToolCategory, getToolDisplayMetadata, getToolErrorText, getTotalRunningSessionCount, hasBackgroundRunningSessions, isStreamingAtom, messagesAtom, modelBrandFor, modelProvider, parseCsv, parseInsufficientBalance, parseToolEvent, partMapAtom, registerActiveSession, resetActiveSessions, resolveFilePreviewKind, resolveLanguage, sessionAtom, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, shellShouldRevalidate, snapHarnessToModel, timeAgo, truncateText, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useApiKey, useAuth, useAutoScroll, useCreateSession, useDeleteSession, useDropdownMenu, useHasBackgroundRunningSessions, useLiveTime, useNavbarSessions, useOptimisticSessionItems, useProjectActivity, useProjectSessions, usePtySession, useRealtimeSession, useRenameSession, useRunCollapseState, useRunGroups, useSSEStream, useSandboxMetrics, useSdkSession, useSessionStream, useSessions, useSessionsByActivity, useSidebar, useSidecarAuth, useTheme, useToast, useToolCallStream, useTotalRunningSessions, validateOpenUIJsonArtifact, validateOpenUIJsonNode };
package/dist/openui.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { OpenUIAction, OpenUIActionsNode, OpenUIArtifactRenderer, OpenUIArtifactRendererProps, OpenUIBadgeNode, OpenUICardNode, OpenUICodeNode, OpenUIComponentNode, OpenUIGridNode, OpenUIHeadingNode, OpenUIKeyValueNode, OpenUIMarkdownNode, OpenUIPrimitive, OpenUISeparatorNode, OpenUIStackNode, OpenUIStatNode, OpenUITableNode, OpenUITextNode } from "@tangle-network/ui/openui";
2
- export { type OpenUIAction, type OpenUIActionsNode, OpenUIArtifactRenderer, type OpenUIArtifactRendererProps, type OpenUIBadgeNode, type OpenUICardNode, type OpenUICodeNode, type OpenUIComponentNode, type OpenUIGridNode, type OpenUIHeadingNode, type OpenUIKeyValueNode, type OpenUIMarkdownNode, type OpenUIPrimitive, type OpenUISeparatorNode, type OpenUIStackNode, type OpenUIStatNode, type OpenUITableNode, type OpenUITextNode };
1
+ import { OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, OpenUIAction, OpenUIActionsNode, OpenUIArtifactRenderer, OpenUIArtifactRendererProps, OpenUIBadgeNode, OpenUICardNode, OpenUICodeNode, OpenUIComponentNode, OpenUIGridNode, OpenUIHeadingNode, OpenUIKeyValueNode, OpenUIMarkdownNode, OpenUIPrimitive, OpenUISchemaIssue, OpenUISchemaValidation, OpenUISeparatorNode, OpenUIStackNode, OpenUIStatNode, OpenUITableNode, OpenUITextNode, findUnsupportedOpenUINode, validateOpenUIJsonArtifact, validateOpenUIJsonNode } from "@tangle-network/ui/openui";
2
+ export { OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, type OpenUIAction, type OpenUIActionsNode, OpenUIArtifactRenderer, type OpenUIArtifactRendererProps, type OpenUIBadgeNode, type OpenUICardNode, type OpenUICodeNode, type OpenUIComponentNode, type OpenUIGridNode, type OpenUIHeadingNode, type OpenUIKeyValueNode, type OpenUIMarkdownNode, type OpenUIPrimitive, type OpenUISchemaIssue, type OpenUISchemaValidation, type OpenUISeparatorNode, type OpenUIStackNode, type OpenUIStatNode, type OpenUITableNode, type OpenUITextNode, findUnsupportedOpenUINode, validateOpenUIJsonArtifact, validateOpenUIJsonNode };
package/dist/openui.js CHANGED
@@ -1,2 +1,2 @@
1
- import { OpenUIArtifactRenderer } from "@tangle-network/ui/openui";
2
- export { OpenUIArtifactRenderer };
1
+ import { OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, OpenUIArtifactRenderer, findUnsupportedOpenUINode, validateOpenUIJsonArtifact, validateOpenUIJsonNode } from "@tangle-network/ui/openui";
2
+ export { OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, OpenUIArtifactRenderer, findUnsupportedOpenUINode, validateOpenUIJsonArtifact, validateOpenUIJsonNode };
package/dist/styles.css CHANGED
@@ -5152,17 +5152,17 @@
5152
5152
  [data-sandbox-ui],
5153
5153
  [data-theme="dark"],
5154
5154
  .dark {
5155
- --md3-surface: #151523;
5156
- --md3-surface-dim: #0f0f1a;
5157
- --md3-surface-bright: #393957;
5158
- --md3-surface-container-lowest: #0f0f1a;
5159
- --md3-surface-container-low: #222235;
5160
- --md3-surface-container: #2d2e43;
5161
- --md3-surface-container-high: #32324e;
5162
- --md3-surface-container-highest: #393957;
5163
- --md3-surface-variant: #32324e;
5164
- --md3-on-surface: #e3e6ed;
5165
- --md3-on-surface-variant: #b2b4c7;
5155
+ --md3-surface: #161616;
5156
+ --md3-surface-dim: #101010;
5157
+ --md3-surface-bright: #3b3b3b;
5158
+ --md3-surface-container-lowest: #101010;
5159
+ --md3-surface-container-low: #242424;
5160
+ --md3-surface-container: #303030;
5161
+ --md3-surface-container-high: #353535;
5162
+ --md3-surface-container-highest: #3b3b3b;
5163
+ --md3-surface-variant: #353535;
5164
+ --md3-on-surface: #e6e6e6;
5165
+ --md3-on-surface-variant: #b5b5b5;
5166
5166
  --md3-primary: #A5B4FC;
5167
5167
  --md3-primary-dim: #7C6CF6;
5168
5168
  --md3-primary-container: #4C3FC5;
@@ -5176,8 +5176,8 @@
5176
5176
  --md3-on-secondary: #E8E5FF;
5177
5177
  --md3-on-secondary-container: #E8E5FF;
5178
5178
  --md3-tertiary: #10B981;
5179
- --md3-outline: #898da9;
5180
- --md3-outline-variant: #474a6b;
5179
+ --md3-outline: #8e8e8e;
5180
+ --md3-outline-variant: #4c4c4c;
5181
5181
  --md3-error: #ff5277;
5182
5182
  --md3-error-dim: #eb2855;
5183
5183
  --md3-error-container: #82042b;
@@ -5187,24 +5187,24 @@
5187
5187
  --md3-inverse-primary: #4C3FC5;
5188
5188
  --md3-inverse-on-surface: #000000;
5189
5189
  --md3-surface-tint: #A5B4FC;
5190
- --hsl-background: 240 24% 11%;
5191
- --hsl-foreground: 225 22% 91%;
5192
- --hsl-card: 238 20% 22%;
5193
- --hsl-card-foreground: 225 22% 91%;
5194
- --hsl-popover: 239 22% 25%;
5195
- --hsl-popover-foreground: 225 22% 91%;
5190
+ --hsl-background: 0 0% 8.6275%;
5191
+ --hsl-foreground: 0 0% 90.1961%;
5192
+ --hsl-card: 0 0% 18.8235%;
5193
+ --hsl-card-foreground: 0 0% 90.1961%;
5194
+ --hsl-popover: 0 0% 20.7843%;
5195
+ --hsl-popover-foreground: 0 0% 90.1961%;
5196
5196
  --hsl-primary: 246 54% 51%;
5197
5197
  --hsl-primary-foreground: 0 0% 100%;
5198
- --hsl-secondary: 239 22% 25%;
5199
- --hsl-secondary-foreground: 225 22% 91%;
5200
- --hsl-muted: 239 22% 25%;
5201
- --hsl-muted-foreground: 234 16% 74%;
5202
- --hsl-accent: 239 22% 25%;
5203
- --hsl-accent-foreground: 225 22% 91%;
5198
+ --hsl-secondary: 0 0% 20.7843%;
5199
+ --hsl-secondary-foreground: 0 0% 90.1961%;
5200
+ --hsl-muted: 0 0% 20.7843%;
5201
+ --hsl-muted-foreground: 0 0% 70.9804%;
5202
+ --hsl-accent: 0 0% 20.7843%;
5203
+ --hsl-accent-foreground: 0 0% 90.1961%;
5204
5204
  --hsl-destructive: 348 74% 48%;
5205
5205
  --hsl-destructive-foreground: 0 0% 100%;
5206
- --hsl-border: 236 20% 35%;
5207
- --hsl-input: 240 24% 15%;
5206
+ --hsl-border: 0 0% 29.8039%;
5207
+ --hsl-input: 0 0% 12.1569%;
5208
5208
  --hsl-ring: 233 100% 87%;
5209
5209
  --hsl-success: 160 84% 39%;
5210
5210
  --hsl-warning: 40 94% 56%;
@@ -5232,18 +5232,18 @@
5232
5232
  --warning: var(--hsl-warning);
5233
5233
  --error: var(--hsl-destructive);
5234
5234
  --info: var(--hsl-info);
5235
- --sidebar-background: 242 26% 8%;
5236
- --sidebar-foreground: 225 22% 91%;
5235
+ --sidebar-background: 0 0% 6.2745%;
5236
+ --sidebar-foreground: 0 0% 90.1961%;
5237
5237
  --sidebar-primary: 246 54% 51%;
5238
5238
  --sidebar-primary-foreground: 0 0% 100%;
5239
- --sidebar-accent: 239 22% 25%;
5240
- --sidebar-accent-foreground: 225 22% 91%;
5241
- --sidebar-border: 236 20% 35%;
5239
+ --sidebar-accent: 0 0% 20.7843%;
5240
+ --sidebar-accent-foreground: 0 0% 90.1961%;
5241
+ --sidebar-border: 0 0% 29.8039%;
5242
5242
  --sidebar-ring: 233 100% 87%;
5243
- --depth-1: #151523;
5244
- --depth-2: #2d2e43;
5245
- --depth-3: #32324e;
5246
- --depth-4: #393957;
5243
+ --depth-1: #161616;
5244
+ --depth-2: #303030;
5245
+ --depth-3: #353535;
5246
+ --depth-4: #3b3b3b;
5247
5247
  --status-running: #10B981;
5248
5248
  --status-creating: #A5B4FC;
5249
5249
  --status-stopped: #FFB800;
@@ -5294,7 +5294,7 @@
5294
5294
  --accent-surface-soft: rgba(165, 180, 252, 0.07);
5295
5295
  --accent-surface-strong: rgba(76, 63, 197, 0.30);
5296
5296
  --accent-text: #A5B4FC;
5297
- --bg-root: #151523;
5297
+ --bg-root: #161616;
5298
5298
  --bg-dark: var(--depth-1);
5299
5299
  --bg-card: var(--depth-2);
5300
5300
  --bg-elevated: var(--depth-4);
@@ -5302,10 +5302,10 @@
5302
5302
  --bg-input: hsl(var(--hsl-input));
5303
5303
  --bg-hover: rgba(165, 180, 252, 0.07);
5304
5304
  --bg-selection: rgba(124, 108, 246, 0.28);
5305
- --text-primary: #e3e6ed;
5306
- --text-secondary: #c2c7d4;
5307
- --text-muted: #b2b4c7;
5308
- --text-dim: #9ea5b9;
5305
+ --text-primary: #e6e6e6;
5306
+ --text-secondary: #c7c7c7;
5307
+ --text-muted: #b5b5b5;
5308
+ --text-dim: #a5a5a5;
5309
5309
  --brand-primary: #7C6CF6;
5310
5310
  --brand-strong: #2E2A5E;
5311
5311
  --brand-strong-text: #ffffff;
@@ -5316,9 +5316,9 @@
5316
5316
  --brand-purple: #C7D2FE;
5317
5317
  --brand-vibrant: #6366F1;
5318
5318
  --brand-emerald: #10B981;
5319
- --border-subtle: rgba(165, 180, 252, 0.10);
5320
- --border-default: rgba(165, 180, 252, 0.16);
5321
- --border-hover: rgba(165, 180, 252, 0.28);
5319
+ --border-subtle: rgba(255, 255, 255, 0.10);
5320
+ --border-default: rgba(255, 255, 255, 0.16);
5321
+ --border-hover: rgba(255, 255, 255, 0.28);
5322
5322
  --border-accent: rgba(129, 140, 248, 0.35);
5323
5323
  --border-accent-hover: rgba(129, 140, 248, 0.50);
5324
5324
  --btn-primary-bg: #4C3FC5;
@@ -5404,17 +5404,17 @@
5404
5404
  [data-sandbox-theme="vault"],
5405
5405
  [data-theme="light"],
5406
5406
  .light {
5407
- --md3-surface: #e9e9f1;
5408
- --md3-surface-dim: #d9d9e6;
5407
+ --md3-surface: #eaeaea;
5408
+ --md3-surface-dim: #dadada;
5409
5409
  --md3-surface-bright: #ffffff;
5410
5410
  --md3-surface-container-lowest: #ffffff;
5411
- --md3-surface-container-low: #f7f7fa;
5411
+ --md3-surface-container-low: #f7f7f7;
5412
5412
  --md3-surface-container: #ffffff;
5413
- --md3-surface-container-high: #f2f2f7;
5413
+ --md3-surface-container-high: #f2f2f2;
5414
5414
  --md3-surface-container-highest: #ffffff;
5415
- --md3-surface-variant: #f2f2f7;
5416
- --md3-on-surface: #2b2c3e;
5417
- --md3-on-surface-variant: #494b5d;
5415
+ --md3-surface-variant: #f2f2f2;
5416
+ --md3-on-surface: #2d2d2d;
5417
+ --md3-on-surface-variant: #4c4c4c;
5418
5418
  --md3-primary: #3E349E;
5419
5419
  --md3-primary-dim: #352B88;
5420
5420
  --md3-primary-container: #352B88;
@@ -5429,8 +5429,8 @@
5429
5429
  --md3-on-secondary-container: #524A78;
5430
5430
  --md3-tertiary: #065F46;
5431
5431
  --md3-tertiary-container: #D1FAE5;
5432
- --md3-outline: #737696;
5433
- --md3-outline-variant: #cecfde;
5432
+ --md3-outline: #787878;
5433
+ --md3-outline-variant: #d0d0d0;
5434
5434
  --md3-error: #ba1a1a;
5435
5435
  --md3-error-dim: #93000a;
5436
5436
  --md3-error-container: #ffdad6;
@@ -5440,31 +5440,31 @@
5440
5440
  --md3-inverse-primary: #A5AAFC;
5441
5441
  --md3-inverse-on-surface: #f0f1f4;
5442
5442
  --md3-surface-tint: #6366F1;
5443
- --hsl-background: 240 24% 93%;
5444
- --hsl-foreground: 235 18% 20.5%;
5443
+ --hsl-background: 0 0% 91.7647%;
5444
+ --hsl-foreground: 0 0% 17.6471%;
5445
5445
  --hsl-card: 0 0% 100%;
5446
- --hsl-card-foreground: 235 18% 20.5%;
5446
+ --hsl-card-foreground: 0 0% 17.6471%;
5447
5447
  --hsl-popover: 0 0% 100%;
5448
- --hsl-popover-foreground: 235 18% 20.5%;
5448
+ --hsl-popover-foreground: 0 0% 17.6471%;
5449
5449
  --hsl-primary: 246 54% 51%;
5450
5450
  --hsl-primary-foreground: 0 0% 100%;
5451
- --hsl-secondary: 240 26% 96%;
5452
- --hsl-secondary-foreground: 235 18% 20.5%;
5453
- --hsl-muted: 240 26% 96%;
5454
- --hsl-muted-foreground: 235 12% 32.5%;
5455
- --hsl-accent: 240 26% 96%;
5456
- --hsl-accent-foreground: 235 18% 20.5%;
5451
+ --hsl-secondary: 0 0% 94.902%;
5452
+ --hsl-secondary-foreground: 0 0% 17.6471%;
5453
+ --hsl-muted: 0 0% 94.902%;
5454
+ --hsl-muted-foreground: 0 0% 29.8039%;
5455
+ --hsl-accent: 0 0% 94.902%;
5456
+ --hsl-accent-foreground: 0 0% 17.6471%;
5457
5457
  --hsl-destructive: 0 72% 41%;
5458
5458
  --hsl-destructive-foreground: 0 0% 100%;
5459
- --hsl-border: 238 20% 84%;
5460
- --hsl-input: 240 30% 97%;
5459
+ --hsl-border: 0 0% 81.5686%;
5460
+ --hsl-input: 0 0% 96.0784%;
5461
5461
  --hsl-ring: 246 54% 51%;
5462
5462
  --hsl-success: 160 84% 30%;
5463
5463
  --hsl-warning: 41 96% 50%;
5464
5464
  --hsl-info: 212 80% 50%;
5465
- --depth-1: #e9e9f1;
5465
+ --depth-1: #eaeaea;
5466
5466
  --depth-2: #ffffff;
5467
- --depth-3: #f2f2f7;
5467
+ --depth-3: #f2f2f2;
5468
5468
  --depth-4: #ffffff;
5469
5469
  --status-running: #059669;
5470
5470
  --status-creating: #3E349E;
@@ -5507,17 +5507,17 @@
5507
5507
  --surface-neutral-border: var(--border-subtle);
5508
5508
  --surface-neutral-text: var(--text-muted);
5509
5509
  --sidebar-background: 0 0% 100%;
5510
- --sidebar-foreground: 235 18% 20.5%;
5510
+ --sidebar-foreground: 0 0% 17.6471%;
5511
5511
  --sidebar-primary: 246 54% 51%;
5512
5512
  --sidebar-primary-foreground: 0 0% 100%;
5513
- --sidebar-accent: 240 26% 96%;
5514
- --sidebar-accent-foreground: 235 18% 20.5%;
5515
- --sidebar-border: 238 20% 84%;
5513
+ --sidebar-accent: 0 0% 94.902%;
5514
+ --sidebar-accent-foreground: 0 0% 17.6471%;
5515
+ --sidebar-border: 0 0% 81.5686%;
5516
5516
  --sidebar-ring: 246 54% 51%;
5517
5517
  --mesh-teal: transparent;
5518
5518
  --mesh-violet: transparent;
5519
5519
  --mesh-blue: transparent;
5520
- --bg-root: #e9e9f1;
5520
+ --bg-root: #eaeaea;
5521
5521
  --bg-dark: var(--depth-1);
5522
5522
  --bg-card: var(--depth-2);
5523
5523
  --bg-elevated: var(--depth-4);
@@ -5525,10 +5525,10 @@
5525
5525
  --bg-input: hsl(var(--hsl-input));
5526
5526
  --bg-hover: rgba(76, 63, 198, 0.06);
5527
5527
  --bg-selection: rgba(76, 63, 198, 0.16);
5528
- --text-primary: #2b2c3e;
5529
- --text-secondary: #3d3e52;
5530
- --text-muted: #494b5d;
5531
- --text-dim: #65677b;
5528
+ --text-primary: #2d2d2d;
5529
+ --text-secondary: #3f3f3f;
5530
+ --text-muted: #4c4c4c;
5531
+ --text-dim: #686868;
5532
5532
  --brand-primary: #6366F1;
5533
5533
  --brand-strong: #2E2A5E;
5534
5534
  --brand-strong-text: #ffffff;
@@ -5539,9 +5539,9 @@
5539
5539
  --brand-purple: #6366F1;
5540
5540
  --brand-vibrant: #6366F1;
5541
5541
  --brand-emerald: #059669;
5542
- --border-subtle: rgba(60, 52, 140, 0.10);
5543
- --border-default: rgba(60, 52, 140, 0.14);
5544
- --border-hover: rgba(60, 52, 140, 0.24);
5542
+ --border-subtle: rgba(0, 0, 0, 0.10);
5543
+ --border-default: rgba(0, 0, 0, 0.14);
5544
+ --border-hover: rgba(0, 0, 0, 0.24);
5545
5545
  --border-accent: rgba(91, 78, 212, 0.18);
5546
5546
  --border-accent-hover: rgba(91, 78, 212, 0.35);
5547
5547
  --btn-primary-bg: #4C3FC5;
@@ -5844,48 +5844,48 @@
5844
5844
  --text-dim: #82a699;
5845
5845
  }
5846
5846
  [data-theme="tangle-dark"] {
5847
- --hsl-background: 240 24% 11%;
5848
- --hsl-foreground: 225 22% 91%;
5849
- --hsl-card: 238 20% 22%;
5850
- --hsl-card-foreground: 225 22% 91%;
5851
- --hsl-popover: 239 22% 25%;
5852
- --hsl-popover-foreground: 225 22% 91%;
5847
+ --hsl-background: 0 0% 8.6275%;
5848
+ --hsl-foreground: 0 0% 90.1961%;
5849
+ --hsl-card: 0 0% 18.8235%;
5850
+ --hsl-card-foreground: 0 0% 90.1961%;
5851
+ --hsl-popover: 0 0% 20.7843%;
5852
+ --hsl-popover-foreground: 0 0% 90.1961%;
5853
5853
  --hsl-primary: 246 54% 51%;
5854
5854
  --hsl-primary-foreground: 0 0% 100%;
5855
- --hsl-secondary: 239 22% 25%;
5856
- --hsl-secondary-foreground: 225 22% 91%;
5857
- --hsl-muted: 239 22% 25%;
5858
- --hsl-muted-foreground: 234 16% 74%;
5859
- --hsl-accent: 239 22% 25%;
5860
- --hsl-accent-foreground: 225 22% 91%;
5855
+ --hsl-secondary: 0 0% 20.7843%;
5856
+ --hsl-secondary-foreground: 0 0% 90.1961%;
5857
+ --hsl-muted: 0 0% 20.7843%;
5858
+ --hsl-muted-foreground: 0 0% 70.9804%;
5859
+ --hsl-accent: 0 0% 20.7843%;
5860
+ --hsl-accent-foreground: 0 0% 90.1961%;
5861
5861
  --hsl-destructive: 348 74% 48%;
5862
5862
  --hsl-destructive-foreground: 0 0% 100%;
5863
- --hsl-border: 236 20% 35%;
5864
- --hsl-input: 240 24% 15%;
5863
+ --hsl-border: 0 0% 29.8039%;
5864
+ --hsl-input: 0 0% 12.1569%;
5865
5865
  --hsl-ring: 233 100% 87%;
5866
- --depth-1: #151523;
5867
- --depth-2: #2d2e43;
5868
- --depth-3: #32324e;
5869
- --depth-4: #393957;
5870
- --bg-root: #151523;
5866
+ --depth-1: #161616;
5867
+ --depth-2: #303030;
5868
+ --depth-3: #353535;
5869
+ --depth-4: #3b3b3b;
5870
+ --bg-root: #161616;
5871
5871
  --bg-card: var(--depth-2);
5872
5872
  --bg-input: hsl(var(--hsl-input));
5873
- --md3-surface-container-lowest: #0f0f1a;
5874
- --md3-surface-container-low: #222235;
5875
- --md3-surface-container: #2d2e43;
5876
- --md3-surface-container-high: #32324e;
5877
- --md3-surface-container-highest: #393957;
5878
- --md3-outline-variant: #474a6b;
5879
- --border-subtle: rgba(165, 180, 252, 0.10);
5880
- --border-default: rgba(165, 180, 252, 0.16);
5881
- --border-hover: rgba(165, 180, 252, 0.28);
5873
+ --md3-surface-container-lowest: #101010;
5874
+ --md3-surface-container-low: #242424;
5875
+ --md3-surface-container: #303030;
5876
+ --md3-surface-container-high: #353535;
5877
+ --md3-surface-container-highest: #3b3b3b;
5878
+ --md3-outline-variant: #4c4c4c;
5879
+ --border-subtle: rgba(255, 255, 255, 0.10);
5880
+ --border-default: rgba(255, 255, 255, 0.16);
5881
+ --border-hover: rgba(255, 255, 255, 0.28);
5882
5882
  --accent-text: #A5B4FC;
5883
5883
  --brand-primary: #7C6CF6;
5884
5884
  --brand-glow: #A5AAFC;
5885
- --text-primary: #e3e6ed;
5886
- --text-secondary: #c2c7d4;
5887
- --text-muted: #b2b4c7;
5888
- --text-dim: #9ea5b9;
5885
+ --text-primary: #e6e6e6;
5886
+ --text-secondary: #c7c7c7;
5887
+ --text-muted: #b5b5b5;
5888
+ --text-dim: #a5a5a5;
5889
5889
  }
5890
5890
  [data-theme="tangle-light"] {
5891
5891
  --hsl-background: 240 33% 98%;
package/dist/tokens.css CHANGED
@@ -3,7 +3,7 @@
3
3
  * The surface ladder is NEUTRAL GREY and the indigo is trim — accent, never
4
4
  * field. It steps in even lightness increments so a card, a nested panel and an
5
5
  * overlay each read as a distinct plane by their own fill, and carries a crisp
6
- * hairline (1.6:1 against the card in dark) because shadow does no work on a dark
6
+ * hairline (1.5:1 against the card in dark) because shadow does no work on a dark
7
7
  * canvas. Light mirrors it: white paper on a grey canvas, never white-on-white.
8
8
  *
9
9
  * Apps consume this spine as-is. If a product needs its own accent identity,
@@ -22,35 +22,34 @@
22
22
  * an indigo page, and the eye stops finding them. Neutral planes give the brand
23
23
  * a field to sit on, so a single accent does all the signalling.
24
24
  *
25
- * The canvas sits OFF pure black (#151523). A near-black page under near-white
26
- * ink is the glare end of the range, and it is the reading surface for long
27
- * sessions.
25
+ * The canvas stays above pure black (#161616). Near-white ink on it is the
26
+ * glare end of the range, so its luminance leaves room for distinct text tiers.
28
27
  *
29
28
  * Elevation is carried by surface lightness plus a hairline that can actually be
30
29
  * seen — a black shadow on a dark canvas renders as nothing, so shadow does no
31
- * work here. The hairline is 1.6:1 against the resting card — quiet by design,
30
+ * work here. The hairline is about 1.5:1 against the resting card — quiet by design,
32
31
  * enough to state an edge without drawing a box around every panel.
33
32
  */
34
33
  :root,
35
34
  [data-sandbox-ui],
36
35
  [data-theme="dark"],
37
36
  .dark {
38
- --md3-surface: #151523; /* L0 page canvas */
39
- --md3-surface-dim: #0f0f1a; /* recessed page */
40
- --md3-surface-bright: #393957;
37
+ --md3-surface: #161616; /* L0 page canvas */
38
+ --md3-surface-dim: #101010; /* recessed page */
39
+ --md3-surface-bright: #3b3b3b;
41
40
  /* Same value as --md3-surface-dim by design, not by drift: both name the floor
42
41
  * of the ladder, and dark has no plane below it to give them. They stay two
43
42
  * tokens because the roles diverge in light, where the well is paper (#ffffff)
44
- * and the recessed page is grey (#d9d9e6) — a consumer binding to the wrong one
43
+ * and the recessed page is grey (#dadada) — a consumer binding to the wrong one
45
44
  * there gets the wrong surface. */
46
- --md3-surface-container-lowest: #0f0f1a; /* L-1 terminal/code well */
47
- --md3-surface-container-low: #222235; /* L1 chrome, field wells */
48
- --md3-surface-container: #2d2e43; /* L2 resting card */
49
- --md3-surface-container-high: #32324e; /* L3 nested / hover */
50
- --md3-surface-container-highest: #393957; /* L4 overlay */
51
- --md3-surface-variant: #32324e;
52
- --md3-on-surface: #e3e6ed;
53
- --md3-on-surface-variant: #b2b4c7;
45
+ --md3-surface-container-lowest: #101010; /* L-1 terminal/code well */
46
+ --md3-surface-container-low: #242424; /* L1 chrome, field wells */
47
+ --md3-surface-container: #303030; /* L2 resting card */
48
+ --md3-surface-container-high: #353535; /* L3 nested / hover */
49
+ --md3-surface-container-highest: #3b3b3b; /* L4 overlay */
50
+ --md3-surface-variant: #353535;
51
+ --md3-on-surface: #e6e6e6;
52
+ --md3-on-surface-variant: #b5b5b5;
54
53
 
55
54
  --md3-primary: #A5B4FC;
56
55
  --md3-primary-dim: #7C6CF6;
@@ -67,8 +66,8 @@
67
66
  --md3-on-secondary-container: #E8E5FF;
68
67
 
69
68
  --md3-tertiary: #10B981;
70
- --md3-outline: #898da9;
71
- --md3-outline-variant: #474a6b;
69
+ --md3-outline: #8e8e8e;
70
+ --md3-outline-variant: #4c4c4c;
72
71
 
73
72
  --md3-error: #ff5277;
74
73
  --md3-error-dim: #eb2855;
@@ -82,37 +81,37 @@
82
81
  --md3-surface-tint: #A5B4FC;
83
82
 
84
83
  /* Semantic HSL bridge — the neutral-grey surface ladder */
85
- --hsl-background: 240 24% 11%; /* L0 canvas #151523 */
86
- /* 92% L, not pure white: near-white ink on the canvas is the glare end of the
87
- * range, and the tiers below it need room to separate. 91% holds 10.6:1 on the
88
- * card — AAA with headroom — and leaves four ink steps the eye can tell apart. */
89
- --hsl-foreground: 225 22% 91%; /* #e3e6ed */
90
- --hsl-card: 238 20% 22%; /* L2 card #2d2e43 */
91
- --hsl-card-foreground: 225 22% 91%;
92
- --hsl-popover: 239 22% 25%; /* L3 #32324e — the NESTED plane despite
84
+ --hsl-background: 0 0% 8.6275%; /* L0 canvas #161616 */
85
+ /* Near-white ink on the canvas is the glare end of the range, and the tiers
86
+ * below it need room to separate. This neutral ink keeps the original 10.6:1
87
+ * contrast on the card and leaves four steps the eye can tell apart. */
88
+ --hsl-foreground: 0 0% 90.1961%; /* #e6e6e6 */
89
+ --hsl-card: 0 0% 18.8235%; /* L2 card #303030 */
90
+ --hsl-card-foreground: 0 0% 90.1961%;
91
+ --hsl-popover: 0 0% 20.7843%; /* L3 #353535 — the NESTED plane despite
93
92
  the name; the overlay plane is --md3-surface-container-highest. A popover
94
93
  carries body text, and the ladder above L3 is reserved for planes that lift
95
94
  by shadow, so it sits on L3 and the ink ramp reaches it. */
96
- --hsl-popover-foreground: 225 22% 91%;
95
+ --hsl-popover-foreground: 0 0% 90.1961%;
97
96
  /* The fill indigo, NOT the bright one: `.btn-primary` puts white on this, and
98
97
  * #6366F1 carries white at only 4.47:1. This clears the floor at 7.4:1. The
99
98
  * bright indigo stays available for accent TEXT via --accent-text. */
100
99
  --hsl-primary: 246 54% 51%; /* #4c3fc6 */
101
100
  --hsl-primary-foreground: 0 0% 100%;
102
- --hsl-secondary: 239 22% 25%; /* L3 #32324e */
103
- --hsl-secondary-foreground: 225 22% 91%;
104
- --hsl-muted: 239 22% 25%; /* L3 hover well */
105
- --hsl-muted-foreground: 234 16% 74%; /* #b2b4c7 — high enough that the
101
+ --hsl-secondary: 0 0% 20.7843%; /* L3 #353535 */
102
+ --hsl-secondary-foreground: 0 0% 90.1961%;
103
+ --hsl-muted: 0 0% 20.7843%; /* L3 hover well */
104
+ --hsl-muted-foreground: 0 0% 70.9804%; /* #b5b5b5 — high enough that the
106
105
  reduced-opacity caption derivatives (/70, /60) still clear the large-text
107
106
  contrast floor against the L2 card. */
108
- --hsl-accent: 239 22% 25%; /* neutral hover (indigo lives in accent-surface-strong) */
109
- --hsl-accent-foreground: 225 22% 91%;
107
+ --hsl-accent: 0 0% 20.7843%; /* neutral hover (indigo lives in accent-surface-strong) */
108
+ --hsl-accent-foreground: 0 0% 90.1961%;
110
109
  --hsl-destructive: 348 74% 48%;
111
110
  --hsl-destructive-foreground: 0 0% 100%;
112
- /* Quiet on purpose: 1.6:1 against the resting card. Shadow does no work on a
111
+ /* Quiet on purpose: 1.5:1 against the resting card. Shadow does no work on a
113
112
  * dark canvas, so the hairline is what states where a plane ends. */
114
- --hsl-border: 236 20% 35%; /* #474a6b = --md3-outline-variant */
115
- --hsl-input: 240 24% 15%; /* recessed field well */
113
+ --hsl-border: 0 0% 29.8039%; /* #4c4c4c = --md3-outline-variant */
114
+ --hsl-input: 0 0% 12.1569%; /* recessed field well #1f1f1f */
116
115
  /* Brighter than --primary on purpose: the ring is NON-TEXT and has to clear
117
116
  * 3:1 against BOTH canvas and card. The fill indigo is tuned to carry white
118
117
  * text instead, so the two cannot be the same value. */
@@ -153,20 +152,20 @@
153
152
 
154
153
  /* Sidebar tokens — L1 chrome: one step BELOW the canvas here, so the nav reads
155
154
  * as chrome the content sits in front of rather than as another card. */
156
- --sidebar-background: 242 26% 8%; /* L1 chrome #0f0f1a */
157
- --sidebar-foreground: 225 22% 91%;
155
+ --sidebar-background: 0 0% 6.2745%; /* L1 chrome #101010 */
156
+ --sidebar-foreground: 0 0% 90.1961%;
158
157
  --sidebar-primary: 246 54% 51%;
159
158
  --sidebar-primary-foreground: 0 0% 100%;
160
- --sidebar-accent: 239 22% 25%; /* L3 hover well */
161
- --sidebar-accent-foreground: 225 22% 91%;
162
- --sidebar-border: 236 20% 35%;
159
+ --sidebar-accent: 0 0% 20.7843%; /* L3 hover well */
160
+ --sidebar-accent-foreground: 0 0% 90.1961%;
161
+ --sidebar-border: 0 0% 29.8039%;
163
162
  --sidebar-ring: 233 100% 87%;
164
163
 
165
164
  /* Depth scale — tracks the MD3 ladder (canvas / card / nested / overlay) */
166
- --depth-1: #151523;
167
- --depth-2: #2d2e43;
168
- --depth-3: #32324e;
169
- --depth-4: #393957;
165
+ --depth-1: #161616;
166
+ --depth-2: #303030;
167
+ --depth-3: #353535;
168
+ --depth-4: #3b3b3b;
170
169
 
171
170
  /* Status colors */
172
171
  --status-running: #10B981;
@@ -252,7 +251,7 @@
252
251
  --accent-text: #A5B4FC;
253
252
 
254
253
  /* Surfaces — solid fills off the ladder (no radial mesh) */
255
- --bg-root: #151523;
254
+ --bg-root: #161616;
256
255
  --bg-dark: var(--depth-1);
257
256
  --bg-card: var(--depth-2);
258
257
  --bg-elevated: var(--depth-4);
@@ -262,7 +261,7 @@
262
261
  --bg-selection: rgba(124, 108, 246, 0.28);
263
262
 
264
263
  /* Text — neutral */
265
- /* Four steps the eye can actually separate: 10.6 / 7.8 / 6.5 / 5.4 against the
264
+ /* Four steps the eye can actually separate: 10.6 / 7.8 / 6.4 / 5.4 against the
266
265
  * L2 card. --text-dim is the faintest tier but it is still TEXT, so it clears
267
266
  * the 4.5:1 body floor rather than only the 3:1 large-text one.
268
267
  *
@@ -274,10 +273,10 @@
274
273
  * card, the chrome and the canvas are fixed points. tokens.test.ts asserts
275
274
  * every tier on every plane, so a retune cannot open a gap on one plane while
276
275
  * looking correct on another. */
277
- --text-primary: #e3e6ed;
278
- --text-secondary: #c2c7d4;
279
- --text-muted: #b2b4c7;
280
- --text-dim: #9ea5b9;
276
+ --text-primary: #e6e6e6;
277
+ --text-secondary: #c7c7c7;
278
+ --text-muted: #b5b5b5;
279
+ --text-dim: #a5a5a5;
281
280
 
282
281
  /* Brand accents — Tangle */
283
282
  --brand-primary: #7C6CF6;
@@ -292,9 +291,9 @@
292
291
  --brand-emerald: #10B981;
293
292
 
294
293
  /* Borders — neutral hairlines */
295
- --border-subtle: rgba(165, 180, 252, 0.10);
296
- --border-default: rgba(165, 180, 252, 0.16);
297
- --border-hover: rgba(165, 180, 252, 0.28);
294
+ --border-subtle: rgba(255, 255, 255, 0.10);
295
+ --border-default: rgba(255, 255, 255, 0.16);
296
+ --border-hover: rgba(255, 255, 255, 0.28);
298
297
  --border-accent: rgba(129, 140, 248, 0.35);
299
298
  --border-accent-hover: rgba(129, 140, 248, 0.50);
300
299
 
@@ -420,26 +419,26 @@
420
419
  [data-sandbox-theme="vault"],
421
420
  [data-theme="light"],
422
421
  .light {
423
- /* Light theme — clean professional, warm purple accents */
422
+ /* Light theme — neutral surfaces with purple accents */
424
423
 
425
424
  /* MD3 surface hierarchy */
426
425
  /* The light ladder ALTERNATES; it is not monotonic, and that is deliberate.
427
- * On a tinted canvas, a raised plane is PAPER (white) and a recessed one is a
428
- * tinted WELL. So card and overlay are both white and separate from each other
426
+ * On a neutral canvas, a raised plane is PAPER (white) and a recessed one is a
427
+ * neutral WELL. So card and overlay are both white and separate from each other
429
428
  * by shadow and ring, not by fill — which is how light-mode elevation actually
430
429
  * reads. Forcing a strictly-darkening ladder here is what produced the
431
430
  * white-on-white flatness this palette replaced. Pinned in tokens.test.ts. */
432
- --md3-surface: #e9e9f1; /* L0 page canvas — neutral grey, BELOW the wells */
433
- --md3-surface-dim: #d9d9e6;
431
+ --md3-surface: #eaeaea; /* L0 page canvas — neutral grey, BELOW the wells */
432
+ --md3-surface-dim: #dadada;
434
433
  --md3-surface-bright: #ffffff;
435
434
  --md3-surface-container-lowest: #ffffff; /* insets read as paper */
436
- --md3-surface-container-low: #f7f7fa; /* L1 chrome, field wells — well */
435
+ --md3-surface-container-low: #f7f7f7; /* L1 chrome, field wells — well */
437
436
  --md3-surface-container: #ffffff; /* L2 resting card — paper */
438
- --md3-surface-container-high: #f2f2f7; /* L3 nested / hover — well */
437
+ --md3-surface-container-high: #f2f2f2; /* L3 nested / hover — well */
439
438
  --md3-surface-container-highest: #ffffff; /* L4 overlay — paper + shadow */
440
- --md3-surface-variant: #f2f2f7;
441
- --md3-on-surface: #2b2c3e;
442
- --md3-on-surface-variant: #494b5d;
439
+ --md3-surface-variant: #f2f2f2;
440
+ --md3-on-surface: #2d2d2d;
441
+ --md3-on-surface-variant: #4c4c4c;
443
442
 
444
443
  --md3-primary: #3E349E;
445
444
  --md3-primary-dim: #352B88;
@@ -457,8 +456,8 @@
457
456
 
458
457
  --md3-tertiary: #065F46;
459
458
  --md3-tertiary-container: #D1FAE5;
460
- --md3-outline: #737696;
461
- --md3-outline-variant: #cecfde;
459
+ --md3-outline: #787878;
460
+ --md3-outline-variant: #d0d0d0;
462
461
 
463
462
  --md3-error: #ba1a1a;
464
463
  --md3-error-dim: #93000a;
@@ -471,35 +470,30 @@
471
470
  --md3-inverse-on-surface: #f0f1f4;
472
471
  --md3-surface-tint: #6366F1;
473
472
 
474
- /* Semantic HSL bridge — white paper on a neutral-grey canvas */
475
- --hsl-background: 240 24% 93%; /* L0 canvas #e9e9f1 */
476
- /* Ink, not black. Pure #0d0d0d on white paper measures 19.5:1 — a hair off the
477
- * 21:1 ceiling — and that maximum is what reads as glare rather than as
478
- * legibility. 20.5% L lands 13.7:1 on the card and 11.4:1 on the canvas: AAA with
479
- * headroom in both places, and a step the eye reads as text instead of as a
480
- * hole. */
481
- --hsl-foreground: 235 18% 20.5%; /* #2b2c3e */
473
+ /* Semantic HSL bridge — white paper on an achromatic canvas */
474
+ --hsl-background: 0 0% 91.7647%; /* L0 canvas #eaeaea */
475
+ /* Neutral ink rather than pure black keeps the original 13.7:1 contrast on
476
+ * white paper and 11.4:1 on the canvas: AAA with headroom in both places. */
477
+ --hsl-foreground: 0 0% 17.6471%; /* #2d2d2d */
482
478
  --hsl-card: 0 0% 100%; /* L2 card = white paper */
483
- --hsl-card-foreground: 235 18% 20.5%;
479
+ --hsl-card-foreground: 0 0% 17.6471%;
484
480
  --hsl-popover: 0 0% 100%;
485
- --hsl-popover-foreground: 235 18% 20.5%;
481
+ --hsl-popover-foreground: 0 0% 17.6471%;
486
482
  --hsl-primary: 246 54% 51%; /* #4c3fc6 — carries white at 7.4:1 */
487
483
  --hsl-primary-foreground: 0 0% 100%;
488
- --hsl-secondary: 240 26% 96%; /* L3 #f2f2f7 */
489
- --hsl-secondary-foreground: 235 18% 20.5%;
490
- --hsl-muted: 240 26% 96%; /* L3 hover well */
491
- /* 34% L: the shared components fade captions with /70 and /60, and a
492
- * translucent foreground renders as the token COMPOSITED over the plane behind
493
- * it. Against white paper that compositing is brutal — a lighter value puts the
494
- * /60 caption under the 3:1 large-text floor. This holds 3.0:1 there and 8.6:1
495
- * at full strength, still a clear step below the 13.7:1 body ink. */
496
- --hsl-muted-foreground: 235 12% 32.5%; /* #494b5d text-muted */
497
- --hsl-accent: 240 26% 96%; /* neutral hover */
498
- --hsl-accent-foreground: 235 18% 20.5%;
484
+ --hsl-secondary: 0 0% 94.902%; /* L3 #f2f2f2 */
485
+ --hsl-secondary-foreground: 0 0% 17.6471%;
486
+ --hsl-muted: 0 0% 94.902%; /* L3 hover well */
487
+ /* The shared components fade captions with /70 and /60, so a translucent
488
+ * foreground renders composited over the surface behind it. This neutral value
489
+ * keeps 3.0:1 at /60 and 8.6:1 at full strength on paper. */
490
+ --hsl-muted-foreground: 0 0% 29.8039%; /* #4c4c4c text-muted */
491
+ --hsl-accent: 0 0% 94.902%; /* neutral hover */
492
+ --hsl-accent-foreground: 0 0% 17.6471%;
499
493
  --hsl-destructive: 0 72% 41%;
500
494
  --hsl-destructive-foreground: 0 0% 100%;
501
- --hsl-border: 238 20% 84%; /* #cecfde = --md3-outline-variant */
502
- --hsl-input: 240 30% 97%; /* field well */
495
+ --hsl-border: 0 0% 81.5686%; /* #d0d0d0 = --md3-outline-variant */
496
+ --hsl-input: 0 0% 96.0784%; /* field well #f5f5f5 */
503
497
  --hsl-ring: 246 54% 51%;
504
498
  --hsl-success: 160 84% 30%;
505
499
  --hsl-warning: 41 96% 50%;
@@ -508,9 +502,9 @@
508
502
  /* depth-2 (card) and depth-4 (elevated) are BOTH paper, on purpose: in light,
509
503
  * a popover does not out-lighten a white card — it lifts by shadow. See the
510
504
  * ladder note above. */
511
- --depth-1: #e9e9f1; /* canvas */
505
+ --depth-1: #eaeaea; /* canvas */
512
506
  --depth-2: #ffffff; /* card — paper */
513
- --depth-3: #f2f2f7; /* nested well */
507
+ --depth-3: #f2f2f2; /* nested well */
514
508
  --depth-4: #ffffff; /* elevated — paper, separated by shadow */
515
509
 
516
510
  --status-running: #059669;
@@ -579,12 +573,12 @@
579
573
 
580
574
  /* Sidebar — light, flat surface + hairline */
581
575
  --sidebar-background: 0 0% 100%; /* white paper */
582
- --sidebar-foreground: 235 18% 20.5%;
576
+ --sidebar-foreground: 0 0% 17.6471%;
583
577
  --sidebar-primary: 246 54% 51%; /* #4c3fc6 */
584
578
  --sidebar-primary-foreground: 0 0% 100%;
585
- --sidebar-accent: 240 26% 96%; /* L3 hover well */
586
- --sidebar-accent-foreground: 235 18% 20.5%;
587
- --sidebar-border: 238 20% 84%; /* = --md3-outline-variant */
579
+ --sidebar-accent: 0 0% 94.902%; /* L3 hover well */
580
+ --sidebar-accent-foreground: 0 0% 17.6471%;
581
+ --sidebar-border: 0 0% 81.5686%; /* = --md3-outline-variant */
588
582
  --sidebar-ring: 246 54% 51%;
589
583
 
590
584
  --mesh-teal: transparent;
@@ -592,7 +586,7 @@
592
586
  --mesh-blue: transparent;
593
587
 
594
588
  /* Surfaces — flat single-neutral light */
595
- --bg-root: #e9e9f1;
589
+ --bg-root: #eaeaea;
596
590
  --bg-dark: var(--depth-1);
597
591
  --bg-card: var(--depth-2);
598
592
  /* Paper, exactly like --bg-card: in light you cannot raise a plane by making it
@@ -606,19 +600,18 @@
606
600
  --bg-hover: rgba(76, 63, 198, 0.06);
607
601
  --bg-selection: rgba(76, 63, 198, 0.16);
608
602
 
609
- /* Mirrors the dark ramp's spacing: 13.7 / 10.5 / 8.6 / 5.6 against white paper.
610
- * Every step carries the 240 cast so the ink belongs to the palette.
603
+ /* Mirrors the dark ramp's spacing against white paper. The ink uses neutral
604
+ * grays so purple stays reserved for interaction accents.
611
605
  *
612
- * --text-dim is pinned from the CANVAS (#e9e9f1), not the white card: it is
613
- * the faintest tier, so the tinted L0 is the surface that binds it, and a
614
- * value chosen against paper alone sits under the 4.5:1 body floor there.
615
- * 4.6 on the canvas, 5.6 on the card — both floors are asserted in
606
+ * --text-dim is pinned from the CANVAS (#eaeaea), not the white card: it is
607
+ * the faintest tier, so the lighter L0 is the surface that binds it. Its 4.6:1
608
+ * canvas and 5.6:1 card contrasts clear the body-text floor, as asserted in
616
609
  * tokens.test.ts, because a ratio quoted in a comment drifts the moment a
617
610
  * surface moves and nothing catches it. */
618
- --text-primary: #2b2c3e;
619
- --text-secondary: #3d3e52;
620
- --text-muted: #494b5d;
621
- --text-dim: #65677b;
611
+ --text-primary: #2d2d2d;
612
+ --text-secondary: #3f3f3f;
613
+ --text-muted: #4c4c4c;
614
+ --text-dim: #686868;
622
615
 
623
616
  --brand-primary: #6366F1;
624
617
  --brand-strong: #2E2A5E;
@@ -631,9 +624,9 @@
631
624
  --brand-vibrant: #6366F1;
632
625
  --brand-emerald: #059669;
633
626
 
634
- --border-subtle: rgba(60, 52, 140, 0.10);
635
- --border-default: rgba(60, 52, 140, 0.14);
636
- --border-hover: rgba(60, 52, 140, 0.24);
627
+ --border-subtle: rgba(0, 0, 0, 0.10);
628
+ --border-default: rgba(0, 0, 0, 0.14);
629
+ --border-hover: rgba(0, 0, 0, 0.24);
637
630
  --border-accent: rgba(91, 78, 212, 0.18);
638
631
  --border-accent-hover: rgba(91, 78, 212, 0.35);
639
632
 
@@ -727,7 +720,7 @@
727
720
  * draws as a --chart-muted outline, the same mark as an unsolved attempt. No
728
721
  * categorical palette ships: identity is carried by direct labels.
729
722
  *
730
- * Contrast against the dark canvas (#151523) and white paper, checked with the
723
+ * Contrast against the dark canvas (#161616) and white paper, checked with the
731
724
  * dataviz palette validator and WCAG ratios:
732
725
  * ink 14.45 / 13.70, ink-muted 7.34 / 5.56, accent 6.05 / 7.41,
733
726
  * muted 5.54 / 4.41, grid 1.46 / 1.12 (recessive by design).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tangle-network/sandbox-ui",
3
- "version": "0.116.2",
3
+ "version": "0.116.4",
4
4
  "description": "Unified UI component library for Tangle Sandbox — primitives, chat, dashboard, terminal, editor, and workspace components",
5
5
  "repository": {
6
6
  "type": "git",
@@ -123,8 +123,8 @@
123
123
  "@hocuspocus/provider": ">=2.15.0 <5.0.0",
124
124
  "@nanostores/react": ">=0.8.4 <2.0.0",
125
125
  "@tangle-network/agent-interface": "^1.0.0 || ^2.0.0",
126
- "@tangle-network/brand": "^1.8.2",
127
- "@tangle-network/ui": "^11.11.1",
126
+ "@tangle-network/brand": "^1.9.0",
127
+ "@tangle-network/ui": "^11.11.4",
128
128
  "@tanstack/react-query": "^5.0.0",
129
129
  "@tiptap/core": ">=3.20.4 <4.0.0",
130
130
  "@tiptap/extension-collaboration": ">=3.20.4 <4.0.0",
@@ -208,8 +208,8 @@
208
208
  "@storybook/react-vite": "^10.6.0",
209
209
  "@tailwindcss/postcss": "^4.3.3",
210
210
  "@tangle-network/agent-interface": "2.13.1",
211
- "@tangle-network/brand": "^1.8.2",
212
- "@tangle-network/ui": "^11.11.1",
211
+ "@tangle-network/brand": "^1.9.0",
212
+ "@tangle-network/ui": "^11.11.4",
213
213
  "@tanstack/react-query": "^5.104.0",
214
214
  "@testing-library/dom": "^10.4.2",
215
215
  "@testing-library/jest-dom": "^7.0.1",