@@ -11,7 +11,6 @@ type EmitTaskEvent = (event: RooCodeEventName, ...args: any[]) => boolean
1111export interface UsageTrackerOptions {
1212 taskId : string
1313 getMessages : ( ) => ClineMessage [ ]
14- getLastMessageTs : ( ) => number | undefined
1514 emit : EmitTaskEvent
1615 emitIntervalMs ?: number
1716}
@@ -21,25 +20,21 @@ const DEFAULT_TOKEN_USAGE_EMIT_INTERVAL_MS = 2000
2120export class UsageTracker {
2221 private readonly taskId : string
2322 private readonly getMessages : ( ) => ClineMessage [ ]
24- private readonly getLastMessageTs : ( ) => number | undefined
2523 private readonly emit : EmitTaskEvent
2624 private readonly debouncedEmitTokenUsage : ReturnType < typeof debounce >
2725
2826 private tokenUsageSnapshot ?: TokenUsage
29- private tokenUsageSnapshotAt ?: number
3027 private toolUsageSnapshot ?: ToolUsage
3128 private currentToolUsage : ToolUsage = { }
3229
3330 constructor ( {
3431 taskId,
3532 getMessages,
36- getLastMessageTs,
3733 emit,
3834 emitIntervalMs = DEFAULT_TOKEN_USAGE_EMIT_INTERVAL_MS ,
3935 } : UsageTrackerOptions ) {
4036 this . taskId = taskId
4137 this . getMessages = getMessages
42- this . getLastMessageTs = getLastMessageTs
4338 this . emit = emit
4439
4540 // Uses debounce with maxWait to achieve throttle-like behavior:
@@ -54,7 +49,6 @@ export class UsageTracker {
5449 if ( tokenChanged || toolChanged ) {
5550 this . emit ( RooCodeEventName . TaskTokenUsageUpdated , this . taskId , tokenUsage , toolUsage )
5651 this . tokenUsageSnapshot = tokenUsage
57- this . tokenUsageSnapshotAt = this . getLastMessageTs ( )
5852 this . toolUsageSnapshot = JSON . parse ( JSON . stringify ( toolUsage ) )
5953 }
6054 } ,
@@ -102,15 +96,8 @@ export class UsageTracker {
10296 this . currentToolUsage = toolUsage
10397 }
10498
105- public get tokenUsage ( ) : TokenUsage | undefined {
106- if ( this . tokenUsageSnapshot && this . tokenUsageSnapshotAt ) {
107- return this . tokenUsageSnapshot
108- }
109-
110- this . tokenUsageSnapshot = this . getTokenUsage ( )
111- this . tokenUsageSnapshotAt = this . getLastMessageTs ( )
112-
113- return this . tokenUsageSnapshot
99+ public get tokenUsage ( ) : TokenUsage {
100+ return this . getTokenUsage ( )
114101 }
115102
116103 private ensureToolUsageEntry ( toolName : ToolName ) : { attempts : number ; failures : number } {
0 commit comments