From 5148255975d502877bc57f3e0f83b49fabe965a8 Mon Sep 17 00:00:00 2001 From: Thibault Jaigu Date: Fri, 17 Oct 2025 11:51:36 +0100 Subject: [PATCH 1/3] fix: create new Requesty profile during OAuth instead of updating default --- src/core/webview/ClineProvider.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/webview/ClineProvider.ts b/src/core/webview/ClineProvider.ts index 0f888e975a9..e80f609c15c 100644 --- a/src/core/webview/ClineProvider.ts +++ b/src/core/webview/ClineProvider.ts @@ -1457,16 +1457,16 @@ export class ClineProvider // Requesty async handleRequestyCallback(code: string) { - let { apiConfiguration, currentApiConfigName = "default" } = await this.getState() + const { apiConfiguration } = await this.getState() const newConfiguration: ProviderSettings = { ...apiConfiguration, apiProvider: "requesty", requestyApiKey: code, - requestyModelId: apiConfiguration?.requestyModelId || requestyDefaultModelId, + requestyModelId: requestyDefaultModelId, } - await this.upsertProviderProfile(currentApiConfigName, newConfiguration) + await this.upsertProviderProfile("Requesty", newConfiguration) } // Task history From 30f7c00983da8eff096061e54428eba62de74bcf Mon Sep 17 00:00:00 2001 From: John Costa Date: Thu, 23 Oct 2025 14:03:27 +0100 Subject: [PATCH 2/3] 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 7f0b4c64cc1..468785fd92a 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 e80f609c15c..addcf3de0ed 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 b5d73e629f8..556a17cdb8d 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" From f7d787c3f2477229c16788fa345c0def6b9d1807 Mon Sep 17 00:00:00 2001 From: John Costa Date: Sat, 25 Oct 2025 13:52:28 +0100 Subject: [PATCH 3/3] fix: creating new profile when rotating keys --- src/core/webview/ClineProvider.ts | 3 +- .../settings/providers/Requesty.tsx | 28 +++++++++---------- webview-ui/src/i18n/locales/en/settings.json | 2 +- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/src/core/webview/ClineProvider.ts b/src/core/webview/ClineProvider.ts index addcf3de0ed..7a42329abb4 100644 --- a/src/core/webview/ClineProvider.ts +++ b/src/core/webview/ClineProvider.ts @@ -1475,7 +1475,8 @@ export class ClineProvider newConfiguration.requestyBaseUrl = baseUrl } - await this.upsertProviderProfile("Requesty", newConfiguration) + const profileName = `Requesty (${new Date().toLocaleString()})` + await this.upsertProviderProfile(profileName, newConfiguration) } // Task history diff --git a/webview-ui/src/components/settings/providers/Requesty.tsx b/webview-ui/src/components/settings/providers/Requesty.tsx index 82e4ef8e42c..a2015e4970a 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)",