griptape-nodes 0.43.1__py3-none-any.whl → 0.45.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.
Files changed (134) hide show
  1. griptape_nodes/__init__.py +46 -52
  2. griptape_nodes/app/.python-version +0 -0
  3. griptape_nodes/app/__init__.py +0 -0
  4. griptape_nodes/app/api.py +37 -41
  5. griptape_nodes/app/app.py +70 -3
  6. griptape_nodes/app/watch.py +5 -2
  7. griptape_nodes/bootstrap/__init__.py +0 -0
  8. griptape_nodes/bootstrap/workflow_executors/__init__.py +0 -0
  9. griptape_nodes/bootstrap/workflow_executors/local_workflow_executor.py +7 -1
  10. griptape_nodes/bootstrap/workflow_executors/subprocess_workflow_executor.py +90 -0
  11. griptape_nodes/bootstrap/workflow_executors/workflow_executor.py +7 -1
  12. griptape_nodes/drivers/__init__.py +0 -0
  13. griptape_nodes/drivers/storage/__init__.py +0 -0
  14. griptape_nodes/drivers/storage/base_storage_driver.py +90 -0
  15. griptape_nodes/drivers/storage/griptape_cloud_storage_driver.py +48 -0
  16. griptape_nodes/drivers/storage/local_storage_driver.py +37 -0
  17. griptape_nodes/drivers/storage/storage_backend.py +0 -0
  18. griptape_nodes/exe_types/__init__.py +0 -0
  19. griptape_nodes/exe_types/connections.py +0 -0
  20. griptape_nodes/exe_types/core_types.py +222 -17
  21. griptape_nodes/exe_types/flow.py +0 -0
  22. griptape_nodes/exe_types/node_types.py +20 -5
  23. griptape_nodes/exe_types/type_validator.py +0 -0
  24. griptape_nodes/machines/__init__.py +0 -0
  25. griptape_nodes/machines/control_flow.py +5 -4
  26. griptape_nodes/machines/fsm.py +0 -0
  27. griptape_nodes/machines/node_resolution.py +110 -74
  28. griptape_nodes/mcp_server/__init__.py +0 -0
  29. griptape_nodes/mcp_server/server.py +16 -8
  30. griptape_nodes/mcp_server/ws_request_manager.py +0 -0
  31. griptape_nodes/node_library/__init__.py +0 -0
  32. griptape_nodes/node_library/advanced_node_library.py +0 -0
  33. griptape_nodes/node_library/library_registry.py +0 -0
  34. griptape_nodes/node_library/workflow_registry.py +29 -0
  35. griptape_nodes/py.typed +0 -0
  36. griptape_nodes/retained_mode/__init__.py +0 -0
  37. griptape_nodes/retained_mode/events/__init__.py +0 -0
  38. griptape_nodes/retained_mode/events/agent_events.py +0 -0
  39. griptape_nodes/retained_mode/events/app_events.py +3 -8
  40. griptape_nodes/retained_mode/events/arbitrary_python_events.py +0 -0
  41. griptape_nodes/retained_mode/events/base_events.py +15 -7
  42. griptape_nodes/retained_mode/events/config_events.py +0 -0
  43. griptape_nodes/retained_mode/events/connection_events.py +0 -0
  44. griptape_nodes/retained_mode/events/context_events.py +0 -0
  45. griptape_nodes/retained_mode/events/execution_events.py +0 -0
  46. griptape_nodes/retained_mode/events/flow_events.py +2 -1
  47. griptape_nodes/retained_mode/events/generate_request_payload_schemas.py +0 -0
  48. griptape_nodes/retained_mode/events/library_events.py +0 -0
  49. griptape_nodes/retained_mode/events/logger_events.py +0 -0
  50. griptape_nodes/retained_mode/events/node_events.py +36 -0
  51. griptape_nodes/retained_mode/events/object_events.py +0 -0
  52. griptape_nodes/retained_mode/events/os_events.py +98 -6
  53. griptape_nodes/retained_mode/events/parameter_events.py +0 -0
  54. griptape_nodes/retained_mode/events/payload_registry.py +0 -0
  55. griptape_nodes/retained_mode/events/secrets_events.py +0 -0
  56. griptape_nodes/retained_mode/events/static_file_events.py +0 -0
  57. griptape_nodes/retained_mode/events/sync_events.py +60 -0
  58. griptape_nodes/retained_mode/events/validation_events.py +0 -0
  59. griptape_nodes/retained_mode/events/workflow_events.py +231 -0
  60. griptape_nodes/retained_mode/griptape_nodes.py +9 -4
  61. griptape_nodes/retained_mode/managers/__init__.py +0 -0
  62. griptape_nodes/retained_mode/managers/agent_manager.py +0 -0
  63. griptape_nodes/retained_mode/managers/arbitrary_code_exec_manager.py +0 -0
  64. griptape_nodes/retained_mode/managers/config_manager.py +1 -1
  65. griptape_nodes/retained_mode/managers/context_manager.py +0 -0
  66. griptape_nodes/retained_mode/managers/engine_identity_manager.py +0 -0
  67. griptape_nodes/retained_mode/managers/event_manager.py +0 -0
  68. griptape_nodes/retained_mode/managers/flow_manager.py +6 -0
  69. griptape_nodes/retained_mode/managers/library_lifecycle/__init__.py +0 -0
  70. griptape_nodes/retained_mode/managers/library_lifecycle/data_models.py +0 -0
  71. griptape_nodes/retained_mode/managers/library_lifecycle/library_directory.py +0 -0
  72. griptape_nodes/retained_mode/managers/library_lifecycle/library_fsm.py +0 -0
  73. griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/__init__.py +0 -0
  74. griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/base.py +0 -0
  75. griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/github.py +0 -0
  76. griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/local_file.py +0 -0
  77. griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/package.py +0 -0
  78. griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/sandbox.py +0 -0
  79. griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance.py +0 -0
  80. griptape_nodes/retained_mode/managers/library_lifecycle/library_status.py +0 -0
  81. griptape_nodes/retained_mode/managers/library_manager.py +8 -26
  82. griptape_nodes/retained_mode/managers/node_manager.py +78 -7
  83. griptape_nodes/retained_mode/managers/object_manager.py +0 -0
  84. griptape_nodes/retained_mode/managers/operation_manager.py +7 -0
  85. griptape_nodes/retained_mode/managers/os_manager.py +133 -8
  86. griptape_nodes/retained_mode/managers/secrets_manager.py +0 -0
  87. griptape_nodes/retained_mode/managers/session_manager.py +0 -0
  88. griptape_nodes/retained_mode/managers/settings.py +5 -0
  89. griptape_nodes/retained_mode/managers/static_files_manager.py +0 -0
  90. griptape_nodes/retained_mode/managers/sync_manager.py +498 -0
  91. griptape_nodes/retained_mode/managers/version_compatibility_manager.py +0 -0
  92. griptape_nodes/retained_mode/managers/workflow_manager.py +736 -33
  93. griptape_nodes/retained_mode/retained_mode.py +23 -0
  94. griptape_nodes/retained_mode/utils/__init__.py +0 -0
  95. griptape_nodes/retained_mode/utils/engine_identity.py +0 -0
  96. griptape_nodes/retained_mode/utils/name_generator.py +0 -0
  97. griptape_nodes/traits/__init__.py +0 -0
  98. griptape_nodes/traits/add_param_button.py +0 -0
  99. griptape_nodes/traits/button.py +0 -0
  100. griptape_nodes/traits/clamp.py +0 -0
  101. griptape_nodes/traits/compare.py +0 -0
  102. griptape_nodes/traits/compare_images.py +0 -0
  103. griptape_nodes/traits/file_system_picker.py +18 -0
  104. griptape_nodes/traits/minmax.py +0 -0
  105. griptape_nodes/traits/options.py +0 -0
  106. griptape_nodes/traits/slider.py +0 -0
  107. griptape_nodes/traits/trait_registry.py +0 -0
  108. griptape_nodes/traits/traits.json +0 -0
  109. griptape_nodes/updater/__init__.py +4 -2
  110. griptape_nodes/updater/__main__.py +0 -0
  111. griptape_nodes/utils/__init__.py +0 -0
  112. griptape_nodes/utils/dict_utils.py +0 -0
  113. griptape_nodes/utils/image_preview.py +0 -0
  114. griptape_nodes/utils/metaclasses.py +0 -0
  115. griptape_nodes/utils/uv_utils.py +18 -0
  116. griptape_nodes/utils/version_utils.py +51 -0
  117. griptape_nodes/version_compatibility/__init__.py +0 -0
  118. griptape_nodes/version_compatibility/versions/__init__.py +0 -0
  119. griptape_nodes/version_compatibility/versions/v0_39_0/__init__.py +0 -0
  120. griptape_nodes/version_compatibility/versions/v0_39_0/modified_parameters_set_removal.py +0 -0
  121. {griptape_nodes-0.43.1.dist-info → griptape_nodes-0.45.0.dist-info}/METADATA +2 -1
  122. {griptape_nodes-0.43.1.dist-info → griptape_nodes-0.45.0.dist-info}/RECORD +42 -47
  123. {griptape_nodes-0.43.1.dist-info → griptape_nodes-0.45.0.dist-info}/WHEEL +1 -1
  124. griptape_nodes/bootstrap/bootstrap_script.py +0 -54
  125. griptape_nodes/bootstrap/post_build_install_script.sh +0 -3
  126. griptape_nodes/bootstrap/pre_build_install_script.sh +0 -4
  127. griptape_nodes/bootstrap/register_libraries_script.py +0 -32
  128. griptape_nodes/bootstrap/structure_config.yaml +0 -15
  129. griptape_nodes/bootstrap/workflow_runners/__init__.py +0 -1
  130. griptape_nodes/bootstrap/workflow_runners/bootstrap_workflow_runner.py +0 -28
  131. griptape_nodes/bootstrap/workflow_runners/local_workflow_runner.py +0 -237
  132. griptape_nodes/bootstrap/workflow_runners/subprocess_workflow_runner.py +0 -62
  133. griptape_nodes/bootstrap/workflow_runners/workflow_runner.py +0 -11
  134. {griptape_nodes-0.43.1.dist-info → griptape_nodes-0.45.0.dist-info}/entry_points.txt +0 -0
@@ -48,6 +48,7 @@ from griptape_nodes.retained_mode.events.node_events import (
48
48
  GetNodeMetadataRequest,
49
49
  GetNodeResolutionStateRequest,
50
50
  ListParametersOnNodeRequest,
51
+ SetLockNodeStateRequest,
51
52
  SetNodeMetadataRequest,
52
53
  )
53
54
  from griptape_nodes.retained_mode.events.object_events import (
@@ -347,6 +348,28 @@ class RetainedMode:
347
348
  result = GriptapeNodes().handle_request(request)
348
349
  return result
349
350
 
351
+ @classmethod
352
+ def set_lock_node_state(cls, *, node_name: str | None = None, lock: bool = True) -> ResultPayload:
353
+ """Sets the lock state of a node.
354
+
355
+ Args:
356
+ node_name (str | None): Name of the node to lock/unlock. If None, uses the current context node.
357
+ lock (bool): Whether to lock (True) or unlock (False) the node.
358
+
359
+ Returns:
360
+ ResultPayload: Contains the result of setting the node lock state.
361
+
362
+ Example:
363
+ # Lock a specific node
364
+ result = cmd.set_lock_node_state("my_node", lock=True)
365
+
366
+ # Unlock the current context node
367
+ result = cmd.set_lock_node_state(lock=False)
368
+ """
369
+ request = SetLockNodeStateRequest(node_name=node_name, lock=lock)
370
+ result = GriptapeNodes().handle_request(request)
371
+ return result
372
+
350
373
  @classmethod
351
374
  def get_connections_for_node(cls, node_name: str) -> ResultPayload:
352
375
  """Gets all connections associated with a node.
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
@@ -18,6 +18,8 @@ class FileSystemPicker(Trait):
18
18
  min_file_size: int | None = None
19
19
  workspace_only: bool = True
20
20
  initial_path: str | None = None
21
+ allow_create: bool = False
22
+ allow_rename: bool = False
21
23
  element_id: str = field(default_factory=lambda: "FileSystemPicker")
22
24
 
23
25
  def __init__( # noqa: PLR0913
@@ -34,6 +36,8 @@ class FileSystemPicker(Trait):
34
36
  min_file_size: int | None = None,
35
37
  workspace_only: bool = True,
36
38
  initial_path: str | None = None,
39
+ allow_create: bool = False,
40
+ allow_rename: bool = False,
37
41
  ) -> None:
38
42
  super().__init__()
39
43
  self.allow_files = allow_files
@@ -47,6 +51,8 @@ class FileSystemPicker(Trait):
47
51
  self.min_file_size = min_file_size
48
52
  self.workspace_only = workspace_only
49
53
  self.initial_path = initial_path
54
+ self.allow_create = allow_create
55
+ self.allow_rename = allow_rename
50
56
 
51
57
  @classmethod
52
58
  def get_trait_keys(cls) -> list[str]:
@@ -59,6 +65,8 @@ class FileSystemPicker(Trait):
59
65
  "allowDirectories": self.allow_directories,
60
66
  "multiple": self.multiple,
61
67
  "workspaceOnly": self.workspace_only,
68
+ "allowCreate": self.allow_create,
69
+ "allowRename": self.allow_rename,
62
70
  }
63
71
 
64
72
  # Add file types/extensions
@@ -94,6 +102,16 @@ class FileSystemPicker(Trait):
94
102
  msg = "At least one of allow_files or allow_directories must be True"
95
103
  raise ValueError(msg)
96
104
 
105
+ # Validate that creation is only allowed when appropriate selection types are enabled
106
+ if self.allow_create and not self.allow_files and not self.allow_directories:
107
+ msg = "allow_create requires at least one of allow_files or allow_directories to be True"
108
+ raise ValueError(msg)
109
+
110
+ # Validate that rename is only allowed when appropriate selection types are enabled
111
+ if self.allow_rename and not self.allow_files and not self.allow_directories:
112
+ msg = "allow_rename requires at least one of allow_files or allow_directories to be True"
113
+ raise ValueError(msg)
114
+
97
115
  # Validate file size limits
98
116
  if (
99
117
  self.max_file_size is not None
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -11,6 +11,7 @@ import subprocess
11
11
  from rich.console import Console
12
12
 
13
13
  from griptape_nodes.retained_mode.managers.os_manager import OSManager
14
+ from griptape_nodes.utils.uv_utils import find_uv_bin
14
15
 
15
16
  console = Console()
16
17
 
@@ -38,8 +39,9 @@ def _download_and_run_installer() -> None:
38
39
  """Runs the update commands for the engine."""
39
40
  console.print("[bold green]Updating self...[/bold green]")
40
41
  try:
41
- subprocess.run(
42
- ["uv", "tool", "upgrade", "griptape-nodes"], # noqa: S607
42
+ uv_path = find_uv_bin()
43
+ subprocess.run( # noqa: S603
44
+ [uv_path, "tool", "upgrade", "griptape-nodes"],
43
45
  text=True,
44
46
  capture_output=True,
45
47
  check=True,
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,18 @@
1
+ """Utilities for working with the UV package manager."""
2
+
3
+ import uv
4
+ from xdg_base_dirs import xdg_data_home
5
+
6
+
7
+ def find_uv_bin() -> str:
8
+ """Find the uv binary, checking dedicated Griptape installation first, then system uv.
9
+
10
+ Returns:
11
+ Path to the uv binary to use
12
+ """
13
+ # Check for dedicated Griptape uv installation first
14
+ dedicated_uv_path = xdg_data_home() / "griptape_nodes" / "bin" / "uv"
15
+ if dedicated_uv_path.exists():
16
+ return str(dedicated_uv_path)
17
+
18
+ return uv.find_uv_bin()
@@ -0,0 +1,51 @@
1
+ """Version utilities for Griptape Nodes."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import importlib.metadata
6
+ import json
7
+ from typing import Literal
8
+
9
+ engine_version = importlib.metadata.version("griptape_nodes")
10
+
11
+
12
+ def get_current_version() -> str:
13
+ """Returns the current version of the Griptape Nodes package."""
14
+ return f"v{engine_version}"
15
+
16
+
17
+ def get_install_source() -> tuple[Literal["git", "file", "pypi"], str | None]:
18
+ """Determines the install source of the Griptape Nodes package.
19
+
20
+ Returns:
21
+ tuple: A tuple containing the install source and commit ID (if applicable).
22
+ """
23
+ dist = importlib.metadata.distribution("griptape_nodes")
24
+ direct_url_text = dist.read_text("direct_url.json")
25
+ # installing from pypi doesn't have a direct_url.json file
26
+ if direct_url_text is None:
27
+ return "pypi", None
28
+
29
+ direct_url_info = json.loads(direct_url_text)
30
+ url = direct_url_info.get("url")
31
+ if url and url.startswith("file://"):
32
+ return "file", None
33
+ if "vcs_info" in direct_url_info:
34
+ return "git", direct_url_info["vcs_info"].get("commit_id")[:7]
35
+ # Fall back to pypi if no other source is found
36
+ return "pypi", None
37
+
38
+
39
+ def get_complete_version_string() -> str:
40
+ """Returns the complete version string including install source and commit ID.
41
+
42
+ Format: v1.2.3 (source) or v1.2.3 (source - commit_id)
43
+
44
+ Returns:
45
+ Complete version string with source and commit info.
46
+ """
47
+ version = get_current_version()
48
+ source, commit_id = get_install_source()
49
+ if commit_id is None:
50
+ return f"{version} ({source})"
51
+ return f"{version} ({source} - {commit_id})"
File without changes
File without changes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: griptape-nodes
3
- Version: 0.43.1
3
+ Version: 0.45.0
4
4
  Summary: Add your description here
5
5
  Requires-Dist: griptape>=1.8.0
6
6
  Requires-Dist: pydantic>=2.10.6
@@ -19,6 +19,7 @@ Requires-Dist: imageio-ffmpeg>=0.6.0
19
19
  Requires-Dist: mcp[ws]>=1.10.1
20
20
  Requires-Dist: binaryornot>=0.4.4
21
21
  Requires-Dist: pillow>=11.3.0
22
+ Requires-Dist: watchfiles>=1.1.0
22
23
  Requires-Dist: austin-dist>=3.7.0 ; extra == 'profiling'
23
24
  Requires-Python: >=3.12.0, <3.13
24
25
  Provides-Extra: profiling
@@ -1,79 +1,71 @@
1
- griptape_nodes/__init__.py,sha256=e3d8dcaf8832bd38e97590ca09e93452ab4031e31d26bf8e2ff1f1ec8adaf021,37026
1
+ griptape_nodes/__init__.py,sha256=b343ed7fc689c99291c96379787415c9d305b33d63e8b5c8e7ad55d094c49769,36906
2
2
  griptape_nodes/app/.python-version,sha256=7b55f8e67b5623c4bef3fa691288da9437d79d3aba156de48d481db32ac7d16d,5
3
3
  griptape_nodes/app/__init__.py,sha256=0c1f834ec81c3676e6102957128bb0cc686b9a8de01c10965c1f4190f1a97502,90
4
- griptape_nodes/app/api.py,sha256=c663628afe8949505b33a8dd187fec2b48ad512138f42e5ab8f9ce430f5b7d6e,6965
5
- griptape_nodes/app/app.py,sha256=3b09abab86b5b1712f12e7f2ef4142d641b70fbcc8a27be0bcc61b794456c96a,14950
6
- griptape_nodes/app/watch.py,sha256=bbc0f85469be2d8dee9ba518df9b1cc2c312e7485a74bf1fcc7057f6503ea1d4,1974
4
+ griptape_nodes/app/api.py,sha256=46a36af068a4784b0317daede79befd59198320c3934ee1b84c74b297108774f,6925
5
+ griptape_nodes/app/app.py,sha256=eed6bcbe52e556eff4e250af915940c574028f1d799ffeb17b0f6259ed401ba8,17743
6
+ griptape_nodes/app/watch.py,sha256=413353c7811b54440276277250d766b3be30edf8eb8c128069dbb52d40e9e962,2064
7
7
  griptape_nodes/bootstrap/__init__.py,sha256=10dbf7488cd0f53b6546b835cb87b80a7a01a49685a454a43694c5055f17e4bb,25
8
- griptape_nodes/bootstrap/bootstrap_script.py,sha256=40b2eedf0bb55469a8514f122867b22c60ce8a32812c600962fd51948f6cb9bd,1312
9
- griptape_nodes/bootstrap/post_build_install_script.sh,sha256=b7622d56f7bfd9593b8cc16c7c07d51c201ce6c1520d24249a3825af551267bb,48
10
- griptape_nodes/bootstrap/pre_build_install_script.sh,sha256=33b7bd97dfd53177f65d72beda07549e21f8a9c4e3e950a910a715bd13b9df99,84
11
- griptape_nodes/bootstrap/register_libraries_script.py,sha256=13a8fcbe13e16be84e54a64128018289b3a95b7808af111194bfbf58479673bf,1019
12
- griptape_nodes/bootstrap/structure_config.yaml,sha256=24a15d67a951adfadb76e6d2bac76f7703a0df20c70de4f952f556857cd68f11,515
13
8
  griptape_nodes/bootstrap/workflow_executors/__init__.py,sha256=a728cdf35f9e2ed8f21021582d73ad3028b18a223da818b9c9a95df3a88cec49,34
14
- griptape_nodes/bootstrap/workflow_executors/local_workflow_executor.py,sha256=83ba718b6d187b192335cc55c3ee5d49ad08d6fa0226f21febcf4f67b1d92ed4,8738
15
- griptape_nodes/bootstrap/workflow_executors/workflow_executor.py,sha256=6c4dddcac29d54a53dda32ef50f419ab3278f5c02eb5364033ab5778da3ffe0a,355
16
- griptape_nodes/bootstrap/workflow_runners/__init__.py,sha256=565936aa7e8e025c2e96fb71bd6c1d4b1fff9e98f2d57ee70e8a57d2a9cc5499,32
17
- griptape_nodes/bootstrap/workflow_runners/bootstrap_workflow_runner.py,sha256=ddcb7996b5b4ee8c56ebebe26bfa05f7704329b89662345e6aeed3caa3e3ebeb,1247
18
- griptape_nodes/bootstrap/workflow_runners/local_workflow_runner.py,sha256=6eb637a7d2e222967fd424ca2e67c47cb12aa8e654db9fbd1698a10e983abef4,9722
19
- griptape_nodes/bootstrap/workflow_runners/subprocess_workflow_runner.py,sha256=6d1e44f13c39e48208309b0923f1568961b80f122633c6404e6103112ca607ae,2422
20
- griptape_nodes/bootstrap/workflow_runners/workflow_runner.py,sha256=7e6b421fcfdcfd576e7470320890982fe2f94c57b1c005725488d05c2d0ec065,290
9
+ griptape_nodes/bootstrap/workflow_executors/local_workflow_executor.py,sha256=c3711f000d42b3ea63558b574d327073fe8645f460337bd45cf1190a6a4113ba,8816
10
+ griptape_nodes/bootstrap/workflow_executors/subprocess_workflow_executor.py,sha256=b610be5ba3b459d1f0f0ee6a01fa104bed225d6081ae1db42626de8c7bc6c90c,3347
11
+ griptape_nodes/bootstrap/workflow_executors/workflow_executor.py,sha256=945000fb96d6cabd8a7f53324b9d2f5f549e1bb976ce66d2adbe7f932c8822ba,417
21
12
  griptape_nodes/drivers/__init__.py,sha256=b479a21509fab89c855610b63eba87811507ddddf20eca8c4295aa45ab266aa0,42
22
13
  griptape_nodes/drivers/storage/__init__.py,sha256=ffba7cbc9b776279c5eac0f7531c70dfc73e81acee3081d24be9b71bab1ad909,208
23
- griptape_nodes/drivers/storage/base_storage_driver.py,sha256=762d6da82fa8f2d11e67c87f6ac5316f92a08b1c096d39502defe552da9cba74,1050
24
- griptape_nodes/drivers/storage/griptape_cloud_storage_driver.py,sha256=cd8407cc7c651374dc3a2b72b64f56a43dd84ca4d1c9faf35be1ffbd7a604cb4,6083
25
- griptape_nodes/drivers/storage/local_storage_driver.py,sha256=be3234619a6652c7af91f5b66f8016a42f7f3961349f472cc41ef29f04d6c3f4,2291
14
+ griptape_nodes/drivers/storage/base_storage_driver.py,sha256=b28d92ca5dd048dde23ef9651124facae60e2da1a0e61e4dc28de6f08e7537e6,3734
15
+ griptape_nodes/drivers/storage/griptape_cloud_storage_driver.py,sha256=0d38b54befaec46eb18b553f10c432bb8daf11cd3b648cbe7a02c5bb4b49f3e7,7847
16
+ griptape_nodes/drivers/storage/local_storage_driver.py,sha256=3e912fb41fd35a0e5cd04e5fafe3c3fd55b57d805336c9b8045d480d65153d46,3488
26
17
  griptape_nodes/drivers/storage/storage_backend.py,sha256=dd0048c2b80f73592b04888f60ba0adacc2120f0e22899e7b9c384772c7bcb77,184
27
18
  griptape_nodes/exe_types/__init__.py,sha256=c061b02865fdf9349aad415b5e90ef754fc9ede5c86d64c197f3422ce65af86f,32
28
19
  griptape_nodes/exe_types/connections.py,sha256=ffe54dcdfe8a6b2eb6433265497f8b9474d4873f82285f940ec6d92c9d25e969,12435
29
- griptape_nodes/exe_types/core_types.py,sha256=8245927a1a41dbc905c202a5f0a36b5b831ac41dab70410f4ee3938423a0ea6b,58259
20
+ griptape_nodes/exe_types/core_types.py,sha256=9baf6fb9017a8f267229de7385ef83e52e67866f128861522b5f45f2afc581df,66028
30
21
  griptape_nodes/exe_types/flow.py,sha256=a42793af1f32ad480bc3553dc90c42edaaf3263c8fdaf6a0fa91b44132aeb7e3,5716
31
- griptape_nodes/exe_types/node_types.py,sha256=dc46f95fda6d146c86456b604730df6e92582564d49a1aca7a8e5cc35ff182ce,46312
22
+ griptape_nodes/exe_types/node_types.py,sha256=8ec1ce1879c01417db4c39353ea8223d8b1acf18b2cebbc59d228f646554cfa4,47191
32
23
  griptape_nodes/exe_types/type_validator.py,sha256=453cf5bd7d3d8f34291e1a33213309d2c88e6545efb0444386b0298dd68cd563,1120
33
24
  griptape_nodes/machines/__init__.py,sha256=bf48e4c2bf8214e2e67c461442f5fc04a40b39dbe14ac03ab685e474770f1941,30
34
- griptape_nodes/machines/control_flow.py,sha256=7ee1419e8ae49d9310e724a6448603cb3dd1995aa0e525fa3c8f38351a84d96e,9781
25
+ griptape_nodes/machines/control_flow.py,sha256=ac7e9d4555eb0aa5c30cfa182d4df542e661f24b8871113bb26962de917451d5,9843
35
26
  griptape_nodes/machines/fsm.py,sha256=83a7c5c9ea0d6c8711fe1eb732dd0bdac7233ae58984ac9942c9f170cf2960f5,2248
36
- griptape_nodes/machines/node_resolution.py,sha256=1df9911192a124b0a8daf47fe8bb0ea5f7f929389143bd4ee6236b518df5793e,20049
27
+ griptape_nodes/machines/node_resolution.py,sha256=ddd63c80a6c0ead759a1874d1f0cc835982d80563aec31879471a2a7ad60e12b,22065
37
28
  griptape_nodes/mcp_server/__init__.py,sha256=192a495aa13894809aaf286c411d6891e307db1ea3d5b04bd07571b6be7658b8,42
38
- griptape_nodes/mcp_server/server.py,sha256=891e7cc3da644f834b8e9ee567ecc464a7665b042c6a7177b93a8c1f390efe59,4809
29
+ griptape_nodes/mcp_server/server.py,sha256=c53f5ad20677ebadd1a3da5173817969aef37b7ba96d2539a8b3ce7a9fd16a0c,5058
39
30
  griptape_nodes/mcp_server/ws_request_manager.py,sha256=44c8d6cdf55eee12682afce81657687c7652cad51b8ad00737266dc942781802,10935
40
31
  griptape_nodes/node_library/__init__.py,sha256=53715c49d9aae945bbaade84dd4a773562af5049f9ff996a2febb9a9bcdfc4c4,28
41
32
  griptape_nodes/node_library/advanced_node_library.py,sha256=07565ac6e148cd0eadc7fdcc2c8c65b07b9a86d8440b51f0fede8afc1c88773b,2104
42
33
  griptape_nodes/node_library/library_registry.py,sha256=7c4d4d17ef527913cafe958f4207de0c1b0ccefc620254a13c1be2ef50c21bd4,12099
43
- griptape_nodes/node_library/workflow_registry.py,sha256=0e0161eab91e46f8b05cca94db22692a376c239be4eddbeb7d19ac42b9d42310,4247
34
+ griptape_nodes/node_library/workflow_registry.py,sha256=dc3041d2e348964fdbef898c494c04b1672ea260a480eb71ef31d9f5b59347b7,5489
44
35
  griptape_nodes/py.typed,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
45
36
  griptape_nodes/retained_mode/__init__.py,sha256=5f5d8328be8a84bb224533c896b3e3da1efafec274ab4787e2bd24310928766d,29
46
37
  griptape_nodes/retained_mode/events/__init__.py,sha256=ec1d42f9cd2356f9d286d1c9da57d7e8164f1345350e04308357b80e8ae1286d,22
47
38
  griptape_nodes/retained_mode/events/agent_events.py,sha256=c720ad47e1dfd6fbfa16dfb3d00b74cad20c60145c918ca6a71741c95657ac21,4880
48
- griptape_nodes/retained_mode/events/app_events.py,sha256=7318422afc04d9ebd1eea3a484fcf51fa38fae5287b6d2dfdaadd1f41dd137d0,8547
39
+ griptape_nodes/retained_mode/events/app_events.py,sha256=ff51eadb29e37b2af2f16949f29b2f7d848018726d466528c2aca992c17c35fb,8416
49
40
  griptape_nodes/retained_mode/events/arbitrary_python_events.py,sha256=ba17a9d5cd718d473e6103b99c84ad004e3c3d2eab1592d30d022bfd06f7c1ef,1460
50
- griptape_nodes/retained_mode/events/base_events.py,sha256=988e4550864f74e38e4d3ee3dcc36c07c36185c7d0f9a398fe5547137a8d37e8,19788
41
+ griptape_nodes/retained_mode/events/base_events.py,sha256=6294b4c4eb56060c9a4e6bb5aafa1cf83afb9da6686554f2d1b4ac7cde8d2597,20074
51
42
  griptape_nodes/retained_mode/events/config_events.py,sha256=f56845c7a983ed017f87595d1403d113f88bb6b40100512f03afccce118ea269,6129
52
43
  griptape_nodes/retained_mode/events/connection_events.py,sha256=4231c0a7449e09b4521be745fe753f08f68e712288b6ad83589fc51d6805d5be,4744
53
44
  griptape_nodes/retained_mode/events/context_events.py,sha256=f852308c8d2126874385f338045fb719347272ef34bf54e5492397df8a00f670,2122
54
45
  griptape_nodes/retained_mode/events/execution_events.py,sha256=cf545a90018942b354994e9253a7af5d295d3dd952970d20066eff4b5e49684a,9946
55
- griptape_nodes/retained_mode/events/flow_events.py,sha256=04a11fb6037aa483021692c5f7223091c968216558e85488c145f96b87dce4a5,14019
46
+ griptape_nodes/retained_mode/events/flow_events.py,sha256=084eda147bc1c98ea28b4848fbf43dba41090db1e4eb92d4791061ae31a4c5b4,14139
56
47
  griptape_nodes/retained_mode/events/generate_request_payload_schemas.py,sha256=3d0d104590140658d22068c1f1085851e4664ab7e62ec27a5d57328092a2d772,1102
57
48
  griptape_nodes/retained_mode/events/library_events.py,sha256=f4a54c1c0e556b36377d71089b7d599b2fab278dc0c4d8276b84b354f9b2f0f8,17629
58
49
  griptape_nodes/retained_mode/events/logger_events.py,sha256=8d8971ccfa26802b09b8fb49d339d60610fc4097c2f2a0b8c5f0a10e2b95bb28,705
59
- griptape_nodes/retained_mode/events/node_events.py,sha256=57d29fd06da5d94431bb79299e55aea42eef3184a1906a58acb7badafe1ef405,24526
50
+ griptape_nodes/retained_mode/events/node_events.py,sha256=69b90367737ff7fb79f7976a9ff5e438e6bc414cf0d797d9c6481ed2a5e81ac5,25587
60
51
  griptape_nodes/retained_mode/events/object_events.py,sha256=7096aa114ef72f37f5451c49ac5a84a65f1e4ebfa00e12a95cacb027ebd50894,2631
61
- griptape_nodes/retained_mode/events/os_events.py,sha256=10bf1fecfcc16e5d0e5146ef53f299fa52373974166bf01cce7dcc879bb93128,5093
52
+ griptape_nodes/retained_mode/events/os_events.py,sha256=5f49a6ca4febe6deaea5a43c7960a50fb276e40897da082c02ec4c6525bd571d,8085
62
53
  griptape_nodes/retained_mode/events/parameter_events.py,sha256=9f93c22ff4f9cf192d5f7852caaa43b1eced26b4fafd18d2f65bba0263410ead,18411
63
54
  griptape_nodes/retained_mode/events/payload_registry.py,sha256=abec3152aa7adef84d8fe3e5d491891e706485479f70202b3e830ddca0511042,1691
64
55
  griptape_nodes/retained_mode/events/secrets_events.py,sha256=52788b47e7c7ece3be71a48608f0c26587fc67476b04aaa845c8ef358ed8dc7b,4021
65
56
  griptape_nodes/retained_mode/events/static_file_events.py,sha256=73c90a92bc403d9c6b13d7ec95da56b7078ad42e13fb5f9d1d6c3fefa4917a13,3764
57
+ griptape_nodes/retained_mode/events/sync_events.py,sha256=028c4164b3cf773c784b90a23895510de6c79d06f7e3d0eae6354ef0587fb27f,2016
66
58
  griptape_nodes/retained_mode/events/validation_events.py,sha256=1f6c96a07a76b7b430195fdf0d05d1cbb2688d89cae24e92380944bd16124ff4,3062
67
- griptape_nodes/retained_mode/events/workflow_events.py,sha256=e95f33b169dff0c6c16763a2dfacda33f6bb7593b9a0e96afe22313cbfa0f099,11138
68
- griptape_nodes/retained_mode/griptape_nodes.py,sha256=6dffcdf0263e75748e12eb53f7e3c9b011e2b1a5c12c9cd7911b99b36ab0d5be,24273
59
+ griptape_nodes/retained_mode/events/workflow_events.py,sha256=4e421e23542dcfbd61d9f9fecfbffb889cb31e459398637d195c7a2a9f70a7c6,18616
60
+ griptape_nodes/retained_mode/griptape_nodes.py,sha256=daa4c44e556166ec86f881029f14b3cb2d94c3c86f061aed40ed45ac1d0f319a,24643
69
61
  griptape_nodes/retained_mode/managers/__init__.py,sha256=3935f2b0abaca980907806309d58f83db137331bc0513abdc4e653eaf504dc90,24
70
62
  griptape_nodes/retained_mode/managers/agent_manager.py,sha256=766417a01aa7a807307aa3290f5af0f1ebc4facc713706c58d4759eadc292890,11038
71
63
  griptape_nodes/retained_mode/managers/arbitrary_code_exec_manager.py,sha256=427a88dbf2240e973d487cdb6fe8f0b326249bdd56d15f642e5c404546db5542,1777
72
- griptape_nodes/retained_mode/managers/config_manager.py,sha256=d1fb3ec5deafa5eb41198aec9bab2a3c18566f4a8284c76d51cc5ca3ddaa4ea4,25344
64
+ griptape_nodes/retained_mode/managers/config_manager.py,sha256=1c9566a88bbda358fc946cb0374094c5343e110134bd82766000f44741471bb5,25402
73
65
  griptape_nodes/retained_mode/managers/context_manager.py,sha256=0e218d874f5367baec2c4717aaa07d62b87689eb41cb9f4b3c5ec6334381412f,22930
74
66
  griptape_nodes/retained_mode/managers/engine_identity_manager.py,sha256=181073ec72412553725cb191740bea0e08a131107f6235aa744c0b3029da7548,4409
75
67
  griptape_nodes/retained_mode/managers/event_manager.py,sha256=ac6a1e18ed004d977dc3c1a6d510c7a0e0c363227e5eac6218989d6228c7fd06,7201
76
- griptape_nodes/retained_mode/managers/flow_manager.py,sha256=75401ac59e6ebac24b9933282c4c204c07ff74e020330645589cdd81af6fde97,106410
68
+ griptape_nodes/retained_mode/managers/flow_manager.py,sha256=e461615747894cdcabdcc137a67278b5f331d51c598bbfb0c23316b92ac84afd,106880
77
69
  griptape_nodes/retained_mode/managers/library_lifecycle/__init__.py,sha256=22aefd5714dd113884c417c559771e26080366a4ba5f73a4cd713d5f015c955c,1340
78
70
  griptape_nodes/retained_mode/managers/library_lifecycle/data_models.py,sha256=7ef00fd1569818f1d897f2a0dd12f881d265a6ac9af144efa4ff82e3dafde749,6723
79
71
  griptape_nodes/retained_mode/managers/library_lifecycle/library_directory.py,sha256=c44e88de3196c524a452db9979bc24d00bee9083f62732c1378b4daaafcc126d,14758
@@ -86,18 +78,19 @@ griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/packa
86
78
  griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/sandbox.py,sha256=df6b23dba767b3cbaf408654c47366083b0ac975190cffcf34a89f5cf5167878,6111
87
79
  griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance.py,sha256=7021abf8c4354655418944d97a960429d5613e00b879b718ae6a6ff2b23755e3,894
88
80
  griptape_nodes/retained_mode/managers/library_lifecycle/library_status.py,sha256=2b750407301d098f70a61c816cbc4360fd10e37698be12d9fcfcfbfd2cdc3de7,443
89
- griptape_nodes/retained_mode/managers/library_manager.py,sha256=cdfbe77f09280558352bc32da5d50a43cb56f8b36998ce590b01b64ffe09cccc,98483
90
- griptape_nodes/retained_mode/managers/node_manager.py,sha256=8724bb57104babdee58694a66843631d94d39b0936228c2b5cf1a7a1379733a3,129235
81
+ griptape_nodes/retained_mode/managers/library_manager.py,sha256=6bdd63219657af539aae824c7dbfedd69b373ca6c57149c87e90f77bec5a95ec,97764
82
+ griptape_nodes/retained_mode/managers/node_manager.py,sha256=316ec12e4751796eb71d83994838c8128ec6e62cc702b32022746e5f90cef12b,133081
91
83
  griptape_nodes/retained_mode/managers/object_manager.py,sha256=1c03325b63a7adb75898ecd14aa9af6e9c8a83a78edf050493afb608ff4441cc,12243
92
- griptape_nodes/retained_mode/managers/operation_manager.py,sha256=ea71f1d5f003763ee7cade5d22b34db92911dfad97811d4031511223550217aa,19746
93
- griptape_nodes/retained_mode/managers/os_manager.py,sha256=bb902bf0063824e0734110c9aa5abd11c778a492d290140693139033da071e1b,28419
84
+ griptape_nodes/retained_mode/managers/operation_manager.py,sha256=95390c66569a71382d579a15f9817a1c6f31b31f55fcbc17d5e834ef8593b369,20137
85
+ griptape_nodes/retained_mode/managers/os_manager.py,sha256=d96eacd389f6235f94ad3277240204ddd116f488b833eaeae7aec7872a685002,33870
94
86
  griptape_nodes/retained_mode/managers/secrets_manager.py,sha256=b86963e4c00be647d2870134c919f9cb0b8870d1943fda8eabd48bb77be44e32,6219
95
87
  griptape_nodes/retained_mode/managers/session_manager.py,sha256=7cb8ed06f80663775aab5bdba493d7ab4ebd9f7e59f99af9745dc1d17c83d896,11817
96
- griptape_nodes/retained_mode/managers/settings.py,sha256=a12f930e6cfc2162012be3ac8c86d384d7e29c03b36a825b0d4486953393fe7c,4439
88
+ griptape_nodes/retained_mode/managers/settings.py,sha256=c003d01655079b0e6740ac53fbd070ff2c5db9ac5ced71ed75e85d1c386a5197,4665
97
89
  griptape_nodes/retained_mode/managers/static_files_manager.py,sha256=45b40719e26045aeed08627089fd2119531b11590781a52de05078e0c711c560,7129
90
+ griptape_nodes/retained_mode/managers/sync_manager.py,sha256=a0d59b64506b15cec70381f2a8949e5f8ae3efe35964fe1af8cb3a12a7a586b0,20623
98
91
  griptape_nodes/retained_mode/managers/version_compatibility_manager.py,sha256=4dec32a89fc377d306821a22b129ddbaa0fcc00388302a354d93ffdc0ca7cbad,4386
99
- griptape_nodes/retained_mode/managers/workflow_manager.py,sha256=65c296ee0d1b357b0fb7fdb5be5a91f303d41d97d3853af2d4439ca9c9441e45,138377
100
- griptape_nodes/retained_mode/retained_mode.py,sha256=d9c8d20f517f001a6e2fc926fe71a9027da1e538a3795efbaabd5e3c7fc15998,56272
92
+ griptape_nodes/retained_mode/managers/workflow_manager.py,sha256=dec5c05d4971b023220b13afb286f9ca090f4827a5654eabe48ed2b96f7e9592,172528
93
+ griptape_nodes/retained_mode/retained_mode.py,sha256=a3de6bae065af6f8b2924763b909d256322bb1211bf848a5634d6f1431e4eb47,57150
101
94
  griptape_nodes/retained_mode/utils/__init__.py,sha256=5b976fbfc630bd556affc7954e031ddd9fd507f0edab5b08215abcef8e501ff2,52
102
95
  griptape_nodes/retained_mode/utils/engine_identity.py,sha256=3d999d95833af7e07ee99d45e2225f672566dadc096397121a8894242323d315,7846
103
96
  griptape_nodes/retained_mode/utils/name_generator.py,sha256=2192da86d7cfdd70bbf570292dd1a867420a2949208884e9775e912bb35bc84b,2524
@@ -107,23 +100,25 @@ griptape_nodes/traits/button.py,sha256=ae9410efb012287dd825a6dce565b0f43a441d088
107
100
  griptape_nodes/traits/clamp.py,sha256=0595478967c135e3d668f31a2f23a0b5c5b390cecbb3885c3e59bf69f986888b,1030
108
101
  griptape_nodes/traits/compare.py,sha256=5fe05719e9910f1415e045fc5f6e0b76d730316c1f4358c6a83bc7d9b4a24ae7,521
109
102
  griptape_nodes/traits/compare_images.py,sha256=296d16970b093fa9c1a02d62add7919d45949d9209be544e9438725a15fc884b,1594
110
- griptape_nodes/traits/file_system_picker.py,sha256=9c0cb53335342dfa253c9ad7ac307aedba4b72fedc84123d3eb46f3936029d70,4834
103
+ griptape_nodes/traits/file_system_picker.py,sha256=a7e45a1f8c706f6168d30b85b186ec88beba5b6dca744497d10aba100b43163f,5806
111
104
  griptape_nodes/traits/minmax.py,sha256=795c92af3d3658fbe9c1b4aba96ec545399eb4d04e04ac9ff18ad7af3c8e1a79,1312
112
105
  griptape_nodes/traits/options.py,sha256=2a3ee2b30d179212358e608262e5cfeb74ddf0af2b836d67182efbba5b4d5e72,1096
113
106
  griptape_nodes/traits/slider.py,sha256=6cb7b8ea0b429a384c087686cd4b2d216309bf6665d9879eedf913ea0e10e919,1236
114
107
  griptape_nodes/traits/trait_registry.py,sha256=a54dba996db3b5fbb5500446625a1f96c4cfa89d57ffebb4d7770c3687a5f47c,1171
115
108
  griptape_nodes/traits/traits.json,sha256=c6d63b95c3337943e2ca1e3de318f82f2465e3873454114bf8b440932c2ec43e,60
116
- griptape_nodes/updater/__init__.py,sha256=192d92351049c667ce1bc38ff4ced13198eebb7f34b36f6da3d877b428aa197d,2433
109
+ griptape_nodes/updater/__init__.py,sha256=7966a54adfcde5ad113d3d9891778879efd83e208be3b381d06f46074827de96,2522
117
110
  griptape_nodes/updater/__main__.py,sha256=96130c72d6c17a78b9ef18a68adbe4c2a2754d0ce4efd260f70d2b90a8eda796,79
118
111
  griptape_nodes/utils/__init__.py,sha256=e7e36fa95bf18b0b91c76520cb37a7b8b157ca876f7c3a89fddcdcae06693ce9,33
119
112
  griptape_nodes/utils/dict_utils.py,sha256=932962e4c39fcd2a2bd1af259977d80554bf35719fe942b548cea4fd09f96ecf,6889
120
113
  griptape_nodes/utils/image_preview.py,sha256=361608aa885117dbdb16958812f64774f2cb3cafc975406f0b846f340b126b5c,4480
121
114
  griptape_nodes/utils/metaclasses.py,sha256=4522b202f669a47fe16ccba0994988afc42a3a0d6c618e2e44d7d0c9b0f83bc4,287
115
+ griptape_nodes/utils/uv_utils.py,sha256=64adfb2e669c29fc4c54a91c20ec89df91ce5e057ab05584f42ce028f99a454d,519
116
+ griptape_nodes/utils/version_utils.py,sha256=f601cb158cd089036bec69ed7466d74e524e3dfdeaf1f6692024c7a38b001646,1649
122
117
  griptape_nodes/version_compatibility/__init__.py,sha256=24ccf5b01ed9b23ea94b54b9b1db0f474927f3db35034b01d24148bf280961fa,74
123
118
  griptape_nodes/version_compatibility/versions/__init__.py,sha256=3d64b1336f0b3d47417513c0f7c8f84545afb99e0da9f5f575acb6554e92a8fc,74
124
119
  griptape_nodes/version_compatibility/versions/v0_39_0/__init__.py,sha256=db588a945a6c9815b85ac01ec520f458c0099ec62632adac21b0de602f37d5f7,62
125
120
  griptape_nodes/version_compatibility/versions/v0_39_0/modified_parameters_set_removal.py,sha256=cf885751e64d4a5909ef1c06e8744921279603b880b592ca4214e24efca14b09,5262
126
- griptape_nodes-0.43.1.dist-info/WHEEL,sha256=b70116f4076fa664af162441d2ba3754dbb4ec63e09d563bdc1e9ab023cce400,78
127
- griptape_nodes-0.43.1.dist-info/entry_points.txt,sha256=aaf7afa9ddc155b015e5371a9ed9c09b4a2ea9aa982a1b113b7a641729962d63,82
128
- griptape_nodes-0.43.1.dist-info/METADATA,sha256=072b67a66a3ddf3368f8a22b75fbf4b047fd2f498aa2cb3d62110f923cf4aca8,4947
129
- griptape_nodes-0.43.1.dist-info/RECORD,,
121
+ griptape_nodes-0.45.0.dist-info/WHEEL,sha256=b6dc288e80aa2d1b1518ddb3502fd5b53e8fd6cb507ed2a4f932e9e6088b264a,78
122
+ griptape_nodes-0.45.0.dist-info/entry_points.txt,sha256=aaf7afa9ddc155b015e5371a9ed9c09b4a2ea9aa982a1b113b7a641729962d63,82
123
+ griptape_nodes-0.45.0.dist-info/METADATA,sha256=02883754f4e387b467071d7337f9abd0e01d32faeba56bcba0dff9b87dccc765,4980
124
+ griptape_nodes-0.45.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: uv 0.8.3
2
+ Generator: uv 0.8.4
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,54 +0,0 @@
1
- import argparse
2
- import json
3
- import logging
4
-
5
- from dotenv import load_dotenv
6
-
7
- from griptape_nodes.bootstrap.workflow_runners.bootstrap_workflow_runner import BootstrapWorkflowRunner
8
-
9
- logging.basicConfig(
10
- level=logging.INFO,
11
- )
12
- logger = logging.getLogger(__name__)
13
- logger.setLevel(logging.INFO)
14
-
15
- load_dotenv()
16
-
17
-
18
- if __name__ == "__main__":
19
- parser = argparse.ArgumentParser()
20
- parser.add_argument(
21
- "-n",
22
- "--workflow-name",
23
- default=None,
24
- help="Set the Flow Name to run",
25
- )
26
- parser.add_argument(
27
- "-i",
28
- "--input",
29
- default=None,
30
- help="The input to the flow",
31
- )
32
- parser.add_argument(
33
- "-s",
34
- "--storage-backend",
35
- default="local",
36
- help="The storage backend to use",
37
- )
38
-
39
- args = parser.parse_args()
40
- workflow_name = args.workflow_name
41
- flow_input = args.input
42
- storage_backend = args.storage_backend
43
-
44
- try:
45
- flow_input = json.loads(flow_input) if flow_input else {}
46
- except Exception as e:
47
- msg = f"Error decoding JSON input: {e}"
48
- logger.info(msg)
49
- raise
50
-
51
- workflow_runner = BootstrapWorkflowRunner()
52
- workflow_runner.run(
53
- workflow_path="workflow.py", workflow_name=workflow_name, flow_input=flow_input, storage_backend=storage_backend
54
- )
@@ -1,3 +0,0 @@
1
- #!/bin/bash
2
-
3
- python register_libraries_script.py
@@ -1,4 +0,0 @@
1
- #!/bin/bash
2
-
3
- apt-get install -y curl
4
- curl -LsSf https://astral.sh/uv/install.sh | sh
@@ -1,32 +0,0 @@
1
- import logging
2
-
3
- from griptape_nodes.retained_mode.events.library_events import RegisterLibraryFromFileRequest
4
- from griptape_nodes.retained_mode.griptape_nodes import GriptapeNodes
5
-
6
- logging.basicConfig(
7
- level=logging.INFO,
8
- )
9
- logger = logging.getLogger(__name__)
10
-
11
- PATHS = ["REPLACE_LIBRARY_PATHS"]
12
-
13
-
14
- def register_libraries(library_paths: list[str]) -> None:
15
- """Register libraries from the specified paths.
16
-
17
- Args:
18
- library_paths (list[str]): A list of paths to the libraries to register.
19
- """
20
- for library_path in library_paths:
21
- msg = f"Registering library from {library_path}"
22
- logger.info(msg)
23
- register_library_request = RegisterLibraryFromFileRequest(file_path=library_path)
24
- register_library_result = GriptapeNodes.handle_request(register_library_request)
25
-
26
- if register_library_result.failed():
27
- msg = f"Failed to register library from {library_path}"
28
- raise ValueError(msg)
29
-
30
-
31
- if __name__ == "__main__":
32
- register_libraries(PATHS)
@@ -1,15 +0,0 @@
1
- version: 1.0
2
- runtime: python3
3
- runtime_version: 3.12
4
- build:
5
- pre_build_install_script: pre_build_install_script.sh
6
- post_build_install_script: post_build_install_script.sh
7
- requirements_file: requirements.txt
8
- cache_build_dependencies: # Configures caching (for faster deployments!)
9
- enabled: true # Toggles caching
10
- watched_files: # List of files that will trigger a full rebuild of the Structure
11
- - requirements.txt
12
- - structure_config.yaml
13
- run:
14
- main_file: structure.py
15
- run_as_module: true
@@ -1 +0,0 @@
1
- """Workflow runners package."""
@@ -1,28 +0,0 @@
1
- import json
2
- import os
3
-
4
- from griptape.artifacts import TextArtifact
5
- from griptape.drivers.event_listener.griptape_cloud_event_listener_driver import GriptapeCloudEventListenerDriver
6
- from griptape.events import FinishStructureRunEvent
7
- from register_libraries_script import PATHS # type: ignore[import] - This import is used in the runtime environment
8
-
9
- from griptape_nodes.bootstrap.workflow_runners.local_workflow_runner import LocalWorkflowRunner
10
-
11
-
12
- class BootstrapWorkflowRunner(LocalWorkflowRunner):
13
- def __init__(self) -> None:
14
- super().__init__(libraries=PATHS)
15
-
16
- def _submit_output(self, output: dict) -> None:
17
- if "GT_CLOUD_STRUCTURE_RUN_ID" in os.environ:
18
- kwargs: dict = {
19
- "batched": False,
20
- }
21
- if "GT_CLOUD_BASE_URL" in os.environ:
22
- base_url = os.environ["GT_CLOUD_BASE_URL"]
23
- if "http://localhost" in base_url or "http://127.0.0.1" in base_url:
24
- kwargs["headers"] = {}
25
- gtc_event_listener = GriptapeCloudEventListenerDriver(**kwargs)
26
- gtc_event_listener.try_publish_event_payload(
27
- FinishStructureRunEvent(output_task_output=TextArtifact(json.dumps(output))).to_dict()
28
- )