Skip to main content

agentic_memory/
lib.rs

1//! AgenticMemory — binary graph-based memory system for AI agents.
2//!
3//! Stores cognitive events (facts, decisions, inferences, corrections, skills, episodes)
4//! as nodes in a graph, with typed edges representing relationships between them.
5
6#[cfg(feature = "cli")]
7pub mod cli;
8pub mod contracts;
9pub mod engine;
10#[cfg(feature = "ffi")]
11pub mod ffi;
12#[cfg(feature = "format")]
13pub mod format;
14pub mod graph;
15pub mod index;
16pub mod types;
17
18// V3: Immortal Architecture — Memory That Never Dies
19#[cfg(feature = "v3")]
20pub mod v3;
21
22// Re-export commonly used types at the crate root
23pub use engine::{
24    CausalParams, CausalResult, DecayReport, IngestResult, MemoryQualityParams,
25    MemoryQualityReport, PatternParams, PatternSort, QueryEngine, SimilarityMatchResult,
26    SimilarityParams, SubGraph, TemporalParams, TemporalResult, TimeRange, TraversalParams,
27    TraversalResult, WriteEngine,
28};
29#[cfg(feature = "format")]
30pub use format::{AmemReader, AmemWriter, MmapReader, SimilarityMatch};
31pub use graph::{GraphBuilder, MemoryGraph, TraversalDirection};
32pub use index::{
33    cosine_similarity, ClusterMap, DocLengths, SessionIndex, TemporalIndex, TermIndex, TypeIndex,
34};
35pub use types::{
36    now_micros, AmemError, AmemResult, CognitiveEvent, CognitiveEventBuilder, Edge, EdgeType,
37    EventType, FileHeader, DEFAULT_DIMENSION, MAX_CONTENT_SIZE, MAX_EDGES_PER_NODE,
38};
39
40// New query expansion re-exports
41pub use engine::{
42    AnalogicalAnchor, AnalogicalParams, Analogy, BeliefRevisionParams, BeliefSnapshot,
43    BeliefTimeline, CascadeEffect, CascadeStep, CentralityAlgorithm, CentralityParams,
44    CentralityResult, ChangeType, ConsolidationAction, ConsolidationOp, ConsolidationParams,
45    ConsolidationReport, ContradictedNode, DriftParams, DriftReport, Gap, GapDetectionParams,
46    GapReport, GapSeverity, GapSummary, GapType, HybridMatch, HybridSearchParams, PathResult,
47    PatternMatch, RevisionReport, ShortestPathParams, TextMatch, TextSearchParams, Tokenizer,
48    WeakenedNode,
49};
50pub use types::header::feature_flags;
51
52// V3 re-exports
53#[cfg(feature = "v3")]
54pub use v3::MemoryEngineV3;
55
56/// Check if V3 feature is enabled
57pub fn v3_enabled() -> bool {
58    cfg!(feature = "v3")
59}