Sfoglia il codice sorgente

fix: transform None into correct dest type (#4077)

tags/0.6.7
Yeuoly 1 anno fa
parent
commit
b5f101bdac
Nessun account collegato all'indirizzo email del committer
1 ha cambiato i file con 8 aggiunte e 1 eliminazioni
  1. 8
    1
      api/core/tools/tool/tool.py

+ 8
- 1
api/core/tools/tool/tool.py Vedi File

@@ -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

Loading…
Annulla
Salva