Edit files using exact string replacement.

Use this tool to make precise changes to existing files. Requires reading the file first to ensure accurate matching.

Capabilities:
- Replace exact string matches in files
- Support for replace_all to change all occurrences
- Preserves file formatting and indentation

Requirements:
- Must read the file first (tool will error otherwise)
- old_string must be unique in the file (or use replace_all)
- Preserve exact indentation from the original

Best practices:
- Include enough context to make old_string unique
- Use replace_all for renaming variables/functions
- Never include line numbers in old_string or new_string
