from swarms import ( Agent as SwarmsAgent, ) # Import the base Agent class from Swarms from griptape.structures import Agent as GriptapeAgent from griptape.tools import ( WebScraperTool, FileManagerTool, PromptSummaryTool, ) # Create a custom agent class that inherits from SwarmsAgent class GriptapeSwarmsAgent(SwarmsAgent): def __init__(self, *args, **kwargs): # Initialize the Griptape agent with its tools self.agent = GriptapeAgent( input="Load {{ args[0] }}, summarize it, and store it in a file called {{ args[1] }}.", tools=[ WebScraperTool(off_prompt=True), PromptSummaryTool(off_prompt=True), FileManagerTool(), ], *args, **kwargs, # Add additional settings ) # Override the run method to take a task and execute it using the Griptape agent def run(self, task: str) -> str: # Extract URL and filename from task (you can modify this parsing based on task structure) url, filename = task.split( "," ) # Example of splitting task string # Execute the Griptape agent with the task inputs result = self.agent.run(url.strip(), filename.strip()) # Return the final result as a string return str(result) # Example usage: griptape_swarms_agent = GriptapeSwarmsAgent() output = griptape_swarms_agent.run( "https://griptape.ai, griptape.txt" ) print(output)