@sethdouglasford/claude-flow
Version:
Claude Code Flow - Advanced AI-powered development workflows with SPARC methodology
57 lines • 1.8 kB
TypeScript
/**
* Claude AI Token Usage Monitor
* Real-time monitoring of Claude token consumption with burn rate analysis
* Based on: https://github.com/Maciek-roboblog/Claude-Code-Usage-Monitor
*/
import { EventEmitter } from "events";
export interface TokenBlock {
startTime: string;
actualEndTime?: string;
totalTokens: number;
isActive: boolean;
isGap: boolean;
}
export interface TokenUsageData {
blocks: TokenBlock[];
}
export interface TokenStats {
tokensUsed: number;
tokensLeft: number;
usagePercentage: number;
burnRate: number;
sessionDuration: number;
timeToReset: number;
predictedEndTime: Date;
resetTime: Date;
}
export interface MonitorConfig {
plan: 'pro' | 'max5' | 'max20' | 'custom_max';
resetHour?: number;
timezone: string;
updateInterval: number;
}
export declare class ClaudeTokenMonitor extends EventEmitter {
private config;
private tokenLimit;
private isRunning;
private monitorProcess?;
private lastStats?;
constructor(config?: Partial<MonitorConfig>);
private getTokenLimit;
private runCCUsage;
private tryClaudeCodeMetrics;
private parseClaudeCodeSessions;
private parseSessionToBlock;
private calculateHourlyBurnRate;
private getNextResetTime;
private calculateStats;
start(): Promise<void>;
stop(): void;
getLastStats(): TokenStats | undefined;
isMonitoring(): boolean;
updateConfig(config: Partial<MonitorConfig>): void;
}
export declare function formatTime(minutes: number): string;
export declare function createProgressBar(percentage: number, width?: number): string;
export declare function createTimeProgressBar(elapsed: number, total: number, width?: number): string;
//# sourceMappingURL=claude-token-monitor.d.ts.map