Explorar el Código

fix: reasoning metadata persistence (#2602)

Aiden Cline hace 5 meses
padre
commit
e3e459fc50

+ 9 - 0
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 []
             return []
           }),
           }),

+ 2 - 1
packages/opencode/src/session/prompt.ts

@@ -853,6 +853,7 @@ export namespace SessionPrompt {
                 if (value.id in reasoningMap) {
                 if (value.id in reasoningMap) {
                   const part = reasoningMap[value.id]
                   const part = reasoningMap[value.id]
                   part.text += value.text
                   part.text += value.text
+                  if (value.providerMetadata) part.metadata = value.providerMetadata
                   if (part.text) await Session.updatePart(part)
                   if (part.text) await Session.updatePart(part)
                 }
                 }
                 break
                 break
@@ -861,7 +862,7 @@ export namespace SessionPrompt {
                 if (value.id in reasoningMap) {
                 if (value.id in reasoningMap) {
                   const part = reasoningMap[value.id]
                   const part = reasoningMap[value.id]
                   part.text = part.text.trimEnd()
                   part.text = part.text.trimEnd()
-                  part.metadata = value.providerMetadata
+
                   part.time = {
                   part.time = {
                     ...part.time,
                     ...part.time,
                     end: Date.now(),
                     end: Date.now(),