summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAiden Cline <[email protected]>2025-09-14 16:28:06 -0500
committerGitHub <[email protected]>2025-09-14 16:28:06 -0500
commite3e459fc50a81657930cc73d6bc63adf08ad9d62 (patch)
treef3514c57fdc85fabd8b379c8cfc74a2f2b06ba01
parent4bf0541bd65e7e69a5b48f44545328e21306a0ef (diff)
downloadopencode-e3e459fc50a81657930cc73d6bc63adf08ad9d62.tar.gz
opencode-e3e459fc50a81657930cc73d6bc63adf08ad9d62.zip
fix: reasoning metadata persistence (#2602)
-rw-r--r--packages/opencode/src/session/message-v2.ts9
-rw-r--r--packages/opencode/src/session/prompt.ts3
2 files changed, 11 insertions, 1 deletions
diff --git a/packages/opencode/src/session/message-v2.ts b/packages/opencode/src/session/message-v2.ts
index d0f7f3170..c031dbe7a 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 ef3deeb3a..f6f0ffb9b 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(),