import{j as e,L as S,bX as i,p as B,bv as G,b6 as Y,Q as o,X as de,a4 as ue,fu as xe,B as t,aK as O,c1 as he,T as me,d5 as pe,d4 as je,bp as ge,r as v,fr as K,fm as w,b as P,bS as L,af as H,ag as R,fE as fe,bP as Z,bL as Q,s as M,e0 as be,e as q,aU as Ce,aV as ee,aG as $,aW as re,fD as C,V as ne,u as se,h as Ee,aH as y,fF as ve,cA as De,bm as Te,aJ as Le,fA as ke,m as k}from"./index-dP1W1_bd.js";import{A as we,a as D}from"./Anchor-B_lGyhCa.js";import{C as T}from"./CardBoundary-9qdE9Itc.js";import{M as Se}from"./ModelSchema-BceiIHh5.js";import{u as te}from"./useProjectId-DopcTZap.js";import{d as Ne}from"./index-DEBSKkGo.js";import{b as Ie,I as Re,K as ie,c as oe,d as ae,N as ce,s as j,e as Me,f as Pe,h as _e}from"./utils-CSV5kSUs.js";import{u as V,a as Ve,f as J}from"./useDownload-C3yCvYJa.js";import{_ as X}from"./__-BIxbRvwe.js";import{P as Ae}from"./Panel-M9AVvYdm.js";import{u as Oe,a as $e,S as ye,D as le}from"./useDeploymentKibanaLink-C-YPdbg3.js";import{G as Fe}from"./GrafanaDashboard-uDleUeMz.js";import{a as Be}from"./length-BzpOfCdE.js";import{B as Ge}from"./ButtonWithRole-CF64B_Or.js";import{K as He}from"./KubernetesProjectView-BmUKZjhj.js";import"./NoData-DLZ_8GEo.js";import"./uniqBy-6mvKp2Ip.js";import"./useProject-CXVt1xnE.js";import"./Deprecated-ClfPkp7s.js";import"./CardActionButton-BtCnEqTK.js";const qe=({deployment:r})=>{const{isLoading:n,project:s}=V(),a=()=>{const c=["Serving tool","API protocol","Inference logging","Kafka topic","Request batching"];return B(G(()=>r.batchingConfiguration.batchingEnabled,Y(X,["Maximum batch size","Maximum latency (ms)","Timeout (s)"])))(c)},h=()=>{var x,b,g,p;const c=[e.jsx(i.Cell,{children:e.jsx(o,{children:r.servingTool})},"ac.servingTool"),e.jsx(i.Cell,{children:e.jsx(o,{children:de(r.apiProtocol,ue(xe))})},"ac.apiProtocol"),e.jsx(i.Cell,{children:e.jsx(o,{color:(x=r.inferenceLogging)!=null&&x.toLowerCase()?"black":"gray",children:((b=r.inferenceLogging)==null?void 0:b.toLowerCase())??"disabled"})},"ac.inferenceLogging"),e.jsx(i.Cell,{children:e.jsx(o,{sx:{userSelect:"all"},color:(g=r.kafkaTopicDTO)!=null&&g.name?"black":"gray",children:((p=r.kafkaTopicDTO)==null?void 0:p.name)??"disabled"})},"ac.kafkaTopic"),e.jsx(i.Cell,{children:e.jsx(o,{color:r.batchingConfiguration.batchingEnabled?"black":"gray",children:r.batchingConfiguration.batchingEnabled?"enabled":"disabled"})},"ac.batchingEnabled")],d=[e.jsx(i.Cell,{children:e.jsx(o,{children:r.batchingConfiguration.maxBatchSize})},"ac.maxBatchSize"),e.jsx(i.Cell,{children:e.jsx(o,{children:r.batchingConfiguration.maxLatency})},"ac.maxLatency"),e.jsx(i.Cell,{children:e.jsx(o,{children:r.batchingConfiguration.timeout})},"ac.timeout")];return B(G(()=>r.batchingConfiguration.batchingEnabled,Y(X,d)))(c)};return n||!s?e.jsx(S,{}):e.jsx(i,{bordered:!1,padded:!1,hoverable:!1,middleColumn:r.batchingConfiguration.batchingEnabled?7:4,legend:a(),children:e.jsx(i.Row,{children:h()})})},Ke=({deployment:r})=>{const{isLoading:n,project:s}=V();return n||!s?e.jsx(S,{}):e.jsxs(t,{flexDirection:"column",sx:{gap:"20px"},p:"20px",children:[e.jsxs(t,{sx:{gap:"20px"},children:[e.jsx(O,{copyButton:!0,title:"Get deployment",language:"python",content:Qe({projectName:s==null?void 0:s.projectName,deploymentName:r.name})}),e.jsx(O,{copyButton:!0,title:"Start or stop deployment",language:"python",content:We({projectName:s==null?void 0:s.projectName,deploymentName:r.name})})]}),e.jsx(O,{copyButton:!0,title:"Make predictions with input example",language:"python",content:Ue({projectName:s==null?void 0:s.projectName,deploymentName:r.name})})]})},Qe=r=>`import hopsworks

# connect with Hopsworks.
# NOTE: to connect from an external environment, see ${he("/user_guides/projects/api_key/create_api_key")} 
project = hopsworks.login()

# get Hopsworks Model Serving
ms = project.get_model_serving()

# get deployment object
deployment = ms.get_deployment("${r.deploymentName}")
`,We=r=>`# print deployment info
deployment.describe()

# start or stop the deployment
deployment.start()  # .stop()

# check deployment status
state = deployment.get_state()
state.describe()
  `,Ue=r=>`# get Hopsworks Model Registry
mr = project.get_model_registry()
  
# get model
model = mr.get_model(deployment.model_name, deployment.model_version)

# make predictions
predictions = deployment.predict({"instances": [model.input_example]})
print(predictions)
`,Ye=me.injectEndpoints({endpoints:r=>({runTestDeployment:r.mutation({async queryFn({host:n,deployment:s,verb:a,content:h},c,d,x){return await new je("",n).rtkQuery({url:Ie(s,a),data:h,headers:{"Content-Type":"application/json"},method:pe.post},c,d)}}),getInferenceEndpoints:r.query({query:({projectId:n})=>({url:`project/${n}/inference/endpoints`})})})}),{useRunTestDeploymentMutation:Je,useGetInferenceEndpointsQuery:Xe}=Ye,ze=({deployment:r})=>{const{id:n,project:s,isLoading:a}=V(),{data:h,isLoading:c}=ge("kube_knative_domain_name"),{currentData:d,isLoading:x}=Xe({projectId:String(n)}),b=v.useMemo(()=>d==null?void 0:d.find(p=>p.type===Re.LOAD_BALANCER),[d]),g=v.useMemo(()=>r.servingTool===K.KSERVE?r.modelServer===w.VLLM?r.predictor?oe:ie:ae:ce,[r]);return a||c||x||!s?e.jsx(S,{}):e.jsxs(t,{flexDirection:"column",p:20,sx:j.defaultGap,children:[e.jsxs(t,{flexDirection:"column",children:[e.jsx(P,{mb:"0px",bold:!0,gray:!0,children:"Hopsworks REST API"}),e.jsx("hr",{style:{borderBottom:"none",borderLeft:"none",borderRight:"none",borderTop:"1px solid lightgray",width:"100%"}})]}),g.map(({label:p,value:E})=>e.jsxs(t,{flexDirection:"column",children:[e.jsx(L,{mb:"3px",gray:!0,children:p}),e.jsx(o,{primary:!0,fontFamily:"IBM Plex Mono",sx:{userSelect:"all"},children:Me(r,p)})]},E)),b&&e.jsxs(e.Fragment,{children:[e.jsxs(t,{flexDirection:"column",mt:"10px",children:[e.jsx(P,{mb:"0px",bold:!0,gray:!0,children:"Istio Ingress"}),e.jsx("hr",{style:{borderBottom:"none",borderLeft:"none",borderRight:"none",borderTop:"1px solid lightgray",width:"100%"}})]}),g.map(({label:p,value:E})=>e.jsxs(t,{flexDirection:"column",children:[e.jsx(L,{mb:"3px",gray:!0,children:p}),e.jsx(o,{primary:!0,fontFamily:"IBM Plex Mono",sx:{userSelect:"all"},children:Pe(r,p,b)})]},E)),e.jsxs(t,{flexDirection:"column",children:[e.jsx(L,{mb:"3px",gray:!0,children:"Host header"}),e.jsx(o,{fontFamily:"IBM Plex Mono",sx:{userSelect:"all"},children:_e(s.projectName,r.name,h)})]},"HostHeader")]})]})},Ze=r=>r.status===void 0?R.neutral:r.status?r.type===fe.READY?R.valid:R.neutral:R.error,er=({deployment:r})=>r.condition?e.jsx(t,{flexDirection:"column",children:e.jsx(H,{mb:"2px",content:r.condition.reason,type:Ze(r.condition)})}):null,{DATE_TIME_FULL:rr}=Z.DATE_TIME,nr=({deployment:r})=>{var A,u;const n=Q(),s=Oe(),a=$e(),c=(()=>{let l;switch(r.status){case C.RUNNING:case C.IDLE:l="green";break;case C.STOPPING:case C.STOPPED:l="black";break;case C.CREATING:case C.CREATED:case C.STARTING:l="white";break;default:l=void 0}return C.RUNNING===r.status?{text:r.status,variant:"green"}:{text:r.status,variant:l}})(),d=v.useCallback(()=>{n(M.project.settings.fileBrowserWithPath,{"*":`Models/${r.modelName}/${r.modelVersion}/Artifacts/${r.artifactVersion}`})},[r,n]),x=v.useCallback(()=>{window.open(s(r.name),"_blank")},[s,r.name]),b=v.useCallback(()=>{window.open(a(r.name),"_blank")},[a,r.name]),[g,p]=r.creator.split(" "),E=()=>{n(M.deployments.edit,{dId:r.id})},N=()=>{var l;n(M.project.settings.pythonWithEnvironment,{version:(l=r.environmentDTO)==null?void 0:l.name})},f=l=>{var m;return l.modelServer===w.TENSORFLOW_SERVING?"tensorflow/serving":l.modelServer===w.PYTHON?"kserve/sklearnserver":l.modelServer===w.VLLM?"vllm/vllm-openai":(m=l.environmentDTO)==null?void 0:m.name};return e.jsxs(e.Fragment,{children:[e.jsx(Ae,{type:be.deployment,data:r,title:r.name,version:r.artifactVersion,onClickEdit:E,idColor:"labels.blueShade1",status:c}),e.jsxs(t,{mt:"10px",flexDirection:"column",sx:{gap:"20px"},children:[e.jsxs(t,{justifyContent:"space-between",children:[e.jsxs(t,{sx:{gap:"30px"},children:[e.jsx(q,{children:e.jsx(Ce,{firstName:g,lastName:p})}),e.jsx(sr,{ml:"-5px",label:"Created at",date:new Date(r.created)}),e.jsxs(t,{flexDirection:"column",sx:{gap:"4px"},children:[e.jsx(L,{gray:!0,children:"Model server"}),e.jsx(o,{color:"black",children:r.modelServer})]}),!!r.environmentDTO&&!!r.predictor&&e.jsxs(t,{flexDirection:"column",sx:{gap:"4px"},children:[e.jsx(L,{gray:!0,children:"Predictor environment"}),e.jsx(z,{onClick:N,children:`${(A=r.environmentDTO)==null?void 0:A.name} ->`})]}),!r.predictor&&e.jsxs(t,{flexDirection:"column",sx:{gap:"4px"},children:[e.jsx(L,{gray:!0,children:"Predictor environment"}),e.jsx(o,{color:"black",children:f(r)})]}),!!r.environmentDTO&&!!r.transformer&&e.jsxs(t,{flexDirection:"column",sx:{gap:"4px"},children:[e.jsx(L,{gray:!0,children:"Transformer environment"}),e.jsx(z,{onClick:N,children:`${(u=r.environmentDTO)==null?void 0:u.name} ->`})]}),r.deployed&&e.jsxs(t,{flexDirection:"column",sx:{gap:"4px"},children:[e.jsx(L,{gray:!0,children:"Deployed at"}),e.jsx(o,{color:"black",children:ee(new Date(r.deployed),rr)})]})]}),e.jsxs(t,{sx:{gap:"20px"},children:[e.jsx(ye,{ml:"10px",mt:"6px",status:r.status}),e.jsx(le,{deployment:r})]})]}),r.description&&e.jsx(t,{children:e.jsx(P,{children:r.description})}),e.jsx(er,{deployment:r}),e.jsxs(t,{justifyContent:"space-between",children:[e.jsxs(t,{sx:{gap:"8px"},children:[e.jsx($,{onClick:b,variant:"secondary",children:"See Metrics ↗"}),e.jsx($,{onClick:x,variant:"secondary",children:"See Logs ↗"})]}),r.artifactVersion!=null&&e.jsx($,{onClick:d,intent:"secondary",children:"Browse artifact files ->"})]})]})]})},sr=({label:r,date:n,primary:s,...a})=>{const{DATE_TIME_FULL:h}=Z.DATE_TIME;return e.jsxs(t,{flexDirection:"column",...a,children:[e.jsx(L,{mb:"3px",gray:!0,children:r}),e.jsx(o,{primary:s,children:ee(n,h)})]})},z=({shouldFallback:r,children:n,onClick:s})=>r?e.jsx(o,{color:"gray",children:"not provided"}):e.jsx(o,{primary:!0,sx:{...re,textDecoration:"underline",cursor:"pointer",maxWidth:"300px"},onClick:s,children:n}),tr=({deployment:r})=>{const{project:n,isLoading:s}=V(),a="grafana/d-solo/kserve/deployment-metrics",h=[{name:"configuration",value:`${r.name}-.*`},{name:"revision",value:"All"},{name:"namespace",value:n==null?void 0:n.namespace}],c=[{title:"End to end Latencies",linkParams:{urlPath:a,variables:h,panelId:20}},{title:"Number of requests per second by Response Code Class",linkParams:{urlPath:a,variables:h,panelId:18}}];return s||!n?e.jsx(S,{}):r.status===C.CREATING||r.status===C.CREATED?e.jsx(t,{p:"20px",py:"40px",alignItems:"center",flexDirection:"column",sx:j.defaultGap,children:e.jsx(ne,{color:"grey",fontWeight:"100",children:"Metrics will be shown when the deployment is started"})}):e.jsx(Fe,{panels:c})},F=(r,n)=>{const s=r[n];return["Models",r.modelName,r.modelVersion,"Artifacts",r.artifactVersion,`${n.toLowerCase()}-${s}`].join("/")},ir=({model:r,deployment:n})=>{const{id:s}=se(),a=Q(),h=()=>{a(M.models.overview,{mId:r.name})},c=()=>{a(M.models.versionView,{mId:r.name,vId:r.version})},d=Ve(),x=()=>{const f=F(n,"predictor");d(Number(s),f,y.DATASET)},b=()=>{const f=F(n,"transformer");d(Number(s),f,y.DATASET)},g=()=>{const f=F(n,"configFile");d(Number(s),f,y.DATASET)},p=f=>f!=null?f===0?"MODEL-ONLY":f:"-",E=!!n.configFile||n.modelServer===w.VLLM,N=B(G(Ee(E),Be("Server config file")))(["Model","Version","Artifact version","Predictor script","Transformer script"]);return e.jsx(i,{bordered:!1,padded:!1,hoverable:!1,middleColumn:E?5:4,legend:N,children:e.jsxs(i.Row,{children:[e.jsx(i.Cell,{children:e.jsx(_,{onClick:h,children:`${r.name} ->`})}),e.jsx(i.Cell,{children:e.jsx(_,{onClick:c,children:`${r.version} ->`})}),e.jsx(i.Cell,{children:e.jsx(o,{children:p(n==null?void 0:n.artifactVersion)})}),e.jsx(i.Cell,{children:e.jsx(_,{shouldFallback:!n.predictor,onClick:x,children:`${n.predictor} ↓`})}),e.jsx(i.Cell,{children:e.jsx(_,{shouldFallback:!n.transformer,onClick:b,children:`${n.transformer} ↓`})}),E&&e.jsx(i.Cell,{children:e.jsx(_,{shouldFallback:!n.configFile,onClick:g,children:`${n.configFile} ↓`})})]})})},_=({shouldFallback:r,children:n,onClick:s})=>r?e.jsx(o,{color:"gray",children:"not provided"}):e.jsx(o,{primary:!0,sx:{...re,textDecoration:"underline",cursor:"pointer",maxWidth:"300px"},onClick:s,children:n}),or=({deployment:r})=>{const{isLoading:n,project:s}=V();return n||!s?e.jsx(S,{}):e.jsxs(e.Fragment,{children:[e.jsx(i,{bordered:!1,padded:!1,hoverable:!1,middleColumn:3,legend:["Predictor instances","CPUs","Memory (MB)","GPUs"],children:e.jsxs(i.Row,{children:[e.jsxs(i.Cell,{children:[e.jsx(o,{minWidth:"135px",children:`${r.availableInstances} running out of ${r.requestedInstances}`}),r.requestedInstances===0&&e.jsx(P,{mt:"4px",bold:!0,gray:!0,children:"scale-to-zero"})]}),e.jsx(i.Cell,{children:e.jsx(o,{children:`${r.predictorResources.requests.cores??"-"} -> ${r.predictorResources.limits.cores??"-"}`})}),e.jsx(i.Cell,{children:e.jsx(o,{children:`${r.predictorResources.requests.memory??"-"} -> ${r.predictorResources.limits.memory??"-"}`})}),e.jsx(i.Cell,{children:e.jsx(o,{children:`${r.predictorResources.requests.gpus??"-"} -> ${r.predictorResources.limits.gpus??"-"}`})})]})}),r.transformer&&e.jsxs(e.Fragment,{children:[e.jsx("hr",{style:{borderBottom:"none",borderLeft:"none",borderRight:"none",borderTop:"1px solid lightgray",width:"100%",marginTop:"10px",marginBottom:"10px"}}),e.jsx(i,{bordered:!1,padded:!1,hoverable:!1,middleColumn:3,legend:["Transformer instances","CPUs","Memory (MB)","GPUs"],children:e.jsxs(i.Row,{children:[e.jsxs(i.Cell,{children:[e.jsx(o,{minWidth:"135px",children:r.transformer&&r.requestedTransformerInstances!==void 0?`${r.availableTransformerInstances} running out of ${r.requestedTransformerInstances}`:"-"}),r.transformer&&r.requestedTransformerInstances===0&&e.jsx(P,{mt:"4px",bold:!0,gray:!0,children:"scale-to-zero"})]}),e.jsx(i.Cell,{children:e.jsx(o,{children:`${r.transformerResources.requests.cores??"-"} -> ${r.transformerResources.limits.cores??"-"}`})}),e.jsx(i.Cell,{children:e.jsx(o,{children:`${r.transformerResources.requests.memory??"-"} -> ${r.transformerResources.limits.memory??"-"}`})}),e.jsx(i.Cell,{children:e.jsx(o,{children:`${r.transformerResources.requests.gpus??"-"} -> ${r.transformerResources.limits.gpus??"-"}`})})]})})]})]})},ar=({deployment:r})=>{const n=te(),s=Q(),{data:a,isLoading:h}=ve({projectId:n,model:r.modelName,status:"Running"},{refetchOnMountOrArgChange:!0});if(h||!a)return e.jsx(S,{});const c=x=>()=>{s(M.deployments.overview,{dId:x})},d=a.all.filter(x=>x.id!==r.id);return h||d.length===0?null:e.jsxs(t,{flexDirection:"column",sx:{gap:"8px"},children:[e.jsx(De,{sx:j.divider}),e.jsx(o,{color:"gray",children:"Deploying the same model"}),e.jsx(t,{width:"100%",children:d.map(x=>e.jsx($,{intent:"secondary",height:"31px",onClick:c(x.id),children:`${x.name} ->`},x.id))})]})},cr=({deployment:r,model:n})=>{const s=v.useMemo(()=>r.servingTool===K.KSERVE?r.modelServer===w.VLLM?r.predictor?oe:ie:ae:ce,[r]),[a,h]=v.useState(s[0].value),[c,d]=v.useState({input:"",output:"",error:""}),x=v.useMemo(()=>{var l,m,I,W,U;if(((l=n.inputExample)==null?void 0:l.preview)===void 0||!((I=(m=n.inputExample)==null?void 0:m.preview)!=null&&I.content))return"";const u=JSON.parse((U=(W=n.inputExample)==null?void 0:W.preview)==null?void 0:U.content);return r.modelServer===w.TENSORFLOW_SERVING?JSON.stringify({signature_name:"serving_default",instances:u}):r.modelServer===w.VLLM?JSON.stringify(u):JSON.stringify({instances:u})},[r,n]);v.useEffect(()=>{d({input:x,output:"",error:""})},[x]);const[b,{isLoading:g}]=Je(),p=u=>{Array.isArray(u)||h(u)},E=u=>{g||d({...c,input:u})},N=u=>{let l="";try{l=J(u.replaceAll(`
`,""))}catch(m){console.warn(m),l=u}d({...c,input:l})},f=(u,l)=>{let m="";if(u)try{m=J(JSON.stringify(u))}catch(I){console.warn(I),m=(u==null?void 0:u.toString())||""}d(I=>({...I,output:m,error:l}))},A=async()=>{if(!c.input)return;N(c.input);let u=null,l="";try{u=await b({host:"",deployment:r,verb:a,content:c.input}).unwrap()}catch(m){console.warn(m),l=(m==null?void 0:m.response.data.usrMsg)||"An error occurred"}f(u,l)};return r.status!==C.RUNNING&&r.status!==C.IDLE?e.jsxs(t,{p:"20px",py:"40px",alignItems:"center",flexDirection:"column",sx:j.defaultGap,children:[e.jsx(ne,{color:"grey",fontWeight:"100",children:"Deployment needs to be running to be tested"}),e.jsx(le,{title:"Run deployment",deployment:r})]}):e.jsxs(t,{flexDirection:"column",sx:j.defaultGap,p:"20px",children:[e.jsxs(t,{flexDirection:"row",children:[e.jsx(Te,{label:"verb",labelPosition:"inline",placeholder:"pick a verb",value:a,isDisabled:g,options:s,onChange:p,mr:"20px",width:"auto"}),e.jsx(Ge,{type:"submit",intent:"primary",isLoading:g,onClick:A,children:"Run test"})]}),c.error&&e.jsxs(q,{children:[e.jsx(H,{content:c.error,type:R.error}),e.jsx(H,{mt:"2px",content:"For more details, please check the deployment logs",type:R.neutral})]}),e.jsx(t,{sx:j.codeInput,flexDirection:"column",children:e.jsx(Le,{mode:"json",label:"Request data",readOnly:!1,value:c.input,onChange:E})}),c.output&&e.jsxs(q,{children:[e.jsx(P,{bold:!0,mb:"6px",children:"Response"}),e.jsx(O,{width:"100%",height:"auto !important",css:{maxHeight:"300px",minHeight:"50px"},language:"json",wrapLongLines:!0,copyButton:!0,downloadButton:!0,showLineNumbers:!0,title:"Content",content:c.output})]})]})},lr=({deployment:r})=>{const{schedulingConfig:n}=r;return e.jsx(He,{schedulingConfig:n})},Rr=()=>{const{dId:r}=se(),n=te(),{data:s}=ke({projectId:n,id:r},{pollingInterval:5e3,refetchOnFocus:!0}),{currentData:a}=Ne({projectId:n,modelName:(s==null?void 0:s.modelName)??"",modelVersion:(s==null?void 0:s.modelVersion)??0},{skip:!(s!=null&&s.modelName)||!(s!=null&&s.modelVersion)});return!a||!s?e.jsx(S,{}):e.jsx(dr,{deployment:s,model:a})},dr=({deployment:r,model:n})=>{var s,a;return e.jsxs(t,{flexDirection:"column",pb:"20px",sx:j.defaultGap,children:[e.jsx(nr,{deployment:r}),e.jsx(ar,{deployment:r}),e.jsxs(we,{children:[e.jsx(D,{name:"models",children:e.jsx(T,{children:e.jsx(t,{sx:j.overflowX,children:e.jsx(k,{title:"Model artifact",maxHeight:"400px",width:"100%",children:e.jsx(ir,{deployment:r,model:n})})})})}),r.servingTool===K.KSERVE&&e.jsx(D,{name:"metrics",children:e.jsx(T,{children:e.jsx(k,{title:"Metrics",contentProps:j.card,children:e.jsx(tr,{deployment:r})})})}),e.jsx(D,{name:"test-deployment",children:e.jsx(T,{children:e.jsx(k,{title:"Test deployment",contentProps:j.card,children:e.jsx(cr,{deployment:r,model:n})})})}),e.jsx(D,{name:"endpoints",children:e.jsx(T,{children:e.jsx(k,{title:"Endpoints",contentProps:j.card,children:e.jsx(ze,{deployment:r})})})}),e.jsx(D,{name:"schema",children:e.jsx(T,{children:e.jsx(k,{title:"Deployment schema",contentProps:j.card,children:e.jsx(Se,{schema:(a=(s=n.modelSchema)==null?void 0:s.preview)==null?void 0:a.content})})})}),e.jsx(D,{name:"snippets",children:e.jsx(T,{children:e.jsx(k,{title:"Code snippets",contentProps:j.card,children:e.jsx(Ke,{deployment:r})})})}),e.jsx(D,{name:"configuration",children:e.jsx(T,{children:e.jsx(t,{sx:j.overflowX,children:e.jsx(k,{title:"Configuration",width:"100%",children:e.jsx(qe,{deployment:r})})})})}),e.jsx(D,{name:"resourceAllocation",children:e.jsx(T,{children:e.jsx(t,{sx:j.overflowX,children:e.jsx(k,{title:"Resource allocation",width:"100%",children:e.jsx(or,{deployment:r})})})})}),e.jsx(D,{name:"kubeScheduleConfig",children:e.jsx(T,{children:e.jsx(t,{sx:j.overflowX,children:e.jsx(lr,{deployment:r})})})})]})]})};export{Rr as Overview,Rr as default};
