Files
chimera-Public/schemas/ps5-native-package-manifest.schema.json
T

111 lines
4.6 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://chimera.local/schemas/ps5-native-package-manifest.schema.json",
"title": "Chimera PS5 fPKG package manifest v2",
"type": "object",
"additionalProperties": false,
"required": ["schemaVersion", "kind", "createdAt", "title", "packageFormat", "builder", "source", "evidence", "components", "dependencies", "recipe", "launchVerified", "productionRestorable"],
"properties": {
"schemaVersion": { "const": 2 },
"kind": { "const": "chimera.ps5-fpkg-package.v2" },
"createdAt": { "type": "number" },
"title": {
"type": "object",
"additionalProperties": false,
"required": ["platform", "titleId", "name"],
"properties": {
"platform": { "const": "ps5" },
"titleId": { "type": "string", "pattern": "^[A-Z]{4}[0-9]{5}$" },
"name": { "type": "string", "minLength": 1 }
}
},
"packageFormat": {
"type": "object",
"additionalProperties": false,
"required": ["family", "extension", "container", "magic", "debug", "licenseFree", "retail"],
"properties": {
"family": { "const": "ps5-fpkg" },
"extension": { "const": ".pkg" },
"container": { "const": "FIH" },
"magic": { "const": "7f464948" },
"debug": { "const": true },
"licenseFree": { "const": true },
"retail": { "const": false }
}
},
"builder": {
"type": "object",
"additionalProperties": false,
"required": ["product", "version", "revision", "api", "bridgeAbi", "patched"],
"properties": {
"product": { "const": "LibProsperoPkg" },
"version": { "type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$" },
"revision": { "type": "string", "pattern": "^[a-f0-9]{40}$" },
"api": { "enum": ["ProsperoBackupConverter", "ProsperoPackageBuilder"] },
"bridgeAbi": { "const": "chimera-prospero-bridge-v4" },
"patched": { "const": false }
}
},
"source": { "$ref": "#/$defs/sourceEvidence" },
"evidence": {
"type": "object",
"additionalProperties": false,
"required": ["backupReadiness", "structuralValidation", "staticLaunchReadiness", "consoleInstall", "consoleLaunch"],
"properties": {
"backupReadiness": { "type": "object" },
"structuralValidation": { "type": "object" },
"staticLaunchReadiness": { "type": "object" },
"consoleInstall": { "$ref": "#/$defs/unprovenEvidence" },
"consoleLaunch": { "$ref": "#/$defs/unprovenEvidence" }
}
},
"components": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": ["id", "type", "titleId", "contentId", "size", "sha256", "absolutePath", "adapterHint", "structuralValidation", "source"],
"properties": {
"id": { "type": "string", "minLength": 1 },
"type": { "enum": ["base", "dlc"] },
"titleId": { "type": "string", "pattern": "^[A-Z]{4}[0-9]{5}$" },
"contentId": { "type": "string", "pattern": "^[A-Z]{2}[0-9]{4}-[A-Z]{4}[0-9]{5}_[0-9]{2}-[A-Z0-9]{16}$" },
"size": { "type": "integer", "minimum": 1 },
"sha256": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
"absolutePath": { "type": "string", "minLength": 1 },
"adapterHint": { "const": "ps5-fpkg-finalized-fih" },
"structuralValidation": {
"type": "object",
"required": ["status", "upstream"],
"properties": { "status": { "const": "accepted" }, "upstream": { "type": "object", "required": ["accepted"], "properties": { "accepted": { "const": true } } } }
},
"source": { "$ref": "#/$defs/sourceEvidence" }
}
}
},
"dependencies": { "type": "array" },
"recipe": { "type": "object", "required": ["installOrder"] },
"launchVerified": { "const": false },
"productionRestorable": { "const": false }
},
"$defs": {
"sourceEvidence": {
"type": "object",
"required": ["kind", "treeDigestAlgorithm", "treeSha256", "fileCount", "size"],
"properties": {
"kind": { "const": "verified-prepared-application-backup" },
"treeDigestAlgorithm": { "const": "sha256-tree-v1" },
"treeSha256": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
"fileCount": { "type": "integer", "minimum": 1 },
"size": { "type": "integer", "minimum": 1 }
}
},
"unprovenEvidence": {
"type": "object",
"additionalProperties": false,
"required": ["status"],
"properties": { "status": { "const": "unproven" } }
}
}
}