[package]
name = "cinchcli-core"
version = "0.1.8"
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description = "Shared client-side primitives for Cinch (cinchcli.com): generated wire DTOs, REST/WebSocket clients, AES-256-GCM + X25519 crypto, credential storage, local SQLite store, and sync helpers."
homepage = "https://cinchcli.com"
documentation = "https://docs.rs/cinchcli-core"
readme = "README.md"
keywords = ["cinch", "clipboard", "client", "websocket", "e2ee"]
categories = ["api-bindings", "command-line-utilities"]
rust-version = "1.75"
include = [
"src/**/*.rs",
"build.rs",
"Cargo.toml",
"README.md",
"LICENSE",
"proto/**/*.proto",
]
[lib]
name = "client_core"
path = "src/lib.rs"
[features]
specta = ["dep:specta"]
[dependencies]
prost = "0.13"
aes-gcm = { workspace = true }
x25519-dalek = { workspace = true }
hkdf = { workspace = true }
sha2 = { workspace = true }
base64 = { workspace = true }
hostname = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
dirs = { workspace = true }
ulid = { workspace = true }
url = { workspace = true }
specta = { version = "2.0.0-rc.24", features = ["derive"], optional = true }
reqwest = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true }
keyring = { version = "3", features = ["apple-native", "linux-native-sync-persistent", "windows-native"] }
tokio-tungstenite = { workspace = true }
futures-util = { workspace = true }
tracing = { workspace = true }
log = { workspace = true }
chrono = { workspace = true }
rusqlite = { version = "0.32", features = ["bundled"] }
fs2 = "0.4"
bip39 = { workspace = true }
[build-dependencies]
prost-build = "0.13"
[dev-dependencies]
wiremock = "0.6"
tempfile = "3"