Files
reducers/backend/knowledge/schemas/component.schema.json
T

34 lines
1.2 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "kb://schemas/component.schema.json",
"title": "Mechanical component knowledge entry",
"type": "object",
"required": ["schema_version", "id", "version", "kind", "parameters", "ports", "capability_refs", "maturity"],
"properties": {
"schema_version": {"const": "1.0"},
"id": {"type": "string", "pattern": "^component\\."},
"version": {"type": "string"},
"kind": {"type": "string"},
"virtual": {"type": "boolean", "default": false},
"roles": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
"parameters": {"type": "object"},
"ports": {
"type": "array",
"items": {
"type": "object",
"required": ["id", "type"],
"properties": {
"id": {"type": "string"},
"type": {"type": "string"},
"multiplicity": {"type": "string", "enum": ["one", "many"]}
},
"additionalProperties": false
}
},
"capability_refs": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
"applicability": {"type": "object"},
"maturity": {"type": "string"}
},
"additionalProperties": false
}