




























@@ -6,6 +6,7 @@ import { afterEach, describe, expect, it, vi } from "vitest";
66import { LMSTUDIO_DEFAULT_LOAD_CONTEXT_LENGTH } from "./defaults.js";
77import { discoverLmstudioModels, ensureLmstudioModelLoaded } from "./models.fetch.js";
88import {
9+normalizeLmstudioProviderConfig,
910resolveLmstudioInferenceBase,
1011resolveLmstudioReasoningCapability,
1112resolveLmstudioServerBase,
@@ -89,6 +90,37 @@ describe("lmstudio-models", () => {
8990expect(resolveLmstudioInferenceBase("localhost:1234/api/v1")).toBe("http://localhost:1234/v1");
9091});
919293+it("marks configured LM Studio endpoints as trusted private-network model targets", () => {
94+expect(
95+normalizeLmstudioProviderConfig({
96+baseUrl: "http://192.168.1.10:1234",
97+models: [],
98+}),
99+).toEqual({
100+baseUrl: "http://192.168.1.10:1234/v1",
101+request: { allowPrivateNetwork: true },
102+models: [],
103+});
104+105+expect(
106+normalizeLmstudioProviderConfig({
107+baseUrl: "http://gpu-box.local:1234/v1",
108+request: {
109+allowPrivateNetwork: false,
110+headers: { "X-Proxy-Auth": "token" },
111+},
112+models: [],
113+}),
114+).toEqual({
115+baseUrl: "http://gpu-box.local:1234/v1",
116+request: {
117+allowPrivateNetwork: false,
118+headers: { "X-Proxy-Auth": "token" },
119+},
120+models: [],
121+});
122+});
123+92124it("resolves reasoning capability for supported and unsupported options", () => {
93125expect(resolveLmstudioReasoningCapability({ capabilities: undefined })).toBe(false);
94126expect(
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。