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

fix: Perform snapshot in cases finish-step is not reached (#5912)

Co-authored-by: noamzbr <[email protected]>
Noam Bressler 2 месяцев назад
Родитель
Сommit
d4b7f75ce3
1 измененных файлов с 14 добавлено и 0 удалено
  1. 14 0
      packages/opencode/src/session/processor.ts

+ 14 - 0
packages/opencode/src/session/processor.ts

@@ -365,6 +365,20 @@ export namespace SessionProcessor {
               error: input.assistantMessage.error,
             })
           }
+          if (snapshot) {
+            const patch = await Snapshot.patch(snapshot)
+            if (patch.files.length) {
+              await Session.updatePart({
+                id: Identifier.ascending("part"),
+                messageID: input.assistantMessage.id,
+                sessionID: input.sessionID,
+                type: "patch",
+                hash: patch.hash,
+                files: patch.files,
+              })
+            }
+            snapshot = undefined
+          }
           const p = await MessageV2.parts(input.assistantMessage.id)
           for (const part of p) {
             if (part.type === "tool" && part.state.status !== "completed" && part.state.status !== "error") {