Jido.AI.Reasoning.ReAct.Signal (Jido AI v2.2.0)

Copy Markdown View Source

Signal envelope used by strategies/adapters to consume ReAct runtime events.

Summary

Functions

Creates a new Signal instance with the configured type and validated data.

Creates a new Signal instance, raising an error if invalid.

Validates the data for the Signal according to its schema.

Functions

datacontenttype()

dataschema()

default_source()

extension_policy()

new(data \\ %{}, opts \\ [])

@spec new(
  map(),
  keyword()
) :: {:ok, Jido.Signal.t()} | {:error, String.t()}

Creates a new Signal instance with the configured type and validated data.

Parameters

  • data: A map containing the Signal's data payload.
  • opts: Additional Signal options (source, subject, etc.)

Returns

{:ok, Signal.t()} if the data is valid, {:error, String.t()} otherwise.

Example

MySignal.new(valid_data, source: "/custom")
# => {:ok, signal} where signal.type == MySignal.type()

new!(data \\ %{}, opts \\ [])

@spec new!(
  map(),
  keyword()
) :: Jido.Signal.t() | no_return()

Creates a new Signal instance, raising an error if invalid.

Parameters

  • data: A map containing the Signal's data payload.
  • opts: Additional Signal options (source, subject, etc.)

Returns

Signal.t() if the data is valid.

Raises

RuntimeError if the data is invalid.

Example

MySignal.new!(valid_data, source: "/custom")
# => %Jido.Signal{} with type MySignal.type()

schema()

to_json()

type()

validate_data(data)

@spec validate_data(map()) :: {:ok, map()} | {:error, String.t()}

Validates the data for the Signal according to its schema.

Example

MySignal.validate_data(candidate_data)
# => {:ok, validated_data} | {:error, reason}