From 562e9ea894223e98b2a6cf5849be3585a45bbdf6 Mon Sep 17 00:00:00 2001 From: Hannes Rudolph Date: Fri, 6 Feb 2026 14:03:00 -0700 Subject: [PATCH] fix: upgrade @ai-sdk/azure to v3 and use deployment-based URLs - Upgrade @ai-sdk/azure from ^2.0.6 to ^3.0.26 - v3 defaults provider(id) to Responses API (works for all models) - v2 defaulted to Chat Completions, breaking codex models - Add useDeploymentBasedUrls: true to createAzure() - Produces /deployments/{id}/{path} URLs (universally compatible) - Without it, SDK uses /v1/{path} which only works on AI Foundry resources --- src/api/providers/azure.ts | 6 +++++- src/package.json | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/api/providers/azure.ts b/src/api/providers/azure.ts index b10d4c78d7..2438bd31c0 100644 --- a/src/api/providers/azure.ts +++ b/src/api/providers/azure.ts @@ -35,11 +35,15 @@ export class AzureHandler extends BaseProvider implements SingleCompletionHandle this.options = options // Create the Azure provider using AI SDK - // The @ai-sdk/azure package uses resourceName-based routing + // The @ai-sdk/azure package uses resourceName-based routing. + // useDeploymentBasedUrls produces the universally compatible + // /deployments/{id}/{path} URL shape that works on both classic + // Azure OpenAI resources and newer AI Foundry resources. this.provider = createAzure({ resourceName: options.azureResourceName ?? "", apiKey: options.azureApiKey, // Optional — Azure supports managed identity / Entra ID auth apiVersion: options.azureApiVersion ?? azureOpenAiDefaultApiVersion, + useDeploymentBasedUrls: true, headers: DEFAULT_HEADERS, }) } diff --git a/src/package.json b/src/package.json index 89bacc099c..56591eedec 100644 --- a/src/package.json +++ b/src/package.json @@ -451,7 +451,7 @@ }, "dependencies": { "@ai-sdk/amazon-bedrock": "^4.0.50", - "@ai-sdk/azure": "^2.0.6", + "@ai-sdk/azure": "^3.0.26", "@ai-sdk/baseten": "^1.0.31", "@ai-sdk/cerebras": "^1.0.0", "@ai-sdk/deepseek": "^2.0.14",