use std::path::PathBuf; use crate::args::Config; #[derive(Debug, Clone)] pub struct CorpusCacheConfig { pub ingestion_cache_dir: PathBuf, pub force_refresh: bool, pub refresh_embeddings_only: bool, pub ingestion_batch_size: usize, pub ingestion_max_retries: usize, } impl CorpusCacheConfig { pub fn new( ingestion_cache_dir: impl Into, force_refresh: bool, refresh_embeddings_only: bool, ingestion_batch_size: usize, ingestion_max_retries: usize, ) -> Self { Self { ingestion_cache_dir: ingestion_cache_dir.into(), force_refresh, refresh_embeddings_only, ingestion_batch_size, ingestion_max_retries, } } } impl From<&Config> for CorpusCacheConfig { fn from(config: &Config) -> Self { CorpusCacheConfig::new( config.ingestion_cache_dir.clone(), config.force_convert || config.slice_reset_ingestion, config.refresh_embeddings_only, config.ingestion_batch_size, config.ingestion_max_retries, ) } }