pub enum RecordError {
Spawn {
command: String,
reason: String,
},
Pty(String),
Store(Error),
Child(String),
Adapter(String),
Mcp(String),
McpSession(String),
}Expand description
A specialization of hh_core::Error for recorder-originated failures,
keeping the cause chain readable for the binary’s anyhow context.
portable-pty returns anyhow::Error; we stringify it at the boundary
(its Display form) rather than taking an anyhow dependency in this
library, per CLAUDE.md (“Do not add a dependency without stating why”).
Variants§
Spawn
Failed to spawn the child in the PTY (FR-1.1).
Fields
Pty(String)
A PTY I/O or configuration error (resize, reader/writer, wait).
Store(Error)
A storage call failed while recording (session create, event append,
blob put, finalize). Wraps the hh-core error so the binary can attach
anyhow::Context.
Child(String)
The child could not be waited on, or its exit status was unreadable.
Adapter(String)
An unknown or unsupported adapter name was passed to hh run --adapter
(FR-1.5). Names the bad value and what’s available so the user can fix it.
Mcp(String)
A generic MCP proxy failure (server spawn, stdio I/O, store). The string is a human-readable, actionable description (FR-2).
McpSession(String)
The HH_SESSION_ID referenced by an attached hh mcp-proxy does not
resolve to a recorded session (FR-2). Actionable: tells the user to run
standalone or re-run inside hh run rather than creating an orphan.
Trait Implementations§
Source§impl Debug for RecordError
impl Debug for RecordError
Source§impl Display for RecordError
impl Display for RecordError
Source§impl Error for RecordError
impl Error for RecordError
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 !RefUnwindSafe for RecordError
impl !UnwindSafe for RecordError
impl Freeze for RecordError
impl Send for RecordError
impl Sync for RecordError
impl Unpin for RecordError
impl UnsafeUnpin for RecordError
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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.