zenml-nightly 0.66.0.dev20240923__py3-none-any.whl → 0.66.0.dev20240928__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 (154) hide show
  1. zenml/VERSION +1 -1
  2. zenml/cli/__init__.py +7 -0
  3. zenml/cli/base.py +2 -2
  4. zenml/cli/pipeline.py +21 -0
  5. zenml/cli/utils.py +14 -11
  6. zenml/client.py +68 -3
  7. zenml/config/step_configurations.py +0 -5
  8. zenml/constants.py +3 -0
  9. zenml/enums.py +2 -0
  10. zenml/integrations/__init__.py +1 -0
  11. zenml/integrations/aws/flavors/sagemaker_orchestrator_flavor.py +76 -7
  12. zenml/integrations/aws/orchestrators/sagemaker_orchestrator.py +370 -115
  13. zenml/integrations/azure/__init__.py +6 -2
  14. zenml/integrations/azure/orchestrators/azureml_orchestrator.py +157 -4
  15. zenml/integrations/constants.py +1 -0
  16. zenml/integrations/deepchecks/__init__.py +1 -1
  17. zenml/integrations/deepchecks/data_validators/deepchecks_data_validator.py +55 -14
  18. zenml/integrations/deepchecks/validation_checks.py +62 -5
  19. zenml/integrations/gcp/orchestrators/vertex_orchestrator.py +207 -18
  20. zenml/integrations/lightning/__init__.py +1 -1
  21. zenml/integrations/lightning/flavors/lightning_orchestrator_flavor.py +9 -0
  22. zenml/integrations/lightning/orchestrators/lightning_orchestrator.py +18 -17
  23. zenml/integrations/lightning/orchestrators/lightning_orchestrator_entrypoint.py +2 -6
  24. zenml/integrations/mlflow/steps/mlflow_registry.py +2 -0
  25. zenml/integrations/skypilot/orchestrators/skypilot_base_vm_orchestrator.py +38 -26
  26. zenml/integrations/skypilot_kubernetes/__init__.py +52 -0
  27. zenml/integrations/skypilot_kubernetes/flavors/__init__.py +26 -0
  28. zenml/integrations/skypilot_kubernetes/flavors/skypilot_orchestrator_kubernetes_vm_flavor.py +125 -0
  29. zenml/integrations/skypilot_kubernetes/orchestrators/__init__.py +25 -0
  30. zenml/integrations/skypilot_kubernetes/orchestrators/skypilot_kubernetes_vm_orchestrator.py +74 -0
  31. zenml/integrations/tensorboard/visualizers/tensorboard_visualizer.py +1 -1
  32. zenml/models/v2/base/filter.py +315 -149
  33. zenml/models/v2/base/scoped.py +5 -2
  34. zenml/models/v2/core/artifact_version.py +69 -8
  35. zenml/models/v2/core/model.py +43 -6
  36. zenml/models/v2/core/model_version.py +49 -1
  37. zenml/models/v2/core/model_version_artifact.py +18 -3
  38. zenml/models/v2/core/model_version_pipeline_run.py +18 -4
  39. zenml/models/v2/core/pipeline.py +108 -1
  40. zenml/models/v2/core/pipeline_run.py +172 -21
  41. zenml/models/v2/core/run_template.py +53 -1
  42. zenml/models/v2/core/stack.py +33 -5
  43. zenml/models/v2/core/step_run.py +7 -0
  44. zenml/new/pipelines/pipeline.py +4 -0
  45. zenml/new/pipelines/run_utils.py +4 -1
  46. zenml/orchestrators/base_orchestrator.py +41 -12
  47. zenml/stack/stack.py +11 -2
  48. zenml/utils/env_utils.py +54 -1
  49. zenml/utils/string_utils.py +50 -0
  50. zenml/zen_server/cloud_utils.py +33 -8
  51. zenml/zen_server/dashboard/assets/{404-iO8vpun1.js → 404-Y50hSt65.js} +1 -1
  52. zenml/zen_server/dashboard/assets/{@reactflow-B6kq9fJZ.js → @reactflow-ytavUpwh.js} +1 -1
  53. zenml/zen_server/dashboard/assets/AlertDialogDropdownItem-xLR9a1iw.js +1 -0
  54. zenml/zen_server/dashboard/assets/{CodeSnippet-DNWdQmbo.js → CodeSnippet-IxXNxUDa.js} +2 -2
  55. zenml/zen_server/dashboard/assets/{CollapsibleCard-B2OVjWYE.js → CollapsibleCard-BhutZbBL.js} +1 -1
  56. zenml/zen_server/dashboard/assets/{Commands-DsoaVElZ.js → Commands-Bf-rd1z8.js} +1 -1
  57. zenml/zen_server/dashboard/assets/ComponentBadge-gKR1OIwG.js +1 -0
  58. zenml/zen_server/dashboard/assets/{CopyButton-BqE_-PHO.js → CopyButton-DcFHidFJ.js} +1 -1
  59. zenml/zen_server/dashboard/assets/{CsvVizualization-Dyasr2jU.js → CsvVizualization-QSbjrfxw.js} +1 -1
  60. zenml/zen_server/dashboard/assets/{DialogItem-Cz1VLRwa.js → DialogItem-Cd3HqST4.js} +1 -1
  61. zenml/zen_server/dashboard/assets/{Error-DorJD_va.js → Error-BhwdmqK7.js} +1 -1
  62. zenml/zen_server/dashboard/assets/{ExecutionStatus-CIfQTutR.js → ExecutionStatus-D6r6aK8J.js} +1 -1
  63. zenml/zen_server/dashboard/assets/{Helpbox-CmfvtNeq.js → Helpbox-0pBpTwTm.js} +1 -1
  64. zenml/zen_server/dashboard/assets/Infobox-BTK_EUKT.js +1 -0
  65. zenml/zen_server/dashboard/assets/{InlineAvatar-Ds2ZFHPc.js → InlineAvatar-CA3DFMcM.js} +1 -1
  66. zenml/zen_server/dashboard/assets/Partials-QLOZw624.js +1 -0
  67. zenml/zen_server/dashboard/assets/{ProviderIcon-BOQJgapd.js → ProviderIcon-C16CCIN4.js} +1 -1
  68. zenml/zen_server/dashboard/assets/{ProviderRadio-BsYBw9YA.js → ProviderRadio-D3FuCHf3.js} +1 -1
  69. zenml/zen_server/dashboard/assets/{SearchField-W3GXpLlI.js → SearchField-BzmfxS0L.js} +1 -1
  70. zenml/zen_server/dashboard/assets/SecretTooltip-BaMwHF-Q.js +1 -0
  71. zenml/zen_server/dashboard/assets/{SetPassword-B-0a8UCj.js → SetPassword-DuIC65H9.js} +1 -1
  72. zenml/zen_server/dashboard/assets/{Tick-i1DYsVcX.js → Tick-DJTCF0Re.js} +1 -1
  73. zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-C6Zb7ASL.js → UpdatePasswordSchemas-CUm-DMpw.js} +1 -1
  74. zenml/zen_server/dashboard/assets/UsageReason-CKw0juLF.js +1 -0
  75. zenml/zen_server/dashboard/assets/{WizardFooter-BHbO7zOa.js → WizardFooter-Cv9ApYWU.js} +1 -1
  76. zenml/zen_server/dashboard/assets/{all-pipeline-runs-query-BBEe6I9-.js → all-pipeline-runs-query-BA3R2Sey.js} +1 -1
  77. zenml/zen_server/dashboard/assets/{cloud-only-BuP4Kt_7.js → cloud-only-BB4BVa6E.js} +1 -1
  78. zenml/zen_server/dashboard/assets/{create-stack-B2x2d4r1.js → create-stack-F29xAUEx.js} +1 -1
  79. zenml/zen_server/dashboard/assets/delete-run-CP0pcJ3U.js +1 -0
  80. zenml/zen_server/dashboard/assets/{form-schemas-Bap0f854.js → form-schemas-BKXwSDK2.js} +1 -1
  81. zenml/zen_server/dashboard/assets/index-BhJ6ZJxv.css +1 -0
  82. zenml/zen_server/dashboard/assets/{index-B9wVwe7u.js → index-Ci0nJ8EZ.js} +5 -5
  83. zenml/zen_server/dashboard/assets/{index-DFi8BroH.js → index-D-mtoBj3.js} +1 -1
  84. zenml/zen_server/dashboard/assets/{login-mutation-DwxUz8VA.js → login-mutation-ax6iL2Mb.js} +1 -1
  85. zenml/zen_server/dashboard/assets/{not-found-D5i9DunU.js → not-found-DbjllLY_.js} +1 -1
  86. zenml/zen_server/dashboard/assets/{page-oS4hqS8M.js → page-3qPX9WYH.js} +1 -1
  87. zenml/zen_server/dashboard/assets/{page-iwoJnwPv.js → page-6mfzecin.js} +1 -1
  88. zenml/zen_server/dashboard/assets/{page-DGMa3ZQL.js → page-8kYmrh0B.js} +1 -1
  89. zenml/zen_server/dashboard/assets/page-B1n7_W7z.js +1 -0
  90. zenml/zen_server/dashboard/assets/page-BDg1F-Ug.js +6 -0
  91. zenml/zen_server/dashboard/assets/{page-xQG6GmFJ.js → page-BXarY9K2.js} +1 -1
  92. zenml/zen_server/dashboard/assets/page-BZZhLo2u.js +1 -0
  93. zenml/zen_server/dashboard/assets/page-Bbf_oBjn.js +1 -0
  94. zenml/zen_server/dashboard/assets/page-BjjuBvZG.js +9 -0
  95. zenml/zen_server/dashboard/assets/{page-J0s8Sq3N.js → page-BukXK1Aa.js} +1 -1
  96. zenml/zen_server/dashboard/assets/page-CHaQkFK5.js +1 -0
  97. zenml/zen_server/dashboard/assets/{page-BitfWsiW.js → page-CKHNAq7z.js} +1 -1
  98. zenml/zen_server/dashboard/assets/{page-DE03uZZR.js → page-CS0SYFK8.js} +1 -1
  99. zenml/zen_server/dashboard/assets/{page-WCQ659by.js → page-CvKnNK1S.js} +1 -1
  100. zenml/zen_server/dashboard/assets/{page-CrSdkteO.js → page-DGM1CbYT.js} +2 -2
  101. zenml/zen_server/dashboard/assets/{page-DQGCHKrQ.js → page-DMSLXKGT.js} +1 -1
  102. zenml/zen_server/dashboard/assets/page-DOmIZ2ra.js +1 -0
  103. zenml/zen_server/dashboard/assets/{page-DgM-N9RL.js → page-DRfcRK1w.js} +1 -1
  104. zenml/zen_server/dashboard/assets/page-DYVmJ9_w.js +3 -0
  105. zenml/zen_server/dashboard/assets/{page-BiF8hLbO.js → page-DcTjHmYZ.js} +1 -1
  106. zenml/zen_server/dashboard/assets/page-DuqYMYmH.js +1 -0
  107. zenml/zen_server/dashboard/assets/page-Dwow2doB.js +1 -0
  108. zenml/zen_server/dashboard/assets/{page-DQdwZZ9x.js → page-HkVBdZl6.js} +1 -1
  109. zenml/zen_server/dashboard/assets/{page-bimkItOg.js → page-MAXyfXBq.js} +1 -1
  110. zenml/zen_server/dashboard/assets/page-miU2rhYG.js +1 -0
  111. zenml/zen_server/dashboard/assets/page-p0BhSAWx.js +1 -0
  112. zenml/zen_server/dashboard/assets/{page-DFCK65G9.js → page-uORspyRu.js} +1 -1
  113. zenml/zen_server/dashboard/assets/persist-BxIR2XZs.js +1 -0
  114. zenml/zen_server/dashboard/assets/{persist-xsYgVtR1.js → persist-CfJMar_k.js} +1 -1
  115. zenml/zen_server/dashboard/assets/sharedSchema-vub0rii3.js +14 -0
  116. zenml/zen_server/dashboard/assets/stack-detail-query-DQcyzG-2.js +1 -0
  117. zenml/zen_server/dashboard/assets/tick-circle-m-hJG8i9.js +1 -0
  118. zenml/zen_server/dashboard/assets/{update-server-settings-mutation-DNqmQXDM.js → update-server-settings-mutation-FGVP7X2U.js} +1 -1
  119. zenml/zen_server/dashboard/assets/{url-DwbuKk1b.js → url-CbAPzsmT.js} +1 -1
  120. zenml/zen_server/dashboard/index.html +4 -4
  121. zenml/zen_server/dashboard_legacy/asset-manifest.json +4 -4
  122. zenml/zen_server/dashboard_legacy/index.html +1 -1
  123. zenml/zen_server/dashboard_legacy/{precache-manifest.290b95d5b43efa3368b3dc63d20c4782.js → precache-manifest.6d320abb70db612019dda6c4948e7a90.js} +4 -4
  124. zenml/zen_server/dashboard_legacy/service-worker.js +1 -1
  125. zenml/zen_server/dashboard_legacy/static/js/{main.840d1bf0.chunk.js → main.fa9299d5.chunk.js} +2 -2
  126. zenml/zen_server/dashboard_legacy/static/js/{main.840d1bf0.chunk.js.map → main.fa9299d5.chunk.js.map} +1 -1
  127. zenml/zen_server/routers/runs_endpoints.py +89 -3
  128. zenml/zen_stores/sql_zen_store.py +1 -0
  129. {zenml_nightly-0.66.0.dev20240923.dist-info → zenml_nightly-0.66.0.dev20240928.dist-info}/METADATA +8 -1
  130. {zenml_nightly-0.66.0.dev20240923.dist-info → zenml_nightly-0.66.0.dev20240928.dist-info}/RECORD +133 -125
  131. zenml/zen_server/dashboard/assets/AlertDialogDropdownItem-BXeSvmMY.js +0 -1
  132. zenml/zen_server/dashboard/assets/EditSecretDialog-Du423_3U.js +0 -1
  133. zenml/zen_server/dashboard/assets/Infobox-BL9NOS37.js +0 -1
  134. zenml/zen_server/dashboard/assets/Partials-DX-8iEa1.js +0 -1
  135. zenml/zen_server/dashboard/assets/UsageReason-CCnzmwS8.js +0 -1
  136. zenml/zen_server/dashboard/assets/index-6DYjZgDn.css +0 -1
  137. zenml/zen_server/dashboard/assets/page-BFuJICXM.js +0 -9
  138. zenml/zen_server/dashboard/assets/page-CDOQLrPC.js +0 -1
  139. zenml/zen_server/dashboard/assets/page-CEJWu1YO.js +0 -1
  140. zenml/zen_server/dashboard/assets/page-CIbehp7V.js +0 -1
  141. zenml/zen_server/dashboard/assets/page-CLiRGfWo.js +0 -1
  142. zenml/zen_server/dashboard/assets/page-CV44mQn9.js +0 -1
  143. zenml/zen_server/dashboard/assets/page-D5F3DJjm.js +0 -1
  144. zenml/zen_server/dashboard/assets/page-DI-qTWrm.js +0 -1
  145. zenml/zen_server/dashboard/assets/page-Dt8VgzbE.js +0 -1
  146. zenml/zen_server/dashboard/assets/page-oSqx9dkH.js +0 -1
  147. zenml/zen_server/dashboard/assets/page-p3GqEAUW.js +0 -1
  148. zenml/zen_server/dashboard/assets/page-qvcUVPE-.js +0 -1
  149. zenml/zen_server/dashboard/assets/persist-mEZN_fgH.js +0 -1
  150. zenml/zen_server/dashboard/assets/sharedSchema-BfZcy7aP.js +0 -14
  151. zenml/zen_server/dashboard/assets/stack-detail-query-CU4egfhp.js +0 -1
  152. {zenml_nightly-0.66.0.dev20240923.dist-info → zenml_nightly-0.66.0.dev20240928.dist-info}/LICENSE +0 -0
  153. {zenml_nightly-0.66.0.dev20240923.dist-info → zenml_nightly-0.66.0.dev20240928.dist-info}/WHEEL +0 -0
  154. {zenml_nightly-0.66.0.dev20240923.dist-info → zenml_nightly-0.66.0.dev20240928.dist-info}/entry_points.txt +0 -0
@@ -1,2 +1,2 @@
1
- import{r as a,j as e}from"./@radix-DnFH_oo1.js";import{B as h,d as Z,L as z,W as V,X as f,aS as j,az as R,a8 as p,aa as g,r as D,f as I,aT as k,c as w,S as N,aU as L,ad as M,aV as _,aW as E,aO as S,aD as O}from"./index-B9wVwe7u.js";import{S as B}from"./package-DYKZ5jKW.js";import{S as v}from"./chevron-down-Cwb-W_B_.js";import{T as b}from"./Tick-i1DYsVcX.js";import{S as F}from"./plus-Bc8eLSDM.js";import{C as c}from"./CodeSnippet-DNWdQmbo.js";import{H as y}from"./Helpbox-CmfvtNeq.js";import{F as P}from"./chevron-right-double-c9H46Kl8.js";import{L as A}from"./@react-router-APVeuk-U.js";import{H as T}from"./help-CwN931fX.js";import"./@tanstack-QbMbTrh5.js";import"./@reactflow-B6kq9fJZ.js";import"./copy-CaGlDsUy.js";const q=s=>a.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...s},a.createElement("path",{d:"M6.20195 14.6383C6.20195 15.7947 5.25733 16.7393 4.10098 16.7393C2.94463 16.7393 2 15.7947 2 14.6383C2 13.482 2.94463 12.5374 4.10098 12.5374H6.20195V14.6383Z",fill:"#E01E5A"}),a.createElement("path",{d:"M7.26056 14.6383C7.26056 13.482 8.20518 12.5374 9.36154 12.5374C10.5179 12.5374 11.4625 13.482 11.4625 14.6383V19.8989C11.4625 21.0553 10.5179 21.9999 9.36154 21.9999C8.20518 21.9999 7.26056 21.0553 7.26056 19.8989V14.6383Z",fill:"#E01E5A"}),a.createElement("path",{d:"M9.36154 6.20195C8.20518 6.20195 7.26056 5.25733 7.26056 4.10098C7.26056 2.94463 8.20518 2 9.36154 2C10.5179 2 11.4625 2.94463 11.4625 4.10098V6.20195H9.36154Z",fill:"#36C5F0"}),a.createElement("path",{d:"M9.36156 7.26062C10.5179 7.26062 11.4625 8.20525 11.4625 9.3616C11.4625 10.5179 10.5179 11.4626 9.36156 11.4626H4.10098C2.94463 11.4626 2 10.5179 2 9.3616C2 8.20525 2.94463 7.26062 4.10098 7.26062H9.36156Z",fill:"#36C5F0"}),a.createElement("path",{d:"M17.798 9.3616C17.798 8.20525 18.7426 7.26062 19.8989 7.26062C21.0553 7.26062 21.9999 8.20525 21.9999 9.3616C21.9999 10.5179 21.0553 11.4626 19.8989 11.4626H17.798V9.3616Z",fill:"#2EB67D"}),a.createElement("path",{d:"M16.7394 9.36156C16.7394 10.5179 15.7948 11.4625 14.6385 11.4625C13.4821 11.4625 12.5375 10.5179 12.5375 9.36156V4.10098C12.5375 2.94463 13.4821 2 14.6385 2C15.7948 2 16.7394 2.94463 16.7394 4.10098V9.36156Z",fill:"#2EB67D"}),a.createElement("path",{d:"M14.6384 17.7981C15.7947 17.7981 16.7394 18.7427 16.7394 19.8991C16.7394 21.0554 15.7947 22 14.6384 22C13.482 22 12.5374 21.0554 12.5374 19.8991V17.7981H14.6384Z",fill:"#ECB22E"}),a.createElement("path",{d:"M14.6385 16.7393C13.4821 16.7393 12.5375 15.7947 12.5375 14.6383C12.5375 13.482 13.4821 12.5374 14.6385 12.5374H19.899C21.0554 12.5374 22 13.482 22 14.6383C22 15.7947 21.0554 16.7393 19.899 16.7393H14.6385Z",fill:"#ECB22E"})),$=s=>a.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...s},a.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.75873 3H17.2413C18.0463 2.99999 18.7107 2.99998 19.2519 3.04419C19.8139 3.09012 20.3307 3.18868 20.816 3.43597C21.5686 3.81947 22.1806 4.43139 22.5641 5.18404C22.8027 5.65238 22.9028 6.14994 22.9508 6.68931C23.0043 6.8527 23.0136 7.02505 22.9819 7.18959C23 7.63971 23 8.16035 23 8.75868V15.2413C23 16.0463 23 16.7106 22.9558 17.2518C22.9099 17.8139 22.8113 18.3306 22.5641 18.816C22.1806 19.5686 21.5686 20.1805 20.816 20.564C20.3307 20.8113 19.8139 20.9099 19.2519 20.9558C18.7107 21 18.0463 21 17.2413 21H6.7587C5.95374 21 5.28939 21 4.7482 20.9558C4.1861 20.9099 3.6694 20.8113 3.18406 20.564C2.43141 20.1805 1.81949 19.5686 1.436 18.816C1.18871 18.3306 1.09014 17.8139 1.04422 17.2518C1 16.7106 1.00001 16.0463 1.00002 15.2413V8.7587C1.00001 8.16037 1.00001 7.63972 1.01816 7.1896C0.986405 7.02505 0.995778 6.85269 1.04924 6.6893C1.09723 6.14993 1.19737 5.65238 1.436 5.18404C1.81949 4.43139 2.43141 3.81947 3.18406 3.43597C3.6694 3.18868 4.1861 3.09012 4.7482 3.04419C5.28939 2.99998 5.95376 2.99999 6.75873 3ZM3.00002 8.92066V15.2C3.00002 16.0566 3.0008 16.6389 3.03758 17.089C3.0734 17.5274 3.13832 17.7516 3.21801 17.908C3.40976 18.2843 3.71572 18.5903 4.09204 18.782C4.24844 18.8617 4.47265 18.9266 4.91106 18.9624C5.36115 18.9992 5.94345 19 6.80002 19H17.2C18.0566 19 18.6389 18.9992 19.089 18.9624C19.5274 18.9266 19.7516 18.8617 19.908 18.782C20.2843 18.5903 20.5903 18.2843 20.782 17.908C20.8617 17.7516 20.9267 17.5274 20.9625 17.089C20.9992 16.6389 21 16.0566 21 15.2V8.92066L14.4086 13.5347C14.3698 13.5618 14.3313 13.5888 14.2932 13.6156C13.7486 13.998 13.2703 14.3338 12.7256 14.4696C12.2492 14.5884 11.7509 14.5884 11.2744 14.4696C10.7297 14.3338 10.2515 13.998 9.70683 13.6156C9.66872 13.5888 9.63029 13.5618 9.59148 13.5347L3.00002 8.92066ZM20.9173 6.53728L13.2616 11.8962C12.5327 12.4065 12.3783 12.495 12.2419 12.529C12.0831 12.5686 11.917 12.5686 11.7582 12.529C11.6218 12.495 11.4673 12.4065 10.7384 11.8962L3.08279 6.53728C3.11852 6.33012 3.165 6.19607 3.21801 6.09202C3.40976 5.7157 3.71572 5.40973 4.09204 5.21799C4.24844 5.1383 4.47265 5.07337 4.91106 5.03755C5.36115 5.00078 5.94345 5 6.80002 5H17.2C18.0566 5 18.6389 5.00078 19.089 5.03755C19.5274 5.07337 19.7516 5.1383 19.908 5.21799C20.2843 5.40973 20.5903 5.7157 20.782 6.09202C20.8351 6.19607 20.8815 6.33012 20.9173 6.53728Z"})),W=s=>a.createElement("svg",{viewBox:"0 0 60 60",fill:"black",xmlns:"http://www.w3.org/2000/svg",...s},a.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M21.8968 2.5L35 2.5C35.663 2.5 36.2989 2.76339 36.7678 3.23224L51.7678 18.2322C52.2366 18.7011 52.5 19.337 52.5 20V43.1033C52.5 45.1157 52.5001 46.7766 52.3895 48.1296C52.2747 49.5348 52.0283 50.8266 51.4101 52.0399C50.4513 53.9215 48.9215 55.4513 47.0399 56.4101C45.8266 57.0283 44.5348 57.2747 43.1296 57.3895C41.7766 57.5001 40.1157 57.5 38.1033 57.5H21.8967C19.8843 57.5 18.2234 57.5001 16.8704 57.3895C15.4652 57.2747 14.1734 57.0283 12.9601 56.4101C11.0785 55.4513 9.54867 53.9215 8.58994 52.0399C7.97171 50.8266 7.7253 49.5348 7.61049 48.1296C7.49994 46.7766 7.49997 45.1157 7.5 43.1032V16.8968C7.49997 14.8843 7.49994 13.2234 7.61049 11.8704C7.7253 10.4652 7.97171 9.17344 8.58994 7.9601C9.54867 6.07848 11.0785 4.54867 12.9601 3.58994C14.1734 2.97171 15.4652 2.7253 16.8704 2.61049C18.2234 2.49994 19.8843 2.49997 21.8968 2.5ZM17.2776 7.59388C16.1816 7.68343 15.621 7.84575 15.2301 8.04497C14.2892 8.52434 13.5243 9.28924 13.045 10.23C12.8457 10.621 12.6834 11.1816 12.5939 12.2776C12.5019 13.4028 12.5 14.8586 12.5 17V43C12.5 45.1414 12.5019 46.5972 12.5939 47.7224C12.6834 48.8184 12.8457 49.3789 13.045 49.7699C13.5243 50.7108 14.2892 51.4757 15.2301 51.955C15.621 52.1543 16.1816 52.3166 17.2776 52.4061C18.4028 52.4981 19.8586 52.5 22 52.5H38C40.1415 52.5 41.5972 52.4981 42.7224 52.4061C43.8184 52.3166 44.379 52.1543 44.77 51.955C45.7108 51.4757 46.4757 50.7108 46.955 49.7699C47.1543 49.3789 47.3166 48.8184 47.4061 47.7224C47.4981 46.5972 47.5 45.1414 47.5 43V22.5002L38.9203 22.5002C38.2893 22.5003 37.6748 22.5003 37.1544 22.4578C36.5829 22.4111 35.9086 22.301 35.23 21.9552C34.2892 21.4758 33.5243 20.7109 33.045 19.7701C32.6992 19.0916 32.5891 18.4172 32.5424 17.8458C32.4998 17.3253 32.4999 16.7109 32.5 16.0799L32.5 7.5H22C19.8586 7.5 18.4028 7.50195 17.2776 7.59388ZM37.5 11.0355L43.9646 17.5002H39C38.2587 17.5002 37.8531 17.4982 37.5616 17.4744C37.55 17.4735 37.539 17.4725 37.5286 17.4716C37.5277 17.4612 37.5267 17.4502 37.5258 17.4386C37.5019 17.1471 37.5 16.7415 37.5 16.0002V11.0355ZM30.4548 28.7949C29.7284 28.6703 28.9814 28.8068 28.346 29.1803C27.7106 29.5537 27.2278 30.14 26.9833 30.8352C26.5251 32.1377 25.0978 32.8221 23.7953 32.3639C22.4929 31.9057 21.8084 30.4785 22.2666 29.176C22.903 27.3668 24.1592 25.8413 25.8126 24.8696C27.466 23.8979 29.4099 23.5427 31.3001 23.8669C33.1903 24.1911 34.9048 25.1738 36.1399 26.641C37.3746 28.1078 38.0506 29.9642 38.048 31.8815C38.0469 35.081 35.6802 37.1377 34.1244 38.1749C33.2702 38.7444 32.4338 39.1608 31.8208 39.4332C31.5108 39.571 31.2489 39.6759 31.0587 39.7484C30.9634 39.7847 30.8855 39.8131 30.8279 39.8336L30.7568 39.8585L30.7331 39.8666L30.7244 39.8695L30.7209 39.8707C30.7201 39.8709 30.7178 39.8717 29.9633 37.6083L30.7178 39.8717C29.4079 40.3083 27.9921 39.6004 27.5555 38.2906C27.1197 36.983 27.8243 35.5698 29.1298 35.1306L29.1528 35.1225C29.1775 35.1137 29.2204 35.0982 29.2788 35.076C29.396 35.0313 29.5732 34.9606 29.7901 34.8642C30.2311 34.6682 30.7999 34.382 31.3509 34.0147C32.6051 33.1785 33.048 32.4256 33.048 31.8792L33.048 31.8755C33.0491 31.1385 32.7894 30.4248 32.3147 29.861C31.8401 29.2972 31.1812 28.9195 30.4548 28.7949ZM27.5 45C27.5 43.6193 28.6193 42.5 30 42.5H30.025C31.4057 42.5 32.525 43.6193 32.525 45C32.525 46.3807 31.4057 47.5 30.025 47.5H30C28.6193 47.5 27.5 46.3807 27.5 45Z"})),U=s=>a.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...s},a.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.7587 1L14 1C14.2652 1 14.5196 1.10536 14.7071 1.29289L20.7071 7.29289C20.8946 7.48043 21 7.73478 21 8V17.2413C21 18.0463 21 18.7106 20.9558 19.2518C20.9099 19.8139 20.8113 20.3306 20.564 20.816C20.1805 21.5686 19.5686 22.1805 18.816 22.564C18.3306 22.8113 17.8139 22.9099 17.2518 22.9558C16.7106 23 16.0463 23 15.2413 23H8.75868C7.95372 23 7.28936 23 6.74817 22.9558C6.18608 22.9099 5.66937 22.8113 5.18404 22.564C4.43139 22.1805 3.81947 21.5686 3.43597 20.816C3.18868 20.3306 3.09012 19.8139 3.04419 19.2518C2.99998 18.7106 2.99999 18.0463 3 17.2413V6.7587C2.99999 5.95373 2.99998 5.28937 3.04419 4.74817C3.09012 4.18608 3.18868 3.66937 3.43597 3.18404C3.81947 2.43139 4.43139 1.81947 5.18404 1.43597C5.66937 1.18868 6.18608 1.09012 6.74817 1.04419C7.28937 0.999977 7.95373 0.999988 8.7587 1ZM6.91104 3.03755C6.47262 3.07337 6.24842 3.1383 6.09202 3.21799C5.7157 3.40973 5.40973 3.7157 5.21799 4.09202C5.1383 4.24842 5.07337 4.47262 5.03755 4.91104C5.00078 5.36113 5 5.94342 5 6.8V17.2C5 18.0566 5.00078 18.6389 5.03755 19.089C5.07337 19.5274 5.1383 19.7516 5.21799 19.908C5.40973 20.2843 5.7157 20.5903 6.09202 20.782C6.24842 20.8617 6.47262 20.9266 6.91104 20.9624C7.36113 20.9992 7.94342 21 8.8 21H15.2C16.0566 21 16.6389 20.9992 17.089 20.9624C17.5274 20.9266 17.7516 20.8617 17.908 20.782C18.2843 20.5903 18.5903 20.2843 18.782 19.908C18.8617 19.7516 18.9266 19.5274 18.9624 19.089C18.9992 18.6389 19 18.0566 19 17.2V9.00007L15.5681 9.00007C15.3157 9.0001 15.0699 9.00013 14.8618 8.98313C14.6332 8.96445 14.3634 8.92038 14.092 8.78208C13.7157 8.59034 13.4097 8.28438 13.218 7.90805C13.0797 7.63663 13.0356 7.3669 13.0169 7.1383C12.9999 6.93014 13 6.68434 13 6.43195L13 3H8.8C7.94342 3 7.36113 3.00078 6.91104 3.03755ZM15 4.41421L17.5859 7.00007H15.6C15.3035 7.00007 15.1412 6.99929 15.0246 6.98977C15.02 6.98939 15.0156 6.98901 15.0114 6.98862C15.0111 6.98447 15.0107 6.98008 15.0103 6.97544C15.0008 6.85885 15 6.6966 15 6.40007V4.41421ZM7 9C7 8.44772 7.44772 8 8 8H10C10.5523 8 11 8.44772 11 9C11 9.55229 10.5523 10 10 10H8C7.44772 10 7 9.55229 7 9ZM7 13C7 12.4477 7.44772 12 8 12H16C16.5523 12 17 12.4477 17 13C17 13.5523 16.5523 14 16 14H8C7.44772 14 7 13.5523 7 13ZM7 17C7 16.4477 7.44772 16 8 16H16C16.5523 16 17 16.4477 17 17C17 17.5523 16.5523 18 16 18H8C7.44772 18 7 17.5523 7 17Z"}));function K(){const s=[{text:"Connect with Slack",href:"https://zenml.io/slack",icon:e.jsx(q,{className:"h-5 w-5"})},{text:"Send us a message",href:"mailto:cloud@zenml.io",icon:e.jsx($,{className:"h-5 w-5 fill-primary-600"})}];return e.jsxs(h,{className:"flex w-full flex-col overflow-hidden",children:[e.jsx("div",{className:"flex h-[120px] items-center justify-center bg-primary-50 ",children:e.jsx(Z,{className:"h-[60px] w-[60px]"})}),e.jsxs("div",{className:"p-5",children:[e.jsx("p",{className:"mb-0.5 text-text-lg font-semibold",children:"Need support?"}),e.jsx("p",{className:"mb-2 text-theme-text-secondary",children:"Schedule a call with us, connect with our Slack community or send us a message."}),e.jsx("ul",{className:"space-y-1",children:s.map((t,r)=>e.jsx("li",{children:e.jsx(H,{href:t.href,text:t.text,icon:t.icon})},r))})]})]})}function Q(){const s=[{text:"Browse our docs",href:"https://docs.zenml.io",icon:e.jsx(U,{className:"h-5 w-5 fill-primary-600"})},{text:"Discover projects",href:"https://github.com/zenml-io/zenml-projects",icon:e.jsx(B,{className:"h-5 w-5 fill-primary-600"})},{text:"Navigate our examples",href:"https://github.com/zenml-io/zenml/tree/main/examples/",icon:e.jsx(z,{className:"h-5 w-5 fill-primary-600"})},{text:"Read our blog",href:"https://zenml.io/blog",icon:e.jsx(V,{className:"h-5 w-5 fill-primary-600"})}];return e.jsxs(h,{className:"flex w-full flex-col overflow-hidden",children:[e.jsx("div",{className:"flex h-[120px] items-center justify-center bg-turquoise-25",children:e.jsx(W,{className:"h-[60px] w-[60px] fill-teal-400"})}),e.jsxs("div",{className:"p-5",children:[e.jsx("p",{className:"mb-0.5 text-text-lg font-semibold",children:"Resources"}),e.jsx("p",{className:"mb-2 text-theme-text-secondary",children:"Need help? Follow our extensive documentation to get started."}),e.jsx("ul",{className:"space-y-1",children:s.map((t,r)=>e.jsx("li",{children:e.jsx(H,{href:t.href,text:t.text,icon:t.icon})},r))})]})]})}function H({href:s,text:t,icon:r}){return e.jsxs("a",{className:"inline-flex items-center gap-1 font-semibold text-primary-600 underline transition-all duration-200 hover:decoration-transparent",target:"_blank",href:s,rel:"noopener noreferrer",children:[r&&r,t]})}function X(){return e.jsx(h,{className:"flex flex-col-reverse items-stretch overflow-hidden md:flex-row",children:e.jsxs("div",{className:"w-full px-7 py-5 md:w-2/3",children:[e.jsx("h2",{className:"text-display-xs font-semibold",children:"Welcome to ZenML"}),e.jsx("p",{className:"mt-2 text-text-lg text-theme-text-secondary",children:"You successfully installed the ZenML dashboard. Now you can get started with your new ZenML server."})]})})}function Y({className:s,...t}){return e.jsx("div",{className:f("flex h-[28px] w-[28px] shrink-0 items-center justify-center rounded-rounded border-2 border-warning-300 bg-warning-50",s),...t,children:e.jsx(P,{className:"h-3 w-3 fill-warning-300"})})}function C({completed:s,title:t,children:r,hasDownstream:n,active:l}){const[i,m]=a.useState(l);return e.jsx(j,{open:i,onOpenChange:m,children:e.jsxs("div",{className:"flex w-full flex-col gap-3",children:[e.jsxs("div",{className:"flex w-full justify-between gap-2",children:[s?e.jsx(b,{className:"shrink-0"}):n?e.jsx(Y,{}):e.jsx(R,{className:"shrink-0"}),e.jsx(p,{className:"w-full",children:e.jsx(G,{skipped:n,title:t,completed:s})}),e.jsx("div",{className:"flex items-center gap-1",children:e.jsx(p,{children:e.jsx(v,{className:` ${i?"":"-rotate-90"} h-5 w-5 shrink-0 rounded-md fill-neutral-500`})})})]}),r&&e.jsx(g,{children:e.jsxs("div",{className:"flex w-full items-center gap-2",children:[e.jsx("div",{className:"w-[28px] shrink-0"}),e.jsx("div",{className:"w-full min-w-0 flex-1",children:r})]})})]})})}function G({completed:s,title:t,skipped:r}){return e.jsx("div",{className:"flex w-full items-center justify-between gap-2",children:e.jsx("div",{className:"flex w-full items-center",children:e.jsx("div",{className:`font-semibold ${f({"text-theme-text-tertiary":s||r,"line-through decoration-theme-text-tertiary":s})}
2
- `,children:t})})})}function J({completed:s,active:t,hasDownstreamStep:r}){const n=D.stacks.create.index+"?"+new URLSearchParams({origin:"onboarding"}).toString();return e.jsxs(C,{hasDownstream:r,completed:s,title:"Create a new stack",active:t,children:[e.jsxs("p",{className:"mb-3",children:["A stack configures how a pipeline is executed"," ",e.jsx(se,{href:"https://docs.zenml.io/user-guide/production-guide/understand-stacks"})]}),e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{children:"Connect your Cloud to deploy your ZenML pipelines in a remote stack."}),e.jsx(I,{className:"w-fit",size:"md",asChild:!0,children:e.jsxs(A,{className:"flex",to:n,children:[e.jsx(F,{className:"h-5 w-5 shrink-0 fill-white"}),"Register a stack"]})})]}),e.jsx(y,{link:"https://docs.zenml.io/user-guide/production-guide/understand-stacks"})]})]})}function ee({active:s,completed:t,hasDownstreamStep:r}){return e.jsx(C,{hasDownstream:r,completed:t,title:"Run the pipeline in the new stack",active:s,children:e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"Set the new stack"}),e.jsx(c,{wrap:!0,codeClasses:"whitespace-pre-wrap",code:"zenml stack set REMOTE_STACK"})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"Run the pipeline"}),e.jsx(c,{wrap:!0,codeClasses:"whitespace-pre-wrap",code:"python run.py"})]}),e.jsx("div",{children:e.jsx(y,{link:"https://docs.zenml.io/user-guide/production-guide/understand-stacks"})})]})})}function se({href:s}){return e.jsx("a",{href:s,rel:"noopener noreferrer",target:"_blank",className:"link text-text-sm font-semibold text-theme-text-brand",children:"Learn more"})}function te(){const s=k({refetchInterval:5e3}),t=w(),[r,n]=a.useState(!0);if(s.isPending||t.isPending)return e.jsx(N,{className:"h-[200px] w-full"});if(s.isError||t.isError)return null;const l=L(s.data,M(t.data.deployment_type||"other")),{progress:i,totalItems:m,itemsDone:u,getItem:x}=_(s.data),o=x("stack_with_remote_orchestrator_created"),d=x("pipeline_run_with_remote_orchestrator");return e.jsx(e.Fragment,{children:e.jsxs(j,{onOpenChange:n,open:r,className:f("rounded-md border border-theme-border-moderate bg-theme-surface-primary"),children:[e.jsxs(p,{className:"flex w-full items-center justify-between gap-[10px] p-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[i>=100?e.jsx(b,{className:"h-7 w-7",tickClasses:"w-[28px] h-[28px]"}):e.jsx(E,{value:i,children:e.jsxs("span",{className:"absolute text-text-xs font-semibold",children:[u,"/",m]})}),e.jsxs("div",{className:"text-left",children:[e.jsxs("p",{className:"text-text-md font-semibold",children:["Production Setup"," ",e.jsx("span",{className:"text-text-md font-medium text-theme-text-secondary",children:"(10 min)"})]}),e.jsx("p",{className:"text-theme-text-secondary",children:l.isFinished?"Level up your skills in a production setting.":e.jsx("span",{className:"text-primary-400",children:"Complete the Starter Setup to enable the production setup."})})]})]}),e.jsx(v,{className:` ${r?"":"-rotate-90"} h-5 w-5 shrink-0 rounded-md fill-neutral-500 transition-transform duration-200 hover:bg-neutral-200`})]}),e.jsx(g,{className:"border-t border-theme-border-moderate p-5",children:e.jsxs("ul",{className:"divide-y divide-theme-border-moderate",children:[e.jsx("li",{className:"py-5 first:pt-0 last:pb-0",children:e.jsx(J,{active:l.isFinished&&o.isActive,completed:o.isCompleted,hasDownstreamStep:o.hasDownStreamStep})}),e.jsx("li",{className:"py-5 first:pt-0 last:pb-0",children:e.jsx(ee,{active:l.isFinished&&d.isActive,completed:d.isCompleted,hasDownstreamStep:d.hasDownStreamStep})})]})})]})})}function re({completed:s,hasDownstreamStep:t,active:r}){const{data:n}=w({throwOnError:!0});return e.jsx(C,{active:r,hasDownstream:t,completed:s,title:"Connect to ZenML",children:e.jsxs("div",{className:"flex flex-col gap-5",children:[e.jsxs("div",{children:[e.jsx("p",{className:"mb-1 text-text-sm text-theme-text-secondary",children:"Install ZenML"}),e.jsx(c,{code:`pip install "zenml==${n?n.version:e.jsx(N,{className:"w-7"})}"`})]}),e.jsxs("div",{children:[e.jsx("p",{className:"mb-1 text-text-sm text-theme-text-secondary",children:"Login to your ZenML Server"}),e.jsx(c,{code:`zenml connect --url ${window.location.origin}`})]}),e.jsx(y,{link:"https://docs.zenml.io/user-guide/production-guide/deploying-zenml#connecting-to-a-deployed-zenml"})]})})}function ae({active:s,completed:t,hasDownstreamStep:r}){return e.jsx(C,{active:s,hasDownstream:r,completed:t,title:"Run your first pipeline",children:e.jsxs("div",{className:"flex flex-col gap-5",children:[e.jsxs("div",{children:[e.jsx("p",{className:"mb-1 text-text-sm text-theme-text-secondary",children:"Download the quickstart example to your local machine"}),e.jsx(c,{code:"git clone --depth 1 https://github.com/zenml-io/zenml.git && cd zenml/examples/quickstart"})]}),e.jsxs("div",{children:[e.jsx("p",{className:"mb-1 text-text-sm text-theme-text-secondary",children:"Initialize ZenML in the current directory"}),e.jsx(c,{code:"zenml init"})]}),e.jsxs("div",{children:[e.jsx("p",{className:"mb-1 text-text-sm text-theme-text-secondary",children:"Install the remaining requirements apart from ZenML"}),e.jsx(c,{code:"pip install -r requirements.txt"})]}),e.jsxs("div",{children:[e.jsxs("p",{className:"mb-1 text-text-sm text-theme-text-secondary",children:["Run the training pipeline.",e.jsx("br",{}),"Once it is running, your dashboard will show all the details of the associated run, models, and artifacts."]}),e.jsx(c,{code:"python run.py"})]}),e.jsxs(h,{className:"flex w-full flex-wrap items-center justify-between gap-y-1 p-2",children:[e.jsxs("div",{className:"flex items-center gap-[10px]",children:[e.jsx("div",{className:"flex h-7 w-7 items-center justify-center rounded-sm bg-teal-25",children:e.jsx(T,{className:"h-5 w-5 fill-teal-400"})}),e.jsx("p",{children:"Do you need help?"})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("a",{target:"_blank",rel:"noopener noreferrer",className:S({intent:"secondary",emphasis:"subtle",size:"md"}),href:"https://github.com/zenml-io/zenml/blob/main/examples/quickstart/README.md",children:"Open the Readme"}),e.jsx("a",{target:"_blank",rel:"noopener noreferrer",className:S({intent:"primary",emphasis:"subtle",size:"md"}),href:"https://docs.zenml.io/user-guide/starter-guide/create-an-ml-pipeline",children:"Browse our docs"})]})]})]})})}function ne(){const s=k({refetchInterval:5e3}),t=w(),[r,n]=a.useState(!0);if(s.isPending||t.isPending)return e.jsx(N,{className:"h-[200px] w-full"});if(s.isError||t.isError)return null;const l=M(t.data.deployment_type||"other"),{progress:i,itemsDone:m,totalItems:u,getItem:x}=L(s.data,l),o=x("device_verified"),d=x("pipeline_run");return e.jsxs(j,{open:r,onOpenChange:n,className:"rounded-md border border-theme-border-moderate bg-theme-surface-primary",children:[e.jsxs(p,{className:"flex w-full items-center justify-between gap-[10px] p-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[i>=100?e.jsx(b,{className:"h-7 w-7",tickClasses:"w-[28px] h-[28px]"}):e.jsx(E,{value:i,children:e.jsxs("span",{className:"absolute text-text-xs font-semibold",children:[m,"/",u]})}),e.jsxs("div",{className:"text-left",children:[e.jsxs("p",{className:"text-text-xl font-semibold",children:["Starter Setup"," ",e.jsx("span",{className:"text-text-md font-medium text-theme-text-secondary",children:"(2 min)"})]}),e.jsx("p",{className:"text-theme-text-secondary",children:"Follow these steps to make sure your client is connected and run your first MLOps pipeline with ZenML"})]})]}),e.jsx(v,{className:` ${r?"":"-rotate-90"} h-5 w-5 shrink-0 rounded-md fill-neutral-500 transition-transform duration-200 hover:bg-neutral-200`})]}),e.jsx(g,{className:"border-t border-theme-border-moderate p-5",children:e.jsxs("ul",{className:"divide-y divide-theme-border-moderate",children:[!l&&e.jsx("li",{className:"py-5 first:pt-0 last:pb-0",children:e.jsx(re,{active:o.isActive,completed:o.isCompleted,hasDownstreamStep:o.hasDownStreamStep})}),e.jsx("li",{className:"py-5 first:pt-0 last:pb-0",children:e.jsx(ae,{active:d.isActive,completed:d.isCompleted,hasDownstreamStep:d.hasDownStreamStep})})]})})]})}function we(){const{setTourState:s,tourState:{tourActive:t}}=O();return a.useEffect(()=>{t&&s(r=>({...r,run:!0,stepIndex:r.stepIndex}))},[t]),e.jsxs("div",{className:"layout-container grid grid-cols-4 gap-5 py-5",children:[e.jsxs("div",{className:"col-span-4 space-y-5 lg:col-span-3",children:[e.jsx(X,{}),e.jsx(ne,{}),e.jsx(te,{})]}),e.jsxs("div",{className:"col-span-4 space-y-5 lg:col-span-1",children:[e.jsx(K,{}),e.jsx(Q,{})]})]})}export{we as default};
1
+ import{r as a,j as e}from"./@radix-DnFH_oo1.js";import{B as h,d as Z,E as z,O as V,Q as f,aS as j,aD as R,a2 as p,a3 as g,r as D,f as I,aT as k,c as w,S as N,aU as L,ah as E,aV as _,aW as M,aP as S,aF as F}from"./index-Ci0nJ8EZ.js";import{S as O}from"./package-DYKZ5jKW.js";import{S as v}from"./chevron-down-Cwb-W_B_.js";import{T as b}from"./Tick-DJTCF0Re.js";import{S as P}from"./plus-Bc8eLSDM.js";import{C as c}from"./CodeSnippet-IxXNxUDa.js";import{H as y}from"./Helpbox-0pBpTwTm.js";import{F as B}from"./chevron-right-double-c9H46Kl8.js";import{L as A}from"./@react-router-APVeuk-U.js";import{H as T}from"./help-CwN931fX.js";import"./@tanstack-QbMbTrh5.js";import"./@reactflow-ytavUpwh.js";import"./copy-CaGlDsUy.js";const q=s=>a.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...s},a.createElement("path",{d:"M6.20195 14.6383C6.20195 15.7947 5.25733 16.7393 4.10098 16.7393C2.94463 16.7393 2 15.7947 2 14.6383C2 13.482 2.94463 12.5374 4.10098 12.5374H6.20195V14.6383Z",fill:"#E01E5A"}),a.createElement("path",{d:"M7.26056 14.6383C7.26056 13.482 8.20518 12.5374 9.36154 12.5374C10.5179 12.5374 11.4625 13.482 11.4625 14.6383V19.8989C11.4625 21.0553 10.5179 21.9999 9.36154 21.9999C8.20518 21.9999 7.26056 21.0553 7.26056 19.8989V14.6383Z",fill:"#E01E5A"}),a.createElement("path",{d:"M9.36154 6.20195C8.20518 6.20195 7.26056 5.25733 7.26056 4.10098C7.26056 2.94463 8.20518 2 9.36154 2C10.5179 2 11.4625 2.94463 11.4625 4.10098V6.20195H9.36154Z",fill:"#36C5F0"}),a.createElement("path",{d:"M9.36156 7.26062C10.5179 7.26062 11.4625 8.20525 11.4625 9.3616C11.4625 10.5179 10.5179 11.4626 9.36156 11.4626H4.10098C2.94463 11.4626 2 10.5179 2 9.3616C2 8.20525 2.94463 7.26062 4.10098 7.26062H9.36156Z",fill:"#36C5F0"}),a.createElement("path",{d:"M17.798 9.3616C17.798 8.20525 18.7426 7.26062 19.8989 7.26062C21.0553 7.26062 21.9999 8.20525 21.9999 9.3616C21.9999 10.5179 21.0553 11.4626 19.8989 11.4626H17.798V9.3616Z",fill:"#2EB67D"}),a.createElement("path",{d:"M16.7394 9.36156C16.7394 10.5179 15.7948 11.4625 14.6385 11.4625C13.4821 11.4625 12.5375 10.5179 12.5375 9.36156V4.10098C12.5375 2.94463 13.4821 2 14.6385 2C15.7948 2 16.7394 2.94463 16.7394 4.10098V9.36156Z",fill:"#2EB67D"}),a.createElement("path",{d:"M14.6384 17.7981C15.7947 17.7981 16.7394 18.7427 16.7394 19.8991C16.7394 21.0554 15.7947 22 14.6384 22C13.482 22 12.5374 21.0554 12.5374 19.8991V17.7981H14.6384Z",fill:"#ECB22E"}),a.createElement("path",{d:"M14.6385 16.7393C13.4821 16.7393 12.5375 15.7947 12.5375 14.6383C12.5375 13.482 13.4821 12.5374 14.6385 12.5374H19.899C21.0554 12.5374 22 13.482 22 14.6383C22 15.7947 21.0554 16.7393 19.899 16.7393H14.6385Z",fill:"#ECB22E"})),$=s=>a.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...s},a.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.75873 3H17.2413C18.0463 2.99999 18.7107 2.99998 19.2519 3.04419C19.8139 3.09012 20.3307 3.18868 20.816 3.43597C21.5686 3.81947 22.1806 4.43139 22.5641 5.18404C22.8027 5.65238 22.9028 6.14994 22.9508 6.68931C23.0043 6.8527 23.0136 7.02505 22.9819 7.18959C23 7.63971 23 8.16035 23 8.75868V15.2413C23 16.0463 23 16.7106 22.9558 17.2518C22.9099 17.8139 22.8113 18.3306 22.5641 18.816C22.1806 19.5686 21.5686 20.1805 20.816 20.564C20.3307 20.8113 19.8139 20.9099 19.2519 20.9558C18.7107 21 18.0463 21 17.2413 21H6.7587C5.95374 21 5.28939 21 4.7482 20.9558C4.1861 20.9099 3.6694 20.8113 3.18406 20.564C2.43141 20.1805 1.81949 19.5686 1.436 18.816C1.18871 18.3306 1.09014 17.8139 1.04422 17.2518C1 16.7106 1.00001 16.0463 1.00002 15.2413V8.7587C1.00001 8.16037 1.00001 7.63972 1.01816 7.1896C0.986405 7.02505 0.995778 6.85269 1.04924 6.6893C1.09723 6.14993 1.19737 5.65238 1.436 5.18404C1.81949 4.43139 2.43141 3.81947 3.18406 3.43597C3.6694 3.18868 4.1861 3.09012 4.7482 3.04419C5.28939 2.99998 5.95376 2.99999 6.75873 3ZM3.00002 8.92066V15.2C3.00002 16.0566 3.0008 16.6389 3.03758 17.089C3.0734 17.5274 3.13832 17.7516 3.21801 17.908C3.40976 18.2843 3.71572 18.5903 4.09204 18.782C4.24844 18.8617 4.47265 18.9266 4.91106 18.9624C5.36115 18.9992 5.94345 19 6.80002 19H17.2C18.0566 19 18.6389 18.9992 19.089 18.9624C19.5274 18.9266 19.7516 18.8617 19.908 18.782C20.2843 18.5903 20.5903 18.2843 20.782 17.908C20.8617 17.7516 20.9267 17.5274 20.9625 17.089C20.9992 16.6389 21 16.0566 21 15.2V8.92066L14.4086 13.5347C14.3698 13.5618 14.3313 13.5888 14.2932 13.6156C13.7486 13.998 13.2703 14.3338 12.7256 14.4696C12.2492 14.5884 11.7509 14.5884 11.2744 14.4696C10.7297 14.3338 10.2515 13.998 9.70683 13.6156C9.66872 13.5888 9.63029 13.5618 9.59148 13.5347L3.00002 8.92066ZM20.9173 6.53728L13.2616 11.8962C12.5327 12.4065 12.3783 12.495 12.2419 12.529C12.0831 12.5686 11.917 12.5686 11.7582 12.529C11.6218 12.495 11.4673 12.4065 10.7384 11.8962L3.08279 6.53728C3.11852 6.33012 3.165 6.19607 3.21801 6.09202C3.40976 5.7157 3.71572 5.40973 4.09204 5.21799C4.24844 5.1383 4.47265 5.07337 4.91106 5.03755C5.36115 5.00078 5.94345 5 6.80002 5H17.2C18.0566 5 18.6389 5.00078 19.089 5.03755C19.5274 5.07337 19.7516 5.1383 19.908 5.21799C20.2843 5.40973 20.5903 5.7157 20.782 6.09202C20.8351 6.19607 20.8815 6.33012 20.9173 6.53728Z"})),Q=s=>a.createElement("svg",{viewBox:"0 0 60 60",fill:"black",xmlns:"http://www.w3.org/2000/svg",...s},a.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M21.8968 2.5L35 2.5C35.663 2.5 36.2989 2.76339 36.7678 3.23224L51.7678 18.2322C52.2366 18.7011 52.5 19.337 52.5 20V43.1033C52.5 45.1157 52.5001 46.7766 52.3895 48.1296C52.2747 49.5348 52.0283 50.8266 51.4101 52.0399C50.4513 53.9215 48.9215 55.4513 47.0399 56.4101C45.8266 57.0283 44.5348 57.2747 43.1296 57.3895C41.7766 57.5001 40.1157 57.5 38.1033 57.5H21.8967C19.8843 57.5 18.2234 57.5001 16.8704 57.3895C15.4652 57.2747 14.1734 57.0283 12.9601 56.4101C11.0785 55.4513 9.54867 53.9215 8.58994 52.0399C7.97171 50.8266 7.7253 49.5348 7.61049 48.1296C7.49994 46.7766 7.49997 45.1157 7.5 43.1032V16.8968C7.49997 14.8843 7.49994 13.2234 7.61049 11.8704C7.7253 10.4652 7.97171 9.17344 8.58994 7.9601C9.54867 6.07848 11.0785 4.54867 12.9601 3.58994C14.1734 2.97171 15.4652 2.7253 16.8704 2.61049C18.2234 2.49994 19.8843 2.49997 21.8968 2.5ZM17.2776 7.59388C16.1816 7.68343 15.621 7.84575 15.2301 8.04497C14.2892 8.52434 13.5243 9.28924 13.045 10.23C12.8457 10.621 12.6834 11.1816 12.5939 12.2776C12.5019 13.4028 12.5 14.8586 12.5 17V43C12.5 45.1414 12.5019 46.5972 12.5939 47.7224C12.6834 48.8184 12.8457 49.3789 13.045 49.7699C13.5243 50.7108 14.2892 51.4757 15.2301 51.955C15.621 52.1543 16.1816 52.3166 17.2776 52.4061C18.4028 52.4981 19.8586 52.5 22 52.5H38C40.1415 52.5 41.5972 52.4981 42.7224 52.4061C43.8184 52.3166 44.379 52.1543 44.77 51.955C45.7108 51.4757 46.4757 50.7108 46.955 49.7699C47.1543 49.3789 47.3166 48.8184 47.4061 47.7224C47.4981 46.5972 47.5 45.1414 47.5 43V22.5002L38.9203 22.5002C38.2893 22.5003 37.6748 22.5003 37.1544 22.4578C36.5829 22.4111 35.9086 22.301 35.23 21.9552C34.2892 21.4758 33.5243 20.7109 33.045 19.7701C32.6992 19.0916 32.5891 18.4172 32.5424 17.8458C32.4998 17.3253 32.4999 16.7109 32.5 16.0799L32.5 7.5H22C19.8586 7.5 18.4028 7.50195 17.2776 7.59388ZM37.5 11.0355L43.9646 17.5002H39C38.2587 17.5002 37.8531 17.4982 37.5616 17.4744C37.55 17.4735 37.539 17.4725 37.5286 17.4716C37.5277 17.4612 37.5267 17.4502 37.5258 17.4386C37.5019 17.1471 37.5 16.7415 37.5 16.0002V11.0355ZM30.4548 28.7949C29.7284 28.6703 28.9814 28.8068 28.346 29.1803C27.7106 29.5537 27.2278 30.14 26.9833 30.8352C26.5251 32.1377 25.0978 32.8221 23.7953 32.3639C22.4929 31.9057 21.8084 30.4785 22.2666 29.176C22.903 27.3668 24.1592 25.8413 25.8126 24.8696C27.466 23.8979 29.4099 23.5427 31.3001 23.8669C33.1903 24.1911 34.9048 25.1738 36.1399 26.641C37.3746 28.1078 38.0506 29.9642 38.048 31.8815C38.0469 35.081 35.6802 37.1377 34.1244 38.1749C33.2702 38.7444 32.4338 39.1608 31.8208 39.4332C31.5108 39.571 31.2489 39.6759 31.0587 39.7484C30.9634 39.7847 30.8855 39.8131 30.8279 39.8336L30.7568 39.8585L30.7331 39.8666L30.7244 39.8695L30.7209 39.8707C30.7201 39.8709 30.7178 39.8717 29.9633 37.6083L30.7178 39.8717C29.4079 40.3083 27.9921 39.6004 27.5555 38.2906C27.1197 36.983 27.8243 35.5698 29.1298 35.1306L29.1528 35.1225C29.1775 35.1137 29.2204 35.0982 29.2788 35.076C29.396 35.0313 29.5732 34.9606 29.7901 34.8642C30.2311 34.6682 30.7999 34.382 31.3509 34.0147C32.6051 33.1785 33.048 32.4256 33.048 31.8792L33.048 31.8755C33.0491 31.1385 32.7894 30.4248 32.3147 29.861C31.8401 29.2972 31.1812 28.9195 30.4548 28.7949ZM27.5 45C27.5 43.6193 28.6193 42.5 30 42.5H30.025C31.4057 42.5 32.525 43.6193 32.525 45C32.525 46.3807 31.4057 47.5 30.025 47.5H30C28.6193 47.5 27.5 46.3807 27.5 45Z"})),U=s=>a.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...s},a.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.7587 1L14 1C14.2652 1 14.5196 1.10536 14.7071 1.29289L20.7071 7.29289C20.8946 7.48043 21 7.73478 21 8V17.2413C21 18.0463 21 18.7106 20.9558 19.2518C20.9099 19.8139 20.8113 20.3306 20.564 20.816C20.1805 21.5686 19.5686 22.1805 18.816 22.564C18.3306 22.8113 17.8139 22.9099 17.2518 22.9558C16.7106 23 16.0463 23 15.2413 23H8.75868C7.95372 23 7.28936 23 6.74817 22.9558C6.18608 22.9099 5.66937 22.8113 5.18404 22.564C4.43139 22.1805 3.81947 21.5686 3.43597 20.816C3.18868 20.3306 3.09012 19.8139 3.04419 19.2518C2.99998 18.7106 2.99999 18.0463 3 17.2413V6.7587C2.99999 5.95373 2.99998 5.28937 3.04419 4.74817C3.09012 4.18608 3.18868 3.66937 3.43597 3.18404C3.81947 2.43139 4.43139 1.81947 5.18404 1.43597C5.66937 1.18868 6.18608 1.09012 6.74817 1.04419C7.28937 0.999977 7.95373 0.999988 8.7587 1ZM6.91104 3.03755C6.47262 3.07337 6.24842 3.1383 6.09202 3.21799C5.7157 3.40973 5.40973 3.7157 5.21799 4.09202C5.1383 4.24842 5.07337 4.47262 5.03755 4.91104C5.00078 5.36113 5 5.94342 5 6.8V17.2C5 18.0566 5.00078 18.6389 5.03755 19.089C5.07337 19.5274 5.1383 19.7516 5.21799 19.908C5.40973 20.2843 5.7157 20.5903 6.09202 20.782C6.24842 20.8617 6.47262 20.9266 6.91104 20.9624C7.36113 20.9992 7.94342 21 8.8 21H15.2C16.0566 21 16.6389 20.9992 17.089 20.9624C17.5274 20.9266 17.7516 20.8617 17.908 20.782C18.2843 20.5903 18.5903 20.2843 18.782 19.908C18.8617 19.7516 18.9266 19.5274 18.9624 19.089C18.9992 18.6389 19 18.0566 19 17.2V9.00007L15.5681 9.00007C15.3157 9.0001 15.0699 9.00013 14.8618 8.98313C14.6332 8.96445 14.3634 8.92038 14.092 8.78208C13.7157 8.59034 13.4097 8.28438 13.218 7.90805C13.0797 7.63663 13.0356 7.3669 13.0169 7.1383C12.9999 6.93014 13 6.68434 13 6.43195L13 3H8.8C7.94342 3 7.36113 3.00078 6.91104 3.03755ZM15 4.41421L17.5859 7.00007H15.6C15.3035 7.00007 15.1412 6.99929 15.0246 6.98977C15.02 6.98939 15.0156 6.98901 15.0114 6.98862C15.0111 6.98447 15.0107 6.98008 15.0103 6.97544C15.0008 6.85885 15 6.6966 15 6.40007V4.41421ZM7 9C7 8.44772 7.44772 8 8 8H10C10.5523 8 11 8.44772 11 9C11 9.55229 10.5523 10 10 10H8C7.44772 10 7 9.55229 7 9ZM7 13C7 12.4477 7.44772 12 8 12H16C16.5523 12 17 12.4477 17 13C17 13.5523 16.5523 14 16 14H8C7.44772 14 7 13.5523 7 13ZM7 17C7 16.4477 7.44772 16 8 16H16C16.5523 16 17 16.4477 17 17C17 17.5523 16.5523 18 16 18H8C7.44772 18 7 17.5523 7 17Z"}));function W(){const s=[{text:"Connect with Slack",href:"https://zenml.io/slack",icon:e.jsx(q,{className:"h-5 w-5"})},{text:"Send us a message",href:"mailto:cloud@zenml.io",icon:e.jsx($,{className:"h-5 w-5 fill-primary-600"})}];return e.jsxs(h,{className:"flex w-full flex-col overflow-hidden",children:[e.jsx("div",{className:"flex h-[120px] items-center justify-center bg-primary-50 ",children:e.jsx(Z,{className:"h-[60px] w-[60px]"})}),e.jsxs("div",{className:"p-5",children:[e.jsx("p",{className:"mb-0.5 text-text-lg font-semibold",children:"Need support?"}),e.jsx("p",{className:"mb-2 text-theme-text-secondary",children:"Schedule a call with us, connect with our Slack community or send us a message."}),e.jsx("ul",{className:"space-y-1",children:s.map((t,r)=>e.jsx("li",{children:e.jsx(H,{href:t.href,text:t.text,icon:t.icon})},r))})]})]})}function K(){const s=[{text:"Browse our docs",href:"https://docs.zenml.io",icon:e.jsx(U,{className:"h-5 w-5 fill-primary-600"})},{text:"Discover projects",href:"https://github.com/zenml-io/zenml-projects",icon:e.jsx(O,{className:"h-5 w-5 fill-primary-600"})},{text:"Navigate our examples",href:"https://github.com/zenml-io/zenml/tree/main/examples/",icon:e.jsx(z,{className:"h-5 w-5 fill-primary-600"})},{text:"Read our blog",href:"https://zenml.io/blog",icon:e.jsx(V,{className:"h-5 w-5 fill-primary-600"})}];return e.jsxs(h,{className:"flex w-full flex-col overflow-hidden",children:[e.jsx("div",{className:"flex h-[120px] items-center justify-center bg-turquoise-25",children:e.jsx(Q,{className:"h-[60px] w-[60px] fill-teal-400"})}),e.jsxs("div",{className:"p-5",children:[e.jsx("p",{className:"mb-0.5 text-text-lg font-semibold",children:"Resources"}),e.jsx("p",{className:"mb-2 text-theme-text-secondary",children:"Need help? Follow our extensive documentation to get started."}),e.jsx("ul",{className:"space-y-1",children:s.map((t,r)=>e.jsx("li",{children:e.jsx(H,{href:t.href,text:t.text,icon:t.icon})},r))})]})]})}function H({href:s,text:t,icon:r}){return e.jsxs("a",{className:"inline-flex items-center gap-1 font-semibold text-primary-600 underline transition-all duration-200 hover:decoration-transparent",target:"_blank",href:s,rel:"noopener noreferrer",children:[r&&r,t]})}function Y(){return e.jsx(h,{className:"flex flex-col-reverse items-stretch overflow-hidden md:flex-row",children:e.jsxs("div",{className:"w-full px-7 py-5 md:w-2/3",children:[e.jsx("h2",{className:"text-display-xs font-semibold",children:"Welcome to ZenML"}),e.jsx("p",{className:"mt-2 text-text-lg text-theme-text-secondary",children:"You successfully installed the ZenML dashboard. Now you can get started with your new ZenML server."})]})})}function G({className:s,...t}){return e.jsx("div",{className:f("flex h-[28px] w-[28px] shrink-0 items-center justify-center rounded-rounded border-2 border-warning-300 bg-warning-50",s),...t,children:e.jsx(B,{className:"h-3 w-3 fill-warning-300"})})}function C({completed:s,title:t,children:r,hasDownstream:n,active:l}){const[i,m]=a.useState(l);return e.jsx(j,{open:i,onOpenChange:m,children:e.jsxs("div",{className:"flex w-full flex-col gap-3",children:[e.jsxs("div",{className:"flex w-full justify-between gap-2",children:[s?e.jsx(b,{className:"shrink-0"}):n?e.jsx(G,{}):e.jsx(R,{className:"shrink-0"}),e.jsx(p,{className:"w-full",children:e.jsx(J,{skipped:n,title:t,completed:s})}),e.jsx("div",{className:"flex items-center gap-1",children:e.jsx(p,{children:e.jsx(v,{className:` ${i?"":"-rotate-90"} h-5 w-5 shrink-0 rounded-md fill-neutral-500`})})})]}),r&&e.jsx(g,{children:e.jsxs("div",{className:"flex w-full items-center gap-2",children:[e.jsx("div",{className:"w-[28px] shrink-0"}),e.jsx("div",{className:"w-full min-w-0 flex-1",children:r})]})})]})})}function J({completed:s,title:t,skipped:r}){return e.jsx("div",{className:"flex w-full items-center justify-between gap-2",children:e.jsx("div",{className:"flex w-full items-center",children:e.jsx("div",{className:`font-semibold ${f({"text-theme-text-tertiary":s||r,"line-through decoration-theme-text-tertiary":s})}
2
+ `,children:t})})})}function X({completed:s,active:t,hasDownstreamStep:r}){const n=D.stacks.create.index+"?"+new URLSearchParams({origin:"onboarding"}).toString();return e.jsxs(C,{hasDownstream:r,completed:s,title:"Create a new stack",active:t,children:[e.jsxs("p",{className:"mb-3",children:["A stack configures how a pipeline is executed"," ",e.jsx(se,{href:"https://docs.zenml.io/user-guide/production-guide/understand-stacks"})]}),e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{children:"Connect your Cloud to deploy your ZenML pipelines in a remote stack."}),e.jsx(I,{className:"w-fit",size:"md",asChild:!0,children:e.jsxs(A,{className:"flex",to:n,children:[e.jsx(P,{className:"h-5 w-5 shrink-0 fill-white"}),"Register a stack"]})})]}),e.jsx(y,{link:"https://docs.zenml.io/user-guide/production-guide/understand-stacks"})]})]})}function ee({active:s,completed:t,hasDownstreamStep:r}){return e.jsx(C,{hasDownstream:r,completed:t,title:"Run the pipeline in the new stack",active:s,children:e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"Set the new stack"}),e.jsx(c,{wrap:!0,codeClasses:"whitespace-pre-wrap",code:"zenml stack set REMOTE_STACK"})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"Run the pipeline"}),e.jsx(c,{wrap:!0,codeClasses:"whitespace-pre-wrap",code:"python run.py"})]}),e.jsx("div",{children:e.jsx(y,{link:"https://docs.zenml.io/user-guide/production-guide/understand-stacks"})})]})})}function se({href:s}){return e.jsx("a",{href:s,rel:"noopener noreferrer",target:"_blank",className:"link text-text-sm font-semibold text-theme-text-brand",children:"Learn more"})}function te(){const s=k({refetchInterval:5e3}),t=w(),[r,n]=a.useState(!0);if(s.isPending||t.isPending)return e.jsx(N,{className:"h-[200px] w-full"});if(s.isError||t.isError)return null;const l=L(s.data,E(t.data.deployment_type||"other")),{progress:i,totalItems:m,itemsDone:u,getItem:x}=_(s.data),o=x("stack_with_remote_orchestrator_created"),d=x("pipeline_run_with_remote_orchestrator");return e.jsx(e.Fragment,{children:e.jsxs(j,{onOpenChange:n,open:r,className:f("rounded-md border border-theme-border-moderate bg-theme-surface-primary"),children:[e.jsxs(p,{className:"flex w-full items-center justify-between gap-[10px] p-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[i>=100?e.jsx(b,{className:"h-7 w-7",tickClasses:"w-[28px] h-[28px]"}):e.jsx(M,{value:i,children:e.jsxs("span",{className:"absolute text-text-xs font-semibold",children:[u,"/",m]})}),e.jsxs("div",{className:"text-left",children:[e.jsxs("p",{className:"text-text-md font-semibold",children:["Production Setup"," ",e.jsx("span",{className:"text-text-md font-medium text-theme-text-secondary",children:"(10 min)"})]}),e.jsx("p",{className:"text-theme-text-secondary",children:l.isFinished?"Level up your skills in a production setting.":e.jsx("span",{className:"text-primary-400",children:"Complete the Starter Setup to enable the production setup."})})]})]}),e.jsx(v,{className:` ${r?"":"-rotate-90"} h-5 w-5 shrink-0 rounded-md fill-neutral-500 transition-transform duration-200 hover:bg-neutral-200`})]}),e.jsx(g,{className:"border-t border-theme-border-moderate p-5",children:e.jsxs("ul",{className:"divide-y divide-theme-border-moderate",children:[e.jsx("li",{className:"py-5 first:pt-0 last:pb-0",children:e.jsx(X,{active:l.isFinished&&o.isActive,completed:o.isCompleted,hasDownstreamStep:o.hasDownStreamStep})}),e.jsx("li",{className:"py-5 first:pt-0 last:pb-0",children:e.jsx(ee,{active:l.isFinished&&d.isActive,completed:d.isCompleted,hasDownstreamStep:d.hasDownStreamStep})})]})})]})})}function re({completed:s,hasDownstreamStep:t,active:r}){const{data:n}=w({throwOnError:!0});return e.jsx(C,{active:r,hasDownstream:t,completed:s,title:"Connect to ZenML",children:e.jsxs("div",{className:"flex flex-col gap-5",children:[e.jsxs("div",{children:[e.jsx("p",{className:"mb-1 text-text-sm text-theme-text-secondary",children:"Install ZenML"}),e.jsx(c,{code:`pip install "zenml==${n?n.version:e.jsx(N,{className:"w-7"})}"`})]}),e.jsxs("div",{children:[e.jsx("p",{className:"mb-1 text-text-sm text-theme-text-secondary",children:"Login to your ZenML Server"}),e.jsx(c,{code:`zenml connect --url ${window.location.origin}`})]}),e.jsx(y,{link:"https://docs.zenml.io/user-guide/production-guide/deploying-zenml#connecting-to-a-deployed-zenml"})]})})}function ae({active:s,completed:t,hasDownstreamStep:r}){return e.jsx(C,{active:s,hasDownstream:r,completed:t,title:"Run your first pipeline",children:e.jsxs("div",{className:"flex flex-col gap-5",children:[e.jsxs("div",{children:[e.jsx("p",{className:"mb-1 text-text-sm text-theme-text-secondary",children:"Download the quickstart example to your local machine"}),e.jsx(c,{code:"git clone --depth 1 https://github.com/zenml-io/zenml.git && cd zenml/examples/quickstart"})]}),e.jsxs("div",{children:[e.jsx("p",{className:"mb-1 text-text-sm text-theme-text-secondary",children:"Initialize ZenML in the current directory"}),e.jsx(c,{code:"zenml init"})]}),e.jsxs("div",{children:[e.jsx("p",{className:"mb-1 text-text-sm text-theme-text-secondary",children:"Install the remaining requirements apart from ZenML"}),e.jsx(c,{code:"pip install -r requirements.txt"})]}),e.jsxs("div",{children:[e.jsxs("p",{className:"mb-1 text-text-sm text-theme-text-secondary",children:["Run the training pipeline.",e.jsx("br",{}),"Once it is running, your dashboard will show all the details of the associated run, models, and artifacts."]}),e.jsx(c,{code:"python run.py"})]}),e.jsxs(h,{className:"flex w-full flex-wrap items-center justify-between gap-y-1 p-2",children:[e.jsxs("div",{className:"flex items-center gap-[10px]",children:[e.jsx("div",{className:"flex h-7 w-7 items-center justify-center rounded-sm bg-teal-25",children:e.jsx(T,{className:"h-5 w-5 fill-teal-400"})}),e.jsx("p",{children:"Do you need help?"})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("a",{target:"_blank",rel:"noopener noreferrer",className:S({intent:"secondary",emphasis:"subtle",size:"md"}),href:"https://github.com/zenml-io/zenml/blob/main/examples/quickstart/README.md",children:"Open the Readme"}),e.jsx("a",{target:"_blank",rel:"noopener noreferrer",className:S({intent:"primary",emphasis:"subtle",size:"md"}),href:"https://docs.zenml.io/user-guide/starter-guide/create-an-ml-pipeline",children:"Browse our docs"})]})]})]})})}function ne(){const s=k({refetchInterval:5e3}),t=w(),[r,n]=a.useState(!0);if(s.isPending||t.isPending)return e.jsx(N,{className:"h-[200px] w-full"});if(s.isError||t.isError)return null;const l=E(t.data.deployment_type||"other"),{progress:i,itemsDone:m,totalItems:u,getItem:x}=L(s.data,l),o=x("device_verified"),d=x("pipeline_run");return e.jsxs(j,{open:r,onOpenChange:n,className:"rounded-md border border-theme-border-moderate bg-theme-surface-primary",children:[e.jsxs(p,{className:"flex w-full items-center justify-between gap-[10px] p-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[i>=100?e.jsx(b,{className:"h-7 w-7",tickClasses:"w-[28px] h-[28px]"}):e.jsx(M,{value:i,children:e.jsxs("span",{className:"absolute text-text-xs font-semibold",children:[m,"/",u]})}),e.jsxs("div",{className:"text-left",children:[e.jsxs("p",{className:"text-text-xl font-semibold",children:["Starter Setup"," ",e.jsx("span",{className:"text-text-md font-medium text-theme-text-secondary",children:"(2 min)"})]}),e.jsx("p",{className:"text-theme-text-secondary",children:"Follow these steps to make sure your client is connected and run your first MLOps pipeline with ZenML"})]})]}),e.jsx(v,{className:` ${r?"":"-rotate-90"} h-5 w-5 shrink-0 rounded-md fill-neutral-500 transition-transform duration-200 hover:bg-neutral-200`})]}),e.jsx(g,{className:"border-t border-theme-border-moderate p-5",children:e.jsxs("ul",{className:"divide-y divide-theme-border-moderate",children:[!l&&e.jsx("li",{className:"py-5 first:pt-0 last:pb-0",children:e.jsx(re,{active:o.isActive,completed:o.isCompleted,hasDownstreamStep:o.hasDownStreamStep})}),e.jsx("li",{className:"py-5 first:pt-0 last:pb-0",children:e.jsx(ae,{active:d.isActive,completed:d.isCompleted,hasDownstreamStep:d.hasDownStreamStep})})]})})]})}function we(){const{setTourState:s,tourState:{tourActive:t}}=F();return a.useEffect(()=>{t&&s(r=>({...r,run:!0,stepIndex:r.stepIndex}))},[t]),e.jsxs("div",{className:"layout-container grid grid-cols-4 gap-5 py-5",children:[e.jsxs("div",{className:"col-span-4 space-y-5 lg:col-span-3",children:[e.jsx(Y,{}),e.jsx(ne,{}),e.jsx(te,{})]}),e.jsxs("div",{className:"col-span-4 space-y-5 lg:col-span-1",children:[e.jsx(W,{}),e.jsx(K,{})]})]})}export{we as default};
@@ -1 +1 @@
1
- import{j as e,r as f}from"./@radix-DnFH_oo1.js";import{z as d,l as x,m as h,k as j,F as p,B as m,i as N,C as S,f as D,j as C,Z as P}from"./index-B9wVwe7u.js";import{c as E}from"./@react-router-APVeuk-U.js";import{E as _}from"./EmptyState-Cs3DEmso.js";import{a as k,b as F}from"./@tanstack-QbMbTrh5.js";import{o as T}from"./url-DwbuKk1b.js";import{E as I}from"./Error-DorJD_va.js";import{t as A}from"./zod-uFd1wBcd.js";import{u as V,C as z}from"./index.esm-BE1uqCX5.js";import{S as q}from"./check-circle-DOoS4yhF.js";import"./@reactflow-B6kq9fJZ.js";const B=d.object({device_id:d.string().optional(),user_code:d.string().optional()});function Y(){const[s]=E(),{device_id:t,user_code:i}=B.parse({device_id:s.get("device_id")||void 0,user_code:s.get("user_code")||void 0});return{user_code:i,device_id:t}}const K=d.object({trustDevice:d.boolean()});function L({deviceId:s,queryParams:t}){return["devices",s,t]}async function R({deviceId:s,queryParams:t}){const i=x(h.devices.detail(s)+"?"+T(t)),r=await j(i,{method:"GET",credentials:"include",headers:{"Content-Type":"application/json"}});if(!r.ok)throw new p({message:"Error while fetching Device details",status:r.status,statusText:r.statusText});return r.json()}function W(s,t){return k({queryKey:L(s),queryFn:async()=>R(s),...t})}function G({device:s}){var t,i,r,a,c,n;return e.jsx(m,{className:"w-full p-5",children:e.jsxs("dl",{className:"flex flex-col gap-5",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("dt",{children:"IP Address"}),e.jsx("dd",{children:(t=s.body)==null?void 0:t.ip_address})]}),((i=s.metadata)==null?void 0:i.city)&&((r=s.metadata)==null?void 0:r.country)&&e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("dt",{children:"Location"}),e.jsxs("dd",{children:[(a=s.metadata)==null?void 0:a.city,", ",(c=s.metadata)==null?void 0:c.country]})]}),e.jsxs("div",{className:"flex min-w-0 items-center justify-between",children:[e.jsx("dt",{children:"Hostname"}),e.jsx("dd",{className:"truncate",children:(n=s.body)==null?void 0:n.hostname})]})]})})}async function H({deviceId:s,payload:t}){const i=x(h.devices.verify(s)),r=await j(i,{method:"PUT",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){const a=await r.json().then(c=>c.detail).catch(()=>["","Failed to verify device."]);throw new p({status:r.status,statusText:r.statusText,message:a[1]||"Failed to verify device."})}return r.json()}function J(s){return F({mutationFn:async t=>H(t),...s})}function M({deviceId:s,user_code:t,setSuccess:i}){const r=f.useId(),{handleSubmit:a,formState:{isValid:c},control:n}=V({resolver:A(K),defaultValues:{trustDevice:!1}}),{toast:l}=N(),{mutate:v,isPending:y}=J({onSuccess:()=>{i(!0)},onError:o=>{o instanceof Error&&l({status:"error",emphasis:"subtle",icon:e.jsx(C,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:o.message,rounded:!0})}});function g(o){v({deviceId:s,payload:{user_code:t,trusted_device:o.trustDevice}})}return e.jsxs("form",{onSubmit:a(g),className:"flex flex-col gap-5",children:[e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(z,{control:n,name:"trustDevice",render:({field:{onChange:o,value:w}})=>e.jsx(S,{checked:w,onCheckedChange:b=>o(!!b),id:r})}),e.jsxs("label",{htmlFor:r,children:[e.jsx("p",{children:"Trust this device"}),e.jsx("p",{className:"text-theme-text-secondary",children:"We won't ask you again soon on this device."})]})]}),e.jsx(D,{disabled:y||!c,size:"md",className:"flex w-full justify-center",children:"Authorize this device"})]})}function O(){return e.jsxs(m,{className:"flex min-w-[540px] flex-col items-center justify-center space-y-7 px-7 py-9",children:[e.jsx(q,{className:"h-[120px] w-[120px] fill-theme-text-success"}),e.jsxs("div",{className:"text-center",children:[e.jsx("p",{className:"text-display-xs font-semibold",children:"You successfully added your device"}),e.jsx("p",{className:"text-theme-text-secondary",children:"You may close this screen and return to your CLI."})]})]})}function ce(){const{device_id:s,user_code:t}=Y(),[i,r]=f.useState(!1),{data:a,isPending:c,isError:n,error:l}=W({deviceId:s,queryParams:{user_code:t}},{enabled:!!s&&!!t});return!s||!t?e.jsx(_,{children:e.jsx("p",{children:"Invalid device verification link."})}):n?e.jsx(u,{children:e.jsx(I,{isAlertCircle:!0,err:l})}):c?e.jsx(u,{children:e.jsx(P,{})}):i?e.jsx(O,{}):e.jsx(u,{children:e.jsxs("div",{className:"w-full space-y-7",children:[e.jsxs("div",{className:"text-center",children:[e.jsx("h1",{className:"mb-0.5 text-display-xs font-semibold",children:"Authorize a new device"}),e.jsx("p",{className:"text-theme-text-secondary",children:"You are logging in from a new device."})]}),e.jsx(G,{device:a}),e.jsx(M,{setSuccess:r,deviceId:s,user_code:t})]})})}function u({children:s}){return e.jsx(m,{className:"flex w-full min-w-[540px] flex-col items-center justify-center gap-5 p-7",children:s})}export{ce as default};
1
+ import{j as e,r as f}from"./@radix-DnFH_oo1.js";import{z as d,l as x,m as h,k as j,F as p,B as m,i as N,C as S,f as D,j as C,U as P}from"./index-Ci0nJ8EZ.js";import{c as E}from"./@react-router-APVeuk-U.js";import{E as _}from"./EmptyState-Cs3DEmso.js";import{a as k,b as F}from"./@tanstack-QbMbTrh5.js";import{o as T}from"./url-CbAPzsmT.js";import{E as I}from"./Error-BhwdmqK7.js";import{t as A}from"./zod-uFd1wBcd.js";import{u as V,C as z}from"./index.esm-BE1uqCX5.js";import{S as q}from"./check-circle-DOoS4yhF.js";import"./@reactflow-ytavUpwh.js";const B=d.object({device_id:d.string().optional(),user_code:d.string().optional()});function Y(){const[s]=E(),{device_id:t,user_code:i}=B.parse({device_id:s.get("device_id")||void 0,user_code:s.get("user_code")||void 0});return{user_code:i,device_id:t}}const K=d.object({trustDevice:d.boolean()});function L({deviceId:s,queryParams:t}){return["devices",s,t]}async function R({deviceId:s,queryParams:t}){const i=x(h.devices.detail(s)+"?"+T(t)),r=await j(i,{method:"GET",credentials:"include",headers:{"Content-Type":"application/json"}});if(!r.ok)throw new p({message:"Error while fetching Device details",status:r.status,statusText:r.statusText});return r.json()}function U(s,t){return k({queryKey:L(s),queryFn:async()=>R(s),...t})}function W({device:s}){var t,i,r,a,c,n;return e.jsx(m,{className:"w-full p-5",children:e.jsxs("dl",{className:"flex flex-col gap-5",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("dt",{children:"IP Address"}),e.jsx("dd",{children:(t=s.body)==null?void 0:t.ip_address})]}),((i=s.metadata)==null?void 0:i.city)&&((r=s.metadata)==null?void 0:r.country)&&e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("dt",{children:"Location"}),e.jsxs("dd",{children:[(a=s.metadata)==null?void 0:a.city,", ",(c=s.metadata)==null?void 0:c.country]})]}),e.jsxs("div",{className:"flex min-w-0 items-center justify-between",children:[e.jsx("dt",{children:"Hostname"}),e.jsx("dd",{className:"truncate",children:(n=s.body)==null?void 0:n.hostname})]})]})})}async function G({deviceId:s,payload:t}){const i=x(h.devices.verify(s)),r=await j(i,{method:"PUT",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){const a=await r.json().then(c=>c.detail).catch(()=>["","Failed to verify device."]);throw new p({status:r.status,statusText:r.statusText,message:a[1]||"Failed to verify device."})}return r.json()}function H(s){return F({mutationFn:async t=>G(t),...s})}function J({deviceId:s,user_code:t,setSuccess:i}){const r=f.useId(),{handleSubmit:a,formState:{isValid:c},control:n}=V({resolver:A(K),defaultValues:{trustDevice:!1}}),{toast:l}=N(),{mutate:v,isPending:y}=H({onSuccess:()=>{i(!0)},onError:o=>{o instanceof Error&&l({status:"error",emphasis:"subtle",icon:e.jsx(C,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:o.message,rounded:!0})}});function g(o){v({deviceId:s,payload:{user_code:t,trusted_device:o.trustDevice}})}return e.jsxs("form",{onSubmit:a(g),className:"flex flex-col gap-5",children:[e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(z,{control:n,name:"trustDevice",render:({field:{onChange:o,value:w}})=>e.jsx(S,{checked:w,onCheckedChange:b=>o(!!b),id:r})}),e.jsxs("label",{htmlFor:r,children:[e.jsx("p",{children:"Trust this device"}),e.jsx("p",{className:"text-theme-text-secondary",children:"We won't ask you again soon on this device."})]})]}),e.jsx(D,{disabled:y||!c,size:"md",className:"flex w-full justify-center",children:"Authorize this device"})]})}function M(){return e.jsxs(m,{className:"flex min-w-[540px] flex-col items-center justify-center space-y-7 px-7 py-9",children:[e.jsx(q,{className:"h-[120px] w-[120px] fill-theme-text-success"}),e.jsxs("div",{className:"text-center",children:[e.jsx("p",{className:"text-display-xs font-semibold",children:"You successfully added your device"}),e.jsx("p",{className:"text-theme-text-secondary",children:"You may close this screen and return to your CLI."})]})]})}function ce(){const{device_id:s,user_code:t}=Y(),[i,r]=f.useState(!1),{data:a,isPending:c,isError:n,error:l}=U({deviceId:s,queryParams:{user_code:t}},{enabled:!!s&&!!t});return!s||!t?e.jsx(_,{children:e.jsx("p",{children:"Invalid device verification link."})}):n?e.jsx(u,{children:e.jsx(I,{isAlertCircle:!0,err:l})}):c?e.jsx(u,{children:e.jsx(P,{})}):i?e.jsx(M,{}):e.jsx(u,{children:e.jsxs("div",{className:"w-full space-y-7",children:[e.jsxs("div",{className:"text-center",children:[e.jsx("h1",{className:"mb-0.5 text-display-xs font-semibold",children:"Authorize a new device"}),e.jsx("p",{className:"text-theme-text-secondary",children:"You are logging in from a new device."})]}),e.jsx(W,{device:a}),e.jsx(J,{setSuccess:r,deviceId:s,user_code:t})]})})}function u({children:s}){return e.jsx(m,{className:"flex w-full min-w-[540px] flex-col items-center justify-center gap-5 p-7",children:s})}export{ce as default};
@@ -0,0 +1 @@
1
+ import{r as l,j as e}from"./@radix-DnFH_oo1.js";import{u as m,S as I,C as x,P as f,W as B,L as M}from"./ProviderRadio-D3FuCHf3.js";import{p as C,s as A,c as k}from"./persist-CfJMar_k.js";import{I as b}from"./Infobox-BTK_EUKT.js";import{W as v,H as g,B as y,S as N}from"./WizardFooter-Cv9ApYWU.js";import{t as z}from"./zod-uFd1wBcd.js";import{f as u,aK as F,S as P,r as Z,z as _}from"./index-Ci0nJ8EZ.js";import{u as T,F as L,b as W}from"./index.esm-BE1uqCX5.js";import{R as V,a as H,E as O,C as $}from"./Partials-QLOZw624.js";import{a as G,d as Q}from"./persist-BxIR2XZs.js";import{S as Y}from"./link-external-BT2L8hAQ.js";import{S as K}from"./logs-GiDJXbLS.js";import{C as j}from"./CodeSnippet-IxXNxUDa.js";import{N as w}from"./NumberBox-CrN0_kqI.js";import{s as E}from"./sharedSchema-vub0rii3.js";import{a as D}from"./@tanstack-QbMbTrh5.js";import{b as q}from"./@react-router-APVeuk-U.js";import{C as h}from"./ProviderIcon-C16CCIN4.js";import"./Tick-DJTCF0Re.js";import"./@reactflow-ytavUpwh.js";import"./package-DYKZ5jKW.js";import"./ComponentBadge-gKR1OIwG.js";import"./stack-detail-query-DQcyzG-2.js";import"./layout-Dru15_XR.js";import"./rocket-SESCGQXm.js";import"./copy-CaGlDsUy.js";import"./url-CbAPzsmT.js";import"./gcp-Dj6ntk0L.js";const R=l.createContext(null);function J({children:r}){const{setCurrentStep:t}=m(),[i,s]=l.useState({}),[o,c]=l.useState("");return l.useEffect(()=>{const{success:a,data:n}=C();if(a){t(3),s({location:n.location,provider:n.provider,stackName:n.stackName}),c(n.timestamp);return}t(1)},[C]),e.jsx(R.Provider,{value:{data:i,setData:s,timestamp:o,setTimestamp:c},children:r})}function d(){const r=l.useContext(R);if(r===null)throw new Error("useCreateTerraformContext must be used within an CreateTerraformContext");return r}function U(){const{setData:r,data:t,setTimestamp:i}=d(),{setCurrentStep:s}=m(),o=T({resolver:z(G,{async:!0}),defaultValues:{region:t.location||"",stackName:t.stackName||""}});function c(a){const n=new Date().toISOString().slice(0,-1);A({location:a.region,provider:t.provider||"aws",stackName:a.stackName,timestamp:n}),i(n),r(p=>({...p,location:a.region,stackName:a.stackName})),s(p=>p+1)}return e.jsx(L,{...o,children:e.jsxs(v,{children:[e.jsx(g,{children:"Review Stack Configuration"}),e.jsx(y,{children:e.jsxs("div",{className:"space-y-5",children:[e.jsxs(b,{className:"text-text-sm",children:[e.jsx("p",{className:"font-semibold",children:"Important"}),e.jsx("p",{children:"This will create new resources in your account. Ensure you have the necessary permissions and are aware of any potential costs."})]}),e.jsxs("form",{id:"configuration-form",onSubmit:o.handleSubmit(c),className:"space-y-5",children:[e.jsx(V,{provider:t.provider||"aws"}),e.jsx(I,{})]}),e.jsx(H,{provider:t.provider||"aws"}),e.jsx(O,{provider:t.provider||"aws"})]})}),e.jsx(N,{children:e.jsx(X,{})})]})})}function X(){const{formState:{isSubmitting:r}}=W();return e.jsx(u,{disabled:r,form:"configuration-form",size:"md",children:"Next"})}function ee(){return e.jsxs("div",{className:"space-y-5",children:[e.jsx("div",{className:"space-y-1",children:e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(w,{children:"3"}),e.jsx("span",{className:"text-text-lg font-semibold",children:"Run the following commands"})]})}),e.jsxs("div",{children:[e.jsx("p",{className:"mb-1 text-text-sm text-theme-text-secondary",children:"Initialize the Terraform configuration."}),e.jsx(j,{code:"terraform init --upgrade"})]}),e.jsxs("div",{children:[e.jsx("p",{className:"mb-1 text-text-sm text-theme-text-secondary",children:"Run terraform apply to deploy the ZenML stack to Azure."}),e.jsx(j,{code:"terraform apply"})]})]})}function re(){const{data:r,timestamp:t}=d(),{setCurrentStep:i}=m(),s=D({...E.stackDeploymentStack({provider:r.provider,stack_name:r.stackName,date_start:t,terraform:!0}),refetchInterval:5e3,throwOnError:!0});return l.useEffect(()=>{s.data&&(k(),i(o=>o+1))},[s.data]),{fullstackDeployment:s,data:r}}function te(){const{fullstackDeployment:r,data:t}=re();return r.isError?e.jsx("p",{children:"Error fetching Terraform Command"}):r.isPending?e.jsx(P,{className:"h-[200px] w-full"}):e.jsx(ae,{provider:t.provider||"aws",stackName:t.stackName||""})}function se(){return e.jsxs("section",{className:"space-y-5 border-t border-theme-border-moderate pt-5",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"flex items-center gap-1 text-text-lg font-semibold",children:[e.jsx(F,{className:"h-5 w-5 fill-primary-400"}),"Waiting for your Terraform script to finish..."]}),e.jsx("p",{className:"text-theme-text-secondary",children:"We are detecting whether your Terraform script ran through successfully. Once the terraform script has finished successfully, come back to check your brand new stack and components ready."})]}),e.jsx(te,{})]})}function ae({stackName:r,provider:t}){return e.jsxs("div",{className:"relative overflow-hidden rounded-md",children:[e.jsx("div",{className:"absolute z-50 h-full w-full bg-neutral-50/50"}),e.jsx($,{type:t,componentProps:{isLoading:!0,isSuccess:!1,stackName:r}})]})}function oe(){return e.jsxs(v,{children:[e.jsx(g,{children:"Deploy ZenML Stack"}),e.jsx(y,{children:e.jsxs("section",{className:"space-y-5",children:[e.jsx(ne,{}),e.jsx(de,{}),e.jsx(me,{}),e.jsx(ee,{}),e.jsx(se,{})]})}),e.jsxs(N,{displayCancel:!1,children:[e.jsx(pe,{}),e.jsx(ie,{})]})]})}function ie(){return e.jsx(u,{disabled:!0,size:"md",children:"Next"})}function ne(){return e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"flex items-center gap-1 text-text-lg font-semibold",children:[e.jsx(K,{className:"h-5 w-5 fill-primary-400"}),"Configuration"]}),e.jsx("p",{className:"text-theme-text-secondary",children:"Follow the steps to deploy your Stack."})]})}function ce(r){switch(r){case"aws":return"https://aws.amazon.com/cli/";case"azure":return"https://learn.microsoft.com/en-us/cli/azure/";case"gcp":return"https://cloud.google.com/sdk/gcloud"}}function le(r){switch(r){case"aws":return"AWS";case"gcp":return"gcloud";case"azure":return"Azure"}}function de(){const{data:r}=d();return e.jsx("div",{className:"space-y-5",children:e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(w,{children:"1"}),e.jsxs("span",{className:"text-text-lg font-semibold",children:["Login locally with the ",le(r.provider||"aws")," CLI"]})]}),e.jsx("p",{className:"text-theme-text-secondary",children:"Make sure you are logged in locally with an account with appropriate permissions."}),e.jsx(u,{asChild:!0,className:"w-fit gap-1",intent:"secondary",emphasis:"subtle",size:"md",children:e.jsxs("a",{rel:"noopener noreferrer",target:"_blank",href:ce(r.provider||"aws"),children:[e.jsx("span",{children:"Learn More"}),e.jsx(Y,{className:"h-5 w-5 shrink-0 fill-primary-900"})]})})]})})}function me(){const{data:r}=d();return e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(w,{children:"2"}),e.jsx("span",{className:"text-text-lg font-semibold",children:"Create a file with the following configuration"})]}),e.jsxs("p",{className:"text-theme-text-secondary",children:["Create a file named ",e.jsx("code",{className:"font-mono text-primary-400",children:"main.tf"})," in the Cloud Shell and copy and paste the Terraform configuration below into it."]})]}),r.provider==="gcp"&&e.jsxs(b,{intent:"warning",children:["Please replace ",e.jsx("code",{className:"font-mono text-primary-400",children:"project_id"})," in the following Terraform script with your own one."]}),e.jsx(ue,{})]})}function ue(){const{data:r}=d(),t=D({...E.stackDeploymentConfig({provider:r.provider||"aws",terraform:!0,stack_name:r.stackName,location:r.location}),enabled:!!r.stackName});return t.isError?null:t.isPending?e.jsx(P,{className:"h-[200px] w-full"}):e.jsx(j,{fullWidth:!0,highlightCode:!0,codeClasses:"whitespace-pre-wrap word-break-all",wrap:!0,code:t.data.configuration||""})}function pe(){const r=q();function t(){k(),r(Z.stacks.create.index)}return e.jsx(u,{onClick:()=>t(),intent:"secondary",size:"md",children:"Cancel"})}const xe=_.object({provider:Q});function fe(){const{setData:r,data:t}=d(),{setCurrentStep:i}=m(),s=T({resolver:z(xe),defaultValues:{provider:t.provider||void 0}});function o(c){r(a=>({...a,provider:c.provider})),i(a=>a+1)}return e.jsx(L,{...s,children:e.jsxs(v,{children:[e.jsx(g,{children:"New Cloud infrastructure"}),e.jsx(y,{children:e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-lg font-semibold",children:"Select a Cloud Provider"}),e.jsx("p",{className:"text-theme-text-secondary",children:"Select the cloud provider where your want to create your infrastructure. You will be able to remove the ZenML stack at any time."})]}),e.jsxs("form",{id:"provider-form",onSubmit:s.handleSubmit(o),className:"grid grid-cols-1 gap-3 xl:grid-cols-3",children:[e.jsx(x,{id:"aws-provider",...s.register("provider"),value:"aws",children:e.jsx(f,{icon:e.jsx(h,{provider:"aws",className:"h-6 w-6 shrink-0"}),title:"AWS",subtitle:"Connect your existing S3, ECR, and Sagemaker components to ZenML"})}),e.jsx(x,{id:"gcp-provider",...s.register("provider"),value:"gcp",children:e.jsx(f,{icon:e.jsx(h,{provider:"gcp",className:"h-6 w-6 shrink-0"}),title:"GCP",subtitle:"Link your GCS, Artifact Registry, and Vertex AI components to ZenML"})}),e.jsx(x,{id:"azure-provider",...s.register("provider"),value:"azure",children:e.jsx(f,{icon:e.jsx(h,{provider:"azure",className:"h-6 w-6 shrink-0"}),title:"Azure",subtitle:"Integrate ZenML with your Blob Storage, Container Registry, and Azure ML"})})]})]})}),e.jsx(N,{children:e.jsx(he,{})})]})})}function he(){const{formState:{isValid:r}}=W();return e.jsx(u,{form:"provider-form",disabled:!r,size:"md",children:"Next"})}function je(){const{currentStep:r}=m();if(r===1)return e.jsx(fe,{});if(r===2)return e.jsx(U,{});if(r===3)return e.jsx(oe,{})}const S=["Infrastructure Type","Cloud Provider","Review Configuration","Deploy Stack"];function Ge(){return e.jsx(B,{maxSteps:S.length,initialStep:0,children:e.jsx(J,{children:e.jsxs("section",{className:"layout-container flex flex-col gap-5 py-5 xl:flex-row",children:[e.jsx(M,{entries:S}),e.jsx("div",{className:"w-full overflow-y-hidden",children:e.jsx(je,{})})]})})})}export{Ge as default};
@@ -1 +1 @@
1
- import{r as l,j as e}from"./@radix-DnFH_oo1.js";import{u as d,S as h,a as j,b as y}from"./form-schemas-Bap0f854.js";import{E as w}from"./EmptyState-Cs3DEmso.js";import{A,I as U,P as b,U as P,S as g}from"./UsageReason-CCnzmwS8.js";import{c as _}from"./@react-router-APVeuk-U.js";import{k as F,F as C,l as k,m as E,h as N,i as H,j as I}from"./index-B9wVwe7u.js";import{b as M}from"./@tanstack-QbMbTrh5.js";import{u as D}from"./login-mutation-DwxUz8VA.js";import{S as R}from"./SetPassword-B-0a8UCj.js";import"./check-circle-DOoS4yhF.js";import"./url-DwbuKk1b.js";import"./UpdatePasswordSchemas-C6Zb7ASL.js";import"./zod-uFd1wBcd.js";import"./index.esm-BE1uqCX5.js";import"./gcp-Dj6ntk0L.js";import"./kubernetes-BjbR6D-1.js";import"./rocket-SESCGQXm.js";import"./@reactflow-B6kq9fJZ.js";import"./PasswordChecker-DE71J_3F.js";const S=l.createContext(null);function T({children:t,initialUser:r}){const[a,s]=l.useState(r||{});return e.jsx(S.Provider,{value:{newUser:a,setNewUser:s},children:t})}function p(){const t=l.useContext(S);if(t===null)throw new Error("useActivationContext must be used within an ActivationProvider");return t}function L(){const{setSurveyStep:t}=d(),{setNewUser:r,newUser:a}=p();function s({fullName:n,getUpdates:o,email:u}){r(c=>({...c,...u?{email:u}:{email:null},full_name:n,email_opted_in:o})),t(c=>c+1)}return e.jsx(A,{email:a.email,fullName:a.full_name,submitHandler:s})}async function z({userId:t,body:r}){const a=k(E.users.activate(t)),s=await F(a,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!s.ok){const n=await s.json().then(o=>Array.isArray(o.detail)?o.detail[1]:o.detail).catch(()=>"Failed to update activate user");throw new C({status:s.status,statusText:s.statusText,message:n})}return s.json()}function J(t){return M({mutationFn:async r=>z(r),...t})}function O({userId:t,setUsername:r}){const{newUser:a}=p(),{setAuthState:s}=N(),{setSurveyStep:n}=d(),{mutate:o}=D({onSuccess:()=>{s("true"),n(i=>i+1)}}),{toast:u}=H(),{mutate:c}=J({onSuccess:async i=>{r(i.name),o({username:i.name,password:a.password??void 0})},onError:i=>{i instanceof Error&&u({status:"error",emphasis:"subtle",icon:e.jsx(I,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:i.message,rounded:!0})}});function m({other:i,providers:f,otherVal:x}){const v={infra_providers:i?[...f,x]:f,finished_onboarding_survey:!0};c({userId:t,body:{...a,user_metadata:{...a.user_metadata,...v}}})}return e.jsx(U,{submitHandler:m})}function W(){const{setSurveyStep:t}=d(),{setNewUser:r}=p();function a({newPassword:s}){r(n=>({...n,password:s})),t(n=>n+1)}return e.jsx(R,{submitHandler:a})}function Y(){const{setSurveyStep:t}=d(),{setNewUser:r}=p();function a({primaryUse:s}){const n={primary_use:s};r(o=>({...o,user_metadata:{...o.user_metadata,...n}})),t(o=>o+1)}return e.jsx(b,{submitHandler:a})}function Z(){const{setSurveyStep:t}=d(),{setNewUser:r}=p();function a({usageReason:s,comparison_tools:n,otherTool:o,otherToolVal:u}){const c={usage_reason:s,...!!n&&{comparing_tools:o&&u?[...n,u]:n}};r(m=>({...m,user_metadata:{...m.user_metadata,...c}})),t(m=>m+1)}return e.jsx(P,{submitHandler:a})}function q(){const{surveyStep:t}=d(),[r]=_(),[a,s]=l.useState(""),n=r.get("user"),o=r.get("token");return!n||!o?e.jsx(w,{children:e.jsx("p",{children:"Invalid activation link."})}):e.jsx(e.Fragment,{children:e.jsxs(T,{initialUser:{activation_token:o},children:[e.jsx(h,{stepAmount:6}),t===1&&e.jsx(L,{}),t===2&&e.jsx(W,{}),t===3&&e.jsx(Y,{}),t===4&&e.jsx(Z,{}),t===5&&e.jsx(O,{setUsername:s,userId:n}),t===6&&e.jsx(g,{}),t===7&&e.jsx(j,{subHeader:"Your created your ZenML account",username:a})]})})}function lt(){return e.jsx("div",{children:e.jsx(y,{children:e.jsx(q,{})})})}export{lt as default};
1
+ import{r as l,j as e}from"./@radix-DnFH_oo1.js";import{u as d,S as h,a as j,b as y}from"./form-schemas-BKXwSDK2.js";import{E as w}from"./EmptyState-Cs3DEmso.js";import{A,I as U,P as b,U as P,S as g}from"./UsageReason-CKw0juLF.js";import{c as _}from"./@react-router-APVeuk-U.js";import{k as F,F as C,l as k,m as E,h as N,i as H,j as I}from"./index-Ci0nJ8EZ.js";import{b as M}from"./@tanstack-QbMbTrh5.js";import{u as D}from"./login-mutation-ax6iL2Mb.js";import{S as R}from"./SetPassword-DuIC65H9.js";import"./check-circle-DOoS4yhF.js";import"./url-CbAPzsmT.js";import"./UpdatePasswordSchemas-CUm-DMpw.js";import"./zod-uFd1wBcd.js";import"./index.esm-BE1uqCX5.js";import"./gcp-Dj6ntk0L.js";import"./kubernetes-BjbR6D-1.js";import"./rocket-SESCGQXm.js";import"./@reactflow-ytavUpwh.js";import"./PasswordChecker-DE71J_3F.js";const S=l.createContext(null);function T({children:t,initialUser:r}){const[a,s]=l.useState(r||{});return e.jsx(S.Provider,{value:{newUser:a,setNewUser:s},children:t})}function p(){const t=l.useContext(S);if(t===null)throw new Error("useActivationContext must be used within an ActivationProvider");return t}function L(){const{setSurveyStep:t}=d(),{setNewUser:r,newUser:a}=p();function s({fullName:n,getUpdates:o,email:u}){r(c=>({...c,...u?{email:u}:{email:null},full_name:n,email_opted_in:o})),t(c=>c+1)}return e.jsx(A,{email:a.email,fullName:a.full_name,submitHandler:s})}async function z({userId:t,body:r}){const a=k(E.users.activate(t)),s=await F(a,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!s.ok){const n=await s.json().then(o=>Array.isArray(o.detail)?o.detail[1]:o.detail).catch(()=>"Failed to update activate user");throw new C({status:s.status,statusText:s.statusText,message:n})}return s.json()}function J(t){return M({mutationFn:async r=>z(r),...t})}function O({userId:t,setUsername:r}){const{newUser:a}=p(),{setAuthState:s}=N(),{setSurveyStep:n}=d(),{mutate:o}=D({onSuccess:()=>{s("true"),n(i=>i+1)}}),{toast:u}=H(),{mutate:c}=J({onSuccess:async i=>{r(i.name),o({username:i.name,password:a.password??void 0})},onError:i=>{i instanceof Error&&u({status:"error",emphasis:"subtle",icon:e.jsx(I,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:i.message,rounded:!0})}});function m({other:i,providers:f,otherVal:x}){const v={infra_providers:i?[...f,x]:f,finished_onboarding_survey:!0};c({userId:t,body:{...a,user_metadata:{...a.user_metadata,...v}}})}return e.jsx(U,{submitHandler:m})}function W(){const{setSurveyStep:t}=d(),{setNewUser:r}=p();function a({newPassword:s}){r(n=>({...n,password:s})),t(n=>n+1)}return e.jsx(R,{submitHandler:a})}function Y(){const{setSurveyStep:t}=d(),{setNewUser:r}=p();function a({primaryUse:s}){const n={primary_use:s};r(o=>({...o,user_metadata:{...o.user_metadata,...n}})),t(o=>o+1)}return e.jsx(b,{submitHandler:a})}function Z(){const{setSurveyStep:t}=d(),{setNewUser:r}=p();function a({usageReason:s,comparison_tools:n,otherTool:o,otherToolVal:u}){const c={usage_reason:s,...!!n&&{comparing_tools:o&&u?[...n,u]:n}};r(m=>({...m,user_metadata:{...m.user_metadata,...c}})),t(m=>m+1)}return e.jsx(P,{submitHandler:a})}function q(){const{surveyStep:t}=d(),[r]=_(),[a,s]=l.useState(""),n=r.get("user"),o=r.get("token");return!n||!o?e.jsx(w,{children:e.jsx("p",{children:"Invalid activation link."})}):e.jsx(e.Fragment,{children:e.jsxs(T,{initialUser:{activation_token:o},children:[e.jsx(h,{stepAmount:6}),t===1&&e.jsx(L,{}),t===2&&e.jsx(W,{}),t===3&&e.jsx(Y,{}),t===4&&e.jsx(Z,{}),t===5&&e.jsx(O,{setUsername:s,userId:n}),t===6&&e.jsx(g,{}),t===7&&e.jsx(j,{subHeader:"Your created your ZenML account",username:a})]})})}function lt(){return e.jsx("div",{children:e.jsx(y,{children:e.jsx(q,{})})})}export{lt as default};
@@ -0,0 +1,3 @@
1
+ import{r as x,j as e}from"./@radix-DnFH_oo1.js";import{l as D,m as C,k as E,F as T,a7 as K,a8 as H,f as h,a9 as F,aa as P,ab as O,i as G,I as j,ap as A,aq as V,ar as U,n as J,D as W,q as X,s as Y,r as N,au as Z,z as f,av as ee,G as se,S,N as te,B as ae}from"./index-Ci0nJ8EZ.js";import{S as re,P as ne}from"./SearchField-BzmfxS0L.js";import{S as ie,s as le,E as ce,a as oe,b as de}from"./SecretTooltip-BaMwHF-Q.js";import{b as I,c as q,a as w}from"./@tanstack-QbMbTrh5.js";import{w as me}from"./index-D-mtoBj3.js";import{S as ue}from"./plus-Bc8eLSDM.js";import{S as L}from"./trash-DUWZWzse.js";import{t as xe}from"./zod-uFd1wBcd.js";import{u as he,a as pe,C as g}from"./index.esm-BE1uqCX5.js";import{S as fe}from"./Lock-CmIn0szs.js";import{C as v}from"./CopyButton-DcFHidFJ.js";import{D as je}from"./DisplayDate-DkCy54Bp.js";import{I as ge}from"./InlineAvatar-CA3DFMcM.js";import{L as b,c as ye}from"./@react-router-APVeuk-U.js";import{S as Ne}from"./dots-horizontal-C6K59vUm.js";import{D as k,S as Se}from"./DialogItem-Cd3HqST4.js";import"./@reactflow-ytavUpwh.js";import"./chevron-right-double-c9H46Kl8.js";import"./url-CbAPzsmT.js";import"./index-5GJ5ysEZ.js";import"./CodeSnippet-IxXNxUDa.js";import"./copy-CaGlDsUy.js";async function we(s){const t=D(C.secrets.add(s.workspace)),a=await E(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)});if(!a.ok){const r=await a.json().then(n=>n.detail).catch(()=>"Failed to create Secret");throw new T({status:a.status,statusText:a.statusText,message:r})}return a.json()}function ve(s){return I({mutationFn:async t=>we(t),...s})}function be({id:s,workspace:t}){const[a,r]=x.useState(!1);return e.jsxs(K,{open:a,onOpenChange:r,children:[e.jsx(H,{asChild:!0,children:e.jsx(h,{className:"shrink-0",intent:"primary",children:"Add secret"})}),e.jsxs(F,{className:"mx-auto w-[90vw] max-w-[744px]",children:[e.jsx(P,{children:e.jsx(O,{children:"Register New Secret"})}),e.jsx(ke,{userId:s,setOpen:r,workspaceId:t.id})]})]})}function ke({userId:s,setOpen:t,workspaceId:a}){const{handleSubmit:r,control:n,watch:i,setValue:o,formState:{isValid:u},reset:p}=he({resolver:xe(le),defaultValues:{secretName:"",keysValues:[{key:"",value:""}]}}),{fields:m,append:_,remove:R}=pe({control:n,name:"keysValues"}),{toast:z}=G(),B=q(),{mutate:M}=ve({onError(l){U(l)&&z({status:"error",emphasis:"subtle",description:l.message,rounded:!0})},onSuccess(){B.invalidateQueries({queryKey:["secrets"]}),t(!1),p()}}),Q=l=>{M({user:s,workspace:a,name:l.secretName,scope:"workspace",values:l.keysValues.reduce((c,d)=>(d.key&&d.value&&(c[d.key]=d.value),c),{})})},$=l=>{Q(l)};return e.jsxs(e.Fragment,{children:[e.jsx("form",{id:"create-secret-form",className:"gap-5 p-5",onSubmit:r($),children:e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsxs("label",{className:"font-inter text-sm text-left font-medium leading-5",children:["Secret Name",e.jsx("span",{className:"ml-1 text-theme-text-error",children:"*"})]}),e.jsx(g,{name:"secretName",control:n,render:({field:l})=>e.jsx(j,{...l,className:"mb-3 w-full",required:!0})})]}),e.jsxs("div",{className:"mt-10",children:[e.jsx("div",{children:e.jsx("h1",{className:"font-inter text-lg text-left font-semibold ",children:"Keys"})}),e.jsxs("div",{className:"mt-5 flex flex-row ",children:[e.jsx("div",{className:"flex-grow",children:e.jsx("label",{className:"font-inter text-sm text-left font-medium",children:"Key"})}),e.jsx("div",{className:"flex-grow pr-12",children:e.jsx("label",{className:"font-inter text-sm text-left font-medium",children:"Value"})})]})]}),m.map((l,c)=>e.jsxs("div",{className:"flex flex-row items-center space-x-1 ",children:[e.jsx("div",{className:"relative flex-grow ",children:e.jsx(g,{name:`keysValues.${c}.key`,control:n,render:({field:d})=>e.jsx(j,{...d,className:"mb-2 w-full",required:!0,placeholder:"key"})})}),e.jsx("div",{className:"relative flex-grow",children:e.jsxs("div",{className:"relative",children:[e.jsx(g,{name:`keysValues.${c}.value`,control:n,render:({field:d})=>e.jsx(j,{...d,className:"mb-2 w-full pr-10",required:!0,placeholder:"•••••••••",type:i(`keysValues.${c}.showPassword`)?"text":"password"})}),e.jsx("button",{type:"button",onClick:()=>{const d=i(`keysValues.${c}.showPassword`);o(`keysValues.${c}.showPassword`,!d)},className:"absolute inset-y-1 right-0 flex items-center pb-1 pr-3",children:e.jsx(ie,{className:"h-4 w-4 flex-shrink-0"})})]})}),e.jsxs("div",{className:"flex items-center",children:[c===m.length-1&&e.jsx(h,{intent:"primary",emphasis:"subtle",onClick:()=>_({key:"",value:""}),className:"mb-2 flex h-7 w-7 items-center justify-center",children:e.jsx(ue,{className:"flex-shrink-0 fill-primary-600"})}),c!==m.length-1&&e.jsx(h,{intent:"secondary",emphasis:"minimal",onClick:()=>R(c),className:"mb-2 h-7 w-7 items-center justify-center",children:e.jsx(L,{className:"flex-shrink-0 fill-theme-text-secondary"})})]})]},l.id))]})}),e.jsxs(A,{className:"gap-[10px]",children:[e.jsx(V,{asChild:!0,children:e.jsx(h,{size:"sm",intent:"secondary",children:"Cancel"})}),e.jsx(h,{intent:"primary",disabled:!u,type:"submit",form:"create-secret-form",children:"Register Secret"})]})]})}async function De(s){const t=D(C.secrets.detail(s)),a=await E(t,{method:"DELETE",headers:{"Content-Type":"application/json"}});if(a.status===404&&J(),!a.ok)throw new T({message:"Error deleting secret",status:a.status,statusText:a.statusText});return a.json()}function Ce(s){return I({mutationFn:async t=>De(t),...s})}function Ee({secretId:s}){const t=q(),{mutate:a}=Ce({onSuccess(){t.invalidateQueries({queryKey:["secrets"]})}}),[r,n]=x.useState("");function i(){a(s)}function o(u){n(u.target.value)}return e.jsxs(F,{children:[e.jsx(P,{children:e.jsx(O,{children:"Delete secret"})}),e.jsxs("div",{className:"gap-5 p-5",children:[e.jsx("p",{className:"text-text-md text-theme-text-secondary",children:"Are you sure you want to delete this secret?"}),e.jsx("p",{className:"text-text-md text-theme-text-secondary",children:"This action cannot be undone."}),e.jsx("h3",{className:"font-inter text-sm mb-1 mt-4 text-left font-medium leading-5",children:"Please type DELETE to confirm"}),e.jsx(j,{name:"key",onChange:o,className:"w-full",required:!0,value:r})]}),e.jsxs(A,{className:"gap-[10px]",children:[e.jsx(V,{asChild:!0,children:e.jsx(h,{size:"sm",intent:"secondary",children:"Cancel"})}),e.jsx(h,{intent:"danger",type:"submit",form:"edit-secret-form",onClick:i,disabled:r!=="DELETE",children:"Delete"})]})]})}function Te({secretId:s}){const[t,a]=x.useState(!1),[r,n]=x.useState(!1),i=x.useRef(null),o=x.useRef(null);function u(){o.current=i.current}function p(m){if(m===!1){a(!1),setTimeout(()=>{n(m)},200);return}n(m)}return e.jsxs(W,{onOpenChange:a,open:t,children:[e.jsx(X,{ref:i,children:e.jsx(Ne,{className:"h-4 w-4 fill-theme-text-tertiary"})}),e.jsxs(Y,{hidden:r,onCloseAutoFocus:m=>{o.current&&(o.current.focus(),o.current=null,m.preventDefault())},align:"end",sideOffset:7,children:[e.jsx(k,{onSelect:u,onOpenChange:p,triggerChildren:"Edit ",icon:e.jsx(Se,{}),children:e.jsx(ce,{secretId:s,isSecretNameEditable:!0,dialogTitle:"Edit secret"})}),e.jsx(k,{onSelect:u,onOpenChange:p,triggerChildren:"Delete ",icon:e.jsx(L,{}),children:e.jsx(Ee,{secretId:s})})]})]})}const Fe=[{id:"secret",header:"Secret",accessorFn:s=>s.name,cell:({getValue:s,row:t})=>{const a=`from zenml.client import Client
2
+ secret = Client().get_secret(${t.original.name})
3
+ `;return e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(fe,{className:"h-5 w-5 flex-shrink-0 fill-primary-400"}),e.jsxs("div",{className:"group/copybutton flex flex-col",children:[e.jsxs("div",{className:"flex flex-row items-center space-x-1",children:[e.jsxs("div",{className:"flex items-center space-x-1",children:[e.jsx(b,{className:"text-text-md font-semibold text-theme-text-primary",to:N.settings.secrets.detail(t.original.id),children:t.original.name}),e.jsx(oe,{code:a})]}),e.jsx(v,{copyText:s()})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(b,{to:N.settings.secrets.detail(t.original.id),className:"flex items-center gap-1 text-text-sm text-theme-text-secondary",children:t.original.id.slice(0,8)}),e.jsx(v,{copyText:t.original.id})]})]})]})}},{id:"author",header:"Author",accessorFn:s=>{var t;return(t=s.body)==null?void 0:t.user},cell:({getValue:s})=>{const t=s();return e.jsx(e.Fragment,{children:e.jsx(ge,{username:Z(t)})})}},{id:"created_at",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(je,{dateString:s()})})},{id:"admin_actions",header:"",accessorFn:s=>String(s.id),cell:({row:s,getValue:t})=>{var r,n,i;const a=t();return(i=(n=(r=s.original.body)==null?void 0:r.user)==null?void 0:n.body)!=null&&i.is_admin?e.jsx(Te,{secretId:a}):e.jsx("p",{className:"text-sm text-theme-text-secondary",children:"No Actions"})}}],y=1,Pe=f.object({page:f.coerce.number().min(y).optional().default(y).catch(y),name:f.string().optional(),operator:f.enum(["and","or"]).optional()});function Oe(){const[s]=ye(),{page:t,name:a,operator:r}=Pe.parse({page:s.get("page")||void 0,name:s.get("name")||void 0,operator:s.get("operator")||void 0});return{page:t,name:a,logical_operator:r}}function Ae(){const s=Oe(),{data:t}=w({...de.secretList({...s,sort_by:"desc:created"}),throwOnError:!0}),{data:a}=ee(),r=(a==null?void 0:a.id)||"",{data:n,isLoading:i,isError:o,isSuccess:u}=w({...me.workspaceDetail("default")});return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[e.jsx(re,{searchParams:s}),i?e.jsx("div",{children:"Loading..."}):o?e.jsx("div",{children:"Error loading workspace details."}):u&&e.jsx(be,{id:r,workspace:n})]}),e.jsxs("div",{className:"flex flex-col items-center gap-5",children:[e.jsx("div",{className:"w-full",children:t?e.jsx(se,{columns:Fe,data:t.items}):e.jsx(S,{className:"h-[250px] w-full"})}),t?t.total_pages>1&&e.jsx(ne,{searchParams:s,paginate:t}):e.jsx(S,{className:"h-[36px] w-[300px]"})]})]})}function as(){const{setCurrentBreadcrumbData:s}=te();return x.useEffect(()=>{s({segment:"secrets",data:null})},[]),e.jsxs(ae,{className:"space-y-4 p-5",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"Secrets"}),e.jsxs("p",{className:"text-text-sm text-theme-text-secondary",children:["Configure and manage your pipeline secrets and configurations."," ",e.jsx("a",{target:"_blank",rel:"noreferrer noopener",href:"https://docs.zenml.io/how-to/interact-with-secrets",className:"link text-primary-400",children:"Learn More"})]})]}),e.jsx(Ae,{})]})}export{as as default};
@@ -1 +1 @@
1
- import{r as o,j as e}from"./@radix-DnFH_oo1.js";import{z as i,i as v,ak as j,at as y,an as S,j as k,u as C,B as w,S as E}from"./index-B9wVwe7u.js";import{u as F}from"./update-server-settings-mutation-DNqmQXDM.js";import{t as q}from"./zod-uFd1wBcd.js";import{c as A}from"./@tanstack-QbMbTrh5.js";import{u as I,C as b}from"./index.esm-BE1uqCX5.js";import"./@react-router-APVeuk-U.js";import"./@reactflow-B6kq9fJZ.js";const _=i.object({announcements:i.boolean(),updates:i.boolean()});function K({settings:t}){var h,f;const c=o.useId(),d=o.useId(),{toast:l}=v(),u=A(),{mutate:g}=F({onError:s=>{u.invalidateQueries({queryKey:y()}),S(s)&&l({status:"error",emphasis:"subtle",icon:e.jsx(k,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:s.message,rounded:!0})},onSuccess:()=>{u.invalidateQueries({queryKey:y()}),l({status:"success",emphasis:"subtle",rounded:!0,description:"Settings updated successfully"})}}),{control:m,handleSubmit:p,watch:x}=I({resolver:q(_),defaultValues:{announcements:((h=t.body)==null?void 0:h.display_announcements)??void 0,updates:((f=t.body)==null?void 0:f.display_updates)??void 0}});function N({announcements:s,updates:a}){g({display_announcements:s,display_updates:a})}return o.useEffect(()=>{const s=x(()=>p(N)());return()=>s.unsubscribe()},[p,x]),e.jsx("form",{id:"create-user-form",className:"space-y-5",children:e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"flex items-center gap-5",children:[e.jsx(b,{control:m,name:"announcements",render:({field:{value:s,onChange:a,ref:n}})=>e.jsx(j,{ref:n,checked:s,onCheckedChange:r=>{a(!!r)},id:c})}),e.jsxs("label",{htmlFor:c,className:"text-text-md",children:[e.jsx("p",{className:"font-semibold",children:"Announcements"}),e.jsx("p",{className:"text-theme-text-secondary",children:"Enable Announcements for important ZenML updates, surveys, and feedback opportunities."})]})]}),e.jsx("hr",{}),e.jsxs("div",{className:"flex items-center gap-5",children:[e.jsx(b,{control:m,name:"updates",render:({field:{value:s,onChange:a,ref:n}})=>e.jsx(j,{ref:n,checked:s,onCheckedChange:r=>{a(!!r)},id:d})}),e.jsxs("label",{htmlFor:d,className:"text-text-md",children:[e.jsx("p",{className:"font-semibold",children:"Updates"}),e.jsx("p",{className:"text-theme-text-secondary",children:"Activate Updates to receive the latest ZenML news and feature releases."})]})]})]})})}function P(){const{data:t}=C({throwOnError:!0});return e.jsxs(w,{className:"flex flex-col gap-5 p-5",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"Notifications"}),e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"ZenML comes equipped with default widgets designed to enhance your experience by analyzing usage patterns, gathering your feedback, and ensuring you stay informed about our latest updates and features."})]}),e.jsx("div",{className:"",children:t?e.jsx(K,{settings:t}):e.jsx(E,{className:"h-[250px] w-full"})})]})}export{P as default};
1
+ import{r as o,j as e}from"./@radix-DnFH_oo1.js";import{z as i,i as v,ao as j,ax as y,ar as S,j as C,u as k,B as w,S as E}from"./index-Ci0nJ8EZ.js";import{u as F}from"./update-server-settings-mutation-FGVP7X2U.js";import{t as q}from"./zod-uFd1wBcd.js";import{c as A}from"./@tanstack-QbMbTrh5.js";import{u as I,C as b}from"./index.esm-BE1uqCX5.js";import"./@react-router-APVeuk-U.js";import"./@reactflow-ytavUpwh.js";const _=i.object({announcements:i.boolean(),updates:i.boolean()});function K({settings:t}){var h,f;const c=o.useId(),d=o.useId(),{toast:l}=v(),u=A(),{mutate:g}=F({onError:s=>{u.invalidateQueries({queryKey:y()}),S(s)&&l({status:"error",emphasis:"subtle",icon:e.jsx(C,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:s.message,rounded:!0})},onSuccess:()=>{u.invalidateQueries({queryKey:y()}),l({status:"success",emphasis:"subtle",rounded:!0,description:"Settings updated successfully"})}}),{control:m,handleSubmit:p,watch:x}=I({resolver:q(_),defaultValues:{announcements:((h=t.body)==null?void 0:h.display_announcements)??void 0,updates:((f=t.body)==null?void 0:f.display_updates)??void 0}});function N({announcements:s,updates:a}){g({display_announcements:s,display_updates:a})}return o.useEffect(()=>{const s=x(()=>p(N)());return()=>s.unsubscribe()},[p,x]),e.jsx("form",{id:"create-user-form",className:"space-y-5",children:e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"flex items-center gap-5",children:[e.jsx(b,{control:m,name:"announcements",render:({field:{value:s,onChange:a,ref:n}})=>e.jsx(j,{ref:n,checked:s,onCheckedChange:r=>{a(!!r)},id:c})}),e.jsxs("label",{htmlFor:c,className:"text-text-md",children:[e.jsx("p",{className:"font-semibold",children:"Announcements"}),e.jsx("p",{className:"text-theme-text-secondary",children:"Enable Announcements for important ZenML updates, surveys, and feedback opportunities."})]})]}),e.jsx("hr",{}),e.jsxs("div",{className:"flex items-center gap-5",children:[e.jsx(b,{control:m,name:"updates",render:({field:{value:s,onChange:a,ref:n}})=>e.jsx(j,{ref:n,checked:s,onCheckedChange:r=>{a(!!r)},id:d})}),e.jsxs("label",{htmlFor:d,className:"text-text-md",children:[e.jsx("p",{className:"font-semibold",children:"Updates"}),e.jsx("p",{className:"text-theme-text-secondary",children:"Activate Updates to receive the latest ZenML news and feature releases."})]})]})]})})}function P(){const{data:t}=k({throwOnError:!0});return e.jsxs(w,{className:"flex flex-col gap-5 p-5",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"Notifications"}),e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"ZenML comes equipped with default widgets designed to enhance your experience by analyzing usage patterns, gathering your feedback, and ensuring you stay informed about our latest updates and features."})]}),e.jsx("div",{className:"",children:t?e.jsx(K,{settings:t}):e.jsx(E,{className:"h-[250px] w-full"})})]})}export{P as default};
@@ -0,0 +1 @@
1
+ import{r as i,j as s}from"./@radix-DnFH_oo1.js";import{a7 as D,a8 as k,f,a9 as z,aa as E,ab as A,i as b,aw as v,ar as S,j as C,I as o,ap as T,aq as q,z as a,av as B,B as M,S as P,A as Q,b as V,au as _}from"./index-Ci0nJ8EZ.js";import{c as K}from"./@tanstack-QbMbTrh5.js";import{u as F}from"./index.esm-BE1uqCX5.js";import{S as O}from"./tick-circle-m-hJG8i9.js";import{t as U}from"./zod-uFd1wBcd.js";import{P as H}from"./PasswordChecker-DE71J_3F.js";import{u as R}from"./UpdatePasswordSchemas-CUm-DMpw.js";import{D as G}from"./DisplayDate-DkCy54Bp.js";import"./@react-router-APVeuk-U.js";import"./@reactflow-ytavUpwh.js";function J(){const[e,l]=i.useState(!1);return s.jsxs(D,{onOpenChange:()=>{l(!1)},children:[s.jsx(k,{asChild:!0,children:s.jsx(f,{size:"md",className:"shrink-0",intent:"primary",emphasis:"subtle",children:"Change Password"})}),s.jsxs(z,{children:[s.jsx(E,{children:s.jsx(A,{children:" Update Credentials"})}),e?s.jsx(W,{}):s.jsx(L,{setSuccess:l})]})]})}function L({setSuccess:e}){var u;const l=i.useId(),d=i.useId(),n=i.useId(),{toast:x}=b(),{mutate:p,isPending:j}=v({onSuccess(){e(!0)},onError(t){S(t)&&x({status:"error",emphasis:"subtle",icon:s.jsx(C,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:t.message,rounded:!0})}}),{register:c,handleSubmit:m,watch:w,formState:{isValid:N,errors:y}}=F({resolver:U(R),mode:"onChange",criteriaMode:"all"});function g(t){p({old_password:t.oldPassword,password:t.newPassword})}const h=(u=y.newPassword)==null?void 0:u.types;return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"space-y-5 p-7",children:[s.jsx("form",{id:"update-password-form",onSubmit:m(g),children:s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"space-y-0.5",children:[s.jsx("label",{htmlFor:l,className:"text-text-sm",children:"Old Password"}),s.jsx(o,{...c("oldPassword"),type:"password",id:l,className:"w-full"})]}),s.jsxs("div",{className:"space-y-0.5",children:[s.jsx("label",{htmlFor:d,className:"text-text-sm",children:"New Password"}),s.jsx(o,{...c("newPassword"),type:"password",id:d,className:"w-full"})]}),s.jsxs("div",{className:"space-y-0.5",children:[s.jsx("label",{htmlFor:n,className:"text-text-sm",children:"Confirm Password"}),s.jsx(o,{...c("confirmPassword"),type:"password",id:n,className:"w-full"})]})]})}),s.jsx(H,{val:w("newPassword"),errors:h||[]})]}),s.jsxs(T,{className:"gap-[10px]",children:[s.jsx(q,{asChild:!0,children:s.jsx(f,{size:"sm",intent:"secondary",children:"Cancel"})}),s.jsx(f,{disabled:!N||j,form:"update-password-form",size:"sm",children:"Update Password"})]})]})}function W(){return s.jsxs("div",{className:"space-y-5 p-7 text-center",children:[s.jsx(O,{className:"mx-auto h-[110px] w-[110px] fill-success-500"}),s.jsx("p",{className:"text-text-lg font-semibold text-theme-text-primary",children:"The password was updated successfully!"})]})}const X=a.object({fullName:a.union([a.string(),a.literal("")]),username:a.union([a.string(),a.literal("")]),email:a.union([a.string().email(),a.literal("")])}).refine(e=>e.fullName!==""||e.username!==""||e.email!=="");function Y({user:e}){var h,u,t;const l=K(),{toast:d}=b(),n=i.useId(),x=i.useId(),p=i.useId(),{isPending:j,mutate:c}=v({onError(r){S(r)&&d({status:"error",emphasis:"subtle",icon:s.jsx(C,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:r.message,rounded:!0})},onSuccess:()=>{l.invalidateQueries({queryKey:["current-user"]}),l.invalidateQueries({queryKey:["users"]}),w(),d({status:"success",emphasis:"subtle",rounded:!0,description:"User updated successfully"})}}),{register:m,reset:w,handleSubmit:N,formState:{isValid:y}}=F({resolver:U(X),defaultValues:{email:void 0,fullName:void 0,username:void 0}});function g(r){const I={...r.fullName&&{full_name:r.fullName},...r.username&&{name:r.username},...r.email&&{email:r.email}};c(I)}return s.jsxs("div",{className:"w-full max-w-[600px]",children:[s.jsx("form",{onSubmit:N(g),children:s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"space-y-0.5",children:[s.jsx("label",{htmlFor:n,className:"text-text-sm",children:"Full Name"}),s.jsx(o,{placeholder:(h=e.body)==null?void 0:h.full_name,...m("fullName"),id:n,className:"w-full"})]}),s.jsxs("div",{className:"space-y-0.5",children:[s.jsx("label",{htmlFor:x,className:"text-text-sm",children:"Username"}),s.jsx(o,{...m("username"),placeholder:e.name,id:x,className:"w-full"})]}),s.jsxs("div",{className:"space-y-0.5",children:[s.jsx("label",{htmlFor:p,className:"text-text-sm",children:"Email"}),s.jsx(o,{placeholder:((u=e.metadata)==null?void 0:u.email)??void 0,...m("email"),id:p,className:"w-full"})]}),s.jsx("div",{className:"flex justify-end",children:s.jsx(f,{disabled:j||!y,size:"md",intent:"primary",children:"Update"})})]})}),s.jsx(J,{}),s.jsxs("p",{className:"mt-5 text-text-sm text-theme-text-secondary",children:["Created on ",s.jsx(G,{dateString:((t=e.body)==null?void 0:t.created)||""})]})]})}function ns(){const{data:e}=B();return s.jsxs(M,{className:"flex flex-col gap-5 p-5",children:[s.jsx("h1",{className:"text-text-xl font-semibold",children:"Profile"}),s.jsxs("div",{className:"flex justify-between",children:[e?s.jsx(Y,{user:e}):s.jsx(P,{className:"h-[350px] w-full"}),e?s.jsx(Q,{size:"xxl",className:"ml-5 h-[140px] w-[140px]",type:"rounded",children:s.jsx(V,{className:"text-display-lg",size:"xxl",children:_(e)[0]})}):s.jsx(P,{className:"h-[140px] w-[140px] rounded-rounded"})]})]})}export{ns as default};
@@ -0,0 +1 @@
1
+ import{r as f,j as e}from"./@radix-DnFH_oo1.js";import{S as X,u as y,C as v,P as N,a as $,W as ee,L as te}from"./ProviderRadio-D3FuCHf3.js";import{u,R as se,a as re,E as ae,D as F,G as oe,A as ne,C as O,b as ie,N as ce}from"./Partials-QLOZw624.js";import{S as V,B as Y,aK as de,f as le,r as T}from"./index-Ci0nJ8EZ.js";import{c as me,b as ue}from"./@react-router-APVeuk-U.js";import{I as G}from"./Infobox-BTK_EUKT.js";import{t as H}from"./zod-uFd1wBcd.js";import{u as Q,F as pe}from"./index.esm-BE1uqCX5.js";import{a as xe,c as q,b as fe,p as he}from"./persist-BxIR2XZs.js";import{C as h}from"./ProviderIcon-C16CCIN4.js";import{s as K}from"./sharedSchema-vub0rii3.js";import{a as J}from"./@tanstack-QbMbTrh5.js";import"./Tick-DJTCF0Re.js";import"./package-DYKZ5jKW.js";import"./ComponentBadge-gKR1OIwG.js";import"./stack-detail-query-DQcyzG-2.js";import"./layout-Dru15_XR.js";import"./rocket-SESCGQXm.js";import"./logs-GiDJXbLS.js";import"./CodeSnippet-IxXNxUDa.js";import"./copy-CaGlDsUy.js";import"./NumberBox-CrN0_kqI.js";import"./link-external-BT2L8hAQ.js";import"./@reactflow-ytavUpwh.js";import"./gcp-Dj6ntk0L.js";import"./url-CbAPzsmT.js";function je(){const{formRef:t,setIsNextButtonDisabled:s,setData:a,data:o}=u(),n=Q({resolver:H(xe),mode:"onChange",defaultValues:{region:o.location,stackName:o.stackName||""}});f.useEffect(()=>{s(!n.formState.isValid)},[n.formState.isValid,s]);function l(r){a(m=>({...m,location:r.region,stackName:r.stackName}))}return e.jsx(j,{title:"Review Stack Configuration",children:e.jsx(pe,{...n,children:e.jsxs("div",{className:"space-y-5",children:[e.jsxs(G,{className:"text-text-sm",children:[e.jsx("p",{className:"font-semibold",children:"Important"}),e.jsx("p",{children:"This will create new resources in your account. Ensure you have the necessary permissions and are aware of any potential costs."})]}),e.jsxs("form",{onSubmit:n.handleSubmit(l),ref:t,className:"space-y-5",children:[e.jsx(se,{provider:o.provider||"aws"}),e.jsx(X,{})]}),e.jsx(re,{provider:o.provider||"aws"}),e.jsx(ae,{provider:o.provider||"aws"})]})})})}function ve(){const{data:t,timestamp:s,setIsNextButtonDisabled:a}=u(),{setCurrentStep:o}=y(),{isPending:n,isError:l,data:r}=J({...K.stackDeploymentStack({provider:t.provider,stack_name:t.stackName,date_start:s}),refetchInterval:5e3,throwOnError:!0});return f.useEffect(()=>{r&&(q(),o(m=>m+1),a(!1))},[r]),n?e.jsx(V,{className:"h-[200px] w-full"}):l?null:e.jsxs("div",{className:"space-y-5",children:[e.jsx(Ne,{}),e.jsx(ye,{stack:r})]})}function Ne(){const{data:t}=u();return e.jsxs("section",{className:"space-y-5 border-b border-theme-border-moderate pb-5",children:[e.jsxs(Y,{className:"flex items-center justify-between gap-4 px-6 py-5",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(h,{provider:t.provider,className:"h-6 w-6 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-text-lg font-semibold",children:"Deploying the Stack..."}),e.jsx("p",{className:"text-theme-text-secondary",children:"Follow the steps in your Cloud console to finish the setup. You can come back to check once your components are deployed."})]})]}),t.provider==="azure"?e.jsx(F,{children:e.jsx("span",{children:"Deploy in Azure"})}):e.jsx(F,{})]}),t.provider==="gcp"&&e.jsx(oe,{}),t.provider==="azure"&&e.jsx(ne,{})]})}function ye({stack:t}){const s=!!t;return e.jsxs("div",{className:"space-y-5",children:[!s&&e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"flex items-center gap-1 text-text-lg font-semibold",children:[e.jsx(de,{className:"h-5 w-5 fill-primary-400"}),"Creating your stack and components..."]}),e.jsx("p",{className:"text-theme-text-secondary",children:"We are creating your stack and stack components based on your configuration. Once you finish the setup, come back to check your brand new stack and components ready."})]}),e.jsx(Se,{isReady:s}),e.jsx(ge,{stack:t})]})}function ge({stack:t}){const s=!!t,{data:a}=u();return e.jsxs("div",{className:"relative overflow-hidden rounded-md",children:[!s&&e.jsx("div",{className:"absolute z-50 h-full w-full bg-neutral-50/50"}),e.jsx(O,{type:a.provider,componentProps:{isLoading:!s,isSuccess:s,stackName:a.stackName}})]})}function Se({isReady:t}){const[s,a]=f.useState(!1);return f.useEffect(()=>{const o=setTimeout(()=>{a(!0)},3e5);return()=>clearTimeout(o)},[]),!s||t?null:e.jsx(G,{children:"Your stack is taking longer than usual to deploy. Please check your Cloud console, or the stacks list in ZenML."})}function ke(){return e.jsx(j,{title:"Deploy ZenML Stack",children:e.jsx(be,{})})}function be(){const{setIsNextButtonDisabled:t,isLoading:s}=u();return f.useEffect(()=>{t(!0)},[]),s?e.jsx(ve,{}):e.jsx(ie,{})}function we(){const{formRef:t,setIsNextButtonDisabled:s,setData:a,data:o}=u(),{register:n,handleSubmit:l,formState:{isValid:r}}=Q({resolver:H(fe),defaultValues:{provider:o.provider}});f.useEffect(()=>{s(!r)},[r,s]);function m(d){a(c=>({...c,provider:d.provider}))}return e.jsx(j,{title:"New Cloud Infrastructure",children:e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-lg font-semibold",children:"Select a Cloud Provider"}),e.jsx("p",{className:"text-theme-text-secondary",children:"Select the cloud provider where your want to create your infrastructure and deploy your ZenML models. You will be able to remove the ZenML stack at any time."})]}),e.jsxs("form",{id:"provider-form",onSubmit:l(m),className:"grid grid-cols-1 gap-3 xl:grid-cols-3",ref:t,children:[e.jsx(v,{id:"aws-provider",...n("provider"),value:"aws",children:e.jsx(N,{icon:e.jsx(h,{provider:"aws",className:"h-6 w-6 shrink-0"}),title:"AWS",subtitle:"ZenML stack with S3, ECR, and SageMaker integration"})}),e.jsx(v,{id:"gcp-provider",...n("provider"),value:"gcp",children:e.jsx(N,{icon:e.jsx(h,{provider:"gcp",className:"h-6 w-6 shrink-0"}),title:"GCP",subtitle:"Create ZenML infrastructure using GCS, Artifact Registry, and Vertex AI"})}),e.jsx(v,{id:"azure-provider",...n("provider"),value:"azure",children:e.jsx(N,{icon:e.jsx(h,{provider:"azure",className:"h-6 w-6 shrink-0"}),title:"Azure",subtitle:"Set up ZenML with Azure Storage, Container Registry, and ML services"})})]})]})})}function Ce({provider:t,stackName:s,timestamp:a,isTerraform:o}){var g,S,k,b,w,C,P,D,I,z,L,R,B,E,W,M,_,A;const{isPending:n,isError:l,data:r}=J({...K.stackDeploymentStack({provider:t,stack_name:s,date_start:a,terraform:o}),throwOnError:!0});if(n)return e.jsx(V,{className:"h-[200px] w-full"});if(l)return null;const m=r.stack.name,d=(g=r.stack.metadata)==null?void 0:g.components.orchestrator,c=(S=r.stack.metadata)==null?void 0:S.components.artifact_store,i=(k=r.stack.metadata)==null?void 0:k.components.container_registry,p=(b=r.stack.metadata)==null?void 0:b.components.image_builder,x=(w=r.stack.metadata)==null?void 0:w.components.step_operator,U={orchestrator:{name:((C=d==null?void 0:d[0])==null?void 0:C.name)??"Orchestrator",id:((P=d==null?void 0:d[0])==null?void 0:P.id.split("-")[0])??""},artifactStore:{name:((D=c==null?void 0:c[0])==null?void 0:D.name)??"Artifact Store",id:((I=c==null?void 0:c[0])==null?void 0:I.id.split("-")[0])??""},registry:{name:((z=i==null?void 0:i[0])==null?void 0:z.name)??"Container Registry",id:((L=i==null?void 0:i[0])==null?void 0:L.id.split("-")[0])??""},connector:{name:(R=r.service_connector)==null?void 0:R.name,id:((E=(B=r.service_connector)==null?void 0:B.id)==null?void 0:E.split("-")[0])??""},imageBuilder:{name:((W=p==null?void 0:p[0])==null?void 0:W.name)??"Image Builder",id:((M=p==null?void 0:p[0])==null?void 0:M.id.split("-")[0])??""},operator:{name:((_=x==null?void 0:x[0])==null?void 0:_.name)??"Step Operator",id:((A=x==null?void 0:x[0])==null?void 0:A.id.split("-")[0])??""}};return e.jsx(O,{type:t,componentProps:{components:U,isSuccess:!0,stackName:m}})}function Pe(){const{setIsNextButtonDisabled:t,data:s,timestamp:a}=u();return t(!1),e.jsx(j,{title:"Your Stack",children:e.jsxs("div",{className:"space-y-5",children:[e.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."}),e.jsx(Ce,{provider:s.provider||"aws",stackName:s.stackName||"",timestamp:a})]})})}function De(){const{currentStep:t}=y();if(t===1)return e.jsx(we,{});if(t===2)return e.jsx(je,{});if(t===3)return e.jsx(ke,{});if(t===4)return e.jsx(Pe,{})}function Ie(){var c;const[s]=me(),{setCurrentStep:a,currentStep:o}=y(),{formRef:n,isNextButtonDisabled:l}=u(),r=ue(),m=s.get("origin")==="onboarding";async function d(){n.current&&(n.current.requestSubmit(),await new Promise(i=>setTimeout(i,20))),a(i=>i<4?i+1:i),o===4&&(q(),r(m?T.onboarding:T.stacks.overview))}return e.jsx(le,{form:(c=n.current)==null?void 0:c.id,disabled:l,onClick:()=>d(),size:"md",children:o===4?"Finish":"Next"})}function j({children:t,title:s}){return e.jsxs(Y,{className:"w-full",children:[e.jsx("div",{className:"border-b border-theme-border-moderate px-5 py-3 text-display-xs font-semibold",children:s}),e.jsx("div",{className:"p-5",children:t}),e.jsxs("div",{className:"flex items-center justify-end gap-2 border-t border-theme-border-moderate p-5",children:[e.jsx($,{}),e.jsx(Ie,{})]})]})}const Z=["Infrastructure Type","Cloud Provider","Review Configuration","Deploy Stack"];function st(){const{success:t}=he();return e.jsx(ee,{maxSteps:Z.length,initialStep:t?3:1,children:e.jsx(ce,{children:e.jsxs("section",{className:"layout-container flex flex-col gap-5 p-5 xl:flex-row",children:[e.jsx(te,{entries:Z}),e.jsx("div",{className:"w-full overflow-y-hidden",children:e.jsx(De,{})})]})})})}export{st as default};
@@ -1,2 +1,2 @@
1
- import{r as u,j as a}from"./@radix-DnFH_oo1.js";import{u as h,c as w,S as v,a as y,b as k}from"./form-schemas-Bap0f854.js";import{S}from"./SetPassword-B-0a8UCj.js";import{I as x,f as j,k as N,F as A,l as C,m as q,h as P,i as z,j as E}from"./index-B9wVwe7u.js";import{u as F}from"./index.esm-BE1uqCX5.js";import{t as M}from"./zod-uFd1wBcd.js";import{b as T}from"./@tanstack-QbMbTrh5.js";import{u as U}from"./login-mutation-DwxUz8VA.js";import"./check-circle-DOoS4yhF.js";import"./url-DwbuKk1b.js";import"./@react-router-APVeuk-U.js";import"./UpdatePasswordSchemas-C6Zb7ASL.js";import"./PasswordChecker-DE71J_3F.js";import"./@reactflow-B6kq9fJZ.js";const g=u.createContext(null);function $({children:e,initialSettings:r}){const[t,s]=u.useState(r||{});return a.jsx(g.Provider,{value:{serverSettings:t,setServerSettings:s},children:e})}function f(){const e=u.useContext(g);if(e===null)throw new Error("useServerActivationContext must be used within an ServerActivationProvider");return e}function I(){const{setSurveyStep:e}=h(),{setServerSettings:r}=f();function t({newPassword:s,username:o}){r(i=>({...i,admin_password:s,admin_username:o})),e(i=>i+1)}return a.jsx(S,{displayUsername:!0,headline:"Create your admin user and password",subHeadine:"Select a username and password for your admin account",submitHandler:t})}const m=e=>{e=1831565813+(e|=0)|0;let r=Math.imul(e^e>>>15,1|e);return r=r+Math.imul(r^r>>>7,61|r)^r,((r^r>>>14)>>>0)/4294967296};class L{constructor(r){this.dictionaries=void 0,this.length=void 0,this.separator=void 0,this.style=void 0,this.seed=void 0;const{length:t,separator:s,dictionaries:o,style:i,seed:l}=r;this.dictionaries=o,this.separator=s,this.length=t,this.style=i,this.seed=l}generate(){if(!this.dictionaries)throw new Error('Cannot find any dictionary. Please provide at least one, or leave the "dictionary" field empty in the config object');if(this.length<=0)throw new Error("Invalid length provided");if(this.length>this.dictionaries.length)throw new Error(`The length cannot be bigger than the number of dictionaries.
1
+ import{r as u,j as a}from"./@radix-DnFH_oo1.js";import{u as h,c as w,S as v,a as y,b as k}from"./form-schemas-BKXwSDK2.js";import{S}from"./SetPassword-DuIC65H9.js";import{I as x,f as j,k as N,F as A,l as C,m as q,h as P,i as z,j as E}from"./index-Ci0nJ8EZ.js";import{u as F}from"./index.esm-BE1uqCX5.js";import{t as M}from"./zod-uFd1wBcd.js";import{b as T}from"./@tanstack-QbMbTrh5.js";import{u as U}from"./login-mutation-ax6iL2Mb.js";import"./check-circle-DOoS4yhF.js";import"./url-CbAPzsmT.js";import"./@react-router-APVeuk-U.js";import"./UpdatePasswordSchemas-CUm-DMpw.js";import"./PasswordChecker-DE71J_3F.js";import"./@reactflow-ytavUpwh.js";const g=u.createContext(null);function $({children:e,initialSettings:r}){const[t,s]=u.useState(r||{});return a.jsx(g.Provider,{value:{serverSettings:t,setServerSettings:s},children:e})}function f(){const e=u.useContext(g);if(e===null)throw new Error("useServerActivationContext must be used within an ServerActivationProvider");return e}function I(){const{setSurveyStep:e}=h(),{setServerSettings:r}=f();function t({newPassword:s,username:o}){r(i=>({...i,admin_password:s,admin_username:o})),e(i=>i+1)}return a.jsx(S,{displayUsername:!0,headline:"Create your admin user and password",subHeadine:"Select a username and password for your admin account",submitHandler:t})}const m=e=>{e=1831565813+(e|=0)|0;let r=Math.imul(e^e>>>15,1|e);return r=r+Math.imul(r^r>>>7,61|r)^r,((r^r>>>14)>>>0)/4294967296};class L{constructor(r){this.dictionaries=void 0,this.length=void 0,this.separator=void 0,this.style=void 0,this.seed=void 0;const{length:t,separator:s,dictionaries:o,style:i,seed:l}=r;this.dictionaries=o,this.separator=s,this.length=t,this.style=i,this.seed=l}generate(){if(!this.dictionaries)throw new Error('Cannot find any dictionary. Please provide at least one, or leave the "dictionary" field empty in the config object');if(this.length<=0)throw new Error("Invalid length provided");if(this.length>this.dictionaries.length)throw new Error(`The length cannot be bigger than the number of dictionaries.
2
2
  Length provided: ${this.length}. Number of dictionaries provided: ${this.dictionaries.length}`);let r=this.seed;return this.dictionaries.slice(0,this.length).reduce((t,s)=>{let o;r?(o=(l=>{if(typeof l=="string"){const c=l.split("").map(d=>d.charCodeAt(0)).reduce((d,b)=>d+b,1),n=Math.floor(Number(c));return m(n)}return m(l)})(r),r=4294967296*o):o=Math.random();let i=s[Math.floor(o*s.length)]||"";if(this.style==="lowerCase")i=i.toLowerCase();else if(this.style==="capital"){const[l,...c]=i.split("");i=l.toUpperCase()+c.join("")}else this.style==="upperCase"&&(i=i.toUpperCase());return t?`${t}${this.separator}${i}`:`${i}`},"")}}const p={separator:"_",dictionaries:[]},_=e=>{const r=[...e&&e.dictionaries||p.dictionaries],t={...p,...e,length:e&&e.length||r.length,dictionaries:r};if(!e||!e.dictionaries||!e.dictionaries.length)throw new Error('A "dictionaries" array must be provided. This is a breaking change introduced starting from Unique Name Generator v4. Read more about the breaking change here: https://github.com/andreasonny83/unique-names-generator#migration-guide');return new L(t).generate()};var H=["aardvark","aardwolf","albatross","alligator","alpaca","amphibian","anaconda","angelfish","anglerfish","ant","anteater","antelope","antlion","ape","aphid","armadillo","asp","baboon","badger","bandicoot","barnacle","barracuda","basilisk","bass","bat","bear","beaver","bedbug","bee","beetle","bird","bison","blackbird","boa","boar","bobcat","bobolink","bonobo","booby","bovid","bug","butterfly","buzzard","camel","canid","canidae","capybara","cardinal","caribou","carp","cat","caterpillar","catfish","catshark","cattle","centipede","cephalopod","chameleon","cheetah","chickadee","chicken","chimpanzee","chinchilla","chipmunk","cicada","clam","clownfish","cobra","cockroach","cod","condor","constrictor","coral","cougar","cow","coyote","crab","crane","crawdad","crayfish","cricket","crocodile","crow","cuckoo","damselfly","deer","dingo","dinosaur","dog","dolphin","donkey","dormouse","dove","dragon","dragonfly","duck","eagle","earthworm","earwig","echidna","eel","egret","elephant","elk","emu","ermine","falcon","felidae","ferret","finch","firefly","fish","flamingo","flea","fly","flyingfish","fowl","fox","frog","galliform","gamefowl","gayal","gazelle","gecko","gerbil","gibbon","giraffe","goat","goldfish","goose","gopher","gorilla","grasshopper","grouse","guan","guanaco","guineafowl","gull","guppy","haddock","halibut","hamster","hare","harrier","hawk","hedgehog","heron","herring","hippopotamus","hookworm","hornet","horse","hoverfly","hummingbird","hyena","iguana","impala","jackal","jaguar","jay","jellyfish","junglefowl","kangaroo","kingfisher","kite","kiwi","koala","koi","krill","ladybug","lamprey","landfowl","lark","leech","lemming","lemur","leopard","leopon","limpet","lion","lizard","llama","lobster","locust","loon","louse","lungfish","lynx","macaw","mackerel","magpie","mammal","manatee","mandrill","marlin","marmoset","marmot","marsupial","marten","mastodon","meadowlark","meerkat","mink","minnow","mite","mockingbird","mole","mollusk","mongoose","monkey","moose","mosquito","moth","mouse","mule","muskox","narwhal","newt","nightingale","ocelot","octopus","opossum","orangutan","orca","ostrich","otter","owl","ox","panda","panther","parakeet","parrot","parrotfish","partridge","peacock","peafowl","pelican","penguin","perch","pheasant","pig","pigeon","pike","pinniped","piranha","planarian","platypus","pony","porcupine","porpoise","possum","prawn","primate","ptarmigan","puffin","puma","python","quail","quelea","quokka","rabbit","raccoon","rat","rattlesnake","raven","reindeer","reptile","rhinoceros","roadrunner","rodent","rook","rooster","roundworm","sailfish","salamander","salmon","sawfish","scallop","scorpion","seahorse","shark","sheep","shrew","shrimp","silkworm","silverfish","skink","skunk","sloth","slug","smelt","snail","snake","snipe","sole","sparrow","spider","spoonbill","squid","squirrel","starfish","stingray","stoat","stork","sturgeon","swallow","swan","swift","swordfish","swordtail","tahr","takin","tapir","tarantula","tarsier","termite","tern","thrush","tick","tiger","tiglon","toad","tortoise","toucan","trout","tuna","turkey","turtle","tyrannosaurus","unicorn","urial","vicuna","viper","vole","vulture","wallaby","walrus","warbler","wasp","weasel","whale","whippet","whitefish","wildcat","wildebeest","wildfowl","wolf","wolverine","wombat","woodpecker","worm","wren","xerinae","yak","zebra"],D=["amaranth","amber","amethyst","apricot","aqua","aquamarine","azure","beige","black","blue","blush","bronze","brown","chocolate","coffee","copper","coral","crimson","cyan","emerald","fuchsia","gold","gray","green","harlequin","indigo","ivory","jade","lavender","lime","magenta","maroon","moccasin","olive","orange","peach","pink","plum","purple","red","rose","salmon","sapphire","scarlet","silver","tan","teal","tomato","turquoise","violet","white","yellow"];const R=["booby","swallow"];function V(){return _({dictionaries:[D,H.filter(e=>!R.includes(e))]})}function Y({submitHandler:e}){const r=u.useId(),{handleSubmit:t,register:s,formState:{isValid:o}}=F({resolver:M(w),defaultValues:{serverName:V()}});return a.jsxs("div",{className:"max-w-[570px] space-y-5",children:[a.jsxs("div",{children:[a.jsx("h1",{className:"text-display-xs font-semibold",children:"Almost there! Select a server name"}),a.jsx("p",{className:"text-theme-text-secondary",children:"This will identify your ZenML server. You can use the generated name or create your own."})]}),a.jsxs("form",{onSubmit:t(e),className:"space-y-5",children:[a.jsx("div",{className:"space-y-2",children:a.jsxs("div",{className:"space-y-0.5",children:[a.jsx("label",{htmlFor:r,className:"text-text-sm",children:"Server Name"}),a.jsx(x,{...s("serverName"),id:r,className:"w-full"})]})}),a.jsx(j,{disabled:!o,className:"w-full text-center",size:"md",children:a.jsx("span",{className:"w-full",children:"Activate your Server"})})]})]})}async function Z(e){const r=C(q.activate),t=await N(r,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){const s=await t.json().then(o=>Array.isArray(o.detail)?o.detail[1]:o.detail).catch(()=>"Failed to activate server");throw new A({status:t.status,statusText:t.statusText,message:s})}return t.json()}function B(e){return T({mutationFn:async r=>Z(r),...e})}function G({setUsername:e}){const{serverSettings:r}=f(),{setSurveyStep:t}=h(),{setAuthState:s}=P(),{toast:o}=z(),{mutate:i}=U({onSuccess:()=>{s("true"),t(n=>n+1)}}),{mutate:l}=B({onSuccess:async n=>{e(n.name),i({username:n.name,password:r.admin_password??void 0})},onError:n=>{n instanceof Error&&o({status:"error",emphasis:"subtle",icon:a.jsx(E,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:n.message,rounded:!0})}});function c({serverName:n}){l({...r,server_name:n})}return a.jsx(Y,{submitHandler:c})}function J(){const{surveyStep:e}=h(),[r,t]=u.useState("");return a.jsx(a.Fragment,{children:a.jsxs($,{children:[a.jsx(v,{stepAmount:2}),e===1&&a.jsx(I,{}),e===2&&a.jsx(G,{setUsername:t}),e===3&&a.jsx(y,{subHeader:"Your created your ZenML account",username:r})]})})}function ce(){return a.jsx(k,{children:a.jsx(J,{})})}export{ce as default};
@@ -1 +1 @@
1
- import{r as l,j as e}from"./@radix-DnFH_oo1.js";import{u as c,S as x,a as y,b as v}from"./form-schemas-Bap0f854.js";import{A as j,I as U,P as h,U as b,S as _}from"./UsageReason-CCnzmwS8.js";import{i as g,as as C,aQ as P,j as w,ar as A,S as E}from"./index-B9wVwe7u.js";import{c as F}from"./@tanstack-QbMbTrh5.js";import"./check-circle-DOoS4yhF.js";import"./url-DwbuKk1b.js";import"./@react-router-APVeuk-U.js";import"./UpdatePasswordSchemas-C6Zb7ASL.js";import"./zod-uFd1wBcd.js";import"./index.esm-BE1uqCX5.js";import"./gcp-Dj6ntk0L.js";import"./kubernetes-BjbR6D-1.js";import"./rocket-SESCGQXm.js";import"./@reactflow-B6kq9fJZ.js";const S=l.createContext(null);function H({children:t,initialUser:a}){const[n,r]=l.useState(a||{});return e.jsx(S.Provider,{value:{user:n,setUser:r},children:t})}function d(){const t=l.useContext(S);if(t===null)throw new Error("useSurveyUserContext must be used within an SurveyUserProvider");return t}function D({user:t}){var u,i;const{setSurveyStep:a}=c(),{setUser:n}=d();function r({fullName:s,getUpdates:m,email:o}){n(p=>({...p,...o?{email:o}:{email:null},full_name:s,email_opted_in:m})),a(2)}return e.jsx(j,{email:(u=t.metadata)==null?void 0:u.email,fullName:(i=t.body)==null?void 0:i.full_name,submitHandler:r})}function I(){const{user:t}=d(),{setSurveyStep:a}=c(),{toast:n}=g(),r=F(),{mutate:u}=C({onSuccess:async()=>{await r.invalidateQueries({queryKey:P()}),a(s=>s+1)},onError:s=>{s instanceof Error&&n({status:"error",emphasis:"subtle",icon:e.jsx(w,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:s.message,rounded:!0})}});function i({other:s,providers:m,otherVal:o}){const f={infra_providers:s?[...m,o]:m,finished_onboarding_survey:!0};u({...t,user_metadata:{...t.user_metadata,...f}})}return e.jsx(U,{submitHandler:i})}function R({user:t}){const{setSurveyStep:a}=c(),{setUser:n}=d();function r({primaryUse:u}){const i={primary_use:u};n(s=>({...s,user_metadata:{...s.user_metadata,...i}})),a(3)}return e.jsx(h,{user:t,submitHandler:r})}function k(){const{setSurveyStep:t}=c(),{setUser:a}=d();function n({usageReason:r,comparison_tools:u,otherTool:i,otherToolVal:s}){const m={usage_reason:r,...!!u&&{comparing_tools:i&&s?[...u,s]:u}};a(o=>({...o,user_metadata:{...o.user_metadata,...m}})),t(o=>o+1)}return e.jsx(b,{submitHandler:n})}function M(){const{data:t,isPending:a,isError:n}=A({throwOnError:!0}),{surveyStep:r}=c();return n?null:a?e.jsx(E,{className:"h-[300px]"}):e.jsx(e.Fragment,{children:e.jsxs(H,{children:[e.jsx(x,{stepAmount:5}),r===1&&e.jsx(D,{user:t}),r===2&&e.jsx(R,{user:t}),r===3&&e.jsx(k,{}),r===4&&e.jsx(I,{}),r===5&&e.jsx(_,{}),r===6&&e.jsx(y,{subHeader:"Your ZenML account is now updated",displayBody:!1,username:t.name})]})})}function $(){return e.jsx("div",{children:e.jsx(v,{children:e.jsx(M,{})})})}export{$ as default};
1
+ import{r as l,j as e}from"./@radix-DnFH_oo1.js";import{u as c,S as x,a as y,b as v}from"./form-schemas-BKXwSDK2.js";import{A as j,I as U,P as h,U as b,S as _}from"./UsageReason-CKw0juLF.js";import{i as g,aw as C,aR as P,j as w,av as A,S as E}from"./index-Ci0nJ8EZ.js";import{c as F}from"./@tanstack-QbMbTrh5.js";import"./check-circle-DOoS4yhF.js";import"./url-CbAPzsmT.js";import"./@react-router-APVeuk-U.js";import"./UpdatePasswordSchemas-CUm-DMpw.js";import"./zod-uFd1wBcd.js";import"./index.esm-BE1uqCX5.js";import"./gcp-Dj6ntk0L.js";import"./kubernetes-BjbR6D-1.js";import"./rocket-SESCGQXm.js";import"./@reactflow-ytavUpwh.js";const S=l.createContext(null);function H({children:t,initialUser:a}){const[n,r]=l.useState(a||{});return e.jsx(S.Provider,{value:{user:n,setUser:r},children:t})}function d(){const t=l.useContext(S);if(t===null)throw new Error("useSurveyUserContext must be used within an SurveyUserProvider");return t}function R({user:t}){var u,i;const{setSurveyStep:a}=c(),{setUser:n}=d();function r({fullName:s,getUpdates:m,email:o}){n(p=>({...p,...o?{email:o}:{email:null},full_name:s,email_opted_in:m})),a(2)}return e.jsx(j,{email:(u=t.metadata)==null?void 0:u.email,fullName:(i=t.body)==null?void 0:i.full_name,submitHandler:r})}function D(){const{user:t}=d(),{setSurveyStep:a}=c(),{toast:n}=g(),r=F(),{mutate:u}=C({onSuccess:async()=>{await r.invalidateQueries({queryKey:P()}),a(s=>s+1)},onError:s=>{s instanceof Error&&n({status:"error",emphasis:"subtle",icon:e.jsx(w,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:s.message,rounded:!0})}});function i({other:s,providers:m,otherVal:o}){const f={infra_providers:s?[...m,o]:m,finished_onboarding_survey:!0};u({...t,user_metadata:{...t.user_metadata,...f}})}return e.jsx(U,{submitHandler:i})}function I({user:t}){const{setSurveyStep:a}=c(),{setUser:n}=d();function r({primaryUse:u}){const i={primary_use:u};n(s=>({...s,user_metadata:{...s.user_metadata,...i}})),a(3)}return e.jsx(h,{user:t,submitHandler:r})}function k(){const{setSurveyStep:t}=c(),{setUser:a}=d();function n({usageReason:r,comparison_tools:u,otherTool:i,otherToolVal:s}){const m={usage_reason:r,...!!u&&{comparing_tools:i&&s?[...u,s]:u}};a(o=>({...o,user_metadata:{...o.user_metadata,...m}})),t(o=>o+1)}return e.jsx(b,{submitHandler:n})}function M(){const{data:t,isPending:a,isError:n}=A({throwOnError:!0}),{surveyStep:r}=c();return n?null:a?e.jsx(E,{className:"h-[300px]"}):e.jsx(e.Fragment,{children:e.jsxs(H,{children:[e.jsx(x,{stepAmount:5}),r===1&&e.jsx(R,{user:t}),r===2&&e.jsx(I,{user:t}),r===3&&e.jsx(k,{}),r===4&&e.jsx(D,{}),r===5&&e.jsx(_,{}),r===6&&e.jsx(y,{subHeader:"Your ZenML account is now updated",displayBody:!1,username:t.name})]})})}function $(){return e.jsx("div",{children:e.jsx(v,{children:e.jsx(M,{})})})}export{$ as default};
@@ -0,0 +1 @@
1
+ import{r as t,j as e}from"./@radix-DnFH_oo1.js";import{S as I}from"./code-browser-BJYErIjr.js";import{H as x}from"./help-CwN931fX.js";import{B as T,Q as B,aI as R,c as V,S,ah as E,r as d,T as a,v as l,w as n,W as m,x as c,aJ as P}from"./index-Ci0nJ8EZ.js";import{c as z,L as h}from"./@react-router-APVeuk-U.js";import{C as L}from"./ProviderIcon-C16CCIN4.js";import{S as F}from"./layout-Dru15_XR.js";import"./@tanstack-QbMbTrh5.js";import"./@reactflow-ytavUpwh.js";import"./gcp-Dj6ntk0L.js";const _=s=>t.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...s},t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.56811 2C4.57873 2 4.58936 2.00001 4.60001 2.00001H5.40001C5.41065 2.00001 5.42128 2 5.4319 2C5.68429 1.99997 5.93008 1.99994 6.13824 2.01695C6.36683 2.03563 6.63656 2.07969 6.90799 2.21799C7.28431 2.40974 7.59027 2.7157 7.78202 3.09202C7.92032 3.36345 7.96438 3.63318 7.98306 3.86178C7.98669 3.90624 7.98955 3.95241 7.99179 4.00001L16.0082 4.00001C16.0105 3.95241 16.0133 3.90624 16.0169 3.86178C16.0356 3.63318 16.0797 3.36345 16.218 3.09202C16.4097 2.7157 16.7157 2.40974 17.092 2.21799C17.3634 2.07969 17.6332 2.03563 17.8618 2.01695C18.0699 1.99994 18.3157 1.99997 18.5681 2H19.4319C19.6843 1.99997 19.9301 1.99994 20.1382 2.01695C20.3668 2.03563 20.6366 2.07969 20.908 2.21799C21.2843 2.40974 21.5903 2.7157 21.782 3.09202C21.9203 3.36345 21.9644 3.63318 21.9831 3.86178C22.0001 4.06993 22 4.31571 22 4.56809V5.43192C22 5.6843 22.0001 5.93008 21.9831 6.13824C21.9644 6.36683 21.9203 6.63656 21.782 6.90799C21.5903 7.28431 21.2843 7.59027 20.908 7.78202C20.6366 7.92032 20.3668 7.96438 20.1382 7.98306C20.0938 7.98669 20.0476 7.98955 20 7.99179V11C20 11.5523 19.5523 12 19 12C18.4477 12 18 11.5523 18 11V7.99179C17.9524 7.98955 17.9062 7.98669 17.8618 7.98306C17.6332 7.96438 17.3634 7.92032 17.092 7.78202C16.7157 7.59027 16.4097 7.28431 16.218 6.90799C16.0797 6.63656 16.0356 6.36683 16.0169 6.13824C16.0133 6.09377 16.0105 6.0476 16.0082 6.00001L7.99179 6.00001C7.98955 6.0476 7.98669 6.09377 7.98306 6.13824C7.96438 6.36683 7.92032 6.63656 7.78202 6.90799C7.59027 7.28431 7.28431 7.59027 6.90799 7.78202C6.63656 7.92032 6.36683 7.96438 6.13824 7.98306C6.09377 7.98669 6.0476 7.98955 6.00001 7.99179V16.0082C6.0476 16.0105 6.09377 16.0133 6.13824 16.0169C6.36683 16.0356 6.63656 16.0797 6.90799 16.218C7.28431 16.4097 7.59027 16.7157 7.78202 17.092C7.92032 17.3634 7.96438 17.6332 7.98306 17.8618C7.98669 17.9062 7.98955 17.9524 7.99179 18H11C11.5523 18 12 18.4477 12 19C12 19.5523 11.5523 20 11 20H7.99179C7.98955 20.0476 7.98669 20.0938 7.98306 20.1382C7.96438 20.3668 7.92032 20.6366 7.78202 20.908C7.59027 21.2843 7.28431 21.5903 6.90799 21.782C6.63656 21.9203 6.36683 21.9644 6.13824 21.9831C5.93008 22.0001 5.6843 22 5.43192 22H4.56809C4.31571 22 4.06993 22.0001 3.86178 21.9831C3.63318 21.9644 3.36345 21.9203 3.09202 21.782C2.7157 21.5903 2.40974 21.2843 2.21799 20.908C2.07969 20.6366 2.03563 20.3668 2.01695 20.1382C1.99994 19.9301 1.99997 19.6843 2 19.4319V18.5681C1.99997 18.3157 1.99994 18.0699 2.01695 17.8618C2.03563 17.6332 2.07969 17.3634 2.21799 17.092C2.40974 16.7157 2.7157 16.4097 3.09202 16.218C3.36345 16.0797 3.63318 16.0356 3.86178 16.0169C3.90624 16.0133 3.95241 16.0105 4.00001 16.0082V7.99179C3.95241 7.98955 3.90624 7.98669 3.86178 7.98306C3.63318 7.96438 3.36345 7.92032 3.09202 7.78202C2.7157 7.59027 2.40974 7.28431 2.21799 6.90799C2.07969 6.63656 2.03563 6.36683 2.01695 6.13824C1.99994 5.93008 1.99997 5.68429 2 5.4319C2 5.42128 2.00001 5.41065 2.00001 5.40001V4.60001C2.00001 4.58936 2 4.57873 2 4.56811C1.99997 4.31572 1.99994 4.06993 2.01695 3.86178C2.03563 3.63318 2.07969 3.36345 2.21799 3.09202C2.40974 2.7157 2.7157 2.40974 3.09202 2.21799C3.36345 2.07969 3.63318 2.03563 3.86178 2.01695C4.06993 1.99994 4.31572 1.99997 4.56811 2ZM5.40001 6.00001C5.69653 6.00001 5.85879 5.99923 5.97537 5.9897C5.98001 5.98932 5.98441 5.98894 5.98856 5.98856C5.98894 5.98441 5.98932 5.98001 5.9897 5.97537C5.99923 5.85879 6.00001 5.69653 6.00001 5.40001V4.60001C6.00001 4.30348 5.99923 4.14122 5.9897 4.02464C5.98932 4.02 5.98894 4.0156 5.98856 4.01145C5.98441 4.01107 5.98001 4.01069 5.97537 4.01031C5.85879 4.00078 5.69653 4.00001 5.40001 4.00001H4.60001C4.30348 4.00001 4.14122 4.00078 4.02464 4.01031C4.02 4.01069 4.0156 4.01107 4.01145 4.01145C4.01107 4.0156 4.01069 4.02 4.01031 4.02464C4.00078 4.14122 4.00001 4.30348 4.00001 4.60001V5.40001C4.00001 5.69653 4.00078 5.85879 4.01031 5.97537C4.01069 5.98001 4.01107 5.98441 4.01145 5.98856C4.0156 5.98894 4.02 5.98932 4.02464 5.9897C4.14122 5.99923 4.30348 6.00001 4.60001 6.00001H5.40001ZM4.60001 18C4.30348 18 4.14122 18.0008 4.02464 18.0103C4.02 18.0107 4.0156 18.0111 4.01145 18.0115C4.01107 18.0156 4.01069 18.02 4.01031 18.0246C4.00078 18.1412 4.00001 18.3035 4.00001 18.6V19.4C4.00001 19.6965 4.00078 19.8588 4.01031 19.9754C4.01069 19.98 4.01107 19.9844 4.01145 19.9885C4.0156 19.9889 4.02 19.9893 4.02464 19.9897C4.14122 19.9992 4.30348 20 4.60001 20H5.40001C5.69653 20 5.85879 19.9992 5.97537 19.9897C5.98001 19.9893 5.98441 19.9889 5.98856 19.9885C5.98894 19.9844 5.98932 19.98 5.9897 19.9754C5.99923 19.8588 6.00001 19.6965 6.00001 19.4V18.6C6.00001 18.3035 5.99923 18.1412 5.9897 18.0246C5.98932 18.02 5.98894 18.0156 5.98856 18.0115C5.98441 18.0111 5.98001 18.0107 5.97537 18.0103C5.85879 18.0008 5.69653 18 5.40001 18H4.60001ZM18 5.40001C18 5.69653 18.0008 5.85879 18.0103 5.97537C18.0107 5.98001 18.0111 5.98441 18.0115 5.98856C18.0156 5.98894 18.02 5.98932 18.0246 5.9897C18.1412 5.99923 18.3035 6.00001 18.6 6.00001H19.4C19.6965 6.00001 19.8588 5.99923 19.9754 5.9897C19.98 5.98932 19.9844 5.98893 19.9886 5.98855C19.9889 5.9844 19.9893 5.98001 19.9897 5.97537C19.9992 5.85879 20 5.69653 20 5.40001V4.60001C20 4.30348 19.9992 4.14122 19.9897 4.02464C19.9893 4.02 19.9889 4.0156 19.9885 4.01145C19.9844 4.01107 19.98 4.01069 19.9754 4.01031C19.8588 4.00078 19.6965 4.00001 19.4 4.00001H18.6C18.3035 4.00001 18.1412 4.00078 18.0246 4.01031C18.02 4.01069 18.0156 4.01107 18.0115 4.01145C18.0111 4.0156 18.0107 4.02 18.0103 4.02464C18.0008 4.14122 18 4.30348 18 4.60001V5.40001ZM18 14C18.5523 14 19 14.4477 19 15V17H21C21.5523 17 22 17.4477 22 18C22 18.5523 21.5523 19 21 19H19V21C19 21.5523 18.5523 22 18 22C17.4477 22 17 21.5523 17 21V19H15C14.4477 19 14 18.5523 14 18C14 17.4477 14.4477 17 15 17H17V15C17 14.4477 17.4477 14 18 14Z"}));function M(){return e.jsx("div",{className:"group absolute z-20 flex h-full w-full items-center justify-center rounded-md border border-theme-border-moderate bg-white/70",children:e.jsx("div",{className:"hidden rounded-md bg-theme-text-primary px-3 py-2 text-text-xs text-theme-text-negative shadow-lg animate-in fade-in-0 fade-out-0 zoom-in-95 group-hover:block",children:"This option is not available for local deployments"})})}const D=s=>t.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...s},t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3ZM1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12ZM12 5C12.5523 5 13 5.44772 13 6V11.382L16.4472 13.1056C16.9412 13.3526 17.1414 13.9532 16.8944 14.4472C16.6474 14.9412 16.0468 15.1414 15.5528 14.8944L11.5528 12.8944C11.214 12.725 11 12.3788 11 12V6C11 5.44772 11.4477 5 12 5Z"})),U=s=>t.createElement("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...s},t.createElement("path",{d:"M15.1636 8.68344V14.9934L20.644 11.8401V5.52344L15.1636 8.68344Z",fill:"#4040B2"}),t.createElement("path",{d:"M9.08185 5.52344L14.5622 8.68344V14.9934L9.08185 11.8368V5.52344Z",fill:"#5C4EE5"}),t.createElement("path",{d:"M3 2V8.31333L8.48033 11.47V5.15667L3 2ZM9.08183 18.8433L14.5622 22V15.6867L9.08183 12.53V18.8433Z",fill:"#5C4EE5"})),$=s=>t.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...s},t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.5 4C7.84315 4 6.5 5.34315 6.5 7C6.5 8.65685 7.84315 10 9.5 10C11.1569 10 12.5 8.65685 12.5 7C12.5 5.34315 11.1569 4 9.5 4ZM4.5 7C4.5 4.23858 6.73858 2 9.5 2C12.2614 2 14.5 4.23858 14.5 7C14.5 9.76142 12.2614 12 9.5 12C6.73858 12 4.5 9.76142 4.5 7ZM14.5731 2.91554C14.7803 2.40361 15.3633 2.1566 15.8752 2.36382C17.7058 3.10481 19 4.90006 19 7C19 9.09994 17.7058 10.8952 15.8752 11.6362C15.3633 11.8434 14.7803 11.5964 14.5731 11.0845C14.3658 10.5725 14.6129 9.98953 15.1248 9.7823C16.2261 9.33652 17 8.25744 17 7C17 5.74256 16.2261 4.66348 15.1248 4.2177C14.6129 4.01047 14.3658 3.42748 14.5731 2.91554ZM7.96448 14H11.0355C11.9373 14 12.6647 14 13.2567 14.0404C13.8654 14.0819 14.4037 14.1695 14.9134 14.3806C16.1386 14.8881 17.1119 15.8614 17.6194 17.0866C17.8305 17.5963 17.9181 18.1346 17.9596 18.7433C18 19.3353 18 20.0627 18 20.9645V21C18 21.5523 17.5523 22 17 22C16.4477 22 16 21.5523 16 21C16 20.0544 15.9995 19.3953 15.9643 18.8794C15.9297 18.3725 15.865 18.0773 15.7716 17.8519C15.4672 17.1169 14.8831 16.5328 14.1481 16.2284C13.9227 16.135 13.6275 16.0703 13.1206 16.0357C12.6047 16.0005 11.9456 16 11 16H8C7.05444 16 6.39534 16.0005 5.87945 16.0357C5.37254 16.0703 5.07733 16.135 4.85195 16.2284C4.11687 16.5328 3.53284 17.1169 3.22836 17.8519C3.135 18.0773 3.07033 18.3725 3.03574 18.8794C3.00054 19.3953 3 20.0544 3 21C3 21.5523 2.55229 22 2 22C1.44772 22 1 21.5523 1 21L1 20.9645C0.999993 20.0627 0.999988 19.3353 1.04038 18.7433C1.08191 18.1346 1.16948 17.5963 1.3806 17.0866C1.88807 15.8614 2.86144 14.8881 4.08658 14.3806C4.59628 14.1695 5.13456 14.0819 5.74331 14.0404C6.33531 14 7.06272 14 7.96448 14ZM18.0316 14.8768C18.1692 14.3419 18.7144 14.0199 19.2493 14.1576C21.4056 14.7126 23 16.6688 23 19V21C23 21.5523 22.5523 22 22 22C21.4477 22 21 21.5523 21 21V19C21 17.6035 20.0449 16.4275 18.7507 16.0945C18.2159 15.9568 17.8939 15.4116 18.0316 14.8768Z"}));function C({children:s,className:r,...i}){return e.jsx(T,{...i,className:B("h-full w-full space-y-1 px-6 py-5",r),children:s})}function u({children:s}){return e.jsx(e.Fragment,{children:s})}function j({children:s}){return e.jsx("div",{className:"space-y-0.5",children:s})}function f({children:s}){return e.jsx("div",{className:"flex items-center gap-1",children:s})}function p({children:s}){return e.jsx("h2",{className:"text-text-lg font-semibold",children:s})}function g({children:s}){return e.jsx("p",{className:"text-theme-text-secondary",children:s})}function y({children:s}){return e.jsx("div",{className:"flex w-full flex-wrap items-start justify-between gap-y-1",children:s})}function v({hasTerraform:s=!1}){return e.jsxs("div",{className:"flex items-center gap-2",children:[s&&e.jsx(U,{className:"h-4 w-4 shrink-0"}),e.jsx(L,{className:"h-4 w-4",provider:"aws"}),e.jsx(L,{className:"h-4 w-4",provider:"gcp"}),e.jsx(L,{className:"h-4 w-4",provider:"azure"})]})}function w({min:s}){return e.jsxs("div",{className:"flex items-center gap-0.5",children:[e.jsx(D,{className:"h-3 w-3 shrink-0 fill-theme-text-tertiary"}),e.jsxs("p",{className:"text-text-xs text-theme-text-tertiary",children:["Estimated time: ",s," mins"]})]})}function N({flexibility:s,children:r}){return e.jsxs("div",{className:"flex w-full items-center gap-0.5 lg:w-1/3",children:[e.jsxs("div",{className:"flex items-center gap-0.5",children:[e.jsx("span",{className:"text-theme-text-secondary",children:"Flexibility"}),r]}),e.jsx(R,{className:"h-1 flex-1 shrink-0 rounded-rounded",value:s})]})}function k({children:s}){return e.jsx("div",{className:"flex flex-wrap items-center justify-between gap-y-1 text-text-xs",children:s})}function b({recommendataion:s}){return e.jsxs("div",{className:"flex items-center gap-0.5 text-text-xs text-theme-text-success",children:[e.jsx($,{className:"h-3 w-3 shrink-0 fill-theme-text-success"}),e.jsxs("p",{children:["Recommended for ",s]})]})}const H="https://docs.zenml.io/how-to/stack-deployment/deploy-a-cloud-stack";function q(){const{isError:s,isPending:r,data:i}=V();if(r)return e.jsx(S,{className:"h-[200px] w-full"});if(s)return e.jsx("div",{children:"Failed to load server info"});const o=E(i.deployment_type||"other");return e.jsxs("section",{className:"w-full space-y-5",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-text-xl font-semibold",children:"Create New Infrastructure"}),e.jsx("p",{className:"text-theme-text-secondary",children:"Use our smart tools to create a new Cloud infrastructure a quick and simplified way."})]}),e.jsxs("div",{className:"grid w-full grid-cols-1 gap-6 md:grid-cols-2",children:[e.jsx(O,{isLocalDeployment:o}),e.jsx(Q,{isLocalDeployment:o})]})]})}function O({isLocalDeployment:s}){const[r]=z(),i=d.stacks.create.newInfra+(r.size>=1?`?${r.toString()}`:"");return e.jsxs("div",{className:"relative",children:[s&&e.jsx(M,{}),e.jsx(h,{to:i,children:e.jsxs(C,{children:[e.jsxs(y,{children:[e.jsx(u,{children:e.jsx(I,{className:"h-6 w-6 fill-primary-400"})}),e.jsx(v,{})]}),e.jsxs(j,{children:[e.jsxs(f,{children:[e.jsx(p,{children:"In-browser Experience"}),e.jsx(a,{children:e.jsxs(l,{children:[e.jsx(n,{asChild:!0,children:e.jsx("div",{className:"z-10",children:e.jsx(m,{className:"h-5 w-5 shrink-0 fill-theme-text-tertiary"})})}),e.jsxs(c,{align:"start",side:"bottom",className:"z-50 flex max-w-[480px] flex-col gap-2 bg-theme-surface-primary p-5 text-text-sm text-theme-text-primary",children:[e.jsx("p",{children:"Deploy the necessary pieces of infrastructure on your selected cloud provider and get you started on remote stack with a single click."}),e.jsx("a",{className:"link text-primary-400",target:"_blank",href:H,children:"Learn More"})]})]})})]}),e.jsx(g,{children:"Provision cloud infrastructure via browser UI. No local installs needed. Quick setup for cloud resources."})]}),e.jsx(b,{recommendataion:"data scientists"}),e.jsxs(k,{children:[e.jsx(w,{min:"5"}),e.jsx(N,{flexibility:25,children:e.jsx(a,{children:e.jsxs(l,{children:[e.jsx(n,{asChild:!0,children:e.jsx("div",{className:"z-10",children:e.jsx(x,{className:"h-3 w-3 shrink-0 fill-theme-text-tertiary"})})}),e.jsxs(c,{className:"z-50 max-w-[480px] bg-theme-surface-primary text-theme-text-primary",children:[e.jsx("strong",{children:"Low flexibility:"})," Best for straightforward setups with minimal customization."]})]})})})]})]})})]})}function Q({isLocalDeployment:s}){const[r]=z(),i=d.stacks.create.terraform+(r.size>=1?`?${r.toString()}`:"");return e.jsxs("div",{className:"relative",children:[s&&e.jsx(M,{}),e.jsx(h,{to:i,children:e.jsxs(C,{className:"flex flex-col justify-between space-y-0",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs(y,{children:[e.jsx(u,{children:e.jsx(_,{className:"h-6 w-6 fill-primary-400"})}),e.jsx(v,{hasTerraform:!0})]}),e.jsxs(j,{children:[e.jsxs(f,{children:[e.jsx(p,{children:"Infrastructure-as-code"}),e.jsx(a,{children:e.jsxs(l,{children:[e.jsx(n,{asChild:!0,children:e.jsx("div",{className:"z-10",children:e.jsx(m,{className:"h-5 w-5 shrink-0 fill-theme-text-tertiary"})})}),e.jsxs(c,{align:"start",side:"bottom",className:"z-50 flex max-w-[480px] flex-col gap-2 bg-theme-surface-primary p-5 text-text-sm text-theme-text-primary",children:[e.jsx("p",{children:"Infrastructure-as-code (IaC) refers to using a dynamic codebase to provision and manage infrastructure, rather than deferring to manual processes."}),e.jsx("a",{className:"link text-primary-400",target:"_blank",href:H,children:"Learn More"})]})]})})]}),e.jsx(g,{children:"Use Terraform modules to deploy infrastructure and register it back to ZenML."})]})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx(b,{recommendataion:"infrastructure engineers"}),e.jsxs(k,{children:[e.jsx(w,{min:"3"}),e.jsx(N,{flexibility:75,children:e.jsx(a,{children:e.jsxs(l,{children:[e.jsx(n,{asChild:!0,children:e.jsx("div",{className:"z-10",children:e.jsx(x,{className:"h-3 w-3 shrink-0 fill-theme-text-tertiary"})})}),e.jsxs(c,{className:"z-50 max-w-[480px] bg-theme-surface-primary text-theme-text-primary",children:[e.jsx("strong",{children:"High flexibility:"})," Offers extensive customization for advanced users or complex setups."]})]})})})]})]})]})})]})}const Z="https://docs.zenml.io/how-to/stack-deployment/deploy-a-cloud-stack";function A(){const{isError:s,isPending:r,data:i}=V();if(r)return e.jsx(S,{className:"h-[200px] w-full"});if(s)return e.jsx("div",{children:"Failed to load server info"});const o=E(i.deployment_type||"other");return e.jsxs("section",{className:"w-full space-y-5",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-text-xl font-semibold",children:"Connect Existing Infrastructure"}),e.jsx("p",{className:"text-theme-text-secondary",children:"Register your stack and components using existing resources that are already provisioned."})]}),e.jsxs("div",{className:"grid w-full grid-cols-1 gap-6 md:grid-cols-2",children:[e.jsx(W,{isLocalDeployment:o}),e.jsx(J,{})]})]})}function J(){const[s]=z(),r=d.stacks.create.manual+(s.size>=1?`?${s.toString()}`:"");return e.jsx("div",{className:"relative",children:e.jsx(h,{to:r,children:e.jsxs(C,{children:[e.jsxs(y,{children:[e.jsx(u,{children:e.jsx(F,{className:"h-6 w-6 fill-primary-400"})}),e.jsx(v,{})]}),e.jsxs(j,{children:[e.jsxs(f,{children:[e.jsx(p,{children:"Manual Setup"}),e.jsx(a,{children:e.jsxs(l,{children:[e.jsx(n,{asChild:!0,children:e.jsx("div",{className:"z-10",children:e.jsx(m,{className:"h-5 w-5 shrink-0 fill-theme-text-tertiary"})})}),e.jsxs(c,{align:"start",side:"bottom",className:"z-50 flex max-w-[480px] flex-col gap-2 bg-theme-surface-primary p-5 text-text-sm text-theme-text-primary",children:[e.jsx("p",{children:"Customize your ML stack by selecting each component individually through the ZenML interface. Choose from a list of pre-configured components or add new ones tailored to your needs."}),e.jsx("a",{className:"link text-primary-400",target:"_blank",href:Z,children:"Learn More"})]})]})})]}),e.jsx(g,{children:"Register stack and components manually using ZenML. Recommended for advanced or custom configurations."})]}),e.jsx(b,{recommendataion:"advanced users"}),e.jsxs(k,{children:[e.jsx(w,{min:"5-10"}),e.jsx(N,{flexibility:100,children:e.jsx(a,{children:e.jsxs(l,{children:[e.jsx(n,{asChild:!0,children:e.jsx("div",{className:"z-10",children:e.jsx(x,{className:"h-3 w-3 shrink-0 fill-theme-text-tertiary"})})}),e.jsxs(c,{className:"z-50 max-w-[480px] bg-theme-surface-primary text-theme-text-primary",children:[e.jsx("strong",{children:"Full flexibility:"})," Complete control and customization. For expert users and highly specialized requirements."]})]})})})]})]})})})}function W({isLocalDeployment:s}){return e.jsxs("div",{className:"relative",children:[s&&e.jsx(M,{}),e.jsx(h,{to:d.stacks.create.existingInfra,children:e.jsxs(C,{children:[e.jsxs(y,{children:[e.jsx(u,{children:e.jsx(P,{className:"h-6 w-6 fill-primary-400"})}),e.jsx(v,{})]}),e.jsxs(j,{children:[e.jsxs(f,{children:[e.jsx(p,{children:"Scan your Cloud"}),e.jsx(a,{children:e.jsxs(l,{children:[e.jsx(n,{asChild:!0,children:e.jsx("div",{className:"z-10",children:e.jsx(m,{className:"h-5 w-5 shrink-0 fill-theme-text-tertiary"})})}),e.jsxs(c,{align:"start",side:"bottom",className:"z-50 flex max-w-[480px] flex-col gap-2 bg-theme-surface-primary p-5 text-text-sm text-theme-text-primary",children:[e.jsx("p",{children:"The stack wizard allows you to browse through your existing infrastructure and use it to register a ZenML cloud stack."}),e.jsx("a",{className:"link text-primary-400",target:"_blank",href:Z,children:"Learn More"})]})]})})]}),e.jsx(g,{children:"Input your credentials and scan existing infrastructure on your cloud provider. Best for users with existing resources."})]}),e.jsx(b,{recommendataion:"infrastructure engineers"}),e.jsxs(k,{children:[e.jsx(w,{min:"5"}),e.jsx(N,{flexibility:50,children:e.jsx(a,{children:e.jsxs(l,{children:[e.jsx(n,{asChild:!0,children:e.jsx("div",{className:"z-10",children:e.jsx(x,{className:"h-3 w-3 shrink-0 fill-theme-text-tertiary"})})}),e.jsxs(c,{className:"z-50 max-w-[480px] bg-theme-surface-primary text-theme-text-primary",children:[e.jsx("strong",{children:"Medium flexibility:"})," Balances ease-of-use with some customization options."]})]})})})]})]})})]})}function l1(){return e.jsxs("section",{className:"layout-container space-y-5 py-5",children:[e.jsx(q,{}),e.jsx(A,{})]})}export{l1 as default};
@@ -0,0 +1 @@
1
+ import{r as o,j as e}from"./@radix-DnFH_oo1.js";import{l as j,m as C,k as y,n as M,F as b,a7 as T,a8 as F,f as h,a9 as E,aa as P,ab as U,an as k,z as m,i as v,I as O,ao as I,ap as R,aq as _,ar as q,j as D,ai as H,ak as z,as as Z,am as B,at as K,D as Q,q as V,s as G,e as w,au as L,av as J,S as f,G as $,B as W}from"./index-Ci0nJ8EZ.js";import{S as X,P as Y}from"./SearchField-BzmfxS0L.js";import{a as ee,b as N,c as A}from"./@tanstack-QbMbTrh5.js";import{o as se}from"./url-CbAPzsmT.js";import{C as te}from"./CodeSnippet-IxXNxUDa.js";import{u as ae}from"./index.esm-BE1uqCX5.js";import{D as re}from"./DisplayDate-DkCy54Bp.js";import{I as ne}from"./InlineAvatar-CA3DFMcM.js";import{S as ie}from"./dots-horizontal-C6K59vUm.js";import{A as oe}from"./AlertDialogDropdownItem-xLR9a1iw.js";import{c as le}from"./@react-router-APVeuk-U.js";import"./@reactflow-ytavUpwh.js";import"./chevron-right-double-c9H46Kl8.js";import"./index-5GJ5ysEZ.js";import"./copy-CaGlDsUy.js";function ce({params:a}){return["users",a]}async function de({params:a}){const s=j(C.users.all+"?"+se(a)),t=await y(s,{method:"GET",headers:{"Content-Type":"application/json"}});if(t.status===404&&M(),!t.ok)throw new b({message:"Error while fetching users",status:t.status,statusText:t.statusText});return t.json()}function ue(a,s){return ee({queryKey:ce(a),queryFn:()=>de(a),...s})}const me=a=>o.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...a},o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10 4C8.06703 4 6.50002 5.567 6.50002 7.5C6.50002 9.433 8.06703 11 10 11C11.933 11 13.5 9.433 13.5 7.5C13.5 5.567 11.933 4 10 4ZM4.50002 7.5C4.50002 4.46243 6.96246 2 10 2C13.0376 2 15.5 4.46243 15.5 7.5C15.5 10.5376 13.0376 13 10 13C6.96246 13 4.50002 10.5376 4.50002 7.5ZM19 14C19.5523 14 20 14.4477 20 15V17H22C22.5523 17 23 17.4477 23 18C23 18.5523 22.5523 19 22 19H20V21C20 21.5523 19.5523 22 19 22C18.4477 22 18 21.5523 18 21V19H16C15.4477 19 15 18.5523 15 18C15 17.4477 15.4477 17 16 17H18V15C18 14.4477 18.4477 14 19 14ZM7.32629 14.5C7.38335 14.5 7.44125 14.5 7.50003 14.5H12C12.5523 14.5 13 14.9477 13 15.5C13 16.0523 12.5523 16.5 12 16.5H7.50003C6.03171 16.5 5.51923 16.5109 5.12917 16.6292C4.17036 16.92 3.42005 17.6703 3.1292 18.6291C3.01088 19.0192 3.00002 19.5317 3.00002 21C3.00002 21.5523 2.55231 22 2.00002 22C1.44774 22 1.00002 21.5523 1.00002 21C1.00002 20.9412 1 20.8833 0.99998 20.8263C0.999526 19.599 0.999216 18.761 1.21532 18.0486C1.70007 16.4506 2.95059 15.2 4.54859 14.7153C5.261 14.4992 6.09902 14.4995 7.32629 14.5Z"}));async function he(a){const s=j(C.users.all),t=await y(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!t.ok){const r=await t.json().then(n=>n.detail).catch(()=>"Failed to create User");throw new b({status:t.status,statusText:t.statusText,message:r})}return t.json()}function xe(a){return N({mutationFn:async s=>he(s),...a})}function pe(){const[a,s]=o.useState(!1),[t,r]=o.useState(null);return e.jsxs(T,{open:a,onOpenChange:n=>{s(n),r(null)},children:[e.jsx(F,{asChild:!0,children:e.jsx(h,{className:"shrink-0",intent:"primary",children:"Add Member"})}),e.jsxs(E,{className:"",children:[e.jsx(P,{children:e.jsx(U,{children:" Add a New Member"})}),t?e.jsx(ge,{name:t.name,token:k(t)}):e.jsx(fe,{setSuccessMember:r})]})]})}m.object({username:m.string(),isAdmin:m.boolean()});function fe({setSuccessMember:a}){const{toast:s}=v(),t=A(),{mutate:r,isPending:n}=xe({onError(d){q(d)&&s({status:"error",emphasis:"subtle",icon:e.jsx(D,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:d.message,rounded:!0})},onSuccess(d){a(d),t.invalidateQueries({queryKey:["users"]})}}),c=o.useId(),l=o.useId(),{register:i,handleSubmit:x,watch:p,setValue:u}=ae();function S(d){r({is_admin:d.isAdmin,name:d.username})}return e.jsxs(e.Fragment,{children:[e.jsx("form",{id:"create-user-form",onSubmit:x(S),className:"space-y-5 p-7",children:e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("label",{htmlFor:c,className:"text-text-sm",children:"Username"}),e.jsx(O,{...i("username"),id:c,className:"w-full"})]}),e.jsxs("div",{className:"flex gap-5",children:[e.jsx("label",{htmlFor:l,className:"text-text-md",children:"Add user as an Admin"}),e.jsx(I,{onCheckedChange:d=>u("isAdmin",!!d),...i("isAdmin",{value:!1}),id:l})]})]})}),e.jsxs(R,{className:"gap-[10px]",children:[e.jsx(_,{asChild:!0,children:e.jsx(h,{size:"sm",intent:"secondary",children:"Cancel"})}),e.jsx(h,{disabled:!p("username")||n,form:"create-user-form",size:"sm",children:"Generate Token"})]})]})}function ge({token:a,name:s}){return e.jsxs("div",{className:"space-y-5 overflow-hidden p-7 text-center",children:[e.jsx(me,{className:"m-auto mb-5 h-[110px] w-[110px] fill-success-500"}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-lg font-semibold text-theme-text-primary",children:`The user ${s} was created successfully!`}),e.jsx("p",{className:"text-text-md text-theme-text-secondary",children:"Share the invitation link with the user to complete the registration."})]}),e.jsx(te,{className:"mx-auto",code:a})]})}const je=a=>o.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...a},o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.9681 6.38231C3.73647 7.92199 3 9.87499 3 12C3 16.9706 7.02944 21 12 21C14.125 21 16.078 20.2635 17.6177 19.0319L4.9681 6.38231ZM6.38231 4.9681L19.0319 17.6177C20.2635 16.078 21 14.125 21 12C21 7.02944 16.9706 3 12 3C9.87499 3 7.92199 3.73647 6.38231 4.9681ZM1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12Z"}));async function Ce(a){const s=j(C.users.detail(a)),t=await y(s,{method:"DELETE",headers:{"Content-Type":"application/json"}});if(!t.ok){const r=await t.json().then(n=>n.detail).catch(()=>"Failed to delete User");throw new b({status:t.status,statusText:t.statusText,message:r})}return t.json()}function ye(a){return N({mutationFn:async s=>Ce(s),...a})}function be({userId:a,name:s}){const{toast:t}=v(),r=A(),{isPending:n,mutate:c}=ye({onSuccess(){r.invalidateQueries({queryKey:["users"]})},onError:i=>{i instanceof Error&&t({status:"error",emphasis:"subtle",icon:e.jsx(D,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:i.message,rounded:!0})}});function l(){c(a)}return e.jsxs(H,{className:"p-0",children:[e.jsx(z,{className:"py-2 pl-5 pr-3 text-text-lg font-semibold",children:"Delete Member"}),e.jsx("div",{className:"border-y border-theme-border-moderate px-5 py-5",children:e.jsxs(Z,{children:["Deleting ",e.jsx("strong",{children:s})," cannot be undone."]})}),e.jsxs("div",{className:"flex justify-end gap-3 px-5 py-3",children:[e.jsx(B,{asChild:!0,children:e.jsx(h,{intent:"secondary",children:"Cancel"})}),e.jsx(K,{asChild:!0,children:e.jsx(h,{onClick:l,disabled:n,intent:"danger",children:"Delete"})})]})]})}function we({userId:a,name:s}){const[t,r]=o.useState(!1),[n,c]=o.useState(!1),l=o.useRef(null),i=o.useRef(null);function x(){i.current=l.current}function p(u){if(u===!1){c(!1),setTimeout(()=>{r(u)},200);return}r(u)}return e.jsxs(Q,{onOpenChange:c,open:n,children:[e.jsx(V,{ref:l,children:e.jsx(ie,{className:"h-4 w-4 fill-theme-text-tertiary"})}),e.jsx(G,{hidden:t,onCloseAutoFocus:u=>{i.current&&(i.current.focus(),i.current=null,u.preventDefault())},align:"end",sideOffset:7,children:e.jsx(oe,{onSelect:x,onOpenChange:p,triggerChildren:"Remove Member",icon:e.jsx(je,{fill:"red"}),children:e.jsx(be,{name:s,userId:a})})})]})}function ve({isAdmin:a}){return[{id:"name",accessorFn:s=>{var t;return{name:s.name,is_admin:!!((t=s.body)!=null&&t.is_admin)}},cell:({getValue:s})=>{const{name:t,is_admin:r}=s();return e.jsxs("div",{className:"flex",children:[e.jsx(ne,{username:t}),r&&e.jsx("div",{children:e.jsx(w,{className:"ml-2 capitalize",size:"xs",color:"purple",children:"Admin"})})]})},header:"User"},{accessorKey:"status",header:"Status",accessorFn:s=>{var t;return{status:(t=s.body)==null?void 0:t.active}},cell:({getValue:s})=>{const{status:t}=s();return e.jsx(w,{className:"capitalize",color:t?"green":"grey",children:t?"Active":"Inactive"})}},{id:"created",header:"Created",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(re,{dateString:s()})})},...a?[{id:"actions",header:"",accessorFn:s=>({id:s.id,name:L(s)}),meta:{width:"5%"},cell:({getValue:s})=>{const{id:t,name:r}=s();return e.jsx(we,{name:r,userId:t})}}]:[]]}const g=1,De=m.object({page:m.coerce.number().min(g).optional().default(g).catch(g),name:m.string().optional(),operator:m.enum(["and","or"]).optional()});function Ne(){const[a]=le(),{page:s,name:t,operator:r}=De.parse({page:a.get("page")||void 0,name:a.get("name")||void 0,operator:a.get("operator")||void 0});return{page:s,name:t,logical_operator:r}}function Ae(){var l,i;const a=Ne(),{data:s,isError:t}=ue({params:{...a,sort_by:"desc:created"}},{throwOnError:!0}),{data:r,isPending:n,isError:c}=J();return t||c?null:n?e.jsx(f,{className:"h-[350px]"}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[e.jsx(X,{searchParams:a}),((l=r.body)==null?void 0:l.is_admin)&&e.jsx(pe,{})]}),e.jsxs("div",{className:"flex flex-col items-center gap-5",children:[e.jsx("div",{className:"w-full",children:s?e.jsx($,{columns:ve({isAdmin:(i=r.body)==null?void 0:i.is_admin}),data:s.items}):e.jsx(f,{className:"h-[250px] w-full"})}),s?s.total_pages>1&&e.jsx(Y,{searchParams:a,paginate:s}):e.jsx(f,{className:"h-[36px] w-[300px]"})]})]})}function Be(){return e.jsxs(W,{className:"flex flex-col gap-4 p-5",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"Members"}),e.jsx(Ae,{})]})}export{Be as default};
@@ -1 +1 @@
1
- import{j as e,r as m}from"./@radix-DnFH_oo1.js";import{au as f,av as b,aw as v,ax as y,ay as S,B as h,az as C}from"./index-B9wVwe7u.js";import{I as l}from"./Infobox-BL9NOS37.js";import{V as d,g as p}from"./Commands-DsoaVElZ.js";import{H as j}from"./Helpbox-CmfvtNeq.js";import{S as w,a as k,b as z}from"./gcp-Dj6ntk0L.js";import{S as A}from"./kubernetes-BjbR6D-1.js";import{S as T}from"./docker-BFAFXr2_.js";import"./@tanstack-QbMbTrh5.js";import"./@react-router-APVeuk-U.js";import"./@reactflow-B6kq9fJZ.js";import"./CodeSnippet-DNWdQmbo.js";import"./copy-CaGlDsUy.js";import"./help-CwN931fX.js";const N="/assets/connectors-video-C9qY4syJ.svg",s="w-5 h-5",P=[{label:"Kubernetes",value:"kubernetes",icon:e.jsx(A,{className:s})},{label:"GCP",value:"gcp",icon:e.jsx(w,{className:s})},{label:"Docker",value:"docker",icon:e.jsx(T,{className:s})},{label:"Azure",value:"azure",icon:e.jsx(k,{className:s})},{label:"AWS",value:"aws",icon:e.jsx(z,{className:s})}],I={help:{href:"https://docs.zenml.io/how-to/auth-management/kubernetes-service-connector",text:"Use the complete guide to set up your Kubernetes Service Connector."},prerequisites:i("kubernetes","Kubernetes"),listCommand:a("kubernetes","Kubernetes"),topInfobox:"The ZenML Kubernetes service connector facilitates authenticating and connecting to a Kubernetes cluster. The connector can be used to access to any generic Kubernetes cluster by providing pre-authenticated Kubernetes python clients to Stack Components that are linked to it and also allows configuring the local Kubernetes CLI (i.e. kubectl).",bottomInfobox:"Upon completion of the installation of the required prerequisites and integration, our documentation provides you with a comprehensive list of resource types that can be employed to establish your connector. Please refer to the documentation to explore all available options."},q={help:{text:"Use the complete guide to set up your GCP Service Connector.",href:"https://docs.zenml.io/how-to/auth-management/gcp-service-connector"},prerequisites:i("gcp","GCP"),listCommand:a("gcp","GCP"),bottomInfobox:"Upon completion of the installation of the required prerequisites and integration, our documentation will guide you with a comprehensive list of all the resource types that can be employed to establish your GCP connector. Please refer to the documentation to explore all available options.",topInfobox:"The ZenML GCP Service Connector facilitates the authentication and access to managed GCP services and resources. These encompass a range of resources, including GCS buckets, GCR container repositories, and GKE clusters. The connector provides support for various authentication methods, including GCP user accounts, service accounts, short-lived OAuth 2.0 tokens, and implicit authentication."},G={help:{text:"Use the complete guide to set up your Docker Service Connector.",href:"https://docs.zenml.io/how-to/auth-management/docker-service-connector"},listCommand:a("docker","Docker"),topInfobox:"The ZenML Docker Service Connector allows authenticating with a Docker or OCI container registry and managing Docker clients for the registry. This connector provides pre-authenticated python-docker Python clients to Stack Components that are linked to it.",bottomInfobox:"No Python packages are required for this Service Connector. All prerequisites are included in the base ZenML Python package. Docker needs to be installed on environments where container images are built and pushed to the target container registry. Please refer to the documentation to explore all available options."},K={help:{text:"Use the complete guide to set up your Azure Service Connector.",href:"https://docs.zenml.io/how-to/auth-management/azure-service-connector"},listCommand:a("azure","Azure"),prerequisites:i("azure","Azure"),topInfobox:"The ZenML Azure Service Connector facilitates the authentication and access to managed Azure services and resources. These encompass a range of resources, including blob storage containers, ACR repositories, and AKS clusters.",bottomInfobox:"Upon completion of the installation of the required prerequisites and integration, our documentation will guide you with a comprehensive list of all the resource types that can be employed to establish your Azure connector. Please refer to the documentation to explore all available options."},L={help:{text:"Use the complete guide to set up your AWS Service Connector.",href:"https://docs.zenml.io/how-to/auth-management/aws-service-connector"},listCommand:a("aws","AWS"),prerequisites:i("aws","AWS"),topInfobox:"The ZenML AWS Service Connector facilitates the authentication and access to managed AWS services and resources. These encompass a range of resources, including S3 buckets, ECR container repositories, and EKS clusters. The connector provides support for various authentication methods, including explicit long-lived AWS secret keys, IAM roles, short-lived STS tokens, and implicit authentication.",bottomInfobox:"Upon completion of the installation of the required prerequisites and integration, our documentation will guide you with a comprehensive list of all the resource types that can be employed to establish your AWS connector. Please refer to the documentation to explore all available options."};function a(t,o){return{command:`zenml service-connector list-types --type ${t}`,description:`List ${o} Connector Types`}}function i(t,o){return[{description:"Install the prerequisites",command:`pip install "zenml[connectors-${t}]"`},{description:`Install the entire ${o} ZenML integration`,command:`zenml integration install ${t}`}]}function M({id:t,selectedType:o,onTypeChange:c}){return e.jsxs(f,{value:o,onValueChange:n=>c(n),children:[e.jsx(b,{id:t,className:"w-[250px] border border-neutral-300 px-2 text-left text-text-md",children:e.jsx(v,{placeholder:"Select Connector Type"})}),e.jsx(y,{className:"",children:P.map(n=>e.jsx(S,{value:n.value,children:e.jsxs("div",{className:"flex items-center gap-1",children:[n.icon,n.label]})},n.value))})]})}function W(){return e.jsx(l,{children:e.jsxs("div",{className:"flex w-full flex-wrap items-center gap-x-2 gap-y-0.5 text-text-md",children:[e.jsx("p",{className:"font-semibold",children:"We are creating a new Connectors experience"}),e.jsx("p",{children:"In the meanwhile you can use the CLI to add and manage your connectors."})]})})}function D(){const t="https://zenml.portal.trainn.co/share/V6magMJZZvMptz1wdnUmPA/embed?autoplay=false";return e.jsxs(h,{className:"flex flex-col-reverse items-stretch overflow-hidden lg:flex-row",children:[e.jsxs("div",{className:"w-full p-7 lg:w-2/3",children:[e.jsx("h2",{className:"text-display-xs font-semibold",children:"Learn More about Connectors"}),e.jsx("p",{className:"mt-2 text-text-lg text-theme-text-secondary",children:"Dive into Service Connector Types for a documented approach to secure authentication and authorization practices."}),e.jsx(d,{videoLink:t,buttonText:"Watch the Starter Guide (2 min)"})]}),e.jsx("div",{className:"flex w-full items-center justify-center bg-primary-50 lg:w-1/3",children:e.jsx(d,{fallbackImage:e.jsx("img",{src:N,alt:"Purple squares with text indicating a starter guide for secrets",className:"h-full w-full"}),videoLink:t,isButton:!1})})]})}function U(){const[t,o]=m.useState("kubernetes");return e.jsxs("section",{className:"space-y-5 pl-8 pr-5",children:[e.jsx(M,{selectedType:t,onTypeChange:o,id:"connector-select"}),Z(t)]})}function r({topInfobox:t,bottomInfobox:o,listCommand:c,prerequisites:n,help:u}){return e.jsxs(e.Fragment,{children:[e.jsx(l,{className:"text-text-md",intent:"neutral",children:t}),p(c),n&&e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"Prerequisites"}),n.map((x,g)=>e.jsx(m.Fragment,{children:p(x)},g))]}),e.jsx(l,{className:"text-text-md",intent:"neutral",children:o}),e.jsx(j,{text:u.text,link:u.href})]})}function Z(t){switch(t){case"kubernetes":return r(I);case"gcp":return r(q);case"docker":return r(G);case"azure":return r(K);case"aws":return r(L)}}function te(){return e.jsxs(h,{className:"space-y-4 p-5",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"Secrets"}),e.jsx(W,{}),e.jsx(D,{}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(C,{}),"Administering your Connectors"]}),e.jsx(U,{})]})}export{te as default};
1
+ import{j as e,r as m}from"./@radix-DnFH_oo1.js";import{ay as f,az as b,aA as v,aB as y,aC as S,B as h,aD as C}from"./index-Ci0nJ8EZ.js";import{I as l}from"./Infobox-BTK_EUKT.js";import{V as d,g as p}from"./Commands-Bf-rd1z8.js";import{H as j}from"./Helpbox-0pBpTwTm.js";import{S as w,a as k,b as A}from"./gcp-Dj6ntk0L.js";import{S as z}from"./kubernetes-BjbR6D-1.js";import{S as T}from"./docker-BFAFXr2_.js";import"./@tanstack-QbMbTrh5.js";import"./@react-router-APVeuk-U.js";import"./@reactflow-ytavUpwh.js";import"./CodeSnippet-IxXNxUDa.js";import"./copy-CaGlDsUy.js";import"./help-CwN931fX.js";const N="/assets/connectors-video-C9qY4syJ.svg",s="w-5 h-5",P=[{label:"Kubernetes",value:"kubernetes",icon:e.jsx(z,{className:s})},{label:"GCP",value:"gcp",icon:e.jsx(w,{className:s})},{label:"Docker",value:"docker",icon:e.jsx(T,{className:s})},{label:"Azure",value:"azure",icon:e.jsx(k,{className:s})},{label:"AWS",value:"aws",icon:e.jsx(A,{className:s})}],I={help:{href:"https://docs.zenml.io/how-to/auth-management/kubernetes-service-connector",text:"Use the complete guide to set up your Kubernetes Service Connector."},prerequisites:i("kubernetes","Kubernetes"),listCommand:a("kubernetes","Kubernetes"),topInfobox:"The ZenML Kubernetes service connector facilitates authenticating and connecting to a Kubernetes cluster. The connector can be used to access to any generic Kubernetes cluster by providing pre-authenticated Kubernetes python clients to Stack Components that are linked to it and also allows configuring the local Kubernetes CLI (i.e. kubectl).",bottomInfobox:"Upon completion of the installation of the required prerequisites and integration, our documentation provides you with a comprehensive list of resource types that can be employed to establish your connector. Please refer to the documentation to explore all available options."},q={help:{text:"Use the complete guide to set up your GCP Service Connector.",href:"https://docs.zenml.io/how-to/auth-management/gcp-service-connector"},prerequisites:i("gcp","GCP"),listCommand:a("gcp","GCP"),bottomInfobox:"Upon completion of the installation of the required prerequisites and integration, our documentation will guide you with a comprehensive list of all the resource types that can be employed to establish your GCP connector. Please refer to the documentation to explore all available options.",topInfobox:"The ZenML GCP Service Connector facilitates the authentication and access to managed GCP services and resources. These encompass a range of resources, including GCS buckets, GCR container repositories, and GKE clusters. The connector provides support for various authentication methods, including GCP user accounts, service accounts, short-lived OAuth 2.0 tokens, and implicit authentication."},G={help:{text:"Use the complete guide to set up your Docker Service Connector.",href:"https://docs.zenml.io/how-to/auth-management/docker-service-connector"},listCommand:a("docker","Docker"),topInfobox:"The ZenML Docker Service Connector allows authenticating with a Docker or OCI container registry and managing Docker clients for the registry. This connector provides pre-authenticated python-docker Python clients to Stack Components that are linked to it.",bottomInfobox:"No Python packages are required for this Service Connector. All prerequisites are included in the base ZenML Python package. Docker needs to be installed on environments where container images are built and pushed to the target container registry. Please refer to the documentation to explore all available options."},K={help:{text:"Use the complete guide to set up your Azure Service Connector.",href:"https://docs.zenml.io/how-to/auth-management/azure-service-connector"},listCommand:a("azure","Azure"),prerequisites:i("azure","Azure"),topInfobox:"The ZenML Azure Service Connector facilitates the authentication and access to managed Azure services and resources. These encompass a range of resources, including blob storage containers, ACR repositories, and AKS clusters.",bottomInfobox:"Upon completion of the installation of the required prerequisites and integration, our documentation will guide you with a comprehensive list of all the resource types that can be employed to establish your Azure connector. Please refer to the documentation to explore all available options."},L={help:{text:"Use the complete guide to set up your AWS Service Connector.",href:"https://docs.zenml.io/how-to/auth-management/aws-service-connector"},listCommand:a("aws","AWS"),prerequisites:i("aws","AWS"),topInfobox:"The ZenML AWS Service Connector facilitates the authentication and access to managed AWS services and resources. These encompass a range of resources, including S3 buckets, ECR container repositories, and EKS clusters. The connector provides support for various authentication methods, including explicit long-lived AWS secret keys, IAM roles, short-lived STS tokens, and implicit authentication.",bottomInfobox:"Upon completion of the installation of the required prerequisites and integration, our documentation will guide you with a comprehensive list of all the resource types that can be employed to establish your AWS connector. Please refer to the documentation to explore all available options."};function a(t,o){return{command:`zenml service-connector list-types --type ${t}`,description:`List ${o} Connector Types`}}function i(t,o){return[{description:"Install the prerequisites",command:`pip install "zenml[connectors-${t}]"`},{description:`Install the entire ${o} ZenML integration`,command:`zenml integration install ${t}`}]}function M({id:t,selectedType:o,onTypeChange:c}){return e.jsxs(f,{value:o,onValueChange:n=>c(n),children:[e.jsx(b,{id:t,className:"w-[250px] border border-neutral-300 px-2 text-left text-text-md",children:e.jsx(v,{placeholder:"Select Connector Type"})}),e.jsx(y,{className:"",children:P.map(n=>e.jsx(S,{value:n.value,children:e.jsxs("div",{className:"flex items-center gap-1",children:[n.icon,n.label]})},n.value))})]})}function D(){return e.jsx(l,{children:e.jsxs("div",{className:"flex w-full flex-wrap items-center gap-x-2 gap-y-0.5 text-text-md",children:[e.jsx("p",{className:"font-semibold",children:"We are creating a new Connectors experience"}),e.jsx("p",{children:"In the meanwhile you can use the CLI to add and manage your connectors."})]})})}function W(){const t="https://zenml.portal.trainn.co/share/V6magMJZZvMptz1wdnUmPA/embed?autoplay=false";return e.jsxs(h,{className:"flex flex-col-reverse items-stretch overflow-hidden lg:flex-row",children:[e.jsxs("div",{className:"w-full p-7 lg:w-2/3",children:[e.jsx("h2",{className:"text-display-xs font-semibold",children:"Learn More about Connectors"}),e.jsx("p",{className:"mt-2 text-text-lg text-theme-text-secondary",children:"Dive into Service Connector Types for a documented approach to secure authentication and authorization practices."}),e.jsx(d,{videoLink:t,buttonText:"Watch the Starter Guide (2 min)"})]}),e.jsx("div",{className:"flex w-full items-center justify-center bg-primary-50 lg:w-1/3",children:e.jsx(d,{fallbackImage:e.jsx("img",{src:N,alt:"Purple squares with text indicating a starter guide for secrets",className:"h-full w-full"}),videoLink:t,isButton:!1})})]})}function U(){const[t,o]=m.useState("kubernetes");return e.jsxs("section",{className:"space-y-5 pl-8 pr-5",children:[e.jsx(M,{selectedType:t,onTypeChange:o,id:"connector-select"}),Z(t)]})}function r({topInfobox:t,bottomInfobox:o,listCommand:c,prerequisites:n,help:u}){return e.jsxs(e.Fragment,{children:[e.jsx(l,{className:"text-text-md",intent:"neutral",children:t}),p(c),n&&e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"Prerequisites"}),n.map((x,g)=>e.jsx(m.Fragment,{children:p(x)},g))]}),e.jsx(l,{className:"text-text-md",intent:"neutral",children:o}),e.jsx(j,{text:u.text,link:u.href})]})}function Z(t){switch(t){case"kubernetes":return r(I);case"gcp":return r(q);case"docker":return r(G);case"azure":return r(K);case"aws":return r(L)}}function te(){return e.jsxs(h,{className:"space-y-4 p-5",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"Secrets"}),e.jsx(D,{}),e.jsx(W,{}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(C,{}),"Administering your Connectors"]}),e.jsx(U,{})]})}export{te as default};
@@ -0,0 +1 @@
1
+ import{z as a}from"./index-Ci0nJ8EZ.js";import{a as i}from"./sharedSchema-vub0rii3.js";const o=a.enum(["aws","gcp","azure"]),p=a.object({provider:o}),g=a.object({region:a.string().trim().min(1),stackName:i}),r="new-infra-data",e=a.object({provider:o,stackName:a.string().min(1).trim(),location:a.string().min(1).trim(),timestamp:a.string().min(1).trim()});function d(t){localStorage.setItem(r,JSON.stringify(t))}function f(){try{const t=localStorage.getItem(r),s=t?JSON.parse(t):{};return e.safeParse(s)}catch{return c(),e.safeParse({})}}function c(){localStorage.removeItem(r)}export{g as a,p as b,c,o as d,f as p,d as s};
@@ -1 +1 @@
1
- import{z as t}from"./index-B9wVwe7u.js";import{d as s}from"./persist-mEZN_fgH.js";const r="create-terraform-data",e=t.object({provider:s,stackName:t.string().min(1).trim(),location:t.string().min(1).trim(),timestamp:t.string().min(1).trim()});function n(a){localStorage.setItem(r,JSON.stringify(a))}function l(){try{const a=localStorage.getItem(r),o=a?JSON.parse(a):{};return e.safeParse(o)}catch{return i(),e.safeParse({})}}function i(){localStorage.removeItem(r)}export{i as c,l as p,n as s};
1
+ import{z as t}from"./index-Ci0nJ8EZ.js";import{d as s}from"./persist-BxIR2XZs.js";const r="create-terraform-data",e=t.object({provider:s,stackName:t.string().min(1).trim(),location:t.string().min(1).trim(),timestamp:t.string().min(1).trim()});function n(a){localStorage.setItem(r,JSON.stringify(a))}function l(){try{const a=localStorage.getItem(r),o=a?JSON.parse(a):{};return e.safeParse(o)}catch{return i(),e.safeParse({})}}function i(){localStorage.removeItem(r)}export{i as c,l as p,n as s};
@@ -0,0 +1,14 @@
1
+ import{q as u}from"./@tanstack-QbMbTrh5.js";import{l as m,m as p,k as d,n as y,F as g,z as A}from"./index-Ci0nJ8EZ.js";import{o as v}from"./url-CbAPzsmT.js";import{f as x}from"./stack-detail-query-DQcyzG-2.js";import{g as E}from"./@radix-DnFH_oo1.js";async function P(e){const n=m(p.stackDeployment.config)+(e?`?${v(e)}`:""),t=await d(n,{method:"GET",headers:{"Content-Type":"application/json"}});if(t.status===404&&y(),!t.ok){const a=await t.json().then(r=>Array.isArray(r.detail)?r.detail[1]:r.detail).catch(()=>"Error while fetching stack deployment config");throw new g({status:t.status,statusText:t.statusText,message:a})}return t.json()}async function O(e){const n=m(p.stackDeployment.info)+(e?`?${v(e)}`:""),t=await d(n,{method:"GET",headers:{"Content-Type":"application/json"}});if(t.status===404&&y(),!t.ok){const a=await t.json().then(r=>Array.isArray(r.detail)?r.detail[1]:r.detail).catch(()=>"Error while fetching stack deployment info");throw new g({status:t.status,statusText:t.statusText,message:a})}return t.json()}async function q(e){const n=m(p.stackDeployment.stack)+(e?`?${v(e)}`:""),t=await d(n,{method:"GET",headers:{"Content-Type":"application/json"}});if(t.status===404&&y(),!t.ok){const a=await t.json().then(r=>Array.isArray(r.detail)?r.detail[1]:r.detail).catch(()=>"Error while fetching the deployed stack");throw new g({status:t.status,statusText:t.statusText,message:a})}return t.json()}async function S(e){const n=m(p.stacks.all)+(e?`?${v(e)}`:""),t=await d(n,{method:"GET",headers:{"Content-Type":"application/json"}});if(t.status===404&&y(),!t.ok){const a=await t.json().then(r=>Array.isArray(r.detail)?r.detail[1]:r.detail).catch(()=>"Error while fetching stacks");throw new g({status:t.status,statusText:t.statusText,message:a})}return t.json()}const l={all:["stacks"],stackDeployment:["stack-deployment"],stackList:e=>u({queryKey:[...l.all,e],queryFn:async()=>S(e)}),stackDetail:e=>u({queryKey:[...l.all,e],queryFn:async()=>x({stackId:e})}),stackDeploymentInfo:e=>u({queryKey:[...l.stackDeployment,"info",e],queryFn:async()=>O(e)}),stackDeploymentStack:e=>u({queryKey:[...l.stackDeployment,"stack",e],queryFn:async()=>q(e)}),stackDeploymentConfig:e=>u({queryKey:[...l.stackDeployment,"config",e],queryFn:async()=>P(e)})};var K=function(n){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=void 0,o=void 0,c=void 0,s=[];return function(){var b=$(t),T=new Date().getTime(),F=!r||T-r>b;r=T;for(var j=arguments.length,f=Array(j),h=0;h<j;h++)f[h]=arguments[h];if(F&&a.leading)return a.accumulate?Promise.resolve(n.call(this,[f])).then(function(D){return D[0]}):Promise.resolve(n.call.apply(n,[this].concat(f)));if(o?clearTimeout(c):o=G(),s.push(f),c=setTimeout(i.bind(this),b),a.accumulate){var C=s.length-1;return o.promise.then(function(D){return D[C]})}return o.promise};function i(){var k=o;clearTimeout(c),Promise.resolve(a.accumulate?n.call(this,s):n.apply(this,s[s.length-1])).then(k.resolve,k.reject),s=[],o=null}};function $(e){return typeof e=="function"?e():e}function G(){var e={};return e.promise=new Promise(function(n,t){e.resolve=n,e.reject=t}),e}const L=E(K);function R(e){var n=null,t=null,a=new Promise(function(r,o){n=r,t=o});return e&&e.then(function(r){n&&n(r)},function(r){t&&t(r)}),{promise:a,resolve:function(r){n&&n(r)},reject:function(r){t&&t(r)},cancel:function(){n=null,t=null}}}function W(e){var n=null,t=function(){for(var a=[],r=0;r<arguments.length;r++)a[r]=arguments[r];n&&n();var o=e.apply(void 0,a),c=R(o),s=c.promise,i=c.cancel;return n=i,s};return t}/*! *****************************************************************************
2
+ Copyright (c) Microsoft Corporation. All rights reserved.
3
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4
+ this file except in compliance with the License. You may obtain a copy of the
5
+ License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10
+ MERCHANTABLITY OR NON-INFRINGEMENT.
11
+
12
+ See the Apache Version 2.0 License for specific language governing permissions
13
+ and limitations under the License.
14
+ ***************************************************************************** */var w=function(){return w=Object.assign||function(n){for(var t,a=1,r=arguments.length;a<r;a++){t=arguments[a];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(n[o]=t[o])}return n},w.apply(this,arguments)},z={key:function(){return null},onlyResolvesLast:!0},I=function(){function e(n){this.config=n,this.debounceSingleton=null,this.debounceCache={}}return e.prototype._createDebouncedFunction=function(){var n=L(this.config.func,this.config.wait,this.config.options);return this.config.options.onlyResolvesLast&&(n=W(n)),{func:n}},e.prototype.getDebouncedFunction=function(n){var t,a=(t=this.config.options).key.apply(t,n);return a===null||typeof a>"u"?(this.debounceSingleton||(this.debounceSingleton=this._createDebouncedFunction()),this.debounceSingleton):(this.debounceCache[a]||(this.debounceCache[a]=this._createDebouncedFunction()),this.debounceCache[a])},e}();function N(e,n,t){var a=w({},z,t),r=new I({func:e,wait:n,options:a}),o=function(){for(var c=[],s=0;s<arguments.length;s++)c[s]=arguments[s];var i=r.getDebouncedFunction(c).func;return i.apply(void 0,c)};return o}const Q=N(async e=>(await S({name:e})).total===0,500),U=A.string().trim().min(1,"Stack name is required").max(32,"Stack name must be less than 32 characters").regex(/^[a-zA-Z0-9-]+$/,"Stack name can only contain alphanumeric characters and hyphens").refine(e=>Q(e),"Stack name is already in use");export{U as a,l as s};