{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://yarrasys.dev/schema/yarramate-apply-result.schema.json",
  "title": "YarraMate apply result",
  "type": "object",
  "additionalProperties": false,
  "required": ["format", "workspace", "applied", "documents"],
  "properties": {
    "format": { "const": "yarramate/apply-result/v1" },
    "workspace": { "type": "string", "minLength": 1 },
    "applied": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "addedConcepts",
        "addedRelationships",
        "updatedConcepts",
        "updatedRelationships",
        "deletedConcepts",
        "deletedRelationships",
        "renamedConcepts",
        "renamedRelationships",
        "addedObservations",
        "updatedObservations",
        "deletedObservations"
      ],
      "properties": {
        "addedConcepts": { "type": "integer", "minimum": 0 },
        "addedRelationships": { "type": "integer", "minimum": 0 },
        "updatedConcepts": { "type": "integer", "minimum": 0 },
        "updatedRelationships": { "type": "integer", "minimum": 0 },
        "deletedConcepts": { "type": "integer", "minimum": 0 },
        "deletedRelationships": { "type": "integer", "minimum": 0 },
        "renamedConcepts": { "type": "integer", "minimum": 0 },
        "renamedRelationships": { "type": "integer", "minimum": 0 },
        "addedObservations": { "type": "integer", "minimum": 0 },
        "updatedObservations": { "type": "integer", "minimum": 0 },
        "deletedObservations": { "type": "integer", "minimum": 0 }
      }
    },
    "documents": {
      "type": "array",
      "items": { "type": "string", "minLength": 1 }
    }
  }
}
