diff --git a/src/agents/subagent-announce-queue.ts b/src/agents/subagent-announce-queue.ts index 0af29d458f4..e4e9eccf0ec 100644 --- a/src/agents/subagent-announce-queue.ts +++ b/src/agents/subagent-announce-queue.ts @@ -162,7 +162,7 @@ function scheduleAnnounceDrain(key: string) { prompt, internalEvents: internalEvents.length > 0 ? internalEvents : last.internalEvents, }); - queue.items.splice(0); + queue.items.splice(0, items.length); if (summary) { clearQueueSummaryState(queue); } diff --git a/src/auto-reply/reply/queue/drain.ts b/src/auto-reply/reply/queue/drain.ts index 0369a40157a..30584259040 100644 --- a/src/auto-reply/reply/queue/drain.ts +++ b/src/auto-reply/reply/queue/drain.ts @@ -219,7 +219,7 @@ export function scheduleFollowupDrain( enqueuedAt: Date.now(), ...routing, }); - queue.items.splice(0); + queue.items.splice(0, groupItems.length); if (pendingSummary) { clearQueueSummaryState(queue); pendingSummary = undefined; diff --git a/src/infra/system-events.ts b/src/infra/system-events.ts index 6600b4110d0..2496481c4f1 100644 --- a/src/infra/system-events.ts +++ b/src/infra/system-events.ts @@ -167,7 +167,7 @@ export function consumeSystemEventEntries( ) { return []; } - const removed = entry.queue.splice(0).map(cloneSystemEvent); + const removed = entry.queue.splice(0, consumedEntries.length).map(cloneSystemEvent); if (entry.queue.length === 0) { entry.lastText = null; entry.lastContextKey = null;