[package]
name = "rivetkit-client"
version.workspace = true
description = "Rust client for RivetKit - the Stateful Serverless Framework for building AI agents, realtime apps, and game servers"
edition = "2021"
authors.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
[dependencies]
anyhow = "1.0"
base64 = "0.22.1"
bytes = { workspace = true }
futures-util = "0.3.31"
opentelemetry = { version = "0.28", default-features = false, features = ["trace"] }
opentelemetry-http.workspace = true
opentelemetry_sdk = { version = "0.28", default-features = false, features = ["trace"] }
parking_lot.workspace = true
reqwest = { version = "0.12.12", default-features = false, features = ["json", "charset", "http2", "macos-system-configuration", "rustls-tls-native-roots", "rustls-tls-webpki-roots"] }
rivetkit-client-protocol.workspace = true
scc.workspace = true
serde = { version = "1.0", features = ["derive"] }
serde_bare.workspace = true
serde_cbor = "0.11.2"
serde_json = "1.0"
tokio = { version = "1", features = ["full"] }
tokio-tungstenite = { version = "0.26.1", features = ["rustls-tls-native-roots", "rustls-tls-webpki-roots", "handshake"] }
tracing = "0.1.41"
tracing-opentelemetry = { version = "0.29", default-features = false }
tungstenite = "0.26.2"
urlencoding = "2.1.3"
vbare = "0.0.5"
[dev-dependencies]
axum = { workspace = true, features = ["ws"] }
tracing-subscriber = { version = "0.3.19", features = ["env-filter", "std", "registry"]}
tempfile = "3.10.1"
tokio-test = "0.4.3"
fs_extra = "1.3.0"
portpicker = "0.1.1"