docs(plan): record signal gap completion and next up
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# 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`
|
||||
Reference in New Issue
Block a user