zenml-nightly 0.82.1.dev20250527__py3-none-any.whl → 0.83.0.dev20250529__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 (316) hide show
  1. zenml/VERSION +1 -1
  2. zenml/cli/base.py +6 -1
  3. zenml/cli/model.py +16 -36
  4. zenml/cli/server.py +8 -3
  5. zenml/client.py +20 -4
  6. zenml/client_lazy_loader.py +2 -0
  7. zenml/config/docker_settings.py +15 -2
  8. zenml/enums.py +3 -0
  9. zenml/event_hub/event_hub.py +1 -1
  10. zenml/integrations/bitbucket/plugins/event_sources/bitbucket_webhook_event_source.py +1 -1
  11. zenml/integrations/github/plugins/event_sources/github_webhook_event_source.py +1 -1
  12. zenml/integrations/kubernetes/flavors/kubernetes_orchestrator_flavor.py +3 -0
  13. zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator_entrypoint.py +37 -26
  14. zenml/integrations/skypilot/flavors/skypilot_orchestrator_base_vm_config.py +45 -4
  15. zenml/integrations/skypilot/orchestrators/skypilot_base_vm_orchestrator.py +92 -84
  16. zenml/integrations/skypilot/orchestrators/skypilot_orchestrator_entrypoint.py +207 -179
  17. zenml/integrations/skypilot/utils.py +273 -0
  18. zenml/integrations/skypilot_aws/__init__.py +1 -2
  19. zenml/integrations/skypilot_azure/__init__.py +1 -2
  20. zenml/integrations/skypilot_gcp/__init__.py +9 -1
  21. zenml/integrations/skypilot_kubernetes/__init__.py +2 -3
  22. zenml/integrations/skypilot_lambda/__init__.py +1 -2
  23. zenml/login/web_login.py +1 -1
  24. zenml/model/model.py +13 -23
  25. zenml/models/__init__.py +39 -2
  26. zenml/models/v2/base/scoped.py +34 -15
  27. zenml/models/v2/core/artifact.py +10 -9
  28. zenml/models/v2/core/artifact_version.py +16 -16
  29. zenml/models/v2/core/logs.py +8 -50
  30. zenml/models/v2/core/model.py +10 -10
  31. zenml/models/v2/core/model_version.py +155 -88
  32. zenml/models/v2/core/pipeline.py +10 -11
  33. zenml/models/v2/core/pipeline_deployment.py +1 -9
  34. zenml/models/v2/core/pipeline_run.py +10 -17
  35. zenml/models/v2/core/run_template.py +10 -10
  36. zenml/models/v2/core/step_run.py +100 -16
  37. zenml/models/v2/core/tag.py +5 -4
  38. zenml/models/v2/misc/pipeline_run_dag.py +46 -0
  39. zenml/orchestrators/base_orchestrator.py +8 -19
  40. zenml/orchestrators/cache_utils.py +48 -1
  41. zenml/orchestrators/input_utils.py +35 -39
  42. zenml/orchestrators/step_launcher.py +1 -1
  43. zenml/orchestrators/step_run_utils.py +26 -10
  44. zenml/pipelines/pipeline_definition.py +3 -3
  45. zenml/pipelines/run_utils.py +2 -3
  46. zenml/service_connectors/service_connector.py +5 -1
  47. zenml/stack/stack_component.py +1 -4
  48. zenml/steps/step_context.py +1 -1
  49. zenml/utils/dashboard_utils.py +3 -3
  50. zenml/zen_server/auth.py +6 -3
  51. zenml/zen_server/dashboard/assets/{404-_AtuLtaX.js → 404-DmJUgorp.js} +1 -1
  52. zenml/zen_server/dashboard/assets/{@radix-C7hRs6Kx.js → @radix-Cdvw4jJ8.js} +1 -1
  53. zenml/zen_server/dashboard/assets/{@react-router-CNP6g_RL.js → @react-router-DeDfXbUF.js} +5 -5
  54. zenml/zen_server/dashboard/assets/{@reactflow-CQi1Z1Wq.js → @reactflow-8OCk19Fi.js} +1 -1
  55. zenml/zen_server/dashboard/assets/{@tanstack-CSxjHCME.js → @tanstack-5gTMR7G2.js} +4 -4
  56. zenml/zen_server/dashboard/assets/AlertDialogDropdownItem-CZW4QyWn.js +1 -0
  57. zenml/zen_server/dashboard/assets/ButtonGroup-DFWWFGUE.js +1 -0
  58. zenml/zen_server/dashboard/assets/{CodeSnippet-CvI6D0wx.js → CodeSnippet-D2HkkAGr.js} +1 -1
  59. zenml/zen_server/dashboard/assets/CollapsibleCard-CnS09ljw.js +1 -0
  60. zenml/zen_server/dashboard/assets/{ComponentBadge-DKw7Gndh.js → ComponentBadge-CDgdd0Ks.js} +1 -1
  61. zenml/zen_server/dashboard/assets/ComponentIcon-CbbOc7lb.js +1 -0
  62. zenml/zen_server/dashboard/assets/{DeleteAlertDialog-DVvXt-S6.js → DeleteAlertDialog-VIOMDLmx.js} +1 -1
  63. zenml/zen_server/dashboard/assets/DialogItem-ClFCqxEp.js +1 -0
  64. zenml/zen_server/dashboard/assets/{DisplayDate-CYVBBSgr.js → DisplayDate-8RESqe5H.js} +1 -1
  65. zenml/zen_server/dashboard/assets/{EmptyState-M1jafpg6.js → EmptyState-CjrgDtVk.js} +1 -1
  66. zenml/zen_server/dashboard/assets/{Error-BWaXP0VK.js → Error-CQzjbDcN.js} +1 -1
  67. zenml/zen_server/dashboard/assets/ExecutionStatus-CWreILP0.js +1 -0
  68. zenml/zen_server/dashboard/assets/{Helpbox-iE1xLmiZ.js → Helpbox-CiKxG5_X.js} +1 -1
  69. zenml/zen_server/dashboard/assets/Infobox-CGxFvqzi.js +1 -0
  70. zenml/zen_server/dashboard/assets/LeftSideMenu-DCsKdIjC.js +1 -0
  71. zenml/zen_server/dashboard/assets/{Lock-DW-0_M0o.js → Lock-CrIAdQo6.js} +1 -1
  72. zenml/zen_server/dashboard/assets/NestedCollapsible-3M4llYtH.js +1 -0
  73. zenml/zen_server/dashboard/assets/NumberBox-C0mQktmV.js +1 -0
  74. zenml/zen_server/dashboard/assets/Partials-DSjkttlz.js +1 -0
  75. zenml/zen_server/dashboard/assets/{PasswordChecker-lYTOtNom.js → PasswordChecker-B88WjuCe.js} +1 -1
  76. zenml/zen_server/dashboard/assets/ProCta-Dm5cWKpS.js +1 -0
  77. zenml/zen_server/dashboard/assets/{ProviderIcon-DLo7t1lo.js → ProviderIcon-DPwMR6nF.js} +1 -1
  78. zenml/zen_server/dashboard/assets/ProviderRadio-DEDNRgAb.js +1 -0
  79. zenml/zen_server/dashboard/assets/RunsBody-BRBn1e2O.js +1 -0
  80. zenml/zen_server/dashboard/assets/SearchField-DY6-UbRT.js +1 -0
  81. zenml/zen_server/dashboard/assets/SecretTooltip-CZTRnaCV.js +1 -0
  82. zenml/zen_server/dashboard/assets/{SetPassword-DR-EiLI5.js → SetPassword-BjNGDC5e.js} +1 -1
  83. zenml/zen_server/dashboard/assets/SheetHeader-CASpN2Lz.js +1 -0
  84. zenml/zen_server/dashboard/assets/StackComponentList-Be1pQt9m.js +1 -0
  85. zenml/zen_server/dashboard/assets/StackList-BdiR5DvR.js +1 -0
  86. zenml/zen_server/dashboard/assets/StackName-ojLC6xdl.js +1 -0
  87. zenml/zen_server/dashboard/assets/Tabs-DNSKblCM.js +1 -0
  88. zenml/zen_server/dashboard/assets/Tick-BPrWnNlN.js +1 -0
  89. zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-DbFEaezI.js → UpdatePasswordSchemas-CNfKDo2Q.js} +1 -1
  90. zenml/zen_server/dashboard/assets/UsageReason-Cb-mpV8M.js +1 -0
  91. zenml/zen_server/dashboard/assets/{Wizard-CMI6Ksgz.js → Wizard-Dg8Pmn5A.js} +1 -1
  92. zenml/zen_server/dashboard/assets/WizardFooter-BcNDIvlQ.js +1 -0
  93. zenml/zen_server/dashboard/assets/{all-pipeline-runs-query-BGASHYtF.js → all-pipeline-runs-query-DCdax7I5.js} +1 -1
  94. zenml/zen_server/dashboard/assets/{arrow-left-CwgF2MEM.js → arrow-left-MRXv5pAH.js} +1 -1
  95. zenml/zen_server/dashboard/assets/bulk-delete-C_kpIB9A.js +3 -0
  96. zenml/zen_server/dashboard/assets/{check-DK77doTf.js → check-B9QMTa3f.js} +1 -1
  97. zenml/zen_server/dashboard/assets/{check-circle-mvyzYvIW.js → check-circle-C4tYvbtw.js} +1 -1
  98. zenml/zen_server/dashboard/assets/{chevron-down-A-rmltmI.js → chevron-down-jbbQh82s.js} +1 -1
  99. zenml/zen_server/dashboard/assets/{chevron-right-double-uNWbJT-C.js → chevron-right-double-Dgp_gEsp.js} +1 -1
  100. zenml/zen_server/dashboard/assets/{clock-CPA5cYxq.js → clock-B_mTG8PH.js} +1 -1
  101. zenml/zen_server/dashboard/assets/{code-browser-j2EpcxIA.js → code-browser-CiD8qkBx.js} +1 -1
  102. zenml/zen_server/dashboard/assets/configuration-form-B2hmKGnF.js +1 -0
  103. zenml/zen_server/dashboard/assets/connectivity-4UKGMYnr.webp +0 -0
  104. zenml/zen_server/dashboard/assets/constants-1EZZxtay.js +1 -0
  105. zenml/zen_server/dashboard/assets/create-stack-TKmMtrkQ.js +1 -0
  106. zenml/zen_server/dashboard/assets/dates-Buh6SMo7.js +1 -0
  107. zenml/zen_server/dashboard/assets/delete-run-CCR9md_s.js +1 -0
  108. zenml/zen_server/dashboard/assets/eye-CbVlAYty.js +1 -0
  109. zenml/zen_server/dashboard/assets/{file-text-BdxZdjP_.js → file-text-Cd8wVfq5.js} +1 -1
  110. zenml/zen_server/dashboard/assets/form-DFJkaFDX.js +1 -0
  111. zenml/zen_server/dashboard/assets/form-schemas-CrznJVzA.js +1 -0
  112. zenml/zen_server/dashboard/assets/{gcp-CHNvgEss.js → gcp-B1I3Qvcx.js} +1 -1
  113. zenml/zen_server/dashboard/assets/{help-DyMolRxD.js → help-Co6aedki.js} +1 -1
  114. zenml/zen_server/dashboard/assets/index-BFqbGSck.js +308 -0
  115. zenml/zen_server/dashboard/assets/{index-CrhdX_qG.js → index-BjUu1mP4.js} +1 -1
  116. zenml/zen_server/dashboard/assets/{index-DR30v9MZ.js → index-DWpiv-Ft.js} +1 -1
  117. zenml/zen_server/dashboard/assets/index-DuhuqTCI.css +1 -0
  118. zenml/zen_server/dashboard/assets/index-U992soPJ.js +1 -0
  119. zenml/zen_server/dashboard/assets/index.es-C1gfATPn.js +14 -0
  120. zenml/zen_server/dashboard/assets/{index.esm-D7jFlf5N.js → index.esm-DhJo3mA6.js} +1 -1
  121. zenml/zen_server/dashboard/assets/info-QkbQz4QU.js +1 -0
  122. zenml/zen_server/dashboard/assets/{key-icon-DO4DPJHZ.js → key-icon-C07HKw8z.js} +1 -1
  123. zenml/zen_server/dashboard/assets/{layout-h3cbx8WZ.js → layout-DBbfEFBe.js} +1 -1
  124. zenml/zen_server/dashboard/assets/layout-Do9YI4QX.js +1 -0
  125. zenml/zen_server/dashboard/assets/login-mutation-D3tFP6Wm.js +1 -0
  126. zenml/zen_server/dashboard/assets/{logs-B5n0U7tB.js → logs-CQKlJjo0.js} +1 -1
  127. zenml/zen_server/dashboard/assets/{package-D1Mhqeh8.js → package-miExReQl.js} +1 -1
  128. zenml/zen_server/dashboard/assets/page-9RjCitFH.js +1 -0
  129. zenml/zen_server/dashboard/assets/page-B0PsXWiT.js +1 -0
  130. zenml/zen_server/dashboard/assets/page-BCrKmYIZ.js +1 -0
  131. zenml/zen_server/dashboard/assets/page-BcRI3-aR.js +29 -0
  132. zenml/zen_server/dashboard/assets/page-Be3R2uYn.js +1 -0
  133. zenml/zen_server/dashboard/assets/page-BgknnddT.js +1 -0
  134. zenml/zen_server/dashboard/assets/page-BrT0_zSJ.js +40 -0
  135. zenml/zen_server/dashboard/assets/page-Bs3W2FDi.js +1 -0
  136. zenml/zen_server/dashboard/assets/page-C210HcBA.js +1 -0
  137. zenml/zen_server/dashboard/assets/page-C6KaiZ_W.js +1 -0
  138. zenml/zen_server/dashboard/assets/page-CAJ8B0vb.js +1 -0
  139. zenml/zen_server/dashboard/assets/page-CAUYrfui.js +1 -0
  140. zenml/zen_server/dashboard/assets/page-CHxVhF3x.js +1 -0
  141. zenml/zen_server/dashboard/assets/{page-CSwZxZMQ.js → page-CN7lkvXr.js} +1 -1
  142. zenml/zen_server/dashboard/assets/page-CUaMMoPG.js +1 -0
  143. zenml/zen_server/dashboard/assets/page-Cal6XQ4U.js +1 -0
  144. zenml/zen_server/dashboard/assets/page-CdZCmszX.js +1 -0
  145. zenml/zen_server/dashboard/assets/page-ChGcZI_6.js +1 -0
  146. zenml/zen_server/dashboard/assets/page-CktmtZ8Z.js +1 -0
  147. zenml/zen_server/dashboard/assets/page-ClvmVesa.js +1 -0
  148. zenml/zen_server/dashboard/assets/page-CnbIYE80.js +1 -0
  149. zenml/zen_server/dashboard/assets/page-CoXzjeEY.js +1 -0
  150. zenml/zen_server/dashboard/assets/page-CtiuMP_r.js +1 -0
  151. zenml/zen_server/dashboard/assets/page-D9Hfx6GV.js +1 -0
  152. zenml/zen_server/dashboard/assets/page-D9iuB88h.js +1 -0
  153. zenml/zen_server/dashboard/assets/page-DCcuPZ8P.js +1 -0
  154. zenml/zen_server/dashboard/assets/page-DEohTSz6.js +1 -0
  155. zenml/zen_server/dashboard/assets/page-DJIGaUQ9.js +1 -0
  156. zenml/zen_server/dashboard/assets/page-DKK6ulgy.js +1 -0
  157. zenml/zen_server/dashboard/assets/page-DNjKHjnH.js +1 -0
  158. zenml/zen_server/dashboard/assets/page-DUK0Nd_1.js +1 -0
  159. zenml/zen_server/dashboard/assets/page-DUKbOhaD.js +1 -0
  160. zenml/zen_server/dashboard/assets/page-DYOucPtA.js +1 -0
  161. zenml/zen_server/dashboard/assets/page-DpqRelAy.js +1 -0
  162. zenml/zen_server/dashboard/assets/{page-ZfTtFicG.js → page-DwVPpCFg.js} +2 -2
  163. zenml/zen_server/dashboard/assets/page-XURWnYZP.js +1 -0
  164. zenml/zen_server/dashboard/assets/page-abw-2oeW.js +1 -0
  165. zenml/zen_server/dashboard/assets/page-akLcPcKw.js +1 -0
  166. zenml/zen_server/dashboard/assets/page-n9ejQ2V3.js +2 -0
  167. zenml/zen_server/dashboard/assets/page-sJjNT9xA.js +6 -0
  168. zenml/zen_server/dashboard/assets/{persist-UUym702q.js → persist-DWMWVP-y.js} +1 -1
  169. zenml/zen_server/dashboard/assets/{persist-D87V82eO.js → persist-Dec_w7aB.js} +1 -1
  170. zenml/zen_server/dashboard/assets/pipeline-CSUlkd50.js +1 -0
  171. zenml/zen_server/dashboard/assets/{plus-COjQg3AG.js → plus-Cl0_rCVF.js} +1 -1
  172. zenml/zen_server/dashboard/assets/{react-error-boundary.esm-fyoUBS25.js → react-error-boundary.esm-7_MuhCay.js} +1 -1
  173. zenml/zen_server/dashboard/assets/{refresh-CM5T3QeU.js → refresh-BcTM09NW.js} +1 -1
  174. zenml/zen_server/dashboard/assets/resource-tyes-list-o2LXiMay.js +1 -0
  175. zenml/zen_server/dashboard/assets/resource-type-tooltip-DwHrJstL.js +1 -0
  176. zenml/zen_server/dashboard/assets/service-connectors-DSEMwJ5A.js +1 -0
  177. zenml/zen_server/dashboard/assets/{service-BQ9KIhls.js → service-jxtvgks0.js} +2 -2
  178. zenml/zen_server/dashboard/assets/sharedSchema-BXzg0EZz.js +1 -0
  179. zenml/zen_server/dashboard/assets/stack-detail-query-Cm0fsgo-.js +1 -0
  180. zenml/zen_server/dashboard/assets/{terminal-square-DMtel8mb.js → terminal-XFL_4QN-.js} +1 -1
  181. zenml/zen_server/dashboard/assets/terminal-square-XFL_4QN-.js +1 -0
  182. zenml/zen_server/dashboard/assets/transform-CeZdrxDZ.js +1 -0
  183. zenml/zen_server/dashboard/assets/{trash-BWSZ7NRK.js → trash-DP6Tpp_E.js} +1 -1
  184. zenml/zen_server/dashboard/assets/type-guards-CNgPYg8l.js +1 -0
  185. zenml/zen_server/dashboard/assets/update-current-user-mutation-D5MjcQ6F.js +1 -0
  186. zenml/zen_server/dashboard/assets/update-server-settings-mutation-CmnxdxiK.js +1 -0
  187. zenml/zen_server/dashboard/assets/{zod-C0xYeTvL.js → zod-XdS2h1ws.js} +1 -1
  188. zenml/zen_server/dashboard/index.html +7 -7
  189. zenml/zen_server/rbac/utils.py +2 -2
  190. zenml/zen_server/routers/auth_endpoints.py +2 -2
  191. zenml/zen_server/routers/devices_endpoints.py +8 -5
  192. zenml/zen_server/routers/pipeline_deployments_endpoints.py +1 -1
  193. zenml/zen_server/routers/pipelines_endpoints.py +1 -1
  194. zenml/zen_server/routers/run_templates_endpoints.py +3 -3
  195. zenml/zen_server/routers/runs_endpoints.py +35 -0
  196. zenml/zen_server/template_execution/utils.py +6 -6
  197. zenml/zen_stores/dag_generator.py +171 -0
  198. zenml/zen_stores/migrations/versions/0.83.0_release.py +23 -0
  199. zenml/zen_stores/rest_zen_store.py +17 -3
  200. zenml/zen_stores/schemas/action_schemas.py +40 -4
  201. zenml/zen_stores/schemas/api_key_schemas.py +29 -1
  202. zenml/zen_stores/schemas/artifact_schemas.py +168 -48
  203. zenml/zen_stores/schemas/base_schemas.py +26 -1
  204. zenml/zen_stores/schemas/code_repository_schemas.py +46 -5
  205. zenml/zen_stores/schemas/component_schemas.py +44 -3
  206. zenml/zen_stores/schemas/device_schemas.py +43 -2
  207. zenml/zen_stores/schemas/event_source_schemas.py +41 -5
  208. zenml/zen_stores/schemas/flavor_schemas.py +42 -2
  209. zenml/zen_stores/schemas/model_schemas.py +113 -77
  210. zenml/zen_stores/schemas/pipeline_build_schemas.py +53 -4
  211. zenml/zen_stores/schemas/pipeline_deployment_schemas.py +53 -4
  212. zenml/zen_stores/schemas/pipeline_run_schemas.py +111 -47
  213. zenml/zen_stores/schemas/pipeline_schemas.py +41 -9
  214. zenml/zen_stores/schemas/run_template_schemas.py +75 -11
  215. zenml/zen_stores/schemas/schedule_schema.py +50 -5
  216. zenml/zen_stores/schemas/secret_schemas.py +39 -2
  217. zenml/zen_stores/schemas/service_connector_schemas.py +39 -2
  218. zenml/zen_stores/schemas/service_schemas.py +39 -4
  219. zenml/zen_stores/schemas/stack_schemas.py +47 -2
  220. zenml/zen_stores/schemas/step_run_schemas.py +89 -26
  221. zenml/zen_stores/schemas/tag_schemas.py +69 -5
  222. zenml/zen_stores/schemas/trigger_schemas.py +44 -5
  223. zenml/zen_stores/schemas/utils.py +25 -4
  224. zenml/zen_stores/sql_zen_store.py +471 -28
  225. zenml/zen_stores/zen_store_interface.py +9 -1
  226. {zenml_nightly-0.82.1.dev20250527.dist-info → zenml_nightly-0.83.0.dev20250529.dist-info}/METADATA +2 -2
  227. {zenml_nightly-0.82.1.dev20250527.dist-info → zenml_nightly-0.83.0.dev20250529.dist-info}/RECORD +230 -222
  228. zenml/zen_server/dashboard/assets/AlertDialogDropdownItem-BG7-Ki1L.js +0 -1
  229. zenml/zen_server/dashboard/assets/CollapsibleCard-D20FtrzC.js +0 -1
  230. zenml/zen_server/dashboard/assets/Commands-DGbAvMDk.js +0 -1
  231. zenml/zen_server/dashboard/assets/ComponentIcon-ils7uNAk.js +0 -1
  232. zenml/zen_server/dashboard/assets/CsvVizualization-DVN541XF.js +0 -15
  233. zenml/zen_server/dashboard/assets/DialogItem-BHWf3sIB.js +0 -1
  234. zenml/zen_server/dashboard/assets/ExecutionStatus-XrvT2r65.js +0 -1
  235. zenml/zen_server/dashboard/assets/Infobox-D9k5TFH4.js +0 -1
  236. zenml/zen_server/dashboard/assets/InlineAvatar-Cfz4WSLK.js +0 -1
  237. zenml/zen_server/dashboard/assets/MarkdownVisualization-URCyUPcZ.js +0 -14
  238. zenml/zen_server/dashboard/assets/NestedCollapsible-Dor-bi98.js +0 -1
  239. zenml/zen_server/dashboard/assets/NumberBox-D2A7ENHb.js +0 -1
  240. zenml/zen_server/dashboard/assets/Partials-DQJFw1yW.js +0 -1
  241. zenml/zen_server/dashboard/assets/ProBadge-Cp4hb1YT.js +0 -1
  242. zenml/zen_server/dashboard/assets/ProCta-EYoV9CvK.js +0 -1
  243. zenml/zen_server/dashboard/assets/ProviderRadio-BVDA-fAr.js +0 -1
  244. zenml/zen_server/dashboard/assets/RunSelector-BLuBYNJt.js +0 -1
  245. zenml/zen_server/dashboard/assets/RunsBody-W4WHf-sq.js +0 -1
  246. zenml/zen_server/dashboard/assets/SearchField-D-h6jXyg.js +0 -1
  247. zenml/zen_server/dashboard/assets/SecretTooltip-CePCL8kd.js +0 -1
  248. zenml/zen_server/dashboard/assets/StackList-CgmN5H-i.js +0 -1
  249. zenml/zen_server/dashboard/assets/Tabs-DxQ8PDOD.js +0 -1
  250. zenml/zen_server/dashboard/assets/Tick-CEsT3HPR.js +0 -1
  251. zenml/zen_server/dashboard/assets/UsageReason-DjI5qMje.js +0 -1
  252. zenml/zen_server/dashboard/assets/WizardFooter-CFBHFZas.js +0 -1
  253. zenml/zen_server/dashboard/assets/cloud-squares-DeRLMopf.svg +0 -43
  254. zenml/zen_server/dashboard/assets/configuration-form-BtI2Y4eX.js +0 -1
  255. zenml/zen_server/dashboard/assets/connectors-video-C9qY4syJ.svg +0 -21
  256. zenml/zen_server/dashboard/assets/constants-DP3ZEnXH.js +0 -1
  257. zenml/zen_server/dashboard/assets/create-stack-BJ6x5rzj.js +0 -1
  258. zenml/zen_server/dashboard/assets/dates-3pMLCNrD.js +0 -1
  259. zenml/zen_server/dashboard/assets/delete-run-DlSLEl5T.js +0 -1
  260. zenml/zen_server/dashboard/assets/docker-BuDBFEDL.js +0 -1
  261. zenml/zen_server/dashboard/assets/dots-horizontal-BGRJCPCs.js +0 -1
  262. zenml/zen_server/dashboard/assets/flavor-select-BnPxvQDN.js +0 -1
  263. zenml/zen_server/dashboard/assets/form-schemas-CbvoEUHr.js +0 -1
  264. zenml/zen_server/dashboard/assets/index-CFESYpe4.js +0 -1
  265. zenml/zen_server/dashboard/assets/index-CmLcvK2z.js +0 -1
  266. zenml/zen_server/dashboard/assets/index-CzX3ZYlI.css +0 -1
  267. zenml/zen_server/dashboard/assets/index-D2iSHVZq.js +0 -64
  268. zenml/zen_server/dashboard/assets/kubernetes-D6OUjwSK.js +0 -1
  269. zenml/zen_server/dashboard/assets/link-external-DUhCSKNm.js +0 -1
  270. zenml/zen_server/dashboard/assets/login-command-CkqxPtV3.js +0 -1
  271. zenml/zen_server/dashboard/assets/login-mutation-CXc-Klim.js +0 -1
  272. zenml/zen_server/dashboard/assets/not-found-olRU3fnu.js +0 -1
  273. zenml/zen_server/dashboard/assets/page-7keIM1V3.js +0 -1
  274. zenml/zen_server/dashboard/assets/page-B31neFwG.js +0 -1
  275. zenml/zen_server/dashboard/assets/page-B3zo4KYS.js +0 -1
  276. zenml/zen_server/dashboard/assets/page-BN3MHq1a.js +0 -1
  277. zenml/zen_server/dashboard/assets/page-BNgVExjN.js +0 -1
  278. zenml/zen_server/dashboard/assets/page-BPtvu74G.js +0 -1
  279. zenml/zen_server/dashboard/assets/page-BTIuG0ki.js +0 -2
  280. zenml/zen_server/dashboard/assets/page-BcQzleH6.js +0 -1
  281. zenml/zen_server/dashboard/assets/page-C05Jw4M2.js +0 -1
  282. zenml/zen_server/dashboard/assets/page-C28a7K8h.js +0 -1
  283. zenml/zen_server/dashboard/assets/page-C9WLk0X-.js +0 -1
  284. zenml/zen_server/dashboard/assets/page-CINMx64X.js +0 -1
  285. zenml/zen_server/dashboard/assets/page-CYrJbk7P.js +0 -1
  286. zenml/zen_server/dashboard/assets/page-Ce0cqLo3.js +0 -1
  287. zenml/zen_server/dashboard/assets/page-CgNsEkw-.js +0 -1
  288. zenml/zen_server/dashboard/assets/page-Ct2FUYuR.js +0 -1
  289. zenml/zen_server/dashboard/assets/page-D8G2B3Bu.js +0 -1
  290. zenml/zen_server/dashboard/assets/page-DL8a4_lg.js +0 -3
  291. zenml/zen_server/dashboard/assets/page-DMhYn1cF.js +0 -1
  292. zenml/zen_server/dashboard/assets/page-Dd_Yq-Uf.js +0 -6
  293. zenml/zen_server/dashboard/assets/page-DfSvqT8g.js +0 -1
  294. zenml/zen_server/dashboard/assets/page-Dt6ANUTx.js +0 -1
  295. zenml/zen_server/dashboard/assets/page-DtvTleaT.js +0 -1
  296. zenml/zen_server/dashboard/assets/page-DwfGTiVs.js +0 -1
  297. zenml/zen_server/dashboard/assets/page-JgomSTDc.js +0 -1
  298. zenml/zen_server/dashboard/assets/page-L84ig6HB.js +0 -1
  299. zenml/zen_server/dashboard/assets/page-Mabsn4QJ.js +0 -1
  300. zenml/zen_server/dashboard/assets/page-P04L5cm9.js +0 -1
  301. zenml/zen_server/dashboard/assets/page-PfhAnvq4.js +0 -1
  302. zenml/zen_server/dashboard/assets/page-WdRrlNt_.js +0 -1
  303. zenml/zen_server/dashboard/assets/page-cqJDDDeK.js +0 -1
  304. zenml/zen_server/dashboard/assets/page-k-Wxh9L_.js +0 -1
  305. zenml/zen_server/dashboard/assets/page-y-zV4n0c.js +0 -1
  306. zenml/zen_server/dashboard/assets/rocket-Cf-B-XOR.js +0 -1
  307. zenml/zen_server/dashboard/assets/settings_preview-0JLrRgHP.webp +0 -0
  308. zenml/zen_server/dashboard/assets/sharedSchema-Bse2agAf.js +0 -14
  309. zenml/zen_server/dashboard/assets/stack-detail-query-BAcZJrN3.js +0 -1
  310. zenml/zen_server/dashboard/assets/tick-circle-m94Aa6Zt.js +0 -1
  311. zenml/zen_server/dashboard/assets/tour-cover-BYfeen6M.webp +0 -0
  312. zenml/zen_server/dashboard/assets/type-guards-CaeD8wHO.js +0 -1
  313. zenml/zen_server/dashboard/assets/update-server-settings-mutation-DwMM1LJz.js +0 -1
  314. {zenml_nightly-0.82.1.dev20250527.dist-info → zenml_nightly-0.83.0.dev20250529.dist-info}/LICENSE +0 -0
  315. {zenml_nightly-0.82.1.dev20250527.dist-info → zenml_nightly-0.83.0.dev20250529.dist-info}/WHEEL +0 -0
  316. {zenml_nightly-0.82.1.dev20250527.dist-info → zenml_nightly-0.83.0.dev20250529.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1 @@
1
+ import{r as l,j as e}from"./@radix-Cdvw4jJ8.js";import{u as c,S as x,a as y,b as v}from"./form-schemas-CrznJVzA.js";import{A as j,I as U,P as h,U as b,S as _}from"./UsageReason-Cb-mpV8M.js";import{a as g,S as C,b8 as P,e as w,g as A}from"./index-BFqbGSck.js";import{u as E}from"./update-current-user-mutation-D5MjcQ6F.js";import{h as F}from"./@tanstack-5gTMR7G2.js";import"./check-circle-C4tYvbtw.js";import"./@react-router-DeDfXbUF.js";import"./UpdatePasswordSchemas-CNfKDo2Q.js";import"./zod-XdS2h1ws.js";import"./index.esm-DhJo3mA6.js";import"./gcp-B1I3Qvcx.js";import"./@reactflow-8OCk19Fi.js";const S=l.createContext(null);function H({children:t,initialUser:n}){const[a,r]=l.useState(n||{});return e.jsx(S.Provider,{value:{user:a,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:n}=c(),{setUser:a}=d();function r({fullName:s,getUpdates:m,email:o}){a(p=>({...p,...o?{email:o}:{email:null},full_name:s,email_opted_in:m})),n(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:n}=c(),{toast:a}=g(),r=F(),{mutate:u}=E({onSuccess:async()=>{await r.invalidateQueries({queryKey:P()}),n(s=>s+1)},onError:s=>{s instanceof Error&&a({status:"error",emphasis:"subtle",icon:e.jsx(C,{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:n}=c(),{setUser:a}=d();function r({primaryUse:u}){const i={primary_use:u};a(s=>({...s,user_metadata:{...s.user_metadata,...i}})),n(3)}return e.jsx(h,{user:t,submitHandler:r})}function k(){const{setSurveyStep:t}=c(),{setUser:n}=d();function a({usageReason:r,comparison_tools:u,otherTool:i,otherToolVal:s}){const m={usage_reason:r,...!!u&&{comparing_tools:i&&s?[...u,s]:u}};n(o=>({...o,user_metadata:{...o.user_metadata,...m}})),t(o=>o+1)}return e.jsx(b,{submitHandler:a})}function M(){const{data:t,isPending:n,isError:a}=w({throwOnError:!0}),{surveyStep:r}=c();return a?null:n?e.jsx(A,{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 T(){return e.jsx("div",{children:e.jsx(v,{children:e.jsx(M,{})})})}export{T as default};
@@ -0,0 +1 @@
1
+ import{j as o}from"./@radix-Cdvw4jJ8.js";import{C as r,S as m}from"./StackComponentList-Be1pQt9m.js";import{a as i}from"./@react-router-DeDfXbUF.js";import"./plus-Cl0_rCVF.js";import"./refresh-BcTM09NW.js";import"./SearchField-DY6-UbRT.js";import"./index-BFqbGSck.js";import"./@tanstack-5gTMR7G2.js";import"./@reactflow-8OCk19Fi.js";import"./chevron-right-double-Dgp_gEsp.js";import"./index-DWpiv-Ft.js";import"./DisplayDate-8RESqe5H.js";import"./SheetHeader-CASpN2Lz.js";import"./Tabs-DNSKblCM.js";import"./terminal-XFL_4QN-.js";import"./chevron-down-jbbQh82s.js";import"./transform-CeZdrxDZ.js";import"./NestedCollapsible-3M4llYtH.js";import"./type-guards-CNgPYg8l.js";import"./eye-CbVlAYty.js";import"./CollapsibleCard-CnS09ljw.js";import"./check-circle-C4tYvbtw.js";import"./CodeSnippet-D2HkkAGr.js";import"./all-pipeline-runs-query-DCdax7I5.js";import"./ExecutionStatus-CWreILP0.js";import"./help-Co6aedki.js";import"./index-BjUu1mP4.js";import"./stack-detail-query-Cm0fsgo-.js";import"./ComponentBadge-CDgdd0Ks.js";import"./ComponentIcon-CbbOc7lb.js";import"./layout-DBbfEFBe.js";import"./trash-DP6Tpp_E.js";import"./DeleteAlertDialog-VIOMDLmx.js";import"./zod-XdS2h1ws.js";import"./index.esm-DhJo3mA6.js";import"./Infobox-CGxFvqzi.js";import"./info-QkbQz4QU.js";import"./bulk-delete-C_kpIB9A.js";function M(){const{connectorId:t}=i();return o.jsx(r,{children:o.jsx(m,{fixedQueryParams:{connector_id:t},displayCreateComponent:!1})})}export{M as default};
@@ -0,0 +1,40 @@
1
+ import{r as c,j as e}from"./@radix-Cdvw4jJ8.js";import{S as R}from"./file-text-Cd8wVfq5.js";import{B as S,H as M,e as P,g as m,aP as I,h as k,ac as E,a_ as A,ae as b,af as D,b as d,r as O,d as N,bx as T,bc as y,by as _,aq as z,bz as L,bm as H,bs as V,bh as Z}from"./index-BFqbGSck.js";import{S as B}from"./package-miExReQl.js";import{S as $}from"./terminal-XFL_4QN-.js";import{S as F}from"./help-Co6aedki.js";import{C as l}from"./CodeSnippet-D2HkkAGr.js";import{H as v}from"./Helpbox-CiKxG5_X.js";import{S as G}from"./chevron-down-jbbQh82s.js";import{T as U}from"./Tick-BPrWnNlN.js";import{S as q}from"./chevron-right-double-Dgp_gEsp.js";import{C as f,P as C}from"./ProviderRadio-DEDNRgAb.js";import{N as w}from"./NumberBox-C0mQktmV.js";import{C as g}from"./ProviderIcon-DPwMR6nF.js";import{L as W}from"./@react-router-DeDfXbUF.js";import{I as J}from"./Infobox-CGxFvqzi.js";import"./@tanstack-5gTMR7G2.js";import"./@reactflow-8OCk19Fi.js";import"./check-B9QMTa3f.js";import"./gcp-B1I3Qvcx.js";import"./info-QkbQz4QU.js";const K=s=>c.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...s},c.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"})),X=s=>c.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...s},c.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.75873 1H14.2413C15.0463 0.999988 15.7107 0.999977 16.2519 1.04419C16.814 1.09012 17.3307 1.18868 17.816 1.43597C18.5686 1.81947 19.1806 2.43139 19.5641 3.18404C19.8113 3.66937 19.9099 4.18608 19.9558 4.74817C20.0001 5.28936 20 5.95372 20 6.75868V10.0176C20.0673 10.0212 20.1323 10.0254 20.1951 10.0306C20.5904 10.0629 20.9836 10.1342 21.362 10.327C21.9265 10.6146 22.3854 11.0735 22.673 11.638C22.8658 12.0164 22.9372 12.4096 22.9695 12.805C23.0001 13.1795 23 13.6343 23 14.1614V16.9463C23 17.3849 23.0001 17.7634 22.9787 18.0767C22.9562 18.4065 22.9067 18.7364 22.7717 19.0623C22.4672 19.7974 21.8832 20.3814 21.1481 20.6859C20.8222 20.8209 20.4922 20.8704 20.1624 20.8929C20.1101 20.8965 20.056 20.8995 20 20.902V22C20 22.3723 19.7932 22.7138 19.4633 22.8862C19.1333 23.0587 18.7349 23.0336 18.4292 22.8211L16.2528 21.3079C15.9176 21.0749 15.8497 21.0324 15.7857 21.0034C15.7118 20.9699 15.6341 20.9455 15.5544 20.9308C15.4852 20.9181 15.4052 20.9143 14.9969 20.9143H13.1615C12.6343 20.9143 12.1796 20.9143 11.805 20.8837C11.4097 20.8514 11.0164 20.7801 10.6381 20.5873C10.0736 20.2997 9.61463 19.8407 9.32701 19.2763C9.13422 18.8979 9.0629 18.5047 9.0306 18.1093C9.01405 17.9068 9.00646 17.6808 9.00297 17.4326L7.61004 18.843C7.41849 19.037 7.23062 19.2272 7.06596 19.3669C6.91972 19.4909 6.61021 19.7413 6.17978 19.7771C5.69995 19.8169 5.23016 19.624 4.9168 19.2585C4.63567 18.9306 4.59142 18.5349 4.57452 18.3439C4.5555 18.1289 4.55554 17.8615 4.55558 17.5889L4.55559 16.0111C4.53636 15.9951 4.49179 15.9682 4.4203 15.9578C2.67169 15.7016 1.2984 14.3283 1.04226 12.5797C0.999782 12.2897 0.999881 11.9625 1.00001 11.5208C1.00002 11.4958 1.00003 11.4703 1.00003 11.4444L1.00003 6.7587C1.00002 5.95373 1.00001 5.28937 1.04422 4.74818C1.09015 4.18608 1.18871 3.66937 1.436 3.18404C1.8195 2.43139 2.43142 1.81947 3.18407 1.43597C3.6694 1.18868 4.18611 1.09012 4.7482 1.04419C5.2894 0.999977 5.95376 0.999988 6.75873 1ZM11 14.9994C11 14.9998 11 15.0003 11 15.0007V16.7143C11 17.2908 11.0008 17.6631 11.024 17.9465C11.0462 18.2181 11.0838 18.3188 11.109 18.3683C11.2049 18.5564 11.3579 18.7094 11.546 18.8053C11.5955 18.8305 11.6962 18.8682 11.9679 18.8904C12.2512 18.9135 12.6235 18.9143 13.2 18.9143H14.9969C15.0181 18.9143 15.0391 18.9143 15.06 18.9143C15.3707 18.914 15.6448 18.9138 15.9169 18.964C16.1561 19.0081 16.3892 19.0811 16.6108 19.1815C16.8628 19.2956 17.0878 19.4523 17.3428 19.6298C17.3598 19.6417 17.3771 19.6537 17.3945 19.6658L18 20.0868V19.9143C18 19.362 18.4477 18.9143 19 18.9143C19.4797 18.9143 19.7893 18.9137 20.0263 18.8976C20.2543 18.882 20.3411 18.8554 20.3827 18.8382C20.6277 18.7367 20.8224 18.542 20.9239 18.297C20.9411 18.2554 20.9678 18.1685 20.9833 17.9405C20.9995 17.7035 21 17.3939 21 16.9143V14.2C21 13.6234 20.9993 13.2512 20.9761 12.9678C20.9539 12.6962 20.9162 12.5955 20.891 12.546C20.7952 12.3578 20.6422 12.2049 20.454 12.109C20.4046 12.0838 20.3039 12.0461 20.0322 12.0239C19.7489 12.0008 19.3766 12 18.8 12H13.2C12.6235 12 12.2512 12.0008 11.9679 12.0239C11.6962 12.0461 11.5955 12.0838 11.546 12.109C11.3579 12.2049 11.2049 12.3578 11.109 12.546C11.0838 12.5955 11.0462 12.6962 11.024 12.9678C11.0008 13.2512 11 13.6234 11 14.2V14.9994ZM9.00003 14.5894L6.55559 17.0644V15.9916C6.55559 14.8142 5.59832 14.109 4.71017 13.9789C3.83586 13.8508 3.14921 13.1642 3.02115 12.2899C3.00269 12.1639 3.00003 11.9959 3.00003 11.4444V6.8C3.00003 5.94342 3.00081 5.36113 3.03758 4.91104C3.0734 4.47262 3.13833 4.24842 3.21802 4.09202C3.40976 3.7157 3.71572 3.40973 4.09205 3.21799C4.24845 3.1383 4.47265 3.07337 4.91107 3.03755C5.36116 3.00078 5.94345 3 6.80003 3H14.2C15.0566 3 15.6389 3.00078 16.089 3.03755C16.5274 3.07337 16.7516 3.1383 16.908 3.21799C17.2843 3.40973 17.5903 3.7157 17.782 4.09202C17.8617 4.24842 17.9267 4.47262 17.9625 4.91104C17.9993 5.36113 18 5.94342 18 6.8V10L13.1615 10C12.6343 9.99998 12.1796 9.99997 11.805 10.0306C11.4097 10.0629 11.0164 10.1342 10.6381 10.327C10.0736 10.6146 9.61463 11.0735 9.32701 11.638C9.13422 12.0164 9.0629 12.4096 9.0306 12.805C9 13.1795 9.00001 13.6343 9.00003 14.1615L9.00003 14.5894Z"}));function Q(){const s=[{text:"Send us a message",href:"mailto:cloud@zenml.io",icon:e.jsx(K,{className:"h-5 w-5 fill-neutral-500"})},{text:"Join our Slack Community",href:"https://zenml.io/slack",icon:e.jsx(X,{className:"h-5 w-5 fill-neutral-500"})}];return e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-lg font-semibold",children:"Support"}),e.jsx("ul",{className:"space-y-1",children:s.map((t,a)=>e.jsx("li",{children:e.jsx(S,{size:"md",className:"w-fit px-2 text-theme-text-secondary",intent:"secondary",emphasis:"minimal",asChild:!0,children:e.jsxs("a",{target:"_blank",rel:"noopener noreferrer",className:"flex gap-1",href:t.href,children:[t.icon,e.jsx("div",{children:t.text})]})})},a))})]})}function Y(){const s=[{text:"Browse our docs",href:"https://docs.zenml.io",icon:e.jsx(R,{className:"h-5 w-5 fill-neutral-500"})},{text:"Discover projects",href:"https://github.com/zenml-io/zenml-projects",icon:e.jsx(B,{className:"h-5 w-5 fill-neutral-500"})},{text:"Navigate our examples",href:"https://github.com/zenml-io/zenml/tree/main/examples/",icon:e.jsx($,{className:"h-5 w-5 fill-neutral-500"})},{text:"Read our blog",href:"https://zenml.io/blog",icon:e.jsx(M,{className:"h-5 w-5 fill-neutral-500"})}];return e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"mb-0.5 text-text-lg font-semibold",children:"Resources"}),e.jsx("ul",{className:"space-y-1",children:s.map((t,a)=>e.jsx("li",{children:e.jsx(S,{size:"md",className:"w-fit px-2 text-theme-text-secondary",intent:"secondary",emphasis:"minimal",asChild:!0,children:e.jsxs("a",{rel:"noopener noreferrer",target:"_blank",className:"flex gap-1",href:t.href,children:[t.icon,e.jsx("div",{children:t.text})]})})},a))})]})}function ee(){return e.jsx("div",{className:"w-full space-y-1 overflow-x-hidden",children:e.jsxs("div",{className:"space-y-1",children:[e.jsxs("h2",{className:"text-display-xs font-semibold",children:["Hi",e.jsx(se,{})]}),e.jsx("p",{className:"text-theme-text-secondary",children:"Welcome to ZenML. This is the beginning to get the most advantage of all the Pro features of ZenML."})]})})}function se(){const s=P();if(s.isError)return null;if(s.isPending)return e.jsx(m,{className:"h-6 w-[70px]"});const t=I(s.data);return e.jsx(e.Fragment,{children:t?`, ${t}`:""})}function te({className:s,...t}){return e.jsx("div",{className:k("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(q,{className:"h-3 w-3 fill-warning-300"})})}function p({completed:s,title:t,children:a,hasDownstream:r,active:n=!1}){const[i,o]=c.useState(n);return c.useEffect(()=>{o(n)},[n]),e.jsxs(E,{disabled:!(r||n||s),open:i,onOpenChange:o,children:[e.jsx("div",{className:"flex w-full flex-col gap-3 bg-theme-surface-primary px-5 py-3",children:e.jsxs("div",{className:"flex w-full justify-between gap-2",children:[s?e.jsx(U,{className:"shrink-0"}):r?e.jsx(te,{}):e.jsx(A,{className:"shrink-0"}),e.jsx(b,{className:"w-full",children:e.jsx(ae,{active:n,skipped:r,title:t,completed:s})}),e.jsx("div",{className:"flex items-center gap-1",children:e.jsx(b,{children:e.jsx(G,{className:` ${i?"":"-rotate-90"} h-5 w-5 shrink-0 rounded-md fill-neutral-500`})})})]})}),a&&e.jsx(D,{className:"border-t border-theme-border-moderate",children:e.jsxs("div",{className:"flex w-full items-center gap-2 bg-theme-surface-primary p-5",children:[e.jsx("div",{className:"w-[28px] shrink-0"}),e.jsx("div",{className:"w-full min-w-0 flex-1",children:a})]})})]})}function ae({completed:s,title:t,skipped:a,active: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:k("text-text-xl",{"text-theme-text-tertiary line-through decoration-theme-text-tertiary":s||a,"font-semibold":r,"text-theme-text-secondary":!r&&!s}),children:t})})})}function re(){return e.jsxs("div",{className:"w-full space-y-1",children:[e.jsxs("p",{className:"text-text-sm text-theme-text-secondary",children:["Create a"," ",e.jsx("code",{className:"rounded-sm bg-primary-25 px-[4px] py-[2px] text-theme-text-brand",children:"run.py"})," ","file that defines your workflow using our Python SDK:"]}),e.jsx(l,{className:"w-full max-w-full",highlightCode:!0,code:ne})]})}const ne=`from zenml import step, pipeline, log_metadata
2
+ import numpy as np
3
+ from typing import Annotated, Tuple
4
+ from sklearn.linear_model import LinearRegression
5
+
6
+
7
+ @step
8
+ def load_data() -> Tuple[
9
+ Annotated[np.ndarray, "training_data"],
10
+ Annotated[np.ndarray, "training_labels"]
11
+ ]:
12
+ data = np.random.rand(100, 2)
13
+ labels = np.random.rand(100)
14
+ return data, labels
15
+
16
+
17
+ @step
18
+ def train_model(
19
+ data: np.ndarray,
20
+ labels: np.ndarray,
21
+ ) -> Annotated[LinearRegression, "trained_model"]:
22
+ model = LinearRegression().fit(data, labels)
23
+ print(f"Model coefficients: {model.coef_}, intercept: {model.intercept_}")
24
+ log_metadata(
25
+ metadata={
26
+ "coefficients": model.coef_.tolist(),
27
+ "intercept": float(model.intercept_),
28
+ }
29
+ )
30
+ return model
31
+
32
+
33
+ @pipeline
34
+ def basic_pipeline():
35
+ train_model(*load_data())
36
+
37
+
38
+ if __name__ == "__main__":
39
+ basic_pipeline()
40
+ `;function ie({selectedProvider:s,setSelectedProvider:t}){const a=r=>{t(r.target.value)};return e.jsxs(d,{className:"space-y-5 p-5",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-text-lg",children:[e.jsx(w,{children:"1"}),e.jsx("p",{className:"font-semibold",children:"Select your Cloud Provider"})]}),e.jsxs("form",{className:"grid grid-cols-1 gap-3 md:grid-cols-3",children:[e.jsx(f,{id:"aws-provider",value:"aws",checked:s==="aws",onChange:a,name:"provider",children:e.jsx(C,{icon:e.jsx(g,{provider:"aws",className:"h-6 w-6 shrink-0"}),title:"AWS",subtitle:"ZenML stack with S3, ECR, and SageMaker integration"})}),e.jsx(f,{id:"gcp-provider",value:"gcp",checked:s==="gcp",onChange:a,name:"provider",children:e.jsx(C,{icon:e.jsx(g,{provider:"gcp",className:"h-6 w-6 shrink-0"}),title:"GCP",subtitle:"Create ZenML infrastructure using GCS, Artifact Registry, and Vertex AI"})}),e.jsx(f,{id:"azure-provider",value:"azure",checked:s==="azure",onChange:a,name:"provider",children:e.jsx(C,{icon:e.jsx(g,{provider:"azure",className:"h-6 w-6 shrink-0"}),title:"Azure",subtitle:"Set up ZenML with Azure Storage, Container Registry, and ML services"})})]}),e.jsxs("p",{className:"text-text-sm",children:["Using a different Cloud or don't have access to Terraform?"," ",e.jsxs("span",{className:"text-theme-text-secondary",children:["Use one of our"," ",e.jsx(W,{className:"link text-theme-text-brand",to:O.stacks.create.index,children:"stack creation tools"})]})]})]})}function le({number:s,children:t}){return e.jsxs("div",{className:"relative",children:[e.jsxs(d,{className:"flex items-center gap-2 border border-theme-border-moderate p-5 text-text-lg font-semibold",children:[e.jsx(w,{intent:"disabled",children:s}),t]}),e.jsx("div",{className:"absolute right-0 top-0 h-full w-full bg-theme-surface-primary/60"})]})}function ce({projectName:s}){return e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"Set your project"}),e.jsx(l,{highlightCode:!0,code:`zenml init && zenml project set ${s||"<PROJECT-NAME>"}`})]})}const j={aws:{stackName:"zenml-aws",region:"eu-central-1",scriptLink:"https://raw.githubusercontent.com/zenml-io/zenml/refs/heads/main/infra/scripts/aws-artifact-store-setup.sh",cliName:"AWS CLI",integration:"s3"},azure:{stackName:"zenml-azure",region:"francecentral",scriptLink:"https://raw.githubusercontent.com/zenml-io/zenml/refs/heads/main/infra/scripts/azure-artifact-store-setup.sh",cliName:"Azure CLI",integration:"azure"},gcp:{stackName:"zenml-gcp",region:"europe-west1",scriptLink:"https://raw.githubusercontent.com/zenml-io/zenml/refs/heads/main/infra/scripts/gcp-artifact-store-setup.sh",cliName:"gcloud CLI",integration:"gcp"}};function oe(){const s="abcdefghijklmnopqrstuvwxyz0123456789";let t="";for(let a=0;a<8;a++)t+=s.charAt(Math.floor(Math.random()*s.length));return t}function de({provider:s}){const t=j[s],a=c.useMemo(()=>oe(),[]);return e.jsxs(d,{className:"space-y-5 p-5",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-text-lg",children:[e.jsx(w,{children:"2"}),e.jsx("p",{className:"font-semibold",children:"Run the script"})]}),e.jsxs("p",{className:"text-theme-text-secondary",children:["Make sure you are logged in locally with the ",t.cliName," with an account with appropriate permissions.",e.jsx("br",{})," This script will create a cloud bucket on your account and register it back to your workspace."]})]}),e.jsxs("div",{children:[e.jsx("p",{className:"mb-1 text-text-sm text-theme-text-secondary",children:"Run this script"}),e.jsx(l,{code:`curl -sL ${t.scriptLink} | NAME=${t.stackName} REGION=${t.region} RANDOM_SUFFIX=${a} bash`})]})]})}function me({completed:s,hasDownstreamStep:t,active:a}){const{data:r}=N({throwOnError:!0});return e.jsx(p,{active:a,hasDownstream:t,completed:s,title:"Install and log in to ZenML (5 min)",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(l,{code:`pip install "zenml==${r?r.version:e.jsx(m,{className:"w-7"})}" scikit-learn scikit-image "numpy<2.0.0"`})]}),e.jsxs("div",{children:[e.jsx("p",{className:"mb-1 text-text-sm text-theme-text-secondary",children:"Log in to your ZenML Server"}),e.jsx(l,{code:T((r==null?void 0:r.deployment_type)||"other")})]}),e.jsx(v,{link:"https://docs.zenml.io/user-guides/production-guide/deploying-zenml#connecting-to-a-deployed-zenml"})]})})}function pe({active:s,completed:t,hasDownstreamStep:a}){return e.jsx(p,{active:s,hasDownstream:a,completed:t,title:"Run a pipeline (2 min)",children:e.jsxs("div",{className:"flex flex-col gap-5",children:[e.jsx(ce,{projectName:"default"}),e.jsx(re,{}),e.jsxs("div",{children:[e.jsx("p",{className:"mb-1 text-text-sm text-theme-text-secondary",children:"Run the training pipeline."}),e.jsx(l,{code:"python run.py"})]}),e.jsxs(d,{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(F,{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:y({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:y({intent:"primary",emphasis:"subtle",size:"md"}),href:"https://docs.zenml.io/user-guides/starter-guide/create-an-ml-pipeline",children:"Browse our docs"})]})]})]})})}function xe({completed:s,active:t,hasDownstreamStep:a,provider:r,setProvider:n}){return e.jsx(p,{hasDownstream:a,completed:s,title:"Connect remote storage (5 min)",active:t,children:e.jsxs("div",{className:"space-y-5",children:[e.jsxs(J,{children:["ZenML stacks provides the cloud infrastructure needed to run your ML pipelines at scale, giving you access to more compute resources than your local machine."," ",e.jsx("a",{rel:"noopener noreferrer",target:"_blank",className:"link text-theme-text-brand",href:"https://docs.zenml.io/stacks",children:"Learn more"})]}),e.jsx(ie,{selectedProvider:r,setSelectedProvider:n}),r?e.jsx(de,{provider:r}):e.jsx(le,{number:2,children:"Run the script"}),e.jsx(v,{link:"https://docs.zenml.io/stacks"})]})})}function he({active:s,completed:t,hasDownstreamStep:a,provider:r}){const n=r?j[r].stackName:"<REMOTE_STACK_NAME>",i=r?j[r].integration:"<INTEGRATION_NAME>";return e.jsx(p,{hasDownstream:a,completed:t,title:"Run a pipeline in a remote stack (3 min)",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:"Install the stack integrations"}),e.jsx(l,{wrap:!0,codeClasses:"whitespace-pre-wrap",code:`zenml integration install ${i}`})]}),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(l,{wrap:!0,codeClasses:"whitespace-pre-wrap",code:`zenml stack set ${n}`})]}),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(l,{wrap:!0,codeClasses:"whitespace-pre-wrap",code:"python run.py"})]}),e.jsx("div",{children:e.jsx(v,{link:"https://docs.zenml.io/stacks"})})]})})}function ue(){const[s,t]=c.useState(null),a=_({refetchInterval:5e3}),r=N();if(a.isPending||r.isPending)return e.jsx(m,{className:"h-[200px] w-full"});if(a.isError||r.isError)return null;const n=z(r.data.deployment_type||"other"),{getItem:i}=L(a.data,n),o=i("device_verified"),x=i("pipeline_run"),h=i("stack_with_remote_artifact_store_created"),u=i("pipeline_run_with_remote_artifact_store");return e.jsxs("ul",{className:"space-y-5",children:[!n&&e.jsx("li",{children:e.jsx(me,{active:o.isActive,completed:o.isCompleted,hasDownstreamStep:o.hasDownStreamStep})}),e.jsx("li",{children:e.jsx(pe,{active:x.isActive,completed:x.isCompleted,hasDownstreamStep:x.hasDownStreamStep})}),e.jsx("li",{children:e.jsx(xe,{provider:s,setProvider:t,active:h.isActive,completed:h.isCompleted,hasDownstreamStep:h.hasDownStreamStep})}),e.jsx("li",{children:e.jsx(he,{provider:s,active:u.isActive,completed:u.isCompleted,hasDownstreamStep:u.hasDownStreamStep})})]})}function fe(){const s=_(),t=N();if(s.isPending||t.isPending)return e.jsx(m,{className:"h-[80px] w-full"});if(s.isError||t.isError)return null;const a=z(t.data.deployment_type||"other"),r=L(s.data,a),n=r.itemsDone,i=r.totalItems,o=r.progress;return e.jsxs(d,{className:"flex w-full max-w-full items-center gap-3 px-3 py-2",children:[e.jsx(H,{width:24,height:24,className:"shrink-0 fill-primary-400"}),e.jsxs("div",{className:"flex-1 space-y-1",children:[e.jsx("div",{className:"text-text-xl font-semibold",children:"Get started"}),e.jsxs("div",{className:"flex items-center gap-[10px]",children:[e.jsxs("span",{className:"text-text-sm",children:[n,"/",i]}),e.jsx(V,{className:"h-1 w-full rounded-rounded",value:o})]})]})]})}function Te(){const{setTourState:s,tourState:{tourActive:t}}=Z();return c.useEffect(()=>{t&&s(a=>({...a,run:!0,stepIndex:a.stepIndex}))},[t]),e.jsxs("div",{className:"layout-container space-y-5 py-5",children:[e.jsx(ee,{}),e.jsxs("div",{className:"grid grid-cols-4 gap-5",children:[e.jsxs("div",{className:"col-span-4 space-y-5 lg:col-span-3",children:[e.jsx(fe,{}),e.jsx(ue,{})]}),e.jsxs("div",{className:"col-span-4 w-full space-y-8 lg:col-span-1",children:[e.jsx(Q,{}),e.jsx(Y,{})]})]})]})}export{Te as default};
@@ -0,0 +1 @@
1
+ import{r as m,j as e}from"./@radix-Cdvw4jJ8.js";import{f as S,i as D,F as C,j as w,as as M,at as $,B as h,au as _,av as V,aw as J,a as P,I as k,C as g,az as U,aA as G,aB as A,A as K,k as Y,n as Z,aC as W,b2 as X,aD as ee,b3 as te,aF as se,ay as ne,D as ae,l as re,m as ce,p as ie,r as T,b as I,x as oe,g as F}from"./index-BFqbGSck.js";import{P as le,S as ue}from"./SearchField-DY6-UbRT.js";import{s as f,c as de,A as me,u as xe,a as R,b as he}from"./service-jxtvgks0.js";import{c as b,h as N,b as pe}from"./@tanstack-5gTMR7G2.js";import{t as fe}from"./zod-XdS2h1ws.js";import{u as je,F as ye,a as ve,C as v}from"./index.esm-DhJo3mA6.js";import{S as q}from"./trash-DP6Tpp_E.js";import{D as E,a as z}from"./DeleteAlertDialog-VIOMDLmx.js";import{c as ge,u as Ae}from"./bulk-delete-C_kpIB9A.js";import{S as Se}from"./Lock-CrIAdQo6.js";import{L as O}from"./@react-router-DeDfXbUF.js";import{A as De}from"./AlertDialogDropdownItem-CZW4QyWn.js";import"./@reactflow-8OCk19Fi.js";import"./chevron-right-double-Dgp_gEsp.js";import"./index-DWpiv-Ft.js";import"./CodeSnippet-D2HkkAGr.js";import"./Infobox-CGxFvqzi.js";import"./info-QkbQz4QU.js";import"./Tick-BPrWnNlN.js";import"./check-B9QMTa3f.js";async function Ce({body:t}){const s=D(w.serviceAccounts.all),n=await S(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!n.ok){const r=await n.json().then(a=>Array.isArray(a.detail)?a.detail[1]:a.detail).catch(()=>"Failed to create service account");throw new C({status:n.status,statusText:n.statusText,message:r})}return n.json()}function we(t){return b({...t,mutationFn:async s=>Ce({body:s})})}function B({isFallback:t}){const[s,n]=m.useState(!1),[r,a]=m.useState(""),i=N(),u=je({resolver:fe(de),defaultValues:{name:"",description:"",createDefault:!1}}),l=!!r&&u.watch("createDefault");function d(){return l?e.jsx(me,{value:r}):e.jsx(be,{isFallback:t,setApiKeyValue:a,setOpen:n})}return e.jsx(ye,{...u,children:e.jsxs(M,{open:s,onOpenChange:o=>{t&&!o&&i.invalidateQueries({queryKey:f.serviceAccountsKey()}),n(o),a(""),u.reset()},children:[e.jsx($,{asChild:!0,children:e.jsx(h,{className:"shrink-0",size:"sm",intent:"primary",children:"Add service account"})}),e.jsxs(_,{"data-success":l,className:"mx-auto overflow-x-auto transition-none data-[success=true]:max-w-[800px]",children:[e.jsx(V,{children:e.jsx(J,{children:"Add service account"})}),d()]})]})})}function be({setApiKeyValue:t,setOpen:s,isFallback:n}){const{watch:r,handleSubmit:a,control:i,formState:{isValid:u}}=ve(),{toast:l}=P(),d=N(),{mutate:o}=we({onError(c){A(c)&&l({status:"error",emphasis:"subtle",description:c.message,rounded:!0})},async onSuccess(c){if(l({description:"The service account has been added successfully.",status:"success",emphasis:"subtle",rounded:!0}),r("createDefault")){x(c.id);return}d.invalidateQueries({queryKey:f.serviceAccountsKey()}),s(!1)}}),{mutate:p}=xe({onSuccess(c){var y;n||d.invalidateQueries({queryKey:f.serviceAccountsKey()}),t(((y=c.body)==null?void 0:y.key)||"")},onError(c){A(c)&&l({status:"error",emphasis:"subtle",description:c.message,rounded:!0})}}),x=c=>{p({serviceAccountId:c,body:{name:"default",description:"Default api key"}})},H=c=>{o({name:c.name,description:c.description,active:!0})};return e.jsxs(e.Fragment,{children:[e.jsxs("form",{id:"create-secret-form",className:"space-y-5 p-7",onSubmit:a(H),children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("label",{className:"font-inter text-sm text-left font-medium leading-5",children:"Name:"}),e.jsx(v,{name:"name",control:i,render:({field:c})=>e.jsx(k,{...c,className:"w-full",required:!0,placeholder:"Add name"})})]}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("label",{className:"font-inter text-sm text-left font-medium leading-5",children:"Description:"}),e.jsx(v,{name:"description",control:i,render:({field:c})=>e.jsx(k,{...c,className:"w-full",placeholder:"Add description"})})]}),e.jsxs("div",{className:"flex flex-col",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(v,{control:i,name:"createDefault",render:({field:{onChange:c,value:y}})=>e.jsx(g,{checked:y,id:"default-key",onCheckedChange:L=>c(!!L)})}),e.jsx("label",{htmlFor:"default-key",children:"Create a default API Key"})]}),e.jsx("p",{className:"pl-[30px] text-text-xs text-theme-text-secondary",children:"This will include a default API Key for your service account."})]})]}),e.jsxs(U,{className:"gap-[10px]",children:[e.jsx(G,{asChild:!0,children:e.jsx(h,{size:"sm",intent:"secondary",children:"Cancel"})}),e.jsx(h,{intent:"primary",size:"sm",disabled:!u,type:"submit",form:"create-secret-form",children:"Add service account"})]})]})}async function Ne(t){const s=D(w.serviceAccounts.detail(t)),n=await S(s,{method:"DELETE",headers:{"Content-Type":"application/json"}});if(!n.ok){const r=await n.json().then(a=>Array.isArray(a.detail)?a.detail[1]:a.detail).catch(()=>`Failed to delete service account ${t}`);throw new C({status:n.status,statusText:n.statusText,message:r})}return n.json()}function ke(t){return b({...t,mutationFn:async s=>{await Ne(s)}})}const{ContextProvider:Te,useContext:j}=ge();function Q(){const{setRowSelection:t}=j(),{mutateAsync:s}=ke();async function n(r){await s(r)}return Ae({deleteFn:n,queryKeyToInvalidate:f.serviceAccountsKey(),setRowSelection:t})}function Fe(){const[t,s]=m.useState(!1),{selectedRowCount:n,selectedRowIDs:r}=j(),{bulkDelete:a}=Q();async function i(){await a(r),s(!1)}return e.jsxs(K,{open:t,onOpenChange:s,children:[e.jsx(Y,{asChild:!0,children:e.jsxs(h,{className:"rounded-sharp border-y-0 bg-white",size:"md",emphasis:"subtle",intent:"secondary",children:[e.jsx(q,{className:"h-5 w-5 shrink-0 gap-1 fill-neutral-400"}),"Delete"]})}),e.jsx(E,{title:`Delete Service Account${n>=2?"s":""}`,handleDelete:i,children:e.jsxs(z,{children:[e.jsx("p",{children:"Are you sure?"}),e.jsx("p",{children:"This action cannot be undone."})]})})]})}function Oe(){const{selectedRowCount:t}=j();return e.jsxs("div",{className:"flex items-center divide-x divide-theme-border-moderate overflow-hidden rounded-md border border-theme-border-moderate",children:[e.jsx("div",{className:"bg-primary-25 px-2 py-1 font-semibold text-theme-text-brand",children:`${t} Service Account${t>1?"s":""} selected`}),e.jsx(Fe,{})]})}async function Pe({body:t,serviceAccountId:s}){const n=D(w.serviceAccounts.detail(s)),r=await S(n,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(r.status===404&&Z(),!r.ok){const a=await r.json().then(i=>Array.isArray(i.detail)?i.detail[1]:i.detail).catch(()=>`Failed to update service account ${s}`);throw new C({status:r.status,statusText:r.statusText,message:a})}return r.json()}function Ke(t){return b({...t,mutationFn:async({serviceAccountId:s,body:n})=>Pe({serviceAccountId:s,body:n})})}function Ie({isActive:t,serviceAccountId:s}){const{toast:n}=P(),r=N(),[a,i]=m.useState(!1),{mutate:u}=Ke({onError(o){A(o)&&n({status:"error",emphasis:"subtle",description:o.message,rounded:!0})},onSuccess(){r.invalidateQueries({queryKey:f.serviceAccountsKey()})}});function l(o){o?d(o):i(!0)}async function d(o){u({serviceAccountId:s,body:{active:o}})}return e.jsxs(e.Fragment,{children:[e.jsx(K,{open:a,onOpenChange:i,children:e.jsxs(W,{children:[e.jsx(X,{children:e.jsx(ee,{children:"Deactivate Service Account"})}),e.jsxs("div",{className:"p-5 text-text-md text-theme-text-secondary",children:[e.jsx("p",{children:"Are you sure?"}),e.jsx("p",{children:"You won't be able to use any API keys of this service account to authenticate with the server anymore."})]}),e.jsxs(te,{className:"gap-[10px]",children:[e.jsx(se,{asChild:!0,children:e.jsx(h,{size:"sm",intent:"secondary",children:"Cancel"})}),e.jsx(h,{onClick:()=>d(!1).then(o=>i(!1)),intent:"primary",type:"button",children:"Deactivate"})]})]})}),e.jsx(ne,{checked:t,onCheckedChange:l})]})}function Re({serviceAccountId:t}){const[s,n]=m.useState(!1),[r,a]=m.useState(!1),{bulkDelete:i}=Q(),u=m.useRef(null),l=m.useRef(null);function d(){l.current=u.current}async function o(){await i([t]),p(!1)}function p(x){if(x===!1){n(!1),setTimeout(()=>{a(x)},200);return}a(x)}return e.jsxs(ae,{onOpenChange:n,open:s,children:[e.jsx(re,{ref:u,children:e.jsx(ce,{className:"h-5 w-5 fill-theme-text-secondary"})}),e.jsx(ie,{hidden:r,onCloseAutoFocus:x=>{l.current&&(l.current.focus(),l.current=null,x.preventDefault())},align:"end",sideOffset:7,children:e.jsx(De,{onSelect:d,open:r,onOpenChange:p,triggerChildren:"Delete",icon:e.jsx(q,{fill:"red"}),children:e.jsx(E,{title:"Delete Service Account",handleDelete:o,children:e.jsxs(z,{children:[e.jsx("p",{children:"Are you sure?"}),e.jsx("p",{children:"This action cannot be undone."})]})})})})]})}function qe(){return[{id:"select",meta:{width:"1%"},header:({table:t})=>e.jsx(g,{id:"check-all",checked:t.getIsAllRowsSelected(),onCheckedChange:s=>t.toggleAllRowsSelected(s==="indeterminate"?!0:s)}),cell:({row:t})=>e.jsx(g,{id:`check-${t.id}`,checked:t.getIsSelected(),onCheckedChange:t.getToggleSelectedHandler()})},{id:"service-account",header:"Service Account",accessorFn:t=>t.name,cell:({row:t})=>{var s;return e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Se,{className:"h-5 w-5 flex-shrink-0 fill-primary-400"}),e.jsxs("div",{className:"group/copybutton flex flex-col",children:[e.jsx("div",{className:"flex flex-row items-center space-x-1",children:e.jsx("div",{className:"flex items-center space-x-1",children:e.jsx(O,{className:"text-text-md font-semibold text-theme-text-primary",to:T.settings.service_accounts.detail(t.original.id),children:t.original.name})})}),e.jsx("div",{className:"flex items-center gap-1",children:e.jsx(O,{className:"flex items-center gap-1 text-text-sm text-theme-text-secondary",to:T.settings.service_accounts.detail(t.original.id),children:(s=t.original.metadata)==null?void 0:s.description})})]})]})}},{id:"active",header:"Active",accessorFn:t=>{var s;return(s=t.body)==null?void 0:s.active},cell:({row:t})=>{var s;return e.jsx(Ie,{isActive:!!((s=t.original.body)!=null&&s.active),serviceAccountId:t.original.id})}},{id:"actions",meta:{width:"5%"},header:"",cell:({row:t})=>e.jsx("div",{className:"flex items-center justify-end",children:e.jsx(Re,{serviceAccountId:t.original.id})})}]}function Ee(){return e.jsxs(I,{className:"flex flex-col items-center justify-center space-y-4 p-9",children:[e.jsxs("div",{className:"space-y-2 text-center",children:[e.jsx("p",{className:"text-display-xs font-semibold text-theme-text-primary",children:"There are no service accounts yet."}),e.jsx("p",{className:"text-theme-text-secondary",children:"Create your first one now to automate your processes securely with ZenML."})]}),e.jsx(B,{isFallback:!0})]})}function ze(){const t=R(),{rowSelection:s,setRowSelection:n}=j(),r=m.useMemo(()=>qe(),[]),{data:a}=pe({...he.serviceAccountList({...t,sort_by:"desc:created",hydrate:!0})});return a&&a.items.length<1&&!t.name?e.jsx(Ee,{}):e.jsxs(e.Fragment,{children:[e.jsx(Be,{}),e.jsxs("div",{className:"flex flex-col items-center gap-5",children:[e.jsx("div",{className:"w-full",children:a?e.jsx(oe,{getRowId:i=>i.id,rowSelection:s,onRowSelectionChange:n,columns:r,data:a.items}):e.jsx(F,{className:"h-[500px] w-full"})}),a?a.total_pages>1&&e.jsx(le,{searchParams:t,paginate:a}):e.jsx(F,{className:"h-[36px] w-[300px]"})]})]})}function Be(){const t=R(),{selectedRowCount:s}=j();return e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[s?e.jsx(Oe,{}):e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(ue,{searchParams:t})}),e.jsx(B,{isFallback:!1})]})}function ot(){return e.jsxs(I,{className:"space-y-4 p-5",children:[e.jsx(Qe,{}),e.jsx(Te,{children:e.jsx(ze,{})})]})}function Qe(){return e.jsxs("div",{className:"space-y-2",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"Service Accounts"}),e.jsxs("div",{className:"flex flex-wrap items-center gap-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"Configure automated access for background tasks and integrations."}),e.jsx("a",{target:"_blank",rel:"noreferrer noopener",href:"https://docs.zenml.io/how-to/project-setup-and-management/connecting-to-zenml/connect-with-a-service-account",className:"link text-text-sm text-primary-400",children:"Learn More"})]})]})}export{ot as default};
@@ -0,0 +1 @@
1
+ import{r as u,j as r}from"./@radix-Cdvw4jJ8.js";import{B as f,F as x,W as h}from"./Wizard-Dg8Pmn5A.js";import{J as j,g as C,B as a,r as m}from"./index-BFqbGSck.js";import{c as b,a as p,L as v}from"./@react-router-DeDfXbUF.js";import{b as g}from"./@tanstack-5gTMR7G2.js";import{C as E}from"./configuration-form-B2hmKGnF.js";import"./@reactflow-8OCk19Fi.js";import"./index-U992soPJ.js";import"./form-DFJkaFDX.js";import"./plus-Cl0_rCVF.js";import"./trash-DP6Tpp_E.js";import"./index.esm-DhJo3mA6.js";import"./type-guards-CNgPYg8l.js";import"./zod-XdS2h1ws.js";import"./transform-CeZdrxDZ.js";import"./check-B9QMTa3f.js";import"./CodeSnippet-D2HkkAGr.js";import"./file-text-Cd8wVfq5.js";import"./terminal-square-XFL_4QN-.js";import"./ComponentIcon-CbbOc7lb.js";import"./layout-DBbfEFBe.js";function y(){var s,i;const e=b(),{componentId:t}=p(),o=g({...j.componentDetail(t),throwOnError:!0});function d(l){e(m.components.detail(l))}const c=u.useId();if(o.isPending)return r.jsx(C,{className:"h-[300px] w-full"});if(o.isError)return r.jsx("div",{children:"Error"});const n=(i=(s=o.data.resources)==null?void 0:s.flavor)==null?void 0:i.id;return n?r.jsx(r.Fragment,{children:r.jsx(f,{className:"p-0",children:r.jsx(E,{component:o.data,flavorId:n,formId:c,isCreate:!1,successHandler:d,FooterComponent:N})})}):r.jsx("div",{children:"No flavor found"})}function N({formId:e,isPending:t}){const o=p();return r.jsxs(x,{children:[r.jsx(a,{asChild:!0,intent:"secondary",size:"md",children:r.jsx(v,{to:m.components.detail(o.componentId),children:"Cancel"})}),r.jsxs(a,{size:"md",disabled:t,type:"submit",form:e,children:[t&&r.jsx("div",{role:"alert","aria-busy":"true",className:"full h-[20px] w-[20px] animate-spin rounded-rounded border-2 border-theme-text-negative border-b-theme-text-brand"}),"Update Component"]})]})}function M(){return r.jsx("section",{className:"layout-container mt-5 pb-5",children:r.jsx(h,{children:r.jsx(y,{})})})}export{M as default};
@@ -0,0 +1 @@
1
+ import{j as o}from"./@radix-Cdvw4jJ8.js";import{S as r}from"./Tabs-DNSKblCM.js";import{R as m}from"./RunsBody-BRBn1e2O.js";import{b as i}from"./ButtonGroup-DFWWFGUE.js";import{S as p}from"./StackList-BdiR5DvR.js";import{a as s}from"./@react-router-DeDfXbUF.js";import"./index-BFqbGSck.js";import"./@tanstack-5gTMR7G2.js";import"./@reactflow-8OCk19Fi.js";import"./terminal-XFL_4QN-.js";import"./chevron-down-jbbQh82s.js";import"./transform-CeZdrxDZ.js";import"./DisplayDate-8RESqe5H.js";import"./NestedCollapsible-3M4llYtH.js";import"./type-guards-CNgPYg8l.js";import"./eye-CbVlAYty.js";import"./CollapsibleCard-CnS09ljw.js";import"./check-circle-C4tYvbtw.js";import"./CodeSnippet-D2HkkAGr.js";import"./refresh-BcTM09NW.js";import"./SearchField-DY6-UbRT.js";import"./chevron-right-double-Dgp_gEsp.js";import"./index-DWpiv-Ft.js";import"./all-pipeline-runs-query-DCdax7I5.js";import"./ExecutionStatus-CWreILP0.js";import"./help-Co6aedki.js";import"./trash-DP6Tpp_E.js";import"./AlertDialogDropdownItem-CZW4QyWn.js";import"./DeleteAlertDialog-VIOMDLmx.js";import"./zod-XdS2h1ws.js";import"./index.esm-DhJo3mA6.js";import"./bulk-delete-C_kpIB9A.js";import"./delete-run-CCR9md_s.js";import"./plus-Cl0_rCVF.js";import"./index-BjUu1mP4.js";import"./stack-detail-query-Cm0fsgo-.js";import"./SheetHeader-CASpN2Lz.js";import"./components-Br2ezRib.js";import"./NumberBox-C0mQktmV.js";import"./ComponentBadge-CDgdd0Ks.js";import"./ComponentIcon-CbbOc7lb.js";import"./layout-DBbfEFBe.js";import"./Infobox-CGxFvqzi.js";import"./info-QkbQz4QU.js";import"./DialogItem-ClFCqxEp.js";function Z(){const{componentId:t}=s();return o.jsx("div",{className:"@container",children:o.jsx(r,{isPanel:!1,stacksTabContent:o.jsx(p,{fixedQueryParams:{component_id:t}}),runsTabContent:o.jsx(i,{children:o.jsx(m,{fixedQueryParams:{stack_component:t}})}),componentId:t})})}export{Z as default};
@@ -0,0 +1 @@
1
+ import{r as t,j as e}from"./@radix-Cdvw4jJ8.js";import{S as Z}from"./code-browser-CiD8qkBx.js";import{S as d}from"./help-Co6aedki.js";import{S as x}from"./info-QkbQz4QU.js";import{b as T,h as R,br as B,bs as P,d as M,g as V,aq as E,r as m,T as a,q as l,s as n,t as c}from"./index-BFqbGSck.js";import{f as z,L as h}from"./@react-router-DeDfXbUF.js";import{S as F}from"./clock-B_mTG8PH.js";import{C as L}from"./ProviderIcon-DPwMR6nF.js";import{S as _}from"./layout-DBbfEFBe.js";import"./@tanstack-5gTMR7G2.js";import"./@reactflow-8OCk19Fi.js";import"./gcp-B1I3Qvcx.js";const q=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 S(){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:"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"}));function u({children:s,className:r,...i}){return e.jsx(T,{...i,className:R("h-full w-full space-y-1 px-6 py-5",r),children:s})}function C({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(D,{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(F,{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(P,{className:"h-1 flex-1 shrink-0 rounded-rounded",value:s})]})}function b({children:s}){return e.jsx("div",{className:"flex flex-wrap items-center justify-between gap-y-1 text-text-xs",children:s})}function k({recommendataion:s}){return e.jsxs("div",{className:"flex items-center gap-0.5 text-text-xs text-theme-text-success",children:[e.jsx(B,{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/infrastructure-deployment/stack-deployment/deploy-a-cloud-stack";function U(){const{isError:s,isPending:r,data:i}=M();if(r)return e.jsx(V,{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($,{isLocalDeployment:o}),e.jsx(O,{isLocalDeployment:o})]})]})}function $({isLocalDeployment:s}){const[r]=z(),i=m.stacks.create.newInfra+(r.size>=1?`?${r.toString()}`:"");return e.jsxs("div",{className:"relative",children:[s&&e.jsx(S,{}),e.jsx(h,{to:i,children:e.jsxs(u,{children:[e.jsxs(y,{children:[e.jsx(C,{children:e.jsx(Z,{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(x,{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(k,{recommendataion:"data scientists"}),e.jsxs(b,{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(d,{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 O({isLocalDeployment:s}){const[r]=z(),i=m.stacks.create.terraform+(r.size>=1?`?${r.toString()}`:"");return e.jsxs("div",{className:"relative",children:[s&&e.jsx(S,{}),e.jsx(h,{to:i,children:e.jsxs(u,{className:"flex flex-col justify-between space-y-0",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs(y,{children:[e.jsx(C,{children:e.jsx(q,{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(x,{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(k,{recommendataion:"infrastructure engineers"}),e.jsxs(b,{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(d,{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 A=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:"M5.24923 6.14303C6.0632 3.17816 8.7764 1 12 1C15.2236 1 17.9368 3.17816 18.7508 6.14303C21.1861 6.70961 23 8.8925 23 11.5C23 13.8963 21.4681 15.9322 19.3332 16.6868C18.8125 16.8708 18.2412 16.5979 18.0572 16.0772C17.8731 15.5565 18.146 14.9851 18.6668 14.8011C20.0275 14.3201 21 13.0224 21 11.5C21 9.67779 19.6067 8.17984 17.828 8.01511C17.375 7.97315 17.0073 7.63059 16.9335 7.18159C16.5436 4.80968 14.4822 3 12 3C9.51785 3 7.45643 4.80968 7.0665 7.18159C6.99268 7.63059 6.62505 7.97315 6.17196 8.01511C4.39329 8.17984 3 9.67779 3 11.5C3 13.0224 3.97251 14.3201 5.33325 14.8011C5.85396 14.9851 6.12689 15.5565 5.94284 16.0772C5.75879 16.5979 5.18747 16.8708 4.66675 16.6868C2.53192 15.9322 1 13.8963 1 11.5C1 8.8925 2.8139 6.70961 5.24923 6.14303Z"}),t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9 12C8.44772 12 8 12.4477 8 13C8 13.5523 8.44772 14 9 14C9.55228 14 10 13.5523 10 13C10 12.4477 9.55228 12 9 12ZM6 13C6 11.3431 7.34315 10 9 10C10.6569 10 12 11.3431 12 13C12 14.3062 11.1652 15.4175 10 15.8293V17C10 18.1046 10.8954 19 12 19H14V21H12C9.79086 21 8 19.2091 8 17V15.8293C6.83481 15.4175 6 14.3062 6 13Z"}),t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M16 19C15.4477 19 15 19.4477 15 20C15 20.5523 15.4477 21 16 21C16.5523 21 17 20.5523 17 20C17 19.4477 16.5523 19 16 19ZM13 20C13 18.3431 14.3431 17 16 17C17.6569 17 19 18.3431 19 20C19 21.6569 17.6569 23 16 23C14.3431 23 13 21.6569 13 20Z"})),I="https://docs.zenml.io/how-to/infrastructure-deployment/stack-deployment/deploy-a-cloud-stack";function Q(){const{isError:s,isPending:r,data:i}=M();if(r)return e.jsx(V,{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(J,{isLocalDeployment:o}),e.jsx(G,{})]})]})}function G(){const[s]=z(),r=m.stacks.create.manual+(s.size>=1?`?${s.toString()}`:"");return e.jsx("div",{className:"relative",children:e.jsx(h,{to:r,children:e.jsxs(u,{children:[e.jsxs(y,{children:[e.jsx(C,{children:e.jsx(_,{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(x,{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:I,children:"Learn More"})]})]})})]}),e.jsx(g,{children:"Register stack and components manually using ZenML. Recommended for advanced or custom configurations."})]}),e.jsx(k,{recommendataion:"advanced users"}),e.jsxs(b,{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(d,{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 J({isLocalDeployment:s}){return e.jsxs("div",{className:"relative",children:[s&&e.jsx(S,{}),e.jsx(h,{to:m.stacks.create.existingInfra,children:e.jsxs(u,{children:[e.jsxs(y,{children:[e.jsx(C,{children:e.jsx(A,{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(x,{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:I,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(k,{recommendataion:"infrastructure engineers"}),e.jsxs(b,{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(d,{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 c1(){return e.jsxs("section",{className:"layout-container space-y-5 py-5",children:[e.jsx(U,{}),e.jsx(Q,{})]})}export{c1 as default};
@@ -0,0 +1 @@
1
+ import{r as u,j as e}from"./@radix-Cdvw4jJ8.js";import{a as g,ay as m,aN as p,aB as j,S as N,aI as b,b as v,g as S}from"./index-BFqbGSck.js";import{u as C}from"./update-server-settings-mutation-CmnxdxiK.js";import{h as k}from"./@tanstack-5gTMR7G2.js";import"./@react-router-DeDfXbUF.js";import"./@reactflow-8OCk19Fi.js";function w({settings:t}){var o,l;const a=u.useId(),n=u.useId(),{toast:r}=g(),i=k(),x=((o=t.body)==null?void 0:o.display_announcements)??!1,h=((l=t.body)==null?void 0:l.display_updates)??!1,{mutate:c,isPending:d}=C({onError:s=>{i.invalidateQueries({queryKey:p()}),j(s)&&r({status:"error",emphasis:"subtle",icon:e.jsx(N,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:s.message,rounded:!0})},onSuccess:()=>{i.invalidateQueries({queryKey:p()}),r({status:"success",emphasis:"subtle",rounded:!0,description:"Settings updated successfully"})}}),f=s=>{c({display_announcements:s})},y=s=>{c({display_updates:s})};return e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"flex items-center gap-5",children:[e.jsx(m,{checked:x,onCheckedChange:f,id:a,disabled:d}),e.jsxs("label",{htmlFor:a,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(m,{checked:h,onCheckedChange:y,id:n,disabled:d}),e.jsxs("label",{htmlFor:n,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 _(){const{data:t}=b({throwOnError:!0});return e.jsxs(v,{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(w,{settings:t}):e.jsx(S,{className:"h-[250px] w-full"})})]})}export{_ as default};
@@ -0,0 +1 @@
1
+ import{r as f,j as s}from"./@radix-Cdvw4jJ8.js";import{R as g,u as b,a as y,b as v}from"./ButtonGroup-DFWWFGUE.js";import{y as N,E as P,r as c,P as S,z as i,C as p,T as k,q as C,s as R,t as T,v as u,w as x,G as w,B as E,x as _,g as h}from"./index-BFqbGSck.js";import{S as B}from"./pipeline-CSUlkd50.js";import{f as D,L as l,a as j}from"./@react-router-DeDfXbUF.js";import{S as A}from"./refresh-BcTM09NW.js";import{u as F}from"./all-pipeline-runs-query-DCdax7I5.js";import{S as I,P as z}from"./SearchField-DY6-UbRT.js";import{S as G}from"./terminal-XFL_4QN-.js";import{D as H}from"./DisplayDate-8RESqe5H.js";import{g as L,E as U}from"./ExecutionStatus-CWreILP0.js";import"./trash-DP6Tpp_E.js";import"./AlertDialogDropdownItem-CZW4QyWn.js";import"./DeleteAlertDialog-VIOMDLmx.js";import"./zod-XdS2h1ws.js";import"./index.esm-DhJo3mA6.js";import"./bulk-delete-C_kpIB9A.js";import"./@tanstack-5gTMR7G2.js";import"./delete-run-CCR9md_s.js";import"./@reactflow-8OCk19Fi.js";import"./chevron-right-double-Dgp_gEsp.js";import"./index-DWpiv-Ft.js";import"./check-circle-C4tYvbtw.js";import"./help-Co6aedki.js";function q(e){const{setBreadcrumbs:t}=N();f.useEffect(()=>{e&&t([P,{label:e,href:c.projects.pipelines.namespace(e)}])},[t,e])}function $({namespace:e}){return s.jsx(S,{children:s.jsxs("div",{className:"flex items-center gap-1",children:[s.jsx(B,{className:"h-5 w-5 fill-neutral-400"}),s.jsx("h1",{className:"text-display-xs font-semibold",children:decodeURIComponent(e)})]})})}const d=1,O=i.object({page:i.coerce.number().min(d).optional().default(d).catch(d),name:i.string().optional(),operator:i.enum(["and","or"]).optional()});function J(){const[e]=D(),{page:t,name:a,operator:r}=O.parse({page:e.get("page")||void 0,name:e.get("name")||void 0});return{page:t,name:a,logical_operator:r}}function K(){return[{id:"select",meta:{width:"1%"},header:({table:e})=>s.jsx(p,{id:"check-all",checked:e.getIsAllRowsSelected(),onCheckedChange:t=>e.toggleAllRowsSelected(t==="indeterminate"?!0:t)}),cell:({row:e})=>s.jsx(p,{id:`check-${e.id}`,checked:e.getIsSelected(),onCheckedChange:e.getToggleSelectedHandler()})},{id:"run",header:"Run",accessorFn:e=>{var t;return{name:e.name,id:e.id,status:(t=e.body)==null?void 0:t.status}},cell:({getValue:e})=>{const{name:t,status:a,id:r}=e();return s.jsxs("div",{className:"group/copybutton flex items-center gap-2",children:[s.jsx(G,{className:`h-5 w-5 shrink-0 ${L(a)}`}),s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center gap-1",children:[s.jsx(l,{to:c.projects.runs.detail(r),className:"flex items-center gap-1",children:s.jsx("h2",{className:"text-text-md font-semibold",children:t})}),s.jsx(k,{children:s.jsxs(C,{children:[s.jsx(R,{className:"hover:text-theme-text-brand hover:underline",children:s.jsx(U,{status:a})}),s.jsx(T,{className:"z-20 capitalize",children:a})]})}),s.jsx(u,{copyText:t})]}),s.jsxs(l,{to:c.projects.runs.detail(r),className:"flex items-center gap-1",children:[s.jsx("p",{className:"text-text-xs text-theme-text-secondary",children:r.split("-")[0]}),s.jsx(u,{copyText:r})]})]})]})}},{id:"stack",header:"Stack",accessorFn:e=>{var t,a,r,n;return{name:(a=(t=e.body)==null?void 0:t.stack)==null?void 0:a.name,id:(n=(r=e.body)==null?void 0:r.stack)==null?void 0:n.id}},cell:({getValue:e})=>{const{name:t,id:a}=e();return!t||!a?null:s.jsx(l,{to:c.stacks.overview,children:s.jsx(x,{rounded:!1,className:"inline-block",color:"turquoise",emphasis:"subtle",children:t})})}},{id:"repository",header:"Repository",accessorFn:e=>{var t,a,r,n,o,m;return{name:(r=(a=(t=e.body)==null?void 0:t.code_reference)==null?void 0:a.body)==null?void 0:r.code_repository.name,id:(m=(o=(n=e.body)==null?void 0:n.code_reference)==null?void 0:o.body)==null?void 0:m.code_repository.id}},cell:({getValue:e})=>{const{name:t,id:a}=e();return!t||!a?null:s.jsx("div",{children:s.jsx(x,{rounded:!1,className:"inline-block",color:"grey",emphasis:"subtle",children:t})})}},{id:"created",header:"Created at",accessorFn:e=>{var t;return(t=e.body)==null?void 0:t.created},cell:({getValue:e})=>s.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:s.jsx(H,{dateString:e()})})},{id:"author",header:"Author",accessorFn:e=>{var t;return{author:(t=e.resources)==null?void 0:t.user}},cell:({getValue:e})=>{const{author:t}=e();return s.jsx(w,{username:t.name})}},{id:"admin_actions",header:"",meta:{width:"5%"},cell:({row:e})=>s.jsx(g,{id:e.original.id})}]}function M(){const{namespace:e}=j(),t=J(),a=K(),{selectedRowCount:r}=b(),{data:n,refetch:o}=F({params:{pipeline_name:decodeURIComponent(e),...t,sort_by:"desc:updated"}},{throwOnError:!0});return s.jsxs("div",{className:"flex flex-col gap-5 p-5",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[r?s.jsx(y,{}):s.jsx(I,{searchParams:t}),s.jsxs(E,{intent:"primary",emphasis:"subtle",size:"md",onClick:()=>o(),children:[s.jsx(A,{className:"h-5 w-5 fill-theme-text-brand"}),"Refresh"]})]}),s.jsxs("div",{className:"flex flex-col items-center gap-5",children:[s.jsx("div",{className:"w-full",children:n?s.jsx(_,{columns:a,data:n.items}):s.jsx(h,{className:"h-[500px] w-full"})}),n?n.total_pages>1&&s.jsx(z,{searchParams:t,paginate:n}):s.jsx(h,{className:"h-[36px] w-[300px]"})]})]})}function ge(){const{namespace:e}=j();return q(e),s.jsx("div",{children:s.jsxs(v,{children:[s.jsx($,{namespace:e}),s.jsx(M,{})]})})}export{ge as default};
@@ -1 +1 @@
1
- import{r as i,j as s}from"./@radix-C7hRs6Kx.js";import{z as t,e as j,f as N,I as c,h as w,r as y,i as b,B as v}from"./index-D2iSHVZq.js";import{u as S}from"./login-mutation-CXc-Klim.js";import{t as I}from"./zod-C0xYeTvL.js";import{u as L}from"./index.esm-D7jFlf5N.js";import{c as F,d as P}from"./@react-router-CNP6g_RL.js";import"./@tanstack-CSxjHCME.js";import"./@reactflow-CQi1Z1Wq.js";const E=t.object({username:t.string().min(1),password:t.string().optional()});function A(){const l=F(),{setAuthState:m}=j(),{toast:u}=N(),a=i.useId(),r=i.useId(),[o]=P(),d=o.get("redirect"),x=o.get("username")??void 0,{register:n,handleSubmit:p,formState:{isValid:h}}=L({resolver:I(E),defaultValues:{username:x}}),f=S({onError:e=>{e instanceof Error&&u({status:"error",emphasis:"subtle",icon:s.jsx(b,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:e.message,rounded:!0})},onSuccess:async()=>{m("true"),l(d||y.home)}});function g(e){f.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(c,{...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(c,{...n("password"),id:r,type:"password",className:"w-full"})]})]}),s.jsx(w,{disabled:!h,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{r as i,j as s}from"./@radix-Cdvw4jJ8.js";import{z as t,u as j,a as N,I as c,B as w,r as y,S as b,b as v}from"./index-BFqbGSck.js";import{u as S}from"./login-mutation-D3tFP6Wm.js";import{t as I}from"./zod-XdS2h1ws.js";import{u as L}from"./index.esm-DhJo3mA6.js";import{c as F,f as P}from"./@react-router-DeDfXbUF.js";import"./@tanstack-5gTMR7G2.js";import"./@reactflow-8OCk19Fi.js";const E=t.object({username:t.string().min(1),password:t.string().optional()});function A(){const l=F(),{setAuthState:m}=j(),{toast:u}=N(),a=i.useId(),r=i.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(b,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:e.message,rounded:!0})},onSuccess:async()=>{m("true"),l(d||y.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(c,{...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(c,{...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 e,r}from"./@radix-Cdvw4jJ8.js";import{P as o,a as n,b as l,c as i,d as m,e as c}from"./ProCta-Dm5cWKpS.js";import{b as d,bh as u}from"./index-BFqbGSck.js";import{C as x}from"./CodeSnippet-D2HkkAGr.js";import{f as p}from"./@react-router-DeDfXbUF.js";import"./check-B9QMTa3f.js";import"./@tanstack-5gTMR7G2.js";import"./@reactflow-8OCk19Fi.js";const f="/assets/mcp-Cb1aMeoq.webp";function h(){const[a]=p(),t=a.get("model");function s(){return t?`zenml model list --name='contains:${t}'`:"zenml model list"}return e.jsxs(d,{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(x,{code:s()})]})}function v(){const{setTourState:a,tourState:{tourActive:t}}=u();return r.useEffect(()=>{t&&a(s=>({...s,run:!0,stepIndex:s.stepIndex}))},[t]),e.jsx("div",{children:e.jsxs("div",{className:"layout-container space-y-5 py-5",children:[e.jsxs(o,{className:"relative overflow-y-hidden",children:[e.jsxs("div",{className:"w-full max-w-none space-y-5 lg:max-w-[900px]",children:[e.jsx(n,{children:"Access Advanced Model Management Features with ZenML Pro"}),e.jsx(l,{}),e.jsx(i,{features:[{title:"Model Control Plane Dashboard",subtitle:"Centralized model management and monitoring"},{title:"Enterprise Security",subtitle:"Social SSO, RBAC, and User Management"},{title:"Managed ZenML Server",subtitle:"On your VPC or hosted on our infrastructure"},{title:"Advanced MLOps",subtitle:"CI/CD/CT, Artifact Control Plane and more"}]}),e.jsx(m,{})]}),e.jsx(c,{className:"absolute translate-x-[30%] translate-y-[15%] scale-[40%]",src:f,alt:"Screenshot of the ZenML Pro Artifact Control Plane"})]}),e.jsx(h,{})]})})}export{v as default};
@@ -0,0 +1 @@
1
+ import{r as a,j as e}from"./@radix-Cdvw4jJ8.js";import{y as g,bg as C,r as p,P as y,aZ as b,B as i,ai as c}from"./index-BFqbGSck.js";import{H as u,B as x,F as v,W as N}from"./Wizard-Dg8Pmn5A.js";import{S as f}from"./arrow-left-MRXv5pAH.js";import{C as S}from"./configuration-form-B2hmKGnF.js";import{c as k,L as F}from"./@react-router-DeDfXbUF.js";import{S as B,s as w}from"./constants-1EZZxtay.js";import{C as T}from"./ComponentIcon-CbbOc7lb.js";import"./@tanstack-5gTMR7G2.js";import"./@reactflow-8OCk19Fi.js";import"./index-U992soPJ.js";import"./form-DFJkaFDX.js";import"./plus-Cl0_rCVF.js";import"./trash-DP6Tpp_E.js";import"./index.esm-DhJo3mA6.js";import"./type-guards-CNgPYg8l.js";import"./zod-XdS2h1ws.js";import"./transform-CeZdrxDZ.js";import"./check-B9QMTa3f.js";import"./CodeSnippet-D2HkkAGr.js";import"./file-text-Cd8wVfq5.js";import"./terminal-square-XFL_4QN-.js";import"./layout-DBbfEFBe.js";function z(){const{setBreadcrumbs:s}=g();a.useEffect(()=>{s([C,{label:"Create",href:p.components.create}])},[s])}function H(){return z(),e.jsx(y,{children:e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(b,{className:"h-5 w-5 fill-turquoise-400"}),e.jsx("h1",{className:"text-display-xs font-semibold",children:"Register new Component"})]})})}function I({flavor:s,type:t,handleBack:r}){const l=a.useId(),o=k();function m(d){o(p.components.detail(d))}return e.jsxs(e.Fragment,{children:[e.jsxs(u,{className:"flex items-center gap-2",children:[e.jsxs(i,{intent:"secondary",emphasis:"subtle",className:"flex aspect-square size-6 items-center justify-center",onClick:()=>r(),children:[e.jsx(f,{className:"size-5 shrink-0"}),e.jsx("span",{className:"sr-only",children:"Go step back"})]}),e.jsxs("span",{children:["Configure your ",c(s.name)," ",c(t)]})]}),e.jsx(x,{className:"p-0",children:e.jsx(S,{flavorId:s.id,formId:l,successHandler:m,FooterComponent:L})})]})}function L({formId:s,isPending:t}){return e.jsxs(v,{children:[e.jsx(i,{asChild:!0,intent:"secondary",size:"md",children:e.jsx(F,{to:p.components.overview,children:"Cancel"})}),e.jsxs(i,{size:"md",disabled:t,type:"submit",form:s,children:[t&&e.jsx("div",{role:"alert","aria-busy":"true",className:"full h-[20px] w-[20px] animate-spin rounded-rounded border-2 border-theme-text-negative border-b-theme-text-brand"}),"Register Component"]})]})}function R({type:s,handleFlavorSelect:t,handleBack:r}){return e.jsxs(e.Fragment,{children:[e.jsxs(u,{className:"flex items-center gap-2",children:[e.jsxs(i,{intent:"secondary",emphasis:"subtle",className:"flex aspect-square size-6 items-center justify-center",onClick:()=>r(),children:[e.jsx(f,{className:"size-5 shrink-0"}),e.jsx("span",{className:"sr-only",children:"Go step back"})]}),e.jsxs("span",{children:["Select your ",c(s)," Flavor"]})," "]}),e.jsx(x,{children:e.jsx(B,{type:s,setSelectedFlavor:t})})]})}function q({selectTypeHandler:s}){return e.jsxs(e.Fragment,{children:[e.jsx(u,{children:"Select your Component Type"}),e.jsx(x,{children:e.jsx("ul",{className:"grid grid-cols-1 gap-3 md:grid-cols-2 xl:grid-cols-4",children:w.map(t=>e.jsx(E,{type:t,selectTypeHandler:s},t))})})]})}function E({type:s,selectTypeHandler:t}){return e.jsxs("button",{onClick:()=>t(s),className:"flex h-[110px] flex-col items-center justify-center space-y-2 truncate whitespace-nowrap rounded-md border border-theme-border-moderate bg-theme-surface-secondary py-5 text-center text-text-sm text-theme-text-secondary transition-all duration-150 hover:bg-theme-surface-primary hover:shadow-sm",children:[e.jsx(T,{className:"h-5 w-5 shrink-0 fill-theme-text-tertiary group-data-[state=active]/trigger:fill-theme-surface-strong",type:s}),e.jsx("span",{children:c(s)})]})}function W(){const[s,t]=a.useState(0),[r,l]=a.useState(null),[o,m]=a.useState();function d(n){l(n),t(1)}function j(n){m(n),t(2)}function h(){t(n=>n-1)}return e.jsxs(N,{children:[s===0&&e.jsx(q,{selectTypeHandler:d}),s===1&&r&&e.jsx(R,{type:r,handleFlavorSelect:j,handleBack:h}),s===2&&o&&r&&e.jsx(I,{flavor:o,type:r,handleBack:h})]})}function ie(){return e.jsxs("div",{className:"space-y-5",children:[e.jsx(H,{}),e.jsx("section",{className:"layout-container pb-5",children:e.jsx(W,{})})]})}export{ie as default};
@@ -0,0 +1 @@
1
+ import{r as l,j as e}from"./@radix-Cdvw4jJ8.js";import{u as m,W as B,L as I}from"./LeftSideMenu-DCsKdIjC.js";import{p as C,s as M,c as k}from"./persist-DWMWVP-y.js";import{I as b}from"./Infobox-CGxFvqzi.js";import{W as v,H as g,B as y}from"./Wizard-Dg8Pmn5A.js";import{t as z}from"./zod-XdS2h1ws.js";import{B as p,bf as A,g as P,a$ as F,r as Z,z as _}from"./index-BFqbGSck.js";import{u as T,F as L,a as W}from"./index.esm-DhJo3mA6.js";import{S as V}from"./StackName-ojLC6xdl.js";import{S as N}from"./WizardFooter-BcNDIvlQ.js";import{R as $,a as H,E as O,C as G}from"./Partials-DSjkttlz.js";import{b as Q,a as Y}from"./persist-Dec_w7aB.js";import{S as q}from"./logs-CQKlJjo0.js";import{C as j}from"./CodeSnippet-D2HkkAGr.js";import{N as w}from"./NumberBox-C0mQktmV.js";import{s as E}from"./index-BjUu1mP4.js";import{b as D}from"./@tanstack-5gTMR7G2.js";import{c as J}from"./@react-router-DeDfXbUF.js";import{C as x,P as f}from"./ProviderRadio-DEDNRgAb.js";import{C as h}from"./ProviderIcon-DPwMR6nF.js";import"./Tick-BPrWnNlN.js";import"./check-B9QMTa3f.js";import"./info-QkbQz4QU.js";import"./@reactflow-8OCk19Fi.js";import"./package-miExReQl.js";import"./ComponentBadge-CDgdd0Ks.js";import"./ComponentIcon-CbbOc7lb.js";import"./layout-DBbfEFBe.js";import"./transform-CeZdrxDZ.js";import"./sharedSchema-BXzg0EZz.js";import"./index.es-C1gfATPn.js";import"./stack-detail-query-Cm0fsgo-.js";import"./gcp-B1I3Qvcx.js";const R=l.createContext(null);function K({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(Q,{async:!0}),defaultValues:{region:t.location||"",stackName:t.stackName||""}});function c(a){const n=new Date().toISOString().slice(0,-1);M({location:a.region,provider:t.provider||"aws",stackName:a.stackName,timestamp:n}),i(n),r(u=>({...u,location:a.region,stackName:a.stackName})),s(u=>u+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($,{provider:t.provider||"aws"}),e.jsx(V,{})]}),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(p,{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(A,{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(G,{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(ue,{}),e.jsx(ie,{})]})]})}function ie(){return e.jsx(p,{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(q,{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(p,{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(F,{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(pe,{})]})}function pe(){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 ue(){const r=J();function t(){k(),r(Z.stacks.create.index)}return e.jsx(p,{onClick:()=>t(),intent:"secondary",size:"md",children:"Cancel"})}const xe=_.object({provider:Y});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(p,{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 Ke(){return e.jsx(B,{maxSteps:S.length,initialStep:0,children:e.jsx(K,{children:e.jsxs("section",{className:"layout-container flex flex-col gap-5 py-5 xl:flex-row",children:[e.jsx(I,{entries:S}),e.jsx("div",{className:"w-full overflow-y-hidden",children:e.jsx(je,{})})]})})})}export{Ke as default};
@@ -0,0 +1 @@
1
+ import{j as e,r as n}from"./@radix-Cdvw4jJ8.js";import{f as p,i as f,F as y,j,as as g,au as v,V as C,B as d,ap as u,aQ as x,aO as N,g as w,ac as E,ad as b,ae as F,af as k,S as V}from"./index-BFqbGSck.js";import{S as _}from"./chevron-down-jbbQh82s.js";import{I as H}from"./Infobox-CGxFvqzi.js";import{c as S,b as P}from"./@tanstack-5gTMR7G2.js";import{a as B}from"./@react-router-DeDfXbUF.js";import"./@reactflow-8OCk19Fi.js";import"./info-QkbQz4QU.js";async function D({connectorId:t}){const s=f(j.serviceConnectors.verifyExisting(t)),a=await p(s,{method:"PUT",headers:{"Content-Type":"application/json"}});if(!a.ok){const r=await a.json().then(l=>Array.isArray(l.detail)?l.detail[1]:l.detail).catch(()=>"Failed to verify connector");throw new y({status:a.status,statusText:a.statusText,message:r})}return a.json()}function A(t){return S({...t,mutationFn:async({connectorId:s})=>D({connectorId:s})})}const M="/assets/connectivity-4UKGMYnr.webp";function R({open:t,isLoading:s,isError:a,onClose:r,onSuccess:l,data:c}){const i=!!(c!=null&&c.error),o=(c==null?void 0:c.error)??void 0;return e.jsx(g,{open:t,children:e.jsx(v,{onPointerDownOutside:m=>s?m.preventDefault():r==null?void 0:r(),onEscapeKeyDown:m=>s?m.preventDefault():r==null?void 0:r(),className:"max-w-[540px] p-8",children:e.jsxs("div",{className:"flex w-full flex-col items-center justify-center space-y-5",children:[s&&!c&&e.jsx(T,{onClose:r}),!s&&!a&&!i&&e.jsx(O,{onSuccess:l}),!s&&(a||i)&&e.jsx(Z,{error:o,onClose:r})]})})})}function T({onClose:t}){return e.jsxs(e.Fragment,{children:[e.jsx(C,{}),e.jsxs("div",{className:"space-y-2 text-center",children:[e.jsx("p",{className:"text-display-xs font-semibold",children:"Verifying your service connector"}),e.jsxs("p",{className:"text-text-lg text-theme-text-secondary",children:["Please wait while we check your connection ",e.jsx("br",{}),"This may take up to a minute."]})]}),e.jsx(d,{size:"md",emphasis:"subtle",onClick:t,intent:"secondary",className:"mt-4",children:"Cancel"})]})}function O({onSuccess:t}){return e.jsxs(e.Fragment,{children:[e.jsx(u,{width:180,height:180,className:"fill-theme-text-success"}),e.jsxs("div",{className:"space-y-2 text-center",children:[e.jsx("p",{className:"text-display-xs font-semibold",children:"Connection verified successfully!"}),e.jsx("p",{className:"text-text-lg text-theme-text-secondary",children:"Ready to show your available resources"})]}),e.jsx(d,{size:"md",onClick:t,className:"mt-4",children:"Display Resources"})]})}function Z({onClose:t,error:s}){return e.jsxs(e.Fragment,{children:[e.jsx("img",{src:M,alt:"Connectivity",width:180,height:180}),e.jsxs("div",{className:"space-y-2 text-center",children:[e.jsx("p",{className:"text-display-xs font-semibold",children:"We couldn't verify your connection"}),s&&e.jsx("p",{className:"max-h-[250px] overflow-auto rounded-md border border-theme-border-moderate bg-theme-surface-secondary p-1 text-left font-mono",children:s}),e.jsx("p",{className:"text-text-lg text-theme-text-secondary",children:"Please try again to list your resources"})]}),e.jsx(d,{size:"md",emphasis:"subtle",onClick:t,intent:"secondary",className:"mt-4",children:"Close"})]})}function h({children:t}){const{setResources:s}=x(),{connectorId:a}=B(),r=P({...N.serviceConnectorDetail(a),throwOnError:!0}),[l,c]=n.useState(!1),i=A();if(r.isPending)return e.jsx(w,{className:"h-7 w-[150px]"});if(r.isError)return null;const o=()=>{c(!1)};return e.jsxs(e.Fragment,{children:[e.jsx(R,{data:i.data,open:l,isLoading:i.isPending,isError:i.isError,onClose:o,onSuccess:()=>{i.data&&(s(i.data),c(!1))}}),e.jsxs(d,{disabled:i.isPending&&l,onClick:()=>{c(!0),i.mutate({connectorId:a})},className:"gap-1",size:"md",children:[e.jsx(u,{width:24,height:24,className:"size-5 shrink-0 fill-white"}),t]})]})}function z(){var a;const{resources:t}=x();if(!t)return null;const s=t.connector_type;return!s||typeof s=="string"?null:e.jsxs("div",{className:"space-y-5",children:[e.jsx("div",{className:"flex justify-end",children:e.jsx(h,{children:e.jsx("span",{children:"Reverify now"})})}),(a=t.resources)==null?void 0:a.map(r=>{var l,c;return e.jsx(I,{title:(l=s.resource_types.find(i=>i.resource_type===r.resource_type))==null?void 0:l.name,logoUrl:((c=s.resource_types.find(i=>i.resource_type===r.resource_type))==null?void 0:c.logo_url)??void 0,resource:r},r.resource_type)})]})}function I({resource:t,title:s,logoUrl:a}){const[r,l]=n.useState(!0),c=t.error,i=t.resource_ids??[];return e.jsxs(E,{open:r,onOpenChange:l,children:[e.jsx(b,{className:"flex items-center gap-[10px]",children:e.jsxs(F,{className:"flex w-full items-center gap-[10px] text-text-lg",children:[e.jsx(_,{className:` ${r?"":"-rotate-90"} h-5 w-5 rounded-md fill-neutral-500 transition-transform duration-200 hover:bg-neutral-200`}),s||t.resource_type]})}),e.jsx(k,{className:"space-y-5 border-t border-theme-border-moderate bg-theme-surface-primary",children:c?e.jsx("div",{className:"p-5",children:e.jsx(H,{intent:"error",children:c})}):e.jsx("ul",{className:"divide-y divide-theme-border-moderate",children:i.map(o=>e.jsxs("li",{className:"flex items-center space-x-2 py-3 pl-8",children:[!!a&&e.jsx("img",{width:24,height:24,src:a,alt:s,className:"size-5 shrink-0"}),e.jsx("span",{children:o})]},o))})})]})}const Q=t=>n.createElement("svg",{width:182,height:104,viewBox:"0 0 182 104",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},n.createElement("path",{d:"M35 12C35 7.58172 38.5817 4 43 4H147C151.418 4 155 7.58172 155 12V96C155 100.418 151.418 104 147 104H43C38.5817 104 35 100.418 35 96V12Z",fill:"#F1EBFE"}),n.createElement("path",{d:"M1 56H181",stroke:"#7A3EF4",strokeLinecap:"round"}),n.createElement("path",{d:"M16 61H166",stroke:"#7A3EF4",strokeLinecap:"round"}),n.createElement("g",{clipPath:"url(#clip0_8218_459)"},n.createElement("path",{d:"M31 8C31 3.58172 34.5817 0 39 0H143C147.418 0 151 3.58172 151 8V92C151 96.4183 147.418 100 143 100H39C34.5817 100 31 96.4183 31 92V8Z",fill:"white"}),n.createElement("mask",{id:"path-6-inside-1_8218_459",fill:"white"},n.createElement("path",{d:"M31 0H151V12H31V0Z"})),n.createElement("path",{d:"M31 0H151V12H31V0Z",fill:"#FBF9FF"}),n.createElement("path",{d:"M151 11H31V13H151V11Z",fill:"#7A3EF4",mask:"url(#path-6-inside-1_8218_459)"}),n.createElement("circle",{cx:41,cy:6,r:2,fill:"#AF8BF8"}),n.createElement("circle",{cx:47,cy:6,r:2,fill:"#AF8BF8"}),n.createElement("circle",{cx:53,cy:6,r:2,fill:"#AF8BF8"})),n.createElement("path",{d:"M31.5 8C31.5 3.85786 34.8579 0.5 39 0.5H143C147.142 0.5 150.5 3.85786 150.5 8V92C150.5 96.1421 147.142 99.5 143 99.5H39C34.8579 99.5 31.5 96.1421 31.5 92V8Z",stroke:"#7A3EF4"}),n.createElement("defs",null,n.createElement("clipPath",{id:"clip0_8218_459"},n.createElement("path",{d:"M31 8C31 3.58172 34.5817 0 39 0H143C147.418 0 151 3.58172 151 8V92C151 96.4183 147.418 100 143 100H39C34.5817 100 31 96.4183 31 92V8Z",fill:"white"}))));function K({icon:t}){return e.jsxs("div",{className:"relative",children:[e.jsx(Q,{}),e.jsx("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-rounded bg-primary-25 p-3",children:t})]})}function L(){return e.jsx("div",{className:"p-9",children:e.jsxs("div",{className:"flex flex-col items-center space-y-5",children:[e.jsx(K,{icon:e.jsx(V,{className:"h-[36px] w-[36px] fill-primary-400"})}),e.jsxs("div",{className:"space-y-2 text-center",children:[e.jsx("p",{className:"text-display-xs font-semibold",children:"Please verify your service connector"}),e.jsxs("p",{className:"text-text-lg text-theme-text-secondary",children:["We'll check your connection and load available resources.",e.jsx("br",{}),"This may take up to a minute."]})]}),e.jsx(h,{children:e.jsx("span",{children:"Verify now"})})]})})}function ee(){const{resources:t}=x();return t===null?e.jsx(L,{}):e.jsx(z,{})}export{ee as default};
@@ -0,0 +1 @@
1
+ import{j as t}from"./@radix-Cdvw4jJ8.js";import{C as o,S as r}from"./StackComponentList-Be1pQt9m.js";import"./plus-Cl0_rCVF.js";import"./refresh-BcTM09NW.js";import"./SearchField-DY6-UbRT.js";import"./index-BFqbGSck.js";import"./@tanstack-5gTMR7G2.js";import"./@react-router-DeDfXbUF.js";import"./@reactflow-8OCk19Fi.js";import"./chevron-right-double-Dgp_gEsp.js";import"./index-DWpiv-Ft.js";import"./DisplayDate-8RESqe5H.js";import"./SheetHeader-CASpN2Lz.js";import"./Tabs-DNSKblCM.js";import"./terminal-XFL_4QN-.js";import"./chevron-down-jbbQh82s.js";import"./transform-CeZdrxDZ.js";import"./NestedCollapsible-3M4llYtH.js";import"./type-guards-CNgPYg8l.js";import"./eye-CbVlAYty.js";import"./CollapsibleCard-CnS09ljw.js";import"./check-circle-C4tYvbtw.js";import"./CodeSnippet-D2HkkAGr.js";import"./all-pipeline-runs-query-DCdax7I5.js";import"./ExecutionStatus-CWreILP0.js";import"./help-Co6aedki.js";import"./index-BjUu1mP4.js";import"./stack-detail-query-Cm0fsgo-.js";import"./ComponentBadge-CDgdd0Ks.js";import"./ComponentIcon-CbbOc7lb.js";import"./layout-DBbfEFBe.js";import"./trash-DP6Tpp_E.js";import"./DeleteAlertDialog-VIOMDLmx.js";import"./zod-XdS2h1ws.js";import"./index.esm-DhJo3mA6.js";import"./Infobox-CGxFvqzi.js";import"./info-QkbQz4QU.js";import"./bulk-delete-C_kpIB9A.js";function K(){return t.jsx("div",{className:"pt-5",children:t.jsx(o,{children:t.jsx(r,{})})})}export{K as default};
@@ -0,0 +1 @@
1
+ import{r as v,j as e}from"./@radix-Cdvw4jJ8.js";import{z as n,a as S,aI as g,g as j,I as N,B as y,aN as b,b6 as w,aB as E,S as I,b as F}from"./index-BFqbGSck.js";import{u as B}from"./update-server-settings-mutation-CmnxdxiK.js";import{t as K}from"./zod-XdS2h1ws.js";import{h as P}from"./@tanstack-5gTMR7G2.js";import{u as q}from"./index.esm-DhJo3mA6.js";import"./@react-router-DeDfXbUF.js";import"./@reactflow-8OCk19Fi.js";const G=n.object({serverName:n.string().min(1)});function Q(){var i;const r=v.useId(),{toast:t}=S(),a=P(),{isError:o,isPending:l,data:m}=g({throwOnError:!0}),{mutate:c,isPending:u}=B({onError(s){E(s)&&t({status:"error",emphasis:"subtle",icon:e.jsx(I,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:s.message,rounded:!0})},onSuccess:async()=>{a.invalidateQueries({queryKey:b()}),a.invalidateQueries({queryKey:w()}),t({status:"success",emphasis:"subtle",rounded:!0,description:"Server Settings updated successfully"}),p()}}),{handleSubmit:d,register:x,reset:p,formState:{isValid:f}}=q({resolver:K(G)});function h(s){c({server_name:s.serverName})}return o?null:l?e.jsx(j,{className:"h-[150px] max-w-[600px]"}):e.jsx("div",{className:"w-full max-w-[600px]",children:e.jsxs("form",{className:"space-y-2",onSubmit:d(h),children:[e.jsx("div",{className:"space-y-2",children:e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("label",{htmlFor:r,className:"text-text-sm",children:"Server Name"}),e.jsx(N,{placeholder:(i=m.body)==null?void 0:i.server_name,...x("serverName"),id:r,className:"w-full"})]})}),e.jsx("div",{className:"flex justify-end",children:e.jsx(y,{disabled:u||!f,size:"md",intent:"primary",children:"Update"})})]})})}function R(){return e.jsxs(F,{className:"flex flex-col gap-5 p-5",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"General"}),e.jsx(Q,{})]})}export{R as default};
@@ -0,0 +1 @@
1
+ import{r as p,j as e}from"./@radix-Cdvw4jJ8.js";import{u as d,S as h,a as j,b as y}from"./form-schemas-CrznJVzA.js";import{E as w}from"./EmptyState-CjrgDtVk.js";import{A,I as U,P as b,U as P,S as g}from"./UsageReason-Cb-mpV8M.js";import{f as _}from"./@react-router-DeDfXbUF.js";import{f as F,i as C,F as E,j as N,u as k,a as H,S as I}from"./index-BFqbGSck.js";import{c as M}from"./@tanstack-5gTMR7G2.js";import{u as D}from"./login-mutation-D3tFP6Wm.js";import{S as R}from"./SetPassword-BjNGDC5e.js";import"./check-circle-C4tYvbtw.js";import"./UpdatePasswordSchemas-CNfKDo2Q.js";import"./zod-XdS2h1ws.js";import"./index.esm-DhJo3mA6.js";import"./gcp-B1I3Qvcx.js";import"./@reactflow-8OCk19Fi.js";import"./PasswordChecker-B88WjuCe.js";const S=p.createContext(null);function T({children:t,initialUser:r}){const[a,s]=p.useState(r||{});return e.jsx(S.Provider,{value:{newUser:a,setNewUser:s},children:t})}function l(){const t=p.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}=l();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=C(N.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 E({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}=l(),{setAuthState:s}=k(),{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}=l();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}=l();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}=l();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]=p.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 mt(){return e.jsx("div",{children:e.jsx(y,{children:e.jsx(q,{})})})}export{mt as default};
@@ -0,0 +1 @@
1
+ import{r as l,j as e}from"./@radix-Cdvw4jJ8.js";import{f as C,i as b,F as y,j as v,as as M,at as F,B as h,au as E,av as T,aw as P,ax as U,a as w,I as k,ay as O,az as I,aA as H,aB as R,S as D,z as u,aC as _,aD as z,aE as B,aF as Z,aG as q,D as V,l as G,m as L,p as K,G as Q,a3 as j,aH as J,e as $,g as f,x as W,b as X}from"./index-BFqbGSck.js";import{S as Y,P as ee}from"./SearchField-DY6-UbRT.js";import{C as se}from"./CodeSnippet-D2HkkAGr.js";import{c as N,h as A}from"./@tanstack-5gTMR7G2.js";import{u as ae}from"./index.esm-DhJo3mA6.js";import{D as te}from"./DisplayDate-8RESqe5H.js";import{A as re}from"./AlertDialogDropdownItem-CZW4QyWn.js";import{f as ne}from"./@react-router-DeDfXbUF.js";import"./@reactflow-8OCk19Fi.js";import"./chevron-right-double-Dgp_gEsp.js";import"./index-DWpiv-Ft.js";const ie=t=>l.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...t},l.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 le(t){const s=b(v.users.all),a=await C(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){const r=await a.json().then(n=>n.detail).catch(()=>"Failed to create User");throw new y({status:a.status,statusText:a.statusText,message:r})}return a.json()}function oe(t){return N({mutationFn:async s=>le(s),...t})}function ce(){const[t,s]=l.useState(!1),[a,r]=l.useState(null);return e.jsxs(M,{open:t,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(T,{children:e.jsx(P,{children:" Add a New Member"})}),a?e.jsx(me,{name:a.name,token:U(a)}):e.jsx(de,{setSuccessMember:r})]})]})}u.object({username:u.string(),isAdmin:u.boolean()});function de({setSuccessMember:t}){const{toast:s}=w(),a=A(),{mutate:r,isPending:n}=oe({onError(d){R(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){t(d),a.invalidateQueries({queryKey:["users"]})}}),c=l.useId(),o=l.useId(),{register:i,handleSubmit:x,watch:p,setValue:m}=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(k,{...i("username"),id:c,className:"w-full"})]}),e.jsxs("div",{className:"flex gap-5",children:[e.jsx("label",{htmlFor:o,className:"text-text-md",children:"Add user as an Admin"}),e.jsx(O,{onCheckedChange:d=>m("isAdmin",!!d),...i("isAdmin",{value:!1}),id:o})]})]})}),e.jsxs(I,{className:"gap-[10px]",children:[e.jsx(H,{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 me({token:t,name:s}){return e.jsxs("div",{className:"space-y-5 overflow-hidden p-7 text-center",children:[e.jsx(ie,{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(se,{className:"mx-auto",code:t})]})}const ue=t=>l.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...t},l.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 he(t){const s=b(v.users.detail(t)),a=await C(s,{method:"DELETE",headers:{"Content-Type":"application/json"}});if(!a.ok){const r=await a.json().then(n=>n.detail).catch(()=>"Failed to delete User");throw new y({status:a.status,statusText:a.statusText,message:r})}return a.json()}function xe(t){return N({mutationFn:async s=>he(s),...t})}function pe({userId:t,name:s}){const{toast:a}=w(),r=A(),{isPending:n,mutate:c}=xe({onSuccess(){r.invalidateQueries({queryKey:["users"]})},onError:i=>{i instanceof Error&&a({status:"error",emphasis:"subtle",icon:e.jsx(D,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:i.message,rounded:!0})}});function o(){c(t)}return e.jsxs(_,{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(B,{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(Z,{asChild:!0,children:e.jsx(h,{intent:"secondary",children:"Cancel"})}),e.jsx(q,{asChild:!0,children:e.jsx(h,{onClick:o,disabled:n,intent:"danger",children:"Delete"})})]})]})}function fe({userId:t,name:s}){const[a,r]=l.useState(!1),[n,c]=l.useState(!1),o=l.useRef(null),i=l.useRef(null);function x(){i.current=o.current}function p(m){if(m===!1){c(!1),setTimeout(()=>{r(m)},200);return}r(m)}return e.jsxs(V,{onOpenChange:c,open:n,children:[e.jsx(G,{ref:o,children:e.jsx(L,{className:"h-4 w-4 fill-theme-text-tertiary"})}),e.jsx(K,{hidden:a,onCloseAutoFocus:m=>{i.current&&(i.current.focus(),i.current=null,m.preventDefault())},align:"end",sideOffset:7,children:e.jsx(re,{onSelect:x,onOpenChange:p,triggerChildren:"Remove Member",icon:e.jsx(ue,{fill:"red"}),children:e.jsx(pe,{name:s,userId:t})})})]})}function ge({isAdmin:t}){return[{id:"name",accessorFn:s=>{var a;return{name:s.name,is_admin:!!((a=s.body)!=null&&a.is_admin)}},cell:({getValue:s})=>{const{name:a,is_admin:r}=s();return e.jsxs("div",{className:"flex",children:[e.jsx(Q,{username:a}),r&&e.jsx("div",{children:e.jsx(j,{className:"ml-2 capitalize",size:"xs",color:"purple",children:"Admin"})})]})},header:"User"},{accessorKey:"status",header:"Status",accessorFn:s=>{var a;return{status:(a=s.body)==null?void 0:a.active}},cell:({getValue:s})=>{const{status:a}=s();return e.jsx(j,{className:"capitalize",color:a?"green":"grey",children:a?"Active":"Inactive"})}},{id:"created",header:"Created",accessorFn:s=>{var a;return(a=s.body)==null?void 0:a.created},cell:({getValue:s})=>e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:e.jsx(te,{dateString:s()})})},...t?[{id:"actions",header:"",accessorFn:s=>({id:s.id,name:s.name}),meta:{width:"5%"},cell:({getValue:s})=>{const{id:a,name:r}=s();return e.jsx(fe,{name:r,userId:a})}}]:[]]}const g=1,je=u.object({page:u.coerce.number().min(g).optional().default(g).catch(g),name:u.string().optional(),operator:u.enum(["and","or"]).optional()});function Ce(){const[t]=ne(),{page:s,name:a,operator:r}=je.parse({page:t.get("page")||void 0,name:t.get("name")||void 0,operator:t.get("operator")||void 0});return{page:s,name:a,logical_operator:r}}function be(){var o,i;const t=Ce(),{data:s,isError:a}=J({params:{...t,sort_by:"desc:created"}},{throwOnError:!0}),{data:r,isPending:n,isError:c}=$();return a||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(Y,{searchParams:t}),((o=r.body)==null?void 0:o.is_admin)&&e.jsx(ce,{})]}),e.jsxs("div",{className:"flex flex-col items-center gap-5",children:[e.jsx("div",{className:"w-full",children:s?e.jsx(W,{columns:ge({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(ee,{searchParams:t,paginate:s}):e.jsx(f,{className:"h-[36px] w-[300px]"})]})]})}function Ue(){return e.jsxs(X,{className:"flex flex-col gap-4 p-5",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"Members"}),e.jsx(be,{})]})}export{Ue as default};
@@ -0,0 +1 @@
1
+ import{j as e}from"./@radix-Cdvw4jJ8.js";import{P as r,a as n,b as o,c as i,d as l,e as c}from"./ProCta-Dm5cWKpS.js";import{C as m}from"./CodeSnippet-D2HkkAGr.js";import{b as d}from"./index-BFqbGSck.js";import{f}from"./@react-router-DeDfXbUF.js";import"./check-B9QMTa3f.js";import"./@tanstack-5gTMR7G2.js";import"./@reactflow-8OCk19Fi.js";const u="/assets/acp-DOsXjFc7.webp";function x(){const[a]=f(),t=a.get("artifact");function s(){return t?`zenml artifact list --name='contains:${t}'`:"zenml artifact list"}return e.jsxs(d,{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(m,{code:s()})]})}function S(){return e.jsxs("div",{className:"layout-container space-y-5 py-5",children:[e.jsxs(r,{className:"relative overflow-y-hidden",children:[e.jsxs("div",{className:"w-full max-w-none space-y-5 lg:max-w-[900px]",children:[e.jsx(n,{children:"Advanced Artifact Management Features with ZenML Pro"}),e.jsx(o,{}),e.jsx(i,{features:[{title:"Artifact Control Plane Dashboard",subtitle:"Artifact management and monitoring"},{title:"Enterprise Security",subtitle:"Social SSO, RBAC, and User Management"},{title:"Managed ZenML Server",subtitle:"On your VPC or hosted on our infrastructure"},{title:"Advanced MLOps",subtitle:"CI/CD/CT, Model Control Plane and more"}]}),e.jsx(l,{})]}),e.jsx(c,{className:"absolute translate-x-[30%] translate-y-[15%] scale-[40%]",src:u,alt:"Screenshot of the ZenML Pro Artifact Control Plane"})]}),e.jsx(x,{})]})}export{S as default};
@@ -0,0 +1 @@
1
+ import{r as p,j as t}from"./@radix-Cdvw4jJ8.js";import{u as F,W as Ue,L as Ze}from"./LeftSideMenu-DCsKdIjC.js";import{W as O,H as D,B as M}from"./Wizard-Dg8Pmn5A.js";import{t as q}from"./zod-XdS2h1ws.js";import{z as y,g as G,L as Ke,I as ge,B as E,aO as Ie,aU as Qe,aV as Ye,aW as Ge,aX as Xe,ar as Je,aY as et,as as tt,au as rt,aw as st,aM as nt,m as ot,V as it,f as at,i as ct,F as lt,j as ut,a as Oe,S as dt,aj as ft,ak as mt,ai as ht,r as xt}from"./index-BFqbGSck.js";import{a as v,C as k,u as W,F as $}from"./index.esm-DhJo3mA6.js";import{S as R}from"./WizardFooter-BcNDIvlQ.js";import{C as je}from"./ComponentIcon-CbbOc7lb.js";import{R as U,a as Z,s as pt,u as yt}from"./create-stack-TKmMtrkQ.js";import{f as gt}from"./index-U992soPJ.js";import{b as X,c as jt,k as De,h as _t}from"./@tanstack-5gTMR7G2.js";import{g as vt,S as St}from"./StackName-ojLC6xdl.js";import{S as Ct}from"./transform-CeZdrxDZ.js";import{C as L}from"./ProviderIcon-DPwMR6nF.js";import{g as bt,a as wt,D as Nt,b as Pt,z as Ft}from"./form-DFJkaFDX.js";import{s as kt}from"./sharedSchema-BXzg0EZz.js";import{S as zt}from"./Lock-CrIAdQo6.js";import{T as _e}from"./Tick-BPrWnNlN.js";import{s as Me}from"./index-BjUu1mP4.js";import{C as oe,P as ie}from"./ProviderRadio-DEDNRgAb.js";import{C as At}from"./ComponentBadge-CDgdd0Ks.js";import{e as It}from"./components-Br2ezRib.js";import{L as Ot}from"./@react-router-DeDfXbUF.js";import"./@reactflow-8OCk19Fi.js";import"./layout-DBbfEFBe.js";import"./persist-Dec_w7aB.js";import"./gcp-B1I3Qvcx.js";import"./plus-Cl0_rCVF.js";import"./trash-DP6Tpp_E.js";import"./type-guards-CNgPYg8l.js";import"./index.es-C1gfATPn.js";import"./check-B9QMTa3f.js";import"./stack-detail-query-Cm0fsgo-.js";const Ee=p.createContext(null);function Dt({children:e}){const[r,s]=p.useState({stackName:null,createdStackId:null,connectorConfig:null,fullstackResources:null,artifactStoreConfig:null,registryConfig:null,orchestratorConfig:null});return t.jsx(Ee.Provider,{value:{data:r,setData:s},children:e})}function S(){const e=p.useContext(Ee);if(e===null)throw new Error("useExistingInfraContext must be used within an ExistingInfraProvider");return e}const Re=p.createContext(null);function be({children:e,initialSchema:r}){const[s,n]=p.useState(r),[o,a]=p.useState({});return t.jsx(Re.Provider,{value:{schema:s,setSchema:n,defaultValues:o,setDefaultValues:a},children:e})}function J(){const e=p.useContext(Re);if(!e)throw new Error("useSchemaContext must be used within a SchemaProvider");return e}const Mt=y.object({resourceId:y.string().min(1),flavor:y.string()});function Et(){return t.jsxs("div",{className:"space-y-1",children:[t.jsxs("p",{className:"flex items-center gap-1 text-text-lg font-semibold",children:[t.jsx(je,{type:"artifact_store",className:"h-5 w-5 fill-primary-400"}),"Select your Artifact Store"]}),t.jsx("p",{className:"text-theme-text-secondary",children:"Choose one of the storages for the new Artifact Store."})]})}var Le=Symbol.for("immer-nothing"),we=Symbol.for("immer-draftable"),g=Symbol.for("immer-state");function _(e,...r){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var z=Object.getPrototypeOf;function A(e){return!!e&&!!e[g]}function N(e){var r;return e?Te(e)||Array.isArray(e)||!!e[we]||!!((r=e.constructor)!=null&&r[we])||te(e)||re(e):!1}var Rt=Object.prototype.constructor.toString();function Te(e){if(!e||typeof e!="object")return!1;const r=z(e);if(r===null)return!0;const s=Object.hasOwnProperty.call(r,"constructor")&&r.constructor;return s===Object?!0:typeof s=="function"&&Function.toString.call(s)===Rt}function K(e,r){ee(e)===0?Reflect.ownKeys(e).forEach(s=>{r(s,e[s],e)}):e.forEach((s,n)=>r(n,s,e))}function ee(e){const r=e[g];return r?r.type_:Array.isArray(e)?1:te(e)?2:re(e)?3:0}function de(e,r){return ee(e)===2?e.has(r):Object.prototype.hasOwnProperty.call(e,r)}function Ve(e,r,s){const n=ee(e);n===2?e.set(r,s):n===3?e.add(s):e[r]=s}function Lt(e,r){return e===r?e!==0||1/e===1/r:e!==e&&r!==r}function te(e){return e instanceof Map}function re(e){return e instanceof Set}function w(e){return e.copy_||e.base_}function fe(e,r){if(te(e))return new Map(e);if(re(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const s=Te(e);if(r===!0||r==="class_only"&&!s){const n=Object.getOwnPropertyDescriptors(e);delete n[g];let o=Reflect.ownKeys(n);for(let a=0;a<o.length;a++){const l=o[a],u=n[l];u.writable===!1&&(u.writable=!0,u.configurable=!0),(u.get||u.set)&&(n[l]={configurable:!0,writable:!0,enumerable:u.enumerable,value:e[l]})}return Object.create(z(e),n)}else{const n=z(e);if(n!==null&&s)return{...e};const o=Object.create(n);return Object.assign(o,e)}}function ve(e,r=!1){return se(e)||A(e)||!N(e)||(ee(e)>1&&(e.set=e.add=e.clear=e.delete=Tt),Object.freeze(e),r&&Object.entries(e).forEach(([s,n])=>ve(n,!0))),e}function Tt(){_(2)}function se(e){return Object.isFrozen(e)}var Vt={};function P(e){const r=Vt[e];return r||_(0,e),r}var T;function Be(){return T}function Bt(e,r){return{drafts_:[],parent_:e,immer_:r,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function Ne(e,r){r&&(P("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=r)}function me(e){he(e),e.drafts_.forEach(qt),e.drafts_=null}function he(e){e===T&&(T=e.parent_)}function Pe(e){return T=Bt(T,e)}function qt(e){const r=e[g];r.type_===0||r.type_===1?r.revoke_():r.revoked_=!0}function Fe(e,r){r.unfinalizedDrafts_=r.drafts_.length;const s=r.drafts_[0];return e!==void 0&&e!==s?(s[g].modified_&&(me(r),_(4)),N(e)&&(e=Q(r,e),r.parent_||Y(r,e)),r.patches_&&P("Patches").generateReplacementPatches_(s[g].base_,e,r.patches_,r.inversePatches_)):e=Q(r,s,[]),me(r),r.patches_&&r.patchListener_(r.patches_,r.inversePatches_),e!==Le?e:void 0}function Q(e,r,s){if(se(r))return r;const n=r[g];if(!n)return K(r,(o,a)=>ke(e,n,r,o,a,s)),r;if(n.scope_!==e)return r;if(!n.modified_)return Y(e,n.base_,!0),n.base_;if(!n.finalized_){n.finalized_=!0,n.scope_.unfinalizedDrafts_--;const o=n.copy_;let a=o,l=!1;n.type_===3&&(a=new Set(o),o.clear(),l=!0),K(a,(u,f)=>ke(e,n,o,u,f,s,l)),Y(e,o,!1),s&&e.patches_&&P("Patches").generatePatches_(n,s,e.patches_,e.inversePatches_)}return n.copy_}function ke(e,r,s,n,o,a,l){if(A(o)){const u=a&&r&&r.type_!==3&&!de(r.assigned_,n)?a.concat(n):void 0,f=Q(e,o,u);if(Ve(s,n,f),A(f))e.canAutoFreeze_=!1;else return}else l&&s.add(o);if(N(o)&&!se(o)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;Q(e,o),(!r||!r.scope_.parent_)&&typeof n!="symbol"&&Object.prototype.propertyIsEnumerable.call(s,n)&&Y(e,o)}}function Y(e,r,s=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&ve(r,s)}function Wt(e,r){const s=Array.isArray(e),n={type_:s?1:0,scope_:r?r.scope_:Be(),modified_:!1,finalized_:!1,assigned_:{},parent_:r,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let o=n,a=Se;s&&(o=[n],a=V);const{revoke:l,proxy:u}=Proxy.revocable(o,a);return n.draft_=u,n.revoke_=l,u}var Se={get(e,r){if(r===g)return e;const s=w(e);if(!de(s,r))return $t(e,s,r);const n=s[r];return e.finalized_||!N(n)?n:n===ae(e.base_,r)?(ce(e),e.copy_[r]=pe(n,e)):n},has(e,r){return r in w(e)},ownKeys(e){return Reflect.ownKeys(w(e))},set(e,r,s){const n=qe(w(e),r);if(n!=null&&n.set)return n.set.call(e.draft_,s),!0;if(!e.modified_){const o=ae(w(e),r),a=o==null?void 0:o[g];if(a&&a.base_===s)return e.copy_[r]=s,e.assigned_[r]=!1,!0;if(Lt(s,o)&&(s!==void 0||de(e.base_,r)))return!0;ce(e),xe(e)}return e.copy_[r]===s&&(s!==void 0||r in e.copy_)||Number.isNaN(s)&&Number.isNaN(e.copy_[r])||(e.copy_[r]=s,e.assigned_[r]=!0),!0},deleteProperty(e,r){return ae(e.base_,r)!==void 0||r in e.base_?(e.assigned_[r]=!1,ce(e),xe(e)):delete e.assigned_[r],e.copy_&&delete e.copy_[r],!0},getOwnPropertyDescriptor(e,r){const s=w(e),n=Reflect.getOwnPropertyDescriptor(s,r);return n&&{writable:!0,configurable:e.type_!==1||r!=="length",enumerable:n.enumerable,value:s[r]}},defineProperty(){_(11)},getPrototypeOf(e){return z(e.base_)},setPrototypeOf(){_(12)}},V={};K(Se,(e,r)=>{V[e]=function(){return arguments[0]=arguments[0][0],r.apply(this,arguments)}});V.deleteProperty=function(e,r){return V.set.call(this,e,r,void 0)};V.set=function(e,r,s){return Se.set.call(this,e[0],r,s,e[0])};function ae(e,r){const s=e[g];return(s?w(s):e)[r]}function $t(e,r,s){var o;const n=qe(r,s);return n?"value"in n?n.value:(o=n.get)==null?void 0:o.call(e.draft_):void 0}function qe(e,r){if(!(r in e))return;let s=z(e);for(;s;){const n=Object.getOwnPropertyDescriptor(s,r);if(n)return n;s=z(s)}}function xe(e){e.modified_||(e.modified_=!0,e.parent_&&xe(e.parent_))}function ce(e){e.copy_||(e.copy_=fe(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var Ht=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(r,s,n)=>{if(typeof r=="function"&&typeof s!="function"){const a=s;s=r;const l=this;return function(f=a,...d){return l.produce(f,c=>s.call(this,c,...d))}}typeof s!="function"&&_(6),n!==void 0&&typeof n!="function"&&_(7);let o;if(N(r)){const a=Pe(this),l=pe(r,void 0);let u=!0;try{o=s(l),u=!1}finally{u?me(a):he(a)}return Ne(a,n),Fe(o,a)}else if(!r||typeof r!="object"){if(o=s(r),o===void 0&&(o=r),o===Le&&(o=void 0),this.autoFreeze_&&ve(o,!0),n){const a=[],l=[];P("Patches").generateReplacementPatches_(r,o,a,l),n(a,l)}return o}else _(1,r)},this.produceWithPatches=(r,s)=>{if(typeof r=="function")return(l,...u)=>this.produceWithPatches(l,f=>r(f,...u));let n,o;return[this.produce(r,s,(l,u)=>{n=l,o=u}),n,o]},typeof(e==null?void 0:e.autoFreeze)=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof(e==null?void 0:e.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){N(e)||_(8),A(e)&&(e=Ut(e));const r=Pe(this),s=pe(e,void 0);return s[g].isManual_=!0,he(r),s}finishDraft(e,r){const s=e&&e[g];(!s||!s.isManual_)&&_(9);const{scope_:n}=s;return Ne(n,r),Fe(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,r){let s;for(s=r.length-1;s>=0;s--){const o=r[s];if(o.path.length===0&&o.op==="replace"){e=o.value;break}}s>-1&&(r=r.slice(s+1));const n=P("Patches").applyPatches_;return A(e)?n(e,r):this.produce(e,o=>n(o,r))}};function pe(e,r){const s=te(e)?P("MapSet").proxyMap_(e,r):re(e)?P("MapSet").proxySet_(e,r):Wt(e,r);return(r?r.scope_:Be()).drafts_.push(s),s}function Ut(e){return A(e)||_(10,e),We(e)}function We(e){if(!N(e)||se(e))return e;const r=e[g];let s;if(r){if(!r.modified_)return r.base_;r.finalized_=!0,s=fe(e,r.scope_.immer_.useStrictShallowCopy_)}else s=fe(e,!0);return K(s,(n,o)=>{Ve(s,n,We(o))}),r&&(r.finalized_=!1),s}var j=new Ht,I=j.produce;j.produceWithPatches.bind(j);j.setAutoFreeze.bind(j);j.setUseStrictShallowCopy.bind(j);j.applyPatches.bind(j);j.createDraft.bind(j);j.finishDraft.bind(j);function Zt(){const{data:e,setData:r}=S(),{setCurrentStep:s}=F();if(!e.fullstackResources)return s(2),{handleFormSubmit:()=>{},flattenedInstances:[]};const n=e.fullstackResources.components_resources_info.artifact_store,o=n.flatMap(l=>l.accessible_by_service_connector.map(u=>({...l,value:u})));function a({flavor:l,resourceId:u}){const f=n.find(d=>d.flavor===l);f&&(r(d=>I(d,c=>{c.artifactStoreConfig={flavor:l,configuration:Object.fromEntries(Object.keys(f.required_configuration||{}).map(h=>[h,u])),service_connector_resource_id:u}})),s(d=>d+1))}return{handleFormSubmit:a,flattenedInstances:o}}function B({flavor:e,type:r,width:s=32,height:n=32,...o}){var l;const a=X({...gt.flavorList({name:e,type:r})});return a.isError?null:a.isPending?t.jsx(G,{style:{height:`${n}px`,width:`${s}px`}}):t.jsx("img",{width:s,height:n,alt:`${e} logo`,...o,src:Ke(((l=a.data.items[0].body)==null?void 0:l.logo_url)??"")})}const Kt="artifact_store";function Qt(){const[e,r]=p.useState(""),{control:s,setValue:n,handleSubmit:o,register:a,watch:l,trigger:u,reset:f}=v(),{flattenedInstances:d,handleFormSubmit:c}=Zt(),h=d.filter(i=>i.value.toLocaleLowerCase().includes(e.toLocaleLowerCase()));return t.jsxs(t.Fragment,{children:[t.jsx(ge,{placeholder:"Search...",onChange:i=>{f(),r(i.target.value)}}),t.jsxs("form",{onSubmit:o(c),id:"artifact-store-form",children:[t.jsx("input",{type:"hidden",...a("flavor")}),t.jsx("ul",{className:"space-y-1",children:h.map(i=>t.jsx("li",{children:t.jsx(k,{name:"resourceId",control:s,render:({field:{onChange:m,...x}})=>t.jsxs(U,{"data-state":l("resourceId")===i.value?"selected":"unselected",htmlFor:i.value,children:[t.jsx(Z,{id:i.value,type:"radio",...x,onChange:C=>{n("flavor",i.flavor,{shouldValidate:!0,shouldDirty:!0,shouldTouch:!0}),m(C.target.value),u()},value:i.value,name:"connector-radio"}),t.jsx(B,{type:Kt,width:24,height:24,flavor:i.flavor})," ",t.jsx("span",{children:i.value})]})})},i.value))})]})]})}function Yt(){const e=W({resolver:q(Mt),shouldUnregister:!0});return t.jsx($,{...e,children:t.jsxs(O,{children:[t.jsx(D,{children:"Artifact Store"}),t.jsx(M,{children:t.jsxs("section",{className:"space-y-5 py-5 first:pt-0 last:pb-0",children:[t.jsx(Et,{}),t.jsx(Qt,{})]})}),t.jsx(R,{children:t.jsx(Gt,{})})]})})}function Gt(){const e=v();return t.jsx(E,{disabled:!e.formState.isValid,form:"artifact-store-form",size:"md",children:"Next"})}const $e=y.object({authMethod:y.string().min(1),stackName:kt});function Xt(){var h,i;const{data:e}=S(),{setCurrentStep:r}=F(),{control:s,watch:n,resetField:o}=v(),{setSchema:a,setDefaultValues:l}=J(),u=X({...Ie.serviceConnectorTypeDetail(((h=e.connectorConfig)==null?void 0:h.type)||"")});if(u.isError)return null;if(u.isPending)return t.jsx(G,{className:"h-[40px] w-[100px]"});const f=u.data.auth_methods.filter(m=>m.auth_method!=="implicit").map(m=>({name:m.name,auth_method:m.auth_method}));if(!((i=e.connectorConfig)!=null&&i.type)){r(1);return}function d(){var Ce;const m=n("authMethod"),x=(Ce=u.data)==null?void 0:Ce.auth_methods.find(ne=>ne.auth_method===m);if(!x)return;const C=x.config_schema,b=bt(C),He=wt(C);a($e.merge(b)),l(He),Object.keys(b.shape).forEach(ne=>o(ne))}const c=e.connectorConfig.type||"";return t.jsx(k,{control:s,name:"authMethod",render:({field:{onChange:m,ref:x,...C}})=>t.jsxs(Qe,{...C,onValueChange:b=>{m(b),d()},children:[t.jsx(Ye,{className:"w-fit border border-neutral-300 text-left text-text-md",children:t.jsx(Ge,{className:"flex items-center gap-2",placeholder:"Select your Auth Method"})}),t.jsx(Xe,{children:t.jsx(Je,{viewportClassName:"max-h-[300px]",children:f.map(b=>t.jsx(et,{className:"space-x-2",value:b.auth_method,children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(L,{provider:c}),t.jsx("div",{children:b.name})]})},b.auth_method))})})]})})}function Jt(){return t.jsxs("section",{className:"space-y-5 py-5 first:pt-0 last:pb-0",children:[t.jsxs("div",{className:"space-y-1",children:[t.jsxs("p",{className:"flex items-center gap-1 text-text-lg font-semibold",children:[t.jsx(Ct,{className:"h-5 w-5 fill-primary-400"}),"Select an Authentication Method"]}),t.jsx("p",{className:"text-theme-text-secondary",children:"Connect ZenML to your resources for seamless integration of cloud services into your ML pipelines."})]}),t.jsx(Xt,{})]})}function er(){return t.jsxs("section",{className:"space-y-5 py-5 first:pt-0 last:pb-0",children:[t.jsxs("div",{className:"space-y-1",children:[t.jsxs("p",{className:"flex items-center gap-1 text-text-lg font-semibold",children:[t.jsx(zt,{className:"h-5 w-5 fill-primary-400"}),"Add your Configuration"]}),t.jsx("p",{className:"text-theme-text-secondary",children:"Your credentials are securely stored and encrypted. ZenML uses these credentials to interact with your resources."})]}),t.jsx(tr,{})]})}function tr(){var c,h;const{data:e}=S(),{watch:r}=v(),s=X({...Ie.serviceConnectorTypeDetail(((c=e.connectorConfig)==null?void 0:c.type)||"")}),n=r("authMethod"),o=(h=s.data)==null?void 0:h.auth_methods.find(i=>i.auth_method===n);if(s.isError)return null;if(s.isPending)return t.jsx(G,{className:"h-[200px] w-full"});if(!o)return null;const a=o.config_schema,l=a.properties||{},u=a.required||[],f=a.$defs,d=Object.entries(l).sort(([i],[m])=>u.includes(i)&&!u.includes(m)?-1:!u.includes(i)&&u.includes(m)?1:0);return t.jsx("div",{className:"space-y-5",children:d.map(([i,m])=>t.jsx(Nt,{definitions:f,isOptional:Pt(i,u),name:i,schema:m},i))})}function rr({open:e,loadingComponents:r}){var n,o;const{data:s}=S();return(n=s.connectorConfig)!=null&&n.type?t.jsx(tt,{open:e,children:t.jsxs(rt,{onPointerDownOutside:a=>a.preventDefault(),onEscapeKeyDown:a=>a.preventDefault(),className:"max-w-[600px]",children:[t.jsx("div",{className:"flex items-center justify-between border-b border-theme-border-moderate py-2 pl-5 pr-3",children:t.jsx(st,{className:"text-text-lg",children:"Connecting and loading your components..."})}),t.jsxs("div",{className:"flex h-[200px] items-center justify-center gap-5 bg-primary-50",children:[t.jsx(nt,{className:"h-[60px] w-[60px]"}),t.jsx("div",{className:"flex h-[60px] w-[60px] items-center justify-center",children:t.jsx(ot,{className:"h-5 w-5 fill-theme-text-tertiary"})}),t.jsx(L,{className:"h-[60px] w-[60px]",provider:s.connectorConfig.type})]}),t.jsxs("div",{className:"flex flex-col gap-1 px-7 pb-6 pt-5",children:[t.jsxs("p",{className:"text-theme-text-secondary",children:["We're securely connecting to ",vt(((o=s.connectorConfig)==null?void 0:o.type)||"aws")," ","and retrieving your custom components. This process typically takes about 30-60 seconds."]}),t.jsx(sr,{loadingComponents:r})]})]})}):null}function sr({loadingComponents:e}){const[r,s]=p.useState(!0),[n,o]=p.useState(!0);return p.useEffect(()=>{const a=setTimeout(()=>{s(!1)},Math.floor(Math.random()*1e3)+500),l=setTimeout(()=>{o(!1)},1500);return()=>{clearTimeout(a),clearTimeout(l)}},[]),t.jsxs("ul",{className:"mt-3 space-y-3 text-theme-text-secondary",children:[t.jsxs(ue,{children:[t.jsx(le,{loading:r}),"Establishing a secure connection"]}),t.jsxs(ue,{children:[t.jsx(le,{loading:n}),"Authenticating your account"]}),t.jsxs(ue,{children:[t.jsx(le,{loading:e}),"Fetching your existing components"]})]})}function le({loading:e}){return e?t.jsx(it,{className:"h-5 w-5 border-2"}):t.jsx(_e,{className:"h-5 w-5",tickClasses:"w-3 h-3"})}function ue({children:e}){return t.jsx("li",{className:"flex items-center gap-1",children:e})}async function nr({payload:e}){const r=ct(ut.serviceConnectors.fullStackResources),s=await at(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!s.ok){const n=await s.json().then(o=>Array.isArray(o.detail)?o.detail[1]:o.detail).catch(()=>"Error while fetching service connector type");throw new lt({status:s.status,statusText:s.statusText,message:n})}return s.json()}function or(e){return jt({...e,mutationFn:async({payload:r})=>nr({payload:r})})}function ir(){const{setCurrentStep:e}=F(),[r,s]=p.useState(!0),{toast:n}=Oe(),{setData:o,data:a}=S(),l=or({onSuccess:async f=>{o(d=>I(d,c=>{c.fullstackResources=f})),s(!1),await pt(200),e(d=>d+1)},onError:f=>{n({status:"error",emphasis:"subtle",description:f.message,rounded:!0})}});return{handleFormSubmit:({authMethod:f,stackName:d,...c})=>{Object.keys(c).forEach(i=>{(c[i]===""||c[i]===null||c[i]===void 0||Array.isArray(c[i])&&c[i].length===0)&&delete c[i]});const h=I(a,i=>{i.stackName=d,i.connectorConfig&&(i.connectorConfig.auth_method=f,i.connectorConfig.configuration={...c})});o(h),h.connectorConfig&&l.mutate({payload:h.connectorConfig})},fullStackResources:l,loadingComponents:r}}function ar(){const{handleSubmit:e,formState:{isSubmitting:r}}=v(),{handleFormSubmit:s,fullStackResources:n,loadingComponents:o}=ir();return t.jsxs("form",{onSubmit:e(s),id:"connect-form",children:[t.jsx(rr,{loadingComponents:o,open:r||n.isPending}),t.jsx(Jt,{}),t.jsx(St,{}),t.jsx(er,{})]})}function cr(){const{schema:e,defaultValues:r}=J(),s=W({shouldUnregister:!0,mode:"onChange",resolver:q(e),defaultValues:{stackName:"",authMethod:"",...r}});return t.jsx($,{...s,children:t.jsxs(O,{children:[t.jsx(D,{children:"Connect to your Cloud"}),t.jsx(M,{children:t.jsx(ar,{})}),t.jsx(R,{children:t.jsx(lr,{})})]})})}function lr(){const{formState:{isValid:e,isSubmitting:r}}=v(),s=!!De();return t.jsx(E,{className:"justify-center gap-2",disabled:!e||s||r,form:"connect-form",size:"md",children:s||r?"Loading...":"Next"})}function ur(){const{data:e,setData:r}=S(),s=_t(),{toast:n}=Oe(),{setCurrentStep:o}=F(),{mutate:a}=yt({onError:d=>{d instanceof Error&&n({status:"error",emphasis:"subtle",icon:t.jsx(dt,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:d.message,rounded:!0})},onSuccess:async d=>{r(c=>I(c,h=>{h.createdStackId=d.id})),o(c=>c+1),s.invalidateQueries({queryKey:Me.all})}});if(!e.fullstackResources)return o(2),{handleFormSubmit:()=>{},flattenedInstances:[]};const l=e.fullstackResources.components_resources_info.container_registry,u=l.flatMap(d=>d.accessible_by_service_connector.map(c=>({...d,value:c})));function f({flavor:d,resourceId:c}){const h=l.find(m=>m.flavor===d);if(!h)return;const i=I(e,m=>{m.registryConfig={flavor:d,configuration:Object.fromEntries(Object.keys(h.required_configuration||{}).map(x=>[x,c])),service_connector_resource_id:c}});r(i),a({payload:{name:i.stackName||Math.random().toString(36).substring(7),service_connectors:i.connectorConfig?[i.connectorConfig]:[],components:{orchestrator:[{...i.orchestratorConfig,service_connector_index:0}],artifact_store:[{...i.artifactStoreConfig,service_connector_index:0}],container_registry:[{...i.registryConfig,service_connector_index:0}]}}})}return{handleFormSubmit:f,flattenedInstances:u}}const dr="container_registry";function fr(){const[e,r]=p.useState(""),{control:s,setValue:n,handleSubmit:o,register:a,watch:l,trigger:u,reset:f}=v(),{flattenedInstances:d,handleFormSubmit:c}=ur(),h=d.filter(i=>i.value.toLocaleLowerCase().includes(e.toLocaleLowerCase()));return t.jsxs(t.Fragment,{children:[t.jsx(ge,{placeholder:"Search...",onChange:i=>{f(),r(i.target.value)}}),t.jsxs("form",{onSubmit:o(c),id:"artifact-store-form",children:[t.jsx("input",{type:"hidden",...a("flavor")}),t.jsx("ul",{className:"space-y-1",children:h.map(i=>t.jsx("li",{children:t.jsx(k,{name:"resourceId",control:s,render:({field:{onChange:m,...x}})=>t.jsxs(U,{"data-state":l("resourceId")===i.value?"selected":"unselected",htmlFor:i.value,children:[t.jsx(Z,{id:i.value,type:"radio",...x,onChange:C=>{n("flavor",i.flavor,{shouldValidate:!0,shouldDirty:!0,shouldTouch:!0}),m(C.target.value),u()},value:i.value,name:"connector-radio"}),t.jsx(B,{width:24,height:24,type:dr,flavor:i.flavor})," ",t.jsx("span",{children:i.value})]})})},i.value))})]})]})}function mr(){return t.jsx("section",{className:"space-y-5 py-5 first:pt-0 last:pb-0",children:t.jsxs("div",{className:"space-y-1",children:[t.jsxs("p",{className:"flex items-center gap-1 text-text-lg font-semibold",children:[t.jsx(je,{type:"container_registry",className:"h-5 w-5 fill-primary-400"}),"Select your Container Registry"]}),t.jsx("p",{className:"text-theme-text-secondary",children:"Select one of the Container Registries for your new stack"})]})})}const hr=y.object({flavor:y.string().min(1),resourceId:y.string().min(1)});function xr(){const e=W({resolver:q(hr),shouldUnregister:!0});return t.jsx($,{...e,children:t.jsxs(O,{children:[t.jsx(D,{children:"Container Registry"}),t.jsx(M,{children:t.jsxs("section",{className:"space-y-5 py-5 first:pt-0 last:pb-0",children:[t.jsx(mr,{}),t.jsx(fr,{})]})}),t.jsx(R,{children:t.jsx(pr,{})})]})})}function pr(){const e=v(),r=!!De();return t.jsxs(E,{className:"justify-center gap-2",disabled:!e.formState.isValid||r,form:"artifact-store-form",size:"md",children:[r&&t.jsx("div",{role:"alert","aria-busy":"true",className:"full h-[20px] w-[20px] animate-spin rounded-rounded border-2 border-theme-text-negative border-b-theme-text-brand"}),r?"Loading...":"Next"]})}function yr(){var a;const{data:e,setData:r}=S(),{setCurrentStep:s}=F();if(!e.fullstackResources)return s(2),{orchestrators:[],handleFormSubmit:()=>{}};const n=((a=e.fullstackResources.components_resources_info)==null?void 0:a.orchestrator)||[];function o({flavor:l,resourceId:u,...f}){const d=n.find(c=>c.flavor===l);d&&(r(c=>{const h=d!=null&&d.use_resource_value_as_fixed_config?Object.fromEntries(Object.keys(d.required_configuration||{}).map(i=>[i,u])):{...f};return I(c,i=>{i.orchestratorConfig={flavor:l,configuration:h,service_connector_resource_id:u}})}),s(c=>c+1))}return{orchestrators:n,handleFormSubmit:o}}const ye=y.object({flavor:y.string().min(1),resourceId:y.string().min(1)}),H="kubernetes",ze="orchestrator";function gr(){const{orchestrators:e,handleFormSubmit:r}=yr(),{setSchema:s}=J(),{control:n,watch:o,setValue:a,register:l,reset:u,handleSubmit:f}=v(),d=o("flavor");return t.jsxs("form",{onSubmit:f(r),id:"artifact-store-form",children:[d!==H&&t.jsx("input",{...l("resourceId"),type:"hidden"}),t.jsx("ul",{className:"space-y-1",children:e.map((c,h)=>t.jsxs("li",{children:[t.jsx(k,{control:n,name:"flavor",render:({field:{onChange:i,...m}})=>t.jsxs(U,{"data-state":d===c.flavor?"selected":"unselected",htmlFor:c.flavor,children:[t.jsx(Z,{onChange:x=>{u({flavor:c.flavor}),c.use_resource_value_as_fixed_config===!0&&s(ye),c.use_resource_value_as_fixed_config===!1&&c.required_configuration&&s(ye.merge(Ft(c.required_configuration))),c.flavor!==H&&c.accessible_by_service_connector.length>0&&a("resourceId",c.accessible_by_service_connector[0]),i(x)},...m,id:c.flavor,type:"radio",value:c.flavor,name:"orchestrator-flavor-radio"}),t.jsx(B,{width:24,height:24,type:ze,flavor:c.flavor}),t.jsx("span",{children:c.flavor_display_name})]})}),d===c.flavor&&(c.flavor===H||c.use_resource_value_as_fixed_config===!1)&&t.jsxs("div",{className:"space-y-3 py-5 pl-8",children:[c.flavor===H&&t.jsx("ul",{className:"space-y-1",children:c.accessible_by_service_connector.map(i=>t.jsx("li",{children:t.jsx(k,{control:n,name:"resourceId",render:({field:m})=>t.jsxs(U,{"data-state":o("resourceId")===i?"selected":"unselected",htmlFor:i,children:[t.jsx(Z,{...m,id:i,type:"radio",value:i,name:"instance-radio"}),t.jsx(B,{type:ze,width:24,height:24,flavor:c.flavor}),t.jsx("span",{children:i})]})})},i))}),c.use_resource_value_as_fixed_config===!1&&c.required_configuration&&Object.keys(c.required_configuration).length>=1&&t.jsx("div",{children:Object.entries(c.required_configuration).map(([i,m])=>t.jsx("div",{children:t.jsx(k,{defaultValue:"",name:i,control:n,render:({field:x})=>t.jsxs("div",{children:[t.jsx("label",{htmlFor:i,className:"text-text-sm",children:m}),t.jsx(ge,{...x,inputSize:"md",required:!0,className:"w-full",id:i})]})})},i))})]})]},h))})]})}function jr(){return t.jsx("section",{className:"space-y-5 py-5 first:pt-0 last:pb-0",children:t.jsxs("div",{className:"space-y-1",children:[t.jsxs("p",{className:"flex items-center gap-1 text-text-lg font-semibold",children:[t.jsx(je,{type:"orchestrator",className:"h-5 w-5 fill-primary-400"}),"Select your Orchestrator"]}),t.jsx("p",{className:"text-theme-text-secondary",children:"Select one of the connected orchestrators for your new stack"})]})})}function _r(){const{schema:e}=J(),r=W({resolver:q(e),shouldUnregister:!0,defaultValues:{resourceId:""}});return t.jsx($,{...r,children:t.jsxs(O,{children:[t.jsx(D,{children:"Orchestrator"}),t.jsxs(M,{children:[t.jsx(jr,{}),t.jsx(gr,{})]}),t.jsx(R,{children:t.jsx(vr,{})})]})})}function vr(){const e=v();return t.jsx(E,{disabled:!e.formState.isValid,form:"artifact-store-form",size:"md",children:"Next"})}const Sr=y.object({provider:y.string().min(1)});function Cr(){var a;const{setData:e,data:r}=S(),{setCurrentStep:s}=F(),n=W({resolver:q(Sr),defaultValues:{provider:((a=r.connectorConfig)==null?void 0:a.type)||""}});function o(l){e(u=>({...u,connectorConfig:{type:l.provider,auth_method:""}})),s(u=>u+1)}return t.jsx($,{...n,children:t.jsxs(O,{children:[t.jsx(D,{children:"Select Your Existing Cloud Infrastructure"}),t.jsx(M,{children:t.jsxs("div",{className:"space-y-5",children:[t.jsxs("div",{className:"space-y-1",children:[t.jsx("p",{className:"text-text-lg font-semibold",children:"Select a Cloud Provider"}),t.jsx("p",{className:"text-theme-text-secondary",children:"Select the cloud provider where you have existing infrastructure to connect with ZenML. This will allow you to integrate your current cloud resources with ZenML for model deployment and management."})]}),t.jsxs("form",{id:"provider-form",onSubmit:n.handleSubmit(o),className:"grid grid-cols-1 gap-3 xl:grid-cols-3",children:[t.jsx(oe,{id:"aws-provider",...n.register("provider"),value:"aws",children:t.jsx(ie,{icon:t.jsx(L,{provider:"aws",className:"h-6 w-6 shrink-0"}),title:"AWS",subtitle:"Connect your existing S3, ECR, and Sagemaker components to ZenML"})}),t.jsx(oe,{id:"gcp-provider",...n.register("provider"),value:"gcp",children:t.jsx(ie,{icon:t.jsx(L,{provider:"gcp",className:"h-6 w-6 shrink-0"}),title:"GCP",subtitle:"Link your GCS, Artifact Registry, and Vertex AI components to ZenML"})}),t.jsx(oe,{id:"azure-provider",...n.register("provider"),value:"azure",children:t.jsx(ie,{icon:t.jsx(L,{provider:"azure",className:"h-6 w-6 shrink-0"}),title:"Azure",subtitle:"Integrate ZenML with your Blob Storage, Container Registry, and Azure ML"})})]})]})}),t.jsx(R,{children:t.jsx(br,{})})]})})}function br(){const{formState:{isValid:e}}=v();return t.jsx(E,{form:"provider-form",disabled:!e,size:"md",children:"Next"})}function wr(){var o;const{data:e}=S(),r=X({...Me.stackDetail(e.createdStackId||""),throwOnError:!0});if(r.isError)return null;if(r.isPending)return t.jsx(G,{className:"h-[200px] w-full"});const s=r.data,n=It((o=r.data.metadata)==null?void 0:o.components);return t.jsxs(O,{children:[t.jsx(D,{children:"Your stack"}),t.jsx(M,{children:t.jsxs("div",{className:"space-y-5",children:[t.jsx("p",{className:"text-theme-text-secondary",children:"Here you can review the created stack and stack components. Now you can start running pipelines using this new configuration."}),t.jsxs("div",{className:"divide-y divide-theme-border-moderate overflow-hidden rounded-md border border-theme-border-moderate",children:[t.jsx(Pr,{stack:s}),n.map(a=>t.jsx(Fr,{component:a},a.id))]})]})}),t.jsx(R,{displayCancel:!1,children:t.jsx(Nr,{})})]})}function Nr(){return t.jsx(E,{size:"md",asChild:!0,children:t.jsx(Ot,{to:xt.stacks.overview,children:"Finish"})})}function Pr({stack:e}){return t.jsxs("div",{className:"flex items-center gap-3 bg-theme-surface-secondary p-5 font-semibold",children:[t.jsx(_e,{className:"h-5 w-5",tickClasses:"w-3 h-3"}),t.jsx(ft,{type:"square",size:"lg",children:t.jsx(mt,{size:"lg",children:e.name[0]})}),t.jsxs("div",{children:[t.jsx("p",{className:"text-text-lg",children:e.name}),t.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:e.id.split("-")[0]})]})]})}function Fr({component:e}){var r,s,n,o;return t.jsxs("div",{className:"flex items-center justify-between py-3 pl-9 pr-5",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx(_e,{className:"h-5 w-5",tickClasses:"w-3 h-3"}),t.jsx(B,{width:24,height:24,flavor:((r=e.body)==null?void 0:r.flavor_name)||"",type:((s=e.body)==null?void 0:s.type)||"orchestrator"}),t.jsxs("div",{children:[t.jsx("p",{className:"text-text-lg font-semibold",children:e.name}),t.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:e.id.split("-")[0]})]})]}),t.jsx(At,{type:((n=e.body)==null?void 0:n.type)||"alerter",children:ht((o=e.body)==null?void 0:o.type)})]},e.id)}function kr(){const{currentStep:e}=F();if(e===1)return t.jsx(Cr,{});if(e===2)return t.jsx(be,{initialSchema:$e,children:t.jsx(cr,{})});if(e===3)return t.jsx(Yt,{});if(e===4)return t.jsx(be,{initialSchema:ye,children:t.jsx(_r,{})});if(e===5)return t.jsx(xr,{});if(e===6)return t.jsx(wr,{})}const Ae=["Infrastructure Type","Cloud Provider","Connect your Cloud","Artifact Store","Orchestrator","Container Registry"];function us(){return t.jsx(Ue,{maxSteps:Ae.length+1,initialStep:1,children:t.jsx(Dt,{children:t.jsxs("section",{className:"layout-container flex flex-col gap-5 py-5 xl:flex-row",children:[t.jsx(Ze,{entries:Ae}),t.jsx("div",{className:"w-full",children:t.jsx(kr,{})})]})})})}export{us as default};
@@ -0,0 +1 @@
1
+ import{r as x,j as e}from"./@radix-Cdvw4jJ8.js";import{s as j,A as E,d as ae,u as re,b as C,a as B}from"./service-jxtvgks0.js";import{h as A,c as N,b as S}from"./@tanstack-5gTMR7G2.js";import{as as q,at as ie,B as f,au as _,av as z,aw as $,a as K,I as D,az as V,aA as H,aB as k,f as T,i as F,F as R,j as P,A as Q,k as oe,n as G,z as v,ay as L,T as ce,q as le,s as de,t as ue,g as b,D as me,l as xe,m as he,p as pe,an as fe,aC as ye,b2 as je,aD as ge,b3 as be,aF as Ae,C as I,b as U,x as ve,y as De,b7 as we,r as Ce,a3 as Ne}from"./index-BFqbGSck.js";import{P as Se,S as Ke}from"./SearchField-DY6-UbRT.js";import{t as Y}from"./zod-XdS2h1ws.js";import{u as J,C as w}from"./index.esm-DhJo3mA6.js";import{S as Z}from"./trash-DP6Tpp_E.js";import{c as ke,u as Te}from"./bulk-delete-C_kpIB9A.js";import{D as W,a as X}from"./DeleteAlertDialog-VIOMDLmx.js";import{S as ee}from"./key-icon-C07HKw8z.js";import{D as M}from"./DisplayDate-8RESqe5H.js";import{i as Fe,a as Re}from"./dates-Buh6SMo7.js";import{S as Pe}from"./refresh-BcTM09NW.js";import{A as Oe}from"./AlertDialogDropdownItem-CZW4QyWn.js";import{S as Ie}from"./info-QkbQz4QU.js";import{I as Me}from"./Infobox-CGxFvqzi.js";import{a as O}from"./@react-router-DeDfXbUF.js";import"./CodeSnippet-D2HkkAGr.js";import"./Tick-BPrWnNlN.js";import"./check-B9QMTa3f.js";import"./@reactflow-8OCk19Fi.js";import"./chevron-right-double-Dgp_gEsp.js";import"./index-DWpiv-Ft.js";function te({serviceAccountId:t,isFallback:s}){const n=A(),[i,a]=x.useState(!1),[r,o]=x.useState(""),u=!!r;function m(){return u?e.jsx(E,{value:r}):e.jsx(Ee,{isFallback:s,serviceAccountId:t,setApikeyValue:o})}return e.jsx(e.Fragment,{children:e.jsxs(q,{open:i,onOpenChange:l=>{s&&!l&&n.invalidateQueries({queryKey:j.apiKeysKey(t)}),a(l),o("")},children:[e.jsx(ie,{asChild:!0,children:e.jsx(f,{className:"shrink-0",intent:"primary",size:"sm",children:"Generate API Key"})}),e.jsxs(_,{"data-success":u,className:"mx-auto overflow-x-auto transition-none data-[success=true]:max-w-[800px]",children:[e.jsx(z,{children:e.jsx($,{children:u?"API Key Created Successfully":"Generate API Key"})}),m()]})]})})}function Ee({serviceAccountId:t,setApikeyValue:s,isFallback:n}){const{toast:i}=K(),a=A(),{handleSubmit:r,control:o,formState:{isValid:u},reset:m}=J({resolver:Y(ae),defaultValues:{name:"",description:""}}),{mutate:l}=re({onError(c){k(c)&&i({status:"error",emphasis:"subtle",description:c.message,rounded:!0})},onSuccess(c){var y;n||a.invalidateQueries({queryKey:j.apiKeysKey(t)}),s(((y=c.body)==null?void 0:y.key)||""),m()}});function d(c){l({serviceAccountId:t,body:{name:c.name,description:c.description}})}return e.jsxs(e.Fragment,{children:[e.jsxs("form",{id:"create-secret-form",className:"space-y-5 p-7",onSubmit:r(d),children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("label",{className:"font-inter text-sm text-left font-medium leading-5",children:"Name:"}),e.jsx(w,{name:"name",control:o,render:({field:c})=>e.jsx(D,{...c,className:"w-full",required:!0,placeholder:"Add name"})})]}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("label",{className:"font-inter text-sm text-left font-medium leading-5",children:"Description:"}),e.jsx(w,{name:"description",control:o,render:({field:c})=>e.jsx(D,{...c,className:"w-full",placeholder:"Add description"})})]})]}),e.jsxs(V,{className:"gap-[10px]",children:[e.jsx(H,{asChild:!0,children:e.jsx(f,{size:"sm",intent:"secondary",children:"Cancel"})}),e.jsx(f,{intent:"primary",disabled:!u,type:"submit",form:"create-secret-form",children:"Generate Key"})]})]})}async function Be(t,s){const n=F(P.serviceAccounts.apiKeys.detail(t,s)),i=await T(n,{method:"DELETE",headers:{"Content-Type":"application/json"}});if(!i.ok){const a=await i.json().then(r=>Array.isArray(r.detail)?r.detail[1]:r.detail).catch(()=>`Failed to delete api key ${s}`);throw new R({status:i.status,statusText:i.statusText,message:a})}return i.json()}function qe(t){return N({...t,mutationFn:async({serviceAccountId:s,apiKeyId:n})=>{await Be(s,n)}})}const{ContextProvider:_e,useContext:g}=ke();function se(t){const{setRowSelection:s}=g(),{mutateAsync:n}=qe();async function i(a){await n({serviceAccountId:t,apiKeyId:a})}return Te({deleteFn:i,queryKeyToInvalidate:j.serviceAccountsKey(),setRowSelection:s})}function ze({serviceAccountId:t}){const[s,n]=x.useState(!1),{bulkDelete:i}=se(t),{selectedRowIDs:a,selectedRowCount:r}=g();async function o(){await i(a),n(!1)}return e.jsxs(Q,{open:s,onOpenChange:n,children:[e.jsx(oe,{asChild:!0,children:e.jsxs(f,{className:"rounded-sharp border-y-0 bg-white",size:"md",emphasis:"subtle",intent:"secondary",children:[e.jsx(Z,{className:"h-5 w-5 shrink-0 gap-1 fill-neutral-400"}),"Delete"]})}),e.jsx(W,{title:`Delete Api Key${r>=2?"s":""}`,handleDelete:o,children:e.jsxs(X,{children:[e.jsx("p",{children:"Are you sure?"}),e.jsx("p",{children:"This action cannot be undone."})]})})]})}function $e({serviceAccountId:t}){const{selectedRowCount:s}=g();return e.jsxs("div",{className:"flex items-center divide-x divide-theme-border-moderate overflow-hidden rounded-md border border-theme-border-moderate",children:[e.jsx("div",{className:"bg-primary-25 px-2 py-1 font-semibold text-theme-text-brand",children:`${s} Api Key${s>1?"s":""} selected`}),e.jsx(ze,{serviceAccountId:t})]})}async function Ve({apiKeyId:t,body:s,serviceAccountId:n}){const i=F(P.serviceAccounts.apiKeys.rotate(n,t)),a=await T(i,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)});if(a.status===404&&G(),!a.ok){const r=await a.json().then(o=>Array.isArray(o.detail)?o.detail[1]:o.detail).catch(()=>`Failed to rotate key ${t}`);throw new R({status:a.status,statusText:a.statusText,message:r})}return a.json()}function He(t){return N({...t,mutationFn:async({serviceAccountId:s,apiKeyId:n,body:i})=>Ve({serviceAccountId:s,apiKeyId:n,body:i})})}const Qe=v.object({enableRetention:v.boolean(),rotateMinutes:v.coerce.number().int().min(1).optional()}).refine(t=>!(t.enableRetention&&!t.rotateMinutes));function Ge({serviceAccountId:t,apiKeyId:s,open:n,setOpen:i}){const[a,r]=x.useState(""),o=!!a;function u(){return o?e.jsx(E,{value:a}):e.jsx(Le,{setApiKeyValue:r,apiKeyId:s,serviceAccountId:t})}return e.jsx(q,{open:n,onOpenChange:m=>{i(m),r("")},children:e.jsxs(_,{className:"mx-auto max-w-[800px] overflow-x-auto",children:[e.jsx(z,{children:e.jsx($,{children:"Rotate API Key"})}),u()]})})}function Le({apiKeyId:t,serviceAccountId:s,setApiKeyValue:n}){const{toast:i}=K(),a=A(),{control:r,watch:o,register:u,handleSubmit:m,formState:{errors:l,isValid:d}}=J({resolver:Y(Qe),defaultValues:{enableRetention:!1,rotateMinutes:void 0}});function c(p){const h={retain_period_minutes:p.rotateMinutes};y({serviceAccountId:s,apiKeyId:t,body:h})}const{mutate:y}=He({onError(p){k(p)&&i({status:"error",emphasis:"subtle",description:p.message,rounded:!0})},onSuccess(p){var h;i({description:"The API key has been rotated successfully.",status:"success",emphasis:"subtle",rounded:!0}),n(((h=p.body)==null?void 0:h.key)||""),a.invalidateQueries({queryKey:[...j.apiKeysKey(s)]})}});return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-5 p-7",children:[e.jsx(Ue,{apiKeyId:t,serviceAccountId:s}),e.jsx(Ye,{}),e.jsxs("form",{onSubmit:m(c),id:"retention-form",children:[e.jsxs("div",{className:"flex items-center gap-1 rounded-t-md border bg-theme-surface-secondary p-1",children:[e.jsx(w,{control:r,name:"enableRetention",render:({field:{onChange:p,value:h}})=>e.jsx(L,{className:"data-[state=unchecked]:bg-neutral-200",checked:h,id:"enable-retention",onCheckedChange:ne=>p(!!ne)})}),"Include Retention Period",e.jsx(ce,{children:e.jsxs(le,{children:[e.jsx(de,{asChild:!0,children:e.jsxs("button",{type:"button",children:[e.jsx(Ie,{className:"h-4 w-4 shrink-0 fill-theme-text-tertiary"}),e.jsx("div",{className:"sr-only",children:"Info tooltip"})]})}),e.jsx(ue,{className:"z-50 flex max-w-[480px] bg-black",children:e.jsx("p",{className:"text-text-xs text-white",children:"To minimize disruption, you can set a retention period for your current key. Enter the duration(in minutes) you'd like the old key to remain active alongside the new one."})})]})})]}),e.jsxs("fieldset",{disabled:!o("enableRetention"),className:"space-y-5 rounded-b-md border-x border-b p-5 text-text-md text-theme-text-primary",children:[e.jsx("p",{className:"text-text-md text-theme-text-primary",children:"Keep the current key working for the next"}),e.jsxs("div",{children:[e.jsx("label",{className:"text-text-sm text-theme-text-primary",htmlFor:"retention-minutes",children:"Minutes"}),e.jsx(D,{id:"retention-minutes",...u("rotateMinutes"),disabled:!o("enableRetention"),placeholder:"0"}),l.rotateMinutes&&e.jsx("p",{className:"text-text-sm text-theme-text-error",children:l.rotateMinutes.message})]})]})]})]}),e.jsxs(V,{className:"gap-[10px]",children:[e.jsx(H,{asChild:!0,children:e.jsx(f,{size:"sm",intent:"secondary",children:"Cancel"})}),e.jsx(f,{intent:"primary",disabled:!d,size:"sm",form:"retention-form",children:"Rotate Key"})]})]})}function Ue({apiKeyId:t,serviceAccountId:s}){var r;const{data:n,isPending:i,isError:a}=S({...C.ApiKeysDetail(s,t),throwOnError:!0});return i?e.jsx(b,{className:"h-8 w-full"}):a?null:e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(ee,{className:"h-5 w-5 flex-shrink-0 fill-primary-400"}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("p",{children:n&&n.name}),e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:n&&((r=n.metadata)==null?void 0:r.description)})]})]})}function Ye(){return e.jsxs(Me,{children:[e.jsx("strong",{children:"Your current API Key will be deactivated."})," This means any processes or integrations using the old key will no longer function once the new key is generated."]})}function Je({serviceAccountId:t,apiKeyId:s}){const[n,i]=x.useState(!1),[a,r]=x.useState(!1),[o,u]=x.useState(!1),m=x.useRef(null),l=x.useRef(null),{bulkDelete:d}=se(t);function c(){l.current=m.current}function y(h){u(h),h||i(!1)}async function p(){await d([s]),y(!1)}return e.jsxs(e.Fragment,{children:[e.jsx(Ge,{setOpen:r,open:a,serviceAccountId:t,apiKeyId:s}),e.jsxs(me,{onOpenChange:i,open:n,children:[e.jsx(xe,{ref:m,children:e.jsx(he,{className:"h-5 w-5 fill-theme-text-secondary"})}),e.jsxs(pe,{hidden:o,onCloseAutoFocus:h=>{l.current&&(l.current.focus(),l.current=null,h.preventDefault())},align:"end",sideOffset:7,children:[e.jsx(fe,{className:"px-3",onClick:()=>r(!0),icon:e.jsx(Pe,{}),children:e.jsx("span",{children:"Rotate"})}),e.jsx(Oe,{onSelect:c,open:o,onOpenChange:y,triggerChildren:"Delete",icon:e.jsx(Z,{fill:"red"}),children:e.jsx(W,{title:"Delete API Key",handleDelete:p,children:e.jsxs(X,{children:[e.jsx("p",{children:"Are you sure?"}),e.jsx("p",{children:"This action cannot be undone."})]})})})]})]})]})}async function Ze({apiKeyId:t,body:s,serviceAccountId:n}){const i=F(P.serviceAccounts.apiKeys.detail(n,t)),a=await T(i,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)});if(a.status===404&&G(),!a.ok){const r=await a.json().then(o=>Array.isArray(o.detail)?o.detail[0]:o.detail||"An error occurred").catch(()=>`Failed to update key ${t}`);throw new R({status:a.status,statusText:a.statusText,message:r})}return a.json()}function We(t){return N({...t,mutationFn:async({serviceAccountId:s,apiKeyId:n,body:i})=>{await Ze({serviceAccountId:s,apiKeyId:n,body:i})}})}function Xe({isActive:t,serviceAccountId:s,apiKeyId:n}){const{toast:i}=K(),a=A(),[r,o]=x.useState(!1),{mutate:u}=We({onError(d){k(d)&&i({status:"error",emphasis:"subtle",description:d.message,rounded:!0})},onSuccess(){a.invalidateQueries({queryKey:j.apiKeysKey(s)})}});function m(d){d?l(d):o(!0)}async function l(d){u({serviceAccountId:s,apiKeyId:n,body:{active:d}})}return e.jsxs(e.Fragment,{children:[e.jsx(Q,{open:r,onOpenChange:o,children:e.jsxs(ye,{children:[e.jsx(je,{children:e.jsx(ge,{children:"Deactivate API Key"})}),e.jsxs("div",{className:"p-5 text-text-md text-theme-text-secondary",children:[e.jsx("p",{children:"Are you sure?"}),e.jsx("p",{children:"You won't be able to use this API Key to authenticate with the server anymore."})]}),e.jsxs(be,{className:"gap-[10px]",children:[e.jsx(Ae,{asChild:!0,children:e.jsx(f,{size:"sm",intent:"secondary",children:"Cancel"})}),e.jsx(f,{onClick:()=>l(!1).then(d=>o(!1)),intent:"primary",type:"button",children:"Deactivate"})]})]})}),e.jsx(L,{checked:t,onCheckedChange:m})]})}function et(){return[{id:"select",meta:{width:"1%"},header:({table:t})=>e.jsx(I,{id:"check-all",checked:t.getIsAllRowsSelected(),onCheckedChange:s=>t.toggleAllRowsSelected(s==="indeterminate"?!0:s)}),cell:({row:t})=>e.jsx(I,{id:`check-${t.id}`,checked:t.getIsSelected(),onCheckedChange:t.getToggleSelectedHandler()})},{id:"name",header:"Name",accessorFn:t=>({name:t.name}),cell:({row:t})=>{var s;return e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(ee,{className:"h-5 w-5 flex-shrink-0 fill-primary-400"}),e.jsxs("div",{className:"group/copybutton flex flex-col",children:[e.jsx("div",{className:"flex flex-row items-center space-x-1",children:e.jsx("div",{className:"flex items-center space-x-1 text-text-md font-semibold text-theme-text-primary",children:t.original.name})}),e.jsx("div",{className:"flex items-center gap-1 text-text-sm text-theme-text-secondary",children:(s=t.original.metadata)==null?void 0:s.description})]})]})}},{id:"last-login",header:"Last Login",accessorFn:t=>{var s;return(s=t.metadata)==null?void 0:s.last_login},cell:({row:t})=>{var s,n;return(s=t.original.metadata)!=null&&s.last_login?e.jsx("p",{children:e.jsx(M,{short:!0,dateString:(n=t.original.metadata)==null?void 0:n.last_login})}):e.jsx("p",{children:"Never"})}},{id:"last-rotated",header:"Last Rotated",accessorFn:t=>{var s;return(s=t.metadata)==null?void 0:s.last_rotated},cell:({row:t})=>{var r;const s=(r=t.original.metadata)==null?void 0:r.last_rotated;if(!s)return e.jsx("p",{children:"Never"});const n=new Date(`${s}Z`),i=Fe(n),a=Re(n);return e.jsxs("div",{children:[e.jsx("p",{children:e.jsx(M,{short:!0,dateString:s})}),(i||a)&&e.jsx("p",{className:`${a?"text-theme-text-error":"text-theme-text-warning"} text-text-xs`,children:a?"More than 1 year old":"More than 6 months old"})]})}},{id:"active",header:"Active",accessorFn:t=>{var s;return(s=t.body)==null?void 0:s.active},cell:({row:t})=>{var s,n;return e.jsx(Xe,{isActive:!!((s=t.original.body)!=null&&s.active),serviceAccountId:((n=t.original.body)==null?void 0:n.service_account.id)||"",apiKeyId:t.original.id})}},{id:"actions",header:"",meta:{width:"5%"},cell:({row:t})=>{var n;const s=(n=t.original.body)==null?void 0:n.service_account.id;return s?e.jsx("div",{className:"flex items-center justify-end",children:e.jsx(Je,{serviceAccountId:s,apiKeyId:t.original.id})}):null}}]}function tt(){const{serviceAccountId:t}=O();return e.jsxs(U,{className:"flex flex-col items-center justify-center space-y-4 p-9",children:[e.jsxs("div",{className:"space-y-2 text-center",children:[e.jsx("p",{className:"text-display-xs font-semibold text-theme-text-primary",children:"This service account doesn't have any API Keys yet"}),e.jsx("p",{className:"text-theme-text-secondary",children:"Generate your first API Key to enable secure interactions with the ZenML Server."})]}),e.jsx(te,{isFallback:!0,serviceAccountId:t})]})}function st(){const{serviceAccountId:t}=O(),s=B(),{rowSelection:n,setRowSelection:i}=g(),a=x.useMemo(()=>et(),[]),{data:r}=S({...C.serviceAccountApiKeys(t,{...s,sort_by:"desc:created",hydrate:!0})});return r&&(r==null?void 0:r.items.length)<1&&!s.name?e.jsx(tt,{}):e.jsxs(e.Fragment,{children:[e.jsx(nt,{serviceAccountId:t}),e.jsxs("div",{className:"flex flex-col items-center gap-5",children:[e.jsx("div",{className:"w-full",children:r?e.jsx(ve,{getRowId:o=>o.id,rowSelection:n,onRowSelectionChange:i,columns:a,data:r.items}):e.jsx(b,{className:"h-[500px] w-full"})}),r?r.total_pages>1&&e.jsx(Se,{searchParams:s,paginate:r}):e.jsx(b,{className:"h-[36px] w-[300px]"})]})]})}function nt({serviceAccountId:t}){const s=B(),{selectedRowCount:n}=g();return e.jsxs("div",{className:"mb-4 flex flex-wrap items-center justify-between gap-2",children:[n?e.jsx($e,{serviceAccountId:t}):e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(Ke,{searchParams:s})}),e.jsx(te,{isFallback:!1,serviceAccountId:t})]})}function at(t){const{setBreadcrumbs:s}=De();x.useEffect(()=>{t&&s([...we,{label:t.name,href:Ce.settings.service_accounts.detail(t.id)}])},[s,t])}function Tt(){return e.jsxs(U,{className:"space-y-5 p-5",children:[e.jsxs("div",{children:[e.jsx(rt,{}),e.jsx("h1",{className:"my-5 text-text-lg font-semibold",children:"API Keys"})]}),e.jsx(_e,{children:e.jsx(st,{})})]})}function rt(){var i,a,r;const{serviceAccountId:t}=O(),s=S({...C.serviceAccountDetail(t),throwOnError:!0});if(at(s.data),s.isPending)return e.jsx(b,{className:"h-9 w-full"});if(s.isError)return null;const n=s.data;return e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("p",{className:"text-text-xl font-semibold",children:n.name}),e.jsx(Ne,{size:"sm",color:(i=n.body)!=null&&i.active?"light-purple":"light-grey",className:"text-text-xs font-semibold uppercase",children:(a=n.body)!=null&&a.active?"active":"inactive"})]}),e.jsx("p",{className:"text-text-md text-theme-text-secondary",children:(r=n.metadata)==null?void 0:r.description})]})}export{rt as APIKeyHeader,Tt as default};
@@ -0,0 +1 @@
1
+ import{j as e,r}from"./@radix-Cdvw4jJ8.js";import{as as m,at as i,B as o,au as p,aw as x,az as h,aA as u,b as n,a_ as f}from"./index-BFqbGSck.js";import{I as l}from"./Infobox-CGxFvqzi.js";import{H as C}from"./Helpbox-CiKxG5_X.js";import{C as g}from"./CodeSnippet-D2HkkAGr.js";import"./@tanstack-5gTMR7G2.js";import"./@react-router-DeDfXbUF.js";import"./@reactflow-8OCk19Fi.js";import"./info-QkbQz4QU.js";import"./help-Co6aedki.js";const j=[{command:"zenml code-repository register <NAME> --type=<CODE_REPOSITORY_TYPE] [--CODE_REPOSITORY_OPTIONS]",description:"Register a code repository"},{command:"zenml code-repository register <NAME> --type=custom --source=<CODE_REPOSITORY_SOURCE> [--CODE_REPOSITORY_OPTIONS]",description:"Use a custom repository "},{command:"zenml code-repository list",description:"List your registered code repositories"},{command:"zenml code-repository delete <REPOSITORY_NAME_OR_ID>",description:"Delete a code repository that you have previously registered"}];function y(s){return e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:s.description}),e.jsx(g,{codeClasses:"whitespace-pre-wrap",wrap:!0,code:s.command})]})}const w=s=>r.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...s},r.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 12ZM11.2451 7.43304C11.2546 7.43912 11.264 7.44517 11.2734 7.45121L15.994 10.4859C16.0026 10.4914 16.0112 10.497 16.02 10.5026C16.171 10.5996 16.3361 10.7057 16.4676 10.8083C16.6071 10.917 16.8273 11.1089 16.9571 11.4162C17.1148 11.7894 17.1148 12.2106 16.9571 12.5838C16.8273 12.8911 16.6071 13.083 16.4676 13.1917C16.3361 13.2943 16.171 13.4004 16.02 13.4974C16.0112 13.503 16.0026 13.5086 15.994 13.5141L11.2734 16.5488C11.264 16.5548 11.2545 16.5609 11.2451 16.567C11.0694 16.68 10.8846 16.7988 10.7219 16.8835C10.5582 16.9687 10.2611 17.1066 9.89314 17.0804C9.45914 17.0494 9.05999 16.8314 8.79923 16.4831C8.57813 16.1878 8.5335 15.8633 8.51664 15.6796C8.49989 15.4969 8.49995 15.2772 8.49999 15.0683C8.5 15.057 8.5 15.0458 8.5 15.0347V8.96533C8.5 8.95417 8.5 8.94296 8.49999 8.93173C8.49995 8.72279 8.49989 8.50311 8.51664 8.32042C8.5335 8.13665 8.57813 7.81219 8.79923 7.51687C9.05999 7.16856 9.45914 6.95064 9.89314 6.91964C10.2611 6.89336 10.5582 7.03127 10.7219 7.11647C10.8846 7.20117 11.0694 7.32001 11.2451 7.43304ZM10.5 9.33167V14.6683L14.6507 12L10.5 9.33167Z"}));function a({videoLink:s,isButton:t=!0,buttonText:c,fallbackImage:d}){return e.jsxs(m,{children:[t?e.jsx(i,{asChild:!0,children:e.jsxs(o,{className:"mt-5 h-auto gap-1 px-2 py-1 sm:h-7",size:"md",children:[e.jsx(w,{className:"h-5 w-5 shrink-0 fill-white"}),c??e.jsx(e.Fragment,{children:"Watch the Quickstart Guide (3 min)"})]})}):e.jsx(i,{children:d}),e.jsxs(p,{className:"max-w-[1000px]",children:[e.jsx("div",{className:"flex items-center justify-between border-b border-theme-border-moderate py-2 pl-5 pr-3",children:e.jsx(x,{className:"text-text-lg",children:"Get Started"})}),e.jsx("div",{className:"",children:e.jsx("iframe",{className:"aspect-video w-full overflow-hidden",src:s,allowFullScreen:!0,allow:"fullscreen"})}),e.jsx(h,{children:e.jsx(u,{asChild:!0,children:e.jsx(o,{size:"md",children:"Close"})})})]})]})}const N="/assets/repos-video-D8kpu60k.svg";function v(){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 Repositories experience"}),e.jsx("p",{children:"In the meanwhile you can use the CLI to add and manage your repos."})]})})}function R(){const s="https://zenml.portal.trainn.co/share/koVfVubiXfXLXtVcDAqPyg/embed?autoplay=false";return e.jsxs(n,{className:"flex flex-col-reverse items-stretch overflow-hidden md:flex-row",children:[e.jsxs("div",{className:"w-full p-7 md:w-2/3",children:[e.jsx("h2",{className:"text-display-xs font-semibold",children:"Learn More about Repositories"}),e.jsx("p",{className:"mt-2 text-text-lg text-theme-text-secondary",children:"Get started with ZenML Repositories for streamlined pipeline versioning and faster Docker builds."}),e.jsx(a,{videoLink:s,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(a,{fallbackImage:e.jsx("img",{src:N,alt:"Purple squares with text indicating a starter guide for secrets",className:"h-full w-full"}),videoLink:s,isButton:!1})})]})}function O(){return e.jsxs("section",{className:"space-y-5 pl-8 pr-5",children:[e.jsx(l,{className:"text-text-md",intent:"neutral",children:"Code repositories enable ZenML to keep track of the code version that you use for your pipeline runs. Additionally, running a pipeline which is tracked in a registered code repository can decrease the time it takes Docker to build images for containerized stack components."}),j.map((s,t)=>e.jsx(e.Fragment,{children:y(s)},t)),e.jsx(C,{text:"Check all the commands and find more about Repositories in our Docs",link:"https://docs.zenml.io/how-to/setting-up-a-project-repository/connect-your-git-repository"})]})}function T(){return e.jsxs(n,{className:"space-y-4 p-5",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"Repositories"}),e.jsx(v,{}),e.jsx(R,{}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(f,{}),"Administering your Code Repositories"]}),e.jsx(O,{})]})}export{T as default};
@@ -0,0 +1 @@
1
+ import{j as e}from"./@radix-Cdvw4jJ8.js";import{b as t,B as a,r as n}from"./index-BFqbGSck.js";import{L as i}from"./@react-router-DeDfXbUF.js";import"./@tanstack-5gTMR7G2.js";import"./@reactflow-8OCk19Fi.js";const l="/assets/templates-1S_8WeSK.webp",o=["Run pipelines from the dashboard with Templates","Re-run a pipeline easily from the UI","Model and Artifact Control Plane Dashboard","Managed ZenML server on your VPC or hosted on our servers","Social SSO, RBAC, and User Management","CI/CD/CT, and more!"];function m(){return e.jsxs(t,{className:"relative overflow-hidden border border-warning-100 px-7 py-5",children:[e.jsxs("div",{className:"max-w-[450px] space-y-4",children:[e.jsx("h2",{className:"text-display-xs font-semibold",children:"Access Advanced Template Features with ZenML Pro"}),e.jsx("ul",{className:"space-y-2",children:o.map((r,s)=>e.jsx("li",{className:"text-text-md text-theme-text-secondary",children:r},s))}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx(a,{asChild:!0,className:"truncate bg-warning-600 hover:bg-warning-400 active:bg-warning-500 active:ring-warning-50",size:"md",children:e.jsx(i,{to:n.upgrade,children:"Try Pro Features"})}),e.jsx(a,{emphasis:"minimal",size:"md",children:e.jsx("a",{href:"https://www.zenml.io/pro",target:"_blank",rel:"noopener noreferrer",children:"Learn more"})})]})]}),e.jsx("img",{className:"absolute right-0 top-0 hidden translate-x-[30%] scale-75 md:translate-y-[30%] lg:block xl:-translate-y-[5%]",src:l,alt:"Screenshot of Zenml Pro Templates Feature"})]})}function u(){return e.jsx("div",{className:"layout-container space-y-5 pt-5",children:e.jsx(m,{})})}export{u as default};