cost-claude
Version:
Claude Code cost monitoring, analytics, and optimization toolkit
40 lines • 1.33 kB
TypeScript
import { ClaudeMessage } from '../types/index.js';
import { JSONLParser } from '../core/jsonl-parser.js';
import { CostCalculator } from '../core/cost-calculator.js';
export interface GroupedStats {
groupName: string;
totalCost: number;
messageCount: number;
avgCost: number;
duration: number;
tokens: {
input: number;
output: number;
cache: number;
cacheWrite: number;
};
cacheEfficiency: number;
costBreakdown?: {
inputCost: number;
outputCost: number;
cacheWriteCost: number;
cacheReadCost: number;
};
startTime?: string;
endTime?: string;
projectName?: string;
dateRange?: string;
}
export declare class GroupAnalyzer {
private parser;
private calculator;
constructor(parser: JSONLParser, calculator: CostCalculator);
groupByProject(messages: ClaudeMessage[]): GroupedStats[];
groupByDate(messages: ClaudeMessage[]): GroupedStats[];
groupByHour(messages: ClaudeMessage[]): GroupedStats[];
groupBySession(messages: ClaudeMessage[], filterLastWeek?: boolean): GroupedStats[];
private calculateGroupStats;
groupByModel(messages: ClaudeMessage[]): GroupedStats[];
groupByCostRange(messages: ClaudeMessage[]): GroupedStats[];
}
//# sourceMappingURL=group-analyzer.d.ts.map