haive.agents.planning.rewoo.models.plans ======================================== .. py:module:: haive.agents.planning.rewoo.models.plans .. autoapi-nested-parse:: Plan Models for ReWOO Planning. ExecutionPlan that takes generic AbstractStep instances with computed fields. Classes ------- .. autoapisummary:: haive.agents.planning.rewoo.models.plans.ExecutionPlan Module Contents --------------- .. py:class:: ExecutionPlan(/, **data) Bases: :py:obj:`pydantic.BaseModel` !!! abstract "Usage Documentation" [Models](../concepts/models.md) A base class for creating Pydantic models. .. attribute:: __class_vars__ The names of the class variables defined on the model. .. attribute:: __private_attributes__ Metadata about the private attributes of the model. .. attribute:: __signature__ The synthesized `__init__` [`Signature`][inspect.Signature] of the model. .. attribute:: __pydantic_complete__ Whether model building is completed, or if there are still undefined fields. .. attribute:: __pydantic_core_schema__ The core schema of the model. .. attribute:: __pydantic_custom_init__ Whether the model has a custom `__init__` function. .. attribute:: __pydantic_decorators__ Metadata containing the decorators defined on the model. This replaces `Model.__validators__` and `Model.__root_validators__` from Pydantic V1. .. attribute:: __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. .. attribute:: __pydantic_parent_namespace__ Parent namespace of the model, used for automatic rebuilding of models. .. attribute:: __pydantic_post_init__ The name of the post-init method for the model, if defined. .. attribute:: __pydantic_root_model__ Whether the model is a [`RootModel`][pydantic.root_model.RootModel]. .. attribute:: __pydantic_serializer__ The `pydantic-core` `SchemaSerializer` used to dump instances of the model. .. attribute:: __pydantic_validator__ The `pydantic-core` `SchemaValidator` used to validate instances of the model. .. attribute:: __pydantic_fields__ A dictionary of field names and their corresponding [`FieldInfo`][pydantic.fields.FieldInfo] objects. .. attribute:: __pydantic_computed_fields__ A dictionary of computed field names and their corresponding [`ComputedFieldInfo`][pydantic.fields.ComputedFieldInfo] objects. .. attribute:: __pydantic_extra__ A dictionary containing extra values, if [`extra`][pydantic.config.ConfigDict.extra] is set to `'allow'`. .. attribute:: __pydantic_fields_set__ The names of fields explicitly set during instantiation. .. attribute:: __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. .. py:method:: add_step(step) Add a step to the plan. .. py:method:: get_ready_steps(completed_steps) Get steps that are ready to execute. .. py:method:: get_step_by_id(step_id) Get step by ID. .. py:method:: validate_no_circular_dependencies() Validate no circular dependencies exist. .. py:method:: validate_steps(v) :classmethod: Validate steps and check for duplicate IDs. .. py:property:: execution_levels :type: list[list[str]] Steps organized by execution level for parallelization. .. py:property:: has_dependencies :type: bool Whether any step has dependencies. .. py:property:: max_parallelism :type: int Maximum number of steps that can run in parallel. .. py:attribute:: model_config Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict]. .. py:property:: step_count :type: int Total number of steps. .. py:property:: step_ids :type: list[str] List of all step IDs.