[package]
name = "everruns-local"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
documentation = "https://docs.rs/everruns-local"
description = "Local, SQLite-backed runtime backend stores for embedded in-process Everruns hosts"
readme = "README.md"
keywords = ["everruns", "agent", "sqlite", "embedded", "storage"]
categories = ["development-tools", "database"]

[dependencies]
# SQLite
rusqlite = { version = "0.39", features = ["bundled"] }

# Filesystem locations / ownership checks
dirs.workspace = true
libc = "0.2"

# Everruns crates
# NOTE: core defaults are intentionally NOT disabled here. everruns-local pulls
# in everruns-runtime (and via it everruns-mcp), which depend on core with full
# defaults, so feature unification re-enables the heavy subtrees regardless —
# default-features = false would be a no-op. This is not a thin provider crate.
everruns-core.workspace = true
everruns-runtime.workspace = true

# Async
tokio = { workspace = true, features = ["rt", "time", "sync"] }
async-trait.workspace = true

# Sync
parking_lot.workspace = true

# Serialization
serde_json.workspace = true

# Types
chrono.workspace = true
uuid.workspace = true

# Error handling
thiserror.workspace = true

# Logging
tracing.workspace = true

[dev-dependencies]
tokio = { workspace = true, features = ["full", "test-util"] }
tempfile.workspace = true
