Selectable pairing-notify provider (Discord optional, add Fabric) #2
Reference in New Issue
Block a user
Delete Branch "notify-provider"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Pairing-code delivery is now config-selectable via
notifyProvider("discord" default for back-compat | "fabric"). Discord fields required only for discord; newfabricblock (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 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>1b953141aato85034f5de0View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.