mirror of
https://github.com/OpenHands/OpenHands.git
synced 2025-12-26 05:48:36 +08:00
* docs(docs): start implementing docs website * update video url * add autogenerated codebase docs for backend * precommit * update links * fix config and video * gh actions * rename * workdirs * path * path * fix doc1 * redo markdown * docs * change main folder name * simplify readme * add back architecture * Fix lint errors * lint * update poetry lock --------- Co-authored-by: Jim Su <jimsu@protonmail.com>
183 lines
2.8 KiB
Markdown
183 lines
2.8 KiB
Markdown
---
|
|
sidebar_label: plan
|
|
title: opendevin.plan
|
|
---
|
|
|
|
## Task Objects
|
|
|
|
```python
|
|
class Task()
|
|
```
|
|
|
|
#### \_\_init\_\_
|
|
|
|
```python
|
|
def __init__(parent: 'Task | None',
|
|
goal: str,
|
|
state: str = OPEN_STATE,
|
|
subtasks: List = [])
|
|
```
|
|
|
|
Initializes a new instance of the Task class.
|
|
|
|
**Arguments**:
|
|
|
|
- `parent` - The parent task, or None if it is the root task.
|
|
- `goal` - The goal of the task.
|
|
- `state` - The initial state of the task.
|
|
- `subtasks` - A list of subtasks associated with this task.
|
|
|
|
#### to\_string
|
|
|
|
```python
|
|
def to_string(indent='')
|
|
```
|
|
|
|
Returns a string representation of the task and its subtasks.
|
|
|
|
**Arguments**:
|
|
|
|
- `indent` - The indentation string for formatting the output.
|
|
|
|
|
|
**Returns**:
|
|
|
|
A string representation of the task and its subtasks.
|
|
|
|
#### to\_dict
|
|
|
|
```python
|
|
def to_dict()
|
|
```
|
|
|
|
Returns a dictionary representation of the task.
|
|
|
|
**Returns**:
|
|
|
|
A dictionary containing the task's attributes.
|
|
|
|
#### set\_state
|
|
|
|
```python
|
|
def set_state(state)
|
|
```
|
|
|
|
Sets the state of the task and its subtasks.
|
|
|
|
Args: state: The new state of the task.
|
|
|
|
**Raises**:
|
|
|
|
- `PlanInvalidStateError` - If the provided state is invalid.
|
|
|
|
#### get\_current\_task
|
|
|
|
```python
|
|
def get_current_task() -> 'Task | None'
|
|
```
|
|
|
|
Retrieves the current task in progress.
|
|
|
|
**Returns**:
|
|
|
|
The current task in progress, or None if no task is in progress.
|
|
|
|
## Plan Objects
|
|
|
|
```python
|
|
class Plan()
|
|
```
|
|
|
|
Represents a plan consisting of tasks.
|
|
|
|
**Attributes**:
|
|
|
|
- `main_goal` - The main goal of the plan.
|
|
- `task` - The root task of the plan.
|
|
|
|
#### \_\_init\_\_
|
|
|
|
```python
|
|
def __init__(task: str)
|
|
```
|
|
|
|
Initializes a new instance of the Plan class.
|
|
|
|
**Arguments**:
|
|
|
|
- `task` - The main goal of the plan.
|
|
|
|
#### \_\_str\_\_
|
|
|
|
```python
|
|
def __str__()
|
|
```
|
|
|
|
Returns a string representation of the plan.
|
|
|
|
**Returns**:
|
|
|
|
A string representation of the plan.
|
|
|
|
#### get\_task\_by\_id
|
|
|
|
```python
|
|
def get_task_by_id(id: str) -> Task
|
|
```
|
|
|
|
Retrieves a task by its ID.
|
|
|
|
**Arguments**:
|
|
|
|
- `id` - The ID of the task.
|
|
|
|
|
|
**Returns**:
|
|
|
|
The task with the specified ID.
|
|
|
|
|
|
**Raises**:
|
|
|
|
- `ValueError` - If the provided task ID is invalid or does not exist.
|
|
|
|
#### add\_subtask
|
|
|
|
```python
|
|
def add_subtask(parent_id: str, goal: str, subtasks: List = [])
|
|
```
|
|
|
|
Adds a subtask to a parent task.
|
|
|
|
**Arguments**:
|
|
|
|
- `parent_id` - The ID of the parent task.
|
|
- `goal` - The goal of the subtask.
|
|
- `subtasks` - A list of subtasks associated with the new subtask.
|
|
|
|
#### set\_subtask\_state
|
|
|
|
```python
|
|
def set_subtask_state(id: str, state: str)
|
|
```
|
|
|
|
Sets the state of a subtask.
|
|
|
|
**Arguments**:
|
|
|
|
- `id` - The ID of the subtask.
|
|
- `state` - The new state of the subtask.
|
|
|
|
#### get\_current\_task
|
|
|
|
```python
|
|
def get_current_task()
|
|
```
|
|
|
|
Retrieves the current task in progress.
|
|
|
|
**Returns**:
|
|
|
|
The current task in progress, or None if no task is in progress.
|
|
|