pub enum BusError {
NotFound(String),
Invalid(String),
Conflict(String),
Unauthenticated(String),
Forbidden(String),
Db(Error),
}Expand description
Errors produced by the store layer.
These map onto MCP tool errors so that the calling agent gets a useful message instead of an opaque “internal error”.
Variants§
NotFound(String)
Invalid(String)
Conflict(String)
Unauthenticated(String)
Forbidden(String)
The caller is known but not allowed: a team-scoped administrative credential reaching for another team, or for a global-only action.
Db(Error)
Implementations§
Trait Implementations§
Source§impl Error for BusError
impl Error for BusError
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<BusError> for ErrorData
The one boundary where a store error becomes what a caller reads.
impl From<BusError> for ErrorData
The one boundary where a store error becomes what a caller reads.
The rule every message crossing it keeps: it is written for its reader —
the model that made the call, or the human that model works for — and
says what to do. Text written for someone else (this server’s operator,
the broker, the transport) is never forwarded into a tool result, not
even interpolated as ({e}): it is rewritten where it crosses, in the
caller’s terms, and the original goes to tracing. Db below is the
general case; broker_unreadable_note in store/inbox.rs and
remote_error_text in proxy.rs are the same rule at the two other
boundaries a tool result can cross.
Auto Trait Implementations§
impl !RefUnwindSafe for BusError
impl !UnwindSafe for BusError
impl Freeze for BusError
impl Send for BusError
impl Sync for BusError
impl Unpin for BusError
impl UnsafeUnpin for BusError
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<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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 more