Utilisation du bundle Chat
Le bundle Synapse Chat (arnaudmoncondhuy/synapse-chat) fournit l’API HTTP et les assets pour intégrer une interface de chat dans votre application. Il s’appuie sur Synapse Core pour la logique métier.
Installation
composer require arnaudmoncondhuy/synapse-core arnaudmoncondhuy/synapse-chat
- POST
/synapse/api/chat: envoi d’un message et réception de la réponse. - POST
/synapse/api/estimate-cost: estimation du coût d'un message avant envoi. - POST
/synapse/api/conversation/reset: réinitialisation de la conversation courante. - Auto-titling : Le bundle génère automatiquement un titre après le premier échange (événement
titleenvoyé en NDJSON).
Protection CSRF
Le bundle applique une protection CSRF sur les requêtes POST/PUT/DELETE. Le jeton est exposé via :
- Une meta HTML :
csrf-token(si vous utilisez les templates fournis). - GET
/synapse/api/csrf-token: pour récupérer le jeton côté front (ex. SPA ou page surchargée).
Envoyez le header X-CSRF-Token (ou le champ _csrf_token dans le body) sur chaque requête modifiant des données.
Intégration front
Les vues et contrôleurs Stimulus du bundle permettent d’afficher un chat avec streaming. Référez-vous à la configuration des routes et des templates dans votre projet pour intégrer le composant (sidebar ou page dédiée).
Dépendance
Synapse Chat dépend de Synapse Core : la configuration des modèles, presets, outils et de la persistance se fait via Core (et éventuellement Synapse Admin pour l’interface d’administration).