UNPKG

claude-usage-tracker

Version:

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

103 lines 2.75 kB
import { z } from "zod"; export declare const usageEntrySchema: z.ZodObject<{ timestamp: z.ZodString; conversationId: z.ZodString; instanceId: z.ZodOptional<z.ZodString>; model: z.ZodString; requestId: z.ZodString; prompt_tokens: z.ZodNumber; completion_tokens: z.ZodNumber; total_tokens: z.ZodNumber; cache_creation_input_tokens: z.ZodOptional<z.ZodNumber>; cache_read_input_tokens: z.ZodOptional<z.ZodNumber>; cost: z.ZodOptional<z.ZodNumber>; costUSD: z.ZodOptional<z.ZodNumber>; isBatchAPI: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { model: string; timestamp: string; conversationId: string; requestId: string; prompt_tokens: number; completion_tokens: number; total_tokens: number; instanceId?: string | undefined; cache_creation_input_tokens?: number | undefined; cache_read_input_tokens?: number | undefined; cost?: number | undefined; costUSD?: number | undefined; isBatchAPI?: boolean | undefined; }, { model: string; timestamp: string; conversationId: string; requestId: string; prompt_tokens: number; completion_tokens: number; total_tokens: number; instanceId?: string | undefined; cache_creation_input_tokens?: number | undefined; cache_read_input_tokens?: number | undefined; cost?: number | undefined; costUSD?: number | undefined; isBatchAPI?: boolean | undefined; }>; export type UsageEntry = z.infer<typeof usageEntrySchema>; export interface DailyUsage { date: string; totalTokens: number; promptTokens: number; completionTokens: number; cacheCreationTokens: number; cacheReadTokens: number; cost: number; conversationCount: number; models: Set<string>; } export interface WeeklyUsage { startDate: string; endDate: string; totalTokens: number; promptTokens: number; completionTokens: number; cacheCreationTokens: number; cacheReadTokens: number; cost: number; conversationCount: number; models: Set<string>; estimatedHours: { sonnet4: { min: number; max: number; }; opus4: { min: number; max: number; }; }; } export interface RateLimitInfo { plan: string; weeklyLimits: { sonnet4: { min: number; max: number; }; opus4: { min: number; max: number; }; }; currentUsage: WeeklyUsage; percentUsed: { sonnet4: { min: number; max: number; }; opus4: { min: number; max: number; }; }; } //# sourceMappingURL=types.d.ts.map