[package]
name = "tinychannels"
version = "0.1.0"
edition = "2024"
license = "GPL-3.0-only"
description = "Pluggable channel and messaging primitives for OpenHuman harness communication."
repository = "https://github.com/tinyhumansai/tinychannels"
readme = "README.md"
keywords = ["messaging", "channels", "openhuman", "harness"]
categories = ["asynchronous", "api-bindings"]
[features]
default = []
relay-websocket = [
"dep:tokio-tungstenite",
"tokio/net",
]
[dependencies]
anyhow = "1"
async-trait = "0.1"
base64 = "0.22"
futures-util = { version = "0.3", default-features = false, features = ["sink", "std"] }
hmac = "0.12"
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls", "stream"] }
schemars = { version = "1", features = ["derive"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
sha2 = "0.10"
thiserror = "2"
tokio = { version = "1", default-features = false, features = ["macros", "rt", "sync", "time"] }
tokio-tungstenite = { version = "0.29", default-features = false, features = ["connect", "rustls-tls-webpki-roots"], optional = true }
tracing = "0.1"
uuid = { version = "1", features = ["v4"] }
[dev-dependencies]
tempfile = "3"
toml = "0.9"