pub enum MobError {
Show 27 variants
ProfileNotFound(ProfileName),
MeerkatNotFound(MeerkatId),
MeerkatAlreadyExists(MeerkatId),
NotExternallyAddressable(MeerkatId),
InvalidTransition {
from: MobState,
to: MobState,
},
WiringError(String),
MemberRestoreFailed {
member_id: MeerkatId,
session_id: SessionId,
reason: String,
},
KickoffWaitTimedOut {
pending_member_ids: Vec<MeerkatId>,
},
DefinitionError(Vec<Diagnostic>),
FlowNotFound(FlowId),
FlowFailed {
run_id: RunId,
reason: String,
},
RunNotFound(RunId),
RunCanceled(RunId),
FlowTurnTimedOut,
SpecRevisionConflict {
mob_id: MobId,
expected: Option<u64>,
actual: u64,
},
SchemaValidation {
step_id: StepId,
message: String,
},
InsufficientTargets {
step_id: StepId,
required: u8,
available: usize,
},
TopologyViolation {
from_role: ProfileName,
to_role: ProfileName,
},
SupervisorEscalation(String),
UnsupportedForMode {
mode: MobRuntimeMode,
reason: String,
},
ResetBarrier,
StorageError(Box<dyn Error + Send + Sync>),
SessionError(SessionError),
CommsError(SendError),
CallbackPending {
session_id: SessionId,
tool_name: String,
args: Value,
},
Internal(String),
NotYetImplemented(String),
}Expand description
Errors returned by mob operations.
Variants§
ProfileNotFound(ProfileName)
The requested profile does not exist in the mob definition.
MeerkatNotFound(MeerkatId)
The requested meerkat does not exist in the roster.
MeerkatAlreadyExists(MeerkatId)
A meerkat with the given ID already exists.
NotExternallyAddressable(MeerkatId)
The meerkat’s profile does not allow external turns.
InvalidTransition
The requested lifecycle state transition is invalid.
WiringError(String)
A wiring operation failed.
MemberRestoreFailed
The member failed to restore durable session state and is broken until repaired.
KickoffWaitTimedOut
Waiting for kickoff completion timed out.
DefinitionError(Vec<Diagnostic>)
The mob definition failed validation.
FlowNotFound(FlowId)
Referenced flow does not exist.
FlowFailed
Run failed with a reason.
RunNotFound(RunId)
Referenced run does not exist.
RunCanceled(RunId)
Run was canceled.
FlowTurnTimedOut
Flow turn timed out while awaiting terminal transport outcome.
SpecRevisionConflict
Spec revision compare-and-swap failed.
SchemaValidation
Schema validation failed for a step output.
InsufficientTargets
Not enough targets to satisfy dispatch/collection policy.
TopologyViolation
Topology policy denied a dispatch edge.
SupervisorEscalation(String)
Supervisor escalation happened.
UnsupportedForMode
Operation is not supported for the member’s runtime mode.
ResetBarrier
Operation blocked by reset barrier.
StorageError(Box<dyn Error + Send + Sync>)
A storage operation failed.
SessionError(SessionError)
A session service operation failed.
CommsError(SendError)
A comms operation failed.
CallbackPending
A runtime-backed member turn reached an external callback boundary.
Internal(String)
An internal error (unexpected state, logic errors).
NotYetImplemented(String)
Operation is not yet implemented for the given storage backend.
Callers can match on this to fall back gracefully (e.g., refuse frame-aware flows when the selected persistence backend does not expose the required CAS seams yet).
Trait Implementations§
Source§impl Error for MobError
impl Error for MobError
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<MobError> for MobRespawnError
impl From<MobError> for MobRespawnError
Source§impl From<MobStoreError> for MobError
impl From<MobStoreError> for MobError
Source§fn from(error: MobStoreError) -> Self
fn from(error: MobStoreError) -> Self
Source§impl From<SessionError> for MobError
impl From<SessionError> for MobError
Source§fn from(source: SessionError) -> Self
fn from(source: SessionError) -> Self
Auto Trait Implementations§
impl Freeze for MobError
impl !RefUnwindSafe for MobError
impl Send for MobError
impl Sync for MobError
impl Unpin for MobError
impl UnsafeUnpin for MobError
impl !UnwindSafe for MobError
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> ErrorExt for T
impl<T> ErrorExt 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> 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> 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.