pub enum MemoryBankError {
Io(Error),
Parse(String),
DirectoryNotFound(PathBuf),
InvalidEntryPath {
file_path: PathBuf,
memory_dir: PathBuf,
},
}Expand description
Errors that can occur during memory bank operations
§Examples
ⓘ
use gestura_core::memory_bank::{MemoryBankError, load_from_memory_bank};
use std::path::Path;
match load_from_memory_bank(Path::new("invalid.md")).await {
Err(MemoryBankError::Io(e)) => println!("File not found: {}", e),
Err(MemoryBankError::Parse(msg)) => println!("Invalid format: {}", msg),
Err(MemoryBankError::DirectoryNotFound(path)) => println!("Directory not found: {}", path.display()),
Err(MemoryBankError::InvalidEntryPath { file_path, memory_dir }) => {
println!(
"Invalid entry path: {} (expected under {})",
file_path.display(),
memory_dir.display()
)
}
Ok(entry) => println!("Loaded: {}", entry.summary),
}Variants§
Io(Error)
I/O error during file operations (e.g., file not found, permission denied)
Parse(String)
Error parsing markdown content (e.g., missing required fields, invalid format)
DirectoryNotFound(PathBuf)
Memory bank directory not found at the expected location
InvalidEntryPath
An entry path was provided that is not within the workspace’s memory bank directory
Trait Implementations§
Source§impl Debug for MemoryBankError
impl Debug for MemoryBankError
Source§impl Display for MemoryBankError
impl Display for MemoryBankError
Source§impl Error for MemoryBankError
impl Error for MemoryBankError
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()
Source§impl From<Error> for MemoryBankError
impl From<Error> for MemoryBankError
Source§fn from(source: Error) -> MemoryBankError
fn from(source: Error) -> MemoryBankError
Converts to this type from the input type.
Source§impl From<MemoryBankError> for MemoryConsoleError
impl From<MemoryBankError> for MemoryConsoleError
Source§fn from(source: MemoryBankError) -> Self
fn from(source: MemoryBankError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for MemoryBankError
impl !RefUnwindSafe for MemoryBankError
impl Send for MemoryBankError
impl Sync for MemoryBankError
impl Unpin for MemoryBankError
impl !UnwindSafe for MemoryBankError
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
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
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.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§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>
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
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>,
Applies the layer to a service and wraps it in [
Layered].§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T, U> ToSample<U> for Twhere
U: FromSample<T>,
impl<T, U> ToSample<U> for Twhere
U: FromSample<T>,
fn to_sample_(self) -> U
§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.