{
    "$id": "merged-slim.json",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "type": "object",
    "definitions": {},
    "required": ["vars", "version", "urls"],
    "properties": {
        "vars": {
            "type": "object",
            "patternProperties": {
                "^([a-zA-Z\\._-]+)": {
                    "type": "object",
                    "required": ["name", "ids"],
                    "properties": {
                        "name": {
                            "type": "string",
                            "minLength": 2
                        },
                        "scope": {
                            "type": "array",
                            "additionalItems": false,
                            "items": {
                                "type": "string",
                                "enum": [
                                    "global",
                                    "session",
                                    "connection"
                                ]
                            }
                        },
                        "type": {
                            "type": "string"
                        },
                        "ids": {
                            "type": "array",
                            "additionalItems": false,
                            "items": {
                                "type": "string",
                                "pattern": "^[0-9]+#[A-Za-z0-9\\._-]*$",
                                "minLength": 2
                            }
                        },
                        "cli": {
                            "type": "string",
                            "minLength": 2
                        },
                        "default": {
                            "type": "string",
                            "minLength": 0
                        },
                        "dynamic": {
                            "type": "boolean"
                        },
                        "range": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [],
                            "properties": {
                                "from": {
                                    "type": "number"
                                },
                                "to": {
                                    "oneOf": [
                                        {
                                            "type": "number"
                                        },
                                        {
                                            "type": "string",
                                            "enum": ["upwards"]
                                        }
                                    ]
                                }
                            }
                        },
                        "validValues": {
                            "type": "array",
                            "additionalItems": false,
                            "minItems": 1,
                            "items": {
                                "type": [ "string", "number"]
                            }
                        }
                    },
                    "additionalProperties": false
                }
            },
            "additionalProperties": false
        },
        "version": {
            "$ref": "doc-version.json"
        },
        "urls": {
            "type": "array",
            "additionalItems": false,
            "items": {
                "$ref": "doc-url.json"
            }
        }
    },
    "additionalProperties": false
}
