[package] name = "chanora_bridge" description = "Chanora typed Flutter/Rust bridge — schema-controlled DTOs for commands, results, and events. Backed by flutter_rust_bridge 2.x per DEC-014." version.workspace = true edition.workspace = true rust-version.workspace = true authors.workspace = true license.workspace = true repository.workspace = true publish.workspace = true [lib] # cdylib so the Flutter app can dlopen us via dart:ffi. # staticlib so iOS / static-link configurations remain possible later. # rlib so chanora_core and other Rust callers can use the public types. crate-type = ["cdylib", "staticlib", "rlib"] [dependencies] chanora_core = { path = "../../core/chanora_core" } chanora_audio = { path = "../chanora_audio" } flutter_rust_bridge = "=2.12.0" thiserror.workspace = true serde.workspace = true tracing.workspace = true tracing-subscriber = { version = "0.3", features = ["env-filter"] } tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync"] } # Android: route `tracing` output to logcat so a user can see protocol # and audio diagnostics via `adb logcat -s chanora`. Also brings in the # JNI bindings we need to initialise `ndk_context` for the Android Oboe backend. [target.'cfg(target_os = "android")'.dependencies] tracing-android = "0.2" log = "0.4" jni = { version = "0.21", default-features = false } ndk-context = "0.1" [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(frb_expand)'] }