88} from "./utils"
99import { ToolParameterEntry } from "../state"
1010import { PluginConfig } from "../config"
11+ import { getActiveSummaryTokenUsage } from "../state/utils"
1112
1213export type PruneReason = "completion" | "noise" | "extraction"
1314export const PRUNE_REASON_LABELS : Record < PruneReason , string > = {
@@ -168,7 +169,6 @@ export async function sendCompressNotification(
168169 sessionId : string ,
169170 entries : CompressionNotificationEntry [ ] ,
170171 batchTopic : string | undefined ,
171- totalSessionTokens : number ,
172172 sessionMessageIds : string [ ] ,
173173 params : any ,
174174) : Promise < boolean > {
@@ -233,11 +233,17 @@ export async function sendCompressNotification(
233233 "(unknown topic)" )
234234 : "(unknown topic)" )
235235
236+ const totalActiveSummaryTkns = getActiveSummaryTokenUsage ( state )
237+ const totalGross = state . stats . totalPruneTokens + state . stats . pruneTokenCounter
238+ const notificationHeader =
239+ totalActiveSummaryTkns > 0
240+ ? `▣ DCP | ~${ formatTokenCount ( totalGross , true ) } tokens removed (~${ formatTokenCount ( totalActiveSummaryTkns , true ) } summary tokens added)`
241+ : `▣ DCP | ~${ formatTokenCount ( totalGross , true ) } tokens removed`
242+
236243 if ( config . pruneNotification === "minimal" ) {
237- message = formatStatsHeader ( state . stats . totalPruneTokens , state . stats . pruneTokenCounter )
238- message += ` — ${ compressionLabel } `
244+ message = `${ notificationHeader } — ${ compressionLabel } `
239245 } else {
240- message = formatStatsHeader ( state . stats . totalPruneTokens , state . stats . pruneTokenCounter )
246+ message = notificationHeader
241247
242248 const pruneTokenCounterStr = `~${ formatTokenCount ( compressedTokens ) } `
243249
@@ -251,12 +257,10 @@ export async function sendCompressNotification(
251257 sessionMessageIds ,
252258 activePrunedMessages ,
253259 newlyCompressedMessageIds ,
260+ 70 ,
254261 )
255- const reduction =
256- totalSessionTokens > 0 ? Math . round ( ( compressedTokens / totalSessionTokens ) * 100 ) : 0
257-
258262 message += `\n\n${ progressBar } `
259- message += `\n▣ ${ compressionLabel } (${ pruneTokenCounterStr } removed, ${ reduction } % reduction )`
263+ message += `\n▣ ${ compressionLabel } (${ pruneTokenCounterStr } removed, ~ ${ formatTokenCount ( summaryTokens , true ) } summary tokens added )`
260264 message += `\n→ Topic: ${ topic } `
261265 message += `\n→ Items: ${ newlyCompressedMessageIds . length } messages`
262266 if ( newlyCompressedToolIds . length > 0 ) {
0 commit comments