pub struct ResolvedModel {
pub provider: Arc<dyn Provider>,
pub model: Model,
pub thinking_level: ThinkingLevel,
pub has_provider_key: bool,
pub theme: Option<String>,
pub providers: Vec<Arc<dyn Provider>>,
/* private fields */
}Expand description
The resolved run configuration: the provider handle, the chosen model, and
the effective thinking level (after --thinking / :level / model-clamp).
Fields§
§provider: Arc<dyn Provider>The selected provider. Cheap to clone through the trait-object Arc.
model: ModelThe chosen model from the catalog.
thinking_level: ThinkingLevelEffective thinking level (the requested level, before model-clamp — the harness/provider clamps to the model’s supported set).
has_provider_key: boolWhether the selected runtime is configured with a provider-default key or an explicit anonymous policy. Otherwise auth belongs to model headers.
Retained for diagnostics and API compatibility. Published catalogs are already filtered when their execution bindings are constructed.
theme: Option<String>Saved theme name from ~/.rpi/agent/settings.json, if any. Best-effort:
the TUI applies it at startup when it matches a known preset
(dark/light/monochrome); otherwise ignored.
providers: Vec<Arc<dyn Provider>>Every authenticated provider runtime, with the selected provider first.
The harness resolves a provider lazily by model.provider, so this lets
/model hot-switch across providers without a restart.
Trait Implementations§
Source§impl Clone for ResolvedModel
impl Clone for ResolvedModel
Auto Trait Implementations§
impl !RefUnwindSafe for ResolvedModel
impl !UnwindSafe for ResolvedModel
impl Freeze for ResolvedModel
impl Send for ResolvedModel
impl Sync for ResolvedModel
impl Unpin for ResolvedModel
impl UnsafeUnpin for ResolvedModel
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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