yams/docs/spec/schemas/manifest.schema.json
2025-09-11 11:28:42 -04:00

48 lines
1.3 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "schema://yams/plugins/manifest",
"title": "YAMS Plugin Manifest",
"type": "object",
"properties": {
"name": { "type": "string", "minLength": 1 },
"version": { "type": "string", "minLength": 1 },
"abi": { "type": "integer", "minimum": 1 },
"interfaces": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string" },
"version": { "type": "integer", "minimum": 1 }
},
"required": ["id", "version"],
"additionalProperties": false
},
"minItems": 1
},
"capabilities": { "type": "array", "items": { "type": "string" } },
"config_schema": { "type": ["string", "object"] },
"health": {
"type": "object",
"properties": { "has_health": { "type": "boolean" } },
"required": ["has_health"],
"additionalProperties": true
},
"authors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"email": { "type": "string" },
"org": { "type": "string" }
},
"required": ["name"],
"additionalProperties": true
}
}
},
"required": ["name", "version", "abi", "interfaces"],
"additionalProperties": true
}