griptape-nodes 0.68.1__tar.gz → 0.69.0__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.68.1 → griptape_nodes-0.69.0}/PKG-INFO +3 -3
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/pyproject.toml +3 -3
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/node_groups/base_node_group.py +22 -2
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/node_types.py +1 -1
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_components/execution_status_component.py +15 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_components/seed_parameter.py +14 -16
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/node_events.py +33 -2
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/flow_manager.py +7 -7
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/node_manager.py +38 -4
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/retained_mode.py +17 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/README.md +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/__main__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/api_client/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/api_client/client.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/api_client/request_client.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/app/.python-version +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/app/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/app/app.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/app/watch.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/bootstrap/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/bootstrap/utils/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/bootstrap/utils/python_subprocess_executor.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/bootstrap/workflow_executors/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/bootstrap/workflow_executors/local_session_workflow_executor.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/bootstrap/workflow_executors/local_workflow_executor.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/bootstrap/workflow_executors/subprocess_workflow_executor.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/bootstrap/workflow_executors/utils/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/bootstrap/workflow_executors/utils/subprocess_script.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/bootstrap/workflow_executors/workflow_executor.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/bootstrap/workflow_publishers/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/bootstrap/workflow_publishers/local_workflow_publisher.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/bootstrap/workflow_publishers/subprocess_workflow_publisher.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/bootstrap/workflow_publishers/utils/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/bootstrap/workflow_publishers/utils/subprocess_script.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/cli/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/cli/commands/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/cli/commands/config.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/cli/commands/engine.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/cli/commands/init.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/cli/commands/libraries.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/cli/commands/models.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/cli/commands/self.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/cli/main.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/cli/shared.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/directed_graph.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/macro_parser/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/macro_parser/core.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/macro_parser/exceptions.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/macro_parser/formats.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/macro_parser/matching.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/macro_parser/parsing.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/macro_parser/resolution.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/macro_parser/segments.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/node_executor.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/project_templates/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/project_templates/default_project_template.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/project_templates/defaults/README.md +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/project_templates/directory.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/project_templates/loader.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/project_templates/project.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/project_templates/situation.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/project_templates/validation.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/drivers/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/drivers/storage/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/drivers/storage/base_storage_driver.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/drivers/storage/griptape_cloud_storage_driver.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/drivers/storage/local_storage_driver.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/drivers/storage/storage_backend.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/drivers/thread_storage/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/drivers/thread_storage/base_thread_storage_driver.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/drivers/thread_storage/griptape_cloud_thread_storage_driver.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/drivers/thread_storage/local_thread_storage_driver.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/drivers/thread_storage/thread_storage_backend.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/base_iterative_nodes.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/connections.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/core_types.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/flow.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/node_groups/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/node_groups/base_iterative_node_group.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/node_groups/subflow_node_group.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_components/README.md +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_components/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_components/api_key_provider_parameter.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_components/artifact_url/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_components/artifact_url/public_artifact_url_parameter.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_components/huggingface/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_components/huggingface/huggingface_model_parameter.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_components/huggingface/huggingface_repo_file_parameter.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_components/huggingface/huggingface_repo_parameter.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_components/huggingface/huggingface_repo_variant_parameter.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_components/huggingface/huggingface_utils.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_components/log_parameter.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_components/progress_bar_component.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_types/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_types/parameter_audio.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_types/parameter_bool.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_types/parameter_button.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_types/parameter_dict.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_types/parameter_float.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_types/parameter_image.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_types/parameter_int.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_types/parameter_json.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_types/parameter_number.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_types/parameter_range.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_types/parameter_string.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_types/parameter_three_d.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_types/parameter_video.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/type_validator.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/machines/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/machines/control_flow.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/machines/dag_builder.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/machines/fsm.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/machines/parallel_resolution.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/machines/sequential_resolution.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/mcp_server/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/node_library/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/node_library/advanced_node_library.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/node_library/library_registry.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/node_library/workflow_registry.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/py.typed +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/agent_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/app_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/arbitrary_python_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/base_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/config_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/connection_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/context_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/execution_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/flow_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/generate_request_payload_schemas.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/library_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/logger_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/mcp_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/model_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/object_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/os_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/parameter_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/payload_registry.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/project_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/resource_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/secrets_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/static_file_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/sync_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/validation_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/variable_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/events/workflow_events.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/griptape_nodes.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/agent_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/arbitrary_code_exec_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/config_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/context_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/engine_identity_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/event_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/advanced_library_load_failure_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/after_library_callback_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/before_library_callback_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/create_config_category_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/dependency_installation_failed_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/deprecated_node_warning_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/duplicate_library_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/duplicate_node_registration_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/engine_version_error_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/incompatible_requirements_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/insufficient_disk_space_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/invalid_version_string_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/library_json_decode_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/library_load_exception_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/library_not_found_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/library_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/library_schema_exception_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/library_schema_validation_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/modified_parameters_set_deprecation_warning_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/modified_parameters_set_removed_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/node_class_not_base_node_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/node_class_not_found_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/node_module_import_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/old_xdg_location_warning_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/sandbox_directory_missing_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/ui_options_field_modified_incompatible_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/ui_options_field_modified_warning_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/update_config_category_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/venv_creation_failed_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/deprecated_node_in_workflow_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/invalid_dependency_version_string_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/invalid_library_version_string_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/invalid_metadata_schema_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/invalid_metadata_section_count_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/invalid_toml_format_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/library_not_registered_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/library_version_below_required_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/library_version_large_difference_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/library_version_major_mismatch_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/library_version_minor_difference_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/missing_creation_date_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/missing_last_modified_date_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/missing_toml_section_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/node_type_not_found_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/workflow_not_found_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/workflow_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/workflow_schema_version_problem.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/library_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/mcp_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/model_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/object_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/operation_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/os_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/project_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/resource_components/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/resource_components/capability_field.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/resource_components/comparator.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/resource_components/resource_instance.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/resource_components/resource_type.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/resource_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/resource_types/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/resource_types/compute_resource.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/resource_types/cpu_resource.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/resource_types/os_resource.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/secrets_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/session_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/settings.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/static_files_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/sync_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/user_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/variable_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/version_compatibility_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/managers/workflow_manager.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/utils/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/utils/name_generator.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/variable_types.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/servers/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/servers/mcp.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/servers/static.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/traits/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/traits/add_param_button.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/traits/button.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/traits/clamp.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/traits/color_picker.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/traits/compare.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/traits/compare_images.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/traits/file_system_picker.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/traits/minmax.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/traits/multi_options.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/traits/numbers_selector.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/traits/options.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/traits/slider.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/traits/trait_registry.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/traits/traits.json +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/updater/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/updater/__main__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/utils/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/utils/async_utils.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/utils/dict_utils.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/utils/file_utils.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/utils/git_utils.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/utils/huggingface_utils.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/utils/image_preview.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/utils/library_utils.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/utils/metaclasses.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/utils/uv_utils.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/utils/version_utils.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/version_compatibility/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/version_compatibility/versions/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/version_compatibility/versions/v0_39_0/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/version_compatibility/versions/v0_39_0/modified_parameters_set_removal.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/version_compatibility/versions/v0_63_8/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/version_compatibility/versions/v0_63_8/deprecated_nodegroup_parameters.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/version_compatibility/versions/v0_65_4/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/version_compatibility/versions/v0_65_4/run_in_parallel_to_run_in_order.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/version_compatibility/versions/v0_65_5/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/version_compatibility/versions/v0_65_5/flux_2_removed_parameters.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/version_compatibility/versions/v0_7_0/__init__.py +0 -0
- {griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/version_compatibility/versions/v0_7_0/local_executor_argument_addition.py +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: griptape-nodes
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.69.0
|
|
4
4
|
Summary: Add your description here
|
|
5
|
-
Requires-Dist: griptape>=1.
|
|
5
|
+
Requires-Dist: griptape>=1.9.0
|
|
6
6
|
Requires-Dist: pydantic>=2.10.6
|
|
7
7
|
Requires-Dist: python-dotenv>=1.0.1
|
|
8
8
|
Requires-Dist: xdg-base-dirs>=6.0.2
|
|
9
9
|
Requires-Dist: httpx>=0.28.0,<1.0.0
|
|
10
|
-
Requires-Dist: websockets>=15.0.1,<
|
|
10
|
+
Requires-Dist: websockets>=15.0.1,<17.0.0
|
|
11
11
|
Requires-Dist: tomlkit>=0.13.2
|
|
12
12
|
Requires-Dist: uv>=0.6.16
|
|
13
13
|
Requires-Dist: fastapi>=0.115.12
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "griptape-nodes"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.69.0"
|
|
4
4
|
description = "Add your description here"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.12.0, <3.13"
|
|
7
7
|
dependencies = [
|
|
8
|
-
"griptape>=1.
|
|
8
|
+
"griptape>=1.9.0",
|
|
9
9
|
"pydantic>=2.10.6",
|
|
10
10
|
"python-dotenv>=1.0.1",
|
|
11
11
|
"xdg-base-dirs>=6.0.2",
|
|
12
12
|
"httpx>=0.28.0,<1.0.0",
|
|
13
|
-
"websockets>=15.0.1,<
|
|
13
|
+
"websockets>=15.0.1,<17.0.0",
|
|
14
14
|
"tomlkit>=0.13.2",
|
|
15
15
|
# TODO: https://github.com/griptape-ai/griptape-nodes/issues/833
|
|
16
16
|
"uv>=0.6.16",
|
|
@@ -65,8 +65,7 @@ class BaseNodeGroup(BaseNode):
|
|
|
65
65
|
Args:
|
|
66
66
|
nodes: A list of nodes to add to this group
|
|
67
67
|
"""
|
|
68
|
-
|
|
69
|
-
self.nodes[node.name] = node
|
|
68
|
+
self._add_nodes_to_group_dict(nodes)
|
|
70
69
|
|
|
71
70
|
node_names_in_group = set(self.nodes.keys())
|
|
72
71
|
self.metadata["node_names_in_group"] = list(node_names_in_group)
|
|
@@ -93,3 +92,24 @@ class BaseNodeGroup(BaseNode):
|
|
|
93
92
|
if node.name not in self.nodes:
|
|
94
93
|
msg = f"Node {node.name} is not in node group {self.name}"
|
|
95
94
|
raise ValueError(msg)
|
|
95
|
+
|
|
96
|
+
def handle_child_node_rename(self, old_name: str, new_name: str) -> None:
|
|
97
|
+
"""Update group membership when a child node is renamed.
|
|
98
|
+
|
|
99
|
+
Args:
|
|
100
|
+
old_name: The old name of the child node
|
|
101
|
+
new_name: The new name of the child node
|
|
102
|
+
"""
|
|
103
|
+
if old_name not in self.nodes:
|
|
104
|
+
return
|
|
105
|
+
|
|
106
|
+
# Update the nodes dictionary
|
|
107
|
+
node = self.nodes.pop(old_name)
|
|
108
|
+
self.nodes[new_name] = node
|
|
109
|
+
|
|
110
|
+
# Update the metadata
|
|
111
|
+
node_names_in_group = self.metadata.get("node_names_in_group", [])
|
|
112
|
+
if old_name in node_names_in_group:
|
|
113
|
+
node_names_in_group.remove(old_name)
|
|
114
|
+
node_names_in_group.append(new_name)
|
|
115
|
+
self.metadata["node_names_in_group"] = node_names_in_group
|
|
@@ -1623,7 +1623,7 @@ class EndNode(BaseNode):
|
|
|
1623
1623
|
self,
|
|
1624
1624
|
was_successful_modes={ParameterMode.PROPERTY},
|
|
1625
1625
|
result_details_modes={ParameterMode.INPUT},
|
|
1626
|
-
parameter_group_initially_collapsed=
|
|
1626
|
+
parameter_group_initially_collapsed=True,
|
|
1627
1627
|
result_details_placeholder="Details about the completion or failure will be shown here.",
|
|
1628
1628
|
)
|
|
1629
1629
|
|
|
@@ -83,6 +83,17 @@ class ExecutionStatusComponent:
|
|
|
83
83
|
"""
|
|
84
84
|
return self._status_group
|
|
85
85
|
|
|
86
|
+
def _update_status_group_display_label(self, *, show_warning: bool) -> None:
|
|
87
|
+
"""Update the Status ParameterGroup display label with optional warning emoji."""
|
|
88
|
+
if show_warning:
|
|
89
|
+
self._status_group.update_ui_options_key("display_name", "⚠️ Status")
|
|
90
|
+
return
|
|
91
|
+
|
|
92
|
+
# Remove display_name to use default "Status" from name
|
|
93
|
+
ui_options = self._status_group.ui_options.copy()
|
|
94
|
+
ui_options.pop("display_name", None)
|
|
95
|
+
self._status_group.ui_options = ui_options
|
|
96
|
+
|
|
86
97
|
def set_execution_result(self, *, was_successful: bool, result_details: str) -> None:
|
|
87
98
|
"""Set the execution result values.
|
|
88
99
|
|
|
@@ -92,6 +103,8 @@ class ExecutionStatusComponent:
|
|
|
92
103
|
"""
|
|
93
104
|
self._update_parameter_value(self._was_successful, was_successful)
|
|
94
105
|
self._update_parameter_value(self._result_details, result_details)
|
|
106
|
+
# Update display label: show warning emoji on failure
|
|
107
|
+
self._update_status_group_display_label(show_warning=not was_successful)
|
|
95
108
|
|
|
96
109
|
def clear_execution_status(self, initial_message: str | None = None) -> None:
|
|
97
110
|
"""Clear execution status and reset parameters.
|
|
@@ -102,6 +115,8 @@ class ExecutionStatusComponent:
|
|
|
102
115
|
if initial_message is None:
|
|
103
116
|
initial_message = ""
|
|
104
117
|
self.set_execution_result(was_successful=False, result_details=initial_message)
|
|
118
|
+
# Reset to "Status" during execution (not a failure yet)
|
|
119
|
+
self._update_status_group_display_label(show_warning=False)
|
|
105
120
|
|
|
106
121
|
def append_to_result_details(self, additional_text: str, separator: str = "\n") -> None:
|
|
107
122
|
"""Append text to the existing result_details.
|
|
@@ -3,6 +3,8 @@ from typing import Any
|
|
|
3
3
|
|
|
4
4
|
from griptape_nodes.exe_types.core_types import Parameter, ParameterMode
|
|
5
5
|
from griptape_nodes.exe_types.node_types import BaseNode
|
|
6
|
+
from griptape_nodes.exe_types.param_types.parameter_bool import ParameterBool
|
|
7
|
+
from griptape_nodes.exe_types.param_types.parameter_int import ParameterInt
|
|
6
8
|
|
|
7
9
|
|
|
8
10
|
class SeedParameter:
|
|
@@ -10,24 +12,20 @@ class SeedParameter:
|
|
|
10
12
|
self._node = node
|
|
11
13
|
self._max_seed = max_seed
|
|
12
14
|
|
|
13
|
-
def add_input_parameters(self) -> None:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
output_type="bool",
|
|
19
|
-
tooltip="randomize the seed on each run",
|
|
20
|
-
default_value=False,
|
|
21
|
-
)
|
|
15
|
+
def add_input_parameters(self, *, inside_param_group: bool = False) -> None:
|
|
16
|
+
randomize_seed_parameter = ParameterBool(
|
|
17
|
+
name="randomize_seed",
|
|
18
|
+
tooltip="randomize the seed on each run",
|
|
19
|
+
default_value=False,
|
|
22
20
|
)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
tooltip="seed",
|
|
28
|
-
default_value=42,
|
|
29
|
-
)
|
|
21
|
+
seed_parameter = ParameterInt(
|
|
22
|
+
name="seed",
|
|
23
|
+
tooltip="the seed to use for the generation",
|
|
24
|
+
default_value=42,
|
|
30
25
|
)
|
|
26
|
+
if not inside_param_group:
|
|
27
|
+
self._node.add_parameter(randomize_seed_parameter)
|
|
28
|
+
self._node.add_parameter(seed_parameter)
|
|
31
29
|
|
|
32
30
|
def remove_input_parameters(self) -> None:
|
|
33
31
|
self._node.remove_parameter_element_by_name("randomize_seed")
|
|
@@ -390,8 +390,6 @@ class GetAllNodeInfoResultFailure(WorkflowNotAlteredMixin, ResultPayloadFailure)
|
|
|
390
390
|
class SetLockNodeStateRequest(WorkflowNotAlteredMixin, RequestPayload):
|
|
391
391
|
"""Lock a node.
|
|
392
392
|
|
|
393
|
-
Use when: Implementing locking functionality, preventing changes to nodes.
|
|
394
|
-
|
|
395
393
|
Args:
|
|
396
394
|
node_name: Name of the node to lock
|
|
397
395
|
lock: Whether to lock or unlock the node. If true, the node will be locked, otherwise it will be unlocked.
|
|
@@ -418,6 +416,39 @@ class SetLockNodeStateResultFailure(WorkflowNotAlteredMixin, ResultPayloadFailur
|
|
|
418
416
|
"""Node failed to lock."""
|
|
419
417
|
|
|
420
418
|
|
|
419
|
+
@dataclass
|
|
420
|
+
@PayloadRegistry.register
|
|
421
|
+
class BatchSetNodeLockStateRequest(WorkflowNotAlteredMixin, RequestPayload):
|
|
422
|
+
"""Set lock state for multiple nodes in a single request.
|
|
423
|
+
|
|
424
|
+
Use when: Locking or unlocking multiple nodes at once, consistent with BatchSetNodeMetadataRequest.
|
|
425
|
+
|
|
426
|
+
Args:
|
|
427
|
+
node_names: Names of nodes to lock/unlock.
|
|
428
|
+
lock: Whether to lock (True) or unlock (False) the nodes.
|
|
429
|
+
|
|
430
|
+
Results: BatchSetNodeLockStateResultSuccess | BatchSetNodeLockStateResultFailure
|
|
431
|
+
"""
|
|
432
|
+
|
|
433
|
+
node_names: list[str]
|
|
434
|
+
lock: bool
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
@dataclass
|
|
438
|
+
@PayloadRegistry.register
|
|
439
|
+
class BatchSetNodeLockStateResultSuccess(WorkflowNotAlteredMixin, ResultPayloadSuccess):
|
|
440
|
+
"""Batch node lock state update completed successfully."""
|
|
441
|
+
|
|
442
|
+
updated_nodes: list[str]
|
|
443
|
+
failed_nodes: dict[str, str] = field(default_factory=dict)
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
@dataclass
|
|
447
|
+
@PayloadRegistry.register
|
|
448
|
+
class BatchSetNodeLockStateResultFailure(ResultPayloadFailure):
|
|
449
|
+
"""Batch node lock state update failed. Common causes: all nodes not found."""
|
|
450
|
+
|
|
451
|
+
|
|
421
452
|
# A Node's state can be serialized to a sequence of commands that the engine runs.
|
|
422
453
|
@dataclass
|
|
423
454
|
class SerializedNodeCommands:
|
|
@@ -17,7 +17,7 @@ from griptape_nodes.exe_types.core_types import (
|
|
|
17
17
|
ParameterTypeBuiltin,
|
|
18
18
|
)
|
|
19
19
|
from griptape_nodes.exe_types.flow import ControlFlow
|
|
20
|
-
from griptape_nodes.exe_types.node_groups import SubflowNodeGroup
|
|
20
|
+
from griptape_nodes.exe_types.node_groups import BaseNodeGroup, SubflowNodeGroup
|
|
21
21
|
from griptape_nodes.exe_types.node_types import (
|
|
22
22
|
BaseNode,
|
|
23
23
|
ErrorProxyNode,
|
|
@@ -1530,9 +1530,9 @@ class FlowManager:
|
|
|
1530
1530
|
if node_name is not None:
|
|
1531
1531
|
node_name_to_uuid[node_name] = serialize_result.serialized_node_commands.node_uuid
|
|
1532
1532
|
|
|
1533
|
-
#
|
|
1533
|
+
# BaseNodeGroups must be serialized LAST because they reference child node names via node_names_to_add
|
|
1534
1534
|
# If we deserialize a NodeGroup before its children, the child nodes won't exist yet
|
|
1535
|
-
if isinstance(node,
|
|
1535
|
+
if isinstance(node, BaseNodeGroup):
|
|
1536
1536
|
serialized_node_group_commands.append(serialize_result.serialized_node_commands)
|
|
1537
1537
|
else:
|
|
1538
1538
|
serialized_node_commands.append(serialize_result.serialized_node_commands)
|
|
@@ -1543,7 +1543,7 @@ class FlowManager:
|
|
|
1543
1543
|
serialize_result.set_parameter_value_commands
|
|
1544
1544
|
)
|
|
1545
1545
|
|
|
1546
|
-
# Update
|
|
1546
|
+
# Update BaseNodeGroup commands to use UUIDs instead of names in node_names_to_add
|
|
1547
1547
|
# This allows workflow generation to directly look up variable names from UUIDs
|
|
1548
1548
|
|
|
1549
1549
|
for node_group_command in serialized_node_group_commands:
|
|
@@ -3224,9 +3224,9 @@ class FlowManager:
|
|
|
3224
3224
|
# Store the serialized node's UUID for correlation to connections and setting parameter values later.
|
|
3225
3225
|
node_name_to_uuid[node_name] = serialized_node.node_uuid
|
|
3226
3226
|
|
|
3227
|
-
#
|
|
3227
|
+
# BaseNodeGroups must be serialized LAST because CreateNodeGroupRequest references child node names
|
|
3228
3228
|
# If we deserialize a NodeGroup before its children, the child nodes won't exist yet
|
|
3229
|
-
if isinstance(node,
|
|
3229
|
+
if isinstance(node, BaseNodeGroup):
|
|
3230
3230
|
serialized_node_group_commands.append(serialized_node)
|
|
3231
3231
|
else:
|
|
3232
3232
|
serialized_node_commands.append(serialized_node)
|
|
@@ -3299,7 +3299,7 @@ class FlowManager:
|
|
|
3299
3299
|
# This ensures child nodes exist before their parent NodeGroups are created during deserialization
|
|
3300
3300
|
serialized_node_commands.extend(serialized_node_group_commands)
|
|
3301
3301
|
|
|
3302
|
-
# Update
|
|
3302
|
+
# Update BaseNodeGroup commands to use UUIDs instead of names in node_names_to_add
|
|
3303
3303
|
# This allows workflow generation to directly look up variable names from UUIDs
|
|
3304
3304
|
# Build a complete node name to UUID map including nodes from all subflows
|
|
3305
3305
|
complete_node_name_to_uuid = dict(node_name_to_uuid) # Start with current flow's nodes
|
|
@@ -70,6 +70,9 @@ from griptape_nodes.retained_mode.events.node_events import (
|
|
|
70
70
|
AddNodesToNodeGroupRequest,
|
|
71
71
|
AddNodesToNodeGroupResultFailure,
|
|
72
72
|
AddNodesToNodeGroupResultSuccess,
|
|
73
|
+
BatchSetNodeLockStateRequest,
|
|
74
|
+
BatchSetNodeLockStateResultFailure,
|
|
75
|
+
BatchSetNodeLockStateResultSuccess,
|
|
73
76
|
BatchSetNodeMetadataRequest,
|
|
74
77
|
BatchSetNodeMetadataResultFailure,
|
|
75
78
|
BatchSetNodeMetadataResultSuccess,
|
|
@@ -292,6 +295,9 @@ class NodeManager:
|
|
|
292
295
|
CanResetNodeToDefaultsRequest, self.on_can_reset_node_to_defaults_request
|
|
293
296
|
)
|
|
294
297
|
event_manager.assign_manager_to_request_type(ResetNodeToDefaultsRequest, self.on_reset_node_to_defaults_request)
|
|
298
|
+
event_manager.assign_manager_to_request_type(
|
|
299
|
+
BatchSetNodeLockStateRequest, self.on_batch_set_lock_node_state_request
|
|
300
|
+
)
|
|
295
301
|
|
|
296
302
|
def handle_node_rename(self, old_name: str, new_name: str) -> None:
|
|
297
303
|
# Get the node itself
|
|
@@ -317,6 +323,12 @@ class NodeManager:
|
|
|
317
323
|
connection.source_node.name = new_name
|
|
318
324
|
temp = connections.outgoing_index.pop(old_name)
|
|
319
325
|
connections.outgoing_index[new_name] = temp
|
|
326
|
+
|
|
327
|
+
# Update parent group membership if node belongs to a group
|
|
328
|
+
parent_group = node.parent_group
|
|
329
|
+
if parent_group is not None and isinstance(parent_group, BaseNodeGroup):
|
|
330
|
+
parent_group.handle_child_node_rename(old_name, new_name)
|
|
331
|
+
|
|
320
332
|
# update the node in the flow!
|
|
321
333
|
flow.remove_node(old_name)
|
|
322
334
|
node.name = new_name
|
|
@@ -2631,9 +2643,8 @@ class NodeManager:
|
|
|
2631
2643
|
library_version = library_metadata_result.metadata.library_version
|
|
2632
2644
|
library_details = LibraryNameAndVersion(library_name=library_used, library_version=library_version)
|
|
2633
2645
|
|
|
2634
|
-
# Handle
|
|
2635
|
-
if isinstance(node,
|
|
2636
|
-
# For non-SubflowNodeGroup, library_details should always be set
|
|
2646
|
+
# Handle BaseNodeGroup specially - serialize like normal nodes but preserve node group behavior
|
|
2647
|
+
if isinstance(node, BaseNodeGroup):
|
|
2637
2648
|
if library_details is None:
|
|
2638
2649
|
details = f"Attempted to serialize Node '{node_name}' to commands. Library details missing."
|
|
2639
2650
|
return SerializeNodeToCommandsResultFailure(result_details=details)
|
|
@@ -2651,7 +2662,6 @@ class NodeManager:
|
|
|
2651
2662
|
metadata=metadata_copy,
|
|
2652
2663
|
)
|
|
2653
2664
|
else:
|
|
2654
|
-
# For non-SubflowNodeGroup, library_details should always be set
|
|
2655
2665
|
if library_details is None:
|
|
2656
2666
|
details = f"Attempted to serialize Node '{node_name}' to commands. Library details missing."
|
|
2657
2667
|
return SerializeNodeToCommandsResultFailure(result_details=details)
|
|
@@ -3588,6 +3598,30 @@ class NodeManager:
|
|
|
3588
3598
|
result_details=f"Successfully set lock state to {node.lock} for node '{node_name}'.",
|
|
3589
3599
|
)
|
|
3590
3600
|
|
|
3601
|
+
def on_batch_set_lock_node_state_request(self, request: BatchSetNodeLockStateRequest) -> ResultPayload:
|
|
3602
|
+
updated: list[str] = []
|
|
3603
|
+
failed: dict[str, str] = {}
|
|
3604
|
+
for name in request.node_names:
|
|
3605
|
+
try:
|
|
3606
|
+
node = self.get_node_by_name(name)
|
|
3607
|
+
except ValueError as err:
|
|
3608
|
+
failed[name] = f"Node not found. Error: {err}"
|
|
3609
|
+
continue
|
|
3610
|
+
node.lock = request.lock
|
|
3611
|
+
updated.append(name)
|
|
3612
|
+
|
|
3613
|
+
if not updated:
|
|
3614
|
+
details = f"Failed to update any nodes. Failed: {failed}"
|
|
3615
|
+
return BatchSetNodeLockStateResultFailure(result_details=details)
|
|
3616
|
+
details = f"Successfully set lock state to {request.lock} for nodes: {', '.join(updated)}." + (
|
|
3617
|
+
f" Failed: {failed}" if failed else ""
|
|
3618
|
+
)
|
|
3619
|
+
return BatchSetNodeLockStateResultSuccess(
|
|
3620
|
+
updated_nodes=updated,
|
|
3621
|
+
failed_nodes=failed,
|
|
3622
|
+
result_details=details,
|
|
3623
|
+
)
|
|
3624
|
+
|
|
3591
3625
|
def on_send_node_message_request(self, request: SendNodeMessageRequest) -> ResultPayload:
|
|
3592
3626
|
"""Handle a SendNodeMessageRequest by calling the node's message callback.
|
|
3593
3627
|
|
{griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/retained_mode/retained_mode.py
RENAMED
|
@@ -44,6 +44,9 @@ from griptape_nodes.retained_mode.events.library_events import (
|
|
|
44
44
|
ListRegisteredLibrariesRequest,
|
|
45
45
|
)
|
|
46
46
|
from griptape_nodes.retained_mode.events.node_events import (
|
|
47
|
+
BatchSetNodeLockStateRequest,
|
|
48
|
+
BatchSetNodeLockStateResultFailure,
|
|
49
|
+
BatchSetNodeLockStateResultSuccess,
|
|
47
50
|
CreateNodeRequest,
|
|
48
51
|
CreateNodeResultFailure,
|
|
49
52
|
DeleteNodeRequest,
|
|
@@ -388,6 +391,20 @@ class RetainedMode:
|
|
|
388
391
|
result = GriptapeNodes().handle_request(request)
|
|
389
392
|
return result
|
|
390
393
|
|
|
394
|
+
@classmethod
|
|
395
|
+
def batch_set_lock_node_state(
|
|
396
|
+
cls, *, node_names: list[str], lock: bool = True
|
|
397
|
+
) -> BatchSetNodeLockStateResultSuccess | BatchSetNodeLockStateResultFailure:
|
|
398
|
+
"""Sets the lock state of multiple nodes.
|
|
399
|
+
|
|
400
|
+
Args:
|
|
401
|
+
node_names (list[str]): Names of nodes to lock/unlock.
|
|
402
|
+
lock (bool): Whether to lock (True) or unlock (False) the nodes.
|
|
403
|
+
"""
|
|
404
|
+
request = BatchSetNodeLockStateRequest(node_names=node_names, lock=lock)
|
|
405
|
+
result = GriptapeNodes().handle_request(request)
|
|
406
|
+
return result
|
|
407
|
+
|
|
391
408
|
@classmethod
|
|
392
409
|
def get_connections_for_node(cls, node_name: str) -> ResultPayload:
|
|
393
410
|
"""Gets all connections associated with a node.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/api_client/request_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/bootstrap/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/cli/commands/libraries.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/macro_parser/__init__.py
RENAMED
|
File without changes
|
{griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/macro_parser/core.py
RENAMED
|
File without changes
|
{griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/macro_parser/exceptions.py
RENAMED
|
File without changes
|
{griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/macro_parser/formats.py
RENAMED
|
File without changes
|
{griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/macro_parser/matching.py
RENAMED
|
File without changes
|
{griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/macro_parser/parsing.py
RENAMED
|
File without changes
|
{griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/macro_parser/resolution.py
RENAMED
|
File without changes
|
{griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/common/macro_parser/segments.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/drivers/storage/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/base_iterative_nodes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/node_groups/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{griptape_nodes-0.68.1 → griptape_nodes-0.69.0}/src/griptape_nodes/exe_types/param_types/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|