Expand description
Storage engine for Engram
Handles SQLite database operations, WAL mode, and schema management.
§Architecture (ENG-14)
The storage layer is built around the StorageBackend trait which defines
the interface for all storage operations. This allows for multiple backend
implementations:
SqliteBackend- Current default, uses rusqlite with WAL modeTursoBackend- Planned for Phase 6, distributed SQLiteMeilisearchBackend- Planned for Phase 7, full-text search focused
§Extension Traits
TransactionalBackend- For backends that support ACID transactionsCloudSyncBackend- For backends with cloud synchronization
Re-exports§
pub use agent_registry::deregister_agent;pub use agent_registry::get_agent;pub use agent_registry::get_agents_in_namespace;pub use agent_registry::heartbeat_agent;pub use agent_registry::list_agents;pub use agent_registry::register_agent;pub use agent_registry::update_agent_capabilities;pub use agent_registry::Agent;pub use agent_registry::RegisterAgentInput;pub use scope_grants::check_scope_access;pub use scope_grants::grant_scope_access;pub use scope_grants::list_grants_for_agent;pub use scope_grants::revoke_scope_access;pub use scope_grants::ScopeGrant;pub use auto_linker::auto_link_stats;pub use auto_linker::insert_auto_link;pub use auto_linker::list_auto_links;pub use auto_linker::run_semantic_linker;pub use auto_linker::run_temporal_linker;pub use auto_linker::AutoLink;pub use auto_linker::AutoLinkResult;pub use auto_linker::SemanticLinkOptions;pub use auto_linker::TemporalLinkOptions;pub use backend::BatchCreateResult as BackendBatchCreateResult;pub use backend::BatchDeleteResult as BackendBatchDeleteResult;pub use backend::CloudSyncBackend;pub use backend::HealthStatus;pub use backend::StorageBackend;pub use backend::StorageStats;pub use backend::SyncDelta as BackendSyncDelta;pub use backend::SyncResult;pub use backend::SyncState;pub use backend::TransactionalBackend;pub use entity_queries::delete_entity;pub use entity_queries::find_entity;pub use entity_queries::get_entities_for_memory;pub use entity_queries::get_entity;pub use entity_queries::get_entity_stats;pub use entity_queries::get_memories_for_entity;pub use entity_queries::link_entity_to_memory;pub use entity_queries::list_entities;pub use entity_queries::search_entities;pub use entity_queries::unlink_entity_from_memory;pub use entity_queries::upsert_entity;pub use entity_queries::EntityStats;pub use graph_queries::find_path;pub use graph_queries::get_neighborhood;pub use graph_queries::ConnectionType;pub use graph_queries::TraversalDirection;pub use graph_queries::TraversalNode;pub use graph_queries::TraversalOptions;pub use graph_queries::TraversalResult;pub use graph_queries::TraversalStats;pub use identity_links::add_alias;pub use identity_links::create_identity;pub use identity_links::delete_identity;pub use identity_links::get_aliases;pub use identity_links::get_identity;pub use identity_links::get_identity_memories;pub use identity_links::get_memory_identities;pub use identity_links::link_identity_to_memory;pub use identity_links::list_identities;pub use identity_links::normalize_alias;pub use identity_links::remove_alias;pub use identity_links::resolve_alias;pub use identity_links::search_identities_by_alias;pub use identity_links::unlink_identity_from_memory;pub use identity_links::update_identity;pub use identity_links::CreateIdentityInput;pub use identity_links::Identity;pub use identity_links::IdentityAlias;pub use identity_links::IdentityType;pub use identity_links::MemoryIdentityLink;pub use image_storage::migrate_images;pub use image_storage::parse_data_uri;pub use image_storage::upload_image;pub use image_storage::ImageRef;pub use image_storage::ImageStorageConfig;pub use image_storage::LocalImageStorage;pub use image_storage::MigrationResult;pub use image_storage::UploadedImage;pub use queries::boost_memory;pub use queries::cleanup_sync_data;pub use queries::clear_events;pub use queries::create_checkpoint;pub use queries::create_memory;pub use queries::create_memory_batch;pub use queries::create_section_memory;pub use queries::delete_memory_batch;pub use queries::export_memories;pub use queries::get_agent_sync_state;pub use queries::get_sync_delta;pub use queries::get_sync_version;pub use queries::get_tag_hierarchy;pub use queries::import_memories;pub use queries::list_memories_compact;pub use queries::poll_events;pub use queries::rebuild_crossrefs;pub use queries::rebuild_embeddings;pub use queries::record_event;pub use queries::search_by_identity;pub use queries::search_sessions;pub use queries::update_agent_sync_state;pub use queries::AgentSyncState;pub use queries::BatchCreateResult;pub use queries::BatchDeleteResult;pub use queries::CompactMemoryRow;pub use queries::ExportData;pub use queries::ImportResult;pub use queries::MemoryEvent;pub use queries::MemoryEventType;pub use queries::SyncDelta;pub use queries::SyncVersion;pub use queries::TagHierarchyNode;pub use queries::TagInfo;pub use queries::TagValidationResult;pub use sqlite_backend::SqliteBackend;pub use temporal::MemorySnapshot;pub use temporal::StateDiff;pub use temporal::TemporalMemory;pub use temporal::TemporalQueryEngine;pub use temporal::TemporalQueryOptions;
Modules§
- agent_
registry - Agent registry storage queries
- auto_
linker - Auto-linking engine for emergent knowledge graph.
- backend
- entity_
queries - Database queries for entity operations (RML-925)
- filter
- Advanced metadata filter syntax for memory queries (RML-932)
- graph_
queries - Multi-hop graph traversal queries
- identity_
links - Identity links and alias management
- image_
storage - Image storage backend for memory images.
- memory_
blocks - Letta/MemGPT-inspired self-editing memory blocks.
- queries
- Database queries for memory operations
- scope_
grants - Scope-based access grants for multi-agent memory sharing.
- scoping
- Hierarchical memory scoping (T11)
- sqlite_
backend - SQLite implementation of the StorageBackend trait (ENG-15)
- temporal
- Point-in-Time Graph Queries (RML-899)
Structs§
- Audit
Entry - Audit log entry
- Audit
Filter - Filter for querying audit log
- Audit
Summary - Summary of audit activity for a memory
- Decayed
Cross Ref - Cross-reference with calculated decayed confidence
- Refresh
Result - Result of batch confidence refresh
- Storage
- Storage engine wrapping SQLite with connection pooling
- Storage
Pool - Connection pool for concurrent access
Enums§
- Audit
Action - Types of auditable actions
Constants§
- DEFAULT_
HALF_ LIFE_ DAYS - Default half-life in days (configurable via env)
Functions§
- boost_
confidence - Boost confidence of a cross-reference (user interaction)
- calculate_
decayed_ confidence - Calculate decayed confidence based on age
- calculate_
diff - Calculate a diff between two memory states
- get_
effective_ confidence - Get effective confidence for a cross-reference (considering decay and pinned status)
- get_
memory_ audit_ summary - Get audit summary for a memory
- get_
related_ with_ decay - Get all cross-references with decayed confidence scores
- log_
audit - Log an audit entry
- pin_
crossref - Pin a cross-reference (exempt from decay)
- query_
audit_ log - Query audit log entries
- refresh_
confidence_ batch - Batch update confidence values (for maintenance)
- unpin_
crossref - Unpin a cross-reference (subject to decay)