Files
chimera-Public/schemas/chimera-title-manifest.schema.json

212 lines
4.1 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://chimera.local/schemas/chimera-title-manifest.schema.json",
"title": "Portable Chimera title manifest",
"type": "object",
"additionalProperties": false,
"required": [
"schemaVersion",
"manifestId",
"createdAt",
"title",
"components",
"recipes",
"assets",
"provenance"
],
"properties": {
"schemaVersion": {
"const": 1
},
"manifestId": {
"type": "string",
"minLength": 1
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"title": {
"type": "object",
"additionalProperties": false,
"required": [
"platform",
"name"
],
"properties": {
"platform": {
"enum": [
"ps4",
"ps5",
"crossgen",
"unknown"
]
},
"name": {
"type": "string",
"minLength": 1
},
"titleId": {
"type": [
"string",
"null"
]
},
"contentId": {
"type": [
"string",
"null"
]
},
"npCommunicationId": {
"type": [
"string",
"null"
]
},
"region": {
"type": [
"string",
"null"
]
}
}
},
"components": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"type",
"relativePath",
"required"
],
"properties": {
"id": {
"type": "string"
},
"type": {
"enum": [
"base",
"update",
"dlc",
"unlocker",
"auxiliary",
"patch_bundle",
"apr_ampr",
"dump_folder",
"image",
"metadata"
]
},
"relativePath": {
"type": "string",
"pattern": "^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$)).+"
},
"required": {
"type": "boolean"
},
"version": {
"type": [
"string",
"null"
]
},
"contentId": {
"type": [
"string",
"null"
]
},
"sizeBytes": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"sha256": {
"type": [
"string",
"null"
],
"pattern": "^(?:[a-fA-F0-9]{64})?$"
},
"provenance": {
"type": "string"
}
}
}
},
"recipes": {
"type": "array",
"items": {
"type": "string"
}
},
"assets": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"relativePath",
"provenance"
],
"properties": {
"type": {
"enum": [
"cover",
"background",
"screenshot",
"video",
"other"
]
},
"relativePath": {
"type": "string"
},
"provenance": {
"type": "string"
},
"preferred": {
"type": "boolean"
}
}
}
},
"installNotes": {
"type": "string"
},
"provenance": {
"type": "object",
"required": [
"importJobId",
"sourceType"
],
"properties": {
"importJobId": {
"type": "string"
},
"sourceType": {
"type": "string"
},
"sourceName": {
"type": [
"string",
"null"
]
},
"sourceSha256": {
"type": [
"string",
"null"
]
}
}
}
}
}