@@ -21,6 +21,7 @@ export interface StatsCommandContext {
2121function formatStatsMessage (
2222 sessionTokens : number ,
2323 sessionTools : number ,
24+ sessionMessages : number ,
2425 allTime : AggregatedStats ,
2526) : string {
2627 const lines : string [ ] = [ ]
@@ -31,14 +32,16 @@ function formatStatsMessage(
3132 lines . push ( "" )
3233 lines . push ( "Session:" )
3334 lines . push ( "─" . repeat ( 60 ) )
34- lines . push ( ` Tokens pruned: ~${ formatTokenCount ( sessionTokens ) } ` )
35- lines . push ( ` Tools pruned: ${ sessionTools } ` )
35+ lines . push ( ` Tokens pruned: ~${ formatTokenCount ( sessionTokens ) } ` )
36+ lines . push ( ` Tools pruned: ${ sessionTools } ` )
37+ lines . push ( ` Messages pruned: ${ sessionMessages } ` )
3638 lines . push ( "" )
3739 lines . push ( "All-time:" )
3840 lines . push ( "─" . repeat ( 60 ) )
39- lines . push ( ` Tokens saved: ~${ formatTokenCount ( allTime . totalTokens ) } ` )
40- lines . push ( ` Tools pruned: ${ allTime . totalTools } ` )
41- lines . push ( ` Sessions: ${ allTime . sessionCount } ` )
41+ lines . push ( ` Tokens saved: ~${ formatTokenCount ( allTime . totalTokens ) } ` )
42+ lines . push ( ` Tools pruned: ${ allTime . totalTools } ` )
43+ lines . push ( ` Messages pruned: ${ allTime . totalMessages } ` )
44+ lines . push ( ` Sessions: ${ allTime . sessionCount } ` )
4245
4346 return lines . join ( "\n" )
4447}
@@ -49,19 +52,22 @@ export async function handleStatsCommand(ctx: StatsCommandContext): Promise<void
4952 // Session stats from in-memory state
5053 const sessionTokens = state . stats . totalPruneTokens
5154 const sessionTools = state . prune . toolIds . size
55+ const sessionMessages = state . prune . messageIds . size
5256
5357 // All-time stats from storage files
5458 const allTime = await loadAllSessionStats ( logger )
5559
56- const message = formatStatsMessage ( sessionTokens , sessionTools , allTime )
60+ const message = formatStatsMessage ( sessionTokens , sessionTools , sessionMessages , allTime )
5761
5862 const params = getCurrentParams ( state , messages , logger )
5963 await sendIgnoredMessage ( client , sessionId , message , params , logger )
6064
6165 logger . info ( "Stats command executed" , {
6266 sessionTokens,
6367 sessionTools,
68+ sessionMessages,
6469 allTimeTokens : allTime . totalTokens ,
6570 allTimeTools : allTime . totalTools ,
71+ allTimeMessages : allTime . totalMessages ,
6672 } )
6773}
0 commit comments