[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", "sqlite", "database"]
categories = ["database-implementations", "caching"]
exclude = ["examples/"]

[features]
default = []
sqlite = ["dep:rusqlite", "dep:uuid"]
connectors = ["dep:csv"]

[dependencies]
rusqlite = { version = "0.40.1", features = ["bundled"], optional = true }
csv = { version = "1.3", optional = true }
uuid = { version = "1", features = ["v4"], optional = true }
chrono = "0.4.45"
serde = { version = "1", features = ["derive"] }
serde_json = "1.0.150"

[dev-dependencies]
tempfile = "3.27.0"

[[example]]
name = "storage_bench"
required-features = ["sqlite"]

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

[lints]
workspace = true

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