[package]
name = "nexo-driver-loop"
description = "Goal orchestrator + LlmDecider + Unix socket bridge for the nexo-rs driver subsystem. Phase 67.4."
version       = { workspace = true }
edition       = { workspace = true }
rust-version  = { workspace = true }
license       = { workspace = true }
authors       = { workspace = true }
repository    = { workspace = true }
homepage      = { workspace = true }
documentation = { workspace = true }
readme        = "README.md"
keywords      = { workspace = true }
categories    = { workspace = true }

[features]
default = ["nats"]
nats    = ["dep:async-nats"]

[dependencies]
nexo-config            = { version = "0.1.8", path = "../config" }
nexo-driver-types      = { version = "0.1.7", path = "../driver-types" }
nexo-driver-claude     = { version = "0.1.7", path = "../driver-claude" }
nexo-driver-permission = { version = "0.1.7", path = "../driver-permission" }
nexo-llm               = { version = "0.1.5", path = "../llm" }
nexo-memory            = { version = "0.1.5", path = "../memory" }
sqlx                   = { workspace = true }
anyhow                 = { workspace = true }
async-nats             = { workspace = true, optional = true }
async-trait            = { workspace = true }
chrono                 = { workspace = true }
dashmap                = { workspace = true }
humantime-serde        = { workspace = true }
regex                  = { workspace = true }
serde                  = { workspace = true }
serde_json             = { workspace = true }
serde_yaml             = { workspace = true }
thiserror              = { workspace = true }
tokio                  = { workspace = true }
tokio-util             = { workspace = true }
tracing                = { workspace = true }
tracing-subscriber     = { workspace = true }
uuid                   = { workspace = true }

[dev-dependencies]
tempfile = "3"
which    = { workspace = true }

[[bin]]
name = "nexo-driver"
path = "src/bin/nexo_driver.rs"

# Phase 27.1 — keep this internal driver bin out of release tarballs.
[package.metadata.dist]
dist = false

[lints]
workspace = true
