@tonyclaw/llm-inspector 1.11.0 → 1.11.2

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 (57) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/index-BpKPXEcb.css +1 -0
  3. package/.output/public/assets/index-Chp_30CP.js +11 -0
  4. package/.output/public/assets/index-DLvqlFS9.js +130 -0
  5. package/.output/server/_libs/@radix-ui/react-use-controllable-state+[...].mjs +1 -1
  6. package/.output/server/_libs/ajv-formats.mjs +18 -18
  7. package/.output/server/_libs/ajv.mjs +941 -6305
  8. package/.output/server/_libs/cookie-es.mjs +7 -21
  9. package/.output/server/_libs/floating-ui__core.mjs +18 -17
  10. package/.output/server/_libs/floating-ui__dom.mjs +24 -20
  11. package/.output/server/_libs/floating-ui__react-dom.mjs +55 -28
  12. package/.output/server/_libs/floating-ui__utils.mjs +36 -36
  13. package/.output/server/_libs/h3-v2.mjs +20 -9
  14. package/.output/server/_libs/isbot.mjs +3 -2
  15. package/.output/server/_libs/json-schema-traverse.mjs +1 -90
  16. package/.output/server/_libs/jszip.mjs +28 -28
  17. package/.output/server/_libs/mdast-util-from-markdown.mjs +1 -1
  18. package/.output/server/_libs/pako.mjs +13 -13
  19. package/.output/server/_libs/property-information.mjs +13 -1
  20. package/.output/server/_libs/radix-ui__react-collection.mjs +1 -1
  21. package/.output/server/_libs/radix-ui__react-id.mjs +1 -1
  22. package/.output/server/_libs/react-dom.mjs +10 -10
  23. package/.output/server/_libs/react.mjs +44 -44
  24. package/.output/server/_libs/readable-stream.mjs +15 -15
  25. package/.output/server/_libs/rou3.mjs +1 -7
  26. package/.output/server/_libs/safe-buffer.mjs +3 -3
  27. package/.output/server/_libs/semver.mjs +10 -10
  28. package/.output/server/_libs/seroval-plugins.mjs +5 -5
  29. package/.output/server/_libs/seroval.mjs +606 -596
  30. package/.output/server/_libs/srvx.mjs +10 -245
  31. package/.output/server/_libs/swr.mjs +1 -1
  32. package/.output/server/_libs/tailwind-merge.mjs +286 -41
  33. package/.output/server/_libs/tanstack__history.mjs +31 -44
  34. package/.output/server/_libs/tanstack__react-router.mjs +780 -1089
  35. package/.output/server/_libs/tanstack__react-store.mjs +1 -1
  36. package/.output/server/_libs/tanstack__react-virtual.mjs +82 -7
  37. package/.output/server/_libs/tanstack__router-core.mjs +2223 -2328
  38. package/.output/server/_libs/tanstack__virtual-core.mjs +58 -17
  39. package/.output/server/_libs/ungap__structured-clone.mjs +14 -2
  40. package/.output/server/_libs/use-sync-external-store.mjs +1 -1
  41. package/.output/server/_libs/zod.mjs +503 -205
  42. package/.output/server/_ssr/empty-plugin-adapters-BFgPZ6_d.mjs +6 -0
  43. package/.output/server/_ssr/{index-I_Nx8QEB.mjs → index-CYuV1ljD.mjs} +8 -8
  44. package/.output/server/_ssr/index.mjs +1098 -776
  45. package/.output/server/_ssr/{router-BVxfVFsb.mjs → router-e-RbjELX.mjs} +4 -6
  46. package/.output/server/_tanstack-start-manifest_v-C5P5lsG5.mjs +4 -0
  47. package/.output/server/index.mjs +21 -21
  48. package/package.json +1 -1
  49. package/src/components/providers/ProvidersPanel.tsx +4 -2
  50. package/src/components/providers/SettingsDialog.tsx +2 -1
  51. package/src/proxy/dataDir.ts +1 -1
  52. package/.output/public/assets/index-BIZeMR5N.js +0 -105
  53. package/.output/public/assets/index-SmtLx1lM.css +0 -1
  54. package/.output/public/assets/main-QfbQ5oBP.js +0 -17
  55. package/.output/server/_libs/tiny-invariant.mjs +0 -12
  56. package/.output/server/_libs/tiny-warning.mjs +0 -5
  57. package/.output/server/_tanstack-start-manifest_v-Cm2Owszu.mjs +0 -4
@@ -9,11 +9,9 @@ import { randomUUID } from "crypto";
9
9
  import { exec } from "node:child_process";
10
10
  import { promisify } from "node:util";
11
11
  import { o as object, s as string, _ as _enum, u as union, a as array, b as boolean, n as number, d as discriminatedUnion, l as literal, r as record, c as _null, e as lazy, f as unknown } from "../_libs/zod.mjs";
12
- import "../_libs/tiny-warning.mjs";
13
12
  import "../_libs/tanstack__router-core.mjs";
14
- import "../_libs/cookie-es.mjs";
15
13
  import "../_libs/tanstack__history.mjs";
16
- import "../_libs/tiny-invariant.mjs";
14
+ import "../_libs/cookie-es.mjs";
17
15
  import "../_libs/seroval.mjs";
18
16
  import "../_libs/seroval-plugins.mjs";
19
17
  import "node:stream/web";
@@ -44,7 +42,7 @@ import "../_libs/debounce-fn.mjs";
44
42
  import "../_libs/mimic-function.mjs";
45
43
  import "../_libs/semver.mjs";
46
44
  import "../_libs/uint8array-extras.mjs";
47
- const appCss = "/assets/index-SmtLx1lM.css";
45
+ const appCss = "/assets/index-BpKPXEcb.css";
48
46
  const Route$h = createRootRoute({
49
47
  head: () => ({
50
48
  meta: [
@@ -68,7 +66,7 @@ function RootDocument({ children }) {
68
66
  ] })
69
67
  ] });
70
68
  }
71
- const $$splitComponentImporter = () => import("./index-I_Nx8QEB.mjs");
69
+ const $$splitComponentImporter = () => import("./index-CYuV1ljD.mjs");
72
70
  const Route$g = createFileRoute("/")({
73
71
  component: lazyRouteComponent($$splitComponentImporter, "component")
74
72
  });
@@ -1558,7 +1556,7 @@ const alibabaProvider = {
1558
1556
  registry.register(alibabaProvider);
1559
1557
  function getDataDir() {
1560
1558
  const isWindows = process.platform === "win32";
1561
- const base = isWindows ? process.env["APPDATA"] ?? join(process.env["USERPROFILE"] ?? "C:\\", ".llm-inspector") : process.env["HOME"] ?? "/tmp";
1559
+ const base = isWindows ? process.env["USERPROFILE"] ?? join(process.env["APPDATA"] ?? "C:\\", ".llm-inspector") : process.env["HOME"] ?? "/tmp";
1562
1560
  const dirEnv = process.env["LLM_INSPECTOR_DATA_DIR"];
1563
1561
  if (dirEnv !== void 0 && dirEnv !== "") {
1564
1562
  return isAbsolute(dirEnv) ? dirEnv : join(base, dirEnv);
@@ -0,0 +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/models", "/api/providers", "/api/sessions", "/proxy/$"], preloads: ["/assets/index-Chp_30CP.js"], scripts: [{ attrs: { type: "module", async: true, src: "/assets/index-Chp_30CP.js" } }] }, "/": { filePath: "C:/Users/claw/workspace/llm-inspector/src/routes/index.tsx", children: void 0, preloads: ["/assets/index-DLvqlFS9.js"] } } });
2
+ export {
3
+ tsrStartManifest
4
+ };
@@ -38,51 +38,51 @@ const assets = {
38
38
  "/assets/alibaba-TTwafVwX.svg": {
39
39
  "type": "image/svg+xml",
40
40
  "etag": '"171b-6dyV5K8QjiaY35sN9qNprh9zDIs"',
41
- "mtime": "2026-06-06T08:18:21.509Z",
41
+ "mtime": "2026-06-06T09:13:20.378Z",
42
42
  "size": 5915,
43
43
  "path": "../public/assets/alibaba-TTwafVwX.svg"
44
44
  },
45
45
  "/assets/minimax-BPMzvuL-.jpeg": {
46
46
  "type": "image/jpeg",
47
47
  "etag": '"1b06-IwivU89ko5UTMUM1/t7hn4sQK9A"',
48
- "mtime": "2026-06-06T08:18:21.509Z",
48
+ "mtime": "2026-06-06T09:13:20.380Z",
49
49
  "size": 6918,
50
50
  "path": "../public/assets/minimax-BPMzvuL-.jpeg"
51
51
  },
52
- "/assets/index-SmtLx1lM.css": {
52
+ "/assets/index-BpKPXEcb.css": {
53
53
  "type": "text/css; charset=utf-8",
54
- "etag": '"11492-YrH3CdmyZtpurvkMiG+Z8YMKpbg"',
55
- "mtime": "2026-06-06T08:18:21.509Z",
56
- "size": 70802,
57
- "path": "../public/assets/index-SmtLx1lM.css"
54
+ "etag": '"11628-5GjLelHqc7BEfGB/7qUFPt5/gyM"',
55
+ "mtime": "2026-06-06T09:13:20.380Z",
56
+ "size": 71208,
57
+ "path": "../public/assets/index-BpKPXEcb.css"
58
58
  },
59
59
  "/assets/zhipuai-BPNAnxo-.svg": {
60
60
  "type": "image/svg+xml",
61
61
  "etag": '"2bf8-hNaLCTi89nOFCsIIfWpP/jrfo0s"',
62
- "mtime": "2026-06-06T08:18:21.506Z",
62
+ "mtime": "2026-06-06T09:13:20.378Z",
63
63
  "size": 11256,
64
64
  "path": "../public/assets/zhipuai-BPNAnxo-.svg"
65
65
  },
66
- "/assets/main-QfbQ5oBP.js": {
67
- "type": "text/javascript; charset=utf-8",
68
- "etag": '"50599-yvOA/5xDdT1OIDnPKqlDcpJMeK8"',
69
- "mtime": "2026-06-06T08:18:21.511Z",
70
- "size": 329113,
71
- "path": "../public/assets/main-QfbQ5oBP.js"
72
- },
73
66
  "/assets/qwen-CONDcHqt.png": {
74
67
  "type": "image/png",
75
68
  "etag": '"572c3-cdJAPaHdOvFCGzuaQjagdgOu6XE"',
76
- "mtime": "2026-06-06T08:18:21.509Z",
69
+ "mtime": "2026-06-06T09:13:20.378Z",
77
70
  "size": 357059,
78
71
  "path": "../public/assets/qwen-CONDcHqt.png"
79
72
  },
80
- "/assets/index-BIZeMR5N.js": {
73
+ "/assets/index-Chp_30CP.js": {
74
+ "type": "text/javascript; charset=utf-8",
75
+ "etag": '"5103c-5HK4V8mRGKw17pJ5x54GVb2N5bU"',
76
+ "mtime": "2026-06-06T09:13:20.380Z",
77
+ "size": 331836,
78
+ "path": "../public/assets/index-Chp_30CP.js"
79
+ },
80
+ "/assets/index-DLvqlFS9.js": {
81
81
  "type": "text/javascript; charset=utf-8",
82
- "etag": '"899b2-Z4qeBA7/hHMhVcDcD+o7Iw8hgNw"',
83
- "mtime": "2026-06-06T08:18:21.511Z",
84
- "size": 563634,
85
- "path": "../public/assets/index-BIZeMR5N.js"
82
+ "etag": '"8b6f3-NmcxU8MkXNUN+0T4A/2Ajs2dUI4"',
83
+ "mtime": "2026-06-06T09:13:20.380Z",
84
+ "size": 571123,
85
+ "path": "../public/assets/index-DLvqlFS9.js"
86
86
  }
87
87
  };
88
88
  function readAsset(id) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tonyclaw/llm-inspector",
3
- "version": "1.11.0",
3
+ "version": "1.11.2",
4
4
  "type": "module",
5
5
  "description": "LLM API proxy inspector — captures and displays requests/responses from AI coding tools in a web UI",
6
6
  "license": "MIT",
@@ -46,6 +46,7 @@ export type TestResults = {
46
46
 
47
47
  type ProvidersPanelProps = {
48
48
  externalProviders?: ProviderConfig[];
49
+ isLoading?: boolean;
49
50
  externalTestResults?: Record<string, TestResults>;
50
51
  externalTestingProviders?: Set<string>;
51
52
  externalTestingTimeLeft?: Record<string, number>;
@@ -57,6 +58,7 @@ type ProvidersPanelProps = {
57
58
 
58
59
  export function ProvidersPanel({
59
60
  externalProviders,
61
+ isLoading = false,
60
62
  externalTestResults,
61
63
  externalTestingProviders,
62
64
  externalTestingTimeLeft,
@@ -402,8 +404,8 @@ export function ProvidersPanel({
402
404
  })();
403
405
  }
404
406
 
405
- // Only show loading if we have no providers at all (prevents flashing when reopening Settings during test)
406
- if (providers.length === 0) {
407
+ // Only show loading if we are actually loading (prevents flashing when reopening Settings during test)
408
+ if (isLoading) {
407
409
  return (
408
410
  <div className="flex items-center justify-center py-8">
409
411
  <p className="text-sm text-muted-foreground">Loading providers...</p>
@@ -10,7 +10,7 @@ import { useStripConfig } from "../../lib/useStripConfig";
10
10
  export function SettingsDialog(): JSX.Element {
11
11
  const [open, setOpen] = useState(false);
12
12
  const [activeTab, setActiveTab] = useState("providers");
13
- const { providers, mutate } = useProviders();
13
+ const { providers, isLoading, mutate } = useProviders();
14
14
  const [testResults, setTestResults] = useState<
15
15
  Record<string, import("./ProvidersPanel").TestResults>
16
16
  >({});
@@ -73,6 +73,7 @@ export function SettingsDialog(): JSX.Element {
73
73
  <TabsContent value="providers">
74
74
  <ProvidersPanel
75
75
  externalProviders={providers}
76
+ isLoading={isLoading}
76
77
  externalTestResults={testResults}
77
78
  externalTestingProviders={testingProviders}
78
79
  externalTestingTimeLeft={testingTimeLeft}
@@ -22,7 +22,7 @@ import { isAbsolute, join } from "node:path";
22
22
  export function getDataDir(): string {
23
23
  const isWindows = process.platform === "win32";
24
24
  const base = isWindows
25
- ? (process.env["APPDATA"] ?? join(process.env["USERPROFILE"] ?? "C:\\", ".llm-inspector"))
25
+ ? (process.env["USERPROFILE"] ?? join(process.env["APPDATA"] ?? "C:\\", ".llm-inspector"))
26
26
  : (process.env["HOME"] ?? "/tmp");
27
27
 
28
28
  const dirEnv = process.env["LLM_INSPECTOR_DATA_DIR"];