zenml-nightly 0.67.0.dev20241002__py3-none-any.whl → 0.68.0.dev20241027__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 (528) hide show
  1. README.md +2 -2
  2. RELEASE_NOTES.md +129 -0
  3. zenml/VERSION +1 -1
  4. zenml/__init__.py +4 -9
  5. zenml/analytics/enums.py +0 -13
  6. zenml/artifact_stores/base_artifact_store.py +11 -0
  7. zenml/artifacts/artifact_config.py +19 -65
  8. zenml/artifacts/external_artifact.py +7 -53
  9. zenml/artifacts/external_artifact_config.py +21 -40
  10. zenml/artifacts/load_directory_materializer.py +91 -0
  11. zenml/artifacts/utils.py +320 -85
  12. zenml/cli/__init__.py +1 -39
  13. zenml/cli/base.py +5 -5
  14. zenml/cli/integration.py +0 -9
  15. zenml/cli/pipeline.py +1 -1
  16. zenml/cli/served_model.py +8 -1
  17. zenml/cli/server.py +8 -232
  18. zenml/cli/stack.py +1 -567
  19. zenml/cli/stack_components.py +0 -578
  20. zenml/cli/utils.py +0 -65
  21. zenml/client.py +11 -26
  22. zenml/client_lazy_loader.py +29 -12
  23. zenml/config/compiler.py +6 -11
  24. zenml/config/server_config.py +7 -5
  25. zenml/config/step_configurations.py +2 -0
  26. zenml/constants.py +3 -33
  27. zenml/enums.py +0 -3
  28. zenml/environment.py +1 -315
  29. zenml/exceptions.py +1 -41
  30. zenml/hooks/hook_validators.py +1 -8
  31. zenml/integrations/airflow/orchestrators/airflow_orchestrator.py +2 -3
  32. zenml/integrations/argilla/__init__.py +1 -1
  33. zenml/integrations/argilla/annotators/argilla_annotator.py +234 -89
  34. zenml/integrations/argilla/flavors/argilla_annotator_flavor.py +10 -5
  35. zenml/integrations/aws/flavors/sagemaker_orchestrator_flavor.py +9 -5
  36. zenml/integrations/aws/orchestrators/sagemaker_orchestrator.py +15 -2
  37. zenml/integrations/aws/service_connectors/aws_service_connector.py +6 -0
  38. zenml/integrations/azure/flavors/azureml_orchestrator_flavor.py +5 -4
  39. zenml/integrations/azure/orchestrators/azureml_orchestrator.py +1 -1
  40. zenml/integrations/bentoml/model_deployers/bentoml_model_deployer.py +85 -19
  41. zenml/integrations/bentoml/services/__init__.py +15 -4
  42. zenml/integrations/bentoml/services/bentoml_container_deployment.py +399 -0
  43. zenml/integrations/bentoml/services/{bentoml_deployment.py → bentoml_local_deployment.py} +81 -40
  44. zenml/{steps/base_parameters.py → integrations/bentoml/services/deployment_type.py} +8 -5
  45. zenml/integrations/bentoml/steps/bento_builder.py +1 -0
  46. zenml/integrations/bentoml/steps/bentoml_deployer.py +93 -41
  47. zenml/integrations/gitlab/code_repositories/gitlab_code_repository.py +6 -1
  48. zenml/integrations/huggingface/__init__.py +1 -6
  49. zenml/integrations/kaniko/image_builders/kaniko_image_builder.py +3 -3
  50. zenml/integrations/lightning/orchestrators/lightning_orchestrator.py +3 -3
  51. zenml/integrations/lightning/orchestrators/lightning_orchestrator_entrypoint.py +2 -2
  52. zenml/integrations/mlflow/experiment_trackers/mlflow_experiment_tracker.py +6 -3
  53. zenml/integrations/mlflow/model_registries/mlflow_model_registry.py +6 -0
  54. zenml/integrations/mlflow/services/mlflow_deployment.py +2 -2
  55. zenml/integrations/mlflow/steps/mlflow_deployer.py +1 -1
  56. zenml/integrations/mlflow/steps/mlflow_registry.py +1 -1
  57. zenml/integrations/neptune/experiment_trackers/run_state.py +2 -2
  58. zenml/integrations/s3/artifact_stores/s3_artifact_store.py +98 -0
  59. zenml/integrations/s3/flavors/s3_artifact_store_flavor.py +14 -0
  60. zenml/integrations/s3/utils.py +40 -0
  61. zenml/integrations/tensorflow/__init__.py +0 -9
  62. zenml/logging/step_logging.py +13 -15
  63. zenml/materializers/__init__.py +2 -0
  64. zenml/materializers/uuid_materializer.py +79 -0
  65. zenml/metadata/lazy_load.py +10 -7
  66. zenml/model/lazy_load.py +85 -4
  67. zenml/model/model.py +61 -45
  68. zenml/model/utils.py +47 -118
  69. zenml/models/__init__.py +3 -0
  70. zenml/models/v2/core/artifact_version.py +4 -15
  71. zenml/models/v2/core/model.py +1 -0
  72. zenml/models/v2/core/model_version.py +1 -1
  73. zenml/models/v2/core/pipeline_run.py +1 -2
  74. zenml/models/v2/core/run_metadata.py +2 -2
  75. zenml/models/v2/core/step_run.py +15 -12
  76. zenml/models/v2/misc/server_models.py +0 -4
  77. zenml/orchestrators/base_orchestrator.py +33 -0
  78. zenml/orchestrators/input_utils.py +52 -36
  79. zenml/orchestrators/step_launcher.py +49 -171
  80. zenml/orchestrators/step_run_utils.py +566 -0
  81. zenml/orchestrators/step_runner.py +102 -151
  82. zenml/orchestrators/utils.py +1 -158
  83. zenml/pipelines/__init__.py +3 -16
  84. zenml/{new/pipelines → pipelines}/pipeline_context.py +3 -18
  85. zenml/pipelines/pipeline_decorator.py +29 -60
  86. zenml/{new/pipelines/pipeline.py → pipelines/pipeline_definition.py} +4 -47
  87. zenml/stack/stack.py +1 -102
  88. zenml/stack/stack_component.py +0 -71
  89. zenml/stack_deployments/aws_stack_deployment.py +3 -0
  90. zenml/step_operators/step_operator_entrypoint_configuration.py +1 -1
  91. zenml/steps/__init__.py +3 -9
  92. zenml/steps/base_step.py +17 -265
  93. zenml/steps/entrypoint_function_utils.py +2 -80
  94. zenml/{new/steps → steps}/step_context.py +12 -63
  95. zenml/steps/step_decorator.py +42 -89
  96. zenml/steps/step_invocation.py +2 -55
  97. zenml/steps/utils.py +3 -23
  98. zenml/utils/dashboard_utils.py +16 -51
  99. zenml/utils/typing_utils.py +8 -28
  100. zenml/zen_server/dashboard/assets/{404-Y50hSt65.js → 404-DT4QRUqN.js} +1 -1
  101. zenml/zen_server/dashboard/assets/@radix-DP6vWzyx.js +85 -0
  102. zenml/zen_server/dashboard/assets/@react-router-BMhZulnd.js +29 -0
  103. zenml/zen_server/dashboard/assets/@reactflow-8U9qNlMR.js +17 -0
  104. zenml/zen_server/dashboard/assets/@tanstack-BUCbhJyH.js +22 -0
  105. zenml/zen_server/dashboard/assets/{AlertDialogDropdownItem-xLR9a1iw.js → AlertDialogDropdownItem-C6N2rGrB.js} +1 -1
  106. zenml/zen_server/dashboard/assets/{CodeSnippet-IxXNxUDa.js → CodeSnippet-CqybNv0k.js} +1 -1
  107. zenml/zen_server/dashboard/assets/{CollapsibleCard-BhutZbBL.js → CollapsibleCard-0r_8G2Lj.js} +1 -1
  108. zenml/zen_server/dashboard/assets/{Commands-Bf-rd1z8.js → Commands-BDjgBQKi.js} +1 -1
  109. zenml/zen_server/dashboard/assets/ComponentBadge-DUiEYJHu.js +1 -0
  110. zenml/zen_server/dashboard/assets/ComponentFallbackDialog-BFoH5K4V.js +1 -0
  111. zenml/zen_server/dashboard/assets/ComponentIcon-CAIoUis2.js +1 -0
  112. zenml/zen_server/dashboard/assets/{CopyButton-DcFHidFJ.js → CopyButton-C745BrKi.js} +1 -1
  113. zenml/zen_server/dashboard/assets/{CsvVizualization-QSbjrfxw.js → CsvVizualization-PpAq0CeZ.js} +5 -5
  114. zenml/zen_server/dashboard/assets/{DialogItem-Cd3HqST4.js → DialogItem-DcVCZEew.js} +1 -1
  115. zenml/zen_server/dashboard/assets/{DisplayDate-DkCy54Bp.js → DisplayDate-BeXgUG_C.js} +1 -1
  116. zenml/zen_server/dashboard/assets/{EmptyState-Cs3DEmso.js → EmptyState-DeK7H4pr.js} +1 -1
  117. zenml/zen_server/dashboard/assets/{Error-BhwdmqK7.js → Error-BMlzibXj.js} +1 -1
  118. zenml/zen_server/dashboard/assets/{Helpbox-0pBpTwTm.js → Helpbox-BLf40fLV.js} +1 -1
  119. zenml/zen_server/dashboard/assets/{Infobox-BTK_EUKT.js → Infobox-BwisKifi.js} +1 -1
  120. zenml/zen_server/dashboard/assets/{InlineAvatar-CA3DFMcM.js → InlineAvatar-jEgodSgX.js} +1 -1
  121. zenml/zen_server/dashboard/assets/{Lock-CmIn0szs.js → Lock-3lLt1ih0.js} +1 -1
  122. zenml/zen_server/dashboard/assets/MarkdownVisualization-8O9kTr-2.js +14 -0
  123. zenml/zen_server/dashboard/assets/{NumberBox-CrN0_kqI.js → NumberBox-T9eELfLZ.js} +1 -1
  124. zenml/zen_server/dashboard/assets/{Partials-QLOZw624.js → Partials-YPBB3V4q.js} +1 -1
  125. zenml/zen_server/dashboard/assets/{PasswordChecker-DE71J_3F.js → PasswordChecker-CW0kqY0W.js} +1 -1
  126. zenml/zen_server/dashboard/assets/{ProviderIcon-C16CCIN4.js → ProviderIcon-Bb3Xha5A.js} +1 -1
  127. zenml/zen_server/dashboard/assets/{ProviderRadio-D3FuCHf3.js → ProviderRadio-BROY1700.js} +1 -1
  128. zenml/zen_server/dashboard/assets/RunSelector-DCiL3M1c.js +1 -0
  129. zenml/zen_server/dashboard/assets/SearchField-DfUiGFVd.js +1 -0
  130. zenml/zen_server/dashboard/assets/{SecretTooltip-BaMwHF-Q.js → SecretTooltip-C_qByGWB.js} +1 -1
  131. zenml/zen_server/dashboard/assets/{SetPassword-DuIC65H9.js → SetPassword-7pRB00El.js} +1 -1
  132. zenml/zen_server/dashboard/assets/{Tick-DJTCF0Re.js → Tick-CykQFPj2.js} +1 -1
  133. zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-CUm-DMpw.js → UpdatePasswordSchemas-DckMEkFf.js} +1 -1
  134. zenml/zen_server/dashboard/assets/{UsageReason-CKw0juLF.js → UsageReason-DVceN14P.js} +1 -1
  135. zenml/zen_server/dashboard/assets/{WizardFooter-Cv9ApYWU.js → WizardFooter-CW0Cvd70.js} +1 -1
  136. zenml/zen_server/dashboard/assets/{check-circle-DOoS4yhF.js → check-circle-Dwxliy1Z.js} +1 -1
  137. zenml/zen_server/dashboard/assets/{chevron-down-Cwb-W_B_.js → chevron-down-8wLBS5pQ.js} +1 -1
  138. zenml/zen_server/dashboard/assets/{chevron-right-double-c9H46Kl8.js → chevron-right-double-DoD8iXWM.js} +1 -1
  139. zenml/zen_server/dashboard/assets/{cloud-only-BB4BVa6E.js → cloud-only-B-s_HMDm.js} +1 -1
  140. zenml/zen_server/dashboard/assets/{code-browser-BJYErIjr.js → code-browser-CZUQs3Wa.js} +1 -1
  141. zenml/zen_server/dashboard/assets/{copy-CaGlDsUy.js → copy-CaSMXwiU.js} +1 -1
  142. zenml/zen_server/dashboard/assets/{create-stack-F29xAUEx.js → create-stack-CEmaPZ4c.js} +1 -1
  143. zenml/zen_server/dashboard/assets/delete-run-D-LKbGyz.js +1 -0
  144. zenml/zen_server/dashboard/assets/{docker-BFAFXr2_.js → docker-BFNgg-z3.js} +1 -1
  145. zenml/zen_server/dashboard/assets/{dots-horizontal-C6K59vUm.js → dots-horizontal-DK5Duzx4.js} +1 -1
  146. zenml/zen_server/dashboard/assets/{form-schemas-BKXwSDK2.js → form-schemas-1AyOCx90.js} +1 -1
  147. zenml/zen_server/dashboard/assets/{gcp-Dj6ntk0L.js → gcp-7M2Yf3ZK.js} +1 -1
  148. zenml/zen_server/dashboard/assets/{help-CwN931fX.js → help-Dam461dC.js} +1 -1
  149. zenml/zen_server/dashboard/assets/{index-5GJ5ysEZ.js → index-BVJ8n2-j.js} +1 -1
  150. zenml/zen_server/dashboard/assets/index-Bpmj40BI.js +1 -0
  151. zenml/zen_server/dashboard/assets/index-CbU4Ln_E.css +1 -0
  152. zenml/zen_server/dashboard/assets/{index-D-mtoBj3.js → index-DKPhqP2B.js} +1 -1
  153. zenml/zen_server/dashboard/assets/index-QQb7wQEC.js +55 -0
  154. zenml/zen_server/dashboard/assets/index.esm-cuVep_NJ.js +1 -0
  155. zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-BLGc9T1a.woff2 +0 -0
  156. zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-ZzOtrSSW.woff +0 -0
  157. zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-D4Vwzodn.woff2 +0 -0
  158. zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-DH2hs3aW.woff +0 -0
  159. zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-BGBWG807.woff2 +0 -0
  160. zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-BuzJQFbW.woff +0 -0
  161. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-BPnxn4xp.woff +0 -0
  162. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-Dc4VJyIJ.woff2 +0 -0
  163. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-BShVwWPj.woff2 +0 -0
  164. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-CUiC4oBV.woff +0 -0
  165. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-Bt9VVOA-.woff +0 -0
  166. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-CaqZN2hq.woff2 +0 -0
  167. zenml/zen_server/dashboard/assets/inter-greek-400-normal-BZzXV7-1.woff +0 -0
  168. zenml/zen_server/dashboard/assets/inter-greek-400-normal-DxZsaF_h.woff2 +0 -0
  169. zenml/zen_server/dashboard/assets/inter-greek-500-normal-CeQXL5ds.woff2 +0 -0
  170. zenml/zen_server/dashboard/assets/inter-greek-500-normal-d_eO-yCQ.woff +0 -0
  171. zenml/zen_server/dashboard/assets/inter-greek-600-normal-CwicyhtI.woff +0 -0
  172. zenml/zen_server/dashboard/assets/inter-greek-600-normal-Dhlb-90d.woff2 +0 -0
  173. zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-Bput3-QP.woff2 +0 -0
  174. zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-DCpCPQOf.woff +0 -0
  175. zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-B6guLgqG.woff2 +0 -0
  176. zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-M2hEX8vc.woff +0 -0
  177. zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-C9WLioJ8.woff +0 -0
  178. zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-Cnui8OiR.woff2 +0 -0
  179. zenml/zen_server/dashboard/assets/inter-latin-400-normal-BOOGhInR.woff2 +0 -0
  180. zenml/zen_server/dashboard/assets/inter-latin-400-normal-gitzw0hO.woff +0 -0
  181. zenml/zen_server/dashboard/assets/inter-latin-500-normal-D2bGa7uu.woff2 +0 -0
  182. zenml/zen_server/dashboard/assets/inter-latin-500-normal-deR1Tlfd.woff +0 -0
  183. zenml/zen_server/dashboard/assets/inter-latin-600-normal-B5cFAncS.woff +0 -0
  184. zenml/zen_server/dashboard/assets/inter-latin-600-normal-D273HNI0.woff2 +0 -0
  185. zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-C1t-h-pH.woff +0 -0
  186. zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-hnt3BR84.woff2 +0 -0
  187. zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-CIS2RHJS.woff2 +0 -0
  188. zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-UMdmhHu2.woff +0 -0
  189. zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-BnYJhD27.woff2 +0 -0
  190. zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-CAF0vJDd.woff +0 -0
  191. zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-BUNmGMP1.woff +0 -0
  192. zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
  193. zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
  194. zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-DQPw2Hwd.woff +0 -0
  195. zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 +0 -0
  196. zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-Cm6aH8_k.woff +0 -0
  197. zenml/zen_server/dashboard/assets/{kubernetes-BjbR6D-1.js → kubernetes--g7r02Zu.js} +1 -1
  198. zenml/zen_server/dashboard/assets/{layout-Dru15_XR.js → layout-DCSYN7-C.js} +1 -1
  199. zenml/zen_server/dashboard/assets/{link-external-BT2L8hAQ.js → link-external-CBEk6kEG.js} +1 -1
  200. zenml/zen_server/dashboard/assets/{login-mutation-ax6iL2Mb.js → login-mutation-DTcAFP1l.js} +1 -1
  201. zenml/zen_server/dashboard/assets/{logs-GiDJXbLS.js → logs-D5bdJGur.js} +1 -1
  202. zenml/zen_server/dashboard/assets/not-found-Cc-JkRH2.js +1 -0
  203. zenml/zen_server/dashboard/assets/{package-DYKZ5jKW.js → package-Cs35Szwh.js} +1 -1
  204. zenml/zen_server/dashboard/assets/{page-HkVBdZl6.js → page-9yplj5JT.js} +1 -1
  205. zenml/zen_server/dashboard/assets/{page-uORspyRu.js → page-B-y2XKIc.js} +1 -1
  206. zenml/zen_server/dashboard/assets/page-BBpOxVcY.js +1 -0
  207. zenml/zen_server/dashboard/assets/{page-BDg1F-Ug.js → page-BQQKaabe.js} +2 -2
  208. zenml/zen_server/dashboard/assets/page-BRInM1Lg.js +1 -0
  209. zenml/zen_server/dashboard/assets/{page-CvKnNK1S.js → page-BjjlMk7s.js} +1 -1
  210. zenml/zen_server/dashboard/assets/{page-BukXK1Aa.js → page-Bvd7YH2A.js} +1 -1
  211. zenml/zen_server/dashboard/assets/{page-DcTjHmYZ.js → page-C0N5q3l7.js} +1 -1
  212. zenml/zen_server/dashboard/assets/page-CT3Nep8W.js +1 -0
  213. zenml/zen_server/dashboard/assets/{page-DuqYMYmH.js → page-C_f47pBf.js} +1 -1
  214. zenml/zen_server/dashboard/assets/{page-DRfcRK1w.js → page-ClUVkl-O.js} +1 -1
  215. zenml/zen_server/dashboard/assets/page-Cmv8C_yM.js +3 -0
  216. zenml/zen_server/dashboard/assets/{page-p0BhSAWx.js → page-CyN2bdWG.js} +1 -1
  217. zenml/zen_server/dashboard/assets/page-CzzXH4fs.js +1 -0
  218. zenml/zen_server/dashboard/assets/{page-6mfzecin.js → page-DH_Z7iW1.js} +1 -1
  219. zenml/zen_server/dashboard/assets/{page-8kYmrh0B.js → page-DIOXwhiD.js} +1 -1
  220. zenml/zen_server/dashboard/assets/{page-BXarY9K2.js → page-DLixvR-7.js} +1 -1
  221. zenml/zen_server/dashboard/assets/page-DTlGjgnG.js +1 -0
  222. zenml/zen_server/dashboard/assets/page-Dbpl86h0.js +1 -0
  223. zenml/zen_server/dashboard/assets/{page-MAXyfXBq.js → page-Ddgy6kDS.js} +1 -1
  224. zenml/zen_server/dashboard/assets/page-DtCAfBLy.js +9 -0
  225. zenml/zen_server/dashboard/assets/{page-CKHNAq7z.js → page-Dx16z7nA.js} +1 -1
  226. zenml/zen_server/dashboard/assets/{page-DMSLXKGT.js → page-DzpVUZ8f.js} +1 -1
  227. zenml/zen_server/dashboard/assets/page-McUyYbo1.js +1 -0
  228. zenml/zen_server/dashboard/assets/{page-miU2rhYG.js → page-N4qoPHKb.js} +1 -1
  229. zenml/zen_server/dashboard/assets/page-T1P3RyAR.js +1 -0
  230. zenml/zen_server/dashboard/assets/{page-3qPX9WYH.js → page-bKaULTGG.js} +1 -1
  231. zenml/zen_server/dashboard/assets/page-sbXUJy9t.js +1 -0
  232. zenml/zen_server/dashboard/assets/{persist-CfJMar_k.js → persist-CP0JmYZ4.js} +1 -1
  233. zenml/zen_server/dashboard/assets/{persist-BxIR2XZs.js → persist-DNb5cdrU.js} +1 -1
  234. zenml/zen_server/dashboard/assets/{plus-Bc8eLSDM.js → plus-C9IxgN2M.js} +1 -1
  235. zenml/zen_server/dashboard/assets/{refresh-hfgWPeto.js → refresh-BVu22P_C.js} +1 -1
  236. zenml/zen_server/dashboard/assets/{rocket-SESCGQXm.js → rocket-CONEmRmB.js} +1 -1
  237. zenml/zen_server/dashboard/assets/{sharedSchema-vub0rii3.js → sharedSchema-TMLu-nYQ.js} +1 -1
  238. zenml/zen_server/dashboard/assets/stack-detail-query-xmYxSsUY.js +1 -0
  239. zenml/zen_server/dashboard/assets/{tick-circle-m-hJG8i9.js → tick-circle-CM1ZScbQ.js} +1 -1
  240. zenml/zen_server/dashboard/assets/{trash-DUWZWzse.js → trash-DkJHMOg7.js} +1 -1
  241. zenml/zen_server/dashboard/assets/{update-server-settings-mutation-FGVP7X2U.js → update-server-settings-mutation-DsU8cNVl.js} +1 -1
  242. zenml/zen_server/dashboard/assets/{url-CbAPzsmT.js → url-D5le3J4q.js} +1 -1
  243. zenml/zen_server/dashboard/assets/zod-D89GC_vc.js +1 -0
  244. zenml/zen_server/dashboard/index.html +7 -7
  245. zenml/zen_server/deploy/__init__.py +0 -9
  246. zenml/zen_server/deploy/docker/docker_zen_server.py +0 -6
  247. zenml/zen_server/deploy/helm/Chart.yaml +1 -1
  248. zenml/zen_server/deploy/helm/README.md +2 -2
  249. zenml/zen_server/deploy/local/local_zen_server.py +0 -6
  250. zenml/zen_server/feature_gate/zenml_cloud_feature_gate.py +1 -1
  251. zenml/zen_server/routers/artifact_version_endpoints.py +1 -1
  252. zenml/zen_server/routers/runs_endpoints.py +0 -28
  253. zenml/zen_server/template_execution/runner_entrypoint_configuration.py +1 -1
  254. zenml/zen_server/template_execution/utils.py +2 -2
  255. zenml/zen_server/utils.py +10 -40
  256. zenml/zen_server/zen_server_api.py +107 -17
  257. zenml/zen_stores/base_zen_store.py +0 -2
  258. zenml/zen_stores/migrations/versions/0.68.0_release.py +23 -0
  259. zenml/zen_stores/migrations/versions/1d8f30c54477_migrate_to_new_.py +124 -0
  260. zenml/zen_stores/schemas/pipeline_run_schemas.py +12 -4
  261. zenml/zen_stores/schemas/step_run_schemas.py +2 -2
  262. zenml/zen_stores/sql_zen_store.py +29 -5
  263. {zenml_nightly-0.67.0.dev20241002.dist-info → zenml_nightly-0.68.0.dev20241027.dist-info}/METADATA +4 -8
  264. {zenml_nightly-0.67.0.dev20241002.dist-info → zenml_nightly-0.68.0.dev20241027.dist-info}/RECORD +270 -450
  265. {zenml_nightly-0.67.0.dev20241002.dist-info → zenml_nightly-0.68.0.dev20241027.dist-info}/WHEEL +1 -1
  266. zenml/cli/stack_recipes.py +0 -469
  267. zenml/lineage_graph/__init__.py +0 -34
  268. zenml/lineage_graph/edge.py +0 -24
  269. zenml/lineage_graph/lineage_graph.py +0 -244
  270. zenml/lineage_graph/node/__init__.py +0 -32
  271. zenml/lineage_graph/node/artifact_node.py +0 -51
  272. zenml/lineage_graph/node/base_node.py +0 -31
  273. zenml/lineage_graph/node/step_node.py +0 -41
  274. zenml/model/model_version.py +0 -38
  275. zenml/new/__init__.py +0 -13
  276. zenml/new/pipelines/__init__.py +0 -13
  277. zenml/new/pipelines/code_archive.py +0 -157
  278. zenml/new/pipelines/pipeline_decorator.py +0 -118
  279. zenml/new/steps/__init__.py +0 -13
  280. zenml/new/steps/step_decorator.py +0 -176
  281. zenml/pipelines/base_pipeline.py +0 -273
  282. zenml/post_execution/__init__.py +0 -30
  283. zenml/post_execution/pipeline.py +0 -55
  284. zenml/post_execution/pipeline_run.py +0 -55
  285. zenml/services/terraform/__init__.py +0 -14
  286. zenml/services/terraform/terraform_service.py +0 -441
  287. zenml/steps/external_artifact.py +0 -26
  288. zenml/steps/step_environment.py +0 -108
  289. zenml/steps/step_output.py +0 -36
  290. zenml/utils/mlstacks_utils.py +0 -635
  291. zenml/utils/terraform_utils.py +0 -43
  292. zenml/zen_server/dashboard/assets/@radix-DnFH_oo1.js +0 -85
  293. zenml/zen_server/dashboard/assets/@react-router-APVeuk-U.js +0 -29
  294. zenml/zen_server/dashboard/assets/@reactflow-ytavUpwh.js +0 -17
  295. zenml/zen_server/dashboard/assets/@tanstack-QbMbTrh5.js +0 -22
  296. zenml/zen_server/dashboard/assets/ComponentBadge-gKR1OIwG.js +0 -1
  297. zenml/zen_server/dashboard/assets/ExecutionStatus-D6r6aK8J.js +0 -1
  298. zenml/zen_server/dashboard/assets/MarkdownVisualization-DS05sfBm.js +0 -14
  299. zenml/zen_server/dashboard/assets/SearchField-BzmfxS0L.js +0 -1
  300. zenml/zen_server/dashboard/assets/all-pipeline-runs-query-BA3R2Sey.js +0 -1
  301. zenml/zen_server/dashboard/assets/delete-run-CP0pcJ3U.js +0 -1
  302. zenml/zen_server/dashboard/assets/index-BhJ6ZJxv.css +0 -1
  303. zenml/zen_server/dashboard/assets/index-Ci0nJ8EZ.js +0 -55
  304. zenml/zen_server/dashboard/assets/index.esm-BE1uqCX5.js +0 -1
  305. zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-Df6ckaLK.woff2 +0 -0
  306. zenml/zen_server/dashboard/assets/inter-cyrillic-400-normal-JrS_4yms.woff +0 -0
  307. zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-BRrLR67x.woff2 +0 -0
  308. zenml/zen_server/dashboard/assets/inter-cyrillic-500-normal-DskEQOpE.woff +0 -0
  309. zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-DDpWG8g5.woff2 +0 -0
  310. zenml/zen_server/dashboard/assets/inter-cyrillic-600-normal-iz1--dBq.woff +0 -0
  311. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-CzG7Kr3z.woff +0 -0
  312. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-400-normal-tyfMZHQw.woff2 +0 -0
  313. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-DOnSzjnx.woff2 +0 -0
  314. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-500-normal-Xebo2OyJ.woff +0 -0
  315. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-DpA2xaRd.woff2 +0 -0
  316. zenml/zen_server/dashboard/assets/inter-cyrillic-ext-600-normal-KAwcVx6H.woff +0 -0
  317. zenml/zen_server/dashboard/assets/inter-greek-400-normal-DQXyrmoy.woff2 +0 -0
  318. zenml/zen_server/dashboard/assets/inter-greek-400-normal-DvIPHDQ7.woff +0 -0
  319. zenml/zen_server/dashboard/assets/inter-greek-500-normal-BjpBGs91.woff +0 -0
  320. zenml/zen_server/dashboard/assets/inter-greek-500-normal-CmOavsDc.woff2 +0 -0
  321. zenml/zen_server/dashboard/assets/inter-greek-600-normal-B-l8Lzzd.woff2 +0 -0
  322. zenml/zen_server/dashboard/assets/inter-greek-600-normal-BLZsI-P3.woff +0 -0
  323. zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-CIdlr5YK.woff2 +0 -0
  324. zenml/zen_server/dashboard/assets/inter-greek-ext-400-normal-_Rr29XE2.woff +0 -0
  325. zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-2pdUafRD.woff2 +0 -0
  326. zenml/zen_server/dashboard/assets/inter-greek-ext-500-normal-Dtavx3qw.woff +0 -0
  327. zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-BmtRFZgT.woff +0 -0
  328. zenml/zen_server/dashboard/assets/inter-greek-ext-600-normal-CkBLDEl_.woff2 +0 -0
  329. zenml/zen_server/dashboard/assets/inter-latin-400-normal-BT1H-PT_.woff2 +0 -0
  330. zenml/zen_server/dashboard/assets/inter-latin-400-normal-Cdi8t5Mu.woff +0 -0
  331. zenml/zen_server/dashboard/assets/inter-latin-500-normal-D4I8BKCx.woff +0 -0
  332. zenml/zen_server/dashboard/assets/inter-latin-500-normal-kWhwEdDH.woff2 +0 -0
  333. zenml/zen_server/dashboard/assets/inter-latin-600-normal-B2Ssfs8e.woff2 +0 -0
  334. zenml/zen_server/dashboard/assets/inter-latin-600-normal-Dbvh0wvx.woff +0 -0
  335. zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-8tIzm-yw.woff +0 -0
  336. zenml/zen_server/dashboard/assets/inter-latin-ext-400-normal-D3W-OpO-.woff2 +0 -0
  337. zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-B9u8Q_zH.woff2 +0 -0
  338. zenml/zen_server/dashboard/assets/inter-latin-ext-500-normal-SuUkSNTU.woff +0 -0
  339. zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-Dg0Bk0Yr.woff +0 -0
  340. zenml/zen_server/dashboard/assets/inter-latin-ext-600-normal-ao35dkSb.woff2 +0 -0
  341. zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-Cnt0N5Vm.woff2 +0 -0
  342. zenml/zen_server/dashboard/assets/inter-vietnamese-400-normal-DIOGfGLL.woff +0 -0
  343. zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-0i6yoQMg.woff +0 -0
  344. zenml/zen_server/dashboard/assets/inter-vietnamese-500-normal-5IkPJ6Nk.woff2 +0 -0
  345. zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-BQ_dbMbg.woff +0 -0
  346. zenml/zen_server/dashboard/assets/inter-vietnamese-600-normal-DjnxGF-L.woff2 +0 -0
  347. zenml/zen_server/dashboard/assets/not-found-DbjllLY_.js +0 -1
  348. zenml/zen_server/dashboard/assets/page-B1n7_W7z.js +0 -1
  349. zenml/zen_server/dashboard/assets/page-BZZhLo2u.js +0 -1
  350. zenml/zen_server/dashboard/assets/page-Bbf_oBjn.js +0 -1
  351. zenml/zen_server/dashboard/assets/page-BjjuBvZG.js +0 -9
  352. zenml/zen_server/dashboard/assets/page-CHaQkFK5.js +0 -1
  353. zenml/zen_server/dashboard/assets/page-CS0SYFK8.js +0 -1
  354. zenml/zen_server/dashboard/assets/page-DGM1CbYT.js +0 -2
  355. zenml/zen_server/dashboard/assets/page-DOmIZ2ra.js +0 -1
  356. zenml/zen_server/dashboard/assets/page-DYVmJ9_w.js +0 -3
  357. zenml/zen_server/dashboard/assets/page-Dwow2doB.js +0 -1
  358. zenml/zen_server/dashboard/assets/stack-detail-query-DQcyzG-2.js +0 -1
  359. zenml/zen_server/dashboard/assets/zod-uFd1wBcd.js +0 -1
  360. zenml/zen_server/dashboard_legacy/_redirects +0 -1
  361. zenml/zen_server/dashboard_legacy/asset-manifest.json +0 -131
  362. zenml/zen_server/dashboard_legacy/favicon.ico +0 -0
  363. zenml/zen_server/dashboard_legacy/index.html +0 -1
  364. zenml/zen_server/dashboard_legacy/manifest.json +0 -25
  365. zenml/zen_server/dashboard_legacy/precache-manifest.6d320abb70db612019dda6c4948e7a90.js +0 -462
  366. zenml/zen_server/dashboard_legacy/robots.txt +0 -2
  367. zenml/zen_server/dashboard_legacy/service-worker.js +0 -39
  368. zenml/zen_server/dashboard_legacy/static/css/2.5b37d44a.chunk.css +0 -16
  369. zenml/zen_server/dashboard_legacy/static/css/2.5b37d44a.chunk.css.map +0 -1
  370. zenml/zen_server/dashboard_legacy/static/css/main.e79dff04.chunk.css +0 -2
  371. zenml/zen_server/dashboard_legacy/static/css/main.e79dff04.chunk.css.map +0 -1
  372. zenml/zen_server/dashboard_legacy/static/js/2.7934458d.chunk.js +0 -3
  373. zenml/zen_server/dashboard_legacy/static/js/2.7934458d.chunk.js.LICENSE.txt +0 -95
  374. zenml/zen_server/dashboard_legacy/static/js/2.7934458d.chunk.js.map +0 -1
  375. zenml/zen_server/dashboard_legacy/static/js/main.fa9299d5.chunk.js +0 -2
  376. zenml/zen_server/dashboard_legacy/static/js/main.fa9299d5.chunk.js.map +0 -1
  377. zenml/zen_server/dashboard_legacy/static/js/runtime-main.bfca2edd.js +0 -2
  378. zenml/zen_server/dashboard_legacy/static/js/runtime-main.bfca2edd.js.map +0 -1
  379. zenml/zen_server/dashboard_legacy/static/media/AlertTriangle.28aee535.svg +0 -5
  380. zenml/zen_server/dashboard_legacy/static/media/ArrowSquareOut.abfb9bc7.svg +0 -5
  381. zenml/zen_server/dashboard_legacy/static/media/Back.86c23a22.svg +0 -4
  382. zenml/zen_server/dashboard_legacy/static/media/BookOpen.5cb101ff.svg +0 -4
  383. zenml/zen_server/dashboard_legacy/static/media/BoundingBox.1eb98717.svg +0 -10
  384. zenml/zen_server/dashboard_legacy/static/media/Burger.9b1c67d7.svg +0 -3
  385. zenml/zen_server/dashboard_legacy/static/media/Cached.2381fb8d.svg +0 -1
  386. zenml/zen_server/dashboard_legacy/static/media/Calendar.356e11c7.svg +0 -3
  387. zenml/zen_server/dashboard_legacy/static/media/ChartBarHorizontal.0247447b.svg +0 -6
  388. zenml/zen_server/dashboard_legacy/static/media/ChartLine.0d79e18d.svg +0 -4
  389. zenml/zen_server/dashboard_legacy/static/media/ChatDots.2e1c9211.svg +0 -6
  390. zenml/zen_server/dashboard_legacy/static/media/Check.dad6beb2.svg +0 -3
  391. zenml/zen_server/dashboard_legacy/static/media/CheckCircleFilled.c19566d0.svg +0 -3
  392. zenml/zen_server/dashboard_legacy/static/media/Checkbox.af50e31e.svg +0 -3
  393. zenml/zen_server/dashboard_legacy/static/media/ChevronDown.f860ce32.svg +0 -3
  394. zenml/zen_server/dashboard_legacy/static/media/ChevronDownLight.6642d756.svg +0 -3
  395. zenml/zen_server/dashboard_legacy/static/media/ChevronLeft.f6edfcdb.svg +0 -3
  396. zenml/zen_server/dashboard_legacy/static/media/CircleCheck.f98fd6ca.svg +0 -1
  397. zenml/zen_server/dashboard_legacy/static/media/Clock.ffc9de95.svg +0 -3
  398. zenml/zen_server/dashboard_legacy/static/media/Close.74e9efbc.svg +0 -5
  399. zenml/zen_server/dashboard_legacy/static/media/CloseWithBorder.6960930a.svg +0 -3
  400. zenml/zen_server/dashboard_legacy/static/media/CloseWithoutBorder.cd6f71df.svg +0 -3
  401. zenml/zen_server/dashboard_legacy/static/media/CloudArrowUp.0aecb235.svg +0 -6
  402. zenml/zen_server/dashboard_legacy/static/media/Code.ef0f33b5.svg +0 -3
  403. zenml/zen_server/dashboard_legacy/static/media/Config.0be63f8a.svg +0 -1
  404. zenml/zen_server/dashboard_legacy/static/media/Connector.9fd46ef1.svg +0 -10
  405. zenml/zen_server/dashboard_legacy/static/media/Copy.36e2112a.svg +0 -1
  406. zenml/zen_server/dashboard_legacy/static/media/Dashboard.d05787e0.svg +0 -3
  407. zenml/zen_server/dashboard_legacy/static/media/Data.b1c3b5f8.svg +0 -3
  408. zenml/zen_server/dashboard_legacy/static/media/Delete.3c361b28.svg +0 -8
  409. zenml/zen_server/dashboard_legacy/static/media/Docs.7541d478.svg +0 -7
  410. zenml/zen_server/dashboard_legacy/static/media/Download.fba04d87.svg +0 -5
  411. zenml/zen_server/dashboard_legacy/static/media/Edit.490eb294.svg +0 -6
  412. zenml/zen_server/dashboard_legacy/static/media/EmptyRightArrow.23749d01.svg +0 -3
  413. zenml/zen_server/dashboard_legacy/static/media/Example.6396cd37.svg +0 -5
  414. zenml/zen_server/dashboard_legacy/static/media/Extension.1394cd4a.svg +0 -3
  415. zenml/zen_server/dashboard_legacy/static/media/Eye.d9e4ee62.svg +0 -4
  416. zenml/zen_server/dashboard_legacy/static/media/Failed.0213c1a0.svg +0 -1
  417. zenml/zen_server/dashboard_legacy/static/media/FileText.1f15bacd.svg +0 -7
  418. zenml/zen_server/dashboard_legacy/static/media/Filter.ab6b9c0d.svg +0 -3
  419. zenml/zen_server/dashboard_legacy/static/media/Folders.12b29887.svg +0 -5
  420. zenml/zen_server/dashboard_legacy/static/media/FunnelFill.6df4c143.svg +0 -3
  421. zenml/zen_server/dashboard_legacy/static/media/GitCommit.7dd9c2aa.svg +0 -5
  422. zenml/zen_server/dashboard_legacy/static/media/GitHub_Logo.cefc2023.png +0 -0
  423. zenml/zen_server/dashboard_legacy/static/media/Graph.2c63a892.svg +0 -11
  424. zenml/zen_server/dashboard_legacy/static/media/History.08329240.svg +0 -3
  425. zenml/zen_server/dashboard_legacy/static/media/Home.0843b0d5.svg +0 -3
  426. zenml/zen_server/dashboard_legacy/static/media/ImageBuilder.ea762d9c.svg +0 -6
  427. zenml/zen_server/dashboard_legacy/static/media/InProgress.304a0edc.svg +0 -1
  428. zenml/zen_server/dashboard_legacy/static/media/Info.9fe10c5c.svg +0 -3
  429. zenml/zen_server/dashboard_legacy/static/media/KeyboardReturn.491afbe3.svg +0 -3
  430. zenml/zen_server/dashboard_legacy/static/media/Link.72bbb55d.svg +0 -4
  431. zenml/zen_server/dashboard_legacy/static/media/Lock.30f5e1fe.svg +0 -5
  432. zenml/zen_server/dashboard_legacy/static/media/Lock2.a769ea52.svg +0 -3
  433. zenml/zen_server/dashboard_legacy/static/media/LockKey.92f21621.svg +0 -6
  434. zenml/zen_server/dashboard_legacy/static/media/Logs.8bf4d005.svg +0 -5
  435. zenml/zen_server/dashboard_legacy/static/media/MinusCircle.4188f418.svg +0 -4
  436. zenml/zen_server/dashboard_legacy/static/media/ModelRegistry.f0de050a.svg +0 -6
  437. zenml/zen_server/dashboard_legacy/static/media/MultiUser.a2ba7c67.svg +0 -10
  438. zenml/zen_server/dashboard_legacy/static/media/PaginationFirst.92628634.svg +0 -4
  439. zenml/zen_server/dashboard_legacy/static/media/PaginationLast.00d3c732.svg +0 -4
  440. zenml/zen_server/dashboard_legacy/static/media/PaginationNext.86158845.svg +0 -3
  441. zenml/zen_server/dashboard_legacy/static/media/PaginationPrev.60c18a88.svg +0 -3
  442. zenml/zen_server/dashboard_legacy/static/media/Pen.f2d831d4.svg +0 -6
  443. zenml/zen_server/dashboard_legacy/static/media/PhotoCamera.179d6d4c.svg +0 -3
  444. zenml/zen_server/dashboard_legacy/static/media/Pipeline.30d298b0.svg +0 -7
  445. zenml/zen_server/dashboard_legacy/static/media/Plus.5aa1c16b.svg +0 -3
  446. zenml/zen_server/dashboard_legacy/static/media/PlusCircle.92d860dd.svg +0 -5
  447. zenml/zen_server/dashboard_legacy/static/media/Repositories.71a36b8c.svg +0 -3
  448. zenml/zen_server/dashboard_legacy/static/media/RightArrow.f30d3871.svg +0 -29
  449. zenml/zen_server/dashboard_legacy/static/media/Rocket.63bf7b9d.svg +0 -3
  450. zenml/zen_server/dashboard_legacy/static/media/RocketLaunch.1bff2b59.svg +0 -6
  451. zenml/zen_server/dashboard_legacy/static/media/Rubik-Medium.c87313aa.ttf +0 -0
  452. zenml/zen_server/dashboard_legacy/static/media/Rubik-Regular.b3d0902b.ttf +0 -0
  453. zenml/zen_server/dashboard_legacy/static/media/Run.daec4fb2.svg +0 -6
  454. zenml/zen_server/dashboard_legacy/static/media/Search.d1afcce5.svg +0 -4
  455. zenml/zen_server/dashboard_legacy/static/media/Settings.59ca73ae.svg +0 -4
  456. zenml/zen_server/dashboard_legacy/static/media/Share2.46c3ff66.svg +0 -3
  457. zenml/zen_server/dashboard_legacy/static/media/SignOut.6aa718c5.svg +0 -3
  458. zenml/zen_server/dashboard_legacy/static/media/SimplePlus.5cf7ec20.svg +0 -3
  459. zenml/zen_server/dashboard_legacy/static/media/SingleUser.bef3a095.svg +0 -4
  460. zenml/zen_server/dashboard_legacy/static/media/SourceCodePro-Regular.b484b32f.ttf +0 -0
  461. zenml/zen_server/dashboard_legacy/static/media/Stack.19b604ac.svg +0 -5
  462. zenml/zen_server/dashboard_legacy/static/media/StackComponent.b1ba90b5.svg +0 -4
  463. zenml/zen_server/dashboard_legacy/static/media/Star.f0c25022.svg +0 -9
  464. zenml/zen_server/dashboard_legacy/static/media/StarOutline.94ca8cd9.svg +0 -3
  465. zenml/zen_server/dashboard_legacy/static/media/Storefront.4b4796fe.svg +0 -3
  466. zenml/zen_server/dashboard_legacy/static/media/Stream.543e3039.svg +0 -3
  467. zenml/zen_server/dashboard_legacy/static/media/SupportAgent.510ddf1f.svg +0 -8
  468. zenml/zen_server/dashboard_legacy/static/media/Table.77033750.svg +0 -6
  469. zenml/zen_server/dashboard_legacy/static/media/Tool.d5785486.svg +0 -3
  470. zenml/zen_server/dashboard_legacy/static/media/UserPlus.741a99d7.svg +0 -6
  471. zenml/zen_server/dashboard_legacy/static/media/Verified.0625b2a0.svg +0 -3
  472. zenml/zen_server/dashboard_legacy/static/media/addNew.4fb6c939.svg +0 -8
  473. zenml/zen_server/dashboard_legacy/static/media/arrowClose.cbd53f3f.svg +0 -3
  474. zenml/zen_server/dashboard_legacy/static/media/arrowOpen.6ceef0af.svg +0 -3
  475. zenml/zen_server/dashboard_legacy/static/media/check_small.30bc0138.svg +0 -3
  476. zenml/zen_server/dashboard_legacy/static/media/circleArrowSideClose.98d6013e.svg +0 -18
  477. zenml/zen_server/dashboard_legacy/static/media/circleArrowSideOpen.63653df6.svg +0 -18
  478. zenml/zen_server/dashboard_legacy/static/media/image.104fd14b.png +0 -0
  479. zenml/zen_server/dashboard_legacy/static/media/imageAddIcon.e83004a9.svg +0 -7
  480. zenml/zen_server/dashboard_legacy/static/media/logo.93333e5c.svg +0 -1
  481. zenml/zen_server/dashboard_legacy/static/media/logo_small.4204397d.svg +0 -3
  482. zenml/zen_server/dashboard_legacy/static/media/logo_white.d4b4414e.svg +0 -20
  483. zenml/zen_server/dashboard_legacy/static/media/notConnected.5e2c8ea7.svg +0 -8
  484. zenml/zen_server/dashboard_legacy/static/media/plugin-fallback.72c294e6.svg +0 -6
  485. zenml/zen_server/dashboard_legacy/static/media/share.bcd998b0.svg +0 -5
  486. zenml/zen_server/dashboard_legacy/static/media/stars.08a9b19a.svg +0 -8
  487. zenml/zen_server/deploy/terraform/__init__.py +0 -41
  488. zenml/zen_server/deploy/terraform/providers/__init__.py +0 -14
  489. zenml/zen_server/deploy/terraform/providers/aws_provider.py +0 -61
  490. zenml/zen_server/deploy/terraform/providers/azure_provider.py +0 -59
  491. zenml/zen_server/deploy/terraform/providers/gcp_provider.py +0 -59
  492. zenml/zen_server/deploy/terraform/providers/terraform_provider.py +0 -331
  493. zenml/zen_server/deploy/terraform/recipes/aws/.gitignore +0 -8
  494. zenml/zen_server/deploy/terraform/recipes/aws/helm.tf +0 -20
  495. zenml/zen_server/deploy/terraform/recipes/aws/ingress.tf +0 -30
  496. zenml/zen_server/deploy/terraform/recipes/aws/outputs.tf +0 -7
  497. zenml/zen_server/deploy/terraform/recipes/aws/printf.cmd +0 -2
  498. zenml/zen_server/deploy/terraform/recipes/aws/sql.tf +0 -62
  499. zenml/zen_server/deploy/terraform/recipes/aws/terraform.tf +0 -44
  500. zenml/zen_server/deploy/terraform/recipes/aws/variables.tf +0 -167
  501. zenml/zen_server/deploy/terraform/recipes/aws/vpc.tf +0 -47
  502. zenml/zen_server/deploy/terraform/recipes/aws/zen_server.tf +0 -103
  503. zenml/zen_server/deploy/terraform/recipes/azure/.gitignore +0 -8
  504. zenml/zen_server/deploy/terraform/recipes/azure/helm.tf +0 -20
  505. zenml/zen_server/deploy/terraform/recipes/azure/ingress.tf +0 -30
  506. zenml/zen_server/deploy/terraform/recipes/azure/key_vault.tf +0 -73
  507. zenml/zen_server/deploy/terraform/recipes/azure/outputs.tf +0 -7
  508. zenml/zen_server/deploy/terraform/recipes/azure/printf.cmd +0 -2
  509. zenml/zen_server/deploy/terraform/recipes/azure/rg.tf +0 -36
  510. zenml/zen_server/deploy/terraform/recipes/azure/sql.tf +0 -65
  511. zenml/zen_server/deploy/terraform/recipes/azure/terraform.tf +0 -52
  512. zenml/zen_server/deploy/terraform/recipes/azure/variables.tf +0 -176
  513. zenml/zen_server/deploy/terraform/recipes/azure/zen_server.tf +0 -103
  514. zenml/zen_server/deploy/terraform/recipes/gcp/.gitignore +0 -8
  515. zenml/zen_server/deploy/terraform/recipes/gcp/helm.tf +0 -20
  516. zenml/zen_server/deploy/terraform/recipes/gcp/ingress.tf +0 -30
  517. zenml/zen_server/deploy/terraform/recipes/gcp/outputs.tf +0 -7
  518. zenml/zen_server/deploy/terraform/recipes/gcp/printf.cmd +0 -2
  519. zenml/zen_server/deploy/terraform/recipes/gcp/sql.tf +0 -64
  520. zenml/zen_server/deploy/terraform/recipes/gcp/terraform.tf +0 -44
  521. zenml/zen_server/deploy/terraform/recipes/gcp/variables.tf +0 -171
  522. zenml/zen_server/deploy/terraform/recipes/gcp/zen_server.tf +0 -114
  523. zenml/zen_server/deploy/terraform/terraform_zen_server.py +0 -246
  524. /zenml/{new/pipelines → pipelines}/build_utils.py +0 -0
  525. /zenml/{new/pipelines → pipelines}/run_utils.py +0 -0
  526. /zenml/{new/steps → steps}/decorated_step.py +0 -0
  527. {zenml_nightly-0.67.0.dev20241002.dist-info → zenml_nightly-0.68.0.dev20241027.dist-info}/LICENSE +0 -0
  528. {zenml_nightly-0.67.0.dev20241002.dist-info → zenml_nightly-0.68.0.dev20241027.dist-info}/entry_points.txt +0 -0
@@ -1 +0,0 @@
1
- import{b as A}from"./@radix-DnFH_oo1.js";var he=e=>e.type==="checkbox",ne=e=>e instanceof Date,P=e=>e==null;const cr=e=>typeof e=="object";var M=e=>!P(e)&&!Array.isArray(e)&&cr(e)&&!ne(e),fr=e=>M(e)&&e.target?he(e.target)?e.target.checked:e.target.value:e,Ur=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,dr=(e,s)=>e.has(Ur(s)),Tr=e=>{const s=e.constructor&&e.constructor.prototype;return M(s)&&s.hasOwnProperty("isPrototypeOf")},He=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function L(e){let s;const r=Array.isArray(e);if(e instanceof Date)s=new Date(e);else if(e instanceof Set)s=new Set(e);else if(!(He&&(e instanceof Blob||e instanceof FileList))&&(r||M(e)))if(s=r?[]:{},!r&&!Tr(e))s=e;else for(const i in e)e.hasOwnProperty(i)&&(s[i]=L(e[i]));else return e;return s}var oe=e=>Array.isArray(e)?e.filter(Boolean):[],E=e=>e===void 0,c=(e,s,r)=>{if(!s||!M(e))return r;const i=oe(s.split(/[,[\].]+?/)).reduce((u,n)=>P(u)?u:u[n],e);return E(i)||i===e?E(e[s])?r:e[s]:i},Z=e=>typeof e=="boolean",$e=e=>/^\w*$/.test(e),yr=e=>oe(e.replace(/["|']|\]/g,"").split(/\.|\[/)),k=(e,s,r)=>{let i=-1;const u=$e(s)?[s]:yr(s),n=u.length,y=n-1;for(;++i<n;){const _=u[i];let F=r;if(i!==y){const R=e[_];F=M(R)||Array.isArray(R)?R:isNaN(+u[i+1])?{}:[]}if(_==="__proto__")return;e[_]=F,e=e[_]}return e};const Fe={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},G={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},re={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},gr=A.createContext(null),Se=()=>A.useContext(gr),Zr=e=>{const{children:s,...r}=e;return A.createElement(gr.Provider,{value:r},s)};var _r=(e,s,r,i=!0)=>{const u={defaultValues:s._defaultValues};for(const n in e)Object.defineProperty(u,n,{get:()=>{const y=n;return s._proxyFormState[y]!==G.all&&(s._proxyFormState[y]=!i||G.all),r&&(r[y]=!0),e[y]}});return u},j=e=>M(e)&&!Object.keys(e).length,hr=(e,s,r,i)=>{r(e);const{name:u,...n}=e;return j(n)||Object.keys(n).length>=Object.keys(s).length||Object.keys(n).find(y=>s[y]===(!i||G.all))},q=e=>Array.isArray(e)?e:[e],vr=(e,s,r)=>!e||!s||e===s||q(e).some(i=>i&&(r?i===s:i.startsWith(s)||s.startsWith(i)));function we(e){const s=A.useRef(e);s.current=e,A.useEffect(()=>{const r=!e.disabled&&s.current.subject&&s.current.subject.subscribe({next:s.current.next});return()=>{r&&r.unsubscribe()}},[e.disabled])}function Lr(e){const s=Se(),{control:r=s.control,disabled:i,name:u,exact:n}=e||{},[y,_]=A.useState(r._formState),F=A.useRef(!0),R=A.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1}),m=A.useRef(u);return m.current=u,we({disabled:i,next:b=>F.current&&vr(m.current,b.name,n)&&hr(b,R.current,r._updateFormState)&&_({...r._formState,...b}),subject:r._subjects.state}),A.useEffect(()=>(F.current=!0,R.current.isValid&&r._updateValid(!0),()=>{F.current=!1}),[r]),_r(y,r,R.current,!1)}var ee=e=>typeof e=="string",br=(e,s,r,i,u)=>ee(e)?(i&&s.watch.add(e),c(r,e,u)):Array.isArray(e)?e.map(n=>(i&&s.watch.add(n),c(r,n))):(i&&(s.watchAll=!0),r);function Mr(e){const s=Se(),{control:r=s.control,name:i,defaultValue:u,disabled:n,exact:y}=e||{},_=A.useRef(i);_.current=i,we({disabled:n,subject:r._subjects.values,next:m=>{vr(_.current,m.name,y)&&R(L(br(_.current,r._names,m.values||r._formValues,!1,u)))}});const[F,R]=A.useState(r._getWatch(i,u));return A.useEffect(()=>r._removeUnmounted()),F}function Br(e){const s=Se(),{name:r,disabled:i,control:u=s.control,shouldUnregister:n}=e,y=dr(u._names.array,r),_=Mr({control:u,name:r,defaultValue:c(u._formValues,r,c(u._defaultValues,r,e.defaultValue)),exact:!0}),F=Lr({control:u,name:r}),R=A.useRef(u.register(r,{...e.rules,value:_,...Z(e.disabled)?{disabled:e.disabled}:{}}));return A.useEffect(()=>{const m=u._options.shouldUnregister||n,b=(D,H)=>{const B=c(u._fields,D);B&&(B._f.mount=H)};if(b(r,!0),m){const D=L(c(u._options.defaultValues,r));k(u._defaultValues,r,D),E(c(u._formValues,r))&&k(u._formValues,r,D)}return()=>{(y?m&&!u._state.action:m)?u.unregister(r):b(r,!1)}},[r,u,y,n]),A.useEffect(()=>{c(u._fields,r)&&u._updateDisabledField({disabled:i,fields:u._fields,name:r,value:c(u._fields,r)._f.value})},[i,r,u]),{field:{name:r,value:_,...Z(i)||F.disabled?{disabled:F.disabled||i}:{},onChange:A.useCallback(m=>R.current.onChange({target:{value:fr(m),name:r},type:Fe.CHANGE}),[r]),onBlur:A.useCallback(()=>R.current.onBlur({target:{value:c(u._formValues,r),name:r},type:Fe.BLUR}),[r,u]),ref:m=>{const b=c(u._fields,r);b&&m&&(b._f.ref={focus:()=>m.focus(),select:()=>m.select(),setCustomValidity:D=>m.setCustomValidity(D),reportValidity:()=>m.reportValidity()})}},formState:F,fieldState:Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!c(F.errors,r)},isDirty:{enumerable:!0,get:()=>!!c(F.dirtyFields,r)},isTouched:{enumerable:!0,get:()=>!!c(F.touchedFields,r)},isValidating:{enumerable:!0,get:()=>!!c(F.validatingFields,r)},error:{enumerable:!0,get:()=>c(F.errors,r)}})}}const et=e=>e.render(Br(e));var Ir=(e,s,r,i,u)=>s?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[i]:u||!0}}:{},te=()=>{const e=typeof performance>"u"?Date.now():performance.now()*1e3;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,s=>{const r=(Math.random()*16+e)%16|0;return(s=="x"?r:r&3|8).toString(16)})},Re=(e,s,r={})=>r.shouldFocus||E(r.shouldFocus)?r.focusName||`${e}.${E(r.focusIndex)?s:r.focusIndex}.`:"",_e=e=>({isOnSubmit:!e||e===G.onSubmit,isOnBlur:e===G.onBlur,isOnChange:e===G.onChange,isOnAll:e===G.all,isOnTouch:e===G.onTouched}),We=(e,s,r)=>!r&&(s.watchAll||s.watch.has(e)||[...s.watch].some(i=>e.startsWith(i)&&/^\.\w+/.test(e.slice(i.length))));const le=(e,s,r,i)=>{for(const u of r||Object.keys(e)){const n=c(e,u);if(n){const{_f:y,..._}=n;if(y){if(y.refs&&y.refs[0]&&s(y.refs[0],u)&&!i)break;if(y.ref&&s(y.ref,y.name)&&!i)break;le(_,s)}else M(_)&&le(_,s)}}};var Ar=(e,s,r)=>{const i=oe(c(e,r));return k(i,"root",s[r]),k(e,r,i),e},Ke=e=>e.type==="file",se=e=>typeof e=="function",me=e=>{if(!He)return!1;const s=e?e.ownerDocument:0;return e instanceof(s&&s.defaultView?s.defaultView.HTMLElement:HTMLElement)},Ae=e=>ee(e),Ge=e=>e.type==="radio",Ve=e=>e instanceof RegExp;const ir={value:!1,isValid:!1},ar={value:!0,isValid:!0};var Fr=e=>{if(Array.isArray(e)){if(e.length>1){const s=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:s,isValid:!!s.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!E(e[0].attributes.value)?E(e[0].value)||e[0].value===""?ar:{value:e[0].value,isValid:!0}:ar:ir}return ir};const ur={isValid:!1,value:null};var mr=e=>Array.isArray(e)?e.reduce((s,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:s,ur):ur;function nr(e,s,r="validate"){if(Ae(e)||Array.isArray(e)&&e.every(Ae)||Z(e)&&!e)return{type:r,message:Ae(e)?e:"",ref:s}}var ue=e=>M(e)&&!Ve(e)?e:{value:e,message:""},qe=async(e,s,r,i,u)=>{const{ref:n,refs:y,required:_,maxLength:F,minLength:R,min:m,max:b,pattern:D,validate:H,name:B,valueAsNumber:ce,mount:X,disabled:Y}=e._f,p=c(s,B);if(!X||Y)return{};const z=y?y[0]:n,J=x=>{i&&z.reportValidity&&(z.setCustomValidity(Z(x)?"":x||""),z.reportValidity())},g={},v=Ge(n),V=he(n),C=v||V,$=(ce||Ke(n))&&E(n.value)&&E(p)||me(n)&&n.value===""||p===""||Array.isArray(p)&&!p.length,N=Ir.bind(null,B,r,g),ve=(x,S,T,I=re.maxLength,Q=re.minLength)=>{const K=x?S:T;g[B]={type:x?I:Q,message:K,ref:n,...N(x?I:Q,K)}};if(u?!Array.isArray(p)||!p.length:_&&(!C&&($||P(p))||Z(p)&&!p||V&&!Fr(y).isValid||v&&!mr(y).isValid)){const{value:x,message:S}=Ae(_)?{value:!!_,message:_}:ue(_);if(x&&(g[B]={type:re.required,message:S,ref:z,...N(re.required,S)},!r))return J(S),g}if(!$&&(!P(m)||!P(b))){let x,S;const T=ue(b),I=ue(m);if(!P(p)&&!isNaN(p)){const Q=n.valueAsNumber||p&&+p;P(T.value)||(x=Q>T.value),P(I.value)||(S=Q<I.value)}else{const Q=n.valueAsDate||new Date(p),K=ye=>new Date(new Date().toDateString()+" "+ye),fe=n.type=="time",de=n.type=="week";ee(T.value)&&p&&(x=fe?K(p)>K(T.value):de?p>T.value:Q>new Date(T.value)),ee(I.value)&&p&&(S=fe?K(p)<K(I.value):de?p<I.value:Q<new Date(I.value))}if((x||S)&&(ve(!!x,T.message,I.message,re.max,re.min),!r))return J(g[B].message),g}if((F||R)&&!$&&(ee(p)||u&&Array.isArray(p))){const x=ue(F),S=ue(R),T=!P(x.value)&&p.length>+x.value,I=!P(S.value)&&p.length<+S.value;if((T||I)&&(ve(T,x.message,S.message),!r))return J(g[B].message),g}if(D&&!$&&ee(p)){const{value:x,message:S}=ue(D);if(Ve(x)&&!p.match(x)&&(g[B]={type:re.pattern,message:S,ref:n,...N(re.pattern,S)},!r))return J(S),g}if(H){if(se(H)){const x=await H(p,s),S=nr(x,z);if(S&&(g[B]={...S,...N(re.validate,S.message)},!r))return J(S.message),g}else if(M(H)){let x={};for(const S in H){if(!j(x)&&!r)break;const T=nr(await H[S](p,s),z,S);T&&(x={...T,...N(S,T.message)},J(T.message),r&&(g[B]=x))}if(!j(x)&&(g[B]={ref:z,...x},!r))return g}}return J(!0),g},Oe=(e,s)=>[...e,...q(s)],Ue=e=>Array.isArray(e)?e.map(()=>{}):void 0;function Te(e,s,r){return[...e.slice(0,s),...q(r),...e.slice(s)]}var Le=(e,s,r)=>Array.isArray(e)?(E(e[r])&&(e[r]=void 0),e.splice(r,0,e.splice(s,1)[0]),e):[],Me=(e,s)=>[...q(s),...q(e)];function Nr(e,s){let r=0;const i=[...e];for(const u of s)i.splice(u-r,1),r++;return oe(i).length?i:[]}var Be=(e,s)=>E(s)?[]:Nr(e,q(s).sort((r,i)=>r-i)),Ie=(e,s,r)=>{[e[s],e[r]]=[e[r],e[s]]};function Pr(e,s){const r=s.slice(0,-1).length;let i=0;for(;i<r;)e=E(e)?i++:e[s[i++]];return e}function jr(e){for(const s in e)if(e.hasOwnProperty(s)&&!E(e[s]))return!1;return!0}function U(e,s){const r=Array.isArray(s)?s:$e(s)?[s]:yr(s),i=r.length===1?e:Pr(e,r),u=r.length-1,n=r[u];return i&&delete i[n],u!==0&&(M(i)&&j(i)||Array.isArray(i)&&jr(i))&&U(e,r.slice(0,-1)),e}var lr=(e,s,r)=>(e[s]=r,e);function rt(e){const s=Se(),{control:r=s.control,name:i,keyName:u="id",shouldUnregister:n}=e,[y,_]=A.useState(r._getFieldArray(i)),F=A.useRef(r._getFieldArray(i).map(te)),R=A.useRef(y),m=A.useRef(i),b=A.useRef(!1);m.current=i,R.current=y,r._names.array.add(i),e.rules&&r.register(i,e.rules),we({next:({values:g,name:v})=>{if(v===m.current||!v){const V=c(g,m.current);Array.isArray(V)&&(_(V),F.current=V.map(te))}},subject:r._subjects.array});const D=A.useCallback(g=>{b.current=!0,r._updateFieldArray(i,g)},[r,i]),H=(g,v)=>{const V=q(L(g)),C=Oe(r._getFieldArray(i),V);r._names.focus=Re(i,C.length-1,v),F.current=Oe(F.current,V.map(te)),D(C),_(C),r._updateFieldArray(i,C,Oe,{argA:Ue(g)})},B=(g,v)=>{const V=q(L(g)),C=Me(r._getFieldArray(i),V);r._names.focus=Re(i,0,v),F.current=Me(F.current,V.map(te)),D(C),_(C),r._updateFieldArray(i,C,Me,{argA:Ue(g)})},ce=g=>{const v=Be(r._getFieldArray(i),g);F.current=Be(F.current,g),D(v),_(v),r._updateFieldArray(i,v,Be,{argA:g})},X=(g,v,V)=>{const C=q(L(v)),$=Te(r._getFieldArray(i),g,C);r._names.focus=Re(i,g,V),F.current=Te(F.current,g,C.map(te)),D($),_($),r._updateFieldArray(i,$,Te,{argA:g,argB:Ue(v)})},Y=(g,v)=>{const V=r._getFieldArray(i);Ie(V,g,v),Ie(F.current,g,v),D(V),_(V),r._updateFieldArray(i,V,Ie,{argA:g,argB:v},!1)},p=(g,v)=>{const V=r._getFieldArray(i);Le(V,g,v),Le(F.current,g,v),D(V),_(V),r._updateFieldArray(i,V,Le,{argA:g,argB:v},!1)},z=(g,v)=>{const V=L(v),C=lr(r._getFieldArray(i),g,V);F.current=[...C].map(($,N)=>!$||N===g?te():F.current[N]),D(C),_([...C]),r._updateFieldArray(i,C,lr,{argA:g,argB:V},!0,!1)},J=g=>{const v=q(L(g));F.current=v.map(te),D([...v]),_([...v]),r._updateFieldArray(i,[...v],V=>V,{},!0,!1)};return A.useEffect(()=>{if(r._state.action=!1,We(i,r._names)&&r._subjects.state.next({...r._formState}),b.current&&(!_e(r._options.mode).isOnSubmit||r._formState.isSubmitted))if(r._options.resolver)r._executeSchema([i]).then(g=>{const v=c(g.errors,i),V=c(r._formState.errors,i);(V?!v&&V.type||v&&(V.type!==v.type||V.message!==v.message):v&&v.type)&&(v?k(r._formState.errors,i,v):U(r._formState.errors,i),r._subjects.state.next({errors:r._formState.errors}))});else{const g=c(r._fields,i);g&&g._f&&!(_e(r._options.reValidateMode).isOnSubmit&&_e(r._options.mode).isOnSubmit)&&qe(g,r._formValues,r._options.criteriaMode===G.all,r._options.shouldUseNativeValidation,!0).then(v=>!j(v)&&r._subjects.state.next({errors:Ar(r._formState.errors,v,i)}))}r._subjects.values.next({name:i,values:{...r._formValues}}),r._names.focus&&le(r._fields,(g,v)=>{if(r._names.focus&&v.startsWith(r._names.focus)&&g.focus)return g.focus(),1}),r._names.focus="",r._updateValid(),b.current=!1},[y,i,r]),A.useEffect(()=>(!c(r._formValues,i)&&r._updateFieldArray(i),()=>{(r._options.shouldUnregister||n)&&r.unregister(i)}),[i,r,u,n]),{swap:A.useCallback(Y,[D,i,r]),move:A.useCallback(p,[D,i,r]),prepend:A.useCallback(B,[D,i,r]),append:A.useCallback(H,[D,i,r]),remove:A.useCallback(ce,[D,i,r]),insert:A.useCallback(X,[D,i,r]),update:A.useCallback(z,[D,i,r]),replace:A.useCallback(J,[D,i,r]),fields:A.useMemo(()=>y.map((g,v)=>({...g,[u]:F.current[v]||te()})),[y,u])}}var Ne=()=>{let e=[];return{get observers(){return e},next:u=>{for(const n of e)n.next&&n.next(u)},subscribe:u=>(e.push(u),{unsubscribe:()=>{e=e.filter(n=>n!==u)}}),unsubscribe:()=>{e=[]}}},xe=e=>P(e)||!cr(e);function ie(e,s){if(xe(e)||xe(s))return e===s;if(ne(e)&&ne(s))return e.getTime()===s.getTime();const r=Object.keys(e),i=Object.keys(s);if(r.length!==i.length)return!1;for(const u of r){const n=e[u];if(!i.includes(u))return!1;if(u!=="ref"){const y=s[u];if(ne(n)&&ne(y)||M(n)&&M(y)||Array.isArray(n)&&Array.isArray(y)?!ie(n,y):n!==y)return!1}}return!0}var Vr=e=>e.type==="select-multiple",Wr=e=>Ge(e)||he(e),Pe=e=>me(e)&&e.isConnected,xr=e=>{for(const s in e)if(se(e[s]))return!0;return!1};function pe(e,s={}){const r=Array.isArray(e);if(M(e)||r)for(const i in e)Array.isArray(e[i])||M(e[i])&&!xr(e[i])?(s[i]=Array.isArray(e[i])?[]:{},pe(e[i],s[i])):P(e[i])||(s[i]=!0);return s}function pr(e,s,r){const i=Array.isArray(e);if(M(e)||i)for(const u in e)Array.isArray(e[u])||M(e[u])&&!xr(e[u])?E(s)||xe(r[u])?r[u]=Array.isArray(e[u])?pe(e[u],[]):{...pe(e[u])}:pr(e[u],P(s)?{}:s[u],r[u]):r[u]=!ie(e[u],s[u]);return r}var be=(e,s)=>pr(e,s,pe(s)),Sr=(e,{valueAsNumber:s,valueAsDate:r,setValueAs:i})=>E(e)?e:s?e===""?NaN:e&&+e:r&&ee(e)?new Date(e):i?i(e):e;function je(e){const s=e.ref;if(!(e.refs?e.refs.every(r=>r.disabled):s.disabled))return Ke(s)?s.files:Ge(s)?mr(e.refs).value:Vr(s)?[...s.selectedOptions].map(({value:r})=>r):he(s)?Fr(e.refs).value:Sr(E(s.value)?e.ref.value:s.value,e)}var qr=(e,s,r,i)=>{const u={};for(const n of e){const y=c(s,n);y&&k(u,n,y._f)}return{criteriaMode:r,names:[...e],fields:u,shouldUseNativeValidation:i}},ge=e=>E(e)?e:Ve(e)?e.source:M(e)?Ve(e.value)?e.value.source:e.value:e,Hr=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function or(e,s,r){const i=c(e,r);if(i||$e(r))return{error:i,name:r};const u=r.split(".");for(;u.length;){const n=u.join("."),y=c(s,n),_=c(e,n);if(y&&!Array.isArray(y)&&r!==n)return{name:r};if(_&&_.type)return{name:n,error:_};u.pop()}return{name:r}}var $r=(e,s,r,i,u)=>u.isOnAll?!1:!r&&u.isOnTouch?!(s||e):(r?i.isOnBlur:u.isOnBlur)?!e:(r?i.isOnChange:u.isOnChange)?e:!0,Kr=(e,s)=>!oe(c(e,s)).length&&U(e,s);const Gr={mode:G.onSubmit,reValidateMode:G.onChange,shouldFocusError:!0};function zr(e={}){let s={...Gr,...e},r={submitCount:0,isDirty:!1,isLoading:se(s.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:s.errors||{},disabled:s.disabled||!1},i={},u=M(s.defaultValues)||M(s.values)?L(s.defaultValues||s.values)||{}:{},n=s.shouldUnregister?{}:L(u),y={action:!1,mount:!1,watch:!1},_={mount:new Set,unMount:new Set,array:new Set,watch:new Set},F,R=0;const m={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},b={values:Ne(),array:Ne(),state:Ne()},D=_e(s.mode),H=_e(s.reValidateMode),B=s.criteriaMode===G.all,ce=t=>a=>{clearTimeout(R),R=setTimeout(t,a)},X=async t=>{if(m.isValid||t){const a=s.resolver?j((await C()).errors):await N(i,!0);a!==r.isValid&&b.state.next({isValid:a})}},Y=(t,a)=>{(m.isValidating||m.validatingFields)&&((t||Array.from(_.mount)).forEach(l=>{l&&(a?k(r.validatingFields,l,a):U(r.validatingFields,l))}),b.state.next({validatingFields:r.validatingFields,isValidating:!j(r.validatingFields)}))},p=(t,a=[],l,d,f=!0,o=!0)=>{if(d&&l){if(y.action=!0,o&&Array.isArray(c(i,t))){const h=l(c(i,t),d.argA,d.argB);f&&k(i,t,h)}if(o&&Array.isArray(c(r.errors,t))){const h=l(c(r.errors,t),d.argA,d.argB);f&&k(r.errors,t,h),Kr(r.errors,t)}if(m.touchedFields&&o&&Array.isArray(c(r.touchedFields,t))){const h=l(c(r.touchedFields,t),d.argA,d.argB);f&&k(r.touchedFields,t,h)}m.dirtyFields&&(r.dirtyFields=be(u,n)),b.state.next({name:t,isDirty:x(t,a),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else k(n,t,a)},z=(t,a)=>{k(r.errors,t,a),b.state.next({errors:r.errors})},J=t=>{r.errors=t,b.state.next({errors:r.errors,isValid:!1})},g=(t,a,l,d)=>{const f=c(i,t);if(f){const o=c(n,t,E(l)?c(u,t):l);E(o)||d&&d.defaultChecked||a?k(n,t,a?o:je(f._f)):I(t,o),y.mount&&X()}},v=(t,a,l,d,f)=>{let o=!1,h=!1;const w={name:t},O=!!(c(i,t)&&c(i,t)._f.disabled);if(!l||d){m.isDirty&&(h=r.isDirty,r.isDirty=w.isDirty=x(),o=h!==w.isDirty);const W=O||ie(c(u,t),a);h=!!(!O&&c(r.dirtyFields,t)),W||O?U(r.dirtyFields,t):k(r.dirtyFields,t,!0),w.dirtyFields=r.dirtyFields,o=o||m.dirtyFields&&h!==!W}if(l){const W=c(r.touchedFields,t);W||(k(r.touchedFields,t,l),w.touchedFields=r.touchedFields,o=o||m.touchedFields&&W!==l)}return o&&f&&b.state.next(w),o?w:{}},V=(t,a,l,d)=>{const f=c(r.errors,t),o=m.isValid&&Z(a)&&r.isValid!==a;if(e.delayError&&l?(F=ce(()=>z(t,l)),F(e.delayError)):(clearTimeout(R),F=null,l?k(r.errors,t,l):U(r.errors,t)),(l?!ie(f,l):f)||!j(d)||o){const h={...d,...o&&Z(a)?{isValid:a}:{},errors:r.errors,name:t};r={...r,...h},b.state.next(h)}},C=async t=>{Y(t,!0);const a=await s.resolver(n,s.context,qr(t||_.mount,i,s.criteriaMode,s.shouldUseNativeValidation));return Y(t),a},$=async t=>{const{errors:a}=await C(t);if(t)for(const l of t){const d=c(a,l);d?k(r.errors,l,d):U(r.errors,l)}else r.errors=a;return a},N=async(t,a,l={valid:!0})=>{for(const d in t){const f=t[d];if(f){const{_f:o,...h}=f;if(o){const w=_.array.has(o.name);Y([d],!0);const O=await qe(f,n,B,s.shouldUseNativeValidation&&!a,w);if(Y([d]),O[o.name]&&(l.valid=!1,a))break;!a&&(c(O,o.name)?w?Ar(r.errors,O,o.name):k(r.errors,o.name,O[o.name]):U(r.errors,o.name))}h&&await N(h,a,l)}}return l.valid},ve=()=>{for(const t of _.unMount){const a=c(i,t);a&&(a._f.refs?a._f.refs.every(l=>!Pe(l)):!Pe(a._f.ref))&&De(t)}_.unMount=new Set},x=(t,a)=>(t&&a&&k(n,t,a),!ie(ze(),u)),S=(t,a,l)=>br(t,_,{...y.mount?n:E(a)?u:ee(t)?{[t]:a}:a},l,a),T=t=>oe(c(y.mount?n:u,t,e.shouldUnregister?c(u,t,[]):[])),I=(t,a,l={})=>{const d=c(i,t);let f=a;if(d){const o=d._f;o&&(!o.disabled&&k(n,t,Sr(a,o)),f=me(o.ref)&&P(a)?"":a,Vr(o.ref)?[...o.ref.options].forEach(h=>h.selected=f.includes(h.value)):o.refs?he(o.ref)?o.refs.length>1?o.refs.forEach(h=>(!h.defaultChecked||!h.disabled)&&(h.checked=Array.isArray(f)?!!f.find(w=>w===h.value):f===h.value)):o.refs[0]&&(o.refs[0].checked=!!f):o.refs.forEach(h=>h.checked=h.value===f):Ke(o.ref)?o.ref.value="":(o.ref.value=f,o.ref.type||b.values.next({name:t,values:{...n}})))}(l.shouldDirty||l.shouldTouch)&&v(t,f,l.shouldTouch,l.shouldDirty,!0),l.shouldValidate&&ye(t)},Q=(t,a,l)=>{for(const d in a){const f=a[d],o=`${t}.${d}`,h=c(i,o);(_.array.has(t)||!xe(f)||h&&!h._f)&&!ne(f)?Q(o,f,l):I(o,f,l)}},K=(t,a,l={})=>{const d=c(i,t),f=_.array.has(t),o=L(a);k(n,t,o),f?(b.array.next({name:t,values:{...n}}),(m.isDirty||m.dirtyFields)&&l.shouldDirty&&b.state.next({name:t,dirtyFields:be(u,n),isDirty:x(t,o)})):d&&!d._f&&!P(o)?Q(t,o,l):I(t,o,l),We(t,_)&&b.state.next({...r}),b.values.next({name:y.mount?t:void 0,values:{...n}})},fe=async t=>{y.mount=!0;const a=t.target;let l=a.name,d=!0;const f=c(i,l),o=()=>a.type?je(f._f):fr(t),h=w=>{d=Number.isNaN(w)||w===c(n,l,w)};if(f){let w,O;const W=o(),ae=t.type===Fe.BLUR||t.type===Fe.FOCUS_OUT,Cr=!Hr(f._f)&&!s.resolver&&!c(r.errors,l)&&!f._f.deps||$r(ae,c(r.touchedFields,l),r.isSubmitted,H,D),Ee=We(l,_,ae);k(n,l,W),ae?(f._f.onBlur&&f._f.onBlur(t),F&&F(0)):f._f.onChange&&f._f.onChange(t);const Ce=v(l,W,ae,!1),Rr=!j(Ce)||Ee;if(!ae&&b.values.next({name:l,type:t.type,values:{...n}}),Cr)return m.isValid&&X(),Rr&&b.state.next({name:l,...Ee?{}:Ce});if(!ae&&Ee&&b.state.next({...r}),s.resolver){const{errors:tr}=await C([l]);if(h(W),d){const Or=or(r.errors,i,l),sr=or(tr,i,Or.name||l);w=sr.error,l=sr.name,O=j(tr)}}else Y([l],!0),w=(await qe(f,n,B,s.shouldUseNativeValidation))[l],Y([l]),h(W),d&&(w?O=!1:m.isValid&&(O=await N(i,!0)));d&&(f._f.deps&&ye(f._f.deps),V(l,O,w,Ce))}},de=(t,a)=>{if(c(r.errors,a)&&t.focus)return t.focus(),1},ye=async(t,a={})=>{let l,d;const f=q(t);if(s.resolver){const o=await $(E(t)?t:f);l=j(o),d=t?!f.some(h=>c(o,h)):l}else t?(d=(await Promise.all(f.map(async o=>{const h=c(i,o);return await N(h&&h._f?{[o]:h}:h)}))).every(Boolean),!(!d&&!r.isValid)&&X()):d=l=await N(i);return b.state.next({...!ee(t)||m.isValid&&l!==r.isValid?{}:{name:t},...s.resolver||!t?{isValid:l}:{},errors:r.errors}),a.shouldFocus&&!d&&le(i,de,t?f:_.mount),d},ze=t=>{const a={...y.mount?n:u};return E(t)?a:ee(t)?c(a,t):t.map(l=>c(a,l))},Je=(t,a)=>({invalid:!!c((a||r).errors,t),isDirty:!!c((a||r).dirtyFields,t),isTouched:!!c((a||r).touchedFields,t),isValidating:!!c((a||r).validatingFields,t),error:c((a||r).errors,t)}),wr=t=>{t&&q(t).forEach(a=>U(r.errors,a)),b.state.next({errors:t?r.errors:{}})},Qe=(t,a,l)=>{const d=(c(i,t,{_f:{}})._f||{}).ref,f=c(r.errors,t)||{},{ref:o,message:h,type:w,...O}=f;k(r.errors,t,{...O,...a,ref:d}),b.state.next({name:t,errors:r.errors,isValid:!1}),l&&l.shouldFocus&&d&&d.focus&&d.focus()},Dr=(t,a)=>se(t)?b.values.subscribe({next:l=>t(S(void 0,a),l)}):S(t,a,!0),De=(t,a={})=>{for(const l of t?q(t):_.mount)_.mount.delete(l),_.array.delete(l),a.keepValue||(U(i,l),U(n,l)),!a.keepError&&U(r.errors,l),!a.keepDirty&&U(r.dirtyFields,l),!a.keepTouched&&U(r.touchedFields,l),!a.keepIsValidating&&U(r.validatingFields,l),!s.shouldUnregister&&!a.keepDefaultValue&&U(u,l);b.values.next({values:{...n}}),b.state.next({...r,...a.keepDirty?{isDirty:x()}:{}}),!a.keepIsValid&&X()},Xe=({disabled:t,name:a,field:l,fields:d,value:f})=>{if(Z(t)&&y.mount||t){const o=t?void 0:E(f)?je(l?l._f:c(d,a)._f):f;k(n,a,o),v(a,o,!1,!1,!0)}},ke=(t,a={})=>{let l=c(i,t);const d=Z(a.disabled);return k(i,t,{...l||{},_f:{...l&&l._f?l._f:{ref:{name:t}},name:t,mount:!0,...a}}),_.mount.add(t),l?Xe({field:l,disabled:a.disabled,name:t,value:a.value}):g(t,!0,a.value),{...d?{disabled:a.disabled}:{},...s.progressive?{required:!!a.required,min:ge(a.min),max:ge(a.max),minLength:ge(a.minLength),maxLength:ge(a.maxLength),pattern:ge(a.pattern)}:{},name:t,onChange:fe,onBlur:fe,ref:f=>{if(f){ke(t,a),l=c(i,t);const o=E(f.value)&&f.querySelectorAll&&f.querySelectorAll("input,select,textarea")[0]||f,h=Wr(o),w=l._f.refs||[];if(h?w.find(O=>O===o):o===l._f.ref)return;k(i,t,{_f:{...l._f,...h?{refs:[...w.filter(Pe),o,...Array.isArray(c(u,t))?[{}]:[]],ref:{type:o.type,name:t}}:{ref:o}}}),g(t,!1,void 0,o)}else l=c(i,t,{}),l._f&&(l._f.mount=!1),(s.shouldUnregister||a.shouldUnregister)&&!(dr(_.array,t)&&y.action)&&_.unMount.add(t)}}},Ye=()=>s.shouldFocusError&&le(i,de,_.mount),kr=t=>{Z(t)&&(b.state.next({disabled:t}),le(i,(a,l)=>{const d=c(i,l);d&&(a.disabled=d._f.disabled||t,Array.isArray(d._f.refs)&&d._f.refs.forEach(f=>{f.disabled=d._f.disabled||t}))},0,!1))},Ze=(t,a)=>async l=>{let d;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let f=L(n);if(b.state.next({isSubmitting:!0}),s.resolver){const{errors:o,values:h}=await C();r.errors=o,f=h}else await N(i);if(U(r.errors,"root"),j(r.errors)){b.state.next({errors:{}});try{await t(f,l)}catch(o){d=o}}else a&&await a({...r.errors},l),Ye(),setTimeout(Ye);if(b.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:j(r.errors)&&!d,submitCount:r.submitCount+1,errors:r.errors}),d)throw d},Er=(t,a={})=>{c(i,t)&&(E(a.defaultValue)?K(t,L(c(u,t))):(K(t,a.defaultValue),k(u,t,L(a.defaultValue))),a.keepTouched||U(r.touchedFields,t),a.keepDirty||(U(r.dirtyFields,t),r.isDirty=a.defaultValue?x(t,L(c(u,t))):x()),a.keepError||(U(r.errors,t),m.isValid&&X()),b.state.next({...r}))},er=(t,a={})=>{const l=t?L(t):u,d=L(l),f=j(t),o=f?u:d;if(a.keepDefaultValues||(u=l),!a.keepValues){if(a.keepDirtyValues)for(const h of _.mount)c(r.dirtyFields,h)?k(o,h,c(n,h)):K(h,c(o,h));else{if(He&&E(t))for(const h of _.mount){const w=c(i,h);if(w&&w._f){const O=Array.isArray(w._f.refs)?w._f.refs[0]:w._f.ref;if(me(O)){const W=O.closest("form");if(W){W.reset();break}}}}i={}}n=e.shouldUnregister?a.keepDefaultValues?L(u):{}:L(o),b.array.next({values:{...o}}),b.values.next({values:{...o}})}_={mount:a.keepDirtyValues?_.mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},y.mount=!m.isValid||!!a.keepIsValid||!!a.keepDirtyValues,y.watch=!!e.shouldUnregister,b.state.next({submitCount:a.keepSubmitCount?r.submitCount:0,isDirty:f?!1:a.keepDirty?r.isDirty:!!(a.keepDefaultValues&&!ie(t,u)),isSubmitted:a.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:f?[]:a.keepDirtyValues?a.keepDefaultValues&&n?be(u,n):r.dirtyFields:a.keepDefaultValues&&t?be(u,t):{},touchedFields:a.keepTouched?r.touchedFields:{},errors:a.keepErrors?r.errors:{},isSubmitSuccessful:a.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1})},rr=(t,a)=>er(se(t)?t(n):t,a);return{control:{register:ke,unregister:De,getFieldState:Je,handleSubmit:Ze,setError:Qe,_executeSchema:C,_getWatch:S,_getDirty:x,_updateValid:X,_removeUnmounted:ve,_updateFieldArray:p,_updateDisabledField:Xe,_getFieldArray:T,_reset:er,_resetDefaultValues:()=>se(s.defaultValues)&&s.defaultValues().then(t=>{rr(t,s.resetOptions),b.state.next({isLoading:!1})}),_updateFormState:t=>{r={...r,...t}},_disableForm:kr,_subjects:b,_proxyFormState:m,_setErrors:J,get _fields(){return i},get _formValues(){return n},get _state(){return y},set _state(t){y=t},get _defaultValues(){return u},get _names(){return _},set _names(t){_=t},get _formState(){return r},set _formState(t){r=t},get _options(){return s},set _options(t){s={...s,...t}}},trigger:ye,register:ke,handleSubmit:Ze,watch:Dr,setValue:K,getValues:ze,reset:rr,resetField:Er,clearErrors:wr,unregister:De,setError:Qe,setFocus:(t,a={})=>{const l=c(i,t),d=l&&l._f;if(d){const f=d.refs?d.refs[0]:d.ref;f.focus&&(f.focus(),a.shouldSelect&&f.select())}},getFieldState:Je}}function tt(e={}){const s=A.useRef(),r=A.useRef(),[i,u]=A.useState({isDirty:!1,isValidating:!1,isLoading:se(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,defaultValues:se(e.defaultValues)?void 0:e.defaultValues});s.current||(s.current={...zr(e),formState:i});const n=s.current.control;return n._options=e,we({subject:n._subjects.state,next:y=>{hr(y,n._proxyFormState,n._updateFormState,!0)&&u({...n._formState})}}),A.useEffect(()=>n._disableForm(e.disabled),[n,e.disabled]),A.useEffect(()=>{if(n._proxyFormState.isDirty){const y=n._getDirty();y!==i.isDirty&&n._subjects.state.next({isDirty:y})}},[n,i.isDirty]),A.useEffect(()=>{e.values&&!ie(e.values,r.current)?(n._reset(e.values,n._options.resetOptions),r.current=e.values,u(y=>({...y}))):n._resetDefaultValues()},[e.values,n]),A.useEffect(()=>{e.errors&&n._setErrors(e.errors)},[e.errors,n]),A.useEffect(()=>{n._state.mount||(n._updateValid(),n._state.mount=!0),n._state.watch&&(n._state.watch=!1,n._subjects.state.next({...n._formState})),n._removeUnmounted()}),A.useEffect(()=>{e.shouldUnregister&&n._subjects.values.next({values:n._getWatch()})},[e.shouldUnregister,n]),s.current.formState=_r(i,n),s.current}export{et as C,Zr as F,rt as a,Se as b,Ir as c,c as g,tt as u};
@@ -1 +0,0 @@
1
- import{r as s,j as e}from"./@radix-DnFH_oo1.js";import{j as r,f as n}from"./index-Ci0nJ8EZ.js";import{b as o}from"./@react-router-APVeuk-U.js";import"./@tanstack-QbMbTrh5.js";import"./@reactflow-ytavUpwh.js";const a=t=>s.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...t},s.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12.7071 4.29289C13.0976 4.68342 13.0976 5.31658 12.7071 5.70711L7.41421 11H19C19.5523 11 20 11.4477 20 12C20 12.5523 19.5523 13 19 13H7.41421L12.7071 18.2929C13.0976 18.6834 13.0976 19.3166 12.7071 19.7071C12.3166 20.0976 11.6834 20.0976 11.2929 19.7071L4.29289 12.7071C3.90237 12.3166 3.90237 11.6834 4.29289 11.2929L11.2929 4.29289C11.6834 3.90237 12.3166 3.90237 12.7071 4.29289Z"})),l=a;function p(){const t=o();return e.jsx(e.Fragment,{children:e.jsxs("section",{className:"layout-container my-9 flex flex-col items-center gap-5",children:[e.jsx(r,{className:"h-[120px] w-[120px] fill-neutral-300"}),e.jsxs("div",{className:"text-center",children:[e.jsx("h1",{className:"mb-2 text-display-xs font-semibold",children:"Error 404 - Run Not Found"}),e.jsx("p",{className:"text-theme-text-secondary",children:"Oh no! It seems that the run you are looking for doesn't exist."})]}),e.jsxs(n,{intent:"primary",size:"lg",onClick:()=>t(-1),children:[e.jsx(l,{className:"h-5 w-5 fill-theme-text-negative"})," ",e.jsx("span",{children:"Go back"})]})]})})}export{p as default};
@@ -1 +0,0 @@
1
- import{r as _,j as t}from"./@radix-DnFH_oo1.js";import{u as k,g as Je,S as Xe,C as oe,P as ie,W as et,L as tt}from"./ProviderRadio-D3FuCHf3.js";import{W as O,H as T,B as D,S as E}from"./WizardFooter-Cv9ApYWU.js";import{t as B}from"./zod-uFd1wBcd.js";import{z as h,l as je,m as ge,k as _e,n as Ee,F as ve,S as Y,I as W,f as w,ay as rt,az as st,aA as nt,aB as ot,aL as it,aC as at,ao as ct,a7 as lt,a9 as ut,ab as dt,d as ft,U as mt,i as Me,j as ht,r as xt,A as pt,b as yt,ac as jt}from"./index-Ci0nJ8EZ.js";import{b as y,C as b,u as $,F as V,a as gt}from"./index.esm-BE1uqCX5.js";import{C as Se,b as _t}from"./stack-detail-query-DQcyzG-2.js";import{R as H,a as K,u as vt}from"./create-stack-F29xAUEx.js";import{q as Re,a as J,b as St,j as Le,c as bt}from"./@tanstack-QbMbTrh5.js";import{o as Ct,s as wt}from"./url-CbAPzsmT.js";import{C as M}from"./ProviderIcon-C16CCIN4.js";import{a as Nt,s as qe}from"./sharedSchema-vub0rii3.js";import{S as Ft}from"./Lock-CmIn0szs.js";import{S as Pt}from"./plus-Bc8eLSDM.js";import{S as kt}from"./trash-DUWZWzse.js";import{S as At}from"./dots-horizontal-C6K59vUm.js";import{T as be}from"./Tick-DJTCF0Re.js";import{C as zt}from"./ComponentBadge-gKR1OIwG.js";import{e as It}from"./components-Br2ezRib.js";import{L as Ot}from"./@react-router-APVeuk-U.js";import"./persist-BxIR2XZs.js";import"./@reactflow-ytavUpwh.js";import"./layout-Dru15_XR.js";import"./rocket-SESCGQXm.js";import"./gcp-Dj6ntk0L.js";const Be=_.createContext(null);function Tt({children:e}){const[r,s]=_.useState({stackName:null,createdStackId:null,connectorConfig:null,fullstackResources:null,artifactStoreConfig:null,registryConfig:null,orchestratorConfig:null});return t.jsx(Be.Provider,{value:{data:r,setData:s},children:e})}function C(){const e=_.useContext(Be);if(e===null)throw new Error("useExistingInfraContext must be used within an ExistingInfraProvider");return e}const We=_.createContext(null);function Pe({children:e,initialSchema:r}){const[s,n]=_.useState(r);return t.jsx(We.Provider,{value:{schema:s,setSchema:n},children:e})}function X(){const e=_.useContext(We);if(!e)throw new Error("useSchemaContext must be used within a SchemaProvider");return e}const Dt=h.object({resourceId:h.string().min(1),flavor:h.string()});function Et(){return t.jsxs("div",{className:"space-y-1",children:[t.jsxs("p",{className:"flex items-center gap-1 text-text-lg font-semibold",children:[t.jsx(Se,{type:"artifact_store",className:"h-5 w-5 fill-primary-400"}),"Select your Artifact Store"]}),t.jsx("p",{className:"text-theme-text-secondary",children:"Choose one of the storages for the new Artifact Store."})]})}var $e=Symbol.for("immer-nothing"),ke=Symbol.for("immer-draftable"),j=Symbol.for("immer-state");function v(e,...r){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var A=Object.getPrototypeOf;function z(e){return!!e&&!!e[j]}function F(e){var r;return e?Ve(e)||Array.isArray(e)||!!e[ke]||!!((r=e.constructor)!=null&&r[ke])||te(e)||re(e):!1}var Mt=Object.prototype.constructor.toString();function Ve(e){if(!e||typeof e!="object")return!1;const r=A(e);if(r===null)return!0;const s=Object.hasOwnProperty.call(r,"constructor")&&r.constructor;return s===Object?!0:typeof s=="function"&&Function.toString.call(s)===Mt}function U(e,r){ee(e)===0?Reflect.ownKeys(e).forEach(s=>{r(s,e[s],e)}):e.forEach((s,n)=>r(n,s,e))}function ee(e){const r=e[j];return r?r.type_:Array.isArray(e)?1:te(e)?2:re(e)?3:0}function de(e,r){return ee(e)===2?e.has(r):Object.prototype.hasOwnProperty.call(e,r)}function Ze(e,r,s){const n=ee(e);n===2?e.set(r,s):n===3?e.add(s):e[r]=s}function Rt(e,r){return e===r?e!==0||1/e===1/r:e!==e&&r!==r}function te(e){return e instanceof Map}function re(e){return e instanceof Set}function N(e){return e.copy_||e.base_}function fe(e,r){if(te(e))return new Map(e);if(re(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const s=Ve(e);if(r===!0||r==="class_only"&&!s){const n=Object.getOwnPropertyDescriptors(e);delete n[j];let o=Reflect.ownKeys(n);for(let a=0;a<o.length;a++){const i=o[a],u=n[i];u.writable===!1&&(u.writable=!0,u.configurable=!0),(u.get||u.set)&&(n[i]={configurable:!0,writable:!0,enumerable:u.enumerable,value:e[i]})}return Object.create(A(e),n)}else{const n=A(e);if(n!==null&&s)return{...e};const o=Object.create(n);return Object.assign(o,e)}}function Ce(e,r=!1){return se(e)||z(e)||!F(e)||(ee(e)>1&&(e.set=e.add=e.clear=e.delete=Lt),Object.freeze(e),r&&Object.entries(e).forEach(([s,n])=>Ce(n,!0))),e}function Lt(){v(2)}function se(e){return Object.isFrozen(e)}var qt={};function P(e){const r=qt[e];return r||v(0,e),r}var R;function He(){return R}function Bt(e,r){return{drafts_:[],parent_:e,immer_:r,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function Ae(e,r){r&&(P("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=r)}function me(e){he(e),e.drafts_.forEach(Wt),e.drafts_=null}function he(e){e===R&&(R=e.parent_)}function ze(e){return R=Bt(R,e)}function Wt(e){const r=e[j];r.type_===0||r.type_===1?r.revoke_():r.revoked_=!0}function Ie(e,r){r.unfinalizedDrafts_=r.drafts_.length;const s=r.drafts_[0];return e!==void 0&&e!==s?(s[j].modified_&&(me(r),v(4)),F(e)&&(e=Q(r,e),r.parent_||G(r,e)),r.patches_&&P("Patches").generateReplacementPatches_(s[j].base_,e,r.patches_,r.inversePatches_)):e=Q(r,s,[]),me(r),r.patches_&&r.patchListener_(r.patches_,r.inversePatches_),e!==$e?e:void 0}function Q(e,r,s){if(se(r))return r;const n=r[j];if(!n)return U(r,(o,a)=>Oe(e,n,r,o,a,s)),r;if(n.scope_!==e)return r;if(!n.modified_)return G(e,n.base_,!0),n.base_;if(!n.finalized_){n.finalized_=!0,n.scope_.unfinalizedDrafts_--;const o=n.copy_;let a=o,i=!1;n.type_===3&&(a=new Set(o),o.clear(),i=!0),U(a,(u,f)=>Oe(e,n,o,u,f,s,i)),G(e,o,!1),s&&e.patches_&&P("Patches").generatePatches_(n,s,e.patches_,e.inversePatches_)}return n.copy_}function Oe(e,r,s,n,o,a,i){if(z(o)){const u=a&&r&&r.type_!==3&&!de(r.assigned_,n)?a.concat(n):void 0,f=Q(e,o,u);if(Ze(s,n,f),z(f))e.canAutoFreeze_=!1;else return}else i&&s.add(o);if(F(o)&&!se(o)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;Q(e,o),(!r||!r.scope_.parent_)&&typeof n!="symbol"&&Object.prototype.propertyIsEnumerable.call(s,n)&&G(e,o)}}function G(e,r,s=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Ce(r,s)}function $t(e,r){const s=Array.isArray(e),n={type_:s?1:0,scope_:r?r.scope_:He(),modified_:!1,finalized_:!1,assigned_:{},parent_:r,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let o=n,a=we;s&&(o=[n],a=L);const{revoke:i,proxy:u}=Proxy.revocable(o,a);return n.draft_=u,n.revoke_=i,u}var we={get(e,r){if(r===j)return e;const s=N(e);if(!de(s,r))return Vt(e,s,r);const n=s[r];return e.finalized_||!F(n)?n:n===ae(e.base_,r)?(ce(e),e.copy_[r]=pe(n,e)):n},has(e,r){return r in N(e)},ownKeys(e){return Reflect.ownKeys(N(e))},set(e,r,s){const n=Ke(N(e),r);if(n!=null&&n.set)return n.set.call(e.draft_,s),!0;if(!e.modified_){const o=ae(N(e),r),a=o==null?void 0:o[j];if(a&&a.base_===s)return e.copy_[r]=s,e.assigned_[r]=!1,!0;if(Rt(s,o)&&(s!==void 0||de(e.base_,r)))return!0;ce(e),xe(e)}return e.copy_[r]===s&&(s!==void 0||r in e.copy_)||Number.isNaN(s)&&Number.isNaN(e.copy_[r])||(e.copy_[r]=s,e.assigned_[r]=!0),!0},deleteProperty(e,r){return ae(e.base_,r)!==void 0||r in e.base_?(e.assigned_[r]=!1,ce(e),xe(e)):delete e.assigned_[r],e.copy_&&delete e.copy_[r],!0},getOwnPropertyDescriptor(e,r){const s=N(e),n=Reflect.getOwnPropertyDescriptor(s,r);return n&&{writable:!0,configurable:e.type_!==1||r!=="length",enumerable:n.enumerable,value:s[r]}},defineProperty(){v(11)},getPrototypeOf(e){return A(e.base_)},setPrototypeOf(){v(12)}},L={};U(we,(e,r)=>{L[e]=function(){return arguments[0]=arguments[0][0],r.apply(this,arguments)}});L.deleteProperty=function(e,r){return L.set.call(this,e,r,void 0)};L.set=function(e,r,s){return we.set.call(this,e[0],r,s,e[0])};function ae(e,r){const s=e[j];return(s?N(s):e)[r]}function Vt(e,r,s){var o;const n=Ke(r,s);return n?"value"in n?n.value:(o=n.get)==null?void 0:o.call(e.draft_):void 0}function Ke(e,r){if(!(r in e))return;let s=A(e);for(;s;){const n=Object.getOwnPropertyDescriptor(s,r);if(n)return n;s=A(s)}}function xe(e){e.modified_||(e.modified_=!0,e.parent_&&xe(e.parent_))}function ce(e){e.copy_||(e.copy_=fe(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var Zt=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(r,s,n)=>{if(typeof r=="function"&&typeof s!="function"){const a=s;s=r;const i=this;return function(f=a,...d){return i.produce(f,c=>s.call(this,c,...d))}}typeof s!="function"&&v(6),n!==void 0&&typeof n!="function"&&v(7);let o;if(F(r)){const a=ze(this),i=pe(r,void 0);let u=!0;try{o=s(i),u=!1}finally{u?me(a):he(a)}return Ae(a,n),Ie(o,a)}else if(!r||typeof r!="object"){if(o=s(r),o===void 0&&(o=r),o===$e&&(o=void 0),this.autoFreeze_&&Ce(o,!0),n){const a=[],i=[];P("Patches").generateReplacementPatches_(r,o,a,i),n(a,i)}return o}else v(1,r)},this.produceWithPatches=(r,s)=>{if(typeof r=="function")return(i,...u)=>this.produceWithPatches(i,f=>r(f,...u));let n,o;return[this.produce(r,s,(i,u)=>{n=i,o=u}),n,o]},typeof(e==null?void 0:e.autoFreeze)=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof(e==null?void 0:e.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){F(e)||v(8),z(e)&&(e=Ht(e));const r=ze(this),s=pe(e,void 0);return s[j].isManual_=!0,he(r),s}finishDraft(e,r){const s=e&&e[j];(!s||!s.isManual_)&&v(9);const{scope_:n}=s;return Ae(n,r),Ie(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,r){let s;for(s=r.length-1;s>=0;s--){const o=r[s];if(o.path.length===0&&o.op==="replace"){e=o.value;break}}s>-1&&(r=r.slice(s+1));const n=P("Patches").applyPatches_;return z(e)?n(e,r):this.produce(e,o=>n(o,r))}};function pe(e,r){const s=te(e)?P("MapSet").proxyMap_(e,r):re(e)?P("MapSet").proxySet_(e,r):$t(e,r);return(r?r.scope_:He()).drafts_.push(s),s}function Ht(e){return z(e)||v(10,e),Ue(e)}function Ue(e){if(!F(e)||se(e))return e;const r=e[j];let s;if(r){if(!r.modified_)return r.base_;r.finalized_=!0,s=fe(e,r.scope_.immer_.useStrictShallowCopy_)}else s=fe(e,!0);return U(s,(n,o)=>{Ze(s,n,Ue(o))}),r&&(r.finalized_=!1),s}var g=new Zt,I=g.produce;g.produceWithPatches.bind(g);g.setAutoFreeze.bind(g);g.setUseStrictShallowCopy.bind(g);g.applyPatches.bind(g);g.createDraft.bind(g);g.finishDraft.bind(g);function Kt(){const{data:e,setData:r}=C(),{setCurrentStep:s}=k();if(!e.fullstackResources)return s(2),{handleFormSubmit:()=>{},flattenedInstances:[]};const n=e.fullstackResources.components_resources_info.artifact_store,o=n.flatMap(i=>i.accessible_by_service_connector.map(u=>({...i,value:u})));function a({flavor:i,resourceId:u}){const f=n.find(d=>d.flavor===i);f&&(r(d=>I(d,c=>{c.artifactStoreConfig={flavor:i,configuration:Object.fromEntries(Object.keys(f.required_configuration||{}).map(m=>[m,u])),service_connector_resource_id:u}})),s(d=>d+1))}return{handleFormSubmit:a,flattenedInstances:o}}async function Ut(e){const r=je(ge.flavors.all)+(e?`?${Ct(e)}`:""),s=await _e(r,{method:"GET",headers:{"Content-Type":"application/json"}});if(s.status===404&&Ee(),!s.ok){const n=await s.json().then(o=>Array.isArray(o.detail)?o.detail[1]:o.detail).catch(()=>"Error while fetching flavors");throw new ve({status:s.status,statusText:s.statusText,message:n})}return s.json()}const Qe={all:["flavors"],flavorList:e=>Re({queryKey:[...Qe.all,e],queryFn:async()=>Ut(e)})};function q({flavor:e,type:r,width:s=32,height:n=32,...o}){var i;const a=J({...Qe.flavorList({name:e,type:r})});return a.isError?null:a.isPending?t.jsx(Y,{style:{height:`${n}px`,width:`${s}px`}}):t.jsx("img",{width:s,height:n,alt:`${e} logo`,...o,src:wt(((i=a.data.items[0].body)==null?void 0:i.logo_url)??"")})}const Qt="artifact_store";function Gt(){const[e,r]=_.useState(""),{control:s,setValue:n,handleSubmit:o,register:a,watch:i,trigger:u,reset:f}=y(),{flattenedInstances:d,handleFormSubmit:c}=Kt(),m=d.filter(l=>l.value.toLocaleLowerCase().includes(e.toLocaleLowerCase()));return t.jsxs(t.Fragment,{children:[t.jsx(W,{placeholder:"Search...",onChange:l=>{f(),r(l.target.value)}}),t.jsxs("form",{onSubmit:o(c),id:"artifact-store-form",children:[t.jsx("input",{type:"hidden",...a("flavor")}),t.jsx("ul",{className:"space-y-1",children:m.map(l=>t.jsx("li",{children:t.jsx(b,{name:"resourceId",control:s,render:({field:{onChange:x,...p}})=>t.jsxs(H,{"data-state":i("resourceId")===l.value?"selected":"unselected",htmlFor:l.value,children:[t.jsx(K,{id:l.value,type:"radio",...p,onChange:S=>{n("flavor",l.flavor,{shouldValidate:!0,shouldDirty:!0,shouldTouch:!0}),x(S.target.value),u()},value:l.value,name:"connector-radio"}),t.jsx(q,{type:Qt,width:24,height:24,flavor:l.flavor})," ",t.jsx("span",{children:l.value})]})})},l.value))})]})]})}function Yt(){const e=$({resolver:B(Dt),shouldUnregister:!0});return t.jsx(V,{...e,children:t.jsxs(O,{children:[t.jsx(T,{children:"Artifact Store"}),t.jsx(D,{children:t.jsxs("section",{className:"space-y-5 py-5 first:pt-0 last:pb-0",children:[t.jsx(Et,{}),t.jsx(Gt,{})]})}),t.jsx(E,{children:t.jsx(Jt,{})})]})})}function Jt(){const e=y();return t.jsx(w,{disabled:!e.formState.isValid,form:"artifact-store-form",size:"md",children:"Next"})}function Xt(e,r){const s=Object.keys(e).reduce((n,o)=>{var d,c;const a=e[o];let i;const u=Ge(o,r);switch(a.type||((c=(d=a.anyOf)==null?void 0:d.find(m=>m.type!==null))==null?void 0:c.type)){case"string":i=h.string().trim();break;case"boolean":i=h.boolean();break;case"array":i=h.array(h.string());break;default:i=h.string();break}return u&&(i=i.optional()),!u&&a.type==="string"&&i instanceof h.ZodString&&(i=i.min(1,"Required")),n[o]=i,n},{});return h.object(s)}function Ge(e,r){return!r.includes(e)}async function er(e){const r=je(ge.serviceConnectors.types.detail(e)),s=await _e(r,{method:"GET",headers:{"Content-Type":"application/json"}});if(s.status===404&&Ee(),!s.ok){const n=await s.json().then(o=>Array.isArray(o.detail)?o.detail[1]:o.detail).catch(()=>"Error while fetching service connector type");throw new ve({status:s.status,statusText:s.statusText,message:n})}return s.json()}const Ne={connectorTypes:["service_connector_types"],serviceConnectorTypeDetail:e=>Re({queryKey:[...Ne.connectorTypes,e],queryFn:async()=>er(e)})},Ye=h.object({authMethod:h.string().min(1),stackName:Nt});function tr(){var c,m;const{data:e}=C(),{setCurrentStep:r}=k(),{control:s,watch:n,resetField:o}=y(),{setSchema:a}=X(),i=J({...Ne.serviceConnectorTypeDetail(((c=e.connectorConfig)==null?void 0:c.type)||"")});if(i.isError)return null;if(i.isPending)return t.jsx(Y,{className:"h-[40px] w-[100px]"});const u=i.data.auth_methods.filter(l=>l.auth_method!=="implicit").map(l=>({name:l.name,auth_method:l.auth_method}));if(!((m=e.connectorConfig)!=null&&m.type)){r(1);return}function f(){var Fe;const l=n("authMethod"),x=(Fe=i.data)==null?void 0:Fe.auth_methods.find(ne=>ne.auth_method===l);if(!x)return;const p=Xt(x.config_schema.properties,x.config_schema.required);a(Ye.merge(p)),Object.keys(p.shape).forEach(ne=>o(ne))}const d=e.connectorConfig.type||"";return t.jsx(b,{control:s,name:"authMethod",render:({field:{onChange:l,ref:x,...p}})=>t.jsxs(rt,{...p,onValueChange:S=>{l(S),f()},children:[t.jsx(st,{className:"w-fit border border-neutral-300 text-left text-text-md",children:t.jsx(nt,{className:"flex items-center gap-2",placeholder:"Select your Auth Method"})}),t.jsx(ot,{children:t.jsx(it,{viewportClassName:"max-h-[300px]",children:u.map(S=>t.jsx(at,{className:"space-x-2",value:S.auth_method,children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(M,{provider:d}),t.jsx("div",{children:S.name})]})},S.auth_method))})})]})})}function rr(){return t.jsxs("section",{className:"space-y-5 py-5 first:pt-0 last:pb-0",children:[t.jsxs("div",{className:"space-y-1",children:[t.jsxs("p",{className:"flex items-center gap-1 text-text-lg font-semibold",children:[t.jsx(_t,{className:"h-5 w-5 fill-primary-400"}),"Select an Authentication Method"]}),t.jsx("p",{className:"text-theme-text-secondary",children:"Connect ZenML to your resources for seamless integration of cloud services into your ML pipelines."})]}),t.jsx(tr,{})]})}function sr({schema:e,name:r,isOptional:s}){var o,a;const n=e.type||((a=(o=e.anyOf)==null?void 0:o.find(i=>i.type!==null))==null?void 0:a.type);if(!n)return null;switch(n){case"string":return t.jsx(nr,{isOptional:s,schema:e,name:r});case"array":return t.jsx(or,{isOptional:s,schema:e,name:r});case"boolean":return t.jsx(ir,{isOptional:s,schema:e,name:r});default:return null}}function nr({name:e,schema:r,isOptional:s}){const n=y(),o=r.format==="password";return t.jsxs("div",{children:[t.jsxs("label",{htmlFor:e,className:"text-text-sm",children:[r.title," ",s?"(optional)":""]}),t.jsx(b,{defaultValue:"",control:n.control,name:e,render:({field:a})=>t.jsx(W,{inputSize:"md",className:"w-full",id:e,...a,type:o?"password":"text"})})]})}function or({name:e,schema:r,isOptional:s}){const{control:n}=y(),{fields:o,append:a,remove:i}=gt({name:e,control:n});return t.jsxs("div",{className:"space-y-3",children:[t.jsxs("label",{className:"text-text-sm",children:[r.title," ",s?"(optional)":""]}),t.jsx("ul",{className:"space-y-5",children:o.map((u,f)=>t.jsxs("li",{className:"flex w-full items-center gap-4 [&>div]:w-full",children:[t.jsx(b,{defaultValue:"",name:`${e}.${f}`,render:({field:d})=>t.jsx(W,{className:"w-full flex-1",inputSize:"md",...d})}),t.jsxs(w,{className:"h-7 w-7",emphasis:"subtle",size:"sm",type:"button",onClick:()=>i(f),children:[t.jsx(kt,{className:"h-5 w-5 fill-primary-900"}),t.jsx("span",{className:"sr-only",children:"remove"})]})]},u.id))}),t.jsxs(w,{className:"h-7 w-7",emphasis:"subtle",type:"button",onClick:()=>a(""),children:[t.jsx(Pt,{className:"h-5 w-5 fill-primary-900"}),t.jsx("p",{className:"sr-only",children:"Add Item"})]})]})}function ir({name:e,schema:r,isOptional:s}){const n=y(),o=r.default||!1;return t.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[t.jsxs("label",{htmlFor:e,className:"text-text-sm",children:[r.title," ",s?"(optional)":""]}),t.jsx(b,{defaultValue:o,control:n.control,name:e,render:({field:{onChange:a,value:i,...u}})=>t.jsx(ct,{id:e,checked:i,onCheckedChange:f=>a(f),...u})})]})}function ar(){return t.jsxs("section",{className:"space-y-5 py-5 first:pt-0 last:pb-0",children:[t.jsxs("div",{className:"space-y-1",children:[t.jsxs("p",{className:"flex items-center gap-1 text-text-lg font-semibold",children:[t.jsx(Ft,{className:"h-5 w-5 fill-primary-400"}),"Add your Configuration"]}),t.jsx("p",{className:"text-theme-text-secondary",children:"Your credentials are securely stored and encrypted. ZenML uses these credentials to interact with your resources."})]}),t.jsx(cr,{})]})}function cr(){var f,d;const{data:e}=C(),{watch:r}=y(),s=J({...Ne.serviceConnectorTypeDetail(((f=e.connectorConfig)==null?void 0:f.type)||"")}),n=r("authMethod"),o=(d=s.data)==null?void 0:d.auth_methods.find(c=>c.auth_method===n);if(s.isError)return null;if(s.isPending)return t.jsx(Y,{className:"h-[200px] w-full"});if(!o)return null;const a=o.config_schema.properties,i=o.config_schema.required,u=Object.entries(a).sort(([c],[m])=>i.includes(c)&&!i.includes(m)?-1:!i.includes(c)&&i.includes(m)?1:0);return t.jsx("div",{className:"space-y-5",children:u.map(([c,m])=>t.jsx(sr,{isOptional:Ge(c,i),name:c,schema:m},c))})}function lr({open:e,loadingComponents:r}){var n,o;const{data:s}=C();return(n=s.connectorConfig)!=null&&n.type?t.jsx(lt,{open:e,children:t.jsxs(ut,{onPointerDownOutside:a=>a.preventDefault(),onEscapeKeyDown:a=>a.preventDefault(),className:"max-w-[600px]",children:[t.jsx("div",{className:"flex items-center justify-between border-b border-theme-border-moderate py-2 pl-5 pr-3",children:t.jsx(dt,{className:"text-text-lg",children:"Connecting and loading your components..."})}),t.jsxs("div",{className:"flex h-[200px] items-center justify-center gap-5 bg-primary-50",children:[t.jsx(ft,{className:"h-[60px] w-[60px]"}),t.jsx("div",{className:"flex h-[60px] w-[60px] items-center justify-center",children:t.jsx(At,{className:"h-5 w-5 fill-theme-text-tertiary"})}),t.jsx(M,{className:"h-[60px] w-[60px]",provider:s.connectorConfig.type})]}),t.jsxs("div",{className:"flex flex-col gap-1 px-7 pb-6 pt-5",children:[t.jsxs("p",{className:"text-theme-text-secondary",children:["We're securely connecting to ",Je(((o=s.connectorConfig)==null?void 0:o.type)||"aws")," ","and retrieving your custom components. This process typically takes about 30-60 seconds."]}),t.jsx(ur,{loadingComponents:r})]})]})}):null}function ur({loadingComponents:e}){const[r,s]=_.useState(!0),[n,o]=_.useState(!0);return _.useEffect(()=>{const a=setTimeout(()=>{s(!1)},Math.floor(Math.random()*1e3)+500),i=setTimeout(()=>{o(!1)},1500);return()=>{clearTimeout(a),clearTimeout(i)}},[]),t.jsxs("ul",{className:"mt-3 space-y-3 text-theme-text-secondary",children:[t.jsxs(ue,{children:[t.jsx(le,{loading:r}),"Establishing a secure connection"]}),t.jsxs(ue,{children:[t.jsx(le,{loading:n}),"Authenticating your account"]}),t.jsxs(ue,{children:[t.jsx(le,{loading:e}),"Fetching your existing components"]})]})}function le({loading:e}){return e?t.jsx(mt,{className:"h-5 w-5 border-2"}):t.jsx(be,{className:"h-5 w-5",tickClasses:"w-3 h-3"})}function ue({children:e}){return t.jsx("li",{className:"flex items-center gap-1",children:e})}async function dr({payload:e}){const r=je(ge.serviceConnectors.fullStackResources),s=await _e(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!s.ok){const n=await s.json().then(o=>Array.isArray(o.detail)?o.detail[1]:o.detail).catch(()=>"Error while fetching service connector type");throw new ve({status:s.status,statusText:s.statusText,message:n})}return s.json()}function fr(e){return St({...e,mutationFn:async({payload:r})=>dr({payload:r})})}function mr(e){return new Promise(r=>setTimeout(r,e))}function hr(){const{setCurrentStep:e}=k(),[r,s]=_.useState(!0),{toast:n}=Me(),{setData:o,data:a}=C(),i=fr({onSuccess:async f=>{o(d=>I(d,c=>{c.fullstackResources=f})),s(!1),await mr(200),e(d=>d+1)},onError:f=>{n({status:"error",emphasis:"subtle",description:f.message,rounded:!0})}});return{handleFormSubmit:({authMethod:f,stackName:d,...c})=>{Object.keys(c).forEach(l=>{(c[l]===""||c[l]===null||c[l]===void 0||Array.isArray(c[l])&&c[l].length===0)&&delete c[l]});const m=I(a,l=>{l.stackName=d,l.connectorConfig&&(l.connectorConfig.auth_method=f,l.connectorConfig.configuration={...c})});o(m),m.connectorConfig&&i.mutate({payload:m.connectorConfig})},fullStackResources:i,loadingComponents:r}}function xr(){const{handleSubmit:e,formState:{isSubmitting:r}}=y(),{handleFormSubmit:s,fullStackResources:n,loadingComponents:o}=hr();return t.jsxs("form",{onSubmit:e(s),id:"connect-form",children:[t.jsx(lr,{loadingComponents:o,open:r||n.isPending}),t.jsx(rr,{}),t.jsx(Xe,{}),t.jsx(ar,{})]})}function pr(){const{schema:e}=X(),r=$({shouldUnregister:!0,mode:"onChange",resolver:B(e)});return t.jsx(V,{...r,children:t.jsxs(O,{children:[t.jsx(T,{children:"Connect to your Cloud"}),t.jsx(D,{children:t.jsx(xr,{})}),t.jsx(E,{children:t.jsx(yr,{})})]})})}function yr(){const{formState:{isValid:e,isSubmitting:r}}=y(),s=!!Le();return t.jsx(w,{className:"justify-center gap-2",disabled:!e||s||r,form:"connect-form",size:"md",children:s||r?"Loading...":"Next"})}function jr(){const{data:e,setData:r}=C(),s=bt(),{toast:n}=Me(),{setCurrentStep:o}=k(),{mutate:a}=vt({onError:d=>{d instanceof Error&&n({status:"error",emphasis:"subtle",icon:t.jsx(ht,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:d.message,rounded:!0})},onSuccess:async d=>{r(c=>I(c,m=>{m.createdStackId=d.id})),o(c=>c+1),s.invalidateQueries({queryKey:qe.all})}});if(!e.fullstackResources)return o(2),{handleFormSubmit:()=>{},flattenedInstances:[]};const i=e.fullstackResources.components_resources_info.container_registry,u=i.flatMap(d=>d.accessible_by_service_connector.map(c=>({...d,value:c})));function f({flavor:d,resourceId:c}){const m=i.find(x=>x.flavor===d);if(!m)return;const l=I(e,x=>{x.registryConfig={flavor:d,configuration:Object.fromEntries(Object.keys(m.required_configuration||{}).map(p=>[p,c])),service_connector_resource_id:c}});r(l),a({workspaceId:"default",payload:{name:l.stackName||Math.random().toString(36).substring(7),service_connectors:l.connectorConfig?[l.connectorConfig]:[],components:{orchestrator:[{...l.orchestratorConfig,service_connector_index:0}],artifact_store:[{...l.artifactStoreConfig,service_connector_index:0}],container_registry:[{...l.registryConfig,service_connector_index:0}]}}})}return{handleFormSubmit:f,flattenedInstances:u}}const gr="container_registry";function _r(){const[e,r]=_.useState(""),{control:s,setValue:n,handleSubmit:o,register:a,watch:i,trigger:u,reset:f}=y(),{flattenedInstances:d,handleFormSubmit:c}=jr(),m=d.filter(l=>l.value.toLocaleLowerCase().includes(e.toLocaleLowerCase()));return t.jsxs(t.Fragment,{children:[t.jsx(W,{placeholder:"Search...",onChange:l=>{f(),r(l.target.value)}}),t.jsxs("form",{onSubmit:o(c),id:"artifact-store-form",children:[t.jsx("input",{type:"hidden",...a("flavor")}),t.jsx("ul",{className:"space-y-1",children:m.map(l=>t.jsx("li",{children:t.jsx(b,{name:"resourceId",control:s,render:({field:{onChange:x,...p}})=>t.jsxs(H,{"data-state":i("resourceId")===l.value?"selected":"unselected",htmlFor:l.value,children:[t.jsx(K,{id:l.value,type:"radio",...p,onChange:S=>{n("flavor",l.flavor,{shouldValidate:!0,shouldDirty:!0,shouldTouch:!0}),x(S.target.value),u()},value:l.value,name:"connector-radio"}),t.jsx(q,{width:24,height:24,type:gr,flavor:l.flavor})," ",t.jsx("span",{children:l.value})]})})},l.value))})]})]})}function vr(){return t.jsx("section",{className:"space-y-5 py-5 first:pt-0 last:pb-0",children:t.jsxs("div",{className:"space-y-1",children:[t.jsxs("p",{className:"flex items-center gap-1 text-text-lg font-semibold",children:[t.jsx(Se,{type:"container_registry",className:"h-5 w-5 fill-primary-400"}),"Select your Container Registry"]}),t.jsx("p",{className:"text-theme-text-secondary",children:"Select one of the Container Registries for your new stack"})]})})}const Sr=h.object({flavor:h.string().min(1),resourceId:h.string().min(1)});function br(){const e=$({resolver:B(Sr),shouldUnregister:!0});return t.jsx(V,{...e,children:t.jsxs(O,{children:[t.jsx(T,{children:"Container Registry"}),t.jsx(D,{children:t.jsxs("section",{className:"space-y-5 py-5 first:pt-0 last:pb-0",children:[t.jsx(vr,{}),t.jsx(_r,{})]})}),t.jsx(E,{children:t.jsx(Cr,{})})]})})}function Cr(){const e=y(),r=!!Le();return t.jsxs(w,{className:"justify-center gap-2",disabled:!e.formState.isValid||r,form:"artifact-store-form",size:"md",children:[r&&t.jsx("div",{role:"alert","aria-busy":"true",className:"full h-[20px] w-[20px] animate-spin rounded-rounded border-2 border-theme-text-negative border-b-theme-text-brand"}),r?"Loading...":"Next"]})}function wr(){var a;const{data:e,setData:r}=C(),{setCurrentStep:s}=k();if(!e.fullstackResources)return s(2),{orchestrators:[],handleFormSubmit:()=>{}};const n=((a=e.fullstackResources.components_resources_info)==null?void 0:a.orchestrator)||[];function o({flavor:i,resourceId:u,...f}){const d=n.find(c=>c.flavor===i);d&&(r(c=>{const m=d!=null&&d.use_resource_value_as_fixed_config?Object.fromEntries(Object.keys(d.required_configuration||{}).map(l=>[l,u])):{...f};return I(c,l=>{l.orchestratorConfig={flavor:i,configuration:m,service_connector_resource_id:u}})}),s(c=>c+1))}return{orchestrators:n,handleFormSubmit:o}}const ye=h.object({flavor:h.string().min(1),resourceId:h.string().min(1)});function Nr(e){const r=Object.keys(e).reduce((s,n)=>(s[n]=h.string().trim().min(1),s),{});return h.object(r)}const Z="kubernetes",Te="orchestrator";function Fr(){const{orchestrators:e,handleFormSubmit:r}=wr(),{setSchema:s}=X(),{control:n,watch:o,setValue:a,register:i,reset:u,handleSubmit:f}=y(),d=o("flavor");return t.jsxs("form",{onSubmit:f(r),id:"artifact-store-form",children:[d!==Z&&t.jsx("input",{...i("resourceId"),type:"hidden"}),t.jsx("ul",{className:"space-y-1",children:e.map((c,m)=>t.jsxs("li",{children:[t.jsx(b,{control:n,name:"flavor",render:({field:{onChange:l,...x}})=>t.jsxs(H,{"data-state":d===c.flavor?"selected":"unselected",htmlFor:c.flavor,children:[t.jsx(K,{onChange:p=>{u({flavor:c.flavor}),c.use_resource_value_as_fixed_config===!0&&s(ye),c.use_resource_value_as_fixed_config===!1&&c.required_configuration&&s(ye.merge(Nr(c.required_configuration))),c.flavor!==Z&&c.accessible_by_service_connector.length>0&&a("resourceId",c.accessible_by_service_connector[0]),l(p)},...x,id:c.flavor,type:"radio",value:c.flavor,name:"orchestrator-flavor-radio"}),t.jsx(q,{width:24,height:24,type:Te,flavor:c.flavor}),t.jsx("span",{children:c.flavor_display_name})]})}),d===c.flavor&&(c.flavor===Z||c.use_resource_value_as_fixed_config===!1)&&t.jsxs("div",{className:"space-y-3 py-5 pl-8",children:[c.flavor===Z&&t.jsx("ul",{className:"space-y-1",children:c.accessible_by_service_connector.map(l=>t.jsx("li",{children:t.jsx(b,{control:n,name:"resourceId",render:({field:x})=>t.jsxs(H,{"data-state":o("resourceId")===l?"selected":"unselected",htmlFor:l,children:[t.jsx(K,{...x,id:l,type:"radio",value:l,name:"instance-radio"}),t.jsx(q,{type:Te,width:24,height:24,flavor:c.flavor}),t.jsx("span",{children:l})]})})},l))}),c.use_resource_value_as_fixed_config===!1&&c.required_configuration&&Object.keys(c.required_configuration).length>=1&&t.jsx("div",{children:Object.entries(c.required_configuration).map(([l,x])=>t.jsx("div",{children:t.jsx(b,{name:l,control:n,render:({field:p})=>t.jsxs("div",{children:[t.jsx("label",{htmlFor:l,className:"text-text-sm",children:x}),t.jsx(W,{...p,inputSize:"md",required:!0,className:"w-full",id:l})]})})},l))})]})]},m))})]})}function Pr(){return t.jsx("section",{className:"space-y-5 py-5 first:pt-0 last:pb-0",children:t.jsxs("div",{className:"space-y-1",children:[t.jsxs("p",{className:"flex items-center gap-1 text-text-lg font-semibold",children:[t.jsx(Se,{type:"orchestrator",className:"h-5 w-5 fill-primary-400"}),"Select your Orchestrator"]}),t.jsx("p",{className:"text-theme-text-secondary",children:"Select one of the connected orchestrators for your new stack"})]})})}function kr(){const{schema:e}=X(),r=$({resolver:B(e),shouldUnregister:!0,defaultValues:{resourceId:""}});return t.jsx(V,{...r,children:t.jsxs(O,{children:[t.jsx(T,{children:"Orchestrator"}),t.jsxs(D,{children:[t.jsx(Pr,{}),t.jsx(Fr,{})]}),t.jsx(E,{children:t.jsx(Ar,{})})]})})}function Ar(){const e=y();return t.jsx(w,{disabled:!e.formState.isValid,form:"artifact-store-form",size:"md",children:"Next"})}const zr=h.object({provider:h.string().min(1)});function Ir(){var a;const{setData:e,data:r}=C(),{setCurrentStep:s}=k(),n=$({resolver:B(zr),defaultValues:{provider:((a=r.connectorConfig)==null?void 0:a.type)||""}});function o(i){e(u=>({...u,connectorConfig:{type:i.provider,auth_method:""}})),s(u=>u+1)}return t.jsx(V,{...n,children:t.jsxs(O,{children:[t.jsx(T,{children:"Select Your Existing Cloud Infrastructure"}),t.jsx(D,{children:t.jsxs("div",{className:"space-y-5",children:[t.jsxs("div",{className:"space-y-1",children:[t.jsx("p",{className:"text-text-lg font-semibold",children:"Select a Cloud Provider"}),t.jsx("p",{className:"text-theme-text-secondary",children:"Select the cloud provider where you have existing infrastructure to connect with ZenML. This will allow you to integrate your current cloud resources with ZenML for model deployment and management."})]}),t.jsxs("form",{id:"provider-form",onSubmit:n.handleSubmit(o),className:"grid grid-cols-1 gap-3 xl:grid-cols-3",children:[t.jsx(oe,{id:"aws-provider",...n.register("provider"),value:"aws",children:t.jsx(ie,{icon:t.jsx(M,{provider:"aws",className:"h-6 w-6 shrink-0"}),title:"AWS",subtitle:"Connect your existing S3, ECR, and Sagemaker components to ZenML"})}),t.jsx(oe,{id:"gcp-provider",...n.register("provider"),value:"gcp",children:t.jsx(ie,{icon:t.jsx(M,{provider:"gcp",className:"h-6 w-6 shrink-0"}),title:"GCP",subtitle:"Link your GCS, Artifact Registry, and Vertex AI components to ZenML"})}),t.jsx(oe,{id:"azure-provider",...n.register("provider"),value:"azure",children:t.jsx(ie,{icon:t.jsx(M,{provider:"azure",className:"h-6 w-6 shrink-0"}),title:"Azure",subtitle:"Integrate ZenML with your Blob Storage, Container Registry, and Azure ML"})})]})]})}),t.jsx(E,{children:t.jsx(Or,{})})]})})}function Or(){const{formState:{isValid:e}}=y();return t.jsx(w,{form:"provider-form",disabled:!e,size:"md",children:"Next"})}function Tr(){var o;const{data:e}=C(),r=J({...qe.stackDetail(e.createdStackId||""),throwOnError:!0});if(r.isError)return null;if(r.isPending)return t.jsx(Y,{className:"h-[200px] w-full"});const s=r.data,n=It((o=r.data.metadata)==null?void 0:o.components);return t.jsxs(O,{children:[t.jsx(T,{children:"Your stack"}),t.jsx(D,{children:t.jsxs("div",{className:"space-y-5",children:[t.jsx("p",{className:"text-theme-text-secondary",children:"Here you can review the created stack and stack components. Now you can start running pipelines using this new configuration."}),t.jsxs("div",{className:"divide-y divide-theme-border-moderate overflow-hidden rounded-md border border-theme-border-moderate",children:[t.jsx(Er,{stack:s}),n.map(a=>t.jsx(Mr,{component:a},a.id))]})]})}),t.jsx(E,{displayCancel:!1,children:t.jsx(Dr,{})})]})}function Dr(){return t.jsx(w,{size:"md",asChild:!0,children:t.jsx(Ot,{to:xt.stacks.overview,children:"Finish"})})}function Er({stack:e}){return t.jsxs("div",{className:"flex items-center gap-3 bg-theme-surface-secondary p-5 font-semibold",children:[t.jsx(be,{className:"h-5 w-5",tickClasses:"w-3 h-3"}),t.jsx(pt,{type:"square",size:"lg",children:t.jsx(yt,{size:"lg",children:e.name[0]})}),t.jsxs("div",{children:[t.jsx("p",{className:"text-text-lg",children:e.name}),t.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:e.id.split("-")[0]})]})]})}function Mr({component:e}){var r,s,n,o;return t.jsxs("div",{className:"flex items-center justify-between py-3 pl-9 pr-5",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx(be,{className:"h-5 w-5",tickClasses:"w-3 h-3"}),t.jsx(q,{width:24,height:24,flavor:((r=e.body)==null?void 0:r.flavor)||"",type:((s=e.body)==null?void 0:s.type)||"orchestrator"}),t.jsxs("div",{children:[t.jsx("p",{className:"text-text-lg font-semibold",children:e.name}),t.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:e.id.split("-")[0]})]})]}),t.jsx(zt,{type:((n=e.body)==null?void 0:n.type)||"alerter",children:jt((o=e.body)==null?void 0:o.type)})]},e.id)}function Rr(){const{currentStep:e}=k();if(e===1)return t.jsx(Ir,{});if(e===2)return t.jsx(Pe,{initialSchema:Ye,children:t.jsx(pr,{})});if(e===3)return t.jsx(Yt,{});if(e===4)return t.jsx(Pe,{initialSchema:ye,children:t.jsx(kr,{})});if(e===5)return t.jsx(br,{});if(e===6)return t.jsx(Tr,{})}const De=["Infrastructure Type","Cloud Provider","Connect your Cloud","Artifact Store","Orchestrator","Container Registry"];function us(){return t.jsx(et,{maxSteps:De.length+1,initialStep:1,children:t.jsx(Tt,{children:t.jsxs("section",{className:"layout-container flex flex-col gap-5 py-5 xl:flex-row",children:[t.jsx(tt,{entries:De}),t.jsx("div",{className:"w-full",children:t.jsx(Rr,{})})]})})})}export{us as default};
@@ -1 +0,0 @@
1
- import{r as c,j as e}from"./@radix-DnFH_oo1.js";import{a9 as A,aa as E,ab as P,F as M,l as U,m as q,i as W,r as N,j as Q,ai as Y,ak as G,as as K,am as V,f as x,D as S,q as Z,s as J,V as X,a7 as ee,a8 as se,ac as R,ad as b,ae as C,Y as te,Z as ae,$ as re,S as u,A as I,b as z,B as ne,z as g,G as ie,N as ce,aF as le,P as oe}from"./index-Ci0nJ8EZ.js";import{S as de}from"./plus-Bc8eLSDM.js";import{S as me}from"./refresh-hfgWPeto.js";import{S as xe,P as ue}from"./SearchField-BzmfxS0L.js";import{s as h}from"./sharedSchema-vub0rii3.js";import{b as he,c as pe,a as f}from"./@tanstack-QbMbTrh5.js";import{b as fe,L as k,c as je}from"./@react-router-APVeuk-U.js";import{C as v}from"./CopyButton-DcFHidFJ.js";import{D as ge}from"./DisplayDate-DkCy54Bp.js";import{I as Ne}from"./InlineAvatar-CA3DFMcM.js";import{S as ye}from"./dots-horizontal-C6K59vUm.js";import{D as we,S as be}from"./DialogItem-Cd3HqST4.js";import{S as ke}from"./trash-DUWZWzse.js";import{I as y}from"./Infobox-BTK_EUKT.js";import{C as p}from"./CodeSnippet-IxXNxUDa.js";import{A as ve}from"./AlertDialogDropdownItem-xLR9a1iw.js";import{C as Se}from"./CollapsibleCard-BhutZbBL.js";import{F as Ce}from"./chevron-right-double-c9H46Kl8.js";import{e as D}from"./components-Br2ezRib.js";import{s as De}from"./url-CbAPzsmT.js";import{N as T}from"./NumberBox-CrN0_kqI.js";import{C as Te}from"./ComponentBadge-gKR1OIwG.js";import{p as F,c as Ae}from"./persist-BxIR2XZs.js";import{p as O,c as Ee}from"./persist-CfJMar_k.js";import"./@reactflow-ytavUpwh.js";import"./index-5GJ5ysEZ.js";import"./stack-detail-query-DQcyzG-2.js";import"./layout-Dru15_XR.js";import"./rocket-SESCGQXm.js";import"./copy-CaGlDsUy.js";import"./chevron-down-Cwb-W_B_.js";const $=c.forwardRef(({closeModal:s,name:t,...a},r)=>e.jsxs(A,{...a,ref:r,children:[e.jsx(E,{children:e.jsx(P,{children:"Update Stack"})}),e.jsxs("div",{className:"space-y-5 p-7",children:[e.jsx(Pe,{action:"update"}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"Update a stack"}),e.jsx(p,{codeClasses:"whitespace-pre-wrap",wrap:!0,code:`zenml stack update ${t} -o NEW_ORCHESTRATOR_NAME`})]})]})]}));$.displayName="UpdateStackDialog";function Pe({action:s}){function t(){switch(s){case"delete":return"delete";case"update":return"update";case"describe":return"get details of"}}return e.jsx(y,{children:e.jsx("div",{className:"flex w-full flex-wrap justify-between gap-2",children:e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"truncate text-text-sm font-semibold",children:"We are working on the new Stacks experience."}),e.jsxs("p",{className:"truncate text-text-sm",children:["Meanwhile you can use the CLI to ",t()," your stack."]})]})})})}async function Re({stackId:s},t){const a=U(q.stacks.detail(s)),r=await fetch(a,{method:"DELETE",credentials:"include",headers:{"Content-Type":"application/json",...t?{Authorization:`Bearer ${t}`}:{}}});if(!r.ok){const n=await r.json().then(i=>Array.isArray(i.detail)?i.detail[1]:i.detail).catch(()=>`Error while deleting stack ${s}`);throw new M({status:r.status,statusText:r.statusText,message:n})}return r.json()}function Ie(s){return he({...s,mutationFn:async({stackId:t})=>Re({stackId:t})})}function ze(s){const{toast:t}=W(),a=pe(),r=fe(),n=Ie({onSuccess:async()=>{a.invalidateQueries({queryKey:h.all}),r(N.stacks.overview)},onError:l=>{t({status:"error",emphasis:"subtle",icon:e.jsx(Q,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:l.message,rounded:!0})}});function i(){n.mutate({stackId:s})}return{handleDelete:i,deleteStack:n}}const B=c.forwardRef(({closeModal:s,name:t,stackId:a,...r},n)=>{const{handleDelete:i,deleteStack:l}=ze(a);return e.jsxs(Y,{...r,className:"p-0",ref:n,children:[e.jsxs(G,{className:"m-0 py-2 pl-5 pr-3 text-text-lg font-semibold",children:["Delete ",t]}),e.jsx("div",{className:"border-y border-theme-border-moderate px-5 py-5",children:e.jsxs(K,{children:["Are you sure you want to delete this stack? ",e.jsx("br",{}),"This action cannot be undone."]})}),e.jsxs("div",{className:"flex justify-end gap-3 px-5 py-3",children:[e.jsx(V,{onClick:()=>s==null?void 0:s(),asChild:!0,children:e.jsx(x,{intent:"secondary",children:"Cancel"})}),e.jsxs(x,{disabled:l.isPending,type:"button",onClick:()=>i(),intent:"danger",children:[l.isPending&&e.jsx("div",{role:"alert","aria-busy":"true",className:"full h-[20px] w-[20px] animate-spin rounded-rounded border-2 border-theme-text-negative border-b-theme-text-error"}),"Delete"]})]})]})});B.displayName="DeleteStackDialog";function Fe({name:s,id:t}){const[a,r]=c.useState(!1),[n,i]=c.useState(!1),l=c.useRef(null),d=c.useRef(null);function o(){d.current=l.current}function m(j){r(j),j===!1&&i(!1)}return e.jsx(S,{open:n,onOpenChange:i,children:e.jsxs(S,{children:[e.jsx(Z,{className:"z-10",ref:l,children:e.jsx(ye,{className:"h-5 w-5 fill-theme-text-secondary"})}),e.jsxs(J,{hidden:a,onCloseAutoFocus:j=>{d.current&&(d.current.focus(),d.current=null,j.preventDefault())},className:"z-10",align:"end",sideOffset:1,children:[e.jsx(we,{onSelect:o,onOpenChange:m,icon:e.jsx(be,{className:"h-3 w-3 !fill-neutral-400"}),triggerChildren:"Update",children:e.jsx($,{name:s,className:"lg:min-w-[600px]",closeModal:()=>m(!1)})}),e.jsx(ve,{onSelect:o,onOpenChange:m,icon:e.jsx(ke,{className:"h-3 w-3 !fill-neutral-400"}),triggerChildren:"Delete",children:e.jsx(B,{stackId:t,name:s,className:"lg:min-w-[600px]",closeModal:()=>m(!1)})})]})]})})}function Oe(){return e.jsx("div",{className:"flex h-9 items-center border-b border-theme-border-moderate bg-theme-surface-primary px-4 py-3",children:e.jsxs(X,{className:"focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:pointer-events-none",children:[e.jsx(Ce,{className:"h-5 w-5 fill-neutral-500"}),e.jsx("span",{className:"sr-only",children:"Close"})]})})}const L=c.forwardRef(({name:s,children:t,type:a,...r},n)=>e.jsxs(ee,{children:[e.jsx(se,{asChild:!0,children:t}),e.jsxs(A,{className:"w-fit max-w-fit",...r,ref:n,children:[e.jsx(E,{children:e.jsx(P,{children:R(a||"")})}),e.jsxs("div",{className:"space-y-5 p-7",children:[e.jsx($e,{type:a}),e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"text-text-sm text-theme-text-secondary",children:["Describe your ",b(a)]}),e.jsx(p,{codeClasses:"whitespace-pre-wrap",wrap:!0,code:`zenml ${C(a)} describe ${s}`})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"text-text-sm text-theme-text-secondary",children:["Update your ",b(a)]}),e.jsx(p,{codeClasses:"whitespace-pre-wrap",wrap:!0,code:`zenml ${C(a)} update ${s}`})]})]})]})]}));L.displayName="ComponentFallbackDialog";function $e({type:s}){return e.jsx(y,{children:e.jsx("div",{className:"flex w-full flex-wrap justify-between gap-2",children:e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"truncate text-text-sm font-semibold",children:"We are working on the new Stacks experience."}),e.jsxs("p",{className:"truncate text-text-sm",children:["Meanwhile you can use the CLI to manage your ",b(s),"."]})]})})})}const _=c.createContext(null);function Be({children:s}){const[t,a]=c.useState([]);return e.jsx(_.Provider,{value:{integrations:t,setIntegrations:a},children:s})}function H(){const s=c.useContext(_);if(s===null)throw new Error("useIntegrationsContext must be used within an AuthProvider");return s}function Le({children:s,stackId:t,stackName:a}){return e.jsxs(te,{children:[e.jsx(ae,{children:s}),e.jsx(re,{className:"w-[1000px] overflow-y-auto",children:e.jsxs(Be,{children:[e.jsx(Oe,{}),e.jsx(_e,{stackId:t}),e.jsx(Ue,{name:a}),e.jsx(He,{stackId:t})]})})]})}function _e({stackId:s}){const t=f({...h.stackDetail(s)});return t.isError?null:t.isPending?e.jsx("div",{className:"p-5",children:e.jsx(u,{className:"h-6 w-full"})}):e.jsxs("div",{className:"flex items-center space-x-2 border-b border-theme-border-moderate bg-theme-surface-primary p-5",children:[e.jsx(I,{type:"square",size:"lg",children:e.jsx(z,{size:"lg",children:t.data.name[0]})}),e.jsxs("div",{children:[e.jsxs("div",{className:"group/copybutton flex items-center gap-0.5",children:[e.jsx("p",{className:"mb-0.5 text-text-sm text-theme-text-secondary",children:t.data.id}),e.jsx(v,{copyText:t.data.id})]}),e.jsx("div",{className:"flex items-center gap-1",children:e.jsx("h2",{className:"text-display-xs font-semibold",children:t.data.name})})]})]})}function He({stackId:s}){var n;const{setIntegrations:t}=H(),a=f({...h.stackDetail(s)});if(c.useEffect(()=>{var d;if(!a.data)return;const l=D((d=a.data.metadata)==null?void 0:d.components).map(o=>{var m;return(m=o.body)==null?void 0:m.integration}).filter(o=>!!o&&o!=="built-in"&&o!=="custom");l.length>=1&&t(o=>Array.from(new Set([...o,...l])))},[a.data]),a.isError)return null;if(a.isPending)return e.jsx("div",{className:"p-5",children:e.jsx(u,{className:"h-[300px] w-full"})});const r=D((n=a.data.metadata)==null?void 0:n.components);return e.jsx("ul",{className:"space-y-5 p-5",children:r.map(i=>e.jsx("li",{children:e.jsx(Me,{component:i})},i.id))})}function Me({component:s}){var t,a,r,n,i;return e.jsxs(ne,{className:"flex items-center justify-between p-5",children:[e.jsxs("div",{className:"flex items-center space-x-3",children:[e.jsx("img",{width:32,height:32,alt:`${(t=s.body)==null?void 0:t.flavor} logo`,src:De(((a=s.body)==null?void 0:a.logo_url)||"")}),e.jsxs("div",{children:[e.jsx(L,{type:((r=s.body)==null?void 0:r.type)||"orchestrator",name:s.name,children:e.jsx("button",{className:"text-text-xl",children:s.name})}),e.jsxs("div",{className:"group/copybutton flex items-center gap-0.5",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:s.id.split("-")[0]}),e.jsx(v,{copyText:s.id})]})]})]}),e.jsx(Te,{type:((n=s.body)==null?void 0:n.type)||"orchestrator",children:R(((i=s.body)==null?void 0:i.type)||"")})]})}function Ue({name:s}){const{integrations:t}=H();return e.jsx("section",{className:"px-5 pt-5",children:e.jsx(Se,{title:e.jsx("span",{className:"text-text-lg",children:"Set this stack"}),children:e.jsxs("ul",{className:"space-y-5",children:[e.jsxs("li",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(T,{children:"1"}),e.jsx("p",{className:"font-semibold",children:"Set your stack"})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"Set the stack as active on your client"}),e.jsx(p,{codeClasses:"whitespace-pre-wrap",wrap:!0,code:`zenml stack set ${s}`})]})]}),t.length>=1&&e.jsxs("li",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(T,{children:"2"}),e.jsx("p",{className:"font-semibold",children:"Install the integrations"})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"Install the required integrations to run pipelines in your stack"}),e.jsx(p,{codeClasses:"whitespace-pre-wrap",wrap:!0,code:`zenml integration install ${t.join(" ")}`})]})]})]})})})}function qe(){return[{id:"name",header:"Stack",accessorFn:s=>({name:s.name,id:s.id}),cell:({getValue:s})=>{const{name:t,id:a}=s();return e.jsxs("div",{className:"group/copybutton flex items-center gap-2",children:[e.jsx(I,{type:"square",size:"md",children:e.jsx(z,{size:"md",children:t[0]})}),e.jsxs("div",{children:[e.jsx("div",{className:"flex items-center gap-1",children:e.jsx(Le,{stackName:t,stackId:a,children:e.jsx("h2",{className:"text-text-md font-semibold",children:t})})}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("p",{className:"text-text-xs text-theme-text-secondary",children:a.split("-")[0]}),e.jsx(v,{copyText:a})]})]})]})}},{id:"created",header:"Created at",accessorFn:s=>{var t;return(t=s.body)==null?void 0:t.created},cell:({getValue:s})=>e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:e.jsx(ge,{dateString:s()})})},{id:"author",header:"Author",accessorFn:s=>{var t;return{author:(t=s.body)==null?void 0:t.user}},cell:({getValue:s})=>{const{author:t}=s();return t?e.jsx(Ne,{username:t.name}):null}},{id:"actions",header:"",accessorFn:s=>({name:s.name,id:s.id}),cell:({getValue:s})=>{const{id:t,name:a}=s();return e.jsx(Fe,{name:a,id:t})}}]}function We({setHasResumeableStack:s}){const{success:t,data:a}=F(),r=f({...h.stackDeploymentStack({provider:(a==null?void 0:a.provider)||"aws",stack_name:(a==null?void 0:a.stackName)||"",date_start:a==null?void 0:a.timestamp}),enabled:t,throwOnError:!0});return c.useEffect(()=>{r.data&&(Ae(),s(!1))},[r.data]),!t||r.isError?null:r.isPending?e.jsx(u,{className:"h-[70px] w-full"}):e.jsx(y,{className:"w-full",children:e.jsxs("section",{className:"flex flex-wrap items-center justify-between gap-y-2",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("p",{className:"font-semibold",children:"You have a Stack provision incomplete"}),e.jsx("p",{className:"text-text-sm",children:"Return to the setup and finish the configuration on your cloud provider"})]}),e.jsx("div",{children:e.jsx(x,{className:"w-fit bg-theme-surface-primary",intent:"primary",emphasis:"subtle",asChild:!0,children:e.jsx(k,{to:N.stacks.create.newInfra,children:e.jsx("span",{children:"Review Stack"})})})})]})})}const w=1,Qe=g.object({page:g.coerce.number().min(w).optional().default(w).catch(w),name:g.string().optional(),operator:g.enum(["and","or"]).optional()});function Ye(){const[s]=je(),{page:t,name:a,operator:r}=Qe.parse({page:s.get("page")||void 0,name:s.get("name")||void 0});return{page:t,name:a,logical_operator:r}}function Ge({setHasResumeableTerraform:s}){const{success:t,data:a}=O(),r=f({...h.stackDeploymentStack({provider:(a==null?void 0:a.provider)||"aws",stack_name:(a==null?void 0:a.stackName)||"",date_start:a==null?void 0:a.timestamp}),enabled:t,throwOnError:!0});return c.useEffect(()=>{r.data&&(Ee(),s(!1))},[r.data]),!t||r.isError?null:r.isPending?e.jsx(u,{className:"h-[70px] w-full"}):e.jsx(y,{className:"w-full",children:e.jsxs("section",{className:"flex flex-wrap items-center justify-between gap-y-2",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("p",{className:"font-semibold",children:"You have a Terraform Stack provision incomplete"}),e.jsx("p",{className:"text-text-sm",children:"Return to the setup and finish the configuration on your cloud provider"})]}),e.jsx("div",{children:e.jsx(x,{className:"w-fit bg-theme-surface-primary",intent:"primary",emphasis:"subtle",asChild:!0,children:e.jsx(k,{to:N.stacks.create.terraform,children:e.jsx("span",{children:"Review Stack"})})})})]})})}function Ke(){const[s,t]=c.useState(F().success),[a,r]=c.useState(O().success),n=Ye(),{refetch:i,data:l}=f({...h.stackList({...n,sort_by:"desc:updated"}),throwOnError:!0});return e.jsx("section",{className:"p-5",children:e.jsxs("div",{className:"flex flex-col gap-5",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-y-4",children:[e.jsx(xe,{searchParams:n}),e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs(x,{intent:"primary",emphasis:"subtle",size:"md",onClick:()=>i(),children:[e.jsx(me,{className:"h-5 w-5 fill-theme-text-brand"}),"Refresh"]}),e.jsx(x,{size:"md",asChild:!0,children:e.jsxs(k,{to:N.stacks.create.index,children:[e.jsx(de,{className:"h-5 w-5 shrink-0 fill-white"}),e.jsx("span",{children:"New Stack"})]})})]})]}),e.jsxs("div",{className:"flex flex-col items-center gap-5",children:[s&&e.jsx(We,{setHasResumeableStack:t}),a&&e.jsx(Ge,{setHasResumeableTerraform:r}),e.jsx("div",{className:"w-full",children:l?e.jsx(ie,{columns:qe(),data:l.items}):e.jsx(u,{className:"h-[500px] w-full"})}),l?l.total_pages>1&&e.jsx(ue,{searchParams:n,paginate:l}):e.jsx(u,{className:"h-[36px] w-[300px]"})]})]})})}function As(){const{setCurrentBreadcrumbData:s}=ce(),{setTourState:t,tourState:{tourActive:a}}=le();return c.useEffect(()=>{a&&t(r=>({...r,run:!0,stepIndex:r.stepIndex}))},[a]),c.useEffect(()=>{s({segment:"stacks",data:null})},[]),e.jsxs("div",{children:[e.jsx(Ve,{}),e.jsx(Ke,{})]})}function Ve(){return e.jsx(oe,{children:e.jsx("h1",{className:"text-display-xs font-semibold",children:"Stacks"})})}export{As as default};
@@ -1 +0,0 @@
1
- import{r as d,j as e,aw as N,ax as B,ay as V,az as Z}from"./@radix-DnFH_oo1.js";import{l as q,m as H,k as K,n as G,F as W,a7 as J,a8 as X,a9 as Y,aa as ee,ab as te,ac as x,ae as se,z as l,T as re,v as ae,w as ne,W as oe,x as ie,I as E,U as ce,f as k,ad as le,r as O,i as de,j as me,Q as pe}from"./index-Ci0nJ8EZ.js";import{b as m,C as ue,u as he,F as xe}from"./index.esm-BE1uqCX5.js";import{i as fe,h as ge,j as je,a as ke,c as be}from"./@tanstack-QbMbTrh5.js";import{o as ye,s as ve}from"./url-CbAPzsmT.js";import{d as Ne}from"./index-5GJ5ysEZ.js";import{R as we,a as Se,u as Ce}from"./create-stack-F29xAUEx.js";import{C as Le}from"./CodeSnippet-IxXNxUDa.js";import{a as _e,s as Te}from"./sharedSchema-vub0rii3.js";import{C as P}from"./stack-detail-query-DQcyzG-2.js";import{D as ze}from"./DisplayDate-DkCy54Bp.js";import{I as Fe}from"./InlineAvatar-CA3DFMcM.js";import{S as Me}from"./check-circle-DOoS4yhF.js";import{L as Ie,b as Ae}from"./@react-router-APVeuk-U.js";import{w as De}from"./index-D-mtoBj3.js";import{t as $e}from"./zod-uFd1wBcd.js";import"./@reactflow-ytavUpwh.js";import"./copy-CaGlDsUy.js";import"./layout-Dru15_XR.js";import"./rocket-SESCGQXm.js";async function Ee(t){const s=q(H.components.all)+(t?`?${ye(t)}`:""),r=await K(s,{method:"GET",headers:{"Content-Type":"application/json"}});if(r.status===404&&G(),!r.ok){const n=await r.json().then(o=>Array.isArray(o.detail)?o.detail[1]:o.detail).catch(()=>"Error while fetching stack components");throw new W({status:r.status,statusText:r.statusText,message:n})}return r.json()}const Q={all:["components"],componentListInfinite:t=>fe({queryKey:[...Q.all,t],queryFn:async({pageParam:s})=>Ee({...t,page:s}),getNextPageParam:s=>s.index<s.total_pages?s.index+1:null,initialPageParam:1})},R=d.forwardRef(({closeModal:t,type:s,children:r,...n},o)=>e.jsxs(J,{children:[e.jsx(X,{asChild:!0,children:r}),e.jsxs(Y,{className:"max-w-2xl",...n,ref:o,children:[e.jsx(ee,{children:e.jsx(te,{children:"Create New "})}),e.jsx("div",{className:"space-y-5 overflow-auto p-7",children:e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"text-text-sm text-theme-text-secondary",children:["Create a new ",x(s)]}),e.jsx(Le,{codeClasses:"whitespace-pre-wrap",wrap:!0,code:`zenml ${se(s)} register ${s.toUpperCase()}_NAME --flavor=${s.toUpperCase()}_FLAVOR [--${s.toUpperCase()}_OPTIONS]`})]})})]})]}));R.displayName="UpdateStackDialog";const y=["orchestrator","artifact_store","container_registry","step_operator","model_deployer","feature_store","experiment_tracker","alerter","annotator","data_validator","image_builder","model_registry"],b=l.object({id:l.string().trim().min(1),name:l.string().trim().min(1),logoUrl:l.string().trim().min(1)}),Oe=y.reduce((t,s)=>(t[s]=b.nullable(),t),{}),Pe=l.object({stackName:_e,components:l.object({...Oe,orchestrator:b,artifact_store:b})}),w={helpLink:"https://docs.zenml.io/stack-components/orchestrators",description:"An orchestrator is a special kind of backend that manages the running of each step of the pipeline. Orchestrators administer the actual pipeline runs. By default, ZenML initializes your repository with an orchestrator that runs everything on your local machine."},S={helpLink:"https://docs.zenml.io/stack-components/artifact-stores",description:"The Artifact Store is a central component in any MLOps stack. As the name suggests, it acts as a data persistence layer where artifacts (e.g. datasets, models) ingested or generated by the machine learning pipelines are stored."},C={helpLink:"https://docs.zenml.io/stack-components/container-registries",description:"Container registry is used to store container images that are built to run machine learning pipelines in remote environments. Containerization of the pipeline code creates a portable environment that allows code to run in an isolated manner."},L={description:"Step operators allow you to run individual steps in a custom environment different from the default one used by your active orchestrator.",helpLink:"https://docs.zenml.io/stack-components/step-operators"},_={description:"Model deployers are stack components responsible for online model serving. They are responsible for deploying models to a remote server. Model deployers also act as a registry for models that are served with ZenML.",helpLink:"https://docs.zenml.io/stack-components/model-deployers"},T={description:"ZenML supports connecting to a Redis-backed Feast feature store as a stack component integration.",helpLink:"https://docs.zenml.io/stack-components/feature-stores"},z={description:"Experiment trackers let you track your ML experiments by logging the parameters and allowing you to compare between different runs.",helpLink:"https://docs.zenml.io/stack-components/experiment-trackers"},F={description:"Alerters allow you to send messages to chat services (like Slack, Discord, Mattermost, etc.) from within your pipelines. This is useful to immediately get notified when failures happen, for general monitoring/reporting, and also for building human-in-the-loop ML.",helpLink:"https://docs.zenml.io/stack-components/alerters "},M={description:"Annotators are a stack component that enables the use of data annotation as part of your ZenML stack and pipelines.",helpLink:"https://docs.zenml.io/stack-components/annotators"},I={description:"Data Validators used in ZenML pipelines usually generate data profiles and data quality check reports that are versioned and stored in the Artifact Store and can be retrieved and visualized later.",helpLink:"https://docs.zenml.io/stack-components/data-validators"},A={description:"The image builder is an essential part of most remote MLOps stacks. It is used to build container images such that your machine-learning pipelines and steps can be executed in remote environments.",helpLink:"https://docs.zenml.io/stack-components/image-builders"},D={description:"Model registries are centralized storage solutions for managing and tracking machine learning models across various stages of development and deployment.",helpLink:"https://docs.zenml.io/stack-components/model-registries"};function Qe({type:t}){const{description:s,link:r}=Re(t);return e.jsx(re,{children:e.jsxs(ae,{delayDuration:200,children:[e.jsxs(ne,{children:[e.jsx(oe,{className:"h-4 w-4 shrink-0 fill-theme-text-tertiary"}),e.jsxs("div",{className:"sr-only",children:["Info for ",t]})]}),e.jsxs(ie,{align:"start",side:"bottom",className:"flex max-w-xl flex-col gap-2 bg-theme-surface-primary p-5 text-text-sm text-theme-text-primary",children:[e.jsx("p",{children:s}),e.jsx("a",{className:"link mt-2 text-primary-400",target:"_blank",href:r,children:"Learn more"})]})]})})}function Re(t){switch(t){case"orchestrator":return{description:w.description,link:w.helpLink};case"alerter":return{description:F.description,link:F.helpLink};case"annotator":return{description:M.description,link:M.helpLink};case"artifact_store":return{description:S.description,link:S.helpLink};case"container_registry":return{description:C.description,link:C.helpLink};case"data_validator":return{description:I.description,link:I.helpLink};case"experiment_tracker":return{description:z.description,link:z.helpLink};case"feature_store":return{description:T.description,link:T.helpLink};case"image_builder":return{description:A.description,link:A.helpLink};case"model_deployer":return{description:_.description,link:_.helpLink};case"model_registry":return{description:D.description,link:D.helpLink};case"step_operator":return{description:L.description,link:L.helpLink}}}function Ue(){return e.jsxs(e.Fragment,{children:[y.map(t=>e.jsx(N,{className:"h-full space-y-5 p-5",value:t,children:e.jsx(Ze,{type:t})},t)),e.jsx(N,{className:"h-full",value:"",children:e.jsx("div",{className:"flex h-full w-full items-center justify-center text-theme-text-tertiary",children:"Select a category to add a new component"})})]})}function Be({type:t,search:s}){const r=ge({...Q.componentListInfinite({sort_by:"desc:updated",type:t,...s?{name:`contains:${s}`}:{}})}),{control:n,watch:o,setValue:c}=m();return r.isError?e.jsx("p",{children:"Error while fetching Components"}):r.isPending?e.jsx("div",{className:"flex w-full flex-1 items-center justify-center",children:e.jsx(ce,{})}):e.jsxs("div",{className:"space-y-1",children:[e.jsx("ul",{className:"space-y-1",children:r.data.pages.map(i=>i.items.map(a=>e.jsx("li",{children:e.jsx(ue,{name:`components.${t}.id`,control:n,render:({field:{onChange:g,...j}})=>{var p,u,f,h;return e.jsxs(we,{className:"justify-between bg-theme-surface-primary font-medium","data-state":o(`components.${t}.id`)===a.id?"selected":"unselected",htmlFor:a.id,children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx(Se,{...j,id:a.id,type:"radio",value:a.id,onChange:U=>{var v;c(`components.${t}.name`,a.name),c(`components.${t}.logoUrl`,((v=a.body)==null?void 0:v.logo_url)||""),g(U)},checked:o(`components.${t}.id`)===a.id,name:t}),e.jsx("img",{alt:"flavor icon",src:ve(((p=a.body)==null?void 0:p.logo_url)||""),width:24,height:24}),e.jsxs("div",{className:"min-w-0 truncate",children:[e.jsx("div",{className:"truncate font-semibold",children:a.name}),e.jsx("div",{className:"truncate text-text-xs text-theme-text-secondary",children:a.id.split("-")[0]})]})]}),e.jsxs("div",{className:"flex items-center gap-2 text-text-sm",children:[((f=(u=a.body)==null?void 0:u.user)==null?void 0:f.name)&&e.jsx(Fe,{username:a.body.user.name}),((h=a.body)==null?void 0:h.updated)&&e.jsx("div",{className:"whitespace-nowrap text-theme-text-secondary",children:e.jsx(ze,{short:!0,dateString:a.body.updated})})]})]})}})},a.id)))}),e.jsx(He,{type:t}),r.hasNextPage&&e.jsx(k,{onClick:()=>r.fetchNextPage(),type:"button",size:"md",intent:"secondary",emphasis:"subtle",className:"flex w-full items-center justify-center bg-theme-surface-primary",children:e.jsxs("div",{className:"flex items-center gap-1",children:[r.isFetchingNextPage&&e.jsx("div",{role:"alert","aria-busy":"true",className:"full h-[20px] w-[20px] animate-spin rounded-rounded border-2 border-theme-text-negative border-b-theme-text-brand"}),"Load more"]})})]})}function Ve({type:t}){return e.jsxs("section",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(P,{className:"h-5 w-5 fill-primary-400",type:t}),e.jsx("h2",{className:"text-text-lg font-semibold",children:x(t)}),e.jsx(Qe,{type:t})]}),e.jsxs("p",{className:"text-theme-text-secondary",children:["Select a existing ",le(t)," from your server:"]})]})}function Ze({type:t}){const[s,r]=d.useState("");return e.jsxs(e.Fragment,{children:[e.jsx(Ve,{type:t}),e.jsx(qe,{search:s,setSearch:r}),e.jsx(Be,{search:s,type:t})]})}function qe({setSearch:t,search:s}){const[r,n]=d.useState(s),o=d.useCallback(Ne(t,500),[]);d.useEffect(()=>()=>{o.cancel()},[o]);function c(i){n(i),o(i)}return e.jsx(E,{value:r,onChange:i=>c(i.target.value),placeholder:"Search..."})}function He({type:t}){return e.jsx(R,{type:t,children:e.jsxs("button",{className:"w-full rounded-md border border-dashed border-neutral-300 bg-theme-surface-tertiary py-5 text-theme-text-secondary",children:["New ",x(t)]})})}function Ke({type:t}){const{watch:s,formState:{errors:r}}=m(),n=s(`components.${t}`),o=n&&n.id;return e.jsx("div",{"data-error":!o&&r.components&&r.components[t]?"true":"false","data-filled":o?"true":"false",className:"flex h-[110px] flex-col items-center justify-center space-y-2 truncate whitespace-nowrap rounded-md border border-theme-border-moderate bg-theme-surface-secondary py-5 text-center text-text-sm text-theme-text-secondary transition-all duration-150 hover:bg-theme-surface-primary hover:shadow-sm data-[error=true]:border-theme-text-error data-[filled=true]:border-success-400 data-[filled=true]:bg-theme-surface-primary data-[state=active]:bg-theme-surface-primary group-data-[state=active]/trigger:bg-theme-surface-primary group-data-[state=active]/trigger:shadow-md data-[error=false]:data-[filled=false]:group-data-[state=active]/trigger:border-theme-border-bold",children:o?e.jsx(Ge,{type:t}):e.jsx(We,{type:t})})}function Ge({type:t}){const{watch:s}=m(),r=s(`components.${t}`);return r&&r.id?e.jsxs("div",{className:"flex flex-col items-center gap-2 text-text-sm",children:[e.jsx("img",{width:24,height:24,src:r.logoUrl,alt:`Icon of ${r.name}`}),e.jsxs("div",{className:"space-y-0.25",children:[e.jsx("div",{className:"text-theme-text-primary",children:r.name}),e.jsx("div",{className:"text-text-xs text-theme-text-tertiary",children:x(t)})]})]}):null}function We({type:t}){return e.jsxs(e.Fragment,{children:[e.jsx(P,{className:"h-5 w-5 shrink-0 fill-theme-text-tertiary group-data-[state=active]/trigger:fill-theme-surface-strong",type:t}),e.jsx("span",{children:x(t)})]})}function Je(){return e.jsxs("div",{className:"flex h-full flex-col justify-between space-y-5",children:[e.jsxs("div",{className:"space-y-5 p-5",children:[e.jsx(et,{}),e.jsx(Xe,{})]}),e.jsx(Ye,{})]})}function Xe(){const{watch:t,resetField:s}=m();return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("h2",{className:"text-text-lg font-semibold",children:"Add Components"}),e.jsxs("p",{className:"text-theme-text-secondary",children:["All stacks have at minimum an orchestrator and an artifact store."," ",e.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://docs.zenml.io/stack-components/component-guide",className:"link text-primary-400",children:"Learn more"})]})]}),e.jsx(B,{children:e.jsx("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-2 xl:grid-cols-4",children:y.map(r=>e.jsxs("div",{className:"relative",children:[e.jsx(V,{className:"group/trigger w-full",value:r,children:e.jsx(Ke,{type:r})}),t(`components.${r}.id`)&&e.jsx("button",{type:"button",onClick:n=>{n.preventDefault(),s(`components.${r}`)},className:"absolute right-[-12px] top-[-12px] flex aspect-square h-[28px] w-[28px] items-center justify-center rounded-rounded bg-theme-surface-primary",children:e.jsx(Me,{className:"h-5 w-5 shrink-0 fill-success-400"})})]},r))})})]})}function Ye(){const{formState:{isSubmitting:t}}=m(),s=!!je();return e.jsxs("div",{className:"flex items-center justify-end space-x-2 border-t border-theme-border-moderate p-5",children:[e.jsx(k,{asChild:!0,intent:"secondary",size:"md",children:e.jsx(Ie,{to:O.stacks.create.index,children:"Cancel"})}),e.jsxs(k,{className:"flex items-center gap-1",disabled:t||s,size:"md",children:[(s||t)&&e.jsx("div",{role:"alert","aria-busy":"true",className:"full h-[20px] w-[20px] animate-spin rounded-rounded border-2 border-theme-text-negative border-b-theme-text-brand"}),"Register Stack"]})]})}function et(){var r;const{register:t,formState:{errors:s}}=m();return e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-text-sm",htmlFor:"stack-name",children:"Stack Name"}),e.jsx(E,{id:"stack-name",className:`${s.stackName?"border-red-500":""} w-full`,placeholder:"zenml-stack",...t("stackName")}),s.stackName&&e.jsx("p",{className:"text-text-xs text-red-500",children:(r=s.stackName.message)==null?void 0:r.toString()})]})}function tt(){const t=ke({...De.workspaceDetail("default")}),{toast:s}=de(),r=Ae(),n=be(),o=Ce({onSuccess:async()=>{n.invalidateQueries({queryKey:Te.all}),r(O.stacks.overview)},onError:a=>{s({status:"error",emphasis:"subtle",icon:e.jsx(me,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:a.message,rounded:!0})}});function c(a){var p;const g=Object.entries(a.components).reduce((u,[f,h])=>(h&&(u[f]=[h.id]),u),{}),j={name:a.stackName,components:g};o.mutate({workspaceId:((p=t.data)==null?void 0:p.id)||"",payload:j})}const i=he({resolver:$e(Pe),defaultValues:{components:{alerter:null,orchestrator:{},annotator:null,artifact_store:{},container_registry:null,data_validator:null,experiment_tracker:null,feature_store:null,model_registry:null,image_builder:null,model_deployer:null,step_operator:null},stackName:""}});return{createManualStack:c,form:i}}function vt(){const[t,s]=d.useState(""),{createManualStack:r,form:n}=tt();return e.jsx(xe,{...n,children:e.jsx(Z,{value:t,onValueChange:s,className:"h-full",children:e.jsxs("form",{onSubmit:n.handleSubmit(r),className:"flex h-[calc(100vh_-_4rem_-_4rem_-_2px)] flex-1 flex-col divide-y divide-theme-border-moderate xl:flex-row-reverse xl:divide-x xl:divide-y-0 xl:divide-x-reverse",children:[e.jsx($,{className:"h-full flex-1 bg-theme-surface-primary",children:e.jsx(Je,{})}),e.jsx($,{children:e.jsx(Ue,{})})]})})})}function $({className:t,...s}){return e.jsx("div",{className:pe("w-full overflow-y-auto xl:w-1/2",t),...s})}export{vt as default};