{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://tylereno.me/oidf/schemas/plugin/capability_descriptor.json",
  "title": "CapabilityDescriptor",
  "x-keel-schema-version": "1.0.0",
  "type": "object",
  "additionalProperties": false,
  "required": ["plugin_id", "plugin_version", "capabilities", "publishes", "subscribes"],
  "properties": {
    "plugin_id": { "type": "string", "minLength": 1 },
    "plugin_version": { "type": "string", "minLength": 1 },
    "capabilities": {
      "type": "array",
      "items": { "type": "string", "minLength": 1 },
      "uniqueItems": true
    },
    "publishes": {
      "type": "array",
      "items": { "type": "string", "minLength": 1 },
      "uniqueItems": true
    },
    "subscribes": {
      "type": "array",
      "items": { "type": "string", "minLength": 1 },
      "uniqueItems": true
    },
    "config_keys": {
      "type": "array",
      "items": { "type": "string", "minLength": 1 }
    }
  }
}
