@tonyclaw/agent-inspector 2.0.30 → 2.0.32

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 (41) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/{CompareDrawer-BDzfRSt1.js → CompareDrawer-Dgi0hhg5.js} +1 -1
  3. package/.output/public/assets/ProxyViewerContainer-4dG0nLRp.js +115 -0
  4. package/.output/public/assets/{ReplayDialog-p-5TKg75.js → ReplayDialog-BL6BwDuI.js} +1 -1
  5. package/.output/public/assets/{RequestAnatomy-G0dV8-D_.js → RequestAnatomy-DZMmiIiD.js} +1 -1
  6. package/.output/public/assets/{ResponseView-D2wE6lD-.js → ResponseView-DJLOiTYq.js} +1 -1
  7. package/.output/public/assets/{StreamingChunkSequence-D8JRK-j_.js → StreamingChunkSequence--SxZ5cxc.js} +1 -1
  8. package/.output/public/assets/_sessionId-C4z6gu9i.js +1 -0
  9. package/.output/public/assets/index-Drpb2qR5.js +1 -0
  10. package/.output/public/assets/index-fUUi8iQF.css +1 -0
  11. package/.output/public/assets/{main-XHHZsOBK.js → main-CbRIHhJ5.js} +2 -2
  12. package/.output/server/_libs/lucide-react.mjs +160 -135
  13. package/.output/server/{_sessionId-CK9QEhkB.mjs → _sessionId-DNfumR8F.mjs} +2 -2
  14. package/.output/server/_ssr/{CompareDrawer-BJVPFMIx.mjs → CompareDrawer-CzgjhnUa.mjs} +3 -3
  15. package/.output/server/_ssr/{ProxyViewerContainer-DhbmJ2zj.mjs → ProxyViewerContainer-BqOcZ7en.mjs} +737 -17
  16. package/.output/server/_ssr/{ReplayDialog-DXRj95Gj.mjs → ReplayDialog-DmEknIL8.mjs} +4 -4
  17. package/.output/server/_ssr/{RequestAnatomy-CrYJTXdJ.mjs → RequestAnatomy-DNoiMudY.mjs} +3 -3
  18. package/.output/server/_ssr/{ResponseView-4ESqSITr.mjs → ResponseView-C_cRrleT.mjs} +3 -3
  19. package/.output/server/_ssr/{StreamingChunkSequence-Czdko5n_.mjs → StreamingChunkSequence-DHZ9Q_dL.mjs} +3 -3
  20. package/.output/server/_ssr/{index-bei0I7qL.mjs → index-coYS9XyS.mjs} +2 -2
  21. package/.output/server/_ssr/index.mjs +2 -2
  22. package/.output/server/_ssr/{router-sQh4Gk8J.mjs → router-DUb5lKw1.mjs} +174 -40
  23. package/.output/server/{_tanstack-start-manifest_v-C0fdSWnA.mjs → _tanstack-start-manifest_v-xcG1o8Vt.mjs} +1 -1
  24. package/.output/server/index.mjs +60 -60
  25. package/package.json +1 -1
  26. package/src/components/ProxyViewer.tsx +9 -2
  27. package/src/components/groups/GroupsDialog.tsx +945 -0
  28. package/src/lib/groupContract.ts +24 -2
  29. package/src/lib/runContract.ts +2 -0
  30. package/src/lib/useGroupEvidence.ts +33 -0
  31. package/src/lib/useGroups.ts +28 -0
  32. package/src/mcp/server.ts +20 -1
  33. package/src/mcp/toolHandlers.ts +22 -0
  34. package/src/proxy/groupEvidenceExporter.ts +13 -0
  35. package/src/proxy/groupStore.ts +52 -2
  36. package/src/routes/api/groups.$groupId.evidence.ts +14 -2
  37. package/src/routes/api/groups.$groupId.ts +38 -1
  38. package/.output/public/assets/ProxyViewerContainer-NtOD8Ex_.js +0 -115
  39. package/.output/public/assets/_sessionId-zimzVrJE.js +0 -1
  40. package/.output/public/assets/index-Cv5vPgpr.js +0 -1
  41. package/.output/public/assets/index-CwlHPmgL.css +0 -1
@@ -35,103 +35,103 @@ const headers = ((m) => function headersRouteRule(event) {
35
35
  }
36
36
  });
37
37
  const assets = {
38
- "/assets/index-Cv5vPgpr.js": {
38
+ "/assets/CompareDrawer-Dgi0hhg5.js": {
39
39
  "type": "text/javascript; charset=utf-8",
40
- "etag": '"74-qPu6sF/kGmsOicFgVQR8W+cHfLQ"',
41
- "mtime": "2026-07-01T01:34:44.486Z",
42
- "size": 116,
43
- "path": "../public/assets/index-Cv5vPgpr.js"
40
+ "etag": '"49fe-xiEjAxziUBLp2U+4MyMFdcyRLt4"',
41
+ "mtime": "2026-07-01T02:41:45.885Z",
42
+ "size": 18942,
43
+ "path": "../public/assets/CompareDrawer-Dgi0hhg5.js"
44
44
  },
45
- "/assets/index-CwlHPmgL.css": {
46
- "type": "text/css; charset=utf-8",
47
- "etag": '"1a3f0-E2f0kOdSBi1RhjoK38+CSij/apg"',
48
- "mtime": "2026-07-01T01:34:44.486Z",
49
- "size": 107504,
50
- "path": "../public/assets/index-CwlHPmgL.css"
45
+ "/assets/minimax-BPMzvuL-.jpeg": {
46
+ "type": "image/jpeg",
47
+ "etag": '"1b06-IwivU89ko5UTMUM1/t7hn4sQK9A"',
48
+ "mtime": "2026-07-01T02:41:45.885Z",
49
+ "size": 6918,
50
+ "path": "../public/assets/minimax-BPMzvuL-.jpeg"
51
51
  },
52
52
  "/assets/alibaba-TTwafVwX.svg": {
53
53
  "type": "image/svg+xml",
54
54
  "etag": '"171b-6dyV5K8QjiaY35sN9qNprh9zDIs"',
55
- "mtime": "2026-07-01T01:34:44.485Z",
55
+ "mtime": "2026-07-01T02:41:45.885Z",
56
56
  "size": 5915,
57
57
  "path": "../public/assets/alibaba-TTwafVwX.svg"
58
58
  },
59
- "/assets/CompareDrawer-BDzfRSt1.js": {
60
- "type": "text/javascript; charset=utf-8",
61
- "etag": '"49fe-SgBlfrYSy5DyWozx9HIYT63pan8"',
62
- "mtime": "2026-07-01T01:34:44.486Z",
63
- "size": 18942,
64
- "path": "../public/assets/CompareDrawer-BDzfRSt1.js"
59
+ "/assets/index-fUUi8iQF.css": {
60
+ "type": "text/css; charset=utf-8",
61
+ "etag": '"1ab50-FHdw0vZwiZuyNgDVyYXJw1ED+1c"',
62
+ "mtime": "2026-07-01T02:41:45.885Z",
63
+ "size": 109392,
64
+ "path": "../public/assets/index-fUUi8iQF.css"
65
65
  },
66
- "/assets/main-XHHZsOBK.js": {
66
+ "/assets/main-CbRIHhJ5.js": {
67
67
  "type": "text/javascript; charset=utf-8",
68
- "etag": '"51726-1yTScfInPZoti54sKap6zxOxpvY"',
69
- "mtime": "2026-07-01T01:34:44.486Z",
68
+ "etag": '"51726-7iR/7Ba1JaBg7+HBrXquKkAOIK8"',
69
+ "mtime": "2026-07-01T02:41:45.885Z",
70
70
  "size": 333606,
71
- "path": "../public/assets/main-XHHZsOBK.js"
71
+ "path": "../public/assets/main-CbRIHhJ5.js"
72
+ },
73
+ "/assets/RequestAnatomy-DZMmiIiD.js": {
74
+ "type": "text/javascript; charset=utf-8",
75
+ "etag": '"4485-YhW7YY/GYtclcyvf2LJkOCVMHEI"',
76
+ "mtime": "2026-07-01T02:41:45.885Z",
77
+ "size": 17541,
78
+ "path": "../public/assets/RequestAnatomy-DZMmiIiD.js"
72
79
  },
73
80
  "/assets/qwen-CONDcHqt.png": {
74
81
  "type": "image/png",
75
82
  "etag": '"572c3-cdJAPaHdOvFCGzuaQjagdgOu6XE"',
76
- "mtime": "2026-07-01T01:34:44.485Z",
83
+ "mtime": "2026-07-01T02:41:45.885Z",
77
84
  "size": 357059,
78
85
  "path": "../public/assets/qwen-CONDcHqt.png"
79
86
  },
80
- "/assets/minimax-BPMzvuL-.jpeg": {
81
- "type": "image/jpeg",
82
- "etag": '"1b06-IwivU89ko5UTMUM1/t7hn4sQK9A"',
83
- "mtime": "2026-07-01T01:34:44.486Z",
84
- "size": 6918,
85
- "path": "../public/assets/minimax-BPMzvuL-.jpeg"
86
- },
87
- "/assets/RequestAnatomy-G0dV8-D_.js": {
87
+ "/assets/index-Drpb2qR5.js": {
88
88
  "type": "text/javascript; charset=utf-8",
89
- "etag": '"4485-dLrPuUurtUkiFHTiud70zTzhUi8"',
90
- "mtime": "2026-07-01T01:34:44.486Z",
91
- "size": 17541,
92
- "path": "../public/assets/RequestAnatomy-G0dV8-D_.js"
89
+ "etag": '"74-b0BRfTUXud8JbwvLJWUL4DpA/mA"',
90
+ "mtime": "2026-07-01T02:41:45.885Z",
91
+ "size": 116,
92
+ "path": "../public/assets/index-Drpb2qR5.js"
93
93
  },
94
- "/assets/ReplayDialog-p-5TKg75.js": {
94
+ "/assets/ReplayDialog-BL6BwDuI.js": {
95
95
  "type": "text/javascript; charset=utf-8",
96
- "etag": '"318c-2IdqYt4/fxajfqXLAVb8U+TSsfM"',
97
- "mtime": "2026-07-01T01:34:44.486Z",
96
+ "etag": '"318c-ZEe9NeGJDOgbwYSp3oEHTWJYqKE"',
97
+ "mtime": "2026-07-01T02:41:45.885Z",
98
98
  "size": 12684,
99
- "path": "../public/assets/ReplayDialog-p-5TKg75.js"
99
+ "path": "../public/assets/ReplayDialog-BL6BwDuI.js"
100
100
  },
101
- "/assets/ResponseView-D2wE6lD-.js": {
101
+ "/assets/ResponseView-DJLOiTYq.js": {
102
102
  "type": "text/javascript; charset=utf-8",
103
- "etag": '"30d0-5TfShOzs9M0k3ghgcC/Uc1CZi5U"',
104
- "mtime": "2026-07-01T01:34:44.486Z",
103
+ "etag": '"30d0-gq3SdkJtCaVLIPG17VnY6V5cf74"',
104
+ "mtime": "2026-07-01T02:41:45.885Z",
105
105
  "size": 12496,
106
- "path": "../public/assets/ResponseView-D2wE6lD-.js"
106
+ "path": "../public/assets/ResponseView-DJLOiTYq.js"
107
107
  },
108
- "/assets/StreamingChunkSequence-D8JRK-j_.js": {
108
+ "/assets/StreamingChunkSequence--SxZ5cxc.js": {
109
109
  "type": "text/javascript; charset=utf-8",
110
- "etag": '"d57-jGvUqgjv7HbrCBsM6bKKdb9Ijro"',
111
- "mtime": "2026-07-01T01:34:44.486Z",
110
+ "etag": '"d57-yCXAPD9vuMrQKqedPBTP0k197FY"',
111
+ "mtime": "2026-07-01T02:41:45.885Z",
112
112
  "size": 3415,
113
- "path": "../public/assets/StreamingChunkSequence-D8JRK-j_.js"
113
+ "path": "../public/assets/StreamingChunkSequence--SxZ5cxc.js"
114
+ },
115
+ "/assets/_sessionId-C4z6gu9i.js": {
116
+ "type": "text/javascript; charset=utf-8",
117
+ "etag": '"d2-lJ7/nREjndPn5FFPUWHTPKf9Mjo"',
118
+ "mtime": "2026-07-01T02:41:45.885Z",
119
+ "size": 210,
120
+ "path": "../public/assets/_sessionId-C4z6gu9i.js"
114
121
  },
115
122
  "/assets/zhipuai-BPNAnxo-.svg": {
116
123
  "type": "image/svg+xml",
117
124
  "etag": '"2bf8-hNaLCTi89nOFCsIIfWpP/jrfo0s"',
118
- "mtime": "2026-07-01T01:34:44.485Z",
125
+ "mtime": "2026-07-01T02:41:45.885Z",
119
126
  "size": 11256,
120
127
  "path": "../public/assets/zhipuai-BPNAnxo-.svg"
121
128
  },
122
- "/assets/_sessionId-zimzVrJE.js": {
123
- "type": "text/javascript; charset=utf-8",
124
- "etag": '"d2-XtmPH9ZczbI8wqjiKa5PV3BIn0Y"',
125
- "mtime": "2026-07-01T01:34:44.486Z",
126
- "size": 210,
127
- "path": "../public/assets/_sessionId-zimzVrJE.js"
128
- },
129
- "/assets/ProxyViewerContainer-NtOD8Ex_.js": {
129
+ "/assets/ProxyViewerContainer-4dG0nLRp.js": {
130
130
  "type": "text/javascript; charset=utf-8",
131
- "etag": '"af8bd-AtJl2HP2L1UcDbcZviRHY1WMV8U"',
132
- "mtime": "2026-07-01T01:34:44.486Z",
133
- "size": 719037,
134
- "path": "../public/assets/ProxyViewerContainer-NtOD8Ex_.js"
131
+ "etag": '"b55a4-FuZ9Fa8f20x/37a1GMLEO+8T0tM"',
132
+ "mtime": "2026-07-01T02:41:45.885Z",
133
+ "size": 742820,
134
+ "path": "../public/assets/ProxyViewerContainer-4dG0nLRp.js"
135
135
  }
136
136
  };
137
137
  function readAsset(id) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tonyclaw/agent-inspector",
3
- "version": "2.0.30",
3
+ "version": "2.0.32",
4
4
  "type": "module",
5
5
  "description": "Agent observability and knowledge capture layer for AI coding tools.",
6
6
  "license": "MIT",
@@ -15,6 +15,7 @@ import { crabVariants } from "./ui/crab-variants";
15
15
  import { McpLogo } from "./ui/mcp-logo";
16
16
  import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "./ui/select";
17
17
  import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./ui/tooltip";
18
+ import { GroupsDialog } from "./groups/GroupsDialog";
18
19
  import { SettingsDialog } from "./providers/SettingsDialog";
19
20
  import { computeCacheTrends } from "./proxy-viewer/cacheTrend";
20
21
  import { LazyCompareDrawer } from "./proxy-viewer/lazy";
@@ -38,6 +39,10 @@ function truncateSessionId(id: string): string {
38
39
  return `${id.slice(0, 12)}...${id.slice(-12)}`;
39
40
  }
40
41
 
42
+ export function shouldShowRawExport(captureMode: CaptureMode): boolean {
43
+ return captureMode === "full";
44
+ }
45
+
41
46
  function computeTokenSummary(logs: CapturedLog[]): { totalIn: number; totalOut: number } {
42
47
  let totalIn = 0;
43
48
  let totalOut = 0;
@@ -709,6 +714,7 @@ export function ProxyViewer({
709
714
  );
710
715
  const cacheTrends = useMemo(() => computeCacheTrends(groups), [groups]);
711
716
  const comparisonPredecessors = useMemo(() => buildValidPredecessors(groups), [groups]);
717
+ const showRawExport = shouldShowRawExport(captureMode);
712
718
  const handleCompareWithPrevious = useCallback(
713
719
  (log: CapturedLog) => {
714
720
  const predecessor = comparisonPredecessors.get(log.id);
@@ -788,7 +794,8 @@ export function ProxyViewer({
788
794
  </span>
789
795
  <McpReadyBadge />
790
796
  </h1>
791
- <div className="justify-self-end">
797
+ <div className="justify-self-end flex items-center gap-1">
798
+ <GroupsDialog />
792
799
  <SettingsDialog />
793
800
  </div>
794
801
  </div>
@@ -874,7 +881,7 @@ export function ProxyViewer({
874
881
  : ""}
875
882
  </span>
876
883
  )}
877
- {logs.length > 0 && (
884
+ {logs.length > 0 && showRawExport && (
878
885
  <button
879
886
  type="button"
880
887
  onClick={() => {