Handle revert removals locally and retarget prompt input

This commit is contained in:
Shantur Rathore
2025-12-25 15:12:44 +00:00
parent 94aa469e90
commit 2603b1d260
7 changed files with 158 additions and 22 deletions

View File

@@ -31,6 +31,8 @@ import {
replaceMessageIdV2,
upsertMessageInfoV2,
upsertPermissionV2,
removeMessagePartV2,
removeMessageV2,
removePermissionV2,
setSessionRevertV2,
} from "./message-v2/bridge"
@@ -305,19 +307,21 @@ function handleSessionError(_instanceId: string, event: EventSessionError): void
}
function handleMessageRemoved(instanceId: string, event: MessageRemovedEvent): void {
const sessionID = event.properties?.sessionID
if (!sessionID) return
const { sessionID, messageID } = event.properties
if (!sessionID || !messageID) return
log.info(`[SSE] Message removed from session ${sessionID}, reloading messages`)
loadMessages(instanceId, sessionID, true).catch((error) => log.error("Failed to reload messages after removal", error))
log.info(`[SSE] Message removed from session ${sessionID}`, { messageID })
removeMessageV2(instanceId, messageID)
updateSessionInfo(instanceId, sessionID)
}
function handleMessagePartRemoved(instanceId: string, event: MessagePartRemovedEvent): void {
const sessionID = event.properties?.sessionID
if (!sessionID) return
const { sessionID, messageID, partID } = event.properties
if (!sessionID || !messageID || !partID) return
log.info(`[SSE] Message part removed from session ${sessionID}, reloading messages`)
loadMessages(instanceId, sessionID, true).catch((error) => log.error("Failed to reload messages after part removal", error))
log.info(`[SSE] Message part removed from session ${sessionID}`, { messageID, partID })
removeMessagePartV2(instanceId, messageID, partID)
updateSessionInfo(instanceId, sessionID)
}
function handleTuiToast(_instanceId: string, event: TuiToastEvent): void {