Skip to main content

Message Patterns

The current backend uses NestJS Redis microservice transport with explicit message and event pattern names.

Core process patterns

PatternPurpose
KILL_PROCESS_EVENTAsk a service mode to stop
PROCESS_STATUSPublish current process status
ASK_PROCESS_STATUSRequest current process status from workers

Security patterns

PatternPurpose
IS_VALID_PASSWORDValidate password through the security controller
IS_SAFE_APPSafety-state check
ENCRYPTEncrypt text
DECRYPTDecrypt text

Log patterns

PatternPurpose
NATIVE_LOG_EVENTNative log event fan-out
LOG_EVENTStructured application log creation

Product event patterns

PatternPurpose
BOT_CREATED / BOT_UPDATEDbot lifecycle broadcasts
MISSION_CREATED / MISSION_UPDATEDmission lifecycle broadcasts
PLAN_CREATED / PLAN_UPDATEDplan lifecycle broadcasts
SIMULATION_PROGRESS_UPDATEDsimulation progress updates
TASK_CREATED / TASK_UPDATEDtask lifecycle broadcasts
GET_ADAPTION_STATUSrequest leaderboard adaption status
START_ADAPTIONtrigger leaderboard adaption for a contract

Where these are used

  • API services emit many domain events after persistence
  • controllers subscribe to event patterns and republish through GraphQL subscriptions where needed
  • worker services answer adaption and process-status requests