@tangle-network/sandbox-ui 0.123.3 → 0.125.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -38,6 +38,16 @@ Import styles in your app root:
38
38
  import "@tangle-network/sandbox-ui/styles";
39
39
  ```
40
40
 
41
+ An app that runs its own Tailwind v4 compile imports the source entry instead, and lists no `node_modules` paths:
42
+
43
+ ```css
44
+ @import "tailwindcss";
45
+ @import "@tangle-network/sandbox-ui/tailwind.css";
46
+ ```
47
+
48
+ The entry carries Brand's tokens and utility registrations, this package's runtime CSS, and `@source` lines for its own `dist` and the `@tangle-network/ui` peer, so every component utility compiles once, in the app's own layer order.
49
+ Agent apps import `@tangle-network/agent-app/tailwind.css`, which includes this entry.
50
+
41
51
  ### Dashboard page spacing
42
52
 
43
53
  For apps whose pages already provide their own gutters, pass `contentClassName="px-0 pb-0 lg:px-0"` to `DashboardLayout`. New Sandbox is at the top of the sidebar; notifications sit above the account menu. Set `notificationsEnabled={false}` when the app has no notification feed. The desktop has no top bar; the mobile menu opens a focus-managed drawer.
@@ -492,6 +502,7 @@ Retheming is absolutely supported, but the documentation was thinner than it sho
492
502
  | `/types` | TypeScript types for messages, parts, runs, sessions |
493
503
  | `/utils` | cn, formatDuration, timeAgo, tool display helpers |
494
504
  | `/styles` | Compiled CSS bundle |
505
+ | `/tailwind.css` | Tailwind v4 source entry: tokens, runtime CSS, and the `@source` lines for this package and `@tangle-network/ui` |
495
506
 
496
507
  ## Stack
497
508
 
@@ -1,4 +1,4 @@
1
- import { A as worstSeverity, E as isStructuralKind, F as clampPreview, I as fmtCost, L as fmtDuration, O as triggerNodeIndex, P as shortModel, R as fmtTokens, T as buildWorkflowGraph, _ as problemBorder, a as NodeMark, b as statusBorder, c as RESTING_SHADOW, f as StatusFooter, g as kindAccent, h as emptySlotLabel, k as wfEdgeId, l as STATUS_COLOR, m as edgeColor, n as classifyOutput, o as ProblemMarker, p as StatusPill, s as ProblemMessages, t as NodeOutputBody, u as STATUS_LABEL, v as problemSurface, x as COMPACT_NODE_SIZE, y as problemTitle } from "./node-output-D_m-vmHB.js";
1
+ import { A as wfEdgeId, D as isStructuralKind, E as buildWorkflowGraph, F as shortModel, I as clampPreview, L as fmtCost, R as fmtDuration, S as COMPACT_NODE_SIZE, _ as kindAccent, a as NodeMark, b as problemTitle, c as RESTING_SHADOW, g as emptySlotLabel, h as edgeColor, j as worstSeverity, k as triggerNodeIndex, l as STATUS_COLOR, m as StatusPill, n as classifyOutput, o as ProblemMarker, p as StatusFooter, s as ProblemMessages, t as NodeOutputBody, u as STATUS_LABEL, v as problemBorder, x as statusBorder, y as problemSurface, z as fmtTokens } from "./node-output-BQr2Dgy5.js";
2
2
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
3
  import { createContext, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
4
4
  import { Maximize2, Minimize2, Plus, X } from "lucide-react";
@@ -1,9 +1,9 @@
1
- import { Wt as Logo, o as Button$1 } from "./primitives-Db_ASpuT.js";
1
+ import { Zt as Logo, o as Button$1 } from "./primitives-DLE_MCwZ.js";
2
2
  import { t as cn$1 } from "./utils-DzWbktWG.js";
3
3
  import { n as MOTION_SURFACE, r as MOTION_TRAVEL, t as MOTION_CONTROL } from "./motion-DkyBRJb9.js";
4
4
  import { i as moonshot_default } from "./model-brand-hMyDTUqB.js";
5
5
  import "./page-layout-DJV7cbxx.js";
6
- import { Avatar, AvatarFallback, AvatarImage, Badge, Button, Dialog, DialogClose, DialogContent, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Skeleton, StatCard, useTheme } from "@tangle-network/ui/primitives";
6
+ import { Avatar, AvatarFallback, AvatarImage, Badge, Button, Dialog, DialogClose, DialogContent, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Skeleton, StatCard, StatusPill, useTheme } from "@tangle-network/ui/primitives";
7
7
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
8
  import * as React$1 from "react";
9
9
  import { useEffect, useRef, useState } from "react";
@@ -1434,45 +1434,75 @@ function ActivityFeed({ title = "Recent activity", action, items, loading = fals
1434
1434
  });
1435
1435
  }
1436
1436
  //#endregion
1437
- //#region src/dashboard/sandbox-card.tsx
1438
- function canAdminSandbox(sandbox) {
1439
- if (!sandbox.team) return true;
1440
- return sandbox.team.role === "owner" || sandbox.team.role === "admin";
1441
- }
1442
- const STATUS_META = {
1437
+ //#region src/dashboard/sandbox-status.tsx
1438
+ /**
1439
+ * The one mapping from a sandbox's lifecycle state to a status tone and label.
1440
+ * Cards, tables and products read it here, so a state cannot be green in one
1441
+ * place and grey in another.
1442
+ *
1443
+ * A lifecycle state is domain meaning, so it lives in sandbox-ui; the tones and
1444
+ * the pill are ui's `StatusPill`. Running is up and healthy (success). Creating
1445
+ * and provisioning are still in progress (StatusPill's `running`, an open
1446
+ * ring). Failed needs attention (danger). The resting states — hibernating,
1447
+ * stopped, expired, archived — need nothing from the user, so they are neutral
1448
+ * and told apart by their labels.
1449
+ */
1450
+ const SANDBOX_STATUS = {
1443
1451
  running: {
1444
1452
  label: "Running",
1445
- color: "var(--status-running)"
1453
+ tone: "success"
1446
1454
  },
1447
- hibernating: {
1448
- label: "Hibernating",
1449
- color: "var(--status-warm)"
1455
+ creating: {
1456
+ label: "Creating",
1457
+ tone: "running"
1450
1458
  },
1451
1459
  provisioning: {
1452
1460
  label: "Provisioning",
1453
- color: "var(--status-creating)"
1461
+ tone: "running"
1454
1462
  },
1455
- creating: {
1456
- label: "Creating",
1457
- color: "var(--status-creating)"
1463
+ hibernating: {
1464
+ label: "Hibernating",
1465
+ tone: "neutral"
1458
1466
  },
1459
1467
  stopped: {
1460
1468
  label: "Stopped",
1461
- color: "var(--status-stopped)"
1469
+ tone: "neutral"
1462
1470
  },
1463
1471
  failed: {
1464
1472
  label: "Failed",
1465
- color: "var(--status-error)"
1473
+ tone: "danger"
1466
1474
  },
1467
1475
  expired: {
1468
1476
  label: "Expired",
1469
- color: "var(--status-deleted)"
1477
+ tone: "neutral"
1470
1478
  },
1471
1479
  archived: {
1472
1480
  label: "Archived",
1473
- color: "var(--status-deleted)"
1481
+ tone: "neutral"
1474
1482
  }
1475
1483
  };
1484
+ /** A state the API added after this release reads as neutral, with its own name. */
1485
+ function sandboxStatus(status) {
1486
+ return SANDBOX_STATUS[status] ?? {
1487
+ label: status ? status.charAt(0).toUpperCase() + status.slice(1) : "Unknown",
1488
+ tone: "neutral"
1489
+ };
1490
+ }
1491
+ /** `StatusPill` for a sandbox lifecycle state. */
1492
+ function SandboxStatusPill({ status, ...props }) {
1493
+ const { label, tone } = sandboxStatus(status);
1494
+ return /* @__PURE__ */ jsx(StatusPill, {
1495
+ tone,
1496
+ ...props,
1497
+ children: label
1498
+ });
1499
+ }
1500
+ //#endregion
1501
+ //#region src/dashboard/sandbox-card.tsx
1502
+ function canAdminSandbox(sandbox) {
1503
+ if (!sandbox.team) return true;
1504
+ return sandbox.team.role === "owner" || sandbox.team.role === "admin";
1505
+ }
1476
1506
  function Spec({ icon, value, unit }) {
1477
1507
  return /* @__PURE__ */ jsxs("span", {
1478
1508
  className: "flex shrink-0 items-center gap-1.5",
@@ -1507,7 +1537,6 @@ function SandboxCard({ sandbox, onOpenIDE, onOpenTerminal, onWake, onRestore, on
1507
1537
  };
1508
1538
  const resumeLabel = isHibernating ? "Wake Sandbox" : "Resume Sandbox";
1509
1539
  const resumeHandler = isStopped ? resolveResumeHandler(sandbox.status) : void 0;
1510
- const status = STATUS_META[sandbox.status];
1511
1540
  const isArchived = sandbox.status === "archived";
1512
1541
  const cpuPercent = sandbox.cpuPercent;
1513
1542
  const ramUsed = sandbox.ramUsed;
@@ -1633,20 +1662,7 @@ function SandboxCard({ sandbox, onOpenIDE, onOpenTerminal, onWake, onRestore, on
1633
1662
  children: [
1634
1663
  /* @__PURE__ */ jsxs("div", {
1635
1664
  className: "flex items-center justify-between",
1636
- children: [/* @__PURE__ */ jsxs("span", {
1637
- className: "inline-flex items-center gap-1.5 rounded-full border border-[var(--md3-outline-variant)] bg-surface-container-high px-2 py-0.5 text-[11px] font-medium text-foreground",
1638
- children: [/* @__PURE__ */ jsxs("span", {
1639
- className: "relative flex h-1.5 w-1.5",
1640
- children: [isRunning && /* @__PURE__ */ jsx("span", {
1641
- className: "absolute inline-flex h-full w-full animate-ping rounded-full opacity-75",
1642
- style: { backgroundColor: status.color },
1643
- "data-motion": "essential"
1644
- }), /* @__PURE__ */ jsx("span", {
1645
- className: "relative inline-flex h-1.5 w-1.5 rounded-full",
1646
- style: { backgroundColor: status.color }
1647
- })]
1648
- }), status.label]
1649
- }), isRunning && sandbox.uptime && /* @__PURE__ */ jsxs("span", {
1665
+ children: [/* @__PURE__ */ jsx(SandboxStatusPill, { status: sandbox.status }), isRunning && sandbox.uptime && /* @__PURE__ */ jsxs("span", {
1650
1666
  className: "font-mono text-[10px] tabular-nums text-muted-foreground",
1651
1667
  children: ["up ", sandbox.uptime]
1652
1668
  })]
@@ -1756,48 +1772,6 @@ function NewSandboxCard({ onClick, className }) {
1756
1772
  }
1757
1773
  //#endregion
1758
1774
  //#region src/dashboard/sandbox-table.tsx
1759
- const statusColors = {
1760
- running: {
1761
- dot: "bg-[var(--code-success)] animate-pulse",
1762
- text: "text-[var(--surface-success-text)]",
1763
- bar: "bg-[var(--code-success)]"
1764
- },
1765
- hibernating: {
1766
- dot: "bg-muted-foreground",
1767
- text: "text-muted-foreground",
1768
- bar: "bg-muted-foreground"
1769
- },
1770
- provisioning: {
1771
- dot: "bg-primary animate-pulse",
1772
- text: "text-[var(--accent-text)]",
1773
- bar: "bg-primary"
1774
- },
1775
- creating: {
1776
- dot: "bg-primary animate-pulse",
1777
- text: "text-[var(--accent-text)]",
1778
- bar: "bg-primary"
1779
- },
1780
- stopped: {
1781
- dot: "bg-muted-foreground",
1782
- text: "text-foreground",
1783
- bar: "bg-muted-foreground"
1784
- },
1785
- failed: {
1786
- dot: "bg-[var(--code-error)]",
1787
- text: "text-[var(--surface-danger-text)]",
1788
- bar: "bg-[var(--code-error)]"
1789
- },
1790
- expired: {
1791
- dot: "bg-border",
1792
- text: "text-muted-foreground",
1793
- bar: "bg-border"
1794
- },
1795
- archived: {
1796
- dot: "bg-border",
1797
- text: "text-muted-foreground",
1798
- bar: "bg-border"
1799
- }
1800
- };
1801
1775
  function isResumable(status) {
1802
1776
  return status !== "running" && status !== "provisioning" && status !== "creating" && status !== "expired";
1803
1777
  }
@@ -1831,17 +1805,9 @@ function MiniMeter({ label, percent }) {
1831
1805
  });
1832
1806
  }
1833
1807
  function StatusIndicator({ status }) {
1834
- const sc = statusColors[status] ?? statusColors.stopped;
1835
- return /* @__PURE__ */ jsxs("div", {
1836
- className: "flex items-center gap-2 whitespace-nowrap",
1837
- children: [/* @__PURE__ */ jsx("span", {
1838
- className: cn$1("flex h-2.5 w-2.5 shrink-0 rounded-full", sc.dot),
1839
- "aria-hidden": "true",
1840
- ...sc.dot.includes("animate-") ? { "data-motion": "essential" } : {}
1841
- }), /* @__PURE__ */ jsx("span", {
1842
- className: cn$1("text-xs font-medium", sc.text),
1843
- children: status.charAt(0).toUpperCase() + status.slice(1)
1844
- })]
1808
+ return /* @__PURE__ */ jsx(SandboxStatusPill, {
1809
+ status,
1810
+ bare: true
1845
1811
  });
1846
1812
  }
1847
1813
  function SandboxResources({ sandbox }) {
@@ -5148,4 +5114,4 @@ function InfoPanel({ label, title, description, className }) {
5148
5114
  });
5149
5115
  }
5150
5116
  //#endregion
5151
- export { SidebarRailHeader as $, ResourceSnapshot as A, RailExpandable as B, PlanCards as C, SandboxCard as D, NewSandboxCard as E, parseInsufficientBalance as F, RailThemeToggle as G, RailHeader as H, CreditBalance as I, SidebarPanel as J, Sidebar as K, ProfileAvatar as L, ClusterStatusBar as M, INSUFFICIENT_BALANCE_CODE as N, canAdminSandbox as O, OutOfCreditsModal as P, SidebarRailFooter as Q, RailButton as R, BackendSelector as S, SandboxTable as T, RailModeButton as U, RailFlyout as V, RailSeparator as W, SidebarPanelHeader as X, SidebarPanelContent as Y, SidebarRail as Z, HARNESS_OPTIONS as _, NetworkConfig as a, SIDEBAR_RAIL_WIDTH as at, HARNESS_BRAND as b, GitPanel as c, useSidebar as ct, VariantList as d, SidebarRailNav as et, MetricAreaChart as f, DashboardLayout as g, SidebarLayout as h, BackendConfig as i, SIDEBAR_RAIL_LABELED_WIDTH as it, ResourceMeter as j, ActivityFeed as k, UsageSummary as l, ProfileSelector as m, PromoBanner as n, SIDEBAR_MOBILE_WIDTH as nt, ProcessList as o, SIDEBAR_TOTAL_WIDTH as ot, ProfileComparison as p, SidebarContent as q, SnapshotList as r, SIDEBAR_PANEL_WIDTH as rt, PortsList as s, SidebarProvider as st, InfoPanel as t, RailTooltip as tt, SystemLogsViewer as u, HarnessPicker as v, InvoiceTable as w, HarnessLogo as x, chatCapableHarnesses as y, RailCollapseToggle as z };
5117
+ export { SidebarPanelHeader as $, SandboxStatusPill as A, ProfileAvatar as B, PlanCards as C, SandboxCard as D, NewSandboxCard as E, ClusterStatusBar as F, RailHeader as G, RailCollapseToggle as H, INSUFFICIENT_BALANCE_CODE as I, RailThemeToggle as J, RailModeButton as K, OutOfCreditsModal as L, ActivityFeed as M, ResourceSnapshot as N, canAdminSandbox as O, ResourceMeter as P, SidebarPanelContent as Q, parseInsufficientBalance as R, BackendSelector as S, SandboxTable as T, RailExpandable as U, RailButton as V, RailFlyout as W, SidebarContent as X, Sidebar as Y, SidebarPanel as Z, HARNESS_OPTIONS as _, NetworkConfig as a, SIDEBAR_MOBILE_WIDTH as at, HARNESS_BRAND as b, GitPanel as c, SIDEBAR_RAIL_WIDTH as ct, VariantList as d, useSidebar as dt, SidebarRail as et, MetricAreaChart as f, DashboardLayout as g, SidebarLayout as h, BackendConfig as i, RailTooltip as it, sandboxStatus as j, SANDBOX_STATUS as k, UsageSummary as l, SIDEBAR_TOTAL_WIDTH as lt, ProfileSelector as m, PromoBanner as n, SidebarRailHeader as nt, ProcessList as o, SIDEBAR_PANEL_WIDTH as ot, ProfileComparison as p, RailSeparator as q, SnapshotList as r, SidebarRailNav as rt, PortsList as s, SIDEBAR_RAIL_LABELED_WIDTH as st, InfoPanel as t, SidebarRailFooter as tt, SystemLogsViewer as u, SidebarProvider as ut, HarnessPicker as v, InvoiceTable as w, HarnessLogo as x, chatCapableHarnesses as y, CreditBalance as z };
@@ -1,4 +1,4 @@
1
- import { $ as DashboardLayoutProps, $t as SIDEBAR_RAIL_WIDTH, A as UsageSummaryData, An as SidebarPanelContentProps, At as TeamRole, B as MetricAreaChartProps, Bn as SidebarRailNav, Bt as ClusterStatusBar, C as PortsList, Cn as RailSeparatorProps, Ct as SandboxTableProps, D as GitPanelProps, Dn as SidebarContentProps, Dt as SandboxCardData, E as GitPanel, En as SidebarContent, Et as SandboxCard, F as VariantList, Fn as SidebarRail, Ft as ResourceSnapshot, G as ProfileComparisonProps, Gt as OutOfCreditsModal, H as MetricChartTone, Hn as SidebarRailProps, Ht as ClusterStatusItem, I as VariantListProps, In as SidebarRailFooter, It as ResourceSnapshotItem, J as SidebarLayout, Jt as CreditBalance, K as ProfileSelector, Kt as OutOfCreditsModalProps, L as VariantOutcome, Ln as SidebarRailFooterProps, Lt as ResourceSnapshotProps, M as SystemLogsViewer, Mn as SidebarPanelHeaderProps, Mt as ActivityFeed, N as SystemLogsViewerProps, Nn as SidebarPanelProps, Nt as ActivityFeedProps, O as GitStatusData, On as SidebarPanel, Ot as SandboxCardProps, P as Variant, Pn as SidebarProps, Pt as ActivityItem, Q as DashboardLayout, Qt as SIDEBAR_RAIL_LABELED_WIDTH, R as VariantStatus, Rn as SidebarRailHeader, Rt as ResourceMeter, S as ExposedPort, Sn as RailSeparator, St as SandboxTable, T as GitCommitData, Tn as Sidebar, Tt as NewSandboxCardProps, U as Profile, Un as SidebarUser, Ut as INSUFFICIENT_BALANCE_CODE, V as MetricChartPoint, Vn as SidebarRailNavProps, Vt as ClusterStatusBarProps, W as ProfileComparison, Wn as ThemeMode, Wt as InsufficientBalance, X as SidebarLayoutNavItem, Xt as SIDEBAR_MOBILE_WIDTH, Y as SidebarLayoutFlyoutItem, Yt as CreditBalanceProps, Z as SidebarLayoutProps, Zt as SIDEBAR_PANEL_WIDTH, _ as NetworkConfigData, _n as RailFlyoutProps, _t as PlanCardsProps, a as InfoPanel, an as RailTooltipProps, at as HarnessLogo, b as ProcessList, bn as RailModeButton, bt as InvoiceTable, c as PromoBannerProps, cn as ProfileAvatarProps, ct as HarnessPicker, d as SnapshotListProps, dn as RailCollapseToggle, dt as chatCapableHarnesses, en as SIDEBAR_TOTAL_WIDTH, et as DashboardUser, f as BackendConfig, fn as RailCollapseToggleProps, ft as Backend, g as NetworkConfig, gn as RailFlyout, gt as PlanCards, h as McpServer, hn as RailExpandableSubItem, ht as PlanCardData, i as SandboxPageShellProps, in as RailTooltip, it as HarnessBrand, j as UsageSummaryProps, jn as SidebarPanelHeader, jt as canAdminSandbox, k as UsageSummary, kn as SidebarPanelContent, kt as SandboxStatus, l as SnapshotInfo, ln as RailButton, lt as HarnessPickerProps, m as BackendStatusData, mn as RailExpandableProps, mt as BackendSelectorProps, n as DashboardPageHeaderProps, nn as SidebarProviderProps, nt as ProductVariant, o as InfoPanelProps, on as AppearanceController, ot as HarnessLogoProps, p as BackendConfigProps, pn as RailExpandable, pt as BackendSelector, q as ProfileSelectorProps, qt as parseInsufficientBalance, r as SandboxPageShell, rn as useSidebar, rt as HARNESS_BRAND, s as PromoBanner, sn as ProfileAvatar, st as HARNESS_OPTIONS, t as DashboardPageHeader, tn as SidebarProvider, tt as NavItem, u as SnapshotList, un as RailButtonProps, ut as HarnessType, v as NetworkConfigProps, vn as RailHeader, vt as PlanFeature, w as PortsListProps, wn as RailThemeToggle, wt as NewSandboxCard, x as ProcessListProps, xn as RailModeButtonProps, xt as InvoiceTableProps, y as ProcessInfo, yn as RailHeaderProps, yt as Invoice, z as MetricAreaChart, zn as SidebarRailHeaderProps, zt as ResourceMeterProps } from "./index-B_70pkX2.js";
1
+ import { $ as DashboardLayoutProps, $t as CreditBalanceProps, A as UsageSummaryData, An as SidebarContent, At as SandboxCard, B as MetricAreaChartProps, Bn as SidebarRailFooter, Bt as ResourceSnapshotItem, C as PortsList, Cn as RailHeaderProps, Ct as SandboxTableProps, D as GitPanelProps, Dn as RailSeparatorProps, Dt as sandboxStatus, E as GitPanel, En as RailSeparator, Et as SandboxStatusPillProps, F as VariantList, Fn as SidebarPanelHeader, Ft as canAdminSandbox, G as ProfileComparisonProps, Gn as SidebarRailNavProps, Gt as ClusterStatusBarProps, H as MetricChartTone, Hn as SidebarRailHeader, Ht as ResourceMeter, I as VariantListProps, In as SidebarPanelHeaderProps, It as ActivityFeed, J as SidebarLayout, Jn as ThemeMode, Jt as InsufficientBalance, K as ProfileSelector, Kn as SidebarRailProps, Kt as ClusterStatusItem, L as VariantOutcome, Ln as SidebarPanelProps, Lt as ActivityFeedProps, M as SystemLogsViewer, Mn as SidebarPanel, Mt as SandboxCardProps, N as SystemLogsViewerProps, Nn as SidebarPanelContent, Nt as SandboxStatus, O as GitStatusData, On as RailThemeToggle, Ot as NewSandboxCard, P as Variant, Pn as SidebarPanelContentProps, Pt as TeamRole, Q as DashboardLayout, Qt as CreditBalance, R as VariantStatus, Rn as SidebarProps, Rt as ActivityItem, S as ExposedPort, Sn as RailHeader, St as SandboxTable, T as GitCommitData, Tn as RailModeButtonProps, Tt as SandboxStatusPill, U as Profile, Un as SidebarRailHeaderProps, Ut as ResourceMeterProps, V as MetricChartPoint, Vn as SidebarRailFooterProps, Vt as ResourceSnapshotProps, W as ProfileComparison, Wn as SidebarRailNav, Wt as ClusterStatusBar, X as SidebarLayoutNavItem, Xt as OutOfCreditsModalProps, Y as SidebarLayoutFlyoutItem, Yt as OutOfCreditsModal, Z as SidebarLayoutProps, Zt as parseInsufficientBalance, _ as NetworkConfigData, _n as RailExpandable, _t as PlanCardsProps, a as InfoPanel, an as SidebarProvider, at as HarnessLogo, b as ProcessList, bn as RailFlyout, bt as InvoiceTable, c as PromoBannerProps, cn as RailTooltip, ct as HarnessPicker, d as SnapshotListProps, dn as ProfileAvatar, dt as chatCapableHarnesses, en as SIDEBAR_MOBILE_WIDTH, et as DashboardUser, f as BackendConfig, fn as ProfileAvatarProps, ft as Backend, g as NetworkConfig, gn as RailCollapseToggleProps, gt as PlanCards, h as McpServer, hn as RailCollapseToggle, ht as PlanCardData, i as SandboxPageShellProps, in as SIDEBAR_TOTAL_WIDTH, it as HarnessBrand, j as UsageSummaryProps, jn as SidebarContentProps, jt as SandboxCardData, k as UsageSummary, kn as Sidebar, kt as NewSandboxCardProps, l as SnapshotInfo, ln as RailTooltipProps, lt as HarnessPickerProps, m as BackendStatusData, mn as RailButtonProps, mt as BackendSelectorProps, n as DashboardPageHeaderProps, nn as SIDEBAR_RAIL_LABELED_WIDTH, nt as ProductVariant, o as InfoPanelProps, on as SidebarProviderProps, ot as HarnessLogoProps, p as BackendConfigProps, pn as RailButton, pt as BackendSelector, q as ProfileSelectorProps, qn as SidebarUser, qt as INSUFFICIENT_BALANCE_CODE, r as SandboxPageShell, rn as SIDEBAR_RAIL_WIDTH, rt as HARNESS_BRAND, s as PromoBanner, sn as useSidebar, st as HARNESS_OPTIONS, t as DashboardPageHeader, tn as SIDEBAR_PANEL_WIDTH, tt as NavItem, u as SnapshotList, un as AppearanceController, ut as HarnessType, v as NetworkConfigProps, vn as RailExpandableProps, vt as PlanFeature, w as PortsListProps, wn as RailModeButton, wt as SANDBOX_STATUS, x as ProcessListProps, xn as RailFlyoutProps, xt as InvoiceTableProps, y as ProcessInfo, yn as RailExpandableSubItem, yt as Invoice, z as MetricAreaChart, zn as SidebarRail, zt as ResourceSnapshot } from "./index-Qm_yQvZh.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
- 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, DashboardPageHeader, type DashboardPageHeaderProps, 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, SandboxPageShell, type SandboxPageShellProps, 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 };
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, DashboardPageHeader, type DashboardPageHeaderProps, 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, SANDBOX_STATUS, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_LABELED_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxCard, type SandboxCardData, type SandboxCardProps, SandboxPageShell, type SandboxPageShellProps, type SandboxStatus, SandboxStatusPill, type SandboxStatusPillProps, 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, sandboxStatus, useSidebar };
package/dist/dashboard.js CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as SidebarRailHeader, A as ResourceSnapshot, B as RailExpandable, C as PlanCards, D as SandboxCard, E as NewSandboxCard, F as parseInsufficientBalance, G as RailThemeToggle, H as RailHeader, I as CreditBalance, J as SidebarPanel, K as Sidebar, L as ProfileAvatar, M as ClusterStatusBar, N as INSUFFICIENT_BALANCE_CODE, O as canAdminSandbox, P as OutOfCreditsModal, Q as SidebarRailFooter, R as RailButton, S as BackendSelector, T as SandboxTable, U as RailModeButton, V as RailFlyout, W as RailSeparator, X as SidebarPanelHeader, Y as SidebarPanelContent, Z as SidebarRail, _ as HARNESS_OPTIONS, a as NetworkConfig, at as SIDEBAR_RAIL_WIDTH, b as HARNESS_BRAND, c as GitPanel, ct as useSidebar, d as VariantList, et as SidebarRailNav, f as MetricAreaChart, g as DashboardLayout, h as SidebarLayout, i as BackendConfig, it as SIDEBAR_RAIL_LABELED_WIDTH, j as ResourceMeter, k as ActivityFeed, l as UsageSummary, m as ProfileSelector, n as PromoBanner, nt as SIDEBAR_MOBILE_WIDTH, o as ProcessList, ot as SIDEBAR_TOTAL_WIDTH, p as ProfileComparison, q as SidebarContent, r as SnapshotList, rt as SIDEBAR_PANEL_WIDTH, s as PortsList, st as SidebarProvider, t as InfoPanel, tt as RailTooltip, u as SystemLogsViewer, v as HarnessPicker, w as InvoiceTable, x as HarnessLogo, y as chatCapableHarnesses, z as RailCollapseToggle } from "./dashboard-2z8THYrD.js";
1
+ import { $ as SidebarPanelHeader, A as SandboxStatusPill, B as ProfileAvatar, C as PlanCards, D as SandboxCard, E as NewSandboxCard, F as ClusterStatusBar, G as RailHeader, H as RailCollapseToggle, I as INSUFFICIENT_BALANCE_CODE, J as RailThemeToggle, K as RailModeButton, L as OutOfCreditsModal, M as ActivityFeed, N as ResourceSnapshot, O as canAdminSandbox, P as ResourceMeter, Q as SidebarPanelContent, R as parseInsufficientBalance, S as BackendSelector, T as SandboxTable, U as RailExpandable, V as RailButton, W as RailFlyout, X as SidebarContent, Y as Sidebar, Z as SidebarPanel, _ as HARNESS_OPTIONS, a as NetworkConfig, at as SIDEBAR_MOBILE_WIDTH, b as HARNESS_BRAND, c as GitPanel, ct as SIDEBAR_RAIL_WIDTH, d as VariantList, dt as useSidebar, et as SidebarRail, f as MetricAreaChart, g as DashboardLayout, h as SidebarLayout, i as BackendConfig, it as RailTooltip, j as sandboxStatus, k as SANDBOX_STATUS, l as UsageSummary, lt as SIDEBAR_TOTAL_WIDTH, m as ProfileSelector, n as PromoBanner, nt as SidebarRailHeader, o as ProcessList, ot as SIDEBAR_PANEL_WIDTH, p as ProfileComparison, q as RailSeparator, r as SnapshotList, rt as SidebarRailNav, s as PortsList, st as SIDEBAR_RAIL_LABELED_WIDTH, t as InfoPanel, tt as SidebarRailFooter, u as SystemLogsViewer, ut as SidebarProvider, v as HarnessPicker, w as InvoiceTable, x as HarnessLogo, y as chatCapableHarnesses, z as CreditBalance } from "./dashboard-BQhWvIsS.js";
2
2
  import { n as canonicalModelId, r as modelBrandFor, t as ModelBrandStack } from "./model-brand-hMyDTUqB.js";
3
3
  import { a as PricingPage, i as UsageChart, n as SandboxPageShell, o as formatPrice, r as TemplateCard, s as BillingDashboard, t as DashboardPageHeader } from "./page-layout-DJV7cbxx.js";
4
- export { ActivityFeed, BackendConfig, BackendSelector, BillingDashboard, ClusterStatusBar, CreditBalance, DashboardLayout, DashboardPageHeader, 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, SandboxPageShell, 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 };
4
+ export { ActivityFeed, BackendConfig, BackendSelector, BillingDashboard, ClusterStatusBar, CreditBalance, DashboardLayout, DashboardPageHeader, 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, SANDBOX_STATUS, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_LABELED_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxCard, SandboxPageShell, SandboxStatusPill, SandboxTable, Sidebar, SidebarContent, SidebarLayout, SidebarPanel, SidebarPanelContent, SidebarPanelHeader, SidebarProvider, SidebarRail, SidebarRailFooter, SidebarRailHeader, SidebarRailNav, SnapshotList, SystemLogsViewer, TemplateCard, UsageChart, UsageSummary, VariantList, canAdminSandbox, canonicalModelId, chatCapableHarnesses, formatPrice, modelBrandFor, parseInsufficientBalance, sandboxStatus, useSidebar };