{ "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { "Context": { "type": "object", "additionalProperties": true }, "UseCaseState": { "type": "string", "enum": ["ENABLED", "DISABLED", "INITIAL", "HIDDEN"] }, "UseCaseStep": { "type": "object", "properties": { "type": { "type": "string", "enum": ["FORMULA", "COMMAND", "EXECUTOR", "USE_CASE", "PROMPT"] }, "description": { "type": "string" }, "loop": { "type": "object", "properties": { "list": { "type": "string" }, "name": { "type": "string" } }, "required": ["list", "name"] }, "inputFile": { "type": "string" }, "outputFile": { "type": "string" }, "abortIf": { "type": "string" }, "skipIf": { "type": "string" }, "catchErrors": { "type": "boolean" }, "useCase": { "type": "string" }, "formula": { "type": "string" }, "command": { "type": "string" }, "executor": { "type": "string" }, "resultVariable": { "type": "string" }, "context": { "$ref": "#/definitions/Context" } }, "required": ["type"] } }, "type": "object", "properties": { "id": { "type": "string", "description": "The unique identifier of the entity" }, "name": { "type": "string", "description": "The display name used throughout all prompts" }, "description": { "type": "string" }, "state": { "$ref": "#/definitions/UseCaseState" }, "steps": { "type": "array", "items": { "$ref": "#/definitions/UseCaseStep" } } }, "required": ["id", "name", "steps"] }