systemprompt-agent 0.2.0

Core Agent protocol module for systemprompt.io
Documentation
use crate::models::a2a::{AgentCapabilities, SecurityScheme, TransportProtocol};
use serde::Deserialize;
use std::collections::HashMap;

#[derive(Debug, Clone, Deserialize)]
pub struct AgentCardInput {
    #[serde(default = "default_protocol_version")]
    pub protocol_version: String,
    pub name: String,
    pub description: String,
    #[serde(default)]
    pub url: Option<String>,
    pub version: String,
    #[serde(default)]
    pub preferred_transport: Option<TransportProtocol>,
    #[serde(default)]
    pub capabilities: AgentCapabilities,
    #[serde(default)]
    pub default_input_modes: Vec<String>,
    #[serde(default)]
    pub default_output_modes: Vec<String>,
    #[serde(default)]
    pub skills: Vec<crate::models::a2a::AgentSkill>,
    #[serde(default)]
    pub security_schemes: Option<HashMap<String, SecurityScheme>>,
    #[serde(default)]
    pub security: Option<Vec<HashMap<String, Vec<String>>>>,
}

pub fn default_protocol_version() -> String {
    "0.3.0".to_string()
}