Skip to main content
POST /v2/retrieve/stream prend le même corps de requête que /v2/retrieve et rend la même payload — mais au fil de l’eau, une ligne JSON par étape réellement terminée. C’est ce qui permet à une interface de montrer l’avancée réelle du retrieving au lieu d’une barre qui invente sa progression. Une réponse enchaîne plusieurs appels lourds ; une étape muette pendant ce temps-là est indistinguable d’une étape bloquée.
Chaque ligne est un objet JSON complet, séparé par \n. Il n’y a pas de reconnexion à gérer : fetch et un lecteur de flux suffisent.

Les lignes

Avec deliberate: true, la boucle réflexive diffuse en plus chacun de ses tours sans attendre son verdict : Sans eux, l’étape reste muette pendant trois appels lourds et deux retrievings.
Une panne de dépendance ne peut plus lever une erreur HTTP ici : le flux a déjà commencé, donc elle arrive comme ligne terminale error. Le statut est 200 dès la première ligne — c’est le contenu du flux qu’il faut lire, pas le code.

Lire le flux

Bufferisez la fin de tampon. Un morceau réseau ne tombe pas sur une frontière de ligne : découper naïvement sur \n sans conserver le reliquat coupe un objet JSON en deux et fait échouer le parse au hasard de la charge.