Skip to main content

engram/
lib.rs

1//! Engram — durable memory layer for AI agents.
2//!
3//! Provides a temporal knowledge graph, semantic search, and MCP-native tools
4//! for agents running on the JamJet runtime. Memory is scoped, versioned, and
5//! queryable across time — enabling agents to reason over what they knew, when.
6
7pub mod conflict;
8pub mod consolidation;
9pub mod context;
10pub mod embedding;
11pub mod embedding_ollama;
12pub mod extract;
13pub mod fact;
14pub mod graph;
15pub mod graph_sqlite;
16pub mod llm;
17pub mod llm_anthropic;
18pub mod llm_command;
19pub mod llm_google;
20pub mod llm_ollama;
21pub mod llm_openai;
22pub mod llm_util;
23pub mod memory;
24pub mod pipeline;
25pub mod retrieve;
26pub mod scope;
27pub mod store;
28pub mod store_sqlite;
29pub mod vector;
30pub mod vector_embedded;
31
32pub use consolidation::{
33    ConsolidationConfig, ConsolidationEngine, ConsolidationOp, ConsolidationResult,
34};
35pub use context::{
36    CharTokenEstimator, ContextBlock, ContextBuilder, ContextConfig, OutputFormat, TokenEstimator,
37};
38pub use embedding::EmbeddingProvider;
39pub use embedding_ollama::OllamaEmbeddingProvider;
40pub use extract::{ExtractedFact, ExtractionConfig, ExtractionResult, Message};
41pub use fact::{
42    Entity, EntityId, Fact, FactFilter, FactId, FactPatch, MemoryTier, Relationship,
43    RelationshipId, SubGraph,
44};
45pub use graph::GraphStore;
46pub use graph_sqlite::SqliteGraphStore;
47pub use llm::LlmClient;
48pub use llm_anthropic::AnthropicLlmClient;
49pub use llm_command::CommandLlmClient;
50pub use llm_google::GoogleLlmClient;
51pub use llm_ollama::OllamaLlmClient;
52pub use llm_openai::OpenAiLlmClient;
53pub use memory::Memory;
54pub use pipeline::ExtractionPipeline;
55pub use scope::Scope;
56pub use store::{FactStore, MemoryError, StoreStats};
57pub use store_sqlite::SqliteFactStore;
58pub use vector::{VectorFilter, VectorMatch, VectorStore};
59pub use vector_embedded::EmbeddedVectorStore;