// events/bus.el — Event bus. Three primitives over native_queue_*. // // Publish, consume, ack. Consumer identity IS the subscription. // No separate subscribe step. No state. Intelligence lives in el. // The Rust backend is swappable: InMemory → Engram → Kafka → RabbitMQ. fn event_publish(topic: String, payload: String) -> Void { native_queue_publish(topic, payload) } fn event_consume(topic: String, consumer: String) -> String { return native_queue_consume(topic, consumer) } fn event_ack(topic: String, consumer: String, msg_id: String) -> Void { native_queue_ack(topic, consumer, msg_id) }