Skip to content

Commit b17853d

Browse files
committed
fix: ollama and lmstudio models are handled separatedly
1 parent 5998a1a commit b17853d

File tree

2 files changed

+31
-41
lines changed

2 files changed

+31
-41
lines changed

src/core/webview/__tests__/ClineProvider.spec.ts

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2155,8 +2155,8 @@ describe("ClineProvider - Router Models", () => {
21552155
glama: mockModels,
21562156
unbound: mockModels,
21572157
litellm: mockModels,
2158-
ollama: mockModels,
2159-
lmstudio: mockModels,
2158+
ollama: {},
2159+
lmstudio: {},
21602160
},
21612161
})
21622162
})
@@ -2187,8 +2187,6 @@ describe("ClineProvider - Router Models", () => {
21872187
.mockRejectedValueOnce(new Error("Requesty API error")) // requesty fail
21882188
.mockResolvedValueOnce(mockModels) // glama success
21892189
.mockRejectedValueOnce(new Error("Unbound API error")) // unbound fail
2190-
.mockRejectedValueOnce(new Error("Ollama API error")) // ollama fail
2191-
.mockRejectedValueOnce(new Error("LMStudio API error")) // lmstudio fail
21922190
.mockRejectedValueOnce(new Error("LiteLLM connection failed")) // litellm fail
21932191

21942192
await messageHandler({ type: "requestRouterModels" })
@@ -2225,16 +2223,10 @@ describe("ClineProvider - Router Models", () => {
22252223
expect(mockPostMessage).toHaveBeenCalledWith({
22262224
type: "singleRouterModelFetchResponse",
22272225
success: false,
2228-
error: "Ollama API error",
2229-
values: { provider: "ollama" },
2226+
error: "Unbound API error",
2227+
values: { provider: "unbound" },
22302228
})
22312229

2232-
expect(mockPostMessage).toHaveBeenCalledWith({
2233-
type: "singleRouterModelFetchResponse",
2234-
success: false,
2235-
error: "LMStudio API error",
2236-
values: { provider: "lmstudio" },
2237-
})
22382230
expect(mockPostMessage).toHaveBeenCalledWith({
22392231
type: "singleRouterModelFetchResponse",
22402232
success: false,
@@ -2318,8 +2310,8 @@ describe("ClineProvider - Router Models", () => {
23182310
glama: mockModels,
23192311
unbound: mockModels,
23202312
litellm: {},
2321-
ollama: mockModels,
2322-
lmstudio: mockModels,
2313+
ollama: {},
2314+
lmstudio: {},
23232315
},
23242316
})
23252317
})

src/core/webview/__tests__/webviewMessageHandler.spec.ts

Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ describe("webviewMessageHandler - requestRouterModels", () => {
7373
glama: mockModels,
7474
unbound: mockModels,
7575
litellm: mockModels,
76-
ollama: mockModels,
77-
lmstudio: mockModels,
76+
ollama: {},
77+
lmstudio: {},
7878
},
7979
})
8080
})
@@ -160,8 +160,8 @@ describe("webviewMessageHandler - requestRouterModels", () => {
160160
glama: mockModels,
161161
unbound: mockModels,
162162
litellm: {},
163-
ollama: mockModels,
164-
lmstudio: mockModels,
163+
ollama: {},
164+
lmstudio: {},
165165
},
166166
})
167167
})
@@ -182,8 +182,6 @@ describe("webviewMessageHandler - requestRouterModels", () => {
182182
.mockRejectedValueOnce(new Error("Requesty API error")) // requesty
183183
.mockResolvedValueOnce(mockModels) // glama
184184
.mockRejectedValueOnce(new Error("Unbound API error")) // unbound
185-
.mockRejectedValueOnce(new Error("Ollama connection failed")) // ollama
186-
.mockRejectedValueOnce(new Error("LMStudio connection failed")) // lmstudio
187185
.mockRejectedValueOnce(new Error("LiteLLM connection failed")) // litellm
188186

189187
await webviewMessageHandler(mockClineProvider, {
@@ -212,20 +210,6 @@ describe("webviewMessageHandler - requestRouterModels", () => {
212210
values: { provider: "requesty" },
213211
})
214212

215-
expect(mockClineProvider.postMessageToWebview).toHaveBeenCalledWith({
216-
type: "singleRouterModelFetchResponse",
217-
success: false,
218-
error: "Ollama connection failed",
219-
values: { provider: "ollama" },
220-
})
221-
222-
expect(mockClineProvider.postMessageToWebview).toHaveBeenCalledWith({
223-
type: "singleRouterModelFetchResponse",
224-
success: false,
225-
error: "LMStudio connection failed",
226-
values: { provider: "lmstudio" },
227-
})
228-
229213
expect(mockClineProvider.postMessageToWebview).toHaveBeenCalledWith({
230214
type: "singleRouterModelFetchResponse",
231215
success: false,
@@ -244,11 +228,11 @@ describe("webviewMessageHandler - requestRouterModels", () => {
244228
it("handles Error objects and string errors correctly", async () => {
245229
// Mock providers to fail with different error types
246230
mockGetModels
247-
.mockRejectedValueOnce(new Error("Structured error message")) // Error object
248-
.mockRejectedValueOnce("String error message") // String error
249-
.mockRejectedValueOnce({ message: "Object with message" }) // Object error
250-
.mockResolvedValueOnce({}) // Success
251-
.mockResolvedValueOnce({}) // Success
231+
.mockRejectedValueOnce(new Error("Structured error message")) // openrouter
232+
.mockRejectedValueOnce(new Error("Requesty API error")) // requesty
233+
.mockRejectedValueOnce(new Error("Glama API error")) // glama
234+
.mockRejectedValueOnce(new Error("Unbound API error")) // unbound
235+
.mockRejectedValueOnce(new Error("LiteLLM connection failed")) // litellm
252236

253237
await webviewMessageHandler(mockClineProvider, {
254238
type: "requestRouterModels",
@@ -265,16 +249,30 @@ describe("webviewMessageHandler - requestRouterModels", () => {
265249
expect(mockClineProvider.postMessageToWebview).toHaveBeenCalledWith({
266250
type: "singleRouterModelFetchResponse",
267251
success: false,
268-
error: "String error message",
252+
error: "Requesty API error",
269253
values: { provider: "requesty" },
270254
})
271255

272256
expect(mockClineProvider.postMessageToWebview).toHaveBeenCalledWith({
273257
type: "singleRouterModelFetchResponse",
274258
success: false,
275-
error: "[object Object]",
259+
error: "Glama API error",
276260
values: { provider: "glama" },
277261
})
262+
263+
expect(mockClineProvider.postMessageToWebview).toHaveBeenCalledWith({
264+
type: "singleRouterModelFetchResponse",
265+
success: false,
266+
error: "Unbound API error",
267+
values: { provider: "unbound" },
268+
})
269+
270+
expect(mockClineProvider.postMessageToWebview).toHaveBeenCalledWith({
271+
type: "singleRouterModelFetchResponse",
272+
success: false,
273+
error: "LiteLLM connection failed",
274+
values: { provider: "litellm" },
275+
})
278276
})
279277

280278
it("prefers config values over message values for LiteLLM", async () => {

0 commit comments

Comments
 (0)