[[bin]]
name                    = "lesavka-client"
path                    = "src/main.rs"

[package]
name                    = "lesavka_client"
version                 = "0.25.1"
edition                 = "2024"

[dependencies]
tokio                   = { version = "1.45", features = ["full", "fs", "rt-multi-thread", "macros", "sync", "time"] }
tonic                   = { version = "0.13", features = ["transport", "tls-ring", "tls-native-roots"] }
tokio-stream            = { version = "0.1", features = ["sync"] }
anyhow                  = "1.0"
lesavka_common          = { path = "../common" }
tracing                 = { version = "0.1", features = ["std"] }
tracing-subscriber      = { version = "0.3", features = ["fmt", "env-filter"] }
tracing-appender        = "0.2"
futures                 = "0.3"
evdev                   = "0.13"
gstreamer               = { version = "0.23", features = ["v1_22"] }
gstreamer-app           = "0.23"
gstreamer-video         = { package = "gstreamer-video", version = "0.23" }
gstreamer-gl-wayland    = "0.23"
gtk                     = { version = "0.8", package = "gtk4", features = ["v4_6"] }
winit                   = "0.30"
raw-window-handle       = "0.6"
serde                   = { version = "1.0", features = ["derive"] }
serde_json              = "1.0"
async-stream            = "0.3"
shell-escape            = "0.1"
v4l                     = "0.14"
chacha20poly1305        = "0.10"
base64                  = "0.22"

[build-dependencies]
prost-build             = "0.13"

[dev-dependencies]
serial_test             = { workspace = true }
temp-env                = { workspace = true }
tempfile                = { workspace = true }

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