1use thiserror::Error;
4
5#[derive(Error, Debug)]
7pub enum ClaudeError {
8 #[error(
10 "Claude API key not found. Set CLAUDE_API_KEY or ANTHROPIC_API_KEY environment variable"
11 )]
12 ApiKeyNotFound,
13
14 #[error("Claude API request failed: {0}")]
16 ApiRequestFailed(String),
17
18 #[error("Invalid response format from Claude API: {0}")]
20 InvalidResponseFormat(String),
21
22 #[error("Failed to parse amendments from Claude response: {0}")]
24 AmendmentParsingFailed(String),
25
26 #[error("Rate limit exceeded. Please try again later")]
28 RateLimitExceeded,
29
30 #[error("Network error: {0}")]
32 NetworkError(String),
33}
34
35