Jido.AgentServer.Signal.Orphaned (Jido v2.3.1)

Copy Markdown View Source

Emitted when a child survives logical parent death and becomes orphaned.

Delivered to the child itself as jido.agent.orphaned after the runtime has already cleared the current parent reference. This lets child actions make decisions using the former-parent snapshot without accidentally treating the dead parent as still attached.

Fields

  • :parent_id - ID of the former parent agent
  • :parent_pid - PID of the former parent process
  • :tag - Tag the former parent used for this child
  • :meta - Former parent metadata from the child's prior ParentRef
  • :reason - Exit reason from the former parent process

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}