use systemprompt_events::PostgresEventBridge;
use systemprompt_runtime::AppContext;
pub(in crate::services::server) fn start_event_bridge(ctx: &AppContext) {
let pool = ctx.db_pool().write_pool();
let instance_id = ctx.config().instance_id.clone();
let listener_pool = ctx.db_pool().session_pool();
let handle = PostgresEventBridge::new(
pool.as_ref().clone(),
instance_id,
ctx.cache_epochs().clone(),
)
.with_listener_pool(listener_pool.as_ref().clone())
.start();
if ctx.event_bridge().set(handle).is_err() {
tracing::warn!("Event bridge already started; ignoring duplicate start");
} else {
tracing::info!("Cross-replica event relay started");
}
}