content-explorer/contracts/manifest.schema.json

74 lines
2.2 KiB
JSON
Raw Normal View History

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://content-explorer.local/schemas/manifest-0.1.json",
"title": "Content Explorer dataspace manifest v0.1",
"type": "object",
"additionalProperties": false,
"required": ["schemaVersion", "id", "home", "navigation", "kindViews", "panels", "relationLabels", "factPolicy"],
"properties": {
"schemaVersion": {"const": "0.1"},
"id": {"type": "string", "pattern": "^[a-z0-9-]+$"},
"home": {
"type": "object",
"additionalProperties": false,
"required": ["heading", "featuredKinds"],
"properties": {
"heading": {"type": "string", "minLength": 1},
"featuredKinds": {"type": "array", "items": {"type": "string"}, "minItems": 1}
}
},
"navigation": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["label", "kinds"],
"properties": {
"label": {"type": "string"},
"kinds": {"type": "array", "items": {"type": "string"}, "minItems": 1}
}
}
},
"kindViews": {
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": false,
"required": ["columns", "facets"],
"properties": {
"columns": {"type": "array", "items": {"type": "string"}, "minItems": 1},
"facets": {"type": "array", "items": {"type": "string"}}
}
}
},
"panels": {
"type": "array",
"items": {"enum": ["summary", "relations", "evidence", "claims"]}
},
"relationLabels": {
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": false,
"required": ["forward", "inverse"],
"properties": {
"forward": {"type": "string"},
"inverse": {"type": "string"}
}
}
},
"acyclicPredicates": {
"type": "array",
"items": {"type": "string"}
},
"factPolicy": {"enum": ["show-all", "preferred", "withhold"]},
"theme": {
"type": "object",
"additionalProperties": false,
"required": ["accent"],
"properties": {"accent": {"type": "string"}}
}
}
}