Skip to content

JournalEntryAddedEvent

A beat was appended to the session journal — the whole entry, as written.

Full documentation: JournalEntryAddedEvent. Wire type: journal_entry_added.

Default visibility: player

Message codes: session.journal.entry_added

JSON Schema

{
  "$defs": {
    "Visibility": {
      "description": "Who may see an event.\n\nThe wire values are `\"player\"` and `\"referee\"` \u2014 lowercase, serialized into every\nevent; changing them is a `schema_version` bump.",
      "enum": [
        "player",
        "referee"
      ],
      "title": "Visibility",
      "type": "string"
    }
  },
  "description": "A beat was appended to the session journal \u2014 the whole entry, as written.\n\nPlayer-visible: the journal is written for the table. The authored `text` is\ncontent data in a structured field, not engine-baked English \u2014 the event still\ncarries its message code and its facts \u2014 and `rounds` is the clock position the\nentry landed at, the same stamp the stored entry carries.\n\nIt is not the only event a growing journal emits. A quest beat appends its entry\nand reports itself through its own lifecycle event \u2014 the whole set is this event\nplus [`QuestActivatedEvent`][osrlib.crawl.events.QuestActivatedEvent],\n[`ObjectiveRevealedEvent`][osrlib.crawl.events.ObjectiveRevealedEvent],\n[`ObjectiveCompletedEvent`][osrlib.crawl.events.ObjectiveCompletedEvent], and\n[`QuestCompletedEvent`][osrlib.crawl.events.QuestCompletedEvent] \u2014 because\nemitting both for one beat would report the same line to the table twice. A\nclient that wants the whole journal reads it from the view.",
  "properties": {
    "code": {
      "default": "session.journal.entry_added",
      "title": "Code",
      "type": "string"
    },
    "visibility": {
      "$ref": "#/$defs/Visibility",
      "default": "player"
    },
    "event_type": {
      "const": "journal_entry_added",
      "default": "journal_entry_added",
      "title": "Event Type",
      "type": "string"
    },
    "text": {
      "title": "Text",
      "type": "string"
    },
    "rounds": {
      "title": "Rounds",
      "type": "integer"
    }
  },
  "required": [
    "text",
    "rounds"
  ],
  "title": "JournalEntryAddedEvent",
  "type": "object"
}