{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "pi-context-broker config",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "skillRoots": { "$ref": "#/$defs/stringArray" },
    "extraSkillRoots": { "$ref": "#/$defs/stringArray" },
    "ruleRoots": { "$ref": "#/$defs/stringArray" },
    "discoveryCatalogs": { "$ref": "#/$defs/stringArray" },
    "extraDiscoveryCatalogs": { "$ref": "#/$defs/stringArray" },
    "requireAutoload": { "type": "boolean" },
    "pathMode": { "enum": ["absolute", "home-relative", "basename", "hash"] },
    "logPaths": { "type": "boolean" },
    "debug": { "type": "boolean" },
    "scan": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "maxDepth": { "type": "integer", "minimum": 1 },
        "maxSkillBytes": { "type": "integer", "minimum": 1 },
        "ignore": { "$ref": "#/$defs/stringArray" }
      }
    }
  },
  "$defs": {
    "stringArray": {
      "type": "array",
      "items": { "type": "string", "minLength": 1 },
      "uniqueItems": true
    }
  }
}
