pub struct ModelProfile {Show 15 fields
pub provider: String,
pub model_family: String,
pub supports_temperature: bool,
pub supports_thinking: bool,
pub supports_reasoning: bool,
pub inline_video: bool,
pub vision: bool,
pub image_input: bool,
pub image_tool_results: bool,
pub realtime: bool,
pub supports_web_search: bool,
pub image_generation: bool,
pub params_schema: Value,
pub beta_headers: Vec<ModelBetaHeader>,
pub call_timeout_secs: Option<u64>,
}Expand description
Runtime profile for a model, describing its capabilities and operational defaults.
This is a capability-plus-operational-defaults catalog: it owns both model capability flags (vision, thinking, temperature) and authoritative model-specific operational defaults (call timeout) that the factory composes into effective runtime policy. This ownership expansion is deliberate — see dogma rule §11.
Fields§
§provider: StringCanonical provider string.
model_family: StringModel family identifier (e.g., "claude-opus-4", "gpt-5", "gemini-3").
supports_temperature: boolWhether the model accepts a temperature parameter.
supports_thinking: boolWhether the model supports extended thinking / reasoning budgets.
supports_reasoning: boolWhether the model supports explicit reasoning effort control.
inline_video: boolWhether the model accepts inline video content in user messages.
vision: boolWhether the model accepts image content in user messages.
image_input: boolWhether user messages may include image input blocks.
image_tool_results: boolWhether the model can process image blocks in tool results.
When false, view_image is hidden from the tool list.
realtime: boolWhether the model supports a realtime bidirectional streaming transport
(e.g. OpenAI *-realtime* endpoints, Gemini *-live* endpoints). Drives
capability-based realtime transport attach/detach in the runtime.
supports_web_search: boolWhether the model supports provider-native web search tools.
image_generation: boolWhether the provider/model can use Meerkat image generation.
params_schema: ValueJSON Schema describing accepted provider-specific parameters.
beta_headers: Vec<ModelBetaHeader>Beta headers authorized by the model capability catalog.
call_timeout_secs: Option<u64>Authoritative default call timeout in seconds for this model family.
None means the model family has no profiled default timeout.
This is the canonical source for model-specific call timeout defaults,
consumed by the factory/agent-loop resolver trait at call time.
Trait Implementations§
Source§impl Clone for ModelProfile
impl Clone for ModelProfile
Source§fn clone(&self) -> ModelProfile
fn clone(&self) -> ModelProfile
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ModelProfile
impl Debug for ModelProfile
Source§impl<'de> Deserialize<'de> for ModelProfile
impl<'de> Deserialize<'de> for ModelProfile
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for ModelProfile
impl JsonSchema for ModelProfile
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read more