80 lines
1.4 KiB
JSON
80 lines
1.4 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "Custom Tool",
|
|
"description": "Project custom tool entry (meta.tools[]).",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"name",
|
|
"module"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"pattern": "^[a-z0-9][a-z0-9-_]*$"
|
|
},
|
|
"label": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "defs.schema.json#/definitions/i18nText"
|
|
}
|
|
]
|
|
},
|
|
"description": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "defs.schema.json#/definitions/i18nText"
|
|
}
|
|
]
|
|
},
|
|
"icon": {
|
|
"type": "string"
|
|
},
|
|
"group": {
|
|
"type": "string"
|
|
},
|
|
"module": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "defs.schema.json#/definitions/evalString"
|
|
}
|
|
]
|
|
},
|
|
"permissions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"capabilities": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"db",
|
|
"files",
|
|
"xlsx",
|
|
"ui",
|
|
"log",
|
|
"progress",
|
|
"state"
|
|
]
|
|
}
|
|
},
|
|
"settings": {
|
|
"type": "object"
|
|
},
|
|
"hidden": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|