griptape-nodes 0.51.0__py3-none-any.whl → 0.51.1__py3-none-any.whl

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.
@@ -9,7 +9,7 @@ from typing import Any
9
9
  from griptape.events import EventBus
10
10
  from griptape.utils import with_contextvars
11
11
 
12
- from griptape_nodes.exe_types.core_types import ParameterTypeBuiltin
12
+ from griptape_nodes.exe_types.core_types import ParameterType, ParameterTypeBuiltin
13
13
  from griptape_nodes.exe_types.node_types import BaseNode, NodeResolutionState
14
14
  from griptape_nodes.exe_types.type_validator import TypeValidator
15
15
  from griptape_nodes.machines.fsm import FSM, State
@@ -229,14 +229,21 @@ class ExecuteNodeState(State):
229
229
  output_value = upstream_node.get_parameter_value(upstream_parameter.name)
230
230
 
231
231
  # Pass the value through using the same mechanism as normal resolution
232
- GriptapeNodes.get_instance().handle_request(
233
- SetParameterValueRequest(
234
- parameter_name=parameter.name,
235
- node_name=current_node.name,
236
- value=output_value,
237
- data_type=upstream_parameter.output_type,
232
+ # Skip propagation for Control Parameters as they should not receive values
233
+ if (
234
+ ParameterType.attempt_get_builtin(upstream_parameter.output_type)
235
+ != ParameterTypeBuiltin.CONTROL_TYPE
236
+ ):
237
+ GriptapeNodes.get_instance().handle_request(
238
+ SetParameterValueRequest(
239
+ parameter_name=parameter.name,
240
+ node_name=current_node.name,
241
+ value=output_value,
242
+ data_type=upstream_parameter.output_type,
243
+ incoming_connection_source_node_name=upstream_node.name,
244
+ incoming_connection_source_parameter_name=upstream_parameter.name,
245
+ )
238
246
  )
239
- )
240
247
 
241
248
  @staticmethod
242
249
  def on_enter(context: ResolutionContext) -> type[State] | None:
@@ -11,6 +11,7 @@ from griptape_nodes.exe_types.core_types import (
11
11
  Parameter,
12
12
  ParameterContainer,
13
13
  ParameterMode,
14
+ ParameterType,
14
15
  ParameterTypeBuiltin,
15
16
  )
16
17
  from griptape_nodes.exe_types.flow import ControlFlow
@@ -853,8 +854,15 @@ class FlowManager:
853
854
  value = None
854
855
  if isinstance(target_param, ParameterContainer):
855
856
  target_node.kill_parameter_children(target_param)
856
- # if it existed somewhere and actually has a value - Set the parameter!
857
- if value and request.initial_setup is False:
857
+ # Set the parameter value (including None/empty values) unless we're in initial setup
858
+ # Skip propagation for Control Parameters as they should not receive values
859
+ if (
860
+ request.initial_setup is False
861
+ and ParameterType.attempt_get_builtin(source_param.output_type) != ParameterTypeBuiltin.CONTROL_TYPE
862
+ ):
863
+ # When creating a connection, pass the initial value from source to target parameter
864
+ # Set incoming_connection_source fields to identify this as legitimate connection value passing
865
+ # (not manual property setting) so it bypasses the INPUT+PROPERTY connection blocking logic
858
866
  GriptapeNodes.handle_request(
859
867
  SetParameterValueRequest(
860
868
  parameter_name=target_param.name,
@@ -10,6 +10,7 @@ from griptape_nodes.exe_types.core_types import (
10
10
  ParameterContainer,
11
11
  ParameterGroup,
12
12
  ParameterMode,
13
+ ParameterType,
13
14
  ParameterTypeBuiltin,
14
15
  )
15
16
  from griptape_nodes.exe_types.flow import ControlFlow
@@ -1599,14 +1600,18 @@ class NodeManager:
1599
1600
  # Optional data_type parameter for internal handling!
1600
1601
  conn_output_nodes = parent_flow.get_connected_output_parameters(node, parameter)
1601
1602
  for target_node, target_parameter in conn_output_nodes:
1602
- GriptapeNodes.handle_request(
1603
- SetParameterValueRequest(
1604
- parameter_name=target_parameter.name,
1605
- node_name=target_node.name,
1606
- value=finalized_value,
1607
- data_type=object_type, # Do type instead of output type, because it hasn't been processed.
1603
+ # Skip propagation for Control Parameters as they should not receive values
1604
+ if ParameterType.attempt_get_builtin(parameter.output_type) != ParameterTypeBuiltin.CONTROL_TYPE:
1605
+ GriptapeNodes.handle_request(
1606
+ SetParameterValueRequest(
1607
+ parameter_name=target_parameter.name,
1608
+ node_name=target_node.name,
1609
+ value=finalized_value,
1610
+ data_type=object_type, # Do type instead of output type, because it hasn't been processed.
1611
+ incoming_connection_source_node_name=node.name,
1612
+ incoming_connection_source_parameter_name=parameter.name,
1613
+ )
1608
1614
  )
1609
- )
1610
1615
 
1611
1616
  # Cool.
1612
1617
  details = f"Successfully set value on Node '{node_name}' Parameter '{request.parameter_name}'."
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: griptape-nodes
3
- Version: 0.51.0
3
+ Version: 0.51.1
4
4
  Summary: Add your description here
5
5
  Requires-Dist: griptape>=1.8.0
6
6
  Requires-Dist: pydantic>=2.10.6
@@ -24,7 +24,7 @@ griptape_nodes/exe_types/type_validator.py,sha256=RTz1vX09jzQpHhozITMJ0siOZUXvsE
24
24
  griptape_nodes/machines/__init__.py,sha256=v0jkwr-CFOLmfEYUQvX8BKQLOdvhSsA6toXkdHcPGUE,30
25
25
  griptape_nodes/machines/control_flow.py,sha256=rH6dRVXrCqXDDPoYLU31QuZh8kuIcRE7smli3pF0UdU,9843
26
26
  griptape_nodes/machines/fsm.py,sha256=g6fFyeoNbIcR_h63Mt0L2scjOuWJhKyZQsnxcM8pYPU,2248
27
- griptape_nodes/machines/node_resolution.py,sha256=709cRhvc6Su3Isa2qDnIbX876aXjNumzP2Fg6v2zpwQ,22145
27
+ griptape_nodes/machines/node_resolution.py,sha256=7ZWY9VlrtkJ6CSizTg-j1umD3MO2syVwBprf470KB5A,22647
28
28
  griptape_nodes/mcp_server/__init__.py,sha256=GSpJWqE4lICaryhsQR1okeMH2x6j1bBL0HVxtr52WLg,42
29
29
  griptape_nodes/mcp_server/server.py,sha256=xT9a0gZ3663Ro9pRc4F5aa7ze3upbSU5qLPOep_Ragw,5058
30
30
  griptape_nodes/mcp_server/ws_request_manager.py,sha256=KFAqwgXD1Fo1KLzE9fcx3sAU4BYFRNqD7_cyN98bR7E,10951
@@ -65,7 +65,7 @@ griptape_nodes/retained_mode/managers/config_manager.py,sha256=11shHccjKfS3WvCYH
65
65
  griptape_nodes/retained_mode/managers/context_manager.py,sha256=DiGNh09TZ7rsLEcXqqB9Yrh2ietBy59LPF7GM0OBQS8,22930
66
66
  griptape_nodes/retained_mode/managers/engine_identity_manager.py,sha256=GBBz7HJBJVNyXLGRdAvqDgihMRB_YjWqdEwLMCnadUg,4409
67
67
  griptape_nodes/retained_mode/managers/event_manager.py,sha256=rGoeGO0ATZd9w8Gm1RDHoODDYyJ-XqxiGJidYijH_QY,7201
68
- griptape_nodes/retained_mode/managers/flow_manager.py,sha256=3xE61Pa6dUdboPTvhW-OSYOXbyKQdBIzQkwqXp3Rv5U,111589
68
+ griptape_nodes/retained_mode/managers/flow_manager.py,sha256=F9GjdLxPnFf12wx2YWSFn31kXeMa-zJSepg92PPmF28,112142
69
69
  griptape_nodes/retained_mode/managers/library_lifecycle/__init__.py,sha256=Iq79VxTdETiExBfFWXceJggDZqS6X3OkzXE9XwFclVw,1340
70
70
  griptape_nodes/retained_mode/managers/library_lifecycle/data_models.py,sha256=fvAP0VaYGPHYl_Kg3RL4gdJlpqya8UTvpP-C49r950k,6723
71
71
  griptape_nodes/retained_mode/managers/library_lifecycle/library_directory.py,sha256=xE6I3jGWxSSkUtuZebwk0AvukIP2JzLBN4tNqq_MEm0,14758
@@ -79,7 +79,7 @@ griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/sandb
79
79
  griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance.py,sha256=cCGr-MQ1RlVBiUTZepYEKdVhPgC4ebcYrmpv8rI3VeM,894
80
80
  griptape_nodes/retained_mode/managers/library_lifecycle/library_status.py,sha256=K3UEBzAdCY9wphyBbLxDYP0Q43aYvhLZ_Pz7_SzcPec,443
81
81
  griptape_nodes/retained_mode/managers/library_manager.py,sha256=yJzyQAAPa8-UCk4xBtloaUeH9RQX7F-QsXOMCFIpTxE,98816
82
- griptape_nodes/retained_mode/managers/node_manager.py,sha256=gNM_IO57mpWS74g_fiRo9EfLQ4a0UAW6_LXGDzixtkM,147631
82
+ griptape_nodes/retained_mode/managers/node_manager.py,sha256=asfEKraTn44qHHVhJ4QZlchIuY8KLMMeKgDi94A3Iq0,148050
83
83
  griptape_nodes/retained_mode/managers/object_manager.py,sha256=tIPeAiF94ptIpXxM29qFgQTaXazRgX7faTJLV87yWZE,12403
84
84
  griptape_nodes/retained_mode/managers/operation_manager.py,sha256=lTkMZlaacTgtV5oV-YF6HG8xsx9V_LwX1eg074WTs2k,20137
85
85
  griptape_nodes/retained_mode/managers/os_manager.py,sha256=bPJYCkJASisbWuA9qDKCXTquGEaVOMdgBTWOO10WmbA,34347
@@ -121,7 +121,7 @@ griptape_nodes/version_compatibility/versions/v0_39_0/modified_parameters_set_re
121
121
  griptape_nodes/version_compatibility/workflow_versions/__init__.py,sha256=z5XDgkizoNByCXpyo34hfsJKFsWlOHbD6hgzfYH9ubc,52
122
122
  griptape_nodes/version_compatibility/workflow_versions/v0_7_0/__init__.py,sha256=IzPPmGK86h2swfGGTOHyVcBIlOng6SjgWQzlbf3ngmo,51
123
123
  griptape_nodes/version_compatibility/workflow_versions/v0_7_0/local_executor_argument_addition.py,sha256=9PclAp_Mm5IPtd5yj5XSS5-x7QYmifvhTly20CgBZmo,2018
124
- griptape_nodes-0.51.0.dist-info/WHEEL,sha256=4n27za1eEkOnA7dNjN6C5-O2rUiw6iapszm14Uj-Qmk,79
125
- griptape_nodes-0.51.0.dist-info/entry_points.txt,sha256=qvevqd3BVbAV5TcantnAm0ouqaqYKhsRO3pkFymWLWM,82
126
- griptape_nodes-0.51.0.dist-info/METADATA,sha256=T0xTRn5SMCOcFTVFS_d6sBC_XdxGNGiiA3YzQMFWl0Q,4980
127
- griptape_nodes-0.51.0.dist-info/RECORD,,
124
+ griptape_nodes-0.51.1.dist-info/WHEEL,sha256=NHRAbdxxzyL9K3IO2LjmlNqKSyPZnKv2BD16YYVKo18,79
125
+ griptape_nodes-0.51.1.dist-info/entry_points.txt,sha256=qvevqd3BVbAV5TcantnAm0ouqaqYKhsRO3pkFymWLWM,82
126
+ griptape_nodes-0.51.1.dist-info/METADATA,sha256=K-6oz-NsAa0O9B63LbIBE1vUnkh6ZM1Okw1BChxXvNk,4980
127
+ griptape_nodes-0.51.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: uv 0.8.13
2
+ Generator: uv 0.8.14
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any