@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.
- package/.output/nitro.json +1 -1
- package/.output/public/assets/{CompareDrawer-Fqqw5Lci.js → CompareDrawer-CHXN5HYU.js} +1 -1
- package/.output/public/assets/{ProxyViewerContainer-CP_RzwW9.js → ProxyViewerContainer-TZJV7HhE.js} +6 -6
- package/.output/public/assets/{ReplayDialog-hYhz_i6W.js → ReplayDialog-DQ7nS5Rr.js} +1 -1
- package/.output/public/assets/{RequestAnatomy-CTuWbtwC.js → RequestAnatomy-DXWweH_2.js} +1 -1
- package/.output/public/assets/{ResponseView-CsZ7S5Gv.js → ResponseView-3PimPfiD.js} +2 -2
- package/.output/public/assets/{StreamingChunkSequence-PIbJMotU.js → StreamingChunkSequence-4v52v-7a.js} +1 -1
- package/.output/public/assets/_sessionId-DfkBPvCC.js +1 -0
- package/.output/public/assets/{index-F7mynwuH.js → index-BuhFRImh.js} +1 -1
- package/.output/public/assets/index-ChgjUix0.css +1 -0
- package/.output/public/assets/index-Uf87L52J.js +1 -0
- package/.output/public/assets/{json-viewer-DCXtNmmD.js → json-viewer-d2gWBDLO.js} +1 -1
- package/.output/public/assets/{main-BJZf7_Ib.js → main-Do-E-46G.js} +2 -2
- package/.output/server/{_sessionId-DjSHDNh8.mjs → _sessionId-B82aMW2A.mjs} +2 -2
- package/.output/server/_ssr/{CompareDrawer-Dal52IFo.mjs → CompareDrawer-Bud_yIrM.mjs} +2 -2
- package/.output/server/_ssr/{ProxyViewerContainer-CVqFZGff.mjs → ProxyViewerContainer-DqgVb0So.mjs} +79 -96
- package/.output/server/_ssr/{ReplayDialog-BOEgdMes.mjs → ReplayDialog-DKbV5fnW.mjs} +3 -3
- package/.output/server/_ssr/{RequestAnatomy-gch7_vCV.mjs → RequestAnatomy-MStxp1Wp.mjs} +2 -2
- package/.output/server/_ssr/{ResponseView-lEWPy-H4.mjs → ResponseView-HLTCpJcF.mjs} +2 -2
- package/.output/server/_ssr/{StreamingChunkSequence-DnudbJ1O.mjs → StreamingChunkSequence-DEiyiUs_.mjs} +2 -2
- package/.output/server/_ssr/{index-Cza8zDrW.mjs → index-DamOPFDI.mjs} +2 -2
- package/.output/server/_ssr/index.mjs +2 -2
- package/.output/server/_ssr/{json-viewer-C2lIVEX3.mjs → json-viewer-MmTWKxqh.mjs} +2 -2
- package/.output/server/_ssr/{router-bF9uzd1k.mjs → router-50BIB6ED.mjs} +4 -4
- package/.output/server/{_tanstack-start-manifest_v-ErvW-mtr.mjs → _tanstack-start-manifest_v-TSwb1vFc.mjs} +1 -1
- package/.output/server/index.mjs +73 -73
- package/package.json +1 -1
- package/src/components/proxy-viewer/ConversationGroupList.tsx +11 -11
- package/src/components/proxy-viewer/ConversationHeader.tsx +7 -7
- package/src/components/proxy-viewer/LogEntry.tsx +15 -26
- package/src/components/proxy-viewer/LogEntryHeader.tsx +11 -14
- package/src/components/proxy-viewer/RequestToolsPanel.tsx +15 -15
- package/src/components/proxy-viewer/ThreadConnector.tsx +3 -3
- package/src/components/proxy-viewer/ToolTraceEvents.tsx +1 -1
- package/src/components/proxy-viewer/TurnGroup.tsx +10 -14
- package/.output/public/assets/_sessionId-CUGA9qU3.js +0 -1
- package/.output/public/assets/index-G4dTUobw.js +0 -1
- 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-
|
|
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-
|
|
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-
|
|
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.
|
|
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-
|
|
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
|
};
|
package/.output/server/index.mjs
CHANGED
|
@@ -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:
|
|
41
|
+
"mtime": "2026-07-06T03:30:01.375Z",
|
|
70
42
|
"size": 5915,
|
|
71
43
|
"path": "../public/assets/alibaba-TTwafVwX.svg"
|
|
72
44
|
},
|
|
73
|
-
"/assets/
|
|
74
|
-
"type": "text/
|
|
75
|
-
"etag": '"
|
|
76
|
-
"mtime": "2026-07-06T03:
|
|
77
|
-
"size":
|
|
78
|
-
"path": "../public/assets/
|
|
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/
|
|
52
|
+
"/assets/index-Uf87L52J.js": {
|
|
81
53
|
"type": "text/javascript; charset=utf-8",
|
|
82
|
-
"etag": '"
|
|
83
|
-
"mtime": "2026-07-06T03:
|
|
84
|
-
"size":
|
|
85
|
-
"path": "../public/assets/
|
|
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:
|
|
69
|
+
"mtime": "2026-07-06T03:30:01.371Z",
|
|
91
70
|
"size": 6918,
|
|
92
71
|
"path": "../public/assets/minimax-BPMzvuL-.jpeg"
|
|
93
72
|
},
|
|
94
|
-
"/assets/
|
|
95
|
-
"type": "text/
|
|
96
|
-
"etag": '"
|
|
97
|
-
"mtime": "2026-07-06T03:
|
|
98
|
-
"size":
|
|
99
|
-
"path": "../public/assets/
|
|
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-
|
|
80
|
+
"/assets/main-Do-E-46G.js": {
|
|
102
81
|
"type": "text/javascript; charset=utf-8",
|
|
103
|
-
"etag": '"512fd-
|
|
104
|
-
"mtime": "2026-07-06T03:
|
|
82
|
+
"etag": '"512fd-qhc7UtTka1FdeWrjR9Vm3rygk08"',
|
|
83
|
+
"mtime": "2026-07-06T03:30:01.375Z",
|
|
105
84
|
"size": 332541,
|
|
106
|
-
"path": "../public/assets/main-
|
|
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-
|
|
94
|
+
"/assets/ResponseView-3PimPfiD.js": {
|
|
109
95
|
"type": "text/javascript; charset=utf-8",
|
|
110
|
-
"etag": '"3fbb-
|
|
111
|
-
"mtime": "2026-07-06T03:
|
|
96
|
+
"etag": '"3fbb-n3wVA+RG/DbWadiEZmab/Sy8oUM"',
|
|
97
|
+
"mtime": "2026-07-06T03:30:01.375Z",
|
|
112
98
|
"size": 16315,
|
|
113
|
-
"path": "../public/assets/ResponseView-
|
|
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/
|
|
108
|
+
"/assets/RequestAnatomy-DXWweH_2.js": {
|
|
116
109
|
"type": "text/javascript; charset=utf-8",
|
|
117
|
-
"etag": '"
|
|
118
|
-
"mtime": "2026-07-06T03:
|
|
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-
|
|
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:
|
|
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:
|
|
132
|
+
"mtime": "2026-07-06T03:30:01.375Z",
|
|
140
133
|
"size": 357059,
|
|
141
134
|
"path": "../public/assets/qwen-CONDcHqt.png"
|
|
142
135
|
},
|
|
143
|
-
"/assets/
|
|
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": '"
|
|
146
|
-
"mtime": "2026-07-06T03:
|
|
147
|
-
"size":
|
|
148
|
-
"path": "../public/assets/ProxyViewerContainer-
|
|
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
|
@@ -265,7 +265,7 @@ function SummaryChip({
|
|
|
265
265
|
return (
|
|
266
266
|
<span
|
|
267
267
|
className={cn(
|
|
268
|
-
"
|
|
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("
|
|
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="
|
|
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
|
|
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="
|
|
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
|
|
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-
|
|
444
|
-
<div className="
|
|
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="
|
|
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="
|
|
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
|
|
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
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
154
|
-
"hover:
|
|
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="
|
|
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="
|
|
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="
|
|
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:
|
|
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
|
-
"
|
|
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="
|
|
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="
|
|
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-
|
|
222
|
-
warning: "border-
|
|
223
|
-
danger: "border-
|
|
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="
|
|
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/
|
|
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
|
|
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
|
-
"
|
|
794
|
+
"bg-card/80 relative mb-1.5 overflow-hidden rounded-[8px] transition-[background-color,box-shadow]",
|
|
795
795
|
expanded
|
|
796
|
-
? "
|
|
797
|
-
: "hover:
|
|
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
|
|
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="
|
|
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-
|
|
38
|
-
client_error: "bg-amber-300/[0.10] text-amber-100 border-
|
|
39
|
-
server_error: "bg-rose-400/[0.10] text-rose-100 border-
|
|
40
|
-
pending: "bg-cyan-300/[0.08] text-cyan-100 border-
|
|
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-
|
|
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
|
-
|
|
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
|
-
"
|
|
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="
|
|
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="
|
|
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 ? (
|