pub struct ConversationContext {
pub summary: Option<String>,
pub messages: Vec<ChatMessage>,
pub total_messages: usize,
pub summarized_count: usize,
}Fields§
§summary: Option<String>§messages: Vec<ChatMessage>§total_messages: usize§summarized_count: usizeImplementations§
Source§impl ConversationContext
impl ConversationContext
pub fn new() -> Self
pub fn with_messages(messages: Vec<ChatMessage>) -> Self
pub fn with_summary(self, summary: String, summarized_count: usize) -> Self
pub fn to_llm_messages(&self) -> Vec<ChatMessage>
Sourcepub fn to_llm_messages_with_allocation(
&self,
allocation: &TokenAllocation,
) -> Vec<ChatMessage>
pub fn to_llm_messages_with_allocation( &self, allocation: &TokenAllocation, ) -> Vec<ChatMessage>
Build LLM messages with per-component token budgets.
Provider-state-bearing native exchanges are selected as complete signed user-turn groups. The latest protected group is retained intact even when it exceeds the recent allocation; callers that enforce a hard request limit must reject that over-budget result explicitly.
Sourcepub fn to_llm_messages_with_budget(&self, max_tokens: u32) -> Vec<ChatMessage>
pub fn to_llm_messages_with_budget(&self, max_tokens: u32) -> Vec<ChatMessage>
Build a budgeted prompt without splitting provider-state-bearing signed user turns.
A latest protected signed suffix remains intact when it alone exceeds max_tokens; the
runtime is responsible for rejecting the resulting hard-limit overflow before transport.
pub fn estimated_tokens(&self) -> u32
pub fn is_empty(&self) -> bool
pub fn message_count(&self) -> usize
Trait Implementations§
Source§impl Clone for ConversationContext
impl Clone for ConversationContext
Source§impl Debug for ConversationContext
impl Debug for ConversationContext
Source§impl Default for ConversationContext
impl Default 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