1
0
Fork 0
Code Issues Pull requests Projects Releases 2 Packages Wiki Activity Actions Pages
DocForge2/schemas/reference-adapter.schema.json

79 lines
1.5 KiB
JSON
Raw Permalink Normal View History

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://andraxion.net/docforge/schemas/reference-adapter.schema.json",
"title": "DocForge Reference Adapter Configuration",
"type": "object",
"additionalProperties": false,
"required": [
"schema_version",
"project_id",
"title",
"language",
"source_roots"
],
"properties": {
"schema_version": {
"const": 1
},
"project_id": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9._-]{1,127}$"
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"language": {
"enum": [
"python",
"javascript",
"typescript",
"cpp"
]
},
"source_roots": {
"type": "array",
"minItems": 1,
"maxItems": 64,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"pattern": "^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$)).+$"
}
},
"compilation_database": {
"type": "string",
"minLength": 1,
"pattern": "^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$)).+$"
}
},
"allOf": [
{
"if": {
"properties": {
"language": {
"const": "cpp"
}
},
"required": [
"language"
]
},
"then": {
"required": [
"compilation_database"
]
},
"else": {
"not": {
"required": [
"compilation_database"
]
}
}
}
]
}