Outbound bridge router for runtime-configurable adapter delivery.
Resolves RoomBinding + BridgeConfig + RoutingPolicy, then dispatches
through Jido.Messaging.OutboundGateway.
Summary
Functions
Resolves outbound routes for a room from bindings + bridge configs.
Routes an outbound text payload for a room.
Types
@type delivery_failure() :: %{ route: route(), reason: term(), error: Jido.Messaging.OutboundGateway.error_response() | term() }
@type delivery_success() :: %{ route: route(), result: Jido.Messaging.OutboundGateway.success_response() }
@type delivery_summary() :: %{ room_id: String.t(), policy: Jido.Messaging.RoutingPolicy.t(), attempted: non_neg_integer(), delivered: [delivery_success()], failed: [delivery_failure()] }
Functions
Resolves outbound routes for a room from bindings + bridge configs.
The returned list is ordered according to routing policy fallback order.
@spec route_outbound(module(), String.t(), String.t(), keyword()) :: {:ok, delivery_summary()} | {:error, :no_routes | {:delivery_failed, delivery_summary()} | term()}
Routes an outbound text payload for a room.
Options
:gateway_opts- options passed toOutboundGateway.send_message/4:bridge_id- force a specific bridge id:routing_policy- override stored routing policy (RoutingPolicyor map)