Files
opencode-v2-plugin-teser/schema/config.json
T

245 lines
4.9 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"plugin": {
"type": "object",
"properties": {
"path": {
"default": ".",
"type": "string",
"minLength": 1
},
"entry": {
"type": "string",
"minLength": 1
},
"install": {
"type": "string",
"minLength": 1
},
"build": {
"type": "string",
"minLength": 1
},
"options": {
"default": {},
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"ui": {
"type": "boolean"
}
},
"required": [
"path",
"options"
],
"additionalProperties": false
},
"opencode": {
"type": "object",
"properties": {
"versions": {
"default": [
"2.0.26"
],
"minItems": 1,
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"const": "latest"
},
{
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+$"
}
]
}
}
},
"required": [
"versions"
],
"additionalProperties": false
},
"expect": {
"type": "object",
"properties": {
"tools": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"commands": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"agents": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"skills": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"mcp": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"providers": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"models": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"tools",
"commands",
"agents",
"skills",
"mcp",
"providers",
"models"
],
"additionalProperties": false
},
"live": {
"type": "object",
"properties": {
"model": {
"type": "string",
"minLength": 1
},
"keys": {
"default": [
"OPENCODE_API_KEY"
],
"minItems": 1,
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"repeat": {
"default": 3,
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"pass": {
"default": 2,
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"budgetUSD": {
"default": 1,
"type": "number",
"exclusiveMinimum": 0
},
"timeoutMs": {
"default": 240000,
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"keys",
"repeat",
"pass",
"budgetUSD",
"timeoutMs"
],
"additionalProperties": false
},
"gate": {
"type": "object",
"properties": {
"enabled": {
"default": true,
"type": "boolean"
},
"window": {
"default": 5,
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"threshold": {
"default": 0.9,
"type": "number",
"minimum": 0,
"maximum": 1
},
"bootstrap": {
"default": "fail",
"type": "string",
"enum": [
"fail",
"allow"
]
},
"workflow": {
"type": "string",
"minLength": 1
}
},
"required": [
"enabled",
"window",
"threshold",
"bootstrap"
],
"additionalProperties": false
},
"logLevel": {
"default": "info",
"type": "string",
"enum": [
"info",
"all"
]
}
},
"required": [
"plugin",
"opencode",
"expect",
"live",
"gate",
"logLevel"
],
"additionalProperties": false
}