#![forbid(unsafe_code)]
pub mod change;
pub mod crawl;
pub mod discovery;
pub mod engine;
pub mod notice;
pub mod scripts;
pub use pagesift_frontier::{focus, frontier};
pub use pagesift_plan::learn;
pub use pagesift_sink::audit;
use pagesift_api::types::{Document, ScrapeOptions};
use pagesift_api::{ApiError, BoxFuture};
use pagesift_policy::RobotsMode;
pub trait PageRunner: Send + Sync {
fn run<'a>(
&'a self,
kind: &'static str,
url: &'a str,
opts: &'a ScrapeOptions,
mode: RobotsMode,
) -> BoxFuture<'a, Result<Document, ApiError>>;
fn capacity(&self) -> Option<usize> {
None
}
}
pub use crawl::normalize as normalize_url;
pub use engine::{
AUTO_RENDER_ARTICLE_MIN_CHARS, AUTO_RENDER_MIN_CHARS, EngineProbe, InteractLimits, Scraper,
ScraperBuilder, ScraperConfig, ScraperError, needs_render, office_markdown,
office_markdown_from, set_cpu_capacity, set_cpu_groups, text_weight,
};