Skip to main content

aether_cli/
error.rs

1use aether_auth::OAuthError;
2use std::io;
3use thiserror::Error;
4
5#[derive(Debug, Error)]
6pub enum CliError {
7    #[error("No prompt provided. Pass a prompt as an argument or pipe via stdin.")]
8    NoPrompt,
9    #[error("{0}")]
10    ConflictingArgs(String),
11    #[error("Invalid --options-json: {0}")]
12    InvalidOptionsJson(#[source] serde_json::Error),
13    #[error(transparent)]
14    ConflictingSettingsSources(#[from] crate::settings_args::ConflictingSettingsSources),
15    #[error("Model error: {0}")]
16    ModelError(String),
17    #[error("MCP error: {0}")]
18    McpError(String),
19    #[error("IO error: {0}")]
20    IoError(#[from] io::Error),
21    #[error("Agent error: {0}")]
22    AgentError(String),
23    #[error("Credential store error: {0}")]
24    CredentialStore(#[from] OAuthError),
25}