# Standalone single-crate workspace: keeps this repo independent of any parent # Cargo workspace it might be checked out beneath. [workspace] [package] name = "chat-store" version = "0.1.0" edition = "2024" [[bin]] name = "chat-store" path = "src/main.rs" [dependencies] anyhow = "1.0" axum = "0.7" base64 = "0.22" # Wire schema for the delivery submissions, shared with libchat. Pinned to a rev # rather than a branch so the wire format can only change deliberately. chat-proto = { git = "https://github.com/logos-messaging/chat_proto", rev = "e05c21229a18bab655c9aec06409189447d24a6b" } clap = { version = "4", features = ["derive"] } ed25519-dalek = "2.2.0" hex = "0.4" # Embedded logos-delivery node for subscription-based ingestion. Links the # native liblogosdelivery, which this repo's flake builds: `nix develop` exports # LOGOS_DELIVERY_LIB_DIR, without which the binary fails at link. logos-delivery = { git = "https://github.com/logos-messaging/libchat", rev = "5c55c2ee76bebd1dbd5eb4bfa95d9e71acd0fa14" } prost = "0.14" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" # SQLite via sqlx with a bundled libsqlite3 — no sqlcipher/OpenSSL, no system libs. sqlx = { version = "0.8", default-features = false, features = [ "runtime-tokio", "sqlite", "macros", "migrate", ] } tokio = { version = "1", features = ["rt-multi-thread", "macros", "signal", "sync", "time"] } tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } [dev-dependencies] # `smoke_test` example only talks to a localhost HTTP server, so no TLS backend # (and no OpenSSL) is pulled in. reqwest = { version = "0.12", default-features = false, features = ["blocking", "json"] }