griptape-nodes 0.64.7__py3-none-any.whl → 0.64.9__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.
@@ -1825,6 +1825,7 @@ class ParameterList(ParameterContainer):
1825
1825
  user_defined: bool = False,
1826
1826
  element_id: str | None = None,
1827
1827
  element_type: str | None = None,
1828
+ max_items: int | None = None,
1828
1829
  # UI convenience parameters
1829
1830
  collapsed: bool | None = None,
1830
1831
  child_prefix: str | None = None,
@@ -1836,6 +1837,7 @@ class ParameterList(ParameterContainer):
1836
1837
  else:
1837
1838
  self._original_traits = set()
1838
1839
 
1840
+ self._max_items = max_items
1839
1841
  # Store the UI convenience parameters
1840
1842
  self._collapsed = collapsed
1841
1843
  self._child_prefix = child_prefix
@@ -2130,6 +2132,13 @@ class ParameterList(ParameterContainer):
2130
2132
  When a ParameterList gains a child parameter, the parent node needs to be
2131
2133
  marked as unresolved to trigger re-evaluation of the node's state and outputs.
2132
2134
  """
2135
+ # Validate max_items before adding child
2136
+ if self._max_items is not None:
2137
+ current_count = len(self._children)
2138
+ if current_count >= self._max_items:
2139
+ msg = f"Cannot add more items to {self.name}. Maximum {self._max_items} items allowed."
2140
+ raise ValueError(msg)
2141
+
2133
2142
  super().add_child(child)
2134
2143
 
2135
2144
  # Mark the parent node as unresolved since the parameter structure changed
@@ -83,11 +83,13 @@ class CreateNodeResultSuccess(WorkflowAlteredMixin, ResultPayloadSuccess):
83
83
  node_name: Final assigned name (may differ from requested)
84
84
  node_type: Class name of created node
85
85
  specific_library_name: Library that provided this node type
86
+ parent_flow_name: Name of the flow the node was created in
86
87
  """
87
88
 
88
89
  node_name: str
89
90
  node_type: str
90
91
  specific_library_name: str | None = None
92
+ parent_flow_name: str | None = None
91
93
 
92
94
 
93
95
  @dataclass
@@ -491,6 +491,7 @@ class NodeManager:
491
491
  node_name=node.name,
492
492
  node_type=node.__class__.__name__,
493
493
  specific_library_name=request.specific_library_name,
494
+ parent_flow_name=parent_flow_name,
494
495
  result_details=ResultDetails(message=details, level=log_level),
495
496
  )
496
497
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: griptape-nodes
3
- Version: 0.64.7
3
+ Version: 0.64.9
4
4
  Summary: Add your description here
5
5
  Requires-Dist: griptape>=1.8.12
6
6
  Requires-Dist: pydantic>=2.10.6
@@ -64,7 +64,7 @@ griptape_nodes/drivers/thread_storage/local_thread_storage_driver.py,sha256=I1p2
64
64
  griptape_nodes/drivers/thread_storage/thread_storage_backend.py,sha256=QXLvFOZrFx7aPBmwVGaN-IHxwRAf_sXN7YWKY6tcwgE,204
65
65
  griptape_nodes/exe_types/__init__.py,sha256=wGGwKGX9-TSarUFbXpDvdU_J7eXIbWTBl_NCLOZa-G8,32
66
66
  griptape_nodes/exe_types/connections.py,sha256=9ng-9dN10a8XxB5I3lupeHQv8w5bXBNGxbCKYtq-lDM,15439
67
- griptape_nodes/exe_types/core_types.py,sha256=Vx3WT8nGP6Md_nMOROVuaKNutDgVtTHhxoHt-FH4z4E,92227
67
+ griptape_nodes/exe_types/core_types.py,sha256=niMAZoxp7gPCdSOUIkt14V9A8UoADyP2d0zk5_cy_0U,92630
68
68
  griptape_nodes/exe_types/flow.py,sha256=U1NPV-9AgYDXicKCwpiJDKEulyJDsyThaDqoAE3YRcU,5740
69
69
  griptape_nodes/exe_types/node_types.py,sha256=FnbHI1iNktPBWCgaxqRPZBjemokWkLtdi7YNtDmis7E,99472
70
70
  griptape_nodes/exe_types/param_components/__init__.py,sha256=ocm75WnsgiD6ozKVGFhoH9cQe_FEzeF2osxrRujOes0,60
@@ -118,7 +118,7 @@ griptape_nodes/retained_mode/events/library_events.py,sha256=66RPGhJSe9kmZVcNkuw
118
118
  griptape_nodes/retained_mode/events/logger_events.py,sha256=jYlxzPomgCsJuPtJ0znWBhD8QJfC8qC4xfChDiuVuyg,705
119
119
  griptape_nodes/retained_mode/events/mcp_events.py,sha256=51OlMZVcabdcIxBb_ojvrHtq2jAzZA31pooPBKaApyg,10734
120
120
  griptape_nodes/retained_mode/events/model_events.py,sha256=jXm-v-_Uxysn4MJ7a80_uIphrxTHgua3BGgHGyy3T_Y,9232
121
- griptape_nodes/retained_mode/events/node_events.py,sha256=dzzAkOu0gNrdk19erTleBcgjoSZq71CGHNW4rUMRXG8,37939
121
+ griptape_nodes/retained_mode/events/node_events.py,sha256=DRJpSwrbLoN76uv2IDEXpqmn63P1bZidJUnygH72l1k,38046
122
122
  griptape_nodes/retained_mode/events/object_events.py,sha256=cJaqEU73Lzf1RRxJrFqEpl8eTr-gDhKpXKywJ-vVCJQ,2631
123
123
  griptape_nodes/retained_mode/events/os_events.py,sha256=LbfLZZjZJoOakMTxbsd_8kjlhY5KiPZMCuT9Wg99hsk,19153
124
124
  griptape_nodes/retained_mode/events/parameter_events.py,sha256=2s3U_cc45LjSmq2pZyTEnjD6yAlc207wAYY633z4zO4,23938
@@ -203,7 +203,7 @@ griptape_nodes/retained_mode/managers/library_lifecycle/library_status.py,sha256
203
203
  griptape_nodes/retained_mode/managers/library_manager.py,sha256=K-ecoe0xbcjrBesX2qI-wSZUF47pR_Hwdk4n0Iiv5L8,108958
204
204
  griptape_nodes/retained_mode/managers/mcp_manager.py,sha256=Ezmn5_48r4JWYe-tFGqmw9dXLvvTiO1rw9b4MNCkw0U,15955
205
205
  griptape_nodes/retained_mode/managers/model_manager.py,sha256=XM4PaSCe2_e8ZzhpKBf6h0cTW3OqkC_unBvwBDdBNkU,44825
206
- griptape_nodes/retained_mode/managers/node_manager.py,sha256=f8bPvGUMwzAHUs6PPgULwZyLcL78b2G1tskGsHSjEFQ,212061
206
+ griptape_nodes/retained_mode/managers/node_manager.py,sha256=YZOLe4pDw0dgZTN8JaYHuR4thAsBrJDo8QMT2MNzOBE,212108
207
207
  griptape_nodes/retained_mode/managers/object_manager.py,sha256=w6T5UPUJRcYF90F1MuWhZVDgRrMc1uQ-6wt84Oz8OQA,12827
208
208
  griptape_nodes/retained_mode/managers/operation_manager.py,sha256=lTkMZlaacTgtV5oV-YF6HG8xsx9V_LwX1eg074WTs2k,20137
209
209
  griptape_nodes/retained_mode/managers/os_manager.py,sha256=sYz4eLNJY_fSv5L7I4F6O5iKzv--qsEgosEmcrtnGwI,80040
@@ -266,7 +266,7 @@ griptape_nodes/version_compatibility/versions/v0_63_8/__init__.py,sha256=1VJswR2
266
266
  griptape_nodes/version_compatibility/versions/v0_63_8/deprecated_nodegroup_parameters.py,sha256=9NkyGJY4OHglQUUrAyhTHTQ6aGww7dqB1PozzHcNjEQ,4394
267
267
  griptape_nodes/version_compatibility/versions/v0_7_0/__init__.py,sha256=IzPPmGK86h2swfGGTOHyVcBIlOng6SjgWQzlbf3ngmo,51
268
268
  griptape_nodes/version_compatibility/versions/v0_7_0/local_executor_argument_addition.py,sha256=Thx8acnbw5OychhwEEj9aFxvbPe7Wgn4V9ZmZ7KRZqc,2082
269
- griptape_nodes-0.64.7.dist-info/WHEEL,sha256=YUH1mBqsx8Dh2cQG2rlcuRYUhJddG9iClegy4IgnHik,79
270
- griptape_nodes-0.64.7.dist-info/entry_points.txt,sha256=qvevqd3BVbAV5TcantnAm0ouqaqYKhsRO3pkFymWLWM,82
271
- griptape_nodes-0.64.7.dist-info/METADATA,sha256=FH3WypwTHWfBA3HEr-mzAU7q3fi_HJFFuSc7f6L7nt8,5344
272
- griptape_nodes-0.64.7.dist-info/RECORD,,
269
+ griptape_nodes-0.64.9.dist-info/WHEEL,sha256=AaqHSNJgTyoT6I9ETCXrbV_7cVSjA_q07lkDGeNjGdQ,79
270
+ griptape_nodes-0.64.9.dist-info/entry_points.txt,sha256=qvevqd3BVbAV5TcantnAm0ouqaqYKhsRO3pkFymWLWM,82
271
+ griptape_nodes-0.64.9.dist-info/METADATA,sha256=8WXs8aevdZCYzzBOXYPrSTbf8V_GPGPPWrVCuH-c1KY,5344
272
+ griptape_nodes-0.64.9.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: uv 0.9.11
2
+ Generator: uv 0.9.12
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any