zeph-a2a 0.12.3

A2A protocol client and server with agent discovery for Zeph
Documentation

zeph-a2a

Crates.io docs.rs License: MIT MSRV

A2A protocol client and server with agent discovery for Zeph.

Overview

Implements the Agent-to-Agent (A2A) protocol over JSON-RPC 2.0, enabling Zeph to discover, communicate with, and delegate tasks to remote agents. Feature-gated behind a2a; the server component requires the server sub-feature.

Key Modules

  • clientA2aClient for sending tasks and messages to remote agents
  • serverA2aServer exposing an A2A-compliant endpoint with ProcessorEvent streaming via mpsc::Sender (requires server feature)
  • cardAgentCardBuilder for constructing agent capability cards
  • discoveryAgentRegistry for agent lookup and registration
  • jsonrpc — JSON-RPC 2.0 request/response types
  • types — shared protocol types (Task, Message, Artifact, etc.)
  • errorA2aError error types

Authentication

A2aServer supports bearer token authentication via the with_auth() builder method. When auth_token is None, the server emits a tracing::warn! at startup indicating that the endpoint is unauthenticated.

A2aServer::new(addr, sender)
    .with_auth(Some("secret-token".to_string()))
    .serve()
    .await?;

Token comparison uses subtle::ConstantTimeEq to prevent timing attacks.

Installation

cargo add zeph-a2a

Enabled via the a2a feature flag on the root zeph crate.

License

MIT