API Reference Jido Signal v#1.0.0
View SourceModules
Defines the core Signal structure in Jido, implementing the CloudEvents specification (v1.0.2) with Jido-specific extensions for agent-based systems.
The main application module for Jido Signal.
Implements a signal bus for routing, filtering, and distributing signals.
Behavior for signal bus middleware modules.
A middleware that logs signal activity using Elixir's Logger.
Handles execution of middleware chains for signal bus operations.
A GenServer that manages persistent subscription state and checkpoints for a single subscriber.
Represents a signal that has been recorded in the bus log.
Manages snapshots of the bus's signal log. A snapshot represents a filtered view of signals at a particular point in time, filtered by a path pattern.
The actual snapshot data stored in :persistent_term. Contains the full signal list and metadata.
A lightweight reference to a snapshot stored in :persistent_term. Contains only the metadata needed for listing and lookup.
Defines the state structure for the signal bus.
Provides streaming functionality for the signal bus.
Defines the subscriber model and subscription management for the signal bus.
A flexible signal dispatching system that routes signals to various destinations using configurable adapters.
Defines the behaviour for signal dispatch adapters in the Jido system.
An adapter for dispatching signals directly to the console output (stdout).
An adapter for dispatching signals via HTTP requests using Erlang's built-in :httpc client.
An adapter for dispatching signals through Elixir's Logger system.
An adapter for dispatching signals to named processes in the Erlang registry.
A no-operation adapter that silently discards all signals.
An adapter for dispatching signals directly to Erlang processes using PIDs.
An adapter for dispatching signals through Phoenix.PubSub.
An adapter for dispatching signals to webhooks.
Defines error structures and helper functions for Jido
Manages UUID7-based signal IDs for the bus system. Provides utilities for generating, comparing, and extracting information from signal IDs.
The Signal Journal tracks and manages signals between agents, maintaining causality and conversation relationships. It provides a directed graph of signals that captures temporal ordering and causal relationships.
ETS-based implementation of the Journal persistence behavior. Uses separate ETS tables for signals, causes, effects, and conversations.
In-memory implementation of the Journal persistence behavior. Uses Agent to maintain state.
Defines the behavior for Journal persistence adapters.
Registry for managing signal subscriptions.
Represents a subscription to signal patterns in the registry.
The Router module implements a high-performance, trie-based signal routing system designed specifically for agent-based architectures. It provides sophisticated message routing capabilities with support for exact matches, wildcards, pattern matching functions, and multiple dispatch targets.
The routing engine that matches signals to handlers.
Router Helper struct to store handler metadata
Router Helper struct to store node handler metadata
Router Helper struct to store pattern match metadata
Router Helper struct to store route metadata
Router Helper struct to store router metadata
Router Helper struct to store trie node metadata
Validates router configuration and normalizes route specifications.
Router Helper struct to store wildcard handler metadata
Configuration management for serialization settings.
A serializer that uses Erlang's built-in term format.
Protocol to allow additional decoding of a value that has been deserialized from JSON.
A serializer that uses the JSON format and Jason library.
A type provider that uses the Elixir module name
A serializer that uses the MessagePack format via the Msgpax library.
Behaviour for serialization strategies.
Specification to convert between an Elixir struct and a corresponding string type.
Provides a data structure for tracking process hierarchies and their states.
Represents a single process node in the process hierarchy topology.
A collection of utility functions for the Jido framework.