UNPKG

claude-usage-tracker

Version:

Advanced analytics for Claude Code usage with cost optimization, conversation length analysis, and rate limit tracking

139 lines 4.05 kB
import type { UsageEntry } from "./types.js"; export interface DataQualityReport { totalEntries: number; validEntries: number; invalidEntries: number; duplicateEntries: number; dateRange: { earliest: string; latest: string; spanDays: number; }; modelDistribution: Record<string, number>; conversationDistribution: { totalConversations: number; avgMessagesPerConversation: number; shortConversations: number; mediumConversations: number; longConversations: number; }; costDistribution: { totalCost: number; medianCost: number; top10PercentCost: number; costPerModel: Record<string, number>; }; tokenDistribution: { totalTokens: number; avgPromptTokens: number; avgCompletionTokens: number; cacheTokens: number; extremeEntries: Array<{ type: "high_tokens" | "low_tokens" | "high_cost"; conversationId: string; value: number; }>; }; anomalies: Array<{ type: string; description: string; severity: "low" | "medium" | "high"; affectedEntries: number; }>; } export interface UsageHeatmap { hourlyHeatmap: Array<{ hour: number; dayOfWeek: number; totalCost: number; conversationCount: number; avgEfficiency: number; }>; monthlyTrends: Array<{ month: string; totalCost: number; totalTokens: number; conversationCount: number; avgEfficiency: number; topModel: string; }>; efficiencyDistribution: Array<{ range: string; count: number; percentage: number; }>; } export interface ConversationFlowAnalysis { conversationJourneys: Array<{ conversationId: string; startTime: string; endTime: string; messageCount: number; totalCost: number; efficiency: number; modelSwitches: number; avgResponseTime: number; peakActivity: { hour: number; burstCount: number; }; conversationType: "sprint" | "marathon" | "interrupted" | "focused"; }>; flowPatterns: Array<{ pattern: string; frequency: number; avgCost: number; successRate: number; }>; } export interface CostDriverAnalysis { primaryDrivers: Array<{ factor: string; impact: number; description: string; recommendedAction: string; }>; modelUsagePattern: { opusUsage: { percentage: number; appropriateUsage: number; wastedSpend: number; }; sonnetUsage: { percentage: number; missedOpportunities: number; underutilization: number; }; }; seasonalPatterns: Array<{ period: string; avgDailyCost: number; efficiency: number; explanation: string; }>; } export interface DeepInsights { dataQuality: DataQualityReport; usageHeatmap: UsageHeatmap; conversationFlow: ConversationFlowAnalysis; costDrivers: CostDriverAnalysis; recommendations: Array<{ category: "cost" | "efficiency" | "workflow" | "data_quality"; priority: "high" | "medium" | "low"; title: string; description: string; potentialSavings?: number; implementationEffort: "low" | "medium" | "high"; }>; } export declare class DeepAnalyzer { generateDataQualityReport(entries: UsageEntry[]): DataQualityReport; generateUsageHeatmap(entries: UsageEntry[]): UsageHeatmap; analyzeConversationFlow(entries: UsageEntry[]): ConversationFlowAnalysis; analyzeCostDrivers(entries: UsageEntry[]): CostDriverAnalysis; generateDeepInsights(entries: UsageEntry[]): DeepInsights; private detectDataAnomalies; private countDuplicates; private generateRecommendations; } //# sourceMappingURL=deep-analysis.d.ts.map