rsclaw-channel 0.1.0

Channel crate for RsClaw — internal workspace crate, not for direct use
docs.rs failed to build rsclaw-channel-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

Channel subsystem.

TODO: Channel instances are stored behind OnceCell (set once at startup). This prevents hot-adding or replacing channels at runtime. Migrate to ArcSwap to support the channel hot-add feature (see feature backlog).

A channel is an integration point where messages arrive (Telegram, Discord, CLI, etc.). Each channel implementation:

  1. Receives inbound messages and forwards them to the gateway router.
  2. Sends outbound replies (with optional chunking / preview streaming).
  3. Enforces dmPolicy (pairing / allowlist / open / disabled).

Modules:

  • modChannel trait, DmPolicyEnforcer, PairingStore
  • chunker — text chunking with code-fence protection
  • telegram — Telegram Bot API client
  • discord — Discord Bot WebSocket + REST
  • slack — Slack Socket Mode + Web API
  • whatsapp — WhatsApp Cloud API (webhook)
  • signal — Signal via signal-cli JSON-RPC
  • dingtalk — DingTalk Robot Stream Mode + REST
  • line — LINE Messaging API (webhook)
  • zalo — Zalo Official Account API (webhook)
  • matrix — Matrix Client-Server API (long-poll sync)
  • cli — CLI interactive channel