@tonyclaw/agent-inspector 3.0.15 → 3.0.17
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-UaIxykqz.js → CompareDrawer-Lx-WeJNC.js} +1 -1
- package/.output/public/assets/{ProxyViewerContainer-DlpfcX56.js → ProxyViewerContainer-BNehwMI0.js} +31 -31
- package/.output/public/assets/{ReplayDialog-BFFomU1m.js → ReplayDialog-CADaXFPE.js} +1 -1
- package/.output/public/assets/{RequestAnatomy-DKQJBt_c.js → RequestAnatomy-CGoL8ACh.js} +1 -1
- package/.output/public/assets/{ResponseView-D7yotmne.js → ResponseView-BSwM1dCH.js} +2 -2
- package/.output/public/assets/{StreamingChunkSequence-Da-6WNFG.js → StreamingChunkSequence-qhWtSx3D.js} +1 -1
- package/.output/public/assets/{_sessionId-ByTXLS-w.js → _sessionId-2uq_HB8p.js} +1 -1
- package/.output/public/assets/index-BHXN1Fsx.css +1 -0
- package/.output/public/assets/{index-BrM8t5mc.js → index-DPc2wzgW.js} +1 -1
- package/.output/public/assets/index-T0u1foYL.js +1 -0
- package/.output/public/assets/{json-viewer-DyjXQdVu.js → json-viewer-uIwLntt-.js} +1 -1
- package/.output/public/assets/{main-Zv_gjZMb.js → main-DuFBHsus.js} +7 -7
- package/.output/server/_libs/@opentelemetry/semantic-conventions+[...].mjs +2658 -0
- package/.output/server/_libs/agent-base.mjs +234 -0
- package/.output/server/_libs/anthropic-ai__sdk.mjs +6042 -0
- package/.output/server/_libs/atomically.mjs +3 -0
- package/.output/server/_libs/base64-js.mjs +102 -0
- package/.output/server/_libs/bignumber.js.mjs +1353 -0
- package/.output/server/_libs/buffer-equal-constant-time.mjs +38 -0
- package/.output/server/_libs/data-uri-to-buffer.mjs +39 -0
- package/.output/server/_libs/debug.mjs +547 -0
- package/.output/server/_libs/ecdsa-sig-formatter.mjs +162 -0
- package/.output/server/_libs/extend.mjs +2 -1
- package/.output/server/_libs/fetch-blob.mjs +287 -0
- package/.output/server/_libs/formdata-polyfill.mjs +88 -0
- package/.output/server/_libs/gaxios.mjs +927 -0
- package/.output/server/_libs/gcp-metadata.mjs +322 -0
- package/.output/server/_libs/google-auth-library.mjs +6339 -0
- package/.output/server/_libs/google-logging-utils.mjs +385 -0
- package/.output/server/_libs/google__genai.mjs +18034 -0
- package/.output/server/_libs/has-flag.mjs +16 -0
- package/.output/server/_libs/https-proxy-agent.mjs +280 -0
- package/.output/server/_libs/json-bigint.mjs +413 -0
- package/.output/server/_libs/jwa.mjs +233 -0
- package/.output/server/_libs/jws.mjs +298 -0
- package/.output/server/_libs/lucide-react.mjs +261 -226
- package/.output/server/_libs/mariozechner__pi-agent-core.mjs +824 -0
- package/.output/server/_libs/mariozechner__pi-ai.mjs +22889 -0
- package/.output/server/_libs/mistralai__mistralai.mjs +32045 -0
- package/.output/server/_libs/ms.mjs +120 -0
- package/.output/server/_libs/node-domexception.mjs +17 -0
- package/.output/server/_libs/node-fetch.mjs +1578 -0
- package/.output/server/_libs/ohash.mjs +1 -1
- package/.output/server/_libs/openai.mjs +6766 -0
- package/.output/server/_libs/opentelemetry__api.mjs +1678 -0
- package/.output/server/_libs/p-retry.mjs +87 -0
- package/.output/server/_libs/partial-json.mjs +244 -0
- package/.output/server/_libs/react-dom.mjs +5 -5
- package/.output/server/_libs/react-markdown.mjs +2 -2
- package/.output/server/_libs/react.mjs +30 -0
- package/.output/server/_libs/readable-stream.mjs +5 -5
- package/.output/server/_libs/retry.mjs +236 -0
- package/.output/server/_libs/safe-buffer.mjs +63 -1
- package/.output/server/_libs/srvx.mjs +2 -2
- package/.output/server/_libs/supports-color.mjs +108 -0
- package/.output/server/_libs/tanstack__router-core.mjs +1 -1
- package/.output/server/_libs/typebox.mjs +6596 -0
- package/.output/server/_libs/util-deprecate.mjs +2 -2
- package/.output/server/_libs/vfile.mjs +2 -2
- package/.output/server/_libs/web-streams-polyfill.mjs +4282 -0
- package/.output/server/_libs/ws.mjs +3715 -0
- package/.output/server/_libs/zod-to-json-schema.mjs +1207 -0
- package/.output/server/_libs/zod.mjs +597 -9
- package/.output/server/{_sessionId-GcFhWT0i.mjs → _sessionId-DL2JQJwR.mjs} +14 -13
- package/.output/server/_ssr/{CompareDrawer-BV7dw1TN.mjs → CompareDrawer-hPTOTmyU.mjs} +14 -13
- package/.output/server/_ssr/{ProxyViewerContainer-CcgfvaS4.mjs → ProxyViewerContainer-k0mFaufl.mjs} +161 -91
- package/.output/server/_ssr/{ReplayDialog-B7sBKxIO.mjs → ReplayDialog-t6QdwnZh.mjs} +15 -14
- package/.output/server/_ssr/{RequestAnatomy-s_9Veje2.mjs → RequestAnatomy-BnvWxyac.mjs} +14 -13
- package/.output/server/_ssr/{ResponseView-DsOFPCvF.mjs → ResponseView-BhhozRRl.mjs} +14 -13
- package/.output/server/_ssr/{StreamingChunkSequence-CyA1XtiF.mjs → StreamingChunkSequence-Dl_laTbX.mjs} +14 -13
- package/.output/server/_ssr/{index-CDDRt201.mjs → index-D1-t1D8F.mjs} +25 -15
- package/.output/server/_ssr/index.mjs +4 -4
- package/.output/server/_ssr/{json-viewer-BFV-xtRM.mjs → json-viewer-D5Lh2yBU.mjs} +14 -13
- package/.output/server/_ssr/{router-B2Q7vHPM.mjs → router-DaLFEeWW.mjs} +597 -100
- package/.output/server/_tanstack-start-manifest_v-DsSiD2gY.mjs +4 -0
- package/.output/server/index.mjs +77 -77
- package/package.json +4 -1
- package/src/components/ProxyViewer.tsx +12 -4
- package/src/components/pi-agent/PiAgentPanel.tsx +204 -0
- package/src/lib/chunkLoadRecovery.ts +83 -0
- package/src/lib/piAgentContract.ts +21 -0
- package/src/routes/__root.tsx +6 -3
- package/src/routes/api/pi-agent.ts +29 -0
- package/src/routes/index.tsx +25 -1
- package/src/routes/session/$sessionId.tsx +1 -0
- package/src/services/piAgent.ts +390 -0
- package/.output/public/assets/index-CGpPRty8.js +0 -1
- package/.output/public/assets/index-HRfrFVYw.css +0 -1
- package/.output/server/_tanstack-start-manifest_v-Dm_GmuRz.mjs +0 -4
|
@@ -1,8 +1,17 @@
|
|
|
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-k0mFaufl.mjs";
|
|
3
|
+
import { R as Route$K } from "./_ssr/router-DaLFEeWW.mjs";
|
|
4
4
|
import "./_libs/jszip.mjs";
|
|
5
|
+
import "node:fs";
|
|
6
|
+
import "node:buffer";
|
|
7
|
+
import "node:path";
|
|
8
|
+
import "node:crypto";
|
|
9
|
+
import "node:child_process";
|
|
10
|
+
import "node:url";
|
|
11
|
+
import "crypto";
|
|
12
|
+
import "node:util";
|
|
5
13
|
import "./_libs/modelcontextprotocol__server.mjs";
|
|
14
|
+
import "node:os";
|
|
6
15
|
import "./_libs/swr.mjs";
|
|
7
16
|
import "./_libs/use-sync-external-store.mjs";
|
|
8
17
|
import "./_libs/dequal.mjs";
|
|
@@ -21,7 +30,6 @@ import "./_libs/react-dom.mjs";
|
|
|
21
30
|
import "util";
|
|
22
31
|
import "async_hooks";
|
|
23
32
|
import "stream";
|
|
24
|
-
import "crypto";
|
|
25
33
|
import "./_libs/radix-ui__react-slot.mjs";
|
|
26
34
|
import "./_libs/@radix-ui/react-use-callback-ref+[...].mjs";
|
|
27
35
|
import "./_libs/@radix-ui/react-use-escape-keydown+[...].mjs";
|
|
@@ -67,27 +75,20 @@ import "./_libs/tanstack__router-core.mjs";
|
|
|
67
75
|
import "./_libs/cookie-es.mjs";
|
|
68
76
|
import "./_libs/seroval.mjs";
|
|
69
77
|
import "./_libs/seroval-plugins.mjs";
|
|
78
|
+
import "node:stream";
|
|
70
79
|
import "./_libs/tanstack__history.mjs";
|
|
71
80
|
import "./_libs/tiny-invariant.mjs";
|
|
72
81
|
import "node:stream/web";
|
|
73
|
-
import "node:stream";
|
|
74
82
|
import "./_libs/isbot.mjs";
|
|
75
|
-
import "node:fs";
|
|
76
83
|
import "node:fs/promises";
|
|
77
84
|
import "node:readline";
|
|
78
|
-
import "node:buffer";
|
|
79
|
-
import "node:path";
|
|
80
|
-
import "node:crypto";
|
|
81
|
-
import "node:child_process";
|
|
82
|
-
import "node:url";
|
|
83
85
|
import "./_libs/conf.mjs";
|
|
84
|
-
import "node:util";
|
|
85
86
|
import "node:process";
|
|
86
87
|
import "node:assert";
|
|
87
88
|
import "./_libs/dot-prop.mjs";
|
|
88
89
|
import "./_libs/env-paths.mjs";
|
|
89
|
-
import "node:os";
|
|
90
90
|
import "./_libs/atomically.mjs";
|
|
91
|
+
import "node:events";
|
|
91
92
|
import "./_libs/stubborn-fs.mjs";
|
|
92
93
|
import "./_libs/stubborn-utils.mjs";
|
|
93
94
|
import "./_libs/when-exit.mjs";
|
|
@@ -118,7 +119,7 @@ import "./_libs/pako.mjs";
|
|
|
118
119
|
function SessionViewerRoute() {
|
|
119
120
|
const {
|
|
120
121
|
sessionId
|
|
121
|
-
} = Route$
|
|
122
|
+
} = Route$K.useParams();
|
|
122
123
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(ClientOnlySessionViewer, { sessionId });
|
|
123
124
|
}
|
|
124
125
|
function ClientOnlySessionViewer({
|
|
@@ -1,9 +1,18 @@
|
|
|
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-k0mFaufl.mjs";
|
|
3
|
+
import "./router-DaLFEeWW.mjs";
|
|
4
|
+
import "node:fs";
|
|
5
|
+
import "node:buffer";
|
|
6
|
+
import "node:path";
|
|
7
|
+
import "node:crypto";
|
|
8
|
+
import "node:child_process";
|
|
9
|
+
import "node:url";
|
|
10
|
+
import "crypto";
|
|
11
|
+
import "node:util";
|
|
4
12
|
import "../_libs/modelcontextprotocol__server.mjs";
|
|
5
13
|
import "../_libs/jszip.mjs";
|
|
6
|
-
import
|
|
14
|
+
import "node:os";
|
|
15
|
+
import { X, az as Rows3, aA as Columns2, a8 as Minus, e as Plus, a2 as Pencil, k as ChevronRight, aB as Equal, b as Check, h as Copy } from "../_libs/lucide-react.mjs";
|
|
7
16
|
import "../_libs/swr.mjs";
|
|
8
17
|
import "../_libs/use-sync-external-store.mjs";
|
|
9
18
|
import "../_libs/dequal.mjs";
|
|
@@ -22,7 +31,6 @@ import "../_libs/react-dom.mjs";
|
|
|
22
31
|
import "util";
|
|
23
32
|
import "async_hooks";
|
|
24
33
|
import "stream";
|
|
25
|
-
import "crypto";
|
|
26
34
|
import "../_libs/radix-ui__react-slot.mjs";
|
|
27
35
|
import "../_libs/@radix-ui/react-use-callback-ref+[...].mjs";
|
|
28
36
|
import "../_libs/@radix-ui/react-use-escape-keydown+[...].mjs";
|
|
@@ -67,27 +75,20 @@ import "../_libs/tanstack__router-core.mjs";
|
|
|
67
75
|
import "../_libs/cookie-es.mjs";
|
|
68
76
|
import "../_libs/seroval.mjs";
|
|
69
77
|
import "../_libs/seroval-plugins.mjs";
|
|
78
|
+
import "node:stream";
|
|
70
79
|
import "../_libs/tanstack__history.mjs";
|
|
71
80
|
import "../_libs/tiny-invariant.mjs";
|
|
72
81
|
import "node:stream/web";
|
|
73
|
-
import "node:stream";
|
|
74
82
|
import "../_libs/isbot.mjs";
|
|
75
|
-
import "node:fs";
|
|
76
83
|
import "node:fs/promises";
|
|
77
84
|
import "node:readline";
|
|
78
|
-
import "node:buffer";
|
|
79
|
-
import "node:path";
|
|
80
|
-
import "node:crypto";
|
|
81
|
-
import "node:child_process";
|
|
82
|
-
import "node:url";
|
|
83
85
|
import "../_libs/conf.mjs";
|
|
84
|
-
import "node:util";
|
|
85
86
|
import "node:process";
|
|
86
87
|
import "node:assert";
|
|
87
88
|
import "../_libs/dot-prop.mjs";
|
|
88
89
|
import "../_libs/env-paths.mjs";
|
|
89
|
-
import "node:os";
|
|
90
90
|
import "../_libs/atomically.mjs";
|
|
91
|
+
import "node:events";
|
|
91
92
|
import "../_libs/stubborn-fs.mjs";
|
|
92
93
|
import "../_libs/stubborn-utils.mjs";
|
|
93
94
|
import "../_libs/when-exit.mjs";
|
package/.output/server/_ssr/{ProxyViewerContainer-CcgfvaS4.mjs → ProxyViewerContainer-k0mFaufl.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,
|
|
2
|
+
import { C as CapturedLogSchema, q as DeleteInspectorGroupsResponseSchema, 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, m as extractStopReason, p as packageJson, P as ProviderConfigSchema, i as apiFormatForPath, r as GroupEvidenceExportResultSchema, t as DeleteInspectorGroupResponseSchema, N as PiAgentResponseSchema, l as isTurnBoundary, n as AlertSummarySchema, o as AlertListResponseSchema, I as InspectorGroupsListResponseSchema, G as GroupEvidenceReadResponseSchema, E as createPendingProviderTestResults, F as ProviderTestResultsSchema, H as createFailedProviderTestResults, M as MAX_SLOW_RESPONSE_THRESHOLD_SECONDS, J as MAX_PROVIDER_TEST_TIMEOUT_SECONDS, T as TimeDisplayFormatSchema, v as maskApiKey, x as PATH_V1_MESSAGES, y as PATH_V1_CHAT_COMPLETIONS, z as PATH_V1_RESPONSES, u as providerHasContextMetadata, f as parseOpenAIResponse, g as parseOpenAIResponsesResponse, O as OpenAIRequestSchema, h as OpenAIResponsesRequestSchema, A as AnthropicResponseSchema$1, e as AnthropicRequestSchema, s as safeGetOwnProperty, Q as resolveProviderContextWindow, j as getSessionPath, w as findProviderModelMetadata, B as previewUpstreamUrl, K as KnowledgeCandidateSchema, S as isPlainRecord, k as stripClaudeCodeBillingHeader, L as LogBodyChunkSchema } from "./router-DaLFEeWW.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, P as PanelRightOpen, c as PanelRightClose, S as Search, U as Upload, D as Download, F as FileBraces, R as RefreshCw, d as Trash2, e as Plus,
|
|
12
|
+
import { T as TriangleAlert, C as CircleCheck, X, I as Info, a as ChevronDown, b as Check, P as PanelRightOpen, c as PanelRightClose, S as Search, U as Upload, D as Download, F as FileBraces, R as RefreshCw, d as Trash2, e as Plus, B as BrainCircuit, L as LoaderCircle, f as Send, A as ArrowLeft, g as ChevronUp, h as Copy, i as ChevronsLeft, j as ChevronLeft, k as ChevronRight, l as ChevronsRight, m as Clapperboard, n as Flag, o as Siren, p as Timer, G as Gauge, q as Layers, r as FlaskConical, s as Sparkles, t as Activity, u as Beaker, N as Network, v as Terminal, w as Settings, M as Monitor, x as Rocket, y as PackageCheck, H as History, z as Scan, E as CircleAlert, J as ArrowUpRight, K as ArrowDownRight, O as Cpu, Q as FolderOpen, V as Bell, W as Clock3, Y as ShieldAlert, Z as EyeOff, _ as Eye, $ as ExternalLink, a0 as Clock, a1 as RotateCw, a2 as Pencil, a3 as MessageSquare, a4 as Zap, a5 as Wrench, a6 as Brain, a7 as CircleCheckBig, a8 as Minus, a9 as CircleQuestionMark, aa as Server, ab as Lock, ac as Wifi, ad as WifiOff, ae as CircleX, af as ShieldCheck, ag as Save, ah as FileSearch, ai as CloudUpload, aj as OctagonAlert, ak as Radio, al as Globe, am as FileTerminal, an as ChevronsUp, ao as ChevronsDown, ap as FileDiff, aq as RotateCcw, ar as GitCompareArrows, as as ArrowUp, at as ArrowDown, au as Ellipsis, av as CodeXml, aw as Blocks, ax as MousePointerClick, ay as FileText, az as Rows3, aA 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";
|
|
@@ -389,12 +389,12 @@ async function fetchStreamingChunks(logId, signal) {
|
|
|
389
389
|
return null;
|
|
390
390
|
}
|
|
391
391
|
}
|
|
392
|
-
function isRecord
|
|
392
|
+
function isRecord(value) {
|
|
393
393
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
394
394
|
}
|
|
395
395
|
function redactValue(value) {
|
|
396
396
|
if (Array.isArray(value)) return value.map((item) => redactValue(item));
|
|
397
|
-
if (!isRecord
|
|
397
|
+
if (!isRecord(value)) return value;
|
|
398
398
|
const result = {};
|
|
399
399
|
for (const [key, item] of Object.entries(value)) {
|
|
400
400
|
result[key] = SECRET_KEY_PATTERN.test(key) ? REDACTED : redactValue(item);
|
|
@@ -563,82 +563,6 @@ function formatTimestamp$2(iso, format) {
|
|
|
563
563
|
function formatTimestampRange(startedAt, endedAt, format) {
|
|
564
564
|
return `${formatTimestamp$2(startedAt, format)} - ${formatTimestamp$2(endedAt, format)}`;
|
|
565
565
|
}
|
|
566
|
-
function isRecord(value) {
|
|
567
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
568
|
-
}
|
|
569
|
-
function normalizeAnthropicStopReason(value) {
|
|
570
|
-
switch (value) {
|
|
571
|
-
case "end_turn":
|
|
572
|
-
case "tool_use":
|
|
573
|
-
return value;
|
|
574
|
-
case "max_tokens":
|
|
575
|
-
return "length";
|
|
576
|
-
default:
|
|
577
|
-
return null;
|
|
578
|
-
}
|
|
579
|
-
}
|
|
580
|
-
function normalizeOpenAIFinishReason(value) {
|
|
581
|
-
switch (value) {
|
|
582
|
-
case "stop":
|
|
583
|
-
case "length":
|
|
584
|
-
return value;
|
|
585
|
-
case "max_tokens":
|
|
586
|
-
return "length";
|
|
587
|
-
default:
|
|
588
|
-
return null;
|
|
589
|
-
}
|
|
590
|
-
}
|
|
591
|
-
function isResponsesLengthLimitReason(value) {
|
|
592
|
-
switch (value) {
|
|
593
|
-
case "max_output_tokens":
|
|
594
|
-
case "max_tokens":
|
|
595
|
-
return true;
|
|
596
|
-
default:
|
|
597
|
-
return false;
|
|
598
|
-
}
|
|
599
|
-
}
|
|
600
|
-
function extractStopReason(log) {
|
|
601
|
-
if (log.responseText === null) return null;
|
|
602
|
-
try {
|
|
603
|
-
let json = JSON.parse(log.responseText);
|
|
604
|
-
if (typeof json === "string") {
|
|
605
|
-
json = JSON.parse(json);
|
|
606
|
-
}
|
|
607
|
-
if (!isRecord(json)) return null;
|
|
608
|
-
if (typeof json.stop_reason === "string") {
|
|
609
|
-
return normalizeAnthropicStopReason(json.stop_reason);
|
|
610
|
-
}
|
|
611
|
-
if (Array.isArray(json.choices)) {
|
|
612
|
-
for (const choice of json.choices) {
|
|
613
|
-
if (!isRecord(choice) || typeof choice.finish_reason !== "string") continue;
|
|
614
|
-
const reason = normalizeOpenAIFinishReason(choice.finish_reason);
|
|
615
|
-
if (reason !== null) return reason;
|
|
616
|
-
}
|
|
617
|
-
}
|
|
618
|
-
if (Array.isArray(json.output)) {
|
|
619
|
-
for (const item of json.output) {
|
|
620
|
-
if (isRecord(item) && item.type === "function_call") {
|
|
621
|
-
return "tool_use";
|
|
622
|
-
}
|
|
623
|
-
}
|
|
624
|
-
if (json.status === "completed") {
|
|
625
|
-
return "stop";
|
|
626
|
-
}
|
|
627
|
-
}
|
|
628
|
-
if (json.status === "incomplete" && isRecord(json.incomplete_details)) {
|
|
629
|
-
const reason = json.incomplete_details.reason;
|
|
630
|
-
if (typeof reason === "string" && isResponsesLengthLimitReason(reason)) {
|
|
631
|
-
return "length";
|
|
632
|
-
}
|
|
633
|
-
}
|
|
634
|
-
return null;
|
|
635
|
-
} catch {
|
|
636
|
-
return null;
|
|
637
|
-
}
|
|
638
|
-
}
|
|
639
|
-
function isTurnBoundary(stopReason) {
|
|
640
|
-
return stopReason === "end_turn" || stopReason === "stop" || stopReason === "length";
|
|
641
|
-
}
|
|
642
566
|
function cn(...inputs) {
|
|
643
567
|
return twMerge(clsx(inputs));
|
|
644
568
|
}
|
|
@@ -2546,27 +2470,27 @@ function useCopyFeedback(text) {
|
|
|
2546
2470
|
return { copied, copy };
|
|
2547
2471
|
}
|
|
2548
2472
|
const LazyCompareDrawer = reactExports.lazy(
|
|
2549
|
-
() => import("./CompareDrawer-
|
|
2473
|
+
() => import("./CompareDrawer-hPTOTmyU.mjs").then((m) => ({ default: m.CompareDrawer }))
|
|
2550
2474
|
);
|
|
2551
2475
|
const LazyReplayDialog = reactExports.lazy(
|
|
2552
|
-
() => import("./ReplayDialog-
|
|
2476
|
+
() => import("./ReplayDialog-t6QdwnZh.mjs").then((m) => ({ default: m.ReplayDialog }))
|
|
2553
2477
|
);
|
|
2554
2478
|
const LazyRequestAnatomy = reactExports.lazy(
|
|
2555
|
-
() => import("./RequestAnatomy-
|
|
2479
|
+
() => import("./RequestAnatomy-BnvWxyac.mjs").then((m) => ({ default: m.RequestAnatomy }))
|
|
2556
2480
|
);
|
|
2557
2481
|
const LazyResponseView = reactExports.lazy(
|
|
2558
|
-
() => import("./ResponseView-
|
|
2482
|
+
() => import("./ResponseView-BhhozRRl.mjs").then((m) => ({ default: m.ResponseView }))
|
|
2559
2483
|
);
|
|
2560
2484
|
const LazyStreamingChunkSequence = reactExports.lazy(
|
|
2561
|
-
() => import("./StreamingChunkSequence-
|
|
2485
|
+
() => import("./StreamingChunkSequence-Dl_laTbX.mjs").then((m) => ({
|
|
2562
2486
|
default: m.StreamingChunkSequence
|
|
2563
2487
|
}))
|
|
2564
2488
|
);
|
|
2565
2489
|
const LazyJsonViewer = reactExports.lazy(
|
|
2566
|
-
() => import("./json-viewer-
|
|
2490
|
+
() => import("./json-viewer-D5Lh2yBU.mjs").then((m) => ({ default: m.JsonViewer }))
|
|
2567
2491
|
);
|
|
2568
2492
|
const LazyJsonViewerFromString = reactExports.lazy(
|
|
2569
|
-
() => import("./json-viewer-
|
|
2493
|
+
() => import("./json-viewer-D5Lh2yBU.mjs").then((m) => ({ default: m.JsonViewerFromString }))
|
|
2570
2494
|
);
|
|
2571
2495
|
const HIGHLIGHT_DURATION_MS = 1200;
|
|
2572
2496
|
const MAX_HIGHLIGHT_ATTEMPTS = 12;
|
|
@@ -11777,6 +11701,147 @@ function AgentLabDialog({ currentSessionId, logCount }) {
|
|
|
11777
11701
|
] })
|
|
11778
11702
|
] });
|
|
11779
11703
|
}
|
|
11704
|
+
const DEFAULT_QUESTION = "Analyze the current Inspector session. What looks abnormal, slow, or likely to hang?";
|
|
11705
|
+
function providerSupportsPiAgent(provider) {
|
|
11706
|
+
return provider.openaiResponsesBaseUrl !== void 0 || provider.openaiBaseUrl !== void 0 || provider.anthropicBaseUrl !== void 0;
|
|
11707
|
+
}
|
|
11708
|
+
function providerProtocolLabel(provider) {
|
|
11709
|
+
if (provider.openaiResponsesBaseUrl !== void 0 && provider.openaiResponsesBaseUrl !== "") {
|
|
11710
|
+
return "Responses";
|
|
11711
|
+
}
|
|
11712
|
+
if (provider.openaiBaseUrl !== void 0 && provider.openaiBaseUrl !== "") {
|
|
11713
|
+
return "Chat";
|
|
11714
|
+
}
|
|
11715
|
+
return "Anthropic";
|
|
11716
|
+
}
|
|
11717
|
+
function sortProviderBySource(providers) {
|
|
11718
|
+
return providers.toSorted((left, right) => {
|
|
11719
|
+
const leftCompanyRank = left.source === "company" ? 0 : 1;
|
|
11720
|
+
const rightCompanyRank = right.source === "company" ? 0 : 1;
|
|
11721
|
+
if (leftCompanyRank !== rightCompanyRank) return leftCompanyRank - rightCompanyRank;
|
|
11722
|
+
return left.name.localeCompare(right.name);
|
|
11723
|
+
});
|
|
11724
|
+
}
|
|
11725
|
+
function PiAgentPanel({ currentSessionId, logCount }) {
|
|
11726
|
+
const { providers } = useProviders();
|
|
11727
|
+
const piProviders = reactExports.useMemo(
|
|
11728
|
+
() => sortProviderBySource(providers.filter(providerSupportsPiAgent)),
|
|
11729
|
+
[providers]
|
|
11730
|
+
);
|
|
11731
|
+
const [question, setQuestion] = reactExports.useState(DEFAULT_QUESTION);
|
|
11732
|
+
const [providerId, setProviderId] = reactExports.useState("__auto__");
|
|
11733
|
+
const [model, setModel] = reactExports.useState("__auto__");
|
|
11734
|
+
const [answer, setAnswer] = reactExports.useState("");
|
|
11735
|
+
const [status, setStatus] = reactExports.useState("");
|
|
11736
|
+
const [loading, setLoading] = reactExports.useState(false);
|
|
11737
|
+
const selectedProvider = piProviders.find((provider) => provider.id === providerId);
|
|
11738
|
+
const modelOptions = selectedProvider?.models ?? [];
|
|
11739
|
+
const canAsk = question.trim() !== "" && piProviders.length > 0 && !loading;
|
|
11740
|
+
const handleQuestionChange = (event) => {
|
|
11741
|
+
setQuestion(event.currentTarget.value);
|
|
11742
|
+
};
|
|
11743
|
+
const handleProviderChange = (value) => {
|
|
11744
|
+
setProviderId(value);
|
|
11745
|
+
setModel("__auto__");
|
|
11746
|
+
};
|
|
11747
|
+
const askPiAgent = () => {
|
|
11748
|
+
if (!canAsk) return;
|
|
11749
|
+
setLoading(true);
|
|
11750
|
+
setStatus("");
|
|
11751
|
+
setAnswer("");
|
|
11752
|
+
const body = {
|
|
11753
|
+
question: question.trim(),
|
|
11754
|
+
...currentSessionId !== null ? { sessionId: currentSessionId } : {},
|
|
11755
|
+
...providerId !== "__auto__" ? { providerId } : {},
|
|
11756
|
+
...model !== "__auto__" ? { model } : {},
|
|
11757
|
+
logLimit: 24
|
|
11758
|
+
};
|
|
11759
|
+
void fetch("/api/pi-agent", {
|
|
11760
|
+
method: "POST",
|
|
11761
|
+
headers: { "content-type": "application/json" },
|
|
11762
|
+
body: JSON.stringify(body)
|
|
11763
|
+
}).then(async (response) => {
|
|
11764
|
+
const raw = await response.text();
|
|
11765
|
+
if (!response.ok) {
|
|
11766
|
+
setStatus(`Pi Agent failed: HTTP ${String(response.status)}`);
|
|
11767
|
+
setAnswer(raw);
|
|
11768
|
+
return;
|
|
11769
|
+
}
|
|
11770
|
+
const parsedJson = JSON.parse(raw);
|
|
11771
|
+
const parsed = PiAgentResponseSchema.safeParse(parsedJson);
|
|
11772
|
+
if (!parsed.success) {
|
|
11773
|
+
setStatus("Pi Agent returned an unexpected response.");
|
|
11774
|
+
setAnswer(raw);
|
|
11775
|
+
return;
|
|
11776
|
+
}
|
|
11777
|
+
setStatus(
|
|
11778
|
+
`${parsed.data.providerName} / ${parsed.data.model} / ${parsed.data.protocol} / ${String(
|
|
11779
|
+
parsed.data.logCount
|
|
11780
|
+
)} logs`
|
|
11781
|
+
);
|
|
11782
|
+
setAnswer(parsed.data.answer);
|
|
11783
|
+
}).catch((err) => {
|
|
11784
|
+
setStatus(err instanceof Error ? err.message : "Pi Agent request failed.");
|
|
11785
|
+
}).finally(() => {
|
|
11786
|
+
setLoading(false);
|
|
11787
|
+
});
|
|
11788
|
+
};
|
|
11789
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("section", { className: "rounded-md bg-black/20 px-3 py-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]", children: [
|
|
11790
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
11791
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(BrainCircuit, { className: "size-4 text-cyan-200" }),
|
|
11792
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
11793
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-xs font-semibold text-foreground", children: "Pi Agent" }),
|
|
11794
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-[11px] text-muted-foreground", children: currentSessionId === null ? "Inspector-wide analysis" : "Session analysis" })
|
|
11795
|
+
] })
|
|
11796
|
+
] }),
|
|
11797
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-3 grid grid-cols-2 gap-2", children: [
|
|
11798
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Select, { value: providerId, onValueChange: handleProviderChange, children: [
|
|
11799
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, { className: "h-8 border-0 bg-black/25 text-xs shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)]", children: /* @__PURE__ */ jsxRuntimeExports.jsx(SelectValue, { placeholder: "Provider" }) }),
|
|
11800
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(SelectContent, { children: [
|
|
11801
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: "__auto__", children: "Auto provider" }),
|
|
11802
|
+
piProviders.map((provider) => /* @__PURE__ */ jsxRuntimeExports.jsxs(SelectItem, { value: provider.id, children: [
|
|
11803
|
+
provider.name,
|
|
11804
|
+
" / ",
|
|
11805
|
+
providerProtocolLabel(provider)
|
|
11806
|
+
] }, provider.id))
|
|
11807
|
+
] })
|
|
11808
|
+
] }),
|
|
11809
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Select, { value: model, onValueChange: setModel, children: [
|
|
11810
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, { className: "h-8 border-0 bg-black/25 text-xs shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)]", children: /* @__PURE__ */ jsxRuntimeExports.jsx(SelectValue, { placeholder: "Model" }) }),
|
|
11811
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(SelectContent, { children: [
|
|
11812
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: "__auto__", children: "Auto model" }),
|
|
11813
|
+
modelOptions.map((modelName) => /* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: modelName, children: modelName }, modelName))
|
|
11814
|
+
] })
|
|
11815
|
+
] })
|
|
11816
|
+
] }),
|
|
11817
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
11818
|
+
"textarea",
|
|
11819
|
+
{
|
|
11820
|
+
value: question,
|
|
11821
|
+
onChange: handleQuestionChange,
|
|
11822
|
+
className: "mt-2 min-h-24 w-full resize-y rounded-md bg-black/25 px-3 py-2 text-xs leading-5 text-foreground outline-none shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors placeholder:text-muted-foreground focus-visible:ring-1 focus-visible:ring-ring",
|
|
11823
|
+
placeholder: "Ask Pi Agent about this session..."
|
|
11824
|
+
}
|
|
11825
|
+
),
|
|
11826
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
11827
|
+
"button",
|
|
11828
|
+
{
|
|
11829
|
+
type: "button",
|
|
11830
|
+
onClick: askPiAgent,
|
|
11831
|
+
disabled: !canAsk,
|
|
11832
|
+
className: "mt-2 inline-flex h-8 w-full items-center justify-center gap-2 rounded-md bg-cyan-400/12 px-3 text-xs font-medium text-cyan-100 shadow-[inset_0_0_0_1px_rgba(103,232,249,0.18)] transition-colors hover:bg-cyan-400/18 disabled:cursor-not-allowed disabled:opacity-50",
|
|
11833
|
+
children: [
|
|
11834
|
+
loading ? /* @__PURE__ */ jsxRuntimeExports.jsx(LoaderCircle, { className: "size-3.5 animate-spin" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(Send, { className: "size-3.5" }),
|
|
11835
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: loading ? "Thinking..." : "Ask Pi" })
|
|
11836
|
+
]
|
|
11837
|
+
}
|
|
11838
|
+
),
|
|
11839
|
+
piProviders.length === 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "mt-2 text-[11px] leading-5 text-muted-foreground", children: "Configure a Provider with Responses, Chat, or Anthropic URL to enable Pi Agent." }),
|
|
11840
|
+
status !== "" && /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "mt-2 break-words font-mono text-[10px] text-cyan-100/70", children: status }),
|
|
11841
|
+
answer !== "" && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-3 max-h-64 overflow-y-auto whitespace-pre-wrap rounded-md bg-black/25 p-3 text-xs leading-5 text-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.05)]", children: answer }),
|
|
11842
|
+
logCount === 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "mt-2 text-[11px] leading-5 text-muted-foreground", children: "No logs are visible in this scope yet; Pi Agent can still answer Provider setup questions." })
|
|
11843
|
+
] });
|
|
11844
|
+
}
|
|
11780
11845
|
function computeCacheTrends(groups) {
|
|
11781
11846
|
const result = /* @__PURE__ */ new Map();
|
|
11782
11847
|
for (const group of groups) {
|
|
@@ -14815,9 +14880,8 @@ function ProxyViewer({
|
|
|
14815
14880
|
const [importError, setImportError] = reactExports.useState(null);
|
|
14816
14881
|
const [deleteDialogOpen, setDeleteDialogOpen] = reactExports.useState(false);
|
|
14817
14882
|
const [deletingCurrentView, setDeletingCurrentView] = reactExports.useState(false);
|
|
14818
|
-
const [detailsPanelCollapsed, setDetailsPanelCollapsed] = reactExports.useState(
|
|
14819
|
-
|
|
14820
|
-
);
|
|
14883
|
+
const [detailsPanelCollapsed, setDetailsPanelCollapsed] = reactExports.useState(true);
|
|
14884
|
+
const [detailsPanelStorageLoaded, setDetailsPanelStorageLoaded] = reactExports.useState(false);
|
|
14821
14885
|
const [comparePair, setComparePair] = reactExports.useState(null);
|
|
14822
14886
|
const [crabEntrancePhase, setCrabEntrancePhase] = reactExports.useState(
|
|
14823
14887
|
"hidden"
|
|
@@ -14855,11 +14919,16 @@ function ProxyViewer({
|
|
|
14855
14919
|
};
|
|
14856
14920
|
}, []);
|
|
14857
14921
|
reactExports.useEffect(() => {
|
|
14922
|
+
setDetailsPanelCollapsed(readStoredDetailsPanelCollapsed());
|
|
14923
|
+
setDetailsPanelStorageLoaded(true);
|
|
14924
|
+
}, []);
|
|
14925
|
+
reactExports.useEffect(() => {
|
|
14926
|
+
if (!detailsPanelStorageLoaded) return;
|
|
14858
14927
|
window.localStorage.setItem(
|
|
14859
14928
|
DETAILS_PANEL_COLLAPSED_STORAGE_KEY,
|
|
14860
14929
|
detailsPanelCollapsed ? "1" : "0"
|
|
14861
14930
|
);
|
|
14862
|
-
}, [detailsPanelCollapsed]);
|
|
14931
|
+
}, [detailsPanelCollapsed, detailsPanelStorageLoaded]);
|
|
14863
14932
|
reactExports.useEffect(() => {
|
|
14864
14933
|
if (pinnedSessionId === void 0) {
|
|
14865
14934
|
document.title = "Agent Inspector";
|
|
@@ -15106,6 +15175,7 @@ function ProxyViewer({
|
|
|
15106
15175
|
),
|
|
15107
15176
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-1 text-[11px] text-muted-foreground", children: isPinnedSessionPage ? "Session workspace" : "Live workspace" })
|
|
15108
15177
|
] }) }),
|
|
15178
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(PiAgentPanel, { currentSessionId: labSessionId, logCount: logs.length }),
|
|
15109
15179
|
hasSessionContext && sessionContextScope !== null && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
15110
15180
|
SessionContextBar,
|
|
15111
15181
|
{
|
|
@@ -1,10 +1,19 @@
|
|
|
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-k0mFaufl.mjs";
|
|
3
|
+
import { ResponseView } from "./ResponseView-BhhozRRl.mjs";
|
|
4
|
+
import { C as CapturedLogSchema } from "./router-DaLFEeWW.mjs";
|
|
5
5
|
import "../_libs/jszip.mjs";
|
|
6
|
+
import "node:fs";
|
|
7
|
+
import "node:buffer";
|
|
8
|
+
import "node:path";
|
|
9
|
+
import "node:crypto";
|
|
10
|
+
import "node:child_process";
|
|
11
|
+
import "node:url";
|
|
12
|
+
import "crypto";
|
|
13
|
+
import "node:util";
|
|
6
14
|
import "../_libs/modelcontextprotocol__server.mjs";
|
|
7
|
-
import
|
|
15
|
+
import "node:os";
|
|
16
|
+
import { aq as RotateCcw, aC as Braces, aD as Minimize2 } from "../_libs/lucide-react.mjs";
|
|
8
17
|
import { d as object, n as number, a as array, c as boolean, b as string } from "../_libs/zod.mjs";
|
|
9
18
|
import "../_libs/swr.mjs";
|
|
10
19
|
import "../_libs/use-sync-external-store.mjs";
|
|
@@ -24,7 +33,6 @@ import "../_libs/react-dom.mjs";
|
|
|
24
33
|
import "util";
|
|
25
34
|
import "async_hooks";
|
|
26
35
|
import "stream";
|
|
27
|
-
import "crypto";
|
|
28
36
|
import "../_libs/radix-ui__react-slot.mjs";
|
|
29
37
|
import "../_libs/@radix-ui/react-use-callback-ref+[...].mjs";
|
|
30
38
|
import "../_libs/@radix-ui/react-use-escape-keydown+[...].mjs";
|
|
@@ -69,27 +77,20 @@ import "../_libs/tanstack__router-core.mjs";
|
|
|
69
77
|
import "../_libs/cookie-es.mjs";
|
|
70
78
|
import "../_libs/seroval.mjs";
|
|
71
79
|
import "../_libs/seroval-plugins.mjs";
|
|
80
|
+
import "node:stream";
|
|
72
81
|
import "../_libs/tanstack__history.mjs";
|
|
73
82
|
import "../_libs/tiny-invariant.mjs";
|
|
74
83
|
import "node:stream/web";
|
|
75
|
-
import "node:stream";
|
|
76
84
|
import "../_libs/isbot.mjs";
|
|
77
|
-
import "node:fs";
|
|
78
85
|
import "node:fs/promises";
|
|
79
86
|
import "node:readline";
|
|
80
|
-
import "node:buffer";
|
|
81
|
-
import "node:path";
|
|
82
|
-
import "node:crypto";
|
|
83
|
-
import "node:child_process";
|
|
84
|
-
import "node:url";
|
|
85
87
|
import "../_libs/conf.mjs";
|
|
86
|
-
import "node:util";
|
|
87
88
|
import "node:process";
|
|
88
89
|
import "node:assert";
|
|
89
90
|
import "../_libs/dot-prop.mjs";
|
|
90
91
|
import "../_libs/env-paths.mjs";
|
|
91
|
-
import "node:os";
|
|
92
92
|
import "../_libs/atomically.mjs";
|
|
93
|
+
import "node:events";
|
|
93
94
|
import "../_libs/stubborn-fs.mjs";
|
|
94
95
|
import "../_libs/stubborn-utils.mjs";
|
|
95
96
|
import "../_libs/when-exit.mjs";
|
|
@@ -1,9 +1,18 @@
|
|
|
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-k0mFaufl.mjs";
|
|
3
|
+
import "./router-DaLFEeWW.mjs";
|
|
4
|
+
import "node:fs";
|
|
5
|
+
import "node:buffer";
|
|
6
|
+
import "node:path";
|
|
7
|
+
import "node:crypto";
|
|
8
|
+
import "node:child_process";
|
|
9
|
+
import "node:url";
|
|
10
|
+
import "crypto";
|
|
11
|
+
import "node:util";
|
|
4
12
|
import "../_libs/modelcontextprotocol__server.mjs";
|
|
5
13
|
import "../_libs/jszip.mjs";
|
|
6
|
-
import
|
|
14
|
+
import "node:os";
|
|
15
|
+
import { I as Info, a as ChevronDown, k as ChevronRight } from "../_libs/lucide-react.mjs";
|
|
7
16
|
import "../_libs/swr.mjs";
|
|
8
17
|
import "../_libs/use-sync-external-store.mjs";
|
|
9
18
|
import "../_libs/dequal.mjs";
|
|
@@ -22,7 +31,6 @@ import "../_libs/react-dom.mjs";
|
|
|
22
31
|
import "util";
|
|
23
32
|
import "async_hooks";
|
|
24
33
|
import "stream";
|
|
25
|
-
import "crypto";
|
|
26
34
|
import "../_libs/radix-ui__react-slot.mjs";
|
|
27
35
|
import "../_libs/@radix-ui/react-use-callback-ref+[...].mjs";
|
|
28
36
|
import "../_libs/@radix-ui/react-use-escape-keydown+[...].mjs";
|
|
@@ -67,27 +75,20 @@ import "../_libs/tanstack__router-core.mjs";
|
|
|
67
75
|
import "../_libs/cookie-es.mjs";
|
|
68
76
|
import "../_libs/seroval.mjs";
|
|
69
77
|
import "../_libs/seroval-plugins.mjs";
|
|
78
|
+
import "node:stream";
|
|
70
79
|
import "../_libs/tanstack__history.mjs";
|
|
71
80
|
import "../_libs/tiny-invariant.mjs";
|
|
72
81
|
import "node:stream/web";
|
|
73
|
-
import "node:stream";
|
|
74
82
|
import "../_libs/isbot.mjs";
|
|
75
|
-
import "node:fs";
|
|
76
83
|
import "node:fs/promises";
|
|
77
84
|
import "node:readline";
|
|
78
|
-
import "node:buffer";
|
|
79
|
-
import "node:path";
|
|
80
|
-
import "node:crypto";
|
|
81
|
-
import "node:child_process";
|
|
82
|
-
import "node:url";
|
|
83
85
|
import "../_libs/conf.mjs";
|
|
84
|
-
import "node:util";
|
|
85
86
|
import "node:process";
|
|
86
87
|
import "node:assert";
|
|
87
88
|
import "../_libs/dot-prop.mjs";
|
|
88
89
|
import "../_libs/env-paths.mjs";
|
|
89
|
-
import "node:os";
|
|
90
90
|
import "../_libs/atomically.mjs";
|
|
91
|
+
import "node:events";
|
|
91
92
|
import "../_libs/stubborn-fs.mjs";
|
|
92
93
|
import "../_libs/stubborn-utils.mjs";
|
|
93
94
|
import "../_libs/when-exit.mjs";
|
|
@@ -1,9 +1,18 @@
|
|
|
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-k0mFaufl.mjs";
|
|
3
|
+
import { s as safeGetOwnProperty } from "./router-DaLFEeWW.mjs";
|
|
4
4
|
import "../_libs/jszip.mjs";
|
|
5
|
+
import "node:fs";
|
|
6
|
+
import "node:buffer";
|
|
7
|
+
import "node:path";
|
|
8
|
+
import "node:crypto";
|
|
9
|
+
import "node:child_process";
|
|
10
|
+
import "node:url";
|
|
11
|
+
import "crypto";
|
|
12
|
+
import "node:util";
|
|
5
13
|
import "../_libs/modelcontextprotocol__server.mjs";
|
|
6
|
-
import
|
|
14
|
+
import "node:os";
|
|
15
|
+
import { a4 as Zap, T as TriangleAlert, aE as CircleStop, a6 as Brain, a as ChevronDown, k as ChevronRight, v as Terminal } from "../_libs/lucide-react.mjs";
|
|
7
16
|
import { R as Root } from "../_libs/radix-ui__react-separator.mjs";
|
|
8
17
|
import "../_libs/swr.mjs";
|
|
9
18
|
import "../_libs/use-sync-external-store.mjs";
|
|
@@ -23,7 +32,6 @@ import "../_libs/react-dom.mjs";
|
|
|
23
32
|
import "util";
|
|
24
33
|
import "async_hooks";
|
|
25
34
|
import "stream";
|
|
26
|
-
import "crypto";
|
|
27
35
|
import "../_libs/radix-ui__react-slot.mjs";
|
|
28
36
|
import "../_libs/@radix-ui/react-use-callback-ref+[...].mjs";
|
|
29
37
|
import "../_libs/@radix-ui/react-use-escape-keydown+[...].mjs";
|
|
@@ -68,27 +76,20 @@ import "../_libs/tanstack__router-core.mjs";
|
|
|
68
76
|
import "../_libs/cookie-es.mjs";
|
|
69
77
|
import "../_libs/seroval.mjs";
|
|
70
78
|
import "../_libs/seroval-plugins.mjs";
|
|
79
|
+
import "node:stream";
|
|
71
80
|
import "../_libs/tanstack__history.mjs";
|
|
72
81
|
import "../_libs/tiny-invariant.mjs";
|
|
73
82
|
import "node:stream/web";
|
|
74
|
-
import "node:stream";
|
|
75
83
|
import "../_libs/isbot.mjs";
|
|
76
|
-
import "node:fs";
|
|
77
84
|
import "node:fs/promises";
|
|
78
85
|
import "node:readline";
|
|
79
|
-
import "node:buffer";
|
|
80
|
-
import "node:path";
|
|
81
|
-
import "node:crypto";
|
|
82
|
-
import "node:child_process";
|
|
83
|
-
import "node:url";
|
|
84
86
|
import "../_libs/conf.mjs";
|
|
85
|
-
import "node:util";
|
|
86
87
|
import "node:process";
|
|
87
88
|
import "node:assert";
|
|
88
89
|
import "../_libs/dot-prop.mjs";
|
|
89
90
|
import "../_libs/env-paths.mjs";
|
|
90
|
-
import "node:os";
|
|
91
91
|
import "../_libs/atomically.mjs";
|
|
92
|
+
import "node:events";
|
|
92
93
|
import "../_libs/stubborn-fs.mjs";
|
|
93
94
|
import "../_libs/stubborn-utils.mjs";
|
|
94
95
|
import "../_libs/when-exit.mjs";
|