@tonyclaw/agent-inspector 3.0.9 → 3.0.10
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-CJKL4LMm.js → CompareDrawer-BxLP7jmX.js} +1 -1
- package/.output/public/assets/ProxyViewerContainer-D_2ez29e.js +106 -0
- package/.output/public/assets/{ReplayDialog-BYanl-a_.js → ReplayDialog-Btm-wONI.js} +1 -1
- package/.output/public/assets/{RequestAnatomy-DvPz1jqE.js → RequestAnatomy-C9eZJN9E.js} +1 -1
- package/.output/public/assets/{ResponseView-sZnxp9GN.js → ResponseView-9R2MW1kp.js} +2 -2
- package/.output/public/assets/{StreamingChunkSequence-G-tiYiBd.js → StreamingChunkSequence-zxqGpFfv.js} +1 -1
- package/.output/public/assets/{_sessionId-_hDcsmXq.js → _sessionId-C0tPTQlC.js} +1 -1
- package/.output/public/assets/index-BIgsQvaF.css +1 -0
- package/.output/public/assets/index-DgVWrzsQ.js +1 -0
- package/.output/public/assets/{index-SuOSQb2_.js → index-WiDkyjq8.js} +1 -1
- package/.output/public/assets/{json-viewer-yQdhgjaw.js → json-viewer-BAmkfRDE.js} +1 -1
- package/.output/public/assets/{main-CgjcDxjR.js → main-2feHoEI6.js} +2 -2
- package/.output/server/_libs/lucide-react.mjs +2 -2
- package/.output/server/{_sessionId-BGISf2En.mjs → _sessionId-BkoyescL.mjs} +2 -2
- package/.output/server/_ssr/{CompareDrawer-s-UF9gW3.mjs → CompareDrawer-irfFdkJ8.mjs} +3 -3
- package/.output/server/_ssr/{ProxyViewerContainer-C0Sbz9ED.mjs → ProxyViewerContainer-CcJr9STz.mjs} +88 -105
- package/.output/server/_ssr/{ReplayDialog-DvS8gvJr.mjs → ReplayDialog-CJnmXQGT.mjs} +3 -3
- package/.output/server/_ssr/{RequestAnatomy-BwhWglJL.mjs → RequestAnatomy-CupP0Wdb.mjs} +2 -2
- package/.output/server/_ssr/{ResponseView-wBVreqQf.mjs → ResponseView-Bp-0t5cd.mjs} +2 -2
- package/.output/server/_ssr/{StreamingChunkSequence-Dr6eg-MJ.mjs → StreamingChunkSequence-BXSn4kMH.mjs} +2 -2
- package/.output/server/_ssr/{index-B98Wia1X.mjs → index-KVltJBV8.mjs} +2 -2
- package/.output/server/_ssr/index.mjs +2 -2
- package/.output/server/_ssr/{json-viewer-D7L8y0FH.mjs → json-viewer-EYQ5eG2Q.mjs} +2 -2
- package/.output/server/_ssr/{router-g9mo0nWT.mjs → router-_cAQddXC.mjs} +21 -12
- package/.output/server/{_tanstack-start-manifest_v-CbGc-o50.mjs → _tanstack-start-manifest_v-BfiF5iov.mjs} +1 -1
- package/.output/server/index.mjs +65 -65
- package/package.json +1 -1
- package/src/components/ProxyViewerContainer.tsx +10 -2
- package/src/components/providers/ProviderCard.tsx +83 -91
- package/src/components/providers/ProvidersPanel.tsx +7 -7
- package/src/components/providers/SettingsDialog.tsx +17 -22
- package/src/routes/api/logs.ts +14 -5
- package/.output/public/assets/ProxyViewerContainer-DBUy29O-.js +0 -106
- package/.output/public/assets/index-DAPAWsAd.js +0 -1
- package/.output/public/assets/index-DspnLqUW.css +0 -1
package/.output/server/_ssr/{ProxyViewerContainer-C0Sbz9ED.mjs → ProxyViewerContainer-CcJr9STz.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,
|
|
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-_cAQddXC.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, 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
|
|
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 CircleCheckBig, a3 as Minus, 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, 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-irfFdkJ8.mjs").then((m) => ({ default: m.CompareDrawer }))
|
|
2550
2550
|
);
|
|
2551
2551
|
const LazyReplayDialog = reactExports.lazy(
|
|
2552
|
-
() => import("./ReplayDialog-
|
|
2552
|
+
() => import("./ReplayDialog-CJnmXQGT.mjs").then((m) => ({ default: m.ReplayDialog }))
|
|
2553
2553
|
);
|
|
2554
2554
|
const LazyRequestAnatomy = reactExports.lazy(
|
|
2555
|
-
() => import("./RequestAnatomy-
|
|
2555
|
+
() => import("./RequestAnatomy-CupP0Wdb.mjs").then((m) => ({ default: m.RequestAnatomy }))
|
|
2556
2556
|
);
|
|
2557
2557
|
const LazyResponseView = reactExports.lazy(
|
|
2558
|
-
() => import("./ResponseView-
|
|
2558
|
+
() => import("./ResponseView-Bp-0t5cd.mjs").then((m) => ({ default: m.ResponseView }))
|
|
2559
2559
|
);
|
|
2560
2560
|
const LazyStreamingChunkSequence = reactExports.lazy(
|
|
2561
|
-
() => import("./StreamingChunkSequence-
|
|
2561
|
+
() => import("./StreamingChunkSequence-BXSn4kMH.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-EYQ5eG2Q.mjs").then((m) => ({ default: m.JsonViewer }))
|
|
2567
2567
|
);
|
|
2568
2568
|
const LazyJsonViewerFromString = reactExports.lazy(
|
|
2569
|
-
() => import("./json-viewer-
|
|
2569
|
+
() => import("./json-viewer-EYQ5eG2Q.mjs").then((m) => ({ default: m.JsonViewerFromString }))
|
|
2570
2570
|
);
|
|
2571
2571
|
const HIGHLIGHT_DURATION_MS = 1200;
|
|
2572
2572
|
const MAX_HIGHLIGHT_ATTEMPTS = 12;
|
|
@@ -8299,33 +8299,12 @@ function ProviderFormatTestStatus({
|
|
|
8299
8299
|
] })
|
|
8300
8300
|
] });
|
|
8301
8301
|
}
|
|
8302
|
-
function
|
|
8303
|
-
diagnostic
|
|
8304
|
-
}) {
|
|
8305
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: diagnostic.severity === "warning" ? "text-amber-200" : "text-muted-foreground", children: diagnostic.message });
|
|
8306
|
-
}
|
|
8307
|
-
function ProviderEndpointSummary({
|
|
8302
|
+
function ProviderFormatStatusBlock({
|
|
8308
8303
|
label,
|
|
8309
|
-
baseUrl,
|
|
8310
|
-
endpoint,
|
|
8311
|
-
providerName,
|
|
8312
8304
|
children
|
|
8313
8305
|
}) {
|
|
8314
|
-
|
|
8315
|
-
|
|
8316
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid min-w-0 gap-1 text-xs sm:grid-cols-[104px_minmax(0,1fr)]", children: [
|
|
8317
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-medium text-muted-foreground", children: label }),
|
|
8318
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("code", { className: "min-w-0 break-all font-mono text-foreground/80", children: baseUrl }),
|
|
8319
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[10px] uppercase text-muted-foreground/80", children: "Final" }),
|
|
8320
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("code", { className: "min-w-0 break-all font-mono text-foreground", children: preview.finalUrl })
|
|
8321
|
-
] }),
|
|
8322
|
-
preview.diagnostics.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-1 text-xs", children: preview.diagnostics.map((diagnostic) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
8323
|
-
EndpointDiagnosticLine,
|
|
8324
|
-
{
|
|
8325
|
-
diagnostic
|
|
8326
|
-
},
|
|
8327
|
-
`${diagnostic.severity}:${diagnostic.message}`
|
|
8328
|
-
)) }),
|
|
8306
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "min-w-0 space-y-2 rounded-md border border-border/60 bg-muted/15 p-2", children: [
|
|
8307
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-xs font-medium text-foreground/80", children: label }),
|
|
8329
8308
|
children
|
|
8330
8309
|
] });
|
|
8331
8310
|
}
|
|
@@ -8345,22 +8324,38 @@ function providerTestTargets(provider) {
|
|
|
8345
8324
|
}
|
|
8346
8325
|
return targets;
|
|
8347
8326
|
}
|
|
8348
|
-
function
|
|
8349
|
-
|
|
8350
|
-
|
|
8327
|
+
function CapabilityChip({
|
|
8328
|
+
label,
|
|
8329
|
+
enabled,
|
|
8330
|
+
tone
|
|
8331
|
+
}) {
|
|
8332
|
+
const resolvedTone = tone ?? (enabled ? "active" : "quiet");
|
|
8333
|
+
const className = resolvedTone === "response" && enabled ? "border-sky-300/30 bg-sky-300/[0.09] text-sky-100" : enabled ? "border-border/70 bg-muted/25 text-foreground/80" : "border-border/50 bg-transparent text-muted-foreground/70";
|
|
8334
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: `inline-flex items-center gap-1 rounded border px-1.5 py-0.5 ${className}`, children: [
|
|
8335
|
+
enabled ? /* @__PURE__ */ jsxRuntimeExports.jsx(CircleCheckBig, { className: "size-3" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(Minus, { className: "size-3" }),
|
|
8336
|
+
label
|
|
8337
|
+
] });
|
|
8338
|
+
}
|
|
8339
|
+
function ProviderCapabilitySummary({ provider }) {
|
|
8340
|
+
const hasAnthropic = providerHasEndpoint(provider.anthropicBaseUrl);
|
|
8341
|
+
const hasChat = providerHasEndpoint(provider.openaiBaseUrl);
|
|
8342
|
+
const hasResponses = providerHasEndpoint(provider.openaiResponsesBaseUrl);
|
|
8343
|
+
if (!hasAnthropic && !hasChat && !hasResponses) {
|
|
8351
8344
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-xs text-muted-foreground", children: "Test requires at least one configured endpoint." });
|
|
8352
8345
|
}
|
|
8353
8346
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex min-w-0 flex-wrap items-center gap-1.5 text-xs text-muted-foreground", children: [
|
|
8354
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "
|
|
8355
|
-
|
|
8356
|
-
|
|
8347
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Capabilities" }),
|
|
8348
|
+
hasAnthropic && /* @__PURE__ */ jsxRuntimeExports.jsx(CapabilityChip, { label: "Anthropic", enabled: true }),
|
|
8349
|
+
hasChat && /* @__PURE__ */ jsxRuntimeExports.jsx(CapabilityChip, { label: "OpenAI Chat", enabled: true }),
|
|
8350
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
8351
|
+
CapabilityChip,
|
|
8357
8352
|
{
|
|
8358
|
-
|
|
8359
|
-
|
|
8360
|
-
|
|
8361
|
-
|
|
8362
|
-
)
|
|
8363
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "non-stream + stream" })
|
|
8353
|
+
label: hasResponses ? "OpenAI Responses" : "No OpenAI Responses",
|
|
8354
|
+
enabled: hasResponses,
|
|
8355
|
+
tone: "response"
|
|
8356
|
+
}
|
|
8357
|
+
),
|
|
8358
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "tested non-stream + stream" })
|
|
8364
8359
|
] });
|
|
8365
8360
|
}
|
|
8366
8361
|
function configuredFormatResults(provider, testResults) {
|
|
@@ -8725,7 +8720,7 @@ function ProviderCard({
|
|
|
8725
8720
|
] })
|
|
8726
8721
|
] }),
|
|
8727
8722
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-2 text-xs text-muted-foreground sm:flex-row sm:items-center sm:justify-between", children: [
|
|
8728
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
8723
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ProviderCapabilitySummary, { provider }),
|
|
8729
8724
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
8730
8725
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Key configured" }),
|
|
8731
8726
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: provider.authHeader === "x-api-key" ? "x-api-key" : "Bearer" }),
|
|
@@ -8792,36 +8787,21 @@ function ProviderCard({
|
|
|
8792
8787
|
)
|
|
8793
8788
|
] }),
|
|
8794
8789
|
provider.models !== void 0 && provider.models.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-wrap gap-1", children: provider.models.map((model) => /* @__PURE__ */ jsxRuntimeExports.jsx(ModelChip, { provider, model }, model)) }),
|
|
8795
|
-
providerHasEndpoint(provider.anthropicBaseUrl) && /* @__PURE__ */ jsxRuntimeExports.
|
|
8796
|
-
|
|
8797
|
-
|
|
8798
|
-
|
|
8799
|
-
|
|
8800
|
-
|
|
8801
|
-
|
|
8802
|
-
|
|
8803
|
-
}
|
|
8804
|
-
|
|
8805
|
-
|
|
8806
|
-
|
|
8807
|
-
|
|
8808
|
-
|
|
8809
|
-
|
|
8810
|
-
endpoint: PATH_V1_CHAT_COMPLETIONS,
|
|
8811
|
-
providerName: provider.name,
|
|
8812
|
-
children: testResults !== void 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(ProviderFormatTestStatus, { results: testResults.openaiChat })
|
|
8813
|
-
}
|
|
8814
|
-
),
|
|
8815
|
-
providerHasEndpoint(provider.openaiResponsesBaseUrl) && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
8816
|
-
ProviderEndpointSummary,
|
|
8817
|
-
{
|
|
8818
|
-
label: "Responses",
|
|
8819
|
-
baseUrl: provider.openaiResponsesBaseUrl,
|
|
8820
|
-
endpoint: PATH_V1_RESPONSES,
|
|
8821
|
-
providerName: provider.name,
|
|
8822
|
-
children: testResults !== void 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(ProviderFormatTestStatus, { results: testResults.openaiResponses })
|
|
8823
|
-
}
|
|
8824
|
-
),
|
|
8790
|
+
(providerHasEndpoint(provider.anthropicBaseUrl) || providerHasEndpoint(provider.openaiBaseUrl) || providerHasEndpoint(provider.openaiResponsesBaseUrl)) && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid gap-2 lg:grid-cols-3", children: [
|
|
8791
|
+
providerHasEndpoint(provider.anthropicBaseUrl) && /* @__PURE__ */ jsxRuntimeExports.jsxs(ProviderFormatStatusBlock, { label: "Anthropic", children: [
|
|
8792
|
+
testResults !== void 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(ProviderFormatTestStatus, { results: testResults.anthropic }),
|
|
8793
|
+
testResults === void 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-xs text-muted-foreground", children: "Not tested yet" })
|
|
8794
|
+
] }),
|
|
8795
|
+
providerHasEndpoint(provider.openaiBaseUrl) && /* @__PURE__ */ jsxRuntimeExports.jsxs(ProviderFormatStatusBlock, { label: "OpenAI Chat", children: [
|
|
8796
|
+
testResults !== void 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(ProviderFormatTestStatus, { results: testResults.openaiChat }),
|
|
8797
|
+
testResults === void 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-xs text-muted-foreground", children: "Not tested yet" })
|
|
8798
|
+
] }),
|
|
8799
|
+
providerHasEndpoint(provider.openaiResponsesBaseUrl) && /* @__PURE__ */ jsxRuntimeExports.jsxs(ProviderFormatStatusBlock, { label: "OpenAI Responses", children: [
|
|
8800
|
+
testResults !== void 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(ProviderFormatTestStatus, { results: testResults.openaiResponses }),
|
|
8801
|
+
testResults === void 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-xs text-muted-foreground", children: "Not tested yet" })
|
|
8802
|
+
] }),
|
|
8803
|
+
!providerHasEndpoint(provider.openaiResponsesBaseUrl) && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "min-w-0 rounded-md border border-border/50 bg-transparent p-2 text-xs text-muted-foreground/75", children: "OpenAI Responses not configured" })
|
|
8804
|
+
] }),
|
|
8825
8805
|
testResults?.models !== void 0 && Object.keys(testResults.models).length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
8826
8806
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
8827
8807
|
"button",
|
|
@@ -10244,7 +10224,7 @@ function ProvidersPanel({
|
|
|
10244
10224
|
}
|
|
10245
10225
|
if (showForm || editingProvider) {
|
|
10246
10226
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4", children: [
|
|
10247
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "
|
|
10227
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sticky top-0 z-10 flex items-center justify-between gap-3 rounded-[8px] bg-background/95 px-1 py-1 backdrop-blur", children: /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-lg font-medium", children: editingProvider ? "Edit Provider" : "Add New Provider" }) }),
|
|
10248
10228
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
10249
10229
|
ProviderForm,
|
|
10250
10230
|
{
|
|
@@ -10259,7 +10239,7 @@ function ProvidersPanel({
|
|
|
10259
10239
|
] });
|
|
10260
10240
|
}
|
|
10261
10241
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4", children: [
|
|
10262
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "
|
|
10242
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sticky top-0 z-10 flex items-center justify-between gap-3 rounded-[8px] bg-background/95 px-1 py-1 backdrop-blur", children: [
|
|
10263
10243
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-lg font-medium", children: "Providers" }),
|
|
10264
10244
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
10265
10245
|
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipProvider, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip, { children: [
|
|
@@ -10326,7 +10306,7 @@ function ProvidersPanel({
|
|
|
10326
10306
|
] })
|
|
10327
10307
|
] })
|
|
10328
10308
|
] }),
|
|
10329
|
-
configPath !== null && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "
|
|
10309
|
+
configPath !== null && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 rounded-[8px] bg-muted/15 px-3 py-2 text-xs text-muted-foreground", children: [
|
|
10330
10310
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "shrink-0", children: "Config:" }),
|
|
10331
10311
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-mono truncate", title: configPath, children: configPath }),
|
|
10332
10312
|
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipProvider, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip, { children: [
|
|
@@ -10360,13 +10340,13 @@ function ProvidersPanel({
|
|
|
10360
10340
|
"Add Your First Provider"
|
|
10361
10341
|
] })
|
|
10362
10342
|
] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-3", children: [
|
|
10363
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "
|
|
10343
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "inline-flex w-fit gap-1 rounded-[8px] bg-muted/20 p-1", children: ["all", "personal", "company"].map((tab) => /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipProvider, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip, { children: [
|
|
10364
10344
|
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
10365
10345
|
"button",
|
|
10366
10346
|
{
|
|
10367
10347
|
type: "button",
|
|
10368
10348
|
onClick: () => setSourceFilter(tab),
|
|
10369
|
-
className: `px-3 py-
|
|
10349
|
+
className: `rounded-md px-3 py-1.5 text-sm font-medium transition-colors ${sourceFilter === tab ? "bg-background text-foreground shadow-sm" : "text-muted-foreground hover:text-foreground"}`,
|
|
10370
10350
|
children: tab === "all" ? "All" : tab === "personal" ? "Personal" : "Company"
|
|
10371
10351
|
}
|
|
10372
10352
|
) }),
|
|
@@ -10471,17 +10451,17 @@ function SettingsDialog() {
|
|
|
10471
10451
|
]
|
|
10472
10452
|
}
|
|
10473
10453
|
) }),
|
|
10474
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(DialogContent, { className: "
|
|
10454
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(DialogContent, { className: "flex max-h-[80vh] max-w-2xl flex-col overflow-hidden", children: [
|
|
10475
10455
|
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogHeader, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(DialogTitle, { children: "Settings" }) }),
|
|
10476
10456
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(Tabs, { value: activeTab, onValueChange: setActiveTab, className: "flex-1 overflow-hidden", children: [
|
|
10477
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(TabsList, { children: [
|
|
10457
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(TabsList, { className: "w-full justify-start bg-muted/35", children: [
|
|
10478
10458
|
/* @__PURE__ */ jsxRuntimeExports.jsx(TabsTrigger, { value: "providers", children: "Providers" }),
|
|
10479
10459
|
/* @__PURE__ */ jsxRuntimeExports.jsx(TabsTrigger, { value: "proxy", children: "Proxy" }),
|
|
10480
10460
|
/* @__PURE__ */ jsxRuntimeExports.jsx(TabsTrigger, { value: "storage", children: "Storage" }),
|
|
10481
10461
|
/* @__PURE__ */ jsxRuntimeExports.jsx(TabsTrigger, { value: "mcp", children: "MCP" }),
|
|
10482
10462
|
/* @__PURE__ */ jsxRuntimeExports.jsx(TabsTrigger, { value: "onboarding", children: "Onboarding" })
|
|
10483
10463
|
] }),
|
|
10484
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-4 flex-1 overflow-x-hidden overflow-y-auto pr-
|
|
10464
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-4 flex-1 overflow-x-hidden overflow-y-auto pr-2", children: [
|
|
10485
10465
|
/* @__PURE__ */ jsxRuntimeExports.jsx(TabsContent, { value: "providers", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
10486
10466
|
ProvidersPanel,
|
|
10487
10467
|
{
|
|
@@ -10561,7 +10541,7 @@ function StorageSettingsTab() {
|
|
|
10561
10541
|
}, []);
|
|
10562
10542
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4", children: [
|
|
10563
10543
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between gap-3", children: [
|
|
10564
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
10544
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "min-w-0", children: [
|
|
10565
10545
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-sm font-semibold", children: "Log storage" }),
|
|
10566
10546
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground", children: "Inspect local log and streaming chunk footprint before exporting or clearing sessions." })
|
|
10567
10547
|
] }),
|
|
@@ -10598,14 +10578,14 @@ function StorageSettingsTab() {
|
|
|
10598
10578
|
onCopy: handleCopy
|
|
10599
10579
|
}
|
|
10600
10580
|
),
|
|
10601
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "
|
|
10581
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "rounded-md bg-muted/20 px-3 py-2", children: [
|
|
10602
10582
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "font-medium", children: "In-memory logs" }),
|
|
10603
10583
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-1 font-mono text-muted-foreground", children: [
|
|
10604
10584
|
stats.memoryCount.toLocaleString(),
|
|
10605
10585
|
" loaded"
|
|
10606
10586
|
] })
|
|
10607
10587
|
] }),
|
|
10608
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "
|
|
10588
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "rounded-md bg-muted/20 px-3 py-2", children: [
|
|
10609
10589
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "font-medium", children: "Log files" }),
|
|
10610
10590
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-1 font-mono text-muted-foreground", children: [
|
|
10611
10591
|
stats.logFileCount.toLocaleString(),
|
|
@@ -10613,7 +10593,7 @@ function StorageSettingsTab() {
|
|
|
10613
10593
|
formatBytes(stats.logBytes)
|
|
10614
10594
|
] })
|
|
10615
10595
|
] }),
|
|
10616
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "
|
|
10596
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "rounded-md bg-muted/20 px-3 py-2", children: [
|
|
10617
10597
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "font-medium", children: "Streaming chunks" }),
|
|
10618
10598
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-1 font-mono text-muted-foreground", children: [
|
|
10619
10599
|
stats.chunkFileCount.toLocaleString(),
|
|
@@ -10621,7 +10601,7 @@ function StorageSettingsTab() {
|
|
|
10621
10601
|
formatBytes(stats.chunkBytes)
|
|
10622
10602
|
] })
|
|
10623
10603
|
] }),
|
|
10624
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "
|
|
10604
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "rounded-md bg-muted/20 px-3 py-2", children: [
|
|
10625
10605
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "font-medium", children: "Session archives" }),
|
|
10626
10606
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-1 font-mono text-muted-foreground", children: [
|
|
10627
10607
|
stats.sessionArchiveFileCount.toLocaleString(),
|
|
@@ -10642,7 +10622,7 @@ function CopyableSetupValue({
|
|
|
10642
10622
|
onCopy
|
|
10643
10623
|
}) {
|
|
10644
10624
|
const copied = copiedId === id;
|
|
10645
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "border border-border bg-muted/
|
|
10625
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "min-w-0 rounded-md border border-border/45 bg-muted/15 px-3 py-2 transition-colors hover:bg-muted/25", children: [
|
|
10646
10626
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mb-1 text-xs font-medium text-muted-foreground", children: label }),
|
|
10647
10627
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
10648
10628
|
/* @__PURE__ */ jsxRuntimeExports.jsx("code", { className: "min-w-0 flex-1 truncate font-mono text-xs text-foreground", children: value }),
|
|
@@ -10741,7 +10721,7 @@ function OnboardingSettingsTab() {
|
|
|
10741
10721
|
},
|
|
10742
10722
|
item.id
|
|
10743
10723
|
)) }),
|
|
10744
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid gap-2 rounded-md
|
|
10724
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid gap-2 rounded-md bg-muted/15 px-3 py-2 text-xs text-muted-foreground", children: [
|
|
10745
10725
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
10746
10726
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Check, { className: "size-3.5 text-emerald-500" }),
|
|
10747
10727
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Provider test creates a traceable memory probe session." })
|
|
@@ -10920,7 +10900,7 @@ args = ["stdio", "--url", "${endpoint}"]`
|
|
|
10920
10900
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Terminal, { className: "size-4 text-muted-foreground" }),
|
|
10921
10901
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-sm font-semibold", children: "MCP access" })
|
|
10922
10902
|
] }),
|
|
10923
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid gap-2 rounded-md
|
|
10903
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid gap-2 rounded-md bg-muted/15 px-3 py-2 text-xs text-muted-foreground", children: [
|
|
10924
10904
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Use Streamable HTTP when the client supports URL-based MCP. Use the stdio bridge only for stdio-only clients. Configure one entry for the same Inspector instance." }),
|
|
10925
10905
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "If the MCP client runs in another container or host, replace localhost with a reachable host/IP and verify the network path." })
|
|
10926
10906
|
] }),
|
|
@@ -11011,14 +10991,9 @@ function ProxySettingsTab() {
|
|
|
11011
10991
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-1", children: [
|
|
11012
10992
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-sm font-semibold", children: "Claude Code billing header" }),
|
|
11013
10993
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-xs text-muted-foreground", children: [
|
|
11014
|
-
"
|
|
11015
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("code", { children: "x-anthropic-billing-header" }),
|
|
11016
|
-
" text block that Claude Code prepends to the system prompt before forwarding to upstream. Improves prefix-cache hit rates against third-party upstreams. The default at startup is controlled by the ",
|
|
11017
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("code", { children: "AGENT_INSPECTOR_STRIP_CLAUDE_CODE_BILLING_HEADER" }),
|
|
11018
|
-
" ",
|
|
11019
|
-
"environment variable; your choice is persisted to ",
|
|
10994
|
+
"Strip Claude Code's synthetic billing block before upstream forwarding. This can improve prefix-cache hits with third-party providers and is persisted to ",
|
|
11020
10995
|
/* @__PURE__ */ jsxRuntimeExports.jsx("code", { children: "config.json" }),
|
|
11021
|
-
"
|
|
10996
|
+
"."
|
|
11022
10997
|
] })
|
|
11023
10998
|
] }),
|
|
11024
10999
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("label", { className: "flex items-center gap-3", children: [
|
|
@@ -11040,9 +11015,9 @@ function ProxySettingsTab() {
|
|
|
11040
11015
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-1", children: [
|
|
11041
11016
|
/* @__PURE__ */ jsxRuntimeExports.jsx("label", { htmlFor: "slow-response-threshold", className: "text-sm font-semibold", children: "Slow response threshold" }),
|
|
11042
11017
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-xs text-muted-foreground", children: [
|
|
11043
|
-
"
|
|
11018
|
+
"Show a slow marker when elapsed time exceeds this many seconds. Use ",
|
|
11044
11019
|
/* @__PURE__ */ jsxRuntimeExports.jsx("code", { children: "0" }),
|
|
11045
|
-
" to disable
|
|
11020
|
+
" to disable it."
|
|
11046
11021
|
] }),
|
|
11047
11022
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
11048
11023
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -11069,7 +11044,7 @@ function ProxySettingsTab() {
|
|
|
11069
11044
|
] }),
|
|
11070
11045
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-1", children: [
|
|
11071
11046
|
/* @__PURE__ */ jsxRuntimeExports.jsx("label", { htmlFor: "provider-test-timeout", className: "text-sm font-semibold", children: "Provider test timeout" }),
|
|
11072
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground", children: "Provider Test
|
|
11047
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground", children: "Abort slow Provider Test probes after this many seconds per model." }),
|
|
11073
11048
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
11074
11049
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
11075
11050
|
"input",
|
|
@@ -11095,7 +11070,7 @@ function ProxySettingsTab() {
|
|
|
11095
11070
|
] }),
|
|
11096
11071
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-1", children: [
|
|
11097
11072
|
/* @__PURE__ */ jsxRuntimeExports.jsx("label", { htmlFor: "time-display-format", className: "text-sm font-semibold", children: "Time display" }),
|
|
11098
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground", children: "Controls timestamps in session summaries,
|
|
11073
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground", children: "Controls timestamps in session summaries, headers, and log rows." }),
|
|
11099
11074
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
11100
11075
|
"select",
|
|
11101
11076
|
{
|
|
@@ -15577,12 +15552,20 @@ function ProxyViewerContainer({
|
|
|
15577
15552
|
const handleDeleteCurrentView = reactExports.useCallback(
|
|
15578
15553
|
async (ids) => {
|
|
15579
15554
|
if (ids.length === 0) return;
|
|
15580
|
-
const
|
|
15555
|
+
const persistedIds = ids.filter((id) => Number.isInteger(id) && id >= 0);
|
|
15556
|
+
if (persistedIds.length === 0) {
|
|
15557
|
+
showToast({
|
|
15558
|
+
message: "No persisted log records were found for this view.",
|
|
15559
|
+
tone: "error"
|
|
15560
|
+
});
|
|
15561
|
+
return;
|
|
15562
|
+
}
|
|
15563
|
+
const idSet = new Set(persistedIds);
|
|
15581
15564
|
const removed = allLogs.filter((log) => idSet.has(log.id));
|
|
15582
15565
|
const result = await fetchJson("/api/logs", DeleteLogsResponseSchema, {
|
|
15583
15566
|
method: "DELETE",
|
|
15584
15567
|
headers: { "content-type": "application/json" },
|
|
15585
|
-
body: JSON.stringify({ ids })
|
|
15568
|
+
body: JSON.stringify({ ids: persistedIds })
|
|
15586
15569
|
});
|
|
15587
15570
|
setAllLogs((prev) => {
|
|
15588
15571
|
const remaining = prev.filter((log) => !idSet.has(log.id));
|
|
@@ -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-CcJr9STz.mjs";
|
|
3
|
+
import { ResponseView } from "./ResponseView-Bp-0t5cd.mjs";
|
|
4
|
+
import { C as CapturedLogSchema } from "./router-_cAQddXC.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-CcJr9STz.mjs";
|
|
3
|
+
import "./router-_cAQddXC.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,6 +1,6 @@
|
|
|
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-CcJr9STz.mjs";
|
|
3
|
+
import { s as safeGetOwnProperty } from "./router-_cAQddXC.mjs";
|
|
4
4
|
import "../_libs/jszip.mjs";
|
|
5
5
|
import "../_libs/modelcontextprotocol__server.mjs";
|
|
6
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";
|
|
@@ -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-CcJr9STz.mjs";
|
|
3
|
+
import { S as StreamingChunkSchema$1 } from "./router-_cAQddXC.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-CcJr9STz.mjs";
|
|
2
2
|
import "../_libs/react.mjs";
|
|
3
|
-
import "./router-
|
|
3
|
+
import "./router-_cAQddXC.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-BfiF5iov.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-_cAQddXC.mjs").then((n) => n.N);
|
|
780
780
|
const startEntry = await import("./start-HYkvq4Ni.mjs");
|
|
781
781
|
return { startEntry, routerEntry };
|
|
782
782
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
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-CcJr9STz.mjs";
|
|
3
|
+
import "./router-_cAQddXC.mjs";
|
|
4
4
|
import "../_libs/modelcontextprotocol__server.mjs";
|
|
5
5
|
import "../_libs/jszip.mjs";
|
|
6
6
|
import { b as Check, e as Copy, a as ChevronDown, h as ChevronRight, aj as ChevronsDown } from "../_libs/lucide-react.mjs";
|
|
@@ -65,7 +65,7 @@ import "../_libs/immediate.mjs";
|
|
|
65
65
|
import "../_libs/setimmediate.mjs";
|
|
66
66
|
import "../_libs/pako.mjs";
|
|
67
67
|
const faviconSvg = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20role='img'%20aria-label='Agent%20Inspector'%3e%3cg%20fill='none'%20stroke='%23f59e0b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%20%3e%3cpath%20d='M5%2013%20C5%209%208%207%2012%207%20C16%207%2019%209%2019%2013%20C19%2016%2016%2018%2012%2018%20C8%2018%205%2016%205%2013%20Z'%20/%3e%3cpath%20d='M5%2011%20C3.5%209.5%201.5%2010%202%2012.5%20C2.5%2014%204%2013.5%205%2012.5'%20/%3e%3cpath%20d='M19%2011%20C20.5%209.5%2022.5%2010%2022%2012.5%20C21.5%2014%2020%2013.5%2019%2012.5'%20/%3e%3cline%20x1='10'%20y1='7'%20x2='9.5'%20y2='5'%20/%3e%3cline%20x1='14'%20y1='7'%20x2='14.5'%20y2='5'%20/%3e%3cline%20x1='6.5'%20y1='16'%20x2='4.5'%20y2='19.5'%20/%3e%3cline%20x1='9'%20y1='17.5'%20x2='8'%20y2='20.5'%20/%3e%3cline%20x1='15'%20y1='17.5'%20x2='16'%20y2='20.5'%20/%3e%3cline%20x1='17.5'%20y1='16'%20x2='19.5'%20y2='19.5'%20/%3e%3c/g%3e%3ccircle%20cx='9.5'%20cy='4.5'%20r='0.9'%20fill='%23f59e0b'%20/%3e%3ccircle%20cx='14.5'%20cy='4.5'%20r='0.9'%20fill='%23f59e0b'%20/%3e%3c/svg%3e";
|
|
68
|
-
const appCss = "/assets/index-
|
|
68
|
+
const appCss = "/assets/index-BIgsQvaF.css";
|
|
69
69
|
const Route$K = createRootRoute({
|
|
70
70
|
head: () => ({
|
|
71
71
|
meta: [
|
|
@@ -108,7 +108,7 @@ function RootDocument({ children }) {
|
|
|
108
108
|
] })
|
|
109
109
|
] });
|
|
110
110
|
}
|
|
111
|
-
const $$splitComponentImporter$1 = () => import("./index-
|
|
111
|
+
const $$splitComponentImporter$1 = () => import("./index-KVltJBV8.mjs");
|
|
112
112
|
const Route$J = createFileRoute("/")({
|
|
113
113
|
component: lazyRouteComponent($$splitComponentImporter$1, "component")
|
|
114
114
|
});
|
|
@@ -151,7 +151,7 @@ function decodeSessionIdFromPath(encoded) {
|
|
|
151
151
|
function getSessionPath(sessionId) {
|
|
152
152
|
return `/session/${encodeSessionIdForPath(sessionId)}`;
|
|
153
153
|
}
|
|
154
|
-
const $$splitComponentImporter = () => import("../_sessionId-
|
|
154
|
+
const $$splitComponentImporter = () => import("../_sessionId-BkoyescL.mjs");
|
|
155
155
|
const Route$I = createFileRoute("/session/$sessionId")({
|
|
156
156
|
component: lazyRouteComponent($$splitComponentImporter, "component"),
|
|
157
157
|
parseParams: (params) => ({
|
|
@@ -9156,7 +9156,7 @@ const Route$D = createFileRoute("/api/models")({
|
|
|
9156
9156
|
}
|
|
9157
9157
|
});
|
|
9158
9158
|
const name = "@tonyclaw/agent-inspector";
|
|
9159
|
-
const version = "3.0.
|
|
9159
|
+
const version = "3.0.10";
|
|
9160
9160
|
const packageJson = {
|
|
9161
9161
|
name,
|
|
9162
9162
|
version
|
|
@@ -12361,8 +12361,8 @@ async function searchLogsPage(options) {
|
|
|
12361
12361
|
scanned: scanPage.logs.length
|
|
12362
12362
|
};
|
|
12363
12363
|
}
|
|
12364
|
-
const
|
|
12365
|
-
ids: array(number().int().
|
|
12364
|
+
const DeleteLogsBodySchema = object({
|
|
12365
|
+
ids: array(number().int().nonnegative()).optional()
|
|
12366
12366
|
}).optional();
|
|
12367
12367
|
function parseNonNegativeInt(value, fallback) {
|
|
12368
12368
|
if (value === null) return fallback;
|
|
@@ -12456,7 +12456,7 @@ const Route$B = createFileRoute("/api/logs")({
|
|
|
12456
12456
|
const raw = await request.text();
|
|
12457
12457
|
if (raw !== "") {
|
|
12458
12458
|
const parsed = JSON.parse(raw);
|
|
12459
|
-
const result2 =
|
|
12459
|
+
const result2 = DeleteLogsBodySchema.safeParse(parsed);
|
|
12460
12460
|
if (!result2.success) {
|
|
12461
12461
|
return Response.json(
|
|
12462
12462
|
{ error: "Invalid request body", details: result2.error.format() },
|
|
@@ -12468,7 +12468,16 @@ const Route$B = createFileRoute("/api/logs")({
|
|
|
12468
12468
|
} catch {
|
|
12469
12469
|
return Response.json({ error: "Invalid JSON body" }, { status: 400 });
|
|
12470
12470
|
}
|
|
12471
|
-
if (body?.ids !== void 0
|
|
12471
|
+
if (body?.ids !== void 0) {
|
|
12472
|
+
if (body.ids.length === 0) {
|
|
12473
|
+
return Response.json({
|
|
12474
|
+
success: true,
|
|
12475
|
+
cleared: 0,
|
|
12476
|
+
logFilesRewritten: 0,
|
|
12477
|
+
chunkFilesDeleted: 0,
|
|
12478
|
+
sessionArchiveLogsDeleted: 0
|
|
12479
|
+
});
|
|
12480
|
+
}
|
|
12472
12481
|
const result2 = await clearPersistedLogsByIds(body.ids);
|
|
12473
12482
|
return Response.json({
|
|
12474
12483
|
success: true,
|
|
@@ -17803,10 +17812,10 @@ export {
|
|
|
17803
17812
|
providerHasContextMetadata as r,
|
|
17804
17813
|
safeGetOwnProperty as s,
|
|
17805
17814
|
maskApiKey as t,
|
|
17806
|
-
|
|
17807
|
-
|
|
17808
|
-
|
|
17809
|
-
|
|
17815
|
+
findProviderModelMetadata as u,
|
|
17816
|
+
PATH_V1_MESSAGES as v,
|
|
17817
|
+
PATH_V1_CHAT_COMPLETIONS as w,
|
|
17818
|
+
PATH_V1_RESPONSES as x,
|
|
17810
17819
|
previewUpstreamUrl as y,
|
|
17811
17820
|
createPendingProviderTestResults as z
|
|
17812
17821
|
};
|