[package]
name = "affinidi-messaging-sdk"
version = "0.18.4"
description = "Affinidi Messaging SDK"
edition.workspace = true
authors.workspace = true
homepage.workspace = true
keywords.workspace = true
publish.workspace = true
license.workspace = true
readme = "README.md"
rust-version.workspace = true
repository.workspace = true

[dependencies]
# Affinidi Crates
affinidi-tdk-common = "0.6"
affinidi-messaging-didcomm = { path = "../affinidi-messaging-didcomm", version = "0.14" }
## Source of truth for the mediator protocol vocabulary (ACLs, accounts,
## message types, problem reports). The SDK re-exports these so existing
## call sites continue to resolve their old paths.
affinidi-messaging-mediator-common = { path = "../affinidi-messaging-mediator/affinidi-messaging-mediator-common", version = "0.15", default-features = false }
affinidi-did-authentication = "0.3"
affinidi-did-common = "0.3"
affinidi-encoding = "0.1"
affinidi-secrets-resolver = "0.5"

# External Crates
ahash = { version = "0.8", features = ["serde"] }
base64 = "0.22"
futures-util = "0.3"
regex = "1"
rustls = { version = "0.23", default-features = false, features = [
  "aws_lc_rs",
  "tls12",
] }
rustls-pemfile = "2"
serde = { version = "1", features = ["derive", "rc"] }
serde_json = "1"
sha256 = "1"
thiserror = "2"
tokio = { workspace = true, features = ["rt", "macros", "sync", "time"] }
tokio-tungstenite = { version = "0.29", features = ["rustls-tls-native-roots"] }
tracing = { version = "0.1", features = ["valuable"] }
uuid = { version = "1", features = ["v4", "fast-rng"] }

[dev-dependencies]
clap = { version = "4", features = ["derive"] }
console = "0.16"
dialoguer = "0.12"
rand = "0.10"
rcgen = { version = "0.14", default-features = false, features = [
  "aws_lc_rs",
  "pem",
] }
regex = "1"
ring = { version = "0.17", features = ["std"] }
time = "0.3"
