[package]
name = "weavatrix-memory"
version = "0.3.2"
edition = "2024"
rust-version = "1.89"
description = "Event-sourced bitemporal evidence memory and budgeted context retrieval for coding agents"
license = "MIT"
authors = ["Sergii Ziborov <sergii.ziborov@gmail.com>"]
homepage = "https://weavatrix.com"
repository = "https://github.com/sergii-ziborov/weavatrix-memory"
documentation = "https://docs.rs/weavatrix-memory"
readme = "README.md"
keywords = ["agents", "memory", "event-sourcing", "temporal", "context"]
categories = ["data-structures", "development-tools"]
[package.metadata.docs.rs]
all-features = true
[features]
default = []
compression = ["dep:lz4_flex"]
encryption = ["dep:chacha20poly1305", "dep:getrandom", "dep:zeroize"]
json = ["dep:blazingly-json"]
mmap = ["dep:mmap-guard"]
secure-storage = ["compression", "encryption", "mmap"]
[dependencies]
blazingly-json = { version = "0.1.0", optional = true }
chacha20poly1305 = { version = "0.11.0", default-features = false, features = ["alloc", "zeroize"], optional = true }
getrandom = { version = "0.4.3", optional = true }
lz4_flex = { version = "0.14.0", default-features = false, features = ["safe-decode", "safe-encode", "std"], optional = true }
mmap-guard = { version = "0.2.2", optional = true }
serde = { version = "1.0.229", features = ["derive"] }
weavatrix-graph = "0.6.0"
zeroize = { version = "1.9.0", default-features = false, features = ["alloc"], optional = true }
[dev-dependencies]
agentic-memory = { version = "0.4.2", default-features = false }
blazingly-json = "0.1.0"
cqrs-es = "0.5.0"
tokio = { version = "1.48.0", features = ["rt"] }
[[bench]]
name = "replay"
harness = false
[[bench]]
name = "durable"
harness = false
required-features = ["json"]
[[bench]]
name = "event_store_competitors"
harness = false
[[bench]]
name = "memory_competitors"
harness = false
[[bench]]
name = "snapshot_codecs"
harness = false
required-features = ["json"]
[[bench]]
name = "secure_storage"
harness = false
required-features = ["secure-storage"]
[[bench]]
name = "extraction"
harness = false
[[bin]]
name = "weavatrix-memory-eval"
path = "tools/eval/main.rs"
required-features = ["json"]
[lints.rust]
unsafe_code = "forbid"
[lints.clippy]
all = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }