Skip to main content

ValidatedConfig

Struct ValidatedConfig 

Source
pub struct ValidatedConfig { /* private fields */ }
Expand description

Configuration that has passed Config::validate (JOE-1779 / JOE-1654).

Construct only via ValidatedConfig::try_from_config, ValidatedConfig::load, or related loaders — never by freely mutating a raw Config without re-validation.

Implementations§

Source§

impl ValidatedConfig

Source

pub fn try_from_config(cfg: Config) -> Result<Self>

Validate and wrap a raw runtime config.

Source

pub fn load() -> Result<Self>

Load defaults/file/env and validate.

Source

pub fn load_from(path: &Path) -> Result<Self>

Load an optional path (missing → defaults) then validate.

Source

pub fn load_from_required(path: &Path) -> Result<Self>

Load a required path then validate.

Source

pub fn as_config(&self) -> &Config

Source

pub fn into_config(self) -> Config

Consume into the underlying config (already validated).

Source

pub fn apply_cli( 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>, ) -> Result<Self>

Apply CLI overrides then re-validate (fail closed).

Methods from Deref<Target = Config>§

Source

pub fn validate(&self) -> Result<()>

Validate provider/model/style/limit cross-fields (JOE-1608).

Source

pub fn validate_tts_custom_models(&self) -> Result<()>

Validate [[tts.custom_models]] uniqueness and reserved namespaces. Full pack verification runs when pack_dir paths exist on disk.

Source

pub fn effective_diagnostic(&self) -> EffectiveConfigDiagnostic

Redacted diagnostic view for --print-effective-config (JOE-1608).

Source

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§

Source§

impl AsRef<Config> for ValidatedConfig

Source§

fn as_ref(&self) -> &Config

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Clone for ValidatedConfig

Source§

fn clone(&self) -> ValidatedConfig

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ValidatedConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for ValidatedConfig

Source§

type Target = Config

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more