pub enum WinxError {
Show 38 variants
ShellInitializationError(String),
WorkspacePathError(String),
BashStateLockError(String),
BashStateNotInitialized,
CommandExecutionError(String),
ArgumentParseError(String),
FileAccessError {
path: PathBuf,
message: String,
},
PathSecurityError {
path: PathBuf,
message: String,
},
CommandNotAllowed(String),
ThreadIdMismatch(String),
DeserializationError(String),
SerializationError(String),
SearchReplaceSyntaxError(String),
SearchBlockNotFound(String),
SearchBlockAmbiguous {
block_content: String,
match_count: usize,
suggestions: Vec<String>,
},
SearchBlockConflict {
conflicting_blocks: Vec<String>,
first_differing_block: Option<String>,
},
SearchReplaceSyntaxErrorDetailed {
message: String,
line_number: Option<usize>,
block_type: Option<String>,
suggestions: Vec<String>,
},
JsonParseError(String),
FileTooLarge {
path: PathBuf,
size: u64,
max_size: u64,
},
FileWriteError {
path: PathBuf,
message: String,
},
DataLoadingError(String),
ParameterValidationError {
field: String,
message: String,
},
MissingParameterError {
field: String,
message: String,
},
NullValueError {
field: String,
},
RecoverableSuggestionError {
message: String,
suggestion: String,
},
ContextSaveError(String),
CommandTimeout {
command: String,
timeout_seconds: u64,
},
InteractiveCommandDetected {
command: String,
},
CommandAlreadyRunning {
current_command: String,
duration_seconds: f64,
},
ProcessCleanupError {
message: String,
},
BufferOverflow {
size: usize,
max_size: usize,
},
SessionRecoveryError {
message: String,
},
ResourceAllocationError {
message: String,
},
IoError(Error),
ConfigurationError(String),
ParseError(String),
InvalidInput(String),
FileError(String),
}Expand description
Errors that can occur in the Winx application
Variants§
ShellInitializationError(String)
Error when initializing the shell
WorkspacePathError(String)
Error when operating on a workspace path
BashStateLockError(String)
Error when locking the bash state
BashStateNotInitialized
Error when the bash state is not initialized
CommandExecutionError(String)
Error when a command fails to execute
ArgumentParseError(String)
Error when parsing arguments
FileAccessError
Error when trying to access a file or directory
PathSecurityError
Security error - path traversal or symlink escape attempt
CommandNotAllowed(String)
Error when a command is not allowed in the current mode
ThreadIdMismatch(String)
Error when chat IDs don’t match
DeserializationError(String)
Error when deserializing data
SerializationError(String)
Error when serializing data
SearchReplaceSyntaxError(String)
Error in the search/replace format
SearchBlockNotFound(String)
Error when search block is not found in content
SearchBlockAmbiguous
Error when search block matches multiple locations (WCGW-style)
SearchBlockConflict
Error when search blocks have conflicting matches
SearchReplaceSyntaxErrorDetailed
Enhanced search/replace syntax error with detailed context
Fields
JsonParseError(String)
Error when JSON parsing fails
FileTooLarge
Error when a file is too large for operation
FileWriteError
Error when writing to a file
DataLoadingError(String)
Error loading data
ParameterValidationError
Parameter validation error
MissingParameterError
Required parameter missing error
NullValueError
Null or undefined value error
RecoverableSuggestionError
Recovery suggestion error with potential solutions
ContextSaveError(String)
Context save error
CommandTimeout
Command timeout error
InteractiveCommandDetected
Interactive command detected error
CommandAlreadyRunning
Command already running error
ProcessCleanupError
Process cleanup error
BufferOverflow
Buffer overflow error
SessionRecoveryError
Session recovery error
ResourceAllocationError
Resource allocation error
IoError(Error)
IO error
ConfigurationError(String)
Configuration error
ParseError(String)
Parse error for responses
InvalidInput(String)
Invalid input error
FileError(String)
File error for file operations
Trait Implementations§
Source§impl Error for WinxError
impl Error for WinxError
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()
Auto Trait Implementations§
impl Freeze for WinxError
impl !RefUnwindSafe for WinxError
impl Send for WinxError
impl Sync for WinxError
impl Unpin for WinxError
impl UnsafeUnpin for WinxError
impl !UnwindSafe for WinxError
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> 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>. 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> DowncastSync for T
impl<T> DowncastSync for 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