From d69366b00c9aafe1a56caf964061891d342ff64a Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Thu, 16 Oct 2025 22:04:55 -0500 Subject: [PATCH] Revert "try to avoid persisting empty thinking/text blocks" This reverts commit d8a15e7bc97f15eaec6247b643d9a55a9468be3e. --- packages/opencode/src/session/index.ts | 17 --------------- packages/opencode/src/session/prompt.ts | 29 +++++++++++-------------- 2 files changed, 13 insertions(+), 33 deletions(-) diff --git a/packages/opencode/src/session/index.ts b/packages/opencode/src/session/index.ts index 4107e6eb..521dcfe7 100644 --- a/packages/opencode/src/session/index.ts +++ b/packages/opencode/src/session/index.ts @@ -342,23 +342,6 @@ export namespace Session { 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( z.object({ model: z.custom(), diff --git a/packages/opencode/src/session/prompt.ts b/packages/opencode/src/session/prompt.ts index 479980ac..29940dda 100644 --- a/packages/opencode/src/session/prompt.ts +++ b/packages/opencode/src/session/prompt.ts @@ -916,7 +916,7 @@ export namespace SessionPrompt { const part = reasoningMap[value.id] part.text += value.text if (value.providerMetadata) part.metadata = value.providerMetadata - if (part.text.trim()) await Session.updatePart(part) + if (part.text) await Session.updatePart(part) } break @@ -924,14 +924,13 @@ export namespace SessionPrompt { if (value.id in reasoningMap) { const part = reasoningMap[value.id] 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] } break @@ -1086,21 +1085,19 @@ export namespace SessionPrompt { if (currentText) { currentText.text += value.text if (value.providerMetadata) currentText.metadata = value.providerMetadata - if (currentText.text.trim()) await Session.updatePart(currentText) + if (currentText.text) await Session.updatePart(currentText) } break case "text-end": if (currentText) { 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 break