subduction_cli 0.5.0

CLI server for Subduction sync over WebSocket, HTTP long-poll, and Iroh (QUIC)
[package]
name = "subduction_cli"
version = "0.5.0"
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 }
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 }
reqwest = { workspace = true }
sedimentree_core = { workspace = true, features = ["std"] }
sedimentree_fs_storage = { workspace = true }
subduction_core = { workspace = true, features = ["std", "metrics"] }
subduction_crypto = { 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 }
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"] }
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",
]

[lints]
workspace = true