pub struct AgentCard {Show 15 fields
pub name: String,
pub url: Option<String>,
pub description: String,
pub version: String,
pub supported_interfaces: Vec<AgentInterface>,
pub default_input_modes: Vec<String>,
pub default_output_modes: Vec<String>,
pub skills: Vec<AgentSkill>,
pub capabilities: AgentCapabilities,
pub provider: Option<AgentProvider>,
pub icon_url: Option<String>,
pub documentation_url: Option<String>,
pub security_schemes: Option<HashMap<String, SecurityScheme>>,
pub security_requirements: Option<Vec<SecurityRequirement>>,
pub signatures: Option<Vec<AgentCardSignature>>,
}Expand description
The root discovery document for an A2A agent.
Served at /.well-known/agent.json. Clients fetch this document to
discover the agent’s interfaces, capabilities, skills, and security
requirements before establishing a session.
In v1.0, protocol_version and url moved to AgentInterface, and
supported_interfaces replaces the old url/preferred_transport/
additional_interfaces fields.
Fields§
§name: StringDisplay name of the agent.
url: Option<String>Primary URL of the agent.
Convenience field that typically matches the URL of the first
entry in supported_interfaces.
description: StringHuman-readable description of the agent’s purpose.
version: StringSemantic version of this agent implementation.
supported_interfaces: Vec<AgentInterface>Transport interfaces offered by this agent.
Spec requirement: Must contain at least one element.
default_input_modes: Vec<String>Default MIME types accepted as input.
default_output_modes: Vec<String>Default MIME types produced as output.
skills: Vec<AgentSkill>Skills offered by this agent.
Spec requirement: Must contain at least one element.
capabilities: AgentCapabilitiesCapability flags.
provider: Option<AgentProvider>The organization operating this agent.
icon_url: Option<String>URL of the agent’s icon image.
documentation_url: Option<String>URL of the agent’s documentation.
security_schemes: Option<HashMap<String, SecurityScheme>>Named security scheme definitions (OpenAPI-style).
security_requirements: Option<Vec<SecurityRequirement>>Global security requirements for the agent.
signatures: Option<Vec<AgentCardSignature>>Cryptographic signatures over this card.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for AgentCard
impl<'de> Deserialize<'de> for AgentCard
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<AgentCard, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<AgentCard, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for AgentCard
impl Serialize for AgentCard
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,
Auto Trait Implementations§
impl Freeze for AgentCard
impl RefUnwindSafe for AgentCard
impl Send for AgentCard
impl Sync for AgentCard
impl Unpin for AgentCard
impl UnsafeUnpin for AgentCard
impl UnwindSafe for AgentCard
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request