Skip to content

Base actions subtask event

BaseActionsSubtaskEvent

Bases: BaseTaskEvent, ABC

Source code in griptape/events/base_actions_subtask_event.py
@define
class BaseActionsSubtaskEvent(BaseTaskEvent, ABC):
    subtask_parent_task_id: Optional[str] = field(kw_only=True, metadata={"serializable": True})
    subtask_thought: Optional[str] = field(kw_only=True, metadata={"serializable": True})
    subtask_actions: Optional[list[dict]] = field(kw_only=True, metadata={"serializable": True})

    @classmethod
    def from_task(cls, task: BaseTask) -> BaseActionsSubtaskEvent:
        if not isinstance(task, ActionsSubtask):
            raise ValueError("Event must be of instance ActionSubtask.")
        return cls(
            task_id=task.id,
            task_parent_ids=task.parent_ids,
            task_child_ids=task.child_ids,
            task_input=task.input,
            task_output=task.output,
            subtask_parent_task_id=task.parent_task_id,
            subtask_thought=task.thought,
            subtask_actions=task.actions_to_dicts(),
        )

subtask_actions: Optional[list[dict]] = field(kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

subtask_parent_task_id: Optional[str] = field(kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

subtask_thought: Optional[str] = field(kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute

from_task(task) classmethod

Source code in griptape/events/base_actions_subtask_event.py
@classmethod
def from_task(cls, task: BaseTask) -> BaseActionsSubtaskEvent:
    if not isinstance(task, ActionsSubtask):
        raise ValueError("Event must be of instance ActionSubtask.")
    return cls(
        task_id=task.id,
        task_parent_ids=task.parent_ids,
        task_child_ids=task.child_ids,
        task_input=task.input,
        task_output=task.output,
        subtask_parent_task_id=task.parent_task_id,
        subtask_thought=task.thought,
        subtask_actions=task.actions_to_dicts(),
    )