84 lines
No EOL
2.7 KiB
JSON
84 lines
No EOL
2.7 KiB
JSON
{
|
|
"$id": "https://schema.cute.engineering/osdk.manifest.component.v1.json",
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"description": "A representation of a component manifest for OSDK",
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"type"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"description": "The unique identifier for this manifest",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"description": "The type of this manifest",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"description": "A description of this manifest",
|
|
"type": "string"
|
|
},
|
|
"props": {
|
|
"type": "object",
|
|
"description": "A list of properties that this component provides",
|
|
"patternProperties": {
|
|
".*": {}
|
|
}
|
|
},
|
|
"tools": {
|
|
"type": "object",
|
|
"description": "A list of tools that this component provides",
|
|
"patternProperties": {
|
|
".*": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cmd": {
|
|
"description": "Command to run the tool",
|
|
"type": "string"
|
|
},
|
|
"args": {
|
|
"description": "Arguments to pass to the tool",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"files": {
|
|
"description": "Files used by the tool",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"enableIf": {
|
|
"type": "object",
|
|
"description": "A list of conditions that must be met for this component to be enabled",
|
|
"patternProperties": {
|
|
".*": {
|
|
"type": "list",
|
|
"items": {}
|
|
}
|
|
}
|
|
},
|
|
"requires": {
|
|
"type": "array",
|
|
"description": "A list of features that this component requires",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"provides": {
|
|
"type": "array",
|
|
"description": "A list of features that this component provides (note: by default all components provides they own id as a feature)",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
} |