subduction_cli 0.14.2

CLI server for Subduction sync over WebSocket, HTTP long-poll, and Iroh (QUIC)
[package]
name = "subduction_cli"
version = "0.14.2"
description = "CLI server for Subduction sync over WebSocket, HTTP long-poll, and Iroh (QUIC)"

categories = ["command-line-utilities", "web-programming"]
keywords = ["subduction"]
readme = "./README.md"

authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true

[dependencies]
ahash = { workspace = true }
async-lock = { workspace = true }
async-tungstenite = { workspace = true }
axum = { workspace = true }
blake3 = { workspace = true }
clap = { workspace = true }
color-eyre = { workspace = true }
console-subscriber = { workspace = true, optional = true }
eyre = { workspace = true }
futures = { workspace = true }
future_form = { workspace = true }
futures-util = { workspace = true }
hex = { workspace = true }
http-body-util = { workspace = true }
hyper = { workspace = true, features = ["http1", "server"] }
hyper-util = { workspace = true, features = ["tokio", "http1", "server-auto"] }
iroh = { workspace = true }
metrics = { workspace = true }
metrics-exporter-prometheus = { workspace = true }
nonempty = { workspace = true, features = ["std"] }
reqwest = { workspace = true }
sedimentree_core = { workspace = true, features = ["std"] }
sedimentree_fs_storage = { workspace = true }
subduction_core = { workspace = true, features = ["system_time", "metrics"] }
subduction_ephemeral = { workspace = true, features = ["std"] }
subduction_crypto = { workspace = true }
subduction_keyhive = { workspace = true, features = ["serde"] }
subduction_keyhive_policy = { workspace = true }
subduction_http_longpoll = { workspace = true, features = ["server", "std"] }
subduction_iroh = { workspace = true }
subduction_websocket = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true, features = ["full", "tracing"] }
tokio-util = { workspace = true }
tracing = { workspace = true, default-features = true }
tracing-loki = { workspace = true, optional = true }
tracing-subscriber = { workspace = true, default-features = true, features = ["env-filter"] }
tungstenite = { workspace = true }
url = { workspace = true, features = ["std"] }

[dev-dependencies]
future_form = { workspace = true }
reqwest = { workspace = true, features = ["native-tls"] }
sedimentree_core = { workspace = true, features = ["std"] }
subduction_core = { workspace = true, features = ["std", "test_utils"] }
testresult = { workspace = true }
subduction_crypto = { workspace = true }
subduction_http_longpoll = { workspace = true, features = ["std", "native-tls"] }
subduction_websocket = { workspace = true, features = ["futures-timer"] }
tempfile = "3"
tokio = { workspace = true, features = ["full"] }

[features]
default = ["native-tls"]
native-tls = [
  "async-tungstenite/tokio-native-tls",
  "reqwest/native-tls",
  "subduction_http_longpoll/native-tls",
  "subduction_websocket/tokio_client",
  "subduction_websocket/tokio_server",
  "dep:tracing-loki",
]
rustls = [
  "async-tungstenite/tokio-rustls-native-certs",
  "reqwest/rustls-tls",
  "subduction_http_longpoll/rustls-tls",
  "subduction_websocket/tokio_client_rustls",
  "subduction_websocket/tokio_server_rustls",
]
# Compile in `console-subscriber`. Off by default; set `TOKIO_CONSOLE=1` at
# runtime when built with this feature to attach `tokio-console`.
tokio-console = ["dep:console-subscriber"]

[lints]
workspace = true