// ── Taxonomie des conversations — SOURCE UNIQUE ───────────────────────────────
// Avant : le « type » d'une conversation vivait dans 4 endroits désynchronisables
//   - TYPES + l'énumération du prompt IA      → inbox-triage.js
//   - QUEUE_OF (type→file) + QUEUES           → conversation.js
// Conséquence réelle : `telephonie`/`television` existaient dans QUEUE_OF mais PAS
// dans TYPES → jamais produits par le triage (clés inertes). On centralise ici pour
// que toute évolution de catégorie se fasse à UN seul endroit.
//
// ⚠️ CONTRAT : le prompt système de `classifyEmail` (inbox-triage.js) énumère les
//    valeurs de TYPES À LA MAIN (contrainte du modèle). Si tu ajoutes un type ici,
//    ajoute-le AUSSI dans cette énumération du prompt, sinon le triage ne le produira pas.

// Les 4 FILES de l'inbox partagé (= labels F fiables, vs 30 départements).
const QUEUES = ['Facturations', 'Service à la clientèle', 'Supports', 'Technicien']

// Types de demande que le triage peut produire (doivent matcher l'énumération du prompt IA).
const TYPES = ['support', 'facturation', 'vente', 'installation', 'autre']

// type → FILE de routage. (telephonie/television : réservés — routent vers Technicien si un jour produits.)
const QUEUE_OF = {
  facturation: 'Facturations',
  vente: 'Service à la clientèle',
  support: 'Supports',
  installation: 'Technicien',
  telephonie: 'Technicien',
  television: 'Technicien',
  autre: '',
}

// type → catégorie de TICKET (ERPNext Issue).
const CAT = { facturation: 'Facturation', vente: 'Commercial', installation: 'Installation', support: 'Support', autre: 'Autre' }

// issue_type (ERPNext Issue — 40+ valeurs héritées de F) → une des 4 FILES omnichannel. '' / absent = non classé.
// Sert « Mes départements » sur la page Tickets : un agent voit les tickets des files dont il est membre.
// Les 4 noms de files sont eux-mêmes des Issue Type valides (identité). Mapping éditable — affiner au besoin.
const ISSUE_TYPE_QUEUE = {
  // → Facturations
  Facturation: 'Facturations', Facturations: 'Facturations', Recouvrement: 'Facturations',
  'Compte Payable': 'Facturations', Suspension: 'Facturations', 'Changement forfait': 'Facturations', Achat: 'Facturations',
  // → Service à la clientèle
  Vente: 'Service à la clientèle', 'Service à la clientèle': 'Service à la clientèle', 'Satisfaction client': 'Service à la clientèle',
  'Rétention': 'Service à la clientèle', Representant: 'Service à la clientèle', Suivi: 'Service à la clientèle', Direction: 'Service à la clientèle',
  // → Supports
  Support: 'Supports', Supports: 'Supports', 'Support Informatique': 'Supports', 'Support COM': 'Supports',
  'Sys Admin': 'Supports', 'Net Admin': 'Supports', ToDo: 'Supports', Projet: 'Supports', Developpement: 'Supports', Conception: 'Supports',
  // → Technicien
  Technicien: 'Technicien', Monteur: 'Technicien', Reparation: 'Technicien', Installation: 'Technicien', Desinstallation: 'Technicien',
  'Téléphonie': 'Technicien', 'Reparation Fibre': 'Technicien', 'Installation Fibre': 'Technicien', Garage: 'Technicien',
  Domotique: 'Technicien', Fusionneur: 'Technicien', Relais: 'Technicien', 'Télévision': 'Technicien', Inventaire: 'Technicien',
  'Install/Reparation Télé': 'Technicien', Activation: 'Technicien',
}

module.exports = { QUEUES, TYPES, QUEUE_OF, CAT, ISSUE_TYPE_QUEUE }
