pub enum PromptError {
CompletionError(CompletionError),
ToolError(ToolSetError),
ToolServerError(Box<ToolServerError>),
MaxTurnsError {
max_turns: usize,
chat_history: Box<Vec<Message>>,
prompt: Box<Message>,
},
PromptCancelled {
chat_history: Vec<Message>,
reason: String,
},
UnknownToolCall {
tool_name: String,
available_tools: Vec<String>,
allowed_tools: Vec<String>,
chat_history: Box<Vec<Message>>,
},
}Expand description
Errors from agent prompting.
When the failure wraps CompletionError, Self::provider_response_body,
Self::provider_response_json, and Self::provider_response_status forward
to the inner completion error’s helpers.
Variants§
CompletionError(CompletionError)
Something went wrong with the completion
ToolError(ToolSetError)
There was an error while using a tool
ToolServerError(Box<ToolServerError>)
There was an issue while executing a tool on a tool server
MaxTurnsError
The run exhausted its total model-call budget. The budget includes the
initial call and every retry or continuation; increase .max_turns() if
the intended interaction requires more calls.
PromptCancelled
A prompting loop was cancelled.
UnknownToolCall
The model emitted a structured tool call for a tool Rig did not allow for the current turn.
Implementations§
Source§impl PromptError
impl PromptError
Sourcepub fn provider_response_body(&self) -> Option<&str>
pub fn provider_response_body(&self) -> Option<&str>
Returns the provider response body when this wraps a completion error that exposes one.
Sourcepub fn provider_response_json(&self) -> Result<Option<Value>, Error>
pub fn provider_response_json(&self) -> Result<Option<Value>, Error>
Parses the provider response body as JSON when available through a wrapped completion error.
Returns:
Ok(Some(value))when a body is present and valid JSON.Ok(None)when no provider response body is available.Err(error)when a body is present but isn’t valid JSON.
Sourcepub fn provider_response_status(&self) -> Option<StatusCode>
pub fn provider_response_status(&self) -> Option<StatusCode>
Returns the HTTP status when this wraps a completion error that preserves one, including from non-success HTTP responses and 2xx error envelopes.
Trait Implementations§
Source§impl Debug for PromptError
impl Debug for PromptError
Source§impl Display for PromptError
impl Display for PromptError
Source§impl Error for PromptError
impl Error for PromptError
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<Box<PromptError>> for StreamingError
impl From<Box<PromptError>> for StreamingError
Source§fn from(source: Box<PromptError>) -> Self
fn from(source: Box<PromptError>) -> Self
Source§impl From<Box<PromptError>> for StructuredOutputError
impl From<Box<PromptError>> for StructuredOutputError
Source§fn from(source: Box<PromptError>) -> Self
fn from(source: Box<PromptError>) -> Self
Source§impl From<Box<ToolServerError>> for PromptError
impl From<Box<ToolServerError>> for PromptError
Source§fn from(source: Box<ToolServerError>) -> Self
fn from(source: Box<ToolServerError>) -> Self
Source§impl From<CompletionError> for PromptError
impl From<CompletionError> for PromptError
Source§fn from(source: CompletionError) -> Self
fn from(source: CompletionError) -> Self
Source§impl From<MemoryError> for PromptError
Surface crate::memory::ConversationMemory failures through the existing
CompletionError::RequestError variant so adding memory support does not
require a new top-level PromptError arm in downstream exhaustive matchers.
impl From<MemoryError> for PromptError
Surface crate::memory::ConversationMemory failures through the existing
CompletionError::RequestError variant so adding memory support does not
require a new top-level PromptError arm in downstream exhaustive matchers.
Source§fn from(err: MemoryError) -> Self
fn from(err: MemoryError) -> Self
Source§impl From<ToolSetError> for PromptError
impl From<ToolSetError> for PromptError
Source§fn from(source: ToolSetError) -> Self
fn from(source: ToolSetError) -> Self
Auto Trait Implementations§
impl !Freeze for PromptError
impl !RefUnwindSafe for PromptError
impl !UnwindSafe for PromptError
impl Send for PromptError
impl Sync for PromptError
impl Unpin for PromptError
impl UnsafeUnpin for PromptError
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> DebuggableStorage for 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> 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> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> 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.