thingd 0.76.0

Core primitives for thingd, an object-shaped local memory engine for apps and agents.
Documentation
[package]
name = "thingd"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
description = "Core primitives for thingd, an object-shaped local memory engine for apps and agents."
readme = "README.md"
keywords = ["ai", "memory", "mcp", "database", "persistence"]
categories = ["database-implementations", "caching"]
exclude = ["examples/"]

[features]
default = ["persistent", "search"]
search = ["dep:tantivy"]
persistent = [
    "dep:fjall",
    "dep:chacha20poly1305",
    "dep:getrandom",
    "dep:hkdf",
    "dep:hmac",
    "dep:sha2",
]
vectors = []
connectors = ["dep:csv", "dep:sqlx", "dep:tokio"]

[dependencies]
fjall = { version = "3.1.8", optional = true }
tantivy = { version = "0.26.1", optional = true }
csv = { version = "1.4", optional = true }
chrono = "0.4.45"
serde = { version = "1.0.229", features = ["derive"] }
serde_json = "1.0.151"
sqlx = { version = "0.8", default-features = false, features = ["runtime-tokio", "tls-rustls-ring", "postgres", "mysql"], optional = true }
tokio = { version = "1", features = ["rt", "macros"], optional = true }
chacha20poly1305 = { version = "0.10", optional = true }
getrandom = { version = "0.3", optional = true }
hkdf = { version = "0.12", optional = true }
hmac = { version = "0.12", optional = true }
sha2 = { version = "0.10", optional = true }

[dev-dependencies]
tempfile = "3.27.0"

[lib]
path = "src/lib.rs"

[lints]
workspace = true

[package.metadata.docs.rs]
features = ["persistent"]
rustdoc-args = ["--cfg", "docsrs"]