agentic-memory 0.4.0

Binary graph-based memory system for AI agents
Documentation
[package]
name = "agentic-memory"
version = "0.4.0"
edition = "2021"
description = "Binary graph-based memory system for AI agents"
license = "MIT"
readme = "README.md"
repository = "https://github.com/agentralabs/agentic-memory"
homepage = "https://agentralabs.tech"
keywords = ["ai", "agent", "memory", "llm", "graph"]
categories = ["data-structures", "command-line-utilities"]

[lib]
name = "agentic_memory"
path = "src/lib.rs"
crate-type = ["lib", "cdylib", "staticlib"]

[[bin]]
name = "amem"
path = "src/bin/amem.rs"

[features]
default = ["cli", "format", "ffi", "v3"]
cli = ["dep:clap", "dep:clap_complete", "dep:rustyline", "format"]
format = ["dep:lz4_flex", "dep:memmap2"]
ffi = ["format"]
v3 = []
encryption = ["dep:chacha20poly1305", "dep:argon2"]

[dependencies]
# Compression (optional — needed only for .amem file I/O)
lz4_flex = { version = "0.11", optional = true }

# Error handling
thiserror = "2"                # Derive macro for error types

# Logging
log = "0.4"                    # Logging facade

# CLI (optional — needed only for the `amem` binary)
clap = { version = "4", features = ["derive"], optional = true }
clap_complete = { version = "4", optional = true }
rustyline = { version = "14", optional = true }

# Serialization (for CLI JSON output only, NOT for .amem format)
serde = { version = "1", features = ["derive"] }
serde_json = "1"

# Memory mapping (optional — needed only for mmap reader)
memmap2 = { version = "0.9", optional = true }

# Timestamp
chrono = { version = "0.4", default-features = false, features = ["std", "clock", "serde"] }

# V3 Immortal Architecture dependencies
blake3 = "1.5"
uuid = { version = "1.0", features = ["v4", "serde"] }
hex = "0.4"
crc32fast = "1.3"
toml = "0.8"
dirs = "5.0"
base64 = "0.22"

# V3 encryption (optional)
chacha20poly1305 = { version = "0.10", optional = true }
argon2 = { version = "0.5", optional = true }

[dev-dependencies]
# Testing
criterion = { version = "0.5", features = ["html_reports"] }
tempfile = "3"                 # Temporary files for tests
rand = "0.8"                   # Random data generation for tests
env_logger = "0.11"            # Logger for tests

[[bench]]
name = "benchmarks"
harness = false