Selectable pairing-notify provider (Discord optional, add Fabric) #2

Open
hzhang wants to merge 1 commits from notify-provider into main
Contributor

Pairing-code delivery is now config-selectable via notifyProvider ("discord" default for back-compat | "fabric"). Discord fields required only for discord; new fabric block (centerApiBase/apiKey/guildNodeId/channelId) required only for fabric. Fabric notifier posts the pairing message to a Fabric channel (agent/login -> guild token -> POST messages), self-contained. 80 tests passing. Part of the Discord->Fabric migration (AGENT-FACILITIES-SPEC). Note: build needs host OpenClaw SDK; umbrella nav/Yonexus submodule bump is a follow-up.

Pairing-code delivery is now config-selectable via `notifyProvider` ("discord" default for back-compat | "fabric"). Discord fields required only for discord; new `fabric` block (centerApiBase/apiKey/guildNodeId/channelId) required only for fabric. Fabric notifier posts the pairing message to a Fabric channel (agent/login -> guild token -> POST messages), self-contained. 80 tests passing. Part of the Discord->Fabric migration (AGENT-FACILITIES-SPEC). Note: build needs host OpenClaw SDK; umbrella nav/Yonexus submodule bump is a follow-up.
hzhang added 1 commit 2026-05-22 22:25:22 +00:00
Pairing-code delivery was hardwired to Discord DM (notifyBotToken +
adminUserId required). Make the provider config-selectable.

- core/config.ts: add notifyProvider ("discord"|"fabric", default
  "discord" for back-compat); discord fields required only for discord;
  add fabric block (centerApiBase/apiKey/guildNodeId/channelId) required
  only for fabric
- notifications/types.ts: neutral PairingNotificationService interface
  (DiscordNotificationService kept as back-compat alias)
- notifications/fabric.ts: post the pairing message to a Fabric channel
  (agent/login -> guild token -> POST messages); self-contained, no
  Fabric plugin dependency
- notifications/factory.ts: select provider from config
- core/runtime.ts: wire via factory
- openclaw.plugin.json: notifyProvider enum + fabric object; drop
  notifyBotToken/adminUserId from required (conditional in code)
- tests: fabric notifier + provider-selection config (80 passing)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
hzhang force-pushed notify-provider from 1b953141aa to 85034f5de0 2026-05-22 22:25:22 +00:00 Compare
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin notify-provider:notify-provider
git checkout notify-provider
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: nav/Yonexus.Server#2