gb/Cargo.toml
Rodrigo Rodriguez (Pragmatismo) 03a03c3a3f
Some checks failed
BotServer CI / build (push) Failing after 11s
Fix rust-embed: enable interpolate-folder-path in workspace
- Enable interpolate-folder-path in workspace rust-embed dependency
- Required for RustEmbed to expand $CARGO_MANIFEST_DIR variable
2026-02-06 11:36:31 -03:00

267 lines
7 KiB
TOML

[workspace]
resolver = "2"
members = [
"botapp",
"botdevice",
"botlib",
"botserver",
"bottest",
"botui",
]
[workspace.lints.rust]
[workspace.lints.clippy]
# ═══════════════════════════════════════════════════════════════════════════════
# WORKSPACE DEPENDENCIES - Single source of truth for all member crates
# Member crates reference these with: dependency = { workspace = true }
# ═══════════════════════════════════════════════════════════════════════════════
[workspace.dependencies]
# ─── INTERNAL CRATES ───
botlib = { path = "botlib" }
# ─── CORE / ERROR HANDLING ───
anyhow = "1.0"
thiserror = "2.0"
log = "0.4"
env_logger = "0.11"
color-eyre = "0.6.5"
# ─── ASYNC RUNTIME ───
tokio = { version = "1.41", default-features = false }
tokio-stream = "0.1"
tokio-util = { version = "0.7", default-features = false }
tokio-rustls = "0.26"
tokio-test = "0.4"
tokio-tungstenite = { version = "0.24", default-features = false }
async-trait = "0.1"
async-lock = "2.8.0"
async-stream = "0.3"
futures = "0.3"
futures-util = { version = "0.3", default-features = false }
scopeguard = "1.2.0"
# ─── SERIALIZATION ───
serde = { version = "1.0", default-features = false }
serde_json = "1.0"
toml = "0.8"
ciborium = "0.2"
# ─── DATE / TIME ───
chrono = { version = "0.4", default-features = false }
time = { version = "0.3", default-features = false }
cron = "0.15.0"
# ─── UUID ───
uuid = { version = "1.11", default-features = false }
# ─── WEB FRAMEWORK ───
axum = { version = "0.7.5", features = ["ws", "multipart", "macros"] }
axum-server = { version = "0.8", features = ["tls-rustls"] }
tower = "0.4"
tower-http = { version = "0.6", default-features = false }
tower-cookies = "0.10"
hyper = { version = "1.4", default-features = false }
hyper-rustls = { version = "0.27", default-features = false }
hyper-util = { version = "0.1.19", default-features = false }
http-body-util = "0.1.3"
# ─── HTTP CLIENT ───
reqwest = { version = "0.12", default-features = false }
# ─── DATABASE ───
diesel = { version = "2.2" }
diesel_migrations = "2.2"
# ─── CACHING ───
redis = { version = "0.27", default-features = false }
# ─── SECURITY / CRYPTO ───
jsonwebtoken = "9.3"
base64 = "0.22"
aes-gcm = "0.10"
argon2 = "0.5"
hmac = "0.12.1"
sha2 = "0.10.9"
sha1 = "0.10.6"
hex = "0.4"
rand = "0.9.2"
ring = "0.17"
# ─── TLS / CERTIFICATES ───
rustls = { version = "0.23", default-features = false }
rcgen = { version = "0.14", default-features = false }
x509-parser = "0.15"
rustls-native-certs = "0.8"
webpki-roots = "0.25"
native-tls = "0.2"
# ─── REGEX / TEXT ───
regex = "1.11"
smartstring = "1.0.1"
urlencoding = "2.1"
url = "2.5"
# ─── FILESYSTEM ───
dirs = "5.0"
tempfile = "3"
walkdir = "2.5.0"
# ─── COMPRESSION / ARCHIVES ───
flate2 = "1.0"
zip = "2.2"
tar = "0.4"
# ─── DOCUMENT PROCESSING ───
docx-rs = "0.4"
ooxmlsdk = { version = "0.3", default-features = false }
calamine = "0.26"
spreadsheet-ods = "1.0"
pdf-extract = "0.10.0"
quick-xml = { version = "0.37", features = ["serialize"] }
rust_xlsxwriter = "0.77"
umya-spreadsheet = "2.1"
# ─── IMAGE / MEDIA ───
png = "0.18"
qrcode = { version = "0.14", default-features = false }
# ─── EMAIL ───
imap = "3.0.0-alpha.15"
lettre = { version = "0.11", features = ["smtp-transport", "builder"] }
mailparse = "0.15"
# ─── CONFIGURATION ───
dotenvy = "0.15"
figment = { version = "0.10", default-features = false }
once_cell = "1.18.0"
# ─── TRACING / LOGGING ───
tracing = "0.1"
tracing-subscriber = { version = "0.3", default-features = false }
# ─── NUMERIC ───
num-format = "0.4"
bigdecimal = { version = "0.4", features = ["serde"] }
# ─── UTILITIES ───
bytes = "1.8"
# ─── CLOUD / AWS ───
aws-config = { version = "1.8.8", default-features = false }
aws-sdk-s3 = { version = "1.120", default-features = false }
aws-smithy-async = { version = "1.2", features = ["rt-tokio"] }
# ─── SCRIPTING ───
rhai = { version = "1.23", features = ["sync"] }
# ─── VECTOR DB ───
qdrant-client = "1.16"
# ─── VIDEO / MEETINGS ───
livekit = "0.7"
# ─── SYSTEM MONITORING ───
sysinfo = "0.37.2"
# ─── CONSOLE / TUI ───
crossterm = "0.29.0"
ratatui = "0.30"
indicatif = "0.18.0"
# ─── MEMORY ALLOCATOR ───
tikv-jemallocator = "0.6"
tikv-jemalloc-ctl = { version = "0.6", default-features = false }
# ─── SECRETS / VAULT ───
vaultrs = "0.7"
# ─── CALENDAR / RSS ───
icalendar = "0.17"
rss = "2.0"
# ─── WEB SCRAPING ───
scraper = "0.25"
# ─── RATE LIMITING ───
governor = "0.10"
# ─── CSV ───
csv = "1.3"
# ─── GRPC ───
tonic = { version = "0.14.2", default-features = false }
# ─── STATIC FILES ───
rust-embed = { version = "8.5", features = ["interpolate-folder-path"] }
mime_guess = "2.0"
# ─── TAURI (Desktop/Mobile) ───
tauri = { version = "2", features = ["unstable"] }
tauri-build = "2"
tauri-plugin-dialog = "2"
tauri-plugin-opener = "2"
tauri-plugin-notification = "2"
tauri-plugin-http = "2"
tauri-plugin-geolocation = "2"
# ─── TESTING ───
mockito = "1.7.0"
wiremock = "0.6"
cookie = "0.18"
chromiumoxide = { version = "0.7", features = ["tokio-runtime"], default-features = false }
pretty_assertions = "1.4"
insta = { version = "1.40", features = ["json", "yaml"] }
# ─── PROCESS CONTROL ───
nix = { version = "0.29", features = ["signal", "process"] }
which = "7"
# ─── ANDROID ───
android_logger = "0.14"
# ─── VALIDATOR ───
validator = { version = "0.20", features = ["derive"] }
# ─── MISC ───
webbrowser = "0.8"
hostname = "0.4"
local-ip-address = "0.6.5"
image = "0.25"
libc = "0.2"
trayicon = "0.2"
# ═══════════════════════════════════════════════════════════════════════════════
# PROFILES
# ═══════════════════════════════════════════════════════════════════════════════
[profile.release]
lto = true
opt-level = "z"
strip = true
panic = "abort"
codegen-units = 1
[profile.ci]
inherits = "release"
lto = false
codegen-units = 8
debug = false
[profile.low-memory]
inherits = "release"
lto = "thin"
codegen-units = 16
debug = false
incremental = false
opt-level = "s"
[profile.dev]
debug = 1
incremental = true
codegen-units = 32
opt-level = 0