griptape-nodes 0.36.2__tar.gz → 0.37.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.
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/.github/workflows/publish.yml +43 -12
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/.gitignore +1 -0
- griptape_nodes-0.37.0/Dockerfile +234 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/PKG-INFO +3 -2
- griptape_nodes-0.37.0/docs/nodes/text/date_and_time.md +43 -0
- griptape_nodes-0.37.0/docs/nodes/text/evaluate_text_result.md +80 -0
- griptape_nodes-0.37.0/docs/nodes/text/scrape_web.md +42 -0
- griptape_nodes-0.37.0/docs/nodes/text/search_web.md +44 -0
- griptape_nodes-0.37.0/docs/nodes/text/summarize_text.md +42 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/tools/calculator_tool.md +5 -5
- griptape_nodes-0.37.0/docs/nodes/tools/date_time_tool.md +37 -0
- griptape_nodes-0.37.0/docs/nodes/tools/file_manager_tool.md +38 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/tools/web_scraper_tool.md +16 -19
- griptape_nodes-0.37.0/docs/nodes/tools/web_search_tool.md +53 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/entrypoint.sh +1 -1
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/griptape_nodes_library.json +3 -4
- griptape_nodes-0.37.0/libraries/griptape_nodes_library/griptape_nodes_library/execution/for_each_end.py +104 -0
- griptape_nodes-0.37.0/libraries/griptape_nodes_library/griptape_nodes_library/execution/for_each_start.py +138 -0
- griptape_nodes-0.37.0/libraries/griptape_nodes_library/griptape_nodes_library/image/merge_images.py +171 -0
- griptape_nodes-0.37.0/libraries/griptape_nodes_library/griptape_nodes_library/lists/__init__.py +1 -0
- griptape_nodes-0.37.0/libraries/griptape_nodes_library/griptape_nodes_library/lists/display_list.py +80 -0
- griptape_nodes-0.37.0/libraries/griptape_nodes_library/griptape_nodes_library/lists/library_style.json +6 -0
- griptape_nodes-0.37.0/libraries/griptape_nodes_library/griptape_nodes_library/number/askulator.py +124 -0
- griptape_nodes-0.37.0/libraries/griptape_nodes_library/griptape_nodes_library/number/math.py +125 -0
- griptape_nodes-0.37.0/libraries/griptape_nodes_library/griptape_nodes_library/tasks/__init__.py +1 -0
- griptape_nodes-0.37.0/libraries/griptape_nodes_library/griptape_nodes_library/tasks/base_task.py +38 -0
- griptape_nodes-0.37.0/libraries/griptape_nodes_library/griptape_nodes_library/text/date_and_time.py +102 -0
- griptape_nodes-0.37.0/libraries/griptape_nodes_library/griptape_nodes_library/text/evaluate_text_result.py +194 -0
- griptape_nodes-0.37.0/libraries/griptape_nodes_library/griptape_nodes_library/text/scrape_web.py +70 -0
- griptape_nodes-0.37.0/libraries/griptape_nodes_library/griptape_nodes_library/text/search_web.py +166 -0
- griptape_nodes-0.37.0/libraries/griptape_nodes_library/griptape_nodes_library/text/summarize_text_task.py +62 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/base_tool.py +23 -1
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/calculator_tool.py +9 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/date_time_tool.py +9 -0
- griptape_nodes-0.37.0/libraries/griptape_nodes_library/griptape_nodes_library/tools/file_manager_tool.py +113 -0
- griptape_nodes-0.37.0/libraries/griptape_nodes_library/griptape_nodes_library/tools/web_scraper_tool.py +22 -0
- griptape_nodes-0.37.0/libraries/griptape_nodes_library/griptape_nodes_library/tools/web_search_tool.py +117 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library.json +139 -34
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/mkdocs.yml +5 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/pyproject.toml +3 -2
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/__init__.py +68 -2
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/app/__init__.py +1 -1
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/app/app.py +6 -6
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/app/app_websocket.py +6 -6
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/exe_types/connections.py +32 -1
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/exe_types/core_types.py +16 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/exe_types/flow.py +2 -2
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/exe_types/node_types.py +207 -0
- griptape_nodes-0.37.0/src/griptape_nodes/retained_mode/events/agent_events.py +83 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/griptape_nodes.py +8 -0
- griptape_nodes-0.37.0/src/griptape_nodes/retained_mode/managers/agent_manager.py +103 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/managers/library_manager.py +50 -37
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/managers/node_manager.py +29 -2
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/retained_mode.py +662 -18
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/tests/unit/exe_types/test_core_types.py +67 -9
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/uv.lock +34 -3
- griptape_nodes-0.36.2/Dockerfile +0 -37
- griptape_nodes-0.36.2/docs/nodes/tools/date_time_tool.md +0 -37
- griptape_nodes-0.36.2/libraries/griptape_nodes_library/griptape_nodes_library/tools/file_manager_tool.py +0 -14
- griptape_nodes-0.36.2/libraries/griptape_nodes_library/griptape_nodes_library/tools/web_scraper_tool.py +0 -23
- griptape_nodes-0.36.2/libraries/griptape_nodes_library/griptape_nodes_library/tools/web_search_tool.py +0 -33
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/.env.example +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/.github/actions/init-environment/action.yml +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/.github/release.yml +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/.github/workflows/claude.yml +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/.github/workflows/code-checks.yml +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/.github/workflows/latest-release.yml +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/.github/workflows/pull-request-links.yml +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/.github/workflows/stable-release.yml +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/.github/workflows/unit-tests.yml +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/.github/workflows/workflow-tests.yml +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/.python-version +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/.readthedocs.yml +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/.vscode/launch.json +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/CONTRIBUTING.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/LICENSE +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/Makefile +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/README.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/assets/css/extra.css +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/assets/img/getting_started/getting_started-blank_editor.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/assets/img/getting_started/getting_started-installation_page.webp +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/assets/img/getting_started/getting_started-installation_page_key_hint.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/assets/img/getting_started/getting_started-installation_page_key_hint.webp +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/assets/img/getting_started/getting_started-login.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/assets/img/getting_started/getting_started-nodes_landing_page.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/assets/img/griptape_nodes_header_logo.svg +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/assets/img/video-thumbnail.jpg +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/command_line_interface.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/configuration.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/faq.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/00_tour/FTUE_00_tour.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/00_tour/assets/connected.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/00_tour/assets/create_from_scratch.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/00_tour/assets/create_node_dblClick.gif +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/00_tour/assets/create_node_dragDrop.gif +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/00_tour/assets/create_node_spacebar.gif +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/00_tour/assets/create_nodes_panel.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/00_tour/assets/eg_prompt.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/00_tour/assets/landing_page.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/00_tour/assets/launch_link.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/00_tour/assets/nodes_in_workspace.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/00_tour/assets/run_node.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/00_tour/assets/workspace_interface.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/01_prompt_an_image/FTUE_01_prompt_an_image.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/01_prompt_an_image/assets/generate_image_node.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/01_prompt_an_image/assets/nav_bar.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/01_prompt_an_image/assets/node_running.gif +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/01_prompt_an_image/assets/potato_aerobics.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/01_prompt_an_image/assets/potato_painting.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/01_prompt_an_image/assets/prompt_image_example.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/01_prompt_an_image/assets/run_options.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/01_prompt_an_image/assets/text_prompt_field.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/01_prompt_an_image/assets/ways_to_run.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/02_coordinating_agents/FTUE_02_coordinating_agents.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/02_coordinating_agents/assets/build_your_own.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/02_coordinating_agents/assets/connect_your_own.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/02_coordinating_agents/assets/coordinating_agents_example.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/02_coordinating_agents/assets/exec_chain.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/02_coordinating_agents/assets/final_result.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/02_coordinating_agents/assets/mandarin.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/02_coordinating_agents/assets/mandarin_display.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/02_coordinating_agents/assets/mandarin_merge.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/02_coordinating_agents/assets/mandarin_to_english.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/02_coordinating_agents/assets/node_running.gif +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/02_coordinating_agents/assets/sibling_target.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/02_coordinating_agents/assets/summary_pre.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/02_coordinating_agents/assets/workflow_overview.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/02_coordinating_agents/assets/workflow_result.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/03_compare_prompts/FTUE_03_compare_prompts.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/03_compare_prompts/assets/agent_node_output.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/03_compare_prompts/assets/basic_image_node.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/03_compare_prompts/assets/bespoke_prompt_image.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/03_compare_prompts/assets/compare_prompts_example.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/03_compare_prompts/assets/compare_prompts_workflow.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/03_compare_prompts/assets/detailed_instructions.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/03_compare_prompts/assets/enhanced_prompt_image.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/03_compare_prompts/assets/trace_basic.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/03_compare_prompts/assets/trace_bespoke.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/03_compare_prompts/assets/trace_enhanced.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/04_photography_team/FTUE_04_photography_team.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/04_photography_team/assets/agent_tool_conversion.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/04_photography_team/assets/cinematographer_ruleset.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/04_photography_team/assets/orchestrator_setup.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/04_photography_team/assets/photography_team_example.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/04_photography_team/assets/rule_ruleset_agent_tool_chain.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/04_photography_team/assets/ruleset_direct_connect.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/04_photography_team/assets/ruleset_list.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/04_photography_team/assets/tool_list.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/04_photography_team/assets/tools_concept.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/04_photography_team/assets/workflow_overview.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/04_photography_team/assets/workflow_result.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/FTUE.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/assets/FTUE_01_prompt_an_image.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/assets/FTUE_02_coordinating_agents.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/assets/FTUE_03_compare_prompts.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/ftue/assets/FTUE_04_photography_team.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/glossary.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/installs/assets/huggingface_00_MainPage.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/installs/assets/huggingface_01_signup.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/installs/assets/huggingface_02_Settings.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/installs/assets/huggingface_03_AccessTokens.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/installs/assets/huggingface_04_TokenRead.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/installs/assets/huggingface_05_SaveToken.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/installs/assets/huggingface_06_gated_model.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/installs/assets/huggingface_07_GN_Settings.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/installs/assets/huggingface_08_GN_HFToken.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/installs/hugging_face.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/keys/assets/grok_00_main_page.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/keys/assets/grok_01_console_login.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/keys/assets/grok_02_signup.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/keys/assets/grok_03_billing.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/keys/assets/grok_04_key_links.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/keys/assets/grok_05_create_api_key_button.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/keys/assets/grok_06_create_api_key_page.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/keys/assets/grok_07_gtn_settings.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/keys/assets/gtn_settings_menu.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/keys/assets/openai_00_main_page.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/keys/assets/openai_01_login_api_platform.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/keys/assets/openai_02_dashboard.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/keys/assets/openai_03_api_keys.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/keys/assets/openai_04_create_new_secret_key_button.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/keys/assets/openai_05_create_new_secret_key_modal.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/keys/assets/openai_06_gtn_settings.png +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/keys/grok.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/keys/openai.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/making_custom_nodes.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/how_to/making_custom_scripts.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/index.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/installation.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/advanced_media_library/flux_pipeline.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/advanced_media_library/pillow_resize.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/advanced_media_library/tiling_flux_img_2_img_pipeline.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/advanced_media_library/tiling_spandrel_pipeline.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/agents/create_agent.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/audio/load_audio.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/audio/microphone.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/audio/transcribe_audio.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/config/anthropic_prompt_driver.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/config/cohere_prompt_driver.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/config/griptape_cloud_image_driver.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/config/griptape_cloud_prompt_driver.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/config/grok_image_driver.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/config/grok_prompt_driver.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/config/groq_prompt_driver.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/config/openai_image_driver.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/config/openai_prompt_driver.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/dict/create_dict.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/dict/display_dict.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/dict/key_value_pair.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/dict/merge_key_value_pair.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/execution/end_flow.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/execution/reroute.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/execution/start_flow.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/image/create_image.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/image/describe_image.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/image/load_image.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/number/create_float.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/number/create_int.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/number/display_float.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/number/display_int.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/overview.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/rules/create_ruleset.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/rules/ruleset_list.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/text/create_multiline_text.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/text/display_text.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/text/load_text.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/text/merge_texts.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/text/random_text.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/text/save_text.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/text/search_replace_text.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/three_d/load_gltf.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/tools/rag_tool.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/tools/tool_list.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/utils/note.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/video/display_video.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/video/load_video.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/nodes/video/save_video.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/docs/retained_mode.md +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/install.ps1 +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/install.sh +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/controlnet_aux_nodes_library/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/controlnet_aux_nodes_library/anyline_detector.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/misc/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/misc/tiling_image_processor.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/parameters/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/parameters/file_path_parameter.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/parameters/huggingface_model_parameter.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/parameters/huggingface_repo_file_parameter.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/parameters/huggingface_repo_parameter.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/parameters/log_parameter.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/parameters/seed_parameter.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/utils/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/utils/huggingface_utils.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/utils/logging_utils.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/utils/math_utils.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/utils/option_utils.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/utils/torch_utils.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/common/utils/ui_option_utils.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/controlnet/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/controlnet/flux_control_net_parameters.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/controlnet/union_flux_control_net_pipeline.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/controlnet/union_one_flux_control_net_model.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/controlnet/union_pro_flux_control_net_pipeline.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/controlnet/union_pro_two_flux_control_net_pipeline.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/controlnet/union_two_flux_control_net_parameters.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/diptych_flux_fill_pipeline.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/diptych_flux_fill_pipeline_parameters.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/flux_fill_pipeline.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/flux_fill_pipeline_parameters.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/flux_loras_parameter.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/flux_pipeline.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/flux_pipeline_memory_footprint.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/flux_pipeline_parameters.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/lora/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/lora/flux_lora_from_file.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/lora/flux_lora_parameters.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/lora/huggingface_flux_lora.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/lora/lumatales_flux_lora.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/lora/micro_landscape_on_phone_flux_lora.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/lora/miniature_world_flux_lora.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/lora/river_z_normal_diptych_flux_fill_lora.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/peft/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/peft/train_flux_lora.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/peft/train_flux_lora_parameters.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/peft/training/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/peft/training/accelerate_main.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/peft/training/accelerate_parse_args.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/peft/training/utils/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/peft/training/utils/accelerate_utils.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/peft/training/utils/dreambooth_dataset.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/peft/training/utils/encode_prompt.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/peft/training/utils/logging.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/peft/training/utils/memory.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/peft/training/utils/optimizer.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/peft/training/utils/stdout_tracker.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/diffusers_nodes_library/pipelines/flux/tiling_flux_img_2_img_pipeline.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/opencv_nodes_library/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/opencv_nodes_library/canny_convert_image.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/pillow_nodes_library/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/pillow_nodes_library/gaussian_blur_image.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/pillow_nodes_library/grayscale_convert_image.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/pillow_nodes_library/rescale_image.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/pillow_nodes_library/utils.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/spandrel_nodes_library/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/spandrel_nodes_library/tiling_span.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/spandrel_nodes_library/utils.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/transformers_nodes_library/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_advanced_media_library/transformers_nodes_library/depth_anything_for_depth_estimation.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/.python-version +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/agents/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/agents/agent.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/agents/griptape_nodes_agent.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/agents/library_style.json +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/audio/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/audio/audio_url_artifact.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/audio/library_style.json +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/audio/load_audio.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/audio/microphone.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/audio/transcribe_audio.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/base_driver.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/image/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/image/base_image_driver.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/image/griptape_cloud_image_driver.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/image/grok_image_driver.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/image/library_style.json +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/image/openai_image_driver.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/library_style.json +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/amazon_bedrock_prompt.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/anthropic_prompt.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/base_prompt.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/cohere_prompt.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/griptape_cloud_prompt.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/grok_prompt.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/groq_prompt.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/library_style.json +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/ollama_prompt_driver.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/prompt/openai_prompt.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/web_search/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/config/web_search/web_search_drivers.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/convert/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/convert/agent_to_tool.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/convert/library_style.json +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/convert/to_bool.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/convert/to_dict.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/convert/to_float.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/convert/to_int.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/convert/to_text.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/dict/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/dict/create_dict.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/dict/display_dict.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/dict/key_value_pair.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/dict/library_style.json +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/dict/load_dict.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/dict/merge_dict.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/dict/merge_key_value_pair.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/dict/save_dict.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/execution/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/execution/compare_numbers.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/execution/compare_strings.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/execution/if_else.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/execution/library_style.json +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/execution/reroute.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/execution/select_output.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/image/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/image/compare_images.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/image/create_image.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/image/describe_image.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/image/display_image.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/image/library_style.json +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/image/load_image.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/image/paint_mask.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/image/save_image.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/image/webcam.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/misc/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/misc/api_key_check.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/note.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/number/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/number/create_float.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/number/create_int.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/number/display_float.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/number/display_int.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/number/library_style.json +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/rules/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/rules/create_ruleset.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/rules/library_style.json +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/rules/ruleset_list.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/text/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/text/create_multiline_text.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/text/display_text.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/text/library_style.json +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/text/list_texts.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/text/load_text.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/text/merge_texts.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/text/random_text.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/text/save_text.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/text/search_replace_text.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/three_d/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/three_d/gltf_artifact.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/three_d/library_style.json +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/three_d/load_gltf.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/audio_transcription_tool.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/extraction_tool.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/library_style.json +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/prompt_summary_tool.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/rag_tool.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/tool_list.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/tools/vector_store_tool.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/utils/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/utils/anthropic_utils.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/utils/audio_utils.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/utils/error_utils.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/utils/gltf_utils.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/utils/image_utils.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/utils/library_style.json +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/utils/utilities.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/utils/video_utils.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/video/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/video/display_video.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/video/load_video.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/video/save_video.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/video/video_url_artifact.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/workflows/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/workflows/end_flow.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/workflows/library_style.json +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/workflows/published_workflow.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/griptape_nodes_library/workflows/start_flow.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/tests/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/tests/integration/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/tests/unit/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/tests/unit/drivers/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/tests/unit/drivers/test_griptape_cloud_image_generation_driver.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/workflows/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/workflows/templates/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/workflows/templates/compare_prompts.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/workflows/templates/coordinating_agents.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/workflows/templates/photography_team.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/workflows/templates/prompt_an_image.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/workflows/templates/thumbnail_compare_prompts.webp +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/workflows/templates/thumbnail_coordinating_agents.webp +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/workflows/templates/thumbnail_photography_team.webp +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/libraries/griptape_nodes_library/workflows/templates/thumbnail_prompt_an_image.webp +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/app/.python-version +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/app/nodes_api_socket_manager.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/app/watch.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/bootstrap/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/bootstrap/bootstrap_script.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/bootstrap/post_build_install_script.sh +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/bootstrap/pre_build_install_script.sh +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/bootstrap/register_libraries_script.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/bootstrap/structure_config.yaml +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/bootstrap/workflow_runners/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/bootstrap/workflow_runners/bootstrap_workflow_runner.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/bootstrap/workflow_runners/local_workflow_runner.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/bootstrap/workflow_runners/subprocess_workflow_runner.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/bootstrap/workflow_runners/workflow_runner.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/drivers/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/drivers/storage/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/drivers/storage/base_storage_driver.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/drivers/storage/griptape_cloud_storage_driver.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/drivers/storage/local_storage_driver.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/exe_types/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/exe_types/type_validator.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/machines/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/machines/control_flow.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/machines/fsm.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/machines/node_resolution.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/node_library/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/node_library/library_registry.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/node_library/workflow_registry.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/py.typed +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/app_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/arbitrary_python_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/base_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/config_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/connection_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/context_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/execution_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/flow_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/generate_request_payload_schemas.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/library_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/logger_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/node_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/object_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/os_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/parameter_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/payload_registry.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/secrets_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/static_file_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/validation_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/events/workflow_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/managers/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/managers/arbitrary_code_exec_manager.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/managers/config_manager.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/managers/context_manager.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/managers/event_manager.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/managers/flow_manager.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/managers/object_manager.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/managers/operation_manager.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/managers/os_manager.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/managers/secrets_manager.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/managers/settings.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/managers/static_files_manager.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/retained_mode/managers/workflow_manager.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/traits/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/traits/add_param_button.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/traits/button.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/traits/clamp.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/traits/compare.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/traits/compare_images.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/traits/minmax.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/traits/options.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/traits/slider.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/traits/trait_registry.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/traits/traits.json +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/updater/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/updater/__main__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/utils/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/utils/dict_utils.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/src/griptape_nodes/utils/metaclasses.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/tests/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/tests/integration/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/tests/integration/conftest.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/tests/integration/retained_mode/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/tests/integration/retained_mode/events/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/tests/integration/retained_mode/events/test_config_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/tests/integration/retained_mode/events/test_node_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/tests/integration/retained_mode/events/test_secret_events.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/tests/unit/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/tests/unit/exe_types/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/tests/workflows/__init__.py +0 -0
- {griptape_nodes-0.36.2 → griptape_nodes-0.37.0}/tests/workflows/test_workflows.py +0 -0
|
@@ -21,17 +21,16 @@ jobs:
|
|
|
21
21
|
- name: uv Build
|
|
22
22
|
run: uv build
|
|
23
23
|
- name: uv Publish
|
|
24
|
-
run: uv publish --token ${{ secrets.PYPI_TOKEN }}
|
|
25
|
-
|
|
24
|
+
run: uv publish --token ${{ secrets.PYPI_TOKEN }}
|
|
26
25
|
|
|
27
26
|
push_to_registries:
|
|
28
|
-
name: Push Docker
|
|
27
|
+
name: Push Docker images to multiple registries
|
|
29
28
|
runs-on: ubuntu-latest
|
|
30
29
|
permissions:
|
|
31
30
|
packages: write
|
|
32
31
|
contents: read
|
|
33
|
-
attestations: write
|
|
34
32
|
id-token: write
|
|
33
|
+
|
|
35
34
|
steps:
|
|
36
35
|
- name: Check out the repo
|
|
37
36
|
uses: actions/checkout@v4
|
|
@@ -42,7 +41,7 @@ jobs:
|
|
|
42
41
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
43
42
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
44
43
|
|
|
45
|
-
- name: Log in to
|
|
44
|
+
- name: Log in to GitHub Container Registry
|
|
46
45
|
uses: docker/login-action@v3
|
|
47
46
|
with:
|
|
48
47
|
registry: ghcr.io
|
|
@@ -57,18 +56,50 @@ jobs:
|
|
|
57
56
|
griptape/griptape-nodes
|
|
58
57
|
ghcr.io/${{ github.repository }}
|
|
59
58
|
|
|
60
|
-
- name:
|
|
61
|
-
id:
|
|
59
|
+
- name: Generate GPU tags
|
|
60
|
+
id: meta_gpu
|
|
61
|
+
run: |
|
|
62
|
+
# Read the comma‐separated list of CPU tags from metadata-action
|
|
63
|
+
CPU_TAGS="${{ steps.meta.outputs.tags }}"
|
|
64
|
+
|
|
65
|
+
# Split into array
|
|
66
|
+
IFS=',' read -r -a TAG_ARRAY <<< "$CPU_TAGS"
|
|
67
|
+
|
|
68
|
+
# Append "-gpu" to each tag name
|
|
69
|
+
GPU_TAGS=""
|
|
70
|
+
for full_ref in "${TAG_ARRAY[@]}"; do
|
|
71
|
+
# full_ref has form "repo:tag"
|
|
72
|
+
image_name="${full_ref%%:*}"
|
|
73
|
+
image_tag="${full_ref##*:}"
|
|
74
|
+
gpu_ref="${image_name}:${image_tag}-gpu"
|
|
75
|
+
|
|
76
|
+
if [ -z "$GPU_TAGS" ]; then
|
|
77
|
+
GPU_TAGS="$gpu_ref"
|
|
78
|
+
else
|
|
79
|
+
GPU_TAGS="$GPU_TAGS,$gpu_ref"
|
|
80
|
+
fi
|
|
81
|
+
done
|
|
82
|
+
|
|
83
|
+
echo "tags=$GPU_TAGS" >> $GITHUB_OUTPUT
|
|
84
|
+
|
|
85
|
+
- name: Build and push CPU image
|
|
86
|
+
id: push_cpu
|
|
62
87
|
uses: docker/build-push-action@v6
|
|
63
88
|
with:
|
|
64
89
|
context: .
|
|
65
90
|
push: true
|
|
91
|
+
build-args: |
|
|
92
|
+
BUILD_TYPE=cpu
|
|
66
93
|
tags: ${{ steps.meta.outputs.tags }}
|
|
67
94
|
labels: ${{ steps.meta.outputs.labels }}
|
|
68
95
|
|
|
69
|
-
- name:
|
|
70
|
-
|
|
96
|
+
- name: Build and push GPU image
|
|
97
|
+
id: push_gpu
|
|
98
|
+
uses: docker/build-push-action@v6
|
|
71
99
|
with:
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
100
|
+
context: .
|
|
101
|
+
push: true
|
|
102
|
+
build-args: |
|
|
103
|
+
BUILD_TYPE=gpu
|
|
104
|
+
tags: ${{ steps.meta_gpu.outputs.tags }}
|
|
105
|
+
labels: ${{ steps.meta.outputs.labels }}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
# Single Dockerfile for both CPU and GPU type builds.
|
|
2
|
+
# Use --build-arg BUILD_TYPE=cpu (default) or BUILD_TYPE=gpu to switch modes.
|
|
3
|
+
|
|
4
|
+
#────────────────────────────
|
|
5
|
+
# 1) ARGs and base‐image definitions
|
|
6
|
+
#────────────────────────────
|
|
7
|
+
ARG BUILD_TYPE=cpu
|
|
8
|
+
ARG BASE_IMAGE_CPU=ubuntu:22.04
|
|
9
|
+
ARG BASE_IMAGE_GPU=nvidia/cuda:12.8.1-cudnn-runtime-ubuntu22.04
|
|
10
|
+
|
|
11
|
+
#────────────────────────────
|
|
12
|
+
# 2) Shared Python installation stage
|
|
13
|
+
#────────────────────────────
|
|
14
|
+
FROM ubuntu:22.04 AS python_base
|
|
15
|
+
|
|
16
|
+
# Force noninteractive front‐end and set a dummy TZ so tzdata won't prompt
|
|
17
|
+
ENV DEBIAN_FRONTEND=noninteractive
|
|
18
|
+
ENV TZ=Etc/UTC
|
|
19
|
+
|
|
20
|
+
# Install prerequisites and add Deadsnakes for Python 3.12
|
|
21
|
+
RUN apt-get update \
|
|
22
|
+
&& apt-get install -y --no-install-recommends \
|
|
23
|
+
software-properties-common \
|
|
24
|
+
wget \
|
|
25
|
+
tzdata \
|
|
26
|
+
gpg-agent \
|
|
27
|
+
&& ln -fs /usr/share/zoneinfo/Etc/UTC /etc/localtime \
|
|
28
|
+
&& dpkg-reconfigure -f noninteractive tzdata \
|
|
29
|
+
&& wget -qO- https://keyserver.ubuntu.com/pks/lookup?op=get\&search=0xF23C5A6CF475977595C89F51BA6932366A755776 | gpg --dearmor > /etc/apt/trusted.gpg.d/deadsnakes.gpg \
|
|
30
|
+
&& echo "deb https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/deadsnakes-ppa.list \
|
|
31
|
+
&& apt-get update \
|
|
32
|
+
&& apt-get install -y --no-install-recommends \
|
|
33
|
+
git \
|
|
34
|
+
build-essential \
|
|
35
|
+
pkg-config \
|
|
36
|
+
cmake \
|
|
37
|
+
libprotobuf-dev \
|
|
38
|
+
protobuf-compiler \
|
|
39
|
+
python3.12 \
|
|
40
|
+
python3.12-dev \
|
|
41
|
+
python3.12-venv \
|
|
42
|
+
&& rm -rf /var/lib/apt/lists/* \
|
|
43
|
+
&& pkg-config --version \
|
|
44
|
+
&& cmake --version
|
|
45
|
+
|
|
46
|
+
#────────────────────────────
|
|
47
|
+
# 3) CPU builder stage
|
|
48
|
+
#────────────────────────────
|
|
49
|
+
FROM python_base AS builder_cpu
|
|
50
|
+
|
|
51
|
+
# Bring in uv/uvx binaries from the official Astral SH image
|
|
52
|
+
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
53
|
+
|
|
54
|
+
WORKDIR /app
|
|
55
|
+
|
|
56
|
+
# Set virtual environment location outside of /app to avoid mount conflicts
|
|
57
|
+
ENV UV_PROJECT_ENVIRONMENT=/opt/venv
|
|
58
|
+
|
|
59
|
+
# Install dependencies (without yet installing the project itself)
|
|
60
|
+
# - Use BuildKit cache mounts for pip/uv caches
|
|
61
|
+
ENV UV_LINK_MODE=copy
|
|
62
|
+
ENV UV_COMPILE_BYTECODE=1
|
|
63
|
+
ENV UV_PYTHON_DOWNLOADS=never
|
|
64
|
+
ENV UV_PYTHON=/usr/bin/python3.12
|
|
65
|
+
RUN --mount=type=cache,target=/root/.cache/uv \
|
|
66
|
+
--mount=type=bind,source=uv.lock,target=uv.lock \
|
|
67
|
+
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
|
|
68
|
+
uv sync --locked --no-install-project --no-editable
|
|
69
|
+
|
|
70
|
+
# Copy everything needed for the actual project sync
|
|
71
|
+
COPY pyproject.toml pyproject.toml
|
|
72
|
+
COPY uv.lock uv.lock
|
|
73
|
+
COPY README.md README.md
|
|
74
|
+
COPY src src
|
|
75
|
+
COPY libraries libraries
|
|
76
|
+
|
|
77
|
+
# Install the project (puts it into a venv at /opt/venv)
|
|
78
|
+
RUN --mount=type=cache,target=/root/.cache/uv \
|
|
79
|
+
uv sync --locked --no-editable
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
#────────────────────────────
|
|
83
|
+
# 4) GPU builder stage
|
|
84
|
+
#────────────────────────────
|
|
85
|
+
FROM ${BASE_IMAGE_GPU} AS builder_gpu
|
|
86
|
+
|
|
87
|
+
# Force noninteractive front‐end and set a dummy TZ so tzdata won’t prompt
|
|
88
|
+
# Bring in uv/uvx binaries from the official Astral SH image
|
|
89
|
+
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
90
|
+
|
|
91
|
+
ENV DEBIAN_FRONTEND=noninteractive
|
|
92
|
+
ENV TZ=Etc/UTC
|
|
93
|
+
|
|
94
|
+
# Install prerequisites and add Deadsnakes for Python 3.12
|
|
95
|
+
RUN apt-get update \
|
|
96
|
+
&& apt-get install -y --no-install-recommends \
|
|
97
|
+
software-properties-common \
|
|
98
|
+
wget \
|
|
99
|
+
tzdata \
|
|
100
|
+
&& ln -fs /usr/share/zoneinfo/Etc/UTC /etc/localtime \
|
|
101
|
+
&& dpkg-reconfigure -f noninteractive tzdata \
|
|
102
|
+
&& add-apt-repository ppa:deadsnakes/ppa \
|
|
103
|
+
&& apt-get update \
|
|
104
|
+
&& apt-get install -y --no-install-recommends \
|
|
105
|
+
git \
|
|
106
|
+
ffmpeg libgl1 \
|
|
107
|
+
libjpeg-dev zlib1g-dev libpng-dev libwebp-dev \
|
|
108
|
+
build-essential \
|
|
109
|
+
pkg-config \
|
|
110
|
+
cmake \
|
|
111
|
+
libprotobuf-dev \
|
|
112
|
+
protobuf-compiler \
|
|
113
|
+
python3.12 \
|
|
114
|
+
python3.12-dev \
|
|
115
|
+
python3.12-venv \
|
|
116
|
+
&& rm -rf /var/lib/apt/lists/* \
|
|
117
|
+
&& pkg-config --version \
|
|
118
|
+
&& cmake --version
|
|
119
|
+
|
|
120
|
+
WORKDIR /app
|
|
121
|
+
|
|
122
|
+
# Set virtual environment location outside of /app to avoid mount conflicts
|
|
123
|
+
ENV UV_PROJECT_ENVIRONMENT=/opt/venv
|
|
124
|
+
|
|
125
|
+
# Install dependencies (without yet installing the project itself)
|
|
126
|
+
# - Use BuildKit cache mounts for pip/uv caches
|
|
127
|
+
ENV UV_LINK_MODE=copy
|
|
128
|
+
ENV UV_COMPILE_BYTECODE=1
|
|
129
|
+
ENV UV_PYTHON_DOWNLOADS=never
|
|
130
|
+
ENV UV_PYTHON=/usr/bin/python3.12
|
|
131
|
+
RUN --mount=type=cache,target=/root/.cache/uv \
|
|
132
|
+
--mount=type=bind,source=uv.lock,target=uv.lock \
|
|
133
|
+
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
|
|
134
|
+
uv sync --locked --no-install-project --no-editable
|
|
135
|
+
|
|
136
|
+
# Copy everything needed for the actual project sync
|
|
137
|
+
COPY pyproject.toml pyproject.toml
|
|
138
|
+
COPY uv.lock uv.lock
|
|
139
|
+
COPY README.md README.md
|
|
140
|
+
COPY src src
|
|
141
|
+
COPY libraries libraries
|
|
142
|
+
|
|
143
|
+
# Install the project (puts it into a venv at /opt/venv)
|
|
144
|
+
RUN --mount=type=cache,target=/root/.cache/uv \
|
|
145
|
+
uv sync --locked --no-editable
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
#────────────────────────────
|
|
149
|
+
# 5) "builder" alias: pick CPU or GPU builder based on BUILD_TYPE
|
|
150
|
+
#────────────────────────────
|
|
151
|
+
FROM builder_${BUILD_TYPE} AS builder
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
#────────────────────────────
|
|
155
|
+
# 6) CPU runtime stage
|
|
156
|
+
#────────────────────────────
|
|
157
|
+
FROM python_base AS runtime_cpu
|
|
158
|
+
|
|
159
|
+
# Install additional runtime libraries for CPU
|
|
160
|
+
RUN apt-get update \
|
|
161
|
+
&& apt-get install -y --no-install-recommends \
|
|
162
|
+
libgl1-mesa-glx \
|
|
163
|
+
libglib2.0-0 \
|
|
164
|
+
&& rm -rf /var/lib/apt/lists/* \
|
|
165
|
+
&& update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1 \
|
|
166
|
+
&& update-alternatives --install /usr/bin/python python /usr/bin/python3.12 1
|
|
167
|
+
|
|
168
|
+
WORKDIR /app
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
#────────────────────────────
|
|
172
|
+
# 7) GPU runtime stage
|
|
173
|
+
#────────────────────────────
|
|
174
|
+
FROM ${BASE_IMAGE_GPU} AS runtime_gpu
|
|
175
|
+
|
|
176
|
+
# Install additional libraries needed at runtime for GPU
|
|
177
|
+
ENV DEBIAN_FRONTEND=noninteractive
|
|
178
|
+
ENV TZ=Etc/UTC
|
|
179
|
+
RUN apt-get update \
|
|
180
|
+
&& apt-get install -y --no-install-recommends \
|
|
181
|
+
software-properties-common \
|
|
182
|
+
tzdata \
|
|
183
|
+
&& ln -fs /usr/share/zoneinfo/Etc/UTC /etc/localtime \
|
|
184
|
+
&& dpkg-reconfigure -f noninteractive tzdata \
|
|
185
|
+
&& add-apt-repository ppa:deadsnakes/ppa \
|
|
186
|
+
&& apt-get update \
|
|
187
|
+
&& apt-get install -y --no-install-recommends \
|
|
188
|
+
git ffmpeg libgl1 \
|
|
189
|
+
libjpeg-dev zlib1g-dev libpng-dev libwebp-dev \
|
|
190
|
+
build-essential pkg-config cmake libprotobuf-dev protobuf-compiler \
|
|
191
|
+
python3.12 python3.12-dev python3.12-venv \
|
|
192
|
+
&& rm -rf /var/lib/apt/lists/* \
|
|
193
|
+
&& update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1 \
|
|
194
|
+
&& update-alternatives --install /usr/bin/python python /usr/bin/python3.12 1
|
|
195
|
+
|
|
196
|
+
WORKDIR /app
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
#────────────────────────────
|
|
200
|
+
# 8) Final stage: pick runtime_${BUILD_TYPE}, then add user / copy venv / entrypoint
|
|
201
|
+
#────────────────────────────
|
|
202
|
+
ARG BUILD_TYPE
|
|
203
|
+
FROM runtime_${BUILD_TYPE} AS final
|
|
204
|
+
|
|
205
|
+
# Create a non-root user and prepare /app/models
|
|
206
|
+
RUN groupadd --gid 1000 appuser \
|
|
207
|
+
&& useradd --uid 1000 --gid appuser --shell /bin/bash --create-home appuser
|
|
208
|
+
|
|
209
|
+
# Create app directory structure and set permissions for volume mount points
|
|
210
|
+
RUN mkdir -p /app /opt/venv && \
|
|
211
|
+
chown -R appuser:appuser /app /opt/venv
|
|
212
|
+
|
|
213
|
+
# Copy the venv from the chosen builder into /opt/venv, preserving ownership
|
|
214
|
+
COPY --from=builder --chown=appuser:appuser /opt/venv /opt/venv
|
|
215
|
+
|
|
216
|
+
LABEL org.opencontainers.image.source="https://github.com/griptape-ai/griptape-nodes"
|
|
217
|
+
LABEL org.opencontainers.image.description="Griptape Nodes."
|
|
218
|
+
LABEL org.opencontainers.image.licenses="Apache-2.0"
|
|
219
|
+
|
|
220
|
+
# Copy entrypoint and make sure it’s executable
|
|
221
|
+
COPY --chown=appuser:appuser entrypoint.sh /entrypoint.sh
|
|
222
|
+
RUN chmod +x /entrypoint.sh
|
|
223
|
+
|
|
224
|
+
# Switch to non-root user and set working directory
|
|
225
|
+
USER appuser
|
|
226
|
+
WORKDIR /app
|
|
227
|
+
|
|
228
|
+
# Ensure XDG directories and Python user base point to the user's home
|
|
229
|
+
ENV HOME=/app
|
|
230
|
+
|
|
231
|
+
EXPOSE 8124
|
|
232
|
+
|
|
233
|
+
ENTRYPOINT ["/entrypoint.sh"]
|
|
234
|
+
CMD ["/opt/venv/bin/griptape-nodes", "--no-update"]
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: griptape-nodes
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.37.0
|
|
4
4
|
Summary: Add your description here
|
|
5
5
|
License-File: LICENSE
|
|
6
6
|
Requires-Python: ~=3.12
|
|
7
7
|
Requires-Dist: fastapi>=0.115.12
|
|
8
|
-
Requires-Dist: griptape[drivers-prompt-amazon-bedrock,drivers-prompt-anthropic,drivers-prompt-cohere,drivers-prompt-ollama,drivers-web-scraper-trafilatura,drivers-web-search-duckduckgo,loaders-image]>=1.7.1
|
|
8
|
+
Requires-Dist: griptape[drivers-prompt-amazon-bedrock,drivers-prompt-anthropic,drivers-prompt-cohere,drivers-prompt-ollama,drivers-web-scraper-trafilatura,drivers-web-search-duckduckgo,drivers-web-search-exa,loaders-image]>=1.7.1
|
|
9
9
|
Requires-Dist: httpx<1.0.0,>=0.28.0
|
|
10
|
+
Requires-Dist: json-repair>=0.46.1
|
|
10
11
|
Requires-Dist: packaging>=25.0
|
|
11
12
|
Requires-Dist: pydantic>=2.10.6
|
|
12
13
|
Requires-Dist: python-dotenv>=1.0.1
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Date and Time
|
|
2
|
+
|
|
3
|
+
## What is it?
|
|
4
|
+
|
|
5
|
+
The Date and Time tool is a utility that helps you format and manipulate date and time information as text.
|
|
6
|
+
|
|
7
|
+
## When would I use it?
|
|
8
|
+
|
|
9
|
+
Use this node when you want to:
|
|
10
|
+
|
|
11
|
+
- Format dates and times in specific text formats
|
|
12
|
+
- Convert between different date/time formats
|
|
13
|
+
- Generate date/time strings for use in text
|
|
14
|
+
- Create time-based text content
|
|
15
|
+
|
|
16
|
+
## How to use it
|
|
17
|
+
|
|
18
|
+
### Basic Setup
|
|
19
|
+
|
|
20
|
+
1. Add the Date and Time tool to your workflow
|
|
21
|
+
1. Configure the date/time parameters
|
|
22
|
+
1. Connect its output to nodes that need formatted date/time text
|
|
23
|
+
|
|
24
|
+
### Parameters
|
|
25
|
+
|
|
26
|
+
- **prompt**: The thing you'd like to get the date for (e.g. "Christmas, 2027", "Next friday")
|
|
27
|
+
- **format**: The format for the date/time (e.g., "%Y-%m-%d %H:%M:%S", "Fri 25, March, 9pm")
|
|
28
|
+
|
|
29
|
+
### Outputs
|
|
30
|
+
|
|
31
|
+
- **output**: The formatted date/time as text
|
|
32
|
+
|
|
33
|
+
## Example
|
|
34
|
+
|
|
35
|
+
Imagine you want to format a date in a specific way:
|
|
36
|
+
|
|
37
|
+
1. Add a Date and Time tool to your workflow
|
|
38
|
+
1. Set the desired date format
|
|
39
|
+
1. Connect the "output" to another node that needs the formatted date/time
|
|
40
|
+
|
|
41
|
+
## Implementation Details
|
|
42
|
+
|
|
43
|
+
The Date and Time tool provides flexible date and time formatting capabilities. It supports various format strings and timezone handling to generate properly formatted date/time text.
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Evaluate Text Result
|
|
2
|
+
|
|
3
|
+
The Evaluate Text Result node allows you to evaluate text outputs against specific criteria using Griptape's Eval Engine. This node is useful for validating AI-generated content, checking factual accuracy, or assessing the quality of text outputs.
|
|
4
|
+
|
|
5
|
+
## Inputs
|
|
6
|
+
|
|
7
|
+
- **Examples** (Property): Choose from preset examples or create your own evaluation
|
|
8
|
+
|
|
9
|
+
- Options:
|
|
10
|
+
|
|
11
|
+
- Choose a preset..
|
|
12
|
+
- Paraphrase
|
|
13
|
+
- Factual
|
|
14
|
+
- Analogy
|
|
15
|
+
|
|
16
|
+
- **Input** (Input/Property): The input text to be evaluated
|
|
17
|
+
|
|
18
|
+
- Supports multiline text input
|
|
19
|
+
|
|
20
|
+
- **Expected Output** (Input/Property): The expected or reference output text
|
|
21
|
+
|
|
22
|
+
- Single line text input
|
|
23
|
+
|
|
24
|
+
- **Actual Output** (Input/Property): The actual output text to be evaluated
|
|
25
|
+
|
|
26
|
+
- Single line text input
|
|
27
|
+
|
|
28
|
+
- **Criteria** (Input/Property): The evaluation criteria to use
|
|
29
|
+
|
|
30
|
+
- Supports multiline text input
|
|
31
|
+
- Example: "Does the output accurately paraphrase the input without losing meaning?"
|
|
32
|
+
|
|
33
|
+
## Outputs
|
|
34
|
+
|
|
35
|
+
- **Score** (Output): A float value between 0 and 1 representing the evaluation score
|
|
36
|
+
|
|
37
|
+
- 1.0 indicates perfect match
|
|
38
|
+
- 0.0 indicates complete mismatch
|
|
39
|
+
|
|
40
|
+
- **Reason** (Output): A detailed explanation of the evaluation result
|
|
41
|
+
|
|
42
|
+
- Provides feedback on why the score was given
|
|
43
|
+
- Explains any discrepancies found
|
|
44
|
+
|
|
45
|
+
## Example Usage
|
|
46
|
+
|
|
47
|
+
### Paraphrase Evaluation
|
|
48
|
+
|
|
49
|
+
```python
|
|
50
|
+
Input: "The quick brown fox jumps over the lazy dog."
|
|
51
|
+
Expected Output: "A swift brown fox leaps above a sleeping dog."
|
|
52
|
+
Actual Output: "A fast fox jumps over a dog that's not awake."
|
|
53
|
+
Criteria: "Does the output accurately paraphrase the input without losing meaning?"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Factual Evaluation
|
|
57
|
+
|
|
58
|
+
```python
|
|
59
|
+
Input: "The capital of France is Paris."
|
|
60
|
+
Expected Output: "Paris is the capital city of France."
|
|
61
|
+
Actual Output: "France's capital is Paris."
|
|
62
|
+
Criteria: "Is the output factually correct based on the input?"
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Analogy Evaluation
|
|
66
|
+
|
|
67
|
+
```python
|
|
68
|
+
Input: "A bird is to sky as a fish is to ______."
|
|
69
|
+
Expected Output: "water"
|
|
70
|
+
Actual Output: "concrete"
|
|
71
|
+
Criteria: "Does the output correctly complete the analogy?"
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Notes
|
|
75
|
+
|
|
76
|
+
- The node uses Griptape's Eval Engine to perform the evaluation
|
|
77
|
+
- The evaluation is based on the provided criteria
|
|
78
|
+
- The score is normalized between 0 and 1
|
|
79
|
+
- The reason provides detailed feedback about the evaluation
|
|
80
|
+
- You can use preset examples or create your own custom evaluations
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Scrape Web
|
|
2
|
+
|
|
3
|
+
## What is it?
|
|
4
|
+
|
|
5
|
+
The Scrape Web tool is a utility that allows you to extract text content from web pages.
|
|
6
|
+
|
|
7
|
+
## When would I use it?
|
|
8
|
+
|
|
9
|
+
Use this node when you want to:
|
|
10
|
+
|
|
11
|
+
- Extract text content from specific web pages
|
|
12
|
+
- Gather information from websites
|
|
13
|
+
- Collect data from online sources
|
|
14
|
+
- Automate web content extraction
|
|
15
|
+
|
|
16
|
+
## How to use it
|
|
17
|
+
|
|
18
|
+
### Basic Setup
|
|
19
|
+
|
|
20
|
+
1. Add the Scrape Web tool to your workflow
|
|
21
|
+
1. Configure the scraping parameters
|
|
22
|
+
1. Connect its output to nodes that need the scraped content
|
|
23
|
+
|
|
24
|
+
### Parameters
|
|
25
|
+
|
|
26
|
+
- **url**: The URL of the web page to scrape
|
|
27
|
+
|
|
28
|
+
### Outputs
|
|
29
|
+
|
|
30
|
+
- **output**: The text content extracted from the web page
|
|
31
|
+
|
|
32
|
+
## Example
|
|
33
|
+
|
|
34
|
+
Imagine you want to extract content from a specific web page:
|
|
35
|
+
|
|
36
|
+
1. Add a Scrape Web tool to your workflow
|
|
37
|
+
1. Set the URL of the page you want to scrape
|
|
38
|
+
1. Connect the "output" to another node that needs the scraped content
|
|
39
|
+
|
|
40
|
+
## Implementation Details
|
|
41
|
+
|
|
42
|
+
The Scrape Web tool uses web scraping capabilities to extract text content from web pages. It can target specific content using CSS selectors and handles timeouts and errors gracefully.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Search Web
|
|
2
|
+
|
|
3
|
+
## What is it?
|
|
4
|
+
|
|
5
|
+
The Search Web tool is a utility that allows you to search the web and retrieve text content from search results.
|
|
6
|
+
|
|
7
|
+
## When would I use it?
|
|
8
|
+
|
|
9
|
+
Use this node when you want to:
|
|
10
|
+
|
|
11
|
+
- Search the web for specific information
|
|
12
|
+
- Retrieve text content from search results
|
|
13
|
+
- Gather information from multiple web sources
|
|
14
|
+
- Research topics online
|
|
15
|
+
|
|
16
|
+
## How to use it
|
|
17
|
+
|
|
18
|
+
### Basic Setup
|
|
19
|
+
|
|
20
|
+
1. Add the Search Web tool to your workflow
|
|
21
|
+
1. Connect its output to nodes that need web search results
|
|
22
|
+
|
|
23
|
+
### Parameters
|
|
24
|
+
|
|
25
|
+
- **prompt**: The search query to use
|
|
26
|
+
- **summarize**: Whether or not you want an LLM to summarize the text
|
|
27
|
+
- **search_engine**: The search engine to use. Note: some engines require an API key.
|
|
28
|
+
|
|
29
|
+
### Outputs
|
|
30
|
+
|
|
31
|
+
- **output**: The text content retrieved from the search results
|
|
32
|
+
|
|
33
|
+
## Example
|
|
34
|
+
|
|
35
|
+
Imagine you want to search for information about a specific topic:
|
|
36
|
+
|
|
37
|
+
1. Add a Search Web tool to your workflow
|
|
38
|
+
1. Set the search query
|
|
39
|
+
1. Connect the "output to another node that needs the search results
|
|
40
|
+
1. The tool will return the text content from the search results
|
|
41
|
+
|
|
42
|
+
## Implementation Details
|
|
43
|
+
|
|
44
|
+
The Search Web tool uses web search capabilities to find relevant information and extracts text content from the search results. It's designed to help you gather information from the web in a structured way.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Summarize Text
|
|
2
|
+
|
|
3
|
+
## What is it?
|
|
4
|
+
|
|
5
|
+
The Summarize Text Task tool is a utility that summarizes text for you.
|
|
6
|
+
|
|
7
|
+
## When would I use it?
|
|
8
|
+
|
|
9
|
+
Use this node when you want to:
|
|
10
|
+
|
|
11
|
+
- Create tasks for summarizing text content
|
|
12
|
+
- Define summarization requirements and parameters
|
|
13
|
+
- Set up structured summarization workflows
|
|
14
|
+
- Manage text summarization processes
|
|
15
|
+
|
|
16
|
+
## How to use it
|
|
17
|
+
|
|
18
|
+
### Basic Setup
|
|
19
|
+
|
|
20
|
+
1. Add the Summarize Text Task tool to your workflow
|
|
21
|
+
1. Configure the summarization parameters
|
|
22
|
+
1. Connect its output to nodes that need summarization tasks
|
|
23
|
+
|
|
24
|
+
### Parameters
|
|
25
|
+
|
|
26
|
+
- **text**: The text content to be summarized
|
|
27
|
+
|
|
28
|
+
### Outputs
|
|
29
|
+
|
|
30
|
+
- **output**: The summary of the text
|
|
31
|
+
|
|
32
|
+
## Example
|
|
33
|
+
|
|
34
|
+
Imagine you want to create a summarization task for a long text:
|
|
35
|
+
|
|
36
|
+
1. Add a Summarize Text Task tool to your workflow
|
|
37
|
+
1. Connect the text input to your source text
|
|
38
|
+
1. Connect the "output" to a node that can process the summarization task
|
|
39
|
+
|
|
40
|
+
## Implementation Details
|
|
41
|
+
|
|
42
|
+
The Summarize Text Task tool helps you summarize long amonts of text.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## What is it?
|
|
4
4
|
|
|
5
|
-
The Calculator tool is a
|
|
5
|
+
The Calculator tool is a mathematical calculation tool that can be given to an agent to help it perform precise calculations.
|
|
6
6
|
|
|
7
7
|
## When would I use it?
|
|
8
8
|
|
|
@@ -19,10 +19,6 @@ Use this node when you want to:
|
|
|
19
19
|
1. Add the Calculator to your workflow
|
|
20
20
|
1. Connect its output to nodes that need calculation capabilities (like an Agent)
|
|
21
21
|
|
|
22
|
-
### Parameters
|
|
23
|
-
|
|
24
|
-
- **off_prompt**: Whether to run calculations outside the main prompt (default is true)
|
|
25
|
-
|
|
26
22
|
### Outputs
|
|
27
23
|
|
|
28
24
|
- **tool**: The configured calculator tool that other nodes can use
|
|
@@ -34,3 +30,7 @@ Imagine you want to create an agent that can perform calculations:
|
|
|
34
30
|
1. Add a Calculator to your workflow
|
|
35
31
|
1. Connect the "tool" output to an Agent's "tools" input
|
|
36
32
|
1. Now that agent can perform calculations when needed in conversations
|
|
33
|
+
|
|
34
|
+
## Implementation Details
|
|
35
|
+
|
|
36
|
+
The Calculator tool is implemented using Griptape's `CalculatorTool` class and provides a simple interface for performing mathematical calculations. The tool is designed to be used by agents to handle numerical operations accurately and efficiently.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Date Time
|
|
2
|
+
|
|
3
|
+
## What is it?
|
|
4
|
+
|
|
5
|
+
The Date Time tool is a utility that can be given to an agent to help it perform date and time operations.
|
|
6
|
+
|
|
7
|
+
## When would I use it?
|
|
8
|
+
|
|
9
|
+
Use this node when you want to:
|
|
10
|
+
|
|
11
|
+
- Enable agents to work with dates and times
|
|
12
|
+
- Perform date/time calculations and manipulations
|
|
13
|
+
- Get current time information
|
|
14
|
+
- Format dates and times in different ways
|
|
15
|
+
|
|
16
|
+
## How to use it
|
|
17
|
+
|
|
18
|
+
### Basic Setup
|
|
19
|
+
|
|
20
|
+
1. Add the Date Time tool to your workflow
|
|
21
|
+
1. Connect its output to nodes that need date/time capabilities (like an Agent)
|
|
22
|
+
|
|
23
|
+
### Outputs
|
|
24
|
+
|
|
25
|
+
- **tool**: The configured date time tool that other nodes can use
|
|
26
|
+
|
|
27
|
+
## Example
|
|
28
|
+
|
|
29
|
+
Imagine you want to create an agent that can work with dates and times:
|
|
30
|
+
|
|
31
|
+
1. Add a Date Time tool to your workflow
|
|
32
|
+
1. Connect the "tool" output to an Agent's "tools" input
|
|
33
|
+
1. Now that agent can perform date and time operations when needed in conversations
|
|
34
|
+
|
|
35
|
+
## Implementation Details
|
|
36
|
+
|
|
37
|
+
The Date Time tool is implemented using Griptape's `DateTimeTool` class and provides a comprehensive interface for handling date and time operations. The tool is designed to be used by agents to manage temporal data and perform time-based calculations.
|