pub enum MobError {
Show 36 variants
ProfileNotFound(ProfileName),
MemberNotFound(MeerkatId),
MemberAlreadyExists(MeerkatId),
NotExternallyAddressable(MeerkatId),
InvalidTransition {
from: MobState,
to: MobState,
},
WiringError(String),
SupervisorRotationIncomplete {
previous_epoch: u64,
attempted_epoch: u64,
attempted_public_peer_id: String,
rotated_peer_count: usize,
rollback_succeeded: bool,
pending_authority_recorded: bool,
pending_authority_process_local: bool,
rollback_error: Option<String>,
reason: String,
},
BridgeCommandRejected {
cause: BridgeRejectionCause,
reason: String,
},
MemberRestoreFailed {
member_id: MeerkatId,
session_id: Option<SessionId>,
reason: String,
},
KickoffWaitTimedOut {
pending_member_ids: Vec<MeerkatId>,
},
ReadyWaitTimedOut {
pending_member_ids: Vec<MeerkatId>,
},
DefinitionError(Vec<Diagnostic>),
FlowNotFound(FlowId),
FlowFailed {
run_id: RunId,
reason: String,
},
RunNotFound(RunId),
RunCanceled(RunId),
FlowTurnTimedOut,
FrameDepthLimitExceeded {
loop_id: LoopId,
max_frame_depth: u32,
current_depth: u32,
},
FrameAtomicPersistenceUnavailable {
operation: FrameAtomicOperation,
},
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,
},
BridgeDeliveryRejected {
cause: BridgeDeliveryRejectionCause,
reason: String,
},
SupervisorEscalation(String),
UnsupportedForMode {
mode: MobRuntimeMode,
reason: String,
},
MissingMemberCapability {
member_id: MeerkatId,
capability: MobMemberCapability,
context: &'static str,
},
ResetBarrier,
StorageError(Box<dyn Error + Send + Sync>),
SessionError(SessionError),
CommsError(SendError),
CallbackPending {
session_id: SessionId,
tool_name: String,
args: Value,
},
StaleFenceToken {
runtime_id: AgentRuntimeId,
expected: FenceToken,
actual: FenceToken,
},
StaleEventCursor {
after_cursor: u64,
latest_cursor: u64,
},
WorkNotFound(WorkRef),
Internal(String),
}Expand description
Errors returned by mob operations.
Variants§
ProfileNotFound(ProfileName)
The requested profile does not exist in the mob definition.
MemberNotFound(MeerkatId)
The requested mob member does not exist in the roster.
Renamed from MeerkatNotFound by DELETE_ME finding A2 + B8 as
part of the 0.6 identity-first cascade. The inner type remains
MeerkatId until the full A5 DSL-schema migration flips it to
AgentIdentity; the rename lands
first so public error matching doesn’t leak the legacy term.
MemberAlreadyExists(MeerkatId)
A mob member with the given ID already exists.
Renamed from MeerkatAlreadyExists by DELETE_ME finding A2 + B8.
NotExternallyAddressable(MeerkatId)
The mob member’s profile does not allow external turns.
InvalidTransition
The requested lifecycle state transition is invalid.
WiringError(String)
A wiring operation failed.
SupervisorRotationIncomplete
Supervisor rotation reached one or more remote members but did not complete, so local supervisor authority stayed at the pre-rotation epoch.
Fields
BridgeCommandRejected
A supervisor bridge command was rejected by the remote member.
MemberRestoreFailed
The member failed to restore durable session state and is broken until repaired.
KickoffWaitTimedOut
Waiting for kickoff completion timed out.
ReadyWaitTimedOut
Waiting for startup readiness 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.
FrameDepthLimitExceeded
A frame-aware flow exceeded its configured nesting depth.
The selected mob run store cannot provide frame-aware atomic persistence.
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.
BridgeDeliveryRejected
A bridge accepted the delivery command but rejected the member input.
SupervisorEscalation(String)
Supervisor escalation happened.
UnsupportedForMode
Operation is not supported for the member’s runtime mode.
MissingMemberCapability
A member is missing a required runtime capability for the requested operation.
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.
StaleFenceToken
The fence token does not match the member’s current incarnation.
StaleEventCursor
A caller supplied an event replay cursor beyond the store frontier.
WorkNotFound(WorkRef)
The referenced work unit does not exist.
Internal(String)
An internal error (unexpected state, logic errors).
Implementations§
Source§impl MobError
impl MobError
pub fn bridge_rejection_cause(&self) -> Option<BridgeRejectionCause>
Sourcepub fn spawn_many_failure_cause(&self) -> MobSpawnManyFailureCause
pub fn spawn_many_failure_cause(&self) -> MobSpawnManyFailureCause
Typed failure cause for per-member mob/spawn_many result rows.
This match intentionally has no wildcard arm. Adding a new MobError
variant must update the public spawn-many failure projection instead of
silently collapsing into string-only error semantics.
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<BridgeRejectionReply> for MobError
impl From<BridgeRejectionReply> for MobError
Source§fn from(rejection: BridgeRejectionReply) -> Self
fn from(rejection: BridgeRejectionReply) -> Self
Source§impl From<MobError> for MobDestroyError
impl From<MobError> for MobDestroyError
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> 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