pub enum CanonicalStopReason {
EndTurn,
MaxTokens,
StopSequence,
ToolUse,
Refusal,
Other,
}Expand description
Why the upstream model stopped, in provider-neutral terms.
Refusal is the model (or its safety layer) declining to continue —
Anthropic refusal, OpenAI content_filter, Gemini SAFETY and its
siblings. Other is reserved for a reason no dialect classifies; a turn
that ends on it with content still relays as a clean stop, while one
that ends on it with nothing is an upstream error, and the raw reason is
carried beside it so nothing is masked on the way to the audit row.
Variants§
Implementations§
Source§impl CanonicalStopReason
impl CanonicalStopReason
pub const fn anthropic_str(self) -> &'static str
pub const fn openai_str(self) -> &'static str
pub const fn empty_terminal_is_error(self) -> bool
pub fn from_anthropic(s: &str) -> CanonicalStopReason
pub const fn with_tool_use(self, has_tool_use: bool) -> CanonicalStopReason
pub fn from_openai(s: &str) -> CanonicalStopReason
Trait Implementations§
Source§impl Clone for CanonicalStopReason
impl Clone for CanonicalStopReason
Source§fn clone(&self) -> CanonicalStopReason
fn clone(&self) -> CanonicalStopReason
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for CanonicalStopReason
Source§impl Debug for CanonicalStopReason
impl Debug for CanonicalStopReason
impl Eq for CanonicalStopReason
Source§impl PartialEq for CanonicalStopReason
impl PartialEq for CanonicalStopReason
impl StructuralPartialEq for CanonicalStopReason
Auto Trait Implementations§
impl Freeze for CanonicalStopReason
impl RefUnwindSafe for CanonicalStopReason
impl Send for CanonicalStopReason
impl Sync for CanonicalStopReason
impl Unpin for CanonicalStopReason
impl UnsafeUnpin for CanonicalStopReason
impl UnwindSafe for CanonicalStopReason
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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> ⓘ
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