/** * Yonexus Server - Pairing notification provider factory. * * Selects the notification provider from config (`notifyProvider`). * Discord is the default for backward compatibility. */ import type { YonexusServerConfig } from "../core/config.js"; import type { PairingNotificationService } from "./types.js"; import { createDiscordNotificationService } from "./discord.js"; import { createFabricNotificationService } from "./fabric.js"; export function createNotificationService( config: YonexusServerConfig ): PairingNotificationService { if (config.notifyProvider === "fabric") { if (!config.fabric) { throw new Error( 'Yonexus.Server: notifyProvider is "fabric" but fabric config is missing' ); } return createFabricNotificationService(config.fabric); } // Default / "discord" return createDiscordNotificationService({ botToken: config.notifyBotToken ?? "", adminUserId: config.adminUserId ?? "" }); }