griptape-nodes 0.65.1__tar.gz → 0.65.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/PKG-INFO +1 -1
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/pyproject.toml +1 -1
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/common/node_executor.py +14 -14
- griptape_nodes-0.65.3/src/griptape_nodes/exe_types/node_groups/__init__.py +6 -0
- griptape_nodes-0.65.3/src/griptape_nodes/exe_types/node_groups/base_node_group.py +31 -0
- griptape_nodes-0.65.3/src/griptape_nodes/exe_types/node_groups/subflow_node_group.py +1007 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/node_types.py +0 -805
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/machines/control_flow.py +4 -4
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/node_library/library_registry.py +1 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/node_library/workflow_registry.py +1 -1
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/flow_events.py +1 -1
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/node_events.py +11 -77
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/flow_manager.py +72 -79
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/node_manager.py +113 -193
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/workflow_manager.py +5 -8
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/version_compatibility/versions/v0_63_8/deprecated_nodegroup_parameters.py +2 -2
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/README.md +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/__main__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/api_client/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/api_client/client.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/api_client/request_client.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/app/.python-version +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/app/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/app/app.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/app/watch.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/bootstrap/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/bootstrap/utils/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/bootstrap/utils/python_subprocess_executor.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/bootstrap/workflow_executors/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/bootstrap/workflow_executors/local_session_workflow_executor.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/bootstrap/workflow_executors/local_workflow_executor.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/bootstrap/workflow_executors/subprocess_workflow_executor.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/bootstrap/workflow_executors/utils/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/bootstrap/workflow_executors/utils/subprocess_script.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/bootstrap/workflow_executors/workflow_executor.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/bootstrap/workflow_publishers/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/bootstrap/workflow_publishers/local_workflow_publisher.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/bootstrap/workflow_publishers/subprocess_workflow_publisher.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/bootstrap/workflow_publishers/utils/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/bootstrap/workflow_publishers/utils/subprocess_script.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/cli/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/cli/commands/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/cli/commands/config.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/cli/commands/engine.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/cli/commands/init.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/cli/commands/libraries.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/cli/commands/models.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/cli/commands/self.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/cli/main.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/cli/shared.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/common/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/common/directed_graph.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/common/macro_parser/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/common/macro_parser/core.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/common/macro_parser/exceptions.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/common/macro_parser/formats.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/common/macro_parser/matching.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/common/macro_parser/parsing.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/common/macro_parser/resolution.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/common/macro_parser/segments.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/common/project_templates/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/common/project_templates/default_project_template.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/common/project_templates/defaults/README.md +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/common/project_templates/directory.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/common/project_templates/loader.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/common/project_templates/project.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/common/project_templates/situation.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/common/project_templates/validation.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/drivers/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/drivers/storage/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/drivers/storage/base_storage_driver.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/drivers/storage/griptape_cloud_storage_driver.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/drivers/storage/local_storage_driver.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/drivers/storage/storage_backend.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/drivers/thread_storage/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/drivers/thread_storage/base_thread_storage_driver.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/drivers/thread_storage/griptape_cloud_thread_storage_driver.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/drivers/thread_storage/local_thread_storage_driver.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/drivers/thread_storage/thread_storage_backend.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/base_iterative_nodes.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/connections.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/core_types.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/flow.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_components/README.md +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_components/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_components/api_key_provider_parameter.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_components/artifact_url/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_components/artifact_url/public_artifact_url_parameter.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_components/execution_status_component.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_components/huggingface/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_components/huggingface/huggingface_model_parameter.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_components/huggingface/huggingface_repo_file_parameter.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_components/huggingface/huggingface_repo_parameter.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_components/huggingface/huggingface_utils.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_components/log_parameter.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_components/progress_bar_component.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_components/seed_parameter.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_types/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_types/parameter_audio.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_types/parameter_bool.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_types/parameter_button.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_types/parameter_float.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_types/parameter_image.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_types/parameter_int.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_types/parameter_number.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_types/parameter_string.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_types/parameter_three_d.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/param_types/parameter_video.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/exe_types/type_validator.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/machines/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/machines/dag_builder.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/machines/fsm.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/machines/parallel_resolution.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/machines/sequential_resolution.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/mcp_server/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/node_library/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/node_library/advanced_node_library.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/py.typed +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/agent_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/app_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/arbitrary_python_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/base_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/config_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/connection_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/context_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/execution_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/generate_request_payload_schemas.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/library_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/logger_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/mcp_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/model_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/object_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/os_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/parameter_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/payload_registry.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/project_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/resource_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/secrets_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/static_file_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/sync_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/validation_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/variable_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/events/workflow_events.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/griptape_nodes.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/agent_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/arbitrary_code_exec_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/config_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/context_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/engine_identity_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/event_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/advanced_library_load_failure_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/after_library_callback_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/before_library_callback_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/create_config_category_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/dependency_installation_failed_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/deprecated_node_warning_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/duplicate_library_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/duplicate_node_registration_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/engine_version_error_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/insufficient_disk_space_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/invalid_version_string_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/library_json_decode_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/library_load_exception_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/library_not_found_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/library_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/library_schema_exception_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/library_schema_validation_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/modified_parameters_set_deprecation_warning_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/modified_parameters_set_removed_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/node_class_not_base_node_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/node_class_not_found_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/node_module_import_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/old_xdg_location_warning_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/sandbox_directory_missing_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/ui_options_field_modified_incompatible_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/ui_options_field_modified_warning_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/update_config_category_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/venv_creation_failed_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/deprecated_node_in_workflow_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/invalid_dependency_version_string_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/invalid_library_version_string_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/invalid_metadata_schema_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/invalid_metadata_section_count_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/invalid_toml_format_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/library_not_registered_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/library_version_below_required_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/library_version_large_difference_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/library_version_major_mismatch_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/library_version_minor_difference_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/missing_creation_date_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/missing_last_modified_date_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/missing_toml_section_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/node_type_not_found_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/workflow_not_found_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/workflow_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/workflow_schema_version_problem.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/library_lifecycle/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/library_lifecycle/data_models.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_directory.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_fsm.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/base.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/github.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/local_file.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/package.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/sandbox.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_status.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/library_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/mcp_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/model_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/object_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/operation_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/os_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/project_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/resource_components/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/resource_components/capability_field.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/resource_components/comparator.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/resource_components/resource_instance.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/resource_components/resource_type.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/resource_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/resource_types/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/resource_types/cpu_resource.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/resource_types/os_resource.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/secrets_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/session_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/settings.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/static_files_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/sync_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/user_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/variable_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/managers/version_compatibility_manager.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/retained_mode.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/utils/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/utils/name_generator.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/retained_mode/variable_types.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/servers/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/servers/mcp.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/servers/static.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/traits/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/traits/add_param_button.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/traits/button.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/traits/clamp.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/traits/color_picker.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/traits/compare.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/traits/compare_images.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/traits/file_system_picker.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/traits/minmax.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/traits/multi_options.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/traits/numbers_selector.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/traits/options.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/traits/slider.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/traits/trait_registry.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/traits/traits.json +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/updater/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/updater/__main__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/utils/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/utils/async_utils.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/utils/dict_utils.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/utils/file_utils.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/utils/git_utils.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/utils/huggingface_utils.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/utils/image_preview.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/utils/library_utils.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/utils/metaclasses.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/utils/uv_utils.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/utils/version_utils.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/version_compatibility/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/version_compatibility/versions/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/version_compatibility/versions/v0_39_0/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/version_compatibility/versions/v0_39_0/modified_parameters_set_removal.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/version_compatibility/versions/v0_63_8/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/version_compatibility/versions/v0_7_0/__init__.py +0 -0
- {griptape_nodes-0.65.1 → griptape_nodes-0.65.3}/src/griptape_nodes/version_compatibility/versions/v0_7_0/local_executor_argument_addition.py +0 -0
|
@@ -15,13 +15,13 @@ from griptape_nodes.exe_types.base_iterative_nodes import (
|
|
|
15
15
|
BaseIterativeStartNode,
|
|
16
16
|
)
|
|
17
17
|
from griptape_nodes.exe_types.core_types import ParameterTypeBuiltin
|
|
18
|
+
from griptape_nodes.exe_types.node_groups import SubflowNodeGroup
|
|
18
19
|
from griptape_nodes.exe_types.node_types import (
|
|
19
20
|
CONTROL_INPUT_PARAMETER,
|
|
20
21
|
LOCAL_EXECUTION,
|
|
21
22
|
PRIVATE_EXECUTION,
|
|
22
23
|
BaseNode,
|
|
23
24
|
EndNode,
|
|
24
|
-
NodeGroupNode,
|
|
25
25
|
NodeResolutionState,
|
|
26
26
|
StartNode,
|
|
27
27
|
)
|
|
@@ -197,7 +197,7 @@ class NodeExecutor:
|
|
|
197
197
|
node: The BaseNode to execute
|
|
198
198
|
library_name: The library that the execute method should come from.
|
|
199
199
|
"""
|
|
200
|
-
if isinstance(node,
|
|
200
|
+
if isinstance(node, SubflowNodeGroup):
|
|
201
201
|
execution_type = node.get_parameter_value(node.execution_environment.name)
|
|
202
202
|
if execution_type == LOCAL_EXECUTION:
|
|
203
203
|
# Just execute the node normally! This means we aren't doing any special packaging.
|
|
@@ -216,7 +216,7 @@ class NodeExecutor:
|
|
|
216
216
|
await self.handle_loop_execution(node)
|
|
217
217
|
return
|
|
218
218
|
|
|
219
|
-
# We default to local execution if it is not a
|
|
219
|
+
# We default to local execution if it is not a SubflowNodeGroup or BaseIterativeEndNode!
|
|
220
220
|
await node.aprocess()
|
|
221
221
|
|
|
222
222
|
async def _execute_and_apply_workflow(
|
|
@@ -414,8 +414,8 @@ class NodeExecutor:
|
|
|
414
414
|
workflow_start_end_nodes = await self._get_workflow_start_end_nodes(library)
|
|
415
415
|
|
|
416
416
|
sanitized_library_name = library_name.replace(" ", "_")
|
|
417
|
-
# If we are packaging a
|
|
418
|
-
if isinstance(node,
|
|
417
|
+
# If we are packaging a SubflowNodeGroup, that means that we are packaging multiple nodes together, so we have to get the list of nodes from the group node.
|
|
418
|
+
if isinstance(node, SubflowNodeGroup):
|
|
419
419
|
node_names = list(node.get_all_nodes().keys())
|
|
420
420
|
else:
|
|
421
421
|
# Otherwise, it's a list of one node!
|
|
@@ -424,8 +424,8 @@ class NodeExecutor:
|
|
|
424
424
|
if len(node_names) == 0:
|
|
425
425
|
return None
|
|
426
426
|
|
|
427
|
-
# Pass node_group_name if we're packaging a
|
|
428
|
-
node_group_name = node.name if isinstance(node,
|
|
427
|
+
# Pass node_group_name if we're packaging a SubflowNodeGroup
|
|
428
|
+
node_group_name = node.name if isinstance(node, SubflowNodeGroup) else None
|
|
429
429
|
|
|
430
430
|
request = PackageNodesAsSerializedFlowRequest(
|
|
431
431
|
node_names=node_names,
|
|
@@ -618,7 +618,7 @@ class NodeExecutor:
|
|
|
618
618
|
if len(all_nodes) == 1:
|
|
619
619
|
node_inside = all_nodes.pop()
|
|
620
620
|
node_obj = node_manager.get_node_by_name(node_inside)
|
|
621
|
-
if isinstance(node_obj,
|
|
621
|
+
if isinstance(node_obj, SubflowNodeGroup):
|
|
622
622
|
execution_type = node_obj.get_parameter_value(node_obj.execution_environment.name)
|
|
623
623
|
all_nodes.update(node_obj.get_all_nodes())
|
|
624
624
|
node_group_name = node_obj.name
|
|
@@ -1327,7 +1327,7 @@ class NodeExecutor:
|
|
|
1327
1327
|
msg = f"Failed to get node {target_node_name} for connection {conn} from start node {start_node.name}. Can't get parameter value iterations."
|
|
1328
1328
|
logger.error(msg)
|
|
1329
1329
|
raise RuntimeError(msg) # noqa: B904
|
|
1330
|
-
if isinstance(target_node,
|
|
1330
|
+
if isinstance(target_node, SubflowNodeGroup):
|
|
1331
1331
|
# Get connections from this proxy parameter to find the actual internal target
|
|
1332
1332
|
connections = flow_manager.get_connections()
|
|
1333
1333
|
proxy_param = target_node.get_parameter_by_name(target_param_name)
|
|
@@ -1505,7 +1505,7 @@ class NodeExecutor:
|
|
|
1505
1505
|
source_node = node_manager.get_node_by_name(source_node_name)
|
|
1506
1506
|
except ValueError:
|
|
1507
1507
|
continue
|
|
1508
|
-
if isinstance(source_node,
|
|
1508
|
+
if isinstance(source_node, SubflowNodeGroup):
|
|
1509
1509
|
# Get connections to this proxy parameter to find the actual internal source
|
|
1510
1510
|
connections = flow_manager.get_connections()
|
|
1511
1511
|
proxy_param = source_node.get_parameter_by_name(source_param_name)
|
|
@@ -2434,7 +2434,7 @@ class NodeExecutor:
|
|
|
2434
2434
|
|
|
2435
2435
|
Sets parameter values on the node and updates parameter_output_values dictionary.
|
|
2436
2436
|
Uses parameter_name_mappings from package_result to map packaged parameters back to original nodes.
|
|
2437
|
-
Works for both single-node and multi-node packages (
|
|
2437
|
+
Works for both single-node and multi-node packages (SubflowNodeGroup).
|
|
2438
2438
|
"""
|
|
2439
2439
|
# If the packaged flow fails, the End Flow Node in the library published workflow will have entered from 'failed'
|
|
2440
2440
|
if "failed" in parameter_output_values and parameter_output_values["failed"] == CONTROL_INPUT_PARAMETER:
|
|
@@ -2455,11 +2455,11 @@ class NodeExecutor:
|
|
|
2455
2455
|
target_node_name = original_node_param.node_name
|
|
2456
2456
|
target_param_name = original_node_param.parameter_name
|
|
2457
2457
|
|
|
2458
|
-
# Determine the target node - if this is a
|
|
2459
|
-
if isinstance(node,
|
|
2458
|
+
# Determine the target node - if this is a SubflowNodeGroup, look up the child node
|
|
2459
|
+
if isinstance(node, SubflowNodeGroup):
|
|
2460
2460
|
if target_node_name not in node.nodes:
|
|
2461
2461
|
logger.warning(
|
|
2462
|
-
"Node '%s' not found in
|
|
2462
|
+
"Node '%s' not found in SubflowNodeGroup '%s', skipping value application",
|
|
2463
2463
|
target_node_name,
|
|
2464
2464
|
node.name,
|
|
2465
2465
|
)
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import Any
|
|
4
|
+
|
|
5
|
+
from griptape_nodes.exe_types.node_types import BaseNode
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class BaseNodeGroup(BaseNode):
|
|
9
|
+
"""Base class for node group implementations.
|
|
10
|
+
|
|
11
|
+
Node groups are collections of nodes that are treated as a single unit.
|
|
12
|
+
This base class provides the core functionality for managing a group of
|
|
13
|
+
nodes, which may itself include other node groups.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
nodes: dict[str, BaseNode]
|
|
17
|
+
|
|
18
|
+
def __init__(
|
|
19
|
+
self,
|
|
20
|
+
name: str,
|
|
21
|
+
metadata: dict[Any, Any] | None = None,
|
|
22
|
+
) -> None:
|
|
23
|
+
"""Initialize the node group base.
|
|
24
|
+
|
|
25
|
+
Args:
|
|
26
|
+
name: The name of this node group
|
|
27
|
+
metadata: Optional metadata dictionary
|
|
28
|
+
"""
|
|
29
|
+
super().__init__(name, metadata)
|
|
30
|
+
self.nodes = {}
|
|
31
|
+
self.metadata["is_node_group"] = True
|