[package] name = "sal" version = "0.1.0" edition = "2021" authors = ["PlanetFirst "] description = "System Abstraction Layer - A library for easy interaction with operating system features" repository = "https://git.threefold.info/herocode/sal" license = "Apache-2.0" keywords = ["system", "os", "abstraction", "platform", "filesystem"] categories = ["os", "filesystem", "api-bindings"] readme = "README.md" [workspace] members = [".", "vault", "git", "redisclient", "mycelium", "text", "os", "net", "zinit_client", "process", "virt", "postgresclient", "rhai", "herodo"] resolver = "2" [workspace.metadata] # Workspace-level metadata rust-version = "1.70.0" [workspace.dependencies] # Core shared dependencies with consistent versions anyhow = "1.0.98" base64 = "0.22.1" dirs = "6.0.0" env_logger = "0.11.8" futures = "0.3.30" glob = "0.3.1" lazy_static = "1.4.0" libc = "0.2" log = "0.4" once_cell = "1.18.0" rand = "0.8.5" regex = "1.8.1" reqwest = { version = "0.12.15", features = ["json"] } rhai = { version = "1.12.0", features = ["sync"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" tempfile = "3.5" thiserror = "2.0.12" tokio = { version = "1.45.0", features = ["full"] } url = "2.4" uuid = { version = "1.16.0", features = ["v4"] } # Database dependencies postgres = "0.19.10" r2d2_postgres = "0.18.2" redis = "0.31.0" tokio-postgres = "0.7.13" # Crypto dependencies chacha20poly1305 = "0.10.1" k256 = { version = "0.13.4", features = ["ecdsa", "ecdh"] } sha2 = "0.10.7" hex = "0.4" # Ethereum dependencies ethers = { version = "2.0.7", features = ["legacy"] } # Platform-specific dependencies nix = "0.30.1" windows = { version = "0.61.1", features = [ "Win32_Foundation", "Win32_System_Threading", "Win32_Storage_FileSystem", ] } # Specialized dependencies zinit-client = "0.3.0" urlencoding = "2.1.3" tokio-test = "0.4.4" [dependencies] thiserror = "2.0.12" # For error handling in the main Error enum sal-git = { path = "git" } sal-redisclient = { path = "redisclient" } sal-mycelium = { path = "mycelium" } sal-text = { path = "text" } sal-os = { path = "os" } sal-net = { path = "net" } sal-zinit-client = { path = "zinit_client" } sal-process = { path = "process" } sal-virt = { path = "virt" } sal-postgresclient = { path = "postgresclient" } sal-vault = { path = "vault" } sal-rhai = { path = "rhai" }