@tangle-network/sandbox-ui 3.0.3 → 4.0.1

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/README.md CHANGED
@@ -120,53 +120,6 @@ Pass service-observed `readiness` and enforced `access` to show their status ins
120
120
  Show process and port state beside the pane if your runtime exposes those separately.
121
121
  Do not infer either state from the preview URL or iframe load.
122
122
 
123
- ### Show a shared agent messaging connection
124
-
125
- Use `AgentMessagingConnection` in any app that enrolls a member with a private agent target and a shared messaging route.
126
- The host owns authentication, the member grant, canonical target resolution, and route readiness.
127
-
128
- ```tsx
129
- import {
130
- AgentMessagingConnection,
131
- type AgentEnrollmentViewState,
132
- type SharedMessagingRouteViewState,
133
- } from "@tangle-network/sandbox-ui/connections";
134
-
135
- type MessagingConnectionProps = {
136
- enrollment: AgentEnrollmentViewState;
137
- route: SharedMessagingRouteViewState;
138
- enroll: () => Promise<void>;
139
- openMessages: () => void;
140
- refresh: () => Promise<void>;
141
- };
142
-
143
- export function MessagingConnection({
144
- enrollment,
145
- route,
146
- enroll,
147
- openMessages,
148
- refresh,
149
- }: MessagingConnectionProps) {
150
- return (
151
- <AgentMessagingConnection
152
- enrollment={enrollment}
153
- route={route}
154
- onEnroll={enroll}
155
- onOpenMessages={openMessages}
156
- onRetry={refresh}
157
- />
158
- );
159
- }
160
- ```
161
-
162
- Report `eligible` only after the host checks the member's current grant.
163
- Report `enrolled` only after it resolves the authorized, canonical private agent target.
164
- Give the component display labels, not raw enrollment, instance, sandbox, or session IDs.
165
- Report route `ready` only when the shared route is valid for this application and member.
166
- An attached provider line on its own does not prove that state.
167
- The component never attaches, buys, or reassigns a provider identity.
168
- It shows a messaging action only when both the target and route are confirmed.
169
-
170
123
  ### Fonts
171
124
 
172
125
  sandbox-ui references the following font families in its design tokens but does **not** bundle them — consumer apps must load the fonts themselves. This is deliberate: a URL `@import` inside a library CSS bundle breaks when downstream apps chain-import the stylesheet (see CHANGELOG 0.10.9 for the full reasoning).
package/dist/globals.css CHANGED
@@ -3968,6 +3968,18 @@
3968
3968
  .text-\[var\(--surface-warning-text\)\] {
3969
3969
  color: var(--surface-warning-text);
3970
3970
  }
3971
+ .text-\[var\(--syntax-function\,currentColor\)\] {
3972
+ color: var(--syntax-function,currentColor);
3973
+ }
3974
+ .text-\[var\(--syntax-keyword\,currentColor\)\] {
3975
+ color: var(--syntax-keyword,currentColor);
3976
+ }
3977
+ .text-\[var\(--syntax-number\,currentColor\)\] {
3978
+ color: var(--syntax-number,currentColor);
3979
+ }
3980
+ .text-\[var\(--syntax-string\,currentColor\)\] {
3981
+ color: var(--syntax-string,currentColor);
3982
+ }
3971
3983
  .text-\[var\(--text-dim\)\] {
3972
3984
  color: var(--text-dim);
3973
3985
  }
@@ -5991,9 +6003,6 @@
5991
6003
  text-overflow: ellipsis;
5992
6004
  white-space: nowrap;
5993
6005
  }
5994
- .sm\:p-4 {
5995
- padding: calc(var(--spacing) * 4);
5996
- }
5997
6006
  .sm\:p-5 {
5998
6007
  padding: calc(var(--spacing) * 5);
5999
6008
  }
@@ -244,6 +244,21 @@ interface CodeViewProps {
244
244
  * so the host can swap the active artifact.
245
245
  */
246
246
  declare function CodeView({ path, filename, content, language, paths, gitStatus, onFileSelect, showTree, defaultWrap, themeType, className }: CodeViewProps): React$1.JSX.Element;
247
+ interface JsonViewProps {
248
+ /** The file's text: one JSON value, or JSON Lines when `lines` is set. */
249
+ text: string;
250
+ /** JSON Lines (`.jsonl`, `.ndjson`): each non-blank line is one value, labelled by its line number. */
251
+ lines?: boolean;
252
+ /** Names the tree for assistive technology. */
253
+ label?: string;
254
+ className?: string;
255
+ }
256
+ /**
257
+ * JSON and JSON Lines as a collapsible, virtualized tree: objects and arrays open and close, small documents open
258
+ * whole, and long strings wrap. Rows render near the viewport of the nearest scrolling ancestor, so a file of
259
+ * thousands of values stays fast. Keyboard: arrows move and open or close, Home/End jump, Enter or Space toggles.
260
+ */
261
+ declare function JsonView({ text, lines, label, className }: JsonViewProps): import("react").JSX.Element;
247
262
  interface PreviewViewProps {
248
263
  /** A product-authorized preview URL. Relative navigation stays on its origin. */
249
264
  url: string;
@@ -287,4 +302,4 @@ interface CodeSurfaceProps {
287
302
  * custom element per render survives StrictMode remounts; the surrounding element owns scrolling.
288
303
  */
289
304
  declare function CodeSurface({ code, filename, language, showLineNumbers, wrap, line, themeType, className }: CodeSurfaceProps): React$1.JSX.Element;
290
- export { ChangedFile as C, SandboxArtifactTerminal as D, SandboxArtifactPaneProps as E, ArtifactView as S, SandboxArtifact as T, PillTabItem as _, PreviewViewProps as a, ChangesPane as b, FileBreadcrumb as c, GitStatusBadge as d, PanelHeader as f, computeDiffStats as g, buildUnifiedPatch as h, PreviewView as i, FileBreadcrumbProps as l, DiffStats as m, CodeSurface as n, CodeView as o, PanelHeaderProps as p, CodeSurfaceProps as r, CodeViewProps as s, CODE_THEME as t, DiffStatsBadge as u, PillTabs as v, ChangesPaneProps as w, SandboxArtifactPane as x, PillTabsProps as y };
305
+ export { SandboxArtifactPane as C, SandboxArtifact as D, ChangesPaneProps as E, SandboxArtifactPaneProps as O, ChangesPane as S, ChangedFile as T, buildUnifiedPatch as _, PreviewViewProps as a, PillTabs as b, CodeView as c, FileBreadcrumbProps as d, DiffStatsBadge as f, DiffStats as g, PanelHeaderProps as h, PreviewView as i, SandboxArtifactTerminal as k, CodeViewProps as l, PanelHeader as m, CodeSurface as n, JsonView as o, GitStatusBadge as p, CodeSurfaceProps as r, JsonViewProps as s, CODE_THEME as t, FileBreadcrumb as u, computeDiffStats as v, ArtifactView as w, PillTabsProps as x, PillTabItem as y };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { a as LoginLayout, c as UserMenu, d as TangleLoginButtonProps, i as GitHubLoginButtonProps, l as UserMenuProps, n as AuthHeaderProps, o as LoginLayoutProps, r as GitHubLoginButton, s as SessionUser, t as AuthHeader, u as TangleLoginButton } from "./index-BbfWVtZq.js";
2
2
  import { $ as AgentProfilePicker, A as SpeakerSection, B as partitionBySpeaker, C as MessageList, D as SpeakerHeader, E as Speaker, F as UserMessage, G as ArtifactDockStreamEvent, H as ArtifactAgentDockProps, I as UserMessageProps, J as modelProvider, K as ArtifactKind, L as agentTimelineStepKind, M as TRANSCRIPT_TEXT, N as ThinkingIndicator, O as SpeakerHeaderProps, P as ThinkingIndicatorProps, Q as AgentProfileOption, R as foldSummary, S as MessageAuthorProps, T as MessageRole, U as ArtifactAgentDockTransport, V as ArtifactAgentDock, W as ArtifactDockMessage, X as AgentProfileCapability, Y as snapHarnessToModel, Z as AgentProfileDraft, _ as ChatContainer, a as AgentTimelineFoldItem, at as ReasoningLevelPicker, b as ChatMessageProps, c as AgentTimelineProps, d as AgentTimelineStepKind, et as AgentProfilePickerProps, f as AgentTimelineStepProps, g as ChatAuthor, h as AgentTimelineToolItem, i as AgentTimelineCustomItem, it as ReasoningLevelOption, j as SpeakerState, k as SpeakerPart, l as AgentTimelineStatusItem, m as AgentTimelineToolGroupItem, n as AgentTimelineArtifactItem, nt as HARNESS_REASONING_OPTIONS, o as AgentTimelineItem, ot as ReasoningLevelPickerProps, p as AgentTimelineTone, q as ArtifactScope, r as AgentTimelineColumn, rt as ReasoningLevel, s as AgentTimelineMessageItem, t as AgentTimeline, tt as DEFAULT_REASONING_LEVEL_OPTIONS, u as AgentTimelineStep, v as ChatContainerProps, w as MessageListProps, x as MessageAuthor, y as ChatMessage, z as isViewerMessage } from "./index-5zOVKgDT.js";
3
- import { a as SharedMessagingRouteViewState, i as AgentTargetSummary, n as AgentMessagingConnection, r as AgentMessagingConnectionProps, t as AgentEnrollmentViewState } from "./index-DLX35YAa.js";
4
3
  import { $ as SandboxTable, $t as Sidebar, A as MetricChartPoint, At as SIDEBAR_TOTAL_WIDTH, B as ProductVariant, Bt as RailButton, C as UsageSummary, Ct as OutOfCreditsModal, D as SystemLogsViewerProps, Dt as SIDEBAR_PANEL_WIDTH, E as SystemLogsViewer, Et as SIDEBAR_MOBILE_WIDTH, F as SidebarLayoutProps, Ft as RailTooltipProps, G as HARNESS_OPTIONS, Gt as RailFlyout, H as HarnessBrand, Ht as RailExpandable, I as DashboardLayout, It as McpServer, J as HarnessType, Jt as RailHeaderProps, K as HarnessPicker, Kt as RailFlyoutProps, L as DashboardLayoutProps, Lt as AppearanceController, M as SidebarLayout, Mt as SidebarProviderProps, N as SidebarLayoutFlyoutItem, Nt as useSidebar, O as MetricAreaChart, Ot as SIDEBAR_RAIL_LABELED_WIDTH, P as SidebarLayoutNavItem, Pt as RailTooltip, Q as BackendSelectorProps, Qt as RailSeparatorProps, R as DashboardUser, Rt as ProfileAvatar, S as GitStatusData, St as InsufficientBalance, T as UsageSummaryProps, Tt as parseInsufficientBalance, U as HarnessLogo, Ut as RailExpandableProps, V as HARNESS_BRAND, Vt as RailButtonProps, W as HarnessLogoProps, Wt as RailExpandableSubItem, X as Backend, Xt as RailModeButtonProps, Y as chatCapableHarnesses, Yt as RailModeButton, Z as BackendSelector, Zt as RailSeparator, _ as PortsList, _t as ResourceSnapshotItem, a as PromoBanner, an as SidebarPanelHeader, at as NewSandboxCard, b as GitPanel, bt as ResourceMeterProps, c as SnapshotList, cn as SidebarProps, ct as SandboxCardData, d as ProcessList, dn as SidebarRailFooterProps, dt as TeamRole, en as SidebarContent, et as SandboxTableProps, f as ProcessListProps, fn as SidebarRailNav, ft as canAdminSandbox, g as ExposedPort, gn as ThemeMode, gt as ResourceSnapshot, h as TemplateCardProps, hn as SidebarUser, ht as ActivityItem, i as SandboxPageShellProps, in as SidebarPanelContentProps, it as sandboxStatus, j as MetricChartTone, jt as SidebarProvider, k as MetricAreaChartProps, kt as SIDEBAR_RAIL_WIDTH, l as SnapshotListProps, ln as SidebarRail, lt as SandboxCardProps, m as TemplateCardData, mn as SidebarRailProps, mt as ActivityFeedProps, n as DashboardPageHeaderProps, nn as SidebarPanel, nt as SandboxStatusPill, o as PromoBannerProps, on as SidebarPanelHeaderProps, ot as NewSandboxCardProps, p as TemplateCard, pn as SidebarRailNavProps, pt as ActivityFeed, q as HarnessPickerProps, qt as RailHeader, r as SandboxPageShell, rn as SidebarPanelContent, rt as SandboxStatusPillProps, s as SnapshotInfo, sn as SidebarPanelProps, st as SandboxCard, t as DashboardPageHeader, tn as SidebarContentProps, tt as SANDBOX_STATUS, u as ProcessInfo, un as SidebarRailFooter, ut as SandboxStatus, v as PortsListProps, vt as ResourceSnapshotProps, w as UsageSummaryData, wt as OutOfCreditsModalProps, x as GitPanelProps, xt as INSUFFICIENT_BALANCE_CODE, y as GitCommitData, yt as ResourceMeter, z as NavItem, zt as ProfileAvatarProps } from "./index-CZGOlm0p.js";
5
4
  import { a as canonicalModelId, i as ProviderMark, n as ModelBrandStack, o as modelBrandFor, r as ModelInfo, t as ModelBrandIdentity } from "./model-brand-ZwVS49Fq.js";
6
5
  import { a as PricingPageProps, c as BillingBalance, d as BillingSubscription, f as BillingUsage, i as PricingPage, l as BillingDashboard, n as UsageChartProps, o as PricingTier, r as UsageDataPoint, s as formatPrice, t as UsageChart, u as BillingDashboardProps } from "./usage-chart-BFpdkqNq.js";
@@ -12,7 +11,7 @@ import { AgentStreamEvent, AppendUserMessageOptions, ApplySdkEventOptions, AuthU
12
11
  import { $ as CollapsibleContent, $i as Logo, $n as Separator, $r as TabsContent, $t as FieldProps, A as BreadcrumbPage, Ai as WizardProps, An as PaginationProps, Ar as SidebarDropZone, At as DialogPortal, B as CardDescription, Bi as parseCalendarDate, Bn as SegmentedControl, Br as StatusTone, Bt as DropdownMenuLabel, C as Badge, Ci as TooltipContent, Cn as MetricStrip, Cr as SheetDescription, Ct as Dialog, D as BreadcrumbItem, Di as UploadProgress, Dn as PageShell, Dr as SheetPortal, Dt as DialogFooter, E as BreadcrumbEllipsis, Ei as UploadFile, En as PageHeaderProps, Er as SheetOverlay, Et as DialogDescription, F as Calendar, Fi as fieldMessageId, Fn as PopoverContent, Fr as Slider, Ft as DropdownMenu, G as CategoryTone, Gi as seriesMean, Gn as SelectGroup, Gr as TableCaption, Gt as DropdownMenuShortcut, H as CardHeader, Hi as seriesAreaPath, Hn as SegmentedControlProps, Hr as TONE_CLASSES, Ht as DropdownMenuRadioGroup, I as CalendarDate, Ii as formatCalendarDate, In as PopoverTrigger, Ir as StatCard, It as DropdownMenuCheckboxItem, J as Chip, Ji as useTheme, Jn as SelectScrollDownButton, Jr as TableHead, Jt as DropdownMenuSubTrigger, K as ChartReferenceLine, Ki as seriesScale, Kn as SelectItem, Kr as TableCell, Kt as DropdownMenuSub, L as CalendarProps, Li as initialsOf, Ln as Progress, Lr as StatCardProps, Lt as DropdownMenuContent, M as Button, Mi as WizardStepProps, Mn as Popover, Mr as Skeleton, Mt as DialogTrigger, N as ButtonProps, Ni as badgeVariants, Nn as PopoverAnchor, Nr as SkeletonCard, Nt as DropZone, O as BreadcrumbLink, Oi as UploadProgressProps, On as PageShellProps, Or as SheetTitle, Ot as DialogHeader, P as CATEGORY_TONES, Pi as buttonVariants, Pn as PopoverClose, Pr as SkeletonTable, Pt as DropZoneProps, Q as Collapsible, Qi as SectionTitleProps, Qn as SelectValue, Qr as Tabs, Qt as Field, R as Card, Ri as localToday, Rn as RadioGroup, Rr as StatusPill, Rt as DropdownMenuGroup, S as AvatarProps, Si as Tooltip, Sn as MetricProps, Sr as SheetContent, St as DatePickerProps, T as Breadcrumb, Ti as TooltipTrigger, Tn as PageHeader, Tr as SheetHeader, Tt as DialogContent, U as CardTitle, Ui as seriesExtent, Un as Select, Ur as Table, Ut as DropdownMenuRadioItem, V as CardFooter, Vi as periodDelta, Vn as SegmentedControlOption, Vr as Switch, Vt as DropdownMenuPortal, W as CardTitleProps, Wi as seriesLinePath, Wn as SelectContent, Wr as TableBody, Wt as DropdownMenuSeparator, X as CodeBlock, Xi as HeadingProps, Xn as SelectSeparator, Xr as TableProps, Xt as EmptyState, Y as ChipProps, Yi as useToast, Yn as SelectScrollUpButton, Yr as TableHeader, Yt as DropdownMenuTrigger, Z as CodeBlockProps, Zi as SectionTitle, Zn as SelectTrigger, Zr as TableRow, Zt as EmptyStateProps, _ as ArtifactPane, _i as ToastProvider, _n as InputProps, _r as SettingsRowProps, _t as ContextMenuSubContent, a as AlertDialogCancel, ai as TerminalDisplay, an as HelpTextProps, ar as SeriesSparklineProps, at as ContextMenu, b as AvatarFallback, bi as Toolbar, bn as MetricChart, br as Sheet, bt as CopyButton, c as AlertDialogFooter, ci as TextShimmer, cn as HoverCardDescription, cr as SettingsListColumns, ct as ContextMenuGroup, d as AlertDialogPortal, di as TextareaProps, dn as HoverCardTrigger, dr as SettingsListMenuItem, dt as ContextMenuPortal, ea as LogoProps, ei as TabsList, en as FilterField, er as SeriesExtent, et as CollapsibleTrigger, f as AlertDialogTitle, fi as ThemeToggle, fn as IconTile, fr as SettingsListProps, ft as ContextMenuRadioGroup, g as AlertTone, gi as ToastContainer, gn as Input, gr as SettingsRowLayout, gt as ContextMenuSub, h as AlertTitle, hi as Toast, hn as InlineCodeProps, hr as SettingsRow, ht as ContextMenuShortcut, i as AlertDialogAction, ii as TerminalCursor, in as HelpText, ir as SeriesSparkline, it as ComplianceStatus, j as BreadcrumbSeparator, ji as WizardStep, jn as PeriodDelta, jr as SidebarDropZoneProps, jt as DialogTitle, k as BreadcrumbList, ki as Wizard, kn as Pagination, kr as SheetTrigger, kt as DialogOverlay, l as AlertDialogHeader, li as TextShimmerProps, ln as HoverCardHeader, lr as SettingsListItem, lt as ContextMenuItem, m as AlertProps, mi as TimeSelectProps, mn as InlineCode, mr as SettingsNoteProps, mt as ContextMenuSeparator, n as AlertDescription, ni as Tag, nn as Heading, nr as SeriesPointInput, nt as ComplianceBadgeProps, o as AlertDialogContent, oi as TerminalInput, on as HoverCard, or as SettingsList, ot as ContextMenuCheckboxItem, p as AlertDialogTrigger, pi as TimeSelect, pn as IconTileProps, pr as SettingsNote, pt as ContextMenuRadioItem, q as Checkbox, qi as toneFor, qn as SelectLabel, qr as TableFooter, qt as DropdownMenuSubContent, r as AlertDialog, ri as TagProps, rn as HeadingVariant, rr as SeriesScale, rt as ComplianceProduct, s as AlertDialogDescription, sn as HoverCardContent, sr as SettingsListAction, st as ContextMenuContent, t as Alert, ta as TangleKnot, ti as TabsTrigger, tn as FilterFieldProps, tr as SeriesPoint, tt as ComplianceBadge, u as AlertDialogOverlay, ui as Textarea, un as HoverCardTitle, ur as SettingsListItemProps, ut as ContextMenuLabel, v as ArtifactPaneProps, vi as Tone, vn as Label, vr as SettingsSection, vt as ContextMenuSubTrigger, w as BadgeProps, wi as TooltipProvider, wn as MetricStripProps, wr as SheetFooter, wt as DialogClose, x as AvatarImage, xi as ToolbarProps, xn as MetricChartProps, xr as SheetClose, xt as DatePicker, y as Avatar, yi as ToneClasses, yn as Metric, yr as SettingsSectionProps, yt as ContextMenuTrigger, z as CardContent, zi as normalizeSeries, zn as RadioGroupItem, zr as StatusPillProps, zt as DropdownMenuItem } from "./index-CEtc2U5v.js";
13
12
  import { $ as StatusBar, A as createShellShouldRevalidate, B as SessionSidebarVariant, C as SandboxWorkbenchLayoutOptions, D as SandboxWorkbenchSessionProps, E as SandboxWorkbenchProps, F as SessionSidebarFilter, G as dispatchSessionCreated, H as SessionCreatedDetail, I as SessionSidebarGroupBy, J as RuntimePaneProps, K as useOptimisticSessionItems, L as SessionSidebarItem, M as formatRelativeAge, N as SessionSidebar, O as ShellShouldRevalidateArgs, P as SessionSidebarBadge, Q as ContextBadge, R as SessionSidebarLink, S as SandboxWorkbenchFileArtifact, T as SandboxWorkbenchOpenUIArtifact, U as SessionOptimisticController, V as SESSION_CREATED_EVENT, W as UseOptimisticSessionItemsOptions, X as TerminalPanel, Y as TerminalLine, Z as TerminalProps, _ as TaskBoardItem, _t as WorkspaceSurfaceTitle, a as WorkspaceFilesPane, at as DirectoryPaneProps, b as SandboxWorkbenchArtifact, bt as WorkspaceLayoutProps, c as ApprovalConfidenceStat, ct as ShellHeader, d as ApprovalQueueProps, dt as WorkspacePaneHeaderProps, et as StatusBarProps, f as CalendarEvent, ft as WorkspaceSurface, g as TaskBoardColumn, gt as WorkspaceSurfaceProps, h as TaskBoard, ht as WorkspaceSurfaceHeadingLevel, i as WorkspaceArtifactViewProps, it as DirectoryPane, j as shellShouldRevalidate, k as ShellShouldRevalidateOptions, l as ApprovalItem, lt as ShellHeaderProps, m as CalendarViewProps, mt as WorkspaceSurfaceFrameProps, nt as StatusBanner, o as WorkspaceFilesPaneProps, ot as SHELL_HEADER_HEIGHT, p as CalendarView, pt as WorkspaceSurfaceFrame, q as RuntimePane, r as WorkspaceArtifactView, rt as StatusBannerProps, s as WorkspaceFilesPreview, st as SHELL_INSET_GUTTER, tt as BannerType, u as ApprovalQueue, ut as WorkspacePaneHeader, v as TaskBoardProps, vt as WorkspaceSurfaceTitleProps, w as SandboxWorkbenchMarkdownArtifact, x as SandboxWorkbenchCustomArtifact, y as SandboxWorkbench, yt as WorkspaceLayout, z as SessionSidebarProps } from "./index-DpzFSqjG.js";
14
13
  import { i as VaultTreeProps, n as VAULT_TREE_CHILD_PAGE, r as VaultTree, t as FileChange } from "./vault-tree-CBS8qGT-.js";
15
- import { C as ChangedFile, D as SandboxArtifactTerminal, E as SandboxArtifactPaneProps, S as ArtifactView, T as SandboxArtifact, _ as PillTabItem, a as PreviewViewProps, b as ChangesPane, c as FileBreadcrumb, d as GitStatusBadge, f as PanelHeader, g as computeDiffStats, h as buildUnifiedPatch, i as PreviewView, l as FileBreadcrumbProps, m as DiffStats, n as CodeSurface, o as CodeView, p as PanelHeaderProps, r as CodeSurfaceProps, s as CodeViewProps, t as CODE_THEME, u as DiffStatsBadge, v as PillTabs, w as ChangesPaneProps, x as SandboxArtifactPane, y as PillTabsProps } from "./index-CQGMhSg0.js";
14
+ import { C as SandboxArtifactPane, D as SandboxArtifact, E as ChangesPaneProps, O as SandboxArtifactPaneProps, S as ChangesPane, T as ChangedFile, _ as buildUnifiedPatch, a as PreviewViewProps, b as PillTabs, c as CodeView, d as FileBreadcrumbProps, f as DiffStatsBadge, g as DiffStats, h as PanelHeaderProps, i as PreviewView, k as SandboxArtifactTerminal, l as CodeViewProps, m as PanelHeader, n as CodeSurface, o as JsonView, p as GitStatusBadge, r as CodeSurfaceProps, s as JsonViewProps, t as CODE_THEME, u as FileBreadcrumb, v as computeDiffStats, w as ArtifactView, x as PillTabsProps, y as PillTabItem } from "./index-Z6RCpkmT.js";
16
15
  import { n as DiffViewProps, t as DiffView } from "./diff-view-DDHWtR6X.js";
17
16
  import { a as PreviewReadiness, i as PreviewAccess, n as EmbeddedAppView, r as EmbeddedAppViewProps, t as EmbeddedApp } from "./embedded-app-view-Ta5GI4hx.js";
18
17
  import { OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, OpenUIAction, OpenUIActionsNode, OpenUIArtifactRenderer, OpenUIArtifactRendererProps, OpenUIBadgeNode, OpenUICardNode, OpenUICodeNode, OpenUIComponentNode, OpenUIGridNode, OpenUIHeadingNode, OpenUIKeyValueNode, OpenUIMarkdownNode, OpenUIPrimitive, OpenUISchemaIssue, OpenUISchemaValidation, OpenUISeparatorNode, OpenUIStackNode, OpenUIStatNode, OpenUITableNode, OpenUITextNode, findUnsupportedOpenUINode, validateOpenUIJsonArtifact, validateOpenUIJsonNode } from "./openui.js";
@@ -26,4 +25,4 @@ import { TOOL_CATEGORY_ICONS, cn, copyText, focusField, focusFieldInvalid, focus
26
25
  import { TerminalCursor as TerminalDisplayCursor, TerminalInput as TerminalDisplayInput, TerminalLine as TerminalDisplayLine } from "@tangle-network/ui/primitives";
27
26
  import { ApiSchema, ApiSchemaProps, CodeBlock as CodeBlockDisplay, CopyButtonProps, Markdown, MarkdownLinkChip, MarkdownLinkChipResolver, MarkdownProps, codeBlockGrammar, fenceInfo, getSanitizedMarkdownHeadingIdFromRawFragment, numericColumns, tableCsv } from "@tangle-network/ui/markdown";
28
27
  import { CommandPreview, CommandPreviewProps, DiffPreview, DiffPreviewProps, GlobResultsPreview, GlobResultsPreviewProps, GrepResultsPreview, GrepResultsPreviewProps, QuestionPreview, QuestionPreviewProps, WebSearchPreview, WebSearchPreviewProps, WriteFilePreview, WriteFilePreviewProps } from "@tangle-network/ui/tool-previews";
29
- export { type ActiveProjectActivity, type ActiveSessionActivityOptions, type ActiveSessionConnectionOptions, type ActiveSessionConnectionState, type ActiveSessionReconnectState, type ActiveSessionRecord, type ActiveSessionStatus, type ActiveSessionTransportMode, type ActiveSessionsState, ActivityFeed, type ActivityFeedProps, type ActivityItem, type AgentBranding, type AgentEnrollmentViewState, AgentMessagingConnection, type AgentMessagingConnectionProps, type AgentProfileCapability, type AgentProfileDraft, type AgentProfileOption, AgentProfilePicker, type AgentProfilePickerProps, type AgentStreamEvent, type AgentStreamHistory, type AgentStreamOpener, type AgentStreamPage, type AgentStreamRow, type AgentStreamSource, type AgentStreamState, type AgentTargetSummary, AgentTimeline, type AgentTimelineArtifactItem, AgentTimelineColumn, type AgentTimelineCustomItem, type AgentTimelineFoldItem, type AgentTimelineItem, type AgentTimelineMessageItem, type AgentTimelineProps, type AgentTimelineStatusItem, AgentTimelineStep, type AgentTimelineStepKind, type AgentTimelineStepProps, type AgentTimelineTone, type AgentTimelineToolGroupItem, type AgentTimelineToolItem, type AgentTranscriptEntry, AgentTree, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AlertProps, AlertTitle, type AlertTone, ApiSchema, type ApiSchemaProps, type AppearanceController, type AppendUserMessageOptions, type ApplySdkEventOptions, ApprovalCard, type ApprovalCardProps, type ApprovalConfidenceStat, type ApprovalDiffFile, ApprovalDiffSummary, type ApprovalItem, type ApprovalPlanStep, ApprovalQueue, type ApprovalQueueProps, ArtifactAgentDock, type ArtifactAgentDockProps, type ArtifactAgentDockTransport, type ArtifactDockMessage, type ArtifactDockStreamEvent, type ArtifactKind, ArtifactPane, type ArtifactPaneProps, type ArtifactScope, type ArtifactView, AuthHeader, type AuthHeaderProps, type AuthUser, type AutomationStreamEvent, Avatar, AvatarFallback, AvatarImage, type AvatarProps, type Backend, BackendSelector, type BackendSelectorProps, Badge, type BadgeProps, type BannerType, type BeginAssistantMessageOptions, type BillingBalance, BillingDashboard, type BillingDashboardProps, type BillingSubscription, type BillingUsage, type BotStreamEvent, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, type ButtonProps, CATEGORY_TONES, CODE_THEME, CSV_PREVIEW_ROW_LIMIT, Calendar, type CalendarDate, type CalendarEvent, type CalendarProps, CalendarView, type CalendarViewProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type CardTitleProps, type CategoryTone, type ChangedFile, ChangesPane, type ChangesPaneProps, type ChartReferenceLine, ChatContainer, type ChatContainerProps, ChatMessage, type ChatMessageProps, ChatSession, Checkbox, Chip, type ChipProps, CodeBlock, CodeBlockDisplay, type CodeBlockProps, CodeSurface, type CodeSurfaceProps, CodeView, type CodeViewProps, Collapsible, CollapsibleContent, CollapsibleTrigger, CommandPreview, type CommandPreviewProps, type CompleteAssistantMessageOptions, ComplianceBadge, type ComplianceBadgeProps, type ComplianceProduct, type ComplianceStatus, type ContextBadge, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Conversation, type ConversationEvent, type ConversationNode, type ConversationProps, type ConversationRecord, CopyButton, type CopyButtonProps, type CustomToolRenderer, DEFAULT_REASONING_LEVEL_OPTIONS, DashboardLayout, type DashboardLayoutProps, DashboardPageHeader, type DashboardPageHeaderProps, type SnapshotInfo as DashboardSnapshotInfo, type DashboardUser, DatePicker, type DatePickerProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DiffPreview, type DiffPreviewProps, type DiffStats, DiffStatsBadge, DiffView, type DiffViewProps, DirectoryPane, type DirectoryPaneProps, type DisplayVariant, DropZone, type DropZoneProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type EmbeddedApp, EmbeddedAppView, type EmbeddedAppViewProps, EmptyState, type EmptyStateProps, type EventFlag, type EventStreamHandlers, ExpandedToolDetail, type ExpandedToolDetailProps, type ExposedPort, type FeedSegment, Field, type FieldProps, FileArtifactPane, type FileArtifactPaneProps, FileBreadcrumb, type FileBreadcrumbProps, FileCard, type FileCardProps, type FileChange, type FileDetails, type FileFormat, FileList, type FileListItem, type FileListProps, type FileNode, FilePreview, type FilePreviewKind, type FilePreviewProps, type FileTabData, FileTabs, type FileTabsProps, FileTree, type FileTreeProps, type FileTreeVisibilityOptions, type FileUploader, FilterField, type FilterFieldProps, type FinalTextPart, type GitCommitData, GitHubLoginButton, type GitHubLoginButtonProps, GitPanel, type GitPanelProps, GitStatusBadge, type GitStatusData, GlobResultsPreview, type GlobResultsPreviewProps, GrepResultsPreview, type GrepResultsPreviewProps, type GroupedMessage, HARNESS_BRAND, HARNESS_OPTIONS, HARNESS_REASONING_OPTIONS, type HarnessBrand, HarnessLogo, type HarnessLogoProps, HarnessPicker, type HarnessPickerProps, type HarnessType, Heading, type HeadingProps, type HeadingVariant, HelpText, type HelpTextProps, HoverCard, HoverCardContent, HoverCardDescription, HoverCardHeader, HoverCardTitle, HoverCardTrigger, INSUFFICIENT_BALANCE_CODE, IconTile, type IconTileProps, InlineCode, type InlineCodeProps, InlineThinkingItem, type InlineThinkingItemProps, InlineToolItem, type InlineToolItemProps, Input, type InputProps, type InsufficientBalance, Label, LatestEvents, type LatestEventsProps, LiveDuration, LoginLayout, type LoginLayoutProps, Logo, type LogoProps, Markdown, type MarkdownLinkChip, type MarkdownLinkChipResolver, type MarkdownProps, type McpServer, MessageAuthor, type MessageAuthorProps, MessageList, type MessageListProps, type MessageRole, type MessageRun, type MessageUser, Metric, MetricAreaChart, type MetricAreaChartProps, MetricChart, type MetricChartPoint, type MetricChartProps, type MetricChartTone, type MetricProps, MetricStrip, type MetricStripProps, type ModelBrandIdentity, ModelBrandStack, type ModelInfo, type NavItem, NewSandboxCard, type NewSandboxCardProps, OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, type OpenUIAction, type OpenUIActionsNode, OpenUIArtifactRenderer, type OpenUIArtifactRendererProps, type OpenUIBadgeNode, type OpenUICardNode, type OpenUICodeNode, type OpenUIComponentNode, type OpenUIGridNode, type OpenUIHeadingNode, type OpenUIKeyValueNode, type OpenUIMarkdownNode, type OpenUIPrimitive, type OpenUISchemaIssue, type OpenUISchemaValidation, type OpenUISeparatorNode, type OpenUIStackNode, type OpenUIStatNode, type OpenUITableNode, type OpenUITextNode, OutOfCreditsModal, type OutOfCreditsModalProps, PageHeader, type PageHeaderProps, PageShell, type PageShellProps, Pagination, type PaginationProps, PanelHeader, type PanelHeaderProps, PdfViewer, type PdfViewerConfig, type PdfViewerProps, type PeriodDelta, type PillTabItem, PillTabs, type PillTabsProps, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger, PortsList, type PortsListProps, type PreviewAccess, type PreviewReadiness, PreviewView, type PreviewViewProps, PricingPage, type PricingPageProps, type PricingTier, type ProcessInfo, ProcessList, type ProcessListProps, type ProductVariant, ProfileAvatar, type ProfileAvatarProps, Progress, PromoBanner, type PromoBannerProps, PromptMore, ProviderMark, QuestionPreview, type QuestionPreviewProps, RadioGroup, RadioGroupItem, RailButton, type RailButtonProps, RailExpandable, type RailExpandableProps, type RailExpandableSubItem, RailFlyout, type RailFlyoutProps, RailHeader, type RailHeaderProps, RailModeButton, type RailModeButtonProps, RailSeparator, type RailSeparatorProps, RailTooltip, type RailTooltipProps, type RealtimeSessionOptions, RealtimeSessionRegistry, type RealtimeSessionRegistryProps, type RealtimeSessionState, type RealtimeSessionTarget, type ReasoningLevel, type ReasoningLevelOption, ReasoningLevelPicker, type ReasoningLevelPickerProps, type ReasoningPart, type RecordIndex, type RegisterActiveSessionOptions, ResourceMeter, type ResourceMeterProps, ResourceSnapshot, type ResourceSnapshotItem, type ResourceSnapshotProps, RichFileTree, type RichFileTreeGitEntry, type RichFileTreeGitStatus, type RichFileTreeProps, type RichFileTreeThemeVars, type Run, RunGroup, type RunGroupProps, type RunPhase, RunPhaseList, RunRowShell, type RunRowShellProps, type RunRowStatus, RunRowStatusDot, type RunStats, type RunStatus, RunStatusIcon, type RunStatusIconProps, RuntimePane, type RuntimePaneProps, 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, type SSEEvent, type SandboxArtifact, SandboxArtifactPane, type SandboxArtifactPaneProps, type SandboxArtifactTerminal, SandboxCard, type SandboxCardData, type SandboxCardProps, type SandboxMetrics, SandboxPageShell, type SandboxPageShellProps, type SandboxStatus, SandboxStatusPill, type SandboxStatusPillProps, SandboxTable, type SandboxTableProps, SandboxWorkbench, type SandboxWorkbenchArtifact, type SandboxWorkbenchCustomArtifact, type SandboxWorkbenchFileArtifact, type SandboxWorkbenchLayoutOptions, type SandboxWorkbenchMarkdownArtifact, type SandboxWorkbenchOpenUIArtifact, type SandboxWorkbenchProps, type SandboxWorkbenchSessionProps, type SdkSessionAttachment, type SdkSessionEvent, type SdkSessionSeed, SectionTitle, type SectionTitleProps, SegmentedControl, type SegmentedControlOption, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, type SeriesExtent, type SeriesPoint, type SeriesPointInput, type SeriesScale, SeriesSparkline, type SeriesSparklineProps, Session, type SessionCreatedDetail, type SessionDegradation, type SessionInfo, type SessionMessage, type SessionOptimisticController, type SessionPart, type SessionProjectKey, SessionSidebar, type SessionSidebarBadge, type SessionSidebarFilter, type SessionSidebarGroupBy, type SessionSidebarItem, type SessionSidebarLink, type SessionSidebarProps, type SessionSidebarVariant, type SessionUser, SettingsList, type SettingsListAction, type SettingsListColumns, SettingsListItem, type SettingsListItemProps, type SettingsListMenuItem, type SettingsListProps, SettingsNote, type SettingsNoteProps, SettingsRow, type SettingsRowLayout, type SettingsRowProps, SettingsSection, type SettingsSectionProps, type SharedMessagingRouteViewState, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, ShellHeader, type ShellHeaderProps, type ShellShouldRevalidateArgs, type ShellShouldRevalidateOptions, Sidebar, SidebarContent, type SidebarContentProps, SidebarDropZone, type SidebarDropZoneProps, SidebarLayout, type SidebarLayoutFlyoutItem, type SidebarLayoutNavItem, type SidebarLayoutProps, SidebarPanel, SidebarPanelContent, type SidebarPanelContentProps, SidebarPanelHeader, type SidebarPanelHeaderProps, type SidebarPanelProps, type SidebarProps, SidebarProvider, type SidebarProviderProps, SidebarRail, SidebarRailFooter, type SidebarRailFooterProps, SidebarRailNav, type SidebarRailNavProps, type SidebarRailProps, type SidebarUser, type SidecarAuth, type SidecarMetricsPayload, Skeleton, SkeletonCard, SkeletonTable, Slider, SnapshotList, type SnapshotListProps, type Speaker, SpeakerHeader, type SpeakerHeaderProps, type SpeakerPart, type SpeakerSection, type SpeakerState, StatCard, type StatCardProps, StatusBanner, type StatusBannerProps, StatusBar, type StatusBarProps, type StatusMeta, StatusPill, type StatusPillProps, type StatusTone, Switch, SystemLogsViewer, type SystemLogsViewerProps, TONE_CLASSES, TOOL_CATEGORY_ICONS, TRANSCRIPT_TEXT, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, type TableProps, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tag, type TagProps, TangleKnot, TangleLoginButton, type TangleLoginButtonProps, TaskBoard, type TaskBoardColumn, type TaskBoardItem, type TaskBoardProps, TaskList, type TaskListItem, type TaskListProps, type TaskStatus, type TaskStreamEvent, type TeamRole, TemplateCard, type TemplateCardData, type TemplateCardProps, TerminalCursor, TerminalDisplay, TerminalDisplayCursor, TerminalDisplayInput, TerminalDisplayLine, TerminalInput, TerminalLine, TerminalPanel, type TerminalProps, type TerminalStreamEvent, type TextPart, TextShimmer, type TextShimmerProps, Textarea, type TextareaProps, type ThemeMode, ThemeToggle, ThinkingIndicator, type ThinkingIndicatorProps, TimeSelect, type TimeSelectProps, type Toast, ToastContainer, ToastProvider, type Tone, type ToneClasses, type ToolCall, type ToolCallData, ToolCallFeed, type ToolCallFeedProps, type ToolCallStatus, type ToolCallType, type ToolCategory, type ToolDisplayMetadata, type ToolPart, type ToolState, type ToolStatus, ToolStep, type ToolTime, Toolbar, type ToolbarProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type TraceEvent, TraceWaterfall, type TraceWaterfallProps, TraceWorkspace, type TraceWorkspaceProps, type UploadFile, UploadProgress, type UploadProgressProps, UsageChart, type UsageChartProps, type UsageDataPoint, UsageSummary, type UsageSummaryData, type UsageSummaryProps, type UseAuthOptions, type UseAuthResult, type UseOptimisticSessionItemsOptions, type UsePtySessionOptions, type UsePtySessionReturn, type UseRunGroupsOptions, type UseSSEStreamOptions, type UseSSEStreamResult, type UseSandboxMetricsOptions, type UseSandboxMetricsResult, type UseSdkSessionOptions, type UseSdkSessionReturn, type UseSessionStreamOptions, type UseSessionStreamResult, type UseSidecarAuthOptions, type UseToolCallStreamReturn, UserMenu, type UserMenuProps, UserMessage, type UserMessageProps, VAULT_TREE_CHILD_PAGE, VaultTree, type VaultTreeProps, VirtualList, WebSearchPreview, type WebSearchPreviewProps, Wizard, type WizardProps, WizardStep, type WizardStepProps, WorkspaceArtifactView, type WorkspaceArtifactViewProps, WorkspaceFilesPane, type WorkspaceFilesPaneProps, type WorkspaceFilesPreview, WorkspaceLayout, type WorkspaceLayoutProps, WorkspacePaneHeader, type WorkspacePaneHeaderProps, WorkspaceSurface, WorkspaceSurfaceFrame, type WorkspaceSurfaceFrameProps, type WorkspaceSurfaceHeadingLevel, type WorkspaceSurfaceProps, WorkspaceSurfaceTitle, type WorkspaceSurfaceTitleProps, WriteFilePreview, type WriteFilePreviewProps, 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, formatAxisDuration, formatBytes, formatCalendarDate, formatClock, formatCompact, formatCost, formatCount, formatDuration, formatPrice, formatRelativeAge, formatSpanDuration, formatUptime, formatUtcTime, getActiveSession, getAllActiveSessions, getAllProjectActivity, getCodeLanguage, getFormatLabel, getSanitizedMarkdownHeadingIdFromRawFragment, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getSyntaxLanguage, getToolCategory, getToolDisplayMetadata, getToolErrorText, getTotalRunningSessionCount, hasBackgroundRunningSessions, indexRecord, initialsOf, isOpen, isStreamingAtom, isViewerMessage, ixControl, ixControlAfter, ixControlSoft, ixField, ixRow, ixSelected, ixTabUnderline, localToday, messagesAtom, modelBrandFor, modelProvider, normalizeSeries, numericColumns, parseCalendarDate, parseCsv, parseInsufficientBalance, parseToolEvent, partMapAtom, partitionBySpeaker, periodDelta, plainTextFromMarkdown, recordFlowTrace, model_d_exports as recordModel, registerActiveSession, resetActiveSessions, resolveFilePreviewKind, runStatus, sandboxStatus, seriesAreaPath, seriesExtent, seriesLinePath, seriesMean, seriesScale, sessionAtom, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, shellShouldRevalidate, showsTaskPriority, snapHarnessToModel, statusMeta, tableCsv, taskProgress, taskStatus, timeAgo, timelineItems, toneFor, traceSpanMark, truncateText, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useAgentStream, useApiKey, useAuth, useAutoScroll, useCreateSession, useDeleteSession, useDropdownMenu, useEventStream, useHasBackgroundRunningSessions, useLiveTime, useNavbarSessions, useOptimisticSessionItems, useProjectActivity, useProjectSessions, usePtySession, useRealtimeSession, useRenameSession, useRunCollapseState, useRunGroups, useRunNow, useSSEStream, useSandboxMetrics, useSdkSession, useSessionStream, useSessions, useSessionsByActivity, useSidebar, useSidecarAuth, useTheme, useToast, useToolCallStream, useTotalRunningSessions, validateOpenUIJsonArtifact, validateOpenUIJsonNode, withPrompts };
28
+ export { type ActiveProjectActivity, type ActiveSessionActivityOptions, type ActiveSessionConnectionOptions, type ActiveSessionConnectionState, type ActiveSessionReconnectState, type ActiveSessionRecord, type ActiveSessionStatus, type ActiveSessionTransportMode, type ActiveSessionsState, ActivityFeed, type ActivityFeedProps, type ActivityItem, type AgentBranding, type AgentProfileCapability, type AgentProfileDraft, type AgentProfileOption, AgentProfilePicker, type AgentProfilePickerProps, type AgentStreamEvent, type AgentStreamHistory, type AgentStreamOpener, type AgentStreamPage, type AgentStreamRow, type AgentStreamSource, type AgentStreamState, AgentTimeline, type AgentTimelineArtifactItem, AgentTimelineColumn, type AgentTimelineCustomItem, type AgentTimelineFoldItem, type AgentTimelineItem, type AgentTimelineMessageItem, type AgentTimelineProps, type AgentTimelineStatusItem, AgentTimelineStep, type AgentTimelineStepKind, type AgentTimelineStepProps, type AgentTimelineTone, type AgentTimelineToolGroupItem, type AgentTimelineToolItem, type AgentTranscriptEntry, AgentTree, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AlertProps, AlertTitle, type AlertTone, ApiSchema, type ApiSchemaProps, type AppearanceController, type AppendUserMessageOptions, type ApplySdkEventOptions, ApprovalCard, type ApprovalCardProps, type ApprovalConfidenceStat, type ApprovalDiffFile, ApprovalDiffSummary, type ApprovalItem, type ApprovalPlanStep, ApprovalQueue, type ApprovalQueueProps, ArtifactAgentDock, type ArtifactAgentDockProps, type ArtifactAgentDockTransport, type ArtifactDockMessage, type ArtifactDockStreamEvent, type ArtifactKind, ArtifactPane, type ArtifactPaneProps, type ArtifactScope, type ArtifactView, AuthHeader, type AuthHeaderProps, type AuthUser, type AutomationStreamEvent, Avatar, AvatarFallback, AvatarImage, type AvatarProps, type Backend, BackendSelector, type BackendSelectorProps, Badge, type BadgeProps, type BannerType, type BeginAssistantMessageOptions, type BillingBalance, BillingDashboard, type BillingDashboardProps, type BillingSubscription, type BillingUsage, type BotStreamEvent, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, type ButtonProps, CATEGORY_TONES, CODE_THEME, CSV_PREVIEW_ROW_LIMIT, Calendar, type CalendarDate, type CalendarEvent, type CalendarProps, CalendarView, type CalendarViewProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type CardTitleProps, type CategoryTone, type ChangedFile, ChangesPane, type ChangesPaneProps, type ChartReferenceLine, ChatContainer, type ChatContainerProps, ChatMessage, type ChatMessageProps, ChatSession, Checkbox, Chip, type ChipProps, CodeBlock, CodeBlockDisplay, type CodeBlockProps, CodeSurface, type CodeSurfaceProps, CodeView, type CodeViewProps, Collapsible, CollapsibleContent, CollapsibleTrigger, CommandPreview, type CommandPreviewProps, type CompleteAssistantMessageOptions, ComplianceBadge, type ComplianceBadgeProps, type ComplianceProduct, type ComplianceStatus, type ContextBadge, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Conversation, type ConversationEvent, type ConversationNode, type ConversationProps, type ConversationRecord, CopyButton, type CopyButtonProps, type CustomToolRenderer, DEFAULT_REASONING_LEVEL_OPTIONS, DashboardLayout, type DashboardLayoutProps, DashboardPageHeader, type DashboardPageHeaderProps, type SnapshotInfo as DashboardSnapshotInfo, type DashboardUser, DatePicker, type DatePickerProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DiffPreview, type DiffPreviewProps, type DiffStats, DiffStatsBadge, DiffView, type DiffViewProps, DirectoryPane, type DirectoryPaneProps, type DisplayVariant, DropZone, type DropZoneProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type EmbeddedApp, EmbeddedAppView, type EmbeddedAppViewProps, EmptyState, type EmptyStateProps, type EventFlag, type EventStreamHandlers, ExpandedToolDetail, type ExpandedToolDetailProps, type ExposedPort, type FeedSegment, Field, type FieldProps, FileArtifactPane, type FileArtifactPaneProps, FileBreadcrumb, type FileBreadcrumbProps, FileCard, type FileCardProps, type FileChange, type FileDetails, type FileFormat, FileList, type FileListItem, type FileListProps, type FileNode, FilePreview, type FilePreviewKind, type FilePreviewProps, type FileTabData, FileTabs, type FileTabsProps, FileTree, type FileTreeProps, type FileTreeVisibilityOptions, type FileUploader, FilterField, type FilterFieldProps, type FinalTextPart, type GitCommitData, GitHubLoginButton, type GitHubLoginButtonProps, GitPanel, type GitPanelProps, GitStatusBadge, type GitStatusData, GlobResultsPreview, type GlobResultsPreviewProps, GrepResultsPreview, type GrepResultsPreviewProps, type GroupedMessage, HARNESS_BRAND, HARNESS_OPTIONS, HARNESS_REASONING_OPTIONS, type HarnessBrand, HarnessLogo, type HarnessLogoProps, HarnessPicker, type HarnessPickerProps, type HarnessType, Heading, type HeadingProps, type HeadingVariant, HelpText, type HelpTextProps, HoverCard, HoverCardContent, HoverCardDescription, HoverCardHeader, HoverCardTitle, HoverCardTrigger, INSUFFICIENT_BALANCE_CODE, IconTile, type IconTileProps, InlineCode, type InlineCodeProps, InlineThinkingItem, type InlineThinkingItemProps, InlineToolItem, type InlineToolItemProps, Input, type InputProps, type InsufficientBalance, JsonView, type JsonViewProps, Label, LatestEvents, type LatestEventsProps, LiveDuration, LoginLayout, type LoginLayoutProps, Logo, type LogoProps, Markdown, type MarkdownLinkChip, type MarkdownLinkChipResolver, type MarkdownProps, type McpServer, MessageAuthor, type MessageAuthorProps, MessageList, type MessageListProps, type MessageRole, type MessageRun, type MessageUser, Metric, MetricAreaChart, type MetricAreaChartProps, MetricChart, type MetricChartPoint, type MetricChartProps, type MetricChartTone, type MetricProps, MetricStrip, type MetricStripProps, type ModelBrandIdentity, ModelBrandStack, type ModelInfo, type NavItem, NewSandboxCard, type NewSandboxCardProps, OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, type OpenUIAction, type OpenUIActionsNode, OpenUIArtifactRenderer, type OpenUIArtifactRendererProps, type OpenUIBadgeNode, type OpenUICardNode, type OpenUICodeNode, type OpenUIComponentNode, type OpenUIGridNode, type OpenUIHeadingNode, type OpenUIKeyValueNode, type OpenUIMarkdownNode, type OpenUIPrimitive, type OpenUISchemaIssue, type OpenUISchemaValidation, type OpenUISeparatorNode, type OpenUIStackNode, type OpenUIStatNode, type OpenUITableNode, type OpenUITextNode, OutOfCreditsModal, type OutOfCreditsModalProps, PageHeader, type PageHeaderProps, PageShell, type PageShellProps, Pagination, type PaginationProps, PanelHeader, type PanelHeaderProps, PdfViewer, type PdfViewerConfig, type PdfViewerProps, type PeriodDelta, type PillTabItem, PillTabs, type PillTabsProps, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger, PortsList, type PortsListProps, type PreviewAccess, type PreviewReadiness, PreviewView, type PreviewViewProps, PricingPage, type PricingPageProps, type PricingTier, type ProcessInfo, ProcessList, type ProcessListProps, type ProductVariant, ProfileAvatar, type ProfileAvatarProps, Progress, PromoBanner, type PromoBannerProps, PromptMore, ProviderMark, QuestionPreview, type QuestionPreviewProps, RadioGroup, RadioGroupItem, RailButton, type RailButtonProps, RailExpandable, type RailExpandableProps, type RailExpandableSubItem, RailFlyout, type RailFlyoutProps, RailHeader, type RailHeaderProps, RailModeButton, type RailModeButtonProps, RailSeparator, type RailSeparatorProps, RailTooltip, type RailTooltipProps, type RealtimeSessionOptions, RealtimeSessionRegistry, type RealtimeSessionRegistryProps, type RealtimeSessionState, type RealtimeSessionTarget, type ReasoningLevel, type ReasoningLevelOption, ReasoningLevelPicker, type ReasoningLevelPickerProps, type ReasoningPart, type RecordIndex, type RegisterActiveSessionOptions, ResourceMeter, type ResourceMeterProps, ResourceSnapshot, type ResourceSnapshotItem, type ResourceSnapshotProps, RichFileTree, type RichFileTreeGitEntry, type RichFileTreeGitStatus, type RichFileTreeProps, type RichFileTreeThemeVars, type Run, RunGroup, type RunGroupProps, type RunPhase, RunPhaseList, RunRowShell, type RunRowShellProps, type RunRowStatus, RunRowStatusDot, type RunStats, type RunStatus, RunStatusIcon, type RunStatusIconProps, RuntimePane, type RuntimePaneProps, 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, type SSEEvent, type SandboxArtifact, SandboxArtifactPane, type SandboxArtifactPaneProps, type SandboxArtifactTerminal, SandboxCard, type SandboxCardData, type SandboxCardProps, type SandboxMetrics, SandboxPageShell, type SandboxPageShellProps, type SandboxStatus, SandboxStatusPill, type SandboxStatusPillProps, SandboxTable, type SandboxTableProps, SandboxWorkbench, type SandboxWorkbenchArtifact, type SandboxWorkbenchCustomArtifact, type SandboxWorkbenchFileArtifact, type SandboxWorkbenchLayoutOptions, type SandboxWorkbenchMarkdownArtifact, type SandboxWorkbenchOpenUIArtifact, type SandboxWorkbenchProps, type SandboxWorkbenchSessionProps, type SdkSessionAttachment, type SdkSessionEvent, type SdkSessionSeed, SectionTitle, type SectionTitleProps, SegmentedControl, type SegmentedControlOption, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, type SeriesExtent, type SeriesPoint, type SeriesPointInput, type SeriesScale, SeriesSparkline, type SeriesSparklineProps, Session, type SessionCreatedDetail, type SessionDegradation, type SessionInfo, type SessionMessage, type SessionOptimisticController, type SessionPart, type SessionProjectKey, SessionSidebar, type SessionSidebarBadge, type SessionSidebarFilter, type SessionSidebarGroupBy, type SessionSidebarItem, type SessionSidebarLink, type SessionSidebarProps, type SessionSidebarVariant, type SessionUser, SettingsList, type SettingsListAction, type SettingsListColumns, SettingsListItem, type SettingsListItemProps, type SettingsListMenuItem, type SettingsListProps, SettingsNote, type SettingsNoteProps, SettingsRow, type SettingsRowLayout, type SettingsRowProps, SettingsSection, type SettingsSectionProps, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, ShellHeader, type ShellHeaderProps, type ShellShouldRevalidateArgs, type ShellShouldRevalidateOptions, Sidebar, SidebarContent, type SidebarContentProps, SidebarDropZone, type SidebarDropZoneProps, SidebarLayout, type SidebarLayoutFlyoutItem, type SidebarLayoutNavItem, type SidebarLayoutProps, SidebarPanel, SidebarPanelContent, type SidebarPanelContentProps, SidebarPanelHeader, type SidebarPanelHeaderProps, type SidebarPanelProps, type SidebarProps, SidebarProvider, type SidebarProviderProps, SidebarRail, SidebarRailFooter, type SidebarRailFooterProps, SidebarRailNav, type SidebarRailNavProps, type SidebarRailProps, type SidebarUser, type SidecarAuth, type SidecarMetricsPayload, Skeleton, SkeletonCard, SkeletonTable, Slider, SnapshotList, type SnapshotListProps, type Speaker, SpeakerHeader, type SpeakerHeaderProps, type SpeakerPart, type SpeakerSection, type SpeakerState, StatCard, type StatCardProps, StatusBanner, type StatusBannerProps, StatusBar, type StatusBarProps, type StatusMeta, StatusPill, type StatusPillProps, type StatusTone, Switch, SystemLogsViewer, type SystemLogsViewerProps, TONE_CLASSES, TOOL_CATEGORY_ICONS, TRANSCRIPT_TEXT, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, type TableProps, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tag, type TagProps, TangleKnot, TangleLoginButton, type TangleLoginButtonProps, TaskBoard, type TaskBoardColumn, type TaskBoardItem, type TaskBoardProps, TaskList, type TaskListItem, type TaskListProps, type TaskStatus, type TaskStreamEvent, type TeamRole, TemplateCard, type TemplateCardData, type TemplateCardProps, TerminalCursor, TerminalDisplay, TerminalDisplayCursor, TerminalDisplayInput, TerminalDisplayLine, TerminalInput, TerminalLine, TerminalPanel, type TerminalProps, type TerminalStreamEvent, type TextPart, TextShimmer, type TextShimmerProps, Textarea, type TextareaProps, type ThemeMode, ThemeToggle, ThinkingIndicator, type ThinkingIndicatorProps, TimeSelect, type TimeSelectProps, type Toast, ToastContainer, ToastProvider, type Tone, type ToneClasses, type ToolCall, type ToolCallData, ToolCallFeed, type ToolCallFeedProps, type ToolCallStatus, type ToolCallType, type ToolCategory, type ToolDisplayMetadata, type ToolPart, type ToolState, type ToolStatus, ToolStep, type ToolTime, Toolbar, type ToolbarProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type TraceEvent, TraceWaterfall, type TraceWaterfallProps, TraceWorkspace, type TraceWorkspaceProps, type UploadFile, UploadProgress, type UploadProgressProps, UsageChart, type UsageChartProps, type UsageDataPoint, UsageSummary, type UsageSummaryData, type UsageSummaryProps, type UseAuthOptions, type UseAuthResult, type UseOptimisticSessionItemsOptions, type UsePtySessionOptions, type UsePtySessionReturn, type UseRunGroupsOptions, type UseSSEStreamOptions, type UseSSEStreamResult, type UseSandboxMetricsOptions, type UseSandboxMetricsResult, type UseSdkSessionOptions, type UseSdkSessionReturn, type UseSessionStreamOptions, type UseSessionStreamResult, type UseSidecarAuthOptions, type UseToolCallStreamReturn, UserMenu, type UserMenuProps, UserMessage, type UserMessageProps, VAULT_TREE_CHILD_PAGE, VaultTree, type VaultTreeProps, VirtualList, WebSearchPreview, type WebSearchPreviewProps, Wizard, type WizardProps, WizardStep, type WizardStepProps, WorkspaceArtifactView, type WorkspaceArtifactViewProps, WorkspaceFilesPane, type WorkspaceFilesPaneProps, type WorkspaceFilesPreview, WorkspaceLayout, type WorkspaceLayoutProps, WorkspacePaneHeader, type WorkspacePaneHeaderProps, WorkspaceSurface, WorkspaceSurfaceFrame, type WorkspaceSurfaceFrameProps, type WorkspaceSurfaceHeadingLevel, type WorkspaceSurfaceProps, WorkspaceSurfaceTitle, type WorkspaceSurfaceTitleProps, WriteFilePreview, type WriteFilePreviewProps, 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, formatAxisDuration, formatBytes, formatCalendarDate, formatClock, formatCompact, formatCost, formatCount, formatDuration, formatPrice, formatRelativeAge, formatSpanDuration, formatUptime, formatUtcTime, getActiveSession, getAllActiveSessions, getAllProjectActivity, getCodeLanguage, getFormatLabel, getSanitizedMarkdownHeadingIdFromRawFragment, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getSyntaxLanguage, getToolCategory, getToolDisplayMetadata, getToolErrorText, getTotalRunningSessionCount, hasBackgroundRunningSessions, indexRecord, initialsOf, isOpen, isStreamingAtom, isViewerMessage, ixControl, ixControlAfter, ixControlSoft, ixField, ixRow, ixSelected, ixTabUnderline, localToday, messagesAtom, modelBrandFor, modelProvider, normalizeSeries, numericColumns, parseCalendarDate, parseCsv, parseInsufficientBalance, parseToolEvent, partMapAtom, partitionBySpeaker, periodDelta, plainTextFromMarkdown, recordFlowTrace, model_d_exports as recordModel, registerActiveSession, resetActiveSessions, resolveFilePreviewKind, runStatus, sandboxStatus, seriesAreaPath, seriesExtent, seriesLinePath, seriesMean, seriesScale, sessionAtom, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, shellShouldRevalidate, showsTaskPriority, snapHarnessToModel, statusMeta, tableCsv, taskProgress, taskStatus, timeAgo, timelineItems, toneFor, traceSpanMark, truncateText, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useAgentStream, useApiKey, useAuth, useAutoScroll, useCreateSession, useDeleteSession, useDropdownMenu, useEventStream, useHasBackgroundRunningSessions, useLiveTime, useNavbarSessions, useOptimisticSessionItems, useProjectActivity, useProjectSessions, usePtySession, useRealtimeSession, useRenameSession, useRunCollapseState, useRunGroups, useRunNow, useSSEStream, useSandboxMetrics, useSdkSession, useSessionStream, useSessions, useSessionsByActivity, useSidebar, useSidecarAuth, useTheme, useToast, useToolCallStream, useTotalRunningSessions, validateOpenUIJsonArtifact, validateOpenUIJsonNode, withPrompts };
package/dist/index.js CHANGED
@@ -8,21 +8,20 @@ import { $ as useSidebar, A as parseInsufficientBalance, B as SidebarPanel, C as
8
8
  import { i as modelBrandFor, n as ProviderMark, r as canonicalModelId, t as ModelBrandStack } from "./model-brand-BQlarCIo.js";
9
9
  import { a as formatPrice, i as PricingPage, n as SandboxPageShell, o as BillingDashboard, r as UsageChart, t as DashboardPageHeader } from "./page-layout-CuOpvZys.js";
10
10
  import { t as usePtySession } from "./use-pty-session-BHVQlSs-.js";
11
- import { a as PanelHeader, i as GitStatusBadge, n as SandboxArtifactPane, o as PillTabs, r as DiffStatsBadge, t as ChangesPane } from "./workbench-Z9wbei53.js";
11
+ import { a as GitStatusBadge, i as DiffStatsBadge, n as ChangesPane, o as PanelHeader, r as SandboxArtifactPane, s as PillTabs, t as JsonView } from "./workbench-DWQ0pm9w.js";
12
12
  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";
13
13
  import { a as CodeSurface, i as CODE_THEME, n as buildUnifiedPatch, r as computeDiffStats, t as DiffView } from "./diff-view-B9mNeTLF.js";
14
14
  import { n as FileBreadcrumb, t as CodeView } from "./code-view-BlhCS1SD.js";
15
15
  import { n as PreviewView, t as EmbeddedAppView } from "./embedded-app-view-DXsoPale.js";
16
16
  import { OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, OpenUIArtifactRenderer, findUnsupportedOpenUINode, validateOpenUIJsonArtifact, validateOpenUIJsonNode } from "./openui.js";
17
17
  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";
18
- import { a as useEventStream, i as useAgentStream, n as LatestEvents, o as TraceWaterfall, r as foldAgentRows, s as traceSpanMark, t as TraceWorkspace } from "./trace-workspace-B634-EcA.js";
18
+ import { a as useEventStream, i as useAgentStream, n as LatestEvents, o as TraceWaterfall, r as foldAgentRows, s as traceSpanMark, t as TraceWorkspace } from "./trace-workspace-BULdFHrf.js";
19
19
  import { S as model_exports, i as ToolStep, r as PromptMore, s as timelineItems, w as recordFlowTrace, y as indexRecord } from "./use-follow-tail-DZFn7QDO.js";
20
20
  import { n as Conversation, t as AgentTree } from "./AgentTree-D4d06rfH.js";
21
21
  import { t as withPrompts } from "./record-C-EUpK-n.js";
22
22
  import { ApprovalCard, ApprovalDiffSummary, ExpandedToolDetail, InlineThinkingItem, InlineToolItem, LiveDuration, RunGroup, RunPhaseList, RunRowShell, RunRowStatusDot, RunStatusIcon, TaskList, ToolCallFeed, isOpen, parseToolEvent, runStatus, showsTaskPriority, statusMeta, taskProgress, taskStatus } from "./run.js";
23
23
  import "./vault-tree.js";
24
24
  import { a as TangleLoginButton, i as UserMenu, n as GitHubLoginButton, r as LoginLayout, t as AuthHeader } from "./auth-BDpoZ_2f.js";
25
- import { t as AgentMessagingConnection } from "./connections-DymjzHe_.js";
26
25
  import { i as useSessionStream, t as useSidecarAuth } from "./use-sidecar-auth-D9BrWCg1.js";
27
26
  import { RealtimeSessionRegistry, createAuthFetcher, useApiKey, useAuth, useAutoScroll, useCreateSession, useDeleteSession, useDropdownMenu, useLiveTime, useRealtimeSession, useRenameSession, useRunCollapseState, useRunGroups, useRunNow, useSSEStream, useSandboxMetrics, useSdkSession, useSessions, useToolCallStream } from "./hooks.js";
28
27
  import { activeSessionsAtom, addMessage, addParts, bumpActiveSessionActivity, clearChat, connectSession, disconnectSession, getActiveSession, getAllActiveSessions, getAllProjectActivity, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getTotalRunningSessionCount, hasBackgroundRunningSessions, isStreamingAtom, messagesAtom, partMapAtom, registerActiveSession, resetActiveSessions, sessionAtom, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useHasBackgroundRunningSessions, useNavbarSessions, useProjectActivity, useProjectSessions, useSessionsByActivity, useTotalRunningSessions } from "./stores.js";
@@ -31,4 +30,4 @@ import { TOOL_CATEGORY_ICONS, cn, copyText, focusField, focusFieldInvalid, focus
31
30
  import { TerminalCursor as TerminalDisplayCursor, TerminalInput as TerminalDisplayInput, TerminalLine as TerminalDisplayLine } from "@tangle-network/ui/primitives";
32
31
  import { ApiSchema, CodeBlock as CodeBlockDisplay, Markdown, codeBlockGrammar, fenceInfo, getSanitizedMarkdownHeadingIdFromRawFragment, numericColumns, tableCsv } from "@tangle-network/ui/markdown";
33
32
  import { CommandPreview, DiffPreview, GlobResultsPreview, GrepResultsPreview, QuestionPreview, WebSearchPreview, WriteFilePreview } from "@tangle-network/ui/tool-previews";
34
- export { ActivityFeed, AgentMessagingConnection, AgentProfilePicker, AgentTimeline, AgentTimelineColumn, AgentTimelineStep, AgentTree, 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, Conversation, 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, PromptMore, 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, ToolStep, Toolbar, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TraceWaterfall, TraceWorkspace, UploadProgress, UsageChart, UsageSummary, UserMenu, UserMessage, VAULT_TREE_CHILD_PAGE, VaultTree, VirtualList, 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, formatAxisDuration, formatBytes, formatCalendarDate, formatClock, formatCompact, formatCost, formatCount, formatDuration, formatPrice, formatRelativeAge, formatSpanDuration, formatUptime, formatUtcTime, getActiveSession, getAllActiveSessions, getAllProjectActivity, getCodeLanguage, getFormatLabel, getSanitizedMarkdownHeadingIdFromRawFragment, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getSyntaxLanguage, getToolCategory, getToolDisplayMetadata, getToolErrorText, getTotalRunningSessionCount, hasBackgroundRunningSessions, indexRecord, initialsOf, isOpen, isStreamingAtom, isViewerMessage, ixControl, ixControlAfter, ixControlSoft, ixField, ixRow, ixSelected, ixTabUnderline, localToday, messagesAtom, modelBrandFor, modelProvider, normalizeSeries, numericColumns, parseCalendarDate, parseCsv, parseInsufficientBalance, parseToolEvent, partMapAtom, partitionBySpeaker, periodDelta, plainTextFromMarkdown, recordFlowTrace, model_exports as recordModel, registerActiveSession, resetActiveSessions, resolveFilePreviewKind, runStatus, sandboxStatus, seriesAreaPath, seriesExtent, seriesLinePath, seriesMean, seriesScale, sessionAtom, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, shellShouldRevalidate, showsTaskPriority, snapHarnessToModel, statusMeta, tableCsv, taskProgress, taskStatus, timeAgo, timelineItems, toneFor, traceSpanMark, truncateText, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useAgentStream, useApiKey, useAuth, useAutoScroll, useCreateSession, useDeleteSession, useDropdownMenu, useEventStream, useHasBackgroundRunningSessions, useLiveTime, useNavbarSessions, useOptimisticSessionItems, useProjectActivity, useProjectSessions, usePtySession, useRealtimeSession, useRenameSession, useRunCollapseState, useRunGroups, useRunNow, useSSEStream, useSandboxMetrics, useSdkSession, useSessionStream, useSessions, useSessionsByActivity, useSidebar, useSidecarAuth, useTheme, useToast, useToolCallStream, useTotalRunningSessions, validateOpenUIJsonArtifact, validateOpenUIJsonNode, withPrompts };
33
+ export { ActivityFeed, AgentProfilePicker, AgentTimeline, AgentTimelineColumn, AgentTimelineStep, AgentTree, 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, Conversation, 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, JsonView, 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, PromptMore, 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, ToolStep, Toolbar, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TraceWaterfall, TraceWorkspace, UploadProgress, UsageChart, UsageSummary, UserMenu, UserMessage, VAULT_TREE_CHILD_PAGE, VaultTree, VirtualList, 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, formatAxisDuration, formatBytes, formatCalendarDate, formatClock, formatCompact, formatCost, formatCount, formatDuration, formatPrice, formatRelativeAge, formatSpanDuration, formatUptime, formatUtcTime, getActiveSession, getAllActiveSessions, getAllProjectActivity, getCodeLanguage, getFormatLabel, getSanitizedMarkdownHeadingIdFromRawFragment, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getSyntaxLanguage, getToolCategory, getToolDisplayMetadata, getToolErrorText, getTotalRunningSessionCount, hasBackgroundRunningSessions, indexRecord, initialsOf, isOpen, isStreamingAtom, isViewerMessage, ixControl, ixControlAfter, ixControlSoft, ixField, ixRow, ixSelected, ixTabUnderline, localToday, messagesAtom, modelBrandFor, modelProvider, normalizeSeries, numericColumns, parseCalendarDate, parseCsv, parseInsufficientBalance, parseToolEvent, partMapAtom, partitionBySpeaker, periodDelta, plainTextFromMarkdown, recordFlowTrace, model_exports as recordModel, registerActiveSession, resetActiveSessions, resolveFilePreviewKind, runStatus, sandboxStatus, seriesAreaPath, seriesExtent, seriesLinePath, seriesMean, seriesScale, sessionAtom, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, shellShouldRevalidate, showsTaskPriority, snapHarnessToModel, statusMeta, tableCsv, taskProgress, taskStatus, timeAgo, timelineItems, toneFor, traceSpanMark, truncateText, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useAgentStream, useApiKey, useAuth, useAutoScroll, useCreateSession, useDeleteSession, useDropdownMenu, useEventStream, useHasBackgroundRunningSessions, useLiveTime, useNavbarSessions, useOptimisticSessionItems, useProjectActivity, useProjectSessions, usePtySession, useRealtimeSession, useRenameSession, useRunCollapseState, useRunGroups, useRunNow, useSSEStream, useSandboxMetrics, useSdkSession, useSessionStream, useSessions, useSessionsByActivity, useSidebar, useSidecarAuth, useTheme, useToast, useToolCallStream, useTotalRunningSessions, validateOpenUIJsonArtifact, validateOpenUIJsonNode, withPrompts };
package/dist/run/live.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { t as WorkspaceFilesPane } from "../workspace-files-pane-D24G7H_Z.js";
2
2
  import { t as DiffView } from "../diff-view-B9mNeTLF.js";
3
3
  import { t as CodeView } from "../code-view-BlhCS1SD.js";
4
- import { a as useEventStream, t as TraceWorkspace } from "../trace-workspace-B634-EcA.js";
4
+ import { a as useEventStream, t as TraceWorkspace } from "../trace-workspace-BULdFHrf.js";
5
5
  import { useDocument } from "../hooks/use-document.js";
6
6
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
7
  import { useEffect, useMemo, useRef, useState } from "react";
package/dist/run.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as VirtualList } from "./VirtualList-DcSGbEtA.js";
2
- import { a as useEventStream, i as useAgentStream, n as LatestEvents, o as TraceWaterfall, r as foldAgentRows, s as traceSpanMark, t as TraceWorkspace } from "./trace-workspace-B634-EcA.js";
2
+ import { a as useEventStream, i as useAgentStream, n as LatestEvents, o as TraceWaterfall, r as foldAgentRows, s as traceSpanMark, t as TraceWorkspace } from "./trace-workspace-BULdFHrf.js";
3
3
  import { S as model_exports, i as ToolStep, r as PromptMore, s as timelineItems, w as recordFlowTrace, y as indexRecord } from "./use-follow-tail-DZFn7QDO.js";
4
4
  import { n as Conversation, t as AgentTree } from "./AgentTree-D4d06rfH.js";
5
5
  import { t as withPrompts } from "./record-C-EUpK-n.js";
package/dist/styles.css CHANGED
@@ -3968,6 +3968,18 @@
3968
3968
  .text-\[var\(--surface-warning-text\)\] {
3969
3969
  color: var(--surface-warning-text);
3970
3970
  }
3971
+ .text-\[var\(--syntax-function\,currentColor\)\] {
3972
+ color: var(--syntax-function,currentColor);
3973
+ }
3974
+ .text-\[var\(--syntax-keyword\,currentColor\)\] {
3975
+ color: var(--syntax-keyword,currentColor);
3976
+ }
3977
+ .text-\[var\(--syntax-number\,currentColor\)\] {
3978
+ color: var(--syntax-number,currentColor);
3979
+ }
3980
+ .text-\[var\(--syntax-string\,currentColor\)\] {
3981
+ color: var(--syntax-string,currentColor);
3982
+ }
3971
3983
  .text-\[var\(--text-dim\)\] {
3972
3984
  color: var(--text-dim);
3973
3985
  }
@@ -5991,9 +6003,6 @@
5991
6003
  text-overflow: ellipsis;
5992
6004
  white-space: nowrap;
5993
6005
  }
5994
- .sm\:p-4 {
5995
- padding: calc(var(--spacing) * 4);
5996
- }
5997
6006
  .sm\:p-5 {
5998
6007
  padding: calc(var(--spacing) * 5);
5999
6008
  }
@@ -305,9 +305,9 @@ function useAgentStream(url, openEventSource, history) {
305
305
  const { state, current, update, beginning, begin, reload, pageReader } = useAgentWindow(url, history);
306
306
  const streamUrl = useCallback(() => {
307
307
  const target = new URL(url, location.href);
308
- if (history && current.current.generation !== void 0) target.searchParams.set("generation", String(current.current.generation));
308
+ if (current.current.generation !== void 0) target.searchParams.set("generation", String(current.current.generation));
309
309
  return target.toString();
310
- }, [url, !!history]);
310
+ }, [url]);
311
311
  useEventStream(!url || history && (!state.ready || state.ended || state.reading || beginning || !history.alive) ? void 0 : streamUrl, {
312
312
  opener: openEventSource,
313
313
  after: () => current.current.lastSeq,
@@ -1,4 +1,6 @@
1
1
  import { t as cn$1 } from "./utils-BER_bdgE.js";
2
+ import { t as revealInScroller } from "./reveal-in-scroller-CzKwuqCG.js";
3
+ import { t as VirtualList } from "./VirtualList-DcSGbEtA.js";
2
4
  import { a as PortsList } from "./dashboard-exTS8tta.js";
3
5
  import { n as TerminalView } from "./terminal-nUCznZRj.js";
4
6
  import { n as buildUnifiedPatch, r as computeDiffStats, t as DiffView } from "./diff-view-B9mNeTLF.js";
@@ -7,7 +9,8 @@ import { n as PreviewView } from "./embedded-app-view-DXsoPale.js";
7
9
  import { Button, Skeleton, Textarea } from "@tangle-network/ui/primitives";
8
10
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
11
  import * as React$1 from "react";
10
- import { Check, Code2, Copy, GitBranch, GitCompare, Globe, Network, RefreshCw, SquareTerminal } from "lucide-react";
12
+ import { useMemo, useRef, useState } from "react";
13
+ import { Check, ChevronRight, Code2, Copy, GitBranch, GitCompare, Globe, Network, RefreshCw, SquareTerminal } from "lucide-react";
11
14
  import { focusRing, focusRingInset } from "@tangle-network/ui/utils";
12
15
  // src/workbench/pill-tabs.tsx
13
16
  /**
@@ -721,4 +724,310 @@ function ChangesPane({ branch, ahead = 0, behind = 0, files, selectedPath, onSel
721
724
  ]
722
725
  });
723
726
  }
724
- export { PanelHeader as a, GitStatusBadge as i, SandboxArtifactPane as n, PillTabs as o, DiffStatsBadge as r, ChangesPane as t };
727
+ // src/workbench/json-view.tsx
728
+ /** Containers open level by level while the open rows stay within this; a larger level starts collapsed. */
729
+ const OPEN_ROWS = 400;
730
+ const INDENT = 16;
731
+ const isContainer = (value) => typeof value === "object" && value !== null;
732
+ const pointer = (key) => key.replace(/~/g, "~0").replace(/\//g, "~1");
733
+ const keyOf = (row) => row.path;
734
+ function children(value, path) {
735
+ if (Array.isArray(value)) return value.map((child, i) => ({
736
+ key: String(i),
737
+ index: true,
738
+ value: child,
739
+ path: `${path}/${i}`
740
+ }));
741
+ if (!isContainer(value)) return [];
742
+ return Object.entries(value).map(([key, child]) => ({
743
+ key,
744
+ index: false,
745
+ value: child,
746
+ path: `${path}/${pointer(key)}`
747
+ }));
748
+ }
749
+ const count = (n, one, many) => `${n.toLocaleString("en-US")} ${n === 1 ? one : many}`;
750
+ const size = (value) => Array.isArray(value) ? count(value.length, "item", "items") : count(Object.keys(value).length, "key", "keys");
751
+ function parse(text, lines) {
752
+ if (!lines) try {
753
+ const value = JSON.parse(text);
754
+ return isContainer(value) ? {
755
+ roots: children(value, ""),
756
+ summary: size(value)
757
+ } : {
758
+ roots: [{
759
+ key: null,
760
+ index: false,
761
+ value,
762
+ path: "$"
763
+ }],
764
+ summary: "One value"
765
+ };
766
+ } catch (error) {
767
+ return { error: `This file is not valid JSON: ${error instanceof Error ? error.message : String(error)}` };
768
+ }
769
+ const roots = [];
770
+ const source = text.split("\n");
771
+ for (let i = 0; i < source.length; i++) {
772
+ if (!source[i].trim()) continue;
773
+ try {
774
+ roots.push({
775
+ key: String(i + 1),
776
+ index: true,
777
+ value: JSON.parse(source[i]),
778
+ path: `/${i + 1}`
779
+ });
780
+ } catch (error) {
781
+ return { error: `Line ${i + 1} is not valid JSON: ${error instanceof Error ? error.message : String(error)}` };
782
+ }
783
+ }
784
+ return {
785
+ roots,
786
+ summary: count(roots.length, "line", "lines")
787
+ };
788
+ }
789
+ function initiallyOpen(roots) {
790
+ const open = /* @__PURE__ */ new Set();
791
+ let shown = roots.length, level = roots.filter((entry) => isContainer(entry.value));
792
+ while (level.length) {
793
+ const next = level.flatMap((entry) => children(entry.value, entry.path));
794
+ if (shown + next.length > OPEN_ROWS) break;
795
+ for (const entry of level) open.add(entry.path);
796
+ shown += next.length;
797
+ level = next.filter((entry) => isContainer(entry.value));
798
+ }
799
+ return open;
800
+ }
801
+ function everyContainer(roots) {
802
+ const open = /* @__PURE__ */ new Set();
803
+ const visit = (entry) => {
804
+ if (isContainer(entry.value)) {
805
+ open.add(entry.path);
806
+ children(entry.value, entry.path).forEach(visit);
807
+ }
808
+ };
809
+ roots.forEach(visit);
810
+ return open;
811
+ }
812
+ function flatten(roots, open) {
813
+ const rows = [];
814
+ const walk = (entries, depth, parent) => entries.forEach((entry, i) => {
815
+ rows.push({
816
+ ...entry,
817
+ depth,
818
+ parent,
819
+ posInSet: i + 1,
820
+ setSize: entries.length
821
+ });
822
+ if (open.has(entry.path)) walk(children(entry.value, entry.path), depth + 1, entry.path);
823
+ });
824
+ walk(roots, 0, null);
825
+ return rows;
826
+ }
827
+ /** A collapsed container's first fields on one line, such as `{id: "OH-31", state: "US-OH", …}`. */
828
+ function preview(value) {
829
+ const parts = [];
830
+ let length = 0;
831
+ for (const [key, child] of Array.isArray(value) ? value.map((child, i) => [String(i), child]) : Object.entries(value)) {
832
+ const shown = isContainer(child) ? Array.isArray(child) ? "[…]" : "{…}" : typeof child === "string" && child.length > 40 ? JSON.stringify(`${child.slice(0, 39)}…`) : JSON.stringify(child);
833
+ const part = Array.isArray(value) ? shown : `${key}: ${shown}`;
834
+ if (length + part.length > 160) {
835
+ parts.push("…");
836
+ break;
837
+ }
838
+ parts.push(part);
839
+ length += part.length + 2;
840
+ }
841
+ return Array.isArray(value) ? `[${parts.join(", ")}]` : `{${parts.join(", ")}}`;
842
+ }
843
+ function Value({ value, open }) {
844
+ if (isContainer(value)) return /* @__PURE__ */ jsxs(Fragment, { children: [!open && /* @__PURE__ */ jsx("span", {
845
+ className: "mr-2 opacity-80",
846
+ children: preview(value)
847
+ }), /* @__PURE__ */ jsx("span", {
848
+ className: "text-muted-foreground",
849
+ children: size(value)
850
+ })] });
851
+ if (typeof value === "string") return /* @__PURE__ */ jsxs("span", {
852
+ className: "text-[var(--syntax-string,currentColor)]",
853
+ children: [
854
+ "\"",
855
+ value,
856
+ "\""
857
+ ]
858
+ });
859
+ return /* @__PURE__ */ jsx("span", {
860
+ className: typeof value === "number" ? "text-[var(--syntax-number,currentColor)]" : "text-[var(--syntax-keyword,currentColor)]",
861
+ children: String(value)
862
+ });
863
+ }
864
+ /**
865
+ * JSON and JSON Lines as a collapsible, virtualized tree: objects and arrays open and close, small documents open
866
+ * whole, and long strings wrap. Rows render near the viewport of the nearest scrolling ancestor, so a file of
867
+ * thousands of values stays fast. Keyboard: arrows move and open or close, Home/End jump, Enter or Space toggles.
868
+ */
869
+ function JsonView({ text, lines = false, label = lines ? "JSON Lines" : "JSON", className }) {
870
+ const parsed = useMemo(() => parse(text, lines), [text, lines]);
871
+ const roots = "roots" in parsed ? parsed.roots : [];
872
+ const [open, setOpen] = useState(() => initiallyOpen(roots));
873
+ const rows = useMemo(() => flatten(roots, open), [roots, open]);
874
+ const [focused, setFocused] = useState(null);
875
+ const [target, setTarget] = useState();
876
+ const rowRefs = useRef(/* @__PURE__ */ new Map());
877
+ const pendingFocus = useRef(null);
878
+ const treeRef = useRef(null), scroller = useRef(null);
879
+ const tabStop = rows.some((row) => row.path === focused) ? focused : rows[0]?.path ?? null;
880
+ const toggle = (path, value = !open.has(path)) => setOpen((current) => {
881
+ const next = new Set(current);
882
+ if (value) next.add(path);
883
+ else next.delete(path);
884
+ return next;
885
+ });
886
+ const focusRow = (path) => {
887
+ if (!path) return;
888
+ setFocused(path);
889
+ const element = rowRefs.current.get(path);
890
+ if (element) {
891
+ setTarget(void 0);
892
+ element.focus({ preventScroll: true });
893
+ revealInScroller(element);
894
+ } else {
895
+ pendingFocus.current = path;
896
+ setTarget(path);
897
+ }
898
+ };
899
+ const onKeyDown = (event, row, at) => {
900
+ const container = isContainer(row.value), expanded = open.has(row.path);
901
+ const moves = {
902
+ ArrowDown: rows[at + 1]?.path,
903
+ ArrowUp: rows[at - 1]?.path,
904
+ Home: rows[0]?.path,
905
+ End: rows[rows.length - 1]?.path
906
+ };
907
+ if (event.key in moves) focusRow(moves[event.key]);
908
+ else if (event.key === "ArrowRight" && container) {
909
+ if (expanded) focusRow(rows[at + 1]?.parent === row.path ? rows[at + 1].path : null);
910
+ else toggle(row.path, true);
911
+ } else if (event.key === "ArrowLeft") {
912
+ if (expanded) toggle(row.path, false);
913
+ else focusRow(row.parent);
914
+ } else if ((event.key === "Enter" || event.key === " ") && container) toggle(row.path);
915
+ else return;
916
+ event.preventDefault();
917
+ event.stopPropagation();
918
+ };
919
+ if ("error" in parsed) return /* @__PURE__ */ jsxs("div", {
920
+ className: cn$1("flex flex-col gap-3 p-4", className),
921
+ children: [/* @__PURE__ */ jsx("p", {
922
+ role: "alert",
923
+ className: "text-sm text-[var(--surface-danger-text)]",
924
+ children: parsed.error
925
+ }), /* @__PURE__ */ jsx("pre", {
926
+ className: "whitespace-pre-wrap font-mono text-sm leading-6 text-foreground [overflow-wrap:anywhere]",
927
+ children: text
928
+ })]
929
+ });
930
+ const render = (row, at) => {
931
+ const container = isContainer(row.value), expanded = container && open.has(row.path);
932
+ return /* @__PURE__ */ jsxs("div", {
933
+ ref: (element) => {
934
+ if (!element) {
935
+ rowRefs.current.delete(row.path);
936
+ return;
937
+ }
938
+ rowRefs.current.set(row.path, element);
939
+ if (pendingFocus.current === row.path) {
940
+ pendingFocus.current = null;
941
+ element.focus({ preventScroll: true });
942
+ }
943
+ },
944
+ role: "treeitem",
945
+ "aria-level": row.depth + 1,
946
+ "aria-posinset": row.posInSet,
947
+ "aria-setsize": row.setSize,
948
+ "aria-expanded": container ? expanded : void 0,
949
+ tabIndex: row.path === tabStop ? 0 : -1,
950
+ "data-json-path": row.path,
951
+ onFocus: () => setFocused(row.path),
952
+ onKeyDown: (event) => onKeyDown(event, row, at),
953
+ onClick: () => {
954
+ if (container && !window.getSelection()?.toString()) toggle(row.path);
955
+ },
956
+ style: { paddingInlineStart: row.depth * INDENT + 4 },
957
+ className: cn$1("relative flex min-h-6 items-start gap-1 rounded-sm pr-3 font-mono text-sm leading-6 text-foreground", "hover:bg-[var(--ix-hover-bg)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring", container && "cursor-pointer"),
958
+ children: [
959
+ Array.from({ length: row.depth }, (_, level) => /* @__PURE__ */ jsx("span", {
960
+ "aria-hidden": "true",
961
+ className: "pointer-events-none absolute inset-y-0 w-px bg-border",
962
+ style: { left: level * INDENT + 11 }
963
+ }, level)),
964
+ /* @__PURE__ */ jsx("span", {
965
+ "aria-hidden": "true",
966
+ className: "flex h-6 w-4 shrink-0 items-center justify-center text-muted-foreground",
967
+ children: container && /* @__PURE__ */ jsx(ChevronRight, { className: cn$1("size-3.5 transition-transform duration-fast", expanded && "rotate-90") })
968
+ }),
969
+ /* @__PURE__ */ jsxs("span", {
970
+ className: cn$1("min-w-0 flex-1 whitespace-pre-wrap [overflow-wrap:anywhere]", container && !expanded && "truncate whitespace-nowrap"),
971
+ children: [row.key !== null && /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("span", {
972
+ className: row.index ? "text-muted-foreground" : "text-[var(--syntax-function,currentColor)]",
973
+ children: row.index ? row.key : JSON.stringify(row.key)
974
+ }), /* @__PURE__ */ jsx("span", {
975
+ className: "text-muted-foreground",
976
+ children: ": "
977
+ })] }), /* @__PURE__ */ jsx(Value, {
978
+ value: row.value,
979
+ open: expanded
980
+ })]
981
+ })
982
+ ]
983
+ });
984
+ };
985
+ const containers = roots.some((entry) => isContainer(entry.value));
986
+ return /* @__PURE__ */ jsxs("div", {
987
+ className: cn$1("flex min-w-0 flex-col", className),
988
+ children: [/* @__PURE__ */ jsxs("div", {
989
+ className: "sticky top-0 z-10 flex h-9 shrink-0 items-center gap-2 bg-card px-3 text-xs text-muted-foreground shadow-[inset_0_-1px_0_hsl(var(--border))]",
990
+ children: [/* @__PURE__ */ jsx("span", {
991
+ className: "min-w-0 flex-1 truncate",
992
+ children: parsed.summary
993
+ }), containers && /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Button, {
994
+ type: "button",
995
+ variant: "ghost",
996
+ size: "sm",
997
+ onClick: () => setOpen(everyContainer(roots)),
998
+ children: "Expand all"
999
+ }), /* @__PURE__ */ jsx(Button, {
1000
+ type: "button",
1001
+ variant: "ghost",
1002
+ size: "sm",
1003
+ onClick: () => setOpen(/* @__PURE__ */ new Set()),
1004
+ children: "Collapse all"
1005
+ })] })]
1006
+ }), /* @__PURE__ */ jsx("div", {
1007
+ ref: (element) => {
1008
+ if (!element) return;
1009
+ treeRef.current = element;
1010
+ let parent = element.parentElement;
1011
+ while (parent && !/auto|scroll/.test(getComputedStyle(parent).overflowY)) parent = parent.parentElement;
1012
+ scroller.current = parent ?? document.scrollingElement;
1013
+ },
1014
+ role: "tree",
1015
+ "aria-label": label,
1016
+ className: "px-2 py-2",
1017
+ children: /* @__PURE__ */ jsx(VirtualList, {
1018
+ items: rows,
1019
+ keyOf,
1020
+ render,
1021
+ scroller,
1022
+ origin: treeRef,
1023
+ estimate: 24,
1024
+ overscan: 600,
1025
+ target,
1026
+ targetAlign: "nearest",
1027
+ virtualize: rows.length > 200,
1028
+ keepMounted: tabStop ?? void 0
1029
+ })
1030
+ })]
1031
+ });
1032
+ }
1033
+ export { GitStatusBadge as a, DiffStatsBadge as i, ChangesPane as n, PanelHeader as o, SandboxArtifactPane as r, PillTabs as s, JsonView as t };
@@ -1,4 +1,4 @@
1
- import { C as ChangedFile, D as SandboxArtifactTerminal, E as SandboxArtifactPaneProps, S as ArtifactView, T as SandboxArtifact, _ as PillTabItem, a as PreviewViewProps, b as ChangesPane, c as FileBreadcrumb, d as GitStatusBadge, f as PanelHeader, g as computeDiffStats, h as buildUnifiedPatch, i as PreviewView, l as FileBreadcrumbProps, m as DiffStats, n as CodeSurface, o as CodeView, p as PanelHeaderProps, r as CodeSurfaceProps, s as CodeViewProps, t as CODE_THEME, u as DiffStatsBadge, v as PillTabs, w as ChangesPaneProps, x as SandboxArtifactPane, y as PillTabsProps } from "./index-CQGMhSg0.js";
1
+ import { C as SandboxArtifactPane, D as SandboxArtifact, E as ChangesPaneProps, O as SandboxArtifactPaneProps, S as ChangesPane, T as ChangedFile, _ as buildUnifiedPatch, a as PreviewViewProps, b as PillTabs, c as CodeView, d as FileBreadcrumbProps, f as DiffStatsBadge, g as DiffStats, h as PanelHeaderProps, i as PreviewView, k as SandboxArtifactTerminal, l as CodeViewProps, m as PanelHeader, n as CodeSurface, o as JsonView, p as GitStatusBadge, r as CodeSurfaceProps, s as JsonViewProps, t as CODE_THEME, u as FileBreadcrumb, v as computeDiffStats, w as ArtifactView, x as PillTabsProps, y as PillTabItem } from "./index-Z6RCpkmT.js";
2
2
  import { n as DiffViewProps, t as DiffView } from "./diff-view-DDHWtR6X.js";
3
3
  import { a as PreviewReadiness, i as PreviewAccess, n as EmbeddedAppView, r as EmbeddedAppViewProps, t as EmbeddedApp } from "./embedded-app-view-Ta5GI4hx.js";
4
- export { type ArtifactView, CODE_THEME, type ChangedFile, ChangesPane, type ChangesPaneProps, CodeSurface, type CodeSurfaceProps, CodeView, type CodeViewProps, type DiffStats, DiffStatsBadge, DiffView, type DiffViewProps, type EmbeddedApp, EmbeddedAppView, type EmbeddedAppViewProps, FileBreadcrumb, type FileBreadcrumbProps, GitStatusBadge, PanelHeader, type PanelHeaderProps, type PillTabItem, PillTabs, type PillTabsProps, type PreviewAccess, type PreviewReadiness, PreviewView, type PreviewViewProps, type SandboxArtifact, SandboxArtifactPane, type SandboxArtifactPaneProps, type SandboxArtifactTerminal, buildUnifiedPatch, computeDiffStats };
4
+ export { type ArtifactView, CODE_THEME, type ChangedFile, ChangesPane, type ChangesPaneProps, CodeSurface, type CodeSurfaceProps, CodeView, type CodeViewProps, type DiffStats, DiffStatsBadge, DiffView, type DiffViewProps, type EmbeddedApp, EmbeddedAppView, type EmbeddedAppViewProps, FileBreadcrumb, type FileBreadcrumbProps, GitStatusBadge, JsonView, type JsonViewProps, PanelHeader, type PanelHeaderProps, type PillTabItem, PillTabs, type PillTabsProps, type PreviewAccess, type PreviewReadiness, PreviewView, type PreviewViewProps, type SandboxArtifact, SandboxArtifactPane, type SandboxArtifactPaneProps, type SandboxArtifactTerminal, buildUnifiedPatch, computeDiffStats };
package/dist/workbench.js CHANGED
@@ -1,5 +1,5 @@
1
- import { a as PanelHeader, i as GitStatusBadge, n as SandboxArtifactPane, o as PillTabs, r as DiffStatsBadge, t as ChangesPane } from "./workbench-Z9wbei53.js";
1
+ import { a as GitStatusBadge, i as DiffStatsBadge, n as ChangesPane, o as PanelHeader, r as SandboxArtifactPane, s as PillTabs, t as JsonView } from "./workbench-DWQ0pm9w.js";
2
2
  import { a as CodeSurface, i as CODE_THEME, n as buildUnifiedPatch, r as computeDiffStats, t as DiffView } from "./diff-view-B9mNeTLF.js";
3
3
  import { n as FileBreadcrumb, t as CodeView } from "./code-view-BlhCS1SD.js";
4
4
  import { n as PreviewView, t as EmbeddedAppView } from "./embedded-app-view-DXsoPale.js";
5
- export { CODE_THEME, ChangesPane, CodeSurface, CodeView, DiffStatsBadge, DiffView, EmbeddedAppView, FileBreadcrumb, GitStatusBadge, PanelHeader, PillTabs, PreviewView, SandboxArtifactPane, buildUnifiedPatch, computeDiffStats };
5
+ export { CODE_THEME, ChangesPane, CodeSurface, CodeView, DiffStatsBadge, DiffView, EmbeddedAppView, FileBreadcrumb, GitStatusBadge, JsonView, PanelHeader, PillTabs, PreviewView, SandboxArtifactPane, buildUnifiedPatch, computeDiffStats };
@@ -41358,7 +41358,7 @@ function SB(e, t) {
41358
41358
  r
41359
41359
  ]);
41360
41360
  }
41361
- // dist/trace-workspace-B634-EcA.js
41361
+ // dist/trace-workspace-BULdFHrf.js
41362
41362
  function CB(e) {
41363
41363
  if (e.kind === "pipeline" || e.kind === "model") {
41364
41364
  let t = e.detail ? SP(e.detail) : null;
@@ -41602,8 +41602,8 @@ function NB(e, t) {
41602
41602
  function PB(e, t, n) {
41603
41603
  let { state: r, current: i, update: a, beginning: o, begin: s, reload: c, pageReader: l } = NB(e, n), u = (0, V.useCallback)(() => {
41604
41604
  let t = new URL(e, location.href);
41605
- return n && i.current.generation !== void 0 && t.searchParams.set("generation", String(i.current.generation)), t.toString();
41606
- }, [e, !!n]);
41605
+ return i.current.generation !== void 0 && t.searchParams.set("generation", String(i.current.generation)), t.toString();
41606
+ }, [e]);
41607
41607
  SB(!e || n && (!r.ready || r.ended || r.reading || o || !n.alive) ? void 0 : u, {
41608
41608
  opener: t,
41609
41609
  after: () => i.current.lastSeq,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tangle-network/sandbox-ui",
3
- "version": "3.0.3",
3
+ "version": "4.0.1",
4
4
  "license": "MIT",
5
5
  "description": "Unified UI component library for Tangle Sandbox — primitives, chat, dashboard, terminal, editor, and workspace components",
6
6
  "repository": {
@@ -87,10 +87,6 @@
87
87
  "import": "./dist/integrations.js",
88
88
  "types": "./dist/integrations.d.ts"
89
89
  },
90
- "./connections": {
91
- "import": "./dist/connections.js",
92
- "types": "./dist/connections.d.ts"
93
- },
94
90
  "./connectors": {
95
91
  "import": "./dist/connectors.js",
96
92
  "types": "./dist/connectors.d.ts"
@@ -1,179 +0,0 @@
1
- import { Button } from "@tangle-network/ui/primitives";
2
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
- import * as React$1 from "react";
4
- import { AlertCircle, CheckCircle2, Loader2, MessageSquare, ShieldCheck } from "lucide-react";
5
- import { cn } from "@tangle-network/ui/utils";
6
- // src/connections/agent-messaging-connection.tsx
7
- function AgentStatus({ enrollment }) {
8
- switch (enrollment.status) {
9
- case "checking": return /* @__PURE__ */ jsx("span", { children: "Checking access…" });
10
- case "eligible": return /* @__PURE__ */ jsx("span", { children: "Not connected" });
11
- case "enrolling": return /* @__PURE__ */ jsx("span", { children: "Connecting your agent…" });
12
- case "enrolled": return /* @__PURE__ */ jsxs("span", { children: [
13
- "Connected to ",
14
- /* @__PURE__ */ jsx("strong", {
15
- className: "font-medium text-foreground",
16
- children: enrollment.target.agentLabel
17
- }),
18
- enrollment.target.workspaceLabel && /* @__PURE__ */ jsxs(Fragment, { children: [" in ", enrollment.target.workspaceLabel] })
19
- ] });
20
- case "forbidden": return /* @__PURE__ */ jsx("span", { children: enrollment.message ?? "You cannot connect this agent." });
21
- case "error": return /* @__PURE__ */ jsx("span", { children: enrollment.message ?? "Could not check agent access." });
22
- }
23
- }
24
- function RouteStatus({ enrollment, route }) {
25
- switch (route.status) {
26
- case "checking": return /* @__PURE__ */ jsx("span", { children: "Checking messaging…" });
27
- case "pending": return /* @__PURE__ */ jsx("span", { children: route.message ?? "Setting up messaging…" });
28
- case "ready": return enrollment.status === "enrolled" ? /* @__PURE__ */ jsxs("span", { children: [
29
- "Ready on ",
30
- /* @__PURE__ */ jsx("strong", {
31
- className: "font-medium text-foreground",
32
- children: route.channelLabel
33
- }),
34
- /* @__PURE__ */ jsx("span", {
35
- className: "block break-words",
36
- children: route.destinationLabel
37
- })
38
- ] }) : enrollment.status === "eligible" ? /* @__PURE__ */ jsx("span", { children: "Connect your agent to use messaging." }) : /* @__PURE__ */ jsx("span", { children: "Agent connection is unconfirmed." });
39
- case "unavailable": return /* @__PURE__ */ jsx("span", { children: route.message ?? "Messaging is unavailable right now." });
40
- case "forbidden": return /* @__PURE__ */ jsx("span", { children: route.message ?? "You cannot use messaging in this app." });
41
- case "error": return /* @__PURE__ */ jsx("span", { children: route.message ?? "Could not check messaging." });
42
- }
43
- }
44
- function AgentMessagingConnection({ enrollment, route, onEnroll, onOpenMessages, onRetry, className }) {
45
- const [submitting, setSubmitting] = React$1.useState(false);
46
- const [actionError, setActionError] = React$1.useState(null);
47
- const submittingRef = React$1.useRef(false);
48
- const canMessage = enrollment.status === "enrolled" && route.status === "ready";
49
- const canRetry = enrollment.status === "error" || route.status === "error";
50
- React$1.useEffect(() => {
51
- setActionError(null);
52
- }, [enrollment.status, route.status]);
53
- async function enroll() {
54
- if (enrollment.status !== "eligible" || submittingRef.current) return;
55
- submittingRef.current = true;
56
- setSubmitting(true);
57
- setActionError(null);
58
- try {
59
- await onEnroll();
60
- } catch {
61
- setActionError("Could not connect the agent. Try again.");
62
- } finally {
63
- submittingRef.current = false;
64
- setSubmitting(false);
65
- }
66
- }
67
- async function retry() {
68
- if (!onRetry || submittingRef.current) return;
69
- submittingRef.current = true;
70
- setSubmitting(true);
71
- setActionError(null);
72
- try {
73
- await onRetry();
74
- } catch {
75
- setActionError("Could not check messaging. Try again.");
76
- } finally {
77
- submittingRef.current = false;
78
- setSubmitting(false);
79
- }
80
- }
81
- return /* @__PURE__ */ jsxs("section", {
82
- "aria-label": "Agent messaging connection",
83
- className: cn("rounded-xl border border-border bg-card p-4 text-sm text-foreground sm:p-5", className),
84
- children: [
85
- /* @__PURE__ */ jsx("h2", {
86
- className: "mb-4 text-base font-semibold",
87
- children: "Agent messaging"
88
- }),
89
- /* @__PURE__ */ jsxs("div", {
90
- className: "divide-y divide-border rounded-lg border border-border",
91
- children: [/* @__PURE__ */ jsxs("div", {
92
- className: "flex gap-3 p-3 sm:p-4",
93
- children: [
94
- /* @__PURE__ */ jsx(ShieldCheck, {
95
- "aria-hidden": "true",
96
- className: "mt-0.5 h-4 w-4 shrink-0 text-muted-foreground"
97
- }),
98
- /* @__PURE__ */ jsxs("div", {
99
- className: "min-w-0",
100
- children: [/* @__PURE__ */ jsx("p", {
101
- className: "font-medium",
102
- children: "Private agent"
103
- }), /* @__PURE__ */ jsx("p", {
104
- "aria-live": "polite",
105
- className: "mt-0.5 break-words text-muted-foreground",
106
- children: /* @__PURE__ */ jsx(AgentStatus, { enrollment })
107
- })]
108
- }),
109
- enrollment.status === "enrolled" && /* @__PURE__ */ jsx(CheckCircle2, {
110
- "aria-label": "Connected",
111
- className: "ml-auto h-4 w-4 shrink-0 text-[var(--code-success)]"
112
- })
113
- ]
114
- }), /* @__PURE__ */ jsxs("div", {
115
- className: "flex gap-3 p-3 sm:p-4",
116
- children: [
117
- /* @__PURE__ */ jsx(MessageSquare, {
118
- "aria-hidden": "true",
119
- className: "mt-0.5 h-4 w-4 shrink-0 text-muted-foreground"
120
- }),
121
- /* @__PURE__ */ jsxs("div", {
122
- className: "min-w-0",
123
- children: [/* @__PURE__ */ jsx("p", {
124
- className: "font-medium",
125
- children: "Messaging"
126
- }), /* @__PURE__ */ jsx("p", {
127
- "aria-live": "polite",
128
- className: "mt-0.5 break-words text-muted-foreground",
129
- children: /* @__PURE__ */ jsx(RouteStatus, {
130
- enrollment,
131
- route
132
- })
133
- })]
134
- }),
135
- canMessage && /* @__PURE__ */ jsx(CheckCircle2, {
136
- "aria-label": "Ready",
137
- className: "ml-auto h-4 w-4 shrink-0 text-[var(--code-success)]"
138
- })
139
- ]
140
- })]
141
- }),
142
- (enrollment.status === "eligible" || canMessage || canRetry && onRetry) && /* @__PURE__ */ jsxs("div", {
143
- className: "mt-4 flex flex-wrap items-center gap-3",
144
- children: [
145
- enrollment.status === "eligible" && /* @__PURE__ */ jsxs(Button, {
146
- type: "button",
147
- onClick: enroll,
148
- disabled: submitting,
149
- children: [submitting ? /* @__PURE__ */ jsx(Loader2, {
150
- "aria-hidden": "true",
151
- className: "mr-2 h-4 w-4 animate-spin"
152
- }) : null, submitting ? "Connecting agent…" : "Connect agent"]
153
- }),
154
- canMessage && onOpenMessages && /* @__PURE__ */ jsx(Button, {
155
- type: "button",
156
- onClick: onOpenMessages,
157
- children: "Open messages"
158
- }),
159
- canRetry && onRetry && /* @__PURE__ */ jsx(Button, {
160
- type: "button",
161
- variant: "outline",
162
- onClick: retry,
163
- disabled: submitting,
164
- children: submitting ? "Checking…" : "Check again"
165
- })
166
- ]
167
- }),
168
- actionError && /* @__PURE__ */ jsxs("p", {
169
- role: "alert",
170
- className: "mt-3 flex items-center gap-2 text-[var(--code-error)]",
171
- children: [/* @__PURE__ */ jsx(AlertCircle, {
172
- "aria-hidden": "true",
173
- className: "h-4 w-4 shrink-0"
174
- }), actionError]
175
- })
176
- ]
177
- });
178
- }
179
- export { AgentMessagingConnection as t };
@@ -1,2 +0,0 @@
1
- import { a as SharedMessagingRouteViewState, i as AgentTargetSummary, n as AgentMessagingConnection, r as AgentMessagingConnectionProps, t as AgentEnrollmentViewState } from "./index-DLX35YAa.js";
2
- export { type AgentEnrollmentViewState, AgentMessagingConnection, type AgentMessagingConnectionProps, type AgentTargetSummary, type SharedMessagingRouteViewState };
@@ -1 +0,0 @@
1
- export { t as AgentMessagingConnection } from "./connections-DymjzHe_.js";
@@ -1,59 +0,0 @@
1
- import * as React$1 from "react";
2
- /** Safe display fields for a host-resolved, authorized private agent target. */
3
- interface AgentTargetSummary {
4
- agentLabel: string;
5
- workspaceLabel?: string;
6
- }
7
- /** The host must recheck the member grant before reporting `eligible` or `enrolled`. */
8
- type AgentEnrollmentViewState = {
9
- status: "checking";
10
- } | {
11
- status: "eligible";
12
- } | {
13
- status: "enrolling";
14
- } | {
15
- status: "enrolled";
16
- target: AgentTargetSummary;
17
- } | {
18
- status: "forbidden";
19
- message?: string;
20
- } | {
21
- status: "error";
22
- message?: string;
23
- };
24
- /**
25
- * `ready` means the host verified this application's route for this member.
26
- * A globally attached provider line alone is not enough to report readiness.
27
- */
28
- type SharedMessagingRouteViewState = {
29
- status: "checking";
30
- } | {
31
- status: "pending";
32
- message?: string;
33
- } | {
34
- status: "ready";
35
- channelLabel: string;
36
- destinationLabel: string;
37
- } | {
38
- status: "forbidden";
39
- message?: string;
40
- } | {
41
- status: "unavailable";
42
- message?: string;
43
- } | {
44
- status: "error";
45
- message?: string;
46
- };
47
- interface AgentMessagingConnectionProps {
48
- enrollment: AgentEnrollmentViewState;
49
- route: SharedMessagingRouteViewState;
50
- /** The host performs authenticated, idempotent enrollment and reloads the result. */
51
- onEnroll: () => void | Promise<void>;
52
- /** Open the host's authorized conversation. Shown only when both states are ready. */
53
- onOpenMessages?: () => void;
54
- /** Recheck a failed host read. This does not enroll or mutate a provider route. */
55
- onRetry?: () => void | Promise<void>;
56
- className?: string;
57
- }
58
- declare function AgentMessagingConnection({ enrollment, route, onEnroll, onOpenMessages, onRetry, className }: AgentMessagingConnectionProps): React$1.JSX.Element;
59
- export { SharedMessagingRouteViewState as a, AgentTargetSummary as i, AgentMessagingConnection as n, AgentMessagingConnectionProps as r, AgentEnrollmentViewState as t };