@tonyclaw/agent-inspector 3.0.18 → 3.0.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.
Files changed (97) hide show
  1. package/.output/cli.js +1255 -504
  2. package/.output/nitro.json +3 -3
  3. package/.output/public/assets/CompareDrawer-DR3WgrId.js +1 -0
  4. package/.output/public/assets/ProxyViewerContainer-B7PZaz5j.js +127 -0
  5. package/.output/public/assets/ReplayDialog-Bt9jgdvJ.js +1 -0
  6. package/.output/public/assets/RequestAnatomy-C-4630lw.js +1 -0
  7. package/.output/public/assets/ResponseView-f_JrN1iQ.js +3 -0
  8. package/.output/public/assets/StreamingChunkSequence-D8dBm1d8.js +1 -0
  9. package/.output/public/assets/_sessionId-CtoSDXDC.js +1 -0
  10. package/.output/public/assets/index-B-rVc2xu.js +12 -0
  11. package/.output/public/assets/index-B3YOj8-_.css +1 -0
  12. package/.output/public/assets/{index-ClQ7Vi3J.js → index-BNCySZM-.js} +1 -1
  13. package/.output/public/assets/index-BtCnkWve.js +1 -0
  14. package/.output/public/assets/json-viewer-DT6QQY81.js +1 -0
  15. package/.output/server/_chunks/ssr-renderer.mjs +18 -2
  16. package/.output/server/_libs/@radix-ui/react-dismissable-layer+[...].mjs +165 -31
  17. package/.output/server/_libs/@radix-ui/react-use-callback-ref+[...].mjs +1 -1
  18. package/.output/server/_libs/@radix-ui/react-use-controllable-state+[...].mjs +2 -2
  19. package/.output/server/_libs/@radix-ui/react-use-is-hydrated+[...].mjs +28 -1
  20. package/.output/server/_libs/mistralai__mistralai.mjs +1 -1
  21. package/.output/server/_libs/modelcontextprotocol__server.mjs +11571 -8127
  22. package/.output/server/_libs/radix-ui__primitive.mjs +1 -1
  23. package/.output/server/_libs/radix-ui__react-collapsible.mjs +1 -1
  24. package/.output/server/_libs/radix-ui__react-collection.mjs +8 -8
  25. package/.output/server/_libs/radix-ui__react-compose-refs.mjs +0 -1
  26. package/.output/server/_libs/radix-ui__react-context.mjs +4 -18
  27. package/.output/server/_libs/radix-ui__react-dialog.mjs +41 -88
  28. package/.output/server/_libs/radix-ui__react-focus-guards.mjs +15 -5
  29. package/.output/server/_libs/radix-ui__react-focus-scope.mjs +6 -2
  30. package/.output/server/_libs/radix-ui__react-id.mjs +3 -3
  31. package/.output/server/_libs/radix-ui__react-popper.mjs +62 -8
  32. package/.output/server/_libs/radix-ui__react-portal.mjs +2 -2
  33. package/.output/server/_libs/radix-ui__react-presence.mjs +50 -5
  34. package/.output/server/_libs/radix-ui__react-roving-focus.mjs +15 -4
  35. package/.output/server/_libs/radix-ui__react-scroll-area.mjs +30 -20
  36. package/.output/server/_libs/radix-ui__react-select.mjs +167 -123
  37. package/.output/server/_libs/radix-ui__react-slot.mjs +74 -41
  38. package/.output/server/_libs/radix-ui__react-tabs.mjs +6 -1
  39. package/.output/server/_libs/radix-ui__react-tooltip.mjs +6 -3
  40. package/.output/server/_libs/react-dom.mjs +13 -15
  41. package/.output/server/_libs/react.mjs +45 -45
  42. package/.output/server/_libs/srvx.mjs +409 -53
  43. package/.output/server/_libs/swr.mjs +10 -2
  44. package/.output/server/_libs/tailwind-merge.mjs +286 -41
  45. package/.output/server/_libs/tanstack__history.mjs +9 -13
  46. package/.output/server/_libs/tanstack__react-router.mjs +788 -1092
  47. package/.output/server/_libs/tanstack__react-store.mjs +1 -1
  48. package/.output/server/_libs/tanstack__react-virtual.mjs +82 -7
  49. package/.output/server/_libs/tanstack__router-core.mjs +1841 -2060
  50. package/.output/server/_libs/tanstack__virtual-core.mjs +116 -45
  51. package/.output/server/_libs/use-sync-external-store.mjs +1 -1
  52. package/.output/server/_libs/zod-to-json-schema.mjs +1 -1
  53. package/.output/server/_libs/zod.mjs +5085 -200
  54. package/.output/server/{_sessionId-Bi3ZIrqT.mjs → _sessionId-DbRqqzqz.mjs} +30 -32
  55. package/.output/server/_ssr/{CompareDrawer-BYZS_hCR.mjs → CompareDrawer-CVhUSZu1.mjs} +29 -31
  56. package/.output/server/_ssr/{ProxyViewerContainer-BE4umfVs.mjs → ProxyViewerContainer-BNnDYtc5.mjs} +54 -52
  57. package/.output/server/_ssr/{ReplayDialog-BlID2ZH4.mjs → ReplayDialog-DVkGajZU.mjs} +30 -32
  58. package/.output/server/_ssr/{RequestAnatomy-CGJ2lkzT.mjs → RequestAnatomy-_FIfVjDR.mjs} +29 -31
  59. package/.output/server/_ssr/{ResponseView-DDjcGf7M.mjs → ResponseView-Bnv5ejVA.mjs} +29 -31
  60. package/.output/server/_ssr/{StreamingChunkSequence-G7B8M5G2.mjs → StreamingChunkSequence-vtwzxw7A.mjs} +29 -31
  61. package/.output/server/_ssr/empty-plugin-adapters-BFgPZ6_d.mjs +6 -0
  62. package/.output/server/_ssr/{index-ClQ9FvRJ.mjs → index-DFJbRoyq.mjs} +31 -33
  63. package/.output/server/_ssr/index.mjs +1102 -784
  64. package/.output/server/_ssr/{json-viewer-CFbpkiBJ.mjs → json-viewer-BkweASh3.mjs} +29 -31
  65. package/.output/server/_ssr/{router-Cq8LEvhE.mjs → router-gFd3g7WM.mjs} +10 -7
  66. package/.output/server/_tanstack-start-manifest_v-DeLutIlq.mjs +4 -0
  67. package/.output/server/index.mjs +81 -99
  68. package/package.json +17 -8
  69. package/src/components/clients/ClientLogo.tsx +5 -1
  70. package/src/components/proxy-viewer/RequestToolsPanel.tsx +1 -0
  71. package/src/components/proxy-viewer/ResponseView.tsx +1 -0
  72. package/src/components/proxy-viewer/StreamingChunkSequence.tsx +1 -0
  73. package/src/components/proxy-viewer/TurnGroup.tsx +1 -0
  74. package/src/components/proxy-viewer/anatomy/SegmentBar.tsx +1 -0
  75. package/src/components/proxy-viewer/formats/anthropic/ContentBlocks.tsx +4 -0
  76. package/src/components/proxy-viewer/formats/anthropic/ResponseView.tsx +1 -0
  77. package/src/components/proxy-viewer/formats/openai/ResponseView.tsx +2 -0
  78. package/src/components/ui/dialog.tsx +1 -1
  79. package/src/components/ui/json-viewer.tsx +2 -0
  80. package/src/components/ui/select.tsx +1 -1
  81. package/src/router.tsx +9 -0
  82. package/.output/public/assets/CompareDrawer-Daj03-RL.js +0 -1
  83. package/.output/public/assets/ProxyViewerContainer-BLCRQtU_.js +0 -106
  84. package/.output/public/assets/ReplayDialog-5FR5crdo.js +0 -1
  85. package/.output/public/assets/RequestAnatomy-DF0hHdQY.js +0 -1
  86. package/.output/public/assets/ResponseView-BwkMSsUa.js +0 -3
  87. package/.output/public/assets/StreamingChunkSequence-CKeUd58x.js +0 -1
  88. package/.output/public/assets/_sessionId-CThgXa41.js +0 -1
  89. package/.output/public/assets/index-BHXN1Fsx.css +0 -1
  90. package/.output/public/assets/index-gm3A0idN.js +0 -1
  91. package/.output/public/assets/json-viewer-BA-W-PZq.js +0 -1
  92. package/.output/public/assets/main-BnRC1932.js +0 -18
  93. package/.output/server/_libs/@radix-ui/react-use-escape-keydown+[...].mjs +0 -17
  94. package/.output/server/_libs/cfworker__json-schema.mjs +0 -1
  95. package/.output/server/_libs/tiny-invariant.mjs +0 -12
  96. package/.output/server/_libs/tiny-warning.mjs +0 -5
  97. package/.output/server/_tanstack-start-manifest_v-p7J0QCMh.mjs +0 -4
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { I as parseJsonText, c as cn, n as TooltipProvider, o as Tooltip, p as TooltipTrigger, q as TooltipContent, b as copyTextToClipboard } from "./ProxyViewerContainer-BE4umfVs.mjs";
3
- import "./router-Cq8LEvhE.mjs";
2
+ import { I as parseJsonText, c as cn, n as TooltipProvider, o as Tooltip, p as TooltipTrigger, q as TooltipContent, b as copyTextToClipboard } from "./ProxyViewerContainer-BNnDYtc5.mjs";
3
+ import "./router-gFd3g7WM.mjs";
4
4
  import "node:fs";
5
5
  import "node:buffer";
6
6
  import "node:path";
@@ -18,42 +18,30 @@ import "../_libs/use-sync-external-store.mjs";
18
18
  import "../_libs/dequal.mjs";
19
19
  import "../_libs/clsx.mjs";
20
20
  import "../_libs/tailwind-merge.mjs";
21
- import "../_libs/radix-ui__react-dialog.mjs";
22
- import "../_libs/radix-ui__primitive.mjs";
23
- import "../_libs/radix-ui__react-compose-refs.mjs";
24
- import "../_libs/radix-ui__react-context.mjs";
25
- import "../_libs/radix-ui__react-id.mjs";
26
- import "../_libs/@radix-ui/react-use-layout-effect+[...].mjs";
27
- import "../_libs/@radix-ui/react-use-controllable-state+[...].mjs";
28
- import "../_libs/@radix-ui/react-dismissable-layer+[...].mjs";
29
- import "../_libs/radix-ui__react-primitive.mjs";
21
+ import "../_libs/class-variance-authority.mjs";
22
+ import "../_libs/tanstack__react-virtual.mjs";
30
23
  import "../_libs/react-dom.mjs";
31
24
  import "util";
32
25
  import "async_hooks";
33
26
  import "stream";
34
- import "../_libs/radix-ui__react-slot.mjs";
35
- import "../_libs/@radix-ui/react-use-callback-ref+[...].mjs";
36
- import "../_libs/@radix-ui/react-use-escape-keydown+[...].mjs";
37
- import "../_libs/radix-ui__react-focus-scope.mjs";
38
- import "../_libs/radix-ui__react-portal.mjs";
39
- import "../_libs/radix-ui__react-presence.mjs";
40
- import "../_libs/radix-ui__react-focus-guards.mjs";
41
- import "../_libs/react-remove-scroll.mjs";
42
- import "tslib";
43
- import "../_libs/react-remove-scroll-bar.mjs";
44
- import "../_libs/react-style-singleton.mjs";
45
- import "../_libs/get-nonce.mjs";
46
- import "../_libs/use-sidecar.mjs";
47
- import "../_libs/use-callback-ref.mjs";
48
- import "../_libs/aria-hidden.mjs";
49
- import "../_libs/class-variance-authority.mjs";
50
- import "../_libs/tanstack__react-virtual.mjs";
51
27
  import "../_libs/tanstack__virtual-core.mjs";
52
28
  import "../_libs/diff.mjs";
29
+ import "../_libs/zod.mjs";
53
30
  import "../_libs/radix-ui__react-select.mjs";
54
31
  import "../_libs/radix-ui__number.mjs";
32
+ import "../_libs/radix-ui__primitive.mjs";
55
33
  import "../_libs/radix-ui__react-collection.mjs";
34
+ import "../_libs/radix-ui__react-context.mjs";
35
+ import "../_libs/radix-ui__react-compose-refs.mjs";
36
+ import "../_libs/radix-ui__react-slot.mjs";
56
37
  import "../_libs/radix-ui__react-direction.mjs";
38
+ import "../_libs/@radix-ui/react-dismissable-layer+[...].mjs";
39
+ import "../_libs/radix-ui__react-primitive.mjs";
40
+ import "../_libs/@radix-ui/react-use-callback-ref+[...].mjs";
41
+ import "../_libs/radix-ui__react-focus-guards.mjs";
42
+ import "../_libs/radix-ui__react-focus-scope.mjs";
43
+ import "../_libs/radix-ui__react-id.mjs";
44
+ import "../_libs/@radix-ui/react-use-layout-effect+[...].mjs";
57
45
  import "../_libs/radix-ui__react-popper.mjs";
58
46
  import "../_libs/floating-ui__react-dom.mjs";
59
47
  import "../_libs/floating-ui__dom.mjs";
@@ -61,23 +49,33 @@ import "../_libs/floating-ui__core.mjs";
61
49
  import "../_libs/floating-ui__utils.mjs";
62
50
  import "../_libs/radix-ui__react-arrow.mjs";
63
51
  import "../_libs/radix-ui__react-use-size.mjs";
52
+ import "../_libs/radix-ui__react-portal.mjs";
53
+ import "../_libs/radix-ui__react-presence.mjs";
54
+ import "../_libs/@radix-ui/react-use-controllable-state+[...].mjs";
64
55
  import "../_libs/radix-ui__react-use-previous.mjs";
65
56
  import "../_libs/@radix-ui/react-visually-hidden+[...].mjs";
66
- import "../_libs/zod.mjs";
57
+ import "../_libs/aria-hidden.mjs";
58
+ import "../_libs/react-remove-scroll.mjs";
59
+ import "tslib";
60
+ import "../_libs/react-remove-scroll-bar.mjs";
61
+ import "../_libs/react-style-singleton.mjs";
62
+ import "../_libs/get-nonce.mjs";
63
+ import "../_libs/use-sidecar.mjs";
64
+ import "../_libs/use-callback-ref.mjs";
65
+ import "../_libs/radix-ui__react-dialog.mjs";
67
66
  import "../_libs/radix-ui__react-tabs.mjs";
68
67
  import "../_libs/radix-ui__react-roving-focus.mjs";
68
+ import "../_libs/@radix-ui/react-use-is-hydrated+[...].mjs";
69
69
  import "../_libs/radix-ui__react-tooltip.mjs";
70
70
  import "../_libs/radix-ui__react-collapsible.mjs";
71
71
  import "../_libs/radix-ui__react-scroll-area.mjs";
72
72
  import "../_libs/tanstack__react-router.mjs";
73
- import "../_libs/tiny-warning.mjs";
74
73
  import "../_libs/tanstack__router-core.mjs";
75
74
  import "../_libs/cookie-es.mjs";
76
75
  import "../_libs/seroval.mjs";
77
76
  import "../_libs/seroval-plugins.mjs";
78
77
  import "node:stream";
79
78
  import "../_libs/tanstack__history.mjs";
80
- import "../_libs/tiny-invariant.mjs";
81
79
  import "node:stream/web";
82
80
  import "../_libs/isbot.mjs";
83
81
  import "node:fs/promises";
@@ -16,15 +16,13 @@ import { Worker } from "node:worker_threads";
16
16
  import { M as McpServer, W as WebStandardStreamableHTTPServerTransport, R as ResourceTemplate } from "../_libs/modelcontextprotocol__server.mjs";
17
17
  import { J as JSZip } from "../_libs/jszip.mjs";
18
18
  import { homedir } from "node:os";
19
- import { d as object, b as string, a as array, n as number, r as record, _ as _enum, u as union, c as boolean, e as unknown, l as literal, h as _null, k as lazy, g as discriminatedUnion } from "../_libs/zod.mjs";
20
- import "../_libs/tiny-warning.mjs";
19
+ import { o as object, b as string, e as array, n as number, r as record, _ as _enum, u as union, d as boolean, a as unknown, l as literal, h as _null, j as lazy, g as discriminatedUnion } from "../_libs/zod.mjs";
21
20
  import "../_libs/tanstack__router-core.mjs";
22
21
  import "../_libs/cookie-es.mjs";
23
22
  import "../_libs/seroval.mjs";
24
23
  import "../_libs/seroval-plugins.mjs";
25
24
  import "node:stream";
26
25
  import "../_libs/tanstack__history.mjs";
27
- import "../_libs/tiny-invariant.mjs";
28
26
  import "node:stream/web";
29
27
  import "../_libs/react-dom.mjs";
30
28
  import "util";
@@ -66,7 +64,7 @@ import "../_libs/immediate.mjs";
66
64
  import "../_libs/setimmediate.mjs";
67
65
  import "../_libs/pako.mjs";
68
66
  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";
69
- const appCss = "/assets/index-BHXN1Fsx.css";
67
+ const appCss = "/assets/index-B3YOj8-_.css";
70
68
  const CHUNK_LOAD_RELOAD_AT_KEY = "agent-inspector.chunkLoadReloadAt";
71
69
  const CHUNK_LOAD_RELOAD_WINDOW_MS = 15e3;
72
70
  const CHUNK_LOAD_FAILURE_PATTERNS = [
@@ -178,7 +176,7 @@ function RootDocument({ children }) {
178
176
  ] })
179
177
  ] });
180
178
  }
181
- const $$splitComponentImporter$1 = () => import("./index-ClQ9FvRJ.mjs");
179
+ const $$splitComponentImporter$1 = () => import("./index-DFJbRoyq.mjs");
182
180
  const Route$L = createFileRoute("/")({
183
181
  ssr: false,
184
182
  component: lazyRouteComponent($$splitComponentImporter$1, "component")
@@ -222,7 +220,7 @@ function decodeSessionIdFromPath(encoded) {
222
220
  function getSessionPath(sessionId) {
223
221
  return `/session/${encodeSessionIdForPath(sessionId)}`;
224
222
  }
225
- const $$splitComponentImporter = () => import("../_sessionId-Bi3ZIrqT.mjs");
223
+ const $$splitComponentImporter = () => import("../_sessionId-DbRqqzqz.mjs");
226
224
  const Route$K = createFileRoute("/session/$sessionId")({
227
225
  ssr: false,
228
226
  component: lazyRouteComponent($$splitComponentImporter, "component"),
@@ -2504,6 +2502,7 @@ class SessionProcess {
2504
2502
  constructor(sessionId) {
2505
2503
  this.sessionId = sessionId;
2506
2504
  }
2505
+ sessionId;
2507
2506
  child = null;
2508
2507
  pending = /* @__PURE__ */ new Map();
2509
2508
  nextId = 0;
@@ -9688,7 +9687,7 @@ const Route$E = createFileRoute("/api/models")({
9688
9687
  }
9689
9688
  });
9690
9689
  const name = "@tonyclaw/agent-inspector";
9691
- const version = "3.0.18";
9690
+ const version = "3.0.19";
9692
9691
  const packageJson = {
9693
9692
  name,
9694
9693
  version
@@ -10137,6 +10136,8 @@ class LoopbackTimeoutError extends Error {
10137
10136
  this.timeoutMs = timeoutMs;
10138
10137
  this.name = "LoopbackTimeoutError";
10139
10138
  }
10139
+ path;
10140
+ timeoutMs;
10140
10141
  }
10141
10142
  async function callApi(path2, options = {}) {
10142
10143
  if (!path2.startsWith("/")) {
@@ -18451,6 +18452,8 @@ function getRouter() {
18451
18452
  return router2;
18452
18453
  }
18453
18454
  function attachServerSsrStoreCompatibility(router2) {
18455
+ const stateDesc = Object.getOwnPropertyDescriptor(router2, "state");
18456
+ if (stateDesc === void 0) return;
18454
18457
  const existingStores = Object.getOwnPropertyDescriptor(router2, "stores");
18455
18458
  if (existingStores !== void 0) return;
18456
18459
  Object.defineProperty(router2, "stores", {
@@ -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/pi-agent", "/api/providers", "/api/runs", "/api/sessions", "/proxy/$", "/session/$sessionId", "/api/ecosystem/packages", "/api/ecosystem/tasks", "/api/knowledge/candidates", "/api/knowledge/project-context", "/api/knowledge/search", "/api/ecosystem/recipes/$recipeId/run", "/api/knowledge/sessions/$sessionId/candidates"], preloads: ["/assets/index-B-rVc2xu.js"], scripts: [{ attrs: { type: "module", async: true, src: "/assets/index-B-rVc2xu.js" } }] }, "/": { filePath: "C:/Users/claw/workspace/agent-inspector/src/routes/index.tsx", children: void 0, preloads: ["/assets/index-BtCnkWve.js", "/assets/ProxyViewerContainer-B7PZaz5j.js"] }, "/session/$sessionId": { filePath: "C:/Users/claw/workspace/agent-inspector/src/routes/session/$sessionId.tsx", children: void 0, preloads: ["/assets/_sessionId-CtoSDXDC.js", "/assets/ProxyViewerContainer-B7PZaz5j.js"] } } });
2
+ export {
3
+ tsrStartManifest
4
+ };
@@ -1,5 +1,5 @@
1
1
  globalThis.__nitro_main__ = import.meta.url;
2
- import { N as NodeResponse, s as serve } from "./_libs/srvx.mjs";
2
+ import { c as NodeResponse, s as serve } from "./_libs/srvx.mjs";
3
3
  import { d as defineHandler, H as HTTPError, t as toEventHandler, a as defineLazyEventHandler, b as H3Core } from "./_libs/h3.mjs";
4
4
  import { d as decodePath, w as withLeadingSlash, a as withoutTrailingSlash, j as joinURL } from "./_libs/ufo.mjs";
5
5
  import { promises } from "node:fs";
@@ -11,148 +11,130 @@ import "node:stream/promises";
11
11
  import "node:https";
12
12
  import "node:http2";
13
13
  import "./_libs/rou3.mjs";
14
- function lazyService(loader) {
15
- let promise, mod;
16
- return {
17
- fetch(req) {
18
- if (mod) {
19
- return mod.fetch(req);
20
- }
21
- if (!promise) {
22
- promise = loader().then((_mod) => mod = _mod.default || _mod);
23
- }
24
- return promise.then((mod2) => mod2.fetch(req));
25
- }
26
- };
27
- }
28
- const services = {
29
- ["ssr"]: lazyService(() => import("./_ssr/index.mjs"))
30
- };
31
- globalThis.__nitro_vite_envs__ = services;
32
14
  const headers = ((m) => function headersRouteRule(event) {
33
15
  for (const [key2, value] of Object.entries(m.options || {})) {
34
16
  event.res.headers.set(key2, value);
35
17
  }
36
18
  });
37
19
  const assets = {
20
+ "/assets/CompareDrawer-DR3WgrId.js": {
21
+ "type": "text/javascript; charset=utf-8",
22
+ "etag": '"4bc4-g9wGCVQQ0+DTCWBtzf5/WQzC1ms"',
23
+ "mtime": "2026-07-09T03:01:37.217Z",
24
+ "size": 19396,
25
+ "path": "../public/assets/CompareDrawer-DR3WgrId.js"
26
+ },
38
27
  "/assets/alibaba-TTwafVwX.svg": {
39
28
  "type": "image/svg+xml",
40
29
  "etag": '"171b-6dyV5K8QjiaY35sN9qNprh9zDIs"',
41
- "mtime": "2026-07-08T09:20:47.299Z",
30
+ "mtime": "2026-07-09T03:01:37.217Z",
42
31
  "size": 5915,
43
32
  "path": "../public/assets/alibaba-TTwafVwX.svg"
44
33
  },
45
- "/assets/agent-inspector-58K1_MsC.ico": {
46
- "type": "image/vnd.microsoft.icon",
47
- "etag": '"38fa-ZD8kPABHYjPIkcH82FMY6iZM7fI"',
48
- "mtime": "2026-07-08T09:20:47.299Z",
49
- "size": 14586,
50
- "path": "../public/assets/agent-inspector-58K1_MsC.ico"
51
- },
52
- "/assets/json-viewer-BA-W-PZq.js": {
34
+ "/assets/index-BNCySZM-.js": {
53
35
  "type": "text/javascript; charset=utf-8",
54
- "etag": '"1ae6-dvP4VHmxfaubFfn7DjIy5LP2VDM"',
55
- "mtime": "2026-07-08T09:20:47.300Z",
56
- "size": 6886,
57
- "path": "../public/assets/json-viewer-BA-W-PZq.js"
36
+ "etag": '"1cd2d-ANSOo1HmeEqtriGBeldBUquTNnk"',
37
+ "mtime": "2026-07-09T03:01:37.219Z",
38
+ "size": 118061,
39
+ "path": "../public/assets/index-BNCySZM-.js"
58
40
  },
59
- "/assets/index-gm3A0idN.js": {
41
+ "/assets/index-BtCnkWve.js": {
60
42
  "type": "text/javascript; charset=utf-8",
61
- "etag": '"264-bUtHugGp38xTQ/556OOmW4cTb30"',
62
- "mtime": "2026-07-08T09:20:47.299Z",
63
- "size": 612,
64
- "path": "../public/assets/index-gm3A0idN.js"
43
+ "etag": '"265-sEh/TwYI3EgJbVaR+VUN3hntyS8"',
44
+ "mtime": "2026-07-09T03:01:37.217Z",
45
+ "size": 613,
46
+ "path": "../public/assets/index-BtCnkWve.js"
65
47
  },
66
48
  "/assets/minimax-BPMzvuL-.jpeg": {
67
49
  "type": "image/jpeg",
68
50
  "etag": '"1b06-IwivU89ko5UTMUM1/t7hn4sQK9A"',
69
- "mtime": "2026-07-08T09:20:47.299Z",
51
+ "mtime": "2026-07-09T03:01:37.217Z",
70
52
  "size": 6918,
71
53
  "path": "../public/assets/minimax-BPMzvuL-.jpeg"
72
54
  },
73
- "/assets/index-ClQ7Vi3J.js": {
55
+ "/assets/json-viewer-DT6QQY81.js": {
74
56
  "type": "text/javascript; charset=utf-8",
75
- "etag": '"1cd2c-4zCEbVXrILXYj2zEV1+iKezgPds"',
76
- "mtime": "2026-07-08T09:20:47.300Z",
77
- "size": 118060,
78
- "path": "../public/assets/index-ClQ7Vi3J.js"
57
+ "etag": '"1ae7-RiK2CqjzqBcc3r3qhTcOUeHnVT0"',
58
+ "mtime": "2026-07-09T03:01:37.219Z",
59
+ "size": 6887,
60
+ "path": "../public/assets/json-viewer-DT6QQY81.js"
79
61
  },
80
- "/assets/main-BnRC1932.js": {
81
- "type": "text/javascript; charset=utf-8",
82
- "etag": '"51754-C+GxW6/FcQjEc3T50yvdt1wbC+Q"',
83
- "mtime": "2026-07-08T09:20:47.300Z",
84
- "size": 333652,
85
- "path": "../public/assets/main-BnRC1932.js"
86
- },
87
- "/assets/CompareDrawer-Daj03-RL.js": {
88
- "type": "text/javascript; charset=utf-8",
89
- "etag": '"4bc3-br2IcvOX80Rt2Ihi0wTncTxpsjQ"',
90
- "mtime": "2026-07-08T09:20:47.300Z",
91
- "size": 19395,
92
- "path": "../public/assets/CompareDrawer-Daj03-RL.js"
93
- },
94
- "/assets/ResponseView-BwkMSsUa.js": {
95
- "type": "text/javascript; charset=utf-8",
96
- "etag": '"47fc-0qG8LO4aEdS/plOjflbM11UR8Ow"',
97
- "mtime": "2026-07-08T09:20:47.300Z",
98
- "size": 18428,
99
- "path": "../public/assets/ResponseView-BwkMSsUa.js"
62
+ "/assets/agent-inspector-58K1_MsC.ico": {
63
+ "type": "image/vnd.microsoft.icon",
64
+ "etag": '"38fa-ZD8kPABHYjPIkcH82FMY6iZM7fI"',
65
+ "mtime": "2026-07-09T03:01:37.217Z",
66
+ "size": 14586,
67
+ "path": "../public/assets/agent-inspector-58K1_MsC.ico"
100
68
  },
101
- "/assets/RequestAnatomy-DF0hHdQY.js": {
69
+ "/assets/ReplayDialog-Bt9jgdvJ.js": {
102
70
  "type": "text/javascript; charset=utf-8",
103
- "etag": '"43f2-Mtz9JWVo1c1JlS8OqgcPSXmE3lQ"',
104
- "mtime": "2026-07-08T09:20:47.300Z",
105
- "size": 17394,
106
- "path": "../public/assets/RequestAnatomy-DF0hHdQY.js"
71
+ "etag": '"3348-WtWDGmK5jybK+cuTpwIgPOGFwd4"',
72
+ "mtime": "2026-07-09T03:01:37.217Z",
73
+ "size": 13128,
74
+ "path": "../public/assets/ReplayDialog-Bt9jgdvJ.js"
107
75
  },
108
- "/assets/ReplayDialog-5FR5crdo.js": {
76
+ "/assets/RequestAnatomy-C-4630lw.js": {
109
77
  "type": "text/javascript; charset=utf-8",
110
- "etag": '"3347-a97u4d282w761H2y42rBEmcN128"',
111
- "mtime": "2026-07-08T09:20:47.300Z",
112
- "size": 13127,
113
- "path": "../public/assets/ReplayDialog-5FR5crdo.js"
78
+ "etag": '"43f3-fgvl7dr+n5X7ytjRQEqDqOFrZb4"',
79
+ "mtime": "2026-07-09T03:01:37.219Z",
80
+ "size": 17395,
81
+ "path": "../public/assets/RequestAnatomy-C-4630lw.js"
114
82
  },
115
- "/assets/StreamingChunkSequence-CKeUd58x.js": {
83
+ "/assets/ResponseView-f_JrN1iQ.js": {
116
84
  "type": "text/javascript; charset=utf-8",
117
- "etag": '"e95-aUcHwmSf3cNmuFqJIhMNTBPZwHQ"',
118
- "mtime": "2026-07-08T09:20:47.300Z",
119
- "size": 3733,
120
- "path": "../public/assets/StreamingChunkSequence-CKeUd58x.js"
85
+ "etag": '"47fe-Cr70ks/fq7wCCjGwBxxd8BVAcZU"',
86
+ "mtime": "2026-07-09T03:01:37.219Z",
87
+ "size": 18430,
88
+ "path": "../public/assets/ResponseView-f_JrN1iQ.js"
121
89
  },
122
90
  "/assets/zhipuai-BPNAnxo-.svg": {
123
91
  "type": "image/svg+xml",
124
92
  "etag": '"2bf8-hNaLCTi89nOFCsIIfWpP/jrfo0s"',
125
- "mtime": "2026-07-08T09:20:47.299Z",
93
+ "mtime": "2026-07-09T03:01:37.217Z",
126
94
  "size": 11256,
127
95
  "path": "../public/assets/zhipuai-BPNAnxo-.svg"
128
96
  },
129
- "/assets/index-BHXN1Fsx.css": {
97
+ "/assets/StreamingChunkSequence-D8dBm1d8.js": {
98
+ "type": "text/javascript; charset=utf-8",
99
+ "etag": '"e96-AN1j5BG971yE+OvQe2JDt7ZgrdI"',
100
+ "mtime": "2026-07-09T03:01:37.219Z",
101
+ "size": 3734,
102
+ "path": "../public/assets/StreamingChunkSequence-D8dBm1d8.js"
103
+ },
104
+ "/assets/_sessionId-CtoSDXDC.js": {
105
+ "type": "text/javascript; charset=utf-8",
106
+ "etag": '"36d-MA+Cf4ijIFGfW0n0A0CkOZUFU/4"',
107
+ "mtime": "2026-07-09T03:01:37.217Z",
108
+ "size": 877,
109
+ "path": "../public/assets/_sessionId-CtoSDXDC.js"
110
+ },
111
+ "/assets/index-B3YOj8-_.css": {
130
112
  "type": "text/css; charset=utf-8",
131
- "etag": '"25b0d-UyzOlNKIaucQXEUHv/FUiQk9+WM"',
132
- "mtime": "2026-07-08T09:20:47.299Z",
133
- "size": 154381,
134
- "path": "../public/assets/index-BHXN1Fsx.css"
113
+ "etag": '"25d7e-wT0HU4Abt/tuojN/MHx6/a/L3BA"',
114
+ "mtime": "2026-07-09T03:01:37.217Z",
115
+ "size": 155006,
116
+ "path": "../public/assets/index-B3YOj8-_.css"
135
117
  },
136
- "/assets/_sessionId-CThgXa41.js": {
118
+ "/assets/index-B-rVc2xu.js": {
137
119
  "type": "text/javascript; charset=utf-8",
138
- "etag": '"36c-LhEJ0XDKnu7ufvoZ93ll2DTfzsE"',
139
- "mtime": "2026-07-08T09:20:47.299Z",
140
- "size": 876,
141
- "path": "../public/assets/_sessionId-CThgXa41.js"
120
+ "etag": '"5231f-IxjASzSyrrUSlC4lxQL2r/KbijU"',
121
+ "mtime": "2026-07-09T03:01:37.217Z",
122
+ "size": 336671,
123
+ "path": "../public/assets/index-B-rVc2xu.js"
142
124
  },
143
125
  "/assets/qwen-CONDcHqt.png": {
144
126
  "type": "image/png",
145
127
  "etag": '"572c3-cdJAPaHdOvFCGzuaQjagdgOu6XE"',
146
- "mtime": "2026-07-08T09:20:47.299Z",
128
+ "mtime": "2026-07-09T03:01:37.217Z",
147
129
  "size": 357059,
148
130
  "path": "../public/assets/qwen-CONDcHqt.png"
149
131
  },
150
- "/assets/ProxyViewerContainer-BLCRQtU_.js": {
132
+ "/assets/ProxyViewerContainer-B7PZaz5j.js": {
151
133
  "type": "text/javascript; charset=utf-8",
152
- "etag": '"bacfa-YqZ58vQYU45MNm0p7H9WPhfdV4M"',
153
- "mtime": "2026-07-08T09:20:47.300Z",
154
- "size": 765178,
155
- "path": "../public/assets/ProxyViewerContainer-BLCRQtU_.js"
134
+ "etag": '"bd773-O18dWHbUpwNcPJ1CJIocyfAmfPA"',
135
+ "mtime": "2026-07-09T03:01:37.219Z",
136
+ "size": 776051,
137
+ "path": "../public/assets/ProxyViewerContainer-B7PZaz5j.js"
156
138
  }
157
139
  };
158
140
  function readAsset(id) {
@@ -180,7 +162,7 @@ const EncodingMap = {
180
162
  br: ".br",
181
163
  zstd: ".zst"
182
164
  };
183
- const _aYWmx5 = defineHandler((event) => {
165
+ const _TahAqH = defineHandler((event) => {
184
166
  if (event.req.method && !METHODS.has(event.req.method)) {
185
167
  return;
186
168
  }
@@ -252,15 +234,15 @@ const findRouteRules = /* @__PURE__ */ (() => {
252
234
  return r;
253
235
  };
254
236
  })();
255
- const _lazy_bRSXJB = defineLazyEventHandler(() => import("./_chunks/ssr-renderer.mjs"));
237
+ const _lazy_9A6hFz = defineLazyEventHandler(() => import("./_chunks/ssr-renderer.mjs"));
256
238
  const findRoute = /* @__PURE__ */ (() => {
257
- const data = { route: "/**", handler: _lazy_bRSXJB };
239
+ const data = { route: "/**", handler: _lazy_9A6hFz };
258
240
  return ((_m, p) => {
259
241
  return { data, params: { "_": p.slice(1) } };
260
242
  });
261
243
  })();
262
244
  const globalMiddleware = [
263
- toEventHandler(_aYWmx5)
245
+ toEventHandler(_TahAqH)
264
246
  ].filter(Boolean);
265
247
  const errorHandler$1 = (error, event) => {
266
248
  const res = defaultHandler(error, event);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tonyclaw/agent-inspector",
3
- "version": "3.0.18",
3
+ "version": "3.0.19",
4
4
  "type": "module",
5
5
  "description": "Agent observability and knowledge capture layer for AI coding tools.",
6
6
  "license": "MIT",
@@ -71,10 +71,7 @@
71
71
  "dependencies": {
72
72
  "@mariozechner/pi-agent-core": "^0.73.1",
73
73
  "@mariozechner/pi-ai": "^0.73.1",
74
- "@mariozechner/pi-coding-agent": "^0.73.1",
75
74
  "@modelcontextprotocol/server": "^2.0.0-alpha.2",
76
- "@radix-ui/react-dialog": "^1.1.14",
77
- "@radix-ui/react-select": "^2.2.6",
78
75
  "@tailwindcss/typography": "^0.5.19",
79
76
  "@tanstack/react-router": "^1.160.2",
80
77
  "@tanstack/react-start": "^1.161.0",
@@ -104,24 +101,36 @@
104
101
  "@eslint/js": "^10.0.1",
105
102
  "@ladle/react": "^5.1.1",
106
103
  "@tailwindcss/vite": "^4.1.18",
107
- "@types/bun": "latest",
104
+ "@types/bun": "1.3.8",
108
105
  "@types/react": "^19",
109
106
  "@types/react-dom": "^19",
110
107
  "@typescript-eslint/eslint-plugin": "^8.55.0",
111
108
  "@typescript-eslint/parser": "^8.55.0",
112
109
  "@vitejs/plugin-react": "^5.1.4",
113
- "esbuild": "^0.25.0",
110
+ "esbuild": "^0.28.1",
114
111
  "eslint": "^9.32.0",
115
112
  "eslint-plugin-eslint-comments": "^3.2.0",
116
113
  "eslint-plugin-functional": "^9.0.2",
117
114
  "eslint-plugin-unicorn": "^63.0.0",
118
115
  "husky": "^9.1.7",
119
116
  "knip": "^5.83.1",
120
- "nitro": "^3.0.260603-beta",
117
+ "nitro": "^3.0.260610-beta",
121
118
  "playwright": "^1.60.0",
122
119
  "tailwindcss": "^4.1.11",
123
120
  "typescript": "^5.9.3",
124
- "vite": "^7.3.1",
121
+ "vite": "^7.3.6",
125
122
  "vite-tsconfig-paths": "^6.1.1"
123
+ },
124
+ "overrides": {
125
+ "undici": ">=7.24.0 <8.0.0",
126
+ "rollup": ">=4.59.0 <5.0.0",
127
+ "postcss": ">=8.5.10 <9.0.0",
128
+ "js-yaml": ">=4.1.2 <5.0.0",
129
+ "flatted": ">=3.4.0 <4.0.0",
130
+ "smol-toml": ">=1.6.1 <2.0.0",
131
+ "koa": ">=2.16.4 <3.0.0",
132
+ "@babel/core": ">=7.29.1 <8.0.0",
133
+ "@typescript-eslint/typescript-estree": "^8.63.0",
134
+ "vite": "^7.3.6"
126
135
  }
127
136
  }
@@ -51,7 +51,11 @@ export function detectClientApp(input: ClientAppDetectionInput): ClientApp {
51
51
  }
52
52
  if (matchesAny(haystack, ["mimocode", "mimo-code", "mimo code"])) return "mimo-code";
53
53
  if (matchesAny(haystack, ["opencode", "open-code", "open code"])) return "opencode";
54
- if (matchesAny(haystack, ["claude-code", "claude code", "claudecode"])) return "claude-code";
54
+ if (
55
+ matchesAny(haystack, ["claude-code", "claude code", "claudecode", "claude-cli", "claude cli"])
56
+ ) {
57
+ return "claude-code";
58
+ }
55
59
  if (matchesAny(haystack, ["codex desktop", "codex-cli", "openai-codex", "codex"])) {
56
60
  return "codex";
57
61
  }
@@ -183,6 +183,7 @@ function matchesQuery(tool: RequestToolDefinition, query: string): boolean {
183
183
  return haystack.includes(query);
184
184
  }
185
185
 
186
+ // eslint-disable-next-line @typescript-eslint/no-shadow -- named function gives React DevTools a readable displayName
186
187
  export const RequestTools = memo(function RequestTools({
187
188
  summary,
188
189
  calledToolNames,
@@ -66,6 +66,7 @@ function MarkdownFallbackView({ text }: { text: string }): JSX.Element {
66
66
  return <AnswerMarkdown text={text} />;
67
67
  }
68
68
 
69
+ // eslint-disable-next-line @typescript-eslint/no-shadow -- named function gives React DevTools a readable displayName
69
70
  export const ResponseView = memo(function ResponseView({
70
71
  responseText,
71
72
  responseStatus,
@@ -30,6 +30,7 @@ const StreamingChunksResponseSchema = z.object({
30
30
 
31
31
  const CHUNK_FETCH_TIMEOUT_MS = 10_000;
32
32
 
33
+ // eslint-disable-next-line @typescript-eslint/no-shadow -- named function gives React DevTools a readable displayName
33
34
  export const StreamingChunkSequence = memo(function StreamingChunkSequence({
34
35
  logId,
35
36
  truncated,
@@ -51,6 +51,7 @@ export type TurnGroupProps = {
51
51
  showLogClientMetadata?: boolean;
52
52
  };
53
53
 
54
+ // eslint-disable-next-line @typescript-eslint/no-shadow -- named function gives React DevTools a readable displayName
54
55
  export const TurnGroup = memo(function TurnGroup({
55
56
  entries,
56
57
  viewMode,
@@ -54,6 +54,7 @@ export type SegmentBarProps = {
54
54
  * context segment. Segment mode can activate a JSON path; aggregate modes stay
55
55
  * static so they do not imply a misleading jump target.
56
56
  */
57
+ // eslint-disable-next-line @typescript-eslint/no-shadow -- named function gives React DevTools a readable displayName
57
58
  export const SegmentBar = memo(function SegmentBar({
58
59
  segments,
59
60
  totalTokens,
@@ -38,6 +38,7 @@ function SystemReminderBlock({ text }: { text: string }): JSX.Element {
38
38
  );
39
39
  }
40
40
 
41
+ // eslint-disable-next-line @typescript-eslint/no-shadow -- named function gives React DevTools a readable displayName
41
42
  export const TextBlock = memo(function TextBlock({ text }: { text: string }): JSX.Element {
42
43
  if (text.includes("<system-reminder>")) {
43
44
  return <SystemReminderBlock text={text} />;
@@ -57,6 +58,7 @@ export const TextBlock = memo(function TextBlock({ text }: { text: string }): JS
57
58
  );
58
59
  });
59
60
 
61
+ // eslint-disable-next-line @typescript-eslint/no-shadow -- named function gives React DevTools a readable displayName
60
62
  export const ThinkingBlock = memo(function ThinkingBlock({
61
63
  thinking,
62
64
  }: {
@@ -97,6 +99,7 @@ export const ThinkingBlock = memo(function ThinkingBlock({
97
99
  );
98
100
  });
99
101
 
102
+ // eslint-disable-next-line @typescript-eslint/no-shadow -- named function gives React DevTools a readable displayName
100
103
  export const ToolUseBlock = memo(function ToolUseBlock({
101
104
  name,
102
105
  input,
@@ -160,6 +163,7 @@ export const ToolUseBlock = memo(function ToolUseBlock({
160
163
  );
161
164
  });
162
165
 
166
+ // eslint-disable-next-line @typescript-eslint/no-shadow -- named function gives React DevTools a readable displayName
163
167
  export const ResponseContentBlockRenderer = memo(function ResponseContentBlockRenderer({
164
168
  block,
165
169
  toolIndex,
@@ -7,6 +7,7 @@ import { Separator } from "../../../ui/separator";
7
7
  import type { ResponseToolFocus } from "../index";
8
8
  import { ResponseContentBlockRenderer } from "./ContentBlocks";
9
9
 
10
+ // eslint-disable-next-line @typescript-eslint/no-shadow -- named function gives React DevTools a readable displayName
10
11
  export const StructuredResponseViewAnthropic = memo(function StructuredResponseViewAnthropic({
11
12
  response,
12
13
  toolFocus,
@@ -283,6 +283,7 @@ function ResponsesFunctionCallBlock({
283
283
  );
284
284
  }
285
285
 
286
+ // eslint-disable-next-line @typescript-eslint/no-shadow -- named function gives React DevTools a readable displayName
286
287
  export const OpenAIResponseView = memo(function OpenAIResponseView({
287
288
  response,
288
289
  toolFocus,
@@ -378,6 +379,7 @@ export const OpenAIResponseView = memo(function OpenAIResponseView({
378
379
  );
379
380
  });
380
381
 
382
+ // eslint-disable-next-line @typescript-eslint/no-shadow -- named function gives React DevTools a readable displayName
381
383
  export const OpenAIResponsesResponseView = memo(function OpenAIResponsesResponseView({
382
384
  response,
383
385
  toolFocus,
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- import * as DialogPrimitive from "@radix-ui/react-dialog";
3
+ import { Dialog as DialogPrimitive } from "radix-ui";
4
4
  import { X } from "lucide-react";
5
5
  import * as React from "react";
6
6