content: [workspace]
  members = [
      "crates/vault",
      "crates/cli",
      "crates/import-export",
      "crates/password-gen",
      "crates/ui",
      "crates/chamber",
      "crates/backup",
      "crates/api",
  ]
  resolver = "2"
  
  [workspace.package]
  version = "0.5.4"
  edition = "2024"
  rust-version = "1.85"
  authors = ["Mikko Leppänen <mleppan23@gmail.com>"]
  description = ""
  license = "MIT"
  readme = "README.md"
  homepage = "https://github.com/mikeleppane/visualvault"
  repository = "https://github.com/mikeleppane/visualvault"
  
  categories = ["command-line-utilities", "filesystem"]
  
  [workspace.dependencies]
  chamber-secret-manager-cli = { path = "crates/cli" }
  chamber-import-export = { path = "crates/import-export" }
  chamber-password-gen = { path = "crates/password-gen" }
  chamber-vault = { path = "crates/vault" }
  chamber-ui = { path = "crates/ui" }
  chamber-backup = { path = "crates/backup" }
  chamber-api = { path = "crates/api" }
  # Crypto dependencies
  argon2 = { version = "0.5.3", features = ["std"] }
  chacha20poly1305 = { version = "0.10.1", features = ["alloc", "std"] }
  color-eyre = "0.6.5"
  getrandom = { version = "0.3.3", features = ["std"] }
  hmac = "0.12.1"
  sha2 = "0.10.9"
  zeroize = { version = "1.8.1", features = ["derive", "serde"] }
  
  # Database
  rusqlite = { version = "0.37.0", features = ["bundled"] }
  
  
  # Serialization
  serde = { version = "1.0.219", features = ["derive"] }
  serde_json = "1.0.142"
  
  # Time handling
  time = { version = "0.3.41", features = [
      "formatting",
      "macros",
      "parsing",
      "serde",
  ] }
  chrono = { version = "0.4", features = ["serde"] }
  
  
  # CLI/UI dependencies
  clap = { version = "4.5.43", features = ["derive"] }
  crossterm = "0.29.0"
  ratatui = "0.29.0"
  rpassword = "7.4.0"
  tui-textarea = "0.7"
  
  # Utilities
  arboard = "3.6.0"
  dirs = "6.0.0"
  rand = "0.9.2"
  flate2 = "1.1.2"
  uuid = { version = "1.0", features = ["v4", "serde"] }
  criterion = { version = "0.7.0", features = ["html_reports"] }
  tempfile = "3.2"
  regex = "1.11.1"
  md5 = "0.8"
  
  # Web framework
  axum = "0.8"
  tokio = { version = "1.47", features = ["full"] }
  tower = "0.5"
  tower-http = { version = "0.6", features = ["cors", "trace", "fs"] }
  async-trait = "0.1.89"
  
  # Logging
  tracing = "0.1"
  tracing-subscriber = { version = "0.3", features = ["env-filter"] }
  
  # Security
  jsonwebtoken = "9"
  
  
  [profile.release]
  opt-level = 3
  debug = false
  lto = true
  codegen-units = 1
  panic = "abort"
  strip = true
  
  [profile.dev]
  opt-level = 0
  debug = false
  incremental = true
  codegen-units = 256
  
  [profile.dev.package."*"]
  opt-level = 3
  
  [profile.bench]
  inherits = "release"
  debug = true
  
  
  #[[bench]]
  #name = "organizer_benchmark"
  #harness = false
  
  #[[bench]]
  #name = "scanner_benchmark"
  #harness = false
  
  #[[bench]]
  #name = "duplicate_benchmark"
  #harness = false
  
  #[lib]
  #bench = false
  