From 30f7c00983da8eff096061e54428eba62de74bcf Mon Sep 17 00:00:00 2001 From: John Costa Date: Thu, 23 Oct 2025 14:03:27 +0100 Subject: [PATCH] fix: using base url sent from the frontend --- src/activate/handleUri.ts | 3 ++- src/core/webview/ClineProvider.ts | 15 ++++++++++++--- src/shared/utils/requesty.ts | 2 +- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/activate/handleUri.ts b/src/activate/handleUri.ts index 7f0b4c64cc..468785fd92 100644 --- a/src/activate/handleUri.ts +++ b/src/activate/handleUri.ts @@ -30,8 +30,9 @@ export const handleUri = async (uri: vscode.Uri) => { } case "/requesty": { const code = query.get("code") + const baseUrl = query.get("baseUrl") if (code) { - await visibleProvider.handleRequestyCallback(code) + await visibleProvider.handleRequestyCallback(code, baseUrl) } break } diff --git a/src/core/webview/ClineProvider.ts b/src/core/webview/ClineProvider.ts index e80f609c15..addcf3de0e 100644 --- a/src/core/webview/ClineProvider.ts +++ b/src/core/webview/ClineProvider.ts @@ -94,6 +94,7 @@ import type { ClineMessage } from "@roo-code/types" import { readApiMessages, saveApiMessages, saveTaskMessages } from "../task-persistence" import { getNonce } from "./getNonce" import { getUri } from "./getUri" +import { REQUESTY_BASE_URL } from "../../shared/utils/requesty" /** * https://github.com/microsoft/vscode-webview-ui-toolkit-samples/blob/main/default/weather-webview/src/providers/WeatherViewProvider.ts @@ -1456,14 +1457,22 @@ export class ClineProvider // Requesty - async handleRequestyCallback(code: string) { - const { apiConfiguration } = await this.getState() + async handleRequestyCallback(code: string, baseUrl: string | null) { + let { apiConfiguration } = await this.getState() const newConfiguration: ProviderSettings = { ...apiConfiguration, apiProvider: "requesty", requestyApiKey: code, - requestyModelId: requestyDefaultModelId, + requestyModelId: apiConfiguration?.requestyModelId || requestyDefaultModelId, + } + + // set baseUrl as undefined if we don't provide one + // or if it is the default requesty url + if (!baseUrl || baseUrl === REQUESTY_BASE_URL) { + newConfiguration.requestyBaseUrl = undefined + } else { + newConfiguration.requestyBaseUrl = baseUrl } await this.upsertProviderProfile("Requesty", newConfiguration) diff --git a/src/shared/utils/requesty.ts b/src/shared/utils/requesty.ts index b5d73e629f..556a17cdb8 100644 --- a/src/shared/utils/requesty.ts +++ b/src/shared/utils/requesty.ts @@ -1,4 +1,4 @@ -const REQUESTY_BASE_URL = "https://router.requesty.ai/v1" +export const REQUESTY_BASE_URL = "https://router.requesty.ai/v1" type URLType = "router" | "app" | "api"