SpeechProcessorCoreExt

Trait SpeechProcessorCoreExt 

Source
pub trait SpeechProcessorCoreExt {
    // Required methods
    fn transcribe_audio<'life0, 'life1, 'async_trait>(
        &'life0 self,
        audio_path: &'life1 Path,
    ) -> Pin<Box<dyn Future<Output = Result<TranscriptionResult, AppError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn process_with_llm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        text: &'life1 str,
    ) -> Pin<Box<dyn Future<Output = Result<LlmResponse, AppError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}
Expand description

Extension trait providing integration methods on SpeechProcessor that depend on core-only types (secure storage, LLM provider selection).

Callers must use gestura_core::speech::SpeechProcessorCoreExt (or use gestura_core::SpeechProcessorCoreExt) to access these methods.

Required Methods§

Source

fn transcribe_audio<'life0, 'life1, 'async_trait>( &'life0 self, audio_path: &'life1 Path, ) -> Pin<Box<dyn Future<Output = Result<TranscriptionResult, AppError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Transcribe audio file to text using core-owned STT provider selection.

Uses the unified STT provider abstraction from stt_provider module. The provider is selected based on AppConfig.voice.provider and respects configured base_url and model settings.

Source

fn process_with_llm<'life0, 'life1, 'async_trait>( &'life0 self, text: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<LlmResponse, AppError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Process transcribed text with configured LLM provider.

Implementors§