{ "$schema": "http://json-schema.org/draft-07/schema", "$id": "http://aka.ms/taskweaver.plugin-v1.schema", "title": "Task Weaver Plugin Specification", "$defs": { "fieldType": { "title": "Field data type", "type": "object", "properties": { "name": { "description": "The name of the parameter", "type": "string", "minLength": 1 }, "description": { "description": "The description of the parameter. It will be used in prompt to instruct the model on how to use the parameter", "type": "string", "minLength": 10 }, "required": { "description": "Whether the parameter is required or not", "type": "boolean" }, "default": { "description": "The default value of the parameter", "type": "string" }, "type": { "description": "The type of the parameter", "type": "string" } }, "required": ["name", "description", "type"] } }, "properties": { "name": { "title": "Plugin name", "description": "The name of the plugin", "type": "string", "pattern": "^[a-zA-Z0-9_]+$", "minLength": 1 }, "code": { "title": "Plugin implementation", "description": "The Python implementation of the plugin", "type": "string", "minLength": 1 }, "enabled": { "description": "whether the plugin is enabled", "type": "boolean", "default": true }, "required": { "description": "whether the plugin is the must-have one in auto selection mode", "type": "boolean", "default": false }, "description": { "description": "The description of the plugin. It will be used in prompt to instruct the model on how to use the plugin", "type": "string", "minLength": 10 }, "parameters": { "description": "The parameters of the plugin", "type": "array", "items": { "$ref": "#/$defs/fieldType" } }, "returns": { "title": "Plugin return values", "description": "The parameters of the plugin", "type": "array", "items": { "$ref": "#/$defs/fieldType" } }, "configurations": { "title": "Plugin configurations", "description": "The parameters of the plugin", "type": "object" } }, "type": "object", "required": ["name", "description", "parameters", "returns", "enabled"], "description": "Task Weaver Plugin Specification" }