///|
/// 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))
}