{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {
    "InputItem": {
      "oneOf": [
        {
          "properties": {
            "data": {
              "properties": {
                "text": {
                  "type": "string"
                },
                "text_elements": {
                  "default": [],
                  "description": "UI-defined spans within `text` used to render or persist special elements.",
                  "items": {
                    "$ref": "#/definitions/V1TextElement"
                  },
                  "type": "array"
                }
              },
              "required": [
                "text"
              ],
              "type": "object"
            },
            "type": {
              "enum": [
                "text"
              ],
              "title": "TextInputItemType",
              "type": "string"
            }
          },
          "required": [
            "data",
            "type"
          ],
          "title": "TextInputItem",
          "type": "object"
        },
        {
          "properties": {
            "data": {
              "properties": {
                "image_url": {
                  "type": "string"
                }
              },
              "required": [
                "image_url"
              ],
              "type": "object"
            },
            "type": {
              "enum": [
                "image"
              ],
              "title": "ImageInputItemType",
              "type": "string"
            }
          },
          "required": [
            "data",
            "type"
          ],
          "title": "ImageInputItem",
          "type": "object"
        },
        {
          "properties": {
            "data": {
              "properties": {
                "path": {
                  "type": "string"
                }
              },
              "required": [
                "path"
              ],
              "type": "object"
            },
            "type": {
              "enum": [
                "localImage"
              ],
              "title": "LocalImageInputItemType",
              "type": "string"
            }
          },
          "required": [
            "data",
            "type"
          ],
          "title": "LocalImageInputItem",
          "type": "object"
        }
      ]
    },
    "ThreadId": {
      "type": "string"
    },
    "V1ByteRange": {
      "properties": {
        "end": {
          "description": "End byte offset (exclusive) within the UTF-8 text buffer.",
          "format": "uint",
          "minimum": 0.0,
          "type": "integer"
        },
        "start": {
          "description": "Start byte offset (inclusive) within the UTF-8 text buffer.",
          "format": "uint",
          "minimum": 0.0,
          "type": "integer"
        }
      },
      "required": [
        "end",
        "start"
      ],
      "type": "object"
    },
    "V1TextElement": {
      "properties": {
        "byteRange": {
          "allOf": [
            {
              "$ref": "#/definitions/V1ByteRange"
            }
          ],
          "description": "Byte range in the parent `text` buffer that this element occupies."
        },
        "placeholder": {
          "description": "Optional human-readable placeholder for the element, displayed in the UI.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "byteRange"
      ],
      "type": "object"
    }
  },
  "properties": {
    "conversationId": {
      "$ref": "#/definitions/ThreadId"
    },
    "items": {
      "items": {
        "$ref": "#/definitions/InputItem"
      },
      "type": "array"
    }
  },
  "required": [
    "conversationId",
    "items"
  ],
  "title": "SendUserMessageParams",
  "type": "object"
}