Skip to main content

nexSys4 EventStream Reference

This file is generated from src/nexsys/core/events/topicRegistry.js. If a topic is not listed here, it is not part of the outbound Nexus EventStream contract.

The registry is authoritative for topic identity, audience, stability, and scoped inheritance. Payload field encyclopedias are intentionally not duplicated here, because the generated contract is meant to eliminate doc drift rather than restate hand-maintained runtime notes.

Contract rules

  • EventStream is the canonical interface for external packages attaching listeners to nexSys4.
  • Only registry entries with audience: eventstream appear here.
  • Scoped variants are emitted only when scopedAudience: eventstream.
  • nexsys4.raw.gmcp also requires publishRawGmcp === true.
  • Every public payload includes topic and at.

Outbound EventStream topics

Runtime and system

TopicScoped EventStream variantsStabilityDescription
nexsys4.runtime.startednonestableRuntime startup completed.
nexsys4.runtime.stoppednonestableRuntime shutdown completed.
nexsys4.raw.gmcpnonestableRaw GMCP payload observed at the adapter boundary.
nexsys4.system.vitals.changednonestableCharacter vitals changed.
nexsys4.system.health.changednonestableHealth changed.
nexsys4.system.mana.changednonestableMana changed.
nexsys4.system.rage.changednonestableRage changed.
nexsys4.system.bleed.changednonestableBleed changed.
nexsys4.system.status.changednonestableCharacter status snapshot changed.
nexsys4.system.class.changednonestableCharacter class changed.
nexsys4.system.target.changednonestableCurrent target changed.
nexsys4.system.room.changednonestableCurrent room changed.
nexsys4.system.room_items.changednonestableVisible room items changed.
nexsys4.system.pause.changednonestableRuntime pause state changed.
nexsys4.system.pausednonestableRuntime paused.
nexsys4.system.unpausednonestableRuntime unpaused.
nexsys4.system.loadednonestableStartup game-state initialization completed.
nexsys4.system.death.detectednonestableDeath was detected from character state.
nexsys4.system.mount.changednonestableMounted state changed.
nexsys4.system.wielded.changednonestableWielded equipment changed.

Afflictions, defences, balances, and limbs

TopicScoped EventStream variantsStabilityDescription
nexsys4.aff.gotnexsys4.aff.got.<name> (eventstream)stableAffliction became active.
nexsys4.aff.lostnexsys4.aff.lost.<name> (eventstream)stableAffliction was cured or removed.
nexsys4.aff.stack.changednexsys4.aff.stack.changed.<name> (eventstream)stableAffliction stack count changed.
nexsys4.def.gotnexsys4.def.got.<id> (eventstream)stableDefence became active.
nexsys4.def.lostnexsys4.def.lost.<id> (eventstream)stableDefence expired or was removed.
nexsys4.balance.gotnexsys4.balance.got.<id> (eventstream)stableBalance became available.
nexsys4.balance.lostnexsys4.balance.lost.<id> (eventstream)stableBalance was consumed or lost.
nexsys4.balance.resetnexsys4.balance.reset.<id> (eventstream)stableBalance timing was reset.
nexsys4.balance.duration.observednexsys4.balance.duration.observed.<id> (eventstream)stableObserved balance recovery duration changed.
nexsys4.eqbal.gotnonestableBalance and equilibrium are both available.
nexsys4.limb.hitnexsys4.limb.hit.<limb> (eventstream)stableLimb damage was recorded.
nexsys4.limb.resetnexsys4.limb.reset.<limb> (eventstream)stableLimb tracking was reset.
nexsys4.limb.stage.changednexsys4.limb.stage.changed.<limb> (eventstream)stableLimb damage stage changed.

Items, cache, queue, rules, and serverside

TopicScoped EventStream variantsStabilityDescription
nexsys4.cache.amount.changednonestableCached item counts changed.
nexsys4.cache.inventory.listnonestableInventory cache snapshot applied.
nexsys4.cache.rift.listnonestableRift cache snapshot applied.
nexsys4.item.room.addednonestableAn item appeared in the current room.
nexsys4.item.room.removednonestableAn item left the current room.
nexsys4.item.room.updatednonestableA current-room item changed.
nexsys4.item.room.listnonestableCurrent-room item list snapshot received.
nexsys4.item.inv.addednonestableAn item was added to inventory.
nexsys4.item.inv.removednonestableAn item was removed from inventory.
nexsys4.item.inv.updatednonestableAn inventory item changed.
nexsys4.item.inv.listnonestableInventory item list snapshot received.
nexsys4.queue.sentnexsys4.queue.sent.<queueName> (eventstream)stableA queue submission was accepted by the server.
nexsys4.queue.firednexsys4.queue.fired.<queueName> (eventstream)stableA queue fire was acknowledged for a named queue.
nexsys4.queue.fired.acknonestableQueue fire acknowledgement was recorded.
nexsys4.serverside.aff.priority.setnexsys4.serverside.aff.priority.set.<id> (eventstream)stableLive serverside affliction priority confirmation was observed.
nexsys4.serverside.def.priority.setnexsys4.serverside.def.priority.set.<id> (eventstream)stableLive serverside defence priority confirmation was observed.
nexsys4.rule.activatednexsys4.rule.activated.<id> (eventstream)stableServerside rule became active.
nexsys4.rule.deactivatednexsys4.rule.deactivated.<id> (eventstream)stableServerside rule stopped being active.

Not included here

  • JS-public-only and internal registry topics are listed in the event dictionary.
  • Adapter-local names such as PromptEvent, NoticeEvent, TargetSetEvent, and TargetChanged are not registry topics and are never part of this outbound EventStream contract.