Skip to content

Latest commit

 

History

History
 
 

rig-memory

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

rig-memory

Saved conversations for Rig: recent messages, compaction, and sessions saved as JSON-lines logs (rig-session/4) that can be resumed, rewritten, and an agent's log forked up to a turn boundary. With default features it is pure data and builds for wasm32; feature fs adds DirStore and DirFiles. load_async and save_async keep a conversation in any AsyncStore, such as a database or IndexedDB, and every local store is one; rig-agent's AgentBuilder::memory keeps an agent's conversation there. A store appends to a log only if the log is still as long as the writer read it, checking and appending in one step, so of two saves that read one log the second is refused. Database stores ship in rig-sqlite (SqliteSessionStore) and rig-postgres (PostgresSessionStore) behind their memory feature. Feature test-utils adds conformance::check_store, the contract suite every store's tests run against it, and migration::testing, a synthetic earlier format with its migration.

A session in another format is refused untouched. migration::SHIPPED is the chain of steps, each taking the whole session from one format to the next, that brings an earlier one to the current format through the session's own Store, keeping a copy of it as it was under rig/kept/. It has no step yet, as no earlier format was released. See the crate docs for the API.