@tangle-network/sandbox-ui 7.0.2 → 7.0.4
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 +8 -14
- package/dist/{dashboard-exTS8tta.js → dashboard-C7QJJw7-.js} +64 -220
- package/dist/dashboard.d.ts +1 -1
- package/dist/dashboard.js +1 -1
- package/dist/globals.css +11 -0
- package/dist/{index-DpzFSqjG.d.ts → index-Bm3Narea.d.ts} +1 -1
- package/dist/{index-CZGOlm0p.d.ts → index-CPzJzKOZ.d.ts} +0 -115
- package/dist/{index-Z6RCpkmT.d.ts → index-lDG84P5L.d.ts} +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/styles.css +11 -0
- package/dist/{workbench-DWQ0pm9w.js → workbench-D0ALR40M.js} +1 -1
- package/dist/workbench.d.ts +1 -1
- package/dist/workbench.js +1 -1
- package/dist/{workspace-CJD7oOEa.js → workspace-BGMyR5uW.js} +3 -3
- package/dist/workspace.d.ts +1 -1
- package/dist/workspace.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,7 +8,9 @@
|
|
|
8
8
|
|
|
9
9
|
# @tangle-network/sandbox-ui
|
|
10
10
|
|
|
11
|
-
React
|
|
11
|
+
React components for [Tangle Sandbox](https://sandbox.tangle.tools)'s technical surfaces: transcripts, files, terminal, code changes, runtime state, artifacts, and dashboard views.
|
|
12
|
+
Generic controls come from `@tangle-network/ui`; the composed agent shell, composer and pickers come from `@tangle-network/agent-app`; products own routes, data and policy.
|
|
13
|
+
[Canonical ownership](./UI-DIRECTION.md#canonical-ownership) says which layer owns a component.
|
|
12
14
|
|
|
13
15
|
[Browse the live Storybook](https://sandbox-ui-storybook.pages.dev/) to inspect component states in dark and light themes at desktop and mobile widths.
|
|
14
16
|
|
|
@@ -18,12 +20,8 @@ React component library for [Tangle Sandbox](https://sandbox.tangle.tools) — a
|
|
|
18
20
|
npm install @tangle-network/sandbox-ui
|
|
19
21
|
```
|
|
20
22
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
The Interface compatibility check exercises the exact supported floors 1.0.0,
|
|
24
|
-
2.0.0, 3.0.0, and 5.2.0, including source checks and a packed consumer's public
|
|
25
|
-
declarations. Interface 4.x, 5.0.x, and 5.1.x are not admitted. New majors require
|
|
26
|
-
qualification before the peer range is extended.
|
|
23
|
+
Required peers and their supported ranges are in [package.json](./package.json) `peerDependencies`.
|
|
24
|
+
The Interface compatibility check exercises each supported floor through source checks and a packed consumer's public declarations; a new major is qualified before its range is added.
|
|
27
25
|
Optional peers are required only by the subpaths that use them; see [package.json](./package.json). `/editor` needs its tiptap, `yjs` and `@hocuspocus/provider` peers only when it renders an editor, and the `@tangle-network/ui` README holds the table of which surface needs which. `/files` needs `pdfjs-dist` only for `PdfViewer`, which `FilePreview` uses for PDFs; without it the viewer says so and falls back to the browser's own PDF viewer. The `ui` README covers its worker and asset setup through `configurePdfViewer`.
|
|
28
26
|
|
|
29
27
|
### Retained reports
|
|
@@ -385,7 +383,7 @@ If you are not using `SandboxWorkbench`, you can set the same attributes yoursel
|
|
|
385
383
|
|
|
386
384
|
### 2. Override Semantic Tokens
|
|
387
385
|
|
|
388
|
-
|
|
386
|
+
Brand owns the shared visual contract (`@tangle-network/brand/styles/tokens.css`). The important tokens are:
|
|
389
387
|
|
|
390
388
|
- surfaces: `--bg-root`, `--bg-card`, `--bg-elevated`, `--bg-section`, `--bg-input`
|
|
391
389
|
- text: `--text-primary`, `--text-secondary`, `--text-muted`
|
|
@@ -432,7 +430,7 @@ Wrap or compose on lower-level exports when you want:
|
|
|
432
430
|
- a different artifact tab model
|
|
433
431
|
- app-specific empty states and actions
|
|
434
432
|
|
|
435
|
-
The
|
|
433
|
+
The dashboard and billing surfaces read the accent tokens. Their class seams are:
|
|
436
434
|
|
|
437
435
|
- `DashboardLayout.className`, `sidebarClassName`, `contentClassName`
|
|
438
436
|
- `BillingDashboard.className`, `cardClassName`
|
|
@@ -446,10 +444,6 @@ For that, compose directly from:
|
|
|
446
444
|
- `/run`
|
|
447
445
|
- `/files`
|
|
448
446
|
|
|
449
|
-
### Current Reality
|
|
450
|
-
|
|
451
|
-
Retheming is absolutely supported, but the documentation was thinner than it should be. The token layer is strong; the higher-level surfaces are themeable, but more opinionated. For a radically different product look, prefer keeping the token contract and wrapping the higher-level workbench/chat surfaces rather than fighting every internal class.
|
|
452
|
-
|
|
453
447
|
`DiffView` from `/workbench` defaults to a dark code theme. If the host app offers a light/dark switch, pass its selected theme as `themeType`. The diff renderer updates when that value changes.
|
|
454
448
|
|
|
455
449
|
## Docs
|
|
@@ -495,7 +489,7 @@ Retheming is absolutely supported, but the documentation was thinner than it sho
|
|
|
495
489
|
|
|
496
490
|
## License
|
|
497
491
|
|
|
498
|
-
|
|
492
|
+
MIT
|
|
499
493
|
|
|
500
494
|
The native Runtime viewer is `LiveRun` from `@tangle-network/sandbox-ui/run/live`. It composes the same trace workspace, selected-agent conversation, retained files and capture coverage. Hosts may supply the existing fetch/EventSource transport for their authenticated session; an API or authenticated transport change clears the previous view, while frames within one stable transport preserve selection and the camera. Keep the transport object stable for that account. `@tangle-network/sandbox-ui/workspace-viewer.js` is the self-contained browser entry for Runtime's existing asset-directory contract, with `styles.css` beside it. `useDocument` owns same-origin ETag reads. `useEventStream` from `/run` owns native reconnect, terminal end and stale callback cleanup; `useAgentStream` resumes retained rows by generation and sequence. Authenticated openers keep their session and reconnect policy. Producers own validation and accounting.
|
|
501
495
|
|
|
@@ -9,7 +9,7 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
|
9
9
|
import * as React$1 from "react";
|
|
10
10
|
import { useEffect, useId, useRef, useState } from "react";
|
|
11
11
|
import { createPortal } from "react-dom";
|
|
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";
|
|
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, LogOut, MemoryStick, MessageSquare, Monitor, Moon, MoreHorizontal, MoreVertical, Network, PanelLeft, Play, Plug, Plus, Power, PowerOff, RotateCcw, Settings, Skull, Sun, 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
15
|
// src/dashboard/sidebar-context.tsx
|
|
@@ -242,117 +242,6 @@ function getInitials(name, email) {
|
|
|
242
242
|
if (email) return email[0].toUpperCase();
|
|
243
243
|
return "?";
|
|
244
244
|
}
|
|
245
|
-
function SettingsIcon({ className }) {
|
|
246
|
-
return /* @__PURE__ */ jsxs("svg", {
|
|
247
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
248
|
-
viewBox: "0 0 24 24",
|
|
249
|
-
fill: "none",
|
|
250
|
-
stroke: "currentColor",
|
|
251
|
-
strokeWidth: "2",
|
|
252
|
-
strokeLinecap: "round",
|
|
253
|
-
strokeLinejoin: "round",
|
|
254
|
-
className,
|
|
255
|
-
children: [
|
|
256
|
-
/* @__PURE__ */ jsx("title", { children: "Settings icon" }),
|
|
257
|
-
/* @__PURE__ */ jsx("path", { d: "M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z" }),
|
|
258
|
-
/* @__PURE__ */ jsx("circle", {
|
|
259
|
-
cx: "12",
|
|
260
|
-
cy: "12",
|
|
261
|
-
r: "3"
|
|
262
|
-
})
|
|
263
|
-
]
|
|
264
|
-
});
|
|
265
|
-
}
|
|
266
|
-
function LogOutIcon({ className }) {
|
|
267
|
-
return /* @__PURE__ */ jsxs("svg", {
|
|
268
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
269
|
-
viewBox: "0 0 24 24",
|
|
270
|
-
fill: "none",
|
|
271
|
-
stroke: "currentColor",
|
|
272
|
-
strokeWidth: "2",
|
|
273
|
-
strokeLinecap: "round",
|
|
274
|
-
strokeLinejoin: "round",
|
|
275
|
-
className,
|
|
276
|
-
children: [
|
|
277
|
-
/* @__PURE__ */ jsx("title", { children: "Log out icon" }),
|
|
278
|
-
/* @__PURE__ */ jsx("path", { d: "M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" }),
|
|
279
|
-
/* @__PURE__ */ jsx("polyline", { points: "16,17 21,12 16,7" }),
|
|
280
|
-
/* @__PURE__ */ jsx("line", {
|
|
281
|
-
x1: "21",
|
|
282
|
-
x2: "9",
|
|
283
|
-
y1: "12",
|
|
284
|
-
y2: "12"
|
|
285
|
-
})
|
|
286
|
-
]
|
|
287
|
-
});
|
|
288
|
-
}
|
|
289
|
-
function SunIcon({ className }) {
|
|
290
|
-
return /* @__PURE__ */ jsxs("svg", {
|
|
291
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
292
|
-
viewBox: "0 0 24 24",
|
|
293
|
-
fill: "none",
|
|
294
|
-
stroke: "currentColor",
|
|
295
|
-
strokeWidth: "2",
|
|
296
|
-
strokeLinecap: "round",
|
|
297
|
-
strokeLinejoin: "round",
|
|
298
|
-
className,
|
|
299
|
-
children: [
|
|
300
|
-
/* @__PURE__ */ jsx("title", { children: "Light mode icon" }),
|
|
301
|
-
/* @__PURE__ */ jsx("circle", {
|
|
302
|
-
cx: "12",
|
|
303
|
-
cy: "12",
|
|
304
|
-
r: "4"
|
|
305
|
-
}),
|
|
306
|
-
/* @__PURE__ */ jsx("path", { d: "M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41" })
|
|
307
|
-
]
|
|
308
|
-
});
|
|
309
|
-
}
|
|
310
|
-
function MoonIcon({ className }) {
|
|
311
|
-
return /* @__PURE__ */ jsxs("svg", {
|
|
312
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
313
|
-
viewBox: "0 0 24 24",
|
|
314
|
-
fill: "none",
|
|
315
|
-
stroke: "currentColor",
|
|
316
|
-
strokeWidth: "2",
|
|
317
|
-
strokeLinecap: "round",
|
|
318
|
-
strokeLinejoin: "round",
|
|
319
|
-
className,
|
|
320
|
-
children: [/* @__PURE__ */ jsx("title", { children: "Dark mode icon" }), /* @__PURE__ */ jsx("path", { d: "M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z" })]
|
|
321
|
-
});
|
|
322
|
-
}
|
|
323
|
-
function PanelToggleButton({ collapsed, onToggle, className }) {
|
|
324
|
-
const label = collapsed ? "Expand sidebar" : "Collapse sidebar";
|
|
325
|
-
return /* @__PURE__ */ jsx("button", {
|
|
326
|
-
type: "button",
|
|
327
|
-
onClick: onToggle,
|
|
328
|
-
"aria-label": label,
|
|
329
|
-
"aria-pressed": collapsed,
|
|
330
|
-
title: label,
|
|
331
|
-
className: cn$1("flex h-8 w-8 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors", MOTION_CONTROL, "hover:bg-[var(--accent-surface-soft)] hover:text-foreground", focusRing, className),
|
|
332
|
-
children: /* @__PURE__ */ jsx(PanelLeft, { className: "h-[18px] w-[18px] shrink-0" })
|
|
333
|
-
});
|
|
334
|
-
}
|
|
335
|
-
/**
|
|
336
|
-
* The redesigned rail header. Expanded: brand (left) · optional middle · panel
|
|
337
|
-
* toggle (right). Collapsed: only the brand mark, which morphs into the
|
|
338
|
-
* expand button on hover (brand fades out, panel glyph fades in over the same
|
|
339
|
-
* box) so the collapse affordance is discoverable without spending rail width.
|
|
340
|
-
* With no `brand` but `children`, the collapsed rail falls back to `children` —
|
|
341
|
-
* the consumer's header content is then the only mark it has.
|
|
342
|
-
* Renders a bordered `ShellHeader` row, so its divider is the line every main-pane
|
|
343
|
-
* header meets — drop it in at the top of {@link SidebarRail}.
|
|
344
|
-
*/
|
|
345
|
-
/**
|
|
346
|
-
* React renders nothing for `null`, `undefined`, booleans, empty (or
|
|
347
|
-
* all-empty) arrays and fragments whose children are all of those, so a
|
|
348
|
-
* caller's `logo={cond && <Logo />}`, `logo={maybeLogo}`, `logo={items.map(...)}`
|
|
349
|
-
* or `logo={<>{cond && <Logo />}</>}` can arrive here as a node that paints
|
|
350
|
-
* nothing. Those must count as "no brand": a strict `undefined` check would
|
|
351
|
-
* drop `railHeaderContent` from the collapsed rail for exactly them.
|
|
352
|
-
* `Children.toArray` applies React's own rule (drops the empties, flattens
|
|
353
|
-
* nested arrays) but keeps a fragment as one opaque child, so fragments are
|
|
354
|
-
* recursed into by hand to stay aligned with what actually renders.
|
|
355
|
-
*/
|
|
356
245
|
function isRenderable(node) {
|
|
357
246
|
return React$1.Children.toArray(node).some((child) => React$1.isValidElement(child) && child.type === React$1.Fragment ? isRenderable(child.props.children) : true);
|
|
358
247
|
}
|
|
@@ -360,6 +249,8 @@ function RailHeader({ brand, brandHref, children, collapsed, onToggle, collapsib
|
|
|
360
249
|
const Link = LinkComponent ?? DefaultLink$2;
|
|
361
250
|
const hasBrand = isRenderable(brand);
|
|
362
251
|
const hasChildren = isRenderable(children);
|
|
252
|
+
const overlay = collapsed && !hasBrand && hasChildren;
|
|
253
|
+
const label = collapsed ? "Expand sidebar" : "Collapse sidebar";
|
|
363
254
|
const brandNode = brandHref !== void 0 ? /* @__PURE__ */ jsx(Link, {
|
|
364
255
|
href: brandHref,
|
|
365
256
|
to: brandHref,
|
|
@@ -370,43 +261,35 @@ function RailHeader({ brand, brandHref, children, collapsed, onToggle, collapsib
|
|
|
370
261
|
className: "flex items-center justify-center p-1",
|
|
371
262
|
children: brand
|
|
372
263
|
});
|
|
373
|
-
return /* @__PURE__ */
|
|
264
|
+
return /* @__PURE__ */ jsxs(ShellHeader, {
|
|
374
265
|
divider: false,
|
|
375
266
|
className: cn$1("border-b border-[var(--md3-outline-variant)] bg-transparent", collapsed ? "justify-center px-2" : "gap-2 px-3", className),
|
|
376
|
-
children:
|
|
377
|
-
className: "relative flex min-w-0 items-center justify-center",
|
|
378
|
-
children: [
|
|
379
|
-
collapsed,
|
|
380
|
-
onToggle,
|
|
381
|
-
className: "pointer-events-none absolute inset-0 m-auto bg-background opacity-0 focus-visible:pointer-events-auto focus-visible:opacity-100"
|
|
382
|
-
})]
|
|
383
|
-
}) : collapsible ? /* @__PURE__ */ jsx(RailTooltip, {
|
|
384
|
-
label: "Expand sidebar",
|
|
385
|
-
children: /* @__PURE__ */ jsxs("button", {
|
|
386
|
-
type: "button",
|
|
387
|
-
onClick: onToggle,
|
|
388
|
-
"aria-label": "Expand sidebar",
|
|
389
|
-
"aria-pressed": true,
|
|
390
|
-
className: cn$1("group/brand relative flex h-9 w-9 items-center justify-center rounded-md transition-colors hover:bg-[var(--accent-surface-soft)]", focusRing, MOTION_CONTROL),
|
|
391
|
-
children: [/* @__PURE__ */ jsx("span", {
|
|
392
|
-
className: cn$1("flex items-center justify-center transition-opacity group-hover/brand:opacity-0", MOTION_CONTROL),
|
|
393
|
-
children: brand
|
|
394
|
-
}), /* @__PURE__ */ jsx("span", {
|
|
395
|
-
className: cn$1("pointer-events-none absolute inset-0 flex items-center justify-center text-foreground opacity-0 transition-opacity group-hover/brand:opacity-100", MOTION_CONTROL),
|
|
396
|
-
children: /* @__PURE__ */ jsx(PanelLeft, { className: "h-[18px] w-[18px]" })
|
|
397
|
-
})]
|
|
398
|
-
})
|
|
399
|
-
}) : brandNode : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
400
|
-
hasBrand && brandNode,
|
|
401
|
-
/* @__PURE__ */ jsx("div", {
|
|
402
|
-
className: "min-w-0 flex-1",
|
|
267
|
+
children: [hasBrand && !collapsed && brandNode, /* @__PURE__ */ jsxs("div", {
|
|
268
|
+
className: collapsed ? "relative flex min-w-0 items-center justify-center" : "contents",
|
|
269
|
+
children: [(!collapsed || !hasBrand) && /* @__PURE__ */ jsx("div", {
|
|
270
|
+
className: collapsed ? void 0 : "min-w-0 flex-1",
|
|
403
271
|
children
|
|
404
|
-
}),
|
|
405
|
-
|
|
406
|
-
collapsed,
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
272
|
+
}), collapsible ? /* @__PURE__ */ jsx(RailTooltip, {
|
|
273
|
+
label,
|
|
274
|
+
disabled: !collapsed || overlay,
|
|
275
|
+
className: overlay ? "pointer-events-none absolute inset-0 m-auto items-center justify-center" : void 0,
|
|
276
|
+
children: /* @__PURE__ */ jsxs("button", {
|
|
277
|
+
type: "button",
|
|
278
|
+
onClick: onToggle,
|
|
279
|
+
"aria-label": label,
|
|
280
|
+
"aria-pressed": collapsed,
|
|
281
|
+
title: collapsed ? void 0 : label,
|
|
282
|
+
className: cn$1("flex shrink-0 items-center justify-center rounded-md transition-colors hover:bg-[var(--accent-surface-soft)]", MOTION_CONTROL, focusRing, collapsed && hasBrand ? "group/brand relative h-9 w-9" : "h-8 w-8 text-muted-foreground hover:text-foreground", overlay && "pointer-events-none bg-background opacity-0 focus-visible:pointer-events-auto focus-visible:opacity-100"),
|
|
283
|
+
children: [collapsed && hasBrand && /* @__PURE__ */ jsx("span", {
|
|
284
|
+
className: cn$1("flex items-center justify-center transition-opacity group-hover/brand:opacity-0 group-focus-visible/brand:opacity-0", MOTION_CONTROL),
|
|
285
|
+
children: brand
|
|
286
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
287
|
+
className: collapsed && hasBrand ? cn$1("pointer-events-none absolute inset-0 flex items-center justify-center text-foreground opacity-0 transition-opacity group-hover/brand:opacity-100 group-focus-visible/brand:opacity-100", MOTION_CONTROL) : void 0,
|
|
288
|
+
children: /* @__PURE__ */ jsx(PanelLeft, { className: "h-[18px] w-[18px] shrink-0" })
|
|
289
|
+
})]
|
|
290
|
+
})
|
|
291
|
+
}) : collapsed && hasBrand ? brandNode : null]
|
|
292
|
+
})]
|
|
410
293
|
});
|
|
411
294
|
}
|
|
412
295
|
function Sidebar({ children, className, style }) {
|
|
@@ -470,9 +353,18 @@ function RailButton({ icon: Icon, label, isActive, badge, badgeLabel = defaultBa
|
|
|
470
353
|
className: "text-sm font-medium",
|
|
471
354
|
children: label
|
|
472
355
|
})] });
|
|
356
|
+
let trigger = /* @__PURE__ */ jsx("button", {
|
|
357
|
+
type: "button",
|
|
358
|
+
onClick,
|
|
359
|
+
"aria-label": label,
|
|
360
|
+
"aria-description": accessibleDescription,
|
|
361
|
+
className: classes,
|
|
362
|
+
style,
|
|
363
|
+
children: content
|
|
364
|
+
});
|
|
473
365
|
if (asChild && React$1.isValidElement(children)) {
|
|
474
366
|
const child = children;
|
|
475
|
-
|
|
367
|
+
trigger = React$1.cloneElement(child, {
|
|
476
368
|
className: cn$1(classes, child.props.className),
|
|
477
369
|
"aria-label": child.props["aria-label"] ?? label,
|
|
478
370
|
"aria-description": child.props["aria-description"] ?? accessibleDescription,
|
|
@@ -482,37 +374,15 @@ function RailButton({ icon: Icon, label, isActive, badge, badgeLabel = defaultBa
|
|
|
482
374
|
...style
|
|
483
375
|
}
|
|
484
376
|
}, content);
|
|
485
|
-
return /* @__PURE__ */ jsx(RailTooltip, {
|
|
486
|
-
label: tooltipLabel,
|
|
487
|
-
description,
|
|
488
|
-
disabled: tooltipDisabled,
|
|
489
|
-
className: showLabel ? "w-full" : void 0,
|
|
490
|
-
children: merged
|
|
491
|
-
});
|
|
492
377
|
}
|
|
493
378
|
return /* @__PURE__ */ jsx(RailTooltip, {
|
|
494
379
|
label: tooltipLabel,
|
|
495
380
|
description,
|
|
496
381
|
disabled: tooltipDisabled,
|
|
497
382
|
className: showLabel ? "w-full" : void 0,
|
|
498
|
-
children:
|
|
499
|
-
type: "button",
|
|
500
|
-
onClick,
|
|
501
|
-
"aria-label": label,
|
|
502
|
-
"aria-description": accessibleDescription,
|
|
503
|
-
className: classes,
|
|
504
|
-
style,
|
|
505
|
-
children: content
|
|
506
|
-
})
|
|
383
|
+
children: trigger
|
|
507
384
|
});
|
|
508
385
|
}
|
|
509
|
-
/**
|
|
510
|
-
* A rail entry that reveals its sub-surfaces in a small panel anchored to the
|
|
511
|
-
* RIGHT of the rail item, rather than pushing the rail open with an inline
|
|
512
|
-
* accordion. Opens on click, closes on outside-click, Escape, or selecting an
|
|
513
|
-
* item inside it. Use for a single "door" (e.g. Studio) that fronts several
|
|
514
|
-
* related destinations without permanently spending rail height on them.
|
|
515
|
-
*/
|
|
516
386
|
function RailFlyout({ icon: Icon, label, description, isActive, showLabel, title, children, className, style }) {
|
|
517
387
|
const [open, setOpen] = React$1.useState(false);
|
|
518
388
|
const ref = React$1.useRef(null);
|
|
@@ -555,7 +425,7 @@ function RailFlyout({ icon: Icon, label, description, isActive, showLabel, title
|
|
|
555
425
|
className: "text-sm font-medium",
|
|
556
426
|
children: label
|
|
557
427
|
}),
|
|
558
|
-
showLabel && /* @__PURE__ */ jsx(
|
|
428
|
+
showLabel && /* @__PURE__ */ jsx(ChevronRight, { className: cn$1("ml-auto h-4 w-4 shrink-0 text-muted-foreground/60 transition-transform", MOTION_CONTROL, open && "rotate-180") })
|
|
559
429
|
]
|
|
560
430
|
})
|
|
561
431
|
}), open && /* @__PURE__ */ jsxs("div", {
|
|
@@ -578,19 +448,6 @@ function RailFlyout({ icon: Icon, label, description, isActive, showLabel, title
|
|
|
578
448
|
})]
|
|
579
449
|
});
|
|
580
450
|
}
|
|
581
|
-
function ChevronRightIcon({ className }) {
|
|
582
|
-
return /* @__PURE__ */ jsxs("svg", {
|
|
583
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
584
|
-
viewBox: "0 0 24 24",
|
|
585
|
-
fill: "none",
|
|
586
|
-
stroke: "currentColor",
|
|
587
|
-
strokeWidth: "2",
|
|
588
|
-
strokeLinecap: "round",
|
|
589
|
-
strokeLinejoin: "round",
|
|
590
|
-
className,
|
|
591
|
-
children: [/* @__PURE__ */ jsx("title", { children: "Expand" }), /* @__PURE__ */ jsx("path", { d: "m9 18 6-6-6-6" })]
|
|
592
|
-
});
|
|
593
|
-
}
|
|
594
451
|
function useExpandableItems(subItems, loadSubItems) {
|
|
595
452
|
const [items, setItems] = React$1.useState(subItems ?? null);
|
|
596
453
|
const [loading, setLoading] = React$1.useState(false);
|
|
@@ -630,14 +487,6 @@ function SubItemsSkeleton() {
|
|
|
630
487
|
].map((w, i) => /* @__PURE__ */ jsx(Skeleton, { className: cn$1("h-4", w) }, i))
|
|
631
488
|
});
|
|
632
489
|
}
|
|
633
|
-
/**
|
|
634
|
-
* A nav item that reveals sub-items. On the labeled rail it expands inline as an
|
|
635
|
-
* accordion: the leading icon and chevron remain visible, their shared button
|
|
636
|
-
* toggles the list, and clicking the label navigates (`href`). On the
|
|
637
|
-
* icon-only rail it shows the sub-items in a right-anchored flyout on hover.
|
|
638
|
-
* Sub-items can be fixed (`subItems`) or lazy (`loadSubItems`, with a loading
|
|
639
|
-
* skeleton). Used for e.g. a "History" entry fronting recent sessions.
|
|
640
|
-
*/
|
|
641
490
|
function RailExpandable({ icon: Icon, label, description, href, isActive, showLabel, subItems, loadSubItems, activeSubIds, emptyLabel = "Nothing here yet", defaultOpen, onNavigate, LinkComponent, className, style }) {
|
|
642
491
|
const Link = LinkComponent ?? DefaultLink$2;
|
|
643
492
|
const [open, setOpen] = React$1.useState(defaultOpen ?? false);
|
|
@@ -846,31 +695,26 @@ function RailExpandable({ icon: Icon, label, description, href, isActive, showLa
|
|
|
846
695
|
children: [/* @__PURE__ */ jsx(Icon, {
|
|
847
696
|
className: "h-[17px] w-[17px] shrink-0",
|
|
848
697
|
"aria-hidden": true
|
|
849
|
-
}), /* @__PURE__ */ jsx(
|
|
698
|
+
}), /* @__PURE__ */ jsx(ChevronRight, {
|
|
850
699
|
className: cn$1("h-3.5 w-3.5 shrink-0 transition-transform", MOTION_CONTROL, open && "rotate-90"),
|
|
851
700
|
"aria-hidden": true
|
|
852
701
|
})]
|
|
853
|
-
}), href ?
|
|
854
|
-
href
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
})
|
|
864
|
-
}) : /* @__PURE__ */ jsx("button", {
|
|
865
|
-
type: "button",
|
|
866
|
-
onClick: toggle,
|
|
702
|
+
}), React$1.createElement(href ? Link : "button", {
|
|
703
|
+
...href ? {
|
|
704
|
+
href,
|
|
705
|
+
to: href,
|
|
706
|
+
onClick: onNavigate,
|
|
707
|
+
"aria-current": rowCurrent
|
|
708
|
+
} : {
|
|
709
|
+
type: "button",
|
|
710
|
+
onClick: toggle
|
|
711
|
+
},
|
|
867
712
|
"aria-description": description,
|
|
868
|
-
className: "flex h-9 min-w-0 flex-1 items-center pr-2.5 text-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
})]
|
|
713
|
+
className: cn$1("flex h-9 min-w-0 flex-1 items-center pr-2.5 text-sm font-medium", !href && "text-left")
|
|
714
|
+
}, /* @__PURE__ */ jsx("span", {
|
|
715
|
+
className: "truncate",
|
|
716
|
+
children: label
|
|
717
|
+
}))]
|
|
874
718
|
})
|
|
875
719
|
}), /* @__PURE__ */ jsx("div", {
|
|
876
720
|
ref: discloseRef,
|
|
@@ -939,11 +783,11 @@ function SidebarContent({ children, className }) {
|
|
|
939
783
|
const APPEARANCE_META = {
|
|
940
784
|
light: {
|
|
941
785
|
label: "Light",
|
|
942
|
-
Icon:
|
|
786
|
+
Icon: Sun
|
|
943
787
|
},
|
|
944
788
|
dark: {
|
|
945
789
|
label: "Dark",
|
|
946
|
-
Icon:
|
|
790
|
+
Icon: Moon
|
|
947
791
|
},
|
|
948
792
|
system: {
|
|
949
793
|
label: "System",
|
|
@@ -966,7 +810,7 @@ function AppearanceMenuSection({ appearance, divider = true }) {
|
|
|
966
810
|
return () => mq.removeEventListener("change", onChange);
|
|
967
811
|
}, []);
|
|
968
812
|
const resolved = appearance.value === "system" ? systemDark ? "dark" : "light" : appearance.value;
|
|
969
|
-
const TriggerIcon = resolved === "dark" ?
|
|
813
|
+
const TriggerIcon = resolved === "dark" ? Moon : Sun;
|
|
970
814
|
const caption = appearance.value === "system" ? `System (${resolved === "dark" ? "Dark" : "Light"})` : APPEARANCE_META[appearance.value].label;
|
|
971
815
|
return /* @__PURE__ */ jsxs(Fragment, { children: [divider && /* @__PURE__ */ jsx(DropdownMenuSeparator, {}), /* @__PURE__ */ jsxs(DropdownMenuSub, { children: [/* @__PURE__ */ jsxs(DropdownMenuSubTrigger, { children: [/* @__PURE__ */ jsx("span", {
|
|
972
816
|
"aria-hidden": "true",
|
|
@@ -1081,7 +925,7 @@ function ProfileAvatar({ user, isLoading = false, onLogout, onSettingsClick, set
|
|
|
1081
925
|
}),
|
|
1082
926
|
onSettingsClick ? /* @__PURE__ */ jsxs(DropdownMenuItem, {
|
|
1083
927
|
onClick: onSettingsClick,
|
|
1084
|
-
children: [/* @__PURE__ */ jsx(
|
|
928
|
+
children: [/* @__PURE__ */ jsx(Settings, {
|
|
1085
929
|
className: "mr-2 h-4 w-4",
|
|
1086
930
|
"aria-hidden": "true"
|
|
1087
931
|
}), "Settings"]
|
|
@@ -1091,7 +935,7 @@ function ProfileAvatar({ user, isLoading = false, onLogout, onSettingsClick, set
|
|
|
1091
935
|
href: settingsHref,
|
|
1092
936
|
to: settingsHref,
|
|
1093
937
|
className: "flex items-center",
|
|
1094
|
-
children: [/* @__PURE__ */ jsx(
|
|
938
|
+
children: [/* @__PURE__ */ jsx(Settings, {
|
|
1095
939
|
className: "mr-2 h-4 w-4",
|
|
1096
940
|
"aria-hidden": "true"
|
|
1097
941
|
}), "Settings"]
|
|
@@ -1100,7 +944,7 @@ function ProfileAvatar({ user, isLoading = false, onLogout, onSettingsClick, set
|
|
|
1100
944
|
onLogout && /* @__PURE__ */ jsxs(Fragment, { children: [(children || appearance || onSettingsClick || settingsHref !== null) && /* @__PURE__ */ jsx(DropdownMenuSeparator, {}), /* @__PURE__ */ jsxs(DropdownMenuItem, {
|
|
1101
945
|
className: "text-[var(--surface-danger-text)]",
|
|
1102
946
|
onClick: onLogout,
|
|
1103
|
-
children: [/* @__PURE__ */ jsx(
|
|
947
|
+
children: [/* @__PURE__ */ jsx(LogOut, {
|
|
1104
948
|
className: "mr-2 h-4 w-4",
|
|
1105
949
|
"aria-hidden": "true"
|
|
1106
950
|
}), "Sign Out"]
|
|
@@ -2748,7 +2592,7 @@ function DashboardLayoutInner({ children, variant = "sandbox", navItems, modeIte
|
|
|
2748
2592
|
]);
|
|
2749
2593
|
const mobileSidebarContent = React$1.useMemo(() => buildSidebarContent(true, false, true), [buildSidebarContent]);
|
|
2750
2594
|
return /* @__PURE__ */ jsxs("div", {
|
|
2751
|
-
className: cn$1("min-h-screen bg-surface text-foreground", className),
|
|
2595
|
+
className: cn$1("min-h-screen bg-surface text-foreground max-lg:[html:has(&)]:scroll-pt-12", className),
|
|
2752
2596
|
children: [
|
|
2753
2597
|
/* @__PURE__ */ jsxs(Dialog, {
|
|
2754
2598
|
open: mobileMenuOpen,
|
package/dist/dashboard.d.ts
CHANGED
|
@@ -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-
|
|
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-CPzJzKOZ.js";
|
|
2
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
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-
|
|
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-C7QJJw7-.js";
|
|
2
2
|
import { i as modelBrandFor, n as ProviderMark, r as canonicalModelId, t as ModelBrandStack } from "./model-brand-BQlarCIo.js";
|
|
3
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/globals.css
CHANGED
|
@@ -4688,6 +4688,12 @@
|
|
|
4688
4688
|
.group-focus-visible\:bg-ring:is(:where(.group):focus-visible *) {
|
|
4689
4689
|
background-color: hsl(var(--ring));
|
|
4690
4690
|
}
|
|
4691
|
+
.group-focus-visible\/brand\:opacity-0:is(:where(.group\/brand):focus-visible *) {
|
|
4692
|
+
opacity: 0%;
|
|
4693
|
+
}
|
|
4694
|
+
.group-focus-visible\/brand\:opacity-100:is(:where(.group\/brand):focus-visible *) {
|
|
4695
|
+
opacity: 100%;
|
|
4696
|
+
}
|
|
4691
4697
|
.group-data-\[state\=indeterminate\]\/checkbox\:block:is(:where(.group\/checkbox)[data-state="indeterminate"] *) {
|
|
4692
4698
|
display: block;
|
|
4693
4699
|
}
|
|
@@ -6713,6 +6719,11 @@
|
|
|
6713
6719
|
[data-tone=neutral] .\[\[data-tone\=neutral\]_\&\]\:text-muted-foreground {
|
|
6714
6720
|
color: hsl(var(--muted-foreground));
|
|
6715
6721
|
}
|
|
6722
|
+
@media (width < 64rem) {
|
|
6723
|
+
html:has(.max-lg\:\[html\:has\(\&\)\]\:scroll-pt-12) {
|
|
6724
|
+
scroll-padding-top: calc(var(--spacing) * 12);
|
|
6725
|
+
}
|
|
6726
|
+
}
|
|
6716
6727
|
}
|
|
6717
6728
|
@layer theme.brand {
|
|
6718
6729
|
:root, [data-sandbox-ui], [data-sandbox-theme="vault"], [data-sandbox-theme="dawn"], [data-theme="dark"], [data-theme="light"], [data-theme="aubergine"], [data-theme="aubergine-light"], [data-theme="arena"], [data-theme="arena-light"], [data-theme="super"], [data-theme="super-light"], [data-theme="tangle-dark"], [data-theme="tangle-light"], [data-theme="hospitality"], [data-theme="agents"], [data-theme="agents-light"], [data-theme="website"], .light, .dark {
|
|
@@ -441,7 +441,7 @@ interface SessionSidebarProps {
|
|
|
441
441
|
variant?: SessionSidebarVariant;
|
|
442
442
|
/**
|
|
443
443
|
* `status` partitions the list into "Needs input" (`attention-needed`),
|
|
444
|
-
* "Failed" (`error`), "Working" (`running`), and "
|
|
444
|
+
* "Failed" (`error`), "Working" (`running`), and "Idle" (everything else),
|
|
445
445
|
* in that order. Group labels render only while more than one group has
|
|
446
446
|
* items. Within a group the sort is unchanged: pinned first, then activity.
|
|
447
447
|
* Status comes from the active-sessions store record when one exists for the
|
|
@@ -10,43 +10,18 @@ interface SidebarUser {
|
|
|
10
10
|
tier?: string;
|
|
11
11
|
avatarUrl?: string;
|
|
12
12
|
}
|
|
13
|
-
/** Theme modes offered by the account menu's Appearance section. */
|
|
14
13
|
type ThemeMode = "light" | "dark" | "system";
|
|
15
|
-
/**
|
|
16
|
-
* Host-supplied controller for the account-menu Appearance section. The rail is
|
|
17
|
-
* theme-engine-agnostic: each app wires this to its own theme hook (gtm-agent
|
|
18
|
-
* uses the shared `useTheme`; the sandbox app uses its `vault`-aware
|
|
19
|
-
* `useThemeMode`). Provide it to {@link ProfileAvatar} to render Light/Dark/System.
|
|
20
|
-
*/
|
|
21
14
|
interface AppearanceController {
|
|
22
15
|
value: ThemeMode;
|
|
23
16
|
onChange: (mode: ThemeMode) => void;
|
|
24
|
-
/** Which modes to offer, in order. Defaults to all three. */
|
|
25
17
|
modes?: ThemeMode[];
|
|
26
18
|
}
|
|
27
19
|
interface RailHeaderProps {
|
|
28
|
-
/** Brand mark shown on the left, e.g. `<Logo iconOnly />`. */
|
|
29
20
|
brand?: React$1.ReactNode;
|
|
30
|
-
/** Destination for the brand link. When set with `LinkComponent`, the brand is a link. */
|
|
31
21
|
brandHref?: string;
|
|
32
|
-
/**
|
|
33
|
-
* Optional middle content (e.g. a project/workspace switcher).
|
|
34
|
-
*
|
|
35
|
-
* When `brand` is set, this is expanded-only — the collapsed rail has room
|
|
36
|
-
* for the mark alone. When `brand` is NOT set this content owns the rail top
|
|
37
|
-
* in BOTH states, so it is also rendered collapsed; read `useSidebar()` to
|
|
38
|
-
* swap in a compact mark there.
|
|
39
|
-
*/
|
|
40
22
|
children?: React$1.ReactNode;
|
|
41
|
-
/** Whether the rail is collapsed (icon-only). */
|
|
42
23
|
collapsed: boolean;
|
|
43
|
-
/** Collapse/expand the rail. */
|
|
44
24
|
onToggle: () => void;
|
|
45
|
-
/**
|
|
46
|
-
* Whether the rail can collapse/expand. When `false`, no panel toggle is
|
|
47
|
-
* rendered and the collapsed header shows the brand without the hover-morph.
|
|
48
|
-
* Defaults to `true`.
|
|
49
|
-
*/
|
|
50
25
|
collapsible?: boolean;
|
|
51
26
|
LinkComponent?: React$1.ComponentType<any>;
|
|
52
27
|
className?: string;
|
|
@@ -61,22 +36,12 @@ declare function Sidebar({ children, className, style }: SidebarProps): React$1.
|
|
|
61
36
|
interface SidebarRailProps {
|
|
62
37
|
children: React$1.ReactNode;
|
|
63
38
|
className?: string;
|
|
64
|
-
/**
|
|
65
|
-
* Render the rail at the wider mobile-drawer width so labels fit
|
|
66
|
-
* beside the icons. Defaults to the 64px icon-only rail used on
|
|
67
|
-
* desktop.
|
|
68
|
-
*/
|
|
69
39
|
wide?: boolean;
|
|
70
40
|
}
|
|
71
41
|
declare function SidebarRail({ children, className, wide }: SidebarRailProps): React$1.JSX.Element;
|
|
72
42
|
interface SidebarRailNavProps {
|
|
73
43
|
children: React$1.ReactNode;
|
|
74
44
|
className?: string;
|
|
75
|
-
/**
|
|
76
|
-
* Click handler on the `<nav>` itself. Layouts use it (with a
|
|
77
|
-
* `target === currentTarget` guard) so clicking the empty body of a collapsed
|
|
78
|
-
* rail expands it, without intercepting clicks on the nav items.
|
|
79
|
-
*/
|
|
80
45
|
onClick?: React$1.MouseEventHandler<HTMLElement>;
|
|
81
46
|
}
|
|
82
47
|
declare function SidebarRailNav({ children, className, onClick }: SidebarRailNavProps): React$1.JSX.Element;
|
|
@@ -96,42 +61,14 @@ interface RailButtonProps {
|
|
|
96
61
|
label: string;
|
|
97
62
|
isActive?: boolean;
|
|
98
63
|
badge?: number;
|
|
99
|
-
/**
|
|
100
|
-
* Describes the badge count to assistive tech and in the icon-only rail's
|
|
101
|
-
* tooltip, e.g. `(n) => \`${n} running\``. Defaults to `"<n> new"`.
|
|
102
|
-
*/
|
|
103
64
|
badgeLabel?: (count: number) => string;
|
|
104
65
|
onClick?: () => void;
|
|
105
66
|
className?: string;
|
|
106
|
-
/** Show label text next to icon (for mobile drawer) */
|
|
107
67
|
showLabel?: boolean;
|
|
108
|
-
/**
|
|
109
|
-
* One line saying what the destination is for, e.g. "Every past agent run".
|
|
110
|
-
* Shown in the hover tooltip under the label (the labeled rail shows the
|
|
111
|
-
* tooltip only when a description exists) and announced as the link's
|
|
112
|
-
* accessible description, so an unfamiliar nav item explains itself.
|
|
113
|
-
*/
|
|
114
68
|
description?: string;
|
|
115
|
-
/**
|
|
116
|
-
* Render the rail-button styling onto a single child element (e.g. a router
|
|
117
|
-
* `<Link>`) instead of an inner `<button>`. The child receives the button
|
|
118
|
-
* classes, `title`, and the icon/label/badge as its content — so navigation
|
|
119
|
-
* items stay real anchors (keyboard, cmd-click, prefetch) without copying the
|
|
120
|
-
* class recipe or nesting `<a><button>`.
|
|
121
|
-
*/
|
|
122
69
|
asChild?: boolean;
|
|
123
70
|
children?: React$1.ReactNode;
|
|
124
|
-
/**
|
|
125
|
-
* `"primary"` gives the item a distinct emphasized pill (accent fill + accent
|
|
126
|
-
* border) so it stands out from the rest of the nav, e.g. a "New" action.
|
|
127
|
-
* Defaults to `"normal"`.
|
|
128
|
-
*/
|
|
129
71
|
variant?: "normal" | "primary";
|
|
130
|
-
/**
|
|
131
|
-
* Inline style for the rendered row. Layouts use it to set `--stagger-index`
|
|
132
|
-
* so a rail of nav items arrives as a sequence rather than a flash; the
|
|
133
|
-
* variable has to land on the animated element itself, which is this one.
|
|
134
|
-
*/
|
|
135
72
|
style?: React$1.CSSProperties;
|
|
136
73
|
}
|
|
137
74
|
declare function RailButton({ icon: Icon, label, isActive, badge, badgeLabel, onClick, className, showLabel, description, asChild, children, variant, style }: RailButtonProps): React$1.JSX.Element;
|
|
@@ -140,40 +77,24 @@ interface RailFlyoutProps {
|
|
|
140
77
|
className?: string;
|
|
141
78
|
}>;
|
|
142
79
|
label: string;
|
|
143
|
-
/** Explains this destination in accessible text and its tooltip or open flyout. */
|
|
144
80
|
description?: string;
|
|
145
|
-
/** Highlight the trigger (e.g. when a child route is active). */
|
|
146
81
|
isActive?: boolean;
|
|
147
|
-
/** Show the label text beside the icon (labeled rail) vs. icon-only. */
|
|
148
82
|
showLabel?: boolean;
|
|
149
|
-
/** Heading rendered at the top of the open flyout. Defaults to `label`. */
|
|
150
83
|
title?: string;
|
|
151
|
-
/** Flyout body — the sub-surfaces revealed when the item is opened. */
|
|
152
84
|
children: React$1.ReactNode;
|
|
153
85
|
className?: string;
|
|
154
|
-
/** @see {@link RailButtonProps.style} — carries `--stagger-index` in a rail. */
|
|
155
86
|
style?: React$1.CSSProperties;
|
|
156
87
|
}
|
|
157
|
-
/**
|
|
158
|
-
* A rail entry that reveals its sub-surfaces in a small panel anchored to the
|
|
159
|
-
* RIGHT of the rail item, rather than pushing the rail open with an inline
|
|
160
|
-
* accordion. Opens on click, closes on outside-click, Escape, or selecting an
|
|
161
|
-
* item inside it. Use for a single "door" (e.g. Studio) that fronts several
|
|
162
|
-
* related destinations without permanently spending rail height on them.
|
|
163
|
-
*/
|
|
164
88
|
declare function RailFlyout({ icon: Icon, label, description, isActive, showLabel, title, children, className, style }: RailFlyoutProps): React$1.JSX.Element;
|
|
165
|
-
/** A single entry in a sub-item's hover actions menu (kebab). */
|
|
166
89
|
interface RailSubItemAction {
|
|
167
90
|
id: string;
|
|
168
91
|
label: string;
|
|
169
92
|
icon?: React$1.ComponentType<{
|
|
170
93
|
className?: string;
|
|
171
94
|
}>;
|
|
172
|
-
/** Style the item as a destructive action (e.g. delete). */
|
|
173
95
|
destructive?: boolean;
|
|
174
96
|
onSelect: () => void;
|
|
175
97
|
}
|
|
176
|
-
/** A sub-destination revealed by a {@link RailExpandable} item. */
|
|
177
98
|
interface RailExpandableSubItem {
|
|
178
99
|
id: string;
|
|
179
100
|
label: string;
|
|
@@ -182,16 +103,9 @@ interface RailExpandableSubItem {
|
|
|
182
103
|
}>;
|
|
183
104
|
href: string;
|
|
184
105
|
prefetch?: "none" | "intent" | "render" | "viewport";
|
|
185
|
-
/** Show a live working indicator on the row while the item is busy. */
|
|
186
106
|
isLoading?: boolean;
|
|
187
|
-
/** Render the row emphasized (bold + accent) so it stands out — e.g. a
|
|
188
|
-
* trailing "view all" action below a capped list. */
|
|
189
107
|
emphasis?: boolean;
|
|
190
|
-
/** Mark the row as unread — bold label + a leading dot. Suppressed while
|
|
191
|
-
* `isLoading` so a responding row shows only the working indicator. */
|
|
192
108
|
unread?: boolean;
|
|
193
|
-
/** Hover-revealed kebab actions (e.g. rename/delete). Rendered on the
|
|
194
|
-
* labeled rail only; ignored in the collapsed-rail flyout. */
|
|
195
109
|
actions?: RailSubItemAction[];
|
|
196
110
|
}
|
|
197
111
|
interface RailExpandableProps {
|
|
@@ -199,39 +113,20 @@ interface RailExpandableProps {
|
|
|
199
113
|
className?: string;
|
|
200
114
|
}>;
|
|
201
115
|
label: string;
|
|
202
|
-
/** Explains this destination in accessible text and its tooltip or open flyout. */
|
|
203
116
|
description?: string;
|
|
204
|
-
/** Destination for the row itself. Clicking the label navigates here. */
|
|
205
117
|
href?: string;
|
|
206
|
-
/** Highlight the row (e.g. its own route or a child route is active). */
|
|
207
118
|
isActive?: boolean;
|
|
208
|
-
/** Labeled (expanded) rail vs. icon-only (collapsed) rail. */
|
|
209
119
|
showLabel?: boolean;
|
|
210
|
-
/** Fixed sub-items. Mutually exclusive with `loadSubItems`. */
|
|
211
120
|
subItems?: RailExpandableSubItem[];
|
|
212
|
-
/** Lazy sub-items — called once on first open; the result is cached. */
|
|
213
121
|
loadSubItems?: () => Promise<RailExpandableSubItem[]>;
|
|
214
|
-
/** Start expanded on mount (labeled rail). Defaults to collapsed. */
|
|
215
122
|
defaultOpen?: boolean;
|
|
216
|
-
/** Ids of sub-items whose route is active (drives sub-item highlight). */
|
|
217
123
|
activeSubIds?: string[];
|
|
218
|
-
/** Shown when the resolved sub-item list is empty. */
|
|
219
124
|
emptyLabel?: string;
|
|
220
|
-
/** Called when the row or a sub-item navigates (e.g. to close a mobile drawer). */
|
|
221
125
|
onNavigate?: () => void;
|
|
222
126
|
LinkComponent?: React$1.ComponentType<any>;
|
|
223
127
|
className?: string;
|
|
224
|
-
/** @see {@link RailButtonProps.style} — carries `--stagger-index` in a rail. */
|
|
225
128
|
style?: React$1.CSSProperties;
|
|
226
129
|
}
|
|
227
|
-
/**
|
|
228
|
-
* A nav item that reveals sub-items. On the labeled rail it expands inline as an
|
|
229
|
-
* accordion: the leading icon and chevron remain visible, their shared button
|
|
230
|
-
* toggles the list, and clicking the label navigates (`href`). On the
|
|
231
|
-
* icon-only rail it shows the sub-items in a right-anchored flyout on hover.
|
|
232
|
-
* Sub-items can be fixed (`subItems`) or lazy (`loadSubItems`, with a loading
|
|
233
|
-
* skeleton). Used for e.g. a "History" entry fronting recent sessions.
|
|
234
|
-
*/
|
|
235
130
|
declare function RailExpandable({ icon: Icon, label, description, href, isActive, showLabel, subItems, loadSubItems, activeSubIds, emptyLabel, defaultOpen, onNavigate, LinkComponent, className, style }: RailExpandableProps): React$1.JSX.Element;
|
|
236
131
|
interface RailModeButtonProps {
|
|
237
132
|
mode: string;
|
|
@@ -240,12 +135,9 @@ interface RailModeButtonProps {
|
|
|
240
135
|
}>;
|
|
241
136
|
label: string;
|
|
242
137
|
badge?: number;
|
|
243
|
-
/** @see {@link RailButtonProps.badgeLabel} */
|
|
244
138
|
badgeLabel?: (count: number) => string;
|
|
245
139
|
className?: string;
|
|
246
|
-
/** Show label text next to icon (for mobile drawer) */
|
|
247
140
|
showLabel?: boolean;
|
|
248
|
-
/** @see {@link RailButtonProps.style} — carries `--stagger-index` in a rail. */
|
|
249
141
|
style?: React$1.CSSProperties;
|
|
250
142
|
}
|
|
251
143
|
declare function RailModeButton({ mode, icon, label, badge, badgeLabel, className, showLabel, style }: RailModeButtonProps): React$1.JSX.Element;
|
|
@@ -275,17 +167,10 @@ interface ProfileAvatarProps {
|
|
|
275
167
|
isLoading?: boolean;
|
|
276
168
|
onLogout?: () => void;
|
|
277
169
|
onSettingsClick?: () => void;
|
|
278
|
-
/** Pass null when the host has no settings destination. */
|
|
279
170
|
settingsHref?: string | null;
|
|
280
|
-
/** Extra dropdown items rendered before settings/logout */
|
|
281
171
|
children?: React$1.ReactNode;
|
|
282
172
|
className?: string;
|
|
283
|
-
/** Show name/email beside the avatar (for a labeled rail) instead of an icon-only avatar button. */
|
|
284
173
|
showDetails?: boolean;
|
|
285
|
-
/**
|
|
286
|
-
* When provided, the menu renders an Appearance section (Light/Dark/System)
|
|
287
|
-
* driven by this host-supplied controller. Omit to hide it.
|
|
288
|
-
*/
|
|
289
174
|
appearance?: AppearanceController;
|
|
290
175
|
LinkComponent?: React$1.ComponentType<any>;
|
|
291
176
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as ExposedPort } from "./index-
|
|
1
|
+
import { g as ExposedPort } from "./index-CPzJzKOZ.js";
|
|
2
2
|
import { D as RichFileTreeGitStatus, E as RichFileTreeGitEntry } from "./index-BZJKLu3k.js";
|
|
3
3
|
import "./diff-view-DDHWtR6X.js";
|
|
4
4
|
import { a as PreviewReadiness, i as PreviewAccess } from "./embedded-app-view-Ta5GI4hx.js";
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as LoginLayout, c as UserMenu, d as TangleLoginButtonProps, i as GitHubLoginButtonProps, l as UserMenuProps, n as AuthHeaderProps, o as LoginLayoutProps, r as GitHubLoginButton, s as SessionUser, t as AuthHeader, u as TangleLoginButton } from "./index-BbfWVtZq.js";
|
|
2
2
|
import { $ as AgentProfilePicker, A as SpeakerSection, B as partitionBySpeaker, C as MessageList, D as SpeakerHeader, E as Speaker, F as UserMessage, G as ArtifactDockStreamEvent, H as ArtifactAgentDockProps, I as UserMessageProps, J as modelProvider, K as ArtifactKind, L as agentTimelineStepKind, M as TRANSCRIPT_TEXT, N as ThinkingIndicator, O as SpeakerHeaderProps, P as ThinkingIndicatorProps, Q as AgentProfileOption, R as foldSummary, S as MessageAuthorProps, T as MessageRole, U as ArtifactAgentDockTransport, V as ArtifactAgentDock, W as ArtifactDockMessage, X as AgentProfileCapability, Y as snapHarnessToModel, Z as AgentProfileDraft, _ as ChatContainer, a as AgentTimelineFoldItem, at as ReasoningLevelPicker, b as ChatMessageProps, c as AgentTimelineProps, d as AgentTimelineStepKind, et as AgentProfilePickerProps, f as AgentTimelineStepProps, g as ChatAuthor, h as AgentTimelineToolItem, i as AgentTimelineCustomItem, it as ReasoningLevelOption, j as SpeakerState, k as SpeakerPart, l as AgentTimelineStatusItem, m as AgentTimelineToolGroupItem, n as AgentTimelineArtifactItem, nt as HARNESS_REASONING_OPTIONS, o as AgentTimelineItem, ot as ReasoningLevelPickerProps, p as AgentTimelineTone, q as ArtifactScope, r as AgentTimelineColumn, rt as ReasoningLevel, s as AgentTimelineMessageItem, t as AgentTimeline, tt as DEFAULT_REASONING_LEVEL_OPTIONS, u as AgentTimelineStep, v as ChatContainerProps, w as MessageListProps, x as MessageAuthor, y as ChatMessage, z as isViewerMessage } from "./index-1Q4Jtlic.js";
|
|
3
|
-
import { $ as SandboxTable, $t as Sidebar, A as MetricChartPoint, At as SIDEBAR_TOTAL_WIDTH, B as ProductVariant, Bt as RailButton, C as UsageSummary, Ct as OutOfCreditsModal, D as SystemLogsViewerProps, Dt as SIDEBAR_PANEL_WIDTH, E as SystemLogsViewer, Et as SIDEBAR_MOBILE_WIDTH, F as SidebarLayoutProps, Ft as RailTooltipProps, G as HARNESS_OPTIONS, Gt as RailFlyout, H as HarnessBrand, Ht as RailExpandable, I as DashboardLayout, It as McpServer, J as HarnessType, Jt as RailHeaderProps, K as HarnessPicker, Kt as RailFlyoutProps, L as DashboardLayoutProps, Lt as AppearanceController, M as SidebarLayout, Mt as SidebarProviderProps, N as SidebarLayoutFlyoutItem, Nt as useSidebar, O as MetricAreaChart, Ot as SIDEBAR_RAIL_LABELED_WIDTH, P as SidebarLayoutNavItem, Pt as RailTooltip, Q as BackendSelectorProps, Qt as RailSeparatorProps, R as DashboardUser, Rt as ProfileAvatar, S as GitStatusData, St as InsufficientBalance, T as UsageSummaryProps, Tt as parseInsufficientBalance, U as HarnessLogo, Ut as RailExpandableProps, V as HARNESS_BRAND, Vt as RailButtonProps, W as HarnessLogoProps, Wt as RailExpandableSubItem, X as Backend, Xt as RailModeButtonProps, Y as chatCapableHarnesses, Yt as RailModeButton, Z as BackendSelector, Zt as RailSeparator, _ as PortsList, _t as ResourceSnapshotItem, a as PromoBanner, an as SidebarPanelHeader, at as NewSandboxCard, b as GitPanel, bt as ResourceMeterProps, c as SnapshotList, cn as SidebarProps, ct as SandboxCardData, d as ProcessList, dn as SidebarRailFooterProps, dt as TeamRole, en as SidebarContent, et as SandboxTableProps, f as ProcessListProps, fn as SidebarRailNav, ft as canAdminSandbox, g as ExposedPort, gn as ThemeMode, gt as ResourceSnapshot, h as TemplateCardProps, hn as SidebarUser, ht as ActivityItem, i as SandboxPageShellProps, in as SidebarPanelContentProps, it as sandboxStatus, j as MetricChartTone, jt as SidebarProvider, k as MetricAreaChartProps, kt as SIDEBAR_RAIL_WIDTH, l as SnapshotListProps, ln as SidebarRail, lt as SandboxCardProps, m as TemplateCardData, mn as SidebarRailProps, mt as ActivityFeedProps, n as DashboardPageHeaderProps, nn as SidebarPanel, nt as SandboxStatusPill, o as PromoBannerProps, on as SidebarPanelHeaderProps, ot as NewSandboxCardProps, p as TemplateCard, pn as SidebarRailNavProps, pt as ActivityFeed, q as HarnessPickerProps, qt as RailHeader, r as SandboxPageShell, rn as SidebarPanelContent, rt as SandboxStatusPillProps, s as SnapshotInfo, sn as SidebarPanelProps, st as SandboxCard, t as DashboardPageHeader, tn as SidebarContentProps, tt as SANDBOX_STATUS, u as ProcessInfo, un as SidebarRailFooter, ut as SandboxStatus, v as PortsListProps, vt as ResourceSnapshotProps, w as UsageSummaryData, wt as OutOfCreditsModalProps, x as GitPanelProps, xt as INSUFFICIENT_BALANCE_CODE, y as GitCommitData, yt as ResourceMeter, z as NavItem, zt as ProfileAvatarProps } from "./index-
|
|
3
|
+
import { $ as SandboxTable, $t as Sidebar, A as MetricChartPoint, At as SIDEBAR_TOTAL_WIDTH, B as ProductVariant, Bt as RailButton, C as UsageSummary, Ct as OutOfCreditsModal, D as SystemLogsViewerProps, Dt as SIDEBAR_PANEL_WIDTH, E as SystemLogsViewer, Et as SIDEBAR_MOBILE_WIDTH, F as SidebarLayoutProps, Ft as RailTooltipProps, G as HARNESS_OPTIONS, Gt as RailFlyout, H as HarnessBrand, Ht as RailExpandable, I as DashboardLayout, It as McpServer, J as HarnessType, Jt as RailHeaderProps, K as HarnessPicker, Kt as RailFlyoutProps, L as DashboardLayoutProps, Lt as AppearanceController, M as SidebarLayout, Mt as SidebarProviderProps, N as SidebarLayoutFlyoutItem, Nt as useSidebar, O as MetricAreaChart, Ot as SIDEBAR_RAIL_LABELED_WIDTH, P as SidebarLayoutNavItem, Pt as RailTooltip, Q as BackendSelectorProps, Qt as RailSeparatorProps, R as DashboardUser, Rt as ProfileAvatar, S as GitStatusData, St as InsufficientBalance, T as UsageSummaryProps, Tt as parseInsufficientBalance, U as HarnessLogo, Ut as RailExpandableProps, V as HARNESS_BRAND, Vt as RailButtonProps, W as HarnessLogoProps, Wt as RailExpandableSubItem, X as Backend, Xt as RailModeButtonProps, Y as chatCapableHarnesses, Yt as RailModeButton, Z as BackendSelector, Zt as RailSeparator, _ as PortsList, _t as ResourceSnapshotItem, a as PromoBanner, an as SidebarPanelHeader, at as NewSandboxCard, b as GitPanel, bt as ResourceMeterProps, c as SnapshotList, cn as SidebarProps, ct as SandboxCardData, d as ProcessList, dn as SidebarRailFooterProps, dt as TeamRole, en as SidebarContent, et as SandboxTableProps, f as ProcessListProps, fn as SidebarRailNav, ft as canAdminSandbox, g as ExposedPort, gn as ThemeMode, gt as ResourceSnapshot, h as TemplateCardProps, hn as SidebarUser, ht as ActivityItem, i as SandboxPageShellProps, in as SidebarPanelContentProps, it as sandboxStatus, j as MetricChartTone, jt as SidebarProvider, k as MetricAreaChartProps, kt as SIDEBAR_RAIL_WIDTH, l as SnapshotListProps, ln as SidebarRail, lt as SandboxCardProps, m as TemplateCardData, mn as SidebarRailProps, mt as ActivityFeedProps, n as DashboardPageHeaderProps, nn as SidebarPanel, nt as SandboxStatusPill, o as PromoBannerProps, on as SidebarPanelHeaderProps, ot as NewSandboxCardProps, p as TemplateCard, pn as SidebarRailNavProps, pt as ActivityFeed, q as HarnessPickerProps, qt as RailHeader, r as SandboxPageShell, rn as SidebarPanelContent, rt as SandboxStatusPillProps, s as SnapshotInfo, sn as SidebarPanelProps, st as SandboxCard, t as DashboardPageHeader, tn as SidebarContentProps, tt as SANDBOX_STATUS, u as ProcessInfo, un as SidebarRailFooter, ut as SandboxStatus, v as PortsListProps, vt as ResourceSnapshotProps, w as UsageSummaryData, wt as OutOfCreditsModalProps, x as GitPanelProps, xt as INSUFFICIENT_BALANCE_CODE, y as GitCommitData, yt as ResourceMeter, z as NavItem, zt as ProfileAvatarProps } from "./index-CPzJzKOZ.js";
|
|
4
4
|
import { a as canonicalModelId, i as ProviderMark, n as ModelBrandStack, o as modelBrandFor, r as ModelInfo, t as ModelBrandIdentity } from "./model-brand-ZwVS49Fq.js";
|
|
5
5
|
import { a as PricingPageProps, c as BillingBalance, d as BillingSubscription, f as BillingUsage, i as PricingPage, l as BillingDashboard, n as UsageChartProps, o as PricingTier, r as UsageDataPoint, s as formatPrice, t as UsageChart, u as BillingDashboardProps } from "./usage-chart-BFpdkqNq.js";
|
|
6
6
|
import { A as configurePdfViewer, C as PdfViewerConfig, D as RichFileTreeGitStatus, E as RichFileTreeGitEntry, F as getFormatLabel, I as getSyntaxLanguage, L as parseCsv, M as fileExtension, N as filterFileTree, O as RichFileTreeProps, P as getCodeLanguage, R as resolveFilePreviewKind, S as PdfViewer, T as RichFileTree, _ as FileTabsProps, a as FileCardProps, b as FileTreeVisibilityOptions, c as FileList, d as FileNode, f as FilePreview, g as FileTabs, h as FileTabData, i as FileCard, j as detectFileFormat, k as RichFileTreeThemeVars, l as FileListItem, m as FilePreviewProps, n as FileArtifactPane, o as FileDetails, p as FilePreviewKind, r as FileArtifactPaneProps, s as FileFormat, t as CSV_PREVIEW_ROW_LIMIT, u as FileListProps, v as FileTree, w as PdfViewerProps, x as FileUploader, y as FileTreeProps } from "./index-BZJKLu3k.js";
|
|
@@ -9,9 +9,9 @@ import { t as Session } from "./sidecar-CNP4zXop.js";
|
|
|
9
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-CPevSSEj.js";
|
|
10
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, useRunNow, useSSEStream, useSandboxMetrics, useSdkSession, useSessions, useToolCallStream } from "./hooks.js";
|
|
11
11
|
import { $ as CollapsibleContent, $i as Logo, $n as Separator, $r as TabsContent, $t as FieldProps, A as BreadcrumbPage, Ai as WizardProps, An as PaginationProps, Ar as SidebarDropZone, At as DialogPortal, B as CardDescription, Bi as parseCalendarDate, Bn as SegmentedControl, Br as StatusTone, Bt as DropdownMenuLabel, C as Badge, Ci as TooltipContent, Cn as MetricStrip, Cr as SheetDescription, Ct as Dialog, D as BreadcrumbItem, Di as UploadProgress, Dn as PageShell, Dr as SheetPortal, Dt as DialogFooter, E as BreadcrumbEllipsis, Ei as UploadFile, En as PageHeaderProps, Er as SheetOverlay, Et as DialogDescription, F as Calendar, Fi as fieldMessageId, Fn as PopoverContent, Fr as Slider, Ft as DropdownMenu, G as CategoryTone, Gi as seriesMean, Gn as SelectGroup, Gr as TableCaption, Gt as DropdownMenuShortcut, H as CardHeader, Hi as seriesAreaPath, Hn as SegmentedControlProps, Hr as TONE_CLASSES, Ht as DropdownMenuRadioGroup, I as CalendarDate, Ii as formatCalendarDate, In as PopoverTrigger, Ir as StatCard, It as DropdownMenuCheckboxItem, J as Chip, Ji as useTheme, Jn as SelectScrollDownButton, Jr as TableHead, Jt as DropdownMenuSubTrigger, K as ChartReferenceLine, Ki as seriesScale, Kn as SelectItem, Kr as TableCell, Kt as DropdownMenuSub, L as CalendarProps, Li as initialsOf, Ln as Progress, Lr as StatCardProps, Lt as DropdownMenuContent, M as Button, Mi as WizardStepProps, Mn as Popover, Mr as Skeleton, Mt as DialogTrigger, N as ButtonProps, Ni as badgeVariants, Nn as PopoverAnchor, Nr as SkeletonCard, Nt as DropZone, O as BreadcrumbLink, Oi as UploadProgressProps, On as PageShellProps, Or as SheetTitle, Ot as DialogHeader, P as CATEGORY_TONES, Pi as buttonVariants, Pn as PopoverClose, Pr as SkeletonTable, Pt as DropZoneProps, Q as Collapsible, Qi as SectionTitleProps, Qn as SelectValue, Qr as Tabs, Qt as Field, R as Card, Ri as localToday, Rn as RadioGroup, Rr as StatusPill, Rt as DropdownMenuGroup, S as AvatarProps, Si as Tooltip, Sn as MetricProps, Sr as SheetContent, St as DatePickerProps, T as Breadcrumb, Ti as TooltipTrigger, Tn as PageHeader, Tr as SheetHeader, Tt as DialogContent, U as CardTitle, Ui as seriesExtent, Un as Select, Ur as Table, Ut as DropdownMenuRadioItem, V as CardFooter, Vi as periodDelta, Vn as SegmentedControlOption, Vr as Switch, Vt as DropdownMenuPortal, W as CardTitleProps, Wi as seriesLinePath, Wn as SelectContent, Wr as TableBody, Wt as DropdownMenuSeparator, X as CodeBlock, Xi as HeadingProps, Xn as SelectSeparator, Xr as TableProps, Xt as EmptyState, Y as ChipProps, Yi as useToast, Yn as SelectScrollUpButton, Yr as TableHeader, Yt as DropdownMenuTrigger, Z as CodeBlockProps, Zi as SectionTitle, Zn as SelectTrigger, Zr as TableRow, Zt as EmptyStateProps, _ as ArtifactPane, _i as ToastProvider, _n as InputProps, _r as SettingsRowProps, _t as ContextMenuSubContent, a as AlertDialogCancel, ai as TerminalDisplay, an as HelpTextProps, ar as SeriesSparklineProps, at as ContextMenu, b as AvatarFallback, bi as Toolbar, bn as MetricChart, br as Sheet, bt as CopyButton, c as AlertDialogFooter, ci as TextShimmer, cn as HoverCardDescription, cr as SettingsListColumns, ct as ContextMenuGroup, d as AlertDialogPortal, di as TextareaProps, dn as HoverCardTrigger, dr as SettingsListMenuItem, dt as ContextMenuPortal, ea as LogoProps, ei as TabsList, en as FilterField, er as SeriesExtent, et as CollapsibleTrigger, f as AlertDialogTitle, fi as ThemeToggle, fn as IconTile, fr as SettingsListProps, ft as ContextMenuRadioGroup, g as AlertTone, gi as ToastContainer, gn as Input, gr as SettingsRowLayout, gt as ContextMenuSub, h as AlertTitle, hi as Toast, hn as InlineCodeProps, hr as SettingsRow, ht as ContextMenuShortcut, i as AlertDialogAction, ii as TerminalCursor, in as HelpText, ir as SeriesSparkline, it as ComplianceStatus, j as BreadcrumbSeparator, ji as WizardStep, jn as PeriodDelta, jr as SidebarDropZoneProps, jt as DialogTitle, k as BreadcrumbList, ki as Wizard, kn as Pagination, kr as SheetTrigger, kt as DialogOverlay, l as AlertDialogHeader, li as TextShimmerProps, ln as HoverCardHeader, lr as SettingsListItem, lt as ContextMenuItem, m as AlertProps, mi as TimeSelectProps, mn as InlineCode, mr as SettingsNoteProps, mt as ContextMenuSeparator, n as AlertDescription, ni as Tag, nn as Heading, nr as SeriesPointInput, nt as ComplianceBadgeProps, o as AlertDialogContent, oi as TerminalInput, on as HoverCard, or as SettingsList, ot as ContextMenuCheckboxItem, p as AlertDialogTrigger, pi as TimeSelect, pn as IconTileProps, pr as SettingsNote, pt as ContextMenuRadioItem, q as Checkbox, qi as toneFor, qn as SelectLabel, qr as TableFooter, qt as DropdownMenuSubContent, r as AlertDialog, ri as TagProps, rn as HeadingVariant, rr as SeriesScale, rt as ComplianceProduct, s as AlertDialogDescription, sn as HoverCardContent, sr as SettingsListAction, st as ContextMenuContent, t as Alert, ta as TangleKnot, ti as TabsTrigger, tn as FilterFieldProps, tr as SeriesPoint, tt as ComplianceBadge, u as AlertDialogOverlay, ui as Textarea, un as HoverCardTitle, ur as SettingsListItemProps, ut as ContextMenuLabel, v as ArtifactPaneProps, vi as Tone, vn as Label, vr as SettingsSection, vt as ContextMenuSubTrigger, w as BadgeProps, wi as TooltipProvider, wn as MetricStripProps, wr as SheetFooter, wt as DialogClose, x as AvatarImage, xi as ToolbarProps, xn as MetricChartProps, xr as SheetClose, xt as DatePicker, y as Avatar, yi as ToneClasses, yn as Metric, yr as SettingsSectionProps, yt as ContextMenuTrigger, z as CardContent, zi as normalizeSeries, zn as RadioGroupItem, zr as StatusPillProps, zt as DropdownMenuItem } from "./index-CEtc2U5v.js";
|
|
12
|
-
import { $ as StatusBar, A as createShellShouldRevalidate, B as SessionSidebarVariant, C as SandboxWorkbenchLayoutOptions, D as SandboxWorkbenchSessionProps, E as SandboxWorkbenchProps, F as SessionSidebarFilter, G as dispatchSessionCreated, H as SessionCreatedDetail, I as SessionSidebarGroupBy, J as RuntimePaneProps, K as useOptimisticSessionItems, L as SessionSidebarItem, M as formatRelativeAge, N as SessionSidebar, O as ShellShouldRevalidateArgs, P as SessionSidebarBadge, Q as ContextBadge, R as SessionSidebarLink, S as SandboxWorkbenchFileArtifact, T as SandboxWorkbenchOpenUIArtifact, U as SessionOptimisticController, V as SESSION_CREATED_EVENT, W as UseOptimisticSessionItemsOptions, X as TerminalPanel, Y as TerminalLine, Z as TerminalProps, _ as TaskBoardItem, _t as WorkspaceSurfaceTitle, a as WorkspaceFilesPane, at as DirectoryPaneProps, b as SandboxWorkbenchArtifact, bt as WorkspaceLayoutProps, c as ApprovalConfidenceStat, ct as ShellHeader, d as ApprovalQueueProps, dt as WorkspacePaneHeaderProps, et as StatusBarProps, f as CalendarEvent, ft as WorkspaceSurface, g as TaskBoardColumn, gt as WorkspaceSurfaceProps, h as TaskBoard, ht as WorkspaceSurfaceHeadingLevel, i as WorkspaceArtifactViewProps, it as DirectoryPane, j as shellShouldRevalidate, k as ShellShouldRevalidateOptions, l as ApprovalItem, lt as ShellHeaderProps, m as CalendarViewProps, mt as WorkspaceSurfaceFrameProps, nt as StatusBanner, o as WorkspaceFilesPaneProps, ot as SHELL_HEADER_HEIGHT, p as CalendarView, pt as WorkspaceSurfaceFrame, q as RuntimePane, r as WorkspaceArtifactView, rt as StatusBannerProps, s as WorkspaceFilesPreview, st as SHELL_INSET_GUTTER, tt as BannerType, u as ApprovalQueue, ut as WorkspacePaneHeader, v as TaskBoardProps, vt as WorkspaceSurfaceTitleProps, w as SandboxWorkbenchMarkdownArtifact, x as SandboxWorkbenchCustomArtifact, y as SandboxWorkbench, yt as WorkspaceLayout, z as SessionSidebarProps } from "./index-
|
|
12
|
+
import { $ as StatusBar, A as createShellShouldRevalidate, B as SessionSidebarVariant, C as SandboxWorkbenchLayoutOptions, D as SandboxWorkbenchSessionProps, E as SandboxWorkbenchProps, F as SessionSidebarFilter, G as dispatchSessionCreated, H as SessionCreatedDetail, I as SessionSidebarGroupBy, J as RuntimePaneProps, K as useOptimisticSessionItems, L as SessionSidebarItem, M as formatRelativeAge, N as SessionSidebar, O as ShellShouldRevalidateArgs, P as SessionSidebarBadge, Q as ContextBadge, R as SessionSidebarLink, S as SandboxWorkbenchFileArtifact, T as SandboxWorkbenchOpenUIArtifact, U as SessionOptimisticController, V as SESSION_CREATED_EVENT, W as UseOptimisticSessionItemsOptions, X as TerminalPanel, Y as TerminalLine, Z as TerminalProps, _ as TaskBoardItem, _t as WorkspaceSurfaceTitle, a as WorkspaceFilesPane, at as DirectoryPaneProps, b as SandboxWorkbenchArtifact, bt as WorkspaceLayoutProps, c as ApprovalConfidenceStat, ct as ShellHeader, d as ApprovalQueueProps, dt as WorkspacePaneHeaderProps, et as StatusBarProps, f as CalendarEvent, ft as WorkspaceSurface, g as TaskBoardColumn, gt as WorkspaceSurfaceProps, h as TaskBoard, ht as WorkspaceSurfaceHeadingLevel, i as WorkspaceArtifactViewProps, it as DirectoryPane, j as shellShouldRevalidate, k as ShellShouldRevalidateOptions, l as ApprovalItem, lt as ShellHeaderProps, m as CalendarViewProps, mt as WorkspaceSurfaceFrameProps, nt as StatusBanner, o as WorkspaceFilesPaneProps, ot as SHELL_HEADER_HEIGHT, p as CalendarView, pt as WorkspaceSurfaceFrame, q as RuntimePane, r as WorkspaceArtifactView, rt as StatusBannerProps, s as WorkspaceFilesPreview, st as SHELL_INSET_GUTTER, tt as BannerType, u as ApprovalQueue, ut as WorkspacePaneHeader, v as TaskBoardProps, vt as WorkspaceSurfaceTitleProps, w as SandboxWorkbenchMarkdownArtifact, x as SandboxWorkbenchCustomArtifact, y as SandboxWorkbench, yt as WorkspaceLayout, z as SessionSidebarProps } from "./index-Bm3Narea.js";
|
|
13
13
|
import { i as VaultTreeProps, n as VAULT_TREE_CHILD_PAGE, r as VaultTree, t as FileChange } from "./vault-tree-CBS8qGT-.js";
|
|
14
|
-
import { C as SandboxArtifactPane, D as SandboxArtifact, E as ChangesPaneProps, O as SandboxArtifactPaneProps, S as ChangesPane, T as ChangedFile, _ as buildUnifiedPatch, a as PreviewViewProps, b as PillTabs, c as CodeView, d as FileBreadcrumbProps, f as DiffStatsBadge, g as DiffStats, h as PanelHeaderProps, i as PreviewView, k as SandboxArtifactTerminal, l as CodeViewProps, m as PanelHeader, n as CodeSurface, o as JsonView, p as GitStatusBadge, r as CodeSurfaceProps, s as JsonViewProps, t as CODE_THEME, u as FileBreadcrumb, v as computeDiffStats, w as ArtifactView, x as PillTabsProps, y as PillTabItem } from "./index-
|
|
14
|
+
import { C as SandboxArtifactPane, D as SandboxArtifact, E as ChangesPaneProps, O as SandboxArtifactPaneProps, S as ChangesPane, T as ChangedFile, _ as buildUnifiedPatch, a as PreviewViewProps, b as PillTabs, c as CodeView, d as FileBreadcrumbProps, f as DiffStatsBadge, g as DiffStats, h as PanelHeaderProps, i as PreviewView, k as SandboxArtifactTerminal, l as CodeViewProps, m as PanelHeader, n as CodeSurface, o as JsonView, p as GitStatusBadge, r as CodeSurfaceProps, s as JsonViewProps, t as CODE_THEME, u as FileBreadcrumb, v as computeDiffStats, w as ArtifactView, x as PillTabsProps, y as PillTabItem } from "./index-lDG84P5L.js";
|
|
15
15
|
import { n as DiffViewProps, t as DiffView } from "./diff-view-DDHWtR6X.js";
|
|
16
16
|
import { a as PreviewReadiness, i as PreviewAccess, n as EmbeddedAppView, r as EmbeddedAppViewProps, t as EmbeddedApp } from "./embedded-app-view-Ta5GI4hx.js";
|
|
17
17
|
import { OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, OpenUIAction, OpenUIActionsNode, OpenUIArtifactRenderer, OpenUIArtifactRendererProps, OpenUIBadgeNode, OpenUICardNode, OpenUICodeNode, OpenUIComponentNode, OpenUIGridNode, OpenUIHeadingNode, OpenUIKeyValueNode, OpenUIMarkdownNode, OpenUIPrimitive, OpenUISchemaIssue, OpenUISchemaValidation, OpenUISeparatorNode, OpenUIStackNode, OpenUIStatNode, OpenUITableNode, OpenUITextNode, findUnsupportedOpenUINode, validateOpenUIJsonArtifact, validateOpenUIJsonNode } from "./openui.js";
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { $ as ContextMenuShortcut, $n as TabsContent, $t as Popover, A as Card, An as SheetHeader, Ar as seriesAreaPath, At as DropdownMenuSubTrigger, B as CollapsibleContent, Bn as StatCard, Br as TangleKnot, Bt as HoverCardHeader, C as BreadcrumbLink, Cn as SettingsRow, Cr as fieldMessageId, Ct as DropdownMenuPortal, D as Button, Dn as SheetContent, Dr as normalizeSeries, Dt as DropdownMenuShortcut, E as BreadcrumbSeparator, En as SheetClose, Er as localToday, Et as DropdownMenuSeparator, F as CardTitle, Fn as SidebarDropZone, Fr as toneFor, Ft as Heading, G as ContextMenuContent, Gn as TableBody, Gt as Input, H as ComplianceBadge, Hn as Switch, Ht as HoverCardTrigger, I as Checkbox, In as Skeleton, Ir as useTheme, It as HelpText, J as ContextMenuLabel, Jn as TableFooter, Jt as MetricChart, K as ContextMenuGroup, Kn as TableCaption, Kt as Label, L as Chip, Ln as SkeletonCard, Lr as useToast, Lt as HoverCard, M as CardDescription, Mn as SheetPortal, Mr as seriesLinePath, Mt as EmptyState, N as CardFooter, Nn as SheetTitle, Nr as seriesMean, Nt as Field, O as CATEGORY_TONES, On as SheetDescription, Or as parseCalendarDate, Ot as DropdownMenuSub, P as CardHeader, Pn as SheetTrigger, Pr as seriesScale, Pt as FilterField, Q as ContextMenuSeparator, Qn as Tabs, Qt as Pagination, R as CodeBlock, Rn as SkeletonTable, Rr as SectionTitle, Rt as HoverCardContent, S as BreadcrumbItem, Sn as SettingsNote, Sr as buttonVariants, St as DropdownMenuLabel, T as BreadcrumbPage, Tn as Sheet, Tr as initialsOf, Tt as DropdownMenuRadioItem, U as ContextMenu, Un as TONE_CLASSES, Ut as IconTile, V as CollapsibleTrigger, Vn as StatusPill, Vt as HoverCardTitle, W as ContextMenuCheckboxItem, Wn as Table, Wt as InlineCode, X as ContextMenuRadioGroup, Xn as TableHeader, Xt as PageHeader, Y as ContextMenuPortal, Yn as TableHead, Yt as MetricStrip, Z as ContextMenuRadioItem, Zn as TableRow, Zt as PageShell, _ as AvatarFallback, _n as SelectValue, _r as TooltipTrigger, _t as DropdownMenu, a as AlertDialogCancel, an as RadioGroup, ar as TerminalInput, at as DatePicker, b as Breadcrumb, bn as SettingsList, br as WizardStep, bt as DropdownMenuGroup, c as AlertDialogFooter, cn as Select, cr as Textarea, ct as DialogContent, d as AlertDialogPortal, dn as SelectItem, dr as ToastContainer, dt as DialogHeader, en as PopoverAnchor, er as TabsList, et as ContextMenuSub, f as AlertDialogTitle, fn as SelectLabel, fr as ToastProvider, ft as DialogOverlay, g as Avatar, gn as SelectTrigger, gr as TooltipProvider, gt as DropZone, h as ArtifactPane, hn as SelectSeparator, hr as TooltipContent, ht as DialogTrigger, i as AlertDialogAction, in as Progress, ir as TerminalDisplay, it as CopyButton, j as CardContent, jn as SheetOverlay, jr as seriesExtent, jt as DropdownMenuTrigger, k as Calendar, kn as SheetFooter, kr as periodDelta, kt as DropdownMenuSubContent, l as AlertDialogHeader, ln as SelectContent, lr as ThemeToggle, lt as DialogDescription, m as AlertTitle, mn as SelectScrollUpButton, mr as Tooltip, mt as DialogTitle, n as AlertDescription, nn as PopoverContent, nr as Tag, nt as ContextMenuSubTrigger, o as AlertDialogContent, on as RadioGroupItem, or as TerminalLine, ot as Dialog, p as AlertDialogTrigger, pn as SelectScrollDownButton, pr as Toolbar, pt as DialogPortal, q as ContextMenuItem, qn as TableCell, qt as Metric, r as AlertDialog, rn as PopoverTrigger, rr as TerminalCursor, rt as ContextMenuTrigger, s as AlertDialogDescription, sn as SegmentedControl, sr as TextShimmer, st as DialogClose, t as Alert, tn as PopoverClose, tr as TabsTrigger, tt as ContextMenuSubContent, u as AlertDialogOverlay, un as SelectGroup, ur as TimeSelect, ut as DialogFooter, v as AvatarImage, vn as Separator, vr as UploadProgress, vt as DropdownMenuCheckboxItem, w as BreadcrumbList, wn as SettingsSection, wr as formatCalendarDate, wt as DropdownMenuRadioGroup, x as BreadcrumbEllipsis, xn as SettingsListItem, xr as badgeVariants, xt as DropdownMenuItem, y as Badge, yn as SeriesSparkline, yr as Wizard, yt as DropdownMenuContent, z as Collapsible, zn as Slider, zr as Logo, zt as HoverCardDescription } from "./primitives-znfPK9NP.js";
|
|
2
2
|
import { i as WorkspacePaneHeader, n as SHELL_INSET_GUTTER, r as ShellHeader, t as SHELL_HEADER_HEIGHT } from "./shell-header-CwqDzC4I.js";
|
|
3
|
-
import { S as WorkspaceSurfaceTitle, _ as StatusBanner, a as SandboxWorkbench, b as WorkspaceSurface, c as shellShouldRevalidate, d as dispatchSessionCreated, f as useOptimisticSessionItems, g as StatusBar, h as TerminalPanel, i as TaskBoard, l as SessionSidebar, m as RuntimePane, n as ApprovalQueue, o as WorkspaceArtifactView, p as formatRelativeAge, r as CalendarView, s as createShellShouldRevalidate, u as SESSION_CREATED_EVENT, v as DirectoryPane, x as WorkspaceSurfaceFrame, y as WorkspaceLayout } from "./workspace-
|
|
3
|
+
import { S as WorkspaceSurfaceTitle, _ as StatusBanner, a as SandboxWorkbench, b as WorkspaceSurface, c as shellShouldRevalidate, d as dispatchSessionCreated, f as useOptimisticSessionItems, g as StatusBar, h as TerminalPanel, i as TaskBoard, l as SessionSidebar, m as RuntimePane, n as ApprovalQueue, o as WorkspaceArtifactView, p as formatRelativeAge, r as CalendarView, s as createShellShouldRevalidate, u as SESSION_CREATED_EVENT, v as DirectoryPane, x as WorkspaceSurfaceFrame, y as WorkspaceLayout } from "./workspace-BGMyR5uW.js";
|
|
4
4
|
import { t as VirtualList } from "./VirtualList-DcSGbEtA.js";
|
|
5
5
|
import { i as VaultTree, n as filterFileNodes, r as VAULT_TREE_CHILD_PAGE, t as fileTreeFromPaths } from "./tree-data-rg5voiY8.js";
|
|
6
6
|
import { t as WorkspaceFilesPane } from "./workspace-files-pane-D24G7H_Z.js";
|
|
7
|
-
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-
|
|
7
|
+
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-C7QJJw7-.js";
|
|
8
8
|
import { i as modelBrandFor, n as ProviderMark, r as canonicalModelId, t as ModelBrandStack } from "./model-brand-BQlarCIo.js";
|
|
9
9
|
import { a as formatPrice, i as PricingPage, n as SandboxPageShell, o as BillingDashboard, r as UsageChart, t as DashboardPageHeader } from "./page-layout-CuOpvZys.js";
|
|
10
10
|
import { t as usePtySession } from "./use-pty-session-BHVQlSs-.js";
|
|
11
|
-
import { a as GitStatusBadge, i as DiffStatsBadge, n as ChangesPane, o as PanelHeader, r as SandboxArtifactPane, s as PillTabs, t as JsonView } from "./workbench-
|
|
11
|
+
import { a as GitStatusBadge, i as DiffStatsBadge, n as ChangesPane, o as PanelHeader, r as SandboxArtifactPane, s as PillTabs, t as JsonView } from "./workbench-D0ALR40M.js";
|
|
12
12
|
import { CSV_PREVIEW_ROW_LIMIT, FileArtifactPane, FileCard, FileList, FilePreview, FileTabs, FileTree, PdfViewer, RichFileTree, configurePdfViewer, detectFileFormat, fileExtension, filterFileTree, getCodeLanguage, getFormatLabel, getSyntaxLanguage, parseCsv, resolveFilePreviewKind } from "./files.js";
|
|
13
13
|
import { a as CodeSurface, i as CODE_THEME, n as buildUnifiedPatch, r as computeDiffStats, t as DiffView } from "./diff-view-B9mNeTLF.js";
|
|
14
14
|
import { n as FileBreadcrumb, t as CodeView } from "./code-view-BlhCS1SD.js";
|
package/dist/styles.css
CHANGED
|
@@ -4688,6 +4688,12 @@
|
|
|
4688
4688
|
.group-focus-visible\:bg-ring:is(:where(.group):focus-visible *) {
|
|
4689
4689
|
background-color: hsl(var(--ring));
|
|
4690
4690
|
}
|
|
4691
|
+
.group-focus-visible\/brand\:opacity-0:is(:where(.group\/brand):focus-visible *) {
|
|
4692
|
+
opacity: 0%;
|
|
4693
|
+
}
|
|
4694
|
+
.group-focus-visible\/brand\:opacity-100:is(:where(.group\/brand):focus-visible *) {
|
|
4695
|
+
opacity: 100%;
|
|
4696
|
+
}
|
|
4691
4697
|
.group-data-\[state\=indeterminate\]\/checkbox\:block:is(:where(.group\/checkbox)[data-state="indeterminate"] *) {
|
|
4692
4698
|
display: block;
|
|
4693
4699
|
}
|
|
@@ -6713,6 +6719,11 @@
|
|
|
6713
6719
|
[data-tone=neutral] .\[\[data-tone\=neutral\]_\&\]\:text-muted-foreground {
|
|
6714
6720
|
color: hsl(var(--muted-foreground));
|
|
6715
6721
|
}
|
|
6722
|
+
@media (width < 64rem) {
|
|
6723
|
+
html:has(.max-lg\:\[html\:has\(\&\)\]\:scroll-pt-12) {
|
|
6724
|
+
scroll-padding-top: calc(var(--spacing) * 12);
|
|
6725
|
+
}
|
|
6726
|
+
}
|
|
6716
6727
|
}
|
|
6717
6728
|
@layer theme.brand {
|
|
6718
6729
|
:root, [data-sandbox-ui], [data-sandbox-theme="vault"], [data-sandbox-theme="dawn"], [data-theme="dark"], [data-theme="light"], [data-theme="aubergine"], [data-theme="aubergine-light"], [data-theme="arena"], [data-theme="arena-light"], [data-theme="super"], [data-theme="super-light"], [data-theme="tangle-dark"], [data-theme="tangle-light"], [data-theme="hospitality"], [data-theme="agents"], [data-theme="agents-light"], [data-theme="website"], .light, .dark {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as cn$1 } from "./utils-BER_bdgE.js";
|
|
2
2
|
import { t as revealInScroller } from "./reveal-in-scroller-CzKwuqCG.js";
|
|
3
3
|
import { t as VirtualList } from "./VirtualList-DcSGbEtA.js";
|
|
4
|
-
import { a as PortsList } from "./dashboard-
|
|
4
|
+
import { a as PortsList } from "./dashboard-C7QJJw7-.js";
|
|
5
5
|
import { n as TerminalView } from "./terminal-nUCznZRj.js";
|
|
6
6
|
import { n as buildUnifiedPatch, r as computeDiffStats, t as DiffView } from "./diff-view-B9mNeTLF.js";
|
|
7
7
|
import { t as CodeView } from "./code-view-BlhCS1SD.js";
|
package/dist/workbench.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as SandboxArtifactPane, D as SandboxArtifact, E as ChangesPaneProps, O as SandboxArtifactPaneProps, S as ChangesPane, T as ChangedFile, _ as buildUnifiedPatch, a as PreviewViewProps, b as PillTabs, c as CodeView, d as FileBreadcrumbProps, f as DiffStatsBadge, g as DiffStats, h as PanelHeaderProps, i as PreviewView, k as SandboxArtifactTerminal, l as CodeViewProps, m as PanelHeader, n as CodeSurface, o as JsonView, p as GitStatusBadge, r as CodeSurfaceProps, s as JsonViewProps, t as CODE_THEME, u as FileBreadcrumb, v as computeDiffStats, w as ArtifactView, x as PillTabsProps, y as PillTabItem } from "./index-
|
|
1
|
+
import { C as SandboxArtifactPane, D as SandboxArtifact, E as ChangesPaneProps, O as SandboxArtifactPaneProps, S as ChangesPane, T as ChangedFile, _ as buildUnifiedPatch, a as PreviewViewProps, b as PillTabs, c as CodeView, d as FileBreadcrumbProps, f as DiffStatsBadge, g as DiffStats, h as PanelHeaderProps, i as PreviewView, k as SandboxArtifactTerminal, l as CodeViewProps, m as PanelHeader, n as CodeSurface, o as JsonView, p as GitStatusBadge, r as CodeSurfaceProps, s as JsonViewProps, t as CODE_THEME, u as FileBreadcrumb, v as computeDiffStats, w as ArtifactView, x as PillTabsProps, y as PillTabItem } from "./index-lDG84P5L.js";
|
|
2
2
|
import { n as DiffViewProps, t as DiffView } from "./diff-view-DDHWtR6X.js";
|
|
3
3
|
import { a as PreviewReadiness, i as PreviewAccess, n as EmbeddedAppView, r as EmbeddedAppViewProps, t as EmbeddedApp } from "./embedded-app-view-Ta5GI4hx.js";
|
|
4
4
|
export { type ArtifactView, CODE_THEME, type ChangedFile, ChangesPane, type ChangesPaneProps, CodeSurface, type CodeSurfaceProps, CodeView, type CodeViewProps, type DiffStats, DiffStatsBadge, DiffView, type DiffViewProps, type EmbeddedApp, EmbeddedAppView, type EmbeddedAppViewProps, FileBreadcrumb, type FileBreadcrumbProps, GitStatusBadge, JsonView, type JsonViewProps, PanelHeader, type PanelHeaderProps, type PillTabItem, PillTabs, type PillTabsProps, type PreviewAccess, type PreviewReadiness, PreviewView, type PreviewViewProps, type SandboxArtifact, SandboxArtifactPane, type SandboxArtifactPaneProps, type SandboxArtifactTerminal, buildUnifiedPatch, computeDiffStats };
|
package/dist/workbench.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as GitStatusBadge, i as DiffStatsBadge, n as ChangesPane, o as PanelHeader, r as SandboxArtifactPane, s as PillTabs, t as JsonView } from "./workbench-
|
|
1
|
+
import { a as GitStatusBadge, i as DiffStatsBadge, n as ChangesPane, o as PanelHeader, r as SandboxArtifactPane, s as PillTabs, t as JsonView } from "./workbench-D0ALR40M.js";
|
|
2
2
|
import { a as CodeSurface, i as CODE_THEME, n as buildUnifiedPatch, r as computeDiffStats, t as DiffView } from "./diff-view-B9mNeTLF.js";
|
|
3
3
|
import { n as FileBreadcrumb, t as CodeView } from "./code-view-BlhCS1SD.js";
|
|
4
4
|
import { n as PreviewView, t as EmbeddedAppView } from "./embedded-app-view-DXsoPale.js";
|
|
@@ -1206,8 +1206,8 @@ const STATUS_GROUPS = [
|
|
|
1206
1206
|
label: "Working"
|
|
1207
1207
|
},
|
|
1208
1208
|
{
|
|
1209
|
-
key: "
|
|
1210
|
-
label: "
|
|
1209
|
+
key: "idle",
|
|
1210
|
+
label: "Idle"
|
|
1211
1211
|
}
|
|
1212
1212
|
];
|
|
1213
1213
|
function groupKeyForStatus(status) {
|
|
@@ -1215,7 +1215,7 @@ function groupKeyForStatus(status) {
|
|
|
1215
1215
|
case "attention-needed": return "attention";
|
|
1216
1216
|
case "error": return "failed";
|
|
1217
1217
|
case "running": return "working";
|
|
1218
|
-
default: return "
|
|
1218
|
+
default: return "idle";
|
|
1219
1219
|
}
|
|
1220
1220
|
}
|
|
1221
1221
|
function statusDot(status) {
|
package/dist/workspace.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as StatusBar, A as createShellShouldRevalidate, B as SessionSidebarVariant, C as SandboxWorkbenchLayoutOptions, D as SandboxWorkbenchSessionProps, E as SandboxWorkbenchProps, F as SessionSidebarFilter, G as dispatchSessionCreated, H as SessionCreatedDetail, I as SessionSidebarGroupBy, J as RuntimePaneProps, K as useOptimisticSessionItems, L as SessionSidebarItem, M as formatRelativeAge, N as SessionSidebar, O as ShellShouldRevalidateArgs, P as SessionSidebarBadge, Q as ContextBadge, R as SessionSidebarLink, S as SandboxWorkbenchFileArtifact, T as SandboxWorkbenchOpenUIArtifact, U as SessionOptimisticController, V as SESSION_CREATED_EVENT, W as UseOptimisticSessionItemsOptions, X as TerminalPanel, Y as TerminalLine, Z as TerminalProps, _ as TaskBoardItem, _t as WorkspaceSurfaceTitle, a as WorkspaceFilesPane, at as DirectoryPaneProps, b as SandboxWorkbenchArtifact, bt as WorkspaceLayoutProps, c as ApprovalConfidenceStat, ct as ShellHeader, d as ApprovalQueueProps, dt as WorkspacePaneHeaderProps, et as StatusBarProps, f as CalendarEvent, ft as WorkspaceSurface, g as TaskBoardColumn, gt as WorkspaceSurfaceProps, h as TaskBoard, ht as WorkspaceSurfaceHeadingLevel, i as WorkspaceArtifactViewProps, it as DirectoryPane, j as shellShouldRevalidate, k as ShellShouldRevalidateOptions, l as ApprovalItem, lt as ShellHeaderProps, m as CalendarViewProps, mt as WorkspaceSurfaceFrameProps, n as ArtifactPaneProps, nt as StatusBanner, o as WorkspaceFilesPaneProps, ot as SHELL_HEADER_HEIGHT, p as CalendarView, pt as WorkspaceSurfaceFrame, q as RuntimePane, r as WorkspaceArtifactView, rt as StatusBannerProps, s as WorkspaceFilesPreview, st as SHELL_INSET_GUTTER, t as ArtifactPane, tt as BannerType, u as ApprovalQueue, ut as WorkspacePaneHeader, v as TaskBoardProps, vt as WorkspaceSurfaceTitleProps, w as SandboxWorkbenchMarkdownArtifact, x as SandboxWorkbenchCustomArtifact, y as SandboxWorkbench, yt as WorkspaceLayout, z as SessionSidebarProps } from "./index-
|
|
1
|
+
import { $ as StatusBar, A as createShellShouldRevalidate, B as SessionSidebarVariant, C as SandboxWorkbenchLayoutOptions, D as SandboxWorkbenchSessionProps, E as SandboxWorkbenchProps, F as SessionSidebarFilter, G as dispatchSessionCreated, H as SessionCreatedDetail, I as SessionSidebarGroupBy, J as RuntimePaneProps, K as useOptimisticSessionItems, L as SessionSidebarItem, M as formatRelativeAge, N as SessionSidebar, O as ShellShouldRevalidateArgs, P as SessionSidebarBadge, Q as ContextBadge, R as SessionSidebarLink, S as SandboxWorkbenchFileArtifact, T as SandboxWorkbenchOpenUIArtifact, U as SessionOptimisticController, V as SESSION_CREATED_EVENT, W as UseOptimisticSessionItemsOptions, X as TerminalPanel, Y as TerminalLine, Z as TerminalProps, _ as TaskBoardItem, _t as WorkspaceSurfaceTitle, a as WorkspaceFilesPane, at as DirectoryPaneProps, b as SandboxWorkbenchArtifact, bt as WorkspaceLayoutProps, c as ApprovalConfidenceStat, ct as ShellHeader, d as ApprovalQueueProps, dt as WorkspacePaneHeaderProps, et as StatusBarProps, f as CalendarEvent, ft as WorkspaceSurface, g as TaskBoardColumn, gt as WorkspaceSurfaceProps, h as TaskBoard, ht as WorkspaceSurfaceHeadingLevel, i as WorkspaceArtifactViewProps, it as DirectoryPane, j as shellShouldRevalidate, k as ShellShouldRevalidateOptions, l as ApprovalItem, lt as ShellHeaderProps, m as CalendarViewProps, mt as WorkspaceSurfaceFrameProps, n as ArtifactPaneProps, nt as StatusBanner, o as WorkspaceFilesPaneProps, ot as SHELL_HEADER_HEIGHT, p as CalendarView, pt as WorkspaceSurfaceFrame, q as RuntimePane, r as WorkspaceArtifactView, rt as StatusBannerProps, s as WorkspaceFilesPreview, st as SHELL_INSET_GUTTER, t as ArtifactPane, tt as BannerType, u as ApprovalQueue, ut as WorkspacePaneHeader, v as TaskBoardProps, vt as WorkspaceSurfaceTitleProps, w as SandboxWorkbenchMarkdownArtifact, x as SandboxWorkbenchCustomArtifact, y as SandboxWorkbench, yt as WorkspaceLayout, z as SessionSidebarProps } from "./index-Bm3Narea.js";
|
|
2
2
|
export { type ApprovalConfidenceStat, type ApprovalItem, ApprovalQueue, type ApprovalQueueProps, ArtifactPane, type ArtifactPaneProps, type BannerType, type CalendarEvent, CalendarView, type CalendarViewProps, type ContextBadge, DirectoryPane, type DirectoryPaneProps, RuntimePane, type RuntimePaneProps, SESSION_CREATED_EVENT, SHELL_HEADER_HEIGHT, SHELL_INSET_GUTTER, SandboxWorkbench, type SandboxWorkbenchArtifact, type SandboxWorkbenchCustomArtifact, type SandboxWorkbenchFileArtifact, type SandboxWorkbenchLayoutOptions, type SandboxWorkbenchMarkdownArtifact, type SandboxWorkbenchOpenUIArtifact, type SandboxWorkbenchProps, type SandboxWorkbenchSessionProps, type SessionCreatedDetail, type SessionOptimisticController, SessionSidebar, type SessionSidebarBadge, type SessionSidebarFilter, type SessionSidebarGroupBy, type SessionSidebarItem, type SessionSidebarLink, type SessionSidebarProps, type SessionSidebarVariant, ShellHeader, type ShellHeaderProps, type ShellShouldRevalidateArgs, type ShellShouldRevalidateOptions, StatusBanner, type StatusBannerProps, StatusBar, type StatusBarProps, TaskBoard, type TaskBoardColumn, type TaskBoardItem, type TaskBoardProps, type TerminalLine, TerminalPanel, type TerminalProps, type UseOptimisticSessionItemsOptions, WorkspaceArtifactView, type WorkspaceArtifactViewProps, WorkspaceFilesPane, type WorkspaceFilesPaneProps, type WorkspaceFilesPreview, WorkspaceLayout, type WorkspaceLayoutProps, WorkspacePaneHeader, type WorkspacePaneHeaderProps, WorkspaceSurface, WorkspaceSurfaceFrame, type WorkspaceSurfaceFrameProps, type WorkspaceSurfaceHeadingLevel, type WorkspaceSurfaceProps, WorkspaceSurfaceTitle, type WorkspaceSurfaceTitleProps, createShellShouldRevalidate, dispatchSessionCreated, formatRelativeAge, shellShouldRevalidate, useOptimisticSessionItems };
|
package/dist/workspace.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { i as WorkspacePaneHeader, n as SHELL_INSET_GUTTER, r as ShellHeader, t as SHELL_HEADER_HEIGHT } from "./shell-header-CwqDzC4I.js";
|
|
2
|
-
import { S as WorkspaceSurfaceTitle, _ as StatusBanner, a as SandboxWorkbench, b as WorkspaceSurface, c as shellShouldRevalidate, d as dispatchSessionCreated, f as useOptimisticSessionItems, g as StatusBar, h as TerminalPanel, i as TaskBoard, l as SessionSidebar, m as RuntimePane, n as ApprovalQueue, o as WorkspaceArtifactView, p as formatRelativeAge, r as CalendarView, s as createShellShouldRevalidate, t as ArtifactPane, u as SESSION_CREATED_EVENT, v as DirectoryPane, x as WorkspaceSurfaceFrame, y as WorkspaceLayout } from "./workspace-
|
|
2
|
+
import { S as WorkspaceSurfaceTitle, _ as StatusBanner, a as SandboxWorkbench, b as WorkspaceSurface, c as shellShouldRevalidate, d as dispatchSessionCreated, f as useOptimisticSessionItems, g as StatusBar, h as TerminalPanel, i as TaskBoard, l as SessionSidebar, m as RuntimePane, n as ApprovalQueue, o as WorkspaceArtifactView, p as formatRelativeAge, r as CalendarView, s as createShellShouldRevalidate, t as ArtifactPane, u as SESSION_CREATED_EVENT, v as DirectoryPane, x as WorkspaceSurfaceFrame, y as WorkspaceLayout } from "./workspace-BGMyR5uW.js";
|
|
3
3
|
import { t as WorkspaceFilesPane } from "./workspace-files-pane-D24G7H_Z.js";
|
|
4
4
|
export { ApprovalQueue, ArtifactPane, CalendarView, DirectoryPane, RuntimePane, SESSION_CREATED_EVENT, SHELL_HEADER_HEIGHT, SHELL_INSET_GUTTER, SandboxWorkbench, SessionSidebar, ShellHeader, StatusBanner, StatusBar, TaskBoard, TerminalPanel, WorkspaceArtifactView, WorkspaceFilesPane, WorkspaceLayout, WorkspacePaneHeader, WorkspaceSurface, WorkspaceSurfaceFrame, WorkspaceSurfaceTitle, createShellShouldRevalidate, dispatchSessionCreated, formatRelativeAge, shellShouldRevalidate, useOptimisticSessionItems };
|
package/package.json
CHANGED