File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -18,6 +18,8 @@ export interface UsageTrackerOptions {
1818const DEFAULT_TOKEN_USAGE_EMIT_INTERVAL_MS = 2000
1919
2020export class UsageTracker {
21+ private disposed = false
22+
2123 private readonly taskId : string
2224 private readonly getMessages : ( ) => ClineMessage [ ]
2325 private readonly emit : EmitTaskEvent
@@ -66,15 +68,24 @@ export class UsageTracker {
6668 }
6769
6870 public emitTokenUsageUpdate ( tokenUsage : TokenUsage ) : void {
71+ if ( this . disposed ) {
72+ return
73+ }
74+
6975 this . debouncedEmitTokenUsage ( tokenUsage , this . currentToolUsage )
7076 }
7177
7278 public emitFinalTokenUsageUpdate ( ) : void {
79+ if ( this . disposed ) {
80+ return
81+ }
82+
7383 this . emitTokenUsageUpdate ( this . getTokenUsage ( ) )
7484 this . debouncedEmitTokenUsage . flush ( )
7585 }
7686
7787 public dispose ( ) : void {
88+ this . disposed = true
7889 this . debouncedEmitTokenUsage . cancel ( )
7990 }
8091
Original file line number Diff line number Diff line change @@ -80,6 +80,8 @@ describe("UsageTracker", () => {
8080 expect ( emit ) . toHaveBeenCalledTimes ( 1 )
8181
8282 tracker . dispose ( )
83+ tracker . emitTokenUsageUpdate ( tracker . getTokenUsage ( ) )
84+ tracker . emitFinalTokenUsageUpdate ( )
8385 vi . advanceTimersByTime ( 1000 )
8486
8587 expect ( emit ) . toHaveBeenCalledTimes ( 1 )
You can’t perform that action at this time.
0 commit comments