[package]
name = "roboticus"
version.workspace = true
edition.workspace = true
description = "Autonomous agent runtime — HTTP API, CLI, WebSocket push, and migration engine"
license.workspace = true
repository.workspace = true
homepage.workspace = true
keywords.workspace = true
categories.workspace = true
readme = "README.md"

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

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

[dependencies]
roboticus-core.workspace = true
roboticus-db.workspace = true
roboticus-llm.workspace = true
roboticus-agent = { workspace = true, features = ["vault-watcher"] }
roboticus-wallet.workspace = true
roboticus-schedule.workspace = true
roboticus-channels.workspace = true
roboticus-plugin-sdk.workspace = true
roboticus-browser.workspace = true
roboticus-cli.workspace = true
roboticus-api.workspace = true
tokio.workspace = true
serde.workspace = true
serde_json.workspace = true
tracing.workspace = true
chrono = { workspace = true }
axum = { version = "0.8", features = ["ws"] }
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
tower-http = { version = "0.6", features = ["cors"] }
clap = { version = "4", features = ["derive", "env"] }
reqwest = { version = "0.12", features = ["json", "rustls-tls", "stream"], default-features = false }
toml = "0.8"
dialoguer = "0.11"
tracing-appender = "0.2"
open = "5.3.3"
rand = "0.8"
libc = "0.2"
openssl = { version = "0.10", features = ["vendored"], optional = true }

[features]
default = []
vendored-openssl = ["openssl"]

[dev-dependencies]
assert_cmd = "2"
predicates = "3"
tempfile = "3"
wiremock = "0.6.5"
