[package]
name = "ulti-core"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
description = "Shared native glue for the Ulti suite: secure store, config, push, deep-link, share, contacts."
# Required by tauri-plugin's build script (permission code-gen).
links = "ulti-core"

[dependencies]
tauri = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
log = { workspace = true }
thiserror = "2"

[build-dependencies]
tauri-plugin = { workspace = true }

# Secure token storage. Cross-app SSO uses a shared service/keychain group so
# every suite app reads the same session (see secure_store.rs).
[target.'cfg(target_vendor = "apple")'.dependencies]
keyring = { version = "3", features = ["apple-native"] }

[target.'cfg(target_os = "windows")'.dependencies]
keyring = { version = "3", features = ["windows-native"] }

[target.'cfg(all(unix, not(target_vendor = "apple"), not(target_os = "android")))'.dependencies]
keyring = { version = "3", features = ["sync-secret-service"] }

# Inter-app / external URL opening on desktop dev. `cfg(desktop)` (set by the
# tauri-plugin build script for source) maps to "not a mobile OS" for Cargo.
[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
open = "5"
