[package]
name = "autopilot"
version = "0.1.0"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
publish.workspace = true
authors.workspace = true

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

[features]
default = []
# Enables the real `vlm_client` IPC path (NanoLLM / VILA1.5-3B over Unix-domain
# socket). With the feature off, `VlmProvider` resolves to the disabled no-op.
vlm = ["vlm_client/vlm"]

[dependencies]
shared = { workspace = true }
mavlink_layer = { workspace = true }
mission_client = { workspace = true }
frame_ingest = { workspace = true }
detection_client = { workspace = true }
movement_detector = { workspace = true }
semantic_analyzer = { workspace = true }
vlm_client = { workspace = true }
scan_controller = { workspace = true }
mapobjects_store = { workspace = true }
gimbal_controller = { workspace = true }
operator_bridge = { workspace = true }
mission_executor = { workspace = true }
telemetry_stream = { workspace = true }

tokio = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
anyhow = { workspace = true }
clap = { workspace = true }
axum = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
chrono = { workspace = true }

# Linux-only systemd readiness notification. No-op on other platforms.
[target.'cfg(target_os = "linux")'.dependencies]
sd-notify = "0.4"
