{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/openrpc-json/_shared/latest--meta.json-schema.tools.json",
  "title": "JSONSchema",
  "x-lintel": {
    "source": "https://meta.json-schema.tools",
    "sourceSha256": "993eb54713cf2d5f26d9872671ffda551c50cba4882cca2914e9cbee84936155"
  },
  "default": {},
  "$defs": {
    "JSONSchemaBoolean": {
      "title": "JSONSchemaBoolean",
      "description": "Always valid if true. Never valid if false. Is constant.",
      "type": "boolean"
    },
    "JSONSchemaObject": {
      "title": "JSONSchemaObject",
      "type": "object",
      "properties": {
        "$id": {
          "title": "$id",
          "type": "string",
          "format": "uri-reference"
        },
        "$schema": {
          "title": "$schema",
          "type": "string",
          "format": "uri"
        },
        "$ref": {
          "title": "$ref",
          "type": "string",
          "format": "uri-reference"
        },
        "$comment": {
          "title": "$comment",
          "type": "string"
        },
        "title": {
          "title": "title",
          "type": "string"
        },
        "description": {
          "title": "description",
          "type": "string"
        },
        "default": true,
        "readOnly": {
          "title": "readOnly",
          "type": "boolean",
          "default": false
        },
        "examples": {
          "title": "examples",
          "type": "array",
          "items": true
        },
        "multipleOf": {
          "title": "multipleOf",
          "type": "number",
          "exclusiveMinimum": 0
        },
        "maximum": {
          "title": "maximum",
          "type": "number"
        },
        "exclusiveMaximum": {
          "title": "exclusiveMaximum",
          "type": "number"
        },
        "minimum": {
          "title": "minimum",
          "type": "number"
        },
        "exclusiveMinimum": {
          "title": "exclusiveMinimum",
          "type": "number"
        },
        "maxLength": {
          "$ref": "#/$defs/nonNegativeInteger"
        },
        "minLength": {
          "$ref": "#/$defs/nonNegativeIntegerDefault0"
        },
        "pattern": {
          "title": "pattern",
          "type": "string",
          "format": "regex"
        },
        "additionalItems": {
          "$ref": "#"
        },
        "items": {
          "title": "items",
          "anyOf": [
            {
              "$ref": "#"
            },
            {
              "$ref": "#/$defs/schemaArray"
            }
          ],
          "default": true
        },
        "maxItems": {
          "$ref": "#/$defs/nonNegativeInteger"
        },
        "minItems": {
          "$ref": "#/$defs/nonNegativeIntegerDefault0"
        },
        "uniqueItems": {
          "title": "uniqueItems",
          "type": "boolean",
          "default": false
        },
        "contains": {
          "$ref": "#"
        },
        "maxProperties": {
          "$ref": "#/$defs/nonNegativeInteger"
        },
        "minProperties": {
          "$ref": "#/$defs/nonNegativeIntegerDefault0"
        },
        "required": {
          "$ref": "#/$defs/stringArray"
        },
        "additionalProperties": {
          "$ref": "#"
        },
        "definitions": {
          "title": "definitions",
          "type": "object",
          "default": {},
          "additionalProperties": {
            "$ref": "#"
          }
        },
        "properties": {
          "title": "properties",
          "type": "object",
          "default": {},
          "additionalProperties": {
            "$ref": "#"
          }
        },
        "patternProperties": {
          "title": "patternProperties",
          "type": "object",
          "default": {},
          "propertyNames": {
            "title": "propertyNames",
            "format": "regex"
          },
          "additionalProperties": {
            "$ref": "#"
          }
        },
        "dependencies": {
          "title": "dependencies",
          "type": "object",
          "additionalProperties": {
            "title": "dependenciesSet",
            "anyOf": [
              {
                "$ref": "#"
              },
              {
                "$ref": "#/$defs/stringArray"
              }
            ]
          }
        },
        "propertyNames": {
          "$ref": "#"
        },
        "const": true,
        "enum": {
          "title": "enum",
          "type": "array",
          "items": true,
          "minItems": 1,
          "uniqueItems": true
        },
        "type": {
          "title": "type",
          "anyOf": [
            {
              "$ref": "#/$defs/simpleTypes"
            },
            {
              "title": "arrayOfSimpleTypes",
              "type": "array",
              "items": {
                "$ref": "#/$defs/simpleTypes"
              },
              "minItems": 1,
              "uniqueItems": true
            }
          ]
        },
        "format": {
          "title": "format",
          "type": "string"
        },
        "contentMediaType": {
          "title": "contentMediaType",
          "type": "string"
        },
        "contentEncoding": {
          "title": "contentEncoding",
          "type": "string"
        },
        "if": {
          "$ref": "#"
        },
        "then": {
          "$ref": "#"
        },
        "else": {
          "$ref": "#"
        },
        "allOf": {
          "$ref": "#/$defs/schemaArray"
        },
        "anyOf": {
          "$ref": "#/$defs/schemaArray"
        },
        "oneOf": {
          "$ref": "#/$defs/schemaArray"
        },
        "not": {
          "$ref": "#"
        }
      }
    },
    "schemaArray": {
      "title": "schemaArray",
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#"
      }
    },
    "nonNegativeInteger": {
      "title": "nonNegativeInteger",
      "type": "integer",
      "minimum": 0
    },
    "nonNegativeIntegerDefault0": {
      "title": "nonNegativeIntegerDefaultZero",
      "type": "integer",
      "minimum": 0,
      "default": 0
    },
    "simpleTypes": {
      "title": "simpleTypes",
      "type": "string",
      "enum": [
        "array",
        "boolean",
        "integer",
        "null",
        "number",
        "object",
        "string"
      ]
    },
    "stringArray": {
      "title": "stringArray",
      "type": "array",
      "items": {
        "type": "string"
      },
      "uniqueItems": true,
      "default": []
    }
  },
  "oneOf": [
    {
      "$ref": "#/$defs/JSONSchemaObject"
    },
    {
      "$ref": "#/$defs/JSONSchemaBoolean"
    }
  ]
}
