Tool Schema
Step 4: Create the RecycleBinTool Class
RecycleBinTool ClassNext, we define the RecycleBinTool class, which inherits from BaseTool. This class will implement the logic to perform actions on the recycle bin.
class RecycleBinTool(BaseTool):
name: str = "recycle_bin"
description: str = "Clear the recycle bin or recycle a specific file or all files."
args_schema: Optional[Type[BaseModel]] = RecycleBinArgs
return_direct: Optional[bool] = Falsename: The tool’s name.description: A brief description of what the tool does.args_schema: Specifies the schema of input arguments usingRecycleBinArgs.return_direct: Set toFalse, meaning the response will go through the LLM and not directly returned.
Step 5: Implement the _run Method
_run MethodThis is the core function where the logic for different actions like clearing the bin, searching files, and restoring files will be implemented.
def _run(self, action: str, file_name: Optional[str] = None, file_path: Optional[str] = None) -> str:
try:
if action == "clear_bin":
return self.clear_bin()
elif action == "recycle_file" and file_path:
return self.recycle_file(file_path)
elif action == "recycle_all":
return self.recycle_all()
elif action == "search_file" and file_name:
return self.search_file(file_name)
else:
return "Error: Invalid action or missing parameters."
except Exception as e:
return f"Error: {str(e)}"In this method:
We handle different actions like
clear_bin,recycle_file,recycle_all, andsearch_file.The appropriate method is called based on the action, and an error message is returned if invalid parameters are provided.
Last updated