[workspace] members = [ "apps/api", "apps/desktop/src-tauri", "crates/application", "crates/client-integrations", "crates/crypto", "crates/desktop-daemon", "crates/device-auth", "crates/domain", "crates/infrastructure-db", ] resolver = "2" [workspace.package] edition = "2024" [workspace.dependencies] # Async runtime tokio = { version = "^1.50.0", features = ["rt-multi-thread", "macros", "fs", "io-util", "process", "signal"] } # Database sqlx = { version = "^0.8.6", features = ["runtime-tokio", "tls-rustls", "postgres", "sqlite", "uuid", "json", "chrono"] } # Serialization serde = { version = "^1.0.228", features = ["derive"] } serde_json = "^1.0.149" serde_yaml = "^0.9" toml = "^1.0.7" # Crypto aes-gcm = "^0.10.3" sha2 = "^0.10.9" rand = "^0.10.0" hex = "0.4" # Utils anyhow = "^1.0.102" thiserror = "^2" chrono = { version = "^0.4.44", features = ["serde"] } uuid = { version = "^1.22.0", features = ["serde", "v4"] } tracing = "^0.1" tracing-subscriber = { version = "^0.3", features = ["env-filter"] } dotenvy = "^0.15" # HTTP # system-proxy:与浏览器一致,读取 macOS/Windows 系统代理(禁用 default 后须显式开启,否则 OAuth 出站不走 Clash 等) reqwest = { version = "^0.12", default-features = false, features = ["rustls-tls", "json", "system-proxy"] } axum = "0.8" http = "1" url = "2" rmcp = { version = "1", features = ["server", "macros", "transport-streamable-http-server", "schemars"] } tauri = { version = "2", features = [] } tauri-build = { version = "2", features = [] }