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>>,
pub compat_warnings: Vec<String>,
/* 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.
compat_warnings: Vec<String>Compatibility diagnostics for the caller to display through its UI. Resolution and catalog queries never write directly to the terminal.