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§
- Channel
Registry - Registry of active channels.
- Incoming
Message - A message received from any channel.
- Outgoing
Message - A message to send to a channel.
- Output
Chunk - An agent output chunk for streaming.
Traits§
- Channel
- The core channel trait. All external interfaces implement this.