@tonyclaw/llm-inspector 1.11.1 → 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.
- package/.output/nitro.json +1 -1
- package/.output/public/assets/{index-CJAEVDxO.js → index-Chp_30CP.js} +1 -1
- package/.output/public/assets/{index-Br-A2_Tw.js → index-DLvqlFS9.js} +11 -11
- package/.output/server/_ssr/{index-DWXpepEi.mjs → index-CYuV1ljD.mjs} +6 -4
- package/.output/server/_ssr/index.mjs +2 -2
- package/.output/server/_ssr/{router-BwW7lHGB.mjs → router-e-RbjELX.mjs} +1 -1
- package/.output/server/{_tanstack-start-manifest_v-BlkT8-rj.mjs → _tanstack-start-manifest_v-C5P5lsG5.mjs} +1 -1
- package/.output/server/index.mjs +28 -28
- package/package.json +1 -1
- package/src/components/providers/ProvidersPanel.tsx +4 -2
- package/src/components/providers/SettingsDialog.tsx +2 -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, R as RuntimeConfigSchema, a as parseRequest, s as stripClaudeCodeBillingHeader, p as parseOpenAIResponse, I as InspectorResponseSchema } from "./router-
|
|
2
|
+
import { C as CapturedLogSchema, R as RuntimeConfigSchema, a as parseRequest, s as stripClaudeCodeBillingHeader, p as parseOpenAIResponse, I as InspectorResponseSchema } from "./router-e-RbjELX.mjs";
|
|
3
3
|
import { u as useSWR, a as useSWRConfig } from "../_libs/swr.mjs";
|
|
4
4
|
import { u as useVirtualizer } from "../_libs/tanstack__react-virtual.mjs";
|
|
5
5
|
import { J as JSZip } from "../_libs/jszip.mjs";
|
|
@@ -255,7 +255,7 @@ async function exportLogsAsZip(logs) {
|
|
|
255
255
|
document.body.removeChild(anchor);
|
|
256
256
|
URL.revokeObjectURL(url);
|
|
257
257
|
}
|
|
258
|
-
const version = "1.11.
|
|
258
|
+
const version = "1.11.2";
|
|
259
259
|
const packageJson = {
|
|
260
260
|
version
|
|
261
261
|
};
|
|
@@ -3168,6 +3168,7 @@ function ProviderForm({ provider, onSubmit, onCancel }) {
|
|
|
3168
3168
|
}
|
|
3169
3169
|
function ProvidersPanel({
|
|
3170
3170
|
externalProviders,
|
|
3171
|
+
isLoading = false,
|
|
3171
3172
|
externalTestResults,
|
|
3172
3173
|
externalTestingProviders,
|
|
3173
3174
|
externalTestingTimeLeft,
|
|
@@ -3446,7 +3447,7 @@ function ProvidersPanel({
|
|
|
3446
3447
|
e.target.value = "";
|
|
3447
3448
|
})();
|
|
3448
3449
|
}
|
|
3449
|
-
if (
|
|
3450
|
+
if (isLoading) {
|
|
3450
3451
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center justify-center py-8", children: /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-muted-foreground", children: "Loading providers..." }) });
|
|
3451
3452
|
}
|
|
3452
3453
|
if (showForm || editingProvider) {
|
|
@@ -3584,7 +3585,7 @@ function useProviders() {
|
|
|
3584
3585
|
function SettingsDialog() {
|
|
3585
3586
|
const [open, setOpen] = reactExports.useState(false);
|
|
3586
3587
|
const [activeTab, setActiveTab] = reactExports.useState("providers");
|
|
3587
|
-
const { providers, mutate } = useProviders();
|
|
3588
|
+
const { providers, isLoading, mutate } = useProviders();
|
|
3588
3589
|
const [testResults, setTestResults] = reactExports.useState({});
|
|
3589
3590
|
const [testingProviders, setTestingProviders] = reactExports.useState(/* @__PURE__ */ new Set());
|
|
3590
3591
|
const [testingTimeLeft, setTestingTimeLeft] = reactExports.useState({});
|
|
@@ -3635,6 +3636,7 @@ function SettingsDialog() {
|
|
|
3635
3636
|
ProvidersPanel,
|
|
3636
3637
|
{
|
|
3637
3638
|
externalProviders: providers,
|
|
3639
|
+
isLoading,
|
|
3638
3640
|
externalTestResults: testResults,
|
|
3639
3641
|
externalTestingProviders: testingProviders,
|
|
3640
3642
|
externalTestingTimeLeft: testingTimeLeft,
|
|
@@ -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-
|
|
88
|
+
const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-C5P5lsG5.mjs");
|
|
89
89
|
const startManifest = tsrStartManifest();
|
|
90
90
|
let routes = startManifest.routes;
|
|
91
91
|
routes[rootRouteId];
|
|
@@ -1157,7 +1157,7 @@ var getBaseManifest = getProdBaseManifest;
|
|
|
1157
1157
|
var createEarlyHintsForRequest = createEarlyHintsCollector;
|
|
1158
1158
|
async function loadEntries() {
|
|
1159
1159
|
const [routerEntry, startEntry, pluginAdapters] = await Promise.all([
|
|
1160
|
-
import("./router-
|
|
1160
|
+
import("./router-e-RbjELX.mjs").then((n) => n.r),
|
|
1161
1161
|
import("./start-HYkvq4Ni.mjs"),
|
|
1162
1162
|
import("./empty-plugin-adapters-BFgPZ6_d.mjs")
|
|
1163
1163
|
]);
|
|
@@ -66,7 +66,7 @@ function RootDocument({ children }) {
|
|
|
66
66
|
] })
|
|
67
67
|
] });
|
|
68
68
|
}
|
|
69
|
-
const $$splitComponentImporter = () => import("./index-
|
|
69
|
+
const $$splitComponentImporter = () => import("./index-CYuV1ljD.mjs");
|
|
70
70
|
const Route$g = createFileRoute("/")({
|
|
71
71
|
component: lazyRouteComponent($$splitComponentImporter, "component")
|
|
72
72
|
});
|
|
@@ -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/models", "/api/providers", "/api/sessions", "/proxy/$"], preloads: ["/assets/index-
|
|
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
2
|
export {
|
|
3
3
|
tsrStartManifest
|
|
4
4
|
};
|
package/.output/server/index.mjs
CHANGED
|
@@ -35,54 +35,54 @@ const headers = ((m) => function headersRouteRule(event) {
|
|
|
35
35
|
}
|
|
36
36
|
});
|
|
37
37
|
const assets = {
|
|
38
|
-
"/assets/
|
|
39
|
-
"type": "
|
|
40
|
-
"etag": '"
|
|
41
|
-
"mtime": "2026-06-
|
|
42
|
-
"size":
|
|
43
|
-
"path": "../public/assets/
|
|
38
|
+
"/assets/alibaba-TTwafVwX.svg": {
|
|
39
|
+
"type": "image/svg+xml",
|
|
40
|
+
"etag": '"171b-6dyV5K8QjiaY35sN9qNprh9zDIs"',
|
|
41
|
+
"mtime": "2026-06-06T09:13:20.378Z",
|
|
42
|
+
"size": 5915,
|
|
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-
|
|
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-BpKPXEcb.css": {
|
|
53
|
+
"type": "text/css; charset=utf-8",
|
|
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
|
+
},
|
|
52
59
|
"/assets/zhipuai-BPNAnxo-.svg": {
|
|
53
60
|
"type": "image/svg+xml",
|
|
54
61
|
"etag": '"2bf8-hNaLCTi89nOFCsIIfWpP/jrfo0s"',
|
|
55
|
-
"mtime": "2026-06-
|
|
62
|
+
"mtime": "2026-06-06T09:13:20.378Z",
|
|
56
63
|
"size": 11256,
|
|
57
64
|
"path": "../public/assets/zhipuai-BPNAnxo-.svg"
|
|
58
65
|
},
|
|
59
|
-
"/assets/alibaba-TTwafVwX.svg": {
|
|
60
|
-
"type": "image/svg+xml",
|
|
61
|
-
"etag": '"171b-6dyV5K8QjiaY35sN9qNprh9zDIs"',
|
|
62
|
-
"mtime": "2026-06-06T08:52:53.276Z",
|
|
63
|
-
"size": 5915,
|
|
64
|
-
"path": "../public/assets/alibaba-TTwafVwX.svg"
|
|
65
|
-
},
|
|
66
|
-
"/assets/index-CJAEVDxO.js": {
|
|
67
|
-
"type": "text/javascript; charset=utf-8",
|
|
68
|
-
"etag": '"5103c-Fm0ddCMQjVyxHTIhvYff6MKiugM"',
|
|
69
|
-
"mtime": "2026-06-06T08:52:53.277Z",
|
|
70
|
-
"size": 331836,
|
|
71
|
-
"path": "../public/assets/index-CJAEVDxO.js"
|
|
72
|
-
},
|
|
73
66
|
"/assets/qwen-CONDcHqt.png": {
|
|
74
67
|
"type": "image/png",
|
|
75
68
|
"etag": '"572c3-cdJAPaHdOvFCGzuaQjagdgOu6XE"',
|
|
76
|
-
"mtime": "2026-06-
|
|
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-
|
|
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": '"
|
|
83
|
-
"mtime": "2026-06-
|
|
84
|
-
"size":
|
|
85
|
-
"path": "../public/assets/index-
|
|
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
|
@@ -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
|
|
406
|
-
if (
|
|
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}
|