From 2750b3a0bd196b515d853e310410398551332a63 Mon Sep 17 00:00:00 2001 From: fkyah3 <87884337+fkyah3@users.noreply.github.com> Date: Sat, 25 Apr 2026 06:11:03 +0800 Subject: [PATCH] fix(provider): auto-enable interleaved for reasoning models on @ai-sdk/openai-compatible When a user configures a model with reasoning: true but doesn't explicitly set interleaved, the default was false. This caused reasoning_content to be dropped during message replay for @ai-sdk/openai-compatible users. Now, if reasoning: true is configured and interleaved is not explicitly set, it defaults to { field: "reasoning_content" } instead of false. --- packages/opencode/src/provider/provider.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index 0fe53e6e47f0..f65a02693f23 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -1177,7 +1177,7 @@ const layer: Layer.Layer< model.modalities?.output?.includes("video") ?? existingModel?.capabilities.output.video ?? false, pdf: model.modalities?.output?.includes("pdf") ?? existingModel?.capabilities.output.pdf ?? false, }, - interleaved: model.interleaved ?? existingModel?.capabilities.interleaved ?? false, + interleaved: model.interleaved ?? existingModel?.capabilities.interleaved ?? (model.reasoning ? { field: "reasoning_content" } : false), }, cost: { input: model?.cost?.input ?? existingModel?.cost?.input ?? 0,