cost-claude
Version:
Claude Code cost monitoring, analytics, and optimization toolkit
43 lines • 1.31 kB
TypeScript
import { ClaudeMessage } from '../types/index.js';
import { JSONLParser } from '../core/jsonl-parser.js';
import { CostCalculator } from '../core/cost-calculator.js';
export interface SessionAnalysis {
sessionId: string;
duration: number;
totalCost: number;
messageCount: number;
userMessageCount: number;
assistantMessageCount: number;
costBreakdown: {
inputTokensCost: number;
outputTokensCost: number;
cacheCreationCost: number;
cacheReadCost: number;
};
efficiency: {
cacheHitRate: number;
avgResponseTime: number;
costPerMinute: number;
tokensPerMessage: number;
};
timeline: MessageTimeline[];
}
export interface MessageTimeline {
timestamp: string;
type: string;
cost: number;
cumulativeCost: number;
summary: string;
}
export declare class SessionAnalyzer {
private parser;
private calculator;
constructor(parser: JSONLParser, calculator: CostCalculator);
analyzeSession(messages: ClaudeMessage[], sessionId: string): Promise<SessionAnalysis | null>;
private calculateTotalCost;
private calculateCostBreakdown;
private calculateEfficiency;
private buildTimeline;
private extractSummary;
}
//# sourceMappingURL=session-analyzer.d.ts.map