solid-pod-rs-activitypub 0.4.0-alpha.4

ActivityPub Actor, inbox, outbox, HTTP Signatures, NodeInfo 2.1 for solid-pod-rs (JSS src/ap parity)
Documentation
[package]
name = "solid-pod-rs-activitypub"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
rust-version.workspace = true
description = "ActivityPub Actor, inbox, outbox, HTTP Signatures, NodeInfo 2.1 for solid-pod-rs (JSS src/ap parity)"
keywords = ["solid", "activitypub", "federation", "http-signatures", "nodeinfo"]
categories = ["web-programming::http-server"]
readme = "README.md"

[dependencies]
solid-pod-rs = { version = "0.4.0-alpha.4", path = "../solid-pod-rs", default-features = false, features = ["tokio-runtime"] }

tokio = { version = "1", features = ["rt", "macros", "sync", "time", "fs"] }
async-trait = "0.1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
chrono = { version = "0.4", features = ["serde"] }
url = "2"
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
thiserror = "1"
tracing = "0.1"

# SQLite persistence for followers/following/inbox/outbox/delivery_queue.
# Match workspace version of rusqlite via sqlx's bundled backend to avoid
# pulling a second native SQLite symbol set.
sqlx = { version = "0.8", features = ["runtime-tokio-rustls", "sqlite", "chrono", "json"] }

# HTTP Signatures (draft-cavage v12 + RFC 9421 superset) — AP
# federation uses RSA-SHA256 signatures over the Digest/Signature header
# set; core `notifications::signing` is Ed25519 only, so this crate
# carries its own impl.
rsa = { version = "0.9", features = ["sha2", "pem"] }
sha2 = "0.10"
base64 = "0.22"
httpdate = "1"
rand = "0.8"

uuid = { version = "1", features = ["v4", "serde"] }

[dev-dependencies]
tokio = { version = "1", features = ["full"] }
tempfile = "3"
wiremock = "0.6"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }