@tangle-network/sandbox-ui 1.1.8 → 2.0.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.
Files changed (39) hide show
  1. package/README.md +1 -1
  2. package/dist/{AgentGraph-DxAeQQch.d.ts → AgentGraph-B4uWLXlD.d.ts} +12 -17
  3. package/dist/AgentGraph-C1DsA-Rd.js +1369 -0
  4. package/dist/{AgentGraphCanvas-CMdOlSlh.js → AgentGraphCanvas-Bcxq-e6E.js} +557 -383
  5. package/dist/{WorkflowGraph-DZ3xejKE.js → WorkflowGraph-BDjc7V_U.js} +3 -2
  6. package/dist/canvas-theme-DGd0fm1H.js +58 -0
  7. package/dist/{chat-4OZD23RA.js → chat-BrlLa4rg.js} +2 -2
  8. package/dist/chat.d.ts +2 -2
  9. package/dist/chat.js +1 -1
  10. package/dist/{dashboard-ClKA3opr.js → dashboard-FMrtIe9S.js} +3 -3
  11. package/dist/dashboard.js +1 -1
  12. package/dist/globals.css +2366 -1801
  13. package/dist/{index-ucJHuuVZ.d.ts → index-5zOVKgDT.d.ts} +2 -2
  14. package/dist/index-BK8KKLNY.d.ts +26 -0
  15. package/dist/{index-72uBu5lu.d.ts → index-D9-IiEpQ.d.ts} +21 -6
  16. package/dist/index.d.ts +5 -6
  17. package/dist/index.js +8 -291
  18. package/dist/integrations.d.ts +2 -1
  19. package/dist/integrations.js +6 -1
  20. package/dist/latest-events-B34ElSTE.js +190 -0
  21. package/dist/{AgentGraph-DJEQrKTs.js → node-ui-Bfnh08U3.js} +40 -1194
  22. package/dist/primitives-CCdx5Hh_.js +23 -0
  23. package/dist/primitives.d.ts +2 -3
  24. package/dist/primitives.js +1 -2
  25. package/dist/{run-Qern6muT.js → run-BqpdpP1K.js} +161 -60
  26. package/dist/run.d.ts +2 -2
  27. package/dist/run.js +3 -1
  28. package/dist/styles.css +2366 -1801
  29. package/dist/tailwind.css +74 -60
  30. package/dist/tokens.css +452 -851
  31. package/dist/{workbench-DOgYO3Zg.js → workbench-BVnZNhP2.js} +1 -1
  32. package/dist/workbench.js +1 -1
  33. package/dist/workflows.d.ts +3 -7
  34. package/dist/workflows.js +2 -1
  35. package/package.json +11 -10
  36. package/dist/elk-loader-Dl9S7jQk.js +0 -12
  37. package/dist/index-BAEvGqrn.d.ts +0 -26
  38. package/dist/primitives-CiwDp4-0.js +0 -32
  39. package/dist/rolldown-runtime-782esTHO.js +0 -26
package/dist/index.js CHANGED
@@ -1,19 +1,19 @@
1
- import { n as __reExport, t as __exportAll } from "./rolldown-runtime-782esTHO.js";
2
- import { i as TangleKnot, n as SectionTitle, r as Logo, t as primitives_exports } from "./primitives-CiwDp4-0.js";
1
+ import { $ as ContextMenuShortcut, $n as TabsContent, $t as Popover, A as Card, An as SheetHeader, Ar as seriesAreaPath, At as DropdownMenuSubTrigger, B as CollapsibleContent, Bn as StatCard, Br as TangleKnot, Bt as HoverCardHeader, C as BreadcrumbLink, Cn as SettingsRow, Cr as fieldMessageId, Ct as DropdownMenuPortal, D as Button, Dn as SheetContent, Dr as normalizeSeries, Dt as DropdownMenuShortcut, E as BreadcrumbSeparator, En as SheetClose, Er as localToday, Et as DropdownMenuSeparator, F as CardTitle, Fn as SidebarDropZone, Fr as toneFor, Ft as Heading, G as ContextMenuContent, Gn as TableBody, Gt as Input, H as ComplianceBadge, Hn as Switch, Ht as HoverCardTrigger, I as Checkbox, In as Skeleton, Ir as useTheme, It as HelpText, J as ContextMenuLabel, Jn as TableFooter, Jt as MetricChart, K as ContextMenuGroup, Kn as TableCaption, Kt as Label, L as Chip, Ln as SkeletonCard, Lr as useToast, Lt as HoverCard, M as CardDescription, Mn as SheetPortal, Mr as seriesLinePath, Mt as EmptyState, N as CardFooter, Nn as SheetTitle, Nr as seriesMean, Nt as Field, O as CATEGORY_TONES, On as SheetDescription, Or as parseCalendarDate, Ot as DropdownMenuSub, P as CardHeader, Pn as SheetTrigger, Pr as seriesScale, Pt as FilterField, Q as ContextMenuSeparator, Qn as Tabs, Qt as Pagination, R as CodeBlock, Rn as SkeletonTable, Rr as SectionTitle, Rt as HoverCardContent, S as BreadcrumbItem, Sn as SettingsNote, Sr as buttonVariants, St as DropdownMenuLabel, T as BreadcrumbPage, Tn as Sheet, Tr as initialsOf, Tt as DropdownMenuRadioItem, U as ContextMenu, Un as TONE_CLASSES, Ut as IconTile, V as CollapsibleTrigger, Vn as StatusPill, Vt as HoverCardTitle, W as ContextMenuCheckboxItem, Wn as Table, Wt as InlineCode, X as ContextMenuRadioGroup, Xn as TableHeader, Xt as PageHeader, Y as ContextMenuPortal, Yn as TableHead, Yt as MetricStrip, Z as ContextMenuRadioItem, Zn as TableRow, Zt as PageShell, _ as AvatarFallback, _n as SelectValue, _r as TooltipTrigger, _t as DropdownMenu, a as AlertDialogCancel, an as RadioGroup, ar as TerminalInput, at as DatePicker, b as Breadcrumb, bn as SettingsList, br as WizardStep, bt as DropdownMenuGroup, c as AlertDialogFooter, cn as Select, cr as Textarea, ct as DialogContent, d as AlertDialogPortal, dn as SelectItem, dr as ToastContainer, dt as DialogHeader, en as PopoverAnchor, er as TabsList, et as ContextMenuSub, f as AlertDialogTitle, fn as SelectLabel, fr as ToastProvider, ft as DialogOverlay, g as Avatar, gn as SelectTrigger, gr as TooltipProvider, gt as DropZone, h as ArtifactPane, hn as SelectSeparator, hr as TooltipContent, ht as DialogTrigger, i as AlertDialogAction, in as Progress, ir as TerminalDisplay, it as CopyButton, j as CardContent, jn as SheetOverlay, jr as seriesExtent, jt as DropdownMenuTrigger, k as Calendar, kn as SheetFooter, kr as periodDelta, kt as DropdownMenuSubContent, l as AlertDialogHeader, ln as SelectContent, lr as ThemeToggle, lt as DialogDescription, m as AlertTitle, mn as SelectScrollUpButton, mr as Tooltip, mt as DialogTitle, n as AlertDescription, nn as PopoverContent, nr as Tag, nt as ContextMenuSubTrigger, o as AlertDialogContent, on as RadioGroupItem, or as TerminalLine, ot as Dialog, p as AlertDialogTrigger, pn as SelectScrollDownButton, pr as Toolbar, pt as DialogPortal, q as ContextMenuItem, qn as TableCell, qt as Metric, r as AlertDialog, rn as PopoverTrigger, rr as TerminalCursor, rt as ContextMenuTrigger, s as AlertDialogDescription, sn as SegmentedControl, sr as TextShimmer, st as DialogClose, t as Alert, tn as PopoverClose, tr as TabsTrigger, tt as ContextMenuSubContent, u as AlertDialogOverlay, un as SelectGroup, ur as TimeSelect, ut as DialogFooter, v as AvatarImage, vn as Separator, vr as UploadProgress, vt as DropdownMenuCheckboxItem, w as BreadcrumbList, wn as SettingsSection, wr as formatCalendarDate, wt as DropdownMenuRadioGroup, x as BreadcrumbEllipsis, xn as SettingsListItem, xr as badgeVariants, xt as DropdownMenuItem, y as Badge, yn as SeriesSparkline, yr as Wizard, yt as DropdownMenuContent, z as Collapsible, zn as Slider, zr as Logo, zt as HoverCardDescription } from "./primitives-CCdx5Hh_.js";
3
2
  import { i as WorkspacePaneHeader, n as SHELL_INSET_GUTTER, r as ShellHeader, t as SHELL_HEADER_HEIGHT } from "./shell-header-CwqDzC4I.js";
4
- import { C as WorkspaceSurfaceTitle, S as WorkspaceSurfaceFrame, _ 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, x as WorkspaceSurface, y as DirectoryPane } from "./workspace-CdcRUl-H.js";
3
+ import { C as WorkspaceSurfaceTitle, S as WorkspaceSurfaceFrame, _ 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, u as SessionSidebar, v as StatusBanner, x as WorkspaceSurface, y as DirectoryPane } from "./workspace-CdcRUl-H.js";
5
4
  import { i as VaultTree, n as filterFileNodes, r as VAULT_TREE_CHILD_PAGE, t as fileTreeFromPaths } from "./tree-data-C8CNt4WE.js";
6
- 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-ClKA3opr.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-FMrtIe9S.js";
7
6
  import { i as modelBrandFor, n as ProviderMark, r as canonicalModelId, t as ModelBrandStack } from "./model-brand-bTcMjQtB.js";
8
7
  import { a as formatPrice, i as PricingPage, n as SandboxPageShell, o as BillingDashboard, r as UsageChart, t as DashboardPageHeader } from "./page-layout-CuOpvZys.js";
9
8
  import { t as usePtySession } from "./use-pty-session-BHVQlSs-.js";
10
- import { a as DiffStatsBadge, c as PillTabs, i as FileBreadcrumb, n as SandboxArtifactPane, o as GitStatusBadge, r as CodeView, s as PanelHeader, t as ChangesPane } from "./workbench-DOgYO3Zg.js";
9
+ import { a as DiffStatsBadge, c as PillTabs, i as FileBreadcrumb, n as SandboxArtifactPane, o as GitStatusBadge, r as CodeView, s as PanelHeader, t as ChangesPane } from "./workbench-BVnZNhP2.js";
11
10
  import { CSV_PREVIEW_ROW_LIMIT, FileArtifactPane, FileCard, FileList, FilePreview, FileTabs, FileTree, PdfViewer, RichFileTree, configurePdfViewer, detectFileFormat, fileExtension, filterFileTree, getCodeLanguage, getFormatLabel, getSyntaxLanguage, parseCsv, resolveFilePreviewKind } from "./files.js";
12
11
  import { a as CodeSurface, i as CODE_THEME, n as buildUnifiedPatch, r as computeDiffStats, t as DiffView } from "./diff-view-B9mNeTLF.js";
13
12
  import { n as PreviewView, t as EmbeddedAppView } from "./embedded-app-view-DXsoPale.js";
14
13
  import { OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, OpenUIArtifactRenderer, findUnsupportedOpenUINode, validateOpenUIJsonArtifact, validateOpenUIJsonNode } from "./openui.js";
15
- import { a as MessageList, c as UserMessage, d as modelProvider, f as snapHarnessToModel, g as ReasoningLevelPicker, h as HARNESS_REASONING_OPTIONS, i as MessageAuthor, l as isViewerMessage, m as DEFAULT_REASONING_LEVEL_OPTIONS, n as ChatContainer, o as TRANSCRIPT_TEXT, p as AgentProfilePicker, r as ChatMessage, s as ThinkingIndicator, t as AgentTimeline, u as ArtifactAgentDock } from "./chat-4OZD23RA.js";
16
- import { _ as TraceWorkspace, a as InlineToolItem, b as TraceWaterfall, c as RunPhaseList, d as TaskList, f as ToolCallFeed, g as taskStatus, h as taskProgress, i as InlineThinkingItem, l as RunRowShell, m as showsTaskPriority, n as ApprovalDiffSummary, o as LiveDuration, p as parseToolEvent, r as ExpandedToolDetail, s as RunGroup, t as ApprovalCard, u as RunRowStatusDot, v as foldAgentRows, x as traceSpanMark, y as useAgentStream } from "./run-Qern6muT.js";
14
+ import { S as ReasoningLevelPicker, _ as modelProvider, a as ChatMessage, b as DEFAULT_REASONING_LEVEL_OPTIONS, c as SpeakerHeader, d as UserMessage, f as agentTimelineStepKind, g as ArtifactAgentDock, h as partitionBySpeaker, i as ChatContainer, l as TRANSCRIPT_TEXT, m as isViewerMessage, n as AgentTimelineColumn, o as MessageAuthor, p as foldSummary, r as AgentTimelineStep, s as MessageList, t as AgentTimeline, u as ThinkingIndicator, v as snapHarnessToModel, x as HARNESS_REASONING_OPTIONS, y as AgentProfilePicker } from "./chat-BrlLa4rg.js";
15
+ import { C as TraceWaterfall, S as useAgentStream, _ as statusMeta, a as InlineToolItem, b as TraceWorkspace, c as RunPhaseList, d as RunStatusIcon, f as TaskList, g as showsTaskPriority, h as runStatus, i as InlineThinkingItem, l as RunRowShell, m as parseToolEvent, n as ApprovalDiffSummary, o as LiveDuration, p as ToolCallFeed, r as ExpandedToolDetail, s as RunGroup, t as ApprovalCard, u as RunRowStatusDot, v as taskProgress, w as traceSpanMark, x as foldAgentRows, y as taskStatus } from "./run-BqpdpP1K.js";
16
+ import { t as LatestEvents } from "./latest-events-B34ElSTE.js";
17
17
  import "./vault-tree.js";
18
18
  import { a as TangleLoginButton, i as UserMenu, n as GitHubLoginButton, r as LoginLayout, t as AuthHeader } from "./auth-BDpoZ_2f.js";
19
19
  import { t as AgentMessagingConnection } from "./connections-DymjzHe_.js";
@@ -25,287 +25,4 @@ import { TOOL_CATEGORY_ICONS, cn, copyText, focusField, focusFieldInvalid, focus
25
25
  import { TerminalCursor as TerminalDisplayCursor, TerminalInput as TerminalDisplayInput, TerminalLine as TerminalDisplayLine } from "@tangle-network/ui/primitives";
26
26
  import { ApiSchema, CodeBlock as CodeBlockDisplay, Markdown, codeBlockGrammar, fenceInfo, getSanitizedMarkdownHeadingIdFromRawFragment, numericColumns, tableCsv } from "@tangle-network/ui/markdown";
27
27
  import { CommandPreview, DiffPreview, GlobResultsPreview, GrepResultsPreview, QuestionPreview, WebSearchPreview, WriteFilePreview } from "@tangle-network/ui/tool-previews";
28
- export * from "@tangle-network/ui/primitives";
29
- __reExport(/* @__PURE__ */ __exportAll({
30
- ActivityFeed: () => ActivityFeed,
31
- AgentMessagingConnection: () => AgentMessagingConnection,
32
- AgentProfilePicker: () => AgentProfilePicker,
33
- AgentTimeline: () => AgentTimeline,
34
- ApiSchema: () => ApiSchema,
35
- ApprovalCard: () => ApprovalCard,
36
- ApprovalDiffSummary: () => ApprovalDiffSummary,
37
- ApprovalQueue: () => ApprovalQueue,
38
- ArtifactAgentDock: () => ArtifactAgentDock,
39
- ArtifactPane: () => ArtifactPane,
40
- AuthHeader: () => AuthHeader,
41
- BackendSelector: () => BackendSelector,
42
- BillingDashboard: () => BillingDashboard,
43
- CODE_THEME: () => CODE_THEME,
44
- CSV_PREVIEW_ROW_LIMIT: () => CSV_PREVIEW_ROW_LIMIT,
45
- CalendarView: () => CalendarView,
46
- ChangesPane: () => ChangesPane,
47
- ChatContainer: () => ChatContainer,
48
- ChatMessage: () => ChatMessage,
49
- CodeBlockDisplay: () => CodeBlockDisplay,
50
- CodeSurface: () => CodeSurface,
51
- CodeView: () => CodeView,
52
- CommandPreview: () => CommandPreview,
53
- DEFAULT_REASONING_LEVEL_OPTIONS: () => DEFAULT_REASONING_LEVEL_OPTIONS,
54
- DashboardLayout: () => DashboardLayout,
55
- DashboardPageHeader: () => DashboardPageHeader,
56
- DiffPreview: () => DiffPreview,
57
- DiffStatsBadge: () => DiffStatsBadge,
58
- DiffView: () => DiffView,
59
- DirectoryPane: () => DirectoryPane,
60
- EmbeddedAppView: () => EmbeddedAppView,
61
- ExpandedToolDetail: () => ExpandedToolDetail,
62
- FileArtifactPane: () => FileArtifactPane,
63
- FileBreadcrumb: () => FileBreadcrumb,
64
- FileCard: () => FileCard,
65
- FileList: () => FileList,
66
- FilePreview: () => FilePreview,
67
- FileTabs: () => FileTabs,
68
- FileTree: () => FileTree,
69
- GitHubLoginButton: () => GitHubLoginButton,
70
- GitPanel: () => GitPanel,
71
- GitStatusBadge: () => GitStatusBadge,
72
- GlobResultsPreview: () => GlobResultsPreview,
73
- GrepResultsPreview: () => GrepResultsPreview,
74
- HARNESS_BRAND: () => HARNESS_BRAND,
75
- HARNESS_OPTIONS: () => HARNESS_OPTIONS,
76
- HARNESS_REASONING_OPTIONS: () => HARNESS_REASONING_OPTIONS,
77
- HarnessLogo: () => HarnessLogo,
78
- HarnessPicker: () => HarnessPicker,
79
- INSUFFICIENT_BALANCE_CODE: () => INSUFFICIENT_BALANCE_CODE,
80
- InlineThinkingItem: () => InlineThinkingItem,
81
- InlineToolItem: () => InlineToolItem,
82
- LiveDuration: () => LiveDuration,
83
- LoginLayout: () => LoginLayout,
84
- Logo: () => Logo,
85
- Markdown: () => Markdown,
86
- MessageAuthor: () => MessageAuthor,
87
- MessageList: () => MessageList,
88
- MetricAreaChart: () => MetricAreaChart,
89
- ModelBrandStack: () => ModelBrandStack,
90
- NewSandboxCard: () => NewSandboxCard,
91
- OPENUI_NODE_JSON_SCHEMA: () => OPENUI_NODE_JSON_SCHEMA,
92
- OPENUI_NODE_TYPES: () => OPENUI_NODE_TYPES,
93
- OpenUIArtifactRenderer: () => OpenUIArtifactRenderer,
94
- OutOfCreditsModal: () => OutOfCreditsModal,
95
- PanelHeader: () => PanelHeader,
96
- PdfViewer: () => PdfViewer,
97
- PillTabs: () => PillTabs,
98
- PortsList: () => PortsList,
99
- PreviewView: () => PreviewView,
100
- PricingPage: () => PricingPage,
101
- ProcessList: () => ProcessList,
102
- ProfileAvatar: () => ProfileAvatar,
103
- PromoBanner: () => PromoBanner,
104
- ProviderMark: () => ProviderMark,
105
- QuestionPreview: () => QuestionPreview,
106
- RailButton: () => RailButton,
107
- RailExpandable: () => RailExpandable,
108
- RailFlyout: () => RailFlyout,
109
- RailHeader: () => RailHeader,
110
- RailModeButton: () => RailModeButton,
111
- RailSeparator: () => RailSeparator,
112
- RailTooltip: () => RailTooltip,
113
- RealtimeSessionRegistry: () => RealtimeSessionRegistry,
114
- ReasoningLevelPicker: () => ReasoningLevelPicker,
115
- ResourceMeter: () => ResourceMeter,
116
- ResourceSnapshot: () => ResourceSnapshot,
117
- RichFileTree: () => RichFileTree,
118
- RunGroup: () => RunGroup,
119
- RunPhaseList: () => RunPhaseList,
120
- RunRowShell: () => RunRowShell,
121
- RunRowStatusDot: () => RunRowStatusDot,
122
- RuntimePane: () => RuntimePane,
123
- SANDBOX_STATUS: () => SANDBOX_STATUS,
124
- SESSION_CREATED_EVENT: () => SESSION_CREATED_EVENT,
125
- SHELL_HEADER_HEIGHT: () => SHELL_HEADER_HEIGHT,
126
- SHELL_INSET_GUTTER: () => SHELL_INSET_GUTTER,
127
- SIDEBAR_MOBILE_WIDTH: () => 256,
128
- SIDEBAR_PANEL_WIDTH: () => 268,
129
- SIDEBAR_RAIL_LABELED_WIDTH: () => 248,
130
- SIDEBAR_RAIL_WIDTH: () => 56,
131
- SIDEBAR_TOTAL_WIDTH: () => 324,
132
- SandboxArtifactPane: () => SandboxArtifactPane,
133
- SandboxCard: () => SandboxCard,
134
- SandboxPageShell: () => SandboxPageShell,
135
- SandboxStatusPill: () => SandboxStatusPill,
136
- SandboxTable: () => SandboxTable,
137
- SandboxWorkbench: () => SandboxWorkbench,
138
- SectionTitle: () => SectionTitle,
139
- SessionSidebar: () => SessionSidebar,
140
- ShellHeader: () => ShellHeader,
141
- Sidebar: () => Sidebar,
142
- SidebarContent: () => SidebarContent,
143
- SidebarLayout: () => SidebarLayout,
144
- SidebarPanel: () => SidebarPanel,
145
- SidebarPanelContent: () => SidebarPanelContent,
146
- SidebarPanelHeader: () => SidebarPanelHeader,
147
- SidebarProvider: () => SidebarProvider,
148
- SidebarRail: () => SidebarRail,
149
- SidebarRailFooter: () => SidebarRailFooter,
150
- SidebarRailNav: () => SidebarRailNav,
151
- SnapshotList: () => SnapshotList,
152
- StatusBanner: () => StatusBanner,
153
- StatusBar: () => StatusBar,
154
- SystemLogsViewer: () => SystemLogsViewer,
155
- TOOL_CATEGORY_ICONS: () => TOOL_CATEGORY_ICONS,
156
- TRANSCRIPT_TEXT: () => TRANSCRIPT_TEXT,
157
- TangleKnot: () => TangleKnot,
158
- TangleLoginButton: () => TangleLoginButton,
159
- TaskBoard: () => TaskBoard,
160
- TaskList: () => TaskList,
161
- TemplateCard: () => TemplateCard,
162
- TerminalDisplayCursor: () => TerminalDisplayCursor,
163
- TerminalDisplayInput: () => TerminalDisplayInput,
164
- TerminalDisplayLine: () => TerminalDisplayLine,
165
- TerminalPanel: () => TerminalPanel,
166
- ThinkingIndicator: () => ThinkingIndicator,
167
- ToolCallFeed: () => ToolCallFeed,
168
- TraceWaterfall: () => TraceWaterfall,
169
- TraceWorkspace: () => TraceWorkspace,
170
- UsageChart: () => UsageChart,
171
- UsageSummary: () => UsageSummary,
172
- UserMenu: () => UserMenu,
173
- UserMessage: () => UserMessage,
174
- VAULT_TREE_CHILD_PAGE: () => 200,
175
- VaultTree: () => VaultTree,
176
- WebSearchPreview: () => WebSearchPreview,
177
- WorkspaceArtifactView: () => WorkspaceArtifactView,
178
- WorkspaceFilesPane: () => WorkspaceFilesPane,
179
- WorkspaceLayout: () => WorkspaceLayout,
180
- WorkspacePaneHeader: () => WorkspacePaneHeader,
181
- WorkspaceSurface: () => WorkspaceSurface,
182
- WorkspaceSurfaceFrame: () => WorkspaceSurfaceFrame,
183
- WorkspaceSurfaceTitle: () => WorkspaceSurfaceTitle,
184
- WriteFilePreview: () => WriteFilePreview,
185
- activeSessionsAtom: () => activeSessionsAtom,
186
- addMessage: () => addMessage,
187
- addParts: () => addParts,
188
- buildUnifiedPatch: () => buildUnifiedPatch,
189
- bumpActiveSessionActivity: () => bumpActiveSessionActivity,
190
- canAdminSandbox: () => canAdminSandbox,
191
- canonicalModelId: () => canonicalModelId,
192
- chatCapableHarnesses: () => chatCapableHarnesses,
193
- clearChat: () => clearChat,
194
- cn: () => cn,
195
- codeBlockGrammar: () => codeBlockGrammar,
196
- computeDiffStats: () => computeDiffStats,
197
- configurePdfViewer: () => configurePdfViewer,
198
- connectSession: () => connectSession,
199
- copyText: () => copyText,
200
- createAuthFetcher: () => createAuthFetcher,
201
- createShellShouldRevalidate: () => createShellShouldRevalidate,
202
- detectFileFormat: () => detectFileFormat,
203
- disconnectSession: () => disconnectSession,
204
- dispatchSessionCreated: () => dispatchSessionCreated,
205
- fenceInfo: () => fenceInfo,
206
- fileExtension: () => fileExtension,
207
- fileTreeFromPaths: () => fileTreeFromPaths,
208
- filterFileNodes: () => filterFileNodes,
209
- filterFileTree: () => filterFileTree,
210
- findUnsupportedOpenUINode: () => findUnsupportedOpenUINode,
211
- focusField: () => focusField,
212
- focusFieldInvalid: () => focusFieldInvalid,
213
- focusFieldWithin: () => focusFieldWithin,
214
- focusRing: () => focusRing,
215
- focusRingInset: () => focusRingInset,
216
- foldAgentRows: () => foldAgentRows,
217
- formatBytes: () => formatBytes,
218
- formatDuration: () => formatDuration,
219
- formatPrice: () => formatPrice,
220
- formatRelativeAge: () => formatRelativeAge,
221
- formatUptime: () => formatUptime,
222
- getActiveSession: () => getActiveSession,
223
- getAllActiveSessions: () => getAllActiveSessions,
224
- getAllProjectActivity: () => getAllProjectActivity,
225
- getCodeLanguage: () => getCodeLanguage,
226
- getFormatLabel: () => getFormatLabel,
227
- getSanitizedMarkdownHeadingIdFromRawFragment: () => getSanitizedMarkdownHeadingIdFromRawFragment,
228
- getSessionsByActivity: () => getSessionsByActivity,
229
- getSessionsForNavbar: () => getSessionsForNavbar,
230
- getSessionsForProject: () => getSessionsForProject,
231
- getSyntaxLanguage: () => getSyntaxLanguage,
232
- getToolCategory: () => getToolCategory,
233
- getToolDisplayMetadata: () => getToolDisplayMetadata,
234
- getToolErrorText: () => getToolErrorText,
235
- getTotalRunningSessionCount: () => getTotalRunningSessionCount,
236
- hasBackgroundRunningSessions: () => hasBackgroundRunningSessions,
237
- isStreamingAtom: () => isStreamingAtom,
238
- isViewerMessage: () => isViewerMessage,
239
- ixControl: () => ixControl,
240
- ixControlAfter: () => ixControlAfter,
241
- ixControlSoft: () => ixControlSoft,
242
- ixField: () => ixField,
243
- ixRow: () => ixRow,
244
- ixSelected: () => ixSelected,
245
- ixTabUnderline: () => ixTabUnderline,
246
- messagesAtom: () => messagesAtom,
247
- modelBrandFor: () => modelBrandFor,
248
- modelProvider: () => modelProvider,
249
- numericColumns: () => numericColumns,
250
- parseCsv: () => parseCsv,
251
- parseInsufficientBalance: () => parseInsufficientBalance,
252
- parseToolEvent: () => parseToolEvent,
253
- partMapAtom: () => partMapAtom,
254
- plainTextFromMarkdown: () => plainTextFromMarkdown,
255
- registerActiveSession: () => registerActiveSession,
256
- resetActiveSessions: () => resetActiveSessions,
257
- resolveFilePreviewKind: () => resolveFilePreviewKind,
258
- sandboxStatus: () => sandboxStatus,
259
- sessionAtom: () => sessionAtom,
260
- setActiveSessionAttention: () => setActiveSessionAttention,
261
- setActiveSessionConnection: () => setActiveSessionConnection,
262
- setActiveSessionError: () => setActiveSessionError,
263
- setActiveSessionRunning: () => setActiveSessionRunning,
264
- setForegroundActiveSession: () => setForegroundActiveSession,
265
- shellShouldRevalidate: () => shellShouldRevalidate,
266
- showsTaskPriority: () => showsTaskPriority,
267
- snapHarnessToModel: () => snapHarnessToModel,
268
- tableCsv: () => tableCsv,
269
- taskProgress: () => taskProgress,
270
- taskStatus: () => taskStatus,
271
- timeAgo: () => timeAgo,
272
- traceSpanMark: () => traceSpanMark,
273
- truncateText: () => truncateText,
274
- unregisterActiveSession: () => unregisterActiveSession,
275
- updateActiveSessionMeta: () => updateActiveSessionMeta,
276
- updatePart: () => updatePart,
277
- useActiveSession: () => useActiveSession,
278
- useActiveSessions: () => useActiveSessions,
279
- useActiveSessionsState: () => useActiveSessionsState,
280
- useAgentStream: () => useAgentStream,
281
- useApiKey: () => useApiKey,
282
- useAuth: () => useAuth,
283
- useAutoScroll: () => useAutoScroll,
284
- useCreateSession: () => useCreateSession,
285
- useDeleteSession: () => useDeleteSession,
286
- useDropdownMenu: () => useDropdownMenu,
287
- useHasBackgroundRunningSessions: () => useHasBackgroundRunningSessions,
288
- useLiveTime: () => useLiveTime,
289
- useNavbarSessions: () => useNavbarSessions,
290
- useOptimisticSessionItems: () => useOptimisticSessionItems,
291
- useProjectActivity: () => useProjectActivity,
292
- useProjectSessions: () => useProjectSessions,
293
- usePtySession: () => usePtySession,
294
- useRealtimeSession: () => useRealtimeSession,
295
- useRenameSession: () => useRenameSession,
296
- useRunCollapseState: () => useRunCollapseState,
297
- useRunGroups: () => useRunGroups,
298
- useSSEStream: () => useSSEStream,
299
- useSandboxMetrics: () => useSandboxMetrics,
300
- useSdkSession: () => useSdkSession,
301
- useSessionStream: () => useSessionStream,
302
- useSessions: () => useSessions,
303
- useSessionsByActivity: () => useSessionsByActivity,
304
- useSidebar: () => useSidebar,
305
- useSidecarAuth: () => useSidecarAuth,
306
- useToolCallStream: () => useToolCallStream,
307
- useTotalRunningSessions: () => useTotalRunningSessions,
308
- validateOpenUIJsonArtifact: () => validateOpenUIJsonArtifact,
309
- validateOpenUIJsonNode: () => validateOpenUIJsonNode
310
- }), primitives_exports);
311
- export { ActivityFeed, AgentMessagingConnection, AgentProfilePicker, AgentTimeline, ApiSchema, ApprovalCard, ApprovalDiffSummary, ApprovalQueue, ArtifactAgentDock, ArtifactPane, AuthHeader, BackendSelector, BillingDashboard, CODE_THEME, CSV_PREVIEW_ROW_LIMIT, CalendarView, ChangesPane, ChatContainer, ChatMessage, CodeBlockDisplay, CodeSurface, CodeView, CommandPreview, DEFAULT_REASONING_LEVEL_OPTIONS, DashboardLayout, DashboardPageHeader, DiffPreview, DiffStatsBadge, DiffView, DirectoryPane, EmbeddedAppView, ExpandedToolDetail, FileArtifactPane, FileBreadcrumb, FileCard, FileList, FilePreview, FileTabs, FileTree, GitHubLoginButton, GitPanel, GitStatusBadge, GlobResultsPreview, GrepResultsPreview, HARNESS_BRAND, HARNESS_OPTIONS, HARNESS_REASONING_OPTIONS, HarnessLogo, HarnessPicker, INSUFFICIENT_BALANCE_CODE, InlineThinkingItem, InlineToolItem, LiveDuration, LoginLayout, Logo, Markdown, MessageAuthor, MessageList, MetricAreaChart, ModelBrandStack, NewSandboxCard, OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, OpenUIArtifactRenderer, OutOfCreditsModal, PanelHeader, PdfViewer, PillTabs, PortsList, PreviewView, PricingPage, ProcessList, ProfileAvatar, PromoBanner, ProviderMark, QuestionPreview, RailButton, RailExpandable, RailFlyout, RailHeader, RailModeButton, RailSeparator, RailTooltip, RealtimeSessionRegistry, ReasoningLevelPicker, ResourceMeter, ResourceSnapshot, RichFileTree, RunGroup, RunPhaseList, RunRowShell, RunRowStatusDot, RuntimePane, SANDBOX_STATUS, SESSION_CREATED_EVENT, SHELL_HEADER_HEIGHT, SHELL_INSET_GUTTER, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_LABELED_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxArtifactPane, SandboxCard, SandboxPageShell, SandboxStatusPill, SandboxTable, SandboxWorkbench, SectionTitle, SessionSidebar, ShellHeader, Sidebar, SidebarContent, SidebarLayout, SidebarPanel, SidebarPanelContent, SidebarPanelHeader, SidebarProvider, SidebarRail, SidebarRailFooter, SidebarRailNav, SnapshotList, StatusBanner, StatusBar, SystemLogsViewer, TOOL_CATEGORY_ICONS, TRANSCRIPT_TEXT, TangleKnot, TangleLoginButton, TaskBoard, TaskList, TemplateCard, TerminalDisplayCursor, TerminalDisplayInput, TerminalDisplayLine, TerminalPanel, ThinkingIndicator, ToolCallFeed, TraceWaterfall, TraceWorkspace, UsageChart, UsageSummary, UserMenu, UserMessage, VAULT_TREE_CHILD_PAGE, VaultTree, WebSearchPreview, WorkspaceArtifactView, WorkspaceFilesPane, WorkspaceLayout, WorkspacePaneHeader, WorkspaceSurface, WorkspaceSurfaceFrame, WorkspaceSurfaceTitle, WriteFilePreview, activeSessionsAtom, addMessage, addParts, buildUnifiedPatch, bumpActiveSessionActivity, canAdminSandbox, canonicalModelId, chatCapableHarnesses, clearChat, cn, codeBlockGrammar, computeDiffStats, configurePdfViewer, connectSession, copyText, createAuthFetcher, createShellShouldRevalidate, detectFileFormat, disconnectSession, dispatchSessionCreated, fenceInfo, fileExtension, fileTreeFromPaths, filterFileNodes, filterFileTree, findUnsupportedOpenUINode, focusField, focusFieldInvalid, focusFieldWithin, focusRing, focusRingInset, foldAgentRows, formatBytes, formatDuration, formatPrice, formatRelativeAge, formatUptime, getActiveSession, getAllActiveSessions, getAllProjectActivity, getCodeLanguage, getFormatLabel, getSanitizedMarkdownHeadingIdFromRawFragment, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getSyntaxLanguage, getToolCategory, getToolDisplayMetadata, getToolErrorText, getTotalRunningSessionCount, hasBackgroundRunningSessions, isStreamingAtom, isViewerMessage, ixControl, ixControlAfter, ixControlSoft, ixField, ixRow, ixSelected, ixTabUnderline, messagesAtom, modelBrandFor, modelProvider, numericColumns, parseCsv, parseInsufficientBalance, parseToolEvent, partMapAtom, plainTextFromMarkdown, registerActiveSession, resetActiveSessions, resolveFilePreviewKind, sandboxStatus, sessionAtom, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, shellShouldRevalidate, showsTaskPriority, snapHarnessToModel, tableCsv, taskProgress, taskStatus, timeAgo, traceSpanMark, truncateText, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useAgentStream, 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, useToolCallStream, useTotalRunningSessions, validateOpenUIJsonArtifact, validateOpenUIJsonNode };
28
+ export { ActivityFeed, AgentMessagingConnection, AgentProfilePicker, AgentTimeline, AgentTimelineColumn, AgentTimelineStep, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, ApiSchema, ApprovalCard, ApprovalDiffSummary, ApprovalQueue, ArtifactAgentDock, ArtifactPane, AuthHeader, Avatar, AvatarFallback, AvatarImage, BackendSelector, Badge, BillingDashboard, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, CATEGORY_TONES, CODE_THEME, CSV_PREVIEW_ROW_LIMIT, Calendar, CalendarView, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChangesPane, ChatContainer, ChatMessage, Checkbox, Chip, CodeBlock, CodeBlockDisplay, CodeSurface, CodeView, Collapsible, CollapsibleContent, CollapsibleTrigger, CommandPreview, ComplianceBadge, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, DEFAULT_REASONING_LEVEL_OPTIONS, DashboardLayout, DashboardPageHeader, DatePicker, 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, Field, FileArtifactPane, FileBreadcrumb, FileCard, FileList, FilePreview, FileTabs, FileTree, FilterField, GitHubLoginButton, GitPanel, GitStatusBadge, GlobResultsPreview, GrepResultsPreview, HARNESS_BRAND, HARNESS_OPTIONS, HARNESS_REASONING_OPTIONS, HarnessLogo, HarnessPicker, Heading, HelpText, HoverCard, HoverCardContent, HoverCardDescription, HoverCardHeader, HoverCardTitle, HoverCardTrigger, INSUFFICIENT_BALANCE_CODE, IconTile, InlineCode, InlineThinkingItem, InlineToolItem, Input, Label, LatestEvents, LiveDuration, LoginLayout, Logo, Markdown, MessageAuthor, MessageList, Metric, MetricAreaChart, MetricChart, MetricStrip, ModelBrandStack, NewSandboxCard, OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, OpenUIArtifactRenderer, OutOfCreditsModal, PageHeader, PageShell, Pagination, PanelHeader, PdfViewer, PillTabs, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger, PortsList, PreviewView, PricingPage, ProcessList, ProfileAvatar, Progress, PromoBanner, ProviderMark, QuestionPreview, RadioGroup, RadioGroupItem, RailButton, RailExpandable, RailFlyout, RailHeader, RailModeButton, RailSeparator, RailTooltip, RealtimeSessionRegistry, ReasoningLevelPicker, ResourceMeter, ResourceSnapshot, RichFileTree, RunGroup, RunPhaseList, RunRowShell, RunRowStatusDot, RunStatusIcon, RuntimePane, SANDBOX_STATUS, SESSION_CREATED_EVENT, SHELL_HEADER_HEIGHT, SHELL_INSET_GUTTER, 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, Separator, SeriesSparkline, SessionSidebar, SettingsList, SettingsListItem, SettingsNote, SettingsRow, SettingsSection, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, ShellHeader, Sidebar, SidebarContent, SidebarDropZone, SidebarLayout, SidebarPanel, SidebarPanelContent, SidebarPanelHeader, SidebarProvider, SidebarRail, SidebarRailFooter, SidebarRailNav, Skeleton, SkeletonCard, SkeletonTable, Slider, SnapshotList, SpeakerHeader, StatCard, StatusBanner, StatusBar, StatusPill, Switch, SystemLogsViewer, TONE_CLASSES, TOOL_CATEGORY_ICONS, TRANSCRIPT_TEXT, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tag, TangleKnot, TangleLoginButton, TaskBoard, TaskList, TemplateCard, TerminalCursor, TerminalDisplay, TerminalDisplayCursor, TerminalDisplayInput, TerminalDisplayLine, TerminalInput, TerminalLine, TerminalPanel, TextShimmer, Textarea, ThemeToggle, ThinkingIndicator, TimeSelect, ToastContainer, ToastProvider, ToolCallFeed, Toolbar, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TraceWaterfall, TraceWorkspace, UploadProgress, UsageChart, UsageSummary, UserMenu, UserMessage, VAULT_TREE_CHILD_PAGE, VaultTree, WebSearchPreview, Wizard, WizardStep, WorkspaceArtifactView, WorkspaceFilesPane, WorkspaceLayout, WorkspacePaneHeader, WorkspaceSurface, WorkspaceSurfaceFrame, WorkspaceSurfaceTitle, WriteFilePreview, activeSessionsAtom, addMessage, addParts, agentTimelineStepKind, badgeVariants, buildUnifiedPatch, bumpActiveSessionActivity, buttonVariants, canAdminSandbox, canonicalModelId, chatCapableHarnesses, clearChat, cn, codeBlockGrammar, computeDiffStats, configurePdfViewer, connectSession, copyText, createAuthFetcher, createShellShouldRevalidate, detectFileFormat, disconnectSession, dispatchSessionCreated, fenceInfo, fieldMessageId, fileExtension, fileTreeFromPaths, filterFileNodes, filterFileTree, findUnsupportedOpenUINode, focusField, focusFieldInvalid, focusFieldWithin, focusRing, focusRingInset, foldAgentRows, foldSummary, formatBytes, formatCalendarDate, formatDuration, formatPrice, formatRelativeAge, formatUptime, getActiveSession, getAllActiveSessions, getAllProjectActivity, getCodeLanguage, getFormatLabel, getSanitizedMarkdownHeadingIdFromRawFragment, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getSyntaxLanguage, getToolCategory, getToolDisplayMetadata, getToolErrorText, getTotalRunningSessionCount, hasBackgroundRunningSessions, initialsOf, isStreamingAtom, isViewerMessage, ixControl, ixControlAfter, ixControlSoft, ixField, ixRow, ixSelected, ixTabUnderline, localToday, messagesAtom, modelBrandFor, modelProvider, normalizeSeries, numericColumns, parseCalendarDate, parseCsv, parseInsufficientBalance, parseToolEvent, partMapAtom, partitionBySpeaker, periodDelta, plainTextFromMarkdown, registerActiveSession, resetActiveSessions, resolveFilePreviewKind, runStatus, sandboxStatus, seriesAreaPath, seriesExtent, seriesLinePath, seriesMean, seriesScale, sessionAtom, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, shellShouldRevalidate, showsTaskPriority, snapHarnessToModel, statusMeta, tableCsv, taskProgress, taskStatus, timeAgo, toneFor, traceSpanMark, truncateText, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useAgentStream, 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 };
@@ -203,6 +203,7 @@ interface IntegrationConnectionDetailProps {
203
203
  loading?: boolean;
204
204
  error?: string | null;
205
205
  backHref?: string;
206
+ onBack?: () => void;
206
207
  description?: string;
207
208
  onRetry?: (connectionId: string | null) => void;
208
209
  onTestConnection?: (connectionId: string) => void;
@@ -263,7 +264,7 @@ export declare function catalogRowActive(row: IntegrationsCatalogRow): boolean;
263
264
  /** Platform's catalog presentation, with app-owned state, destinations and effects. */
264
265
  export declare function IntegrationsCatalog({ rows, query, onQueryChange, categoryFilter, onCategoryFilterChange, sort, onSortChange, onSelectConnection, onConnect, onManage, onDisconnect, onRequestIntegration, onRetry, loading, error, actionError, connectError, busyProviderId, reserveConnectionContext, skeletonCount, pageSize, emptyCatalogLabel, title, description, layout, className }: IntegrationsCatalogProps): import("react").JSX.Element;
265
266
  /** Platform's permission layout, without its fetching, defaults or persistence. */
266
- export declare function IntegrationConnectionDetail({ provider, connections, selectedConnectionId, onSelectConnection, detailsByConnectionId, loading, error, backHref, description, onRetry, onTestConnection, onDisconnect, onDecisionChange, onResetDecision, className }: IntegrationConnectionDetailProps): import("react").JSX.Element;
267
+ export declare function IntegrationConnectionDetail({ provider, connections, selectedConnectionId, onSelectConnection, detailsByConnectionId, loading, error, backHref, onBack, description, onRetry, onTestConnection, onDisconnect, onDecisionChange, onResetDecision, className }: IntegrationConnectionDetailProps): import("react").JSX.Element;
267
268
  /** Key bytes remain in owner-controlled value/onValueChange; no request or storage. */
268
269
  export declare function ApiKeyConnectDialog(props: ApiKeyConnectDialogProps): React$1.JSX.Element;
269
270
  /** Parameter schema/values and all auth behavior belong to the owner. */
@@ -730,7 +730,7 @@ function IntegrationsPanel({ catalog, connections, healthByConnectionId, isLoadi
730
730
  }
731
731
  // src/integrations/connection-detail.tsx
732
732
  /** Platform's permission layout, without its fetching, defaults or persistence. */
733
- function IntegrationConnectionDetail({ provider, connections, selectedConnectionId, onSelectConnection, detailsByConnectionId, loading, error, backHref, description, onRetry, onTestConnection, onDisconnect, onDecisionChange, onResetDecision, className }) {
733
+ function IntegrationConnectionDetail({ provider, connections, selectedConnectionId, onSelectConnection, detailsByConnectionId, loading, error, backHref, onBack, description, onRetry, onTestConnection, onDisconnect, onDecisionChange, onResetDecision, className }) {
734
734
  const connection = connections.find((item) => item.id === selectedConnectionId);
735
735
  const details = connection && Object.hasOwn(detailsByConnectionId, connection.id) ? detailsByConnectionId[connection.id] : void 0;
736
736
  const busy = !!details?.busy;
@@ -809,6 +809,11 @@ function IntegrationConnectionDetail({ provider, connections, selectedConnection
809
809
  backHref ? /* @__PURE__ */ jsx("a", {
810
810
  href: backHref,
811
811
  className: cn("inline-flex text-sm text-muted-foreground hover:text-foreground", focusRing),
812
+ onClick: onBack ? (event) => {
813
+ if (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;
814
+ event.preventDefault();
815
+ onBack();
816
+ } : void 0,
812
817
  children: "← Integrations"
813
818
  }) : null,
814
819
  /* @__PURE__ */ jsxs("header", {
@@ -0,0 +1,190 @@
1
+ import { g as useRunNow, h as useMotionAllowed, o as fmtEventTime, p as tokenMilliseconds } from "./AgentGraph-C1DsA-Rd.js";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
4
+ import { RunStatusIcon, statusMeta } from "@tangle-network/ui/run";
5
+ // src/run/latest-events.tsx
6
+ function EventRow({ entry, now, onSelect }) {
7
+ const ref = useRef(null), motion = useMotionAllowed();
8
+ useLayoutEffect(() => {
9
+ const element = ref.current;
10
+ if (!element) return;
11
+ const style = getComputedStyle(element);
12
+ const animation = element.animate([{
13
+ opacity: 0,
14
+ ...motion ? { transform: "translateY(calc(" + style.getPropertyValue("--arrive-distance") + " * -1))" } : {}
15
+ }, {
16
+ opacity: 1,
17
+ ...motion ? { transform: "none" } : {}
18
+ }], {
19
+ duration: tokenMilliseconds(motion ? "--duration-arrive" : "--duration-fast", element),
20
+ easing: style.getPropertyValue("--ease-entrance").trim() || "ease-out"
21
+ });
22
+ return () => animation.cancel();
23
+ }, [entry.id, motion]);
24
+ const meta = statusMeta(entry.observed ? entry.status : "unknown"), age = fmtEventTime(entry.at, now);
25
+ return /* @__PURE__ */ jsx("li", {
26
+ ref,
27
+ children: /* @__PURE__ */ jsxs("button", {
28
+ type: "button",
29
+ disabled: !onSelect,
30
+ onClick: () => onSelect?.(entry),
31
+ title: entry.name + ": " + entry.label,
32
+ children: [
33
+ /* @__PURE__ */ jsx("span", {
34
+ className: "ag-latest-dot",
35
+ style: {
36
+ background: entry.observed ? "var(" + meta.token + ")" : "transparent",
37
+ border: entry.observed ? void 0 : "1.5px solid var(" + meta.token + ")"
38
+ },
39
+ "aria-hidden": true
40
+ }),
41
+ /* @__PURE__ */ jsx("strong", { children: entry.name }),
42
+ entry.observed && /* @__PURE__ */ jsxs("span", {
43
+ className: "ag-latest-state",
44
+ style: { color: "var(" + meta.token + ")" },
45
+ children: [entry.status !== "running" && /* @__PURE__ */ jsx(RunStatusIcon, {
46
+ status: entry.status,
47
+ size: 14,
48
+ "aria-hidden": true
49
+ }), meta.label]
50
+ }),
51
+ /* @__PURE__ */ jsx("span", {
52
+ className: "ag-latest-label",
53
+ children: entry.label
54
+ }),
55
+ /* @__PURE__ */ jsxs("time", { children: [
56
+ entry.observed ? "Observed " : "",
57
+ age,
58
+ age !== "now" && age !== "—" ? " ago" : ""
59
+ ] })
60
+ ]
61
+ })
62
+ });
63
+ }
64
+ /** Recorded events and locally observed state changes. Hover or focus holds the reading position. */
65
+ function LatestEvents({ agents, n = 5, now, live = now === void 0, selectedId, onSelect }) {
66
+ const clock = useRunNow(now), limit = Number.isFinite(n) ? Math.max(1, Math.trunc(n)) : 5;
67
+ const latest = useMemo(() => agents.flatMap((agent) => (agent.events ?? []).map((event) => ({
68
+ id: agent.id + ":" + event.id,
69
+ agentId: agent.id,
70
+ name: agent.label,
71
+ label: event.label,
72
+ at: event.at,
73
+ status: agent.status
74
+ }))).sort((a, b) => (Number.isFinite(b.at) ? b.at : -Infinity) - (Number.isFinite(a.at) ? a.at : -Infinity) || a.id.localeCompare(b.id)).slice(0, limit), [agents, limit]);
75
+ const [rows, setRows] = useState(latest), [pins, setPins] = useState([]), [announcement, setAnnouncement] = useState("");
76
+ const [hovered, setHovered] = useState(false), [focused, setFocused] = useState(false), paused = hovered || focused;
77
+ const source = useRef(latest), pending = useRef(void 0);
78
+ const announce = useRef(void 0), messages = useRef(/* @__PURE__ */ new Map());
79
+ source.current = latest;
80
+ const previous = useRef(new Map(agents.map((agent) => [agent.id, agent.status])));
81
+ useEffect(() => {
82
+ const changes = agents.filter((agent) => previous.current.has(agent.id) && previous.current.get(agent.id) !== agent.status).map((agent) => ({
83
+ id: agent.id + ":status:" + clock,
84
+ agentId: agent.id,
85
+ name: agent.label,
86
+ status: agent.status,
87
+ label: agent.result ?? agent.turn ?? "Status changed",
88
+ at: clock,
89
+ observed: true
90
+ }));
91
+ previous.current = new Map(agents.map((agent) => [agent.id, agent.status]));
92
+ if (!live) {
93
+ setPins((old) => old.length ? [] : old);
94
+ messages.current.clear();
95
+ clearTimeout(announce.current);
96
+ announce.current = void 0;
97
+ return;
98
+ }
99
+ const ids = new Set(agents.map((agent) => agent.id));
100
+ setPins((old) => {
101
+ const next = [...changes, ...old.filter((entry) => ids.has(entry.agentId) && !changes.some((change) => change.agentId === entry.agentId))].slice(0, limit);
102
+ return !changes.length && next.length === old.length ? old : next;
103
+ });
104
+ if (!changes.length) return;
105
+ for (const entry of changes) messages.current.set(entry.agentId, entry.name + ": " + statusMeta(entry.status).label);
106
+ if (announce.current === void 0) announce.current = setTimeout(() => {
107
+ setAnnouncement([...messages.current.values()].join("; "));
108
+ messages.current.clear();
109
+ announce.current = void 0;
110
+ }, tokenMilliseconds("--duration-ambient"));
111
+ }, [
112
+ agents,
113
+ clock,
114
+ limit,
115
+ live
116
+ ]);
117
+ useEffect(() => {
118
+ if (selectedId) setPins((old) => old.filter((entry) => entry.agentId !== selectedId));
119
+ }, [selectedId]);
120
+ useEffect(() => {
121
+ if (paused) {
122
+ clearTimeout(pending.current);
123
+ pending.current = void 0;
124
+ return;
125
+ }
126
+ if (pending.current === void 0) pending.current = setTimeout(() => {
127
+ setRows(source.current);
128
+ pending.current = void 0;
129
+ }, tokenMilliseconds("--duration-ambient") / 2);
130
+ }, [latest, paused]);
131
+ useEffect(() => () => {
132
+ clearTimeout(pending.current);
133
+ clearTimeout(announce.current);
134
+ }, []);
135
+ const current = [...pins, ...rows.filter((entry) => !pins.some((pin) => pin.agentId === entry.agentId))].slice(0, limit);
136
+ const held = useRef(current);
137
+ useLayoutEffect(() => {
138
+ if (!paused) held.current = current;
139
+ }, [current, paused]);
140
+ const visible = paused ? held.current : current;
141
+ const refresh = () => {
142
+ setRows([...source.current]);
143
+ held.current = [...pins, ...source.current.filter((entry) => !pins.some((pin) => pin.agentId === entry.agentId))].slice(0, limit);
144
+ };
145
+ return /* @__PURE__ */ jsxs("section", {
146
+ className: "ag-latest",
147
+ "aria-label": "Latest activity",
148
+ tabIndex: 0,
149
+ onPointerEnter: () => setHovered(true),
150
+ onPointerLeave: () => setHovered(false),
151
+ onFocusCapture: () => setFocused(true),
152
+ onBlurCapture: (event) => {
153
+ if (!event.currentTarget.contains(event.relatedTarget)) setFocused(false);
154
+ },
155
+ children: [
156
+ /* @__PURE__ */ jsxs("header", { children: [
157
+ /* @__PURE__ */ jsx("strong", { children: "Latest activity" }),
158
+ /* @__PURE__ */ jsx("span", { children: paused ? "Paused while reading" : "Recorded events · age" }),
159
+ paused && /* @__PURE__ */ jsx("button", {
160
+ type: "button",
161
+ onClick: refresh,
162
+ children: "Show latest"
163
+ })
164
+ ] }),
165
+ /* @__PURE__ */ jsx("ol", {
166
+ tabIndex: 0,
167
+ "aria-label": "Recorded activity events",
168
+ style: { height: Math.min(limit, 3) * 28 },
169
+ children: visible.length ? visible.map((entry) => /* @__PURE__ */ jsx(EventRow, {
170
+ entry,
171
+ now: clock,
172
+ onSelect: onSelect ? (item) => {
173
+ setPins((old) => old.filter((pin) => pin.agentId !== item.agentId));
174
+ onSelect(item.agentId);
175
+ } : void 0
176
+ }, entry.id)) : /* @__PURE__ */ jsx("li", {
177
+ className: "ag-latest-empty",
178
+ children: "No activity events were reported."
179
+ })
180
+ }),
181
+ /* @__PURE__ */ jsx("span", {
182
+ className: "sr-only",
183
+ role: "status",
184
+ "aria-live": "polite",
185
+ children: announcement
186
+ })
187
+ ]
188
+ });
189
+ }
190
+ export { LatestEvents as t };