Expand description
Channel implementations for the Zeph agent.
This crate provides the concrete Channel implementations used by the
Zeph agent loop. Every implementation wraps a transport-specific I/O
mechanism and exposes a uniform async interface that the agent core uses
without knowing the underlying delivery medium.
§Available channels
| Type | Feature | Transport |
|---|---|---|
CliChannel | always | stdin / stdout |
telegram::TelegramChannel | always | Telegram Bot API via teloxide |
DiscordChannel | discord | Discord gateway |
SlackChannel | slack | Slack Events API |
§Runtime dispatch
AnyChannel is an enum that implements Channel by delegating to the
active variant. The binary selects the variant at startup and passes
AnyChannel throughout; the agent core never needs to be generic over the
channel type.
§Shared timeouts
CONFIRM_TIMEOUT and ELICITATION_TIMEOUT define the deny-on-timeout
durations that all remote channel adapters must honour for interactive
dialogs. They are intentionally centralised here so that the behaviour is
consistent across Telegram, Discord, and Slack.
Re-exports§
pub use cli::CliChannel;pub use json_cli::JsonCliChannel;
Modules§
- cli
- CLI channel: stdin input and stdout output for interactive sessions.
- json_
cli - JSON CLI channel: emits JSONL events to stdout, reads prompts from stdin.
- markdown
- Markdown-to-Telegram conversion and UTF-8-safe message chunking.
- telegram
- Telegram channel adapter built on teloxide.
Enums§
- AnyChannel
- Enum dispatch for runtime channel selection.
Constants§
- CONFIRM_
TIMEOUT - Shared timeout for interactive confirmation dialogs across all remote channels.
- ELICITATION_
TIMEOUT - Per-field timeout for interactive elicitation dialogs on remote channels.