aboutsummaryrefslogtreecommitdiffstats
path: root/Cargo.lock (unfollow)
Commit message (Collapse)Author
6 daystreewide: Update Cargo.toml metadataBenedikt Peetz
6 dayscrates/turtle/list: Restore the history listing code from atuinBenedikt Peetz
_That_ was actually useful to have.
2026-07-24feat: Finalize design for fish-shell integrationBenedikt Peetz
2026-07-20chore: Last big refactoringBenedikt Peetz
2026-07-20chore: CommitBenedikt Peetz
2026-07-20chore: CommitBenedikt Peetz
2026-07-20chore(atuin): Remove unused crate dependenciesBenedikt Peetz
2026-07-20chore: All compilesBenedikt Peetz
2026-07-09chore: Separate daemon, client, server, and lib into cratesBenedikt Peetz
2026-06-13chore(treewide): Remove `cargo` warnings to 0Benedikt Peetz
There are still the `clippy` warnings, but they are for a future date.
2026-06-11chore: Move everything into one big crateBenedikt Peetz
That helps remove duplicated code and rustc/cargo will now also show dead code correctly.
2026-06-10chore: Somewhat simplify sync codeBenedikt Peetz
2026-06-10chore: Remove more (kinda) useless stuffBenedikt Peetz
2026-06-10chore: Remove some unused rust codeBenedikt Peetz
2026-06-08feat: Capture command output + expose to new `atuin_output` tool (#3510)Michelle Tilley
2026-05-14refactor: Implement From<sqlx::Error> and clean up fix_error (#3484)John Oxley
In the database crates for atuin-server, there is `fn fix_error`. This PR implements `From<sqlx::Error>` on `DbError` which makes it possible to mostly use `?` to bubble up the errors. There are cases where `?` is not being used e.g. ```rust async fn get_session(&self, token: &str) -> DbResult<Session> { sqlx::query_as("select id, user_id, token from sessions where token = $1") .bind(token) .fetch_one(&self.pool) .await .map_err(fix_error) .map(|DbSession(session)| session) } ``` There are two options ## 1. Use `Into::into` ```rust async fn get_session(&self, token: &str) -> DbResult<Session> { sqlx::query_as("select id, user_id, token from sessions where token = $1") .bind(token) .fetch_one(&self.pool) .await .map_err(fix_error) .map(|DbSession(session)| session) } ``` ## 2. Create a variable and use `?` ```rust async fn get_session(&self, token: &str) -> DbResult<Session> { let session = sqlx::query_as("select id, user_id, token from sessions where token = $1") .bind(token) .fetch_one(&self.pool) .await .map(|DbSession(session)| session)?; Ok(session) } ``` I chose to do option 1 as it was just a find/replace but say the word and I'll convert them all to option 2 ## Checks - [X] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [X] I have checked that there are no existing pull requests for the same thing
2026-05-12chore(release): prepare for release 18.16.1 (#3476)Ellie Huxtable
## 18.16.1 ### Bug Fixes - *(shell/xonsh)* Use os.devnull instead of hard-coded /dev/null ([#3464](https://github.com/atuinsh/atuin/issues/3464)) - Atuin update on windows ([#3453](https://github.com/atuinsh/atuin/issues/3453)) - Ensure local key matches remote data before syncing ([#3474](https://github.com/atuinsh/atuin/issues/3474)) ### Documentation - Add related projects section to README ### Features - *(ui)* Prominent banner for wrong-key errors at login/sync ([#3475](https://github.com/atuinsh/atuin/issues/3475)) ### Miscellaneous Tasks - Generate LLM-optimized docs ([#3468](https://github.com/atuinsh/atuin/issues/3468)) - Rename 'atuin hex' to 'atuin pty-proxy' ([#3473](https://github.com/atuinsh/atuin/issues/3473))
2026-05-11chore: Rename 'atuin hex' to 'atuin pty-proxy' (#3473)Michelle Tilley
2026-04-28chore(release): prepare for release 18.16.0 (#3457)Michelle Tilley
2026-04-24chore(release): prepare for release 18.16.0-beta.1 (#3450)Michelle Tilley
2026-04-24chore: Update to eye_declare 0.5.1 (#3449)Michelle Tilley
2026-04-23perf: Reduce AI TUI rendering overhead for long conversations (#3447)Michelle Tilley
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.
2026-04-23feat: Add skill discovery, loading, and invocation (#3444)Michelle Tilley
Adds a skills system that lets users define reusable LLM instructions as `SKILL.md` files with YAML frontmatter.
2026-04-21feat: AI tool rendering overhaul + edit_file tool (#3423)Michelle Tilley
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.
2026-04-16chore(release): prepare for release 18.15.2 (#3421)Michelle Tilley
## 18.15.2 ### Bug Fixes - Tab doesn't insert suggested command ([#3420](https://github.com/atuinsh/atuin/issues/3420))
2026-04-15chore(release): prepare for release 18.15.1 (#3419)Michelle Tilley
2026-04-15fix: Enter runs suggested command when selecting permissions (#3418)Michelle Tilley
2026-04-15chore(release): prepare for release 18.15.0 (#3417)Michelle Tilley
2026-04-15feat: Allow resuming previous AI sessions (#3407)Michelle Tilley
This PR introduces session continuation to Atuin AI. * Conversations with Atuin AI are stored in a local SQLite database * Upon startup, Atuin AI tries to find a session to resume based on its directory/workspace and the time since the last event * If found, Atuin AI will show a note that the session has been resumed, and an event is added to help the LLM know where the invocation boundaries are * If not, Atuin AI will create a new conversation * The user can create a new conversation with `/new` * The new setting `ai.session_continue_minutes`, which defaults to `60`, controls how old the last event in a session can be before it's no longer considered for automatic resuming. <img width="1055" height="593" alt="image" src="https://github.com/user-attachments/assets/3f9ff01a-ef64-44a9-b0e2-3a4252c5746f" /> ## Architecture A new `SessionService` trait defines an API contract for a service that can manage session data. `LocalSessionService` implements this, with `DaemonSessionService` a possible future extension point. `SessionManager` owns a `dyn SessionService` and delegates as appropriate.
2026-04-14feat: Enable atuin hex for illumos (#3413)Michael Zeller
This bumps the `portable-pty` dep which itself has a dependency on a newer termios that knows about illumos. Unless this was pinned for a particular reason I think this is fine. With this dep bumped we can enable `atuin hex` on illumos. ## Checks - [x] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [x] I have checked that there are no existing pull requests for the same thing
2026-04-13chore(release): prepare for release 18.14.1 (#3405)Ellie Huxtable
<!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
2026-04-13chore(release): prepare for release 18.14.0 (#3401)Ellie Huxtable
<!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
2026-04-10chore: Prepare 18.14.0-beta.1 release (#3393)Michelle Tilley
2026-04-10feat: Client-tool execution + permission system (#3370)Michelle Tilley
Adds client-side tool execution to Atuin AI, starting with `atuin_history`. The server can request tool calls, which are executed locally with a permission system, and results are sent back to continue the conversation.
2026-03-30chore: Update to eye-declare 0.3.0 (#3365)Michelle Tilley
2026-03-27chore: Prepare 18.13.6 release (#3356)Michelle Tilley
2026-03-27chore(deps): Update to eye-declare v0.2.0 (#3355)Michelle Tilley
eye-declare v0.2.0 includes two relevant changes: * "Capture-phase" event handling lets us remove the special-case event handling in `InputBox` that allowed global keyboard binds to work; the `AtuinAi` component now handles this directly. * `Tracked::read()` allows reading fields in tracked state without triggering the dirty-tracking from the `DerefMut` implementation, allowing us to send messages on the app event bus without marking the containing state as dirty.
2026-03-27feat: Use eye-declare for more performant and flexible AI TUI (#3343)Michelle Tilley
This PR replaces the mess of custom rendering code in Atuin AI with [eye-declare](https://github.com/BinaryMuse/eye-declare), and updates the TUI to feel more terminal-native: output appears inline and persists in scrollback, so you can scroll up and look at previous conversations for reference. The "review" state — which used to exist between the LLM generating a response and the user either executing or following up — has been removed; just start typing to follow up with the LLM, or press `enter` at the empty input box to execute the suggested command. <img width="1203" height="633" alt="image" src="https://github.com/user-attachments/assets/159ee447-9a2a-4edd-b56e-a79bf1aaaa94" />
2026-03-25fix: remove unnecessary arboard/image-data default feature (#3345)Ross Williams
2026-03-24chore: Prepare 18.13.5 (#3342)Michelle Tilley
2026-03-23chore(release): prepare for release 18.13.4 (#3336)Michelle Tilley
2026-03-20feat: Allow running `atuin search -i` as subcommand on Windows (#3250)Lucas Trzesniewski
This is the equivalent of #3208, but for Windows. ~The rendering performance is noticeably slower in this mode when refreshing a large part of the screen, but it's better than not having the feature at all.~ Fixed 🙂 The second commit fixes some unrelated warnings. /cc @BinaryMuse FYI ## Checks - [x] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [x] I have checked that there are no existing pull requests for the same thing
2026-03-16chore(release): prepare for release 18.13.3Ellie Huxtable
2026-03-16vendor nucleo fork into atuin workspaceEllie Huxtable
Rename crates (nucleo → atuin-nucleo, nucleo-matcher → atuin-nucleo-matcher), add to workspace members and dependencies, update all import paths, remove vendored CI workflow, and suppress upstream clippy warnings. format codespell fixes clippy clappy
2026-03-13chore(release): prepare for release 18.13.2 (#3264)Ellie Huxtable
I tried adding a windows arm64 build to the last release, which was perhaps a little naive of me. I thought it working on x86 windows and arm everything else would be enough 💀 ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
2026-03-13chore(release): prepare for release 18.13.1 (#3263)Ellie Huxtable
We were using buildjet as our runners previously, but it looks like they have gone under. Luckily, GitHub now provides the arm runners we need ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
2026-03-13chore(release): prepare for release 18.13.0 (#3262)Ellie Huxtable
<!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
2026-03-12chore(release): prepare for release 18.13.0-beta.7 (#3259)Ellie Huxtable
<!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing
2026-03-12feat: Add `atuin setup` (#3257)Michelle Tilley
2026-03-12chore(release): prepare for release 18.13.0-beta.6 (#3258)Ellie Huxtable
<!-- Thank you for making a PR! Bug fixes are always welcome, but if you're adding a new feature or changing an existing one, we'd really appreciate if you open an issue, post on the forum, or drop in on Discord --> ## Checks - [ ] I am happy for maintainers to push small adjustments to this PR, to speed up the review cycle - [ ] I have checked that there are no existing pull requests for the same thing