Long-lived SSE consumer for GET /v1/sessions/{id}/events/stream.
Uses Req with into: :self over an injectable Finch pool (default
ReqManagedAgents.StreamFinch) so minutes-long streams don't stall the default
pool. Blocks for the life of the connection — run it inside a Task owned by
your session process.
Messages sent to subscriber, tagged with the caller-supplied ref:
{:managed_agents, ref, :connected} # sent once, when the stream attaches, before any event
{:managed_agents, ref, {:event, decoded_map}}
{:managed_agents, ref, :done}
{:managed_agents, ref, {:error, reason}}
Summary
Functions
Open the stream for session_id and forward events to subscriber.
Functions
@spec stream(ReqManagedAgents.Client.t(), String.t(), pid(), keyword()) :: :ok
Open the stream for session_id and forward events to subscriber.
Options: :ref (term tagging each message; default make_ref()),
:finch (Finch pool name; default ReqManagedAgents.StreamFinch),
:receive_timeout (staleness guard; default 30 minutes).