{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.twindev.org/aig/AuditableItemGraphPatchOperation",
	"title": "AuditableItemGraphPatchOperation",
	"description": "The patch operation for JSON diffs.",
	"type": "object",
	"properties": {
		"@context": {
			"anyOf": [
				{
					"const": "https://schema.twindev.org/aig/"
				},
				{
					"type": "array",
					"prefixItems": [
						{
							"const": "https://schema.twindev.org/aig/"
						}
					],
					"items": {
						"$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
					},
					"minItems": 1
				}
			],
			"description": "JSON-LD Context."
		},
		"type": {
			"const": "AuditableItemGraphPatchOperation",
			"description": "JSON-LD Type."
		},
		"patchOperation": {
			"anyOf": [
				{
					"const": "add"
				},
				{
					"const": "remove"
				},
				{
					"const": "replace"
				},
				{
					"const": "move"
				},
				{
					"const": "copy"
				},
				{
					"const": "test"
				}
			],
			"description": "The operation that was performed on the item."
		},
		"patchPath": {
			"type": "string",
			"description": "The path to the object that was changed."
		},
		"patchFrom": {
			"type": "string",
			"description": "The path the value was copied or moved from."
		},
		"patchValue": {
			"description": "The value to add."
		}
	},
	"required": ["type", "patchOperation", "patchPath"]
}
