|  | @@ -46,7 +46,7 @@ class ToolProviderType(Enum):
 | 
	
		
			
				|  |  |              if mode.value == value:
 | 
	
		
			
				|  |  |                  return mode
 | 
	
		
			
				|  |  |          raise ValueError(f'invalid mode value {value}')
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  class ApiProviderSchemaType(Enum):
 | 
	
		
			
				|  |  |      """
 | 
	
		
			
				|  |  |      Enum class for api provider schema type.
 | 
	
	
		
			
				|  | @@ -68,7 +68,7 @@ class ApiProviderSchemaType(Enum):
 | 
	
		
			
				|  |  |              if mode.value == value:
 | 
	
		
			
				|  |  |                  return mode
 | 
	
		
			
				|  |  |          raise ValueError(f'invalid mode value {value}')
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  class ApiProviderAuthType(Enum):
 | 
	
		
			
				|  |  |      """
 | 
	
		
			
				|  |  |      Enum class for api provider auth type.
 | 
	
	
		
			
				|  | @@ -103,8 +103,8 @@ class ToolInvokeMessage(BaseModel):
 | 
	
		
			
				|  |  |      """
 | 
	
		
			
				|  |  |          plain text, image url or link url
 | 
	
		
			
				|  |  |      """
 | 
	
		
			
				|  |  | -    message: Union[str, bytes, dict] = None
 | 
	
		
			
				|  |  | -    meta: dict[str, Any] = None
 | 
	
		
			
				|  |  | +    message: str | bytes | dict | None = None
 | 
	
		
			
				|  |  | +    meta: dict[str, Any] | None = None
 | 
	
		
			
				|  |  |      save_as: str = ''
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  class ToolInvokeMessageBinary(BaseModel):
 | 
	
	
		
			
				|  | @@ -154,8 +154,8 @@ class ToolParameter(BaseModel):
 | 
	
		
			
				|  |  |      options: Optional[list[ToolParameterOption]] = None
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @classmethod
 | 
	
		
			
				|  |  | -    def get_simple_instance(cls, 
 | 
	
		
			
				|  |  | -                       name: str, llm_description: str, type: ToolParameterType, 
 | 
	
		
			
				|  |  | +    def get_simple_instance(cls,
 | 
	
		
			
				|  |  | +                       name: str, llm_description: str, type: ToolParameterType,
 | 
	
		
			
				|  |  |                         required: bool, options: Optional[list[str]] = None) -> 'ToolParameter':
 | 
	
		
			
				|  |  |          """
 | 
	
		
			
				|  |  |              get a simple tool parameter
 | 
	
	
		
			
				|  | @@ -222,7 +222,7 @@ class ToolProviderCredentials(BaseModel):
 | 
	
		
			
				|  |  |                  if mode.value == value:
 | 
	
		
			
				|  |  |                      return mode
 | 
	
		
			
				|  |  |              raise ValueError(f'invalid mode value {value}')
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          @staticmethod
 | 
	
		
			
				|  |  |          def default(value: str) -> str:
 | 
	
		
			
				|  |  |              return ""
 | 
	
	
		
			
				|  | @@ -290,7 +290,7 @@ class ToolRuntimeVariablePool(BaseModel):
 | 
	
		
			
				|  |  |              'tenant_id': self.tenant_id,
 | 
	
		
			
				|  |  |              'pool': [variable.model_dump() for variable in self.pool],
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      def set_text(self, tool_name: str, name: str, value: str) -> None:
 | 
	
		
			
				|  |  |          """
 | 
	
		
			
				|  |  |              set a text variable
 | 
	
	
		
			
				|  | @@ -301,7 +301,7 @@ class ToolRuntimeVariablePool(BaseModel):
 | 
	
		
			
				|  |  |                      variable = cast(ToolRuntimeTextVariable, variable)
 | 
	
		
			
				|  |  |                      variable.value = value
 | 
	
		
			
				|  |  |                      return
 | 
	
		
			
				|  |  | -                
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          variable = ToolRuntimeTextVariable(
 | 
	
		
			
				|  |  |              type=ToolRuntimeVariableType.TEXT,
 | 
	
		
			
				|  |  |              name=name,
 | 
	
	
		
			
				|  | @@ -334,7 +334,7 @@ class ToolRuntimeVariablePool(BaseModel):
 | 
	
		
			
				|  |  |                      variable = cast(ToolRuntimeImageVariable, variable)
 | 
	
		
			
				|  |  |                      variable.value = value
 | 
	
		
			
				|  |  |                      return
 | 
	
		
			
				|  |  | -                
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          variable = ToolRuntimeImageVariable(
 | 
	
		
			
				|  |  |              type=ToolRuntimeVariableType.IMAGE,
 | 
	
		
			
				|  |  |              name=name,
 | 
	
	
		
			
				|  | @@ -388,21 +388,21 @@ class ToolInvokeMeta(BaseModel):
 | 
	
		
			
				|  |  |          Get an empty instance of ToolInvokeMeta
 | 
	
		
			
				|  |  |          """
 | 
	
		
			
				|  |  |          return cls(time_cost=0.0, error=None, tool_config={})
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      @classmethod
 | 
	
		
			
				|  |  |      def error_instance(cls, error: str) -> 'ToolInvokeMeta':
 | 
	
		
			
				|  |  |          """
 | 
	
		
			
				|  |  |          Get an instance of ToolInvokeMeta with error
 | 
	
		
			
				|  |  |          """
 | 
	
		
			
				|  |  |          return cls(time_cost=0.0, error=error, tool_config={})
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      def to_dict(self) -> dict:
 | 
	
		
			
				|  |  |          return {
 | 
	
		
			
				|  |  |              'time_cost': self.time_cost,
 | 
	
		
			
				|  |  |              'error': self.error,
 | 
	
		
			
				|  |  |              'tool_config': self.tool_config,
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  class ToolLabel(BaseModel):
 | 
	
		
			
				|  |  |      """
 | 
	
		
			
				|  |  |      Tool label
 | 
	
	
		
			
				|  | @@ -416,4 +416,4 @@ class ToolInvokeFrom(Enum):
 | 
	
		
			
				|  |  |      Enum class for tool invoke
 | 
	
		
			
				|  |  |      """
 | 
	
		
			
				|  |  |      WORKFLOW = "workflow"
 | 
	
		
			
				|  |  | -    AGENT = "agent"
 | 
	
		
			
				|  |  | +    AGENT = "agent"
 |