Skip to content

Commit eeabc50

Browse files
committed
Fix url
1 parent 382764c commit eeabc50

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/api/providers/roo.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,22 +24,28 @@ export class RooHandler extends BaseOpenAiCompatibleProvider<string> {
2424
sessionToken = CloudService.instance.authService?.getSessionToken()
2525
}
2626

27-
const baseURL = process.env.ROO_CODE_PROVIDER_URL ?? "https://api.roocode.com/proxy"
27+
let baseURL = process.env.ROO_CODE_PROVIDER_URL ?? "https://api.roocode.com/proxy"
28+
29+
// Ensure baseURL ends with /v1 for OpenAI client, but don't duplicate it
30+
if (!baseURL.endsWith("/v1")) {
31+
baseURL = `${baseURL}/v1`
32+
}
2833

2934
// Always construct the handler, even without a valid token.
3035
// The provider-proxy server will return 401 if authentication fails.
3136
super({
3237
...options,
3338
providerName: "Roo Code Cloud",
34-
baseURL: `${baseURL}/v1`, // OpenAI client needs /v1 suffix
39+
baseURL, // Already has /v1 suffix
3540
apiKey: sessionToken || "unauthenticated", // Use a placeholder if no token.
3641
defaultProviderModelId: rooDefaultModelId,
3742
providerModels: {},
3843
defaultTemperature: 0.7,
3944
})
4045

41-
// Load dynamic models asynchronously - pass base URL without /v1
42-
this.loadDynamicModels(baseURL, sessionToken).catch((error) => {
46+
// Load dynamic models asynchronously - strip /v1 from baseURL for fetcher
47+
const fetcherBaseURL = baseURL.endsWith("/v1") ? baseURL.slice(0, -3) : baseURL
48+
this.loadDynamicModels(fetcherBaseURL, sessionToken).catch((error) => {
4349
console.error("[RooHandler] Failed to load dynamic models:", error)
4450
})
4551

0 commit comments

Comments
 (0)