pub struct Config {Show 21 fields
pub provider: String,
pub model: Option<String>,
pub language: String,
pub output: String,
pub output_file: Option<PathBuf>,
pub timestamps: bool,
pub verbose: bool,
pub openrouter_api_key: Option<String>,
pub openrouter_base_url: String,
pub openrouter_default_model: String,
pub cleanup_style: String,
pub cleanup_provider: String,
pub cleanup_openrouter_model: Option<String>,
pub tts_provider: String,
pub tts_model: String,
pub tts_voice: String,
pub tts_language: String,
pub tts_max_chars: usize,
pub tts_timeout_ms: u64,
pub config_path: Option<PathBuf>,
pub cache_dir: PathBuf,
}Expand description
Fully-resolved runtime configuration after merging all sources.
Fields§
§provider: String§model: Option<String>§language: String§output: String§output_file: Option<PathBuf>§timestamps: bool§verbose: bool§openrouter_api_key: Option<String>§openrouter_base_url: String§openrouter_default_model: String§cleanup_style: StringCleanup style name (raw, clean, …).
cleanup_provider: StringCleanup backend name (rules, openrouter).
cleanup_openrouter_model: Option<String>Optional dedicated model for OpenRouter cleanup.
tts_provider: StringTTS provider name (local only in MVP).
tts_model: String§tts_voice: String§tts_language: String§tts_max_chars: usize§tts_timeout_ms: u64§config_path: Option<PathBuf>§cache_dir: PathBufImplementations§
Source§impl Config
impl Config
Sourcepub fn default_config_path() -> Option<PathBuf>
pub fn default_config_path() -> Option<PathBuf>
Resolve the platform-appropriate config file path.
Sourcepub fn default_cache_dir() -> Result<PathBuf>
pub fn default_cache_dir() -> Result<PathBuf>
Resolve the platform-appropriate cache directory (models live under models/).
Sourcepub fn load() -> Result<Self>
pub fn load() -> Result<Self>
Load config file from the default location (if present) and merge with env vars.
Sourcepub fn load_from(path: &Path) -> Result<Self>
pub fn load_from(path: &Path) -> Result<Self>
Load from an explicit config file path (used in tests).
Sourcepub fn apply_cli(
&mut self,
provider: Option<&str>,
model: Option<&str>,
language: Option<&str>,
output: Option<&str>,
output_file: Option<&Path>,
timestamps: bool,
verbose: bool,
cleanup: Option<&str>,
cleanup_provider: Option<&str>,
cleanup_model: Option<&str>,
)
pub fn apply_cli( &mut self, provider: Option<&str>, model: Option<&str>, language: Option<&str>, output: Option<&str>, output_file: Option<&Path>, timestamps: bool, verbose: bool, cleanup: Option<&str>, cleanup_provider: Option<&str>, cleanup_model: Option<&str>, )
Apply CLI overrides on top of the loaded config.
Sourcepub fn resolve_model(&self, model_explicitly_set: bool) -> Result<String>
pub fn resolve_model(&self, model_explicitly_set: bool) -> Result<String>
Resolve the effective model for the active provider.
When model_explicitly_set is false and the provider is openrouter, a bare
local whisper name (e.g. config default base) is replaced with the
openrouter default model id.
Resolve model for the active provider.
Returns Err if OpenRouter is selected with an explicit bare local whisper name
(e.g. --provider openrouter --model tiny) — that cannot be a remote model id.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnsafeUnpin for Config
impl UnwindSafe for Config
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more