Skip to main content

Crate a2a_rs_client

Crate a2a_rs_client 

Source
Expand description

A2A Client Library

This library provides a reusable client for communicating with A2A RC 1.0 compliant agent servers.

§Example Usage

use a2a_rs_client::{A2aClient, ClientConfig};
use a2a_rs_core::{Message, Part, Role};

let config = ClientConfig {
    server_url: "http://localhost:8080".to_string(),
    max_polls: 30,
    poll_interval_ms: 2000,
    oauth: None,
};

let client = A2aClient::new(config)?;
let card = client.fetch_agent_card().await?;

let message = Message {
    message_id: uuid::Uuid::new_v4().to_string(),
    role: Role::User,
    parts: vec![Part::text("Hello")],
    context_id: None,
    task_id: None,
    extensions: vec![],
    reference_task_ids: None,
    metadata: None,
};

let response = client.send_message(message, None).await?;

Structs§

A2aClient
A2A Client for communicating with A2A-compliant agent servers
ClientConfig
Client configuration
OAuthConfig
OAuth configuration for client authentication

Functions§

generate_code_challenge
Generate a PKCE code challenge from a code verifier using S256 method
generate_code_verifier
Generate a PKCE code verifier (43-128 character random string)
generate_random_string
Generate a random string for state parameter