/**
 * Mailforge Plugin — Module Configuration.
 *
 * Each flag toggles a major feature of the plugin. Set to `false` to:
 *   - Hide the corresponding tab in the UI
 *   - Make the module's API routes return 404
 *   - Skip its DB tables during migration (Phase D — currently informational)
 *   - Prevent its worker code from running
 *
 * Some modules depend on others (see src/core/modules/registry.ts). If a
 * dependency is disabled, the dependent module is auto-disabled with a
 * warning logged at startup.
 *
 * Customize this file for each integrator deployment. Do not import it from
 * library code — go through `isModuleEnabled()` / `getActiveModules()` from
 * `@/core/modules` instead, so the registry can apply dependency rules.
 */

import type { ModulesConfig } from '@/core/modules/types';

export const modules: ModulesConfig = {
  // ---- Content ---------------------------------------------------------------
  briefing: true,             // AI-Generation pipeline (requires OpenRouter key)
  editor: true,               // TipTap-based MJML editor
  sectionTemplates: true,     // Reusable MJML building blocks per workspace
  heroImage: true,            // fal.ai hero-image generation (requires fal key)

  // ---- Audience --------------------------------------------------------------
  recipients: true,           // Recipient management (requires CrmAdapter)

  // ---- Delivery --------------------------------------------------------------
  sending: true,              // Send pipeline + Worker (requires SendProvider)
  scheduler: true,            // Send-time scheduling + A/B tests
  spamCheck: true,            // Local preflight spam score (no external API)

  // ---- Analytics -------------------------------------------------------------
  stats: true,                // Open/Click/Conversion tracking

  // ---- Transactional ---------------------------------------------------------
  triggerTemplates: false,    // API-driven single-mail sends (Bestellbestätigung etc.)
};
