@tonyclaw/agent-inspector 3.0.5 → 3.0.6

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 (35) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/{CompareDrawer-Co-35_Xw.js → CompareDrawer-DsvO6QyJ.js} +1 -1
  3. package/.output/public/assets/{ProxyViewerContainer-DPv1rBo7.js → ProxyViewerContainer-CfP-komD.js} +26 -26
  4. package/.output/public/assets/{ReplayDialog-DghbvKdy.js → ReplayDialog-CQlLX1Uo.js} +1 -1
  5. package/.output/public/assets/{RequestAnatomy-CRXE5v8X.js → RequestAnatomy-m1q-uVTl.js} +1 -1
  6. package/.output/public/assets/{ResponseView-CzxoQRjp.js → ResponseView-DuLLeYSh.js} +2 -2
  7. package/.output/public/assets/{StreamingChunkSequence-DnFyF_Hr.js → StreamingChunkSequence-CN4aRFBx.js} +1 -1
  8. package/.output/public/assets/{_sessionId-DHRhWzKe.js → _sessionId-CWP4pxOU.js} +1 -1
  9. package/.output/public/assets/index-0pt1umWP.css +1 -0
  10. package/.output/public/assets/index-DSUEOPbC.js +1 -0
  11. package/.output/public/assets/{index-Dl1oki9E.js → index-zfZUz67K.js} +1 -1
  12. package/.output/public/assets/{json-viewer-B84f7oiG.js → json-viewer-_4r1LBBE.js} +1 -1
  13. package/.output/public/assets/{main-DViDnJ9X.js → main-C_nEHNUM.js} +2 -2
  14. package/.output/server/_libs/lucide-react.mjs +292 -203
  15. package/.output/server/{_sessionId-C43vEAWe.mjs → _sessionId-CTqCAmUF.mjs} +3 -3
  16. package/.output/server/_ssr/{CompareDrawer-DOL6q0jD.mjs → CompareDrawer-D6b6TZ-O.mjs} +3 -3
  17. package/.output/server/_ssr/{ProxyViewerContainer-S9izw3ND.mjs → ProxyViewerContainer-Dp7Va9_T.mjs} +340 -11
  18. package/.output/server/_ssr/{ReplayDialog-tqthwJh0.mjs → ReplayDialog-D_KWQ1GY.mjs} +4 -4
  19. package/.output/server/_ssr/{RequestAnatomy-CgWDjFPR.mjs → RequestAnatomy-CPubXjMX.mjs} +2 -2
  20. package/.output/server/_ssr/{ResponseView-Dk8Op622.mjs → ResponseView-CsTiNoOE.mjs} +3 -3
  21. package/.output/server/_ssr/{StreamingChunkSequence-AlS7PK8f.mjs → StreamingChunkSequence-Bgbzt23U.mjs} +2 -2
  22. package/.output/server/_ssr/{index-BGwvMN2M.mjs → index-P1gSpuM5.mjs} +2 -2
  23. package/.output/server/_ssr/index.mjs +2 -2
  24. package/.output/server/_ssr/{json-viewer-CKHkh5U3.mjs → json-viewer-10ciVGnc.mjs} +3 -3
  25. package/.output/server/_ssr/{router-BJMaHkr1.mjs → router-BJJ0VhsB.mjs} +357 -146
  26. package/.output/server/_tanstack-start-manifest_v-CltlYL3I.mjs +4 -0
  27. package/.output/server/index.mjs +71 -71
  28. package/package.json +1 -1
  29. package/src/components/ProxyViewer.tsx +19 -1
  30. package/src/components/ecosystem/AgentLabDialog.tsx +379 -0
  31. package/src/lib/ecosystemContract.ts +47 -0
  32. package/src/routes/api/ecosystem.packages.ts +263 -0
  33. package/.output/public/assets/index-D8cruW0P.css +0 -1
  34. package/.output/public/assets/index-DZyTpd2w.js +0 -1
  35. package/.output/server/_tanstack-start-manifest_v-C_HvRzgP.mjs +0 -4
@@ -0,0 +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/ecosystem/packages", "/api/knowledge/candidates", "/api/knowledge/project-context", "/api/knowledge/search", "/api/knowledge/sessions/$sessionId/candidates"], "preloads": ["/assets/main-C_nEHNUM.js"], "assets": [] }, "/": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/index.tsx", "assets": [], "preloads": ["/assets/index-DSUEOPbC.js", "/assets/ProxyViewerContainer-CfP-komD.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-CWP4pxOU.js", "/assets/ProxyViewerContainer-CfP-komD.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/ecosystem/packages": { "filePath": "C:/Users/claw/workspace/agent-inspector/src/routes/api/ecosystem.packages.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-C_nEHNUM.js" });
2
+ export {
3
+ tsrStartManifest
4
+ };
@@ -35,117 +35,117 @@ const headers = ((m) => function headersRouteRule(event) {
35
35
  }
36
36
  });
37
37
  const assets = {
38
- "/assets/alibaba-TTwafVwX.svg": {
39
- "type": "image/svg+xml",
40
- "etag": '"171b-6dyV5K8QjiaY35sN9qNprh9zDIs"',
41
- "mtime": "2026-07-07T02:41:58.780Z",
42
- "size": 5915,
43
- "path": "../public/assets/alibaba-TTwafVwX.svg"
44
- },
45
- "/assets/CompareDrawer-Co-35_Xw.js": {
38
+ "/assets/CompareDrawer-DsvO6QyJ.js": {
46
39
  "type": "text/javascript; charset=utf-8",
47
- "etag": '"4bbf-YKHEwgAH6ZGoyw9OUZ/p9d8Cc/M"',
48
- "mtime": "2026-07-07T02:41:58.781Z",
40
+ "etag": '"4bbf-neNUNNWS2aRLlwwzlzUnpCV9X7Q"',
41
+ "mtime": "2026-07-07T03:16:53.329Z",
49
42
  "size": 19391,
50
- "path": "../public/assets/CompareDrawer-Co-35_Xw.js"
43
+ "path": "../public/assets/CompareDrawer-DsvO6QyJ.js"
44
+ },
45
+ "/assets/index-0pt1umWP.css": {
46
+ "type": "text/css; charset=utf-8",
47
+ "etag": '"2281f-b6adbSBuuyRm1qef8XcY8zI8Tvw"',
48
+ "mtime": "2026-07-07T03:16:53.329Z",
49
+ "size": 141343,
50
+ "path": "../public/assets/index-0pt1umWP.css"
51
51
  },
52
- "/assets/index-DZyTpd2w.js": {
52
+ "/assets/index-DSUEOPbC.js": {
53
53
  "type": "text/javascript; charset=utf-8",
54
- "etag": '"74-CRX5c/lNSq8LblJqtg+V92AgFnM"',
55
- "mtime": "2026-07-07T02:41:58.781Z",
54
+ "etag": '"74-OxAYH3UQoN48eatHx4yL09xqgvs"',
55
+ "mtime": "2026-07-07T03:16:53.329Z",
56
56
  "size": 116,
57
- "path": "../public/assets/index-DZyTpd2w.js"
57
+ "path": "../public/assets/index-DSUEOPbC.js"
58
58
  },
59
- "/assets/index-D8cruW0P.css": {
60
- "type": "text/css; charset=utf-8",
61
- "etag": '"21e6f-lvL4gsFa2y5tcKqWPn949G7cffc"',
62
- "mtime": "2026-07-07T02:41:58.781Z",
63
- "size": 138863,
64
- "path": "../public/assets/index-D8cruW0P.css"
59
+ "/assets/index-zfZUz67K.js": {
60
+ "type": "text/javascript; charset=utf-8",
61
+ "etag": '"1cd2c-L9qOZ3f8PNUAGiT0rnnoST6YWfg"',
62
+ "mtime": "2026-07-07T03:16:53.329Z",
63
+ "size": 118060,
64
+ "path": "../public/assets/index-zfZUz67K.js"
65
65
  },
66
66
  "/assets/minimax-BPMzvuL-.jpeg": {
67
67
  "type": "image/jpeg",
68
68
  "etag": '"1b06-IwivU89ko5UTMUM1/t7hn4sQK9A"',
69
- "mtime": "2026-07-07T02:41:58.780Z",
69
+ "mtime": "2026-07-07T03:16:53.328Z",
70
70
  "size": 6918,
71
71
  "path": "../public/assets/minimax-BPMzvuL-.jpeg"
72
72
  },
73
- "/assets/index-Dl1oki9E.js": {
74
- "type": "text/javascript; charset=utf-8",
75
- "etag": '"1cd2c-GPuO3UuCdHJ7WLd/rnHEuWwjzVo"',
76
- "mtime": "2026-07-07T02:41:58.782Z",
77
- "size": 118060,
78
- "path": "../public/assets/index-Dl1oki9E.js"
79
- },
80
- "/assets/json-viewer-B84f7oiG.js": {
73
+ "/assets/json-viewer-_4r1LBBE.js": {
81
74
  "type": "text/javascript; charset=utf-8",
82
- "etag": '"1ae6-4Ti/a+pOCW/TozoxBvtqBzUOBAI"',
83
- "mtime": "2026-07-07T02:41:58.782Z",
75
+ "etag": '"1ae6-Irtd3+8DFA2Z/Oz+6RoXClR8clw"',
76
+ "mtime": "2026-07-07T03:16:53.329Z",
84
77
  "size": 6886,
85
- "path": "../public/assets/json-viewer-B84f7oiG.js"
78
+ "path": "../public/assets/json-viewer-_4r1LBBE.js"
86
79
  },
87
- "/assets/main-DViDnJ9X.js": {
80
+ "/assets/ReplayDialog-CQlLX1Uo.js": {
88
81
  "type": "text/javascript; charset=utf-8",
89
- "etag": '"512fd-tv9uDZ2p5i5kt50721fWNR4gGCo"',
90
- "mtime": "2026-07-07T02:41:58.781Z",
91
- "size": 332541,
92
- "path": "../public/assets/main-DViDnJ9X.js"
82
+ "etag": '"31d6-QUb3xhIgyzB/nFNkjGPh1V87D+8"',
83
+ "mtime": "2026-07-07T03:16:53.329Z",
84
+ "size": 12758,
85
+ "path": "../public/assets/ReplayDialog-CQlLX1Uo.js"
93
86
  },
94
- "/assets/ReplayDialog-DghbvKdy.js": {
87
+ "/assets/main-C_nEHNUM.js": {
95
88
  "type": "text/javascript; charset=utf-8",
96
- "etag": '"31d6-qN1mIRhSWINaI/XQJq3BavBrwLc"',
97
- "mtime": "2026-07-07T02:41:58.781Z",
98
- "size": 12758,
99
- "path": "../public/assets/ReplayDialog-DghbvKdy.js"
89
+ "etag": '"512fd-52gkbjgsqFGOTrK9SwcjAR0fqb4"',
90
+ "mtime": "2026-07-07T03:16:53.329Z",
91
+ "size": 332541,
92
+ "path": "../public/assets/main-C_nEHNUM.js"
100
93
  },
101
- "/assets/RequestAnatomy-CRXE5v8X.js": {
94
+ "/assets/RequestAnatomy-m1q-uVTl.js": {
102
95
  "type": "text/javascript; charset=utf-8",
103
- "etag": '"43f2-gLtyuWz9JF98AfI+TxbA7pMfrn0"',
104
- "mtime": "2026-07-07T02:41:58.781Z",
96
+ "etag": '"43f2-kRHIkcpQkfNXmUqtzlXz5Bl+zf0"',
97
+ "mtime": "2026-07-07T03:16:53.329Z",
105
98
  "size": 17394,
106
- "path": "../public/assets/RequestAnatomy-CRXE5v8X.js"
99
+ "path": "../public/assets/RequestAnatomy-m1q-uVTl.js"
107
100
  },
108
- "/assets/ResponseView-CzxoQRjp.js": {
101
+ "/assets/ResponseView-DuLLeYSh.js": {
109
102
  "type": "text/javascript; charset=utf-8",
110
- "etag": '"47fa-mroeg0oa12/LKyDMyWHFljt81Ow"',
111
- "mtime": "2026-07-07T02:41:58.782Z",
103
+ "etag": '"47fa-l3OUJeUgO0oj1UT9vgXjilhwNEw"',
104
+ "mtime": "2026-07-07T03:16:53.329Z",
112
105
  "size": 18426,
113
- "path": "../public/assets/ResponseView-CzxoQRjp.js"
106
+ "path": "../public/assets/ResponseView-DuLLeYSh.js"
114
107
  },
115
- "/assets/StreamingChunkSequence-DnFyF_Hr.js": {
116
- "type": "text/javascript; charset=utf-8",
117
- "etag": '"dd6-7siyfImS4fklaVyOlyeHiEjEpCQ"',
118
- "mtime": "2026-07-07T02:41:58.782Z",
119
- "size": 3542,
120
- "path": "../public/assets/StreamingChunkSequence-DnFyF_Hr.js"
121
- },
122
- "/assets/_sessionId-DHRhWzKe.js": {
123
- "type": "text/javascript; charset=utf-8",
124
- "etag": '"36c-bnsN2jT/xjUgKLfZr/ketsobX+Y"',
125
- "mtime": "2026-07-07T02:41:58.781Z",
126
- "size": 876,
127
- "path": "../public/assets/_sessionId-DHRhWzKe.js"
108
+ "/assets/alibaba-TTwafVwX.svg": {
109
+ "type": "image/svg+xml",
110
+ "etag": '"171b-6dyV5K8QjiaY35sN9qNprh9zDIs"',
111
+ "mtime": "2026-07-07T03:16:53.328Z",
112
+ "size": 5915,
113
+ "path": "../public/assets/alibaba-TTwafVwX.svg"
128
114
  },
129
115
  "/assets/zhipuai-BPNAnxo-.svg": {
130
116
  "type": "image/svg+xml",
131
117
  "etag": '"2bf8-hNaLCTi89nOFCsIIfWpP/jrfo0s"',
132
- "mtime": "2026-07-07T02:41:58.780Z",
118
+ "mtime": "2026-07-07T03:16:53.328Z",
133
119
  "size": 11256,
134
120
  "path": "../public/assets/zhipuai-BPNAnxo-.svg"
135
121
  },
122
+ "/assets/_sessionId-CWP4pxOU.js": {
123
+ "type": "text/javascript; charset=utf-8",
124
+ "etag": '"36c-J74Y+Qo3HXpibkQqcgDBULVLGW4"',
125
+ "mtime": "2026-07-07T03:16:53.329Z",
126
+ "size": 876,
127
+ "path": "../public/assets/_sessionId-CWP4pxOU.js"
128
+ },
129
+ "/assets/StreamingChunkSequence-CN4aRFBx.js": {
130
+ "type": "text/javascript; charset=utf-8",
131
+ "etag": '"dd6-2UvXJrnPm4g6fFFFYJ49Epv69bE"',
132
+ "mtime": "2026-07-07T03:16:53.329Z",
133
+ "size": 3542,
134
+ "path": "../public/assets/StreamingChunkSequence-CN4aRFBx.js"
135
+ },
136
136
  "/assets/qwen-CONDcHqt.png": {
137
137
  "type": "image/png",
138
138
  "etag": '"572c3-cdJAPaHdOvFCGzuaQjagdgOu6XE"',
139
- "mtime": "2026-07-07T02:41:58.781Z",
139
+ "mtime": "2026-07-07T03:16:53.328Z",
140
140
  "size": 357059,
141
141
  "path": "../public/assets/qwen-CONDcHqt.png"
142
142
  },
143
- "/assets/ProxyViewerContainer-DPv1rBo7.js": {
143
+ "/assets/ProxyViewerContainer-CfP-komD.js": {
144
144
  "type": "text/javascript; charset=utf-8",
145
- "etag": '"b1960-XH9ZWBRpPK1liwdc4WXdgmJqJdI"',
146
- "mtime": "2026-07-07T02:41:58.782Z",
147
- "size": 727392,
148
- "path": "../public/assets/ProxyViewerContainer-DPv1rBo7.js"
145
+ "etag": '"b4969-/yQK6/qgiUKGLd4XgJTPqx6f2BU"',
146
+ "mtime": "2026-07-07T03:16:53.329Z",
147
+ "size": 739689,
148
+ "path": "../public/assets/ProxyViewerContainer-CfP-komD.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": "3.0.5",
3
+ "version": "3.0.6",
4
4
  "type": "module",
5
5
  "description": "Agent observability and knowledge capture layer for AI coding tools.",
6
6
  "license": "MIT",
@@ -58,6 +58,7 @@ import type { TransientToastInput } from "./ui/transient-toast";
58
58
  import { AlertsDialog } from "./alerts/AlertsDialog";
59
59
  import { GroupsDialog } from "./groups/GroupsDialog";
60
60
  import { SettingsDialog } from "./providers/SettingsDialog";
61
+ import { AgentLabDialog } from "./ecosystem/AgentLabDialog";
61
62
  import { computeCacheTrends } from "./proxy-viewer/cacheTrend";
62
63
  import { LazyCompareDrawer } from "./proxy-viewer/lazy";
63
64
  import { dispatchLogFocusRequest } from "./proxy-viewer/logFocus";
@@ -1282,9 +1283,13 @@ function CrabFamily({
1282
1283
  function BrandHeader({
1283
1284
  compact,
1284
1285
  crabEntrancePhase,
1286
+ currentSessionId,
1287
+ logCount,
1285
1288
  }: {
1286
1289
  compact: boolean;
1287
1290
  crabEntrancePhase: "hidden" | "playing" | "done";
1291
+ currentSessionId: string | null;
1292
+ logCount: number;
1288
1293
  }): JSX.Element {
1289
1294
  if (compact) {
1290
1295
  return (
@@ -1307,6 +1312,7 @@ function BrandHeader({
1307
1312
  <div className="flex shrink-0 items-center gap-1">
1308
1313
  <AlertsDialog />
1309
1314
  <GroupsDialog />
1315
+ <AgentLabDialog currentSessionId={currentSessionId} logCount={logCount} />
1310
1316
  <SettingsDialog />
1311
1317
  </div>
1312
1318
  </div>
@@ -1340,6 +1346,7 @@ function BrandHeader({
1340
1346
  <div className="justify-self-end flex items-center gap-1">
1341
1347
  <AlertsDialog />
1342
1348
  <GroupsDialog />
1349
+ <AgentLabDialog currentSessionId={currentSessionId} logCount={logCount} />
1343
1350
  <SettingsDialog />
1344
1351
  </div>
1345
1352
  </div>
@@ -1884,13 +1891,24 @@ export function ProxyViewer({
1884
1891
  },
1885
1892
  [onSessionChange],
1886
1893
  );
1894
+ const labSessionId =
1895
+ pinnedSessionId !== undefined
1896
+ ? pinnedSessionId
1897
+ : selectedSession === "__all__"
1898
+ ? null
1899
+ : selectedSession;
1887
1900
 
1888
1901
  return (
1889
1902
  <div className="bg-background min-h-screen w-full text-foreground">
1890
1903
  <div className="grid min-h-screen w-full grid-cols-1 lg:grid-cols-[minmax(0,1fr)_340px] xl:grid-cols-[minmax(0,1fr)_360px]">
1891
1904
  <aside className="bg-background/95 order-1 border-b border-white/[0.045] lg:sticky lg:top-0 lg:order-2 lg:h-screen lg:overflow-y-auto lg:border-b-0 lg:border-l lg:border-white/[0.055]">
1892
1905
  <div className="space-y-4 p-4">
1893
- <BrandHeader compact={true} crabEntrancePhase={crabEntrancePhase} />
1906
+ <BrandHeader
1907
+ compact={true}
1908
+ crabEntrancePhase={crabEntrancePhase}
1909
+ currentSessionId={labSessionId}
1910
+ logCount={logs.length}
1911
+ />
1894
1912
 
1895
1913
  <SidebarPanel label="Session">
1896
1914
  <div className="grid grid-cols-2 gap-2">