Просмотр исходного кода

Revert "try to avoid persisting empty thinking/text blocks"

This reverts commit d8a15e7bc97f15eaec6247b643d9a55a9468be3e.
Aiden Cline 5 месяцев назад
Родитель
Сommit
d69366b00c
2 измененных файлов с 13 добавлено и 33 удалено
  1. 0 17
      packages/opencode/src/session/index.ts
  2. 13 16
      packages/opencode/src/session/prompt.ts

+ 0 - 17
packages/opencode/src/session/index.ts

@@ -342,23 +342,6 @@ export namespace Session {
     return part
     return part
   })
   })
 
 
-  export const removePart = fn(
-    z.object({
-      sessionID: Identifier.schema("session"),
-      messageID: Identifier.schema("message"),
-      partID: Identifier.schema("part"),
-    }),
-    async (input) => {
-      await Storage.remove(["part", input.messageID, input.partID])
-      Bus.publish(MessageV2.Event.PartRemoved, {
-        sessionID: input.sessionID,
-        messageID: input.messageID,
-        partID: input.partID,
-      })
-      return input.partID
-    },
-  )
-
   export const getUsage = fn(
   export const getUsage = fn(
     z.object({
     z.object({
       model: z.custom<ModelsDev.Model>(),
       model: z.custom<ModelsDev.Model>(),

+ 13 - 16
packages/opencode/src/session/prompt.ts

@@ -916,7 +916,7 @@ export namespace SessionPrompt {
                   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 (value.providerMetadata) part.metadata = value.providerMetadata
-                  if (part.text.trim()) await Session.updatePart(part)
+                  if (part.text) await Session.updatePart(part)
                 }
                 }
                 break
                 break
 
 
@@ -924,14 +924,13 @@ 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()
-                  if (part.text) {
-                    part.time = {
-                      ...part.time,
-                      end: Date.now(),
-                    }
-                    if (value.providerMetadata) part.metadata = value.providerMetadata
-                    await Session.updatePart(part)
+
+                  part.time = {
+                    ...part.time,
+                    end: Date.now(),
                   }
                   }
+                  if (value.providerMetadata) part.metadata = value.providerMetadata
+                  await Session.updatePart(part)
                   delete reasoningMap[value.id]
                   delete reasoningMap[value.id]
                 }
                 }
                 break
                 break
@@ -1086,21 +1085,19 @@ export namespace SessionPrompt {
                 if (currentText) {
                 if (currentText) {
                   currentText.text += value.text
                   currentText.text += value.text
                   if (value.providerMetadata) currentText.metadata = value.providerMetadata
                   if (value.providerMetadata) currentText.metadata = value.providerMetadata
-                  if (currentText.text.trim()) await Session.updatePart(currentText)
+                  if (currentText.text) await Session.updatePart(currentText)
                 }
                 }
                 break
                 break
 
 
               case "text-end":
               case "text-end":
                 if (currentText) {
                 if (currentText) {
                   currentText.text = currentText.text.trimEnd()
                   currentText.text = currentText.text.trimEnd()
-                  if (currentText.text) {
-                    currentText.time = {
-                      start: Date.now(),
-                      end: Date.now(),
-                    }
-                    if (value.providerMetadata) currentText.metadata = value.providerMetadata
-                    await Session.updatePart(currentText)
+                  currentText.time = {
+                    start: Date.now(),
+                    end: Date.now(),
                   }
                   }
+                  if (value.providerMetadata) currentText.metadata = value.providerMetadata
+                  await Session.updatePart(currentText)
                 }
                 }
                 currentText = undefined
                 currentText = undefined
                 break
                 break