pub struct FocusTrackerConfig {
pub fallback_topic_word_count: usize,
pub focus_window_size: usize,
pub max_recent_context_count: usize,
pub max_question_extract_length: usize,
pub min_substantial_text_length: usize,
pub focus_score_boost: f32,
pub max_focus_score: f32,
/* private fields */
}Expand description
Focus tracker configuration
Fields§
§fallback_topic_word_count: usizeNumber of words to extract when no keywords found
focus_window_size: usizeWindow size for focus detection (number of recent messages to analyze)
max_recent_context_count: usizeMaximum recent context snippets to keep
max_question_extract_length: usizeMaximum characters to extract for question/task
min_substantial_text_length: usizeMinimum text length to consider as substantial
focus_score_boost: f32Focus score boost for messages matching current focus
max_focus_score: f32Maximum focus score (cap)
Implementations§
Source§impl FocusTrackerConfig
impl FocusTrackerConfig
Sourcepub fn simple_conversation() -> Self
pub fn simple_conversation() -> Self
Create config for simple conversations (lower thresholds)
Sourcepub fn complex_technical() -> Self
pub fn complex_technical() -> Self
Create config for complex technical discussions (higher thresholds)
Sourcepub fn from_complexity(level: ComplexityLevel) -> Self
pub fn from_complexity(level: ComplexityLevel) -> Self
Create config from complexity level
Sourcepub fn set_keywords(&mut self, keywords: &ExtractedKeywords)
pub fn set_keywords(&mut self, keywords: &ExtractedKeywords)
Set keywords extracted from AI (real-time).
These keywords are used for focus tracking in the current conversation and are not persisted.
Sourcepub fn get_keywords(&self) -> Option<&ExtractedKeywords>
pub fn get_keywords(&self) -> Option<&ExtractedKeywords>
Get current keywords (if set).
Sourcepub fn transition_keywords(&self) -> Vec<String>
pub fn transition_keywords(&self) -> Vec<String>
Get transition keywords (from AI extraction or fallback presets).
Sourcepub fn question_keywords(&self) -> Vec<String>
pub fn question_keywords(&self) -> Vec<String>
Get question keywords (from AI extraction or fallback presets).
Sourcepub fn task_keywords(&self) -> Vec<String>
pub fn task_keywords(&self) -> Vec<String>
Get task keywords (from AI extraction or fallback presets).
Sourcepub fn tech_keywords(&self) -> Vec<String>
pub fn tech_keywords(&self) -> Vec<String>
Get tech keywords (from AI extraction or fallback presets).
Sourcepub fn matches_transition(&self, text: &str) -> bool
pub fn matches_transition(&self, text: &str) -> bool
Check if text matches transition keywords.
Sourcepub fn matches_question(&self, text: &str) -> bool
pub fn matches_question(&self, text: &str) -> bool
Check if text matches question keywords.
Sourcepub fn matches_task(&self, text: &str) -> bool
pub fn matches_task(&self, text: &str) -> bool
Check if text matches task keywords.
Sourcepub fn find_tech_keywords(&self, text: &str) -> Vec<String>
pub fn find_tech_keywords(&self, text: &str) -> Vec<String>
Find matching tech keywords in text.
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).
Trait Implementations§
Source§impl Clone for FocusTrackerConfig
impl Clone for FocusTrackerConfig
Source§fn clone(&self) -> FocusTrackerConfig
fn clone(&self) -> FocusTrackerConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more