diff --git a/packages/opencode/src/session/message-v2.ts b/packages/opencode/src/session/message-v2.ts index d0f7f317..c031dbe7 100644 --- a/packages/opencode/src/session/message-v2.ts +++ b/packages/opencode/src/session/message-v2.ts @@ -549,6 +549,15 @@ export namespace MessageV2 { }, ] } + if (part.type === "reasoning") { + return [ + { + type: "reasoning", + text: part.text, + providerMetadata: part.metadata, + }, + ] + } return [] }), diff --git a/packages/opencode/src/session/prompt.ts b/packages/opencode/src/session/prompt.ts index ef3deeb3..f6f0ffb9 100644 --- a/packages/opencode/src/session/prompt.ts +++ b/packages/opencode/src/session/prompt.ts @@ -853,6 +853,7 @@ export namespace SessionPrompt { if (value.id in reasoningMap) { const part = reasoningMap[value.id] part.text += value.text + if (value.providerMetadata) part.metadata = value.providerMetadata if (part.text) await Session.updatePart(part) } break @@ -861,7 +862,7 @@ export namespace SessionPrompt { if (value.id in reasoningMap) { const part = reasoningMap[value.id] part.text = part.text.trimEnd() - part.metadata = value.providerMetadata + part.time = { ...part.time, end: Date.now(),