aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-ai/src/driver.rs (follow)
Commit message (Collapse)AuthorAge
* chore: Remove some unused rust codeBenedikt Peetz3 days
|
* feat: Capture command output + expose to new `atuin_output` tool (#3510)Michelle Tilley5 days
|
* perf: Reduce AI TUI rendering overhead for long conversations (#3447)Michelle Tilley2026-04-23
| | | | | | | | | | | | | | | | | | | | | | | | Fixes keystroke lag in Atuin AI that scales with conversation length. After extended use (many turns, lots of tool calls with output viewports), pressing a key had noticeable delay before the letter appeared. Three layers of optimization: - **Skip `sync_view_state` for `InputUpdated`** — every keystroke was cloning all events, tools, and archived data even though no FSM state changed. Uses `handle.update_tracked()` (eye_declare 0.5) to skip rebuilds when values haven't actually changed. - **Pre-compute turns and `has_command` on the driver thread** — the view function was rebuilding the full turn structure from raw events and scanning for `suggest_command` tool calls 3× per render frame. Now computed once per FSM state change and cached in ViewState. - **Commit-based element tree pruning** — turns that scroll into terminal scrollback are tracked via `on_commit` and filtered from the element tree, keeping rendering work proportional to visible content. Turn views are now direct children of the root VStack (not nested inside AtuinAi) so `detect_committed` can see them.
* feat: Add skill discovery, loading, and invocation (#3444)Michelle Tilley2026-04-23
| | | Adds a skills system that lets users define reusable LLM instructions as `SKILL.md` files with YAML frontmatter.
* feat: Send user-defined context with `TERMINAL.md` (#3443)Michelle Tilley2026-04-23
| | | | | | | | | | This PR adds the ability to inject user-defined content into Atuin AI requests, a la `AGENTS.md` or `CLAUDE.md`. * `.atuin/TERMINAL.md` (or alternatively just `TERMINAL.md`) is checked in every directory from the cwd up to the root * `~/.config/atuin/TERMINAL.md` (or equivalent config dir) is also checked * Supports Claude-style ``` !`` ``` and ```` ```!...``` ```` style shell interpolation
* feat: shell tool execution timeouts (#3437)Michelle Tilley2026-04-21
|
* refactor: Replace ad-hoc dispatch with FSM + driver architecture (#3434)Michelle Tilley2026-04-21
Replaces the tangled dispatch handler system (`tui/dispatch.rs`, `tui/state.rs`) with a pure finite state machine + driver architecture. The FSM handles all state transitions as explicit `(State, Event) → (NewState, Effects)` mappings. The driver executes IO effects and bridges the TUI to the FSM.