@tonyclaw/agent-inspector 3.0.5 → 3.0.6
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/.output/nitro.json +1 -1
- package/.output/public/assets/{CompareDrawer-Co-35_Xw.js → CompareDrawer-DsvO6QyJ.js} +1 -1
- package/.output/public/assets/{ProxyViewerContainer-DPv1rBo7.js → ProxyViewerContainer-CfP-komD.js} +26 -26
- package/.output/public/assets/{ReplayDialog-DghbvKdy.js → ReplayDialog-CQlLX1Uo.js} +1 -1
- package/.output/public/assets/{RequestAnatomy-CRXE5v8X.js → RequestAnatomy-m1q-uVTl.js} +1 -1
- package/.output/public/assets/{ResponseView-CzxoQRjp.js → ResponseView-DuLLeYSh.js} +2 -2
- package/.output/public/assets/{StreamingChunkSequence-DnFyF_Hr.js → StreamingChunkSequence-CN4aRFBx.js} +1 -1
- package/.output/public/assets/{_sessionId-DHRhWzKe.js → _sessionId-CWP4pxOU.js} +1 -1
- package/.output/public/assets/index-0pt1umWP.css +1 -0
- package/.output/public/assets/index-DSUEOPbC.js +1 -0
- package/.output/public/assets/{index-Dl1oki9E.js → index-zfZUz67K.js} +1 -1
- package/.output/public/assets/{json-viewer-B84f7oiG.js → json-viewer-_4r1LBBE.js} +1 -1
- package/.output/public/assets/{main-DViDnJ9X.js → main-C_nEHNUM.js} +2 -2
- package/.output/server/_libs/lucide-react.mjs +292 -203
- package/.output/server/{_sessionId-C43vEAWe.mjs → _sessionId-CTqCAmUF.mjs} +3 -3
- package/.output/server/_ssr/{CompareDrawer-DOL6q0jD.mjs → CompareDrawer-D6b6TZ-O.mjs} +3 -3
- package/.output/server/_ssr/{ProxyViewerContainer-S9izw3ND.mjs → ProxyViewerContainer-Dp7Va9_T.mjs} +340 -11
- package/.output/server/_ssr/{ReplayDialog-tqthwJh0.mjs → ReplayDialog-D_KWQ1GY.mjs} +4 -4
- package/.output/server/_ssr/{RequestAnatomy-CgWDjFPR.mjs → RequestAnatomy-CPubXjMX.mjs} +2 -2
- package/.output/server/_ssr/{ResponseView-Dk8Op622.mjs → ResponseView-CsTiNoOE.mjs} +3 -3
- package/.output/server/_ssr/{StreamingChunkSequence-AlS7PK8f.mjs → StreamingChunkSequence-Bgbzt23U.mjs} +2 -2
- package/.output/server/_ssr/{index-BGwvMN2M.mjs → index-P1gSpuM5.mjs} +2 -2
- package/.output/server/_ssr/index.mjs +2 -2
- package/.output/server/_ssr/{json-viewer-CKHkh5U3.mjs → json-viewer-10ciVGnc.mjs} +3 -3
- package/.output/server/_ssr/{router-BJMaHkr1.mjs → router-BJJ0VhsB.mjs} +357 -146
- package/.output/server/_tanstack-start-manifest_v-CltlYL3I.mjs +4 -0
- package/.output/server/index.mjs +71 -71
- package/package.json +1 -1
- package/src/components/ProxyViewer.tsx +19 -1
- package/src/components/ecosystem/AgentLabDialog.tsx +379 -0
- package/src/lib/ecosystemContract.ts +47 -0
- package/src/routes/api/ecosystem.packages.ts +263 -0
- package/.output/public/assets/index-D8cruW0P.css +0 -1
- package/.output/public/assets/index-DZyTpd2w.js +0 -1
- package/.output/server/_tanstack-start-manifest_v-C_HvRzgP.mjs +0 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports, r as reactExports } from "./_libs/react.mjs";
|
|
2
|
-
import { P as ProxyViewerContainer } from "./_ssr/ProxyViewerContainer-
|
|
3
|
-
import { R as Route$
|
|
2
|
+
import { P as ProxyViewerContainer } from "./_ssr/ProxyViewerContainer-Dp7Va9_T.mjs";
|
|
3
|
+
import { R as Route$C } from "./_ssr/router-BJJ0VhsB.mjs";
|
|
4
4
|
import "./_libs/jszip.mjs";
|
|
5
5
|
import "./_libs/modelcontextprotocol__server.mjs";
|
|
6
6
|
import "./_libs/swr.mjs";
|
|
@@ -118,7 +118,7 @@ import "./_libs/pako.mjs";
|
|
|
118
118
|
function SessionViewerRoute() {
|
|
119
119
|
const {
|
|
120
120
|
sessionId
|
|
121
|
-
} = Route$
|
|
121
|
+
} = Route$C.useParams();
|
|
122
122
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(ClientOnlySessionViewer, { sessionId });
|
|
123
123
|
}
|
|
124
124
|
function ClientOnlySessionViewer({
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
|
|
2
|
-
import { g as getLogFormatAdapter, r as resolveLogFormat, a as getConversationId, c as cn, B as Badge, f as formatTokens, b as copyTextToClipboard, L as LazyJsonViewerFromString } from "./ProxyViewerContainer-
|
|
3
|
-
import "./router-
|
|
2
|
+
import { g as getLogFormatAdapter, r as resolveLogFormat, a as getConversationId, c as cn, B as Badge, f as formatTokens, b as copyTextToClipboard, L as LazyJsonViewerFromString } from "./ProxyViewerContainer-Dp7Va9_T.mjs";
|
|
3
|
+
import "./router-BJJ0VhsB.mjs";
|
|
4
4
|
import "../_libs/modelcontextprotocol__server.mjs";
|
|
5
5
|
import "../_libs/jszip.mjs";
|
|
6
|
-
import { X,
|
|
6
|
+
import { X, av as Rows3, aw as Columns2, a2 as Minus, P as Plus, Z as Pencil, h as ChevronRight, ax as Equal, b as Check, e as Copy } from "../_libs/lucide-react.mjs";
|
|
7
7
|
import "../_libs/swr.mjs";
|
|
8
8
|
import "../_libs/use-sync-external-store.mjs";
|
|
9
9
|
import "../_libs/dequal.mjs";
|
package/.output/server/_ssr/{ProxyViewerContainer-S9izw3ND.mjs → ProxyViewerContainer-Dp7Va9_T.mjs}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as reactExports, j as jsxRuntimeExports, a as React } from "../_libs/react.mjs";
|
|
2
|
-
import { I as InspectorGroupsListResponseSchema, C as CapturedLogSchema, D as DEFAULT_CAPTURE_MODE, a as DEFAULT_SLOW_RESPONSE_THRESHOLD_SECONDS, b as DEFAULT_PROVIDER_TEST_TIMEOUT_SECONDS, c as DEFAULT_TIME_DISPLAY_FORMAT, d as RuntimeConfigSchema, p as packageJson, P as ProviderConfigSchema, i as apiFormatForPath, n as DeleteInspectorGroupsResponseSchema, o as GroupEvidenceExportResultSchema, q as DeleteInspectorGroupResponseSchema, z as createPendingProviderTestResults, B as ProviderTestResultsSchema, E as createFailedProviderTestResults, M as MAX_SLOW_RESPONSE_THRESHOLD_SECONDS, F as MAX_PROVIDER_TEST_TIMEOUT_SECONDS, T as TimeDisplayFormatSchema, l as AlertSummarySchema, m as AlertListResponseSchema, G as GroupEvidenceReadResponseSchema, t as maskApiKey, u as PATH_V1_MESSAGES, v as PATH_V1_CHAT_COMPLETIONS, w as PATH_V1_RESPONSES, r as providerHasContextMetadata, f as parseOpenAIResponse, g as parseOpenAIResponsesResponse, O as OpenAIRequestSchema, h as OpenAIResponsesRequestSchema, A as AnthropicResponseSchema$1, e as AnthropicRequestSchema, s as safeGetOwnProperty, H as resolveProviderContextWindow, j as getSessionPath, x as findProviderModelMetadata, y as previewUpstreamUrl, K as KnowledgeCandidateSchema, J as isPlainRecord, k as stripClaudeCodeBillingHeader, L as LogBodyChunkSchema } from "./router-
|
|
2
|
+
import { I as InspectorGroupsListResponseSchema, C as CapturedLogSchema, D as DEFAULT_CAPTURE_MODE, a as DEFAULT_SLOW_RESPONSE_THRESHOLD_SECONDS, b as DEFAULT_PROVIDER_TEST_TIMEOUT_SECONDS, c as DEFAULT_TIME_DISPLAY_FORMAT, d as RuntimeConfigSchema, p as packageJson, P as ProviderConfigSchema, i as apiFormatForPath, n as DeleteInspectorGroupsResponseSchema, o as GroupEvidenceExportResultSchema, q as DeleteInspectorGroupResponseSchema, z as createPendingProviderTestResults, B as ProviderTestResultsSchema, E as createFailedProviderTestResults, M as MAX_SLOW_RESPONSE_THRESHOLD_SECONDS, F as MAX_PROVIDER_TEST_TIMEOUT_SECONDS, T as TimeDisplayFormatSchema, l as AlertSummarySchema, m as AlertListResponseSchema, G as GroupEvidenceReadResponseSchema, t as maskApiKey, u as PATH_V1_MESSAGES, v as PATH_V1_CHAT_COMPLETIONS, w as PATH_V1_RESPONSES, r as providerHasContextMetadata, f as parseOpenAIResponse, g as parseOpenAIResponsesResponse, O as OpenAIRequestSchema, h as OpenAIResponsesRequestSchema, A as AnthropicResponseSchema$1, e as AnthropicRequestSchema, s as safeGetOwnProperty, H as resolveProviderContextWindow, j as getSessionPath, x as findProviderModelMetadata, y as previewUpstreamUrl, K as KnowledgeCandidateSchema, J as isPlainRecord, k as stripClaudeCodeBillingHeader, L as LogBodyChunkSchema } from "./router-BJJ0VhsB.mjs";
|
|
3
3
|
import { u as useSWR, a as useSWRConfig } from "../_libs/swr.mjs";
|
|
4
4
|
import { J as JSZip } from "../_libs/jszip.mjs";
|
|
5
5
|
import { c as clsx } from "../_libs/clsx.mjs";
|
|
@@ -9,7 +9,7 @@ import { c as cva } from "../_libs/class-variance-authority.mjs";
|
|
|
9
9
|
import { u as useWindowVirtualizer, a as useVirtualizer } from "../_libs/tanstack__react-virtual.mjs";
|
|
10
10
|
import { d as diffJson, a as diffLines } from "../_libs/diff.mjs";
|
|
11
11
|
import { R as Root2, T as Trigger, I as Icon, V as Value, P as Portal, C as Content2, a as Viewport, b as Item, c as ItemIndicator, d as ItemText, S as ScrollUpButton, e as ScrollDownButton } from "../_libs/radix-ui__react-select.mjs";
|
|
12
|
-
import { T as TriangleAlert, C as CircleCheck, X, I as Info, a as ChevronDown, b as Check, R as RefreshCw, c as Trash2, S as Search, U as Upload, D as Download, F as FileBraces, P as Plus, A as ArrowLeft, d as ChevronUp, e as Copy, f as ChevronsLeft, g as ChevronLeft, h as ChevronRight, i as ChevronsRight, j as Clapperboard, k as Flag, l as Siren, m as Timer, G as Gauge, L as LoaderCircle, n as Layers, o as
|
|
12
|
+
import { T as TriangleAlert, C as CircleCheck, X, I as Info, a as ChevronDown, b as Check, R as RefreshCw, c as Trash2, S as Search, U as Upload, D as Download, F as FileBraces, P as Plus, A as ArrowLeft, d as ChevronUp, e as Copy, f as ChevronsLeft, g as ChevronLeft, h as ChevronRight, i as ChevronsRight, j as Clapperboard, k as Flag, l as Siren, m as Timer, G as Gauge, L as LoaderCircle, n as Layers, o as FlaskConical, p as Sparkles, q as Activity, B as Beaker, N as Network, r as Terminal, s as Settings, M as Monitor, t as Rocket, u as PackageCheck, v as Scan, w as CircleAlert, x as ArrowUpRight, y as ArrowDownRight, z as Cpu, E as FolderOpen, H as Bell, J as Clock3, K as ShieldAlert, O as EyeOff, Q as Eye, V as ExternalLink, W as Clock, Y as RotateCw, Z as Pencil, _ as MessageSquare, $ as Zap, a0 as Wrench, a1 as Brain, a2 as Minus, a3 as CircleCheckBig, a4 as CircleQuestionMark, a5 as Server, a6 as Lock, a7 as Wifi, a8 as WifiOff, a9 as CircleX, aa as ShieldCheck, ab as Save, ac as FileSearch, ad as CloudUpload, ae as OctagonAlert, af as Radio, ag as Globe, ah as FileTerminal, ai as ChevronsUp, aj as ChevronsDown, ak as FileDiff, al as History, am as RotateCcw, an as GitCompareArrows, ao as ArrowUp, ap as ArrowDown, aq as Ellipsis, ar as CodeXml, as as Blocks, at as MousePointerClick, au as FileText, av as Rows3, aw as Columns2 } from "../_libs/lucide-react.mjs";
|
|
13
13
|
import { u as union, d as object, a as array, l as literal, b as string, n as number, c as boolean, _ as _enum } from "../_libs/zod.mjs";
|
|
14
14
|
import { S as Slot } from "../_libs/radix-ui__react-slot.mjs";
|
|
15
15
|
import { R as Root2$1, L as List, T as Trigger$2, C as Content$1 } from "../_libs/radix-ui__react-tabs.mjs";
|
|
@@ -2306,27 +2306,27 @@ function useCopyFeedback(text) {
|
|
|
2306
2306
|
return { copied, copy };
|
|
2307
2307
|
}
|
|
2308
2308
|
const LazyCompareDrawer = reactExports.lazy(
|
|
2309
|
-
() => import("./CompareDrawer-
|
|
2309
|
+
() => import("./CompareDrawer-D6b6TZ-O.mjs").then((m) => ({ default: m.CompareDrawer }))
|
|
2310
2310
|
);
|
|
2311
2311
|
const LazyReplayDialog = reactExports.lazy(
|
|
2312
|
-
() => import("./ReplayDialog-
|
|
2312
|
+
() => import("./ReplayDialog-D_KWQ1GY.mjs").then((m) => ({ default: m.ReplayDialog }))
|
|
2313
2313
|
);
|
|
2314
2314
|
const LazyRequestAnatomy = reactExports.lazy(
|
|
2315
|
-
() => import("./RequestAnatomy-
|
|
2315
|
+
() => import("./RequestAnatomy-CPubXjMX.mjs").then((m) => ({ default: m.RequestAnatomy }))
|
|
2316
2316
|
);
|
|
2317
2317
|
const LazyResponseView = reactExports.lazy(
|
|
2318
|
-
() => import("./ResponseView-
|
|
2318
|
+
() => import("./ResponseView-CsTiNoOE.mjs").then((m) => ({ default: m.ResponseView }))
|
|
2319
2319
|
);
|
|
2320
2320
|
const LazyStreamingChunkSequence = reactExports.lazy(
|
|
2321
|
-
() => import("./StreamingChunkSequence-
|
|
2321
|
+
() => import("./StreamingChunkSequence-Bgbzt23U.mjs").then((m) => ({
|
|
2322
2322
|
default: m.StreamingChunkSequence
|
|
2323
2323
|
}))
|
|
2324
2324
|
);
|
|
2325
2325
|
const LazyJsonViewer = reactExports.lazy(
|
|
2326
|
-
() => import("./json-viewer-
|
|
2326
|
+
() => import("./json-viewer-10ciVGnc.mjs").then((m) => ({ default: m.JsonViewer }))
|
|
2327
2327
|
);
|
|
2328
2328
|
const LazyJsonViewerFromString = reactExports.lazy(
|
|
2329
|
-
() => import("./json-viewer-
|
|
2329
|
+
() => import("./json-viewer-10ciVGnc.mjs").then((m) => ({ default: m.JsonViewerFromString }))
|
|
2330
2330
|
);
|
|
2331
2331
|
const HIGHLIGHT_DURATION_MS = 1200;
|
|
2332
2332
|
const MAX_HIGHLIGHT_ATTEMPTS = 12;
|
|
@@ -11116,6 +11116,322 @@ function ProxySettingsTab() {
|
|
|
11116
11116
|
] })
|
|
11117
11117
|
] });
|
|
11118
11118
|
}
|
|
11119
|
+
const EcosystemPackageStateSchema = _enum([
|
|
11120
|
+
"installed",
|
|
11121
|
+
"update-available",
|
|
11122
|
+
"available",
|
|
11123
|
+
"planned",
|
|
11124
|
+
"unknown"
|
|
11125
|
+
]);
|
|
11126
|
+
const EcosystemPackageSchema = object({
|
|
11127
|
+
id: string(),
|
|
11128
|
+
name: string(),
|
|
11129
|
+
npmName: string(),
|
|
11130
|
+
capability: string(),
|
|
11131
|
+
description: string(),
|
|
11132
|
+
workflow: string(),
|
|
11133
|
+
installCommand: string(),
|
|
11134
|
+
state: EcosystemPackageStateSchema,
|
|
11135
|
+
installedVersion: string().nullable(),
|
|
11136
|
+
latestVersion: string().nullable(),
|
|
11137
|
+
primary: boolean()
|
|
11138
|
+
});
|
|
11139
|
+
const EcosystemRunnerPresetSchema = object({
|
|
11140
|
+
id: string(),
|
|
11141
|
+
name: string(),
|
|
11142
|
+
validatedVersion: string(),
|
|
11143
|
+
binary: string(),
|
|
11144
|
+
modelFlag: string(),
|
|
11145
|
+
variantFlag: string().nullable(),
|
|
11146
|
+
tools: array(string()),
|
|
11147
|
+
logDir: string(),
|
|
11148
|
+
skillsDir: string(),
|
|
11149
|
+
agentsDir: string()
|
|
11150
|
+
});
|
|
11151
|
+
const EcosystemPackagesResponseSchema = object({
|
|
11152
|
+
checkedAt: string(),
|
|
11153
|
+
packages: array(EcosystemPackageSchema),
|
|
11154
|
+
runnerPresets: array(EcosystemRunnerPresetSchema)
|
|
11155
|
+
});
|
|
11156
|
+
const WORKFLOWS = [
|
|
11157
|
+
{
|
|
11158
|
+
id: "observe",
|
|
11159
|
+
title: "Observe",
|
|
11160
|
+
label: "Live",
|
|
11161
|
+
description: "Capture IDE, process, session, turn, request, response, tools, and providers.",
|
|
11162
|
+
metric: "Inspector core",
|
|
11163
|
+
icon: Activity
|
|
11164
|
+
},
|
|
11165
|
+
{
|
|
11166
|
+
id: "replay",
|
|
11167
|
+
title: "Replay",
|
|
11168
|
+
label: "Ready",
|
|
11169
|
+
description: "Promote real logs into repeatable replay evidence without losing the raw context.",
|
|
11170
|
+
metric: "Session asset",
|
|
11171
|
+
icon: RefreshCw
|
|
11172
|
+
},
|
|
11173
|
+
{
|
|
11174
|
+
id: "evaluate",
|
|
11175
|
+
title: "Evaluate",
|
|
11176
|
+
label: "Next",
|
|
11177
|
+
description: "Use eval-harness to turn sessions into regression cases and provider bakeoffs.",
|
|
11178
|
+
metric: "Eval loop",
|
|
11179
|
+
icon: Beaker
|
|
11180
|
+
},
|
|
11181
|
+
{
|
|
11182
|
+
id: "connect",
|
|
11183
|
+
title: "Connect",
|
|
11184
|
+
label: "MCP",
|
|
11185
|
+
description: "Expose Inspector state to coding agents as queryable context and durable evidence.",
|
|
11186
|
+
metric: "/api/mcp",
|
|
11187
|
+
icon: Network
|
|
11188
|
+
}
|
|
11189
|
+
];
|
|
11190
|
+
async function fetchEcosystemPackages(url) {
|
|
11191
|
+
return fetchJson(
|
|
11192
|
+
url,
|
|
11193
|
+
EcosystemPackagesResponseSchema,
|
|
11194
|
+
void 0,
|
|
11195
|
+
(response) => `Failed to load ecosystem packages: ${String(response.status)}`
|
|
11196
|
+
);
|
|
11197
|
+
}
|
|
11198
|
+
function stateLabel(state) {
|
|
11199
|
+
switch (state) {
|
|
11200
|
+
case "installed":
|
|
11201
|
+
return "Installed";
|
|
11202
|
+
case "update-available":
|
|
11203
|
+
return "Update";
|
|
11204
|
+
case "available":
|
|
11205
|
+
return "Available";
|
|
11206
|
+
case "planned":
|
|
11207
|
+
return "Planned";
|
|
11208
|
+
case "unknown":
|
|
11209
|
+
return "Unknown";
|
|
11210
|
+
}
|
|
11211
|
+
}
|
|
11212
|
+
function stateClassName(state) {
|
|
11213
|
+
switch (state) {
|
|
11214
|
+
case "installed":
|
|
11215
|
+
return "border-emerald-400/20 bg-emerald-400/8 text-emerald-200";
|
|
11216
|
+
case "update-available":
|
|
11217
|
+
return "border-amber-400/20 bg-amber-400/8 text-amber-200";
|
|
11218
|
+
case "available":
|
|
11219
|
+
return "border-sky-400/20 bg-sky-400/8 text-sky-200";
|
|
11220
|
+
case "planned":
|
|
11221
|
+
return "border-white/10 bg-white/[0.04] text-white/55";
|
|
11222
|
+
case "unknown":
|
|
11223
|
+
return "border-white/10 bg-white/[0.04] text-white/45";
|
|
11224
|
+
}
|
|
11225
|
+
}
|
|
11226
|
+
function versionLabel(pkg) {
|
|
11227
|
+
if (pkg.installedVersion !== null && pkg.latestVersion !== null) {
|
|
11228
|
+
if (pkg.installedVersion === pkg.latestVersion) return `v${pkg.installedVersion}`;
|
|
11229
|
+
return `v${pkg.installedVersion} -> v${pkg.latestVersion}`;
|
|
11230
|
+
}
|
|
11231
|
+
if (pkg.installedVersion !== null) return `v${pkg.installedVersion}`;
|
|
11232
|
+
if (pkg.latestVersion !== null) return `latest v${pkg.latestVersion}`;
|
|
11233
|
+
return "not published";
|
|
11234
|
+
}
|
|
11235
|
+
function PackageStatusCard({ pkg }) {
|
|
11236
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "rounded-lg bg-white/[0.025] p-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]", children: [
|
|
11237
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-start justify-between gap-3", children: [
|
|
11238
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "min-w-0", children: [
|
|
11239
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
11240
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(PackageCheck, { className: "size-4 shrink-0 text-white/55" }),
|
|
11241
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "truncate text-sm font-semibold", children: pkg.name })
|
|
11242
|
+
] }),
|
|
11243
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-1 truncate font-mono text-[11px] text-white/35", children: pkg.npmName })
|
|
11244
|
+
] }),
|
|
11245
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Badge, { className: cn("shrink-0", stateClassName(pkg.state)), variant: "outline", children: stateLabel(pkg.state) })
|
|
11246
|
+
] }),
|
|
11247
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-3 text-xs leading-5 text-muted-foreground", children: pkg.description }),
|
|
11248
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-3 flex flex-wrap items-center gap-2 text-[11px]", children: [
|
|
11249
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "rounded bg-white/[0.035] px-2 py-1 font-mono text-white/50", children: versionLabel(pkg) }),
|
|
11250
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "rounded bg-white/[0.035] px-2 py-1 text-white/45", children: pkg.capability }),
|
|
11251
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "rounded bg-white/[0.035] px-2 py-1 font-mono text-white/35", children: pkg.installCommand })
|
|
11252
|
+
] })
|
|
11253
|
+
] });
|
|
11254
|
+
}
|
|
11255
|
+
function WorkflowTile({ workflow }) {
|
|
11256
|
+
const Icon2 = workflow.icon;
|
|
11257
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "rounded-lg bg-white/[0.025] p-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]", children: [
|
|
11258
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-start justify-between gap-3", children: [
|
|
11259
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
11260
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Icon2, { className: "size-4 shrink-0 text-cyan-200/75" }),
|
|
11261
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "truncate text-sm font-semibold", children: workflow.title })
|
|
11262
|
+
] }),
|
|
11263
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "rounded bg-white/[0.04] px-2 py-0.5 font-mono text-[10px] text-white/45", children: workflow.label })
|
|
11264
|
+
] }),
|
|
11265
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 min-h-10 text-xs leading-5 text-muted-foreground", children: workflow.description }),
|
|
11266
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-3 font-mono text-[11px] text-white/35", children: workflow.metric })
|
|
11267
|
+
] });
|
|
11268
|
+
}
|
|
11269
|
+
function buildSessionCommand(sessionId) {
|
|
11270
|
+
if (sessionId === null) {
|
|
11271
|
+
return 'npx @tonyclaw/eval-harness inspector-smoke --title "TonyClaw Lab smoke" --latest-log-limit 5';
|
|
11272
|
+
}
|
|
11273
|
+
return `npx @tonyclaw/eval-harness inspector-smoke --title "TonyClaw Lab smoke ${sessionId}" --latest-log-limit 5`;
|
|
11274
|
+
}
|
|
11275
|
+
function RunnerPresetCard({ preset }) {
|
|
11276
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "rounded-lg bg-white/[0.025] p-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]", children: [
|
|
11277
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-start justify-between gap-3", children: [
|
|
11278
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "min-w-0", children: [
|
|
11279
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
11280
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Rocket, { className: "size-4 shrink-0 text-cyan-200/75" }),
|
|
11281
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "truncate text-sm font-semibold", children: preset.name })
|
|
11282
|
+
] }),
|
|
11283
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-1 font-mono text-[11px] text-white/35", children: [
|
|
11284
|
+
preset.binary,
|
|
11285
|
+
" ",
|
|
11286
|
+
preset.modelFlag,
|
|
11287
|
+
preset.variantFlag !== null ? ` ${preset.variantFlag}` : ""
|
|
11288
|
+
] })
|
|
11289
|
+
] }),
|
|
11290
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Badge, { variant: "outline", className: "border-white/10 bg-white/[0.04] text-white/55", children: [
|
|
11291
|
+
"v",
|
|
11292
|
+
preset.validatedVersion
|
|
11293
|
+
] })
|
|
11294
|
+
] }),
|
|
11295
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-3 grid grid-cols-2 gap-2 text-[11px]", children: [
|
|
11296
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "rounded bg-black/15 px-2 py-1 text-white/45", children: [
|
|
11297
|
+
"logs/",
|
|
11298
|
+
preset.logDir
|
|
11299
|
+
] }),
|
|
11300
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "rounded bg-black/15 px-2 py-1 text-white/45", children: preset.tools.join(", ") }),
|
|
11301
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "rounded bg-black/15 px-2 py-1 font-mono text-white/35", children: preset.skillsDir }),
|
|
11302
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "rounded bg-black/15 px-2 py-1 font-mono text-white/35", children: preset.agentsDir })
|
|
11303
|
+
] })
|
|
11304
|
+
] });
|
|
11305
|
+
}
|
|
11306
|
+
function AgentLabDialog({ currentSessionId, logCount }) {
|
|
11307
|
+
const [open, setOpen] = reactExports.useState(false);
|
|
11308
|
+
const [copied, setCopied] = reactExports.useState(false);
|
|
11309
|
+
const [copiedPresets, setCopiedPresets] = reactExports.useState(false);
|
|
11310
|
+
const response = useSWR("/api/ecosystem/packages", fetchEcosystemPackages, {
|
|
11311
|
+
revalidateOnFocus: false,
|
|
11312
|
+
revalidateIfStale: false
|
|
11313
|
+
});
|
|
11314
|
+
const packages = response.data?.packages ?? [];
|
|
11315
|
+
const runnerPresets = response.data?.runnerPresets ?? [];
|
|
11316
|
+
const installedCount = reactExports.useMemo(
|
|
11317
|
+
() => packages.filter((pkg) => pkg.state === "installed" || pkg.state === "update-available").length,
|
|
11318
|
+
[packages]
|
|
11319
|
+
);
|
|
11320
|
+
const sessionCommand = buildSessionCommand(currentSessionId);
|
|
11321
|
+
const presetsCommand = "npx @tonyclaw/eval-harness runner-presets";
|
|
11322
|
+
const copySessionCommand = () => {
|
|
11323
|
+
void copyTextToClipboard(sessionCommand).then(() => {
|
|
11324
|
+
setCopied(true);
|
|
11325
|
+
window.setTimeout(() => setCopied(false), 1200);
|
|
11326
|
+
});
|
|
11327
|
+
};
|
|
11328
|
+
const copyPresetsCommand = () => {
|
|
11329
|
+
void copyTextToClipboard(presetsCommand).then(() => {
|
|
11330
|
+
setCopiedPresets(true);
|
|
11331
|
+
window.setTimeout(() => setCopiedPresets(false), 1200);
|
|
11332
|
+
});
|
|
11333
|
+
};
|
|
11334
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Dialog, { open, onOpenChange: setOpen, children: [
|
|
11335
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
11336
|
+
Button,
|
|
11337
|
+
{
|
|
11338
|
+
variant: "ghost",
|
|
11339
|
+
size: "icon",
|
|
11340
|
+
className: INSPECTOR_ICON_TRIGGER_CLASS,
|
|
11341
|
+
"aria-label": "TonyClaw Lab",
|
|
11342
|
+
title: "TonyClaw Lab",
|
|
11343
|
+
children: [
|
|
11344
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FlaskConical, { className: "size-4" }),
|
|
11345
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sr-only", children: "TonyClaw Lab" })
|
|
11346
|
+
]
|
|
11347
|
+
}
|
|
11348
|
+
) }),
|
|
11349
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(DialogContent, { className: "flex max-h-[84vh] max-w-5xl flex-col overflow-hidden", children: [
|
|
11350
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogHeader, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogTitle, { className: "flex items-center gap-2", children: [
|
|
11351
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Sparkles, { className: "size-4 text-cyan-200/80" }),
|
|
11352
|
+
"TonyClaw Lab"
|
|
11353
|
+
] }) }),
|
|
11354
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "overflow-y-auto pr-2", children: [
|
|
11355
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid gap-3 lg:grid-cols-[1.1fr_0.9fr]", children: [
|
|
11356
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("section", { className: "rounded-lg bg-white/[0.025] p-4 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]", children: [
|
|
11357
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-wrap items-start justify-between gap-3", children: [
|
|
11358
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
11359
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-sm font-semibold", children: "Session asset pipeline" }),
|
|
11360
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-1 max-w-2xl text-xs leading-5 text-muted-foreground", children: "Treat captured traffic as durable assets: observe it, replay it, evaluate it, and expose it back to agents through MCP." })
|
|
11361
|
+
] }),
|
|
11362
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Badge, { variant: "outline", className: "border-cyan-300/20 bg-cyan-300/8 text-cyan-100", children: [
|
|
11363
|
+
String(installedCount),
|
|
11364
|
+
"/",
|
|
11365
|
+
String(packages.length),
|
|
11366
|
+
" packages"
|
|
11367
|
+
] })
|
|
11368
|
+
] }),
|
|
11369
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-4 grid gap-3 sm:grid-cols-2", children: WORKFLOWS.map((workflow) => /* @__PURE__ */ jsxRuntimeExports.jsx(WorkflowTile, { workflow }, workflow.id)) })
|
|
11370
|
+
] }),
|
|
11371
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("section", { className: "rounded-lg bg-white/[0.025] p-4 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]", children: [
|
|
11372
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-start justify-between gap-3", children: [
|
|
11373
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
11374
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-sm font-semibold", children: "Current session" }),
|
|
11375
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-1 text-xs text-muted-foreground", children: currentSessionId === null ? "MCP smoke command" : currentSessionId })
|
|
11376
|
+
] }),
|
|
11377
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Badge, { variant: "outline", className: "border-white/10 bg-white/[0.04] text-white/55", children: [
|
|
11378
|
+
String(logCount),
|
|
11379
|
+
" logs"
|
|
11380
|
+
] })
|
|
11381
|
+
] }),
|
|
11382
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-4 rounded-md bg-black/20 p-3 font-mono text-[11px] leading-5 text-white/55 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]", children: sessionCommand }),
|
|
11383
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-3 flex flex-wrap items-center gap-2", children: [
|
|
11384
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Button, { size: "sm", variant: "secondary", onClick: copySessionCommand, children: [
|
|
11385
|
+
copied ? /* @__PURE__ */ jsxRuntimeExports.jsx(Check, { className: "size-3.5" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(Copy, { className: "size-3.5" }),
|
|
11386
|
+
copied ? "Copied" : "Copy"
|
|
11387
|
+
] }),
|
|
11388
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Button, { size: "sm", variant: "outline", onClick: copyPresetsCommand, children: [
|
|
11389
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Beaker, { className: "size-3.5" }),
|
|
11390
|
+
copiedPresets ? "Presets copied" : "Runner Presets"
|
|
11391
|
+
] })
|
|
11392
|
+
] })
|
|
11393
|
+
] })
|
|
11394
|
+
] }),
|
|
11395
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("section", { className: "mt-3", children: [
|
|
11396
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mb-2 flex items-center justify-between gap-3", children: [
|
|
11397
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-sm font-semibold", children: "Runner presets" }),
|
|
11398
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "hidden items-center gap-1 font-mono text-[11px] text-muted-foreground sm:flex", children: [
|
|
11399
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Terminal, { className: "size-3.5" }),
|
|
11400
|
+
presetsCommand
|
|
11401
|
+
] })
|
|
11402
|
+
] }),
|
|
11403
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid gap-3 md:grid-cols-2 xl:grid-cols-4", children: [
|
|
11404
|
+
runnerPresets.map((preset) => /* @__PURE__ */ jsxRuntimeExports.jsx(RunnerPresetCard, { preset }, preset.id)),
|
|
11405
|
+
response.isLoading && runnerPresets.length === 0 && [0, 1, 2, 3].map((index) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
11406
|
+
"div",
|
|
11407
|
+
{
|
|
11408
|
+
className: "h-32 animate-pulse rounded-lg bg-white/[0.025] shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]"
|
|
11409
|
+
},
|
|
11410
|
+
index
|
|
11411
|
+
))
|
|
11412
|
+
] })
|
|
11413
|
+
] }),
|
|
11414
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("section", { className: "mt-3", children: [
|
|
11415
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mb-2 flex items-center justify-between gap-3", children: [
|
|
11416
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-sm font-semibold", children: "TonyClaw packages" }),
|
|
11417
|
+
response.isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "font-mono text-[11px] text-muted-foreground", children: "checking npm..." })
|
|
11418
|
+
] }),
|
|
11419
|
+
response.error !== void 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "rounded-lg bg-red-500/8 p-3 text-xs text-red-100 shadow-[inset_0_0_0_1px_rgba(248,113,113,0.16)]", children: "Package status is temporarily unavailable." }),
|
|
11420
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid gap-3 md:grid-cols-3", children: [
|
|
11421
|
+
packages.map((pkg) => /* @__PURE__ */ jsxRuntimeExports.jsx(PackageStatusCard, { pkg }, pkg.id)),
|
|
11422
|
+
response.isLoading && packages.length === 0 && [0, 1, 2].map((index) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
11423
|
+
"div",
|
|
11424
|
+
{
|
|
11425
|
+
className: "h-36 animate-pulse rounded-lg bg-white/[0.025] shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]"
|
|
11426
|
+
},
|
|
11427
|
+
index
|
|
11428
|
+
))
|
|
11429
|
+
] })
|
|
11430
|
+
] })
|
|
11431
|
+
] })
|
|
11432
|
+
] })
|
|
11433
|
+
] });
|
|
11434
|
+
}
|
|
11119
11435
|
function computeCacheTrends(groups) {
|
|
11120
11436
|
const result = /* @__PURE__ */ new Map();
|
|
11121
11437
|
for (const group of groups) {
|
|
@@ -13508,7 +13824,9 @@ function CrabFamily({
|
|
|
13508
13824
|
}
|
|
13509
13825
|
function BrandHeader({
|
|
13510
13826
|
compact,
|
|
13511
|
-
crabEntrancePhase
|
|
13827
|
+
crabEntrancePhase,
|
|
13828
|
+
currentSessionId,
|
|
13829
|
+
logCount
|
|
13512
13830
|
}) {
|
|
13513
13831
|
if (compact) {
|
|
13514
13832
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-white/[0.035] shadow-[inset_0_1px_0_rgba(255,255,255,0.045),0_16px_44px_rgba(0,0,0,0.18)] rounded-[8px] p-3", children: [
|
|
@@ -13529,6 +13847,7 @@ function BrandHeader({
|
|
|
13529
13847
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [
|
|
13530
13848
|
/* @__PURE__ */ jsxRuntimeExports.jsx(AlertsDialog, {}),
|
|
13531
13849
|
/* @__PURE__ */ jsxRuntimeExports.jsx(GroupsDialog, {}),
|
|
13850
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(AgentLabDialog, { currentSessionId, logCount }),
|
|
13532
13851
|
/* @__PURE__ */ jsxRuntimeExports.jsx(SettingsDialog, {})
|
|
13533
13852
|
] })
|
|
13534
13853
|
] }),
|
|
@@ -13556,6 +13875,7 @@ function BrandHeader({
|
|
|
13556
13875
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "justify-self-end flex items-center gap-1", children: [
|
|
13557
13876
|
/* @__PURE__ */ jsxRuntimeExports.jsx(AlertsDialog, {}),
|
|
13558
13877
|
/* @__PURE__ */ jsxRuntimeExports.jsx(GroupsDialog, {}),
|
|
13878
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(AgentLabDialog, { currentSessionId, logCount }),
|
|
13559
13879
|
/* @__PURE__ */ jsxRuntimeExports.jsx(SettingsDialog, {})
|
|
13560
13880
|
] })
|
|
13561
13881
|
] });
|
|
@@ -14019,10 +14339,19 @@ function ProxyViewer({
|
|
|
14019
14339
|
},
|
|
14020
14340
|
[onSessionChange]
|
|
14021
14341
|
);
|
|
14342
|
+
const labSessionId = pinnedSessionId !== void 0 ? pinnedSessionId : selectedSession === "__all__" ? null : selectedSession;
|
|
14022
14343
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-background min-h-screen w-full text-foreground", children: [
|
|
14023
14344
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid min-h-screen w-full grid-cols-1 lg:grid-cols-[minmax(0,1fr)_340px] xl:grid-cols-[minmax(0,1fr)_360px]", children: [
|
|
14024
14345
|
/* @__PURE__ */ jsxRuntimeExports.jsx("aside", { className: "bg-background/95 order-1 border-b border-white/[0.045] lg:sticky lg:top-0 lg:order-2 lg:h-screen lg:overflow-y-auto lg:border-b-0 lg:border-l lg:border-white/[0.055]", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4 p-4", children: [
|
|
14025
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
14346
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
14347
|
+
BrandHeader,
|
|
14348
|
+
{
|
|
14349
|
+
compact: true,
|
|
14350
|
+
crabEntrancePhase,
|
|
14351
|
+
currentSessionId: labSessionId,
|
|
14352
|
+
logCount: logs.length
|
|
14353
|
+
}
|
|
14354
|
+
),
|
|
14026
14355
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(SidebarPanel, { label: "Session", children: [
|
|
14027
14356
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid grid-cols-2 gap-2", children: [
|
|
14028
14357
|
/* @__PURE__ */ jsxRuntimeExports.jsx(SidebarMetric, { label: "Requests", value: logs.length }),
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
|
|
2
|
-
import { u as useProviders, D as Dialog, d as DialogContent, e as DialogHeader, h as DialogTitle, T as Tabs, i as TabsList, j as TabsTrigger, k as TabsContent, l as Button, m as TooltipProvider, n as Tooltip, o as TooltipTrigger, p as TooltipContent, q as dispatchLogFocusRequest } from "./ProxyViewerContainer-
|
|
3
|
-
import { ResponseView } from "./ResponseView-
|
|
4
|
-
import { C as CapturedLogSchema } from "./router-
|
|
2
|
+
import { u as useProviders, D as Dialog, d as DialogContent, e as DialogHeader, h as DialogTitle, T as Tabs, i as TabsList, j as TabsTrigger, k as TabsContent, l as Button, m as TooltipProvider, n as Tooltip, o as TooltipTrigger, p as TooltipContent, q as dispatchLogFocusRequest } from "./ProxyViewerContainer-Dp7Va9_T.mjs";
|
|
3
|
+
import { ResponseView } from "./ResponseView-CsTiNoOE.mjs";
|
|
4
|
+
import { C as CapturedLogSchema } from "./router-BJJ0VhsB.mjs";
|
|
5
5
|
import "../_libs/jszip.mjs";
|
|
6
6
|
import "../_libs/modelcontextprotocol__server.mjs";
|
|
7
|
-
import {
|
|
7
|
+
import { am as RotateCcw, ay as Braces, az as Minimize2 } from "../_libs/lucide-react.mjs";
|
|
8
8
|
import { d as object, n as number, a as array, c as boolean, b as string } from "../_libs/zod.mjs";
|
|
9
9
|
import "../_libs/swr.mjs";
|
|
10
10
|
import "../_libs/use-sync-external-store.mjs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
|
|
2
|
-
import { u as useProviders, s as analyzeContextIntelligence, f as formatTokens, m as TooltipProvider, c as cn, n as Tooltip, o as TooltipTrigger, p as TooltipContent, S as SegmentBar, R as ROLE_COLOR_CLASSES, A as ANATOMY_ROLE_LABELS, t as formatContextWindowTokens, C as CONTEXT_USAGE_THRESHOLDS } from "./ProxyViewerContainer-
|
|
3
|
-
import "./router-
|
|
2
|
+
import { u as useProviders, s as analyzeContextIntelligence, f as formatTokens, m as TooltipProvider, c as cn, n as Tooltip, o as TooltipTrigger, p as TooltipContent, S as SegmentBar, R as ROLE_COLOR_CLASSES, A as ANATOMY_ROLE_LABELS, t as formatContextWindowTokens, C as CONTEXT_USAGE_THRESHOLDS } from "./ProxyViewerContainer-Dp7Va9_T.mjs";
|
|
3
|
+
import "./router-BJJ0VhsB.mjs";
|
|
4
4
|
import "../_libs/modelcontextprotocol__server.mjs";
|
|
5
5
|
import "../_libs/jszip.mjs";
|
|
6
6
|
import { I as Info, a as ChevronDown, h as ChevronRight } from "../_libs/lucide-react.mjs";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
|
|
2
|
-
import { g as getLogFormatAdapter, f as formatTokens, c as cn, v as getStatusCategory, B as Badge, w as Collapsible, x as CollapsibleTrigger, y as CollapsibleContent, z as ScrollArea, E as LazyJsonViewer, F as safeJsonValue } from "./ProxyViewerContainer-
|
|
3
|
-
import { s as safeGetOwnProperty } from "./router-
|
|
2
|
+
import { g as getLogFormatAdapter, f as formatTokens, c as cn, v as getStatusCategory, B as Badge, w as Collapsible, x as CollapsibleTrigger, y as CollapsibleContent, z as ScrollArea, E as LazyJsonViewer, F as safeJsonValue } from "./ProxyViewerContainer-Dp7Va9_T.mjs";
|
|
3
|
+
import { s as safeGetOwnProperty } from "./router-BJJ0VhsB.mjs";
|
|
4
4
|
import "../_libs/jszip.mjs";
|
|
5
5
|
import "../_libs/modelcontextprotocol__server.mjs";
|
|
6
|
-
import {
|
|
6
|
+
import { $ as Zap, T as TriangleAlert, aA as CircleStop, a1 as Brain, a as ChevronDown, h as ChevronRight, r as Terminal } from "../_libs/lucide-react.mjs";
|
|
7
7
|
import { R as Root } from "../_libs/radix-ui__react-separator.mjs";
|
|
8
8
|
import "../_libs/swr.mjs";
|
|
9
9
|
import "../_libs/use-sync-external-store.mjs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
|
|
2
|
-
import { m as TooltipProvider, n as Tooltip, o as TooltipTrigger, B as Badge, p as TooltipContent, E as LazyJsonViewer } from "./ProxyViewerContainer-
|
|
3
|
-
import "./router-
|
|
2
|
+
import { m as TooltipProvider, n as Tooltip, o as TooltipTrigger, B as Badge, p as TooltipContent, E as LazyJsonViewer } from "./ProxyViewerContainer-Dp7Va9_T.mjs";
|
|
3
|
+
import "./router-BJJ0VhsB.mjs";
|
|
4
4
|
import "../_libs/modelcontextprotocol__server.mjs";
|
|
5
5
|
import "../_libs/jszip.mjs";
|
|
6
6
|
import { a as ChevronDown, h as ChevronRight, L as LoaderCircle } from "../_libs/lucide-react.mjs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as ProxyViewerContainer } from "./ProxyViewerContainer-
|
|
1
|
+
import { P as ProxyViewerContainer } from "./ProxyViewerContainer-Dp7Va9_T.mjs";
|
|
2
2
|
import "../_libs/react.mjs";
|
|
3
|
-
import "./router-
|
|
3
|
+
import "./router-BJJ0VhsB.mjs";
|
|
4
4
|
import "../_libs/modelcontextprotocol__server.mjs";
|
|
5
5
|
import "../_libs/jszip.mjs";
|
|
6
6
|
import "../_libs/swr.mjs";
|
|
@@ -198,7 +198,7 @@ function getResponse() {
|
|
|
198
198
|
return event.res;
|
|
199
199
|
}
|
|
200
200
|
async function getStartManifest(matchedRoutes) {
|
|
201
|
-
const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-
|
|
201
|
+
const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-CltlYL3I.mjs");
|
|
202
202
|
const startManifest = tsrStartManifest();
|
|
203
203
|
const rootRoute = startManifest.routes[rootRouteId] = startManifest.routes[rootRouteId] || {};
|
|
204
204
|
rootRoute.assets = rootRoute.assets || [];
|
|
@@ -776,7 +776,7 @@ let entriesPromise;
|
|
|
776
776
|
let baseManifestPromise;
|
|
777
777
|
let cachedFinalManifestPromise;
|
|
778
778
|
async function loadEntries() {
|
|
779
|
-
const routerEntry = await import("./router-
|
|
779
|
+
const routerEntry = await import("./router-BJJ0VhsB.mjs").then((n) => n.N);
|
|
780
780
|
const startEntry = await import("./start-HYkvq4Ni.mjs");
|
|
781
781
|
return { startEntry, routerEntry };
|
|
782
782
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
|
|
2
|
-
import { G as parseJsonText, c as cn, m as TooltipProvider, n as Tooltip, o as TooltipTrigger, p as TooltipContent, b as copyTextToClipboard } from "./ProxyViewerContainer-
|
|
3
|
-
import "./router-
|
|
2
|
+
import { G as parseJsonText, c as cn, m as TooltipProvider, n as Tooltip, o as TooltipTrigger, p as TooltipContent, b as copyTextToClipboard } from "./ProxyViewerContainer-Dp7Va9_T.mjs";
|
|
3
|
+
import "./router-BJJ0VhsB.mjs";
|
|
4
4
|
import "../_libs/modelcontextprotocol__server.mjs";
|
|
5
5
|
import "../_libs/jszip.mjs";
|
|
6
|
-
import { b as Check, e as Copy, a as ChevronDown, h as ChevronRight,
|
|
6
|
+
import { b as Check, e as Copy, a as ChevronDown, h as ChevronRight, aj as ChevronsDown } from "../_libs/lucide-react.mjs";
|
|
7
7
|
import "../_libs/swr.mjs";
|
|
8
8
|
import "../_libs/use-sync-external-store.mjs";
|
|
9
9
|
import "../_libs/dequal.mjs";
|