@open-core/characters emits internal domain events through CharactersEvents.
created:{ character }updated:{ character }deleted:{ characterId, accountId }selected:{ player, character }unselected:{ player, characterId }
These are emitted via CharactersEvents.emit(...).
When module option bridgeExternalEvents is enabled, the library emits external namespaced events:
opencore:characters:createdopencore:characters:updatedopencore:characters:deletedopencore:characters:selectedopencore:characters:unselected
These are emitted via CharactersEvents.emitExternal(...) with minimal stable payloads.
import { CharactersEvents } from '@open-core/characters/server'
CharactersEvents.on('selected', ({ player, character }) => {
// internal runtime orchestration
})