woaru
Version:
Universal Project Setup Autopilot - Analyze and automatically configure development tools for ANY programming language
69 lines • 1.74 kB
TypeScript
export interface LLMUsageData {
totalRequests: number;
totalTokensUsed: number;
totalCost: number;
lastUsed: string;
firstUsed: string;
errorCount: number;
}
export interface UsageStats {
[llmId: string]: LLMUsageData;
}
export declare class UsageTracker {
private static instance;
private usageFile;
private stats;
private constructor();
static getInstance(): UsageTracker;
/**
* Load usage statistics from disk
*/
private loadStats;
/**
* Save usage statistics to disk
*/
private saveStats;
/**
* Track a successful LLM API request
*/
trackRequest(llmId: string, tokensUsed?: number, estimatedCost?: number): Promise<void>;
/**
* Track a failed LLM API request
*/
trackError(llmId: string): Promise<void>;
/**
* Ensure stats are loaded before accessing
*/
private ensureLoaded;
/**
* Get usage statistics for a specific LLM
*/
getUsageStats(llmId: string): Promise<LLMUsageData | null>;
/**
* Get all usage statistics
*/
getAllUsageStats(): Promise<UsageStats>;
/**
* Get total usage across all LLMs
*/
getTotalUsage(): Promise<{
totalRequests: number;
totalTokensUsed: number;
totalCost: number;
totalErrors: number;
activeProviders: number;
}>;
/**
* Reset all usage statistics
*/
resetStats(): Promise<void>;
/**
* Get formatted usage summary for display
*/
getFormattedSummary(): Promise<string[]>;
/**
* Export usage data for backup or analysis
*/
exportUsageData(outputFile: string): Promise<void>;
}
//# sourceMappingURL=UsageTracker.d.ts.map