@tangle-network/sandbox-ui 0.125.3 → 0.126.1
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 +1 -2
- package/dist/assets.d.ts +1 -27
- package/dist/assets.js +2 -76
- package/dist/{dashboard-Ce1Qy0Yv.js → dashboard-Bms7lRpU.js} +48 -1026
- package/dist/dashboard.d.ts +3 -3
- package/dist/dashboard.js +3 -3
- package/dist/globals.css +0 -257
- package/dist/{index-B_Ae4rdp.d.ts → index-Bww3rzEG.d.ts} +1 -41
- package/dist/{index-CV-BKrDF.d.ts → index-DPTVn2nS.d.ts} +1 -1
- package/dist/{index-Qm_yQvZh.d.ts → index-DXxi5EtM.d.ts} +26 -208
- package/dist/{index-DloDwgbc.d.ts → index-Du0ovoHu.d.ts} +2 -2
- package/dist/index.d.ts +6 -6
- package/dist/index.js +6 -6
- package/dist/{page-layout-DJV7cbxx.js → page-layout-2IRtfx51.js} +2 -38
- package/dist/pages.d.ts +9 -130
- package/dist/pages.js +5 -2059
- package/dist/{primitives-DLE_MCwZ.js → primitives-WP3v1yf0.js} +2 -2
- package/dist/primitives.d.ts +1 -1
- package/dist/primitives.js +1 -1
- package/dist/styles.css +0 -257
- package/dist/{template-card-L-4gmjx2.d.ts → usage-chart-BjM8ShvX.d.ts} +1 -16
- package/dist/{workbench-DLQ07SoM.js → workbench-CF7uaTsc.js} +16 -16
- package/dist/workbench.d.ts +1 -1
- package/dist/workbench.js +1 -1
- package/dist/{workspace-CjeZTLPQ.js → workspace-C68fk9qa.js} +3 -194
- package/dist/workspace.d.ts +2 -2
- package/dist/workspace.js +2 -2
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cn$1 } from "./utils-DzWbktWG.js";
|
|
2
|
-
import {
|
|
2
|
+
import { a as PortsList } from "./dashboard-Bms7lRpU.js";
|
|
3
3
|
import { n as TerminalView } from "./terminal-DmSUfGha.js";
|
|
4
4
|
import { RichFileTree } from "./files.js";
|
|
5
5
|
import { n as PreviewView } from "./embedded-app-view-CMRPEvon.js";
|
|
@@ -873,7 +873,7 @@ function normalize(value) {
|
|
|
873
873
|
* @import {Info as InfoType} from 'property-information'
|
|
874
874
|
*/
|
|
875
875
|
/** @type {InfoType} */
|
|
876
|
-
var Info
|
|
876
|
+
var Info = class {
|
|
877
877
|
/**
|
|
878
878
|
* @param {string} property
|
|
879
879
|
* Property.
|
|
@@ -887,18 +887,18 @@ var Info$1 = class {
|
|
|
887
887
|
this.property = property;
|
|
888
888
|
}
|
|
889
889
|
};
|
|
890
|
-
Info
|
|
891
|
-
Info
|
|
892
|
-
Info
|
|
893
|
-
Info
|
|
894
|
-
Info
|
|
895
|
-
Info
|
|
896
|
-
Info
|
|
897
|
-
Info
|
|
898
|
-
Info
|
|
899
|
-
Info
|
|
900
|
-
Info
|
|
901
|
-
Info
|
|
890
|
+
Info.prototype.attribute = "";
|
|
891
|
+
Info.prototype.booleanish = false;
|
|
892
|
+
Info.prototype.boolean = false;
|
|
893
|
+
Info.prototype.commaOrSpaceSeparated = false;
|
|
894
|
+
Info.prototype.commaSeparated = false;
|
|
895
|
+
Info.prototype.defined = false;
|
|
896
|
+
Info.prototype.mustUseProperty = false;
|
|
897
|
+
Info.prototype.number = false;
|
|
898
|
+
Info.prototype.overloadedBoolean = false;
|
|
899
|
+
Info.prototype.property = "";
|
|
900
|
+
Info.prototype.spaceSeparated = false;
|
|
901
|
+
Info.prototype.space = void 0;
|
|
902
902
|
//#endregion
|
|
903
903
|
//#region node_modules/.pnpm/property-information@7.2.0/node_modules/property-information/lib/util/types.js
|
|
904
904
|
var types_exports = /* @__PURE__ */ __exportAll({
|
|
@@ -927,7 +927,7 @@ function increment() {
|
|
|
927
927
|
* @import {Space} from 'property-information'
|
|
928
928
|
*/
|
|
929
929
|
const checks = Object.keys(types_exports);
|
|
930
|
-
var DefinedInfo = class extends Info
|
|
930
|
+
var DefinedInfo = class extends Info {
|
|
931
931
|
/**
|
|
932
932
|
* @constructor
|
|
933
933
|
* @param {string} property
|
|
@@ -2064,7 +2064,7 @@ const valid = /^data[-\w.:]+$/i;
|
|
|
2064
2064
|
function find(schema, value) {
|
|
2065
2065
|
const normal = normalize(value);
|
|
2066
2066
|
let property = value;
|
|
2067
|
-
let Type = Info
|
|
2067
|
+
let Type = Info;
|
|
2068
2068
|
if (normal in schema.normal) return schema.property[schema.normal[normal]];
|
|
2069
2069
|
if (normal.length > 4 && normal.slice(0, 4) === "data" && valid.test(value)) {
|
|
2070
2070
|
if (value.charAt(4) === "-") {
|
package/dist/workbench.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { A as SandboxArtifactTerminal, C as ChangesPane, D as ChangesPaneProps, E as ChangedFile, O as SandboxArtifact, S as PillTabsProps, T as ArtifactView, _ as DiffStats, a as PreviewView, b as PillTabItem, c as DiffViewProps, d as FileBreadcrumb, f as FileBreadcrumbProps, g as PanelHeaderProps, h as PanelHeader, i as resolveLanguage, k as SandboxArtifactPaneProps, l as CodeView, m as GitStatusBadge, n as CodeSurface, o as PreviewViewProps, p as DiffStatsBadge, r as CodeSurfaceProps, s as DiffView, t as BRAND_PRISM_THEME, u as CodeViewProps, v as buildUnifiedPatch, w as SandboxArtifactPane, x as PillTabs, y as computeDiffStats } from "./index-
|
|
1
|
+
import { A as SandboxArtifactTerminal, C as ChangesPane, D as ChangesPaneProps, E as ChangedFile, O as SandboxArtifact, S as PillTabsProps, T as ArtifactView, _ as DiffStats, a as PreviewView, b as PillTabItem, c as DiffViewProps, d as FileBreadcrumb, f as FileBreadcrumbProps, g as PanelHeaderProps, h as PanelHeader, i as resolveLanguage, k as SandboxArtifactPaneProps, l as CodeView, m as GitStatusBadge, n as CodeSurface, o as PreviewViewProps, p as DiffStatsBadge, r as CodeSurfaceProps, s as DiffView, t as BRAND_PRISM_THEME, u as CodeViewProps, v as buildUnifiedPatch, w as SandboxArtifactPane, x as PillTabs, y as computeDiffStats } from "./index-DPTVn2nS.js";
|
|
2
2
|
import { a as PreviewReadiness, i as PreviewAccess, n as EmbeddedAppView, r as EmbeddedAppViewProps, t as EmbeddedApp } from "./embedded-app-view-B_vMTtJn.js";
|
|
3
3
|
export { type ArtifactView, BRAND_PRISM_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, PanelHeader, type PanelHeaderProps, type PillTabItem, PillTabs, type PillTabsProps, type PreviewAccess, type PreviewReadiness, PreviewView, type PreviewViewProps, type SandboxArtifact, SandboxArtifactPane, type SandboxArtifactPaneProps, type SandboxArtifactTerminal, buildUnifiedPatch, computeDiffStats, resolveLanguage };
|
package/dist/workbench.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as computeDiffStats, c as BRAND_PRISM_THEME, d as DiffStatsBadge, f as GitStatusBadge, i as buildUnifiedPatch, l as CodeSurface, m as PillTabs, n as SandboxArtifactPane, o as CodeView, p as PanelHeader, r as DiffView, s as FileBreadcrumb, t as ChangesPane, u as resolveLanguage } from "./workbench-
|
|
1
|
+
import { a as computeDiffStats, c as BRAND_PRISM_THEME, d as DiffStatsBadge, f as GitStatusBadge, i as buildUnifiedPatch, l as CodeSurface, m as PillTabs, n as SandboxArtifactPane, o as CodeView, p as PanelHeader, r as DiffView, s as FileBreadcrumb, t as ChangesPane, u as resolveLanguage } from "./workbench-CF7uaTsc.js";
|
|
2
2
|
import { n as PreviewView, t as EmbeddedAppView } from "./embedded-app-view-CMRPEvon.js";
|
|
3
3
|
export { BRAND_PRISM_THEME, ChangesPane, CodeSurface, CodeView, DiffStatsBadge, DiffView, EmbeddedAppView, FileBreadcrumb, GitStatusBadge, PanelHeader, PillTabs, PreviewView, SandboxArtifactPane, buildUnifiedPatch, computeDiffStats, resolveLanguage };
|
|
@@ -7,10 +7,10 @@ import { Markdown } from "@tangle-network/ui/markdown";
|
|
|
7
7
|
import { useCallback, useEffect, useId, useImperativeHandle, useMemo, useRef, useState } from "react";
|
|
8
8
|
import { createPortal } from "react-dom";
|
|
9
9
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
10
|
-
import {
|
|
10
|
+
import { AlertCircle, AlertTriangle, ArrowLeft, Binary, Bot, Boxes, CheckCircle, ChevronDown, ChevronUp, FileCode2, FileText, FolderOpen, FolderTree, LayoutPanelTop, Loader2, MessageSquareText, PanelBottomClose, PanelBottomOpen, PanelLeftClose, PanelLeftOpen, PanelRightClose, PanelRightOpen, Plus, RefreshCw, Search, Settings, ShieldCheck, Sparkles, Terminal, TerminalSquare, Upload, Wifi, X, Zap } from "lucide-react";
|
|
11
11
|
import { focusField, focusRing, focusRingInset } from "@tangle-network/ui/utils";
|
|
12
12
|
import { FileArtifactPane, FileTree, RichFileTree, filterFileTree } from "@tangle-network/ui/files";
|
|
13
|
-
import {
|
|
13
|
+
import { useNavbarSessions } from "@tangle-network/ui/stores";
|
|
14
14
|
import { ChatContainer } from "@tangle-network/ui/chat";
|
|
15
15
|
import { OpenUIArtifactRenderer } from "@tangle-network/ui/openui";
|
|
16
16
|
//#region src/workspace/workspace-layout.tsx
|
|
@@ -1533,100 +1533,6 @@ function createShellShouldRevalidate(options = {}) {
|
|
|
1533
1533
|
*/
|
|
1534
1534
|
const shellShouldRevalidate = createShellShouldRevalidate();
|
|
1535
1535
|
//#endregion
|
|
1536
|
-
//#region src/workspace/session-activity-monitor.tsx
|
|
1537
|
-
function SessionStatusDot({ session }) {
|
|
1538
|
-
if (session.status === "error") return /* @__PURE__ */ jsx(AlertCircle, { className: "h-3 w-3 text-[var(--surface-danger-text)]" });
|
|
1539
|
-
if (session.status === "running") return /* @__PURE__ */ jsx(LoaderCircle, {
|
|
1540
|
-
className: "h-3 w-3 animate-spin text-primary",
|
|
1541
|
-
"data-motion": "essential"
|
|
1542
|
-
});
|
|
1543
|
-
if (session.status === "attention-needed") return /* @__PURE__ */ jsx(Activity, { className: "h-3 w-3 text-[var(--surface-warning-text)]" });
|
|
1544
|
-
return /* @__PURE__ */ jsx("span", { className: "h-1.5 w-1.5 rounded-full bg-muted-foreground/40" });
|
|
1545
|
-
}
|
|
1546
|
-
function navigateToSession(session) {
|
|
1547
|
-
if (!session.href || typeof window === "undefined") return;
|
|
1548
|
-
window.location.assign(session.href);
|
|
1549
|
-
}
|
|
1550
|
-
function SessionActivityMonitor({ className, compact = false, sessionsById = {}, emptyMessage = "No active sessions", resolveProjectLabel, onSelectSession }) {
|
|
1551
|
-
const trackedSessions = useActiveSessions();
|
|
1552
|
-
const projectActivity = useProjectActivity();
|
|
1553
|
-
const totalRunning = useTotalRunningSessions();
|
|
1554
|
-
const sessionLookup = Object.keys(sessionsById).length > 0 ? sessionsById : Object.fromEntries(trackedSessions.map((session) => [session.sessionId, session]));
|
|
1555
|
-
if (projectActivity.length === 0) {
|
|
1556
|
-
if (compact) return null;
|
|
1557
|
-
return /* @__PURE__ */ jsx("div", {
|
|
1558
|
-
className: cn$1("rounded-[var(--radius-lg)] border border-[var(--md3-outline-variant)] bg-surface-container-high px-3 py-2.5 text-xs text-muted-foreground", className),
|
|
1559
|
-
children: emptyMessage
|
|
1560
|
-
});
|
|
1561
|
-
}
|
|
1562
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
1563
|
-
className: cn$1("space-y-1.5", className),
|
|
1564
|
-
children: [/* @__PURE__ */ jsxs("div", {
|
|
1565
|
-
className: "flex items-center justify-between",
|
|
1566
|
-
children: [/* @__PURE__ */ jsxs("span", {
|
|
1567
|
-
className: "flex items-center gap-1.5 text-[10px] font-medium uppercase tracking-wider text-muted-foreground",
|
|
1568
|
-
children: [/* @__PURE__ */ jsx(Activity, { className: "h-3 w-3" }), "Active"]
|
|
1569
|
-
}), totalRunning > 0 && /* @__PURE__ */ jsx("span", {
|
|
1570
|
-
className: "rounded-full border border-primary/30 bg-[var(--accent-surface-soft)] px-1.5 py-px text-[10px] font-medium text-primary",
|
|
1571
|
-
children: totalRunning
|
|
1572
|
-
})]
|
|
1573
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
1574
|
-
className: "space-y-1",
|
|
1575
|
-
children: projectActivity.map((project) => {
|
|
1576
|
-
const label = resolveProjectLabel?.(project.projectId, project.projectLabel) ?? project.projectLabel ?? String(project.projectId);
|
|
1577
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
1578
|
-
className: "overflow-hidden rounded-[var(--radius-lg)] border border-[var(--md3-outline-variant)] bg-surface-container",
|
|
1579
|
-
children: [/* @__PURE__ */ jsxs("div", {
|
|
1580
|
-
className: "flex items-center justify-between gap-2 px-2.5 py-1.5",
|
|
1581
|
-
children: [/* @__PURE__ */ jsxs("div", {
|
|
1582
|
-
className: "min-w-0",
|
|
1583
|
-
children: [/* @__PURE__ */ jsx("div", {
|
|
1584
|
-
className: "truncate text-xs font-medium text-foreground",
|
|
1585
|
-
children: label
|
|
1586
|
-
}), /* @__PURE__ */ jsxs("div", {
|
|
1587
|
-
className: "text-[10px] text-muted-foreground",
|
|
1588
|
-
children: [
|
|
1589
|
-
project.activeSessionCount,
|
|
1590
|
-
" session",
|
|
1591
|
-
project.activeSessionCount === 1 ? "" : "s"
|
|
1592
|
-
]
|
|
1593
|
-
})]
|
|
1594
|
-
}), project.runningSessionIds.length > 0 && /* @__PURE__ */ jsxs("span", {
|
|
1595
|
-
className: "shrink-0 text-[10px] text-muted-foreground",
|
|
1596
|
-
children: [project.runningSessionIds.length, " live"]
|
|
1597
|
-
})]
|
|
1598
|
-
}), !compact && project.runningSessionIds.length > 0 && /* @__PURE__ */ jsx("div", {
|
|
1599
|
-
className: "border-t border-[var(--md3-outline-variant)] bg-surface-container-high px-1 py-0.5",
|
|
1600
|
-
children: project.runningSessionIds.map((sessionId) => {
|
|
1601
|
-
const session = sessionLookup[sessionId];
|
|
1602
|
-
if (!session) return null;
|
|
1603
|
-
return /* @__PURE__ */ jsxs("button", {
|
|
1604
|
-
type: "button",
|
|
1605
|
-
onClick: () => {
|
|
1606
|
-
if (onSelectSession) {
|
|
1607
|
-
onSelectSession(session);
|
|
1608
|
-
return;
|
|
1609
|
-
}
|
|
1610
|
-
navigateToSession(session);
|
|
1611
|
-
},
|
|
1612
|
-
className: "flex w-full items-center gap-2 rounded-[var(--radius-sm)] px-2 py-1 text-left transition-colors hover:bg-[var(--accent-surface-soft)]",
|
|
1613
|
-
children: [
|
|
1614
|
-
/* @__PURE__ */ jsx(SessionStatusDot, { session }),
|
|
1615
|
-
/* @__PURE__ */ jsx("span", {
|
|
1616
|
-
className: "min-w-0 truncate text-xs text-muted-foreground",
|
|
1617
|
-
children: session.title ?? "Untitled"
|
|
1618
|
-
}),
|
|
1619
|
-
/* @__PURE__ */ jsx(MessageSquareText, { className: "ml-auto h-3 w-3 shrink-0 text-muted-foreground" })
|
|
1620
|
-
]
|
|
1621
|
-
}, sessionId);
|
|
1622
|
-
})
|
|
1623
|
-
})]
|
|
1624
|
-
}, String(project.projectId));
|
|
1625
|
-
})
|
|
1626
|
-
})]
|
|
1627
|
-
});
|
|
1628
|
-
}
|
|
1629
|
-
//#endregion
|
|
1630
1536
|
//#region src/workspace/workspace-artifact-view.tsx
|
|
1631
1537
|
/** The shared technical renderer for workspace files and generated artifacts. */
|
|
1632
1538
|
function WorkspaceArtifactView({ artifact, hideTitleBlock }) {
|
|
@@ -1982,103 +1888,6 @@ function SandboxWorkbench({ title, subtitle, status, centerHeader: centerHeaderP
|
|
|
1982
1888
|
className: cn$1("p-2", className)
|
|
1983
1889
|
});
|
|
1984
1890
|
}
|
|
1985
|
-
function AgentWorkbench(props) {
|
|
1986
|
-
return /* @__PURE__ */ jsx(SandboxWorkbench, {
|
|
1987
|
-
...props,
|
|
1988
|
-
session: {
|
|
1989
|
-
...props.session,
|
|
1990
|
-
eyebrow: props.session.eyebrow ?? "Agent Session",
|
|
1991
|
-
title: props.session.title ?? /* @__PURE__ */ jsxs("span", {
|
|
1992
|
-
className: "inline-flex items-center gap-2",
|
|
1993
|
-
children: [/* @__PURE__ */ jsx(Bot, { className: "h-4 w-4 text-primary" }), "Execution timeline"]
|
|
1994
|
-
})
|
|
1995
|
-
}
|
|
1996
|
-
});
|
|
1997
|
-
}
|
|
1998
|
-
//#endregion
|
|
1999
|
-
//#region src/workspace/audit-results.tsx
|
|
2000
|
-
/**
|
|
2001
|
-
* AuditResults — structured pass/fail display for form audits.
|
|
2002
|
-
*/
|
|
2003
|
-
function AuditResults({ forms, crossFormChecks = [], overallScore, className }) {
|
|
2004
|
-
const totalPassed = forms.reduce((s, f) => s + f.passed, 0);
|
|
2005
|
-
const totalChecks = forms.reduce((s, f) => s + f.passed + f.failed, 0);
|
|
2006
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
2007
|
-
className: cn$1("space-y-3 p-3", className),
|
|
2008
|
-
children: [
|
|
2009
|
-
/* @__PURE__ */ jsxs("div", {
|
|
2010
|
-
className: "flex items-center gap-3 px-3 py-2 rounded-[var(--radius-md)] bg-surface-container-high border border-[var(--md3-outline-variant)]",
|
|
2011
|
-
children: [/* @__PURE__ */ jsx(Shield, { className: cn$1("h-5 w-5", totalChecks === totalPassed ? "text-[var(--code-success)]" : "text-[var(--code-number)]") }), /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("div", {
|
|
2012
|
-
className: "text-sm font-semibold text-foreground",
|
|
2013
|
-
children: [
|
|
2014
|
-
totalPassed,
|
|
2015
|
-
"/",
|
|
2016
|
-
totalChecks,
|
|
2017
|
-
" checks passed"
|
|
2018
|
-
]
|
|
2019
|
-
}), overallScore !== void 0 && /* @__PURE__ */ jsxs("div", {
|
|
2020
|
-
className: "text-xs text-muted-foreground",
|
|
2021
|
-
children: [
|
|
2022
|
-
"Score: ",
|
|
2023
|
-
overallScore,
|
|
2024
|
-
"/100"
|
|
2025
|
-
]
|
|
2026
|
-
})] })]
|
|
2027
|
-
}),
|
|
2028
|
-
forms.map((form) => /* @__PURE__ */ jsx(FormAuditCard, { form }, form.formId)),
|
|
2029
|
-
crossFormChecks.length > 0 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
2030
|
-
className: "text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1",
|
|
2031
|
-
children: "Cross-Form Checks"
|
|
2032
|
-
}), crossFormChecks.map((check, i) => /* @__PURE__ */ jsx(CheckRow, { check }, i))] })
|
|
2033
|
-
]
|
|
2034
|
-
});
|
|
2035
|
-
}
|
|
2036
|
-
function FormAuditCard({ form }) {
|
|
2037
|
-
const [expanded, setExpanded] = useState(form.failed > 0);
|
|
2038
|
-
const allPassed = form.failed === 0 && form.found;
|
|
2039
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
2040
|
-
className: "rounded-[var(--radius-md)] border border-[var(--md3-outline-variant)] bg-surface-container-high overflow-hidden",
|
|
2041
|
-
children: [/* @__PURE__ */ jsxs("button", {
|
|
2042
|
-
onClick: () => setExpanded(!expanded),
|
|
2043
|
-
className: "flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-accent transition-colors",
|
|
2044
|
-
children: [
|
|
2045
|
-
allPassed ? /* @__PURE__ */ jsx(CheckCircle, { className: "h-4 w-4 text-[var(--code-success)] shrink-0" }) : !form.found ? /* @__PURE__ */ jsx(XCircle, { className: "h-4 w-4 text-[var(--code-error)] shrink-0" }) : /* @__PURE__ */ jsx(XCircle, { className: "h-4 w-4 text-[var(--code-number)] shrink-0" }),
|
|
2046
|
-
/* @__PURE__ */ jsx("span", {
|
|
2047
|
-
className: "text-sm font-medium text-foreground flex-1",
|
|
2048
|
-
children: form.formName || form.formId
|
|
2049
|
-
}),
|
|
2050
|
-
/* @__PURE__ */ jsxs("span", {
|
|
2051
|
-
className: cn$1("text-xs tabular-nums", allPassed ? "text-[var(--code-success)]" : "text-muted-foreground"),
|
|
2052
|
-
children: [
|
|
2053
|
-
form.passed,
|
|
2054
|
-
"/",
|
|
2055
|
-
form.passed + form.failed
|
|
2056
|
-
]
|
|
2057
|
-
}),
|
|
2058
|
-
/* @__PURE__ */ jsx(ChevronRight, { className: cn$1("h-3 w-3 text-muted-foreground transition-transform", expanded && "rotate-90") })
|
|
2059
|
-
]
|
|
2060
|
-
}), expanded && /* @__PURE__ */ jsx("div", {
|
|
2061
|
-
className: "border-t border-[var(--md3-outline-variant)] px-3 py-1.5 space-y-0.5",
|
|
2062
|
-
children: form.checks.map((check, i) => /* @__PURE__ */ jsx(CheckRow, { check }, i))
|
|
2063
|
-
})]
|
|
2064
|
-
});
|
|
2065
|
-
}
|
|
2066
|
-
function CheckRow({ check }) {
|
|
2067
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
2068
|
-
className: "flex items-center gap-2 py-1 text-xs",
|
|
2069
|
-
children: [
|
|
2070
|
-
check.passed ? /* @__PURE__ */ jsx(CheckCircle, { className: "h-3 w-3 text-[var(--code-success)] shrink-0" }) : /* @__PURE__ */ jsx(XCircle, { className: "h-3 w-3 text-[var(--code-error)] shrink-0" }),
|
|
2071
|
-
/* @__PURE__ */ jsx("span", {
|
|
2072
|
-
className: "text-foreground flex-1 truncate",
|
|
2073
|
-
children: check.label
|
|
2074
|
-
}),
|
|
2075
|
-
/* @__PURE__ */ jsx("span", {
|
|
2076
|
-
className: "text-muted-foreground tabular-nums shrink-0",
|
|
2077
|
-
children: check.passed ? String(check.actual ?? check.expected) : `${check.actual ?? "missing"} ≠ ${check.expected}`
|
|
2078
|
-
})
|
|
2079
|
-
]
|
|
2080
|
-
});
|
|
2081
|
-
}
|
|
2082
1891
|
//#endregion
|
|
2083
1892
|
//#region src/workspace/task-board.tsx
|
|
2084
1893
|
const INTERACTIVE_SELECTOR = "button, a, input, textarea, select, [role=\"button\"], [role=\"link\"]";
|
|
@@ -2698,4 +2507,4 @@ function WorkspaceFilesPane({ root, paths, onSelect, preview, onBack, emptyState
|
|
|
2698
2507
|
});
|
|
2699
2508
|
}
|
|
2700
2509
|
//#endregion
|
|
2701
|
-
export {
|
|
2510
|
+
export { StatusBar as _, TaskBoard as a, WorkspaceLayout as b, createShellShouldRevalidate as c, SESSION_CREATED_EVENT as d, dispatchSessionCreated as f, TerminalPanel as g, RuntimePane as h, CalendarView as i, shellShouldRevalidate as l, formatRelativeAge as m, WorkspaceFilesPane as n, SandboxWorkbench as o, useOptimisticSessionItems as p, ApprovalQueue as r, WorkspaceArtifactView as s, ArtifactPane$1 as t, SessionSidebar as u, StatusBanner as v, DirectoryPane as y };
|
package/dist/workspace.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as
|
|
2
|
-
export {
|
|
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, a as WorkspaceFilesPane, at as DirectoryPaneProps, b as SandboxWorkbenchArtifact, c as ApprovalConfidenceStat, ct as WorkspaceLayout, d as ApprovalQueueProps, et as StatusBarProps, f as CalendarEvent, g as TaskBoardColumn, h as TaskBoard, i as WorkspaceArtifactViewProps, it as DirectoryPane, j as shellShouldRevalidate, k as ShellShouldRevalidateOptions, l as ApprovalItem, lt as WorkspaceLayoutProps, m as CalendarViewProps, n as ArtifactPaneProps, nt as StatusBanner, o as WorkspaceFilesPaneProps, ot as WorkspacePaneHeader, p as CalendarView, q as RuntimePane, r as WorkspaceArtifactView, rt as StatusBannerProps, s as WorkspaceFilesPreview, st as WorkspacePaneHeaderProps, t as ArtifactPane, tt as BannerType, u as ApprovalQueue, v as TaskBoardProps, w as SandboxWorkbenchMarkdownArtifact, x as SandboxWorkbenchCustomArtifact, y as SandboxWorkbench, z as SessionSidebarProps } from "./index-Bww3rzEG.js";
|
|
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, 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, type ShellShouldRevalidateArgs, type ShellShouldRevalidateOptions, StatusBanner, type StatusBannerProps, StatusBar, type StatusBarProps, TaskBoard, type TaskBoardColumn, type TaskBoardItem, type TaskBoardProps, type TerminalLine, TerminalPanel, type TerminalProps, type UseOptimisticSessionItemsOptions, WorkspaceArtifactView, type WorkspaceArtifactViewProps, WorkspaceFilesPane, type WorkspaceFilesPaneProps, type WorkspaceFilesPreview, WorkspaceLayout, type WorkspaceLayoutProps, WorkspacePaneHeader, type WorkspacePaneHeaderProps, createShellShouldRevalidate, dispatchSessionCreated, formatRelativeAge, shellShouldRevalidate, useOptimisticSessionItems };
|
package/dist/workspace.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { t as WorkspacePaneHeader } from "./workspace-pane-header-Bg1cCcHX.js";
|
|
2
|
-
import {
|
|
3
|
-
export {
|
|
2
|
+
import { _ as StatusBar, a as TaskBoard, b as WorkspaceLayout, c as createShellShouldRevalidate, d as SESSION_CREATED_EVENT, f as dispatchSessionCreated, g as TerminalPanel, h as RuntimePane, i as CalendarView, l as shellShouldRevalidate, m as formatRelativeAge, n as WorkspaceFilesPane, o as SandboxWorkbench, p as useOptimisticSessionItems, r as ApprovalQueue, s as WorkspaceArtifactView, t as ArtifactPane, u as SessionSidebar, v as StatusBanner, y as DirectoryPane } from "./workspace-C68fk9qa.js";
|
|
3
|
+
export { ApprovalQueue, ArtifactPane, CalendarView, DirectoryPane, RuntimePane, SESSION_CREATED_EVENT, SandboxWorkbench, SessionSidebar, StatusBanner, StatusBar, TaskBoard, TerminalPanel, WorkspaceArtifactView, WorkspaceFilesPane, WorkspaceLayout, WorkspacePaneHeader, createShellShouldRevalidate, dispatchSessionCreated, formatRelativeAge, shellShouldRevalidate, useOptimisticSessionItems };
|
package/package.json
CHANGED