@highstate/designer 0.9.32 → 0.9.33

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 (93) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/AV0MK5it.js +1 -0
  3. package/.output/public/_nuxt/{By3d8et0.js → B-tzHMOR.js} +1 -1
  4. package/.output/public/_nuxt/{BwKX83xG.js → B9QOj8at.js} +1 -1
  5. package/.output/public/_nuxt/{EKb4dcZD.js → BDCIi1Fb.js} +1 -1
  6. package/.output/public/_nuxt/{BJ21GASr.js → BIoksCZ6.js} +1 -1
  7. package/.output/public/_nuxt/BKe7h20I.js +2 -0
  8. package/.output/public/_nuxt/{DOOqMYtP.js → BL-2dw2H.js} +2 -2
  9. package/.output/public/_nuxt/{y1_fPoH6.js → BM49jZle.js} +1 -1
  10. package/.output/public/_nuxt/{Qwu5ZxYn.js → BNR_JCLq.js} +1 -1
  11. package/.output/public/_nuxt/{DDmfmNNV.js → BOoETPDV.js} +1 -1
  12. package/.output/public/_nuxt/BQy0v27R.js +1 -0
  13. package/.output/public/_nuxt/{TK2XJUoZ.js → BXaX6_oe.js} +1 -1
  14. package/.output/public/_nuxt/{CRDApjgr.js → B_v2zcbf.js} +1 -1
  15. package/.output/public/_nuxt/{BMvztuV8.js → BcG6zz3f.js} +1 -1
  16. package/.output/public/_nuxt/BcoNctsL.js +1 -0
  17. package/.output/public/_nuxt/BkNdYhVU.js +1 -0
  18. package/.output/public/_nuxt/{t4iuue3N.js → BlqvLz7f.js} +1 -1
  19. package/.output/public/_nuxt/{BA1jOVVK.js → BskLrcgq.js} +1 -1
  20. package/.output/public/_nuxt/BuN5GOse.js +1 -0
  21. package/.output/public/_nuxt/{Dp4BYkpR.js → ByQEjDj-.js} +1 -1
  22. package/.output/public/_nuxt/{Bt2qYRi5.js → BzLYComM.js} +1 -1
  23. package/.output/public/_nuxt/{CIEevd3G.js → C5w7DwS9.js} +1 -1
  24. package/.output/public/_nuxt/CDPuLdqk.js +1 -0
  25. package/.output/public/_nuxt/{BeLGiGAM.js → CFtPCidf.js} +1 -1
  26. package/.output/public/_nuxt/{B66e5Lr3.js → CGIsbOqt.js} +1 -1
  27. package/.output/public/_nuxt/{DbWDZVK4.js → CJ9AjueP.js} +1 -1
  28. package/.output/public/_nuxt/{A58q4jyj.js → CPh4u-Ki.js} +1 -1
  29. package/.output/public/_nuxt/{BxlUPmmS.js → CXRolcM8.js} +1 -1
  30. package/.output/public/_nuxt/{D8XD7kAx.js → CjxVmS5D.js} +1 -1
  31. package/.output/public/_nuxt/{BOkyi76q.js → CpCar6eJ.js} +1 -1
  32. package/.output/public/_nuxt/Cvl8iHT_.js +1 -0
  33. package/.output/public/_nuxt/{ZHHaViAY.js → D-IcYK3n.js} +1 -1
  34. package/.output/public/_nuxt/{Bv0mfTEl.js → D12QiTSl.js} +1 -1
  35. package/.output/public/_nuxt/{V3QPgH7p.js → D2hOj9XC.js} +1 -1
  36. package/.output/public/_nuxt/{C0pr3b94.js → D4I3CwV0.js} +7 -7
  37. package/.output/public/_nuxt/{BrYBlVvR.js → D5xa2_5u.js} +1 -1
  38. package/.output/public/_nuxt/{DCm1KkXo.js → DA66NkQb.js} +1 -1
  39. package/.output/public/_nuxt/{CynX-fc0.js → DDEihc9R.js} +1 -1
  40. package/.output/public/_nuxt/{4_BvSMSB.js → DQF3Xngg.js} +1 -1
  41. package/.output/public/_nuxt/{nK29AdXm.js → DSVU4Cl7.js} +1 -1
  42. package/.output/public/_nuxt/{BeJLAabH.js → DStOH21o.js} +1 -1
  43. package/.output/public/_nuxt/{qcAYxILn.js → DX2ssmvF.js} +1 -1
  44. package/.output/public/_nuxt/{tC6GUGfV.js → DeCCkKCn.js} +1 -1
  45. package/.output/public/_nuxt/DizFB7BZ.js +1 -0
  46. package/.output/public/_nuxt/{BDGK4R8G.js → Dj-ZGW1B.js} +1 -1
  47. package/.output/public/_nuxt/{iEZeC4im.js → DkPrE8g-.js} +1 -1
  48. package/.output/public/_nuxt/{jwlf7Zb6.js → Dlt67GMf.js} +1 -1
  49. package/.output/public/_nuxt/{2wGc8G-a.js → DmCOOqTD.js} +1 -1
  50. package/.output/public/_nuxt/{BJb7iTD-.js → Dn-R_Odm.js} +1 -1
  51. package/.output/public/_nuxt/{CdT0dBVm.js → DnodTinn.js} +1 -1
  52. package/.output/public/_nuxt/{CfS1NLi3.js → DpCgGkMV.js} +1 -1
  53. package/.output/public/_nuxt/{sNd89Uej.js → DqcsB7RK.js} +1 -1
  54. package/.output/public/_nuxt/Dqe2EjXB.js +16 -0
  55. package/.output/public/_nuxt/{DXjKBs9C.js → DtufO5Sm.js} +1 -1
  56. package/.output/public/_nuxt/{DFehgkCX.js → Du2xhFnN.js} +1 -1
  57. package/.output/public/_nuxt/{DSDS7L84.js → FQpR5TAR.js} +1 -1
  58. package/.output/public/_nuxt/{CINcSeGB.js → G0kTzIhG.js} +1 -1
  59. package/.output/public/_nuxt/{lavOTP7i.js → GaMchdM_.js} +18 -18
  60. package/.output/public/_nuxt/{BvDqvtaa.js → LPrTxMoA.js} +1 -1
  61. package/.output/public/_nuxt/{CMK3ZjMt.js → NHPpYOb8.js} +1 -1
  62. package/.output/public/_nuxt/{Clm0APaL.js → Q0n-WHNk.js} +1 -1
  63. package/.output/public/_nuxt/{BljP9iCe.js → RIDdiPVc.js} +1 -1
  64. package/.output/public/_nuxt/{YP1-T6Kp.js → RJCesp1_.js} +1 -1
  65. package/.output/public/_nuxt/{BsWEx-ds.js → TwbepanP.js} +1 -1
  66. package/.output/public/_nuxt/{C-DRE6gp.js → UlOiG1et.js} +1 -1
  67. package/.output/public/_nuxt/builds/latest.json +1 -1
  68. package/.output/public/_nuxt/builds/meta/d0a92083-1f47-4139-9775-0d6904d00cff.json +1 -0
  69. package/.output/public/_nuxt/{entry.Di59EEvj.css → entry.BmVIGwdf.css} +1 -1
  70. package/.output/public/_nuxt/{BuyuJpoa.js → gL-G5cIZ.js} +1 -1
  71. package/.output/public/_nuxt/{DoKDKt4v.js → gMNeqWrU.js} +1 -1
  72. package/.output/public/_nuxt/{DLF8e31E.js → gbAWFwGr.js} +1 -1
  73. package/.output/public/_nuxt/{graph-resolver-CBIFuWQv.js → graph-resolver-DPkIWjud.js} +1 -1
  74. package/.output/public/_nuxt/{Duqlok3y.js → hR6-a8C4.js} +1 -1
  75. package/.output/public/_nuxt/{CJvwvAqP.js → n5hdtVlR.js} +1 -1
  76. package/.output/public/_nuxt/operations.D9z3Ystv.css +1 -0
  77. package/.output/public/_nuxt/{vuetify.C8i0SvP7.css → vuetify.BqwNhQ76.css} +1 -1
  78. package/.output/public/_nuxt/{DosuBG32.js → yCy9iX43.js} +1 -1
  79. package/.output/public/_nuxt/{Bb6e6SIn.js → zOx78ZE1.js} +1 -1
  80. package/.output/public/_nuxt/{DXiF0BBA.js → zzXvEwMy.js} +1 -1
  81. package/.output/server/index.mjs +1098 -1050
  82. package/.output/server/package.json +1 -1
  83. package/package.json +5 -5
  84. package/.output/public/_nuxt/2eVGFeti.js +0 -1
  85. package/.output/public/_nuxt/5nZ5NYGd.js +0 -16
  86. package/.output/public/_nuxt/BH1RZZWo.js +0 -1
  87. package/.output/public/_nuxt/BS13dqDM.js +0 -1
  88. package/.output/public/_nuxt/CPDn8T45.js +0 -1
  89. package/.output/public/_nuxt/CvyQPAPs.js +0 -2
  90. package/.output/public/_nuxt/builds/meta/35275f64-d6d7-4e7e-baee-c978f4c4400c.json +0 -1
  91. package/.output/public/_nuxt/gt3opOQe.js +0 -1
  92. package/.output/public/_nuxt/operations.B7FA252u.css +0 -1
  93. package/.output/public/_nuxt/tb_Ay_yM.js +0 -1
@@ -0,0 +1 @@
1
+ import{q as G,I as he,a_ as we,a$ as ke,_ as me,g as ve,aC as fe,aR as ae,n as Ie,ap as Se,au as Ce,b0 as $e,aD as Ve}from"#entry";import{F as j,aO as J,av as X,Z as S,W as d,aw as le,a1 as l,X as n,aE as Z,ay as _,aC as re,aD as de,ai as Y,a2 as B,j as x,_ as T,a3 as q,G as e,aS as xe,aW as ee,L as F,aN as De,$ as M,ac as ye,a9 as R,af as Q,b8 as oe,aB as ue,r as V,w as K,bb as Te,bc as Oe,bd as ce,az as Pe,b as H,aR as Me,aA as W,a0 as ie,a$ as Ue,aH as Fe,aJ as se,be as Be,m as Ne,O as Ae,ab as Le}from"./CJ9AjueP.js";import{H as Ee,_ as Re}from"./Dqe2EjXB.js";import{I as je}from"./BKe7h20I.js";import"./BmhnSWN5.js";import{a as E,_ as ze}from"./AV0MK5it.js";import{a as He}from"./BDCIi1Fb.js";import{P as We}from"./D4I3CwV0.js";const qe=j({__name:"PageDialog",props:J({meta:{},content:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:["update:visible"],setup(a){const o=X(a,"visible");return(g,p)=>(d(),S(le,{modelValue:o.value,"onUpdate:modelValue":p[1]||(p[1]=y=>o.value=y),"max-width":"80vh","max-height":"60vh"},{default:l(()=>[n(Z,{title:g.meta.title,color:"#2d2d2d"},{default:l(()=>[n(_,{style:{"overflow-y":"scroll"}},{default:l(()=>[n(We,{content:g.content},null,8,["content"])]),_:1}),n(re,null,{default:l(()=>[n(de),n(Y,{onClick:p[0]||(p[0]=y=>o.value=!1)},{default:l(()=>p[2]||(p[2]=[B("Close")])),_:1,__:[2]})]),_:1})]),_:1},8,["title"])]),_:1},8,["modelValue"]))}}),pe=j({__name:"EditorLoader",props:{text:{},value:{}},setup(a){const{instancesStore:o}=G(),g=x(()=>a.value===-1?a.text:`${a.text} ${a.value}/${o.totalInstanceCount}...`);return(p,y)=>p.text?(d(),S(Z,{key:0,variant:"tonal"},{default:l(()=>[n(_,{class:"text-overline"},{default:l(()=>[B(q(e(g)),1)]),_:1}),n(xe,{indeterminate:p.value===-1,"model-value":p.value,max:e(o).totalInstanceCount,height:4,color:"primary",class:"w-full"},null,8,["indeterminate","model-value","max"])]),_:1})):T("",!0)}}),kt=j({__name:"EditorLoaderPopup",setup(a){const{instancesStore:o,stateStore:g}=G(),p=x(()=>o.initializationPhase==="resolving"||g.initializationPhase==="calculating");return(y,m)=>e(p)?(d(),S(Z,{key:0,variant:"tonal"},{default:l(()=>[e(o).initializationPhase==="resolving"?(d(),S(pe,{key:0,text:"Resolving instance inputs",value:e(o).resolvedInstanceCount},null,8,["value"])):T("",!0),e(g).initializationPhase==="calculating"?(d(),S(pe,{key:1,text:"Detecting instance changes",value:e(g).calculatedInputHashCount},null,8,["value"])):T("",!0)]),_:1})):T("",!0)}}),It=j({__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(a){const{stateStore:o}=G(),g=ee("contextMenu");return(p,y)=>(d(),S(Ee,{hub:p.data.hub,onContextmenu:y[0]||(y[0]=m=>e(g)?.showContextMenu(m))},{default:l(()=>[n(e(ge),{ref_key:"contextMenu",ref:g,title:"Hub",subtitle:p.data.hub.id,"is-deletable":m=>e(o).isNodeDeletable(m)},null,8,["subtitle","is-deletable"])]),_:1},8,["hub"]))}}),Ge={key:0},Je={class:"d-flex flex-column"},Xe={key:0,class:"text-caption text-medium-emphasis"},Ye={key:1,class:"text-body-2 text-medium-emphasis pa-4"},Ze=j({__name:"OperationPlanTree",props:{phases:{}},setup(a){const{instancesStore:o,libraryStore:g}=G(),p=x(()=>{const f=[];for(const t of a.phases){const r={id:`phase-${t.type}`,title:`${t.type.charAt(0).toUpperCase()+t.type.slice(1)} Phase`,subtitle:`${t.instances.length} instance${t.instances.length===1?"":"s"}`,icon:b(t.type),iconColor:u(t.type),phaseType:t.type,children:[]},s=y(t.instances);r.children=s,f.push(r)}return f}),y=f=>{const t=new Map;for(const s of f)t.has(s.id)||t.set(s.id,{...s,children:[]});for(const s of f)s.parentId&&t.has(s.parentId)&&t.get(s.parentId).children.push(s);return f.filter(s=>!s.parentId||!t.has(s.parentId)).map(s=>m(s,t))},m=(f,t)=>{const r=o.instances.get(f.id),s=r?g.library.components[r.type]:null,w={id:f.id,title:s&&r?`${s.meta.title} "${r.name}"`:f.id,subtitle:f.message,icon:s?.meta.icon??"iconamoon:component",iconColor:s?.meta.iconColor,phaseType:"instance"},O=t.get(f.id);return O&&O.children.length>0&&(w.children=O.children.map(h=>m(h,t))),w},b=f=>{switch(f){case"preview":return"mdi-eye";case"destroy":return"mdi-delete";case"update":return"mdi-update";case"refresh":return"mdi-refresh";default:return"mdi-cog"}},u=f=>{switch(f){case"preview":return"secondary";case"destroy":return"error";case"update":return"primary";case"refresh":return"info";default:return"secondary"}};return(f,t)=>f.phases.length>0?(d(),F("div",Ge,[n(De,{items:e(p),"item-title":"title","item-value":"id",density:"compact","open-all":"","indent-lines":"","bg-color":"#2d2d2d"},{prepend:l(({item:r})=>[n(e(he),{icon:r.icon,color:r.iconColor,width:"20",class:"mr-2"},null,8,["icon","color"])]),title:l(({item:r})=>[M("div",Je,[M("div",{class:ye(["text-body-2",r.phaseType==="instance"?"font-weight-regular":"font-weight-medium"])},q(r.title),3),r.subtitle?(d(),F("div",Xe,q(r.subtitle),1)):T("",!0)])]),_:1},8,["items"])])):(d(),F("div",Ye," No changes planned for this operation. "))}}),Ke={key:0},Qe={class:"text-caption"},_e=j({__name:"OperationOptions",props:J({operation:{}},{options:{default:{}},optionsModifiers:{}}),emits:["update:options"],setup(a){const o=X(a,"options"),g=[{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:"ignoreDependencies",label:"Ignore dependencies",description:"Skip dependency inclusion entirely. Only the requested instances are operated on, even if their dependencies are outdated or failed.",warning:"Ignoring dependencies will skip undeployed or failed prerequisites. Expect the operation to fail unless every required instance is handled manually.",showForOperations:["update"]},{key:"forceUpdateChildren",label:"Force update children instances",description:"Force update all children of composite instances regardless of their state. Overrides selective child inclusion logic.",showForOperations:["update"]},{key:"destroyDependentInstances",label:"Destroy dependent instances",description:"Include dependent instances when destroying instances. Traverses the dependency graph in reverse to prevent orphaned instances.",defaultValue:!0,showForOperations:["destroy","recreate"]},{key:"invokeDestroyTriggers",label:"Invoke destroy triggers",description:"Execute destroy triggers when destroying instances. Controls trigger execution during the destruction phase.",defaultValue:!0},{key:"deleteUnreachableResources",label:"Delete unreachable resources",description:"Delete Pulumi resources that are no longer referenced in the state. Deletes orphaned resources within individual instances.",warning:"All resources that will not be reachable at the moment of the destroy operation will be removed from the state. Only use when you are sure that these resources do not actually exist!"},{key:"forceDeleteState",label:"Force delete state",description:"Force deletion of instance state even if the destroy operation fails. Bypasses normal destroy procedures as emergency fallback.",warning:"This will delete the stack state and all resources in it even if the destroy operation failed. Use only when the stack is unrecoverable and you want to start from scratch.",showForOperations:["destroy"]},{key:"allowPartialCompositeInstanceUpdate",label:"Allow partial update of composite instances",description:"Allow update of individual composite children without requiring all siblings. When enabled, only necessary children are included.",showForOperations:["update","recreate"]},{key:"allowPartialCompositeInstanceDestruction",label:"Allow partial destruction of composite instances",description:"Allow partial destruction of composite instances during cascade operations. When enabled, cascade destruction includes only directly dependent children.",showForOperations:["destroy","recreate"]},{key:"refresh",label:"Refresh state before operation",description:"Also refresh the state of instances during the operation. Synchronizes state with actual infrastructure."},{key:"debug",label:"Enable debug logging",description:"Enable debug logging for Pulumi engine and resource providers. Sets TF_LOG=DEBUG for Terraform providers.",warning:"Debug mode may expose sensitive information including credentials in the logs. Use only when absolutely necessary for troubleshooting."}],p=x(()=>g.filter(m=>m.showForOperations?m.showForOperations.includes(a.operation):!0)),y=(m,b)=>{const u=b??!1;m==="forceUpdateDependencies"&&u&&(o.value.ignoreDependencies=!1),m==="ignoreDependencies"&&u&&(o.value.forceUpdateDependencies=!1),o.value[m]=u};return(m,b)=>o.value?(d(),F("div",Ke,[(d(!0),F(R,null,Q(e(p),u=>(d(),F(R,{key:u.key},[n(oe,{"model-value":o.value[u.key],"onUpdate:modelValue":f=>y(u.key,f),class:ye(u===e(p)[0]?"mt-2":""),label:u.label,density:"compact","hide-details":""},null,8,["model-value","onUpdate:modelValue","class","label"]),M("div",Qe,q(u.description),1)],64))),128)),(d(!0),F(R,null,Q(e(p),u=>(d(),F(R,{key:`warning-${u.key}`},[u.warning&&o.value[u.key]?(d(),S(ue,{key:0,density:"compact",type:"warning",variant:"outlined",class:"mt-4"},{default:l(()=>[B(q(u.warning),1)]),_:2},1024)):T("",!0)],64))),128))])):T("",!0)}}),et={class:"metadata-section"},tt={class:"options-header"},nt={class:"text-body-2 text-medium-emphasis mb-4"},at={class:"options-scrollable"},st={class:"plan-header"},ot={class:"plan-scrollable"},it=j({__name:"InstanceOperationDialog",props:J({instances:{},component:{},operation:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:["update:visible"],setup(a){const o=X(a,"visible"),{operationsStore:g,projectStore:p}=G(),y=x(()=>a.instances.length>1),m=x(()=>a.instances[0]),b=V({forceUpdateDependencies:!1,ignoreDependencies:!1,forceUpdateChildren:!1,destroyDependentInstances:!1,invokeDestroyTriggers:!0,deleteUnreachableResources:!1,forceDeleteState:!1,allowPartialCompositeInstanceUpdate:!1,allowPartialCompositeInstanceDestruction:!1,refresh:!1}),u=V([]),f=V(!1),t=V(null),r=V(""),s=V("");K([()=>a.operation,()=>a.instances],()=>{a.instances.length!==0&&(r.value=y.value?we(a.operation,a.instances):ke(a.operation,m.value),b.value={...b.value,destroyDependentInstances:a.operation==="destroy"})},{immediate:!0}),K(()=>b.value,()=>{w()},{deep:!0}),K(()=>o.value,C=>{C&&w()});const w=async()=>{if(o.value){f.value=!0,t.value=null;try{const C=await g.planOperation({projectId:p.projectId,type:a.operation,instanceIds:a.instances.map(v=>v.id),options:b.value});u.value=C}catch(C){console.error("Failed to load operation plan:",C),t.value=C instanceof Error?C.message:"Unknown error"}finally{f.value=!1}}},O=x(()=>u.value.reduce((C,v)=>C+v.instances.length,0)),h=x(()=>{switch(a.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"}}),$=x(()=>O.value===0?h.value:`${h.value} ${O.value} instance${O.value===1?"":"s"}`),k=x(()=>{switch(a.operation){case"update":return"primary";case"preview":return"secondary";case"refresh":return"info";case"destroy":return"error";case"recreate":return"warning";default:return"primary"}}),N=V(!1),L=async()=>{N.value=!0;try{await g.launchOperation({projectId:p.projectId,type:a.operation,instanceIds:a.instances.map(C=>C.id),options:b.value,meta:{title:r.value,description:s.value}}),o.value=!1}finally{N.value=!1}},z=x(()=>y.value?`${h.value} ${a.instances.length} instances`:a.component?`${h.value} ${a.component.meta.title} "${m.value.name}"`:`${h.value} "${m.value.name}"`);return(C,v)=>(d(),S(le,{modelValue:o.value,"onUpdate:modelValue":v[4]||(v[4]=A=>o.value=A),"max-width":"1200px",class:"operation-dialog"},{default:l(()=>[n(Z,{title:e(z),color:C.component?.meta.color??"#2d2d2d",class:"operation-card"},{prepend:l(()=>[C.component&&!e(y)?(d(),S(e(He),{key:0,meta:C.component.meta},null,8,["meta"])):e(y)?(d(),S(ie,{key:1},{default:l(()=>v[5]||(v[5]=[B("mdi-format-list-bulleted")])),_:1,__:[5]})):(d(),S(ie,{key:2},{default:l(()=>v[6]||(v[6]=[B("mdi-cube-outline")])),_:1,__:[6]}))]),default:l(()=>[n(_,{class:"operation-card-content"},{default:l(()=>[n(Te,{fluid:"",class:"pa-0 fill-height"},{default:l(()=>[n(Oe,{"no-gutters":"",class:"fill-height"},{default:l(()=>[n(ce,{cols:"12",md:"5",class:"pr-md-4 column-container"},{default:l(()=>[M("div",et,[v[7]||(v[7]=M("div",{class:"text-overline mb-2"},"Metadata",-1)),n(Pe,{modelValue:e(r),"onUpdate:modelValue":v[0]||(v[0]=A=>H(r)?r.value=A:null),label:"Title",variant:"outlined",density:"compact",class:"mb-3",hint:"A descriptive title for this operation (optional)","persistent-hint":""},null,8,["modelValue"]),n(Me,{modelValue:e(s),"onUpdate:modelValue":v[1]||(v[1]=A=>H(s)?s.value=A:null),label:"Description",variant:"outlined",density:"compact",rows:"2",hint:"Describe the purpose of this operation (optional)","persistent-hint":""},null,8,["modelValue"])]),n(W,{class:"my-4"}),M("div",tt,[v[10]||(v[10]=M("div",{class:"text-overline mb-2"},"Options",-1)),M("p",nt,[v[8]||(v[8]=B(" Configure how the ")),M("b",null,q(C.operation),1),v[9]||(v[9]=B(" operation should be executed. These options control the behavior and scope of the operation. "))])]),M("div",at,[n(_e,{options:e(b),"onUpdate:options":v[2]||(v[2]=A=>H(b)?b.value=A:null),operation:C.operation},null,8,["options","operation"])])]),_:1}),n(W,{vertical:"",class:"d-none d-md-flex"}),n(ce,{cols:"12",md:"7",class:"pl-md-4 column-container"},{default:l(()=>[M("div",st,[v[11]||(v[11]=M("div",{class:"text-overline mb-2"},"Execution Plan",-1)),v[12]||(v[12]=M("p",{class:"text-body-2 text-medium-emphasis mb-4"}," Preview of instances that will be affected by this operation. The plan shows the execution phases and which instances will be processed. ",-1)),e(t)?(d(),S(ue,{key:0,type:"error",variant:"outlined",density:"compact",class:"mb-3"},{default:l(()=>[B(" Failed to load operation plan: "+q(e(t)),1)]),_:1})):T("",!0)]),M("div",ot,[n(Ze,{phases:e(u)},null,8,["phases"])])]),_:1})]),_:1})]),_:1})]),_:1}),n(re,null,{default:l(()=>[n(de),n(Y,{onClick:v[3]||(v[3]=A=>o.value=!1)},{default:l(()=>v[13]||(v[13]=[B("Cancel")])),_:1,__:[13]}),n(Y,{color:e(k),loading:e(N),disabled:e(f),onClick:L},{default:l(()=>[B(q(e($)),1)]),_:1},8,["color","loading","disabled"])]),_:1})]),_:1},8,["title","color"])]),_:1},8,["modelValue"]))}}),lt=me(it,[["__scopeId","data-v-615f3f21"]]),rt=j({__name:"ForgetInstanceStateDialog",props:J({instance:{},component:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:["update:visible"],setup(a){const o=X(a,"visible"),{stateStore:g}=G(),p=V(!1),y=V(!1),m=V(!1),b=async()=>{p.value=!0;try{await g.forgetInstanceState(a.instance.id,y.value,m.value),o.value=!1}finally{p.value=!1}},u=x(()=>`Forget state of ${a.component.meta.title} "${a.instance.name}"`);return(f,t)=>(d(),S(le,{modelValue:o.value,"onUpdate:modelValue":t[3]||(t[3]=r=>o.value=r),"max-width":"600px"},{default:l(()=>[n(Z,{title:e(u),color:"#2d2d2d"},{default:l(()=>[n(_,null,{default:l(()=>[t[5]||(t[5]=M("div",null," Are you sure you want to forget the state of this instance including Pulumi state? ",-1)),n(oe,{modelValue:e(y),"onUpdate:modelValue":t[0]||(t[0]=r=>H(y)?y.value=r:null),label:"Delete all secrets associated with this instance",density:"compact","hide-details":""},null,8,["modelValue"]),n(oe,{modelValue:e(m),"onUpdate:modelValue":t[1]||(t[1]=r=>H(m)?m.value=r:null),label:"Clear all terminal data associated with this instance",density:"compact","hide-details":""},null,8,["modelValue"]),n(ue,{density:"compact",type:"warning",variant:"outlined",class:"mt-4"},{default:l(()=>t[4]||(t[4]=[M("div",null," No destroy operation will be performed, so all resources will be left in place and unreachable by HighState. ",-1),M("div",null," You should only use this operation when the instance is unreachable/unrecoverable and you want to start from scratch. ",-1)])),_:1,__:[4]})]),_:1,__:[5]}),n(re,null,{default:l(()=>[n(de),n(Y,{onClick:t[2]||(t[2]=r=>o.value=!1)},{default:l(()=>t[6]||(t[6]=[B("Cancel")])),_:1,__:[6]}),n(Y,{loading:e(p),onClick:b},{default:l(()=>t[7]||(t[7]=[B("Forget State")])),_:1,__:[7]},8,["loading"])]),_:1})]),_:1},8,["title"])]),_:1},8,["modelValue"]))}}),dt={class:"session-list-cointainer"},ut=j({__name:"TerminalListSubmenu",props:J({stateId:{},terminalIds:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:["update:visible"],setup(a){const{instancesStore:o,stateStore:g}=G(),{state:p,execute:y,isLoading:m}=g.getTerminalsState(x(()=>a.terminalIds)),{state:b,execute:u,isLoading:f}=o.getTerminalSessionsState(x(()=>a.stateId)),t=X(a,"visible");K(t,h=>{h&&(u(),y())});const r=h=>h.finishedAt?`Finished at ${new Date(h.finishedAt).toLocaleString()}`:`Started at ${new Date(h.startedAt).toLocaleString()}`,s=h=>{const $=Be();return h.finishedAt?"#9E9E9E":$.current.value.colors.success},w=V(null),O=async h=>{w.value=h;try{await o.openTerminal(h,!0)}finally{w.value=null}};return(h,$)=>(d(),S(e(E),{icon:"mdi-console",title:"Terminals"},{append:l(()=>[n(ie,{icon:"mdi-menu-right",size:"x-small"})]),default:l(()=>[n(Ue,{modelValue:t.value,"onUpdate:modelValue":$[0]||($[0]=k=>t.value=k),"open-on-focus":!1,"open-on-hover":"","close-on-content-click":!1,submenu:"",activator:"parent"},{default:l(()=>[n(Fe,{density:"compact",variant:"text"},{default:l(()=>[n(se,{class:"text-overline"},{default:l(()=>$[1]||($[1]=[B("Available Terminals")])),_:1,__:[1]}),(d(!0),F(R,null,Q(e(p),k=>(d(),S(e(E),{key:k.id,disabled:!!e(w),title:k.meta.title,subtitle:k.meta.description,"custom-icon":k.meta.icon,loading:e(w)===k.id,icon:"mdi-console",onClick:N=>O(k.id)},null,8,["disabled","title","subtitle","custom-icon","loading","onClick"]))),128)),n(W,{class:"mt-2 mb-2"}),n(se,{class:"text-overline"},{default:l(()=>$[2]||($[2]=[B("Sessions")])),_:1,__:[2]}),M("div",dt,[(d(!0),F(R,null,Q(e(b),k=>(d(),S(e(E),{key:k.id,title:k.meta.title,subtitle:r(k),"custom-icon":k.meta.icon,icon:"mdi-console",color:s(k),onClick:N=>e(o).openTerminalSession(k)},null,8,["title","subtitle","custom-icon","color","onClick"]))),128))]),e(b).length===0?(d(),S(se,{key:0,class:"text-disabled"},{default:l(()=>$[3]||($[3]=[B(" No sessions found ")])),_:1,__:[3]})):T("",!0)]),_:1})]),_:1},8,["modelValue"])]),_:1}))}}),ct=me(ut,[["__scopeId","data-v-7c86584d"]]),pt=j({__name:"InstanceContextMenu",props:{instance:{},component:{},state:{},stores:{},operation:{},locked:{type:Boolean},editable:{type:Boolean}},setup(a,{expose:o}){const{projectStore:g,stateStore:p,operationsStore:y}=a.stores,m=ve(),{selection:b}=fe(),u=V(!1),f=V(!1),t=V("update"),r=V([]),s=V(!1),w=x(()=>b.selectedInstances.length>1&&b.selectedInstances.some(c=>c.id===a.instance.id)?b.selectedInstances:[a.instance]),O=x(()=>w.value.length>1),h=(i,c,I)=>{if(I==="preview"&&(O.value||i.kind!=="unit"))return!1;const P=Se(c?.lastOperationState?.status);switch(I){case"update":return!P;case"refresh":return ae(c)&&!P;case"preview":return!P;case"recreate":case"destroy":return ae(c)&&!P;default:return!1}},$=i=>w.value.some(c=>{const I=p.instanceStates.get(c.id);return h(c,I,i)}),k=i=>w.value.every(c=>{const I=p.instanceStates.get(c.id);return h(c,I,i)}),N=x(()=>w.value.some(i=>{const c=p.instanceStates.get(i.id);return ae(c)})),L=i=>{const c=w.value.length;return c===1?i==="update"?N.value?"Update":"Create":i.charAt(0).toUpperCase()+i.slice(1):i==="update"?`${N.value?"Update":"Create"} selected (${c})`:`${i.charAt(0).toUpperCase()+i.slice(1)} selected (${c})`},z=i=>{if(O.value)return"mdi-format-list-bulleted";switch(i){case"update":return N.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"}},C=i=>{t.value=i,r.value=w.value,f.value=!0,u.value=!1,b.clearSelection()},v=ee("contextMenu"),A=async i=>{v.value&&await v.value.showContextMenu(i)},te=async()=>{if(w.value.length!==1||a.instance.kind!=="unit"){u.value=!1;return}const i=await y.launchInstanceOperation("preview",a.instance);u.value=!1,a.state&&await m.openLogsPanel(g.projectId,i.id,a.state.id)};return o({showContextMenu:A}),(i,c)=>(d(),F(R,null,[n(e(ge),{ref_key:"contextMenu",ref:v,visible:e(u),"onUpdate:visible":c[7]||(c[7]=I=>H(u)?u.value=I:null),title:"Instance",subtitle:i.instance.id,"is-deletable":I=>i.stores.stateStore.isNodeDeletable(I)},{default:l(()=>[$("update")?(d(),S(e(E),{key:0,title:L("update"),icon:z("update"),color:"primary",disabled:i.locked||!k("update"),onClick:c[0]||(c[0]=I=>C("update"))},null,8,["title","icon","disabled"])):T("",!0),$("refresh")?(d(),S(e(E),{key:1,title:L("refresh"),icon:z("refresh"),color:"primary",disabled:i.locked||!k("refresh"),onClick:c[1]||(c[1]=I=>C("refresh"))},null,8,["title","icon","disabled"])):T("",!0),$("preview")?(d(),S(e(E),{key:2,title:L("preview"),icon:z("preview"),color:"secondary",disabled:i.locked||!k("preview"),onClick:te},null,8,["title","icon","disabled"])):T("",!0),i.state?.lastOperationState?(d(),F(R,{key:3},[n(W),n(e(E),{title:"Open Logs",icon:"mdi-text",color:"primary",onClick:c[2]||(c[2]=I=>e(p).openInstanceLogs(i.instance))})],64)):T("",!0),n(W),n(e(E),{title:"View in Settings",icon:"mdi-cog",color:"primary",onClick:c[3]||(c[3]=()=>{const I=e(p).getInstanceState(i.instance.id);I&&("navigateTo"in i?i.navigateTo:e(Ie))({name:"settings.instance-details",params:{projectId:e(g).projectId,stateId:I.id}}),u.value=!1})}),i.state?.terminalIds?.length?(d(),F(R,{key:4},[n(W),n(ct,{"state-id":i.state.id,"terminal-ids":i.state.terminalIds},null,8,["state-id","terminal-ids"])],64)):T("",!0),e(N)?(d(),F(R,{key:5},[n(W),$("recreate")?(d(),S(e(E),{key:0,title:L("recreate"),icon:z("recreate"),color:"warning",disabled:i.locked||!k("recreate"),onClick:c[4]||(c[4]=I=>C("recreate"))},null,8,["title","icon","disabled"])):T("",!0),$("destroy")?(d(),S(e(E),{key:1,title:L("destroy"),icon:z("destroy"),color:"error",disabled:i.locked||!k("destroy"),onClick:c[5]||(c[5]=I=>C("destroy"))},null,8,["title","icon","disabled"])):T("",!0),e(O)?T("",!0):(d(),S(e(E),{key:2,title:"Forget State",icon:"mdi-delete-forever",color:"error",disabled:i.locked,onClick:c[6]||(c[6]=I=>s.value=!0)},null,8,["disabled"]))],64)):T("",!0)]),_:1},8,["visible","subtitle","is-deletable"]),n(lt,{visible:e(f),"onUpdate:visible":c[8]||(c[8]=I=>H(f)?f.value=I:null),operation:e(t),instances:e(r),component:i.component},null,8,["visible","operation","instances","component"]),n(rt,{visible:e(s),"onUpdate:visible":c[9]||(c[9]=I=>H(s)?s.value=I:null),instance:i.instance,component:i.component},null,8,["visible","instance","component"])],64))}}),St=j({__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(a){const o=G(),g=ve(),{projectStore:p,stateStore:y,instancesStore:m,libraryStore:b,operationsStore:u,validationStore:f}=o,t=x(()=>a.data.instance),r=x(()=>b.library.components[t.value.type]),s=x(()=>y.instanceStates.get(t.value.id)),w=x(()=>s.value&&y.instanceLocks.get(s.value.id)),O=x(()=>u.getLastInstanceOperation(t.value.id)),h=V(!1),$=V(!1),k=V(),N=V([]),L=V(!1),z=V(!1),C=V({}),v=async()=>{h.value=!0;try{if(!s.value?.pageIds)return;const P=s.value.pageIds;if(!P.length)return;const D=await y.getPage(P[0]);if(!D)return;N.value=D.content,k.value=D.meta,$.value=!0}finally{h.value=!1}},A=V(!1),te=async()=>{A.value=!0;try{if(!s.value?.terminalIds||s.value.terminalIds.length===0)return;await m.openTerminal(s.value.terminalIds[0])}finally{A.value=!1}},i=async()=>{z.value=!0;try{if(!s.value)return;const P=await o.stateStore.getInstanceSecrets(s.value.id);C.value={...P},L.value=!0}finally{z.value=!1}},c=ee("contextMenu"),I=Ce();return(P,D)=>(d(),S(Re,{"editing-secrets":e(L),"onUpdate:editingSecrets":D[2]||(D[2]=U=>H(L)?L.value=U:null),"loading-secrets":e(z),"initial-secrets":e(C),"loading-page":e(h),instance:P.data.instance,component:e(r),entities:e(b).library.entities,"input-resolver-outputs":e(m).inputResolverOutputs,"input-resolver-dependent-map":e(m).inputResolverDependentMap,"is-valid-connection":U=>("validateConnection"in P?P.validateConnection:e($e))(e(I),e(b).library,U),"instance-lock":e(w),state:e(s),editable:P.data.editable,stores:("markRaw"in P?P.markRaw:e(Ne))(e(o)),"workspace-store":e(g),"all-instances":e(m).instances,"onSave:args":D[3]||(D[3]=(U,ne,be)=>e(m).updateInstance(U,ne,be)),"onSave:secrets":D[4]||(D[4]=(U,ne)=>e(y).updateInstanceSecrets(U,ne)),"onOpen:secrets":i,"onOpen:terminal":te,"onOperation:launch":D[5]||(D[5]=U=>e(u).launchInstanceOperation(U,P.data.instance)),"onOperation:cancel":D[6]||(D[6]=U=>e(u).cancelInstanceOperation(e(s).lastOperationState.operationId,P.data.instance.id)),onContextmenu:D[7]||(D[7]=U=>e(c)?.showContextMenu(U)),"onOpen:composite":D[8]||(D[8]=U=>e(g).openCompositeInstancePanel(e(p).projectId,e(s).id)),"onOpen:page":v},{status:l(()=>[n(e(je),{state:e(s),operation:e(O),"expected-input-hash":e(y).inputHashOutputs.get(e(t).id)?.inputHash,"validation-output":e(f).validationOutputs.get(e(t).id)},null,8,["state","operation","expected-input-hash","validation-output"])]),default:l(()=>[n(e(pt),{ref_key:"contextMenu",ref:c,stores:e(o),instance:e(t),component:e(r),state:e(s),editable:P.data.editable,locked:!!e(w)},null,8,["stores","instance","component","state","editable","locked"]),e(k)?(d(),S(e(qe),{key:0,visible:e($),"onUpdate:visible":D[0]||(D[0]=U=>H($)?$.value=U:null),meta:e(k),content:e(N),onClose:D[1]||(D[1]=U=>$.value=!1)},null,8,["visible","meta","content"])):T("",!0)]),_:1},8,["editing-secrets","loading-secrets","initial-secrets","loading-page","instance","component","entities","input-resolver-outputs","input-resolver-dependent-map","is-valid-connection","instance-lock","state","editable","stores","workspace-store","all-instances"]))}}),ge=j({__name:"NodeContextMenu",props:J({title:{},subtitle:{},isDeletable:{type:Function}},{visible:{type:Boolean,default:!1},visibleModifiers:{}}),emits:["update:visible"],setup(a,{expose:o}){const{selection:g,vueFlowStore:p,deleteNodes:y}=fe(),m=X(a,"visible"),b=Ve(),u=ee("contextMenu"),f=async w=>{u.value&&await u.value.showContextMenu(w)},{off:t}=p.onViewportChange(()=>{m.value=!1});Ae(()=>{t(),m.value=!1}),o({showContextMenu:f});const r=x(()=>a.isDeletable(b.node)?g.selectedNodeIds.has(b.id)?Array.from(g.selectedNodes).filter(a.isDeletable):[b.node]:[]),s=x(()=>r.value.length===1?"Delete":`Delete selected (${r.value.length})`);return(w,O)=>(d(),S(ze,{ref_key:"contextMenu",ref:u,visible:m.value,"onUpdate:visible":O[1]||(O[1]=h=>m.value=h),title:w.title,subtitle:w.subtitle},{default:l(()=>[w.$slots.default?(d(),F(R,{key:0},[n(W),Le(w.$slots,"default")],64)):T("",!0),e(r).length>0?(d(),F(R,{key:1},[n(W),n(E,{title:e(s),icon:"mdi-delete",color:"error",onClick:O[0]||(O[0]=h=>e(y)(e(r)))},null,8,["title"])],64)):T("",!0)]),_:3},8,["visible","title","subtitle"]))}});export{kt as _,It as a,St as b,pt as c};
@@ -1,2 +1,2 @@
1
- import{I as b,_ as k}from"#entry";import{_ as B,I as S}from"./BeLGiGAM.js";import{F as V,aO as I,av as n,ae as x,L as c,W as o,_ as r,$ as i,Z as p,X as u,a0 as C,a1 as d,a2 as _,a3 as m,az as w,aU as A,aV as D,af as M,G as T,ab as U,ak as N,al as H}from"./DbWDZVK4.js";import"./iEZeC4im.js";const K={name:{key:"meta.title",title:"Name & Description"},id:{key:"id",title:"ID"},createdAt:{key:"createdAt",title:"Created"},actions:{key:"actions",title:"Actions",align:"center"}},$={class:"settings-table-container"},z={key:0,class:"table-header"},F={class:"d-flex align-center"},L={class:"text-subtitle-1 font-weight-medium"},E={class:"table-wrapper"},G={class:"d-flex align-center"},O={class:"d-flex flex-column"},R={class:"text-body-1 font-weight-medium"},W={key:0,class:"text-caption text-medium-emphasis"},X=V({__name:"SettingsDataTable",props:I({headers:{},data:{},loading:{type:Boolean},hideHeader:{type:Boolean},hideSearch:{type:Boolean},height:{}},{search:{},searchModifiers:{},sortBy:{},sortByModifiers:{},page:{},pageModifiers:{},itemsPerPage:{},itemsPerPageModifiers:{}}),emits:["update:search","update:sortBy","update:page","update:itemsPerPage"],setup(l){const h=n(l,"search"),g=n(l,"sortBy"),y=n(l,"page"),f=n(l,"itemsPerPage"),v=x();return(a,t)=>(o(),c("div",$,[a.hideHeader?r("",!0):(o(),c("div",z,[i("div",F,[u(C,{class:"mr-2"},{default:d(()=>t[4]||(t[4]=[_("mdi-format-list-bulleted")])),_:1,__:[4]}),i("span",L,m(a.data.total)+" item"+m(a.data.total===1?"":"s"),1)]),a.hideSearch?r("",!0):(o(),p(w,{key:0,modelValue:h.value,"onUpdate:modelValue":t[0]||(t[0]=e=>h.value=e),"prepend-inner-icon":"mdi-magnify",placeholder:"Search",variant:"outlined",density:"compact",clearable:"","hide-details":"",style:{"max-width":"300px"}},null,8,["modelValue"]))])),i("div",E,[u(A,{headers:a.headers,items:a.data.items,"items-length":a.data.total,loading:a.loading,page:y.value,"onUpdate:page":t[1]||(t[1]=e=>y.value=e),"items-per-page":f.value,"onUpdate:itemsPerPage":t[2]||(t[2]=e=>f.value=e),"sort-by":g.value,"onUpdate:sortBy":t[3]||(t[3]=e=>g.value=e),"item-value":"id",class:"data-table","fixed-header":"",height:a.height},D({"item.meta.title":d(({item:e})=>[i("div",G,[e.meta.icon||a.headers.find(s=>s.key==="meta.title")?.headerProps?.defaultPrimaryIcon?(o(),p(T(b),{key:0,icon:e.meta.icon||a.headers.find(s=>s.key==="meta.title")?.headerProps?.defaultPrimaryIcon,color:e.meta.iconColor??(e.meta.icon?void 0:a.headers.find(s=>s.key==="meta.title")?.headerProps?.defaultPrimaryIconColor),width:"24",class:"mr-4"},null,8,["icon","color"])):r("",!0),i("div",O,[i("div",R,m(e.meta.title||"Unnamed"),1),e.meta.description?(o(),c("div",W,m(e.meta.description.split(`
1
+ import{I as b,_ as k}from"#entry";import{_ as B,I as S}from"./CFtPCidf.js";import{F as V,aO as I,av as n,ae as x,L as c,W as o,_ as r,$ as i,Z as p,X as u,a0 as C,a1 as d,a2 as _,a3 as m,az as w,aU as A,aV as D,af as M,G as T,ab as U,ak as N,al as H}from"./CJ9AjueP.js";import"./DkPrE8g-.js";const K={name:{key:"meta.title",title:"Name & Description"},id:{key:"id",title:"ID"},createdAt:{key:"createdAt",title:"Created"},actions:{key:"actions",title:"Actions",align:"center"}},$={class:"settings-table-container"},z={key:0,class:"table-header"},F={class:"d-flex align-center"},L={class:"text-subtitle-1 font-weight-medium"},E={class:"table-wrapper"},G={class:"d-flex align-center"},O={class:"d-flex flex-column"},R={class:"text-body-1 font-weight-medium"},W={key:0,class:"text-caption text-medium-emphasis"},X=V({__name:"SettingsDataTable",props:I({headers:{},data:{},loading:{type:Boolean},hideHeader:{type:Boolean},hideSearch:{type:Boolean},height:{}},{search:{},searchModifiers:{},sortBy:{},sortByModifiers:{},page:{},pageModifiers:{},itemsPerPage:{},itemsPerPageModifiers:{}}),emits:["update:search","update:sortBy","update:page","update:itemsPerPage"],setup(l){const h=n(l,"search"),g=n(l,"sortBy"),y=n(l,"page"),f=n(l,"itemsPerPage"),v=x();return(a,t)=>(o(),c("div",$,[a.hideHeader?r("",!0):(o(),c("div",z,[i("div",F,[u(C,{class:"mr-2"},{default:d(()=>t[4]||(t[4]=[_("mdi-format-list-bulleted")])),_:1,__:[4]}),i("span",L,m(a.data.total)+" item"+m(a.data.total===1?"":"s"),1)]),a.hideSearch?r("",!0):(o(),p(w,{key:0,modelValue:h.value,"onUpdate:modelValue":t[0]||(t[0]=e=>h.value=e),"prepend-inner-icon":"mdi-magnify",placeholder:"Search",variant:"outlined",density:"compact",clearable:"","hide-details":"",style:{"max-width":"300px"}},null,8,["modelValue"]))])),i("div",E,[u(A,{headers:a.headers,items:a.data.items,"items-length":a.data.total,loading:a.loading,page:y.value,"onUpdate:page":t[1]||(t[1]=e=>y.value=e),"items-per-page":f.value,"onUpdate:itemsPerPage":t[2]||(t[2]=e=>f.value=e),"sort-by":g.value,"onUpdate:sortBy":t[3]||(t[3]=e=>g.value=e),"item-value":"id",class:"data-table","fixed-header":"",height:a.height},D({"item.meta.title":d(({item:e})=>[i("div",G,[e.meta.icon||a.headers.find(s=>s.key==="meta.title")?.headerProps?.defaultPrimaryIcon?(o(),p(T(b),{key:0,icon:e.meta.icon||a.headers.find(s=>s.key==="meta.title")?.headerProps?.defaultPrimaryIcon,color:e.meta.iconColor??(e.meta.icon?void 0:a.headers.find(s=>s.key==="meta.title")?.headerProps?.defaultPrimaryIconColor),width:"24",class:"mr-4"},null,8,["icon","color"])):r("",!0),i("div",O,[i("div",R,m(e.meta.title||"Unnamed"),1),e.meta.description?(o(),c("div",W,m(e.meta.description.split(`
2
2
  `)[0]),1)):r("",!0)])])]),"item.id":d(({item:e})=>[u(S,{value:e.id},null,8,["value"])]),"item.createdAt":d(({item:e})=>[e.createdAt?(o(),p(B,{key:0,value:e.createdAt},null,8,["value"])):r("",!0)]),"no-data":d(()=>[t[5]||(t[5]=i("div",{class:"text-center py-4"},[i("div",{class:"text-h6 text-medium-emphasis"},"No data available")],-1))]),_:2},[M(v,(e,s)=>({name:s,fn:d(P=>[U(a.$slots,s,N(H(P)),void 0,!0)])}))]),1032,["headers","items","items-length","loading","page","items-per-page","sort-by","height"])])]))}}),Q=k(X,[["__scopeId","data-v-d8ca3f82"]]);export{Q as S,K as b};
@@ -1 +1 @@
1
- import{q as n,s as c}from"#entry";import"./iEZeC4im.js";import{S as d}from"./sNd89Uej.js";import{_ as g}from"./y1_fPoH6.js";import{F as l,aL as p,Z as f,W as u,a1 as y,G as e,X as P}from"./DbWDZVK4.js";import"./BmhnSWN5.js";import"./PZl7tHUC.js";import"./CdT0dBVm.js";import"./BDGK4R8G.js";import"./Dp4BYkpR.js";import"./BeLGiGAM.js";import"./Bv0mfTEl.js";import"./CfS1NLi3.js";import"./DDmfmNNV.js";import"./ZHHaViAY.js";import"./CMK3ZjMt.js";const G=l({__name:"index",async setup(_){let i,o;const{settingsStore:t}=n(),{projectStore:a}=n();return a.initializing?([i,o]=p(()=>c(()=>a.initialized).toBe(!0)),await i,o(),a.addLibraryRoot()):([i,o]=p(()=>a.initialize1()),await i,o(),[i,o]=p(()=>a.initialize2()),await i,o()),t.secrets.load(),(j,r)=>(u(),f(e(d),{title:"Project Secrets",icon:"mdi-key-variant",description:"View and manage secrets for your project instances."},{default:y(({height:m})=>[P(e(g),{search:e(t).secrets.search,"onUpdate:search":r[0]||(r[0]=s=>e(t).secrets.search=s),"sort-by":e(t).secrets.sortBy,"onUpdate:sortBy":r[1]||(r[1]=s=>e(t).secrets.sortBy=s),page:e(t).secrets.page,"onUpdate:page":r[2]||(r[2]=s=>e(t).secrets.page=s),"items-per-page":e(t).secrets.itemsPerPage,"onUpdate:itemsPerPage":r[3]||(r[3]=s=>e(t).secrets.itemsPerPage=s),"project-id":e(a).projectId,data:e(t).secrets.data,loading:e(t).secrets.isLoading,height:m},null,8,["search","sort-by","page","items-per-page","project-id","data","loading","height"])]),_:1}))}});export{G as default};
1
+ import{q as n,s as c}from"#entry";import"./DkPrE8g-.js";import{S as d}from"./DqcsB7RK.js";import{_ as g}from"./BM49jZle.js";import{F as l,aL as p,Z as f,W as u,a1 as y,G as e,X as P}from"./CJ9AjueP.js";import"./BmhnSWN5.js";import"./PZl7tHUC.js";import"./DnodTinn.js";import"./Dj-ZGW1B.js";import"./ByQEjDj-.js";import"./CFtPCidf.js";import"./D12QiTSl.js";import"./DpCgGkMV.js";import"./BOoETPDV.js";import"./D-IcYK3n.js";import"./NHPpYOb8.js";const G=l({__name:"index",async setup(_){let i,o;const{settingsStore:t}=n(),{projectStore:a}=n();return a.initializing?([i,o]=p(()=>c(()=>a.initialized).toBe(!0)),await i,o(),a.addLibraryRoot()):([i,o]=p(()=>a.initialize1()),await i,o(),[i,o]=p(()=>a.initialize2()),await i,o()),t.secrets.load(),(j,r)=>(u(),f(e(d),{title:"Project Secrets",icon:"mdi-key-variant",description:"View and manage secrets for your project instances."},{default:y(({height:m})=>[P(e(g),{search:e(t).secrets.search,"onUpdate:search":r[0]||(r[0]=s=>e(t).secrets.search=s),"sort-by":e(t).secrets.sortBy,"onUpdate:sortBy":r[1]||(r[1]=s=>e(t).secrets.sortBy=s),page:e(t).secrets.page,"onUpdate:page":r[2]||(r[2]=s=>e(t).secrets.page=s),"items-per-page":e(t).secrets.itemsPerPage,"onUpdate:itemsPerPage":r[3]||(r[3]=s=>e(t).secrets.itemsPerPage=s),"project-id":e(a).projectId,data:e(t).secrets.data,loading:e(t).secrets.isLoading,height:m},null,8,["search","sort-by","page","items-per-page","project-id","data","loading","height"])]),_:1}))}});export{G as default};
@@ -1 +1 @@
1
- import{q as n,t as f,s as _}from"#entry";import{_ as m,I as y}from"./BeLGiGAM.js";import{S}from"./iEZeC4im.js";import{D as b,a as k}from"./DXjKBs9C.js";import{_ as v}from"./Bv0mfTEl.js";import{S as w}from"./CMK3ZjMt.js";import{F as I,aL as o,Z as g,W as A,a1 as r,G as e,X as s,$ as C,a3 as D}from"./DbWDZVK4.js";import"./BmhnSWN5.js";import"./PZl7tHUC.js";import"./CdT0dBVm.js";import"./BDGK4R8G.js";import"./CfS1NLi3.js";import"./DDmfmNNV.js";const h={class:"text-body-2"},H=I({__name:"[secretId]",props:{params:{}},async setup(c){let a,i;const{settingsStore:d}=n(),{projectStore:l}=n();l.initializing?([a,i]=o(()=>_(()=>l.initialized).toBe(!0)),await a,i(),l.addLibraryRoot()):([a,i]=o(()=>l.initialize1()),await a,i(),[a,i]=o(()=>l.initialize2()),await a,i());const t=([a,i]=o(()=>d.getSecretDetails(c.params.secretId)),a=await a,i(),a);if(!t)throw f({statusCode:404,statusMessage:"Secret not found"});const p=[{key:"secretId",label:"Secret ID"},{key:"name",label:"Name"},{key:"value",label:"Value"},{key:"owner",label:"Owner"},{key:"createdAt",label:"Created"},{key:"updatedAt",label:"Last Updated"}];return(u,j)=>(A(),g(e(b),null,{default:r(()=>[s(S,{meta:e(t).meta,"fallback-icon":"mdi-key-variant",title:e(t).meta.title||e(t).name||"Unnamed Secret",description:e(t).meta.description},null,8,["meta","title","description"]),s(e(k),{title:"Secret Details",items:p},{"item.secretId":r(()=>[s(e(y),{value:e(t).id},null,8,["value"])]),"item.name":r(()=>[C("div",h,D(e(t).name||"N/A"),1)]),"item.value":r(()=>[s(e(w),{"secret-id":e(t).id,"project-id":u.params.projectId},null,8,["secret-id","project-id"])]),"item.owner":r(()=>[s(e(v),{item:e(t)},null,8,["item"])]),"item.createdAt":r(()=>[s(e(m),{value:e(t).createdAt},null,8,["value"])]),"item.updatedAt":r(()=>[s(e(m),{value:e(t).updatedAt},null,8,["value"])]),_:1})]),_:1}))}});export{H as default};
1
+ import{q as n,t as f,s as _}from"#entry";import{_ as m,I as y}from"./CFtPCidf.js";import{S}from"./DkPrE8g-.js";import{D as b,a as k}from"./DtufO5Sm.js";import{_ as v}from"./D12QiTSl.js";import{S as w}from"./NHPpYOb8.js";import{F as I,aL as o,Z as g,W as A,a1 as r,G as e,X as s,$ as C,a3 as D}from"./CJ9AjueP.js";import"./BmhnSWN5.js";import"./PZl7tHUC.js";import"./DnodTinn.js";import"./Dj-ZGW1B.js";import"./DpCgGkMV.js";import"./BOoETPDV.js";const h={class:"text-body-2"},H=I({__name:"[secretId]",props:{params:{}},async setup(c){let a,i;const{settingsStore:d}=n(),{projectStore:l}=n();l.initializing?([a,i]=o(()=>_(()=>l.initialized).toBe(!0)),await a,i(),l.addLibraryRoot()):([a,i]=o(()=>l.initialize1()),await a,i(),[a,i]=o(()=>l.initialize2()),await a,i());const t=([a,i]=o(()=>d.getSecretDetails(c.params.secretId)),a=await a,i(),a);if(!t)throw f({statusCode:404,statusMessage:"Secret not found"});const p=[{key:"secretId",label:"Secret ID"},{key:"name",label:"Name"},{key:"value",label:"Value"},{key:"owner",label:"Owner"},{key:"createdAt",label:"Created"},{key:"updatedAt",label:"Last Updated"}];return(u,j)=>(A(),g(e(b),null,{default:r(()=>[s(S,{meta:e(t).meta,"fallback-icon":"mdi-key-variant",title:e(t).meta.title||e(t).name||"Unnamed Secret",description:e(t).meta.description},null,8,["meta","title","description"]),s(e(k),{title:"Secret Details",items:p},{"item.secretId":r(()=>[s(e(y),{value:e(t).id},null,8,["value"])]),"item.name":r(()=>[C("div",h,D(e(t).name||"N/A"),1)]),"item.value":r(()=>[s(e(w),{"secret-id":e(t).id,"project-id":u.params.projectId},null,8,["secret-id","project-id"])]),"item.owner":r(()=>[s(e(v),{item:e(t)},null,8,["item"])]),"item.createdAt":r(()=>[s(e(m),{value:e(t).createdAt},null,8,["value"])]),"item.updatedAt":r(()=>[s(e(m),{value:e(t).updatedAt},null,8,["value"])]),_:1})]),_:1}))}});export{H as default};
@@ -0,0 +1 @@
1
+ import{aV as V,aW as $,aX as A,aC as x,aY as B,s as C,l as K,z as L,B as G,av as k,q as U,aZ as q,v as O,k as W}from"#entry";import"./BmhnSWN5.js";import{_ as X,a as Z,b as J}from"./BuN5GOse.js";import{a as Y,g as Q,i as ee}from"./oZs8U75K.js";import{a as te,G as ne}from"./Dqe2EjXB.js";import{F,Z as P,W as S,aE as oe,a1 as g,$ as ae,X as v,u as re,aL as _,J as ie,G as p,ak as M,al as R}from"./CJ9AjueP.js";import{P as se}from"./D2hOj9XC.js";import"./PZl7tHUC.js";import"./BKe7h20I.js";import"./DnodTinn.js";import"./CXRolcM8.js";import"./AV0MK5it.js";import"./Cvl8iHT_.js";import"./BDCIi1Fb.js";import"./D4I3CwV0.js";import"./UlOiG1et.js";import"./BL-2dw2H.js";const ue=F({__name:"ExtraElementPanel",setup(I){const i=c=>{Y(c.dataTransfer)};return(c,n)=>(S(),P(oe,null,{default:g(()=>[ae("div",{draggable:"true",style:{cursor:"grab"},onDragstart:i},[v(te)],32)]),_:1}))}}),T=V({name:"project-panel",getStoreId:I=>`projects/${I}/panel`,create:({storeId:I,id:[i],logger:c})=>$(I,()=>{const{instancesStore:n}=A(i),{vueFlowStore:u,nodeFactory:a,onHubMoved:w,onInstanceMoved:h,onHubNodeDeleted:j,onInstanceNodeDeleted:l,onNodesMoved:f}=x("project",i),{$client:d}=re(),y=B(async e=>{await d.workspace.setProjectViewport.mutate({projectId:i,viewport:e})},1e3);u.onViewportChange(y);const H=async()=>{K.info({projectId:i},"initializing project panel store");const e=await d.workspace.getProjectViewport.query({projectId:i});e&&(u.defaultViewport.value=e)},N=async()=>{a.createNodesForModels(n.getProjectInstances(),[...n.hubs.values()]),L(u).then(()=>G(u,f))};h(e=>{n.patchInstance(e,["position"])}),w(e=>{n.patchHub(e,["position"])}),j(e=>{n.deleteHub(e.data.hub,!e.data.blueprint)}),l(e=>{n.deleteInstance(e.data.instance,!e.data.blueprint)});const D=e=>{const{inputInstance:t,outputInstance:o,inputHub:r,outputHub:s,outputKey:b,inputKey:m}=k(u,e);if(t&&o)return n.addInstanceInput(t,m,{instanceId:o.id,output:b});if(s&&t&&m)return n.addInstanceHubInput(t,m,{hubId:s.id});if(s&&t)return n.addInstanceInjectionInput(t,{hubId:s.id});if(o&&r)return n.addHubInput(r,{instanceId:o.id,output:b});if(s&&r)return n.addHubInjectionInput(r,{hubId:s.id});throw c.error({msg:"unexpected connection while adding",connection:e,inputInstance:t,outputInstance:o,inputHub:r,outputHub:s,outputKey:b,inputKey:m}),new Error("Invalid connection")},z=e=>{const{inputInstance:t,outputInstance:o,inputHub:r,outputHub:s,outputKey:b,inputKey:m}=k(u,e);if(t&&o)return n.removeInstanceInput(t,m,{instanceId:o.id,output:b});if(s&&t&&m)return n.removeInstanceHubInput(t,m,{hubId:s.id});if(s&&t)return n.removeInstanceInjectionInput(t,{hubId:s.id});if(o&&r)return n.removeHubInput(r,{instanceId:o.id,output:b});if(s&&r)return n.removeHubInjectionInput(r,{hubId:s.id});throw c.error({msg:"unexpected connection while removing",edge:e,inputInstance:t,outputInstance:o,inputHub:r,outputHub:s,outputKey:b,inputKey:m}),new Error("Invalid connection")};u.onConnect(D);let E=!1;return u.onEdgeUpdate(async({edge:e,connection:t})=>{E=!0,await z(e),await D(t)}),u.onEdgeUpdateEnd(async({edge:e})=>{try{if(E)return;await z(e)}finally{E=!1}}),n.onInstanceInputAdded(({instance:e,inputName:t,input:o})=>{a.createEdgeForInstanceInput(e,t,o)}),n.onInstanceHubInputAdded(({instance:e,inputName:t,input:o})=>{a.createEdgeForInstanceHubInput(e,t,o)}),n.onInstanceInjectionInputAdded(({instance:e,input:t})=>{a.createEdgeForInstanceInjectionInput(e,t)}),n.onHubInputAdded(({hub:e,input:t})=>{a.createEdgeForHubInput(e,t)}),n.onHubInjectionInputAdded(({hub:e,input:t})=>{a.createEdgeForHubInjectionInput(e,t)}),n.onInstanceInputRemoved(({instance:e,inputName:t,input:o})=>{a.removeEdgeForInstanceInput(e,t,o)}),n.onInstanceHubInputRemoved(({instance:e,inputName:t,input:o})=>{a.removeEdgeForInstanceHubInput(e,t,o)}),n.onInstanceInjectionInputRemoved(({instance:e,input:t})=>{a.removeEdgeForInstanceInjectionInput(e,t)}),n.onHubInputRemoved(({hub:e,input:t})=>{a.removeEdgeForHubInput(e,t)}),n.onHubInjectionInputRemoved(({hub:e,input:t})=>{a.removeEdgeForHubInjectionInput(e,t)}),n.onInstanceNameChanged(({oldId:e,newId:t})=>{const o=a.instanceIdToNodeIdMap.get(e);a.instanceIdToNodeIdMap.set(t,o),a.instanceIdToNodeIdMap.delete(e),u.updateNodeData(o,{})}),n.onInstanceCreated(async({instance:e,blueprint:t})=>{const o=a.createNodeFromInstance(e,{blueprint:t});await C(u.areNodesInitialized).toBe(!0),t||u.updateNode(o.id,r=>{const s={x:r.position.x-r.dimensions.width/2,y:r.position.y-r.dimensions.height/2};return e.position=s,{position:s}})}),n.onHubCreated(async({hub:e,blueprint:t})=>{a.createNodeFromHub(e,{blueprint:t}),await C(u.areNodesInitialized).toBe(!0),t||u.updateNode(e.id,o=>{const r={x:o.position.x-o.dimensions.width/2,y:o.position.y-o.dimensions.height/2};return e.position=r,{position:r}})}),{initialize:H,placeNodes:N}})}),ce=F({__name:"ProjectCanvas",async setup(I){let i,c;const n=x(),u=T(),{projectStore:a,instancesStore:w,libraryStore:h}=U();a.initializing?([i,c]=_(()=>C(()=>a.initialized).toBe(!0)),await i,c(),a.addLibraryRoot()):([i,c]=_(()=>a.initialize1()),await i,c(),[i,c]=_(()=>a.initialize2()),await i,c()),[i,c]=_(()=>u.initialize()),await i,c(),ie(u.placeNodes);const j=l=>{if(l.preventDefault(),!l.dataTransfer||n.blueprint)return;let f;const d=Q(l.dataTransfer);if(d){const y=w.getNextInstanceName(d),H=q(d,y),N=h.library.components[d];f={boundary:{width:360,height:260},instances:[{id:H,name:y,type:d,kind:N.kind,position:{x:0,y:0}}],hubs:[]}}else if(ee(l.dataTransfer))f={boundary:{width:74,height:74},instances:[],hubs:[{id:O.createId(),position:{x:0,y:0}}]};else return;n.blueprint=f};return(l,f)=>(S(),P(p(ne),{canvasId:["project",p(a).projectId],components:p(h).library.components,entities:p(h).library.entities,"input-resolver-outputs":p(w).inputResolverOutputs,editable:"",onDragover:j},{"node-instance":g(d=>[v(p(J),M(R(d)),null,16)]),"node-hub":g(d=>[v(p(Z),M(R(d)),null,16)]),"panel-bottom-left":g(()=>[v(p(X))]),"panel-bottom-right":g(()=>[v(p(ue))]),_:1},8,["canvasId","components","entities","input-resolver-outputs"]))}}),Ce=F({__name:"index",props:{params:{}},setup(I){return W(I.params.projectId),x.ensureCreated("project",I.params.projectId),T.ensureCreated(I.params.projectId),(i,c)=>(S(),P(p(se),{"project-id":i.params.projectId,"can-unlock":""},{default:g(()=>[v(p(ce))]),_:1},8,["project-id"]))}});export{Ce as default};
@@ -1 +1 @@
1
- import{ad as _,_ as v}from"#entry";import{F as p,L as m,W as f,$ as c,X as l,a3 as s,G as r,ai as h,a1 as u,a0 as y,a2 as d,aj as $}from"./DbWDZVK4.js";import"./iEZeC4im.js";const g=e=>e?e.toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"Unknown",T=e=>{if(!e)return"Unknown";const t=Date.now()-e.getTime(),o=Math.floor(t/(1e3*60*60*24)),n=Math.floor(t/(1e3*60*60)),i=Math.floor(t/(1e3*60));return o>0?`${o} day${o===1?"":"s"} ago`:n>0?`${n} hour${n===1?"":"s"} ago`:i>0?`${i} minute${i===1?"":"s"} ago`:"Just now"},x=e=>`${e.slice(0,8)}...${e.slice(-8)}`,C={class:"d-flex align-center"},b={class:"text-caption text-medium-emphasis font-mono mr-2"},w=p({__name:"IdTableCell",props:{value:{},truncate:{type:Boolean,default:!0},copyFullText:{default:"Copy full ID"}},setup(e){const{copy:a}=_();return(t,o)=>(f(),m("div",C,[c("code",b,s(t.truncate?r(x)(t.value):t.value),1),l(h,{icon:"mdi-content-copy",variant:"text",size:"x-small",onClick:o[0]||(o[0]=n=>r(a)(t.value))},{default:u(()=>[l(y,{size:"16"},{default:u(()=>o[1]||(o[1]=[d("mdi-content-copy")])),_:1,__:[1]}),l($,{activator:"parent",location:"top"},{default:u(()=>[d(s(t.copyFullText),1)]),_:1})]),_:1})]))}}),F=v(w,[["__scopeId","data-v-0dcfb73b"]]),I={class:"text-body-2"},V={class:"text-caption text-medium-emphasis"},M=p({__name:"TimeTableCell",props:{value:{}},setup(e){return(a,t)=>(f(),m("div",null,[c("div",I,s(r(g)(a.value)),1),c("div",V,s(r(T)(a.value)),1)]))}});export{F as I,M as _};
1
+ import{ad as _,_ as v}from"#entry";import{F as p,L as m,W as f,$ as c,X as l,a3 as s,G as r,ai as h,a1 as u,a0 as y,a2 as d,aj as $}from"./CJ9AjueP.js";import"./DkPrE8g-.js";const g=e=>e?e.toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"Unknown",T=e=>{if(!e)return"Unknown";const t=Date.now()-e.getTime(),o=Math.floor(t/(1e3*60*60*24)),n=Math.floor(t/(1e3*60*60)),i=Math.floor(t/(1e3*60));return o>0?`${o} day${o===1?"":"s"} ago`:n>0?`${n} hour${n===1?"":"s"} ago`:i>0?`${i} minute${i===1?"":"s"} ago`:"Just now"},x=e=>`${e.slice(0,8)}...${e.slice(-8)}`,C={class:"d-flex align-center"},b={class:"text-caption text-medium-emphasis font-mono mr-2"},w=p({__name:"IdTableCell",props:{value:{},truncate:{type:Boolean,default:!0},copyFullText:{default:"Copy full ID"}},setup(e){const{copy:a}=_();return(t,o)=>(f(),m("div",C,[c("code",b,s(t.truncate?r(x)(t.value):t.value),1),l(h,{icon:"mdi-content-copy",variant:"text",size:"x-small",onClick:o[0]||(o[0]=n=>r(a)(t.value))},{default:u(()=>[l(y,{size:"16"},{default:u(()=>o[1]||(o[1]=[d("mdi-content-copy")])),_:1,__:[1]}),l($,{activator:"parent",location:"top"},{default:u(()=>[d(s(t.copyFullText),1)]),_:1})]),_:1})]))}}),F=v(w,[["__scopeId","data-v-0dcfb73b"]]),I={class:"text-body-2"},V={class:"text-caption text-medium-emphasis"},M=p({__name:"TimeTableCell",props:{value:{}},setup(e){return(a,t)=>(f(),m("div",null,[c("div",I,s(r(g)(a.value)),1),c("div",V,s(r(T)(a.value)),1)]))}});export{F as I,M as _};
@@ -1 +1 @@
1
- import{g as C,b0 as L,s as g,b1 as M,q as T,k as z}from"#entry";import{G as P}from"./BxlUPmmS.js";import{C as _,r as W,u as j,v as h,F as x,aL as f,Z as S,W as A,a1 as D,G as k,X as H}from"./DbWDZVK4.js";import{P as N}from"./V3QPgH7p.js";import"./BmhnSWN5.js";import"./PZl7tHUC.js";import"./DOOqMYtP.js";function G(){return navigator.userAgent.includes("Mac")}function R(a,t){const e=_(null),s=_(null),u=W(!1),{$client:r}=j(),l=C(),w=async d=>{e.value=d;async function i(n,o){if(o==="restart"){if(u.value)return;u.value=!0,e.value.writeln(">>> Restarting terminal session... <<<");const m=await r.terminal.getOrCreateTerminalSession.mutate({projectId:a,terminalId:s.value.terminalId});l.closeTerminalPanel(a,s.value.id),l.openTerminalPanel(a,m.id)}else(G()?n.metaKey:n.ctrlKey)&&window.open(o,"_blank")}const c={activate:(n,o)=>{i(n,o)},hover:(n,o,m)=>{},leave:(n,o,m)=>{},allowNonHttpProtocols:!0},p=new L.WebLinksAddon(i,c);e.value.loadAddon(p),e.value.options.linkHandler=c,await b();const{unsubscribe:v}=r.terminal.watchSession.subscribe({projectId:a,sessionId:t},{onData(n){if(s.value=n,n.finishedAt){const $=`\x1B[1m\x1B[33m${`>>> Terminal session finished at ${new Date(n.finishedAt).toLocaleString("en-US")} <<<`}\x1B[0m`,B="\x1B]8;;restart\x1B\\>>> Click here to restart <<<\x1B]8;;\x1B\\";e.value.writeln(""),e.value.writeln($),e.value.writeln(B),v()}}});h(v),await g(s).not.toBeNull(),s.value.finishedAt||(y(),e.value.focus())},b=async()=>{const d=await r.terminal.getSessionHistory.query({projectId:a,sessionId:t});for(const i of d)e.value.write(i.content)},y=()=>{const i=`${location.protocol==="https:"?"wss":"ws"}://${location.host}`,c=new WebSocket(`${i}/api/projects/${a}/terminal-sessions/${t}?screenSize=${e.value.cols}x${e.value.rows}`),p=new M.AttachAddon(c);e.value.loadAddon(p),h(()=>c.close())};return{initialize:w,session:s}}const q=x({__name:"TerminalSession",props:{sessionId:{}},async setup(a){let t,e;const{projectStore:s}=T();s.initializing?([t,e]=f(()=>g(()=>s.initialized).toBe(!0)),await t,e(),s.addLibraryRoot()):([t,e]=f(()=>s.initialize1()),await t,e(),[t,e]=f(()=>s.initialize2()),await t,e());const{initialize:u}=R(s.projectId,a.sessionId),r=l=>{u(l)};return(l,w)=>(A(),S(P,{onLoad:r}))}}),Z=x({__name:"[sessionId]",props:{params:{}},setup(a){return z(a.params.projectId),(t,e)=>(A(),S(k(N),{"project-id":t.params.projectId,"can-unlock":""},{default:D(()=>[H(k(q),{"session-id":t.params.sessionId},null,8,["session-id"])]),_:1},8,["project-id"]))}});export{Z as default};
1
+ import{g as C,b1 as L,s as g,b2 as M,q as T,k as z}from"#entry";import{G as P}from"./CXRolcM8.js";import{C as _,r as W,u as j,v as h,F as x,aL as f,Z as S,W as A,a1 as D,G as k,X as H}from"./CJ9AjueP.js";import{P as N}from"./D2hOj9XC.js";import"./BmhnSWN5.js";import"./PZl7tHUC.js";import"./BL-2dw2H.js";function G(){return navigator.userAgent.includes("Mac")}function R(a,t){const e=_(null),s=_(null),u=W(!1),{$client:r}=j(),l=C(),w=async d=>{e.value=d;async function i(n,o){if(o==="restart"){if(u.value)return;u.value=!0,e.value.writeln(">>> Restarting terminal session... <<<");const m=await r.terminal.getOrCreateTerminalSession.mutate({projectId:a,terminalId:s.value.terminalId});l.closeTerminalPanel(a,s.value.id),l.openTerminalPanel(a,m.id)}else(G()?n.metaKey:n.ctrlKey)&&window.open(o,"_blank")}const c={activate:(n,o)=>{i(n,o)},hover:(n,o,m)=>{},leave:(n,o,m)=>{},allowNonHttpProtocols:!0},p=new L.WebLinksAddon(i,c);e.value.loadAddon(p),e.value.options.linkHandler=c,await b();const{unsubscribe:v}=r.terminal.watchSession.subscribe({projectId:a,sessionId:t},{onData(n){if(s.value=n,n.finishedAt){const $=`\x1B[1m\x1B[33m${`>>> Terminal session finished at ${new Date(n.finishedAt).toLocaleString("en-US")} <<<`}\x1B[0m`,B="\x1B]8;;restart\x1B\\>>> Click here to restart <<<\x1B]8;;\x1B\\";e.value.writeln(""),e.value.writeln($),e.value.writeln(B),v()}}});h(v),await g(s).not.toBeNull(),s.value.finishedAt||(y(),e.value.focus())},b=async()=>{const d=await r.terminal.getSessionHistory.query({projectId:a,sessionId:t});for(const i of d)e.value.write(i.content)},y=()=>{const i=`${location.protocol==="https:"?"wss":"ws"}://${location.host}`,c=new WebSocket(`${i}/api/projects/${a}/terminal-sessions/${t}?screenSize=${e.value.cols}x${e.value.rows}`),p=new M.AttachAddon(c);e.value.loadAddon(p),h(()=>c.close())};return{initialize:w,session:s}}const q=x({__name:"TerminalSession",props:{sessionId:{}},async setup(a){let t,e;const{projectStore:s}=T();s.initializing?([t,e]=f(()=>g(()=>s.initialized).toBe(!0)),await t,e(),s.addLibraryRoot()):([t,e]=f(()=>s.initialize1()),await t,e(),[t,e]=f(()=>s.initialize2()),await t,e());const{initialize:u}=R(s.projectId,a.sessionId),r=l=>{u(l)};return(l,w)=>(A(),S(P,{onLoad:r}))}}),Z=x({__name:"[sessionId]",props:{params:{}},setup(a){return z(a.params.projectId),(t,e)=>(A(),S(k(N),{"project-id":t.params.projectId,"can-unlock":""},{default:D(()=>[H(k(q),{"session-id":t.params.sessionId},null,8,["session-id"])]),_:1},8,["project-id"]))}});export{Z as default};