tarzi 0.2.3

Rust-native lite search for AI applications
Documentation
use thiserror::Error;

#[derive(Error, Debug)]
pub enum TarziError {
    #[error("IO error: {0}")]
    Io(#[from] std::io::Error),

    #[error("HTTP request error: {0}")]
    Http(#[from] reqwest::Error),

    #[error("URL parsing error: {0}")]
    Url(#[from] url::ParseError),

    #[error("JSON serialization error: {0}")]
    Json(#[from] serde_json::Error),

    #[error("YAML serialization error: {0}")]
    Yaml(#[from] serde_yaml::Error),

    #[error("Browser automation error: {0}")]
    Browser(String),

    #[error("Browser error: {0}")]
    BrowserError(String),

    #[error("Conversion error: {0}")]
    Conversion(String),

    #[error("Search error: {0}")]
    Search(String),

    #[error("Invalid format: {0}")]
    InvalidFormat(String),

    #[error("Invalid engine: {0}")]
    InvalidEngine(String),

    #[error("Configuration error: {0}")]
    Config(String),

    #[error("WebDriver error: {0}")]
    WebDriver(#[from] thirtyfour::error::WebDriverError),

    #[error("Driver error: {0}")]
    Driver(String),

    #[error("Driver not found: {0}")]
    DriverNotFound(String),

    #[error("Driver process error: {0}")]
    DriverProcess(String),

    #[error("Network error: {0}")]
    Network(String),

    #[error("Parse error: {0}")]
    Parse(String),
}

pub type Result<T> = std::result::Result<T, TarziError>;