captchaforge 0.2.35

[DO NOT USE — UNDER ACTIVE DEVELOPMENT, NOT PRODUCTION-READY] Captcha solver scaffolding for chromiumoxide-driven browsers. The architecture is in place (vendor solvers, retry-loop iframe walking, VLM provider abstraction, real-WAF bench harness) but the live-vendor success rate is still 0% — Cloudflare Turnstile / hCaptcha / reCAPTCHA detect us at a TLS / CDP fingerprint layer that no flag-based stealth has cleared. Watch the repo; do not depend on this for any real workload.
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};