{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://abdess.github.io/retrobios/api/v1/schemas/pack-manifest.schema.json", "title": "RetroBIOS pack integrity manifest", "type": "object", "additionalProperties": false, "required": ["schema_version", "version", "generator", "generated", "files", "summary", "errors"], "properties": { "schema_version": { "const": 1 }, "version": { "const": 1 }, "generator": { "const": "retrobios generate_pack.py" }, "generated": { "type": "string", "format": "date-time" }, "files": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": ["path", "sha1", "md5", "size", "status", "name"], "properties": { "path": { "type": "string", "minLength": 1 }, "sha1": { "type": "string", "pattern": "^[a-f0-9]{40}$" }, "md5": { "type": "string", "pattern": "^[a-f0-9]{32}$" }, "size": { "type": "integer", "minimum": 0 }, "status": { "enum": ["verified", "verified_md5", "verified_rebuild", "verified_data", "verified_members", "untracked"] }, "name": { "type": "string" }, "systems": { "type": "array", "items": { "type": "string", "minLength": 1 } } } } }, "summary": { "type": "object", "additionalProperties": false, "required": ["total_files", "verified", "untracked", "errors"], "properties": { "total_files": { "type": "integer", "minimum": 0 }, "verified": { "type": "integer", "minimum": 0 }, "untracked": { "type": "integer", "minimum": 0 }, "errors": { "type": "integer", "minimum": 0 } } }, "errors": { "type": "array", "items": { "type": "string" } }, "system_titles": { "type": "object", "additionalProperties": { "type": "string" } }, "system_names": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } } }, "list_version": { "description": "Version of the platform's list the pack was built from, the version of its install manifest. The installer compares it with the version the machine runs when it installs from the pack alone. The version key above numbers this file's format.", "type": "string", "minLength": 1 }, "list_records": { "description": "What the platform's install list narrows by: the installer names that list as the remedy for --core or --region given with the pack alone only when it records them.", "type": "array", "uniqueItems": true, "items": { "enum": ["systems", "cores", "regions"] } } } }