1use crate::cli::error::CliError;
2use crate::config::error::ConfigError;
3use crate::connection::ConnectionError;
4use crate::daemon::error::DaemonError;
5use crate::envd::error::EnvDaemonError;
6use crate::protocol::ProtocolError;
7use crate::sim::error::{ProjectError, SimError, TimeError};
8use thiserror::Error;
9
10#[derive(Debug, Error)]
11pub enum AgentSimError {
12 #[error(transparent)]
13 Cli(#[from] CliError),
14 #[error(transparent)]
15 Config(#[from] ConfigError),
16 #[error(transparent)]
17 Connection(#[from] ConnectionError),
18 #[error(transparent)]
19 Daemon(#[from] DaemonError),
20 #[error(transparent)]
21 EnvDaemon(#[from] EnvDaemonError),
22 #[error(transparent)]
23 Protocol(#[from] ProtocolError),
24 #[error(transparent)]
25 Project(#[from] ProjectError),
26 #[error(transparent)]
27 Sim(#[from] SimError),
28 #[error(transparent)]
29 Time(#[from] TimeError),
30 #[error(transparent)]
31 Io(#[from] std::io::Error),
32}