[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.ourworld.tf/herocode/sal" license = "Apache-2.0" keywords = ["system", "os", "abstraction", "platform", "filesystem"] categories = ["os", "filesystem", "api-bindings"] readme = "README.md" [dependencies] tera = "1.19.0" # Template engine for text rendering # Cross-platform functionality libc = "0.2" cfg-if = "1.0" thiserror = "1.0" # For error handling redis = "0.22.0" # Redis client postgres = "0.19.4" # PostgreSQL client tokio-postgres = "0.7.8" # Async PostgreSQL client postgres-types = "0.2.5" # PostgreSQL type conversions lazy_static = "1.4.0" # For lazy initialization of static variables regex = "1.8.1" # For regex pattern matching serde = { version = "1.0", features = [ "derive", ] } # For serialization/deserialization serde_json = "1.0" # For JSON handling glob = "0.3.1" # For file pattern matching tempfile = "3.5" # For temporary file operations log = "0.4" # Logging facade env_logger = "0.10.0" # Logger implementation rhai = { version = "1.12.0", features = ["sync"] } # Embedded scripting language rand = "0.8.5" # Random number generation clap = "2.33" # Command-line argument parsing r2d2 = "0.8.10" r2d2_postgres = "0.18.2" # Crypto dependencies base64 = "0.21.0" # Base64 encoding/decoding k256 = { version = "0.13.1", features = ["ecdsa"] } # Elliptic curve cryptography once_cell = "1.18.0" # Lazy static initialization sha2 = "0.10.7" # SHA-2 hash functions chacha20poly1305 = "0.10.1" # ChaCha20Poly1305 AEAD cipher ethers = { version = "2.0.7", features = ["legacy"] } # Ethereum library dirs = "5.0.1" # Directory paths tokio = { version = "1.28", features = ["full"] } uuid = { version = "1.16.0", features = ["v4"] } tokio-test = "0.4.4" # Optional features for specific OS functionality [target.'cfg(unix)'.dependencies] nix = "0.26" # Unix-specific functionality [target.'cfg(windows)'.dependencies] windows = { version = "0.48", features = [ "Win32_Foundation", "Win32_System_Threading", "Win32_Storage_FileSystem", ] } [dev-dependencies] tempfile = "3.5" # For tests that need temporary files/directories tokio = { version = "1.28", features = ["full", "test-util"] } # For async testing mockall = "0.11.4" # For mocking in tests [[bin]] name = "herodo" path = "src/bin/herodo.rs"