From 0036eb3a0976c0bf2df87c05dddec0654cdfde2a Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Tue, 15 Jul 2025 16:41:26 -0400 Subject: [PATCH] sync --- packages/opencode/src/session/index.ts | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/packages/opencode/src/session/index.ts b/packages/opencode/src/session/index.ts index aa9c8fad1..6939aa5aa 100644 --- a/packages/opencode/src/session/index.ts +++ b/packages/opencode/src/session/index.ts @@ -948,9 +948,27 @@ export namespace Session { export async function revert(input: { sessionID: string; messageID: string; partID: string }) { const all = await messages(input.sessionID) - const message = await getMessage(input.sessionID, input.messageID) - const parts = await getParts(input.sessionID, input.messageID) - const index = parts.findIndex((x) => x.id === input.partID) + let snapshot: MessageV2.SnapshotPart | undefined + for (let i = 0; i < all.length; i++) { + const msg = all[i] + + for (const part of msg.parts) { + if (part.id > input.partID) { + // delete part + continue + } + if (part.type === "snapshot") { + snapshot = part + } + if (part.id === input.partID && snapshot) { + await Snapshot.restore(input.sessionID, snapshot.snapshot) + } + } + + if (msg.info.id > input.messageID) { + // delete message + } + } // TODO /*