@tangle-network/sandbox-ui 0.125.2 → 0.126.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
- import { a as computeDiffStats, c as BRAND_PRISM_THEME, d as DiffStatsBadge, f as GitStatusBadge, i as buildUnifiedPatch, l as CodeSurface, m as PillTabs, n as SandboxArtifactPane, o as CodeView, p as PanelHeader, r as DiffView, s as FileBreadcrumb, t as ChangesPane, u as resolveLanguage } from "./workbench-DLQ07SoM.js";
2
- import { $ as PageShell, A as DropdownMenuContent, At as TabsList, B as DropdownMenuSubContent, Bt as ToastContainer, C as DialogOverlay, Ct as TableCell, D as DropZone, Dt as TableRow, E as DialogTrigger, Et as TableHeader, F as DropdownMenuRadioGroup, G as Heading, Gt as buttonVariants, H as DropdownMenuTrigger, Ht as Toolbar, I as DropdownMenuRadioItem, J as Input, Jt as useTheme, K as IconTile, Kt as initialsOf, L as DropdownMenuSeparator, Lt as TextShimmer, M as DropdownMenuItem, Mt as Tag, N as DropdownMenuLabel, O as DropdownMenu, Ot as Tabs, P as DropdownMenuPortal, Pt as TerminalDisplay, Q as PageHeader, Qt as TangleKnot, R as DropdownMenuShortcut, Rt as Textarea, S as DialogHeader, St as TableCaption, T as DialogTitle, Tt as TableHead, U as EmptyState, Ut as UploadProgress, V as DropdownMenuSubTrigger, Vt as ToastProvider, W as FilterField, Wt as badgeVariants, X as Metric, Xt as SectionTitle, Y as Label, Yt as useToast, Z as MetricStrip, Zt as Logo, _ as Dialog, _t as StatusPill, a as Badge, at as SelectItem, b as DialogDescription, bt as Table, c as Card, ct as SelectScrollUpButton, d as CardFooter, dt as SelectValue, et as Progress, f as CardHeader, ft as SidebarDropZone, g as CopyButton, gt as StatCard, h as CodeBlock, ht as SkeletonTable, i as AvatarImage, it as SelectGroup, j as DropdownMenuGroup, jt as TabsTrigger, k as DropdownMenuCheckboxItem, kt as TabsContent, l as CardContent, lt as SelectSeparator, m as Chip, mt as SkeletonCard, n as Avatar, nt as Select, o as Button, ot as SelectLabel, p as CardTitle, pt as Skeleton, q as InlineCode, qt as toneFor, r as AvatarFallback, rt as SelectContent, s as CATEGORY_TONES, st as SelectScrollDownButton, tt as SegmentedControl, u as CardDescription, ut as SelectTrigger, v as DialogClose, vt as Switch, w as DialogPortal, wt as TableFooter, x as DialogFooter, xt as TableBody, y as DialogContent, yt as TONE_CLASSES, z as DropdownMenuSub, zt as ThemeToggle } from "./primitives-DLE_MCwZ.js";
1
+ import { a as computeDiffStats, c as BRAND_PRISM_THEME, d as DiffStatsBadge, f as GitStatusBadge, i as buildUnifiedPatch, l as CodeSurface, m as PillTabs, n as SandboxArtifactPane, o as CodeView, p as PanelHeader, r as DiffView, s as FileBreadcrumb, t as ChangesPane, u as resolveLanguage } from "./workbench-BJlDJ8Cj.js";
2
+ import { $ as PageShell, A as DropdownMenuContent, At as TabsList, B as DropdownMenuSubContent, Bt as ToastContainer, C as DialogOverlay, Ct as TableCell, D as DropZone, Dt as TableRow, E as DialogTrigger, Et as TableHeader, F as DropdownMenuRadioGroup, G as Heading, Gt as buttonVariants, H as DropdownMenuTrigger, Ht as Toolbar, I as DropdownMenuRadioItem, J as Input, Jt as useTheme, K as IconTile, Kt as initialsOf, L as DropdownMenuSeparator, Lt as TextShimmer, M as DropdownMenuItem, Mt as Tag, N as DropdownMenuLabel, O as DropdownMenu, Ot as Tabs, P as DropdownMenuPortal, Pt as TerminalDisplay, Q as PageHeader, Qt as TangleKnot, R as DropdownMenuShortcut, Rt as Textarea, S as DialogHeader, St as TableCaption, T as DialogTitle, Tt as TableHead, U as EmptyState, Ut as UploadProgress, V as DropdownMenuSubTrigger, Vt as ToastProvider, W as FilterField, Wt as badgeVariants, X as Metric, Xt as SectionTitle, Y as Label, Yt as useToast, Z as MetricStrip, Zt as Logo, _ as Dialog, _t as StatusPill, a as Badge, at as SelectItem, b as DialogDescription, bt as Table, c as Card, ct as SelectScrollUpButton, d as CardFooter, dt as SelectValue, et as Progress, f as CardHeader, ft as SidebarDropZone, g as CopyButton, gt as StatCard, h as CodeBlock, ht as SkeletonTable, i as AvatarImage, it as SelectGroup, j as DropdownMenuGroup, jt as TabsTrigger, k as DropdownMenuCheckboxItem, kt as TabsContent, l as CardContent, lt as SelectSeparator, m as Chip, mt as SkeletonCard, n as Avatar, nt as Select, o as Button, ot as SelectLabel, p as CardTitle, pt as Skeleton, q as InlineCode, qt as toneFor, r as AvatarFallback, rt as SelectContent, s as CATEGORY_TONES, st as SelectScrollDownButton, tt as SegmentedControl, u as CardDescription, ut as SelectTrigger, v as DialogClose, vt as Switch, w as DialogPortal, wt as TableFooter, x as DialogFooter, xt as TableBody, y as DialogContent, yt as TONE_CLASSES, z as DropdownMenuSub, zt as ThemeToggle } from "./primitives-WP3v1yf0.js";
3
3
  import { t as WorkspacePaneHeader } from "./workspace-pane-header-Bg1cCcHX.js";
4
- import { C as WorkspaceLayout, S as DirectoryPane, _ as formatRelativeAge, a as TaskBoard, b as StatusBar, c as SandboxWorkbench, d as createShellShouldRevalidate, f as shellShouldRevalidate, g as useOptimisticSessionItems, h as dispatchSessionCreated, i as CalendarView, l as WorkspaceArtifactView, m as SESSION_CREATED_EVENT, n as WorkspaceFilesPane, o as AuditResults, p as SessionSidebar, r as ApprovalQueue, s as AgentWorkbench, t as ArtifactPane, u as SessionActivityMonitor, v as RuntimePane, x as StatusBanner, y as TerminalPanel } from "./workspace-CjeZTLPQ.js";
5
- import { $ as SidebarPanelHeader, A as SandboxStatusPill, B as ProfileAvatar, C as PlanCards, D as SandboxCard, E as NewSandboxCard, F as ClusterStatusBar, G as RailHeader, H as RailCollapseToggle, I as INSUFFICIENT_BALANCE_CODE, J as RailThemeToggle, K as RailModeButton, L as OutOfCreditsModal, M as ActivityFeed, N as ResourceSnapshot, O as canAdminSandbox, P as ResourceMeter, Q as SidebarPanelContent, R as parseInsufficientBalance, S as BackendSelector, T as SandboxTable, U as RailExpandable, V as RailButton, W as RailFlyout, X as SidebarContent, Y as Sidebar, Z as SidebarPanel, _ as HARNESS_OPTIONS, a as NetworkConfig, at as SIDEBAR_MOBILE_WIDTH, b as HARNESS_BRAND, c as GitPanel, ct as SIDEBAR_RAIL_WIDTH, d as VariantList, dt as useSidebar, et as SidebarRail, f as MetricAreaChart, g as DashboardLayout, h as SidebarLayout, i as BackendConfig, it as RailTooltip, j as sandboxStatus, k as SANDBOX_STATUS, l as UsageSummary, lt as SIDEBAR_TOTAL_WIDTH, m as ProfileSelector, n as PromoBanner, nt as SidebarRailHeader, o as ProcessList, ot as SIDEBAR_PANEL_WIDTH, p as ProfileComparison, q as RailSeparator, r as SnapshotList, rt as SidebarRailNav, s as PortsList, st as SIDEBAR_RAIL_LABELED_WIDTH, t as InfoPanel, tt as SidebarRailFooter, u as SystemLogsViewer, ut as SidebarProvider, v as HarnessPicker, w as InvoiceTable, x as HarnessLogo, y as chatCapableHarnesses, z as CreditBalance } from "./dashboard-Ce1Qy0Yv.js";
4
+ import { _ as StatusBar, a as TaskBoard, b as WorkspaceLayout, c as createShellShouldRevalidate, d as SESSION_CREATED_EVENT, f as dispatchSessionCreated, g as TerminalPanel, h as RuntimePane, i as CalendarView, l as shellShouldRevalidate, m as formatRelativeAge, n as WorkspaceFilesPane, o as SandboxWorkbench, p as useOptimisticSessionItems, r as ApprovalQueue, s as WorkspaceArtifactView, t as ArtifactPane, u as SessionSidebar, v as StatusBanner, y as DirectoryPane } from "./workspace-C68fk9qa.js";
5
+ import { $ as useSidebar, A as parseInsufficientBalance, B as SidebarPanel, C as SandboxStatusPill, D as ResourceMeter, E as ResourceSnapshot, F as RailHeader, G as SidebarRailNav, H as SidebarPanelHeader, I as RailModeButton, J as SIDEBAR_PANEL_WIDTH, K as RailTooltip, L as RailSeparator, M as RailButton, N as RailExpandable, O as INSUFFICIENT_BALANCE_CODE, P as RailFlyout, Q as SidebarProvider, R as Sidebar, S as SANDBOX_STATUS, T as ActivityFeed, U as SidebarRail, V as SidebarPanelContent, W as SidebarRailFooter, X as SIDEBAR_RAIL_WIDTH, Y as SIDEBAR_RAIL_LABELED_WIDTH, Z as SIDEBAR_TOTAL_WIDTH, _ as BackendSelector, a as PortsList, b as SandboxCard, c as SystemLogsViewer, d as DashboardLayout, f as HARNESS_OPTIONS, g as HarnessLogo, h as HARNESS_BRAND, i as TemplateCard, j as ProfileAvatar, k as OutOfCreditsModal, l as MetricAreaChart, m as chatCapableHarnesses, n as SnapshotList, o as GitPanel, p as HarnessPicker, q as SIDEBAR_MOBILE_WIDTH, r as ProcessList, s as UsageSummary, t as PromoBanner, u as SidebarLayout, v as SandboxTable, w as sandboxStatus, x as canAdminSandbox, y as NewSandboxCard, z as SidebarContent } from "./dashboard-TI-fPoih.js";
6
6
  import { n as canonicalModelId, r as modelBrandFor, t as ModelBrandStack } from "./model-brand-hMyDTUqB.js";
7
- import { a as PricingPage, i as UsageChart, n as SandboxPageShell, o as formatPrice, r as TemplateCard, s as BillingDashboard, t as DashboardPageHeader } from "./page-layout-DJV7cbxx.js";
7
+ import { a as formatPrice, i as PricingPage, n as SandboxPageShell, o as BillingDashboard, r as UsageChart, t as DashboardPageHeader } from "./page-layout-2IRtfx51.js";
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-CMRPEvon.js";
@@ -21,4 +21,4 @@ import { TOOL_CATEGORY_ICONS, cn, copyText, focusField, focusFieldInvalid, focus
21
21
  import { TerminalCursor as TerminalDisplayCursor, TerminalInput as TerminalDisplayInput, TerminalLine as TerminalDisplayLine } from "@tangle-network/ui/primitives";
22
22
  import { CodeBlock as CodeBlockDisplay, Markdown, getSanitizedMarkdownHeadingIdFromRawFragment } from "@tangle-network/ui/markdown";
23
23
  import { CommandPreview, DiffPreview, GlobResultsPreview, GrepResultsPreview, QuestionPreview, WebSearchPreview, WriteFilePreview } from "@tangle-network/ui/tool-previews";
24
- export { ActivityFeed, AgentMessagingConnection, AgentProfilePicker, AgentTimeline, AgentWorkbench, ApprovalQueue, ArtifactAgentDock, ArtifactPane, AuditResults, AuthHeader, Avatar, AvatarFallback, AvatarImage, BRAND_PRISM_THEME, BackendConfig, BackendSelector, Badge, BillingDashboard, Button, CATEGORY_TONES, CSV_PREVIEW_ROW_LIMIT, CalendarView, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChangesPane, ChatContainer, ChatMessage, Chip, ClusterStatusBar, CodeBlock, CodeBlockDisplay, CodeSurface, CodeView, CommandPreview, CopyButton, CreditBalance, DEFAULT_REASONING_LEVEL_OPTIONS, DashboardLayout, DashboardPageHeader, 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, Heading, INSUFFICIENT_BALANCE_CODE, IconTile, 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, PageHeader, PageShell, 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, SANDBOX_STATUS, SESSION_CREATED_EVENT, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_LABELED_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxArtifactPane, SandboxCard, SandboxPageShell, SandboxStatusPill, SandboxTable, SandboxWorkbench, SectionTitle, 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, TONE_CLASSES, TOOL_CATEGORY_ICONS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tag, TangleKnot, TangleLoginButton, TaskBoard, TemplateCard, TerminalDisplay, TerminalDisplayCursor, TerminalDisplayInput, TerminalDisplayLine, TerminalPanel, TextShimmer, Textarea, ThemeToggle, ThinkingIndicator, ToastContainer, ToastProvider, ToolCallFeed, Toolbar, UploadProgress, UsageChart, UsageSummary, UserMenu, UserMessage, VariantList, WebSearchPreview, WorkspaceArtifactView, WorkspaceFilesPane, 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, getSanitizedMarkdownHeadingIdFromRawFragment, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getSyntaxLanguage, getToolCategory, getToolDisplayMetadata, getToolErrorText, getTotalRunningSessionCount, hasBackgroundRunningSessions, initialsOf, isStreamingAtom, messagesAtom, modelBrandFor, modelProvider, parseCsv, parseInsufficientBalance, parseToolEvent, partMapAtom, registerActiveSession, resetActiveSessions, resolveFilePreviewKind, resolveLanguage, sandboxStatus, sessionAtom, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, shellShouldRevalidate, snapHarnessToModel, timeAgo, toneFor, 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 };
24
+ export { ActivityFeed, AgentMessagingConnection, AgentProfilePicker, AgentTimeline, ApprovalQueue, ArtifactAgentDock, ArtifactPane, AuthHeader, Avatar, AvatarFallback, AvatarImage, BRAND_PRISM_THEME, BackendSelector, Badge, BillingDashboard, Button, CATEGORY_TONES, CSV_PREVIEW_ROW_LIMIT, CalendarView, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChangesPane, ChatContainer, ChatMessage, Chip, CodeBlock, CodeBlockDisplay, CodeSurface, CodeView, CommandPreview, CopyButton, DEFAULT_REASONING_LEVEL_OPTIONS, DashboardLayout, DashboardPageHeader, 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, Heading, INSUFFICIENT_BALANCE_CODE, IconTile, InlineCode, InlineThinkingItem, InlineToolItem, Input, Label, LiveDuration, LoginLayout, Logo, Markdown, MessageList, Metric, MetricAreaChart, MetricStrip, ModelBrandStack, NewSandboxCard, OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, OpenUIArtifactRenderer, OutOfCreditsModal, PageHeader, PageShell, PanelHeader, PillTabs, PortsList, PreviewView, PricingPage, ProcessList, ProfileAvatar, Progress, PromoBanner, QuestionPreview, RailButton, RailExpandable, RailFlyout, RailHeader, RailModeButton, RailSeparator, RailTooltip, RealtimeSessionRegistry, ReasoningLevelPicker, ResourceMeter, ResourceSnapshot, RichFileTree, RunGroup, RunRowShell, RunRowStatusDot, RuntimePane, SANDBOX_STATUS, SESSION_CREATED_EVENT, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_LABELED_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxArtifactPane, SandboxCard, SandboxPageShell, SandboxStatusPill, SandboxTable, SandboxWorkbench, SectionTitle, SegmentedControl, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SessionSidebar, Sidebar, SidebarContent, SidebarDropZone, SidebarLayout, SidebarPanel, SidebarPanelContent, SidebarPanelHeader, SidebarProvider, SidebarRail, SidebarRailFooter, SidebarRailNav, Skeleton, SkeletonCard, SkeletonTable, SnapshotList, StatCard, StatusBanner, StatusBar, StatusPill, Switch, SystemLogsViewer, TONE_CLASSES, TOOL_CATEGORY_ICONS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tag, TangleKnot, TangleLoginButton, TaskBoard, TemplateCard, TerminalDisplay, TerminalDisplayCursor, TerminalDisplayInput, TerminalDisplayLine, TerminalPanel, TextShimmer, Textarea, ThemeToggle, ThinkingIndicator, ToastContainer, ToastProvider, ToolCallFeed, Toolbar, UploadProgress, UsageChart, UsageSummary, UserMenu, UserMessage, WebSearchPreview, WorkspaceArtifactView, WorkspaceFilesPane, 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, getSanitizedMarkdownHeadingIdFromRawFragment, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getSyntaxLanguage, getToolCategory, getToolDisplayMetadata, getToolErrorText, getTotalRunningSessionCount, hasBackgroundRunningSessions, initialsOf, isStreamingAtom, messagesAtom, modelBrandFor, modelProvider, parseCsv, parseInsufficientBalance, parseToolEvent, partMapAtom, registerActiveSession, resetActiveSessions, resolveFilePreviewKind, resolveLanguage, sandboxStatus, sessionAtom, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, shellShouldRevalidate, snapHarnessToModel, timeAgo, toneFor, 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 };
@@ -2,7 +2,7 @@ import { t as cn } from "./utils-DzWbktWG.js";
2
2
  import { Badge, Button, Card, CardContent, CardDescription, CardHeader, CardTitle, PageHeader, PageShell, Progress } from "@tangle-network/ui/primitives";
3
3
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
4
  import * as React$1 from "react";
5
- import { ArrowRight, Check, Zap } from "lucide-react";
5
+ import { Check, Zap } from "lucide-react";
6
6
  //#region src/dashboard/billing-dashboard.tsx
7
7
  const variantColors = { sandbox: {
8
8
  accent: "text-[var(--accent-text)]",
@@ -531,42 +531,6 @@ function UsageChart({ data, title, unit, className }) {
531
531
  });
532
532
  }
533
533
  //#endregion
534
- //#region src/dashboard/template-card.tsx
535
- function TemplateCard({ template, onUseTemplate, className }) {
536
- return /* @__PURE__ */ jsxs("div", {
537
- className: cn("group relative flex flex-col justify-between rounded-xl border border-[var(--md3-outline-variant)] bg-surface-container p-6 transition-colors hover:border-[var(--border-accent)]", className),
538
- children: [/* @__PURE__ */ jsxs("div", { children: [
539
- /* @__PURE__ */ jsx("div", {
540
- className: "mb-4 flex h-12 w-12 items-center justify-center rounded-xl bg-surface-container-high border border-[var(--md3-outline-variant)]",
541
- children: template.icon ?? /* @__PURE__ */ jsx("span", {
542
- className: "text-lg font-bold text-primary",
543
- children: template.name.charAt(0).toUpperCase()
544
- })
545
- }),
546
- /* @__PURE__ */ jsx("h3", {
547
- className: "mb-1 text-base font-bold text-foreground",
548
- children: template.name
549
- }),
550
- /* @__PURE__ */ jsx("p", {
551
- className: "text-sm text-muted-foreground leading-relaxed line-clamp-2",
552
- children: template.description
553
- }),
554
- template.tags && template.tags.length > 0 && /* @__PURE__ */ jsx("div", {
555
- className: "mt-3 flex flex-wrap gap-1.5",
556
- children: template.tags.map((tag, i) => /* @__PURE__ */ jsx("span", {
557
- className: "rounded-full bg-surface-container-high px-2 py-0.5 text-[10px] font-medium text-muted-foreground",
558
- children: tag
559
- }, `${tag}-${i}`))
560
- })
561
- ] }), /* @__PURE__ */ jsxs("button", {
562
- type: "button",
563
- onClick: () => onUseTemplate(template.id),
564
- className: "mt-5 inline-flex w-full items-center justify-center gap-2 rounded-xl bg-primary/10 border border-primary/20 px-4 py-2.5 text-sm font-bold text-primary transition-colors hover:bg-primary hover:text-primary-foreground active:scale-[0.98]",
565
- children: ["Use Template", /* @__PURE__ */ jsx(ArrowRight, { className: "h-4 w-4 transition-transform group-hover:translate-x-0.5" })]
566
- })]
567
- });
568
- }
569
- //#endregion
570
534
  //#region src/dashboard/page-layout.tsx
571
535
  /** Product page spacing; the generic UI PageShell remains an exact re-export. */
572
536
  function SandboxPageShell({ children, className }) {
@@ -584,4 +548,4 @@ function DashboardPageHeader({ title, description, actions, className }) {
584
548
  });
585
549
  }
586
550
  //#endregion
587
- export { PricingPage as a, UsageChart as i, SandboxPageShell as n, formatPrice as o, TemplateCard as r, BillingDashboard as s, DashboardPageHeader as t };
551
+ export { formatPrice as a, PricingPage as i, SandboxPageShell as n, BillingDashboard as o, UsageChart as r, DashboardPageHeader as t };
package/dist/pages.d.ts CHANGED
@@ -1,17 +1,17 @@
1
1
  import { r as ModelInfo } from "./model-brand-B9A4H9pJ.js";
2
- import { d as BillingBalance, h as BillingUsage, l as PricingTier, m as BillingSubscription, n as TemplateCardData, o as UsageDataPoint } from "./template-card-L-4gmjx2.js";
3
- import * as React$1 from "react";
2
+ import { c as BillingBalance, d as BillingSubscription, f as BillingUsage, o as PricingTier, r as UsageDataPoint } from "./usage-chart-BjM8ShvX.js";
3
+ import * as React$2 from "react";
4
4
  import { CSSProperties, ReactNode } from "react";
5
5
  //#region src/pages/auth-page.d.ts
6
6
  /**
7
7
  * Shared, self-contained sign-in / sign-up page for every Tangle vertical app.
8
8
  *
9
- * Ships its OWN palette (scoped CSS custom properties on the card) so it renders
10
- * identically in every app regardless of that app's theme tokens — the bug that
11
- * made per-app hand-rolled logins drift (e.g. a Tangle button rendering
12
- * dark-on-dark when an app didn't load the expected token sheet). Everything is
13
- * overridable via props for per-app customization (`accent`, `providers`, copy,
14
- * `className`/`style`).
9
+ * Paints from Brand's semantic tokens, so it follows the app's light, dark or
10
+ * named theme, and every token carries a light fallback, so an app that loads
11
+ * no token sheet still renders a complete light page (the bug that made per-app
12
+ * hand-rolled logins drift was a Tangle button rendering dark-on-dark when an
13
+ * app didn't load the expected token sheet). Everything is overridable via props
14
+ * for per-app customization (`accent`, `providers`, copy, `className`/`style`).
15
15
  *
16
16
  * Each app's login route becomes a thin wrapper:
17
17
  * export default () => <AuthPage product="Legal" tangleAuthUrl="/auth/tangle/start" />
@@ -47,10 +47,12 @@ interface AuthPageProps {
47
47
  collectName?: boolean;
48
48
  /** Footer link target for the opposite mode (signup from signin, vice versa). */
49
49
  altHref?: string;
50
- /** Primary (Tangle) button background. Default Tangle ink `#0f172a`. */
50
+ /** Primary (Tangle) button background. Default the theme's ink (`--foreground`), which inverts in dark mode. */
51
51
  accent?: string;
52
- /** Primary button hover background. Default `#1e293b`. */
52
+ /** Primary button hover background. Default the ink, or `accent`, at 88%. */
53
53
  accentHover?: string;
54
+ /** Primary button label colour. Default the theme's canvas (`--background`) on the default ink, white on a custom `accent`. */
55
+ accentForeground?: string;
54
56
  /** Optional brand-mark size in the lockup. Default "lg". */
55
57
  logoSize?: "sm" | "md" | "lg" | "xl";
56
58
  /** Escape hatch: extra class on the card. */
@@ -60,7 +62,7 @@ interface AuthPageProps {
60
62
  /** Optional node rendered above the footer (legal copy, SSO notice, etc.). */
61
63
  children?: ReactNode;
62
64
  }
63
- export declare function AuthPage({ product, tagline, mode, tangleAuthUrl, providers, socialHref, onEmailSubmit, collectName, altHref, accent, accentHover, logoSize, className, style, children }: AuthPageProps): import("react").JSX.Element;
65
+ export declare function AuthPage({ product, tagline, mode, tangleAuthUrl, providers, socialHref, onEmailSubmit, collectName, altHref, accent, accentHover, accentForeground, logoSize, className, style, children }: AuthPageProps): import("react").JSX.Element;
64
66
  //#endregion
65
67
  //#region src/pages/billing-page.d.ts
66
68
  type ProductVariant = "sandbox";
@@ -80,14 +82,14 @@ interface BillingPageProps {
80
82
  onSelectTier?: (tierId: string) => void;
81
83
  fetchBillingData?: () => Promise<BillingPageData>;
82
84
  }
83
- export declare function BillingPage({ variant, initialData, apiBasePath, onManageSubscription, onAddCredits, onSelectTier, fetchBillingData }: BillingPageProps): React$1.JSX.Element;
85
+ export declare function BillingPage({ variant, initialData, apiBasePath, onManageSubscription, onAddCredits, onSelectTier, fetchBillingData }: BillingPageProps): React$2.JSX.Element;
84
86
  //#endregion
85
- //#region src/pages/provisioning-wizard.d.ts
87
+ //#region src/pages/provisioning-types.d.ts
86
88
  interface EnvironmentOption {
87
89
  id: string;
88
90
  name: string;
89
91
  description: string;
90
- icon: React$1.ReactNode;
92
+ icon: React.ReactNode;
91
93
  color: string;
92
94
  }
93
95
  interface EnvironmentEntry {
@@ -106,12 +108,6 @@ interface PricingRates {
106
108
  diskPerGbHr: number;
107
109
  minChargePerHr?: number;
108
110
  }
109
- /**
110
- * Describes one selectable plan tier for the purpose of badging locked
111
- * presets with the *correct* upgrade target. Without this, every locked
112
- * preset shows "Pro" — wrong for a user who is already on Pro and whose
113
- * next step up is Enterprise.
114
- */
115
111
  interface PlanTierInfo {
116
112
  /** Stable id (e.g. "free" | "pro" | "enterprise") */
117
113
  id: string;
@@ -150,40 +146,6 @@ interface SshAccessConfig {
150
146
  */
151
147
  onRefreshKeys?: () => Promise<SshKeyOption[] | void>;
152
148
  }
153
- interface ProvisioningWizardProps {
154
- environments?: EnvironmentOption[];
155
- onLoadEnvironments?: () => Promise<EnvironmentEntry[]>;
156
- onSubmit?: (config: ProvisioningConfig) => void | Promise<void>;
157
- onBack?: () => void;
158
- className?: string;
159
- /**
160
- * @deprecated The wizard now always renders as a single scrolling page.
161
- * Kept for backwards compatibility — no longer changes the layout.
162
- */
163
- variant?: "flat" | "multistep";
164
- /** Pre-select an environment by ID (e.g. from a template link) */
165
- defaultEnvironment?: string;
166
- /** Pre-fill all form fields from a template preset */
167
- defaultConfig?: Partial<ProvisioningConfig>;
168
- /**
169
- * @deprecated No-op. The wizard no longer uses steps. Kept for
170
- * backwards compatibility.
171
- */
172
- skipToReview?: boolean;
173
- /** Load user's startup scripts for the advanced options selector */
174
- onLoadStartupScripts?: () => Promise<StartupScriptEntry[]>;
175
- /** Plan-based resource limits — caps the slider maximums */
176
- resourceLimits?: ResourceLimits;
177
- sshAccess?: SshAccessConfig;
178
- /** Real pricing rates from the API for accurate cost calculation */
179
- pricingRates?: PricingRates;
180
- /**
181
- * Ordered list of plan tiers (smallest to largest). When provided,
182
- * locked presets are badged with the label of the smallest tier that
183
- * would unlock them. Falls back to a generic "Pro" badge when omitted.
184
- */
185
- planTiers?: PlanTierInfo[];
186
- }
187
149
  interface StartupScriptEntry {
188
150
  id: string;
189
151
  name: string;
@@ -206,78 +168,6 @@ interface ProvisioningConfig {
206
168
  bare: boolean;
207
169
  startupScriptIds?: string[];
208
170
  }
209
- export declare function resolveEnvironment(env: EnvironmentEntry): EnvironmentOption;
210
- export declare function ProvisioningWizard({ environments: environmentsProp, onLoadEnvironments, onSubmit, onBack, className, defaultEnvironment, defaultConfig, onLoadStartupScripts, resourceLimits, sshAccess, pricingRates, planTiers }: ProvisioningWizardProps): React$1.JSX.Element;
211
- //#endregion
212
- //#region src/pages/standalone-pricing-page.d.ts
213
- type ProductVariant$1 = "sandbox";
214
- interface StandalonePricingPageProps {
215
- variant?: ProductVariant$1;
216
- initialTiers?: PricingTier[];
217
- apiBasePath?: string;
218
- onSelectTier?: (tierId: string, billingPeriod: "monthly" | "yearly") => void;
219
- fetchTiers?: () => Promise<PricingTier[]>;
220
- title?: string;
221
- subtitle?: string;
222
- eyebrow?: string;
223
- className?: string;
224
- }
225
- export declare function StandalonePricingPage({ variant, initialTiers, apiBasePath, onSelectTier, fetchTiers, title, subtitle, eyebrow, className }: StandalonePricingPageProps): React$1.JSX.Element;
226
- //#endregion
227
- //#region src/pages/profiles-page.d.ts
228
- interface ProfileMetrics {
229
- total_runs: number;
230
- success_rate: number;
231
- avg_duration_ms: number;
232
- avg_tokens_used?: number;
233
- last_run_at?: string;
234
- }
235
- interface Profile {
236
- id: string;
237
- name: string;
238
- description?: string;
239
- extends?: string;
240
- model?: string;
241
- system_prompt?: string;
242
- instructions?: string[];
243
- tags?: string[];
244
- is_builtin?: boolean;
245
- is_public?: boolean;
246
- metrics?: ProfileMetrics;
247
- created_at?: string;
248
- updated_at?: string;
249
- }
250
- interface ProfileFormData {
251
- name: string;
252
- description?: string;
253
- extends?: string;
254
- model?: string;
255
- system_prompt?: string;
256
- instructions?: string[];
257
- tags?: string[];
258
- is_public?: boolean;
259
- }
260
- interface ProfilesPageProps {
261
- /** API client for profile operations */
262
- apiClient: {
263
- listProfiles: () => Promise<{
264
- builtin: Profile[];
265
- custom: Profile[];
266
- }>;
267
- createProfile: (data: ProfileFormData) => Promise<Profile>;
268
- updateProfile: (id: string, data: Partial<ProfileFormData>) => Promise<Profile>;
269
- deleteProfile: (id: string) => Promise<void>;
270
- };
271
- /** User's subscription tier for limit enforcement */
272
- tier?: "free" | "starter" | "pro" | "enterprise";
273
- /** Maximum profiles allowed for current tier */
274
- maxProfiles?: number;
275
- /** Callback when navigating to profile comparison */
276
- onCompareClick?: (profiles: Profile[]) => void;
277
- /** Custom page title */
278
- title?: string;
279
- }
280
- export declare function ProfilesPage({ apiClient, tier, maxProfiles, onCompareClick, title }: ProfilesPageProps): React$1.JSX.Element;
281
171
  //#endregion
282
172
  //#region src/pages/secrets-page.d.ts
283
173
  interface Secret {
@@ -301,7 +191,7 @@ interface SecretsPageProps {
301
191
  /** Page title. Defaults to "Environment Secrets". */
302
192
  title?: string;
303
193
  /** Text below the title. Defaults to the Sandbox environment-variable description. */
304
- description?: React$1.ReactNode;
194
+ description?: React$2.ReactNode;
305
195
  /** Explains where a new secret is used, in the create dialog. */
306
196
  createDescription?: string;
307
197
  /** Text in the empty state. */
@@ -322,16 +212,7 @@ interface SecretsPageProps {
322
212
  label?: string;
323
213
  };
324
214
  }
325
- export declare function SecretsPage({ apiClient, className, teamSecretsHint, title, description, createDescription, emptyDescription, deleteConsequence, variant }: SecretsPageProps): React$1.JSX.Element;
326
- //#endregion
327
- //#region src/pages/templates-page.d.ts
328
- interface TemplatesPageProps {
329
- templates: TemplateCardData[] | null;
330
- loading?: boolean;
331
- onUseTemplate: (templateId: string) => void;
332
- className?: string;
333
- }
334
- export declare function TemplatesPage({ templates, loading, onUseTemplate, className }: TemplatesPageProps): React$1.JSX.Element;
215
+ export declare function SecretsPage({ apiClient, className, teamSecretsHint, title, description, createDescription, emptyDescription, deleteConsequence, variant }: SecretsPageProps): React$2.JSX.Element;
335
216
  //#endregion
336
217
  //#region src/pages/startup-scripts-page.d.ts
337
218
  type ScriptType = "bash" | "python" | "node" | "ruby" | "custom";
@@ -386,11 +267,11 @@ interface StartupScriptsPageProps {
386
267
  apiClient: StartupScriptsApiClient;
387
268
  className?: string;
388
269
  }
389
- export declare function StartupScriptsPage({ apiClient, className }: StartupScriptsPageProps): React$1.JSX.Element;
270
+ export declare function StartupScriptsPage({ apiClient, className }: StartupScriptsPageProps): React$2.JSX.Element;
390
271
  //#endregion
391
272
  //#region src/lib/template-presets.d.ts
392
273
  type TemplateCategory = "blockchain" | "ai-ml" | "frontend" | "infrastructure" | "general";
393
274
  type TemplatePreset = Omit<ProvisioningConfig, "name" | "gitUrl" | "envVars" | "driver" | "startupScriptIds">;
394
275
  export declare function getPresetForTemplate(id: string): TemplatePreset;
395
276
  //#endregion
396
- export type { AuthPageProps, BillingPageData, BillingPageProps, EnvironmentEntry, EnvironmentOption, ModelInfo, PlanTierInfo, PricingRates, PricingTier, ProductVariant, Profile, ProfileFormData, ProfileMetrics, ProfilesPageProps, ProvisioningConfig, ProvisioningWizardProps, ResourceLimits, ScriptType, Secret, SecretsApiClient, SecretsPageProps, SocialProvider, SshAccessConfig, SshKeyOption, StandalonePricingPageProps, StartupScript, StartupScriptEntry, StartupScriptFormData, StartupScriptsApiClient, StartupScriptsPageProps, TemplateCategory, TemplatePreset, TemplatesPageProps };
277
+ export type { AuthPageProps, BillingPageData, BillingPageProps, EnvironmentEntry, EnvironmentOption, ModelInfo, PlanTierInfo, PricingRates, PricingTier, ProductVariant, ProvisioningConfig, ResourceLimits, ScriptType, Secret, SecretsApiClient, SecretsPageProps, SocialProvider, SshAccessConfig, SshKeyOption, StartupScript, StartupScriptEntry, StartupScriptFormData, StartupScriptsApiClient, StartupScriptsPageProps, TemplateCategory, TemplatePreset };