"""chatlib · génération du montage Chat OTOIA par portail (Sprint 6 · ERPNext Backend).

Sous-modules :
  - deps     : dépendances partagées (validateur + branding Publiciste, réutilisation
               du builder RBAC↔portails, chargement des contrats/entrées) — zéro duplication (#5).
  - frappe   : connaissance Frappe v15 du DocType natif `Custom Block` (carrier du chat).
  - knowledge: dérive la PORTÉE de connaissance + les rôles par portail depuis le contrat RBAC.
  - builder  : assemble le bundle déterministe (custom_block + chat_mount + manifest).
"""
