{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://example.internal/paddock/analysis-request.schema.json",
  "title": "AnalyzeRequest",
  "type": "object",
  "required": [
    "sessionId",
    "revision",
    "mode",
    "responseText",
    "changedRanges"
  ],
  "properties": {
    "sessionId": {
      "type": "string"
    },
    "revision": {
      "type": "integer",
      "minimum": 1
    },
    "mode": {
      "type": "string",
      "enum": [
        "live",
        "idle",
        "submit"
      ]
    },
    "responseText": {
      "type": "string"
    },
    "changedRanges": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "start",
          "end"
        ],
        "properties": {
          "start": {
            "type": "integer",
            "minimum": 0
          },
          "end": {
            "type": "integer",
            "minimum": 0
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": false
}
