pub fn extract_with_adaptive_retry<F>( chunk: &[PathBuf], extractor: &F, max_depth: usize, depth: usize, ) -> ChunkResultwhere F: Fn(&[PathBuf]) -> Result<ChunkResult, String> + Sync,