[package]
edition = "2021"
name = "m4a-agent"
version = "0.4.8"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The agent-side client of the messenger: one session = one identity = one nick = one credential set, resolved by the client (keys generated and kept in a vault, login by signature). Tiers behind cargo features."
readme = false
license = "MIT"
repository = "https://github.com/ZENG3LD/mail4agent"
[features]
bridge-loopback = ["bridges"]
bridges = []
default = ["full"]
engine = [
"dep:mail4agent-messenger",
"dep:tungstenite",
"dep:reqwest",
]
full = [
"tier-server",
"tier-matrix",
"engine",
"vault-keychain",
"vault-backup",
"bridges",
]
tier-matrix = ["dep:reqwest"]
tier-server = ["dep:reqwest"]
vault-backup = ["dep:argon2"]
vault-keychain = ["dep:keyring"]
[lib]
name = "m4a_agent"
path = "src/lib.rs"
[[test]]
name = "engine_http"
path = "tests/engine_http.rs"
[dependencies.aes-gcm]
version = "0.10"
[dependencies.argon2]
version = "0.5"
optional = true
[dependencies.base64]
version = "0.22"
[dependencies.ed25519-dalek]
version = "2"
features = [
"std",
"rand_core",
"zeroize",
]
[dependencies.keyring]
version = "3"
features = [
"apple-native",
"windows-native",
"sync-secret-service",
"vendored",
]
optional = true
default-features = false
[dependencies.m4a-seam]
version = "=0.4.8"
[dependencies.mail4agent-messenger]
version = "=0.4.8"
optional = true
[dependencies.rand]
version = "0.8"
[dependencies.reqwest]
version = "0.12"
features = [
"blocking",
"json",
"rustls-tls",
]
optional = true
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.10"
[dependencies.tungstenite]
version = "0.29"
features = [
"handshake",
"rustls-tls-webpki-roots",
]
optional = true
default-features = false
[dependencies.zeroize]
version = "1"
[dev-dependencies.tempfile]
version = "3"