vtcode-a2a

June 14, 2026 · View on GitHub

Root AGENTS.md | Agent2Agent (A2A) Protocol support. Layer 0 crate — zero internal vtcode dependencies.

Module Groups

AreaModules
Agent Cardagent_card — agent discovery and capability advertisement
Clientclient — A2A protocol client
CLIcli — CLI interface for A2A commands
Errorserrors — A2A-specific error types
RPCrpc — JSON-RPC message types and protocol constants
Serverserver — HTTP server (feature-gated: a2a-server)
Task Managertask_manager — task lifecycle management
Typestypes — core A2A protocol types (Message, Task, Part, etc.)
Webhookwebhook — push notification support

Rules

  • The server module is feature-gated behind a2a-server — never import unconditionally.
  • shutdown_signal_logged() is defined in lib.rs (not a separate module) — used by server.rs.
  • Re-export facade in vtcode-core (a2a/mod.rs) must stay in sync with feature gates.

Gotchas

  • server.rs uses crate::shutdown_signal_logged (not vtcode-core's shutdown) — local function.
  • Feature flag chain: vtcode binary a2a-server -> vtcode-core a2a-server -> vtcode-a2a a2a-server.
  • WebhookNotifier is always available (not feature-gated) — only the HTTP server is gated.