{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "data": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "threadId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 512,
                "pattern": "^[^\\s]+$"
              },
              "blockId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 512,
                "pattern": "^[^\\s]+$"
              },
              "status": {
                "type": "string",
                "enum": [
                  "open",
                  "resolved"
                ]
              },
              "revisionId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 512,
                "pattern": "^[^\\s]+$"
              },
              "filePath": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024,
                "pattern": "^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"
              },
              "comments": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 512,
                      "pattern": "^[^\\s]+$"
                    },
                    "bodyMarkdown": {
                      "type": "string",
                      "maxLength": 20000
                    },
                    "authorType": {
                      "type": "string",
                      "enum": [
                        "human",
                        "agent"
                      ]
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "bodyMarkdown",
                    "authorType",
                    "createdAt"
                  ]
                },
                "maxItems": 100,
                "minItems": 0
              },
              "hasOlderComments": {
                "type": "boolean"
              }
            },
            "required": [
              "threadId",
              "blockId",
              "status",
              "revisionId",
              "filePath",
              "comments",
              "hasOlderComments"
            ]
          },
          "maxItems": 100,
          "minItems": 0
        },
        "nextCursor": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096,
              "pattern": "^[^\\s]+$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "items",
        "nextCursor"
      ]
    },
    "idempotencyReplayed": {
      "type": "boolean"
    }
  },
  "required": [
    "data"
  ]
}