Expand description
Engram — durable memory layer for AI agents.
Provides a temporal knowledge graph, semantic search, and MCP-native tools for agents running on the JamJet runtime. Memory is scoped, versioned, and queryable across time — enabling agents to reason over what they knew, when.
Re-exports§
pub use consolidation::ConsolidationConfig;pub use consolidation::ConsolidationEngine;pub use consolidation::ConsolidationOp;pub use consolidation::ConsolidationResult;pub use context::CharTokenEstimator;pub use context::ContextBlock;pub use context::ContextBuilder;pub use context::ContextConfig;pub use context::OutputFormat;pub use context::TokenEstimator;pub use embedding::EmbeddingProvider;pub use embedding_ollama::OllamaEmbeddingProvider;pub use extract::ExtractedFact;pub use extract::ExtractionConfig;pub use extract::ExtractionResult;pub use extract::Message;pub use fact::Entity;pub use fact::EntityId;pub use fact::Fact;pub use fact::FactFilter;pub use fact::FactId;pub use fact::FactPatch;pub use fact::MemoryTier;pub use fact::Relationship;pub use fact::RelationshipId;pub use fact::SubGraph;pub use graph::GraphStore;pub use graph_postgres::PostgresGraphStore;pub use graph_sqlite::SqliteGraphStore;pub use llm::LlmClient;pub use llm_anthropic::AnthropicLlmClient;pub use llm_command::CommandLlmClient;pub use llm_google::GoogleLlmClient;pub use llm_ollama::OllamaLlmClient;pub use llm_openai::OpenAiLlmClient;pub use memory::Memory;pub use message::ChatMessage;pub use message::MessageId;pub use message::MessageStore;pub use message_postgres::PostgresMessageStore;pub use message_sqlite::SqliteMessageStore;pub use pipeline::ExtractionPipeline;pub use scope::Scope;pub use store::FactStore;pub use store::MemoryError;pub use store::StoreStats;pub use store_postgres::PostgresFactStore;pub use store_sqlite::SqliteFactStore;pub use vector::VectorFilter;pub use vector::VectorMatch;pub use vector::VectorStore;pub use vector_embedded::EmbeddedVectorStore;
Modules§
- conflict
- Conflict detection — Stage 2 of the extraction pipeline.
- consolidation
- Consolidation engine — background memory maintenance.
- context
- Context assembly — token-budgeted context building for LLM prompts.
- embedding
EmbeddingProvidertrait — pluggable text-embedding interface for Engram.- embedding_
ollama - Ollama-backed
EmbeddingProviderimplementation. - extract
- Extraction pipeline — types and configuration.
- fact
- Core domain types for the Engram memory layer.
- graph
GraphStoretrait — the storage interface for the entity-relationship graph.- graph_
postgres - PostgreSQL-backed
GraphStoreimplementation. - graph_
sqlite - SQLite-backed
GraphStoreimplementation. - llm
LlmClienttrait — lightweight LLM interface for extraction.- llm_
anthropic - Anthropic Claude LLM client — Messages API.
- llm_
command CommandLlmClient— the shell-out extensibility escape hatch.- llm_
google - Google Gemini LLM client —
generateContentAPI. - llm_
ollama - Ollama LLM client — free, local chat completion.
- llm_
openai - OpenAI-compatible LLM client — chat completions with native JSON mode.
- llm_
util - Shared utilities for LLM clients.
- memory
Memory— the primary public API for the Engram memory layer.- message
ChatMessagetype andMessageStoretrait — chat message persistence.- message_
postgres - PostgreSQL-backed
MessageStoreimplementation. - message_
sqlite - SQLite-backed
MessageStoreimplementation. - pipeline
- Extraction pipeline — LLM-based fact, entity, and relationship extraction.
- retrieve
- Hybrid retrieval — merges vector, keyword, and graph search results.
- scope
Scope— hierarchical identity context for memory isolation.- store
FactStoretrait — the primary storage interface for Engram.- store_
postgres - PostgreSQL-backed
FactStoreimplementation. - store_
sqlite - SQLite-backed
FactStoreimplementation. - vector
VectorStoretrait — semantic similarity search interface for Engram.- vector_
embedded EmbeddedVectorStore— in-process brute-force cosine-similarity store.