[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 GitHub
parent c3716f1107
commit ff837d5cbf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

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 */,