Jido.AI.Request.Stream (Jido AI v2.4.0)

Copy Markdown View Source

Request-scoped runtime event streaming helpers.

The stream transport is intentionally narrow: callers can provide a pid sink and receive canonical runtime events for one request.

Summary

Functions

Creates a synthetic terminal cancellation event.

Builds an enumerable over runtime events for a request handle.

Creates a synthetic terminal failure event for non-worker rejection paths.

Returns the mailbox tag used for request stream messages.

Normalizes public stream sink options.

Sends one runtime event to a normalized stream sink.

Returns true when the event kind terminates a request stream.

Types

sink()

@type sink() :: {:pid, pid()}

Functions

cancelled_event(request_id, reason, opts \\ [])

@spec cancelled_event(String.t(), term(), keyword()) :: Jido.AI.Runtime.Event.t()

Creates a synthetic terminal cancellation event.

events(handle, opts \\ [])

Builds an enumerable over runtime events for a request handle.

The enumerable halts after receiving :request_completed, :request_failed, or :request_cancelled.

ReAct worker events retain runtime order. The final runtime checkpoint is delivered before the terminal event, while the request sink is still active. Synthetic rejection and caller cancellation events use seq: 0 and can stop a request before its worker finishes.

failed_event(request_id, error, opts \\ [])

@spec failed_event(String.t(), term(), keyword()) :: Jido.AI.Runtime.Event.t()

Creates a synthetic terminal failure event for non-worker rejection paths.

message_tag()

@spec message_tag() :: atom()

Returns the mailbox tag used for request stream messages.

normalize_sink(pid)

@spec normalize_sink(term()) :: {:ok, sink() | nil} | {:error, term()}

Normalizes public stream sink options.

send_event(arg1, event)

@spec send_event(sink() | nil, Jido.AI.Runtime.Event.t() | map()) :: :ok

Sends one runtime event to a normalized stream sink.

terminal_kind?(kind)

@spec terminal_kind?(atom()) :: boolean()

Returns true when the event kind terminates a request stream.