Spaces:
Running
Running
| from langflow.base.agents.crewai.tasks import HierarchicalTask | |
| from langflow.custom import Component | |
| from langflow.io import HandleInput, MultilineInput, Output | |
| class HierarchicalTaskComponent(Component): | |
| display_name: str = "Hierarchical Task" | |
| description: str = "Each task must have a description, an expected output and an agent responsible for execution." | |
| icon = "CrewAI" | |
| inputs = [ | |
| MultilineInput( | |
| name="task_description", | |
| display_name="Description", | |
| info="Descriptive text detailing task's purpose and execution.", | |
| ), | |
| MultilineInput( | |
| name="expected_output", | |
| display_name="Expected Output", | |
| info="Clear definition of expected task outcome.", | |
| ), | |
| HandleInput( | |
| name="tools", | |
| display_name="Tools", | |
| input_types=["Tool"], | |
| is_list=True, | |
| info="List of tools/resources limited for task execution. Uses the Agent tools by default.", | |
| required=False, | |
| advanced=True, | |
| ), | |
| ] | |
| outputs = [ | |
| Output(display_name="Task", name="task_output", method="build_task"), | |
| ] | |
| def build_task(self) -> HierarchicalTask: | |
| task = HierarchicalTask( | |
| description=self.task_description, | |
| expected_output=self.expected_output, | |
| tools=self.tools or [], | |
| ) | |
| self.status = task | |
| return task | |