| ToolParameter.ToolParameterType.STRING, | ToolParameter.ToolParameterType.STRING, | ||||
| ToolParameter.ToolParameterType.SELECT, | ToolParameter.ToolParameterType.SELECT, | ||||
| ] and not isinstance(tool_parameters[parameter.name], str): | ] and not isinstance(tool_parameters[parameter.name], str): | ||||
| tool_parameters[parameter.name] = str(tool_parameters[parameter.name]) | |||||
| if tool_parameters[parameter.name] is None: | |||||
| tool_parameters[parameter.name] = '' | |||||
| else: | |||||
| tool_parameters[parameter.name] = str(tool_parameters[parameter.name]) | |||||
| elif parameter.type == ToolParameter.ToolParameterType.NUMBER \ | elif parameter.type == ToolParameter.ToolParameterType.NUMBER \ | ||||
| and not isinstance(tool_parameters[parameter.name], int | float): | and not isinstance(tool_parameters[parameter.name], int | float): | ||||
| if isinstance(tool_parameters[parameter.name], str): | if isinstance(tool_parameters[parameter.name], str): | ||||
| tool_parameters[parameter.name] = int(tool_parameters[parameter.name]) | tool_parameters[parameter.name] = int(tool_parameters[parameter.name]) | ||||
| except ValueError: | except ValueError: | ||||
| tool_parameters[parameter.name] = float(tool_parameters[parameter.name]) | tool_parameters[parameter.name] = float(tool_parameters[parameter.name]) | ||||
| elif isinstance(tool_parameters[parameter.name], bool): | |||||
| tool_parameters[parameter.name] = int(tool_parameters[parameter.name]) | |||||
| elif tool_parameters[parameter.name] is None: | |||||
| tool_parameters[parameter.name] = 0 | |||||
| elif parameter.type == ToolParameter.ToolParameterType.BOOLEAN: | elif parameter.type == ToolParameter.ToolParameterType.BOOLEAN: | ||||
| if not isinstance(tool_parameters[parameter.name], bool): | if not isinstance(tool_parameters[parameter.name], bool): | ||||
| # check if it is a string | # check if it is a string |