@tangle-network/sandbox-ui 0.17.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
- export { B as BillingBalance, a as BillingDashboard, b as BillingDashboardProps, c as BillingSubscription, d as BillingUsage, M as ModelInfo, e as ModelPicker, f as ModelPickerProps, g as ModelPickerVariant, P as PricingPage, h as PricingPageProps, i as PricingTier, T as TemplateCard, j as TemplateCardData, k as TemplateCardProps, U as UsageChart, l as UsageChartProps, m as UsageDataPoint, n as canonicalModelId, o as formatContext, p as formatPrice, q as formatPricing } from './template-card-Dufxl4hV.js';
3
+ export { B as BillingBalance, a as BillingDashboard, b as BillingDashboardProps, c as BillingSubscription, d as BillingUsage, M as ModelInfo, e as ModelPicker, f as ModelPickerProps, g as ModelPickerVariant, P as PricingPage, h as PricingPageProps, i as PricingTier, T as TemplateCard, j as TemplateCardData, k as TemplateCardProps, U as UsageChart, l as UsageChartProps, m as UsageDataPoint, n as canonicalModelId, o as formatContext, p as formatPrice, q as formatPricing } from './template-card-gf-InrfN.js';
4
4
 
5
5
  interface SidebarUser {
6
6
  email: string;
package/dist/dashboard.js CHANGED
@@ -55,7 +55,7 @@ import {
55
55
  formatContext,
56
56
  formatPrice,
57
57
  formatPricing
58
- } from "./chunk-27X3DWMO.js";
58
+ } from "./chunk-N5RYCDLD.js";
59
59
  import "./chunk-7ZA5SEK3.js";
60
60
  import "./chunk-EI44GEQ5.js";
61
61
  export {
package/dist/globals.css CHANGED
@@ -390,6 +390,9 @@
390
390
  max-width: 96rem;
391
391
  }
392
392
  }
393
+ .mx-1 {
394
+ margin-inline: calc(var(--spacing) * 1);
395
+ }
393
396
  .mx-2 {
394
397
  margin-inline: calc(var(--spacing) * 2);
395
398
  }
@@ -588,6 +591,9 @@
588
591
  .h-\[3px\] {
589
592
  height: 3px;
590
593
  }
594
+ .h-\[72\%\] {
595
+ height: 72%;
596
+ }
591
597
  .h-\[500px\] {
592
598
  height: 500px;
593
599
  }
@@ -624,6 +630,9 @@
624
630
  .min-h-\[2px\] {
625
631
  min-height: 2px;
626
632
  }
633
+ .min-h-\[44px\] {
634
+ min-height: 44px;
635
+ }
627
636
  .min-h-\[72px\] {
628
637
  min-height: 72px;
629
638
  }
@@ -708,6 +717,9 @@
708
717
  .w-48 {
709
718
  width: calc(var(--spacing) * 48);
710
719
  }
720
+ .w-64 {
721
+ width: calc(var(--spacing) * 64);
722
+ }
711
723
  .w-72 {
712
724
  width: calc(var(--spacing) * 72);
713
725
  }
@@ -717,6 +729,9 @@
717
729
  .w-\[3px\] {
718
730
  width: 3px;
719
731
  }
732
+ .w-\[72\%\] {
733
+ width: 72%;
734
+ }
720
735
  .w-\[260px\] {
721
736
  width: 260px;
722
737
  }
@@ -789,6 +804,9 @@
789
804
  .max-w-\[460px\] {
790
805
  max-width: 460px;
791
806
  }
807
+ .max-w-\[480px\] {
808
+ max-width: 480px;
809
+ }
792
810
  .max-w-md {
793
811
  max-width: var(--container-md);
794
812
  }
@@ -819,6 +837,9 @@
819
837
  .min-w-\[320px\] {
820
838
  min-width: 320px;
821
839
  }
840
+ .min-w-\[360px\] {
841
+ min-width: 360px;
842
+ }
822
843
  .flex-1 {
823
844
  flex: 1;
824
845
  }
@@ -1493,6 +1514,9 @@
1493
1514
  --tw-gradient-to: transparent;
1494
1515
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
1495
1516
  }
1517
+ .object-contain {
1518
+ object-fit: contain;
1519
+ }
1496
1520
  .p-0 {
1497
1521
  padding: calc(var(--spacing) * 0);
1498
1522
  }
@@ -2005,6 +2029,10 @@
2005
2029
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
2006
2030
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2007
2031
  }
2032
+ .shadow-xl {
2033
+ --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
2034
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2035
+ }
2008
2036
  .ring {
2009
2037
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
2010
2038
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -2148,6 +2176,12 @@
2148
2176
  outline-style: none;
2149
2177
  }
2150
2178
  }
2179
+ .placeholder\:font-normal {
2180
+ &::placeholder {
2181
+ --tw-font-weight: var(--font-weight-normal);
2182
+ font-weight: var(--font-weight-normal);
2183
+ }
2184
+ }
2151
2185
  .after\:absolute {
2152
2186
  &::after {
2153
2187
  content: var(--tw-content);
package/dist/index.d.ts CHANGED
@@ -4,11 +4,12 @@ export { CodeBlock as CodeBlockDisplay, Markdown, MarkdownProps } from '@tangle-
4
4
  export { AgentWorkbench, ApprovalConfidenceStat, ApprovalItem, ApprovalQueue, ApprovalQueueProps, AuditCheck, AuditResults, AuditResultsProps, BannerType, CalendarEvent, CalendarView, CalendarViewProps, ContextBadge, DirectoryPane, DirectoryPaneProps, FormAudit, RuntimePane, RuntimePaneProps, SandboxWorkbench, SandboxWorkbenchArtifact, SandboxWorkbenchCustomArtifact, SandboxWorkbenchFileArtifact, SandboxWorkbenchLayoutOptions, SandboxWorkbenchMarkdownArtifact, SandboxWorkbenchOpenUIArtifact, SandboxWorkbenchProps, SandboxWorkbenchSessionProps, SessionActivityMonitor, SessionActivityMonitorProps, SessionSidebar, SessionSidebarBadge, SessionSidebarFilter, SessionSidebarItem, SessionSidebarLink, SessionSidebarProps, StatusBanner, StatusBannerProps, StatusBar, StatusBarProps, TaskBoard, TaskBoardColumn, TaskBoardItem, TaskBoardProps, TerminalLine, TerminalPanel, TerminalProps, WorkspaceLayout, WorkspaceLayoutProps } from './workspace.js';
5
5
  export { OpenUIAction, OpenUIActionsNode, OpenUIArtifactRenderer, OpenUIArtifactRendererProps, OpenUIBadgeNode, OpenUICardNode, OpenUICodeNode, OpenUIComponentNode, OpenUIGridNode, OpenUIHeadingNode, OpenUIKeyValueNode, OpenUIMarkdownNode, OpenUIPrimitive, OpenUISeparatorNode, OpenUIStackNode, OpenUIStatNode, OpenUITableNode, OpenUITextNode } from '@tangle-network/ui/openui';
6
6
  export { AgentTimeline, AgentTimelineArtifactItem, AgentTimelineCustomItem, AgentTimelineItem, AgentTimelineMessageItem, AgentTimelineProps, AgentTimelineStatusItem, AgentTimelineTone, AgentTimelineToolGroupItem, AgentTimelineToolItem, ChatContainer, ChatContainerProps, ChatInput, ChatInputProps, ChatMessage, ChatMessageProps, MessageList, MessageListProps, MessageRole, PendingFile, ThinkingIndicator, ThinkingIndicatorProps, UserMessage, UserMessageProps } from '@tangle-network/ui/chat';
7
+ export { ArtifactAgentDock, ArtifactAgentDockProps, ArtifactAgentDockTransport, ArtifactDockMessage, ArtifactDockStreamEvent, ArtifactKind, ArtifactScope, DEFAULT_REASONING_LEVEL_OPTIONS, ReasoningLevel, ReasoningLevelOption, ReasoningLevelPicker, ReasoningLevelPickerProps, createFetchTransport } from './chat.js';
7
8
  export { ExpandedToolDetail, ExpandedToolDetailProps, InlineThinkingItem, InlineThinkingItemProps, InlineToolItem, InlineToolItemProps, LiveDuration, RunGroup, RunGroupProps } from '@tangle-network/ui/run';
8
9
  export { CommandPreview, DiffPreview, GlobResultsPreview, GrepResultsPreview, QuestionPreview, WebSearchPreview, WriteFilePreview } from '@tangle-network/ui/tool-previews';
9
10
  export { FileArtifactPane, FileArtifactPaneProps, FileNode, FilePreview, FilePreviewProps, FileTabData, FileTabs, FileTabsProps, FileTree, FileTreeProps, FileTreeVisibilityOptions, RichFileTree, RichFileTreeGitEntry, RichFileTreeGitStatus, RichFileTreeProps, RichFileTreeThemeVars, filterFileTree } from '@tangle-network/ui/files';
10
11
  export { Backend, BackendConfig, BackendConfigProps, BackendSelector, BackendSelectorProps, BackendStatusData, ClusterStatusBar, ClusterStatusBarProps, ClusterStatusItem, CreditBalance, CreditBalanceProps, DashboardLayout, DashboardLayoutProps, DashboardProfile, DashboardSnapshotInfo, DashboardUser, ExposedPort, GitCommitData, GitPanel, GitPanelProps, GitStatusData, HARNESS_OPTIONS, HarnessPicker, HarnessPickerProps, HarnessType, InfoPanel, InfoPanelProps, Invoice, InvoiceTable, InvoiceTableProps, McpServer, NavItem, NetworkConfig, NetworkConfigData, NetworkConfigProps, NewSandboxCard, NewSandboxCardProps, PlanCardData, PlanCards, PlanCardsProps, PlanFeature, PortsList, PortsListProps, ProcessInfo, ProcessList, ProcessListProps, ProductVariant, ProfileAvatar, ProfileAvatarProps, ProfileComparison, ProfileComparisonProps, ProfileSelector, ProfileSelectorProps, PromoBanner, PromoBannerProps, RailButton, RailButtonProps, RailModeButton, RailModeButtonProps, RailSeparator, RailSeparatorProps, ResourceMeter, ResourceMeterProps, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxCard, SandboxCardData, SandboxCardProps, SandboxStatus, SandboxTable, SandboxTableProps, Sidebar, SidebarContent, SidebarContentProps, SidebarPanel, SidebarPanelContent, SidebarPanelContentProps, SidebarPanelHeader, SidebarPanelHeaderProps, SidebarPanelProps, SidebarProps, SidebarProvider, SidebarProviderProps, SidebarRail, SidebarRailFooter, SidebarRailFooterProps, SidebarRailHeader, SidebarRailHeaderProps, SidebarRailNav, SidebarRailNavProps, SidebarRailProps, SidebarUser, SnapshotList, SnapshotListProps, SystemLogsViewer, SystemLogsViewerProps, TeamRole, UsageSummary, UsageSummaryData, UsageSummaryProps, Variant, VariantList, VariantListProps, VariantOutcome, VariantStatus, canAdminSandbox, useSidebar } from './dashboard.js';
11
- export { B as BillingBalance, a as BillingDashboard, b as BillingDashboardProps, c as BillingSubscription, d as BillingUsage, M as ModelInfo, e as ModelPicker, f as ModelPickerProps, g as ModelPickerVariant, P as PricingPage, h as PricingPageProps, i as PricingTier, T as TemplateCard, j as TemplateCardData, k as TemplateCardProps, U as UsageChart, l as UsageChartProps, m as UsageDataPoint, n as canonicalModelId, o as formatContext, p as formatPrice, q as formatPricing } from './template-card-Dufxl4hV.js';
12
+ export { B as BillingBalance, a as BillingDashboard, b as BillingDashboardProps, c as BillingSubscription, d as BillingUsage, M as ModelInfo, e as ModelPicker, f as ModelPickerProps, g as ModelPickerVariant, P as PricingPage, h as PricingPageProps, i as PricingTier, T as TemplateCard, j as TemplateCardData, k as TemplateCardProps, U as UsageChart, l as UsageChartProps, m as UsageDataPoint, n as canonicalModelId, o as formatContext, p as formatPrice, q as formatPricing } from './template-card-gf-InrfN.js';
12
13
  export { AuthHeader, AuthHeaderProps, GitHubLoginButton, GitHubLoginButtonProps, LoginLayout, LoginLayoutProps, SessionUser, UserMenu, UserMenuProps } from '@tangle-network/ui/auth';
13
14
  export { TangleLoginButton, TangleLoginButtonProps } from './auth.js';
14
15
  export { AgentStreamEvent, AppendUserMessageOptions, ApplySdkEventOptions, AuthUser, AutomationStreamEvent, BeginAssistantMessageOptions, BotStreamEvent, CompleteAssistantMessageOptions, RealtimeSessionOptions, RealtimeSessionRegistry, RealtimeSessionRegistryProps, RealtimeSessionState, RealtimeSessionTarget, SSEEvent, SdkSessionAttachment, SdkSessionEvent, SdkSessionSeed, TaskStreamEvent, TerminalStreamEvent, UseAuthOptions, UseAuthResult, UseRunGroupsOptions, UseSSEStreamOptions, UseSSEStreamResult, UseSdkSessionOptions, UseSdkSessionReturn, UseToolCallStreamReturn, createAuthFetcher, useApiKey, useAuth, useAutoScroll, useDropdownMenu, useLiveTime, useRealtimeSession, useRunCollapseState, useRunGroups, useSSEStream, useSdkSession, useToolCallStream } from '@tangle-network/ui/hooks';
package/dist/index.js CHANGED
@@ -88,13 +88,17 @@ import {
88
88
  } from "./chunk-CMY7W45U.js";
89
89
  import {
90
90
  AgentTimeline,
91
+ ArtifactAgentDock,
91
92
  ChatContainer,
92
93
  ChatInput,
93
94
  ChatMessage,
95
+ DEFAULT_REASONING_LEVEL_OPTIONS,
94
96
  MessageList,
97
+ ReasoningLevelPicker,
95
98
  ThinkingIndicator,
96
- UserMessage
97
- } from "./chunk-QPAJR74X.js";
99
+ UserMessage,
100
+ createFetchTransport
101
+ } from "./chunk-CNVE6KOM.js";
98
102
  import {
99
103
  ExpandedToolDetail,
100
104
  InlineThinkingItem,
@@ -187,7 +191,7 @@ import {
187
191
  formatContext,
188
192
  formatPrice,
189
193
  formatPricing
190
- } from "./chunk-27X3DWMO.js";
194
+ } from "./chunk-N5RYCDLD.js";
191
195
  import {
192
196
  Avatar,
193
197
  AvatarFallback,
@@ -298,6 +302,7 @@ export {
298
302
  AgentTimeline,
299
303
  AgentWorkbench,
300
304
  ApprovalQueue,
305
+ ArtifactAgentDock,
301
306
  ArtifactPane,
302
307
  AuditResults,
303
308
  AuthHeader,
@@ -325,6 +330,7 @@ export {
325
330
  CommandPreview,
326
331
  CopyButton,
327
332
  CreditBalance,
333
+ DEFAULT_REASONING_LEVEL_OPTIONS,
328
334
  DashboardLayout,
329
335
  Dialog,
330
336
  DialogClose,
@@ -396,6 +402,7 @@ export {
396
402
  RailModeButton,
397
403
  RailSeparator,
398
404
  RealtimeSessionRegistry,
405
+ ReasoningLevelPicker,
399
406
  ResourceMeter,
400
407
  RichFileTree,
401
408
  RunGroup,
@@ -489,6 +496,7 @@ export {
489
496
  connectSession,
490
497
  copyText,
491
498
  createAuthFetcher,
499
+ createFetchTransport,
492
500
  disconnectSession,
493
501
  filterFileTree,
494
502
  formatBytes,
package/dist/openui.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export { OpenUIAction, OpenUIActionsNode, OpenUIArtifactRenderer, OpenUIArtifactRendererProps, OpenUIBadgeNode, OpenUICardNode, OpenUICodeNode, OpenUIComponentNode, OpenUIGridNode, OpenUIHeadingNode, OpenUIKeyValueNode, OpenUIMarkdownNode, OpenUIPrimitive, OpenUISeparatorNode, OpenUIStackNode, OpenUIStatNode, OpenUITableNode, OpenUITextNode } from '@tangle-network/ui/openui';
2
- import '@tangle-network/ui/chat';
3
2
  import '@tangle-network/ui/run';
4
3
  import '@tangle-network/ui/files';
5
4
  import '@tangle-network/ui/utils';
package/dist/pages.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { c as BillingSubscription, B as BillingBalance, d as BillingUsage, m as UsageDataPoint, i as PricingTier, M as ModelInfo, j as TemplateCardData } from './template-card-Dufxl4hV.js';
2
+ import { c as BillingSubscription, B as BillingBalance, d as BillingUsage, m as UsageDataPoint, i as PricingTier, M as ModelInfo, j as TemplateCardData } from './template-card-gf-InrfN.js';
3
3
  import * as React from 'react';
4
4
 
5
5
  type ProductVariant$1 = "sandbox";
package/dist/pages.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  TemplateCard,
7
7
  UsageChart,
8
8
  canonicalModelId
9
- } from "./chunk-27X3DWMO.js";
9
+ } from "./chunk-N5RYCDLD.js";
10
10
  import {
11
11
  Badge,
12
12
  Button,
package/dist/styles.css CHANGED
@@ -390,6 +390,9 @@
390
390
  max-width: 96rem;
391
391
  }
392
392
  }
393
+ .mx-1 {
394
+ margin-inline: calc(var(--spacing) * 1);
395
+ }
393
396
  .mx-2 {
394
397
  margin-inline: calc(var(--spacing) * 2);
395
398
  }
@@ -588,6 +591,9 @@
588
591
  .h-\[3px\] {
589
592
  height: 3px;
590
593
  }
594
+ .h-\[72\%\] {
595
+ height: 72%;
596
+ }
591
597
  .h-\[500px\] {
592
598
  height: 500px;
593
599
  }
@@ -624,6 +630,9 @@
624
630
  .min-h-\[2px\] {
625
631
  min-height: 2px;
626
632
  }
633
+ .min-h-\[44px\] {
634
+ min-height: 44px;
635
+ }
627
636
  .min-h-\[72px\] {
628
637
  min-height: 72px;
629
638
  }
@@ -708,6 +717,9 @@
708
717
  .w-48 {
709
718
  width: calc(var(--spacing) * 48);
710
719
  }
720
+ .w-64 {
721
+ width: calc(var(--spacing) * 64);
722
+ }
711
723
  .w-72 {
712
724
  width: calc(var(--spacing) * 72);
713
725
  }
@@ -717,6 +729,9 @@
717
729
  .w-\[3px\] {
718
730
  width: 3px;
719
731
  }
732
+ .w-\[72\%\] {
733
+ width: 72%;
734
+ }
720
735
  .w-\[260px\] {
721
736
  width: 260px;
722
737
  }
@@ -789,6 +804,9 @@
789
804
  .max-w-\[460px\] {
790
805
  max-width: 460px;
791
806
  }
807
+ .max-w-\[480px\] {
808
+ max-width: 480px;
809
+ }
792
810
  .max-w-md {
793
811
  max-width: var(--container-md);
794
812
  }
@@ -819,6 +837,9 @@
819
837
  .min-w-\[320px\] {
820
838
  min-width: 320px;
821
839
  }
840
+ .min-w-\[360px\] {
841
+ min-width: 360px;
842
+ }
822
843
  .flex-1 {
823
844
  flex: 1;
824
845
  }
@@ -1493,6 +1514,9 @@
1493
1514
  --tw-gradient-to: transparent;
1494
1515
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
1495
1516
  }
1517
+ .object-contain {
1518
+ object-fit: contain;
1519
+ }
1496
1520
  .p-0 {
1497
1521
  padding: calc(var(--spacing) * 0);
1498
1522
  }
@@ -2005,6 +2029,10 @@
2005
2029
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
2006
2030
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2007
2031
  }
2032
+ .shadow-xl {
2033
+ --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
2034
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2035
+ }
2008
2036
  .ring {
2009
2037
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
2010
2038
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -2148,6 +2176,12 @@
2148
2176
  outline-style: none;
2149
2177
  }
2150
2178
  }
2179
+ .placeholder\:font-normal {
2180
+ &::placeholder {
2181
+ --tw-font-weight: var(--font-weight-normal);
2182
+ font-weight: var(--font-weight-normal);
2183
+ }
2184
+ }
2151
2185
  .after\:absolute {
2152
2186
  &::after {
2153
2187
  content: var(--tw-content);
@@ -30,7 +30,19 @@ interface ModelInfo {
30
30
  input_modalities?: string[];
31
31
  output_modalities?: string[];
32
32
  };
33
+ /** Hosting company or router that serves the request. Defaults to `_provider` / `provider`. */
34
+ hostProvider?: string;
35
+ /** Lab/company that authored the model. Inferred from model id/name when omitted. */
36
+ modelLab?: string;
37
+ /** Optional explicit logo keys when provider/lab ids are not stable. */
38
+ logos?: {
39
+ host?: ModelBrandKey;
40
+ lab?: ModelBrandKey;
41
+ hostUrl?: string;
42
+ labUrl?: string;
43
+ };
33
44
  }
45
+ type ModelBrandKey = "ai21" | "alibaba" | "anthropic" | "azure" | "bedrock" | "cartesia" | "cerebras" | "cohere" | "deepseek" | "elevenlabs" | "fal" | "fireworks" | "google" | "groq" | "kuaishou" | "luma" | "meta" | "mistral" | "moonshot" | "openai" | "openrouter" | "perplexity" | "pika" | "replicate" | "runway" | "stability" | "tangle" | "tcloud" | "together" | "vertex" | "xai" | "zai" | "unknown";
34
46
  type ModelPickerVariant = "field" | "pill";
35
47
  interface ModelPickerProps {
36
48
  /** Canonical model id (provider-prefixed, e.g. "openai/gpt-5.4"). */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tangle-network/sandbox-ui",
3
- "version": "0.17.0",
3
+ "version": "0.18.0",
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",
@@ -136,6 +136,7 @@
136
136
  }
137
137
  },
138
138
  "dependencies": {
139
+ "@lobehub/icons-static-svg": "^1.90.0",
139
140
  "@radix-ui/react-dropdown-menu": "^2.1.0",
140
141
  "@radix-ui/react-select": "^2.1.0",
141
142
  "lucide-react": "^0.469.0",