@tangle-network/sandbox-ui 0.137.1 → 0.137.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/dist/{WorkflowGraph-BcuJ0kgt.js → WorkflowGraph-DXmu60At.js} +4 -7
  2. package/dist/assets.d.ts +0 -18
  3. package/dist/assets.js +9 -17
  4. package/dist/{auth-CWe17Hly.js → auth-BDpoZ_2f.js} +1 -2
  5. package/dist/auth.d.ts +1 -1
  6. package/dist/auth.js +1 -2
  7. package/dist/{chat-_aHUfqtH.js → chat-Cw13rqn9.js} +7 -13
  8. package/dist/chat.d.ts +1 -1
  9. package/dist/chat.js +1 -2
  10. package/dist/{connections-C5DxYxvz.js → connections-DymjzHe_.js} +1 -2
  11. package/dist/connections.d.ts +1 -1
  12. package/dist/connections.js +1 -2
  13. package/dist/connectors.d.ts +0 -10
  14. package/dist/connectors.js +5 -9
  15. package/dist/{dashboard-SFakZEtu.js → dashboard-ClKA3opr.js} +31 -55
  16. package/dist/dashboard.d.ts +3 -3
  17. package/dist/dashboard.js +3 -3
  18. package/dist/editor.js +1 -2
  19. package/dist/{embedded-app-view-CYb9hevq.js → embedded-app-view-DXsoPale.js} +5 -8
  20. package/dist/{embedded-app-view-B_vMTtJn.d.ts → embedded-app-view-Ta5GI4hx.d.ts} +0 -4
  21. package/dist/files.js +1 -2
  22. package/dist/hooks.d.ts +3 -7
  23. package/dist/hooks.js +4 -6
  24. package/dist/{index-QBCEflyf.d.ts → index-4KFqFK1f.d.ts} +0 -6
  25. package/dist/{index-C61CTrhx.d.ts → index-B1oEiBks.d.ts} +0 -36
  26. package/dist/{index-DsU8ts9f.d.ts → index-BAEvGqrn.d.ts} +0 -4
  27. package/dist/{index-DvmZLMT1.d.ts → index-BbfWVtZq.d.ts} +0 -2
  28. package/dist/{index-ClRHbsoX.d.ts → index-DLX35YAa.d.ts} +0 -2
  29. package/dist/{index-AVDzT8Jw.d.ts → index-DRDtTgb0.d.ts} +2 -54
  30. package/dist/{index-ByzdHyte.d.ts → index-T4-5mWTq.d.ts} +2 -24
  31. package/dist/{index-DGil6iqm.d.ts → index-y2OPUSoY.d.ts} +0 -4
  32. package/dist/index.d.ts +15 -15
  33. package/dist/index.js +15 -16
  34. package/dist/integrations.d.ts +0 -14
  35. package/dist/integrations.js +6 -11
  36. package/dist/markdown.js +1 -2
  37. package/dist/{model-brand-B57CV8Lg.d.ts → model-brand-ZwVS49Fq.d.ts} +0 -2
  38. package/dist/{model-brand-BSr9on8C.js → model-brand-bTcMjQtB.js} +34 -67
  39. package/dist/{motion-D4njYpys.js → motion-Bn7ESHrj.js} +1 -2
  40. package/dist/{node-output-fuk0NV0V.js → node-output-udnwhShN.js} +9 -16
  41. package/dist/openui.js +1 -2
  42. package/dist/{page-layout-2IRtfx51.js → page-layout-CuOpvZys.js} +5 -9
  43. package/dist/pages.d.ts +2 -14
  44. package/dist/pages.js +9 -15
  45. package/dist/{primitives-CLOVnjWz.js → primitives-CiwDp4-0.js} +4 -7
  46. package/dist/primitives.d.ts +1 -1
  47. package/dist/primitives.js +1 -2
  48. package/dist/{provider-logo-BGCziCbM.js → provider-logo-CPKRPHcS.js} +1 -2
  49. package/dist/{rolldown-runtime-BBjsoOtd.js → rolldown-runtime-782esTHO.js} +1 -2
  50. package/dist/run.js +1 -2
  51. package/dist/sdk-hooks.d.ts +1 -1
  52. package/dist/sdk-hooks.js +1 -1
  53. package/dist/{shell-header-CTh3oV_e.js → shell-header-CwqDzC4I.js} +2 -3
  54. package/dist/{sidecar-DgH_vQ6m.d.ts → sidecar-CNP4zXop.d.ts} +0 -2
  55. package/dist/stores.d.ts +0 -2
  56. package/dist/stores.js +1 -2
  57. package/dist/{terminal-X6r5pjgv.js → terminal-nUCznZRj.js} +3 -5
  58. package/dist/terminal.d.ts +1 -3
  59. package/dist/terminal.js +1 -2
  60. package/dist/{tree-data-DtoCNNBJ.js → tree-data-YXtcK6Ld.js} +2 -4
  61. package/dist/types.d.ts +1 -1
  62. package/dist/{usage-chart-BjM8ShvX.d.ts → usage-chart-BFpdkqNq.d.ts} +0 -6
  63. package/dist/{use-pty-session-B5Q_i9RI.js → use-pty-session-BHVQlSs-.js} +1 -2
  64. package/dist/{use-pty-session-DbAYO5uH.d.ts → use-pty-session-DSgtQyYX.d.ts} +0 -2
  65. package/dist/{use-sidecar-auth-CCTJcrq7.d.ts → use-sidecar-auth-CPevSSEj.d.ts} +0 -4
  66. package/dist/{use-sidecar-auth-DkdcufOz.js → use-sidecar-auth-DpG0aWQ3.js} +3 -6
  67. package/dist/utils-BER_bdgE.js +1 -0
  68. package/dist/utils.js +1 -2
  69. package/dist/vault-tree.d.ts +1 -1
  70. package/dist/vault-tree.js +1 -2
  71. package/dist/workbench/embedded-app.d.ts +1 -1
  72. package/dist/workbench/embedded-app.js +1 -2
  73. package/dist/{workbench-DPZ6LXqf.js → workbench-GDuy3rB5.js} +93 -176
  74. package/dist/workbench.d.ts +2 -2
  75. package/dist/workbench.js +2 -2
  76. package/dist/workflows.d.ts +1 -13
  77. package/dist/workflows.js +4 -5
  78. package/dist/{workspace-cjk0axyT.js → workspace-Cpgyw5N7.js} +21 -38
  79. package/dist/workspace.d.ts +1 -1
  80. package/dist/workspace.js +2 -2
  81. package/package.json +28 -28
  82. package/dist/utils-DzWbktWG.js +0 -2
@@ -1,9 +1,9 @@
1
- import { r as Logo, t as primitives_exports } from "./primitives-CLOVnjWz.js";
2
- import { t as cn$1 } from "./utils-DzWbktWG.js";
3
- import { r as ShellHeader } from "./shell-header-CTh3oV_e.js";
4
- import { n as MOTION_SURFACE, t as MOTION_CONTROL } from "./motion-D4njYpys.js";
5
- import { a as moonshot_default } from "./model-brand-BSr9on8C.js";
6
- import "./page-layout-2IRtfx51.js";
1
+ import { r as Logo, t as primitives_exports } from "./primitives-CiwDp4-0.js";
2
+ import { t as cn$1 } from "./utils-BER_bdgE.js";
3
+ import { r as ShellHeader } from "./shell-header-CwqDzC4I.js";
4
+ import { n as MOTION_SURFACE, t as MOTION_CONTROL } from "./motion-Bn7ESHrj.js";
5
+ import { a as moonshot_default } from "./model-brand-bTcMjQtB.js";
6
+ import "./page-layout-CuOpvZys.js";
7
7
  import { Avatar, AvatarFallback, AvatarImage, Dialog, DialogClose, DialogContent, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Sheet, SheetClose, SheetContent, SheetTitle, SheetTrigger, Skeleton, StatCard, StatusPill } from "@tangle-network/ui/primitives";
8
8
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
9
  import * as React$1 from "react";
@@ -12,7 +12,7 @@ import { createPortal } from "react-dom";
12
12
  import { Activity, ArrowRight, BarChart2, Bell, Bot, Box, Camera, Check, ChevronDown, ChevronLeft, ChevronRight, Clock, Code2, Copy, Cpu, DollarSign, ExternalLink, File, FileEdit, FilePlus, GitBranch, GitCommit, Globe, HardDrive, Key, Layers, MemoryStick, MessageSquare, Monitor, MoreHorizontal, MoreVertical, Network, PanelLeft, Play, Plug, Plus, Power, PowerOff, RotateCcw, Skull, Terminal, Trash2, User, Users } from "lucide-react";
13
13
  import { focusField, focusRing, focusRingInset, timeAgo } from "@tangle-network/ui/utils";
14
14
  import * as Select$1 from "@radix-ui/react-select";
15
- //#region src/dashboard/sidebar-context.tsx
15
+ // src/dashboard/sidebar-context.tsx
16
16
  const PANEL_OPEN_KEY = "sandbox-sidebar-panel-open";
17
17
  const RAIL_COLLAPSED_KEY = "sandbox-sidebar-rail-collapsed";
18
18
  const SIDEBAR_MODE_KEY = "sandbox-sidebar-mode";
@@ -228,8 +228,7 @@ function RailTooltip({ label, description, children, disabled, className }) {
228
228
  }), document.body)]
229
229
  });
230
230
  }
231
- //#endregion
232
- //#region src/dashboard/app-sidebar.tsx
231
+ // src/dashboard/app-sidebar.tsx
233
232
  function DefaultLink$2({ href, to, className, children, ...rest }) {
234
233
  return /* @__PURE__ */ jsx("a", {
235
234
  href: href ?? to,
@@ -1109,8 +1108,7 @@ function ProfileAvatar({ user, isLoading = false, onLogout, onSettingsClick, set
1109
1108
  ]
1110
1109
  })] });
1111
1110
  }
1112
- //#endregion
1113
- //#region src/dashboard/out-of-credits.tsx
1111
+ // src/dashboard/out-of-credits.tsx
1114
1112
  /**
1115
1113
  * Canonical "out of credits" UX, shared across every Tangle product.
1116
1114
  *
@@ -1195,8 +1193,7 @@ function OutOfCreditsModal({ balance, onClose, ctaLabel = "Add credits", classNa
1195
1193
  })
1196
1194
  });
1197
1195
  }
1198
- //#endregion
1199
- //#region src/dashboard/resource-meter.tsx
1196
+ // src/dashboard/resource-meter.tsx
1200
1197
  function getBarColor(percent) {
1201
1198
  if (percent >= 90) return "bg-[var(--code-error)]";
1202
1199
  if (percent >= 70) return "bg-[var(--surface-warning-text)]";
@@ -1230,8 +1227,7 @@ function ResourceMeter({ label, value, max = 100, unit, valueLabel, icon, classN
1230
1227
  ]
1231
1228
  });
1232
1229
  }
1233
- //#endregion
1234
- //#region src/dashboard/resource-snapshot.tsx
1230
+ // src/dashboard/resource-snapshot.tsx
1235
1231
  /**
1236
1232
  * Compact at-a-glance resource panel: a stack of {@link ResourceMeter}
1237
1233
  * rows for an instantaneous CPU / memory / disk read. Time-series detail
@@ -1266,8 +1262,7 @@ function ResourceSnapshot({ title = "Resources", action, items, loading = false,
1266
1262
  })]
1267
1263
  });
1268
1264
  }
1269
- //#endregion
1270
- //#region src/dashboard/activity-feed.tsx
1265
+ // src/dashboard/activity-feed.tsx
1271
1266
  /**
1272
1267
  * Newest-first list of recent sandbox activity (commits, snapshots,
1273
1268
  * lifecycle events). Items are sorted by `timestamp` descending here so
@@ -1317,8 +1312,7 @@ function ActivityFeed({ title = "Recent activity", action, items, loading = fals
1317
1312
  })]
1318
1313
  });
1319
1314
  }
1320
- //#endregion
1321
- //#region src/dashboard/sandbox-status.tsx
1315
+ // src/dashboard/sandbox-status.tsx
1322
1316
  /**
1323
1317
  * The one mapping from a sandbox's lifecycle state to a status tone and label.
1324
1318
  * Cards, tables and products read it here, so a state cannot be green in one
@@ -1381,8 +1375,7 @@ function SandboxStatusPill({ status, ...props }) {
1381
1375
  children: label
1382
1376
  });
1383
1377
  }
1384
- //#endregion
1385
- //#region src/dashboard/sandbox-card.tsx
1378
+ // src/dashboard/sandbox-card.tsx
1386
1379
  function canAdminSandbox(sandbox) {
1387
1380
  if (!sandbox.team) return true;
1388
1381
  return sandbox.team.role === "owner" || sandbox.team.role === "admin";
@@ -1654,8 +1647,7 @@ function NewSandboxCard({ onClick, className }) {
1654
1647
  ]
1655
1648
  });
1656
1649
  }
1657
- //#endregion
1658
- //#region src/dashboard/sandbox-table.tsx
1650
+ // src/dashboard/sandbox-table.tsx
1659
1651
  function isResumable(status) {
1660
1652
  return status !== "running" && status !== "provisioning" && status !== "creating" && status !== "expired";
1661
1653
  }
@@ -2035,8 +2027,7 @@ function SandboxTable({ sandboxes, page = 1, pageSize = 10, total, onPageChange,
2035
2027
  })]
2036
2028
  });
2037
2029
  }
2038
- //#endregion
2039
- //#region src/dashboard/backend-selector.tsx
2030
+ // src/dashboard/backend-selector.tsx
2040
2031
  function BackendSelector({ backends, selected, onChange, variant = "pill", label = "Model", placeholder = "Select a model", className, triggerClassName }) {
2041
2032
  const current = backends.find((b) => b.type === selected);
2042
2033
  const triggerText = current?.label ?? placeholder;
@@ -2119,8 +2110,7 @@ function BackendSelector({ backends, selected, onChange, variant = "pill", label
2119
2110
  })]
2120
2111
  });
2121
2112
  }
2122
- //#endregion
2123
- //#region src/dashboard/harness-logo.tsx
2113
+ // src/dashboard/harness-logo.tsx
2124
2114
  const HARNESS_BRAND = {
2125
2115
  opencode: {
2126
2116
  label: "OpenCode",
@@ -2144,7 +2134,7 @@ const HARNESS_BRAND = {
2144
2134
  },
2145
2135
  openclaw: {
2146
2136
  label: "OpenClaw",
2147
- logoUrl: "data:image/svg+xml,<svg fill=\"currentColor\" fill-rule=\"evenodd\" height=\"1em\" style=\"flex:none;line-height:1\" viewBox=\"0 0 24 24\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\"><title>OpenClaw</title><g clip-path=\"url(%23a)\"><path d=\"M9.046 7.104a.527.527 0 110 1.055.527.527 0 010-1.055z\"></path><path d=\"M15.376 7.104a.528.528 0 110 1.056.528.528 0 010-1.056z\"></path><path clip-rule=\"evenodd\" d=\"M16.877 1.912c.58-.27 1.14-.323 1.616-.037a.317.317 0 01-.326.542c-.227-.136-.547-.153-1.022.068-.352.165-.765.45-1.234.866 2.683 1.17 4.4 3.5 5.148 5.921a6.421 6.421 0 00-.704.184c-.578.016-1.174.204-1.502.735-.338.55-.268 1.276.072 2.069l.005.012.007.014c.523 1.045 1.318 1.91 2.2 2.284-.912 3.274-3.44 6.144-5.972 6.988v2.109h-2.11v-2.11c-1.043.417-2.086.01-2.11 0v2.11h-2.11v-2.11c-2.531-.843-5.061-3.713-5.973-6.987.882-.373 1.678-1.238 2.2-2.284l.007-.014.006-.012c.34-.793.41-1.518.071-2.069-.327-.531-.923-.719-1.503-.735a6.409 6.409 0 00-.704-.183c.749-2.421 2.466-4.751 5.149-5.922-.47-.416-.88-.701-1.234-.866-.474-.221-.794-.204-1.021-.068a.318.318 0 01-.435-.109.317.317 0 01.109-.433c.476-.286 1.036-.233 1.615.037.49.229 1.031.628 1.621 1.182A9.924 9.924 0 0112 2.568c1.199 0 2.284.19 3.256.526.59-.554 1.13-.953 1.62-1.182zM8.835 6.577a1.266 1.266 0 100 2.532 1.266 1.266 0 000-2.532zm6.33 0a1.267 1.267 0 100 2.533 1.267 1.267 0 000-2.533z\"></path><path d=\"M.395 13.118c-.966-1.932-.163-3.863 2.41-3.365v-.001l.05.01c.084.018.17.038.26.06.033.009.067.017.1.027.084.022.168.048.255.076l.09.027c.528 0 .95.158 1.16.501.212.343.212.87-.105 1.61-.085.17-.178.333-.276.489l-.01.017a4.967 4.967 0 01-.62.791l-.019.02c-1.092 1.117-2.496 1.336-3.295-.262z\"></path><path d=\"M21.193 9.753c2.574-.5 3.378 1.433 2.411 3.365-.58 1.159-1.476 1.361-2.342.96l-.011-.005a2.419 2.419 0 01-.114-.056l-.019-.01a2.751 2.751 0 01-.115-.067l-.023-.014c-.035-.022-.071-.044-.106-.068l-.05-.035c-.55-.388-1.062-1.007-1.44-1.76-.276-.647-.311-1.132-.174-1.472.176-.439.636-.639 1.23-.639.032-.011.066-.02.099-.03.08-.026.16-.05.238-.072l.117-.03a5.502 5.502 0 01.3-.067z\"></path></g><defs><linearGradient gradientUnits=\"userSpaceOnUse\" id=\"b\" x1=\"-.659\" x2=\"27.023\" y1=\".458\" y2=\"22.855\"><stop stop-color=\"%23FF4D4D\"></stop><stop offset=\"1\" stop-color=\"%23991B1B\"></stop></linearGradient><linearGradient gradientUnits=\"userSpaceOnUse\" id=\"c\" x1=\"-.659\" x2=\"27.023\" y1=\".458\" y2=\"22.855\"><stop stop-color=\"%23FF4D4D\"></stop><stop offset=\"1\" stop-color=\"%23991B1B\"></stop></linearGradient><linearGradient gradientUnits=\"userSpaceOnUse\" id=\"d\" x1=\"-.659\" x2=\"27.023\" y1=\".458\" y2=\"22.855\"><stop stop-color=\"%23FF4D4D\"></stop><stop offset=\"1\" stop-color=\"%23991B1B\"></stop></linearGradient><linearGradient gradientUnits=\"userSpaceOnUse\" id=\"e\" x1=\"-.659\" x2=\"27.023\" y1=\".458\" y2=\"22.855\"><stop stop-color=\"%23FF4D4D\"></stop><stop offset=\"1\" stop-color=\"%23991B1B\"></stop></linearGradient><linearGradient gradientUnits=\"userSpaceOnUse\" id=\"f\" x1=\"-.659\" x2=\"27.023\" y1=\".458\" y2=\"22.855\"><stop stop-color=\"%23FF4D4D\"></stop><stop offset=\"1\" stop-color=\"%23991B1B\"></stop></linearGradient><clipPath id=\"a\"><path d=\"M0 0h24v24H0z\"></path></clipPath></defs></svg>"
2137
+ logoUrl: "data:image/svg+xml,<svg fill=\"currentColor\" fill-rule=\"evenodd\" height=\"1em\" style=\"flex:none;line-height:1\" viewBox=\"0 0 24 24\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\"><title>OpenClaw</title><g clip-path=\"url(%23lobe-icons-open-claw-_R_0_)\"><path d=\"M9.046 7.104a.527.527 0 110 1.055.527.527 0 010-1.055z\"></path><path d=\"M15.376 7.104a.528.528 0 110 1.056.528.528 0 010-1.056z\"></path><path clip-rule=\"evenodd\" d=\"M16.877 1.912c.58-.27 1.14-.323 1.616-.037a.317.317 0 01-.326.542c-.227-.136-.547-.153-1.022.068-.352.165-.765.45-1.234.866 2.683 1.17 4.4 3.5 5.148 5.921a6.421 6.421 0 00-.704.184c-.578.016-1.174.204-1.502.735-.338.55-.268 1.276.072 2.069l.005.012.007.014c.523 1.045 1.318 1.91 2.2 2.284-.912 3.274-3.44 6.144-5.972 6.988v2.109h-2.11v-2.11c-1.043.417-2.086.01-2.11 0v2.11h-2.11v-2.11c-2.531-.843-5.061-3.713-5.973-6.987.882-.373 1.678-1.238 2.2-2.284l.007-.014.006-.012c.34-.793.41-1.518.071-2.069-.327-.531-.923-.719-1.503-.735a6.409 6.409 0 00-.704-.183c.749-2.421 2.466-4.751 5.149-5.922-.47-.416-.88-.701-1.234-.866-.474-.221-.794-.204-1.021-.068a.318.318 0 01-.435-.109.317.317 0 01.109-.433c.476-.286 1.036-.233 1.615.037.49.229 1.031.628 1.621 1.182A9.924 9.924 0 0112 2.568c1.199 0 2.284.19 3.256.526.59-.554 1.13-.953 1.62-1.182zM8.835 6.577a1.266 1.266 0 100 2.532 1.266 1.266 0 000-2.532zm6.33 0a1.267 1.267 0 100 2.533 1.267 1.267 0 000-2.533z\"></path><path d=\"M.395 13.118c-.966-1.932-.163-3.863 2.41-3.365v-.001l.05.01c.084.018.17.038.26.06.033.009.067.017.1.027.084.022.168.048.255.076l.09.027c.528 0 .95.158 1.16.501.212.343.212.87-.105 1.61-.085.17-.178.333-.276.489l-.01.017a4.967 4.967 0 01-.62.791l-.019.02c-1.092 1.117-2.496 1.336-3.295-.262z\"></path><path d=\"M21.193 9.753c2.574-.5 3.378 1.433 2.411 3.365-.58 1.159-1.476 1.361-2.342.96l-.011-.005a2.419 2.419 0 01-.114-.056l-.019-.01a2.751 2.751 0 01-.115-.067l-.023-.014c-.035-.022-.071-.044-.106-.068l-.05-.035c-.55-.388-1.062-1.007-1.44-1.76-.276-.647-.311-1.132-.174-1.472.176-.439.636-.639 1.23-.639.032-.011.066-.02.099-.03.08-.026.16-.05.238-.072l.117-.03a5.502 5.502 0 01.3-.067z\"></path></g><defs><clipPath id=\"lobe-icons-open-claw-_R_0_\"><path d=\"M0 0h24v24H0z\"></path></clipPath></defs></svg>"
2148
2138
  },
2149
2139
  hermes: {
2150
2140
  label: "Hermes",
@@ -2208,8 +2198,7 @@ function HarnessLogo({ type, size = 16, className }) {
2208
2198
  function cssUrl(url) {
2209
2199
  return `url("${url.replace(/[\\"'#\n]/g, (char) => encodeURIComponent(char))}")`;
2210
2200
  }
2211
- //#endregion
2212
- //#region src/dashboard/harness-picker.tsx
2201
+ // src/dashboard/harness-picker.tsx
2213
2202
  /**
2214
2203
  * Default option list with human-readable copy. Order is curated so the
2215
2204
  * recommended choice (`opencode`) appears first; `cli-base` (no agent) last.
@@ -2314,8 +2303,7 @@ function HarnessPicker({ value, onChange, available, optionsOverride, label = "A
2314
2303
  ...rest
2315
2304
  });
2316
2305
  }
2317
- //#endregion
2318
- //#region src/dashboard/use-brand-theme-sync.ts
2306
+ // src/dashboard/use-brand-theme-sync.ts
2319
2307
  /**
2320
2308
  * Keep `<html>`'s `data-theme` attribute and `.light` class in lockstep with the
2321
2309
  * `.dark` class.
@@ -2364,8 +2352,7 @@ function useBrandThemeSync() {
2364
2352
  function isPlainTheme(value) {
2365
2353
  return value === null || value === "" || value === "dark" || value === "light";
2366
2354
  }
2367
- //#endregion
2368
- //#region src/dashboard/dashboard-layout.tsx
2355
+ // src/dashboard/dashboard-layout.tsx
2369
2356
  function MenuIcon$1({ className }) {
2370
2357
  return /* @__PURE__ */ jsxs("svg", {
2371
2358
  xmlns: "http://www.w3.org/2000/svg",
@@ -2814,8 +2801,7 @@ function DashboardLayout({ defaultPanelOpen, defaultMode, labeledRail, defaultRa
2814
2801
  })
2815
2802
  });
2816
2803
  }
2817
- //#endregion
2818
- //#region src/dashboard/sidebar-layout.tsx
2804
+ // src/dashboard/sidebar-layout.tsx
2819
2805
  const HIDE_BELOW_CLASS = {
2820
2806
  md: "max-md:hidden",
2821
2807
  lg: "max-lg:hidden"
@@ -3180,8 +3166,7 @@ function SidebarLayout({ panelOpen, onPanelOpenChange, defaultPanelOpen, railCol
3180
3166
  children: /* @__PURE__ */ jsx(SidebarLayoutInner, { ...props })
3181
3167
  });
3182
3168
  }
3183
- //#endregion
3184
- //#region src/dashboard/metric-area-chart.tsx
3169
+ // src/dashboard/metric-area-chart.tsx
3185
3170
  const TONE_VARS = {
3186
3171
  primary: "var(--brand-primary, hsl(var(--primary)))",
3187
3172
  success: "var(--status-running, #22c55e)",
@@ -3327,8 +3312,7 @@ function MetricAreaChart({ points, label, formatValue, maxValue, detail, tone =
3327
3312
  ]
3328
3313
  });
3329
3314
  }
3330
- //#endregion
3331
- //#region src/dashboard/system-logs.tsx
3315
+ // src/dashboard/system-logs.tsx
3332
3316
  function SystemLogsViewer({ apiUrl, token, className }) {
3333
3317
  const [logs, setLogs] = useState([]);
3334
3318
  const [error, setError] = useState(null);
@@ -3442,8 +3426,7 @@ function SystemLogsViewer({ apiUrl, token, className }) {
3442
3426
  })]
3443
3427
  });
3444
3428
  }
3445
- //#endregion
3446
- //#region src/dashboard/usage-summary.tsx
3429
+ // src/dashboard/usage-summary.tsx
3447
3430
  function UsageSummary({ data, loading = false, className }) {
3448
3431
  if (loading || !data) return /* @__PURE__ */ jsx("div", {
3449
3432
  className: cn$1("grid grid-cols-2 gap-4 lg:grid-cols-4", className),
@@ -3483,8 +3466,7 @@ function UsageSummary({ data, loading = false, className }) {
3483
3466
  ]
3484
3467
  });
3485
3468
  }
3486
- //#endregion
3487
- //#region src/dashboard/git-panel.tsx
3469
+ // src/dashboard/git-panel.tsx
3488
3470
  function GitPanel({ status, log, loading = false, onRefresh, className }) {
3489
3471
  if (loading) return /* @__PURE__ */ jsxs("div", {
3490
3472
  className: cn$1("rounded-lg border border-[var(--md3-outline-variant)] bg-surface-container overflow-hidden", className),
@@ -3627,8 +3609,7 @@ function GitPanel({ status, log, loading = false, onRefresh, className }) {
3627
3609
  ]
3628
3610
  });
3629
3611
  }
3630
- //#endregion
3631
- //#region src/dashboard/ports-list.tsx
3612
+ // src/dashboard/ports-list.tsx
3632
3613
  function PortsList({ ports, onExposePort, onRemovePort, isExposing = false, className }) {
3633
3614
  const [newPort, setNewPort] = React$1.useState("");
3634
3615
  const [copiedPort, setCopiedPort] = React$1.useState(null);
@@ -3795,8 +3776,7 @@ function PortsList({ ports, onExposePort, onRemovePort, isExposing = false, clas
3795
3776
  ]
3796
3777
  });
3797
3778
  }
3798
- //#endregion
3799
- //#region src/dashboard/template-card.tsx
3779
+ // src/dashboard/template-card.tsx
3800
3780
  function TemplateCard({ template, onUseTemplate, className }) {
3801
3781
  return /* @__PURE__ */ jsxs("div", {
3802
3782
  className: cn$1("group relative flex flex-col justify-between rounded-xl border border-[var(--md3-outline-variant)] bg-surface-container p-6 transition-colors hover:border-[var(--border-accent)]", className),
@@ -3831,8 +3811,7 @@ function TemplateCard({ template, onUseTemplate, className }) {
3831
3811
  })]
3832
3812
  });
3833
3813
  }
3834
- //#endregion
3835
- //#region src/dashboard/process-list.tsx
3814
+ // src/dashboard/process-list.tsx
3836
3815
  function formatUptime(startedAt) {
3837
3816
  if (!startedAt) return "-";
3838
3817
  const ms = Date.now() - new Date(startedAt).getTime();
@@ -3971,8 +3950,7 @@ function ProcessList({ processes, onSpawn, onKill, loading = false, className })
3971
3950
  ]
3972
3951
  });
3973
3952
  }
3974
- //#endregion
3975
- //#region src/dashboard/snapshot-list.tsx
3953
+ // src/dashboard/snapshot-list.tsx
3976
3954
  function formatBytes(bytes) {
3977
3955
  if (bytes == null || bytes < 0) return "-";
3978
3956
  if (bytes === 0) return "0 B";
@@ -4158,8 +4136,7 @@ function SnapshotList({ snapshots, onCreate, onRestore, onSaveAsTemplate, loadin
4158
4136
  ]
4159
4137
  });
4160
4138
  }
4161
- //#endregion
4162
- //#region src/dashboard/promo-banner.tsx
4139
+ // src/dashboard/promo-banner.tsx
4163
4140
  function PromoBanner({ title, description, buttonLabel, href, onClick, icon, disabled = false, className }) {
4164
4141
  const buttonClasses = cn$1("mt-6 inline-flex items-center gap-2 rounded-md border border-white/20 bg-[var(--btn-primary-bg)] px-4 py-2 text-sm font-medium text-[var(--btn-primary-text)] transition-colors", disabled ? "opacity-50 cursor-not-allowed" : "hover:bg-[var(--btn-primary-hover)]");
4165
4142
  const buttonContent = /* @__PURE__ */ jsxs(Fragment, { children: [buttonLabel, /* @__PURE__ */ jsxs("svg", {
@@ -4215,5 +4192,4 @@ function PromoBanner({ title, description, buttonLabel, href, onClick, icon, dis
4215
4192
  ]
4216
4193
  });
4217
4194
  }
4218
- //#endregion
4219
4195
  export { useSidebar as $, parseInsufficientBalance as A, SidebarPanel as B, SandboxStatusPill as C, ResourceMeter as D, ResourceSnapshot as E, RailHeader as F, SidebarRailNav as G, SidebarPanelHeader as H, RailModeButton as I, SIDEBAR_PANEL_WIDTH as J, RailTooltip as K, RailSeparator as L, RailButton as M, RailExpandable as N, INSUFFICIENT_BALANCE_CODE as O, RailFlyout as P, SidebarProvider as Q, Sidebar as R, SANDBOX_STATUS as S, ActivityFeed as T, SidebarRail as U, SidebarPanelContent as V, SidebarRailFooter as W, SIDEBAR_RAIL_WIDTH as X, SIDEBAR_RAIL_LABELED_WIDTH as Y, SIDEBAR_TOTAL_WIDTH as Z, BackendSelector as _, PortsList as a, SandboxCard as b, SystemLogsViewer as c, DashboardLayout as d, HARNESS_OPTIONS as f, HarnessLogo as g, HARNESS_BRAND as h, TemplateCard as i, ProfileAvatar as j, OutOfCreditsModal as k, MetricAreaChart as l, chatCapableHarnesses as m, SnapshotList as n, GitPanel as o, HarnessPicker as p, SIDEBAR_MOBILE_WIDTH as q, ProcessList as r, UsageSummary as s, PromoBanner as t, SidebarLayout as u, SandboxTable as v, sandboxStatus as w, canAdminSandbox as x, NewSandboxCard as y, SidebarContent as z };
@@ -1,4 +1,4 @@
1
- import { $ as SandboxTable, $t as Sidebar, A as MetricChartPoint, At as SIDEBAR_TOTAL_WIDTH, B as ProductVariant, Bt as RailButton, C as UsageSummary, Ct as OutOfCreditsModal, D as SystemLogsViewerProps, Dt as SIDEBAR_PANEL_WIDTH, E as SystemLogsViewer, Et as SIDEBAR_MOBILE_WIDTH, F as SidebarLayoutProps, Ft as RailTooltipProps, G as HARNESS_OPTIONS, Gt as RailFlyout, H as HarnessBrand, Ht as RailExpandable, I as DashboardLayout, It as McpServer, J as HarnessType, Jt as RailHeaderProps, K as HarnessPicker, Kt as RailFlyoutProps, L as DashboardLayoutProps, Lt as AppearanceController, M as SidebarLayout, Mt as SidebarProviderProps, N as SidebarLayoutFlyoutItem, Nt as useSidebar, O as MetricAreaChart, Ot as SIDEBAR_RAIL_LABELED_WIDTH, P as SidebarLayoutNavItem, Pt as RailTooltip, Q as BackendSelectorProps, Qt as RailSeparatorProps, R as DashboardUser, Rt as ProfileAvatar, S as GitStatusData, St as InsufficientBalance, T as UsageSummaryProps, Tt as parseInsufficientBalance, U as HarnessLogo, Ut as RailExpandableProps, V as HARNESS_BRAND, Vt as RailButtonProps, W as HarnessLogoProps, Wt as RailExpandableSubItem, X as Backend, Xt as RailModeButtonProps, Y as chatCapableHarnesses, Yt as RailModeButton, Z as BackendSelector, Zt as RailSeparator, _ as PortsList, _t as ResourceSnapshotItem, a as PromoBanner, an as SidebarPanelHeader, at as NewSandboxCard, b as GitPanel, bt as ResourceMeterProps, c as SnapshotList, cn as SidebarProps, ct as SandboxCardData, d as ProcessList, dn as SidebarRailFooterProps, dt as TeamRole, en as SidebarContent, et as SandboxTableProps, f as ProcessListProps, fn as SidebarRailNav, ft as canAdminSandbox, g as ExposedPort, gn as ThemeMode, gt as ResourceSnapshot, h as TemplateCardProps, hn as SidebarUser, ht as ActivityItem, i as SandboxPageShellProps, in as SidebarPanelContentProps, it as sandboxStatus, j as MetricChartTone, jt as SidebarProvider, k as MetricAreaChartProps, kt as SIDEBAR_RAIL_WIDTH, l as SnapshotListProps, ln as SidebarRail, lt as SandboxCardProps, m as TemplateCardData, mn as SidebarRailProps, mt as ActivityFeedProps, n as DashboardPageHeaderProps, nn as SidebarPanel, nt as SandboxStatusPill, o as PromoBannerProps, on as SidebarPanelHeaderProps, ot as NewSandboxCardProps, p as TemplateCard, pn as SidebarRailNavProps, pt as ActivityFeed, q as HarnessPickerProps, qt as RailHeader, r as SandboxPageShell, rn as SidebarPanelContent, rt as SandboxStatusPillProps, s as SnapshotInfo, sn as SidebarPanelProps, st as SandboxCard, t as DashboardPageHeader, tn as SidebarContentProps, tt as SANDBOX_STATUS, u as ProcessInfo, un as SidebarRailFooter, ut as SandboxStatus, v as PortsListProps, vt as ResourceSnapshotProps, w as UsageSummaryData, wt as OutOfCreditsModalProps, x as GitPanelProps, xt as INSUFFICIENT_BALANCE_CODE, y as GitCommitData, yt as ResourceMeter, z as NavItem, zt as ProfileAvatarProps } from "./index-AVDzT8Jw.js";
2
- import { a as canonicalModelId, i as ProviderMark, n as ModelBrandStack, o as modelBrandFor, r as ModelInfo, t as ModelBrandIdentity } from "./model-brand-B57CV8Lg.js";
3
- import { a as PricingPageProps, c as BillingBalance, d as BillingSubscription, f as BillingUsage, i as PricingPage, l as BillingDashboard, n as UsageChartProps, o as PricingTier, r as UsageDataPoint, s as formatPrice, t as UsageChart, u as BillingDashboardProps } from "./usage-chart-BjM8ShvX.js";
1
+ import { $ as SandboxTable, $t as Sidebar, A as MetricChartPoint, At as SIDEBAR_TOTAL_WIDTH, B as ProductVariant, Bt as RailButton, C as UsageSummary, Ct as OutOfCreditsModal, D as SystemLogsViewerProps, Dt as SIDEBAR_PANEL_WIDTH, E as SystemLogsViewer, Et as SIDEBAR_MOBILE_WIDTH, F as SidebarLayoutProps, Ft as RailTooltipProps, G as HARNESS_OPTIONS, Gt as RailFlyout, H as HarnessBrand, Ht as RailExpandable, I as DashboardLayout, It as McpServer, J as HarnessType, Jt as RailHeaderProps, K as HarnessPicker, Kt as RailFlyoutProps, L as DashboardLayoutProps, Lt as AppearanceController, M as SidebarLayout, Mt as SidebarProviderProps, N as SidebarLayoutFlyoutItem, Nt as useSidebar, O as MetricAreaChart, Ot as SIDEBAR_RAIL_LABELED_WIDTH, P as SidebarLayoutNavItem, Pt as RailTooltip, Q as BackendSelectorProps, Qt as RailSeparatorProps, R as DashboardUser, Rt as ProfileAvatar, S as GitStatusData, St as InsufficientBalance, T as UsageSummaryProps, Tt as parseInsufficientBalance, U as HarnessLogo, Ut as RailExpandableProps, V as HARNESS_BRAND, Vt as RailButtonProps, W as HarnessLogoProps, Wt as RailExpandableSubItem, X as Backend, Xt as RailModeButtonProps, Y as chatCapableHarnesses, Yt as RailModeButton, Z as BackendSelector, Zt as RailSeparator, _ as PortsList, _t as ResourceSnapshotItem, a as PromoBanner, an as SidebarPanelHeader, at as NewSandboxCard, b as GitPanel, bt as ResourceMeterProps, c as SnapshotList, cn as SidebarProps, ct as SandboxCardData, d as ProcessList, dn as SidebarRailFooterProps, dt as TeamRole, en as SidebarContent, et as SandboxTableProps, f as ProcessListProps, fn as SidebarRailNav, ft as canAdminSandbox, g as ExposedPort, gn as ThemeMode, gt as ResourceSnapshot, h as TemplateCardProps, hn as SidebarUser, ht as ActivityItem, i as SandboxPageShellProps, in as SidebarPanelContentProps, it as sandboxStatus, j as MetricChartTone, jt as SidebarProvider, k as MetricAreaChartProps, kt as SIDEBAR_RAIL_WIDTH, l as SnapshotListProps, ln as SidebarRail, lt as SandboxCardProps, m as TemplateCardData, mn as SidebarRailProps, mt as ActivityFeedProps, n as DashboardPageHeaderProps, nn as SidebarPanel, nt as SandboxStatusPill, o as PromoBannerProps, on as SidebarPanelHeaderProps, ot as NewSandboxCardProps, p as TemplateCard, pn as SidebarRailNavProps, pt as ActivityFeed, q as HarnessPickerProps, qt as RailHeader, r as SandboxPageShell, rn as SidebarPanelContent, rt as SandboxStatusPillProps, s as SnapshotInfo, sn as SidebarPanelProps, st as SandboxCard, t as DashboardPageHeader, tn as SidebarContentProps, tt as SANDBOX_STATUS, u as ProcessInfo, un as SidebarRailFooter, ut as SandboxStatus, v as PortsListProps, vt as ResourceSnapshotProps, w as UsageSummaryData, wt as OutOfCreditsModalProps, x as GitPanelProps, xt as INSUFFICIENT_BALANCE_CODE, y as GitCommitData, yt as ResourceMeter, z as NavItem, zt as ProfileAvatarProps } from "./index-DRDtTgb0.js";
2
+ import { a as canonicalModelId, i as ProviderMark, n as ModelBrandStack, o as modelBrandFor, r as ModelInfo, t as ModelBrandIdentity } from "./model-brand-ZwVS49Fq.js";
3
+ import { a as PricingPageProps, c as BillingBalance, d as BillingSubscription, f as BillingUsage, i as PricingPage, l as BillingDashboard, n as UsageChartProps, o as PricingTier, r as UsageDataPoint, s as formatPrice, t as UsageChart, u as BillingDashboardProps } from "./usage-chart-BFpdkqNq.js";
4
4
  export { ActivityFeed, type ActivityFeedProps, type ActivityItem, type AppearanceController, type Backend, BackendSelector, type BackendSelectorProps, type BillingBalance, BillingDashboard, type BillingDashboardProps, type BillingSubscription, type BillingUsage, DashboardLayout, type DashboardLayoutProps, DashboardPageHeader, type DashboardPageHeaderProps, 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, type InsufficientBalance, type McpServer, MetricAreaChart, type MetricAreaChartProps, type MetricChartPoint, type MetricChartTone, type ModelBrandIdentity, ModelBrandStack, type ModelInfo, type NavItem, NewSandboxCard, type NewSandboxCardProps, OutOfCreditsModal, type OutOfCreditsModalProps, PortsList, type PortsListProps, PricingPage, type PricingPageProps, type PricingTier, type ProcessInfo, ProcessList, type ProcessListProps, type ProductVariant, ProfileAvatar, type ProfileAvatarProps, PromoBanner, type PromoBannerProps, ProviderMark, RailButton, type RailButtonProps, RailExpandable, type RailExpandableProps, type RailExpandableSubItem, RailFlyout, type RailFlyoutProps, RailHeader, type RailHeaderProps, RailModeButton, type RailModeButtonProps, RailSeparator, type RailSeparatorProps, 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, 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, canAdminSandbox, canonicalModelId, chatCapableHarnesses, formatPrice, modelBrandFor, parseInsufficientBalance, sandboxStatus, useSidebar };
package/dist/dashboard.js CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as useSidebar, A as parseInsufficientBalance, B as SidebarPanel, C as SandboxStatusPill, D as ResourceMeter, E as ResourceSnapshot, F as RailHeader, G as SidebarRailNav, H as SidebarPanelHeader, I as RailModeButton, J as SIDEBAR_PANEL_WIDTH, K as RailTooltip, L as RailSeparator, M as RailButton, N as RailExpandable, O as INSUFFICIENT_BALANCE_CODE, P as RailFlyout, Q as SidebarProvider, R as Sidebar, S as SANDBOX_STATUS, T as ActivityFeed, U as SidebarRail, V as SidebarPanelContent, W as SidebarRailFooter, X as SIDEBAR_RAIL_WIDTH, Y as SIDEBAR_RAIL_LABELED_WIDTH, Z as SIDEBAR_TOTAL_WIDTH, _ as BackendSelector, a as PortsList, b as SandboxCard, c as SystemLogsViewer, d as DashboardLayout, f as HARNESS_OPTIONS, g as HarnessLogo, h as HARNESS_BRAND, i as TemplateCard, j as ProfileAvatar, k as OutOfCreditsModal, l as MetricAreaChart, m as chatCapableHarnesses, n as SnapshotList, o as GitPanel, p as HarnessPicker, q as SIDEBAR_MOBILE_WIDTH, r as ProcessList, s as UsageSummary, t as PromoBanner, u as SidebarLayout, v as SandboxTable, w as sandboxStatus, x as canAdminSandbox, y as NewSandboxCard, z as SidebarContent } from "./dashboard-SFakZEtu.js";
2
- import { i as modelBrandFor, n as ProviderMark, r as canonicalModelId, t as ModelBrandStack } from "./model-brand-BSr9on8C.js";
3
- import { a as formatPrice, i as PricingPage, n as SandboxPageShell, o as BillingDashboard, r as UsageChart, t as DashboardPageHeader } from "./page-layout-2IRtfx51.js";
1
+ import { $ as useSidebar, A as parseInsufficientBalance, B as SidebarPanel, C as SandboxStatusPill, D as ResourceMeter, E as ResourceSnapshot, F as RailHeader, G as SidebarRailNav, H as SidebarPanelHeader, I as RailModeButton, J as SIDEBAR_PANEL_WIDTH, K as RailTooltip, L as RailSeparator, M as RailButton, N as RailExpandable, O as INSUFFICIENT_BALANCE_CODE, P as RailFlyout, Q as SidebarProvider, R as Sidebar, S as SANDBOX_STATUS, T as ActivityFeed, U as SidebarRail, V as SidebarPanelContent, W as SidebarRailFooter, X as SIDEBAR_RAIL_WIDTH, Y as SIDEBAR_RAIL_LABELED_WIDTH, Z as SIDEBAR_TOTAL_WIDTH, _ as BackendSelector, a as PortsList, b as SandboxCard, c as SystemLogsViewer, d as DashboardLayout, f as HARNESS_OPTIONS, g as HarnessLogo, h as HARNESS_BRAND, i as TemplateCard, j as ProfileAvatar, k as OutOfCreditsModal, l as MetricAreaChart, m as chatCapableHarnesses, n as SnapshotList, o as GitPanel, p as HarnessPicker, q as SIDEBAR_MOBILE_WIDTH, r as ProcessList, s as UsageSummary, t as PromoBanner, u as SidebarLayout, v as SandboxTable, w as sandboxStatus, x as canAdminSandbox, y as NewSandboxCard, z as SidebarContent } from "./dashboard-ClKA3opr.js";
2
+ import { i as modelBrandFor, n as ProviderMark, r as canonicalModelId, t as ModelBrandStack } from "./model-brand-bTcMjQtB.js";
3
+ import { a as formatPrice, i as PricingPage, n as SandboxPageShell, o as BillingDashboard, r as UsageChart, t as DashboardPageHeader } from "./page-layout-CuOpvZys.js";
4
4
  export { ActivityFeed, BackendSelector, BillingDashboard, DashboardLayout, DashboardPageHeader, GitPanel, HARNESS_BRAND, HARNESS_OPTIONS, HarnessLogo, HarnessPicker, INSUFFICIENT_BALANCE_CODE, MetricAreaChart, ModelBrandStack, NewSandboxCard, OutOfCreditsModal, PortsList, PricingPage, ProcessList, ProfileAvatar, PromoBanner, ProviderMark, RailButton, RailExpandable, RailFlyout, RailHeader, RailModeButton, RailSeparator, 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, SidebarRailNav, SnapshotList, SystemLogsViewer, TemplateCard, UsageChart, UsageSummary, canAdminSandbox, canonicalModelId, chatCapableHarnesses, formatPrice, modelBrandFor, parseInsufficientBalance, sandboxStatus, useSidebar };
package/dist/editor.js CHANGED
@@ -1,2 +1 @@
1
- import { CollaboratorsList, DocumentEditorPane, EditorProvider, EditorToolbar, TiptapEditor, useAwareness, useCollaboratorPresence, useCollaborators, useDocumentChanges, useEditorConnection, useEditorContext, useYjsState } from "@tangle-network/ui/editor";
2
- export { CollaboratorsList, DocumentEditorPane, EditorProvider, EditorToolbar, TiptapEditor, useAwareness, useCollaboratorPresence, useCollaborators, useDocumentChanges, useEditorConnection, useEditorContext, useYjsState };
1
+ export { CollaboratorsList, DocumentEditorPane, EditorProvider, EditorToolbar, TiptapEditor, useAwareness, useCollaboratorPresence, useCollaborators, useDocumentChanges, useEditorConnection, useEditorContext, useYjsState } from "@tangle-network/ui/editor";
@@ -1,11 +1,11 @@
1
- import { t as cn$1 } from "./utils-DzWbktWG.js";
2
- import { r as ShellHeader } from "./shell-header-CTh3oV_e.js";
1
+ import { t as cn$1 } from "./utils-BER_bdgE.js";
2
+ import { r as ShellHeader } from "./shell-header-CwqDzC4I.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";
6
6
  import { ExternalLink, RotateCw } from "lucide-react";
7
7
  import { focusField } from "@tangle-network/ui/utils";
8
- //#region src/workbench/preview-policy.ts
8
+ // src/workbench/preview-policy.ts
9
9
  /** Only an actual verified HTTP outcome can establish application readiness. */
10
10
  function previewReadinessLabel(readiness) {
11
11
  if (readiness?.state === "checking") return "Checking application readiness";
@@ -35,8 +35,7 @@ function safePreviewUrl(value, base, allowedOrigins) {
35
35
  if (allowedOrigins && !allowedOrigins.includes(url.origin)) throw new Error("That origin is not approved for this sandbox preview.");
36
36
  return url.href;
37
37
  }
38
- //#endregion
39
- //#region src/workbench/preview-view.tsx
38
+ // src/workbench/preview-view.tsx
40
39
  function PreviewView({ url, allowedOrigins, access, readiness, onCheckReadiness, onNavigate, variant = "browser", title = "Sandbox preview", toolbarActions, className }) {
41
40
  const initial = React$1.useMemo(() => {
42
41
  try {
@@ -274,8 +273,7 @@ function PreviewView({ url, allowedOrigins, access, readiness, onCheckReadiness,
274
273
  ]
275
274
  });
276
275
  }
277
- //#endregion
278
- //#region src/workbench/embedded-app-view.tsx
276
+ // src/workbench/embedded-app-view.tsx
279
277
  /**
280
278
  * An app-sized preview surface for a product workspace.
281
279
  * The host owns app discovery, persistence, access policy, and readiness checks.
@@ -341,5 +339,4 @@ function EmbeddedAppView({ app, allowedOrigins, readiness, access, toolbarAction
341
339
  })
342
340
  });
343
341
  }
344
- //#endregion
345
342
  export { PreviewView as n, EmbeddedAppView as t };
@@ -1,5 +1,4 @@
1
1
  import * as React$1 from "react";
2
- //#region src/workbench/preview-policy.d.ts
3
2
  type PreviewReadiness = {
4
3
  state: "unknown";
5
4
  } | {
@@ -20,8 +19,6 @@ type PreviewAccess = {
20
19
  source: "enforced-policy";
21
20
  expiresAt?: string;
22
21
  };
23
- //#endregion
24
- //#region src/workbench/embedded-app-view.d.ts
25
22
  interface EmbeddedApp {
26
23
  /** Stable app identity. The host uses it to preserve selection across updates. */
27
24
  id: string;
@@ -51,5 +48,4 @@ interface EmbeddedAppViewProps {
51
48
  * The host owns app discovery, persistence, access policy, and readiness checks.
52
49
  */
53
50
  declare function EmbeddedAppView({ app, allowedOrigins, readiness, access, toolbarActions, onRetry, className }: EmbeddedAppViewProps): React$1.JSX.Element;
54
- //#endregion
55
51
  export { PreviewReadiness as a, PreviewAccess as i, EmbeddedAppView as n, EmbeddedAppViewProps as r, EmbeddedApp as t };
package/dist/files.js CHANGED
@@ -1,2 +1 @@
1
- import { CSV_PREVIEW_ROW_LIMIT, FileArtifactPane, FileCard, FileList, FilePreview, FileTabs, FileTree, PdfViewer, RichFileTree, configurePdfViewer, detectFileFormat, fileExtension, filterFileTree, getCodeLanguage, getFormatLabel, getSyntaxLanguage, parseCsv, resolveFilePreviewKind } from "@tangle-network/ui/files";
2
- export { CSV_PREVIEW_ROW_LIMIT, FileArtifactPane, FileCard, FileList, FilePreview, FileTabs, FileTree, PdfViewer, RichFileTree, configurePdfViewer, detectFileFormat, fileExtension, filterFileTree, getCodeLanguage, getFormatLabel, getSyntaxLanguage, parseCsv, resolveFilePreviewKind };
1
+ export { CSV_PREVIEW_ROW_LIMIT, FileArtifactPane, FileCard, FileList, FilePreview, FileTabs, FileTree, PdfViewer, RichFileTree, configurePdfViewer, detectFileFormat, fileExtension, filterFileTree, getCodeLanguage, getFormatLabel, getSyntaxLanguage, parseCsv, resolveFilePreviewKind } from "@tangle-network/ui/files";
package/dist/hooks.d.ts CHANGED
@@ -1,8 +1,7 @@
1
- import { n as UsePtySessionReturn, r as usePtySession, t as UsePtySessionOptions } from "./use-pty-session-DbAYO5uH.js";
2
- import { t as Session } from "./sidecar-DgH_vQ6m.js";
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";
1
+ import { n as UsePtySessionReturn, r as usePtySession, t as UsePtySessionOptions } from "./use-pty-session-DSgtQyYX.js";
2
+ import { t as Session } from "./sidecar-CNP4zXop.js";
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-CPevSSEj.js";
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-sandbox-metrics.d.ts
6
5
  /**
7
6
  * Sandbox-level telemetry collected by the sidecar from cgroup v2
8
7
  * (Docker) or /proc (Firecracker guest). `cpuPercent` is computed
@@ -128,8 +127,6 @@ export interface UseSandboxMetricsResult {
128
127
  * by the sandbox overview dashboard to drive live CPU/memory panels.
129
128
  */
130
129
  export declare function useSandboxMetrics({ apiBaseUrl, sandboxId, token, enabled, intervalMs, historyLimit }: UseSandboxMetricsOptions): UseSandboxMetricsResult;
131
- //#endregion
132
- //#region src/hooks/use-session-crud.d.ts
133
130
  /** List all sessions for a sidecar. */
134
131
  export declare function useSessions(apiUrl: string, token: string | null): import("@tanstack/react-query").UseQueryResult<Session[], Error>;
135
132
  /** Create a new session. */
@@ -141,5 +138,4 @@ export declare function useRenameSession(apiUrl: string, token: string | null):
141
138
  sessionId: string;
142
139
  title: string;
143
140
  }, unknown>;
144
- //#endregion
145
141
  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,9 @@
1
- import { t as usePtySession } from "./use-pty-session-B5Q_i9RI.js";
2
- import { i as useSessionStream, n as SESSION_STREAM_RECONNECT_DELAY_MS, r as SessionStreamError, t as useSidecarAuth } from "./use-sidecar-auth-DkdcufOz.js";
1
+ import { t as usePtySession } from "./use-pty-session-BHVQlSs-.js";
2
+ import { i as useSessionStream, n as SESSION_STREAM_RECONNECT_DELAY_MS, r as SessionStreamError, t as useSidecarAuth } from "./use-sidecar-auth-DpG0aWQ3.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
- //#region src/hooks/use-sandbox-metrics.ts
6
+ // src/hooks/use-sandbox-metrics.ts
7
7
  const METRICS_REQUEST_TIMEOUT_MS = 15e3;
8
8
  /**
9
9
  * Polls the sandbox's sidecar metrics through the API proxy and
@@ -144,8 +144,7 @@ function useSandboxMetrics({ apiBaseUrl, sandboxId, token, enabled = true, inter
144
144
  lastUpdatedAt
145
145
  };
146
146
  }
147
- //#endregion
148
- //#region src/hooks/use-session-crud.ts
147
+ // src/hooks/use-session-crud.ts
149
148
  async function sessionFetch(apiUrl, token, path, opts) {
150
149
  const res = await fetch(`${apiUrl}${path}`, {
151
150
  ...opts,
@@ -231,5 +230,4 @@ function useRenameSession(apiUrl, token) {
231
230
  }
232
231
  });
233
232
  }
234
- //#endregion
235
233
  export { RealtimeSessionRegistry, SESSION_STREAM_RECONNECT_DELAY_MS, SessionStreamError, createAuthFetcher, useApiKey, useAuth, useAutoScroll, useCreateSession, useDeleteSession, useDropdownMenu, useLiveTime, usePtySession, useRealtimeSession, useRenameSession, useRunCollapseState, useRunGroups, useSSEStream, useSandboxMetrics, useSdkSession, useSessionStream, useSessions, useSidecarAuth, useToolCallStream };
@@ -2,7 +2,6 @@ import * as React$1 from "react";
2
2
  import { AgentTimeline, AgentTimelineArtifactItem, AgentTimelineCustomItem, AgentTimelineItem, AgentTimelineMessageItem, AgentTimelineProps, AgentTimelineStatusItem, AgentTimelineTone, AgentTimelineToolGroupItem, AgentTimelineToolItem, ChatAuthor, ChatContainer as ChatContainer$1, ChatContainerProps as ChatContainerProps$1, ChatMessage as ChatMessage$1, ChatMessageProps, MessageAuthor, MessageAuthorProps, MessageList, MessageListProps, MessageRole, MessageRole as MessageRole$1, TRANSCRIPT_TEXT, ThinkingIndicator, ThinkingIndicatorProps, UserMessage, UserMessageProps, isViewerMessage } from "@tangle-network/ui/chat";
3
3
  import { HarnessType, ReasoningEffort, modelProvider, snapHarnessToModel } from "@tangle-network/agent-interface";
4
4
  import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
5
- //#region src/chat/reasoning-level-picker.d.ts
6
5
  /**
7
6
  * A reasoning selection: `auto` is a UI-only sentinel ("let the harness/model default decide",
8
7
  * sends no explicit override); every other value is the canonical `ReasoningEffort` from
@@ -54,8 +53,6 @@ declare const DEFAULT_REASONING_LEVEL_OPTIONS: ReadonlyArray<ReasoningLevelOptio
54
53
  */
55
54
  declare const HARNESS_REASONING_OPTIONS: Partial<Record<HarnessType, ReadonlyArray<ReasoningLevelOption>>>;
56
55
  declare function ReasoningLevelPicker({ value, onChange, disabled, className, triggerClassName, options, available, side, avoidCollisions }: ReasoningLevelPickerProps): React$1.JSX.Element;
57
- //#endregion
58
- //#region src/chat/agent-profile-picker.d.ts
59
56
  /**
60
57
  * An agent profile: a named bundle of toolset + persona layered over the same
61
58
  * model and session. `builtin` profiles are the product's shipped modes (e.g.
@@ -139,8 +136,6 @@ interface AgentProfilePickerProps {
139
136
  * stealing keystrokes.
140
137
  */
141
138
  declare function AgentProfilePicker({ value, onChange, profiles, capabilities, onCreate, onUpdate, onDelete, onEdit, onNew, disabled, locked, lockReason, onNewChat, className, triggerClassName, popoverClassName, side }: AgentProfilePickerProps): React$1.JSX.Element;
142
- //#endregion
143
- //#region src/chat/artifact-agent-dock.d.ts
144
139
  type ArtifactKind = string;
145
140
  interface ArtifactScope {
146
141
  kind: ArtifactKind;
@@ -215,5 +210,4 @@ interface ArtifactAgentDockProps {
215
210
  * consumer's job on whatever button toggles `open`.
216
211
  */
217
212
  declare function ArtifactAgentDock({ scope, open, onOpenChange, transport, defaultPrompt, onError, className }: ArtifactAgentDockProps): React$1.JSX.Element | null;
218
- //#endregion
219
213
  export { ArtifactDockMessage as A, AgentProfilePickerProps as B, ThinkingIndicatorProps as C, ArtifactAgentDock as D, isViewerMessage as E, snapHarnessToModel as F, ReasoningLevelPicker as G, HARNESS_REASONING_OPTIONS as H, AgentProfileCapability as I, ReasoningLevelPickerProps as K, AgentProfileDraft as L, ArtifactKind as M, ArtifactScope as N, ArtifactAgentDockProps as O, modelProvider as P, AgentProfileOption as R, ThinkingIndicator as S, UserMessageProps as T, ReasoningLevel as U, DEFAULT_REASONING_LEVEL_OPTIONS as V, ReasoningLevelOption as W, MessageAuthorProps as _, AgentTimelineMessageItem as a, MessageRole$1 as b, AgentTimelineTone as c, ChatAuthor as d, ChatContainer$1 as f, MessageAuthor as g, ChatMessageProps as h, AgentTimelineItem as i, ArtifactDockStreamEvent as j, ArtifactAgentDockTransport as k, AgentTimelineToolGroupItem as l, ChatMessage$1 as m, AgentTimelineArtifactItem as n, AgentTimelineProps as o, ChatContainerProps$1 as p, AgentTimelineCustomItem as r, AgentTimelineStatusItem as s, AgentTimeline as t, AgentTimelineToolItem as u, MessageList as v, UserMessage as w, TRANSCRIPT_TEXT as x, MessageListProps as y, AgentProfilePicker as z };