pub(crate) async fn pdf_history_save( pdfs: Vec<PdfFile>, roots: Option<Vec<String>>, ) -> Result<PdfScanSnapshot, String>