52 lines
1.4 KiB
JSON
52 lines
1.4 KiB
JSON
|
|
{
|
||
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
||
|
|
"$id": "https://whetstone-dsl.org/schemas/methods/generateCode.schema.json",
|
||
|
|
"title": "generateCode",
|
||
|
|
"description": "Generate code from a natural language specification",
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"request": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"spec": {
|
||
|
|
"type": "string",
|
||
|
|
"description": "The natural language specification describing the desired code"
|
||
|
|
},
|
||
|
|
"preferImports": {
|
||
|
|
"type": "boolean",
|
||
|
|
"description": "Whether to prefer imports over inline definitions"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": ["spec"],
|
||
|
|
"additionalProperties": false
|
||
|
|
},
|
||
|
|
"response": {
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"node": {
|
||
|
|
"type": "object",
|
||
|
|
"description": "The generated AST node"
|
||
|
|
},
|
||
|
|
"note": {
|
||
|
|
"type": "string",
|
||
|
|
"description": "A note about the generation process"
|
||
|
|
},
|
||
|
|
"usedSymbols": {
|
||
|
|
"type": "array",
|
||
|
|
"items": {
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"description": "Array of symbols used in the generated code"
|
||
|
|
},
|
||
|
|
"language": {
|
||
|
|
"type": "string",
|
||
|
|
"description": "The language of the generated code"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": ["node", "note", "usedSymbols", "language"],
|
||
|
|
"additionalProperties": false
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"required": ["request", "response"]
|
||
|
|
}
|