pub struct FocusTracker { /* private fields */ }Expand description
Focus tracker that monitors conversation flow.
Implementations§
Source§impl FocusTracker
impl FocusTracker
Sourcepub fn with_config(config: FocusTrackerConfig) -> Self
pub fn with_config(config: FocusTrackerConfig) -> Self
Create focus tracker with custom configuration
Sourcepub fn config(&self) -> &FocusTrackerConfig
pub fn config(&self) -> &FocusTrackerConfig
Get configuration reference
Sourcepub fn config_mut(&mut self) -> &mut FocusTrackerConfig
pub fn config_mut(&mut self) -> &mut FocusTrackerConfig
Get mutable configuration reference
Sourcepub fn set_current_keywords(&mut self, keywords: &ExtractedKeywords)
pub fn set_current_keywords(&mut self, keywords: &ExtractedKeywords)
Set current keywords from AI extraction (real-time, not persisted).
These keywords are used for focus tracking in the current conversation.
Sourcepub fn merge_keywords(&mut self, additional: &ExtractedKeywords)
pub fn merge_keywords(&mut self, additional: &ExtractedKeywords)
Merge additional keywords into current keywords.
Sourcepub fn clear_keywords(&mut self)
pub fn clear_keywords(&mut self)
Clear current keywords (start fresh for new conversation).
Sourcepub fn detect_focus(&self, messages: &[Message]) -> ConversationFocus
pub fn detect_focus(&self, messages: &[Message]) -> ConversationFocus
Detect current focus from recent messages.
Sourcepub fn detect_focus_with_window(
&self,
messages: &[Message],
window_size: usize,
) -> ConversationFocus
pub fn detect_focus_with_window( &self, messages: &[Message], window_size: usize, ) -> ConversationFocus
Detect current focus with custom window size
Sourcepub fn focus_score(&self, message: &Message, focus: &ConversationFocus) -> f32
pub fn focus_score(&self, message: &Message, focus: &ConversationFocus) -> f32
Calculate focus score for a message (how relevant to current focus).
Sourcepub fn focus_score_with_keywords(
&self,
message: &Message,
focus: &ConversationFocus,
) -> f32
pub fn focus_score_with_keywords( &self, message: &Message, focus: &ConversationFocus, ) -> f32
Calculate focus score using real-time extracted keywords.
This method uses keywords extracted by AI (via UnifiedExtractor) for more accurate focus scoring, instead of relying on fallback presets.
§Arguments
message- Message to score.focus- Current conversation focus.
§Returns
Focus relevance score (0.0 to 1.0).
Sourcepub fn create_focus_message(&self, focus: &ConversationFocus) -> Message
pub fn create_focus_message(&self, focus: &ConversationFocus) -> Message
Create a focus message to inject into compressed conversation.