{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "additionalProperties": false,
  "required": ["interface"],
  "properties": {
    "interface": {
      "type": "object",
      "additionalProperties": false,
      "required": ["display_name", "short_description", "default_prompt"],
      "properties": {
        "display_name": { "type": "string", "minLength": 1, "maxLength": 64 },
        "short_description": { "type": "string", "minLength": 1, "maxLength": 80 },
        "default_prompt": { "type": "string", "pattern": "\\$[a-z0-9]+(?:-[a-z0-9]+)*" }
      }
    },
    "dependencies": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "tools": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": true,
            "required": ["type", "value", "description"],
            "properties": {
              "type": { "type": "string" },
              "value": { "type": "string" },
              "description": { "type": "string" }
            }
          }
        }
      }
    }
  }
}
