pub enum WorkspaceError {
Show 48 variants
ConfigMissing {
path: PathBuf,
},
ConfigParse {
path: PathBuf,
at: String,
message: String,
},
ConfigInvalid {
path: PathBuf,
message: String,
},
NoOrgsConfigured {
path: PathBuf,
},
NoProjectsConfigured {
path: PathBuf,
},
NoAccountsConfigured {
path: PathBuf,
},
DuplicateAccount {
path: PathBuf,
name: String,
},
AccountsMissingProvider {
path: PathBuf,
names: Vec<String>,
},
OpenrouterBaseUrlNotApiRoot {
path: PathBuf,
name: String,
},
ProjectInvalidPermissionMode {
path: PathBuf,
name: String,
value: String,
},
ProjectDocumentRootRelative {
path: PathBuf,
name: String,
root: String,
},
GatewayPortInvalid {
path: PathBuf,
},
GatewayRotationInvalid {
path: PathBuf,
key: &'static str,
},
ModelAutoCompactWindowInvalid {
path: PathBuf,
model: String,
value: i64,
},
HandoffAtPercentInvalid {
path: PathBuf,
scope: String,
value: u32,
},
HandoffAfterCompactionsInvalid {
path: PathBuf,
scope: String,
},
DocumentCeilingInvalid {
path: PathBuf,
value: u64,
},
DocumentCeilingTooLarge {
path: PathBuf,
value: u64,
},
UsagePollIntervalInvalid {
path: PathBuf,
},
SessionsHealAttemptsInvalid {
path: PathBuf,
},
SessionsDurationInvalid {
path: PathBuf,
key: &'static str,
value: String,
},
SessionsBackoffEmpty {
path: PathBuf,
},
ServerPortInvalid {
path: PathBuf,
},
ServerPortTakenByGateway {
path: PathBuf,
port: u16,
},
ClientNameUnknown {
path: PathBuf,
key: &'static str,
value: String,
},
AccountProviderNeedsBaseUrl {
path: PathBuf,
name: String,
},
AccountTokenRequired {
path: PathBuf,
name: String,
},
AccountModelsRequired {
path: PathBuf,
name: String,
},
AccountSlugUndeclared {
path: PathBuf,
slug: String,
},
AccountSlugBlank {
path: PathBuf,
slug: String,
},
AccountAliasUndeclared {
path: PathBuf,
alias: String,
},
AccountAliasEmpty {
path: PathBuf,
alias: String,
},
ProjectModelUndeclared {
path: PathBuf,
name: String,
model: String,
},
DuplicateOrg {
path: PathBuf,
name: String,
},
DuplicateProject {
path: PathBuf,
name: String,
},
EmptyOrg {
path: PathBuf,
org: String,
},
EmptyOrgAccounts {
path: PathBuf,
org: String,
},
NoAccountServesProjectModel {
project: String,
org: String,
model: String,
accounts: String,
},
AllAccountsCooling {
project: String,
org: String,
model: String,
seconds: u64,
},
ProjectModelMissing {
project: String,
org: String,
},
SpawnResolvesToNoProject {
slot: String,
},
SeatClosedDuringSpawn {
slot: String,
},
SpawnRoleSlotDisagree {
role: SpawnRole,
slot: String,
},
UnknownOrgAccount {
path: PathBuf,
org: String,
account: String,
valid: String,
},
ProjectNotFound {
name: String,
path: PathBuf,
},
SessionStoreUnreadable {
org: String,
project: String,
label: String,
},
DataDirUnavailable {
path: PathBuf,
source: Error,
},
AlreadyRunning {
pid: Option<u32>,
},
}Expand description
Reasons Workspace::new may fail.
Variants§
ConfigMissing
ConfigParse
The parse failure as a reader acts on it: where it is, and why.
message is the error’s own words with any quoted value scrubbed
and at its line and column (empty when it has none) - a value on
the offending line can be a token, so neither the snippet nor the
toml error itself (whose Debug carries the whole document) rides
along (#2267).
ConfigInvalid
NoOrgsConfigured
NoProjectsConfigured
NoAccountsConfigured
DuplicateAccount
AccountsMissingProvider
OpenrouterBaseUrlNotApiRoot
ProjectInvalidPermissionMode
ProjectDocumentRootRelative
GatewayPortInvalid
GatewayRotationInvalid
ModelAutoCompactWindowInvalid
HandoffAtPercentInvalid
HandoffAfterCompactionsInvalid
DocumentCeilingInvalid
DocumentCeilingTooLarge
UsagePollIntervalInvalid
SessionsHealAttemptsInvalid
SessionsDurationInvalid
SessionsBackoffEmpty
ServerPortInvalid
ServerPortTakenByGateway
ClientNameUnknown
AccountProviderNeedsBaseUrl
AccountTokenRequired
AccountModelsRequired
AccountSlugUndeclared
AccountSlugBlank
AccountAliasUndeclared
AccountAliasEmpty
ProjectModelUndeclared
DuplicateOrg
DuplicateProject
EmptyOrg
EmptyOrgAccounts
NoAccountServesProjectModel
AllAccountsCooling
ProjectModelMissing
SpawnResolvesToNoProject
SeatClosedDuringSpawn
A recovery spawn found the seat closed: the reader stopped it while the spawn was being prepared, and only an opening door may undo that.
SpawnRoleSlotDisagree
The stated spawn role and the target slot name different sessions. Both are caller statements, so a disagreement is a caller bug rather than something to resolve.
UnknownOrgAccount
ProjectNotFound
SessionStoreUnreadable
AlreadyRunning
Trait Implementations§
Source§impl Debug for WorkspaceError
impl Debug for WorkspaceError
Source§impl Display for WorkspaceError
impl Display for WorkspaceError
Source§impl Error for WorkspaceError
impl Error for WorkspaceError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
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
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Auto Trait Implementations§
impl !RefUnwindSafe for WorkspaceError
impl !UnwindSafe for WorkspaceError
impl Freeze for WorkspaceError
impl Send for WorkspaceError
impl Sync for WorkspaceError
impl Unpin for WorkspaceError
impl UnsafeUnpin for WorkspaceError
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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> ⓘ
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 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> ⓘ
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