griptape-nodes 0.63.5__py3-none-any.whl → 0.63.7__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.
- griptape_nodes/retained_mode/events/base_events.py +0 -16
- griptape_nodes/retained_mode/managers/event_manager.py +17 -21
- griptape_nodes/retained_mode/managers/flow_manager.py +0 -14
- {griptape_nodes-0.63.5.dist-info → griptape_nodes-0.63.7.dist-info}/METADATA +1 -1
- {griptape_nodes-0.63.5.dist-info → griptape_nodes-0.63.7.dist-info}/RECORD +7 -7
- {griptape_nodes-0.63.5.dist-info → griptape_nodes-0.63.7.dist-info}/WHEEL +0 -0
- {griptape_nodes-0.63.5.dist-info → griptape_nodes-0.63.7.dist-info}/entry_points.txt +0 -0
|
@@ -653,19 +653,3 @@ class ProgressEvent:
|
|
|
653
653
|
value: Any = field()
|
|
654
654
|
node_name: str = field()
|
|
655
655
|
parameter_name: str = field()
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
# Special internal request for flushing parameter changes
|
|
659
|
-
@dataclass(kw_only=True)
|
|
660
|
-
class FlushParameterChangesRequest(RequestPayload, WorkflowNotAlteredMixin):
|
|
661
|
-
pass
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
@dataclass
|
|
665
|
-
class FlushParameterChangesResultSuccess(ResultPayloadSuccess):
|
|
666
|
-
pass
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
@dataclass
|
|
670
|
-
class FlushParameterChangesResultFailure(ResultPayloadFailure):
|
|
671
|
-
pass
|
|
@@ -10,13 +10,11 @@ from typing import TYPE_CHECKING, Any, cast
|
|
|
10
10
|
from asyncio_thread_runner import ThreadRunner
|
|
11
11
|
from typing_extensions import TypedDict, TypeVar
|
|
12
12
|
|
|
13
|
+
from griptape_nodes.exe_types.node_types import BaseNode
|
|
13
14
|
from griptape_nodes.retained_mode.events.base_events import (
|
|
14
15
|
AppPayload,
|
|
15
|
-
EventRequest,
|
|
16
16
|
EventResultFailure,
|
|
17
17
|
EventResultSuccess,
|
|
18
|
-
FlushParameterChangesRequest,
|
|
19
|
-
FlushParameterChangesResultSuccess,
|
|
20
18
|
RequestPayload,
|
|
21
19
|
ResultPayload,
|
|
22
20
|
)
|
|
@@ -31,15 +29,9 @@ AP = TypeVar("AP", bound=AppPayload, default=AppPayload)
|
|
|
31
29
|
|
|
32
30
|
# Result types that should NOT trigger a flush request.
|
|
33
31
|
#
|
|
34
|
-
# After most requests complete, we queue a FlushParameterChangesRequest to flush any tracked
|
|
35
|
-
# parameter changes to the UI. However, when the FlushParameterChangesRequest itself completes,
|
|
36
|
-
# it returns a FlushParameterChangesResultSuccess. If we don't exclude this result type, it would
|
|
37
|
-
# trigger another FlushParameterChangesRequest, which would return another FlushParameterChangesResultSuccess,
|
|
38
|
-
# creating an infinite loop of flush requests.
|
|
39
|
-
#
|
|
40
32
|
# Add result types to this set if they should never trigger a flush (typically because they ARE
|
|
41
33
|
# the flush operation itself, or other internal operations that don't modify workflow state).
|
|
42
|
-
RESULT_TYPES_THAT_SKIP_FLUSH = {
|
|
34
|
+
RESULT_TYPES_THAT_SKIP_FLUSH = {}
|
|
43
35
|
|
|
44
36
|
|
|
45
37
|
class ResultContext(TypedDict, total=False):
|
|
@@ -53,8 +45,6 @@ class EventManager:
|
|
|
53
45
|
self._request_type_to_manager: dict[type[RequestPayload], Callable] = defaultdict(list) # pyright: ignore[reportAttributeAccessIssue]
|
|
54
46
|
# Dictionary to store ALL SUBSCRIBERS to app events.
|
|
55
47
|
self._app_event_listeners: dict[type[AppPayload], set[Callable]] = {}
|
|
56
|
-
# Boolean that lets us know if there is currently a FlushParameterChangesRequest in the event queue.
|
|
57
|
-
self._flush_in_queue: bool = False
|
|
58
48
|
# Event queue for publishing events
|
|
59
49
|
self._event_queue: asyncio.Queue | None = None
|
|
60
50
|
# Keep track of which thread the event loop runs on
|
|
@@ -69,9 +59,6 @@ class EventManager:
|
|
|
69
59
|
raise ValueError(msg)
|
|
70
60
|
return self._event_queue
|
|
71
61
|
|
|
72
|
-
def clear_flush_in_queue(self) -> None:
|
|
73
|
-
self._flush_in_queue = False
|
|
74
|
-
|
|
75
62
|
def initialize_queue(self, queue: asyncio.Queue | None = None) -> None:
|
|
76
63
|
"""Set the event queue for this manager.
|
|
77
64
|
|
|
@@ -253,9 +240,8 @@ class EventManager:
|
|
|
253
240
|
|
|
254
241
|
# Queue flush request for async context (unless result type should skip flush)
|
|
255
242
|
with operation_depth_mgr:
|
|
256
|
-
if
|
|
257
|
-
|
|
258
|
-
self._flush_in_queue = True
|
|
243
|
+
if type(result_payload) not in RESULT_TYPES_THAT_SKIP_FLUSH:
|
|
244
|
+
self._flush_tracked_parameter_changes()
|
|
259
245
|
|
|
260
246
|
return self._handle_request_core(
|
|
261
247
|
request,
|
|
@@ -302,9 +288,8 @@ class EventManager:
|
|
|
302
288
|
|
|
303
289
|
# Queue flush request for sync context (unless result type should skip flush)
|
|
304
290
|
with operation_depth_mgr:
|
|
305
|
-
if
|
|
306
|
-
self.
|
|
307
|
-
self._flush_in_queue = True
|
|
291
|
+
if type(result_payload) not in RESULT_TYPES_THAT_SKIP_FLUSH:
|
|
292
|
+
self._flush_tracked_parameter_changes()
|
|
308
293
|
|
|
309
294
|
return self._handle_request_core(
|
|
310
295
|
request,
|
|
@@ -336,3 +321,14 @@ class EventManager:
|
|
|
336
321
|
async with asyncio.TaskGroup() as tg:
|
|
337
322
|
for listener_callback in listener_set:
|
|
338
323
|
tg.create_task(call_function(listener_callback, app_event))
|
|
324
|
+
|
|
325
|
+
def _flush_tracked_parameter_changes(self) -> None:
|
|
326
|
+
from griptape_nodes.retained_mode.griptape_nodes import GriptapeNodes
|
|
327
|
+
|
|
328
|
+
obj_manager = GriptapeNodes.ObjectManager()
|
|
329
|
+
# Get all flows and their nodes
|
|
330
|
+
nodes = obj_manager.get_filtered_subset(type=BaseNode)
|
|
331
|
+
for node in nodes.values():
|
|
332
|
+
# Only flush if there are actually tracked parameters
|
|
333
|
+
if node._tracked_parameters:
|
|
334
|
+
node.emit_parameter_changes()
|
|
@@ -35,8 +35,6 @@ from griptape_nodes.node_library.workflow_registry import LibraryNameAndNodeType
|
|
|
35
35
|
from griptape_nodes.retained_mode.events.base_events import (
|
|
36
36
|
ExecutionEvent,
|
|
37
37
|
ExecutionGriptapeNodeEvent,
|
|
38
|
-
FlushParameterChangesRequest,
|
|
39
|
-
FlushParameterChangesResultSuccess,
|
|
40
38
|
ResultDetails,
|
|
41
39
|
)
|
|
42
40
|
from griptape_nodes.retained_mode.events.connection_events import (
|
|
@@ -267,7 +265,6 @@ class FlowManager:
|
|
|
267
265
|
event_manager.assign_manager_to_request_type(
|
|
268
266
|
PackageNodesAsSerializedFlowRequest, self.on_package_nodes_as_serialized_flow_request
|
|
269
267
|
)
|
|
270
|
-
event_manager.assign_manager_to_request_type(FlushParameterChangesRequest, self.on_flush_request)
|
|
271
268
|
|
|
272
269
|
self._name_to_parent_name = {}
|
|
273
270
|
self._flow_to_referenced_workflow_name = {}
|
|
@@ -3065,17 +3062,6 @@ class FlowManager:
|
|
|
3065
3062
|
details = f"Successfully deserialized Flow '{flow_name}'."
|
|
3066
3063
|
return DeserializeFlowFromCommandsResultSuccess(flow_name=flow_name, result_details=details)
|
|
3067
3064
|
|
|
3068
|
-
def on_flush_request(self, request: FlushParameterChangesRequest) -> ResultPayload: # noqa: ARG002
|
|
3069
|
-
obj_manager = GriptapeNodes.ObjectManager()
|
|
3070
|
-
GriptapeNodes.EventManager().clear_flush_in_queue()
|
|
3071
|
-
# Get all flows and their nodes
|
|
3072
|
-
nodes = obj_manager.get_filtered_subset(type=BaseNode)
|
|
3073
|
-
for node in nodes.values():
|
|
3074
|
-
# Only flush if there are actually tracked parameters
|
|
3075
|
-
if node._tracked_parameters:
|
|
3076
|
-
node.emit_parameter_changes()
|
|
3077
|
-
return FlushParameterChangesResultSuccess(result_details="Parameter changes flushed successfully.")
|
|
3078
|
-
|
|
3079
3065
|
async def start_flow(
|
|
3080
3066
|
self,
|
|
3081
3067
|
flow: ControlFlow,
|
|
@@ -105,7 +105,7 @@ griptape_nodes/retained_mode/events/__init__.py,sha256=7B1C-c0jVvnShtHJ2lfX6BZPE
|
|
|
105
105
|
griptape_nodes/retained_mode/events/agent_events.py,sha256=pHqw9XsMqKg8SG6VCU_xuQLSn40nmyOPFTrEZAiB9uo,10590
|
|
106
106
|
griptape_nodes/retained_mode/events/app_events.py,sha256=WFv6zb6K8H7KcJdvQD6fi164EN82dW7CeBTsb7Fkprs,10195
|
|
107
107
|
griptape_nodes/retained_mode/events/arbitrary_python_events.py,sha256=uhep1c1xjUc-YQO5nIStAE48PS6rFZLTDQIr_Qb3we8,1460
|
|
108
|
-
griptape_nodes/retained_mode/events/base_events.py,sha256=
|
|
108
|
+
griptape_nodes/retained_mode/events/base_events.py,sha256=72JJe7dbJMo72NMAGw4KFjpalkJMd5S3i7qo2I4sdXI,22880
|
|
109
109
|
griptape_nodes/retained_mode/events/config_events.py,sha256=Y03YMLoJTXy0Sz6tq-6lOIs37CmXn1Br3GYAinl02nY,7070
|
|
110
110
|
griptape_nodes/retained_mode/events/connection_events.py,sha256=QjHAp0SeCbRSG-dF_nU_CPaOcSKItq2DWJ_FHWgF1b4,4744
|
|
111
111
|
griptape_nodes/retained_mode/events/context_events.py,sha256=-FIwjI0hJodDhfM4BF-3GTRycu80v1TlSSOX34oA9nA,2122
|
|
@@ -136,7 +136,7 @@ griptape_nodes/retained_mode/managers/arbitrary_code_exec_manager.py,sha256=LyWz
|
|
|
136
136
|
griptape_nodes/retained_mode/managers/config_manager.py,sha256=WfzvFDPyboHgsCMpVGER6Ar1OHyPD_827LQx9xaUsMM,25573
|
|
137
137
|
griptape_nodes/retained_mode/managers/context_manager.py,sha256=eb44_CAZhCg2iYIoodlAPpYc67tG3sHyq9dPNoiq_1s,23031
|
|
138
138
|
griptape_nodes/retained_mode/managers/engine_identity_manager.py,sha256=-31364A03kU0YmAx3nM7nHdWfKnkej5Cawt_Plbwa68,10526
|
|
139
|
-
griptape_nodes/retained_mode/managers/event_manager.py,sha256=
|
|
139
|
+
griptape_nodes/retained_mode/managers/event_manager.py,sha256=kNEDR6DEARWC6NcYxa8Y54u2-soFFKU55CXqTTnJk3w,13902
|
|
140
140
|
griptape_nodes/retained_mode/managers/fitness_problems/__init__.py,sha256=H_Wwfn1k_IaxwRxgbw3-seb1HWbcxl2Cvhw7wB7bCo8,75
|
|
141
141
|
griptape_nodes/retained_mode/managers/fitness_problems/libraries/__init__.py,sha256=nCG1TKdQzk6OSHz5RBQrUgMSJ-C4Pvn7rQrEWJvB724,3111
|
|
142
142
|
griptape_nodes/retained_mode/managers/fitness_problems/libraries/advanced_library_load_failure_problem.py,sha256=Z7bIE_Ll4qqsG-D_PLe48r3ZuUCChgk04mopDvZ5MD0,1215
|
|
@@ -185,7 +185,7 @@ griptape_nodes/retained_mode/managers/fitness_problems/workflows/node_type_not_f
|
|
|
185
185
|
griptape_nodes/retained_mode/managers/fitness_problems/workflows/workflow_not_found_problem.py,sha256=kPhaIeDxp0duxJBJLKFiYp269kEDsCx3uVLnkKbF2gk,895
|
|
186
186
|
griptape_nodes/retained_mode/managers/fitness_problems/workflows/workflow_problem.py,sha256=NLAoF_x7g5tL70qZtPVFI8xeM1jPZNsm7FKt9nkuGBc,542
|
|
187
187
|
griptape_nodes/retained_mode/managers/fitness_problems/workflows/workflow_schema_version_problem.py,sha256=rUnbBBnGwgq5WTVPt2G4pGP3gVPoX5xvCdTkRPBmP04,1328
|
|
188
|
-
griptape_nodes/retained_mode/managers/flow_manager.py,sha256=
|
|
188
|
+
griptape_nodes/retained_mode/managers/flow_manager.py,sha256=zWRqekEmx0TaweyyZyKqNr09VlEtWuPtLf45P3B-q6A,191305
|
|
189
189
|
griptape_nodes/retained_mode/managers/library_lifecycle/__init__.py,sha256=Iq79VxTdETiExBfFWXceJggDZqS6X3OkzXE9XwFclVw,1340
|
|
190
190
|
griptape_nodes/retained_mode/managers/library_lifecycle/data_models.py,sha256=fvAP0VaYGPHYl_Kg3RL4gdJlpqya8UTvpP-C49r950k,6723
|
|
191
191
|
griptape_nodes/retained_mode/managers/library_lifecycle/library_directory.py,sha256=Ywno93eVJH4sAtQ1dgHG2Pw9B3vw8fN8oAL0gn_l6OI,14836
|
|
@@ -263,7 +263,7 @@ griptape_nodes/version_compatibility/versions/v0_39_0/modified_parameters_set_re
|
|
|
263
263
|
griptape_nodes/version_compatibility/workflow_versions/__init__.py,sha256=z5XDgkizoNByCXpyo34hfsJKFsWlOHbD6hgzfYH9ubc,52
|
|
264
264
|
griptape_nodes/version_compatibility/workflow_versions/v0_7_0/__init__.py,sha256=IzPPmGK86h2swfGGTOHyVcBIlOng6SjgWQzlbf3ngmo,51
|
|
265
265
|
griptape_nodes/version_compatibility/workflow_versions/v0_7_0/local_executor_argument_addition.py,sha256=Thx8acnbw5OychhwEEj9aFxvbPe7Wgn4V9ZmZ7KRZqc,2082
|
|
266
|
-
griptape_nodes-0.63.
|
|
267
|
-
griptape_nodes-0.63.
|
|
268
|
-
griptape_nodes-0.63.
|
|
269
|
-
griptape_nodes-0.63.
|
|
266
|
+
griptape_nodes-0.63.7.dist-info/WHEEL,sha256=w4ZtLaDgMAZW2MMZZwtH8zENekoQYBCeullI-zsXJQk,78
|
|
267
|
+
griptape_nodes-0.63.7.dist-info/entry_points.txt,sha256=qvevqd3BVbAV5TcantnAm0ouqaqYKhsRO3pkFymWLWM,82
|
|
268
|
+
griptape_nodes-0.63.7.dist-info/METADATA,sha256=jr_k4fx4JesRyzAPbyYRiMTXHf1Wuc5YzNW9LOvnYL8,5208
|
|
269
|
+
griptape_nodes-0.63.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|