aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-ai/src/diff.rs (follow)
Commit message (Collapse)AuthorAge
* chore: Remove some unused rust codeBenedikt Peetz4 days
|
* feat: Implement write_file tool with overwrite safety (#3432)Michelle Tilley2026-04-21
| | | | | | | | | | | | | | | | | | | | ## Summary Implements the `write_file` client-side tool — creates new files or overwrites existing ones with an explicit `overwrite` flag for safety. - **Overwrite flag**: Writing to an existing file without `overwrite: true` returns an error directing the LLM to set the flag or use `edit_file` for targeted changes. Prevents accidental overwrites. - **Snapshots**: Existing files are backed up before overwriting (same infrastructure as `edit_file`). - **Content preview**: Completed writes show the first 10 lines in gray with line numbers, plus "+ N more lines" for longer files. - **Atomic writes**: Uses `tempfile` + fsync + rename (same as `edit_file`). - **File tracker update**: After writing, the file is registered in the tracker so subsequent `edit_file` calls work without a separate read. - **Permission**: Shares the `"Write"` rule with `edit_file` — one permission covers both tools.
* feat: AI tool rendering overhaul + edit_file tool (#3423)Michelle Tilley2026-04-21
Overhaul of how AI tool calls are modeled, rendered, and displayed in the Atuin AI TUI. Fixes bugs in shell command output capture, implements the `edit_file` tool with full safety infrastructure, and adds a diff preview for edits.