vtcode-a2a
June 17, 2026 · View on GitHub
Agent2Agent (A2A) Protocol support for VT Code.
Overview
Layer 0 crate with zero internal vtcode dependencies. Provides the A2A protocol implementation for agent-to-agent communication, including agent discovery, task management, and webhook notifications.
Module Groups
| Area | Modules | Description |
|---|---|---|
| Agent Card | agent_card | Agent discovery and capability advertisement |
| Client | client | A2A protocol client |
| CLI | cli | CLI interface for A2A commands |
| Errors | errors | A2A-specific error types |
| RPC | rpc | JSON-RPC message types and protocol constants |
| Server | server | HTTP server (feature-gated: a2a-server) |
| Task Manager | task_manager | Task lifecycle management |
| Types | types | Core A2A protocol types (Message, Task, Part, etc.) |
| Webhook | webhook | Push notification support |
Key Concepts
Agent Card
Agent cards describe agent identity, version, capabilities, and security requirements. They enable agents to discover and communicate with each other.
Task Management
The task manager handles the lifecycle of A2A tasks, including creation, execution, and completion tracking.
Webhook Notifications
WebhookNotifier is always available (not feature-gated) — only the HTTP server is gated behind a2a-server.
Feature Flags
a2a-server— enables the HTTP server module- Feature chain: vtcode binary
a2a-server→ vtcode-corea2a-server→ vtcode-a2aa2a-server
Rules
- The
servermodule is feature-gated behinda2a-server— never import unconditionally shutdown_signal_logged()is defined in lib.rs (not a separate module)- Re-export facade in vtcode-core (
a2a/mod.rs) must stay in sync with feature gates
See Also
- A2A Documentation — protocol guides and examples
- Architecture Guide — explicit delegation model