import type { Message } from '@earendil-works/pi-ai'; /** Pre-computed look-ahead index: maps tool_call index → nearest tool_result block. */ export interface ToolResultIndex { get(callIndex: number): Extract | null; } export type NormalizedBlock = | { kind: 'user'; text: string; sourceIndex?: number } | { kind: 'assistant'; text: string; sourceIndex?: number } | { kind: 'tool_call'; name: string; args: Record; sourceIndex?: number } | { kind: 'tool_result'; name: string; text: string; isError: boolean; sourceIndex?: number } | { kind: 'bash'; command: string; output: string; exitCode: number | undefined; sourceIndex?: number; } | { kind: 'thinking'; text: string; redacted: boolean; sourceIndex?: number };