@tonyclaw/agent-inspector 3.0.13 → 3.0.14
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-BRV9ztWd.js → CompareDrawer-DDfwHQUi.js} +1 -1
- package/.output/public/assets/{ProxyViewerContainer-BVsv8OFb.js → ProxyViewerContainer-CbNsaoQw.js} +41 -41
- package/.output/public/assets/{ReplayDialog-B4b6aD0q.js → ReplayDialog-D-26DMBt.js} +1 -1
- package/.output/public/assets/{RequestAnatomy-ybH1l2Bp.js → RequestAnatomy-B6zNFqNX.js} +1 -1
- package/.output/public/assets/{ResponseView-DpPKgH-Y.js → ResponseView-Ccy95rWI.js} +2 -2
- package/.output/public/assets/{StreamingChunkSequence-9f_rtMzz.js → StreamingChunkSequence-yIiscGuE.js} +1 -1
- package/.output/public/assets/{_sessionId-gEmO-b2f.js → _sessionId-BnMB0zab.js} +1 -1
- package/.output/public/assets/index-49RC4dlD.js +1 -0
- package/.output/public/assets/{index-JgHKqbP1.js → index-BbtAIxbg.js} +1 -1
- package/.output/public/assets/index-DXKupW0r.css +1 -0
- package/.output/public/assets/{json-viewer-DFpIPmLo.js → json-viewer-C838cVmD.js} +1 -1
- package/.output/public/assets/{main-YvdO47OP.js → main-BfN4culo.js} +2 -2
- package/.output/server/_libs/lucide-react.mjs +33 -33
- package/.output/server/{_sessionId-wSX-l7m2.mjs → _sessionId-DoprmwZV.mjs} +3 -3
- package/.output/server/_ssr/{CompareDrawer-R4d8V0Rv.mjs → CompareDrawer-YMLJNxXR.mjs} +3 -3
- package/.output/server/_ssr/{ProxyViewerContainer-CDtJhGg8.mjs → ProxyViewerContainer-C62eZnva.mjs} +215 -24
- package/.output/server/_ssr/{ReplayDialog-BvmLERpW.mjs → ReplayDialog-NmN7Ukjo.mjs} +3 -3
- package/.output/server/_ssr/{RequestAnatomy-CH-oO6mY.mjs → RequestAnatomy-Dawm2qxe.mjs} +2 -2
- package/.output/server/_ssr/{ResponseView-D7shbJw0.mjs → ResponseView-BHyAY83t.mjs} +3 -3
- package/.output/server/_ssr/{StreamingChunkSequence-DB2YHGJj.mjs → StreamingChunkSequence-C4qgcJbg.mjs} +2 -2
- package/.output/server/_ssr/{index-CS4QLxuv.mjs → index-B2Pf6W_T.mjs} +2 -2
- package/.output/server/_ssr/index.mjs +2 -2
- package/.output/server/_ssr/{json-viewer-HxOn73kS.mjs → json-viewer-u67BASf8.mjs} +3 -3
- package/.output/server/_ssr/{router-l4O3mQ4T.mjs → router-CZhFVMGN.mjs} +267 -111
- package/.output/server/_tanstack-start-manifest_v-Dk2HfOoe.mjs +4 -0
- package/.output/server/index.mjs +75 -75
- package/README.md +24 -0
- package/package.json +1 -1
- package/src/components/ecosystem/AgentLabDialog.tsx +221 -10
- package/src/lib/ecosystemContract.ts +21 -1
- package/src/proxy/ecosystemRegistry.ts +52 -0
- package/src/proxy/ecosystemTasks.ts +95 -1
- package/src/routes/api/ecosystem.packages.ts +2 -1
- package/src/routes/api/ecosystem.recipes.$recipeId.run.ts +16 -0
- package/.output/public/assets/index-BIgsQvaF.css +0 -1
- package/.output/public/assets/index-CF3MPYb3.js +0 -1
- package/.output/server/_tanstack-start-manifest_v-Dckf_NHV.mjs +0 -4
|
@@ -816,7 +816,7 @@ const __iconNode = [
|
|
|
816
816
|
];
|
|
817
817
|
const Zap = createLucideIcon("zap", __iconNode);
|
|
818
818
|
export {
|
|
819
|
-
|
|
819
|
+
MessageSquare as $,
|
|
820
820
|
ArrowLeft as A,
|
|
821
821
|
Beaker as B,
|
|
822
822
|
CircleCheck as C,
|
|
@@ -824,50 +824,50 @@ export {
|
|
|
824
824
|
FolderOpen as E,
|
|
825
825
|
FileBraces as F,
|
|
826
826
|
Gauge as G,
|
|
827
|
-
|
|
827
|
+
History as H,
|
|
828
828
|
Info as I,
|
|
829
|
-
|
|
830
|
-
|
|
829
|
+
Bell as J,
|
|
830
|
+
Clock3 as K,
|
|
831
831
|
LoaderCircle as L,
|
|
832
832
|
Monitor as M,
|
|
833
833
|
Network as N,
|
|
834
|
-
|
|
834
|
+
ShieldAlert as O,
|
|
835
835
|
Plus as P,
|
|
836
|
-
|
|
836
|
+
EyeOff as Q,
|
|
837
837
|
RefreshCw as R,
|
|
838
838
|
Search as S,
|
|
839
839
|
TriangleAlert as T,
|
|
840
840
|
Upload as U,
|
|
841
|
-
|
|
842
|
-
|
|
841
|
+
Eye as V,
|
|
842
|
+
ExternalLink as W,
|
|
843
843
|
X,
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
844
|
+
Clock as Y,
|
|
845
|
+
RotateCw as Z,
|
|
846
|
+
Pencil as _,
|
|
847
847
|
ChevronDown as a,
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
848
|
+
Zap as a0,
|
|
849
|
+
Wrench as a1,
|
|
850
|
+
Brain as a2,
|
|
851
|
+
CircleCheckBig as a3,
|
|
852
|
+
Minus as a4,
|
|
853
|
+
CircleQuestionMark as a5,
|
|
854
|
+
Server as a6,
|
|
855
|
+
Lock as a7,
|
|
856
|
+
Wifi as a8,
|
|
857
|
+
WifiOff as a9,
|
|
858
858
|
CircleStop as aA,
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
859
|
+
CircleX as aa,
|
|
860
|
+
ShieldCheck as ab,
|
|
861
|
+
Save as ac,
|
|
862
|
+
FileSearch as ad,
|
|
863
|
+
CloudUpload as ae,
|
|
864
|
+
OctagonAlert as af,
|
|
865
|
+
Radio as ag,
|
|
866
|
+
Globe as ah,
|
|
867
|
+
FileTerminal as ai,
|
|
868
|
+
ChevronsUp as aj,
|
|
869
|
+
ChevronsDown as ak,
|
|
870
|
+
FileDiff as al,
|
|
871
871
|
RotateCcw as am,
|
|
872
872
|
GitCompareArrows as an,
|
|
873
873
|
ArrowUp as ao,
|
|
@@ -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-C62eZnva.mjs";
|
|
3
|
+
import { R as Route$J } from "./_ssr/router-CZhFVMGN.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$J.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-C62eZnva.mjs";
|
|
3
|
+
import "./router-CZhFVMGN.mjs";
|
|
4
4
|
import "../_libs/modelcontextprotocol__server.mjs";
|
|
5
5
|
import "../_libs/jszip.mjs";
|
|
6
|
-
import { X, av as Rows3, aw as Columns2,
|
|
6
|
+
import { X, av as Rows3, aw as Columns2, a4 as Minus, P as Plus, _ 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-CDtJhGg8.mjs → ProxyViewerContainer-C62eZnva.mjs}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as reactExports, j as jsxRuntimeExports, a as React } from "../_libs/react.mjs";
|
|
2
|
-
import { 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, l as AlertSummarySchema, m as AlertListResponseSchema, I as InspectorGroupsListResponseSchema, G as GroupEvidenceReadResponseSchema, 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, t as maskApiKey, v as PATH_V1_MESSAGES, w as PATH_V1_CHAT_COMPLETIONS, x 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, u as findProviderModelMetadata, y as previewUpstreamUrl, K as KnowledgeCandidateSchema, J as isPlainRecord, k as stripClaudeCodeBillingHeader, L as LogBodyChunkSchema } from "./router-
|
|
2
|
+
import { 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, l as AlertSummarySchema, m as AlertListResponseSchema, I as InspectorGroupsListResponseSchema, G as GroupEvidenceReadResponseSchema, 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, t as maskApiKey, v as PATH_V1_MESSAGES, w as PATH_V1_CHAT_COMPLETIONS, x 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, u as findProviderModelMetadata, y as previewUpstreamUrl, K as KnowledgeCandidateSchema, J as isPlainRecord, k as stripClaudeCodeBillingHeader, L as LogBodyChunkSchema } from "./router-CZhFVMGN.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 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,
|
|
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, H as History, v as Scan, w as CircleAlert, x as ArrowUpRight, y as ArrowDownRight, z as Cpu, E as FolderOpen, J as Bell, K as Clock3, O as ShieldAlert, Q as EyeOff, V as Eye, W as ExternalLink, Y as Clock, Z as RotateCw, _ as Pencil, $ as MessageSquare, a0 as Zap, a1 as Wrench, a2 as Brain, a3 as CircleCheckBig, a4 as Minus, a5 as CircleQuestionMark, a6 as Server, a7 as Lock, a8 as Wifi, a9 as WifiOff, aa as CircleX, ab as ShieldCheck, ac as Save, ad as FileSearch, ae as CloudUpload, af as OctagonAlert, ag as Radio, ah as Globe, ai as FileTerminal, aj as ChevronsUp, ak as ChevronsDown, al as FileDiff, 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, n as number, c as boolean, b as string, _ 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";
|
|
@@ -2546,27 +2546,27 @@ function useCopyFeedback(text) {
|
|
|
2546
2546
|
return { copied, copy };
|
|
2547
2547
|
}
|
|
2548
2548
|
const LazyCompareDrawer = reactExports.lazy(
|
|
2549
|
-
() => import("./CompareDrawer-
|
|
2549
|
+
() => import("./CompareDrawer-YMLJNxXR.mjs").then((m) => ({ default: m.CompareDrawer }))
|
|
2550
2550
|
);
|
|
2551
2551
|
const LazyReplayDialog = reactExports.lazy(
|
|
2552
|
-
() => import("./ReplayDialog-
|
|
2552
|
+
() => import("./ReplayDialog-NmN7Ukjo.mjs").then((m) => ({ default: m.ReplayDialog }))
|
|
2553
2553
|
);
|
|
2554
2554
|
const LazyRequestAnatomy = reactExports.lazy(
|
|
2555
|
-
() => import("./RequestAnatomy-
|
|
2555
|
+
() => import("./RequestAnatomy-Dawm2qxe.mjs").then((m) => ({ default: m.RequestAnatomy }))
|
|
2556
2556
|
);
|
|
2557
2557
|
const LazyResponseView = reactExports.lazy(
|
|
2558
|
-
() => import("./ResponseView-
|
|
2558
|
+
() => import("./ResponseView-BHyAY83t.mjs").then((m) => ({ default: m.ResponseView }))
|
|
2559
2559
|
);
|
|
2560
2560
|
const LazyStreamingChunkSequence = reactExports.lazy(
|
|
2561
|
-
() => import("./StreamingChunkSequence-
|
|
2561
|
+
() => import("./StreamingChunkSequence-C4qgcJbg.mjs").then((m) => ({
|
|
2562
2562
|
default: m.StreamingChunkSequence
|
|
2563
2563
|
}))
|
|
2564
2564
|
);
|
|
2565
2565
|
const LazyJsonViewer = reactExports.lazy(
|
|
2566
|
-
() => import("./json-viewer-
|
|
2566
|
+
() => import("./json-viewer-u67BASf8.mjs").then((m) => ({ default: m.JsonViewer }))
|
|
2567
2567
|
);
|
|
2568
2568
|
const LazyJsonViewerFromString = reactExports.lazy(
|
|
2569
|
-
() => import("./json-viewer-
|
|
2569
|
+
() => import("./json-viewer-u67BASf8.mjs").then((m) => ({ default: m.JsonViewerFromString }))
|
|
2570
2570
|
);
|
|
2571
2571
|
const HIGHLIGHT_DURATION_MS = 1200;
|
|
2572
2572
|
const MAX_HIGHLIGHT_ATTEMPTS = 12;
|
|
@@ -11084,17 +11084,35 @@ const EcosystemRunnerPresetSchema = object({
|
|
|
11084
11084
|
skillsDir: string(),
|
|
11085
11085
|
agentsDir: string()
|
|
11086
11086
|
});
|
|
11087
|
+
const EcosystemRecipeSchema = object({
|
|
11088
|
+
id: string(),
|
|
11089
|
+
title: string(),
|
|
11090
|
+
stage: string(),
|
|
11091
|
+
packageId: string(),
|
|
11092
|
+
description: string(),
|
|
11093
|
+
command: string(),
|
|
11094
|
+
requiresSession: boolean(),
|
|
11095
|
+
runnable: boolean()
|
|
11096
|
+
});
|
|
11087
11097
|
const EcosystemPackagesResponseSchema = object({
|
|
11088
11098
|
checkedAt: string(),
|
|
11089
11099
|
packages: array(EcosystemPackageSchema),
|
|
11090
|
-
runnerPresets: array(EcosystemRunnerPresetSchema)
|
|
11100
|
+
runnerPresets: array(EcosystemRunnerPresetSchema),
|
|
11101
|
+
recipes: array(EcosystemRecipeSchema)
|
|
11091
11102
|
});
|
|
11092
|
-
const EcosystemTaskActionSchema = _enum([
|
|
11103
|
+
const EcosystemTaskActionSchema = _enum([
|
|
11104
|
+
"install",
|
|
11105
|
+
"upgrade",
|
|
11106
|
+
"help",
|
|
11107
|
+
"runner-presets",
|
|
11108
|
+
"recipe"
|
|
11109
|
+
]);
|
|
11093
11110
|
const EcosystemTaskStatusSchema = _enum(["queued", "running", "succeeded", "failed"]);
|
|
11094
11111
|
const EcosystemTaskSchema = object({
|
|
11095
11112
|
id: string(),
|
|
11096
11113
|
packageId: string(),
|
|
11097
11114
|
npmName: string(),
|
|
11115
|
+
recipeId: string().nullable().default(null),
|
|
11098
11116
|
action: EcosystemTaskActionSchema,
|
|
11099
11117
|
status: EcosystemTaskStatusSchema,
|
|
11100
11118
|
command: string(),
|
|
@@ -11108,7 +11126,7 @@ const EcosystemTaskSchema = object({
|
|
|
11108
11126
|
const EcosystemTaskResponseSchema = object({
|
|
11109
11127
|
task: EcosystemTaskSchema
|
|
11110
11128
|
});
|
|
11111
|
-
object({
|
|
11129
|
+
const EcosystemTasksResponseSchema = object({
|
|
11112
11130
|
tasks: array(EcosystemTaskSchema)
|
|
11113
11131
|
});
|
|
11114
11132
|
const WORKFLOWS = [
|
|
@@ -11161,6 +11179,14 @@ async function fetchEcosystemTask(url) {
|
|
|
11161
11179
|
(response) => `Failed to load ecosystem task: ${String(response.status)}`
|
|
11162
11180
|
);
|
|
11163
11181
|
}
|
|
11182
|
+
async function fetchEcosystemTasks(url) {
|
|
11183
|
+
return fetchJson(
|
|
11184
|
+
url,
|
|
11185
|
+
EcosystemTasksResponseSchema,
|
|
11186
|
+
void 0,
|
|
11187
|
+
(response) => `Failed to load ecosystem tasks: ${String(response.status)}`
|
|
11188
|
+
);
|
|
11189
|
+
}
|
|
11164
11190
|
async function startEcosystemTask(packageId, action) {
|
|
11165
11191
|
const response = await fetchJson(
|
|
11166
11192
|
`/api/ecosystem/packages/${encodeURIComponent(packageId)}/${action}`,
|
|
@@ -11170,6 +11196,15 @@ async function startEcosystemTask(packageId, action) {
|
|
|
11170
11196
|
);
|
|
11171
11197
|
return response.task;
|
|
11172
11198
|
}
|
|
11199
|
+
async function startEcosystemRecipe(recipeId) {
|
|
11200
|
+
const response = await fetchJson(
|
|
11201
|
+
`/api/ecosystem/recipes/${encodeURIComponent(recipeId)}/run`,
|
|
11202
|
+
EcosystemTaskResponseSchema,
|
|
11203
|
+
{ method: "POST" },
|
|
11204
|
+
(result) => `Failed to start ecosystem recipe: ${String(result.status)}`
|
|
11205
|
+
);
|
|
11206
|
+
return response.task;
|
|
11207
|
+
}
|
|
11173
11208
|
function stateLabel(state) {
|
|
11174
11209
|
switch (state) {
|
|
11175
11210
|
case "installed":
|
|
@@ -11217,6 +11252,8 @@ function taskActionLabel(action) {
|
|
|
11217
11252
|
return "Help";
|
|
11218
11253
|
case "runner-presets":
|
|
11219
11254
|
return "Presets";
|
|
11255
|
+
case "recipe":
|
|
11256
|
+
return "Recipe";
|
|
11220
11257
|
}
|
|
11221
11258
|
}
|
|
11222
11259
|
function taskStatusLabel(task) {
|
|
@@ -11231,6 +11268,17 @@ function taskStatusLabel(task) {
|
|
|
11231
11268
|
return `${taskActionLabel(task.action)} failed`;
|
|
11232
11269
|
}
|
|
11233
11270
|
}
|
|
11271
|
+
function taskStatusClassName(status) {
|
|
11272
|
+
switch (status) {
|
|
11273
|
+
case "queued":
|
|
11274
|
+
case "running":
|
|
11275
|
+
return "border-cyan-300/20 bg-cyan-300/8 text-cyan-100";
|
|
11276
|
+
case "succeeded":
|
|
11277
|
+
return "border-emerald-400/20 bg-emerald-400/8 text-emerald-100";
|
|
11278
|
+
case "failed":
|
|
11279
|
+
return "border-red-400/20 bg-red-400/8 text-red-100";
|
|
11280
|
+
}
|
|
11281
|
+
}
|
|
11234
11282
|
function packagePrimaryAction(pkg) {
|
|
11235
11283
|
switch (pkg.state) {
|
|
11236
11284
|
case "available":
|
|
@@ -11325,17 +11373,7 @@ function TaskConsole({ task }) {
|
|
|
11325
11373
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "break-all font-mono text-[11px] text-white/35", children: task.command })
|
|
11326
11374
|
] })
|
|
11327
11375
|
] }),
|
|
11328
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
11329
|
-
Badge,
|
|
11330
|
-
{
|
|
11331
|
-
variant: "outline",
|
|
11332
|
-
className: cn(
|
|
11333
|
-
"shrink-0",
|
|
11334
|
-
task.status === "failed" ? "border-red-400/20 bg-red-400/8 text-red-100" : "border-cyan-300/20 bg-cyan-300/8 text-cyan-100"
|
|
11335
|
-
),
|
|
11336
|
-
children: task.status
|
|
11337
|
-
}
|
|
11338
|
-
)
|
|
11376
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Badge, { variant: "outline", className: cn("shrink-0", taskStatusClassName(task.status)), children: task.status })
|
|
11339
11377
|
] }),
|
|
11340
11378
|
/* @__PURE__ */ jsxRuntimeExports.jsx("pre", { className: "mt-3 max-h-56 overflow-auto whitespace-pre-wrap rounded-md bg-black/30 p-3 font-mono text-[11px] leading-5 text-white/60 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]", children: task.output.trim().length > 0 ? task.output : "Waiting for npm output..." }),
|
|
11341
11379
|
task.error !== null && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2 text-xs text-red-100", children: task.error })
|
|
@@ -11392,10 +11430,89 @@ function RunnerPresetCard({ preset }) {
|
|
|
11392
11430
|
] })
|
|
11393
11431
|
] });
|
|
11394
11432
|
}
|
|
11433
|
+
function RecipeCard({
|
|
11434
|
+
recipe,
|
|
11435
|
+
copied,
|
|
11436
|
+
running,
|
|
11437
|
+
onCopy,
|
|
11438
|
+
onRun
|
|
11439
|
+
}) {
|
|
11440
|
+
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: [
|
|
11441
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-wrap items-start justify-between gap-3", children: [
|
|
11442
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "min-w-0", children: [
|
|
11443
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex min-w-0 items-start gap-2", children: [
|
|
11444
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FlaskConical, { className: "size-4 shrink-0 text-cyan-200/75" }),
|
|
11445
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-sm font-semibold leading-snug", children: recipe.title })
|
|
11446
|
+
] }),
|
|
11447
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-1 text-xs leading-5 text-muted-foreground", children: recipe.description })
|
|
11448
|
+
] }),
|
|
11449
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Badge, { variant: "outline", className: "border-white/10 bg-white/[0.04] text-white/55", children: recipe.runnable ? recipe.stage : "Template" })
|
|
11450
|
+
] }),
|
|
11451
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-3 rounded-md bg-black/20 p-2 font-mono text-[11px] leading-5 text-white/50 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]", children: recipe.command }),
|
|
11452
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-3 flex items-center justify-between gap-2", children: [
|
|
11453
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "rounded bg-white/[0.035] px-2 py-1 font-mono text-[11px] text-white/35", children: recipe.packageId }),
|
|
11454
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
11455
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Button, { type: "button", size: "sm", variant: "outline", onClick: () => onCopy(recipe), children: [
|
|
11456
|
+
copied ? /* @__PURE__ */ jsxRuntimeExports.jsx(Check, { className: "size-3.5" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(Copy, { className: "size-3.5" }),
|
|
11457
|
+
copied ? "Copied" : "Copy"
|
|
11458
|
+
] }),
|
|
11459
|
+
recipe.runnable && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
11460
|
+
Button,
|
|
11461
|
+
{
|
|
11462
|
+
type: "button",
|
|
11463
|
+
size: "sm",
|
|
11464
|
+
variant: "secondary",
|
|
11465
|
+
disabled: running,
|
|
11466
|
+
onClick: () => onRun(recipe),
|
|
11467
|
+
children: [
|
|
11468
|
+
running ? /* @__PURE__ */ jsxRuntimeExports.jsx(LoaderCircle, { className: "size-3.5 animate-spin" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(Rocket, { className: "size-3.5" }),
|
|
11469
|
+
running ? "Running" : "Run"
|
|
11470
|
+
]
|
|
11471
|
+
}
|
|
11472
|
+
)
|
|
11473
|
+
] })
|
|
11474
|
+
] })
|
|
11475
|
+
] });
|
|
11476
|
+
}
|
|
11477
|
+
function RecentTaskRow({
|
|
11478
|
+
task,
|
|
11479
|
+
selected,
|
|
11480
|
+
onSelect
|
|
11481
|
+
}) {
|
|
11482
|
+
const label = task.recipeId ?? taskActionLabel(task.action);
|
|
11483
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between gap-3 rounded-md bg-white/[0.025] px-3 py-2 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]", children: [
|
|
11484
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "min-w-0", children: [
|
|
11485
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
11486
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(History, { className: "size-3.5 shrink-0 text-white/40" }),
|
|
11487
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "truncate text-xs font-semibold text-white/75", children: label }),
|
|
11488
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Badge, { variant: "outline", className: cn("shrink-0", taskStatusClassName(task.status)), children: task.status })
|
|
11489
|
+
] }),
|
|
11490
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-1 flex min-w-0 flex-wrap items-center gap-2 font-mono text-[10px] text-white/35", children: [
|
|
11491
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: task.packageId }),
|
|
11492
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: new Date(task.createdAt).toLocaleTimeString() }),
|
|
11493
|
+
task.exitCode !== null && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { children: [
|
|
11494
|
+
"exit ",
|
|
11495
|
+
String(task.exitCode)
|
|
11496
|
+
] })
|
|
11497
|
+
] })
|
|
11498
|
+
] }),
|
|
11499
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
11500
|
+
Button,
|
|
11501
|
+
{
|
|
11502
|
+
type: "button",
|
|
11503
|
+
size: "sm",
|
|
11504
|
+
variant: selected ? "secondary" : "outline",
|
|
11505
|
+
onClick: () => onSelect(task),
|
|
11506
|
+
children: selected ? "Open" : "View"
|
|
11507
|
+
}
|
|
11508
|
+
)
|
|
11509
|
+
] });
|
|
11510
|
+
}
|
|
11395
11511
|
function AgentLabDialog({ currentSessionId, logCount }) {
|
|
11396
11512
|
const [open, setOpen] = reactExports.useState(false);
|
|
11397
11513
|
const [copied, setCopied] = reactExports.useState(false);
|
|
11398
11514
|
const [copiedPresets, setCopiedPresets] = reactExports.useState(false);
|
|
11515
|
+
const [copiedRecipeId, setCopiedRecipeId] = reactExports.useState(null);
|
|
11399
11516
|
const [activeTaskId, setActiveTaskId] = reactExports.useState(null);
|
|
11400
11517
|
const [taskError, setTaskError] = reactExports.useState(null);
|
|
11401
11518
|
const response = useSWR("/api/ecosystem/packages", fetchEcosystemPackages, {
|
|
@@ -11413,8 +11530,14 @@ function AgentLabDialog({ currentSessionId, logCount }) {
|
|
|
11413
11530
|
revalidateOnFocus: false
|
|
11414
11531
|
}
|
|
11415
11532
|
);
|
|
11533
|
+
const tasksResponse = useSWR(open ? "/api/ecosystem/tasks" : null, fetchEcosystemTasks, {
|
|
11534
|
+
refreshInterval: 2500,
|
|
11535
|
+
revalidateOnFocus: false
|
|
11536
|
+
});
|
|
11416
11537
|
const packages = response.data?.packages ?? [];
|
|
11417
11538
|
const runnerPresets = response.data?.runnerPresets ?? [];
|
|
11539
|
+
const recipes = response.data?.recipes ?? [];
|
|
11540
|
+
const recentTasks = (tasksResponse.data?.tasks ?? []).slice(0, 6);
|
|
11418
11541
|
const installedCount = reactExports.useMemo(
|
|
11419
11542
|
() => packages.filter((pkg) => pkg.state === "installed" || pkg.state === "update-available").length,
|
|
11420
11543
|
[packages]
|
|
@@ -11433,17 +11556,35 @@ function AgentLabDialog({ currentSessionId, logCount }) {
|
|
|
11433
11556
|
window.setTimeout(() => setCopiedPresets(false), 1200);
|
|
11434
11557
|
});
|
|
11435
11558
|
};
|
|
11559
|
+
const copyRecipeCommand = (recipe) => {
|
|
11560
|
+
void copyTextToClipboard(recipe.command).then(() => {
|
|
11561
|
+
setCopiedRecipeId(recipe.id);
|
|
11562
|
+
window.setTimeout(() => setCopiedRecipeId(null), 1200);
|
|
11563
|
+
});
|
|
11564
|
+
};
|
|
11565
|
+
const runRecipe = (recipe) => {
|
|
11566
|
+
setTaskError(null);
|
|
11567
|
+
void startEcosystemRecipe(recipe.id).then((task) => {
|
|
11568
|
+
setActiveTaskId(task.id);
|
|
11569
|
+
void activeTaskResponse.mutate({ task }, { revalidate: true });
|
|
11570
|
+
void tasksResponse.mutate();
|
|
11571
|
+
}).catch((error) => {
|
|
11572
|
+
setTaskError(error instanceof Error ? error.message : "Failed to start ecosystem recipe");
|
|
11573
|
+
});
|
|
11574
|
+
};
|
|
11436
11575
|
const activeTask = activeTaskResponse.data?.task ?? null;
|
|
11437
11576
|
reactExports.useEffect(() => {
|
|
11438
11577
|
if (activeTask === null) return;
|
|
11578
|
+
void tasksResponse.mutate();
|
|
11439
11579
|
if (activeTask.status !== "succeeded") return;
|
|
11440
11580
|
void response.mutate();
|
|
11441
|
-
}, [activeTask, response]);
|
|
11581
|
+
}, [activeTask, response, tasksResponse]);
|
|
11442
11582
|
const handleStartTask = (packageId, action) => {
|
|
11443
11583
|
setTaskError(null);
|
|
11444
11584
|
void startEcosystemTask(packageId, action).then((task) => {
|
|
11445
11585
|
setActiveTaskId(task.id);
|
|
11446
11586
|
void activeTaskResponse.mutate({ task }, { revalidate: true });
|
|
11587
|
+
void tasksResponse.mutate();
|
|
11447
11588
|
}).catch((error) => {
|
|
11448
11589
|
setTaskError(error instanceof Error ? error.message : "Failed to start ecosystem task");
|
|
11449
11590
|
});
|
|
@@ -11509,6 +11650,35 @@ function AgentLabDialog({ currentSessionId, logCount }) {
|
|
|
11509
11650
|
] })
|
|
11510
11651
|
] })
|
|
11511
11652
|
] }),
|
|
11653
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("section", { className: "mt-3", children: [
|
|
11654
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mb-2 flex items-center justify-between gap-3", children: [
|
|
11655
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-sm font-semibold", children: "Lab recipes" }),
|
|
11656
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "hidden items-center gap-1 font-mono text-[11px] text-muted-foreground sm:flex", children: [
|
|
11657
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Sparkles, { className: "size-3.5" }),
|
|
11658
|
+
"copy-ready workflows"
|
|
11659
|
+
] })
|
|
11660
|
+
] }),
|
|
11661
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid gap-3 md:grid-cols-2", children: [
|
|
11662
|
+
recipes.map((recipe) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
11663
|
+
RecipeCard,
|
|
11664
|
+
{
|
|
11665
|
+
recipe,
|
|
11666
|
+
copied: copiedRecipeId === recipe.id,
|
|
11667
|
+
running: activeTask !== null && activeTask.recipeId === recipe.id && (activeTask.status === "queued" || activeTask.status === "running"),
|
|
11668
|
+
onCopy: copyRecipeCommand,
|
|
11669
|
+
onRun: runRecipe
|
|
11670
|
+
},
|
|
11671
|
+
recipe.id
|
|
11672
|
+
)),
|
|
11673
|
+
response.isLoading && recipes.length === 0 && [0, 1].map((index) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
11674
|
+
"div",
|
|
11675
|
+
{
|
|
11676
|
+
className: "h-40 animate-pulse rounded-lg bg-white/[0.025] shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]"
|
|
11677
|
+
},
|
|
11678
|
+
index
|
|
11679
|
+
))
|
|
11680
|
+
] })
|
|
11681
|
+
] }),
|
|
11512
11682
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("section", { className: "mt-3", children: [
|
|
11513
11683
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mb-2 flex items-center justify-between gap-3", children: [
|
|
11514
11684
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-sm font-semibold", children: "Runner presets" }),
|
|
@@ -11554,6 +11724,27 @@ function AgentLabDialog({ currentSessionId, logCount }) {
|
|
|
11554
11724
|
] })
|
|
11555
11725
|
] }),
|
|
11556
11726
|
taskError !== null && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-3 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: taskError }),
|
|
11727
|
+
recentTasks.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs("section", { className: "mt-3", children: [
|
|
11728
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mb-2 flex items-center justify-between gap-3", children: [
|
|
11729
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-sm font-semibold", children: "Recent Lab runs" }),
|
|
11730
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "hidden font-mono text-[11px] text-muted-foreground sm:block", children: [
|
|
11731
|
+
"last ",
|
|
11732
|
+
String(recentTasks.length)
|
|
11733
|
+
] })
|
|
11734
|
+
] }),
|
|
11735
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid gap-2 md:grid-cols-2", children: recentTasks.map((task) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
11736
|
+
RecentTaskRow,
|
|
11737
|
+
{
|
|
11738
|
+
task,
|
|
11739
|
+
selected: activeTaskId === task.id,
|
|
11740
|
+
onSelect: (selectedTask) => {
|
|
11741
|
+
setActiveTaskId(selectedTask.id);
|
|
11742
|
+
void activeTaskResponse.mutate({ task: selectedTask }, { revalidate: true });
|
|
11743
|
+
}
|
|
11744
|
+
},
|
|
11745
|
+
task.id
|
|
11746
|
+
)) })
|
|
11747
|
+
] }),
|
|
11557
11748
|
/* @__PURE__ */ jsxRuntimeExports.jsx(TaskConsole, { task: activeTask })
|
|
11558
11749
|
] })
|
|
11559
11750
|
] })
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
|
|
2
|
-
import { u as useProviders, d as fetchJsonWithTimeout, D as Dialog, e as DialogContent, h as DialogHeader, i as DialogTitle, T as Tabs, j as TabsList, k as TabsTrigger, l as TabsContent, m as Button, n as TooltipProvider, o as Tooltip, p as TooltipTrigger, q as TooltipContent, s as dispatchLogFocusRequest, A as ApiTimeoutError } from "./ProxyViewerContainer-
|
|
3
|
-
import { ResponseView } from "./ResponseView-
|
|
4
|
-
import { C as CapturedLogSchema } from "./router-
|
|
2
|
+
import { u as useProviders, d as fetchJsonWithTimeout, D as Dialog, e as DialogContent, h as DialogHeader, i as DialogTitle, T as Tabs, j as TabsList, k as TabsTrigger, l as TabsContent, m as Button, n as TooltipProvider, o as Tooltip, p as TooltipTrigger, q as TooltipContent, s as dispatchLogFocusRequest, A as ApiTimeoutError } from "./ProxyViewerContainer-C62eZnva.mjs";
|
|
3
|
+
import { ResponseView } from "./ResponseView-BHyAY83t.mjs";
|
|
4
|
+
import { C as CapturedLogSchema } from "./router-CZhFVMGN.mjs";
|
|
5
5
|
import "../_libs/jszip.mjs";
|
|
6
6
|
import "../_libs/modelcontextprotocol__server.mjs";
|
|
7
7
|
import { am as RotateCcw, ay as Braces, az as Minimize2 } from "../_libs/lucide-react.mjs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
|
|
2
|
-
import { u as useProviders, t as analyzeContextIntelligence, f as formatTokens, n as TooltipProvider, c as cn, o as Tooltip, p as TooltipTrigger, q as TooltipContent, S as SegmentBar, R as ROLE_COLOR_CLASSES, v as ANATOMY_ROLE_LABELS, w as formatContextWindowTokens, C as CONTEXT_USAGE_THRESHOLDS } from "./ProxyViewerContainer-
|
|
3
|
-
import "./router-
|
|
2
|
+
import { u as useProviders, t as analyzeContextIntelligence, f as formatTokens, n as TooltipProvider, c as cn, o as Tooltip, p as TooltipTrigger, q as TooltipContent, S as SegmentBar, R as ROLE_COLOR_CLASSES, v as ANATOMY_ROLE_LABELS, w as formatContextWindowTokens, C as CONTEXT_USAGE_THRESHOLDS } from "./ProxyViewerContainer-C62eZnva.mjs";
|
|
3
|
+
import "./router-CZhFVMGN.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, x as getStatusCategory, B as Badge, y as Collapsible, z as CollapsibleTrigger, E as CollapsibleContent, F as ScrollArea, G as LazyJsonViewer, H as safeJsonValue } from "./ProxyViewerContainer-
|
|
3
|
-
import { s as safeGetOwnProperty } from "./router-
|
|
2
|
+
import { g as getLogFormatAdapter, f as formatTokens, c as cn, x as getStatusCategory, B as Badge, y as Collapsible, z as CollapsibleTrigger, E as CollapsibleContent, F as ScrollArea, G as LazyJsonViewer, H as safeJsonValue } from "./ProxyViewerContainer-C62eZnva.mjs";
|
|
3
|
+
import { s as safeGetOwnProperty } from "./router-CZhFVMGN.mjs";
|
|
4
4
|
import "../_libs/jszip.mjs";
|
|
5
5
|
import "../_libs/modelcontextprotocol__server.mjs";
|
|
6
|
-
import {
|
|
6
|
+
import { a0 as Zap, T as TriangleAlert, aA as CircleStop, a2 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 { d as fetchJsonWithTimeout, n as TooltipProvider, o as Tooltip, p as TooltipTrigger, B as Badge, q as TooltipContent, G as LazyJsonViewer } from "./ProxyViewerContainer-
|
|
3
|
-
import { S as StreamingChunkSchema$1 } from "./router-
|
|
2
|
+
import { d as fetchJsonWithTimeout, n as TooltipProvider, o as Tooltip, p as TooltipTrigger, B as Badge, q as TooltipContent, G as LazyJsonViewer } from "./ProxyViewerContainer-C62eZnva.mjs";
|
|
3
|
+
import { S as StreamingChunkSchema$1 } from "./router-CZhFVMGN.mjs";
|
|
4
4
|
import "../_libs/jszip.mjs";
|
|
5
5
|
import "../_libs/modelcontextprotocol__server.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-C62eZnva.mjs";
|
|
2
2
|
import "../_libs/react.mjs";
|
|
3
|
-
import "./router-
|
|
3
|
+
import "./router-CZhFVMGN.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-Dk2HfOoe.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-CZhFVMGN.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 { I as parseJsonText, c as cn, n as TooltipProvider, o as Tooltip, p as TooltipTrigger, q as TooltipContent, b as copyTextToClipboard } from "./ProxyViewerContainer-
|
|
3
|
-
import "./router-
|
|
2
|
+
import { I as parseJsonText, c as cn, n as TooltipProvider, o as Tooltip, p as TooltipTrigger, q as TooltipContent, b as copyTextToClipboard } from "./ProxyViewerContainer-C62eZnva.mjs";
|
|
3
|
+
import "./router-CZhFVMGN.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, ak 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";
|