vios_app 0.1.1

Small JSON vaults: Argon2id + AES-GCM, with optional AAD binding.
Documentation
use std::io::{self, Write};
use vios_core::vault::vault_loader::load_vault;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Prompt for .vault file path
    print!("Enter path to .vault file: ");
    io::stdout().flush()?;
    let mut path = String::new();
    io::stdin().read_line(&mut path)?;
    let path = path.trim();

    // Prompt for password
    print!("Enter password: ");
    io::stdout().flush()?;
    let password = rpassword::read_password()?; // Use rpassword for secure input

    // Load Vault
    let vault = load_vault(path, &password)?;

    // Extract memory content
    let metadata = vault.metadata;
    let content = vault.content;

    println!("\n🧠 Naorix remembers:\n\"{content}\"");
    if let Some(tone) = metadata.tone_classification {
        println!("Tone: {tone}");
    }
    if let Some(intent) = metadata.intent_classification {
        println!("Intent: {intent}");
    }
    if let Some(reem) = metadata.reem_code {
        println!("REEM Code: {reem}");
    }
    if let Some(cia) = metadata.cia_hash {
        println!("CIA Authorship: {cia}");
    }

    Ok(())
}