[package]
name = "terraphim_persistence"
version = "1.4.7"
edition = "2021"
authors = ["Terraphim Contributors"]
description = "Terraphim persistence layer"
documentation = "https://terraphim.ai"
homepage = "https://terraphim.ai"
repository = "https://github.com/terraphim/terraphim-ai"
keywords = ["personal-assistant", "ai", "privacy", "persistence", "storage"]
license = "Apache-2.0"
readme = "../../README.md"
[dependencies]
terraphim_settings = { path = "../terraphim_settings", version = "1.0.0" }
terraphim_types = { path = "../terraphim_types", version = "1.0.0" }
tracing-subscriber = { version = "0.3", features = [
"env-filter",
"tracing-log",
] }
async-once-cell = "0.5.3"
async-trait = "0.1.74"
log = "0.4"
opendal = { version = "0.54", default-features = false, features = [
"services-memory",
] }
serde = { version = "1.0.182", features = ["derive"] }
serde_json = "1.0.104"
thiserror = "1.0.56"
tokio = { version = "1.27", features = ["fs", "macros", "rt-multi-thread", "sync"] }
regex = "1.11.0"
rusqlite = { version = "0.32", optional = true }
chrono = { version = "0.4", features = ["serde"] }
[dev-dependencies]
tempfile = "3.23.0"
terraphim_config = { path = "../terraphim_config" }
terraphim_multi_agent = { path = "../terraphim_multi_agent" }
temp-env = "0.3.6"
serial_test = "3.1.1"
tokio = { version = "1", features = ["full"] }
test-env-log = "0.2"
[features]
default = ["sqlite", "dashmap", "memory"]
memory = []
sqlite = ["opendal/services-sqlite", "rusqlite"]
dashmap = ["opendal/services-dashmap"]
s3 = ["opendal/services-s3"]
redis = ["opendal/services-redis"]
rocksdb = ["opendal/services-rocksdb"]
redb = ["opendal/services-redb"]
ipfs = ["opendal/services-ipfs"]
server = ["s3"]
all-backends = ["server", "redis", "rocksdb", "redb", "ipfs"]
services-dashmap = ["dashmap"]
services-sqlite = ["sqlite"]
services-s3 = ["s3"]
services-redis = ["redis"]
services-rocksdb = ["rocksdb"]
services-redb = ["redb"]
services-ipfs = ["ipfs"]