[package]
name = "cloudillo-types"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
authors.workspace = true
description = "Shared types, adapter traits, and error types for the Cloudillo federated collaboration platform"
keywords = ["cloudillo", "types", "federation", "adapter", "traits"]
categories = ["web-programming", "data-structures"]
readme = "../../README.md"
[features]
default = []
server = [
"dep:hyper",
"dep:hyper-util",
"dep:image",
"dep:instant-acme",
"dep:jsonwebtoken",
"dep:pem",
"dep:rustls",
"dep:rustls-pki-types",
"dep:x509-parser",
]
[dependencies]
async-trait = "0.1.89"
axum = { version = "0.8.8", default-features = false, features = ["json"] }
base64 = "0.22.1"
chrono = "0.4"
flume = { version = "0.12.0", features = ["async"] }
futures = "0.3.32"
futures-core = "0.3.32"
rand = "0.10.0"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.149"
serde_with = "3.16.1"
sha2 = "0.10.9"
tokio = { version = "1.49.0", features = ["io-util", "rt"] }
tracing = "0.1.44"
hyper = { version = "1.8.1", optional = true }
hyper-util = { version = "0.1.20", features = ["client", "client-legacy", "http1", "http2"], optional = true }
image = { version = "0.25.9", optional = true }
instant-acme = { version = "0.8.4", optional = true }
jsonwebtoken = { version = "10.3.0", features = ["rust_crypto"], optional = true }
pem = { version = "3.0.6", optional = true }
rustls = { version = "0.23.36", optional = true }
rustls-pki-types = { version = "1.14.0", features = ["alloc"], optional = true }
x509-parser = { version = "0.18.1", optional = true }
[dev-dependencies]
serde_urlencoded = "0.7"