/** Charles session entry (subset of fields we care about). */ export interface CharlesEntry { id?: number | string; _mcp_id?: string; method?: string; host?: string; path?: string; times?: { start?: string; end?: string }; request?: CharlesMessage; response?: CharlesMessage; [key: string]: unknown; } export interface CharlesMessage { status?: number; mimeType?: string; header?: { headers?: unknown[] }; body?: CharlesBody; sizes?: { body?: number }; [key: string]: unknown; } export interface CharlesBody { text?: string; encoded?: boolean; [key: string]: unknown; } export interface Checkpoint { id: number; source: string; read_at: string; count: number; entry_ids: Array; is_reset: boolean; start_time: string | null; end_time: string | null; } export interface CacheState { data: CharlesEntry[]; checkpoint_id: number | null; harvested_at: number; total_in_session: number; } export interface SimplifiedEntry { id: number | string | undefined; method?: string; host?: string; path?: string; status?: number; req_preview: string | null; res_preview: string | null; req_entropy?: number; res_entropy?: number; req_body_len?: number; res_body_len?: number; }