pub struct ManifestV2 {Show 24 fields
pub id: String,
pub protocol_version: String,
pub endpoint: EndpointV2,
pub error_classification: Option<ErrorClassification>,
pub name: Option<String>,
pub version: Option<String>,
pub status: Option<String>,
pub category: Option<String>,
pub official_url: Option<String>,
pub capabilities: CapabilitiesV2,
pub parameters: Option<HashMap<String, ParameterDef>>,
pub streaming: Option<StreamingV2>,
pub multimodal: Option<MultimodalConfig>,
pub computer_use: Option<ComputerUseConfig>,
pub mcp: Option<McpConfig>,
pub api_families: Option<Vec<String>>,
pub default_api_family: Option<String>,
pub endpoints: Option<HashMap<String, EndpointConfig>>,
pub services: Option<HashMap<String, ServiceConfig>>,
pub rate_limit_headers: Option<RateLimitHeaders>,
pub retry_policy: Option<RetryPolicy>,
pub termination: Option<TerminationConfig>,
pub metadata: Option<Value>,
pub extra: HashMap<String, Value>,
}Expand description
Complete V2 Provider Manifest — three-ring concentric circle structure.
Ring 1 fields are required. Ring 2 fields are conditional on capabilities. Ring 3 fields are optional advanced extensions.
Fields§
§id: String§protocol_version: String§endpoint: EndpointV2§error_classification: Option<ErrorClassification>§name: Option<String>§version: Option<String>§status: Option<String>§category: Option<String>§official_url: Option<String>§capabilities: CapabilitiesV2§parameters: Option<HashMap<String, ParameterDef>>§streaming: Option<StreamingV2>§multimodal: Option<MultimodalConfig>§computer_use: Option<ComputerUseConfig>§mcp: Option<McpConfig>§api_families: Option<Vec<String>>§default_api_family: Option<String>§endpoints: Option<HashMap<String, EndpointConfig>>§services: Option<HashMap<String, ServiceConfig>>§rate_limit_headers: Option<RateLimitHeaders>§retry_policy: Option<RetryPolicy>§termination: Option<TerminationConfig>§metadata: Option<Value>§extra: HashMap<String, Value>Implementations§
Source§impl ManifestV2
impl ManifestV2
Sourcepub fn has_capability(&self, cap: Capability) -> bool
pub fn has_capability(&self, cap: Capability) -> bool
Check if the manifest declares support for a given capability.
Sourcepub fn mcp_client_supported(&self) -> bool
pub fn mcp_client_supported(&self) -> bool
Check if MCP client is supported.
Sourcepub fn computer_use_supported(&self) -> bool
pub fn computer_use_supported(&self) -> bool
Check if Computer Use is supported.
Sourcepub fn detect_api_style(&self) -> ApiStyle
pub fn detect_api_style(&self) -> ApiStyle
Detect the API style from the manifest structure.
Sourcepub fn protocol_semver(&self) -> (u32, u32)
pub fn protocol_semver(&self) -> (u32, u32)
Determine the protocol version as a semver-like tuple.
Trait Implementations§
Source§impl Clone for ManifestV2
impl Clone for ManifestV2
Source§fn clone(&self) -> ManifestV2
fn clone(&self) -> ManifestV2
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 ManifestV2
impl Debug for ManifestV2
Source§impl<'de> Deserialize<'de> for ManifestV2
impl<'de> Deserialize<'de> for ManifestV2
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ManifestV2, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ManifestV2, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for ManifestV2
impl Serialize for ManifestV2
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,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for ManifestV2
impl RefUnwindSafe for ManifestV2
impl Send for ManifestV2
impl Sync for ManifestV2
impl Unpin for ManifestV2
impl UnsafeUnpin for ManifestV2
impl UnwindSafe for ManifestV2
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