agents.planning.rewoo.models.plans

Plan Models for ReWOO Planning.

ExecutionPlan that takes generic AbstractStep instances with computed fields.

Classes

ExecutionPlan

!!! abstract "Usage Documentation"

Module Contents

class agents.planning.rewoo.models.plans.ExecutionPlan(/, **data)

Bases: pydantic.BaseModel

!!! abstract “Usage Documentation”

[Models](../concepts/models.md)

A base class for creating Pydantic models.

Parameters:

data (Any)

__class_vars__

The names of the class variables defined on the model.

__private_attributes__

Metadata about the private attributes of the model.

__signature__

The synthesized __init__ [Signature][inspect.Signature] of the model.

__pydantic_complete__

Whether model building is completed, or if there are still undefined fields.

__pydantic_core_schema__

The core schema of the model.

__pydantic_custom_init__

Whether the model has a custom __init__ function.

__pydantic_decorators__

Metadata containing the decorators defined on the model. This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.

__pydantic_generic_metadata__

Metadata for generic models; contains data used for a similar purpose to __args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.

__pydantic_parent_namespace__

Parent namespace of the model, used for automatic rebuilding of models.

__pydantic_post_init__

The name of the post-init method for the model, if defined.

__pydantic_root_model__

Whether the model is a [RootModel][pydantic.root_model.RootModel].

__pydantic_serializer__

The pydantic-core SchemaSerializer used to dump instances of the model.

__pydantic_validator__

The pydantic-core SchemaValidator used to validate instances of the model.

__pydantic_fields__

A dictionary of field names and their corresponding [FieldInfo][pydantic.fields.FieldInfo] objects.

__pydantic_computed_fields__

A dictionary of computed field names and their corresponding [ComputedFieldInfo][pydantic.fields.ComputedFieldInfo] objects.

__pydantic_extra__

A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

__pydantic_fields_set__

The names of fields explicitly set during instantiation.

__pydantic_private__

Values of private attributes set on the model instance.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

add_step(step)

Add a step to the plan.

Parameters:

step (agents.planning.rewoo.models.steps.AbstractStep)

get_ready_steps(completed_steps)

Get steps that are ready to execute.

Parameters:

completed_steps (set[str])

Return type:

list[agents.planning.rewoo.models.steps.AbstractStep]

get_step_by_id(step_id)

Get step by ID.

Parameters:

step_id (str)

Return type:

agents.planning.rewoo.models.steps.AbstractStep | None

validate_no_circular_dependencies()

Validate no circular dependencies exist.

Return type:

ExecutionPlan

classmethod validate_steps(v)

Validate steps and check for duplicate IDs.

Parameters:

v (list[agents.planning.rewoo.models.steps.AbstractStep])

Return type:

list[agents.planning.rewoo.models.steps.AbstractStep]

property execution_levels: list[list[str]]

Steps organized by execution level for parallelization.

Return type:

list[list[str]]

property has_dependencies: bool

Whether any step has dependencies.

Return type:

bool

property max_parallelism: int

Maximum number of steps that can run in parallel.

Return type:

int

model_config

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

property step_count: int

Total number of steps.

Return type:

int

property step_ids: list[str]

List of all step IDs.

Return type:

list[str]