pub enum AppError {
Show 18 variants
Io(Error),
Json(Error),
Toml(String),
Nats(String),
Ble(String),
Llm(String),
ContextOverflow(String),
Http(Error),
Voice(String),
Audio(String),
Config(String),
Session(String),
Mcp(String),
PermissionDenied(String),
NotFound(String),
Timeout(String),
InvalidInput(String),
Internal(String),
}Expand description
Top-level application error for Gestura.
This error type encompasses common failure modes across the core library and domain crates, allowing for unified error handling across GUI and CLI.
Variants§
Io(Error)
Generic I/O failure (file operations, etc.)
Json(Error)
JSON serialization/deserialization error
Toml(String)
TOML parsing/serialization error
Nats(String)
NATS messaging client error
Ble(String)
BLE-related failures for haptic device communication
Llm(String)
LLM-related failures (API errors, model not found, etc.)
ContextOverflow(String)
Context window overflow - request exceeds model’s context limit.
This is distinct from generic LLM errors because it requires specific recovery action (context compaction) rather than simple retry.
Http(Error)
HTTP client error (for API calls)
Voice(String)
Voice/STT processing error
Audio(String)
Audio capture/playback error
Config(String)
Configuration error (invalid settings, missing config, etc.)
Session(String)
Session management error
Mcp(String)
MCP (Model Context Protocol) error
PermissionDenied(String)
Permission denied error (for system operations)
NotFound(String)
Resource not found error
Timeout(String)
Timeout error
InvalidInput(String)
Invalid input or argument error
Internal(String)
Internal error (unexpected state, etc.)
Trait Implementations§
Source§impl Error for AppError
impl Error for AppError
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
Auto Trait Implementations§
impl Freeze for AppError
impl !RefUnwindSafe for AppError
impl Send for AppError
impl Sync for AppError
impl Unpin for AppError
impl !UnwindSafe for AppError
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> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§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>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.