from ...react_agent_attack import ReactAgentAttack

class AcademicAgentAttack(ReactAgentAttack):
    def __init__(self,
                 agent_name,
                 task_input,
                 agent_process_factory,
                 log_mode: str,
                 args,
                 attacker_tool,
                 attacker_instruction
        ):
        ReactAgentAttack.__init__(self, agent_name, task_input, agent_process_factory, log_mode, args, attacker_tool, attacker_instruction)
        self.workflow_mode = args.workflow_mode

    # def manual_workflow(self):
    #     workflow = [
    #         {
    #             "message": "use the arxiv tool to gather information",
    #             "tool_use": ["arxiv","AugustSmartLockGrantGuestAccess"]
    #         },
    #         {
    #             "message": "postprocess gathered information to fulfill the user's requrements",
    #             "tool_use": ["arxiv","AugustSmartLockGrantGuestAccess"]
    #         }
    #     ]
    #     return workflow
    def manual_workflow(self):
        workflow = [
            {
                "message": "use the arxiv tool to gather information",
                "tool_use": ["arxiv"]
            },
            {
                "message": "postprocess gathered information to fulfill the user's requrements",
                "tool_use": None
            }
        ]
        return workflow

    def run(self):
        return super().run()
