@tonyclaw/agent-inspector 3.0.28 → 3.0.29

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 (32) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/{CompareDrawer-TghZr5t1.js → CompareDrawer-Cb5ccPeX.js} +1 -1
  3. package/.output/public/assets/{ProxyViewerContainer-fShBAZjj.js → ProxyViewerContainer-COBe5GTT.js} +32 -32
  4. package/.output/public/assets/{ReplayDialog-CZMApaF4.js → ReplayDialog-CctnITbt.js} +1 -1
  5. package/.output/public/assets/{RequestAnatomy-DNWccR7O.js → RequestAnatomy-BrN0RBbL.js} +1 -1
  6. package/.output/public/assets/{ResponseView-d25MdFhY.js → ResponseView-Cqq87lX_.js} +2 -2
  7. package/.output/public/assets/{StreamingChunkSequence-DIFZEnWe.js → StreamingChunkSequence-CnTa9mCr.js} +1 -1
  8. package/.output/public/assets/{_sessionId-DRfvuE2k.js → _sessionId-DKM91udC.js} +1 -1
  9. package/.output/public/assets/{index-D4HkS7Ct.js → index-Bq-nqolG.js} +1 -1
  10. package/.output/public/assets/{index-B3aAuqWq.js → index-DPiESBo2.js} +1 -1
  11. package/.output/public/assets/{index-DzARL2Fi.js → index-DTLNVcgc.js} +7 -7
  12. package/.output/public/assets/index-DliqmwUw.css +1 -0
  13. package/.output/public/assets/{json-viewer-wuJSKaed.js → json-viewer-CfaDJwx8.js} +1 -1
  14. package/.output/server/{_sessionId-BJTNiP_O.mjs → _sessionId-CwGXPD4C.mjs} +2 -2
  15. package/.output/server/_ssr/{CompareDrawer-BMRH3N97.mjs → CompareDrawer-R_P1-VNr.mjs} +2 -2
  16. package/.output/server/_ssr/{ProxyViewerContainer-AFwcHAIR.mjs → ProxyViewerContainer-DUgxRNbj.mjs} +80 -67
  17. package/.output/server/_ssr/{ReplayDialog-CbWvRHiN.mjs → ReplayDialog-De9wKKzS.mjs} +3 -3
  18. package/.output/server/_ssr/{RequestAnatomy-C4kcPyqN.mjs → RequestAnatomy-Db4MxUYo.mjs} +2 -2
  19. package/.output/server/_ssr/{ResponseView-D8VYt-gZ.mjs → ResponseView-8rDXOiNB.mjs} +2 -2
  20. package/.output/server/_ssr/{StreamingChunkSequence-BUUo6vU0.mjs → StreamingChunkSequence-N9teZHkA.mjs} +2 -2
  21. package/.output/server/_ssr/{index-DTwMEEXO.mjs → index-D4DvByuW.mjs} +2 -2
  22. package/.output/server/_ssr/index.mjs +2 -2
  23. package/.output/server/_ssr/{json-viewer-BqF1pSQD.mjs → json-viewer-BjoHRbjS.mjs} +2 -2
  24. package/.output/server/_ssr/{router-C8BOns7y.mjs → router-BYlePDj8.mjs} +4 -4
  25. package/.output/server/{_tanstack-start-manifest_v-BBf2nRhb.mjs → _tanstack-start-manifest_v-DMCA8KK3.mjs} +1 -1
  26. package/.output/server/index.mjs +70 -70
  27. package/package.json +1 -1
  28. package/src/components/clients/ClientLogo.tsx +9 -6
  29. package/src/components/proxy-viewer/ConversationGroupList.tsx +49 -34
  30. package/src/components/proxy-viewer/ConversationHeader.tsx +22 -18
  31. package/src/lib/utils.ts +5 -1
  32. package/.output/public/assets/index-BsxAGqMA.css +0 -1
@@ -1,5 +1,5 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports, R as React } from "../_libs/react.mjs";
2
- import { C as CapturedLogSchema, B as DeleteInspectorGroupsResponseSchema, D as DEFAULT_CAPTURE_MODE, a as DEFAULT_SLOW_RESPONSE_THRESHOLD_SECONDS, b as DEFAULT_PROVIDER_TEST_TIMEOUT_SECONDS, c as DEFAULT_TIME_DISPLAY_FORMAT, d as RuntimeConfigSchema, g as readStoredUiScalePreference, h as persistUiScalePreference, j as applyUiScalePreference, x as extractStopReason, p as packageJson, P as ProviderConfigSchema, U as UI_SCALE_STORAGE_KEY, k as normalizeUiScalePreference, t as apiFormatForPath, E as GroupEvidenceExportResultSchema, F as DeleteInspectorGroupResponseSchema, $ as PiAgentResponseSchema, w as isTurnBoundary, r as readStoredThemeMode, e as applyThemeMode, f as persistThemeMode, a2 as formatUiScale, y as AlertSummarySchema, z as AlertListResponseSchema, I as InspectorGroupsListResponseSchema, G as GroupEvidenceReadResponseSchema, V as createPendingProviderTestResults, W as ProviderTestResultsSchema, X as createFailedProviderTestResults, Y as MAX_SLOW_RESPONSE_THRESHOLD_SECONDS, Z as MAX_PROVIDER_TEST_TIMEOUT_SECONDS, _ as TimeDisplayFormatSchema, i as isRecord, T as THEME_MODE_STORAGE_KEY, n as normalizeThemeMode, M as PATH_V1_MESSAGES, N as PATH_V1_CHAT_COMPLETIONS, Q as PATH_V1_RESPONSES, H as providerHasContextMetadata, m as parseOpenAIResponse, o as parseOpenAIResponsesResponse, O as OpenAIRequestSchema, q as OpenAIResponsesRequestSchema, A as AnthropicResponseSchema$1, l as AnthropicRequestSchema, s as safeGetOwnProperty, a0 as resolveProviderContextWindow, u as getSessionPath, J as findProviderModelMetadata, S as previewUpstreamUrl, K as KnowledgeCandidateSchema, a1 as isPlainRecord, v as stripClaudeCodeBillingHeader, L as LogBodyChunkSchema } from "./router-C8BOns7y.mjs";
2
+ import { C as CapturedLogSchema, B as DeleteInspectorGroupsResponseSchema, D as DEFAULT_CAPTURE_MODE, a as DEFAULT_SLOW_RESPONSE_THRESHOLD_SECONDS, b as DEFAULT_PROVIDER_TEST_TIMEOUT_SECONDS, c as DEFAULT_TIME_DISPLAY_FORMAT, d as RuntimeConfigSchema, g as readStoredUiScalePreference, h as persistUiScalePreference, j as applyUiScalePreference, x as extractStopReason, p as packageJson, P as ProviderConfigSchema, U as UI_SCALE_STORAGE_KEY, k as normalizeUiScalePreference, t as apiFormatForPath, E as GroupEvidenceExportResultSchema, F as DeleteInspectorGroupResponseSchema, $ as PiAgentResponseSchema, w as isTurnBoundary, r as readStoredThemeMode, e as applyThemeMode, f as persistThemeMode, a2 as formatUiScale, y as AlertSummarySchema, z as AlertListResponseSchema, I as InspectorGroupsListResponseSchema, G as GroupEvidenceReadResponseSchema, V as createPendingProviderTestResults, W as ProviderTestResultsSchema, X as createFailedProviderTestResults, Y as MAX_SLOW_RESPONSE_THRESHOLD_SECONDS, Z as MAX_PROVIDER_TEST_TIMEOUT_SECONDS, _ as TimeDisplayFormatSchema, i as isRecord, T as THEME_MODE_STORAGE_KEY, n as normalizeThemeMode, M as PATH_V1_MESSAGES, N as PATH_V1_CHAT_COMPLETIONS, Q as PATH_V1_RESPONSES, H as providerHasContextMetadata, m as parseOpenAIResponse, o as parseOpenAIResponsesResponse, O as OpenAIRequestSchema, q as OpenAIResponsesRequestSchema, A as AnthropicResponseSchema$1, l as AnthropicRequestSchema, s as safeGetOwnProperty, a0 as resolveProviderContextWindow, u as getSessionPath, J as findProviderModelMetadata, S as previewUpstreamUrl, K as KnowledgeCandidateSchema, a1 as isPlainRecord, v as stripClaudeCodeBillingHeader, L as LogBodyChunkSchema } from "./router-BYlePDj8.mjs";
3
3
  import { u as useSWR, a as useSWRConfig } from "../_libs/swr.mjs";
4
4
  import { J as JSZip } from "../_libs/jszip.mjs";
5
5
  import { c as clsx } from "../_libs/clsx.mjs";
@@ -566,7 +566,11 @@ function cn(...inputs) {
566
566
  return twMerge(clsx(inputs));
567
567
  }
568
568
  function formatTokens(count) {
569
- if (count >= 1e6) return (count / 1e6).toFixed(1).replace(/\.0$/, "") + "M";
569
+ const absoluteCount = Math.abs(count);
570
+ if (absoluteCount < 1e3) return String(count);
571
+ if (absoluteCount >= 1e6) {
572
+ return (count / 1e6).toFixed(1).replace(/\.0$/, "") + "M";
573
+ }
570
574
  return (count / 1e3).toFixed(1).replace(/\.0$/, "") + "K";
571
575
  }
572
576
  function formatContextWindowTokens(count) {
@@ -940,11 +944,11 @@ const CLIENT_LOGOS = {
940
944
  "claude-code": ClaudeCodeLogoSvg
941
945
  };
942
946
  const CLIENT_LOGO_FRAMES = {
943
- "agent-inspector": "border-orange-200/25 bg-orange-300/[0.12]",
944
- codex: "border-cyan-200/20 bg-cyan-300/[0.08]",
945
- opencode: "border-sky-200/25 bg-sky-300/[0.12]",
946
- "mimo-code": "border-orange-200/25 bg-orange-400/[0.12]",
947
- "claude-code": "border-amber-100/20 bg-amber-300/[0.09]"
947
+ "agent-inspector": "border-orange-700/15 bg-orange-500/[0.08] dark:border-orange-200/25 dark:bg-orange-300/[0.12]",
948
+ codex: "border-cyan-700/15 bg-cyan-500/[0.08] dark:border-cyan-200/20 dark:bg-cyan-300/[0.08]",
949
+ opencode: "border-sky-700/15 bg-sky-500/[0.09] dark:border-sky-200/25 dark:bg-sky-300/[0.12]",
950
+ "mimo-code": "border-orange-700/15 bg-orange-500/[0.09] dark:border-orange-200/25 dark:bg-orange-400/[0.12]",
951
+ "claude-code": "border-amber-700/15 bg-amber-500/[0.08] dark:border-amber-100/20 dark:bg-amber-300/[0.09]"
948
952
  };
949
953
  const CLIENT_LOGO_IMAGES = {
950
954
  "agent-inspector": "p-0.5 drop-shadow-[0_0_8px_rgba(251,146,60,0.35)]",
@@ -966,7 +970,7 @@ function ClientLogo({
966
970
  "span",
967
971
  {
968
972
  className: cn(
969
- "inline-flex size-6 shrink-0 items-center justify-center rounded-md border border-cyan-200/20 bg-cyan-300/[0.08] text-cyan-100 shadow-sm",
973
+ "inline-flex size-6 shrink-0 items-center justify-center rounded-md border border-cyan-700/15 bg-cyan-500/[0.08] text-[var(--inspector-status-cool)] shadow-sm dark:border-cyan-200/20 dark:bg-cyan-300/[0.08]",
970
974
  className
971
975
  ),
972
976
  "aria-label": decorative ? void 0 : label,
@@ -1702,12 +1706,12 @@ function resolveLogFormat(log) {
1702
1706
  const pathFormat = apiFormatForPath(log.path);
1703
1707
  return pathFormat === "unknown" ? log.apiFormat : pathFormat;
1704
1708
  }
1705
- const HEADER_ACTION_BUTTON_CLASS$1 = "bg-white/[0.045] hover:bg-white/[0.075] inline-flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-md text-muted-foreground transition-colors hover:text-foreground";
1709
+ const HEADER_ACTION_BUTTON_CLASS$1 = "inline-flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-md bg-[var(--inspector-surface-low)] text-muted-foreground transition-colors hover:bg-[var(--inspector-surface-medium)] hover:text-foreground";
1706
1710
  function isSyntheticSessionId(conversationId) {
1707
1711
  return conversationId.startsWith("PID:") || conversationId.startsWith("process:") || conversationId.startsWith("connection:") || conversationId.includes("|");
1708
1712
  }
1709
1713
  function compactSessionLabel(conversationId) {
1710
- if (isSyntheticSessionId(conversationId)) return "Sessionless";
1714
+ if (isSyntheticSessionId(conversationId)) return "No session ID";
1711
1715
  return conversationId.length > 24 ? `${conversationId.slice(0, 12)}...${conversationId.slice(-12)}` : conversationId;
1712
1716
  }
1713
1717
  function HeaderMetric({
@@ -1720,7 +1724,7 @@ function HeaderMetric({
1720
1724
  "span",
1721
1725
  {
1722
1726
  className: cn(
1723
- "bg-white/[0.045] inline-flex h-7 min-w-0 items-center gap-1.5 rounded-md px-2 text-xs text-muted-foreground",
1727
+ "inline-flex h-7 min-w-0 items-center gap-1.5 rounded-md bg-[var(--inspector-surface-low)] px-2 text-xs text-muted-foreground",
1724
1728
  className
1725
1729
  ),
1726
1730
  title,
@@ -1735,7 +1739,7 @@ function PendingTurnBadge() {
1735
1739
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
1736
1740
  "span",
1737
1741
  {
1738
- className: "inline-flex h-6 shrink-0 items-center gap-1.5 rounded-md bg-amber-300/[0.10] px-1.5 font-mono text-[10px] uppercase text-amber-100/90 ring-1 ring-amber-200/10",
1742
+ className: "inline-flex h-6 shrink-0 items-center gap-1.5 rounded-md bg-[var(--inspector-surface-medium)] px-1.5 font-mono text-[10px] uppercase text-[var(--inspector-status-watch)] ring-1 ring-border/50",
1739
1743
  title: "This session has a turn that has not finished yet",
1740
1744
  children: [
1741
1745
  /* @__PURE__ */ jsxRuntimeExports.jsx(LoaderCircle, { className: "size-3 animate-spin" }),
@@ -1797,11 +1801,11 @@ function ConversationHeader({
1797
1801
  "data-nav-id": `conv-${conversationId}`,
1798
1802
  "data-nav-action": expanded ? "collapse" : "expand",
1799
1803
  className: cn(
1800
- "bg-black/[0.10] relative flex cursor-pointer items-start gap-2.5 overflow-hidden rounded-[8px] px-3 py-2.5 transition-colors",
1801
- "hover:bg-black/[0.16]",
1804
+ "relative flex cursor-pointer items-start gap-2.5 overflow-hidden rounded-md bg-[var(--inspector-surface-low)] px-3 py-2.5 transition-colors",
1805
+ "hover:bg-[var(--inspector-surface-medium)]",
1802
1806
  "select-none",
1803
1807
  "sticky top-0 z-10 mb-2",
1804
- "focus-visible:ring-1 focus-visible:ring-cyan-300/35 focus-visible:outline-none"
1808
+ "focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none"
1805
1809
  ),
1806
1810
  onClick: onToggle,
1807
1811
  onKeyDown: (e) => {
@@ -1822,11 +1826,11 @@ function ConversationHeader({
1822
1826
  ),
1823
1827
  /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "min-w-0 flex-1", children: [
1824
1828
  /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1", children: [
1825
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "shrink-0 rounded bg-white/[0.04] px-1.5 py-0.5 font-mono text-[9px] uppercase text-muted-foreground/70", children: "Session" }),
1829
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "shrink-0 rounded bg-[var(--inspector-surface-medium)] px-1.5 py-0.5 font-mono text-[9px] uppercase text-muted-foreground", children: "Session" }),
1826
1830
  isFallbackConversation && showProcessMetadata ? clientPid !== null && clientPid !== void 0 ? /* @__PURE__ */ jsxRuntimeExports.jsxs(
1827
1831
  "span",
1828
1832
  {
1829
- className: "min-w-0 max-w-full truncate font-mono text-xs font-semibold text-slate-100",
1833
+ className: "min-w-0 max-w-full truncate font-mono text-xs font-semibold text-foreground",
1830
1834
  title: `PID ${clientPid}`,
1831
1835
  children: [
1832
1836
  "PID ",
@@ -1836,14 +1840,14 @@ function ConversationHeader({
1836
1840
  ) : /* @__PURE__ */ jsxRuntimeExports.jsx(
1837
1841
  "span",
1838
1842
  {
1839
- className: "min-w-0 max-w-full truncate font-mono text-xs font-semibold text-slate-100",
1843
+ className: "min-w-0 max-w-full truncate font-mono text-xs font-semibold text-foreground",
1840
1844
  title: conversationId,
1841
1845
  children: conversationId
1842
1846
  }
1843
1847
  ) : /* @__PURE__ */ jsxRuntimeExports.jsx(
1844
1848
  "span",
1845
1849
  {
1846
- className: "min-w-0 max-w-full truncate font-mono text-xs font-semibold text-slate-100",
1850
+ className: "min-w-0 max-w-full truncate font-mono text-xs font-semibold text-foreground",
1847
1851
  title: conversationId,
1848
1852
  children: sessionLabel
1849
1853
  }
@@ -1851,7 +1855,7 @@ function ConversationHeader({
1851
1855
  !isFallbackConversation && showProcessMetadata && clientPid !== null && clientPid !== void 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs(
1852
1856
  "span",
1853
1857
  {
1854
- className: "bg-white/[0.045] shrink-0 rounded px-1.5 py-0.5 font-mono text-xs tabular-nums text-muted-foreground",
1858
+ className: "shrink-0 rounded bg-[var(--inspector-surface-medium)] px-1.5 py-0.5 font-mono text-xs tabular-nums text-muted-foreground",
1855
1859
  title: `Client process ID ${clientPid}`,
1856
1860
  children: [
1857
1861
  "PID ",
@@ -1870,7 +1874,7 @@ function ConversationHeader({
1870
1874
  showClientIdentity && clientDisplayLabel !== null && clientDisplayLabel !== "" && /* @__PURE__ */ jsxRuntimeExports.jsxs(
1871
1875
  "span",
1872
1876
  {
1873
- className: "bg-white/[0.045] inline-flex min-h-6 shrink-0 flex-wrap items-center gap-1 rounded-md px-1.5 py-0.5 text-xs text-muted-foreground",
1877
+ className: "inline-flex min-h-6 shrink-0 flex-wrap items-center gap-1 rounded-md bg-[var(--inspector-surface-medium)] px-1.5 py-0.5 text-xs text-muted-foreground",
1874
1878
  title: clientTooltip ?? clientDisplayLabel,
1875
1879
  children: [
1876
1880
  /* @__PURE__ */ jsxRuntimeExports.jsx(ClientLogo, { client: clientApp, className: "size-4 shrink-0", decorative: true }),
@@ -1884,9 +1888,9 @@ function ConversationHeader({
1884
1888
  /* @__PURE__ */ jsxRuntimeExports.jsx(HeaderMetric, { icon: /* @__PURE__ */ jsxRuntimeExports.jsx(Clock, { className: "size-3 shrink-0" }), title: timeLabel, children: timeLabel }),
1885
1889
  /* @__PURE__ */ jsxRuntimeExports.jsx(HeaderMetric, { icon: /* @__PURE__ */ jsxRuntimeExports.jsx(MessageSquare, { className: "size-3 shrink-0" }), children: callsLabel }),
1886
1890
  /* @__PURE__ */ jsxRuntimeExports.jsxs(HeaderMetric, { icon: /* @__PURE__ */ jsxRuntimeExports.jsx(Zap, { className: "size-3 shrink-0" }), className: "max-w-full", children: [
1887
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-blue-400", children: formatTokens(totalInputTokens) }),
1891
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[var(--inspector-status-info)]", children: formatTokens(totalInputTokens) }),
1888
1892
  " / ",
1889
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-amber-400", children: formatTokens(totalOutputTokens) })
1893
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[var(--inspector-status-watch)]", children: formatTokens(totalOutputTokens) })
1890
1894
  ] })
1891
1895
  ] })
1892
1896
  ] }),
@@ -1921,7 +1925,7 @@ function ConversationHeader({
1921
1925
  /* @__PURE__ */ jsxRuntimeExports.jsx(
1922
1926
  "span",
1923
1927
  {
1924
- className: "bg-white/[0.045] hover:bg-white/[0.075] inline-flex size-8 shrink-0 items-center justify-center rounded-md text-slate-200",
1928
+ className: "inline-flex size-8 shrink-0 items-center justify-center rounded-md bg-[var(--inspector-surface-low)] text-muted-foreground transition-colors hover:bg-[var(--inspector-surface-medium)] hover:text-foreground",
1925
1929
  "aria-hidden": "true",
1926
1930
  children: expanded ? /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDown, { className: "size-4 shrink-0" }) : isLoading ? /* @__PURE__ */ jsxRuntimeExports.jsx(LoaderCircle, { className: "size-4 shrink-0 animate-spin" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronRight, { className: "size-4 shrink-0" })
1927
1931
  }
@@ -1930,9 +1934,9 @@ function ConversationHeader({
1930
1934
  isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx(
1931
1935
  "span",
1932
1936
  {
1933
- className: "pointer-events-none absolute inset-x-3 bottom-0 h-px overflow-hidden rounded-full bg-white/[0.06]",
1937
+ className: "pointer-events-none absolute inset-x-3 bottom-0 h-px overflow-hidden rounded-full bg-[var(--inspector-surface-medium)]",
1934
1938
  "aria-hidden": "true",
1935
- children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "absolute inset-y-0 left-0 w-1/3 animate-pulse rounded-full bg-amber-200/65 shadow-[0_0_14px_rgba(252,211,77,0.32)]" })
1939
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "absolute inset-y-0 left-0 w-1/3 animate-pulse rounded-full bg-[var(--inspector-status-watch)] opacity-70" })
1936
1940
  }
1937
1941
  ),
1938
1942
  /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -2565,27 +2569,27 @@ function useCopyFeedback(text) {
2565
2569
  return { copied, copy };
2566
2570
  }
2567
2571
  const LazyCompareDrawer = reactExports.lazy(
2568
- () => import("./CompareDrawer-BMRH3N97.mjs").then((m) => ({ default: m.CompareDrawer }))
2572
+ () => import("./CompareDrawer-R_P1-VNr.mjs").then((m) => ({ default: m.CompareDrawer }))
2569
2573
  );
2570
2574
  const LazyReplayDialog = reactExports.lazy(
2571
- () => import("./ReplayDialog-CbWvRHiN.mjs").then((m) => ({ default: m.ReplayDialog }))
2575
+ () => import("./ReplayDialog-De9wKKzS.mjs").then((m) => ({ default: m.ReplayDialog }))
2572
2576
  );
2573
2577
  const LazyRequestAnatomy = reactExports.lazy(
2574
- () => import("./RequestAnatomy-C4kcPyqN.mjs").then((m) => ({ default: m.RequestAnatomy }))
2578
+ () => import("./RequestAnatomy-Db4MxUYo.mjs").then((m) => ({ default: m.RequestAnatomy }))
2575
2579
  );
2576
2580
  const LazyResponseView = reactExports.lazy(
2577
- () => import("./ResponseView-D8VYt-gZ.mjs").then((m) => ({ default: m.ResponseView }))
2581
+ () => import("./ResponseView-8rDXOiNB.mjs").then((m) => ({ default: m.ResponseView }))
2578
2582
  );
2579
2583
  const LazyStreamingChunkSequence = reactExports.lazy(
2580
- () => import("./StreamingChunkSequence-BUUo6vU0.mjs").then((m) => ({
2584
+ () => import("./StreamingChunkSequence-N9teZHkA.mjs").then((m) => ({
2581
2585
  default: m.StreamingChunkSequence
2582
2586
  }))
2583
2587
  );
2584
2588
  const LazyJsonViewer = reactExports.lazy(
2585
- () => import("./json-viewer-BqF1pSQD.mjs").then((m) => ({ default: m.JsonViewer }))
2589
+ () => import("./json-viewer-BjoHRbjS.mjs").then((m) => ({ default: m.JsonViewer }))
2586
2590
  );
2587
2591
  const LazyJsonViewerFromString = reactExports.lazy(
2588
- () => import("./json-viewer-BqF1pSQD.mjs").then((m) => ({ default: m.JsonViewerFromString }))
2592
+ () => import("./json-viewer-BjoHRbjS.mjs").then((m) => ({ default: m.JsonViewerFromString }))
2589
2593
  );
2590
2594
  const HIGHLIGHT_DURATION_MS = 1200;
2591
2595
  const MAX_HIGHLIGHT_ATTEMPTS = 12;
@@ -13468,13 +13472,15 @@ function countSessions(processes) {
13468
13472
  return sessions;
13469
13473
  }
13470
13474
  function readStoredIdSet(storageKey) {
13471
- if (typeof window === "undefined") return /* @__PURE__ */ new Set();
13475
+ if (typeof window === "undefined") return null;
13472
13476
  try {
13473
- const parsed = JSON.parse(window.localStorage.getItem(storageKey) ?? "[]");
13474
- if (!Array.isArray(parsed)) return /* @__PURE__ */ new Set();
13477
+ const storedValue = window.localStorage.getItem(storageKey);
13478
+ if (storedValue === null) return null;
13479
+ const parsed = JSON.parse(storedValue);
13480
+ if (!Array.isArray(parsed)) return null;
13475
13481
  return new Set(parsed.filter((value) => typeof value === "string"));
13476
13482
  } catch {
13477
- return /* @__PURE__ */ new Set();
13483
+ return null;
13478
13484
  }
13479
13485
  }
13480
13486
  function persistIdSet(storageKey, values) {
@@ -13491,6 +13497,18 @@ function removeIds(values, ids) {
13491
13497
  }
13492
13498
  return changed ? next : values;
13493
13499
  }
13500
+ function buildDefaultCollapsedProcessIds(hierarchy) {
13501
+ const collapsedIds = /* @__PURE__ */ new Set();
13502
+ for (const clientGroup of hierarchy) {
13503
+ for (let index = 1; index < clientGroup.processes.length; index++) {
13504
+ const processGroup = clientGroup.processes[index];
13505
+ if (processGroup !== void 0 && !hasPendingLogs(processGroup.logs)) {
13506
+ collapsedIds.add(processGroup.id);
13507
+ }
13508
+ }
13509
+ }
13510
+ return collapsedIds;
13511
+ }
13494
13512
  function shortProjectPath(projectFolder) {
13495
13513
  if (projectFolder === null || projectFolder === "") return null;
13496
13514
  const parts = projectFolder.replaceAll("\\", "/").split("/").filter((part) => part !== "");
@@ -13509,12 +13527,12 @@ function SummaryChip({
13509
13527
  "span",
13510
13528
  {
13511
13529
  className: cn(
13512
- "bg-white/[0.04] inline-flex h-7 items-center gap-1 rounded-md px-2 text-xs text-muted-foreground",
13530
+ "inline-flex h-7 items-center gap-1 rounded-md bg-[var(--inspector-surface-low)] px-2 text-xs text-muted-foreground",
13513
13531
  className
13514
13532
  ),
13515
13533
  children: [
13516
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-mono text-[10px] uppercase text-white/35", children: label }),
13517
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-mono tabular-nums text-slate-100", children: value })
13534
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-mono text-[10px] uppercase text-muted-foreground/70", children: label }),
13535
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-mono tabular-nums text-foreground", children: value })
13518
13536
  ]
13519
13537
  }
13520
13538
  );
@@ -13524,12 +13542,12 @@ function AncestorActivityIndicator({ count }) {
13524
13542
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
13525
13543
  "span",
13526
13544
  {
13527
- className: "relative inline-flex size-6 shrink-0 items-center justify-center rounded-md bg-amber-300/[0.08] text-amber-100/90 ring-1 ring-amber-200/10",
13545
+ className: "relative inline-flex size-6 shrink-0 items-center justify-center rounded-md bg-[var(--inspector-surface-medium)] text-[var(--inspector-status-watch)] ring-1 ring-border/50",
13528
13546
  "aria-label": label,
13529
13547
  title: label,
13530
13548
  children: [
13531
13549
  /* @__PURE__ */ jsxRuntimeExports.jsx(LoaderCircle, { className: "size-3 animate-spin" }),
13532
- count > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "absolute translate-x-2 -translate-y-2 rounded bg-background px-0.5 font-mono text-[8px] tabular-nums text-amber-100", children: count })
13550
+ count > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "absolute translate-x-2 -translate-y-2 rounded bg-card px-0.5 font-mono text-[8px] tabular-nums text-[var(--inspector-status-watch)]", children: count })
13533
13551
  ]
13534
13552
  }
13535
13553
  );
@@ -13543,12 +13561,14 @@ function ConversationGroupList({
13543
13561
  () => /* @__PURE__ */ new Set()
13544
13562
  );
13545
13563
  const [collapsedProcessIds, setCollapsedProcessIds] = reactExports.useState(
13546
- () => /* @__PURE__ */ new Set()
13564
+ () => buildDefaultCollapsedProcessIds(hierarchy)
13547
13565
  );
13548
13566
  const [storedCollapseStateLoaded, setStoredCollapseStateLoaded] = reactExports.useState(false);
13549
13567
  reactExports.useEffect(() => {
13550
- setCollapsedClientIds(readStoredIdSet(COLLAPSED_CLIENTS_STORAGE_KEY));
13551
- setCollapsedProcessIds(readStoredIdSet(COLLAPSED_PROCESSES_STORAGE_KEY));
13568
+ const storedClientIds = readStoredIdSet(COLLAPSED_CLIENTS_STORAGE_KEY);
13569
+ const storedProcessIds = readStoredIdSet(COLLAPSED_PROCESSES_STORAGE_KEY);
13570
+ if (storedClientIds !== null) setCollapsedClientIds(storedClientIds);
13571
+ if (storedProcessIds !== null) setCollapsedProcessIds(storedProcessIds);
13552
13572
  setStoredCollapseStateLoaded(true);
13553
13573
  }, []);
13554
13574
  reactExports.useEffect(() => {
@@ -13620,8 +13640,8 @@ function ClientGroupSection({
13620
13640
  "section",
13621
13641
  {
13622
13642
  className: cn(
13623
- "bg-card/60 relative isolate overflow-hidden rounded-[8px] shadow-sm",
13624
- isWorking && "bg-card/70"
13643
+ "relative isolate overflow-hidden rounded-[8px] bg-card/65",
13644
+ isWorking && "bg-card/80"
13625
13645
  ),
13626
13646
  "data-ide-group": group.id,
13627
13647
  children: [
@@ -13629,29 +13649,22 @@ function ClientGroupSection({
13629
13649
  "button",
13630
13650
  {
13631
13651
  type: "button",
13632
- className: "grid w-full min-w-0 grid-cols-[2.25rem_minmax(0,1fr)_auto] items-center gap-2.5 px-3 py-2.5 text-left transition-colors hover:bg-white/[0.025] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-cyan-300/40",
13652
+ className: "grid w-full min-w-0 grid-cols-[2.25rem_minmax(0,1fr)_auto] items-center gap-2.5 px-3 py-2.5 text-left transition-colors hover:bg-[var(--inspector-surface-low)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
13633
13653
  onClick: onToggleClient,
13634
13654
  "aria-expanded": !collapsed,
13635
13655
  children: [
13636
- group.client === "unknown" ? /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "bg-white/[0.04] inline-flex size-9 shrink-0 items-center justify-center rounded-md text-slate-300", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Monitor, { className: "size-4" }) }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
13637
- ClientLogo,
13638
- {
13639
- client: group.client,
13640
- className: "size-9 rounded-md text-cyan-100",
13641
- decorative: true
13642
- }
13643
- ),
13656
+ group.client === "unknown" ? /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "inline-flex size-9 shrink-0 items-center justify-center rounded-md bg-[var(--inspector-surface-low)] text-muted-foreground", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Monitor, { className: "size-4" }) }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ClientLogo, { client: group.client, className: "size-9 rounded-md", decorative: true }),
13644
13657
  /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "min-w-0", children: [
13645
13658
  /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "flex min-w-0 items-center gap-2", children: [
13646
13659
  /* @__PURE__ */ jsxRuntimeExports.jsx(
13647
13660
  "span",
13648
13661
  {
13649
- className: "truncate text-sm font-semibold text-slate-50",
13662
+ className: "truncate text-sm font-semibold text-foreground",
13650
13663
  title: group.userAgent ?? group.label,
13651
13664
  children: group.label
13652
13665
  }
13653
13666
  ),
13654
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "rounded bg-cyan-300/[0.05] px-1.5 py-0.5 font-mono text-[9px] uppercase text-cyan-100/70", children: clientAppTypeLabel(group.client) }),
13667
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "rounded bg-[var(--inspector-surface-medium)] px-1.5 py-0.5 font-mono text-[9px] uppercase text-muted-foreground", children: clientAppTypeLabel(group.client) }),
13655
13668
  isWorking && /* @__PURE__ */ jsxRuntimeExports.jsx(AncestorActivityIndicator, { count: pendingTurnCount })
13656
13669
  ] }),
13657
13670
  /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-[11px] text-muted-foreground", children: [
@@ -13676,12 +13689,12 @@ function ClientGroupSection({
13676
13689
  /* @__PURE__ */ jsxRuntimeExports.jsx(SummaryChip, { label: "IN", value: formatTokenCount(totals.inputTokens) }),
13677
13690
  /* @__PURE__ */ jsxRuntimeExports.jsx(SummaryChip, { label: "OUT", value: formatTokenCount(totals.outputTokens) })
13678
13691
  ] }),
13679
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "bg-white/[0.04] hover:bg-white/[0.07] inline-flex size-8 shrink-0 items-center justify-center rounded-md text-slate-300", children: collapsed ? /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronRight, { className: "size-4" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDown, { className: "size-4" }) })
13692
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "inline-flex size-8 shrink-0 items-center justify-center rounded-md bg-[var(--inspector-surface-low)] text-muted-foreground transition-colors group-hover:bg-[var(--inspector-surface-medium)]", children: collapsed ? /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronRight, { className: "size-4" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDown, { className: "size-4" }) })
13680
13693
  ] })
13681
13694
  ]
13682
13695
  }
13683
13696
  ),
13684
- !collapsed && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-1 px-2 pb-2 pt-1", children: group.processes.map((processGroup) => /* @__PURE__ */ jsxRuntimeExports.jsx(
13697
+ !collapsed && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-0.5 px-2 pb-2 pt-0.5", children: group.processes.map((processGroup) => /* @__PURE__ */ jsxRuntimeExports.jsx(
13685
13698
  ProcessGroupSection,
13686
13699
  {
13687
13700
  group: processGroup,
@@ -13707,20 +13720,20 @@ function ProcessGroupSection({
13707
13720
  const logCount = group.logs.length;
13708
13721
  const pendingTurnCount = countPendingTurns(group.logs);
13709
13722
  const isWorking = pendingTurnCount > 0;
13710
- const processLabel = group.clientPid !== null && group.clientPid !== void 0 ? `PID ${group.clientPid}` : "PID unavailable";
13711
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("section", { className: "relative pl-4", children: [
13723
+ const processLabel = group.clientPid !== null && group.clientPid !== void 0 ? `PID ${group.clientPid}` : "Process unavailable";
13724
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("section", { className: "relative pl-3", children: [
13712
13725
  /* @__PURE__ */ jsxRuntimeExports.jsxs(
13713
13726
  "button",
13714
13727
  {
13715
13728
  type: "button",
13716
- className: "bg-black/[0.07] grid w-full min-w-0 grid-cols-[2rem_minmax(0,1fr)_auto] items-center gap-2.5 rounded-md px-2.5 py-2 text-left transition-colors hover:bg-white/[0.03] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-cyan-300/35",
13729
+ className: "grid w-full min-w-0 grid-cols-[2rem_minmax(0,1fr)_auto] items-center gap-2.5 rounded-md bg-[var(--inspector-surface-low)] px-2.5 py-2 text-left transition-colors hover:bg-[var(--inspector-surface-medium)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
13717
13730
  onClick: onToggle,
13718
13731
  "aria-expanded": !collapsed,
13719
13732
  children: [
13720
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "bg-white/[0.04] inline-flex size-8 shrink-0 items-center justify-center rounded-md text-amber-100/85", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Cpu, { className: "size-4" }) }),
13733
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "inline-flex size-8 shrink-0 items-center justify-center text-[var(--inspector-status-watch)]", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Cpu, { className: "size-4" }) }),
13721
13734
  /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "min-w-0", children: [
13722
13735
  /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1", children: [
13723
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-mono text-xs font-semibold tabular-nums text-slate-100", children: processLabel }),
13736
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-mono text-xs font-semibold tabular-nums text-foreground", children: processLabel }),
13724
13737
  isWorking && /* @__PURE__ */ jsxRuntimeExports.jsx(AncestorActivityIndicator, { count: pendingTurnCount }),
13725
13738
  projectLabel !== null && /* @__PURE__ */ jsxRuntimeExports.jsxs(
13726
13739
  "span",
@@ -13751,12 +13764,12 @@ function ProcessGroupSection({
13751
13764
  /* @__PURE__ */ jsxRuntimeExports.jsx(SummaryChip, { label: "IN", value: formatTokenCount(totals.inputTokens) }),
13752
13765
  /* @__PURE__ */ jsxRuntimeExports.jsx(SummaryChip, { label: "OUT", value: formatTokenCount(totals.outputTokens) })
13753
13766
  ] }),
13754
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "bg-white/[0.04] hover:bg-white/[0.07] inline-flex size-7 shrink-0 items-center justify-center rounded-md text-slate-300", children: collapsed ? /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronRight, { className: "size-4" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDown, { className: "size-4" }) })
13767
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "inline-flex size-7 shrink-0 items-center justify-center rounded-md bg-[var(--inspector-surface-low)] text-muted-foreground transition-colors hover:bg-[var(--inspector-surface-medium)]", children: collapsed ? /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronRight, { className: "size-4" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDown, { className: "size-4" }) })
13755
13768
  ] })
13756
13769
  ]
13757
13770
  }
13758
13771
  ),
13759
- !collapsed && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-1.5 pb-1 pl-4 pr-1 pt-1.5", children: group.sessions.map((session) => /* @__PURE__ */ jsxRuntimeExports.jsx(
13772
+ !collapsed && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-1 pb-1 pl-3 pr-1 pt-1", children: group.sessions.map((session) => /* @__PURE__ */ jsxRuntimeExports.jsx(
13760
13773
  ConversationGroup,
13761
13774
  {
13762
13775
  group: session,
@@ -1,7 +1,7 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { u as useProviders, d as fetchJsonWithTimeout, D as Dialog, e as DialogContent, h as DialogHeader, i as DialogTitle, T as Tabs, j as TabsList, k as TabsTrigger, l as TabsContent, m as Button, n as TooltipProvider, o as Tooltip, p as TooltipTrigger, q as TooltipContent, s as dispatchLogFocusRequest, A as ApiTimeoutError } from "./ProxyViewerContainer-AFwcHAIR.mjs";
3
- import { ResponseView } from "./ResponseView-D8VYt-gZ.mjs";
4
- import { C as CapturedLogSchema } from "./router-C8BOns7y.mjs";
2
+ import { u as useProviders, d as fetchJsonWithTimeout, D as Dialog, e as DialogContent, h as DialogHeader, i as DialogTitle, T as Tabs, j as TabsList, k as TabsTrigger, l as TabsContent, m as Button, n as TooltipProvider, o as Tooltip, p as TooltipTrigger, q as TooltipContent, s as dispatchLogFocusRequest, A as ApiTimeoutError } from "./ProxyViewerContainer-DUgxRNbj.mjs";
3
+ import { ResponseView } from "./ResponseView-8rDXOiNB.mjs";
4
+ import { C as CapturedLogSchema } from "./router-BYlePDj8.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import "../_libs/react-dom.mjs";
7
7
  import "node:fs";
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { u as useProviders, t as analyzeContextIntelligence, f as formatTokens, n as TooltipProvider, c as cn, o as Tooltip, p as TooltipTrigger, q as TooltipContent, S as SegmentBar, R as ROLE_COLOR_CLASSES, v as ANATOMY_ROLE_LABELS, w as formatContextWindowTokens, C as CONTEXT_USAGE_THRESHOLDS } from "./ProxyViewerContainer-AFwcHAIR.mjs";
3
- import "./router-C8BOns7y.mjs";
2
+ import { u as useProviders, t as analyzeContextIntelligence, f as formatTokens, n as TooltipProvider, c as cn, o as Tooltip, p as TooltipTrigger, q as TooltipContent, S as SegmentBar, R as ROLE_COLOR_CLASSES, v as ANATOMY_ROLE_LABELS, w as formatContextWindowTokens, C as CONTEXT_USAGE_THRESHOLDS } from "./ProxyViewerContainer-DUgxRNbj.mjs";
3
+ import "./router-BYlePDj8.mjs";
4
4
  import "node:fs";
5
5
  import "node:buffer";
6
6
  import "node:path";
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { g as getLogFormatAdapter, f as formatTokens, c as cn, x as getStatusCategory, B as Badge, y as Collapsible, z as CollapsibleTrigger, E as CollapsibleContent, F as ScrollArea, G as LazyJsonViewer, H as safeJsonValue } from "./ProxyViewerContainer-AFwcHAIR.mjs";
3
- import { s as safeGetOwnProperty } from "./router-C8BOns7y.mjs";
2
+ import { g as getLogFormatAdapter, f as formatTokens, c as cn, x as getStatusCategory, B as Badge, y as Collapsible, z as CollapsibleTrigger, E as CollapsibleContent, F as ScrollArea, G as LazyJsonViewer, H as safeJsonValue } from "./ProxyViewerContainer-DUgxRNbj.mjs";
3
+ import { s as safeGetOwnProperty } from "./router-BYlePDj8.mjs";
4
4
  import "../_libs/jszip.mjs";
5
5
  import "../_libs/react-dom.mjs";
6
6
  import "node:fs";
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { d as fetchJsonWithTimeout, n as TooltipProvider, o as Tooltip, p as TooltipTrigger, B as Badge, q as TooltipContent, G as LazyJsonViewer } from "./ProxyViewerContainer-AFwcHAIR.mjs";
3
- import { a3 as StreamingChunkSchema$1 } from "./router-C8BOns7y.mjs";
2
+ import { d as fetchJsonWithTimeout, n as TooltipProvider, o as Tooltip, p as TooltipTrigger, B as Badge, q as TooltipContent, G as LazyJsonViewer } from "./ProxyViewerContainer-DUgxRNbj.mjs";
3
+ import { a3 as StreamingChunkSchema$1 } from "./router-BYlePDj8.mjs";
4
4
  import "../_libs/jszip.mjs";
5
5
  import "../_libs/react-dom.mjs";
6
6
  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-AFwcHAIR.mjs";
3
- import "./router-C8BOns7y.mjs";
2
+ import { P as ProxyViewerContainer } from "./ProxyViewerContainer-DUgxRNbj.mjs";
3
+ import "./router-BYlePDj8.mjs";
4
4
  import "../_libs/jszip.mjs";
5
5
  import "../_libs/react-dom.mjs";
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-BBf2nRhb.mjs");
88
+ const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-DMCA8KK3.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-C8BOns7y.mjs").then((n) => n.a4),
1165
+ import("./router-BYlePDj8.mjs").then((n) => n.a4),
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 { I as parseJsonText, c as cn, n as TooltipProvider, o as Tooltip, p as TooltipTrigger, q as TooltipContent, b as copyTextToClipboard } from "./ProxyViewerContainer-AFwcHAIR.mjs";
3
- import "./router-C8BOns7y.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-DUgxRNbj.mjs";
3
+ import "./router-BYlePDj8.mjs";
4
4
  import "node:fs";
5
5
  import "node:buffer";
6
6
  import "node:path";
@@ -66,7 +66,7 @@ import "../_libs/immediate.mjs";
66
66
  import "../_libs/setimmediate.mjs";
67
67
  import "../_libs/pako.mjs";
68
68
  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-BsxAGqMA.css";
69
+ const appCss = "/assets/index-DliqmwUw.css";
70
70
  const CHUNK_LOAD_RELOAD_AT_KEY = "agent-inspector.chunkLoadReloadAt";
71
71
  const CHUNK_LOAD_RELOAD_WINDOW_MS = 15e3;
72
72
  const CHUNK_LOAD_FAILURE_PATTERNS = [
@@ -372,7 +372,7 @@ function RootDocument({ children }) {
372
372
  ] })
373
373
  ] });
374
374
  }
375
- const $$splitComponentImporter$1 = () => import("./index-DTwMEEXO.mjs");
375
+ const $$splitComponentImporter$1 = () => import("./index-D4DvByuW.mjs");
376
376
  const Route$L = createFileRoute("/")({
377
377
  ssr: false,
378
378
  component: lazyRouteComponent($$splitComponentImporter$1, "component")
@@ -416,7 +416,7 @@ function decodeSessionIdFromPath(encoded) {
416
416
  function getSessionPath(sessionId) {
417
417
  return `/session/${encodeSessionIdForPath(sessionId)}`;
418
418
  }
419
- const $$splitComponentImporter = () => import("../_sessionId-BJTNiP_O.mjs");
419
+ const $$splitComponentImporter = () => import("../_sessionId-CwGXPD4C.mjs");
420
420
  const Route$K = createFileRoute("/session/$sessionId")({
421
421
  ssr: false,
422
422
  component: lazyRouteComponent($$splitComponentImporter, "component"),
@@ -10366,7 +10366,7 @@ const Route$E = createFileRoute("/api/models")({
10366
10366
  }
10367
10367
  });
10368
10368
  const name = "@tonyclaw/agent-inspector";
10369
- const version = "3.0.28";
10369
+ const version = "3.0.29";
10370
10370
  const packageJson = {
10371
10371
  name,
10372
10372
  version
@@ -1,4 +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-DzARL2Fi.js"], scripts: [{ attrs: { type: "module", async: true, src: "/assets/index-DzARL2Fi.js" } }] }, "/": { filePath: "C:/Users/claw/workspace/agent-inspector/src/routes/index.tsx", children: void 0, preloads: ["/assets/index-D4HkS7Ct.js", "/assets/ProxyViewerContainer-fShBAZjj.js"] }, "/session/$sessionId": { filePath: "C:/Users/claw/workspace/agent-inspector/src/routes/session/$sessionId.tsx", children: void 0, preloads: ["/assets/_sessionId-DRfvuE2k.js", "/assets/ProxyViewerContainer-fShBAZjj.js"] } } });
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-DTLNVcgc.js"], scripts: [{ attrs: { type: "module", async: true, src: "/assets/index-DTLNVcgc.js" } }] }, "/": { filePath: "C:/Users/claw/workspace/agent-inspector/src/routes/index.tsx", children: void 0, preloads: ["/assets/index-Bq-nqolG.js", "/assets/ProxyViewerContainer-COBe5GTT.js"] }, "/session/$sessionId": { filePath: "C:/Users/claw/workspace/agent-inspector/src/routes/session/$sessionId.tsx", children: void 0, preloads: ["/assets/_sessionId-DKM91udC.js", "/assets/ProxyViewerContainer-COBe5GTT.js"] } } });
2
2
  export {
3
3
  tsrStartManifest
4
4
  };