pub struct ConversationContext {
pub id: Uuid,
pub title: String,
pub system_prompt: Option<String>,
pub messages: Vec<NormalizedMessage>,
pub summary: Option<ConversationSummary>,
pub tools: Vec<ToolDefinition>,
pub provider_history: Vec<ProviderSwitch>,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
pub metadata: HashMap<String, Value>,
}Expand description
Portable conversation context
Fields§
§id: UuidConversation ID
title: StringTitle
system_prompt: Option<String>System prompt
messages: Vec<NormalizedMessage>Normalized messages
summary: Option<ConversationSummary>Summary for context compression
tools: Vec<ToolDefinition>Available tools
provider_history: Vec<ProviderSwitch>Provider history (list of providers used)
created_at: DateTime<Utc>Creation timestamp
updated_at: DateTime<Utc>Last updated
metadata: HashMap<String, Value>Metadata
Trait Implementations§
Source§impl Clone for ConversationContext
impl Clone for ConversationContext
Source§fn clone(&self) -> ConversationContext
fn clone(&self) -> ConversationContext
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ConversationContext
impl Debug for ConversationContext
Source§impl<'de> Deserialize<'de> for ConversationContext
impl<'de> Deserialize<'de> for ConversationContext
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ConversationContext
impl RefUnwindSafe for ConversationContext
impl Send for ConversationContext
impl Sync for ConversationContext
impl Unpin for ConversationContext
impl UnsafeUnpin for ConversationContext
impl UnwindSafe for ConversationContext
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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