fix(resume): preserve recency when injecting assistant anchor (#1086)

This commit is contained in:
Charles Packer
2026-02-21 12:35:20 -08:00
committed by GitHub
parent a3964ae61f
commit e3f1ca84ed
2 changed files with 22 additions and 5 deletions

View File

@@ -162,11 +162,13 @@ export function prepareMessageHistory(
.map((m) => m.message_type)
.lastIndexOf("assistant_message");
if (lastAssistantIndex >= 0) {
const start = Math.max(
0,
lastAssistantIndex - (BACKFILL_PRIMARY_MESSAGE_LIMIT - 1),
);
trimmed = convo.slice(start, start + BACKFILL_PRIMARY_MESSAGE_LIMIT);
const lastAssistant = convo[lastAssistantIndex];
if (lastAssistant) {
// Preserve recency: keep the newest tail and prepend the last assistant.
const tailLimit = Math.max(BACKFILL_PRIMARY_MESSAGE_LIMIT - 1, 0);
const newestTail = tailLimit > 0 ? convo.slice(-tailLimit) : [];
trimmed = [lastAssistant, ...newestTail];
}
}
}
if (trimmed.length > 0) return trimmed;