Skip to main content

Module multi_file_edit

Module multi_file_edit 

Source
Expand description

Implementation of the MultiFileEdit tool.

Applies edits across several files all-or-nothing at the COMPUTE stage: every file is validated and its new content computed in memory first (reusing file_write_or_edit::plan_edit), and only if ALL succeed is anything written. So a SEARCH block that fails to match in the last file leaves the earlier files untouched, instead of the half-edited tree N separate FileWriteOrEdit calls would leave.

The write stage is a sequence of individually-atomic single-file renames (commit_edit -> preconditioned atomic replacement). It stops at the first I/O failure and reports which files were already written; it does NOT roll them back (each is already crash-safe on its own, and a second write pass could fail and corrupt more state).

Functionsยง

handle_tool_call