Struct RecordExtractor
pub struct RecordExtractor { /* private fields */ }Expand description
A TurnExtractor that runs an Extract record’s recognizers and
resolvers, and promotes the recognized fields into state.
Implementations§
§impl RecordExtractor
impl RecordExtractor
pub fn new(spec: Extract) -> RecordExtractor
pub fn new(spec: Extract) -> RecordExtractor
Build from a record spec.
Trait Implementations§
§impl TurnExtractor for RecordExtractor
impl TurnExtractor for RecordExtractor
§fn window_size(&self) -> usize
fn window_size(&self) -> usize
How many recent turns this extractor needs.
§fn trigger(&self) -> ExtractionTrigger
fn trigger(&self) -> ExtractionTrigger
The trigger mode for this extractor. Read more
§fn promotion_rules(&self) -> &[FieldPromotion]
fn promotion_rules(&self) -> &[FieldPromotion]
Field promotion rules for this extractor. Read more
§fn on_complete(&self) -> Option<OnComplete>
fn on_complete(&self) -> Option<OnComplete>
An optional agent to run when this extractor’s results land in state —
the
on_complete(dispatch(agent)) effect. Fired by the pipeline after
promotion, only when the extractor produced a non-empty object.§fn extract<'life0, 'life1, 'async_trait>(
&'life0 self,
window: &'life1 [TranscriptTurn],
) -> Pin<Box<dyn Future<Output = Result<Value, LlmError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
RecordExtractor: 'async_trait,
fn extract<'life0, 'life1, 'async_trait>(
&'life0 self,
window: &'life1 [TranscriptTurn],
) -> Pin<Box<dyn Future<Output = Result<Value, LlmError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
RecordExtractor: 'async_trait,
Extract structured data from the transcript window.
§fn extract_with_state<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
window: &'life1 [TranscriptTurn],
state: &'life2 State,
) -> Pin<Box<dyn Future<Output = Result<Value, LlmError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
RecordExtractor: 'async_trait,
fn extract_with_state<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
window: &'life1 [TranscriptTurn],
state: &'life2 State,
) -> Pin<Box<dyn Future<Output = Result<Value, LlmError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
RecordExtractor: 'async_trait,
Extract with access to session
State — for extractors whose sources
bind arguments from State (e.g. async fetch/agent resolvers). Read more§fn should_extract(&self, window: &[TranscriptTurn]) -> bool
fn should_extract(&self, window: &[TranscriptTurn]) -> bool
Whether this extractor should run for the current turn. Read more
Auto Trait Implementations§
impl Freeze for RecordExtractor
impl !RefUnwindSafe for RecordExtractor
impl Send for RecordExtractor
impl Sync for RecordExtractor
impl Unpin for RecordExtractor
impl !UnwindSafe for RecordExtractor
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