{
    "$schema": "http://json-schema.org/draft-07/schema",
    "additionalProperties": false,
    "allOf": [
        {
            "anyOf": [
                {
                    "required": [
                        "num_input"
                    ]
                },
                {
                    "required": [
                        "enum_input"
                    ]
                }
            ]
        }
    ],
    "dependencies": {
        "enum_input": {
            "properties": {
                "num_input": {
                    "not": {}
                }
            }
        },
        "flag_input": {
            "anyOf": [
                {
                    "properties": {
                        "num_input": {
                            "not": {}
                        }
                    },
                    "required": [
                        "file_input"
                    ]
                },
                {
                    "properties": {
                        "flag_input": {
                            "enum": [
                                false
                            ]
                        }
                    }
                }
            ]
        },
        "num_input": {
            "properties": {
                "enum_input": {
                    "not": {}
                }
            }
        }
    },
    "description": "Invocation schema for example boutiques tool.",
    "properties": {
        "config_num": {
            "enum": [
                4
            ]
        },
        "enum_input": {
            "enum": [
                "val1",
                "val2",
                "val3"
            ]
        },
        "file_input": {
            "type": "string"
        },
        "flag_input": {
            "type": "boolean"
        },
        "list_int_input": {
            "items": {
                "type": "integer"
            },
            "minItems": 1,
            "type": "array"
        },
        "num_input": {
            "exclusiveMinimum": 0,
            "maximum": 1,
            "type": "number"
        },
        "str_input": {
            "items": {
                "type": "string"
            },
            "maxItems": 3,
            "minItems": 1,
            "type": "array"
        }
    },
    "required": [
        "str_input",
        "list_int_input",
        "config_num"
    ],
    "title": "Example Boutiques Tool.invocationSchema",
    "type": "object"
}