Skip to main content

Crate zeph_channels

Crate zeph_channels 

Source
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

TypeFeatureTransport
CliChannelalwaysstdin / stdout
telegram::TelegramChannelalwaysTelegram Bot API via teloxide
DiscordChanneldiscordDiscord gateway
SlackChannelslackSlack 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.