diff --git a/Cargo.toml b/Cargo.toml index 3d6a969..05efa50 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,15 +3,15 @@ resolver = "3" members = [ - "core/sqlite", + "bin/chat-cli", "core/conversations", "core/crypto", "core/double-ratchets", - "core/storage", "core/integration_tests_core", - "crates/client", + "core/sqlite", + "core/storage", "crates/client-ffi", - "bin/chat-cli", + "crates/client", "extensions/components", ] @@ -27,12 +27,15 @@ default-members = [ ] [workspace.dependencies] - blake2 = "0.10" - crypto = { path = "core/crypto" } - libchat = { path = "core/conversations" } - logoschat_components = {package="components", path ="extensions/components"} - sqlite = { path = "core/sqlite"} - storage = { path = "core/storage" } +# Internal Workspace dependency declarations (sorted) +crypto = { path = "core/crypto" } +libchat = { path = "core/conversations" } +logoschat_components = {package = "components", path = "extensions/components"} +sqlite = { path = "core/sqlite" } +storage = { path = "core/storage" } + +# External Workspace dependency declarations (sorted) +blake2 = "0.10" # Panicking across FFI boundaries is UB; abort is the correct strategy for a # C FFI library. diff --git a/bin/chat-cli/Cargo.toml b/bin/chat-cli/Cargo.toml index 3cfd90b..efc9cf3 100644 --- a/bin/chat-cli/Cargo.toml +++ b/bin/chat-cli/Cargo.toml @@ -8,17 +8,17 @@ name = "chat-cli" path = "src/main.rs" [dependencies] -# Reference a specific commit so updates to the Core does not break examples -client = { git = "https://github.com/logos-messaging/libchat", rev = "39bf26756448dd16ddff89a6c0054f79236494aa" } - -ratatui = "0.29" -crossterm = "0.29" -clap = { version = "4", features = ["derive"] } +# External dependencies (sorted) anyhow = "1.0" -serde = { version = "1.0", features = ["derive"] } -serde_json = "1.0" arboard = "3" base64 = "0.22" +clap = { version = "4", features = ["derive"] } +# Reference a specific commit so updates to the Core does not break examples +client = { git = "https://github.com/logos-messaging/libchat", rev = "39bf26756448dd16ddff89a6c0054f79236494aa" } +crossterm = "0.29" +ratatui = "0.29" +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0" thiserror = "2" tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } diff --git a/core/conversations/Cargo.toml b/core/conversations/Cargo.toml index 512cfa6..42d1f91 100644 --- a/core/conversations/Cargo.toml +++ b/core/conversations/Cargo.toml @@ -7,23 +7,27 @@ edition = "2024" crate-type = ["rlib","staticlib"] [dependencies] +# Workspace dependencies (sorted) +blake2 = { workspace = true } + +# External dependencies (sorted) base64 = "0.22" -sqlite = { package = "chat-sqlite", path = "../sqlite" } -blake2.workspace = true chat-proto = { git = "https://github.com/logos-messaging/chat_proto" } crypto = { path = "../crypto" } double-ratchets = { path = "../double-ratchets" } hex = "0.4.3" -prost = "0.14.1" -rand_core = { version = "0.6" } -safer-ffi = "0.1.13" -thiserror = "2.0.17" -x25519-dalek = { version = "2.0.1", features = ["static_secrets", "reusable_secrets", "getrandom"] } -storage = { path = "../storage" } openmls = { version = "0.8.1", features = ["libcrux-provider"] } openmls_libcrux_crypto = "0.3.1" openmls_traits = "0.5.0" +prost = "0.14.1" +rand_core = { version = "0.6" } +safer-ffi = "0.1.13" +sqlite = { package = "chat-sqlite", path = "../sqlite" } +storage = { path = "../storage" } +thiserror = "2.0.17" +x25519-dalek = { version = "2.0.1", features = ["static_secrets", "reusable_secrets", "getrandom"] } [dev-dependencies] +# External dependencies (sorted) components = { package = "components", path = "../../extensions/components" } tempfile = "3" diff --git a/core/crypto/Cargo.toml b/core/crypto/Cargo.toml index 04100aa..91df0f9 100644 --- a/core/crypto/Cargo.toml +++ b/core/crypto/Cargo.toml @@ -4,12 +4,13 @@ version = "0.1.0" edition = "2024" [dependencies] -x25519-dalek = { version = "2.0.1", features = ["static_secrets"] } -hkdf = "0.12" -sha2 = "0.10" -rand_core = { version = "0.6", features = ["getrandom"] } +# External dependencies (sorted) ed25519-dalek = { version = "2.2.0", features = ["rand_core"] } -xeddsa = "1.0.2" -zeroize = {version = "1.8.2", features= ["derive"]} generic-array = "1.3.5" +hkdf = "0.12" +rand_core = { version = "0.6", features = ["getrandom"] } +sha2 = "0.10" thiserror = "2" +x25519-dalek = { version = "2.0.1", features = ["static_secrets"] } +xeddsa = "1.0.2" +zeroize = { version = "1.8.2", features = ["derive"] } diff --git a/core/double-ratchets/Cargo.toml b/core/double-ratchets/Cargo.toml index 4d9ea08..ce9da38 100644 --- a/core/double-ratchets/Cargo.toml +++ b/core/double-ratchets/Cargo.toml @@ -7,17 +7,21 @@ edition = "2024" crate-type = ["rlib", "cdylib"] [dependencies] -x25519-dalek = { version="2.0.1", features=["static_secrets"] } -chacha20poly1305 = "0.10.1" -rand_core = "0.6.4" -rand = "0.9.3" -hkdf = "0.12.4" -thiserror = "2" -blake2 = "0.10.6" -zeroize = "1.8.2" +# Workspace dependencies (sorted) storage = { workspace = true } + +# External dependencies (sorted) +blake2 = "0.10.6" +chacha20poly1305 = "0.10.1" +hkdf = "0.12.4" +rand = "0.9.3" +rand_core = "0.6.4" serde = "1.0" +thiserror = "2" +x25519-dalek = { version = "2.0.1", features = ["static_secrets"] } +zeroize = "1.8.2" [dev-dependencies] +# External dependencies (sorted) sqlite = { package = "chat-sqlite", path = "../sqlite" } tempfile = "3" diff --git a/core/integration_tests_core/Cargo.toml b/core/integration_tests_core/Cargo.toml index 34ff420..46fa3ae 100644 --- a/core/integration_tests_core/Cargo.toml +++ b/core/integration_tests_core/Cargo.toml @@ -7,9 +7,11 @@ edition = "2024" # name = "integration_tests_core" [dev-dependencies] +# Workspace dependencies (sorted) libchat = { workspace = true } storage = { workspace = true } -sqlite = {package = "chat-sqlite", path ="../sqlite"} +# External dependencies (sorted) components = { path = "../../extensions/components" } +sqlite = { package = "chat-sqlite", path = "../sqlite" } tempfile = "3" diff --git a/core/sqlite/Cargo.toml b/core/sqlite/Cargo.toml index bd0e3ee..3e1727a 100644 --- a/core/sqlite/Cargo.toml +++ b/core/sqlite/Cargo.toml @@ -5,11 +5,13 @@ edition = "2024" description = "SQLite storage implementation for libchat" [dependencies] +# External dependencies (sorted) crypto = { path = "../crypto" } hex = "0.4.3" +rusqlite = { version = "0.35", features = ["bundled-sqlcipher-vendored-openssl"] } storage = { path = "../storage" } zeroize = { version = "1.8.2", features = ["derive"] } -rusqlite = { version = "0.35", features = ["bundled-sqlcipher-vendored-openssl"] } [dev-dependencies] +# External dependencies (sorted) tempfile = "3" diff --git a/core/storage/Cargo.toml b/core/storage/Cargo.toml index b176087..7357d39 100644 --- a/core/storage/Cargo.toml +++ b/core/storage/Cargo.toml @@ -5,5 +5,6 @@ edition = "2024" description = "Shared storage layer for libchat" [dependencies] +# External dependencies (sorted) crypto = { path = "../crypto" } thiserror = "2" diff --git a/crates/client-ffi/Cargo.toml b/crates/client-ffi/Cargo.toml index 43d8014..ea52119 100644 --- a/crates/client-ffi/Cargo.toml +++ b/crates/client-ffi/Cargo.toml @@ -11,9 +11,12 @@ name = "generate-headers" required-features = ["headers"] [dependencies] -safer-ffi = "0.1.13" -client = { path = "../client" } +# Workspace dependencies (sorted) libchat = { workspace = true } +# External dependencies (sorted) +client = { path = "../client" } +safer-ffi = "0.1.13" + [features] headers = ["safer-ffi/headers"] diff --git a/crates/client/Cargo.toml b/crates/client/Cargo.toml index 7bec801..4dc08f6 100644 --- a/crates/client/Cargo.toml +++ b/crates/client/Cargo.toml @@ -7,10 +7,14 @@ edition = "2024" crate-type = ["rlib"] [dependencies] +# Workspace dependencies (sorted) libchat = { workspace = true } logoschat_components = { workspace = true} + +# External dependencies (sorted) chat-sqlite = { path = "../../core/sqlite" } thiserror = "2" [dev-dependencies] +# External dependencies (sorted) tempfile = "3" diff --git a/extensions/components/Cargo.toml b/extensions/components/Cargo.toml index 0be31bc..055fad2 100644 --- a/extensions/components/Cargo.toml +++ b/extensions/components/Cargo.toml @@ -4,8 +4,10 @@ version = "0.1.0" edition = "2024" [dependencies] +# Workspace dependencies (sorted) +crypto = { workspace = true } # Needed because Storage traits require "Identity" struct libchat = { workspace = true } storage = { workspace = true } -crypto = { workspace = true } # Needed because Storage traits require "Identity" struct -hex = "0.4.3" \ No newline at end of file +# External dependencies (sorted) +hex = "0.4.3"