[package]
name = "hestia"
version = "0.0.2"
edition = "2021"
authors = ["dp-web4 <dp@metalinxx.io>"]
description = "Hestia — local-first Web4 trust layer for AI agents. The core daemon: credential vault, MCP server, society state, witness chain."
license = "AGPL-3.0-or-later"
repository = "https://github.com/dp-web4/hestia"
documentation = "https://github.com/dp-web4/hestia"
keywords = ["hestia", "web4", "ai-agent", "vault", "mcp"]
categories = ["cryptography", "authentication", "command-line-utilities"]
rust-version = "1.80"

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

[[bin]]
name = "hestia"
path = "src/main.rs"

[dependencies]
# CLI
clap = { version = "4.5", features = ["derive", "env"] }
rpassword = "7"

# Crypto
argon2 = "0.5"
chacha20poly1305 = "0.10"
rand = "0.8"
zeroize = { version = "1.8", features = ["derive"] }

# Serialization / storage
serde = { version = "1", features = ["derive"] }
serde_json = "1"

# System
dirs = "5"

# Errors
thiserror = "2"
anyhow = "1"

# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

# Concurrency
tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "fs", "net", "signal"] }
tokio-util = "0.7"
async-trait = "0.1"

# MCP server
rmcp = { version = "1.7", default-features = false, features = [
    "server",
    "transport-streamable-http-server",
] }
axum = "0.7"
sha2 = "0.10"
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1", features = ["v4", "serde"] }

# Web4 trust primitives + persistence
web4-trust-core = { version = "0.2", features = ["file-store"] }
rusqlite = { version = "0.31", features = ["bundled"] }

# TUI dashboard
ratatui = "0.28"
crossterm = "0.28"
reqwest = { version = "0.12", default-features = false, features = ["json", "blocking", "rustls-tls"] }

[dev-dependencies]
tempfile = "3"
