-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCargo.toml
More file actions
79 lines (73 loc) · 3.04 KB
/
Copy pathCargo.toml
File metadata and controls
79 lines (73 loc) · 3.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
[package]
name = "tinychannels"
version = "0.1.0"
edition = "2024"
license = "GPL-3.0-only"
description = "Pluggable channel and messaging primitives for OpenHuman harness communication."
repository = "https://github.com/tinyhumansai/tinychannels"
readme = "README.md"
keywords = ["messaging", "channels", "openhuman", "harness"]
categories = ["asynchronous", "api-bindings"]
[features]
default = []
# Retained so downstreams that request it keep resolving; the relay WebSocket
# transport module is still gated on this cfg. `tokio-tungstenite` and
# `tokio/net` are now unconditional dependencies (the ported channel providers
# use them directly), so this feature no longer needs to pull them in.
relay-websocket = []
# WhatsApp Web (multi-device) provider — pulls the native whatsapp-rust stack.
# Off by default; the OpenHuman `whatsapp-web` feature forwards to this one.
whatsapp-web = [
"dep:whatsapp-rust",
"dep:whatsapp-rust-tokio-transport",
"dep:whatsapp-rust-ureq-http-client",
"dep:wacore",
"dep:serde-big-array",
]
[dependencies]
anyhow = "1"
async-trait = "0.1"
base64 = "0.22"
chrono = { version = "0.4", features = ["serde"] }
directories = "6"
futures = "0.3"
futures-util = { version = "0.3", default-features = false, features = ["sink", "std"] }
hex = "0.4"
hmac = "0.13"
parking_lot = "0.12"
prost = "0.14"
rand = "0.10"
reqwest = { version = "0.12", default-features = false, features = ["json", "multipart", "rustls-tls", "stream"] }
rusqlite = { version = "0.40", features = ["bundled"] }
rustls = { version = "0.23", features = ["ring"] }
rustls-pki-types = "1.14.0"
schemars = { version = "1", features = ["derive"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
sha1 = "0.10"
sha2 = "0.10"
thiserror = "2"
tokio = { version = "1", default-features = false, features = ["fs", "io-util", "macros", "net", "process", "rt", "sync", "time"] }
tokio-rustls = "0.26.4"
tokio-tungstenite = { version = "0.29", default-features = false, features = ["connect", "rustls-tls-webpki-roots"] }
tracing = "0.1"
url = "2"
urlencoding = "2.1"
uuid = { version = "1", features = ["v4"] }
webpki-roots = "1.0.6"
# Email channel (SMTP + IMAP).
async-imap = { version = "0.11", default-features = false, features = ["runtime-tokio"] }
lettre = { version = "0.11.22", default-features = false, features = ["builder", "smtp-transport", "rustls-tls"] }
mail-parser = "0.11.2"
# Lark/Feishu webhook (HTTP receive mode).
axum = { version = "0.8", default-features = false, features = ["http1", "json", "tokio", "query", "ws", "macros"] }
# WhatsApp Web provider (behind the `whatsapp-web` feature).
serde-big-array = { version = "0.5", optional = true }
whatsapp-rust = { version = "0.5", optional = true, default-features = false, features = ["tokio-runtime"] }
whatsapp-rust-tokio-transport = { version = "0.5", optional = true, default-features = false }
whatsapp-rust-ureq-http-client = { version = "0.5", optional = true }
wacore = { version = "0.5", optional = true, default-features = false }
[dev-dependencies]
tempfile = "3"
toml = "0.9"
wiremock = "0.6"