pub struct ModelCapabilities {
pub supports_thinking: bool,
pub supports_vision: bool,
pub supports_tool_use: bool,
pub supports_streaming: bool,
pub supports_structured_output: bool,
pub max_context_window: Option<u64>,
pub max_output_tokens: Option<u64>,
}Expand description
Per-model capability flags and limits.
Populated from the model catalog or set manually. The agent loop can
inspect these before enabling provider-specific features (e.g. skip
thinking blocks when supports_thinking is false).
Fields§
§supports_thinking: boolWhether the model supports extended-thinking / chain-of-thought blocks.
supports_vision: boolWhether the model accepts image content blocks.
supports_tool_use: boolWhether the model can invoke tools.
supports_streaming: boolWhether the model supports streaming responses.
supports_structured_output: boolWhether the model supports structured (JSON schema) output.
max_context_window: Option<u64>Maximum input context window in tokens, if known.
max_output_tokens: Option<u64>Maximum output tokens per response, if known.
Implementations§
Source§impl ModelCapabilities
impl ModelCapabilities
pub const fn with_thinking(self, val: bool) -> Self
pub const fn with_vision(self, val: bool) -> Self
pub const fn with_tool_use(self, val: bool) -> Self
pub const fn with_streaming(self, val: bool) -> Self
pub const fn with_structured_output(self, val: bool) -> Self
pub const fn with_max_context_window(self, tokens: u64) -> Self
pub const fn with_max_output_tokens(self, tokens: u64) -> Self
Trait Implementations§
Source§impl Clone for ModelCapabilities
impl Clone for ModelCapabilities
Source§fn clone(&self) -> ModelCapabilities
fn clone(&self) -> ModelCapabilities
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ModelCapabilities
impl Debug for ModelCapabilities
Source§impl Default for ModelCapabilities
impl Default for ModelCapabilities
Source§fn default() -> ModelCapabilities
fn default() -> ModelCapabilities
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ModelCapabilities
impl<'de> Deserialize<'de> for ModelCapabilities
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for ModelCapabilities
impl PartialEq for ModelCapabilities
Source§impl Serialize for ModelCapabilities
impl Serialize for ModelCapabilities
impl Eq for ModelCapabilities
impl StructuralPartialEq for ModelCapabilities
Auto Trait Implementations§
impl Freeze for ModelCapabilities
impl RefUnwindSafe for ModelCapabilities
impl Send for ModelCapabilities
impl Sync for ModelCapabilities
impl Unpin for ModelCapabilities
impl UnsafeUnpin for ModelCapabilities
impl UnwindSafe for ModelCapabilities
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
Mutably borrows from an owned value. Read more