///|
/// Small runnable example for `moon run cmd/main`.
fn main {
  let bus = @moonflow.new_event_bus()
  bus.subscribe("audit-log", "user.*", fn(message) {
    println("audit: \{message.topic} -> \{message.payload}")
    @moonflow.Ack
  })
  bus.subscribe("metrics", "**", fn(message) {
    println("metric: topic=\{message.topic}")
    @moonflow.Ack
  })
  let report = bus.publish(
    "user.created",
    payload="{\"id\":1,\"name\":\"alice\"}",
    source="cmd/main",
    trace_id="demo-trace",
    tags=["demo", "cli"],
  )
  println(@moonflow.report_to_json(report))
}