griptape-nodes 0.63.3__tar.gz → 0.63.5__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 (268) hide show
  1. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/PKG-INFO +1 -1
  2. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/pyproject.toml +1 -1
  3. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/drivers/storage/local_storage_driver.py +1 -0
  4. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/library_manager.py +2 -1
  5. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/settings.py +7 -0
  6. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/static_files_manager.py +8 -2
  7. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/servers/static.py +16 -10
  8. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/README.md +0 -0
  9. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/__init__.py +0 -0
  10. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/__main__.py +0 -0
  11. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/api_client/__init__.py +0 -0
  12. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/api_client/client.py +0 -0
  13. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/api_client/request_client.py +0 -0
  14. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/app/.python-version +0 -0
  15. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/app/__init__.py +0 -0
  16. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/app/app.py +0 -0
  17. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/app/watch.py +0 -0
  18. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/bootstrap/__init__.py +0 -0
  19. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/bootstrap/utils/__init__.py +0 -0
  20. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/bootstrap/utils/python_subprocess_executor.py +0 -0
  21. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/bootstrap/workflow_executors/__init__.py +0 -0
  22. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/bootstrap/workflow_executors/local_session_workflow_executor.py +0 -0
  23. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/bootstrap/workflow_executors/local_workflow_executor.py +0 -0
  24. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/bootstrap/workflow_executors/subprocess_workflow_executor.py +0 -0
  25. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/bootstrap/workflow_executors/utils/__init__.py +0 -0
  26. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/bootstrap/workflow_executors/utils/subprocess_script.py +0 -0
  27. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/bootstrap/workflow_executors/workflow_executor.py +0 -0
  28. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/bootstrap/workflow_publishers/__init__.py +0 -0
  29. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/bootstrap/workflow_publishers/local_workflow_publisher.py +0 -0
  30. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/bootstrap/workflow_publishers/subprocess_workflow_publisher.py +0 -0
  31. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/bootstrap/workflow_publishers/utils/__init__.py +0 -0
  32. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/bootstrap/workflow_publishers/utils/subprocess_script.py +0 -0
  33. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/cli/__init__.py +0 -0
  34. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/cli/commands/__init__.py +0 -0
  35. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/cli/commands/config.py +0 -0
  36. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/cli/commands/engine.py +0 -0
  37. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/cli/commands/init.py +0 -0
  38. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/cli/commands/libraries.py +0 -0
  39. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/cli/commands/models.py +0 -0
  40. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/cli/commands/self.py +0 -0
  41. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/cli/main.py +0 -0
  42. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/cli/shared.py +0 -0
  43. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/common/__init__.py +0 -0
  44. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/common/directed_graph.py +0 -0
  45. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/common/macro_parser/__init__.py +0 -0
  46. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/common/macro_parser/core.py +0 -0
  47. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/common/macro_parser/exceptions.py +0 -0
  48. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/common/macro_parser/formats.py +0 -0
  49. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/common/macro_parser/matching.py +0 -0
  50. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/common/macro_parser/parsing.py +0 -0
  51. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/common/macro_parser/resolution.py +0 -0
  52. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/common/macro_parser/segments.py +0 -0
  53. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/common/node_executor.py +0 -0
  54. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/common/project_templates/__init__.py +0 -0
  55. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/common/project_templates/default_project_template.py +0 -0
  56. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/common/project_templates/defaults/README.md +0 -0
  57. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/common/project_templates/directory.py +0 -0
  58. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/common/project_templates/loader.py +0 -0
  59. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/common/project_templates/project.py +0 -0
  60. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/common/project_templates/situation.py +0 -0
  61. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/common/project_templates/validation.py +0 -0
  62. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/drivers/__init__.py +0 -0
  63. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/drivers/storage/__init__.py +0 -0
  64. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/drivers/storage/base_storage_driver.py +0 -0
  65. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/drivers/storage/griptape_cloud_storage_driver.py +0 -0
  66. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/drivers/storage/storage_backend.py +0 -0
  67. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/drivers/thread_storage/__init__.py +0 -0
  68. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/drivers/thread_storage/base_thread_storage_driver.py +0 -0
  69. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/drivers/thread_storage/griptape_cloud_thread_storage_driver.py +0 -0
  70. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/drivers/thread_storage/local_thread_storage_driver.py +0 -0
  71. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/drivers/thread_storage/thread_storage_backend.py +0 -0
  72. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/__init__.py +0 -0
  73. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/connections.py +0 -0
  74. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/core_types.py +0 -0
  75. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/flow.py +0 -0
  76. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/node_types.py +0 -0
  77. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/param_components/__init__.py +0 -0
  78. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/param_components/execution_status_component.py +0 -0
  79. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/param_components/huggingface/__init__.py +0 -0
  80. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/param_components/huggingface/huggingface_model_parameter.py +0 -0
  81. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/param_components/huggingface/huggingface_repo_file_parameter.py +0 -0
  82. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/param_components/huggingface/huggingface_repo_parameter.py +0 -0
  83. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/param_components/huggingface/huggingface_utils.py +0 -0
  84. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/param_components/log_parameter.py +0 -0
  85. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/param_components/progress_bar_component.py +0 -0
  86. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/param_components/seed_parameter.py +0 -0
  87. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/param_types/__init__.py +0 -0
  88. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/param_types/parameter_audio.py +0 -0
  89. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/param_types/parameter_bool.py +0 -0
  90. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/param_types/parameter_float.py +0 -0
  91. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/param_types/parameter_image.py +0 -0
  92. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/param_types/parameter_int.py +0 -0
  93. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/param_types/parameter_number.py +0 -0
  94. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/param_types/parameter_string.py +0 -0
  95. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/param_types/parameter_three_d.py +0 -0
  96. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/param_types/parameter_video.py +0 -0
  97. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/exe_types/type_validator.py +0 -0
  98. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/machines/__init__.py +0 -0
  99. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/machines/control_flow.py +0 -0
  100. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/machines/dag_builder.py +0 -0
  101. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/machines/fsm.py +0 -0
  102. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/machines/parallel_resolution.py +0 -0
  103. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/machines/sequential_resolution.py +0 -0
  104. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/mcp_server/__init__.py +0 -0
  105. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/node_library/__init__.py +0 -0
  106. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/node_library/advanced_node_library.py +0 -0
  107. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/node_library/library_registry.py +0 -0
  108. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/node_library/workflow_registry.py +0 -0
  109. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/py.typed +0 -0
  110. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/__init__.py +0 -0
  111. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/__init__.py +0 -0
  112. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/agent_events.py +0 -0
  113. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/app_events.py +0 -0
  114. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/arbitrary_python_events.py +0 -0
  115. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/base_events.py +0 -0
  116. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/config_events.py +0 -0
  117. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/connection_events.py +0 -0
  118. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/context_events.py +0 -0
  119. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/execution_events.py +0 -0
  120. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/flow_events.py +0 -0
  121. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/generate_request_payload_schemas.py +0 -0
  122. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/library_events.py +0 -0
  123. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/logger_events.py +0 -0
  124. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/mcp_events.py +0 -0
  125. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/model_events.py +0 -0
  126. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/node_events.py +0 -0
  127. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/object_events.py +0 -0
  128. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/os_events.py +0 -0
  129. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/parameter_events.py +0 -0
  130. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/payload_registry.py +0 -0
  131. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/project_events.py +0 -0
  132. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/resource_events.py +0 -0
  133. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/secrets_events.py +0 -0
  134. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/static_file_events.py +0 -0
  135. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/sync_events.py +0 -0
  136. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/validation_events.py +0 -0
  137. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/variable_events.py +0 -0
  138. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/events/workflow_events.py +0 -0
  139. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/griptape_nodes.py +0 -0
  140. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/__init__.py +0 -0
  141. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/agent_manager.py +0 -0
  142. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/arbitrary_code_exec_manager.py +0 -0
  143. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/config_manager.py +0 -0
  144. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/context_manager.py +0 -0
  145. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/engine_identity_manager.py +0 -0
  146. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/event_manager.py +0 -0
  147. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/__init__.py +0 -0
  148. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/__init__.py +0 -0
  149. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/advanced_library_load_failure_problem.py +0 -0
  150. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/after_library_callback_problem.py +0 -0
  151. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/before_library_callback_problem.py +0 -0
  152. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/create_config_category_problem.py +0 -0
  153. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/dependency_installation_failed_problem.py +0 -0
  154. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/deprecated_node_warning_problem.py +0 -0
  155. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/duplicate_library_problem.py +0 -0
  156. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/duplicate_node_registration_problem.py +0 -0
  157. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/engine_version_error_problem.py +0 -0
  158. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/insufficient_disk_space_problem.py +0 -0
  159. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/invalid_version_string_problem.py +0 -0
  160. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/library_json_decode_problem.py +0 -0
  161. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/library_load_exception_problem.py +0 -0
  162. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/library_not_found_problem.py +0 -0
  163. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/library_problem.py +0 -0
  164. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/library_schema_exception_problem.py +0 -0
  165. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/library_schema_validation_problem.py +0 -0
  166. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/modified_parameters_set_deprecation_warning_problem.py +0 -0
  167. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/modified_parameters_set_removed_problem.py +0 -0
  168. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/node_class_not_base_node_problem.py +0 -0
  169. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/node_class_not_found_problem.py +0 -0
  170. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/node_module_import_problem.py +0 -0
  171. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/sandbox_directory_missing_problem.py +0 -0
  172. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/ui_options_field_modified_incompatible_problem.py +0 -0
  173. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/ui_options_field_modified_warning_problem.py +0 -0
  174. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/update_config_category_problem.py +0 -0
  175. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/libraries/venv_creation_failed_problem.py +0 -0
  176. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/__init__.py +0 -0
  177. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/deprecated_node_in_workflow_problem.py +0 -0
  178. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/invalid_dependency_version_string_problem.py +0 -0
  179. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/invalid_library_version_string_problem.py +0 -0
  180. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/invalid_metadata_schema_problem.py +0 -0
  181. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/invalid_metadata_section_count_problem.py +0 -0
  182. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/invalid_toml_format_problem.py +0 -0
  183. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/library_not_registered_problem.py +0 -0
  184. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/library_version_below_required_problem.py +0 -0
  185. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/library_version_large_difference_problem.py +0 -0
  186. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/library_version_major_mismatch_problem.py +0 -0
  187. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/library_version_minor_difference_problem.py +0 -0
  188. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/missing_creation_date_problem.py +0 -0
  189. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/missing_last_modified_date_problem.py +0 -0
  190. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/missing_toml_section_problem.py +0 -0
  191. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/node_type_not_found_problem.py +0 -0
  192. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/workflow_not_found_problem.py +0 -0
  193. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/workflow_problem.py +0 -0
  194. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/fitness_problems/workflows/workflow_schema_version_problem.py +0 -0
  195. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/flow_manager.py +0 -0
  196. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/library_lifecycle/__init__.py +0 -0
  197. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/library_lifecycle/data_models.py +0 -0
  198. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_directory.py +0 -0
  199. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_fsm.py +0 -0
  200. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/__init__.py +0 -0
  201. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/base.py +0 -0
  202. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/github.py +0 -0
  203. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/local_file.py +0 -0
  204. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/package.py +0 -0
  205. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/sandbox.py +0 -0
  206. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance.py +0 -0
  207. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_status.py +0 -0
  208. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/mcp_manager.py +0 -0
  209. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/model_manager.py +0 -0
  210. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/node_manager.py +0 -0
  211. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/object_manager.py +0 -0
  212. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/operation_manager.py +0 -0
  213. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/os_manager.py +0 -0
  214. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/project_manager.py +0 -0
  215. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/resource_components/__init__.py +0 -0
  216. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/resource_components/capability_field.py +0 -0
  217. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/resource_components/comparator.py +0 -0
  218. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/resource_components/resource_instance.py +0 -0
  219. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/resource_components/resource_type.py +0 -0
  220. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/resource_manager.py +0 -0
  221. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/resource_types/__init__.py +0 -0
  222. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/resource_types/cpu_resource.py +0 -0
  223. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/resource_types/os_resource.py +0 -0
  224. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/secrets_manager.py +0 -0
  225. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/session_manager.py +0 -0
  226. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/sync_manager.py +0 -0
  227. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/user_manager.py +0 -0
  228. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/variable_manager.py +0 -0
  229. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/version_compatibility_manager.py +0 -0
  230. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/managers/workflow_manager.py +0 -0
  231. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/retained_mode.py +0 -0
  232. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/utils/__init__.py +0 -0
  233. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/utils/name_generator.py +0 -0
  234. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/retained_mode/variable_types.py +0 -0
  235. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/servers/__init__.py +0 -0
  236. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/servers/mcp.py +0 -0
  237. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/traits/__init__.py +0 -0
  238. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/traits/add_param_button.py +0 -0
  239. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/traits/button.py +0 -0
  240. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/traits/clamp.py +0 -0
  241. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/traits/color_picker.py +0 -0
  242. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/traits/compare.py +0 -0
  243. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/traits/compare_images.py +0 -0
  244. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/traits/file_system_picker.py +0 -0
  245. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/traits/minmax.py +0 -0
  246. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/traits/multi_options.py +0 -0
  247. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/traits/numbers_selector.py +0 -0
  248. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/traits/options.py +0 -0
  249. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/traits/slider.py +0 -0
  250. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/traits/trait_registry.py +0 -0
  251. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/traits/traits.json +0 -0
  252. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/updater/__init__.py +0 -0
  253. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/updater/__main__.py +0 -0
  254. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/utils/__init__.py +0 -0
  255. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/utils/async_utils.py +0 -0
  256. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/utils/dict_utils.py +0 -0
  257. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/utils/huggingface_utils.py +0 -0
  258. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/utils/image_preview.py +0 -0
  259. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/utils/metaclasses.py +0 -0
  260. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/utils/uv_utils.py +0 -0
  261. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/utils/version_utils.py +0 -0
  262. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/version_compatibility/__init__.py +0 -0
  263. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/version_compatibility/versions/__init__.py +0 -0
  264. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/version_compatibility/versions/v0_39_0/__init__.py +0 -0
  265. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/version_compatibility/versions/v0_39_0/modified_parameters_set_removal.py +0 -0
  266. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/version_compatibility/workflow_versions/__init__.py +0 -0
  267. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/version_compatibility/workflow_versions/v0_7_0/__init__.py +0 -0
  268. {griptape_nodes-0.63.3 → griptape_nodes-0.63.5}/src/griptape_nodes/version_compatibility/workflow_versions/v0_7_0/local_executor_argument_addition.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: griptape-nodes
3
- Version: 0.63.3
3
+ Version: 0.63.5
4
4
  Summary: Add your description here
5
5
  Requires-Dist: griptape>=1.8.12
6
6
  Requires-Dist: pydantic>=2.10.6
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "griptape-nodes"
3
- version = "0.63.3"
3
+ version = "0.63.5"
4
4
  description = "Add your description here"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12.0, <3.13"
@@ -33,6 +33,7 @@ class LocalStorageDriver(BaseStorageDriver):
33
33
  msg = "Static server is not enabled. Please set STATIC_SERVER_ENABLED to True."
34
34
  raise ValueError(msg)
35
35
  if base_url is None:
36
+ # Default to localhost - the storage driver creator can pass a proxy URL if needed
36
37
  self.base_url = f"http://{STATIC_SERVER_HOST}:{STATIC_SERVER_PORT}{STATIC_SERVER_URL}"
37
38
  else:
38
39
  self.base_url = base_url
@@ -149,6 +149,7 @@ console = Console()
149
149
  class LibraryManager:
150
150
  SANDBOX_LIBRARY_NAME = "Sandbox Library"
151
151
  LIBRARY_CONFIG_FILENAME = "griptape_nodes_library.json"
152
+ LIBRARY_CONFIG_GLOB_PATTERN = "griptape[_-]nodes[_-]library.json"
152
153
 
153
154
  @dataclass
154
155
  class LibraryInfo:
@@ -2210,7 +2211,7 @@ class LibraryManager:
2210
2211
  """Process a path, handling both files and directories."""
2211
2212
  if path.is_dir():
2212
2213
  # Process all library JSON files recursively in the directory
2213
- discovered_libraries.update(path.rglob(LibraryManager.LIBRARY_CONFIG_FILENAME))
2214
+ discovered_libraries.update(path.rglob(LibraryManager.LIBRARY_CONFIG_GLOB_PATTERN))
2214
2215
  elif path.suffix == ".json":
2215
2216
  discovered_libraries.add(path)
2216
2217
 
@@ -1,3 +1,4 @@
1
+ import os
1
2
  from enum import StrEnum
2
3
  from pathlib import Path
3
4
  from typing import Any, Literal
@@ -25,6 +26,7 @@ STORAGE = Category(name="Storage", description="Data storage and persistence con
25
26
  SYSTEM_REQUIREMENTS = Category(name="System Requirements", description="System resource requirements and limits")
26
27
  MCP_SERVERS = Category(name="MCP Servers", description="Model Context Protocol server configurations")
27
28
  PROJECTS = Category(name="Projects", description="Project template configurations and registrations")
29
+ STATIC_SERVER = Category(name="Static Server", description="Static file server configuration for serving media assets")
28
30
 
29
31
 
30
32
  def Field(category: str | Category = "General", **kwargs) -> Any:
@@ -232,3 +234,8 @@ class Settings(BaseModel):
232
234
  default_factory=list,
233
235
  description="List of Model Context Protocol server configurations",
234
236
  )
237
+ static_server_base_url: str = Field(
238
+ category=STATIC_SERVER,
239
+ default_factory=lambda: f"http://{os.getenv('STATIC_SERVER_HOST', 'localhost')}:{os.getenv('STATIC_SERVER_PORT', '8124')}",
240
+ description="Base URL for the static server. Defaults to http://localhost:8124 (or values from STATIC_SERVER_HOST/PORT env vars). Override this when using tunnels (ngrok, cloudflare) or reverse proxies.",
241
+ )
@@ -53,6 +53,12 @@ class StaticFilesManager:
53
53
  self.storage_backend = config_manager.get_config_value("storage_backend", default=StorageBackend.LOCAL)
54
54
  workspace_directory = Path(config_manager.get_config_value("workspace_directory"))
55
55
 
56
+ # Build base URL for LocalStorageDriver from configured base URL
57
+ from griptape_nodes.servers.static import STATIC_SERVER_URL
58
+
59
+ base_url_config = config_manager.get_config_value("static_server_base_url")
60
+ base_url = f"{base_url_config}{STATIC_SERVER_URL}"
61
+
56
62
  match self.storage_backend:
57
63
  case StorageBackend.GTC:
58
64
  bucket_id = secrets_manager.get_secret("GT_CLOUD_BUCKET_ID", should_error_on_not_found=False)
@@ -61,7 +67,7 @@ class StaticFilesManager:
61
67
  logger.warning(
62
68
  "GT_CLOUD_BUCKET_ID secret is not available, falling back to local storage. Run `gtn init` to set it up."
63
69
  )
64
- self.storage_driver = LocalStorageDriver(workspace_directory)
70
+ self.storage_driver = LocalStorageDriver(workspace_directory, base_url=base_url)
65
71
  else:
66
72
  static_files_directory = config_manager.get_config_value(
67
73
  "static_files_directory", default="staticfiles"
@@ -73,7 +79,7 @@ class StaticFilesManager:
73
79
  static_files_directory=static_files_directory,
74
80
  )
75
81
  case StorageBackend.LOCAL:
76
- self.storage_driver = LocalStorageDriver(workspace_directory)
82
+ self.storage_driver = LocalStorageDriver(workspace_directory, base_url=base_url)
77
83
  case _:
78
84
  msg = f"Invalid storage backend: {self.storage_backend}"
79
85
  raise ValueError(msg)
@@ -16,9 +16,9 @@ from griptape_nodes.retained_mode.griptape_nodes import GriptapeNodes
16
16
 
17
17
  # Whether to enable the static server
18
18
  STATIC_SERVER_ENABLED = os.getenv("STATIC_SERVER_ENABLED", "true").lower() == "true"
19
- # Host of the static server
19
+ # Host of the static server (where uvicorn binds)
20
20
  STATIC_SERVER_HOST = os.getenv("STATIC_SERVER_HOST", "localhost")
21
- # Port of the static server
21
+ # Port of the static server (where uvicorn binds)
22
22
  STATIC_SERVER_PORT = int(os.getenv("STATIC_SERVER_PORT", "8124"))
23
23
  # URL path for the static server
24
24
  STATIC_SERVER_URL = os.getenv("STATIC_SERVER_URL", "/workspace")
@@ -34,10 +34,11 @@ async def _create_static_file_upload_url(request: Request) -> dict:
34
34
 
35
35
  Similar to a presigned URL, but for uploading files to the static server.
36
36
  """
37
- base_url = request.base_url
37
+ base_url = GriptapeNodes.ConfigManager().get_config_value("static_server_base_url")
38
+
38
39
  body = await request.json()
39
40
  file_path = body["file_path"].lstrip("/")
40
- url = urljoin(str(base_url), f"/static-uploads/{file_path}")
41
+ url = urljoin(base_url, f"/static-uploads/{file_path}")
41
42
 
42
43
  return {"url": url}
43
44
 
@@ -66,7 +67,8 @@ async def _create_static_file(request: Request, file_path: str) -> dict:
66
67
  logger.error(msg)
67
68
  raise HTTPException(status_code=500, detail=msg) from e
68
69
 
69
- static_url = f"http://{STATIC_SERVER_HOST}:{STATIC_SERVER_PORT}{STATIC_SERVER_URL}/{file_path}"
70
+ base_url = GriptapeNodes.ConfigManager().get_config_value("static_server_base_url")
71
+ static_url = urljoin(f"{base_url}{STATIC_SERVER_URL}/", file_path)
70
72
  return {"url": static_url}
71
73
 
72
74
 
@@ -144,14 +146,18 @@ def start_static_server() -> None:
144
146
  app.add_api_route("/static-uploads/", _list_static_files, methods=["GET"])
145
147
  app.add_api_route("/static-files/{file_path:path}", _delete_static_file, methods=["DELETE"])
146
148
 
149
+ # Build CORS allowed origins list
150
+ allowed_origins = [
151
+ os.getenv("GRIPTAPE_NODES_UI_BASE_URL", "https://app.nodes.griptape.ai"),
152
+ "https://app.nodes-staging.griptape.ai",
153
+ "http://localhost:5173",
154
+ GriptapeNodes.ConfigManager().get_config_value("static_server_base_url"),
155
+ ]
156
+
147
157
  # Add CORS middleware
148
158
  app.add_middleware(
149
159
  CORSMiddleware,
150
- allow_origins=[
151
- os.getenv("GRIPTAPE_NODES_UI_BASE_URL", "https://app.nodes.griptape.ai"),
152
- "https://app.nodes-staging.griptape.ai",
153
- "http://localhost:5173",
154
- ],
160
+ allow_origins=allowed_origins,
155
161
  allow_credentials=True,
156
162
  allow_methods=["OPTIONS", "GET", "POST", "PUT", "DELETE"],
157
163
  allow_headers=["*"],