feat(vertex/base.py): add PowerComponentTypes enum to represent power components
feat(vertex/base.py): add is_power_component attribute to Vertex class to determine if a vertex is a power component
feat(vertex/base.py): add get_result_dict method to Vertex class to return a dictionary with the result of the build process
feat(vertex/base.py): add get_built_result method to Vertex class to return the built result of a vertex
feat(vertex/base.py): add set_artifacts method to Vertex class
feat(vertex/base.py): add steps and steps_ran attributes to Vertex class to keep track of build steps
feat(vertex/base.py): add layer attribute to Vertex class to represent the layer of the vertex
feat(vertex/base.py): add set_top_level method to Vertex class to set the parent_is_top_level attribute
feat(vertex/base.py): add pinned attribute to Vertex class to indicate if the vertex is pinned
feat(vertex/base.py): add _reset method to Vertex class to reset the state of the vertex before building
feat(vertex/base.py): add build method to Vertex class to build the vertex and run build steps
feat(vertex/base.py): add get_requester_result method to Vertex class to get the result of the requester vertex
fix(vertex/base.py): fix add_edge method in Vertex class to check if the edge already exists before adding it
fix(vertex/base.py): fix __getstate__ method in Vertex class to include pinned attribute in the state
fix(vertex/base.py): fix _parse_data method in Vertex class to correctly set the pinned attribute
fix(vertex/base.py): fix _run method in Vertex class to handle different types of built objects and handle exceptions
fix(EditNodeModal): update id and data-testid for textarea component to use the name of the template parameter instead of index
fix(promptModalComponent.spec): update data-testid for textarea components to use the name of the prompt instead of index
fix(group.spec): update data-testid for textarea component to use a more descriptive name instead of index
fix(saveComponents.spec): update data-testid for textarea component to use a more descriptive name instead of index