Skip to content

Agent-to-Agent Communication

Foundation types for inter-agent communication with capability discovery and trust scoring.

Capabilities

from agenticapi.interface.a2a import Capability, CapabilityRegistry

registry = CapabilityRegistry()
registry.register(Capability(
    name="inventory_lookup",
    description="Look up current inventory levels",
    sla_max_latency_ms=500,
    sla_availability=0.999,
))

registry.has("inventory_lookup")       # True
registry.get("inventory_lookup")       # Capability object
registry.list_capabilities()           # All registered capabilities

Trust Scoring

from agenticapi.interface.a2a import TrustPolicy, TrustScorer

scorer = TrustScorer(policy=TrustPolicy(
    initial_trust=0.5,
    min_trust_for_read=0.3,
    min_trust_for_write=0.8,
))

scorer.get_score("agent-123")      # 0.5 (initial)
scorer.record_success("agent-123") # Trust increases
scorer.record_failure("agent-123") # Trust decreases
scorer.can_read("agent-123")       # True/False
scorer.can_write("agent-123")      # True/False

Message Types

The A2A protocol defines 10 message types:

DISCOVER, INTENT, NEGOTIATE, DELEGATE, OBSERVE, REVISE, EXPLAIN, VERIFY, RESPONSE, ERROR

from agenticapi.interface.a2a import A2AMessage, A2AMessageType

msg = A2AMessage(
    message_type=A2AMessageType.INTENT,
    sender="agent-a",
    receiver="agent-b",
    payload={"action": "read"},
)

Capability Discovery Endpoint

Every app exposes GET /capabilities returning structured metadata about all registered endpoints.