Performs file edits with hashline anchors.

Usage:
- You must use your `Read` tool at least once before editing an existing file. This tool rejects stale edits when file contents changed since read.
- ALWAYS prefer editing existing files in the codebase. NEVER write new files unless explicitly required.
- Only use emojis if the user explicitly requests it. Avoid adding emojis to files unless asked.
- `{ filePath, edits, delete?, rename? }`
- `edits` is required; use `[]` when only delete or rename is intended.
- Use strict anchor references from `Read` output: `LINE#ID`.
- Autocorrect cleanup is on by default and can be turned off with `experimental.hashline_autocorrect: false`.
- Default autocorrect only strips copied `LINE#ID:`/`>>>` prefixes; set `OPENCODE_HL_AUTOCORRECT=1` to opt into heavier cleanup heuristics.
- When `Read` returns `LINE#ID:<content>`, prefer hashline operations.
- Operations:
  - `set_line { line, text }`
  - `replace_lines { start_line, end_line, text }`
  - `insert_after { line, text }`
  - `insert_before { line, text }`
  - `insert_between { after_line, before_line, text }`
  - `append { text }`
  - `prepend { text }`
  - `replace { old_text, new_text, all? }`
- Provide the exact `LINE#ID` anchors from the latest `Read` result. Mismatched anchors are rejected and should be retried with the returned `retry with` anchors.
- GPT-family models can use `apply_patch` as fallback when needed.
