summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAiden Cline <[email protected]>2026-04-29 16:49:28 -0500
committerGitHub <[email protected]>2026-04-29 16:49:28 -0500
commita740d2c66782ef3371146cd55d70920ae9b94daf (patch)
tree0ecf209705e01c186679f776061e4789c2d196f6
parent588261076adba0bc385f60fe18637da53ed03420 (diff)
downloadopencode-a740d2c66782ef3371146cd55d70920ae9b94daf.tar.gz
opencode-a740d2c66782ef3371146cd55d70920ae9b94daf.zip
fix: adjust azure defaults to closer match openai to prevent Item .. of type 'reasoning' was provided without its required following item (#25007)
-rw-r--r--packages/opencode/src/provider/provider.ts9
-rw-r--r--packages/opencode/src/provider/transform.ts2
-rw-r--r--packages/opencode/test/provider/transform.test.ts4
3 files changed, 9 insertions, 6 deletions
diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts
index 48df5a4c9..702435d7d 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 cc0fcff8d..d47d1fe76 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 a12165b4f..9b66eaa77 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)
})
})