#![cfg_attr(docsrs, feature(doc_cfg))]
#![doc(html_root_url = "https://docs.rs/entelix-memory/0.5.3")]
#![deny(missing_docs)]
#![allow(
clippy::doc_markdown,
clippy::missing_errors_doc,
clippy::missing_panics_doc,
clippy::option_if_let_else,
clippy::significant_drop_tightening,
clippy::too_long_first_doc_paragraph
)]
mod buffer;
mod consolidating;
mod consolidation;
mod embedding_retriever;
mod entity;
mod episodic;
mod graph;
mod in_memory_vector_store;
mod metered;
mod namespace;
mod rerank;
mod semantic;
mod store;
mod summary;
mod traits;
mod vector;
pub use buffer::{BufferMemory, PolicyExtras};
pub use consolidating::{ConsolidatingBufferMemory, Summarizer};
pub use consolidation::{
ConsolidationContext, ConsolidationPolicy, NeverConsolidate, OnMessageCount, OnTokenBudget,
};
pub use embedding_retriever::EmbeddingRetriever;
pub use entity::{EntityMemory, EntityRecord};
pub use episodic::{Episode, EpisodeId, EpisodicMemory};
pub use graph::{Direction, EdgeId, GraphHop, GraphMemory, InMemoryGraphMemory, NodeId};
pub use in_memory_vector_store::InMemoryVectorStore;
pub use metered::{CostCalculatorAdapter, EmbeddingCostCalculator, MeteredEmbedder};
pub use namespace::{Namespace, NamespacePrefix};
pub use rerank::MmrReranker;
pub use semantic::{SemanticMemory, SemanticMemoryBackend};
pub use store::{InMemoryStore, PutOptions, Store};
pub use summary::SummaryMemory;
pub use traits::{
Document, DocumentId, Embedder, Embedding, EmbeddingUsage, IdentityReranker, RerankedDocument,
Reranker, RetrievalQuery, Retriever, VectorFilter, VectorStore,
};
pub use vector::{first_non_finite_vector_value, validate_vector_shape};