pub mod concurrency; pub mod local_engine; pub mod model_manager; pub mod orchestrator; pub mod registry; pub mod streaming; pub mod transcriber; #[cfg(feature = "whisper")] pub mod whisper_rs_backend; pub use concurrency::run_inference; #[cfg(feature = "whisper")] pub use local_engine::load_whisper; pub use local_engine::{load_parakeet, LocalEngine, SpeechModelAdapter, TimedTranscript}; pub use model_manager::{download, is_downloaded, list_downloaded, model_dir, models_dir}; pub use orchestrator::{LocalProviderAdapter, Orchestrator}; pub use registry::EngineRegistry; pub use streaming::{ sample_index_for_seconds, trim_buffer_to_commit_point, CommitDecision, CommitPolicy, LocalAgreement, RmsVadChunker, Token, VadChunk, VadChunker, }; pub use transcribe_rs::SpeechModel; pub use transcriber::{Transcriber, TranscriberCapabilities}; // Re-export the trait surface so downstream crates depend only on // `lumotia_transcription` to access both local engines and the // provider trait without a separate `lumotia_cloud_providers` // dependency. This is the seam an OEM licensee uses when they swap // providers. pub use lumotia_cloud_providers::{ CostClass, EngineProfile, NetworkRequirement, ProviderCapabilities, ProviderId, ProviderKind, ProviderTranscript, TranscriptionProvider, };