EventBus.on listeners now receive a single BusEvent ({ type, payload,
timestamp, source }) matching @almadar/ui and @almadar/runtime. emit()
takes (type, EventPayload?, BusEventSource?) directly.
- EventBus.on: (event: string, handler: BusEventListener) => Unsubscribe
- EventBus.emit: (type, payload?: EventPayload, source?: BusEventSource)
- DistributedEventBus mirror: source replaces meta throughout
- TransportMessage: payload: EventPayload; source: BusEventSource
- WebSocket broadcast reads `event.*` directly (BroadcastEvent removed)
- emitEntityEvent stamps source.orbital consistently
Breaking: Consumers importing EventMeta or using the two-arg listener
signature (payload, meta) must migrate to (event: BusEvent).
Requires @almadar/core >= 5.3.1.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>