agent_twitter_client/
error.rs

1use serde::Deserialize;
2use thiserror::Error;
3#[derive(Debug, Error, Deserialize)]
4pub enum TwitterError {
5    #[error("API error: {0}")]
6    Api(String),
7
8    #[error("Authentication error: {0}")]
9    Auth(String),
10
11    #[error("Network error: {0}")]
12    #[serde(skip)]
13    Network(#[from] reqwest::Error),
14
15    #[error("Rate limit exceeded")]
16    RateLimit,
17
18    #[error("Invalid response format: {0}")]
19    InvalidResponse(String),
20
21    #[error("Missing environment variable: {0}")]
22    EnvVar(String),
23
24    #[error("Cookie error: {0}")]
25    Cookie(String),
26
27    #[error("JSON error: {0}")]
28    #[serde(skip)]
29    Json(#[from] serde_json::Error),
30
31    #[error("IO error: {0}")]
32    #[serde(skip)]
33    Io(#[from] std::io::Error),
34}
35
36pub type Result<T> = std::result::Result<T, TwitterError>;