From ed4cea3cbbb29cf77c18d2515b8f5c55ecfbc4b9 Mon Sep 17 00:00:00 2001 From: PierrunoYT Date: Sat, 24 Oct 2026 14:55:00 +0200 Subject: [PATCH 1/4] fix(azure): name the missing deployment on Azure OpenAI 404 errors Azure OpenAI sends each request to /openai/deployments/, where is the "Azure deployment name" field. When that field holds the model name (for example the pre-filled gpt-4o) instead of the real deployment name, Azure returns a bare "404 Resource not found". - Wrap 404 errors from Azure OpenAI endpoints with a message that names the requested deployment and explains the field. Keep the HTTP status. - Show the resolved request URL under the deployment field in settings. - Share the Azure base URL normalization between the provider and the settings view through new helpers in @roo-code/types. Co-Authored-By: Claude Opus 5.5 --- .../types/src/__tests__/azure-openai.test.ts | 37 ++++++++++ packages/types/src/providers/openai.ts | 17 +++++ src/api/providers/__tests__/openai.spec.ts | 70 ++++++++++++++++++- src/api/providers/openai.ts | 42 ++++++++--- src/i18n/locales/ca/common.json | 3 +- src/i18n/locales/de/common.json | 3 +- src/i18n/locales/en/common.json | 3 +- src/i18n/locales/es/common.json | 3 +- src/i18n/locales/fr/common.json | 3 +- src/i18n/locales/hi/common.json | 3 +- src/i18n/locales/id/common.json | 3 +- src/i18n/locales/it/common.json | 3 +- src/i18n/locales/ja/common.json | 3 +- src/i18n/locales/ko/common.json | 3 +- src/i18n/locales/nl/common.json | 3 +- src/i18n/locales/pl/common.json | 3 +- src/i18n/locales/pt-BR/common.json | 3 +- src/i18n/locales/ru/common.json | 3 +- src/i18n/locales/tr/common.json | 3 +- src/i18n/locales/vi/common.json | 3 +- src/i18n/locales/zh-CN/common.json | 3 +- src/i18n/locales/zh-TW/common.json | 3 +- .../settings/providers/OpenAICompatible.tsx | 13 ++++ .../__tests__/OpenAICompatible.spec.tsx | 46 +++++++++++- webview-ui/src/i18n/locales/ca/settings.json | 1 + webview-ui/src/i18n/locales/de/settings.json | 1 + webview-ui/src/i18n/locales/en/settings.json | 1 + webview-ui/src/i18n/locales/es/settings.json | 1 + webview-ui/src/i18n/locales/fr/settings.json | 1 + webview-ui/src/i18n/locales/hi/settings.json | 1 + webview-ui/src/i18n/locales/id/settings.json | 1 + webview-ui/src/i18n/locales/it/settings.json | 1 + webview-ui/src/i18n/locales/ja/settings.json | 1 + webview-ui/src/i18n/locales/ko/settings.json | 1 + webview-ui/src/i18n/locales/nl/settings.json | 1 + webview-ui/src/i18n/locales/pl/settings.json | 1 + .../src/i18n/locales/pt-BR/settings.json | 1 + webview-ui/src/i18n/locales/ru/settings.json | 1 + webview-ui/src/i18n/locales/tr/settings.json | 1 + webview-ui/src/i18n/locales/vi/settings.json | 1 + .../src/i18n/locales/zh-CN/settings.json | 1 + .../src/i18n/locales/zh-TW/settings.json | 1 + 42 files changed, 269 insertions(+), 28 deletions(-) create mode 100644 packages/types/src/__tests__/azure-openai.test.ts diff --git a/packages/types/src/__tests__/azure-openai.test.ts b/packages/types/src/__tests__/azure-openai.test.ts new file mode 100644 index 0000000000..7f5dde3a9a --- /dev/null +++ b/packages/types/src/__tests__/azure-openai.test.ts @@ -0,0 +1,37 @@ +import { + azureOpenAiDefaultApiVersion, + getAzureOpenAiBaseUrl, + getAzureOpenAiChatCompletionsUrl, +} from "../providers/openai.js" + +describe("Azure OpenAI URLs", () => { + it.each([ + ["https://resource.openai.azure.com", "https://resource.openai.azure.com/openai"], + ["https://resource.openai.azure.com/", "https://resource.openai.azure.com/openai"], + ["https://resource.openai.azure.com/openai", "https://resource.openai.azure.com/openai"], + ["https://resource.openai.azure.com/OpenAI/", "https://resource.openai.azure.com/openai"], + ["https://models.example.com/azure/", "https://models.example.com/azure/openai"], + ])("normalizes %s to the /openai root", (baseUrl, expected) => { + expect(getAzureOpenAiBaseUrl(baseUrl)).toBe(expected) + }) + + it.each([ + { + apiVersion: "2025-01-01-preview", + expected: + "https://resource.openai.azure.com/openai/deployments/brotherhood/chat/completions?api-version=2025-01-01-preview", + }, + { + apiVersion: undefined, + expected: `https://resource.openai.azure.com/openai/deployments/brotherhood/chat/completions?api-version=${azureOpenAiDefaultApiVersion}`, + }, + { + apiVersion: "", + expected: `https://resource.openai.azure.com/openai/deployments/brotherhood/chat/completions?api-version=${azureOpenAiDefaultApiVersion}`, + }, + ])("builds the deployment chat completions URL for API version $apiVersion", ({ apiVersion, expected }) => { + expect(getAzureOpenAiChatCompletionsUrl("https://resource.openai.azure.com/", "brotherhood", apiVersion)).toBe( + expected, + ) + }) +}) diff --git a/packages/types/src/providers/openai.ts b/packages/types/src/providers/openai.ts index 41d00c7a04..27214613d1 100644 --- a/packages/types/src/providers/openai.ts +++ b/packages/types/src/providers/openai.ts @@ -978,3 +978,20 @@ export function isAzureOpenAiBaseUrl(baseUrl?: string, useAzure?: boolean): bool return false } } + +/** + * Normalizes an Azure OpenAI resource URL to the `/openai` root the AzureOpenAI + * client expects. A trailing `/openai` the user already typed is not repeated. + */ +export function getAzureOpenAiBaseUrl(baseUrl: string): string { + return `${baseUrl.replace(/\/openai\/?$/i, "").replace(/\/$/, "")}/openai` +} + +/** + * Returns the chat completions URL the AzureOpenAI client requests: it inserts + * `/deployments/` using the configured model ID as the deployment name. + */ +export function getAzureOpenAiChatCompletionsUrl(baseUrl: string, deployment: string, apiVersion?: string): string { + const version = apiVersion || azureOpenAiDefaultApiVersion + return `${getAzureOpenAiBaseUrl(baseUrl)}/deployments/${deployment}/chat/completions?api-version=${version}` +} diff --git a/src/api/providers/__tests__/openai.spec.ts b/src/api/providers/__tests__/openai.spec.ts index 7c45f22180..a405ce74cf 100644 --- a/src/api/providers/__tests__/openai.spec.ts +++ b/src/api/providers/__tests__/openai.spec.ts @@ -20,6 +20,11 @@ vitest.mock("../utils/timeout-config", () => ({ getApiRequestTimeout: vitest.fn().mockReturnValue(300_000), })) +// Echo the key and interpolation values so tests can assert what reaches the message. +vitest.mock("../../../i18n", () => ({ + t: (key: string, options?: Record) => (options ? `${key} ${JSON.stringify(options)}` : key), +})) + const MOCK_TIMEOUT_MS = 300_000 const mockCreate = vitest.fn() @@ -81,7 +86,9 @@ vitest.mock("openai", () => { }, } }), - AzureOpenAI: mockAzureConstructor, + AzureOpenAI: mockAzureConstructor.mockImplementation(function () { + return { chat: { completions: { create: mockCreate } } } + }), } }) @@ -941,6 +948,67 @@ describe("OpenAiHandler", () => { }) }) + describe("Azure OpenAI deployment errors", () => { + const azureOptions = { + openAiApiKey: "test-api-key", + openAiBaseUrl: "https://resource.openai.azure.com/", + } + + function makeStatusError(message: string, status: number) { + return Object.assign(new Error(message), { status }) + } + + async function request( + entryPoint: "streaming" | "non-streaming" | "o3" | "completePrompt", + options: Partial, + ) { + const requestHandler = new OpenAiHandler( + makeApiHandlerOptions({ + openAiModelId: entryPoint === "o3" ? "o3-mini" : "gpt-4o", + openAiStreamingEnabled: entryPoint !== "non-streaming", + ...options, + }), + ) + + if (entryPoint === "completePrompt") { + return requestHandler.completePrompt("Test prompt") + } + + return collectStream(requestHandler.createMessage("system prompt", [{ role: "user", content: "Hello" }])) + } + + it.each(["streaming", "non-streaming", "o3", "completePrompt"] as const)( + "names the missing deployment on an Azure 404 (%s)", + async (entryPoint) => { + mockCreate.mockRejectedValueOnce(makeStatusError("404 Resource not found", 404)) + + const error = await request(entryPoint, azureOptions).catch((e: unknown) => e) + const deployment = entryPoint === "o3" ? "o3-mini" : "gpt-4o" + + expect(error).toBeInstanceOf(Error) + expect(error).toMatchObject({ status: 404 }) + expect((error as Error).message).toContain( + `errors.api.azureDeploymentNotFound ${JSON.stringify({ deployment, message: "404 Resource not found" })}`, + ) + }, + ) + + it.each([ + { name: "a non-404 Azure error", options: azureOptions, status: 401 }, + { + name: "a 404 from a non-Azure endpoint", + options: { ...azureOptions, openAiBaseUrl: "https://api.openai.com/v1" }, + status: 404, + }, + ])("keeps the generic error message for $name", async ({ options, status }) => { + mockCreate.mockRejectedValueOnce(makeStatusError("Request failed", status)) + + const error = await request("streaming", options).catch((e: unknown) => e) + + expect(error).toMatchObject({ status, message: "OpenAI completion error: Request failed" }) + }) + }) + describe("completePrompt", () => { it("should complete prompt successfully", async () => { const result = await handler.completePrompt("Test prompt") diff --git a/src/api/providers/openai.ts b/src/api/providers/openai.ts index aaf3bab8fb..653d3e0705 100644 --- a/src/api/providers/openai.ts +++ b/src/api/providers/openai.ts @@ -5,6 +5,7 @@ import axios from "axios" import { type ModelInfo, azureOpenAiDefaultApiVersion, + getAzureOpenAiBaseUrl, isAzureAiInferenceBaseUrl, isAzureOpenAiBaseUrl, openAiModelInfoSaneDefaults, @@ -15,6 +16,7 @@ import { } from "@roo-code/types" import type { ApiHandlerOptions } from "../../shared/api" +import { t } from "../../i18n" import { TagMatcher } from "../../utils/tag-matcher" @@ -27,7 +29,7 @@ import { getModelParams } from "../transform/model-params" import { DEFAULT_HEADERS, NOT_PROVIDED } from "./constants" import { BaseProvider } from "./base-provider" import type { SingleCompletionHandler, ApiHandlerCreateMessageMetadata, CompletePromptOptions } from "../index" -import { handleOpenAIError } from "./utils/error-handler" +import { handleOpenAIError, handleProviderError } from "./utils/error-handler" import { extractReasoningFromDelta } from "./utils/extract-reasoning" // TODO: Rename this to OpenAICompatibleHandler. Also, I think the @@ -38,6 +40,7 @@ export class OpenAiHandler extends BaseProvider implements SingleCompletionHandl protected client: OpenAI private readonly providerName = "OpenAI" private readonly extraBody: Record + private readonly isAzureOpenAi: boolean constructor(options: ApiHandlerOptions) { super() @@ -48,6 +51,7 @@ export class OpenAiHandler extends BaseProvider implements SingleCompletionHandl const apiKey = this.options.openAiApiKey ?? NOT_PROVIDED const isAzureAiInference = this._isAzureAiInference(this.options.openAiBaseUrl) const isAzureOpenAi = isAzureOpenAiBaseUrl(this.options.openAiBaseUrl, options.openAiUseAzure) + this.isAzureOpenAi = isAzureOpenAi const headers = { ...DEFAULT_HEADERS, @@ -66,9 +70,8 @@ export class OpenAiHandler extends BaseProvider implements SingleCompletionHandl } else if (isAzureOpenAi) { // Azure API shape slightly differs from the core API shape: // https://github.com/openai/openai-node?tab=readme-ov-file#microsoft-azure-openai - const azureBaseURL = `${baseURL.replace(/\/openai\/?$/i, "").replace(/\/$/, "")}/openai` this.client = new AzureOpenAI({ - baseURL: azureBaseURL, + baseURL: getAzureOpenAiBaseUrl(baseURL), apiKey, apiVersion: this.options.azureApiVersion || azureOpenAiDefaultApiVersion, defaultHeaders: headers, @@ -193,7 +196,7 @@ export class OpenAiHandler extends BaseProvider implements SingleCompletionHandl ...(isAzureAiInference ? { path: OPENAI_AZURE_AI_INFERENCE_PATH } : {}), }) } catch (error) { - throw handleOpenAIError(error, this.providerName) + throw this.handleRequestError(error, modelId) } const matcher = new TagMatcher( @@ -261,7 +264,7 @@ export class OpenAiHandler extends BaseProvider implements SingleCompletionHandl ...(this._isAzureAiInference(modelUrl) ? { path: OPENAI_AZURE_AI_INFERENCE_PATH } : {}), }) } catch (error) { - throw handleOpenAIError(error, this.providerName) + throw this.handleRequestError(error, modelId) } const message = response.choices?.[0]?.message @@ -353,7 +356,7 @@ export class OpenAiHandler extends BaseProvider implements SingleCompletionHandl isAzureAiInference ? { path: OPENAI_AZURE_AI_INFERENCE_PATH } : {}, ) } catch (error) { - throw handleOpenAIError(error, this.providerName) + throw this.handleRequestError(error, model.id) } return response.choices?.[0]?.message.content || "" @@ -420,7 +423,7 @@ export class OpenAiHandler extends BaseProvider implements SingleCompletionHandl ...(methodIsAzureAiInference ? { path: OPENAI_AZURE_AI_INFERENCE_PATH } : {}), }) } catch (error) { - throw handleOpenAIError(error, this.providerName) + throw this.handleRequestError(error, modelId) } yield* this.handleStreamResponse(stream) @@ -455,7 +458,7 @@ export class OpenAiHandler extends BaseProvider implements SingleCompletionHandl ...(methodIsAzureAiInference ? { path: OPENAI_AZURE_AI_INFERENCE_PATH } : {}), }) } catch (error) { - throw handleOpenAIError(error, this.providerName) + throw this.handleRequestError(error, modelId) } const message = response.choices?.[0]?.message @@ -561,6 +564,25 @@ export class OpenAiHandler extends BaseProvider implements SingleCompletionHandl return urlHost === "api.x.ai" || urlHost.endsWith(".x.ai") } + /** + * Azure OpenAI routes each request to `/openai/deployments/`, so a 404 there + * almost always means the configured deployment name does not exist. Name the + * deployment in the error instead of surfacing a bare "Resource not found". + */ + private handleRequestError(error: unknown, deploymentName: string): Error { + if (this.isAzureOpenAi && isNotFoundError(error)) { + return handleProviderError(error, this.providerName, { + messageTransformer: (message) => + `${this.providerName} completion error: ${t("common:errors.api.azureDeploymentNotFound", { + deployment: deploymentName, + message, + })}`, + }) + } + + return handleOpenAIError(error, this.providerName) + } + protected _isAzureAiInference(baseUrl?: string): boolean { return isAzureAiInferenceBaseUrl(baseUrl) } @@ -589,6 +611,10 @@ export class OpenAiHandler extends BaseProvider implements SingleCompletionHandl } } +function isNotFoundError(error: unknown): boolean { + return typeof error === "object" && error !== null && "status" in error && error.status === 404 +} + export async function getOpenAiModels(baseUrl?: string, apiKey?: string, openAiHeaders?: Record) { try { if (!baseUrl) { diff --git a/src/i18n/locales/ca/common.json b/src/i18n/locales/ca/common.json index 579cd6b7d7..fad0eeaa5b 100644 --- a/src/i18n/locales/ca/common.json +++ b/src/i18n/locales/ca/common.json @@ -144,7 +144,8 @@ }, "api": { "invalidKeyInvalidChars": "La clau API conté caràcters no vàlids.", - "apiRequestFailed": "La sol·licitud API ha fallat ({{status}})" + "apiRequestFailed": "La sol·licitud API ha fallat ({{status}})", + "azureDeploymentNotFound": "Azure OpenAI no ha trobat el desplegament \"{{deployment}}\". Establiu \"Nom de desplegament d'Azure\" al nom exacte del desplegament d'Azure AI Foundry, no al nom del model (per exemple gpt-4o). Detalls: {{message}}" }, "manual_url_empty": "Si us plau, introdueix una URL de callback vàlida", "manual_url_no_query": "URL de callback no vàlida: falten paràmetres de consulta", diff --git a/src/i18n/locales/de/common.json b/src/i18n/locales/de/common.json index 3d8175a77e..6a40b0246f 100644 --- a/src/i18n/locales/de/common.json +++ b/src/i18n/locales/de/common.json @@ -141,7 +141,8 @@ }, "api": { "invalidKeyInvalidChars": "API-Schlüssel enthält ungültige Zeichen.", - "apiRequestFailed": "API-Anfrage fehlgeschlagen ({{status}})" + "apiRequestFailed": "API-Anfrage fehlgeschlagen ({{status}})", + "azureDeploymentNotFound": "Azure OpenAI konnte die Bereitstellung \"{{deployment}}\" nicht finden. Setze \"Azure-Bereitstellungsname\" auf den exakten Bereitstellungsnamen aus Azure AI Foundry, nicht auf den Modellnamen (zum Beispiel gpt-4o). Details: {{message}}" }, "manual_url_empty": "Bitte gib eine gültige Callback-URL ein", "manual_url_no_query": "Ungültige Callback-URL: Query-Parameter fehlen", diff --git a/src/i18n/locales/en/common.json b/src/i18n/locales/en/common.json index a7d616028f..1260574d0c 100644 --- a/src/i18n/locales/en/common.json +++ b/src/i18n/locales/en/common.json @@ -142,7 +142,8 @@ }, "api": { "invalidKeyInvalidChars": "API key contains invalid characters.", - "apiRequestFailed": "API request failed ({{status}})" + "apiRequestFailed": "API request failed ({{status}})", + "azureDeploymentNotFound": "Azure OpenAI could not find the deployment \"{{deployment}}\". Set \"Azure deployment name\" to the exact deployment name from Azure AI Foundry, not the model name (for example gpt-4o). Details: {{message}}" }, "manual_url_empty": "Please enter a valid callback URL", "manual_url_no_query": "Invalid callback URL: missing query parameters", diff --git a/src/i18n/locales/es/common.json b/src/i18n/locales/es/common.json index 2eb6848f11..9580441d2a 100644 --- a/src/i18n/locales/es/common.json +++ b/src/i18n/locales/es/common.json @@ -123,7 +123,8 @@ }, "api": { "invalidKeyInvalidChars": "La clave API contiene caracteres inválidos.", - "apiRequestFailed": "La solicitud API falló ({{status}})" + "apiRequestFailed": "La solicitud API falló ({{status}})", + "azureDeploymentNotFound": "Azure OpenAI no encontró la implementación \"{{deployment}}\". Establece \"Nombre de implementación de Azure\" con el nombre exacto de la implementación de Azure AI Foundry, no el nombre del modelo (por ejemplo gpt-4o). Detalles: {{message}}" }, "manual_url_empty": "Por favor, introduce una URL de callback válida", "manual_url_no_query": "URL de callback inválida: faltan parámetros de consulta", diff --git a/src/i18n/locales/fr/common.json b/src/i18n/locales/fr/common.json index b6b65a88de..d0201ef848 100644 --- a/src/i18n/locales/fr/common.json +++ b/src/i18n/locales/fr/common.json @@ -123,7 +123,8 @@ }, "api": { "invalidKeyInvalidChars": "La clé API contient des caractères invalides.", - "apiRequestFailed": "La requête API a échoué ({{status}})" + "apiRequestFailed": "La requête API a échoué ({{status}})", + "azureDeploymentNotFound": "Azure OpenAI n'a pas trouvé le déploiement \"{{deployment}}\". Définissez \"Nom du déploiement Azure\" sur le nom exact du déploiement dans Azure AI Foundry, et non sur le nom du modèle (par exemple gpt-4o). Détails : {{message}}" }, "manual_url_empty": "Veuillez entrer une URL de callback valide", "manual_url_no_query": "URL de callback invalide : paramètres de requête manquants", diff --git a/src/i18n/locales/hi/common.json b/src/i18n/locales/hi/common.json index f69b5adccf..3ae7901997 100644 --- a/src/i18n/locales/hi/common.json +++ b/src/i18n/locales/hi/common.json @@ -123,7 +123,8 @@ }, "api": { "invalidKeyInvalidChars": "API कुंजी में अमान्य वर्ण हैं।", - "apiRequestFailed": "API अनुरोध विफल ({{status}})" + "apiRequestFailed": "API अनुरोध विफल ({{status}})", + "azureDeploymentNotFound": "Azure OpenAI को परिनियोजन \"{{deployment}}\" नहीं मिला। \"Azure परिनियोजन नाम\" को Azure AI Foundry के सटीक परिनियोजन नाम पर सेट करें, मॉडल नाम पर नहीं (उदाहरण के लिए gpt-4o)। विवरण: {{message}}" }, "manual_url_empty": "कृपया एक वैध callback URL दर्ज करें", "manual_url_no_query": "अवैध callback URL: क्वेरी पैरामीटर गुम हैं", diff --git a/src/i18n/locales/id/common.json b/src/i18n/locales/id/common.json index e401612bf3..8884e3d515 100644 --- a/src/i18n/locales/id/common.json +++ b/src/i18n/locales/id/common.json @@ -123,7 +123,8 @@ }, "api": { "invalidKeyInvalidChars": "Kunci API mengandung karakter tidak valid.", - "apiRequestFailed": "Permintaan API gagal ({{status}})" + "apiRequestFailed": "Permintaan API gagal ({{status}})", + "azureDeploymentNotFound": "Azure OpenAI tidak dapat menemukan deployment \"{{deployment}}\". Atur \"Nama deployment Azure\" ke nama deployment yang persis dari Azure AI Foundry, bukan nama model (misalnya gpt-4o). Detail: {{message}}" }, "manual_url_empty": "Silakan masukkan URL callback yang valid", "manual_url_no_query": "URL callback tidak valid: parameter query hilang", diff --git a/src/i18n/locales/it/common.json b/src/i18n/locales/it/common.json index aeb984940a..4fadd89ce4 100644 --- a/src/i18n/locales/it/common.json +++ b/src/i18n/locales/it/common.json @@ -123,7 +123,8 @@ }, "api": { "invalidKeyInvalidChars": "La chiave API contiene caratteri non validi.", - "apiRequestFailed": "Richiesta API fallita ({{status}})" + "apiRequestFailed": "Richiesta API fallita ({{status}})", + "azureDeploymentNotFound": "Azure OpenAI non ha trovato la distribuzione \"{{deployment}}\". Imposta \"Nome della distribuzione Azure\" sul nome esatto della distribuzione in Azure AI Foundry, non sul nome del modello (ad esempio gpt-4o). Dettagli: {{message}}" }, "manual_url_empty": "Inserisci un URL di callback valido", "manual_url_no_query": "URL di callback non valido: parametri di query mancanti", diff --git a/src/i18n/locales/ja/common.json b/src/i18n/locales/ja/common.json index a7ec0c4de3..79532f8039 100644 --- a/src/i18n/locales/ja/common.json +++ b/src/i18n/locales/ja/common.json @@ -123,7 +123,8 @@ }, "api": { "invalidKeyInvalidChars": "APIキーに無効な文字が含まれています。", - "apiRequestFailed": "APIリクエストが失敗しました ({{status}})" + "apiRequestFailed": "APIリクエストが失敗しました ({{status}})", + "azureDeploymentNotFound": "Azure OpenAI でデプロイ \"{{deployment}}\" が見つかりませんでした。「Azure デプロイ名」には、モデル名 (例: gpt-4o) ではなく、Azure AI Foundry の正確なデプロイ名を設定してください。詳細: {{message}}" }, "manual_url_empty": "有効なコールバック URL を入力してください", "manual_url_no_query": "無効なコールバック URL:クエリパラメータがありません", diff --git a/src/i18n/locales/ko/common.json b/src/i18n/locales/ko/common.json index 906652ac14..6df3b55270 100644 --- a/src/i18n/locales/ko/common.json +++ b/src/i18n/locales/ko/common.json @@ -123,7 +123,8 @@ }, "api": { "invalidKeyInvalidChars": "API 키에 유효하지 않은 문자가 포함되어 있습니다.", - "apiRequestFailed": "API 요청 실패 ({{status}})" + "apiRequestFailed": "API 요청 실패 ({{status}})", + "azureDeploymentNotFound": "Azure OpenAI에서 배포 \"{{deployment}}\"을(를) 찾을 수 없습니다. \"Azure 배포 이름\"을 모델 이름(예: gpt-4o)이 아닌 Azure AI Foundry의 정확한 배포 이름으로 설정하세요. 세부 정보: {{message}}" }, "manual_url_empty": "유효한 콜백 URL을 입력하세요", "manual_url_no_query": "유효하지 않은 콜백 URL: 쿼리 매개변수 누락", diff --git a/src/i18n/locales/nl/common.json b/src/i18n/locales/nl/common.json index 34cdbbbe89..56f5399f69 100644 --- a/src/i18n/locales/nl/common.json +++ b/src/i18n/locales/nl/common.json @@ -123,7 +123,8 @@ }, "api": { "invalidKeyInvalidChars": "API-sleutel bevat ongeldige karakters.", - "apiRequestFailed": "API-verzoek mislukt ({{status}})" + "apiRequestFailed": "API-verzoek mislukt ({{status}})", + "azureDeploymentNotFound": "Azure OpenAI kon de implementatie \"{{deployment}}\" niet vinden. Stel \"Naam van Azure-implementatie\" in op de exacte implementatienaam uit Azure AI Foundry, niet op de modelnaam (bijvoorbeeld gpt-4o). Details: {{message}}" }, "manual_url_empty": "Voer een geldige callback-URL in", "manual_url_no_query": "Ongeldige callback-URL: query-parameters ontbreken", diff --git a/src/i18n/locales/pl/common.json b/src/i18n/locales/pl/common.json index 2a743fc009..422f504ec8 100644 --- a/src/i18n/locales/pl/common.json +++ b/src/i18n/locales/pl/common.json @@ -123,7 +123,8 @@ }, "api": { "invalidKeyInvalidChars": "Klucz API zawiera nieprawidłowe znaki.", - "apiRequestFailed": "Żądanie API nie powiodło się ({{status}})" + "apiRequestFailed": "Żądanie API nie powiodło się ({{status}})", + "azureDeploymentNotFound": "Azure OpenAI nie znalazło wdrożenia \"{{deployment}}\". Ustaw \"Nazwa wdrożenia Azure\" na dokładną nazwę wdrożenia z Azure AI Foundry, a nie na nazwę modelu (na przykład gpt-4o). Szczegóły: {{message}}" }, "manual_url_empty": "Wprowadź prawidłowy URL callback", "manual_url_no_query": "Nieprawidłowy URL callback: brak parametrów zapytania", diff --git a/src/i18n/locales/pt-BR/common.json b/src/i18n/locales/pt-BR/common.json index eaf1cae06b..e512d002d0 100644 --- a/src/i18n/locales/pt-BR/common.json +++ b/src/i18n/locales/pt-BR/common.json @@ -127,7 +127,8 @@ }, "api": { "invalidKeyInvalidChars": "A chave API contém caracteres inválidos.", - "apiRequestFailed": "Solicitação API falhou ({{status}})" + "apiRequestFailed": "Solicitação API falhou ({{status}})", + "azureDeploymentNotFound": "O Azure OpenAI não encontrou a implantação \"{{deployment}}\". Defina \"Nome da implantação do Azure\" com o nome exato da implantação no Azure AI Foundry, não o nome do modelo (por exemplo gpt-4o). Detalhes: {{message}}" }, "manual_url_empty": "Por favor, insira uma URL de callback válida", "manual_url_no_query": "URL de callback inválida: parâmetros de consulta ausentes", diff --git a/src/i18n/locales/ru/common.json b/src/i18n/locales/ru/common.json index 6f48365ec1..9bd967f05d 100644 --- a/src/i18n/locales/ru/common.json +++ b/src/i18n/locales/ru/common.json @@ -123,7 +123,8 @@ }, "api": { "invalidKeyInvalidChars": "API-ключ содержит недопустимые символы.", - "apiRequestFailed": "Запрос API не удался ({{status}})" + "apiRequestFailed": "Запрос API не удался ({{status}})", + "azureDeploymentNotFound": "Azure OpenAI не удалось найти развёртывание \"{{deployment}}\". Укажите в поле \"Имя развёртывания Azure\" точное имя развёртывания из Azure AI Foundry, а не имя модели (например, gpt-4o). Подробности: {{message}}" }, "manual_url_empty": "Введи действительный URL обратного вызова", "manual_url_no_query": "Недействительный URL обратного вызова: отсутствуют параметры запроса", diff --git a/src/i18n/locales/tr/common.json b/src/i18n/locales/tr/common.json index b5c543c405..a71a3e8079 100644 --- a/src/i18n/locales/tr/common.json +++ b/src/i18n/locales/tr/common.json @@ -123,7 +123,8 @@ }, "api": { "invalidKeyInvalidChars": "API anahtarı geçersiz karakterler içeriyor.", - "apiRequestFailed": "API isteği başarısız oldu ({{status}})" + "apiRequestFailed": "API isteği başarısız oldu ({{status}})", + "azureDeploymentNotFound": "Azure OpenAI \"{{deployment}}\" dağıtımını bulamadı. \"Azure dağıtım adı\" alanını model adına (örneğin gpt-4o) değil, Azure AI Foundry'deki tam dağıtım adına ayarlayın. Ayrıntılar: {{message}}" }, "manual_url_empty": "Lütfen geçerli bir callback URL'si girin", "manual_url_no_query": "Geçersiz callback URL'si: sorgu parametreleri eksik", diff --git a/src/i18n/locales/vi/common.json b/src/i18n/locales/vi/common.json index cb2ed8e9b8..4fca68cf6a 100644 --- a/src/i18n/locales/vi/common.json +++ b/src/i18n/locales/vi/common.json @@ -123,7 +123,8 @@ }, "api": { "invalidKeyInvalidChars": "Khóa API chứa ký tự không hợp lệ.", - "apiRequestFailed": "Yêu cầu API thất bại ({{status}})" + "apiRequestFailed": "Yêu cầu API thất bại ({{status}})", + "azureDeploymentNotFound": "Azure OpenAI không tìm thấy triển khai \"{{deployment}}\". Hãy đặt \"Tên triển khai Azure\" thành tên triển khai chính xác trong Azure AI Foundry, không phải tên mô hình (ví dụ gpt-4o). Chi tiết: {{message}}" }, "manual_url_empty": "Vui lòng nhập URL callback hợp lệ", "manual_url_no_query": "URL callback không hợp lệ: thiếu tham số truy vấn", diff --git a/src/i18n/locales/zh-CN/common.json b/src/i18n/locales/zh-CN/common.json index 08cfe736b5..bb3daf0c2a 100644 --- a/src/i18n/locales/zh-CN/common.json +++ b/src/i18n/locales/zh-CN/common.json @@ -128,7 +128,8 @@ }, "api": { "invalidKeyInvalidChars": "API 密钥包含无效字符.", - "apiRequestFailed": "API 请求失败 ({{status}})" + "apiRequestFailed": "API 请求失败 ({{status}})", + "azureDeploymentNotFound": "Azure OpenAI 找不到部署 \"{{deployment}}\"。请将\"Azure 部署名称\"设置为 Azure AI Foundry 中的准确部署名称,而不是模型名称(例如 gpt-4o)。详细信息:{{message}}" }, "manual_url_empty": "请输入有效的回调 URL", "manual_url_no_query": "无效的回调 URL:缺少查询参数", diff --git a/src/i18n/locales/zh-TW/common.json b/src/i18n/locales/zh-TW/common.json index 92fdbaeb96..344c76bfac 100644 --- a/src/i18n/locales/zh-TW/common.json +++ b/src/i18n/locales/zh-TW/common.json @@ -122,7 +122,8 @@ }, "api": { "invalidKeyInvalidChars": "API 金鑰包含無效字元。", - "apiRequestFailed": "API 請求失敗 ({{status}})" + "apiRequestFailed": "API 請求失敗 ({{status}})", + "azureDeploymentNotFound": "Azure OpenAI 找不到部署 \"{{deployment}}\"。請將「Azure 部署名稱」設定為 Azure AI Foundry 中的確切部署名稱,而非模型名稱(例如 gpt-4o)。詳細資訊:{{message}}" }, "manual_url_empty": "請輸入有效的回呼 URL", "manual_url_no_query": "無效的回呼 URL:缺少查詢參數", diff --git a/webview-ui/src/components/settings/providers/OpenAICompatible.tsx b/webview-ui/src/components/settings/providers/OpenAICompatible.tsx index efb839a7fc..9cf85c4321 100644 --- a/webview-ui/src/components/settings/providers/OpenAICompatible.tsx +++ b/webview-ui/src/components/settings/providers/OpenAICompatible.tsx @@ -10,6 +10,7 @@ import { type OrganizationAllowList, type ExtensionMessage, azureOpenAiDefaultApiVersion, + getAzureOpenAiChatCompletionsUrl, isAzureOpenAiBaseUrl, openAiModelInfoSaneDefaults, DEFAULT_OPEN_AI_STRICT_TOOL_SCHEMAS, @@ -169,6 +170,18 @@ export const OpenAICompatible = ({ {isAzureOpenAi && (
{t("settings:providers.azureOpenAiDeploymentNameDescription")} + {apiConfiguration?.openAiBaseUrl && ( +
+ {t("settings:providers.azureOpenAiRequestUrl")}{" "} + + {getAzureOpenAiChatCompletionsUrl( + apiConfiguration.openAiBaseUrl, + apiConfiguration.openAiModelId || "", + apiConfiguration.azureApiVersion, + )} + +
+ )}
)} ({ @@ -175,6 +175,49 @@ describe("OpenAICompatible Component - includeMaxTokens checkbox", () => { expect(screen.getByText("settings:providers.azureOpenAiDeploymentNameDescription")).toBeInTheDocument() }) + it.each([ + { + name: "the configured deployment and API version", + apiConfiguration: { + openAiBaseUrl: "https://resource.openai.azure.com/openai/", + openAiModelId: "brotherhood", + azureApiVersion: "2025-01-01-preview", + }, + expectedUrl: + "https://resource.openai.azure.com/openai/deployments/brotherhood/chat/completions?api-version=2025-01-01-preview", + }, + { + name: "a placeholder deployment and the default API version", + apiConfiguration: { openAiBaseUrl: "https://resource.openai.azure.com" }, + expectedUrl: `https://resource.openai.azure.com/openai/deployments//chat/completions?api-version=${azureOpenAiDefaultApiVersion}`, + }, + ])("shows the Azure request URL with $name", ({ apiConfiguration, expectedUrl }) => { + render( + , + ) + + expect(screen.getByTestId("azure-request-url")).toHaveTextContent( + `settings:providers.azureOpenAiRequestUrl ${expectedUrl}`, + ) + }) + + it("omits the Azure request URL until a base URL is entered", () => { + render( + , + ) + + expect(screen.getByText("settings:providers.azureOpenAiDeploymentNameDescription")).toBeInTheDocument() + expect(screen.queryByTestId("azure-request-url")).not.toBeInTheDocument() + }) + it("keeps generic OpenAI-compatible guidance for non-Azure endpoints", () => { render( { expect( screen.queryByText("settings:providers.azureOpenAiDeploymentNameDescription"), ).not.toBeInTheDocument() + expect(screen.queryByTestId("azure-request-url")).not.toBeInTheDocument() }) it("keeps generic OpenAI-compatible guidance for Azure AI Inference endpoints", () => { diff --git a/webview-ui/src/i18n/locales/ca/settings.json b/webview-ui/src/i18n/locales/ca/settings.json index d39d8edd6a..ff9340ca44 100644 --- a/webview-ui/src/i18n/locales/ca/settings.json +++ b/webview-ui/src/i18n/locales/ca/settings.json @@ -550,6 +550,7 @@ "azureOpenAiBaseUrlPlaceholder": "https://.openai.azure.com/openai", "azureOpenAiDeploymentName": "Nom de desplegament d'Azure", "azureOpenAiDeploymentNameDescription": "Introduïu el nom del desplegament d'Azure AI Studio, no el nom del model subjacent.", + "azureOpenAiRequestUrl": "Les sol·licituds s'envien a:", "getOpenAiApiKey": "Obtenir clau API d'OpenAI", "mistralApiKey": "Clau API de Mistral", "getMistralApiKey": "Obtenir clau API de Mistral / Codestral", diff --git a/webview-ui/src/i18n/locales/de/settings.json b/webview-ui/src/i18n/locales/de/settings.json index 983db1df5d..392c937fb1 100644 --- a/webview-ui/src/i18n/locales/de/settings.json +++ b/webview-ui/src/i18n/locales/de/settings.json @@ -550,6 +550,7 @@ "azureOpenAiBaseUrlPlaceholder": "https://.openai.azure.com/openai", "azureOpenAiDeploymentName": "Azure-Bereitstellungsname", "azureOpenAiDeploymentNameDescription": "Gib den Bereitstellungsnamen aus Azure AI Studio ein, nicht den Namen des zugrunde liegenden Modells.", + "azureOpenAiRequestUrl": "Anfragen werden gesendet an:", "getOpenAiApiKey": "OpenAI API-Schlüssel erhalten", "mistralApiKey": "Mistral API-Schlüssel", "getMistralApiKey": "Mistral / Codestral API-Schlüssel erhalten", diff --git a/webview-ui/src/i18n/locales/en/settings.json b/webview-ui/src/i18n/locales/en/settings.json index ea924ce79e..8733e09e53 100644 --- a/webview-ui/src/i18n/locales/en/settings.json +++ b/webview-ui/src/i18n/locales/en/settings.json @@ -630,6 +630,7 @@ "azureOpenAiBaseUrlPlaceholder": "https://.openai.azure.com/openai", "azureOpenAiDeploymentName": "Azure deployment name", "azureOpenAiDeploymentNameDescription": "Enter the deployment name from Azure AI Studio, not the underlying model name.", + "azureOpenAiRequestUrl": "Requests are sent to:", "getOpenAiApiKey": "Get OpenAI API Key", "mistralApiKey": "Mistral API Key", "getMistralApiKey": "Get Mistral / Codestral API Key", diff --git a/webview-ui/src/i18n/locales/es/settings.json b/webview-ui/src/i18n/locales/es/settings.json index 57612bf3e5..8b36c12ee3 100644 --- a/webview-ui/src/i18n/locales/es/settings.json +++ b/webview-ui/src/i18n/locales/es/settings.json @@ -550,6 +550,7 @@ "azureOpenAiBaseUrlPlaceholder": "https://.openai.azure.com/openai", "azureOpenAiDeploymentName": "Nombre de implementación de Azure", "azureOpenAiDeploymentNameDescription": "Introduce el nombre de la implementación de Azure AI Studio, no el nombre del modelo subyacente.", + "azureOpenAiRequestUrl": "Las solicitudes se envían a:", "getOpenAiApiKey": "Obtener clave API de OpenAI", "mistralApiKey": "Clave API de Mistral", "getMistralApiKey": "Obtener clave API de Mistral / Codestral", diff --git a/webview-ui/src/i18n/locales/fr/settings.json b/webview-ui/src/i18n/locales/fr/settings.json index a91a5137d3..8cc5b5d04f 100644 --- a/webview-ui/src/i18n/locales/fr/settings.json +++ b/webview-ui/src/i18n/locales/fr/settings.json @@ -550,6 +550,7 @@ "azureOpenAiBaseUrlPlaceholder": "https://.openai.azure.com/openai", "azureOpenAiDeploymentName": "Nom du déploiement Azure", "azureOpenAiDeploymentNameDescription": "Saisissez le nom du déploiement défini dans Azure AI Studio, et non le nom du modèle sous-jacent.", + "azureOpenAiRequestUrl": "Les requêtes sont envoyées à :", "getOpenAiApiKey": "Obtenir la clé API OpenAI", "mistralApiKey": "Clé API Mistral", "getMistralApiKey": "Obtenir la clé API Mistral / Codestral", diff --git a/webview-ui/src/i18n/locales/hi/settings.json b/webview-ui/src/i18n/locales/hi/settings.json index bc6e973623..fc56e7a3cd 100644 --- a/webview-ui/src/i18n/locales/hi/settings.json +++ b/webview-ui/src/i18n/locales/hi/settings.json @@ -550,6 +550,7 @@ "azureOpenAiBaseUrlPlaceholder": "https://.openai.azure.com/openai", "azureOpenAiDeploymentName": "Azure परिनियोजन नाम", "azureOpenAiDeploymentNameDescription": "अंतर्निहित मॉडल नाम के बजाय Azure AI Studio में दिया गया परिनियोजन नाम दर्ज करें।", + "azureOpenAiRequestUrl": "अनुरोध यहाँ भेजे जाते हैं:", "getOpenAiApiKey": "OpenAI API कुंजी प्राप्त करें", "mistralApiKey": "Mistral API कुंजी", "getMistralApiKey": "Mistral / Codestral API कुंजी प्राप्त करें", diff --git a/webview-ui/src/i18n/locales/id/settings.json b/webview-ui/src/i18n/locales/id/settings.json index 3ed57f373e..9ee6ce807a 100644 --- a/webview-ui/src/i18n/locales/id/settings.json +++ b/webview-ui/src/i18n/locales/id/settings.json @@ -550,6 +550,7 @@ "azureOpenAiBaseUrlPlaceholder": "https://.openai.azure.com/openai", "azureOpenAiDeploymentName": "Nama deployment Azure", "azureOpenAiDeploymentNameDescription": "Masukkan nama deployment dari Azure AI Studio, bukan nama model dasarnya.", + "azureOpenAiRequestUrl": "Permintaan dikirim ke:", "getOpenAiApiKey": "Dapatkan OpenAI API Key", "mistralApiKey": "Mistral API Key", "getMistralApiKey": "Dapatkan Mistral / Codestral API Key", diff --git a/webview-ui/src/i18n/locales/it/settings.json b/webview-ui/src/i18n/locales/it/settings.json index b708304e63..25af599912 100644 --- a/webview-ui/src/i18n/locales/it/settings.json +++ b/webview-ui/src/i18n/locales/it/settings.json @@ -550,6 +550,7 @@ "azureOpenAiBaseUrlPlaceholder": "https://.openai.azure.com/openai", "azureOpenAiDeploymentName": "Nome della distribuzione Azure", "azureOpenAiDeploymentNameDescription": "Inserisci il nome della distribuzione configurato in Azure AI Studio, non il nome del modello sottostante.", + "azureOpenAiRequestUrl": "Le richieste vengono inviate a:", "getOpenAiApiKey": "Ottieni chiave API OpenAI", "mistralApiKey": "Chiave API Mistral", "getMistralApiKey": "Ottieni chiave API Mistral / Codestral", diff --git a/webview-ui/src/i18n/locales/ja/settings.json b/webview-ui/src/i18n/locales/ja/settings.json index f6959b50dc..f289deec08 100644 --- a/webview-ui/src/i18n/locales/ja/settings.json +++ b/webview-ui/src/i18n/locales/ja/settings.json @@ -550,6 +550,7 @@ "azureOpenAiBaseUrlPlaceholder": "https://.openai.azure.com/openai", "azureOpenAiDeploymentName": "Azure デプロイ名", "azureOpenAiDeploymentNameDescription": "基盤モデル名ではなく、Azure AI Studio のデプロイ名を入力してください。", + "azureOpenAiRequestUrl": "リクエストの送信先:", "getOpenAiApiKey": "OpenAI APIキーを取得", "mistralApiKey": "Mistral APIキー", "getMistralApiKey": "Mistral / Codestral APIキーを取得", diff --git a/webview-ui/src/i18n/locales/ko/settings.json b/webview-ui/src/i18n/locales/ko/settings.json index 6cadbd8a3b..2f7c078f5a 100644 --- a/webview-ui/src/i18n/locales/ko/settings.json +++ b/webview-ui/src/i18n/locales/ko/settings.json @@ -550,6 +550,7 @@ "azureOpenAiBaseUrlPlaceholder": "https://.openai.azure.com/openai", "azureOpenAiDeploymentName": "Azure 배포 이름", "azureOpenAiDeploymentNameDescription": "기반 모델 이름이 아닌 Azure AI Studio의 배포 이름을 입력하세요.", + "azureOpenAiRequestUrl": "요청 전송 위치:", "getOpenAiApiKey": "OpenAI API 키 받기", "mistralApiKey": "Mistral API 키", "getMistralApiKey": "Mistral / Codestral API 키 받기", diff --git a/webview-ui/src/i18n/locales/nl/settings.json b/webview-ui/src/i18n/locales/nl/settings.json index 992e9c53e0..41cf6dc4ef 100644 --- a/webview-ui/src/i18n/locales/nl/settings.json +++ b/webview-ui/src/i18n/locales/nl/settings.json @@ -550,6 +550,7 @@ "azureOpenAiBaseUrlPlaceholder": "https://.openai.azure.com/openai", "azureOpenAiDeploymentName": "Naam van Azure-implementatie", "azureOpenAiDeploymentNameDescription": "Voer de implementatienaam uit Azure AI Studio in, niet de naam van het onderliggende model.", + "azureOpenAiRequestUrl": "Verzoeken worden verzonden naar:", "getOpenAiApiKey": "OpenAI API-sleutel ophalen", "mistralApiKey": "Mistral API-sleutel", "getMistralApiKey": "Mistral / Codestral API-sleutel ophalen", diff --git a/webview-ui/src/i18n/locales/pl/settings.json b/webview-ui/src/i18n/locales/pl/settings.json index 459675b0e1..ad83a4c914 100644 --- a/webview-ui/src/i18n/locales/pl/settings.json +++ b/webview-ui/src/i18n/locales/pl/settings.json @@ -550,6 +550,7 @@ "azureOpenAiBaseUrlPlaceholder": "https://.openai.azure.com/openai", "azureOpenAiDeploymentName": "Nazwa wdrożenia Azure", "azureOpenAiDeploymentNameDescription": "Wprowadź nazwę wdrożenia z Azure AI Studio, a nie nazwę bazowego modelu.", + "azureOpenAiRequestUrl": "Żądania są wysyłane do:", "getOpenAiApiKey": "Uzyskaj klucz API OpenAI", "mistralApiKey": "Klucz API Mistral", "getMistralApiKey": "Uzyskaj klucz API Mistral / Codestral", diff --git a/webview-ui/src/i18n/locales/pt-BR/settings.json b/webview-ui/src/i18n/locales/pt-BR/settings.json index 500babaaa8..a6a2ed1226 100644 --- a/webview-ui/src/i18n/locales/pt-BR/settings.json +++ b/webview-ui/src/i18n/locales/pt-BR/settings.json @@ -550,6 +550,7 @@ "azureOpenAiBaseUrlPlaceholder": "https://.openai.azure.com/openai", "azureOpenAiDeploymentName": "Nome da implantação do Azure", "azureOpenAiDeploymentNameDescription": "Insira o nome da implantação configurado no Azure AI Studio, não o nome do modelo subjacente.", + "azureOpenAiRequestUrl": "As solicitações são enviadas para:", "getOpenAiApiKey": "Obter chave de API OpenAI", "mistralApiKey": "Chave de API Mistral", "getMistralApiKey": "Obter chave de API Mistral / Codestral", diff --git a/webview-ui/src/i18n/locales/ru/settings.json b/webview-ui/src/i18n/locales/ru/settings.json index 053ff0684d..c63d5a4f46 100644 --- a/webview-ui/src/i18n/locales/ru/settings.json +++ b/webview-ui/src/i18n/locales/ru/settings.json @@ -550,6 +550,7 @@ "azureOpenAiBaseUrlPlaceholder": "https://.openai.azure.com/openai", "azureOpenAiDeploymentName": "Имя развёртывания Azure", "azureOpenAiDeploymentNameDescription": "Введите имя развёртывания из Azure AI Studio, а не имя базовой модели.", + "azureOpenAiRequestUrl": "Запросы отправляются на:", "getOpenAiApiKey": "Получить OpenAI API-ключ", "mistralApiKey": "Mistral API-ключ", "getMistralApiKey": "Получить Mistral / Codestral API-ключ", diff --git a/webview-ui/src/i18n/locales/tr/settings.json b/webview-ui/src/i18n/locales/tr/settings.json index b37f28d44d..7ac3ef6495 100644 --- a/webview-ui/src/i18n/locales/tr/settings.json +++ b/webview-ui/src/i18n/locales/tr/settings.json @@ -550,6 +550,7 @@ "azureOpenAiBaseUrlPlaceholder": "https://.openai.azure.com/openai", "azureOpenAiDeploymentName": "Azure dağıtım adı", "azureOpenAiDeploymentNameDescription": "Temel model adı yerine Azure AI Studio'daki dağıtım adını girin.", + "azureOpenAiRequestUrl": "İstekler şuraya gönderilir:", "getOpenAiApiKey": "OpenAI API Anahtarı Al", "mistralApiKey": "Mistral API Anahtarı", "getMistralApiKey": "Mistral / Codestral API Anahtarı Al", diff --git a/webview-ui/src/i18n/locales/vi/settings.json b/webview-ui/src/i18n/locales/vi/settings.json index 94843217ae..c4b39e9a1d 100644 --- a/webview-ui/src/i18n/locales/vi/settings.json +++ b/webview-ui/src/i18n/locales/vi/settings.json @@ -550,6 +550,7 @@ "azureOpenAiBaseUrlPlaceholder": "https://.openai.azure.com/openai", "azureOpenAiDeploymentName": "Tên triển khai Azure", "azureOpenAiDeploymentNameDescription": "Nhập tên triển khai trong Azure AI Studio, không phải tên mô hình cơ sở.", + "azureOpenAiRequestUrl": "Yêu cầu được gửi đến:", "getOpenAiApiKey": "Lấy khóa API OpenAI", "mistralApiKey": "Khóa API Mistral", "getMistralApiKey": "Lấy khóa API Mistral / Codestral", diff --git a/webview-ui/src/i18n/locales/zh-CN/settings.json b/webview-ui/src/i18n/locales/zh-CN/settings.json index 8be0fe1532..e2dd9117c6 100644 --- a/webview-ui/src/i18n/locales/zh-CN/settings.json +++ b/webview-ui/src/i18n/locales/zh-CN/settings.json @@ -550,6 +550,7 @@ "azureOpenAiBaseUrlPlaceholder": "https://.openai.azure.com/openai", "azureOpenAiDeploymentName": "Azure 部署名称", "azureOpenAiDeploymentNameDescription": "请输入 Azure AI Studio 中的部署名称,而不是底层模型名称。", + "azureOpenAiRequestUrl": "请求发送至:", "getOpenAiApiKey": "获取 OpenAI API 密钥", "mistralApiKey": "Mistral API 密钥", "getMistralApiKey": "获取 Mistral / Codestral API 密钥", diff --git a/webview-ui/src/i18n/locales/zh-TW/settings.json b/webview-ui/src/i18n/locales/zh-TW/settings.json index 65eb5c67a5..f07f2c9ab3 100644 --- a/webview-ui/src/i18n/locales/zh-TW/settings.json +++ b/webview-ui/src/i18n/locales/zh-TW/settings.json @@ -577,6 +577,7 @@ "azureOpenAiBaseUrlPlaceholder": "https://.openai.azure.com/openai", "azureOpenAiDeploymentName": "Azure 部署名稱", "azureOpenAiDeploymentNameDescription": "請輸入 Azure AI Studio 中的部署名稱,而不是底層模型名稱。", + "azureOpenAiRequestUrl": "請求傳送至:", "getOpenAiApiKey": "取得 OpenAI API 金鑰", "mistralApiKey": "Mistral API 金鑰", "getMistralApiKey": "取得 Mistral/Codestral API 金鑰", From 53b364a06c00205ff221e548e1b60e7122273678 Mon Sep 17 00:00:00 2001 From: PierrunoYT Date: Sat, 24 Oct 2026 15:09:11 +0200 Subject: [PATCH 2/4] test(openai): cover the Azure 404 message on non-streaming o-series requests Co-Authored-By: Claude Opus 5.5 --- src/api/providers/__tests__/openai.spec.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/api/providers/__tests__/openai.spec.ts b/src/api/providers/__tests__/openai.spec.ts index a405ce74cf..7c62baa7f0 100644 --- a/src/api/providers/__tests__/openai.spec.ts +++ b/src/api/providers/__tests__/openai.spec.ts @@ -959,13 +959,13 @@ describe("OpenAiHandler", () => { } async function request( - entryPoint: "streaming" | "non-streaming" | "o3" | "completePrompt", + entryPoint: "streaming" | "non-streaming" | "o3" | "o3-non-streaming" | "completePrompt", options: Partial, ) { const requestHandler = new OpenAiHandler( makeApiHandlerOptions({ - openAiModelId: entryPoint === "o3" ? "o3-mini" : "gpt-4o", - openAiStreamingEnabled: entryPoint !== "non-streaming", + openAiModelId: entryPoint.startsWith("o3") ? "o3-mini" : "gpt-4o", + openAiStreamingEnabled: entryPoint !== "non-streaming" && entryPoint !== "o3-non-streaming", ...options, }), ) @@ -977,13 +977,13 @@ describe("OpenAiHandler", () => { return collectStream(requestHandler.createMessage("system prompt", [{ role: "user", content: "Hello" }])) } - it.each(["streaming", "non-streaming", "o3", "completePrompt"] as const)( + it.each(["streaming", "non-streaming", "o3", "o3-non-streaming", "completePrompt"] as const)( "names the missing deployment on an Azure 404 (%s)", async (entryPoint) => { mockCreate.mockRejectedValueOnce(makeStatusError("404 Resource not found", 404)) const error = await request(entryPoint, azureOptions).catch((e: unknown) => e) - const deployment = entryPoint === "o3" ? "o3-mini" : "gpt-4o" + const deployment = entryPoint.startsWith("o3") ? "o3-mini" : "gpt-4o" expect(error).toBeInstanceOf(Error) expect(error).toMatchObject({ status: 404 }) From 448208d909d8f70a41e0761c4646f669750686e1 Mon Sep 17 00:00:00 2001 From: PierrunoYT Date: Sun, 25 Oct 2026 10:41:41 +0100 Subject: [PATCH 3/4] test(webview): show Azure request URL in OpenAI-compatible visual fixture Co-Authored-By: Claude Sonnet 5.5 --- .../providers/__tests__/OpenAICompatible.visual.fixture.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webview-ui/src/components/settings/providers/__tests__/OpenAICompatible.visual.fixture.tsx b/webview-ui/src/components/settings/providers/__tests__/OpenAICompatible.visual.fixture.tsx index 9e0aeb71bc..98905523c5 100644 --- a/webview-ui/src/components/settings/providers/__tests__/OpenAICompatible.visual.fixture.tsx +++ b/webview-ui/src/components/settings/providers/__tests__/OpenAICompatible.visual.fixture.tsx @@ -27,7 +27,7 @@ const translations = flattenTranslations(enSettings as Record) const apiConfiguration: ProviderSettings = { apiProvider: providerIdentifiers.openai, - openAiBaseUrl: "", + openAiBaseUrl: "https://my-resource.openai.azure.com/", openAiModelId: "my-gpt4o-deployment", openAiUseAzure: true, } From f48e15fa85767c5083b9d4006c11f56ca88eb6f7 Mon Sep 17 00:00:00 2001 From: PierrunoYT Date: Sun, 25 Oct 2026 11:03:21 +0100 Subject: [PATCH 4/4] test(webview): update Azure guidance visual baseline with the request URL Co-Authored-By: Claude Sonnet 5.5 --- .../openai-compatible-azure-guidance-dark.png | Bin 86882 -> 95807 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/webview-ui/src/components/settings/providers/__tests__/__screenshots__/openai-compatible-azure-guidance-dark.png b/webview-ui/src/components/settings/providers/__tests__/__screenshots__/openai-compatible-azure-guidance-dark.png index e8d6bb3b4b5c52cbadd03eae7212e645cccd06ae..ca7ff8ca97554a4cf99b94f4caede55c973dd286 100644 GIT binary patch literal 95807 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%0AVPiJ;XD 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%0AlX$6wmvrTSJ}XtCN;ZF4PrA!bnAR}G5x@3CZ4@t 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 L23q$?R>A)PQd0UT