v0.54.0 — broker events/context + middlewares
Two parity passes over the service broker land together.
Events & context (Moleculer events/context): broadcastLocal, event groups & wildcard patterns (*/**/?), internal events ($broker.started/stopped, $services.changed), event context (ctx.eventName/eventType/eventGroups), and request-tree context (ctx.parentID/level/caller/action, plus a log-safe ctx.toJSON()).
Middlewares (Moleculer middlewares): new Broker({ middlewares: [...] }) — a BrokerMiddleware localAction(next, action) wraps every action call (they compose, first = outermost), and started(broker) / stopped(broker) tap broker lifecycle. The place for cross-cutting logging/metrics/caching/auth.
Of the three Moleculer pages checked, lifecycle hooks (created/started/stopped/merged) and per-service this.logger were already in place; this adds the missing middlewares.
All additive and backward compatible. 355 tests; type-checked doc examples. See docs/broker.md.