griptape-nodes 0.34.2__tar.gz → 0.35.0__tar.gz

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 (494) hide show
  1. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/.github/workflows/latest-release.yml +7 -4
  2. griptape_nodes-0.35.0/.github/workflows/publish.yml +74 -0
  3. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/CONTRIBUTING.md +15 -3
  4. griptape_nodes-0.35.0/Dockerfile +37 -0
  5. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/Makefile +2 -1
  6. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/PKG-INFO +1 -1
  7. griptape_nodes-0.35.0/docs/assets/img/getting_started/getting_started-blank_editor.png +0 -0
  8. griptape_nodes-0.35.0/docs/assets/img/getting_started/getting_started-installation_page.webp +0 -0
  9. griptape_nodes-0.35.0/docs/assets/img/getting_started/getting_started-installation_page_key_hint.webp +0 -0
  10. griptape_nodes-0.35.0/docs/assets/img/getting_started/getting_started-login.png +0 -0
  11. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/installation.md +26 -16
  12. griptape_nodes-0.35.0/docs/nodes/audio/load_audio.md +42 -0
  13. griptape_nodes-0.35.0/docs/nodes/audio/microphone.md +53 -0
  14. griptape_nodes-0.35.0/docs/nodes/audio/transcribe_audio.md +63 -0
  15. griptape_nodes-0.35.0/docs/nodes/text/random_text.md +77 -0
  16. griptape_nodes-0.35.0/docs/nodes/text/search_replace_text.md +174 -0
  17. griptape_nodes-0.35.0/docs/nodes/three_d/load_gltf.md +42 -0
  18. griptape_nodes-0.35.0/docs/nodes/video/display_video.md +52 -0
  19. griptape_nodes-0.35.0/docs/nodes/video/load_video.md +49 -0
  20. griptape_nodes-0.35.0/docs/nodes/video/save_video.md +56 -0
  21. griptape_nodes-0.35.0/entrypoint.sh +8 -0
  22. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/controlnet_aux_nodes_library/anyline_detector.py +5 -1
  23. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/controlnet/union_flux_control_net_pipeline.py +4 -0
  24. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/controlnet/union_pro_flux_control_net_pipeline.py +4 -0
  25. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/controlnet/union_pro_two_flux_control_net_pipeline.py +4 -0
  26. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/diptych_flux_fill_pipeline.py +3 -3
  27. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/diptych_flux_fill_pipeline_parameters.py +2 -10
  28. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/flux_fill_pipeline.py +4 -1
  29. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/flux_fill_pipeline_parameters.py +1 -9
  30. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/flux_loras_parameter.py +12 -6
  31. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/flux_pipeline.py +4 -1
  32. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/flux_pipeline_parameters.py +0 -18
  33. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/lora/flux_lora_from_file.py +11 -0
  34. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/lora/flux_lora_parameters.py +2 -2
  35. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/tiling_flux_img_2_img_pipeline.py +7 -0
  36. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/griptape_nodes_library.json +37 -37
  37. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/agents/agent.py +21 -5
  38. griptape_nodes-0.35.0/libraries/griptape_nodes_library/griptape_nodes_library/audio/transcribe_audio.py +211 -0
  39. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/griptape_cloud_prompt.py +44 -4
  40. griptape_nodes-0.35.0/libraries/griptape_nodes_library/griptape_nodes_library/dict/key_value_pair.py +67 -0
  41. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/dict/merge_key_value_pair.py +1 -1
  42. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/image/create_image.py +4 -0
  43. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/image/describe_image.py +8 -0
  44. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/image/load_image.py +21 -7
  45. griptape_nodes-0.35.0/libraries/griptape_nodes_library/griptape_nodes_library/image/paint_mask.py +229 -0
  46. griptape_nodes-0.35.0/libraries/griptape_nodes_library/griptape_nodes_library/misc/api_key_check.py +77 -0
  47. griptape_nodes-0.35.0/libraries/griptape_nodes_library/griptape_nodes_library/text/random_text.py +331 -0
  48. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/text/save_text.py +1 -1
  49. griptape_nodes-0.35.0/libraries/griptape_nodes_library/griptape_nodes_library/text/search_replace_text.py +137 -0
  50. griptape_nodes-0.35.0/libraries/griptape_nodes_library/griptape_nodes_library/three_d/__init__.py +5 -0
  51. griptape_nodes-0.35.0/libraries/griptape_nodes_library/griptape_nodes_library/three_d/gltf_artifact.py +26 -0
  52. griptape_nodes-0.35.0/libraries/griptape_nodes_library/griptape_nodes_library/three_d/library_style.json +6 -0
  53. griptape_nodes-0.35.0/libraries/griptape_nodes_library/griptape_nodes_library/three_d/load_gltf.py +70 -0
  54. griptape_nodes-0.35.0/libraries/griptape_nodes_library/griptape_nodes_library/utils/gltf_utils.py +34 -0
  55. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/utils/image_utils.py +18 -8
  56. griptape_nodes-0.35.0/libraries/griptape_nodes_library/griptape_nodes_library/utils/video_utils.py +71 -0
  57. griptape_nodes-0.35.0/libraries/griptape_nodes_library/griptape_nodes_library/video/__init__.py +1 -0
  58. griptape_nodes-0.35.0/libraries/griptape_nodes_library/griptape_nodes_library/video/display_video.py +34 -0
  59. griptape_nodes-0.35.0/libraries/griptape_nodes_library/griptape_nodes_library/video/load_video.py +32 -0
  60. griptape_nodes-0.35.0/libraries/griptape_nodes_library/griptape_nodes_library/video/save_video.py +164 -0
  61. griptape_nodes-0.35.0/libraries/griptape_nodes_library/griptape_nodes_library/video/video_url_artifact.py +5 -0
  62. {griptape_nodes-0.34.2/libraries/griptape_nodes_library/griptape_nodes_library/execution → griptape_nodes-0.35.0/libraries/griptape_nodes_library/griptape_nodes_library/workflows}/end_flow.py +1 -1
  63. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library.json +196 -106
  64. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/mkdocs.yml +15 -6
  65. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/pyproject.toml +1 -1
  66. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/__init__.py +56 -41
  67. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/app/app.py +3 -3
  68. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/bootstrap/bootstrap_script.py +5 -3
  69. griptape_nodes-0.35.0/src/griptape_nodes/drivers/__init__.py +1 -0
  70. griptape_nodes-0.35.0/src/griptape_nodes/drivers/storage/__init__.py +4 -0
  71. griptape_nodes-0.35.0/src/griptape_nodes/drivers/storage/base_storage_driver.py +38 -0
  72. griptape_nodes-0.35.0/src/griptape_nodes/drivers/storage/griptape_cloud_storage_driver.py +85 -0
  73. griptape_nodes-0.35.0/src/griptape_nodes/drivers/storage/local_storage_driver.py +49 -0
  74. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/exe_types/core_types.py +57 -1
  75. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/exe_types/flow.py +3 -1
  76. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/exe_types/node_types.py +34 -0
  77. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/machines/node_resolution.py +9 -1
  78. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/node_library/library_registry.py +2 -0
  79. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/execution_events.py +2 -0
  80. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/generate_request_payload_schemas.py +1 -1
  81. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/node_events.py +13 -16
  82. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/parameter_events.py +10 -3
  83. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/static_file_events.py +26 -0
  84. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/griptape_nodes.py +3 -1
  85. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/managers/context_manager.py +123 -87
  86. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/managers/flow_manager.py +126 -86
  87. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/managers/library_manager.py +279 -95
  88. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/managers/node_manager.py +230 -159
  89. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/managers/settings.py +6 -1
  90. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/managers/static_files_manager.py +77 -54
  91. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/managers/workflow_manager.py +51 -12
  92. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/uv.lock +1 -1
  93. griptape_nodes-0.34.2/.github/workflows/publish.yml +0 -23
  94. griptape_nodes-0.34.2/docs/assets/img/getting_started/getting_started-blank_editor.png +0 -0
  95. griptape_nodes-0.34.2/docs/assets/img/getting_started/getting_started-installation_page.webp +0 -0
  96. griptape_nodes-0.34.2/docs/assets/img/getting_started/getting_started-installation_page_key_hint.webp +0 -0
  97. griptape_nodes-0.34.2/docs/assets/img/getting_started/getting_started-login.png +0 -0
  98. griptape_nodes-0.34.2/libraries/griptape_nodes_library/griptape_nodes_library/dict/key_value_pair.py +0 -26
  99. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
  100. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  101. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/.github/actions/init-environment/action.yml +0 -0
  102. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/.github/release.yml +0 -0
  103. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/.github/workflows/code-checks.yml +0 -0
  104. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/.github/workflows/pull-request-links.yml +0 -0
  105. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/.github/workflows/stable-release.yml +0 -0
  106. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/.github/workflows/unit-tests.yml +0 -0
  107. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/.gitignore +0 -0
  108. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/.python-version +0 -0
  109. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/.readthedocs.yml +0 -0
  110. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/.vscode/launch.json +0 -0
  111. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/LICENSE +0 -0
  112. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/README.md +0 -0
  113. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/assets/css/extra.css +0 -0
  114. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/assets/img/getting_started/getting_started-installation_page_key_hint.png +0 -0
  115. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/assets/img/getting_started/getting_started-nodes_landing_page.png +0 -0
  116. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/assets/img/griptape_nodes_header_logo.svg +0 -0
  117. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/assets/img/video-thumbnail.jpg +0 -0
  118. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/configuration.md +0 -0
  119. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/faq.md +0 -0
  120. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/00_tour/FTUE_00_tour.md +0 -0
  121. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/00_tour/assets/connected.png +0 -0
  122. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/00_tour/assets/create_from_scratch.png +0 -0
  123. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/00_tour/assets/create_node_dblClick.gif +0 -0
  124. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/00_tour/assets/create_node_dragDrop.gif +0 -0
  125. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/00_tour/assets/create_node_spacebar.gif +0 -0
  126. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/00_tour/assets/create_nodes_panel.png +0 -0
  127. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/00_tour/assets/eg_prompt.png +0 -0
  128. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/00_tour/assets/landing_page.png +0 -0
  129. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/00_tour/assets/launch_link.png +0 -0
  130. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/00_tour/assets/nodes_in_workspace.png +0 -0
  131. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/00_tour/assets/run_node.png +0 -0
  132. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/00_tour/assets/workspace_interface.png +0 -0
  133. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/01_prompt_an_image/FTUE_01_prompt_an_image.md +0 -0
  134. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/01_prompt_an_image/assets/generate_image_node.png +0 -0
  135. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/01_prompt_an_image/assets/nav_bar.png +0 -0
  136. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/01_prompt_an_image/assets/node_running.gif +0 -0
  137. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/01_prompt_an_image/assets/potato_aerobics.png +0 -0
  138. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/01_prompt_an_image/assets/potato_painting.png +0 -0
  139. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/01_prompt_an_image/assets/prompt_image_example.png +0 -0
  140. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/01_prompt_an_image/assets/run_options.png +0 -0
  141. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/01_prompt_an_image/assets/text_prompt_field.png +0 -0
  142. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/01_prompt_an_image/assets/ways_to_run.png +0 -0
  143. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/02_coordinating_agents/FTUE_02_coordinating_agents.md +0 -0
  144. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/02_coordinating_agents/assets/build_your_own.png +0 -0
  145. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/02_coordinating_agents/assets/connect_your_own.png +0 -0
  146. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/02_coordinating_agents/assets/coordinating_agents_example.png +0 -0
  147. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/02_coordinating_agents/assets/exec_chain.png +0 -0
  148. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/02_coordinating_agents/assets/final_result.png +0 -0
  149. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/02_coordinating_agents/assets/mandarin.png +0 -0
  150. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/02_coordinating_agents/assets/mandarin_display.png +0 -0
  151. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/02_coordinating_agents/assets/mandarin_merge.png +0 -0
  152. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/02_coordinating_agents/assets/mandarin_to_english.png +0 -0
  153. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/02_coordinating_agents/assets/node_running.gif +0 -0
  154. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/02_coordinating_agents/assets/sibling_target.png +0 -0
  155. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/02_coordinating_agents/assets/summary_pre.png +0 -0
  156. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/02_coordinating_agents/assets/workflow_overview.png +0 -0
  157. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/02_coordinating_agents/assets/workflow_result.png +0 -0
  158. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/03_compare_prompts/FTUE_03_compare_prompts.md +0 -0
  159. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/03_compare_prompts/assets/agent_node_output.png +0 -0
  160. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/03_compare_prompts/assets/basic_image_node.png +0 -0
  161. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/03_compare_prompts/assets/bespoke_prompt_image.png +0 -0
  162. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/03_compare_prompts/assets/compare_prompts_example.png +0 -0
  163. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/03_compare_prompts/assets/compare_prompts_workflow.png +0 -0
  164. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/03_compare_prompts/assets/detailed_instructions.png +0 -0
  165. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/03_compare_prompts/assets/enhanced_prompt_image.png +0 -0
  166. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/03_compare_prompts/assets/trace_basic.png +0 -0
  167. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/03_compare_prompts/assets/trace_bespoke.png +0 -0
  168. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/03_compare_prompts/assets/trace_enhanced.png +0 -0
  169. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/04_photography_team/FTUE_04_photography_team.md +0 -0
  170. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/04_photography_team/assets/agent_tool_conversion.png +0 -0
  171. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/04_photography_team/assets/cinematographer_ruleset.png +0 -0
  172. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/04_photography_team/assets/orchestrator_setup.png +0 -0
  173. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/04_photography_team/assets/photography_team_example.png +0 -0
  174. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/04_photography_team/assets/rule_ruleset_agent_tool_chain.png +0 -0
  175. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/04_photography_team/assets/ruleset_direct_connect.png +0 -0
  176. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/04_photography_team/assets/ruleset_list.png +0 -0
  177. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/04_photography_team/assets/tool_list.png +0 -0
  178. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/04_photography_team/assets/tools_concept.png +0 -0
  179. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/04_photography_team/assets/workflow_overview.png +0 -0
  180. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/04_photography_team/assets/workflow_result.png +0 -0
  181. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/FTUE.md +0 -0
  182. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/assets/FTUE_01_prompt_an_image.png +0 -0
  183. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/assets/FTUE_02_coordinating_agents.png +0 -0
  184. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/assets/FTUE_03_compare_prompts.png +0 -0
  185. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/ftue/assets/FTUE_04_photography_team.png +0 -0
  186. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/installs/assets/huggingface_00_MainPage.png +0 -0
  187. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/installs/assets/huggingface_01_signup.png +0 -0
  188. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/installs/assets/huggingface_02_Settings.png +0 -0
  189. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/installs/assets/huggingface_03_AccessTokens.png +0 -0
  190. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/installs/assets/huggingface_04_TokenRead.png +0 -0
  191. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/installs/assets/huggingface_05_SaveToken.png +0 -0
  192. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/installs/assets/huggingface_06_gated_model.png +0 -0
  193. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/installs/assets/huggingface_07_GN_Settings.png +0 -0
  194. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/installs/assets/huggingface_08_GN_HFToken.png +0 -0
  195. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/installs/hugging_face.md +0 -0
  196. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/keys/assets/grok_00_main_page.png +0 -0
  197. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/keys/assets/grok_01_console_login.png +0 -0
  198. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/keys/assets/grok_02_signup.png +0 -0
  199. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/keys/assets/grok_03_billing.png +0 -0
  200. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/keys/assets/grok_04_key_links.png +0 -0
  201. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/keys/assets/grok_05_create_api_key_button.png +0 -0
  202. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/keys/assets/grok_06_create_api_key_page.png +0 -0
  203. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/keys/assets/grok_07_gtn_settings.png +0 -0
  204. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/keys/assets/gtn_settings_menu.png +0 -0
  205. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/keys/assets/openai_00_main_page.png +0 -0
  206. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/keys/assets/openai_01_login_api_platform.png +0 -0
  207. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/keys/assets/openai_02_dashboard.png +0 -0
  208. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/keys/assets/openai_03_api_keys.png +0 -0
  209. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/keys/assets/openai_04_create_new_secret_key_button.png +0 -0
  210. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/keys/assets/openai_05_create_new_secret_key_modal.png +0 -0
  211. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/keys/assets/openai_06_gtn_settings.png +0 -0
  212. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/keys/grok.md +0 -0
  213. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/keys/openai.md +0 -0
  214. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/making_custom_nodes.md +0 -0
  215. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/how_to/making_custom_scripts.md +0 -0
  216. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/index.md +0 -0
  217. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/advanced_media_library/flux_pipeline.md +0 -0
  218. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/advanced_media_library/pillow_resize.md +0 -0
  219. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/advanced_media_library/tiling_flux_img_2_img_pipeline.md +0 -0
  220. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/advanced_media_library/tiling_spandrel_pipeline.md +0 -0
  221. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/agents/create_agent.md +0 -0
  222. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/config/anthropic_prompt_driver.md +0 -0
  223. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/config/cohere_prompt_driver.md +0 -0
  224. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/config/griptape_cloud_image_driver.md +0 -0
  225. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/config/griptape_cloud_prompt_driver.md +0 -0
  226. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/config/grok_image_driver.md +0 -0
  227. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/config/grok_prompt_driver.md +0 -0
  228. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/config/openai_image_driver.md +0 -0
  229. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/config/openai_prompt_driver.md +0 -0
  230. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/dict/create_dict.md +0 -0
  231. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/dict/display_dict.md +0 -0
  232. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/dict/key_value_pair.md +0 -0
  233. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/dict/merge_key_value_pair.md +0 -0
  234. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/execution/end_flow.md +0 -0
  235. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/execution/reroute.md +0 -0
  236. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/execution/start_flow.md +0 -0
  237. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/image/create_image.md +0 -0
  238. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/image/describe_image.md +0 -0
  239. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/image/load_image.md +0 -0
  240. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/number/create_float.md +0 -0
  241. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/number/create_int.md +0 -0
  242. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/number/display_float.md +0 -0
  243. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/number/display_int.md +0 -0
  244. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/overview.md +0 -0
  245. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/rules/create_ruleset.md +0 -0
  246. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/rules/ruleset_list.md +0 -0
  247. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/text/create_multiline_text.md +0 -0
  248. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/text/display_text.md +0 -0
  249. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/text/load_text.md +0 -0
  250. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/text/merge_texts.md +0 -0
  251. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/text/save_text.md +0 -0
  252. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/tools/calculator_tool.md +0 -0
  253. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/tools/date_time_tool.md +0 -0
  254. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/tools/rag_tool.md +0 -0
  255. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/tools/tool_list.md +0 -0
  256. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/tools/web_scraper_tool.md +0 -0
  257. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/nodes/utils/note.md +0 -0
  258. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/reference/command_line_interface.md +0 -0
  259. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/reference/glossary.md +0 -0
  260. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/docs/reference/retained_mode.md +0 -0
  261. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/install.ps1 +0 -0
  262. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/install.sh +0 -0
  263. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/controlnet_aux_nodes_library/__init__.py +0 -0
  264. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/__init__.py +0 -0
  265. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/__init__.py +0 -0
  266. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/misc/__init__.py +0 -0
  267. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/misc/tiling_image_processor.py +0 -0
  268. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/parameters/__init__.py +0 -0
  269. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/parameters/file_path_parameter.py +0 -0
  270. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/parameters/huggingface_model_parameter.py +0 -0
  271. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/parameters/huggingface_repo_file_parameter.py +0 -0
  272. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/parameters/huggingface_repo_parameter.py +0 -0
  273. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/parameters/log_parameter.py +0 -0
  274. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/parameters/seed_parameter.py +0 -0
  275. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/utils/__init__.py +0 -0
  276. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/utils/huggingface_utils.py +0 -0
  277. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/utils/logging_utils.py +0 -0
  278. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/utils/math_utils.py +0 -0
  279. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/utils/option_utils.py +0 -0
  280. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/utils/torch_utils.py +0 -0
  281. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/utils/ui_option_utils.py +0 -0
  282. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/__init__.py +0 -0
  283. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/__init__.py +0 -0
  284. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/controlnet/__init__.py +0 -0
  285. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/controlnet/flux_control_net_parameters.py +0 -0
  286. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/controlnet/union_one_flux_control_net_model.py +0 -0
  287. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/controlnet/union_two_flux_control_net_parameters.py +0 -0
  288. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/flux_pipeline_memory_footprint.py +0 -0
  289. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/lora/__init__.py +0 -0
  290. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/lora/huggingface_flux_lora.py +0 -0
  291. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/lora/lumatales_flux_lora.py +0 -0
  292. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/lora/micro_landscape_on_phone_flux_lora.py +0 -0
  293. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/lora/miniature_world_flux_lora.py +0 -0
  294. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/lora/river_z_normal_diptych_flux_fill_lora.py +0 -0
  295. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/opencv_nodes_library/__init__.py +0 -0
  296. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/opencv_nodes_library/canny_convert_image.py +0 -0
  297. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/pillow_nodes_library/__init__.py +0 -0
  298. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/pillow_nodes_library/gaussian_blur_image.py +0 -0
  299. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/pillow_nodes_library/grayscale_convert_image.py +0 -0
  300. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/pillow_nodes_library/rescale_image.py +0 -0
  301. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/pillow_nodes_library/utils.py +0 -0
  302. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/spandrel_nodes_library/__init__.py +0 -0
  303. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/spandrel_nodes_library/tiling_span.py +0 -0
  304. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/spandrel_nodes_library/utils.py +0 -0
  305. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/transformers_nodes_library/__init__.py +0 -0
  306. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_advanced_media_library/transformers_nodes_library/depth_anything_for_depth_estimation.py +0 -0
  307. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/.python-version +0 -0
  308. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/__init__.py +0 -0
  309. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/agents/__init__.py +0 -0
  310. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/agents/griptape_nodes_agent.py +0 -0
  311. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/agents/library_style.json +0 -0
  312. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/audio/__init__.py +0 -0
  313. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/audio/audio_url_artifact.py +0 -0
  314. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/audio/library_style.json +0 -0
  315. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/audio/load_audio.py +0 -0
  316. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/audio/microphone.py +0 -0
  317. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/__init__.py +0 -0
  318. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/base_driver.py +0 -0
  319. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/image/__init__.py +0 -0
  320. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/image/base_image_driver.py +0 -0
  321. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/image/griptape_cloud_image_driver.py +0 -0
  322. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/image/grok_image_driver.py +0 -0
  323. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/image/library_style.json +0 -0
  324. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/image/openai_image_driver.py +0 -0
  325. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/library_style.json +0 -0
  326. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/__init__.py +0 -0
  327. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/amazon_bedrock_prompt.py +0 -0
  328. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/anthropic_prompt.py +0 -0
  329. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/base_prompt.py +0 -0
  330. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/cohere_prompt.py +0 -0
  331. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/grok_prompt.py +0 -0
  332. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/library_style.json +0 -0
  333. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/ollama_prompt_driver.py +0 -0
  334. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/openai_prompt.py +0 -0
  335. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/web_search/__init__.py +0 -0
  336. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/web_search/web_search_drivers.py +0 -0
  337. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/convert/__init__.py +0 -0
  338. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/convert/agent_to_tool.py +0 -0
  339. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/convert/library_style.json +0 -0
  340. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/convert/to_bool.py +0 -0
  341. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/convert/to_dict.py +0 -0
  342. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/convert/to_float.py +0 -0
  343. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/convert/to_int.py +0 -0
  344. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/convert/to_text.py +0 -0
  345. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/dict/__init__.py +0 -0
  346. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/dict/create_dict.py +0 -0
  347. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/dict/display_dict.py +0 -0
  348. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/dict/library_style.json +0 -0
  349. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/dict/load_dict.py +0 -0
  350. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/dict/merge_dict.py +0 -0
  351. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/dict/save_dict.py +0 -0
  352. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/execution/__init__.py +0 -0
  353. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/execution/compare_numbers.py +0 -0
  354. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/execution/compare_strings.py +0 -0
  355. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/execution/if_else.py +0 -0
  356. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/execution/library_style.json +0 -0
  357. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/execution/reroute.py +0 -0
  358. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/execution/select_output.py +0 -0
  359. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/image/__init__.py +0 -0
  360. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/image/compare_images.py +0 -0
  361. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/image/display_image.py +0 -0
  362. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/image/library_style.json +0 -0
  363. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/image/save_image.py +0 -0
  364. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/image/webcam.py +0 -0
  365. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/misc/__init__.py +0 -0
  366. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/note.py +0 -0
  367. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/number/__init__.py +0 -0
  368. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/number/create_float.py +0 -0
  369. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/number/create_int.py +0 -0
  370. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/number/display_float.py +0 -0
  371. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/number/display_int.py +0 -0
  372. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/number/library_style.json +0 -0
  373. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/rules/__init__.py +0 -0
  374. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/rules/create_ruleset.py +0 -0
  375. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/rules/library_style.json +0 -0
  376. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/rules/ruleset_list.py +0 -0
  377. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/text/__init__.py +0 -0
  378. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/text/create_multiline_text.py +0 -0
  379. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/text/display_text.py +0 -0
  380. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/text/library_style.json +0 -0
  381. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/text/list_texts.py +0 -0
  382. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/text/load_text.py +0 -0
  383. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/text/merge_texts.py +0 -0
  384. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/__init__.py +0 -0
  385. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/audio_transcription_tool.py +0 -0
  386. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/base_tool.py +0 -0
  387. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/calculator_tool.py +0 -0
  388. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/date_time_tool.py +0 -0
  389. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/extraction_tool.py +0 -0
  390. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/file_manager_tool.py +0 -0
  391. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/library_style.json +0 -0
  392. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/prompt_summary_tool.py +0 -0
  393. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/rag_tool.py +0 -0
  394. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/tool_list.py +0 -0
  395. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/vector_store_tool.py +0 -0
  396. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/web_scraper_tool.py +0 -0
  397. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/web_search_tool.py +0 -0
  398. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/utils/__init__.py +0 -0
  399. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/utils/anthropic_utils.py +0 -0
  400. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/utils/audio_utils.py +0 -0
  401. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/utils/error_utils.py +0 -0
  402. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/utils/library_style.json +0 -0
  403. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/utils/utilities.py +0 -0
  404. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/workflows/__init__.py +0 -0
  405. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/workflows/library_style.json +0 -0
  406. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/griptape_nodes_library/workflows/published_workflow.py +0 -0
  407. {griptape_nodes-0.34.2/libraries/griptape_nodes_library/griptape_nodes_library/execution → griptape_nodes-0.35.0/libraries/griptape_nodes_library/griptape_nodes_library/workflows}/start_flow.py +0 -0
  408. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/tests/__init__.py +0 -0
  409. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/tests/integration/__init__.py +0 -0
  410. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/tests/unit/__init__.py +0 -0
  411. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/tests/unit/drivers/__init__.py +0 -0
  412. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/tests/unit/drivers/test_griptape_cloud_image_generation_driver.py +0 -0
  413. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/workflows/__init__.py +0 -0
  414. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/workflows/templates/__init__.py +0 -0
  415. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/workflows/templates/compare_prompts.py +0 -0
  416. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/workflows/templates/coordinating_agents.py +0 -0
  417. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/workflows/templates/photography_team.py +0 -0
  418. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/workflows/templates/prompt_an_image.py +0 -0
  419. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/workflows/templates/thumbnail_compare_prompts.webp +0 -0
  420. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/workflows/templates/thumbnail_coordinating_agents.webp +0 -0
  421. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/workflows/templates/thumbnail_photography_team.webp +0 -0
  422. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/libraries/griptape_nodes_library/workflows/templates/thumbnail_prompt_an_image.webp +0 -0
  423. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/__init__.py +0 -0
  424. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/app/.python-version +0 -0
  425. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/app/__init__.py +0 -0
  426. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/app/nodes_api_socket_manager.py +0 -0
  427. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/app/watch.py +0 -0
  428. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/bootstrap/__init__.py +0 -0
  429. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/bootstrap/post_build_install_script.sh +0 -0
  430. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/bootstrap/pre_build_install_script.sh +0 -0
  431. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/bootstrap/register_libraries_script.py +0 -0
  432. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/bootstrap/structure_config.yaml +0 -0
  433. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/exe_types/__init__.py +0 -0
  434. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/exe_types/connections.py +0 -0
  435. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/exe_types/type_validator.py +0 -0
  436. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/machines/__init__.py +0 -0
  437. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/machines/control_flow.py +0 -0
  438. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/machines/fsm.py +0 -0
  439. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/node_library/__init__.py +0 -0
  440. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/node_library/workflow_registry.py +0 -0
  441. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/py.typed +0 -0
  442. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/__init__.py +0 -0
  443. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/__init__.py +0 -0
  444. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/app_events.py +0 -0
  445. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/arbitrary_python_events.py +0 -0
  446. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/base_events.py +0 -0
  447. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/config_events.py +0 -0
  448. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/connection_events.py +0 -0
  449. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/context_events.py +0 -0
  450. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/flow_events.py +0 -0
  451. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/library_events.py +0 -0
  452. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/logger_events.py +0 -0
  453. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/object_events.py +0 -0
  454. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/os_events.py +0 -0
  455. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/payload_registry.py +0 -0
  456. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/secrets_events.py +0 -0
  457. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/validation_events.py +0 -0
  458. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/events/workflow_events.py +0 -0
  459. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/managers/__init__.py +0 -0
  460. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/managers/arbitrary_code_exec_manager.py +0 -0
  461. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/managers/config_manager.py +0 -0
  462. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/managers/event_manager.py +0 -0
  463. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/managers/object_manager.py +0 -0
  464. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/managers/operation_manager.py +0 -0
  465. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/managers/os_manager.py +0 -0
  466. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/managers/secrets_manager.py +0 -0
  467. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/retained_mode/retained_mode.py +0 -0
  468. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/traits/__init__.py +0 -0
  469. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/traits/add_param_button.py +0 -0
  470. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/traits/button.py +0 -0
  471. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/traits/clamp.py +0 -0
  472. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/traits/compare.py +0 -0
  473. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/traits/compare_images.py +0 -0
  474. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/traits/minmax.py +0 -0
  475. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/traits/options.py +0 -0
  476. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/traits/slider.py +0 -0
  477. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/traits/trait_registry.py +0 -0
  478. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/traits/traits.json +0 -0
  479. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/updater/__init__.py +0 -0
  480. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/updater/__main__.py +0 -0
  481. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/utils/__init__.py +0 -0
  482. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/utils/dict_utils.py +0 -0
  483. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/src/griptape_nodes/utils/metaclasses.py +0 -0
  484. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/tests/__init__.py +0 -0
  485. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/tests/integration/__init__.py +0 -0
  486. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/tests/integration/conftest.py +0 -0
  487. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/tests/integration/retained_mode/__init__.py +0 -0
  488. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/tests/integration/retained_mode/events/__init__.py +0 -0
  489. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/tests/integration/retained_mode/events/test_config_events.py +0 -0
  490. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/tests/integration/retained_mode/events/test_node_events.py +0 -0
  491. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/tests/integration/retained_mode/events/test_secret_events.py +0 -0
  492. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/tests/unit/__init__.py +0 -0
  493. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/tests/unit/exe_types/__init__.py +0 -0
  494. {griptape_nodes-0.34.2 → griptape_nodes-0.35.0}/tests/unit/exe_types/test_core_types.py +0 -0
@@ -1,15 +1,11 @@
1
1
  name: Create Latest Release
2
-
3
2
  on:
4
3
  schedule:
5
4
  - cron: 20 17 * * * # 10:20 AM PT
6
5
  - cron: 20 22 * * * # 3:20 PM PT
7
6
  workflow_dispatch: # allows manual triggering too
8
-
9
-
10
7
  permissions:
11
8
  contents: write
12
-
13
9
  jobs:
14
10
  release:
15
11
  name: Create release
@@ -19,6 +15,13 @@ jobs:
19
15
  uses: actions/checkout@v4
20
16
  - name: Init environment
21
17
  uses: ./.github/actions/init-environment
18
+ - name: Delete existing release
19
+ env:
20
+ GITHUB_TOKEN: ${{ secrets.RELEASE_PAT }}
21
+ run: |
22
+ # Delete the release if it exists (ignore errors if it doesn't exist)
23
+ gh release delete latest --yes || true
24
+ continue-on-error: true
22
25
  - name: Create latest tag
23
26
  env:
24
27
  GITHUB_TOKEN: ${{ secrets.RELEASE_PAT }}
@@ -0,0 +1,74 @@
1
+ # Adapted from https://docs.github.com/en/actions/use-cases-and-examples/publishing-packages/publishing-docker-images#publishing-images-to-docker-hub-and-github-packages
2
+ name: Publish
3
+
4
+ on:
5
+ release:
6
+ types: [published]
7
+
8
+ jobs:
9
+ publish-pypi:
10
+ runs-on: ubuntu-latest
11
+ if: github.event.release.prerelease == false
12
+ strategy:
13
+ fail-fast: false
14
+ matrix:
15
+ python-version: ["3.9"]
16
+ steps:
17
+ - name: Checkout actions
18
+ uses: actions/checkout@v4
19
+ - name: Init environment
20
+ uses: ./.github/actions/init-environment
21
+ - name: uv Build
22
+ run: uv build
23
+ - name: uv Publish
24
+ run: uv publish --token ${{ secrets.PYPI_TOKEN }}
25
+
26
+
27
+ push_to_registries:
28
+ name: Push Docker image to multiple registries
29
+ runs-on: ubuntu-latest
30
+ permissions:
31
+ packages: write
32
+ contents: read
33
+ attestations: write
34
+ id-token: write
35
+ steps:
36
+ - name: Check out the repo
37
+ uses: actions/checkout@v4
38
+
39
+ - name: Log in to Docker Hub
40
+ uses: docker/login-action@v3
41
+ with:
42
+ username: ${{ secrets.DOCKER_USERNAME }}
43
+ password: ${{ secrets.DOCKER_PASSWORD }}
44
+
45
+ - name: Log in to the Container registry
46
+ uses: docker/login-action@v3
47
+ with:
48
+ registry: ghcr.io
49
+ username: ${{ github.actor }}
50
+ password: ${{ secrets.GITHUB_TOKEN }}
51
+
52
+ - name: Extract metadata (tags, labels) for Docker
53
+ id: meta
54
+ uses: docker/metadata-action@v5
55
+ with:
56
+ images: |
57
+ griptape/griptape-nodes
58
+ ghcr.io/${{ github.repository }}
59
+
60
+ - name: Build and push Docker images
61
+ id: push
62
+ uses: docker/build-push-action@v6
63
+ with:
64
+ context: .
65
+ push: true
66
+ tags: ${{ steps.meta.outputs.tags }}
67
+ labels: ${{ steps.meta.outputs.labels }}
68
+
69
+ - name: Generate artifact attestation
70
+ uses: actions/attest-build-provenance@v2
71
+ with:
72
+ subject-name: ghcr.io/${{ github.repository }}
73
+ subject-digest: ${{ steps.push.outputs.digest }}
74
+ push-to-registry: true
@@ -174,17 +174,29 @@ Griptape Nodes uses a variety of environment variables for influencing its low-l
174
174
 
175
175
  The documentation website ([docs.griptapenodes.com](https://docs.griptapenodes.com)) is built using MkDocs with the Material theme.
176
176
 
177
- 1. **Setup:** Ensure you've installed dependencies using `uv sync -p --all-extras` (this includes the `docs` group).
177
+ 1. **Setup:** Ensure you've installed dependencies using `make install`.
178
178
 
179
179
  1. **Source Files:** Documentation source files are located in the `/docs` directory in Markdown format. The site structure is defined in `mkdocs.yml` in the project root.
180
180
 
181
- 1. **Serving Locally:** To preview your changes live, run the MkDocs development server:
181
+ 1. **Serving Locally:** To preview your changes live, first ensure that you have run:
182
+
183
+ ```shell
184
+ make install
185
+ ```
186
+
187
+ Then run the MkDocs development server:
182
188
 
183
189
  ```shell
184
190
  uv run mkdocs serve
185
191
  ```
186
192
 
187
- This will start a local webserver (usually at `http://127.0.0.1:8000/`). The site will automatically reload when you save changes to the documentation files or `mkdocs.yml`.
193
+ Or use the Makefile shortcut:
194
+
195
+ ```shell
196
+ make docs/serve
197
+ ```
198
+
199
+ This will start a local webserver (usually at `http://127.0.0.1:8000/`). The site will automatically reload when you save changes to the documentation files or `mkdocs.yml`.
188
200
 
189
201
  1. **Making Changes:** Edit the Markdown files in the `/docs` directory. Add new pages by creating new `.md` files and updating the `nav` section in `mkdocs.yml`.
190
202
 
@@ -0,0 +1,37 @@
1
+ FROM python:3.12-slim AS builder
2
+ COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
3
+
4
+ WORKDIR /griptape-nodes
5
+
6
+ # Install dependencies
7
+ RUN --mount=type=cache,target=/root/.cache/uv \
8
+ --mount=type=bind,source=uv.lock,target=uv.lock \
9
+ --mount=type=bind,source=pyproject.toml,target=pyproject.toml \
10
+ uv sync --locked --no-install-project --no-editable
11
+
12
+ COPY pyproject.toml pyproject.toml
13
+ COPY uv.lock uv.lock
14
+ COPY README.md README.md
15
+ COPY src src
16
+ COPY libraries libraries
17
+
18
+ # Sync the project
19
+ RUN --mount=type=cache,target=/root/.cache/uv \
20
+ uv sync --locked --no-editable
21
+
22
+ FROM python:3.12-slim
23
+
24
+ # Copy the environment, but not the source code
25
+ COPY --from=builder --chown=griptape-nodes:griptape-nodes /griptape-nodes/.venv /griptape-nodes/.venv
26
+
27
+ LABEL org.opencontainers.image.source="https://github.com/griptape-ai/griptape-nodes"
28
+ LABEL org.opencontainers.image.description="Griptape Nodes."
29
+ LABEL org.opencontainers.image.licenses="Apache-2.0"
30
+
31
+ COPY entrypoint.sh /entrypoint.sh
32
+ RUN chmod +x /entrypoint.sh
33
+
34
+ EXPOSE 8124
35
+
36
+ ENTRYPOINT ["/entrypoint.sh"]
37
+ CMD ["/griptape-nodes/.venv/bin/griptape-nodes", "--no-update"]
@@ -34,7 +34,8 @@ version/publish: ## Create and push git tags.
34
34
  @git tag v$$(make version/get)
35
35
  @git tag stable -f
36
36
  @git push -f --tags
37
- @git push
37
+ # Push to a release branch (e.g. release/v0.34).
38
+ @git push -u origin release/v$$(make version/get | awk -F. '{print $$1 "." $$2}')
38
39
 
39
40
  .PHONY: run
40
41
  run: ## Run the project.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: griptape-nodes
3
- Version: 0.34.2
3
+ Version: 0.35.0
4
4
  Summary: Add your description here
5
5
  License-File: LICENSE
6
6
  Requires-Python: ~=3.12
@@ -1,15 +1,19 @@
1
1
  # Installing Griptape Nodes
2
2
 
3
- An important bit of overview before we begin: Griptape Nodes is actually two things that work together - an Engine and an Editor. The Engine will install and run on your computer, while the Editor is served from the web, and you'll interact with your Engine through a web browser.
3
+ Griptape Nodes is comprised of two components - an Editor and an Engine. The Editor is served from the web, so there is no need to install that, and you'll interact with your Engine through the Editor in your web browser.
4
4
 
5
- > - If you'd rather not install the Engine locally, it is also easy to run it in a hosted environment. The instructions that follow will work the same for either approach.
5
+ The Engine can be installed on your local machine, whether that runs MacOS, Windows or Linux.
6
6
 
7
- > - There is no locally-hosted Editor option
7
+ If you'd rather not install the Engine locally, perhaps because you want it to be able to access more resources than you have available on your laptop, it is easy to run it in on a separate machine. The instructions that follow will work the same for either approach.
8
8
 
9
- There are just 4 easy steps:
9
+ The Editor and the Engine are decoupled and communicate with each other through an event service. There is no locally-hosted Editor option
10
+
11
+ #### Summary
12
+
13
+ There are just 4 steps required to install Griptape Nodes:
10
14
 
11
15
  1. Sign up or Log in
12
- 1. Install Your Engine
16
+ 1. Install the Griptape Nodes Engine
13
17
  1. Configuration
14
18
  1. Start Your Engine
15
19
 
@@ -27,21 +31,27 @@ You'll be presented with a Griptape account authorization form.
27
31
 
28
32
  Once you've logged in, you'll be presented with a setup screen which walks you through installing the Engine.
29
33
 
30
- ## 2. Install Your Engine
34
+ ## 2. Install the Griptape Nodes Engine
35
+
36
+ !!! info
31
37
 
32
- 1. On the **New Installation** tab, copy the installation command from the first step: **Iinstall Griptape nodes Engine** (it's the bit that starts with `curl`).
38
+ You can install the Griptape Nodes Engine on your local machine *or* on a separate machine. That could be a cloud based machine equipped with a powerful GPU, or a similar high performance machine on the network in your studio.
33
39
 
34
- 1. Open a Terminal on your machine
40
+ 1. If it's not already the active tab, select the **New Installation** tab.
35
41
 
36
- 1. Paste and run the command.
42
+ 1. On the **New Installation** tab, copy the installation command from the first step: **Install Griptape nodes Engine**.
37
43
 
38
- !!! info
44
+ 1. Open a Terminal on the machine where you wish to install the engine
39
45
 
40
- You can install this on your local machine *or* a cloud-based workstation.
46
+ 1. Paste and run the appropriate installation command for your operating system
41
47
 
42
48
  ![Installation Page](assets/img/getting_started/getting_started-installation_page.webp)
43
49
 
44
- You'll see this message when installation has completed:
50
+ !!! info
51
+
52
+ In most cases, the browser will automatically detect the platform that you are using and show the correct installation command for your system. If this is not the case - for example if you want to install the engine on a system using a different operating system from your local machine - select the target operating system from the dropdown on the right. The available operations are macOS, Windows & Linux.
53
+
54
+ Once installation is complete, you'll see this message appear in the terminal where you entered the installation command:
45
55
 
46
56
  ```
47
57
  **************************************
@@ -55,7 +65,7 @@ You'll see this message when installation has completed:
55
65
 
56
66
  You'll notice this message gives you two options for commands to run. As previously mentioned, there is no difference between running `griptape-nodes` or `gtn`. They both do the exact same thing.
57
67
 
58
- *After* typing and running `griptape-nodes` or `gtn` in the terminal *for the first time*, you will be asked a series of configuration questions.
68
+ After typing and running `griptape-nodes` or `gtn` in the terminal *for the first time*, you will be asked a series of configuration questions.
59
69
 
60
70
  ## 3. Configuration
61
71
 
@@ -85,9 +95,9 @@ Pressing Enter will use the default: `<current_working_directory>/GriptapeNodes`
85
95
 
86
96
  1. Click the *Generate API Key* button.
87
97
 
88
- 1. Copy that key and enter it in the next step.
98
+ 1. Copy the key that is generated and enter it in the next step. Note that the API key will not be saved.
89
99
 
90
- ![Installation Page wKey hint](assets/img/getting_started/getting_started-installation_page_key_hint.webp)
100
+ ![Installation Page Key hint](assets/img/getting_started/getting_started-installation_page_key_hint.webp)
91
101
 
92
102
  ```
93
103
  Workspace directory set to: /Users/user/Documents/local-dev/nodes-test-eng/GriptapeNodes
@@ -108,7 +118,7 @@ Griptape API Key (YOUR-KEY-HERE):
108
118
 
109
119
  ## 4. Start Your Engine
110
120
 
111
- You're ready to proceed. Run `griptape-nodes` or `gtn` and return to your browser. Your browser tab at https://nodes.griptape.ai will be updated to an untitled workflow in Griptape Nodes!
121
+ Your installation is now complete and you're ready to proceed to creating your first Workflow or trying out one of the sample workflows. To get started, return to your terminal and run `griptape-nodes` or `gtn`, then return to your browser. Your browser tab at [https://nodes.griptape.ai](https://nodes.griptape.ai) will update to show *Create from scratch*, allowing you to start from a blank canvas, together with several sample Griptape Nodes workflows that you can experiment with!
112
122
 
113
123
  ![A Blank Griptape_nodes_ editor](assets/img/getting_started/getting_started-blank_editor.png)
114
124
 
@@ -0,0 +1,42 @@
1
+ # LoadAudio
2
+
3
+ ## What is it?
4
+
5
+ The LoadAudio node is a simple building block that lets you bring an audio file into your workflow. Think of it as picking up an audio recording so you can use it in your project.
6
+
7
+ ## When would I use it?
8
+
9
+ Use this node when you want to:
10
+
11
+ - Use an audio file that was created by another node
12
+ - Pass an audio file to other nodes in your workflow
13
+ - Process an audio file as part of your project
14
+
15
+ ## How to use it
16
+
17
+ ### Basic Setup
18
+
19
+ 1. Add the LoadAudio node to your workflow
20
+ 1. Connect it to a source of audio (like the Transcribe Audio node)
21
+
22
+ ### Parameters
23
+
24
+ - **audio**: The audio to load (this can be connected to an output from another node)
25
+
26
+ ### Outputs
27
+
28
+ - **audio**: The loaded audio that can be used by other nodes in your flow
29
+
30
+ ## Example
31
+
32
+ Imagine you've recorded some audio and have it saved on your computer, and you'd like to use it elsewhere:
33
+
34
+ 1. Create a LoadAudio node
35
+ 1. Click on the load audio button, and choose your audio file from disk
36
+ 1. The LoadAudio will make the audio available to use in the rest of your workflow
37
+
38
+ ## Important Notes
39
+
40
+ - The LoadAudio simply passes the audio through - it doesn't change the audio itself
41
+ - You can click the file browser icon to select an audio file from your computer
42
+ - The audio can be played by clicking the play button
@@ -0,0 +1,53 @@
1
+ # Microphone
2
+
3
+ ## What is it?
4
+
5
+ The Microphone node allows you to capture audio directly from your computer's microphone. It's a simple way to record audio input that can be used in your workflow.
6
+
7
+ ## When would I use it?
8
+
9
+ Use this node when you want to:
10
+
11
+ - Record audio directly from your microphone
12
+ - Capture voice input for transcription
13
+ - Create audio recordings as part of your workflow
14
+ - Provide real-time audio input to other nodes
15
+
16
+ ## How to use it
17
+
18
+ ### Basic Setup
19
+
20
+ 1. Add the Microphone node to your workflow
21
+ 1. Click the microphone icon to start recording
22
+ 1. Speak or provide audio input
23
+ 1. Stop recording when finished
24
+
25
+ ### Parameters
26
+
27
+ - **audio**: The captured audio output (AudioArtifact)
28
+
29
+ ### Outputs
30
+
31
+ - **audio**: The recorded audio that can be used by other nodes in your flow
32
+
33
+ ## Example
34
+
35
+ A simple workflow to record and transcribe audio:
36
+
37
+ 1. Add a Microphone node to your workflow
38
+ 1. Record your audio input
39
+ 1. Connect the "audio" output to a TranscribeAudio node
40
+ 1. The transcription will be available in the TranscribeAudio node's output
41
+
42
+ ## Important Notes
43
+
44
+ - The node requires microphone permissions in your browser
45
+ - Audio is captured in real-time
46
+ - The quality of the recording depends on your microphone and system settings
47
+ - The node supports various audio formats through the AudioArtifact interface
48
+
49
+ ## Common Issues
50
+
51
+ - **No Microphone Access**: Ensure your browser has permission to access your microphone
52
+ - **Poor Audio Quality**: Check your microphone settings and system audio configuration
53
+ - **Recording Not Starting**: Make sure no other application is using the microphone
@@ -0,0 +1,63 @@
1
+ # TranscribeAudio
2
+
3
+ ## What is it?
4
+
5
+ The TranscribeAudio node uses OpenAI's models to convert audio into text. It supports multiple transcription models and can work with both direct model configuration and agent-based transcription.
6
+
7
+ ## When would I use it?
8
+
9
+ Use this node when you want to:
10
+
11
+ - Convert speech to text
12
+ - Transcribe audio recordings
13
+ - Extract text from audio files
14
+ - Process voice input into written form
15
+ - Create transcripts of audio content
16
+
17
+ ## How to use it
18
+
19
+ ### Basic Setup
20
+
21
+ 1. Add the TranscribeAudio node to your workflow
22
+ 1. Connect an audio source to the "audio" input
23
+ 1. Choose a transcription model or connect an agent
24
+ 1. Run the node to generate the transcription
25
+
26
+ ### Parameters
27
+
28
+ - **agent**: An optional existing agent configuration to use for transcription
29
+ - **model**: The transcription model to use (defaults to "gpt-4o-mini-transcribe")
30
+ - **audio**: The audio file to transcribe (required)
31
+ - **output**: The transcribed text output
32
+
33
+ ### Outputs
34
+
35
+ - **output**: The transcribed text from the audio
36
+ - **agent**: The agent object used for transcription, which can be connected to other nodes
37
+
38
+ ## Example
39
+
40
+ A complete workflow for recording and transcribing audio:
41
+
42
+ 1. Add a Microphone node to capture audio
43
+ 1. Connect the Microphone's "audio" output to the TranscribeAudio node's "audio" input
44
+ 1. Select your preferred transcription model
45
+ 1. Run the workflow
46
+ 1. The transcribed text will be available in the "output" parameter
47
+
48
+ ## Important Notes
49
+
50
+ - The node requires a valid OpenAI API key set up in your environment as `OPENAI_API_KEY`
51
+ - Available models include:
52
+ - gpt-4o-mini-transcribe
53
+ - gpt-4o-transcribe
54
+ - whisper-1
55
+ - You can provide your own agent configuration for more customized behavior
56
+ - The quality of transcription depends on the audio quality and the selected model
57
+
58
+ ## Common Issues
59
+
60
+ - **Missing API Key**: Ensure your OpenAI API key is properly set up as the environment variable
61
+ - **No Audio Provided**: Make sure you've connected a valid audio source to the "audio" input
62
+ - **Poor Transcription Quality**: Try using a different model or improving the audio quality
63
+ - **Processing Errors**: Very long audio files or poor audio quality might result in less accurate transcriptions
@@ -0,0 +1,77 @@
1
+ # Random Text
2
+
3
+ The Random Text node allows you to select random content from input text or generate random content when no input is provided. It supports selecting random characters, words, sentences, or paragraphs.
4
+
5
+ ## Parameters
6
+
7
+ ### Input Text
8
+
9
+ - **Type**: String
10
+ - **Mode**: Input/Property
11
+ - **Description**: The text to select random content from. If empty, the node will generate random content based on the selection type.
12
+ - **UI Options**: Multiline enabled
13
+
14
+ ### Seed
15
+
16
+ - **Type**: Integer
17
+ - **Mode**: Property
18
+ - **Description**: A seed value (0-10,000) for reproducible random selection. Using the same seed will produce the same random selection.
19
+ - **UI Options**: Slider with range 0-10,000
20
+
21
+ ### Selection Type
22
+
23
+ - **Type**: String
24
+
25
+ - **Mode**: Property
26
+
27
+ - **Description**: The type of content to select or generate:
28
+
29
+ - `character`: Selects a random character
30
+ - `word`: Selects a random word
31
+ - `sentence`: Selects a random sentence or generates a new one
32
+ - `paragraph`: Selects a random paragraph or generates a new one
33
+
34
+ ### Output
35
+
36
+ - **Type**: String
37
+ - **Mode**: Output
38
+ - **Description**: The randomly selected or generated content
39
+ - **UI Options**: Multiline enabled
40
+
41
+ ## Behavior
42
+
43
+ - When input text is provided:
44
+
45
+ - The node selects random content from the input based on the selection type
46
+ - For sentences and paragraphs, it splits the input on appropriate delimiters
47
+ - If no matching content is found, it falls back to generating new content
48
+
49
+ - When no input text is provided:
50
+
51
+ - For characters: Generates a random character from letters, digits, and punctuation
52
+ - For words: Generates a random English word
53
+ - For sentences: Uses an AI agent to generate a natural-sounding sentence
54
+ - For paragraphs: Uses an AI agent to generate a coherent paragraph
55
+
56
+ ## Examples
57
+
58
+ ### Selecting Random Content
59
+
60
+ ```python
61
+ # Input text: "Hello world! This is a test. How are you today?"
62
+ # Selection type: word
63
+ # Output: "world" (randomly selected word)
64
+ ```
65
+
66
+ ### Generating Random Content
67
+
68
+ ```python
69
+ # Input text: "" (empty)
70
+ # Selection type: sentence
71
+ # Output: "The quick brown fox jumps over the lazy dog." (AI-generated sentence)
72
+ ```
73
+
74
+ ## Notes
75
+
76
+ - The seed parameter ensures reproducible results when using the same value
77
+ - The node will show a loading message while generating content with the AI agent