Cargo.toml
Rama main · réplica de lectura del repositorio original.
[workspace]
resolver = "3"
members = [
"crates/protocol",
"crates/storage-sqlite",
"core",
"core/web",
"core/ffi",
"server",
"cli",
]
default-members = ["server", "cli"]
[workspace.package]
edition = "2024"
version = "0.0.1-alpha.15"
license = "AGPL-3.0-or-later"
[workspace.dependencies]
# protocol / serialization
serde = { version = "1", features = ["derive"] }
serde_bytes = "0.11"
serde_json = "1"
base64 = "0.22"
rmp-serde = "1"
toml = "1"
# async runtime + http
tokio = { version = "1", features = ["full"] }
axum = { version = "0.8", features = ["ws"] }
tower = "0.5"
tower-http = { version = "0.7", features = ["cors", "trace"] }
# `rustls` (0.13 renamed `rustls-tls`) means rustls + aws-lc-rs as the crypto
# provider + the OS trust store via rustls-platform-verifier. aws-lc-rs is a C
# build; verified to compile for aarch64-apple-ios (core/ffi embeds the CLI).
reqwest = { version = "0.13", default-features = false, features = ["rustls"] }
# storage
# rusqlite tracks the version tokio-rusqlite pins (0.8 -> rusqlite 0.40); a
# newer rusqlite here means two libsqlite3-sys and a `links` conflict.
rusqlite = { version = "0.40", features = ["bundled", "blob"] }
tokio-rusqlite = "0.8"
# crypto
argon2 = "0.6"
chacha20poly1305 = "0.11"
hkdf = "0.13"
sha2 = "0.11"
rand = "0.10"
zeroize = { version = "1", features = ["derive"] }
# utils
uuid = { version = "1", features = ["v4", "v7", "serde"] }
bip39 = "3"
clap = { version = "4", features = ["derive"] }
dirs = "7"
dialoguer = "0.12"
hex = "0.4"
thiserror = "2"
anyhow = "1"
bytes = "1"
loro = "1.16"
# observability
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
[profile.release]
lto = "thin"
codegen-units = 1