Channel adapters
Route external conversations through paired channel identities without bypassing sessions, policy, or audit boundaries.
A shared stream keeps every interface in sync
Channel surface
The repository advertises Telegram and Discord adapters with pairing and rate limiting. The session model also reserves channel types for Slack, WhatsApp, the desktop interface, and other integrations; those reserved session types should not be read as identical implementation status for every adapter.
- Telegram and Discord are named channel adapters in the current repository
- Voice uses the separate governed voice gateway
- Slack and WhatsApp appear in channel-session infrastructure and remain implementation-sensitive
Pairing and identity
External users are mapped through channel type and channel user identifiers before messages enter an agent session. Pairing establishes that routing relationship; it does not grant broad runtime authority.
Session routing
Channel sessions remain independent from the durable agent transcript table. Group, peer, and agent identifiers form scoped session keys so unrelated conversations do not share context.
Governance boundary
Messages arriving from a channel enter the same task, capability, approval, and ledger paths as desktop or API requests. Adapter rate limiting protects ingress, while policy decides which actions can execute.
