griptape-nodes 0.61.0__py3-none-any.whl → 0.62.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. griptape_nodes/common/macro_parser/core.py +4 -4
  2. griptape_nodes/common/macro_parser/exceptions.py +3 -3
  3. griptape_nodes/common/macro_parser/resolution.py +2 -2
  4. griptape_nodes/common/project_templates/default_project_template.py +5 -10
  5. griptape_nodes/common/project_templates/directory.py +5 -5
  6. griptape_nodes/common/project_templates/loader.py +8 -7
  7. griptape_nodes/common/project_templates/project.py +1 -1
  8. griptape_nodes/common/project_templates/situation.py +5 -17
  9. griptape_nodes/common/project_templates/validation.py +3 -3
  10. griptape_nodes/drivers/storage/griptape_cloud_storage_driver.py +2 -2
  11. griptape_nodes/drivers/storage/local_storage_driver.py +2 -2
  12. griptape_nodes/node_library/workflow_registry.py +1 -1
  13. griptape_nodes/retained_mode/events/project_events.py +208 -93
  14. griptape_nodes/retained_mode/managers/event_manager.py +24 -9
  15. griptape_nodes/retained_mode/managers/library_manager.py +12 -21
  16. griptape_nodes/retained_mode/managers/os_manager.py +54 -6
  17. griptape_nodes/retained_mode/managers/project_manager.py +709 -259
  18. griptape_nodes/retained_mode/managers/static_files_manager.py +1 -5
  19. griptape_nodes/retained_mode/managers/sync_manager.py +4 -1
  20. griptape_nodes/retained_mode/managers/workflow_manager.py +2 -10
  21. griptape_nodes/traits/button.py +2 -1
  22. {griptape_nodes-0.61.0.dist-info → griptape_nodes-0.62.1.dist-info}/METADATA +1 -1
  23. {griptape_nodes-0.61.0.dist-info → griptape_nodes-0.62.1.dist-info}/RECORD +25 -26
  24. {griptape_nodes-0.61.0.dist-info → griptape_nodes-0.62.1.dist-info}/WHEEL +1 -1
  25. griptape_nodes/common/project_templates/defaults/project_template.yml +0 -89
  26. {griptape_nodes-0.61.0.dist-info → griptape_nodes-0.62.1.dist-info}/entry_points.txt +0 -0
@@ -104,14 +104,12 @@ class StaticFilesManager:
104
104
  content_bytes = base64.b64decode(request.content)
105
105
  except (binascii.Error, ValueError) as e:
106
106
  msg = f"Failed to decode base64 content for file {file_name}: {e}"
107
- logger.error(msg)
108
107
  return CreateStaticFileResultFailure(error=msg, result_details=msg)
109
108
 
110
109
  try:
111
110
  url = self.save_static_file(content_bytes, file_name)
112
111
  except Exception as e:
113
112
  msg = f"Failed to create static file for file {file_name}: {e}"
114
- logger.error(msg)
115
113
  return CreateStaticFileResultFailure(error=msg, result_details=msg)
116
114
 
117
115
  return CreateStaticFileResultSuccess(url=url, result_details=f"Successfully created static file: {url}")
@@ -137,7 +135,6 @@ class StaticFilesManager:
137
135
  response = self.storage_driver.create_signed_upload_url(full_file_path)
138
136
  except Exception as e:
139
137
  msg = f"Failed to create presigned URL for file {file_name}: {e}"
140
- logger.error(msg)
141
138
  return CreateStaticFileUploadUrlResultFailure(error=msg, result_details=msg)
142
139
 
143
140
  return CreateStaticFileUploadUrlResultSuccess(
@@ -168,7 +165,6 @@ class StaticFilesManager:
168
165
  url = self.storage_driver.create_signed_download_url(full_file_path)
169
166
  except Exception as e:
170
167
  msg = f"Failed to create presigned URL for file {file_name}: {e}"
171
- logger.error(msg)
172
168
  return CreateStaticFileDownloadUrlResultFailure(error=msg, result_details=msg)
173
169
 
174
170
  return CreateStaticFileDownloadUrlResultSuccess(
@@ -177,7 +173,7 @@ class StaticFilesManager:
177
173
 
178
174
  def on_app_initialization_complete(self, _payload: AppInitializationComplete) -> None:
179
175
  # Start static server in daemon thread if enabled
180
- if self.storage_backend == StorageBackend.LOCAL:
176
+ if isinstance(self.storage_driver, LocalStorageDriver):
181
177
  threading.Thread(target=start_static_server, daemon=True, name="static-server").start()
182
178
 
183
179
  def save_static_file(self, data: bytes, file_name: str) -> str:
@@ -76,7 +76,10 @@ class SyncManager:
76
76
  path: Path to the file that will be written
77
77
  content: The exact bytes that will be written to the file
78
78
  """
79
- path_str = str(Path(path).resolve())
79
+ from griptape_nodes.retained_mode.griptape_nodes import GriptapeNodes
80
+
81
+ os_manager = GriptapeNodes.OSManager()
82
+ path_str = str(os_manager.resolve_path_safely(Path(path)))
80
83
  file_hash = hashlib.sha256(content).hexdigest()
81
84
  with self._hash_lock:
82
85
  self._file_hashes[path_str] = file_hash
@@ -2399,16 +2399,8 @@ class WorkflowManager:
2399
2399
  targets=[ast.Name(id="response", ctx=ast.Store())],
2400
2400
  value=ast.Call(
2401
2401
  func=ast.Attribute(
2402
- value=ast.Call(
2403
- func=ast.Attribute(
2404
- value=ast.Name(id="GriptapeNodes", ctx=ast.Load()),
2405
- attr="LibraryManager",
2406
- ctx=ast.Load(),
2407
- ),
2408
- args=[],
2409
- keywords=[],
2410
- ),
2411
- attr="get_all_info_for_all_libraries_request",
2402
+ value=ast.Name(id="GriptapeNodes", ctx=ast.Load()),
2403
+ attr="handle_request",
2412
2404
  ctx=ast.Load(),
2413
2405
  ),
2414
2406
  args=[
@@ -61,7 +61,8 @@ class ButtonDetailsMessagePayload(NodeMessagePayload):
61
61
  class ModalContentPayload(NodeMessagePayload):
62
62
  """Payload containing content to be displayed in a modal dialog."""
63
63
 
64
- clipboard_copyable_content: str
64
+ clipboard_copyable_content: str | None = None
65
+ render_url: str | None = None
65
66
  title: str | None = None
66
67
 
67
68
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: griptape-nodes
3
- Version: 0.61.0
3
+ Version: 0.62.1
4
4
  Summary: Add your description here
5
5
  Requires-Dist: griptape>=1.8.12
6
6
  Requires-Dist: pydantic>=2.10.6
@@ -35,28 +35,27 @@ griptape_nodes/cli/shared.py,sha256=ciuqFxls18HXxNOaqK6QObmb3i7OLbw_DkUxX2g0rL0,
35
35
  griptape_nodes/common/__init__.py,sha256=HTbJfTpu6-nU91zFCZW2qUNeW6bitNWNDayWqH6fpbA,22
36
36
  griptape_nodes/common/directed_graph.py,sha256=hk3C_S4GiG4FZOmufjebb-6_2SwQrbyTidYTSbCDWMU,2361
37
37
  griptape_nodes/common/macro_parser/__init__.py,sha256=Hpot5-igotQ-h-jZ7TuZG7uNCEgNrH6oD8sA3pXQubE,1153
38
- griptape_nodes/common/macro_parser/core.py,sha256=AAsC-f72Oui-3QUuivkeFxVsJsXCQqkvlwNfDIDnIbw,11694
39
- griptape_nodes/common/macro_parser/exceptions.py,sha256=w9PipAQQ197_E6v33VyJbfAonlfjbtTQ3JS7zuz9LY8,3870
38
+ griptape_nodes/common/macro_parser/core.py,sha256=d6fOjovbCL276M9K_LkluYP_SlHRDx0cyrHZntj2IjQ,11701
39
+ griptape_nodes/common/macro_parser/exceptions.py,sha256=fUFxDcIwrFCFadn1o63sksSdfabluRGdt1fmrUr39Vg,3867
40
40
  griptape_nodes/common/macro_parser/formats.py,sha256=JpcGCjvZbxX8GauuQ2tvwBfFEa_pSPECtBBjSeFLJ6s,5355
41
41
  griptape_nodes/common/macro_parser/matching.py,sha256=hnlPIihz8W1TGnfq4anbBGciwghFbFyAHUpbte6M4Bg,4543
42
42
  griptape_nodes/common/macro_parser/parsing.py,sha256=_37L3lCQFeetamWIiHT0C7eW1E3Wyx5V8y8OWzIUw_g,7428
43
- griptape_nodes/common/macro_parser/resolution.py,sha256=PawEGKBHaaHEukOWTFdw9TjzmmQ-mNke3GGUkNRh0es,6937
43
+ griptape_nodes/common/macro_parser/resolution.py,sha256=30_bAIRMKWw-kM3E1ne-my16xT1Wd734JMmZSOZtNPA,6937
44
44
  griptape_nodes/common/macro_parser/segments.py,sha256=r-WbZas1nSc-PlEdAZ7DycNoD6IUf3R_nhGo3T9vIa8,1010
45
45
  griptape_nodes/common/node_executor.py,sha256=d96vYMMpdvGK-ol3priQjveYs7kTcz0A6WXhgnyQttE,29204
46
46
  griptape_nodes/common/project_templates/__init__.py,sha256=5DP6Sa6ClsdDcjD30pkK0iTTysTgGdRKEkeY7ztHZyc,1541
47
- griptape_nodes/common/project_templates/default_project_template.py,sha256=xnujJJEtAcpte1G0D2u6p9SDDTFvIF2Yyn-xHm6h-N4,3386
47
+ griptape_nodes/common/project_templates/default_project_template.py,sha256=PJFPfziH0EOGVxU5L0wZnc21bVVweW4S7wcnGPF45Co,3120
48
48
  griptape_nodes/common/project_templates/defaults/README.md,sha256=1ou6_OFi7-t86nj-7tulW1vxNMtsvkJmNxr6SseG8hA,1080
49
- griptape_nodes/common/project_templates/defaults/project_template.yml,sha256=pS10EQUjW4YnJW86xCdkUoK-cN1oQJW6z87HRfnOEc8,2845
50
- griptape_nodes/common/project_templates/directory.py,sha256=G4y3js7CX8nzDsfXR39O6wV5uozW73bb63VlDf6eyPY,2425
51
- griptape_nodes/common/project_templates/loader.py,sha256=GgBl_Vu-NBgVUIBcSqRM8WpHbjEibJQASs81H2l4biQ,12473
52
- griptape_nodes/common/project_templates/project.py,sha256=xKLYzUC0rs-5QT1ephImc1VN6UipKZW9cCElWaWQ0x0,10544
53
- griptape_nodes/common/project_templates/situation.py,sha256=YAdfBf1rEEtdE6HUdfZHJ6Aydb4tPtIv3Q7piUxqrOw,6164
54
- griptape_nodes/common/project_templates/validation.py,sha256=JbKJY0_uKD8bIsJR0HhGV3Fe_CzqxEoG2o8s-6lg2Bc,4398
49
+ griptape_nodes/common/project_templates/directory.py,sha256=zbfBmfsfs5LrCkDtU4Gtq11OK_gxCqo2LVccObsj3DY,2418
50
+ griptape_nodes/common/project_templates/loader.py,sha256=2H0T3SLgx-Bb90Q_A0drTULw4BA80QUj1ziYbOLaLP4,12470
51
+ griptape_nodes/common/project_templates/project.py,sha256=X5llrgpBS47bsE6De_uW1GQaXoqy3dWsmhqxvlvdAks,10545
52
+ griptape_nodes/common/project_templates/situation.py,sha256=MlpBYrtPvkzIa_j_1NFeDb_V6wXdmixMH3U4eKDBMzw,5567
53
+ griptape_nodes/common/project_templates/validation.py,sha256=LPm0gri05ZIbSfCqOM4duuaXPIeAk3YWMstM5w5O8ho,4399
55
54
  griptape_nodes/drivers/__init__.py,sha256=tHmiFQn6uJyFVhC2PrqHgRUH3d3yDsqMQpWqRasmaqA,42
56
55
  griptape_nodes/drivers/storage/__init__.py,sha256=_7p8vJt3YnnF6sD3Uxxw38c-gazuMIHSS-m3G6sa2Qk,208
57
56
  griptape_nodes/drivers/storage/base_storage_driver.py,sha256=47PrMzxOuJhV2ee4CbPT7YOqR2MjlHr3VxhGON_ygio,3945
58
- griptape_nodes/drivers/storage/griptape_cloud_storage_driver.py,sha256=wFAssDP4pE06-KJXzKfpykSDjwDWgPlz0hWfOfnL-zg,6854
59
- griptape_nodes/drivers/storage/local_storage_driver.py,sha256=6FqtT4I4lZTRSa_7gQG7hDHShVKYySWXaQUCe6i-RmM,3674
57
+ griptape_nodes/drivers/storage/griptape_cloud_storage_driver.py,sha256=qQctInOvfKRJdqTiW8T3ycjre2FDGTb9-JtzEtiCHVM,6870
58
+ griptape_nodes/drivers/storage/local_storage_driver.py,sha256=FqiX1DmvpyKx444f74cFCsQ2Mfx6XiOezRcCGFOCSgQ,3665
60
59
  griptape_nodes/drivers/storage/storage_backend.py,sha256=3QBIwrgPc1krBIiPYLoK2swhIPDiKJnnucOEdyx7y3c,184
61
60
  griptape_nodes/exe_types/__init__.py,sha256=wGGwKGX9-TSarUFbXpDvdU_J7eXIbWTBl_NCLOZa-G8,32
62
61
  griptape_nodes/exe_types/connections.py,sha256=Cjt-RLjYhkTUHTrYlNIUZrYVzsyH7OXo6JO2O6exI8k,13853
@@ -94,7 +93,7 @@ griptape_nodes/mcp_server/__init__.py,sha256=GSpJWqE4lICaryhsQR1okeMH2x6j1bBL0HV
94
93
  griptape_nodes/node_library/__init__.py,sha256=U3FcSdmq6UW7qt6E3Up3NWKvUEn5_5lqL-u5qbzfxMQ,28
95
94
  griptape_nodes/node_library/advanced_node_library.py,sha256=B1ZaxuFIzQ6tx_3MLIxlsHuahthEC1Hw_t6K_ByIdzs,2104
96
95
  griptape_nodes/node_library/library_registry.py,sha256=0PCofxvPh8r1r-me8Y04aIQvVjeO55hvvv7uj5QC9Dw,13951
97
- griptape_nodes/node_library/workflow_registry.py,sha256=yEzONnqIVNBV7Yo2KBPkM72wnMM71G0uIOBaqZhwtVw,10523
96
+ griptape_nodes/node_library/workflow_registry.py,sha256=dOsaOypfHTjWO0e5RDlsrvXsEsVJKfcOhYkH5EuuUos,10523
98
97
  griptape_nodes/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
98
  griptape_nodes/retained_mode/__init__.py,sha256=X12DKL6KhLsiRTPIlrPj2h76_sJ0q0eH4r0kMQkodm0,29
100
99
  griptape_nodes/retained_mode/events/__init__.py,sha256=7B1C-c0jVvnShtHJ2lfX6BZPE0U1DgQwg1e4DorhKG0,22
@@ -117,7 +116,7 @@ griptape_nodes/retained_mode/events/object_events.py,sha256=cJaqEU73Lzf1RRxJrFqE
117
116
  griptape_nodes/retained_mode/events/os_events.py,sha256=uKa0lI-RKq_a3WBf7Rqo1c02qCqjaVbnuRAa1Ck25-I,15916
118
117
  griptape_nodes/retained_mode/events/parameter_events.py,sha256=2s3U_cc45LjSmq2pZyTEnjD6yAlc207wAYY633z4zO4,23938
119
118
  griptape_nodes/retained_mode/events/payload_registry.py,sha256=q-wxUqp63vhNj-Pl1JGJHnBkhUefcCArPoMN3KBREEI,1691
120
- griptape_nodes/retained_mode/events/project_events.py,sha256=sA7FMO7lYoaRBPyP8LEkq5-8hl-QbWJqiAOsrJYP4wQ,11548
119
+ griptape_nodes/retained_mode/events/project_events.py,sha256=f92z6jvYNuVAGmkFcd1VUO6K503pZOBNtR3B1NY4M8g,16717
121
120
  griptape_nodes/retained_mode/events/resource_events.py,sha256=K47UK92wvaRtHu3ByfhkQEMyorrV0ArGewrFSJuVMiI,9015
122
121
  griptape_nodes/retained_mode/events/secrets_events.py,sha256=fCw3OMFfxB8FTZs4ybojm1nqNvhcjtoNylQhX75-jkM,4156
123
122
  griptape_nodes/retained_mode/events/static_file_events.py,sha256=c8kKkrxAPZxrE9fsldpWtweK1C4T-1-dHWw_76SRehM,3764
@@ -132,7 +131,7 @@ griptape_nodes/retained_mode/managers/arbitrary_code_exec_manager.py,sha256=LyWz
132
131
  griptape_nodes/retained_mode/managers/config_manager.py,sha256=WfzvFDPyboHgsCMpVGER6Ar1OHyPD_827LQx9xaUsMM,25573
133
132
  griptape_nodes/retained_mode/managers/context_manager.py,sha256=eb44_CAZhCg2iYIoodlAPpYc67tG3sHyq9dPNoiq_1s,23031
134
133
  griptape_nodes/retained_mode/managers/engine_identity_manager.py,sha256=-31364A03kU0YmAx3nM7nHdWfKnkej5Cawt_Plbwa68,10526
135
- griptape_nodes/retained_mode/managers/event_manager.py,sha256=vXvbLJf7vM2cR6HfUTHyxwIASJe_2FRqk3-_HpPnoF0,13508
134
+ griptape_nodes/retained_mode/managers/event_manager.py,sha256=a1V5lGP7B0Ts3hDvkZfmk33oESFTLP4STPUAgIU_tZU,14383
136
135
  griptape_nodes/retained_mode/managers/flow_manager.py,sha256=YgBIPix-bFA_Htwtur83obXJWnCh5KQ7SLC1dtd0KNQ,192102
137
136
  griptape_nodes/retained_mode/managers/library_lifecycle/__init__.py,sha256=Iq79VxTdETiExBfFWXceJggDZqS6X3OkzXE9XwFclVw,1340
138
137
  griptape_nodes/retained_mode/managers/library_lifecycle/data_models.py,sha256=fvAP0VaYGPHYl_Kg3RL4gdJlpqya8UTvpP-C49r950k,6723
@@ -146,14 +145,14 @@ griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/packa
146
145
  griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance/sandbox.py,sha256=XgG7whE74zWDxX1pOvhASW0pwjOei1EDLvIH19xdzT0,6117
147
146
  griptape_nodes/retained_mode/managers/library_lifecycle/library_provenance.py,sha256=cCGr-MQ1RlVBiUTZepYEKdVhPgC4ebcYrmpv8rI3VeM,894
148
147
  griptape_nodes/retained_mode/managers/library_lifecycle/library_status.py,sha256=K3UEBzAdCY9wphyBbLxDYP0Q43aYvhLZ_Pz7_SzcPec,443
149
- griptape_nodes/retained_mode/managers/library_manager.py,sha256=LVQLon6kQ3KOW5RUknJZEXHpTpkXvYRrCCFWLX_F8ks,101413
148
+ griptape_nodes/retained_mode/managers/library_manager.py,sha256=WI7nk1zBrpri8Wzq96NqfQeIWT6Av0GBfKw26xx_uEw,100965
150
149
  griptape_nodes/retained_mode/managers/mcp_manager.py,sha256=Ezmn5_48r4JWYe-tFGqmw9dXLvvTiO1rw9b4MNCkw0U,15955
151
150
  griptape_nodes/retained_mode/managers/model_manager.py,sha256=Qc_FiqIJQ_ZuL5Yb7WiHCgUngKlbbJ_dUo7E5Ten5_g,45036
152
151
  griptape_nodes/retained_mode/managers/node_manager.py,sha256=7LQF3pWpTsGnQlgDu-CCeAmMk4E2VC-Ti-HiUELCkjE,196136
153
152
  griptape_nodes/retained_mode/managers/object_manager.py,sha256=w6T5UPUJRcYF90F1MuWhZVDgRrMc1uQ-6wt84Oz8OQA,12827
154
153
  griptape_nodes/retained_mode/managers/operation_manager.py,sha256=lTkMZlaacTgtV5oV-YF6HG8xsx9V_LwX1eg074WTs2k,20137
155
- griptape_nodes/retained_mode/managers/os_manager.py,sha256=hsimauXkU8hq_c1w__qTDiZ1_It4OMtQY2hMj9Q4GEY,69453
156
- griptape_nodes/retained_mode/managers/project_manager.py,sha256=cFa93l-thXc_CktAfACUDTtkwwWLabGh2bnvuPyQLvU,26231
154
+ griptape_nodes/retained_mode/managers/os_manager.py,sha256=CcP112VBHhhf-2uHXWOs9BWDoaiRUtXaq_up0Hd2lSY,71692
155
+ griptape_nodes/retained_mode/managers/project_manager.py,sha256=-K-anrxEVKInFMPLY-cV3ipqEh8hMELGHKbecJJJVa8,49035
157
156
  griptape_nodes/retained_mode/managers/resource_components/__init__.py,sha256=2FHpZFw2N1-oHfMCfrnB_XpF8_-2aSNtAZWh5zQTGL0,35
158
157
  griptape_nodes/retained_mode/managers/resource_components/capability_field.py,sha256=jZ5ONfdYVd5_MKlSKvUch1X2n1oHzMSeZW8UZ1a_RsU,1504
159
158
  griptape_nodes/retained_mode/managers/resource_components/comparator.py,sha256=02SiAiOatEnCgZOoMvpDhLsMpiOeNdtg9_HbrW4gS2k,609
@@ -166,12 +165,12 @@ griptape_nodes/retained_mode/managers/resource_types/os_resource.py,sha256=ImgkO
166
165
  griptape_nodes/retained_mode/managers/secrets_manager.py,sha256=2DU2002dgr3XipnAhmjqLXH82ZFb8wlGpTWX8pl4f7E,7722
167
166
  griptape_nodes/retained_mode/managers/session_manager.py,sha256=u3OEir9rjwG7GFM4MA5crKwcwq6F-lCUKlFzxlFU4co,14085
168
167
  griptape_nodes/retained_mode/managers/settings.py,sha256=rvWjqt82_k6fLFXXbLS_cAKNqb57_iHoVOkgZG9mnPU,9626
169
- griptape_nodes/retained_mode/managers/static_files_manager.py,sha256=dDeX1Z5cmviNPkEBkF2MWYryLacJOh0TTpu-t7oCHps,11283
170
- griptape_nodes/retained_mode/managers/sync_manager.py,sha256=-m2krEh2YtGs8iAPc8bhFGX8JqjeM5kEV1rnCmcj_yk,21247
168
+ griptape_nodes/retained_mode/managers/static_files_manager.py,sha256=zTwlvLDub5siwNIAysrtWGbls5zC2amMSP2m-M7W4v0,11170
169
+ griptape_nodes/retained_mode/managers/sync_manager.py,sha256=quKrg3pGEmPcoQDm5IqLHEFW64UmS4OT6o27dD57pFg,21395
171
170
  griptape_nodes/retained_mode/managers/user_manager.py,sha256=JAOOKDhUfIbj0CJ5EHRBcplmxheQTzeogbvGO23VqXQ,4508
172
171
  griptape_nodes/retained_mode/managers/variable_manager.py,sha256=TnuqHSRK9Yiu_EtKxQksF9SyyQb72lbFQuTQZdpBxeE,24116
173
172
  griptape_nodes/retained_mode/managers/version_compatibility_manager.py,sha256=3GEsJs1yNub8NP_ZNBgUEbaqHJXte8-u3Uapim_x0OU,14709
174
- griptape_nodes/retained_mode/managers/workflow_manager.py,sha256=ZZGa2WBWKXwZB90KZ5Gatgg_sQzue786F163ae0CN34,197894
173
+ griptape_nodes/retained_mode/managers/workflow_manager.py,sha256=ZC2MAsg61h0oNRZPp9VT4sEDI7xduy2nbMa9U4pfCmw,197567
175
174
  griptape_nodes/retained_mode/retained_mode.py,sha256=nBjLGz1y6ZEtAL5g81_gA93Y0r5va-Hdq4Rbqdk2XqM,71749
176
175
  griptape_nodes/retained_mode/utils/__init__.py,sha256=W5dvv8YwvVVq_8eVTgMd3Z_VB_Dtq1sIIVq8745QH_I,52
177
176
  griptape_nodes/retained_mode/utils/name_generator.py,sha256=IZLahtfP3XC79XApLdGoZ0IKKUkgiITpd16RK7NbyEs,2524
@@ -181,7 +180,7 @@ griptape_nodes/servers/mcp.py,sha256=pCtBFfPKZuhU2tWguorOnmV33fYmF7NN-c9gu4MQFEk
181
180
  griptape_nodes/servers/static.py,sha256=j-RiY10i8OhQRYi22eeq5rZ7I2An-DzIPA96rF5Tm4o,6975
182
181
  griptape_nodes/traits/__init__.py,sha256=bTLXTiZTJz2z15RRLoPI4nvLnNW9FiLcKL_2pT4E10g,32
183
182
  griptape_nodes/traits/add_param_button.py,sha256=27RZDVLMD0HmRF6hjfz7iV7LBau92vMc_d2eD2Ey8fA,649
184
- griptape_nodes/traits/button.py,sha256=-BCRutPwt4DBuSL4KhRQQOdmQgnyzLGhOZOx1XV_Aik,13964
183
+ griptape_nodes/traits/button.py,sha256=tTOgY-AQ7VbG97JzOletb7lFaGj48nFX67Qp_QA45M4,14012
185
184
  griptape_nodes/traits/clamp.py,sha256=BZVHiWfBNePWaPMaLyOgtcWzkM7Ls4hcPlm_afmGiIs,1030
186
185
  griptape_nodes/traits/color_picker.py,sha256=ySKaoZw319yfuTSEtkVT2vSR6Goy9pBm4rusjx95F0c,3024
187
186
  griptape_nodes/traits/compare.py,sha256=X-BXGemRDxQV4EX8X24LdtcwMWwfQ1jGqDvH2bSiSuc,521
@@ -211,7 +210,7 @@ griptape_nodes/version_compatibility/versions/v0_39_0/modified_parameters_set_re
211
210
  griptape_nodes/version_compatibility/workflow_versions/__init__.py,sha256=z5XDgkizoNByCXpyo34hfsJKFsWlOHbD6hgzfYH9ubc,52
212
211
  griptape_nodes/version_compatibility/workflow_versions/v0_7_0/__init__.py,sha256=IzPPmGK86h2swfGGTOHyVcBIlOng6SjgWQzlbf3ngmo,51
213
212
  griptape_nodes/version_compatibility/workflow_versions/v0_7_0/local_executor_argument_addition.py,sha256=Y8n1wzI5a-ZCHK5eiwtnnD3zF5lN-52R67rxYn0hxyI,2069
214
- griptape_nodes-0.61.0.dist-info/WHEEL,sha256=5w2T7AS2mz1-rW9CNagNYWRCaB0iQqBMYLwKdlgiR4Q,78
215
- griptape_nodes-0.61.0.dist-info/entry_points.txt,sha256=qvevqd3BVbAV5TcantnAm0ouqaqYKhsRO3pkFymWLWM,82
216
- griptape_nodes-0.61.0.dist-info/METADATA,sha256=sVB0eOdzKv3B7sQST-fnVshkiiVliXfO_58BpQKTVlY,5178
217
- griptape_nodes-0.61.0.dist-info/RECORD,,
213
+ griptape_nodes-0.62.1.dist-info/WHEEL,sha256=DpNsHFUm_gffZe1FgzmqwuqiuPC6Y-uBCzibcJcdupM,78
214
+ griptape_nodes-0.62.1.dist-info/entry_points.txt,sha256=qvevqd3BVbAV5TcantnAm0ouqaqYKhsRO3pkFymWLWM,82
215
+ griptape_nodes-0.62.1.dist-info/METADATA,sha256=A1IaHS65Bwx9USP7WtudGgkj63JGcDLi6ghjrmSuhUY,5178
216
+ griptape_nodes-0.62.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: uv 0.9.7
2
+ Generator: uv 0.9.8
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,89 +0,0 @@
1
- # System Default Project Template
2
- # Version: 0.1.0
3
- #
4
- # This is the default configuration used when no project.yml exists.
5
- # You can copy this file to your project root and customize it.
6
-
7
- project_template_schema_version: "0.1.0"
8
- name: "Default Project"
9
- description: "System default configuration"
10
-
11
- # Directory Definitions
12
- #
13
- # Define logical directories used in situation schemas.
14
- # Paths can be:
15
- # - Relative: "inputs", "outputs/renders"
16
- # - Absolute: "/tmp/cache", "C:/Projects/assets"
17
- # - With macros: Path schemas will be resolved by ProjectManager
18
- directories:
19
- inputs:
20
- path_schema: "inputs"
21
- outputs:
22
- path_schema: "outputs"
23
- temp:
24
- path_schema: "temp"
25
- previews:
26
- path_schema: "previews"
27
-
28
- # Environment Variables (Optional)
29
- #
30
- # Define project-specific variables or document which system env vars are used.
31
- # System automatically detects all env vars - this section is for documentation
32
- # and project-specific overrides.
33
- environment: {}
34
-
35
- # Situation Configurations
36
- #
37
- # Each situation defines how files are saved in a specific scenario.
38
- # The schema uses macro syntax: {variable_name} or {variable_name?} for optional
39
- situations:
40
-
41
- # Base situation - others fall back to this
42
- save_file:
43
- situation_template_schema_version: "0.1.0"
44
- description: "Generic file save operation"
45
- schema: "{file_name_base}{_index:03?}.{file_extension}"
46
- policy:
47
- on_collision: "create_new" # Increment {_index}: file_001.jpg, file_002.jpg
48
- create_dirs: true
49
- fallback: null
50
-
51
- # User copies external file to project
52
- copy_external_file:
53
- situation_template_schema_version: "0.1.0"
54
- description: "User copies external file to project"
55
- schema: "{inputs}/{node_name?:_}{parameter_name?:_}{file_name_base}{_index:03?}.{file_extension}"
56
- policy:
57
- on_collision: "create_new"
58
- create_dirs: true
59
- fallback: "save_file"
60
-
61
- # Download file from URL
62
- download_url:
63
- situation_template_schema_version: "0.1.0"
64
- description: "Download file from URL"
65
- schema: "{inputs}/{sanitized_url}"
66
- policy:
67
- on_collision: "overwrite" # Same URL = same content, safe to replace
68
- create_dirs: true
69
- fallback: "save_file"
70
-
71
- # Node generates and saves output
72
- save_node_output:
73
- situation_template_schema_version: "0.1.0"
74
- description: "Node generates and saves output"
75
- schema: "{outputs}/{node_name?:_}{file_name_base}{_index:03?}.{file_extension}"
76
- policy:
77
- on_collision: "create_new"
78
- create_dirs: true
79
- fallback: "save_file"
80
-
81
- # Generate preview/thumbnail
82
- save_preview:
83
- situation_template_schema_version: "0.1.0"
84
- description: "Generate preview/thumbnail"
85
- schema: "{previews}/{original_file_path}"
86
- policy:
87
- on_collision: "overwrite" # Preview should match source, safe to replace
88
- create_dirs: true
89
- fallback: "save_file"