{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$id": "altium-toolkit.parser-diagnostics.a1",
    "title": "Altium Toolkit Parser Diagnostics A1",
    "type": "object",
    "additionalProperties": true,
    "required": ["schema", "summary", "diagnostics"],
    "properties": {
        "schema": {
            "const": "altium-toolkit.parser-diagnostics.a1"
        },
        "summary": {
            "type": "object",
            "additionalProperties": true
        },
        "diagnostics": {
            "type": "array",
            "items": {
                "type": "object",
                "required": ["code", "severity", "message"],
                "properties": {
                    "code": {
                        "type": "string"
                    },
                    "severity": {
                        "enum": ["info", "warning", "error"]
                    },
                    "message": {
                        "type": "string"
                    },
                    "source": {
                        "type": "string"
                    },
                    "sourceStorage": {
                        "type": "string"
                    },
                    "sourceStream": {
                        "type": "string"
                    },
                    "fileName": {
                        "type": "string"
                    },
                    "recordIndex": {
                        "type": ["number", "string"]
                    },
                    "recordType": {
                        "type": ["number", "string"]
                    },
                    "fieldName": {
                        "type": "string"
                    },
                    "contextKey": {
                        "type": "string"
                    },
                    "errorKind": {
                        "type": "string"
                    }
                },
                "additionalProperties": true
            }
        }
    }
}
