Persistence layer for sessions, embeddings, artifacts, and executions.
This module defines four storage trait abstractions:
- [
SessionStore]: CRUD for conversation sessions and message history - [
EmbeddingStore]: Vector persistence and nearest-neighbor search - [
ArtifactStore]: Binary blob storage for files and attachments - [
ExecutionStore]: Tool execution records, token usage tracking, and session stats
Each trait has an in-memory implementation (always available) and feature-gated backend implementations for SQL databases, MongoDB, SurrealDB, Redis, Qdrant, and object stores.
Example
use ;
use MemorySessionStore;
use ;
use Uuid;
# async