From a740d2c66782ef3371146cd55d70920ae9b94daf Mon Sep 17 00:00:00 2001 From: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Date: Wed, 29 Apr 2026 16:49:28 -0500 Subject: [PATCH] fix: adjust azure defaults to closer match openai to prevent Item .. of type 'reasoning' was provided without its required following item (#25007) --- packages/opencode/src/provider/provider.ts | 9 ++++++--- packages/opencode/src/provider/transform.ts | 2 +- packages/opencode/test/provider/transform.test.ts | 4 ++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index 48df5a4c9d..702435d7da 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -1466,10 +1466,13 @@ const layer: Layer.Layer< if (combined) opts.signal = combined // Strip openai itemId metadata following what codex does - if (model.api.npm === "@ai-sdk/openai" && opts.body && opts.method === "POST") { + if ( + (model.api.npm === "@ai-sdk/openai" || model.api.npm === "@ai-sdk/azure") && + opts.body && + opts.method === "POST" + ) { const body = JSON.parse(opts.body as string) - const isAzure = model.providerID.includes("azure") - const keepIds = isAzure && body.store === true + const keepIds = body.store === true if (!keepIds && Array.isArray(body.input)) { for (const item of body.input) { if ("id" in item) { diff --git a/packages/opencode/src/provider/transform.ts b/packages/opencode/src/provider/transform.ts index cc0fcff8d3..d47d1fe76c 100644 --- a/packages/opencode/src/provider/transform.ts +++ b/packages/opencode/src/provider/transform.ts @@ -866,7 +866,7 @@ export function options(input: { } if (input.model.api.npm === "@ai-sdk/azure") { - result["store"] = true + result["store"] = false result["promptCacheKey"] = input.sessionID } diff --git a/packages/opencode/test/provider/transform.test.ts b/packages/opencode/test/provider/transform.test.ts index a12165b4f0..9b66eaa77c 100644 --- a/packages/opencode/test/provider/transform.test.ts +++ b/packages/opencode/test/provider/transform.test.ts @@ -101,7 +101,7 @@ describe("ProviderTransform.options - setCacheKey", () => { expect(result.store).toBe(false) }) - test("should set store=true for azure provider by default", () => { + test("should set store=false for azure provider by default", () => { const azureModel = { ...mockModel, providerID: "azure", @@ -116,7 +116,7 @@ describe("ProviderTransform.options - setCacheKey", () => { sessionID, providerOptions: {}, }) - expect(result.store).toBe(true) + expect(result.store).toBe(false) }) })