@tonyclaw/agent-inspector 2.1.18 → 2.1.19

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 (38) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/{CompareDrawer-Fqqw5Lci.js → CompareDrawer-CHXN5HYU.js} +1 -1
  3. package/.output/public/assets/{ProxyViewerContainer-CP_RzwW9.js → ProxyViewerContainer-TZJV7HhE.js} +6 -6
  4. package/.output/public/assets/{ReplayDialog-hYhz_i6W.js → ReplayDialog-DQ7nS5Rr.js} +1 -1
  5. package/.output/public/assets/{RequestAnatomy-CTuWbtwC.js → RequestAnatomy-DXWweH_2.js} +1 -1
  6. package/.output/public/assets/{ResponseView-CsZ7S5Gv.js → ResponseView-3PimPfiD.js} +2 -2
  7. package/.output/public/assets/{StreamingChunkSequence-PIbJMotU.js → StreamingChunkSequence-4v52v-7a.js} +1 -1
  8. package/.output/public/assets/_sessionId-DfkBPvCC.js +1 -0
  9. package/.output/public/assets/{index-F7mynwuH.js → index-BuhFRImh.js} +1 -1
  10. package/.output/public/assets/index-ChgjUix0.css +1 -0
  11. package/.output/public/assets/index-Uf87L52J.js +1 -0
  12. package/.output/public/assets/{json-viewer-DCXtNmmD.js → json-viewer-d2gWBDLO.js} +1 -1
  13. package/.output/public/assets/{main-BJZf7_Ib.js → main-Do-E-46G.js} +2 -2
  14. package/.output/server/{_sessionId-DjSHDNh8.mjs → _sessionId-B82aMW2A.mjs} +2 -2
  15. package/.output/server/_ssr/{CompareDrawer-Dal52IFo.mjs → CompareDrawer-Bud_yIrM.mjs} +2 -2
  16. package/.output/server/_ssr/{ProxyViewerContainer-CVqFZGff.mjs → ProxyViewerContainer-DqgVb0So.mjs} +79 -96
  17. package/.output/server/_ssr/{ReplayDialog-BOEgdMes.mjs → ReplayDialog-DKbV5fnW.mjs} +3 -3
  18. package/.output/server/_ssr/{RequestAnatomy-gch7_vCV.mjs → RequestAnatomy-MStxp1Wp.mjs} +2 -2
  19. package/.output/server/_ssr/{ResponseView-lEWPy-H4.mjs → ResponseView-HLTCpJcF.mjs} +2 -2
  20. package/.output/server/_ssr/{StreamingChunkSequence-DnudbJ1O.mjs → StreamingChunkSequence-DEiyiUs_.mjs} +2 -2
  21. package/.output/server/_ssr/{index-Cza8zDrW.mjs → index-DamOPFDI.mjs} +2 -2
  22. package/.output/server/_ssr/index.mjs +2 -2
  23. package/.output/server/_ssr/{json-viewer-C2lIVEX3.mjs → json-viewer-MmTWKxqh.mjs} +2 -2
  24. package/.output/server/_ssr/{router-bF9uzd1k.mjs → router-50BIB6ED.mjs} +4 -4
  25. package/.output/server/{_tanstack-start-manifest_v-ErvW-mtr.mjs → _tanstack-start-manifest_v-TSwb1vFc.mjs} +1 -1
  26. package/.output/server/index.mjs +73 -73
  27. package/package.json +1 -1
  28. package/src/components/proxy-viewer/ConversationGroupList.tsx +11 -11
  29. package/src/components/proxy-viewer/ConversationHeader.tsx +7 -7
  30. package/src/components/proxy-viewer/LogEntry.tsx +15 -26
  31. package/src/components/proxy-viewer/LogEntryHeader.tsx +11 -14
  32. package/src/components/proxy-viewer/RequestToolsPanel.tsx +15 -15
  33. package/src/components/proxy-viewer/ThreadConnector.tsx +3 -3
  34. package/src/components/proxy-viewer/ToolTraceEvents.tsx +1 -1
  35. package/src/components/proxy-viewer/TurnGroup.tsx +10 -14
  36. package/.output/public/assets/_sessionId-CUGA9qU3.js +0 -1
  37. package/.output/public/assets/index-G4dTUobw.js +0 -1
  38. package/.output/public/assets/index-gvYkgMPF.css +0 -1
@@ -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-gvYkgMPF.css";
68
+ const appCss = "/assets/index-ChgjUix0.css";
69
69
  const Route$D = 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-Cza8zDrW.mjs");
111
+ const $$splitComponentImporter$1 = () => import("./index-DamOPFDI.mjs");
112
112
  const Route$C = 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-DjSHDNh8.mjs");
154
+ const $$splitComponentImporter = () => import("../_sessionId-B82aMW2A.mjs");
155
155
  const Route$B = createFileRoute("/session/$sessionId")({
156
156
  component: lazyRouteComponent($$splitComponentImporter, "component"),
157
157
  parseParams: (params) => ({
@@ -9094,7 +9094,7 @@ const Route$w = createFileRoute("/api/models")({
9094
9094
  }
9095
9095
  }
9096
9096
  });
9097
- const version = "2.1.18";
9097
+ const version = "2.1.19";
9098
9098
  const packageJson = {
9099
9099
  version
9100
9100
  };
@@ -1,4 +1,4 @@
1
- const tsrStartManifest = () => ({ "routes": { "__root__": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/__root.tsx", "children": ["/", "/api/alerts", "/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-BJZf7_Ib.js"], "assets": [] }, "/": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/index.tsx", "assets": [], "preloads": ["/assets/index-G4dTUobw.js", "/assets/ProxyViewerContainer-CP_RzwW9.js"] }, "/api/alerts": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/alerts.ts", "children": ["/api/alerts/summary"] }, "/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/import", "/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-CUGA9qU3.js", "/assets/ProxyViewerContainer-CP_RzwW9.js"] }, "/api/alerts/summary": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/alerts.summary.ts" }, "/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/body", "/api/logs/$id/chunks", "/api/logs/$id/replay"] }, "/api/logs/import": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.import.ts" }, "/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/body": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.$id.body.ts" }, "/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-BJZf7_Ib.js" });
1
+ const tsrStartManifest = () => ({ "routes": { "__root__": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/__root.tsx", "children": ["/", "/api/alerts", "/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-Do-E-46G.js"], "assets": [] }, "/": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/index.tsx", "assets": [], "preloads": ["/assets/index-Uf87L52J.js", "/assets/ProxyViewerContainer-TZJV7HhE.js"] }, "/api/alerts": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/alerts.ts", "children": ["/api/alerts/summary"] }, "/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/import", "/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-DfkBPvCC.js", "/assets/ProxyViewerContainer-TZJV7HhE.js"] }, "/api/alerts/summary": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/alerts.summary.ts" }, "/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/body", "/api/logs/$id/chunks", "/api/logs/$id/replay"] }, "/api/logs/import": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.import.ts" }, "/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/body": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/logs.$id.body.ts" }, "/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-Do-E-46G.js" });
2
2
  export {
3
3
  tsrStartManifest
4
4
  };
@@ -35,117 +35,117 @@ const headers = ((m) => function headersRouteRule(event) {
35
35
  }
36
36
  });
37
37
  const assets = {
38
- "/assets/index-G4dTUobw.js": {
39
- "type": "text/javascript; charset=utf-8",
40
- "etag": '"74-G+Wy36aQXMFWtM2juvBC91P1cPo"',
41
- "mtime": "2026-07-06T03:16:09.580Z",
42
- "size": 116,
43
- "path": "../public/assets/index-G4dTUobw.js"
44
- },
45
- "/assets/CompareDrawer-Fqqw5Lci.js": {
46
- "type": "text/javascript; charset=utf-8",
47
- "etag": '"4bbf-d+KiMwQK8csZD6MZwqm5WH3tl0Y"',
48
- "mtime": "2026-07-06T03:16:09.580Z",
49
- "size": 19391,
50
- "path": "../public/assets/CompareDrawer-Fqqw5Lci.js"
51
- },
52
- "/assets/json-viewer-DCXtNmmD.js": {
53
- "type": "text/javascript; charset=utf-8",
54
- "etag": '"1ae6-xXyRZMiLYae+0u65mVJT2bBjIGw"',
55
- "mtime": "2026-07-06T03:16:09.581Z",
56
- "size": 6886,
57
- "path": "../public/assets/json-viewer-DCXtNmmD.js"
58
- },
59
- "/assets/index-F7mynwuH.js": {
60
- "type": "text/javascript; charset=utf-8",
61
- "etag": '"1cd2c-9hK4Mmn22geAPkEXOQqANliuMiA"',
62
- "mtime": "2026-07-06T03:16:09.581Z",
63
- "size": 118060,
64
- "path": "../public/assets/index-F7mynwuH.js"
65
- },
66
38
  "/assets/alibaba-TTwafVwX.svg": {
67
39
  "type": "image/svg+xml",
68
40
  "etag": '"171b-6dyV5K8QjiaY35sN9qNprh9zDIs"',
69
- "mtime": "2026-07-06T03:16:09.580Z",
41
+ "mtime": "2026-07-06T03:30:01.375Z",
70
42
  "size": 5915,
71
43
  "path": "../public/assets/alibaba-TTwafVwX.svg"
72
44
  },
73
- "/assets/index-gvYkgMPF.css": {
74
- "type": "text/css; charset=utf-8",
75
- "etag": '"21e71-A0ehAqTWzWPsd1GM1PqrHVOH5uQ"',
76
- "mtime": "2026-07-06T03:16:09.580Z",
77
- "size": 138865,
78
- "path": "../public/assets/index-gvYkgMPF.css"
45
+ "/assets/CompareDrawer-CHXN5HYU.js": {
46
+ "type": "text/javascript; charset=utf-8",
47
+ "etag": '"4bbf-8e/hUsZAJq3IICs3O9oiCfU8isM"',
48
+ "mtime": "2026-07-06T03:30:01.375Z",
49
+ "size": 19391,
50
+ "path": "../public/assets/CompareDrawer-CHXN5HYU.js"
79
51
  },
80
- "/assets/ReplayDialog-hYhz_i6W.js": {
52
+ "/assets/index-Uf87L52J.js": {
81
53
  "type": "text/javascript; charset=utf-8",
82
- "etag": '"31d6-OuYMx1ZLYauLqe18liRlIWPThkk"',
83
- "mtime": "2026-07-06T03:16:09.580Z",
84
- "size": 12758,
85
- "path": "../public/assets/ReplayDialog-hYhz_i6W.js"
54
+ "etag": '"74-nD1Ui03OBHUVDa6ymyfn/ojbV1A"',
55
+ "mtime": "2026-07-06T03:30:01.375Z",
56
+ "size": 116,
57
+ "path": "../public/assets/index-Uf87L52J.js"
58
+ },
59
+ "/assets/index-BuhFRImh.js": {
60
+ "type": "text/javascript; charset=utf-8",
61
+ "etag": '"1cd2c-BOtHhxZPqWDgsTx7ic+/4sFjNxw"',
62
+ "mtime": "2026-07-06T03:30:01.377Z",
63
+ "size": 118060,
64
+ "path": "../public/assets/index-BuhFRImh.js"
86
65
  },
87
66
  "/assets/minimax-BPMzvuL-.jpeg": {
88
67
  "type": "image/jpeg",
89
68
  "etag": '"1b06-IwivU89ko5UTMUM1/t7hn4sQK9A"',
90
- "mtime": "2026-07-06T03:16:09.580Z",
69
+ "mtime": "2026-07-06T03:30:01.371Z",
91
70
  "size": 6918,
92
71
  "path": "../public/assets/minimax-BPMzvuL-.jpeg"
93
72
  },
94
- "/assets/RequestAnatomy-CTuWbtwC.js": {
95
- "type": "text/javascript; charset=utf-8",
96
- "etag": '"43f2-HeCHVsZF7BGYCBIXpjAKkOh4F44"',
97
- "mtime": "2026-07-06T03:16:09.580Z",
98
- "size": 17394,
99
- "path": "../public/assets/RequestAnatomy-CTuWbtwC.js"
73
+ "/assets/index-ChgjUix0.css": {
74
+ "type": "text/css; charset=utf-8",
75
+ "etag": '"212a0-Dw5mR7yd82+ILdqMgXoMBMt6hq4"',
76
+ "mtime": "2026-07-06T03:30:01.375Z",
77
+ "size": 135840,
78
+ "path": "../public/assets/index-ChgjUix0.css"
100
79
  },
101
- "/assets/main-BJZf7_Ib.js": {
80
+ "/assets/main-Do-E-46G.js": {
102
81
  "type": "text/javascript; charset=utf-8",
103
- "etag": '"512fd-EJOXBMERSrzfgsfzj0SamtIRX6k"',
104
- "mtime": "2026-07-06T03:16:09.580Z",
82
+ "etag": '"512fd-qhc7UtTka1FdeWrjR9Vm3rygk08"',
83
+ "mtime": "2026-07-06T03:30:01.375Z",
105
84
  "size": 332541,
106
- "path": "../public/assets/main-BJZf7_Ib.js"
85
+ "path": "../public/assets/main-Do-E-46G.js"
86
+ },
87
+ "/assets/ReplayDialog-DQ7nS5Rr.js": {
88
+ "type": "text/javascript; charset=utf-8",
89
+ "etag": '"31d6-zOQnsNXSobHtrjboN7bf5N1pE1o"',
90
+ "mtime": "2026-07-06T03:30:01.375Z",
91
+ "size": 12758,
92
+ "path": "../public/assets/ReplayDialog-DQ7nS5Rr.js"
107
93
  },
108
- "/assets/ResponseView-CsZ7S5Gv.js": {
94
+ "/assets/ResponseView-3PimPfiD.js": {
109
95
  "type": "text/javascript; charset=utf-8",
110
- "etag": '"3fbb-A01k3vtoURXRqFZpUM7nvhzCzXk"',
111
- "mtime": "2026-07-06T03:16:09.580Z",
96
+ "etag": '"3fbb-n3wVA+RG/DbWadiEZmab/Sy8oUM"',
97
+ "mtime": "2026-07-06T03:30:01.375Z",
112
98
  "size": 16315,
113
- "path": "../public/assets/ResponseView-CsZ7S5Gv.js"
99
+ "path": "../public/assets/ResponseView-3PimPfiD.js"
100
+ },
101
+ "/assets/json-viewer-d2gWBDLO.js": {
102
+ "type": "text/javascript; charset=utf-8",
103
+ "etag": '"1ae6-AnYe4aIjraM/V4UE/CT06YKIWV4"',
104
+ "mtime": "2026-07-06T03:30:01.375Z",
105
+ "size": 6886,
106
+ "path": "../public/assets/json-viewer-d2gWBDLO.js"
114
107
  },
115
- "/assets/StreamingChunkSequence-PIbJMotU.js": {
108
+ "/assets/RequestAnatomy-DXWweH_2.js": {
116
109
  "type": "text/javascript; charset=utf-8",
117
- "etag": '"dd6-8dNqFVPNQt96Q6ov5fmug8gHPJg"',
118
- "mtime": "2026-07-06T03:16:09.580Z",
110
+ "etag": '"43f2-uiXY0GKBXo7YS4bArlhgiG4Nee0"',
111
+ "mtime": "2026-07-06T03:30:01.375Z",
112
+ "size": 17394,
113
+ "path": "../public/assets/RequestAnatomy-DXWweH_2.js"
114
+ },
115
+ "/assets/StreamingChunkSequence-4v52v-7a.js": {
116
+ "type": "text/javascript; charset=utf-8",
117
+ "etag": '"dd6-VW4wTjbYDScc+GK6+Us3w8m4udw"',
118
+ "mtime": "2026-07-06T03:30:01.375Z",
119
119
  "size": 3542,
120
- "path": "../public/assets/StreamingChunkSequence-PIbJMotU.js"
120
+ "path": "../public/assets/StreamingChunkSequence-4v52v-7a.js"
121
121
  },
122
122
  "/assets/zhipuai-BPNAnxo-.svg": {
123
123
  "type": "image/svg+xml",
124
124
  "etag": '"2bf8-hNaLCTi89nOFCsIIfWpP/jrfo0s"',
125
- "mtime": "2026-07-06T03:16:09.580Z",
125
+ "mtime": "2026-07-06T03:30:01.375Z",
126
126
  "size": 11256,
127
127
  "path": "../public/assets/zhipuai-BPNAnxo-.svg"
128
128
  },
129
- "/assets/_sessionId-CUGA9qU3.js": {
130
- "type": "text/javascript; charset=utf-8",
131
- "etag": '"d2-EbzgICXvZ7UjgIxAGZVoJ8zc0C4"',
132
- "mtime": "2026-07-06T03:16:09.580Z",
133
- "size": 210,
134
- "path": "../public/assets/_sessionId-CUGA9qU3.js"
135
- },
136
129
  "/assets/qwen-CONDcHqt.png": {
137
130
  "type": "image/png",
138
131
  "etag": '"572c3-cdJAPaHdOvFCGzuaQjagdgOu6XE"',
139
- "mtime": "2026-07-06T03:16:09.580Z",
132
+ "mtime": "2026-07-06T03:30:01.375Z",
140
133
  "size": 357059,
141
134
  "path": "../public/assets/qwen-CONDcHqt.png"
142
135
  },
143
- "/assets/ProxyViewerContainer-CP_RzwW9.js": {
136
+ "/assets/_sessionId-DfkBPvCC.js": {
137
+ "type": "text/javascript; charset=utf-8",
138
+ "etag": '"d2-4G8hkU0xXxmrBtMCjXAykxKF13U"',
139
+ "mtime": "2026-07-06T03:30:01.375Z",
140
+ "size": 210,
141
+ "path": "../public/assets/_sessionId-DfkBPvCC.js"
142
+ },
143
+ "/assets/ProxyViewerContainer-TZJV7HhE.js": {
144
144
  "type": "text/javascript; charset=utf-8",
145
- "etag": '"ae2dd-gQKBSF7KRrPg0IO5skof4vGzHH0"',
146
- "mtime": "2026-07-06T03:16:09.581Z",
147
- "size": 713437,
148
- "path": "../public/assets/ProxyViewerContainer-CP_RzwW9.js"
145
+ "etag": '"adbf7-jh4/xDGKCqrDVTcuxoipfCd28DI"',
146
+ "mtime": "2026-07-06T03:30:01.377Z",
147
+ "size": 711671,
148
+ "path": "../public/assets/ProxyViewerContainer-TZJV7HhE.js"
149
149
  }
150
150
  };
151
151
  function readAsset(id) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tonyclaw/agent-inspector",
3
- "version": "2.1.18",
3
+ "version": "2.1.19",
4
4
  "type": "module",
5
5
  "description": "Agent observability and knowledge capture layer for AI coding tools.",
6
6
  "license": "MIT",
@@ -265,7 +265,7 @@ function SummaryChip({
265
265
  return (
266
266
  <span
267
267
  className={cn(
268
- "border border-border bg-muted/40 inline-flex h-7 items-center gap-1 rounded-md px-2 text-xs text-muted-foreground",
268
+ "bg-white/[0.045] inline-flex h-7 items-center gap-1 rounded-md px-2 text-xs text-muted-foreground",
269
269
  className,
270
270
  )}
271
271
  >
@@ -349,7 +349,7 @@ function IdeGroupSection({
349
349
 
350
350
  return (
351
351
  <section
352
- className={cn("border border-border bg-card shadow-sm relative isolate rounded-[8px]")}
352
+ className={cn("bg-card/75 shadow-sm relative isolate rounded-[8px]")}
353
353
  data-ide-group={group.id}
354
354
  >
355
355
  <button
@@ -359,7 +359,7 @@ function IdeGroupSection({
359
359
  aria-expanded={!collapsed}
360
360
  >
361
361
  {group.client === "unknown" ? (
362
- <span className="border border-border bg-muted/40 inline-flex size-10 shrink-0 items-center justify-center rounded-[8px] text-slate-200">
362
+ <span className="bg-white/[0.045] inline-flex size-10 shrink-0 items-center justify-center rounded-[8px] text-slate-200">
363
363
  <Monitor className="size-5" />
364
364
  </span>
365
365
  ) : (
@@ -374,7 +374,7 @@ function IdeGroupSection({
374
374
  >
375
375
  {group.label}
376
376
  </span>
377
- <span className="rounded border border-cyan-200/15 bg-cyan-300/[0.06] px-1.5 py-0.5 font-mono text-[10px] uppercase tracking-[0.16em] text-cyan-100/75">
377
+ <span className="rounded bg-cyan-300/[0.06] px-1.5 py-0.5 font-mono text-[10px] uppercase tracking-[0.16em] text-cyan-100/75">
378
378
  IDE
379
379
  </span>
380
380
  </span>
@@ -396,13 +396,13 @@ function IdeGroupSection({
396
396
  <SummaryChip label="OUT" value={formatTokenCount(totals.outputTokens)} />
397
397
  </span>
398
398
 
399
- <span className="border border-input bg-background hover:bg-accent hover:text-accent-foreground inline-flex size-8 shrink-0 items-center justify-center rounded-md text-slate-200">
399
+ <span className="bg-white/[0.045] hover:bg-white/[0.075] inline-flex size-8 shrink-0 items-center justify-center rounded-md text-slate-200">
400
400
  {collapsed ? <ChevronRight className="size-4" /> : <ChevronDown className="size-4" />}
401
401
  </span>
402
402
  </button>
403
403
 
404
404
  {!collapsed && (
405
- <div className="space-y-3 border-t border-white/10 px-3 pb-3 pt-3 sm:px-4">
405
+ <div className="space-y-3 px-3 pb-3 pt-2 sm:px-4">
406
406
  {group.processes.map((processGroup) => (
407
407
  <ProcessGroupSection
408
408
  key={processGroup.id}
@@ -440,15 +440,15 @@ function ProcessGroupSection({
440
440
 
441
441
  return (
442
442
  <section className="relative pl-5">
443
- <span className="absolute bottom-0 left-2 top-0 w-px bg-white/12" aria-hidden="true" />
444
- <div className="border border-border bg-card shadow-sm overflow-hidden rounded-[8px]">
443
+ <span className="absolute bottom-1 left-2 top-1 w-px bg-white/[0.055]" aria-hidden="true" />
444
+ <div className="bg-black/[0.10] overflow-hidden rounded-[8px]">
445
445
  <button
446
446
  type="button"
447
447
  className="flex w-full min-w-0 items-center gap-3 px-3 py-2.5 text-left transition-colors hover:bg-white/[0.035] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-cyan-300/40"
448
448
  onClick={onToggle}
449
449
  aria-expanded={!collapsed}
450
450
  >
451
- <span className="border border-border bg-muted/40 inline-flex size-8 shrink-0 items-center justify-center rounded-md text-amber-100">
451
+ <span className="bg-white/[0.045] inline-flex size-8 shrink-0 items-center justify-center rounded-md text-amber-100">
452
452
  <Cpu className="size-4" />
453
453
  </span>
454
454
 
@@ -482,13 +482,13 @@ function ProcessGroupSection({
482
482
  <SummaryChip label="OUT" value={formatTokenCount(totals.outputTokens)} />
483
483
  </span>
484
484
 
485
- <span className="border border-input bg-background hover:bg-accent hover:text-accent-foreground inline-flex size-7 shrink-0 items-center justify-center rounded-md text-slate-200">
485
+ <span className="bg-white/[0.045] hover:bg-white/[0.075] inline-flex size-7 shrink-0 items-center justify-center rounded-md text-slate-200">
486
486
  {collapsed ? <ChevronRight className="size-4" /> : <ChevronDown className="size-4" />}
487
487
  </span>
488
488
  </button>
489
489
 
490
490
  {!collapsed && (
491
- <div className="space-y-2 border-t border-white/10 p-2 sm:p-3">
491
+ <div className="space-y-2 p-2 pt-1 sm:p-3 sm:pt-2">
492
492
  {group.sessions.map((session) => (
493
493
  <ConversationGroup
494
494
  key={session.id}
@@ -22,7 +22,7 @@ import { ProviderLogoStack } from "./ProviderLogoStack";
22
22
  import { resolveLogFormat } from "./log-formats";
23
23
 
24
24
  const HEADER_ACTION_BUTTON_CLASS =
25
- "border border-input bg-background hover:bg-accent hover:text-accent-foreground inline-flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-md text-muted-foreground transition-colors hover:text-foreground";
25
+ "bg-white/[0.045] hover:bg-white/[0.075] inline-flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-md text-muted-foreground transition-colors hover:text-foreground";
26
26
 
27
27
  function HeaderMetric({
28
28
  icon,
@@ -38,7 +38,7 @@ function HeaderMetric({
38
38
  return (
39
39
  <span
40
40
  className={cn(
41
- "border border-border bg-muted/30 inline-flex h-7 min-w-0 items-center gap-1.5 rounded-md px-2 text-xs text-muted-foreground",
41
+ "bg-white/[0.045] inline-flex h-7 min-w-0 items-center gap-1.5 rounded-md px-2 text-xs text-muted-foreground",
42
42
  className,
43
43
  )}
44
44
  title={title}
@@ -150,8 +150,8 @@ export function ConversationHeader({
150
150
  data-nav-id={`conv-${conversationId}`}
151
151
  data-nav-action={expanded ? "collapse" : "expand"}
152
152
  className={cn(
153
- "border border-border bg-card shadow-sm flex cursor-pointer items-start gap-3 rounded-[8px] px-3 py-2.5 transition-colors",
154
- "hover:border-cyan-200/20",
153
+ "bg-card/80 shadow-sm flex cursor-pointer items-start gap-3 rounded-[8px] px-3 py-2.5 transition-colors",
154
+ "hover:bg-card",
155
155
  "select-none",
156
156
  "sticky top-0 z-10 mb-2",
157
157
  "focus-visible:ring-1 focus-visible:ring-cyan-300/35 focus-visible:outline-none",
@@ -204,7 +204,7 @@ export function ConversationHeader({
204
204
  clientPid !== null &&
205
205
  clientPid !== undefined && (
206
206
  <span
207
- className="border border-border bg-muted/40 shrink-0 rounded px-1.5 py-0.5 font-mono text-xs tabular-nums text-muted-foreground"
207
+ className="bg-white/[0.045] shrink-0 rounded px-1.5 py-0.5 font-mono text-xs tabular-nums text-muted-foreground"
208
208
  title={`Client process ID ${clientPid}`}
209
209
  >
210
210
  PID {clientPid}
@@ -226,7 +226,7 @@ export function ConversationHeader({
226
226
 
227
227
  {showClientIdentity && clientDisplayLabel !== null && clientDisplayLabel !== "" && (
228
228
  <span
229
- className="border border-border bg-muted/30 inline-flex h-6 max-w-[180px] shrink-0 items-center gap-1 rounded-md px-1.5 text-xs text-muted-foreground"
229
+ className="bg-white/[0.045] inline-flex h-6 max-w-[180px] shrink-0 items-center gap-1 rounded-md px-1.5 text-xs text-muted-foreground"
230
230
  title={clientTooltip ?? clientDisplayLabel}
231
231
  >
232
232
  <ClientLogo client={clientApp} className="size-4 shrink-0" />
@@ -282,7 +282,7 @@ export function ConversationHeader({
282
282
 
283
283
  {/* Expand chevron - shows spinner when collapsed and group has pending logs */}
284
284
  <span
285
- className="border border-input bg-background hover:bg-accent hover:text-accent-foreground inline-flex size-8 shrink-0 items-center justify-center rounded-md text-slate-200"
285
+ className="bg-white/[0.045] hover:bg-white/[0.075] inline-flex size-8 shrink-0 items-center justify-center rounded-md text-slate-200"
286
286
  aria-hidden="true"
287
287
  >
288
288
  {expanded ? (
@@ -81,7 +81,7 @@ const BODY_CHUNK_BYTES = 256 * 1024;
81
81
  const CHUNKED_BODY_THRESHOLD_BYTES = 1024 * 1024;
82
82
 
83
83
  const TAB_TRIGGER_CLASS =
84
- "h-9 flex-none rounded-md border border-transparent bg-transparent px-3 text-xs font-semibold text-muted-foreground shadow-none transition-colors hover:border-white/10 hover:bg-white/[0.045] hover:text-foreground data-[state=active]:border-cyan-200/25 data-[state=active]:bg-cyan-300/[0.08] data-[state=active]:text-cyan-100 data-[state=active]:shadow-none";
84
+ "h-9 flex-none rounded-md border border-transparent bg-transparent px-3 text-xs font-semibold text-muted-foreground shadow-none transition-colors hover:bg-white/[0.045] hover:text-foreground data-[state=active]:bg-cyan-300/[0.08] data-[state=active]:text-cyan-100 data-[state=active]:shadow-none";
85
85
 
86
86
  function createEmptyBodyPreviewState(totalBytes: number | null = null): BodyPreviewState {
87
87
  return {
@@ -190,7 +190,7 @@ function ExpandedPanel({
190
190
  return (
191
191
  <div
192
192
  className={cn(
193
- "border border-border bg-card shadow-sm inspector-scrollbar mx-3 mb-3 max-h-[72vh] overflow-auto rounded-[8px] p-3",
193
+ "bg-black/[0.14] inspector-scrollbar mx-3 mb-3 max-h-[72vh] overflow-auto rounded-[8px] p-3",
194
194
  className,
195
195
  )}
196
196
  >
@@ -201,7 +201,7 @@ function ExpandedPanel({
201
201
 
202
202
  function EmptyState({ children }: { children: ReactNode }): JSX.Element {
203
203
  return (
204
- <div className="border border-border bg-muted/40 rounded-md border-dashed px-3 py-5 text-center text-xs italic text-muted-foreground">
204
+ <div className="bg-white/[0.035] rounded-md px-3 py-5 text-center text-xs italic text-muted-foreground">
205
205
  {children}
206
206
  </div>
207
207
  );
@@ -209,7 +209,7 @@ function EmptyState({ children }: { children: ReactNode }): JSX.Element {
209
209
 
210
210
  function RawTextBlock({ children }: { children: ReactNode }): JSX.Element {
211
211
  return (
212
- <pre className="border border-border bg-card shadow-sm inspector-scrollbar max-h-[64vh] overflow-auto whitespace-pre-wrap break-words rounded-[8px] p-3 font-mono text-xs leading-relaxed text-muted-foreground">
212
+ <pre className="bg-black/[0.18] inspector-scrollbar max-h-[64vh] overflow-auto whitespace-pre-wrap break-words rounded-[8px] p-3 font-mono text-xs leading-relaxed text-muted-foreground">
213
213
  {children}
214
214
  </pre>
215
215
  );
@@ -218,9 +218,9 @@ function RawTextBlock({ children }: { children: ReactNode }): JSX.Element {
218
218
  type NoticeTone = "loading" | "warning" | "danger";
219
219
 
220
220
  const NOTICE_TONE_CLASSES: Record<NoticeTone, string> = {
221
- loading: "border-cyan-400/25 bg-cyan-400/[0.06] text-cyan-100",
222
- warning: "border-amber-400/25 bg-amber-400/[0.08] text-amber-100",
223
- danger: "border-rose-400/25 bg-rose-400/[0.08] text-rose-100",
221
+ loading: "border-transparent bg-cyan-400/[0.06] text-cyan-100",
222
+ warning: "border-transparent bg-amber-400/[0.08] text-amber-100",
223
+ danger: "border-transparent bg-rose-400/[0.08] text-rose-100",
224
224
  };
225
225
 
226
226
  function NoticeBlock({
@@ -307,13 +307,13 @@ function HeaderRows({
307
307
  if (entries.length === 0) return <EmptyState>{emptyLabel}</EmptyState>;
308
308
 
309
309
  return (
310
- <div className="border border-border bg-card shadow-sm overflow-hidden rounded-[8px] font-mono text-xs">
310
+ <div className="bg-black/[0.14] overflow-hidden rounded-[8px] font-mono text-xs">
311
311
  {entries.map(([key, value]) => (
312
312
  <div
313
313
  key={key}
314
- className="grid min-w-0 grid-cols-[minmax(140px,0.32fr)_minmax(0,1fr)] border-b border-white/10 last:border-b-0"
314
+ className="grid min-w-0 grid-cols-[minmax(140px,0.32fr)_minmax(0,1fr)] border-b border-white/[0.055] last:border-b-0"
315
315
  >
316
- <div className="min-w-0 truncate border-r border-white/10 bg-white/[0.035] px-2.5 py-2 font-semibold text-cyan-200">
316
+ <div className="min-w-0 truncate bg-white/[0.035] px-2.5 py-2 font-semibold text-cyan-200">
317
317
  {key}
318
318
  </div>
319
319
  <div className="min-w-0 truncate px-2.5 py-2 text-muted-foreground" title={value}>
@@ -791,23 +791,12 @@ export const LogEntry = memo(function ({
791
791
  <TooltipProvider>
792
792
  <div
793
793
  className={cn(
794
- "border border-border bg-card shadow-sm relative mb-2 overflow-hidden rounded-[8px] transition-[background-color,border-color,box-shadow]",
794
+ "bg-card/80 relative mb-1.5 overflow-hidden rounded-[8px] transition-[background-color,box-shadow]",
795
795
  expanded
796
- ? "border-cyan-200/25 shadow-[0_24px_80px_rgba(0,0,0,0.36),0_0_0_1px_rgba(103,232,249,0.05),inset_0_1px_0_rgba(255,255,255,0.14)]"
797
- : "hover:border-cyan-200/18",
796
+ ? "bg-card shadow-[0_18px_60px_rgba(0,0,0,0.30),0_0_0_1px_rgba(103,232,249,0.08)]"
797
+ : "hover:bg-card",
798
798
  )}
799
799
  >
800
- <div
801
- className={cn(
802
- "pointer-events-none absolute inset-y-3 left-1 w-px rounded-full",
803
- expanded ? "bg-cyan-200/55 shadow-[0_0_20px_rgba(103,232,249,0.26)]" : "bg-white/12",
804
- )}
805
- aria-hidden="true"
806
- />
807
- <div
808
- className="pointer-events-none absolute inset-x-3 top-0 h-px bg-gradient-to-r from-transparent via-white/15 to-transparent"
809
- aria-hidden="true"
810
- />
811
800
  <LogEntryHeader
812
801
  log={displayLog}
813
802
  displayNumber={displayNumber}
@@ -832,7 +821,7 @@ export const LogEntry = memo(function ({
832
821
 
833
822
  {expanded && (
834
823
  <div
835
- className="relative border-t border-white/10 bg-black/[0.18] pt-2"
824
+ className="relative bg-black/[0.14] pt-2"
836
825
  onClick={(e) => e.stopPropagation()}
837
826
  onKeyDown={(e) => e.stopPropagation()}
838
827
  >
@@ -843,7 +832,7 @@ export const LogEntry = memo(function ({
843
832
  <Tabs value={activeTab} onValueChange={setActiveTab} className="gap-2">
844
833
  <TabsList
845
834
  variant="line"
846
- className="border border-border bg-muted/40 inspector-scrollbar relative mx-3 h-auto w-[calc(100%-1.5rem)] justify-start overflow-x-auto rounded-[8px] p-1"
835
+ className="bg-white/[0.04] inspector-scrollbar relative mx-3 h-auto w-[calc(100%-1.5rem)] justify-start overflow-x-auto rounded-[8px] p-1"
847
836
  >
848
837
  {viewMode === "full" && (
849
838
  <TabsTrigger className={TAB_TRIGGER_CLASS} value="raw-headers">
@@ -34,10 +34,10 @@ import { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from "../ui/
34
34
  import type { CacheTrend } from "./cacheTrend";
35
35
 
36
36
  const STATUS_BADGE_CLASSES: Record<StatusCategory, string> = {
37
- success: "bg-slate-300/[0.08] text-slate-100 border-slate-300/20",
38
- client_error: "bg-amber-300/[0.10] text-amber-100 border-amber-300/30",
39
- server_error: "bg-rose-400/[0.10] text-rose-100 border-rose-300/30",
40
- pending: "bg-cyan-300/[0.08] text-cyan-100 border-cyan-300/25",
37
+ success: "bg-slate-300/[0.08] text-slate-100 border-transparent",
38
+ client_error: "bg-amber-300/[0.10] text-amber-100 border-transparent",
39
+ server_error: "bg-rose-400/[0.10] text-rose-100 border-transparent",
40
+ pending: "bg-cyan-300/[0.08] text-cyan-100 border-transparent",
41
41
  };
42
42
 
43
43
  const STATUS_CUE_CLASSES: Record<
@@ -66,10 +66,9 @@ const STATUS_CUE_CLASSES: Record<
66
66
  };
67
67
 
68
68
  const HEADER_ACTION_BUTTON_CLASS =
69
- "border border-input bg-background hover:bg-accent hover:text-accent-foreground size-8 text-muted-foreground shadow-none hover:text-cyan-100";
69
+ "border border-transparent bg-white/[0.045] hover:bg-white/[0.075] size-8 text-muted-foreground shadow-none hover:text-cyan-100";
70
70
 
71
- const TELEMETRY_CHIP_CLASS =
72
- "border border-border bg-muted/40 flex h-7 items-center gap-1 rounded-md px-2 text-xs";
71
+ const TELEMETRY_CHIP_CLASS = "bg-white/[0.045] flex h-7 items-center gap-1 rounded-md px-2 text-xs";
73
72
 
74
73
  function formatElapsed(ms: number): string {
75
74
  if (ms < 1000) return `${ms}ms`;
@@ -232,10 +231,8 @@ export const LogEntryHeader = memo(function ({
232
231
  data-nav-action={expanded ? "collapse" : "expand"}
233
232
  className={cn(
234
233
  "group/header relative isolate flex min-w-0 cursor-pointer items-start gap-2 overflow-hidden px-3 py-2 transition-[background-color,border-color,box-shadow]",
235
- expanded
236
- ? "bg-white/[0.035] shadow-[inset_0_1px_0_rgba(255,255,255,0.10)]"
237
- : "bg-transparent hover:bg-white/[0.035]",
238
- "select-none before:pointer-events-none before:absolute before:inset-x-3 before:top-0 before:h-px before:bg-white/12",
234
+ expanded ? "bg-white/[0.04]" : "bg-transparent hover:bg-white/[0.035]",
235
+ "select-none",
239
236
  "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:outline-none",
240
237
  )}
241
238
  onClick={onToggle}
@@ -250,7 +247,7 @@ export const LogEntryHeader = memo(function ({
250
247
  {/* Request ID */}
251
248
  <span
252
249
  className={cn(
253
- "border border-border bg-muted/40 inline-flex h-8 shrink-0 items-center gap-2 rounded-md px-2 font-mono",
250
+ "inline-flex h-8 shrink-0 items-center gap-2 rounded-md px-2 font-mono",
254
251
  statusCue.frame,
255
252
  )}
256
253
  >
@@ -261,7 +258,7 @@ export const LogEntryHeader = memo(function ({
261
258
  </span>
262
259
 
263
260
  {/* Request start time */}
264
- <span className="border border-border bg-muted/40 flex h-7 shrink-0 items-center gap-1 rounded-md px-2 text-xs text-muted-foreground">
261
+ <span className="bg-white/[0.045] flex h-7 shrink-0 items-center gap-1 rounded-md px-2 text-xs text-muted-foreground">
265
262
  <Clock className="size-3" />
266
263
  <span className="font-mono tabular-nums" title={log.timestamp}>
267
264
  {formatTimestamp(log.timestamp, timeDisplayFormat)}
@@ -608,7 +605,7 @@ export const LogEntryHeader = memo(function ({
608
605
  )}
609
606
 
610
607
  <span
611
- className="border border-input bg-background hover:bg-accent hover:text-accent-foreground inline-flex size-8 shrink-0 items-center justify-center rounded-md text-slate-200"
608
+ className="bg-white/[0.045] hover:bg-white/[0.075] inline-flex size-8 shrink-0 items-center justify-center rounded-md text-slate-200"
612
609
  aria-hidden="true"
613
610
  >
614
611
  {expanded ? (