pub struct ThreadSession {
pub thread_id: ThreadId,
pub history: Vec<Message>,
pub created_at: Instant,
pub turn_count: usize,
}Expand description
Per-thread session state for conversation isolation.
Fields§
§thread_id: ThreadIdThread ID for this session.
history: Vec<Message>Raw chat history for multi-turn conversations.
created_at: InstantWhen this session was created.
turn_count: usizeNumber of turns in this session.
Implementations§
Source§impl ThreadSession
impl ThreadSession
Sourcepub fn add_user_message(&mut self, content: &str)
pub fn add_user_message(&mut self, content: &str)
Adds a user message to history.
Sourcepub fn add_assistant_message(&mut self, content: &str)
pub fn add_assistant_message(&mut self, content: &str)
Adds an assistant message to history.
Sourcepub fn inject_context(&mut self, context: &str)
pub fn inject_context(&mut self, context: &str)
Injects context that appears at start of conversation. This is useful for adding system-level context to the conversation.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ThreadSession
impl RefUnwindSafe for ThreadSession
impl Send for ThreadSession
impl Sync for ThreadSession
impl Unpin for ThreadSession
impl UnsafeUnpin for ThreadSession
impl UnwindSafe for ThreadSession
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
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> 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 moreCreates a shared type from an unshared type.