|
@@ -233,7 +233,10 @@ class Tool(BaseModel, ABC):
|
|
|
ToolParameter.ToolParameterType.STRING,
|
|
|
ToolParameter.ToolParameterType.SELECT,
|
|
|
] 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 \
|
|
|
and not isinstance(tool_parameters[parameter.name], int | float):
|
|
|
if isinstance(tool_parameters[parameter.name], str):
|
|
@@ -241,6 +244,10 @@ class Tool(BaseModel, ABC):
|
|
|
tool_parameters[parameter.name] = int(tool_parameters[parameter.name])
|
|
|
except ValueError:
|
|
|
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:
|
|
|
if not isinstance(tool_parameters[parameter.name], bool):
|
|
|
# check if it is a string
|