pub enum AgentError {
Show 15 variants
Llm(LlmError),
Channel(ChannelError),
Memory(MemoryError),
Skill(SkillError),
Tool(ToolError),
Io(Error),
SpawnBlocking(JoinError),
Shutdown,
ContextExhausted(String),
ToolTimeout {
tool_name: ToolName,
},
SchemaValidation(String),
OrchestrationError(OrchestrationFailure),
UnknownCommand(String),
SkillOperation(SkillOperationFailure),
ContextError(String),
}Expand description
Top-level error type for the agent loop.
All fallible agent operations return Result<T, AgentError>. Variants are kept
typed where the upstream error has a known shape; string-bearing variants only
exist where the upstream is a heterogeneous dyn Error that cannot be boxed
without breaking existing bounds.
Variants§
Llm(LlmError)
Channel(ChannelError)
Memory(MemoryError)
Skill(SkillError)
Tool(ToolError)
Io(Error)
SpawnBlocking(JoinError)
A tokio::task::spawn_blocking call failed to complete (task panicked or was cancelled).
Shutdown
Agent received a shutdown signal and exited the run loop cleanly.
ContextExhausted(String)
The context window was exhausted and could not be compacted further.
ToolTimeout
A tool call exceeded its configured timeout.
SchemaValidation(String)
Structured output did not conform to the expected JSON schema.
OrchestrationError(OrchestrationFailure)
An orchestration or DAG planning operation failed.
UnknownCommand(String)
An unknown slash command or subcommand was received.
SkillOperation(SkillOperationFailure)
Skill file operation failed (invalid name or skill not found).
ContextError(String)
Context assembly or index retrieval failed.
Implementations§
Source§impl AgentError
impl AgentError
Sourcepub fn is_context_length_error(&self) -> bool
pub fn is_context_length_error(&self) -> bool
Returns true if this error originates from a context length exceeded condition.
Sourcepub fn is_beta_header_rejected(&self) -> bool
pub fn is_beta_header_rejected(&self) -> bool
Returns true if this error indicates that a beta header was rejected by the API.
Sourcepub fn is_no_providers(&self) -> bool
pub fn is_no_providers(&self) -> bool
Returns true if this error is LlmError::NoProviders (all configured backends unavailable).
Trait Implementations§
Source§impl Debug for AgentError
impl Debug for AgentError
Source§impl Display for AgentError
impl Display for AgentError
Source§impl Error for AgentError
impl Error for AgentError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<AgentError> for CommandError
Convert AgentError to CommandError for the trait boundary.
impl From<AgentError> for CommandError
Convert AgentError to CommandError for the trait boundary.
Source§fn from(e: AgentError) -> Self
fn from(e: AgentError) -> Self
Source§impl From<ChannelError> for AgentError
impl From<ChannelError> for AgentError
Source§fn from(source: ChannelError) -> Self
fn from(source: ChannelError) -> Self
Source§impl From<Error> for AgentError
impl From<Error> for AgentError
Source§impl From<JoinError> for AgentError
impl From<JoinError> for AgentError
Source§impl From<LlmError> for AgentError
impl From<LlmError> for AgentError
Source§impl From<MemoryError> for AgentError
impl From<MemoryError> for AgentError
Source§fn from(source: MemoryError) -> Self
fn from(source: MemoryError) -> Self
Source§impl From<OrchestrationFailure> for AgentError
impl From<OrchestrationFailure> for AgentError
Source§fn from(source: OrchestrationFailure) -> Self
fn from(source: OrchestrationFailure) -> Self
Source§impl From<SkillError> for AgentError
impl From<SkillError> for AgentError
Source§fn from(source: SkillError) -> Self
fn from(source: SkillError) -> Self
Source§impl From<SkillOperationFailure> for AgentError
impl From<SkillOperationFailure> for AgentError
Source§fn from(source: SkillOperationFailure) -> Self
fn from(source: SkillOperationFailure) -> Self
Auto Trait Implementations§
impl Freeze for AgentError
impl !RefUnwindSafe for AgentError
impl Send for AgentError
impl Sync for AgentError
impl Unpin for AgentError
impl UnsafeUnpin for AgentError
impl !UnwindSafe for AgentError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.