Messaging and notification system for the Jido ecosystem.
Usage
Define a messaging module in your application:
defmodule MyApp.Messaging do
use Jido.Messaging,
persistence: Jido.Messaging.Persistence.ETS
endAdd it to your supervision tree:
children = [
MyApp.Messaging
]Use the API:
{:ok, room} = MyApp.Messaging.create_room(%{type: :direct, name: "Chat"})
{:ok, message} = MyApp.Messaging.save_message(%{
room_id: room.id,
sender_id: "user_123",
role: :user,
content: [%{type: :text, text: "Hello!"}]
})
{:ok, messages} = MyApp.Messaging.list_messages(room.id)
Summary
Functions
Advance an onboarding flow.
Assign a thread to an agent.
Fetch runtime status for one bridge worker.
Cancel an onboarding flow.
Complete an onboarding flow.
Create or ensure a bridge-backed room topology in one idempotent call.
Create a new participant
Create a new room
Create a binding between an internal room and an external platform
Delete bridge config.
Delete adapter-scoped provider ingress subscription for a bridge.
Delete a message
Delete a room
Delete a room binding
Delete room routing policy.
Lookup a single directory entry.
Search directory entries.
Ensure adapter-scoped provider ingress subscription for a bridge.
Fetch bridge config by id.
Get a message by ID
Get a message by its external ID within a channel/instance context
Fetch an onboarding flow.
Get or create participant by external ID
Get or create room by external binding
Get a participant by ID
Get a room by ID
Get room by external binding (without creating)
Fetch room routing policy.
Get a thread by ID
Get a thread by external thread ID
Get a thread by root message ID
List registered agents for a room.
List bridge configs.
List runtime status for all bridge workers.
List running bridge workers for an instance module.
List adapter-scoped provider ingress subscriptions for a bridge.
List messages for a room
List all bindings for a room
List rooms
List threads for a room
Create or update bridge config.
Create or update room routing policy.
Register an agent with a room.
Resolve configured outbound adapter routes for a room.
Resume an onboarding flow.
Route outbound text through bridge bindings/policy for a room.
Route direct payload through bridge-config transform path into ingest.
Route webhook payload through bridge-config parse/verify path into ingest.
Route webhook request and return typed response + ingest outcome.
Save a message
Save an already-constructed message struct (for updates)
Save a room struct directly (for custom IDs)
Save a thread
Save an already-constructed thread struct (for updates)
Start (or resume) an onboarding flow.
Fetch thread assignment for a room thread.
Unassign a thread.
Unregister an agent from a room.
Update a message's external_id
Find onboarding worker PID.
Functions
Advance an onboarding flow.
Assign a thread to an agent.
Fetch runtime status for one bridge worker.
Cancel an onboarding flow.
Complete an onboarding flow.
Create or ensure a bridge-backed room topology in one idempotent call.
This helper ensures:
- optional bridge configs are upserted
- room exists
- bridge-scoped room bindings exist
- optional routing policy exists
Create a new participant
Create a new room
Create a binding between an internal room and an external platform
Delete bridge config.
Delete adapter-scoped provider ingress subscription for a bridge.
Delete a message
Delete a room
Delete a room binding
Delete room routing policy.
Lookup a single directory entry.
Search directory entries.
Ensure adapter-scoped provider ingress subscription for a bridge.
Fetch bridge config by id.
Get a message by ID
Get a message by its external ID within a channel/instance context
Fetch an onboarding flow.
Get or create participant by external ID
Get or create room by external binding
Get a participant by ID
Get a room by ID
Get room by external binding (without creating)
Fetch room routing policy.
Get a thread by ID
Get a thread by external thread ID
Get a thread by root message ID
List registered agents for a room.
List bridge configs.
List runtime status for all bridge workers.
List running bridge workers for an instance module.
List adapter-scoped provider ingress subscriptions for a bridge.
List messages for a room
List all bindings for a room
List rooms
List threads for a room
Create or update bridge config.
Create or update room routing policy.
Register an agent with a room.
Resolve configured outbound adapter routes for a room.
Resume an onboarding flow.
Route outbound text through bridge bindings/policy for a room.
Route direct payload through bridge-config transform path into ingest.
Route webhook payload through bridge-config parse/verify path into ingest.
Route webhook request and return typed response + ingest outcome.
Save a message
Save an already-constructed message struct (for updates)
Save a room struct directly (for custom IDs)
Save a thread
Save an already-constructed thread struct (for updates)
Start (or resume) an onboarding flow.
Fetch thread assignment for a room thread.
Unassign a thread.
Unregister an agent from a room.
Update a message's external_id
Find onboarding worker PID.