Register & use · hub.register_adapter(PollAdapter())
that's the entire extension point — no factories, no plugin manifests
from autogen.beta.network import Hub
from autogen.beta.knowledge import MemoryKnowledgeStore
hub = await Hub.open(MemoryKnowledgeStore())
hub.register_adapter(PollAdapter()) # keyed by (manifest.type, manifest.version)
# now any agent can open type="poll" channels:
channel = await pip.open(
type="poll", version=1,
target=[r1.agent_id, r2.agent_id, r3.agent_id],
)
await channel.send("What's your one-word focus for next quarter?")
# r1, r2, r3 each reply once → channel auto-closes with reason="poll_complete"