{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$defs": {
    "TableAddress": {
      "type": "object",
      "properties": {
        "kind": {
          "const": "block"
        },
        "nodeType": {
          "const": "table"
        },
        "nodeId": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "required": [
        "kind",
        "nodeType",
        "nodeId"
      ]
    }
  },
  "operationId": "tables.get",
  "schemas": {
    "input": {
      "type": "object",
      "properties": {
        "target": {
          "$ref": "#/$defs/TableAddress"
        },
        "nodeId": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "oneOf": [
        {
          "required": [
            "target"
          ]
        },
        {
          "required": [
            "nodeId"
          ]
        }
      ]
    },
    "output": {
      "type": "object",
      "properties": {
        "nodeId": {
          "type": "string"
        },
        "address": {
          "$ref": "#/$defs/TableAddress"
        },
        "rows": {
          "type": "integer",
          "minimum": 0
        },
        "columns": {
          "type": "integer",
          "minimum": 0
        }
      },
      "additionalProperties": false,
      "required": [
        "nodeId",
        "address",
        "rows",
        "columns"
      ]
    }
  }
}
