zenml-nightly 0.82.0.dev20250514__py3-none-any.whl → 0.82.1.dev20250518__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/zen_server/dashboard/assets/{404-D4aYbspS.js → 404-_AtuLtaX.js} +1 -1
- zenml/zen_server/dashboard/assets/{AlertDialogDropdownItem-CRZjthRL.js → AlertDialogDropdownItem-BG7-Ki1L.js} +1 -1
- zenml/zen_server/dashboard/assets/{CodeSnippet-Di-loaZu.js → CodeSnippet-CvI6D0wx.js} +1 -1
- zenml/zen_server/dashboard/assets/{CollapsibleCard-Dr5zb5T5.js → CollapsibleCard-D20FtrzC.js} +1 -1
- zenml/zen_server/dashboard/assets/{Commands-CD9Y7FOE.js → Commands-DGbAvMDk.js} +1 -1
- zenml/zen_server/dashboard/assets/{ComponentBadge-BgGnzcLu.js → ComponentBadge-DKw7Gndh.js} +1 -1
- zenml/zen_server/dashboard/assets/{ComponentIcon-B_7Y_oV-.js → ComponentIcon-ils7uNAk.js} +1 -1
- zenml/zen_server/dashboard/assets/{CsvVizualization-CDrjL6bW.js → CsvVizualization-DVN541XF.js} +1 -1
- zenml/zen_server/dashboard/assets/{DeleteAlertDialog-9RTDnEx3.js → DeleteAlertDialog-DVvXt-S6.js} +1 -1
- zenml/zen_server/dashboard/assets/{DialogItem-0fWTH7ki.js → DialogItem-BHWf3sIB.js} +1 -1
- zenml/zen_server/dashboard/assets/{Error-vBjUYjb-.js → Error-BWaXP0VK.js} +1 -1
- zenml/zen_server/dashboard/assets/{ExecutionStatus-B-ysY113.js → ExecutionStatus-XrvT2r65.js} +1 -1
- zenml/zen_server/dashboard/assets/{Helpbox-Dt3q7NGd.js → Helpbox-iE1xLmiZ.js} +1 -1
- zenml/zen_server/dashboard/assets/{Infobox-Bai0JtFs.js → Infobox-D9k5TFH4.js} +1 -1
- zenml/zen_server/dashboard/assets/{InlineAvatar-Cpj0lVRQ.js → InlineAvatar-Cfz4WSLK.js} +1 -1
- zenml/zen_server/dashboard/assets/{NestedCollapsible-DbhKdWx-.js → NestedCollapsible-Dor-bi98.js} +1 -1
- zenml/zen_server/dashboard/assets/{Partials-BNBtCjuT.js → Partials-DQJFw1yW.js} +1 -1
- zenml/zen_server/dashboard/assets/{ProBadge-3vtouJQf.js → ProBadge-Cp4hb1YT.js} +1 -1
- zenml/zen_server/dashboard/assets/{ProCta-BoTLdAdV.js → ProCta-EYoV9CvK.js} +1 -1
- zenml/zen_server/dashboard/assets/{ProviderIcon-kkODO9tx.js → ProviderIcon-DLo7t1lo.js} +1 -1
- zenml/zen_server/dashboard/assets/{ProviderRadio-26EB5tY-.js → ProviderRadio-BVDA-fAr.js} +1 -1
- zenml/zen_server/dashboard/assets/{RunSelector-j0C_TPVp.js → RunSelector-BLuBYNJt.js} +1 -1
- zenml/zen_server/dashboard/assets/{RunsBody-DexNouV4.js → RunsBody-W4WHf-sq.js} +1 -1
- zenml/zen_server/dashboard/assets/{SearchField-DMCywawn.js → SearchField-D-h6jXyg.js} +1 -1
- zenml/zen_server/dashboard/assets/{SecretTooltip-LLGP7AIC.js → SecretTooltip-CePCL8kd.js} +1 -1
- zenml/zen_server/dashboard/assets/{SetPassword-CBHW-Su8.js → SetPassword-DR-EiLI5.js} +1 -1
- zenml/zen_server/dashboard/assets/{StackList-S-9I1R4n.js → StackList-CgmN5H-i.js} +1 -1
- zenml/zen_server/dashboard/assets/{Tabs-C2ufJX4t.js → Tabs-DxQ8PDOD.js} +1 -1
- zenml/zen_server/dashboard/assets/{Tick-ay3Bgtro.js → Tick-CEsT3HPR.js} +1 -1
- zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-p3RX0P-Q.js → UpdatePasswordSchemas-DbFEaezI.js} +1 -1
- zenml/zen_server/dashboard/assets/{UsageReason-C8sD2bOU.js → UsageReason-DjI5qMje.js} +1 -1
- zenml/zen_server/dashboard/assets/{Wizard-DIllc07n.js → Wizard-CMI6Ksgz.js} +1 -1
- zenml/zen_server/dashboard/assets/{WizardFooter-dNDpuero.js → WizardFooter-CFBHFZas.js} +1 -1
- zenml/zen_server/dashboard/assets/{all-pipeline-runs-query-BUT1PiTp.js → all-pipeline-runs-query-BGASHYtF.js} +1 -1
- zenml/zen_server/dashboard/assets/{configuration-form-DBZSb0FV.js → configuration-form-BtI2Y4eX.js} +1 -1
- zenml/zen_server/dashboard/assets/{create-stack-BXLyjE58.js → create-stack-BJ6x5rzj.js} +1 -1
- zenml/zen_server/dashboard/assets/{delete-run-DzcYxUnd.js → delete-run-DlSLEl5T.js} +1 -1
- zenml/zen_server/dashboard/assets/{flavor-select-BTEwByv6.js → flavor-select-BnPxvQDN.js} +1 -1
- zenml/zen_server/dashboard/assets/{form-schemas-BJN_25Ua.js → form-schemas-CbvoEUHr.js} +1 -1
- zenml/zen_server/dashboard/assets/{index-wYtmKLnQ.js → index-CFESYpe4.js} +1 -1
- zenml/zen_server/dashboard/assets/{index-D9-ukAem.js → index-CmLcvK2z.js} +1 -1
- zenml/zen_server/dashboard/assets/{index-8uhUi12k.js → index-CrhdX_qG.js} +1 -1
- zenml/zen_server/dashboard/assets/index-CzX3ZYlI.css +1 -0
- zenml/zen_server/dashboard/assets/{index-BygJE88j.js → index-D2iSHVZq.js} +7 -7
- zenml/zen_server/dashboard/assets/{login-mutation-DywLqguW.js → login-mutation-CXc-Klim.js} +1 -1
- zenml/zen_server/dashboard/assets/{not-found-BOoklIG4.js → not-found-olRU3fnu.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-ByXQN8A-.js → page-7keIM1V3.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-4nVakAEl.js → page-B31neFwG.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-xa1EAPcI.js → page-B3zo4KYS.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DfTsntQI.js → page-BN3MHq1a.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BIYqUwTI.js → page-BNgVExjN.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-kzSGEVUs.js → page-BPtvu74G.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-uDGvpa5g.js → page-BTIuG0ki.js} +1 -1
- zenml/zen_server/dashboard/assets/{page--hSXKqyG.js → page-BcQzleH6.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-B3DscprQ.js → page-C05Jw4M2.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BE8jdyaM.js → page-C28a7K8h.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-B1Uq1S1Q.js → page-C9WLk0X-.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-RV8wpZ_4.js → page-CINMx64X.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-8AzB83Py.js → page-CSwZxZMQ.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-D2TtSfnb.js → page-CYrJbk7P.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-EXvws1ss.js → page-Ce0cqLo3.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-2BsNK_sZ.js → page-CgNsEkw-.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-cOEvFs_l.js → page-Ct2FUYuR.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DmteSSj6.js → page-D8G2B3Bu.js} +1 -1
- zenml/zen_server/dashboard/assets/page-DL8a4_lg.js +3 -0
- zenml/zen_server/dashboard/assets/{page-Ccnk_5ji.js → page-DMhYn1cF.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CPLlVRXx.js → page-Dd_Yq-Uf.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-K9yjbnd4.js → page-DfSvqT8g.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-B7Aj2XbV.js → page-Dt6ANUTx.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DHnkTzqs.js → page-DtvTleaT.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-uN0n_DE2.js → page-DwfGTiVs.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-Ci_n_x3a.js → page-JgomSTDc.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DkY7AIhj.js → page-L84ig6HB.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-bUVHi7DE.js → page-Mabsn4QJ.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DP2Ed-2m.js → page-P04L5cm9.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-D-ry_oLs.js → page-PfhAnvq4.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CI4a9CXs.js → page-WdRrlNt_.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-D_5R6E7b.js → page-ZfTtFicG.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-Dt3wHeWX.js → page-cqJDDDeK.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-B0r9dBEU.js → page-k-Wxh9L_.js} +1 -1
- zenml/zen_server/dashboard/assets/page-y-zV4n0c.js +1 -0
- zenml/zen_server/dashboard/assets/{persist-SSTTV5q0.js → persist-D87V82eO.js} +1 -1
- zenml/zen_server/dashboard/assets/{persist-CEeDYHW5.js → persist-UUym702q.js} +1 -1
- zenml/zen_server/dashboard/assets/{service-BRoAA1Kq.js → service-BQ9KIhls.js} +1 -1
- zenml/zen_server/dashboard/assets/{sharedSchema-BACERDat.js → sharedSchema-Bse2agAf.js} +1 -1
- zenml/zen_server/dashboard/assets/{stack-detail-query-ihiJr6nq.js → stack-detail-query-BAcZJrN3.js} +1 -1
- zenml/zen_server/dashboard/assets/{update-server-settings-mutation-CK6COmw9.js → update-server-settings-mutation-DwMM1LJz.js} +1 -1
- zenml/zen_server/dashboard/index.html +3 -3
- zenml/zen_stores/migrations/versions/0.82.1_release.py +23 -0
- {zenml_nightly-0.82.0.dev20250514.dist-info → zenml_nightly-0.82.1.dev20250518.dist-info}/METADATA +2 -2
- {zenml_nightly-0.82.0.dev20250514.dist-info → zenml_nightly-0.82.1.dev20250518.dist-info}/RECORD +95 -94
- zenml/zen_server/dashboard/assets/index-DmTFrHJm.css +0 -1
- zenml/zen_server/dashboard/assets/page-BTzhAVEn.js +0 -1
- zenml/zen_server/dashboard/assets/page-CSQOpvvK.js +0 -3
- {zenml_nightly-0.82.0.dev20250514.dist-info → zenml_nightly-0.82.1.dev20250518.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.82.0.dev20250514.dist-info → zenml_nightly-0.82.1.dev20250518.dist-info}/WHEEL +0 -0
- {zenml_nightly-0.82.0.dev20250514.dist-info → zenml_nightly-0.82.1.dev20250518.dist-info}/entry_points.txt +0 -0
@@ -1 +1 @@
|
|
1
|
-
import{j as e,r as j}from"./@radix-C7hRs6Kx.js";import{V as f,y as g,z as o,L as b,r as c,T as y,E as N,G as v,H as P,J as p,K as u,h as R,M as S,S as x,n as T}from"./index-
|
1
|
+
import{j as e,r as j}from"./@radix-C7hRs6Kx.js";import{V as f,y as g,z as o,L as b,r as c,T as y,E as N,G as v,H as P,J as p,K as u,h as R,M as S,S as x,n as T}from"./index-D2iSHVZq.js";import{d as k,L as l,a as h}from"./@react-router-CNP6g_RL.js";import{S as C}from"./refresh-CM5T3QeU.js";import{u as _}from"./all-pipeline-runs-query-BGASHYtF.js";import{S as E,P as w}from"./SearchField-D-h6jXyg.js";import{D}from"./DisplayDate-CYVBBSgr.js";import{g as F,E as A}from"./ExecutionStatus-XrvT2r65.js";import{I as B}from"./InlineAvatar-Cfz4WSLK.js";import{a as I,b as z,u as L,c as G,R as H}from"./RunSelector-BLuBYNJt.js";import"./@tanstack-CSxjHCME.js";import"./@reactflow-CQi1Z1Wq.js";import"./dots-horizontal-BGRJCPCs.js";import"./chevron-right-double-uNWbJT-C.js";import"./index-DR30v9MZ.js";import"./check-circle-mvyzYvIW.js";import"./trash-BWSZ7NRK.js";import"./DeleteAlertDialog-DVvXt-S6.js";import"./zod-C0xYeTvL.js";import"./index.esm-D7jFlf5N.js";import"./AlertDialogDropdownItem-BG7-Ki1L.js";import"./delete-run-DlSLEl5T.js";function U({namespace:s}){return e.jsx(f,{children:e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(g,{className:"h-5 w-5 fill-neutral-400"}),e.jsx("h1",{className:"text-display-xs font-semibold",children:decodeURIComponent(s)})]})})}const d=1,q=o.object({page:o.coerce.number().min(d).optional().default(d).catch(d),name:o.string().optional(),operator:o.enum(["and","or"]).optional()});function J(){const[s]=k(),{page:a,name:t,operator:r}=q.parse({page:s.get("page")||void 0,name:s.get("name")||void 0});return{page:a,name:t,logical_operator:r}}function K(){return[{id:"check",header:"",meta:{width:"1%"},accessorFn:s=>({id:s.id}),cell:({getValue:s})=>{const{id:a}=s();return e.jsx(I,{id:a})}},{id:"run",header:"Run",accessorFn:s=>{var a;return{name:s.name,id:s.id,status:(a=s.body)==null?void 0:a.status}},cell:({getValue:s})=>{const{name:a,status:t,id:r}=s();return e.jsxs("div",{className:"group/copybutton flex items-center gap-2",children:[e.jsx(b,{className:`h-5 w-5 shrink-0 ${F(t)}`}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(l,{to:c.runs.detail(r),className:"flex items-center gap-1",children:e.jsx("h2",{className:"text-text-md font-semibold",children:a})}),e.jsx(y,{children:e.jsxs(N,{children:[e.jsx(v,{className:"hover:text-theme-text-brand hover:underline",children:e.jsx(A,{status:t})}),e.jsx(P,{className:"z-20 capitalize",children:t})]})}),e.jsx(p,{copyText:a})]}),e.jsxs(l,{to:c.runs.detail(r),className:"flex items-center gap-1",children:[e.jsx("p",{className:"text-text-xs text-theme-text-secondary",children:r.split("-")[0]}),e.jsx(p,{copyText:r})]})]})]})}},{id:"stack",header:"Stack",accessorFn:s=>{var a,t,r,n;return{name:(t=(a=s.body)==null?void 0:a.stack)==null?void 0:t.name,id:(n=(r=s.body)==null?void 0:r.stack)==null?void 0:n.id}},cell:({getValue:s})=>{const{name:a,id:t}=s();return!a||!t?null:e.jsx(l,{to:c.stacks.overview,children:e.jsx(u,{rounded:!1,className:"inline-block",color:"turquoise",emphasis:"subtle",children:a})})}},{id:"repository",header:"Repository",accessorFn:s=>{var a,t,r,n,i,m;return{name:(r=(t=(a=s.body)==null?void 0:a.code_reference)==null?void 0:t.body)==null?void 0:r.code_repository.name,id:(m=(i=(n=s.body)==null?void 0:n.code_reference)==null?void 0:i.body)==null?void 0:m.code_repository.id}},cell:({getValue:s})=>{const{name:a,id:t}=s();return!a||!t?null:e.jsx("div",{children:e.jsx(u,{rounded:!1,className:"inline-block",color:"grey",emphasis:"subtle",children:a})})}},{id:"created",header:"Created at",accessorFn:s=>{var a;return(a=s.body)==null?void 0:a.created},cell:({getValue:s})=>e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:e.jsx(D,{dateString:s()})})},{id:"author",header:"Author",accessorFn:s=>{var a;return{author:(a=s.body)==null?void 0:a.user}},cell:({getValue:s})=>{const{author:a}=s();return e.jsx(B,{username:a.name})}},{id:"admin_actions",header:"",meta:{width:"5%"},cell:({row:s})=>e.jsx(z,{id:s.original.id})}]}function M(){const{namespace:s}=h(),a=J(),t=K(),{selectedRuns:r}=L(),{data:n,refetch:i}=_({params:{pipeline_name:decodeURIComponent(s),...a,sort_by:"desc:updated"}},{throwOnError:!0});return e.jsxs("div",{className:"flex flex-col gap-5 p-5",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[r.length?e.jsx(G,{}):e.jsx(E,{searchParams:a}),e.jsxs(R,{intent:"primary",emphasis:"subtle",size:"md",onClick:()=>i(),children:[e.jsx(C,{className:"h-5 w-5 fill-theme-text-brand"}),"Refresh"]})]}),e.jsxs("div",{className:"flex flex-col items-center gap-5",children:[e.jsx("div",{className:"w-full",children:n?e.jsx(S,{columns:t,data:n.items}):e.jsx(x,{className:"h-[500px] w-full"})}),n?n.total_pages>1&&e.jsx(w,{searchParams:a,paginate:n}):e.jsx(x,{className:"h-[36px] w-[300px]"})]})]})}function xe(){const{namespace:s}=h(),{setCurrentBreadcrumbData:a}=T();return j.useEffect(()=>{s&&a({segment:"pipeline_detail",data:{name:s}})},[s]),e.jsx("div",{children:e.jsxs(H,{children:[e.jsx(U,{namespace:s}),e.jsx(M,{})]})})}export{xe as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{r as a,j as e}from"./@radix-C7hRs6Kx.js";import{n as g,V as C,aO as y,h as i,ac as c,r as h}from"./index-
|
1
|
+
import{r as a,j as e}from"./@radix-C7hRs6Kx.js";import{n as g,V as C,aO as y,h as i,ac as c,r as h}from"./index-D2iSHVZq.js";import{H as p,B as u,F as b,W as v}from"./Wizard-CMI6Ksgz.js";import{S as f}from"./arrow-left-CwgF2MEM.js";import{C as N}from"./configuration-form-BtI2Y4eX.js";import{c as S,L as k}from"./@react-router-CNP6g_RL.js";import{S as F}from"./flavor-select-BnPxvQDN.js";import{C as w}from"./ComponentIcon-ils7uNAk.js";import{s as B}from"./constants-DP3ZEnXH.js";import"./@tanstack-CSxjHCME.js";import"./@reactflow-CQi1Z1Wq.js";import"./index-CmLcvK2z.js";import"./plus-COjQg3AG.js";import"./trash-BWSZ7NRK.js";import"./index.esm-D7jFlf5N.js";import"./type-guards-CaeD8wHO.js";import"./index-CFESYpe4.js";import"./zod-C0xYeTvL.js";import"./check-DK77doTf.js";import"./CodeSnippet-CvI6D0wx.js";import"./file-text-BdxZdjP_.js";import"./terminal-square-DMtel8mb.js";import"./layout-h3cbx8WZ.js";import"./rocket-Cf-B-XOR.js";function T(){const{setCurrentBreadcrumbData:s}=g();return a.useEffect(()=>{s({segment:"createComponent",data:null})},[]),e.jsx(C,{children:e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(y,{className:"h-5 w-5 fill-turquoise-400"}),e.jsx("h1",{className:"text-display-xs font-semibold",children:"Register new Component"})]})})}function z({flavor:s,type:t,handleBack:r}){const l=a.useId(),o=S();function m(d){o(h.components.detail(d))}return e.jsxs(e.Fragment,{children:[e.jsxs(p,{className:"flex items-center gap-2",children:[e.jsxs(i,{intent:"secondary",emphasis:"subtle",className:"flex aspect-square size-6 items-center justify-center",onClick:()=>r(),children:[e.jsx(f,{className:"size-5 shrink-0"}),e.jsx("span",{className:"sr-only",children:"Go step back"})]}),e.jsxs("span",{children:["Configure your ",c(s.name)," ",c(t)]})]}),e.jsx(u,{className:"p-0",children:e.jsx(N,{flavorId:s.id,formId:l,successHandler:m,FooterComponent:H})})]})}function H({formId:s,isPending:t}){return e.jsxs(b,{children:[e.jsx(i,{asChild:!0,intent:"secondary",size:"md",children:e.jsx(k,{to:h.components.overview,children:"Cancel"})}),e.jsxs(i,{size:"md",disabled:t,type:"submit",form:s,children:[t&&e.jsx("div",{role:"alert","aria-busy":"true",className:"full h-[20px] w-[20px] animate-spin rounded-rounded border-2 border-theme-text-negative border-b-theme-text-brand"}),"Register Component"]})]})}function I({type:s,handleFlavorSelect:t,handleBack:r}){return e.jsxs(e.Fragment,{children:[e.jsxs(p,{className:"flex items-center gap-2",children:[e.jsxs(i,{intent:"secondary",emphasis:"subtle",className:"flex aspect-square size-6 items-center justify-center",onClick:()=>r(),children:[e.jsx(f,{className:"size-5 shrink-0"}),e.jsx("span",{className:"sr-only",children:"Go step back"})]}),e.jsxs("span",{children:["Select your ",c(s)," Flavor"]})," "]}),e.jsx(u,{children:e.jsx(F,{type:s,setSelectedFlavor:t})})]})}function L({selectTypeHandler:s}){return e.jsxs(e.Fragment,{children:[e.jsx(p,{children:"Select your Component Type"}),e.jsx(u,{children:e.jsx("ul",{className:"grid grid-cols-1 gap-3 md:grid-cols-2 xl:grid-cols-4",children:B.map(t=>e.jsx(R,{type:t,selectTypeHandler:s},t))})})]})}function R({type:s,selectTypeHandler:t}){return e.jsxs("button",{onClick:()=>t(s),className:"flex h-[110px] flex-col items-center justify-center space-y-2 truncate whitespace-nowrap rounded-md border border-theme-border-moderate bg-theme-surface-secondary py-5 text-center text-text-sm text-theme-text-secondary transition-all duration-150 hover:bg-theme-surface-primary hover:shadow-sm",children:[e.jsx(w,{className:"h-5 w-5 shrink-0 fill-theme-text-tertiary group-data-[state=active]/trigger:fill-theme-surface-strong",type:s}),e.jsx("span",{children:c(s)})]})}function q(){const[s,t]=a.useState(0),[r,l]=a.useState(null),[o,m]=a.useState();function d(n){l(n),t(1)}function j(n){m(n),t(2)}function x(){t(n=>n-1)}return e.jsxs(v,{children:[s===0&&e.jsx(L,{selectTypeHandler:d}),s===1&&r&&e.jsx(I,{type:r,handleFlavorSelect:j,handleBack:x}),s===2&&o&&r&&e.jsx(z,{flavor:o,type:r,handleBack:x})]})}function oe(){return e.jsxs("div",{className:"space-y-5",children:[e.jsx(T,{}),e.jsx("section",{className:"layout-container pb-5",children:e.jsx(q,{})})]})}export{oe as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{j as e,r as m}from"./@radix-C7hRs6Kx.js";import{az as g,aA as b,aB as v,aC as y,aD as S,B as h,aE as C}from"./index-
|
1
|
+
import{j as e,r as m}from"./@radix-C7hRs6Kx.js";import{az as g,aA as b,aB as v,aC as y,aD as S,B as h,aE as C}from"./index-D2iSHVZq.js";import{I as l}from"./Infobox-D9k5TFH4.js";import{V as d,g as p}from"./Commands-DGbAvMDk.js";import{H as j}from"./Helpbox-iE1xLmiZ.js";import{S as w,a as k,b as A}from"./gcp-CHNvgEss.js";import{S as z}from"./kubernetes-D6OUjwSK.js";import{S as T}from"./docker-BuDBFEDL.js";import"./@tanstack-CSxjHCME.js";import"./@react-router-CNP6g_RL.js";import"./@reactflow-CQi1Z1Wq.js";import"./CodeSnippet-CvI6D0wx.js";import"./help-DyMolRxD.js";const N="/assets/connectors-video-C9qY4syJ.svg",s="w-5 h-5",P=[{label:"Kubernetes",value:"kubernetes",icon:e.jsx(z,{className:s})},{label:"GCP",value:"gcp",icon:e.jsx(w,{className:s})},{label:"Docker",value:"docker",icon:e.jsx(T,{className:s})},{label:"Azure",value:"azure",icon:e.jsx(k,{className:s})},{label:"AWS",value:"aws",icon:e.jsx(A,{className:s})}],I={help:{href:"https://docs.zenml.io/how-to/infrastructure-deployment/auth-management/kubernetes-service-connector",text:"Use the complete guide to set up your Kubernetes Service Connector."},prerequisites:i("kubernetes","Kubernetes"),listCommand:a("kubernetes","Kubernetes"),topInfobox:"The ZenML Kubernetes service connector facilitates authenticating and connecting to a Kubernetes cluster. The connector can be used to access to any generic Kubernetes cluster by providing pre-authenticated Kubernetes python clients to Stack Components that are linked to it and also allows configuring the local Kubernetes CLI (i.e. kubectl).",bottomInfobox:"Upon completion of the installation of the required prerequisites and integration, our documentation provides you with a comprehensive list of resource types that can be employed to establish your connector. Please refer to the documentation to explore all available options."},q={help:{text:"Use the complete guide to set up your GCP Service Connector.",href:"https://docs.zenml.io/how-to/infrastructure-deployment/auth-management/gcp-service-connector"},prerequisites:i("gcp","GCP"),listCommand:a("gcp","GCP"),bottomInfobox:"Upon completion of the installation of the required prerequisites and integration, our documentation will guide you with a comprehensive list of all the resource types that can be employed to establish your GCP connector. Please refer to the documentation to explore all available options.",topInfobox:"The ZenML GCP Service Connector facilitates the authentication and access to managed GCP services and resources. These encompass a range of resources, including GCS buckets, GCR container repositories, and GKE clusters. The connector provides support for various authentication methods, including GCP user accounts, service accounts, short-lived OAuth 2.0 tokens, and implicit authentication."},G={help:{text:"Use the complete guide to set up your Docker Service Connector.",href:"https://docs.zenml.io/how-to/infrastructure-deployment/auth-management/docker-service-connector"},listCommand:a("docker","Docker"),topInfobox:"The ZenML Docker Service Connector allows authenticating with a Docker or OCI container registry and managing Docker clients for the registry. This connector provides pre-authenticated python-docker Python clients to Stack Components that are linked to it.",bottomInfobox:"No Python packages are required for this Service Connector. All prerequisites are included in the base ZenML Python package. Docker needs to be installed on environments where container images are built and pushed to the target container registry. Please refer to the documentation to explore all available options."},K={help:{text:"Use the complete guide to set up your Azure Service Connector.",href:"https://docs.zenml.io/how-to/infrastructure-deployment/auth-management/azure-service-connector"},listCommand:a("azure","Azure"),prerequisites:i("azure","Azure"),topInfobox:"The ZenML Azure Service Connector facilitates the authentication and access to managed Azure services and resources. These encompass a range of resources, including blob storage containers, ACR repositories, and AKS clusters.",bottomInfobox:"Upon completion of the installation of the required prerequisites and integration, our documentation will guide you with a comprehensive list of all the resource types that can be employed to establish your Azure connector. Please refer to the documentation to explore all available options."},L={help:{text:"Use the complete guide to set up your AWS Service Connector.",href:"https://docs.zenml.io/how-to/infrastructure-deployment/auth-management/aws-service-connector"},listCommand:a("aws","AWS"),prerequisites:i("aws","AWS"),topInfobox:"The ZenML AWS Service Connector facilitates the authentication and access to managed AWS services and resources. These encompass a range of resources, including S3 buckets, ECR container repositories, and EKS clusters. The connector provides support for various authentication methods, including explicit long-lived AWS secret keys, IAM roles, short-lived STS tokens, and implicit authentication.",bottomInfobox:"Upon completion of the installation of the required prerequisites and integration, our documentation will guide you with a comprehensive list of all the resource types that can be employed to establish your AWS connector. Please refer to the documentation to explore all available options."};function a(t,o){return{command:`zenml service-connector list-types --type ${t}`,description:`List ${o} Connector Types`}}function i(t,o){return[{description:"Install the prerequisites",command:`pip install "zenml[connectors-${t}]"`},{description:`Install the entire ${o} ZenML integration`,command:`zenml integration install ${t}`}]}function M({id:t,selectedType:o,onTypeChange:c}){return e.jsxs(g,{value:o,onValueChange:n=>c(n),children:[e.jsx(b,{id:t,className:"w-[250px] border border-neutral-300 px-2 text-left text-text-md",children:e.jsx(v,{placeholder:"Select Connector Type"})}),e.jsx(y,{className:"",children:P.map(n=>e.jsx(S,{value:n.value,children:e.jsxs("div",{className:"flex items-center gap-1",children:[n.icon,n.label]})},n.value))})]})}function D(){return e.jsx(l,{children:e.jsxs("div",{className:"flex w-full flex-wrap items-center gap-x-2 gap-y-0.5 text-text-md",children:[e.jsx("p",{className:"font-semibold",children:"We are creating a new Connectors experience"}),e.jsx("p",{children:"In the meanwhile you can use the CLI to add and manage your connectors."})]})})}function W(){const t="https://zenml.portal.trainn.co/share/V6magMJZZvMptz1wdnUmPA/embed?autoplay=false";return e.jsxs(h,{className:"flex flex-col-reverse items-stretch overflow-hidden lg:flex-row",children:[e.jsxs("div",{className:"w-full p-7 lg:w-2/3",children:[e.jsx("h2",{className:"text-display-xs font-semibold",children:"Learn More about Connectors"}),e.jsx("p",{className:"mt-2 text-text-lg text-theme-text-secondary",children:"Dive into Service Connector Types for a documented approach to secure authentication and authorization practices."}),e.jsx(d,{videoLink:t,buttonText:"Watch the Starter Guide (2 min)"})]}),e.jsx("div",{className:"flex w-full items-center justify-center bg-primary-50 lg:w-1/3",children:e.jsx(d,{fallbackImage:e.jsx("img",{src:N,alt:"Purple squares with text indicating a starter guide for secrets",className:"h-full w-full"}),videoLink:t,isButton:!1})})]})}function U(){const[t,o]=m.useState("kubernetes");return e.jsxs("section",{className:"space-y-5 pl-8 pr-5",children:[e.jsx(M,{selectedType:t,onTypeChange:o,id:"connector-select"}),Z(t)]})}function r({topInfobox:t,bottomInfobox:o,listCommand:c,prerequisites:n,help:u}){return e.jsxs(e.Fragment,{children:[e.jsx(l,{className:"text-text-md",intent:"neutral",children:t}),p(c),n&&e.jsxs(e.Fragment,{children:[e.jsx("p",{children:"Prerequisites"}),n.map((x,f)=>e.jsx(m.Fragment,{children:p(x)},f))]}),e.jsx(l,{className:"text-text-md",intent:"neutral",children:o}),e.jsx(j,{text:u.text,link:u.href})]})}function Z(t){switch(t){case"kubernetes":return r(I);case"gcp":return r(q);case"docker":return r(G);case"azure":return r(K);case"aws":return r(L)}}function ee(){return e.jsxs(h,{className:"space-y-4 p-5",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"Secrets"}),e.jsx(D,{}),e.jsx(W,{}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(C,{}),"Administering your Connectors"]}),e.jsx(U,{})]})}export{ee as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{r as l,j as e}from"./@radix-C7hRs6Kx.js";import{u as m,S as x,a as y,b as v}from"./form-schemas-
|
1
|
+
import{r as l,j as e}from"./@radix-C7hRs6Kx.js";import{u as m,S as x,a as y,b as v}from"./form-schemas-CbvoEUHr.js";import{A as j,I as U,P as b,U as h,S as _}from"./UsageReason-DjI5qMje.js";import{f as g,ax as C,i as P,bd as w,l as A,S as E}from"./index-D2iSHVZq.js";import{c as F}from"./@tanstack-CSxjHCME.js";import"./check-circle-mvyzYvIW.js";import"./@react-router-CNP6g_RL.js";import"./UpdatePasswordSchemas-DbFEaezI.js";import"./zod-C0xYeTvL.js";import"./index.esm-D7jFlf5N.js";import"./gcp-CHNvgEss.js";import"./kubernetes-D6OUjwSK.js";import"./rocket-Cf-B-XOR.js";import"./@reactflow-CQi1Z1Wq.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}=m(),{setUser:a}=d();function r({fullName:s,getUpdates:c,email:o}){a(p=>({...p,...o?{email:o}:{email:null},full_name:s,email_opted_in:c})),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}=m(),{toast:a}=g(),r=F(),{mutate:u}=C({onSuccess:async()=>{await r.invalidateQueries({queryKey:w()}),n(s=>s+1)},onError:s=>{s instanceof Error&&a({status:"error",emphasis:"subtle",icon:e.jsx(P,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:s.message,rounded:!0})}});function i({other:s,providers:c,otherVal:o}){const f={infra_providers:s?[...c,o]:c,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}=m(),{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(b,{user:t,submitHandler:r})}function k(){const{setSurveyStep:t}=m(),{setUser:n}=d();function a({usageReason:r,comparison_tools:u,otherTool:i,otherToolVal:s}){const c={usage_reason:r,...!!u&&{comparing_tools:i&&s?[...u,s]:u}};n(o=>({...o,user_metadata:{...o.user_metadata,...c}})),t(o=>o+1)}return e.jsx(h,{submitHandler:a})}function M(){const{data:t,isPending:n,isError:a}=A({throwOnError:!0}),{surveyStep:r}=m();return a?null:n?e.jsx(E,{className:"h-[300px]"}):e.jsx(e.Fragment,{children:e.jsxs(H,{children:[e.jsx(x,{stepAmount:5}),r===1&&e.jsx(D,{user:t}),r===2&&e.jsx(R,{user:t}),r===3&&e.jsx(k,{}),r===4&&e.jsx(I,{}),r===5&&e.jsx(_,{}),r===6&&e.jsx(y,{subHeader:"Your ZenML account is now updated",displayBody:!1,username:t.name})]})})}function X(){return e.jsx("div",{children:e.jsx(v,{children:e.jsx(M,{})})})}export{X as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{r as i,j as s}from"./@radix-C7hRs6Kx.js";import{z as t,e as j,f as N,I as c,h as w,r as y,i as b,B as v}from"./index-
|
1
|
+
import{r as i,j as s}from"./@radix-C7hRs6Kx.js";import{z as t,e as j,f as N,I as c,h as w,r as y,i as b,B as v}from"./index-D2iSHVZq.js";import{u as S}from"./login-mutation-CXc-Klim.js";import{t as I}from"./zod-C0xYeTvL.js";import{u as L}from"./index.esm-D7jFlf5N.js";import{c as F,d as P}from"./@react-router-CNP6g_RL.js";import"./@tanstack-CSxjHCME.js";import"./@reactflow-CQi1Z1Wq.js";const E=t.object({username:t.string().min(1),password:t.string().optional()});function A(){const l=F(),{setAuthState:m}=j(),{toast:u}=N(),a=i.useId(),r=i.useId(),[o]=P(),d=o.get("redirect"),x=o.get("username")??void 0,{register:n,handleSubmit:p,formState:{isValid:h}}=L({resolver:I(E),defaultValues:{username:x}}),f=S({onError:e=>{e instanceof Error&&u({status:"error",emphasis:"subtle",icon:s.jsx(b,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:e.message,rounded:!0})},onSuccess:async()=>{m("true"),l(d||y.home)}});function g(e){f.mutate({username:e.username.trim(),password:e.password})}return s.jsxs("form",{onSubmit:p(g),className:"space-y-5",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"space-y-0.5",children:[s.jsx("label",{htmlFor:a,className:"text-text-sm",children:"Username"}),s.jsx(c,{...n("username"),id:a,className:"w-full"})]}),s.jsxs("div",{className:"space-y-0.5",children:[s.jsx("label",{htmlFor:r,className:"text-text-sm",children:"Password"}),s.jsx(c,{...n("password"),id:r,type:"password",className:"w-full"})]})]}),s.jsx(w,{disabled:!h,className:"w-full text-center",size:"md",children:s.jsx("span",{className:"w-full",children:"Login"})})]})}function U(){return s.jsxs(v,{className:"flex w-full max-w-[540px] flex-col gap-5 p-7",children:[s.jsxs("div",{className:"text-center",children:[s.jsx("h1",{className:"mb-0.5 text-display-xs font-semibold",children:"Log in to your account"}),s.jsx("p",{className:"text-theme-text-secondary",children:"Please, fill in your details to log in to your ZenML account."})]}),s.jsx(A,{})]})}export{U as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{r as o,j as e}from"./@radix-C7hRs6Kx.js";import{z as i,f as v,ao as y,ay as j,ar as S,i as C,u as k,B as w,S as E}from"./index-
|
1
|
+
import{r as o,j as e}from"./@radix-C7hRs6Kx.js";import{z as i,f as v,ao as y,ay as j,ar as S,i as C,u as k,B as w,S as E}from"./index-D2iSHVZq.js";import{u as F}from"./update-server-settings-mutation-DwMM1LJz.js";import{t as q}from"./zod-C0xYeTvL.js";import{c as A}from"./@tanstack-CSxjHCME.js";import{u as I,C as b}from"./index.esm-D7jFlf5N.js";import"./@react-router-CNP6g_RL.js";import"./@reactflow-CQi1Z1Wq.js";const _=i.object({announcements:i.boolean(),updates:i.boolean()});function K({settings:t}){var h,f;const c=o.useId(),d=o.useId(),{toast:l}=v(),u=A(),{mutate:g}=F({onError:s=>{u.invalidateQueries({queryKey:j()}),S(s)&&l({status:"error",emphasis:"subtle",icon:e.jsx(C,{className:"h-5 w-5 shrink-0 fill-error-700"}),description:s.message,rounded:!0})},onSuccess:()=>{u.invalidateQueries({queryKey:j()}),l({status:"success",emphasis:"subtle",rounded:!0,description:"Settings updated successfully"})}}),{control:m,handleSubmit:p,watch:x}=I({resolver:q(_),defaultValues:{announcements:((h=t.body)==null?void 0:h.display_announcements)??void 0,updates:((f=t.body)==null?void 0:f.display_updates)??void 0}});function N({announcements:s,updates:a}){g({display_announcements:s,display_updates:a})}return o.useEffect(()=>{const s=x(()=>p(N)());return()=>s.unsubscribe()},[p,x]),e.jsx("form",{id:"create-user-form",className:"space-y-5",children:e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"flex items-center gap-5",children:[e.jsx(b,{control:m,name:"announcements",render:({field:{value:s,onChange:a,ref:n}})=>e.jsx(y,{ref:n,checked:s,onCheckedChange:r=>{a(!!r)},id:c})}),e.jsxs("label",{htmlFor:c,className:"text-text-md",children:[e.jsx("p",{className:"font-semibold",children:"Announcements"}),e.jsx("p",{className:"text-theme-text-secondary",children:"Enable Announcements for important ZenML updates, surveys, and feedback opportunities."})]})]}),e.jsx("hr",{}),e.jsxs("div",{className:"flex items-center gap-5",children:[e.jsx(b,{control:m,name:"updates",render:({field:{value:s,onChange:a,ref:n}})=>e.jsx(y,{ref:n,checked:s,onCheckedChange:r=>{a(!!r)},id:d})}),e.jsxs("label",{htmlFor:d,className:"text-text-md",children:[e.jsx("p",{className:"font-semibold",children:"Updates"}),e.jsx("p",{className:"text-theme-text-secondary",children:"Activate Updates to receive the latest ZenML news and feature releases."})]})]})]})})}function P(){const{data:t}=k({throwOnError:!0});return e.jsxs(w,{className:"flex flex-col gap-5 p-5",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"Notifications"}),e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"ZenML comes equipped with default widgets designed to enhance your experience by analyzing usage patterns, gathering your feedback, and ensuring you stay informed about our latest updates and features."})]}),e.jsx("div",{className:"",children:t?e.jsx(K,{settings:t}):e.jsx(E,{className:"h-[250px] w-full"})})]})}export{P as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{r as m,j as e}from"./@radix-C7hRs6Kx.js";import{j as S,o as D,F as b,p as C,f as w,ar as y,t as O,v as H,h,s as $,as as R,aI as V,at as J,aJ as U,av as G,ao as Y,D as Z,w as W,x as X,C as K,r as k,ai as ee,aj as te,ak as se,al as ne,am as re,I as F,ap as ce,aq as ae,B as q,n as ie,M as oe,S as T}from"./index-BygJE88j.js";import{P as le,S as ue}from"./SearchField-DMCywawn.js";import{s as f,A as de,u as me,c as xe,a as E,b as he}from"./service-BRoAA1Kq.js";import{b as N,c as g,a as pe}from"./@tanstack-CSxjHCME.js";import{S as I}from"./trash-BWSZ7NRK.js";import{D as M,a as Q}from"./DeleteAlertDialog-9RTDnEx3.js";import{S as fe}from"./Lock-DW-0_M0o.js";import{L as P}from"./@react-router-CNP6g_RL.js";import{S as je}from"./dots-horizontal-BGRJCPCs.js";import{A as ve}from"./AlertDialogDropdownItem-CRZjthRL.js";import{t as ye}from"./zod-C0xYeTvL.js";import{u as ge,F as Ae,b as Se,C as A}from"./index.esm-D7jFlf5N.js";import"./@reactflow-CQi1Z1Wq.js";import"./chevron-right-double-uNWbJT-C.js";import"./index-DR30v9MZ.js";import"./CodeSnippet-Di-loaZu.js";import"./Infobox-Bai0JtFs.js";import"./Tick-ay3Bgtro.js";import"./check-DK77doTf.js";async function De(t){const s=D(C.serviceAccounts.detail(t)),r=await S(s,{method:"DELETE",headers:{"Content-Type":"application/json"}});if(!r.ok){const n=await r.json().then(c=>Array.isArray(c.detail)?c.detail[1]:c.detail).catch(()=>`Failed to delete service account ${t}`);throw new b({status:r.status,statusText:r.statusText,message:n})}return r.json()}function be(t){return N({...t,mutationFn:async s=>{await De(s)}})}const z=m.createContext(null);function Ce({children:t}){const[s,r]=m.useState([]),n=g(),{toast:c}=w(),a=be(),u=async o=>{try{const d=o.map(l=>a.mutateAsync(l));await Promise.all(d),c({description:"Deleted successfully.",status:"success",emphasis:"subtle",rounded:!0}),n.invalidateQueries({queryKey:f.serviceAccountsKey()}),r([])}catch(d){y(d)&&c({status:"error",emphasis:"subtle",description:d.message,rounded:!0}),console.error("Failed to delete some pipelines:",d)}};return e.jsx(z.Provider,{value:{selectedServiceAccounts:s,setSelectedServiceAccounts:r,bulkDeleteServiceAccounts:u},children:t})}function j(){const t=m.useContext(z);if(!t)throw new Error("useServiceAccountSelectorContext must be used within a ServiceAccountsSelectorProvider");return t}function we(){const[t,s]=m.useState(!1),{bulkDeleteServiceAccounts:r,selectedServiceAccounts:n}=j();async function c(){await r(n),s(!1)}return e.jsxs(O,{open:t,onOpenChange:s,children:[e.jsx(H,{asChild:!0,children:e.jsxs(h,{className:"rounded-sharp border-y-0 bg-white",size:"md",emphasis:"subtle",intent:"secondary",children:[e.jsx(I,{className:"h-5 w-5 shrink-0 gap-1 fill-neutral-400"}),"Delete"]})}),e.jsx(M,{title:`Delete Service Account${n.length>=2?"s":""}`,handleDelete:c,children:e.jsxs(Q,{children:[e.jsx("p",{children:"Are you sure?"}),e.jsx("p",{children:"This action cannot be undone."})]})})]})}function Ne(){const{selectedServiceAccounts:t}=j();return e.jsxs("div",{className:"flex items-center divide-x divide-theme-border-moderate overflow-hidden rounded-md border border-theme-border-moderate",children:[e.jsx("div",{className:"bg-primary-25 px-2 py-1 font-semibold text-theme-text-brand",children:`${t==null?void 0:t.length} Service Account${(t==null?void 0:t.length)>1?"s":""} selected`}),e.jsx(we,{})]})}async function ke({body:t,serviceAccountId:s}){const r=D(C.serviceAccounts.detail(s)),n=await S(r,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(n.status===404&&$(),!n.ok){const c=await n.json().then(a=>Array.isArray(a.detail)?a.detail[1]:a.detail).catch(()=>`Failed to update service account ${s}`);throw new b({status:n.status,statusText:n.statusText,message:c})}return n.json()}function Fe(t){return N({...t,mutationFn:async({serviceAccountId:s,body:r})=>ke({serviceAccountId:s,body:r})})}function Te({isActive:t,serviceAccountId:s}){const{toast:r}=w(),n=g(),[c,a]=m.useState(!1),{mutate:u}=Fe({onError(l){y(l)&&r({status:"error",emphasis:"subtle",description:l.message,rounded:!0})},onSuccess(){n.invalidateQueries({queryKey:f.serviceAccountsKey()})}});function o(l){l?d(l):a(!0)}async function d(l){u({serviceAccountId:s,body:{active:l}})}return e.jsxs(e.Fragment,{children:[e.jsx(O,{open:c,onOpenChange:a,children:e.jsxs(R,{children:[e.jsx(V,{children:e.jsx(J,{children:"Deactivate Service Account"})}),e.jsxs("div",{className:"p-5 text-text-md text-theme-text-secondary",children:[e.jsx("p",{children:"Are you sure?"}),e.jsx("p",{children:"You won't be able to use any API keys of this service account to authenticate with the server anymore."})]}),e.jsxs(U,{className:"gap-[10px]",children:[e.jsx(G,{asChild:!0,children:e.jsx(h,{size:"sm",intent:"secondary",children:"Cancel"})}),e.jsx(h,{onClick:()=>d(!1).then(l=>a(!1)),intent:"primary",type:"button",children:"Deactivate"})]})]})}),e.jsx(Y,{checked:t,onCheckedChange:o})]})}function Pe({serviceAccountId:t}){const[s,r]=m.useState(!1),[n,c]=m.useState(!1),{bulkDeleteServiceAccounts:a}=j(),u=m.useRef(null),o=m.useRef(null);function d(){o.current=u.current}async function l(){await a([t]),p(!1)}function p(x){if(x===!1){r(!1),setTimeout(()=>{c(x)},200);return}c(x)}return e.jsxs(Z,{onOpenChange:r,open:s,children:[e.jsx(W,{ref:u,children:e.jsx(je,{className:"h-5 w-5 fill-theme-text-secondary"})}),e.jsx(X,{hidden:n,onCloseAutoFocus:x=>{o.current&&(o.current.focus(),o.current=null,x.preventDefault())},align:"end",sideOffset:7,children:e.jsx(ve,{onSelect:d,open:n,onOpenChange:p,triggerChildren:"Delete",icon:e.jsx(I,{fill:"red"}),children:e.jsx(M,{title:"Delete Service Account",handleDelete:l,children:e.jsxs(Q,{children:[e.jsx("p",{children:"Are you sure?"}),e.jsx("p",{children:"This action cannot be undone."})]})})})})]})}const Oe=({id:t})=>{const{selectedServiceAccounts:s,setSelectedServiceAccounts:r}=j(),n=(c,a)=>{r(u=>c?[...u,a]:u.filter(o=>o!==a))};return e.jsx(K,{id:t,onCheckedChange:c=>n(c,t),checked:s.includes(t),className:"h-3 w-3"})};function Ke(){return[{id:"check",header:"",meta:{width:"1%"},accessorFn:t=>t.id,cell:({row:t})=>e.jsx(Oe,{id:t.original.id})},{id:"service-account",header:"Service Account",accessorFn:t=>t.name,cell:({row:t})=>{var s;return e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(fe,{className:"h-5 w-5 flex-shrink-0 fill-primary-400"}),e.jsxs("div",{className:"group/copybutton flex flex-col",children:[e.jsx("div",{className:"flex flex-row items-center space-x-1",children:e.jsx("div",{className:"flex items-center space-x-1",children:e.jsx(P,{className:"text-text-md font-semibold text-theme-text-primary",to:k.settings.service_accounts.detail(t.original.id),children:t.original.name})})}),e.jsx("div",{className:"flex items-center gap-1",children:e.jsx(P,{className:"flex items-center gap-1 text-text-sm text-theme-text-secondary",to:k.settings.service_accounts.detail(t.original.id),children:(s=t.original.metadata)==null?void 0:s.description})})]})]})}},{id:"active",header:"Active",accessorFn:t=>{var s;return(s=t.body)==null?void 0:s.active},cell:({row:t})=>{var s;return e.jsx(Te,{isActive:!!((s=t.original.body)!=null&&s.active),serviceAccountId:t.original.id})}},{id:"actions",meta:{width:"5%"},header:"",cell:({row:t})=>e.jsx("div",{className:"flex items-center justify-end",children:e.jsx(Pe,{serviceAccountId:t.original.id})})}]}async function qe({body:t}){const s=D(C.serviceAccounts.all),r=await S(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){const n=await r.json().then(c=>Array.isArray(c.detail)?c.detail[1]:c.detail).catch(()=>"Failed to create service account");throw new b({status:r.status,statusText:r.statusText,message:n})}return r.json()}function Ee(t){return N({...t,mutationFn:async s=>qe({body:s})})}function B({isFallback:t}){const[s,r]=m.useState(!1),[n,c]=m.useState(""),a=g(),u=ge({resolver:ye(xe),defaultValues:{name:"",description:"",createDefault:!1}}),o=!!n&&u.watch("createDefault");function d(){return o?e.jsx(de,{value:n}):e.jsx(Ie,{isFallback:t,setApiKeyValue:c,setOpen:r})}return e.jsx(Ae,{...u,children:e.jsxs(ee,{open:s,onOpenChange:l=>{t&&!l&&a.invalidateQueries({queryKey:f.serviceAccountsKey()}),r(l),c(""),u.reset()},children:[e.jsx(te,{asChild:!0,children:e.jsx(h,{className:"shrink-0",size:"sm",intent:"primary",children:"Add service account"})}),e.jsxs(se,{"data-success":o,className:"mx-auto overflow-x-auto transition-none data-[success=true]:max-w-[800px]",children:[e.jsx(ne,{children:e.jsx(re,{children:"Add service account"})}),d()]})]})})}function Ie({setApiKeyValue:t,setOpen:s,isFallback:r}){const{watch:n,handleSubmit:c,control:a,formState:{isValid:u}}=Se(),{toast:o}=w(),d=g(),{mutate:l}=Ee({onError(i){y(i)&&o({status:"error",emphasis:"subtle",description:i.message,rounded:!0})},async onSuccess(i){if(o({description:"The service account has been added successfully.",status:"success",emphasis:"subtle",rounded:!0}),n("createDefault")){x(i.id);return}d.invalidateQueries({queryKey:f.serviceAccountsKey()}),s(!1)}}),{mutate:p}=me({onSuccess(i){var v;r||d.invalidateQueries({queryKey:f.serviceAccountsKey()}),t(((v=i.body)==null?void 0:v.key)||"")},onError(i){y(i)&&o({status:"error",emphasis:"subtle",description:i.message,rounded:!0})}}),x=i=>{p({serviceAccountId:i,body:{name:"default",description:"Default api key"}})},L=i=>{l({name:i.name,description:i.description,active:!0})};return e.jsxs(e.Fragment,{children:[e.jsxs("form",{id:"create-secret-form",className:"space-y-5 p-7",onSubmit:c(L),children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("label",{className:"font-inter text-sm text-left font-medium leading-5",children:"Name:"}),e.jsx(A,{name:"name",control:a,render:({field:i})=>e.jsx(F,{...i,className:"w-full",required:!0,placeholder:"Add name"})})]}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("label",{className:"font-inter text-sm text-left font-medium leading-5",children:"Description:"}),e.jsx(A,{name:"description",control:a,render:({field:i})=>e.jsx(F,{...i,className:"w-full",placeholder:"Add description"})})]}),e.jsxs("div",{className:"flex flex-col",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(A,{control:a,name:"createDefault",render:({field:{onChange:i,value:v}})=>e.jsx(K,{checked:v,id:"default-key",onCheckedChange:_=>i(!!_)})}),e.jsx("label",{htmlFor:"default-key",children:"Create a default API Key"})]}),e.jsx("p",{className:"pl-[30px] text-text-xs text-theme-text-secondary",children:"This will include a default API Key for your service account."})]})]}),e.jsxs(ce,{className:"gap-[10px]",children:[e.jsx(ae,{asChild:!0,children:e.jsx(h,{size:"sm",intent:"secondary",children:"Cancel"})}),e.jsx(h,{intent:"primary",size:"sm",disabled:!u,type:"submit",form:"create-secret-form",children:"Add service account"})]})]})}function Me(){return e.jsxs(q,{className:"flex flex-col items-center justify-center space-y-4 p-9",children:[e.jsxs("div",{className:"space-y-2 text-center",children:[e.jsx("p",{className:"text-display-xs font-semibold text-theme-text-primary",children:"There are no service accounts yet."}),e.jsx("p",{className:"text-theme-text-secondary",children:"Create your first one now to automate your processes securely with ZenML."})]}),e.jsx(B,{isFallback:!0})]})}function Qe(){const{setCurrentBreadcrumbData:t}=ie(),s=E();m.useEffect(()=>{t({segment:"service_accounts",data:null})},[]);const r=m.useMemo(()=>Ke(),[]),{data:n}=pe({...he.serviceAccountList({...s,sort_by:"desc:created",hydrate:!0})});return n&&n.items.length<1&&!s.name?e.jsx(Me,{}):e.jsxs(Ce,{children:[e.jsx(ze,{}),e.jsxs("div",{className:"flex flex-col items-center gap-5",children:[e.jsx("div",{className:"w-full",children:n?e.jsx(oe,{columns:r,data:n.items}):e.jsx(T,{className:"h-[500px] w-full"})}),n?n.total_pages>1&&e.jsx(le,{searchParams:s,paginate:n}):e.jsx(T,{className:"h-[36px] w-[300px]"})]})]})}function ze(){const t=E(),{selectedServiceAccounts:s}=j();return e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[s.length?e.jsx(Ne,{}):e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(ue,{searchParams:t})}),e.jsx(B,{isFallback:!1})]})}function it(){return e.jsxs(q,{className:"space-y-4 p-5",children:[e.jsx(Be,{}),e.jsx(Qe,{})]})}function Be(){return e.jsxs("div",{className:"space-y-2",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"Service Accounts"}),e.jsxs("div",{className:"flex flex-wrap items-center gap-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"Configure automated access for background tasks and integrations."}),e.jsx("a",{target:"_blank",rel:"noreferrer noopener",href:"https://docs.zenml.io/how-to/project-setup-and-management/connecting-to-zenml/connect-with-a-service-account",className:"link text-text-sm text-primary-400",children:"Learn More"})]})]})}export{it as default};
|
1
|
+
import{r as m,j as e}from"./@radix-C7hRs6Kx.js";import{j as S,o as D,F as b,p as C,f as w,ar as y,t as O,v as H,h,s as $,as as R,aI as V,at as J,aJ as U,av as G,ao as Y,D as Z,w as W,x as X,C as K,r as k,ai as ee,aj as te,ak as se,al as ne,am as re,I as F,ap as ce,aq as ae,B as q,n as ie,M as oe,S as T}from"./index-D2iSHVZq.js";import{P as le,S as ue}from"./SearchField-D-h6jXyg.js";import{s as f,A as de,u as me,c as xe,a as E,b as he}from"./service-BQ9KIhls.js";import{b as N,c as g,a as pe}from"./@tanstack-CSxjHCME.js";import{S as I}from"./trash-BWSZ7NRK.js";import{D as M,a as Q}from"./DeleteAlertDialog-DVvXt-S6.js";import{S as fe}from"./Lock-DW-0_M0o.js";import{L as P}from"./@react-router-CNP6g_RL.js";import{S as je}from"./dots-horizontal-BGRJCPCs.js";import{A as ve}from"./AlertDialogDropdownItem-BG7-Ki1L.js";import{t as ye}from"./zod-C0xYeTvL.js";import{u as ge,F as Ae,b as Se,C as A}from"./index.esm-D7jFlf5N.js";import"./@reactflow-CQi1Z1Wq.js";import"./chevron-right-double-uNWbJT-C.js";import"./index-DR30v9MZ.js";import"./CodeSnippet-CvI6D0wx.js";import"./Infobox-D9k5TFH4.js";import"./Tick-CEsT3HPR.js";import"./check-DK77doTf.js";async function De(t){const s=D(C.serviceAccounts.detail(t)),r=await S(s,{method:"DELETE",headers:{"Content-Type":"application/json"}});if(!r.ok){const n=await r.json().then(c=>Array.isArray(c.detail)?c.detail[1]:c.detail).catch(()=>`Failed to delete service account ${t}`);throw new b({status:r.status,statusText:r.statusText,message:n})}return r.json()}function be(t){return N({...t,mutationFn:async s=>{await De(s)}})}const z=m.createContext(null);function Ce({children:t}){const[s,r]=m.useState([]),n=g(),{toast:c}=w(),a=be(),u=async o=>{try{const d=o.map(l=>a.mutateAsync(l));await Promise.all(d),c({description:"Deleted successfully.",status:"success",emphasis:"subtle",rounded:!0}),n.invalidateQueries({queryKey:f.serviceAccountsKey()}),r([])}catch(d){y(d)&&c({status:"error",emphasis:"subtle",description:d.message,rounded:!0}),console.error("Failed to delete some pipelines:",d)}};return e.jsx(z.Provider,{value:{selectedServiceAccounts:s,setSelectedServiceAccounts:r,bulkDeleteServiceAccounts:u},children:t})}function j(){const t=m.useContext(z);if(!t)throw new Error("useServiceAccountSelectorContext must be used within a ServiceAccountsSelectorProvider");return t}function we(){const[t,s]=m.useState(!1),{bulkDeleteServiceAccounts:r,selectedServiceAccounts:n}=j();async function c(){await r(n),s(!1)}return e.jsxs(O,{open:t,onOpenChange:s,children:[e.jsx(H,{asChild:!0,children:e.jsxs(h,{className:"rounded-sharp border-y-0 bg-white",size:"md",emphasis:"subtle",intent:"secondary",children:[e.jsx(I,{className:"h-5 w-5 shrink-0 gap-1 fill-neutral-400"}),"Delete"]})}),e.jsx(M,{title:`Delete Service Account${n.length>=2?"s":""}`,handleDelete:c,children:e.jsxs(Q,{children:[e.jsx("p",{children:"Are you sure?"}),e.jsx("p",{children:"This action cannot be undone."})]})})]})}function Ne(){const{selectedServiceAccounts:t}=j();return e.jsxs("div",{className:"flex items-center divide-x divide-theme-border-moderate overflow-hidden rounded-md border border-theme-border-moderate",children:[e.jsx("div",{className:"bg-primary-25 px-2 py-1 font-semibold text-theme-text-brand",children:`${t==null?void 0:t.length} Service Account${(t==null?void 0:t.length)>1?"s":""} selected`}),e.jsx(we,{})]})}async function ke({body:t,serviceAccountId:s}){const r=D(C.serviceAccounts.detail(s)),n=await S(r,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(n.status===404&&$(),!n.ok){const c=await n.json().then(a=>Array.isArray(a.detail)?a.detail[1]:a.detail).catch(()=>`Failed to update service account ${s}`);throw new b({status:n.status,statusText:n.statusText,message:c})}return n.json()}function Fe(t){return N({...t,mutationFn:async({serviceAccountId:s,body:r})=>ke({serviceAccountId:s,body:r})})}function Te({isActive:t,serviceAccountId:s}){const{toast:r}=w(),n=g(),[c,a]=m.useState(!1),{mutate:u}=Fe({onError(l){y(l)&&r({status:"error",emphasis:"subtle",description:l.message,rounded:!0})},onSuccess(){n.invalidateQueries({queryKey:f.serviceAccountsKey()})}});function o(l){l?d(l):a(!0)}async function d(l){u({serviceAccountId:s,body:{active:l}})}return e.jsxs(e.Fragment,{children:[e.jsx(O,{open:c,onOpenChange:a,children:e.jsxs(R,{children:[e.jsx(V,{children:e.jsx(J,{children:"Deactivate Service Account"})}),e.jsxs("div",{className:"p-5 text-text-md text-theme-text-secondary",children:[e.jsx("p",{children:"Are you sure?"}),e.jsx("p",{children:"You won't be able to use any API keys of this service account to authenticate with the server anymore."})]}),e.jsxs(U,{className:"gap-[10px]",children:[e.jsx(G,{asChild:!0,children:e.jsx(h,{size:"sm",intent:"secondary",children:"Cancel"})}),e.jsx(h,{onClick:()=>d(!1).then(l=>a(!1)),intent:"primary",type:"button",children:"Deactivate"})]})]})}),e.jsx(Y,{checked:t,onCheckedChange:o})]})}function Pe({serviceAccountId:t}){const[s,r]=m.useState(!1),[n,c]=m.useState(!1),{bulkDeleteServiceAccounts:a}=j(),u=m.useRef(null),o=m.useRef(null);function d(){o.current=u.current}async function l(){await a([t]),p(!1)}function p(x){if(x===!1){r(!1),setTimeout(()=>{c(x)},200);return}c(x)}return e.jsxs(Z,{onOpenChange:r,open:s,children:[e.jsx(W,{ref:u,children:e.jsx(je,{className:"h-5 w-5 fill-theme-text-secondary"})}),e.jsx(X,{hidden:n,onCloseAutoFocus:x=>{o.current&&(o.current.focus(),o.current=null,x.preventDefault())},align:"end",sideOffset:7,children:e.jsx(ve,{onSelect:d,open:n,onOpenChange:p,triggerChildren:"Delete",icon:e.jsx(I,{fill:"red"}),children:e.jsx(M,{title:"Delete Service Account",handleDelete:l,children:e.jsxs(Q,{children:[e.jsx("p",{children:"Are you sure?"}),e.jsx("p",{children:"This action cannot be undone."})]})})})})]})}const Oe=({id:t})=>{const{selectedServiceAccounts:s,setSelectedServiceAccounts:r}=j(),n=(c,a)=>{r(u=>c?[...u,a]:u.filter(o=>o!==a))};return e.jsx(K,{id:t,onCheckedChange:c=>n(c,t),checked:s.includes(t),className:"h-3 w-3"})};function Ke(){return[{id:"check",header:"",meta:{width:"1%"},accessorFn:t=>t.id,cell:({row:t})=>e.jsx(Oe,{id:t.original.id})},{id:"service-account",header:"Service Account",accessorFn:t=>t.name,cell:({row:t})=>{var s;return e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(fe,{className:"h-5 w-5 flex-shrink-0 fill-primary-400"}),e.jsxs("div",{className:"group/copybutton flex flex-col",children:[e.jsx("div",{className:"flex flex-row items-center space-x-1",children:e.jsx("div",{className:"flex items-center space-x-1",children:e.jsx(P,{className:"text-text-md font-semibold text-theme-text-primary",to:k.settings.service_accounts.detail(t.original.id),children:t.original.name})})}),e.jsx("div",{className:"flex items-center gap-1",children:e.jsx(P,{className:"flex items-center gap-1 text-text-sm text-theme-text-secondary",to:k.settings.service_accounts.detail(t.original.id),children:(s=t.original.metadata)==null?void 0:s.description})})]})]})}},{id:"active",header:"Active",accessorFn:t=>{var s;return(s=t.body)==null?void 0:s.active},cell:({row:t})=>{var s;return e.jsx(Te,{isActive:!!((s=t.original.body)!=null&&s.active),serviceAccountId:t.original.id})}},{id:"actions",meta:{width:"5%"},header:"",cell:({row:t})=>e.jsx("div",{className:"flex items-center justify-end",children:e.jsx(Pe,{serviceAccountId:t.original.id})})}]}async function qe({body:t}){const s=D(C.serviceAccounts.all),r=await S(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){const n=await r.json().then(c=>Array.isArray(c.detail)?c.detail[1]:c.detail).catch(()=>"Failed to create service account");throw new b({status:r.status,statusText:r.statusText,message:n})}return r.json()}function Ee(t){return N({...t,mutationFn:async s=>qe({body:s})})}function B({isFallback:t}){const[s,r]=m.useState(!1),[n,c]=m.useState(""),a=g(),u=ge({resolver:ye(xe),defaultValues:{name:"",description:"",createDefault:!1}}),o=!!n&&u.watch("createDefault");function d(){return o?e.jsx(de,{value:n}):e.jsx(Ie,{isFallback:t,setApiKeyValue:c,setOpen:r})}return e.jsx(Ae,{...u,children:e.jsxs(ee,{open:s,onOpenChange:l=>{t&&!l&&a.invalidateQueries({queryKey:f.serviceAccountsKey()}),r(l),c(""),u.reset()},children:[e.jsx(te,{asChild:!0,children:e.jsx(h,{className:"shrink-0",size:"sm",intent:"primary",children:"Add service account"})}),e.jsxs(se,{"data-success":o,className:"mx-auto overflow-x-auto transition-none data-[success=true]:max-w-[800px]",children:[e.jsx(ne,{children:e.jsx(re,{children:"Add service account"})}),d()]})]})})}function Ie({setApiKeyValue:t,setOpen:s,isFallback:r}){const{watch:n,handleSubmit:c,control:a,formState:{isValid:u}}=Se(),{toast:o}=w(),d=g(),{mutate:l}=Ee({onError(i){y(i)&&o({status:"error",emphasis:"subtle",description:i.message,rounded:!0})},async onSuccess(i){if(o({description:"The service account has been added successfully.",status:"success",emphasis:"subtle",rounded:!0}),n("createDefault")){x(i.id);return}d.invalidateQueries({queryKey:f.serviceAccountsKey()}),s(!1)}}),{mutate:p}=me({onSuccess(i){var v;r||d.invalidateQueries({queryKey:f.serviceAccountsKey()}),t(((v=i.body)==null?void 0:v.key)||"")},onError(i){y(i)&&o({status:"error",emphasis:"subtle",description:i.message,rounded:!0})}}),x=i=>{p({serviceAccountId:i,body:{name:"default",description:"Default api key"}})},L=i=>{l({name:i.name,description:i.description,active:!0})};return e.jsxs(e.Fragment,{children:[e.jsxs("form",{id:"create-secret-form",className:"space-y-5 p-7",onSubmit:c(L),children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("label",{className:"font-inter text-sm text-left font-medium leading-5",children:"Name:"}),e.jsx(A,{name:"name",control:a,render:({field:i})=>e.jsx(F,{...i,className:"w-full",required:!0,placeholder:"Add name"})})]}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("label",{className:"font-inter text-sm text-left font-medium leading-5",children:"Description:"}),e.jsx(A,{name:"description",control:a,render:({field:i})=>e.jsx(F,{...i,className:"w-full",placeholder:"Add description"})})]}),e.jsxs("div",{className:"flex flex-col",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(A,{control:a,name:"createDefault",render:({field:{onChange:i,value:v}})=>e.jsx(K,{checked:v,id:"default-key",onCheckedChange:_=>i(!!_)})}),e.jsx("label",{htmlFor:"default-key",children:"Create a default API Key"})]}),e.jsx("p",{className:"pl-[30px] text-text-xs text-theme-text-secondary",children:"This will include a default API Key for your service account."})]})]}),e.jsxs(ce,{className:"gap-[10px]",children:[e.jsx(ae,{asChild:!0,children:e.jsx(h,{size:"sm",intent:"secondary",children:"Cancel"})}),e.jsx(h,{intent:"primary",size:"sm",disabled:!u,type:"submit",form:"create-secret-form",children:"Add service account"})]})]})}function Me(){return e.jsxs(q,{className:"flex flex-col items-center justify-center space-y-4 p-9",children:[e.jsxs("div",{className:"space-y-2 text-center",children:[e.jsx("p",{className:"text-display-xs font-semibold text-theme-text-primary",children:"There are no service accounts yet."}),e.jsx("p",{className:"text-theme-text-secondary",children:"Create your first one now to automate your processes securely with ZenML."})]}),e.jsx(B,{isFallback:!0})]})}function Qe(){const{setCurrentBreadcrumbData:t}=ie(),s=E();m.useEffect(()=>{t({segment:"service_accounts",data:null})},[]);const r=m.useMemo(()=>Ke(),[]),{data:n}=pe({...he.serviceAccountList({...s,sort_by:"desc:created",hydrate:!0})});return n&&n.items.length<1&&!s.name?e.jsx(Me,{}):e.jsxs(Ce,{children:[e.jsx(ze,{}),e.jsxs("div",{className:"flex flex-col items-center gap-5",children:[e.jsx("div",{className:"w-full",children:n?e.jsx(oe,{columns:r,data:n.items}):e.jsx(T,{className:"h-[500px] w-full"})}),n?n.total_pages>1&&e.jsx(le,{searchParams:s,paginate:n}):e.jsx(T,{className:"h-[36px] w-[300px]"})]})]})}function ze(){const t=E(),{selectedServiceAccounts:s}=j();return e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[s.length?e.jsx(Ne,{}):e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(ue,{searchParams:t})}),e.jsx(B,{isFallback:!1})]})}function it(){return e.jsxs(q,{className:"space-y-4 p-5",children:[e.jsx(Be,{}),e.jsx(Qe,{})]})}function Be(){return e.jsxs("div",{className:"space-y-2",children:[e.jsx("h1",{className:"text-text-xl font-semibold",children:"Service Accounts"}),e.jsxs("div",{className:"flex flex-wrap items-center gap-1",children:[e.jsx("p",{className:"text-text-sm text-theme-text-secondary",children:"Configure automated access for background tasks and integrations."}),e.jsx("a",{target:"_blank",rel:"noreferrer noopener",href:"https://docs.zenml.io/how-to/project-setup-and-management/connecting-to-zenml/connect-with-a-service-account",className:"link text-text-sm text-primary-400",children:"Learn More"})]})]})}export{it as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{r as u,j as r}from"./@radix-C7hRs6Kx.js";import{B as f,F as x,W as h}from"./Wizard-
|
1
|
+
import{r as u,j as r}from"./@radix-C7hRs6Kx.js";import{B as f,F as x,W as h}from"./Wizard-CMI6Ksgz.js";import{X as j,S as C,h as a,r as m}from"./index-D2iSHVZq.js";import{c as b,a as p,L as v}from"./@react-router-CNP6g_RL.js";import{a as g}from"./@tanstack-CSxjHCME.js";import{C as E}from"./configuration-form-BtI2Y4eX.js";import"./@reactflow-CQi1Z1Wq.js";import"./index-CmLcvK2z.js";import"./plus-COjQg3AG.js";import"./trash-BWSZ7NRK.js";import"./index.esm-D7jFlf5N.js";import"./type-guards-CaeD8wHO.js";import"./index-CFESYpe4.js";import"./zod-C0xYeTvL.js";import"./ComponentIcon-ils7uNAk.js";import"./layout-h3cbx8WZ.js";import"./rocket-Cf-B-XOR.js";import"./check-DK77doTf.js";import"./CodeSnippet-CvI6D0wx.js";import"./file-text-BdxZdjP_.js";import"./terminal-square-DMtel8mb.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 K(){return r.jsx("section",{className:"layout-container mt-5 pb-5",children:r.jsx(h,{children:r.jsx(y,{})})})}export{K as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{j as e}from"./@radix-C7hRs6Kx.js";import{I as m}from"./InlineAvatar-
|
1
|
+
import{j as e}from"./@radix-C7hRs6Kx.js";import{I as m}from"./InlineAvatar-Cfz4WSLK.js";import{u as x,S as c,A as d,a as f,g as u,b as v,r,c as h,d as p,l as g}from"./index-D2iSHVZq.js";import{u as j,h as N,O as b}from"./@react-router-CNP6g_RL.js";import"./@tanstack-CSxjHCME.js";import"./@reactflow-CQi1Z1Wq.js";function w({children:s,isActiveOverride:t,...n}){const a=j(),i=t?t(a.pathname):!1;return e.jsx(N,{...n,className:({isActive:l})=>` ${i||l?"bg-primary-50 text-theme-text-brand":"hover:bg-neutral-200"} block rounded-md px-4 py-1 text-text-sm font-semibold `,children:s})}function o({items:s}){return e.jsx("nav",{className:"flex w-full flex-col items-center",children:e.jsx("ul",{className:"flex w-full flex-row flex-wrap items-center gap-1 lg:flex-col lg:items-start",children:s.map(t=>e.jsx("li",{className:"lg:w-full",children:e.jsx(w,{end:!0,to:t.href,isActiveOverride:t.isActiveOverride,children:t.name})},t.name))})})}function y(){var a,i,l;const{data:s,isError:t,isPending:n}=x({throwOnError:!0});return n?e.jsx(c,{className:"h-9 w-full"}):t?null:e.jsxs("div",{className:"flex w-full items-center gap-2 rounded-md border border-theme-border-moderate bg-theme-surface-primary p-2",children:[e.jsxs(d,{size:"md",type:"square",children:[e.jsx(f,{src:u(((a=s.body)==null?void 0:a.server_name)||"default")}),e.jsx(v,{size:"md",children:((i=s.body)==null?void 0:i.server_name[0])||"D"})]}),e.jsx("p",{className:"truncate text-text-sm font-semibold",children:(l=s.body)==null?void 0:l.server_name})]})}function S(){function s(){return[{name:"General",href:r.settings.general},{name:"Members",href:r.settings.members},{name:"API Tokens",href:r.settings.apiTokens},{name:"Repositories",href:r.settings.repositories.overview},{name:"Secrets",href:r.settings.secrets.overview,isActiveOverride:n=>n.startsWith(r.settings.secrets.overview)},{name:"Connectors",href:r.settings.connectors.overview},{name:"Service Accounts",href:r.settings.service_accounts.overview,isActiveOverride:n=>n.startsWith(r.settings.service_accounts.overview)},{name:"Notifications",href:r.settings.notifications}]}const t=s();return e.jsx(o,{items:t})}function A(){function s(){return[{name:"Profile",href:r.settings.profile}]}const t=s();return e.jsx(o,{items:t})}function I(){const{data:s,isPending:t,isError:n}=h();return t?e.jsx(c,{className:"h-[70px] w-full"}):n?null:e.jsxs("div",{className:"rounded-md border border-theme-border-moderate bg-theme-surface-primary p-3",children:[e.jsxs("div",{className:"mb-2 flex items-center",children:[e.jsx(p,{className:"h-4 w-4 fill-theme-text-brand"}),e.jsx("p",{className:"ml-2 text-text-sm font-semibold",children:"Open source"})]}),e.jsxs("p",{className:"mb-1 text-text-sm text-theme-text-tertiary",children:["ZenML v",s.version]}),e.jsxs("p",{className:"text-text-sm text-theme-text-tertiary",children:["UI Version ","v0.32.1"]})]})}function L(){const{data:s}=g();return e.jsxs("div",{className:"layout-container flex flex-col gap-7 pt-5 lg:flex-row lg:px-10",children:[e.jsxs("div",{className:"flex shrink-0 flex-col gap-4 lg:w-[200px]",children:[e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("p",{className:"text-text-xs font-semibold uppercase text-theme-text-tertiary",children:"Server"}),e.jsx(y,{}),e.jsx(S,{})]}),s?e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("p",{className:"text-text-xs font-semibold uppercase text-theme-text-tertiary",children:"Account"}),e.jsx(m,{username:s.name})]}):e.jsx(c,{className:"h-[70px] w-full"}),e.jsx("div",{className:"flex flex-col gap-4",children:e.jsx(A,{})}),e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("p",{className:"text-text-xs font-semibold uppercase text-theme-text-tertiary",children:"Version"}),e.jsx(I,{})]})]}),e.jsx("div",{className:"w-full",children:e.jsx(b,{})})]})}export{L as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{r as i,j as e}from"./@radix-C7hRs6Kx.js";import{S as o,h as n,r as c,aP as d}from"./index-
|
1
|
+
import{r as i,j as e}from"./@radix-C7hRs6Kx.js";import{S as o,h as n,r as c,aP as d}from"./index-D2iSHVZq.js";import{S as h}from"./StackList-CgmN5H-i.js";import{p as m,c as j}from"./persist-D87V82eO.js";import{p as l,c as k}from"./persist-UUym702q.js";import{I as p}from"./Infobox-D9k5TFH4.js";import{s as u}from"./index-CrhdX_qG.js";import{a as f}from"./@tanstack-CSxjHCME.js";import{L as x}from"./@react-router-CNP6g_RL.js";import"./@reactflow-CQi1Z1Wq.js";import"./plus-COjQg3AG.js";import"./refresh-CM5T3QeU.js";import"./SearchField-D-h6jXyg.js";import"./dots-horizontal-BGRJCPCs.js";import"./chevron-right-double-uNWbJT-C.js";import"./index-DR30v9MZ.js";import"./DisplayDate-CYVBBSgr.js";import"./InlineAvatar-Cfz4WSLK.js";import"./CodeSnippet-CvI6D0wx.js";import"./CollapsibleCard-D20FtrzC.js";import"./chevron-down-A-rmltmI.js";import"./components-Br2ezRib.js";import"./NumberBox-D2A7ENHb.js";import"./ComponentBadge-DKw7Gndh.js";import"./ComponentIcon-ils7uNAk.js";import"./layout-h3cbx8WZ.js";import"./rocket-Cf-B-XOR.js";import"./trash-BWSZ7NRK.js";import"./DialogItem-BHWf3sIB.js";import"./AlertDialogDropdownItem-BG7-Ki1L.js";import"./sharedSchema-Bse2agAf.js";import"./stack-detail-query-BAcZJrN3.js";function w({setHasResumeableStack:a}){const{success:t,data:s}=m(),r=f({...u.stackDeploymentStack({provider:(s==null?void 0:s.provider)||"aws",stack_name:(s==null?void 0:s.stackName)||"",date_start:s==null?void 0:s.timestamp}),enabled:t,throwOnError:!0});return i.useEffect(()=>{r.data&&(j(),a(!1))},[r.data]),!t||r.isError?null:r.isPending?e.jsx(o,{className:"h-[70px] w-full"}):e.jsx(p,{className:"w-full",children:e.jsxs("section",{className:"flex flex-wrap items-center justify-between gap-y-2",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("p",{className:"font-semibold",children:"You have a Stack provision incomplete"}),e.jsx("p",{className:"text-text-sm",children:"Return to the setup and finish the configuration on your cloud provider"})]}),e.jsx("div",{children:e.jsx(n,{className:"w-fit bg-theme-surface-primary",intent:"primary",emphasis:"subtle",asChild:!0,children:e.jsx(x,{to:c.stacks.create.newInfra,children:e.jsx("span",{children:"Review Stack"})})})})]})})}function S({setHasResumeableTerraform:a}){const{success:t,data:s}=l(),r=f({...u.stackDeploymentStack({provider:(s==null?void 0:s.provider)||"aws",stack_name:(s==null?void 0:s.stackName)||"",date_start:s==null?void 0:s.timestamp}),enabled:t,throwOnError:!0});return i.useEffect(()=>{r.data&&(k(),a(!1))},[r.data]),!t||r.isError?null:r.isPending?e.jsx(o,{className:"h-[70px] w-full"}):e.jsx(p,{className:"w-full",children:e.jsxs("section",{className:"flex flex-wrap items-center justify-between gap-y-2",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("p",{className:"font-semibold",children:"You have a Terraform Stack provision incomplete"}),e.jsx("p",{className:"text-text-sm",children:"Return to the setup and finish the configuration on your cloud provider"})]}),e.jsx("div",{children:e.jsx(n,{className:"w-fit bg-theme-surface-primary",intent:"primary",emphasis:"subtle",asChild:!0,children:e.jsx(x,{to:c.stacks.create.terraform,children:e.jsx("span",{children:"Review Stack"})})})})]})})}function v(){const[a,t]=i.useState(m().success),[s,r]=i.useState(l().success);return e.jsxs("div",{className:"space-y-5",children:[a&&e.jsx(w,{setHasResumeableStack:t}),s&&e.jsx(S,{setHasResumeableTerraform:r})]})}function ee(){const{setTourState:a,tourState:{tourActive:t}}=d();return i.useEffect(()=>{t&&a(s=>({...s,run:!0,stepIndex:s.stepIndex}))},[t]),e.jsxs("div",{className:"space-y-5",children:[e.jsx(v,{}),e.jsx(h,{})]})}export{ee as default};
|