@highstate/designer 0.27.0 → 0.29.0

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 (181) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{77UvFSdd.js → -NXdyIEV.js} +1 -1
  3. package/.output/public/_nuxt/2jnOiqNC.js +1 -0
  4. package/.output/public/_nuxt/352AptFn.js +1 -0
  5. package/.output/public/_nuxt/3RbcgHkU.js +14 -0
  6. package/.output/public/_nuxt/5-u3YHQd.js +1 -0
  7. package/.output/public/_nuxt/{Bn5R9WlL.js → A3pA-dEU.js} +1 -1
  8. package/.output/public/_nuxt/{DvCXikgN.js → B2Q2xBzH.js} +1 -1
  9. package/.output/public/_nuxt/B3xH1Y0W.js +1 -0
  10. package/.output/public/_nuxt/{Dfijnsli.js → B8N1sP4y.js} +1 -1
  11. package/.output/public/_nuxt/{CUu12Pr7.js → BExqDRwH.js} +1 -1
  12. package/.output/public/_nuxt/BKZ346WY.js +2 -0
  13. package/.output/public/_nuxt/{DRTFVhVr.js → BSawHEJh.js} +1 -1
  14. package/.output/public/_nuxt/BWDN-9Hx.js +1 -0
  15. package/.output/public/_nuxt/BYaYzU2p.js +1 -0
  16. package/.output/public/_nuxt/{-QAUKRUv.js → BbYXjaP8.js} +2 -2
  17. package/.output/public/_nuxt/Bc-UhGEo.js +1 -0
  18. package/.output/public/_nuxt/BqAcL3eq.js +1 -0
  19. package/.output/public/_nuxt/Bsca_muP.js +2 -0
  20. package/.output/public/_nuxt/BuIQ2wGk.js +1 -0
  21. package/.output/public/_nuxt/BwBpcI2q.js +1 -0
  22. package/.output/public/_nuxt/BxFuzIIZ.js +1 -0
  23. package/.output/public/_nuxt/BzOk-KTc.js +1 -0
  24. package/.output/public/_nuxt/C-mYaH7u.js +1 -0
  25. package/.output/public/_nuxt/C2i4Pe8_.js +1 -0
  26. package/.output/public/_nuxt/{CWvkRFU9.js → C4hwWhkw.js} +101 -101
  27. package/.output/public/_nuxt/{C5DRPdxC.js → C7Ij7g1p.js} +1 -1
  28. package/.output/public/_nuxt/{CkDbYrMj.js → C7lm33JZ.js} +1 -1
  29. package/.output/public/_nuxt/{DWjqEyG2.js → CAGxZJ_q.js} +1 -1
  30. package/.output/public/_nuxt/CC9Mjlxx.js +1 -0
  31. package/.output/public/_nuxt/CFc9rdAS.js +2 -0
  32. package/.output/public/_nuxt/CJVpO6nQ.js +1 -0
  33. package/.output/public/_nuxt/{CWA5Cfde.js → CNrxBMAX.js} +1 -1
  34. package/.output/public/_nuxt/CPTDoFCr.js +1 -0
  35. package/.output/public/_nuxt/CSWVWBW7.js +1 -0
  36. package/.output/public/_nuxt/{Cds-RgoS.js → CVfWNyhe.js} +1 -1
  37. package/.output/public/_nuxt/CW9RwN2l.js +1 -0
  38. package/.output/public/_nuxt/CYKlIh8L.js +1 -0
  39. package/.output/public/_nuxt/{m4Sxwg8n.js → CZyQa1Zc.js} +1 -1
  40. package/.output/public/_nuxt/{DPQHj1GW.js → CbVegJaT.js} +1 -1
  41. package/.output/public/_nuxt/{BxGSDLX0.js → Cofyfw8g.js} +1 -1
  42. package/.output/public/_nuxt/Cq4nuP-7.js +1 -0
  43. package/.output/public/_nuxt/CriYd4Xu.js +1 -0
  44. package/.output/public/_nuxt/Ct3ssWsd.js +1 -0
  45. package/.output/public/_nuxt/D-LsJ2ZE.js +1 -0
  46. package/.output/public/_nuxt/D1nRrnR_.js +1 -0
  47. package/.output/public/_nuxt/{MtN3owE1.js → D3MpZ_Sw.js} +1 -1
  48. package/.output/public/_nuxt/{C5QFcB9K.js → D4_5UqG-.js} +3 -3
  49. package/.output/public/_nuxt/D5xxahUY.js +1 -0
  50. package/.output/public/_nuxt/D6EnKPw6.js +1 -0
  51. package/.output/public/_nuxt/D7ydzmTA.js +1 -0
  52. package/.output/public/_nuxt/{BgvYz3Nr.js → D9y446qR.js} +1 -1
  53. package/.output/public/_nuxt/{DVKmRHSk.js → DEdaEI2J.js} +1 -1
  54. package/.output/public/_nuxt/DGnuSaKc.js +1 -0
  55. package/.output/public/_nuxt/DH_B79BE.js +1 -0
  56. package/.output/public/_nuxt/DJwAKlaO.js +1 -0
  57. package/.output/public/_nuxt/DKbLex6i.js +1 -0
  58. package/.output/public/_nuxt/DOo85agn.js +1 -0
  59. package/.output/public/_nuxt/DS4ev0Th.js +1 -0
  60. package/.output/public/_nuxt/DSTHpVUV.js +1 -0
  61. package/.output/public/_nuxt/DT8lV676.js +1 -0
  62. package/.output/public/_nuxt/DXVNaud5.js +1 -0
  63. package/.output/public/_nuxt/DXfLpys7.js +1 -0
  64. package/.output/public/_nuxt/DZH0GUvg.js +1 -0
  65. package/.output/public/_nuxt/DZXawbDK.js +1 -0
  66. package/.output/public/_nuxt/DcDfdgW1.js +1 -0
  67. package/.output/public/_nuxt/Deh8i6lm.js +1 -0
  68. package/.output/public/_nuxt/Desw6Usx.js +1 -0
  69. package/.output/public/_nuxt/DgMGRJzb.js +1 -0
  70. package/.output/public/_nuxt/DhjMLkwg.js +1 -0
  71. package/.output/public/_nuxt/{CuEjdyyj.js → DkZkynzL.js} +1 -1
  72. package/.output/public/_nuxt/{B4f2rRcR.js → DmGf47KM.js} +1 -1
  73. package/.output/public/_nuxt/DmVwOSq5.js +1 -0
  74. package/.output/public/_nuxt/Doxnvpyq.js +1 -0
  75. package/.output/public/_nuxt/{CChinG0a.js → Dpa6A3ZD.js} +1 -1
  76. package/.output/public/_nuxt/DqaT_RDK.js +1 -0
  77. package/.output/public/_nuxt/{DR_djprF.js → Dr_haoD_.js} +1 -1
  78. package/.output/public/_nuxt/DsRcdFOB.js +1 -0
  79. package/.output/public/_nuxt/DsxZEVxb.js +12 -0
  80. package/.output/public/_nuxt/DwfxqiyB.js +1 -0
  81. package/.output/public/_nuxt/DyDuNLRY.js +6 -0
  82. package/.output/public/_nuxt/{BxvmPvww.js → DyhJj7Ha.js} +1 -1
  83. package/.output/public/_nuxt/DysjCpM9.js +1 -0
  84. package/.output/public/_nuxt/EKqCuazP.js +1 -0
  85. package/.output/public/_nuxt/Eovi5v4f.js +2 -0
  86. package/.output/public/_nuxt/JoXnlJ5o.js +1 -0
  87. package/.output/public/_nuxt/LC_ejPos.js +1 -0
  88. package/.output/public/_nuxt/Lo988ya0.js +1 -0
  89. package/.output/public/_nuxt/{B8uKU-iG.js → NdFoamgn.js} +1 -1
  90. package/.output/public/_nuxt/O5iT7Vr2.js +1 -0
  91. package/.output/public/_nuxt/{sDoJGqlK.js → SCrI01L1.js} +1 -1
  92. package/.output/public/_nuxt/SecretValueField.6tAshI0S.css +1 -0
  93. package/.output/public/_nuxt/{fbfpKHgl.js → VQuDbHHR.js} +1 -1
  94. package/.output/public/_nuxt/_c6GHTN4.js +1 -0
  95. package/.output/public/_nuxt/_pageId_.BYW_COCf.css +1 -0
  96. package/.output/public/_nuxt/_snapshotId_.CfPvWEua.css +1 -0
  97. package/.output/public/_nuxt/{UXILZBAC.js → aPAh1oAW.js} +1 -1
  98. package/.output/public/_nuxt/builds/latest.json +1 -1
  99. package/.output/public/_nuxt/builds/meta/896f98e5-6836-4bb1-bc34-632dabf08388.json +1 -0
  100. package/.output/public/_nuxt/{components.a-P9dVi2.css → components.BocgLhsV.css} +1 -1
  101. package/.output/public/_nuxt/{C-0mRkgR.js → dYgxrjeZ.js} +1 -1
  102. package/.output/public/_nuxt/{entry.DRnr7AV7.css → entry.BEQZHAc0.css} +1 -1
  103. package/.output/public/_nuxt/error-404.q4vSXxyS.css +1 -0
  104. package/.output/public/_nuxt/error-500.pHxFrZvR.css +1 -0
  105. package/.output/public/_nuxt/graph-resolver-BYUQt1iM.js +180 -0
  106. package/.output/public/_nuxt/{DTYY2tCY.js → hvsd0Qgg.js} +1 -1
  107. package/.output/public/_nuxt/index.CWmuSE1_.css +1 -0
  108. package/.output/public/_nuxt/k0GHL-8U.js +1 -0
  109. package/.output/public/_nuxt/mxKUVBjZ.js +1 -0
  110. package/.output/public/_nuxt/{operations.D9z3Ystv.css → operations.7Wb0kQP2.css} +1 -1
  111. package/.output/public/_nuxt/{-WgkZJwX.js → p1qmzON1.js} +1 -1
  112. package/.output/public/_nuxt/{BqJDg8iS.js → rFQVM1t8.js} +1 -1
  113. package/.output/public/_nuxt/settings.iYnQn2sh.css +1 -0
  114. package/.output/public/_nuxt/{iJghVVcV.js → u9IB9fko.js} +1 -1
  115. package/.output/public/_nuxt/{CaZj7sno.js → uduRkYoI.js} +1 -1
  116. package/.output/public/_nuxt/{ChBheQRP.js → y7qbSnME.js} +1 -1
  117. package/.output/public/_nuxt/zPZwXEME.js +2 -0
  118. package/.output/public/_nuxt/zQpq8Nlt.js +1 -0
  119. package/.output/server/index.mjs +1891 -1553
  120. package/.output/server/index.mjs.map +1 -1
  121. package/.output/server/package.json +1 -1
  122. package/package.json +8 -4
  123. package/.output/public/_nuxt/0VxYR0Dz.js +0 -1
  124. package/.output/public/_nuxt/B8ylSe-r.js +0 -1
  125. package/.output/public/_nuxt/BI2f9uP-.js +0 -1
  126. package/.output/public/_nuxt/BLI48uDH.js +0 -1
  127. package/.output/public/_nuxt/BQAu9Fve.js +0 -1
  128. package/.output/public/_nuxt/BaXvK4sX.js +0 -1
  129. package/.output/public/_nuxt/BbWhHw7B.js +0 -1
  130. package/.output/public/_nuxt/BdOV6aLJ.js +0 -1
  131. package/.output/public/_nuxt/BgGQb96c.js +0 -2
  132. package/.output/public/_nuxt/Bh96JwGT.js +0 -1
  133. package/.output/public/_nuxt/Bpl7n9_r.js +0 -1
  134. package/.output/public/_nuxt/BqIbm1EF.js +0 -1
  135. package/.output/public/_nuxt/BrCpuEqM.js +0 -1
  136. package/.output/public/_nuxt/ByRPlNhf.js +0 -1
  137. package/.output/public/_nuxt/Bz5q1XLL.js +0 -14
  138. package/.output/public/_nuxt/BzbjXxJd.js +0 -6
  139. package/.output/public/_nuxt/C-IrfHdq.js +0 -1
  140. package/.output/public/_nuxt/C1JwrSe7.js +0 -2
  141. package/.output/public/_nuxt/C4dMoSm9.js +0 -1
  142. package/.output/public/_nuxt/CBiX8Qk6.js +0 -1
  143. package/.output/public/_nuxt/CC635Llr.js +0 -1
  144. package/.output/public/_nuxt/CGLWlIpJ.js +0 -1
  145. package/.output/public/_nuxt/CGaUcol_.js +0 -1
  146. package/.output/public/_nuxt/CKkVh4X6.js +0 -1
  147. package/.output/public/_nuxt/CY7tXH5c.js +0 -1
  148. package/.output/public/_nuxt/C_1RoKtr.js +0 -1
  149. package/.output/public/_nuxt/CbbOSnE0.js +0 -1
  150. package/.output/public/_nuxt/Cke7R5qg.js +0 -1
  151. package/.output/public/_nuxt/CkzH91yw.js +0 -1
  152. package/.output/public/_nuxt/Cv3A8XqH.js +0 -1
  153. package/.output/public/_nuxt/CzkxYs7G.js +0 -1
  154. package/.output/public/_nuxt/D-5fWV40.js +0 -1
  155. package/.output/public/_nuxt/D1xR8pBE.js +0 -1
  156. package/.output/public/_nuxt/DJ5xpYjG.js +0 -1
  157. package/.output/public/_nuxt/DQLKgX8r.js +0 -1
  158. package/.output/public/_nuxt/DR05KuQJ.js +0 -1
  159. package/.output/public/_nuxt/DRck-UV8.js +0 -2
  160. package/.output/public/_nuxt/DV7MSCWu.js +0 -1
  161. package/.output/public/_nuxt/Dc6WL_Gw.js +0 -2
  162. package/.output/public/_nuxt/DdJEKw37.js +0 -2
  163. package/.output/public/_nuxt/Dzc0ALmG.js +0 -1
  164. package/.output/public/_nuxt/FtIBRaSq.js +0 -1
  165. package/.output/public/_nuxt/SecretValueField.Dy80RlGP.css +0 -1
  166. package/.output/public/_nuxt/TXWXdcZY.js +0 -12
  167. package/.output/public/_nuxt/V4k_CDL-.js +0 -1
  168. package/.output/public/_nuxt/VRyQKyno.js +0 -1
  169. package/.output/public/_nuxt/XbaHEIpm.js +0 -1
  170. package/.output/public/_nuxt/_pageId_.Be9XJqQA.css +0 -1
  171. package/.output/public/_nuxt/_snapshotId_.ChuSNeNY.css +0 -1
  172. package/.output/public/_nuxt/as6CcDUM.js +0 -1
  173. package/.output/public/_nuxt/builds/meta/8e5022d6-1d1c-4861-b0b7-dc52b699526a.json +0 -1
  174. package/.output/public/_nuxt/error-404.DnBTUElh.css +0 -1
  175. package/.output/public/_nuxt/error-500.BNyYF0qG.css +0 -1
  176. package/.output/public/_nuxt/graph-resolver-BXlQLip4.js +0 -180
  177. package/.output/public/_nuxt/hunqYsQf.js +0 -1
  178. package/.output/public/_nuxt/index.CQwfsW5z.css +0 -1
  179. package/.output/public/_nuxt/mrNv5qht.js +0 -1
  180. package/.output/public/_nuxt/s8-NXH-d.js +0 -1
  181. package/.output/public/_nuxt/settings.BjxE_fKi.css +0 -1
@@ -0,0 +1 @@
1
+ import{C as J,O as De,bB as je,bC as Ae,_ as be,i as pe,aR as Ve,n as ze,aI as Ge,bi as ve,aW as Re,bD as Ee,b1 as qe}from"#entry";import{E as z,V as l,Y as $,ai as ce,_ as o,W as n,aj as fe,$ as j,a0 as q,D as e,al as We,a1 as V,j as S,a_ as me,J as B,aX as Te,a2 as O,a7 as Oe,aG as _,aa as A,ab as se,aY as ye,aO as ee,w as te,ah as we,aT as Pe,aU as Fe,aV as ue,ak as He,a as Y,aW as Ye,as as R,aI as he,aJ as Ie,aK as ke,at as re,Z as de,r as C,b4 as Se,am as xe,an as ge,bi as Je,ap as Me,m as Ke,M as Qe,a5 as Xe}from"./-NXdyIEV.js";import{H as Ze,I as _e}from"./3RbcgHkU.js";import{I as et}from"./Bsca_muP.js";import{_ as L,a as tt}from"./D3MpZ_Sw.js";import{C as nt}from"./A3pA-dEU.js";import{P as at}from"./DsxZEVxb.js";const $e=z({__name:"EditorLoader",props:{text:{},value:{}},setup(t){const{instancesStore:a}=J(),y=S(()=>t.value===-1?t.text:`${t.text} ${t.value}/${a.totalInstanceCount}...`);return(w,i)=>t.text?(l(),$(ce,{key:0,variant:"tonal"},{default:o(()=>[n(fe,{class:"text-overline"},{default:o(()=>[j(q(e(y)),1)]),_:1}),n(We,{indeterminate:t.value===-1,"model-value":t.value,max:e(a).totalInstanceCount,height:4,color:"primary",class:"w-full"},null,8,["indeterminate","model-value","max"])]),_:1})):V("",!0)}}),Rt=z({__name:"EditorLoaderPopup",setup(t){const{instancesStore:a,stateStore:y}=J(),w=S(()=>a.initializationPhase==="resolving"||y.initializationPhase==="calculating");return(i,v)=>e(w)?(l(),$(ce,{key:0,variant:"tonal"},{default:o(()=>[e(a).initializationPhase==="resolving"?(l(),$($e,{key:0,text:"Resolving instance inputs",value:e(a).resolvedInstanceCount},null,8,["value"])):V("",!0),e(y).initializationPhase==="calculating"?(l(),$($e,{key:1,text:"Detecting instance changes",value:e(y).calculatedInputHashCount},null,8,["value"])):V("",!0)]),_:1})):V("",!0)}}),Et=z({__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(t){const{stateStore:a}=J(),y=me("contextMenu");return(w,i)=>(l(),$(Ze,{hub:t.data.hub,onContextmenu:i[0]||(i[0]=v=>e(y)?.showContextMenu(v))},{default:o(()=>[n(e(Be),{ref_key:"contextMenu",ref:y,title:"Hub",subtitle:t.data.hub.id,"is-deletable":v=>e(a).isNodeDeletable(v)},null,8,["subtitle","is-deletable"])]),_:1},8,["hub"]))}}),st={key:0},ot={class:"d-flex flex-column"},it={key:0,class:"text-caption text-medium-emphasis"},lt={key:1,class:"text-body-2 text-medium-emphasis pa-4"},rt=z({__name:"OperationPlanTree",props:{phases:{}},setup(t){const{instancesStore:a,libraryStore:y}=J(),w=S(()=>{const p=[];for(const s of t.phases){const d={id:`phase-${s.type}`,title:`${s.type.charAt(0).toUpperCase()+s.type.slice(1)} Phase`,subtitle:`${s.instances.length} instance${s.instances.length===1?"":"s"}`,icon:r(s.type),iconColor:I(s.type),phaseType:s.type,children:[]},c=i(s.instances);d.children=c,p.push(d)}return p}),i=p=>{const s=new Map;for(const c of p)s.has(c.id)||s.set(c.id,{...c,children:[]});for(const c of p)c.parentId&&s.has(c.parentId)&&s.get(c.parentId).children.push(c);return p.filter(c=>!c.parentId||!s.has(c.parentId)).map(c=>v(c,s))},v=(p,s)=>{const d=a.instances.get(p.id),c=d?y.library.components[d.type]:null,h={id:p.id,title:c&&d?`${c.meta.title} "${d.name}"`:p.id,subtitle:p.message,icon:c?.meta.icon??"iconamoon:component",iconColor:c?.meta.iconColor,phaseType:"instance"},g=s.get(p.id);return g&&g.children.length>0&&(h.children=g.children.map(f=>v(f,s))),h},r=p=>{switch(p){case"preview":return"mdi-eye";case"destroy":return"mdi-delete";case"update":return"mdi-update";case"refresh":return"mdi-refresh";default:return"mdi-cog"}},I=p=>{switch(p){case"preview":return"secondary";case"destroy":return"error";case"update":return"primary";case"refresh":return"info";default:return"secondary"}};return(p,s)=>t.phases.length>0?(l(),B("div",st,[n(Te,{items:e(w),"item-title":"title","item-value":"id",density:"compact","open-all":"","indent-lines":"","bg-color":"#2d2d2d"},{prepend:o(({item:d})=>[n(e(De),{icon:d.icon,color:d.iconColor,width:"20",class:"mr-2"},null,8,["icon","color"])]),title:o(({item:d})=>[O("div",ot,[O("div",{class:Oe(["text-body-2",d.phaseType==="instance"?"font-weight-regular":"font-weight-medium"])},q(d.title),3),d.subtitle?(l(),B("div",it,q(d.subtitle),1)):V("",!0)])]),_:1},8,["items"])])):(l(),B("div",lt," No changes planned for this operation. "))}}),dt={key:0},ct={class:"text-caption"},ut=z({__name:"OperationOptions",props:ee({operation:{},compositeTargetsOnly:{type:Boolean,default:!1}},{options:{default:{}},optionsModifiers:{}}),emits:["update:options"],setup(t){const a=_(t,"options"),y=S(()=>Ue(t.operation,{compositeTargetsOnly:t.compositeTargetsOnly})),w=(i,v)=>{const r=v??!1;i==="forceUpdateDependencies"&&r&&(a.value.ignoreChangedDependencies=!1,a.value.ignoreDependencies=!1),i==="ignoreChangedDependencies"&&r&&(a.value.forceUpdateDependencies=!1,a.value.ignoreDependencies=!1),i==="ignoreDependencies"&&r&&(a.value.forceUpdateDependencies=!1,a.value.ignoreChangedDependencies=!1),i==="onlyDestroyGhosts"&&r&&(a.value.firstDestroyGhosts=!1,a.value.ignoreGhosts=!1),i==="firstDestroyGhosts"&&r&&(a.value.onlyDestroyGhosts=!1,a.value.ignoreGhosts=!1),i==="ignoreGhosts"&&r&&(a.value.onlyDestroyGhosts=!1,a.value.firstDestroyGhosts=!1),a.value[i]=r};return(i,v)=>a.value?(l(),B("div",dt,[(l(!0),B(A,null,se(e(y),r=>(l(),B(A,{key:r.key},[n(ye,{"model-value":a.value[r.key],"onUpdate:modelValue":I=>w(r.key,I),class:Oe(r===e(y)[0]?"mt-2":""),label:r.label,density:"compact","hide-details":""},null,8,["model-value","onUpdate:modelValue","class","label"]),O("div",ct,q(r.description),1)],64))),128))])):V("",!0)}}),pt={class:"metadata-section"},ft={class:"options-header"},mt={class:"text-body-2 text-medium-emphasis mb-4"},vt={class:"options-scrollable"},gt={class:"plan-header"},yt={class:"plan-scrollable"},ht={key:0,class:"plan-warnings"},bt=z({__name:"InstanceOperationDialog",props:ee({instances:{},component:{},operation:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:["update:visible"],setup(t){const a=_(t,"visible"),{operationsStore:y,projectStore:w}=J(),i=S(()=>t.instances.length>1),v=S(()=>t.instances[0]),r=C({forceUpdateDependencies:!1,ignoreDependencies:!1,ignoreChangedDependencies:!1,forceUpdateChildren:!1,onlyDestroyGhosts:!1,firstDestroyGhosts:!1,ignoreGhosts:!1,destroyDependentInstances:!1,invokeDestroyTriggers:!0,deleteUnreachableResources:!1,forceDeleteState:!1,allowPartialCompositeInstanceUpdate:!1,allowPartialCompositeInstanceDestruction:!1,refresh:!1}),I=C([]),p=C(!1),s=C(null),d=C(""),c=C(""),h=S(()=>t.instances.every(b=>b.kind==="composite"));te([()=>t.operation,()=>t.instances],()=>{t.instances.length!==0&&(d.value=i.value?je(t.operation,t.instances):Ae(t.operation,v.value),r.value={...r.value,destroyDependentInstances:t.operation==="destroy"})},{immediate:!0}),te(()=>r.value,()=>{g()},{deep:!0}),te(()=>a.value,b=>{b&&g()});const g=async()=>{if(a.value){p.value=!0,s.value=null;try{const b=await y.planOperation({projectId:w.projectId,type:t.operation,instanceIds:t.instances.map(u=>u.id),options:r.value});I.value=b}catch(b){console.error("Failed to load operation plan:",b),s.value=b instanceof Error?b.message:"Unknown error"}finally{p.value=!1}}},f=S(()=>{const b=new Set,u=new Set,U=new Set,ne=new Set,k=new Set;for(const m of I.value)for(const x of m.instances){if(k.add(x.id),m.type==="update"){b.add(x.id);continue}if(m.type==="destroy"){u.add(x.id);continue}if(m.type==="refresh"){U.add(x.id);continue}m.type==="preview"&&ne.add(x.id)}return{update:b.size,destroy:u.size,refresh:U.size,preview:ne.size,unique:k.size}}),M=S(()=>{const b=Ue(t.operation,{compositeTargetsOnly:h.value}).filter(u=>!!u.warning&&!!r.value[u.key]).map(u=>u.warning);return[...new Set(b)]}),D=b=>`${b} instance${b===1?"":"s"}`,P=S(()=>{switch(t.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"}}),W=S(()=>{const b=f.value;switch(t.operation){case"update":{const{update:u}=b;return u===0?P.value:`Update ${D(u)}`}case"recreate":return b.unique===0?P.value:`Recreate ${D(b.unique)}`;case"destroy":return b.destroy===0?P.value:`Destroy ${D(b.destroy)}`;case"refresh":return b.refresh===0?P.value:`Refresh ${D(b.refresh)}`;case"preview":return b.preview===0?P.value:`Preview ${D(b.preview)}`;default:return b.unique===0?P.value:`${P.value} ${D(b.unique)}`}}),E=S(()=>{switch(t.operation){case"update":return"primary";case"preview":return"secondary";case"refresh":return"info";case"destroy":return"error";case"recreate":return"warning";default:return"primary"}}),G=C(!1),H=async()=>{G.value=!0;try{await y.launchOperation({projectId:w.projectId,type:t.operation,instanceIds:t.instances.map(b=>b.id),options:r.value,meta:{title:d.value,description:c.value}}),a.value=!1}finally{G.value=!1}},K=S(()=>i.value?`${P.value} ${t.instances.length} instances`:t.component?`${P.value} ${t.component.meta.title} "${v.value.name}"`:`${P.value} "${v.value.name}"`);return(b,u)=>(l(),$(we,{modelValue:a.value,"onUpdate:modelValue":u[4]||(u[4]=U=>a.value=U),"max-width":"1200px",class:"operation-dialog"},{default:o(()=>[n(ce,{title:e(K),color:t.component?.meta.color??"#2d2d2d",class:"operation-card"},{prepend:o(()=>[t.component&&!e(i)?(l(),$(e(nt),{key:0,meta:t.component.meta},null,8,["meta"])):e(i)?(l(),$(de,{key:1},{default:o(()=>[...u[5]||(u[5]=[j("mdi-format-list-bulleted",-1)])]),_:1})):(l(),$(de,{key:2},{default:o(()=>[...u[6]||(u[6]=[j("mdi-cube-outline",-1)])]),_:1}))]),default:o(()=>[n(fe,{class:"operation-card-content"},{default:o(()=>[n(Pe,{fluid:"",class:"pa-0 fill-height"},{default:o(()=>[n(Fe,{"no-gutters":"",class:"fill-height"},{default:o(()=>[n(ue,{cols:"12",md:"5",class:"pr-md-4 column-container"},{default:o(()=>[O("div",pt,[u[7]||(u[7]=O("div",{class:"text-overline mb-2"},"Metadata",-1)),n(He,{modelValue:e(d),"onUpdate:modelValue":u[0]||(u[0]=U=>Y(d)?d.value=U:null),label:"Title",variant:"outlined",density:"compact",class:"mb-3",hint:"A descriptive title for this operation (optional)","persistent-hint":""},null,8,["modelValue"]),n(Ye,{modelValue:e(c),"onUpdate:modelValue":u[1]||(u[1]=U=>Y(c)?c.value=U:null),label:"Description",variant:"outlined",density:"compact",rows:"2",hint:"Describe the purpose of this operation (optional)","persistent-hint":""},null,8,["modelValue"])]),n(R,{class:"my-4"}),O("div",ft,[u[10]||(u[10]=O("div",{class:"text-overline mb-2"},"Options",-1)),O("p",mt,[u[8]||(u[8]=j(" Configure how the ",-1)),O("b",null,q(t.operation),1),u[9]||(u[9]=j(" operation should be executed. These options control the behavior and scope of the operation. ",-1))])]),O("div",vt,[n(ut,{options:e(r),"onUpdate:options":u[2]||(u[2]=U=>Y(r)?r.value=U:null),operation:t.operation,"composite-targets-only":e(h)},null,8,["options","operation","composite-targets-only"])])]),_:1}),n(R,{vertical:"",class:"d-none d-md-flex"}),n(ue,{cols:"12",md:"7",class:"pl-md-4 column-container"},{default:o(()=>[O("div",gt,[u[11]||(u[11]=O("div",{class:"text-overline mb-2"},"Execution Plan",-1)),u[12]||(u[12]=O("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(s)?(l(),$(he,{key:0,type:"error",variant:"outlined",density:"compact",class:"mb-3"},{default:o(()=>[j(" Failed to load operation plan: "+q(e(s)),1)]),_:1})):V("",!0)]),O("div",yt,[n(rt,{phases:e(I)},null,8,["phases"])]),e(M).length>0?(l(),B("div",ht,[(l(!0),B(A,null,se(e(M),U=>(l(),$(he,{key:U,density:"compact",type:"warning",variant:"outlined"},{default:o(()=>[j(q(U),1)]),_:2},1024))),128))])):V("",!0)]),_:1})]),_:1})]),_:1})]),_:1}),n(Ie,null,{default:o(()=>[n(ke),n(re,{onClick:u[3]||(u[3]=U=>a.value=!1)},{default:o(()=>[...u[13]||(u[13]=[j("Cancel",-1)])]),_:1}),n(re,{color:e(E),loading:e(G),disabled:e(p),onClick:H},{default:o(()=>[j(q(e(W)),1)]),_:1},8,["color","loading","disabled"])]),_:1})]),_:1},8,["title","color"])]),_:1},8,["modelValue"]))}}),wt=be(bt,[["__scopeId","data-v-542509f5"]]),It={class:"tree-scrollable"},kt={class:"d-flex flex-column"},St={class:"text-body-2 font-weight-regular"},xt={class:"text-caption text-medium-emphasis"},Ct=z({__name:"ForgetInstanceStateDialog",props:ee({instances:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:["update:visible"],setup(t){const a=_(t,"visible"),{stateStore:y,libraryStore:w}=J(),i=S(()=>t.instances.length>1),v=S(()=>t.instances[0]),r=C(!1),I=C(!1),p=C(!1),s=S(()=>t.instances.map(h=>{const g=w.library.components?.[h.type];return{id:h.id,title:g?`${g.meta.title} "${h.name}"`:`${h.type} "${h.name}"`,subtitle:h.id,icon:g?.meta.icon??"iconamoon:component",iconColor:g?.meta.iconColor}})),d=async()=>{r.value=!0;try{await y.forgetInstanceStates(t.instances.map(h=>h.id),I.value,p.value),a.value=!1}finally{r.value=!1}},c=S(()=>{if(t.instances.length===0)return"Forget state";if(!i.value){const h=v.value,g=w.library.components?.[h.type];return g?`Forget state of ${g.meta.title} "${h.name}"`:`Forget state of ${h.type} "${h.name}"`}return`Forget state of ${t.instances.length} instances`});return(h,g)=>(l(),$(we,{modelValue:a.value,"onUpdate:modelValue":g[3]||(g[3]=f=>a.value=f),"max-width":"1200px",class:"forget-dialog"},{default:o(()=>[n(ce,{title:e(c),color:"#2d2d2d",class:"forget-card"},{default:o(()=>[n(fe,{class:"forget-card-content"},{default:o(()=>[n(Pe,{fluid:"",class:"pa-0 fill-height"},{default:o(()=>[n(Fe,{"no-gutters":"",class:"fill-height"},{default:o(()=>[n(ue,{cols:"12",md:"5",class:"pr-md-4 column-container"},{default:o(()=>[g[5]||(g[5]=O("div",{class:"text-overline mb-2"},"Options",-1)),n(ye,{modelValue:e(I),"onUpdate:modelValue":g[0]||(g[0]=f=>Y(I)?I.value=f:null),label:"Delete all secrets associated with this instance",density:"compact","hide-details":""},null,8,["modelValue"]),n(ye,{modelValue:e(p),"onUpdate:modelValue":g[1]||(g[1]=f=>Y(p)?p.value=f:null),label:"Clear all terminal data associated with this instance",density:"compact","hide-details":""},null,8,["modelValue"]),n(he,{density:"compact",type:"warning",variant:"outlined",class:"mt-4 alert-auto"},{default:o(()=>[...g[4]||(g[4]=[O("div",null," No destroy operation will be performed, so all resources will be left in place and unreachable by HighState. ",-1),O("div",null," You should only use this operation when the instance is unreachable/unrecoverable and you want to start from scratch. ",-1)])]),_:1})]),_:1}),n(R,{vertical:"",class:"d-none d-md-flex"}),n(ue,{cols:"12",md:"7",class:"pl-md-4 mt-4 mt-md-0 column-container"},{default:o(()=>[g[6]||(g[6]=O("div",{class:"text-overline mb-2"},"Instances",-1)),O("div",It,[n(Te,{items:e(s),"item-title":"title","item-value":"id",density:"compact","bg-color":"#2d2d2d",class:"forget-instance-tree"},{prepend:o(({item:f})=>[n(e(De),{icon:f.icon,color:f.iconColor,width:"20",class:"mr-2"},null,8,["icon","color"])]),title:o(({item:f})=>[O("div",kt,[O("div",St,q(f.title),1),O("div",xt,q(f.subtitle),1)])]),_:1},8,["items"])])]),_:1})]),_:1})]),_:1})]),_:1}),n(Ie,null,{default:o(()=>[n(ke),n(re,{onClick:g[2]||(g[2]=f=>a.value=!1)},{default:o(()=>[...g[7]||(g[7]=[j("Cancel",-1)])]),_:1}),n(re,{loading:e(r),onClick:d},{default:o(()=>[j(" Forget State"+q(e(i)?` (${t.instances.length})`:""),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["title"])]),_:1},8,["modelValue"]))}}),$t=be(Ct,[["__scopeId","data-v-7881a32c"]]),Dt={class:"session-list-cointainer"},Vt=z({__name:"TerminalListSubmenu",props:ee({stateId:{},terminalIds:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:["update:visible"],setup(t){const{instancesStore:a,stateStore:y}=J(),{state:w,execute:i,isLoading:v}=y.getTerminalsState(S(()=>t.terminalIds)),{state:r,execute:I,isLoading:p}=a.getTerminalSessionsState(S(()=>t.stateId)),s=_(t,"visible");te(s,f=>{f&&(I(),i())});const d=f=>f.finishedAt?`Finished at ${new Date(f.finishedAt).toLocaleString()}`:`Started at ${new Date(f.startedAt).toLocaleString()}`,c=f=>{const M=Je();return f.finishedAt?"#9E9E9E":M.current.value.colors.success},h=C(null),g=async f=>{h.value=f;try{await a.openTerminal(f,!0)}finally{h.value=null}};return(f,M)=>(l(),$(e(L),{icon:"mdi-console",title:"Terminals"},{append:o(()=>[n(de,{icon:"mdi-menu-right",size:"x-small"})]),default:o(()=>[n(Se,{modelValue:s.value,"onUpdate:modelValue":M[0]||(M[0]=D=>s.value=D),"open-on-focus":!1,"open-on-hover":"","close-on-content-click":!1,submenu:"",activator:"parent"},{default:o(()=>[n(xe,{density:"compact",variant:"text"},{default:o(()=>[n(ge,{class:"text-overline"},{default:o(()=>[...M[1]||(M[1]=[j("Available Terminals",-1)])]),_:1}),(l(!0),B(A,null,se(e(w),D=>(l(),$(e(L),{key:D.id,disabled:!!e(h),title:D.meta.title,subtitle:D.meta.description,"custom-icon":D.meta.icon,loading:e(h)===D.id,icon:"mdi-console",onClick:P=>g(D.id)},null,8,["disabled","title","subtitle","custom-icon","loading","onClick"]))),128)),n(R,{class:"mt-2 mb-2"}),n(ge,{class:"text-overline"},{default:o(()=>[...M[2]||(M[2]=[j("Sessions",-1)])]),_:1}),O("div",Dt,[(l(!0),B(A,null,se(e(r),D=>(l(),$(e(L),{key:D.id,title:D.meta.title,subtitle:d(D),"custom-icon":D.meta.icon,icon:"mdi-console",color:c(D),onClick:P=>e(a).openTerminalSession(D)},null,8,["title","subtitle","custom-icon","color","onClick"]))),128))]),e(r).length===0?(l(),$(ge,{key:0,class:"text-disabled"},{default:o(()=>[...M[3]||(M[3]=[j(" No sessions found ",-1)])]),_:1})):V("",!0)]),_:1})]),_:1},8,["modelValue"])]),_:1}))}}),Tt=be(Vt,[["__scopeId","data-v-7c86584d"]]),Ot=z({__name:"PageListSubmenu",props:ee({pageIds:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:["update:visible"],setup(t){const{projectStore:a,stateStore:y}=J(),w=pe(),i=C({}),v=C(!1),r=_(t,"visible");te(r,async p=>{if(p){v.value=!0;try{i.value=await y.getPages(t.pageIds)}finally{v.value=!1}}});const I=async p=>{await w.openPage(a.projectId,p)};return(p,s)=>(l(),$(e(L),{icon:"mdi-file-document",title:"Pages"},{append:o(()=>[n(de,{icon:"mdi-menu-right",size:"x-small"})]),default:o(()=>[n(Se,{modelValue:r.value,"onUpdate:modelValue":s[0]||(s[0]=d=>r.value=d),"open-on-focus":!1,"open-on-hover":"","close-on-content-click":!1,submenu:"",activator:"parent"},{default:o(()=>[n(xe,{density:"compact",variant:"text"},{default:o(()=>[(l(!0),B(A,null,se(t.pageIds,d=>(l(),$(e(L),{key:d,title:e(i)[d]?.meta.title??d,subtitle:e(i)[d]?.meta.description,"custom-icon":e(i)[d]?.meta.icon,disabled:!e(i)[d],icon:"mdi-file-document",onClick:c=>I(d)},null,8,["title","subtitle","custom-icon","disabled","onClick"]))),128)),e(v)?(l(),$(Me,{key:0,title:"Loading pages..."})):V("",!0)]),_:1})]),_:1},8,["modelValue"])]),_:1}))}}),Pt=z({__name:"PanelListSubmenu",props:ee({panelIds:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:["update:visible"],setup(t){const{projectStore:a,stateStore:y}=J(),w=pe(),i=C([]),v=C(!1),r=_(t,"visible");return te(r,async I=>{if(I){v.value=!0;try{i.value=await y.getPanels(t.panelIds)}finally{v.value=!1}}}),(I,p)=>(l(),$(e(L),{icon:"mdi-view-dashboard-outline",title:"Panels"},{append:o(()=>[n(de,{icon:"mdi-menu-right",size:"x-small"})]),default:o(()=>[n(Se,{modelValue:r.value,"onUpdate:modelValue":p[0]||(p[0]=s=>r.value=s),"open-on-focus":!1,"open-on-hover":"","close-on-content-click":!1,submenu:"",activator:"parent"},{default:o(()=>[n(xe,{density:"compact",variant:"text"},{default:o(()=>[(l(!0),B(A,null,se(e(i),s=>(l(),$(e(L),{key:s.id,title:s.meta.title,subtitle:s.meta.description,"custom-icon":s.meta.icon,icon:"mdi-view-dashboard-outline",onClick:d=>e(w).openPanel(e(a).projectId,s.id)},null,8,["title","subtitle","custom-icon","onClick"]))),128)),e(v)?(l(),$(Me,{key:0,title:"Loading panels..."})):V("",!0)]),_:1})]),_:1},8,["modelValue"])]),_:1}))}}),Ft=z({__name:"InstanceContextMenu",props:{instance:{},component:{},state:{},terminalIds:{},stores:{},operation:{},locked:{type:Boolean},editable:{type:Boolean},ghost:{type:Boolean,default:!1}},setup(t,{expose:a}){const y=S(()=>t.terminalIds??t.state?.terminalIds??[]),{projectStore:w,stateStore:i,operationsStore:v}=t.stores,r=pe(),{selection:I}=Ve(),p=C(!1),s=C(!1),d=C("update"),c=C([]),h=C(!1),g=C([]),f=S(()=>I.selectedInstances.length>1&&I.selectedInstances.some(m=>m.id===t.instance.id)?I.selectedInstances:[t.instance]),M=S(()=>f.value.length>1),D=(k,m,x)=>{if(x==="preview"&&(M.value||k.kind!=="unit"))return!1;const Q=Ge(m?.lastOperationState?.status);switch(x){case"update":return!Q;case"refresh":return ve(m)&&!Q;case"preview":return!Q;case"recreate":case"destroy":return ve(m)&&!Q;default:return!1}},P=k=>t.ghost&&k!=="destroy"?!1:f.value.some(m=>{const x=i.instanceStates.get(m.id);return D(m,x,k)}),W=k=>t.ghost&&k!=="destroy"?!1:f.value.every(m=>{const x=i.instanceStates.get(m.id);return D(m,x,k)}),E=S(()=>f.value.some(k=>{const m=i.instanceStates.get(k.id);return ve(m)})),G=k=>{const m=f.value.length;return m===1?k==="update"?E.value?"Update":"Create":k.charAt(0).toUpperCase()+k.slice(1):k==="update"?`${E.value?"Update":"Create"} selected (${m})`:`${k.charAt(0).toUpperCase()+k.slice(1)} selected (${m})`},H=k=>{if(M.value)return"mdi-format-list-bulleted";switch(k){case"update":return E.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=k=>{d.value=k,c.value=f.value,s.value=!0,p.value=!1,I.clearSelection()},b=()=>{g.value=f.value,h.value=!0,p.value=!1,I.clearSelection()},u=me("contextMenu"),U=async k=>{u.value&&await u.value.showContextMenu(k)},ne=async()=>{if(f.value.length!==1||t.instance.kind!=="unit"){p.value=!1;return}const k=await v.launchInstanceOperation("preview",t.instance);p.value=!1,t.state&&await r.openLogsPanel(w.projectId,k.id,t.state.id)};return a({showContextMenu:U}),(k,m)=>(l(),B(A,null,[n(e(Be),{ref_key:"contextMenu",ref:u,visible:e(p),"onUpdate:visible":m[6]||(m[6]=x=>Y(p)?p.value=x:null),title:"Instance",subtitle:t.instance.id,"is-deletable":x=>t.stores.stateStore.isNodeDeletable(x)},{default:o(()=>[P("update")?(l(),$(e(L),{key:0,title:G("update"),icon:H("update"),color:"primary",disabled:t.locked||!W("update"),onClick:m[0]||(m[0]=x=>K("update"))},null,8,["title","icon","disabled"])):V("",!0),P("refresh")?(l(),$(e(L),{key:1,title:G("refresh"),icon:H("refresh"),color:"primary",disabled:t.locked||!W("refresh"),onClick:m[1]||(m[1]=x=>K("refresh"))},null,8,["title","icon","disabled"])):V("",!0),P("preview")?(l(),$(e(L),{key:2,title:G("preview"),icon:H("preview"),color:"secondary",disabled:t.locked||!W("preview"),onClick:ne},null,8,["title","icon","disabled"])):V("",!0),t.state?.lastOperationState?(l(),B(A,{key:3},[n(R),n(e(L),{title:"Open Logs",icon:"mdi-text",color:"primary",onClick:m[2]||(m[2]=x=>e(i).openInstanceLogs(t.instance))})],64)):V("",!0),n(R),n(e(L),{title:"View in Settings",icon:"mdi-cog",color:"primary",onClick:m[3]||(m[3]=()=>{const x=e(i).getInstanceState(t.instance.id);x&&("navigateTo"in k?k.navigateTo:e(ze))({name:"settings.instance-details",params:{projectId:e(w).projectId,stateId:x.id}}),p.value=!1})}),t.state?.id&&e(y).length>0?(l(),B(A,{key:4},[n(R),n(Tt,{"state-id":t.state.id,"terminal-ids":e(y)},null,8,["state-id","terminal-ids"])],64)):V("",!0),t.state?.pageIds?.length?(l(),B(A,{key:5},[n(R),n(Ot,{"page-ids":t.state.pageIds},null,8,["page-ids"])],64)):V("",!0),t.state?.panelIds?.length?(l(),B(A,{key:6},[n(R),n(Pt,{"panel-ids":t.state.panelIds},null,8,["panel-ids"])],64)):V("",!0),e(E)||t.ghost?(l(),B(A,{key:7},[n(R),P("recreate")?(l(),$(e(L),{key:0,title:G("recreate"),icon:H("recreate"),color:"warning",disabled:t.locked||!W("recreate"),onClick:m[4]||(m[4]=x=>K("recreate"))},null,8,["title","icon","disabled"])):V("",!0),P("destroy")?(l(),$(e(L),{key:1,title:G("destroy"),icon:H("destroy"),color:"error",disabled:t.locked||!W("destroy"),onClick:m[5]||(m[5]=x=>K("destroy"))},null,8,["title","icon","disabled"])):V("",!0),n(e(L),{title:e(M)?`Forget State selected (${e(f).length})`:"Forget State",icon:"mdi-delete-forever",color:"error",disabled:t.locked,onClick:b},null,8,["title","disabled"])],64)):V("",!0)]),_:1},8,["visible","subtitle","is-deletable"]),n(wt,{visible:e(s),"onUpdate:visible":m[7]||(m[7]=x=>Y(s)?s.value=x:null),operation:e(d),instances:e(c),component:t.component},null,8,["visible","operation","instances","component"]),n($t,{visible:e(h),"onUpdate:visible":m[8]||(m[8]=x=>Y(h)?h.value=x:null),instances:e(g)},null,8,["visible","instances"])],64))}}),Mt=[{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:"ignoreChangedDependencies",label:"Ignore changed dependencies",description:"Skip only changed dependencies. Failed or undeployed dependencies of selected instances are still included.",showForOperations:["update"]},{key:"ignoreDependencies",label:"Ignore dependencies",description:"Skip all dependencies of selected instances, including failed and undeployed prerequisites. Operate only on explicitly selected instances.",warning:"This is manual mode. The operation may fail unless every required prerequisite instance is selected explicitly.",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:"onlyDestroyGhosts",label:"Only destroy ghosts",description:"Skip update phase and run only ghost cleanup destroy phase for affected composite instances.",showForOperations:["update"],requiresCompositeTargets:!0},{key:"firstDestroyGhosts",label:"Destroy ghosts before update",description:"Run ghost cleanup destroy phase before update phase for affected composite instances.",showForOperations:["update"],requiresCompositeTargets:!0},{key:"ignoreGhosts",label:"Ignore ghosts",description:"Skip ghost cleanup destroy phase for update operations.",showForOperations:["update"],requiresCompositeTargets:!0},{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","recreate"]},{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."}],Ue=(t,a)=>Mt.filter(y=>y.requiresCompositeTargets&&!a?.compositeTargetsOnly?!1:y.showForOperations?y.showForOperations.includes(t):!0),Ut=z({__name:"PageDialog",props:ee({meta:{},content:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:["update:visible"],setup(t){const a=_(t,"visible");return(y,w)=>(l(),$(we,{modelValue:a.value,"onUpdate:modelValue":w[1]||(w[1]=i=>a.value=i),"max-width":"80vh","max-height":"60vh"},{default:o(()=>[n(ce,{title:t.meta.title,color:"#2d2d2d"},{default:o(()=>[n(fe,{style:{"overflow-y":"scroll"}},{default:o(()=>[n(at,{content:t.content},null,8,["content"])]),_:1}),n(Ie,null,{default:o(()=>[n(ke),n(re,{onClick:w[0]||(w[0]=i=>a.value=!1)},{default:o(()=>[...w[2]||(w[2]=[j("Close",-1)])]),_:1})]),_:1})]),_:1},8,["title"])]),_:1},8,["modelValue"]))}}),qt=z({__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(t){const a=J(),y=pe(),{projectStore:w,stateStore:i,instancesStore:v,libraryStore:r,operationsStore:I,validationStore:p}=a,s=S(()=>t.data.instance),d=S(()=>{const F=v.getInstanceComponent(s.value);if(!F)throw new Error(`component "${s.value.type}" for instance "${s.value.id}" not found in library`);return F}),c=S(()=>i.instanceStates.get(s.value.id)),h=S(()=>c.value&&i.instanceLocks.get(c.value.id)),g=S(()=>I.getLastInstanceOperation(s.value.id)),f=S(()=>v.isGhostInstance(s.value.id)),M=C(!1),D=C(!1),P=C(),W=C([]),E=C(!1),G=C(!1),H=C({}),K=async()=>{M.value=!0;try{if(!c.value?.pageIds)return;const F=c.value.pageIds;if(!F.length)return;const T=await i.getPage(F[0]);if(!T)return;P.value=T.meta,W.value=T.content,D.value=!0}finally{M.value=!1}},b=C(!1),u=C(!1),U=S(()=>{const F=c.value?.terminalIds??[];if(d.value.kind!=="composite")return F;const T=new Set,N=new Set,X=[],ae=Z=>{for(const le of Z??[])N.has(le)||(N.add(le),X.push(le))},Ce=Z=>{if(T.has(Z))return;T.add(Z);const le=i.instanceStates.get(Z);ae(le?.terminalIds);for(const Le of v.getInstanceChildren(Z))Ce(Le.id)};ae(F);for(const Z of v.getInstanceChildren(s.value.id))Ce(Z.id);return X}),ne=async()=>{b.value=!0;try{if(U.value.length===0)return;await v.openTerminal(U.value[0])}finally{b.value=!1}},k=async()=>{u.value=!0;try{const F=c.value?.panelIds?.[0];if(!F)return;await y.openPanel(w.projectId,F)}finally{u.value=!1}},m=async()=>{G.value=!0;try{if(!c.value)return;const F=await a.stateStore.getInstanceSecrets(c.value.id);H.value={...F},E.value=!0}finally{G.value=!1}},x=async()=>{const F=c.value?.id??s.value.id;await y.openCompositeInstancePanel(w.projectId,F)},Q=me("contextMenu"),oe=Re(),ie=C(null),Ne=F=>f.value?!1:Ee(oe,r.library,v.inputResolverOutputs,F);return te(()=>({ghost:f.value,initialized:oe.areNodesInitialized.value}),({ghost:F,initialized:T})=>{if(!T)return;const N=oe.findNode(t.id);if(N){if(!F){if(ie.value){const{connectable:X,draggable:ae}=ie.value;oe.updateNode(t.id,()=>({connectable:X,draggable:ae})),ie.value=null}return}ie.value||(ie.value={connectable:!!N.connectable,draggable:N.draggable??!0}),oe.updateNode(t.id,()=>({connectable:!1,draggable:!0}))}},{immediate:!0}),(F,T)=>(l(),$(_e,{"editing-secrets":e(E),"onUpdate:editingSecrets":T[1]||(T[1]=N=>Y(E)?E.value=N:null),"loading-secrets":e(G),"initial-secrets":e(H),"loading-page":e(M),instance:t.data.instance,component:e(d),entities:e(r).library.entities,"project-id":e(w).projectId,"input-resolver-outputs":e(v).inputResolverOutputs,"input-resolver-dependent-map":e(v).inputResolverDependentMap,"is-valid-connection":Ne,"instance-lock":e(h),state:e(c),"terminal-ids":e(U),"loading-panel":e(u),editable:t.data.editable&&!e(f),ghost:e(f),stores:("markRaw"in F?F.markRaw:e(Ke))(e(a)),"workspace-store":e(y),"all-instances":e(v).instances,"onSave:args":T[2]||(T[2]=(N,X,ae)=>e(v).updateInstance(N,X,ae)),"onSave:secrets":T[3]||(T[3]=(N,X)=>e(i).updateInstanceSecrets(N,X)),"onOpen:secrets":m,"onOpen:terminal":ne,"onOpen:panel":k,"onOperation:launch":T[4]||(T[4]=N=>e(I).launchQuickInstanceOperation(N,t.data.instance)),"onOperation:cancel":T[5]||(T[5]=N=>e(I).cancelInstanceOperation(e(c).lastOperationState.operationId,t.data.instance.id)),onContextmenu:T[6]||(T[6]=N=>e(Q)?.showContextMenu(N)),"onOpen:composite":x,"onOpen:page":K},{status:o(()=>[n(e(et),{state:e(c),operation:e(g),"expected-input-hash":e(i).inputHashOutputs.get(e(s).id)?.inputHash,"validation-output":e(p).validationOutputs.get(e(s).id)},null,8,["state","operation","expected-input-hash","validation-output"])]),default:o(()=>[n(e(Ft),{ref_key:"contextMenu",ref:Q,stores:e(a),instance:e(s),component:e(d),state:e(c),"terminal-ids":e(U),editable:t.data.editable&&!e(f),locked:!!e(h),ghost:e(f)},null,8,["stores","instance","component","state","terminal-ids","editable","locked","ghost"]),e(P)?(l(),$(e(Ut),{key:0,visible:e(D),"onUpdate:visible":T[0]||(T[0]=N=>Y(D)?D.value=N:null),meta:e(P),content:e(W)},null,8,["visible","meta","content"])):V("",!0)]),_:1},8,["editing-secrets","loading-secrets","initial-secrets","loading-page","instance","component","entities","project-id","input-resolver-outputs","input-resolver-dependent-map","instance-lock","state","terminal-ids","loading-panel","editable","ghost","stores","workspace-store","all-instances"]))}}),Be=z({__name:"NodeContextMenu",props:ee({title:{},subtitle:{},isDeletable:{type:Function}},{visible:{type:Boolean,default:!1},visibleModifiers:{}}),emits:["update:visible"],setup(t,{expose:a}){const{selection:y,vueFlowStore:w,deleteNodes:i}=Ve(),v=_(t,"visible"),r=qe(),I=me("contextMenu"),p=async h=>{I.value&&await I.value.showContextMenu(h)},{off:s}=w.onViewportChange(()=>{v.value=!1});Qe(()=>{s(),v.value=!1}),a({showContextMenu:p});const d=S(()=>t.isDeletable(r.node)?y.selectedNodeIds.has(r.id)?Array.from(y.selectedNodes).filter(t.isDeletable):[r.node]:[]),c=S(()=>d.value.length===1?"Delete":`Delete selected (${d.value.length})`);return(h,g)=>(l(),$(tt,{ref_key:"contextMenu",ref:I,visible:v.value,"onUpdate:visible":g[1]||(g[1]=f=>v.value=f),title:t.title,subtitle:t.subtitle},{default:o(()=>[h.$slots.default?(l(),B(A,{key:0},[n(R),Xe(h.$slots,"default")],64)):V("",!0),e(d).length>0?(l(),B(A,{key:1},[n(R),n(L,{title:e(c),icon:"mdi-delete",color:"error",onClick:g[0]||(g[0]=f=>e(i)(e(d)))},null,8,["title"])],64)):V("",!0)]),_:3},8,["visible","title","subtitle"]))}});export{Rt as _,Et as a,qt as b,Ft as c};
@@ -0,0 +1 @@
1
+ import{s as P,_ as U,u as h,t as j}from"#entry";import{_ as N,I as q}from"./DKbLex6i.js";import{S as L}from"./C7Ij7g1p.js";import{B as J}from"./EKqCuazP.js";import{E as M,aG as z,u as G,aP as $,V as p,J as B,D as e,Y as w,aI as O,_ as o,$ as g,a0 as E,a1 as x,a2 as r,W as l,a as R,aN as H,at as V,aa as F,ab as K,aQ as Q,aO as W,r as c,j as T,ah as Y,aR as X,aS as Z,ai as ee,aj as te,aJ as ae,aK as le}from"./-NXdyIEV.js";import{D as ne,a as oe}from"./Bc-UhGEo.js";import{O as ie}from"./Cofyfw8g.js";import{_ as se}from"./DSTHpVUV.js";import{u as de}from"./CriYd4Xu.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./VQuDbHHR.js";import"./D9y446qR.js";import"./D4_5UqG-.js";import"./BWDN-9Hx.js";const re={class:"pa-4"},ue={class:"binding-form mb-6"},ce={class:"text-right"},me={key:0},ve=M({__name:"BackendRoleBindingsTable",props:W({roleId:{},readonly:{type:Boolean}},{count:{default:0},countModifiers:{}}),emits:["update:count"],async setup(v){let u,y;const k=z(v,"count"),{$client:S}=G(),b=c([]),n=c([]),d=c(null),s=c(!1),m=c(null),I=T(()=>{const i=new Map(b.value.map(a=>[a.serviceAccountId,a]));return n.value.filter(a=>i.has(a.id)).map(a=>({...a,binding:i.get(a.id)}))}),C=T(()=>{const i=new Set(b.value.map(a=>a.serviceAccountId));return n.value.filter(a=>!i.has(a.id)&&!a.systemName)});async function A(){s.value=!0;try{const i=await S.backendServiceAccountSettings.getRoleBindingsByRole.query({roleId:v.roleId}),a=await P(t=>S.backendServiceAccountSettings.query.query(t));b.value=i,k.value=i.length,n.value=a,m.value=null}catch(i){m.value=i instanceof Error?i.message:"Failed to load role bindings"}finally{s.value=!1}}async function _(){if(d.value){s.value=!0;try{await S.backendServiceAccountSettings.addRoleBinding.mutate({roleId:v.roleId,serviceAccountId:d.value}),d.value=null,await A()}catch(i){m.value=i instanceof Error?i.message:"Failed to update role bindings"}finally{s.value=!1}}}async function D(i){s.value=!0;try{await S.backendServiceAccountSettings.removeRoleBinding.mutate({roleId:v.roleId,serviceAccountId:i}),await A()}catch(a){m.value=a instanceof Error?a.message:"Failed to update role bindings"}finally{s.value=!1}}return[u,y]=$(()=>A()),await u,y(),(i,a)=>(p(),B("div",re,[e(m)?(p(),w(O,{key:0,type:"error",density:"compact",class:"mb-4"},{default:o(()=>[g(E(e(m)),1)]),_:1})):x("",!0),r("div",ue,[l(H,{modelValue:e(d),"onUpdate:modelValue":a[0]||(a[0]=t=>R(d)?d.value=t:null),items:e(C),"item-title":"meta.title","item-value":"id",label:"Service account",density:"compact",variant:"outlined","hide-details":"",disabled:v.readonly||e(s)},null,8,["modelValue","items","disabled"]),l(V,{class:"binding-action",color:"primary",disabled:v.readonly||!e(d),loading:e(s),onClick:_},{default:o(()=>[...a[1]||(a[1]=[g(" Add ",-1)])]),_:1},8,["disabled","loading"])]),l(Q,null,{default:o(()=>[a[3]||(a[3]=r("thead",null,[r("tr",null,[r("th",null,"Service account"),r("th",null,"Created"),r("th",{class:"text-right"},"Actions")])],-1)),r("tbody",null,[(p(!0),B(F,null,K(e(I),t=>(p(),B("tr",{key:t.id},[r("td",null,E(t.meta.title),1),r("td",null,[l(N,{value:t.binding.createdAt},null,8,["value"])]),r("td",ce,[l(V,{icon:"mdi-delete-outline",variant:"text",size:"small",disabled:v.readonly||!!t.systemName,onClick:f=>D(t.id)},null,8,["disabled","onClick"])])]))),128)),!e(s)&&e(I).length===0?(p(),B("tr",me,[...a[2]||(a[2]=[r("td",{colspan:"3",class:"text-center text-medium-emphasis py-4"},"No service accounts",-1)])])):x("",!0)])]),_:1})]))}}),fe=U(ve,[["__scopeId","data-v-7d65df6c"]]),pe={class:"d-flex ga-2"},Ne=M({__name:"[roleId]",props:{params:{}},async setup(v){let u,y;const k=de(),S=h(),b=v.params.roleId,n=c(([u,y]=$(()=>k.get(b)),u=await u,y(),u)),d=c(!1),s=c(!1),m=c(!1),I=c(!1),C=c(0),A=([u,y]=$(()=>k.getRestrictionOptions()),u=await u,y(),u);if(!n.value)throw j({statusCode:404,statusMessage:"Backend role not found"});const _=[{key:"id",label:"Role ID"},{key:"createdAt",label:"Created"},{key:"updatedAt",label:"Last updated"}];async function D(a){m.value=!0;try{n.value=await k.update(b,a),d.value=!1}finally{m.value=!1}}async function i(){I.value=!0;try{await k.delete(b),await S.push({name:"settings.backend-roles"})}finally{I.value=!1}}return(a,t)=>(p(),B(F,null,[e(n)?(p(),w(e(oe),{key:0},{default:o(()=>[l(e(L),{meta:e(n).meta,"fallback-icon":"mdi-shield-account",title:e(n).meta.title,description:e(n).meta.description},X({_:2},[e(n).systemName?void 0:{name:"actions",fn:o(()=>[r("div",pe,[l(V,{variant:"outlined","prepend-icon":"mdi-pencil",onClick:t[0]||(t[0]=f=>d.value=!0)},{default:o(()=>[...t[6]||(t[6]=[g(" Edit ",-1)])]),_:1}),l(V,{color:"error",variant:"outlined","prepend-icon":"mdi-delete",onClick:t[1]||(t[1]=f=>s.value=!0)},{default:o(()=>[...t[7]||(t[7]=[g(" Delete ",-1)])]),_:1})])]),key:"0"}]),1032,["meta","title","description"]),e(n).systemName?(p(),w(O,{key:0,type:"info",variant:"tonal",style:{flex:"none"}},{default:o(()=>[...t[8]||(t[8]=[g(" This system-managed role is read-only. ",-1)])]),_:1})):x("",!0),l(e(ne),{title:"Backend Role Details",items:_},{"item.id":o(()=>[l(e(q),{value:e(n).id},null,8,["value"])]),"item.createdAt":o(()=>[l(e(N),{value:e(n).createdAt},null,8,["value"])]),"item.updatedAt":o(()=>[l(e(N),{value:e(n).updatedAt},null,8,["value"])]),_:1}),l(Z,{elevation:0},{default:o(()=>[l(e(ie),{title:"Rules",data:e(n).rules,icon:"mdi-code-braces"},null,8,["data"]),l(e(se),{title:"Service Accounts",icon:"mdi-account-circle",count:e(C)},{default:o(()=>[l(e(fe),{count:e(C),"onUpdate:count":t[2]||(t[2]=f=>R(C)?C.value=f:null),"role-id":e(n).id,readonly:!!e(n).systemName},null,8,["count","role-id","readonly"])]),_:1},8,["count"])]),_:1})]),_:1})):x("",!0),e(n)?(p(),w(e(J),{key:1,visible:e(d),"onUpdate:visible":t[3]||(t[3]=f=>R(d)?d.value=f:null),role:e(n),loading:e(m),"restriction-options":e(A),onSave:D},null,8,["visible","role","loading","restriction-options"])):x("",!0),l(Y,{modelValue:e(s),"onUpdate:modelValue":t[5]||(t[5]=f=>R(s)?s.value=f:null),"max-width":"480"},{default:o(()=>[l(ee,{title:"Delete backend role"},{default:o(()=>[l(te,null,{default:o(()=>[...t[9]||(t[9]=[g("This permanently deletes the role and all of its bindings.",-1)])]),_:1}),l(ae,null,{default:o(()=>[l(le),l(V,{variant:"text",onClick:t[4]||(t[4]=f=>s.value=!1)},{default:o(()=>[...t[10]||(t[10]=[g("Cancel",-1)])]),_:1}),l(V,{color:"error",loading:e(I),onClick:i},{default:o(()=>[...t[11]||(t[11]=[g("Delete",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}});export{Ne as default};
@@ -1 +1 @@
1
- import{u as q,o as T,r as E,c as z,p as O,e as H,a as P,b as I,n as U,j as V,h as B,w as D,d as F,_ as M,f as $}from"#entry";import{E as W,u as L,H as G,p as J,F as A,ae as j,B as K,r as Q,j as g,x as X,aF as Y,V as Z,J as ee,a2 as C,a0 as _,W as te,_ as ne,$ as re}from"./77UvFSdd.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";const ae=(...t)=>t.find(o=>o!==void 0);function oe(t){const o=t.componentName||"NuxtLink";function c(e){return typeof e=="string"&&e.startsWith("#")}function w(e,i,d){const n=d??t.trailingSlash;if(!e||n!=="append"&&n!=="remove")return e;if(typeof e=="string")return R(e,n);const s="path"in e&&e.path!==void 0?e.path:i(e).path;return{...e,name:void 0,path:R(s,n)}}function S(e){const i=q(),d=X(),n=g(()=>!!e.target&&e.target!=="_self"),s=g(()=>{const l=e.to||e.href||"";return typeof l=="string"&&B(l,{acceptRelative:!0})}),m=j("RouterLink"),v=m&&typeof m!="string"?m.useLink:void 0,f=g(()=>{if(e.external)return!0;const l=e.to||e.href||"";return typeof l=="object"?!1:l===""||s.value}),a=g(()=>{const l=e.to||e.href||"";return f.value?l:w(l,i.resolve,e.trailingSlash)}),p=f.value?void 0:v?.({...e,to:a}),b=g(()=>{const l=e.trailingSlash??t.trailingSlash;if(!a.value||s.value||c(a.value))return a.value;if(f.value){const x=typeof a.value=="object"&&"path"in a.value?P(a.value):a.value,k=typeof x=="object"?i.resolve(x).href:x;return R(k,l)}return typeof a.value=="object"?i.resolve(a.value)?.href??null:R(V(d.app.baseURL,a.value),l)});return{to:a,hasTarget:n,isAbsoluteUrl:s,isExternal:f,href:b,isActive:p?.isActive??g(()=>a.value===i.currentRoute.value.path),isExactActive:p?.isExactActive??g(()=>a.value===i.currentRoute.value.path),route:p?.route??g(()=>i.resolve(a.value)),async navigate(l){await U(b.value,{replace:e.replace,external:f.value||n.value})}}}return W({name:o,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:S,setup(e,{slots:i}){const d=q(),{to:n,href:s,navigate:m,isExternal:v,hasTarget:f,isAbsoluteUrl:a}=S(e),p=K(!1),b=Q(null),l=u=>{b.value=e.custom?u?.$el?.nextElementSibling:u?.$el};function x(u){return!p.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===u:e.prefetchOn?.[u]??t.prefetchOn?.[u])&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!ue()}async function k(u=L()){if(p.value)return;p.value=!0;const h=typeof n.value=="string"?n.value:v.value?P(n.value):d.resolve(n.value).fullPath,r=v.value?new URL(h,window.location.href).href:h;await Promise.all([u.hooks.callHook("link:prefetch",r).catch(()=>{}),!v.value&&!f.value&&I(n.value,d).catch(()=>{})])}if(x("visibility")){const u=L();let h,r=null;G(()=>{const y=se();T(()=>{h=E(()=>{b?.value?.tagName&&(r=y.observe(b.value,async()=>{r?.(),r=null,await k(u)}))})})}),J(()=>{h&&z(h),r?.(),r=null})}return()=>{if(!v.value&&!f.value&&!c(n.value)){const r={ref:l,to:n.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(x("interaction")&&(r.onPointerenter=k.bind(null,void 0),r.onFocus=k.bind(null,void 0)),p.value&&(r.class=e.prefetchedClass||t.prefetchedClass),r.rel=e.rel||void 0),A(j("RouterLink"),r,i.default)}const u=e.target||null,h=ae(e.noRel?"":e.rel,t.externalRelAttribute,a.value||f.value?"noopener noreferrer":"")||null;return e.custom?i.default?i.default({href:s.value,navigate:m,prefetch:k,get route(){if(!s.value)return;const r=new URL(s.value,window.location.href);return{path:r.pathname,fullPath:r.pathname,get query(){return O(r.search)},hash:r.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:s.value}},rel:h,target:u,isExternal:v.value||f.value,isActive:!1,isExactActive:!1}):null:A("a",{ref:b,href:s.value||null,rel:h,target:u,onClick:async r=>{if(!(v.value||f.value)){r.preventDefault();try{const y=H(s.value);return await(e.replace?d.replace(y):d.push(y))}finally{if(c(n.value)){const y=n.value.slice(1);let N=y;try{N=decodeURIComponent(y)}catch{}document.getElementById(N)?.focus()}}}}},i.default?.())}}})}const ie=oe(Y);function R(t,o){const c=o==="append"?D:F;return B(t)&&!t.startsWith("http")?t:c(t,!0)}function se(){const t=L();if(t._observer)return t._observer;let o=null;const c=new Map,w=(e,i)=>(o||=new IntersectionObserver(d=>{for(const n of d){const s=c.get(n.target);(n.isIntersecting||n.intersectionRatio>0)&&s&&s()}}),c.set(e,i),o.observe(e),()=>{c.delete(e),o?.unobserve(e),c.size===0&&(o?.disconnect(),o=null)});return t._observer={observe:w}}const le=/2g/;function ue(){const t=navigator.connection;return!!(t&&(t.saveData||le.test(t.effectiveType)))}const ce={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},fe={class:"max-w-520px text-center"},de=["textContent"],he=["textContent"],ve=["textContent"],pe={class:"flex items-center justify-center w-full"},ge={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},status:{type:Number,default:404},statusText:{type:String,default:"Page not found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const o=t;return $({title:`${o.status} - ${o.statusText} | ${o.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(c,w)=>{const S=ie;return Z(),ee("div",ce,[C("div",fe,[C("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:_(t.status)},null,8,de),C("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:_(t.statusText)},null,8,he),C("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:_(t.description)},null,8,ve),C("div",pe,[te(S,{to:"/",class:"font-medium hover:text-[#00DC82] text-sm underline underline-offset-3"},{default:ne(()=>[re(_(t.backHome),1)]),_:1})])])])}}},we=M(ge,[["__scopeId","data-v-eb1dd9f7"]]);export{we as default};
1
+ import{u as q,o as T,r as E,c as z,p as O,e as H,a as P,b as I,n as U,j as V,h as B,w as D,d as F,_ as M,f as $}from"#entry";import{E as W,u as L,H as G,p as J,F as A,ae as j,B as K,r as Q,j as g,x as X,aF as Y,V as Z,J as ee,a2 as C,a0 as _,W as te,_ as ne,$ as re}from"./-NXdyIEV.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";const ae=(...t)=>t.find(o=>o!==void 0);function oe(t){const o=t.componentName||"NuxtLink";function c(e){return typeof e=="string"&&e.startsWith("#")}function w(e,i,d){const n=d??t.trailingSlash;if(!e||n!=="append"&&n!=="remove")return e;if(typeof e=="string")return R(e,n);const s="path"in e&&e.path!==void 0?e.path:i(e).path;return{...e,name:void 0,path:R(s,n)}}function S(e){const i=q(),d=X(),n=g(()=>!!e.target&&e.target!=="_self"),s=g(()=>{const l=e.to||e.href||"";return typeof l=="string"&&B(l,{acceptRelative:!0})}),m=j("RouterLink"),v=m&&typeof m!="string"?m.useLink:void 0,f=g(()=>{if(e.external)return!0;const l=e.to||e.href||"";return typeof l=="object"?!1:l===""||s.value}),a=g(()=>{const l=e.to||e.href||"";return f.value?l:w(l,i.resolve,e.trailingSlash)}),p=f.value?void 0:v?.({...e,to:a}),b=g(()=>{const l=e.trailingSlash??t.trailingSlash;if(!a.value||s.value||c(a.value))return a.value;if(f.value){const x=typeof a.value=="object"&&"path"in a.value?P(a.value):a.value,k=typeof x=="object"?i.resolve(x).href:x;return R(k,l)}return typeof a.value=="object"?i.resolve(a.value)?.href??null:R(V(d.app.baseURL,a.value),l)});return{to:a,hasTarget:n,isAbsoluteUrl:s,isExternal:f,href:b,isActive:p?.isActive??g(()=>a.value===i.currentRoute.value.path),isExactActive:p?.isExactActive??g(()=>a.value===i.currentRoute.value.path),route:p?.route??g(()=>i.resolve(a.value)),async navigate(l){await U(b.value,{replace:e.replace,external:f.value||n.value})}}}return W({name:o,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:S,setup(e,{slots:i}){const d=q(),{to:n,href:s,navigate:m,isExternal:v,hasTarget:f,isAbsoluteUrl:a}=S(e),p=K(!1),b=Q(null),l=u=>{b.value=e.custom?u?.$el?.nextElementSibling:u?.$el};function x(u){return!p.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===u:e.prefetchOn?.[u]??t.prefetchOn?.[u])&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!ue()}async function k(u=L()){if(p.value)return;p.value=!0;const h=typeof n.value=="string"?n.value:v.value?P(n.value):d.resolve(n.value).fullPath,r=v.value?new URL(h,window.location.href).href:h;await Promise.all([u.hooks.callHook("link:prefetch",r).catch(()=>{}),!v.value&&!f.value&&I(n.value,d).catch(()=>{})])}if(x("visibility")){const u=L();let h,r=null;G(()=>{const y=se();T(()=>{h=E(()=>{b?.value?.tagName&&(r=y.observe(b.value,async()=>{r?.(),r=null,await k(u)}))})})}),J(()=>{h&&z(h),r?.(),r=null})}return()=>{if(!v.value&&!f.value&&!c(n.value)){const r={ref:l,to:n.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(x("interaction")&&(r.onPointerenter=k.bind(null,void 0),r.onFocus=k.bind(null,void 0)),p.value&&(r.class=e.prefetchedClass||t.prefetchedClass),r.rel=e.rel||void 0),A(j("RouterLink"),r,i.default)}const u=e.target||null,h=ae(e.noRel?"":e.rel,t.externalRelAttribute,a.value||f.value?"noopener noreferrer":"")||null;return e.custom?i.default?i.default({href:s.value,navigate:m,prefetch:k,get route(){if(!s.value)return;const r=new URL(s.value,window.location.href);return{path:r.pathname,fullPath:r.pathname,get query(){return O(r.search)},hash:r.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:s.value}},rel:h,target:u,isExternal:v.value||f.value,isActive:!1,isExactActive:!1}):null:A("a",{ref:b,href:s.value||null,rel:h,target:u,onClick:async r=>{if(!(v.value||f.value)){r.preventDefault();try{const y=H(s.value);return await(e.replace?d.replace(y):d.push(y))}finally{if(c(n.value)){const y=n.value.slice(1);let N=y;try{N=decodeURIComponent(y)}catch{}document.getElementById(N)?.focus()}}}}},i.default?.())}}})}const ie=oe(Y);function R(t,o){const c=o==="append"?D:F;return B(t)&&!t.startsWith("http")?t:c(t,!0)}function se(){const t=L();if(t._observer)return t._observer;let o=null;const c=new Map,w=(e,i)=>(o||=new IntersectionObserver(d=>{for(const n of d){const s=c.get(n.target);(n.isIntersecting||n.intersectionRatio>0)&&s&&s()}}),c.set(e,i),o.observe(e),()=>{c.delete(e),o?.unobserve(e),c.size===0&&(o?.disconnect(),o=null)});return t._observer={observe:w}}const le=/2g/;function ue(){const t=navigator.connection;return!!(t&&(t.saveData||le.test(t.effectiveType)))}const ce={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},fe={class:"max-w-520px text-center"},de=["textContent"],he=["textContent"],ve=["textContent"],pe={class:"flex items-center justify-center w-full"},ge={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},status:{type:Number,default:404},statusText:{type:String,default:"Page not found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const o=t;return $({title:`${o.status} - ${o.statusText} | ${o.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(c,w)=>{const S=ie;return Z(),ee("div",ce,[C("div",fe,[C("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:_(t.status)},null,8,de),C("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:_(t.statusText)},null,8,he),C("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:_(t.description)},null,8,ve),C("div",pe,[te(S,{to:"/",class:"font-medium hover:text-[#00DC82] text-sm underline underline-offset-3"},{default:ne(()=>[re(_(t.backHome),1)]),_:1})])])])}}},we=M(ge,[["__scopeId","data-v-85fbda43"]]);export{we as default};
@@ -0,0 +1 @@
1
+ import{L as W,_ as Y}from"#entry";import{V as z,s as F}from"./D4_5UqG-.js";import{_ as G}from"./DXVNaud5.js";import{E as J,aG as H,w as Q,V as C,Y as D,_ as n,W as s,ai as X,aj as Z,aU as h,aV as K,a2 as V,ak as N,a as y,D as r,aW as _,aN as ee,aI as te,$ as x,a1 as ae,as as le,aJ as se,aK as ie,at as S,ah as re,aO as T,r as p,j as u}from"./-NXdyIEV.js";import"./C7Ij7g1p.js";const ne={class:"builder"},oe={class:"preview"},ue=J({__name:"ProjectApiKeyDialog",props:T({apiKey:{},serviceAccounts:{},restrictionOptions:{},loading:{type:Boolean}},{visible:{type:Boolean,required:!0},visibleModifiers:{}}),emits:T(["save"],["update:visible"]),setup(l,{emit:j}){const m=H(l,"visible"),U=j,v=p(""),f=p(""),d=p(),o=p(""),i=p([]),B=u(()=>F(i.value)),A=u(()=>l.serviceAccounts.find(a=>a.id===d.value)?.rules??[]),O=u(()=>!!v.value.trim()),P=u(()=>l.serviceAccounts.some(a=>a.id===d.value)),R=u(()=>!o.value||!Number.isNaN(new Date(o.value).getTime())),b=u(()=>i.value.length===0||W.safeParse(i.value).success),w=u(()=>i.value.length===0||i.value.every(a=>a.permissions.every(e=>A.value.some(t=>t.permissions.includes(e)&&L(t,a))))),I=u(()=>O.value&&P.value&&R.value&&b.value&&w.value);Q(()=>[m.value,l.apiKey,l.serviceAccounts],()=>{m.value&&(v.value=l.apiKey?.meta.title??"",f.value=l.apiKey?.meta.description??"",d.value=l.apiKey?.serviceAccountId??l.serviceAccounts.find(a=>a.systemName==="admin")?.id,o.value=l.apiKey?.expiresAt?q(l.apiKey.expiresAt):"",i.value=l.apiKey?.restrictionRules??[])},{immediate:!0});function q(a){const e=new Date(a),t=e.getTimezoneOffset()*6e4;return new Date(e.getTime()-t).toISOString().slice(0,16)}function E(){!I.value||!d.value||U("save",{meta:{title:v.value.trim(),description:f.value.trim()||void 0},serviceAccountId:d.value,restrictionRules:i.value,expiresAt:o.value?new Date(o.value):null})}function M(a){d.value=a,i.value=[]}function L(a,e){return a.restrictions?e.restrictions?a.restrictions.every(t=>{const c=e.restrictions?.find(g=>g.type===t.type);if(!c)return!1;if(t.type==="self")return!0;if(c.type==="self")return!1;const $=k(t);return k(c).every(g=>$.includes(g))&&(!("recursive"in c)||!c.recursive||"recursive"in t&&t.recursive)}):!1:!0}function k(a){switch(a.type){case"resources":return a.resourceIds;case"instances":return a.instanceIds;case"owners":return a.serviceAccountIds;case"workers":return a.workerIds}}return(a,e)=>(C(),D(re,{modelValue:m.value,"onUpdate:modelValue":e[5]||(e[5]=t=>m.value=t),"max-width":"1200",class:"api-key-dialog"},{default:n(()=>[s(X,{title:l.apiKey?"Edit project API key":"Create project API key"},{default:n(()=>[s(Z,{class:"content"},{default:n(()=>[s(h,{"no-gutters":"",class:"fill-height"},{default:n(()=>[s(K,{cols:"12",md:"6",class:"pr-md-4 column"},{default:n(()=>[e[7]||(e[7]=V("div",{class:"text-overline mb-2"},"Metadata",-1)),s(N,{modelValue:r(v),"onUpdate:modelValue":e[0]||(e[0]=t=>y(v)?v.value=t:null),class:"flex-grow-0",label:"Title",variant:"outlined",density:"compact",rules:[t=>!!t?.trim()||"Title is required"],required:""},null,8,["modelValue","rules"]),s(_,{modelValue:r(f),"onUpdate:modelValue":e[1]||(e[1]=t=>y(f)?f.value=t:null),class:"flex-grow-0",label:"Description",variant:"outlined",density:"compact",rows:"2"},null,8,["modelValue"]),s(ee,{"model-value":r(d),class:"flex-grow-0",items:l.serviceAccounts,"item-title":"meta.title","item-value":"id",label:"Service account",variant:"outlined",density:"compact",rules:[t=>l.serviceAccounts.some(c=>c.id===t)||"Service account is required"],required:"","onUpdate:modelValue":M},null,8,["model-value","items","rules"]),s(N,{modelValue:r(o),"onUpdate:modelValue":e[2]||(e[2]=t=>y(o)?o.value=t:null),class:"expires-at-field flex-grow-0",type:"datetime-local",label:"Expires at",variant:"outlined",density:"compact",clearable:"",rules:[t=>!t||!Number.isNaN(new Date(t).getTime())||"Expiration must be a valid date and time"]},null,8,["modelValue","rules"]),V("div",ne,[s(G,{modelValue:r(i),"onUpdate:modelValue":e[3]||(e[3]=t=>y(i)?i.value=t:null),options:l.restrictionOptions,"allowed-rules":r(A),"section-title":"Restriction Rules","allow-empty":""},null,8,["modelValue","options","allowed-rules"])]),r(i).length>0&&r(b)&&!r(w)?(C(),D(te,{key:0,type:"error",variant:"outlined",density:"compact",class:"flex-grow-0 mt-2"},{default:n(()=>[...e[6]||(e[6]=[x(" Restriction rules exceed the selected service account permissions. ",-1)])]),_:1})):ae("",!0)]),_:1}),s(le,{vertical:"",class:"d-none d-md-flex"}),s(K,{cols:"12",md:"6",class:"pl-md-4 column"},{default:n(()=>[e[8]||(e[8]=V("div",{class:"text-overline mb-2"},"Restriction preview",-1)),V("div",oe,[s(r(z),{value:r(B),theme:"dark-plus",language:"yaml",options:{readOnly:!0,minimap:{enabled:!1},automaticLayout:!0}},null,8,["value"])])]),_:1})]),_:1})]),_:1}),s(se,null,{default:n(()=>[s(ie),s(S,{disabled:l.loading,onClick:e[4]||(e[4]=t=>m.value=!1)},{default:n(()=>[...e[9]||(e[9]=[x("Cancel",-1)])]),_:1},8,["disabled"]),s(S,{color:"primary",disabled:!r(I),loading:l.loading,onClick:E},{default:n(()=>[...e[10]||(e[10]=[x("Save",-1)])]),_:1},8,["disabled","loading"])]),_:1})]),_:1},8,["title"])]),_:1},8,["modelValue"]))}}),Ve=Y(ue,[["__scopeId","data-v-d817650f"]]);export{Ve as P};
@@ -1 +1 @@
1
- import{l as T}from"#entry";import{E as I,u as _,M as g,V as E,Y as f,D as u,_ as V,W as h}from"./77UvFSdd.js";import{G as S}from"./DdJEKw37.js";import{P as j}from"./Cv3A8XqH.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./BzbjXxJd.js";const k="0123456789ABCDEFGHJKMNPQRSTVWXYZ",x=32,C=16,p=10,L=0xffffffffffff;var c;(function(e){e.Base32IncorrectEncoding="B32_ENC_INVALID",e.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",e.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",e.EncodeTimeNegative="ENC_TIME_NEG",e.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",e.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",e.PRNGDetectFailure="PRNG_DETECT",e.ULIDInvalid="ULID_INVALID",e.Unexpected="UNEXPECTED",e.UUIDInvalid="UUID_INVALID"})(c||(c={}));class l extends Error{constructor(r,t){super(`${t} (${r})`),this.name="ULIDError",this.code=r}}function $(e){if(e.length!==p+C)throw new l(c.DecodeTimeValueMalformed,"Malformed ULID");const r=e.substr(0,p).toUpperCase().split("").reverse().reduce((t,i,a)=>{const d=k.indexOf(i);if(d===-1)throw new l(c.DecodeTimeInvalidCharacter,`Time decode error: Invalid character: ${i}`);return t+=d*Math.pow(x,a)},0);if(r>L)throw new l(c.DecodeTimeValueMalformed,`Malformed ULID: timestamp too large: ${r}`);return r}const v=I({__name:"WorkerVersionLogsPanel",props:{projectId:{},workerVersionId:{}},setup(e){const{$client:r}=_();let t=null;const i=o=>{try{const s=$(o),n=new Date(s),m=n.getHours().toString().padStart(2,"0"),w=n.getMinutes().toString().padStart(2,"0"),D=n.getSeconds().toString().padStart(2,"0"),N=n.getMilliseconds().toString().padStart(3,"0");return`${m}:${w}:${D}.${N}`}catch{return"00:00:00.000"}},a=(o,s,n=!1)=>{if(!t)return;const m=i(o);t.write(`\x1B[36m[${m}]\x1B[0m `),n&&t.write("\x1B[1;35m[runtime]\x1B[0m "),t.writeln(s)},{unsubscribe:d}=r.logs.watchWorkerVersionLogs.subscribe({projectId:e.projectId,workerVersionId:e.workerVersionId},{onData:o=>{t&&a(o.id,o.content,o.isSystem)}});g(d);const M=async o=>{t=o;const s=await r.logs.getWorkerVersionLogs.query({projectId:e.projectId,workerVersionId:e.workerVersionId});for(const n of s)a(n.id,n.content,n.isSystem)};return(o,s)=>(E(),f(u(S),{onLoad:M}))}}),U=I({__name:"logs",props:{params:{}},setup(e){return T(e.params.projectId),(r,t)=>(E(),f(u(j),{"project-id":e.params.projectId,"can-unlock":""},{default:V(()=>[h(u(v),{"project-id":e.params.projectId,"worker-version-id":e.params.workerVersionId},null,8,["project-id","worker-version-id"])]),_:1},8,["project-id"]))}});export{U as default};
1
+ import{l as T}from"#entry";import{E as I,u as _,M as g,V as E,Y as f,D as u,_ as V,W as h}from"./-NXdyIEV.js";import{G as S}from"./zPZwXEME.js";import{P as j}from"./DJwAKlaO.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./DyDuNLRY.js";const k="0123456789ABCDEFGHJKMNPQRSTVWXYZ",x=32,C=16,p=10,L=0xffffffffffff;var c;(function(e){e.Base32IncorrectEncoding="B32_ENC_INVALID",e.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",e.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",e.EncodeTimeNegative="ENC_TIME_NEG",e.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",e.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",e.PRNGDetectFailure="PRNG_DETECT",e.ULIDInvalid="ULID_INVALID",e.Unexpected="UNEXPECTED",e.UUIDInvalid="UUID_INVALID"})(c||(c={}));class l extends Error{constructor(r,t){super(`${t} (${r})`),this.name="ULIDError",this.code=r}}function $(e){if(e.length!==p+C)throw new l(c.DecodeTimeValueMalformed,"Malformed ULID");const r=e.substr(0,p).toUpperCase().split("").reverse().reduce((t,i,a)=>{const d=k.indexOf(i);if(d===-1)throw new l(c.DecodeTimeInvalidCharacter,`Time decode error: Invalid character: ${i}`);return t+=d*Math.pow(x,a)},0);if(r>L)throw new l(c.DecodeTimeValueMalformed,`Malformed ULID: timestamp too large: ${r}`);return r}const v=I({__name:"WorkerVersionLogsPanel",props:{projectId:{},workerVersionId:{}},setup(e){const{$client:r}=_();let t=null;const i=o=>{try{const s=$(o),n=new Date(s),m=n.getHours().toString().padStart(2,"0"),w=n.getMinutes().toString().padStart(2,"0"),D=n.getSeconds().toString().padStart(2,"0"),N=n.getMilliseconds().toString().padStart(3,"0");return`${m}:${w}:${D}.${N}`}catch{return"00:00:00.000"}},a=(o,s,n=!1)=>{if(!t)return;const m=i(o);t.write(`\x1B[36m[${m}]\x1B[0m `),n&&t.write("\x1B[1;35m[runtime]\x1B[0m "),t.writeln(s)},{unsubscribe:d}=r.logs.watchWorkerVersionLogs.subscribe({projectId:e.projectId,workerVersionId:e.workerVersionId},{onData:o=>{t&&a(o.id,o.content,o.isSystem)}});g(d);const M=async o=>{t=o;const s=await r.logs.getWorkerVersionLogs.query({projectId:e.projectId,workerVersionId:e.workerVersionId});for(const n of s)a(n.id,n.content,n.isSystem)};return(o,s)=>(E(),f(u(S),{onLoad:M}))}}),U=I({__name:"logs",props:{params:{}},setup(e){return T(e.params.projectId),(r,t)=>(E(),f(u(j),{"project-id":e.params.projectId,"can-unlock":""},{default:V(()=>[h(u(v),{"project-id":e.params.projectId,"worker-version-id":e.params.workerVersionId},null,8,["project-id","worker-version-id"])]),_:1},8,["project-id"]))}});export{U as default};
@@ -0,0 +1 @@
1
+ .font-mono[data-v-0dcfb73b]{font-family:Courier New,monospace}.settings-table-container[data-v-837e7825]{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.table-header[data-v-837e7825]{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:8px}.table-wrapper[data-v-837e7825]{flex:1;min-width:0}.table-footer[data-v-837e7825]{align-items:center;display:flex;gap:8px;justify-content:flex-end;padding-top:8px}.items-per-page[data-v-837e7825]{max-width:160px}.rules-builder[data-v-a130193c]{display:flex;flex-direction:column;height:100%;min-height:0;min-width:0}.rules-list[data-v-a130193c]{flex:1;min-height:0;overflow-y:auto;padding-right:4px}.rule-card[data-v-a130193c]{background:rgb(var(--v-theme-surface))}.restriction[data-v-a130193c]:last-child{margin-bottom:0!important}.role-dialog[data-v-ca0e79da] .v-overlay__content{height:80vh;max-height:80vh}.role-dialog[data-v-ca0e79da] .v-overlay__content>.v-card{display:flex;flex-direction:column;height:100%}.role-card-content[data-v-ca0e79da]{flex:1;overflow:hidden}.column-container[data-v-ca0e79da]{display:flex;flex-direction:column;height:100%;min-height:0}.builder-scrollable[data-v-ca0e79da],.preview-editor[data-v-ca0e79da]{flex:1;min-height:0;overflow:hidden}.preview-editor[data-v-ca0e79da]{border:1px solid rgba(var(--v-border-color),var(--v-border-opacity));border-radius:4px}.risk-overview[data-v-ca0e79da]{display:flex;flex:0 1 auto;flex-direction:column;max-height:50%;min-height:128px;overflow:hidden}.risk-message[data-v-ca0e79da]{flex:0 1 auto;min-height:0;overflow-y:auto}@media(max-width:960px){.role-card-content[data-v-ca0e79da]{overflow-y:auto}.column-container[data-v-ca0e79da]{height:auto}.builder-scrollable[data-v-ca0e79da],.preview-editor[data-v-ca0e79da]{max-height:300px;min-height:300px}}.binding-form[data-v-7d65df6c]{align-items:start;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto}.binding-action[data-v-7d65df6c]{min-height:40px}@media(max-width:600px){.binding-form[data-v-7d65df6c]{grid-template-columns:1fr}}.binding-form[data-v-3c9cd839]{align-items:start;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto}.binding-action[data-v-3c9cd839]{min-height:40px}@media(max-width:600px){.binding-form[data-v-3c9cd839]{grid-template-columns:1fr}}.project-role-dialog[data-v-56f5ad50] .v-overlay__content{height:80vh;max-height:80vh}.project-role-dialog[data-v-56f5ad50] .v-overlay__content>.v-card{display:flex;flex-direction:column;height:100%}.content[data-v-56f5ad50]{flex:1;overflow:hidden}.column[data-v-56f5ad50]{display:flex;flex-direction:column;height:100%;min-height:0}.builder[data-v-56f5ad50],.preview[data-v-56f5ad50]{flex:1;min-height:0;overflow:hidden}.preview[data-v-56f5ad50]{border:1px solid rgba(var(--v-border-color),var(--v-border-opacity));border-radius:4px}.risk[data-v-56f5ad50]{flex:0 1 auto;max-height:50%;min-height:128px;overflow-y:auto}.binding-form[data-v-b31ced55]{align-items:start;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto}.binding-action[data-v-b31ced55]{min-height:40px}@media(max-width:600px){.binding-form[data-v-b31ced55]{grid-template-columns:1fr}}.binding-form[data-v-b5c984d1]{align-items:start;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto}.binding-action[data-v-b5c984d1]{min-height:40px}@media(max-width:600px){.binding-form[data-v-b5c984d1]{grid-template-columns:1fr}}.settings-page-header[data-v-6120572e]{align-items:flex-start;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:24px}.settings-list-page[data-v-a5b16b6a]{display:flex;flex-direction:column;height:100vh;padding:24px}.table-container[data-v-a5b16b6a]{display:flex;flex:1;flex-direction:column;min-height:0}.settings-list-page[data-v-f4404922]{display:flex;flex-direction:column;gap:24px;height:calc(100vh - 80px);padding:24px}.table-container[data-v-f4404922]{display:flex;flex:1;flex-direction:column;gap:24px;min-height:0;overflow-y:auto}@media(max-width:1000px){.settings-list-page[data-v-f4404922]{gap:16px;padding:16px}.table-container[data-v-f4404922]{gap:16px}}.detail-info-card[data-v-1d6a4b9e]{display:flex;flex-direction:column;flex-shrink:1;min-width:0}.detail-info-card[data-v-1d6a4b9e] .v-card-text{display:flex;flex:1;flex-direction:column;min-width:0}.details-grid[data-v-1d6a4b9e]{display:grid;gap:16px 24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));min-width:0}.detail-item[data-v-1d6a4b9e]{min-height:60px;min-width:0}.editor[data-v-210f2ea8]{border-radius:0;overflow:hidden;width:100%}.related-data-panel>.v-expansion-panel-text>.v-expansion-panel-text__wrapper{padding:0!important}.token-value[data-v-8d23b27d]{background:rgb(var(--v-theme-surface));border:1px solid rgba(var(--v-border-color),var(--v-border-opacity));border-radius:4px;min-width:0}code[data-v-8d23b27d]{overflow-wrap:anywhere}.api-key-dialog[data-v-7aef4723] .v-overlay__content{height:80vh;max-height:80vh}.api-key-dialog[data-v-7aef4723] .v-overlay__content>.v-card{display:flex;flex-direction:column;height:100%}.content[data-v-7aef4723]{flex:1;overflow:hidden}.column[data-v-7aef4723]{display:flex;flex-direction:column;height:100%;min-height:0}.builder[data-v-7aef4723],.preview[data-v-7aef4723]{flex:1;min-height:0;overflow:hidden}.preview[data-v-7aef4723]{border:1px solid rgba(var(--v-border-color),var(--v-border-opacity));border-radius:4px}.expires-at-field[data-v-7aef4723] .v-field__field{position:relative}.expires-at-field[data-v-7aef4723] input::-webkit-calendar-picker-indicator{position:absolute;right:4px}@media(max-width:960px){.content[data-v-7aef4723]{overflow-y:auto}.column[data-v-7aef4723]{height:auto}.builder[data-v-7aef4723],.preview[data-v-7aef4723]{max-height:300px;min-height:300px}}.api-key-dialog[data-v-d817650f] .v-overlay__content{height:80vh;max-height:80vh}.api-key-dialog[data-v-d817650f] .v-overlay__content>.v-card{display:flex;flex-direction:column;height:100%}.content[data-v-d817650f]{flex:1;overflow:hidden}.column[data-v-d817650f]{display:flex;flex-direction:column;height:100%;min-height:0}.builder[data-v-d817650f],.preview[data-v-d817650f]{flex:1;min-height:0;overflow:hidden}.preview[data-v-d817650f]{border:1px solid rgba(var(--v-border-color),var(--v-border-opacity));border-radius:4px}.expires-at-field[data-v-d817650f] .v-field__field{position:relative}.expires-at-field[data-v-d817650f] input::-webkit-calendar-picker-indicator{position:absolute;right:4px}@media(max-width:960px){.content[data-v-d817650f]{overflow-y:auto}.column[data-v-d817650f]{height:auto}.builder[data-v-d817650f],.preview[data-v-d817650f]{max-height:300px;min-height:300px}}.secret-blur[data-v-a3e1621a]{backdrop-filter:blur(4px);background:rgba(var(--v-theme-surface-variant),.3);border:1px dashed rgba(var(--v-theme-outline),.5);border-radius:4px;cursor:pointer;min-width:120px;padding:4px 8px;text-align:center;transition:all .2s ease}.secret-blur[data-v-a3e1621a]:hover{background:rgba(var(--v-theme-surface-variant),.5);border-color:rgba(var(--v-theme-primary),.7)}.secret-loading[data-v-a3e1621a]{cursor:not-allowed;opacity:.6}.secret-placeholder[data-v-a3e1621a]{color:rgb(var(--v-theme-on-surface-variant));font-family:monospace;letter-spacing:2px}.secret-revealed[data-v-a3e1621a]{background:rgba(var(--v-theme-success),.1);border:1px solid rgba(var(--v-theme-success),.3);border-radius:4px;max-width:300px;overflow:hidden;padding:4px 8px}.secret-clickable[data-v-a3e1621a]{cursor:pointer}.secret-clickable[data-v-a3e1621a]:hover{background:rgba(var(--v-theme-success),.2)}.json-content[data-v-a3e1621a]{background:rgb(var(--v-theme-surface-variant));border-radius:4px;font-family:Courier New,monospace;font-size:12px;line-height:1.4;overflow-x:auto;padding:16px}
@@ -1 +1 @@
1
- import{I as t}from"#entry";import{E as s,V as n,Y as i,D as c,Z as l,j as r}from"./77UvFSdd.js";const I=s({__name:"GenericIcon",props:{icon:{},size:{default:16},color:{},customIcon:{}},setup(o){const e=r(()=>o.size-4);return(a,m)=>o.customIcon?(n(),i(c(t),{key:0,class:"mr-2",icon:o.customIcon,width:c(e),height:c(e),color:o.color},null,8,["icon","width","height","color"])):(n(),i(l,{key:1,icon:o.icon,size:o.size,color:o.color},null,8,["icon","size","color"]))}});export{I as _};
1
+ import{O as t}from"#entry";import{E as s,V as n,Y as i,D as c,Z as l,j as r}from"./-NXdyIEV.js";const f=s({__name:"GenericIcon",props:{icon:{},size:{default:16},color:{},customIcon:{}},setup(o){const e=r(()=>o.size-4);return(a,m)=>o.customIcon?(n(),i(c(t),{key:0,class:"mr-2",icon:o.customIcon,width:c(e),height:c(e),color:o.color},null,8,["icon","width","height","color"])):(n(),i(l,{key:1,icon:o.icon,size:o.size,color:o.color},null,8,["icon","size","color"]))}});export{f as _};
@@ -0,0 +1 @@
1
+ import{C as v,F as k,i as I,t as b,D as A}from"#entry";import{_ as y}from"./B2Q2xBzH.js";import{_ as w}from"./hvsd0Qgg.js";import{_ as S}from"./u9IB9fko.js";import{_ as d,I as P}from"./DKbLex6i.js";import{S as C}from"./C7Ij7g1p.js";import{D as g,a as D}from"./Bc-UhGEo.js";import{E as V,aP as r,Y as $,_ as a,D as e,V as x,W as n,at as z,$ as c,ao as j,a0 as p}from"./-NXdyIEV.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./DyhJj7Ha.js";import"./VQuDbHHR.js";import"./D9y446qR.js";const G=V({__name:"[panelId]",props:{params:{}},async setup(m){let i,o;const{projectStore:s}=v(),u=k(),f=I();s.initializing?([i,o]=r(()=>A(()=>s.initialized).toBe(!0)),await i,o(),s.addLibraryRoot()):([i,o]=r(()=>s.initialize1()),await i,o(),[i,o]=r(()=>s.initialize2()),await i,o());const t=([i,o]=r(()=>u.get(m.params.panelId)),i=await i,o(),i);if(!t)throw b({statusCode:404,statusMessage:"Panel not found"});const _=[{key:"panelId",label:"Panel ID"},{key:"name",label:"Name"},{key:"status",label:"Status"},{key:"instance",label:"Instance"},{key:"serviceAccount",label:"Service Account"},{key:"workerVersion",label:"Worker Version"},{key:"createdAt",label:"Created"},{key:"updatedAt",label:"Last Updated"}];return(B,l)=>(x(),$(e(D),null,{default:a(()=>[n(C,{meta:e(t).meta,"fallback-icon":"mdi-view-dashboard-outline",title:e(t).meta.title,description:e(t).meta.description},{actions:a(()=>[n(z,{variant:"outlined","prepend-icon":"mdi-open-in-new",disabled:!e(t).online,onClick:l[0]||(l[0]=L=>e(f).openPanel(m.params.projectId,e(t).id))},{default:a(()=>[...l[1]||(l[1]=[c(" Open Panel ",-1)])]),_:1},8,["disabled"])]),_:1},8,["meta","title","description"]),n(e(g),{title:"Panel Details",items:_},{"item.panelId":a(()=>[n(e(P),{value:e(t).id},null,8,["value"])]),"item.name":a(()=>[c(p(e(t).name),1)]),"item.status":a(()=>[n(j,{color:e(t).online?"success":void 0,"prepend-icon":e(t).online?"mdi-access-point":"mdi-access-point-off",size:"small",variant:"tonal"},{default:a(()=>[c(p(e(t).online?"Online":"Offline"),1)]),_:1},8,["color","prepend-icon"])]),"item.instance":a(()=>[n(e(w),{item:{stateId:e(t).stateId}},null,8,["item"])]),"item.serviceAccount":a(()=>[n(e(y),{item:{serviceAccountId:e(t).serviceAccountId,serviceAccountMeta:e(t).serviceAccountMeta}},null,8,["item"])]),"item.workerVersion":a(()=>[n(e(S),{item:e(t)},null,8,["item"])]),"item.createdAt":a(()=>[n(e(d),{value:e(t).createdAt},null,8,["value"])]),"item.updatedAt":a(()=>[n(e(d),{value:e(t).updatedAt},null,8,["value"])]),_:1})]),_:1}))}});export{G as default};
@@ -0,0 +1 @@
1
+ .content-card[data-v-e98da2fe]{display:flex;flex-direction:column;flex-shrink:1;min-width:0}.content-card[data-v-e98da2fe] .v-card-text{display:flex;flex:1;flex-direction:column;min-width:0}.page-content-container[data-v-e98da2fe]{display:flex;flex:1;flex-direction:column;min-width:0;overflow-x:auto}.page-content-container[data-v-e98da2fe] .d-flex.flex-row{flex-wrap:nowrap;min-width:0}.page-content-container[data-v-e98da2fe] .qr-text{flex:1;flex-shrink:1;min-width:0;overflow-x:auto}.page-content-container[data-v-e98da2fe] .md-content{min-width:0;overflow-wrap:break-word;word-break:break-word}
@@ -0,0 +1 @@
1
+ .entity-snapshot-editor[data-v-57d6963d]{border-radius:0;overflow:hidden;width:100%}
@@ -1 +1 @@
1
- import{b as r,S as u}from"./C1JwrSe7.js";import"#entry";import{_ as c}from"./CWA5Cfde.js";import"./C5DRPdxC.js";import{_ as h}from"./m4Sxwg8n.js";import{S as f}from"./DRTFVhVr.js";import{E as P,aG as s,V as y,Y as v,D as i,_ as o,W as d,aP as B}from"./77UvFSdd.js";const V=P({__name:"SecretsTable",props:B({projectId:{},data:{},loading:{type:Boolean},hideHeader:{type:Boolean},height:{}},{search:{},searchModifiers:{},sortBy:{},sortByModifiers:{},page:{},pageModifiers:{},itemsPerPage:{},itemsPerPageModifiers:{}}),emits:["update:search","update:sortBy","update:page","update:itemsPerPage"],setup(a){const n=s(a,"search"),m=s(a,"sortBy"),l=s(a,"page"),g=s(a,"itemsPerPage"),p=[{...r.name,headerProps:{defaultPrimaryIcon:"mdi:key"}},r.id,{key:"owner",title:"Owner"},r.createdAt,{title:"Value",key:"value"},r.actions];return(b,t)=>(y(),v(i(u),{search:n.value,"onUpdate:search":t[0]||(t[0]=e=>n.value=e),"sort-by":m.value,"onUpdate:sortBy":t[1]||(t[1]=e=>m.value=e),page:l.value,"onUpdate:page":t[2]||(t[2]=e=>l.value=e),"items-per-page":g.value,"onUpdate:itemsPerPage":t[3]||(t[3]=e=>g.value=e),headers:p,data:a.data,loading:a.loading,"hide-header":a.hideHeader,height:a.height},{"item.owner":o(({item:e})=>[d(i(c),{item:e},null,8,["item"])]),"item.value":o(({item:e})=>[d(i(f),{"secret-id":e.id,"project-id":a.projectId},null,8,["secret-id","project-id"])]),"item.actions":o(({item:e})=>[d(i(h),{"page-name":"settings.secret-details","page-params":{projectId:a.projectId,secretId:e.id}},null,8,["page-params"])]),_:1},8,["search","sort-by","page","items-per-page","data","loading","hide-header","height"]))}});export{V as _};
1
+ import{b as r,S as u}from"./BKZ346WY.js";import"#entry";import{_ as c}from"./CNrxBMAX.js";import"./C7Ij7g1p.js";import{_ as h}from"./CZyQa1Zc.js";import{S as f}from"./BSawHEJh.js";import{E as y,aG as s,V as P,Y as v,D as i,_ as o,W as d,aO as B}from"./-NXdyIEV.js";const V=y({__name:"SecretsTable",props:B({projectId:{},data:{},loading:{type:Boolean},hideHeader:{type:Boolean},height:{}},{search:{},searchModifiers:{},sortBy:{},sortByModifiers:{},page:{},pageModifiers:{},itemsPerPage:{},itemsPerPageModifiers:{}}),emits:["update:search","update:sortBy","update:page","update:itemsPerPage"],setup(a){const n=s(a,"search"),m=s(a,"sortBy"),l=s(a,"page"),g=s(a,"itemsPerPage"),p=[{...r.name,headerProps:{defaultPrimaryIcon:"mdi:key"}},r.id,{key:"owner",title:"Owner"},r.createdAt,{title:"Value",key:"value"},r.actions];return(b,t)=>(P(),v(i(u),{search:n.value,"onUpdate:search":t[0]||(t[0]=e=>n.value=e),"sort-by":m.value,"onUpdate:sortBy":t[1]||(t[1]=e=>m.value=e),page:l.value,"onUpdate:page":t[2]||(t[2]=e=>l.value=e),"items-per-page":g.value,"onUpdate:itemsPerPage":t[3]||(t[3]=e=>g.value=e),headers:p,data:a.data,loading:a.loading,"hide-header":a.hideHeader,height:a.height},{"item.owner":o(({item:e})=>[d(i(c),{item:e},null,8,["item"])]),"item.value":o(({item:e})=>[d(i(f),{"secret-id":e.id,"project-id":a.projectId},null,8,["secret-id","project-id"])]),"item.actions":o(({item:e})=>[d(i(h),{"page-name":"settings.secret-details","page-params":{projectId:a.projectId,secretId:e.id}},null,8,["page-params"])]),_:1},8,["search","sort-by","page","items-per-page","data","loading","hide-header","height"]))}});export{V as _};
@@ -1 +1 @@
1
- {"id":"8e5022d6-1d1c-4861-b0b7-dc52b699526a","timestamp":1787415077384}
1
+ {"id":"896f98e5-6836-4bb1-bc34-632dabf08388","timestamp":1787986474347}
@@ -0,0 +1 @@
1
+ {"id":"896f98e5-6836-4bb1-bc34-632dabf08388","timestamp":1787986474347,"prerendered":[]}
@@ -1 +1 @@
1
- .version-selector[data-v-44318f39]{width:88px}.sidebar-container[data-v-26fdc1ba]{height:100%}.search[data-v-26fdc1ba]{max-height:40px}.component-list-container[data-v-26fdc1ba]{height:calc(100% - 112px);margin-bottom:-8px;margin-right:-14px;overflow-x:hidden;overflow-y:auto;padding-right:14px}
1
+ .version-selector[data-v-44318f39]{width:88px}.sidebar-container[data-v-e391f1aa]{height:100%}.search[data-v-e391f1aa]{max-height:40px}.component-list-container[data-v-e391f1aa]{height:calc(100% - 112px);margin-bottom:-8px;margin-right:-14px;overflow-x:hidden;overflow-y:auto;padding-right:14px}
@@ -1 +1 @@
1
- import{g as _,i as U,k as H,_ as R}from"#entry";import{_ as A,c as E}from"./-WgkZJwX.js";import{E as F,aG as z,w as D,V,Y as T,_ as s,W as t,ai as $,aH as W,a as k,D as n,aj as L,ak as N,as as B,a2 as d,Z as w,$ as l,aI as Y,aJ as q,aK as J,at as S,ah as K,r as c,j as G,H as Z,M as O,J as P,aL as Q,aM as X,a0 as x,am as ee,ap as C,an as te,aa as I,ab as ae,x as se}from"./77UvFSdd.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./BzbjXxJd.js";const oe={class:"mb-4"},le={class:"text-subtitle-1 font-weight-medium mb-2"},ne=F({__name:"NewProjectDialog",props:{visible:{type:Boolean},visibleModifiers:{}},emits:["update:visible"],setup(j){const p=z(j,"visible"),f=c(!1),y=c(!1),r=c(""),m=c(""),v=c(),g=c({type:"password",title:"",description:"",password:"",confirmPassword:""}),h=[o=>!!o||"Name is required",o=>o&&o.length<=64||"Name must be less than 64 characters",o=>/^[a-z0-9-\.]+$/.test(o)||"Name must be alphanumeric in lowercase with dashes (-) and dots (.)",o=>/^[a-z]/i.test(o)||"Name must start with a letter"],b=_(),a=U(),u=G(()=>f.value&&y.value),M=async()=>{if(!u.value)return;const o=await E(g.value),e=await b.createProject(r.value,{title:m.value},o);a.openProjectPanel(e.id),p.value=!1,r.value="",v.value?.resetForm()};return D(p,o=>{o||(r.value="",v.value?.resetForm())}),D(r,o=>{m.value=H(o)}),(o,e)=>(V(),T(K,{modelValue:p.value,"onUpdate:modelValue":e[6]||(e[6]=i=>p.value=i),"max-width":"600px"},{default:s(()=>[t($,{title:"New project",color:"#2d2d2d"},{default:s(()=>[t(W,{modelValue:n(f),"onUpdate:modelValue":e[5]||(e[5]=i=>k(f)?f.value=i:null)},{default:s(()=>[t(L,null,{default:s(()=>[t(N,{modelValue:n(r),"onUpdate:modelValue":e[0]||(e[0]=i=>k(r)?r.value=i:null),class:"mb-4",variant:"outlined",density:"compact",label:"Name",rules:h,placeholder:"my-awesome-project",hint:"Name must be unique across all repositories connected to the same storage","persistent-hint":""},null,8,["modelValue"]),t(N,{modelValue:n(m),"onUpdate:modelValue":e[1]||(e[1]=i=>k(m)?m.value=i:null),class:"mb-4",variant:"outlined",density:"compact",label:"Title",hint:"A human-readable title for your project","persistent-hint":""},null,8,["modelValue"]),t(B,{class:"my-6"}),d("div",oe,[d("h3",le,[t(w,{class:"mr-2"},{default:s(()=>[...e[7]||(e[7]=[l("mdi-lock-outline",-1)])]),_:1}),e[8]||(e[8]=l(" Unlock Method ",-1))]),e[9]||(e[9]=d("p",{class:"text-body-2 text-medium-emphasis mb-4"}," This method will be used to encrypt your project secrets and state data. You can add more unlock methods later. ",-1))]),t(n(A),{ref_key:"unlockMethodForm",ref:v,"show-type-selector":!0,"show-description":!1,"show-display-name":!1,"display-name-label":"Unlock Method Name","display-name-hint":"A friendly name for your unlock method","password-hint":"Password must be strong enough to resist offline attacks","default-display-name":"Default","default-description":"The initial unlock method configured when creating the project.","onUpdate:valid":e[2]||(e[2]=i=>y.value=i),"onUpdate:form":e[3]||(e[3]=i=>g.value=i)},null,512),t(Y,{type:"warning",density:"compact",class:"mt-4"},{default:s(()=>[...e[10]||(e[10]=[d("div",{class:"ml-2"},[d("strong",null,"Important:"),l(" Losing your unlock method will result in losing control over the created resources! ")],-1)])]),_:1})]),_:1}),t(q,null,{default:s(()=>[t(J),t(S,{onClick:e[4]||(e[4]=i=>p.value=!1)},{default:s(()=>[...e[11]||(e[11]=[l("Cancel",-1)])]),_:1}),t(S,{disabled:!n(u),loading:n(b).loadingCreateProject,onClick:M},{default:s(()=>[...e[12]||(e[12]=[l(" Create ",-1)])]),_:1},8,["disabled","loading"])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["modelValue"]))}}),re=""+new URL("hira-1.DuDDiA5P.png",import.meta.url).href,ie=globalThis.setInterval,de={class:"main-menu-container"},ue={class:"content-layout"},me={class:"project-list"},ce={class:"mascot-container"},pe={class:"catchphrase-text text-h6"},fe=F({__name:"index",props:{params:{}},setup(j){const p=_(),f=U(),y=se(),r=c(!1),m=["Let's orchestrate this beautifully!","State is everything!","No infrastructure left behind!","Visual first, code second!","Infrastructure should be as elegant as it is functional!","Time to sync the state!","Ready to deploy some magic?","Every good system starts with a solid foundation!","Building the future, one container at a time!","Kubernetes makes everything better... except debugging!","Your infrastructure deserves some love too!","Who needs sleep when you have perfectly orchestrated deployments?","Configuration drift is my arch-nemesis!","Monitoring dashboards are my happy place!","Clean architecture is the key to digital zen!","Infrastructure as art, code as poetry!","Scaling up? Scaling out? Let's scale with style!","Error 404: Downtime not found!","Highstate слабее ArgoCD и FluxCD, но в цирке не выступает!"],v=c(""),g=()=>{const b=Math.floor(Math.random()*m.length);return m[b]};v.value=g();let h;return Z(()=>{h=ie(()=>{v.value=g()},1e4)}),O(()=>{h&&clearInterval(h)}),(b,a)=>(V(),P(I,null,[d("div",de,[d("div",ue,[t($,{variant:"text",class:"project-card-inner"},{default:s(()=>[t(L,null,{default:s(()=>[t(Q,{class:"text-center text-uppercase text-bold"},{default:s(()=>[...a[3]||(a[3]=[l("Highstate Designer",-1)])]),_:1}),t(X,{class:"text-center"},{default:s(()=>[l(" v"+x(n(y).public.version)+" • Все зонды удалены ",1)]),_:1}),t(B,{class:"mt-4"}),t(ee,{variant:"flat",class:"main-menu-list"},{default:s(()=>[t(C,{class:"list-item list-button",onClick:a[0]||(a[0]=u=>n(f).openDataSettingsPanel())},{default:s(()=>[t(w,{class:"mr-2"},{default:s(()=>[...a[4]||(a[4]=[l("mdi-database-cog",-1)])]),_:1}),a[5]||(a[5]=l(" Data & Settings ",-1))]),_:1}),t(te,{class:"text-uppercase"},{default:s(()=>[...a[6]||(a[6]=[l("Projects",-1)])]),_:1}),d("div",me,[(V(!0),P(I,null,ae(n(p).projects,u=>(V(),T(C,{key:u.id,class:"list-item",onClick:M=>n(f).openProjectPanel(u.id)},{default:s(()=>[t(w,{class:"mr-2"},{default:s(()=>[...a[7]||(a[7]=[l("mdi-folder",-1)])]),_:1}),l(" "+x(u.meta.title),1)]),_:2},1032,["onClick"]))),128))]),t(C,{class:"list-item",onClick:a[1]||(a[1]=u=>r.value=!0)},{default:s(()=>[t(w,{class:"mr-2"},{default:s(()=>[...a[8]||(a[8]=[l("mdi-plus",-1)])]),_:1}),a[9]||(a[9]=l(" Create new project ",-1))]),_:1})]),_:1})]),_:1})]),_:1}),d("div",ce,[a[10]||(a[10]=d("img",{src:re,alt:"Hira Nakamura - Highstate Mascot",class:"mascot-image"},null,-1)),d("div",pe,'"'+x(n(v))+'"',1)])])]),t(n(ne),{visible:n(r),"onUpdate:visible":a[2]||(a[2]=u=>k(r)?r.value=u:null)},null,8,["visible"])],64))}}),ke=R(fe,[["__scopeId","data-v-49de3d73"]]);export{ke as default};
1
+ import{g as _,i as U,k as H,_ as R}from"#entry";import{_ as A,c as E}from"./p1qmzON1.js";import{E as F,aG as z,w as D,V,Y as T,_ as s,W as t,ai as $,aH as W,a as k,D as n,aj as L,ak as N,as as B,a2 as d,Z as w,$ as l,aI as Y,aJ as q,aK as J,at as S,ah as K,r as c,j as G,H as Z,M as O,J as P,aL as Q,aM as X,a0 as x,am as ee,ap as C,an as te,aa as I,ab as ae,x as se}from"./-NXdyIEV.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./DyDuNLRY.js";const oe={class:"mb-4"},le={class:"text-subtitle-1 font-weight-medium mb-2"},ne=F({__name:"NewProjectDialog",props:{visible:{type:Boolean},visibleModifiers:{}},emits:["update:visible"],setup(j){const p=z(j,"visible"),f=c(!1),y=c(!1),r=c(""),m=c(""),v=c(),g=c({type:"password",title:"",description:"",password:"",confirmPassword:""}),h=[o=>!!o||"Name is required",o=>o&&o.length<=64||"Name must be less than 64 characters",o=>/^[a-z0-9-\.]+$/.test(o)||"Name must be alphanumeric in lowercase with dashes (-) and dots (.)",o=>/^[a-z]/i.test(o)||"Name must start with a letter"],b=_(),a=U(),u=G(()=>f.value&&y.value),M=async()=>{if(!u.value)return;const o=await E(g.value),e=await b.createProject(r.value,{title:m.value},o);a.openProjectPanel(e.id),p.value=!1,r.value="",v.value?.resetForm()};return D(p,o=>{o||(r.value="",v.value?.resetForm())}),D(r,o=>{m.value=H(o)}),(o,e)=>(V(),T(K,{modelValue:p.value,"onUpdate:modelValue":e[6]||(e[6]=i=>p.value=i),"max-width":"600px"},{default:s(()=>[t($,{title:"New project",color:"#2d2d2d"},{default:s(()=>[t(W,{modelValue:n(f),"onUpdate:modelValue":e[5]||(e[5]=i=>k(f)?f.value=i:null)},{default:s(()=>[t(L,null,{default:s(()=>[t(N,{modelValue:n(r),"onUpdate:modelValue":e[0]||(e[0]=i=>k(r)?r.value=i:null),class:"mb-4",variant:"outlined",density:"compact",label:"Name",rules:h,placeholder:"my-awesome-project",hint:"Name must be unique across all repositories connected to the same storage","persistent-hint":""},null,8,["modelValue"]),t(N,{modelValue:n(m),"onUpdate:modelValue":e[1]||(e[1]=i=>k(m)?m.value=i:null),class:"mb-4",variant:"outlined",density:"compact",label:"Title",hint:"A human-readable title for your project","persistent-hint":""},null,8,["modelValue"]),t(B,{class:"my-6"}),d("div",oe,[d("h3",le,[t(w,{class:"mr-2"},{default:s(()=>[...e[7]||(e[7]=[l("mdi-lock-outline",-1)])]),_:1}),e[8]||(e[8]=l(" Unlock Method ",-1))]),e[9]||(e[9]=d("p",{class:"text-body-2 text-medium-emphasis mb-4"}," This method will be used to encrypt your project secrets and state data. You can add more unlock methods later. ",-1))]),t(n(A),{ref_key:"unlockMethodForm",ref:v,"show-type-selector":!0,"show-description":!1,"show-display-name":!1,"display-name-label":"Unlock Method Name","display-name-hint":"A friendly name for your unlock method","password-hint":"Password must be strong enough to resist offline attacks","default-display-name":"Default","default-description":"The initial unlock method configured when creating the project.","onUpdate:valid":e[2]||(e[2]=i=>y.value=i),"onUpdate:form":e[3]||(e[3]=i=>g.value=i)},null,512),t(Y,{type:"warning",density:"compact",class:"mt-4"},{default:s(()=>[...e[10]||(e[10]=[d("div",{class:"ml-2"},[d("strong",null,"Important:"),l(" Losing your unlock method will result in losing control over the created resources! ")],-1)])]),_:1})]),_:1}),t(q,null,{default:s(()=>[t(J),t(S,{onClick:e[4]||(e[4]=i=>p.value=!1)},{default:s(()=>[...e[11]||(e[11]=[l("Cancel",-1)])]),_:1}),t(S,{disabled:!n(u),loading:n(b).loadingCreateProject,onClick:M},{default:s(()=>[...e[12]||(e[12]=[l(" Create ",-1)])]),_:1},8,["disabled","loading"])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["modelValue"]))}}),re=""+new URL("hira-1.DuDDiA5P.png",import.meta.url).href,ie=globalThis.setInterval,de={class:"main-menu-container"},ue={class:"content-layout"},me={class:"project-list"},ce={class:"mascot-container"},pe={class:"catchphrase-text text-h6"},fe=F({__name:"index",props:{params:{}},setup(j){const p=_(),f=U(),y=se(),r=c(!1),m=["Let's orchestrate this beautifully!","State is everything!","No infrastructure left behind!","Visual first, code second!","Infrastructure should be as elegant as it is functional!","Time to sync the state!","Ready to deploy some magic?","Every good system starts with a solid foundation!","Building the future, one container at a time!","Kubernetes makes everything better... except debugging!","Your infrastructure deserves some love too!","Who needs sleep when you have perfectly orchestrated deployments?","Configuration drift is my arch-nemesis!","Monitoring dashboards are my happy place!","Clean architecture is the key to digital zen!","Infrastructure as art, code as poetry!","Scaling up? Scaling out? Let's scale with style!","Error 404: Downtime not found!","Highstate слабее ArgoCD и FluxCD, но в цирке не выступает!"],v=c(""),g=()=>{const b=Math.floor(Math.random()*m.length);return m[b]};v.value=g();let h;return Z(()=>{h=ie(()=>{v.value=g()},1e4)}),O(()=>{h&&clearInterval(h)}),(b,a)=>(V(),P(I,null,[d("div",de,[d("div",ue,[t($,{variant:"text",class:"project-card-inner"},{default:s(()=>[t(L,null,{default:s(()=>[t(Q,{class:"text-center text-uppercase text-bold"},{default:s(()=>[...a[3]||(a[3]=[l("Highstate Designer",-1)])]),_:1}),t(X,{class:"text-center"},{default:s(()=>[l(" v"+x(n(y).public.version)+" • Все зонды удалены ",1)]),_:1}),t(B,{class:"mt-4"}),t(ee,{variant:"flat",class:"main-menu-list"},{default:s(()=>[t(C,{class:"list-item list-button",onClick:a[0]||(a[0]=u=>n(f).openDataSettingsPanel())},{default:s(()=>[t(w,{class:"mr-2"},{default:s(()=>[...a[4]||(a[4]=[l("mdi-database-cog",-1)])]),_:1}),a[5]||(a[5]=l(" Data & Settings ",-1))]),_:1}),t(te,{class:"text-uppercase"},{default:s(()=>[...a[6]||(a[6]=[l("Projects",-1)])]),_:1}),d("div",me,[(V(!0),P(I,null,ae(n(p).projects,u=>(V(),T(C,{key:u.id,class:"list-item",onClick:M=>n(f).openProjectPanel(u.id)},{default:s(()=>[t(w,{class:"mr-2"},{default:s(()=>[...a[7]||(a[7]=[l("mdi-folder",-1)])]),_:1}),l(" "+x(u.meta.title),1)]),_:2},1032,["onClick"]))),128))]),t(C,{class:"list-item",onClick:a[1]||(a[1]=u=>r.value=!0)},{default:s(()=>[t(w,{class:"mr-2"},{default:s(()=>[...a[8]||(a[8]=[l("mdi-plus",-1)])]),_:1}),a[9]||(a[9]=l(" Create new project ",-1))]),_:1})]),_:1})]),_:1})]),_:1}),d("div",ce,[a[10]||(a[10]=d("img",{src:re,alt:"Hira Nakamura - Highstate Mascot",class:"mascot-image"},null,-1)),d("div",pe,'"'+x(n(v))+'"',1)])])]),t(n(ne),{visible:n(r),"onUpdate:visible":a[2]||(a[2]=u=>k(r)?r.value=u:null)},null,8,["visible"])],64))}}),ke=R(fe,[["__scopeId","data-v-01f1f778"]]);export{ke as default};