1.7 KiB
1.7 KiB
iMessage / BlueBubbles Channel Adapter Checklist
Date: 2026-02-16 Status: completed
Scope
- Add a first-class iMessage channel path via BlueBubbles.
- Support inbound webhook events and outbound text replies through the BlueBubbles API.
Completed
- Added
BlueBubblesAdapterinsrc/channels/bluebubbles/adapter.ts:- inbound webhook handling for
POST /bluebubbles/events - optional webhook token validation (
bluebubbles.webhook_token) - allowlist support for chat GUIDs (
allowed_chat_guids) - mention-aware group gating (
require_mention,mention_name) - outbound text send via BlueBubbles REST endpoint
- reply routing via
metadata.replyPeerId
- inbound webhook handling for
- Registered channel exports:
src/channels/bluebubbles/index.tssrc/channels/index.ts
- Added config schema support in
src/config/schema.ts:bluebubbles.endpointbluebubbles.api_keybluebubbles.webhook_tokenbluebubbles.allowed_chat_guidsbluebubbles.require_mentionbluebubbles.mention_name
- Wired daemon + gateway integration:
- registration in
src/daemon/channels.ts - gateway route wiring in
src/gateway/server.ts(POST /bluebubbles/events)
- registration in
- Updated service discovery + docs:
src/gateway/handlers/services.tsREADME.mdconfig/default.yamldocs/api/PROTOCOL.md
- Added tests:
src/channels/bluebubbles/adapter.test.tssrc/config/schema.test.ts(bluebubbles schema coverage)src/gateway/handlers/services.test.ts(bluebubbles service status)
Verification
pnpm test:run src/channels/bluebubbles/adapter.test.ts src/config/schema.test.ts src/gateway/handlers/services.test.tspnpm typecheck