pub struct AgentCard {
pub capabilities: Vec<String>,
pub supported_protocols: Vec<ProtocolId>,
pub metadata: HashMap<String, Value>,
pub endpoint: Option<String>,
pub max_concurrent_tasks: Option<usize>,
pub compute_capacity: Option<f64>,
}Expand description
Capability advertisement for an agent.
Inspired by A2A’s AgentCard concept — describes what an agent can do, which protocols it speaks, and how to reach it.
Fields§
§capabilities: Vec<String>High-level capabilities this agent offers (e.g. "code-review",
"file-editing", tool names).
supported_protocols: Vec<ProtocolId>Protocol identifiers this agent supports (e.g. "mcp", "a2a",
"ipc").
metadata: HashMap<String, Value>Arbitrary key-value metadata (e.g. model name, version, region).
endpoint: Option<String>Network endpoint if the agent is directly reachable (e.g.
"tcp://192.168.1.5:9090" or "unix:///tmp/agent.sock").
max_concurrent_tasks: Option<usize>Maximum number of tasks this agent can handle concurrently.
compute_capacity: Option<f64>Abstract compute capacity score (higher is more powerful).
Implementations§
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
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
Mutably borrows from an owned value. Read more