[package]
name = "brainos"
description = "Brain OS — local-first AI memory engine. Stop giving your AI amnesia."
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
keywords.workspace = true
categories.workspace = true

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

[features]
default = ["grpc", "encryption", "ganglia"]
grpc = ["dep:grpcadapter"]
encryption = ["storage/encryption", "signal/encryption"]
ganglia = ["dep:ganglia"]

[dependencies]
brain         = { workspace = true }
selfmodel     = { workspace = true }
metrics       = { workspace = true }
sysinfo       = { workspace = true }
storage = { workspace = true }
rusqlite = { workspace = true }
hippocampus = { workspace = true }
cortex = { workspace = true }
thalamus = { workspace = true }
signal = { workspace = true }
ganglia = { workspace = true, optional = true }
httpadapter = { workspace = true }
wsadapter = { workspace = true }
grpcadapter = { workspace = true, optional = true }
mcp = { workspace = true }
bridge = { workspace = true }
backends = { workspace = true }
tokio-tungstenite = { workspace = true }
futures-util = "0.3"
clap = { workspace = true }
rustyline = { workspace = true }
crossterm = { workspace = true }
termimad = { workspace = true }
rpassword = { workspace = true }
tokio = { workspace = true }
anyhow = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
tracing-appender = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
serde_yaml = { workspace = true }
chrono = { workspace = true }
futures = { workspace = true }
async-trait = { workspace = true }
uuid = { workspace = true }
reqwest = { workspace = true }
audit = { workspace = true }
confirm = { workspace = true }
budget = { workspace = true }
sandbox = { workspace = true }
vault = { workspace = true }
orchestrate = { workspace = true }
channel = { workspace = true }
delegate = { workspace = true }
observe = { workspace = true }
identity = { workspace = true }
mcphost = { workspace = true }
terminal = { workspace = true }
intent = { workspace = true }
reflex = { workspace = true }
resilience = { workspace = true }
tonic = { version = "0.14", features = ["transport"] }

[dev-dependencies]
tokio-tungstenite = { workspace = true }
futures-util = "0.3"
tonic = { version = "0.14", features = ["transport"] }
tempfile = "3"
bolero = "0.13"
criterion = { workspace = true }

[[bench]]
name = "startup"
harness = false

[lints]
workspace = true
