Skip to main content

Module channels

Module channels 

Source
Expand description

Channel abstraction — the core trait for all I/O surfaces.

Every external interface (GitHub, Telegram, Discord, tmux) implements the Channel trait. This gives the engine a uniform way to:

  • Receive commands/messages
  • Send task updates and agent output

Channels are bidirectional and async. The engine doesn’t care whether a message came from a Telegram DM, a GitHub issue comment, or a Discord thread — it processes the same IncomingMessage type.

Modules§

capture
Capture service — polls tmux sessions for output and broadcasts to transport.
discord
Discord channel — REST helpers for sending messages.
discord_ws
Discord Gateway websocket client.
github
GitHub webhook server — receives events from GitHub and dispatches them.
notification
Notification types — task completion events broadcast to all channels.
routing
Channel-to-project routing map.
slack
Slack channel — receives commands and streams agent output.
stream
Output streaming — fans out session output to bound channel threads.
telegram
Telegram channel — receives commands and streams agent output.
tmux
tmux channel — bridges agent sessions to the transport layer.
transport
Transport layer — connects channels to tmux agent sessions.

Structs§

ChannelRegistry
Registry of active channels.
IncomingMessage
A message received from any channel.
OutgoingMessage
A message to send to a channel.
OutputChunk
An agent output chunk for streaming.

Traits§

Channel
The core channel trait. All external interfaces implement this.