{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {
    "ToolRequestUserInputOption": {
      "description": "EXPERIMENTAL. Defines a single selectable option for request_user_input.",
      "properties": {
        "description": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "required": [
        "description",
        "label"
      ],
      "type": "object"
    },
    "ToolRequestUserInputQuestion": {
      "description": "EXPERIMENTAL. Represents one request_user_input question and its required options.",
      "properties": {
        "header": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "isOther": {
          "default": false,
          "type": "boolean"
        },
        "isSecret": {
          "default": false,
          "type": "boolean"
        },
        "options": {
          "items": {
            "$ref": "#/definitions/ToolRequestUserInputOption"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "question": {
          "type": "string"
        }
      },
      "required": [
        "header",
        "id",
        "question"
      ],
      "type": "object"
    }
  },
  "description": "EXPERIMENTAL. Params sent with a request_user_input event.",
  "properties": {
    "itemId": {
      "type": "string"
    },
    "questions": {
      "items": {
        "$ref": "#/definitions/ToolRequestUserInputQuestion"
      },
      "type": "array"
    },
    "threadId": {
      "type": "string"
    },
    "turnId": {
      "type": "string"
    }
  },
  "required": [
    "itemId",
    "questions",
    "threadId",
    "turnId"
  ],
  "title": "ToolRequestUserInputParams",
  "type": "object"
}