[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