diff --git a/src/agents/pi-embedded-subscribe.handlers.lifecycle.ts b/src/agents/pi-embedded-subscribe.handlers.lifecycle.ts index d578be3c51d..3bb9cc3318f 100644 --- a/src/agents/pi-embedded-subscribe.handlers.lifecycle.ts +++ b/src/agents/pi-embedded-subscribe.handlers.lifecycle.ts @@ -67,15 +67,7 @@ export function handleAgentEnd(ctx: EmbeddedPiSubscribeContext) { }); } - if (ctx.params.onBlockReply) { - if (ctx.blockChunker?.hasBuffered()) { - ctx.blockChunker.drain({ force: true, emit: ctx.emitBlockChunk }); - ctx.blockChunker.reset(); - } else if (ctx.state.blockBuffer.length > 0) { - ctx.emitBlockChunk(ctx.state.blockBuffer); - ctx.state.blockBuffer = ""; - } - } + ctx.flushBlockReplyBuffer(); ctx.state.blockState.thinking = false; ctx.state.blockState.final = false; diff --git a/src/agents/pi-embedded-subscribe.handlers.messages.ts b/src/agents/pi-embedded-subscribe.handlers.messages.ts index f4eec209210..5ce166117bb 100644 --- a/src/agents/pi-embedded-subscribe.handlers.messages.ts +++ b/src/agents/pi-embedded-subscribe.handlers.messages.ts @@ -201,13 +201,7 @@ export function handleMessageUpdate( } if (evtType === "text_end" && ctx.state.blockReplyBreak === "text_end") { - if (ctx.blockChunker?.hasBuffered()) { - ctx.blockChunker.drain({ force: true, emit: ctx.emitBlockChunk }); - ctx.blockChunker.reset(); - } else if (ctx.state.blockBuffer.length > 0) { - ctx.emitBlockChunk(ctx.state.blockBuffer); - ctx.state.blockBuffer = ""; - } + ctx.flushBlockReplyBuffer(); } }