@tonyclaw/llm-inspector 1.19.3 → 1.19.4

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 (30) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/{CompareDrawer-AMCFfwDw.js → CompareDrawer-BdEBCsf4.js} +1 -1
  3. package/.output/public/assets/{ProxyViewerContainer-Bi1QXDYo.js → ProxyViewerContainer-fB4tzYhi.js} +10 -10
  4. package/.output/public/assets/{ReplayDialog-C1x2-73A.js → ReplayDialog-BAZf5kkH.js} +1 -1
  5. package/.output/public/assets/{RequestAnatomy-CBNqMbxo.js → RequestAnatomy-CDeKWFUb.js} +1 -1
  6. package/.output/public/assets/{ResponseView-BsBxYW8b.js → ResponseView-zcykwAih.js} +1 -1
  7. package/.output/public/assets/{StreamingChunkSequence-BjX20-9R.js → StreamingChunkSequence-BQLmasyY.js} +1 -1
  8. package/.output/public/assets/_sessionId-C0R0Kby0.js +1 -0
  9. package/.output/public/assets/{index-Bqi9RAGS.css → index-CSziseTI.css} +1 -1
  10. package/.output/public/assets/index-CttxoDLJ.js +1 -0
  11. package/.output/public/assets/{json-viewer-CyJ5nYhX.js → json-viewer-DIlY59fE.js} +1 -1
  12. package/.output/public/assets/{main-DpODUL6C.js → main-BQH0aL4n.js} +7 -7
  13. package/.output/server/{_sessionId-DJ9Eab2q.mjs → _sessionId-Cx1nCmF9.mjs} +2 -2
  14. package/.output/server/_ssr/{CompareDrawer-CZjtgISX.mjs → CompareDrawer-BWAbcxuc.mjs} +3 -3
  15. package/.output/server/_ssr/{ProxyViewerContainer-PjfpTAwC.mjs → ProxyViewerContainer-CIZhmr5I.mjs} +77 -10
  16. package/.output/server/_ssr/{ReplayDialog-OiEK8Sbt.mjs → ReplayDialog-3TOIktFD.mjs} +4 -4
  17. package/.output/server/_ssr/{RequestAnatomy-DN7d-srT.mjs → RequestAnatomy-THGbi9T0.mjs} +2 -2
  18. package/.output/server/_ssr/{ResponseView-7iJG8mU_.mjs → ResponseView-C9h6-6mm.mjs} +3 -3
  19. package/.output/server/_ssr/{StreamingChunkSequence-DgtV9nLT.mjs → StreamingChunkSequence-C3mKWisH.mjs} +3 -3
  20. package/.output/server/_ssr/{index-YZwFhEEr.mjs → index-DMFL5NAe.mjs} +2 -2
  21. package/.output/server/_ssr/index.mjs +2 -2
  22. package/.output/server/_ssr/{json-viewer-0GHTWO7g.mjs → json-viewer-DzzDudEa.mjs} +2 -2
  23. package/.output/server/_ssr/{router-DCW8d1sw.mjs → router-CwNkbEd-.mjs} +4 -4
  24. package/.output/server/{_tanstack-start-manifest_v-CxTbhyJ_.mjs → _tanstack-start-manifest_v-B-xky_RK.mjs} +1 -1
  25. package/.output/server/index.mjs +69 -69
  26. package/package.json +1 -1
  27. package/src/assets/favicon.svg +13 -0
  28. package/src/components/ui/crab-logo.tsx +50 -0
  29. package/.output/public/assets/_sessionId-DE0J5YHU.js +0 -1
  30. package/.output/public/assets/index-DqgTchf4.js +0 -1
@@ -1,6 +1,6 @@
1
1
  import { j as jsxRuntimeExports } from "./_libs/react.mjs";
2
- import { P as ProxyViewerContainer } from "./_ssr/ProxyViewerContainer-PjfpTAwC.mjs";
3
- import { R as Route$j } from "./_ssr/router-DCW8d1sw.mjs";
2
+ import { P as ProxyViewerContainer } from "./_ssr/ProxyViewerContainer-CIZhmr5I.mjs";
3
+ import { R as Route$j } from "./_ssr/router-CwNkbEd-.mjs";
4
4
  import "./_libs/jszip.mjs";
5
5
  import "./_libs/modelcontextprotocol__server.mjs";
6
6
  import "./_libs/swr.mjs";
@@ -1,7 +1,7 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { g as getLogFormatAdapter, r as resolveLogFormat, a as getConversationId, c as cn, B as Badge, f as formatTokens } from "./ProxyViewerContainer-PjfpTAwC.mjs";
3
- import { JsonViewerFromString } from "./json-viewer-0GHTWO7g.mjs";
4
- import "./router-DCW8d1sw.mjs";
2
+ import { g as getLogFormatAdapter, r as resolveLogFormat, a as getConversationId, c as cn, B as Badge, f as formatTokens } from "./ProxyViewerContainer-CIZhmr5I.mjs";
3
+ import { JsonViewerFromString } from "./json-viewer-DzzDudEa.mjs";
4
+ import "./router-CwNkbEd-.mjs";
5
5
  import "../_libs/modelcontextprotocol__server.mjs";
6
6
  import "../_libs/jszip.mjs";
7
7
  import { X, J as Rows3, K as Columns2, m as Minus, P as Plus, l as Pencil, f as ChevronRight, N as Equal, C as Check, a as Copy } from "../_libs/lucide-react.mjs";
@@ -1,5 +1,5 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports, a as React } from "../_libs/react.mjs";
2
- import { C as CapturedLogSchema, D as DEFAULT_SLOW_RESPONSE_THRESHOLD_SECONDS, a as RuntimeConfigSchema, r as requestFormatForPath, c as createPendingProviderTestResults, P as ProviderTestResultsSchema, d as createFailedProviderTestResults, M as MAX_SLOW_RESPONSE_THRESHOLD_SECONDS, g as getSessionPath, e as ProviderConfigSchema, s as stripClaudeCodeBillingHeader, p as parseOpenAIResponse, O as OpenAIRequestSchema, A as AnthropicResponseSchema$1, b as AnthropicRequestSchema } from "./router-DCW8d1sw.mjs";
2
+ import { C as CapturedLogSchema, D as DEFAULT_SLOW_RESPONSE_THRESHOLD_SECONDS, a as RuntimeConfigSchema, r as requestFormatForPath, c as createPendingProviderTestResults, P as ProviderTestResultsSchema, d as createFailedProviderTestResults, M as MAX_SLOW_RESPONSE_THRESHOLD_SECONDS, g as getSessionPath, e as ProviderConfigSchema, s as stripClaudeCodeBillingHeader, p as parseOpenAIResponse, O as OpenAIRequestSchema, A as AnthropicResponseSchema$1, b as AnthropicRequestSchema } from "./router-CwNkbEd-.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";
@@ -275,7 +275,7 @@ function getStatusCategory(status) {
275
275
  if (status >= 500) return "server_error";
276
276
  return "pending";
277
277
  }
278
- const version = "1.19.3";
278
+ const version = "1.19.4";
279
279
  const packageJson = {
280
280
  version
281
281
  };
@@ -1343,27 +1343,27 @@ function useCopyFeedback(text) {
1343
1343
  return { copied, copy };
1344
1344
  }
1345
1345
  const LazyCompareDrawer = reactExports.lazy(
1346
- () => import("./CompareDrawer-CZjtgISX.mjs").then((m) => ({ default: m.CompareDrawer }))
1346
+ () => import("./CompareDrawer-BWAbcxuc.mjs").then((m) => ({ default: m.CompareDrawer }))
1347
1347
  );
1348
1348
  const LazyReplayDialog = reactExports.lazy(
1349
- () => import("./ReplayDialog-OiEK8Sbt.mjs").then((m) => ({ default: m.ReplayDialog }))
1349
+ () => import("./ReplayDialog-3TOIktFD.mjs").then((m) => ({ default: m.ReplayDialog }))
1350
1350
  );
1351
1351
  const LazyRequestAnatomy = reactExports.lazy(
1352
- () => import("./RequestAnatomy-DN7d-srT.mjs").then((m) => ({ default: m.RequestAnatomy }))
1352
+ () => import("./RequestAnatomy-THGbi9T0.mjs").then((m) => ({ default: m.RequestAnatomy }))
1353
1353
  );
1354
1354
  const LazyResponseView = reactExports.lazy(
1355
- () => import("./ResponseView-7iJG8mU_.mjs").then((m) => ({ default: m.ResponseView }))
1355
+ () => import("./ResponseView-C9h6-6mm.mjs").then((m) => ({ default: m.ResponseView }))
1356
1356
  );
1357
1357
  const LazyStreamingChunkSequence = reactExports.lazy(
1358
- () => import("./StreamingChunkSequence-DgtV9nLT.mjs").then((m) => ({
1358
+ () => import("./StreamingChunkSequence-C3mKWisH.mjs").then((m) => ({
1359
1359
  default: m.StreamingChunkSequence
1360
1360
  }))
1361
1361
  );
1362
1362
  const LazyJsonViewer = reactExports.lazy(
1363
- () => import("./json-viewer-0GHTWO7g.mjs").then((m) => ({ default: m.JsonViewer }))
1363
+ () => import("./json-viewer-DzzDudEa.mjs").then((m) => ({ default: m.JsonViewer }))
1364
1364
  );
1365
1365
  const LazyJsonViewerFromString = reactExports.lazy(
1366
- () => import("./json-viewer-0GHTWO7g.mjs").then((m) => ({ default: m.JsonViewerFromString }))
1366
+ () => import("./json-viewer-DzzDudEa.mjs").then((m) => ({ default: m.JsonViewerFromString }))
1367
1367
  );
1368
1368
  const HIGHLIGHT_DURATION_MS = 1200;
1369
1369
  const MAX_HIGHLIGHT_ATTEMPTS = 12;
@@ -3154,7 +3154,74 @@ function CrabLogo({ className }) {
3154
3154
  /* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "6.5", y1: "16", x2: "4.5", y2: "19.5" }),
3155
3155
  /* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "9", y1: "17.5", x2: "8", y2: "20.5" }),
3156
3156
  /* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "15", y1: "17.5", x2: "16", y2: "20.5" }),
3157
- /* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "17.5", y1: "16", x2: "19.5", y2: "19.5" })
3157
+ /* @__PURE__ */ jsxRuntimeExports.jsx("line", { x1: "17.5", y1: "16", x2: "19.5", y2: "19.5" }),
3158
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("g", { children: [
3159
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
3160
+ "path",
3161
+ {
3162
+ d: "M5.6 17.7 L8.4 15.4 L10.8 18 C9.1 18.9 7.2 18.8 5.6 17.7 Z",
3163
+ fill: "#2f6b3f",
3164
+ stroke: "none",
3165
+ opacity: "0.95"
3166
+ }
3167
+ ),
3168
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
3169
+ "path",
3170
+ {
3171
+ d: "M6.9 17.5 L8.4 16 L9.8 17.7 C8.9 18.1 7.8 18.1 6.9 17.5 Z",
3172
+ fill: "#6fb36f",
3173
+ stroke: "none",
3174
+ opacity: "0.95"
3175
+ }
3176
+ ),
3177
+ /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M8.4 16 L8.4 18.4", stroke: "#d6b45f", strokeWidth: "0.34" }),
3178
+ /* @__PURE__ */ jsxRuntimeExports.jsx("circle", { cx: "10.6", cy: "17.75", r: "0.36", fill: "#c2412d", stroke: "none" })
3179
+ ] }),
3180
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("g", { children: [
3181
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
3182
+ "path",
3183
+ {
3184
+ d: "M8 16.5 L11.9 13.6 L15.8 16.8 C13.3 18.4 10.4 18.3 8 16.5 Z",
3185
+ fill: "#2f6b3f",
3186
+ stroke: "none",
3187
+ opacity: "0.97"
3188
+ }
3189
+ ),
3190
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
3191
+ "path",
3192
+ {
3193
+ d: "M9.8 16.3 L11.9 14.4 L14.3 16.5 C12.8 17.4 11.3 17.4 9.8 16.3 Z",
3194
+ fill: "#6fb36f",
3195
+ stroke: "none",
3196
+ opacity: "0.95"
3197
+ }
3198
+ ),
3199
+ /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M11.9 14.3 L11.9 17.8", stroke: "#d6b45f", strokeWidth: "0.42" }),
3200
+ /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M9.8 16.3 C11.2 15.8 12.9 15.9 14.3 16.5", stroke: "#9fca78", strokeWidth: "0.36" }),
3201
+ /* @__PURE__ */ jsxRuntimeExports.jsx("circle", { cx: "15.6", cy: "16.75", r: "0.43", fill: "#c2412d", stroke: "none" })
3202
+ ] }),
3203
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("g", { children: [
3204
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
3205
+ "path",
3206
+ {
3207
+ d: "M13.6 18.1 L16.2 15.7 L18.5 18.2 C17.1 19.1 15.2 19 13.6 18.1 Z",
3208
+ fill: "#2f6b3f",
3209
+ stroke: "none",
3210
+ opacity: "0.95"
3211
+ }
3212
+ ),
3213
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
3214
+ "path",
3215
+ {
3216
+ d: "M14.8 17.9 L16.2 16.3 L17.5 18 C16.6 18.4 15.7 18.4 14.8 17.9 Z",
3217
+ fill: "#6fb36f",
3218
+ stroke: "none",
3219
+ opacity: "0.95"
3220
+ }
3221
+ ),
3222
+ /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M16.2 16.3 L16.2 18.6", stroke: "#d6b45f", strokeWidth: "0.34" }),
3223
+ /* @__PURE__ */ jsxRuntimeExports.jsx("circle", { cx: "18.35", cy: "18.15", r: "0.36", fill: "#c2412d", stroke: "none" })
3224
+ ] })
3158
3225
  ]
3159
3226
  }
3160
3227
  );
@@ -1,10 +1,10 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { D as Dialog, b as DialogContent, d as DialogHeader, e as DialogTitle, T as Tabs, h as TabsList, i as TabsTrigger, j as TabsContent, k as TooltipProvider, l as Tooltip, m as TooltipTrigger, n as TooltipContent, o as Button } from "./ProxyViewerContainer-PjfpTAwC.mjs";
3
- import { ResponseView } from "./ResponseView-7iJG8mU_.mjs";
4
- import "./router-DCW8d1sw.mjs";
2
+ import { D as Dialog, b as DialogContent, d as DialogHeader, e as DialogTitle, T as Tabs, h as TabsList, i as TabsTrigger, j as TabsContent, k as TooltipProvider, l as Tooltip, m as TooltipTrigger, n as TooltipContent, o as Button } from "./ProxyViewerContainer-CIZhmr5I.mjs";
3
+ import { ResponseView } from "./ResponseView-C9h6-6mm.mjs";
4
+ import "./router-CwNkbEd-.mjs";
5
5
  import "../_libs/modelcontextprotocol__server.mjs";
6
6
  import "../_libs/jszip.mjs";
7
- import "./json-viewer-0GHTWO7g.mjs";
7
+ import "./json-viewer-DzzDudEa.mjs";
8
8
  import { s as RotateCcw } from "../_libs/lucide-react.mjs";
9
9
  import { d as object, c as boolean, n as number, b as string } from "../_libs/zod.mjs";
10
10
  import "../_libs/swr.mjs";
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { k as TooltipProvider, f as formatTokens, c as cn, l as Tooltip, m as TooltipTrigger, n as TooltipContent } from "./ProxyViewerContainer-PjfpTAwC.mjs";
3
- import "./router-DCW8d1sw.mjs";
2
+ import { k as TooltipProvider, f as formatTokens, c as cn, l as Tooltip, m as TooltipTrigger, n as TooltipContent } from "./ProxyViewerContainer-CIZhmr5I.mjs";
3
+ import "./router-CwNkbEd-.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import { Q as Info } from "../_libs/lucide-react.mjs";
@@ -1,7 +1,7 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { g as getLogFormatAdapter, f as formatTokens, c as cn, p as getStatusCategory, B as Badge, s as safeJsonValue } from "./ProxyViewerContainer-PjfpTAwC.mjs";
3
- import { JsonViewer } from "./json-viewer-0GHTWO7g.mjs";
4
- import "./router-DCW8d1sw.mjs";
2
+ import { g as getLogFormatAdapter, f as formatTokens, c as cn, p as getStatusCategory, B as Badge, s as safeJsonValue } from "./ProxyViewerContainer-CIZhmr5I.mjs";
3
+ import { JsonViewer } from "./json-viewer-DzzDudEa.mjs";
4
+ import "./router-CwNkbEd-.mjs";
5
5
  import "../_libs/modelcontextprotocol__server.mjs";
6
6
  import "../_libs/jszip.mjs";
7
7
  import { Z as Zap, i as TriangleAlert, V as CircleStop, Y as Brain, b as ChevronDown, f as ChevronRight, _ as Terminal } from "../_libs/lucide-react.mjs";
@@ -1,7 +1,7 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { k as TooltipProvider, l as Tooltip, m as TooltipTrigger, B as Badge, n as TooltipContent } from "./ProxyViewerContainer-PjfpTAwC.mjs";
3
- import { JsonViewer } from "./json-viewer-0GHTWO7g.mjs";
4
- import "./router-DCW8d1sw.mjs";
2
+ import { k as TooltipProvider, l as Tooltip, m as TooltipTrigger, B as Badge, n as TooltipContent } from "./ProxyViewerContainer-CIZhmr5I.mjs";
3
+ import { JsonViewer } from "./json-viewer-DzzDudEa.mjs";
4
+ import "./router-CwNkbEd-.mjs";
5
5
  import "../_libs/modelcontextprotocol__server.mjs";
6
6
  import "../_libs/jszip.mjs";
7
7
  import { b as ChevronDown, f as ChevronRight, L as LoaderCircle } from "../_libs/lucide-react.mjs";
@@ -1,6 +1,6 @@
1
- import { P as ProxyViewerContainer } from "./ProxyViewerContainer-PjfpTAwC.mjs";
1
+ import { P as ProxyViewerContainer } from "./ProxyViewerContainer-CIZhmr5I.mjs";
2
2
  import "../_libs/react.mjs";
3
- import "./router-DCW8d1sw.mjs";
3
+ import "./router-CwNkbEd-.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import "../_libs/swr.mjs";
@@ -198,7 +198,7 @@ function getResponse() {
198
198
  return event.res;
199
199
  }
200
200
  async function getStartManifest(matchedRoutes) {
201
- const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-CxTbhyJ_.mjs");
201
+ const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-B-xky_RK.mjs");
202
202
  const startManifest = tsrStartManifest();
203
203
  const rootRoute = startManifest.routes[rootRouteId] = startManifest.routes[rootRouteId] || {};
204
204
  rootRoute.assets = rootRoute.assets || [];
@@ -767,7 +767,7 @@ let entriesPromise;
767
767
  let baseManifestPromise;
768
768
  let cachedFinalManifestPromise;
769
769
  async function loadEntries() {
770
- const routerEntry = await import("./router-DCW8d1sw.mjs").then((n) => n.f);
770
+ const routerEntry = await import("./router-CwNkbEd-.mjs").then((n) => n.f);
771
771
  const startEntry = await import("./start-HYkvq4Ni.mjs");
772
772
  return { startEntry, routerEntry };
773
773
  }
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { q as parseJsonText, c as cn, k as TooltipProvider, l as Tooltip, m as TooltipTrigger, n as TooltipContent } from "./ProxyViewerContainer-PjfpTAwC.mjs";
3
- import "./router-DCW8d1sw.mjs";
2
+ import { q as parseJsonText, c as cn, k as TooltipProvider, l as Tooltip, m as TooltipTrigger, n as TooltipContent } from "./ProxyViewerContainer-CIZhmr5I.mjs";
3
+ import "./router-CwNkbEd-.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import { C as Check, a as Copy, b as ChevronDown, f as ChevronRight, q as ChevronsDown } from "../_libs/lucide-react.mjs";
@@ -48,8 +48,8 @@ import "../_libs/debounce-fn.mjs";
48
48
  import "../_libs/mimic-function.mjs";
49
49
  import "../_libs/semver.mjs";
50
50
  import "../_libs/uint8array-extras.mjs";
51
- const faviconSvg = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2064%2064'%20role='img'%20aria-label='LLM%20Inspector'%3e%3crect%20width='64'%20height='64'%20rx='14'%20fill='%23111827'%20/%3e%3cg%20fill='none'%20stroke='%23f59e0b'%20stroke-width='4.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20fill='%23f59e0b'%20d='M15%2036c0-11%207-18%2017-18s17%207%2017%2018c0%208-7%2013-17%2013s-17-5-17-13z'%20/%3e%3cpath%20d='M16%2031c-6-5-12-3-12%204%200%205%206%206%2011%202'%20/%3e%3cpath%20d='M48%2031c6-5%2012-3%2012%204%200%205-6%206-11%202'%20/%3e%3cpath%20d='M27%2019l-3-7'%20/%3e%3cpath%20d='M37%2019l3-7'%20/%3e%3cpath%20d='M19%2045l-6%209'%20/%3e%3cpath%20d='M27%2048l-3%209'%20/%3e%3cpath%20d='M37%2048l3%209'%20/%3e%3cpath%20d='M45%2045l6%209'%20/%3e%3c/g%3e%3ccircle%20cx='24'%20cy='11'%20r='3.2'%20fill='%23f59e0b'%20/%3e%3ccircle%20cx='40'%20cy='11'%20r='3.2'%20fill='%23f59e0b'%20/%3e%3ccircle%20cx='25'%20cy='34'%20r='2.1'%20fill='%23111827'%20/%3e%3ccircle%20cx='39'%20cy='34'%20r='2.1'%20fill='%23111827'%20/%3e%3c/svg%3e";
52
- const appCss = "/assets/index-Bqi9RAGS.css";
51
+ const faviconSvg = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2064%2064'%20role='img'%20aria-label='LLM%20Inspector'%3e%3crect%20width='64'%20height='64'%20rx='14'%20fill='%23111827'%20/%3e%3cg%20fill='none'%20stroke='%23f59e0b'%20stroke-width='4.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20fill='%23f59e0b'%20d='M15%2036c0-11%207-18%2017-18s17%207%2017%2018c0%208-7%2013-17%2013s-17-5-17-13z'%20/%3e%3cpath%20d='M16%2031c-6-5-12-3-12%204%200%205%206%206%2011%202'%20/%3e%3cpath%20d='M48%2031c6-5%2012-3%2012%204%200%205-6%206-11%202'%20/%3e%3cpath%20d='M27%2019l-3-7'%20/%3e%3cpath%20d='M37%2019l3-7'%20/%3e%3cpath%20d='M19%2045l-6%209'%20/%3e%3cpath%20d='M27%2048l-3%209'%20/%3e%3cpath%20d='M37%2048l3%209'%20/%3e%3cpath%20d='M45%2045l6%209'%20/%3e%3c/g%3e%3cpath%20d='M14%2047l9-8%208%209c-5%203.5-12%203-17-1z'%20fill='%232f6b3f'%20opacity='.95'%20/%3e%3cpath%20d='M18%2046l5-5%205%206c-3%201.6-7%201.4-10-1z'%20fill='%236fb36f'%20opacity='.95'%20/%3e%3cpath%20d='M23%2041v10'%20fill='none'%20stroke='%23d6b45f'%20stroke-width='1.6'%20stroke-linecap='round'%20/%3e%3ccircle%20cx='31'%20cy='48'%20r='1.8'%20fill='%23c2412d'%20/%3e%3cpath%20d='M24%2044l13-11%2014%2013c-8%205.8-18%205.3-27-2z'%20fill='%232f6b3f'%20opacity='.97'%20/%3e%3cpath%20d='M30%2043l7-7%209%209c-5%202.7-11%202.5-16-2z'%20fill='%236fb36f'%20opacity='.95'%20/%3e%3cpath%20d='M37%2036v14'%20fill='none'%20stroke='%23d6b45f'%20stroke-width='2'%20stroke-linecap='round'%20/%3e%3cpath%20d='M30%2043c5-2%2011-1.5%2016%202'%20fill='none'%20stroke='%239fca78'%20stroke-width='1.8'%20stroke-linecap='round'%20/%3e%3ccircle%20cx='51'%20cy='46'%20r='2'%20fill='%23c2412d'%20/%3e%3cpath%20d='M40%2050l8-8%207%208c-4.2%203.2-10%203-15%200z'%20fill='%232f6b3f'%20opacity='.95'%20/%3e%3cpath%20d='M43%2049l5-5%204.5%205.5c-3%201.5-6%201.2-9.5-.5z'%20fill='%236fb36f'%20opacity='.95'%20/%3e%3cpath%20d='M48%2044v9'%20fill='none'%20stroke='%23d6b45f'%20stroke-width='1.5'%20stroke-linecap='round'%20/%3e%3ccircle%20cx='55'%20cy='50'%20r='1.7'%20fill='%23c2412d'%20/%3e%3ccircle%20cx='24'%20cy='11'%20r='3.2'%20fill='%23f59e0b'%20/%3e%3ccircle%20cx='40'%20cy='11'%20r='3.2'%20fill='%23f59e0b'%20/%3e%3ccircle%20cx='25'%20cy='34'%20r='2.1'%20fill='%23111827'%20/%3e%3ccircle%20cx='39'%20cy='34'%20r='2.1'%20fill='%23111827'%20/%3e%3c/svg%3e";
52
+ const appCss = "/assets/index-CSziseTI.css";
53
53
  const Route$l = createRootRoute({
54
54
  head: () => ({
55
55
  meta: [
@@ -76,7 +76,7 @@ function RootDocument({ children }) {
76
76
  ] })
77
77
  ] });
78
78
  }
79
- const $$splitComponentImporter$1 = () => import("./index-YZwFhEEr.mjs");
79
+ const $$splitComponentImporter$1 = () => import("./index-DMFL5NAe.mjs");
80
80
  const Route$k = createFileRoute("/")({
81
81
  component: lazyRouteComponent($$splitComponentImporter$1, "component")
82
82
  });
@@ -119,7 +119,7 @@ function decodeSessionIdFromPath(encoded) {
119
119
  function getSessionPath(sessionId) {
120
120
  return `/session/${encodeSessionIdForPath(sessionId)}`;
121
121
  }
122
- const $$splitComponentImporter = () => import("../_sessionId-DJ9Eab2q.mjs");
122
+ const $$splitComponentImporter = () => import("../_sessionId-Cx1nCmF9.mjs");
123
123
  const Route$j = createFileRoute("/session/$sessionId")({
124
124
  component: lazyRouteComponent($$splitComponentImporter, "component"),
125
125
  parseParams: (params) => ({
@@ -1,4 +1,4 @@
1
- const tsrStartManifest = () => ({ "routes": { "__root__": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/__root.tsx", "children": ["/", "/api/config", "/api/health", "/api/logs", "/api/mcp", "/api/models", "/api/providers", "/api/sessions", "/proxy/$", "/session/$sessionId"], "preloads": ["/assets/main-DpODUL6C.js"], "assets": [] }, "/": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/index.tsx", "assets": [], "preloads": ["/assets/index-DqgTchf4.js", "/assets/ProxyViewerContainer-Bi1QXDYo.js"] }, "/api/config": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/config.ts", "children": ["/api/config/paths"] }, "/api/health": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/health.ts" }, "/api/logs": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/logs.ts", "children": ["/api/logs/$id", "/api/logs/stream"] }, "/api/mcp": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/mcp.ts" }, "/api/models": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/models.ts" }, "/api/providers": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/providers.ts", "children": ["/api/providers/$providerId", "/api/providers/export", "/api/providers/import", "/api/providers/scan"] }, "/api/sessions": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/sessions.ts" }, "/proxy/$": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/proxy/$.ts" }, "/session/$sessionId": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/session/$sessionId.tsx", "assets": [], "preloads": ["/assets/_sessionId-DE0J5YHU.js", "/assets/ProxyViewerContainer-Bi1QXDYo.js"] }, "/api/config/paths": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/config.paths.ts" }, "/api/logs/$id": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/logs.$id.ts", "children": ["/api/logs/$id/chunks", "/api/logs/$id/replay"] }, "/api/logs/stream": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/logs.stream.ts" }, "/api/providers/$providerId": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/providers.$providerId.ts", "children": ["/api/providers/$providerId/test"] }, "/api/providers/export": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/providers.export.ts" }, "/api/providers/import": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/providers.import.ts" }, "/api/providers/scan": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/providers.scan.ts" }, "/api/logs/$id/chunks": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/logs.$id.chunks.ts" }, "/api/logs/$id/replay": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/logs.$id.replay.ts" }, "/api/providers/$providerId/test": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/providers.$providerId.test.ts", "children": ["/api/providers/$providerId/test/log"] }, "/api/providers/$providerId/test/log": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/providers.$providerId.test.log.ts" } }, "clientEntry": "/assets/main-DpODUL6C.js" });
1
+ const tsrStartManifest = () => ({ "routes": { "__root__": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/__root.tsx", "children": ["/", "/api/config", "/api/health", "/api/logs", "/api/mcp", "/api/models", "/api/providers", "/api/sessions", "/proxy/$", "/session/$sessionId"], "preloads": ["/assets/main-BQH0aL4n.js"], "assets": [] }, "/": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/index.tsx", "assets": [], "preloads": ["/assets/index-CttxoDLJ.js", "/assets/ProxyViewerContainer-fB4tzYhi.js"] }, "/api/config": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/config.ts", "children": ["/api/config/paths"] }, "/api/health": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/health.ts" }, "/api/logs": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/logs.ts", "children": ["/api/logs/$id", "/api/logs/stream"] }, "/api/mcp": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/mcp.ts" }, "/api/models": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/models.ts" }, "/api/providers": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/providers.ts", "children": ["/api/providers/$providerId", "/api/providers/export", "/api/providers/import", "/api/providers/scan"] }, "/api/sessions": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/sessions.ts" }, "/proxy/$": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/proxy/$.ts" }, "/session/$sessionId": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/session/$sessionId.tsx", "assets": [], "preloads": ["/assets/_sessionId-C0R0Kby0.js", "/assets/ProxyViewerContainer-fB4tzYhi.js"] }, "/api/config/paths": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/config.paths.ts" }, "/api/logs/$id": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/logs.$id.ts", "children": ["/api/logs/$id/chunks", "/api/logs/$id/replay"] }, "/api/logs/stream": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/logs.stream.ts" }, "/api/providers/$providerId": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/providers.$providerId.ts", "children": ["/api/providers/$providerId/test"] }, "/api/providers/export": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/providers.export.ts" }, "/api/providers/import": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/providers.import.ts" }, "/api/providers/scan": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/providers.scan.ts" }, "/api/logs/$id/chunks": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/logs.$id.chunks.ts" }, "/api/logs/$id/replay": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/logs.$id.replay.ts" }, "/api/providers/$providerId/test": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/providers.$providerId.test.ts", "children": ["/api/providers/$providerId/test/log"] }, "/api/providers/$providerId/test/log": { "filePath": "C:/Users/claw/workspace/llm-inspector/src/routes/api/providers.$providerId.test.log.ts" } }, "clientEntry": "/assets/main-BQH0aL4n.js" });
2
2
  export {
3
3
  tsrStartManifest
4
4
  };
@@ -38,107 +38,107 @@ const assets = {
38
38
  "/assets/alibaba-TTwafVwX.svg": {
39
39
  "type": "image/svg+xml",
40
40
  "etag": '"171b-6dyV5K8QjiaY35sN9qNprh9zDIs"',
41
- "mtime": "2026-06-18T09:12:22.689Z",
41
+ "mtime": "2026-06-18T09:48:17.901Z",
42
42
  "size": 5915,
43
43
  "path": "../public/assets/alibaba-TTwafVwX.svg"
44
44
  },
45
- "/assets/index-Bqi9RAGS.css": {
46
- "type": "text/css; charset=utf-8",
47
- "etag": '"177a9-QMoW/GsYu1jERI0JyFHA9CiB/o0"',
48
- "mtime": "2026-06-18T09:12:22.692Z",
49
- "size": 96169,
50
- "path": "../public/assets/index-Bqi9RAGS.css"
45
+ "/assets/index-CttxoDLJ.js": {
46
+ "type": "text/javascript; charset=utf-8",
47
+ "etag": '"74-//JEWIRDyzJn7dw9wp4fvh7bcY4"',
48
+ "mtime": "2026-06-18T09:48:17.901Z",
49
+ "size": 116,
50
+ "path": "../public/assets/index-CttxoDLJ.js"
51
+ },
52
+ "/assets/minimax-BPMzvuL-.jpeg": {
53
+ "type": "image/jpeg",
54
+ "etag": '"1b06-IwivU89ko5UTMUM1/t7hn4sQK9A"',
55
+ "mtime": "2026-06-18T09:48:17.901Z",
56
+ "size": 6918,
57
+ "path": "../public/assets/minimax-BPMzvuL-.jpeg"
51
58
  },
52
- "/assets/json-viewer-CyJ5nYhX.js": {
59
+ "/assets/main-BQH0aL4n.js": {
53
60
  "type": "text/javascript; charset=utf-8",
54
- "etag": '"1e651-ydiPWeNOTBxab1yp6aZhKmFLc9w"',
55
- "mtime": "2026-06-18T09:12:22.693Z",
56
- "size": 124497,
57
- "path": "../public/assets/json-viewer-CyJ5nYhX.js"
61
+ "etag": '"51388-sCwk8pMbvQpJHoC/3E8vihr+hnQ"',
62
+ "mtime": "2026-06-18T09:48:17.901Z",
63
+ "size": 332680,
64
+ "path": "../public/assets/main-BQH0aL4n.js"
58
65
  },
59
- "/assets/index-DqgTchf4.js": {
66
+ "/assets/ReplayDialog-BAZf5kkH.js": {
60
67
  "type": "text/javascript; charset=utf-8",
61
- "etag": '"74-dCXgAHXAyb0J55GEgjrhbbUgzbc"',
62
- "mtime": "2026-06-18T09:12:22.692Z",
63
- "size": 116,
64
- "path": "../public/assets/index-DqgTchf4.js"
68
+ "etag": '"11c0-dZzkYKIFXDFmz4dKF1NgYrH2Vzo"',
69
+ "mtime": "2026-06-18T09:48:17.901Z",
70
+ "size": 4544,
71
+ "path": "../public/assets/ReplayDialog-BAZf5kkH.js"
65
72
  },
66
- "/assets/CompareDrawer-AMCFfwDw.js": {
73
+ "/assets/CompareDrawer-BdEBCsf4.js": {
67
74
  "type": "text/javascript; charset=utf-8",
68
- "etag": '"4a1f-JS26/3WLLROR+e/DYSYJ+f7WiQc"',
69
- "mtime": "2026-06-18T09:12:22.693Z",
75
+ "etag": '"4a1f-9/F3ktw35tu86BD61+enWip9HmI"',
76
+ "mtime": "2026-06-18T09:48:17.901Z",
70
77
  "size": 18975,
71
- "path": "../public/assets/CompareDrawer-AMCFfwDw.js"
78
+ "path": "../public/assets/CompareDrawer-BdEBCsf4.js"
72
79
  },
73
- "/assets/ReplayDialog-C1x2-73A.js": {
80
+ "/assets/json-viewer-DIlY59fE.js": {
74
81
  "type": "text/javascript; charset=utf-8",
75
- "etag": '"11c0-0BdsMUTzMbm8+qZrAg7WR+cZJxI"',
76
- "mtime": "2026-06-18T09:12:22.692Z",
77
- "size": 4544,
78
- "path": "../public/assets/ReplayDialog-C1x2-73A.js"
82
+ "etag": '"1e651-bPsnkX3ayF9EPXsU/7kI6KLsU98"',
83
+ "mtime": "2026-06-18T09:48:17.903Z",
84
+ "size": 124497,
85
+ "path": "../public/assets/json-viewer-DIlY59fE.js"
79
86
  },
80
- "/assets/StreamingChunkSequence-BjX20-9R.js": {
81
- "type": "text/javascript; charset=utf-8",
82
- "etag": '"d81-wlp9qhgGUggvmv1Zxwa60zK7kv0"',
83
- "mtime": "2026-06-18T09:12:22.693Z",
84
- "size": 3457,
85
- "path": "../public/assets/StreamingChunkSequence-BjX20-9R.js"
87
+ "/assets/index-CSziseTI.css": {
88
+ "type": "text/css; charset=utf-8",
89
+ "etag": '"17701-PG5NpcPwzsftLKnefxR4JXXi6Is"',
90
+ "mtime": "2026-06-18T09:48:17.901Z",
91
+ "size": 96001,
92
+ "path": "../public/assets/index-CSziseTI.css"
86
93
  },
87
- "/assets/ResponseView-BsBxYW8b.js": {
94
+ "/assets/RequestAnatomy-CDeKWFUb.js": {
88
95
  "type": "text/javascript; charset=utf-8",
89
- "etag": '"6e91-dcQF6OvaeJlJzeXqydW9EwIelj8"',
90
- "mtime": "2026-06-18T09:12:22.693Z",
91
- "size": 28305,
92
- "path": "../public/assets/ResponseView-BsBxYW8b.js"
96
+ "etag": '"142a-qSOArJeWhhQI6b5bS0aGJhuWA8g"',
97
+ "mtime": "2026-06-18T09:48:17.901Z",
98
+ "size": 5162,
99
+ "path": "../public/assets/RequestAnatomy-CDeKWFUb.js"
93
100
  },
94
- "/assets/minimax-BPMzvuL-.jpeg": {
95
- "type": "image/jpeg",
96
- "etag": '"1b06-IwivU89ko5UTMUM1/t7hn4sQK9A"',
97
- "mtime": "2026-06-18T09:12:22.692Z",
98
- "size": 6918,
99
- "path": "../public/assets/minimax-BPMzvuL-.jpeg"
101
+ "/assets/StreamingChunkSequence-BQLmasyY.js": {
102
+ "type": "text/javascript; charset=utf-8",
103
+ "etag": '"d81-beyIM+wkDheuF81I7tvVls4daMc"',
104
+ "mtime": "2026-06-18T09:48:17.901Z",
105
+ "size": 3457,
106
+ "path": "../public/assets/StreamingChunkSequence-BQLmasyY.js"
100
107
  },
101
108
  "/assets/zhipuai-BPNAnxo-.svg": {
102
109
  "type": "image/svg+xml",
103
110
  "etag": '"2bf8-hNaLCTi89nOFCsIIfWpP/jrfo0s"',
104
- "mtime": "2026-06-18T09:12:22.692Z",
111
+ "mtime": "2026-06-18T09:48:17.901Z",
105
112
  "size": 11256,
106
113
  "path": "../public/assets/zhipuai-BPNAnxo-.svg"
107
114
  },
108
- "/assets/main-DpODUL6C.js": {
115
+ "/assets/_sessionId-C0R0Kby0.js": {
116
+ "type": "text/javascript; charset=utf-8",
117
+ "etag": '"d2-5qQBQHToFqpVNbEN2wCXwbBQDN0"',
118
+ "mtime": "2026-06-18T09:48:17.901Z",
119
+ "size": 210,
120
+ "path": "../public/assets/_sessionId-C0R0Kby0.js"
121
+ },
122
+ "/assets/ProxyViewerContainer-fB4tzYhi.js": {
109
123
  "type": "text/javascript; charset=utf-8",
110
- "etag": '"50e93-I+c4WJ0eqNgllRdD+TE3/FNhdZw"',
111
- "mtime": "2026-06-18T09:12:22.692Z",
112
- "size": 331411,
113
- "path": "../public/assets/main-DpODUL6C.js"
124
+ "etag": '"77558-pNBh9683J3gt10WT+10AJfm00uI"',
125
+ "mtime": "2026-06-18T09:48:17.901Z",
126
+ "size": 488792,
127
+ "path": "../public/assets/ProxyViewerContainer-fB4tzYhi.js"
114
128
  },
115
129
  "/assets/qwen-CONDcHqt.png": {
116
130
  "type": "image/png",
117
131
  "etag": '"572c3-cdJAPaHdOvFCGzuaQjagdgOu6XE"',
118
- "mtime": "2026-06-18T09:12:22.692Z",
132
+ "mtime": "2026-06-18T09:48:17.901Z",
119
133
  "size": 357059,
120
134
  "path": "../public/assets/qwen-CONDcHqt.png"
121
135
  },
122
- "/assets/RequestAnatomy-CBNqMbxo.js": {
123
- "type": "text/javascript; charset=utf-8",
124
- "etag": '"142a-OyCo/ZrZQjHOESLPR2QHdrDlSfY"',
125
- "mtime": "2026-06-18T09:12:22.693Z",
126
- "size": 5162,
127
- "path": "../public/assets/RequestAnatomy-CBNqMbxo.js"
128
- },
129
- "/assets/ProxyViewerContainer-Bi1QXDYo.js": {
136
+ "/assets/ResponseView-zcykwAih.js": {
130
137
  "type": "text/javascript; charset=utf-8",
131
- "etag": '"76fed-g89dZRBRI198ItonW8vjcw/8gls"',
132
- "mtime": "2026-06-18T09:12:22.692Z",
133
- "size": 487405,
134
- "path": "../public/assets/ProxyViewerContainer-Bi1QXDYo.js"
135
- },
136
- "/assets/_sessionId-DE0J5YHU.js": {
137
- "type": "text/javascript; charset=utf-8",
138
- "etag": '"d2-yTX8F3UFbyfcaXlKoGMrmxJtX0U"',
139
- "mtime": "2026-06-18T09:12:22.692Z",
140
- "size": 210,
141
- "path": "../public/assets/_sessionId-DE0J5YHU.js"
138
+ "etag": '"6e91-9zGerzpqoHMKjyaWyP5DIwZ+bCw"',
139
+ "mtime": "2026-06-18T09:48:17.901Z",
140
+ "size": 28305,
141
+ "path": "../public/assets/ResponseView-zcykwAih.js"
142
142
  }
143
143
  };
144
144
  function readAsset(id) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tonyclaw/llm-inspector",
3
- "version": "1.19.3",
3
+ "version": "1.19.4",
4
4
  "type": "module",
5
5
  "description": "Local LLM API inspector for AI coding tools, with real-time request and response capture.",
6
6
  "license": "MIT",
@@ -11,6 +11,19 @@
11
11
  <path d="M37 48l3 9" />
12
12
  <path d="M45 45l6 9" />
13
13
  </g>
14
+ <path d="M14 47l9-8 8 9c-5 3.5-12 3-17-1z" fill="#2f6b3f" opacity=".95" />
15
+ <path d="M18 46l5-5 5 6c-3 1.6-7 1.4-10-1z" fill="#6fb36f" opacity=".95" />
16
+ <path d="M23 41v10" fill="none" stroke="#d6b45f" stroke-width="1.6" stroke-linecap="round" />
17
+ <circle cx="31" cy="48" r="1.8" fill="#c2412d" />
18
+ <path d="M24 44l13-11 14 13c-8 5.8-18 5.3-27-2z" fill="#2f6b3f" opacity=".97" />
19
+ <path d="M30 43l7-7 9 9c-5 2.7-11 2.5-16-2z" fill="#6fb36f" opacity=".95" />
20
+ <path d="M37 36v14" fill="none" stroke="#d6b45f" stroke-width="2" stroke-linecap="round" />
21
+ <path d="M30 43c5-2 11-1.5 16 2" fill="none" stroke="#9fca78" stroke-width="1.8" stroke-linecap="round" />
22
+ <circle cx="51" cy="46" r="2" fill="#c2412d" />
23
+ <path d="M40 50l8-8 7 8c-4.2 3.2-10 3-15 0z" fill="#2f6b3f" opacity=".95" />
24
+ <path d="M43 49l5-5 4.5 5.5c-3 1.5-6 1.2-9.5-.5z" fill="#6fb36f" opacity=".95" />
25
+ <path d="M48 44v9" fill="none" stroke="#d6b45f" stroke-width="1.5" stroke-linecap="round" />
26
+ <circle cx="55" cy="50" r="1.7" fill="#c2412d" />
14
27
  <circle cx="24" cy="11" r="3.2" fill="#f59e0b" />
15
28
  <circle cx="40" cy="11" r="3.2" fill="#f59e0b" />
16
29
  <circle cx="25" cy="34" r="2.1" fill="#111827" />
@@ -40,6 +40,56 @@ export function CrabLogo({ className }: { className?: string }): JSX.Element {
40
40
  <line x1="9" y1="17.5" x2="8" y2="20.5" />
41
41
  <line x1="15" y1="17.5" x2="16" y2="20.5" />
42
42
  <line x1="17.5" y1="16" x2="19.5" y2="19.5" />
43
+ {/* Duanwu zongzi charms */}
44
+ <g>
45
+ <path
46
+ d="M5.6 17.7 L8.4 15.4 L10.8 18 C9.1 18.9 7.2 18.8 5.6 17.7 Z"
47
+ fill="#2f6b3f"
48
+ stroke="none"
49
+ opacity="0.95"
50
+ />
51
+ <path
52
+ d="M6.9 17.5 L8.4 16 L9.8 17.7 C8.9 18.1 7.8 18.1 6.9 17.5 Z"
53
+ fill="#6fb36f"
54
+ stroke="none"
55
+ opacity="0.95"
56
+ />
57
+ <path d="M8.4 16 L8.4 18.4" stroke="#d6b45f" strokeWidth="0.34" />
58
+ <circle cx="10.6" cy="17.75" r="0.36" fill="#c2412d" stroke="none" />
59
+ </g>
60
+ <g>
61
+ <path
62
+ d="M8 16.5 L11.9 13.6 L15.8 16.8 C13.3 18.4 10.4 18.3 8 16.5 Z"
63
+ fill="#2f6b3f"
64
+ stroke="none"
65
+ opacity="0.97"
66
+ />
67
+ <path
68
+ d="M9.8 16.3 L11.9 14.4 L14.3 16.5 C12.8 17.4 11.3 17.4 9.8 16.3 Z"
69
+ fill="#6fb36f"
70
+ stroke="none"
71
+ opacity="0.95"
72
+ />
73
+ <path d="M11.9 14.3 L11.9 17.8" stroke="#d6b45f" strokeWidth="0.42" />
74
+ <path d="M9.8 16.3 C11.2 15.8 12.9 15.9 14.3 16.5" stroke="#9fca78" strokeWidth="0.36" />
75
+ <circle cx="15.6" cy="16.75" r="0.43" fill="#c2412d" stroke="none" />
76
+ </g>
77
+ <g>
78
+ <path
79
+ d="M13.6 18.1 L16.2 15.7 L18.5 18.2 C17.1 19.1 15.2 19 13.6 18.1 Z"
80
+ fill="#2f6b3f"
81
+ stroke="none"
82
+ opacity="0.95"
83
+ />
84
+ <path
85
+ d="M14.8 17.9 L16.2 16.3 L17.5 18 C16.6 18.4 15.7 18.4 14.8 17.9 Z"
86
+ fill="#6fb36f"
87
+ stroke="none"
88
+ opacity="0.95"
89
+ />
90
+ <path d="M16.2 16.3 L16.2 18.6" stroke="#d6b45f" strokeWidth="0.34" />
91
+ <circle cx="18.35" cy="18.15" r="0.36" fill="#c2412d" stroke="none" />
92
+ </g>
43
93
  </svg>
44
94
  );
45
95
  }
@@ -1 +0,0 @@
1
- import{R as s,j as e}from"./main-DpODUL6C.js";import{P as i}from"./ProxyViewerContainer-Bi1QXDYo.js";function t(){const{sessionId:o}=s.useParams();return e.jsx(i,{initialSessionId:o},o)}export{t as component};
@@ -1 +0,0 @@
1
- import{P as o}from"./ProxyViewerContainer-Bi1QXDYo.js";import"./main-DpODUL6C.js";const r=o;export{r as component};