[package]
edition = "2021"
name = "plexus-comms"
version = "0.1.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Communication integrations for Plexus RPC - email, SMS, messaging platforms"
readme = "README.md"
license = "AGPL-3.0-only"
[features]
all-providers = [
"email-smtp",
"email-sendgrid",
"email-ses",
"email-mailgun",
"email-postmark",
"sms-twilio",
"sms-sns",
"sms-vonage",
"sms-messagebird",
"push-apns",
"push-fcm",
"push-webpush",
"telegram",
"whatsapp",
"slack",
"discord",
]
default = [
"email-smtp",
"email-imap",
]
discord = ["serenity"]
email-imap = [
"async-imap",
"async-native-tls",
]
email-mailgun = []
email-postmark = []
email-sendgrid = []
email-ses = ["aws-sdk-sesv2"]
email-smtp = ["lettre"]
push-apns = ["a2"]
push-fcm = []
push-webpush = []
slack = []
sms-messagebird = []
sms-sns = ["aws-sdk-sns"]
sms-twilio = []
sms-vonage = []
telegram = ["teloxide"]
whatsapp = []
[lib]
name = "plexus_comms"
path = "src/lib.rs"
[[bin]]
name = "plexus-comms"
path = "src/main.rs"
[dependencies.a2]
version = "0.10"
optional = true
[dependencies.anyhow]
version = "1.0"
[dependencies.async-imap]
version = "0.9"
optional = true
[dependencies.async-native-tls]
version = "0.5"
optional = true
[dependencies.async-stream]
version = "0.3"
[dependencies.async-trait]
version = "0.1"
[dependencies.aws-sdk-sesv2]
version = "1.0"
optional = true
[dependencies.aws-sdk-sns]
version = "1.0"
optional = true
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.futures]
version = "0.3"
[dependencies.futures-util]
version = "0.3"
[dependencies.handlebars]
version = "6.0"
[dependencies.jsonrpsee]
version = "0.26"
features = [
"server",
"client",
"ws-client",
"macros",
]
[dependencies.lettre]
version = "0.11"
features = [
"tokio1-rustls-tls",
"builder",
"smtp-transport",
]
optional = true
default-features = false
[dependencies.plexus-core]
version = "0.3"
[dependencies.plexus-macros]
version = "0.3"
[dependencies.plexus-transport]
version = "0.1"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
default-features = false
[dependencies.schemars]
version = "1.1"
features = [
"derive",
"uuid1",
]
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.serenity]
version = "0.12"
optional = true
[dependencies.sqlx]
version = "0.8"
features = [
"runtime-tokio-rustls",
"sqlite",
"chrono",
]
[dependencies.teloxide]
version = "0.13"
features = ["macros"]
optional = true
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1.0"
features = ["full"]
[dependencies.tokio-stream]
version = "0.1"
[dependencies.tokio-tungstenite]
version = "0.23"
features = ["native-tls"]
[dependencies.tokio-util]
version = "0.7"
features = ["compat"]
[dependencies.toml]
version = "0.8"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"fmt",
"tracing-log",
]
[dependencies.uuid]
version = "1.6"
features = [
"v4",
"serde",
]
[dev-dependencies.mockito]
version = "1.0"
[dev-dependencies.tokio-test]
version = "0.4"