1.5 KiB
1.5 KiB
Signal Channel Adapter Checklist
Date: 2026-02-16 Status: completed
Scope
- Add a first-class Signal channel adapter using
signal-cli. - Support direct-message and group routing with existing channel policy semantics.
Completed
- Added
SignalAdapterinsrc/channels/signal/adapter.ts:- process-backed integration via
signal-cli - outbound send for direct peers and groups (
group:<id>convention) - inbound polling loop with JSON parsing for
receiveoutput - allowlist gating for DMs/groups + optional DM pairing flow
- group mention gating with configurable
mention_name
- process-backed integration via
- Registered channel exports:
src/channels/signal/index.tssrc/channels/index.ts
- Added config schema support in
src/config/schema.ts:signal.accountsignal.signal_cli_pathsignal.allowed_numberssignal.allowed_group_idssignal.require_mentionsignal.mention_namesignal.poll_interval_mssignal.send_timeout_ms
- Wired daemon registration in
src/daemon/channels.ts. - Extended gateway service discovery in
src/gateway/handlers/services.ts. - Updated docs:
README.mdchannel/config docsconfig/default.yamltemplate block for Signal
- Added tests:
src/channels/signal/adapter.test.tssrc/config/schema.test.tssignal coveragesrc/gateway/handlers/services.test.tssignal service coverage
Verification
pnpm test:run src/channels/signal/adapter.test.ts src/config/schema.test.ts src/gateway/handlers/services.test.tspnpm typecheck