[package]
name = "semantic-memory"
version = "0.5.13"
edition = "2021"
rust-version = "1.75"
description = "Local-first hybrid semantic search (SQLite + FTS5 + usearch 2.25) with bitemporal truth and typed receipts"
license = "Apache-2.0"
authors = ["Josh Stevenson <j.stevenson.cs@gmail.com>"]
readme = "README.md"
repository = "https://github.com/RecursiveIntell/semantic-memory"
homepage = "https://github.com/RecursiveIntell/semantic-memory"
documentation = "https://docs.rs/semantic-memory"
keywords = ['search', 'semantic', 'sqlite', 'vector', 'usearch']
categories = ["database", "text-processing", "data-structures"]
[features]
default = ["usearch-backend"]
usearch-backend = ["dep:usearch", "dep:cxx-build", "dep:cxx"]
hnsw = ["dep:hnsw_rs"]
brute-force = []
provenance = []
temporal = ["provenance"]
multiscale = []
admin-ops = []
discord = []
decoder = []
subtraction = []
compression-governor = []
routing = []
benchmark = ["routing"]
integration = ["provenance", "temporal", "multiscale", "discord", "decoder", "subtraction", "compression-governor", "routing", "topology", "community", "subgraph-pruning", "matryoshka"]
late-interaction = []
topology = []
matryoshka = []
community = []
rl-routing = ["routing"]
subgraph-pruning = ["subtraction"]
testing = []
turbo-quant-codec = ["dep:turbo-quant", "dep:quant-governor", "dep:scr-runtime-compression"]
poly-kv-codec = ["dep:poly-kv"]
candle-embedder = ["dep:candle-core", "dep:candle-nn", "dep:candle-transformers", "dep:hf-hub", "dep:tokenizers"]
[dependencies]
lru = "0.16.3"
bytemuck = { version = "1", features = ["derive"] }
blake3 = { workspace = true }
sha2 = { workspace = true }
rusqlite = { workspace = true, features = ["bundled", "blob"] }
reqwest = { version = "0.12", features = ["json", "rustls-tls"], default-features = false }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
tokio = { workspace = true, features = ["rt", "macros", "sync"] }
thiserror = { workspace = true }
tracing = { workspace = true }
uuid = { workspace = true, features = ["v4"] }
chrono = { workspace = true, features = ["serde"] }
stack-ids = { version = "0.1.3", path = "../stack-ids" }
forge-memory-bridge = { version = "0.1.1", path = "../forge-memory-bridge" }
schemars = { workspace = true }
boundary-compiler = { version = "0.1.0", path = "../boundary-compiler" }
bitemporal-runtime = { version = "0.1.0", path = "../bitemporal-runtime" }
hnsw_rs = { version = "0.3", optional = true }
usearch = { version = "2.25", default-features = false, optional = true }
turbo-quant = { version = "0.2.1", path = "../turbo-quant", optional = true }
quant-governor = { version = "0.1.0", path = "../quant-governor", optional = true }
scr-runtime-compression = { version = "0.1.0", path = "../scr-runtime-compression", optional = true }
poly-kv = { version = "0.1.0-alpha.1", path = "../poly-kv/crates/poly-kv", optional = true }
candle-core = { version = "0.10", optional = true }
candle-nn = { version = "0.10", optional = true }
candle-transformers = { version = "0.10", optional = true }
hf-hub = { version = "1.0.0-rc.1", default-features = false, features = ["blocking"], optional = true }
tokenizers = { version = "0.23", default-features = false, features = ["onig"], optional = true }
[build-dependencies]
cc = "1.0"
cxx-build = { version = "1.0", optional = true }
cxx = { version = "1.0", optional = true }
[dev-dependencies]
tokio = { workspace = true, features = ["rt-multi-thread", "macros"] }
tempfile = { workspace = true }
semantic-memory-forge = { version = "0.1.1", path = "../semantic-memory-forge" }
[[example]]
name = "hostile_memory_integrity"
path = "examples/hostile_memory_integrity.rs"
required-features = ["testing"]
[[test]]
name = "authority_transactions"
path = "tests/authority_transactions.rs"
required-features = ["testing"]
[[test]]
name = "transition_compiler"
path = "tests/transition_compiler.rs"
required-features = ["testing"]
[[test]]
name = "forgetting_closure"
path = "tests/forgetting_closure.rs"
required-features = ["testing"]
[[test]]
name = "shadow_policy"
path = "tests/shadow_policy.rs"
required-features = ["testing"]
[[test]]
name = "procedural_memory"
path = "tests/procedural_memory.rs"
required-features = ["testing"]
[[test]]
name = "evidence_gap"
path = "tests/evidence_gap.rs"
required-features = ["testing"]
[[test]]
name = "origin_authority"
path = "tests/origin_authority.rs"
required-features = ["testing"]
[[test]]
name = "multi_principal_policy"
path = "tests/multi_principal_policy.rs"
required-features = ["testing"]
[lints]
workspace = true