A compact implementation of the Agent Client Protocol v1.
Two traits carry the protocol. An agent implements [Agent] and gets a
[ClientConn] to call the client with; a client implements [Client]
and gets an [AgentConn] to call the agent with. Routing is provided —
you write handlers, never a dispatch table.
Every optional method defaults to replying "method not found", so a peer that asks for something you do not serve gets a clean refusal rather than waiting forever.
Each side is a feature, and both are on by default. Turn off the one you do not implement:
= { = "0.0.1", = false, = ["client"] }
Depend on cacp-proto instead if you only need the wire types; it pulls
in no async runtime.