@tonyclaw/agent-inspector 3.0.22 → 3.0.24

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 (47) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/{CompareDrawer-CaDAbX9q.js → CompareDrawer-BC52FYwn.js} +1 -1
  3. package/.output/public/assets/ProxyViewerContainer-WuChOrSS.js +127 -0
  4. package/.output/public/assets/{ReplayDialog-C5kb1Bj4.js → ReplayDialog-BcKsarKt.js} +1 -1
  5. package/.output/public/assets/{RequestAnatomy-CbPNLnlL.js → RequestAnatomy-DR0uGpCj.js} +1 -1
  6. package/.output/public/assets/{ResponseView-DyzW0Zfo.js → ResponseView-kxAAPfmn.js} +2 -2
  7. package/.output/public/assets/{StreamingChunkSequence-Cl8zJu0w.js → StreamingChunkSequence-YQR0PjQj.js} +1 -1
  8. package/.output/public/assets/{_sessionId-BeN8-5Ho.js → _sessionId-DRl-Y9om.js} +1 -1
  9. package/.output/public/assets/{index-BCHWOmF2.js → index-CQbrc-hi.js} +71 -7
  10. package/.output/public/assets/{index-DcFtdKF3.js → index-CcSIBI4L.js} +1 -1
  11. package/.output/public/assets/index-DQeXi4Rv.css +1 -0
  12. package/.output/public/assets/{index-Pz9T7cS9.js → index-ZrMgyEZV.js} +1 -1
  13. package/.output/public/assets/{json-viewer-PNvFrOUw.js → json-viewer-CS5pwnEA.js} +1 -1
  14. package/.output/server/_libs/lucide-react.mjs +266 -234
  15. package/.output/server/{_sessionId-CIvbZsmt.mjs → _sessionId-BLk2xPkR.mjs} +2 -2
  16. package/.output/server/_ssr/{CompareDrawer-CtWPZP5T.mjs → CompareDrawer-Cw7Dseo3.mjs} +3 -3
  17. package/.output/server/_ssr/{ProxyViewerContainer-Dnm-Hup3.mjs → ProxyViewerContainer-D8SB0zyQ.mjs} +1124 -877
  18. package/.output/server/_ssr/{ReplayDialog-BYii7Q2m.mjs → ReplayDialog-B-YMhZkE.mjs} +4 -4
  19. package/.output/server/_ssr/{RequestAnatomy-CC6brPZr.mjs → RequestAnatomy-a9d8UTYZ.mjs} +2 -2
  20. package/.output/server/_ssr/{ResponseView-CwwkL_0d.mjs → ResponseView-PzaZS4CN.mjs} +3 -3
  21. package/.output/server/_ssr/{StreamingChunkSequence-CFsJzBLS.mjs → StreamingChunkSequence-C21_TCXk.mjs} +2 -2
  22. package/.output/server/_ssr/{index-B-Mm06YB.mjs → index-CrCeNP7H.mjs} +2 -2
  23. package/.output/server/_ssr/index.mjs +2 -2
  24. package/.output/server/_ssr/{json-viewer-D2MGmYZ0.mjs → json-viewer-Di2gxs9H.mjs} +3 -3
  25. package/.output/server/_ssr/{router-BwvN4eYE.mjs → router-BJzdUbcH.mjs} +296 -91
  26. package/.output/server/{_tanstack-start-manifest_v-Dpk8cafb.mjs → _tanstack-start-manifest_v-CGBTdAYC.mjs} +1 -1
  27. package/.output/server/index.mjs +64 -64
  28. package/package.json +6 -2
  29. package/src/components/ProxyViewer.tsx +136 -460
  30. package/src/components/ProxyViewerContainer.tsx +5 -47
  31. package/src/components/alerts/AlertsDialog.tsx +6 -2
  32. package/src/components/providers/ProviderCard.tsx +20 -579
  33. package/src/components/providers/ProviderTestResultsView.tsx +732 -0
  34. package/src/components/proxy-viewer/LogEntry.tsx +5 -0
  35. package/src/components/proxy-viewer/LogEntryHeader.tsx +7 -0
  36. package/src/components/proxy-viewer/ToolTraceEvents.tsx +33 -36
  37. package/src/components/proxy-viewer/TurnGroup.tsx +1 -5
  38. package/src/components/proxy-viewer/proxyViewerContainerLogic.ts +46 -0
  39. package/src/components/proxy-viewer/proxyViewerLogic.ts +469 -0
  40. package/src/lib/themeMode.ts +45 -0
  41. package/src/lib/uiScale.ts +112 -0
  42. package/src/lib/useThemeMode.ts +40 -0
  43. package/src/lib/useUiScale.ts +52 -0
  44. package/src/routes/__root.tsx +78 -1
  45. package/styles/globals.css +305 -23
  46. package/.output/public/assets/ProxyViewerContainer-7ugZIMW0.js +0 -127
  47. package/.output/public/assets/index-SqCROi0s.css +0 -1
@@ -16,6 +16,11 @@ import {
16
16
  type SessionLoadProgress,
17
17
  type SessionMembershipEvidence,
18
18
  } from "./ProxyViewer";
19
+ import {
20
+ filterLogs,
21
+ mergeLogsById,
22
+ mergeSessionIds,
23
+ } from "./proxy-viewer/proxyViewerContainerLogic";
19
24
  import { dispatchLogFocusRequest } from "./proxy-viewer/logFocus";
20
25
  import { TransientToast, useTransientToast } from "./ui/transient-toast";
21
26
 
@@ -112,24 +117,6 @@ function extractModels(logs: CapturedLog[]): string[] {
112
117
  return [...set];
113
118
  }
114
119
 
115
- /**
116
- * Filter logs by selected session/model. Both `__all__` and missing values
117
- * pass through. Returns the input array reference when no log matches the
118
- * filter, so referential equality is preserved for empty results.
119
- */
120
- export function filterLogs(
121
- logs: CapturedLog[],
122
- selectedSession: string,
123
- selectedModel: string,
124
- ): CapturedLog[] {
125
- if (selectedSession === "__all__" && selectedModel === "__all__") return logs;
126
- return logs.filter((l) => {
127
- if (selectedSession !== "__all__" && l.sessionId !== selectedSession) return false;
128
- if (selectedModel !== "__all__" && l.model !== selectedModel) return false;
129
- return true;
130
- });
131
- }
132
-
133
120
  const DEBOUNCE_MS = 100;
134
121
  const HASH_SCROLL_ATTEMPTS = 12;
135
122
  const HASH_HIGHLIGHT_MS = 1800;
@@ -243,35 +230,6 @@ async function deleteAllGroupsForFullHistoryDelete(): Promise<GroupCleanupResult
243
230
  }
244
231
  }
245
232
 
246
- export function mergeLogsById(
247
- previousLogs: readonly CapturedLog[],
248
- incomingLogs: readonly CapturedLog[],
249
- ): CapturedLog[] {
250
- if (incomingLogs.length === 0) return [...previousLogs];
251
- const byId = new Map<number, CapturedLog>();
252
- for (const log of previousLogs) {
253
- byId.set(log.id, log);
254
- }
255
- for (const log of incomingLogs) {
256
- byId.set(log.id, log);
257
- }
258
- return [...byId.values()].sort((left, right) => left.id - right.id);
259
- }
260
-
261
- export function mergeSessionIds(
262
- previousSessions: readonly string[],
263
- incomingSessions: readonly string[],
264
- ): string[] {
265
- const sessions = new Set<string>();
266
- for (const session of previousSessions) {
267
- if (session !== "") sessions.add(session);
268
- }
269
- for (const session of incomingSessions) {
270
- if (session !== "") sessions.add(session);
271
- }
272
- return [...sessions].sort();
273
- }
274
-
275
233
  export function ProxyViewerContainer({
276
234
  initialSessionId,
277
235
  }: {
@@ -469,7 +469,11 @@ export function AlertsDialog(): JSX.Element {
469
469
  const warningCount = summary?.warning ?? 0;
470
470
  const noticeCount = summary?.notice ?? 0;
471
471
  const triggerTone =
472
- criticalCount > 0 ? "bg-red-500" : warningCount > 0 ? "bg-amber-400" : "bg-sky-400";
472
+ criticalCount > 0
473
+ ? "bg-red-600 text-white"
474
+ : warningCount > 0
475
+ ? "bg-amber-400 text-zinc-950"
476
+ : "bg-sky-400 text-zinc-950";
473
477
 
474
478
  return (
475
479
  <Dialog open={open} onOpenChange={setOpen}>
@@ -488,7 +492,7 @@ export function AlertsDialog(): JSX.Element {
488
492
  ) : totalCount > 0 ? (
489
493
  <span
490
494
  className={cn(
491
- "absolute -right-1 -top-1 min-w-4 rounded-full px-1 text-[10px] font-semibold leading-4 text-white",
495
+ "absolute -right-1 -top-1 min-w-4 rounded-full px-1 text-[10px] font-semibold leading-4",
492
496
  triggerTone,
493
497
  )}
494
498
  >