{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$id": "https://example.com/schemas/provisioning.json",
    "title": "Tampermonkey Provisioning Storage",
    "type": "object",
    "description": "Root object, contains provisioning data like jsonImport",
    "properties": {
        "jsonImport": {
            "type": "array",
            "items": {
                "type": "object",
                "required": [
                    "hash",
                    "url"
                ],
                "properties": {
                    "hash": {
                        "id": "NonEmptyString",
                        "type": "string",
                        "minLength": 1
                    },
                    "url": {
                        "$ref": "NonEmptyString"
                    },
                    "haltOnError": {
                        "type": "boolean",
                        "default": false,
                        "description": "If true the whole provisioning process aborts on errors for this entry."
                    },
                    "installAsSystemScripts": {
                        "type": "boolean",
                        "default": true,
                        "description": "If true all scripts are installed as system scripts."
                    }
                }
            },
            "uniqueItems": true,
            "description": "Array of provisioning entries for jsonImport."
        }
    }
}
