Skip to main content

car_multi/
error.rs

1//! Error types for multi-agent coordination.
2
3#[derive(Debug, thiserror::Error)]
4pub enum MultiError {
5    #[error("agent '{0}' failed: {1}")]
6    AgentFailed(String, String),
7
8    #[error("advisor exhausted: used {used} of {max_uses} allowed consultations")]
9    AdvisorExhausted { used: u32, max_uses: u32 },
10
11    #[error("mailbox send error: {0}")]
12    MailboxSend(String),
13
14    #[error("mailbox recv timeout for agent '{0}'")]
15    MailboxTimeout(String),
16
17    #[error("unknown specialist: '{0}'")]
18    UnknownSpecialist(String),
19
20    #[error("no agents produced output")]
21    NoOutput,
22
23    #[error("max rounds exceeded: {0}")]
24    MaxRoundsExceeded(u32),
25
26    #[error("coordination budget exhausted: {0}")]
27    BudgetExhausted(String),
28}