griptape-nodes 0.60.0__tar.gz → 0.60.2__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 (200) hide show
  1. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/PKG-INFO +1 -1
  2. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/pyproject.toml +1 -1
  3. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/cli/commands/libraries.py +21 -1
  4. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/os_manager.py +8 -8
  5. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/README.md +0 -0
  6. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/__init__.py +0 -0
  7. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/__main__.py +0 -0
  8. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/api_client/__init__.py +0 -0
  9. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/api_client/client.py +0 -0
  10. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/api_client/request_client.py +0 -0
  11. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/app/.python-version +0 -0
  12. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/app/__init__.py +0 -0
  13. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/app/app.py +0 -0
  14. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/app/watch.py +0 -0
  15. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/bootstrap/__init__.py +0 -0
  16. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/bootstrap/utils/__init__.py +0 -0
  17. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/bootstrap/utils/python_subprocess_executor.py +0 -0
  18. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/bootstrap/workflow_executors/__init__.py +0 -0
  19. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/bootstrap/workflow_executors/local_session_workflow_executor.py +0 -0
  20. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/bootstrap/workflow_executors/local_workflow_executor.py +0 -0
  21. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/bootstrap/workflow_executors/subprocess_workflow_executor.py +0 -0
  22. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/bootstrap/workflow_executors/utils/__init__.py +0 -0
  23. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/bootstrap/workflow_executors/utils/subprocess_script.py +0 -0
  24. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/bootstrap/workflow_executors/workflow_executor.py +0 -0
  25. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/bootstrap/workflow_publishers/__init__.py +0 -0
  26. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/bootstrap/workflow_publishers/local_workflow_publisher.py +0 -0
  27. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/bootstrap/workflow_publishers/subprocess_workflow_publisher.py +0 -0
  28. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/bootstrap/workflow_publishers/utils/__init__.py +0 -0
  29. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/bootstrap/workflow_publishers/utils/subprocess_script.py +0 -0
  30. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/cli/__init__.py +0 -0
  31. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/cli/commands/__init__.py +0 -0
  32. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/cli/commands/config.py +0 -0
  33. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/cli/commands/engine.py +0 -0
  34. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/cli/commands/init.py +0 -0
  35. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/cli/commands/models.py +0 -0
  36. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/cli/commands/self.py +0 -0
  37. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/cli/main.py +0 -0
  38. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/cli/shared.py +0 -0
  39. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/common/__init__.py +0 -0
  40. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/common/directed_graph.py +0 -0
  41. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/common/macro_parser/__init__.py +0 -0
  42. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/common/macro_parser/core.py +0 -0
  43. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/common/macro_parser/exceptions.py +0 -0
  44. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/common/macro_parser/formats.py +0 -0
  45. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/common/macro_parser/matching.py +0 -0
  46. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/common/macro_parser/parsing.py +0 -0
  47. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/common/macro_parser/resolution.py +0 -0
  48. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/common/macro_parser/segments.py +0 -0
  49. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/common/node_executor.py +0 -0
  50. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/drivers/__init__.py +0 -0
  51. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/drivers/storage/__init__.py +0 -0
  52. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/drivers/storage/base_storage_driver.py +0 -0
  53. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/drivers/storage/griptape_cloud_storage_driver.py +0 -0
  54. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/drivers/storage/local_storage_driver.py +0 -0
  55. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/drivers/storage/storage_backend.py +0 -0
  56. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/__init__.py +0 -0
  57. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/connections.py +0 -0
  58. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/core_types.py +0 -0
  59. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/flow.py +0 -0
  60. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/node_types.py +0 -0
  61. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/param_components/__init__.py +0 -0
  62. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/param_components/execution_status_component.py +0 -0
  63. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/param_components/huggingface/__init__.py +0 -0
  64. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/param_components/huggingface/huggingface_model_parameter.py +0 -0
  65. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/param_components/huggingface/huggingface_repo_file_parameter.py +0 -0
  66. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/param_components/huggingface/huggingface_repo_parameter.py +0 -0
  67. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/param_components/huggingface/huggingface_utils.py +0 -0
  68. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/param_components/log_parameter.py +0 -0
  69. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/param_components/seed_parameter.py +0 -0
  70. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/param_types/__init__.py +0 -0
  71. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/param_types/parameter_bool.py +0 -0
  72. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/param_types/parameter_float.py +0 -0
  73. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/param_types/parameter_int.py +0 -0
  74. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/param_types/parameter_number.py +0 -0
  75. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/param_types/parameter_string.py +0 -0
  76. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/exe_types/type_validator.py +0 -0
  77. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/machines/__init__.py +0 -0
  78. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/machines/control_flow.py +0 -0
  79. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/machines/dag_builder.py +0 -0
  80. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/machines/fsm.py +0 -0
  81. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/machines/parallel_resolution.py +0 -0
  82. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/machines/sequential_resolution.py +0 -0
  83. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/mcp_server/__init__.py +0 -0
  84. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/node_library/__init__.py +0 -0
  85. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/node_library/advanced_node_library.py +0 -0
  86. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/node_library/library_registry.py +0 -0
  87. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/node_library/workflow_registry.py +0 -0
  88. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/py.typed +0 -0
  89. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/__init__.py +0 -0
  90. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/__init__.py +0 -0
  91. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/agent_events.py +0 -0
  92. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/app_events.py +0 -0
  93. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/arbitrary_python_events.py +0 -0
  94. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/base_events.py +0 -0
  95. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/config_events.py +0 -0
  96. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/connection_events.py +0 -0
  97. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/context_events.py +0 -0
  98. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/execution_events.py +0 -0
  99. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/flow_events.py +0 -0
  100. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/generate_request_payload_schemas.py +0 -0
  101. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/library_events.py +0 -0
  102. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/logger_events.py +0 -0
  103. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/mcp_events.py +0 -0
  104. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/model_events.py +0 -0
  105. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/node_events.py +0 -0
  106. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/object_events.py +0 -0
  107. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/os_events.py +0 -0
  108. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/parameter_events.py +0 -0
  109. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/payload_registry.py +0 -0
  110. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/resource_events.py +0 -0
  111. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/secrets_events.py +0 -0
  112. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/static_file_events.py +0 -0
  113. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/sync_events.py +0 -0
  114. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/validation_events.py +0 -0
  115. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/variable_events.py +0 -0
  116. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/events/workflow_events.py +0 -0
  117. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/griptape_nodes.py +0 -0
  118. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/__init__.py +0 -0
  119. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/agent_manager.py +0 -0
  120. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/arbitrary_code_exec_manager.py +0 -0
  121. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/config_manager.py +0 -0
  122. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/context_manager.py +0 -0
  123. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/engine_identity_manager.py +0 -0
  124. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/event_manager.py +0 -0
  125. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/flow_manager.py +0 -0
  126. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/library_lifecycle/__init__.py +0 -0
  127. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/library_lifecycle/data_models.py +0 -0
  128. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_directory.py +0 -0
  129. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_fsm.py +0 -0
  130. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/__init__.py +0 -0
  131. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/base.py +0 -0
  132. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/github.py +0 -0
  133. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/local_file.py +0 -0
  134. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/package.py +0 -0
  135. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/sandbox.py +0 -0
  136. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance.py +0 -0
  137. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/library_lifecycle/library_status.py +0 -0
  138. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/library_manager.py +0 -0
  139. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/mcp_manager.py +0 -0
  140. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/model_manager.py +0 -0
  141. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/node_manager.py +0 -0
  142. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/object_manager.py +0 -0
  143. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/operation_manager.py +0 -0
  144. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/resource_components/__init__.py +0 -0
  145. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/resource_components/capability_field.py +0 -0
  146. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/resource_components/comparator.py +0 -0
  147. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/resource_components/resource_instance.py +0 -0
  148. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/resource_components/resource_type.py +0 -0
  149. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/resource_manager.py +0 -0
  150. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/resource_types/__init__.py +0 -0
  151. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/resource_types/cpu_resource.py +0 -0
  152. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/resource_types/os_resource.py +0 -0
  153. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/secrets_manager.py +0 -0
  154. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/session_manager.py +0 -0
  155. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/settings.py +0 -0
  156. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/static_files_manager.py +0 -0
  157. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/sync_manager.py +0 -0
  158. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/user_manager.py +0 -0
  159. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/variable_manager.py +0 -0
  160. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/version_compatibility_manager.py +0 -0
  161. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/managers/workflow_manager.py +0 -0
  162. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/retained_mode.py +0 -0
  163. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/utils/__init__.py +0 -0
  164. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/utils/name_generator.py +0 -0
  165. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/retained_mode/variable_types.py +0 -0
  166. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/servers/__init__.py +0 -0
  167. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/servers/mcp.py +0 -0
  168. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/servers/static.py +0 -0
  169. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/traits/__init__.py +0 -0
  170. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/traits/add_param_button.py +0 -0
  171. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/traits/button.py +0 -0
  172. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/traits/clamp.py +0 -0
  173. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/traits/color_picker.py +0 -0
  174. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/traits/compare.py +0 -0
  175. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/traits/compare_images.py +0 -0
  176. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/traits/file_system_picker.py +0 -0
  177. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/traits/minmax.py +0 -0
  178. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/traits/multi_options.py +0 -0
  179. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/traits/numbers_selector.py +0 -0
  180. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/traits/options.py +0 -0
  181. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/traits/slider.py +0 -0
  182. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/traits/trait_registry.py +0 -0
  183. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/traits/traits.json +0 -0
  184. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/updater/__init__.py +0 -0
  185. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/updater/__main__.py +0 -0
  186. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/utils/__init__.py +0 -0
  187. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/utils/async_utils.py +0 -0
  188. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/utils/dict_utils.py +0 -0
  189. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/utils/huggingface_utils.py +0 -0
  190. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/utils/image_preview.py +0 -0
  191. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/utils/metaclasses.py +0 -0
  192. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/utils/uv_utils.py +0 -0
  193. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/utils/version_utils.py +0 -0
  194. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/version_compatibility/__init__.py +0 -0
  195. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/version_compatibility/versions/__init__.py +0 -0
  196. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/version_compatibility/versions/v0_39_0/__init__.py +0 -0
  197. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/version_compatibility/versions/v0_39_0/modified_parameters_set_removal.py +0 -0
  198. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/version_compatibility/workflow_versions/__init__.py +0 -0
  199. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/src/griptape_nodes/version_compatibility/workflow_versions/v0_7_0/__init__.py +0 -0
  200. {griptape_nodes-0.60.0 → griptape_nodes-0.60.2}/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.60.0
3
+ Version: 0.60.2
4
4
  Summary: Add your description here
5
5
  Requires-Dist: griptape>=1.8.8
6
6
  Requires-Dist: pydantic>=2.10.6
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "griptape-nodes"
3
- version = "0.60.0"
3
+ version = "0.60.2"
4
4
  description = "Add your description here"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12.0, <3.13"
@@ -2,6 +2,7 @@
2
2
 
3
3
  import asyncio
4
4
  import shutil
5
+ import stat
5
6
  import tarfile
6
7
  import tempfile
7
8
  from pathlib import Path
@@ -80,7 +81,7 @@ async def _sync_libraries(*, load_libraries_from_config: bool = True) -> None:
80
81
  if library_dir.is_dir():
81
82
  dest_library_dir = dest_nodes / library_dir.name
82
83
  if dest_library_dir.exists():
83
- shutil.rmtree(dest_library_dir)
84
+ shutil.rmtree(dest_library_dir, onexc=_remove_readonly)
84
85
  shutil.copytree(library_dir, dest_library_dir)
85
86
  console.print(f"[green]Synced library: {library_dir.name}[/green]")
86
87
 
@@ -94,3 +95,22 @@ async def _sync_libraries(*, load_libraries_from_config: bool = True) -> None:
94
95
  console.print(f"[red]Error initializing libraries: {e}[/red]")
95
96
 
96
97
  console.print("[bold green]Libraries synced.[/bold green]")
98
+
99
+
100
+ def _remove_readonly(func, path, excinfo) -> None: # noqa: ANN001, ARG001
101
+ """Handles read-only files and long paths on Windows during shutil.rmtree.
102
+
103
+ https://stackoverflow.com/a/50924863
104
+ """
105
+ if not GriptapeNodes.OSManager().is_windows():
106
+ return
107
+
108
+ long_path = Path(GriptapeNodes.OSManager().normalize_path_for_platform(path))
109
+
110
+ try:
111
+ Path.chmod(long_path, stat.S_IWRITE)
112
+ func(long_path)
113
+ except Exception as e:
114
+ console.print(f"[red]Error removing read-only file: {path}[/red]")
115
+ console.print(f"[red]Details: {e}[/red]")
116
+ raise
@@ -178,7 +178,7 @@ class OSManager:
178
178
  logger.debug(msg)
179
179
  return True, relative
180
180
 
181
- def _normalize_path_for_platform(self, path: Path) -> str:
181
+ def normalize_path_for_platform(self, path: Path) -> str:
182
182
  r"""Convert Path to string with Windows long path support if needed.
183
183
 
184
184
  Windows has a 260 character path limit (MAX_PATH). Paths longer than this
@@ -334,12 +334,12 @@ class OSManager:
334
334
  if self.is_windows():
335
335
  # Linter complains but this is the recommended way on Windows
336
336
  # We can ignore this warning as we've validated the path
337
- os.startfile(self._normalize_path_for_platform(path)) # noqa: S606 # pyright: ignore[reportAttributeAccessIssue]
337
+ os.startfile(self.normalize_path_for_platform(path)) # noqa: S606 # pyright: ignore[reportAttributeAccessIssue]
338
338
  logger.info("Opened path on Windows: %s", path)
339
339
  elif self.is_mac():
340
340
  # On macOS, open should be in a standard location
341
341
  subprocess.run( # noqa: S603
342
- ["/usr/bin/open", self._normalize_path_for_platform(path)],
342
+ ["/usr/bin/open", self.normalize_path_for_platform(path)],
343
343
  check=True, # Explicitly use check
344
344
  capture_output=True,
345
345
  text=True,
@@ -359,7 +359,7 @@ class OSManager:
359
359
  )
360
360
 
361
361
  subprocess.run( # noqa: S603
362
- [xdg_path, self._normalize_path_for_platform(path)],
362
+ [xdg_path, self.normalize_path_for_platform(path)],
363
363
  check=True, # Explicitly use check
364
364
  capture_output=True,
365
365
  text=True,
@@ -390,7 +390,7 @@ class OSManager:
390
390
  return None
391
391
 
392
392
  try:
393
- mime_type, _ = mimetypes.guess_type(self._normalize_path_for_platform(file_path), strict=True)
393
+ mime_type, _ = mimetypes.guess_type(self.normalize_path_for_platform(file_path), strict=True)
394
394
  if mime_type is None:
395
395
  mime_type = "text/plain"
396
396
  return mime_type # noqa: TRY300
@@ -553,7 +553,7 @@ class OSManager:
553
553
  file_size = file_path.stat().st_size
554
554
 
555
555
  # Determine MIME type and compression encoding
556
- normalized_path = self._normalize_path_for_platform(file_path)
556
+ normalized_path = self.normalize_path_for_platform(file_path)
557
557
  mime_type, compression_encoding = mimetypes.guess_type(normalized_path, strict=True)
558
558
  if mime_type is None:
559
559
  mime_type = "text/plain"
@@ -663,7 +663,7 @@ class OSManager:
663
663
  return WriteFileResultFailure(failure_reason=FileIOFailureReason.INVALID_PATH, result_details=msg)
664
664
 
665
665
  # Get normalized path for file operations (handles Windows long paths)
666
- normalized_path = self._normalize_path_for_platform(file_path)
666
+ normalized_path = self.normalize_path_for_platform(file_path)
667
667
 
668
668
  # Check if path is a directory (must check before attempting to write)
669
669
  try:
@@ -693,7 +693,7 @@ class OSManager:
693
693
  return WriteFileResultFailure(failure_reason=FileIOFailureReason.IO_ERROR, result_details=msg)
694
694
 
695
695
  # Check and create parent directory if needed
696
- parent_normalized = self._normalize_path_for_platform(file_path.parent)
696
+ parent_normalized = self.normalize_path_for_platform(file_path.parent)
697
697
  try:
698
698
  if not os.path.exists(parent_normalized): # noqa: PTH110
699
699
  if not request.create_parents: