{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "The heartbeat of a world. Something happened. Attributed to a character, timestamped, permanent.",
      "key": "tid",
      "record": {
        "properties": {
          "actionType": {
            "description": "The type of action",
            "knownValues": [
              "narrative",
              "dialogue",
              "witness",
              "competitive",
              "administrative"
            ],
            "type": "string"
          },
          "actorDID": {
            "description": "The permanent identity of the person who took this action",
            "format": "did",
            "type": "string"
          },
          "characterReference": {
            "description": "Reference to the character who took this action",
            "format": "at-uri",
            "type": "string"
          },
          "content": {
            "description": "The content of the action — what happened",
            "maxGraphemes": 3000,
            "maxLength": 30720,
            "type": "string"
          },
          "createdAt": {
            "description": "Timestamp when this action was taken",
            "format": "datetime",
            "type": "string"
          },
          "eventReference": {
            "description": "Reference to the event this action is part of",
            "format": "at-uri",
            "type": "string"
          },
          "locationReference": {
            "description": "Reference to the location where this action occurred",
            "format": "at-uri",
            "type": "string"
          },
          "narrativeWeight": {
            "description": "Optional importance scoring hook (null default, non-breaking)",
            "type": "integer"
          },
          "parentAction": {
            "description": "Reference to the action this is responding to (for threading)",
            "format": "at-uri",
            "type": "string"
          },
          "visibility": {
            "description": "The visibility tier of this action",
            "knownValues": [
              "canon",
              "community",
              "experimental"
            ],
            "type": "string"
          },
          "worldReference": {
            "description": "Reference to the world this action occurred in",
            "format": "at-uri",
            "type": "string"
          }
        },
        "required": [
          "actorDID",
          "worldReference",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "world.ptah.action",
  "lexicon": 1
}
