@tangle-network/sandbox-ui 0.137.1 → 0.138.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{WorkflowGraph-BcuJ0kgt.js → WorkflowGraph-DXmu60At.js} +4 -7
- package/dist/assets.d.ts +0 -18
- package/dist/assets.js +9 -17
- package/dist/{auth-CWe17Hly.js → auth-BDpoZ_2f.js} +1 -2
- package/dist/auth.d.ts +1 -1
- package/dist/auth.js +1 -2
- package/dist/{chat-_aHUfqtH.js → chat-BYTVLZQW.js} +9 -15
- package/dist/chat.d.ts +1 -1
- package/dist/chat.js +1 -2
- package/dist/{connections-C5DxYxvz.js → connections-DymjzHe_.js} +1 -2
- package/dist/connections.d.ts +1 -1
- package/dist/connections.js +1 -2
- package/dist/connectors.d.ts +0 -10
- package/dist/connectors.js +5 -9
- package/dist/{dashboard-SFakZEtu.js → dashboard-ClKA3opr.js} +31 -55
- package/dist/dashboard.d.ts +3 -3
- package/dist/dashboard.js +3 -3
- package/dist/diff-view-A0O0Z_SR.js +287 -0
- package/dist/diff-view-DDHWtR6X.d.ts +21 -0
- package/dist/editor.js +1 -2
- package/dist/{embedded-app-view-CYb9hevq.js → embedded-app-view-DXsoPale.js} +5 -8
- package/dist/{embedded-app-view-B_vMTtJn.d.ts → embedded-app-view-Ta5GI4hx.d.ts} +0 -4
- package/dist/files.js +1 -2
- package/dist/globals.css +43 -0
- package/dist/hooks.d.ts +3 -7
- package/dist/hooks.js +4 -6
- package/dist/{index-DsU8ts9f.d.ts → index-BAEvGqrn.d.ts} +0 -4
- package/dist/{index-DvmZLMT1.d.ts → index-BbfWVtZq.d.ts} +0 -2
- package/dist/index-C5h5T0nb.d.ts +91 -0
- package/dist/{index-ByzdHyte.d.ts → index-CvtEhIpk.d.ts} +25 -52
- package/dist/{index-ClRHbsoX.d.ts → index-DLX35YAa.d.ts} +0 -2
- package/dist/{index-AVDzT8Jw.d.ts → index-DRDtTgb0.d.ts} +2 -54
- package/dist/{index-C61CTrhx.d.ts → index-F42BOxUM.d.ts} +15 -37
- package/dist/{index-QBCEflyf.d.ts → index-ucJHuuVZ.d.ts} +2 -8
- package/dist/{index-DGil6iqm.d.ts → index-y2OPUSoY.d.ts} +0 -4
- package/dist/index.d.ts +17 -16
- package/dist/index.js +24 -20
- package/dist/integrations.d.ts +0 -14
- package/dist/integrations.js +6 -11
- package/dist/markdown.js +1 -2
- package/dist/{model-brand-B57CV8Lg.d.ts → model-brand-ZwVS49Fq.d.ts} +0 -2
- package/dist/{model-brand-BSr9on8C.js → model-brand-bTcMjQtB.js} +34 -67
- package/dist/{motion-D4njYpys.js → motion-Bn7ESHrj.js} +1 -2
- package/dist/{node-output-fuk0NV0V.js → node-output-udnwhShN.js} +9 -16
- package/dist/openui.js +1 -2
- package/dist/{page-layout-2IRtfx51.js → page-layout-CuOpvZys.js} +5 -9
- package/dist/pages.d.ts +2 -14
- package/dist/pages.js +9 -15
- package/dist/{primitives-CLOVnjWz.js → primitives-CiwDp4-0.js} +4 -7
- package/dist/primitives.d.ts +1 -1
- package/dist/primitives.js +1 -2
- package/dist/{provider-logo-BGCziCbM.js → provider-logo-CPKRPHcS.js} +1 -2
- package/dist/{rolldown-runtime-BBjsoOtd.js → rolldown-runtime-782esTHO.js} +1 -2
- package/dist/run-CliTxkfw.js +397 -0
- package/dist/run.d.ts +2 -2
- package/dist/run.js +1 -2
- package/dist/sdk-hooks.d.ts +1 -1
- package/dist/sdk-hooks.js +1 -1
- package/dist/{shell-header-CTh3oV_e.js → shell-header-CwqDzC4I.js} +2 -3
- package/dist/{sidecar-DgH_vQ6m.d.ts → sidecar-CNP4zXop.d.ts} +0 -2
- package/dist/stores.d.ts +0 -2
- package/dist/stores.js +1 -2
- package/dist/styles.css +43 -0
- package/dist/{terminal-X6r5pjgv.js → terminal-nUCznZRj.js} +3 -5
- package/dist/terminal.d.ts +1 -3
- package/dist/terminal.js +1 -2
- package/dist/{tree-data-DtoCNNBJ.js → tree-data-YXtcK6Ld.js} +2 -4
- package/dist/types.d.ts +1 -1
- package/dist/{usage-chart-BjM8ShvX.d.ts → usage-chart-BFpdkqNq.d.ts} +0 -6
- package/dist/{use-pty-session-B5Q_i9RI.js → use-pty-session-BHVQlSs-.js} +1 -2
- package/dist/{use-pty-session-DbAYO5uH.d.ts → use-pty-session-DSgtQyYX.d.ts} +0 -2
- package/dist/{use-sidecar-auth-CCTJcrq7.d.ts → use-sidecar-auth-CPevSSEj.d.ts} +0 -4
- package/dist/{use-sidecar-auth-DkdcufOz.js → use-sidecar-auth-DpG0aWQ3.js} +3 -6
- package/dist/utils-BER_bdgE.js +1 -0
- package/dist/utils.js +1 -2
- package/dist/vault-tree.d.ts +1 -1
- package/dist/vault-tree.js +1 -2
- package/dist/workbench/diff.d.ts +2 -0
- package/dist/workbench/diff.js +1 -0
- package/dist/workbench/embedded-app.d.ts +1 -1
- package/dist/workbench/embedded-app.js +1 -2
- package/dist/workbench-B3JL1qbt.js +892 -0
- package/dist/workbench.d.ts +4 -3
- package/dist/workbench.js +4 -3
- package/dist/workflows.d.ts +1 -13
- package/dist/workflows.js +4 -5
- package/dist/{workspace-cjk0axyT.js → workspace-DRhi6S3o.js} +325 -141
- package/dist/workspace.d.ts +1 -1
- package/dist/workspace.js +2 -2
- package/package.json +36 -28
- package/dist/utils-DzWbktWG.js +0 -2
- package/dist/workbench-DPZ6LXqf.js +0 -8136
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { t as cn$1 } from "./utils-
|
|
2
|
-
import { r as ShellHeader } from "./shell-header-
|
|
1
|
+
import { t as cn$1 } from "./utils-BER_bdgE.js";
|
|
2
|
+
import { r as ShellHeader } from "./shell-header-CwqDzC4I.js";
|
|
3
3
|
import { Button } from "@tangle-network/ui/primitives";
|
|
4
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
import * as React$1 from "react";
|
|
6
6
|
import { ExternalLink, RotateCw } from "lucide-react";
|
|
7
7
|
import { focusField } from "@tangle-network/ui/utils";
|
|
8
|
-
|
|
8
|
+
// src/workbench/preview-policy.ts
|
|
9
9
|
/** Only an actual verified HTTP outcome can establish application readiness. */
|
|
10
10
|
function previewReadinessLabel(readiness) {
|
|
11
11
|
if (readiness?.state === "checking") return "Checking application readiness";
|
|
@@ -35,8 +35,7 @@ function safePreviewUrl(value, base, allowedOrigins) {
|
|
|
35
35
|
if (allowedOrigins && !allowedOrigins.includes(url.origin)) throw new Error("That origin is not approved for this sandbox preview.");
|
|
36
36
|
return url.href;
|
|
37
37
|
}
|
|
38
|
-
|
|
39
|
-
//#region src/workbench/preview-view.tsx
|
|
38
|
+
// src/workbench/preview-view.tsx
|
|
40
39
|
function PreviewView({ url, allowedOrigins, access, readiness, onCheckReadiness, onNavigate, variant = "browser", title = "Sandbox preview", toolbarActions, className }) {
|
|
41
40
|
const initial = React$1.useMemo(() => {
|
|
42
41
|
try {
|
|
@@ -274,8 +273,7 @@ function PreviewView({ url, allowedOrigins, access, readiness, onCheckReadiness,
|
|
|
274
273
|
]
|
|
275
274
|
});
|
|
276
275
|
}
|
|
277
|
-
|
|
278
|
-
//#region src/workbench/embedded-app-view.tsx
|
|
276
|
+
// src/workbench/embedded-app-view.tsx
|
|
279
277
|
/**
|
|
280
278
|
* An app-sized preview surface for a product workspace.
|
|
281
279
|
* The host owns app discovery, persistence, access policy, and readiness checks.
|
|
@@ -341,5 +339,4 @@ function EmbeddedAppView({ app, allowedOrigins, readiness, access, toolbarAction
|
|
|
341
339
|
})
|
|
342
340
|
});
|
|
343
341
|
}
|
|
344
|
-
//#endregion
|
|
345
342
|
export { PreviewView as n, EmbeddedAppView as t };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as React$1 from "react";
|
|
2
|
-
//#region src/workbench/preview-policy.d.ts
|
|
3
2
|
type PreviewReadiness = {
|
|
4
3
|
state: "unknown";
|
|
5
4
|
} | {
|
|
@@ -20,8 +19,6 @@ type PreviewAccess = {
|
|
|
20
19
|
source: "enforced-policy";
|
|
21
20
|
expiresAt?: string;
|
|
22
21
|
};
|
|
23
|
-
//#endregion
|
|
24
|
-
//#region src/workbench/embedded-app-view.d.ts
|
|
25
22
|
interface EmbeddedApp {
|
|
26
23
|
/** Stable app identity. The host uses it to preserve selection across updates. */
|
|
27
24
|
id: string;
|
|
@@ -51,5 +48,4 @@ interface EmbeddedAppViewProps {
|
|
|
51
48
|
* The host owns app discovery, persistence, access policy, and readiness checks.
|
|
52
49
|
*/
|
|
53
50
|
declare function EmbeddedAppView({ app, allowedOrigins, readiness, access, toolbarActions, onRetry, className }: EmbeddedAppViewProps): React$1.JSX.Element;
|
|
54
|
-
//#endregion
|
|
55
51
|
export { PreviewReadiness as a, PreviewAccess as i, EmbeddedAppView as n, EmbeddedAppViewProps as r, EmbeddedApp as t };
|
package/dist/files.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { CSV_PREVIEW_ROW_LIMIT, FileArtifactPane, FileCard, FileList, FilePreview, FileTabs, FileTree, PdfViewer, RichFileTree, configurePdfViewer, detectFileFormat, fileExtension, filterFileTree, getCodeLanguage, getFormatLabel, getSyntaxLanguage, parseCsv, resolveFilePreviewKind };
|
|
1
|
+
export { CSV_PREVIEW_ROW_LIMIT, FileArtifactPane, FileCard, FileList, FilePreview, FileTabs, FileTree, PdfViewer, RichFileTree, configurePdfViewer, detectFileFormat, fileExtension, filterFileTree, getCodeLanguage, getFormatLabel, getSyntaxLanguage, parseCsv, resolveFilePreviewKind } from "@tangle-network/ui/files";
|
package/dist/globals.css
CHANGED
|
@@ -397,6 +397,9 @@
|
|
|
397
397
|
.bottom-2 {
|
|
398
398
|
bottom: calc(var(--spacing) * 2);
|
|
399
399
|
}
|
|
400
|
+
.bottom-3 {
|
|
401
|
+
bottom: calc(var(--spacing) * 3);
|
|
402
|
+
}
|
|
400
403
|
.bottom-4 {
|
|
401
404
|
bottom: calc(var(--spacing) * 4);
|
|
402
405
|
}
|
|
@@ -958,6 +961,9 @@
|
|
|
958
961
|
.h-\[36rem\] {
|
|
959
962
|
height: 36rem;
|
|
960
963
|
}
|
|
964
|
+
.h-\[70vh\] {
|
|
965
|
+
height: 70vh;
|
|
966
|
+
}
|
|
961
967
|
.h-\[72\%\] {
|
|
962
968
|
height: 72%;
|
|
963
969
|
}
|
|
@@ -1171,6 +1177,9 @@
|
|
|
1171
1177
|
.min-h-\[66px\] {
|
|
1172
1178
|
min-height: 66px;
|
|
1173
1179
|
}
|
|
1180
|
+
.min-h-\[70vh\] {
|
|
1181
|
+
min-height: 70vh;
|
|
1182
|
+
}
|
|
1174
1183
|
.min-h-\[72px\] {
|
|
1175
1184
|
min-height: 72px;
|
|
1176
1185
|
}
|
|
@@ -1465,6 +1474,9 @@
|
|
|
1465
1474
|
.max-w-40 {
|
|
1466
1475
|
max-width: calc(var(--spacing) * 40);
|
|
1467
1476
|
}
|
|
1477
|
+
.max-w-48 {
|
|
1478
|
+
max-width: calc(var(--spacing) * 48);
|
|
1479
|
+
}
|
|
1468
1480
|
.max-w-72 {
|
|
1469
1481
|
max-width: calc(var(--spacing) * 72);
|
|
1470
1482
|
}
|
|
@@ -2103,6 +2115,9 @@
|
|
|
2103
2115
|
.self-start {
|
|
2104
2116
|
align-self: flex-start;
|
|
2105
2117
|
}
|
|
2118
|
+
.self-stretch {
|
|
2119
|
+
align-self: stretch;
|
|
2120
|
+
}
|
|
2106
2121
|
.justify-self-start {
|
|
2107
2122
|
justify-self: flex-start;
|
|
2108
2123
|
}
|
|
@@ -2274,6 +2289,10 @@
|
|
|
2274
2289
|
border-bottom-style: var(--tw-border-style);
|
|
2275
2290
|
border-bottom-width: 1px;
|
|
2276
2291
|
}
|
|
2292
|
+
.border-b-0 {
|
|
2293
|
+
border-bottom-style: var(--tw-border-style);
|
|
2294
|
+
border-bottom-width: 0px;
|
|
2295
|
+
}
|
|
2277
2296
|
.border-b-2 {
|
|
2278
2297
|
border-bottom-style: var(--tw-border-style);
|
|
2279
2298
|
border-bottom-width: 2px;
|
|
@@ -2709,6 +2728,9 @@
|
|
|
2709
2728
|
.bg-\[var\(--status-running\)\] {
|
|
2710
2729
|
background-color: var(--status-running);
|
|
2711
2730
|
}
|
|
2731
|
+
.bg-\[var\(--status-running\,\#34c48c\)\] {
|
|
2732
|
+
background-color: var(--status-running,#34c48c);
|
|
2733
|
+
}
|
|
2712
2734
|
.bg-\[var\(--surface-danger-bg\)\] {
|
|
2713
2735
|
background-color: var(--surface-danger-bg);
|
|
2714
2736
|
}
|
|
@@ -2940,6 +2962,12 @@
|
|
|
2940
2962
|
background-color: color-mix(in oklab, hsl(var(--muted-foreground)) 40%, transparent);
|
|
2941
2963
|
}
|
|
2942
2964
|
}
|
|
2965
|
+
.bg-muted-foreground\/50 {
|
|
2966
|
+
background-color: hsl(var(--muted-foreground));
|
|
2967
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2968
|
+
background-color: color-mix(in oklab, hsl(var(--muted-foreground)) 50%, transparent);
|
|
2969
|
+
}
|
|
2970
|
+
}
|
|
2943
2971
|
.bg-muted\/10 {
|
|
2944
2972
|
background-color: hsl(var(--muted));
|
|
2945
2973
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -4432,6 +4460,9 @@
|
|
|
4432
4460
|
--tw-translate-x: calc(var(--spacing) * 0.5);
|
|
4433
4461
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
4434
4462
|
}
|
|
4463
|
+
.group-hover\:bg-primary:is(:where(.group):hover *) {
|
|
4464
|
+
background-color: hsl(var(--primary));
|
|
4465
|
+
}
|
|
4435
4466
|
.group-hover\:bg-primary\/20:is(:where(.group):hover *) {
|
|
4436
4467
|
background-color: hsl(var(--primary));
|
|
4437
4468
|
}
|
|
@@ -4467,6 +4498,9 @@
|
|
|
4467
4498
|
opacity: 100%;
|
|
4468
4499
|
}
|
|
4469
4500
|
}
|
|
4501
|
+
.group-focus-visible\:bg-primary:is(:where(.group):focus-visible *) {
|
|
4502
|
+
background-color: hsl(var(--primary));
|
|
4503
|
+
}
|
|
4470
4504
|
.group-focus-visible\:bg-primary\/30:is(:where(.group):focus-visible *) {
|
|
4471
4505
|
background-color: hsl(var(--primary));
|
|
4472
4506
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -4600,6 +4634,9 @@
|
|
|
4600
4634
|
border-color: color-mix(in oklab, hsl(var(--accent)) 50%, transparent);
|
|
4601
4635
|
}
|
|
4602
4636
|
}
|
|
4637
|
+
.hover\:border-border:hover {
|
|
4638
|
+
border-color: hsl(var(--border));
|
|
4639
|
+
}
|
|
4603
4640
|
.hover\:border-destructive\/30:hover {
|
|
4604
4641
|
border-color: hsl(var(--destructive));
|
|
4605
4642
|
}
|
|
@@ -5111,6 +5148,9 @@
|
|
|
5111
5148
|
.focus-visible\:text-foreground:focus-visible {
|
|
5112
5149
|
color: hsl(var(--foreground));
|
|
5113
5150
|
}
|
|
5151
|
+
.focus-visible\:underline:focus-visible {
|
|
5152
|
+
text-decoration-line: underline;
|
|
5153
|
+
}
|
|
5114
5154
|
.focus-visible\:opacity-100:focus-visible {
|
|
5115
5155
|
opacity: 100%;
|
|
5116
5156
|
}
|
|
@@ -6149,6 +6189,9 @@
|
|
|
6149
6189
|
.\[\&\:not\(\:first-child\)\]\:pt-3:not(:first-child) {
|
|
6150
6190
|
padding-top: calc(var(--spacing) * 3);
|
|
6151
6191
|
}
|
|
6192
|
+
.\[\&\>\*\]\:min-h-full > * {
|
|
6193
|
+
min-height: 100%;
|
|
6194
|
+
}
|
|
6152
6195
|
.\[\&\>\*\]\:max-w-full > * {
|
|
6153
6196
|
max-width: 100%;
|
|
6154
6197
|
}
|
package/dist/hooks.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { n as UsePtySessionReturn, r as usePtySession, t as UsePtySessionOptions } from "./use-pty-session-
|
|
2
|
-
import { t as Session } from "./sidecar-
|
|
3
|
-
import { a as SendMessageOptions, c as SessionStreamError, d as useSessionStream, i as SESSION_STREAM_RECONNECT_DELAY_MS, l as UseSessionStreamOptions, n as UseSidecarAuthOptions, o as SessionDegradation, r as useSidecarAuth, s as SessionInfo, t as SidecarAuth, u as UseSessionStreamResult } from "./use-sidecar-auth-
|
|
1
|
+
import { n as UsePtySessionReturn, r as usePtySession, t as UsePtySessionOptions } from "./use-pty-session-DSgtQyYX.js";
|
|
2
|
+
import { t as Session } from "./sidecar-CNP4zXop.js";
|
|
3
|
+
import { a as SendMessageOptions, c as SessionStreamError, d as useSessionStream, i as SESSION_STREAM_RECONNECT_DELAY_MS, l as UseSessionStreamOptions, n as UseSidecarAuthOptions, o as SessionDegradation, r as useSidecarAuth, s as SessionInfo, t as SidecarAuth, u as UseSessionStreamResult } from "./use-sidecar-auth-CPevSSEj.js";
|
|
4
4
|
import { AgentStreamEvent, AppendUserMessageOptions, ApplySdkEventOptions, AuthUser, AutomationStreamEvent, BeginAssistantMessageOptions, BotStreamEvent, CompleteAssistantMessageOptions, ConnectionState, RealtimeSessionOptions, RealtimeSessionRegistry, RealtimeSessionRegistryProps, RealtimeSessionState, RealtimeSessionTarget, SSEEvent, SdkSessionAttachment, SdkSessionEvent, SdkSessionSeed, TaskStreamEvent, TerminalStreamEvent, UseAuthOptions, UseAuthResult, UseRunGroupsOptions, UseSSEStreamOptions, UseSSEStreamResult, UseSdkSessionOptions, UseSdkSessionReturn, UseToolCallStreamReturn, createAuthFetcher, useApiKey, useAuth, useAutoScroll, useDropdownMenu, useLiveTime, useRealtimeSession, useRunCollapseState, useRunGroups, useSSEStream, useSdkSession, useToolCallStream } from "@tangle-network/ui/hooks";
|
|
5
|
-
//#region src/hooks/use-sandbox-metrics.d.ts
|
|
6
5
|
/**
|
|
7
6
|
* Sandbox-level telemetry collected by the sidecar from cgroup v2
|
|
8
7
|
* (Docker) or /proc (Firecracker guest). `cpuPercent` is computed
|
|
@@ -128,8 +127,6 @@ export interface UseSandboxMetricsResult {
|
|
|
128
127
|
* by the sandbox overview dashboard to drive live CPU/memory panels.
|
|
129
128
|
*/
|
|
130
129
|
export declare function useSandboxMetrics({ apiBaseUrl, sandboxId, token, enabled, intervalMs, historyLimit }: UseSandboxMetricsOptions): UseSandboxMetricsResult;
|
|
131
|
-
//#endregion
|
|
132
|
-
//#region src/hooks/use-session-crud.d.ts
|
|
133
130
|
/** List all sessions for a sidecar. */
|
|
134
131
|
export declare function useSessions(apiUrl: string, token: string | null): import("@tanstack/react-query").UseQueryResult<Session[], Error>;
|
|
135
132
|
/** Create a new session. */
|
|
@@ -141,5 +138,4 @@ export declare function useRenameSession(apiUrl: string, token: string | null):
|
|
|
141
138
|
sessionId: string;
|
|
142
139
|
title: string;
|
|
143
140
|
}, unknown>;
|
|
144
|
-
//#endregion
|
|
145
141
|
export { type AgentStreamEvent, type AppendUserMessageOptions, type ApplySdkEventOptions, type AuthUser, type AutomationStreamEvent, type BeginAssistantMessageOptions, type BotStreamEvent, type CompleteAssistantMessageOptions, type ConnectionState, type RealtimeSessionOptions, RealtimeSessionRegistry, type RealtimeSessionRegistryProps, type RealtimeSessionState, type RealtimeSessionTarget, SESSION_STREAM_RECONNECT_DELAY_MS, type SSEEvent, type SdkSessionAttachment, type SdkSessionEvent, type SdkSessionSeed, SendMessageOptions, SessionDegradation, SessionInfo, SessionStreamError, SidecarAuth, type TaskStreamEvent, type TerminalStreamEvent, type UseAuthOptions, type UseAuthResult, UsePtySessionOptions, UsePtySessionReturn, type UseRunGroupsOptions, type UseSSEStreamOptions, type UseSSEStreamResult, type UseSdkSessionOptions, type UseSdkSessionReturn, UseSessionStreamOptions, UseSessionStreamResult, UseSidecarAuthOptions, type UseToolCallStreamReturn, createAuthFetcher, useApiKey, useAuth, useAutoScroll, useDropdownMenu, useLiveTime, usePtySession, useRealtimeSession, useRunCollapseState, useRunGroups, useSSEStream, useSdkSession, useSessionStream, useSidecarAuth, useToolCallStream };
|
package/dist/hooks.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { t as usePtySession } from "./use-pty-session-
|
|
2
|
-
import { i as useSessionStream, n as SESSION_STREAM_RECONNECT_DELAY_MS, r as SessionStreamError, t as useSidecarAuth } from "./use-sidecar-auth-
|
|
1
|
+
import { t as usePtySession } from "./use-pty-session-BHVQlSs-.js";
|
|
2
|
+
import { i as useSessionStream, n as SESSION_STREAM_RECONNECT_DELAY_MS, r as SessionStreamError, t as useSidecarAuth } from "./use-sidecar-auth-DpG0aWQ3.js";
|
|
3
3
|
import * as React$1 from "react";
|
|
4
4
|
import { RealtimeSessionRegistry, createAuthFetcher, useApiKey, useAuth, useAutoScroll, useDropdownMenu, useLiveTime, useRealtimeSession, useRunCollapseState, useRunGroups, useSSEStream, useSdkSession, useToolCallStream } from "@tangle-network/ui/hooks";
|
|
5
5
|
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
|
6
|
-
|
|
6
|
+
// src/hooks/use-sandbox-metrics.ts
|
|
7
7
|
const METRICS_REQUEST_TIMEOUT_MS = 15e3;
|
|
8
8
|
/**
|
|
9
9
|
* Polls the sandbox's sidecar metrics through the API proxy and
|
|
@@ -144,8 +144,7 @@ function useSandboxMetrics({ apiBaseUrl, sandboxId, token, enabled = true, inter
|
|
|
144
144
|
lastUpdatedAt
|
|
145
145
|
};
|
|
146
146
|
}
|
|
147
|
-
|
|
148
|
-
//#region src/hooks/use-session-crud.ts
|
|
147
|
+
// src/hooks/use-session-crud.ts
|
|
149
148
|
async function sessionFetch(apiUrl, token, path, opts) {
|
|
150
149
|
const res = await fetch(`${apiUrl}${path}`, {
|
|
151
150
|
...opts,
|
|
@@ -231,5 +230,4 @@ function useRenameSession(apiUrl, token) {
|
|
|
231
230
|
}
|
|
232
231
|
});
|
|
233
232
|
}
|
|
234
|
-
//#endregion
|
|
235
233
|
export { RealtimeSessionRegistry, SESSION_STREAM_RECONNECT_DELAY_MS, SessionStreamError, createAuthFetcher, useApiKey, useAuth, useAutoScroll, useCreateSession, useDeleteSession, useDropdownMenu, useLiveTime, usePtySession, useRealtimeSession, useRenameSession, useRunCollapseState, useRunGroups, useSSEStream, useSandboxMetrics, useSdkSession, useSessionStream, useSessions, useSidecarAuth, useToolCallStream };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { HeadingVariant, PageHeaderProps } from "@tangle-network/ui/primitives";
|
|
2
2
|
import { TangleKnot as TangleKnot$1 } from "@tangle-network/brand";
|
|
3
3
|
import { ElementType, HTMLAttributes, ReactNode } from "react";
|
|
4
|
-
//#region src/primitives/logo.d.ts
|
|
5
4
|
interface LogoProps {
|
|
6
5
|
variant?: "sandbox";
|
|
7
6
|
size?: "sm" | "md" | "lg" | "xl";
|
|
@@ -13,8 +12,6 @@ declare function Logo$1({ variant, size, className, iconOnly }: LogoProps): impo
|
|
|
13
12
|
declare namespace Logo$1 {
|
|
14
13
|
var displayName: string;
|
|
15
14
|
}
|
|
16
|
-
//#endregion
|
|
17
|
-
//#region src/primitives/heading.d.ts
|
|
18
15
|
/** Preserve the existing public type's required visual role and children.
|
|
19
16
|
* The binding above remains UI's object, without a local render function.
|
|
20
17
|
*/
|
|
@@ -26,5 +23,4 @@ interface HeadingProps extends Omit<HTMLAttributes<HTMLElement>, "role"> {
|
|
|
26
23
|
type SectionTitleProps = Pick<PageHeaderProps, "title" | "description" | "action" | "className">;
|
|
27
24
|
/** Compatibility name for the canonical nested (h2) page header. */
|
|
28
25
|
declare function SectionTitle(props: SectionTitleProps): import("react").JSX.Element;
|
|
29
|
-
//#endregion
|
|
30
26
|
export { LogoProps as a, Logo$1 as i, SectionTitle as n, TangleKnot$1 as o, SectionTitleProps as r, HeadingProps as t };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ButtonProps } from "@tangle-network/ui/primitives";
|
|
2
2
|
import * as React$1 from "react";
|
|
3
3
|
import { AuthHeader, AuthHeaderProps, GitHubLoginButton, GitHubLoginButtonProps, LoginLayout, LoginLayoutProps, SessionUser, UserMenu, UserMenuProps } from "@tangle-network/ui/auth";
|
|
4
|
-
//#region src/auth/tangle-login-button.d.ts
|
|
5
4
|
interface TangleLoginButtonProps extends Omit<ButtonProps, "onClick"> {
|
|
6
5
|
/**
|
|
7
6
|
* Consumer-app endpoint that starts the cross-site SSO flow. The
|
|
@@ -26,5 +25,4 @@ interface TangleLoginButtonProps extends Omit<ButtonProps, "onClick"> {
|
|
|
26
25
|
* server owns the platform URL construction.
|
|
27
26
|
*/
|
|
28
27
|
declare function TangleLoginButton({ authUrl, variant, className, children, ...props }: TangleLoginButtonProps): React$1.JSX.Element;
|
|
29
|
-
//#endregion
|
|
30
28
|
export { LoginLayout as a, UserMenu as c, TangleLoginButtonProps as d, GitHubLoginButtonProps as i, UserMenuProps as l, AuthHeaderProps as n, LoginLayoutProps as o, GitHubLoginButton as r, SessionUser as s, AuthHeader as t, TangleLoginButton as u };
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { ApprovalCard, ApprovalCardProps, ApprovalDiffFile, ApprovalDiffSummary, ApprovalPlanStep, ExpandedToolDetail, ExpandedToolDetailProps, FeedSegment, InlineThinkingItem as InlineThinkingItem$1, InlineThinkingItemProps, InlineToolItem, InlineToolItemProps, LiveDuration, RunGroup, RunGroupProps, RunPhase, RunPhaseList, RunRowShell, RunRowShellProps, RunRowStatus, RunRowStatusDot, TaskList, TaskListItem, TaskListProps, TaskStatus, ToolCallData, ToolCallData as ToolCallData$1, ToolCallFeed, ToolCallFeedProps, ToolCallStatus, ToolCallType, parseToolEvent, showsTaskPriority, taskProgress, taskStatus } from "@tangle-network/ui/run";
|
|
3
|
+
import { FlowWaterfallProps } from "@tangle-network/charts/react";
|
|
4
|
+
import { FlowMarker, FlowSpan, FlowTrace } from "@tangle-network/charts";
|
|
5
|
+
/** Agent and model spans show their lab/host mark; tool spans show their provider's mark. Unknown keeps the kind glyph. */
|
|
6
|
+
declare function traceSpanMark(span: FlowSpan): ReactNode;
|
|
7
|
+
type TraceWaterfallProps = FlowWaterfallProps;
|
|
8
|
+
/**
|
|
9
|
+
* The run inspector: the agent timeline (`defaultView="agents"`) and the span waterfall over one clock, from
|
|
10
|
+
* `@tangle-network/charts`, with Sandbox UI's brand marks. Feed it `otlpFlowTrace(spans)` from the
|
|
11
|
+
* `traces convert` contract. Import `@tangle-network/charts/react/flow-waterfall.css` once.
|
|
12
|
+
*/
|
|
13
|
+
declare function TraceWaterfall({ renderIcon, ...props }: TraceWaterfallProps): import("react").JSX.Element;
|
|
14
|
+
/** A moment on the run's event track: a release, a check verdict, a spawn, a crash or a steer. */
|
|
15
|
+
interface TraceEvent extends FlowMarker {}
|
|
16
|
+
interface TraceWorkspaceProps extends Omit<TraceWaterfallProps, "trace" | "markers" | "onSelect" | "onTimeChange" | "selectedId" | "onDeselect"> {
|
|
17
|
+
trace: FlowTrace;
|
|
18
|
+
/** The selected agent's message stream (Server-Sent Events: rows, reset, end; reconnects with ?after=lastSeq). */
|
|
19
|
+
streamUrl?: (agentId: string) => string;
|
|
20
|
+
events?: TraceEvent[];
|
|
21
|
+
/** The time the reader moved to, in trace ms; null while following live or showing the whole run. */
|
|
22
|
+
onTimeChange?: (t: number | null) => void;
|
|
23
|
+
/**
|
|
24
|
+
* The code workspace as of the cursor and scoped to the selected agent, usually a WorkspaceFilesPane: the page answers
|
|
25
|
+
* the as-of query. It spans the full width and at least 70% of the viewport. Keep its key on the commit so a scrub
|
|
26
|
+
* keeps its state.
|
|
27
|
+
*/
|
|
28
|
+
files?: ReactNode;
|
|
29
|
+
/** The scoreboard as of the cursor, under the code workspace; omitted when not given. */
|
|
30
|
+
scoreboard?: ReactNode;
|
|
31
|
+
selectedAgentId?: string;
|
|
32
|
+
/** Called with the agent the reader selected, or undefined when they close its drawer or press Escape. */
|
|
33
|
+
onSelectAgent?: (agentId: string | undefined) => void;
|
|
34
|
+
className?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The run workspace: the agent timeline and span waterfall over one clock, the selected agent's conversation
|
|
38
|
+
* streaming in a right-hand drawer, and the page's code workspace and scoreboard following the time cursor. Scrubbing is time travel:
|
|
39
|
+
* every panel shows what was true at the cursor, and the conversation shows what had been said by then.
|
|
40
|
+
*/
|
|
41
|
+
declare function TraceWorkspace({ trace, streamUrl, events, onTimeChange, files, scoreboard, selectedAgentId, onSelectAgent, className, ...waterfall }: TraceWorkspaceProps): import("react").JSX.Element;
|
|
42
|
+
/** One row of an agent's message stream (tangle-tools `/api/discovery/runs/<run>/agents/<agent>/stream`). */
|
|
43
|
+
interface AgentStreamRow {
|
|
44
|
+
seq: number;
|
|
45
|
+
/** ISO time the event happened. */
|
|
46
|
+
at: string;
|
|
47
|
+
stream?: string;
|
|
48
|
+
attempt?: number;
|
|
49
|
+
event: {
|
|
50
|
+
kind: "text" | "reasoning" | "tool-call" | "tool-result" | "user" | (string & {});
|
|
51
|
+
text?: string;
|
|
52
|
+
toolCallId?: string;
|
|
53
|
+
toolName?: string;
|
|
54
|
+
args?: unknown;
|
|
55
|
+
result?: unknown;
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/** A transcript entry with the time it began, so a time cursor can show the conversation as of any moment. */
|
|
59
|
+
type AgentTranscriptEntry = {
|
|
60
|
+
id: string;
|
|
61
|
+
at: number;
|
|
62
|
+
kind: "message";
|
|
63
|
+
role: "assistant" | "user";
|
|
64
|
+
content: string;
|
|
65
|
+
} | {
|
|
66
|
+
id: string;
|
|
67
|
+
at: number;
|
|
68
|
+
kind: "reasoning";
|
|
69
|
+
text: string;
|
|
70
|
+
} | {
|
|
71
|
+
id: string;
|
|
72
|
+
at: number;
|
|
73
|
+
kind: "tool";
|
|
74
|
+
call: ToolCallData;
|
|
75
|
+
};
|
|
76
|
+
interface AgentStreamState {
|
|
77
|
+
generation?: string | number;
|
|
78
|
+
entries: AgentTranscriptEntry[];
|
|
79
|
+
lastSeq: number;
|
|
80
|
+
/** The agent is still producing output. */
|
|
81
|
+
alive: boolean;
|
|
82
|
+
error?: string;
|
|
83
|
+
}
|
|
84
|
+
/** Fold stream rows into transcript entries: text of one turn merges, a tool call becomes a row its result completes. */
|
|
85
|
+
declare function foldAgentRows(entries: AgentTranscriptEntry[], rows: readonly AgentStreamRow[]): AgentTranscriptEntry[];
|
|
86
|
+
/**
|
|
87
|
+
* Follow one agent's message stream over Server-Sent Events: `rows`, `reset` and `end` events, reconnecting with
|
|
88
|
+
* `?after=<lastSeq>` when the server closes the connection, so a long turn streams without gaps or repeats.
|
|
89
|
+
*/
|
|
90
|
+
declare function useAgentStream(url: string | undefined): AgentStreamState;
|
|
91
|
+
export { ToolCallType as A, TraceEvent as B, TaskListItem as C, ToolCallFeed as D, ToolCallData$1 as E, AgentStreamRow as F, traceSpanMark as G, TraceWorkspaceProps as H, AgentStreamState as I, AgentTranscriptEntry as L, showsTaskPriority as M, taskProgress as N, ToolCallFeedProps as O, taskStatus as P, foldAgentRows as R, TaskList as S, TaskStatus as T, TraceWaterfall as U, TraceWorkspace as V, TraceWaterfallProps as W, RunPhaseList as _, ApprovalPlanStep as a, RunRowStatus as b, FeedSegment as c, InlineToolItem as d, InlineToolItemProps as f, RunPhase as g, RunGroupProps as h, ApprovalDiffSummary as i, parseToolEvent as j, ToolCallStatus as k, InlineThinkingItem$1 as l, RunGroup as m, ApprovalCardProps as n, ExpandedToolDetail as o, LiveDuration as p, ApprovalDiffFile as r, ExpandedToolDetailProps as s, ApprovalCard as t, InlineThinkingItemProps as u, RunRowShell as v, TaskListProps as w, RunRowStatusDot as x, RunRowShellProps as y, useAgentStream as z };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { g as ExposedPort } from "./index-
|
|
1
|
+
import { g as ExposedPort } from "./index-DRDtTgb0.js";
|
|
2
2
|
import { D as RichFileTreeGitStatus, E as RichFileTreeGitEntry } from "./index-BoHOpP2_.js";
|
|
3
|
-
import
|
|
3
|
+
import "./diff-view-DDHWtR6X.js";
|
|
4
|
+
import { a as PreviewReadiness, i as PreviewAccess } from "./embedded-app-view-Ta5GI4hx.js";
|
|
4
5
|
import * as React$1 from "react";
|
|
5
6
|
import { CSSProperties } from "react";
|
|
6
|
-
//#region src/workbench/types.d.ts
|
|
7
7
|
/** Which surface the artifact pane is currently showing. */
|
|
8
8
|
type ArtifactView = "code" | "diff" | "preview" | "ports" | "terminal";
|
|
9
9
|
/**
|
|
@@ -114,8 +114,6 @@ interface ChangesPaneProps {
|
|
|
114
114
|
onOpenFile?: (path: string) => void;
|
|
115
115
|
className?: string;
|
|
116
116
|
}
|
|
117
|
-
//#endregion
|
|
118
|
-
//#region src/workbench/sandbox-artifact-pane.d.ts
|
|
119
117
|
/**
|
|
120
118
|
* Blueprint-grade artifact workbench. Composes the sandbox-ui substrate
|
|
121
119
|
* (`RichFileTree`, `PortsList`, `TerminalView`, `@pierre/diffs`) behind a
|
|
@@ -125,8 +123,6 @@ interface ChangesPaneProps {
|
|
|
125
123
|
* chrome never shows a dead surface.
|
|
126
124
|
*/
|
|
127
125
|
declare function SandboxArtifactPane({ artifact, paths, gitStatus, showTree, ports, previewUrl, terminal, activeView, defaultView, onViewChange, onFileSelect, onExposePort, onRemovePort, className, style }: SandboxArtifactPaneProps): React$1.JSX.Element;
|
|
128
|
-
//#endregion
|
|
129
|
-
//#region src/workbench/changes-pane.d.ts
|
|
130
126
|
/**
|
|
131
127
|
* The sandbox's git working tree as a review surface: every changed file with
|
|
132
128
|
* its line counts, the selected file's word-level diff beneath, and a commit
|
|
@@ -141,8 +137,6 @@ declare function SandboxArtifactPane({ artifact, paths, gitStatus, showTree, por
|
|
|
141
137
|
* second tall bar.
|
|
142
138
|
*/
|
|
143
139
|
declare function ChangesPane({ branch, ahead, behind, files, selectedPath, onSelectFile, loading, error, onRefresh, onCommit, onPush, busy, onOpenFile, className }: ChangesPaneProps): React$1.JSX.Element;
|
|
144
|
-
//#endregion
|
|
145
|
-
//#region src/workbench/pill-tabs.d.ts
|
|
146
140
|
interface PillTabItem<T extends string> {
|
|
147
141
|
value: T;
|
|
148
142
|
label: string;
|
|
@@ -166,8 +160,6 @@ interface PillTabsProps<T extends string> {
|
|
|
166
160
|
* sandbox-ui surface ladder.
|
|
167
161
|
*/
|
|
168
162
|
declare function PillTabs<T extends string>({ items, value, onChange, className, "aria-label": ariaLabel, idPrefix, panelId }: PillTabsProps<T>): React$1.JSX.Element;
|
|
169
|
-
//#endregion
|
|
170
|
-
//#region src/workbench/diff-utils.d.ts
|
|
171
163
|
interface DiffStats {
|
|
172
164
|
added: number;
|
|
173
165
|
removed: number;
|
|
@@ -189,8 +181,6 @@ declare function computeDiffStats(original: string, current: string): DiffStats;
|
|
|
189
181
|
* yield an empty string so callers can treat "" as "no diff".
|
|
190
182
|
*/
|
|
191
183
|
declare function buildUnifiedPatch(filename: string, baseline: string, current: string): string;
|
|
192
|
-
//#endregion
|
|
193
|
-
//#region src/workbench/panel-header.d.ts
|
|
194
184
|
declare function GitStatusBadge({ status }: {
|
|
195
185
|
status: RichFileTreeGitStatus;
|
|
196
186
|
}): React$1.JSX.Element;
|
|
@@ -217,8 +207,6 @@ interface PanelHeaderProps {
|
|
|
217
207
|
* horizontal rhythm), retoned to the sandbox-ui surface ladder.
|
|
218
208
|
*/
|
|
219
209
|
declare function PanelHeader({ filename, gitStatus, stats, copyText, children, className }: PanelHeaderProps): React$1.JSX.Element;
|
|
220
|
-
//#endregion
|
|
221
|
-
//#region src/workbench/file-breadcrumb.d.ts
|
|
222
210
|
interface FileBreadcrumbProps {
|
|
223
211
|
/** Canonical path, e.g. `src/lib/retry.ts`. */
|
|
224
212
|
path: string;
|
|
@@ -232,8 +220,6 @@ interface FileBreadcrumbProps {
|
|
|
232
220
|
* segments with a file-icon leaf.
|
|
233
221
|
*/
|
|
234
222
|
declare function FileBreadcrumb({ path, className }: FileBreadcrumbProps): React$1.JSX.Element;
|
|
235
|
-
//#endregion
|
|
236
|
-
//#region src/workbench/code-view.d.ts
|
|
237
223
|
interface CodeViewProps {
|
|
238
224
|
path: string;
|
|
239
225
|
filename: string;
|
|
@@ -245,6 +231,10 @@ interface CodeViewProps {
|
|
|
245
231
|
onFileSelect?: (path: string) => void;
|
|
246
232
|
/** Show the file-tree rail. Off for single-file embeds where the host owns navigation. */
|
|
247
233
|
showTree?: boolean;
|
|
234
|
+
/** Start with long lines wrapped. */
|
|
235
|
+
defaultWrap?: boolean;
|
|
236
|
+
/** Defaults to the host's Brand theme. */
|
|
237
|
+
themeType?: "light" | "dark";
|
|
248
238
|
className?: string;
|
|
249
239
|
}
|
|
250
240
|
/**
|
|
@@ -253,30 +243,7 @@ interface CodeViewProps {
|
|
|
253
243
|
* view. The rail owns navigation; selecting a path fans out to `onFileSelect`
|
|
254
244
|
* so the host can swap the active artifact.
|
|
255
245
|
*/
|
|
256
|
-
declare function CodeView({ path, filename, content, language, paths, gitStatus, onFileSelect, showTree, className }: CodeViewProps): React$1.JSX.Element;
|
|
257
|
-
//#endregion
|
|
258
|
-
//#region src/workbench/diff-view.d.ts
|
|
259
|
-
interface DiffViewProps {
|
|
260
|
-
filename: string;
|
|
261
|
-
baseline: string;
|
|
262
|
-
current: string;
|
|
263
|
-
/** Hide when the surrounding PanelHeader already identifies the file. */
|
|
264
|
-
showFileHeader?: boolean;
|
|
265
|
-
/** Start wrapped so narrow review panes never conceal the end of a line. */
|
|
266
|
-
defaultWrap?: boolean;
|
|
267
|
-
/** Match the host app's selected theme. Defaults to dark for existing consumers. */
|
|
268
|
-
themeType?: "light" | "dark";
|
|
269
|
-
className?: string;
|
|
270
|
-
}
|
|
271
|
-
/**
|
|
272
|
-
* Keep the maintained renderer for hunking, word diffs and highlighting. A new
|
|
273
|
-
* custom element per effect survives StrictMode remounts without hydrating stale
|
|
274
|
-
* shadow content. Wrapping is a renderer option, not a CSS patch into its shadow
|
|
275
|
-
* root; the plain patch disclosure is the accessible, engine-independent view.
|
|
276
|
-
*/
|
|
277
|
-
declare function DiffView({ filename, baseline, current, showFileHeader, defaultWrap, themeType, className }: DiffViewProps): React$1.JSX.Element;
|
|
278
|
-
//#endregion
|
|
279
|
-
//#region src/workbench/preview-view.d.ts
|
|
246
|
+
declare function CodeView({ path, filename, content, language, paths, gitStatus, onFileSelect, showTree, defaultWrap, themeType, className }: CodeViewProps): React$1.JSX.Element;
|
|
280
247
|
interface PreviewViewProps {
|
|
281
248
|
/** A product-authorized preview URL. Relative navigation stays on its origin. */
|
|
282
249
|
url: string;
|
|
@@ -295,23 +262,29 @@ interface PreviewViewProps {
|
|
|
295
262
|
className?: string;
|
|
296
263
|
}
|
|
297
264
|
declare function PreviewView({ url, allowedOrigins, access, readiness, onCheckReadiness, onNavigate, variant, title, toolbarActions, className }: PreviewViewProps): React$1.JSX.Element;
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
265
|
+
/** The one code theme: CodeSurface and DiffView share @pierre/diffs' Shiki highlighter and these themes. */
|
|
266
|
+
declare const CODE_THEME: {
|
|
267
|
+
readonly dark: "github-dark";
|
|
268
|
+
readonly light: "github-light";
|
|
269
|
+
};
|
|
303
270
|
interface CodeSurfaceProps {
|
|
304
271
|
code: string;
|
|
272
|
+
/** Names the file and picks its grammar: every Shiki language, loaded on first use. */
|
|
305
273
|
filename: string;
|
|
274
|
+
/** A Shiki language id that overrides the filename, such as `rust` for a file without an extension. */
|
|
306
275
|
language?: string;
|
|
307
276
|
showLineNumbers?: boolean;
|
|
277
|
+
/** Wrap long lines inside the pane instead of scrolling sideways. */
|
|
278
|
+
wrap?: boolean;
|
|
279
|
+
/** A 1-based line to select and scroll into view. */
|
|
280
|
+
line?: number;
|
|
281
|
+
/** Defaults to the host's Brand theme. */
|
|
282
|
+
themeType?: "light" | "dark";
|
|
308
283
|
className?: string;
|
|
309
284
|
}
|
|
310
285
|
/**
|
|
311
|
-
* Read-only
|
|
312
|
-
*
|
|
313
|
-
* tabular column.
|
|
286
|
+
* Read-only code renderer on @pierre/diffs' `File`, the same Shiki highlighter and theme as DiffView. A new
|
|
287
|
+
* custom element per render survives StrictMode remounts; the surrounding element owns scrolling.
|
|
314
288
|
*/
|
|
315
|
-
declare function CodeSurface({ code, filename, language, showLineNumbers, className }: CodeSurfaceProps): React$1.JSX.Element;
|
|
316
|
-
|
|
317
|
-
export { SandboxArtifactTerminal as A, ChangesPane as C, ChangesPaneProps as D, ChangedFile as E, SandboxArtifact as O, PillTabsProps as S, ArtifactView as T, DiffStats as _, PreviewView as a, PillTabItem as b, DiffViewProps as c, FileBreadcrumb as d, FileBreadcrumbProps as f, PanelHeaderProps as g, PanelHeader as h, resolveLanguage as i, SandboxArtifactPaneProps as k, CodeView as l, GitStatusBadge as m, CodeSurface as n, PreviewViewProps as o, DiffStatsBadge as p, CodeSurfaceProps as r, DiffView as s, BRAND_PRISM_THEME as t, CodeViewProps as u, buildUnifiedPatch as v, SandboxArtifactPane as w, PillTabs as x, computeDiffStats as y };
|
|
289
|
+
declare function CodeSurface({ code, filename, language, showLineNumbers, wrap, line, themeType, className }: CodeSurfaceProps): React$1.JSX.Element;
|
|
290
|
+
export { ChangedFile as C, SandboxArtifactTerminal as D, SandboxArtifactPaneProps as E, ArtifactView as S, SandboxArtifact as T, PillTabItem as _, PreviewViewProps as a, ChangesPane as b, FileBreadcrumb as c, GitStatusBadge as d, PanelHeader as f, computeDiffStats as g, buildUnifiedPatch as h, PreviewView as i, FileBreadcrumbProps as l, DiffStats as m, CodeSurface as n, CodeView as o, PanelHeaderProps as p, CodeSurfaceProps as r, CodeViewProps as s, CODE_THEME as t, DiffStatsBadge as u, PillTabs as v, ChangesPaneProps as w, SandboxArtifactPane as x, PillTabsProps as y };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as React$1 from "react";
|
|
2
|
-
//#region src/connections/agent-messaging-connection.d.ts
|
|
3
2
|
/** Safe display fields for a host-resolved, authorized private agent target. */
|
|
4
3
|
interface AgentTargetSummary {
|
|
5
4
|
agentLabel: string;
|
|
@@ -57,5 +56,4 @@ interface AgentMessagingConnectionProps {
|
|
|
57
56
|
className?: string;
|
|
58
57
|
}
|
|
59
58
|
declare function AgentMessagingConnection({ enrollment, route, onEnroll, onOpenMessages, onRetry, className }: AgentMessagingConnectionProps): React$1.JSX.Element;
|
|
60
|
-
//#endregion
|
|
61
59
|
export { SharedMessagingRouteViewState as a, AgentTargetSummary as i, AgentMessagingConnection as n, AgentMessagingConnectionProps as r, AgentEnrollmentViewState as t };
|