zeroclaw/src/channels
bhagwan 55f2637cfe feat(channel): add Signal channel via signal-cli JSON-RPC daemon
Adds a new Signal messaging channel that connects to a running
signal-cli daemon's native HTTP API (JSON-RPC + SSE).

  [channels_config.signal]
  http_url = "http://127.0.0.1:8686"
  account = "+1234567890"
  group_id = "group_id"  # optional, omit for all
  allowed_from = ["+1111111111"]
  ignore_attachments = true
  ignore_stories = true

Implementation:
- SSE listener at /api/v1/events for incoming messages
- JSON-RPC sends via /api/v1/rpc (method: send)
- Health check via /api/v1/check
- Typing indicators via sendTyping RPC
- Supports DMs and group messages (room_id filtering)
- Allowlist-based sender filtering (E.164 or wildcard)
- Optional attachment/story filtering
- Fixed has_supervised_channels() to include signal + irc/lark/dingtalk

Registered in channel list, doctor, start, integrations registry, and
daemon supervisor gate. Includes unit tests for config serde, sender
filtering, room matching, envelope processing, and deserialization.

No new dependencies (uses existing uuid, futures-util, reqwest).
2026-02-17 22:35:33 +08:00
..
cli.rs fix(build): restore ChannelMessage reply_target usage (#541) 2026-02-17 08:41:02 -05:00
dingtalk.rs fix(build): restore ChannelMessage reply_target usage (#541) 2026-02-17 08:41:02 -05:00
discord.rs fix(ci): repair parking_lot migration regressions in PR #535 2026-02-17 09:10:40 -05:00
email_channel.rs fix(ci): repair parking_lot migration regressions in PR #535 2026-02-17 09:10:40 -05:00
imessage.rs fix(channels): resolve telegram reply target and media delivery (#525) 2026-02-17 08:07:23 -05:00
irc.rs fix(channels): resolve telegram reply target and media delivery (#525) 2026-02-17 08:07:23 -05:00
lark.rs fix(build): restore ChannelMessage reply_target usage (#541) 2026-02-17 08:41:02 -05:00
matrix.rs fix(channels): resolve telegram reply target and media delivery (#525) 2026-02-17 08:07:23 -05:00
mod.rs feat(channel): add Signal channel via signal-cli JSON-RPC daemon 2026-02-17 22:35:33 +08:00
signal.rs feat(channel): add Signal channel via signal-cli JSON-RPC daemon 2026-02-17 22:35:33 +08:00
slack.rs fix(channels): resolve telegram reply target and media delivery (#525) 2026-02-17 08:07:23 -05:00
telegram.rs fix(channels): resolve telegram reply target and media delivery (#525) 2026-02-17 08:07:23 -05:00
traits.rs fix(channels): resolve telegram reply target and media delivery (#525) 2026-02-17 08:07:23 -05:00
whatsapp.rs fix(channels): resolve telegram reply target and media delivery (#525) 2026-02-17 08:07:23 -05:00