[package] name = "synckit-client" version = "0.4.0" edition = "2024" description = "SyncKit client SDK with end-to-end encryption" license-file = "LICENSE" [features] default = ["keychain"] keychain = ["dep:keyring"] [dependencies] # Encryption chacha20poly1305 = "0.10" argon2 = "0.5" rand = "0.9" base64 = "0.22" zeroize = "1" # PKCE (OAuth2) challenge hashing sha2 = "0.10" # HTTP reqwest = { version = "0.12", features = ["json", "native-tls"] } bytes = "1" tokio = { version = "1", features = ["rt-multi-thread", "macros", "time"] } tokio-stream = "0.1" # Serialization serde = { version = "1", features = ["derive"] } serde_json = "1" chrono = { version = "0.4", features = ["serde"] } uuid = { version = "1", features = ["v4", "serde"] } # OS keychain (optional) keyring = { version = "3", optional = true, features = ["apple-native", "linux-native", "windows-native"] } # URL encoding urlencoding = "2" # Unicode unicode-normalization = "0.1" # Synchronization parking_lot = "0.12" # Error handling & logging thiserror = "2" tracing = "0.1" [dev-dependencies] wiremock = "0.6"