chat-store/Cargo.toml
2026-07-27 13:03:35 +08:00

46 lines
1.7 KiB
TOML

# 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"] }