Files
VoiceStudio/frontend/src-tauri/Cargo.toml
T
Palash Debnath 04410a458d Release VoiceStudio 5.0.0 (#1487)
Complete the VoiceStudio identity, release documentation, assets, version mirrors, and safe cross-platform development startup.
2026-08-11 04:05:45 +00:00

99 lines
4.3 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[package]
# NOT renamed with the product (VoiceStudio). This is the BINARY name, and
# scripts/desktop-common.mjs keys its dev-vs-release distinction on it: the dev
# launcher's pkill matches `omnivoice-studio` and must never match a user's
# installed app. Renaming it would collapse that distinction.
name = "omnivoice-studio"
version = "5.0.0"
description = "VoiceStudio AI voice cloning & dubbing desktop app"
authors = ["Debpalash"]
license = "AGPL-3.0-only"
repository = ""
edition = "2021"
rust-version = "1.77.2"
[lib]
name = "app_lib"
crate-type = ["staticlib", "cdylib", "rlib"]
[build-dependencies]
tauri-build = { version = "2.6.0", features = [] }
[dependencies]
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
getrandom = "0.3"
log = "0.4"
tauri = { version = "2.11.0", features = ["macos-private-api", "protocol-asset", "tray-icon", "image-png"] }
tauri-plugin-log = "2"
tauri-plugin-dialog = "2"
tauri-plugin-window-state = "2.0.0"
tauri-plugin-updater = "2"
tauri-plugin-process = "2"
tauri-plugin-opener = "2"
tauri-plugin-global-shortcut = "2"
tauri-plugin-single-instance = "2"
# Bottom-center placement of the dictation pill/widget window. Replaces the
# hand-rolled primary-monitor geometry + LogicalPosition math. tray-icon
# feature enabled because the app ships a system tray (TrayIconBuilder).
tauri-plugin-positioner = { version = "2", features = ["tray-icon"] }
# Cross-platform keyboard simulation for auto-paste after dictation
enigo = { version = "0.3", features = ["serde"] }
# First-run bootstrap: on first launch the Rust setup hook installs `uv`
# via the official Astral installer script (curl|sh on Unix, irm|iex on
# Windows), creates a Python 3.11 venv, and runs `uv sync` against the
# bundled pyproject.toml — which installs torch, whisperx, etc.
# ureq is used for HTTP health checks and ffmpeg downloads.
ureq = "2"
# reqwest is used for GitHub Releases API calls (list_releases command).
reqwest = { version = "0.13", features = ["json"] }
# semver is used by the channel-aware updater (updater_channel.rs) to rank
# builds across the stable/preview channels (#326); same major as the
# `Version` type tauri-plugin-updater re-exports (already in the lockfile).
semver = "1"
# ── Rust IPC commands (cross-platform) ──
# get_sysinfo: CPU + RAM metrics without HTTP round-trip
sysinfo = { version = "0.33", default-features = false, features = ["system"] }
# hf_cache_scan: walk HF cache directory 3-5× faster than Python
walkdir = "2"
# First-run setup screen: per-path free-disk-space probe (statvfs /
# GetDiskFreeSpaceExW) for the minimum-storage install gate
fs4 = "0.13"
# Cross-platform home/config/data directories (config.rs, setup.rs)
dirs-next = "2"
# Native (OS-side) clipboard write for dictation auto-paste: the widget window
# is unfocused on macOS so the simulated ⌘V reaches the target app, which makes
# the WebView clipboard APIs fail silently there (#287)
arboard = "3"
[target.'cfg(windows)'.dependencies]
zip = { version = "2", default-features = false, features = ["deflate"] }
# WebView2 PermissionRequested handler: auto-grant media-capture for the
# app's own origin so getUserMedia() works in the dictation widget (#323).
# Versions match what wry already locks — no new native code is pulled in.
webview2-com = "0.38"
windows-core = "0.61"
# Raw HWND access (GetWindowLongPtrW/SetWindowLongPtrW/ShowWindow) to mark the
# dictation pill WS_EX_NOACTIVATE so showing it doesn't steal Win32 foreground
# activation (#982 — Windows counterpart of #287's macOS focus-steal fix).
# Version pinned to match what `tauri` itself already resolves to (0.61.x) so
# `WebviewWindow::hwnd()`'s return type and our syscalls share the exact same
# `HWND` type — no second copy of the crate enters the dependency graph.
# Win32_System_Registry: check_microphone reads the CapabilityAccessManager
# ConsentStore mic toggle (RegGetValueW) for the permissions UX.
windows = { version = "0.61", features = ["Win32_Foundation", "Win32_UI_WindowsAndMessaging", "Win32_System_Registry"] }
[target.'cfg(unix)'.dependencies]
libc = "0.2"
[target.'cfg(target_os = "linux")'.dependencies]
webkit2gtk = "2.0"
[dev-dependencies]
# Scoped-reset tests build real directory trees to prove the delete guard only
# ever removes paths inside a validated OmniVoice root.
tempfile = "3"