/** * Shared content block explosion logic. * Used by Claude Code, Command Code, and any parser with text/thinking/tool_use/tool_result blocks. */ import type { ContentBlock, NormalizedMessage } from '../types.js'; export interface RawBlock { type: string; text?: string; thinking?: string; id?: string; name?: string; input?: Record; tool_use_id?: string; content?: string | Array<{ type: string; text?: string; }>; is_error?: boolean; [key: string]: unknown; } export interface ExplodedMessage { role: NormalizedMessage['role']; content: string; blocks: ContentBlock[]; timestamp: Date; rawLineIndex: number; } export declare function extractToolResultContent(content: unknown): string; export declare function isSystemInjectedText(text: string): boolean; export declare function cleanPrompt(prompt: string | null | undefined): string | null; export declare function explodeAssistantBlocks(blocks: RawBlock[], timestamp: Date, lineIndex: number): ExplodedMessage[]; export declare function explodeUserBlocks(blocks: RawBlock[], timestamp: Date, lineIndex: number): ExplodedMessage[]; export declare function indexMessages(exploded: ExplodedMessage[]): NormalizedMessage[]; //# sourceMappingURL=explosion.d.ts.map