Files
flynn/docs/plans/2026-02-16-signal-channel-adapter-checklist.md
T
2026-02-16 01:54:59 -08:00

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 SignalAdapter in src/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 receive output
    • allowlist gating for DMs/groups + optional DM pairing flow
    • group mention gating with configurable mention_name
  • Registered channel exports:
    • src/channels/signal/index.ts
    • src/channels/index.ts
  • Added config schema support in src/config/schema.ts:
    • signal.account
    • signal.signal_cli_path
    • signal.allowed_numbers
    • signal.allowed_group_ids
    • signal.require_mention
    • signal.mention_name
    • signal.poll_interval_ms
    • signal.send_timeout_ms
  • Wired daemon registration in src/daemon/channels.ts.
  • Extended gateway service discovery in src/gateway/handlers/services.ts.
  • Updated docs:
    • README.md channel/config docs
    • config/default.yaml template block for Signal
  • Added tests:
    • src/channels/signal/adapter.test.ts
    • src/config/schema.test.ts signal coverage
    • src/gateway/handlers/services.test.ts signal service coverage

Verification

  • pnpm test:run src/channels/signal/adapter.test.ts src/config/schema.test.ts src/gateway/handlers/services.test.ts
  • pnpm typecheck