/** * Incremental Parser * * Parses new lines from Claude conversation JSONL files as they are appended. * Maintains file positions to only process new content. */ /** * Parsed message from a JSONL file */ export interface ParsedMessage { type: "user" | "assistant" | "system"; content: string; timestamp?: number; toolUse?: { name: string; input: Record; }; toolResult?: { name: string; output: string; isError?: boolean; }; thinkingContent?: string; } /** * File tracking info */ interface FileInfo { path: string; lastPosition: number; lastModified: number; lineCount: number; } export declare class IncrementalParser { private filePositions; constructor(); /** * Parse new content from a file since last read */ parseNewContent(filePath: string): ParsedMessage[]; /** * Parse a single JSONL line */ private parseLine; /** * Extract message from parsed JSON data */ private extractMessage; /** * Extract text content from various content formats */ private extractContent; /** * Extract tool use information */ private extractToolUse; /** * Extract tool result information */ private extractToolResult; /** * Extract thinking/reasoning content */ private extractThinking; /** * Reset tracking for a specific file */ resetFile(filePath: string): void; /** * Reset all tracking */ resetAll(): void; /** * Get current tracking info for a file */ getFileInfo(filePath: string): FileInfo | undefined; /** * Get all tracked files */ getTrackedFiles(): string[]; } export {}; //# sourceMappingURL=IncrementalParser.d.ts.map