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 | |