diff --git a/webview-ui/src/components/settings/providers/Azure.tsx b/webview-ui/src/components/settings/providers/Azure.tsx index fd86fec078..d9a167c95c 100644 --- a/webview-ui/src/components/settings/providers/Azure.tsx +++ b/webview-ui/src/components/settings/providers/Azure.tsx @@ -36,9 +36,6 @@ export const Azure = ({ apiConfiguration, setApiConfigurationField }: AzureProps if (parsed) { setApiConfigurationField("azureBaseUrl", parsed.baseUrl) setApiConfigurationField("azureDeploymentName", parsed.deploymentName) - if (parsed.apiVersion) { - setApiConfigurationField("azureApiVersion", parsed.apiVersion) - } } else { setApiConfigurationField("azureBaseUrl", rawValue) } diff --git a/webview-ui/src/components/settings/utils/__tests__/parseAzureUrl.spec.ts b/webview-ui/src/components/settings/utils/__tests__/parseAzureUrl.spec.ts index a347cefe0b..b90501eed1 100644 --- a/webview-ui/src/components/settings/utils/__tests__/parseAzureUrl.spec.ts +++ b/webview-ui/src/components/settings/utils/__tests__/parseAzureUrl.spec.ts @@ -1,14 +1,13 @@ import { parseAzureUrl } from "../parseAzureUrl" describe("parseAzureUrl", () => { - it("parses a full openai.azure.com URL with api-version", () => { + it("parses a full openai.azure.com URL (ignores api-version)", () => { const result = parseAzureUrl( "https://my-resource.openai.azure.com/openai/deployments/gpt-4o/chat/completions?api-version=2024-10-21", ) expect(result).toEqual({ baseUrl: "https://my-resource.openai.azure.com/openai", deploymentName: "gpt-4o", - apiVersion: "2024-10-21", }) }) @@ -19,7 +18,6 @@ describe("parseAzureUrl", () => { expect(result).toEqual({ baseUrl: "https://my-deployment.cognitiveservices.azure.com/openai", deploymentName: "gpt-5.2", - apiVersion: "2024-05-01-preview", }) }) @@ -30,7 +28,6 @@ describe("parseAzureUrl", () => { expect(result).toEqual({ baseUrl: "https://my-resource.services.ai.azure.com/openai", deploymentName: "my-model", - apiVersion: "2025-01-01", }) }) @@ -57,7 +54,6 @@ describe("parseAzureUrl", () => { expect(result).toEqual({ baseUrl: "https://my-resource.openai.azure.com/openai", deploymentName: "gpt-4.turbo.2024", - apiVersion: "2024-10-21", }) }) @@ -68,7 +64,6 @@ describe("parseAzureUrl", () => { expect(result).toEqual({ baseUrl: "https://my-resource.openai.azure.com/openai", deploymentName: "my-deploy", - apiVersion: "2024-10-21", }) }) @@ -102,14 +97,13 @@ describe("parseAzureUrl", () => { }) }) - it("handles additional query parameters besides api-version", () => { + it("ignores query parameters including api-version", () => { const result = parseAzureUrl( "https://my-resource.openai.azure.com/openai/deployments/gpt-4o/chat/completions?api-version=2024-10-21&extra=param", ) expect(result).toEqual({ baseUrl: "https://my-resource.openai.azure.com/openai", deploymentName: "gpt-4o", - apiVersion: "2024-10-21", }) }) }) diff --git a/webview-ui/src/components/settings/utils/parseAzureUrl.ts b/webview-ui/src/components/settings/utils/parseAzureUrl.ts index 427e9a09bd..79e3501260 100644 --- a/webview-ui/src/components/settings/utils/parseAzureUrl.ts +++ b/webview-ui/src/components/settings/utils/parseAzureUrl.ts @@ -3,14 +3,15 @@ export interface ParsedAzureUrl { baseUrl: string /** e.g. "gpt-5.2" */ deploymentName: string - /** e.g. "2024-05-01-preview" */ - apiVersion?: string } /** * Parses a full Azure OpenAI URL into its components. * Returns null if the URL doesn't match the expected pattern. * + * Extracts the base URL and deployment name only — the api-version query + * parameter is intentionally ignored so the application default is used. + * * Supported URL formats: * - https://{resource}.openai.azure.com/openai/deployments/{deployment}/chat/completions?api-version={ver} * - https://{resource}.cognitiveservices.azure.com/openai/deployments/{deployment}/responses?api-version={ver} @@ -32,7 +33,6 @@ export function parseAzureUrl(input: string): ParsedAzureUrl | null { const baseUrl = `${url.origin}${match[1]}` const deploymentName = decodeURIComponent(match[2]) - const apiVersion = url.searchParams.get("api-version") ?? undefined - return { baseUrl, deploymentName, ...(apiVersion !== undefined && { apiVersion }) } + return { baseUrl, deploymentName } }