@tonyclaw/agent-inspector 3.0.4 → 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 (38) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/{CompareDrawer-Bs2kzUSp.js → CompareDrawer-DsvO6QyJ.js} +1 -1
  3. package/.output/public/assets/ProxyViewerContainer-CfP-komD.js +106 -0
  4. package/.output/public/assets/{ReplayDialog-B6xy7pl5.js → ReplayDialog-CQlLX1Uo.js} +1 -1
  5. package/.output/public/assets/{RequestAnatomy-BSvSmpCO.js → RequestAnatomy-m1q-uVTl.js} +1 -1
  6. package/.output/public/assets/{ResponseView-BFnUva7Z.js → ResponseView-DuLLeYSh.js} +2 -2
  7. package/.output/public/assets/{StreamingChunkSequence-u7ZaJOqn.js → StreamingChunkSequence-CN4aRFBx.js} +1 -1
  8. package/.output/public/assets/{_sessionId-CH4nsMOA.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-B5HS6AxR.js → index-zfZUz67K.js} +1 -1
  12. package/.output/public/assets/{json-viewer-5Tj5vkqe.js → json-viewer-_4r1LBBE.js} +1 -1
  13. package/.output/public/assets/{main-ChxZWG8K.js → main-C_nEHNUM.js} +2 -2
  14. package/.output/server/_libs/lucide-react.mjs +292 -203
  15. package/.output/server/{_sessionId-B3r-VBdM.mjs → _sessionId-CTqCAmUF.mjs} +3 -3
  16. package/.output/server/_ssr/{CompareDrawer-DAYrKHKe.mjs → CompareDrawer-D6b6TZ-O.mjs} +3 -3
  17. package/.output/server/_ssr/{ProxyViewerContainer-CYmNmQK9.mjs → ProxyViewerContainer-Dp7Va9_T.mjs} +593 -148
  18. package/.output/server/_ssr/{ReplayDialog-CdKvdXxk.mjs → ReplayDialog-D_KWQ1GY.mjs} +4 -4
  19. package/.output/server/_ssr/{RequestAnatomy-BtmTUq7O.mjs → RequestAnatomy-CPubXjMX.mjs} +2 -2
  20. package/.output/server/_ssr/{ResponseView-DuD_z5hd.mjs → ResponseView-CsTiNoOE.mjs} +3 -3
  21. package/.output/server/_ssr/{StreamingChunkSequence-DpIV2wt_.mjs → StreamingChunkSequence-Bgbzt23U.mjs} +2 -2
  22. package/.output/server/_ssr/{index-B4_8vH8k.mjs → index-P1gSpuM5.mjs} +2 -2
  23. package/.output/server/_ssr/index.mjs +2 -2
  24. package/.output/server/_ssr/{json-viewer-gcNJEB7y.mjs → json-viewer-10ciVGnc.mjs} +3 -3
  25. package/.output/server/_ssr/{router-CYjIsElo.mjs → router-BJJ0VhsB.mjs} +362 -151
  26. package/.output/server/_tanstack-start-manifest_v-CltlYL3I.mjs +4 -0
  27. package/.output/server/index.mjs +75 -75
  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/components/providers/ProviderCard.tsx +342 -206
  32. package/src/lib/ecosystemContract.ts +47 -0
  33. package/src/lib/stopReason.ts +4 -0
  34. package/src/routes/api/ecosystem.packages.ts +263 -0
  35. package/.output/public/assets/ProxyViewerContainer-BUnlrfiS.js +0 -106
  36. package/.output/public/assets/index-BqVL284D.js +0 -1
  37. package/.output/public/assets/index-DJW6qbnH.css +0 -1
  38. package/.output/server/_tanstack-start-manifest_v-BRdOxY6q.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:21:04.311Z",
42
- "size": 5915,
43
- "path": "../public/assets/alibaba-TTwafVwX.svg"
38
+ "/assets/CompareDrawer-DsvO6QyJ.js": {
39
+ "type": "text/javascript; charset=utf-8",
40
+ "etag": '"4bbf-neNUNNWS2aRLlwwzlzUnpCV9X7Q"',
41
+ "mtime": "2026-07-07T03:16:53.329Z",
42
+ "size": 19391,
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"
44
51
  },
45
- "/assets/index-B5HS6AxR.js": {
52
+ "/assets/index-DSUEOPbC.js": {
46
53
  "type": "text/javascript; charset=utf-8",
47
- "etag": '"1cd2c-EDX4XirwFQ64OqLFRJwR9ucgkOA"',
48
- "mtime": "2026-07-07T02:21:04.311Z",
49
- "size": 118060,
50
- "path": "../public/assets/index-B5HS6AxR.js"
54
+ "etag": '"74-OxAYH3UQoN48eatHx4yL09xqgvs"',
55
+ "mtime": "2026-07-07T03:16:53.329Z",
56
+ "size": 116,
57
+ "path": "../public/assets/index-DSUEOPbC.js"
51
58
  },
52
- "/assets/CompareDrawer-Bs2kzUSp.js": {
59
+ "/assets/index-zfZUz67K.js": {
53
60
  "type": "text/javascript; charset=utf-8",
54
- "etag": '"4bbf-OkdMzzuYsc0p52m848ZX4xujI/U"',
55
- "mtime": "2026-07-07T02:21:04.311Z",
56
- "size": 19391,
57
- "path": "../public/assets/CompareDrawer-Bs2kzUSp.js"
61
+ "etag": '"1cd2c-L9qOZ3f8PNUAGiT0rnnoST6YWfg"',
62
+ "mtime": "2026-07-07T03:16:53.329Z",
63
+ "size": 118060,
64
+ "path": "../public/assets/index-zfZUz67K.js"
58
65
  },
59
66
  "/assets/minimax-BPMzvuL-.jpeg": {
60
67
  "type": "image/jpeg",
61
68
  "etag": '"1b06-IwivU89ko5UTMUM1/t7hn4sQK9A"',
62
- "mtime": "2026-07-07T02:21:04.311Z",
69
+ "mtime": "2026-07-07T03:16:53.328Z",
63
70
  "size": 6918,
64
71
  "path": "../public/assets/minimax-BPMzvuL-.jpeg"
65
72
  },
66
- "/assets/index-BqVL284D.js": {
67
- "type": "text/javascript; charset=utf-8",
68
- "etag": '"74-I9QmAJsscCqjSkLfQHCzr7tltYk"',
69
- "mtime": "2026-07-07T02:21:04.311Z",
70
- "size": 116,
71
- "path": "../public/assets/index-BqVL284D.js"
72
- },
73
- "/assets/json-viewer-5Tj5vkqe.js": {
73
+ "/assets/json-viewer-_4r1LBBE.js": {
74
74
  "type": "text/javascript; charset=utf-8",
75
- "etag": '"1ae6-46wufUwc2WCo8Q8eRLMvBJCA3uE"',
76
- "mtime": "2026-07-07T02:21:04.311Z",
75
+ "etag": '"1ae6-Irtd3+8DFA2Z/Oz+6RoXClR8clw"',
76
+ "mtime": "2026-07-07T03:16:53.329Z",
77
77
  "size": 6886,
78
- "path": "../public/assets/json-viewer-5Tj5vkqe.js"
79
- },
80
- "/assets/index-DJW6qbnH.css": {
81
- "type": "text/css; charset=utf-8",
82
- "etag": '"2205e-7jRa3Crop49x40EeDJr4U5txznk"',
83
- "mtime": "2026-07-07T02:21:04.311Z",
84
- "size": 139358,
85
- "path": "../public/assets/index-DJW6qbnH.css"
86
- },
87
- "/assets/main-ChxZWG8K.js": {
88
- "type": "text/javascript; charset=utf-8",
89
- "etag": '"512fd-++aglOSkYu3wcC27zqoFHfftG7A"',
90
- "mtime": "2026-07-07T02:21:04.311Z",
91
- "size": 332541,
92
- "path": "../public/assets/main-ChxZWG8K.js"
78
+ "path": "../public/assets/json-viewer-_4r1LBBE.js"
93
79
  },
94
- "/assets/ResponseView-BFnUva7Z.js": {
80
+ "/assets/ReplayDialog-CQlLX1Uo.js": {
95
81
  "type": "text/javascript; charset=utf-8",
96
- "etag": '"47fa-fO1kSvWV0a5uE7Q6c7BVGvL65kM"',
97
- "mtime": "2026-07-07T02:21:04.311Z",
98
- "size": 18426,
99
- "path": "../public/assets/ResponseView-BFnUva7Z.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"
100
86
  },
101
- "/assets/StreamingChunkSequence-u7ZaJOqn.js": {
87
+ "/assets/main-C_nEHNUM.js": {
102
88
  "type": "text/javascript; charset=utf-8",
103
- "etag": '"dd6-kl1keZJrpdwTap/1d0rIcH2kmvg"',
104
- "mtime": "2026-07-07T02:21:04.311Z",
105
- "size": 3542,
106
- "path": "../public/assets/StreamingChunkSequence-u7ZaJOqn.js"
89
+ "etag": '"512fd-52gkbjgsqFGOTrK9SwcjAR0fqb4"',
90
+ "mtime": "2026-07-07T03:16:53.329Z",
91
+ "size": 332541,
92
+ "path": "../public/assets/main-C_nEHNUM.js"
107
93
  },
108
- "/assets/RequestAnatomy-BSvSmpCO.js": {
94
+ "/assets/RequestAnatomy-m1q-uVTl.js": {
109
95
  "type": "text/javascript; charset=utf-8",
110
- "etag": '"43f2-mIe+IsVw9DHI6z9piNFU0jQPNUs"',
111
- "mtime": "2026-07-07T02:21:04.311Z",
96
+ "etag": '"43f2-kRHIkcpQkfNXmUqtzlXz5Bl+zf0"',
97
+ "mtime": "2026-07-07T03:16:53.329Z",
112
98
  "size": 17394,
113
- "path": "../public/assets/RequestAnatomy-BSvSmpCO.js"
99
+ "path": "../public/assets/RequestAnatomy-m1q-uVTl.js"
114
100
  },
115
- "/assets/_sessionId-CH4nsMOA.js": {
101
+ "/assets/ResponseView-DuLLeYSh.js": {
116
102
  "type": "text/javascript; charset=utf-8",
117
- "etag": '"36c-9p/kN1A7zNDoM8PANgtcd3OSgwo"',
118
- "mtime": "2026-07-07T02:21:04.311Z",
119
- "size": 876,
120
- "path": "../public/assets/_sessionId-CH4nsMOA.js"
103
+ "etag": '"47fa-l3OUJeUgO0oj1UT9vgXjilhwNEw"',
104
+ "mtime": "2026-07-07T03:16:53.329Z",
105
+ "size": 18426,
106
+ "path": "../public/assets/ResponseView-DuLLeYSh.js"
107
+ },
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"
121
114
  },
122
115
  "/assets/zhipuai-BPNAnxo-.svg": {
123
116
  "type": "image/svg+xml",
124
117
  "etag": '"2bf8-hNaLCTi89nOFCsIIfWpP/jrfo0s"',
125
- "mtime": "2026-07-07T02:21:04.311Z",
118
+ "mtime": "2026-07-07T03:16:53.328Z",
126
119
  "size": 11256,
127
120
  "path": "../public/assets/zhipuai-BPNAnxo-.svg"
128
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
+ },
129
136
  "/assets/qwen-CONDcHqt.png": {
130
137
  "type": "image/png",
131
138
  "etag": '"572c3-cdJAPaHdOvFCGzuaQjagdgOu6XE"',
132
- "mtime": "2026-07-07T02:21:04.311Z",
139
+ "mtime": "2026-07-07T03:16:53.328Z",
133
140
  "size": 357059,
134
141
  "path": "../public/assets/qwen-CONDcHqt.png"
135
142
  },
136
- "/assets/ReplayDialog-B6xy7pl5.js": {
137
- "type": "text/javascript; charset=utf-8",
138
- "etag": '"31d6-XCGGD+MKf4wADYWp/RBq6C2nTC0"',
139
- "mtime": "2026-07-07T02:21:04.311Z",
140
- "size": 12758,
141
- "path": "../public/assets/ReplayDialog-B6xy7pl5.js"
142
- },
143
- "/assets/ProxyViewerContainer-BUnlrfiS.js": {
143
+ "/assets/ProxyViewerContainer-CfP-komD.js": {
144
144
  "type": "text/javascript; charset=utf-8",
145
- "etag": '"b10f6-9V5A+lyAHccOp3IC9oDV36uSVDA"',
146
- "mtime": "2026-07-07T02:21:04.311Z",
147
- "size": 725238,
148
- "path": "../public/assets/ProxyViewerContainer-BUnlrfiS.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.4",
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">