Extensions

Le CRM expose quelques points d'accroche typés, sans effet par défaut, pour qu'un déploiement ajoute ses propres règles, pages et routes sans forker le code : refuser un appel employé, enrichir la configuration publique, limiter invitations, créations de contacts, envois et enrôlements, répondre à une requête d'API avant la route, ajouter des routes HTTP, des tables, des pages et des entrées de menu, différer les traitements en arrière-plan (préparation et envoi des campagnes, étapes de workflow) et refuser avec un code structuré que l'interface sait afficher. Un overlay remplace convex/extensions.ts, convex/extensionsSchema.ts et src/extensions.tsx. Le contrat est décrit dans docs/extensions.md.