Read the provider's supported event types during boot, compare them with every event constant your service can publish, and refuse readiness when a name is absent. This is the migration boundary I would choose for an e-commerce video room because a misspelled device-status event fails silently: no subscriber runs, yet no error identifies the bad name.
TL;DR: keep event names in one server-owned module, validate the whole set before Express or any other request handler becomes ready, and put provider-specific decoding behind a narrow interface. Treat scoped room tokens as a separate trust decision. A browser may report a camera state, but it must not choose the authoritative event name, widen its token, or receive the backend key.
Infrai is a credible fit for that server-side slice when a team wants a plain REST contract instead of another SDK and client-library release cycle. I recommend trying it for catalog discovery and publishing when keeping the adapter replaceable matters.…