@tangle-network/sandbox-ui 0.115.6 → 0.116.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -664,8 +664,8 @@ function SubItemsSkeleton() {
664
664
  }
665
665
  /**
666
666
  * A nav item that reveals sub-items. On the labeled rail it expands inline as an
667
- * accordion: the leading icon morphs into a chevron on hover, clicking the
668
- * chevron toggles the list, and clicking the label navigates (`href`). On the
667
+ * accordion: the leading icon and chevron remain visible, their shared button
668
+ * toggles the list, and clicking the label navigates (`href`). On the
669
669
  * icon-only rail it shows the sub-items in a right-anchored flyout on hover.
670
670
  * Sub-items can be fixed (`subItems`) or lazy (`loadSubItems`, with a loading
671
671
  * skeleton). Used for e.g. a "History" entry fronting recent sessions.
@@ -701,7 +701,7 @@ function RailExpandable({ icon: Icon, label, href, isActive, showLabel, subItems
701
701
  to: item.href,
702
702
  onClick: onNavigate,
703
703
  ...item.prefetch !== void 0 ? { prefetch: item.prefetch } : {},
704
- className: cn$1("flex min-w-0 flex-1 items-center gap-2 rounded-md px-2.5 text-[12px] transition-colors", MOTION_CONTROL, active ? "h-7 bg-[var(--accent-surface-strong)] font-medium text-[var(--accent-text)]" : item.emphasis ? "py-2 font-medium text-[var(--accent-text)] hover:underline" : "h-7 text-muted-foreground hover:bg-[var(--accent-surface-soft)] hover:text-foreground"),
704
+ className: cn$1("flex h-8 min-w-0 items-center gap-2 rounded-md px-2.5 text-sm transition-colors", MOTION_CONTROL, showLabel && item.actions?.length ? "flex-1" : "w-full flex-none", active ? "bg-[var(--accent-surface-strong)] font-medium text-[var(--accent-text)]" : item.emphasis ? "font-medium text-[var(--accent-text)] hover:underline" : "text-muted-foreground hover:bg-[var(--accent-surface-soft)] hover:text-foreground"),
705
705
  children: [
706
706
  item.unread && !item.isLoading && !active && /* @__PURE__ */ jsx("span", {
707
707
  className: "h-1.5 w-1.5 shrink-0 rounded-full bg-primary",
@@ -852,8 +852,14 @@ function RailExpandable({ icon: Icon, label, href, isActive, showLabel, subItems
852
852
  "aria-expanded": open,
853
853
  "aria-controls": discloseId,
854
854
  "aria-label": open ? `Collapse ${label}` : `Expand ${label}`,
855
- className: `relative flex h-9 w-9 shrink-0 items-center justify-center rounded-md ${focusRing}`,
856
- children: [/* @__PURE__ */ jsx(Icon, { className: cn$1("h-[17px] w-[17px] shrink-0 opacity-100 transition-opacity group-hover/exp:opacity-0", MOTION_CONTROL) }), /* @__PURE__ */ jsx(ChevronRightIcon, { className: cn$1("absolute h-4 w-4 opacity-0 transition-all group-hover/exp:opacity-100", MOTION_CONTROL, open && "rotate-90") })]
855
+ className: `flex h-9 w-12 shrink-0 items-center gap-1 rounded-md pl-2 pr-1 ${focusRing}`,
856
+ children: [/* @__PURE__ */ jsx(Icon, {
857
+ className: "h-[17px] w-[17px] shrink-0",
858
+ "aria-hidden": true
859
+ }), /* @__PURE__ */ jsx(ChevronRightIcon, {
860
+ className: cn$1("h-3.5 w-3.5 shrink-0 transition-transform", MOTION_CONTROL, open && "rotate-90"),
861
+ "aria-hidden": true
862
+ })]
857
863
  }), href ? /* @__PURE__ */ jsx(Link, {
858
864
  href,
859
865
  to: href,
@@ -1,4 +1,4 @@
1
- import { $ as HARNESS_BRAND, $t as useSidebar, A as Variant, An as SidebarProps, At as ActivityItem, B as ProfileComparison, Bn as ThemeMode, Bt as InsufficientBalance, C as GitPanelProps, Cn as SidebarContentProps, Ct as SandboxCardData, D as UsageSummaryProps, Dn as SidebarPanelHeader, Dt as canAdminSandbox, E as UsageSummaryData, En as SidebarPanelContentProps, Et as TeamRole, F as MetricAreaChart, Fn as SidebarRailHeaderProps, Ft as ResourceMeterProps, G as SidebarLayoutFlyoutItem, Gt as CreditBalanceProps, H as ProfileSelector, Ht as OutOfCreditsModalProps, I as MetricAreaChartProps, In as SidebarRailNav, It as ClusterStatusBar, J as DashboardLayout, Jt as SIDEBAR_RAIL_LABELED_WIDTH, K as SidebarLayoutNavItem, Kt as SIDEBAR_MOBILE_WIDTH, L as MetricChartPoint, Ln as SidebarRailNavProps, Lt as ClusterStatusBarProps, M as VariantListProps, Mn as SidebarRailFooter, Mt as ResourceSnapshotItem, N as VariantOutcome, Nn as SidebarRailFooterProps, Nt as ResourceSnapshotProps, O as SystemLogsViewer, On as SidebarPanelHeaderProps, Ot as ActivityFeed, P as VariantStatus, Pn as SidebarRailHeader, Pt as ResourceMeter, Q as ProductVariant, Qt as SidebarProviderProps, R as MetricChartTone, Rn as SidebarRailProps, Rt as ClusterStatusItem, S as GitPanel, Sn as SidebarContent, St as SandboxCard, T as UsageSummary, Tn as SidebarPanelContent, Tt as SandboxStatus, U as ProfileSelectorProps, Ut as parseInsufficientBalance, V as ProfileComparisonProps, Vt as OutOfCreditsModal, W as SidebarLayout, Wt as CreditBalance, X as DashboardUser, Xt as SIDEBAR_TOTAL_WIDTH, Y as DashboardLayoutProps, Yt as SIDEBAR_RAIL_WIDTH, Z as NavItem, Zt as SidebarProvider, _ as ProcessListProps, _n as RailModeButtonProps, _t as InvoiceTableProps, a as SnapshotInfo, an as RailButton, at as HarnessPickerProps, b as PortsListProps, bn as RailThemeToggle, bt as NewSandboxCard, c as BackendConfig, cn as RailCollapseToggleProps, ct as Backend, d as McpServer, dn as RailExpandableSubItem, dt as PlanCardData, en as RailTooltip, et as HarnessBrand, f as NetworkConfig, fn as RailFlyout, ft as PlanCards, g as ProcessList, gn as RailModeButton, gt as InvoiceTable, h as ProcessInfo, hn as RailHeaderProps, ht as Invoice, i as PromoBannerProps, in as ProfileAvatarProps, it as HarnessPicker, j as VariantList, jn as SidebarRail, jt as ResourceSnapshot, k as SystemLogsViewerProps, kn as SidebarPanelProps, kt as ActivityFeedProps, l as BackendConfigProps, ln as RailExpandable, lt as BackendSelector, m as NetworkConfigProps, mn as RailHeader, mt as PlanFeature, n as InfoPanelProps, nn as AppearanceController, nt as HarnessLogoProps, o as SnapshotList, on as RailButtonProps, ot as HarnessType, p as NetworkConfigData, pn as RailFlyoutProps, pt as PlanCardsProps, q as SidebarLayoutProps, qt as SIDEBAR_PANEL_WIDTH, r as PromoBanner, rn as ProfileAvatar, rt as HARNESS_OPTIONS, s as SnapshotListProps, sn as RailCollapseToggle, st as chatCapableHarnesses, t as InfoPanel, tn as RailTooltipProps, tt as HarnessLogo, u as BackendStatusData, un as RailExpandableProps, ut as BackendSelectorProps, v as ExposedPort, vn as RailSeparator, vt as SandboxTable, w as GitStatusData, wn as SidebarPanel, wt as SandboxCardProps, x as GitCommitData, xn as Sidebar, xt as NewSandboxCardProps, y as PortsList, yn as RailSeparatorProps, yt as SandboxTableProps, z as Profile, zn as SidebarUser, zt as INSUFFICIENT_BALANCE_CODE } from "./index-DPePq7c8.js";
1
+ import { $ as HARNESS_BRAND, $t as useSidebar, A as Variant, An as SidebarProps, At as ActivityItem, B as ProfileComparison, Bn as ThemeMode, Bt as InsufficientBalance, C as GitPanelProps, Cn as SidebarContentProps, Ct as SandboxCardData, D as UsageSummaryProps, Dn as SidebarPanelHeader, Dt as canAdminSandbox, E as UsageSummaryData, En as SidebarPanelContentProps, Et as TeamRole, F as MetricAreaChart, Fn as SidebarRailHeaderProps, Ft as ResourceMeterProps, G as SidebarLayoutFlyoutItem, Gt as CreditBalanceProps, H as ProfileSelector, Ht as OutOfCreditsModalProps, I as MetricAreaChartProps, In as SidebarRailNav, It as ClusterStatusBar, J as DashboardLayout, Jt as SIDEBAR_RAIL_LABELED_WIDTH, K as SidebarLayoutNavItem, Kt as SIDEBAR_MOBILE_WIDTH, L as MetricChartPoint, Ln as SidebarRailNavProps, Lt as ClusterStatusBarProps, M as VariantListProps, Mn as SidebarRailFooter, Mt as ResourceSnapshotItem, N as VariantOutcome, Nn as SidebarRailFooterProps, Nt as ResourceSnapshotProps, O as SystemLogsViewer, On as SidebarPanelHeaderProps, Ot as ActivityFeed, P as VariantStatus, Pn as SidebarRailHeader, Pt as ResourceMeter, Q as ProductVariant, Qt as SidebarProviderProps, R as MetricChartTone, Rn as SidebarRailProps, Rt as ClusterStatusItem, S as GitPanel, Sn as SidebarContent, St as SandboxCard, T as UsageSummary, Tn as SidebarPanelContent, Tt as SandboxStatus, U as ProfileSelectorProps, Ut as parseInsufficientBalance, V as ProfileComparisonProps, Vt as OutOfCreditsModal, W as SidebarLayout, Wt as CreditBalance, X as DashboardUser, Xt as SIDEBAR_TOTAL_WIDTH, Y as DashboardLayoutProps, Yt as SIDEBAR_RAIL_WIDTH, Z as NavItem, Zt as SidebarProvider, _ as ProcessListProps, _n as RailModeButtonProps, _t as InvoiceTableProps, a as SnapshotInfo, an as RailButton, at as HarnessPickerProps, b as PortsListProps, bn as RailThemeToggle, bt as NewSandboxCard, c as BackendConfig, cn as RailCollapseToggleProps, ct as Backend, d as McpServer, dn as RailExpandableSubItem, dt as PlanCardData, en as RailTooltip, et as HarnessBrand, f as NetworkConfig, fn as RailFlyout, ft as PlanCards, g as ProcessList, gn as RailModeButton, gt as InvoiceTable, h as ProcessInfo, hn as RailHeaderProps, ht as Invoice, i as PromoBannerProps, in as ProfileAvatarProps, it as HarnessPicker, j as VariantList, jn as SidebarRail, jt as ResourceSnapshot, k as SystemLogsViewerProps, kn as SidebarPanelProps, kt as ActivityFeedProps, l as BackendConfigProps, ln as RailExpandable, lt as BackendSelector, m as NetworkConfigProps, mn as RailHeader, mt as PlanFeature, n as InfoPanelProps, nn as AppearanceController, nt as HarnessLogoProps, o as SnapshotList, on as RailButtonProps, ot as HarnessType, p as NetworkConfigData, pn as RailFlyoutProps, pt as PlanCardsProps, q as SidebarLayoutProps, qt as SIDEBAR_PANEL_WIDTH, r as PromoBanner, rn as ProfileAvatar, rt as HARNESS_OPTIONS, s as SnapshotListProps, sn as RailCollapseToggle, st as chatCapableHarnesses, t as InfoPanel, tn as RailTooltipProps, tt as HarnessLogo, u as BackendStatusData, un as RailExpandableProps, ut as BackendSelectorProps, v as ExposedPort, vn as RailSeparator, vt as SandboxTable, w as GitStatusData, wn as SidebarPanel, wt as SandboxCardProps, x as GitCommitData, xn as Sidebar, xt as NewSandboxCardProps, y as PortsList, yn as RailSeparatorProps, yt as SandboxTableProps, z as Profile, zn as SidebarUser, zt as INSUFFICIENT_BALANCE_CODE } from "./index-D82GWl1N.js";
2
2
  import { a as modelBrandFor, i as canonicalModelId, n as ModelBrandStack, r as ModelInfo, t as ModelBrandIdentity } from "./model-brand-B9A4H9pJ.js";
3
3
  import { a as UsageChartProps, c as PricingPageProps, d as BillingBalance, f as BillingDashboard, h as BillingUsage, i as UsageChart, l as PricingTier, m as BillingSubscription, n as TemplateCardData, o as UsageDataPoint, p as BillingDashboardProps, r as TemplateCardProps, s as PricingPage, t as TemplateCard, u as formatPrice } from "./template-card-L-4gmjx2.js";
4
4
  export { ActivityFeed, type ActivityFeedProps, type ActivityItem, type AppearanceController, type Backend, BackendConfig, type BackendConfigProps, BackendSelector, type BackendSelectorProps, type BackendStatusData, type BillingBalance, BillingDashboard, type BillingDashboardProps, type BillingSubscription, type BillingUsage, ClusterStatusBar, type ClusterStatusBarProps, type ClusterStatusItem, CreditBalance, type CreditBalanceProps, DashboardLayout, type DashboardLayoutProps, type Profile as DashboardProfile, type SnapshotInfo as DashboardSnapshotInfo, type DashboardUser, type ExposedPort, type GitCommitData, GitPanel, type GitPanelProps, type GitStatusData, HARNESS_BRAND, HARNESS_OPTIONS, type HarnessBrand, HarnessLogo, type HarnessLogoProps, HarnessPicker, type HarnessPickerProps, type HarnessType, INSUFFICIENT_BALANCE_CODE, InfoPanel, type InfoPanelProps, type InsufficientBalance, type Invoice, InvoiceTable, type InvoiceTableProps, type McpServer, MetricAreaChart, type MetricAreaChartProps, type MetricChartPoint, type MetricChartTone, type ModelBrandIdentity, ModelBrandStack, type ModelInfo, type NavItem, NetworkConfig, type NetworkConfigData, type NetworkConfigProps, NewSandboxCard, type NewSandboxCardProps, OutOfCreditsModal, type OutOfCreditsModalProps, type PlanCardData, PlanCards, type PlanCardsProps, type PlanFeature, PortsList, type PortsListProps, PricingPage, type PricingPageProps, type PricingTier, type ProcessInfo, ProcessList, type ProcessListProps, type ProductVariant, ProfileAvatar, type ProfileAvatarProps, ProfileComparison, type ProfileComparisonProps, ProfileSelector, type ProfileSelectorProps, PromoBanner, type PromoBannerProps, RailButton, type RailButtonProps, RailCollapseToggle, type RailCollapseToggleProps, RailExpandable, type RailExpandableProps, type RailExpandableSubItem, RailFlyout, type RailFlyoutProps, RailHeader, type RailHeaderProps, RailModeButton, type RailModeButtonProps, RailSeparator, type RailSeparatorProps, RailThemeToggle, RailTooltip, type RailTooltipProps, ResourceMeter, type ResourceMeterProps, ResourceSnapshot, type ResourceSnapshotItem, type ResourceSnapshotProps, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_LABELED_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxCard, type SandboxCardData, type SandboxCardProps, type SandboxStatus, SandboxTable, type SandboxTableProps, Sidebar, SidebarContent, type SidebarContentProps, 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, SidebarRailHeader, type SidebarRailHeaderProps, SidebarRailNav, type SidebarRailNavProps, type SidebarRailProps, type SidebarUser, SnapshotList, type SnapshotListProps, SystemLogsViewer, type SystemLogsViewerProps, type TeamRole, TemplateCard, type TemplateCardData, type TemplateCardProps, type ThemeMode, UsageChart, type UsageChartProps, type UsageDataPoint, UsageSummary, type UsageSummaryData, type UsageSummaryProps, type Variant, VariantList, type VariantListProps, type VariantOutcome, type VariantStatus, canAdminSandbox, canonicalModelId, chatCapableHarnesses, formatPrice, modelBrandFor, parseInsufficientBalance, useSidebar };
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-CZ3VgNPR.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-CqyJQc7V.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 };
@@ -1,5 +1,5 @@
1
1
  import { t as cn$1 } from "./utils-DzWbktWG.js";
2
- import { t as WorkspacePaneHeader } from "./workspace-pane-header-C5e7sPaS.js";
2
+ import { t as WorkspacePaneHeader } from "./workspace-pane-header-Bg1cCcHX.js";
3
3
  import { Button } from "@tangle-network/ui/primitives";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  import * as React$1 from "react";
package/dist/globals.css CHANGED
@@ -839,8 +839,8 @@
839
839
  .h-\[1em\] {
840
840
  height: 1em;
841
841
  }
842
- .h-\[3px\] {
843
- height: 3px;
842
+ .h-\[9px\] {
843
+ height: 9px;
844
844
  }
845
845
  .h-\[17px\] {
846
846
  height: 17px;
@@ -1190,12 +1190,12 @@
1190
1190
  .w-\[1\.375rem\] {
1191
1191
  width: 1.375rem;
1192
1192
  }
1193
- .w-\[3px\] {
1194
- width: 3px;
1195
- }
1196
1193
  .w-\[5\.5rem\] {
1197
1194
  width: 5.5rem;
1198
1195
  }
1196
+ .w-\[9px\] {
1197
+ width: 9px;
1198
+ }
1199
1199
  .w-\[17px\] {
1200
1200
  width: 17px;
1201
1201
  }
@@ -1906,6 +1906,9 @@
1906
1906
  .overflow-hidden {
1907
1907
  overflow: hidden;
1908
1908
  }
1909
+ .overflow-visible {
1910
+ overflow: visible;
1911
+ }
1909
1912
  .overflow-x-auto {
1910
1913
  overflow-x: auto;
1911
1914
  }
@@ -2097,12 +2100,6 @@
2097
2100
  border-color: color-mix(in oklab, var(--brand-emerald) 50%, transparent);
2098
2101
  }
2099
2102
  }
2100
- .border-\[var\(--code-error\)\]\/20 {
2101
- border-color: var(--code-error);
2102
- @supports (color: color-mix(in lab, red, red)) {
2103
- border-color: color-mix(in oklab, var(--code-error) 20%, transparent);
2104
- }
2105
- }
2106
2103
  .border-\[var\(--code-number\)\]\/20 {
2107
2104
  border-color: var(--code-number);
2108
2105
  @supports (color: color-mix(in lab, red, red)) {
@@ -2373,12 +2370,6 @@
2373
2370
  .bg-\[var\(--code-error\)\] {
2374
2371
  background-color: var(--code-error);
2375
2372
  }
2376
- .bg-\[var\(--code-error\)\]\/5 {
2377
- background-color: var(--code-error);
2378
- @supports (color: color-mix(in lab, red, red)) {
2379
- background-color: color-mix(in oklab, var(--code-error) 5%, transparent);
2380
- }
2381
- }
2382
2373
  .bg-\[var\(--code-number\)\] {
2383
2374
  background-color: var(--code-number);
2384
2375
  }
@@ -3718,6 +3709,10 @@
3718
3709
  --tw-shadow: 0 6px 16px var(--tw-shadow-color, rgba(15,23,42,0.08));
3719
3710
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
3720
3711
  }
3712
+ .shadow-\[0_8px_30px_rgba\(0\,0\,0\,0\.18\)\] {
3713
+ --tw-shadow: 0 8px 30px var(--tw-shadow-color, rgba(0,0,0,0.18));
3714
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
3715
+ }
3721
3716
  .shadow-\[0_8px_30px_rgba\(0\,0\,0\,0\.45\)\] {
3722
3717
  --tw-shadow: 0 8px 30px var(--tw-shadow-color, rgba(0,0,0,0.45));
3723
3718
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -3989,6 +3984,14 @@
3989
3984
  border-color: color-mix(in oklab, var(--color-primary) 40%, transparent);
3990
3985
  }
3991
3986
  }
3987
+ .group-hover\:bg-primary\/20:is(:where(.group):hover *) {
3988
+ background-color: color-mix(in srgb, hsl(var(--primary)) 20%, transparent);
3989
+ }
3990
+ @supports (color: color-mix(in lab, red, red)) {
3991
+ .group-hover\:bg-primary\/20:is(:where(.group):hover *) {
3992
+ background-color: color-mix(in oklab, var(--color-primary) 20%, transparent);
3993
+ }
3994
+ }
3992
3995
  .group-hover\:text-foreground:is(:where(.group):hover *) {
3993
3996
  color: var(--color-foreground);
3994
3997
  }
@@ -4012,16 +4015,16 @@
4012
4015
  .group-hover\/brand\:opacity-100:is(:where(.group\/brand):hover *) {
4013
4016
  opacity: 100%;
4014
4017
  }
4015
- .group-hover\/exp\:opacity-0:is(:where(.group\/exp):hover *) {
4016
- opacity: 0%;
4017
- }
4018
- .group-hover\/exp\:opacity-100:is(:where(.group\/exp):hover *) {
4019
- opacity: 100%;
4020
- }
4021
4018
  .group-hover\/sub\:opacity-100:is(:where(.group\/sub):hover *) {
4022
4019
  opacity: 100%;
4023
4020
  }
4024
4021
  }
4022
+ .group-focus-visible\:bg-primary\/30:is(:where(.group):focus-visible *) {
4023
+ background-color: color-mix(in srgb, hsl(var(--primary)) 30%, transparent);
4024
+ @supports (color: color-mix(in lab, red, red)) {
4025
+ background-color: color-mix(in oklab, var(--color-primary) 30%, transparent);
4026
+ }
4027
+ }
4025
4028
  .peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled ~ *) {
4026
4029
  cursor: not-allowed;
4027
4030
  }
@@ -4354,14 +4357,6 @@
4354
4357
  background-color: color-mix(in oklab, var(--color-primary) 20%, transparent);
4355
4358
  }
4356
4359
  }
4357
- .hover\:bg-primary\/30:hover {
4358
- background-color: color-mix(in srgb, hsl(var(--primary)) 30%, transparent);
4359
- }
4360
- @supports (color: color-mix(in lab, red, red)) {
4361
- .hover\:bg-primary\/30:hover {
4362
- background-color: color-mix(in oklab, var(--color-primary) 30%, transparent);
4363
- }
4364
- }
4365
4360
  .hover\:bg-primary\/90:hover {
4366
4361
  background-color: color-mix(in srgb, hsl(var(--primary)) 90%, transparent);
4367
4362
  }
@@ -4560,12 +4555,6 @@
4560
4555
  .focus-visible\:bg-background:focus-visible {
4561
4556
  background-color: var(--color-background);
4562
4557
  }
4563
- .focus-visible\:bg-primary\/40:focus-visible {
4564
- background-color: color-mix(in srgb, hsl(var(--primary)) 40%, transparent);
4565
- @supports (color: color-mix(in lab, red, red)) {
4566
- background-color: color-mix(in oklab, var(--color-primary) 40%, transparent);
4567
- }
4568
- }
4569
4558
  .focus-visible\:bg-surface-container:focus-visible {
4570
4559
  background-color: var(--color-surface-container);
4571
4560
  }
@@ -5010,9 +4999,6 @@
5010
4999
  .lg\:p-0 {
5011
5000
  padding: 0px;
5012
5001
  }
5013
- .lg\:p-4 {
5014
- padding: calc(var(--spacing) * 4);
5015
- }
5016
5002
  .lg\:px-8 {
5017
5003
  padding-inline: calc(var(--spacing) * 8);
5018
5004
  }
package/dist/hooks.d.ts CHANGED
@@ -1,69 +1,7 @@
1
+ import { n as UsePtySessionReturn, r as usePtySession, t as UsePtySessionOptions } from "./use-pty-session-DbAYO5uH.js";
1
2
  import { t as Session } from "./sidecar-DgH_vQ6m.js";
2
3
  import { a as SendMessageOptions, c as SessionStreamError, d as useSessionStream, i as SESSION_STREAM_RECONNECT_DELAY_MS, 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";
3
- import { AgentInteractiveSessionControlClaim } from "@tangle-network/agent-interface";
4
4
  import { AgentStreamEvent, AppendUserMessageOptions, ApplySdkEventOptions, AuthUser, AutomationStreamEvent, BeginAssistantMessageOptions, BotStreamEvent, CompleteAssistantMessageOptions, ConnectionState, RealtimeSessionOptions, RealtimeSessionRegistry, RealtimeSessionRegistryProps, RealtimeSessionState, RealtimeSessionTarget, SSEEvent, SdkSessionAttachment, SdkSessionEvent, SdkSessionSeed, TaskStreamEvent, TerminalStreamEvent, UseAuthOptions, UseAuthResult, UseRunGroupsOptions, UseSSEStreamOptions, UseSSEStreamResult, UseSdkSessionOptions, UseSdkSessionReturn, UseToolCallStreamReturn, createAuthFetcher, useApiKey, useAuth, useAutoScroll, useDropdownMenu, useLiveTime, useRealtimeSession, useRunCollapseState, useRunGroups, useSSEStream, useSdkSession, useToolCallStream } from "@tangle-network/ui/hooks";
5
- //#region src/hooks/use-pty-session.d.ts
6
- export interface UsePtySessionOptions {
7
- /** Base URL of the sidecar (e.g. "http://localhost:9100"). */
8
- apiUrl: string;
9
- /** Bearer token for authentication. */
10
- token: string;
11
- /** Called with raw PTY output (may contain ANSI escape codes). */
12
- onData: (data: string) => void;
13
- /**
14
- * Stable id identifying this terminal connection to the sidecar.
15
- * Reused on every connect/reconnect so the sidecar restores the same
16
- * PTY session (within its reconnect window) instead of spawning a
17
- * fresh shell. When omitted, a random id is generated per connect —
18
- * so the session does not survive a remount.
19
- */
20
- connectionId?: string;
21
- /**
22
- * Exact incarnation issued for an interactive agent session. When present,
23
- * it must be sent with `control` on every WebSocket init frame.
24
- */
25
- incarnationId?: string;
26
- /** Write claim for the exact interactive agent session. */
27
- control?: AgentInteractiveSessionControlClaim;
28
- }
29
- export interface UsePtySessionReturn {
30
- /** Whether the underlying transport is connected and receiving data. */
31
- isConnected: boolean;
32
- /** Connection or API error, if any. */
33
- error: string | null;
34
- /** Send a command to the PTY session. */
35
- sendCommand: (command: string) => Promise<void>;
36
- /** Safely resize the remote PTY. */
37
- resizeTerminal: (cols: number, rows: number) => Promise<void>;
38
- /** Tear down and reconnect. */
39
- reconnect: () => void;
40
- }
41
- /**
42
- * Manages a PTY session against the sidecar terminal API.
43
- *
44
- * Transport:
45
- * 1. Try the current sidecar WebSocket contract directly:
46
- * GET /terminals/:id/ws, then send `{"type":"init",...}`.
47
- * - Server → client: BINARY frames carrying PTY output; TEXT frames
48
- * carrying lifecycle/control messages.
49
- * - Client → server: TEXT frames carrying JSON input/resize messages.
50
- * 2. If direct WS does not reach server `ready` within
51
- * WS_READY_TIMEOUT_MS, or it errors before ready, fall back to the older
52
- * terminal contract:
53
- * - POST /terminals creates the session.
54
- * - GET /terminals/:id/ws tries the older WS transport.
55
- * - GET /terminals/:id/stream (SSE for output)
56
- * - POST /terminals/:id/input (one batched POST at a time)
57
- * - PATCH /terminals/:id (resize)
58
- * 3. DELETE /terminals/:id closes sessions created by the older REST API.
59
- *
60
- * The WS path eliminates the per-keystroke HTTP round-trip that
61
- * dominates typing latency through edge proxies; the HTTP+SSE path is
62
- * preserved as a fallback so the hook keeps working against
63
- * deployments that have not yet shipped the WS endpoint.
64
- */
65
- export declare function usePtySession({ apiUrl, token, onData, connectionId: providedConnectionId, incarnationId, control }: UsePtySessionOptions): UsePtySessionReturn;
66
- //#endregion
67
5
  //#region src/hooks/use-sandbox-metrics.d.ts
68
6
  /**
69
7
  * Sandbox-level telemetry collected by the sidecar from cgroup v2
@@ -173,14 +111,12 @@ export interface UseSandboxMetricsResult {
173
111
  */
174
112
  history: SandboxMetricsSample[];
175
113
  /**
176
- * True only until the first successful sample has arrived (or the
177
- * first one after the target `sandboxId` changes). Subsequent polls
178
- * do not flip this back to true, so consumers can gate a spinner
179
- * on it without it flashing on every cycle.
114
+ * True while waiting for the first successful metrics response for this
115
+ * sandbox. Errors clear it so consumers can show the failure state.
180
116
  */
181
117
  loading: boolean;
182
118
  error: Error | null;
183
- /** Wall-clock ms of the last successful sample, or null. */
119
+ /** Wall-clock ms of the last successful metrics response, or null. */
184
120
  lastUpdatedAt: number | null;
185
121
  }
186
122
  /**
@@ -203,4 +139,4 @@ export declare function useRenameSession(apiUrl: string, token: string | null):
203
139
  title: string;
204
140
  }, unknown>;
205
141
  //#endregion
206
- export { type AgentStreamEvent, type AppendUserMessageOptions, type ApplySdkEventOptions, type AuthUser, type AutomationStreamEvent, type BeginAssistantMessageOptions, type BotStreamEvent, type CompleteAssistantMessageOptions, type ConnectionState, type RealtimeSessionOptions, RealtimeSessionRegistry, type RealtimeSessionRegistryProps, type RealtimeSessionState, type RealtimeSessionTarget, SESSION_STREAM_RECONNECT_DELAY_MS, type SSEEvent, type SdkSessionAttachment, type SdkSessionEvent, type SdkSessionSeed, SendMessageOptions, SessionDegradation, SessionInfo, SessionStreamError, SidecarAuth, type TaskStreamEvent, type TerminalStreamEvent, type UseAuthOptions, type UseAuthResult, type UseRunGroupsOptions, type UseSSEStreamOptions, type UseSSEStreamResult, type UseSdkSessionOptions, type UseSdkSessionReturn, UseSessionStreamOptions, UseSessionStreamResult, UseSidecarAuthOptions, type UseToolCallStreamReturn, createAuthFetcher, useApiKey, useAuth, useAutoScroll, useDropdownMenu, useLiveTime, useRealtimeSession, useRunCollapseState, useRunGroups, useSSEStream, useSdkSession, useSessionStream, useSidecarAuth, useToolCallStream };
142
+ export { type AgentStreamEvent, type AppendUserMessageOptions, type ApplySdkEventOptions, type AuthUser, type AutomationStreamEvent, type BeginAssistantMessageOptions, type BotStreamEvent, type CompleteAssistantMessageOptions, type ConnectionState, type RealtimeSessionOptions, RealtimeSessionRegistry, type RealtimeSessionRegistryProps, type RealtimeSessionState, type RealtimeSessionTarget, SESSION_STREAM_RECONNECT_DELAY_MS, type SSEEvent, type SdkSessionAttachment, type SdkSessionEvent, type SdkSessionSeed, SendMessageOptions, SessionDegradation, SessionInfo, SessionStreamError, SidecarAuth, type TaskStreamEvent, type TerminalStreamEvent, type UseAuthOptions, type UseAuthResult, UsePtySessionOptions, UsePtySessionReturn, type UseRunGroupsOptions, type UseSSEStreamOptions, type UseSSEStreamResult, type UseSdkSessionOptions, type UseSdkSessionReturn, UseSessionStreamOptions, UseSessionStreamResult, UseSidecarAuthOptions, type UseToolCallStreamReturn, createAuthFetcher, useApiKey, useAuth, useAutoScroll, useDropdownMenu, useLiveTime, usePtySession, useRealtimeSession, useRunCollapseState, useRunGroups, useSSEStream, useSdkSession, useSessionStream, useSidecarAuth, useToolCallStream };
package/dist/hooks.js CHANGED
@@ -1,9 +1,10 @@
1
- import { t as usePtySession } from "./use-pty-session-C8cE0adT.js";
1
+ import { t as usePtySession } from "./use-pty-session-Bf4hBLXJ.js";
2
2
  import { i as useSessionStream, n as SESSION_STREAM_RECONNECT_DELAY_MS, r as SessionStreamError, t as useSidecarAuth } from "./use-sidecar-auth-DkdcufOz.js";
3
3
  import * as React$1 from "react";
4
4
  import { RealtimeSessionRegistry, createAuthFetcher, useApiKey, useAuth, useAutoScroll, useDropdownMenu, useLiveTime, useRealtimeSession, useRunCollapseState, useRunGroups, useSSEStream, useSdkSession, useToolCallStream } from "@tangle-network/ui/hooks";
5
5
  import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
6
6
  //#region src/hooks/use-sandbox-metrics.ts
7
+ const METRICS_REQUEST_TIMEOUT_MS = 15e3;
7
8
  /**
8
9
  * Polls the sandbox's sidecar metrics through the API proxy and
9
10
  * derives a CPU% value from consecutive cumulative-CPU samples. Used
@@ -36,12 +37,19 @@ function useSandboxMetrics({ apiBaseUrl, sandboxId, token, enabled = true, inter
36
37
  }
37
38
  prevSandboxIdRef.current = sandboxId ?? null;
38
39
  if (!enabled || sandboxCleared) return;
39
- const controller = new AbortController();
40
40
  let cancelled = false;
41
41
  let timeoutId = null;
42
+ let activeRequestController = null;
42
43
  const delay = Math.max(intervalMs, 500);
43
44
  const fetchOnce = async () => {
44
45
  if (!hasLoadedRef.current) setLoading(true);
46
+ const requestController = new AbortController();
47
+ activeRequestController = requestController;
48
+ let requestTimedOut = false;
49
+ const requestTimeoutId = window.setTimeout(() => {
50
+ requestTimedOut = true;
51
+ requestController.abort();
52
+ }, METRICS_REQUEST_TIMEOUT_MS);
45
53
  try {
46
54
  const headers = {};
47
55
  if (token) headers.Authorization = `Bearer ${token}`;
@@ -49,7 +57,7 @@ function useSandboxMetrics({ apiBaseUrl, sandboxId, token, enabled = true, inter
49
57
  method: "GET",
50
58
  credentials: "include",
51
59
  headers,
52
- signal: controller.signal
60
+ signal: requestController.signal
53
61
  });
54
62
  if (!res.ok) throw new Error(`Metrics request failed (HTTP ${res.status})`);
55
63
  const data = await res.json();
@@ -96,9 +104,14 @@ function useSandboxMetrics({ apiBaseUrl, sandboxId, token, enabled = true, inter
96
104
  hasLoadedRef.current = true;
97
105
  setLoading(false);
98
106
  } catch (err) {
99
- if (cancelled || err instanceof DOMException && err.name === "AbortError") return;
100
- setError(err instanceof Error ? err : new Error(String(err)));
107
+ if (cancelled) return;
108
+ if (requestTimedOut) setError(/* @__PURE__ */ new Error(`Metrics request timed out after ${METRICS_REQUEST_TIMEOUT_MS / 1e3} seconds`));
109
+ else if (err instanceof DOMException && err.name === "AbortError") return;
110
+ else setError(err instanceof Error ? err : new Error(String(err)));
101
111
  if (!hasLoadedRef.current) setLoading(false);
112
+ } finally {
113
+ window.clearTimeout(requestTimeoutId);
114
+ if (activeRequestController === requestController) activeRequestController = null;
102
115
  }
103
116
  };
104
117
  const runLoop = async () => {
@@ -110,7 +123,7 @@ function useSandboxMetrics({ apiBaseUrl, sandboxId, token, enabled = true, inter
110
123
  runLoop();
111
124
  return () => {
112
125
  cancelled = true;
113
- controller.abort();
126
+ activeRequestController?.abort();
114
127
  if (timeoutId !== null) window.clearTimeout(timeoutId);
115
128
  };
116
129
  }, [
@@ -241,8 +241,8 @@ interface RailExpandableProps {
241
241
  }
242
242
  /**
243
243
  * A nav item that reveals sub-items. On the labeled rail it expands inline as an
244
- * accordion: the leading icon morphs into a chevron on hover, clicking the
245
- * chevron toggles the list, and clicking the label navigates (`href`). On the
244
+ * accordion: the leading icon and chevron remain visible, their shared button
245
+ * toggles the list, and clicking the label navigates (`href`). On the
246
246
  * icon-only rail it shows the sub-items in a right-anchored flyout on hover.
247
247
  * Sub-items can be fixed (`subItems`) or lazy (`loadSubItems`, with a loading
248
248
  * skeleton). Used for e.g. a "History" entry fronting recent sessions.
@@ -136,7 +136,7 @@ declare function DirectoryPane({ root, selectedPath, onSelect, onRefresh, onUplo
136
136
  //#endregion
137
137
  //#region src/workspace/status-banner.d.ts
138
138
  /**
139
- * StatusBanner — full-width notification banner for connection/provisioning states.
139
+ * StatusBanner — inline notice for connection and provisioning states.
140
140
  */
141
141
  type BannerType = "provisioning" | "connecting" | "error" | "warning" | "success" | "info";
142
142
  interface StatusBannerProps {
@@ -542,7 +542,7 @@ interface SandboxWorkbenchSessionProps extends Omit<ChatContainerProps, "classNa
542
542
  meta?: ReactNode;
543
543
  headerActions?: ReactNode;
544
544
  /**
545
- * Controls rendered as a strip attached beneath the chat composer —
545
+ * Controls rendered above the composer in the same centered column —
546
546
  * harness/model/effort pickers, token meters, etc. Use
547
547
  * `AgentSessionControls` from `@tangle-network/agent-app/web-react` for the
548
548
  * standard set.
@@ -564,15 +564,14 @@ interface SandboxWorkbenchProps {
564
564
  /**
565
565
  * Header above the transcript. `undefined` keeps the branded session card
566
566
  * (`Tangle Sandbox` / `title` / `status`), a node replaces it, and `null`
567
- * removes it: the transcript then renders directly on `bg-surface` with no
567
+ * removes it: the transcript then renders directly on `bg-background` with no
568
568
  * eyebrow/title frame around it, and the shell's center header row appears
569
569
  * only while it holds an open-pane toggle.
570
570
  */
571
571
  centerHeader?: ReactNode | null;
572
572
  /**
573
- * Composer rendered under the transcript on the panel background, inside the
574
- * transcript's own `max-w-3xl` column. `session.composerControls`, when
575
- * also given, sits above it as before.
573
+ * Composer rendered under the transcript in the same centered column as
574
+ * `session.composerControls`.
576
575
  */
577
576
  composer?: ReactNode;
578
577
  /**
@@ -1,4 +1,4 @@
1
- import { v as ExposedPort } from "./index-DPePq7c8.js";
1
+ import { v as ExposedPort } from "./index-D82GWl1N.js";
2
2
  import { _ as RichFileTreeGitStatus, g as RichFileTreeGitEntry } from "./index-CXX5IpH2.js";
3
3
  import { a as PreviewReadiness, i as PreviewAccess } from "./embedded-app-view-B_vMTtJn.js";
4
4
  import * as React$1 from "react";
package/dist/index.d.ts CHANGED
@@ -1,15 +1,16 @@
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-DvmZLMT1.js";
2
2
  import { A as modelProvider, B as ReasoningLevelOption, C as ArtifactAgentDockProps, D as ArtifactKind, E as ArtifactDockStreamEvent, F as AgentProfilePicker, H as ReasoningLevelPickerProps, I as AgentProfilePickerProps, L as DEFAULT_REASONING_LEVEL_OPTIONS, M as AgentProfileCapability, N as AgentProfileDraft, O as ArtifactScope, P as AgentProfileOption, R as HARNESS_REASONING_OPTIONS, S as ArtifactAgentDock, T as ArtifactDockMessage, V as ReasoningLevelPicker, _ as MessageRole, a as AgentTimelineMessageItem, b as UserMessage, c as AgentTimelineTone, d as ChatContainer, f as ChatContainerProps, g as MessageListProps, h as MessageList, i as AgentTimelineItem, j as snapHarnessToModel, k as createFetchTransport, l as AgentTimelineToolGroupItem, m as ChatMessageProps, n as AgentTimelineArtifactItem, o as AgentTimelineProps, p as ChatMessage, r as AgentTimelineCustomItem, s as AgentTimelineStatusItem, t as AgentTimeline, u as AgentTimelineToolItem, v as ThinkingIndicator, w as ArtifactAgentDockTransport, x as UserMessageProps, y as ThinkingIndicatorProps, z as ReasoningLevel } from "./index-DiyLLZuJ.js";
3
- import { $ as HARNESS_BRAND, $t as useSidebar, A as Variant, An as SidebarProps, At as ActivityItem, B as ProfileComparison, Bn as ThemeMode, Bt as InsufficientBalance, C as GitPanelProps, Cn as SidebarContentProps, Ct as SandboxCardData, D as UsageSummaryProps, Dn as SidebarPanelHeader, Dt as canAdminSandbox, E as UsageSummaryData, En as SidebarPanelContentProps, Et as TeamRole, F as MetricAreaChart, Fn as SidebarRailHeaderProps, Ft as ResourceMeterProps, G as SidebarLayoutFlyoutItem, Gt as CreditBalanceProps, H as ProfileSelector, Ht as OutOfCreditsModalProps, I as MetricAreaChartProps, In as SidebarRailNav, It as ClusterStatusBar, J as DashboardLayout, Jt as SIDEBAR_RAIL_LABELED_WIDTH, K as SidebarLayoutNavItem, Kt as SIDEBAR_MOBILE_WIDTH, L as MetricChartPoint, Ln as SidebarRailNavProps, Lt as ClusterStatusBarProps, M as VariantListProps, Mn as SidebarRailFooter, Mt as ResourceSnapshotItem, N as VariantOutcome, Nn as SidebarRailFooterProps, Nt as ResourceSnapshotProps, O as SystemLogsViewer, On as SidebarPanelHeaderProps, Ot as ActivityFeed, P as VariantStatus, Pn as SidebarRailHeader, Pt as ResourceMeter, Q as ProductVariant, Qt as SidebarProviderProps, R as MetricChartTone, Rn as SidebarRailProps, Rt as ClusterStatusItem, S as GitPanel, Sn as SidebarContent, St as SandboxCard, T as UsageSummary, Tn as SidebarPanelContent, Tt as SandboxStatus, U as ProfileSelectorProps, Ut as parseInsufficientBalance, V as ProfileComparisonProps, Vt as OutOfCreditsModal, W as SidebarLayout, Wt as CreditBalance, X as DashboardUser, Xt as SIDEBAR_TOTAL_WIDTH, Y as DashboardLayoutProps, Yt as SIDEBAR_RAIL_WIDTH, Z as NavItem, Zt as SidebarProvider, _ as ProcessListProps, _n as RailModeButtonProps, _t as InvoiceTableProps, a as SnapshotInfo, an as RailButton, at as HarnessPickerProps, b as PortsListProps, bn as RailThemeToggle, bt as NewSandboxCard, c as BackendConfig, cn as RailCollapseToggleProps, ct as Backend, d as McpServer, dn as RailExpandableSubItem, dt as PlanCardData, en as RailTooltip, et as HarnessBrand, f as NetworkConfig, fn as RailFlyout, ft as PlanCards, g as ProcessList, gn as RailModeButton, gt as InvoiceTable, h as ProcessInfo, hn as RailHeaderProps, ht as Invoice, i as PromoBannerProps, in as ProfileAvatarProps, it as HarnessPicker, j as VariantList, jn as SidebarRail, jt as ResourceSnapshot, k as SystemLogsViewerProps, kn as SidebarPanelProps, kt as ActivityFeedProps, l as BackendConfigProps, ln as RailExpandable, lt as BackendSelector, m as NetworkConfigProps, mn as RailHeader, mt as PlanFeature, n as InfoPanelProps, nn as AppearanceController, nt as HarnessLogoProps, o as SnapshotList, on as RailButtonProps, ot as HarnessType, p as NetworkConfigData, pn as RailFlyoutProps, pt as PlanCardsProps, q as SidebarLayoutProps, qt as SIDEBAR_PANEL_WIDTH, r as PromoBanner, rn as ProfileAvatar, rt as HARNESS_OPTIONS, s as SnapshotListProps, sn as RailCollapseToggle, st as chatCapableHarnesses, t as InfoPanel, tn as RailTooltipProps, tt as HarnessLogo, u as BackendStatusData, un as RailExpandableProps, ut as BackendSelectorProps, v as ExposedPort, vn as RailSeparator, vt as SandboxTable, w as GitStatusData, wn as SidebarPanel, wt as SandboxCardProps, x as GitCommitData, xn as Sidebar, xt as NewSandboxCardProps, y as PortsList, yn as RailSeparatorProps, yt as SandboxTableProps, z as Profile, zn as SidebarUser, zt as INSUFFICIENT_BALANCE_CODE } from "./index-DPePq7c8.js";
3
+ import { $ as HARNESS_BRAND, $t as useSidebar, A as Variant, An as SidebarProps, At as ActivityItem, B as ProfileComparison, Bn as ThemeMode, Bt as InsufficientBalance, C as GitPanelProps, Cn as SidebarContentProps, Ct as SandboxCardData, D as UsageSummaryProps, Dn as SidebarPanelHeader, Dt as canAdminSandbox, E as UsageSummaryData, En as SidebarPanelContentProps, Et as TeamRole, F as MetricAreaChart, Fn as SidebarRailHeaderProps, Ft as ResourceMeterProps, G as SidebarLayoutFlyoutItem, Gt as CreditBalanceProps, H as ProfileSelector, Ht as OutOfCreditsModalProps, I as MetricAreaChartProps, In as SidebarRailNav, It as ClusterStatusBar, J as DashboardLayout, Jt as SIDEBAR_RAIL_LABELED_WIDTH, K as SidebarLayoutNavItem, Kt as SIDEBAR_MOBILE_WIDTH, L as MetricChartPoint, Ln as SidebarRailNavProps, Lt as ClusterStatusBarProps, M as VariantListProps, Mn as SidebarRailFooter, Mt as ResourceSnapshotItem, N as VariantOutcome, Nn as SidebarRailFooterProps, Nt as ResourceSnapshotProps, O as SystemLogsViewer, On as SidebarPanelHeaderProps, Ot as ActivityFeed, P as VariantStatus, Pn as SidebarRailHeader, Pt as ResourceMeter, Q as ProductVariant, Qt as SidebarProviderProps, R as MetricChartTone, Rn as SidebarRailProps, Rt as ClusterStatusItem, S as GitPanel, Sn as SidebarContent, St as SandboxCard, T as UsageSummary, Tn as SidebarPanelContent, Tt as SandboxStatus, U as ProfileSelectorProps, Ut as parseInsufficientBalance, V as ProfileComparisonProps, Vt as OutOfCreditsModal, W as SidebarLayout, Wt as CreditBalance, X as DashboardUser, Xt as SIDEBAR_TOTAL_WIDTH, Y as DashboardLayoutProps, Yt as SIDEBAR_RAIL_WIDTH, Z as NavItem, Zt as SidebarProvider, _ as ProcessListProps, _n as RailModeButtonProps, _t as InvoiceTableProps, a as SnapshotInfo, an as RailButton, at as HarnessPickerProps, b as PortsListProps, bn as RailThemeToggle, bt as NewSandboxCard, c as BackendConfig, cn as RailCollapseToggleProps, ct as Backend, d as McpServer, dn as RailExpandableSubItem, dt as PlanCardData, en as RailTooltip, et as HarnessBrand, f as NetworkConfig, fn as RailFlyout, ft as PlanCards, g as ProcessList, gn as RailModeButton, gt as InvoiceTable, h as ProcessInfo, hn as RailHeaderProps, ht as Invoice, i as PromoBannerProps, in as ProfileAvatarProps, it as HarnessPicker, j as VariantList, jn as SidebarRail, jt as ResourceSnapshot, k as SystemLogsViewerProps, kn as SidebarPanelProps, kt as ActivityFeedProps, l as BackendConfigProps, ln as RailExpandable, lt as BackendSelector, m as NetworkConfigProps, mn as RailHeader, mt as PlanFeature, n as InfoPanelProps, nn as AppearanceController, nt as HarnessLogoProps, o as SnapshotList, on as RailButtonProps, ot as HarnessType, p as NetworkConfigData, pn as RailFlyoutProps, pt as PlanCardsProps, q as SidebarLayoutProps, qt as SIDEBAR_PANEL_WIDTH, r as PromoBanner, rn as ProfileAvatar, rt as HARNESS_OPTIONS, s as SnapshotListProps, sn as RailCollapseToggle, st as chatCapableHarnesses, t as InfoPanel, tn as RailTooltipProps, tt as HarnessLogo, u as BackendStatusData, un as RailExpandableProps, ut as BackendSelectorProps, v as ExposedPort, vn as RailSeparator, vt as SandboxTable, w as GitStatusData, wn as SidebarPanel, wt as SandboxCardProps, x as GitCommitData, xn as Sidebar, xt as NewSandboxCardProps, y as PortsList, yn as RailSeparatorProps, yt as SandboxTableProps, z as Profile, zn as SidebarUser, zt as INSUFFICIENT_BALANCE_CODE } from "./index-D82GWl1N.js";
4
4
  import { a as modelBrandFor, i as canonicalModelId, n as ModelBrandStack, r as ModelInfo, t as ModelBrandIdentity } from "./model-brand-B9A4H9pJ.js";
5
5
  import { a as UsageChartProps, c as PricingPageProps, d as BillingBalance, f as BillingDashboard, h as BillingUsage, i as UsageChart, l as PricingTier, m as BillingSubscription, n as TemplateCardData, o as UsageDataPoint, p as BillingDashboardProps, r as TemplateCardProps, s as PricingPage, t as TemplateCard, u as formatPrice } from "./template-card-L-4gmjx2.js";
6
6
  import { C as getCodeLanguage, D as resolveFilePreviewKind, E as parseCsv, S as filterFileTree, T as getSyntaxLanguage, _ as RichFileTreeGitStatus, a as FileNode, b as detectFileFormat, c as FilePreviewProps, d as FileTabsProps, f as FileTree, g as RichFileTreeGitEntry, h as RichFileTree, i as FileFormat, l as FileTabData, m as FileTreeVisibilityOptions, n as FileArtifactPane, o as FilePreview, p as FileTreeProps, r as FileArtifactPaneProps, s as FilePreviewKind, t as CSV_PREVIEW_ROW_LIMIT, u as FileTabs, v as RichFileTreeProps, w as getFormatLabel, x as fileExtension, y as RichFileTreeThemeVars } from "./index-CXX5IpH2.js";
7
+ import { n as UsePtySessionReturn, r as usePtySession, t as UsePtySessionOptions } from "./use-pty-session-DbAYO5uH.js";
7
8
  import { t as Session } from "./sidecar-DgH_vQ6m.js";
8
9
  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";
9
- import { AgentStreamEvent, AppendUserMessageOptions, ApplySdkEventOptions, AuthUser, AutomationStreamEvent, BeginAssistantMessageOptions, BotStreamEvent, CompleteAssistantMessageOptions, RealtimeSessionOptions, RealtimeSessionRegistry, RealtimeSessionRegistryProps, RealtimeSessionState, RealtimeSessionTarget, SSEEvent, SandboxMetrics, SdkSessionAttachment, SdkSessionEvent, SdkSessionSeed, SidecarMetricsPayload, TaskStreamEvent, TerminalStreamEvent, UseAuthOptions, UseAuthResult, UsePtySessionOptions, UsePtySessionReturn, UseRunGroupsOptions, UseSSEStreamOptions, UseSSEStreamResult, UseSandboxMetricsOptions, UseSandboxMetricsResult, UseSdkSessionOptions, UseSdkSessionReturn, UseToolCallStreamReturn, createAuthFetcher, useApiKey, useAuth, useAutoScroll, useCreateSession, useDeleteSession, useDropdownMenu, useLiveTime, usePtySession, useRealtimeSession, useRenameSession, useRunCollapseState, useRunGroups, useSSEStream, useSandboxMetrics, useSdkSession, useSessions, useToolCallStream } from "./hooks.js";
10
+ 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";
10
11
  import { $ as InputProps, $t as ToastProvider, A as DropZoneProps, At as Table, B as DropdownMenuSeparator, Bt as TabsList, C as DialogFooter, Ct as SkeletonTable, D as DialogTitle, Dt as StatusPillProps, E as DialogPortal, Et as StatusPill, F as DropdownMenuItem, Ft as TableHead, G as DropdownMenuTrigger, H as DropdownMenuSub, I as DropdownMenuLabel, It as TableHeader, J as FilterField, Jt as Textarea, K as EmptyState, Kt as TextShimmer, L as DropdownMenuPortal, Lt as TableRow, M as DropdownMenuCheckboxItem, Mt as TableCaption, N as DropdownMenuContent, Nt as TableCell, O as DialogTrigger, Ot as StatusTone, P as DropdownMenuGroup, Pt as TableFooter, Q as Input, Qt as ToastContainer, R as DropdownMenuRadioGroup, Rt as Tabs, S as DialogDescription, St as SkeletonCard, T as DialogOverlay, Tt as StatCardProps, U as DropdownMenuSubContent, Ut as TerminalDisplay, V as DropdownMenuShortcut, Vt as TabsTrigger, W as DropdownMenuSubTrigger, X as InlineCode, Xt as ThemeToggle, Y as FilterFieldProps, Yt as TextareaProps, Z as InlineCodeProps, Zt as Toast, _ as CodeBlockProps, _t as SelectTrigger, a as AvatarImage, an as badgeVariants, at as Progress, b as DialogClose, bn as TangleKnot, bt as SidebarDropZoneProps, c as Button, cn as useToast, ct as SegmentedControlProps, d as CardContent, dt as SelectGroup, en as Toolbar, et as Label, f as CardDescription, ft as SelectItem, g as CodeBlock, gt as SelectSeparator, h as CardTitle, ht as SelectScrollUpButton, i as AvatarFallback, in as UploadProgressProps, it as MetricStripProps, j as DropdownMenu, jt as TableBody, k as DropZone, kt as Switch, l as ButtonProps, lt as Select, m as CardHeader, mt as SelectScrollDownButton, nn as UploadFile, nt as MetricProps, o as Badge, on as buttonVariants, ot as SegmentedControl, p as CardFooter, pt as SelectLabel, q as EmptyStateProps, qt as TextShimmerProps, r as Avatar, rn as UploadProgress, rt as MetricStrip, s as BadgeProps, sn as useTheme, st as SegmentedControlOption, tn as ToolbarProps, tt as Metric, u as Card, ut as SelectContent, v as CopyButton, vn as Logo, vt as SelectValue, w as DialogHeader, wt as StatCard, x as DialogContent, xt as Skeleton, y as Dialog, yn as LogoProps, yt as SidebarDropZone, z as DropdownMenuRadioItem, zt as TabsContent } from "./index-PRM636Ex.js";
11
- import { $ as TerminalProps, A as ShellShouldRevalidateArgs, B as SessionSidebarLink, C as SandboxWorkbenchLayoutOptions, D as SandboxWorkbenchSessionProps, E as SandboxWorkbenchProps, F as SessionSidebar, G as SessionOptimisticController, H as SessionSidebarVariant, I as SessionSidebarBadge, J as useOptimisticSessionItems, K as UseOptimisticSessionItemsOptions, L as SessionSidebarFilter, M as createShellShouldRevalidate, N as shellShouldRevalidate, O as SessionActivityMonitor, P as formatRelativeAge, Q as TerminalPanel, R as SessionSidebarGroupBy, S as SandboxWorkbenchFileArtifact, T as SandboxWorkbenchOpenUIArtifact, U as SESSION_CREATED_EVENT, V as SessionSidebarProps, W as SessionCreatedDetail, X as RuntimePaneProps, Y as RuntimePane, Z as TerminalLine, _ as FormAudit, a as ApprovalQueue, at as StatusBannerProps, b as SandboxWorkbenchArtifact, c as CalendarView, ct as WorkspacePaneHeader, d as TaskBoardColumn, dt as WorkspaceLayoutProps, et as ContextBadge, f as TaskBoardItem, g as AuditResultsProps, h as AuditResults, i as ApprovalItem, it as StatusBanner, j as ShellShouldRevalidateOptions, k as SessionActivityMonitorProps, l as CalendarViewProps, lt as WorkspacePaneHeaderProps, m as AuditCheck, n as ArtifactPaneProps, nt as StatusBarProps, o as ApprovalQueueProps, ot as DirectoryPane, p as TaskBoardProps, q as dispatchSessionCreated, r as ApprovalConfidenceStat, rt as BannerType, s as CalendarEvent, st as DirectoryPaneProps, t as ArtifactPane, tt as StatusBar, u as TaskBoard, ut as WorkspaceLayout, v as AgentWorkbench, w as SandboxWorkbenchMarkdownArtifact, x as SandboxWorkbenchCustomArtifact, y as SandboxWorkbench, z as SessionSidebarItem } from "./index-CKRaj1pM.js";
12
- 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-Jw7UYYcH.js";
12
+ import { $ as TerminalProps, A as ShellShouldRevalidateArgs, B as SessionSidebarLink, C as SandboxWorkbenchLayoutOptions, D as SandboxWorkbenchSessionProps, E as SandboxWorkbenchProps, F as SessionSidebar, G as SessionOptimisticController, H as SessionSidebarVariant, I as SessionSidebarBadge, J as useOptimisticSessionItems, K as UseOptimisticSessionItemsOptions, L as SessionSidebarFilter, M as createShellShouldRevalidate, N as shellShouldRevalidate, O as SessionActivityMonitor, P as formatRelativeAge, Q as TerminalPanel, R as SessionSidebarGroupBy, S as SandboxWorkbenchFileArtifact, T as SandboxWorkbenchOpenUIArtifact, U as SESSION_CREATED_EVENT, V as SessionSidebarProps, W as SessionCreatedDetail, X as RuntimePaneProps, Y as RuntimePane, Z as TerminalLine, _ as FormAudit, a as ApprovalQueue, at as StatusBannerProps, b as SandboxWorkbenchArtifact, c as CalendarView, ct as WorkspacePaneHeader, d as TaskBoardColumn, dt as WorkspaceLayoutProps, et as ContextBadge, f as TaskBoardItem, g as AuditResultsProps, h as AuditResults, i as ApprovalItem, it as StatusBanner, j as ShellShouldRevalidateOptions, k as SessionActivityMonitorProps, l as CalendarViewProps, lt as WorkspacePaneHeaderProps, m as AuditCheck, n as ArtifactPaneProps, nt as StatusBarProps, o as ApprovalQueueProps, ot as DirectoryPane, p as TaskBoardProps, q as dispatchSessionCreated, r as ApprovalConfidenceStat, rt as BannerType, s as CalendarEvent, st as DirectoryPaneProps, t as ArtifactPane, tt as StatusBar, u as TaskBoard, ut as WorkspaceLayout, v as AgentWorkbench, w as SandboxWorkbenchMarkdownArtifact, x as SandboxWorkbenchCustomArtifact, y as SandboxWorkbench, z as SessionSidebarItem } from "./index-D8XVXO94.js";
13
+ 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-D_G-wF6u.js";
13
14
  import { a as PreviewReadiness, i as PreviewAccess, n as EmbeddedAppView, r as EmbeddedAppViewProps, t as EmbeddedApp } from "./embedded-app-view-B_vMTtJn.js";
14
15
  import { OpenUIAction, OpenUIActionsNode, OpenUIArtifactRenderer, OpenUIArtifactRendererProps, OpenUIBadgeNode, OpenUICardNode, OpenUICodeNode, OpenUIComponentNode, OpenUIGridNode, OpenUIHeadingNode, OpenUIKeyValueNode, OpenUIMarkdownNode, OpenUIPrimitive, OpenUISeparatorNode, OpenUIStackNode, OpenUIStatNode, OpenUITableNode, OpenUITextNode } from "./openui.js";
15
16
  import { ExpandedToolDetail, ExpandedToolDetailProps, FeedSegment, InlineThinkingItem, InlineThinkingItemProps, InlineToolItem, InlineToolItemProps, LiveDuration, RunGroup, RunGroupProps, RunRowShell, RunRowShellProps, RunRowStatus, RunRowStatusDot, ToolCallData, ToolCallFeed, ToolCallFeedProps, ToolCallStatus, ToolCallType, parseToolEvent } from "./run.js";
package/dist/index.js CHANGED
@@ -1,13 +1,13 @@
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-Cm-aZNGy.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-DJlOqodW.js";
2
2
  import { $ as SelectItem, A as DropdownMenuItem, At as Textarea, B as DropdownMenuTrigger, C as DialogTitle, Ct as TabsList, D as DropdownMenuCheckboxItem, E as DropdownMenu, Et as TerminalDisplay, F as DropdownMenuSeparator, Ft as UploadProgress, G as Label, Gt as TangleKnot, H as FilterField, I as DropdownMenuShortcut, It as badgeVariants, J as Progress, K as Metric, L as DropdownMenuSub, Lt as buttonVariants, M as DropdownMenuPortal, Mt as ToastContainer, N as DropdownMenuRadioGroup, Nt as ToastProvider, O as DropdownMenuContent, P as DropdownMenuRadioItem, Pt as Toolbar, Q as SelectGroup, R as DropdownMenuSubContent, Rt as useTheme, S as DialogPortal, St as TabsContent, T as DropZone, U as InlineCode, V as EmptyState, W as Input, Wt as Logo, X as Select, Y as SegmentedControl, Z as SelectContent, _ as DialogContent, _t as TableFooter, a as Badge, at as SelectValue, b as DialogHeader, bt as TableRow, c as CardContent, ct as SkeletonCard, d as CardHeader, dt as StatusPill, et as SelectLabel, f as CardTitle, ft as Switch, g as DialogClose, gt as TableCell, h as Dialog, ht as TableCaption, i as AvatarImage, it as SelectTrigger, j as DropdownMenuLabel, jt as ThemeToggle, k as DropdownMenuGroup, kt as TextShimmer, l as CardDescription, lt as SkeletonTable, m as CopyButton, mt as TableBody, n as Avatar, nt as SelectScrollUpButton, o as Button, ot as SidebarDropZone, p as CodeBlock, pt as Table, q as MetricStrip, r as AvatarFallback, rt as SelectSeparator, s as Card, st as Skeleton, tt as SelectScrollDownButton, u as CardFooter, ut as StatCard, v as DialogDescription, vt as TableHead, w as DialogTrigger, wt as TabsTrigger, x as DialogOverlay, xt as Tabs, y as DialogFooter, yt as TableHeader, z as DropdownMenuSubTrigger, zt as useToast } from "./primitives-Dh1vG6J3.js";
3
- import { t as WorkspacePaneHeader } from "./workspace-pane-header-C5e7sPaS.js";
4
- import { _ as TerminalPanel, a as AuditResults, b as DirectoryPane, c as SessionActivityMonitor, d as SessionSidebar, f as SESSION_CREATED_EVENT, g as RuntimePane, h as formatRelativeAge, i as TaskBoard, l as createShellShouldRevalidate, m as useOptimisticSessionItems, n as ApprovalQueue, o as AgentWorkbench, p as dispatchSessionCreated, r as CalendarView, s as SandboxWorkbench, t as ArtifactPane, u as shellShouldRevalidate, v as StatusBar, x as WorkspaceLayout, y as StatusBanner } from "./workspace-DoEZpkfF.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-CZ3VgNPR.js";
3
+ import { t as WorkspacePaneHeader } from "./workspace-pane-header-Bg1cCcHX.js";
4
+ import { _ as TerminalPanel, a as AuditResults, b as DirectoryPane, c as SessionActivityMonitor, d as SessionSidebar, f as SESSION_CREATED_EVENT, g as RuntimePane, h as formatRelativeAge, i as TaskBoard, l as createShellShouldRevalidate, m as useOptimisticSessionItems, n as ApprovalQueue, o as AgentWorkbench, p as dispatchSessionCreated, r as CalendarView, s as SandboxWorkbench, t as ArtifactPane, u as shellShouldRevalidate, v as StatusBar, x as WorkspaceLayout, y as StatusBanner } from "./workspace-CT4aDUE5.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-CqyJQc7V.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
- import { t as usePtySession } from "./use-pty-session-C8cE0adT.js";
8
+ import { t as usePtySession } from "./use-pty-session-Bf4hBLXJ.js";
9
9
  import { CSV_PREVIEW_ROW_LIMIT, FileArtifactPane, FilePreview, FileTabs, FileTree, RichFileTree, detectFileFormat, fileExtension, filterFileTree, getCodeLanguage, getFormatLabel, getSyntaxLanguage, parseCsv, resolveFilePreviewKind } from "./files.js";
10
- import { n as PreviewView, t as EmbeddedAppView } from "./embedded-app-view-CNWKeod5.js";
10
+ import { n as PreviewView, t as EmbeddedAppView } from "./embedded-app-view-CoiS_kfY.js";
11
11
  import { OpenUIArtifactRenderer } from "./openui.js";
12
12
  import { a as ThinkingIndicator, c as createFetchTransport, d as AgentProfilePicker, f as DEFAULT_REASONING_LEVEL_OPTIONS, i as MessageList, l as modelProvider, m as ReasoningLevelPicker, n as ChatContainer, o as UserMessage, p as HARNESS_REASONING_OPTIONS, r as ChatMessage, s as ArtifactAgentDock, t as AgentTimeline, u as snapHarnessToModel } from "./chat-BOvFAe6p.js";
13
13
  import { ExpandedToolDetail, InlineThinkingItem, InlineToolItem, LiveDuration, RunGroup, RunRowShell, RunRowStatusDot, ToolCallFeed, parseToolEvent } from "./run.js";