/** * Codex Session Parser * * Parses local Codex session logs from ~/.codex/sessions/ * to extract token usage data for cost tracking. * * Session files are JSONL format where each line is a separate event. * Token usage is embedded in "event_msg" entries with type "token_count". */ export interface TokenUsage { inputTokens: number; outputTokens: number; cacheCreationTokens: number; cacheReadTokens: number; } export interface CodexSessionUsage { sessionId: string; projectHash: string; projectName?: string; model: string; tokens: TokenUsage; messageCount: number; startTime: string; endTime: string; activeMinutesEstimate: number; filePath: string; } export interface CodexSessionUsageDetailed extends CodexSessionUsage { dailyUsage: Record; rangeUsage?: TokenUsage; rangeActiveMinutesEstimate?: number; } export interface CodexSessionFile { path: string; sessionId: string; lastModified: Date; size: number; } export declare function getCodexSessionsDir(): string; export declare function codexDirectoryExists(): boolean; export declare function discoverCodexSessions(maxAgeHours?: number): CodexSessionFile[]; export declare function parseCodexSessionDetailed(filePath: string, options?: { rangeStart?: Date; rangeEnd?: Date; }): CodexSessionUsageDetailed | null; export declare function parseAllCodexSessionsDetailed(maxAgeHours?: number, options?: { rangeStart?: Date; rangeEnd?: Date; }): CodexSessionUsageDetailed[]; //# sourceMappingURL=codex-parser.d.ts.map