Outbound message delivery pipeline through Jido.Messaging.OutboundGateway.
Handles sending messages to external channels:
- Creates assistant message with :sending status
- Routes send/edit operations through the outbound gateway
- Updates status to :sent or :failed
- Returns the persisted message
Usage
case Deliver.deliver_outgoing(MyApp.Messaging, original_message, "Hello!", context) do
{:ok, sent_message} ->
# Message sent and persisted
{:error, reason} ->
# Delivery failed
end
Summary
Functions
Deliver an outgoing media payload as a reply.
Deliver an outgoing message as a reply.
Edit a previously-sent message through the outbound gateway.
Edit a previously-sent media message through the outbound gateway.
Send a proactive message to a room using bridge-configured routing.
Send a proactive message using control-plane routing.
Types
@type context() :: Jido.Messaging.Context.t() | map()
Functions
@spec deliver_media_outgoing( module(), Jido.Messaging.Message.t(), map(), context(), keyword() ) :: {:ok, Jido.Messaging.Message.t()} | {:error, term()}
Deliver an outgoing media payload as a reply.
@spec deliver_outgoing( module(), Jido.Messaging.Message.t(), String.t(), context(), keyword() ) :: {:ok, Jido.Messaging.Message.t()} | {:error, term()}
Deliver an outgoing message as a reply.
Creates an assistant message, sends it via the channel, and updates the message status.
@spec edit_outgoing( module(), Jido.Messaging.Message.t(), String.t(), context() | map(), keyword() ) :: {:ok, Jido.Messaging.Message.t()} | {:error, term()}
Edit a previously-sent message through the outbound gateway.
@spec edit_outgoing_media( module(), Jido.Messaging.Message.t(), map(), context() | map(), keyword() ) :: {:ok, Jido.Messaging.Message.t()} | {:error, term()}
Edit a previously-sent media message through the outbound gateway.
@spec send_to_room(module(), String.t(), String.t(), keyword()) :: {:ok, Jido.Messaging.Message.t()} | {:error, term()}
Send a proactive message to a room using bridge-configured routing.
@spec send_to_room_via_routes(module(), String.t(), String.t(), keyword()) :: {:ok, Jido.Messaging.Message.t()} | {:error, term()}
Send a proactive message using control-plane routing.
This path resolves routes via RoomBinding + BridgeConfig + RoutingPolicy
and dispatches through Jido.Messaging.OutboundRouter.