pub struct ProviderCapabilities {
pub streaming: bool,
pub reasoning: bool,
pub tool_calls: bool,
pub parallel_tool_calls: bool,
pub structured_output: bool,
pub usage: bool,
pub context_cancellation: bool,
pub context_deadline: bool,
}Expand description
Provider capability metadata used by hosts and conformance tests.
Capabilities are descriptive, not a security boundary. When a provider
declares support for an optional capability, it should pass the matching
provider conformance cases. Unsupported direct calls should return
ProviderError::Unsupported rather than panic.
Fields§
§streaming: bool§reasoning: boolMaps provider reasoning/thinking output to Message or
StreamEvent::Reasoning.
tool_calls: boolSupports model tool-call requests.
parallel_tool_calls: boolPreserves multiple tool calls in one assistant turn.
structured_output: boolAccepts ModelOptions::structured as a provider-side best-effort
constraint.
usage: boolReports provider token usage when the backend supplies it.
context_cancellation: boolCooperatively observes cancellation from ProviderRequestContext.
context_deadline: boolCooperatively observes deadlines from ProviderRequestContext.
Implementations§
Source§impl ProviderCapabilities
impl ProviderCapabilities
Sourcepub fn baseline() -> ProviderCapabilities
pub fn baseline() -> ProviderCapabilities
Baseline provider capabilities: non-streaming text only.
Trait Implementations§
Source§impl Clone for ProviderCapabilities
impl Clone for ProviderCapabilities
Source§fn clone(&self) -> ProviderCapabilities
fn clone(&self) -> ProviderCapabilities
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 ProviderCapabilities
impl Debug for ProviderCapabilities
Source§impl Default for ProviderCapabilities
impl Default for ProviderCapabilities
Source§fn default() -> ProviderCapabilities
fn default() -> ProviderCapabilities
Source§impl<'de> Deserialize<'de> for ProviderCapabilities
impl<'de> Deserialize<'de> for ProviderCapabilities
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ProviderCapabilities, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ProviderCapabilities, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for ProviderCapabilities
Source§impl PartialEq for ProviderCapabilities
impl PartialEq for ProviderCapabilities
Source§impl Serialize for ProviderCapabilities
impl Serialize for ProviderCapabilities
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for ProviderCapabilities
Auto Trait Implementations§
impl Freeze for ProviderCapabilities
impl RefUnwindSafe for ProviderCapabilities
impl Send for ProviderCapabilities
impl Sync for ProviderCapabilities
impl Unpin for ProviderCapabilities
impl UnsafeUnpin for ProviderCapabilities
impl UnwindSafe for ProviderCapabilities
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.