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 0f888e975a..7a42329abb 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,8 +1457,8 @@ export class ClineProvider // Requesty - async handleRequestyCallback(code: string) { - let { apiConfiguration, currentApiConfigName = "default" } = await this.getState() + async handleRequestyCallback(code: string, baseUrl: string | null) { + let { apiConfiguration } = await this.getState() const newConfiguration: ProviderSettings = { ...apiConfiguration, @@ -1466,7 +1467,16 @@ export class ClineProvider requestyModelId: apiConfiguration?.requestyModelId || requestyDefaultModelId, } - await this.upsertProviderProfile(currentApiConfigName, newConfiguration) + // 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 + } + + const profileName = `Requesty (${new Date().toLocaleString()})` + await this.upsertProviderProfile(profileName, newConfiguration) } // Task history 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" diff --git a/webview-ui/src/components/settings/providers/Requesty.tsx b/webview-ui/src/components/settings/providers/Requesty.tsx index 82e4ef8e42..a2015e4970 100644 --- a/webview-ui/src/components/settings/providers/Requesty.tsx +++ b/webview-ui/src/components/settings/providers/Requesty.tsx @@ -84,21 +84,19 @@ export const Requesty = ({
{t("settings:providers.apiKeyStorageNotice")}
- {!apiConfiguration?.requestyApiKey && ( - - {t("settings:providers.getRequestyApiKey")} - - )} + + {t("settings:providers.getRequestyApiKey")} + OpenRouter Transforms)",