pub enum ChatMessageKind {
Normal,
ContextCheckpoint,
RunSummary,
Continuation,
RecoveryNudge,
Unknown,
}Variants§
Normal
ContextCheckpoint
RunSummary
A display-only run summary (“Worked for … · used … tokens”). Rendered
dim/italic; excluded from the model context by build_chat_request.
Continuation
An assistant message that resumes a reply cut by the provider’s per-response output cap (auto-continue). Canonical history keeps it as its own message — true to the wire, signature-safe — but the transcript stitches it into the previous assistant bubble.
RecoveryNudge
A system nudge injected to steer exactly one request (auto-continue resume, stalled-turn retry, safety-mode-loosened note). Hidden from the transcript and swept from history at the next turn-end — it must never outlive the request it steers.
Unknown
F74: a kind written by a NEWER build that this one doesn’t model. Mapped
here by #[serde(other)] instead of failing the whole conversation parse;
it’s neither a checkpoint nor a run summary, so every matches! site
treats it like a normal message. (ChatMessageKind is never matched
exhaustively, so adding this variant is compile-safe.)
Trait Implementations§
Source§impl Clone for ChatMessageKind
impl Clone for ChatMessageKind
Source§fn clone(&self) -> ChatMessageKind
fn clone(&self) -> ChatMessageKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ChatMessageKind
Source§impl Debug for ChatMessageKind
impl Debug for ChatMessageKind
Source§impl Default for ChatMessageKind
impl Default for ChatMessageKind
Source§fn default() -> ChatMessageKind
fn default() -> ChatMessageKind
Source§impl<'de> Deserialize<'de> for ChatMessageKind
impl<'de> Deserialize<'de> for ChatMessageKind
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for ChatMessageKind
Source§impl PartialEq for ChatMessageKind
impl PartialEq for ChatMessageKind
Source§impl Serialize for ChatMessageKind
impl Serialize for ChatMessageKind
impl StructuralPartialEq for ChatMessageKind
Auto Trait Implementations§
impl Freeze for ChatMessageKind
impl RefUnwindSafe for ChatMessageKind
impl Send for ChatMessageKind
impl Sync for ChatMessageKind
impl Unpin for ChatMessageKind
impl UnsafeUnpin for ChatMessageKind
impl UnwindSafe for ChatMessageKind
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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
key and return true if they are equal.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>
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>
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