fix: incorrect parameters transforming while validating (#4928)
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
|
from copy import deepcopy
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
from typing import Any, Optional, Union
|
from typing import Any, Optional, Union
|
||||||
|
|
||||||
@@ -229,8 +230,13 @@ class Tool(BaseModel, ABC):
|
|||||||
"""
|
"""
|
||||||
Transform tool parameters type
|
Transform tool parameters type
|
||||||
"""
|
"""
|
||||||
return {p.name: ToolParameterConverter.cast_parameter_by_type(tool_parameters[p.name], p.type)
|
# Temp fix for the issue that the tool parameters will be converted to empty while validating the credentials
|
||||||
for p in self.parameters if p.name in tool_parameters}
|
result = deepcopy(tool_parameters)
|
||||||
|
for parameter in self.parameters:
|
||||||
|
if parameter.name in tool_parameters:
|
||||||
|
result[parameter.name] = ToolParameterConverter.cast_parameter_by_type(tool_parameters[parameter.name], parameter.type)
|
||||||
|
|
||||||
|
return result
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def _invoke(self, user_id: str, tool_parameters: dict[str, Any]) -> Union[ToolInvokeMessage, list[ToolInvokeMessage]]:
|
def _invoke(self, user_id: str, tool_parameters: dict[str, Any]) -> Union[ToolInvokeMessage, list[ToolInvokeMessage]]:
|
||||||
|
Reference in New Issue
Block a user