POST /v2/retrieve/stream takes the same request body as
/v2/retrieve and returns the same payload —
but as it happens, one JSON line per step that actually completed.
This is what lets a UI show the real progress of a retrieval instead of a bar
that invents it. An answer chains several heavy calls; a step that stays silent
through them is indistinguishable from a step that is stuck.
\n. There is no reconnection
to handle: fetch plus a stream reader is enough.
The lines
With
deliberate: true, the reflexive loop also streams each of its rounds
without waiting for its verdict:
Without them, the step stays silent through three heavy calls and two retrievals.
A dependency failure can no longer raise an HTTP error here: the stream has
already started, so it arrives as a terminal
error line. The status is 200
from the first line — read the stream’s content, not the code.