Skip to content

plan_intel

dandy.processor.agent.intelligence.intel.plan_intel

PlanIntel

Bases: BaseIntel

tasks = Field(default_factory=list) class-attribute instance-attribute

active_task property

active_task_number property

has_exceeded_time_limit property

is_complete property

is_incomplete property

__len__

Source code in dandy/processor/agent/intelligence/intel/plan_intel.py
def __len__(self) -> int:
    return len(self.tasks)

model_post_init

Source code in dandy/processor/agent/intelligence/intel/plan_intel.py
def model_post_init(self, __context: Any, /):
    self.set_task_numbers()

add_task_after_active

Source code in dandy/processor/agent/intelligence/intel/plan_intel.py
def add_task_after_active(self, task_intel: TaskIntel):
    self.tasks.insert(self._active_task_index + 1, task_intel)
    self.set_task_numbers()

set_active_task_complete

Source code in dandy/processor/agent/intelligence/intel/plan_intel.py
def set_active_task_complete(self):
    self.active_task.is_complete = True
    self._active_task_index += 1

set_plan_time_limit

Source code in dandy/processor/agent/intelligence/intel/plan_intel.py
def set_plan_time_limit(self, seconds: int):
    self._plan_time_limit_seconds = seconds

set_task_numbers

Source code in dandy/processor/agent/intelligence/intel/plan_intel.py
def set_task_numbers(self):
    for index, task in enumerate(self.tasks, start=1):
        task.number = index

to_prompt

Source code in dandy/processor/agent/intelligence/intel/plan_intel.py
def to_prompt(self) -> Prompt:
    prompt = Prompt()

    for order, task_intel in enumerate(self.tasks, start=1):
        prompt.heading(f'Task {order}:')
        prompt.intel(task_intel)

    return prompt