digraph Agent99Architecture { rankdir=LR; node [shape=box, style=rounded]; subgraph cluster_0 { label="Agent99 Framework"; style=dashed; Agent1 [label="Agent 1\n(Client)"]; Agent2 [label="Agent 2\n(Server)"]; Agent3 [label="Agent 3\n(Hybrid)"]; } Registry [shape=cylinder, label="Registry\nService"]; MessageBroker [shape=diamond, label="Message Broker\n(AMQP/NATS)"]; // Registration flows Agent1 -> Registry [label="register/discover", style=dashed]; Agent2 -> Registry [label="register/discover", style=dashed]; Agent3 -> Registry [label="register/discover", style=dashed]; // Message flows Agent1 -> MessageBroker [dir=both, label="publish/subscribe"]; Agent2 -> MessageBroker [dir=both, label="publish/subscribe"]; Agent3 -> MessageBroker [dir=both, label="publish/subscribe"]; }