{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://itworx.local/pulse/specs/capability.schema.json", "title": "Pulse datasource capability document", "type": "object", "additionalProperties": false, "required": ["contractVersion", "sourceType", "capabilities"], "properties": { "contractVersion": { "type": "string", "const": "v1" }, "sourceType": { "type": "string", "enum": ["prometheus", "unraid", "agent", "exporter"] }, "capabilities": { "type": "array", "maxItems": 100, "items": { "type": "object", "additionalProperties": false, "required": ["id", "version", "state"], "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 120 }, "version": { "type": "string", "minLength": 1, "maxLength": 32 }, "state": { "type": "string", "enum": ["enabled", "unsupported", "unavailable", "disabled"] }, "description": { "type": "string", "maxLength": 500 }, "reasonCode": { "type": "string", "maxLength": 80 }, "observedAt": { "type": ["string", "null"], "format": "date-time" } } } } } }