pub struct UnifiedExtractor { /* private fields */ }Expand description
Unified extractor that extracts all information in a single AI call.
This replaces the separate AiMemoryExtractor and FocusExtractor, reducing API calls and providing consistent extraction.
Implementations§
Source§impl UnifiedExtractor
impl UnifiedExtractor
Sourcepub fn new_minimal(model: String) -> Self
pub fn new_minimal(model: String) -> Self
Create a minimal unified extractor for background tasks.
Sourcepub async fn extract_unified(
&self,
text: &str,
session_id: Option<&str>,
project_path: Option<&str>,
) -> Result<UnifiedExtractionResult>
pub async fn extract_unified( &self, text: &str, session_id: Option<&str>, project_path: Option<&str>, ) -> Result<UnifiedExtractionResult>
Extract all information from conversation text in a single AI call.
Sourcepub async fn extract_unified_with_foci(
&self,
text: &str,
existing_foci: &[(&str, &str, &[String])],
session_id: Option<&str>,
project_path: Option<&str>,
) -> Result<UnifiedExtractionResult>
pub async fn extract_unified_with_foci( &self, text: &str, existing_foci: &[(&str, &str, &[String])], session_id: Option<&str>, project_path: Option<&str>, ) -> Result<UnifiedExtractionResult>
Extract all information WITH focus selection in a single AI call.
This method receives existing focuses and asks AI to select the best match or create a new focus if none matches. This ensures focus continuity.
§Arguments
text- Conversation text to analyzeexisting_foci- Current focus points from FocusManager (id, topic, keywords)session_id- Optional session IDproject_path- Optional project path
§Returns
UnifiedExtractionResult with focus_decision field populated
Sourcepub fn model_name(&self) -> &str
pub fn model_name(&self) -> &str
Get the model name used for extraction.
Auto Trait Implementations§
impl !RefUnwindSafe for UnifiedExtractor
impl !UnwindSafe for UnifiedExtractor
impl Freeze for UnifiedExtractor
impl Send for UnifiedExtractor
impl Sync for UnifiedExtractor
impl Unpin for UnifiedExtractor
impl UnsafeUnpin for UnifiedExtractor
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