[package]
name = "smix-driver"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
description = "smix-driver — decide layer (between sense & act). Wraps smix-runner-client with host-side resolve dispatch (tree + resolve + tapAtNormCoord)."
homepage.workspace = true
documentation = "https://docs.rs/smix-driver"
readme = "README.md"
keywords = ["ios", "driver", "selector", "automation"]
categories = ["development-tools::testing"]

[lints]
workspace = true

[dependencies]
smix-screen = { path = "../smix-screen", version = "1.0.0" }
smix-selector = { path = "../smix-selector", version = "1.0.0" }
smix-selector-resolver = { path = "../smix-selector-resolver", version = "1.0.0" }
smix-host-coord-resolver = { path = "../smix-host-coord-resolver", version = "1.0.0" }
smix-input = { path = "../smix-input", version = "1.0.0" }
smix-error = { path = "../smix-error", version = "1.0.0" }
smix-runner-client = { path = "../smix-runner-client", version = "1.0.0" }
tokio = { workspace = true, features = ["time", "macros"] }
tracing.workspace = true
serde_json.workspace = true
async-trait.workspace = true

[dev-dependencies]
wiremock = "0.6"
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
serde_json.workspace = true
criterion.workspace = true

[[bench]]
name = "perf_gate"
harness = false
