Skip to main content
Le mode streaming (stream: true, valeur par défaut de POST /api/v1/responses) utilise un ReadableStream HTTP côté serveur.

Format

  • Content-Type : text/html; charset=utf-8
  • Chaque chunk contient un fragment de texte de la réponse de l’agent, encodé en UTF-8.
  • Le flux se termine par le marqueur :EOS: (End Of Stream).
  • Le timeout serveur est de 120 secondes (maxDuration). Si l’agent met plus longtemps à répondre, la connexion sera coupée.

Backpressure

Le serveur utilise le mécanisme pull() du ReadableStream : les chunks sont mis en file d’attente et envoyés dès que le client est prêt à les consommer. Si le client lit lentement, le serveur met les données en tampon.

Interruption

Si le client ferme la connexion (signal abort), le serveur interrompt la génération et pousse un message d’abandon dans le flux avant de le fermer.

Multipart/form-data

Le streaming fonctionne aussi avec un envoi multipart/form-data (pour joindre des fichiers). Les champs texte (companyIdentifier, agentUUID, question, stream) sont lus depuis le FormData, et les fichiers sont convertis en data: URL base64 avant d’être transmis à l’assistant.