zenml-nightly 0.83.0.dev20250623__py3-none-any.whl → 0.83.1.dev20250625__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.
- zenml/VERSION +1 -1
- zenml/cli/login.py +21 -3
- zenml/config/__init__.py +13 -2
- zenml/constants.py +0 -1
- zenml/exceptions.py +16 -0
- zenml/integrations/airflow/orchestrators/airflow_orchestrator.py +15 -6
- zenml/integrations/aws/orchestrators/sagemaker_orchestrator.py +54 -58
- zenml/integrations/azure/orchestrators/azureml_orchestrator.py +28 -19
- zenml/integrations/databricks/orchestrators/databricks_orchestrator.py +19 -63
- zenml/integrations/gcp/orchestrators/vertex_orchestrator.py +36 -61
- zenml/integrations/hyperai/orchestrators/hyperai_orchestrator.py +19 -22
- zenml/integrations/kubeflow/orchestrators/kubeflow_orchestrator.py +28 -31
- zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator.py +33 -20
- zenml/integrations/lightning/orchestrators/lightning_orchestrator.py +25 -100
- zenml/integrations/skypilot/orchestrators/skypilot_base_vm_orchestrator.py +19 -8
- zenml/integrations/skypilot/utils.py +17 -13
- zenml/integrations/tekton/orchestrators/tekton_orchestrator.py +28 -12
- zenml/models/v2/core/step_run.py +1 -0
- zenml/orchestrators/__init__.py +2 -0
- zenml/orchestrators/base_orchestrator.py +137 -66
- zenml/orchestrators/input_utils.py +5 -13
- zenml/orchestrators/local/local_orchestrator.py +19 -9
- zenml/orchestrators/local_docker/local_docker_orchestrator.py +15 -5
- zenml/orchestrators/publish_utils.py +24 -0
- zenml/orchestrators/step_run_utils.py +1 -2
- zenml/pipelines/run_utils.py +12 -7
- zenml/step_operators/step_operator_entrypoint_configuration.py +1 -1
- zenml/zen_server/dashboard/assets/{404-DmJUgorp.js → 404-B5eko6XL.js} +1 -1
- zenml/zen_server/dashboard/assets/{@reactflow-8OCk19Fi.js → @reactflow-B_iCtR7X.js} +1 -1
- zenml/zen_server/dashboard/assets/{AlertDialogDropdownItem-CZW4QyWn.js → AlertDialogDropdownItem-DsOmO1FH.js} +1 -1
- zenml/zen_server/dashboard/assets/{ButtonGroup-DFWWFGUE.js → ButtonGroup-4sPZDv70.js} +1 -1
- zenml/zen_server/dashboard/assets/{CodeSnippet-D2HkkAGr.js → CodeSnippet-Ctplhzdc.js} +1 -1
- zenml/zen_server/dashboard/assets/{CollapsibleCard-CnS09ljw.js → CollapsibleCard-CBKenz9f.js} +1 -1
- zenml/zen_server/dashboard/assets/{ComponentBadge-CDgdd0Ks.js → ComponentBadge-Cnecw3qz.js} +1 -1
- zenml/zen_server/dashboard/assets/{ComponentIcon-CbbOc7lb.js → ComponentIcon-CMiVW-O6.js} +1 -1
- zenml/zen_server/dashboard/assets/{DeleteAlertDialog-VIOMDLmx.js → DeleteAlertDialog-DEI0YDzP.js} +1 -1
- zenml/zen_server/dashboard/assets/{DialogItem-ClFCqxEp.js → DialogItem-CRCDpYU6.js} +1 -1
- zenml/zen_server/dashboard/assets/{Error-CQzjbDcN.js → Error-BG6f_WRd.js} +1 -1
- zenml/zen_server/dashboard/assets/{ExecutionStatus-CWreILP0.js → ExecutionStatus-BuhNAE9w.js} +1 -1
- zenml/zen_server/dashboard/assets/{Helpbox-CiKxG5_X.js → Helpbox-DtUG2Bf_.js} +1 -1
- zenml/zen_server/dashboard/assets/{Infobox-CGxFvqzi.js → Infobox-CSBRrM6r.js} +1 -1
- zenml/zen_server/dashboard/assets/{LeftSideMenu-DCsKdIjC.js → LeftSideMenu-DPsCCK3z.js} +1 -1
- zenml/zen_server/dashboard/assets/{NestedCollapsible-3M4llYtH.js → NestedCollapsible-CMuDIJlp.js} +1 -1
- zenml/zen_server/dashboard/assets/{NumberBox-C0mQktmV.js → NumberBox-DtCv7jh3.js} +1 -1
- zenml/zen_server/dashboard/assets/Pagination-CWnEpSpN.js +1 -0
- zenml/zen_server/dashboard/assets/{Partials-DSjkttlz.js → Partials-CfHD6OH5.js} +1 -1
- zenml/zen_server/dashboard/assets/{ProCta-Dm5cWKpS.js → ProCta-CNyp04C8.js} +1 -1
- zenml/zen_server/dashboard/assets/{ProviderIcon-DPwMR6nF.js → ProviderIcon-DHejyg7C.js} +1 -1
- zenml/zen_server/dashboard/assets/{ProviderRadio-DEDNRgAb.js → ProviderRadio-tGtie8Gc.js} +1 -1
- zenml/zen_server/dashboard/assets/RunsBody-mYwMcWWj.js +1 -0
- zenml/zen_server/dashboard/assets/SearchField-BtUi6cYl.js +1 -0
- zenml/zen_server/dashboard/assets/{SecretTooltip-CZTRnaCV.js → SecretTooltip-B5u1UsQ9.js} +1 -1
- zenml/zen_server/dashboard/assets/{SetPassword-BjNGDC5e.js → SetPassword-BmbgL_ed.js} +1 -1
- zenml/zen_server/dashboard/assets/{SheetHeader-CASpN2Lz.js → SheetHeader-DkH7aG9K.js} +1 -1
- zenml/zen_server/dashboard/assets/StackComponentList-Bi8BKqCu.js +1 -0
- zenml/zen_server/dashboard/assets/StackList-Cvxapo0p.js +1 -0
- zenml/zen_server/dashboard/assets/{StackName-ojLC6xdl.js → StackName-CFSZL8ec.js} +1 -1
- zenml/zen_server/dashboard/assets/Tabs-D4dv48ry.js +1 -0
- zenml/zen_server/dashboard/assets/{Tick-BPrWnNlN.js → Tick-Qquvr4P3.js} +1 -1
- zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-CNfKDo2Q.js → UpdatePasswordSchemas-D_DCETSO.js} +1 -1
- zenml/zen_server/dashboard/assets/{UsageReason-Cb-mpV8M.js → UsageReason-DhiUV1bu.js} +1 -1
- zenml/zen_server/dashboard/assets/{Wizard-Dg8Pmn5A.js → Wizard-BHvY75u_.js} +1 -1
- zenml/zen_server/dashboard/assets/{WizardFooter-BcNDIvlQ.js → WizardFooter-FQm8y-jP.js} +1 -1
- zenml/zen_server/dashboard/assets/{all-pipeline-runs-query-DCdax7I5.js → all-pipeline-runs-query-DpKw9WL9.js} +1 -1
- zenml/zen_server/dashboard/assets/{bulk-delete-C_kpIB9A.js → bulk-delete-CzYA--cC.js} +1 -1
- zenml/zen_server/dashboard/assets/{configuration-form-B2hmKGnF.js → configuration-form-DSoMMiPE.js} +1 -1
- zenml/zen_server/dashboard/assets/{constants-1EZZxtay.js → constants-DTfsIqHy.js} +1 -1
- zenml/zen_server/dashboard/assets/{create-stack-TKmMtrkQ.js → create-stack-BpZrmKDu.js} +1 -1
- zenml/zen_server/dashboard/assets/{delete-run-CCR9md_s.js → delete-run-BkyDsKQc.js} +1 -1
- zenml/zen_server/dashboard/assets/elk-worker.min-BdOC9sib.js +6263 -0
- zenml/zen_server/dashboard/assets/expand-full-BPiXpch2.js +1 -0
- zenml/zen_server/dashboard/assets/{form-DFJkaFDX.js → form-BgtamtJm.js} +1 -1
- zenml/zen_server/dashboard/assets/{form-schemas-CrznJVzA.js → form-schemas-dyDkAxXP.js} +1 -1
- zenml/zen_server/dashboard/assets/{index-BjUu1mP4.js → index-BBt0LDtR.js} +1 -1
- zenml/zen_server/dashboard/assets/index-BfNISy0X.css +1 -0
- zenml/zen_server/dashboard/assets/{index-BFqbGSck.js → index-BgEfQ3_G.js} +4 -4
- zenml/zen_server/dashboard/assets/{index-U992soPJ.js → index-eoDB_1XX.js} +1 -1
- zenml/zen_server/dashboard/assets/{layout-Do9YI4QX.js → layout-o1x87a3q.js} +1 -1
- zenml/zen_server/dashboard/assets/{login-mutation-D3tFP6Wm.js → login-mutation-C1hvP_cX.js} +1 -1
- zenml/zen_server/dashboard/assets/page-4xUZpMN0.js +31 -0
- zenml/zen_server/dashboard/assets/page-4zc4xPv2.js +2 -0
- zenml/zen_server/dashboard/assets/page-B0104V6C.js +1 -0
- zenml/zen_server/dashboard/assets/page-BNJsjvof.js +1 -0
- zenml/zen_server/dashboard/assets/{page-sJjNT9xA.js → page-BPQ66vR-.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CAJ8B0vb.js → page-BQgSZ2nH.js} +1 -1
- zenml/zen_server/dashboard/assets/page-BXl2ZX6J.js +1 -0
- zenml/zen_server/dashboard/assets/{page-CtiuMP_r.js → page-BxeZrG_t.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-Cal6XQ4U.js → page-C2A-2Cj_.js} +1 -1
- zenml/zen_server/dashboard/assets/page-C2i-C7jv.js +1 -0
- zenml/zen_server/dashboard/assets/{page-DJIGaUQ9.js → page-C3JfJxuR.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-ChGcZI_6.js → page-CESEqC2L.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DCcuPZ8P.js → page-CF8cTZ7l.js} +1 -1
- zenml/zen_server/dashboard/assets/page-CKjsimVu.js +1 -0
- zenml/zen_server/dashboard/assets/{page-DNjKHjnH.js → page-COLzBwff.js} +1 -1
- zenml/zen_server/dashboard/assets/page-COifg5fa.js +1 -0
- zenml/zen_server/dashboard/assets/{page-CnbIYE80.js → page-CQeJuA8T.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DKK6ulgy.js → page-CcjWEjre.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-9RjCitFH.js → page-CefGLeWy.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DUKbOhaD.js → page-CfxpV3j4.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-D9Hfx6GV.js → page-ClcUzawe.js} +1 -1
- zenml/zen_server/dashboard/assets/page-Ct_LB3zo.js +1 -0
- zenml/zen_server/dashboard/assets/page-D-ZWUMYY.js +1 -0
- zenml/zen_server/dashboard/assets/{page-CUaMMoPG.js → page-D-tJ_Y0a.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CdZCmszX.js → page-DHrvih9u.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DUK0Nd_1.js → page-DMhaHZDw.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CAUYrfui.js → page-DOCOmmKn.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-akLcPcKw.js → page-DcQmxKLp.js} +1 -1
- zenml/zen_server/dashboard/assets/page-Dh4GRWw5.js +1 -0
- zenml/zen_server/dashboard/assets/{page-DwVPpCFg.js → page-DiHZK-1w.js} +1 -1
- zenml/zen_server/dashboard/assets/page-Dn7ZNapg.js +1 -0
- zenml/zen_server/dashboard/assets/page-Dy4vSQY7.js +1 -0
- zenml/zen_server/dashboard/assets/{page-CN7lkvXr.js → page-QrvWQwZb.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BrT0_zSJ.js → page-RF3Fup0q.js} +1 -1
- zenml/zen_server/dashboard/assets/page-WuvCrN47.js +1 -0
- zenml/zen_server/dashboard/assets/{page-Be3R2uYn.js → page-_WnHBI1F.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-C210HcBA.js → page-ghjVNgVE.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BCrKmYIZ.js → page-iDsDiDXw.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-ClvmVesa.js → page-rVhXI5ZO.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DEohTSz6.js → page-uxjMX8Iq.js} +1 -1
- zenml/zen_server/dashboard/assets/{persist-Dec_w7aB.js → persist-BsdEtCkd.js} +1 -1
- zenml/zen_server/dashboard/assets/{persist-DWMWVP-y.js → persist-CFPbMcJX.js} +1 -1
- zenml/zen_server/dashboard/assets/{resource-tyes-list-o2LXiMay.js → resource-tyes-list-79FqS3LY.js} +1 -1
- zenml/zen_server/dashboard/assets/{resource-type-tooltip-DwHrJstL.js → resource-type-tooltip-BL9ZTRKi.js} +1 -1
- zenml/zen_server/dashboard/assets/{service-connectors-DSEMwJ5A.js → service-connectors-Q8h7-_rG.js} +1 -1
- zenml/zen_server/dashboard/assets/{service-jxtvgks0.js → service-k-9Vsb30.js} +1 -1
- zenml/zen_server/dashboard/assets/{sharedSchema-BXzg0EZz.js → sharedSchema-C_HkejsG.js} +1 -1
- zenml/zen_server/dashboard/assets/{stack-detail-query-Cm0fsgo-.js → stack-detail-query-CNmVZ0Bo.js} +1 -1
- zenml/zen_server/dashboard/assets/{update-current-user-mutation-D5MjcQ6F.js → update-current-user-mutation-Ca-Lmwuj.js} +1 -1
- zenml/zen_server/dashboard/assets/{update-server-settings-mutation-CmnxdxiK.js → update-server-settings-mutation-Bwe3gUt4.js} +1 -1
- zenml/zen_server/dashboard/index.html +4 -4
- zenml/zen_stores/migrations/versions/0.83.1_release.py +23 -0
- zenml/zen_stores/rest_zen_store.py +147 -128
- zenml/zen_stores/sql_zen_store.py +27 -17
- {zenml_nightly-0.83.0.dev20250623.dist-info → zenml_nightly-0.83.1.dev20250625.dist-info}/METADATA +5 -9
- {zenml_nightly-0.83.0.dev20250623.dist-info → zenml_nightly-0.83.1.dev20250625.dist-info}/RECORD +138 -134
- zenml/zen_server/dashboard/assets/RunsBody-BRBn1e2O.js +0 -1
- zenml/zen_server/dashboard/assets/SearchField-DY6-UbRT.js +0 -1
- zenml/zen_server/dashboard/assets/StackComponentList-Be1pQt9m.js +0 -1
- zenml/zen_server/dashboard/assets/StackList-BdiR5DvR.js +0 -1
- zenml/zen_server/dashboard/assets/Tabs-DNSKblCM.js +0 -1
- zenml/zen_server/dashboard/assets/index-DuhuqTCI.css +0 -1
- zenml/zen_server/dashboard/assets/page-B0PsXWiT.js +0 -1
- zenml/zen_server/dashboard/assets/page-BcRI3-aR.js +0 -29
- zenml/zen_server/dashboard/assets/page-BgknnddT.js +0 -1
- zenml/zen_server/dashboard/assets/page-Bs3W2FDi.js +0 -1
- zenml/zen_server/dashboard/assets/page-C6KaiZ_W.js +0 -1
- zenml/zen_server/dashboard/assets/page-CHxVhF3x.js +0 -1
- zenml/zen_server/dashboard/assets/page-CktmtZ8Z.js +0 -1
- zenml/zen_server/dashboard/assets/page-CoXzjeEY.js +0 -1
- zenml/zen_server/dashboard/assets/page-D9iuB88h.js +0 -1
- zenml/zen_server/dashboard/assets/page-DYOucPtA.js +0 -1
- zenml/zen_server/dashboard/assets/page-DpqRelAy.js +0 -1
- zenml/zen_server/dashboard/assets/page-XURWnYZP.js +0 -1
- zenml/zen_server/dashboard/assets/page-abw-2oeW.js +0 -1
- zenml/zen_server/dashboard/assets/page-n9ejQ2V3.js +0 -2
- {zenml_nightly-0.83.0.dev20250623.dist-info → zenml_nightly-0.83.1.dev20250625.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.83.0.dev20250623.dist-info → zenml_nightly-0.83.1.dev20250625.dist-info}/WHEEL +0 -0
- {zenml_nightly-0.83.0.dev20250623.dist-info → zenml_nightly-0.83.1.dev20250625.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
import{j as o}from"./@radix-Cdvw4jJ8.js";import{S as r}from"./Tabs-D4dv48ry.js";import{R as m}from"./RunsBody-mYwMcWWj.js";import{b as i}from"./ButtonGroup-4sPZDv70.js";import{S as p}from"./StackList-Cvxapo0p.js";import{a as s}from"./@react-router-DeDfXbUF.js";import"./index-BgEfQ3_G.js";import"./@tanstack-5gTMR7G2.js";import"./@reactflow-B_iCtR7X.js";import"./terminal-XFL_4QN-.js";import"./chevron-down-jbbQh82s.js";import"./transform-CeZdrxDZ.js";import"./DisplayDate-8RESqe5H.js";import"./NestedCollapsible-CMuDIJlp.js";import"./type-guards-CNgPYg8l.js";import"./eye-CbVlAYty.js";import"./CollapsibleCard-CBKenz9f.js";import"./check-circle-C4tYvbtw.js";import"./CodeSnippet-Ctplhzdc.js";import"./refresh-BcTM09NW.js";import"./Pagination-CWnEpSpN.js";import"./chevron-right-double-Dgp_gEsp.js";import"./SearchField-BtUi6cYl.js";import"./index-DWpiv-Ft.js";import"./all-pipeline-runs-query-DpKw9WL9.js";import"./ExecutionStatus-BuhNAE9w.js";import"./help-Co6aedki.js";import"./trash-DP6Tpp_E.js";import"./AlertDialogDropdownItem-DsOmO1FH.js";import"./DeleteAlertDialog-DEI0YDzP.js";import"./zod-XdS2h1ws.js";import"./index.esm-DhJo3mA6.js";import"./bulk-delete-CzYA--cC.js";import"./delete-run-BkyDsKQc.js";import"./plus-Cl0_rCVF.js";import"./index-BBt0LDtR.js";import"./stack-detail-query-CNmVZ0Bo.js";import"./SheetHeader-DkH7aG9K.js";import"./components-Br2ezRib.js";import"./NumberBox-DtCv7jh3.js";import"./ComponentBadge-Cnecw3qz.js";import"./ComponentIcon-CMiVW-O6.js";import"./layout-DBbfEFBe.js";import"./Infobox-CSBRrM6r.js";import"./info-QkbQz4QU.js";import"./DialogItem-CRCDpYU6.js";function $(){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{$ as default};
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as u,j as a}from"./@radix-Cdvw4jJ8.js";import{u as h,c as w,S as v,a as y,b as k}from"./form-schemas-
|
1
|
+
import{r as u,j as a}from"./@radix-Cdvw4jJ8.js";import{u as h,c as w,S as v,a as y,b as k}from"./form-schemas-dyDkAxXP.js";import{S}from"./SetPassword-BmbgL_ed.js";import{I as x,B as j,f as N,i as A,F as C,j as q,u as P,a as z,S as E}from"./index-BgEfQ3_G.js";import{u as F}from"./index.esm-DhJo3mA6.js";import{t as M}from"./zod-XdS2h1ws.js";import{c as T}from"./@tanstack-5gTMR7G2.js";import{u as U}from"./login-mutation-C1hvP_cX.js";import"./check-circle-C4tYvbtw.js";import"./@react-router-DeDfXbUF.js";import"./UpdatePasswordSchemas-D_DCETSO.js";import"./PasswordChecker-B88WjuCe.js";import"./@reactflow-B_iCtR7X.js";const g=u.createContext(null);function $({children:e,initialSettings:r}){const[t,s]=u.useState(r||{});return a.jsx(g.Provider,{value:{serverSettings:t,setServerSettings:s},children:e})}function f(){const e=u.useContext(g);if(e===null)throw new Error("useServerActivationContext must be used within an ServerActivationProvider");return e}function I(){const{setSurveyStep:e}=h(),{setServerSettings:r}=f();function t({newPassword:s,username:o}){r(i=>({...i,admin_password:s,admin_username:o})),e(i=>i+1)}return a.jsx(S,{displayUsername:!0,headline:"Create your admin user and password",subHeadine:"Select a username and password for your admin account",submitHandler:t})}const m=e=>{e=1831565813+(e|=0)|0;let r=Math.imul(e^e>>>15,1|e);return r=r+Math.imul(r^r>>>7,61|r)^r,((r^r>>>14)>>>0)/4294967296};class L{constructor(r){this.dictionaries=void 0,this.length=void 0,this.separator=void 0,this.style=void 0,this.seed=void 0;const{length:t,separator:s,dictionaries:o,style:i,seed:l}=r;this.dictionaries=o,this.separator=s,this.length=t,this.style=i,this.seed=l}generate(){if(!this.dictionaries)throw new Error('Cannot find any dictionary. Please provide at least one, or leave the "dictionary" field empty in the config object');if(this.length<=0)throw new Error("Invalid length provided");if(this.length>this.dictionaries.length)throw new Error(`The length cannot be bigger than the number of dictionaries.
|
2
2
|
Length provided: ${this.length}. Number of dictionaries provided: ${this.dictionaries.length}`);let r=this.seed;return this.dictionaries.slice(0,this.length).reduce((t,s)=>{let o;r?(o=(l=>{if(typeof l=="string"){const c=l.split("").map(d=>d.charCodeAt(0)).reduce((d,b)=>d+b,1),n=Math.floor(Number(c));return m(n)}return m(l)})(r),r=4294967296*o):o=Math.random();let i=s[Math.floor(o*s.length)]||"";if(this.style==="lowerCase")i=i.toLowerCase();else if(this.style==="capital"){const[l,...c]=i.split("");i=l.toUpperCase()+c.join("")}else this.style==="upperCase"&&(i=i.toUpperCase());return t?`${t}${this.separator}${i}`:`${i}`},"")}}const p={separator:"_",dictionaries:[]},_=e=>{const r=[...e&&e.dictionaries||p.dictionaries],t={...p,...e,length:e&&e.length||r.length,dictionaries:r};if(!e||!e.dictionaries||!e.dictionaries.length)throw new Error('A "dictionaries" array must be provided. This is a breaking change introduced starting from Unique Name Generator v4. Read more about the breaking change here: https://github.com/andreasonny83/unique-names-generator#migration-guide');return new L(t).generate()};var H=["aardvark","aardwolf","albatross","alligator","alpaca","amphibian","anaconda","angelfish","anglerfish","ant","anteater","antelope","antlion","ape","aphid","armadillo","asp","baboon","badger","bandicoot","barnacle","barracuda","basilisk","bass","bat","bear","beaver","bedbug","bee","beetle","bird","bison","blackbird","boa","boar","bobcat","bobolink","bonobo","booby","bovid","bug","butterfly","buzzard","camel","canid","canidae","capybara","cardinal","caribou","carp","cat","caterpillar","catfish","catshark","cattle","centipede","cephalopod","chameleon","cheetah","chickadee","chicken","chimpanzee","chinchilla","chipmunk","cicada","clam","clownfish","cobra","cockroach","cod","condor","constrictor","coral","cougar","cow","coyote","crab","crane","crawdad","crayfish","cricket","crocodile","crow","cuckoo","damselfly","deer","dingo","dinosaur","dog","dolphin","donkey","dormouse","dove","dragon","dragonfly","duck","eagle","earthworm","earwig","echidna","eel","egret","elephant","elk","emu","ermine","falcon","felidae","ferret","finch","firefly","fish","flamingo","flea","fly","flyingfish","fowl","fox","frog","galliform","gamefowl","gayal","gazelle","gecko","gerbil","gibbon","giraffe","goat","goldfish","goose","gopher","gorilla","grasshopper","grouse","guan","guanaco","guineafowl","gull","guppy","haddock","halibut","hamster","hare","harrier","hawk","hedgehog","heron","herring","hippopotamus","hookworm","hornet","horse","hoverfly","hummingbird","hyena","iguana","impala","jackal","jaguar","jay","jellyfish","junglefowl","kangaroo","kingfisher","kite","kiwi","koala","koi","krill","ladybug","lamprey","landfowl","lark","leech","lemming","lemur","leopard","leopon","limpet","lion","lizard","llama","lobster","locust","loon","louse","lungfish","lynx","macaw","mackerel","magpie","mammal","manatee","mandrill","marlin","marmoset","marmot","marsupial","marten","mastodon","meadowlark","meerkat","mink","minnow","mite","mockingbird","mole","mollusk","mongoose","monkey","moose","mosquito","moth","mouse","mule","muskox","narwhal","newt","nightingale","ocelot","octopus","opossum","orangutan","orca","ostrich","otter","owl","ox","panda","panther","parakeet","parrot","parrotfish","partridge","peacock","peafowl","pelican","penguin","perch","pheasant","pig","pigeon","pike","pinniped","piranha","planarian","platypus","pony","porcupine","porpoise","possum","prawn","primate","ptarmigan","puffin","puma","python","quail","quelea","quokka","rabbit","raccoon","rat","rattlesnake","raven","reindeer","reptile","rhinoceros","roadrunner","rodent","rook","rooster","roundworm","sailfish","salamander","salmon","sawfish","scallop","scorpion","seahorse","shark","sheep","shrew","shrimp","silkworm","silverfish","skink","skunk","sloth","slug","smelt","snail","snake","snipe","sole","sparrow","spider","spoonbill","squid","squirrel","starfish","stingray","stoat","stork","sturgeon","swallow","swan","swift","swordfish","swordtail","tahr","takin","tapir","tarantula","tarsier","termite","tern","thrush","tick","tiger","tiglon","toad","tortoise","toucan","trout","tuna","turkey","turtle","tyrannosaurus","unicorn","urial","vicuna","viper","vole","vulture","wallaby","walrus","warbler","wasp","weasel","whale","whippet","whitefish","wildcat","wildebeest","wildfowl","wolf","wolverine","wombat","woodpecker","worm","wren","xerinae","yak","zebra"],B=["amaranth","amber","amethyst","apricot","aqua","aquamarine","azure","beige","black","blue","blush","bronze","brown","chocolate","coffee","copper","coral","crimson","cyan","emerald","fuchsia","gold","gray","green","harlequin","indigo","ivory","jade","lavender","lime","magenta","maroon","moccasin","olive","orange","peach","pink","plum","purple","red","rose","salmon","sapphire","scarlet","silver","tan","teal","tomato","turquoise","violet","white","yellow"];const D=["booby","swallow"];function R(){return _({dictionaries:[B,H.filter(e=>!D.includes(e))]})}function V({submitHandler:e}){const r=u.useId(),{handleSubmit:t,register:s,formState:{isValid:o}}=F({resolver:M(w),defaultValues:{serverName:R()}});return a.jsxs("div",{className:"max-w-[570px] space-y-5",children:[a.jsxs("div",{children:[a.jsx("h1",{className:"text-display-xs font-semibold",children:"Almost there! Select a server name"}),a.jsx("p",{className:"text-theme-text-secondary",children:"This will identify your ZenML server. You can use the generated name or create your own."})]}),a.jsxs("form",{onSubmit:t(e),className:"space-y-5",children:[a.jsx("div",{className:"space-y-2",children:a.jsxs("div",{className:"space-y-0.5",children:[a.jsx("label",{htmlFor:r,className:"text-text-sm",children:"Server Name"}),a.jsx(x,{...s("serverName"),id:r,className:"w-full"})]})}),a.jsx(j,{disabled:!o,className:"w-full text-center",size:"md",children:a.jsx("span",{className:"w-full",children:"Activate your Server"})})]})]})}async function Y(e){const r=A(q.activate),t=await N(r,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){const s=await t.json().then(o=>Array.isArray(o.detail)?o.detail[1]:o.detail).catch(()=>"Failed to activate server");throw new C({status:t.status,statusText:t.statusText,message:s})}return t.json()}function Z(e){return T({mutationFn:async r=>Y(r),...e})}function G({setUsername:e}){const{serverSettings:r}=f(),{setSurveyStep:t}=h(),{setAuthState:s}=P(),{toast:o}=z(),{mutate:i}=U({onSuccess:()=>{s("true"),t(n=>n+1)}}),{mutate:l}=Z({onSuccess:async n=>{e(n.name),i({username:n.name,password:r.admin_password??void 0})},onError:n=>{n instanceof Error&&o({status:"error",emphasis:"subtle",icon:a.jsx(E,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:n.message,rounded:!0})}});function c({serverName:n}){l({...r,server_name:n})}return a.jsx(V,{submitHandler:c})}function J(){const{surveyStep:e}=h(),[r,t]=u.useState("");return a.jsx(a.Fragment,{children:a.jsxs($,{children:[a.jsx(v,{stepAmount:2}),e===1&&a.jsx(I,{}),e===2&&a.jsx(G,{setUsername:t}),e===3&&a.jsx(y,{subHeader:"Your created your ZenML account",username:r})]})})}function le(){return a.jsx(k,{children:a.jsx(J,{})})}export{le as default};
|
@@ -0,0 +1 @@
|
|
1
|
+
import{j as o}from"./@radix-Cdvw4jJ8.js";import{C as r,S as m}from"./StackComponentList-Bi8BKqCu.js";import{a as i}from"./@react-router-DeDfXbUF.js";import"./plus-Cl0_rCVF.js";import"./refresh-BcTM09NW.js";import"./Pagination-CWnEpSpN.js";import"./index-BgEfQ3_G.js";import"./@tanstack-5gTMR7G2.js";import"./@reactflow-B_iCtR7X.js";import"./chevron-right-double-Dgp_gEsp.js";import"./SearchField-BtUi6cYl.js";import"./index-DWpiv-Ft.js";import"./DisplayDate-8RESqe5H.js";import"./expand-full-BPiXpch2.js";import"./SheetHeader-DkH7aG9K.js";import"./Tabs-D4dv48ry.js";import"./terminal-XFL_4QN-.js";import"./chevron-down-jbbQh82s.js";import"./transform-CeZdrxDZ.js";import"./NestedCollapsible-CMuDIJlp.js";import"./type-guards-CNgPYg8l.js";import"./eye-CbVlAYty.js";import"./CollapsibleCard-CBKenz9f.js";import"./check-circle-C4tYvbtw.js";import"./CodeSnippet-Ctplhzdc.js";import"./all-pipeline-runs-query-DpKw9WL9.js";import"./ExecutionStatus-BuhNAE9w.js";import"./help-Co6aedki.js";import"./index-BBt0LDtR.js";import"./stack-detail-query-CNmVZ0Bo.js";import"./ComponentBadge-Cnecw3qz.js";import"./ComponentIcon-CMiVW-O6.js";import"./layout-DBbfEFBe.js";import"./trash-DP6Tpp_E.js";import"./DeleteAlertDialog-DEI0YDzP.js";import"./zod-XdS2h1ws.js";import"./index.esm-DhJo3mA6.js";import"./Infobox-CSBRrM6r.js";import"./info-QkbQz4QU.js";import"./bulk-delete-CzYA--cC.js";function O(){const{connectorId:t}=i();return o.jsx(r,{children:o.jsx(m,{fixedQueryParams:{connector_id:t},displayCreateComponent:!1})})}export{O as default};
|
@@ -0,0 +1 @@
|
|
1
|
+
import{j as e,r as j}from"./@radix-Cdvw4jJ8.js";import{B as i,r as u,f as D,i as S,F as b,j as T,aO as x,A as g,k,z as c,D as R,l as A,m as P,p as B,an as E,C as p,v as h,G as L,aP as F,g as f,x as _,b as I}from"./index-BgEfQ3_G.js";import{S as M}from"./SearchField-BtUi6cYl.js";import{c as z,b as C}from"./@tanstack-5gTMR7G2.js";import{S as O}from"./refresh-BcTM09NW.js";import{S as H}from"./plus-Cl0_rCVF.js";import{L as m,f as $}from"./@react-router-DeDfXbUF.js";import{c as G,u as Q}from"./bulk-delete-CzYA--cC.js";import{S as y}from"./trash-DP6Tpp_E.js";import{D as K,a as U}from"./DeleteAlertDialog-DEI0YDzP.js";import{P as q}from"./Pagination-CWnEpSpN.js";import{C as J,R as V}from"./resource-type-tooltip-BL9ZTRKi.js";import{e as W,R as X,E as Y}from"./service-connectors-Q8h7-_rG.js";import"./@reactflow-B_iCtR7X.js";import"./index-DWpiv-Ft.js";import"./zod-XdS2h1ws.js";import"./index.esm-DhJo3mA6.js";import"./chevron-right-double-Dgp_gEsp.js";import"./type-guards-CNgPYg8l.js";function Z(){return e.jsxs("div",{className:"space-y-2",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"Service Connectors"}),e.jsxs("p",{className:"text-text-sm text-theme-text-secondary",children:["Configure and manage your service connectors."," ",e.jsx("a",{target:"_blank",rel:"noreferrer noopener",href:"https://docs.zenml.io/how-to/infrastructure-deployment/auth-management",className:"link text-text-sm text-primary-400",children:"Learn More"})]})]})}function ee(){return e.jsx(i,{size:"md",asChild:!0,children:e.jsxs(m,{to:u.settings.connectors.create,children:[e.jsx(H,{className:"h-5 w-5 shrink-0 fill-white"}),e.jsx("span",{children:"New Connector"})]})})}async function te({connectorId:t}){const s=S(T.serviceConnectors.detail(t)),r=await D(s,{method:"DELETE"});if(!r.ok){const n=await r.json().then(o=>Array.isArray(o.detail)?o.detail[1]:o.detail).catch(()=>`Error while deleting connector ${t}`);throw new b({status:r.status,statusText:r.statusText,message:n})}return r.json()}function se(t){return z({...t,mutationFn:async({connectorId:s})=>te({connectorId:s})})}const{ContextProvider:re,useContext:l}=G();function w(){const{setRowSelection:t}=l(),{mutateAsync:s}=se();async function r(n){await s({connectorId:n})}return Q({deleteFn:r,queryKeyToInvalidate:[...x.connectors],setRowSelection:t})}function v({deleteHandler:t}){return e.jsx(K,{title:"Delete Connectors",handleDelete:t,children:e.jsxs(U,{children:[e.jsx("p",{children:"Are you sure?"}),e.jsx("p",{children:"This action cannot be undone."})]})})}function ne({deleteHandler:t,open:s,setOpen:r}){return e.jsx(g,{open:s,onOpenChange:r,children:e.jsx(v,{deleteHandler:t})})}function oe(){const{selectedRowCount:t,selectedRowIDs:s}=l(),{bulkDelete:r}=w();async function n(){await r(s)}const o=t>1?"s":"",a=`${t} Service connector${o} selected`;return e.jsxs("div",{className:"flex h-7 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:a}),e.jsxs(g,{children:[e.jsx(k,{asChild:!0,children:e.jsxs(i,{className:"rounded-sharp border-y-0 bg-white",size:"md",emphasis:"subtle",intent:"secondary",children:[e.jsx(y,{className:"h-5 w-5 shrink-0 gap-1 fill-neutral-400"}),"Delete"]})}),e.jsx(v,{deleteHandler:n})]})]})}function ae({queryParams:t}){const{selectedRowCount:s}=l();return e.jsx(e.Fragment,{children:e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[s>0?e.jsx(oe,{}):e.jsx(M,{searchParams:t}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ce,{queryParams:t}),e.jsx(ee,{})]})]})})}function ce({queryParams:t}){const{refetch:s}=C(x.serviceConnectorList(t));return e.jsxs(i,{intent:"primary",emphasis:"subtle",size:"md",onClick:()=>s(),children:[e.jsx(O,{className:"h-5 w-5 fill-theme-text-brand"}),"Refresh"]})}const d=1,ie=c.object({page:c.coerce.number().min(d).optional().default(d).catch(d),name:c.string().optional(),operator:c.enum(["and","or"]).optional()});function le(){const[t]=$(),{page:s,name:r,operator:n}=ie.parse({page:t.get("page")||void 0,name:t.get("name")||void 0,sortBy:t.get("sort_by")||void 0});return{page:s,name:r,logical_operator:n}}function de({id:t}){const[s,r]=j.useState(!1),{bulkDelete:n}=w();async function o(){await n([t]),r(!1)}return e.jsxs(e.Fragment,{children:[e.jsx(ne,{deleteHandler:o,open:s,setOpen:r}),e.jsxs(R,{children:[e.jsx(A,{asChild:!0,children:e.jsx(i,{intent:"secondary",emphasis:"minimal",className:"flex aspect-square items-center justify-center p-0",children:e.jsx(P,{className:"h-4 w-4 shrink-0 fill-theme-text-tertiary"})})}),e.jsx(B,{align:"end",sideOffset:7,children:e.jsxs(E,{onSelect:()=>r(!0),className:"cursor-pointer space-x-2",children:[e.jsx(y,{className:"h-3 w-3 fill-neutral-400"}),e.jsx("p",{children:"Delete"})]})})]})]})}function ue(){return j.useMemo(()=>[{id:"select",meta:{width:"1%"},header:({table:t})=>e.jsx(p,{id:"check-all",checked:t.getIsAllRowsSelected(),onCheckedChange:s=>t.toggleAllRowsSelected(s==="indeterminate"?!0:s)}),cell:({row:t})=>e.jsx(p,{id:`check-${t.id}`,checked:t.getIsSelected(),onCheckedChange:t.getToggleSelectedHandler()})},{id:"name",header:"Service Connector",accessorKey:"name",cell:({row:t})=>{var o;const s=t.original.id,r=t.original.name,n=(o=t.original.body)==null?void 0:o.connector_type;return e.jsxs("div",{className:"group/copybutton flex items-center gap-2",children:[!!n&&typeof n!="string"&&e.jsx(J,{connectorType:n}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(m,{to:u.settings.connectors.detail.configuration(s),className:"block max-w-[200px] truncate text-text-md font-semibold",children:r}),e.jsx(h,{copyText:r})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(m,{to:u.settings.connectors.detail.configuration(s),children:s.split("-")[0]}),e.jsx(h,{copyText:s})]})]})]})}},{id:"resource_types",header(){return e.jsx("p",{className:"whitespace-nowrap",children:"Resource Types"})},cell:({row:t})=>{const s=W(t.original);return e.jsx("div",{className:"flex items-center gap-0.5",children:s.map((r,n)=>e.jsx(V,{resourceType:r},n))})}},{id:"resource-name",header(){return e.jsx("p",{className:"whitespace-nowrap",children:"Resource Name"})},cell:({row:t})=>e.jsx("div",{className:"max-w-[100px]",children:e.jsx(X,{connector:t.original})})},{id:"user",header:"Author",accessorFn:t=>{var s,r;return(r=(s=t.resources)==null?void 0:s.user)==null?void 0:r.name},cell:({row:t})=>{var r;const s=(r=t.original.resources)==null?void 0:r.user;return s?e.jsx(L,{className:"max-w-[200px] truncate",username:F(s)}):null}},{id:"expires",header(){return e.jsx("p",{className:"whitespace-nowrap",children:"Expires in"})},accessorFn:t=>{var s;return(s=t.body)==null?void 0:s.expires_at},cell:({row:t})=>{var r;const s=(r=t.original.body)==null?void 0:r.expires_at;return s?e.jsx(Y,{expires:s}):e.jsx("p",{children:"Never"})}},{id:"admin_actions",header:"",cell:({row:t})=>e.jsx(de,{id:t.original.id})}],[])}function me({queryParams:t}){const{rowSelection:s,setRowSelection:r}=l(),n=C({...x.serviceConnectorList(t)}),o=ue();if(n.isPending)return e.jsxs("div",{className:"space-y-5",children:[e.jsx(f,{className:"h-[300px] w-full"}),e.jsx(f,{className:"mx-auto h-[36px] w-[300px]"})]});if(n.isError)return null;const a=n.data;return e.jsx("section",{className:"flex flex-col gap-5",children:e.jsxs("div",{className:"flex flex-col items-center gap-5",children:[e.jsx("div",{className:"w-full",children:e.jsx(_,{columns:o,data:a.items,rowSelection:s,getRowId:N=>N.id,onRowSelectionChange:r})}),a.total_pages>1&&e.jsx(q,{searchParams:t,paginate:a})]})})}function xe(){const s={...le(),sort_by:"desc:updated"};return e.jsxs(e.Fragment,{children:[e.jsx(ae,{queryParams:s}),e.jsx(me,{queryParams:s})]})}function Ee(){return e.jsxs(I,{className:"space-y-4 p-5",children:[e.jsx(Z,{}),e.jsx(re,{children:e.jsx(xe,{})})]})}export{Ee as default};
|
@@ -1 +1 @@
|
|
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-
|
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-BgEfQ3_G.js";import{u as S}from"./login-mutation-C1hvP_cX.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-B_iCtR7X.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};
|
@@ -1,4 +1,4 @@
|
|
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
|
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,b0 as y,by as _,aq as z,bz as L,bm as H,bs as V,bh as Z}from"./index-BgEfQ3_G.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-Ctplhzdc.js";import{H as v}from"./Helpbox-DtUG2Bf_.js";import{S as G}from"./chevron-down-jbbQh82s.js";import{T as U}from"./Tick-Qquvr4P3.js";import{S as q}from"./chevron-right-double-Dgp_gEsp.js";import{C as f,P as C}from"./ProviderRadio-tGtie8Gc.js";import{N as w}from"./NumberBox-DtCv7jh3.js";import{C as g}from"./ProviderIcon-DHejyg7C.js";import{L as W}from"./@react-router-DeDfXbUF.js";import{I as J}from"./Infobox-CSBRrM6r.js";import"./@tanstack-5gTMR7G2.js";import"./@reactflow-B_iCtR7X.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
2
|
import numpy as np
|
3
3
|
from typing import Annotated, Tuple
|
4
4
|
from sklearn.linear_model import LinearRegression
|
@@ -0,0 +1 @@
|
|
1
|
+
import{j as r}from"./@radix-Cdvw4jJ8.js";import{R as o}from"./RunsBody-mYwMcWWj.js";import{b as t}from"./ButtonGroup-4sPZDv70.js";import"./refresh-BcTM09NW.js";import"./Pagination-CWnEpSpN.js";import"./index-BgEfQ3_G.js";import"./@tanstack-5gTMR7G2.js";import"./@react-router-DeDfXbUF.js";import"./@reactflow-B_iCtR7X.js";import"./chevron-right-double-Dgp_gEsp.js";import"./SearchField-BtUi6cYl.js";import"./index-DWpiv-Ft.js";import"./all-pipeline-runs-query-DpKw9WL9.js";import"./terminal-XFL_4QN-.js";import"./DisplayDate-8RESqe5H.js";import"./ExecutionStatus-BuhNAE9w.js";import"./check-circle-C4tYvbtw.js";import"./help-Co6aedki.js";import"./trash-DP6Tpp_E.js";import"./AlertDialogDropdownItem-DsOmO1FH.js";import"./DeleteAlertDialog-DEI0YDzP.js";import"./zod-XdS2h1ws.js";import"./index.esm-DhJo3mA6.js";import"./bulk-delete-CzYA--cC.js";import"./delete-run-BkyDsKQc.js";function k(){return r.jsx(t,{children:r.jsx(o,{})})}export{k as default};
|
@@ -1 +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-
|
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-dyDkAxXP.js";import{A as j,I as U,P as h,U as b,S as _}from"./UsageReason-DhiUV1bu.js";import{a as g,S as C,b9 as P,e as w,g as A}from"./index-BgEfQ3_G.js";import{u as E}from"./update-current-user-mutation-Ca-Lmwuj.js";import{h as F}from"./@tanstack-5gTMR7G2.js";import"./check-circle-C4tYvbtw.js";import"./@react-router-DeDfXbUF.js";import"./UpdatePasswordSchemas-D_DCETSO.js";import"./zod-XdS2h1ws.js";import"./index.esm-DhJo3mA6.js";import"./gcp-B1I3Qvcx.js";import"./@reactflow-B_iCtR7X.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};
|
@@ -1 +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-
|
1
|
+
import{r as u,j as r}from"./@radix-Cdvw4jJ8.js";import{B as f,F as x,W as h}from"./Wizard-BHvY75u_.js";import{J as j,g as C,B as a,r as m}from"./index-BgEfQ3_G.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-DSoMMiPE.js";import"./@reactflow-B_iCtR7X.js";import"./index-eoDB_1XX.js";import"./form-BgtamtJm.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-Ctplhzdc.js";import"./file-text-Cd8wVfq5.js";import"./terminal-square-XFL_4QN-.js";import"./ComponentIcon-CMiVW-O6.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};
|
@@ -1 +1 @@
|
|
1
|
-
import{r as d,j as e}from"./@radix-Cdvw4jJ8.js";import{u as V,W as ie,L as ce}from"./LeftSideMenu-DCsKdIjC.js";import{y as le,aR as de,r as R,P as ue,z as y,B as b,h as L,g as N,aS as me,w as he,aO as S,f as H,i as O,F as Z,j as Q,aT as xe,aU as q,aV as I,aW as W,aX as Y,ar as U,aY as k,ay as pe,S as K,I as z,aZ as fe,e as je,a as ye,v as B,G as ge,aP as Ce,x as ve}from"./index-BFqbGSck.js";import{W as _,H as A,B as P,F as E}from"./Wizard-Dg8Pmn5A.js";import{t as J}from"./zod-XdS2h1ws.js";import{a as C,C as w,u as $,F as G}from"./index.esm-DhJo3mA6.js";import{S as X}from"./arrow-left-MRXv5pAH.js";import{L as ee}from"./@react-router-DeDfXbUF.js";import{R as be}from"./resource-tyes-list-o2LXiMay.js";import{b as M,c as se,h as Ne}from"./@tanstack-5gTMR7G2.js";import{S as Se}from"./transform-CeZdrxDZ.js";import{g as we,a as Te,D as Ve,b as Me}from"./form-DFJkaFDX.js";import{A as ke}from"./index.es-C1gfATPn.js";import{S as Fe}from"./Lock-CrIAdQo6.js";import{S as F}from"./check-circle-C4tYvbtw.js";import{d as Re}from"./index-DWpiv-Ft.js";import{S as _e}from"./package-miExReQl.js";import{e as Ae,R as Pe,E as Ee}from"./service-connectors-DSEMwJ5A.js";import{C as ze,R as Be}from"./resource-type-tooltip-DwHrJstL.js";import"./Tick-BPrWnNlN.js";import"./check-B9QMTa3f.js";import"./@reactflow-8OCk19Fi.js";import"./plus-Cl0_rCVF.js";import"./trash-DP6Tpp_E.js";import"./type-guards-CNgPYg8l.js";function De(){const{setBreadcrumbs:s}=le();d.useEffect(()=>{s([...de,{label:"New Connector",href:R.settings.connectors.create}])},[s])}function Le(){return De(),e.jsx(ue,{children:e.jsx("p",{className:"text-display-xs font-semibold",children:"Register a Service Connector"})})}const te=d.createContext(null);function He({children:s}){const[t,r]=d.useState(""),[n,a]=d.useState(null);return e.jsx(te.Provider,{value:{connectorType:t,setConnectorType:r,createdConnector:n,setCreatedConnector:a},children:s})}function v(){const s=d.useContext(te);if(!s)throw new Error("useRegisterConnectorContext must be used within a RegisterConnectorProvider");return s}const Oe=y.object({connectorType:y.string().trim().min(1)});function re(){return e.jsx(b,{size:"md",intent:"secondary",asChild:!0,children:e.jsx(ee,{to:R.settings.connectors.overview,children:"Cancel"})})}function ne({isPending:s,...t}){return e.jsxs(b,{type:"submit",size:"md",intent:"primary",...t,children:[!!s&&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"}),e.jsx("span",{children:"Next"}),e.jsx(X,{width:24,height:24,className:"size-5 shrink-0 rotate-180 fill-white"})]})}function Ze(s){const{goToPreviousStep:t}=V();return e.jsxs(b,{onClick:()=>t(),type:"button",size:"md",intent:"primary",emphasis:"subtle",...s,children:[e.jsx(X,{width:24,height:24,className:"size-5 shrink-0 fill-primary-600"}),"Prev"]})}const Qe=s=>d.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...s},d.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.24923 9.14303C6.0632 6.17816 8.7764 4 12 4C15.2236 4 17.9368 6.17816 18.7508 9.14303C21.1861 9.70961 23 11.8925 23 14.5C23 17.5376 20.5376 20 17.5 20H6.5C3.46243 20 1 17.5376 1 14.5C1 11.8925 2.8139 9.70961 5.24923 9.14303ZM12 6C9.51785 6 7.45643 7.80968 7.0665 10.1816C6.99268 10.6306 6.62505 10.9731 6.17196 11.0151C4.39329 11.1798 3 12.6778 3 14.5C3 16.433 4.567 18 6.5 18H17.5C19.433 18 21 16.433 21 14.5C21 12.6778 19.6067 11.1798 17.828 11.0151C17.375 10.9731 17.0073 10.6306 16.9335 10.1816C16.5436 7.80968 14.4822 6 12 6Z"}));function qe(){return e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(Qe,{className:"size-5 shrink-0 stroke-primary-400"}),e.jsx("p",{className:"font-sebmibold text-text-lg",children:"Select a Service Connector Type"})]}),e.jsx("p",{className:"text-theme-text-secondary",children:"Select the type of service connector you want to create. This will allow you to integrate your cloud resources with ZenML for model deployment and management."})]})}function Ie(){const s=M(S.serviceConnectorTypeList()),{control:t}=C();if(s.isError)return e.jsx("p",{children:"Failed to fetch Connector Type List"});if(s.isPending)return e.jsx(Ke,{});const r=s.data;return e.jsx("ul",{className:"space-y-2",children:r.map(n=>e.jsx("li",{children:e.jsx(w,{control:t,name:"connectorType",render:({field:{onChange:a,value:i}})=>e.jsxs("label",{className:L("flex w-full cursor-pointer items-center gap-5 rounded-md border p-5 transition-colors",{"border-primary-400 bg-primary-25 shadow-sm":i===n.connector_type,"border-theme-border-moderate hover:border-theme-border-bold hover:shadow-sm":i!==n.connector_type}),children:[e.jsx("input",{type:"radio",name:"connectorType",onChange:()=>a(n.connector_type),checked:i===n.connector_type,value:n.name,className:"h-3 w-3 border !border-theme-border-bold text-theme-surface-primary focus:ring-2 focus:ring-theme-surface-strong"}),e.jsxs("div",{className:"grid grid-cols-1 items-center gap-5 xl:grid-cols-3",children:[e.jsx(We,{connectorType:n}),e.jsx(Ye,{resourceTypes:n.resource_types}),e.jsx(Ue,{authMethods:n.auth_methods})]})]})})},n.name))})}function We({connectorType:s}){return e.jsxs("div",{className:"flex items-center gap-3",children:[s.logo_url&&e.jsx("img",{src:s.logo_url,width:32,height:32,className:"size-6 shrink-0",alt:s.name}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("div",{className:"text-text-lg font-semibold",children:s.name}),s.description&&e.jsx("span",{className:"text-text-sm text-theme-text-secondary",children:me(s.description,70)})]})]})}function Ye({resourceTypes:s}){return e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("p",{className:"text-text-xs text-theme-text-secondary",children:"Resource Types"}),e.jsx(be,{iconSize:16,size:"xs",resourceTypes:s})]})}function Ue({authMethods:s}){return e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("p",{className:"text-text-xs text-theme-text-secondary",children:"Auth Methods"}),e.jsx("div",{className:"flex flex-wrap gap-1",children:s.map(t=>e.jsx(he,{className:"w-fit",color:"blue",emphasis:"subtle",size:"xs",rounded:!1,children:t.name},t.auth_method))})]})}function Ke(){return e.jsx("div",{className:"w-full space-y-2",children:[...Array(4)].map((s,t)=>e.jsx(N,{className:"h-[110px] w-full"},t))})}function Je(){const{goToNextStep:s}=V(),{setConnectorType:t,connectorType:r}=v(),n=$({resolver:J(Oe),defaultValues:{connectorType:r}});function a({connectorType:i}){t(i),s()}return e.jsx(_,{children:e.jsx(G,{...n,children:e.jsxs("form",{onSubmit:n.handleSubmit(a),children:[e.jsx(A,{children:"Select Your Implementation"}),e.jsx(P,{children:e.jsxs("div",{className:"space-y-5",children:[e.jsx(qe,{}),e.jsx(Ie,{})]})}),e.jsxs(E,{children:[e.jsx(re,{}),e.jsx(ne,{disabled:!n.formState.isValid})]})]})})})}async function $e({body:s}){const t=O(Q.serviceConnectors.list),r=await H(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)});if(!r.ok){const n=await r.json().then(a=>Array.isArray(a.detail)?a.detail[1]:a.detail).catch(()=>"Failed to create service connector");throw new Z({status:r.status,statusText:r.statusText,message:n})}return r.json()}function Ge(s){return se({...s,mutationFn:async({body:t})=>$e({body:t})})}const Xe=ke(async s=>{try{return!((await xe({name:s})).total>0)}catch(t){return console.error(t),!1}},500),es=y.object({description:y.string().trim(),authMethod:y.string().trim().min(1,"Auth method is required"),resourceType:y.string().trim().min(1,"Resource type is required"),isValid:y.boolean().nullable(),skipValidation:y.boolean()});function ae(s){const t=d.useRef(s),r=d.useRef(!0),n=d.useMemo(()=>y.object({name:y.string().trim().min(1,"Name is required").max(32,"Name can be at most 32 characters").regex(/^[a-zA-Z0-9-]+$/,"Name can only contain letters, numbers and dashes").refine(async a=>{if(!a)return!0;if(a!==t.current){t.current=a;const i=await Xe(a);return r.current=i,i}return r.current},{message:"Service connector with this name already exists"})}),[]);return es.merge(n)}function ss({setConfigDefaultValues:s,setSchema:t}){return e.jsxs("section",{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(Se,{width:24,height:24,className:"shrink-0 fill-primary-400"}),e.jsx("p",{className:"text-text-lg font-semibold",children:"Select an Authentication Method"})]}),e.jsx("p",{className:"text-theme-text-secondary",children:"Connect ZenML to your cloud provider for seamless integration of cloud services into your ML pipelines."})]}),e.jsx(ts,{setConfigDefaultValues:s,setSchema:t})]})}function ts({setConfigDefaultValues:s,setSchema:t}){const{control:r,resetField:n}=C(),a=ae(""),{connectorType:i}=v(),u=M(S.serviceConnectorTypeDetail(i));if(u.isError)return e.jsxs("p",{children:["Failed to fetch Connector Type ",i]});if(u.isPending)return e.jsx(N,{className:"h-7 w-full"});const f=u.data,l=f.auth_methods.filter(x=>x.auth_method!=="implicit");function c(x){const o=l.find(p=>p.auth_method===x);if(!o)return;const h=o.config_schema,m=we(h),j=Te(h);s(j),t(a.merge(m)),Object.keys(m.shape).forEach(p=>n(p))}return e.jsx(w,{control:r,name:"authMethod",render:({field:x,formState:{errors:o}})=>{var h;return e.jsxs("div",{className:"space-y-1",children:[e.jsxs(q,{onValueChange:m=>{x.onChange(m),c(m)},defaultValue:x.value,children:[e.jsx(I,{"data-error":!!o.authMethod,className:"border border-theme-border-moderate data-[error=true]:border-error-500",children:e.jsx(W,{placeholder:"Select your Authentication Method"})}),e.jsx(Y,{className:"",children:e.jsx(U,{viewportClassName:"max-h-[300px]",children:l.map(m=>e.jsx(k,{value:m.auth_method,children:e.jsxs("div",{className:"flex items-center gap-1",children:[f.logo_url&&e.jsx("img",{alt:m.name,width:24,height:24,className:"shrink-0 object-contain",src:f.logo_url}),m.name]})},m.name))})})]}),o.authMethod&&e.jsx("p",{className:"text-text-xs text-red-500",children:(h=o.authMethod.message)==null?void 0:h.toString()})]})}})}function rs(){const{control:s}=C();return e.jsx(w,{name:"skipValidation",control:s,render:({field:t,fieldState:{error:r}})=>{var n;return e.jsxs("div",{className:"space-y-0.5",children:[e.jsxs("label",{className:"flex items-center gap-2",children:[e.jsx(pe,{checked:t.value,onCheckedChange:t.onChange}),e.jsx("span",{children:"Register without validation"})]}),r&&e.jsx("p",{className:"text-text-xs text-red-500",children:(n=r.message)==null?void 0:n.toString()})]})}})}function oe({name:s,authMethod:t,connectorType:r,user:n,workspace:a,resourceType:i,description:u,isValid:f,skipValidation:l,...c}){return Object.keys(c).forEach(o=>{(c[o]===""||c[o]===null||c[o]===void 0||Array.isArray(c[o])&&c[o].length===0||typeof c[o]=="object"&&!Array.isArray(c[o])&&Object.keys(c[o]).length===0)&&delete c[o]}),{name:s,auth_method:t,connector_type:r,resource_types:i==="all"?void 0:[i],description:u||void 0,configuration:c,user:n}}async function ns({payload:s}){const t=O(Q.serviceConnectors.verify),r=await H(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)});if(!r.ok){const n=await r.json().then(a=>Array.isArray(a.detail)?a.detail[1]:a.detail).catch(()=>"Failed to verify connector");throw new Z({status:r.status,statusText:r.statusText,message:n})}return r.json()}function as(s){return se({...s,mutationFn:async({payload:t})=>ns({payload:t})})}function os({mandatoryFields:s}){const t=d.useMemo(()=>[...s,"name","authMethod","resourceType"],[s]),[r,n]=d.useState(!0),[a,i]=d.useState(""),{setValue:u,clearErrors:f,watch:l,resetField:c}=C();d.useEffect(()=>{const o=l((h,{name:m})=>{m&&(m==="isValid"||m==="skipValidation"||h.isValid!==null&&c("isValid"))});return()=>o.unsubscribe()},[l,c]),d.useEffect(()=>{const h=Re(j=>{const T=t.every(p=>{const g=j[p];return g==null||g===""?!1:Array.isArray(g)?g.length>0:typeof g=="object"?Object.keys(g).length>0:!0});n(!T)},300),m=l(j=>{h(j)});return()=>{m.unsubscribe(),h.cancel()}},[l,t]);const x=as({onMutate:()=>{i("")},onSuccess:o=>{if(o.error){u("isValid",!1),i(o.error);return}u("isValid",!0),f("skipValidation")},onError:()=>{u("isValid",!1)}});return{disabled:r,errorMsg:a,verifyConfig:x}}function is({user:s,mandatoryFields:t}){const{connectorType:r}=v(),{control:n,getValues:a}=C(),{disabled:i,errorMsg:u,verifyConfig:f}=os({mandatoryFields:t});return e.jsx(w,{control:n,name:"isValid",render:({field:l})=>e.jsxs("div",{className:"space-y-5",children:[e.jsx(b,{disabled:i,size:"md",className:L("flex w-full items-center justify-center gap-3",{"border-success-500 bg-success-500 text-white":l.value===!0}),type:"button",intent:"primary",emphasis:"subtle",onClick:()=>{const c=oe({...a(),connectorType:r,user:s});f.mutate({payload:c})},children:e.jsx(cs,{disabled:i,isValid:l.value,isPending:f.isPending})}),u&&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:u})]})})}function cs({isValid:s,isPending:t,disabled:r}){return t?e.jsxs(e.Fragment,{children:[e.jsx("div",{role:"alert","aria-busy":"true",className:"full h-5 w-5 animate-spin rounded-rounded border-2 border-neutral-300 border-b-theme-text-brand"}),"Validating Credentials..."]}):s===null?e.jsxs(e.Fragment,{children:[e.jsx(F,{width:24,height:24,"data-disabled":r,className:"fill-primary-600 data-[disabled=true]:fill-primary-100"}),"Validate Credentials"]}):s?e.jsxs(e.Fragment,{children:[e.jsx(F,{width:24,height:24,className:"fill-white"}),"Verified successfully"]}):e.jsxs(e.Fragment,{children:[e.jsx(K,{width:24,height:24,"data-disabled":r,className:"fill-primary-600 data-[disabled=true]:fill-primary-100"}),"Invalid Credentials"]})}function ls({user:s}){return e.jsxs("section",{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(Fe,{width:24,height:24,className:"shrink-0 fill-primary-400"}),e.jsx("p",{className:"text-text-lg font-semibold",children:"Add your configuration"})]}),e.jsx("p",{className:"text-theme-text-secondary",children:"Your credentials are securely stored and encrypted. ZenML uses these credentials to interact with your resources."})]}),e.jsx(ds,{user:s})]})}function ds({user:s}){const{getValues:t}=C(),{connectorType:r}=v(),n=M(S.serviceConnectorTypeDetail(r));if(n.isError)return e.jsxs("p",{children:["Failed to fetch Connector Type ",r]});if(n.isPending)return e.jsx(N,{className:"h-7 w-full"});const i=n.data.auth_methods.find(o=>o.auth_method===t("authMethod"));if(!i)return null;const u=i.config_schema,f=u.properties||{},l=u.required||[],c=u.$defs,x=Object.entries(f).sort(([o],[h])=>l.includes(o)&&!l.includes(h)?-1:!l.includes(o)&&l.includes(h)?1:0);return e.jsxs("div",{className:"space-y-5",children:[x.map(([o,h])=>e.jsx(Ve,{definitions:c,isOptional:Me(o,l),name:o,schema:h},o)),e.jsx(is,{mandatoryFields:l,user:s}),e.jsx(rs,{})]})}const us=s=>d.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...s},d.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.7587 2H16.2413C17.0463 1.99999 17.7106 1.99998 18.2518 2.04419C18.8139 2.09012 19.3306 2.18868 19.816 2.43597C20.5686 2.81947 21.1805 3.43139 21.564 4.18404C21.8113 4.66937 21.9099 5.18608 21.9558 5.74817C22 6.28936 22 6.95372 22 7.75868V16.2413C22 17.0463 22 17.7106 21.9558 18.2518C21.9099 18.8139 21.8113 19.3306 21.564 19.816C21.1805 20.5686 20.5686 21.1805 19.816 21.564C19.3306 21.8113 18.8139 21.9099 18.2518 21.9558C17.7106 22 17.0463 22 16.2413 22H7.75868C6.95372 22 6.28936 22 5.74817 21.9558C5.18608 21.9099 4.66937 21.8113 4.18404 21.564C3.43139 21.1805 2.81947 20.5686 2.43597 19.816C2.18868 19.3306 2.09012 18.8139 2.04419 18.2518C1.99998 17.7106 1.99999 17.0463 2 16.2413V7.7587C1.99999 6.95373 1.99998 6.28937 2.04419 5.74817C2.09012 5.18608 2.18868 4.66937 2.43597 4.18404C2.81947 3.43139 3.43139 2.81947 4.18404 2.43597C4.66937 2.18868 5.18608 2.09012 5.74817 2.04419C6.28937 1.99998 6.95373 1.99999 7.7587 2ZM5.91104 4.03755C5.47262 4.07337 5.24842 4.1383 5.09202 4.21799C4.7157 4.40973 4.40973 4.7157 4.21799 5.09202C4.1383 5.24842 4.07337 5.47262 4.03755 5.91104C4.00078 6.36113 4 6.94342 4 7.8V16.2C4 17.0566 4.00078 17.6389 4.03755 18.089C4.07337 18.5274 4.1383 18.7516 4.21799 18.908C4.40973 19.2843 4.7157 19.5903 5.09202 19.782C5.24842 19.8617 5.47262 19.9266 5.91104 19.9624C6.36113 19.9992 6.94342 20 7.8 20H16.2C17.0566 20 17.6389 19.9992 18.089 19.9624C18.5274 19.9266 18.7516 19.8617 18.908 19.782C19.2843 19.5903 19.5903 19.2843 19.782 18.908C19.8617 18.7516 19.9266 18.5274 19.9624 18.089C19.9992 17.6389 20 17.0566 20 16.2V7.8C20 6.94342 19.9992 6.36113 19.9624 5.91104C19.9266 5.47262 19.8617 5.24842 19.782 5.09202C19.5903 4.7157 19.2843 4.40973 18.908 4.21799C18.7516 4.1383 18.5274 4.07337 18.089 4.03755C17.6389 4.00078 17.0566 4 16.2 4H7.8C6.94342 4 6.36113 4.00078 5.91104 4.03755ZM7 7C7 6.44772 7.44772 6 8 6H16C16.5523 6 17 6.44772 17 7C17 7.55229 16.5523 8 16 8H13V17C13 17.5523 12.5523 18 12 18C11.4477 18 11 17.5523 11 17V8H8C7.44772 8 7 7.55229 7 7Z"}));function ms(){var r,n;const{register:s,formState:{errors:t}}=C();return e.jsxs("section",{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(us,{width:24,height:24,className:"shrink-0 fill-primary-400"}),e.jsx("p",{className:"text-text-lg font-semibold",children:"Select a name and description for your Service Connector"})]}),e.jsx("p",{className:"text-theme-text-secondary",children:"You can keep the suggested name or create your own."})]}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsxs("label",{className:"font-inter text-sm text-left font-medium leading-5",children:["Name",e.jsx("span",{className:"text-theme-text-error","aria-label":"required",children:"*"})]}),e.jsx(z,{"data-error":!!t.name,...s("name"),className:"w-full data-[error=true]:border-error-500",inputSize:"md"}),e.jsx("p",{className:"text-text-xs text-theme-text-secondary",children:"Only letters, numbers and dashes. It should be 32 characters max. You cannot use an existing name."}),t.name&&e.jsx("p",{className:"text-text-xs text-red-500",children:(r=t.name.message)==null?void 0:r.toString()})]}),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(z,{...s("description"),className:"w-full",inputSize:"md"}),t.description&&e.jsx("p",{className:"text-text-xs text-red-500",children:(n=t.description.message)==null?void 0:n.toString()})]})]})}function hs(){return e.jsxs("section",{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(_e,{width:24,height:24,className:"shrink-0 fill-primary-400"}),e.jsx("p",{className:"text-text-lg font-semibold",children:"Select your resource type"})]}),e.jsxs("p",{className:"text-theme-text-secondary",children:["Select resource types your connector will provide access to. Choose a specific type or enable all available resources."," ",e.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://docs.zenml.io/how-to/infrastructure-deployment/auth-management/service-connectors-guide#resource-types",className:"link text-theme-text-brand",children:"Learn More"})]})]}),e.jsx(xs,{})]})}function xs(){const{control:s}=C(),{connectorType:t}=v(),r=M(S.serviceConnectorTypeDetail(t));if(r.isError)return e.jsxs("p",{children:["Failed to fetch Connector Type ",t]});if(r.isPending)return e.jsx(N,{className:"h-7 w-full"});const n=r.data;return e.jsx(w,{control:s,name:"resourceType",render:({field:a})=>e.jsxs(q,{onValueChange:a.onChange,defaultValue:a.value,children:[e.jsx(I,{className:"border border-theme-border-moderate",children:e.jsx(W,{placeholder:"Select your Resource Type"})}),e.jsx(Y,{className:"",children:e.jsxs(U,{viewportClassName:"max-h-[300px]",children:[n.resource_types.map(i=>e.jsx(k,{value:i.resource_type,children:e.jsxs("div",{className:"flex items-center gap-1",children:[i.logo_url&&e.jsx("img",{alt:i.name,width:24,height:24,className:"shrink-0 object-contain",src:i.logo_url}),i.name]})},i.name)),e.jsx(k,{value:"all",children:e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(fe,{width:24,height:24,className:"shrink-0 fill-neutral-400 object-contain"}),"All resources types"]})})]})})]})})}function ps(){const s=je(),{connectorType:t,setCreatedConnector:r}=v(),{goToNextStep:n}=V(),a=ae(""),[i,u]=d.useState(a),{toast:f}=ye(),l=S.connectors,c=Ne(),x=Ge({onSuccess:p=>{c.invalidateQueries({queryKey:l}),r(p),n()},onError:p=>{f({status:"error",emphasis:"subtle",icon:e.jsx(K,{width:24,height:24,className:"shrink-0 fill-error-700"}),description:p.message,rounded:!0})}}),[o,h]=d.useState({}),m=i.refine(p=>p.isValid===!0||p.skipValidation===!0,{message:"Either verify the connector or register without validation",path:["skipValidation"]}),j=$({resolver:J(m),shouldUnregister:!0,mode:"onChange",defaultValues:{name:"",description:"",authMethod:"",isValid:null,resourceType:"all",skipValidation:!1,...o}});if(s.isPending)return e.jsx(N,{className:"h-[500px] w-full"});if(s.isError)return e.jsx("p",{children:"Error fetching user"});const T=p=>{const g=oe({...p,connectorType:t,user:s.data.id});x.mutate({body:g})};return e.jsx(_,{children:e.jsxs(G,{...j,children:[e.jsx(A,{children:"Configure your Service Connector"}),e.jsxs("form",{onSubmit:j.handleSubmit(T),children:[e.jsx(P,{children:e.jsxs("div",{className:"divide-y divide-theme-border-moderate *:py-5 first:*:pt-0 last:*:pb-0",children:[e.jsx(ms,{}),e.jsx(hs,{}),e.jsx(ss,{setConfigDefaultValues:h,setSchema:u}),e.jsx(ls,{user:s.data.id})]})}),e.jsxs(E,{children:[e.jsx(re,{}),e.jsx(Ze,{}),e.jsx(ne,{isPending:j.formState.isSubmitting||x.isPending,disabled:j.formState.isSubmitting||x.isPending})]})]})]})})}function fs({connectorName:s}){return e.jsxs("div",{className:"flex w-full items-center gap-3 rounded-md border border-success-300 bg-success-50 px-4 py-3 text-text-sm text-success-900",children:[e.jsx(F,{width:24,height:24,className:"shrink-0 fill-success-900"}),e.jsxs("p",{children:["You successfully registered the service connector `",s,"` and can now create new resources"]})]})}function js(){return d.useMemo(()=>[{id:"name",header:"Service Connector",accessorKey:"name",cell:({row:s})=>{var a;const t=s.original.id,r=s.original.name,n=(a=s.original.body)==null?void 0:a.connector_type;return e.jsxs("div",{className:"group/copybutton flex items-center gap-2",children:[!!n&&typeof n!="string"&&e.jsx(ze,{connectorType:n}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("div",{className:"block max-w-[200px] truncate text-text-md font-semibold",children:r}),e.jsx(B,{copyText:r})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("div",{children:t.split("-")[0]}),e.jsx(B,{copyText:t})]})]})]})}},{id:"resource_types",header(){return e.jsx("p",{className:"whitespace-nowrap",children:"Resource Types"})},cell:({row:s})=>{const t=Ae(s.original);return e.jsx("div",{className:"flex items-center gap-0.5",children:t.map((r,n)=>e.jsx(Be,{resourceType:r},n))})}},{id:"resource-name",header(){return e.jsx("p",{className:"whitespace-nowrap",children:"Resource Name"})},cell:({row:s})=>e.jsx("div",{className:"max-w-[100px]",children:e.jsx(Pe,{connector:s.original})})},{id:"user",header:"Author",accessorFn:s=>{var t,r;return(r=(t=s.resources)==null?void 0:t.user)==null?void 0:r.name},cell:({row:s})=>{var r;const t=(r=s.original.resources)==null?void 0:r.user;return t?e.jsx(ge,{className:"max-w-[200px] truncate",username:Ce(t)}):null}},{id:"expires",header(){return e.jsx("p",{className:"whitespace-nowrap",children:"Expires in"})},accessorFn:s=>{var t;return(t=s.body)==null?void 0:t.expires_at},cell:({row:s})=>{var r;const t=(r=s.original.body)==null?void 0:r.expires_at;return t?e.jsx(Ee,{expires:t}):e.jsx("p",{children:"Never"})}}],[])}function ys({connector:s}){const t=js();return e.jsx("section",{className:"flex flex-col gap-5",children:e.jsx("div",{className:"flex flex-col items-center gap-5",children:e.jsx("div",{className:"w-full",children:e.jsx(ve,{columns:t,data:[s]})})})})}function gs(){const{createdConnector:s}=v();return s?e.jsxs(_,{children:[e.jsx(A,{children:"Your Service Connector"}),e.jsx(P,{children:e.jsxs("div",{className:"space-y-5",children:[e.jsx(fs,{connectorName:s.name}),e.jsx(ys,{connector:s})]})}),e.jsx(E,{children:e.jsx(Cs,{connectorId:s.id})})]}):e.jsx("p",{children:"No connector created"})}function Cs({connectorId:s}){return e.jsx(b,{asChild:!0,type:"submit",size:"md",intent:"primary",children:e.jsx(ee,{to:R.settings.connectors.detail.configuration(s),children:"Finish"})})}function vs(){return e.jsx(He,{children:e.jsx(bs,{})})}function bs(){const{currentStep:s}=V();if(s===0)return e.jsx(Je,{});if(s===1)return e.jsx(ps,{});if(s===2)return e.jsx(gs,{})}const D=["Connector Type","Configuration"];function Us(){return e.jsxs("div",{children:[e.jsx(Le,{}),e.jsx("div",{className:"layout-container flex flex-col gap-5 px-3 py-5 xl:flex-row xl:px-0",children:e.jsxs(ie,{maxSteps:D.length,initialStep:0,children:[e.jsx("div",{className:"shrink-0",children:e.jsx(ce,{entries:D})}),e.jsx("div",{className:"w-full",children:e.jsx(vs,{})})]})})]})}export{Us as default};
|
1
|
+
import{r as d,j as e}from"./@radix-Cdvw4jJ8.js";import{u as V,W as ie,L as ce}from"./LeftSideMenu-DPsCCK3z.js";import{y as le,aR as de,r as R,P as ue,z as y,B as b,h as L,g as N,aS as me,w as he,aO as S,f as H,i as O,F as Z,j as Q,aT as xe,aU as q,aV as I,aW as W,aX as Y,ar as U,aY as k,ay as pe,S as K,I as z,aZ as fe,e as je,a as ye,v as B,G as ge,aP as Ce,x as ve}from"./index-BgEfQ3_G.js";import{W as _,H as A,B as P,F as E}from"./Wizard-BHvY75u_.js";import{t as J}from"./zod-XdS2h1ws.js";import{a as C,C as w,u as $,F as G}from"./index.esm-DhJo3mA6.js";import{S as X}from"./arrow-left-MRXv5pAH.js";import{L as ee}from"./@react-router-DeDfXbUF.js";import{R as be}from"./resource-tyes-list-79FqS3LY.js";import{b as M,c as se,h as Ne}from"./@tanstack-5gTMR7G2.js";import{S as Se}from"./transform-CeZdrxDZ.js";import{g as we,a as Te,D as Ve,b as Me}from"./form-BgtamtJm.js";import{A as ke}from"./index.es-C1gfATPn.js";import{S as Fe}from"./Lock-CrIAdQo6.js";import{S as F}from"./check-circle-C4tYvbtw.js";import{d as Re}from"./index-DWpiv-Ft.js";import{S as _e}from"./package-miExReQl.js";import{e as Ae,R as Pe,E as Ee}from"./service-connectors-Q8h7-_rG.js";import{C as ze,R as Be}from"./resource-type-tooltip-BL9ZTRKi.js";import"./Tick-Qquvr4P3.js";import"./check-B9QMTa3f.js";import"./@reactflow-B_iCtR7X.js";import"./plus-Cl0_rCVF.js";import"./trash-DP6Tpp_E.js";import"./type-guards-CNgPYg8l.js";function De(){const{setBreadcrumbs:s}=le();d.useEffect(()=>{s([...de,{label:"New Connector",href:R.settings.connectors.create}])},[s])}function Le(){return De(),e.jsx(ue,{children:e.jsx("p",{className:"text-display-xs font-semibold",children:"Register a Service Connector"})})}const te=d.createContext(null);function He({children:s}){const[t,r]=d.useState(""),[n,a]=d.useState(null);return e.jsx(te.Provider,{value:{connectorType:t,setConnectorType:r,createdConnector:n,setCreatedConnector:a},children:s})}function v(){const s=d.useContext(te);if(!s)throw new Error("useRegisterConnectorContext must be used within a RegisterConnectorProvider");return s}const Oe=y.object({connectorType:y.string().trim().min(1)});function re(){return e.jsx(b,{size:"md",intent:"secondary",asChild:!0,children:e.jsx(ee,{to:R.settings.connectors.overview,children:"Cancel"})})}function ne({isPending:s,...t}){return e.jsxs(b,{type:"submit",size:"md",intent:"primary",...t,children:[!!s&&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"}),e.jsx("span",{children:"Next"}),e.jsx(X,{width:24,height:24,className:"size-5 shrink-0 rotate-180 fill-white"})]})}function Ze(s){const{goToPreviousStep:t}=V();return e.jsxs(b,{onClick:()=>t(),type:"button",size:"md",intent:"primary",emphasis:"subtle",...s,children:[e.jsx(X,{width:24,height:24,className:"size-5 shrink-0 fill-primary-600"}),"Prev"]})}const Qe=s=>d.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...s},d.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.24923 9.14303C6.0632 6.17816 8.7764 4 12 4C15.2236 4 17.9368 6.17816 18.7508 9.14303C21.1861 9.70961 23 11.8925 23 14.5C23 17.5376 20.5376 20 17.5 20H6.5C3.46243 20 1 17.5376 1 14.5C1 11.8925 2.8139 9.70961 5.24923 9.14303ZM12 6C9.51785 6 7.45643 7.80968 7.0665 10.1816C6.99268 10.6306 6.62505 10.9731 6.17196 11.0151C4.39329 11.1798 3 12.6778 3 14.5C3 16.433 4.567 18 6.5 18H17.5C19.433 18 21 16.433 21 14.5C21 12.6778 19.6067 11.1798 17.828 11.0151C17.375 10.9731 17.0073 10.6306 16.9335 10.1816C16.5436 7.80968 14.4822 6 12 6Z"}));function qe(){return e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(Qe,{className:"size-5 shrink-0 stroke-primary-400"}),e.jsx("p",{className:"font-sebmibold text-text-lg",children:"Select a Service Connector Type"})]}),e.jsx("p",{className:"text-theme-text-secondary",children:"Select the type of service connector you want to create. This will allow you to integrate your cloud resources with ZenML for model deployment and management."})]})}function Ie(){const s=M(S.serviceConnectorTypeList()),{control:t}=C();if(s.isError)return e.jsx("p",{children:"Failed to fetch Connector Type List"});if(s.isPending)return e.jsx(Ke,{});const r=s.data;return e.jsx("ul",{className:"space-y-2",children:r.map(n=>e.jsx("li",{children:e.jsx(w,{control:t,name:"connectorType",render:({field:{onChange:a,value:i}})=>e.jsxs("label",{className:L("flex w-full cursor-pointer items-center gap-5 rounded-md border p-5 transition-colors",{"border-primary-400 bg-primary-25 shadow-sm":i===n.connector_type,"border-theme-border-moderate hover:border-theme-border-bold hover:shadow-sm":i!==n.connector_type}),children:[e.jsx("input",{type:"radio",name:"connectorType",onChange:()=>a(n.connector_type),checked:i===n.connector_type,value:n.name,className:"h-3 w-3 border !border-theme-border-bold text-theme-surface-primary focus:ring-2 focus:ring-theme-surface-strong"}),e.jsxs("div",{className:"grid grid-cols-1 items-center gap-5 xl:grid-cols-3",children:[e.jsx(We,{connectorType:n}),e.jsx(Ye,{resourceTypes:n.resource_types}),e.jsx(Ue,{authMethods:n.auth_methods})]})]})})},n.name))})}function We({connectorType:s}){return e.jsxs("div",{className:"flex items-center gap-3",children:[s.logo_url&&e.jsx("img",{src:s.logo_url,width:32,height:32,className:"size-6 shrink-0",alt:s.name}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("div",{className:"text-text-lg font-semibold",children:s.name}),s.description&&e.jsx("span",{className:"text-text-sm text-theme-text-secondary",children:me(s.description,70)})]})]})}function Ye({resourceTypes:s}){return e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("p",{className:"text-text-xs text-theme-text-secondary",children:"Resource Types"}),e.jsx(be,{iconSize:16,size:"xs",resourceTypes:s})]})}function Ue({authMethods:s}){return e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("p",{className:"text-text-xs text-theme-text-secondary",children:"Auth Methods"}),e.jsx("div",{className:"flex flex-wrap gap-1",children:s.map(t=>e.jsx(he,{className:"w-fit",color:"blue",emphasis:"subtle",size:"xs",rounded:!1,children:t.name},t.auth_method))})]})}function Ke(){return e.jsx("div",{className:"w-full space-y-2",children:[...Array(4)].map((s,t)=>e.jsx(N,{className:"h-[110px] w-full"},t))})}function Je(){const{goToNextStep:s}=V(),{setConnectorType:t,connectorType:r}=v(),n=$({resolver:J(Oe),defaultValues:{connectorType:r}});function a({connectorType:i}){t(i),s()}return e.jsx(_,{children:e.jsx(G,{...n,children:e.jsxs("form",{onSubmit:n.handleSubmit(a),children:[e.jsx(A,{children:"Select Your Implementation"}),e.jsx(P,{children:e.jsxs("div",{className:"space-y-5",children:[e.jsx(qe,{}),e.jsx(Ie,{})]})}),e.jsxs(E,{children:[e.jsx(re,{}),e.jsx(ne,{disabled:!n.formState.isValid})]})]})})})}async function $e({body:s}){const t=O(Q.serviceConnectors.list),r=await H(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)});if(!r.ok){const n=await r.json().then(a=>Array.isArray(a.detail)?a.detail[1]:a.detail).catch(()=>"Failed to create service connector");throw new Z({status:r.status,statusText:r.statusText,message:n})}return r.json()}function Ge(s){return se({...s,mutationFn:async({body:t})=>$e({body:t})})}const Xe=ke(async s=>{try{return!((await xe({name:s})).total>0)}catch(t){return console.error(t),!1}},500),es=y.object({description:y.string().trim(),authMethod:y.string().trim().min(1,"Auth method is required"),resourceType:y.string().trim().min(1,"Resource type is required"),isValid:y.boolean().nullable(),skipValidation:y.boolean()});function ae(s){const t=d.useRef(s),r=d.useRef(!0),n=d.useMemo(()=>y.object({name:y.string().trim().min(1,"Name is required").max(32,"Name can be at most 32 characters").regex(/^[a-zA-Z0-9-]+$/,"Name can only contain letters, numbers and dashes").refine(async a=>{if(!a)return!0;if(a!==t.current){t.current=a;const i=await Xe(a);return r.current=i,i}return r.current},{message:"Service connector with this name already exists"})}),[]);return es.merge(n)}function ss({setConfigDefaultValues:s,setSchema:t}){return e.jsxs("section",{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(Se,{width:24,height:24,className:"shrink-0 fill-primary-400"}),e.jsx("p",{className:"text-text-lg font-semibold",children:"Select an Authentication Method"})]}),e.jsx("p",{className:"text-theme-text-secondary",children:"Connect ZenML to your cloud provider for seamless integration of cloud services into your ML pipelines."})]}),e.jsx(ts,{setConfigDefaultValues:s,setSchema:t})]})}function ts({setConfigDefaultValues:s,setSchema:t}){const{control:r,resetField:n}=C(),a=ae(""),{connectorType:i}=v(),u=M(S.serviceConnectorTypeDetail(i));if(u.isError)return e.jsxs("p",{children:["Failed to fetch Connector Type ",i]});if(u.isPending)return e.jsx(N,{className:"h-7 w-full"});const f=u.data,l=f.auth_methods.filter(x=>x.auth_method!=="implicit");function c(x){const o=l.find(p=>p.auth_method===x);if(!o)return;const h=o.config_schema,m=we(h),j=Te(h);s(j),t(a.merge(m)),Object.keys(m.shape).forEach(p=>n(p))}return e.jsx(w,{control:r,name:"authMethod",render:({field:x,formState:{errors:o}})=>{var h;return e.jsxs("div",{className:"space-y-1",children:[e.jsxs(q,{onValueChange:m=>{x.onChange(m),c(m)},defaultValue:x.value,children:[e.jsx(I,{"data-error":!!o.authMethod,className:"border border-theme-border-moderate data-[error=true]:border-error-500",children:e.jsx(W,{placeholder:"Select your Authentication Method"})}),e.jsx(Y,{className:"",children:e.jsx(U,{viewportClassName:"max-h-[300px]",children:l.map(m=>e.jsx(k,{value:m.auth_method,children:e.jsxs("div",{className:"flex items-center gap-1",children:[f.logo_url&&e.jsx("img",{alt:m.name,width:24,height:24,className:"shrink-0 object-contain",src:f.logo_url}),m.name]})},m.name))})})]}),o.authMethod&&e.jsx("p",{className:"text-text-xs text-red-500",children:(h=o.authMethod.message)==null?void 0:h.toString()})]})}})}function rs(){const{control:s}=C();return e.jsx(w,{name:"skipValidation",control:s,render:({field:t,fieldState:{error:r}})=>{var n;return e.jsxs("div",{className:"space-y-0.5",children:[e.jsxs("label",{className:"flex items-center gap-2",children:[e.jsx(pe,{checked:t.value,onCheckedChange:t.onChange}),e.jsx("span",{children:"Register without validation"})]}),r&&e.jsx("p",{className:"text-text-xs text-red-500",children:(n=r.message)==null?void 0:n.toString()})]})}})}function oe({name:s,authMethod:t,connectorType:r,user:n,workspace:a,resourceType:i,description:u,isValid:f,skipValidation:l,...c}){return Object.keys(c).forEach(o=>{(c[o]===""||c[o]===null||c[o]===void 0||Array.isArray(c[o])&&c[o].length===0||typeof c[o]=="object"&&!Array.isArray(c[o])&&Object.keys(c[o]).length===0)&&delete c[o]}),{name:s,auth_method:t,connector_type:r,resource_types:i==="all"?void 0:[i],description:u||void 0,configuration:c,user:n}}async function ns({payload:s}){const t=O(Q.serviceConnectors.verify),r=await H(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)});if(!r.ok){const n=await r.json().then(a=>Array.isArray(a.detail)?a.detail[1]:a.detail).catch(()=>"Failed to verify connector");throw new Z({status:r.status,statusText:r.statusText,message:n})}return r.json()}function as(s){return se({...s,mutationFn:async({payload:t})=>ns({payload:t})})}function os({mandatoryFields:s}){const t=d.useMemo(()=>[...s,"name","authMethod","resourceType"],[s]),[r,n]=d.useState(!0),[a,i]=d.useState(""),{setValue:u,clearErrors:f,watch:l,resetField:c}=C();d.useEffect(()=>{const o=l((h,{name:m})=>{m&&(m==="isValid"||m==="skipValidation"||h.isValid!==null&&c("isValid"))});return()=>o.unsubscribe()},[l,c]),d.useEffect(()=>{const h=Re(j=>{const T=t.every(p=>{const g=j[p];return g==null||g===""?!1:Array.isArray(g)?g.length>0:typeof g=="object"?Object.keys(g).length>0:!0});n(!T)},300),m=l(j=>{h(j)});return()=>{m.unsubscribe(),h.cancel()}},[l,t]);const x=as({onMutate:()=>{i("")},onSuccess:o=>{if(o.error){u("isValid",!1),i(o.error);return}u("isValid",!0),f("skipValidation")},onError:()=>{u("isValid",!1)}});return{disabled:r,errorMsg:a,verifyConfig:x}}function is({user:s,mandatoryFields:t}){const{connectorType:r}=v(),{control:n,getValues:a}=C(),{disabled:i,errorMsg:u,verifyConfig:f}=os({mandatoryFields:t});return e.jsx(w,{control:n,name:"isValid",render:({field:l})=>e.jsxs("div",{className:"space-y-5",children:[e.jsx(b,{disabled:i,size:"md",className:L("flex w-full items-center justify-center gap-3",{"border-success-500 bg-success-500 text-white":l.value===!0}),type:"button",intent:"primary",emphasis:"subtle",onClick:()=>{const c=oe({...a(),connectorType:r,user:s});f.mutate({payload:c})},children:e.jsx(cs,{disabled:i,isValid:l.value,isPending:f.isPending})}),u&&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:u})]})})}function cs({isValid:s,isPending:t,disabled:r}){return t?e.jsxs(e.Fragment,{children:[e.jsx("div",{role:"alert","aria-busy":"true",className:"full h-5 w-5 animate-spin rounded-rounded border-2 border-neutral-300 border-b-theme-text-brand"}),"Validating Credentials..."]}):s===null?e.jsxs(e.Fragment,{children:[e.jsx(F,{width:24,height:24,"data-disabled":r,className:"fill-primary-600 data-[disabled=true]:fill-primary-100"}),"Validate Credentials"]}):s?e.jsxs(e.Fragment,{children:[e.jsx(F,{width:24,height:24,className:"fill-white"}),"Verified successfully"]}):e.jsxs(e.Fragment,{children:[e.jsx(K,{width:24,height:24,"data-disabled":r,className:"fill-primary-600 data-[disabled=true]:fill-primary-100"}),"Invalid Credentials"]})}function ls({user:s}){return e.jsxs("section",{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(Fe,{width:24,height:24,className:"shrink-0 fill-primary-400"}),e.jsx("p",{className:"text-text-lg font-semibold",children:"Add your configuration"})]}),e.jsx("p",{className:"text-theme-text-secondary",children:"Your credentials are securely stored and encrypted. ZenML uses these credentials to interact with your resources."})]}),e.jsx(ds,{user:s})]})}function ds({user:s}){const{getValues:t}=C(),{connectorType:r}=v(),n=M(S.serviceConnectorTypeDetail(r));if(n.isError)return e.jsxs("p",{children:["Failed to fetch Connector Type ",r]});if(n.isPending)return e.jsx(N,{className:"h-7 w-full"});const i=n.data.auth_methods.find(o=>o.auth_method===t("authMethod"));if(!i)return null;const u=i.config_schema,f=u.properties||{},l=u.required||[],c=u.$defs,x=Object.entries(f).sort(([o],[h])=>l.includes(o)&&!l.includes(h)?-1:!l.includes(o)&&l.includes(h)?1:0);return e.jsxs("div",{className:"space-y-5",children:[x.map(([o,h])=>e.jsx(Ve,{definitions:c,isOptional:Me(o,l),name:o,schema:h},o)),e.jsx(is,{mandatoryFields:l,user:s}),e.jsx(rs,{})]})}const us=s=>d.createElement("svg",{viewBox:"0 0 24 24",fill:"black",xmlns:"http://www.w3.org/2000/svg",...s},d.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.7587 2H16.2413C17.0463 1.99999 17.7106 1.99998 18.2518 2.04419C18.8139 2.09012 19.3306 2.18868 19.816 2.43597C20.5686 2.81947 21.1805 3.43139 21.564 4.18404C21.8113 4.66937 21.9099 5.18608 21.9558 5.74817C22 6.28936 22 6.95372 22 7.75868V16.2413C22 17.0463 22 17.7106 21.9558 18.2518C21.9099 18.8139 21.8113 19.3306 21.564 19.816C21.1805 20.5686 20.5686 21.1805 19.816 21.564C19.3306 21.8113 18.8139 21.9099 18.2518 21.9558C17.7106 22 17.0463 22 16.2413 22H7.75868C6.95372 22 6.28936 22 5.74817 21.9558C5.18608 21.9099 4.66937 21.8113 4.18404 21.564C3.43139 21.1805 2.81947 20.5686 2.43597 19.816C2.18868 19.3306 2.09012 18.8139 2.04419 18.2518C1.99998 17.7106 1.99999 17.0463 2 16.2413V7.7587C1.99999 6.95373 1.99998 6.28937 2.04419 5.74817C2.09012 5.18608 2.18868 4.66937 2.43597 4.18404C2.81947 3.43139 3.43139 2.81947 4.18404 2.43597C4.66937 2.18868 5.18608 2.09012 5.74817 2.04419C6.28937 1.99998 6.95373 1.99999 7.7587 2ZM5.91104 4.03755C5.47262 4.07337 5.24842 4.1383 5.09202 4.21799C4.7157 4.40973 4.40973 4.7157 4.21799 5.09202C4.1383 5.24842 4.07337 5.47262 4.03755 5.91104C4.00078 6.36113 4 6.94342 4 7.8V16.2C4 17.0566 4.00078 17.6389 4.03755 18.089C4.07337 18.5274 4.1383 18.7516 4.21799 18.908C4.40973 19.2843 4.7157 19.5903 5.09202 19.782C5.24842 19.8617 5.47262 19.9266 5.91104 19.9624C6.36113 19.9992 6.94342 20 7.8 20H16.2C17.0566 20 17.6389 19.9992 18.089 19.9624C18.5274 19.9266 18.7516 19.8617 18.908 19.782C19.2843 19.5903 19.5903 19.2843 19.782 18.908C19.8617 18.7516 19.9266 18.5274 19.9624 18.089C19.9992 17.6389 20 17.0566 20 16.2V7.8C20 6.94342 19.9992 6.36113 19.9624 5.91104C19.9266 5.47262 19.8617 5.24842 19.782 5.09202C19.5903 4.7157 19.2843 4.40973 18.908 4.21799C18.7516 4.1383 18.5274 4.07337 18.089 4.03755C17.6389 4.00078 17.0566 4 16.2 4H7.8C6.94342 4 6.36113 4.00078 5.91104 4.03755ZM7 7C7 6.44772 7.44772 6 8 6H16C16.5523 6 17 6.44772 17 7C17 7.55229 16.5523 8 16 8H13V17C13 17.5523 12.5523 18 12 18C11.4477 18 11 17.5523 11 17V8H8C7.44772 8 7 7.55229 7 7Z"}));function ms(){var r,n;const{register:s,formState:{errors:t}}=C();return e.jsxs("section",{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(us,{width:24,height:24,className:"shrink-0 fill-primary-400"}),e.jsx("p",{className:"text-text-lg font-semibold",children:"Select a name and description for your Service Connector"})]}),e.jsx("p",{className:"text-theme-text-secondary",children:"You can keep the suggested name or create your own."})]}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsxs("label",{className:"font-inter text-sm text-left font-medium leading-5",children:["Name",e.jsx("span",{className:"text-theme-text-error","aria-label":"required",children:"*"})]}),e.jsx(z,{"data-error":!!t.name,...s("name"),className:"w-full data-[error=true]:border-error-500",inputSize:"md"}),e.jsx("p",{className:"text-text-xs text-theme-text-secondary",children:"Only letters, numbers and dashes. It should be 32 characters max. You cannot use an existing name."}),t.name&&e.jsx("p",{className:"text-text-xs text-red-500",children:(r=t.name.message)==null?void 0:r.toString()})]}),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(z,{...s("description"),className:"w-full",inputSize:"md"}),t.description&&e.jsx("p",{className:"text-text-xs text-red-500",children:(n=t.description.message)==null?void 0:n.toString()})]})]})}function hs(){return e.jsxs("section",{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(_e,{width:24,height:24,className:"shrink-0 fill-primary-400"}),e.jsx("p",{className:"text-text-lg font-semibold",children:"Select your resource type"})]}),e.jsxs("p",{className:"text-theme-text-secondary",children:["Select resource types your connector will provide access to. Choose a specific type or enable all available resources."," ",e.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://docs.zenml.io/how-to/infrastructure-deployment/auth-management/service-connectors-guide#resource-types",className:"link text-theme-text-brand",children:"Learn More"})]})]}),e.jsx(xs,{})]})}function xs(){const{control:s}=C(),{connectorType:t}=v(),r=M(S.serviceConnectorTypeDetail(t));if(r.isError)return e.jsxs("p",{children:["Failed to fetch Connector Type ",t]});if(r.isPending)return e.jsx(N,{className:"h-7 w-full"});const n=r.data;return e.jsx(w,{control:s,name:"resourceType",render:({field:a})=>e.jsxs(q,{onValueChange:a.onChange,defaultValue:a.value,children:[e.jsx(I,{className:"border border-theme-border-moderate",children:e.jsx(W,{placeholder:"Select your Resource Type"})}),e.jsx(Y,{className:"",children:e.jsxs(U,{viewportClassName:"max-h-[300px]",children:[n.resource_types.map(i=>e.jsx(k,{value:i.resource_type,children:e.jsxs("div",{className:"flex items-center gap-1",children:[i.logo_url&&e.jsx("img",{alt:i.name,width:24,height:24,className:"shrink-0 object-contain",src:i.logo_url}),i.name]})},i.name)),e.jsx(k,{value:"all",children:e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(fe,{width:24,height:24,className:"shrink-0 fill-neutral-400 object-contain"}),"All resources types"]})})]})})]})})}function ps(){const s=je(),{connectorType:t,setCreatedConnector:r}=v(),{goToNextStep:n}=V(),a=ae(""),[i,u]=d.useState(a),{toast:f}=ye(),l=S.connectors,c=Ne(),x=Ge({onSuccess:p=>{c.invalidateQueries({queryKey:l}),r(p),n()},onError:p=>{f({status:"error",emphasis:"subtle",icon:e.jsx(K,{width:24,height:24,className:"shrink-0 fill-error-700"}),description:p.message,rounded:!0})}}),[o,h]=d.useState({}),m=i.refine(p=>p.isValid===!0||p.skipValidation===!0,{message:"Either verify the connector or register without validation",path:["skipValidation"]}),j=$({resolver:J(m),shouldUnregister:!0,mode:"onChange",defaultValues:{name:"",description:"",authMethod:"",isValid:null,resourceType:"all",skipValidation:!1,...o}});if(s.isPending)return e.jsx(N,{className:"h-[500px] w-full"});if(s.isError)return e.jsx("p",{children:"Error fetching user"});const T=p=>{const g=oe({...p,connectorType:t,user:s.data.id});x.mutate({body:g})};return e.jsx(_,{children:e.jsxs(G,{...j,children:[e.jsx(A,{children:"Configure your Service Connector"}),e.jsxs("form",{onSubmit:j.handleSubmit(T),children:[e.jsx(P,{children:e.jsxs("div",{className:"divide-y divide-theme-border-moderate *:py-5 first:*:pt-0 last:*:pb-0",children:[e.jsx(ms,{}),e.jsx(hs,{}),e.jsx(ss,{setConfigDefaultValues:h,setSchema:u}),e.jsx(ls,{user:s.data.id})]})}),e.jsxs(E,{children:[e.jsx(re,{}),e.jsx(Ze,{}),e.jsx(ne,{isPending:j.formState.isSubmitting||x.isPending,disabled:j.formState.isSubmitting||x.isPending})]})]})]})})}function fs({connectorName:s}){return e.jsxs("div",{className:"flex w-full items-center gap-3 rounded-md border border-success-300 bg-success-50 px-4 py-3 text-text-sm text-success-900",children:[e.jsx(F,{width:24,height:24,className:"shrink-0 fill-success-900"}),e.jsxs("p",{children:["You successfully registered the service connector `",s,"` and can now create new resources"]})]})}function js(){return d.useMemo(()=>[{id:"name",header:"Service Connector",accessorKey:"name",cell:({row:s})=>{var a;const t=s.original.id,r=s.original.name,n=(a=s.original.body)==null?void 0:a.connector_type;return e.jsxs("div",{className:"group/copybutton flex items-center gap-2",children:[!!n&&typeof n!="string"&&e.jsx(ze,{connectorType:n}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("div",{className:"block max-w-[200px] truncate text-text-md font-semibold",children:r}),e.jsx(B,{copyText:r})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("div",{children:t.split("-")[0]}),e.jsx(B,{copyText:t})]})]})]})}},{id:"resource_types",header(){return e.jsx("p",{className:"whitespace-nowrap",children:"Resource Types"})},cell:({row:s})=>{const t=Ae(s.original);return e.jsx("div",{className:"flex items-center gap-0.5",children:t.map((r,n)=>e.jsx(Be,{resourceType:r},n))})}},{id:"resource-name",header(){return e.jsx("p",{className:"whitespace-nowrap",children:"Resource Name"})},cell:({row:s})=>e.jsx("div",{className:"max-w-[100px]",children:e.jsx(Pe,{connector:s.original})})},{id:"user",header:"Author",accessorFn:s=>{var t,r;return(r=(t=s.resources)==null?void 0:t.user)==null?void 0:r.name},cell:({row:s})=>{var r;const t=(r=s.original.resources)==null?void 0:r.user;return t?e.jsx(ge,{className:"max-w-[200px] truncate",username:Ce(t)}):null}},{id:"expires",header(){return e.jsx("p",{className:"whitespace-nowrap",children:"Expires in"})},accessorFn:s=>{var t;return(t=s.body)==null?void 0:t.expires_at},cell:({row:s})=>{var r;const t=(r=s.original.body)==null?void 0:r.expires_at;return t?e.jsx(Ee,{expires:t}):e.jsx("p",{children:"Never"})}}],[])}function ys({connector:s}){const t=js();return e.jsx("section",{className:"flex flex-col gap-5",children:e.jsx("div",{className:"flex flex-col items-center gap-5",children:e.jsx("div",{className:"w-full",children:e.jsx(ve,{columns:t,data:[s]})})})})}function gs(){const{createdConnector:s}=v();return s?e.jsxs(_,{children:[e.jsx(A,{children:"Your Service Connector"}),e.jsx(P,{children:e.jsxs("div",{className:"space-y-5",children:[e.jsx(fs,{connectorName:s.name}),e.jsx(ys,{connector:s})]})}),e.jsx(E,{children:e.jsx(Cs,{connectorId:s.id})})]}):e.jsx("p",{children:"No connector created"})}function Cs({connectorId:s}){return e.jsx(b,{asChild:!0,type:"submit",size:"md",intent:"primary",children:e.jsx(ee,{to:R.settings.connectors.detail.configuration(s),children:"Finish"})})}function vs(){return e.jsx(He,{children:e.jsx(bs,{})})}function bs(){const{currentStep:s}=V();if(s===0)return e.jsx(Je,{});if(s===1)return e.jsx(ps,{});if(s===2)return e.jsx(gs,{})}const D=["Connector Type","Configuration"];function Us(){return e.jsxs("div",{children:[e.jsx(Le,{}),e.jsx("div",{className:"layout-container flex flex-col gap-5 px-3 py-5 xl:flex-row xl:px-0",children:e.jsxs(ie,{maxSteps:D.length,initialStep:0,children:[e.jsx("div",{className:"shrink-0",children:e.jsx(ce,{entries:D})}),e.jsx("div",{className:"w-full",children:e.jsx(vs,{})})]})})]})}export{Us as default};
|
@@ -1 +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,
|
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,b7 as w,aB as E,S as I,b as F}from"./index-BgEfQ3_G.js";import{u as B}from"./update-server-settings-mutation-Bwe3gUt4.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-B_iCtR7X.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};
|
@@ -1 +1 @@
|
|
1
|
-
import{j as e}from"./@radix-Cdvw4jJ8.js";import{b as t,B as a,r as n}from"./index-
|
1
|
+
import{j as e}from"./@radix-Cdvw4jJ8.js";import{b as t,B as a,r as n}from"./index-BgEfQ3_G.js";import{L as i}from"./@react-router-DeDfXbUF.js";import"./@tanstack-5gTMR7G2.js";import"./@reactflow-B_iCtR7X.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};
|
@@ -1 +1 @@
|
|
1
|
-
import{z as a}from"./index-
|
1
|
+
import{z as a}from"./index-BgEfQ3_G.js";import{s as i}from"./sharedSchema-C_HkejsG.js";const o=a.enum(["aws","gcp","azure"]),p=a.object({provider:o}),g=a.object({region:a.string().trim().min(1),stackName:i}),r="new-infra-data",e=a.object({provider:o,stackName:a.string().min(1).trim(),location:a.string().min(1).trim(),timestamp:a.string().min(1).trim()});function d(t){localStorage.setItem(r,JSON.stringify(t))}function f(){try{const t=localStorage.getItem(r),s=t?JSON.parse(t):{};return e.safeParse(s)}catch{return c(),e.safeParse({})}}function c(){localStorage.removeItem(r)}export{o as a,g as b,c,p as d,f as p,d as s};
|
@@ -1 +1 @@
|
|
1
|
-
import{z as t}from"./index-
|
1
|
+
import{z as t}from"./index-BgEfQ3_G.js";import{a as s}from"./persist-BsdEtCkd.js";const r="create-terraform-data",e=t.object({provider:s,stackName:t.string().min(1).trim(),location:t.string().min(1).trim(),timestamp:t.string().min(1).trim()});function n(a){localStorage.setItem(r,JSON.stringify(a))}function l(){try{const a=localStorage.getItem(r),o=a?JSON.parse(a):{};return e.safeParse(o)}catch{return i(),e.safeParse({})}}function i(){localStorage.removeItem(r)}export{i as c,l as p,n as s};
|
zenml/zen_server/dashboard/assets/{resource-tyes-list-o2LXiMay.js → resource-tyes-list-79FqS3LY.js}
RENAMED
@@ -1 +1 @@
|
|
1
|
-
import{j as s}from"./@radix-Cdvw4jJ8.js";import{w as i,h as o}from"./index-
|
1
|
+
import{j as s}from"./@radix-Cdvw4jJ8.js";import{w as i,h as o}from"./index-BgEfQ3_G.js";function c({resourceTypes:m,className:t,size:r="sm",iconSize:a=20}){return s.jsx("div",{className:"flex flex-wrap gap-1",children:m.map(e=>s.jsxs(i,{size:r,rounded:!1,emphasis:"minimal",className:o("w-fit gap-0.5 text-theme-text-primary",t),color:"grey",children:[s.jsx("img",{width:a,height:a,className:"shrink-0 object-contain",src:e.logo_url??"",alt:`Logo of ${e.name}`}),s.jsx("p",{children:e.name})]},e.name))})}export{c as R};
|
@@ -1 +1 @@
|
|
1
|
-
import{j as s}from"./@radix-Cdvw4jJ8.js";import{T as e,q as n,s as l,t}from"./index-
|
1
|
+
import{j as s}from"./@radix-Cdvw4jJ8.js";import{T as e,q as n,s as l,t}from"./index-BgEfQ3_G.js";function h({connectorType:o}){const r=o.logo_url,i=o.name;return s.jsx(e,{children:s.jsxs(n,{children:[s.jsx(l,{children:s.jsxs("div",{className:"size-5 shrink-0",children:[s.jsx("img",{width:24,height:24,className:"size-5 shrink-0",src:r??"",alt:`Logo of ${i}`}),s.jsx("p",{className:"sr-only",children:i})]})}),s.jsx(t,{children:i})]})})}function d({resourceType:o}){const r=o.logo_url,i=o.name;return s.jsx(e,{children:s.jsxs(n,{children:[s.jsx(l,{children:s.jsxs("div",{className:"size-5 shrink-0",children:[s.jsx("img",{width:24,height:24,className:"size-5 shrink-0",src:r??"",alt:`Logo of ${i}`}),s.jsx("p",{className:"sr-only",children:i})]})}),s.jsx(t,{children:i})]})})}export{h as C,d as R};
|
zenml/zen_server/dashboard/assets/{service-connectors-DSEMwJ5A.js → service-connectors-Q8h7-_rG.js}
RENAMED
@@ -1 +1 @@
|
|
1
|
-
import{r as c,j as o}from"./@radix-Cdvw4jJ8.js";import{S as f,T as l,q as d,s as m,w as h,t as p}from"./index-
|
1
|
+
import{r as c,j as o}from"./@radix-Cdvw4jJ8.js";import{S as f,T as l,q as d,s as m,w as h,t as p}from"./index-BgEfQ3_G.js";import{a as u}from"./type-guards-CNgPYg8l.js";function x(t){const s=new Date(`${t}Z`),e=new Date;if(s<e)return"Expired";const a=s.getTime()-e.getTime(),r=Math.floor(a/(1e3*60*60*24)),i=Math.floor(a%(1e3*60*60*24)/(1e3*60*60)),n=Math.floor(a%(1e3*60*60)/(1e3*60));return r>0?`in ${r} ${r===1?"day":"days"}`:i>0?`in ${i} ${i===1?"hour":"hours"}`:n>0?`in ${n} ${n===1?"minute":"minutes"}`:"in less than a minute"}function j({expires:t}){const[s,e]=c.useState("");return c.useEffect(()=>{e(x(t))},[t]),s==="Expired"?o.jsxs("div",{className:"flex items-center space-x-0.5 text-theme-text-warning",children:[o.jsx(f,{className:"size-3 shrink-0 fill-theme-text-warning"}),o.jsx("span",{children:"Expired"})]}):o.jsx("div",{children:s})}function M({connector:t}){var e;const s=((e=t.body)==null?void 0:e.resource_id)||"Multiple";return o.jsx(l,{children:o.jsxs(d,{children:[o.jsx(m,{className:"max-w-full truncate",children:o.jsx(h,{size:"sm",rounded:!1,emphasis:"minimal",className:"block w-fit max-w-full gap-0.5 truncate text-theme-text-primary",color:"grey",children:s})}),o.jsx(p,{children:s})]})})}function w(t){var r,i;const s=((r=t.body)==null?void 0:r.resource_types)??[],e=(i=t.body)==null?void 0:i.connector_type;return u(e)?[]:((e==null?void 0:e.resource_types)??[]).filter(n=>s.includes(n.resource_type))}function _(t){var r,i;const s=((r=t.body)==null?void 0:r.auth_method)||"",e=(i=t.body)==null?void 0:i.connector_type;return u(e)?void 0:((e==null?void 0:e.auth_methods)??[]).find(n=>n.auth_method===s)}export{j as E,M as R,_ as a,w as e};
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{q as y,c as w}from"./@tanstack-5gTMR7G2.js";import{i as l,o as f,f as u,n as h,F as p,j as m,z as i,B as j,ab as A}from"./index-
|
1
|
+
import{q as y,c as w}from"./@tanstack-5gTMR7G2.js";import{i as l,o as f,f as u,n as h,F as p,j as m,z as i,B as j,ab as A}from"./index-BgEfQ3_G.js";import{j as a,r as g}from"./@radix-Cdvw4jJ8.js";import{C as x}from"./CodeSnippet-Ctplhzdc.js";import{I as v}from"./Infobox-CSBRrM6r.js";import{T}from"./Tick-Qquvr4P3.js";import{f as K}from"./@react-router-DeDfXbUF.js";async function b({params:e}){const r=l(m.serviceAccounts.all)+"?"+f(e),s=await u(r,{method:"GET",headers:{"Content-Type":"application/json"}});if(s.status===404&&h(),!s.ok){const t=await s.json().then(n=>Array.isArray(n.detail)?n.detail[1]:n.detail).catch(()=>"Failed to fetch service accounts");throw new p({status:s.status,statusText:s.statusText,message:t})}return s.json()}async function k({serviceAccountId:e}){const r=l(m.serviceAccounts.detail(e)),s=await u(r,{method:"GET",headers:{"Content-Type":"application/json"}});if(s.status===404&&h(),!s.ok){const t=await s.json().then(n=>Array.isArray(n.detail)?n.detail[1]:n.detail).catch(()=>`Failed to fetch service account ${e}`);throw new p({status:s.status,statusText:s.statusText,message:t})}return s.json()}async function N({serviceAccountId:e,params:r}){const s=l(m.serviceAccounts.apiKeys.all(e))+"?"+f(r),t=await u(s,{method:"GET",headers:{"Content-Type":"application/json"}});if(t.status===404&&h(),!t.ok){const n=await t.json().then(o=>Array.isArray(o.detail)?o.detail[1]:o.detail).catch(()=>"Failed to list of api keys");throw new p({status:t.status,statusText:t.statusText,message:n})}return t.json()}async function S({serviceAccountId:e,apiKeyId:r}){const s=l(m.serviceAccounts.apiKeys.detail(e,r)),t=await u(s,{method:"GET",headers:{"Content-Type":"application/json"}});if(t.status===404&&h(),!t.ok){const n=await t.json().then(o=>Array.isArray(o.detail)?o.detail[1]:o.detail).catch(()=>`Failed to fetch api key ${r}`);throw new p({status:t.status,statusText:t.statusText,message:n})}return t.json()}const $={serviceAccountList:e=>y({queryKey:[...c.serviceAccountsKey(),e],queryFn:async()=>b({params:e})}),serviceAccountDetail:e=>y({queryKey:[...c.serviceAccountsKey(),e],queryFn:async()=>k({serviceAccountId:e})}),serviceAccountApiKeys:(e,r)=>y({queryKey:[...c.apiKeysKey(e),r],queryFn:async()=>N({serviceAccountId:e,params:r})}),ApiKeysDetail:(e,r)=>y({queryKey:[...c.apiKeysKey(e),r],queryFn:async()=>S({serviceAccountId:e,apiKeyId:r})})},c={serviceAccountsKey:()=>["service_accounts"],apiKeysKey:e=>[...c.serviceAccountsKey(),e,"api_keys"]};async function C({body:e,serviceAccountId:r}){const s=l(m.serviceAccounts.apiKeys.all(r)),t=await u(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){const n=await t.json().then(o=>Array.isArray(o.detail)?o.detail[1]:o.detail).catch(()=>"Failed to create service account");throw new p({status:t.status,statusText:t.statusText,message:n})}return t.json()}function I(e){return w({...e,mutationFn:async({serviceAccountId:r,body:s})=>C({body:s,serviceAccountId:r})})}const F=i.object({name:i.string().min(1,"Service Account Name is required"),description:i.string()}),R=F.extend({createDefault:i.boolean()});function B({value:e}){return a.jsxs("div",{className:"space-y-3 overflow-x-hidden px-7 py-5 text-text-md text-theme-text-primary",children:[a.jsxs("div",{className:"space-y-0.5",children:[a.jsx("p",{className:"text-text-md font-semibold text-theme-text-primary",children:"Here is your new API Key"}),a.jsx("p",{className:"text-text-md text-theme-text-secondary",children:"Your key was created successfully"})]}),a.jsx(P,{}),a.jsx(E,{value:e}),a.jsx("div",{className:"h-[1px] bg-theme-border-moderate","aria-hidden":"true"}),a.jsxs("div",{className:"space-y-3 pt-5",children:[a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx("p",{className:"text-text-md font-semibold text-theme-text-primary",children:"Using your API Key"}),a.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"})]}),a.jsx("p",{className:"text-theme-text-secondary",children:"To log in to the ZenML server using the generated key, you can run the following CLI command and enter the API key when prompted:"}),a.jsx(x,{highlightCode:!0,wrap:!0,code:`zenml login --api-key ${window.location.origin}`}),a.jsx("p",{className:"text-theme-text-secondary",children:"Alternatively, you can set the following environment variables to configure workloads where CLI interaction is not possible:"}),a.jsx(x,{highlightCode:!0,wrap:!0,code:`ZENML_STORE_URL: ${window.location.origin}
|
2
2
|
ZENML_STORE_API_KEY: ${e}`})]})]})}function E({value:e}){const[r,s]=g.useState(!1);function t(n){navigator.clipboard&&(navigator.clipboard.writeText(n),s(!0),setTimeout(()=>{s(!1)},2e3))}return a.jsxs("section",{className:"flex w-full items-center justify-between gap-5 overflow-hidden py-5 text-text-md",children:[a.jsx("code",{className:"w-[3/4] min-w-0 flex-1 overflow-x-auto font-sans text-display-xs",children:e}),r?a.jsxs(a.Fragment,{children:[a.jsx(T,{className:"h-5 w-5 shrink-0 fill-theme-text-tertiary"}),a.jsx("p",{className:"sr-only",children:"copied successfully"})]}):a.jsxs(j,{intent:"secondary",emphasis:"subtle",onClick:()=>t(e),size:"md",children:[a.jsx(A,{className:"h-4 w-4 shrink-0 fill-theme-text-primary"}),a.jsx("p",{children:"Copy"})]})]})}function P(){return a.jsx(v,{children:"Important: This key is your authentication for API access and will not be shown again. Please copy it and store it securely."})}const d=1,D=i.object({page:i.coerce.number().min(d).optional().default(d).catch(d),name:i.string().optional(),operator:i.enum(["and","or"]).optional()});function U(){const[e]=K(),{page:r,name:s,operator:t}=D.parse({page:e.get("page")||void 0,name:e.get("name")||void 0,operator:e.get("operator")||void 0});return{page:r,name:s,logical_operator:t}}export{B as A,U as a,$ as b,R as c,F as d,c as s,I as u};
|
@@ -1 +1 @@
|
|
1
|
-
import{f as t}from"./index-
|
1
|
+
import{f as t}from"./index-BBt0LDtR.js";import{A as e}from"./index.es-C1gfATPn.js";import{z as s}from"./index-BgEfQ3_G.js";const m=e(async a=>(await t({name:a})).total===0,500),o=s.string().trim().min(1,"Stack name is required").max(255,"Stack name must be less than 255 characters").refine(a=>m(a),"Stack name is already in use");export{o as s};
|
zenml/zen_server/dashboard/assets/{stack-detail-query-Cm0fsgo-.js → stack-detail-query-CNmVZ0Bo.js}
RENAMED
@@ -1 +1 @@
|
|
1
|
-
import{f as a,i as r,n,F as o,j as u}from"./index-
|
1
|
+
import{f as a,i as r,n,F as o,j as u}from"./index-BgEfQ3_G.js";import{b as i}from"./@tanstack-5gTMR7G2.js";function c({stackId:t}){return["stacks",t]}async function f({stackId:t}){const s=r(u.stacks.detail(t)),e=await a(s,{method:"GET",headers:{"Content-Type":"application/json"}});if(e.status===404&&n(),!e.ok)throw new o({message:`Error while fetching stack ${t}`,status:e.status,statusText:e.statusText});return e.json()}function y(t,s){return i({queryKey:c(t),queryFn:()=>f(t),...s})}export{f,y as u};
|
@@ -1 +1 @@
|
|
1
|
-
import{f as n,i as o,F as i,j as u}from"./index-
|
1
|
+
import{f as n,i as o,F as i,j as u}from"./index-BgEfQ3_G.js";import{c}from"./@tanstack-5gTMR7G2.js";async function p(r){const e=o(u.currentUser),t=await n(e,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!t.ok){const s=await t.json().then(a=>Array.isArray(a.detail)?a.detail[1]:a.detail).catch(()=>"Failed to update User");throw new i({status:t.status,statusText:t.statusText,message:s})}return t.json()}function d(r){return c({mutationFn:async e=>p(e),...r})}export{d as u};
|
@@ -1 +1 @@
|
|
1
|
-
import{f as n,i,F as o,j as u}from"./index-
|
1
|
+
import{f as n,i,F as o,j as u}from"./index-BgEfQ3_G.js";import{c}from"./@tanstack-5gTMR7G2.js";async function p(e){const r=i(u.settings),t=await n(r,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){const a=await t.json().then(s=>Array.isArray(s.detail)?s.detail[1]:s.detail).catch(()=>"Failed to update Server Settings");throw new o({status:t.status,statusText:t.statusText,message:a})}return t.json()}function d(e){return c({mutationFn:async r=>p(r),...e})}export{d as u};
|
@@ -5,14 +5,14 @@
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="/favicon.ico" />
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
7
7
|
<title>ZenML Dashboard</title>
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
8
|
+
<script type="module" crossorigin src="/assets/index-BgEfQ3_G.js"></script>
|
9
9
|
<link rel="modulepreload" crossorigin href="/assets/@radix-Cdvw4jJ8.js">
|
10
10
|
<link rel="modulepreload" crossorigin href="/assets/@tanstack-5gTMR7G2.js">
|
11
11
|
<link rel="modulepreload" crossorigin href="/assets/@react-router-DeDfXbUF.js">
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/@reactflow-
|
12
|
+
<link rel="modulepreload" crossorigin href="/assets/@reactflow-B_iCtR7X.js">
|
13
13
|
<link rel="stylesheet" crossorigin href="/assets/@reactflow-Fd0xVSp_.css">
|
14
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
15
|
-
<link rel="prefetch" href="/assets/inter-cyrillic-ext-400-normal-Dc4VJyIJ.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-400-normal-BLGc9T1a.woff2"><link rel="prefetch" href="/assets/inter-greek-ext-400-normal-Bput3-QP.woff2"><link rel="prefetch" href="/assets/inter-greek-400-normal-DxZsaF_h.woff2"><link rel="prefetch" href="/assets/inter-vietnamese-400-normal-DMkecbls.woff2"><link rel="prefetch" href="/assets/inter-latin-ext-400-normal-hnt3BR84.woff2"><link rel="prefetch" href="/assets/inter-latin-400-normal-BOOGhInR.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-ext-500-normal-BShVwWPj.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-500-normal-D4Vwzodn.woff2"><link rel="prefetch" href="/assets/inter-greek-ext-500-normal-B6guLgqG.woff2"><link rel="prefetch" href="/assets/inter-greek-500-normal-CeQXL5ds.woff2"><link rel="prefetch" href="/assets/inter-vietnamese-500-normal-DOriooB6.woff2"><link rel="prefetch" href="/assets/inter-latin-ext-500-normal-CIS2RHJS.woff2"><link rel="prefetch" href="/assets/inter-latin-500-normal-D2bGa7uu.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-ext-600-normal-CaqZN2hq.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-600-normal-BGBWG807.woff2"><link rel="prefetch" href="/assets/inter-greek-ext-600-normal-Cnui8OiR.woff2"><link rel="prefetch" href="/assets/inter-greek-600-normal-Dhlb-90d.woff2"><link rel="prefetch" href="/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2"><link rel="prefetch" href="/assets/inter-latin-ext-600-normal-BnYJhD27.woff2"><link rel="prefetch" href="/assets/inter-latin-600-normal-D273HNI0.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-ext-400-normal-BPnxn4xp.woff"><link rel="prefetch" href="/assets/inter-cyrillic-400-normal-ZzOtrSSW.woff"><link rel="prefetch" href="/assets/inter-greek-ext-400-normal-DCpCPQOf.woff"><link rel="prefetch" href="/assets/inter-greek-400-normal-BZzXV7-1.woff"><link rel="prefetch" href="/assets/inter-vietnamese-400-normal-BUNmGMP1.woff"><link rel="prefetch" href="/assets/inter-latin-ext-400-normal-C1t-h-pH.woff"><link rel="prefetch" href="/assets/inter-latin-400-normal-gitzw0hO.woff"><link rel="prefetch" href="/assets/inter-cyrillic-ext-500-normal-CUiC4oBV.woff"><link rel="prefetch" href="/assets/inter-cyrillic-500-normal-DH2hs3aW.woff"><link rel="prefetch" href="/assets/inter-greek-ext-500-normal-M2hEX8vc.woff"><link rel="prefetch" href="/assets/inter-greek-500-normal-d_eO-yCQ.woff"><link rel="prefetch" href="/assets/inter-latin-ext-500-normal-UMdmhHu2.woff"><link rel="prefetch" href="/assets/inter-vietnamese-500-normal-DQPw2Hwd.woff"><link rel="prefetch" href="/assets/inter-latin-500-normal-deR1Tlfd.woff"><link rel="prefetch" href="/assets/inter-cyrillic-ext-600-normal-Bt9VVOA-.woff"><link rel="prefetch" href="/assets/inter-cyrillic-600-normal-BuzJQFbW.woff"><link rel="prefetch" href="/assets/inter-greek-ext-600-normal-C9WLioJ8.woff"><link rel="prefetch" href="/assets/inter-greek-600-normal-CwicyhtI.woff"><link rel="prefetch" href="/assets/inter-vietnamese-600-normal-Cm6aH8_k.woff"><link rel="prefetch" href="/assets/inter-latin-ext-600-normal-CAF0vJDd.woff"><link rel="prefetch" href="/assets/inter-latin-600-normal-B5cFAncS.woff"><link rel="prefetch" href="/assets/mcp-Cb1aMeoq.webp"><link rel="prefetch" href="/assets/acp-DOsXjFc7.webp"><link rel="prefetch" href="/assets/upgrade-form-CwRHBuXB.webp"><link rel="prefetch" href="/assets/repos-video-D8kpu60k.svg"><link rel="prefetch" href="/assets/templates-1S_8WeSK.webp"><link rel="prefetch" href="/assets/adam-e-y0WnB_.webp"><link rel="prefetch" href="/assets/alex-DcCuDHPg.webp"><link rel="prefetch" href="/assets/baris-C0ZrZ10g.webp"><link rel="prefetch" href="/assets/hamza-NKKOZz1I.webp"><link rel="prefetch" href="/assets/stefan-B08Ftbba.webp"><link rel="prefetch" href="/assets/flyte-Cj-xy_8I.svg"><link rel="prefetch" href="/assets/metaflow-weOkWNyT.svg"><link rel="prefetch" href="/assets/connectivity-4UKGMYnr.webp"><link rel="prefetch" href="/assets/CodeSnippet-CK5CxKct.css"><link rel="prefetch" href="/assets/page-CN7lkvXr.js"><link rel="prefetch" href="/assets/page-DJIGaUQ9.js"><link rel="prefetch" href="/assets/page-CnbIYE80.js"><link rel="prefetch" href="/assets/page-DwVPpCFg.js"><link rel="prefetch" href="/assets/SetPassword-BjNGDC5e.js"><link rel="prefetch" href="/assets/login-mutation-D3tFP6Wm.js"><link rel="prefetch" href="/assets/page-DYOucPtA.js"><link rel="prefetch" href="/assets/page-CHxVhF3x.js"><link rel="prefetch" href="/assets/page-BcRI3-aR.js"><link rel="prefetch" href="/assets/page-CoXzjeEY.js"><link rel="prefetch" href="/assets/page-DUKbOhaD.js"><link rel="prefetch" href="/assets/PasswordChecker-B88WjuCe.js"><link rel="prefetch" href="/assets/layout-Do9YI4QX.js"><link rel="prefetch" href="/assets/page-CAUYrfui.js"><link rel="prefetch" href="/assets/page-abw-2oeW.js"><link rel="prefetch" href="/assets/page-DUK0Nd_1.js"><link rel="prefetch" href="/assets/page-BgknnddT.js"><link rel="prefetch" href="/assets/page-ChGcZI_6.js"><link rel="prefetch" href="/assets/page-BCrKmYIZ.js"><link rel="prefetch" href="/assets/resource-type-tooltip-DwHrJstL.js"><link rel="prefetch" href="/assets/resource-tyes-list-o2LXiMay.js"><link rel="prefetch" href="/assets/service-connectors-DSEMwJ5A.js"><link rel="prefetch" href="/assets/page-DCcuPZ8P.js"><link rel="prefetch" href="/assets/page-n9ejQ2V3.js"><link rel="prefetch" href="/assets/react-error-boundary.esm-7_MuhCay.js"><link rel="prefetch" href="/assets/page-DpqRelAy.js"><link rel="prefetch" href="/assets/code-snippets-CqONne41.js"><link rel="prefetch" href="/assets/page-sJjNT9xA.js"><link rel="prefetch" href="/assets/SecretTooltip-CZTRnaCV.js"><link rel="prefetch" href="/assets/page-ClvmVesa.js"><link rel="prefetch" href="/assets/update-server-settings-mutation-CmnxdxiK.js"><link rel="prefetch" href="/assets/page-Bs3W2FDi.js"><link rel="prefetch" href="/assets/page-D9iuB88h.js"><link rel="prefetch" href="/assets/dates-Buh6SMo7.js"><link rel="prefetch" href="/assets/key-icon-C07HKw8z.js"><link rel="prefetch" href="/assets/service-jxtvgks0.js"><link rel="prefetch" href="/assets/page-9RjCitFH.js"><link rel="prefetch" href="/assets/pipeline-CSUlkd50.js"><link rel="prefetch" href="/assets/page-B0PsXWiT.js"><link rel="prefetch" href="/assets/page-DEohTSz6.js"><link rel="prefetch" href="/assets/page-CktmtZ8Z.js"><link rel="prefetch" href="/assets/StackComponentList-Be1pQt9m.js"><link rel="prefetch" href="/assets/page-C6KaiZ_W.js"><link rel="prefetch" href="/assets/RunsBody-BRBn1e2O.js"><link rel="prefetch" href="/assets/ButtonGroup-DFWWFGUE.js"><link rel="prefetch" href="/assets/delete-run-CCR9md_s.js"><link rel="prefetch" href="/assets/Tabs-DNSKblCM.js"><link rel="prefetch" href="/assets/NestedCollapsible-3M4llYtH.js"><link rel="prefetch" href="/assets/eye-CbVlAYty.js"><link rel="prefetch" href="/assets/all-pipeline-runs-query-DCdax7I5.js"><link rel="prefetch" href="/assets/ExecutionStatus-CWreILP0.js"><link rel="prefetch" href="/assets/bulk-delete-C_kpIB9A.js"><link rel="prefetch" href="/assets/DeleteAlertDialog-VIOMDLmx.js"><link rel="prefetch" href="/assets/page-Cal6XQ4U.js"><link rel="prefetch" href="/assets/page-C210HcBA.js"><link rel="prefetch" href="/assets/page-XURWnYZP.js"><link rel="prefetch" href="/assets/StackList-BdiR5DvR.js"><link rel="prefetch" href="/assets/DialogItem-ClFCqxEp.js"><link rel="prefetch" href="/assets/AlertDialogDropdownItem-CZW4QyWn.js"><link rel="prefetch" href="/assets/SheetHeader-CASpN2Lz.js"><link rel="prefetch" href="/assets/CollapsibleCard-CnS09ljw.js"><link rel="prefetch" href="/assets/refresh-BcTM09NW.js"><link rel="prefetch" href="/assets/SearchField-DY6-UbRT.js"><link rel="prefetch" href="/assets/zod-XdS2h1ws.js"><link rel="prefetch" href="/assets/index.esm-DhJo3mA6.js"><link rel="prefetch" href="/assets/ProCta-Dm5cWKpS.js"><link rel="prefetch" href="/assets/check-B9QMTa3f.js"><link rel="prefetch" href="/assets/check-circle-C4tYvbtw.js"><link rel="prefetch" href="/assets/form-schemas-CrznJVzA.js"><link rel="prefetch" href="/assets/EmptyState-CjrgDtVk.js"><link rel="prefetch" href="/assets/UsageReason-Cb-mpV8M.js"><link rel="prefetch" href="/assets/gcp-B1I3Qvcx.js"><link rel="prefetch" href="/assets/UpdatePasswordSchemas-CNfKDo2Q.js"><link rel="prefetch" href="/assets/chevron-right-double-Dgp_gEsp.js"><link rel="prefetch" href="/assets/index-DWpiv-Ft.js"><link rel="prefetch" href="/assets/terminal-XFL_4QN-.js"><link rel="prefetch" href="/assets/trash-DP6Tpp_E.js"><link rel="prefetch" href="/assets/help-Co6aedki.js"><link rel="prefetch" href="/assets/DisplayDate-8RESqe5H.js"><link rel="prefetch" href="/assets/info-QkbQz4QU.js"><link rel="prefetch" href="/assets/plus-Cl0_rCVF.js"><link rel="prefetch" href="/assets/stack-detail-query-Cm0fsgo-.js"><link rel="prefetch" href="/assets/ComponentIcon-CbbOc7lb.js"><link rel="prefetch" href="/assets/chevron-down-jbbQh82s.js"><link rel="prefetch" href="/assets/type-guards-CNgPYg8l.js"><link rel="prefetch" href="/assets/CodeSnippet-D2HkkAGr.js"><link rel="prefetch" href="/assets/Infobox-CGxFvqzi.js"><link rel="prefetch" href="/assets/code-browser-CiD8qkBx.js"><link rel="prefetch" href="/assets/logs-CQKlJjo0.js"><link rel="prefetch" href="/assets/ComponentBadge-CDgdd0Ks.js"><link rel="prefetch" href="/assets/Error-CQzjbDcN.js"><link rel="prefetch" href="/assets/terminal-square-XFL_4QN-.js"><link rel="prefetch" href="/assets/layout-DBbfEFBe.js"><link rel="prefetch" href="/assets/transform-CeZdrxDZ.js"><link rel="prefetch" href="/assets/update-current-user-mutation-D5MjcQ6F.js"><link rel="prefetch" href="/assets/index-BjUu1mP4.js"><link rel="prefetch" href="/assets/LeftSideMenu-DCsKdIjC.js"><link rel="prefetch" href="/assets/Tick-BPrWnNlN.js"><link rel="prefetch" href="/assets/Wizard-Dg8Pmn5A.js"><link rel="prefetch" href="/assets/arrow-left-MRXv5pAH.js"><link rel="prefetch" href="/assets/form-DFJkaFDX.js"><link rel="prefetch" href="/assets/Lock-CrIAdQo6.js"><link rel="prefetch" href="/assets/package-miExReQl.js"><link rel="prefetch" href="/assets/index.es-C1gfATPn.js"><link rel="prefetch" href="/assets/Helpbox-CiKxG5_X.js"><link rel="prefetch" href="/assets/clock-B_mTG8PH.js"><link rel="prefetch" href="/assets/components-Br2ezRib.js"><link rel="prefetch" href="/assets/NumberBox-C0mQktmV.js"><link rel="prefetch" href="/assets/configuration-form-B2hmKGnF.js"><link rel="prefetch" href="/assets/constants-1EZZxtay.js"><link rel="prefetch" href="/assets/index-U992soPJ.js"><link rel="prefetch" href="/assets/file-text-Cd8wVfq5.js"><link rel="prefetch" href="/assets/persist-Dec_w7aB.js"><link rel="prefetch" href="/assets/persist-DWMWVP-y.js"><link rel="prefetch" href="/assets/sharedSchema-BXzg0EZz.js"><link rel="prefetch" href="/assets/page-CAJ8B0vb.js"><link rel="prefetch" href="/assets/ProviderIcon-DPwMR6nF.js"><link rel="prefetch" href="/assets/page-DNjKHjnH.js"><link rel="prefetch" href="/assets/Partials-DSjkttlz.js"><link rel="prefetch" href="/assets/StackName-ojLC6xdl.js"><link rel="prefetch" href="/assets/ProviderRadio-DEDNRgAb.js"><link rel="prefetch" href="/assets/page-DKK6ulgy.js"><link rel="prefetch" href="/assets/create-stack-TKmMtrkQ.js"><link rel="prefetch" href="/assets/page-D9Hfx6GV.js"><link rel="prefetch" href="/assets/WizardFooter-BcNDIvlQ.js"><link rel="prefetch" href="/assets/page-CdZCmszX.js"><link rel="prefetch" href="/assets/page-akLcPcKw.js"><link rel="prefetch" href="/assets/page-CUaMMoPG.js"><link rel="prefetch" href="/assets/page-CtiuMP_r.js"><link rel="prefetch" href="/assets/page-Be3R2uYn.js"><link rel="prefetch" href="/assets/page-BrT0_zSJ.js"><link rel="prefetch" href="/assets/404-DmJUgorp.js"></head>
|
14
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BfNISy0X.css">
|
15
|
+
<link rel="prefetch" href="/assets/inter-cyrillic-ext-400-normal-Dc4VJyIJ.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-400-normal-BLGc9T1a.woff2"><link rel="prefetch" href="/assets/inter-greek-ext-400-normal-Bput3-QP.woff2"><link rel="prefetch" href="/assets/inter-vietnamese-400-normal-DMkecbls.woff2"><link rel="prefetch" href="/assets/inter-greek-400-normal-DxZsaF_h.woff2"><link rel="prefetch" href="/assets/inter-latin-400-normal-BOOGhInR.woff2"><link rel="prefetch" href="/assets/inter-latin-ext-400-normal-hnt3BR84.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-500-normal-D4Vwzodn.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-ext-500-normal-BShVwWPj.woff2"><link rel="prefetch" href="/assets/inter-greek-ext-500-normal-B6guLgqG.woff2"><link rel="prefetch" href="/assets/inter-vietnamese-500-normal-DOriooB6.woff2"><link rel="prefetch" href="/assets/inter-latin-ext-500-normal-CIS2RHJS.woff2"><link rel="prefetch" href="/assets/inter-latin-500-normal-D2bGa7uu.woff2"><link rel="prefetch" href="/assets/inter-greek-500-normal-CeQXL5ds.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-ext-600-normal-CaqZN2hq.woff2"><link rel="prefetch" href="/assets/inter-greek-ext-600-normal-Cnui8OiR.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-600-normal-BGBWG807.woff2"><link rel="prefetch" href="/assets/inter-greek-600-normal-Dhlb-90d.woff2"><link rel="prefetch" href="/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2"><link rel="prefetch" href="/assets/inter-latin-ext-600-normal-BnYJhD27.woff2"><link rel="prefetch" href="/assets/inter-latin-600-normal-D273HNI0.woff2"><link rel="prefetch" href="/assets/inter-cyrillic-ext-400-normal-BPnxn4xp.woff"><link rel="prefetch" href="/assets/inter-cyrillic-400-normal-ZzOtrSSW.woff"><link rel="prefetch" href="/assets/inter-greek-ext-400-normal-DCpCPQOf.woff"><link rel="prefetch" href="/assets/inter-vietnamese-400-normal-BUNmGMP1.woff"><link rel="prefetch" href="/assets/inter-greek-400-normal-BZzXV7-1.woff"><link rel="prefetch" href="/assets/inter-latin-400-normal-gitzw0hO.woff"><link rel="prefetch" href="/assets/inter-latin-ext-400-normal-C1t-h-pH.woff"><link rel="prefetch" href="/assets/inter-cyrillic-500-normal-DH2hs3aW.woff"><link rel="prefetch" href="/assets/inter-cyrillic-ext-500-normal-CUiC4oBV.woff"><link rel="prefetch" href="/assets/inter-greek-ext-500-normal-M2hEX8vc.woff"><link rel="prefetch" href="/assets/inter-vietnamese-500-normal-DQPw2Hwd.woff"><link rel="prefetch" href="/assets/inter-latin-ext-500-normal-UMdmhHu2.woff"><link rel="prefetch" href="/assets/inter-latin-500-normal-deR1Tlfd.woff"><link rel="prefetch" href="/assets/inter-greek-500-normal-d_eO-yCQ.woff"><link rel="prefetch" href="/assets/inter-cyrillic-ext-600-normal-Bt9VVOA-.woff"><link rel="prefetch" href="/assets/inter-greek-ext-600-normal-C9WLioJ8.woff"><link rel="prefetch" href="/assets/inter-cyrillic-600-normal-BuzJQFbW.woff"><link rel="prefetch" href="/assets/inter-greek-600-normal-CwicyhtI.woff"><link rel="prefetch" href="/assets/inter-vietnamese-600-normal-Cm6aH8_k.woff"><link rel="prefetch" href="/assets/inter-latin-ext-600-normal-CAF0vJDd.woff"><link rel="prefetch" href="/assets/inter-latin-600-normal-B5cFAncS.woff"><link rel="prefetch" href="/assets/acp-DOsXjFc7.webp"><link rel="prefetch" href="/assets/mcp-Cb1aMeoq.webp"><link rel="prefetch" href="/assets/upgrade-form-CwRHBuXB.webp"><link rel="prefetch" href="/assets/repos-video-D8kpu60k.svg"><link rel="prefetch" href="/assets/templates-1S_8WeSK.webp"><link rel="prefetch" href="/assets/adam-e-y0WnB_.webp"><link rel="prefetch" href="/assets/alex-DcCuDHPg.webp"><link rel="prefetch" href="/assets/baris-C0ZrZ10g.webp"><link rel="prefetch" href="/assets/hamza-NKKOZz1I.webp"><link rel="prefetch" href="/assets/stefan-B08Ftbba.webp"><link rel="prefetch" href="/assets/flyte-Cj-xy_8I.svg"><link rel="prefetch" href="/assets/metaflow-weOkWNyT.svg"><link rel="prefetch" href="/assets/elk-worker.min-BdOC9sib.js"><link rel="prefetch" href="/assets/connectivity-4UKGMYnr.webp"><link rel="prefetch" href="/assets/CodeSnippet-CK5CxKct.css"><link rel="prefetch" href="/assets/page-QrvWQwZb.js"><link rel="prefetch" href="/assets/page-C3JfJxuR.js"><link rel="prefetch" href="/assets/page-CQeJuA8T.js"><link rel="prefetch" href="/assets/page-DiHZK-1w.js"><link rel="prefetch" href="/assets/SetPassword-BmbgL_ed.js"><link rel="prefetch" href="/assets/login-mutation-C1hvP_cX.js"><link rel="prefetch" href="/assets/page-B0104V6C.js"><link rel="prefetch" href="/assets/page-BNJsjvof.js"><link rel="prefetch" href="/assets/page-4xUZpMN0.js"><link rel="prefetch" href="/assets/page-CKjsimVu.js"><link rel="prefetch" href="/assets/page-CfxpV3j4.js"><link rel="prefetch" href="/assets/PasswordChecker-B88WjuCe.js"><link rel="prefetch" href="/assets/layout-o1x87a3q.js"><link rel="prefetch" href="/assets/page-DOCOmmKn.js"><link rel="prefetch" href="/assets/page-Dy4vSQY7.js"><link rel="prefetch" href="/assets/page-DMhaHZDw.js"><link rel="prefetch" href="/assets/page-Dn7ZNapg.js"><link rel="prefetch" href="/assets/page-CESEqC2L.js"><link rel="prefetch" href="/assets/page-iDsDiDXw.js"><link rel="prefetch" href="/assets/resource-type-tooltip-BL9ZTRKi.js"><link rel="prefetch" href="/assets/resource-tyes-list-79FqS3LY.js"><link rel="prefetch" href="/assets/service-connectors-Q8h7-_rG.js"><link rel="prefetch" href="/assets/page-CF8cTZ7l.js"><link rel="prefetch" href="/assets/page-4zc4xPv2.js"><link rel="prefetch" href="/assets/react-error-boundary.esm-7_MuhCay.js"><link rel="prefetch" href="/assets/page-C2i-C7jv.js"><link rel="prefetch" href="/assets/code-snippets-CqONne41.js"><link rel="prefetch" href="/assets/page-BPQ66vR-.js"><link rel="prefetch" href="/assets/SecretTooltip-B5u1UsQ9.js"><link rel="prefetch" href="/assets/page-rVhXI5ZO.js"><link rel="prefetch" href="/assets/update-server-settings-mutation-Bwe3gUt4.js"><link rel="prefetch" href="/assets/page-Ct_LB3zo.js"><link rel="prefetch" href="/assets/page-COifg5fa.js"><link rel="prefetch" href="/assets/dates-Buh6SMo7.js"><link rel="prefetch" href="/assets/key-icon-C07HKw8z.js"><link rel="prefetch" href="/assets/service-k-9Vsb30.js"><link rel="prefetch" href="/assets/page-CefGLeWy.js"><link rel="prefetch" href="/assets/pipeline-CSUlkd50.js"><link rel="prefetch" href="/assets/page-WuvCrN47.js"><link rel="prefetch" href="/assets/page-uxjMX8Iq.js"><link rel="prefetch" href="/assets/page-BXl2ZX6J.js"><link rel="prefetch" href="/assets/StackComponentList-Bi8BKqCu.js"><link rel="prefetch" href="/assets/expand-full-BPiXpch2.js"><link rel="prefetch" href="/assets/page-Dh4GRWw5.js"><link rel="prefetch" href="/assets/RunsBody-mYwMcWWj.js"><link rel="prefetch" href="/assets/ButtonGroup-4sPZDv70.js"><link rel="prefetch" href="/assets/delete-run-BkyDsKQc.js"><link rel="prefetch" href="/assets/Tabs-D4dv48ry.js"><link rel="prefetch" href="/assets/NestedCollapsible-CMuDIJlp.js"><link rel="prefetch" href="/assets/eye-CbVlAYty.js"><link rel="prefetch" href="/assets/all-pipeline-runs-query-DpKw9WL9.js"><link rel="prefetch" href="/assets/ExecutionStatus-BuhNAE9w.js"><link rel="prefetch" href="/assets/bulk-delete-CzYA--cC.js"><link rel="prefetch" href="/assets/DeleteAlertDialog-DEI0YDzP.js"><link rel="prefetch" href="/assets/page-C2A-2Cj_.js"><link rel="prefetch" href="/assets/page-ghjVNgVE.js"><link rel="prefetch" href="/assets/page-D-ZWUMYY.js"><link rel="prefetch" href="/assets/StackList-Cvxapo0p.js"><link rel="prefetch" href="/assets/DialogItem-CRCDpYU6.js"><link rel="prefetch" href="/assets/AlertDialogDropdownItem-DsOmO1FH.js"><link rel="prefetch" href="/assets/SheetHeader-DkH7aG9K.js"><link rel="prefetch" href="/assets/CollapsibleCard-CBKenz9f.js"><link rel="prefetch" href="/assets/refresh-BcTM09NW.js"><link rel="prefetch" href="/assets/Pagination-CWnEpSpN.js"><link rel="prefetch" href="/assets/SearchField-BtUi6cYl.js"><link rel="prefetch" href="/assets/zod-XdS2h1ws.js"><link rel="prefetch" href="/assets/index.esm-DhJo3mA6.js"><link rel="prefetch" href="/assets/ProCta-CNyp04C8.js"><link rel="prefetch" href="/assets/check-B9QMTa3f.js"><link rel="prefetch" href="/assets/check-circle-C4tYvbtw.js"><link rel="prefetch" href="/assets/form-schemas-dyDkAxXP.js"><link rel="prefetch" href="/assets/EmptyState-CjrgDtVk.js"><link rel="prefetch" href="/assets/UsageReason-DhiUV1bu.js"><link rel="prefetch" href="/assets/gcp-B1I3Qvcx.js"><link rel="prefetch" href="/assets/UpdatePasswordSchemas-D_DCETSO.js"><link rel="prefetch" href="/assets/chevron-right-double-Dgp_gEsp.js"><link rel="prefetch" href="/assets/index-DWpiv-Ft.js"><link rel="prefetch" href="/assets/terminal-XFL_4QN-.js"><link rel="prefetch" href="/assets/trash-DP6Tpp_E.js"><link rel="prefetch" href="/assets/help-Co6aedki.js"><link rel="prefetch" href="/assets/DisplayDate-8RESqe5H.js"><link rel="prefetch" href="/assets/info-QkbQz4QU.js"><link rel="prefetch" href="/assets/logs-CQKlJjo0.js"><link rel="prefetch" href="/assets/plus-Cl0_rCVF.js"><link rel="prefetch" href="/assets/stack-detail-query-CNmVZ0Bo.js"><link rel="prefetch" href="/assets/Error-BG6f_WRd.js"><link rel="prefetch" href="/assets/ComponentIcon-CMiVW-O6.js"><link rel="prefetch" href="/assets/chevron-down-jbbQh82s.js"><link rel="prefetch" href="/assets/type-guards-CNgPYg8l.js"><link rel="prefetch" href="/assets/CodeSnippet-Ctplhzdc.js"><link rel="prefetch" href="/assets/Infobox-CSBRrM6r.js"><link rel="prefetch" href="/assets/code-browser-CiD8qkBx.js"><link rel="prefetch" href="/assets/ComponentBadge-Cnecw3qz.js"><link rel="prefetch" href="/assets/arrow-left-MRXv5pAH.js"><link rel="prefetch" href="/assets/terminal-square-XFL_4QN-.js"><link rel="prefetch" href="/assets/layout-DBbfEFBe.js"><link rel="prefetch" href="/assets/transform-CeZdrxDZ.js"><link rel="prefetch" href="/assets/update-current-user-mutation-Ca-Lmwuj.js"><link rel="prefetch" href="/assets/index-BBt0LDtR.js"><link rel="prefetch" href="/assets/LeftSideMenu-DPsCCK3z.js"><link rel="prefetch" href="/assets/Tick-Qquvr4P3.js"><link rel="prefetch" href="/assets/Wizard-BHvY75u_.js"><link rel="prefetch" href="/assets/form-BgtamtJm.js"><link rel="prefetch" href="/assets/Lock-CrIAdQo6.js"><link rel="prefetch" href="/assets/package-miExReQl.js"><link rel="prefetch" href="/assets/index.es-C1gfATPn.js"><link rel="prefetch" href="/assets/Helpbox-DtUG2Bf_.js"><link rel="prefetch" href="/assets/clock-B_mTG8PH.js"><link rel="prefetch" href="/assets/components-Br2ezRib.js"><link rel="prefetch" href="/assets/NumberBox-DtCv7jh3.js"><link rel="prefetch" href="/assets/configuration-form-DSoMMiPE.js"><link rel="prefetch" href="/assets/constants-DTfsIqHy.js"><link rel="prefetch" href="/assets/index-eoDB_1XX.js"><link rel="prefetch" href="/assets/file-text-Cd8wVfq5.js"><link rel="prefetch" href="/assets/persist-BsdEtCkd.js"><link rel="prefetch" href="/assets/persist-CFPbMcJX.js"><link rel="prefetch" href="/assets/sharedSchema-C_HkejsG.js"><link rel="prefetch" href="/assets/page-BQgSZ2nH.js"><link rel="prefetch" href="/assets/ProviderIcon-DHejyg7C.js"><link rel="prefetch" href="/assets/page-COLzBwff.js"><link rel="prefetch" href="/assets/Partials-CfHD6OH5.js"><link rel="prefetch" href="/assets/StackName-CFSZL8ec.js"><link rel="prefetch" href="/assets/ProviderRadio-tGtie8Gc.js"><link rel="prefetch" href="/assets/page-CcjWEjre.js"><link rel="prefetch" href="/assets/create-stack-BpZrmKDu.js"><link rel="prefetch" href="/assets/page-ClcUzawe.js"><link rel="prefetch" href="/assets/WizardFooter-FQm8y-jP.js"><link rel="prefetch" href="/assets/page-DHrvih9u.js"><link rel="prefetch" href="/assets/page-DcQmxKLp.js"><link rel="prefetch" href="/assets/page-D-tJ_Y0a.js"><link rel="prefetch" href="/assets/page-BxeZrG_t.js"><link rel="prefetch" href="/assets/page-_WnHBI1F.js"><link rel="prefetch" href="/assets/page-RF3Fup0q.js"><link rel="prefetch" href="/assets/404-B5eko6XL.js"></head>
|
16
16
|
<body>
|
17
17
|
<div id="root"></div>
|
18
18
|
</body>
|