[package]
name = "tikeo"
description = "Rust Worker SDK for active outbound tikeo Worker Tunnel connections."
edition = "2024"
version = "0.3.16"
license = "MIT"
repository = "https://github.com/yhyzgn/tikeo.git"
rust-version = "1.95"

[features]
default = []
wasm = ["dep:wasmtime"]

[dependencies]
async-trait = "0.1"
prost = "0.14"
thiserror = "2"
sha2 = "0.10"
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tokio = { version = "1", features = ["io-util", "process", "sync", "time"] }
tokio-stream = "0.1"
tonic = "0.14"
tonic-prost = "0.14"
tracing = "0.1"
tracing-log = "0.2"
tracing-subscriber = { version = "0.3", default-features = false, features = ["registry"] }
wasmtime = { version = "45.0.0", default-features = false, features = ["cranelift", "runtime", "std"], optional = true }

[dev-dependencies]
wat = "1"
tokio = { version = "1", features = ["macros", "rt-multi-thread", "net", "time"] }
tokio-stream = { version = "0.1", features = ["net"] }

[build-dependencies]
protoc-bin-vendored = "3"
tonic-prost-build = "0.14"

[lints.rust]
unsafe_code = "forbid"
missing_docs = "warn"

[lints.clippy]
all = "warn"
pedantic = "warn"
nursery = "warn"
unwrap_used = "warn"
expect_used = "warn"

[workspace]
