{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "notarius.dnd.npcs", "type": "object", "additionalProperties": false, "required": ["npcs"], "properties": { "npcs": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "id", "name", "aliases", "description", "relationships", "source_refs" ], "properties": { "id": { "type": "string", "pattern": "^npc:sha256:[0-9a-f]{64}$" }, "name": { "type": "string", "minLength": 1 }, "aliases": { "type": "array", "items": { "type": "string", "minLength": 1 } }, "description": { "type": "string", "minLength": 1 }, "relationships": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": ["target", "relationship"], "properties": { "target": { "type": "string", "minLength": 1 }, "relationship": { "type": "string", "minLength": 1 } } } }, "source_refs": { "type": "array", "minItems": 1, "items": { "type": "object", "additionalProperties": false, "required": ["source_id", "start_unit_id", "end_unit_id"], "properties": { "source_id": { "type": "string", "minLength": 1 }, "start_unit_id": { "type": "integer", "minimum": 1 }, "end_unit_id": { "type": "integer", "minimum": 1 } } } } } } } } }