Skip to main content

Module channels

Module channels 

Modules§

acp_embedded
ACP re-export of shared embedded-resource materialization. Implementation lives in zeroclaw_tools::embedded_resource so MCP and ACP share one helper without zeroclaw-tools depending on this crate.
acp_server
ACP (Agent Control Protocol) Server — JSON-RPC 2.0 over stdio.
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.
media_pipeline
Automatic media understanding pipeline for inbound channel messages.
session_backend
session_sqlite
telegram
transcription

Structs§

ChannelMessage
A message received from or sent to a channel
CliChannel
CLI channel — stdin/stdout, always available, zero deps
DiscordChannel
Discord channel — connects via Gateway WebSocket for real-time messages
DraftProgress
Rendered draft-progress text paired with its semantic origin.
EmailChannel
FilesystemChannel
Filesystem change source as a Channel.
GmailPushChannel
MessageDebouncer
Accumulates rapid inbound messages per sender and fires a single combined message after the debounce window elapses without new input.
SendMessage
Message to send through a channel
SqliteSessionBackend
SQLite-backed session store with FTS5 and WAL mode.
StallWatchdog
TelegramChannel
Telegram channel — long-polls the Bot API for updates
TtsManager
WebhookChannel
Generic Webhook channel — receives messages via HTTP POST and sends replies to a configurable outbound URL. This is the “universal adapter” for any system that supports webhooks.

Enums§

DraftProgressKind
Origin of a rendered draft-progress entry.
ListenerHealth
What a channel can say about its own listener without performing any I/O.

Constants§

BOOTSTRAP_MAX_CHARS
Maximum characters per injected workspace file (matches OpenClaw default).

Traits§

Channel
Core channel trait — implement for any messaging platform.
SessionBackend
Trait for session persistence backends. Implementations must be Send + Sync for sharing across async tasks.
TtsProvider
Trait for pluggable TTS backends.

Functions§

bind_channel_identity_into
Add identity to the peer group bound to <type>.<alias> in-place.
bind_telegram_identity
build_channel_map
build_system_prompt
Build the default system prompt.
build_system_prompt_with_mode
build_system_prompt_with_mode_and_autonomy
build_system_prompt_with_mode_and_effective_tools
Build the system prompt with the effective callable tool names supplied by the turn’s assembled registry. The tool descriptions remain separately filtered for the prompt surface, while skill callable metadata uses this name set as its availability source of truth.
channel_alias_configured
Whether a [channels.<type>.<alias>] section exists. Rust has no reflection over the typed channel maps, so this stays an explicit per-type match; only this arm grows when a new pairing channel lands.
channel_identity_normalizer
Resolve the identity normalizer for a pairing-capable channel type, or None for a type with no operator-bind surface. None is the closed-set gate: only telegram / wechat / line can be bound this way.
conversation_history_key
deliver_announcement
doctor_channels
Run health checks for configured channels.
handle_command
register_channels_for_tools
send_channel_message
Send a one-off message to a configured channel.
start_channels
Start all configured channels and route messages to the agent

Type Aliases§

ChannelIdentityNormalizer
Per-channel-type identity normalizer. The operator-bind op is otherwise identical across the pairing-capable channels; the only variance is how a raw identity is canonicalized before it is stored in the allowlist.