UNPKG

claude-usage-tracker

Version:

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

183 lines 5.75 kB
import type { UsageEntry } from "./types.js"; export interface ConversationSuccessMetrics { conversationId: string; messageCount: number; totalCost: number; totalTokens: number; duration: number; successScore: number; efficiency: number; promptComplexity: number; cacheUtilization: number; modelSwitches: number; timeOfDay: number; dayOfWeek: number; avgResponseTime: number; } export interface ProjectAnalysis { projectPath: string; totalCost: number; totalTokens: number; conversationCount: number; avgCostPerConversation: number; efficiency: number; timeSpent: number; roi: number; primaryModel: string; topics: string[]; } export interface TimeSeriesDataPoint { date: string; dailyCost: number; dailyTokens: number; conversationCount: number; avgEfficiency: number; opusPercentage: number; cacheHitRate: number; } export interface CacheOptimizationInsight { totalCacheTokens: number; cacheHitRate: number; cacheSavings: number; underutilizedConversations: Array<{ conversationId: string; missedCachingOpportunity: number; }>; recommendations: string[]; } export interface PromptingPatternAnalysis { avgPromptLength: number; effectivePromptPatterns: Array<{ pattern: string; successRate: number; efficiency: number; examples: string[]; }>; inefficientPatterns: Array<{ pattern: string; wasteRate: number; avgCost: number; }>; optimalPromptingGuidelines: string[]; } export interface AdvancedInsights { conversationSuccess: ConversationSuccessMetrics[]; projectAnalysis: ProjectAnalysis[]; timeSeriesData: TimeSeriesDataPoint[]; cacheOptimization: CacheOptimizationInsight; promptingPatterns: PromptingPatternAnalysis; correlationInsights: Array<{ factor1: string; factor2: string; correlation: number; insight: string; }>; } export declare class ResearchAnalyzer { analyzeConversationSuccess(entries: UsageEntry[]): ConversationSuccessMetrics[]; analyzeProjectROI(entries: UsageEntry[]): ProjectAnalysis[]; generateTimeSeriesData(entries: UsageEntry[]): TimeSeriesDataPoint[]; analyzeCacheOptimization(entries: UsageEntry[]): CacheOptimizationInsight; analyzePromptingPatterns(entries: UsageEntry[]): PromptingPatternAnalysis; generateAdvancedInsights(entries: UsageEntry[]): AdvancedInsights; private groupByConversation; private calculateSuccessScore; private calculatePromptComplexity; private calculateCacheUtilization; private countModelSwitches; private calculateAvgResponseTime; private extractProjectPath; private calculateProjectTimeSpent; private calculateROI; private getPrimaryModel; private inferTopics; private calculateDailyCacheHitRate; private calculateMissedCachingOpportunity; private generateCacheRecommendations; private generatePromptingGuidelines; private calculateCorrelationInsights; private calculateCorrelation; calculateProjectROI(entries: UsageEntry[]): { projects: { projectId: string; totalCost: number; conversationCount: number; roi: number; efficiency: number; avgCostPerConversation: number; roiScore: number; characteristics: string[]; recommendations: string[]; }[]; totalInvestment: number; avgROI: number; insights: { topPerformers: { projectId: string; totalCost: number; conversationCount: number; roi: number; efficiency: number; avgCostPerConversation: number; roiScore: number; characteristics: string[]; recommendations: string[]; }[]; underperformers: { projectId: string; totalCost: number; conversationCount: number; roi: number; efficiency: number; avgCostPerConversation: number; roiScore: number; characteristics: string[]; recommendations: string[]; }[]; }; recommendations: string[]; }; findCorrelations(entries: UsageEntry[]): { correlations: { variables: string[]; variable1: string; variable2: string; coefficient: number; strength: number; pValue: number; significance: string; interpretation: string; description: string; }[]; strongestCorrelations: { variables: string[]; variable1: string; variable2: string; coefficient: number; strength: number; pValue: number; significance: string; interpretation: string; description: string; }[]; insights: string[]; }; analyzeConversationSuccessMetrics(entries: UsageEntry[]): { successMetrics: { totalConversations: number; completionRate: number; avgSuccessScore: number; }; conversationCategories: { successful: string[]; struggling: string[]; abandoned: string[]; }; patterns: { successFactors: string[]; commonFailurePoints: string[]; }; recommendations: string[]; }; } //# sourceMappingURL=research-analytics.d.ts.map