[package]
name = "actr-hyper"
version = "0.3.1"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
description = "Hyper — Actor platform infrastructure: sandbox, transport, scheduler, WASM engine, signing, AIS bootstrap, persistence & crypto primitives"
keywords = ["actor", "sandbox", "webassembly", "transport", "platform"]
categories = ["asynchronous", "cryptography", "network-programming"]
[lints]
workspace = true
[features]
default = []
wasm-engine = ["dep:wasmtime", "dep:wasmtime-wasi"]
dynclib-engine = ["dep:libloading"]
opentelemetry = [
"actr-config/opentelemetry",
"dep:opentelemetry",
"dep:opentelemetry-otlp",
"dep:opentelemetry_sdk",
"dep:tracing-opentelemetry",
]
test-utils = ["dep:actr-mock-actrix", "dep:webrtc-util"]
[dependencies]
actr-protocol.workspace = true
actr-runtime.workspace = true
actr-framework.workspace = true
actr-platform-traits.workspace = true
actr-config = { workspace = true, optional = true }
tokio = { version = "1.48", default-features = false, features = ["sync", "macros"] }
async-trait.workspace = true
futures-util.workspace = true
serde.workspace = true
serde_json.workspace = true
prost.workspace = true
prost-types.workspace = true
bytes.workspace = true
toml.workspace = true
uuid = { version = "1.18", features = ["v4", "serde"] }
thiserror.workspace = true
anyhow.workspace = true
tracing.workspace = true
chrono.workspace = true
base64.workspace = true
hex = "0.4"
opentelemetry = { workspace = true, optional = true }
opentelemetry-otlp = { workspace = true, optional = true }
opentelemetry_sdk = { workspace = true, optional = true }
tracing-opentelemetry = { workspace = true, optional = true }
[target.'cfg(target_arch = "wasm32")'.dependencies]
uuid = { version = "1.18", features = ["v4", "serde", "js"] }
getrandom = { version = "0.2", features = ["js"] }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
actr-config = { workspace = true }
actr-runtime-mailbox.workspace = true
actr-service-compat.workspace = true
actr-pack.workspace = true
zip = { version = "2", default-features = false, features = ["deflate"] }
rusqlite = { workspace = true }
tokio = { version = "1.48", features = ["full"] }
tokio-stream = { version = "0.1", features = ["sync"] }
tokio-util = { version = "0.7", features = ["full"] }
ed25519-dalek.workspace = true
sha2.workspace = true
rand.workspace = true
webrtc.workspace = true
tokio-tungstenite.workspace = true
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls-native-roots", "json"] }
url.workspace = true
tracing-subscriber.workspace = true
tempfile.workspace = true
pwrzv.workspace = true
crossbeam.workspace = true
dashmap.workspace = true
dotenvy = "0.15"
either = "1.15"
num_cpus = "1.17"
actr-mock-actrix = { workspace = true, optional = true }
webrtc-util = { version = "0.12", optional = true }
wasmtime = { workspace = true, optional = true }
wasmtime-wasi = { workspace = true, optional = true }
libloading = { version = "0.8", optional = true }
[dev-dependencies]
tokio = { workspace = true }
rand.workspace = true
mockito = "1.4"
wat = "1"
prost.workspace = true
tempfile.workspace = true
tokio-test = "0.4"
webrtc-ice = "0.14"
actr-pack.workspace = true
actr-hyper = { path = ".", features = ["test-utils"] }
actr-framework = { workspace = true, features = ["test-utils"] }