pub struct AgentCard {
pub id: Option<Uuid>,
pub organization_id: Option<Uuid>,
pub name: String,
pub description: String,
pub capabilities: AgentCapabilities,
pub authentication: Option<Vec<SecurityScheme>>,
pub endpoints: HashMap<String, EndpointConfig>,
pub version: Option<String>,
pub documentation_url: Option<String>,
pub scopes: Option<Vec<AgentScope>>,
}Expand description
Agent Card for agent discovery
The Agent Card is published at /.well-known/agent-card.json and describes
the agent’s capabilities, supported interfaces, and authentication requirements.
Fields§
§id: Option<Uuid>Database ID (not part of protocol, used for database storage)
organization_id: Option<Uuid>Organization ID (not part of protocol, used for multi-tenancy)
name: StringName of the agent
description: StringHuman-readable description of the agent
capabilities: AgentCapabilitiesAgent capabilities
authentication: Option<Vec<SecurityScheme>>Supported authentication schemes
endpoints: HashMap<String, EndpointConfig>Endpoint configurations for different bindings
version: Option<String>Agent version
documentation_url: Option<String>URL to agent documentation
scopes: Option<Vec<AgentScope>>Granular access control scopes (not part of protocol, used for authorization)
Implementations§
Source§impl AgentCard
impl AgentCard
Sourcepub fn new(
name: impl Into<String>,
description: impl Into<String>,
capabilities: AgentCapabilities,
) -> Self
pub fn new( name: impl Into<String>, description: impl Into<String>, capabilities: AgentCapabilities, ) -> Self
Create a new agent card
Sourcepub fn with_endpoint(
self,
name: impl Into<String>,
config: EndpointConfig,
) -> Self
pub fn with_endpoint( self, name: impl Into<String>, config: EndpointConfig, ) -> Self
Add an endpoint to the agent card
Sourcepub fn with_authentication(self, schemes: Vec<SecurityScheme>) -> Self
pub fn with_authentication(self, schemes: Vec<SecurityScheme>) -> Self
Add authentication schemes
Sourcepub fn with_version(self, version: impl Into<String>) -> Self
pub fn with_version(self, version: impl Into<String>) -> Self
Set the agent version
Trait Implementations§
Source§impl<'de> Deserialize<'de> for AgentCard
impl<'de> Deserialize<'de> for AgentCard
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
impl StructuralPartialEq for AgentCard
Auto Trait Implementations§
impl Freeze for AgentCard
impl RefUnwindSafe for AgentCard
impl Send for AgentCard
impl Sync for AgentCard
impl Unpin 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
Mutably borrows from an owned value. Read more