{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schemas.logicsrc.com/logicsrc-credential-provider.schema.json",
  "title": "LogicSRC Credential Provider",
  "type": "object",
  "required": ["id", "name", "description", "capabilities", "authRequirements", "status"],
  "additionalProperties": false,
  "properties": {
    "id": { "type": "string", "pattern": "^[a-z][a-z0-9-]*$" },
    "name": { "type": "string", "minLength": 1 },
    "description": { "type": "string", "minLength": 1 },
    "capabilities": {
      "type": "object",
      "required": ["readValues", "readNames", "write", "delete", "rollback", "audit"],
      "additionalProperties": false,
      "properties": {
        "readValues": { "type": "boolean" },
        "readNames": { "type": "boolean" },
        "write": { "type": "boolean" },
        "delete": { "type": "boolean" },
        "rollback": { "type": "boolean" },
        "audit": { "type": "boolean" }
      }
    },
    "authRequirements": { "type": "array", "items": { "type": "string" } },
    "status": { "enum": ["available", "planned"] }
  }
}
