@tonyclaw/agent-inspector 2.1.0 → 2.1.1

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.
Files changed (37) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/{CompareDrawer-VDpcSNGM.js → CompareDrawer-DkDpl_Sg.js} +1 -1
  3. package/.output/public/assets/ProxyViewerContainer-D_-e1qn7.js +117 -0
  4. package/.output/public/assets/{ReplayDialog-CoDgTzHR.js → ReplayDialog-CKqYfD0A.js} +1 -1
  5. package/.output/public/assets/{RequestAnatomy-t3plgkPE.js → RequestAnatomy-CQZl-YIx.js} +1 -1
  6. package/.output/public/assets/{ResponseView-BYuKiNeG.js → ResponseView-DW9tFPi0.js} +1 -1
  7. package/.output/public/assets/{StreamingChunkSequence-DOdU38Is.js → StreamingChunkSequence-m8zKc3L1.js} +1 -1
  8. package/.output/public/assets/_sessionId-DyfzgUXv.js +1 -0
  9. package/.output/public/assets/index-B6bobhTz.js +1 -0
  10. package/.output/public/assets/index-CLQKZ5A5.css +1 -0
  11. package/.output/public/assets/{main-DmzLt6ti.js → main-BjXd3DR-.js} +2 -2
  12. package/.output/server/{_sessionId-CCN1UoEf.mjs → _sessionId-LjzdyWF4.mjs} +2 -2
  13. package/.output/server/_ssr/{CompareDrawer-DkSY3vxP.mjs → CompareDrawer-YX2uOwh9.mjs} +2 -2
  14. package/.output/server/_ssr/{ProxyViewerContainer-OTh1V_Kh.mjs → ProxyViewerContainer-BcKHl2E3.mjs} +268 -238
  15. package/.output/server/_ssr/{ReplayDialog-DhI6yxrR.mjs → ReplayDialog-B9AxvV2j.mjs} +3 -3
  16. package/.output/server/_ssr/{RequestAnatomy-DN1SJVVL.mjs → RequestAnatomy-DxmUOcz8.mjs} +2 -2
  17. package/.output/server/_ssr/{ResponseView-DW-kpJL5.mjs → ResponseView-B73PHDQ0.mjs} +2 -2
  18. package/.output/server/_ssr/{StreamingChunkSequence-BAE57Fae.mjs → StreamingChunkSequence-Bkwxu5Ev.mjs} +2 -2
  19. package/.output/server/_ssr/{index-C9ryJEna.mjs → index-Dfl6uxit.mjs} +2 -2
  20. package/.output/server/_ssr/index.mjs +2 -2
  21. package/.output/server/_ssr/{router-DIIJGyML.mjs → router-B5cpU5Hi.mjs} +4 -4
  22. package/.output/server/{_tanstack-start-manifest_v-C_v9-E5d.mjs → _tanstack-start-manifest_v-CHhxRQY_.mjs} +1 -1
  23. package/.output/server/index.mjs +60 -60
  24. package/package.json +1 -1
  25. package/src/components/OnboardingBanner.tsx +6 -22
  26. package/src/components/ProxyViewer.tsx +0 -34
  27. package/src/components/ProxyViewerContainer.tsx +1 -2
  28. package/src/components/providers/SettingsDialog.tsx +0 -13
  29. package/src/components/proxy-viewer/LogEntry.tsx +198 -89
  30. package/src/components/proxy-viewer/LogEntryHeader.tsx +11 -7
  31. package/src/components/proxy-viewer/RequestToolsPanel.tsx +8 -8
  32. package/src/components/ui/json-viewer.tsx +6 -0
  33. package/styles/globals.css +53 -8
  34. package/.output/public/assets/ProxyViewerContainer-fsXSjqtm.js +0 -117
  35. package/.output/public/assets/_sessionId-ew5QlyZ2.js +0 -1
  36. package/.output/public/assets/index-DFICWD6o.js +0 -1
  37. package/.output/public/assets/index-zLLCkAnF.css +0 -1
@@ -1,7 +1,7 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { u as useProviders, D as Dialog, d as DialogContent, e as DialogHeader, h as DialogTitle, T as Tabs, i as TabsList, j as TabsTrigger, k as TabsContent, l as Button, m as TooltipProvider, n as Tooltip, o as TooltipTrigger, p as TooltipContent, q as dispatchLogFocusRequest } from "./ProxyViewerContainer-OTh1V_Kh.mjs";
3
- import { ResponseView } from "./ResponseView-DW-kpJL5.mjs";
4
- import { C as CapturedLogSchema } from "./router-DIIJGyML.mjs";
2
+ import { u as useProviders, D as Dialog, d as DialogContent, e as DialogHeader, h as DialogTitle, T as Tabs, i as TabsList, j as TabsTrigger, k as TabsContent, l as Button, m as TooltipProvider, n as Tooltip, o as TooltipTrigger, p as TooltipContent, q as dispatchLogFocusRequest } from "./ProxyViewerContainer-BcKHl2E3.mjs";
3
+ import { ResponseView } from "./ResponseView-B73PHDQ0.mjs";
4
+ import { C as CapturedLogSchema } from "./router-B5cpU5Hi.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import "../_libs/modelcontextprotocol__server.mjs";
7
7
  import { a0 as RotateCcw, ak as Braces, al 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, s as analyzeContextIntelligence, f as formatTokens, m as TooltipProvider, c as cn, n as Tooltip, o as TooltipTrigger, p as TooltipContent, S as SegmentBar, R as ROLE_COLOR_CLASSES, A as ANATOMY_ROLE_LABELS, t as formatContextWindowTokens, C as CONTEXT_USAGE_THRESHOLDS } from "./ProxyViewerContainer-OTh1V_Kh.mjs";
3
- import "./router-DIIJGyML.mjs";
2
+ import { u as useProviders, s as analyzeContextIntelligence, f as formatTokens, m as TooltipProvider, c as cn, n as Tooltip, o as TooltipTrigger, p as TooltipContent, S as SegmentBar, R as ROLE_COLOR_CLASSES, A as ANATOMY_ROLE_LABELS, t as formatContextWindowTokens, C as CONTEXT_USAGE_THRESHOLDS } from "./ProxyViewerContainer-BcKHl2E3.mjs";
3
+ import "./router-B5cpU5Hi.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import { I as Info, C as ChevronDown, f 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, v as getStatusCategory, B as Badge, w as Collapsible, x as CollapsibleTrigger, y as CollapsibleContent, z as ScrollArea, E as JsonViewer, F as safeJsonValue } from "./ProxyViewerContainer-OTh1V_Kh.mjs";
3
- import "./router-DIIJGyML.mjs";
2
+ import { g as getLogFormatAdapter, f as formatTokens, c as cn, v as getStatusCategory, B as Badge, w as Collapsible, x as CollapsibleTrigger, y as CollapsibleContent, z as ScrollArea, E as JsonViewer, F as safeJsonValue } from "./ProxyViewerContainer-BcKHl2E3.mjs";
3
+ import "./router-B5cpU5Hi.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import { Z as Zap, r as TriangleAlert, am as CircleStop, B as Brain, C as ChevronDown, f as ChevronRight, m 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 { m as TooltipProvider, n as Tooltip, o as TooltipTrigger, B as Badge, p as TooltipContent, E as JsonViewer } from "./ProxyViewerContainer-OTh1V_Kh.mjs";
3
- import "./router-DIIJGyML.mjs";
2
+ import { m as TooltipProvider, n as Tooltip, o as TooltipTrigger, B as Badge, p as TooltipContent, E as JsonViewer } from "./ProxyViewerContainer-BcKHl2E3.mjs";
3
+ import "./router-B5cpU5Hi.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import { C as ChevronDown, f as ChevronRight, i as LoaderCircle } from "../_libs/lucide-react.mjs";
@@ -1,6 +1,6 @@
1
- import { P as ProxyViewerContainer } from "./ProxyViewerContainer-OTh1V_Kh.mjs";
1
+ import { P as ProxyViewerContainer } from "./ProxyViewerContainer-BcKHl2E3.mjs";
2
2
  import "../_libs/react.mjs";
3
- import "./router-DIIJGyML.mjs";
3
+ import "./router-B5cpU5Hi.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-C_v9-E5d.mjs");
201
+ const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-CHhxRQY_.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-DIIJGyML.mjs").then((n) => n.w);
779
+ const routerEntry = await import("./router-B5cpU5Hi.mjs").then((n) => n.w);
780
780
  const startEntry = await import("./start-HYkvq4Ni.mjs");
781
781
  return { startEntry, routerEntry };
782
782
  }
@@ -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%2064%2064'%20role='img'%20aria-label='Agent%20Inspector'%3e%3crect%20width='64'%20height='64'%20rx='14'%20fill='%23111827'%20/%3e%3cg%20fill='none'%20stroke='%23f59e0b'%20stroke-width='4.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20fill='%23f59e0b'%20d='M15%2036c0-11%207-18%2017-18s17%207%2017%2018c0%208-7%2013-17%2013s-17-5-17-13z'%20/%3e%3cpath%20d='M16%2031c-6-5-12-3-12%204%200%205%206%206%2011%202'%20/%3e%3cpath%20d='M48%2031c6-5%2012-3%2012%204%200%205-6%206-11%202'%20/%3e%3cpath%20d='M27%2019l-3-7'%20/%3e%3cpath%20d='M37%2019l3-7'%20/%3e%3cpath%20d='M19%2045l-6%209'%20/%3e%3cpath%20d='M27%2048l-3%209'%20/%3e%3cpath%20d='M37%2048l3%209'%20/%3e%3cpath%20d='M45%2045l6%209'%20/%3e%3c/g%3e%3cpath%20d='M14%2047l9-8%208%209c-5%203.5-12%203-17-1z'%20fill='%232f6b3f'%20opacity='.95'%20/%3e%3cpath%20d='M18%2046l5-5%205%206c-3%201.6-7%201.4-10-1z'%20fill='%236fb36f'%20opacity='.95'%20/%3e%3cpath%20d='M23%2041v10'%20fill='none'%20stroke='%23d6b45f'%20stroke-width='1.6'%20stroke-linecap='round'%20/%3e%3ccircle%20cx='31'%20cy='48'%20r='1.8'%20fill='%23c2412d'%20/%3e%3cpath%20d='M24%2044l13-11%2014%2013c-8%205.8-18%205.3-27-2z'%20fill='%232f6b3f'%20opacity='.97'%20/%3e%3cpath%20d='M30%2043l7-7%209%209c-5%202.7-11%202.5-16-2z'%20fill='%236fb36f'%20opacity='.95'%20/%3e%3cpath%20d='M37%2036v14'%20fill='none'%20stroke='%23d6b45f'%20stroke-width='2'%20stroke-linecap='round'%20/%3e%3cpath%20d='M30%2043c5-2%2011-1.5%2016%202'%20fill='none'%20stroke='%239fca78'%20stroke-width='1.8'%20stroke-linecap='round'%20/%3e%3ccircle%20cx='51'%20cy='46'%20r='2'%20fill='%23c2412d'%20/%3e%3cpath%20d='M40%2050l8-8%207%208c-4.2%203.2-10%203-15%200z'%20fill='%232f6b3f'%20opacity='.95'%20/%3e%3cpath%20d='M43%2049l5-5%204.5%205.5c-3%201.5-6%201.2-9.5-.5z'%20fill='%236fb36f'%20opacity='.95'%20/%3e%3cpath%20d='M48%2044v9'%20fill='none'%20stroke='%23d6b45f'%20stroke-width='1.5'%20stroke-linecap='round'%20/%3e%3ccircle%20cx='55'%20cy='50'%20r='1.7'%20fill='%23c2412d'%20/%3e%3ccircle%20cx='24'%20cy='11'%20r='3.2'%20fill='%23f59e0b'%20/%3e%3ccircle%20cx='40'%20cy='11'%20r='3.2'%20fill='%23f59e0b'%20/%3e%3ccircle%20cx='25'%20cy='34'%20r='2.1'%20fill='%23111827'%20/%3e%3ccircle%20cx='39'%20cy='34'%20r='2.1'%20fill='%23111827'%20/%3e%3c/svg%3e";
68
- const appCss = "/assets/index-zLLCkAnF.css";
68
+ const appCss = "/assets/index-CLQKZ5A5.css";
69
69
  const Route$z = 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-C9ryJEna.mjs");
111
+ const $$splitComponentImporter$1 = () => import("./index-Dfl6uxit.mjs");
112
112
  const Route$y = 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-CCN1UoEf.mjs");
154
+ const $$splitComponentImporter = () => import("../_sessionId-LjzdyWF4.mjs");
155
155
  const Route$x = createFileRoute("/session/$sessionId")({
156
156
  component: lazyRouteComponent($$splitComponentImporter, "component"),
157
157
  parseParams: (params) => ({
@@ -7338,7 +7338,7 @@ const Route$s = createFileRoute("/api/models")({
7338
7338
  }
7339
7339
  }
7340
7340
  });
7341
- const version = "2.1.0";
7341
+ const version = "2.1.1";
7342
7342
  const packageJson = {
7343
7343
  version
7344
7344
  };
@@ -1,4 +1,4 @@
1
- const tsrStartManifest = () => ({ "routes": { "__root__": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/__root.tsx", "children": ["/", "/api/config", "/api/groups", "/api/health", "/api/logs", "/api/mcp", "/api/models", "/api/providers", "/api/runs", "/api/sessions", "/proxy/$", "/session/$sessionId", "/api/knowledge/candidates", "/api/knowledge/project-context", "/api/knowledge/search", "/api/knowledge/sessions/$sessionId/candidates"], "preloads": ["/assets/main-DmzLt6ti.js"], "assets": [] }, "/": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/index.tsx", "assets": [], "preloads": ["/assets/index-DFICWD6o.js", "/assets/ProxyViewerContainer-fsXSjqtm.js"] }, "/api/config": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/config.ts", "children": ["/api/config/paths"] }, "/api/groups": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/groups.ts", "children": ["/api/groups/$groupId"] }, "/api/health": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/health.ts" }, "/api/logs": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.ts", "children": ["/api/logs/$id", "/api/logs/stream"] }, "/api/mcp": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/mcp.ts" }, "/api/models": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/models.ts" }, "/api/providers": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.ts", "children": ["/api/providers/$providerId", "/api/providers/export", "/api/providers/import", "/api/providers/scan"] }, "/api/runs": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/runs.ts", "children": ["/api/runs/$runId"] }, "/api/sessions": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/sessions.ts" }, "/proxy/$": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/proxy/$.ts" }, "/session/$sessionId": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/session/$sessionId.tsx", "assets": [], "preloads": ["/assets/_sessionId-ew5QlyZ2.js", "/assets/ProxyViewerContainer-fsXSjqtm.js"] }, "/api/config/paths": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/config.paths.ts" }, "/api/groups/$groupId": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/groups.$groupId.ts", "children": ["/api/groups/$groupId/evidence", "/api/groups/$groupId/sessions"] }, "/api/knowledge/candidates": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.candidates.ts", "children": ["/api/knowledge/candidates/$candidateId"] }, "/api/knowledge/project-context": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.project-context.ts" }, "/api/knowledge/search": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.search.ts" }, "/api/logs/$id": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.$id.ts", "children": ["/api/logs/$id/chunks", "/api/logs/$id/replay"] }, "/api/logs/stream": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.stream.ts" }, "/api/providers/$providerId": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.$providerId.ts", "children": ["/api/providers/$providerId/model-metadata", "/api/providers/$providerId/test"] }, "/api/providers/export": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.export.ts" }, "/api/providers/import": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.import.ts" }, "/api/providers/scan": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.scan.ts" }, "/api/runs/$runId": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/runs.$runId.ts", "children": ["/api/runs/$runId/evidence"] }, "/api/groups/$groupId/evidence": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/groups.$groupId.evidence.ts" }, "/api/groups/$groupId/sessions": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/groups.$groupId.sessions.ts" }, "/api/knowledge/candidates/$candidateId": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.candidates.$candidateId.ts", "children": ["/api/knowledge/candidates/$candidateId/promote"] }, "/api/logs/$id/chunks": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.$id.chunks.ts" }, "/api/logs/$id/replay": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.$id.replay.ts" }, "/api/providers/$providerId/model-metadata": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.$providerId.model-metadata.ts" }, "/api/providers/$providerId/test": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.$providerId.test.ts", "children": ["/api/providers/$providerId/test/log"] }, "/api/runs/$runId/evidence": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/runs.$runId.evidence.ts" }, "/api/knowledge/candidates/$candidateId/promote": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.candidates.$candidateId.promote.ts" }, "/api/knowledge/sessions/$sessionId/candidates": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.sessions.$sessionId.candidates.ts" }, "/api/providers/$providerId/test/log": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.$providerId.test.log.ts" } }, "clientEntry": "/assets/main-DmzLt6ti.js" });
1
+ const tsrStartManifest = () => ({ "routes": { "__root__": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/__root.tsx", "children": ["/", "/api/config", "/api/groups", "/api/health", "/api/logs", "/api/mcp", "/api/models", "/api/providers", "/api/runs", "/api/sessions", "/proxy/$", "/session/$sessionId", "/api/knowledge/candidates", "/api/knowledge/project-context", "/api/knowledge/search", "/api/knowledge/sessions/$sessionId/candidates"], "preloads": ["/assets/main-BjXd3DR-.js"], "assets": [] }, "/": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/index.tsx", "assets": [], "preloads": ["/assets/index-B6bobhTz.js", "/assets/ProxyViewerContainer-D_-e1qn7.js"] }, "/api/config": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/config.ts", "children": ["/api/config/paths"] }, "/api/groups": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/groups.ts", "children": ["/api/groups/$groupId"] }, "/api/health": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/health.ts" }, "/api/logs": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.ts", "children": ["/api/logs/$id", "/api/logs/stream"] }, "/api/mcp": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/mcp.ts" }, "/api/models": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/models.ts" }, "/api/providers": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.ts", "children": ["/api/providers/$providerId", "/api/providers/export", "/api/providers/import", "/api/providers/scan"] }, "/api/runs": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/runs.ts", "children": ["/api/runs/$runId"] }, "/api/sessions": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/sessions.ts" }, "/proxy/$": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/proxy/$.ts" }, "/session/$sessionId": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/session/$sessionId.tsx", "assets": [], "preloads": ["/assets/_sessionId-DyfzgUXv.js", "/assets/ProxyViewerContainer-D_-e1qn7.js"] }, "/api/config/paths": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/config.paths.ts" }, "/api/groups/$groupId": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/groups.$groupId.ts", "children": ["/api/groups/$groupId/evidence", "/api/groups/$groupId/sessions"] }, "/api/knowledge/candidates": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.candidates.ts", "children": ["/api/knowledge/candidates/$candidateId"] }, "/api/knowledge/project-context": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.project-context.ts" }, "/api/knowledge/search": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.search.ts" }, "/api/logs/$id": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.$id.ts", "children": ["/api/logs/$id/chunks", "/api/logs/$id/replay"] }, "/api/logs/stream": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.stream.ts" }, "/api/providers/$providerId": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.$providerId.ts", "children": ["/api/providers/$providerId/model-metadata", "/api/providers/$providerId/test"] }, "/api/providers/export": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.export.ts" }, "/api/providers/import": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.import.ts" }, "/api/providers/scan": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.scan.ts" }, "/api/runs/$runId": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/runs.$runId.ts", "children": ["/api/runs/$runId/evidence"] }, "/api/groups/$groupId/evidence": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/groups.$groupId.evidence.ts" }, "/api/groups/$groupId/sessions": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/groups.$groupId.sessions.ts" }, "/api/knowledge/candidates/$candidateId": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.candidates.$candidateId.ts", "children": ["/api/knowledge/candidates/$candidateId/promote"] }, "/api/logs/$id/chunks": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.$id.chunks.ts" }, "/api/logs/$id/replay": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.$id.replay.ts" }, "/api/providers/$providerId/model-metadata": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.$providerId.model-metadata.ts" }, "/api/providers/$providerId/test": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.$providerId.test.ts", "children": ["/api/providers/$providerId/test/log"] }, "/api/runs/$runId/evidence": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/runs.$runId.evidence.ts" }, "/api/knowledge/candidates/$candidateId/promote": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.candidates.$candidateId.promote.ts" }, "/api/knowledge/sessions/$sessionId/candidates": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/knowledge.sessions.$sessionId.candidates.ts" }, "/api/providers/$providerId/test/log": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/providers.$providerId.test.log.ts" } }, "clientEntry": "/assets/main-BjXd3DR-.js" });
2
2
  export {
3
3
  tsrStartManifest
4
4
  };
@@ -38,100 +38,100 @@ const assets = {
38
38
  "/assets/alibaba-TTwafVwX.svg": {
39
39
  "type": "image/svg+xml",
40
40
  "etag": '"171b-6dyV5K8QjiaY35sN9qNprh9zDIs"',
41
- "mtime": "2026-07-03T03:56:33.507Z",
41
+ "mtime": "2026-07-03T04:20:32.534Z",
42
42
  "size": 5915,
43
43
  "path": "../public/assets/alibaba-TTwafVwX.svg"
44
44
  },
45
- "/assets/index-DFICWD6o.js": {
45
+ "/assets/index-B6bobhTz.js": {
46
46
  "type": "text/javascript; charset=utf-8",
47
- "etag": '"74-+9cCcGeyvzlf+Bk2xUC8tzIF0OI"',
48
- "mtime": "2026-07-03T03:56:33.507Z",
47
+ "etag": '"74-+1X3vjH3iZhdgeocecr3fbGedq8"',
48
+ "mtime": "2026-07-03T04:20:32.534Z",
49
49
  "size": 116,
50
- "path": "../public/assets/index-DFICWD6o.js"
51
- },
52
- "/assets/CompareDrawer-VDpcSNGM.js": {
53
- "type": "text/javascript; charset=utf-8",
54
- "etag": '"49e8-ajy70W1rR+/Q1eJQ+qNs39tBVP4"',
55
- "mtime": "2026-07-03T03:56:33.507Z",
56
- "size": 18920,
57
- "path": "../public/assets/CompareDrawer-VDpcSNGM.js"
58
- },
59
- "/assets/index-zLLCkAnF.css": {
60
- "type": "text/css; charset=utf-8",
61
- "etag": '"1bd7d-Q3DysR+aGn9MSbGdCMtKAQuCaD4"',
62
- "mtime": "2026-07-03T03:56:33.507Z",
63
- "size": 114045,
64
- "path": "../public/assets/index-zLLCkAnF.css"
65
- },
66
- "/assets/qwen-CONDcHqt.png": {
67
- "type": "image/png",
68
- "etag": '"572c3-cdJAPaHdOvFCGzuaQjagdgOu6XE"',
69
- "mtime": "2026-07-03T03:56:33.507Z",
70
- "size": 357059,
71
- "path": "../public/assets/qwen-CONDcHqt.png"
50
+ "path": "../public/assets/index-B6bobhTz.js"
72
51
  },
73
52
  "/assets/minimax-BPMzvuL-.jpeg": {
74
53
  "type": "image/jpeg",
75
54
  "etag": '"1b06-IwivU89ko5UTMUM1/t7hn4sQK9A"',
76
- "mtime": "2026-07-03T03:56:33.507Z",
55
+ "mtime": "2026-07-03T04:20:32.534Z",
77
56
  "size": 6918,
78
57
  "path": "../public/assets/minimax-BPMzvuL-.jpeg"
79
58
  },
80
- "/assets/ReplayDialog-CoDgTzHR.js": {
59
+ "/assets/CompareDrawer-DkDpl_Sg.js": {
60
+ "type": "text/javascript; charset=utf-8",
61
+ "etag": '"49e8-hvVJ7aJD7oXFBea9IwfqjSm1apc"',
62
+ "mtime": "2026-07-03T04:20:32.534Z",
63
+ "size": 18920,
64
+ "path": "../public/assets/CompareDrawer-DkDpl_Sg.js"
65
+ },
66
+ "/assets/main-BjXd3DR-.js": {
81
67
  "type": "text/javascript; charset=utf-8",
82
- "etag": '"318c-0twqpyojedLjGws3LUKh6O8+3nA"',
83
- "mtime": "2026-07-03T03:56:33.508Z",
68
+ "etag": '"517d9-0XuPT9UBPJLh8vCEqpVcVwbQy5I"',
69
+ "mtime": "2026-07-03T04:20:32.534Z",
70
+ "size": 333785,
71
+ "path": "../public/assets/main-BjXd3DR-.js"
72
+ },
73
+ "/assets/index-CLQKZ5A5.css": {
74
+ "type": "text/css; charset=utf-8",
75
+ "etag": '"1db95-AknbJdbUgLm9eLIEOShi7av67bM"',
76
+ "mtime": "2026-07-03T04:20:32.534Z",
77
+ "size": 121749,
78
+ "path": "../public/assets/index-CLQKZ5A5.css"
79
+ },
80
+ "/assets/ReplayDialog-CKqYfD0A.js": {
81
+ "type": "text/javascript; charset=utf-8",
82
+ "etag": '"318c-pGLvm5fYWk1NouTexVSxwQ1fq8k"',
83
+ "mtime": "2026-07-03T04:20:32.534Z",
84
84
  "size": 12684,
85
- "path": "../public/assets/ReplayDialog-CoDgTzHR.js"
85
+ "path": "../public/assets/ReplayDialog-CKqYfD0A.js"
86
86
  },
87
- "/assets/ResponseView-BYuKiNeG.js": {
87
+ "/assets/ResponseView-DW9tFPi0.js": {
88
88
  "type": "text/javascript; charset=utf-8",
89
- "etag": '"30d2-3G74qLhEPPuC0NYHNMcTa1gXf7U"',
90
- "mtime": "2026-07-03T03:56:33.507Z",
89
+ "etag": '"30d2-iR9UDUNw3XfTxY+qGtP+c+TTo5c"',
90
+ "mtime": "2026-07-03T04:20:32.534Z",
91
91
  "size": 12498,
92
- "path": "../public/assets/ResponseView-BYuKiNeG.js"
92
+ "path": "../public/assets/ResponseView-DW9tFPi0.js"
93
93
  },
94
- "/assets/StreamingChunkSequence-DOdU38Is.js": {
94
+ "/assets/StreamingChunkSequence-m8zKc3L1.js": {
95
95
  "type": "text/javascript; charset=utf-8",
96
- "etag": '"d5c-DJxkJQuReuIrO+fYI7Gp3wd4Ahs"',
97
- "mtime": "2026-07-03T03:56:33.508Z",
96
+ "etag": '"d5c-g9AeqZjwudQVhYiVD5sLzzl0Q/A"',
97
+ "mtime": "2026-07-03T04:20:32.534Z",
98
98
  "size": 3420,
99
- "path": "../public/assets/StreamingChunkSequence-DOdU38Is.js"
99
+ "path": "../public/assets/StreamingChunkSequence-m8zKc3L1.js"
100
100
  },
101
- "/assets/_sessionId-ew5QlyZ2.js": {
101
+ "/assets/_sessionId-DyfzgUXv.js": {
102
102
  "type": "text/javascript; charset=utf-8",
103
- "etag": '"d2-t1JkPwBzeykveWWwmpxWw+rSXEM"',
104
- "mtime": "2026-07-03T03:56:33.507Z",
103
+ "etag": '"d2-1xhPVWFjI6HtHDvlQU6oty4zEXw"',
104
+ "mtime": "2026-07-03T04:20:32.534Z",
105
105
  "size": 210,
106
- "path": "../public/assets/_sessionId-ew5QlyZ2.js"
106
+ "path": "../public/assets/_sessionId-DyfzgUXv.js"
107
107
  },
108
108
  "/assets/zhipuai-BPNAnxo-.svg": {
109
109
  "type": "image/svg+xml",
110
110
  "etag": '"2bf8-hNaLCTi89nOFCsIIfWpP/jrfo0s"',
111
- "mtime": "2026-07-03T03:56:33.507Z",
111
+ "mtime": "2026-07-03T04:20:32.534Z",
112
112
  "size": 11256,
113
113
  "path": "../public/assets/zhipuai-BPNAnxo-.svg"
114
114
  },
115
- "/assets/RequestAnatomy-t3plgkPE.js": {
116
- "type": "text/javascript; charset=utf-8",
117
- "etag": '"43f2-kvOx56u9DW1rdodfXLIWisxwD1c"',
118
- "mtime": "2026-07-03T03:56:33.508Z",
119
- "size": 17394,
120
- "path": "../public/assets/RequestAnatomy-t3plgkPE.js"
115
+ "/assets/qwen-CONDcHqt.png": {
116
+ "type": "image/png",
117
+ "etag": '"572c3-cdJAPaHdOvFCGzuaQjagdgOu6XE"',
118
+ "mtime": "2026-07-03T04:20:32.534Z",
119
+ "size": 357059,
120
+ "path": "../public/assets/qwen-CONDcHqt.png"
121
121
  },
122
- "/assets/main-DmzLt6ti.js": {
122
+ "/assets/RequestAnatomy-CQZl-YIx.js": {
123
123
  "type": "text/javascript; charset=utf-8",
124
- "etag": '"517d9-eO3gi5mVIsCs9Rr3vgFtrIEB/p4"',
125
- "mtime": "2026-07-03T03:56:33.507Z",
126
- "size": 333785,
127
- "path": "../public/assets/main-DmzLt6ti.js"
124
+ "etag": '"43f2-pSO7y3fZD84r9lwwLNtMX/Q5s2Y"',
125
+ "mtime": "2026-07-03T04:20:32.534Z",
126
+ "size": 17394,
127
+ "path": "../public/assets/RequestAnatomy-CQZl-YIx.js"
128
128
  },
129
- "/assets/ProxyViewerContainer-fsXSjqtm.js": {
129
+ "/assets/ProxyViewerContainer-D_-e1qn7.js": {
130
130
  "type": "text/javascript; charset=utf-8",
131
- "etag": '"bb00a-BeXeA1I+ShxbnFR8iSNREQAPhwE"',
132
- "mtime": "2026-07-03T03:56:33.508Z",
133
- "size": 765962,
134
- "path": "../public/assets/ProxyViewerContainer-fsXSjqtm.js"
131
+ "etag": '"bafec-oIaVBZ146ySipmtK5bj+qCWIByM"',
132
+ "mtime": "2026-07-03T04:20:32.536Z",
133
+ "size": 765932,
134
+ "path": "../public/assets/ProxyViewerContainer-D_-e1qn7.js"
135
135
  }
136
136
  };
137
137
  function readAsset(id) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tonyclaw/agent-inspector",
3
- "version": "2.1.0",
3
+ "version": "2.1.1",
4
4
  "type": "module",
5
5
  "description": "Agent observability and knowledge capture layer for AI coding tools.",
6
6
  "license": "MIT",
@@ -7,13 +7,11 @@ import { useOnboarding } from "../lib/useOnboarding";
7
7
  * dismissal through the server runtime config.
8
8
  */
9
9
  export function OnboardingBanner(): JSX.Element | null {
10
- const { hasSeenOnboarding, captureMode, isLoading, markSeen } = useOnboarding();
10
+ const { hasSeenOnboarding, isLoading, markSeen } = useOnboarding();
11
11
  const [expanded, setExpanded] = useState(false);
12
12
 
13
13
  if (isLoading || hasSeenOnboarding) return null;
14
14
 
15
- const isFullMode = captureMode === "full";
16
- const modeLabel = isFullMode ? "Full" : "Simple";
17
15
  const detailClass = expanded ? "grid" : "hidden sm:grid";
18
16
 
19
17
  return (
@@ -27,35 +25,21 @@ export function OnboardingBanner(): JSX.Element | null {
27
25
  <div className="min-w-0 flex-1">
28
26
  <div className="flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1">
29
27
  <span className="font-medium text-amber-200">Inspector ready</span>
30
- <span className="rounded border border-amber-400/30 bg-amber-400/10 px-1.5 py-0.5 font-mono text-[10px] uppercase text-amber-100">
31
- {modeLabel}
32
- </span>
33
28
  <span className="hidden truncate text-xs text-muted-foreground sm:inline">
34
- {isFullMode
35
- ? "Raw headers, raw response, and SSE chunks are being captured."
36
- : "Request, response, tool, timing, token, replay, and memory signals are active."}
29
+ Request, response, tool, timing, token, replay, and memory signals are active.
37
30
  </span>
38
31
  </div>
39
32
  <div className="mt-1 text-xs leading-relaxed text-muted-foreground sm:hidden">
40
- {isFullMode
41
- ? "Full diagnostics are active."
42
- : "Core capture is active with lower overhead."}
33
+ Core capture is active.
43
34
  </div>
44
35
  <div
45
- className={`${detailClass} mt-2 gap-x-4 gap-y-1 text-xs leading-relaxed text-muted-foreground sm:grid-cols-3`}
36
+ className={`${detailClass} mt-2 gap-x-4 gap-y-1 text-xs leading-relaxed text-muted-foreground sm:grid-cols-2`}
46
37
  >
47
38
  <div>
48
- <strong>Mode</strong>: <code>{captureMode}</code> is fixed until restart.
49
- </div>
50
- <div>
51
- <strong>Diagnostics</strong>: use{" "}
52
- <code>
53
- {isFullMode ? "agent-inspector --mode simple" : "agent-inspector --mode full"}
54
- </code>
55
- .
39
+ <strong>Evidence</strong>: logs, sessions, groups, and MCP exports are available.
56
40
  </div>
57
41
  <div>
58
- <strong>Network</strong>: replace <code>localhost</code> when containers differ.
42
+ <strong>Network</strong>: replace <code>localhost</code> if containers differ.
59
43
  </div>
60
44
  </div>
61
45
  </div>
@@ -1254,7 +1254,6 @@ export type ProxyViewerProps = {
1254
1254
  * Clear button on each conversation header. */
1255
1255
  onClearGroup: (ids: number[]) => void;
1256
1256
  viewMode: "simple" | "full";
1257
- onViewModeChange: (mode: "simple" | "full") => void;
1258
1257
  captureMode: CaptureMode;
1259
1258
  /** Live strip-Claude-Code-billing-header flag, sourced once at the container. */
1260
1259
  strip: boolean;
@@ -1287,7 +1286,6 @@ export function ProxyViewer({
1287
1286
  onClearAll,
1288
1287
  onClearGroup,
1289
1288
  viewMode,
1290
- onViewModeChange,
1291
1289
  captureMode,
1292
1290
  strip,
1293
1291
  slowResponseThresholdSeconds,
@@ -1492,38 +1490,6 @@ export function ProxyViewer({
1492
1490
  ))}
1493
1491
  </SelectContent>
1494
1492
  </Select>
1495
- {captureMode === "full" ? (
1496
- <div className="grid h-9 grid-cols-2 overflow-hidden rounded-md border border-border">
1497
- <button
1498
- type="button"
1499
- onClick={() => onViewModeChange("simple")}
1500
- className={cn(
1501
- "text-xs transition-colors",
1502
- viewMode === "simple"
1503
- ? "bg-muted text-foreground"
1504
- : "text-muted-foreground hover:bg-muted/50",
1505
- )}
1506
- >
1507
- Simple
1508
- </button>
1509
- <button
1510
- type="button"
1511
- onClick={() => onViewModeChange("full")}
1512
- className={cn(
1513
- "text-xs transition-colors",
1514
- viewMode === "full"
1515
- ? "bg-muted text-foreground"
1516
- : "text-muted-foreground hover:bg-muted/50",
1517
- )}
1518
- >
1519
- Full
1520
- </button>
1521
- </div>
1522
- ) : (
1523
- <div className="flex h-9 items-center rounded-md border border-border bg-muted px-3 text-xs text-foreground">
1524
- Simple
1525
- </div>
1526
- )}
1527
1493
  </div>
1528
1494
  </div>
1529
1495
  </aside>
@@ -184,7 +184,6 @@ export function ProxyViewerContainer({
184
184
  const [allLogs, setAllLogs] = useState<CapturedLog[]>([]);
185
185
  const [selectedSession, setSelectedSession] = useState(initialSessionId ?? "__all__");
186
186
  const [selectedModel, setSelectedModel] = useState("__all__");
187
- const [viewMode, setViewMode] = useState<"simple" | "full">("simple");
188
187
  const [error, setError] = useState<string | null>(null);
189
188
  const [streamInitialized, setStreamInitialized] = useState(initialSessionId === undefined);
190
189
  const [logPage, setLogPage] = useState<LogCursorPage | null>(null);
@@ -491,6 +490,7 @@ export function ProxyViewerContainer({
491
490
  // Read the strip config once at the container so the virtualized list does
492
491
  // not need N independent SWR subscriptions per row.
493
492
  const { strip, captureMode, slowResponseThresholdSeconds, timeDisplayFormat } = useStripConfig();
493
+ const viewMode = captureMode;
494
494
  const loadOldestPage = useCallback(() => {
495
495
  loadSessionPage({ kind: "oldest" });
496
496
  }, [loadSessionPage]);
@@ -556,7 +556,6 @@ export function ProxyViewerContainer({
556
556
  pagination={pagination}
557
557
  sessionMemberships={sessionMemberships}
558
558
  viewMode={viewMode}
559
- onViewModeChange={setViewMode}
560
559
  captureMode={captureMode}
561
560
  strip={strip}
562
561
  slowResponseThresholdSeconds={slowResponseThresholdSeconds}
@@ -530,7 +530,6 @@ function McpSettingsTab(): JSX.Element {
530
530
  function ProxySettingsTab(): JSX.Element {
531
531
  const {
532
532
  strip,
533
- captureMode,
534
533
  slowResponseThresholdSeconds,
535
534
  providerTestTimeoutSeconds,
536
535
  timeDisplayFormat,
@@ -542,7 +541,6 @@ function ProxySettingsTab(): JSX.Element {
542
541
  } = useStripConfig();
543
542
  const [error, setError] = useState<string | null>(null);
544
543
  const [pending, setPending] = useState(false);
545
- const alternateCaptureMode = captureMode === "full" ? "simple" : "full";
546
544
 
547
545
  const handleToggle = useCallback(
548
546
  async (next: boolean) => {
@@ -606,17 +604,6 @@ function ProxySettingsTab(): JSX.Element {
606
604
 
607
605
  return (
608
606
  <div className="space-y-4">
609
- <div className="space-y-1">
610
- <h3 className="text-sm font-semibold">Capture mode</h3>
611
- <p className="text-xs text-muted-foreground">
612
- This process is running in <code>{captureMode}</code> mode. Restart with{" "}
613
- <code>agent-inspector --mode {alternateCaptureMode}</code> to change it.
614
- {captureMode === "simple"
615
- ? " Simple mode keeps replay, parsed requests, responses, timing, tools, and token usage while skipping raw headers, raw response retention, and detailed SSE chunk retention."
616
- : " Full mode retains raw headers, raw responses, and SSE chunks for diagnostics; use simple mode for everyday lower-overhead capture."}
617
- </p>
618
- </div>
619
-
620
607
  <div className="space-y-1">
621
608
  <h3 className="text-sm font-semibold">Claude Code billing header</h3>
622
609
  <p className="text-xs text-muted-foreground">