From b955dbc1fcb2cd11a52f8d8968248441acd967a2 Mon Sep 17 00:00:00 2001 From: Daniel Trugman Date: Mon, 21 Apr 2025 16:56:02 +0100 Subject: [PATCH] Requesty models behind api key (#2813) * Don't fetch Requesty models on startup, only when opening settings * Provide api key when fetching models --- src/api/providers/requesty.ts | 10 ++++++++-- src/core/webview/webviewMessageHandler.ts | 16 +--------------- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/src/api/providers/requesty.ts b/src/api/providers/requesty.ts index 822db1a6b0..680b6e7179 100644 --- a/src/api/providers/requesty.ts +++ b/src/api/providers/requesty.ts @@ -58,11 +58,17 @@ export class RequestyHandler extends OpenAiHandler { } } -export async function getRequestyModels() { +export async function getRequestyModels(apiKey?: string) { const models: Record = {} try { - const response = await axios.get("https://router.requesty.ai/v1/models") + const headers: Record = {} + if (apiKey) { + headers["Authorization"] = `Bearer ${apiKey}` + } + + const url = "https://router.requesty.ai/v1/models" + const response = await axios.get(url, { headers }) const rawModels = response.data.data for (const rawModel of rawModels) { diff --git a/src/core/webview/webviewMessageHandler.ts b/src/core/webview/webviewMessageHandler.ts index b542fdb166..639c3b477f 100644 --- a/src/core/webview/webviewMessageHandler.ts +++ b/src/core/webview/webviewMessageHandler.ts @@ -152,20 +152,6 @@ export const webviewMessageHandler = async (provider: ClineProvider, message: We } }) - getRequestyModels().then(async (requestyModels) => { - if (Object.keys(requestyModels).length > 0) { - await provider.writeModelsToCache(GlobalFileNames.requestyModels, requestyModels) - await provider.postMessageToWebview({ type: "requestyModels", requestyModels }) - - const { apiConfiguration } = await provider.getState() - - if (apiConfiguration.requestyModelId) { - await updateGlobalState("requestyModelInfo", requestyModels[apiConfiguration.requestyModelId]) - await provider.postStateToWebview() - } - } - }) - provider.providerSettingsManager .listConfig() .then(async (listApiConfig) => { @@ -413,7 +399,7 @@ export const webviewMessageHandler = async (provider: ClineProvider, message: We break case "refreshRequestyModels": - const requestyModels = await getRequestyModels() + const requestyModels = await getRequestyModels(message.values?.apiKey) if (Object.keys(requestyModels).length > 0) { await provider.writeModelsToCache(GlobalFileNames.requestyModels, requestyModels)