captchaforge 0.2.34

Automatic CAPTCHA detection and multi-strategy solving for chromiumoxide-driven headless browsers (Cloudflare Turnstile, reCAPTCHA v2/v3, hCaptcha, image grids, audio, sliders).
Documentation
//! Convenience re-exports for the most-used types.
//!
//! Bring everything an SDK consumer typically needs into scope with
//! a single glob import:
//!
//! ```rust
//! use captchaforge::prelude::*;
//! ```
//!
//! The prelude intentionally excludes:
//!
//! - **Trait implementations and internal types** that a typical
//!   consumer doesn't construct (`Detector`, `CaptchaProvider`,
//!   `ProviderRegistry`, `ChainConfig`, …) — import them from
//!   their home modules when you need them.
//! - **Helpers tied to a single module's contract** (e.g.
//!   `apply_default_warmup`, `evaluate_in_all_frames`,
//!   `escape_js_string`, …) — these stay namespaced so the calling
//!   code reads as `frame::evaluate_in_all_frames(…)`, which is
//!   easier to grep and tells the reader where to look.
//!
//! What lives here is the surface a 30-second hello-world would
//! reach for: detection, the chain, the SDK one-call helpers, the
//! `StealthProfile` enum, and the captured-cookie type.
//!
//! Adding to the prelude is a SemVer-minor change; removing is
//! SemVer-major. Be conservative.

// Top-level SDK helpers (re-exported from `crate::sdk` at crate root).
pub use crate::{
    auto_solve, auto_solve_with_retries, dismiss_chat_widget, dismiss_cookie_consent, prepare_page,
    recommended_chromium_args, solve_url, wait_for_no_captcha,
};

// Most-used types — also re-exported at the crate root.
pub use crate::{
    AudioCaptchaSolver, BehavioralCaptchaSolver, Capabilities, CaptchaSolveResult, CaptchaSolver,
    CaptchaSolverChain, CaptchaType, CapturedCookie, Config, OcrBackend, OcrCaptchaSolver,
    SolveMethod, StealthProfile, SttBackend, SttKind, TokenCache, VlmBackend, VlmCaptchaSolver,
};

// Detection — `detect`, `is_captcha`, and the `CaptchaInfo` /
// `DetectedCaptcha` shapes a consumer routinely matches on.
pub use crate::detect::{detect, is_captcha, CaptchaInfo, DetectedCaptcha};