fix(ui): handle message.part.delta streaming

Wire message.part.delta SSE events into the v2 message store and append deltas onto existing part fields.
This commit is contained in:
Shantur Rathore
2026-02-15 00:54:31 +00:00
parent edd3ded1d8
commit 5067db3dd0
6 changed files with 93 additions and 5 deletions

View File

@@ -4,6 +4,7 @@ import {
MessageRemovedEvent,
MessagePartUpdatedEvent,
MessagePartRemovedEvent,
MessagePartDeltaEvent,
} from "../types/message"
import type {
EventLspUpdated,
@@ -58,6 +59,7 @@ type SSEEvent =
| MessageRemovedEvent
| MessagePartUpdatedEvent
| MessagePartRemovedEvent
| MessagePartDeltaEvent
| EventSessionUpdated
| EventSessionCompacted
| EventSessionDiff
@@ -118,6 +120,9 @@ class SSEManager {
case "message.part.updated":
this.onMessagePartUpdated?.(instanceId, event as MessagePartUpdatedEvent)
break
case "message.part.delta":
this.onMessagePartDelta?.(instanceId, event as MessagePartDeltaEvent)
break
case "message.removed":
this.onMessageRemoved?.(instanceId, event as MessageRemovedEvent)
break
@@ -184,6 +189,7 @@ class SSEManager {
onMessageUpdate?: (instanceId: string, event: MessageUpdateEvent) => void
onMessageRemoved?: (instanceId: string, event: MessageRemovedEvent) => void
onMessagePartUpdated?: (instanceId: string, event: MessagePartUpdatedEvent) => void
onMessagePartDelta?: (instanceId: string, event: MessagePartDeltaEvent) => void
onMessagePartRemoved?: (instanceId: string, event: MessagePartRemovedEvent) => void
onSessionUpdate?: (instanceId: string, event: EventSessionUpdated) => void
onSessionCompacted?: (instanceId: string, event: EventSessionCompacted) => void