{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://fdc3.finos.org/schemas/next/context/chatMessage.schema.json",
  "type": "object",
  "title": "ChatMessage",
  "description": "A context representing a chat message. Typically used to send the message or to pre-populate a message for sending.",
  "allOf": [{
      "type": "object",
      "properties": {
        "type": { "const": "fdc3.chat.message" },
        "chatRoom": { "$ref": "chatRoom.schema.json#" },
        "message": { "$ref": "message.schema.json#" }
      },
      "required": ["type", "chatRoom", "message"]
    },
    { "$ref": "context.schema.json#/definitions/BaseContext" }
  ],
  "examples": [{
      "type": "fdc3.chat.message",
      "chatRoom": {
          "type": "fdc3.chat.room",
          "providerName": "Symphony",
          "id": {
              "streamId": "j75xqXy25NBOdacUI3FNBH"
          }
      },
      "message": {
        "type": "fdc3.message",
        "text": {
          "text/plain": "Hey all, can we discuss the issue together? I attached a screenshot"
        },
        "entities": {
           "0": {
               "type": "fdc3.fileAttachment",
                "data": {
                "name": "myImage.png",
                      "dataUri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII"
                }
            }
        }
      }
  }]
}
