[workspace] resolver = "2" members = [ "crates/shared", "crates/autopilot", "crates/mavlink_layer", "crates/mission_client", "crates/frame_ingest", "crates/detection_client", "crates/movement_detector", "crates/semantic_analyzer", "crates/vlm_client", "crates/scan_controller", "crates/mapobjects_store", "crates/gimbal_controller", "crates/operator_bridge", "crates/mission_executor", "crates/telemetry_stream", ] [workspace.package] edition = "2021" rust-version = "1.82" license = "Proprietary" publish = false authors = ["AZAION autopilot team"] [workspace.dependencies] # Async runtime tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "time", "io-util", "net", "signal"] } # Foundational bytes = "1" anyhow = "1" thiserror = "1" async-trait = "0.1" once_cell = "1" # Serialisation serde = { version = "1", features = ["derive"] } serde_json = "1" toml = "0.8" # IDs and time uuid = { version = "1", features = ["v4", "serde"] } chrono = { version = "0.4", default-features = false, features = ["clock", "serde"] } # Observability tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter", "json", "fmt"] } # CLI clap = { version = "4", features = ["derive", "env"] } # Health server axum = { version = "0.7", default-features = false, features = ["http1", "json", "tokio"] } tower = "0.5" hyper = { version = "1", features = ["server", "http1"] } # Networking / transports / schema reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls", "gzip"] } jsonschema = { version = "0.18", default-features = false } tokio-serial = "5" # Crypto / hashing sha2 = "0.10" # Wire encoding (VLM IPC) base64 = "0.22" # OS bindings (SO_PEERCRED on Linux) libc = "0.2" # Geospatial h3o = "0.7" # Test scaffolding wiremock = "0.6" tempfile = "3" # Workspace-internal shared = { path = "crates/shared" } mavlink_layer = { path = "crates/mavlink_layer" } mission_client = { path = "crates/mission_client" } frame_ingest = { path = "crates/frame_ingest" } detection_client = { path = "crates/detection_client" } movement_detector = { path = "crates/movement_detector" } semantic_analyzer = { path = "crates/semantic_analyzer" } vlm_client = { path = "crates/vlm_client" } scan_controller = { path = "crates/scan_controller" } mapobjects_store = { path = "crates/mapobjects_store" } gimbal_controller = { path = "crates/gimbal_controller" } operator_bridge = { path = "crates/operator_bridge" } mission_executor = { path = "crates/mission_executor" } telemetry_stream = { path = "crates/telemetry_stream" } [profile.release] lto = "thin" codegen-units = 1 strip = "symbols" opt-level = 3 [profile.dev] opt-level = 0 debug = true