@@ -10,6 +10,7 @@ import {
1010 loadPruneMap ,
1111 loadPruneMessagesState ,
1212} from "../../lib/state/utils"
13+ import { loadAllSessionStats } from "../../lib/state/persistence"
1314import { analyzeTokens , emptyBreakdown } from "../../lib/analysis/tokens"
1415import type { DcpContextSnapshot , DcpTuiClient } from "../shared/types"
1516
@@ -44,6 +45,7 @@ export const createPlaceholderContextSnapshot = (
4445 activeBlockTopicTotal : 0 ,
4546 } ,
4647 messageStatuses : [ ] ,
48+ allTimeStats : { totalTokensSaved : 0 , sessionCount : 0 } ,
4749 notes,
4850 loadedAt : Date . now ( ) ,
4951} )
@@ -90,7 +92,10 @@ const loadContextSnapshot = async (
9092 } )
9193
9294 const { state, persisted } = await buildState ( sessionID , messages )
93- const { breakdown, messageStatuses } = analyzeTokens ( state , messages )
95+ const [ { breakdown, messageStatuses } , aggregated ] = await Promise . all ( [
96+ Promise . resolve ( analyzeTokens ( state , messages ) ) ,
97+ loadAllSessionStats ( logger ) ,
98+ ] )
9499
95100 const allTopics = Array . from ( state . prune . messages . activeBlockIds )
96101 . map ( ( blockID ) => state . prune . messages . blocksById . get ( blockID ) )
@@ -121,6 +126,10 @@ const loadContextSnapshot = async (
121126 lastUpdated : persisted ?. lastUpdated ,
122127 } ,
123128 messageStatuses,
129+ allTimeStats : {
130+ totalTokensSaved : aggregated . totalTokens ,
131+ sessionCount : aggregated . sessionCount ,
132+ } ,
124133 notes,
125134 loadedAt : Date . now ( ) ,
126135 }
0 commit comments