@tangle-network/sandbox-ui 0.120.0 → 0.120.2

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
@@ -246,7 +246,7 @@ Both are exported from `@tangle-network/sandbox-ui/workspace`.
246
246
  onBack={closePreview}
247
247
  preview={selectedArtifact ? {
248
248
  path: selectedArtifact.path,
249
- content: <WorkspaceArtifactView artifact={selectedArtifact} />,
249
+ content: <WorkspaceArtifactView artifact={selectedArtifact} hideTitleBlock />,
250
250
  actions: <DownloadFile artifact={selectedArtifact} />,
251
251
  } : undefined}
252
252
  />
@@ -259,6 +259,8 @@ Returning to files preserves expansion, selection, and scroll.
259
259
  Native search ends when a result is selected.
260
260
  Adapters own loading, permissions, errors, file reads, and actions; `emptyState` customizes an empty workspace.
261
261
  The preview header exposes Back to files, the selected path, and supplied actions without a second title frame.
262
+ Set `hideTitleBlock` on the nested artifact renderer when the containing pane already identifies the file.
263
+ Download, format, toolbar, and content controls remain available; standalone rendering keeps its existing title defaults.
262
264
 
263
265
  ### Existing sandbox workbench
264
266
 
@@ -2956,11 +2956,8 @@ function DashboardLayoutInner({ children, variant = "sandbox", navItems, modeIte
2956
2956
  className: cn$1("min-h-screen bg-surface text-foreground", className),
2957
2957
  children: [
2958
2958
  /* @__PURE__ */ jsxs("nav", {
2959
- className: cn$1("fixed top-0 z-50 bg-surface-container-low border-b border-[var(--md3-outline-variant)] flex justify-between items-center px-8 h-14 font-sans text-[13px] tracking-tight transition-[left,width]", MOTION_TRAVEL),
2960
- style: {
2961
- left: hidden ? 0 : contentMargin,
2962
- width: hidden ? "100%" : `calc(100% - ${contentMargin}px)`
2963
- },
2959
+ className: cn$1("fixed top-0 left-0 right-0 lg:left-[var(--sb-content-margin)] z-50 bg-surface-container-low border-b border-[var(--md3-outline-variant)] flex justify-between items-center px-8 h-14 font-sans text-[13px] tracking-tight transition-[left,width]", MOTION_TRAVEL),
2960
+ style: { "--sb-content-margin": `${hidden ? 0 : contentMargin}px` },
2964
2961
  children: [
2965
2962
  /* @__PURE__ */ jsxs("div", {
2966
2963
  className: "flex items-center gap-8",
package/dist/dashboard.js CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as SidebarRailNav, A as ResourceMeter, B as RailFlyout, C as InvoiceTable, D as canAdminSandbox, E as SandboxCard, F as CreditBalance, G as Sidebar, H as RailModeButton, I as ProfileAvatar, J as SidebarPanelContent, K as SidebarContent, L as RailButton, M as INSUFFICIENT_BALANCE_CODE, N as OutOfCreditsModal, O as ActivityFeed, P as parseInsufficientBalance, Q as SidebarRailHeader, R as RailCollapseToggle, S as PlanCards, T as NewSandboxCard, U as RailSeparator, V as RailHeader, W as RailThemeToggle, X as SidebarRail, Y as SidebarPanelHeader, Z as SidebarRailFooter, _ as HarnessPicker, a as ProcessList, at as SIDEBAR_TOTAL_WIDTH, b as HarnessLogo, c as UsageSummary, d as MetricAreaChart, et as RailTooltip, f as ProfileComparison, g as HARNESS_OPTIONS, h as DashboardLayout, i as NetworkConfig, it as SIDEBAR_RAIL_WIDTH, j as ClusterStatusBar, k as ResourceSnapshot, l as SystemLogsViewer, m as SidebarLayout, n as SnapshotList, nt as SIDEBAR_PANEL_WIDTH, o as PortsList, ot as SidebarProvider, p as ProfileSelector, q as SidebarPanel, r as BackendConfig, rt as SIDEBAR_RAIL_LABELED_WIDTH, s as GitPanel, st as useSidebar, t as PromoBanner, tt as SIDEBAR_MOBILE_WIDTH, u as VariantList, v as chatCapableHarnesses, w as SandboxTable, x as BackendSelector, y as HARNESS_BRAND, z as RailExpandable } from "./dashboard-CnGK2S3A.js";
1
+ import { $ as SidebarRailNav, A as ResourceMeter, B as RailFlyout, C as InvoiceTable, D as canAdminSandbox, E as SandboxCard, F as CreditBalance, G as Sidebar, H as RailModeButton, I as ProfileAvatar, J as SidebarPanelContent, K as SidebarContent, L as RailButton, M as INSUFFICIENT_BALANCE_CODE, N as OutOfCreditsModal, O as ActivityFeed, P as parseInsufficientBalance, Q as SidebarRailHeader, R as RailCollapseToggle, S as PlanCards, T as NewSandboxCard, U as RailSeparator, V as RailHeader, W as RailThemeToggle, X as SidebarRail, Y as SidebarPanelHeader, Z as SidebarRailFooter, _ as HarnessPicker, a as ProcessList, at as SIDEBAR_TOTAL_WIDTH, b as HarnessLogo, c as UsageSummary, d as MetricAreaChart, et as RailTooltip, f as ProfileComparison, g as HARNESS_OPTIONS, h as DashboardLayout, i as NetworkConfig, it as SIDEBAR_RAIL_WIDTH, j as ClusterStatusBar, k as ResourceSnapshot, l as SystemLogsViewer, m as SidebarLayout, n as SnapshotList, nt as SIDEBAR_PANEL_WIDTH, o as PortsList, ot as SidebarProvider, p as ProfileSelector, q as SidebarPanel, r as BackendConfig, rt as SIDEBAR_RAIL_LABELED_WIDTH, s as GitPanel, st as useSidebar, t as PromoBanner, tt as SIDEBAR_MOBILE_WIDTH, u as VariantList, v as chatCapableHarnesses, w as SandboxTable, x as BackendSelector, y as HARNESS_BRAND, z as RailExpandable } from "./dashboard-BDSwFddx.js";
2
2
  import { n as canonicalModelId, r as modelBrandFor, t as ModelBrandStack } from "./model-brand-hMyDTUqB.js";
3
3
  import { a as formatPrice, i as PricingPage, n as TemplateCard, o as BillingDashboard, r as UsageChart, t as InfoPanel } from "./info-panel-C9cqDzOL.js";
4
4
  export { ActivityFeed, BackendConfig, BackendSelector, BillingDashboard, ClusterStatusBar, CreditBalance, DashboardLayout, GitPanel, HARNESS_BRAND, HARNESS_OPTIONS, HarnessLogo, HarnessPicker, INSUFFICIENT_BALANCE_CODE, InfoPanel, InvoiceTable, MetricAreaChart, ModelBrandStack, NetworkConfig, NewSandboxCard, OutOfCreditsModal, PlanCards, PortsList, PricingPage, ProcessList, ProfileAvatar, ProfileComparison, ProfileSelector, PromoBanner, RailButton, RailCollapseToggle, RailExpandable, RailFlyout, RailHeader, RailModeButton, RailSeparator, RailThemeToggle, RailTooltip, ResourceMeter, ResourceSnapshot, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_LABELED_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxCard, SandboxTable, Sidebar, SidebarContent, SidebarLayout, SidebarPanel, SidebarPanelContent, SidebarPanelHeader, SidebarProvider, SidebarRail, SidebarRailFooter, SidebarRailHeader, SidebarRailNav, SnapshotList, SystemLogsViewer, TemplateCard, UsageChart, UsageSummary, VariantList, canAdminSandbox, canonicalModelId, chatCapableHarnesses, formatPrice, modelBrandFor, parseInsufficientBalance, useSidebar };
package/dist/globals.css CHANGED
@@ -5096,6 +5096,9 @@
5096
5096
  }
5097
5097
  }
5098
5098
  @media (width >= 64rem) {
5099
+ .lg\:left-\[var\(--sb-content-margin\)\] {
5100
+ left: var(--sb-content-margin);
5101
+ }
5099
5102
  .lg\:col-span-1 {
5100
5103
  grid-column: span 1 / span 1;
5101
5104
  }
@@ -802,8 +802,10 @@ declare function WorkspaceFilesPane({ root, paths, onSelect, preview, onBack, em
802
802
  //#region src/workspace/workspace-artifact-view.d.ts
803
803
  interface WorkspaceArtifactViewProps {
804
804
  artifact: SandboxWorkbenchArtifact;
805
+ /** Hide identity already supplied by the containing pane; retain actions and content. */
806
+ hideTitleBlock?: boolean;
805
807
  }
806
808
  /** The shared technical renderer for workspace files and generated artifacts. */
807
- declare function WorkspaceArtifactView({ artifact }: WorkspaceArtifactViewProps): import("react").JSX.Element;
809
+ declare function WorkspaceArtifactView({ artifact, hideTitleBlock }: WorkspaceArtifactViewProps): import("react").JSX.Element;
808
810
  //#endregion
809
811
  export { useOptimisticSessionItems as $, SandboxWorkbenchOpenUIArtifact as A, SessionSidebar as B, AgentWorkbench as C, SandboxWorkbenchFileArtifact as D, SandboxWorkbenchCustomArtifact as E, ShellShouldRevalidateArgs as F, SessionSidebarLink as G, SessionSidebarFilter as H, ShellShouldRevalidateOptions as I, SESSION_CREATED_EVENT as J, SessionSidebarProps as K, createShellShouldRevalidate as L, SandboxWorkbenchSessionProps as M, SessionActivityMonitor as N, SandboxWorkbenchLayoutOptions as O, SessionActivityMonitorProps as P, dispatchSessionCreated as Q, shellShouldRevalidate as R, FormAudit as S, SandboxWorkbenchArtifact as T, SessionSidebarGroupBy as U, SessionSidebarBadge as V, SessionSidebarItem as W, SessionOptimisticController as X, SessionCreatedDetail as Y, UseOptimisticSessionItemsOptions as Z, TaskBoardItem as _, WorkspaceFilesPane as a, ContextBadge as at, AuditResults as b, ApprovalConfidenceStat as c, BannerType as ct, ApprovalQueueProps as d, DirectoryPane as dt, RuntimePane as et, CalendarEvent as f, DirectoryPaneProps as ft, TaskBoardColumn as g, WorkspaceLayoutProps as gt, TaskBoard as h, WorkspaceLayout as ht, WorkspaceArtifactViewProps as i, TerminalProps as it, SandboxWorkbenchProps as j, SandboxWorkbenchMarkdownArtifact as k, ApprovalItem as l, StatusBanner as lt, CalendarViewProps as m, WorkspacePaneHeaderProps as mt, ArtifactPaneProps as n, TerminalLine as nt, WorkspaceFilesPaneProps as o, StatusBar as ot, CalendarView as p, WorkspacePaneHeader as pt, SessionSidebarVariant as q, WorkspaceArtifactView as r, TerminalPanel as rt, WorkspaceFilesPreview as s, StatusBarProps as st, ArtifactPane$1 as t, RuntimePaneProps as tt, ApprovalQueue as u, StatusBannerProps as ut, TaskBoardProps as v, SandboxWorkbench as w, AuditResultsProps as x, AuditCheck as y, formatRelativeAge as z };
package/dist/index.d.ts CHANGED
@@ -10,7 +10,7 @@ import { t as Session } from "./sidecar-DgH_vQ6m.js";
10
10
  import { d as useSessionStream, l as UseSessionStreamOptions, n as UseSidecarAuthOptions, o as SessionDegradation, r as useSidecarAuth, s as SessionInfo, t as SidecarAuth, u as UseSessionStreamResult } from "./use-sidecar-auth-CCTJcrq7.js";
11
11
  import { AgentStreamEvent, AppendUserMessageOptions, ApplySdkEventOptions, AuthUser, AutomationStreamEvent, BeginAssistantMessageOptions, BotStreamEvent, CompleteAssistantMessageOptions, RealtimeSessionOptions, RealtimeSessionRegistry, RealtimeSessionRegistryProps, RealtimeSessionState, RealtimeSessionTarget, SSEEvent, SandboxMetrics, SdkSessionAttachment, SdkSessionEvent, SdkSessionSeed, SidecarMetricsPayload, TaskStreamEvent, TerminalStreamEvent, UseAuthOptions, UseAuthResult, UseRunGroupsOptions, UseSSEStreamOptions, UseSSEStreamResult, UseSandboxMetricsOptions, UseSandboxMetricsResult, UseSdkSessionOptions, UseSdkSessionReturn, UseToolCallStreamReturn, createAuthFetcher, useApiKey, useAuth, useAutoScroll, useCreateSession, useDeleteSession, useDropdownMenu, useLiveTime, useRealtimeSession, useRenameSession, useRunCollapseState, useRunGroups, useSSEStream, useSandboxMetrics, useSdkSession, useSessions, useToolCallStream } from "./hooks.js";
12
12
  import { $ as InlineCode, A as DropZone, At as SkeletonTable, B as DropdownMenuRadioItem, Bt as TableCell, C as DialogDescription, Ct as SelectSeparator, D as DialogPortal, Dt as SidebarDropZoneProps, E as DialogOverlay, Et as SidebarDropZone, F as DropdownMenuGroup, Ft as StatusTone, G as DropdownMenuSubTrigger, Gt as TableRow, H as DropdownMenuShortcut, Ht as TableHead, I as DropdownMenuItem, It as Switch, J as EmptyStateProps, Jt as TabsList, K as DropdownMenuTrigger, Kt as Tabs, L as DropdownMenuLabel, Lt as Table, M as DropdownMenu, Mt as StatCardProps, N as DropdownMenuCheckboxItem, Nt as StatusPill, O as DialogTitle, Ot as Skeleton, P as DropdownMenuContent, Pt as StatusPillProps, Q as HeadingVariant, R as DropdownMenuPortal, Rt as TableBody, S as DialogContent, Sn as TangleKnot, St as SelectScrollUpButton, T as DialogHeader, Tt as SelectValue, U as DropdownMenuSub, Ut as TableHeader, V as DropdownMenuSeparator, Vt as TableFooter, W as DropdownMenuSubContent, Wt as TableProps, X as FilterFieldProps, Y as FilterField, Yt as TabsTrigger, Z as Heading, Zt as TerminalDisplay, _ as CodeBlock, _n as HeadingProps, _t as SelectContent, a as AvatarImage, an as Toast, at as MetricProps, b as Dialog, bn as Logo, bt as SelectLabel, c as Button, cn as Toolbar, ct as PageHeader, d as CardContent, dn as UploadProgress, dt as PageShellProps, en as TextShimmer, et as InlineCodeProps, f as CardDescription, fn as UploadProgressProps, ft as Progress, g as CardTitleProps, gn as useToast, gt as Select, h as CardTitle, hn as useTheme, ht as SegmentedControlProps, i as AvatarFallback, in as ThemeToggle, it as Metric, j as DropZoneProps, jt as StatCard, k as DialogTrigger, kt as SkeletonCard, l as ButtonProps, ln as ToolbarProps, lt as PageHeaderProps, m as CardHeader, mn as buttonVariants, mt as SegmentedControlOption, nn as Textarea, nt as InputProps, o as Badge, on as ToastContainer, ot as MetricStrip, p as CardFooter, pn as badgeVariants, pt as SegmentedControl, q as EmptyState, qt as TabsContent, r as Avatar, rn as TextareaProps, rt as Label, s as BadgeProps, sn as ToastProvider, st as MetricStripProps, tn as TextShimmerProps, tt as Input, u as Card, un as UploadFile, ut as PageShell, v as CodeBlockProps, vn as SectionTitle, vt as SelectGroup, w as DialogFooter, wt as SelectTrigger, x as DialogClose, xn as LogoProps, xt as SelectScrollDownButton, y as CopyButton, yn as SectionTitleProps, yt as SelectItem, z as DropdownMenuRadioGroup, zt as TableCaption } from "./index-SJKueyy4.js";
13
- import { $ as useOptimisticSessionItems, A as SandboxWorkbenchOpenUIArtifact, B as SessionSidebar, C as AgentWorkbench, D as SandboxWorkbenchFileArtifact, E as SandboxWorkbenchCustomArtifact, F as ShellShouldRevalidateArgs, G as SessionSidebarLink, H as SessionSidebarFilter, I as ShellShouldRevalidateOptions, J as SESSION_CREATED_EVENT, K as SessionSidebarProps, L as createShellShouldRevalidate, M as SandboxWorkbenchSessionProps, N as SessionActivityMonitor, O as SandboxWorkbenchLayoutOptions, P as SessionActivityMonitorProps, Q as dispatchSessionCreated, R as shellShouldRevalidate, S as FormAudit, T as SandboxWorkbenchArtifact, U as SessionSidebarGroupBy, V as SessionSidebarBadge, W as SessionSidebarItem, X as SessionOptimisticController, Y as SessionCreatedDetail, Z as UseOptimisticSessionItemsOptions, _ as TaskBoardItem, a as WorkspaceFilesPane, at as ContextBadge, b as AuditResults, c as ApprovalConfidenceStat, ct as BannerType, d as ApprovalQueueProps, dt as DirectoryPane, et as RuntimePane, f as CalendarEvent, ft as DirectoryPaneProps, g as TaskBoardColumn, gt as WorkspaceLayoutProps, h as TaskBoard, ht as WorkspaceLayout, i as WorkspaceArtifactViewProps, it as TerminalProps, j as SandboxWorkbenchProps, k as SandboxWorkbenchMarkdownArtifact, l as ApprovalItem, lt as StatusBanner, m as CalendarViewProps, mt as WorkspacePaneHeaderProps, n as ArtifactPaneProps, nt as TerminalLine, o as WorkspaceFilesPaneProps, ot as StatusBar, p as CalendarView, pt as WorkspacePaneHeader, q as SessionSidebarVariant, r as WorkspaceArtifactView, rt as TerminalPanel, s as WorkspaceFilesPreview, st as StatusBarProps, t as ArtifactPane, tt as RuntimePaneProps, u as ApprovalQueue, ut as StatusBannerProps, v as TaskBoardProps, w as SandboxWorkbench, x as AuditResultsProps, y as AuditCheck, z as formatRelativeAge } from "./index-BxFd7DOv.js";
13
+ import { $ as useOptimisticSessionItems, A as SandboxWorkbenchOpenUIArtifact, B as SessionSidebar, C as AgentWorkbench, D as SandboxWorkbenchFileArtifact, E as SandboxWorkbenchCustomArtifact, F as ShellShouldRevalidateArgs, G as SessionSidebarLink, H as SessionSidebarFilter, I as ShellShouldRevalidateOptions, J as SESSION_CREATED_EVENT, K as SessionSidebarProps, L as createShellShouldRevalidate, M as SandboxWorkbenchSessionProps, N as SessionActivityMonitor, O as SandboxWorkbenchLayoutOptions, P as SessionActivityMonitorProps, Q as dispatchSessionCreated, R as shellShouldRevalidate, S as FormAudit, T as SandboxWorkbenchArtifact, U as SessionSidebarGroupBy, V as SessionSidebarBadge, W as SessionSidebarItem, X as SessionOptimisticController, Y as SessionCreatedDetail, Z as UseOptimisticSessionItemsOptions, _ as TaskBoardItem, a as WorkspaceFilesPane, at as ContextBadge, b as AuditResults, c as ApprovalConfidenceStat, ct as BannerType, d as ApprovalQueueProps, dt as DirectoryPane, et as RuntimePane, f as CalendarEvent, ft as DirectoryPaneProps, g as TaskBoardColumn, gt as WorkspaceLayoutProps, h as TaskBoard, ht as WorkspaceLayout, i as WorkspaceArtifactViewProps, it as TerminalProps, j as SandboxWorkbenchProps, k as SandboxWorkbenchMarkdownArtifact, l as ApprovalItem, lt as StatusBanner, m as CalendarViewProps, mt as WorkspacePaneHeaderProps, n as ArtifactPaneProps, nt as TerminalLine, o as WorkspaceFilesPaneProps, ot as StatusBar, p as CalendarView, pt as WorkspacePaneHeader, q as SessionSidebarVariant, r as WorkspaceArtifactView, rt as TerminalPanel, s as WorkspaceFilesPreview, st as StatusBarProps, t as ArtifactPane, tt as RuntimePaneProps, u as ApprovalQueue, ut as StatusBannerProps, v as TaskBoardProps, w as SandboxWorkbench, x as AuditResultsProps, y as AuditCheck, z as formatRelativeAge } from "./index-B_Ae4rdp.js";
14
14
  import { A as SandboxArtifactTerminal, C as ChangesPane, D as ChangesPaneProps, E as ChangedFile, O as SandboxArtifact, S as PillTabsProps, T as ArtifactView, _ as DiffStats, a as PreviewView, b as PillTabItem, c as DiffViewProps, d as FileBreadcrumb, f as FileBreadcrumbProps, g as PanelHeaderProps, h as PanelHeader, i as resolveLanguage, k as SandboxArtifactPaneProps, l as CodeView, m as GitStatusBadge, n as CodeSurface, o as PreviewViewProps, p as DiffStatsBadge, r as CodeSurfaceProps, s as DiffView, t as BRAND_PRISM_THEME, u as CodeViewProps, v as buildUnifiedPatch, w as SandboxArtifactPane, x as PillTabs, y as computeDiffStats } from "./index-DJyIXUx9.js";
15
15
  import { a as PreviewReadiness, i as PreviewAccess, n as EmbeddedAppView, r as EmbeddedAppViewProps, t as EmbeddedApp } from "./embedded-app-view-B_vMTtJn.js";
16
16
  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";
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- import { a as computeDiffStats, c as BRAND_PRISM_THEME, d as DiffStatsBadge, f as GitStatusBadge, i as buildUnifiedPatch, l as CodeSurface, m as PillTabs, n as SandboxArtifactPane, o as CodeView, p as PanelHeader, r as DiffView, s as FileBreadcrumb, t as ChangesPane, u as resolveLanguage } from "./workbench-DuIQZobw.js";
1
+ import { a as computeDiffStats, c as BRAND_PRISM_THEME, d as DiffStatsBadge, f as GitStatusBadge, i as buildUnifiedPatch, l as CodeSurface, m as PillTabs, n as SandboxArtifactPane, o as CodeView, p as PanelHeader, r as DiffView, s as FileBreadcrumb, t as ChangesPane, u as resolveLanguage } from "./workbench-CwqcBdbS.js";
2
2
  import { $ as Select, A as DropdownMenuItem, B as DropdownMenuTrigger, Bt as buttonVariants, C as DialogTitle, Ct as TableRow, D as DropdownMenuCheckboxItem, Dt as TabsTrigger, E as DropdownMenu, Et as TabsList, F as DropdownMenuSeparator, Ft as ToastContainer, G as Input, Gt as TangleKnot, H as FilterField, Ht as useToast, I as DropdownMenuShortcut, It as ToastProvider, J as MetricStrip, K as Label, L as DropdownMenuSub, Lt as Toolbar, M as DropdownMenuPortal, Mt as TextShimmer, N as DropdownMenuRadioGroup, Nt as Textarea, O as DropdownMenuContent, P as DropdownMenuRadioItem, Pt as ThemeToggle, Q as SegmentedControl, R as DropdownMenuSubContent, Rt as UploadProgress, S as DialogPortal, St as TableHeader, T as DropZone, Tt as TabsContent, U as Heading, Ut as SectionTitle, V as EmptyState, Vt as useTheme, W as InlineCode, Wt as Logo, X as PageShell, Y as PageHeader, Z as Progress, _ as DialogContent, _t as TableBody, a as Badge, at as SelectScrollUpButton, b as DialogHeader, bt as TableFooter, c as CardContent, ct as SelectValue, d as CardHeader, dt as SkeletonCard, et as SelectContent, f as CardTitle, ft as SkeletonTable, g as DialogClose, gt as Table, h as Dialog, ht as Switch, i as AvatarImage, it as SelectScrollDownButton, j as DropdownMenuLabel, k as DropdownMenuGroup, kt as TerminalDisplay, l as CardDescription, lt as SidebarDropZone, m as CopyButton, mt as StatusPill, n as Avatar, nt as SelectItem, o as Button, ot as SelectSeparator, p as CodeBlock, pt as StatCard, q as Metric, r as AvatarFallback, rt as SelectLabel, s as Card, st as SelectTrigger, tt as SelectGroup, u as CardFooter, ut as Skeleton, v as DialogDescription, vt as TableCaption, w as DialogTrigger, wt as Tabs, x as DialogOverlay, xt as TableHead, y as DialogFooter, yt as TableCell, z as DropdownMenuSubTrigger, zt as badgeVariants } from "./primitives-BQGtwZX3.js";
3
3
  import { t as WorkspacePaneHeader } from "./workspace-pane-header-Bg1cCcHX.js";
4
- import { C as WorkspaceLayout, S as DirectoryPane, _ as formatRelativeAge, a as TaskBoard, b as StatusBar, c as SandboxWorkbench, d as createShellShouldRevalidate, f as shellShouldRevalidate, g as useOptimisticSessionItems, h as dispatchSessionCreated, i as CalendarView, l as WorkspaceArtifactView, m as SESSION_CREATED_EVENT, n as WorkspaceFilesPane, o as AuditResults, p as SessionSidebar, r as ApprovalQueue, s as AgentWorkbench, t as ArtifactPane, u as SessionActivityMonitor, v as RuntimePane, x as StatusBanner, y as TerminalPanel } from "./workspace-iRO3GeHT.js";
5
- import { $ as SidebarRailNav, A as ResourceMeter, B as RailFlyout, C as InvoiceTable, D as canAdminSandbox, E as SandboxCard, F as CreditBalance, G as Sidebar, H as RailModeButton, I as ProfileAvatar, J as SidebarPanelContent, K as SidebarContent, L as RailButton, M as INSUFFICIENT_BALANCE_CODE, N as OutOfCreditsModal, O as ActivityFeed, P as parseInsufficientBalance, Q as SidebarRailHeader, R as RailCollapseToggle, S as PlanCards, T as NewSandboxCard, U as RailSeparator, V as RailHeader, W as RailThemeToggle, X as SidebarRail, Y as SidebarPanelHeader, Z as SidebarRailFooter, _ as HarnessPicker, a as ProcessList, at as SIDEBAR_TOTAL_WIDTH, b as HarnessLogo, c as UsageSummary, d as MetricAreaChart, et as RailTooltip, f as ProfileComparison, g as HARNESS_OPTIONS, h as DashboardLayout, i as NetworkConfig, it as SIDEBAR_RAIL_WIDTH, j as ClusterStatusBar, k as ResourceSnapshot, l as SystemLogsViewer, m as SidebarLayout, n as SnapshotList, nt as SIDEBAR_PANEL_WIDTH, o as PortsList, ot as SidebarProvider, p as ProfileSelector, q as SidebarPanel, r as BackendConfig, rt as SIDEBAR_RAIL_LABELED_WIDTH, s as GitPanel, st as useSidebar, t as PromoBanner, tt as SIDEBAR_MOBILE_WIDTH, u as VariantList, v as chatCapableHarnesses, w as SandboxTable, x as BackendSelector, y as HARNESS_BRAND, z as RailExpandable } from "./dashboard-CnGK2S3A.js";
4
+ import { C as WorkspaceLayout, S as DirectoryPane, _ as formatRelativeAge, a as TaskBoard, b as StatusBar, c as SandboxWorkbench, d as createShellShouldRevalidate, f as shellShouldRevalidate, g as useOptimisticSessionItems, h as dispatchSessionCreated, i as CalendarView, l as WorkspaceArtifactView, m as SESSION_CREATED_EVENT, n as WorkspaceFilesPane, o as AuditResults, p as SessionSidebar, r as ApprovalQueue, s as AgentWorkbench, t as ArtifactPane, u as SessionActivityMonitor, v as RuntimePane, x as StatusBanner, y as TerminalPanel } from "./workspace-CjeZTLPQ.js";
5
+ import { $ as SidebarRailNav, A as ResourceMeter, B as RailFlyout, C as InvoiceTable, D as canAdminSandbox, E as SandboxCard, F as CreditBalance, G as Sidebar, H as RailModeButton, I as ProfileAvatar, J as SidebarPanelContent, K as SidebarContent, L as RailButton, M as INSUFFICIENT_BALANCE_CODE, N as OutOfCreditsModal, O as ActivityFeed, P as parseInsufficientBalance, Q as SidebarRailHeader, R as RailCollapseToggle, S as PlanCards, T as NewSandboxCard, U as RailSeparator, V as RailHeader, W as RailThemeToggle, X as SidebarRail, Y as SidebarPanelHeader, Z as SidebarRailFooter, _ as HarnessPicker, a as ProcessList, at as SIDEBAR_TOTAL_WIDTH, b as HarnessLogo, c as UsageSummary, d as MetricAreaChart, et as RailTooltip, f as ProfileComparison, g as HARNESS_OPTIONS, h as DashboardLayout, i as NetworkConfig, it as SIDEBAR_RAIL_WIDTH, j as ClusterStatusBar, k as ResourceSnapshot, l as SystemLogsViewer, m as SidebarLayout, n as SnapshotList, nt as SIDEBAR_PANEL_WIDTH, o as PortsList, ot as SidebarProvider, p as ProfileSelector, q as SidebarPanel, r as BackendConfig, rt as SIDEBAR_RAIL_LABELED_WIDTH, s as GitPanel, st as useSidebar, t as PromoBanner, tt as SIDEBAR_MOBILE_WIDTH, u as VariantList, v as chatCapableHarnesses, w as SandboxTable, x as BackendSelector, y as HARNESS_BRAND, z as RailExpandable } from "./dashboard-BDSwFddx.js";
6
6
  import { n as canonicalModelId, r as modelBrandFor, t as ModelBrandStack } from "./model-brand-hMyDTUqB.js";
7
7
  import { a as formatPrice, i as PricingPage, n as TemplateCard, o as BillingDashboard, r as UsageChart, t as InfoPanel } from "./info-panel-C9cqDzOL.js";
8
8
  import { t as usePtySession } from "./use-pty-session-Bf4hBLXJ.js";
package/dist/styles.css CHANGED
@@ -5096,6 +5096,9 @@
5096
5096
  }
5097
5097
  }
5098
5098
  @media (width >= 64rem) {
5099
+ .lg\:left-\[var\(--sb-content-margin\)\] {
5100
+ left: var(--sb-content-margin);
5101
+ }
5099
5102
  .lg\:col-span-1 {
5100
5103
  grid-column: span 1 / span 1;
5101
5104
  }
@@ -1,5 +1,5 @@
1
1
  import { t as cn$1 } from "./utils-DzWbktWG.js";
2
- import { o as PortsList } from "./dashboard-CnGK2S3A.js";
2
+ import { o as PortsList } from "./dashboard-BDSwFddx.js";
3
3
  import { n as TerminalView } from "./terminal-DmSUfGha.js";
4
4
  import { RichFileTree } from "./files.js";
5
5
  import { n as PreviewView } from "./embedded-app-view-CMRPEvon.js";
package/dist/workbench.js CHANGED
@@ -1,3 +1,3 @@
1
- import { a as computeDiffStats, c as BRAND_PRISM_THEME, d as DiffStatsBadge, f as GitStatusBadge, i as buildUnifiedPatch, l as CodeSurface, m as PillTabs, n as SandboxArtifactPane, o as CodeView, p as PanelHeader, r as DiffView, s as FileBreadcrumb, t as ChangesPane, u as resolveLanguage } from "./workbench-DuIQZobw.js";
1
+ import { a as computeDiffStats, c as BRAND_PRISM_THEME, d as DiffStatsBadge, f as GitStatusBadge, i as buildUnifiedPatch, l as CodeSurface, m as PillTabs, n as SandboxArtifactPane, o as CodeView, p as PanelHeader, r as DiffView, s as FileBreadcrumb, t as ChangesPane, u as resolveLanguage } from "./workbench-CwqcBdbS.js";
2
2
  import { n as PreviewView, t as EmbeddedAppView } from "./embedded-app-view-CMRPEvon.js";
3
3
  export { BRAND_PRISM_THEME, ChangesPane, CodeSurface, CodeView, DiffStatsBadge, DiffView, EmbeddedAppView, FileBreadcrumb, GitStatusBadge, PanelHeader, PillTabs, PreviewView, SandboxArtifactPane, buildUnifiedPatch, computeDiffStats, resolveLanguage };
@@ -1629,7 +1629,7 @@ function SessionActivityMonitor({ className, compact = false, sessionsById = {},
1629
1629
  //#endregion
1630
1630
  //#region src/workspace/workspace-artifact-view.tsx
1631
1631
  /** The shared technical renderer for workspace files and generated artifacts. */
1632
- function WorkspaceArtifactView({ artifact }) {
1632
+ function WorkspaceArtifactView({ artifact, hideTitleBlock }) {
1633
1633
  switch (artifact.kind) {
1634
1634
  case "file": return /* @__PURE__ */ jsx(FileArtifactPane, {
1635
1635
  path: artifact.path === artifact.filename ? void 0 : artifact.path,
@@ -1646,9 +1646,10 @@ function WorkspaceArtifactView({ artifact }) {
1646
1646
  meta: artifact.meta,
1647
1647
  toolbar: artifact.toolbar,
1648
1648
  footer: artifact.footer,
1649
- hideTitleBlock: typeof artifact.title === "string" && artifact.title === artifact.filename && artifact.path === artifact.filename && !artifact.eyebrow && !artifact.meta
1649
+ hideTitleBlock: hideTitleBlock ?? (typeof artifact.title === "string" && artifact.title === artifact.filename && artifact.path === artifact.filename && !artifact.eyebrow && !artifact.meta)
1650
1650
  });
1651
1651
  case "markdown": return /* @__PURE__ */ jsx(ArtifactPane, {
1652
+ hideTitleBlock,
1652
1653
  eyebrow: artifact.eyebrow ?? "Document",
1653
1654
  title: artifact.title,
1654
1655
  subtitle: artifact.subtitle,
@@ -1665,6 +1666,7 @@ function WorkspaceArtifactView({ artifact }) {
1665
1666
  })
1666
1667
  });
1667
1668
  case "openui": return /* @__PURE__ */ jsx(ArtifactPane, {
1669
+ hideTitleBlock,
1668
1670
  eyebrow: artifact.eyebrow ?? "Structured Artifact",
1669
1671
  title: artifact.title,
1670
1672
  subtitle: artifact.subtitle,
@@ -1678,6 +1680,7 @@ function WorkspaceArtifactView({ artifact }) {
1678
1680
  })
1679
1681
  });
1680
1682
  case "custom": return /* @__PURE__ */ jsx(ArtifactPane, {
1683
+ hideTitleBlock,
1681
1684
  eyebrow: artifact.eyebrow ?? "Artifact",
1682
1685
  title: artifact.title,
1683
1686
  subtitle: artifact.subtitle,
@@ -1,2 +1,2 @@
1
- import { $ as useOptimisticSessionItems, A as SandboxWorkbenchOpenUIArtifact, B as SessionSidebar, C as AgentWorkbench, D as SandboxWorkbenchFileArtifact, E as SandboxWorkbenchCustomArtifact, F as ShellShouldRevalidateArgs, G as SessionSidebarLink, H as SessionSidebarFilter, I as ShellShouldRevalidateOptions, J as SESSION_CREATED_EVENT, K as SessionSidebarProps, L as createShellShouldRevalidate, M as SandboxWorkbenchSessionProps, N as SessionActivityMonitor, O as SandboxWorkbenchLayoutOptions, P as SessionActivityMonitorProps, Q as dispatchSessionCreated, R as shellShouldRevalidate, S as FormAudit, T as SandboxWorkbenchArtifact, U as SessionSidebarGroupBy, V as SessionSidebarBadge, W as SessionSidebarItem, X as SessionOptimisticController, Y as SessionCreatedDetail, Z as UseOptimisticSessionItemsOptions, _ as TaskBoardItem, a as WorkspaceFilesPane, at as ContextBadge, b as AuditResults, c as ApprovalConfidenceStat, ct as BannerType, d as ApprovalQueueProps, dt as DirectoryPane, et as RuntimePane, f as CalendarEvent, ft as DirectoryPaneProps, g as TaskBoardColumn, gt as WorkspaceLayoutProps, h as TaskBoard, ht as WorkspaceLayout, i as WorkspaceArtifactViewProps, it as TerminalProps, j as SandboxWorkbenchProps, k as SandboxWorkbenchMarkdownArtifact, l as ApprovalItem, lt as StatusBanner, m as CalendarViewProps, mt as WorkspacePaneHeaderProps, n as ArtifactPaneProps, nt as TerminalLine, o as WorkspaceFilesPaneProps, ot as StatusBar, p as CalendarView, pt as WorkspacePaneHeader, q as SessionSidebarVariant, r as WorkspaceArtifactView, rt as TerminalPanel, s as WorkspaceFilesPreview, st as StatusBarProps, t as ArtifactPane, tt as RuntimePaneProps, u as ApprovalQueue, ut as StatusBannerProps, v as TaskBoardProps, w as SandboxWorkbench, x as AuditResultsProps, y as AuditCheck, z as formatRelativeAge } from "./index-BxFd7DOv.js";
1
+ import { $ as useOptimisticSessionItems, A as SandboxWorkbenchOpenUIArtifact, B as SessionSidebar, C as AgentWorkbench, D as SandboxWorkbenchFileArtifact, E as SandboxWorkbenchCustomArtifact, F as ShellShouldRevalidateArgs, G as SessionSidebarLink, H as SessionSidebarFilter, I as ShellShouldRevalidateOptions, J as SESSION_CREATED_EVENT, K as SessionSidebarProps, L as createShellShouldRevalidate, M as SandboxWorkbenchSessionProps, N as SessionActivityMonitor, O as SandboxWorkbenchLayoutOptions, P as SessionActivityMonitorProps, Q as dispatchSessionCreated, R as shellShouldRevalidate, S as FormAudit, T as SandboxWorkbenchArtifact, U as SessionSidebarGroupBy, V as SessionSidebarBadge, W as SessionSidebarItem, X as SessionOptimisticController, Y as SessionCreatedDetail, Z as UseOptimisticSessionItemsOptions, _ as TaskBoardItem, a as WorkspaceFilesPane, at as ContextBadge, b as AuditResults, c as ApprovalConfidenceStat, ct as BannerType, d as ApprovalQueueProps, dt as DirectoryPane, et as RuntimePane, f as CalendarEvent, ft as DirectoryPaneProps, g as TaskBoardColumn, gt as WorkspaceLayoutProps, h as TaskBoard, ht as WorkspaceLayout, i as WorkspaceArtifactViewProps, it as TerminalProps, j as SandboxWorkbenchProps, k as SandboxWorkbenchMarkdownArtifact, l as ApprovalItem, lt as StatusBanner, m as CalendarViewProps, mt as WorkspacePaneHeaderProps, n as ArtifactPaneProps, nt as TerminalLine, o as WorkspaceFilesPaneProps, ot as StatusBar, p as CalendarView, pt as WorkspacePaneHeader, q as SessionSidebarVariant, r as WorkspaceArtifactView, rt as TerminalPanel, s as WorkspaceFilesPreview, st as StatusBarProps, t as ArtifactPane, tt as RuntimePaneProps, u as ApprovalQueue, ut as StatusBannerProps, v as TaskBoardProps, w as SandboxWorkbench, x as AuditResultsProps, y as AuditCheck, z as formatRelativeAge } from "./index-B_Ae4rdp.js";
2
2
  export { AgentWorkbench, type ApprovalConfidenceStat, type ApprovalItem, ApprovalQueue, type ApprovalQueueProps, ArtifactPane, type ArtifactPaneProps, type AuditCheck, AuditResults, type AuditResultsProps, type BannerType, type CalendarEvent, CalendarView, type CalendarViewProps, type ContextBadge, DirectoryPane, type DirectoryPaneProps, type FormAudit, RuntimePane, type RuntimePaneProps, SESSION_CREATED_EVENT, SandboxWorkbench, type SandboxWorkbenchArtifact, type SandboxWorkbenchCustomArtifact, type SandboxWorkbenchFileArtifact, type SandboxWorkbenchLayoutOptions, type SandboxWorkbenchMarkdownArtifact, type SandboxWorkbenchOpenUIArtifact, type SandboxWorkbenchProps, type SandboxWorkbenchSessionProps, SessionActivityMonitor, type SessionActivityMonitorProps, type SessionCreatedDetail, type SessionOptimisticController, SessionSidebar, type SessionSidebarBadge, type SessionSidebarFilter, type SessionSidebarGroupBy, type SessionSidebarItem, type SessionSidebarLink, type SessionSidebarProps, type SessionSidebarVariant, type ShellShouldRevalidateArgs, type ShellShouldRevalidateOptions, StatusBanner, type StatusBannerProps, StatusBar, type StatusBarProps, TaskBoard, type TaskBoardColumn, type TaskBoardItem, type TaskBoardProps, type TerminalLine, TerminalPanel, type TerminalProps, type UseOptimisticSessionItemsOptions, WorkspaceArtifactView, type WorkspaceArtifactViewProps, WorkspaceFilesPane, type WorkspaceFilesPaneProps, type WorkspaceFilesPreview, WorkspaceLayout, type WorkspaceLayoutProps, WorkspacePaneHeader, type WorkspacePaneHeaderProps, createShellShouldRevalidate, dispatchSessionCreated, formatRelativeAge, shellShouldRevalidate, useOptimisticSessionItems };
package/dist/workspace.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import { t as WorkspacePaneHeader } from "./workspace-pane-header-Bg1cCcHX.js";
2
- import { C as WorkspaceLayout, S as DirectoryPane, _ as formatRelativeAge, a as TaskBoard, b as StatusBar, c as SandboxWorkbench, d as createShellShouldRevalidate, f as shellShouldRevalidate, g as useOptimisticSessionItems, h as dispatchSessionCreated, i as CalendarView, l as WorkspaceArtifactView, m as SESSION_CREATED_EVENT, n as WorkspaceFilesPane, o as AuditResults, p as SessionSidebar, r as ApprovalQueue, s as AgentWorkbench, t as ArtifactPane, u as SessionActivityMonitor, v as RuntimePane, x as StatusBanner, y as TerminalPanel } from "./workspace-iRO3GeHT.js";
2
+ import { C as WorkspaceLayout, S as DirectoryPane, _ as formatRelativeAge, a as TaskBoard, b as StatusBar, c as SandboxWorkbench, d as createShellShouldRevalidate, f as shellShouldRevalidate, g as useOptimisticSessionItems, h as dispatchSessionCreated, i as CalendarView, l as WorkspaceArtifactView, m as SESSION_CREATED_EVENT, n as WorkspaceFilesPane, o as AuditResults, p as SessionSidebar, r as ApprovalQueue, s as AgentWorkbench, t as ArtifactPane, u as SessionActivityMonitor, v as RuntimePane, x as StatusBanner, y as TerminalPanel } from "./workspace-CjeZTLPQ.js";
3
3
  export { AgentWorkbench, ApprovalQueue, ArtifactPane, AuditResults, CalendarView, DirectoryPane, RuntimePane, SESSION_CREATED_EVENT, SandboxWorkbench, SessionActivityMonitor, SessionSidebar, StatusBanner, StatusBar, TaskBoard, TerminalPanel, WorkspaceArtifactView, WorkspaceFilesPane, WorkspaceLayout, WorkspacePaneHeader, createShellShouldRevalidate, dispatchSessionCreated, formatRelativeAge, shellShouldRevalidate, useOptimisticSessionItems };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tangle-network/sandbox-ui",
3
- "version": "0.120.0",
3
+ "version": "0.120.2",
4
4
  "description": "Unified UI component library for Tangle Sandbox — primitives, chat, dashboard, terminal, editor, and workspace components",
5
5
  "repository": {
6
6
  "type": "git",