Skip to main content

DispatchError

Enum DispatchError 

Source
pub enum DispatchError {
Show 29 variants NoActiveSession, UnknownSession(SessionSlot), SessionClosed(SessionSlot), NoPromptWaiting { key: SessionSlot, tool_id: String, }, NoDraftWaiting { key: SessionSlot, id: Uuid, }, EmptySlackFeedback { key: SessionSlot, id: Uuid, }, NoBrowserHandOffWaiting { key: SessionSlot, id: Uuid, }, NoTerminalHandOffWaiting { key: SessionSlot, id: Uuid, }, NoDocumentHandOffWaiting { key: SessionSlot, id: Uuid, }, NoSettingsWriteWaiting { key: SessionSlot, id: Uuid, }, NoVaultAskWaiting { key: SessionSlot, id: Uuid, }, BiometricRefused { reason: String, }, DictateOff, VoiceOff { reason: String, }, Installing, Activating, TakeLive { holder: String, }, PinnedRole { section: &'static str, key: String, }, BenchRunning, BenchNotRunning, ReadAloudNotRecording, ReadAloudUnavailable { reason: String, }, ModelInUse { role: DictateRole, }, UninstallRefused { reason: String, }, CatalogueChecking, PluginActionRunning, PluginHomeUnavailable, PluginProjectRequired, ProjectNotFound { name: String, },
}
Expand description

Errors from the dispatch boundary. UnknownSession and SessionClosed are returned by Workspace::dispatch; NoActiveSession is for a caller with no slot to name.

Variants§

§

NoActiveSession

§

UnknownSession(SessionSlot)

§

SessionClosed(SessionSlot)

§

NoPromptWaiting

Fields

§tool_id: String
§

NoDraftWaiting

A Slack answer named a draft the registry does not hold. Its own word rather than Self::NoPromptWaiting’s: a draft is answered by its own id and names no tool call, and this line is drawn where the dock stood. Answering and the asking session going away are the endings that leave nothing waiting, which is the condition this line names - a send-back is an answer too, and resolves the draft just the same.

Fields

§id: Uuid
§

EmptySlackFeedback

A send-back carried no words. There is nothing to hand the agent, and resolving the draft would drop the reader’s card for nothing - so the draft stays waiting and the field can be sent again.

Fields

§id: Uuid
§

NoBrowserHandOffWaiting

A browser hand-off answer named a hand-off the registry does not hold: answered in another view, or its asking session went away. Its own word for the same reason Self::NoDraftWaiting has one.

Fields

§id: Uuid
§

NoTerminalHandOffWaiting

A terminal hand-off answer named a hand-off the registry does not hold: answered in another view, or its asking session went away.

Fields

§id: Uuid
§

NoDocumentHandOffWaiting

A document hand-off answer named a hand-off the registry does not hold: finished in another view, declined, or its asking session went away. Its own word for the same reason Self::NoDraftWaiting has one.

Fields

§id: Uuid
§

NoSettingsWriteWaiting

A settings answer named a held write the registry does not hold: answered in another view, or its asking session went away. Its own word for the same reason Self::NoDraftWaiting has one.

Fields

§id: Uuid
§

NoVaultAskWaiting

A vault answer named a held call the registry does not hold: answered in another view, or its asking session went away. Its own word for the same reason Self::NoDraftWaiting has one.

Fields

§id: Uuid
§

BiometricRefused

A biometric enrolment write was refused before anything was stored, in the core’s own words: a blob that is not base64, an empty or oversized one, a nameless purpose, or a store that could not be written.

Fields

§reason: String
§

DictateOff

A catalogue check was asked for with [dictate] switched off: there are no pinned models for a check to be about.

§

VoiceOff

A speaking action was asked for with [tts] switched off or no model files resolving: there is nothing to speak with.

Fields

§reason: String
§

Installing

An install is already running: one at a time, like a check.

§

Activating

An activation is already running; a second engine build would race the first one’s swap.

§

TakeLive

A take is in flight on holder (a slot’s display string), so the engine cannot be swapped under it.

Fields

§holder: String
§

PinnedRole

forge.toml pins this role, so the runtime cannot move it; section and key name the table and key that do.

Fields

§section: &'static str
§

BenchRunning

A bench holds the machine: it is measuring an engine, so a swap or a second run waits for it to finish or stops it.

§

BenchNotRunning

A stop arrived and nothing was running to stop.

§

ReadAloudNotRecording

No read-aloud recording is running, or it is another connection’s: only the connection that started one can stop it.

§

ReadAloudUnavailable

The read-aloud set would not take the change, in the core’s own words.

Fields

§reason: String
§

ModelInUse

The model is what a role runs right now, and the engine holds it loaded: the role has to be moved off it first.

Fields

§

UninstallRefused

The model could not be removed, in the core’s own words.

Fields

§reason: String
§

CatalogueChecking

A check is already in flight; the one that lands is the answer, and a second fetch would answer the same thing twice.

§

PluginActionRunning

A plugin action is already running: the CLI serializes one at a time, so a second press waits rather than racing the first.

§

PluginHomeUnavailable

No home directory resolves, so a plugin call with no project context has nowhere to run. Refused rather than substituting a cwd-derived directory (hard rule 14).

§

PluginProjectRequired

A project/local install named no project; those scopes install into a project’s own config, so the project is the caller’s to say.

§

ProjectNotFound

A project-named install or update names a project forge.toml does not declare.

Fields

§name: String

Trait Implementations§

Source§

impl Debug for DispatchError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for DispatchError

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for DispatchError

1.30.0 · Source§

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

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send> ⓘ

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<S, T> Duplex<S> for T
where T: FromSample<S> + ToSample<S>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<S> FromSample<S> for S

§

fn from_sample_(s: S) -> S

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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 more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T, U> ToSample<U> for T
where U: FromSample<T>,

§

fn to_sample_(self) -> U

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more