pub enum ToolError {
Unreachable {
tool: ToolId,
detail: String,
},
Refused {
tool: ToolId,
detail: String,
},
TimedOut {
tool: ToolId,
detail: String,
},
ToolFailed {
tool: ToolId,
detail: String,
},
Malformed {
tool: ToolId,
detail: String,
},
}Expand description
Why a tool call could not be made, or did not work.
Variants§
Unreachable
The call never left. Safe to repeat.
Refused
The server received the request and declined it without running the tool — unknown method, invalid arguments. The request is intact.
TimedOut
It was sent and the outcome is unknown.
The dangerous one, and the reason ToolSafety::recovery exists: a
timeout is not evidence that nothing happened.
ToolFailed
The server ran the tool and the tool reported failure.
Distinct from the two above because the call landed: repeating it would be a second real invocation.
Malformed
The server answered with something that is not a tool result.
Implementations§
Source§impl ToolError
impl ToolError
Sourcepub const fn disposition(&self) -> Disposition
pub const fn disposition(&self) -> Disposition
What this failure says about whether the call reached the world.
Trait Implementations§
Source§impl Error for ToolError
impl Error for ToolError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<ToolError> for SkillError
impl From<ToolError> for SkillError
Auto Trait Implementations§
impl Freeze for ToolError
impl RefUnwindSafe for ToolError
impl Send for ToolError
impl Sync for ToolError
impl Unpin for ToolError
impl UnsafeUnpin for ToolError
impl UnwindSafe for ToolError
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> ⓘ
Converts
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> ⓘ
Converts
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 moreCreates a shared type from an unshared type.