# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.91"
name = "brainos"
version = "0.5.0"
authors = ["Keshav Ashiya"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Brain OS — local-first AI memory engine. Stop giving your AI amnesia."
homepage = "https://github.com/keshavashiya/brain"
readme = false
keywords = [
    "ai",
    "memory",
    "local",
    "mcp",
    "llm",
]
categories = [
    "command-line-utilities",
    "database",
]
license = "MIT"
repository = "https://github.com/keshavashiya/brain"

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

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

[[test]]
name = "cross_protocol"
path = "tests/cross_protocol.rs"

[[bench]]
name = "startup"
path = "benches/startup.rs"
harness = false

[dependencies.anyhow]
version = "1"

[dependencies.async-trait]
version = "0.1"

[dependencies.audit]
version = "0.5.0"
package = "brainos-audit"

[dependencies.backends]
version = "0.5.0"
package = "brainos-backends"

[dependencies.brain]
version = "0.5.0"
package = "brainos-core"

[dependencies.bridge]
version = "0.5.0"
package = "brainos-bridge"

[dependencies.budget]
version = "0.5.0"
package = "brainos-budget"

[dependencies.channel]
version = "0.5.0"
package = "brainos-channel"

[dependencies.chrono]
version = "0.4"
features = ["serde"]

[dependencies.clap]
version = "4"
features = ["derive"]

[dependencies.confirm]
version = "0.5.0"
package = "brainos-confirm"

[dependencies.cortex]
version = "0.5.0"
package = "brainos-cortex"

[dependencies.crossterm]
version = "0.28"

[dependencies.delegate]
version = "0.5.0"
package = "brainos-delegate"

[dependencies.futures]
version = "0.3"

[dependencies.futures-util]
version = "0.3"

[dependencies.ganglia]
version = "0.5.0"
optional = true
package = "brainos-ganglia"

[dependencies.grpcadapter]
version = "0.5.0"
optional = true
package = "brainos-grpcadapter"

[dependencies.hippocampus]
version = "0.5.0"
package = "brainos-hippocampus"

[dependencies.httpadapter]
version = "0.5.0"
package = "brainos-httpadapter"

[dependencies.identity]
version = "0.5.0"
package = "brainos-identity"

[dependencies.intent]
version = "0.5.0"
package = "brainos-intent"

[dependencies.mcp]
version = "0.5.0"
package = "brainos-mcp"

[dependencies.mcphost]
version = "0.5.0"
package = "brainos-mcphost"

[dependencies.metrics]
version = "0.5.0"
package = "brainos-metrics"

[dependencies.observe]
version = "0.5.0"
package = "brainos-observe"

[dependencies.orchestrate]
version = "0.5.0"
package = "brainos-orchestrate"

[dependencies.reflex]
version = "0.5.0"
package = "brainos-reflex"

[dependencies.reqwest]
version = "0.13"
features = [
    "json",
    "stream",
    "blocking",
    "query",
    "form",
]

[dependencies.resilience]
version = "0.5.0"
package = "brainos-resilience"

[dependencies.rpassword]
version = "7"

[dependencies.rusqlite]
version = "0.39"
features = ["bundled"]

[dependencies.rustyline]
version = "18"

[dependencies.sandbox]
version = "0.5.0"
package = "brainos-sandbox"

[dependencies.selfmodel]
version = "0.5.0"
package = "brainos-selfmodel"

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.serde_yaml]
version = "0.9"

[dependencies.signal]
version = "0.5.0"
default-features = false
package = "brainos-signal"

[dependencies.storage]
version = "0.5.0"
default-features = false
package = "brainos-storage"

[dependencies.sysinfo]
version = "0.33"
features = ["system"]
default-features = false

[dependencies.termimad]
version = "0.31"

[dependencies.terminal]
version = "0.5.0"
package = "brainos-terminal"

[dependencies.thalamus]
version = "0.5.0"
package = "brainos-thalamus"

[dependencies.tokio]
version = "1"
features = ["full"]

[dependencies.tokio-tungstenite]
version = "0.26"

[dependencies.tonic]
version = "0.14"
features = ["transport"]

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-appender]
version = "0.2"

[dependencies.tracing-subscriber]
version = "0.3"
features = [
    "env-filter",
    "json",
]

[dependencies.uuid]
version = "1"
features = [
    "v4",
    "serde",
]

[dependencies.vault]
version = "0.5.0"
package = "brainos-vault"

[dependencies.wsadapter]
version = "0.5.0"
package = "brainos-wsadapter"

[dev-dependencies.bolero]
version = "0.13"

[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]

[dev-dependencies.futures-util]
version = "0.3"

[dev-dependencies.tempfile]
version = "3"

[dev-dependencies.tokio-tungstenite]
version = "0.26"

[dev-dependencies.tonic]
version = "0.14"
features = ["transport"]

[lints.clippy]
large_enum_variant = "allow"
module_inception = "allow"
result_large_err = "allow"
too_many_arguments = "allow"
type_complexity = "allow"

[lints.clippy.all]
level = "deny"
priority = -1

[lints.rust]
unused_must_use = "deny"
