zenml-nightly 0.58.0.dev20240529__py3-none-any.whl → 0.58.1.dev20240608__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 (145) hide show
  1. CONTRIBUTING.md +1 -1
  2. README.md +3 -3
  3. RELEASE_NOTES.md +37 -1
  4. zenml/VERSION +1 -1
  5. zenml/artifacts/utils.py +19 -3
  6. zenml/cli/__init__.py +28 -22
  7. zenml/cli/base.py +17 -6
  8. zenml/cli/pipeline.py +18 -3
  9. zenml/cli/server.py +1 -1
  10. zenml/cli/stack.py +1 -1
  11. zenml/client.py +24 -4
  12. zenml/config/docker_settings.py +3 -0
  13. zenml/config/global_config.py +1 -1
  14. zenml/config/secret_reference_mixin.py +1 -1
  15. zenml/environment.py +1 -1
  16. zenml/integrations/huggingface/materializers/huggingface_tokenizer_materializer.py +11 -12
  17. zenml/integrations/kaniko/flavors/kaniko_image_builder_flavor.py +2 -44
  18. zenml/integrations/kubernetes/flavors/kubernetes_orchestrator_flavor.py +4 -1
  19. zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator.py +4 -16
  20. zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator_entrypoint.py +2 -1
  21. zenml/integrations/kubernetes/orchestrators/manifest_utils.py +15 -15
  22. zenml/integrations/s3/flavors/s3_artifact_store_flavor.py +0 -38
  23. zenml/integrations/spark/flavors/spark_step_operator_flavor.py +1 -38
  24. zenml/materializers/base_materializer.py +3 -3
  25. zenml/materializers/cloudpickle_materializer.py +1 -1
  26. zenml/orchestrators/base_orchestrator.py +1 -1
  27. zenml/orchestrators/local_docker/local_docker_orchestrator.py +1 -37
  28. zenml/orchestrators/step_runner.py +2 -2
  29. zenml/stack/flavor.py +3 -1
  30. zenml/stack/stack.py +2 -2
  31. zenml/stack/stack_component.py +42 -2
  32. zenml/steps/base_step.py +1 -1
  33. zenml/steps/entrypoint_function_utils.py +2 -2
  34. zenml/steps/utils.py +1 -1
  35. zenml/utils/dashboard_utils.py +1 -1
  36. zenml/utils/pipeline_docker_image_builder.py +23 -3
  37. zenml/utils/source_utils.py +32 -7
  38. zenml/zen_server/auth.py +2 -2
  39. zenml/zen_server/dashboard/assets/{404-DIgYOHj5.js → 404-D5p6PIdn.js} +1 -1
  40. zenml/zen_server/dashboard/assets/{@radix-BrEjOMvl.js → @radix-C9DBgJhe.js} +9 -9
  41. zenml/zen_server/dashboard/assets/@react-router-DYovave8.js +29 -0
  42. zenml/zen_server/dashboard/assets/@reactflow-C26Olbza.css +1 -0
  43. zenml/zen_server/dashboard/assets/@reactflow-CegZ5GV3.js +17 -0
  44. zenml/zen_server/dashboard/assets/@tanstack-CEbkxrhX.js +30 -0
  45. zenml/zen_server/dashboard/assets/{AwarenessChannel-CqRB1HO9.js → AwarenessChannel-DDpU6zHx.js} +1 -1
  46. zenml/zen_server/dashboard/assets/{Cards-DuJ8uYGM.js → Cards-wfOUm_Ae.js} +1 -1
  47. zenml/zen_server/dashboard/assets/CodeSnippet-iinvcx17.js +9 -0
  48. zenml/zen_server/dashboard/assets/Commands-DGnWeAWF.js +1 -0
  49. zenml/zen_server/dashboard/assets/{CopyButton-BOFZCr5Z.js → CopyButton-eUfW9370.js} +2 -2
  50. zenml/zen_server/dashboard/assets/{CsvVizualization-D4QRvdDk.js → CsvVizualization-CoIkmrjr.js} +7 -7
  51. zenml/zen_server/dashboard/assets/{DisplayDate-BoCi3-Ng.js → DisplayDate-BdguISQF.js} +1 -1
  52. zenml/zen_server/dashboard/assets/{EmptyState-CPJglRv0.js → EmptyState-BkooiGtL.js} +1 -1
  53. zenml/zen_server/dashboard/assets/{Error-C9i5GdiH.js → Error-CDMUBgpN.js} +1 -1
  54. zenml/zen_server/dashboard/assets/{Helpbox-CnuWjxcc.js → Helpbox-BV73V0J6.js} +1 -1
  55. zenml/zen_server/dashboard/assets/Infobox-DG7zmtut.js +1 -0
  56. zenml/zen_server/dashboard/assets/{InlineAvatar-DE_1-SDN.js → InlineAvatar-BiKh3XC5.js} +1 -1
  57. zenml/zen_server/dashboard/assets/{MarkdownVisualization-CMOybYJS.js → MarkdownVisualization-DsB2QZiK.js} +1 -1
  58. zenml/zen_server/dashboard/assets/{PageHeader-D7r1Jb6H.js → PageHeader-D-u0obgg.js} +1 -1
  59. zenml/zen_server/dashboard/assets/{Pagination-0-Hv-4DJ.js → Pagination-ZYqHJ5gE.js} +1 -1
  60. zenml/zen_server/dashboard/assets/{PasswordChecker-C2ImqlTr.js → PasswordChecker-DSLBp7Vl.js} +1 -1
  61. zenml/zen_server/dashboard/assets/{SetPassword-074iDZCm.js → SetPassword-Dq6iUfpW.js} +1 -1
  62. zenml/zen_server/dashboard/assets/{SuccessStep-DEeKB0Wq.js → SuccessStep-BHhPYxz9.js} +1 -1
  63. zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-4be5el9x.js → UpdatePasswordSchemas-4FyPPBY9.js} +1 -1
  64. zenml/zen_server/dashboard/assets/{aws-BaCucHs5.js → aws-t0gKCj_R.js} +1 -1
  65. zenml/zen_server/dashboard/assets/{check-circle-GxOo3117.js → check-circle-BVvhm5dy.js} +1 -1
  66. zenml/zen_server/dashboard/assets/{chevron-down-tsuIW52H.js → chevron-down-zcvCWmyP.js} +1 -1
  67. zenml/zen_server/dashboard/assets/{chevron-right-double-Dfr12EKG.js → chevron-right-double-CJ50E9Gr.js} +1 -1
  68. zenml/zen_server/dashboard/assets/{cloud-only-lInATL8-.js → cloud-only-DsILLhXk.js} +1 -1
  69. zenml/zen_server/dashboard/assets/{copy-B8yRmO5i.js → copy-BRhQz3j-.js} +1 -1
  70. zenml/zen_server/dashboard/assets/{database-BiV4iNgr.js → database-CRRnyFWh.js} +1 -1
  71. zenml/zen_server/dashboard/assets/{docker-EYFTGVBw.js → docker-BAonhm6G.js} +1 -1
  72. zenml/zen_server/dashboard/assets/{file-text-Bp-4kjON.js → file-text-CbVERUON.js} +1 -1
  73. zenml/zen_server/dashboard/assets/{help-hEyYkC3q.js → help-B8rqCvqn.js} +1 -1
  74. zenml/zen_server/dashboard/assets/index-BhYPVFKa.js +55 -0
  75. zenml/zen_server/dashboard/assets/index-CRZ5qzG3.css +1 -0
  76. zenml/zen_server/dashboard/assets/index.esm-F7nqy9zY.js +1 -0
  77. zenml/zen_server/dashboard/assets/{login-mutation-BfEeVmSl.js → login-mutation-CDARn8rx.js} +1 -1
  78. zenml/zen_server/dashboard/assets/{not-found-an_3Z-Ep.js → not-found-D1_I0ubu.js} +1 -1
  79. zenml/zen_server/dashboard/assets/{page-NlxFzoaz.js → page-7IP7WH5_.js} +1 -1
  80. zenml/zen_server/dashboard/assets/page-B5Y_HW80.js +1 -0
  81. zenml/zen_server/dashboard/assets/{page-Ba5l9-eg.js → page-BQT1Zxsp.js} +1 -1
  82. zenml/zen_server/dashboard/assets/page-BR7WTzLa.js +1 -0
  83. zenml/zen_server/dashboard/assets/page-BmuIfr11.js +1 -0
  84. zenml/zen_server/dashboard/assets/{page-C6Xn5o3F.js → page-Bwrw_wb_.js} +1 -1
  85. zenml/zen_server/dashboard/assets/{page-GXA0bsIT.js → page-ByiUk9rA.js} +1 -1
  86. zenml/zen_server/dashboard/assets/{page-68OLHx44.js → page-C9lMl0g8.js} +2 -2
  87. zenml/zen_server/dashboard/assets/{page-NTQrxRsu.js → page-CK0iF8U_.js} +1 -1
  88. zenml/zen_server/dashboard/assets/{page-Cea5XeRB.js → page-CQTaUp7q.js} +1 -1
  89. zenml/zen_server/dashboard/assets/{page-ZJ5Cy_-x.js → page-Ca8Zw2SO.js} +1 -1
  90. zenml/zen_server/dashboard/assets/{page-B90yVxNb.js → page-CaDkuI7b.js} +1 -1
  91. zenml/zen_server/dashboard/assets/{page-C1Jl09zF.js → page-DB_mi8or.js} +1 -1
  92. zenml/zen_server/dashboard/assets/page-DDY5j-6S.js +1 -0
  93. zenml/zen_server/dashboard/assets/page-DIz9_5Du.js +2 -0
  94. zenml/zen_server/dashboard/assets/page-DPrgvGj6.js +9 -0
  95. zenml/zen_server/dashboard/assets/{page-C0opS_t4.js → page-D_Vj_UH1.js} +1 -1
  96. zenml/zen_server/dashboard/assets/page-QPP3iIQH.js +1 -0
  97. zenml/zen_server/dashboard/assets/{page-Bjj9GHVF.js → page-bpP11sGS.js} +1 -1
  98. zenml/zen_server/dashboard/assets/page-xA0WcjLa.js +1 -0
  99. zenml/zen_server/dashboard/assets/{page-DVAcOIuw.js → page-zYQJvPVh.js} +1 -1
  100. zenml/zen_server/dashboard/assets/{play-circle-DsngbHkK.js → play-circle-DK5QMJyp.js} +1 -1
  101. zenml/zen_server/dashboard/assets/{terminal-Cb3ce-nr.js → terminal-B2ovgWuz.js} +1 -1
  102. zenml/zen_server/dashboard/assets/{update-server-settings-mutation-CdcOI8-c.js → update-server-settings-mutation-SaWcyAnk.js} +1 -1
  103. zenml/zen_server/dashboard/assets/{url-DLJUVIKc.js → url-ZKNs861m.js} +1 -1
  104. zenml/zen_server/dashboard/assets/zod-DrZvVLjd.js +1 -0
  105. zenml/zen_server/dashboard/index.html +8 -8
  106. zenml/zen_server/dashboard_legacy/asset-manifest.json +4 -4
  107. zenml/zen_server/dashboard_legacy/index.html +1 -1
  108. zenml/zen_server/dashboard_legacy/{precache-manifest.05e51e85bd64770b2708d408a88d7028.js → precache-manifest.8e59f98d08e9c4c7cb3ef9f0bab7093f.js} +4 -4
  109. zenml/zen_server/dashboard_legacy/service-worker.js +1 -1
  110. zenml/zen_server/dashboard_legacy/static/js/main.a238a4d2.chunk.js +2 -0
  111. zenml/zen_server/dashboard_legacy/static/js/main.a238a4d2.chunk.js.map +1 -0
  112. zenml/zen_server/deploy/helm/Chart.yaml +1 -1
  113. zenml/zen_server/deploy/helm/README.md +3 -3
  114. zenml/zen_server/deploy/helm/values.yaml +7 -7
  115. zenml/zen_server/jwt.py +11 -11
  116. zenml/zen_server/routers/auth_endpoints.py +17 -0
  117. zenml/zen_server/routers/steps_endpoints.py +11 -3
  118. zenml/zen_stores/migrations/versions/0.58.1_release.py +23 -0
  119. zenml/zen_stores/rest_zen_store.py +17 -1
  120. {zenml_nightly-0.58.0.dev20240529.dist-info → zenml_nightly-0.58.1.dev20240608.dist-info}/METADATA +4 -3
  121. {zenml_nightly-0.58.0.dev20240529.dist-info → zenml_nightly-0.58.1.dev20240608.dist-info}/RECORD +124 -123
  122. zenml/zen_server/dashboard/assets/@react-router-CCpyfPW-.js +0 -29
  123. zenml/zen_server/dashboard/assets/@reactflow-CF_wPv-n.js +0 -17
  124. zenml/zen_server/dashboard/assets/@reactflow-lOPj8ZwY.css +0 -1
  125. zenml/zen_server/dashboard/assets/@tanstack-GFKzItNf.js +0 -30
  126. zenml/zen_server/dashboard/assets/CodeSnippet-CBFcxTGW.js +0 -9
  127. zenml/zen_server/dashboard/assets/Commands-BQb0_PAa.js +0 -1
  128. zenml/zen_server/dashboard/assets/Infobox-DV6YqO5N.js +0 -1
  129. zenml/zen_server/dashboard/assets/index-D4zsM9tz.css +0 -1
  130. zenml/zen_server/dashboard/assets/index-DKgtNG83.js +0 -56
  131. zenml/zen_server/dashboard/assets/index.esm-DNxbrOmx.js +0 -1
  132. zenml/zen_server/dashboard/assets/page-0AGNIDYi.js +0 -1
  133. zenml/zen_server/dashboard/assets/page-6Gp_NCQL.js +0 -14
  134. zenml/zen_server/dashboard/assets/page-BiyORkbM.js +0 -1
  135. zenml/zen_server/dashboard/assets/page-BnrWbXYJ.js +0 -2
  136. zenml/zen_server/dashboard/assets/page-CUqLUGbU.js +0 -1
  137. zenml/zen_server/dashboard/assets/page-CWpGAjSi.js +0 -1
  138. zenml/zen_server/dashboard/assets/page-DFQa6C6e.js +0 -1
  139. zenml/zen_server/dashboard/assets/page-Dn87PjPv.js +0 -1
  140. zenml/zen_server/dashboard/assets/zod-DueGCdzx.js +0 -1
  141. zenml/zen_server/dashboard_legacy/static/js/main.41d438ec.chunk.js +0 -2
  142. zenml/zen_server/dashboard_legacy/static/js/main.41d438ec.chunk.js.map +0 -1
  143. {zenml_nightly-0.58.0.dev20240529.dist-info → zenml_nightly-0.58.1.dev20240608.dist-info}/LICENSE +0 -0
  144. {zenml_nightly-0.58.0.dev20240529.dist-info → zenml_nightly-0.58.1.dev20240608.dist-info}/WHEEL +0 -0
  145. {zenml_nightly-0.58.0.dev20240529.dist-info → zenml_nightly-0.58.1.dev20240608.dist-info}/entry_points.txt +0 -0
@@ -1 +1 @@
1
- import{j as e}from"./@tanstack-GFKzItNf.js";import{P as r}from"./PageHeader-D7r1Jb6H.js";import{B as o,o as i}from"./index-DKgtNG83.js";import{C as n}from"./CodeSnippet-CBFcxTGW.js";import{I as c}from"./Infobox-DV6YqO5N.js";import{f as l}from"./@react-router-CCpyfPW-.js";import{C as m,a as d}from"./cloud-only-lInATL8-.js";import"./@radix-BrEjOMvl.js";import"./@reactflow-CF_wPv-n.js";import"./copy-B8yRmO5i.js";function x(){return e.jsx(c,{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:"This is a ZenML Cloud feature. "}),e.jsx("p",{children:"Upgrade to ZenML Cloud to access the Artifact Control Plane and interact with your artifacts in the Dashboard."})]})})}function f(){const[s]=l(),t=s.get("artifact");function a(){return t?`zenml artifact list --name='contains:${t}'`:"zenml artifact list"}return e.jsxs(o,{className:"flex flex-wrap justify-between p-5",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-text-xl font-semibold",children:"Staying Open Source? "}),e.jsx("p",{className:"text-theme-text-secondary",children:"No problem! Use this CLI command to list your artifacts"})]}),e.jsx(n,{code:a()})]})}const p="/assets/acp-DOsXjFc7.webp";function S(){return e.jsxs("div",{children:[e.jsxs(r,{className:"flex items-center gap-1",children:[e.jsx("h1",{className:"text-display-xs font-semibold",children:"Artifacts"}),e.jsx(i,{color:"purple",rounded:!0,size:"sm",children:e.jsx("span",{className:"font-semibold text-primary-500",children:"Cloud"})})]}),e.jsxs("div",{className:"layout-container space-y-5 py-5",children:[e.jsx(x,{}),e.jsx(m,{image:{src:p,alt:"Screenshot of the ZenML Cloud Model Control plane"},features:d}),e.jsx(f,{})]})]})}export{S as default};
1
+ import{j as e}from"./@tanstack-CEbkxrhX.js";import{P as r}from"./PageHeader-D-u0obgg.js";import{B as o,p as i}from"./index-BhYPVFKa.js";import{C as n}from"./CodeSnippet-iinvcx17.js";import{I as c}from"./Infobox-DG7zmtut.js";import{b as l}from"./@react-router-DYovave8.js";import{C as m,a as d}from"./cloud-only-DsILLhXk.js";import"./@radix-C9DBgJhe.js";import"./@reactflow-CegZ5GV3.js";import"./copy-BRhQz3j-.js";function x(){return e.jsx(c,{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:"This is a ZenML Cloud feature. "}),e.jsx("p",{children:"Upgrade to ZenML Cloud to access the Artifact Control Plane and interact with your artifacts in the Dashboard."})]})})}function f(){const[s]=l(),t=s.get("artifact");function a(){return t?`zenml artifact list --name='contains:${t}'`:"zenml artifact list"}return e.jsxs(o,{className:"flex flex-wrap justify-between p-5",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-text-xl font-semibold",children:"Staying Open Source? "}),e.jsx("p",{className:"text-theme-text-secondary",children:"No problem! Use this CLI command to list your artifacts"})]}),e.jsx(n,{code:a()})]})}const p="/assets/acp-DOsXjFc7.webp";function S(){return e.jsxs("div",{children:[e.jsxs(r,{className:"flex items-center gap-1",children:[e.jsx("h1",{className:"text-display-xs font-semibold",children:"Artifacts"}),e.jsx(i,{color:"purple",rounded:!0,size:"sm",children:e.jsx("span",{className:"font-semibold text-primary-500",children:"Cloud"})})]}),e.jsxs("div",{className:"layout-container space-y-5 py-5",children:[e.jsx(x,{}),e.jsx(m,{image:{src:p,alt:"Screenshot of the ZenML Cloud Model Control plane"},features:d}),e.jsx(f,{})]})]})}export{S as default};
@@ -1 +1 @@
1
- import{j as e}from"./@tanstack-GFKzItNf.js";import{P as r}from"./PageHeader-D7r1Jb6H.js";import{B as a,aq as n,o as l}from"./index-DKgtNG83.js";import{C as i}from"./CodeSnippet-CBFcxTGW.js";import{I as m}from"./Infobox-DV6YqO5N.js";import{f as d}from"./@react-router-CCpyfPW-.js";import{C as c,m as x}from"./cloud-only-lInATL8-.js";import{r as p}from"./@radix-BrEjOMvl.js";import"./@reactflow-CF_wPv-n.js";import"./copy-B8yRmO5i.js";function u(){return e.jsx(m,{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:"This is a ZenML Cloud feature. "}),e.jsx("p",{children:"Upgrade to ZenML Cloud to access the Model Control Plane and interact with your models in the Dashboard."})]})})}function f(){const[o]=d(),s=o.get("model");function t(){return s?`zenml model list --name='contains:${s}'`:"zenml model list"}return e.jsxs(a,{className:"flex flex-wrap justify-between p-5",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-text-xl font-semibold",children:"Staying Open Source? "}),e.jsx("p",{className:"text-theme-text-secondary",children:"No problem! Use this CLI command to list your models"})]}),e.jsx(i,{code:t()})]})}const h="/assets/mcp-Cb1aMeoq.webp";function I(){const{setTourState:o,tourState:{tourActive:s}}=n();return p.useEffect(()=>{s&&o(t=>({...t,run:!0,stepIndex:t.stepIndex}))},[s]),e.jsxs("div",{children:[e.jsxs(r,{className:"flex items-center gap-1",children:[e.jsx("h1",{className:"text-display-xs font-semibold",children:"Models"}),e.jsx(l,{color:"purple",rounded:!0,size:"sm",children:e.jsx("span",{className:"font-semibold text-primary-500",children:"Cloud"})})]}),e.jsxs("div",{className:"layout-container space-y-5 py-5",children:[e.jsx(u,{}),e.jsx(c,{image:{src:h,alt:"Screenshot of the ZenML Cloud Model Control plane"},features:x}),e.jsx(f,{})]})]})}export{I as default};
1
+ import{j as e}from"./@tanstack-CEbkxrhX.js";import{P as r}from"./PageHeader-D-u0obgg.js";import{B as a,aw as n,p as l}from"./index-BhYPVFKa.js";import{C as i}from"./CodeSnippet-iinvcx17.js";import{I as m}from"./Infobox-DG7zmtut.js";import{b as d}from"./@react-router-DYovave8.js";import{C as c,m as x}from"./cloud-only-DsILLhXk.js";import{r as p}from"./@radix-C9DBgJhe.js";import"./@reactflow-CegZ5GV3.js";import"./copy-BRhQz3j-.js";function u(){return e.jsx(m,{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:"This is a ZenML Cloud feature. "}),e.jsx("p",{children:"Upgrade to ZenML Cloud to access the Model Control Plane and interact with your models in the Dashboard."})]})})}function f(){const[o]=d(),s=o.get("model");function t(){return s?`zenml model list --name='contains:${s}'`:"zenml model list"}return e.jsxs(a,{className:"flex flex-wrap justify-between p-5",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-text-xl font-semibold",children:"Staying Open Source? "}),e.jsx("p",{className:"text-theme-text-secondary",children:"No problem! Use this CLI command to list your models"})]}),e.jsx(i,{code:t()})]})}const h="/assets/mcp-Cb1aMeoq.webp";function I(){const{setTourState:o,tourState:{tourActive:s}}=n();return p.useEffect(()=>{s&&o(t=>({...t,run:!0,stepIndex:t.stepIndex}))},[s]),e.jsxs("div",{children:[e.jsxs(r,{className:"flex items-center gap-1",children:[e.jsx("h1",{className:"text-display-xs font-semibold",children:"Models"}),e.jsx(l,{color:"purple",rounded:!0,size:"sm",children:e.jsx("span",{className:"font-semibold text-primary-500",children:"Cloud"})})]}),e.jsxs("div",{className:"layout-container space-y-5 py-5",children:[e.jsx(u,{}),e.jsx(c,{image:{src:h,alt:"Screenshot of the ZenML Cloud Model Control plane"},features:x}),e.jsx(f,{})]})]})}export{I as default};
@@ -1,5 +1,5 @@
1
- import{j as e}from"./@tanstack-GFKzItNf.js";import{B as r,ap as i}from"./index-DKgtNG83.js";import{I as a}from"./Infobox-DV6YqO5N.js";import{H as o}from"./Helpbox-CnuWjxcc.js";import{V as s,g as l}from"./Commands-BQb0_PAa.js";import"./@radix-BrEjOMvl.js";import"./@react-router-CCpyfPW-.js";import"./@reactflow-CF_wPv-n.js";import"./help-hEyYkC3q.js";import"./play-circle-DsngbHkK.js";import"./CodeSnippet-CBFcxTGW.js";import"./copy-B8yRmO5i.js";const c=[{command:`zenml secret create SECRET_NAME --key1=value1 --key2=value2 --key3=value3 ...
1
+ import{j as e}from"./@tanstack-CEbkxrhX.js";import{B as r,av as i}from"./index-BhYPVFKa.js";import{I as a}from"./Infobox-DG7zmtut.js";import{H as o}from"./Helpbox-BV73V0J6.js";import{V as s,g as l}from"./Commands-DGnWeAWF.js";import"./@radix-C9DBgJhe.js";import"./@react-router-DYovave8.js";import"./@reactflow-CegZ5GV3.js";import"./help-B8rqCvqn.js";import"./play-circle-DK5QMJyp.js";import"./CodeSnippet-iinvcx17.js";import"./copy-BRhQz3j-.js";const c=[{command:`zenml secret create SECRET_NAME --key1=value1 --key2=value2 --key3=value3 ...
2
2
 
3
3
 
4
4
  # Another option is to use the '--values' option and provide key-value pairs in either JSON or YAML format.
5
- zenml secret create SECRET_NAME --values '{"key1":"value2","key2":"value2","key3":"value3"}'`,description:"Create a secret"},{command:"zenml secret list",description:"List all the available secrets"},{command:"zenml secret get SECRET_NAME",description:"Get the key-value pairs for a particular secret"},{command:"zenml secret delete SECRET_NAME",description:"Delete a secret that you have previously registered"}],m="/assets/secrets-video-OBJ6irhH.svg";function d(){return e.jsx(a,{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 Secrets experience"}),e.jsx("p",{children:"In the meanwhile you can use the CLI to add and manage your secrets."})]})})}function u(){const t="https://zenml.portal.trainn.co/share/R0A37qU8LVfcvPi6wxdhaQ/embed?autoplay=false";return e.jsxs(r,{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 Secrets"}),e.jsx("p",{className:"mt-2 text-text-lg text-theme-text-secondary",children:"Learn about using ZenML Secrets for a secure, centralized management of your pipeline secrets and configurations."}),e.jsx(s,{videoLink:t,buttonText:"Watch the Starter Guide (1 min)"})]}),e.jsx("div",{className:"flex w-full items-center justify-center bg-primary-50 lg:w-1/3",children:e.jsx(s,{fallbackImage:e.jsx("img",{src:m,alt:"Purple squares with text indicating a starter guide for secrets",className:"h-full w-full"}),videoLink:t,isButton:!1})})]})}function x(){return e.jsxs("section",{className:"space-y-5 pl-8 pr-5",children:[e.jsx(a,{className:"text-text-md",intent:"neutral",children:"A ZenML Secret is a collection or grouping of key-value pairs stored by the ZenML secrets store. ZenML Secrets are identified by a unique name which allows you to fetch or reference them in your pipelines and stacks."}),c.map((t,n)=>e.jsx(e.Fragment,{children:l(t)},n)),e.jsx(o,{text:"Check all the commands and find more about Secrets in our Docs",link:"https://docs.zenml.io/user-guide/advanced-guide/secret-management"})]})}function E(){return e.jsxs(r,{className:"space-y-4 p-5",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"Secrets"}),e.jsx(d,{}),e.jsx(u,{}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(i,{}),"Administering your Secrets"]}),e.jsx(x,{})]})}export{E as default};
5
+ zenml secret create SECRET_NAME --values '{"key1":"value2","key2":"value2","key3":"value3"}'`,description:"Create a secret"},{command:"zenml secret list",description:"List all the available secrets"},{command:"zenml secret get SECRET_NAME",description:"Get the key-value pairs for a particular secret"},{command:"zenml secret delete SECRET_NAME",description:"Delete a secret that you have previously registered"}],m="/assets/secrets-video-OBJ6irhH.svg";function d(){return e.jsx(a,{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 Secrets experience"}),e.jsx("p",{children:"In the meanwhile you can use the CLI to add and manage your secrets."})]})})}function u(){const t="https://zenml.portal.trainn.co/share/R0A37qU8LVfcvPi6wxdhaQ/embed?autoplay=false";return e.jsxs(r,{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 Secrets"}),e.jsx("p",{className:"mt-2 text-text-lg text-theme-text-secondary",children:"Learn about using ZenML Secrets for a secure, centralized management of your pipeline secrets and configurations."}),e.jsx(s,{videoLink:t,buttonText:"Watch the Starter Guide (1 min)"})]}),e.jsx("div",{className:"flex w-full items-center justify-center bg-primary-50 lg:w-1/3",children:e.jsx(s,{fallbackImage:e.jsx("img",{src:m,alt:"Purple squares with text indicating a starter guide for secrets",className:"h-full w-full"}),videoLink:t,isButton:!1})})]})}function x(){return e.jsxs("section",{className:"space-y-5 pl-8 pr-5",children:[e.jsx(a,{className:"text-text-md",intent:"neutral",children:"A ZenML Secret is a collection or grouping of key-value pairs stored by the ZenML secrets store. ZenML Secrets are identified by a unique name which allows you to fetch or reference them in your pipelines and stacks."}),c.map((t,n)=>e.jsx(e.Fragment,{children:l(t)},n)),e.jsx(o,{text:"Check all the commands and find more about Secrets in our Docs",link:"https://docs.zenml.io/getting-started/deploying-zenml/manage-the-deployed-services/secret-management"})]})}function E(){return e.jsxs(r,{className:"space-y-4 p-5",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"Secrets"}),e.jsx(d,{}),e.jsx(u,{}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(i,{}),"Administering your Secrets"]}),e.jsx(x,{})]})}export{E as default};
@@ -1,2 +1,2 @@
1
- import{j as a,b as w}from"./@tanstack-GFKzItNf.js";import{u as h,c as v,S as y,a as k,b as S}from"./SuccessStep-DEeKB0Wq.js";import{S as x}from"./SetPassword-074iDZCm.js";import{r as u}from"./@radix-BrEjOMvl.js";import{I as j,h as N,j as A,F as C,k as q,l as P,e as z,f as E,i as F}from"./index-DKgtNG83.js";import{u as M}from"./index.esm-DNxbrOmx.js";import{t as T}from"./zod-DueGCdzx.js";import{u as U}from"./login-mutation-BfEeVmSl.js";import"./UpdatePasswordSchemas-4be5el9x.js";import"./check-circle-GxOo3117.js";import"./url-DLJUVIKc.js";import"./@react-router-CCpyfPW-.js";import"./PasswordChecker-C2ImqlTr.js";import"./@reactflow-CF_wPv-n.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(x,{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{j as a,b as w}from"./@tanstack-CEbkxrhX.js";import{u as h,c as v,S as y,a as k,b as S}from"./SuccessStep-BHhPYxz9.js";import{S as x}from"./SetPassword-Dq6iUfpW.js";import{r as u}from"./@radix-C9DBgJhe.js";import{I as j,h as N,j as A,F as C,k as q,l as P,e as z,f as E,i as F}from"./index-BhYPVFKa.js";import{u as M}from"./index.esm-F7nqy9zY.js";import{t as T}from"./zod-DrZvVLjd.js";import{u as U}from"./login-mutation-CDARn8rx.js";import"./UpdatePasswordSchemas-4FyPPBY9.js";import"./check-circle-BVvhm5dy.js";import"./url-ZKNs861m.js";import"./@react-router-DYovave8.js";import"./PasswordChecker-DSLBp7Vl.js";import"./@reactflow-CegZ5GV3.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(x,{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}}=M({resolver:T(v),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(j,{...s("serverName"),id:r,className:"w-full"})]})}),a.jsx(N,{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=q(P.activate),t=await A(r,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){const s=await t.json().then(o=>o.detail instanceof Array?o.detail[1]:o.detail).catch(()=>"Failed to activate server");throw new C({status:t.status,statusText:t.statusText,message:s})}return t.json()}function B(e){return w({mutationFn:async r=>Z(r),...e})}function G({setUsername:e}){const{serverSettings:r}=f(),{setSurveyStep:t}=h(),{setAuthState:s}=z(),{toast:o}=E(),{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})},onError:n=>{n instanceof Error&&o({status:"error",emphasis:"subtle",icon:a.jsx(F,{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(y,{stepAmount:2}),e===1&&a.jsx(I,{}),e===2&&a.jsx(G,{setUsername:t}),e===3&&a.jsx(k,{subHeader:"Your created your ZenML account",username:r})]})})}function ce(){return a.jsx(S,{children:a.jsx(J,{})})}export{ce as default};
@@ -1 +1 @@
1
- import{j as e}from"./@tanstack-GFKzItNf.js";import{u as n,A as o,a as i,g as d,b as c,S as a,c as x,d as m,B as u,r as f}from"./index-DKgtNG83.js";import{C as h}from"./CodeSnippet-CBFcxTGW.js";import{L as j}from"./@react-router-CCpyfPW-.js";import"./@radix-BrEjOMvl.js";import"./@reactflow-CF_wPv-n.js";import"./copy-B8yRmO5i.js";const p="/assets/cloud-squares-DeRLMopf.svg";function v(){var r,t,l;const{data:s}=n({throwOnError:!0});return e.jsx("div",{className:"w-full items-center border-b border-theme-border-moderate bg-white py-5",children:e.jsx("div",{className:"layout-container flex flex-col flex-wrap items-center justify-between md:flex-row",children:e.jsxs("div",{className:"flex flex-col items-center gap-5 md:flex-row",children:[s?e.jsxs(o,{size:"xxl",type:"square",children:[e.jsx(i,{alt:"Logo displayed for the tenant",src:d(((r=s.body)==null?void 0:r.server_name)||"default",64)}),e.jsx(c,{size:"xxl",children:((t=s.body)==null?void 0:t.server_name[0])||"D"})]}):e.jsx(a,{className:"h-[96px] w-[96px]"}),e.jsx("div",{children:e.jsxs("div",{className:"flex flex-col gap-2 md:flex-row",children:[s?e.jsx("h1",{className:"mb-1 text-display-xs font-semibold",children:((l=s.body)==null?void 0:l.server_name)||"default"}):e.jsx(a,{className:"h-full w-8"}),e.jsx("div",{className:"flex flex-row flex-wrap gap-0.5",children:e.jsx(w,{})})]})})]})})})}function w(){const{data:s,isError:r,isPending:t}=x({throwOnError:!0});return r?null:t?e.jsx(a,{className:"w-6"}):e.jsxs("div",{className:"flex h-6 items-center gap-0.5 rounded-md border border-theme-border-moderate px-1 py-0.5 text-text-sm text-theme-text-secondary",children:[e.jsx(m,{className:"h-4 w-4 fill-theme-text-brand"}),s.version]})}function Z(){return e.jsxs("div",{children:[e.jsx(v,{}),e.jsx("div",{className:"layout-container py-5",children:e.jsx(g,{})})]})}function g(){return e.jsxs(u,{className:"flex flex-col-reverse overflow-hidden lg:flex-row",children:[e.jsxs("div",{className:"w-full px-7 py-5 lg:w-2/3",children:[e.jsx("h2",{className:"text-display-xs font-semibold",children:"Welcome to ZenML"}),e.jsxs("p",{className:"mt-2 text-text-lg text-theme-text-secondary",children:["You successfully installed ZenML dashboard. ",e.jsx("br",{}),"Now you can get started with your new ZenML server.",e.jsx("br",{}),"To get started"," ",e.jsx(j,{className:"link text-theme-text-brand",to:f.onboarding,children:"checkout the onboarding guide"}),"."]}),e.jsx("hr",{className:"mb-5 mt-5 w-[100px]"}),e.jsxs("div",{className:"",children:[e.jsx("p",{className:"mb-1 text-text-sm",children:"Copy your ZenML server URL"}),e.jsx("div",{className:"",children:e.jsx(h,{codeClasses:"truncate",className:"truncate",code:`zenml connect --url=${window.location.origin}`})})]})]}),e.jsx("div",{className:"flex w-full items-center justify-center bg-primary-50 lg:w-1/3",children:e.jsx("img",{alt:"illustration of different purple squares",src:p,className:"h-full w-full"})})]})}export{Z as default};
1
+ import{j as e}from"./@tanstack-CEbkxrhX.js";import{u as n,A as o,a as i,g as d,b as c,S as a,c as x,d as m,B as u,r as f}from"./index-BhYPVFKa.js";import{C as h}from"./CodeSnippet-iinvcx17.js";import{L as j}from"./@react-router-DYovave8.js";import"./@radix-C9DBgJhe.js";import"./@reactflow-CegZ5GV3.js";import"./copy-BRhQz3j-.js";const p="/assets/cloud-squares-DeRLMopf.svg";function v(){var r,t,l;const{data:s}=n({throwOnError:!0});return e.jsx("div",{className:"w-full items-center border-b border-theme-border-moderate bg-white py-5",children:e.jsx("div",{className:"layout-container flex flex-col flex-wrap items-center justify-between md:flex-row",children:e.jsxs("div",{className:"flex flex-col items-center gap-5 md:flex-row",children:[s?e.jsxs(o,{size:"xxl",type:"square",children:[e.jsx(i,{alt:"Logo displayed for the tenant",src:d(((r=s.body)==null?void 0:r.server_name)||"default",64)}),e.jsx(c,{size:"xxl",children:((t=s.body)==null?void 0:t.server_name[0])||"D"})]}):e.jsx(a,{className:"h-[96px] w-[96px]"}),e.jsx("div",{children:e.jsxs("div",{className:"flex flex-col gap-2 md:flex-row",children:[s?e.jsx("h1",{className:"mb-1 text-display-xs font-semibold",children:((l=s.body)==null?void 0:l.server_name)||"default"}):e.jsx(a,{className:"h-full w-8"}),e.jsx("div",{className:"flex flex-row flex-wrap gap-0.5",children:e.jsx(w,{})})]})})]})})})}function w(){const{data:s,isError:r,isPending:t}=x({throwOnError:!0});return r?null:t?e.jsx(a,{className:"w-6"}):e.jsxs("div",{className:"flex h-6 items-center gap-0.5 rounded-md border border-theme-border-moderate px-1 py-0.5 text-text-sm text-theme-text-secondary",children:[e.jsx(m,{className:"h-4 w-4 fill-theme-text-brand"}),s.version]})}function Z(){return e.jsxs("div",{children:[e.jsx(v,{}),e.jsx("div",{className:"layout-container py-5",children:e.jsx(g,{})})]})}function g(){return e.jsxs(u,{className:"flex flex-col-reverse overflow-hidden lg:flex-row",children:[e.jsxs("div",{className:"w-full px-7 py-5 lg:w-2/3",children:[e.jsx("h2",{className:"text-display-xs font-semibold",children:"Welcome to ZenML"}),e.jsxs("p",{className:"mt-2 text-text-lg text-theme-text-secondary",children:["You successfully installed ZenML dashboard. ",e.jsx("br",{}),"Now you can get started with your new ZenML server.",e.jsx("br",{}),"To get started"," ",e.jsx(j,{className:"link text-theme-text-brand",to:f.onboarding,children:"checkout the onboarding guide"}),"."]}),e.jsx("hr",{className:"mb-5 mt-5 w-[100px]"}),e.jsxs("div",{className:"",children:[e.jsx("p",{className:"mb-1 text-text-sm",children:"Copy your ZenML server URL"}),e.jsx("div",{className:"",children:e.jsx(h,{codeClasses:"truncate",className:"truncate",code:`zenml connect --url=${window.location.origin}`})})]})]}),e.jsx("div",{className:"flex w-full items-center justify-center bg-primary-50 lg:w-1/3",children:e.jsx("img",{alt:"illustration of different purple squares",src:p,className:"h-full w-full"})})]})}export{Z as default};
@@ -1 +1 @@
1
- import{j as e,b as v}from"./@tanstack-GFKzItNf.js";import{u as m,S as w,a as j,b as y}from"./SuccessStep-DEeKB0Wq.js";import{A,P,a as b}from"./AwarenessChannel-CqRB1HO9.js";import{r as l}from"./@radix-BrEjOMvl.js";import{S as U}from"./SetPassword-074iDZCm.js";import{j as _,F as g,k as F,l as C,e as E,f as k,i as N}from"./index-DKgtNG83.js";import{u as M}from"./login-mutation-BfEeVmSl.js";import{f as D}from"./@react-router-CCpyfPW-.js";import{E as H}from"./EmptyState-CPJglRv0.js";import"./UpdatePasswordSchemas-4be5el9x.js";import"./check-circle-GxOo3117.js";import"./url-DLJUVIKc.js";import"./zod-DueGCdzx.js";import"./index.esm-DNxbrOmx.js";import"./file-text-Bp-4kjON.js";import"./play-circle-DsngbHkK.js";import"./PasswordChecker-C2ImqlTr.js";import"./@reactflow-CF_wPv-n.js";const f=l.createContext(null);function T({children:t,initialUser:r}){const[n,s]=l.useState(r||{});return e.jsx(f.Provider,{value:{newUser:n,setNewUser:s},children:t})}function d(){const t=l.useContext(f);if(t===null)throw new Error("useActivationContext must be used within an ActivationProvider");return t}function I(){const{setSurveyStep:t}=m(),{setNewUser:r,newUser:n}=d();function s({fullName:a,getUpdates:o,email:i}){r(c=>({...c,...i?{email:i}:{email:null},full_name:a,email_opted_in:o})),t(c=>c+1)}return e.jsx(A,{email:n.email,fullName:n.full_name,submitHandler:s})}function L(){const{setSurveyStep:t}=m(),{setNewUser:r}=d();function n({newPassword:s}){r(a=>({...a,password:s})),t(a=>a+1)}return e.jsx(U,{submitHandler:n})}function z(){const{setSurveyStep:t}=m(),{setNewUser:r}=d();function n({amountProductionModels:s,primaryUse:a}){const o={primary_use:a,models_production:s};r(i=>({...i,user_metadata:{...i.user_metadata,...o}})),t(i=>i+1)}return e.jsx(P,{submitHandler:n})}async function J({userId:t,body:r}){const n=F(C.users.activate(t)),s=await _(n,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!s.ok){const a=await s.json().then(o=>o.detail instanceof Array?o.detail[1]:o.detail).catch(()=>"Failed to update activate user");throw new g({status:s.status,statusText:s.statusText,message:a})}return s.json()}function O(t){return v({mutationFn:async r=>J(r),...t})}function R({userId:t,setUsername:r}){const{newUser:n}=d(),{setAuthState:s}=E(),{setSurveyStep:a}=m(),{mutate:o}=M({onSuccess:()=>{s("true"),a(u=>u+1)}}),{toast:i}=k(),{mutate:c}=O({onSuccess:async u=>{r(u.name),o({username:u.name,password:n.password})},onError:u=>{u instanceof Error&&i({status:"error",emphasis:"subtle",icon:e.jsx(N,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:u.message,rounded:!0})}});function S({other:u,channels:p,otherVal:x}){const h={awareness_channels:u?[...p,x]:p};c({userId:t,body:{...n,user_metadata:{...n.user_metadata,...h}}})}return e.jsx(b,{submitHandler:S})}function W(){const{surveyStep:t}=m(),[r]=D(),[n,s]=l.useState(""),a=r.get("user"),o=r.get("token");return!a||!o?e.jsx(H,{children:e.jsx("p",{children:"Invalid activation link."})}):e.jsx(e.Fragment,{children:e.jsxs(T,{initialUser:{activation_token:o},children:[e.jsx(w,{stepAmount:4}),t===1&&e.jsx(I,{}),t===2&&e.jsx(L,{}),t===3&&e.jsx(z,{}),t===4&&e.jsx(R,{setUsername:s,userId:a}),t===5&&e.jsx(j,{subHeader:"Your created your ZenML account",username:n})]})})}function ct(){return e.jsx("div",{children:e.jsx(y,{children:e.jsx(W,{})})})}export{ct as default};
1
+ import{j as e,b as v}from"./@tanstack-CEbkxrhX.js";import{u as m,S as w,a as j,b as y}from"./SuccessStep-BHhPYxz9.js";import{A,P,a as b}from"./AwarenessChannel-DDpU6zHx.js";import{r as l}from"./@radix-C9DBgJhe.js";import{S as U}from"./SetPassword-Dq6iUfpW.js";import{j as _,F as g,k as F,l as C,e as E,f as k,i as N}from"./index-BhYPVFKa.js";import{u as M}from"./login-mutation-CDARn8rx.js";import{b as D}from"./@react-router-DYovave8.js";import{E as H}from"./EmptyState-BkooiGtL.js";import"./UpdatePasswordSchemas-4FyPPBY9.js";import"./check-circle-BVvhm5dy.js";import"./url-ZKNs861m.js";import"./zod-DrZvVLjd.js";import"./index.esm-F7nqy9zY.js";import"./file-text-CbVERUON.js";import"./play-circle-DK5QMJyp.js";import"./PasswordChecker-DSLBp7Vl.js";import"./@reactflow-CegZ5GV3.js";const f=l.createContext(null);function T({children:t,initialUser:r}){const[n,s]=l.useState(r||{});return e.jsx(f.Provider,{value:{newUser:n,setNewUser:s},children:t})}function d(){const t=l.useContext(f);if(t===null)throw new Error("useActivationContext must be used within an ActivationProvider");return t}function I(){const{setSurveyStep:t}=m(),{setNewUser:r,newUser:n}=d();function s({fullName:a,getUpdates:o,email:i}){r(c=>({...c,...i?{email:i}:{email:null},full_name:a,email_opted_in:o})),t(c=>c+1)}return e.jsx(A,{email:n.email,fullName:n.full_name,submitHandler:s})}function L(){const{setSurveyStep:t}=m(),{setNewUser:r}=d();function n({newPassword:s}){r(a=>({...a,password:s})),t(a=>a+1)}return e.jsx(U,{submitHandler:n})}function z(){const{setSurveyStep:t}=m(),{setNewUser:r}=d();function n({amountProductionModels:s,primaryUse:a}){const o={primary_use:a,models_production:s};r(i=>({...i,user_metadata:{...i.user_metadata,...o}})),t(i=>i+1)}return e.jsx(P,{submitHandler:n})}async function J({userId:t,body:r}){const n=F(C.users.activate(t)),s=await _(n,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!s.ok){const a=await s.json().then(o=>o.detail instanceof Array?o.detail[1]:o.detail).catch(()=>"Failed to update activate user");throw new g({status:s.status,statusText:s.statusText,message:a})}return s.json()}function O(t){return v({mutationFn:async r=>J(r),...t})}function R({userId:t,setUsername:r}){const{newUser:n}=d(),{setAuthState:s}=E(),{setSurveyStep:a}=m(),{mutate:o}=M({onSuccess:()=>{s("true"),a(u=>u+1)}}),{toast:i}=k(),{mutate:c}=O({onSuccess:async u=>{r(u.name),o({username:u.name,password:n.password})},onError:u=>{u instanceof Error&&i({status:"error",emphasis:"subtle",icon:e.jsx(N,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:u.message,rounded:!0})}});function S({other:u,channels:p,otherVal:x}){const h={awareness_channels:u?[...p,x]:p};c({userId:t,body:{...n,user_metadata:{...n.user_metadata,...h}}})}return e.jsx(b,{submitHandler:S})}function W(){const{surveyStep:t}=m(),[r]=D(),[n,s]=l.useState(""),a=r.get("user"),o=r.get("token");return!a||!o?e.jsx(H,{children:e.jsx("p",{children:"Invalid activation link."})}):e.jsx(e.Fragment,{children:e.jsxs(T,{initialUser:{activation_token:o},children:[e.jsx(w,{stepAmount:4}),t===1&&e.jsx(I,{}),t===2&&e.jsx(L,{}),t===3&&e.jsx(z,{}),t===4&&e.jsx(R,{setUsername:s,userId:a}),t===5&&e.jsx(j,{subHeader:"Your created your ZenML account",username:n})]})})}function ct(){return e.jsx("div",{children:e.jsx(y,{children:e.jsx(W,{})})})}export{ct as default};
@@ -1 +1 @@
1
- import{j as e}from"./@tanstack-GFKzItNf.js";import{u as x,S as n,A as c,a as d,g as f,b as u,r,c as h,d as p,ag as g,af as v}from"./index-DKgtNG83.js";import{h as j,O as N}from"./@react-router-CCpyfPW-.js";import{I as b}from"./InlineAvatar-DE_1-SDN.js";import"./@radix-BrEjOMvl.js";import"./@reactflow-CF_wPv-n.js";function w({children:s,...t}){return e.jsx(j,{className:({isActive:a})=>` ${a?"bg-primary-50 text-theme-text-brand":"hover:bg-neutral-200"} block rounded-md px-4 py-1 text-text-sm font-semibold `,...t,children:s})}function o({items:s}){return e.jsx("nav",{className:"flex w-full flex-col items-center",children:e.jsx("ul",{className:"flex w-full flex-row flex-wrap items-center gap-1 lg:flex-col lg:items-start",children:s.map(t=>e.jsx("li",{className:"lg:w-full",children:e.jsx(w,{end:!0,to:t.href,children:t.name})},t.name))})})}function y(){var l,i,m;const{data:s,isError:t,isPending:a}=x({throwOnError:!0});return a?e.jsx(n,{className:"h-9 w-full"}):t?null:e.jsxs("div",{className:"flex w-full items-center gap-2 rounded-md border border-theme-border-moderate bg-theme-surface-primary p-2",children:[e.jsxs(c,{size:"md",type:"square",children:[e.jsx(d,{src:f(((l=s.body)==null?void 0:l.server_name)||"default")}),e.jsx(u,{size:"md",children:((i=s.body)==null?void 0:i.server_name[0])||"D"})]}),e.jsx("p",{className:"truncate text-text-sm font-semibold",children:(m=s.body)==null?void 0:m.server_name})]})}function S(){function s(){return[{name:"General",href:r.settings.general},{name:"Members",href:r.settings.members},{name:"Repositories",href:r.settings.repositories.overview},{name:"Secrets",href:r.settings.secrets.overview},{name:"Connectors",href:r.settings.connectors.overview},{name:"Notifications",href:r.settings.notifications}]}const t=s();return e.jsx(o,{items:t})}function I(){function s(){return[{name:"Profile",href:r.settings.profile}]}const t=s();return e.jsx(o,{items:t})}function k(){const{data:s,isPending:t,isError:a}=h();return t?e.jsx(n,{className:"h-[70px] w-full"}):a?null:e.jsxs("div",{className:"rounded-md border border-theme-border-moderate bg-theme-surface-primary p-3",children:[e.jsxs("div",{className:"mb-2 flex items-center",children:[e.jsx(p,{className:"h-4 w-4 fill-theme-text-brand"}),e.jsx("p",{className:"ml-2 text-text-sm font-semibold",children:"Open source"})]}),e.jsxs("p",{className:"mb-1 text-text-sm text-theme-text-tertiary",children:["ZenML v",s.version]}),e.jsxs("p",{className:"text-text-sm text-theme-text-tertiary",children:["UI Version ","v0.17.3"]})]})}function L(){const{data:s}=g();return e.jsxs("div",{className:"layout-container flex flex-col gap-7 pt-5 lg:flex-row lg:px-10",children:[e.jsxs("div",{className:"flex shrink-0 flex-col gap-4 lg:w-[200px]",children:[e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("p",{className:"text-text-xs font-semibold uppercase text-theme-text-tertiary",children:"Server"}),e.jsx(y,{}),e.jsx(S,{})]}),s?e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("p",{className:"text-text-xs font-semibold uppercase text-theme-text-tertiary",children:"Account"}),e.jsx(b,{username:v(s)})]}):e.jsx(n,{className:"h-[70px] w-full"}),e.jsx("div",{className:"flex flex-col gap-4",children:e.jsx(I,{})}),e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("p",{className:"text-text-xs font-semibold uppercase text-theme-text-tertiary",children:"Version"}),e.jsx(k,{})]})]}),e.jsx("div",{className:"w-full",children:e.jsx(N,{})})]})}export{L as default};
1
+ import{j as e}from"./@tanstack-CEbkxrhX.js";import{u as x,S as n,A as c,a as d,g as f,b as u,r,c as h,d as p,am as g,al as v}from"./index-BhYPVFKa.js";import{h as j,O as N}from"./@react-router-DYovave8.js";import{I as b}from"./InlineAvatar-BiKh3XC5.js";import"./@radix-C9DBgJhe.js";import"./@reactflow-CegZ5GV3.js";function w({children:s,...t}){return e.jsx(j,{className:({isActive:a})=>` ${a?"bg-primary-50 text-theme-text-brand":"hover:bg-neutral-200"} block rounded-md px-4 py-1 text-text-sm font-semibold `,...t,children:s})}function o({items:s}){return e.jsx("nav",{className:"flex w-full flex-col items-center",children:e.jsx("ul",{className:"flex w-full flex-row flex-wrap items-center gap-1 lg:flex-col lg:items-start",children:s.map(t=>e.jsx("li",{className:"lg:w-full",children:e.jsx(w,{end:!0,to:t.href,children:t.name})},t.name))})})}function y(){var l,i,m;const{data:s,isError:t,isPending:a}=x({throwOnError:!0});return a?e.jsx(n,{className:"h-9 w-full"}):t?null:e.jsxs("div",{className:"flex w-full items-center gap-2 rounded-md border border-theme-border-moderate bg-theme-surface-primary p-2",children:[e.jsxs(c,{size:"md",type:"square",children:[e.jsx(d,{src:f(((l=s.body)==null?void 0:l.server_name)||"default")}),e.jsx(u,{size:"md",children:((i=s.body)==null?void 0:i.server_name[0])||"D"})]}),e.jsx("p",{className:"truncate text-text-sm font-semibold",children:(m=s.body)==null?void 0:m.server_name})]})}function S(){function s(){return[{name:"General",href:r.settings.general},{name:"Members",href:r.settings.members},{name:"Repositories",href:r.settings.repositories.overview},{name:"Secrets",href:r.settings.secrets.overview},{name:"Connectors",href:r.settings.connectors.overview},{name:"Notifications",href:r.settings.notifications}]}const t=s();return e.jsx(o,{items:t})}function I(){function s(){return[{name:"Profile",href:r.settings.profile}]}const t=s();return e.jsx(o,{items:t})}function k(){const{data:s,isPending:t,isError:a}=h();return t?e.jsx(n,{className:"h-[70px] w-full"}):a?null:e.jsxs("div",{className:"rounded-md border border-theme-border-moderate bg-theme-surface-primary p-3",children:[e.jsxs("div",{className:"mb-2 flex items-center",children:[e.jsx(p,{className:"h-4 w-4 fill-theme-text-brand"}),e.jsx("p",{className:"ml-2 text-text-sm font-semibold",children:"Open source"})]}),e.jsxs("p",{className:"mb-1 text-text-sm text-theme-text-tertiary",children:["ZenML v",s.version]}),e.jsxs("p",{className:"text-text-sm text-theme-text-tertiary",children:["UI Version ","v0.18.0"]})]})}function L(){const{data:s}=g();return e.jsxs("div",{className:"layout-container flex flex-col gap-7 pt-5 lg:flex-row lg:px-10",children:[e.jsxs("div",{className:"flex shrink-0 flex-col gap-4 lg:w-[200px]",children:[e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("p",{className:"text-text-xs font-semibold uppercase text-theme-text-tertiary",children:"Server"}),e.jsx(y,{}),e.jsx(S,{})]}),s?e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("p",{className:"text-text-xs font-semibold uppercase text-theme-text-tertiary",children:"Account"}),e.jsx(b,{username:v(s)})]}):e.jsx(n,{className:"h-[70px] w-full"}),e.jsx("div",{className:"flex flex-col gap-4",children:e.jsx(I,{})}),e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("p",{className:"text-text-xs font-semibold uppercase text-theme-text-tertiary",children:"Version"}),e.jsx(k,{})]})]}),e.jsx("div",{className:"w-full",children:e.jsx(N,{})})]})}export{L as default};
@@ -1 +1 @@
1
- import{j as s}from"./@tanstack-GFKzItNf.js";import{z as t,e as j,f as N,I as i,h as w,i as y,r as b,B as v}from"./index-DKgtNG83.js";import{u as S}from"./login-mutation-BfEeVmSl.js";import{t as I}from"./zod-DueGCdzx.js";import{r as l}from"./@radix-BrEjOMvl.js";import{u as L}from"./index.esm-DNxbrOmx.js";import{a as F,f as P}from"./@react-router-CCpyfPW-.js";import"./@reactflow-CF_wPv-n.js";const E=t.object({username:t.string().min(1),password:t.string().optional()});function A(){const c=F(),{setAuthState:m}=j(),{toast:u}=N(),a=l.useId(),r=l.useId(),[o]=P(),d=o.get("redirect"),x=o.get("username")??void 0,{register:n,handleSubmit:p,formState:{isValid:f}}=L({resolver:I(E),defaultValues:{username:x}}),h=S({onError:e=>{e instanceof Error&&u({status:"error",emphasis:"subtle",icon:s.jsx(y,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:e.message,rounded:!0})},onSuccess:async()=>{m("true"),c(d||b.home)}});function g(e){h.mutate({username:e.username.trim(),password:e.password})}return s.jsxs("form",{onSubmit:p(g),className:"space-y-5",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"space-y-0.5",children:[s.jsx("label",{htmlFor:a,className:"text-text-sm",children:"Username"}),s.jsx(i,{...n("username"),id:a,className:"w-full"})]}),s.jsxs("div",{className:"space-y-0.5",children:[s.jsx("label",{htmlFor:r,className:"text-text-sm",children:"Password"}),s.jsx(i,{...n("password"),id:r,type:"password",className:"w-full"})]})]}),s.jsx(w,{disabled:!f,className:"w-full text-center",size:"md",children:s.jsx("span",{className:"w-full",children:"Login"})})]})}function U(){return s.jsxs(v,{className:"flex w-full max-w-[540px] flex-col gap-5 p-7",children:[s.jsxs("div",{className:"text-center",children:[s.jsx("h1",{className:"mb-0.5 text-display-xs font-semibold",children:"Log in to your account"}),s.jsx("p",{className:"text-theme-text-secondary",children:"Please, fill in your details to log in to your ZenML account."})]}),s.jsx(A,{})]})}export{U as default};
1
+ import{j as s}from"./@tanstack-CEbkxrhX.js";import{z as t,e as j,f as N,I as i,h as w,i as y,r as b,B as v}from"./index-BhYPVFKa.js";import{u as S}from"./login-mutation-CDARn8rx.js";import{t as I}from"./zod-DrZvVLjd.js";import{r as l}from"./@radix-C9DBgJhe.js";import{u as L}from"./index.esm-F7nqy9zY.js";import{a as F,b as P}from"./@react-router-DYovave8.js";import"./@reactflow-CegZ5GV3.js";const E=t.object({username:t.string().min(1),password:t.string().optional()});function A(){const c=F(),{setAuthState:m}=j(),{toast:u}=N(),a=l.useId(),r=l.useId(),[o]=P(),d=o.get("redirect"),x=o.get("username")??void 0,{register:n,handleSubmit:p,formState:{isValid:f}}=L({resolver:I(E),defaultValues:{username:x}}),h=S({onError:e=>{e instanceof Error&&u({status:"error",emphasis:"subtle",icon:s.jsx(y,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:e.message,rounded:!0})},onSuccess:async()=>{m("true"),c(d||b.home)}});function g(e){h.mutate({username:e.username.trim(),password:e.password})}return s.jsxs("form",{onSubmit:p(g),className:"space-y-5",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"space-y-0.5",children:[s.jsx("label",{htmlFor:a,className:"text-text-sm",children:"Username"}),s.jsx(i,{...n("username"),id:a,className:"w-full"})]}),s.jsxs("div",{className:"space-y-0.5",children:[s.jsx("label",{htmlFor:r,className:"text-text-sm",children:"Password"}),s.jsx(i,{...n("password"),id:r,type:"password",className:"w-full"})]})]}),s.jsx(w,{disabled:!f,className:"w-full text-center",size:"md",children:s.jsx("span",{className:"w-full",children:"Login"})})]})}function U(){return s.jsxs(v,{className:"flex w-full max-w-[540px] flex-col gap-5 p-7",children:[s.jsxs("div",{className:"text-center",children:[s.jsx("h1",{className:"mb-0.5 text-display-xs font-semibold",children:"Log in to your account"}),s.jsx("p",{className:"text-theme-text-secondary",children:"Please, fill in your details to log in to your ZenML account."})]}),s.jsx(A,{})]})}export{U as default};
@@ -0,0 +1 @@
1
+ import{j as s,c as D}from"./@tanstack-CEbkxrhX.js";import{$ as E,a0 as k,h as f,a1 as z,a2 as M,a3 as A,f as v,ao as P,a8 as b,i as S,I as o,a6 as T,a7 as B,z as a,am as L,B as q,S as C,A as Q,b as R,al as V}from"./index-BhYPVFKa.js";import{r as l}from"./@radix-C9DBgJhe.js";import{u as F}from"./index.esm-F7nqy9zY.js";import{t as U}from"./zod-DrZvVLjd.js";import{P as Z}from"./PasswordChecker-DSLBp7Vl.js";import{u as _}from"./UpdatePasswordSchemas-4FyPPBY9.js";import{D as K}from"./DisplayDate-BdguISQF.js";import"./@react-router-DYovave8.js";import"./@reactflow-CegZ5GV3.js";const O=e=>l.createElement("svg",{viewBox:"0 0 56 56",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},l.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M28 5.5C15.5736 5.5 5.5 15.5736 5.5 28C5.5 40.4264 15.5736 50.5 28 50.5C40.4264 50.5 50.5 40.4264 50.5 28C50.5 15.5736 40.4264 5.5 28 5.5ZM0.5 28C0.5 12.8122 12.8122 0.5 28 0.5C43.1878 0.5 55.5 12.8122 55.5 28C55.5 43.1878 43.1878 55.5 28 55.5C12.8122 55.5 0.5 43.1878 0.5 28ZM41.0178 18.7322C41.9941 19.7085 41.9941 21.2915 41.0178 22.2678L26.0178 37.2678C25.0415 38.2441 23.4585 38.2441 22.4822 37.2678L14.9822 29.7678C14.0059 28.7915 14.0059 27.2085 14.9822 26.2322C15.9585 25.2559 17.5415 25.2559 18.5178 26.2322L24.25 31.9645L37.4822 18.7322C38.4585 17.7559 40.0415 17.7559 41.0178 18.7322Z"}));function H(){const[e,t]=l.useState(!1);return s.jsxs(E,{onOpenChange:()=>{t(!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(M,{children:s.jsx(A,{children:" Update Credentials"})}),e?s.jsx(G,{}):s.jsx($,{setSuccess:t})]})]})}function $({setSuccess:e}){var u;const t=l.useId(),n=l.useId(),d=l.useId(),{toast:x}=v(),{mutate:p,isPending:j}=P({onSuccess(){e(!0)},onError(i){b(i)&&x({status:"error",emphasis:"subtle",icon:s.jsx(S,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:i.message,rounded:!0})}}),{register:c,handleSubmit:m,watch:w,formState:{isValid:N,errors:g}}=F({resolver:U(_),mode:"onChange",criteriaMode:"all"});function y(i){p({old_password:i.oldPassword,password:i.newPassword})}const h=(u=g.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(y),children:s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"space-y-0.5",children:[s.jsx("label",{htmlFor:t,className:"text-text-sm",children:"Old Password"}),s.jsx(o,{...c("oldPassword"),type:"password",id:t,className:"w-full"})]}),s.jsxs("div",{className:"space-y-0.5",children:[s.jsx("label",{htmlFor:n,className:"text-text-sm",children:"New Password"}),s.jsx(o,{...c("newPassword"),type:"password",id:n,className:"w-full"})]}),s.jsxs("div",{className:"space-y-0.5",children:[s.jsx("label",{htmlFor:d,className:"text-text-sm",children:"Confirm Password"}),s.jsx(o,{...c("confirmPassword"),type:"password",id:d,className:"w-full"})]})]})}),s.jsx(Z,{val:w("newPassword"),errors:h||[]})]}),s.jsxs(T,{className:"gap-[10px]",children:[s.jsx(B,{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 G(){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 J=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 W({user:e}){var h,u,i;const t=D(),{toast:n}=v(),d=l.useId(),x=l.useId(),p=l.useId(),{isPending:j,mutate:c}=P({onError(r){b(r)&&n({status:"error",emphasis:"subtle",icon:s.jsx(S,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:r.message,rounded:!0})},onSuccess:()=>{t.invalidateQueries({queryKey:["current-user"]}),t.invalidateQueries({queryKey:["users"]}),w(),n({status:"success",emphasis:"subtle",rounded:!0,description:"User updated successfully"})}}),{register:m,reset:w,handleSubmit:N,formState:{isValid:g}}=F({resolver:U(J),defaultValues:{email:void 0,fullName:void 0,username:void 0}});function y(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(y),children:s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"space-y-0.5",children:[s.jsx("label",{htmlFor:d,className:"text-text-sm",children:"Full Name"}),s.jsx(o,{placeholder:(h=e.body)==null?void 0:h.full_name,...m("fullName"),id:d,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,...m("email"),id:p,className:"w-full"})]}),s.jsx("div",{className:"flex justify-end",children:s.jsx(f,{disabled:j||!g,size:"md",intent:"primary",children:"Update"})})]})}),s.jsx(H,{}),s.jsxs("p",{className:"mt-5 text-text-sm text-theme-text-secondary",children:["Created on ",s.jsx(K,{dateString:((i=e.body)==null?void 0:i.created)||""})]})]})}function ns(){const{data:e}=L();return s.jsxs(q,{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(W,{user:e}):s.jsx(C,{className:"h-[350px] w-full"}),e?s.jsx(Q,{size:"xxl",className:"ml-5 h-[140px] w-[140px]",type:"rounded",children:s.jsx(R,{className:"text-display-lg",size:"xxl",children:V(e)[0]})}):s.jsx(C,{className:"h-[140px] w-[140px] rounded-rounded"})]})]})}export{ns as default};
@@ -0,0 +1,2 @@
1
+ import{j as e,c as D}from"./@tanstack-CEbkxrhX.js";import{F as q,R as G}from"./Cards-wfOUm_Ae.js";import{B as L,aC as W,s as P,u as C,ap as B,aD as S,av as $,v as y,h as U,w as k,aq as V,ar as J,as as K,at as Q,au as N,ay as h,aE as u,c as z,S as _,aF as A,aG as R,aH as v,aI as b,aJ as w,aK as T,aw as Y}from"./index-BhYPVFKa.js";import{S as I}from"./chevron-down-zcvCWmyP.js";import{r as d}from"./@radix-C9DBgJhe.js";import{u as X}from"./update-server-settings-mutation-SaWcyAnk.js";import{b as ee,S as te,a as se}from"./aws-t0gKCj_R.js";import{H as f}from"./Helpbox-BV73V0J6.js";import{C as n}from"./CodeSnippet-iinvcx17.js";import{H as re}from"./help-B8rqCvqn.js";import"./file-text-CbVERUON.js";import"./terminal-B2ovgWuz.js";import"./@react-router-DYovave8.js";import"./@reactflow-CegZ5GV3.js";import"./copy-BRhQz3j-.js";function ae(){return e.jsx(L,{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."})]})})}const M=t=>d.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...t},d.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M20.7071 5.29289C21.0976 5.68342 21.0976 6.31658 20.7071 6.70711L9.70711 17.7071C9.31658 18.0976 8.68342 18.0976 8.29289 17.7071L3.29289 12.7071C2.90237 12.3166 2.90237 11.6834 3.29289 11.2929C3.68342 10.9024 4.31658 10.9024 4.70711 11.2929L9 15.5858L19.2929 5.29289C19.6834 4.90237 20.3166 4.90237 20.7071 5.29289Z"}));function E({tickClasses:t,...r}){return e.jsx(W,{...r,children:e.jsx(M,{className:P("h-4 w-4 fill-success-300",t)})})}function j({completed:t,title:r,children:s,itemName:a,active:c=!0}){const[o,x]=d.useState(!1),i=D(),{data:l}=C({throwOnError:!0}),{mutate:p}=X({onSuccess:()=>{i.invalidateQueries({queryKey:B()})}});function g(Z){var O;const H={...(O=l==null?void 0:l.metadata)==null?void 0:O.onboarding_state,[a]:Z};p({onboarding_state:H})}return e.jsx(S,{open:o,onOpenChange:x,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:[t?e.jsx("button",{onClick:()=>g(!1),children:e.jsx(E,{className:"shrink-0"})}):e.jsx($,{className:"shrink-0"}),e.jsx(y,{className:"w-full",children:e.jsx(ne,{title:r,completed:t})}),e.jsxs("div",{className:"flex items-center gap-1",children:[!t&&c&&e.jsxs(U,{onClick:()=>g(!0),className:"items-center whitespace-nowrap",intent:"primary",emphasis:"subtle",children:[e.jsx(M,{className:"h-5 w-5 fill-primary-600"})," ",e.jsx("span",{children:"Mark as done"})]}),e.jsx(y,{children:e.jsx(I,{className:` ${o?"":"-rotate-90"} h-5 w-5 shrink-0 rounded-md fill-neutral-500`})})]})]}),s&&e.jsx(k,{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:s})]})})]})})}function ne({completed:t,title: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 ${t?"text-theme-text-tertiary line-through decoration-theme-text-tertiary":""}
2
+ `,children:r})})})}const ce=t=>d.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...t},d.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.24923 9.14303C6.0632 6.17816 8.7764 4 12 4C15.2236 4 17.9368 6.17816 18.7508 9.14303C21.1861 9.70961 23 11.8925 23 14.5C23 17.5376 20.5376 20 17.5 20H6.5C3.46243 20 1 17.5376 1 14.5C1 11.8925 2.8139 9.70961 5.24923 9.14303ZM12 6C9.51785 6 7.45643 7.80968 7.0665 10.1816C6.99268 10.6306 6.62505 10.9731 6.17196 11.0151C4.39329 11.1798 3 12.6778 3 14.5C3 16.433 4.567 18 6.5 18H17.5C19.433 18 21 16.433 21 14.5C21 12.6778 19.6067 11.1798 17.828 11.0151C17.375 10.9731 17.0073 10.6306 16.9335 10.1816C16.5436 7.80968 14.4822 6 12 6Z"}));function F({displayOther:t=!1,setValue:r,value:s,id:a}){return e.jsxs(V,{value:s,onValueChange:r,children:[e.jsx(J,{id:a,className:"w-[125px] border border-neutral-300 px-2 text-left text-text-md",children:e.jsx(K,{placeholder:"Select your Provider"})}),e.jsxs(Q,{className:"",children:[e.jsx(N,{value:"aws",children:e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(ee,{className:"h-5 w-5"}),"AWS"]})}),e.jsxs(N,{value:"gcp",children:[" ",e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(te,{className:"h-5 w-5"}),"GCP"]})]}),e.jsx(N,{value:"azure",children:e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(se,{className:"h-5 w-5"}),"Azure"]})}),t&&e.jsx(N,{value:"other",children:e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(ce,{className:"h-5 w-5 stroke-neutral-400"}),"Other"]})})]})]})}function ie(){return e.jsx(e.Fragment,{children:e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"text-text-sm text-theme-text-secondary",children:["Create a AWS service connector using the IAM Method"," ",e.jsx(m,{href:"https://docs.zenml.io/how-to/auth-management/aws-service-connector#aws-iam-role"})]}),e.jsx(n,{wrap:!0,codeClasses:"whitespace-pre-wrap",code:"AWS_PROFILE=<AWS_PROFILE> zenml service-connector register cloud_connector --type aws --auto-configure"})]})})}function le(){return e.jsx(e.Fragment,{children:e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"text-text-sm text-theme-text-secondary",children:["Create a GCP service connector using the Service Account Method"," ",e.jsx(m,{href:"https://docs.zenml.io/how-to/auth-management/gcp-service-connector#gcp-service-account"})]}),e.jsx(n,{wrap:!0,codeClasses:"whitespace-pre-wrap",code:"zenml service-connector register cloud_connector --type gcp --auth-method service-account --service_account_json=@<PATH_TO_SERVICE_ACCOUNT_JSON> --project-id=<PROJECT_ID> --generate_temporary_tokens=False"})]})})}function oe(){return e.jsx(e.Fragment,{children:e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"text-text-sm text-theme-text-secondary",children:["Create an Azure service connector using the Service Principal Method"," ",e.jsx(m,{href:"https://docs.zenml.io/how-to/auth-management/azure-service-connector#azure-service-principal"})]}),e.jsx(n,{wrap:!0,codeClasses:"whitespace-pre-wrap",code:"zenml service-connector register cloud_connector --type azure --auth-method service-principal --tenant_id=<TENANT_ID> --client_id=<CLIENT_ID> --client_secret=<CLIENT_SECRET>"})]})})}function de(t){switch(t){case"gcp":return e.jsx(le,{});case"aws":return e.jsx(ie,{});case"azure":return e.jsx(oe,{})}}function me(){return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"Install the AWS CLI on your machine"}),e.jsx("div",{className:"inline-block",children:e.jsx("a",{target:"_blank",rel:"noopener noreferrer",className:h({intent:"primary",emphasis:"subtle",size:"md"}),href:"https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html",children:"How to install the AWS CLI"})})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"text-text-sm text-theme-text-secondary",children:["Create a AWS bucket or identify an existing one"," ",e.jsx("span",{className:"text-theme-text-tertiary",children:"(Optional)"})," ",e.jsx(m,{href:"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/create-bucket.html"})]}),e.jsx(n,{wrap:!0,codeClasses:"whitespace-pre-wrap",code:"aws s3api create-bucket --bucket your-bucket-name --region your-region-name"})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"Install the S3 ZenML integration"}),e.jsx(n,{wrap:!0,codeClasses:"whitespace-pre-wrap",code:"zenml integration install s3 -y"})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"Register the artifact store"}),e.jsx(n,{wrap:!0,codeClasses:"whitespace-pre-wrap",code:"zenml artifact-store register cloud_artifact_store -f s3 --path=s3://bucket-name --connector <CONNECTOR_ID>"})]})]})}function xe(){return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"Install the Google Cloud CLI on your machine"}),e.jsx("div",{className:"inline-block",children:e.jsx("a",{target:"_blank",rel:"noopener noreferrer",className:h({intent:"primary",emphasis:"subtle",size:"md"}),href:"https://cloud.google.com/sdk/docs/install-sdk",children:"How to install the Google Cloud CLI"})})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"text-text-sm text-theme-text-secondary",children:["Create a GCP bucket or identify an existing one"," ",e.jsx("span",{className:"text-theme-text-tertiary",children:"(Optional)"})," ",e.jsx(m,{href:"https://cloud.google.com/storage/docs/creating-buckets"})]}),e.jsx(n,{wrap:!0,codeClasses:"whitespace-pre-wrap",code:"gsutil mb gs://your-bucket-name"})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"Install the GCP ZenML integration "}),e.jsx(n,{wrap:!0,codeClasses:"whitespace-pre-wrap",code:"zenml integration install gcp -y"})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"Register the artifact store"}),e.jsx(n,{wrap:!0,codeClasses:"whitespace-pre-wrap",code:"zenml artifact-store register cloud_artifact_store -f gcp --path=gs://bucket-name --connector <CONNECTOR_ID>"})]})]})}function pe(){return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"Install the Azure CLI on your machine"}),e.jsx("div",{className:"inline-block",children:e.jsx("a",{target:"_blank",rel:"noopener noreferrer",className:h({intent:"primary",emphasis:"subtle",size:"md"}),href:"https://learn.microsoft.com/en-us/cli/azure/install-azure-cli",children:"How to install the Azure CLI"})})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"text-text-sm text-theme-text-secondary",children:["Create a Azure bucket or identify an existing one"," ",e.jsx("span",{className:"text-theme-text-tertiary",children:"(Optional)"})," ",e.jsx(m,{href:"https://learn.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-portal"})]}),e.jsx(n,{wrap:!0,codeClasses:"truncate",code:"az storage container create --name your-bucket-name --account-name your-storage-account"})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"text-text-sm text-theme-text-secondary",children:["Install the Azure ZenML integration"," "]}),e.jsx(n,{wrap:!0,codeClasses:"whitespace-pre-wrap",code:"zenml integration install azure -y"})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"Register the artifact store"}),e.jsx(n,{wrap:!0,codeClasses:"whitespace-pre-wrap",code:"zenml artifact-store register cloud_artifact_store -f azure --path=az://container-name --connector <CONNECTOR_ID>"})]})]})}function he(){return e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"Create a remote artifact in any environment following our guides."}),e.jsx("div",{className:"inline-block",children:e.jsx("a",{target:"_blank",rel:"noopener noreferrer",className:h({intent:"primary",emphasis:"subtle",size:"md"}),href:"https://docs.zenml.io/how-to/stack-deployment/implement-a-custom-stack-component",children:"How to create a custom artifact store"})})]})}function ue(t){switch(t){case"gcp":return e.jsx(xe,{});case"aws":return e.jsx(me,{});case"azure":return e.jsx(pe,{});case"other":return e.jsx(he,{})}}function je({onboardingState:t,active:r}){const[s,a]=d.useState("aws"),c="create_service_connector",o=u(t||{},c);return e.jsxs(j,{active:r,completed:!!o,title:"Create a service connector",itemName:c,children:[e.jsxs("p",{className:"mb-3",children:["A service connector grants users of your ZenML tenant the ability to access components like your artifact store"," ",e.jsx(m,{href:"https://docs.zenml.io/user-guide/production-guide/remote-storage#configuring-permissions-with-your-first-service-connector"})]}),e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{htmlFor:"artifact-store-provider",className:"text-text-sm text-theme-text-secondary",children:"Select your cloud provider"}),e.jsx(F,{id:"artifact-store-provider",value:s,setValue:a})]}),de(s),e.jsx("div",{children:e.jsx(f,{link:"https://docs.zenml.io/user-guide/production-guide/remote-storage#configuring-permissions-with-your-first-service-connector"})})]})]})}function ge({onboardingState:t,active:r}){const[s,a]=d.useState("aws"),c="create_remote_artifact_store",o=u(t||{},c);return e.jsxs(j,{itemName:c,completed:!!o,title:"Create an artifact store",active:r,children:[e.jsxs("p",{className:"mb-3",children:["Configuring a remote artifact store will version your pipeline's data directly in your cloud provider"," ",e.jsx(m,{href:"https://docs.zenml.io/user-guide/production-guide/remote-storage"})]}),e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{htmlFor:"artifact-store-provider",className:"text-text-sm text-theme-text-secondary",children:"Select your cloud provider"}),e.jsx(F,{displayOther:!0,id:"artifact-store-provider",value:s,setValue:a})]}),ue(s),e.jsx("div",{children:e.jsx(f,{link:"https://docs.zenml.io/user-guide/production-guide/remote-storage"})})]})]})}function fe({onboardingState:t,active:r}){const s="create_remote_stack",a=u(t||{},s);return e.jsxs(j,{itemName:s,completed:!!a,title:"Create a new stack",active:r,children:[e.jsxs("p",{className:"mb-3",children:["A stack configures how a pipeline is executed"," ",e.jsx(m,{href:"https://docs.zenml.io/user-guide/production-guide/understand-stacks"})]}),e.jsxs("div",{className:"space-y-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(n,{codeClasses:"whitespace-pre-wrap",code:"zenml stack register local_with_remote_storage -o default -a cloud_artifact_store"})]}),e.jsx(f,{link:"https://docs.zenml.io/user-guide/production-guide/understand-stacks"})]})]})}function Ne({active:t,onboardingState:r}){const s="run_remote_pipeline",a=u(r||{},s);return e.jsx(j,{itemName:s,completed:!!a,title:"Run the pipeline in the new stack",active:t,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(n,{wrap:!0,codeClasses:"whitespace-pre-wrap",code:"zenml stack set local_with_remote_storage"})]}),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(n,{wrap:!0,codeClasses:"whitespace-pre-wrap",code:"python run.py --training-pipeline"})]}),e.jsx("div",{children:e.jsx(f,{link:"https://docs.zenml.io/user-guide/production-guide/understand-stacks"})})]})})}function m({href:t}){return e.jsx("a",{href:t,rel:"noopener noreferrer",target:"_blank",className:"link text-text-sm font-semibold text-theme-text-brand",children:"Learn more"})}function ve(){const{isError:t,isPending:r,data:s}=C({throwOnError:!0}),a=z(),[c,o]=d.useState(!0);if(r||a.isPending)return e.jsx(_,{className:"h-[200px] w-full"});if(t||a.isError)return null;const x=A(R(a.data.deployment_type||"other")),i=v(s),l=b(i,x)===x.length,p=b(i,w),g=p/w.length*100;return e.jsx(e.Fragment,{children:e.jsxs(S,{onOpenChange:o,open:c,className:P("rounded-md border border-theme-border-moderate bg-theme-surface-primary"),children:[e.jsxs(y,{className:"flex w-full items-center justify-between gap-[10px] p-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[g>=100?e.jsx(E,{className:"h-7 w-7",tickClasses:"w-[28px] h-[28px]"}):e.jsx(T,{value:g,children:e.jsxs("span",{className:"absolute text-text-xs font-semibold",children:[p,"/",w.length]})}),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?"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(I,{className:` ${c?"":"-rotate-90"} h-5 w-5 shrink-0 rounded-md fill-neutral-500 transition-transform duration-200 hover:bg-neutral-200`})]}),e.jsx(k,{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(je,{onboardingState:i,active:l})}),e.jsx("li",{className:"py-5 first:pt-0 last:pb-0",children:e.jsx(ge,{onboardingState:i,active:l})}),e.jsx("li",{className:"py-5 first:pt-0 last:pb-0",children:e.jsx(fe,{onboardingState:i,active:l})}),e.jsx("li",{className:"py-5 first:pt-0 last:pb-0",children:e.jsx(Ne,{onboardingState:i,active:l})})]})})]})})}function ye({onboardingState:t}){const{data:r}=z({throwOnError:!0}),s="connect_zenml",a=u(t||{},s);return e.jsx(j,{itemName:s,completed:!!a,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(n,{code:`pip install "zenml==${r?r.version:e.jsx(_,{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 Cloud tenant"}),e.jsx(n,{code:`zenml connect --url ${window.location.origin}`})]}),e.jsx(f,{link:"https://docs.zenml.io/user-guide/production-guide/deploying-zenml#connecting-to-a-deployed-zenml"})]})})}function we({onboardingState:t}){const r="run_first_pipeline",s=u(t||{},r);return e.jsx(j,{itemName:r,completed:!!s,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(n,{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(n,{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(n,{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(n,{code:"python run.py --training-pipeline"})]}),e.jsxs(L,{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(re,{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:h({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:h({intent:"primary",emphasis:"subtle",size:"md"}),href:"https://docs.zenml.io/user-guide/starter-guide/create-an-ml-pipeline",children:"Browse our docs"})]})]})]})})}function be(){const{isError:t,isPending:r,data:s}=C({throwOnError:!0}),a=z(),[c,o]=d.useState(!0);if(r||a.isPending)return e.jsx(_,{className:"h-[200px] w-full"});if(t||a.isError)return null;const x=R(a.data.deployment_type||"other"),i=A(x),l=b(v(s),i),p=l/i.length*100;return e.jsxs(S,{open:c,onOpenChange:o,className:"rounded-md border border-theme-border-moderate bg-theme-surface-primary",children:[e.jsxs(y,{className:"flex w-full items-center justify-between gap-[10px] p-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[p>=100?e.jsx(E,{className:"h-7 w-7",tickClasses:"w-[28px] h-[28px]"}):e.jsx(T,{value:p,children:e.jsxs("span",{className:"absolute text-text-xs font-semibold",children:[l,"/",i.length]})}),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(I,{className:` ${c?"":"-rotate-90"} h-5 w-5 shrink-0 rounded-md fill-neutral-500 transition-transform duration-200 hover:bg-neutral-200`})]}),e.jsx(k,{className:"border-t border-theme-border-moderate p-5",children:e.jsxs("ul",{className:"divide-y divide-theme-border-moderate",children:[!x&&e.jsx("li",{className:"py-5 first:pt-0 last:pb-0",children:e.jsx(ye,{onboardingState:v(s)})}),e.jsx("li",{className:"py-5 first:pt-0 last:pb-0",children:e.jsx(we,{onboardingState:v(s)})})]})})]})}function Ze(){const{setTourState:t,tourState:{tourActive:r}}=Y();return d.useEffect(()=>{r&&t(s=>({...s,run:!0,stepIndex:s.stepIndex}))},[r]),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(ae,{}),e.jsx(be,{}),e.jsx(ve,{})]}),e.jsxs("div",{className:"col-span-4 space-y-5 lg:col-span-1",children:[e.jsx(q,{}),e.jsx(G,{})]})]})}export{Ze as default};