/** * Extract the file paths a turn touched from its collected stream segments (task 102). * * File paths live only in tool_use/tool_result blocks, which are dropped at persist * time — so "which file was I editing" was unrecoverable on later turns (the pursuit * "let me find the source file" incident). This module distills those blocks into a * compact, bounded per-message record persisted as `metadata.filesTouched`. */ /** Structural segment shape (avoids a circular import of gateway's StreamSegment). */ export interface TouchSegment { type: string; tool?: string; input?: Record; content?: string; } /** Max distinct entries persisted per message — most-recently-touched wins. */ export declare const MAX_FILES_TOUCHED = 8; /** * Walk a turn's segments in order and return the distinct files it touched, * most-recently-touched last, capped at MAX_FILES_TOUCHED (older entries elided * as a leading `… +N more` marker). * * upload_media calls are paired with the next tool_result segment: a `/media/…` * URL there records `source → /media/url`, restoring the link the content hash * severs. No match (or no result) records the source path alone. */ export declare function extractFilesTouched(segments: TouchSegment[]): string[]; //# sourceMappingURL=files-touched.d.ts.map