[package]
name = "wrkflw-secrets"
version = "0.7.3"
edition.workspace = true
description = "Secrets management for wrkflw workflow execution engine"
license.workspace = true
documentation.workspace = true
homepage.workspace = true
repository.workspace = true
keywords.workspace = true
categories.workspace = true

[dependencies]
# External dependencies
serde.workspace = true
serde_json.workspace = true
serde_yaml.workspace = true
tokio.workspace = true
thiserror.workspace = true
dirs.workspace = true
regex.workspace = true
lazy_static.workspace = true
chrono = { workspace = true, features = ["serde"] }
async-trait.workspace = true

# Dependencies not in workspace
anyhow = "1.0"
base64 = "0.21"
aes-gcm = "0.10"
rand = "0.8"
tracing = "0.1"
url = "2.4"
pbkdf2 = "0.12"
hmac = "0.12"
sha2 = "0.10"

# Optional dependencies for different secret providers (commented out for compatibility)
# reqwest = { version = "0.11", features = ["json"], optional = true }
# aws-sdk-secretsmanager = { version = "1.0", optional = true }
# azure_security_keyvault = { version = "0.16", optional = true }

[features]
default = ["env-provider", "file-provider"]
env-provider = []
file-provider = []
# Cloud provider features are planned for future implementation
# vault-provider = ["reqwest"]
# aws-provider = ["aws-sdk-secretsmanager", "reqwest"]
# azure-provider = ["azure_security_keyvault", "reqwest"]
# gcp-provider = ["reqwest"]
# all-providers = ["vault-provider", "aws-provider", "azure-provider", "gcp-provider"]

[dev-dependencies]
tempfile.workspace = true
tokio-test = "0.4"
uuid.workspace = true
criterion = { version = "0.5", features = ["html_reports"] }

[[bench]]
name = "masking_bench"
harness = false
