@tonyclaw/agent-inspector 3.0.38 → 3.0.40

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 (58) hide show
  1. package/.output/cli.js +249 -84
  2. package/.output/nitro.json +1 -1
  3. package/.output/public/assets/{CompareDrawer-BXQWabQJ.js → CompareDrawer-BEZv_kBv.js} +1 -1
  4. package/.output/public/assets/{InspectorPet-CpQEXKcr.js → InspectorPet-ChiA4cY-.js} +1 -1
  5. package/.output/public/assets/ProxyViewerContainer-DeEbzT2N.js +126 -0
  6. package/.output/public/assets/{ReplayDialog-CnYt4UKE.js → ReplayDialog-CwaZnm2I.js} +1 -1
  7. package/.output/public/assets/{RequestAnatomy-BI25al3m.js → RequestAnatomy-CF-q-pAd.js} +1 -1
  8. package/.output/public/assets/{ResponseView-D3y-I9nb.js → ResponseView-B63ljLZR.js} +1 -1
  9. package/.output/public/assets/{StreamingChunkSequence-n90dYzPp.js → StreamingChunkSequence-DLEG6OSP.js} +1 -1
  10. package/.output/public/assets/{_sessionId-CogrNhCS.js → _sessionId-CXIp9Ho8.js} +1 -1
  11. package/.output/public/assets/{_sessionId-DLbOYm3h.js → _sessionId-DeyIs1qC.js} +1 -1
  12. package/.output/public/assets/{index-BWWA1Rf6.js → index-BB7PKq5y.js} +6 -6
  13. package/.output/public/assets/index-BGsYO6pY.js +76 -0
  14. package/.output/public/assets/{index-DXGp27k9.js → index-BLB8plMU.js} +1 -1
  15. package/.output/public/assets/{index-I5zN_KrA.js → index-Cu4d716S.js} +1 -1
  16. package/.output/public/assets/{json-viewer-BoB2BfHg.js → json-viewer-DGNoUded.js} +1 -1
  17. package/.output/public/assets/{jszip.min-CAXkxQd6.js → jszip.min-BWEzkSYW.js} +1 -1
  18. package/.output/server/{_sessionId-_hORwhWH.mjs → _sessionId-C2SNEFkW.mjs} +1 -1
  19. package/.output/server/{_sessionId-DScqlEFC.mjs → _sessionId-WNO01BLN.mjs} +2 -2
  20. package/.output/server/_ssr/{CompareDrawer-BtGm5i_L.mjs → CompareDrawer-BEcSj30h.mjs} +2 -2
  21. package/.output/server/_ssr/{InspectorPet-BnN6lVqM.mjs → InspectorPet-_PYmltfg.mjs} +1 -1
  22. package/.output/server/_ssr/{ProxyViewerContainer-aduEJ_Xy.mjs → ProxyViewerContainer-BfcmY57q.mjs} +58 -23
  23. package/.output/server/_ssr/{ReplayDialog-BSGZ-TFs.mjs → ReplayDialog-jyuLGtHe.mjs} +3 -3
  24. package/.output/server/_ssr/{RequestAnatomy-DN_eSnDN.mjs → RequestAnatomy-DQbESytq.mjs} +2 -2
  25. package/.output/server/_ssr/{ResponseView-Dk9Td_HM.mjs → ResponseView--51oa9DH.mjs} +2 -2
  26. package/.output/server/_ssr/{StreamingChunkSequence-DthH8Lx4.mjs → StreamingChunkSequence-CAqCHxk1.mjs} +2 -2
  27. package/.output/server/_ssr/{index-DvVHL942.mjs → index-B1yEsvkn.mjs} +1 -1
  28. package/.output/server/_ssr/{index-CqeZgFFF.mjs → index-NOjwkApn.mjs} +2 -2
  29. package/.output/server/_ssr/index.mjs +2 -2
  30. package/.output/server/_ssr/{json-viewer-DLKA2jUq.mjs → json-viewer-CHdJjaMG.mjs} +2 -2
  31. package/.output/server/_ssr/{router-CRKEDn6n.mjs → router-C5WQ0dD2.mjs} +125 -58
  32. package/.output/server/{_tanstack-start-manifest_v-pQO9kTmV.mjs → _tanstack-start-manifest_v-DTpuiXMK.mjs} +1 -1
  33. package/.output/server/index.mjs +90 -90
  34. package/.output/workers/logFinalizer.worker.js +6 -1
  35. package/.output/workers/sessionWorkerEntry.js +6 -1
  36. package/README.md +42 -10
  37. package/package.json +1 -1
  38. package/src/cli/doctor.ts +17 -10
  39. package/src/cli/networkHints.ts +15 -8
  40. package/src/cli/onboard.ts +10 -3
  41. package/src/cli.ts +90 -56
  42. package/src/components/ProxyViewer.tsx +11 -2
  43. package/src/components/ProxyViewerContainer.tsx +2 -1
  44. package/src/components/pi-agent/PiAgentPanel.tsx +2 -1
  45. package/src/components/providers/SettingsDialog.tsx +24 -7
  46. package/src/lib/apiClient.ts +9 -2
  47. package/src/lib/basePath.ts +83 -0
  48. package/src/lib/sessionUrl.ts +4 -2
  49. package/src/mcp/loopback.ts +2 -1
  50. package/src/mcp/server.ts +6 -2
  51. package/src/proxy/identityProxy.ts +98 -6
  52. package/src/proxy/privateDataPath.ts +15 -1
  53. package/src/proxy/sessionInfo.ts +10 -3
  54. package/src/proxy/upstream.ts +3 -1
  55. package/src/router.tsx +7 -1
  56. package/src/routes/__root.tsx +9 -3
  57. package/.output/public/assets/ProxyViewerContainer-8pNJsCJ5.js +0 -126
  58. package/.output/public/assets/index-Ca0grOxW.js +0 -76
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { f as fetchJsonWithTimeout, j as TooltipProvider, k as Tooltip, l as TooltipTrigger, B as Badge, m as TooltipContent, x as LazyJsonViewer } from "./ProxyViewerContainer-aduEJ_Xy.mjs";
3
- import { ag as StreamingChunkSchema$1 } from "./router-CRKEDn6n.mjs";
2
+ import { f as fetchJsonWithTimeout, j as TooltipProvider, k as Tooltip, l as TooltipTrigger, B as Badge, m as TooltipContent, x as LazyJsonViewer } from "./ProxyViewerContainer-BfcmY57q.mjs";
3
+ import { ah as StreamingChunkSchema$1 } from "./router-C5WQ0dD2.mjs";
4
4
  import "node:crypto";
5
5
  import "node:path";
6
6
  import "node:fs";
@@ -1,5 +1,5 @@
1
1
  import { j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { S as SafeRouteError } from "./router-CRKEDn6n.mjs";
2
+ import { S as SafeRouteError } from "./router-C5WQ0dD2.mjs";
3
3
  import "node:crypto";
4
4
  import "node:path";
5
5
  import "node:fs";
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { P as ProxyViewerContainer } from "./ProxyViewerContainer-aduEJ_Xy.mjs";
3
- import "./router-CRKEDn6n.mjs";
2
+ import { P as ProxyViewerContainer } from "./ProxyViewerContainer-BfcmY57q.mjs";
3
+ import "./router-C5WQ0dD2.mjs";
4
4
  import "node:crypto";
5
5
  import "node:path";
6
6
  import "node:fs";
@@ -85,7 +85,7 @@ function getResponse() {
85
85
  }
86
86
  var HEADERS = { TSS_SHELL: "X-TSS_SHELL" };
87
87
  async function getStartManifest(matchedRoutes) {
88
- const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-pQO9kTmV.mjs");
88
+ const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-DTpuiXMK.mjs");
89
89
  const startManifest = tsrStartManifest();
90
90
  let routes = startManifest.routes;
91
91
  routes[rootRouteId];
@@ -1162,7 +1162,7 @@ var getBaseManifest = getProdBaseManifest;
1162
1162
  var createEarlyHintsForRequest = createEarlyHintsCollector;
1163
1163
  async function loadEntries() {
1164
1164
  const [routerEntry, startEntry, pluginAdapters] = await Promise.all([
1165
- import("./router-CRKEDn6n.mjs").then((n) => n.ah),
1165
+ import("./router-C5WQ0dD2.mjs").then((n) => n.ai),
1166
1166
  import("./start-HYkvq4Ni.mjs"),
1167
1167
  import("./empty-plugin-adapters-BFgPZ6_d.mjs")
1168
1168
  ]);
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { m as cn, y as copyTextToClipboard } from "./router-CRKEDn6n.mjs";
3
- import { z as parseJsonText, j as TooltipProvider, k as Tooltip, l as TooltipTrigger, m as TooltipContent } from "./ProxyViewerContainer-aduEJ_Xy.mjs";
2
+ import { m as cn, z as copyTextToClipboard } from "./router-C5WQ0dD2.mjs";
3
+ import { z as parseJsonText, j as TooltipProvider, k as Tooltip, l as TooltipTrigger, m as TooltipContent } from "./ProxyViewerContainer-BfcmY57q.mjs";
4
4
  import "node:crypto";
5
5
  import "node:path";
6
6
  import "node:fs";
@@ -69,6 +69,52 @@ import "../_libs/lie.mjs";
69
69
  import "../_libs/immediate.mjs";
70
70
  import "../_libs/setimmediate.mjs";
71
71
  import "../_libs/pako.mjs";
72
+ const AGENT_INSPECTOR_BASE_PATH_ENV = "AGENT_INSPECTOR_BASE_PATH";
73
+ const AGENT_INSPECTOR_INTERNAL_STRIPPED_BASE_PATH_ENV = "AGENT_INSPECTOR_INTERNAL_STRIPPED_BASE_PATH";
74
+ const AGENT_INSPECTOR_BASE_PATH_META_NAME = "agent-inspector-base-path";
75
+ const DEFAULT_AGENT_INSPECTOR_BASE_PATH = "/inspector";
76
+ function trimSlashes(value) {
77
+ return value.replace(/^\/+/u, "").replace(/\/+$/u, "");
78
+ }
79
+ function normalizeBasePath(value) {
80
+ const trimmed = value?.trim();
81
+ if (trimmed === void 0 || trimmed.length === 0 || trimmed === "/") return "";
82
+ const path2 = trimSlashes(trimmed);
83
+ if (path2.length === 0) return "";
84
+ return `/${path2}`;
85
+ }
86
+ function readDocumentBasePath() {
87
+ if (typeof document === "undefined") return void 0;
88
+ return document.querySelector(`meta[name="${AGENT_INSPECTOR_BASE_PATH_META_NAME}"]`)?.getAttribute("content") ?? void 0;
89
+ }
90
+ function readProcessBasePath() {
91
+ if (typeof process === "undefined") return void 0;
92
+ return process.env[AGENT_INSPECTOR_BASE_PATH_ENV];
93
+ }
94
+ function getConfiguredBasePath(env) {
95
+ return normalizeBasePath(
96
+ env?.[AGENT_INSPECTOR_BASE_PATH_ENV] ?? readProcessBasePath() ?? readDocumentBasePath() ?? "/" ?? DEFAULT_AGENT_INSPECTOR_BASE_PATH
97
+ );
98
+ }
99
+ function getRouterBasePath(env) {
100
+ if (env?.[AGENT_INSPECTOR_INTERNAL_STRIPPED_BASE_PATH_ENV] === "1") return "";
101
+ return getConfiguredBasePath(env);
102
+ }
103
+ function withBasePath(path2, basePath = getConfiguredBasePath()) {
104
+ const normalized = normalizeBasePath(basePath);
105
+ if (/^[a-z][a-z0-9+.-]*:/iu.test(path2)) return path2;
106
+ if (normalized.length === 0) return path2;
107
+ if (path2.length === 0 || path2 === "/") return normalized;
108
+ if (path2.startsWith(`${normalized}/`) || path2 === normalized) return path2;
109
+ return path2.startsWith("/") ? `${normalized}${path2}` : `${normalized}/${path2}`;
110
+ }
111
+ function stripBasePath(pathname, basePath = getConfiguredBasePath()) {
112
+ const normalized = normalizeBasePath(basePath);
113
+ if (normalized.length === 0) return pathname;
114
+ if (pathname === normalized) return "/";
115
+ if (pathname.startsWith(`${normalized}/`)) return pathname.slice(normalized.length);
116
+ return pathname;
117
+ }
72
118
  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";
73
119
  function restoreSelection(selection, ranges) {
74
120
  if (selection === null) return;
@@ -664,11 +710,12 @@ const Route$O = createRootRoute({
664
710
  meta: [
665
711
  { charSet: "utf-8" },
666
712
  { name: "viewport", content: "width=device-width, initial-scale=1" },
713
+ { name: AGENT_INSPECTOR_BASE_PATH_META_NAME, content: getConfiguredBasePath() },
667
714
  { title: "Agent Inspector" }
668
715
  ],
669
716
  links: [
670
- { rel: "stylesheet", href: appCss },
671
- { rel: "icon", type: "image/svg+xml", href: faviconSvg }
717
+ { rel: "stylesheet", href: withBasePath(appCss) },
718
+ { rel: "icon", type: "image/svg+xml", href: withBasePath(faviconSvg) }
672
719
  ]
673
720
  }),
674
721
  component: RootComponent,
@@ -699,7 +746,7 @@ function RootNotFoundComponent() {
699
746
  /* @__PURE__ */ jsxRuntimeExports.jsx(
700
747
  "a",
701
748
  {
702
- href: "/",
749
+ href: withBasePath("/"),
703
750
  className: "bg-primary text-primary-foreground hover:bg-primary/90 mt-6 inline-flex h-9 items-center justify-center rounded-md px-4 text-sm font-medium transition-colors",
704
751
  children: "Open Agent Inspector"
705
752
  }
@@ -724,8 +771,13 @@ const PRIVATE_FILE_MODE = 384;
724
771
  const securedPaths = /* @__PURE__ */ new Set();
725
772
  const securedFileIdentities = /* @__PURE__ */ new Map();
726
773
  let cachedWindowsSid = null;
774
+ function windowsSystemPath(executable) {
775
+ const systemRoot = process.env["SystemRoot"] ?? "C:\\Windows";
776
+ return `${systemRoot}\\System32\\${executable}`;
777
+ }
727
778
  function runWindowsCommand(executable, args) {
728
- const result = spawnSync(executable, [...args], {
779
+ const resolved = process.platform === "win32" && /^(whoami|icacls)\.exe$/iu.test(executable) ? windowsSystemPath(executable) : executable;
780
+ const result = spawnSync(resolved, [...args], {
729
781
  encoding: "utf8",
730
782
  shell: false,
731
783
  windowsHide: true
@@ -3884,8 +3936,8 @@ function decodeSessionIdFromPath(encoded) {
3884
3936
  return encoded;
3885
3937
  }
3886
3938
  }
3887
- function getSessionPath(sessionId) {
3888
- return `/session/${encodeSessionIdForPath(sessionId)}`;
3939
+ function getSessionPath(sessionId, basePath) {
3940
+ return withBasePath(`/session/${encodeSessionIdForPath(sessionId)}`, basePath);
3889
3941
  }
3890
3942
  const SESSION_INFO_DEFAULT_LATEST_LOG_LIMIT = 10;
3891
3943
  const SESSION_INFO_MAX_LATEST_LOG_LIMIT = 50;
@@ -3967,10 +4019,16 @@ function buildAbsoluteUrl(baseUrl, path2) {
3967
4019
  }
3968
4020
  }
3969
4021
  function buildApiPath(sessionId) {
3970
- return buildRelativePath("/api/sessions", new URLSearchParams({ sessionId }));
4022
+ return buildRelativePath(
4023
+ withBasePath("/api/sessions", getConfiguredBasePath(process.env)),
4024
+ new URLSearchParams({ sessionId })
4025
+ );
3971
4026
  }
3972
4027
  function buildCompactLogsPath(sessionId) {
3973
- return buildRelativePath("/api/logs", new URLSearchParams({ compact: "1", sessionId }));
4028
+ return buildRelativePath(
4029
+ withBasePath("/api/logs", getConfiguredBasePath(process.env)),
4030
+ new URLSearchParams({ compact: "1", sessionId })
4031
+ );
3974
4032
  }
3975
4033
  function collectSortedValues$1(values) {
3976
4034
  const set = /* @__PURE__ */ new Set();
@@ -4047,7 +4105,7 @@ function buildSessionInfo(input) {
4047
4105
  const queuedTasks = input.snapshot?.queuedTasks ?? 0;
4048
4106
  const runningTasks = input.snapshot?.runningTasks ?? 0;
4049
4107
  const lastTaskError = normalizeString(input.snapshot?.lastTaskError);
4050
- const inspectorPath = getSessionPath(input.sessionId);
4108
+ const inspectorPath = getSessionPath(input.sessionId, getConfiguredBasePath(process.env));
4051
4109
  const apiPath = buildApiPath(input.sessionId);
4052
4110
  const compactLogsPath = buildCompactLogsPath(input.sessionId);
4053
4111
  const latestLogs = summaries.slice(0, latestLogLimit).map((summary, index) => ({
@@ -6812,15 +6870,15 @@ const Route$M = createFileRoute("/livez")({
6812
6870
  }
6813
6871
  }
6814
6872
  });
6815
- const $$splitErrorComponentImporter$1 = () => import("./index-DvVHL942.mjs");
6816
- const $$splitComponentImporter$1 = () => import("./index-CqeZgFFF.mjs");
6873
+ const $$splitErrorComponentImporter$1 = () => import("./index-B1yEsvkn.mjs");
6874
+ const $$splitComponentImporter$1 = () => import("./index-NOjwkApn.mjs");
6817
6875
  const Route$L = createFileRoute("/")({
6818
6876
  ssr: false,
6819
6877
  component: lazyRouteComponent($$splitComponentImporter$1, "component"),
6820
6878
  errorComponent: lazyRouteComponent($$splitErrorComponentImporter$1, "errorComponent")
6821
6879
  });
6822
- const $$splitErrorComponentImporter = () => import("../_sessionId-_hORwhWH.mjs");
6823
- const $$splitComponentImporter = () => import("../_sessionId-DScqlEFC.mjs");
6880
+ const $$splitErrorComponentImporter = () => import("../_sessionId-C2SNEFkW.mjs");
6881
+ const $$splitComponentImporter = () => import("../_sessionId-WNO01BLN.mjs");
6824
6882
  const Route$K = createFileRoute("/session/$sessionId")({
6825
6883
  ssr: false,
6826
6884
  component: lazyRouteComponent($$splitComponentImporter, "component"),
@@ -9353,7 +9411,8 @@ function describeApiRoute(apiPath) {
9353
9411
  return { apiPath, endpointPath, isChatCompletions, isResponses, isOpenAI, normalizedPath };
9354
9412
  }
9355
9413
  function getProxyApiPath(url) {
9356
- return url.pathname.replace(/^\/proxy/, "") + url.search;
9414
+ const pathname = stripBasePath(url.pathname, getConfiguredBasePath(process.env));
9415
+ return pathname.replace(/^\/proxy/, "") + url.search;
9357
9416
  }
9358
9417
  function selectUpstreamBase(route, provider) {
9359
9418
  if (provider === null) {
@@ -13255,7 +13314,7 @@ const Route$E = createFileRoute("/api/models")({
13255
13314
  }
13256
13315
  });
13257
13316
  const name = "@tonyclaw/agent-inspector";
13258
- const version = "3.0.38";
13317
+ const version = "3.0.40";
13259
13318
  const packageJson = {
13260
13319
  name,
13261
13320
  version
@@ -13721,7 +13780,7 @@ async function callApi(path2, options = {}) {
13721
13780
  throw new Error(`callApi: path must start with '/', got: ${path2}`);
13722
13781
  }
13723
13782
  const port = getCurrentPort();
13724
- const url = `http://127.0.0.1:${port}${path2}`;
13783
+ const url = `http://127.0.0.1:${port}${withBasePath(path2, getConfiguredBasePath(process.env))}`;
13725
13784
  const { timeoutMs = DEFAULT_TIMEOUT_MS, signal: userSignal, ...rest } = options;
13726
13785
  const controller = new AbortController();
13727
13786
  const timeoutHandle = setTimeout(() => controller.abort(), timeoutMs);
@@ -15078,7 +15137,10 @@ function jsonResource(uri, data) {
15078
15137
  return textResource(uri, "application/json", JSON.stringify(data, null, 2));
15079
15138
  }
15080
15139
  function mcpEndpointUrl() {
15081
- return `http://localhost:${String(getCurrentPort())}/api/mcp`;
15140
+ return `http://localhost:${String(getCurrentPort())}${withBasePath(
15141
+ "/api/mcp",
15142
+ getConfiguredBasePath(process.env)
15143
+ )}`;
15082
15144
  }
15083
15145
  function mcpHealth() {
15084
15146
  return {
@@ -15089,7 +15151,7 @@ function mcpHealth() {
15089
15151
  },
15090
15152
  transport: {
15091
15153
  primary: "streamable-http",
15092
- endpoint: "/api/mcp",
15154
+ endpoint: withBasePath("/api/mcp", getConfiguredBasePath(process.env)),
15093
15155
  stateless: true
15094
15156
  },
15095
15157
  mode: getMcpModeInfo(),
@@ -22582,9 +22644,13 @@ const rootRouteChildren = {
22582
22644
  ApiKnowledgeSessionsSessionIdCandidatesRoute
22583
22645
  };
22584
22646
  const routeTree = Route$O._addFileChildren(rootRouteChildren)._addFileTypes();
22585
- function getRouter() {
22647
+ function defaultRouterBasePath() {
22648
+ return getRouterBasePath(typeof process === "undefined" ? void 0 : process.env);
22649
+ }
22650
+ function getRouter(basepath = defaultRouterBasePath()) {
22586
22651
  const router2 = createRouter({
22587
22652
  routeTree,
22653
+ basepath,
22588
22654
  scrollRestoration: false
22589
22655
  });
22590
22656
  attachServerSsrStoreCompatibility(router2);
@@ -22609,53 +22675,54 @@ const router = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
22609
22675
  getRouter
22610
22676
  }, Symbol.toStringTag, { value: "Module" }));
22611
22677
  export {
22612
- formatContextWindowInput as $,
22678
+ PATH_V1_RESPONSES as $,
22613
22679
  AnthropicResponseSchema$1 as A,
22614
22680
  Button as B,
22615
22681
  CapturedLogSchema as C,
22616
22682
  DEFAULT_CAPTURE_MODE as D,
22617
- stripClaudeCodeBillingHeader as E,
22618
- LazyFeatureBoundary as F,
22619
- AlertSummarySchema as G,
22620
- AlertListResponseSchema as H,
22621
- GroupEvidenceReadResponseSchema as I,
22622
- InspectorGroupsListResponseSchema as J,
22683
+ getStatusCategory as E,
22684
+ stripClaudeCodeBillingHeader as F,
22685
+ LazyFeatureBoundary as G,
22686
+ AlertSummarySchema as H,
22687
+ AlertListResponseSchema as I,
22688
+ GroupEvidenceReadResponseSchema as J,
22623
22689
  KnowledgeCandidateSchema as K,
22624
22690
  LogBodyChunkSchema as L,
22625
- DeleteInspectorGroupsResponseSchema as M,
22626
- GroupEvidenceExportResultSchema as N,
22691
+ InspectorGroupsListResponseSchema as M,
22692
+ DeleteInspectorGroupsResponseSchema as N,
22627
22693
  OpenAIRequestSchema as O,
22628
- DeleteInspectorGroupResponseSchema as P,
22629
- ProviderScanResponseSchema as Q,
22694
+ GroupEvidenceExportResultSchema as P,
22695
+ DeleteInspectorGroupResponseSchema as Q,
22630
22696
  Route$K as R,
22631
22697
  SafeRouteError as S,
22632
22698
  THEME_MODE_STORAGE_KEY as T,
22633
22699
  UI_SCALE_STORAGE_KEY as U,
22634
- providerHasContextMetadata as V,
22635
- findProviderModelMetadata as W,
22636
- formatContextWindowTokens as X,
22637
- PATH_V1_MESSAGES as Y,
22638
- PATH_V1_CHAT_COMPLETIONS as Z,
22639
- PATH_V1_RESPONSES as _,
22700
+ ProviderScanResponseSchema as V,
22701
+ providerHasContextMetadata as W,
22702
+ findProviderModelMetadata as X,
22703
+ formatContextWindowTokens as Y,
22704
+ PATH_V1_MESSAGES as Z,
22705
+ PATH_V1_CHAT_COMPLETIONS as _,
22640
22706
  DEFAULT_SLOW_RESPONSE_THRESHOLD_SECONDS as a,
22641
- parseContextWindowTokensInput as a0,
22642
- previewUpstreamUrl as a1,
22643
- createPendingProviderTestResults as a2,
22644
- ProviderTestResultsSchema as a3,
22645
- createFailedProviderTestResults as a4,
22646
- MAX_SLOW_RESPONSE_THRESHOLD_SECONDS as a5,
22647
- MAX_PROVIDER_TEST_TIMEOUT_SECONDS as a6,
22648
- TimeDisplayFormatSchema as a7,
22649
- EcosystemPackagesResponseSchema as a8,
22650
- EcosystemTaskResponseSchema as a9,
22651
- EcosystemTasksResponseSchema as aa,
22652
- EcosystemExecutionConfirmationResponseSchema as ab,
22653
- CrabLogo as ac,
22654
- resolveProviderContextWindow as ad,
22655
- isPlainRecord as ae,
22656
- formatUiScale as af,
22657
- StreamingChunkSchema$1 as ag,
22658
- router as ah,
22707
+ formatContextWindowInput as a0,
22708
+ parseContextWindowTokensInput as a1,
22709
+ previewUpstreamUrl as a2,
22710
+ createPendingProviderTestResults as a3,
22711
+ ProviderTestResultsSchema as a4,
22712
+ createFailedProviderTestResults as a5,
22713
+ MAX_SLOW_RESPONSE_THRESHOLD_SECONDS as a6,
22714
+ MAX_PROVIDER_TEST_TIMEOUT_SECONDS as a7,
22715
+ TimeDisplayFormatSchema as a8,
22716
+ EcosystemPackagesResponseSchema as a9,
22717
+ EcosystemTaskResponseSchema as aa,
22718
+ EcosystemTasksResponseSchema as ab,
22719
+ EcosystemExecutionConfirmationResponseSchema as ac,
22720
+ CrabLogo as ad,
22721
+ resolveProviderContextWindow as ae,
22722
+ isPlainRecord as af,
22723
+ formatUiScale as ag,
22724
+ StreamingChunkSchema$1 as ah,
22725
+ router as ai,
22659
22726
  DEFAULT_PROVIDER_TEST_TIMEOUT_SECONDS as b,
22660
22727
  DEFAULT_TIME_DISPLAY_FORMAT as c,
22661
22728
  RuntimeConfigSchema as d,
@@ -22677,8 +22744,8 @@ export {
22677
22744
  parseOpenAIResponsesResponse as t,
22678
22745
  OpenAIResponsesRequestSchema as u,
22679
22746
  apiFormatForPath as v,
22680
- getSessionPath as w,
22681
- formatTokens as x,
22682
- copyTextToClipboard as y,
22683
- getStatusCategory as z
22747
+ withBasePath as w,
22748
+ getSessionPath as x,
22749
+ formatTokens as y,
22750
+ copyTextToClipboard as z
22684
22751
  };
@@ -1,4 +1,4 @@
1
- const tsrStartManifest = () => ({ routes: { __root__: { filePath: "C:/Users/claw/workspace/agent-inspector/src/routes/__root.tsx", children: ["/", "/livez", "/readyz", "/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-Ca0grOxW.js"], scripts: [{ attrs: { type: "module", async: true, src: "/assets/index-Ca0grOxW.js" } }] }, "/": { filePath: "C:/Users/claw/workspace/agent-inspector/src/routes/index.tsx", children: void 0, preloads: ["/assets/index-DXGp27k9.js", "/assets/index-I5zN_KrA.js", "/assets/ProxyViewerContainer-8pNJsCJ5.js"] }, "/session/$sessionId": { filePath: "C:/Users/claw/workspace/agent-inspector/src/routes/session/$sessionId.tsx", children: void 0, preloads: ["/assets/_sessionId-DLbOYm3h.js", "/assets/_sessionId-CogrNhCS.js", "/assets/ProxyViewerContainer-8pNJsCJ5.js"] } } });
1
+ const tsrStartManifest = () => ({ routes: { __root__: { filePath: "C:/Users/claw/workspace/agent-inspector/src/routes/__root.tsx", children: ["/", "/livez", "/readyz", "/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-BGsYO6pY.js"], scripts: [{ attrs: { type: "module", async: true, src: "/assets/index-BGsYO6pY.js" } }] }, "/": { filePath: "C:/Users/claw/workspace/agent-inspector/src/routes/index.tsx", children: void 0, preloads: ["/assets/index-BLB8plMU.js", "/assets/index-Cu4d716S.js", "/assets/ProxyViewerContainer-DeEbzT2N.js"] }, "/session/$sessionId": { filePath: "C:/Users/claw/workspace/agent-inspector/src/routes/session/$sessionId.tsx", children: void 0, preloads: ["/assets/_sessionId-DeyIs1qC.js", "/assets/_sessionId-CXIp9Ho8.js", "/assets/ProxyViewerContainer-DeEbzT2N.js"] } } });
2
2
  export {
3
3
  tsrStartManifest
4
4
  };
@@ -20,149 +20,149 @@ const assets = {
20
20
  "/assets/agent-inspector-58K1_MsC.ico": {
21
21
  "type": "image/vnd.microsoft.icon",
22
22
  "etag": '"38fa-ZD8kPABHYjPIkcH82FMY6iZM7fI"',
23
- "mtime": "2026-07-14T03:53:14.174Z",
23
+ "mtime": "2026-07-14T08:31:05.288Z",
24
24
  "size": 14586,
25
25
  "path": "../public/assets/agent-inspector-58K1_MsC.ico"
26
26
  },
27
- "/assets/CompareDrawer-BXQWabQJ.js": {
27
+ "/assets/index-Cu4d716S.js": {
28
28
  "type": "text/javascript; charset=utf-8",
29
- "etag": '"502d-wj3LT5RtgZzCp7P2kVTHcIyG63U"',
30
- "mtime": "2026-07-14T03:53:14.176Z",
29
+ "etag": '"265-5jXyVj+QvCxzcPHNhn8fYWHmdIA"',
30
+ "mtime": "2026-07-14T08:31:05.290Z",
31
+ "size": 613,
32
+ "path": "../public/assets/index-Cu4d716S.js"
33
+ },
34
+ "/assets/alibaba-TTwafVwX.svg": {
35
+ "type": "image/svg+xml",
36
+ "etag": '"171b-6dyV5K8QjiaY35sN9qNprh9zDIs"',
37
+ "mtime": "2026-07-14T08:31:05.289Z",
38
+ "size": 5915,
39
+ "path": "../public/assets/alibaba-TTwafVwX.svg"
40
+ },
41
+ "/assets/CompareDrawer-BEZv_kBv.js": {
42
+ "type": "text/javascript; charset=utf-8",
43
+ "etag": '"502d-cL1XYHDiVBq1nwLyZr8ihwTlqVU"',
44
+ "mtime": "2026-07-14T08:31:05.290Z",
31
45
  "size": 20525,
32
- "path": "../public/assets/CompareDrawer-BXQWabQJ.js"
46
+ "path": "../public/assets/CompareDrawer-BEZv_kBv.js"
33
47
  },
34
- "/assets/index-I5zN_KrA.js": {
48
+ "/assets/index-BB7PKq5y.js": {
35
49
  "type": "text/javascript; charset=utf-8",
36
- "etag": '"265-3z6vN6Vf2javERIkEJVYxPNnFSw"',
37
- "mtime": "2026-07-14T03:53:14.176Z",
38
- "size": 613,
39
- "path": "../public/assets/index-I5zN_KrA.js"
50
+ "etag": '"1cd2d-DdP1Uc2neQfmDq0BHJCRNsXkKpM"',
51
+ "mtime": "2026-07-14T08:31:05.291Z",
52
+ "size": 118061,
53
+ "path": "../public/assets/index-BB7PKq5y.js"
40
54
  },
41
- "/assets/index-DXGp27k9.js": {
55
+ "/assets/json-viewer-DGNoUded.js": {
42
56
  "type": "text/javascript; charset=utf-8",
43
- "etag": '"9f-JHA3U9Tmi39Xto2kydAp8s7unM4"',
44
- "mtime": "2026-07-14T03:53:14.176Z",
45
- "size": 159,
46
- "path": "../public/assets/index-DXGp27k9.js"
57
+ "etag": '"1ae2-+MQnMcUk1JXmHyNbYL60dy6l8ho"',
58
+ "mtime": "2026-07-14T08:31:05.291Z",
59
+ "size": 6882,
60
+ "path": "../public/assets/json-viewer-DGNoUded.js"
47
61
  },
48
- "/assets/index-Ca0grOxW.js": {
62
+ "/assets/index-BLB8plMU.js": {
49
63
  "type": "text/javascript; charset=utf-8",
50
- "etag": '"5c73b-G/NdvDHkbJ6sYV36+k+y3IAL5zQ"',
51
- "mtime": "2026-07-14T03:53:14.176Z",
52
- "size": 378683,
53
- "path": "../public/assets/index-Ca0grOxW.js"
64
+ "etag": '"9f-BWccRN5Q2m0zMyfX2TQZvutTVp0"',
65
+ "mtime": "2026-07-14T08:31:05.290Z",
66
+ "size": 159,
67
+ "path": "../public/assets/index-BLB8plMU.js"
68
+ },
69
+ "/assets/minimax-BPMzvuL-.jpeg": {
70
+ "type": "image/jpeg",
71
+ "etag": '"1b06-IwivU89ko5UTMUM1/t7hn4sQK9A"',
72
+ "mtime": "2026-07-14T08:31:05.289Z",
73
+ "size": 6918,
74
+ "path": "../public/assets/minimax-BPMzvuL-.jpeg"
54
75
  },
55
76
  "/assets/index-DKwrwHsI.css": {
56
77
  "type": "text/css; charset=utf-8",
57
78
  "etag": '"2b128-vfhUOjrhTuAxt1g6iWtE4D4FOLQ"',
58
- "mtime": "2026-07-14T03:53:14.176Z",
79
+ "mtime": "2026-07-14T08:31:05.290Z",
59
80
  "size": 176424,
60
81
  "path": "../public/assets/index-DKwrwHsI.css"
61
82
  },
62
- "/assets/index-BWWA1Rf6.js": {
83
+ "/assets/jszip.min-BWEzkSYW.js": {
63
84
  "type": "text/javascript; charset=utf-8",
64
- "etag": '"1cd2d-v8OYwJ68udQ+6TH6JqQs0Y2sohY"',
65
- "mtime": "2026-07-14T03:53:14.176Z",
66
- "size": 118061,
67
- "path": "../public/assets/index-BWWA1Rf6.js"
85
+ "etag": '"17b79-t/Wd2ljL77fk1rMd6HlIIvtSvs0"',
86
+ "mtime": "2026-07-14T08:31:05.290Z",
87
+ "size": 97145,
88
+ "path": "../public/assets/jszip.min-BWEzkSYW.js"
68
89
  },
69
90
  "/assets/qwen-mMn3f5ul.webp": {
70
91
  "type": "image/webp",
71
92
  "etag": '"1b1a-Tw+b2ynhJQl9WztaK3ajSL85yaU"',
72
- "mtime": "2026-07-14T03:53:14.174Z",
93
+ "mtime": "2026-07-14T08:31:05.290Z",
73
94
  "size": 6938,
74
95
  "path": "../public/assets/qwen-mMn3f5ul.webp"
75
96
  },
76
- "/assets/alibaba-TTwafVwX.svg": {
77
- "type": "image/svg+xml",
78
- "etag": '"171b-6dyV5K8QjiaY35sN9qNprh9zDIs"',
79
- "mtime": "2026-07-14T03:53:14.174Z",
80
- "size": 5915,
81
- "path": "../public/assets/alibaba-TTwafVwX.svg"
82
- },
83
- "/assets/ReplayDialog-CnYt4UKE.js": {
97
+ "/assets/ReplayDialog-CwaZnm2I.js": {
84
98
  "type": "text/javascript; charset=utf-8",
85
- "etag": '"3294-DZIs5O1uxyhHqSpm1Nj9SmeHd8A"',
86
- "mtime": "2026-07-14T03:53:14.176Z",
99
+ "etag": '"3294-NVBiDGe2ya49FqwxO0UTd+u4/q0"',
100
+ "mtime": "2026-07-14T08:31:05.290Z",
87
101
  "size": 12948,
88
- "path": "../public/assets/ReplayDialog-CnYt4UKE.js"
102
+ "path": "../public/assets/ReplayDialog-CwaZnm2I.js"
89
103
  },
90
- "/assets/RequestAnatomy-BI25al3m.js": {
104
+ "/assets/index-BGsYO6pY.js": {
91
105
  "type": "text/javascript; charset=utf-8",
92
- "etag": '"43f3-RM8LFuBA15IQXWLr88wi52YcAWI"',
93
- "mtime": "2026-07-14T03:53:14.176Z",
94
- "size": 17395,
95
- "path": "../public/assets/RequestAnatomy-BI25al3m.js"
96
- },
97
- "/assets/minimax-BPMzvuL-.jpeg": {
98
- "type": "image/jpeg",
99
- "etag": '"1b06-IwivU89ko5UTMUM1/t7hn4sQK9A"',
100
- "mtime": "2026-07-14T03:53:14.174Z",
101
- "size": 6918,
102
- "path": "../public/assets/minimax-BPMzvuL-.jpeg"
106
+ "etag": '"5cadb-hwwwldXnUiU4+2SWCG5Y3LSxALc"',
107
+ "mtime": "2026-07-14T08:31:05.290Z",
108
+ "size": 379611,
109
+ "path": "../public/assets/index-BGsYO6pY.js"
103
110
  },
104
- "/assets/ResponseView-D3y-I9nb.js": {
111
+ "/assets/ResponseView-B63ljLZR.js": {
105
112
  "type": "text/javascript; charset=utf-8",
106
- "etag": '"44d3-euvhxYdsBi/beKhgqJM3gyyhv3A"',
107
- "mtime": "2026-07-14T03:53:14.176Z",
113
+ "etag": '"44d3-QWbF1nOCeK5vm1ZZDfYTYBnWccA"',
114
+ "mtime": "2026-07-14T08:31:05.291Z",
108
115
  "size": 17619,
109
- "path": "../public/assets/ResponseView-D3y-I9nb.js"
110
- },
111
- "/assets/StreamingChunkSequence-n90dYzPp.js": {
112
- "type": "text/javascript; charset=utf-8",
113
- "etag": '"e96-VHotWTR7OtDjSw/Ww+WwxwXCzkk"',
114
- "mtime": "2026-07-14T03:53:14.176Z",
115
- "size": 3734,
116
- "path": "../public/assets/StreamingChunkSequence-n90dYzPp.js"
116
+ "path": "../public/assets/ResponseView-B63ljLZR.js"
117
117
  },
118
- "/assets/json-viewer-BoB2BfHg.js": {
118
+ "/assets/RequestAnatomy-CF-q-pAd.js": {
119
119
  "type": "text/javascript; charset=utf-8",
120
- "etag": '"1ae2-2kE3n3KakGmXMRIQ9QCbo1wG/BI"',
121
- "mtime": "2026-07-14T03:53:14.176Z",
122
- "size": 6882,
123
- "path": "../public/assets/json-viewer-BoB2BfHg.js"
120
+ "etag": '"43f3-uFQLoBfx54+dFVtIBqPthBoL1cc"',
121
+ "mtime": "2026-07-14T08:31:05.291Z",
122
+ "size": 17395,
123
+ "path": "../public/assets/RequestAnatomy-CF-q-pAd.js"
124
124
  },
125
- "/assets/_sessionId-CogrNhCS.js": {
125
+ "/assets/_sessionId-CXIp9Ho8.js": {
126
126
  "type": "text/javascript; charset=utf-8",
127
- "etag": '"36d-lqKPoXrMH1oEj7DmcEqJlPc/M40"',
128
- "mtime": "2026-07-14T03:53:14.176Z",
127
+ "etag": '"36d-y7LORANFQJF7cBdLJPSCkB2OVH4"',
128
+ "mtime": "2026-07-14T08:31:05.290Z",
129
129
  "size": 877,
130
- "path": "../public/assets/_sessionId-CogrNhCS.js"
130
+ "path": "../public/assets/_sessionId-CXIp9Ho8.js"
131
131
  },
132
132
  "/assets/zhipuai-BPNAnxo-.svg": {
133
133
  "type": "image/svg+xml",
134
134
  "etag": '"2bf8-hNaLCTi89nOFCsIIfWpP/jrfo0s"',
135
- "mtime": "2026-07-14T03:53:14.174Z",
135
+ "mtime": "2026-07-14T08:31:05.289Z",
136
136
  "size": 11256,
137
137
  "path": "../public/assets/zhipuai-BPNAnxo-.svg"
138
138
  },
139
- "/assets/_sessionId-DLbOYm3h.js": {
139
+ "/assets/StreamingChunkSequence-DLEG6OSP.js": {
140
140
  "type": "text/javascript; charset=utf-8",
141
- "etag": '"a2-r79VFe05VE6gyf1WJmU+UG8Bkxo"',
142
- "mtime": "2026-07-14T03:53:14.176Z",
143
- "size": 162,
144
- "path": "../public/assets/_sessionId-DLbOYm3h.js"
141
+ "etag": '"e96-tGOKQ91MC2YgrCxFyMAT7CWoPWc"',
142
+ "mtime": "2026-07-14T08:31:05.291Z",
143
+ "size": 3734,
144
+ "path": "../public/assets/StreamingChunkSequence-DLEG6OSP.js"
145
145
  },
146
- "/assets/jszip.min-CAXkxQd6.js": {
146
+ "/assets/_sessionId-DeyIs1qC.js": {
147
147
  "type": "text/javascript; charset=utf-8",
148
- "etag": '"17b79-8Zo6xmGJHyAqsPuw65svRYTfp6o"',
149
- "mtime": "2026-07-14T03:53:14.176Z",
150
- "size": 97145,
151
- "path": "../public/assets/jszip.min-CAXkxQd6.js"
148
+ "etag": '"a2-Q5NjcJmIjOPh6T8wz7op58Edrcs"',
149
+ "mtime": "2026-07-14T08:31:05.290Z",
150
+ "size": 162,
151
+ "path": "../public/assets/_sessionId-DeyIs1qC.js"
152
152
  },
153
- "/assets/InspectorPet-CpQEXKcr.js": {
153
+ "/assets/InspectorPet-ChiA4cY-.js": {
154
154
  "type": "text/javascript; charset=utf-8",
155
- "etag": '"818f0-zE1mqJ5torVKj33nnp5vwSgHgs8"',
156
- "mtime": "2026-07-14T03:53:14.176Z",
155
+ "etag": '"818f0-/p/1mHNWT1Dflt2IJNLJ2Qy7mKg"',
156
+ "mtime": "2026-07-14T08:31:05.291Z",
157
157
  "size": 530672,
158
- "path": "../public/assets/InspectorPet-CpQEXKcr.js"
158
+ "path": "../public/assets/InspectorPet-ChiA4cY-.js"
159
159
  },
160
- "/assets/ProxyViewerContainer-8pNJsCJ5.js": {
160
+ "/assets/ProxyViewerContainer-DeEbzT2N.js": {
161
161
  "type": "text/javascript; charset=utf-8",
162
- "etag": '"a512e-05fSCkKSYAYLqEr0dAUWWwSlR/A"',
163
- "mtime": "2026-07-14T03:53:14.176Z",
164
- "size": 676142,
165
- "path": "../public/assets/ProxyViewerContainer-8pNJsCJ5.js"
162
+ "etag": '"a523b-1Jjc+fgnQpLPD77hu6e1+BwHKp8"',
163
+ "mtime": "2026-07-14T08:31:05.291Z",
164
+ "size": 676411,
165
+ "path": "../public/assets/ProxyViewerContainer-DeEbzT2N.js"
166
166
  }
167
167
  };
168
168
  function readAsset(id) {