embeddenator_cli/commands/
extract.rs1use anyhow::Result;
4use embeddenator_fs::embrfs::EmbrFS;
5use embeddenator_vsa::ReversibleVSAConfig;
6use std::path::PathBuf;
7
8pub fn handle_extract(
9 engram: PathBuf,
10 manifest: PathBuf,
11 output_dir: PathBuf,
12 verbose: bool,
13) -> Result<()> {
14 if verbose {
15 println!(
16 "Embeddenator v{} - Holographic Extraction",
17 env!("CARGO_PKG_VERSION")
18 );
19 println!("======================================");
20 }
21
22 let engram_data = EmbrFS::load_engram(&engram)?;
23 let manifest_data = EmbrFS::load_manifest(&manifest)?;
24 let config = ReversibleVSAConfig::default();
25
26 EmbrFS::extract(&engram_data, &manifest_data, &output_dir, verbose, &config)?;
27
28 if verbose {
29 println!("\nExtraction complete!");
30 println!(" Output: {}", output_dir.display());
31 }
32
33 Ok(())
34}