@highstate/designer 0.9.20 → 0.9.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{Bc22Y1oD.js → 0vdwhauO.js} +1 -1
  3. package/.output/public/_nuxt/{TqsILp0j.js → 16S73JW8.js} +1 -1
  4. package/.output/public/_nuxt/{yb5mHxB5.js → 30BaVrUW.js} +1 -1
  5. package/.output/public/_nuxt/{DMvBTgJm.js → 4xMt1p0i.js} +1 -1
  6. package/.output/public/_nuxt/{DuztTtWK.js → 99ZxcQMo.js} +1 -1
  7. package/.output/public/_nuxt/{Df5-uBpS.js → B0nz2Zze.js} +1 -1
  8. package/.output/public/_nuxt/{Dbgx9Kfk.js → B3nLPexT.js} +1 -1
  9. package/.output/public/_nuxt/{D5OlmvkM.js → B5zoSt72.js} +1 -1
  10. package/.output/public/_nuxt/{koatKMQr.js → B9WOzG0F.js} +1 -1
  11. package/.output/public/_nuxt/{DEnsbvQE.js → BElWqKFK.js} +1 -1
  12. package/.output/public/_nuxt/{B7eyK5kF.js → BG77JRvd.js} +1 -1
  13. package/.output/public/_nuxt/{Dsv_PvmI.js → BJKzranL.js} +1 -1
  14. package/.output/public/_nuxt/{DFH86FKQ.js → BVAgVeex.js} +1 -1
  15. package/.output/public/_nuxt/{DVV-1Xgo.js → BZHZ48I0.js} +1 -1
  16. package/.output/public/_nuxt/{BBm9Ui4P.js → BhSkG2vO.js} +1 -1
  17. package/.output/public/_nuxt/{BTT16DZE.js → BwzWClQo.js} +1 -1
  18. package/.output/public/_nuxt/{DOgaXG8Y.js → C6uyQOiX.js} +1 -1
  19. package/.output/public/_nuxt/{D6E-gKom.js → CEFQZJTy.js} +1 -1
  20. package/.output/public/_nuxt/{D0GxoeXH.js → CFUixvV0.js} +1 -1
  21. package/.output/public/_nuxt/{DrMaf3PA.js → CIUVrxWu.js} +1 -1
  22. package/.output/public/_nuxt/{BCeRv53V.js → CKzYRRNc.js} +1 -1
  23. package/.output/public/_nuxt/{j6gS8Wqd.js → CRUo-mN3.js} +1 -1
  24. package/.output/public/_nuxt/{C1NBlWY6.js → CTv1udg1.js} +1 -1
  25. package/.output/public/_nuxt/{DUARq8BM.js → CYlq2lca.js} +1 -1
  26. package/.output/public/_nuxt/{C3tTPg4E.js → Ca9HO25U.js} +1 -1
  27. package/.output/public/_nuxt/{BMQs3vM5.js → Ccxf70XJ.js} +1 -1
  28. package/.output/public/_nuxt/{DxhSsuVH.js → Cl-6nwYp.js} +1 -1
  29. package/.output/public/_nuxt/{CgH_TWd3.js → CmFtdvwG.js} +1 -1
  30. package/.output/public/_nuxt/{BhJD15Lv.js → CmuRgu4O.js} +1 -1
  31. package/.output/public/_nuxt/{rwNeRj8A.js → CoKQIzln.js} +1 -1
  32. package/.output/public/_nuxt/{CJbwedTO.js → CqQ7SoEc.js} +1 -1
  33. package/.output/public/_nuxt/{4-z0BBBK.js → Ct0zHWLj.js} +1 -1
  34. package/.output/public/_nuxt/{BFHRoLmv.js → CwG_vXR4.js} +1 -1
  35. package/.output/public/_nuxt/{G46Y9AKK.js → D2m36GEB.js} +1 -1
  36. package/.output/public/_nuxt/{yJRFOr9c.js → D5PsJ332.js} +1 -1
  37. package/.output/public/_nuxt/{CHdpI9cE.js → D84_luhw.js} +1 -1
  38. package/.output/public/_nuxt/{DpdC86Cg.js → DCUYnw8H.js} +1 -1
  39. package/.output/public/_nuxt/{DWDpKQJN.js → DEkEne1_.js} +1 -1
  40. package/.output/public/_nuxt/{DgxepGqe.js → DIndX_i2.js} +1 -1
  41. package/.output/public/_nuxt/{3cWt8vz3.js → DJF4kszA.js} +1 -1
  42. package/.output/public/_nuxt/{DBdpdpK3.js → DKH4orv1.js} +1 -1
  43. package/.output/public/_nuxt/{DKZb-7H-.js → DLPcFaxm.js} +1 -1
  44. package/.output/public/_nuxt/{CucSXtnI.js → DMGzSUEV.js} +3 -3
  45. package/.output/public/_nuxt/{D2QRMlri.js → DRbOBnYP.js} +1 -1
  46. package/.output/public/_nuxt/{BUVU2BiV.js → DRzHUuts.js} +1 -1
  47. package/.output/public/_nuxt/{BfUh6PEC.js → DSvoz_Rr.js} +1 -1
  48. package/.output/public/_nuxt/{CXMRj2GR.js → DUPtXNCV.js} +1 -1
  49. package/.output/public/_nuxt/{DRIP7i-G.js → DUcPQWXO.js} +1 -1
  50. package/.output/public/_nuxt/{XVH4GPVs.js → DdEkqLVb.js} +1 -1
  51. package/.output/public/_nuxt/{DW9frVpz.js → DlUEcgLY.js} +1 -1
  52. package/.output/public/_nuxt/{20zRBBOT.js → DlgqOs51.js} +4 -4
  53. package/.output/public/_nuxt/{DmQuAe0a.js → DljtJUzO.js} +1 -1
  54. package/.output/public/_nuxt/{DbomWJMC.js → Dp61CxCP.js} +1 -1
  55. package/.output/public/_nuxt/{BdJnfSuv.js → DqHZqf4r.js} +1 -1
  56. package/.output/public/_nuxt/{BZsnSVZa.js → Dvr3wuZa.js} +1 -1
  57. package/.output/public/_nuxt/{DnkIt1sE.js → DwnIsmZ-.js} +1 -1
  58. package/.output/public/_nuxt/{CpdUDRp-.js → K7mdFSQD.js} +1 -1
  59. package/.output/public/_nuxt/{jhVMpA5V.js → KGX_yR9z.js} +1 -1
  60. package/.output/public/_nuxt/{D2AD0cA7.js → PcM58xPJ.js} +1 -1
  61. package/.output/public/_nuxt/{BvXvCmL7.js → SAlV5_cT.js} +1 -1
  62. package/.output/public/_nuxt/{BZxTtwKO.js → _4xG4Sg4.js} +1 -1
  63. package/.output/public/_nuxt/{B6Kaf1Zv.js → asZV6334.js} +1 -1
  64. package/.output/public/_nuxt/builds/latest.json +1 -1
  65. package/.output/public/_nuxt/builds/meta/c2b04ef2-f7ef-48dc-aa48-5d4dfa26c410.json +1 -0
  66. package/.output/public/_nuxt/{CjzOrk9n.js → cf-ossUw.js} +1 -1
  67. package/.output/public/_nuxt/{DjN4qVUp.js → ngiZ_K3q.js} +1 -1
  68. package/.output/public/_nuxt/{apt5CXWJ.js → pD_CwtY4.js} +1 -1
  69. package/.output/public/_nuxt/{BKG_vmA6.js → pGIbX2RQ.js} +1 -1
  70. package/.output/public/_nuxt/{whD7B6hi.js → rmtV6Y0T.js} +1 -1
  71. package/.output/public/_nuxt/{BUBm2gu0.js → un-_PcAo.js} +1 -1
  72. package/.output/public/_nuxt/{CnSrlJ1t.js → uwIuMFjJ.js} +1 -1
  73. package/.output/public/_nuxt/{vuetify.uXRHzFBB.css → vuetify.B9hb7bXd.css} +1 -1
  74. package/.output/server/index.mjs +1349 -1349
  75. package/package.json +7 -9
  76. package/.output/public/_nuxt/builds/meta/4aa61a2b-8c04-489d-bc5e-b3c10756c7d5.json +0 -1
@@ -1 +1 @@
1
- import{I as ve,q,_ as fe,g as ye,aB as ge,aQ as se,n as $e,ao as Te,at as Oe,aZ as xe,aC as De,aR as Pe}from"./20zRBBOT.js";import{F as R,Z as S,W as u,aI as be,aV as Me,a1 as a,X as t,aW as Ue,G as e,a0 as K,a2 as D,a3 as E,_ as x,ab as le,b8 as he,b9 as we,aO as G,av as Y,aw as re,aE as Z,ay as ee,aC as ue,aD as de,ai as J,j as T,aS as Fe,aX as te,L as B,aN as Be,$ as M,ac as ke,a9 as j,af as _,b7 as ie,aB as ce,r as V,w as Q,ba as Le,bb as Ne,bc as pe,az as Ae,b as W,aR as Ee,aA as X,a_ as Ie,aH as Se,aJ as oe,bd as Re,m as ze,J as je,O as He,n as We}from"./koatKMQr.js";import{H as Xe,_ as qe,I as Ge}from"./CucSXtnI.js";import{I as Ye}from"./apt5CXWJ.js";import"./SQImb3Xm.js";import{a as Je}from"./BTT16DZE.js";import{P as Ze}from"./D6E-gKom.js";const z=R({__name:"ContextMenuItem",props:{title:{},subtitle:{},color:{},icon:{},customIcon:{},disabled:{type:Boolean},loading:{type:Boolean}},emits:["click"],setup(o,{emit:r}){const b=r;return(s,g)=>(u(),S(be,{disabled:s.disabled,onClick:g[0]||(g[0]=d=>b("click"))},Me({append:a(()=>[le(s.$slots,"append")]),default:a(()=>[t(he,{color:s.color},{default:a(()=>[D(E(s.title),1)]),_:1},8,["color"]),s.subtitle?(u(),S(we,{key:0,color:s.color},{default:a(()=>[D(E(s.subtitle),1)]),_:1},8,["color"])):x("",!0),le(s.$slots,"default")]),_:2},[s.loading?{name:"prepend",fn:a(()=>[t(Ue,{indeterminate:"",color:"primary"})]),key:"0"}:s.customIcon?{name:"prepend",fn:a(()=>[t(e(ve),{icon:s.customIcon,color:s.color,style:{"margin-right":"12px",width:"24px",height:"24px"}},null,8,["icon","color"])]),key:"1"}:s.icon?{name:"prepend",fn:a(()=>[t(K,{color:s.color,style:{"margin-right":"-20px"}},{default:a(()=>[D(E(s.icon),1)]),_:1},8,["color"])]),key:"2"}:void 0]),1032,["disabled"]))}}),Qe=R({__name:"PageDialog",props:G({meta:{},content:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:["update:visible"],setup(o){const r=Y(o,"visible");return(b,s)=>(u(),S(re,{modelValue:r.value,"onUpdate:modelValue":s[1]||(s[1]=g=>r.value=g),"max-width":"80vh","max-height":"60vh"},{default:a(()=>[t(Z,{title:b.meta.title,color:"#2d2d2d"},{default:a(()=>[t(ee,{style:{"overflow-y":"scroll"}},{default:a(()=>[t(Ze,{content:b.content},null,8,["content"])]),_:1}),t(ue,null,{default:a(()=>[t(de),t(J,{onClick:s[0]||(s[0]=g=>r.value=!1)},{default:a(()=>s[2]||(s[2]=[D("Close")])),_:1,__:[2]})]),_:1})]),_:1},8,["title"])]),_:1},8,["modelValue"]))}}),me=R({__name:"EditorLoader",props:{text:{},value:{}},setup(o){const{instancesStore:r}=q(),b=T(()=>o.value===-1?o.text:`${o.text} ${o.value}/${r.totalInstanceCount}...`);return(s,g)=>s.text?(u(),S(Z,{key:0,variant:"tonal"},{default:a(()=>[t(ee,{class:"text-overline"},{default:a(()=>[D(E(e(b)),1)]),_:1}),t(Fe,{indeterminate:s.value===-1,"model-value":s.value,max:e(r).totalInstanceCount,height:4,color:"primary",class:"w-full"},null,8,["indeterminate","model-value","max"])]),_:1})):x("",!0)}}),$t=R({__name:"EditorLoaderPopup",setup(o){const{instancesStore:r,stateStore:b}=q(),s=T(()=>r.initializationPhase==="resolving"||b.initializationPhase==="calculating");return(g,d)=>e(s)?(u(),S(Z,{key:0,variant:"tonal"},{default:a(()=>[e(r).initializationPhase==="resolving"?(u(),S(me,{key:0,text:"Resolving instance inputs",value:e(r).resolvedInstanceCount},null,8,["value"])):x("",!0),e(b).initializationPhase==="calculating"?(u(),S(me,{key:1,text:"Detecting instance changes",value:e(b).calculatedInputHashCount},null,8,["value"])):x("",!0)]),_:1})):x("",!0)}}),Tt=R({__name:"HubNodeWrapper",props:{id:{},type:{},selected:{type:Boolean},connectable:{type:[Boolean,Number,String,Function]},position:{},dimensions:{},label:{},isValidTargetPos:{type:Function},isValidSourcePos:{type:Function},parent:{},parentNodeId:{},dragging:{type:Boolean},resizing:{type:Boolean},zIndex:{},targetPosition:{},sourcePosition:{},dragHandle:{},data:{},events:{}},setup(o){const{stateStore:r}=q(),b=te("contextMenu");return(s,g)=>(u(),S(Xe,{hub:s.data.hub,onContextmenu:g[0]||(g[0]=d=>e(b)?.showContextMenu(d))},{default:a(()=>[t(e(Ce),{ref_key:"contextMenu",ref:b,title:"Hub",subtitle:s.data.hub.id,"is-deletable":d=>e(r).isNodeDeletable(d)},null,8,["subtitle","is-deletable"])]),_:1},8,["hub"]))}}),Ke={key:0},_e={class:"d-flex flex-column"},et={key:0,class:"text-caption text-medium-emphasis"},tt={key:1,class:"text-body-2 text-medium-emphasis pa-4"},nt=R({__name:"OperationPlanTree",props:{phases:{}},setup(o){const{instancesStore:r,libraryStore:b}=q(),s=T(()=>{const p=[];for(const n of o.phases){const c={id:`phase-${n.type}`,title:`${n.type.charAt(0).toUpperCase()+n.type.slice(1)} Phase`,subtitle:`${n.instances.length} instance${n.instances.length===1?"":"s"}`,icon:w(n.type),iconColor:f(n.type),phaseType:n.type,children:[]},l=g(n.instances);c.children=l,p.push(c)}return p}),g=p=>{const n=new Map;for(const l of p)n.has(l.id)||n.set(l.id,{...l,children:[]});for(const l of p)l.parentId&&n.has(l.parentId)&&n.get(l.parentId).children.push(l);return p.filter(l=>!l.parentId||!n.has(l.parentId)).map(l=>d(l,n))},d=(p,n)=>{const c=r.instances.get(p.id),l=c?b.library.components[c.type]:null,$={id:p.id,title:l&&c?`${l.meta.title} "${c.name}"`:p.id,subtitle:p.message,icon:l?.meta.icon??"iconamoon:component",iconColor:l?.meta.iconColor,phaseType:"instance"},U=n.get(p.id);return U&&U.children.length>0&&($.children=U.children.map(h=>d(h,n))),$},w=p=>{switch(p){case"destroy":return"mdi-delete";case"update":return"mdi-update";case"refresh":return"mdi-refresh";default:return"mdi-cog"}},f=p=>{switch(p){case"destroy":return"error";case"update":return"primary";case"refresh":return"info";default:return"secondary"}};return(p,n)=>p.phases.length>0?(u(),B("div",Ke,[t(Be,{items:e(s),"item-title":"title","item-value":"id",density:"compact","open-all":"","indent-lines":"","bg-color":"#2d2d2d"},{prepend:a(({item:c})=>[t(e(ve),{icon:c.icon,color:c.iconColor,width:"20",class:"mr-2"},null,8,["icon","color"])]),title:a(({item:c})=>[M("div",_e,[M("div",{class:ke(["text-body-2",c.phaseType==="instance"?"font-weight-regular":"font-weight-medium"])},E(c.title),3),c.subtitle?(u(),B("div",et,E(c.subtitle),1)):x("",!0)])]),_:1},8,["items"])])):(u(),B("div",tt," No changes planned for this operation. "))}}),at={key:0},st={class:"text-caption"},ot=R({__name:"OperationOptions",props:G({operation:{}},{options:{default:{}},optionsModifiers:{}}),emits:["update:options"],setup(o){const r=Y(o,"options"),b=[{key:"forceUpdateDependencies",label:"Force update dependencies",description:"Force update all dependencies regardless of their current state. Bypasses hash-based change detection for dependency chains.",showForOperations:["update"]},{key:"forceUpdateChildren",label:"Force update children instances",description:"Force update all children of composite instances regardless of their state. Overrides selective child inclusion logic.",showForOperations:["update"]},{key:"destroyDependentInstances",label:"Destroy dependent instances",description:"Include dependent instances when destroying instances. Traverses the dependency graph in reverse to prevent orphaned instances.",defaultValue:!0,showForOperations:["destroy","recreate"]},{key:"invokeDestroyTriggers",label:"Invoke destroy triggers",description:"Execute destroy triggers when destroying instances. Controls trigger execution during the destruction phase.",defaultValue:!0},{key:"deleteUnreachableResources",label:"Delete unreachable resources",description:"Delete Pulumi resources that are no longer referenced in the state. Deletes orphaned resources within individual instances.",warning:"All resources that will not be reachable at the moment of the destroy operation will be removed from the state. Only use when you are sure that these resources do not actually exist!"},{key:"forceDeleteState",label:"Force delete state",description:"Force deletion of instance state even if the destroy operation fails. Bypasses normal destroy procedures as emergency fallback.",warning:"This will delete the stack state and all resources in it even if the destroy operation failed. Use only when the stack is unrecoverable and you want to start from scratch.",showForOperations:["destroy"]},{key:"allowPartialCompositeInstanceUpdate",label:"Allow partial update of composite instances",description:"Allow update of individual composite children without requiring all siblings. When enabled, only necessary children are included.",showForOperations:["update","recreate"]},{key:"allowPartialCompositeInstanceDestruction",label:"Allow partial destruction of composite instances",description:"Allow partial destruction of composite instances during cascade operations. When enabled, cascade destruction includes only directly dependent children.",showForOperations:["destroy","recreate"]},{key:"refresh",label:"Refresh state before operation",description:"Also refresh the state of instances during the operation. Synchronizes state with actual infrastructure."},{key:"debug",label:"Enable debug logging",description:"Enable debug logging for Pulumi engine and resource providers. Sets TF_LOG=DEBUG for Terraform providers.",warning:"Debug mode may expose sensitive information including credentials in the logs. Use only when absolutely necessary for troubleshooting."}],s=T(()=>b.filter(d=>d.showForOperations?d.showForOperations.includes(o.operation):!0)),g=(d,w)=>{r.value[d]=w??!1};return(d,w)=>r.value?(u(),B("div",at,[(u(!0),B(j,null,_(e(s),f=>(u(),B(j,{key:f.key},[t(ie,{"model-value":r.value[f.key],"onUpdate:modelValue":p=>g(f.key,p),class:ke(f===e(s)[0]?"mt-2":""),label:f.label,density:"compact","hide-details":""},null,8,["model-value","onUpdate:modelValue","class","label"]),M("div",st,E(f.description),1)],64))),128)),(u(!0),B(j,null,_(e(s),f=>(u(),B(j,{key:`warning-${f.key}`},[f.warning&&r.value[f.key]?(u(),S(ce,{key:0,density:"compact",type:"warning",variant:"outlined",class:"mt-4"},{default:a(()=>[D(E(f.warning),1)]),_:2},1024)):x("",!0)],64))),128))])):x("",!0)}}),lt={class:"metadata-section"},it={class:"options-header"},rt={class:"text-body-2 text-medium-emphasis mb-4"},ut={class:"options-scrollable"},dt={class:"plan-header"},ct={class:"plan-scrollable"},pt=R({__name:"InstanceOperationDialog",props:G({instances:{},component:{},operation:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:["update:visible"],setup(o){const r=Y(o,"visible"),{operationsStore:b,projectStore:s}=q(),g=T(()=>o.instances.length>1),d=T(()=>o.instances[0]),w=V({forceUpdateDependencies:!1,forceUpdateChildren:!1,destroyDependentInstances:!1,invokeDestroyTriggers:!0,deleteUnreachableResources:!1,forceDeleteState:!1,allowPartialCompositeInstanceUpdate:!1,allowPartialCompositeInstanceDestruction:!1,refresh:!1}),f=V([]),p=V(!1),n=V(null),c=V(""),l=V("");Q(()=>o.operation,()=>{$()}),Q(()=>w.value,()=>{$()},{deep:!0}),Q(()=>r.value,k=>{k&&$()});const $=async()=>{if(r.value){p.value=!0,n.value=null;try{if(o.instances.length===1){const k=await b.planInstanceOperation(o.operation,d.value,w.value);f.value=k}else{const k=await b.planMultipleInstancesOperation(o.operation,o.instances,w.value);f.value=k}}catch(k){console.error("Failed to load operation plan:",k),n.value=k instanceof Error?k.message:"Unknown error"}finally{p.value=!1}}},U=T(()=>f.value.reduce((k,y)=>k+y.instances.length,0)),h=T(()=>{switch(o.operation){case"update":return"Update";case"preview":return"Preview";case"refresh":return"Refresh";case"destroy":return"Destroy";case"recreate":return"Recreate";default:return"Unknown operation"}}),C=T(()=>U.value===0?h.value:`${h.value} ${U.value} instance${U.value===1?"":"s"}`),m=T(()=>{switch(o.operation){case"update":return"primary";case"preview":return"secondary";case"refresh":return"info";case"destroy":return"error";case"recreate":return"warning";default:return"primary"}}),P=V(!1),L=async()=>{P.value=!0;try{await b.launchOperation({projectId:s.projectId,type:o.operation,instanceIds:o.instances.map(k=>k.id),options:w.value,meta:{title:c.value||void 0,description:l.value||void 0}}),r.value=!1}finally{P.value=!1}},H=T(()=>g.value?`${h.value} ${o.instances.length} instances`:o.component?`${h.value} ${o.component.meta.title} "${d.value.name}"`:`${h.value} "${d.value.name}"`);return(k,y)=>(u(),S(re,{modelValue:r.value,"onUpdate:modelValue":y[4]||(y[4]=A=>r.value=A),"max-width":"1200px",class:"operation-dialog"},{default:a(()=>[t(Z,{title:e(H),color:k.component?.meta.color??"#2d2d2d",class:"operation-card"},{prepend:a(()=>[k.component&&!e(g)?(u(),S(e(Je),{key:0,meta:k.component.meta},null,8,["meta"])):e(g)?(u(),S(K,{key:1},{default:a(()=>y[5]||(y[5]=[D("mdi-format-list-bulleted")])),_:1,__:[5]})):(u(),S(K,{key:2},{default:a(()=>y[6]||(y[6]=[D("mdi-cube-outline")])),_:1,__:[6]}))]),default:a(()=>[t(ee,{class:"operation-card-content"},{default:a(()=>[t(Le,{fluid:"",class:"pa-0 fill-height"},{default:a(()=>[t(Ne,{"no-gutters":"",class:"fill-height"},{default:a(()=>[t(pe,{cols:"12",md:"5",class:"pr-md-4 column-container"},{default:a(()=>[M("div",lt,[y[7]||(y[7]=M("div",{class:"text-overline mb-2"},"Metadata",-1)),t(Ae,{modelValue:e(c),"onUpdate:modelValue":y[0]||(y[0]=A=>W(c)?c.value=A:null),label:"Title",variant:"outlined",density:"compact",class:"mb-3",hint:"A descriptive title for this operation (optional)","persistent-hint":""},null,8,["modelValue"]),t(Ee,{modelValue:e(l),"onUpdate:modelValue":y[1]||(y[1]=A=>W(l)?l.value=A:null),label:"Description",variant:"outlined",density:"compact",rows:"2",hint:"Describe the purpose of this operation (optional)","persistent-hint":""},null,8,["modelValue"])]),t(X,{class:"my-4"}),M("div",it,[y[10]||(y[10]=M("div",{class:"text-overline mb-2"},"Options",-1)),M("p",rt,[y[8]||(y[8]=D(" Configure how the ")),M("b",null,E(k.operation),1),y[9]||(y[9]=D(" operation should be executed. These options control the behavior and scope of the operation. "))])]),M("div",ut,[t(ot,{options:e(w),"onUpdate:options":y[2]||(y[2]=A=>W(w)?w.value=A:null),operation:k.operation},null,8,["options","operation"])])]),_:1}),t(X,{vertical:"",class:"d-none d-md-flex"}),t(pe,{cols:"12",md:"7",class:"pl-md-4 column-container"},{default:a(()=>[M("div",dt,[y[11]||(y[11]=M("div",{class:"text-overline mb-2"},"Execution Plan",-1)),y[12]||(y[12]=M("p",{class:"text-body-2 text-medium-emphasis mb-4"}," Preview of instances that will be affected by this operation. The plan shows the execution phases and which instances will be processed. ",-1)),e(n)?(u(),S(ce,{key:0,type:"error",variant:"outlined",density:"compact",class:"mb-3"},{default:a(()=>[D(" Failed to load operation plan: "+E(e(n)),1)]),_:1})):x("",!0)]),M("div",ct,[t(nt,{phases:e(f)},null,8,["phases"])])]),_:1})]),_:1})]),_:1})]),_:1}),t(ue,null,{default:a(()=>[t(de),t(J,{onClick:y[3]||(y[3]=A=>r.value=!1)},{default:a(()=>y[13]||(y[13]=[D("Cancel")])),_:1,__:[13]}),t(J,{color:e(m),loading:e(P),disabled:e(p),onClick:L},{default:a(()=>[D(E(e(C)),1)]),_:1},8,["color","loading","disabled"])]),_:1})]),_:1},8,["title","color"])]),_:1},8,["modelValue"]))}}),mt=fe(pt,[["__scopeId","data-v-a62561c9"]]),vt=R({__name:"ForgetInstanceStateDialog",props:G({instance:{},component:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:["update:visible"],setup(o){const r=Y(o,"visible"),{stateStore:b}=q(),s=V(!1),g=V(!1),d=V(!1),w=async()=>{s.value=!0;try{await b.forgetInstanceState(o.instance.id,g.value,d.value),r.value=!1}finally{s.value=!1}},f=T(()=>`Forget state of ${o.component.meta.title} "${o.instance.name}"`);return(p,n)=>(u(),S(re,{modelValue:r.value,"onUpdate:modelValue":n[3]||(n[3]=c=>r.value=c),"max-width":"600px"},{default:a(()=>[t(Z,{title:e(f),color:"#2d2d2d"},{default:a(()=>[t(ee,null,{default:a(()=>[n[5]||(n[5]=M("div",null," Are you sure you want to forget the state of this instance including Pulumi state? ",-1)),t(ie,{modelValue:e(g),"onUpdate:modelValue":n[0]||(n[0]=c=>W(g)?g.value=c:null),label:"Delete all secrets associated with this instance",density:"compact","hide-details":""},null,8,["modelValue"]),t(ie,{modelValue:e(d),"onUpdate:modelValue":n[1]||(n[1]=c=>W(d)?d.value=c:null),label:"Clear all terminal data associated with this instance",density:"compact","hide-details":""},null,8,["modelValue"]),t(ce,{density:"compact",type:"warning",variant:"outlined",class:"mt-4"},{default:a(()=>n[4]||(n[4]=[M("div",null," No destroy operation will be performed, so all resources will be left in place and unreachable by HighState. ",-1),M("div",null," You should only use this operation when the instance is unreachable/unrecoverable and you want to start from scratch. ",-1)])),_:1,__:[4]})]),_:1,__:[5]}),t(ue,null,{default:a(()=>[t(de),t(J,{onClick:n[2]||(n[2]=c=>r.value=!1)},{default:a(()=>n[6]||(n[6]=[D("Cancel")])),_:1,__:[6]}),t(J,{loading:e(s),onClick:w},{default:a(()=>n[7]||(n[7]=[D("Forget State")])),_:1,__:[7]},8,["loading"])]),_:1})]),_:1},8,["title"])]),_:1},8,["modelValue"]))}}),ft={class:"session-list-cointainer"},yt=R({__name:"TerminalListSubmenu",props:G({instanceId:{},terminalIds:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:["update:visible"],setup(o){const{instancesStore:r,stateStore:b}=q(),{state:s,execute:g,isLoading:d}=b.getTerminalsState(T(()=>o.terminalIds)),{state:w,execute:f,isLoading:p}=r.getTerminalSessionsState(T(()=>o.instanceId)),n=Y(o,"visible");Q(n,h=>{h&&(f(),g())});const c=h=>h.finishedAt?`Finished at ${new Date(h.finishedAt).toLocaleString()}`:`Started at ${new Date(h.startedAt).toLocaleString()}`,l=h=>{const C=Re();return h.finishedAt?"#9E9E9E":C.current.value.colors.success},$=V(null),U=async h=>{$.value=h;try{await r.openTerminal(h,!0)}finally{$.value=null}};return(h,C)=>(u(),S(e(z),{icon:"mdi-console",title:"Terminals"},{append:a(()=>[t(K,{icon:"mdi-menu-right",size:"x-small"})]),default:a(()=>[t(Ie,{modelValue:n.value,"onUpdate:modelValue":C[0]||(C[0]=m=>n.value=m),"open-on-focus":!1,"open-on-hover":"","close-on-content-click":!1,submenu:"",activator:"parent"},{default:a(()=>[t(Se,{density:"compact",variant:"text"},{default:a(()=>[t(oe,{class:"text-overline"},{default:a(()=>C[1]||(C[1]=[D("Available Terminals")])),_:1,__:[1]}),(u(!0),B(j,null,_(e(s),m=>(u(),S(e(z),{key:m.id,disabled:!!e($),title:m.meta.title,subtitle:m.meta.description,"custom-icon":m.meta.icon,loading:e($)===m.id,icon:"mdi-console",onClick:P=>U(m.id)},null,8,["disabled","title","subtitle","custom-icon","loading","onClick"]))),128)),t(X,{class:"mt-2 mb-2"}),t(oe,{class:"text-overline"},{default:a(()=>C[2]||(C[2]=[D("Sessions")])),_:1,__:[2]}),M("div",ft,[(u(!0),B(j,null,_(e(w),m=>(u(),S(e(z),{key:m.id,title:m.meta.title,subtitle:c(m),"custom-icon":m.meta.icon,icon:"mdi-console",color:l(m),onClick:P=>e(r).openTerminalSession(m)},null,8,["title","subtitle","custom-icon","color","onClick"]))),128))]),e(w).length===0?(u(),S(oe,{key:0,class:"text-disabled"},{default:a(()=>C[3]||(C[3]=[D(" No sessions found ")])),_:1,__:[3]})):x("",!0)]),_:1})]),_:1},8,["modelValue"])]),_:1}))}}),gt=fe(yt,[["__scopeId","data-v-04b76a7d"]]),bt=R({__name:"InstanceContextMenu",props:{instance:{},component:{},state:{},stores:{},operation:{},locked:{type:Boolean},editable:{type:Boolean}},setup(o,{expose:r}){const{projectStore:b,stateStore:s,operationsStore:g}=o.stores,d=ye(),{selection:w}=ge(),f=V(!1),p=V(!1),n=V("update"),c=V([]),l=V(!1),$=T(()=>w.selectedInstances.length>1&&w.selectedInstances.some(v=>v.id===o.instance.id)?w.selectedInstances:[o.instance]),U=T(()=>$.value.length>1),h=(i,v)=>{const I=Te(i?.lastOperationState?.status);switch(v){case"update":return!I;case"refresh":return se(i)&&!I;case"preview":return!I;case"recreate":case"destroy":return se(i)&&!I;default:return!1}},C=i=>$.value.some(v=>{const I=s.instanceStates.get(v.id);return h(I,i)}),m=i=>$.value.every(v=>{const I=s.instanceStates.get(v.id);return h(I,i)}),P=T(()=>$.value.some(i=>{const v=s.instanceStates.get(i.id);return se(v)})),L=i=>{const v=$.value.length;return v===1?i==="update"?P.value?"Update":"Create":i.charAt(0).toUpperCase()+i.slice(1):i==="update"?`${P.value?"Update":"Create"} selected (${v})`:`${i.charAt(0).toUpperCase()+i.slice(1)} selected (${v})`},H=i=>{if(U.value)return"mdi-format-list-bulleted";switch(i){case"update":return P.value?"mdi-play":"mdi-rocket-launch";case"refresh":return"mdi-reload";case"preview":return"mdi-eye";case"recreate":return"mdi-restart";case"destroy":return"mdi-stop";default:return"mdi-play"}},k=i=>{n.value=i,c.value=$.value,p.value=!0,f.value=!1},y=te("contextMenu"),A=async i=>{y.value&&await y.value.showContextMenu(i)},ne=async()=>{if($.value.length===1){const i=await g.launchInstanceOperation("preview",o.instance);f.value=!1,await d.openLogsPanel(b.projectId,i.id,o.instance.id)}else k("preview")};return r({showContextMenu:A}),(i,v)=>(u(),B(j,null,[t(e(Ce),{ref_key:"contextMenu",ref:y,visible:e(f),"onUpdate:visible":v[7]||(v[7]=I=>W(f)?f.value=I:null),title:"Instance",subtitle:i.instance.id,"is-deletable":I=>i.stores.stateStore.isNodeDeletable(I)},{default:a(()=>[C("update")?(u(),S(e(z),{key:0,title:L("update"),icon:H("update"),color:"primary",disabled:i.locked||!m("update"),onClick:v[0]||(v[0]=I=>k("update"))},null,8,["title","icon","disabled"])):x("",!0),C("refresh")?(u(),S(e(z),{key:1,title:L("refresh"),icon:H("refresh"),color:"primary",disabled:i.locked||!m("refresh"),onClick:v[1]||(v[1]=I=>k("refresh"))},null,8,["title","icon","disabled"])):x("",!0),C("preview")?(u(),S(e(z),{key:2,title:L("preview"),icon:H("preview"),color:"secondary",disabled:i.locked||!m("preview"),onClick:ne},null,8,["title","icon","disabled"])):x("",!0),i.state?.lastOperationState?(u(),B(j,{key:3},[t(X),t(e(z),{title:"Open Logs",icon:"mdi-text",color:"primary",onClick:v[2]||(v[2]=I=>e(s).openInstanceLogs(i.instance))})],64)):x("",!0),t(X),t(e(z),{title:"View in Settings",icon:"mdi-cog",color:"primary",onClick:v[3]||(v[3]=()=>{const I=e(s).getInstanceState(i.instance.id);I&&("navigateTo"in i?i.navigateTo:e($e))({name:"settings.instance-details",params:{projectId:e(b).projectId,stateId:I.id}}),f.value=!1})}),i.state?.terminalIds?.length?(u(),B(j,{key:4},[t(X),t(gt,{"instance-id":i.instance.id,"terminal-ids":i.state.terminalIds},null,8,["instance-id","terminal-ids"])],64)):x("",!0),e(P)?(u(),B(j,{key:5},[t(X),C("recreate")?(u(),S(e(z),{key:0,title:L("recreate"),icon:H("recreate"),color:"warning",disabled:i.locked||!m("recreate"),onClick:v[4]||(v[4]=I=>k("recreate"))},null,8,["title","icon","disabled"])):x("",!0),C("destroy")?(u(),S(e(z),{key:1,title:L("destroy"),icon:H("destroy"),color:"error",disabled:i.locked||!m("destroy"),onClick:v[5]||(v[5]=I=>k("destroy"))},null,8,["title","icon","disabled"])):x("",!0),e(U)?x("",!0):(u(),S(e(z),{key:2,title:"Forget State",icon:"mdi-delete-forever",color:"error",disabled:i.locked,onClick:v[6]||(v[6]=I=>l.value=!0)},null,8,["disabled"]))],64)):x("",!0)]),_:1},8,["visible","subtitle","is-deletable"]),t(mt,{visible:e(p),"onUpdate:visible":v[8]||(v[8]=I=>W(p)?p.value=I:null),operation:e(n),instances:e(c),component:i.component},null,8,["visible","operation","instances","component"]),t(vt,{visible:e(l),"onUpdate:visible":v[9]||(v[9]=I=>W(l)?l.value=I:null),instance:i.instance,component:i.component},null,8,["visible","instance","component"])],64))}}),Ot=R({__name:"InstanceNodeWrapper",props:{id:{},type:{},selected:{type:Boolean},connectable:{type:[Boolean,Number,String,Function]},position:{},dimensions:{},label:{},isValidTargetPos:{type:Function},isValidSourcePos:{type:Function},parent:{},parentNodeId:{},dragging:{type:Boolean},resizing:{type:Boolean},zIndex:{},targetPosition:{},sourcePosition:{},dragHandle:{},data:{},events:{}},setup(o){const r=q(),b=ye(),{projectStore:s,stateStore:g,instancesStore:d,libraryStore:w,operationsStore:f,validationStore:p}=r,n=T(()=>o.data.instance),c=T(()=>w.library.components[n.value.type]),l=T(()=>g.instanceStates.get(n.value.id)),$=T(()=>l.value&&g.instanceLocks.get(l.value.id)),U=T(()=>f.getLastInstanceOperation(n.value.id)),h=V(!1),C=V(!1),m=V(),P=V([]),L=V(!1),H=V(!1),k=V({}),y=async()=>{h.value=!0;try{if(!l.value?.pageIds)return;const N=l.value.pageIds;if(!N.length)return;const O=await g.getPage(N[0]);if(!O)return;P.value=O.content,m.value=O.meta,C.value=!0}finally{h.value=!1}},A=V(!1),ne=async()=>{A.value=!0;try{if(!l.value?.terminalIds||l.value.terminalIds.length===0)return;await d.openTerminal(l.value.terminalIds[0])}finally{A.value=!1}},i=async()=>{H.value=!0;try{if(!l.value)return;const N=await r.stateStore.getInstanceSecrets(l.value.id);k.value={...N},L.value=!0}finally{H.value=!1}},v=te("contextMenu"),I=Oe();return(N,O)=>(u(),S(qe,{"editing-secrets":e(L),"onUpdate:editingSecrets":O[2]||(O[2]=F=>W(L)?L.value=F:null),"loading-secrets":e(H),"initial-secrets":e(k),"loading-page":e(h),instance:N.data.instance,component:e(c),entities:e(w).library.entities,"input-resolver-outputs":e(d).inputResolverOutputs,"input-resolver-dependent-map":e(d).inputResolverDependentMap,"is-valid-connection":F=>("validateConnection"in N?N.validateConnection:e(xe))(e(I),e(w).library,F),"instance-lock":e($),state:e(l),editable:N.data.editable,stores:("markRaw"in N?N.markRaw:e(ze))(e(r)),"workspace-store":e(b),"all-instances":e(d).instances,"onSave:args":O[3]||(O[3]=(F,ae,Ve)=>e(d).updateInstance(F,ae,Ve)),"onSave:secrets":O[4]||(O[4]=(F,ae)=>e(g).updateInstanceSecrets(F,ae)),"onOpen:secrets":i,"onOpen:terminal":ne,"onOperation:launch":O[5]||(O[5]=F=>e(f).launchInstanceOperation(F,N.data.instance)),"onOperation:cancel":O[6]||(O[6]=F=>e(f).cancelInstanceOperation(e(l).lastOperationState.operationId,N.data.instance.id)),onContextmenu:O[7]||(O[7]=F=>e(v)?.showContextMenu(F)),"onOpen:composite":O[8]||(O[8]=F=>e(b).openCompositeInstancePanel(e(s).projectId,e(l).id)),"onOpen:page":y},{status:a(()=>[t(e(Ye),{state:e(l),operation:e(U),"expected-input-hash":e(g).inputHashOutputs.get(e(n).id)?.inputHash,"validation-output":e(p).validationOutputs.get(e(n).id)},null,8,["state","operation","expected-input-hash","validation-output"])]),default:a(()=>[t(e(bt),{ref_key:"contextMenu",ref:v,stores:e(r),instance:e(n),component:e(c),state:e(l),editable:N.data.editable,locked:!!e($)},null,8,["stores","instance","component","state","editable","locked"]),e(m)?(u(),S(e(Qe),{key:0,visible:e(C),"onUpdate:visible":O[0]||(O[0]=F=>W(C)?C.value=F:null),meta:e(m),content:e(P),onClose:O[1]||(O[1]=F=>C.value=!1)},null,8,["visible","meta","content"])):x("",!0)]),_:1},8,["editing-secrets","loading-secrets","initial-secrets","loading-page","instance","component","entities","input-resolver-outputs","input-resolver-dependent-map","is-valid-connection","instance-lock","state","editable","stores","workspace-store","all-instances"]))}}),Ce=R({__name:"NodeContextMenu",props:G({title:{},subtitle:{},isDeletable:{type:Function}},{visible:{type:Boolean,default:!1},visibleModifiers:{}}),emits:["update:visible"],setup(o,{expose:r}){const{selection:b,vueFlowStore:s,deleteNodes:g}=ge(),d=Y(o,"visible"),w=V(0),f=V(0),p=De(),n=te("contextMenu"),{isOutside:c}=Pe(n),l=async m=>{m.preventDefault(),d.value=!1,w.value=m.clientX,f.value=m.clientY,await We(),d.value=!0},$=()=>{c.value&&(d.value=!1)};je(()=>{window.addEventListener("mousedown",$)});const{off:U}=s.onViewportChange(()=>{d.value=!1});He(()=>{window.removeEventListener("mousedown",$),U(),d.value=!1}),r({showContextMenu:l});const h=T(()=>o.isDeletable(p.node)?b.selectedNodeIds.has(p.id)?Array.from(b.selectedNodes).filter(o.isDeletable):[p.node]:[]),C=T(()=>h.value.length===1?"Delete":`Delete selected (${h.value.length})`);return(m,P)=>(u(),S(Ie,{modelValue:d.value,"onUpdate:modelValue":P[1]||(P[1]=L=>d.value=L),target:[e(w),e(f)],location:"end","close-on-content-click":!1},{default:a(()=>[t(Se,{ref_key:"contextMenu",ref:n,density:"compact",variant:"text",style:{"padding-bottom":"0"}},{default:a(()=>[t(be,{class:"mb-2"},{default:a(()=>[t(he,null,{default:a(()=>[D(E(m.title),1)]),_:1}),t(we,{class:"d-flex align-center",style:{"font-family":"monospace"}},{default:a(()=>[D(E(m.subtitle)+" ",1),t(Ge,{content:m.subtitle},null,8,["content"])]),_:1})]),_:1}),m.$slots.default?(u(),B(j,{key:0},[t(X),le(m.$slots,"default")],64)):x("",!0),e(h).length>0?(u(),B(j,{key:1},[t(X),t(z,{title:e(C),icon:"mdi-delete",color:"error",onClick:P[0]||(P[0]=L=>e(g)(e(h)))},null,8,["title"])],64)):x("",!0)]),_:3},512)]),_:3},8,["modelValue","target"]))}});export{$t as _,Tt as a,Ot as b,bt as c};
1
+ import{I as ve,q,_ as fe,g as ye,aB as ge,aQ as se,n as $e,ao as Te,at as Oe,aZ as xe,aC as De,aR as Pe}from"./DlgqOs51.js";import{F as R,Z as S,W as u,aI as be,aV as Me,a1 as a,X as t,aW as Ue,G as e,a0 as K,a2 as D,a3 as E,_ as x,ab as le,b8 as he,b9 as we,aO as G,av as Y,aw as re,aE as Z,ay as ee,aC as ue,aD as de,ai as J,j as T,aS as Fe,aX as te,L as B,aN as Be,$ as M,ac as ke,a9 as j,af as _,b7 as ie,aB as ce,r as V,w as Q,ba as Le,bb as Ne,bc as pe,az as Ae,b as W,aR as Ee,aA as X,a_ as Ie,aH as Se,aJ as oe,bd as Re,m as ze,J as je,O as He,n as We}from"./B9WOzG0F.js";import{H as Xe,_ as qe,I as Ge}from"./DMGzSUEV.js";import{I as Ye}from"./pD_CwtY4.js";import"./SQImb3Xm.js";import{a as Je}from"./BwzWClQo.js";import{P as Ze}from"./CEFQZJTy.js";const z=R({__name:"ContextMenuItem",props:{title:{},subtitle:{},color:{},icon:{},customIcon:{},disabled:{type:Boolean},loading:{type:Boolean}},emits:["click"],setup(o,{emit:r}){const b=r;return(s,g)=>(u(),S(be,{disabled:s.disabled,onClick:g[0]||(g[0]=d=>b("click"))},Me({append:a(()=>[le(s.$slots,"append")]),default:a(()=>[t(he,{color:s.color},{default:a(()=>[D(E(s.title),1)]),_:1},8,["color"]),s.subtitle?(u(),S(we,{key:0,color:s.color},{default:a(()=>[D(E(s.subtitle),1)]),_:1},8,["color"])):x("",!0),le(s.$slots,"default")]),_:2},[s.loading?{name:"prepend",fn:a(()=>[t(Ue,{indeterminate:"",color:"primary"})]),key:"0"}:s.customIcon?{name:"prepend",fn:a(()=>[t(e(ve),{icon:s.customIcon,color:s.color,style:{"margin-right":"12px",width:"24px",height:"24px"}},null,8,["icon","color"])]),key:"1"}:s.icon?{name:"prepend",fn:a(()=>[t(K,{color:s.color,style:{"margin-right":"-20px"}},{default:a(()=>[D(E(s.icon),1)]),_:1},8,["color"])]),key:"2"}:void 0]),1032,["disabled"]))}}),Qe=R({__name:"PageDialog",props:G({meta:{},content:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:["update:visible"],setup(o){const r=Y(o,"visible");return(b,s)=>(u(),S(re,{modelValue:r.value,"onUpdate:modelValue":s[1]||(s[1]=g=>r.value=g),"max-width":"80vh","max-height":"60vh"},{default:a(()=>[t(Z,{title:b.meta.title,color:"#2d2d2d"},{default:a(()=>[t(ee,{style:{"overflow-y":"scroll"}},{default:a(()=>[t(Ze,{content:b.content},null,8,["content"])]),_:1}),t(ue,null,{default:a(()=>[t(de),t(J,{onClick:s[0]||(s[0]=g=>r.value=!1)},{default:a(()=>s[2]||(s[2]=[D("Close")])),_:1,__:[2]})]),_:1})]),_:1},8,["title"])]),_:1},8,["modelValue"]))}}),me=R({__name:"EditorLoader",props:{text:{},value:{}},setup(o){const{instancesStore:r}=q(),b=T(()=>o.value===-1?o.text:`${o.text} ${o.value}/${r.totalInstanceCount}...`);return(s,g)=>s.text?(u(),S(Z,{key:0,variant:"tonal"},{default:a(()=>[t(ee,{class:"text-overline"},{default:a(()=>[D(E(e(b)),1)]),_:1}),t(Fe,{indeterminate:s.value===-1,"model-value":s.value,max:e(r).totalInstanceCount,height:4,color:"primary",class:"w-full"},null,8,["indeterminate","model-value","max"])]),_:1})):x("",!0)}}),$t=R({__name:"EditorLoaderPopup",setup(o){const{instancesStore:r,stateStore:b}=q(),s=T(()=>r.initializationPhase==="resolving"||b.initializationPhase==="calculating");return(g,d)=>e(s)?(u(),S(Z,{key:0,variant:"tonal"},{default:a(()=>[e(r).initializationPhase==="resolving"?(u(),S(me,{key:0,text:"Resolving instance inputs",value:e(r).resolvedInstanceCount},null,8,["value"])):x("",!0),e(b).initializationPhase==="calculating"?(u(),S(me,{key:1,text:"Detecting instance changes",value:e(b).calculatedInputHashCount},null,8,["value"])):x("",!0)]),_:1})):x("",!0)}}),Tt=R({__name:"HubNodeWrapper",props:{id:{},type:{},selected:{type:Boolean},connectable:{type:[Boolean,Number,String,Function]},position:{},dimensions:{},label:{},isValidTargetPos:{type:Function},isValidSourcePos:{type:Function},parent:{},parentNodeId:{},dragging:{type:Boolean},resizing:{type:Boolean},zIndex:{},targetPosition:{},sourcePosition:{},dragHandle:{},data:{},events:{}},setup(o){const{stateStore:r}=q(),b=te("contextMenu");return(s,g)=>(u(),S(Xe,{hub:s.data.hub,onContextmenu:g[0]||(g[0]=d=>e(b)?.showContextMenu(d))},{default:a(()=>[t(e(Ce),{ref_key:"contextMenu",ref:b,title:"Hub",subtitle:s.data.hub.id,"is-deletable":d=>e(r).isNodeDeletable(d)},null,8,["subtitle","is-deletable"])]),_:1},8,["hub"]))}}),Ke={key:0},_e={class:"d-flex flex-column"},et={key:0,class:"text-caption text-medium-emphasis"},tt={key:1,class:"text-body-2 text-medium-emphasis pa-4"},nt=R({__name:"OperationPlanTree",props:{phases:{}},setup(o){const{instancesStore:r,libraryStore:b}=q(),s=T(()=>{const p=[];for(const n of o.phases){const c={id:`phase-${n.type}`,title:`${n.type.charAt(0).toUpperCase()+n.type.slice(1)} Phase`,subtitle:`${n.instances.length} instance${n.instances.length===1?"":"s"}`,icon:w(n.type),iconColor:f(n.type),phaseType:n.type,children:[]},l=g(n.instances);c.children=l,p.push(c)}return p}),g=p=>{const n=new Map;for(const l of p)n.has(l.id)||n.set(l.id,{...l,children:[]});for(const l of p)l.parentId&&n.has(l.parentId)&&n.get(l.parentId).children.push(l);return p.filter(l=>!l.parentId||!n.has(l.parentId)).map(l=>d(l,n))},d=(p,n)=>{const c=r.instances.get(p.id),l=c?b.library.components[c.type]:null,$={id:p.id,title:l&&c?`${l.meta.title} "${c.name}"`:p.id,subtitle:p.message,icon:l?.meta.icon??"iconamoon:component",iconColor:l?.meta.iconColor,phaseType:"instance"},U=n.get(p.id);return U&&U.children.length>0&&($.children=U.children.map(h=>d(h,n))),$},w=p=>{switch(p){case"destroy":return"mdi-delete";case"update":return"mdi-update";case"refresh":return"mdi-refresh";default:return"mdi-cog"}},f=p=>{switch(p){case"destroy":return"error";case"update":return"primary";case"refresh":return"info";default:return"secondary"}};return(p,n)=>p.phases.length>0?(u(),B("div",Ke,[t(Be,{items:e(s),"item-title":"title","item-value":"id",density:"compact","open-all":"","indent-lines":"","bg-color":"#2d2d2d"},{prepend:a(({item:c})=>[t(e(ve),{icon:c.icon,color:c.iconColor,width:"20",class:"mr-2"},null,8,["icon","color"])]),title:a(({item:c})=>[M("div",_e,[M("div",{class:ke(["text-body-2",c.phaseType==="instance"?"font-weight-regular":"font-weight-medium"])},E(c.title),3),c.subtitle?(u(),B("div",et,E(c.subtitle),1)):x("",!0)])]),_:1},8,["items"])])):(u(),B("div",tt," No changes planned for this operation. "))}}),at={key:0},st={class:"text-caption"},ot=R({__name:"OperationOptions",props:G({operation:{}},{options:{default:{}},optionsModifiers:{}}),emits:["update:options"],setup(o){const r=Y(o,"options"),b=[{key:"forceUpdateDependencies",label:"Force update dependencies",description:"Force update all dependencies regardless of their current state. Bypasses hash-based change detection for dependency chains.",showForOperations:["update"]},{key:"forceUpdateChildren",label:"Force update children instances",description:"Force update all children of composite instances regardless of their state. Overrides selective child inclusion logic.",showForOperations:["update"]},{key:"destroyDependentInstances",label:"Destroy dependent instances",description:"Include dependent instances when destroying instances. Traverses the dependency graph in reverse to prevent orphaned instances.",defaultValue:!0,showForOperations:["destroy","recreate"]},{key:"invokeDestroyTriggers",label:"Invoke destroy triggers",description:"Execute destroy triggers when destroying instances. Controls trigger execution during the destruction phase.",defaultValue:!0},{key:"deleteUnreachableResources",label:"Delete unreachable resources",description:"Delete Pulumi resources that are no longer referenced in the state. Deletes orphaned resources within individual instances.",warning:"All resources that will not be reachable at the moment of the destroy operation will be removed from the state. Only use when you are sure that these resources do not actually exist!"},{key:"forceDeleteState",label:"Force delete state",description:"Force deletion of instance state even if the destroy operation fails. Bypasses normal destroy procedures as emergency fallback.",warning:"This will delete the stack state and all resources in it even if the destroy operation failed. Use only when the stack is unrecoverable and you want to start from scratch.",showForOperations:["destroy"]},{key:"allowPartialCompositeInstanceUpdate",label:"Allow partial update of composite instances",description:"Allow update of individual composite children without requiring all siblings. When enabled, only necessary children are included.",showForOperations:["update","recreate"]},{key:"allowPartialCompositeInstanceDestruction",label:"Allow partial destruction of composite instances",description:"Allow partial destruction of composite instances during cascade operations. When enabled, cascade destruction includes only directly dependent children.",showForOperations:["destroy","recreate"]},{key:"refresh",label:"Refresh state before operation",description:"Also refresh the state of instances during the operation. Synchronizes state with actual infrastructure."},{key:"debug",label:"Enable debug logging",description:"Enable debug logging for Pulumi engine and resource providers. Sets TF_LOG=DEBUG for Terraform providers.",warning:"Debug mode may expose sensitive information including credentials in the logs. Use only when absolutely necessary for troubleshooting."}],s=T(()=>b.filter(d=>d.showForOperations?d.showForOperations.includes(o.operation):!0)),g=(d,w)=>{r.value[d]=w??!1};return(d,w)=>r.value?(u(),B("div",at,[(u(!0),B(j,null,_(e(s),f=>(u(),B(j,{key:f.key},[t(ie,{"model-value":r.value[f.key],"onUpdate:modelValue":p=>g(f.key,p),class:ke(f===e(s)[0]?"mt-2":""),label:f.label,density:"compact","hide-details":""},null,8,["model-value","onUpdate:modelValue","class","label"]),M("div",st,E(f.description),1)],64))),128)),(u(!0),B(j,null,_(e(s),f=>(u(),B(j,{key:`warning-${f.key}`},[f.warning&&r.value[f.key]?(u(),S(ce,{key:0,density:"compact",type:"warning",variant:"outlined",class:"mt-4"},{default:a(()=>[D(E(f.warning),1)]),_:2},1024)):x("",!0)],64))),128))])):x("",!0)}}),lt={class:"metadata-section"},it={class:"options-header"},rt={class:"text-body-2 text-medium-emphasis mb-4"},ut={class:"options-scrollable"},dt={class:"plan-header"},ct={class:"plan-scrollable"},pt=R({__name:"InstanceOperationDialog",props:G({instances:{},component:{},operation:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:["update:visible"],setup(o){const r=Y(o,"visible"),{operationsStore:b,projectStore:s}=q(),g=T(()=>o.instances.length>1),d=T(()=>o.instances[0]),w=V({forceUpdateDependencies:!1,forceUpdateChildren:!1,destroyDependentInstances:!1,invokeDestroyTriggers:!0,deleteUnreachableResources:!1,forceDeleteState:!1,allowPartialCompositeInstanceUpdate:!1,allowPartialCompositeInstanceDestruction:!1,refresh:!1}),f=V([]),p=V(!1),n=V(null),c=V(""),l=V("");Q(()=>o.operation,()=>{$()}),Q(()=>w.value,()=>{$()},{deep:!0}),Q(()=>r.value,k=>{k&&$()});const $=async()=>{if(r.value){p.value=!0,n.value=null;try{if(o.instances.length===1){const k=await b.planInstanceOperation(o.operation,d.value,w.value);f.value=k}else{const k=await b.planMultipleInstancesOperation(o.operation,o.instances,w.value);f.value=k}}catch(k){console.error("Failed to load operation plan:",k),n.value=k instanceof Error?k.message:"Unknown error"}finally{p.value=!1}}},U=T(()=>f.value.reduce((k,y)=>k+y.instances.length,0)),h=T(()=>{switch(o.operation){case"update":return"Update";case"preview":return"Preview";case"refresh":return"Refresh";case"destroy":return"Destroy";case"recreate":return"Recreate";default:return"Unknown operation"}}),C=T(()=>U.value===0?h.value:`${h.value} ${U.value} instance${U.value===1?"":"s"}`),m=T(()=>{switch(o.operation){case"update":return"primary";case"preview":return"secondary";case"refresh":return"info";case"destroy":return"error";case"recreate":return"warning";default:return"primary"}}),P=V(!1),L=async()=>{P.value=!0;try{await b.launchOperation({projectId:s.projectId,type:o.operation,instanceIds:o.instances.map(k=>k.id),options:w.value,meta:{title:c.value||void 0,description:l.value||void 0}}),r.value=!1}finally{P.value=!1}},H=T(()=>g.value?`${h.value} ${o.instances.length} instances`:o.component?`${h.value} ${o.component.meta.title} "${d.value.name}"`:`${h.value} "${d.value.name}"`);return(k,y)=>(u(),S(re,{modelValue:r.value,"onUpdate:modelValue":y[4]||(y[4]=A=>r.value=A),"max-width":"1200px",class:"operation-dialog"},{default:a(()=>[t(Z,{title:e(H),color:k.component?.meta.color??"#2d2d2d",class:"operation-card"},{prepend:a(()=>[k.component&&!e(g)?(u(),S(e(Je),{key:0,meta:k.component.meta},null,8,["meta"])):e(g)?(u(),S(K,{key:1},{default:a(()=>y[5]||(y[5]=[D("mdi-format-list-bulleted")])),_:1,__:[5]})):(u(),S(K,{key:2},{default:a(()=>y[6]||(y[6]=[D("mdi-cube-outline")])),_:1,__:[6]}))]),default:a(()=>[t(ee,{class:"operation-card-content"},{default:a(()=>[t(Le,{fluid:"",class:"pa-0 fill-height"},{default:a(()=>[t(Ne,{"no-gutters":"",class:"fill-height"},{default:a(()=>[t(pe,{cols:"12",md:"5",class:"pr-md-4 column-container"},{default:a(()=>[M("div",lt,[y[7]||(y[7]=M("div",{class:"text-overline mb-2"},"Metadata",-1)),t(Ae,{modelValue:e(c),"onUpdate:modelValue":y[0]||(y[0]=A=>W(c)?c.value=A:null),label:"Title",variant:"outlined",density:"compact",class:"mb-3",hint:"A descriptive title for this operation (optional)","persistent-hint":""},null,8,["modelValue"]),t(Ee,{modelValue:e(l),"onUpdate:modelValue":y[1]||(y[1]=A=>W(l)?l.value=A:null),label:"Description",variant:"outlined",density:"compact",rows:"2",hint:"Describe the purpose of this operation (optional)","persistent-hint":""},null,8,["modelValue"])]),t(X,{class:"my-4"}),M("div",it,[y[10]||(y[10]=M("div",{class:"text-overline mb-2"},"Options",-1)),M("p",rt,[y[8]||(y[8]=D(" Configure how the ")),M("b",null,E(k.operation),1),y[9]||(y[9]=D(" operation should be executed. These options control the behavior and scope of the operation. "))])]),M("div",ut,[t(ot,{options:e(w),"onUpdate:options":y[2]||(y[2]=A=>W(w)?w.value=A:null),operation:k.operation},null,8,["options","operation"])])]),_:1}),t(X,{vertical:"",class:"d-none d-md-flex"}),t(pe,{cols:"12",md:"7",class:"pl-md-4 column-container"},{default:a(()=>[M("div",dt,[y[11]||(y[11]=M("div",{class:"text-overline mb-2"},"Execution Plan",-1)),y[12]||(y[12]=M("p",{class:"text-body-2 text-medium-emphasis mb-4"}," Preview of instances that will be affected by this operation. The plan shows the execution phases and which instances will be processed. ",-1)),e(n)?(u(),S(ce,{key:0,type:"error",variant:"outlined",density:"compact",class:"mb-3"},{default:a(()=>[D(" Failed to load operation plan: "+E(e(n)),1)]),_:1})):x("",!0)]),M("div",ct,[t(nt,{phases:e(f)},null,8,["phases"])])]),_:1})]),_:1})]),_:1})]),_:1}),t(ue,null,{default:a(()=>[t(de),t(J,{onClick:y[3]||(y[3]=A=>r.value=!1)},{default:a(()=>y[13]||(y[13]=[D("Cancel")])),_:1,__:[13]}),t(J,{color:e(m),loading:e(P),disabled:e(p),onClick:L},{default:a(()=>[D(E(e(C)),1)]),_:1},8,["color","loading","disabled"])]),_:1})]),_:1},8,["title","color"])]),_:1},8,["modelValue"]))}}),mt=fe(pt,[["__scopeId","data-v-a62561c9"]]),vt=R({__name:"ForgetInstanceStateDialog",props:G({instance:{},component:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:["update:visible"],setup(o){const r=Y(o,"visible"),{stateStore:b}=q(),s=V(!1),g=V(!1),d=V(!1),w=async()=>{s.value=!0;try{await b.forgetInstanceState(o.instance.id,g.value,d.value),r.value=!1}finally{s.value=!1}},f=T(()=>`Forget state of ${o.component.meta.title} "${o.instance.name}"`);return(p,n)=>(u(),S(re,{modelValue:r.value,"onUpdate:modelValue":n[3]||(n[3]=c=>r.value=c),"max-width":"600px"},{default:a(()=>[t(Z,{title:e(f),color:"#2d2d2d"},{default:a(()=>[t(ee,null,{default:a(()=>[n[5]||(n[5]=M("div",null," Are you sure you want to forget the state of this instance including Pulumi state? ",-1)),t(ie,{modelValue:e(g),"onUpdate:modelValue":n[0]||(n[0]=c=>W(g)?g.value=c:null),label:"Delete all secrets associated with this instance",density:"compact","hide-details":""},null,8,["modelValue"]),t(ie,{modelValue:e(d),"onUpdate:modelValue":n[1]||(n[1]=c=>W(d)?d.value=c:null),label:"Clear all terminal data associated with this instance",density:"compact","hide-details":""},null,8,["modelValue"]),t(ce,{density:"compact",type:"warning",variant:"outlined",class:"mt-4"},{default:a(()=>n[4]||(n[4]=[M("div",null," No destroy operation will be performed, so all resources will be left in place and unreachable by HighState. ",-1),M("div",null," You should only use this operation when the instance is unreachable/unrecoverable and you want to start from scratch. ",-1)])),_:1,__:[4]})]),_:1,__:[5]}),t(ue,null,{default:a(()=>[t(de),t(J,{onClick:n[2]||(n[2]=c=>r.value=!1)},{default:a(()=>n[6]||(n[6]=[D("Cancel")])),_:1,__:[6]}),t(J,{loading:e(s),onClick:w},{default:a(()=>n[7]||(n[7]=[D("Forget State")])),_:1,__:[7]},8,["loading"])]),_:1})]),_:1},8,["title"])]),_:1},8,["modelValue"]))}}),ft={class:"session-list-cointainer"},yt=R({__name:"TerminalListSubmenu",props:G({instanceId:{},terminalIds:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:["update:visible"],setup(o){const{instancesStore:r,stateStore:b}=q(),{state:s,execute:g,isLoading:d}=b.getTerminalsState(T(()=>o.terminalIds)),{state:w,execute:f,isLoading:p}=r.getTerminalSessionsState(T(()=>o.instanceId)),n=Y(o,"visible");Q(n,h=>{h&&(f(),g())});const c=h=>h.finishedAt?`Finished at ${new Date(h.finishedAt).toLocaleString()}`:`Started at ${new Date(h.startedAt).toLocaleString()}`,l=h=>{const C=Re();return h.finishedAt?"#9E9E9E":C.current.value.colors.success},$=V(null),U=async h=>{$.value=h;try{await r.openTerminal(h,!0)}finally{$.value=null}};return(h,C)=>(u(),S(e(z),{icon:"mdi-console",title:"Terminals"},{append:a(()=>[t(K,{icon:"mdi-menu-right",size:"x-small"})]),default:a(()=>[t(Ie,{modelValue:n.value,"onUpdate:modelValue":C[0]||(C[0]=m=>n.value=m),"open-on-focus":!1,"open-on-hover":"","close-on-content-click":!1,submenu:"",activator:"parent"},{default:a(()=>[t(Se,{density:"compact",variant:"text"},{default:a(()=>[t(oe,{class:"text-overline"},{default:a(()=>C[1]||(C[1]=[D("Available Terminals")])),_:1,__:[1]}),(u(!0),B(j,null,_(e(s),m=>(u(),S(e(z),{key:m.id,disabled:!!e($),title:m.meta.title,subtitle:m.meta.description,"custom-icon":m.meta.icon,loading:e($)===m.id,icon:"mdi-console",onClick:P=>U(m.id)},null,8,["disabled","title","subtitle","custom-icon","loading","onClick"]))),128)),t(X,{class:"mt-2 mb-2"}),t(oe,{class:"text-overline"},{default:a(()=>C[2]||(C[2]=[D("Sessions")])),_:1,__:[2]}),M("div",ft,[(u(!0),B(j,null,_(e(w),m=>(u(),S(e(z),{key:m.id,title:m.meta.title,subtitle:c(m),"custom-icon":m.meta.icon,icon:"mdi-console",color:l(m),onClick:P=>e(r).openTerminalSession(m)},null,8,["title","subtitle","custom-icon","color","onClick"]))),128))]),e(w).length===0?(u(),S(oe,{key:0,class:"text-disabled"},{default:a(()=>C[3]||(C[3]=[D(" No sessions found ")])),_:1,__:[3]})):x("",!0)]),_:1})]),_:1},8,["modelValue"])]),_:1}))}}),gt=fe(yt,[["__scopeId","data-v-04b76a7d"]]),bt=R({__name:"InstanceContextMenu",props:{instance:{},component:{},state:{},stores:{},operation:{},locked:{type:Boolean},editable:{type:Boolean}},setup(o,{expose:r}){const{projectStore:b,stateStore:s,operationsStore:g}=o.stores,d=ye(),{selection:w}=ge(),f=V(!1),p=V(!1),n=V("update"),c=V([]),l=V(!1),$=T(()=>w.selectedInstances.length>1&&w.selectedInstances.some(v=>v.id===o.instance.id)?w.selectedInstances:[o.instance]),U=T(()=>$.value.length>1),h=(i,v)=>{const I=Te(i?.lastOperationState?.status);switch(v){case"update":return!I;case"refresh":return se(i)&&!I;case"preview":return!I;case"recreate":case"destroy":return se(i)&&!I;default:return!1}},C=i=>$.value.some(v=>{const I=s.instanceStates.get(v.id);return h(I,i)}),m=i=>$.value.every(v=>{const I=s.instanceStates.get(v.id);return h(I,i)}),P=T(()=>$.value.some(i=>{const v=s.instanceStates.get(i.id);return se(v)})),L=i=>{const v=$.value.length;return v===1?i==="update"?P.value?"Update":"Create":i.charAt(0).toUpperCase()+i.slice(1):i==="update"?`${P.value?"Update":"Create"} selected (${v})`:`${i.charAt(0).toUpperCase()+i.slice(1)} selected (${v})`},H=i=>{if(U.value)return"mdi-format-list-bulleted";switch(i){case"update":return P.value?"mdi-play":"mdi-rocket-launch";case"refresh":return"mdi-reload";case"preview":return"mdi-eye";case"recreate":return"mdi-restart";case"destroy":return"mdi-stop";default:return"mdi-play"}},k=i=>{n.value=i,c.value=$.value,p.value=!0,f.value=!1},y=te("contextMenu"),A=async i=>{y.value&&await y.value.showContextMenu(i)},ne=async()=>{if($.value.length===1){const i=await g.launchInstanceOperation("preview",o.instance);f.value=!1,await d.openLogsPanel(b.projectId,i.id,o.instance.id)}else k("preview")};return r({showContextMenu:A}),(i,v)=>(u(),B(j,null,[t(e(Ce),{ref_key:"contextMenu",ref:y,visible:e(f),"onUpdate:visible":v[7]||(v[7]=I=>W(f)?f.value=I:null),title:"Instance",subtitle:i.instance.id,"is-deletable":I=>i.stores.stateStore.isNodeDeletable(I)},{default:a(()=>[C("update")?(u(),S(e(z),{key:0,title:L("update"),icon:H("update"),color:"primary",disabled:i.locked||!m("update"),onClick:v[0]||(v[0]=I=>k("update"))},null,8,["title","icon","disabled"])):x("",!0),C("refresh")?(u(),S(e(z),{key:1,title:L("refresh"),icon:H("refresh"),color:"primary",disabled:i.locked||!m("refresh"),onClick:v[1]||(v[1]=I=>k("refresh"))},null,8,["title","icon","disabled"])):x("",!0),C("preview")?(u(),S(e(z),{key:2,title:L("preview"),icon:H("preview"),color:"secondary",disabled:i.locked||!m("preview"),onClick:ne},null,8,["title","icon","disabled"])):x("",!0),i.state?.lastOperationState?(u(),B(j,{key:3},[t(X),t(e(z),{title:"Open Logs",icon:"mdi-text",color:"primary",onClick:v[2]||(v[2]=I=>e(s).openInstanceLogs(i.instance))})],64)):x("",!0),t(X),t(e(z),{title:"View in Settings",icon:"mdi-cog",color:"primary",onClick:v[3]||(v[3]=()=>{const I=e(s).getInstanceState(i.instance.id);I&&("navigateTo"in i?i.navigateTo:e($e))({name:"settings.instance-details",params:{projectId:e(b).projectId,stateId:I.id}}),f.value=!1})}),i.state?.terminalIds?.length?(u(),B(j,{key:4},[t(X),t(gt,{"instance-id":i.instance.id,"terminal-ids":i.state.terminalIds},null,8,["instance-id","terminal-ids"])],64)):x("",!0),e(P)?(u(),B(j,{key:5},[t(X),C("recreate")?(u(),S(e(z),{key:0,title:L("recreate"),icon:H("recreate"),color:"warning",disabled:i.locked||!m("recreate"),onClick:v[4]||(v[4]=I=>k("recreate"))},null,8,["title","icon","disabled"])):x("",!0),C("destroy")?(u(),S(e(z),{key:1,title:L("destroy"),icon:H("destroy"),color:"error",disabled:i.locked||!m("destroy"),onClick:v[5]||(v[5]=I=>k("destroy"))},null,8,["title","icon","disabled"])):x("",!0),e(U)?x("",!0):(u(),S(e(z),{key:2,title:"Forget State",icon:"mdi-delete-forever",color:"error",disabled:i.locked,onClick:v[6]||(v[6]=I=>l.value=!0)},null,8,["disabled"]))],64)):x("",!0)]),_:1},8,["visible","subtitle","is-deletable"]),t(mt,{visible:e(p),"onUpdate:visible":v[8]||(v[8]=I=>W(p)?p.value=I:null),operation:e(n),instances:e(c),component:i.component},null,8,["visible","operation","instances","component"]),t(vt,{visible:e(l),"onUpdate:visible":v[9]||(v[9]=I=>W(l)?l.value=I:null),instance:i.instance,component:i.component},null,8,["visible","instance","component"])],64))}}),Ot=R({__name:"InstanceNodeWrapper",props:{id:{},type:{},selected:{type:Boolean},connectable:{type:[Boolean,Number,String,Function]},position:{},dimensions:{},label:{},isValidTargetPos:{type:Function},isValidSourcePos:{type:Function},parent:{},parentNodeId:{},dragging:{type:Boolean},resizing:{type:Boolean},zIndex:{},targetPosition:{},sourcePosition:{},dragHandle:{},data:{},events:{}},setup(o){const r=q(),b=ye(),{projectStore:s,stateStore:g,instancesStore:d,libraryStore:w,operationsStore:f,validationStore:p}=r,n=T(()=>o.data.instance),c=T(()=>w.library.components[n.value.type]),l=T(()=>g.instanceStates.get(n.value.id)),$=T(()=>l.value&&g.instanceLocks.get(l.value.id)),U=T(()=>f.getLastInstanceOperation(n.value.id)),h=V(!1),C=V(!1),m=V(),P=V([]),L=V(!1),H=V(!1),k=V({}),y=async()=>{h.value=!0;try{if(!l.value?.pageIds)return;const N=l.value.pageIds;if(!N.length)return;const O=await g.getPage(N[0]);if(!O)return;P.value=O.content,m.value=O.meta,C.value=!0}finally{h.value=!1}},A=V(!1),ne=async()=>{A.value=!0;try{if(!l.value?.terminalIds||l.value.terminalIds.length===0)return;await d.openTerminal(l.value.terminalIds[0])}finally{A.value=!1}},i=async()=>{H.value=!0;try{if(!l.value)return;const N=await r.stateStore.getInstanceSecrets(l.value.id);k.value={...N},L.value=!0}finally{H.value=!1}},v=te("contextMenu"),I=Oe();return(N,O)=>(u(),S(qe,{"editing-secrets":e(L),"onUpdate:editingSecrets":O[2]||(O[2]=F=>W(L)?L.value=F:null),"loading-secrets":e(H),"initial-secrets":e(k),"loading-page":e(h),instance:N.data.instance,component:e(c),entities:e(w).library.entities,"input-resolver-outputs":e(d).inputResolverOutputs,"input-resolver-dependent-map":e(d).inputResolverDependentMap,"is-valid-connection":F=>("validateConnection"in N?N.validateConnection:e(xe))(e(I),e(w).library,F),"instance-lock":e($),state:e(l),editable:N.data.editable,stores:("markRaw"in N?N.markRaw:e(ze))(e(r)),"workspace-store":e(b),"all-instances":e(d).instances,"onSave:args":O[3]||(O[3]=(F,ae,Ve)=>e(d).updateInstance(F,ae,Ve)),"onSave:secrets":O[4]||(O[4]=(F,ae)=>e(g).updateInstanceSecrets(F,ae)),"onOpen:secrets":i,"onOpen:terminal":ne,"onOperation:launch":O[5]||(O[5]=F=>e(f).launchInstanceOperation(F,N.data.instance)),"onOperation:cancel":O[6]||(O[6]=F=>e(f).cancelInstanceOperation(e(l).lastOperationState.operationId,N.data.instance.id)),onContextmenu:O[7]||(O[7]=F=>e(v)?.showContextMenu(F)),"onOpen:composite":O[8]||(O[8]=F=>e(b).openCompositeInstancePanel(e(s).projectId,e(l).id)),"onOpen:page":y},{status:a(()=>[t(e(Ye),{state:e(l),operation:e(U),"expected-input-hash":e(g).inputHashOutputs.get(e(n).id)?.inputHash,"validation-output":e(p).validationOutputs.get(e(n).id)},null,8,["state","operation","expected-input-hash","validation-output"])]),default:a(()=>[t(e(bt),{ref_key:"contextMenu",ref:v,stores:e(r),instance:e(n),component:e(c),state:e(l),editable:N.data.editable,locked:!!e($)},null,8,["stores","instance","component","state","editable","locked"]),e(m)?(u(),S(e(Qe),{key:0,visible:e(C),"onUpdate:visible":O[0]||(O[0]=F=>W(C)?C.value=F:null),meta:e(m),content:e(P),onClose:O[1]||(O[1]=F=>C.value=!1)},null,8,["visible","meta","content"])):x("",!0)]),_:1},8,["editing-secrets","loading-secrets","initial-secrets","loading-page","instance","component","entities","input-resolver-outputs","input-resolver-dependent-map","is-valid-connection","instance-lock","state","editable","stores","workspace-store","all-instances"]))}}),Ce=R({__name:"NodeContextMenu",props:G({title:{},subtitle:{},isDeletable:{type:Function}},{visible:{type:Boolean,default:!1},visibleModifiers:{}}),emits:["update:visible"],setup(o,{expose:r}){const{selection:b,vueFlowStore:s,deleteNodes:g}=ge(),d=Y(o,"visible"),w=V(0),f=V(0),p=De(),n=te("contextMenu"),{isOutside:c}=Pe(n),l=async m=>{m.preventDefault(),d.value=!1,w.value=m.clientX,f.value=m.clientY,await We(),d.value=!0},$=()=>{c.value&&(d.value=!1)};je(()=>{window.addEventListener("mousedown",$)});const{off:U}=s.onViewportChange(()=>{d.value=!1});He(()=>{window.removeEventListener("mousedown",$),U(),d.value=!1}),r({showContextMenu:l});const h=T(()=>o.isDeletable(p.node)?b.selectedNodeIds.has(p.id)?Array.from(b.selectedNodes).filter(o.isDeletable):[p.node]:[]),C=T(()=>h.value.length===1?"Delete":`Delete selected (${h.value.length})`);return(m,P)=>(u(),S(Ie,{modelValue:d.value,"onUpdate:modelValue":P[1]||(P[1]=L=>d.value=L),target:[e(w),e(f)],location:"end","close-on-content-click":!1},{default:a(()=>[t(Se,{ref_key:"contextMenu",ref:n,density:"compact",variant:"text",style:{"padding-bottom":"0"}},{default:a(()=>[t(be,{class:"mb-2"},{default:a(()=>[t(he,null,{default:a(()=>[D(E(m.title),1)]),_:1}),t(we,{class:"d-flex align-center",style:{"font-family":"monospace"}},{default:a(()=>[D(E(m.subtitle)+" ",1),t(Ge,{content:m.subtitle},null,8,["content"])]),_:1})]),_:1}),m.$slots.default?(u(),B(j,{key:0},[t(X),le(m.$slots,"default")],64)):x("",!0),e(h).length>0?(u(),B(j,{key:1},[t(X),t(z,{title:e(C),icon:"mdi-delete",color:"error",onClick:P[0]||(P[0]=L=>e(g)(e(h)))},null,8,["title"])],64)):x("",!0)]),_:3},512)]),_:3},8,["modelValue","target"]))}});export{$t as _,Tt as a,Ot as b,bt as c};
@@ -1,2 +1,2 @@
1
- import{aq as d,ar as m,as as u,_ as f}from"./20zRBBOT.js";import{F as w,aX as p,J as v,O as i,w as x,j as A,L as E,W as b}from"./koatKMQr.js";const g=w({__name:"GenericTerminal",props:{columns:{},rows:{},content:{}},emits:["load"],setup(n,{emit:l}){const a=p("terminalEl"),s=!n.columns||!n.rows,c=l;let e=null;return v(()=>{e=new d.Terminal({fontFamily:"monospace"});const t=new m.FitAddon,r=new u.WebglAddon;if(s?e.loadAddon(t):e.resize(n.columns,n.rows),e.loadAddon(r),e.open(a.value),s){t.fit();const o=new ResizeObserver(()=>{t.fit()});o.observe(a.value),i(()=>{o.disconnect()})}c("load",e),n.content!==void 0&&x(A(()=>n.content),o=>{e&&(e.clear(),e.write(o.replace(/\n/g,`\r
1
+ import{aq as d,ar as m,as as u,_ as f}from"./DlgqOs51.js";import{F as w,aX as p,J as v,O as i,w as x,j as A,L as E,W as b}from"./B9WOzG0F.js";const g=w({__name:"GenericTerminal",props:{columns:{},rows:{},content:{}},emits:["load"],setup(n,{emit:l}){const a=p("terminalEl"),s=!n.columns||!n.rows,c=l;let e=null;return v(()=>{e=new d.Terminal({fontFamily:"monospace"});const t=new m.FitAddon,r=new u.WebglAddon;if(s?e.loadAddon(t):e.resize(n.columns,n.rows),e.loadAddon(r),e.open(a.value),s){t.fit();const o=new ResizeObserver(()=>{t.fit()});o.observe(a.value),i(()=>{o.disconnect()})}c("load",e),n.content!==void 0&&x(A(()=>n.content),o=>{e&&(e.clear(),e.write(o.replace(/\n/g,`\r
2
2
  `)))},{immediate:!0}),i(()=>{e?.dispose()})}),(t,r)=>(b(),E("div",{ref_key:"terminalEl",ref:a,class:"terminal-container"},null,512))}}),T=f(g,[["__scopeId","data-v-73718d9d"]]);export{T as G};
@@ -1 +1 @@
1
- import"./BdJnfSuv.js";import{_ as c}from"./20zRBBOT.js";import{L as r,W as a,ab as _,F as u,ae as m,Z as f,aE as p,a1 as s,X as l,aF as v,a2 as x,a3 as n,ay as y,$ as o,af as C,a9 as h}from"./koatKMQr.js";const k={},V={class:"flex-detail-container"};function $(d,e){return a(),r("div",V,[_(d.$slots,"default",{},void 0,!0)])}const F=c(k,[["render",$],["__scopeId","data-v-10730937"]]),b={class:"details-grid"},g={class:"text-caption text-medium-emphasis mb-1"},D=u({__name:"DetailInfoCard",props:{title:{},items:{}},setup(d){return m(),(e,i)=>(a(),f(p,{class:"detail-info-card",color:"#2d2d2d","bg-color":"#1e1e1e",elevation:0},{default:s(()=>[l(v,null,{default:s(()=>[x(n(e.title),1)]),_:1}),l(y,null,{default:s(()=>[o("div",b,[(a(!0),r(h,null,C(e.items,t=>(a(),r("div",{key:t.key,class:"detail-item"},[o("div",g,n(t.label),1),_(e.$slots,`item.${t.key}`,{},()=>[i[0]||(i[0]=o("div",{class:"text-body-2 text-medium-emphasis"},"N/A",-1))],!0)]))),128))])]),_:3})]),_:3}))}}),L=c(D,[["__scopeId","data-v-46e6552e"]]);export{F as D,L as a};
1
+ import"./DqHZqf4r.js";import{_ as c}from"./DlgqOs51.js";import{L as r,W as a,ab as _,F as u,ae as m,Z as f,aE as p,a1 as s,X as l,aF as v,a2 as x,a3 as n,ay as y,$ as o,af as C,a9 as h}from"./B9WOzG0F.js";const k={},V={class:"flex-detail-container"};function $(d,e){return a(),r("div",V,[_(d.$slots,"default",{},void 0,!0)])}const F=c(k,[["render",$],["__scopeId","data-v-10730937"]]),b={class:"details-grid"},g={class:"text-caption text-medium-emphasis mb-1"},D=u({__name:"DetailInfoCard",props:{title:{},items:{}},setup(d){return m(),(e,i)=>(a(),f(p,{class:"detail-info-card",color:"#2d2d2d","bg-color":"#1e1e1e",elevation:0},{default:s(()=>[l(v,null,{default:s(()=>[x(n(e.title),1)]),_:1}),l(y,null,{default:s(()=>[o("div",b,[(a(!0),r(h,null,C(e.items,t=>(a(),r("div",{key:t.key,class:"detail-item"},[o("div",g,n(t.label),1),_(e.$slots,`item.${t.key}`,{},()=>[i[0]||(i[0]=o("div",{class:"text-body-2 text-medium-emphasis"},"N/A",-1))],!0)]))),128))])]),_:3})]),_:3}))}}),L=c(D,[["__scopeId","data-v-46e6552e"]]);export{F as D,L as a};
@@ -1 +1 @@
1
- import{q as p,t as k,s as I,n as w}from"./20zRBBOT.js";import{S as C,_ as c,I as f}from"./BdJnfSuv.js";import{D as V,a as A}from"./XVH4GPVs.js";import{w as D}from"./gt3opOQe.js";import{_ as S}from"./D2AD0cA7.js";import{E as K}from"./CpdUDRp-.js";import{F as g,Z as v,W as _,G as e,aL as d,a1 as s,X as r,ai as j,a2 as y,aP as h,a3 as z}from"./koatKMQr.js";import"./SQImb3Xm.js";import"./0A0GXgOL.js";import"./BhJD15Lv.js";const E=g({__name:"ApiKeyRefChip",props:{item:{}},setup(m){const{projectStore:t}=p();return(i,u)=>(_(),v(e(K),{id:i.item.apiKeyId,meta:i.item.apiKeyMeta,"fallback-icon":"mdi-key","page-name":"settings.api-key-details","page-params":{projectId:e(t).projectId,apiKeyId:i.item.apiKeyId}},null,8,["id","meta","page-params"]))}}),F=g({__name:"[versionId]",props:{params:{}},async setup(m){let t,i;const{settingsStore:u}=p(),{projectStore:o}=p();o.initializing?([t,i]=d(()=>I(()=>o.initialized).toBe(!0)),await t,i(),o.addLibraryRoot()):([t,i]=d(()=>o.initialize1()),await t,i(),[t,i]=d(()=>o.initialize2()),await t,i());const a=([t,i]=d(()=>u.getWorkerVersionDetails(m.params.versionId)),t=await t,i(),t);if(!a)throw k({statusCode:404,statusMessage:"Worker version not found"});const b=[{key:"versionId",label:"Version ID"},{key:"status",label:"Status"},{key:"digest",label:"Digest"},{key:"enabled",label:"Enabled"},{key:"apiKey",label:"API Key"},{key:"createdAt",label:"Created"},{key:"updatedAt",label:"Updated"}];return(l,n)=>(_(),v(e(V),null,{default:s(()=>[r(C,{meta:e(a).meta,"fallback-icon":"mdi-source-branch",title:e(a).meta.title||`Version ${e(a).id.slice(0,8)}`,description:e(a).meta.description},{actions:s(()=>[r(j,{variant:"outlined","prepend-icon":"mdi-console",onClick:n[0]||(n[0]=P=>("navigateTo"in l?l.navigateTo:e(w))({name:"worker-version-logs",params:{projectId:l.params.projectId,workerVersionId:l.params.versionId}}))},{default:s(()=>n[1]||(n[1]=[y(" View Logs ")])),_:1,__:[1]})]),_:1},8,["meta","title","description"]),r(e(A),{title:"Version Details",items:b},{"item.versionId":s(()=>[r(e(f),{value:e(a).id},null,8,["value"])]),"item.status":s(()=>[r(e(S),{status:e(a).status,"status-map":e(D)},null,8,["status","status-map"])]),"item.digest":s(()=>[r(e(f),{value:e(a).digest,"copy-full-text":"Copy full digest"},null,8,["value"])]),"item.enabled":s(()=>[r(h,{size:"small",color:e(a).enabled?"success":"secondary",class:"text-uppercase"},{default:s(()=>[y(z(e(a).enabled?"Enabled":"Disabled"),1)]),_:1},8,["color"])]),"item.apiKey":s(()=>[r(e(E),{item:e(a)},null,8,["item"])]),"item.createdAt":s(()=>[r(e(c),{value:e(a).createdAt},null,8,["value"])]),"item.updatedAt":s(()=>[r(e(c),{value:e(a).updatedAt},null,8,["value"])]),_:1})]),_:1}))}});export{F as default};
1
+ import{q as p,t as k,s as I,n as w}from"./DlgqOs51.js";import{S as C,_ as c,I as f}from"./DqHZqf4r.js";import{D as V,a as A}from"./DdEkqLVb.js";import{w as D}from"./gt3opOQe.js";import{_ as S}from"./PcM58xPJ.js";import{E as K}from"./K7mdFSQD.js";import{F as g,Z as v,W as _,G as e,aL as d,a1 as s,X as r,ai as j,a2 as y,aP as h,a3 as z}from"./B9WOzG0F.js";import"./SQImb3Xm.js";import"./0A0GXgOL.js";import"./CmuRgu4O.js";const E=g({__name:"ApiKeyRefChip",props:{item:{}},setup(m){const{projectStore:t}=p();return(i,u)=>(_(),v(e(K),{id:i.item.apiKeyId,meta:i.item.apiKeyMeta,"fallback-icon":"mdi-key","page-name":"settings.api-key-details","page-params":{projectId:e(t).projectId,apiKeyId:i.item.apiKeyId}},null,8,["id","meta","page-params"]))}}),F=g({__name:"[versionId]",props:{params:{}},async setup(m){let t,i;const{settingsStore:u}=p(),{projectStore:o}=p();o.initializing?([t,i]=d(()=>I(()=>o.initialized).toBe(!0)),await t,i(),o.addLibraryRoot()):([t,i]=d(()=>o.initialize1()),await t,i(),[t,i]=d(()=>o.initialize2()),await t,i());const a=([t,i]=d(()=>u.getWorkerVersionDetails(m.params.versionId)),t=await t,i(),t);if(!a)throw k({statusCode:404,statusMessage:"Worker version not found"});const b=[{key:"versionId",label:"Version ID"},{key:"status",label:"Status"},{key:"digest",label:"Digest"},{key:"enabled",label:"Enabled"},{key:"apiKey",label:"API Key"},{key:"createdAt",label:"Created"},{key:"updatedAt",label:"Updated"}];return(l,n)=>(_(),v(e(V),null,{default:s(()=>[r(C,{meta:e(a).meta,"fallback-icon":"mdi-source-branch",title:e(a).meta.title||`Version ${e(a).id.slice(0,8)}`,description:e(a).meta.description},{actions:s(()=>[r(j,{variant:"outlined","prepend-icon":"mdi-console",onClick:n[0]||(n[0]=P=>("navigateTo"in l?l.navigateTo:e(w))({name:"worker-version-logs",params:{projectId:l.params.projectId,workerVersionId:l.params.versionId}}))},{default:s(()=>n[1]||(n[1]=[y(" View Logs ")])),_:1,__:[1]})]),_:1},8,["meta","title","description"]),r(e(A),{title:"Version Details",items:b},{"item.versionId":s(()=>[r(e(f),{value:e(a).id},null,8,["value"])]),"item.status":s(()=>[r(e(S),{status:e(a).status,"status-map":e(D)},null,8,["status","status-map"])]),"item.digest":s(()=>[r(e(f),{value:e(a).digest,"copy-full-text":"Copy full digest"},null,8,["value"])]),"item.enabled":s(()=>[r(h,{size:"small",color:e(a).enabled?"success":"secondary",class:"text-uppercase"},{default:s(()=>[y(z(e(a).enabled?"Enabled":"Disabled"),1)]),_:1},8,["color"])]),"item.apiKey":s(()=>[r(e(E),{item:e(a)},null,8,["item"])]),"item.createdAt":s(()=>[r(e(c),{value:e(a).createdAt},null,8,["value"])]),"item.updatedAt":s(()=>[r(e(c),{value:e(a).updatedAt},null,8,["value"])]),_:1})]),_:1}))}});export{F as default};