[package] name = "AlphaHuman" version = "0.30.0" description = "AlphaHuman - AI-powered Super Assistant" authors = ["AlphaHuman"] edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [lib] # The `_lib` suffix may seem redundant but it is necessary # to make the lib name unique and wouldn't conflict with the bin name. # This seems to be only an issue on Windows, see https://github.com/rust-lang/cargo/issues/8519 name = "tauri_app_lib" crate-type = ["staticlib", "cdylib", "rlib"] [build-dependencies] tauri-build = { version = "2", features = [] } [dependencies] # Tauri core and plugins tauri = { version = "2", features = ["tray-icon", "macos-private-api"] } tauri-plugin-opener = "2" tauri-plugin-deep-link = "2.0.0" tauri-plugin-os = "2" # tauri-plugin-autostart moved to desktop-only target section # tauri-plugin-notification moved to desktop-only target section # Serialization serde = { version = "1", features = ["derive"] } serde_json = "1" # HTTP client (rustls for cross-platform TLS support including Android) reqwest = { version = "0.12", default-features = false, features = ["json", "blocking", "rustls-tls"] } # Async runtime tokio = { version = "1", features = ["full", "sync"] } # keyring moved to desktop-only target section (not supported on Android/iOS) # Concurrency utilities once_cell = "1.19" parking_lot = "0.12" # Logging log = "0.4" env_logger = "0.11" # .env file loading dotenvy = "0.15" # AI module dependencies base64 = "0.22" aes-gcm = "0.10" argon2 = "0.5" rand = "0.8" dirs = "5" sha2 = "0.10" uuid = { version = "1", features = ["v4"] } # V8 JavaScript runtime moved to desktop-only (not available on Android/iOS) # WebSocket client for TDLib connections tokio-tungstenite = { version = "0.24", features = ["rustls-tls-webpki-roots"] } # HTTP streaming support for fetch polyfill futures = "0.3" # Embedded SQLite for skill databases rusqlite = { version = "0.31", features = ["bundled"] } # Date/time utilities chrono = { version = "0.4", features = ["serde"] } # Cron expression parsing for scheduled skill tasks cron = "0.12" # Persistent Socket.io client (Rust-native, survives app backgrounding) # Note: Using default native-tls on desktop, but we'll handle Android separately futures-util = "0.3" # Desktop/iOS use native-tls for Socket.io [target.'cfg(not(target_os = "android"))'.dependencies] rust_socketio = { version = "0.6", features = ["async"] } # Android uses a simpler approach - no persistent Socket.io (use web socket from frontend) [target.'cfg(target_os = "android")'.dependencies] # Android logging (routes Rust `log` crate to logcat) android_logger = "0.14" [target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies] keyring = "3" tauri-plugin-autostart = "2" tauri-plugin-notification = "2" # V8 JavaScript runtime (via deno_core - powers Deno) # Only available on desktop - prebuilt binaries don't exist for Android/iOS rquickjs = { version = "0.11", features = ["futures", "macro", "loader", "parallel"] } # TDLib Rust bindings (desktop only - downloads prebuilt TDLib library) tdlib-rs = { version = "1.2", features = ["download-tdlib"] } # Local LLM inference - desktop only (llama.cpp requires native C++ compilation) # Disable default features (including openmp) to avoid cross-compilation issues # on macOS where Homebrew installs ARM64-only OpenMP libraries llama-cpp-2 = { version = "0.1", default-features = false } encoding_rs = "0.8" [target.'cfg(not(any(target_os = "android", target_os = "ios")))'.build-dependencies] # TDLib build configuration tdlib-rs = { version = "1.2", features = ["download-tdlib"] } [features] # This feature is used for production builds or when a dev server is not specified, DO NOT REMOVE!! custom-protocol = ["tauri/custom-protocol"]