pub enum ErrorKind {
Show 91 variants
AmbiguousSource,
ArchiveAnalyticsRebuild,
ArchiveCount,
ArchiveDailyStatsRebuild,
ArchiveFtsRebuild,
ArchivePurge,
ArchiveTokenDailyStatsRebuild,
Config,
CursorDecode,
CursorParse,
Daemon,
DbError,
DbOpen,
DbQuery,
Doctor,
Download,
EmbedderUnavailable,
EmptyFile,
EmptySession,
EncodeJson,
ExportFailed,
FailedSeedBundleFile,
FileCreate,
FileNotFound,
FileOpen,
FileRead,
FileWrite,
Health,
IdempotencyMismatch,
Index,
IndexBusy,
IndexMissing,
IndexedSessionRequired,
InvalidAgent,
InvalidFilename,
InvalidLine,
Io,
IoError,
LexicalRebuild,
LexicalGeneration,
LexicalShard,
LineNotFound,
LineOutOfRange,
Local,
Mapping,
MissingDb,
MissingIndex,
Model,
NotFound,
OpenIndex,
OpencodeParse,
OpencodeSqliteParse,
OutputNotWritable,
PackEmptyQuery,
PackInvalidField,
PackInvalidLimit,
PackNoEvidence,
PackUnsupportedFormat,
Pages,
ParseError,
PasswordReadError,
PasswordRequired,
RebuildError,
RepairError,
ResumeEmptyCommand,
ResumeExecFailed,
RetainedPublishBackup,
Search,
SemanticBackfill,
SemanticManifest,
SemanticUnavailable,
SerializeMessage,
SessionFileUnreadable,
SessionIdNotFound,
SessionNotFound,
SessionParse,
SessionsFrom,
Setup,
Source,
Ssh,
Storage,
StorageFingerprint,
Timeout,
Tui,
TuiHeadlessOnce,
TuiResetState,
Unknown,
UnknownAgent,
UpdateCheck,
Usage,
WriteFailed,
}Expand description
Typed counterpart to CliError.kind. Every variant maps to the
exact wire-format string emitted today; new kinds added by future
CLI surfaces should be added here AND covered by the golden test
at the bottom of this module.
Variants§
AmbiguousSource
ArchiveAnalyticsRebuild
ArchiveCount
ArchiveDailyStatsRebuild
ArchiveFtsRebuild
ArchivePurge
ArchiveTokenDailyStatsRebuild
Config
CursorDecode
CursorParse
Daemon
DbError
DbOpen
DbQuery
Doctor
Download
EmptyFile
EmptySession
EncodeJson
ExportFailed
FailedSeedBundleFile
Snake-case wire literal (legacy): failed_seed_bundle_file.
Kept exact until the cross-cutting kebab-case migration ships.
FileCreate
FileNotFound
FileOpen
FileRead
FileWrite
Health
IdempotencyMismatch
Index
IndexBusy
IndexMissing
IndexedSessionRequired
InvalidAgent
InvalidFilename
InvalidLine
Io
IoError
LexicalRebuild
LexicalGeneration
Snake-case wire literal (legacy): lexical_generation.
LexicalShard
Snake-case wire literal (legacy): lexical_shard.
LineNotFound
LineOutOfRange
Local
Mapping
MissingDb
MissingIndex
Model
NotFound
OpenIndex
OpencodeParse
OpencodeSqliteParse
OutputNotWritable
PackEmptyQuery
PackInvalidField
PackInvalidLimit
PackNoEvidence
PackUnsupportedFormat
Pages
ParseError
PasswordReadError
PasswordRequired
RebuildError
RepairError
ResumeEmptyCommand
ResumeExecFailed
RetainedPublishBackup
Snake-case wire literal (legacy): retained_publish_backup.
Search
SemanticBackfill
SemanticManifest
SerializeMessage
SessionFileUnreadable
SessionIdNotFound
SessionNotFound
SessionParse
SessionsFrom
Setup
Source
Ssh
Storage
StorageFingerprint
Timeout
Tui
TuiHeadlessOnce
TuiResetState
Unknown
UnknownAgent
UpdateCheck
Usage
WriteFailed
Implementations§
Source§impl ErrorKind
impl ErrorKind
Sourcepub fn kind_str(self) -> &'static str
pub fn kind_str(self) -> &'static str
Returns the wire-format string emitted in CliError.kind.
MUST match the literal currently used in src/lib.rs for
every variant — the golden test below asserts this. Adding a
new variant without updating this match is a compile error
(no _ => ... catch-all).
Sourcepub fn from_kind_str(kind: &str) -> Option<Self>
pub fn from_kind_str(kind: &str) -> Option<Self>
Reverse lookup: parse a wire-format kind string back into the
typed enum. Returns None on unknown kinds. Used by JSON-mode
deserialization paths that need to branch on err.kind and by
the golden test that asserts every variant round-trips.
Sourcepub fn all_variants() -> &'static [Self]
pub fn all_variants() -> &'static [Self]
Returns every variant in declaration order. Used by the
golden test to assert every variant has both a kind_str()
arm AND a from_kind_str() arm.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ErrorKind
impl<'de> Deserialize<'de> for ErrorKind
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Copy for ErrorKind
impl Eq for ErrorKind
impl StructuralPartialEq for ErrorKind
Auto Trait Implementations§
impl Freeze for ErrorKind
impl RefUnwindSafe for ErrorKind
impl Send for ErrorKind
impl Sync for ErrorKind
impl Unpin for ErrorKind
impl UnsafeUnpin for ErrorKind
impl UnwindSafe for ErrorKind
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, _span: NoopSpan) -> Self
fn instrument(self, _span: NoopSpan) -> Self
Source§fn in_current_span(self) -> Self
fn in_current_span(self) -> 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