Skip to main content

Module channels

Module channels 

Source
Expand description

Channel subsystem for messaging platform integrations.

This module provides the multi-channel messaging infrastructure that connects Construct to external platforms. Each channel implements the Channel trait defined in traits, which provides a uniform interface for sending messages, listening for incoming messages, health checking, and typing indicators.

Channels are instantiated by start_channels based on the runtime configuration. The subsystem manages per-sender conversation history, concurrent message processing with configurable parallelism, and exponential-backoff reconnection for resilience.

§Extension

To add a new channel, implement Channel in a new submodule and wire it into start_channels. See AGENTS.md §7.2 for the full change playbook.

Re-exports§

pub use bluesky::BlueskyChannel;
pub use clawdtalk::ClawdTalkChannel;
pub use clawdtalk::ClawdTalkConfig;
pub use cli::CliChannel;
pub use dingtalk::DingTalkChannel;
pub use discord::DiscordChannel;
pub use discord_history::DiscordHistoryChannel;
pub use email_channel::EmailChannel;
pub use gmail_push::GmailPushChannel;
pub use imessage::IMessageChannel;
pub use irc::IrcChannel;
pub use linq::LinqChannel;
pub use mattermost::MattermostChannel;
pub use mochat::MochatChannel;
pub use nextcloud_talk::NextcloudTalkChannel;
pub use notion::NotionChannel;
pub use qq::QQChannel;
pub use reddit::RedditChannel;
pub use signal::SignalChannel;
pub use slack::SlackChannel;
pub use telegram::TelegramChannel;
pub use traits::Channel;
pub use traits::SendMessage;
pub use tts::TtsManager;
pub use tts::TtsProvider;
pub use twitter::TwitterChannel;
pub use voice_call::VoiceCallChannel;
pub use voice_call::VoiceCallConfig;
pub use wati::WatiChannel;
pub use webhook::WebhookChannel;
pub use wecom::WeComChannel;
pub use whatsapp::WhatsAppChannel;

Modules§

acp_server
ACP (Agent Control Protocol) Server — JSON-RPC 2.0 over stdio.
bluesky
clawdtalk
ClawdTalk voice channel - real-time voice calling via Telnyx SIP infrastructure.
cli
debounce
Inbound message debouncing for rapid senders.
dingtalk
discord
discord_history
email_channel
gmail_push
Gmail Pub/Sub push notification channel.
imessage
irc
link_enricher
Link enricher: auto-detects URLs in inbound messages, fetches their content, and prepends summaries so the agent has link context without explicit tool calls.
linq
mattermost
media_pipeline
Automatic media understanding pipeline for inbound channel messages.
mochat
nextcloud_talk
notion
qq
reddit
session_backend
Trait abstraction for session persistence backends.
session_sqlite
SQLite-backed session persistence with FTS5 search.
session_store
JSONL-based session persistence for channel conversations.
signal
slack
telegram
traits
transcription
tts
Multi-provider Text-to-Speech (TTS) subsystem.
twitter
voice_call
Real-time voice call channel for Twilio, Telnyx, and Plivo.
wati
webhook
wecom
whatsapp

Functions§

build_system_prompt
Load workspace identity files and build a system prompt.
build_system_prompt_with_mode
build_system_prompt_with_mode_and_autonomy
doctor_channels
Run health checks for configured channels.
start_channels
Start all configured channels and route messages to the agent