[Condense] Fix double counting last message when condensing (#3763)

This commit is contained in:
Canyon Robins 2025-05-20 14:15:15 -07:00 committed by hannesrudolph
parent fd8825d042
commit 9c8c3d26bc

View file

@ -492,16 +492,9 @@ export class Task extends EventEmitter<ClineEvents> {
if (!summary) {
return
}
const lastMessageContent = this.apiConversationHistory.at(-1)?.content
await this.overwriteApiConversationHistory(messages)
const { contextTokens } = this.getTokenUsage()
const lastContent =
typeof lastMessageContent === "string"
? [{ type: "text" as const, text: lastMessageContent }]
: lastMessageContent
const lastMessageTokens = lastContent ? await this.api.countTokens(lastContent) : 0
const prevContextTokens = contextTokens + lastMessageTokens
const contextCondense: ContextCondense = { summary, cost, newContextTokens, prevContextTokens }
const contextCondense: ContextCondense = { summary, cost, newContextTokens, prevContextTokens: contextTokens }
await this.say(
"condense_context",
undefined /* text */,