From 3fd0043d1907b0e565cee73fff0f4725f7c8c0d5 Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Mon, 19 Jan 2026 12:18:17 -0600 Subject: [PATCH] chore: handle fields other than reasoning_content in interleaved block --- packages/opencode/src/provider/transform.ts | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/packages/opencode/src/provider/transform.ts b/packages/opencode/src/provider/transform.ts index f6b7ec8cb..c983bf32c 100644 --- a/packages/opencode/src/provider/transform.ts +++ b/packages/opencode/src/provider/transform.ts @@ -123,11 +123,8 @@ export namespace ProviderTransform { return result } - if ( - model.capabilities.interleaved && - typeof model.capabilities.interleaved === "object" && - model.capabilities.interleaved.field === "reasoning_content" - ) { + if (typeof model.capabilities.interleaved === "object" && model.capabilities.interleaved.field) { + const field = model.capabilities.interleaved.field return msgs.map((msg) => { if (msg.role === "assistant" && Array.isArray(msg.content)) { const reasoningParts = msg.content.filter((part: any) => part.type === "reasoning") @@ -136,7 +133,7 @@ export namespace ProviderTransform { // Filter out reasoning parts from content const filteredContent = msg.content.filter((part: any) => part.type !== "reasoning") - // Include reasoning_content directly on the message for all assistant messages + // Include reasoning_content | reasoning_details directly on the message for all assistant messages if (reasoningText) { return { ...msg, @@ -145,7 +142,7 @@ export namespace ProviderTransform { ...msg.providerOptions, openaiCompatible: { ...(msg.providerOptions as any)?.openaiCompatible, - reasoning_content: reasoningText, + [field]: reasoningText, }, }, }