Jido.AI.Request.Stream (Jido AI v2.2.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 ReAct runtime events for one request.

Summary

Functions

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

events(handle, opts \\ [])

@spec events(
  Jido.AI.Request.Handle.t(),
  keyword()
) :: Enumerable.t()

Builds an enumerable over runtime events for a request handle.

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

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

@spec failed_event(String.t(), term(), keyword()) :: Jido.AI.Reasoning.ReAct.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.Reasoning.ReAct.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.