griptape-nodes 0.66.1__py3-none-any.whl → 0.67.0__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/common/node_executor.py +77 -0
- griptape_nodes/exe_types/core_types.py +28 -1
- griptape_nodes/exe_types/node_groups/base_iterative_node_group.py +27 -8
- griptape_nodes/exe_types/node_groups/base_node_group.py +64 -1
- griptape_nodes/exe_types/node_groups/subflow_node_group.py +0 -34
- griptape_nodes/exe_types/param_components/seed_parameter.py +3 -2
- griptape_nodes/exe_types/param_types/parameter_audio.py +3 -0
- griptape_nodes/exe_types/param_types/parameter_bool.py +3 -0
- griptape_nodes/exe_types/param_types/parameter_button.py +3 -0
- griptape_nodes/exe_types/param_types/parameter_dict.py +151 -0
- griptape_nodes/exe_types/param_types/parameter_float.py +3 -0
- griptape_nodes/exe_types/param_types/parameter_image.py +3 -0
- griptape_nodes/exe_types/param_types/parameter_int.py +3 -0
- griptape_nodes/exe_types/param_types/parameter_json.py +268 -0
- griptape_nodes/exe_types/param_types/parameter_number.py +3 -0
- griptape_nodes/exe_types/param_types/parameter_range.py +393 -0
- griptape_nodes/exe_types/param_types/parameter_string.py +3 -0
- griptape_nodes/exe_types/param_types/parameter_three_d.py +3 -0
- griptape_nodes/exe_types/param_types/parameter_video.py +3 -0
- griptape_nodes/retained_mode/events/library_events.py +2 -0
- griptape_nodes/retained_mode/events/parameter_events.py +89 -1
- griptape_nodes/retained_mode/managers/event_manager.py +176 -10
- griptape_nodes/retained_mode/managers/library_manager.py +14 -4
- griptape_nodes/retained_mode/managers/node_manager.py +187 -7
- griptape_nodes/retained_mode/managers/workflow_manager.py +58 -16
- griptape_nodes/utils/file_utils.py +58 -0
- griptape_nodes/utils/git_utils.py +6 -0
- {griptape_nodes-0.66.1.dist-info → griptape_nodes-0.67.0.dist-info}/METADATA +1 -1
- {griptape_nodes-0.66.1.dist-info → griptape_nodes-0.67.0.dist-info}/RECORD +31 -28
- {griptape_nodes-0.66.1.dist-info → griptape_nodes-0.67.0.dist-info}/WHEEL +1 -1
- {griptape_nodes-0.66.1.dist-info → griptape_nodes-0.67.0.dist-info}/entry_points.txt +0 -0
|
@@ -938,9 +938,17 @@ class WorkflowManager:
|
|
|
938
938
|
# Use provided metadata object as the new metadata
|
|
939
939
|
new_metadata = request.workflow_metadata
|
|
940
940
|
# Allow JSON dicts from frontend by coercing to WorkflowMetadata
|
|
941
|
+
# Merge with existing metadata to ensure required fields are present
|
|
941
942
|
if isinstance(new_metadata, dict):
|
|
943
|
+
# Start with existing metadata as base, then overlay provided fields
|
|
944
|
+
existing_metadata_dict = resolution.workflow.metadata.model_dump()
|
|
945
|
+
# Only overlay non-None values from the incoming dict to preserve required fields
|
|
946
|
+
for key, value in new_metadata.items():
|
|
947
|
+
if value is not None or key in ("description", "image", "branched_from", "workflow_shape"):
|
|
948
|
+
# Allow explicit None for optional fields, but preserve required fields if incoming is None
|
|
949
|
+
existing_metadata_dict[key] = value
|
|
942
950
|
try:
|
|
943
|
-
new_metadata = WorkflowMetadata.model_validate(
|
|
951
|
+
new_metadata = WorkflowMetadata.model_validate(existing_metadata_dict)
|
|
944
952
|
except Exception as e:
|
|
945
953
|
return SetWorkflowMetadataResultFailure(result_details=f"Invalid workflow_metadata: {e!s}")
|
|
946
954
|
# Refresh last_modified_date to reflect this change
|
|
@@ -1562,6 +1570,41 @@ class WorkflowManager:
|
|
|
1562
1570
|
else:
|
|
1563
1571
|
return None
|
|
1564
1572
|
|
|
1573
|
+
def _generate_unique_filename(self, base_name: str) -> str:
|
|
1574
|
+
"""Generate a unique filename for a workflow, avoiding collisions.
|
|
1575
|
+
|
|
1576
|
+
Uses the same logic as object_manager:
|
|
1577
|
+
1. If base name has no collision, use it as-is
|
|
1578
|
+
2. If collision exists and name ends in a number, find first free prefix + integer
|
|
1579
|
+
3. If collision exists and name doesn't end in a number, append _1, _2, etc.
|
|
1580
|
+
|
|
1581
|
+
Args:
|
|
1582
|
+
base_name: The desired base name for the workflow
|
|
1583
|
+
|
|
1584
|
+
Returns:
|
|
1585
|
+
A unique filename that doesn't exist in the workspace
|
|
1586
|
+
"""
|
|
1587
|
+
workspace_path = GriptapeNodes.ConfigManager().workspace_path
|
|
1588
|
+
base_path = workspace_path.joinpath(f"{base_name}.py")
|
|
1589
|
+
if not base_path.exists():
|
|
1590
|
+
return base_name
|
|
1591
|
+
|
|
1592
|
+
pattern_match = re.search(r"\d+$", base_name)
|
|
1593
|
+
if pattern_match is not None:
|
|
1594
|
+
# Name ends in a number - strip it and find first free integer
|
|
1595
|
+
incremental_prefix = base_name[: pattern_match.start()]
|
|
1596
|
+
else:
|
|
1597
|
+
# Name doesn't end in a number - append underscore prefix
|
|
1598
|
+
incremental_prefix = f"{base_name}_"
|
|
1599
|
+
|
|
1600
|
+
curr_idx = 1
|
|
1601
|
+
while True:
|
|
1602
|
+
candidate_name = f"{incremental_prefix}{curr_idx}"
|
|
1603
|
+
candidate_path = workspace_path.joinpath(f"{candidate_name}.py")
|
|
1604
|
+
if not candidate_path.exists():
|
|
1605
|
+
return candidate_name
|
|
1606
|
+
curr_idx += 1
|
|
1607
|
+
|
|
1565
1608
|
def _determine_save_target(
|
|
1566
1609
|
self, requested_file_name: str | None, current_workflow_name: str | None
|
|
1567
1610
|
) -> SaveWorkflowTargetInfo:
|
|
@@ -1587,27 +1630,25 @@ class WorkflowManager:
|
|
|
1587
1630
|
current_workflow = WorkflowRegistry.get_workflow_by_name(current_workflow_name)
|
|
1588
1631
|
|
|
1589
1632
|
# Determine scenario and build target info
|
|
1590
|
-
if
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1633
|
+
# Only treat as SAVE_FROM_TEMPLATE if this is a Griptape-provided template.
|
|
1634
|
+
# User-marked templates (is_template=True but is_griptape_provided=False) should be saved normally.
|
|
1635
|
+
target_is_griptape_template = (
|
|
1636
|
+
target_workflow and target_workflow.metadata.is_template and target_workflow.metadata.is_griptape_provided
|
|
1637
|
+
)
|
|
1638
|
+
current_is_griptape_template = (
|
|
1639
|
+
current_workflow
|
|
1640
|
+
and current_workflow.metadata.is_template
|
|
1641
|
+
and current_workflow.metadata.is_griptape_provided
|
|
1642
|
+
)
|
|
1643
|
+
if target_is_griptape_template or current_is_griptape_template:
|
|
1644
|
+
# Griptape-provided template workflows always create new copies with unique names
|
|
1594
1645
|
scenario = WorkflowManager.SaveWorkflowScenario.SAVE_FROM_TEMPLATE
|
|
1595
1646
|
template_workflow = target_workflow or current_workflow
|
|
1596
1647
|
if template_workflow is None:
|
|
1597
1648
|
msg = "Save From Template scenario requires either target_workflow or current_workflow to be present"
|
|
1598
1649
|
raise ValueError(msg)
|
|
1599
1650
|
base_name = requested_file_name if requested_file_name else template_workflow.metadata.name
|
|
1600
|
-
|
|
1601
|
-
# Find unique filename
|
|
1602
|
-
curr_idx = 1
|
|
1603
|
-
while True:
|
|
1604
|
-
candidate_name = f"{base_name}_{curr_idx}"
|
|
1605
|
-
candidate_path = GriptapeNodes.ConfigManager().workspace_path.joinpath(f"{candidate_name}.py")
|
|
1606
|
-
if not candidate_path.exists():
|
|
1607
|
-
break
|
|
1608
|
-
curr_idx += 1
|
|
1609
|
-
|
|
1610
|
-
file_name = candidate_name
|
|
1651
|
+
file_name = self._generate_unique_filename(base_name)
|
|
1611
1652
|
creation_date = datetime.now(tz=UTC)
|
|
1612
1653
|
branched_from = None
|
|
1613
1654
|
relative_file_path = f"{file_name}.py"
|
|
@@ -3576,6 +3617,7 @@ class WorkflowManager:
|
|
|
3576
3617
|
"ui_options",
|
|
3577
3618
|
"settable",
|
|
3578
3619
|
"is_user_defined",
|
|
3620
|
+
"private",
|
|
3579
3621
|
"parent_container_name",
|
|
3580
3622
|
"parent_element_name",
|
|
3581
3623
|
]
|
|
@@ -99,3 +99,61 @@ def find_all_files_in_directory(directory: Path, pattern: str) -> list[Path]:
|
|
|
99
99
|
logger.debug("Found %d file(s) matching pattern '%s' in directory: %s", len(matches), pattern, directory)
|
|
100
100
|
|
|
101
101
|
return matches
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
def find_files_recursive(directory: Path, pattern: str, *, skip_hidden: bool = True) -> set[Path]:
|
|
105
|
+
"""Search directory recursively for files matching pattern.
|
|
106
|
+
|
|
107
|
+
Args:
|
|
108
|
+
directory: Directory to search in
|
|
109
|
+
pattern: Glob pattern to match files against (e.g., '*.json', '*library*.json')
|
|
110
|
+
skip_hidden: If True, skip hidden directories (those starting with .). Default is True.
|
|
111
|
+
This is more efficient when dealing with large hidden directories like .git, .venv, etc.
|
|
112
|
+
|
|
113
|
+
Returns:
|
|
114
|
+
Set of all matching file paths. Returns empty set if none found.
|
|
115
|
+
|
|
116
|
+
Examples:
|
|
117
|
+
>>> find_files_recursive(Path("/workspace"), "*.json")
|
|
118
|
+
{Path("/workspace/a.json"), Path("/workspace/sub/b.json")}
|
|
119
|
+
>>> find_files_recursive(Path("/workspace"), "*.json", skip_hidden=False)
|
|
120
|
+
{Path("/workspace/a.json"), Path("/workspace/.config/b.json")}
|
|
121
|
+
>>> find_files_recursive(Path("/empty"), "*.txt")
|
|
122
|
+
set()
|
|
123
|
+
"""
|
|
124
|
+
if not directory.exists():
|
|
125
|
+
logger.debug("Directory does not exist: %s", directory)
|
|
126
|
+
return set()
|
|
127
|
+
|
|
128
|
+
if not directory.is_dir():
|
|
129
|
+
logger.debug("Path is not a directory: %s", directory)
|
|
130
|
+
return set()
|
|
131
|
+
|
|
132
|
+
def _recurse(path: Path) -> set[Path]:
|
|
133
|
+
"""Recursively find files."""
|
|
134
|
+
results = set()
|
|
135
|
+
try:
|
|
136
|
+
for item in path.iterdir():
|
|
137
|
+
# Skip hidden files/directories if requested
|
|
138
|
+
if skip_hidden and item.name.startswith("."):
|
|
139
|
+
continue
|
|
140
|
+
|
|
141
|
+
if item.is_file() and fnmatch(item.name, pattern):
|
|
142
|
+
results.add(item)
|
|
143
|
+
elif item.is_dir():
|
|
144
|
+
# Recurse into directories
|
|
145
|
+
results.update(_recurse(item))
|
|
146
|
+
except (PermissionError, OSError) as e:
|
|
147
|
+
# Skip directories we can't access
|
|
148
|
+
logger.debug("Cannot access directory %s: %s", path, e)
|
|
149
|
+
|
|
150
|
+
return results
|
|
151
|
+
|
|
152
|
+
matches = _recurse(directory)
|
|
153
|
+
|
|
154
|
+
if not matches:
|
|
155
|
+
logger.debug("No files matching pattern '%s' found in directory: %s", pattern, directory)
|
|
156
|
+
else:
|
|
157
|
+
logger.debug("Found %d file(s) matching pattern '%s' in directory: %s", len(matches), pattern, directory)
|
|
158
|
+
|
|
159
|
+
return matches
|
|
@@ -1163,6 +1163,7 @@ def _shallow_clone_with_pygit2(remote_url: str, ref: str) -> tuple[str, str, dic
|
|
|
1163
1163
|
"""
|
|
1164
1164
|
with tempfile.TemporaryDirectory() as temp_dir:
|
|
1165
1165
|
temp_path = Path(temp_dir)
|
|
1166
|
+
repo = None # Initialize for finally block
|
|
1166
1167
|
|
|
1167
1168
|
try:
|
|
1168
1169
|
# Use SSH callbacks for SSH URLs
|
|
@@ -1222,6 +1223,11 @@ def _shallow_clone_with_pygit2(remote_url: str, ref: str) -> tuple[str, str, dic
|
|
|
1222
1223
|
except pygit2.GitError as e:
|
|
1223
1224
|
msg = f"Git error during clone from {remote_url}: {e}"
|
|
1224
1225
|
raise GitCloneError(msg) from e
|
|
1226
|
+
finally:
|
|
1227
|
+
# Release repository file handles before temp directory cleanup
|
|
1228
|
+
# Critical on Windows where open handles prevent directory deletion
|
|
1229
|
+
if repo is not None:
|
|
1230
|
+
repo.free()
|
|
1225
1231
|
|
|
1226
1232
|
return (library_version, commit_sha, library_data)
|
|
1227
1233
|
|
|
@@ -42,7 +42,7 @@ griptape_nodes/common/macro_parser/matching.py,sha256=hnlPIihz8W1TGnfq4anbBGciwg
|
|
|
42
42
|
griptape_nodes/common/macro_parser/parsing.py,sha256=_37L3lCQFeetamWIiHT0C7eW1E3Wyx5V8y8OWzIUw_g,7428
|
|
43
43
|
griptape_nodes/common/macro_parser/resolution.py,sha256=30_bAIRMKWw-kM3E1ne-my16xT1Wd734JMmZSOZtNPA,6937
|
|
44
44
|
griptape_nodes/common/macro_parser/segments.py,sha256=r-WbZas1nSc-PlEdAZ7DycNoD6IUf3R_nhGo3T9vIa8,1010
|
|
45
|
-
griptape_nodes/common/node_executor.py,sha256=
|
|
45
|
+
griptape_nodes/common/node_executor.py,sha256=BOAeOPHul0qsbyT1HCnw2eotRZELdyH7PelwisBL3wY,137796
|
|
46
46
|
griptape_nodes/common/project_templates/__init__.py,sha256=5DP6Sa6ClsdDcjD30pkK0iTTysTgGdRKEkeY7ztHZyc,1541
|
|
47
47
|
griptape_nodes/common/project_templates/default_project_template.py,sha256=PJFPfziH0EOGVxU5L0wZnc21bVVweW4S7wcnGPF45Co,3120
|
|
48
48
|
griptape_nodes/common/project_templates/defaults/README.md,sha256=1ou6_OFi7-t86nj-7tulW1vxNMtsvkJmNxr6SseG8hA,1080
|
|
@@ -65,12 +65,12 @@ griptape_nodes/drivers/thread_storage/thread_storage_backend.py,sha256=QXLvFOZrF
|
|
|
65
65
|
griptape_nodes/exe_types/__init__.py,sha256=wGGwKGX9-TSarUFbXpDvdU_J7eXIbWTBl_NCLOZa-G8,32
|
|
66
66
|
griptape_nodes/exe_types/base_iterative_nodes.py,sha256=z2u4Pb9iqy2Zl3gz_LB7k6hmxYyet1Z6sLjF8afPN_0,43810
|
|
67
67
|
griptape_nodes/exe_types/connections.py,sha256=HcM_fwWivMsXk5q6K7ZBSJpmK9THQwX_xLS_daF0PDQ,21737
|
|
68
|
-
griptape_nodes/exe_types/core_types.py,sha256=
|
|
68
|
+
griptape_nodes/exe_types/core_types.py,sha256=XrMT0Rf0bPZBcx06f1GUTi5G_IwLgdyzGjBKkUwRh3M,101505
|
|
69
69
|
griptape_nodes/exe_types/flow.py,sha256=2iAh3vN5wnMVxTc5jcPBg9TSiASq1DGIm5jgpO9Bdq4,5732
|
|
70
70
|
griptape_nodes/exe_types/node_groups/__init__.py,sha256=N-x5jU8XthYShF9TYnP90pd9DfUE5toiXb5lEoGFL-A,298
|
|
71
|
-
griptape_nodes/exe_types/node_groups/base_iterative_node_group.py,sha256=
|
|
72
|
-
griptape_nodes/exe_types/node_groups/base_node_group.py,sha256=
|
|
73
|
-
griptape_nodes/exe_types/node_groups/subflow_node_group.py,sha256=
|
|
71
|
+
griptape_nodes/exe_types/node_groups/base_iterative_node_group.py,sha256=1q8-3Rwlx6bXNDte3K0WMRrrddGfq4nD57W_eKmBE94,7411
|
|
72
|
+
griptape_nodes/exe_types/node_groups/base_node_group.py,sha256=dJofcmERzYQSQ2KB7dC0rOKjbZKW8Ko8eD6r0smBu48,3209
|
|
73
|
+
griptape_nodes/exe_types/node_groups/subflow_node_group.py,sha256=UlZS95TKUCWiHgg6z4Wm1t9xXfUjWhk0L8pB5cXMcV0,48361
|
|
74
74
|
griptape_nodes/exe_types/node_types.py,sha256=pPljG84zJ6Wd6yzcRjnK0n1805b-Jyzxx7-NFox66QE,84227
|
|
75
75
|
griptape_nodes/exe_types/param_components/README.md,sha256=mcNFxJIan9CGTnecsrJ8mkHC55dlA3fb7k4HFznou-k,14850
|
|
76
76
|
griptape_nodes/exe_types/param_components/__init__.py,sha256=ocm75WnsgiD6ozKVGFhoH9cQe_FEzeF2osxrRujOes0,60
|
|
@@ -85,18 +85,21 @@ griptape_nodes/exe_types/param_components/huggingface/huggingface_repo_parameter
|
|
|
85
85
|
griptape_nodes/exe_types/param_components/huggingface/huggingface_utils.py,sha256=cE0Ht81kDcZjlN_2VoRirCA4zMlrG9GFlcptn-gC2tU,4696
|
|
86
86
|
griptape_nodes/exe_types/param_components/log_parameter.py,sha256=K6XRWVIpL9MtQ6IZG3hYYwIv3sNqFxONxbVnKcA_Oes,4160
|
|
87
87
|
griptape_nodes/exe_types/param_components/progress_bar_component.py,sha256=GrAFTOrLNAx6q9zfOqiioPTG_NLHKhTe9NiZOo6zGSc,1949
|
|
88
|
-
griptape_nodes/exe_types/param_components/seed_parameter.py,sha256=
|
|
88
|
+
griptape_nodes/exe_types/param_components/seed_parameter.py,sha256=DUaYJTU8Jafu5sfibKJiO628813C37zMIJLYeXcoeuE,2119
|
|
89
89
|
griptape_nodes/exe_types/param_types/__init__.py,sha256=xEEmKvIFF6M7zVjQZCupbbv6SZKt-itD-rPtfRhxJVg,53
|
|
90
|
-
griptape_nodes/exe_types/param_types/parameter_audio.py,sha256=
|
|
91
|
-
griptape_nodes/exe_types/param_types/parameter_bool.py,sha256=
|
|
92
|
-
griptape_nodes/exe_types/param_types/parameter_button.py,sha256=
|
|
93
|
-
griptape_nodes/exe_types/param_types/
|
|
94
|
-
griptape_nodes/exe_types/param_types/
|
|
95
|
-
griptape_nodes/exe_types/param_types/
|
|
96
|
-
griptape_nodes/exe_types/param_types/
|
|
97
|
-
griptape_nodes/exe_types/param_types/
|
|
98
|
-
griptape_nodes/exe_types/param_types/
|
|
99
|
-
griptape_nodes/exe_types/param_types/
|
|
90
|
+
griptape_nodes/exe_types/param_types/parameter_audio.py,sha256=9oIBtDg6miZDD_5y8VWr6XXjYhsRb9HjSKoaLdgqaHA,9534
|
|
91
|
+
griptape_nodes/exe_types/param_types/parameter_bool.py,sha256=VS76CODOy7_1MJI9spxmi9VwL3fwCxRKaj_8zpqB7dw,8215
|
|
92
|
+
griptape_nodes/exe_types/param_types/parameter_button.py,sha256=lrFnw4dBRKTSsaMxSVMOwtAV8a-Tcex2Tf58u25qCy8,17292
|
|
93
|
+
griptape_nodes/exe_types/param_types/parameter_dict.py,sha256=vbgasnkx9U9-h43geRhLjQ60ekhFlLBvuCVT9wHgWdY,6016
|
|
94
|
+
griptape_nodes/exe_types/param_types/parameter_float.py,sha256=9msvMnmzYGNpqFpGyTT4tswiAlHomo9Y5EiYsydT7IM,6793
|
|
95
|
+
griptape_nodes/exe_types/param_types/parameter_image.py,sha256=FeoqQdr1dj0F60WK0pVyNyzYsZCDjt4JiZQn252Oz3I,9433
|
|
96
|
+
griptape_nodes/exe_types/param_types/parameter_int.py,sha256=06h1QpWaWLeP2tlRRW5IOGO-t_ZlxsWqnezlgoyBKaE,6942
|
|
97
|
+
griptape_nodes/exe_types/param_types/parameter_json.py,sha256=M5A0_XhTKZ8qVBd1db55UA23H3nmaqryaITeN2-GwB0,9961
|
|
98
|
+
griptape_nodes/exe_types/param_types/parameter_number.py,sha256=acmFnpeYI0Gi2yVYmn9ftkruBxR_TpjDrpYi3Kj0vc8,15372
|
|
99
|
+
griptape_nodes/exe_types/param_types/parameter_range.py,sha256=fkCBN0X09fAfTG9AhKQ3Nxkit_8NrFi4IGQPpmOQR8k,14689
|
|
100
|
+
griptape_nodes/exe_types/param_types/parameter_string.py,sha256=-Q_9FwPtCXzpbv1C5FixLEET0c9WLJ228168IaSlZEU,9583
|
|
101
|
+
griptape_nodes/exe_types/param_types/parameter_three_d.py,sha256=wbUeWJUVPJW5JJrkckzGnTM6SsWPSQNupyHGVoBjrOA,8393
|
|
102
|
+
griptape_nodes/exe_types/param_types/parameter_video.py,sha256=_GhpqZwn3kFJIJA7w-oiK2DHFfPW_JosMgUFlWvK6r0,9454
|
|
100
103
|
griptape_nodes/exe_types/type_validator.py,sha256=RTz1vX09jzQpHhozITMJ0siOZUXvsERDhrApjdaM1WM,1120
|
|
101
104
|
griptape_nodes/machines/__init__.py,sha256=v0jkwr-CFOLmfEYUQvX8BKQLOdvhSsA6toXkdHcPGUE,30
|
|
102
105
|
griptape_nodes/machines/control_flow.py,sha256=mmiA7OHXG3Nq36uFPKSGVgqm-ws-T21vzHgvF-um0hg,23007
|
|
@@ -122,14 +125,14 @@ griptape_nodes/retained_mode/events/context_events.py,sha256=-FIwjI0hJodDhfM4BF-
|
|
|
122
125
|
griptape_nodes/retained_mode/events/execution_events.py,sha256=AQHD04wxQXJDHGnw_ij4QvdUoiMckpMTZqZJX3ehGgA,13512
|
|
123
126
|
griptape_nodes/retained_mode/events/flow_events.py,sha256=UcRHfaubb1GpDFSPg-5HRWrPnA7ifH1zBMYtWnYNy_E,19434
|
|
124
127
|
griptape_nodes/retained_mode/events/generate_request_payload_schemas.py,sha256=PQ0QRZAUBljSIGjB8QhYUeRmSrfmLsJ6XVcygJKi13I,1102
|
|
125
|
-
griptape_nodes/retained_mode/events/library_events.py,sha256=
|
|
128
|
+
griptape_nodes/retained_mode/events/library_events.py,sha256=4NUc3uoLgofo1X9nrCVl2zPX3hsnk06Oo4Op0AQKA5o,36229
|
|
126
129
|
griptape_nodes/retained_mode/events/logger_events.py,sha256=jYlxzPomgCsJuPtJ0znWBhD8QJfC8qC4xfChDiuVuyg,705
|
|
127
130
|
griptape_nodes/retained_mode/events/mcp_events.py,sha256=51OlMZVcabdcIxBb_ojvrHtq2jAzZA31pooPBKaApyg,10734
|
|
128
131
|
griptape_nodes/retained_mode/events/model_events.py,sha256=jXm-v-_Uxysn4MJ7a80_uIphrxTHgua3BGgHGyy3T_Y,9232
|
|
129
132
|
griptape_nodes/retained_mode/events/node_events.py,sha256=vpILjBkgrPzF_KSow2EJCwcU-tDD78WEWM2DAAzhhiE,37720
|
|
130
133
|
griptape_nodes/retained_mode/events/object_events.py,sha256=cJaqEU73Lzf1RRxJrFqEpl8eTr-gDhKpXKywJ-vVCJQ,2631
|
|
131
134
|
griptape_nodes/retained_mode/events/os_events.py,sha256=fVraPXCz48kDpCTttJFtsyfTfkaLSfTX57hexYSD7I8,23429
|
|
132
|
-
griptape_nodes/retained_mode/events/parameter_events.py,sha256=
|
|
135
|
+
griptape_nodes/retained_mode/events/parameter_events.py,sha256=TazVXxvfv64n3XJzToOQKiWQ1UIzrUAB4ri_QIvZ2ng,26968
|
|
133
136
|
griptape_nodes/retained_mode/events/payload_registry.py,sha256=q-wxUqp63vhNj-Pl1JGJHnBkhUefcCArPoMN3KBREEI,1691
|
|
134
137
|
griptape_nodes/retained_mode/events/project_events.py,sha256=C_jHk_7dRJLtbRgCi8IGe-mH46tueuTxLxGL7xxZVBI,17096
|
|
135
138
|
griptape_nodes/retained_mode/events/resource_events.py,sha256=K47UK92wvaRtHu3ByfhkQEMyorrV0ArGewrFSJuVMiI,9015
|
|
@@ -146,7 +149,7 @@ griptape_nodes/retained_mode/managers/arbitrary_code_exec_manager.py,sha256=LyWz
|
|
|
146
149
|
griptape_nodes/retained_mode/managers/config_manager.py,sha256=74AMeaCS0eOeFbzMk5I54MtB7-SNQbwlx_-O6zBBQRo,26739
|
|
147
150
|
griptape_nodes/retained_mode/managers/context_manager.py,sha256=eb44_CAZhCg2iYIoodlAPpYc67tG3sHyq9dPNoiq_1s,23031
|
|
148
151
|
griptape_nodes/retained_mode/managers/engine_identity_manager.py,sha256=-31364A03kU0YmAx3nM7nHdWfKnkej5Cawt_Plbwa68,10526
|
|
149
|
-
griptape_nodes/retained_mode/managers/event_manager.py,sha256=
|
|
152
|
+
griptape_nodes/retained_mode/managers/event_manager.py,sha256=jiUX3WW6Hz0Z4Y1dK1X7fMwZawT3_BOKl_Dbiui-iNQ,26933
|
|
150
153
|
griptape_nodes/retained_mode/managers/fitness_problems/__init__.py,sha256=H_Wwfn1k_IaxwRxgbw3-seb1HWbcxl2Cvhw7wB7bCo8,75
|
|
151
154
|
griptape_nodes/retained_mode/managers/fitness_problems/libraries/__init__.py,sha256=vjyI8VUKNieAhlLlaxoUZZK9AxacdbajHVVFTPo_82A,3340
|
|
152
155
|
griptape_nodes/retained_mode/managers/fitness_problems/libraries/advanced_library_load_failure_problem.py,sha256=Z7bIE_Ll4qqsG-D_PLe48r3ZuUCChgk04mopDvZ5MD0,1215
|
|
@@ -198,10 +201,10 @@ griptape_nodes/retained_mode/managers/fitness_problems/workflows/workflow_not_fo
|
|
|
198
201
|
griptape_nodes/retained_mode/managers/fitness_problems/workflows/workflow_problem.py,sha256=NLAoF_x7g5tL70qZtPVFI8xeM1jPZNsm7FKt9nkuGBc,542
|
|
199
202
|
griptape_nodes/retained_mode/managers/fitness_problems/workflows/workflow_schema_version_problem.py,sha256=rUnbBBnGwgq5WTVPt2G4pGP3gVPoX5xvCdTkRPBmP04,1328
|
|
200
203
|
griptape_nodes/retained_mode/managers/flow_manager.py,sha256=0Z8hNjfwlnJgQGOsQf3MEvQnkPLeQBXe2ZuixUov2QY,220137
|
|
201
|
-
griptape_nodes/retained_mode/managers/library_manager.py,sha256=
|
|
204
|
+
griptape_nodes/retained_mode/managers/library_manager.py,sha256=paogGavZj2MDOYvfUklhjORQg16YdpVGBxBncVSxtR0,192265
|
|
202
205
|
griptape_nodes/retained_mode/managers/mcp_manager.py,sha256=Ezmn5_48r4JWYe-tFGqmw9dXLvvTiO1rw9b4MNCkw0U,15955
|
|
203
206
|
griptape_nodes/retained_mode/managers/model_manager.py,sha256=3lj2X8vIvDSERPtR2VEXNFEWy_D8H6muxRvD-PEx8U8,44845
|
|
204
|
-
griptape_nodes/retained_mode/managers/node_manager.py,sha256=
|
|
207
|
+
griptape_nodes/retained_mode/managers/node_manager.py,sha256=KbThJ5fvBTuF9EEIqBT37Rop41_7o-irb_-KY8hkXVY,225038
|
|
205
208
|
griptape_nodes/retained_mode/managers/object_manager.py,sha256=xABsjpE1_HLEIFwYj60zDOLi18EqrYUBuNaj37lUcH4,12921
|
|
206
209
|
griptape_nodes/retained_mode/managers/operation_manager.py,sha256=4Vn_79vHrawy3wJVUx52tfblO4mURww58nb5RtCTpKU,20190
|
|
207
210
|
griptape_nodes/retained_mode/managers/os_manager.py,sha256=Ttgj6R063p2Yf1lcdeSTB2xOTg94MIDCMPxO8FDczEQ,142397
|
|
@@ -224,7 +227,7 @@ griptape_nodes/retained_mode/managers/sync_manager.py,sha256=dF6nAAy1DLDQydefx7v
|
|
|
224
227
|
griptape_nodes/retained_mode/managers/user_manager.py,sha256=JAOOKDhUfIbj0CJ5EHRBcplmxheQTzeogbvGO23VqXQ,4508
|
|
225
228
|
griptape_nodes/retained_mode/managers/variable_manager.py,sha256=TnuqHSRK9Yiu_EtKxQksF9SyyQb72lbFQuTQZdpBxeE,24116
|
|
226
229
|
griptape_nodes/retained_mode/managers/version_compatibility_manager.py,sha256=kaCtmNMqJW-mvLCFHf77wbBZbc3CgW2h8fYYkLkNrPs,17041
|
|
227
|
-
griptape_nodes/retained_mode/managers/workflow_manager.py,sha256=
|
|
230
|
+
griptape_nodes/retained_mode/managers/workflow_manager.py,sha256=n6jmr966Y_0MPd9aaOssX2CYgojf_mNRxC07990Anec,217769
|
|
228
231
|
griptape_nodes/retained_mode/retained_mode.py,sha256=dG8FFpLXSxT49naOcphEq2aSRCEVoQyklWgaDljjuDA,71728
|
|
229
232
|
griptape_nodes/retained_mode/utils/__init__.py,sha256=W5dvv8YwvVVq_8eVTgMd3Z_VB_Dtq1sIIVq8745QH_I,52
|
|
230
233
|
griptape_nodes/retained_mode/utils/name_generator.py,sha256=IZLahtfP3XC79XApLdGoZ0IKKUkgiITpd16RK7NbyEs,2524
|
|
@@ -252,8 +255,8 @@ griptape_nodes/updater/__main__.py,sha256=lhMMctbBeni57ximitvkwqJ1TQzk79Jg9w0rkK
|
|
|
252
255
|
griptape_nodes/utils/__init__.py,sha256=kzDZW_VPyxWJFonM3kYTl7A91_JmtHPK0Io4KPLTYT4,122
|
|
253
256
|
griptape_nodes/utils/async_utils.py,sha256=4IrW8Ub8iJ2QB9yguZtfN1EB9B5nXHS7jbDaLOHWso0,4844
|
|
254
257
|
griptape_nodes/utils/dict_utils.py,sha256=1VP2EoyOP0nswoAgjPehpA0izpkygWRX7L--ArN6LV8,7314
|
|
255
|
-
griptape_nodes/utils/file_utils.py,sha256=
|
|
256
|
-
griptape_nodes/utils/git_utils.py,sha256=
|
|
258
|
+
griptape_nodes/utils/file_utils.py,sha256=D7VBkYl2MI0GUHdvI3IDB-fRN2XTp4xDpANnUcnEVvY,5524
|
|
259
|
+
griptape_nodes/utils/git_utils.py,sha256=Gz55JqSFPuxbTzvnXHKHsbMy3PvkNDAYyMQ7szekcL0,45674
|
|
257
260
|
griptape_nodes/utils/huggingface_utils.py,sha256=txR5XS_01W3TvsH4SQ3AJrFy8oS8Ah9M-ePRSs3jHYA,4737
|
|
258
261
|
griptape_nodes/utils/image_preview.py,sha256=NhYIqohRF9vbFpWIEvZHdPLLPK_JdUBvC4RvNAsSa1w,4480
|
|
259
262
|
griptape_nodes/utils/library_utils.py,sha256=UwTdOJcPwJljWYD-DbctjExicaw-6isXZ-Js02jrGCw,4224
|
|
@@ -272,7 +275,7 @@ griptape_nodes/version_compatibility/versions/v0_65_5/__init__.py,sha256=4UyspOV
|
|
|
272
275
|
griptape_nodes/version_compatibility/versions/v0_65_5/flux_2_removed_parameters.py,sha256=jOlmY5kKHXh8HPzAUtvwMJqzD4bP7pkE--yHUb7jTRA,3305
|
|
273
276
|
griptape_nodes/version_compatibility/versions/v0_7_0/__init__.py,sha256=IzPPmGK86h2swfGGTOHyVcBIlOng6SjgWQzlbf3ngmo,51
|
|
274
277
|
griptape_nodes/version_compatibility/versions/v0_7_0/local_executor_argument_addition.py,sha256=Thx8acnbw5OychhwEEj9aFxvbPe7Wgn4V9ZmZ7KRZqc,2082
|
|
275
|
-
griptape_nodes-0.
|
|
276
|
-
griptape_nodes-0.
|
|
277
|
-
griptape_nodes-0.
|
|
278
|
-
griptape_nodes-0.
|
|
278
|
+
griptape_nodes-0.67.0.dist-info/WHEEL,sha256=KSLUh82mDPEPk0Bx0ScXlWL64bc8KmzIPNcpQZFV-6E,79
|
|
279
|
+
griptape_nodes-0.67.0.dist-info/entry_points.txt,sha256=qvevqd3BVbAV5TcantnAm0ouqaqYKhsRO3pkFymWLWM,82
|
|
280
|
+
griptape_nodes-0.67.0.dist-info/METADATA,sha256=1YMtiTN8fY4LDSKw5JlmUaQpIK6ehIW-vHAZtLGdM3k,5374
|
|
281
|
+
griptape_nodes-0.67.0.dist-info/RECORD,,
|
|
File without changes
|