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

Copy Markdown View Source

Emitted when a managed sensor runtime exits unexpectedly.

Delivered to the owning agent as jido.agent.sensor.exit after the sensor has already been removed from the runtime children map. This lets the agent route the lifecycle event to restart, degrade, alert, or ignore without treating the sensor as a child agent.

Fields

  • :tag - Agent-local tag assigned to the sensor runtime
  • :pid - PID of the sensor process that exited
  • :reason - Exit reason from the sensor process
  • :sensor - Sensor module that was running
  • :origin - Origin that started the sensor, such as :directive or a plugin
  • :meta - Metadata stored with the sensor child info

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}