45 lines
1.5 KiB
Markdown
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`
|