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.
use *;
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.