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

45 lines
1.5 KiB
Markdown

# 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`