pub enum CoreError {
Show 14 variants
CalibandUnreachable {
endpoint: String,
source: Error,
},
Protocol(String),
AgentNotFound(String),
InvalidState {
op: String,
id: String,
status: String,
},
Discovery(String),
Store(String),
SeqConflict,
WorkspaceNotFound(String),
Conflict(String),
ProviderMisconfigured(String),
InvalidConfig(String),
Fleet(String),
Io(Error),
Json(Error),
}Expand description
Errors produced by the orchestration core.
Variants§
CalibandUnreachable
A caliban supervisor endpoint could not be reached.
Fields
Protocol(String)
A reply could not be parsed, or violated the protocol.
AgentNotFound(String)
The supervisor reported there is no such agent.
InvalidState
The agent was in the wrong state for the requested operation.
Fields
Discovery(String)
Repo discovery (socket resolution / daemon autostart) failed.
Store(String)
The durable event store failed.
SeqConflict
An append lost the race for a per-stream seq to a concurrent writer
(another replica). Distinct from CoreError::Store so the emitter can
re-seed from the durable high-water and retry rather than drop the event.
WorkspaceNotFound(String)
A workspace name was not registered.
Conflict(String)
A request conflicts with existing state and can never succeed as-is —
e.g. registering a workspace name/root that is already taken. Distinct
from CoreError::Discovery (a transient reachability failure) so the
API can return 409 Conflict rather than a retry-implying 503.
ProviderMisconfigured(String)
The repo’s selected provider is missing a required credential, so a spawn would produce a doomed agent. Caught before the spawn is issued.
InvalidConfig(String)
A request carried structurally invalid configuration that could never be
accepted downstream — e.g. a k8s workspace with no providers/sources,
which the apiserver would reject with a 422 (#150). Caught at the API
boundary so it surfaces as a clear 400 Bad Request instead.
Fleet(String)
A FleetProvider backend’s own control-plane operation failed (e.g.
K8sFleet’s kube CRUD/apply against CalibanTask, or its
wait-for-Running deadline).
Io(Error)
Generic I/O error.
Json(Error)
JSON (de)serialization error.
Trait Implementations§
Source§impl Error for CoreError
impl Error for CoreError
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<SupervisorError> for CoreError
impl From<SupervisorError> for CoreError
Source§fn from(e: SupervisorError) -> Self
fn from(e: SupervisorError) -> Self
Auto Trait Implementations§
impl Freeze for CoreError
impl !RefUnwindSafe for CoreError
impl Send for CoreError
impl Sync for CoreError
impl Unpin for CoreError
impl UnsafeUnpin for CoreError
impl !UnwindSafe for CoreError
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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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