Skip to main content

Crate brainwires_stores

Crate brainwires_stores 

Source
Expand description

§brainwires-stores

Schema + CRUD for the framework’s opinionated minimum data-store set.

Every store is built on the brainwires_storage::StorageBackend trait — consumers can swap backends without touching store code. Each store family is gated behind a Cargo feature so consumers only pay for what they use.

This crate is schema only. Orchestration (multi-tier search, promotion / demotion logic) and the offline dream consolidation engine live in the brainwires-memory crate, which depends on the schema types here.

§Feature flags

  • session (default)SessionStore trait + InMemorySessionStore (and SqliteSessionStore with the sqlite feature). Full-transcript persistence keyed by session id.
  • task (default)TaskStore + AgentStateStore.
  • plan (default)PlanStore + TemplateStore.
  • conversation (default)ConversationStore (catalog metadata).
  • memory — tier schema stores: MessageStore, SummaryStore, FactStore, MentalModelStore, TierMetadataStore, plus the shared tier_types (MemoryTier, MemoryAuthority, TierMetadata, MessageSummary, KeyFact, FactType).
  • lockLockStore. Coordination locks (rusqlite-backed).
  • imageImageStore with hashing + metadata.
  • sqlite — pulls rusqlite for backends that need it.

Re-exports§

pub use session::ArcSessionStore;
pub use session::InMemorySessionStore;
pub use session::ListOptions;
pub use session::SessionBroker;
pub use session::SessionError;
pub use session::SessionId;
pub use session::SessionMessage;
pub use session::SessionRecord;
pub use session::SessionStore;
pub use session::SessionSummary;
pub use session::SpawnRequest;
pub use session::SpawnedSession;
pub use session::SqliteSessionStore;
pub use memory::FactStore;
pub use memory::FactType;
pub use memory::KeyFact;
pub use memory::MemoryAuthority;
pub use memory::MemoryTier;
pub use memory::MentalModel;
pub use memory::MentalModelStore;
pub use memory::MessageMetadata;
pub use memory::MessageStore;
pub use memory::MessageSummary;
pub use memory::ModelType;
pub use memory::SummaryStore;
pub use memory::TierMetadata;
pub use memory::TierMetadataStore;
pub use memory::facts_field_defs;
pub use memory::facts_schema;
pub use memory::messages_schema;
pub use memory::summaries_field_defs;
pub use memory::summaries_schema;
pub use memory::tier_types;
pub use conversation_store::ConversationMetadata;
pub use conversation_store::ConversationStore;
pub use image_store::ImageStore;
pub use lock_store::LockRecord;
pub use lock_store::LockStats;
pub use lock_store::LockStore;
pub use plan_store::PlanStore;
pub use task_store::AgentStateMetadata;
pub use task_store::AgentStateStore;
pub use task_store::TaskMetadata;
pub use task_store::TaskStore;
pub use template_store::PlanTemplate;
pub use template_store::TemplateStore;

Modules§

conversation_store
image_store
Image Analysis Store
lock_store
SQLite-backed persistent lock storage for inter-process coordination
memory
Tiered hot/warm/cold agent memory — schema + CRUD.
plan_store
Plan Store - Persists execution plans with conversation association
session
Pluggable session-persistence for the Brainwires Agent Framework.
task_store
Task Store - Persists tasks via a backend-agnostic storage layer.
template_store
Template Store - Storage for reusable plan templates

Structs§

Message
A message in the conversation