CommitExtractionResult

Enum CommitExtractionResult 

Source
pub enum CommitExtractionResult {
    Extracted(String),
    Salvaged(String),
    Fallback(String),
    AgentError(AgentErrorKind),
}
Expand description

Result of commit message extraction with detail about the extraction method.

This enum allows callers to distinguish between different extraction outcomes and take appropriate action (e.g., re-prompt when receiving a Fallback result).

Variants§

§

Extracted(String)

Successfully extracted from structured agent output (JSON schema or pattern-based)

§

Salvaged(String)

Recovered via salvage mechanism (found conventional commit within mixed output)

§

Fallback(String)

Using deterministic fallback generated from diff metadata

§

AgentError(AgentErrorKind)

Agent error detected in output (should trigger fallback)

Implementations§

Source§

impl CommitExtractionResult

Source

pub fn into_message(self) -> String

Convert into the inner message string with final escape sequence cleanup.

This applies the final rendering step to ensure no escape sequences leak through to the actual commit message.

Source

pub const fn is_fallback(&self) -> bool

Check if this was a fallback result (should trigger re-prompt).

Source

pub const fn is_agent_error(&self) -> bool

Check if this was an agent error (should trigger fallback immediately).

Source

pub const fn error_kind(&self) -> Option<AgentErrorKind>

Get the error kind if this is an agent error.

Trait Implementations§

Source§

impl Clone for CommitExtractionResult

Source§

fn clone(&self) -> CommitExtractionResult

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CommitExtractionResult

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for CommitExtractionResult

Source§

fn eq(&self, other: &CommitExtractionResult) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for CommitExtractionResult

Source§

impl StructuralPartialEq for CommitExtractionResult

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.