salvor 0.6.0

Durable execution runtime for AI agents in Rust: event-sourced runs, typed tool effects, crash-exact resume. One dependency over the salvor-* family.
Documentation

salvor

A durable execution runtime for AI agents, in Rust. kill -9 a run mid-flight, resume it, and nothing happens twice.

A run is an append-only log of events. Every event is written before the runtime acts on it, and state is a pure fold over the log, so a resume replays what already happened and re-executes none of it. Tools declare an effect: reads replay for free, writes never replay blind, and a write left dangling by a crash blocks the resume until a human reconciles it.

cargo add salvor
use salvor::prelude::*;

This crate is a facade over the salvor-* family and holds no logic of its own. The default features carry the agent loop, the tool contract, the SQLite event store, and the event model: enough to define an agent, run it, kill it, and resume it. graph, engine, server, llm, wasm and mcp are opt-in, because each pulls a dependency tree worth choosing deliberately.

Depending on the individual crates instead is equally supported and gives a narrower build. Every re-export is pinned to this crate's exact version, so the family cannot be mixed with versions it was never tested against.

For the command-line runtime rather than the library, install salvor-cli (cargo install salvor-cli, or npm install -g @salvor-run/cli for a prebuilt binary). The control-plane API, the web UI, and the rest of the documentation are in the repository.

Licensed under MIT or Apache-2.0, at your option.