@kong-ui-public/entities-plugins 9.104.1 → 9.104.2

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.
@@ -141,4 +141,4 @@ Edge: ${e}
141
141
  Source: ${n}
142
142
  Target: ${o}`,EDGE_ORPHANED:e=>`Edge was orphaned (suddenly missing source or target) and has been removed
143
143
  Edge: ${e}`,EDGE_NOT_FOUND:e=>`Edge not found
144
- Edge: ${e}`,USEVUEFLOW_OPTIONS:()=>"The options parameter is deprecated and will be removed in the next major version. Please use the id parameter instead"};class Ze extends Error{constructor(n,...o){var r;super((r=Ff[n])==null?void 0:r.call(Ff,...o)),this.name="VueFlowError",this.code=n,this.args=o}}function Sl(e){return"clientX"in e}function jx(e){return"sourceEvent"in e}function $t(e,n){const o=Sl(e);let r,i;return o?(r=e.clientX,i=e.clientY):"touches"in e&&e.touches.length>0?(r=e.touches[0].clientX,i=e.touches[0].clientY):"changedTouches"in e&&e.changedTouches.length>0?(r=e.changedTouches[0].clientX,i=e.changedTouches[0].clientY):(r=0,i=0),{x:r-((n==null?void 0:n.left)??0),y:i-((n==null?void 0:n.top)??0)}}const yi=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function qx(e){var n,o;return{width:((n=e.dimensions)==null?void 0:n.width)??e.width??0,height:((o=e.dimensions)==null?void 0:o.height)??e.height??0}}function _i(e,n=[1,1]){return{x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}}const Gx=()=>!0;function vl(e){e==null||e.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function zx(e,n,o){const r=[],i={x:e.x-o,y:e.y-o,width:o*2,height:o*2};for(const a of n.values())mi(i,pi(a))>0&&r.push(a);return r}const Hx=250;function Yx(e,n,o,r){var i,a;let l=[],s=Number.POSITIVE_INFINITY;const c=zx(e,o,n+Hx);for(const d of c){const f=[...((i=d.handleBounds)==null?void 0:i.source)??[],...((a=d.handleBounds)==null?void 0:a.target)??[]];for(const u of f){if(r.nodeId===u.nodeId&&r.type===u.type&&r.id===u.id)continue;const{x:p,y:m}=no(d,u,u.position,!0),h=Math.sqrt((p-e.x)**2+(m-e.y)**2);h>n||(h<s?(l=[{...u,x:p,y:m}],s=h):h===s&&l.push({...u,x:p,y:m}))}}if(!l.length)return null;if(l.length>1){const d=r.type==="source"?"target":"source";return l.find(f=>f.type===d)??l[0]}return l[0]}function Lf(e,{handle:n,connectionMode:o,fromNodeId:r,fromHandleId:i,fromType:a,doc:l,lib:s,flowId:c,isValidConnection:d=Gx},f,u,p){const m=a==="target",h=n?l.querySelector(`.${s}-flow__handle[data-id="${c}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:_,y:g}=$t(e),y=l.elementFromPoint(_,g),w=y!=null&&y.classList.contains(`${s}-flow__handle`)?y:h,b={handleDomNode:w,isValid:!1,connection:null,toHandle:null};if(w){const v=Uf(void 0,w),S=w.getAttribute("data-nodeid"),N=w.getAttribute("data-handleid"),I=w.classList.contains("connectable"),O=w.classList.contains("connectableend");if(!S||!v)return b;const F={source:m?S:r,sourceHandle:m?N:i,target:m?r:S,targetHandle:m?i:N};b.connection=F;const q=I&&O&&(o===Qt.Strict?m&&v==="source"||!m&&v==="target":S!==r||N!==i);b.isValid=q&&d(F,{nodes:u,edges:f,sourceNode:p(r),targetNode:p(S)}),b.toHandle=n}return b}function Uf(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function Wx(e,n){let o=null;return n?o="valid":e&&!n&&(o="invalid"),o}function Xx(e,n){let o=null;return n?o=!0:e&&!n&&(o=!1),o}function Zx(e,n,o,r,i,a=!1){var l,s,c;const d=r.get(e);if(!d)return null;const f=i===Qt.Strict?(l=d.handleBounds)==null?void 0:l[n]:[...((s=d.handleBounds)==null?void 0:s.source)??[],...((c=d.handleBounds)==null?void 0:c.target)??[]],u=(o?f==null?void 0:f.find(p=>p.id===o):f==null?void 0:f[0])??null;return u&&a?{...u,...no(d,u,u.position,!0)}:u}const xl={[be.Left]:be.Right,[be.Right]:be.Left,[be.Top]:be.Bottom,[be.Bottom]:be.Top},Jx=["production","prod"];function bi(e,...n){Kf()&&console.warn(`[Vue Flow]: ${e}`,...n)}function Kf(){return!Jx.includes(process.env.NODE_ENV||"")}function jf(e,n,o,r,i){const a=n.querySelectorAll(`.vue-flow__handle.${e}`);return a!=null&&a.length?Array.from(a).map(l=>{const s=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:i,position:l.getAttribute("data-handlepos"),x:(s.left-o.left)/r,y:(s.top-o.top)/r,...gi(l)}}):null}function Al(e,n,o,r,i,a=!1,l){i.value=!1,e.selected?(a||e.selected&&n)&&(r([e]),t.nextTick(()=>{l.blur()})):o([e])}function ze(e){return typeof t.unref(e)<"u"}function Qx(e,n,o,r){if(!e||!e.source||!e.target)return o(new Ze(Ge.EDGE_INVALID,(e==null?void 0:e.id)??"[ID UNKNOWN]")),!1;let i;return en(e)?i=e:i={...e,id:Ef(e)},i=kf(i,void 0,r),$x(i,n)?!1:i}function eA(e,n,o,r,i){if(!n.source||!n.target)return i(new Ze(Ge.EDGE_INVALID,e.id)),!1;if(!o)return i(new Ze(Ge.EDGE_NOT_FOUND,e.id)),!1;const{id:a,...l}=e;return{...l,id:r?Ef(n):a,source:n.source,target:n.target,sourceHandle:n.sourceHandle,targetHandle:n.targetHandle}}function qf(e,n,o){const r={},i=[];for(let a=0;a<e.length;++a){const l=e[a];if(!Sn(l)){o(new Ze(Ge.NODE_INVALID,l==null?void 0:l.id)||`[ID UNKNOWN|INDEX ${a}]`);continue}const s=Px(l,n(l.id),l.parentNode);l.parentNode&&(r[l.parentNode]=!0),i[a]=s}for(const a of i){const l=n(a.parentNode)||i.find(s=>s.id===a.parentNode);a.parentNode&&!l&&o(new Ze(Ge.NODE_MISSING_PARENT,a.id,a.parentNode)),(a.parentNode||r[a.id])&&(r[a.id]&&(a.isParent=!0),l&&(l.isParent=!0))}return i}function Gf(e,n,o,r,i,a){let l=i;const s=r.get(l)||new Map;r.set(l,s.set(o,n)),l=`${i}-${e}`;const c=r.get(l)||new Map;if(r.set(l,c.set(o,n)),a){l=`${i}-${e}-${a}`;const d=r.get(l)||new Map;r.set(l,d.set(o,n))}}function Il(e,n,o){e.clear();for(const r of o){const{source:i,target:a,sourceHandle:l=null,targetHandle:s=null}=r,c={edgeId:r.id,source:i,target:a,sourceHandle:l,targetHandle:s},d=`${i}-${l}--${a}-${s}`,f=`${a}-${s}--${i}-${l}`;Gf("source",c,f,e,i,l),Gf("target",c,d,e,a,s)}}function zf(e,n){if(e.size!==n.size)return!1;for(const o of e)if(!n.has(o))return!1;return!0}function Pl(e,n,o,r,i,a,l,s){const c=[];for(const d of e){const f=en(d)?d:Qx(d,s,i,a);if(!f)continue;const u=o(f.source),p=o(f.target);if(!u||!p){i(new Ze(Ge.EDGE_SOURCE_TARGET_MISSING,f.id,f.source,f.target));continue}if(!u){i(new Ze(Ge.EDGE_SOURCE_MISSING,f.id,f.source));continue}if(!p){i(new Ze(Ge.EDGE_TARGET_MISSING,f.id,f.target));continue}if(n&&!n(f,{edges:s,nodes:l,sourceNode:u,targetNode:p})){i(new Ze(Ge.EDGE_INVALID,f.id));continue}const m=r(f.id);c.push({...kf(f,m,a),sourceNode:u,targetNode:p})}return c}const Hf=Symbol("vueFlow"),Yf=Symbol("nodeId"),Wf=Symbol("nodeRef"),tA=Symbol("edgeId"),nA=Symbol("edgeRef"),wi=Symbol("slots");function Xf(e){const{vueFlowRef:n,snapToGrid:o,snapGrid:r,noDragClassName:i,nodes:a,nodeExtent:l,nodeDragThreshold:s,viewport:c,autoPanOnNodeDrag:d,autoPanSpeed:f,nodesDraggable:u,panBy:p,findNode:m,multiSelectionActive:h,nodesSelectionActive:_,selectNodesOnDrag:g,removeSelectedElements:y,addSelectedNodes:w,updateNodePositions:b,emits:v}=$e(),{onStart:S,onDrag:N,onStop:I,onClick:O,el:F,disabled:H,id:q,selectable:E,dragHandle:te}=e,P=t.shallowRef(!1);let G=[],R,K=null,V={x:void 0,y:void 0},M={x:0,y:0},D=null,L=!1,j=0,Z=!1;const W=iA(),ne=({x:le,y:ue})=>{V={x:le,y:ue};let ce=!1;if(G=G.map(T=>{const C={x:le-T.distance.x,y:ue-T.distance.y},{computedPosition:x}=Nl(T,o.value?_i(C,r.value):C,v.error,l.value,T.parentNode?m(T.parentNode):void 0);return ce=ce||T.position.x!==x.x||T.position.y!==x.y,T.position=x,T}),!!ce&&(b(G,!0,!0),P.value=!0,D)){const[T,C]=El({id:q,dragItems:G,findNode:m});N({event:D,node:T,nodes:C})}},ie=()=>{if(!K)return;const[le,ue]=Tf(M,K,f.value);if(le!==0||ue!==0){const ce={x:(V.x??0)-le/c.value.zoom,y:(V.y??0)-ue/c.value.zoom};p({x:le,y:ue})&&ne(ce)}j=requestAnimationFrame(ie)},de=(le,ue)=>{L=!0;const ce=m(q);!g.value&&!h.value&&ce&&(ce.selected||y()),ce&&t.toValue(E)&&g.value&&Al(ce,h.value,w,y,_,!1,ue);const T=W(le.sourceEvent);if(V=T,G=Dx(a.value,u.value,T,m,q),G.length){const[C,x]=El({id:q,dragItems:G,findNode:m});S({event:le.sourceEvent,node:C,nodes:x})}},ye=(le,ue)=>{var ce;le.sourceEvent.type==="touchmove"&&le.sourceEvent.touches.length>1||(s.value===0&&de(le,ue),V=W(le.sourceEvent),K=((ce=n.value)==null?void 0:ce.getBoundingClientRect())||null,M=$t(le.sourceEvent,K))},Q=(le,ue)=>{const ce=W(le.sourceEvent);if(!Z&&L&&d.value&&(Z=!0,ie()),!L){const T=ce.xSnapped-(V.x??0),C=ce.ySnapped-(V.y??0);Math.sqrt(T*T+C*C)>s.value&&de(le,ue)}(V.x!==ce.xSnapped||V.y!==ce.ySnapped)&&G.length&&L&&(D=le.sourceEvent,M=$t(le.sourceEvent,K),ne(ce))},oe=le=>{let ue=!1;if(!L&&!P.value&&!h.value){const ce=le.sourceEvent,T=W(ce),C=T.xSnapped-(V.x??0),x=T.ySnapped-(V.y??0),k=Math.sqrt(C*C+x*x);k!==0&&k<=s.value&&(O==null||O(ce),ue=!0)}if(G.length&&!ue){b(G,!1,!1);const[ce,T]=El({id:q,dragItems:G,findNode:m});I({event:le.sourceEvent,node:ce,nodes:T})}G=[],P.value=!1,Z=!1,L=!1,V={x:void 0,y:void 0},cancelAnimationFrame(j)};return t.watch([()=>t.toValue(H),F],([le,ue],ce,T)=>{if(ue){const C=kt(ue);le||(R=IS().on("start",x=>ye(x,ue)).on("drag",x=>Q(x,ue)).on("end",x=>oe(x)).filter(x=>{const k=x.target,$=t.toValue(te);return!x.button&&(!i.value||!Rf(k,`.${i.value}`,ue)&&(!$||Rf(k,$,ue)))}),C.call(R)),T(()=>{C.on(".drag",null),R&&(R.on("start",null),R.on("drag",null),R.on("end",null))})}}),P}function oA(){return{doubleClick:_e(),click:_e(),mouseEnter:_e(),mouseMove:_e(),mouseLeave:_e(),contextMenu:_e(),updateStart:_e(),update:_e(),updateEnd:_e()}}function rA(e,n){const o=oA();return o.doubleClick.on(r=>{var i,a;n.edgeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.edgeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.edgeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.edgeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.edgeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.edgeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.updateStart.on(r=>{var i,a;n.edgeUpdateStart(r),(a=(i=e.events)==null?void 0:i.updateStart)==null||a.call(i,r)}),o.update.on(r=>{var i,a;n.edgeUpdate(r),(a=(i=e.events)==null?void 0:i.update)==null||a.call(i,r)}),o.updateEnd.on(r=>{var i,a;n.edgeUpdateEnd(r),(a=(i=e.events)==null?void 0:i.updateEnd)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function iA(){const{viewport:e,snapGrid:n,snapToGrid:o,vueFlowRef:r}=$e();return i=>{var a;const l=((a=r.value)==null?void 0:a.getBoundingClientRect())??{left:0,top:0},s=jx(i)?i.sourceEvent:i,{x:c,y:d}=$t(s,l),f=Zo({x:c,y:d},e.value),{x:u,y:p}=o.value?_i(f,n.value):f;return{xSnapped:u,ySnapped:p,...f}}}function ki(){return!0}function Zf({handleId:e,nodeId:n,type:o,isValidConnection:r,edgeUpdaterType:i,onEdgeUpdate:a,onEdgeUpdateEnd:l}){const{id:s,vueFlowRef:c,connectionMode:d,connectionRadius:f,connectOnClick:u,connectionClickStartHandle:p,nodesConnectable:m,autoPanOnConnect:h,autoPanSpeed:_,findNode:g,panBy:y,startConnection:w,updateConnection:b,endConnection:v,emits:S,viewport:N,edges:I,nodes:O,isValidConnection:F,nodeLookup:H}=$e();let q=null,E=!1,te=null;function P(R){var K;const V=t.toValue(o)==="target",M=Sl(R),D=wf(R.target);if(M&&R.button===0||!M){let L=function(B){T=$t(B,le),ne=Yx(Zo(T,N.value,!1,[1,1]),f.value,H.value,k),C||(x(),C=!0);const ee=Lf(B,{handle:ne,connectionMode:d.value,fromNodeId:t.toValue(n),fromHandleId:t.toValue(e),fromType:V?"target":"source",isValidConnection:W,doc:D,lib:"vue",flowId:s,nodeLookup:H.value},I.value,O.value,g);te=ee.handleDomNode,q=ee.connection,E=Xx(!!ne,ee.isValid);const U={...X,isValid:E,to:ee.toHandle&&E?kl({x:ee.toHandle.x,y:ee.toHandle.y},N.value):T,toHandle:ee.toHandle,toPosition:E&&ee.toHandle?ee.toHandle.position:xl[k.position],toNode:ee.toHandle?H.value.get(ee.toHandle.nodeId):null};if(!(E&&ne&&(X!=null&&X.toHandle)&&U.toHandle&&X.toHandle.type===U.toHandle.type&&X.toHandle.nodeId===U.toHandle.nodeId&&X.toHandle.id===U.toHandle.id&&X.to.x===U.to.x&&X.to.y===U.to.y)){if(b(ne&&E?kl({x:ne.x,y:ne.y},N.value):T,ee.toHandle,Wx(!!ne,E)),X=U,!ne&&!E&&!te)return vl(ce);q&&q.source!==q.target&&te&&(vl(ce),ce=te,te.classList.add("connecting","vue-flow__handle-connecting"),te.classList.toggle("valid",!!E),te.classList.toggle("vue-flow__handle-valid",!!E))}},j=function(B){(ne||te)&&q&&E&&(a?a(B,q):S.connect(q)),S.connectEnd(B),i&&(l==null||l(B)),vl(ce),cancelAnimationFrame(ie),v(B),C=!1,E=!1,q=null,te=null,D.removeEventListener("mousemove",L),D.removeEventListener("mouseup",j),D.removeEventListener("touchmove",L),D.removeEventListener("touchend",j)};const Z=g(t.toValue(n));let W=t.toValue(r)||F.value||ki;!W&&Z&&(W=(V?Z.isValidSourcePos:Z.isValidTargetPos)||ki);let ne,ie=0;const{x:de,y:ye}=$t(R),Q=D==null?void 0:D.elementFromPoint(de,ye),oe=Uf(t.toValue(i),Q),le=(K=c.value)==null?void 0:K.getBoundingClientRect();if(!le||!oe)return;const ue=Zx(t.toValue(n),oe,t.toValue(e),H.value,d.value);if(!ue)return;let ce,T=$t(R,le),C=!1;const x=()=>{if(!h.value)return;const[B,ee]=Tf(T,le,_.value);y({x:B,y:ee}),ie=requestAnimationFrame(x)},k={...ue,nodeId:t.toValue(n),type:oe,position:ue.position},$=H.value.get(t.toValue(n)),z={inProgress:!0,isValid:null,from:no($,k,be.Left,!0),fromHandle:k,fromPosition:k.position,fromNode:$,to:T,toHandle:null,toPosition:xl[k.position],toNode:null};w({nodeId:t.toValue(n),id:t.toValue(e),type:oe,position:(Q==null?void 0:Q.getAttribute("data-handlepos"))||be.Top,...T},{x:de-le.left,y:ye-le.top}),S.connectStart({event:R,nodeId:t.toValue(n),handleId:t.toValue(e),handleType:oe});let X=z;D.addEventListener("mousemove",L),D.addEventListener("mouseup",j),D.addEventListener("touchmove",L),D.addEventListener("touchend",j)}}function G(R){var K,V;if(!u.value)return;const M=t.toValue(o)==="target";if(!p.value){S.clickConnectStart({event:R,nodeId:t.toValue(n),handleId:t.toValue(e)}),w({nodeId:t.toValue(n),type:t.toValue(o),id:t.toValue(e),position:be.Top,...$t(R)},void 0,!0);return}let D=t.toValue(r)||F.value||ki;const L=g(t.toValue(n));if(!D&&L&&(D=(M?L.isValidSourcePos:L.isValidTargetPos)||ki),L&&(typeof L.connectable>"u"?m.value:L.connectable)===!1)return;const j=wf(R.target),Z=Lf(R,{handle:{nodeId:t.toValue(n),id:t.toValue(e),type:t.toValue(o),position:be.Top,...$t(R)},connectionMode:d.value,fromNodeId:p.value.nodeId,fromHandleId:p.value.id??null,fromType:p.value.type,isValidConnection:D,doc:j,lib:"vue",flowId:s,nodeLookup:H.value},I.value,O.value,g),W=((K=Z.connection)==null?void 0:K.source)===((V=Z.connection)==null?void 0:V.target);Z.isValid&&Z.connection&&!W&&S.connect(Z.connection),S.clickConnectEnd(R),v(R,!0)}return{handlePointerDown:P,handleClick:G}}function aA(){return t.inject(Yf,"")}function Jf(e){const n=e??aA()??"",o=t.inject(Wf,t.ref(null)),{findNode:r,edges:i,emits:a}=$e(),l=r(n);return l||a.error(new Ze(Ge.NODE_NOT_FOUND,n)),{id:n,nodeEl:o,node:l,parentNode:t.computed(()=>r(l.parentNode)),connectedEdges:t.computed(()=>xf([l],i.value))}}function lA(){return{doubleClick:_e(),click:_e(),mouseEnter:_e(),mouseMove:_e(),mouseLeave:_e(),contextMenu:_e(),dragStart:_e(),drag:_e(),dragStop:_e()}}function sA(e,n){const o=lA();return o.doubleClick.on(r=>{var i,a;n.nodeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.nodeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.nodeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.nodeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.nodeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.nodeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.dragStart.on(r=>{var i,a;n.nodeDragStart(r),(a=(i=e.events)==null?void 0:i.dragStart)==null||a.call(i,r)}),o.drag.on(r=>{var i,a;n.nodeDrag(r),(a=(i=e.events)==null?void 0:i.drag)==null||a.call(i,r)}),o.dragStop.on(r=>{var i,a;n.nodeDragStop(r),(a=(i=e.events)==null?void 0:i.dragStop)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function Qf(){const{getSelectedNodes:e,nodeExtent:n,updateNodePositions:o,findNode:r,snapGrid:i,snapToGrid:a,nodesDraggable:l,emits:s}=$e();return(c,d=!1)=>{const f=a.value?i.value[0]:5,u=a.value?i.value[1]:5,p=d?4:1,m=c.x*f*p,h=c.y*u*p,_=[];for(const g of e.value)if(g.draggable||l&&typeof g.draggable>"u"){const y={x:g.computedPosition.x+m,y:g.computedPosition.y+h},{computedPosition:w}=Nl(g,y,s.error,n.value,g.parentNode?r(g.parentNode):void 0);_.push({id:g.id,position:w,from:g.position,distance:{x:c.x,y:c.y},dimensions:g.dimensions})}o(_,!0,!1)}}const Tl=.1,cA=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2;function on(){return bi("Viewport not initialized yet."),Promise.resolve(!1)}const dA={zoomIn:on,zoomOut:on,zoomTo:on,fitView:on,setCenter:on,fitBounds:on,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:on,setTransform:on,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function uA(e){function n(r,i){return new Promise(a=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((i==null?void 0:i.interpolate)==="linear"?Ko:ni).scaleBy(Ol(e.d3Selection,i==null?void 0:i.duration,i==null?void 0:i.ease,()=>{a(!0)}),r):a(!1)})}function o(r,i,a,l){return new Promise(s=>{var c;const{x:d,y:f}=bf({x:-r,y:-i},e.translateExtent),u=eo.translate(-d,-f).scale(a);e.d3Selection&&e.d3Zoom?(c=e.d3Zoom)==null||c.interpolate((l==null?void 0:l.interpolate)==="linear"?Ko:ni).transform(Ol(e.d3Selection,l==null?void 0:l.duration,l==null?void 0:l.ease,()=>{s(!0)}),u):s(!1)})}return t.computed(()=>e.d3Zoom&&e.d3Selection&&e.dimensions.width&&e.dimensions.height?{viewportInitialized:!0,zoomIn:i=>n(1.2,i),zoomOut:i=>n(1/1.2,i),zoomTo:(i,a)=>new Promise(l=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((a==null?void 0:a.interpolate)==="linear"?Ko:ni).scaleTo(Ol(e.d3Selection,a==null?void 0:a.duration,a==null?void 0:a.ease,()=>{l(!0)}),i):l(!1)}),setViewport:(i,a)=>o(i.x,i.y,i.zoom,a),setTransform:(i,a)=>o(i.x,i.y,i.zoom,a),getViewport:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),getTransform:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),fitView:(i={padding:Tl,includeHiddenNodes:!1,duration:0})=>{var a,l;const s=[];for(const p of e.nodes)p.dimensions.width&&p.dimensions.height&&((i==null?void 0:i.includeHiddenNodes)||!p.hidden)&&(!((a=i.nodes)!=null&&a.length)||(l=i.nodes)!=null&&l.length&&i.nodes.includes(p.id))&&s.push(p);if(!s.length)return Promise.resolve(!1);const c=Sf(s),{x:d,y:f,zoom:u}=Af(c,e.dimensions.width,e.dimensions.height,i.minZoom??e.minZoom,i.maxZoom??e.maxZoom,i.padding??Tl,i.offset);return o(d,f,u,i)},setCenter:(i,a,l)=>{const s=typeof(l==null?void 0:l.zoom)<"u"?l.zoom:e.maxZoom,c=e.dimensions.width/2-i*s,d=e.dimensions.height/2-a*s;return o(c,d,s,l)},fitBounds:(i,a={padding:Tl})=>{const{x:l,y:s,zoom:c}=Af(i,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,a.padding);return o(l,s,c,a)},project:i=>Zo(i,e.viewport,e.snapToGrid,e.snapGrid),screenToFlowCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x-a,y:i.y-l};return Zo(s,e.viewport,e.snapToGrid,e.snapGrid)}return{x:0,y:0}},flowToScreenCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x+a,y:i.y+l};return kl(s,e.viewport)}return{x:0,y:0}}}:dA)}function Ol(e,n=0,o=cA,r=()=>{}){const i=typeof n=="number"&&n>0;return i||r(),i?e.transition().duration(n).ease(o).on("end",r):e}function fA(e,n,o){const r=t.effectScope(!0);return r.run(()=>{const i=()=>{r.run(()=>{let _,g,y=!!(o.nodes.value.length||o.edges.value.length);_=Wn([e.modelValue,()=>{var w,b;return(b=(w=e.modelValue)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setElements(w),!g&&!y&&w.length?y=!0:g==null||g.resume())}),g=Wn([o.nodes,o.edges,()=>o.edges.value.length,()=>o.nodes.value.length],([w,b])=>{var v;(v=e.modelValue)!=null&&v.value&&Array.isArray(e.modelValue.value)&&(_==null||_.pause(),e.modelValue.value=[...w,...b],t.nextTick(()=>{_==null||_.resume()}))},{immediate:y}),t.onScopeDispose(()=>{_==null||_.stop(),g==null||g.stop()})})},a=()=>{r.run(()=>{let _,g,y=!!o.nodes.value.length;_=Wn([e.nodes,()=>{var w,b;return(b=(w=e.nodes)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setNodes(w),!g&&!y&&w.length?y=!0:g==null||g.resume())}),g=Wn([o.nodes,()=>o.nodes.value.length],([w])=>{var b;(b=e.nodes)!=null&&b.value&&Array.isArray(e.nodes.value)&&(_==null||_.pause(),e.nodes.value=[...w],t.nextTick(()=>{_==null||_.resume()}))},{immediate:y}),t.onScopeDispose(()=>{_==null||_.stop(),g==null||g.stop()})})},l=()=>{r.run(()=>{let _,g,y=!!o.edges.value.length;_=Wn([e.edges,()=>{var w,b;return(b=(w=e.edges)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setEdges(w),!g&&!y&&w.length?y=!0:g==null||g.resume())}),g=Wn([o.edges,()=>o.edges.value.length],([w])=>{var b;(b=e.edges)!=null&&b.value&&Array.isArray(e.edges.value)&&(_==null||_.pause(),e.edges.value=[...w],t.nextTick(()=>{_==null||_.resume()}))},{immediate:y}),t.onScopeDispose(()=>{_==null||_.stop(),g==null||g.stop()})})},s=()=>{r.run(()=>{t.watch(()=>n.maxZoom,()=>{n.maxZoom&&ze(n.maxZoom)&&o.setMaxZoom(n.maxZoom)},{immediate:!0})})},c=()=>{r.run(()=>{t.watch(()=>n.minZoom,()=>{n.minZoom&&ze(n.minZoom)&&o.setMinZoom(n.minZoom)},{immediate:!0})})},d=()=>{r.run(()=>{t.watch(()=>n.translateExtent,()=>{n.translateExtent&&ze(n.translateExtent)&&o.setTranslateExtent(n.translateExtent)},{immediate:!0})})},f=()=>{r.run(()=>{t.watch(()=>n.nodeExtent,()=>{n.nodeExtent&&ze(n.nodeExtent)&&o.setNodeExtent(n.nodeExtent)},{immediate:!0})})},u=()=>{r.run(()=>{t.watch(()=>n.applyDefault,()=>{ze(n.applyDefault)&&(o.applyDefault.value=n.applyDefault)},{immediate:!0})})},p=()=>{r.run(()=>{const _=async g=>{let y=g;typeof n.autoConnect=="function"&&(y=await n.autoConnect(g)),y!==!1&&o.addEdges([y])};t.watch(()=>n.autoConnect,()=>{ze(n.autoConnect)&&(o.autoConnect.value=n.autoConnect)},{immediate:!0}),t.watch(o.autoConnect,(g,y,w)=>{g?o.onConnect(_):o.hooks.value.connect.off(_),w(()=>{o.hooks.value.connect.off(_)})},{immediate:!0})})},m=()=>{const _=["id","modelValue","translateExtent","nodeExtent","edges","nodes","maxZoom","minZoom","applyDefault","autoConnect"];for(const g of Object.keys(n)){const y=g;if(!_.includes(y)){const w=t.toRef(()=>n[y]),b=o[y];t.isRef(b)&&r.run(()=>{t.watch(w,v=>{ze(v)&&(b.value=v)},{immediate:!0})})}}};(()=>{i(),a(),l(),c(),s(),d(),f(),u(),p(),m()})()}),()=>r.stop()}function pA(){return{edgesChange:_e(),nodesChange:_e(),nodeDoubleClick:_e(),nodeClick:_e(),nodeMouseEnter:_e(),nodeMouseMove:_e(),nodeMouseLeave:_e(),nodeContextMenu:_e(),nodeDragStart:_e(),nodeDrag:_e(),nodeDragStop:_e(),nodesInitialized:_e(),miniMapNodeClick:_e(),miniMapNodeDoubleClick:_e(),miniMapNodeMouseEnter:_e(),miniMapNodeMouseMove:_e(),miniMapNodeMouseLeave:_e(),connect:_e(),connectStart:_e(),connectEnd:_e(),clickConnectStart:_e(),clickConnectEnd:_e(),paneReady:_e(),init:_e(),move:_e(),moveStart:_e(),moveEnd:_e(),selectionDragStart:_e(),selectionDrag:_e(),selectionDragStop:_e(),selectionContextMenu:_e(),selectionStart:_e(),selectionEnd:_e(),viewportChangeStart:_e(),viewportChange:_e(),viewportChangeEnd:_e(),paneScroll:_e(),paneClick:_e(),paneContextMenu:_e(),paneMouseEnter:_e(),paneMouseMove:_e(),paneMouseLeave:_e(),edgeContextMenu:_e(),edgeMouseEnter:_e(),edgeMouseMove:_e(),edgeMouseLeave:_e(),edgeDoubleClick:_e(),edgeClick:_e(),edgeUpdateStart:_e(),edgeUpdate:_e(),edgeUpdateEnd:_e(),updateNodeInternals:_e(),error:_e(e=>bi(e.message))}}function mA(e,n){t.onBeforeMount(()=>{for(const[o,r]of Object.entries(n.value)){const i=a=>{e(o,a)};r.fns.add(i),qr(()=>{r.off(i)})}})}function ep(){return{vueFlowRef:null,viewportRef:null,nodes:[],edges:[],connectionLookup:new Map,nodeTypes:{},edgeTypes:{},initialized:!1,dimensions:{width:0,height:0},viewport:{x:0,y:0,zoom:1},d3Zoom:null,d3Selection:null,d3ZoomHandler:null,minZoom:.5,maxZoom:2,translateExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],nodeExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],selectionMode:bl.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:Yo.Free,paneClickDistance:0,panOnDrag:!0,edgeUpdaterRadius:10,onlyRenderVisibleElements:!1,defaultViewport:{x:0,y:0,zoom:1},nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,defaultMarkerColor:"#b1b1b7",connectionLineStyle:{},connectionLineType:null,connectionLineOptions:{type:En.Bezier,style:{}},connectionMode:Qt.Loose,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectionPosition:{x:Number.NaN,y:Number.NaN},connectionRadius:20,connectOnClick:!0,connectionStatus:null,isValidConnection:null,snapGrid:[15,15],snapToGrid:!1,edgesUpdatable:!1,edgesFocusable:!0,nodesFocusable:!0,nodesConnectable:!0,nodesDraggable:!0,nodeDragThreshold:1,elementsSelectable:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,selectionKeyCode:"Shift",multiSelectionKeyCode:yi()?"Meta":"Control",zoomActivationKeyCode:yi()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:pA(),applyDefault:!0,autoConnect:!1,fitViewOnInit:!1,fitViewOnInitDone:!1,noDragClassName:"nodrag",noWheelClassName:"nowheel",noPanClassName:"nopan",defaultEdgeOptions:void 0,elevateEdgesOnSelect:!1,elevateNodesOnSelect:!0,autoPanOnNodeDrag:!0,autoPanOnConnect:!0,autoPanSpeed:15,disableKeyboardA11y:!1,ariaLiveMessage:""}}const gA=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function hA(e,n,o){const r=uA(e),i=T=>{const C=T??[];e.hooks.updateNodeInternals.trigger(C)},a=T=>Ox(T,e.nodes,e.edges),l=T=>Tx(T,e.nodes,e.edges),s=T=>xf(T,e.edges),c=({id:T,type:C,nodeId:x})=>{var k;return Array.from(((k=e.connectionLookup.get(`${x}-${C}-${T??null}`))==null?void 0:k.values())??[])},d=T=>{if(T)return n.value.get(T)},f=T=>{if(T)return o.value.get(T)},u=(T,C,x)=>{var k,$;const A=[];for(const z of T){const X={id:z.id,type:"position",dragging:x,from:z.from};if(C&&(X.position=z.position,z.parentNode)){const B=d(z.parentNode);X.position={x:X.position.x-(((k=B==null?void 0:B.computedPosition)==null?void 0:k.x)??0),y:X.position.y-((($=B==null?void 0:B.computedPosition)==null?void 0:$.y)??0)}}A.push(X)}A!=null&&A.length&&e.hooks.nodesChange.trigger(A)},p=T=>{if(!e.vueFlowRef)return;const C=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!C)return;const x=window.getComputedStyle(C),{m22:k}=new window.DOMMatrixReadOnly(x.transform),$=[];for(const A of T){const z=A,X=d(z.id);if(X){const B=gi(z.nodeElement);if(!!(B.width&&B.height&&(X.dimensions.width!==B.width||X.dimensions.height!==B.height||z.forceUpdate))){const U=z.nodeElement.getBoundingClientRect();X.dimensions=B,X.handleBounds.source=jf("source",z.nodeElement,U,k,X.id),X.handleBounds.target=jf("target",z.nodeElement,U,k,X.id),$.push({id:X.id,type:"dimensions",dimensions:B})}}}!e.fitViewOnInitDone&&e.fitViewOnInit&&r.value.fitView().then(()=>{e.fitViewOnInitDone=!0}),$.length&&e.hooks.nodesChange.trigger($)},m=(T,C)=>{const x=new Set,k=new Set;for(const z of T)Sn(z)?x.add(z.id):en(z)&&k.add(z.id);const $=nn(n.value,x,!0),A=nn(o.value,k);if(e.multiSelectionActive){for(const z of x)$.push(tn(z,C));for(const z of k)A.push(tn(z,C))}$.length&&e.hooks.nodesChange.trigger($),A.length&&e.hooks.edgesChange.trigger(A)},h=T=>{if(e.multiSelectionActive){const C=T.map(x=>tn(x.id,!0));e.hooks.nodesChange.trigger(C);return}e.hooks.nodesChange.trigger(nn(n.value,new Set(T.map(C=>C.id)),!0)),e.hooks.edgesChange.trigger(nn(o.value))},_=T=>{if(e.multiSelectionActive){const C=T.map(x=>tn(x.id,!0));e.hooks.edgesChange.trigger(C);return}e.hooks.edgesChange.trigger(nn(o.value,new Set(T.map(C=>C.id)))),e.hooks.nodesChange.trigger(nn(n.value,new Set,!0))},g=T=>{m(T,!0)},y=T=>{const x=(T||e.nodes).map(k=>(k.selected=!1,tn(k.id,!1)));e.hooks.nodesChange.trigger(x)},w=T=>{const x=(T||e.edges).map(k=>(k.selected=!1,tn(k.id,!1)));e.hooks.edgesChange.trigger(x)},b=T=>{if(!T||!T.length)return m([],!1);const C=T.reduce((x,k)=>{const $=tn(k.id,!1);return Sn(k)?x.nodes.push($):x.edges.push($),x},{nodes:[],edges:[]});C.nodes.length&&e.hooks.nodesChange.trigger(C.nodes),C.edges.length&&e.hooks.edgesChange.trigger(C.edges)},v=T=>{var C;(C=e.d3Zoom)==null||C.scaleExtent([T,e.maxZoom]),e.minZoom=T},S=T=>{var C;(C=e.d3Zoom)==null||C.scaleExtent([e.minZoom,T]),e.maxZoom=T},N=T=>{var C;(C=e.d3Zoom)==null||C.translateExtent(T),e.translateExtent=T},I=T=>{e.nodeExtent=T,i()},O=T=>{var C;(C=e.d3Zoom)==null||C.clickDistance(T)},F=T=>{e.nodesDraggable=T,e.nodesConnectable=T,e.elementsSelectable=T},H=T=>{const C=T instanceof Function?T(e.nodes):T;!e.initialized&&!C.length||(e.nodes=qf(C,d,e.hooks.error.trigger))},q=T=>{const C=T instanceof Function?T(e.edges):T;if(!e.initialized&&!C.length)return;const x=Pl(C,e.isValidConnection,d,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);Il(e.connectionLookup,o.value,x),e.edges=x},E=T=>{const C=T instanceof Function?T([...e.nodes,...e.edges]):T;!e.initialized&&!C.length||(H(C.filter(Sn)),q(C.filter(en)))},te=T=>{let C=T instanceof Function?T(e.nodes):T;C=Array.isArray(C)?C:[C];const x=qf(C,d,e.hooks.error.trigger),k=[];for(const $ of x)k.push($f($));k.length&&e.hooks.nodesChange.trigger(k)},P=T=>{let C=T instanceof Function?T(e.edges):T;C=Array.isArray(C)?C:[C];const x=Pl(C,e.isValidConnection,d,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),k=[];for(const $ of x)k.push($f($));k.length&&e.hooks.edgesChange.trigger(k)},G=(T,C=!0,x=!1)=>{const k=T instanceof Function?T(e.nodes):T,$=Array.isArray(k)?k:[k],A=[],z=[];function X(ee){const U=s(ee);for(const me of U)(!ze(me.deletable)||me.deletable)&&z.push(Vf(me.id,me.source,me.target,me.sourceHandle,me.targetHandle))}function B(ee){const U=[];for(const me of e.nodes)me.parentNode===ee&&U.push(me);if(U.length){for(const me of U)A.push(Bf(me.id));C&&X(U);for(const me of U)B(me.id)}}for(const ee of $){const U=typeof ee=="string"?d(ee):ee;U&&(ze(U.deletable)&&!U.deletable||(A.push(Bf(U.id)),C&&X([U]),x&&B(U.id)))}z.length&&e.hooks.edgesChange.trigger(z),A.length&&e.hooks.nodesChange.trigger(A)},R=T=>{const C=T instanceof Function?T(e.edges):T,x=Array.isArray(C)?C:[C],k=[];for(const $ of x){const A=typeof $=="string"?f($):$;A&&(ze(A.deletable)&&!A.deletable||k.push(Vf(typeof $=="string"?$:$.id,A.source,A.target,A.sourceHandle,A.targetHandle)))}e.hooks.edgesChange.trigger(k)},K=(T,C,x=!0)=>{const k=f(T.id);if(!k)return!1;const $=e.edges.indexOf(k),A=eA(T,C,k,x,e.hooks.error.trigger);if(A){const[z]=Pl([A],e.isValidConnection,d,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);return e.edges=e.edges.map((X,B)=>B===$?z:X),Il(e.connectionLookup,o.value,[z]),z}return!1},V=(T,C,x={replace:!1})=>{const k=f(T);if(!k)return;const $=typeof C=="function"?C(k):C;k.data=x.replace?$:{...k.data,...$}},M=T=>Of(T,e.nodes),D=T=>{const C=Of(T,e.edges);return Il(e.connectionLookup,o.value,C),C},L=(T,C,x={replace:!1})=>{const k=d(T);if(!k)return;const $=typeof C=="function"?C(k):C;x.replace?e.nodes.splice(e.nodes.indexOf(k),1,$):Object.assign(k,$)},j=(T,C,x={replace:!1})=>{const k=d(T);if(!k)return;const $=typeof C=="function"?C(k):C;k.data=x.replace?$:{...k.data,...$}},Z=(T,C,x=!1)=>{x?e.connectionClickStartHandle=T:e.connectionStartHandle=T,e.connectionEndHandle=null,e.connectionStatus=null,C&&(e.connectionPosition=C)},W=(T,C=null,x=null)=>{e.connectionStartHandle&&(e.connectionPosition=T,e.connectionEndHandle=C,e.connectionStatus=x)},ne=(T,C)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,C?e.connectionClickStartHandle=null:e.connectionStartHandle=null},ie=T=>{const C=Ix(T),x=C?null:Xo(T)?T:d(T.id);return!C&&!x?[null,null,C]:[C?T:pi(x),x,C]},de=(T,C=!0,x=e.nodes)=>{const[k,$,A]=ie(T);if(!k)return[];const z=[];for(const X of x||e.nodes){if(!A&&(X.id===$.id||!X.computedPosition))continue;const B=pi(X),ee=mi(B,k);(C&&ee>0||ee>=Number(k.width)*Number(k.height))&&z.push(X)}return z},ye=(T,C,x=!0)=>{const[k]=ie(T);if(!k)return!1;const $=mi(k,C);return x&&$>0||$>=Number(k.width)*Number(k.height)},Q=T=>{const{viewport:C,dimensions:x,d3Zoom:k,d3Selection:$,translateExtent:A}=e;if(!k||!$||!T.x&&!T.y)return!1;const z=eo.translate(C.x+T.x,C.y+T.y).scale(C.zoom),X=[[0,0],[x.width,x.height]],B=k.constrain()(z,X,A),ee=e.viewport.x!==B.x||e.viewport.y!==B.y||e.viewport.zoom!==B.k;return k.transform($,B),ee},oe=T=>{const C=T instanceof Function?T(e):T,x=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];ze(C.defaultEdgeOptions)&&(e.defaultEdgeOptions=C.defaultEdgeOptions);const k=C.modelValue||C.nodes||C.edges?[]:void 0;k&&(C.modelValue&&k.push(...C.modelValue),C.nodes&&k.push(...C.nodes),C.edges&&k.push(...C.edges),E(k));const $=()=>{ze(C.maxZoom)&&S(C.maxZoom),ze(C.minZoom)&&v(C.minZoom),ze(C.translateExtent)&&N(C.translateExtent)};for(const A of Object.keys(C)){const z=A,X=C[z];![...gA,...x].includes(z)&&ze(X)&&(e[z]=X)}Ja(()=>e.d3Zoom).not.toBeNull().then($),e.initialized||(e.initialized=!0)};return{updateNodePositions:u,updateNodeDimensions:p,setElements:E,setNodes:H,setEdges:q,addNodes:te,addEdges:P,removeNodes:G,removeEdges:R,findNode:d,findEdge:f,updateEdge:K,updateEdgeData:V,updateNode:L,updateNodeData:j,applyEdgeChanges:D,applyNodeChanges:M,addSelectedElements:g,addSelectedNodes:h,addSelectedEdges:_,setMinZoom:v,setMaxZoom:S,setTranslateExtent:N,setNodeExtent:I,setPaneClickDistance:O,removeSelectedElements:b,removeSelectedNodes:y,removeSelectedEdges:w,startConnection:Z,updateConnection:W,endConnection:ne,setInteractive:F,setState:oe,getIntersectingNodes:de,getIncomers:a,getOutgoers:l,getConnectedEdges:s,getHandleConnections:c,isNodeIntersecting:ye,panBy:Q,fitView:T=>r.value.fitView(T),zoomIn:T=>r.value.zoomIn(T),zoomOut:T=>r.value.zoomOut(T),zoomTo:(T,C)=>r.value.zoomTo(T,C),setViewport:(T,C)=>r.value.setViewport(T,C),setTransform:(T,C)=>r.value.setTransform(T,C),getViewport:()=>r.value.getViewport(),getTransform:()=>r.value.getTransform(),setCenter:(T,C,x)=>r.value.setCenter(T,C,x),fitBounds:(T,C)=>r.value.fitBounds(T,C),project:T=>r.value.project(T),screenToFlowCoordinate:T=>r.value.screenToFlowCoordinate(T),flowToScreenCoordinate:T=>r.value.flowToScreenCoordinate(T),toObject:()=>{const T=[],C=[];for(const x of e.nodes){const{computedPosition:k,handleBounds:$,selected:A,dimensions:z,isParent:X,resizing:B,dragging:ee,events:U,...me}=x;T.push(me)}for(const x of e.edges){const{selected:k,sourceNode:$,targetNode:A,events:z,...X}=x;C.push(X)}return JSON.parse(JSON.stringify({nodes:T,edges:C,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:T=>new Promise(C=>{const{nodes:x,edges:k,position:$,zoom:A,viewport:z}=T;if(x&&H(x),k&&q(k),z!=null&&z.x&&(z!=null&&z.y)||$){const X=(z==null?void 0:z.x)||$[0],B=(z==null?void 0:z.y)||$[1],ee=(z==null?void 0:z.zoom)||A||e.viewport.zoom;return Ja(()=>r.value.viewportInitialized).toBe(!0).then(()=>{r.value.setViewport({x:X,y:B,zoom:ee}).then(()=>{C(!0)})})}else C(!0)}),updateNodeInternals:i,viewportHelper:r,$reset:()=>{const T=ep();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const C=eo.translate(T.defaultViewport.x??0,T.defaultViewport.y??0).scale(Nn(T.defaultViewport.zoom??1,T.minZoom,T.maxZoom)),x=e.viewportRef.getBoundingClientRect(),k=[[0,0],[x.width,x.height]],$=e.d3Zoom.constrain()(C,k,T.translateExtent);e.d3Zoom.transform(e.d3Selection,$)}oe(T)},$destroy:()=>{}}}const yA=["data-id","data-handleid","data-nodeid","data-handlepos"],_A={name:"Handle",compatConfig:{MODE:3}},rn=t.defineComponent({..._A,props:{id:{default:null},type:{},position:{default:()=>be.Top},isValidConnection:{type:Function},connectable:{type:[Boolean,Number,String,Function],default:void 0},connectableStart:{type:Boolean,default:!0},connectableEnd:{type:Boolean,default:!0}},setup(e,{expose:n}){const o=t.createPropsRestProxy(e,["position","connectable","connectableStart","connectableEnd","id"]),r=t.toRef(()=>o.type??"source"),i=t.toRef(()=>o.isValidConnection??null),{id:a,connectionStartHandle:l,connectionClickStartHandle:s,connectionEndHandle:c,vueFlowRef:d,nodesConnectable:f,noDragClassName:u,noPanClassName:p}=$e(),{id:m,node:h,nodeEl:_,connectedEdges:g}=Jf(),y=t.ref(),w=t.toRef(()=>typeof e.connectableStart<"u"?e.connectableStart:!0),b=t.toRef(()=>typeof e.connectableEnd<"u"?e.connectableEnd:!0),v=t.toRef(()=>{var q,E,te,P,G,R;return((q=l.value)==null?void 0:q.nodeId)===m&&((E=l.value)==null?void 0:E.id)===e.id&&((te=l.value)==null?void 0:te.type)===r.value||((P=c.value)==null?void 0:P.nodeId)===m&&((G=c.value)==null?void 0:G.id)===e.id&&((R=c.value)==null?void 0:R.type)===r.value}),S=t.toRef(()=>{var q,E,te;return((q=s.value)==null?void 0:q.nodeId)===m&&((E=s.value)==null?void 0:E.id)===e.id&&((te=s.value)==null?void 0:te.type)===r.value}),{handlePointerDown:N,handleClick:I}=Zf({nodeId:m,handleId:e.id,isValidConnection:i,type:r}),O=t.computed(()=>typeof e.connectable=="string"&&e.connectable==="single"?!g.value.some(q=>{const E=q[`${r.value}Handle`];return q[r.value]!==m?!1:E?E===e.id:!0}):typeof e.connectable=="number"?g.value.filter(q=>{const E=q[`${r.value}Handle`];return q[r.value]!==m?!1:E?E===e.id:!0}).length<e.connectable:typeof e.connectable=="function"?e.connectable(h,g.value):ze(e.connectable)?e.connectable:f.value);t.onMounted(()=>{var q;if(!h.dimensions.width||!h.dimensions.height)return;const E=(q=h.handleBounds[r.value])==null?void 0:q.find(M=>M.id===e.id);if(!d.value||E)return;const te=d.value.querySelector(".vue-flow__transformationpane");if(!_.value||!y.value||!te||!e.id)return;const P=_.value.getBoundingClientRect(),G=y.value.getBoundingClientRect(),R=window.getComputedStyle(te),{m22:K}=new window.DOMMatrixReadOnly(R.transform),V={id:e.id,position:e.position,x:(G.left-P.left)/K,y:(G.top-P.top)/K,type:r.value,nodeId:m,...gi(y.value)};h.handleBounds[r.value]=[...h.handleBounds[r.value]??[],V]});function F(q){const E=Sl(q);O.value&&w.value&&(E&&q.button===0||!E)&&N(q)}function H(q){!m||!s.value&&!w.value||O.value&&I(q)}return n({handleClick:I,handlePointerDown:N,onClick:H,onPointerDown:F}),(q,E)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"handle",ref:y,"data-id":`${t.unref(a)}-${t.unref(m)}-${e.id}-${r.value}`,"data-handleid":e.id,"data-nodeid":t.unref(m),"data-handlepos":q.position,class:t.normalizeClass(["vue-flow__handle",[`vue-flow__handle-${q.position}`,`vue-flow__handle-${e.id}`,t.unref(u),t.unref(p),r.value,{connectable:O.value,connecting:S.value,connectablestart:w.value,connectableend:b.value,connectionindicator:O.value&&(w.value&&!v.value||b.value&&v.value)}]]),onMousedown:F,onTouchstartPassive:F,onClick:H},[t.renderSlot(q.$slots,"default",{id:q.id})],42,yA))}}),Ci=function({sourcePosition:e=be.Bottom,targetPosition:n=be.Top,label:o,connectable:r=!0,isValidTargetPos:i,isValidSourcePos:a,data:l}){const s=l.label??o;return[t.h(rn,{type:"target",position:n,connectable:r,isValidConnection:i}),typeof s!="string"&&s?t.h(s):t.h(t.Fragment,[s]),t.h(rn,{type:"source",position:e,connectable:r,isValidConnection:a})]};Ci.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"],Ci.inheritAttrs=!1,Ci.compatConfig={MODE:3};const bA=Ci,Ei=function({targetPosition:e=be.Top,label:n,connectable:o=!0,isValidTargetPos:r,data:i}){const a=i.label??n;return[t.h(rn,{type:"target",position:e,connectable:o,isValidConnection:r}),typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a])]};Ei.props=["targetPosition","label","isValidTargetPos","connectable","data"],Ei.inheritAttrs=!1,Ei.compatConfig={MODE:3};const wA=Ei,Ni=function({sourcePosition:e=be.Bottom,label:n,connectable:o=!0,isValidSourcePos:r,data:i}){const a=i.label??n;return[typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a]),t.h(rn,{type:"source",position:e,connectable:o,isValidConnection:r})]};Ni.props=["sourcePosition","label","isValidSourcePos","connectable","data"],Ni.inheritAttrs=!1,Ni.compatConfig={MODE:3};const kA=Ni,CA=["transform"],EA=["width","height","x","y","rx","ry"],NA=["y"],SA={name:"EdgeText",compatConfig:{MODE:3}},vA=t.defineComponent({...SA,props:{x:{},y:{},label:{},labelStyle:{default:()=>({})},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{default:()=>({})},labelBgPadding:{default:()=>[2,4]},labelBgBorderRadius:{default:2}},setup(e){const n=t.ref({x:0,y:0,width:0,height:0}),o=t.ref(null),r=t.computed(()=>`translate(${e.x-n.value.width/2} ${e.y-n.value.height/2})`);t.onMounted(i),t.watch([()=>e.x,()=>e.y,o,()=>e.label],i);function i(){if(!o.value)return;const a=o.value.getBBox();(a.width!==n.value.width||a.height!==n.value.height)&&(n.value=a)}return(a,l)=>(t.openBlock(),t.createElementBlock("g",{transform:r.value,class:"vue-flow__edge-textwrapper"},[a.labelShowBg?(t.openBlock(),t.createElementBlock("rect",{key:0,class:"vue-flow__edge-textbg",width:`${n.value.width+2*a.labelBgPadding[0]}px`,height:`${n.value.height+2*a.labelBgPadding[1]}px`,x:-a.labelBgPadding[0],y:-a.labelBgPadding[1],style:t.normalizeStyle(a.labelBgStyle),rx:a.labelBgBorderRadius,ry:a.labelBgBorderRadius},null,12,EA)):t.createCommentVNode("",!0),t.createElementVNode("text",t.mergeProps(a.$attrs,{ref_key:"el",ref:o,class:"vue-flow__edge-text",y:n.value.height/2,dy:"0.3em",style:a.labelStyle}),[t.renderSlot(a.$slots,"default",{},()=>[typeof a.label!="string"?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(a.label),{key:0})):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(a.label),1)],64))])],16,NA)],8,CA))}}),xA=["id","d","marker-end","marker-start"],AA=["d","stroke-width"],IA={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},Si=t.defineComponent({...IA,props:{id:{},labelX:{},labelY:{},path:{},label:{},markerStart:{},markerEnd:{},interactionWidth:{default:20},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{}},setup(e,{expose:n}){const o=t.ref(null),r=t.ref(null),i=t.ref(null),a=t.useAttrs();return n({pathEl:o,interactionEl:r,labelEl:i}),(l,s)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("path",t.mergeProps(t.unref(a),{id:l.id,ref_key:"pathEl",ref:o,d:l.path,class:"vue-flow__edge-path","marker-end":l.markerEnd,"marker-start":l.markerStart}),null,16,xA),l.interactionWidth?(t.openBlock(),t.createElementBlock("path",{key:0,ref_key:"interactionEl",ref:r,fill:"none",d:l.path,"stroke-width":l.interactionWidth,"stroke-opacity":0,class:"vue-flow__edge-interaction"},null,8,AA)):t.createCommentVNode("",!0),l.label&&l.labelX&&l.labelY?(t.openBlock(),t.createBlock(vA,{key:1,ref_key:"labelEl",ref:i,x:l.labelX,y:l.labelY,label:l.label,"label-show-bg":l.labelShowBg,"label-bg-style":l.labelBgStyle,"label-bg-padding":l.labelBgPadding,"label-bg-border-radius":l.labelBgBorderRadius,"label-style":l.labelStyle},null,8,["x","y","label","label-show-bg","label-bg-style","label-bg-padding","label-bg-border-radius","label-style"])):t.createCommentVNode("",!0)],64))}});function tp({sourceX:e,sourceY:n,targetX:o,targetY:r}){const i=Math.abs(o-e)/2,a=o<e?o+i:o-i,l=Math.abs(r-n)/2,s=r<n?r+l:r-l;return[a,s,i,l]}function np({sourceX:e,sourceY:n,targetX:o,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:l,targetControlY:s}){const c=e*.125+i*.375+l*.375+o*.125,d=n*.125+a*.375+s*.375+r*.125,f=Math.abs(c-e),u=Math.abs(d-n);return[c,d,f,u]}function vi(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function op({pos:e,x1:n,y1:o,x2:r,y2:i,c:a}){let l,s;switch(e){case be.Left:l=n-vi(n-r,a),s=o;break;case be.Right:l=n+vi(r-n,a),s=o;break;case be.Top:l=n,s=o-vi(o-i,a);break;case be.Bottom:l=n,s=o+vi(i-o,a);break}return[l,s]}function rp(e){const{sourceX:n,sourceY:o,sourcePosition:r=be.Bottom,targetX:i,targetY:a,targetPosition:l=be.Top,curvature:s=.25}=e,[c,d]=op({pos:r,x1:n,y1:o,x2:i,y2:a,c:s}),[f,u]=op({pos:l,x1:i,y1:a,x2:n,y2:o,c:s}),[p,m,h,_]=np({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:c,sourceControlY:d,targetControlX:f,targetControlY:u});return[`M${n},${o} C${c},${d} ${f},${u} ${i},${a}`,p,m,h,_]}function ip({pos:e,x1:n,y1:o,x2:r,y2:i}){let a,l;switch(e){case be.Left:case be.Right:a=.5*(n+r),l=o;break;case be.Top:case be.Bottom:a=n,l=.5*(o+i);break}return[a,l]}function ap(e){const{sourceX:n,sourceY:o,sourcePosition:r=be.Bottom,targetX:i,targetY:a,targetPosition:l=be.Top}=e,[s,c]=ip({pos:r,x1:n,y1:o,x2:i,y2:a}),[d,f]=ip({pos:l,x1:i,y1:a,x2:n,y2:o}),[u,p,m,h]=np({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:s,sourceControlY:c,targetControlX:d,targetControlY:f});return[`M${n},${o} C${s},${c} ${d},${f} ${i},${a}`,u,p,m,h]}const lp={[be.Left]:{x:-1,y:0},[be.Right]:{x:1,y:0},[be.Top]:{x:0,y:-1},[be.Bottom]:{x:0,y:1}};function PA({source:e,sourcePosition:n=be.Bottom,target:o}){return n===be.Left||n===be.Right?e.x<o.x?{x:1,y:0}:{x:-1,y:0}:e.y<o.y?{x:0,y:1}:{x:0,y:-1}}function sp(e,n){return Math.sqrt((n.x-e.x)**2+(n.y-e.y)**2)}function TA({source:e,sourcePosition:n=be.Bottom,target:o,targetPosition:r=be.Top,center:i,offset:a}){const l=lp[n],s=lp[r],c={x:e.x+l.x*a,y:e.y+l.y*a},d={x:o.x+s.x*a,y:o.y+s.y*a},f=PA({source:c,sourcePosition:n,target:d}),u=f.x!==0?"x":"y",p=f[u];let m,h,_;const g={x:0,y:0},y={x:0,y:0},[w,b,v,S]=tp({sourceX:e.x,sourceY:e.y,targetX:o.x,targetY:o.y});if(l[u]*s[u]===-1){h=i.x??w,_=i.y??b;const I=[{x:h,y:c.y},{x:h,y:d.y}],O=[{x:c.x,y:_},{x:d.x,y:_}];l[u]===p?m=u==="x"?I:O:m=u==="x"?O:I}else{const I=[{x:c.x,y:d.y}],O=[{x:d.x,y:c.y}];if(u==="x"?m=l.x===p?O:I:m=l.y===p?I:O,n===r){const te=Math.abs(e[u]-o[u]);if(te<=a){const P=Math.min(a-1,a-te);l[u]===p?g[u]=(c[u]>e[u]?-1:1)*P:y[u]=(d[u]>o[u]?-1:1)*P}}if(n!==r){const te=u==="x"?"y":"x",P=l[u]===s[te],G=c[te]>d[te],R=c[te]<d[te];(l[u]===1&&(!P&&G||P&&R)||l[u]!==1&&(!P&&R||P&&G))&&(m=u==="x"?I:O)}const F={x:c.x+g.x,y:c.y+g.y},H={x:d.x+y.x,y:d.y+y.y},q=Math.max(Math.abs(F.x-m[0].x),Math.abs(H.x-m[0].x)),E=Math.max(Math.abs(F.y-m[0].y),Math.abs(H.y-m[0].y));q>=E?(h=(F.x+H.x)/2,_=m[0].y):(h=m[0].x,_=(F.y+H.y)/2)}return[[e,{x:c.x+g.x,y:c.y+g.y},...m,{x:d.x+y.x,y:d.y+y.y},o],h,_,v,S]}function OA(e,n,o,r){const i=Math.min(sp(e,n)/2,sp(n,o)/2,r),{x:a,y:l}=n;if(e.x===a&&a===o.x||e.y===l&&l===o.y)return`L${a} ${l}`;if(e.y===l){const d=e.x<o.x?-1:1,f=e.y<o.y?1:-1;return`L ${a+i*d},${l}Q ${a},${l} ${a},${l+i*f}`}const s=e.x<o.x?1:-1,c=e.y<o.y?-1:1;return`L ${a},${l+i*c}Q ${a},${l} ${a+i*s},${l}`}function $l(e){const{sourceX:n,sourceY:o,sourcePosition:r=be.Bottom,targetX:i,targetY:a,targetPosition:l=be.Top,borderRadius:s=5,centerX:c,centerY:d,offset:f=20}=e,[u,p,m,h,_]=TA({source:{x:n,y:o},sourcePosition:r,target:{x:i,y:a},targetPosition:l,center:{x:c,y:d},offset:f});return[u.reduce((y,w,b)=>{let v;return b>0&&b<u.length-1?v=OA(u[b-1],w,u[b+1],s):v=`${b===0?"M":"L"}${w.x} ${w.y}`,y+=v,y},""),p,m,h,_]}function $A(e){const{sourceX:n,sourceY:o,targetX:r,targetY:i}=e,[a,l,s,c]=tp({sourceX:n,sourceY:o,targetX:r,targetY:i});return[`M ${n},${o}L ${r},${i}`,a,l,s,c]}const BA=t.defineComponent({name:"StraightEdge",props:["label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=$A(e);return t.h(Si,{path:o,labelX:r,labelY:i,...n,...e})}}}),cp=t.defineComponent({name:"SmoothStepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","borderRadius","markerEnd","markerStart","interactionWidth","offset"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=$l({...e,sourcePosition:e.sourcePosition??be.Bottom,targetPosition:e.targetPosition??be.Top});return t.h(Si,{path:o,labelX:r,labelY:i,...n,...e})}}}),VA=t.defineComponent({name:"StepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],setup(e,{attrs:n}){return()=>t.h(cp,{...e,...n,borderRadius:0})}}),RA=t.defineComponent({name:"BezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","curvature","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=rp({...e,sourcePosition:e.sourcePosition??be.Bottom,targetPosition:e.targetPosition??be.Top});return t.h(Si,{path:o,labelX:r,labelY:i,...n,...e})}}}),DA=t.defineComponent({name:"SimpleBezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=ap({...e,sourcePosition:e.sourcePosition??be.Bottom,targetPosition:e.targetPosition??be.Top});return t.h(Si,{path:o,labelX:r,labelY:i,...n,...e})}}}),MA={input:kA,default:bA,output:wA},FA={default:RA,straight:BA,step:VA,smoothstep:cp,simplebezier:DA};function LA(e,n,o){const r=t.computed(()=>_=>n.value.get(_)),i=t.computed(()=>_=>o.value.get(_)),a=t.computed(()=>{const _={...FA,...e.edgeTypes},g=Object.keys(_);for(const y of e.edges)y.type&&!g.includes(y.type)&&(_[y.type]=y.type);return _}),l=t.computed(()=>{const _={...MA,...e.nodeTypes},g=Object.keys(_);for(const y of e.nodes)y.type&&!g.includes(y.type)&&(_[y.type]=y.type);return _}),s=t.computed(()=>e.onlyRenderVisibleElements?vf(e.nodes,{x:0,y:0,width:e.dimensions.width,height:e.dimensions.height},e.viewport,!0):e.nodes),c=t.computed(()=>{if(e.onlyRenderVisibleElements){const _=[];for(const g of e.edges){const y=n.value.get(g.source),w=n.value.get(g.target);Ux({sourcePos:y.computedPosition||{x:0,y:0},targetPos:w.computedPosition||{x:0,y:0},sourceWidth:y.dimensions.width,sourceHeight:y.dimensions.height,targetWidth:w.dimensions.width,targetHeight:w.dimensions.height,width:e.dimensions.width,height:e.dimensions.height,viewport:e.viewport})&&_.push(g)}return _}return e.edges}),d=t.computed(()=>[...s.value,...c.value]),f=t.computed(()=>{const _=[];for(const g of e.nodes)g.selected&&_.push(g);return _}),u=t.computed(()=>{const _=[];for(const g of e.edges)g.selected&&_.push(g);return _}),p=t.computed(()=>[...f.value,...u.value]),m=t.computed(()=>{const _=[];for(const g of e.nodes)g.dimensions.width&&g.dimensions.height&&g.handleBounds!==void 0&&_.push(g);return _}),h=t.computed(()=>s.value.length>0&&m.value.length===s.value.length);return{getNode:r,getEdge:i,getElements:d,getEdgeTypes:a,getNodeTypes:l,getEdges:c,getNodes:s,getSelectedElements:p,getSelectedNodes:f,getSelectedEdges:u,getNodesInitialized:m,areNodesInitialized:h}}class vn{constructor(){this.currentId=0,this.flows=new Map}static getInstance(){var n;const o=(n=t.getCurrentInstance())==null?void 0:n.appContext.app,r=(o==null?void 0:o.config.globalProperties.$vueFlowStorage)??vn.instance;return vn.instance=r??new vn,o&&(o.config.globalProperties.$vueFlowStorage=vn.instance),vn.instance}set(n,o){return this.flows.set(n,o)}get(n){return this.flows.get(n)}remove(n){return this.flows.delete(n)}create(n,o){const r=ep(),i=t.reactive(r),a={};for(const[p,m]of Object.entries(i.hooks)){const h=`on${p.charAt(0).toUpperCase()+p.slice(1)}`;a[h]=m.on}const l={};for(const[p,m]of Object.entries(i.hooks))l[p]=m.trigger;const s=t.computed(()=>{const p=new Map;for(const m of i.nodes)p.set(m.id,m);return p}),c=t.computed(()=>{const p=new Map;for(const m of i.edges)p.set(m.id,m);return p}),d=LA(i,s,c),f=hA(i,s,c);f.setState({...i,...o});const u={...a,...d,...f,...MN(i),nodeLookup:s,edgeLookup:c,emits:l,id:n,vueFlowVersion:"1.45.0",$destroy:()=>{this.remove(n)}};return this.set(n,u),u}getId(){return`vue-flow-${this.currentId++}`}}function $e(e){const n=vn.getInstance(),o=t.getCurrentScope(),r=typeof e=="object",i=r?e:{id:e},a=i.id,l=a??(o==null?void 0:o.vueFlowId);let s;if(o){const c=t.inject(Hf,null);typeof c<"u"&&c!==null&&(!l||c.id===l)&&(s=c)}if(s||l&&(s=n.get(l)),!s||l&&s.id!==l){const c=a??n.getId(),d=n.create(c,i);s=d,(o??t.effectScope(!0)).run(()=>{t.watch(d.applyDefault,(u,p,m)=>{const h=g=>{d.applyNodeChanges(g)},_=g=>{d.applyEdgeChanges(g)};u?(d.onNodesChange(h),d.onEdgesChange(_)):(d.hooks.value.nodesChange.off(h),d.hooks.value.edgesChange.off(_)),m(()=>{d.hooks.value.nodesChange.off(h),d.hooks.value.edgesChange.off(_)})},{immediate:!0}),qr(()=>{if(s){const u=n.get(s.id);u?u.$destroy():bi(`No store instance found for id ${s.id} in storage.`)}})})}else r&&s.setState(i);if(o&&(t.provide(Hf,s),o.vueFlowId=s.id),r){const c=t.getCurrentInstance();(c==null?void 0:c.type.name)!=="VueFlow"&&s.emits.error(new Ze(Ge.USEVUEFLOW_OPTIONS))}return s}function UA(e){const{emits:n,dimensions:o}=$e();let r;t.onMounted(()=>{const i=e.value,a=()=>{if(!i)return;const l=gi(i);(l.width===0||l.height===0)&&n.error(new Ze(Ge.MISSING_VIEWPORT_DIMENSIONS)),o.value={width:l.width||500,height:l.height||500}};a(),window.addEventListener("resize",a),i&&(r=new ResizeObserver(()=>a()),r.observe(i)),t.onBeforeUnmount(()=>{window.removeEventListener("resize",a),r&&i&&r.unobserve(i)})})}const KA={name:"UserSelection",compatConfig:{MODE:3}},jA=t.defineComponent({...KA,props:{userSelectionRect:{}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__selection vue-flow__container",style:t.normalizeStyle({width:`${n.userSelectionRect.width}px`,height:`${n.userSelectionRect.height}px`,transform:`translate(${n.userSelectionRect.x}px, ${n.userSelectionRect.y}px)`})},null,4))}}),qA=["tabIndex"],GA={name:"NodesSelection",compatConfig:{MODE:3}},zA=t.defineComponent({...GA,setup(e){const{emits:n,viewport:o,getSelectedNodes:r,noPanClassName:i,disableKeyboardA11y:a,userSelectionActive:l}=$e(),s=Qf(),c=t.ref(null),d=Xf({el:c,onStart(h){n.selectionDragStart(h)},onDrag(h){n.selectionDrag(h)},onStop(h){n.selectionDragStop(h)}});t.onMounted(()=>{var h;a.value||(h=c.value)==null||h.focus({preventScroll:!0})});const f=t.computed(()=>Sf(r.value)),u=t.computed(()=>({width:`${f.value.width}px`,height:`${f.value.height}px`,top:`${f.value.y}px`,left:`${f.value.x}px`}));function p(h){n.selectionContextMenu({event:h,nodes:r.value})}function m(h){a||to[h.key]&&(h.preventDefault(),s({x:to[h.key].x,y:to[h.key].y},h.shiftKey))}return(h,_)=>!t.unref(l)&&f.value.width&&f.value.height?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["vue-flow__nodesselection vue-flow__container",t.unref(i)]),style:t.normalizeStyle({transform:`translate(${t.unref(o).x}px,${t.unref(o).y}px) scale(${t.unref(o).zoom})`})},[t.createElementVNode("div",{ref_key:"el",ref:c,class:t.normalizeClass([{dragging:t.unref(d)},"vue-flow__nodesselection-rect"]),style:t.normalizeStyle(u.value),tabIndex:t.unref(a)?void 0:-1,onContextmenu:p,onKeydown:m},null,46,qA)],6)):t.createCommentVNode("",!0)}});function HA(e,n){return{x:e.clientX-n.left,y:e.clientY-n.top}}const YA={name:"Pane",compatConfig:{MODE:3}},WA=t.defineComponent({...YA,props:{isSelecting:{type:Boolean},selectionKeyPressed:{type:Boolean}},setup(e){const{vueFlowRef:n,nodes:o,viewport:r,emits:i,userSelectionActive:a,removeSelectedElements:l,userSelectionRect:s,elementsSelectable:c,nodesSelectionActive:d,getSelectedEdges:f,getSelectedNodes:u,removeNodes:p,removeEdges:m,selectionMode:h,deleteKeyCode:_,multiSelectionKeyCode:g,multiSelectionActive:y,edgeLookup:w,nodeLookup:b,connectionLookup:v,defaultEdgeOptions:S,connectionStartHandle:N}=$e(),I=t.ref(null),O=t.ref(new Set),F=t.ref(new Set),H=t.ref(),q=t.toRef(()=>c.value&&(e.isSelecting||a.value)),E=t.toRef(()=>N.value!==null);let te=!1,P=!1;const G=Wo(_,{actInsideInputWithModifier:!1}),R=Wo(g);t.watch(G,W=>{W&&(p(u.value),m(f.value),d.value=!1)}),t.watch(R,W=>{y.value=W});function K(W,ne){return ie=>{ie.target===ne&&(W==null||W(ie))}}function V(W){if(te||E.value){te=!1;return}i.paneClick(W),l(),d.value=!1}function M(W){W.preventDefault(),W.stopPropagation(),i.paneContextMenu(W)}function D(W){i.paneScroll(W)}function L(W){var ne,ie,de;if(H.value=(ne=n.value)==null?void 0:ne.getBoundingClientRect(),!c.value||!e.isSelecting||W.button!==0||W.target!==I.value||!H.value)return;(de=(ie=W.target)==null?void 0:ie.setPointerCapture)==null||de.call(ie,W.pointerId);const{x:ye,y:Q}=HA(W,H.value);P=!0,te=!1,l(),s.value={width:0,height:0,startX:ye,startY:Q,x:ye,y:Q},i.selectionStart(W)}function j(W){var ne;if(!H.value||!s.value)return;te=!0;const{x:ie,y:de}=$t(W,H.value),{startX:ye=0,startY:Q=0}=s.value,oe={startX:ye,startY:Q,x:ie<ye?ie:ye,y:de<Q?de:Q,width:Math.abs(ie-ye),height:Math.abs(de-Q)},le=O.value,ue=F.value;O.value=new Set(vf(o.value,oe,r.value,h.value===bl.Partial,!0).map(T=>T.id)),F.value=new Set;const ce=((ne=S.value)==null?void 0:ne.selectable)??!0;for(const T of O.value){const C=v.value.get(T);if(C)for(const{edgeId:x}of C.values()){const k=w.value.get(x);k&&(k.selectable??ce)&&F.value.add(x)}}if(!zf(le,O.value)){const T=nn(b.value,O.value,!0);i.nodesChange(T)}if(!zf(ue,F.value)){const T=nn(w.value,F.value);i.edgesChange(T)}s.value=oe,a.value=!0,d.value=!1}function Z(W){var ne;W.button!==0||!P||((ne=W.target)==null||ne.releasePointerCapture(W.pointerId),!a.value&&s.value&&W.target===I.value&&V(W),a.value=!1,s.value=null,d.value=O.value.size>0,i.selectionEnd(W),e.selectionKeyPressed&&(te=!1),P=!1)}return(W,ne)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"container",ref:I,class:t.normalizeClass(["vue-flow__pane vue-flow__container",{selection:W.isSelecting}]),onClick:ne[0]||(ne[0]=ie=>q.value?void 0:K(V,I.value)(ie)),onContextmenu:ne[1]||(ne[1]=ie=>K(M,I.value)(ie)),onWheelPassive:ne[2]||(ne[2]=ie=>K(D,I.value)(ie)),onPointerenter:ne[3]||(ne[3]=ie=>q.value?void 0:t.unref(i).paneMouseEnter(ie)),onPointerdown:ne[4]||(ne[4]=ie=>q.value?L(ie):t.unref(i).paneMouseMove(ie)),onPointermove:ne[5]||(ne[5]=ie=>q.value?j(ie):t.unref(i).paneMouseMove(ie)),onPointerup:ne[6]||(ne[6]=ie=>q.value?Z(ie):void 0),onPointerleave:ne[7]||(ne[7]=ie=>t.unref(i).paneMouseLeave(ie))},[t.renderSlot(W.$slots,"default"),t.unref(a)&&t.unref(s)?(t.openBlock(),t.createBlock(jA,{key:0,"user-selection-rect":t.unref(s)},null,8,["user-selection-rect"])):t.createCommentVNode("",!0),t.unref(d)&&t.unref(u).length?(t.openBlock(),t.createBlock(zA,{key:1})):t.createCommentVNode("",!0)],34))}}),XA={name:"Transform",compatConfig:{MODE:3}},ZA=t.defineComponent({...XA,setup(e){const{viewport:n,fitViewOnInit:o,fitViewOnInitDone:r}=$e(),i=t.computed(()=>o.value?!r.value:!1),a=t.computed(()=>`translate(${n.value.x}px,${n.value.y}px) scale(${n.value.zoom})`);return(l,s)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__transformationpane vue-flow__container",style:t.normalizeStyle({transform:a.value,opacity:i.value?0:void 0})},[t.renderSlot(l.$slots,"default")],4))}}),JA={name:"Viewport",compatConfig:{MODE:3}},QA=t.defineComponent({...JA,setup(e){const{minZoom:n,maxZoom:o,defaultViewport:r,translateExtent:i,zoomActivationKeyCode:a,selectionKeyCode:l,panActivationKeyCode:s,panOnScroll:c,panOnScrollMode:d,panOnScrollSpeed:f,panOnDrag:u,zoomOnDoubleClick:p,zoomOnPinch:m,zoomOnScroll:h,preventScrolling:_,noWheelClassName:g,noPanClassName:y,emits:w,connectionStartHandle:b,userSelectionActive:v,paneDragging:S,d3Zoom:N,d3Selection:I,d3ZoomHandler:O,viewport:F,viewportRef:H,paneClickDistance:q}=$e();UA(H);const E=t.shallowRef(!1),te=t.shallowRef(!1);let P=null,G=!1,R=0,K={x:0,y:0,zoom:0};const V=Wo(s),M=Wo(l),D=Wo(a),L=t.toRef(()=>(!M.value||M.value&&l.value===!0)&&(V.value||u.value)),j=t.toRef(()=>V.value||c.value),Z=t.toRef(()=>M.value||l.value===!0&&L.value!==!0);t.onMounted(()=>{if(!H.value){bi("Viewport element is missing");return}const Q=H.value,oe=Q.getBoundingClientRect(),le=Cx().clickDistance(q.value).scaleExtent([n.value,o.value]).translateExtent(i.value),ue=kt(Q).call(le),ce=ue.on("wheel.zoom"),T=eo.translate(r.value.x??0,r.value.y??0).scale(Nn(r.value.zoom??1,n.value,o.value)),C=[[0,0],[oe.width,oe.height]],x=le.constrain()(T,C,i.value);le.transform(ue,x),le.wheelDelta(ne),N.value=le,I.value=ue,O.value=ce,F.value={x:x.x,y:x.y,zoom:x.k},le.on("start",k=>{var $;if(!k.sourceEvent)return null;R=k.sourceEvent.button,E.value=!0;const A=de(k.transform);(($=k.sourceEvent)==null?void 0:$.type)==="mousedown"&&(S.value=!0),K=A,w.viewportChangeStart(A),w.moveStart({event:k,flowTransform:A})}),le.on("end",k=>{if(!k.sourceEvent)return null;if(E.value=!1,S.value=!1,W(L.value,R??0)&&!G&&w.paneContextMenu(k.sourceEvent),G=!1,ie(K,k.transform)){const $=de(k.transform);K=$,w.viewportChangeEnd($),w.moveEnd({event:k,flowTransform:$})}}),le.filter(k=>{var $;const A=D.value||h.value,z=m.value&&k.ctrlKey,X=k.button;if(X===1&&k.type==="mousedown"&&(ye(k,"vue-flow__node")||ye(k,"vue-flow__edge")))return!0;if(!L.value&&!A&&!j.value&&!p.value&&!m.value||v.value||!p.value&&k.type==="dblclick"||ye(k,g.value)&&k.type==="wheel"||ye(k,y.value)&&(k.type!=="wheel"||j.value&&k.type==="wheel"&&!D.value)||!m.value&&k.ctrlKey&&k.type==="wheel"||!A&&!j.value&&!z&&k.type==="wheel")return!1;if(!m&&k.type==="touchstart"&&(($=k.touches)==null?void 0:$.length)>1)return k.preventDefault(),!1;if(!L.value&&(k.type==="mousedown"||k.type==="touchstart")||l.value===!0&&Array.isArray(u.value)&&u.value.includes(0)&&X===0||Array.isArray(u.value)&&!u.value.includes(X)&&(k.type==="mousedown"||k.type==="touchstart"))return!1;const B=Array.isArray(u.value)&&u.value.includes(X)||l.value===!0&&Array.isArray(u.value)&&!u.value.includes(0)||!X||X<=1;return(!k.ctrlKey||V.value||k.type==="wheel")&&B}),t.watch([v,L],()=>{v.value&&!E.value?le.on("zoom",null):v.value||le.on("zoom",k=>{F.value={x:k.transform.x,y:k.transform.y,zoom:k.transform.k};const $=de(k.transform);G=W(L.value,R??0),w.viewportChange($),w.move({event:k,flowTransform:$})})},{immediate:!0}),t.watch([v,j,d,D,m,_,g],()=>{j.value&&!D.value&&!v.value?ue.on("wheel.zoom",k=>{if(ye(k,g.value))return!1;const $=D.value||h.value,A=m.value&&k.ctrlKey;if(!(!_.value||j.value||$||A))return!1;k.preventDefault(),k.stopImmediatePropagation();const X=ue.property("__zoom").k||1,B=yi();if(!V.value&&k.ctrlKey&&m.value&&B){const he=It(k),ae=ne(k),pe=X*2**ae;le.scaleTo(ue,pe,he,k);return}const ee=k.deltaMode===1?20:1;let U=d.value===Yo.Vertical?0:k.deltaX*ee,me=d.value===Yo.Horizontal?0:k.deltaY*ee;!B&&k.shiftKey&&d.value!==Yo.Vertical&&!U&&me&&(U=me,me=0),le.translateBy(ue,-(U/X)*f.value,-(me/X)*f.value);const ge=de(ue.property("__zoom"));P&&clearTimeout(P),te.value?(w.move({event:k,flowTransform:ge}),w.viewportChange(ge),P=setTimeout(()=>{w.moveEnd({event:k,flowTransform:ge}),w.viewportChangeEnd(ge),te.value=!1},150)):(te.value=!0,w.moveStart({event:k,flowTransform:ge}),w.viewportChangeStart(ge))},{passive:!1}):typeof ce<"u"&&ue.on("wheel.zoom",function(k,$){const A=!_.value&&k.type==="wheel"&&!k.ctrlKey,z=D.value||h.value,X=m.value&&k.ctrlKey;if(!z&&!c.value&&!X&&k.type==="wheel"||A||ye(k,g.value))return null;k.preventDefault(),ce.call(this,k,$)},{passive:!1})},{immediate:!0})});function W(Q,oe){return oe===2&&Array.isArray(Q)&&Q.includes(2)}function ne(Q){const oe=Q.ctrlKey&&yi()?10:1;return-Q.deltaY*(Q.deltaMode===1?.05:Q.deltaMode?1:.002)*oe}function ie(Q,oe){return Q.x!==oe.x&&!Number.isNaN(oe.x)||Q.y!==oe.y&&!Number.isNaN(oe.y)||Q.zoom!==oe.k&&!Number.isNaN(oe.k)}function de(Q){return{x:Q.x,y:Q.y,zoom:Q.k}}function ye(Q,oe){return Q.target.closest(`.${oe}`)}return(Q,oe)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"viewportRef",ref:H,class:"vue-flow__viewport vue-flow__container"},[t.createVNode(WA,{"is-selecting":Z.value,"selection-key-pressed":t.unref(M),class:t.normalizeClass({connecting:!!t.unref(b),dragging:t.unref(S),draggable:t.unref(u)===!0||Array.isArray(t.unref(u))&&t.unref(u).includes(0)})},{default:t.withCtx(()=>[t.createVNode(ZA,null,{default:t.withCtx(()=>[t.renderSlot(Q.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}}),eI=["id"],tI=["id"],nI=["id"],oI={name:"A11yDescriptions",compatConfig:{MODE:3}},rI=t.defineComponent({...oI,setup(e){const{id:n,disableKeyboardA11y:o,ariaLiveMessage:r}=$e();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",{id:`${t.unref(hf)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select a node. "+t.toDisplayString(t.unref(o)?"":"You can then use the arrow keys to move the node around.")+" You can then use the arrow keys to move the node around, press delete to remove it and press escape to cancel. ",9,eI),t.createElementVNode("div",{id:`${t.unref(yf)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ",8,tI),t.unref(o)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:0,id:`${t.unref(Ax)}-${t.unref(n)}`,"aria-live":"assertive","aria-atomic":"true",style:{position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(100%)"}},t.toDisplayString(t.unref(r)),9,nI))],64))}});function iI(){const e=$e();t.watch(()=>e.viewportHelper.value.viewportInitialized,n=>{n&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function aI(e,n,o){return o===be.Left?e-n:o===be.Right?e+n:e}function lI(e,n,o){return o===be.Top?e-n:o===be.Bottom?e+n:e}const Bl=function({radius:e=10,centerX:n=0,centerY:o=0,position:r=be.Top,type:i}){return t.h("circle",{class:`vue-flow__edgeupdater vue-flow__edgeupdater-${i}`,cx:aI(n,e,r),cy:lI(o,e,r),r:e,stroke:"transparent",fill:"transparent"})};Bl.props=["radius","centerX","centerY","position","type"],Bl.compatConfig={MODE:3};const dp=Bl,sI=t.defineComponent({name:"Edge",compatConfig:{MODE:3},props:["id"],setup(e){const{id:n,addSelectedEdges:o,connectionMode:r,edgeUpdaterRadius:i,emits:a,nodesSelectionActive:l,noPanClassName:s,getEdgeTypes:c,removeSelectedEdges:d,findEdge:f,findNode:u,isValidConnection:p,multiSelectionActive:m,disableKeyboardA11y:h,elementsSelectable:_,edgesUpdatable:g,edgesFocusable:y,hooks:w}=$e(),b=t.computed(()=>f(e.id)),{emit:v,on:S}=rA(b.value,a),N=t.inject(wi),I=t.getCurrentInstance(),O=t.ref(!1),F=t.ref(!1),H=t.ref(""),q=t.ref(null),E=t.ref("source"),te=t.ref(null),P=t.toRef(()=>typeof b.value.selectable>"u"?_.value:b.value.selectable),G=t.toRef(()=>typeof b.value.updatable>"u"?g.value:b.value.updatable),R=t.toRef(()=>typeof b.value.focusable>"u"?y.value:b.value.focusable);t.provide(tA,e.id),t.provide(nA,te);const K=t.computed(()=>b.value.class instanceof Function?b.value.class(b.value):b.value.class),V=t.computed(()=>b.value.style instanceof Function?b.value.style(b.value):b.value.style),M=t.computed(()=>{const C=b.value.type||"default",x=N==null?void 0:N[`edge-${C}`];if(x)return x;let k=b.value.template??c.value[C];if(typeof k=="string"&&I){const $=Object.keys(I.appContext.components);$&&$.includes(C)&&(k=t.resolveComponent(C,!1))}return k&&typeof k!="string"?k:(a.error(new Ze(Ge.EDGE_TYPE_MISSING,k)),!1)}),{handlePointerDown:D}=Zf({nodeId:H,handleId:q,type:E,isValidConnection:p,edgeUpdaterType:E,onEdgeUpdate:Z,onEdgeUpdateEnd:W});return()=>{const C=u(b.value.source),x=u(b.value.target),k="pathOptions"in b.value?b.value.pathOptions:{};if(!C&&!x)return a.error(new Ze(Ge.EDGE_SOURCE_TARGET_MISSING,b.value.id,b.value.source,b.value.target)),null;if(!C)return a.error(new Ze(Ge.EDGE_SOURCE_MISSING,b.value.id,b.value.source)),null;if(!x)return a.error(new Ze(Ge.EDGE_TARGET_MISSING,b.value.id,b.value.target)),null;if(!b.value||b.value.hidden||C.hidden||x.hidden)return null;let $;r.value===Qt.Strict?$=C.handleBounds.source:$=[...C.handleBounds.source||[],...C.handleBounds.target||[]];const A=Mf($,b.value.sourceHandle);let z;r.value===Qt.Strict?z=x.handleBounds.target:z=[...x.handleBounds.target||[],...x.handleBounds.source||[]];const X=Mf(z,b.value.targetHandle),B=(A==null?void 0:A.position)||be.Bottom,ee=(X==null?void 0:X.position)||be.Top,{x:U,y:me}=no(C,A,B),{x:ge,y:he}=no(x,X,ee);return b.value.sourceX=U,b.value.sourceY=me,b.value.targetX=ge,b.value.targetY=he,t.h("g",{ref:te,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${M.value===!1?"default":b.value.type||"default"}`,s.value,K.value,{updating:O.value,selected:b.value.selected,animated:b.value.animated,inactive:!P.value&&!w.value.edgeClick.hasListeners()}],tabIndex:R.value?0:void 0,"aria-label":b.value.ariaLabel===null?void 0:b.value.ariaLabel??`Edge from ${b.value.source} to ${b.value.target}`,"aria-describedby":R.value?`${yf}-${n}`:void 0,"aria-roledescription":"edge",role:R.value?"group":"img",...b.value.domAttributes,onClick:ie,onContextmenu:de,onDblclick:ye,onMouseenter:Q,onMousemove:oe,onMouseleave:le,onKeyDown:R.value?T:void 0},[F.value?null:t.h(M.value===!1?c.value.default:M.value,{id:e.id,sourceNode:C,targetNode:x,source:b.value.source,target:b.value.target,type:b.value.type,updatable:G.value,selected:b.value.selected,animated:b.value.animated,label:b.value.label,labelStyle:b.value.labelStyle,labelShowBg:b.value.labelShowBg,labelBgStyle:b.value.labelBgStyle,labelBgPadding:b.value.labelBgPadding,labelBgBorderRadius:b.value.labelBgBorderRadius,data:b.value.data,events:{...b.value.events,...S},style:V.value,markerStart:`url('#${Jo(b.value.markerStart,n)}')`,markerEnd:`url('#${Jo(b.value.markerEnd,n)}')`,sourcePosition:B,targetPosition:ee,sourceX:U,sourceY:me,targetX:ge,targetY:he,sourceHandleId:b.value.sourceHandle,targetHandleId:b.value.targetHandle,interactionWidth:b.value.interactionWidth,...k}),[G.value==="source"||G.value===!0?[t.h("g",{onMousedown:ue,onMouseenter:L,onMouseout:j},t.h(dp,{position:B,centerX:U,centerY:me,radius:i.value,type:"source","data-type":"source"}))]:null,G.value==="target"||G.value===!0?[t.h("g",{onMousedown:ce,onMouseenter:L,onMouseout:j},t.h(dp,{position:ee,centerX:ge,centerY:he,radius:i.value,type:"target","data-type":"target"}))]:null]])};function L(){O.value=!0}function j(){O.value=!1}function Z(C,x){v.update({event:C,edge:b.value,connection:x})}function W(C){v.updateEnd({event:C,edge:b.value}),F.value=!1}function ne(C,x){C.button===0&&(F.value=!0,H.value=x?b.value.target:b.value.source,q.value=(x?b.value.targetHandle:b.value.sourceHandle)??null,E.value=x?"target":"source",v.updateStart({event:C,edge:b.value}),D(C))}function ie(C){var x;const k={event:C,edge:b.value};P.value&&(l.value=!1,b.value.selected&&m.value?(d([b.value]),(x=te.value)==null||x.blur()):o([b.value])),v.click(k)}function de(C){v.contextMenu({event:C,edge:b.value})}function ye(C){v.doubleClick({event:C,edge:b.value})}function Q(C){v.mouseEnter({event:C,edge:b.value})}function oe(C){v.mouseMove({event:C,edge:b.value})}function le(C){v.mouseLeave({event:C,edge:b.value})}function ue(C){ne(C,!0)}function ce(C){ne(C,!1)}function T(C){var x;!h.value&&_f.includes(C.key)&&P.value&&(C.key==="Escape"?((x=te.value)==null||x.blur(),d([f(e.id)])):o([f(e.id)]))}}}),cI=t.defineComponent({name:"ConnectionLine",compatConfig:{MODE:3},setup(){var e;const{id:n,connectionMode:o,connectionStartHandle:r,connectionEndHandle:i,connectionPosition:a,connectionLineType:l,connectionLineStyle:s,connectionLineOptions:c,connectionStatus:d,viewport:f,findNode:u}=$e(),p=(e=t.inject(wi))==null?void 0:e["connection-line"],m=t.computed(()=>{var w;return u((w=r.value)==null?void 0:w.nodeId)}),h=t.computed(()=>{var w;return u((w=i.value)==null?void 0:w.nodeId)??null}),_=t.computed(()=>({x:(a.value.x-f.value.x)/f.value.zoom,y:(a.value.y-f.value.y)/f.value.zoom})),g=t.computed(()=>c.value.markerStart?`url(#${Jo(c.value.markerStart,n)})`:""),y=t.computed(()=>c.value.markerEnd?`url(#${Jo(c.value.markerEnd,n)})`:"");return()=>{var w,b,v;if(!m.value||!r.value)return null;const S=r.value.id,N=r.value.type,I=m.value.handleBounds;let O=(I==null?void 0:I[N])??[];if(o.value===Qt.Loose){const V=(I==null?void 0:I[N==="source"?"target":"source"])??[];O=[...O,...V]}if(!O)return null;const F=(S?O.find(V=>V.id===S):O[0])??null,H=(F==null?void 0:F.position)??be.Top,{x:q,y:E}=no(m.value,F,H);let te=null;h.value&&(o.value===Qt.Strict?te=((w=h.value.handleBounds[N==="source"?"target":"source"])==null?void 0:w.find(V=>{var M;return V.id===((M=i.value)==null?void 0:M.id)}))||null:te=((b=[...h.value.handleBounds.source??[],...h.value.handleBounds.target??[]])==null?void 0:b.find(V=>{var M;return V.id===((M=i.value)==null?void 0:M.id)}))||null);const P=((v=i.value)==null?void 0:v.position)??(H?xl[H]:null);if(!H||!P)return null;const G=l.value??c.value.type??En.Bezier;let R="";const K={sourceX:q,sourceY:E,sourcePosition:H,targetX:_.value.x,targetY:_.value.y,targetPosition:P};return G===En.Bezier?[R]=rp(K):G===En.Step?[R]=$l({...K,borderRadius:0}):G===En.SmoothStep?[R]=$l(K):G===En.SimpleBezier?[R]=ap(K):R=`M${q},${E} ${_.value.x},${_.value.y}`,t.h("svg",{class:"vue-flow__edges vue-flow__connectionline vue-flow__container"},t.h("g",{class:"vue-flow__connection"},p?t.h(p,{sourceX:q,sourceY:E,sourcePosition:H,targetX:_.value.x,targetY:_.value.y,targetPosition:P,sourceNode:m.value,sourceHandle:F,targetNode:h.value,targetHandle:te,markerEnd:y.value,markerStart:g.value,connectionStatus:d.value}):t.h("path",{d:R,class:[c.value.class,d,"vue-flow__connection-path"],style:{...s.value,...c.value.style},"marker-end":y.value,"marker-start":g.value})))}}}),dI=["id","markerWidth","markerHeight","markerUnits","orient"],uI={name:"MarkerType",compatConfig:{MODE:3}},fI=t.defineComponent({...uI,props:{id:{},type:{},color:{default:"none"},width:{default:12.5},height:{default:12.5},markerUnits:{default:"strokeWidth"},orient:{default:"auto-start-reverse"},strokeWidth:{default:1}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("marker",{id:n.id,class:"vue-flow__arrowhead",viewBox:"-10 -10 20 20",refX:"0",refY:"0",markerWidth:`${n.width}`,markerHeight:`${n.height}`,markerUnits:n.markerUnits,orient:n.orient},[n.type===t.unref(fi).ArrowClosed?(t.openBlock(),t.createElementBlock("polyline",{key:0,style:t.normalizeStyle({stroke:n.color,fill:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",points:"-5,-4 0,0 -5,4 -5,-4"},null,4)):t.createCommentVNode("",!0),n.type===t.unref(fi).Arrow?(t.openBlock(),t.createElementBlock("polyline",{key:1,style:t.normalizeStyle({stroke:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none",points:"-5,-4 0,0 -5,4"},null,4)):t.createCommentVNode("",!0)],8,dI))}}),pI={class:"vue-flow__marker vue-flow__container","aria-hidden":"true"},mI={name:"MarkerDefinitions",compatConfig:{MODE:3}},gI=t.defineComponent({...mI,setup(e){const{id:n,edges:o,connectionLineOptions:r,defaultMarkerColor:i}=$e(),a=t.computed(()=>{const l=new Set,s=[],c=d=>{if(d){const f=Jo(d,n);l.has(f)||(typeof d=="object"?s.push({...d,id:f,color:d.color||i.value}):s.push({id:f,color:i.value,type:d}),l.add(f))}};for(const d of[r.value.markerEnd,r.value.markerStart])c(d);for(const d of o.value)for(const f of[d.markerStart,d.markerEnd])c(f);return s.sort((d,f)=>d.id.localeCompare(f.id))});return(l,s)=>(t.openBlock(),t.createElementBlock("svg",pI,[t.createElementVNode("defs",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,c=>(t.openBlock(),t.createBlock(fI,{id:c.id,key:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,"stroke-width":c.strokeWidth,orient:c.orient},null,8,["id","type","color","width","height","markerUnits","stroke-width","orient"]))),128))])]))}}),hI={name:"Edges",compatConfig:{MODE:3}},yI=t.defineComponent({...hI,setup(e){const{findNode:n,getEdges:o,elevateEdgesOnSelect:r}=$e();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(gI),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(o),l=>(t.openBlock(),t.createElementBlock("svg",{key:l.id,class:"vue-flow__edges vue-flow__container",style:t.normalizeStyle({zIndex:t.unref(Kx)(l,t.unref(n),t.unref(r))})},[t.createVNode(t.unref(sI),{id:l.id},null,8,["id"])],4))),128)),t.createVNode(t.unref(cI))],64))}}),_I=t.defineComponent({name:"Node",compatConfig:{MODE:3},props:["id","resizeObserver"],setup(e){const{id:n,noPanClassName:o,selectNodesOnDrag:r,nodesSelectionActive:i,multiSelectionActive:a,emits:l,removeSelectedNodes:s,addSelectedNodes:c,updateNodeDimensions:d,onUpdateNodeInternals:f,getNodeTypes:u,nodeExtent:p,elevateNodesOnSelect:m,disableKeyboardA11y:h,ariaLiveMessage:_,snapToGrid:g,snapGrid:y,nodeDragThreshold:w,nodesDraggable:b,elementsSelectable:v,nodesConnectable:S,nodesFocusable:N,hooks:I}=$e(),O=t.ref(null);t.provide(Wf,O),t.provide(Yf,e.id);const F=t.inject(wi),H=t.getCurrentInstance(),q=Qf(),{node:E,parentNode:te}=Jf(e.id),{emit:P,on:G}=sA(E,l),R=t.toRef(()=>typeof E.draggable>"u"?b.value:E.draggable),K=t.toRef(()=>typeof E.selectable>"u"?v.value:E.selectable),V=t.toRef(()=>typeof E.connectable>"u"?S.value:E.connectable),M=t.toRef(()=>typeof E.focusable>"u"?N.value:E.focusable),D=t.computed(()=>K.value||R.value||I.value.nodeClick.hasListeners()||I.value.nodeDoubleClick.hasListeners()||I.value.nodeMouseEnter.hasListeners()||I.value.nodeMouseMove.hasListeners()||I.value.nodeMouseLeave.hasListeners()),L=t.toRef(()=>!!E.dimensions.width&&!!E.dimensions.height),j=t.computed(()=>{const x=E.type||"default",k=F==null?void 0:F[`node-${x}`];if(k)return k;let $=E.template||u.value[x];if(typeof $=="string"&&H){const A=Object.keys(H.appContext.components);A&&A.includes(x)&&($=t.resolveComponent(x,!1))}return $&&typeof $!="string"?$:(l.error(new Ze(Ge.NODE_TYPE_MISSING,$)),!1)}),Z=Xf({id:e.id,el:O,disabled:()=>!R.value,selectable:K,dragHandle:()=>E.dragHandle,onStart(x){P.dragStart(x)},onDrag(x){P.drag(x)},onStop(x){P.dragStop(x)},onClick(x){T(x)}}),W=t.computed(()=>E.class instanceof Function?E.class(E):E.class),ne=t.computed(()=>{const x=(E.style instanceof Function?E.style(E):E.style)||{},k=E.width instanceof Function?E.width(E):E.width,$=E.height instanceof Function?E.height(E):E.height;return!x.width&&k&&(x.width=typeof k=="string"?k:`${k}px`),!x.height&&$&&(x.height=typeof $=="string"?$:`${$}px`),x}),ie=t.toRef(()=>Number(E.zIndex??ne.value.zIndex??0));return f(x=>{(x.includes(e.id)||!x.length)&&ye()}),t.onMounted(()=>{t.watch(()=>E.hidden,(x=!1,k,$)=>{!x&&O.value&&(e.resizeObserver.observe(O.value),$(()=>{O.value&&e.resizeObserver.unobserve(O.value)}))},{immediate:!0,flush:"post"})}),t.watch([()=>E.type,()=>E.sourcePosition,()=>E.targetPosition],()=>{t.nextTick(()=>{d([{id:e.id,nodeElement:O.value,forceUpdate:!0}])})}),t.watch([()=>E.position.x,()=>E.position.y,()=>{var x;return(x=te.value)==null?void 0:x.computedPosition.x},()=>{var x;return(x=te.value)==null?void 0:x.computedPosition.y},()=>{var x;return(x=te.value)==null?void 0:x.computedPosition.z},ie,()=>E.selected,()=>E.dimensions.height,()=>E.dimensions.width,()=>{var x;return(x=te.value)==null?void 0:x.dimensions.height},()=>{var x;return(x=te.value)==null?void 0:x.dimensions.width}],([x,k,$,A,z,X])=>{const B={x,y:k,z:X+(m.value&&E.selected?1e3:0)};typeof $<"u"&&typeof A<"u"?E.computedPosition=Rx({x:$,y:A,z},B):E.computedPosition=B},{flush:"post",immediate:!0}),t.watch([()=>E.extent,p],([x,k],[$,A])=>{(x!==$||k!==A)&&de()}),E.extent==="parent"||typeof E.extent=="object"&&"range"in E.extent&&E.extent.range==="parent"?Ja(()=>L).toBe(!0).then(de):de(),()=>E.hidden?null:t.h("div",{ref:O,"data-id":E.id,class:["vue-flow__node",`vue-flow__node-${j.value===!1?"default":E.type||"default"}`,{[o.value]:R.value,dragging:Z==null?void 0:Z.value,draggable:R.value,selected:E.selected,selectable:K.value,parent:E.isParent},W.value],style:{visibility:L.value?"visible":"hidden",zIndex:E.computedPosition.z??ie.value,transform:`translate(${E.computedPosition.x}px,${E.computedPosition.y}px)`,pointerEvents:D.value?"all":"none",...ne.value},tabIndex:M.value?0:void 0,role:M.value?"group":void 0,"aria-describedby":h.value?void 0:`${hf}-${n}`,"aria-label":E.ariaLabel,"aria-roledescription":"node",...E.domAttributes,onMouseenter:Q,onMousemove:oe,onMouseleave:le,onContextmenu:ue,onClick:T,onDblclick:ce,onKeydown:C},[t.h(j.value===!1?u.value.default:j.value,{id:E.id,type:E.type,data:E.data,events:{...E.events,...G},selected:E.selected,resizing:E.resizing,dragging:Z.value,connectable:V.value,position:E.computedPosition,dimensions:E.dimensions,isValidTargetPos:E.isValidTargetPos,isValidSourcePos:E.isValidSourcePos,parent:E.parentNode,parentNodeId:E.parentNode,zIndex:E.computedPosition.z??ie.value,targetPosition:E.targetPosition,sourcePosition:E.sourcePosition,label:E.label,dragHandle:E.dragHandle,onUpdateNodeInternals:ye})]);function de(){const x=E.computedPosition,{computedPosition:k,position:$}=Nl(E,g.value?_i(x,y.value):x,l.error,p.value,te.value);(E.computedPosition.x!==k.x||E.computedPosition.y!==k.y)&&(E.computedPosition={...E.computedPosition,...k}),(E.position.x!==$.x||E.position.y!==$.y)&&(E.position=$)}function ye(){O.value&&d([{id:e.id,nodeElement:O.value,forceUpdate:!0}])}function Q(x){Z!=null&&Z.value||P.mouseEnter({event:x,node:E})}function oe(x){Z!=null&&Z.value||P.mouseMove({event:x,node:E})}function le(x){Z!=null&&Z.value||P.mouseLeave({event:x,node:E})}function ue(x){return P.contextMenu({event:x,node:E})}function ce(x){return P.doubleClick({event:x,node:E})}function T(x){K.value&&(!r.value||!R.value||w.value>0)&&Al(E,a.value,c,s,i,!1,O.value),P.click({event:x,node:E})}function C(x){if(!(wl(x)||h.value))if(_f.includes(x.key)&&K.value){const k=x.key==="Escape";Al(E,a.value,c,s,i,k,O.value)}else R.value&&E.selected&&to[x.key]&&(x.preventDefault(),_.value=`Moved selected node ${x.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~E.position.x}, y: ${~~E.position.y}`,q({x:to[x.key].x,y:to[x.key].y},x.shiftKey))}}});function bI(e={includeHiddenNodes:!1}){const{nodes:n}=$e();return t.computed(()=>{if(n.value.length===0)return!1;for(const o of n.value)if((e.includeHiddenNodes||!o.hidden)&&((o==null?void 0:o.handleBounds)===void 0||o.dimensions.width===0||o.dimensions.height===0))return!1;return!0})}const wI={class:"vue-flow__nodes vue-flow__container"},kI={name:"Nodes",compatConfig:{MODE:3}},CI=t.defineComponent({...kI,setup(e){const{getNodes:n,updateNodeDimensions:o,emits:r}=$e(),i=bI(),a=t.ref();return t.watch(i,l=>{l&&t.nextTick(()=>{r.nodesInitialized(n.value)})},{immediate:!0}),t.onMounted(()=>{a.value=new ResizeObserver(l=>{const s=l.map(c=>({id:c.target.getAttribute("data-id"),nodeElement:c.target,forceUpdate:!0}));t.nextTick(()=>o(s))})}),t.onBeforeUnmount(()=>{var l;return(l=a.value)==null?void 0:l.disconnect()}),(l,s)=>(t.openBlock(),t.createElementBlock("div",wI,[a.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(t.unref(n),(c,d,f,u)=>{const p=[c.id];if(u&&u.key===c.id&&t.isMemoSame(u,p))return u;const m=(t.openBlock(),t.createBlock(t.unref(_I),{id:c.id,key:c.id,"resize-observer":a.value},null,8,["id","resize-observer"]));return m.memo=p,m},s,0),128)):t.createCommentVNode("",!0)]))}});function EI(){const{emits:e}=$e();t.onMounted(()=>{if(Kf()){const n=document.querySelector(".vue-flow__pane");n&&window.getComputedStyle(n).zIndex!=="1"&&e.error(new Ze(Ge.MISSING_STYLES))}})}const NI=t.createElementVNode("div",{class:"vue-flow__edge-labels"},null,-1),SI={name:"VueFlow",compatConfig:{MODE:3}},up=t.defineComponent({...SI,props:{id:{},modelValue:{},nodes:{},edges:{},edgeTypes:{},nodeTypes:{},connectionMode:{},connectionLineType:{},connectionLineStyle:{default:void 0},connectionLineOptions:{default:void 0},connectionRadius:{},isValidConnection:{type:[Function,null],default:void 0},deleteKeyCode:{default:void 0},selectionKeyCode:{type:[Boolean,null],default:void 0},multiSelectionKeyCode:{default:void 0},zoomActivationKeyCode:{default:void 0},panActivationKeyCode:{default:void 0},snapToGrid:{type:Boolean,default:void 0},snapGrid:{},onlyRenderVisibleElements:{type:Boolean,default:void 0},edgesUpdatable:{type:[Boolean,String],default:void 0},nodesDraggable:{type:Boolean,default:void 0},nodesConnectable:{type:Boolean,default:void 0},nodeDragThreshold:{},elementsSelectable:{type:Boolean,default:void 0},selectNodesOnDrag:{type:Boolean,default:void 0},panOnDrag:{type:[Boolean,Array],default:void 0},minZoom:{},maxZoom:{},defaultViewport:{},translateExtent:{},nodeExtent:{},defaultMarkerColor:{},zoomOnScroll:{type:Boolean,default:void 0},zoomOnPinch:{type:Boolean,default:void 0},panOnScroll:{type:Boolean,default:void 0},panOnScrollSpeed:{},panOnScrollMode:{},paneClickDistance:{},zoomOnDoubleClick:{type:Boolean,default:void 0},preventScrolling:{type:Boolean,default:void 0},selectionMode:{},edgeUpdaterRadius:{},fitViewOnInit:{type:Boolean,default:void 0},connectOnClick:{type:Boolean,default:void 0},applyDefault:{type:Boolean,default:void 0},autoConnect:{type:[Boolean,Function],default:void 0},noDragClassName:{},noWheelClassName:{},noPanClassName:{},defaultEdgeOptions:{},elevateEdgesOnSelect:{type:Boolean,default:void 0},elevateNodesOnSelect:{type:Boolean,default:void 0},disableKeyboardA11y:{type:Boolean,default:void 0},edgesFocusable:{type:Boolean,default:void 0},nodesFocusable:{type:Boolean,default:void 0},autoPanOnConnect:{type:Boolean,default:void 0},autoPanOnNodeDrag:{type:Boolean,default:void 0},autoPanSpeed:{}},emits:["nodesChange","edgesChange","nodesInitialized","paneReady","init","updateNodeInternals","error","connect","connectStart","connectEnd","clickConnectStart","clickConnectEnd","moveStart","move","moveEnd","selectionDragStart","selectionDrag","selectionDragStop","selectionContextMenu","selectionStart","selectionEnd","viewportChangeStart","viewportChange","viewportChangeEnd","paneScroll","paneClick","paneContextMenu","paneMouseEnter","paneMouseMove","paneMouseLeave","edgeUpdate","edgeContextMenu","edgeMouseEnter","edgeMouseMove","edgeMouseLeave","edgeDoubleClick","edgeClick","edgeUpdateStart","edgeUpdateEnd","nodeContextMenu","nodeMouseEnter","nodeMouseMove","nodeMouseLeave","nodeDoubleClick","nodeClick","nodeDragStart","nodeDrag","nodeDragStop","miniMapNodeClick","miniMapNodeDoubleClick","miniMapNodeMouseEnter","miniMapNodeMouseMove","miniMapNodeMouseLeave","update:modelValue","update:nodes","update:edges"],setup(e,{expose:n,emit:o}){const r=e,i=t.useSlots(),a=Qa(r,"modelValue",o),l=Qa(r,"nodes",o),s=Qa(r,"edges",o),c=$e(r),d=fA({modelValue:a,nodes:l,edges:s},r,c);return mA(o,c.hooks),iI(),EI(),t.provide(wi,i),t.onUnmounted(()=>{d()}),n(c),(f,u)=>(t.openBlock(),t.createElementBlock("div",{ref:t.unref(c).vueFlowRef,class:"vue-flow"},[t.createVNode(QA,null,{default:t.withCtx(()=>[t.createVNode(yI),NI,t.createVNode(CI),t.renderSlot(f.$slots,"zoom-pane")]),_:3}),t.renderSlot(f.$slots,"default"),t.createVNode(rI)],512))}}),vI={name:"Panel",compatConfig:{MODE:3}},xI=t.defineComponent({...vI,props:{position:{}},setup(e){const n=e,{userSelectionActive:o}=$e(),r=t.computed(()=>`${n.position}`.split("-"));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["vue-flow__panel",r.value]),style:t.normalizeStyle({pointerEvents:t.unref(o)?"none":"all"})},[t.renderSlot(i.$slots,"default")],6))}});var Gt=(e=>(e.Lines="lines",e.Dots="dots",e))(Gt||{});const fp=function({dimensions:e,size:n,color:o}){return t.h("path",{stroke:o,"stroke-width":n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})},pp=function({radius:e,color:n}){return t.h("circle",{cx:e,cy:e,r:e,fill:n})};Gt.Lines+"",Gt.Dots+"";const AI={[Gt.Dots]:"#81818a",[Gt.Lines]:"#eee"},II=["id","x","y","width","height","patternTransform"],PI={key:2,height:"100",width:"100"},TI=["fill"],OI=["x","y","fill"],$I={name:"Background",compatConfig:{MODE:3}},BI=t.defineComponent({...$I,props:{id:{},variant:{default:()=>Gt.Dots},gap:{default:20},size:{default:1},lineWidth:{default:1},patternColor:{},color:{},bgColor:{},height:{default:100},width:{default:100},x:{default:0},y:{default:0},offset:{default:0}},setup(e){const{id:n,viewport:o}=$e(),r=t.computed(()=>{const l=o.value.zoom,[s,c]=Array.isArray(e.gap)?e.gap:[e.gap,e.gap],d=[s*l||1,c*l||1],f=e.size*l,[u,p]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],m=[u*l||1+d[0]/2,p*l||1+d[1]/2];return{scaledGap:d,offset:m,size:f}}),i=t.toRef(()=>`pattern-${n}${e.id?`-${e.id}`:""}`),a=t.toRef(()=>e.color||e.patternColor||AI[e.variant||Gt.Dots]);return(l,s)=>(t.openBlock(),t.createElementBlock("svg",{class:"vue-flow__background vue-flow__container",style:t.normalizeStyle({height:`${l.height>100?100:l.height}%`,width:`${l.width>100?100:l.width}%`})},[t.renderSlot(l.$slots,"pattern-container",{id:i.value},()=>[t.createElementVNode("pattern",{id:i.value,x:t.unref(o).x%r.value.scaledGap[0],y:t.unref(o).y%r.value.scaledGap[1],width:r.value.scaledGap[0],height:r.value.scaledGap[1],patternTransform:`translate(-${r.value.offset[0]},-${r.value.offset[1]})`,patternUnits:"userSpaceOnUse"},[t.renderSlot(l.$slots,"pattern",{},()=>[l.variant===t.unref(Gt).Lines?(t.openBlock(),t.createBlock(t.unref(fp),{key:0,size:l.lineWidth,color:a.value,dimensions:r.value.scaledGap},null,8,["size","color","dimensions"])):l.variant===t.unref(Gt).Dots?(t.openBlock(),t.createBlock(t.unref(pp),{key:1,color:a.value,radius:r.value.size/2},null,8,["color","radius"])):t.createCommentVNode("",!0),l.bgColor?(t.openBlock(),t.createElementBlock("svg",PI,[t.createElementVNode("rect",{width:"100%",height:"100%",fill:l.bgColor},null,8,TI)])):t.createCommentVNode("",!0)])],8,II)]),t.createElementVNode("rect",{x:l.x,y:l.y,width:"100%",height:"100%",fill:`url(#${i.value})`},null,8,OI),t.renderSlot(l.$slots,"default",{id:i.value})],4))}}),VI={name:"ControlButton",compatConfig:{MODE:3}},RI=(e,n)=>{const o=e.__vccOpts||e;for(const[r,i]of n)o[r]=i;return o},DI={class:"vue-flow__controls-button"};function MI(e,n,o,r,i,a){return t.openBlock(),t.createElementBlock("button",DI,[t.renderSlot(e.$slots,"default")])}const Qo=RI(VI,[["render",MI]]),FI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},LI=[t.createElementVNode("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"},null,-1)];function UI(e,n){return t.openBlock(),t.createElementBlock("svg",FI,LI)}const KI={render:UI},jI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},qI=[t.createElementVNode("path",{d:"M0 0h32v4.2H0z"},null,-1)];function GI(e,n){return t.openBlock(),t.createElementBlock("svg",jI,qI)}const zI={render:GI},HI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},YI=[t.createElementVNode("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0 0 27.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94a.919.919 0 0 1-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"},null,-1)];function WI(e,n){return t.openBlock(),t.createElementBlock("svg",HI,YI)}const XI={render:WI},ZI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},JI=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"},null,-1)];function QI(e,n){return t.openBlock(),t.createElementBlock("svg",ZI,JI)}const eP={render:QI},tP={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},nP=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047z"},null,-1)];function oP(e,n){return t.openBlock(),t.createElementBlock("svg",tP,nP)}const rP={render:oP},iP={name:"Controls",compatConfig:{MODE:3}},aP=t.defineComponent({...iP,props:{showZoom:{type:Boolean,default:!0},showFitView:{type:Boolean,default:!0},showInteractive:{type:Boolean,default:!0},fitViewParams:{},position:{default:()=>mf.BottomLeft}},emits:["zoomIn","zoomOut","fitView","interactionChange"],setup(e,{emit:n}){const{nodesDraggable:o,nodesConnectable:r,elementsSelectable:i,setInteractive:a,zoomIn:l,zoomOut:s,fitView:c,viewport:d,minZoom:f,maxZoom:u}=$e(),p=t.toRef(()=>o.value||r.value||i.value),m=t.toRef(()=>d.value.zoom<=f.value),h=t.toRef(()=>d.value.zoom>=u.value);function _(){l(),n("zoomIn")}function g(){s(),n("zoomOut")}function y(){c(e.fitViewParams),n("fitView")}function w(){a(!p.value),n("interactionChange",!p.value)}return(b,v)=>(t.openBlock(),t.createBlock(t.unref(xI),{class:"vue-flow__controls",position:b.position},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"top"),b.showZoom?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.renderSlot(b.$slots,"control-zoom-in",{},()=>[t.createVNode(Qo,{class:"vue-flow__controls-zoomin",disabled:h.value,onClick:_},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-zoom-in",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(KI))))])]),_:3},8,["disabled"])]),t.renderSlot(b.$slots,"control-zoom-out",{},()=>[t.createVNode(Qo,{class:"vue-flow__controls-zoomout",disabled:m.value,onClick:g},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-zoom-out",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(zI))))])]),_:3},8,["disabled"])])],64)):t.createCommentVNode("",!0),b.showFitView?t.renderSlot(b.$slots,"control-fit-view",{key:1},()=>[t.createVNode(Qo,{class:"vue-flow__controls-fitview",onClick:y},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-fit-view",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(XI))))])]),_:3})]):t.createCommentVNode("",!0),b.showInteractive?t.renderSlot(b.$slots,"control-interactive",{key:2},()=>[b.showInteractive?(t.openBlock(),t.createBlock(Qo,{key:0,class:"vue-flow__controls-interactive",onClick:w},{default:t.withCtx(()=>[p.value?t.renderSlot(b.$slots,"icon-unlock",{key:0},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(rP))))]):t.createCommentVNode("",!0),p.value?t.createCommentVNode("",!0):t.renderSlot(b.$slots,"icon-lock",{key:1},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(eP))))])]),_:3})):t.createCommentVNode("",!0)]):t.createCommentVNode("",!0),t.renderSlot(b.$slots,"default")]),_:3},8,["position"]))}}),lP=["undo","redo","duplicate","cut","copy","paste"],mp=()=>{};function sP(e){const n=e;return n?!!n.closest('input, textarea, [contenteditable]:not([contenteditable="false"])'):!1}function cP(e){if(!(e.metaKey||e.ctrlKey))return;switch(e.key.toLowerCase()){case"z":return e.shiftKey?"redo":"undo";case"y":return"redo";case"d":return"duplicate";case"x":return"cut";case"c":return"copy";case"v":return"paste"}}const dP=Ke.createSharedComposable(()=>{const e=new Set;Ke.useEventListener("keydown",o=>{if(sP(o.target))return;const r=cP(o);if(r)for(const i of e){if(!t.toValue(i.enabled))continue;const a=i[r];if(a){if(o.defaultPrevented){t.warn(`[useHotkeys] event for "${r}" was already defaultPrevented. Hotkey ignored.`);return}o.preventDefault(),a();return}}},{passive:!1});function n(o){if(!lP.some(i=>typeof o[i]=="function"))return mp;const r={enabled:o.enabled??!0,...o};return e.add(r),()=>e.delete(r)}return{subscribe:n}});function gp(e={}){if(typeof window>"u")return mp;const n=dP().subscribe(e);return t.onScopeDispose(n),n}const er={padding:80,gaps:{nodes:40,edges:80,ranks:40}},uP=1600,fP=1.2,pP=0,mP=200,hp=Symbol("confirm-modal"),oo="{key}",xn={"kong.client.consumer":{dataType:"object",writable:!1,readable:!0},"kong.client.consumer_groups":{dataType:"array",writable:!1,readable:!0},"kong.client.credential":{dataType:"object",writable:!1,readable:!0},"kong.client.get_identity_realm_source":{dataType:"object",writable:!1,readable:!0},"kong.client.forwarded_ip":{dataType:"string",writable:!1,readable:!0},"kong.client.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.client.ip":{dataType:"string",writable:!1,readable:!0},"kong.client.port":{dataType:"number",writable:!1,readable:!0},"kong.client.protocol":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_host":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.request.forwarded_scheme":{dataType:"string",writable:!1,readable:!0},"kong.request.port":{dataType:"number",writable:!1,readable:!0},"kong.response.source":{dataType:"string",writable:!1,readable:!0},"kong.router.route":{dataType:"object",writable:!1,readable:!0},"kong.route_id":{dataType:"string",writable:!1,readable:!0},"kong.route_name":{dataType:"string",writable:!1,readable:!0},"kong.router.service":{dataType:"object",writable:!1,readable:!0},"kong.service_name":{dataType:"string",writable:!1,readable:!0},"kong.service_id":{dataType:"string",writable:!1,readable:!0},"kong.service.response.status":{dataType:"number",writable:!1,readable:!0},"kong.version":{dataType:"string",writable:!1,readable:!0},"kong.node.id":{dataType:"string",writable:!1,readable:!0},"kong.configuration.{key}":{dataType:"any",writable:!1,readable:!0},"kong.service.target":{dataType:"string ({host}:{port})",writable:!0,readable:!1},"kong.service.request_scheme":{dataType:"string ({scheme})",writable:!0,readable:!1},"kong.ctx.plugin.{key}":{dataType:"any",writable:!0,readable:!0},"kong.ctx.shared.{key}":{dataType:"any",writable:!0,readable:!0}},xi=Object.keys(xn).filter(e=>e.includes(oo)).map(e=>e.replace(oo,""));function Vl(e){if(!e||!nr(e))return;const n=xi.find(o=>e.startsWith(o));if(n)return e.slice(n.length).replace(oo,"")}function tr(e){if(!e)return null;const n=xi.find(o=>e.startsWith(o));return n||e}function nr(e){return e?xi.some(n=>e.startsWith(n)):!1}function yp(e){return e?nr(e)?tr(e)+oo:e:null}function Rl(e){var o;if(!e)return!1;const n=yp(e);return n?((o=xn[n])==null?void 0:o.readable)??!1:!1}function Dl(e){var o;if(!e)return!1;const n=yp(e);return n?((o=xn[n])==null?void 0:o.writable)??!1:!1}function gP(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var hP="\0",An="\0",_p="";let yP=class{constructor(n){Ye(this,"_isDirected",!0);Ye(this,"_isMultigraph",!1);Ye(this,"_isCompound",!1);Ye(this,"_label");Ye(this,"_defaultNodeLabelFn",()=>{});Ye(this,"_defaultEdgeLabelFn",()=>{});Ye(this,"_nodes",{});Ye(this,"_in",{});Ye(this,"_preds",{});Ye(this,"_out",{});Ye(this,"_sucs",{});Ye(this,"_edgeObjs",{});Ye(this,"_edgeLabels",{});Ye(this,"_nodeCount",0);Ye(this,"_edgeCount",0);Ye(this,"_parent");Ye(this,"_children");n&&(this._isDirected=Object.hasOwn(n,"directed")?n.directed:!0,this._isMultigraph=Object.hasOwn(n,"multigraph")?n.multigraph:!1,this._isCompound=Object.hasOwn(n,"compound")?n.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[An]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(n){return this._label=n,this}graph(){return this._label}setDefaultNodeLabel(n){return this._defaultNodeLabelFn=n,typeof n!="function"&&(this._defaultNodeLabelFn=()=>n),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var n=this;return this.nodes().filter(o=>Object.keys(n._in[o]).length===0)}sinks(){var n=this;return this.nodes().filter(o=>Object.keys(n._out[o]).length===0)}setNodes(n,o){var r=arguments,i=this;return n.forEach(function(a){r.length>1?i.setNode(a,o):i.setNode(a)}),this}setNode(n,o){return Object.hasOwn(this._nodes,n)?(arguments.length>1&&(this._nodes[n]=o),this):(this._nodes[n]=arguments.length>1?o:this._defaultNodeLabelFn(n),this._isCompound&&(this._parent[n]=An,this._children[n]={},this._children[An][n]=!0),this._in[n]={},this._preds[n]={},this._out[n]={},this._sucs[n]={},++this._nodeCount,this)}node(n){return this._nodes[n]}hasNode(n){return Object.hasOwn(this._nodes,n)}removeNode(n){var o=this;if(Object.hasOwn(this._nodes,n)){var r=i=>o.removeEdge(o._edgeObjs[i]);delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],this.children(n).forEach(function(i){o.setParent(i)}),delete this._children[n]),Object.keys(this._in[n]).forEach(r),delete this._in[n],delete this._preds[n],Object.keys(this._out[n]).forEach(r),delete this._out[n],delete this._sucs[n],--this._nodeCount}return this}setParent(n,o){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(o===void 0)o=An;else{o+="";for(var r=o;r!==void 0;r=this.parent(r))if(r===n)throw new Error("Setting "+o+" as parent of "+n+" would create a cycle");this.setNode(o)}return this.setNode(n),this._removeFromParentsChildList(n),this._parent[n]=o,this._children[o][n]=!0,this}_removeFromParentsChildList(n){delete this._children[this._parent[n]][n]}parent(n){if(this._isCompound){var o=this._parent[n];if(o!==An)return o}}children(n=An){if(this._isCompound){var o=this._children[n];if(o)return Object.keys(o)}else{if(n===An)return this.nodes();if(this.hasNode(n))return[]}}predecessors(n){var o=this._preds[n];if(o)return Object.keys(o)}successors(n){var o=this._sucs[n];if(o)return Object.keys(o)}neighbors(n){var o=this.predecessors(n);if(o){const i=new Set(o);for(var r of this.successors(n))i.add(r);return Array.from(i.values())}}isLeaf(n){var o;return this.isDirected()?o=this.successors(n):o=this.neighbors(n),o.length===0}filterNodes(n){var o=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});o.setGraph(this.graph());var r=this;Object.entries(this._nodes).forEach(function([l,s]){n(l)&&o.setNode(l,s)}),Object.values(this._edgeObjs).forEach(function(l){o.hasNode(l.v)&&o.hasNode(l.w)&&o.setEdge(l,r.edge(l))});var i={};function a(l){var s=r.parent(l);return s===void 0||o.hasNode(s)?(i[l]=s,s):s in i?i[s]:a(s)}return this._isCompound&&o.nodes().forEach(l=>o.setParent(l,a(l))),o}setDefaultEdgeLabel(n){return this._defaultEdgeLabelFn=n,typeof n!="function"&&(this._defaultEdgeLabelFn=()=>n),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(n,o){var r=this,i=arguments;return n.reduce(function(a,l){return i.length>1?r.setEdge(a,l,o):r.setEdge(a,l),l}),this}setEdge(){var n,o,r,i,a=!1,l=arguments[0];typeof l=="object"&&l!==null&&"v"in l?(n=l.v,o=l.w,r=l.name,arguments.length===2&&(i=arguments[1],a=!0)):(n=l,o=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),n=""+n,o=""+o,r!==void 0&&(r=""+r);var s=or(this._isDirected,n,o,r);if(Object.hasOwn(this._edgeLabels,s))return a&&(this._edgeLabels[s]=i),this;if(r!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(n),this.setNode(o),this._edgeLabels[s]=a?i:this._defaultEdgeLabelFn(n,o,r);var c=_P(this._isDirected,n,o,r);return n=c.v,o=c.w,Object.freeze(c),this._edgeObjs[s]=c,bp(this._preds[o],n),bp(this._sucs[n],o),this._in[o][s]=c,this._out[n][s]=c,this._edgeCount++,this}edge(n,o,r){var i=arguments.length===1?Ml(this._isDirected,arguments[0]):or(this._isDirected,n,o,r);return this._edgeLabels[i]}edgeAsObj(){const n=this.edge(...arguments);return typeof n!="object"?{label:n}:n}hasEdge(n,o,r){var i=arguments.length===1?Ml(this._isDirected,arguments[0]):or(this._isDirected,n,o,r);return Object.hasOwn(this._edgeLabels,i)}removeEdge(n,o,r){var i=arguments.length===1?Ml(this._isDirected,arguments[0]):or(this._isDirected,n,o,r),a=this._edgeObjs[i];return a&&(n=a.v,o=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],wp(this._preds[o],n),wp(this._sucs[n],o),delete this._in[o][i],delete this._out[n][i],this._edgeCount--),this}inEdges(n,o){var r=this._in[n];if(r){var i=Object.values(r);return o?i.filter(a=>a.v===o):i}}outEdges(n,o){var r=this._out[n];if(r){var i=Object.values(r);return o?i.filter(a=>a.w===o):i}}nodeEdges(n,o){var r=this.inEdges(n,o);if(r)return r.concat(this.outEdges(n,o))}};function bp(e,n){e[n]?e[n]++:e[n]=1}function wp(e,n){--e[n]||delete e[n]}function or(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}return i+_p+a+_p+(r===void 0?hP:r)}function _P(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}var s={v:i,w:a};return r&&(s.name=r),s}function Ml(e,n){return or(e,n.v,n.w,n.name)}var Fl=yP,bP="2.2.4",wP={Graph:Fl,version:bP},kP=Fl,CP={write:EP,read:vP};function EP(e){var n={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:NP(e),edges:SP(e)};return e.graph()!==void 0&&(n.value=structuredClone(e.graph())),n}function NP(e){return e.nodes().map(function(n){var o=e.node(n),r=e.parent(n),i={v:n};return o!==void 0&&(i.value=o),r!==void 0&&(i.parent=r),i})}function SP(e){return e.edges().map(function(n){var o=e.edge(n),r={v:n.v,w:n.w};return n.name!==void 0&&(r.name=n.name),o!==void 0&&(r.value=o),r})}function vP(e){var n=new kP(e.options).setGraph(e.value);return e.nodes.forEach(function(o){n.setNode(o.v,o.value),o.parent&&n.setParent(o.v,o.parent)}),e.edges.forEach(function(o){n.setEdge({v:o.v,w:o.w,name:o.name},o.value)}),n}var xP=AP;function AP(e){var n={},o=[],r;function i(a){Object.hasOwn(n,a)||(n[a]=!0,r.push(a),e.successors(a).forEach(i),e.predecessors(a).forEach(i))}return e.nodes().forEach(function(a){r=[],i(a),r.length&&o.push(r)}),o}var kp=class{constructor(){Ye(this,"_arr",[]);Ye(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var o=this._keyIndices[n];if(o!==void 0)return this._arr[o].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,o){var r=this._keyIndices;if(n=String(n),!Object.hasOwn(r,n)){var i=this._arr,a=i.length;return r[n]=a,i.push({key:n,priority:o}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,o){var r=this._keyIndices[n];if(o>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[r].priority+" New: "+o);this._arr[r].priority=o,this._decrease(r)}_heapify(n){var o=this._arr,r=2*n,i=r+1,a=n;r<o.length&&(a=o[r].priority<o[a].priority?r:a,i<o.length&&(a=o[i].priority<o[a].priority?i:a),a!==n&&(this._swap(n,a),this._heapify(a)))}_decrease(n){for(var o=this._arr,r=o[n].priority,i;n!==0&&(i=n>>1,!(o[i].priority<r));)this._swap(n,i),n=i}_swap(n,o){var r=this._arr,i=this._keyIndices,a=r[n],l=r[o];r[n]=l,r[o]=a,i[l.key]=n,i[a.key]=o}},IP=kp,Cp=TP,PP=()=>1;function TP(e,n,o,r){return OP(e,String(n),o||PP,r||function(i){return e.outEdges(i)})}function OP(e,n,o,r){var i={},a=new IP,l,s,c=function(d){var f=d.v!==l?d.v:d.w,u=i[f],p=o(d),m=s.distance+p;if(p<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+d+" Weight: "+p);m<u.distance&&(u.distance=m,u.predecessor=l,a.decrease(f,m))};for(e.nodes().forEach(function(d){var f=d===n?0:Number.POSITIVE_INFINITY;i[d]={distance:f},a.add(d,f)});a.size()>0&&(l=a.removeMin(),s=i[l],s.distance!==Number.POSITIVE_INFINITY);)r(l).forEach(c);return i}var $P=Cp,BP=VP;function VP(e,n,o){return e.nodes().reduce(function(r,i){return r[i]=$P(e,i,n,o),r},{})}var Ep=RP;function RP(e){var n=0,o=[],r={},i=[];function a(l){var s=r[l]={onStack:!0,lowlink:n,index:n++};if(o.push(l),e.successors(l).forEach(function(f){Object.hasOwn(r,f)?r[f].onStack&&(s.lowlink=Math.min(s.lowlink,r[f].index)):(a(f),s.lowlink=Math.min(s.lowlink,r[f].lowlink))}),s.lowlink===s.index){var c=[],d;do d=o.pop(),r[d].onStack=!1,c.push(d);while(l!==d);i.push(c)}}return e.nodes().forEach(function(l){Object.hasOwn(r,l)||a(l)}),i}var DP=Ep,MP=FP;function FP(e){return DP(e).filter(function(n){return n.length>1||n.length===1&&e.hasEdge(n[0],n[0])})}var LP=KP,UP=()=>1;function KP(e,n,o){return jP(e,n||UP,o||function(r){return e.outEdges(r)})}function jP(e,n,o){var r={},i=e.nodes();return i.forEach(function(a){r[a]={},r[a][a]={distance:0},i.forEach(function(l){a!==l&&(r[a][l]={distance:Number.POSITIVE_INFINITY})}),o(a).forEach(function(l){var s=l.v===a?l.w:l.v,c=n(l);r[a][s]={distance:c,predecessor:a}})}),i.forEach(function(a){var l=r[a];i.forEach(function(s){var c=r[s];i.forEach(function(d){var f=c[a],u=l[d],p=c[d],m=f.distance+u.distance;m<p.distance&&(p.distance=m,p.predecessor=u.predecessor)})})}),r}function Np(e){var n={},o={},r=[];function i(a){if(Object.hasOwn(o,a))throw new Ll;Object.hasOwn(n,a)||(o[a]=!0,n[a]=!0,e.predecessors(a).forEach(i),delete o[a],r.push(a))}if(e.sinks().forEach(i),Object.keys(n).length!==e.nodeCount())throw new Ll;return r}class Ll extends Error{constructor(){super(...arguments)}}var Sp=Np;Np.CycleException=Ll;var vp=Sp,qP=GP;function GP(e){try{vp(e)}catch(n){if(n instanceof vp.CycleException)return!1;throw n}return!0}var xp=zP;function zP(e,n,o){Array.isArray(n)||(n=[n]);var r=e.isDirected()?s=>e.successors(s):s=>e.neighbors(s),i=o==="post"?HP:YP,a=[],l={};return n.forEach(s=>{if(!e.hasNode(s))throw new Error("Graph does not have node: "+s);i(s,r,l,a)}),a}function HP(e,n,o,r){for(var i=[[e,!1]];i.length>0;){var a=i.pop();a[1]?r.push(a[0]):Object.hasOwn(o,a[0])||(o[a[0]]=!0,i.push([a[0],!0]),Ap(n(a[0]),l=>i.push([l,!1])))}}function YP(e,n,o,r){for(var i=[e];i.length>0;){var a=i.pop();Object.hasOwn(o,a)||(o[a]=!0,r.push(a),Ap(n(a),l=>i.push(l)))}}function Ap(e,n){for(var o=e.length;o--;)n(e[o],o,e);return e}var WP=xp,XP=ZP;function ZP(e,n){return WP(e,n,"post")}var JP=xp,QP=eT;function eT(e,n){return JP(e,n,"pre")}var tT=Fl,nT=kp,oT=rT;function rT(e,n){var o=new tT,r={},i=new nT,a;function l(c){var d=c.v===a?c.w:c.v,f=i.priority(d);if(f!==void 0){var u=n(c);u<f&&(r[d]=a,i.decrease(d,u))}}if(e.nodeCount()===0)return o;e.nodes().forEach(function(c){i.add(c,Number.POSITIVE_INFINITY),o.setNode(c)}),i.decrease(e.nodes()[0],0);for(var s=!1;i.size()>0;){if(a=i.removeMin(),Object.hasOwn(r,a))o.setEdge(a,r[a]);else{if(s)throw new Error("Input graph is not connected: "+e);s=!0}e.nodeEdges(a).forEach(l)}return o}var iT={components:xP,dijkstra:Cp,dijkstraAll:BP,findCycles:MP,floydWarshall:LP,isAcyclic:qP,postorder:XP,preorder:QP,prim:oT,tarjan:Ep,topsort:Sp},Ip=wP,Nt={Graph:Ip.Graph,json:CP,alg:iT,version:Ip.version};let aT=class{constructor(){let n={};n._next=n._prev=n,this._sentinel=n}dequeue(){let n=this._sentinel,o=n._prev;if(o!==n)return Pp(o),o}enqueue(n){let o=this._sentinel;n._prev&&n._next&&Pp(n),n._next=o._next,o._next._prev=n,o._next=n,n._prev=o}toString(){let n=[],o=this._sentinel,r=o._prev;for(;r!==o;)n.push(JSON.stringify(r,lT)),r=r._prev;return"["+n.join(", ")+"]"}};function Pp(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function lT(e,n){if(e!=="_next"&&e!=="_prev")return n}var sT=aT;let cT=Nt.Graph,dT=sT;var uT=pT;let fT=()=>1;function pT(e,n){if(e.nodeCount()<=1)return[];let o=gT(e,n||fT);return mT(o.graph,o.buckets,o.zeroIdx).flatMap(i=>e.outEdges(i.v,i.w))}function mT(e,n,o){let r=[],i=n[n.length-1],a=n[0],l;for(;e.nodeCount();){for(;l=a.dequeue();)Ul(e,n,o,l);for(;l=i.dequeue();)Ul(e,n,o,l);if(e.nodeCount()){for(let s=n.length-2;s>0;--s)if(l=n[s].dequeue(),l){r=r.concat(Ul(e,n,o,l,!0));break}}}return r}function Ul(e,n,o,r,i){let a=i?[]:void 0;return e.inEdges(r.v).forEach(l=>{let s=e.edge(l),c=e.node(l.v);i&&a.push({v:l.v,w:l.w}),c.out-=s,Kl(n,o,c)}),e.outEdges(r.v).forEach(l=>{let s=e.edge(l),c=l.w,d=e.node(c);d.in-=s,Kl(n,o,d)}),e.removeNode(r.v),a}function gT(e,n){let o=new cT,r=0,i=0;e.nodes().forEach(s=>{o.setNode(s,{v:s,in:0,out:0})}),e.edges().forEach(s=>{let c=o.edge(s.v,s.w)||0,d=n(s),f=c+d;o.setEdge(s.v,s.w,f),i=Math.max(i,o.node(s.v).out+=d),r=Math.max(r,o.node(s.w).in+=d)});let a=hT(i+r+3).map(()=>new dT),l=r+1;return o.nodes().forEach(s=>{Kl(a,l,o.node(s))}),{graph:o,buckets:a,zeroIdx:l}}function Kl(e,n,o){o.out?o.in?e[o.out-o.in+n].enqueue(o):e[e.length-1].enqueue(o):e[0].enqueue(o)}function hT(e){const n=[];for(let o=0;o<e;o++)n.push(o);return n}let Tp=Nt.Graph;var He={addBorderNode:ST,addDummyNode:Op,applyWithChunking:Ai,asNonCompoundGraph:_T,buildLayerMatrix:CT,intersectRect:kT,mapValues:OT,maxRank:Bp,normalizeRanks:ET,notime:IT,partition:xT,pick:TT,predecessorWeights:wT,range:Rp,removeEmptyRanks:NT,simplify:yT,successorWeights:bT,time:AT,uniqueId:Vp,zipObject:jl};function Op(e,n,o,r){for(var i=r;e.hasNode(i);)i=Vp(r);return o.dummy=n,e.setNode(i,o),i}function yT(e){let n=new Tp().setGraph(e.graph());return e.nodes().forEach(o=>n.setNode(o,e.node(o))),e.edges().forEach(o=>{let r=n.edge(o.v,o.w)||{weight:0,minlen:1},i=e.edge(o);n.setEdge(o.v,o.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),n}function _T(e){let n=new Tp({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(o=>{e.children(o).length||n.setNode(o,e.node(o))}),e.edges().forEach(o=>{n.setEdge(o,e.edge(o))}),n}function bT(e){let n=e.nodes().map(o=>{let r={};return e.outEdges(o).forEach(i=>{r[i.w]=(r[i.w]||0)+e.edge(i).weight}),r});return jl(e.nodes(),n)}function wT(e){let n=e.nodes().map(o=>{let r={};return e.inEdges(o).forEach(i=>{r[i.v]=(r[i.v]||0)+e.edge(i).weight}),r});return jl(e.nodes(),n)}function kT(e,n){let o=e.x,r=e.y,i=n.x-o,a=n.y-r,l=e.width/2,s=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");let c,d;return Math.abs(a)*l>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,d=s):(i<0&&(l=-l),c=l,d=l*a/i),{x:o+c,y:r+d}}function CT(e){let n=Rp(Bp(e)+1).map(()=>[]);return e.nodes().forEach(o=>{let r=e.node(o),i=r.rank;i!==void 0&&(n[i][r.order]=o)}),n}function ET(e){let n=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MAX_VALUE:i}),o=Ai(Math.min,n);e.nodes().forEach(r=>{let i=e.node(r);Object.hasOwn(i,"rank")&&(i.rank-=o)})}function NT(e){let n=e.nodes().map(l=>e.node(l).rank),o=Ai(Math.min,n),r=[];e.nodes().forEach(l=>{let s=e.node(l).rank-o;r[s]||(r[s]=[]),r[s].push(l)});let i=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((l,s)=>{l===void 0&&s%a!==0?--i:l!==void 0&&i&&l.forEach(c=>e.node(c).rank+=i)})}function ST(e,n,o,r){let i={width:0,height:0};return arguments.length>=4&&(i.rank=o,i.order=r),Op(e,"border",i,n)}function vT(e,n=$p){const o=[];for(let r=0;r<e.length;r+=n){const i=e.slice(r,r+n);o.push(i)}return o}const $p=65535;function Ai(e,n){if(n.length>$p){const o=vT(n);return e.apply(null,o.map(r=>e.apply(null,r)))}else return e.apply(null,n)}function Bp(e){const o=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MIN_VALUE:i});return Ai(Math.max,o)}function xT(e,n){let o={lhs:[],rhs:[]};return e.forEach(r=>{n(r)?o.lhs.push(r):o.rhs.push(r)}),o}function AT(e,n){let o=Date.now();try{return n()}finally{console.log(e+" time: "+(Date.now()-o)+"ms")}}function IT(e,n){return n()}let PT=0;function Vp(e){var n=++PT;return e+(""+n)}function Rp(e,n,o=1){n==null&&(n=e,e=0);let r=a=>a<n;o<0&&(r=a=>n<a);const i=[];for(let a=e;r(a);a+=o)i.push(a);return i}function TT(e,n){const o={};for(const r of n)e[r]!==void 0&&(o[r]=e[r]);return o}function OT(e,n){let o=n;return typeof n=="string"&&(o=r=>r[n]),Object.entries(e).reduce((r,[i,a])=>(r[i]=o(a,i),r),{})}function jl(e,n){return e.reduce((o,r,i)=>(o[r]=n[i],o),{})}let $T=uT,BT=He.uniqueId;var VT={run:RT,undo:MT};function RT(e){(e.graph().acyclicer==="greedy"?$T(e,o(e)):DT(e)).forEach(r=>{let i=e.edge(r);e.removeEdge(r),i.forwardName=r.name,i.reversed=!0,e.setEdge(r.w,r.v,i,BT("rev"))});function o(r){return i=>r.edge(i).weight}}function DT(e){let n=[],o={},r={};function i(a){Object.hasOwn(r,a)||(r[a]=!0,o[a]=!0,e.outEdges(a).forEach(l=>{Object.hasOwn(o,l.w)?n.push(l):i(l.w)}),delete o[a])}return e.nodes().forEach(i),n}function MT(e){e.edges().forEach(n=>{let o=e.edge(n);if(o.reversed){e.removeEdge(n);let r=o.forwardName;delete o.reversed,delete o.forwardName,e.setEdge(n.w,n.v,o,r)}})}let FT=He;var LT={run:UT,undo:jT};function UT(e){e.graph().dummyChains=[],e.edges().forEach(n=>KT(e,n))}function KT(e,n){let o=n.v,r=e.node(o).rank,i=n.w,a=e.node(i).rank,l=n.name,s=e.edge(n),c=s.labelRank;if(a===r+1)return;e.removeEdge(n);let d,f,u;for(u=0,++r;r<a;++u,++r)s.points=[],f={width:0,height:0,edgeLabel:s,edgeObj:n,rank:r},d=FT.addDummyNode(e,"edge",f,"_d"),r===c&&(f.width=s.width,f.height=s.height,f.dummy="edge-label",f.labelpos=s.labelpos),e.setEdge(o,d,{weight:s.weight},l),u===0&&e.graph().dummyChains.push(d),o=d;e.setEdge(o,i,{weight:s.weight},l)}function jT(e){e.graph().dummyChains.forEach(n=>{let o=e.node(n),r=o.edgeLabel,i;for(e.setEdge(o.edgeObj,r);o.dummy;)i=e.successors(n)[0],e.removeNode(n),r.points.push({x:o.x,y:o.y}),o.dummy==="edge-label"&&(r.x=o.x,r.y=o.y,r.width=o.width,r.height=o.height),n=i,o=e.node(n)})}const{applyWithChunking:qT}=He;var Ii={longestPath:GT,slack:zT};function GT(e){var n={};function o(r){var i=e.node(r);if(Object.hasOwn(n,r))return i.rank;n[r]=!0;let a=e.outEdges(r).map(s=>s==null?Number.POSITIVE_INFINITY:o(s.w)-e.edge(s).minlen);var l=qT(Math.min,a);return l===Number.POSITIVE_INFINITY&&(l=0),i.rank=l}e.sources().forEach(o)}function zT(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}var HT=Nt.Graph,Pi=Ii.slack,Dp=YT;function YT(e){var n=new HT({directed:!1}),o=e.nodes()[0],r=e.nodeCount();n.setNode(o,{});for(var i,a;WT(n,e)<r;)i=XT(n,e),a=n.hasNode(i.v)?Pi(e,i):-Pi(e,i),ZT(n,e,a);return n}function WT(e,n){function o(r){n.nodeEdges(r).forEach(i=>{var a=i.v,l=r===a?i.w:a;!e.hasNode(l)&&!Pi(n,i)&&(e.setNode(l,{}),e.setEdge(r,l,{}),o(l))})}return e.nodes().forEach(o),e.nodeCount()}function XT(e,n){return n.edges().reduce((r,i)=>{let a=Number.POSITIVE_INFINITY;return e.hasNode(i.v)!==e.hasNode(i.w)&&(a=Pi(n,i)),a<r[0]?[a,i]:r},[Number.POSITIVE_INFINITY,null])[1]}function ZT(e,n,o){e.nodes().forEach(r=>n.node(r).rank+=o)}var JT=Dp,Mp=Ii.slack,QT=Ii.longestPath,eO=Nt.alg.preorder,tO=Nt.alg.postorder,nO=He.simplify,oO=In;In.initLowLimValues=Gl,In.initCutValues=ql,In.calcCutValue=Fp,In.leaveEdge=Up,In.enterEdge=Kp,In.exchangeEdges=jp;function In(e){e=nO(e),QT(e);var n=JT(e);Gl(n),ql(n,e);for(var o,r;o=Up(n);)r=Kp(n,e,o),jp(n,e,o,r)}function ql(e,n){var o=tO(e,e.nodes());o=o.slice(0,o.length-1),o.forEach(r=>rO(e,n,r))}function rO(e,n,o){var r=e.node(o),i=r.parent;e.edge(o,i).cutvalue=Fp(e,n,o)}function Fp(e,n,o){var r=e.node(o),i=r.parent,a=!0,l=n.edge(o,i),s=0;return l||(a=!1,l=n.edge(i,o)),s=l.weight,n.nodeEdges(o).forEach(c=>{var d=c.v===o,f=d?c.w:c.v;if(f!==i){var u=d===a,p=n.edge(c).weight;if(s+=u?p:-p,aO(e,o,f)){var m=e.edge(o,f).cutvalue;s+=u?-m:m}}}),s}function Gl(e,n){arguments.length<2&&(n=e.nodes()[0]),Lp(e,{},1,n)}function Lp(e,n,o,r,i){var a=o,l=e.node(r);return n[r]=!0,e.neighbors(r).forEach(s=>{Object.hasOwn(n,s)||(o=Lp(e,n,o,s,r))}),l.low=a,l.lim=o++,i?l.parent=i:delete l.parent,o}function Up(e){return e.edges().find(n=>e.edge(n).cutvalue<0)}function Kp(e,n,o){var r=o.v,i=o.w;n.hasEdge(r,i)||(r=o.w,i=o.v);var a=e.node(r),l=e.node(i),s=a,c=!1;a.lim>l.lim&&(s=l,c=!0);var d=n.edges().filter(f=>c===qp(e,e.node(f.v),s)&&c!==qp(e,e.node(f.w),s));return d.reduce((f,u)=>Mp(n,u)<Mp(n,f)?u:f)}function jp(e,n,o,r){var i=o.v,a=o.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),Gl(e),ql(e,n),iO(e,n)}function iO(e,n){var o=e.nodes().find(i=>!n.node(i).parent),r=eO(e,o);r=r.slice(1),r.forEach(i=>{var a=e.node(i).parent,l=n.edge(i,a),s=!1;l||(l=n.edge(a,i),s=!0),n.node(i).rank=n.node(a).rank+(s?l.minlen:-l.minlen)})}function aO(e,n,o){return e.hasEdge(n,o)}function qp(e,n,o){return o.low<=n.lim&&n.lim<=o.lim}var lO=Ii,Gp=lO.longestPath,sO=Dp,cO=oO,dO=uO;function uO(e){var n=e.graph().ranker;if(n instanceof Function)return n(e);switch(e.graph().ranker){case"network-simplex":zp(e);break;case"tight-tree":pO(e);break;case"longest-path":fO(e);break;case"none":break;default:zp(e)}}var fO=Gp;function pO(e){Gp(e),sO(e)}function zp(e){cO(e)}var mO=gO;function gO(e){let n=yO(e);e.graph().dummyChains.forEach(o=>{let r=e.node(o),i=r.edgeObj,a=hO(e,n,i.v,i.w),l=a.path,s=a.lca,c=0,d=l[c],f=!0;for(;o!==i.w;){if(r=e.node(o),f){for(;(d=l[c])!==s&&e.node(d).maxRank<r.rank;)c++;d===s&&(f=!1)}if(!f){for(;c<l.length-1&&e.node(d=l[c+1]).minRank<=r.rank;)c++;d=l[c]}e.setParent(o,d),o=e.successors(o)[0]}})}function hO(e,n,o,r){let i=[],a=[],l=Math.min(n[o].low,n[r].low),s=Math.max(n[o].lim,n[r].lim),c,d;c=o;do c=e.parent(c),i.push(c);while(c&&(n[c].low>l||s>n[c].lim));for(d=c,c=r;(c=e.parent(c))!==d;)a.push(c);return{path:i.concat(a.reverse()),lca:d}}function yO(e){let n={},o=0;function r(i){let a=o;e.children(i).forEach(r),n[i]={low:a,lim:o++}}return e.children().forEach(r),n}let Ti=He;var _O={run:bO,cleanup:CO};function bO(e){let n=Ti.addDummyNode(e,"root",{},"_root"),o=wO(e),r=Object.values(o),i=Ti.applyWithChunking(Math.max,r)-1,a=2*i+1;e.graph().nestingRoot=n,e.edges().forEach(s=>e.edge(s).minlen*=a);let l=kO(e)+1;e.children().forEach(s=>Hp(e,n,a,l,i,o,s)),e.graph().nodeRankFactor=a}function Hp(e,n,o,r,i,a,l){let s=e.children(l);if(!s.length){l!==n&&e.setEdge(n,l,{weight:0,minlen:o});return}let c=Ti.addBorderNode(e,"_bt"),d=Ti.addBorderNode(e,"_bb"),f=e.node(l);e.setParent(c,l),f.borderTop=c,e.setParent(d,l),f.borderBottom=d,s.forEach(u=>{Hp(e,n,o,r,i,a,u);let p=e.node(u),m=p.borderTop?p.borderTop:u,h=p.borderBottom?p.borderBottom:u,_=p.borderTop?r:2*r,g=m!==h?1:i-a[l]+1;e.setEdge(c,m,{weight:_,minlen:g,nestingEdge:!0}),e.setEdge(h,d,{weight:_,minlen:g,nestingEdge:!0})}),e.parent(l)||e.setEdge(n,c,{weight:0,minlen:i+a[l]})}function wO(e){var n={};function o(r,i){var a=e.children(r);a&&a.length&&a.forEach(l=>o(l,i+1)),n[r]=i}return e.children().forEach(r=>o(r,1)),n}function kO(e){return e.edges().reduce((n,o)=>n+e.edge(o).weight,0)}function CO(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,e.edges().forEach(o=>{var r=e.edge(o);r.nestingEdge&&e.removeEdge(o)})}let EO=He;var NO=SO;function SO(e){function n(o){let r=e.children(o),i=e.node(o);if(r.length&&r.forEach(n),Object.hasOwn(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(let a=i.minRank,l=i.maxRank+1;a<l;++a)Yp(e,"borderLeft","_bl",o,i,a),Yp(e,"borderRight","_br",o,i,a)}}e.children().forEach(n)}function Yp(e,n,o,r,i,a){let l={width:0,height:0,rank:a,borderType:n},s=i[n][a-1],c=EO.addDummyNode(e,"border",l,o);i[n][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}var vO={adjust:xO,undo:AO};function xO(e){let n=e.graph().rankdir.toLowerCase();(n==="lr"||n==="rl")&&Wp(e)}function AO(e){let n=e.graph().rankdir.toLowerCase();(n==="bt"||n==="rl")&&IO(e),(n==="lr"||n==="rl")&&(PO(e),Wp(e))}function Wp(e){e.nodes().forEach(n=>Xp(e.node(n))),e.edges().forEach(n=>Xp(e.edge(n)))}function Xp(e){let n=e.width;e.width=e.height,e.height=n}function IO(e){e.nodes().forEach(n=>zl(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(zl),Object.hasOwn(o,"y")&&zl(o)})}function zl(e){e.y=-e.y}function PO(e){e.nodes().forEach(n=>Hl(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(Hl),Object.hasOwn(o,"x")&&Hl(o)})}function Hl(e){let n=e.x;e.x=e.y,e.y=n}let Zp=He;var TO=OO;function OO(e){let n={},o=e.nodes().filter(c=>!e.children(c).length),r=o.map(c=>e.node(c).rank),i=Zp.applyWithChunking(Math.max,r),a=Zp.range(i+1).map(()=>[]);function l(c){if(n[c])return;n[c]=!0;let d=e.node(c);a[d.rank].push(c),e.successors(c).forEach(l)}return o.sort((c,d)=>e.node(c).rank-e.node(d).rank).forEach(l),a}let $O=He.zipObject;var BO=VO;function VO(e,n){let o=0;for(let r=1;r<n.length;++r)o+=RO(e,n[r-1],n[r]);return o}function RO(e,n,o){let r=$O(o,o.map((d,f)=>f)),i=n.flatMap(d=>e.outEdges(d).map(f=>({pos:r[f.w],weight:e.edge(f).weight})).sort((f,u)=>f.pos-u.pos)),a=1;for(;a<o.length;)a<<=1;let l=2*a-1;a-=1;let s=new Array(l).fill(0),c=0;return i.forEach(d=>{let f=d.pos+a;s[f]+=d.weight;let u=0;for(;f>0;)f%2&&(u+=s[f+1]),f=f-1>>1,s[f]+=d.weight;c+=d.weight*u}),c}var DO=MO;function MO(e,n=[]){return n.map(o=>{let r=e.inEdges(o);if(r.length){let i=r.reduce((a,l)=>{let s=e.edge(l),c=e.node(l.v);return{sum:a.sum+s.weight*c.order,weight:a.weight+s.weight}},{sum:0,weight:0});return{v:o,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:o}})}let FO=He;var LO=UO;function UO(e,n){let o={};e.forEach((i,a)=>{let l=o[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};i.barycenter!==void 0&&(l.barycenter=i.barycenter,l.weight=i.weight)}),n.edges().forEach(i=>{let a=o[i.v],l=o[i.w];a!==void 0&&l!==void 0&&(l.indegree++,a.out.push(o[i.w]))});let r=Object.values(o).filter(i=>!i.indegree);return KO(r)}function KO(e){let n=[];function o(i){return a=>{a.merged||(a.barycenter===void 0||i.barycenter===void 0||a.barycenter>=i.barycenter)&&jO(i,a)}}function r(i){return a=>{a.in.push(i),--a.indegree===0&&e.push(a)}}for(;e.length;){let i=e.pop();n.push(i),i.in.reverse().forEach(o(i)),i.out.forEach(r(i))}return n.filter(i=>!i.merged).map(i=>FO.pick(i,["vs","i","barycenter","weight"]))}function jO(e,n){let o=0,r=0;e.weight&&(o+=e.barycenter*e.weight,r+=e.weight),n.weight&&(o+=n.barycenter*n.weight,r+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=o/r,e.weight=r,e.i=Math.min(n.i,e.i),n.merged=!0}let qO=He;var GO=zO;function zO(e,n){let o=qO.partition(e,f=>Object.hasOwn(f,"barycenter")),r=o.lhs,i=o.rhs.sort((f,u)=>u.i-f.i),a=[],l=0,s=0,c=0;r.sort(HO(!!n)),c=Jp(a,i,c),r.forEach(f=>{c+=f.vs.length,a.push(f.vs),l+=f.barycenter*f.weight,s+=f.weight,c=Jp(a,i,c)});let d={vs:a.flat(!0)};return s&&(d.barycenter=l/s,d.weight=s),d}function Jp(e,n,o){let r;for(;n.length&&(r=n[n.length-1]).i<=o;)n.pop(),e.push(r.vs),o++;return o}function HO(e){return(n,o)=>n.barycenter<o.barycenter?-1:n.barycenter>o.barycenter?1:e?o.i-n.i:n.i-o.i}let YO=DO,WO=LO,XO=GO;var ZO=Qp;function Qp(e,n,o,r){let i=e.children(n),a=e.node(n),l=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,c={};l&&(i=i.filter(p=>p!==l&&p!==s));let d=YO(e,i);d.forEach(p=>{if(e.children(p.v).length){let m=Qp(e,p.v,o,r);c[p.v]=m,Object.hasOwn(m,"barycenter")&&QO(p,m)}});let f=WO(d,o);JO(f,c);let u=XO(f,r);if(l&&(u.vs=[l,u.vs,s].flat(!0),e.predecessors(l).length)){let p=e.node(e.predecessors(l)[0]),m=e.node(e.predecessors(s)[0]);Object.hasOwn(u,"barycenter")||(u.barycenter=0,u.weight=0),u.barycenter=(u.barycenter*u.weight+p.order+m.order)/(u.weight+2),u.weight+=2}return u}function JO(e,n){e.forEach(o=>{o.vs=o.vs.flatMap(r=>n[r]?n[r].vs:r)})}function QO(e,n){e.barycenter!==void 0?(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight):(e.barycenter=n.barycenter,e.weight=n.weight)}let e$=Nt.Graph,t$=He;var n$=o$;function o$(e,n,o){let r=r$(e),i=new e$({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(a=>e.node(a));return e.nodes().forEach(a=>{let l=e.node(a),s=e.parent(a);(l.rank===n||l.minRank<=n&&n<=l.maxRank)&&(i.setNode(a),i.setParent(a,s||r),e[o](a).forEach(c=>{let d=c.v===a?c.w:c.v,f=i.edge(d,a),u=f!==void 0?f.weight:0;i.setEdge(d,a,{weight:e.edge(c).weight+u})}),Object.hasOwn(l,"minRank")&&i.setNode(a,{borderLeft:l.borderLeft[n],borderRight:l.borderRight[n]}))}),i}function r$(e){for(var n;e.hasNode(n=t$.uniqueId("_root")););return n}var i$=a$;function a$(e,n,o){let r={},i;o.forEach(a=>{let l=e.parent(a),s,c;for(;l;){if(s=e.parent(l),s?(c=r[s],r[s]=l):(c=i,i=l),c&&c!==l){n.setEdge(c,l);return}l=s}})}let l$=TO,s$=BO,c$=ZO,d$=n$,u$=i$,f$=Nt.Graph,Oi=He;var p$=em;function em(e,n){if(n&&typeof n.customOrder=="function"){n.customOrder(e,em);return}let o=Oi.maxRank(e),r=tm(e,Oi.range(1,o+1),"inEdges"),i=tm(e,Oi.range(o-1,-1,-1),"outEdges"),a=l$(e);if(nm(e,a),n&&n.disableOptimalOrderHeuristic)return;let l=Number.POSITIVE_INFINITY,s;for(let c=0,d=0;d<4;++c,++d){m$(c%2?r:i,c%4>=2),a=Oi.buildLayerMatrix(e);let f=s$(e,a);f<l&&(d=0,s=Object.assign({},a),l=f)}nm(e,s)}function tm(e,n,o){return n.map(function(r){return d$(e,r,o)})}function m$(e,n){let o=new f$;e.forEach(function(r){let i=r.graph().root,a=c$(r,i,o,n);a.vs.forEach((l,s)=>r.node(l).order=s),u$(r,o,a.vs)})}function nm(e,n){Object.values(n).forEach(o=>o.forEach((r,i)=>e.node(r).order=i))}let g$=Nt.Graph,zt=He;var h$={positionX:x$};function y$(e,n){let o={};function r(i,a){let l=0,s=0,c=i.length,d=a[a.length-1];return a.forEach((f,u)=>{let p=b$(e,f),m=p?e.node(p).order:c;(p||f===d)&&(a.slice(s,u+1).forEach(h=>{e.predecessors(h).forEach(_=>{let g=e.node(_),y=g.order;(y<l||m<y)&&!(g.dummy&&e.node(h).dummy)&&om(o,_,h)})}),s=u+1,l=m)}),a}return n.length&&n.reduce(r),o}function _$(e,n){let o={};function r(a,l,s,c,d){let f;zt.range(l,s).forEach(u=>{f=a[u],e.node(f).dummy&&e.predecessors(f).forEach(p=>{let m=e.node(p);m.dummy&&(m.order<c||m.order>d)&&om(o,p,f)})})}function i(a,l){let s=-1,c,d=0;return l.forEach((f,u)=>{if(e.node(f).dummy==="border"){let p=e.predecessors(f);p.length&&(c=e.node(p[0]).order,r(l,d,u,s,c),d=u,s=c)}r(l,d,l.length,c,a.length)}),l}return n.length&&n.reduce(i),o}function b$(e,n){if(e.node(n).dummy)return e.predecessors(n).find(o=>e.node(o).dummy)}function om(e,n,o){if(n>o){let i=n;n=o,o=i}let r=e[n];r||(e[n]=r={}),r[o]=!0}function w$(e,n,o){if(n>o){let r=n;n=o,o=r}return!!e[n]&&Object.hasOwn(e[n],o)}function k$(e,n,o,r){let i={},a={},l={};return n.forEach(s=>{s.forEach((c,d)=>{i[c]=c,a[c]=c,l[c]=d})}),n.forEach(s=>{let c=-1;s.forEach(d=>{let f=r(d);if(f.length){f=f.sort((p,m)=>l[p]-l[m]);let u=(f.length-1)/2;for(let p=Math.floor(u),m=Math.ceil(u);p<=m;++p){let h=f[p];a[d]===d&&c<l[h]&&!w$(o,d,h)&&(a[h]=d,a[d]=i[d]=i[h],c=l[h])}}})}),{root:i,align:a}}function C$(e,n,o,r,i){let a={},l=E$(e,n,o,i),s=i?"borderLeft":"borderRight";function c(u,p){let m=l.nodes(),h=m.pop(),_={};for(;h;)_[h]?u(h):(_[h]=!0,m.push(h),m=m.concat(p(h))),h=m.pop()}function d(u){a[u]=l.inEdges(u).reduce((p,m)=>Math.max(p,a[m.v]+l.edge(m)),0)}function f(u){let p=l.outEdges(u).reduce((h,_)=>Math.min(h,a[_.w]-l.edge(_)),Number.POSITIVE_INFINITY),m=e.node(u);p!==Number.POSITIVE_INFINITY&&m.borderType!==s&&(a[u]=Math.max(a[u],p))}return c(d,l.predecessors.bind(l)),c(f,l.successors.bind(l)),Object.keys(r).forEach(u=>a[u]=a[o[u]]),a}function E$(e,n,o,r){let i=new g$,a=e.graph(),l=A$(a.nodesep,a.edgesep,r);return n.forEach(s=>{let c;s.forEach(d=>{let f=o[d];if(i.setNode(f),c){var u=o[c],p=i.edge(u,f);i.setEdge(u,f,Math.max(l(e,d,c),p||0))}c=d})}),i}function N$(e,n){return Object.values(n).reduce((o,r)=>{let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;Object.entries(r).forEach(([s,c])=>{let d=I$(e,s)/2;i=Math.max(c+d,i),a=Math.min(c-d,a)});const l=i-a;return l<o[0]&&(o=[l,r]),o},[Number.POSITIVE_INFINITY,null])[1]}function S$(e,n){let o=Object.values(n),r=zt.applyWithChunking(Math.min,o),i=zt.applyWithChunking(Math.max,o);["u","d"].forEach(a=>{["l","r"].forEach(l=>{let s=a+l,c=e[s];if(c===n)return;let d=Object.values(c),f=r-zt.applyWithChunking(Math.min,d);l!=="l"&&(f=i-zt.applyWithChunking(Math.max,d)),f&&(e[s]=zt.mapValues(c,u=>u+f))})})}function v$(e,n){return zt.mapValues(e.ul,(o,r)=>{if(n)return e[n.toLowerCase()][r];{let i=Object.values(e).map(a=>a[r]).sort((a,l)=>a-l);return(i[1]+i[2])/2}})}function x$(e){let n=zt.buildLayerMatrix(e),o=Object.assign(y$(e,n),_$(e,n)),r={},i;["u","d"].forEach(l=>{i=l==="u"?n:Object.values(n).reverse(),["l","r"].forEach(s=>{s==="r"&&(i=i.map(u=>Object.values(u).reverse()));let c=(l==="u"?e.predecessors:e.successors).bind(e),d=k$(e,i,o,c),f=C$(e,i,d.root,d.align,s==="r");s==="r"&&(f=zt.mapValues(f,u=>-u)),r[l+s]=f})});let a=N$(e,r);return S$(r,a),v$(r,e.graph().align)}function A$(e,n,o){return(r,i,a)=>{let l=r.node(i),s=r.node(a),c=0,d;if(c+=l.width/2,Object.hasOwn(l,"labelpos"))switch(l.labelpos.toLowerCase()){case"l":d=-l.width/2;break;case"r":d=l.width/2;break}if(d&&(c+=o?d:-d),d=0,c+=(l.dummy?n:e)/2,c+=(s.dummy?n:e)/2,c+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":d=s.width/2;break;case"r":d=-s.width/2;break}return d&&(c+=o?d:-d),d=0,c}}function I$(e,n){return e.node(n).width}let rm=He,P$=h$.positionX;var T$=O$;function O$(e){e=rm.asNonCompoundGraph(e),$$(e),Object.entries(P$(e)).forEach(([n,o])=>e.node(n).x=o)}function $$(e){let n=rm.buildLayerMatrix(e),o=e.graph().ranksep,r=0;n.forEach(i=>{const a=i.reduce((l,s)=>{const c=e.node(s).height;return l>c?l:c},0);i.forEach(l=>e.node(l).y=r+a/2),r+=a+o})}let im=VT,am=LT,B$=dO,V$=He.normalizeRanks,R$=mO,D$=He.removeEmptyRanks,lm=_O,M$=NO,sm=vO,F$=p$,L$=T$,ht=He,U$=Nt.Graph;var K$=j$;function j$(e,n){let o=n&&n.debugTiming?ht.time:ht.notime;o("layout",()=>{let r=o(" buildLayoutGraph",()=>Q$(e));o(" runLayout",()=>q$(r,o,n)),o(" updateInputGraph",()=>G$(e,r))})}function q$(e,n,o){n(" makeSpaceForEdgeLabels",()=>eB(e)),n(" removeSelfEdges",()=>cB(e)),n(" acyclic",()=>im.run(e)),n(" nestingGraph.run",()=>lm.run(e)),n(" rank",()=>B$(ht.asNonCompoundGraph(e))),n(" injectEdgeLabelProxies",()=>tB(e)),n(" removeEmptyRanks",()=>D$(e)),n(" nestingGraph.cleanup",()=>lm.cleanup(e)),n(" normalizeRanks",()=>V$(e)),n(" assignRankMinMax",()=>nB(e)),n(" removeEdgeLabelProxies",()=>oB(e)),n(" normalize.run",()=>am.run(e)),n(" parentDummyChains",()=>R$(e)),n(" addBorderSegments",()=>M$(e)),n(" order",()=>F$(e,o)),n(" insertSelfEdges",()=>dB(e)),n(" adjustCoordinateSystem",()=>sm.adjust(e)),n(" position",()=>L$(e)),n(" positionSelfEdges",()=>uB(e)),n(" removeBorderNodes",()=>sB(e)),n(" normalize.undo",()=>am.undo(e)),n(" fixupEdgeLabelCoords",()=>aB(e)),n(" undoCoordinateSystem",()=>sm.undo(e)),n(" translateGraph",()=>rB(e)),n(" assignNodeIntersects",()=>iB(e)),n(" reversePoints",()=>lB(e)),n(" acyclic.undo",()=>im.undo(e))}function G$(e,n){e.nodes().forEach(o=>{let r=e.node(o),i=n.node(o);r&&(r.x=i.x,r.y=i.y,r.rank=i.rank,n.children(o).length&&(r.width=i.width,r.height=i.height))}),e.edges().forEach(o=>{let r=e.edge(o),i=n.edge(o);r.points=i.points,Object.hasOwn(i,"x")&&(r.x=i.x,r.y=i.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}let z$=["nodesep","edgesep","ranksep","marginx","marginy"],H$={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},Y$=["acyclicer","ranker","rankdir","align"],W$=["width","height","rank"],cm={width:0,height:0},X$=["minlen","weight","width","height","labeloffset"],Z$={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},J$=["labelpos"];function Q$(e){let n=new U$({multigraph:!0,compound:!0}),o=Wl(e.graph());return n.setGraph(Object.assign({},H$,Yl(o,z$),ht.pick(o,Y$))),e.nodes().forEach(r=>{let i=Wl(e.node(r));const a=Yl(i,W$);Object.keys(cm).forEach(l=>{a[l]===void 0&&(a[l]=cm[l])}),n.setNode(r,a),n.setParent(r,e.parent(r))}),e.edges().forEach(r=>{let i=Wl(e.edge(r));n.setEdge(r,Object.assign({},Z$,Yl(i,X$),ht.pick(i,J$)))}),n}function eB(e){let n=e.graph();n.ranksep/=2,e.edges().forEach(o=>{let r=e.edge(o);r.minlen*=2,r.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function tB(e){e.edges().forEach(n=>{let o=e.edge(n);if(o.width&&o.height){let r=e.node(n.v),a={rank:(e.node(n.w).rank-r.rank)/2+r.rank,e:n};ht.addDummyNode(e,"edge-proxy",a,"_ep")}})}function nB(e){let n=0;e.nodes().forEach(o=>{let r=e.node(o);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,n=Math.max(n,r.maxRank))}),e.graph().maxRank=n}function oB(e){e.nodes().forEach(n=>{let o=e.node(n);o.dummy==="edge-proxy"&&(e.edge(o.e).labelRank=o.rank,e.removeNode(n))})}function rB(e){let n=Number.POSITIVE_INFINITY,o=0,r=Number.POSITIVE_INFINITY,i=0,a=e.graph(),l=a.marginx||0,s=a.marginy||0;function c(d){let f=d.x,u=d.y,p=d.width,m=d.height;n=Math.min(n,f-p/2),o=Math.max(o,f+p/2),r=Math.min(r,u-m/2),i=Math.max(i,u+m/2)}e.nodes().forEach(d=>c(e.node(d))),e.edges().forEach(d=>{let f=e.edge(d);Object.hasOwn(f,"x")&&c(f)}),n-=l,r-=s,e.nodes().forEach(d=>{let f=e.node(d);f.x-=n,f.y-=r}),e.edges().forEach(d=>{let f=e.edge(d);f.points.forEach(u=>{u.x-=n,u.y-=r}),Object.hasOwn(f,"x")&&(f.x-=n),Object.hasOwn(f,"y")&&(f.y-=r)}),a.width=o-n+l,a.height=i-r+s}function iB(e){e.edges().forEach(n=>{let o=e.edge(n),r=e.node(n.v),i=e.node(n.w),a,l;o.points?(a=o.points[0],l=o.points[o.points.length-1]):(o.points=[],a=i,l=r),o.points.unshift(ht.intersectRect(r,a)),o.points.push(ht.intersectRect(i,l))})}function aB(e){e.edges().forEach(n=>{let o=e.edge(n);if(Object.hasOwn(o,"x"))switch((o.labelpos==="l"||o.labelpos==="r")&&(o.width-=o.labeloffset),o.labelpos){case"l":o.x-=o.width/2+o.labeloffset;break;case"r":o.x+=o.width/2+o.labeloffset;break}})}function lB(e){e.edges().forEach(n=>{let o=e.edge(n);o.reversed&&o.points.reverse()})}function sB(e){e.nodes().forEach(n=>{if(e.children(n).length){let o=e.node(n),r=e.node(o.borderTop),i=e.node(o.borderBottom),a=e.node(o.borderLeft[o.borderLeft.length-1]),l=e.node(o.borderRight[o.borderRight.length-1]);o.width=Math.abs(l.x-a.x),o.height=Math.abs(i.y-r.y),o.x=a.x+o.width/2,o.y=r.y+o.height/2}}),e.nodes().forEach(n=>{e.node(n).dummy==="border"&&e.removeNode(n)})}function cB(e){e.edges().forEach(n=>{if(n.v===n.w){var o=e.node(n.v);o.selfEdges||(o.selfEdges=[]),o.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function dB(e){var n=ht.buildLayerMatrix(e);n.forEach(o=>{var r=0;o.forEach((i,a)=>{var l=e.node(i);l.order=a+r,(l.selfEdges||[]).forEach(s=>{ht.addDummyNode(e,"selfedge",{width:s.label.width,height:s.label.height,rank:l.rank,order:a+ ++r,e:s.e,label:s.label},"_se")}),delete l.selfEdges})})}function uB(e){e.nodes().forEach(n=>{var o=e.node(n);if(o.dummy==="selfedge"){var r=e.node(o.e.v),i=r.x+r.width/2,a=r.y,l=o.x-i,s=r.height/2;e.setEdge(o.e,o.label),e.removeNode(n),o.label.points=[{x:i+2*l/3,y:a-s},{x:i+5*l/6,y:a-s},{x:i+l,y:a},{x:i+5*l/6,y:a+s},{x:i+2*l/3,y:a+s}],o.label.x=o.x,o.label.y=o.y}})}function Yl(e,n){return ht.mapValues(ht.pick(e,n),Number)}function Wl(e){var n={};return e&&Object.entries(e).forEach(([o,r])=>{typeof o=="string"&&(o=o.toLowerCase()),n[o]=r}),n}let fB=He,pB=Nt.Graph;var mB={debugOrdering:gB};function gB(e){let n=fB.buildLayerMatrix(e),o=new pB({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(r=>{o.setNode(r,{label:r}),o.setParent(r,"layer"+e.node(r).rank)}),e.edges().forEach(r=>o.setEdge(r.v,r.w,{},r.name)),n.forEach((r,i)=>{let a="layer"+i;o.setNode(a,{rank:"same"}),r.reduce((l,s)=>(o.setEdge(l,s,{style:"invis"}),s))}),o}var hB="1.1.5",yB={graphlib:Nt,layout:K$,debug:mB,util:{time:He.time,notime:He.notime},version:hB};const dm=gP(yB);function _B(){const e=(...o)=>{console.warn("TOASTER_PROVIDER is not provided",...o)},n=t.inject(vc,e);return o=>n(o)}function $i(e,n,o){const r=n?Jt(e,o,n):void 0;return`${e.name}${r?`.${r.name}`:""}`}function rr(e,n){const o=n(e.source),r=n(e.target);return[$i(o,e.sourceField,"output"),$i(r,e.targetField,"input")]}function Xl(e,n,o,r,i){const a=i(e),l=i(o);return[$i(a,n,"output"),$i(l,r,"input")]}function bB(e){t.provide(hp,e)}function um(){return t.inject(hp,void 0)}function wB(){const e=um();if(!e)throw new Error("Confirm modal not provided");return e}function fm(e){const n=e.match(/^(input|output)s@(.*)$/);if(n)return{io:n[1],field:n[2]}}function kB(){const e={x1:Number.POSITIVE_INFINITY,y1:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY};return[r=>{e.x1=Math.min(e.x1,r.x),e.y1=Math.min(e.y1,r.y),e.x2=Math.max(e.x2,r.x+r.width),e.y2=Math.max(e.y2,r.y+r.height)},()=>{const r={...e};return r.x1>r.x2&&(r.x1=r.x2=0),r.y1>r.y2&&(r.y1=r.y2=0),r}]}const CB={default:Ck,hover:Nk,selected:Ek};let pm,Zl;function Bi(e){const n=e.id===pm?"selected":e.id===Zl?"hover":"default",o=CB[n],{markerEnd:r}=e,i=typeof r=="object"?{...r,color:o}:{type:r,color:o};return{...e,style:{...e.style,stroke:o,strokeWidth:n==="selected"?1.5:void 0},markerEnd:i,zIndex:n==="default"?void 0:1}}const[EB,NB]=Ke.createInjectionState(function(e){const{phase:n,flowId:o,layoutOptions:r,readonly:i}=e,{viewport:a,padding:l=er.padding,gaps:s=er.gaps}=r,{nodes:c=er.gaps.nodes,edges:d=er.gaps.edges,ranks:f=er.gaps.ranks}=s,u=$e(o),p=nt(),m=um(),h=_B(),{i18n:{t:_}}=Te(),{findNode:g,fitView:y,deleteKeyCode:w,onNodeDragStop:b,onConnect:v,onNodesChange:S,onEdgesChange:N,onEdgeUpdate:I,onEdgeMouseEnter:O,onEdgeMouseLeave:F,getNodes:H,setNodes:q,setEdges:E,addSelectedNodes:te}=u;w.value=["Delete","Backspace"];const{state:P,commit:G,moveNode:R,selectNode:K,removeNode:V,getNodeById:M,connectEdge:D,disconnectEdge:L,getInEdgesByNodeId:j,commit:Z,reset:W}=p;function ne(k,$){const A=M(k.source),z=M(k.target);return!!(A&&z&&A.phase===$&&z.phase===$)}const ie=t.computed(()=>P.value.nodes.filter(k=>k.phase===n&&!k.hidden).map(k=>({id:k.id,type:"flow",position:k.position,data:k,deletable:!su(k)}))),de=t.computed(()=>P.value.edges.filter(k=>ne(k,n)).filter(k=>{const $=M(k.source),A=M(k.target);return!($!=null&&$.hidden)&&!(A!=null&&A.hidden)}).map(k=>{const $=M(k.source),A=M(k.target);if($){if(!A)throw new Error(`Missing target node "${k.target}" for edge "${k.id}" in phase "${n}"`)}else throw new Error(`Missing source node "${k.source}" for edge "${k.id}" in phase "${n}"`);return Bi({id:k.id,source:k.source,target:k.target,sourceHandle:k.sourceField?`outputs@${k.sourceField}`:"output",targetHandle:k.targetField?`inputs@${k.targetField}`:"input",markerEnd:fi.ArrowClosed,data:k,updatable:!i})}));t.watch([ie,de],([k,$])=>{q(k),E($)},{immediate:!0});const ye=t.computed(()=>({padding:l/Math.max(t.toValue(a==null?void 0:a.width)??0,t.toValue(a==null?void 0:a.height)??0)}));async function Q({source:k,sourceHandle:$,target:A,targetHandle:z}){if(!$||!z)return;const X=fm($),B=fm(z);if((X==null?void 0:X.io)==="input"||(B==null?void 0:B.io)==="output"||$==="output"&&z==="output")return;const ee=j(A);let U=!1,me=!1;const ge=[],he=[],ae=(B==null?void 0:B.io)==="input"?ee.filter(Ne=>!Ne.targetField):ee.filter(Ne=>!!Ne.targetField);ae.length>0&&(U=!0,ae.forEach(Ne=>{he.push(rr(Ne,M)),L(Ne.id,!1)}));const pe=(B==null?void 0:B.io)==="input"?ee.filter(Ne=>Ne.targetField===B.field):ee.filter(Ne=>!Ne.targetField);if(pe.length>0){if(pe.some(se=>se.source===k&&se.target===A&&se.targetField===(B==null?void 0:B.field)&&se.sourceField===(X==null?void 0:X.field)))return;me=!0,pe.forEach(se=>{he.push(rr(se,M)),L(se.id,!1)})}if(!D({source:k,sourceField:X==null?void 0:X.field,target:A,targetField:B==null?void 0:B.field},!1)){W(),h({message:_("plugins.free-form.datakit.flow_editor.error.invalid_connection"),appearance:"danger"});return}if(ge.push(Xl(k,X==null?void 0:X.field,A,B==null?void 0:B.field,M)),U||me){if(!m)throw W(),new Error("Expected confirm modal to be provided here when reachable");if(!await m(_(U?"plugins.free-form.datakit.flow_editor.confirm.message.switch":"plugins.free-form.datakit.flow_editor.confirm.message.override"),ge,he)){W();return}}Z()}v(Q);let oe=!1;const le=()=>{oe&&(oe=!1,Z())};S(k=>{k.filter(A=>A.type==="select").sort((A,z)=>A.selected===z.selected?0:A.selected?1:-1).forEach(A=>{K(A.selected?A.id:void 0)});let $=!1;k.forEach(A=>{A.type==="remove"&&($=!0,V(A.id,!1))}),$&&!oe&&(oe=!0,queueMicrotask(le))}),b(({node:k})=>{k&&R(k.id,k.position)}),N(k=>{k.filter(z=>z.type==="select").sort((z,X)=>z.selected===X.selected?0:z.selected?1:-1).forEach(z=>{pm=z.selected?z.id:void 0,E(X=>X.map(B=>B.id!==z.id||!B.markerEnd?B:Bi({...B,zIndex:z.selected?1:void 0})))});let A=!1;k.forEach(z=>{z.type==="remove"&&(A=!0,L(z.id,!1))}),A&&!oe&&(oe=!0,queueMicrotask(le))}),O(({edge:k})=>{Zl=k.id,E($=>$.map(A=>A.id!==k.id?A:Bi(A)))}),F(({edge:k})=>{Zl=void 0,E($=>$.map(A=>A.id!==k.id?A:Bi(A)))}),I(({edge:k,connection:$})=>{L(k.id,!1),Q($)});function ue(k=!0){let $,A;const z=[],X=re=>{switch(re.data.name){case"request":{if(n!=="request")throw new Error(`Unexpected request node in ${n} phase`);if($)throw new Error("Duplicated request node in request phase");return $=re,!0}case"service_request":{if(n!=="request")throw new Error(`Unexpected service_request node in ${n} phase`);if(A)throw new Error("Duplicated service_request node in request phase");return A=re,!0}case"service_response":{if(n!=="response")throw new Error(`Unexpected service_response node in ${n} phase`);if(A)throw new Error("Duplicated service_response node in response phase");return A=re,!0}case"response":{if(n!=="response")throw new Error(`Unexpected response node in ${n} phase`);if($)throw new Error("Duplicated response node in response phase");return $=re,!0}default:return z.push(re),!1}};let B;for(const re of ie.value)if(!X(re)&&z.length>0){B||(B=new dm.graphlib.Graph({multigraph:!0}),B.setGraph({rankdir:n==="request"?"LR":"RL",nodesep:c,edgesep:d,ranksep:f}));const Be=g(re.id);if(!Be)throw new Error(`Node ${re.id} is missing from the graph in ${n} phase`);B.setNode(re.id,{width:Be.dimensions.width,height:Be.dimensions.height})}if(!$||!A)throw new Error(`One or more implicit nodes are missing from ${n} phase`);const ee=g($.id),U=g(A.id);if(!ee||!U)throw new Error(`One or more implicit nodes are missing from the graph in ${n} phase`);if(z.length>0){if(!B)throw new Error("dagreGraph should be defined here if reachable");const re=new Set([$.id,A.id]);for(const Be of de.value)!re.has(Be.source)&&!re.has(Be.target)&&B.setEdge(Be.source,Be.target,{points:[]});dm.layout(B)}const[me,ge]=kB(),he=re=>({x:re.x-re.width/2,y:re.y-re.height/2,width:re.width,height:re.height});if(z.length>0){if(!B)throw new Error("dagreGraph should be defined here if reachable");for(const re of z){const Be=B.node(re.id),Ht=he(Be);me(Ht),R(re.data.id,{x:Ht.x,y:Ht.y},!1)}}const ae=ge(),pe=ae.x2-ae.x1,Se=ae.y2-ae.y1,Ne=Math.max(0,Math.min(t.toValue(a==null?void 0:a.width)??Number.POSITIVE_INFINITY,uP)-pe-2*c-ee.dimensions.width-U.dimensions.width-2*l),se=ae.y1+Se/2;R($.data.id,{x:ae.x1-c-Ne/2-ee.dimensions.width,y:se-ee.dimensions.height/2},!1),R(A.data.id,{x:ae.x2+c+Ne/2,y:se-U.dimensions.height/2},!1),k&&G(`autolayout-${o}`)}function ce(k){y({...ye.value,...k})}async function T(k){return K(k),new Promise($=>setTimeout(()=>{const A=g(k);te(A?[A]:[]),$()},0))}function C(k){const $=H.value,A=$.find(({id:ae})=>ae===k);if(!A)throw new Error(`Node ${k} not found`);const{position:{x:z,y:X},dimensions:{width:B,height:ee}}=A,U=X,me=X+ee,ge=$.filter(({id:ae})=>ae!==k).filter(({position:{y:ae},dimensions:{height:pe}})=>ae<me&&ae+pe>U).map(({position:{x:ae},dimensions:{width:pe}})=>({left:ae,right:ae+pe})).sort((ae,pe)=>ae.left-pe.left);let he=z+B+c;for(const{left:ae,right:pe}of ge)if(!(pe<=he)){if(he+B<=ae)return{x:he,y:U};he=Math.max(he,pe)+c}return{x:he,y:U}}function x(k){if(!k)return;const $=g(k);if(!$)throw new Error(`Node ${k} not found`);const{position:{x:A},dimensions:{width:z}}=$,X=A+z,{viewport:B,dimensions:ee,setViewport:U}=u,{x:me,y:ge,zoom:he}=B.value,{width:ae}=ee.value,pe=A*he+me,Se=X*he+me,Ne=ae-ou-c;if(Se<=Ne)return;let se=Ne-Se;pe+se<0&&(se=-pe),se!==0&&U({x:me+se,y:ge,zoom:he},{duration:mP})}return{vueFlowStore:u,editorStore:p,readonly:i,nodes:ie,edges:de,selectNode:T,autoLayout:ue,placeToRight:C,scrollRightToReveal:x,fitViewParams:ye,fitView:ce}}),Vi=we(t.defineComponent({__name:"HandleTwig",props:{color:{},position:{default:()=>be.Left},size:{default:()=>Number.parseFloat(Wc)},type:{}},setup(e){t.useCssVars(o=>({"753622c4":o.color}));const n=t.computed(()=>({width:`${e.size}px`,minWidth:`${e.size}px`}));return(o,r)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["handle-twig",[o.type,o.position===t.unref(be).Left?"left":"right"]]),style:t.normalizeStyle(n.value)},null,6))}}),[["__scopeId","data-v-eb2bc3f2"]]),mm=we(t.defineComponent({__name:"NodeBadge",props:{type:{},size:{},iconOnly:{type:Boolean}},setup(e){const n=t.computed(()=>{var i;if(!wt(e.type))return((i=Bo[e.type])==null?void 0:i.icon)??void 0}),o=t.computed(()=>hN(e.type)),r=t.computed(()=>{switch(e.type){case"call":return"warning";case"jq":return"decorative";case"exit":return"danger";case"property":return"success";case"static":return"info";default:return"neutral"}});return(i,a)=>{const l=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(l,{appearance:r.value,class:t.normalizeClass({"icon-only":i.iconOnly}),size:i.size},{icon:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(n.value)))]),default:t.withCtx(()=>[t.createTextVNode(" "+t.toDisplayString(o.value),1)]),_:1},8,["appearance","class","size"])}}}),[["__scopeId","data-v-aae106a9"]]);let ro=null;function SB(){var n;if(ro)return ro;if(typeof navigator>"u")return ro="windows";const e=((n=navigator.userAgentData)==null?void 0:n.platform)||navigator.platform||navigator.userAgent;return/Mac|iPhone|iPad|iPod/i.test(e)?ro="mac":/Linux/i.test(e)&&!/Android/i.test(e)?ro="linux":ro="windows"}const vB={Shift:"⇧",Alt:"⌥",Ctrl:"⌃",Meta:"⌘",Mod:"⌘",Enter:"↩",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Tab:"⇥",Esc:"⎋",Space:"Space",Delete:"⌫"},xB={Shift:"Shift",Alt:"Alt",Ctrl:"Ctrl",Meta:"Win",Mod:"Ctrl",Enter:"Enter",ArrowUp:"Up",ArrowDown:"Down",ArrowLeft:"Left",ArrowRight:"Right",Tab:"Tab",Esc:"Esc",Space:"Spacebar",Delete:"Delete"},AB={Shift:"Shift",Alt:"Alt",Ctrl:"Ctrl",Meta:"Super",Mod:"Ctrl",Enter:"Enter",ArrowUp:"Up",ArrowDown:"Down",ArrowLeft:"Left",ArrowRight:"Right",Tab:"Tab",Esc:"Esc",Space:"Space",Delete:"Delete"};function IB(e,n={}){const o=n.platform??SB(),r=n.joiner??(o==="mac"?"":" + "),i=o==="mac"?vB:o==="linux"?AB:xB;return(Array.isArray(e)?e:e[o]).map(l=>l in i?i[l]:l).join(r)}const PB={key:0,class:"label"},TB={class:"keys"},Ri=we(t.defineComponent({__name:"HotkeyLabel",props:{label:{},keys:{},reverse:{type:Boolean}},setup(e){const n=IB(e.keys);return(o,r)=>(t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["dk-hotkey-label",{reverse:o.reverse}])},[o.label?(t.openBlock(),t.createElementBlock("span",PB,t.toDisplayString(o.label),1)):t.createCommentVNode("",!0),t.createElementVNode("kbd",TB,t.toDisplayString(t.unref(n)),1)],2))}}),[["__scopeId","data-v-cc70d56b"]]),OB={class:"indicator-box"},$B={key:1,class:"additional-count"},Di=we(t.defineComponent({__name:"ValueIndicator",props:{edgeId:{},sourceNode:{},sourceFieldName:{},targetNodes:{},targetFieldNames:{},mode:{},reversed:{type:Boolean,default:!1}},setup(e){const n=t.createPropsRestProxy(e,["reversed"]),o=t.computed(()=>n.mode==="input"&&n.sourceNode?n.sourceFieldName?`${n.sourceNode.name}.${n.sourceFieldName}`:n.sourceNode.name:n.mode==="output"&&n.targetNodes?n.targetNodes.map((s,c)=>{var f;const d=(f=n.targetFieldNames)==null?void 0:f[c];return d?`${s.name}.${d}`:s.name}).join(", "):""),r=t.computed(()=>{var s,c;let l;if(n.mode==="input"&&n.sourceNode?l=n.sourceNode:n.mode==="output"&&n.targetNodes&&n.targetNodes.length>0&&(l=n.targetNodes[0]),!!l)return wt(l.type)?((c=Vo[l.type])==null?void 0:c.icon)??void 0:((s=Bo[l.type])==null?void 0:s.icon)??void 0}),i=t.computed(()=>n.mode==="output"&&n.targetNodes&&n.targetNodes.length>1?n.targetNodes.length-1:0),a=t.computed(()=>n.mode==="input"?e.reversed:!e.reversed);return(l,s)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["value-indicator",{reversed:a.value}])},[t.createVNode(t.unref(xe.KTooltip),{placement:"top",text:o.value},{default:t.withCtx(()=>[t.createElementVNode("div",OB,[r.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.value),{key:0,color:t.unref(Yc),size:16},null,8,["color"])):t.createCommentVNode("",!0),i.value>0?(t.openBlock(),t.createElementBlock("span",$B," +"+t.toDisplayString(i.value),1)):t.createCommentVNode("",!0)])]),_:1},8,["text"])],2))}}),[["__scopeId","data-v-93cc1060"]]),BB={class:"body"},VB={class:"name"},RB={class:"handle"},DB={class:"handle-label-wrapper"},MB={class:"handle-label-wrapper"},FB={class:"handle-label text"},LB={class:"handle"},UB={class:"handle-label-wrapper"},KB={class:"handle-label-wrapper"},jB={class:"handle-label text"},gm=we(t.defineComponent({__name:"FlowNode",props:{data:{},error:{type:Boolean},readonly:{type:Boolean}},setup(e){const{t:n}=je.createI18n("en-us",We),o=NB(),{getInEdgesByNodeId:r,getOutEdgesByNodeId:i,getNodeById:a,toggleExpanded:l,duplicateNode:s,removeNode:c,propertiesPanelOpen:d}=nt(),f=t.computed(()=>Ro(e.data.type)),u=t.computed(()=>e.data.fields.input.length>0),p=t.computed(()=>e.data.fields.output.length>0),m=t.computed(()=>u.value&&r(e.data.id).every(K=>K.targetField===void 0)),h=t.computed(()=>p.value&&i(e.data.id).every(K=>K.sourceField===void 0)),_=t.computed(()=>e.data.expanded.input??!1),g=t.computed(()=>e.data.expanded.output??!1),y=t.computed(()=>{var K,V;if(e.data.type==="property"){const M=(K=e.data.config)==null?void 0:K.property;return Dl(M)}return(V=f.value.io)==null?void 0:V.input}),w=t.computed(()=>{var K,V;if(e.data.type==="property"){const M=(K=e.data.config)==null?void 0:K.property;return Rl(M)}return(V=f.value.io)==null?void 0:V.output}),b=t.computed(()=>su(e.data)),v=t.computed(()=>e.data.phase==="response"),S=t.computed(()=>e.data.phase==="request"?be.Left:be.Right),N=t.computed(()=>e.data.phase==="request"?be.Right:be.Left),I=t.computed(()=>b.value?n(`plugins.free-form.datakit.flow_editor.node_types.${e.data.type}.name`):e.data.name),O=t.computed(()=>b.value?bk:wk),F=t.computed(()=>{const K=new Map,V=r(e.data.id);for(const M of V){const D=a(M.source);if(!D)continue;const L=D.type==="vault",j=D.phase!==e.data.phase;if(!L&&!j)continue;let Z;if(M.sourceField){const W=D.fields.output.find(ne=>ne.id===M.sourceField);Z=W==null?void 0:W.name}if(M.targetField){const W=e.data.fields.input.find(ne=>ne.id===M.targetField);if(!W)continue;K.set(M.targetField,{fieldId:M.targetField,edgeId:M.id,field:W,sourceNode:D,sourceFieldName:Z})}else K.set("input",{fieldId:"input",edgeId:M.id,field:null,sourceNode:D,sourceFieldName:Z})}return K}),H=t.computed(()=>{const K=new Map,V=i(e.data.id);for(const M of V){const D=a(M.target);if(!D||!(D.phase!==e.data.phase))continue;let j;if(M.targetField){const ne=D.fields.input.find(ie=>ie.id===M.targetField);j=ne==null?void 0:ne.name}const Z=M.sourceField||"output";if(!K.has(Z)){const ne=M.sourceField&&e.data.fields.output.find(ie=>ie.id===M.sourceField)||null;K.set(Z,{fieldId:Z,edgeIds:[],field:ne,targetNodes:[],targetFieldNames:[]})}const W=K.get(Z);W.edgeIds.push(M.id),W.targetNodes.push(D),W.targetFieldNames.push(j)}return K});function q(K){return F.value.get(K)}function E(K){return H.value.get(K)}function te(K){!o||o.readonly||K==="input"&&!m.value||K==="output"&&!h.value||l(e.data.id,K)}async function P(){if(!o||o.readonly)return;const K=s(e.data.id,o.placeToRight(e.data.id));await o.selectNode(K),o.scrollRightToReveal(K),d.value=!0}t.watch(m,K=>{K||l(e.data.id,"input",!0,!0,"*")},{immediate:!0}),t.watch(h,K=>{K||l(e.data.id,"output",!0,!0,"*")},{immediate:!0}),t.watch(()=>e.data.fields.input,(K,V)=>{ko(K,V)||l(e.data.id,"input",K.length>0,!0,"*")},{deep:!0}),t.watch(()=>e.data.fields.output,(K,V)=>{ko(K,V)||l(e.data.id,"output",K.length>0,!0,"*")},{deep:!0});const G=t.useTemplateRef("menu");function R(){var K;(K=G.value)==null||K.closeDropdown()}return(K,V)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["flow-node",{reversed:v.value,implicit:b.value,readonly:K.readonly}]),onMousedown:R},[t.createElementVNode("div",BB,[b.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(xe.KTooltip),{key:0,class:"badge",placement:"top",text:K.data.type},{default:t.withCtx(()=>[t.createVNode(mm,{"icon-only":"",size:"small",type:K.data.type},null,8,["type"])]),_:1},8,["text"])),t.createElementVNode("div",VB,t.toDisplayString(I.value),1),K.error?(t.openBlock(),t.createBlock(t.unref(Ce.WarningIcon),{key:1,class:"error-icon",color:t.unref(zc),size:16},null,8,["color"])):t.createCommentVNode("",!0),b.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(xe.KDropdown),{key:2,ref:"menu",class:"menu",disabled:K.readonly,"kpop-attributes":{offset:"4px",target:"body",popoverClasses:"dk-flow-node-menu"},width:"160",onClick:V[1]||(V[1]=t.withModifiers(()=>{},["stop"]))},{items:t.withCtx(()=>[t.createVNode(t.unref(xe.KDropdownItem),{onClick:P},{default:t.withCtx(()=>[t.createVNode(Ri,{keys:t.unref(Ur).duplicate,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.duplicate")},null,8,["keys","label"])]),_:1}),t.createVNode(t.unref(xe.KDropdownItem),{danger:"",onClick:V[0]||(V[0]=M=>t.unref(c)(K.data.id))},{default:t.withCtx(()=>[t.createVNode(Ri,{keys:t.unref(Ur).delete,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.delete")},null,8,["keys","label"])]),_:1})]),default:t.withCtx(()=>[t.createVNode(t.unref(xe.KButton),{appearance:"tertiary",class:"menu-trigger",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.MoreIcon),{color:t.unref(Gc)},null,8,["color"])]),_:1})]),_:1},8,["disabled"]))]),t.createElementVNode("div",{class:t.normalizeClass(["handles",{reversed:v.value}])},[y.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["input-handles",{"has-fields":u.value}])},[t.createElementVNode("div",RB,[t.createVNode(t.unref(rn),{id:"input",position:S.value,type:"target"},null,8,["position"]),q("input")?(t.openBlock(),t.createBlock(Di,{key:0,"edge-id":q("input").edgeId,mode:"input",reversed:v.value,"source-field-name":q("input").sourceFieldName,"source-node":q("input").sourceNode},null,8,["edge-id","reversed","source-field-name","source-node"])):t.createCommentVNode("",!0),t.createElementVNode("div",DB,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:m.value}]),onClick:V[2]||(V[2]=t.withModifiers(M=>te("input"),["stop"]))},[V[4]||(V[4]=t.createElementVNode("div",{class:"text"}," inputs ",-1)),u.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[_.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldMoreIcon),{key:0,size:t.unref(xo)},null,8,["size"])),_.value?(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldLessIcon),{key:1,color:m.value?void 0:t.unref(Hc),size:t.unref(xo)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),u.value&&_.value?(t.openBlock(),t.createBlock(Vi,{key:0,color:O.value,position:S.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)])]),u.value&&_.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(K.data.fields.input,(M,D)=>(t.openBlock(),t.createElementBlock("div",{key:`inputs-${M.id}`,class:"handle indented"},[t.createVNode(t.unref(rn),{id:`inputs@${M.id}`,position:S.value,type:"target"},null,8,["id","position"]),q(M.id)?(t.openBlock(),t.createBlock(Di,{key:0,"edge-id":q(M.id).edgeId,mode:"input",reversed:v.value,"source-field-name":q(M.id).sourceFieldName,"source-node":q(M.id).sourceNode},null,8,["edge-id","reversed","source-field-name","source-node"])):t.createCommentVNode("",!0),t.createElementVNode("div",MB,[t.createElementVNode("div",FB,t.toDisplayString(M.name),1),t.createVNode(Vi,{color:O.value,position:S.value,type:D<K.data.fields.input.length-1?"trident":"corner"},null,8,["color","position","type"])])]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),w.value?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["output-handles",{"has-fields":p.value}])},[t.createElementVNode("div",LB,[t.createElementVNode("div",UB,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:h.value}]),onClick:V[3]||(V[3]=t.withModifiers(M=>te("output"),["stop"]))},[V[5]||(V[5]=t.createElementVNode("div",{class:"text"}," outputs ",-1)),p.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[g.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldMoreIcon),{key:0,size:t.unref(xo)},null,8,["size"])),g.value?(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldLessIcon),{key:1,color:h.value?void 0:t.unref(Hc),size:t.unref(xo)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),p.value&&g.value?(t.openBlock(),t.createBlock(Vi,{key:0,color:O.value,position:N.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(rn),{id:"output",position:N.value,type:"source"},null,8,["position"]),E("output")?(t.openBlock(),t.createBlock(Di,{key:0,mode:"output",reversed:v.value,"target-field-names":E("output").targetFieldNames,"target-nodes":E("output").targetNodes},null,8,["reversed","target-field-names","target-nodes"])):t.createCommentVNode("",!0)]),p.value&&g.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(K.data.fields.output,(M,D)=>(t.openBlock(),t.createElementBlock("div",{key:`outputs-${M.id}`,class:"handle indented"},[t.createElementVNode("div",KB,[t.createElementVNode("div",jB,t.toDisplayString(M.name),1),t.createVNode(Vi,{color:O.value,position:N.value,type:D<K.data.fields.output.length-1?"trident":"corner"},null,8,["color","position","type"])]),t.createVNode(t.unref(rn),{id:`outputs@${M.id}`,position:N.value,type:"source"},null,8,["id","position"]),E(M.id)?(t.openBlock(),t.createBlock(Di,{key:0,mode:"output",reversed:v.value,"target-field-names":E(M.id).targetFieldNames,"target-nodes":E(M.id).targetNodes},null,8,["reversed","target-field-names","target-nodes"])):t.createCommentVNode("",!0)]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0)],2)],34))}}),[["__scopeId","data-v-76f57a4d"]]),qB={key:0,class:"dk-flow-mask"},hm=we(t.defineComponent({__name:"FlowCanvas",props:{flowId:{},phase:{},mode:{}},emits:["initialized","nodes-change"],setup(e,{expose:n,emit:o}){const r=o,i=t.useTemplateRef("flowCanvas"),a=Ke.useElementBounding(i),{i18n:{t:l}}=Te(),{vueFlowStore:s,editorStore:c,autoLayout:d,fitViewParams:f,fitView:u,selectNode:p,placeToRight:m,scrollRightToReveal:h}=EB({phase:e.phase,flowId:e.flowId,layoutOptions:{viewport:{width:a.width,height:a.height}},readonly:e.mode!=="edit"}),{addNode:_,propertiesPanelOpen:g,invalidConfigNodeIds:y,selectedNode:w,duplicateNode:b}=c,{project:v,vueFlowRef:S,zoomIn:N,zoomOut:I,viewport:O,maxZoom:F,minZoom:H}=s,q=t.ref(!1);function E(){e.mode==="edit"&&(g.value=!0)}function te(V){e.mode!=="edit"||q.value||V.preventDefault()}function P(V){var ye,Q;if(e.mode!=="edit"||q.value)return;const M=(ye=V.dataTransfer)==null?void 0:ye.getData($o);if(!M)return;V.preventDefault();const D=JSON.parse(M);if(D.action!=="create-node")return;const{top:L=0,left:j=0}=((Q=S.value)==null?void 0:Q.getBoundingClientRect())||{},Z=v({x:V.clientX-j,y:V.clientY-L}),{type:W,anchor:ne}=D.data,ie={type:W,phase:e.phase,position:{x:Z.x-ne.offsetX,y:Z.y-ne.offsetY}},de=_(ie);de&&(p(de),g.value=!0)}function G(){d(),t.nextTick(()=>u())}const R=t.computed(()=>{if(e.mode==="preview")return[];const V=[{name:"zoom_in",icon:Ce.AddIcon,action:N,disabled:O.value.zoom>=F.value},{name:"zoom_out",icon:Ce.RemoveIcon,action:I,disabled:O.value.zoom<=H.value},{name:"fit_view",icon:Ce.FullscreenIcon,action:u}];return e.mode==="edit"&&V.push({name:"auto_layout",icon:Ce.AutoLayoutIcon,action:G}),V});if(e.phase==="response"&&e.mode==="edit"){Ke.useEventListener("dragstart",M=>{var j;const D=(j=M.dataTransfer)==null?void 0:j.types.find(Z=>Z.startsWith(`${$o}/`));if(!D)return;D.replace(`${$o}/`,"")==="call"&&(q.value=!0)});const{start:V}=Ke.useTimeoutFn(()=>{q.value=!1},80);Ke.useEventListener("dragover",()=>{V()}),Ke.useEventListener("dragend",()=>{q.value=!1})}async function K(){const V=w.value;if(e.mode!=="edit"||!V||V.phase!==e.phase)return;const M=b(V.id,m(V.id));M&&(await p(M),g.value=!0,h(M))}return gp({enabled:t.computed(()=>!!w.value&&e.mode==="edit"&&w.value.phase===e.phase),duplicate:K}),n({autoLayout:d,fitView:u}),(V,M)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowCanvas",ref:i,class:"dk-flow-canvas"},[t.createVNode(t.unref(up),{id:V.flowId,class:t.normalizeClass(["flow",{readonly:V.mode!=="edit"}]),"connect-on-click":!1,"elements-selectable":V.mode==="edit","max-zoom":t.unref(fP),"min-zoom":t.unref(pP),"multi-selection-key-code":null,"nodes-connectable":V.mode==="edit","nodes-draggable":V.mode==="edit","pan-on-drag":V.mode==="preview"?!1:void 0,"pan-on-scroll":V.mode!=="edit"?!1:void 0,"zoom-on-double-click":V.mode!=="edit"?!1:void 0,"zoom-on-pinch":V.mode!=="edit"?!1:void 0,"zoom-on-scroll":V.mode!=="edit"?!1:void 0,onDragover:te,onDrop:P,onNodeClick:E,onNodesChange:M[0]||(M[0]=D=>r("nodes-change")),onNodesInitialized:M[1]||(M[1]=D=>r("initialized"))},{"node-flow":t.withCtx(D=>[t.createVNode(gm,{data:D.data,error:t.unref(y).has(D.data.id),readonly:V.mode!=="edit"},null,8,["data","error","readonly"])]),default:t.withCtx(()=>[t.createVNode(t.unref(BI)),t.createVNode(t.unref(aP),{"fit-view-params":t.unref(f),position:"bottom-left","show-fit-view":!1,"show-interactive":!1,"show-zoom":!1},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(R.value,D=>(t.openBlock(),t.createBlock(t.unref(xe.KTooltip),{key:D.name,placement:"right",text:t.unref(l)(`plugins.free-form.datakit.flow_editor.actions.${D.name}`)},{default:t.withCtx(()=>[t.createVNode(t.unref(Qo),{disabled:D.disabled,onClick:t.withModifiers(D.action,["stop"])},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(D.icon),{size:18}))]),_:2},1032,["disabled","onClick"])]),_:2},1032,["text"]))),128))]),_:1},8,["fit-view-params"])]),_:1},8,["id","class","elements-selectable","max-zoom","min-zoom","nodes-connectable","nodes-draggable","pan-on-drag","pan-on-scroll","zoom-on-double-click","zoom-on-pinch","zoom-on-scroll"]),q.value?(t.openBlock(),t.createElementBlock("div",qB,t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.phase_mask_help")),1)):t.createCommentVNode("",!0)],512))}}),[["__scopeId","data-v-2820a293"]]),Jl=we(t.defineComponent({__name:"FlowPanels",props:{inactive:{type:Boolean},mode:{},resizable:{type:Boolean}},setup(e){const n=t.ref(!1),o=t.ref(!1),{state:r,clearPendingLayout:i,setPendingFitView:a,commit:l,clear:s}=nt(),c=t.useId(),d=`${c}-request`,f=`${c}-response`,u=$e(d),p=$e(f);function m(j,Z){const{onPaneClick:W,onNodesChange:ne,onEdgesChange:ie,getSelectedNodes:de,getSelectedEdges:ye}=j,{removeSelectedElements:Q}=Z;function oe(le){if(!le){Q();return}le.some(ue=>ue.type==="select")&&de.value.length+ye.value.length>0&&Q()}ne(oe),ie(oe),W(()=>oe())}m(u,p),m(p,u);const h=t.useTemplateRef("flowPanels"),_=t.useTemplateRef("requestLabel"),g=t.useTemplateRef("requestCanvasContainer"),y=t.useTemplateRef("requestFlow"),w=t.useTemplateRef("resizeHandle"),b=t.useTemplateRef("responseLabel"),v=t.useTemplateRef("responseCanvasContainer"),S=t.useTemplateRef("responseFlow"),N=Ke.useElementBounding(h),I=Ke.useElementBounding(_),O=Ke.useElementBounding(g),F=Ke.useElementBounding(w),H=Ke.useElementBounding(b),q=Ke.useElementBounding(v),E=t.computed(()=>Math.max(30,N.height.value*.03)),te=t.computed(()=>O.height.value<E.value),P=t.computed(()=>q.height.value<E.value),G=t.ref("50%"),R=t.ref("50%"),K=()=>{e.resizable&&(te.value?(G.value="50%",R.value="50%"):(G.value="0",R.value="100%"))},V=()=>{e.resizable&&(P.value?(G.value="50%",R.value="50%"):(G.value="100%",R.value="0"))},M=t.computed(()=>N.height.value-I.height.value-F.height.value-H.height.value),{isDragging:D}=Ke.useDraggable(w,{onMove(j){if(!e.resizable)return;const Z=Math.max(0,j.y-O.top.value),W=Math.min(1,Math.max(0,Z/M.value));G.value=`${W*100}%`,R.value=`${(1-W)*100}%`},onEnd(){e.resizable&&(O.height.value<E.value?(G.value="0",R.value="100%"):q.height.value<E.value&&(G.value="100%",R.value="0"))}});function L(){t.nextTick(()=>{var j,Z;(j=y.value)==null||j.fitView(),(Z=S.value)==null||Z.fitView()})}return t.watch([n,o,()=>r.value.pendingLayout,()=>r.value.pendingFitView],([j,Z,W,ne])=>{e.inactive||!j||!Z||!W&&!ne||(W&&i(),ne&&a(!1),setTimeout(()=>{var ie,de;W&&((ie=y.value)==null||ie.autoLayout(!1),(de=S.value)==null||de.autoLayout(!1),l("*"),W==="clearHistory"&&s()),ne&&L()},0))}),(j,Z)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowPanels",ref:h,class:"flow-panels"},[t.createElementVNode("div",{ref_key:"requestLabel",ref:_,class:t.normalizeClass(["label request",{resizable:j.resizable}]),onClick:K},[j.resizable?(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:te.value}])},null,8,["class"])):t.createCommentVNode("",!0),Z[4]||(Z[4]=t.createElementVNode("div",{class:"label-content"}," Request ",-1))],2),t.createElementVNode("div",{ref_key:"requestCanvasContainer",ref:g,class:t.normalizeClass(["canvas",{dragging:t.unref(D)}]),style:t.normalizeStyle({flexBasis:G.value})},[t.createVNode(hm,{ref_key:"requestFlow",ref:y,"flow-id":d,mode:j.mode,phase:"request",onInitialized:Z[0]||(Z[0]=W=>n.value=!0),onNodesChange:Z[1]||(Z[1]=W=>n.value=!1)},null,8,["mode"])],6),t.createElementVNode("div",{ref_key:"resizeHandle",ref:w,class:t.normalizeClass(["resize-handle",{resizable:j.resizable}])},null,2),t.createElementVNode("div",{ref_key:"responseLabel",ref:b,class:t.normalizeClass(["label response",{dragging:t.unref(D),resizable:j.resizable}]),onClick:V},[j.resizable?(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:P.value}])},null,8,["class"])):t.createCommentVNode("",!0),Z[5]||(Z[5]=t.createElementVNode("div",{class:"label-content"}," Response ",-1))],2),t.createElementVNode("div",{ref_key:"responseCanvasContainer",ref:v,class:t.normalizeClass(["canvas response",{dragging:t.unref(D)}]),style:t.normalizeStyle({flexBasis:R.value})},[t.createVNode(hm,{ref_key:"responseFlow",ref:S,"flow-id":f,mode:j.mode,phase:"response",onInitialized:Z[2]||(Z[2]=W=>o.value=!0),onNodesChange:Z[3]||(Z[3]=W=>o.value=!1)},null,8,["mode"])],6)],512))}}),[["__scopeId","data-v-57dcdcfa"]]),GB={class:"dk-confirm-modal-body"},zB={class:"dk-confirm-modal-connections"},HB=we(t.defineComponent({__name:"ConflictModal",props:{title:{},message:{},addedConnections:{},removedConnections:{}},emits:["cancel","confirm"],setup(e,{expose:n,emit:o}){const{i18n:{t:r}}=Te(),i=o,a=t.ref(!1),l=t.ref(e.message),s=t.ref(e.addedConnections??[]),c=t.ref(e.removedConnections??[]);let d=null;function f(){a.value=!1,i("cancel"),d==null||d(!1)}function u(){a.value=!1,i("confirm"),d==null||d(!0)}async function p(m,h,_){return l.value=m,s.value=h??[],c.value=_??[],a.value=!0,await new Promise(g=>{d=g})}return n({open:p}),(m,h)=>{const _=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(_,{"action-button-text":t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.proceed"),"close-on-backdrop-click":"","max-width":"660px",title:m.title??t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.title"),visible:a.value,"z-index":9999,onCancel:f,onProceed:u},{default:t.withCtx(()=>[t.createElementVNode("div",GB,[t.createElementVNode("p",null,t.toDisplayString(l.value),1),t.createElementVNode("p",null,t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.message.confirm")),1),t.createElementVNode("div",zB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value??[],([g,y])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${y}`},[t.createVNode(t.unref(Ce.AddIcon),{color:t.unref(kk)},null,8,["color"]),t.createElementVNode("span",null,t.toDisplayString(g),1),h[0]||(h[0]=t.createTextVNode(" → ",-1)),t.createElementVNode("span",null,t.toDisplayString(y),1)]))),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value??[],([g,y])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${y}`},[t.createVNode(t.unref(Ce.RemoveIcon),{color:t.unref(zc)},null,8,["color"]),t.createElementVNode("span",null,t.toDisplayString(g),1),h[1]||(h[1]=t.createTextVNode(" → ",-1)),t.createElementVNode("span",null,t.toDisplayString(y),1)]))),128))])])]),_:1},8,["action-button-text","title","visible"])}}}),[["__scopeId","data-v-9874f282"]]),YB={class:"dk-editor-nav"},WB={class:"top"},XB={class:"bottom"},ZB=we(t.defineComponent({__name:"EditorNav",emits:["back"],setup(e,{emit:n}){const{t:o}=je.createI18n("en-us",We),r=n,i=[{label:o("plugins.free-form.datakit.flow_editor.return_to_config"),icon:Ce.ArrowLeftIcon,onClick:()=>r("back")}],{sidePanelExpanded:a}=Xa(),l=t.computed(()=>a.value?o("plugins.free-form.datakit.flow_editor.collapse_panel"):o("plugins.free-form.datakit.flow_editor.expand_panel")),s=t.ref(!1);function c(){a.value=!a.value}return(d,f)=>(t.openBlock(),t.createElementBlock("nav",YB,[t.createElementVNode("div",WB,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,({label:u,to:p,icon:m,onClick:h})=>t.createVNode(t.unref(xe.KTooltip),{key:u,"kpop-attributes":{offset:"10px"},label:u,placement:"right"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.unref(xe.KButton),{key:u,appearance:"none",class:"nav-item",icon:"",to:p,onClick:h},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m),{decorative:"",size:t.unref(Aa)},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),t.createElementVNode("div",XB,[t.createElementVNode("div",{class:t.normalizeClass(["side-panel-toggle",{expanded:t.unref(a)}]),onTransitionend:f[0]||(f[0]=t.withModifiers(u=>s.value=!1,["self"])),onTransitionstart:f[1]||(f[1]=t.withModifiers(u=>s.value=!0,["self"]))},[t.createVNode(t.unref(xe.KTooltip),{label:s.value?void 0:l.value,placement:t.unref(a)?"left":"right"},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.KButton),{appearance:"none",class:"nav-item nav-item-toggle",icon:"",size:"large",onClick:c},{default:t.withCtx(()=>[t.unref(a)?(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDoubleLeftIcon),{key:0,decorative:"",size:t.unref(Aa)},null,8,["size"])):(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDoubleRightIcon),{key:1,decorative:"",size:t.unref(Aa)},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-2915b6fa"]]),JB={class:"dk-editor-main"},QB={class:"header"},eV={class:"actions"},tV={class:"settings"},nV={ref:"canvasContainer",class:"body"},oV=we(t.defineComponent({__name:"EditorMain",setup(e){const{t:n}=je.createI18n("en-us",We),{modalOpen:o,undo:r,redo:i,canUndo:a,canRedo:l,load:s}=nt();function c(u){const p=ja.load(u,{schema:Lr,json:!0});if(typeof p!="object"||p===null)return;const m=p,h={config:{...m,nodes:m.nodes??[]}};s(h,!0)}function d(){o.value=!1}gp({enabled:o,undo:r,redo:i});const f={maxWidth:"300px",zIndex:1e4};return(u,p)=>(t.openBlock(),t.createElementBlock("div",JB,[t.createElementVNode("header",QB,[t.createElementVNode("div",eV,[t.createVNode(t.unref(xe.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(Ri,{keys:t.unref(Ur).undo,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.undo"),reverse:""},null,8,["keys","label"])]),default:t.withCtx(()=>[t.createVNode(t.unref(xe.KButton),{appearance:"tertiary",disabled:!t.unref(a),icon:"",onClick:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.UndoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),t.createVNode(t.unref(xe.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(Ri,{keys:t.unref(Ur).redo,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.redo"),reverse:""},null,8,["keys","label"])]),default:t.withCtx(()=>[t.createVNode(t.unref(xe.KButton),{appearance:"tertiary",disabled:!t.unref(l),icon:"",onClick:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.RedoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),p[0]||(p[0]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createElementVNode("div",tV,[t.createVNode(Na,{label:t.unref(n)("plugins.free-form.datakit.flow_editor.debug.label"),"label-attributes":{info:t.unref(n)("plugins.free-form.datakit.flow_editor.debug.description"),tooltipAttributes:f},name:"config.debug"},null,8,["label","label-attributes"])]),p[1]||(p[1]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createVNode(t.unref(xe.KDropdown),{appearance:"tertiary","kpop-attributes":{placement:"bottom-end",target:"body"},"show-caret":"","trigger-text":t.unref(n)("plugins.free-form.datakit.flow_editor.examples")},{items:t.withCtx(()=>[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(qa,(m,h)=>t.createVNode(t.unref(xe.KDropdownItem),{key:h,onClick:_=>c(m)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)(`plugins.free-form.datakit.examples.${h}`)),1)]),_:2},1032,["onClick"])),64))]),_:1},8,["trigger-text"]),t.createVNode(t.unref(xe.KButton),{appearance:"tertiary",target:"_blank",to:"https://developer.konghq.com/plugins/datakit/"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.view_docs"))+" ",1),t.createVNode(t.unref(Ce.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref(xe.KButton),{onClick:d},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.done")),1)]),_:1})])]),t.createElementVNode("div",nV,[t.createVNode(Jl,{mode:"edit",resizable:""})],512)]))}}),[["__scopeId","data-v-32006420"]]),rV=["draggable"],iV={class:"icon"},aV={class:"content"},lV={class:"title"},sV={class:"description"},cV=we(t.defineComponent({__name:"NodePanelItem",props:{type:{}},emits:["dragstart"],setup(e,{emit:n}){const o=n,r=e.type==="cache"||e.type==="branch",{summary:i,icon:a}=Bo[e.type];function l(s){o("dragstart",s,e.type)}return(s,c)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-panel-item",{[`node-type-${s.type}`]:!0,unsupported:t.unref(r)}]),draggable:!t.unref(r),onDragstart:l},[t.createElementVNode("div",iV,[t.createVNode(t.unref(a),{size:16})]),t.createElementVNode("div",aV,[t.createElementVNode("div",lV,t.toDisplayString(s.type),1),t.createElementVNode("div",sV,t.toDisplayString(t.unref(i)),1)])],42,rV))}}),[["__scopeId","data-v-d3ce7350"]]),dV={class:"dk-node-panel"},uV={key:0,class:"title"},fV={class:"node-list"},pV={"aria-hidden":"true",class:"preview",inert:""},ym=we(t.defineComponent({__name:"NodePanel",props:{hideTitle:{type:Boolean}},setup(e){const{t:n}=je.createI18n("en-us",We),{createNode:o}=nt(),r=`dk-drag-preview-${t.useId()}`,i=t.shallowRef(),a=t.computed(()=>i.value?[{id:"preview",type:"flow",data:i.value,position:{x:0,y:0}}]:[]),l=async(s,c)=>{var O,F,H;const d=s.currentTarget,{left:f,top:u,width:p,height:m}=d.getBoundingClientRect(),h=s.clientX-f,_=s.clientY-u;i.value=o({type:c}),await t.nextTick();const g=document.querySelector(`#${r}`)||d,y=g.cloneNode(!0);y.classList.add("dk-drag-snapshot");const{offsetWidth:w,offsetHeight:b}=g;Object.assign(y.style,{position:"absolute",top:"-9999px",left:"-9999px",width:`${w}px`,height:`${b}px`}),document.body.appendChild(y);const v=h/p,S=_/m,N={ratioX:v,ratioY:S,offsetX:w*v,offsetY:b*S},I={action:"create-node",data:{type:c,anchor:N}};(O=s.dataTransfer)==null||O.setData($o,JSON.stringify(I)),(F=s.dataTransfer)==null||F.setData(`${$o}/${c}`,c),(H=s.dataTransfer)==null||H.setDragImage(y,N.offsetX,N.offsetY),requestAnimationFrame(()=>{y.remove(),i.value=void 0})};return(s,c)=>{const d=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",dV,[s.hideTitle?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("h3",uV,[t.createVNode(d,{class:"label",info:t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.description")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.title")),1)]),_:1},8,["info"])])),t.createElementVNode("div",fV,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(t.unref(Bo)),f=>(t.openBlock(),t.createBlock(cV,{key:f,type:f,onDragstart:l},null,8,["type"]))),128))]),t.createElementVNode("div",pV,[t.createVNode(t.unref(up),{nodes:a.value},{"node-flow":t.withCtx(f=>[t.createVNode(gm,{id:r,data:f.data},null,8,["data"])]),_:1},8,["nodes"])])])}}}),[["__scopeId","data-v-51ccb23d"]]);function mV(){const{addField:e,getNodeByName:n,removeField:o,replaceConfig:r,renameField:i,disconnectOutEdges:a,nodeMapByName:l}=nt(),s=n("vault");if(!s)throw new Error("no vault node");const c=t.computed(()=>{var h;return((h=l.value.get("vault"))==null?void 0:h.config)||{}});return{formData:t.computed(()=>({vault:{...c.value}})),addVault:(h,_)=>{e(s.id,"output",h,!1);const g={...s.config,[h]:_};r(s.id,g)},removeVault:h=>{const _=Zt(s,"output",h);if(!_)return;const g=s.fields.output.length===1;o(s.id,_.id,!0,!1);const y=Co(s.config,h);r(s.id,y,!g),g&&a(s.id)},updateVault:(h,_,g=!0)=>{const y={...s.config,[h]:_};r(s.id,y,g)},renameVault:(h,_,g=!0)=>{var v;const y=Zt(s,"output",h);if(!y)return;i(s.id,y.id,_,!1);const w=((v=s.config)==null?void 0:v[h])??"",b={...Co(s.config,h),[_]:w};r(s.id,b,g)}}}const gV=t.defineComponent({__name:"VaultSecretPicker",props:{secretRef:{type:[String,Boolean]},secretName:{},validateName:{type:Function,default:()=>{}},isEditing:{type:Boolean,default:!1}},emits:["proceed","cancel"],setup(e,{emit:n}){const o=n,{i18n:{t:r}}=Ve.useI18n(),i=t.inject(Pe.FORMS_CONFIG),a=t.ref(e.secretName||""),l=t.ref(""),s=t.computed(()=>a.value.trim()?e.validateName(a.value.trim(),e.isEditing)===void 0:!1),c=t.computed(()=>!s.value),d=()=>{const m=a.value.trim(),h=e.validateName(m,e.isEditing);return l.value=h||"",h===void 0},f=()=>{l.value="",d()},u=m=>{d()&&o("proceed",{secretRef:m,secretName:a.value.trim()})},p=()=>{a.value="",l.value="",o("cancel")};return t.watch(()=>e.secretName,m=>{a.value=m||"",l.value=""}),(m,h)=>{const _=t.resolveComponent("KInput"),g=t.resolveComponent("KEmptyState");return t.unref(i)?(t.openBlock(),t.createBlock(t.unref(co.VaultSecretPicker),{key:0,"additional-disabled":c.value,config:t.unref(i),"proceed-button-text":t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.proceed_button_text"),setup:m.secretRef,title:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.title"),onCancel:p,onProceed:u},{"form-prefix":t.withCtx(()=>[t.createVNode(_,{"model-value":a.value,"onUpdate:modelValue":[h[0]||(h[0]=y=>a.value=y),f],"data-testid":"vault-secret-picker-secret-name-input",error:!!l.value,"error-message":l.value,label:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.label"),"label-attributes":{info:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.help")},placeholder:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.placeholder"),required:""},null,8,["model-value","error","error-message","label","label-attributes","placeholder"])]),_:1},8,["additional-disabled","config","proceed-button-text","setup","title"])):(t.openBlock(),t.createBlock(g,{key:1,"icon-variant":"error",message:t.unref(r)("plugins.free-form.vault_picker.component_error")},null,8,["message"]))}}}),hV={class:"dk-vault-panel"},yV={class:"title"},_V={class:"vault-list"},bV={key:0,class:"vault-list-item"},wV={class:"vault-list-item-key"},kV={class:"vault-list-item-key-text"},CV=we(t.defineComponent({__name:"VaultField",props:{name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["update","add","remove","change"],setup(e,{emit:n}){const o=e,r=n,{entries:i,addEntry:a,removeEntry:l}=Tr(o,r),s=t.ref(null),c=t.ref(null),{i18n:{t:d}}=Ve.useI18n(),f=t.computed(()=>new Set(i.value.map(y=>y.key))),u=()=>{const y=a();c.value=y,s.value=y},p=()=>{s.value=null,c.value&&(l(c.value.id),c.value=null)},m=y=>{if(!s.value)throw new Error("no selected entry");const w=s.value.key,b=w!==y.secretName,v=s.value.value!==y.secretRef,S=b||v;s.value.value=y.secretRef,s.value.key=y.secretName,c.value?r("add",y.secretName,y.secretRef):S&&r("update",y.secretName,y.secretRef,b?w:void 0),c.value=null,p()},h=y=>{s.value=y},_=y=>{l(y.id),r("remove",y.key)},g=(y,w)=>{var b;if(!y)return d("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_required_error");if(f.value.has(y)&&!(w&&y===((b=s.value)==null?void 0:b.key)))return d("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_exists_error")};return(y,w)=>{var N,I;const b=t.resolveComponent("KButton"),v=t.resolveComponent("KDropdownItem"),S=t.resolveComponent("KDropdown");return t.openBlock(),t.createElementBlock("div",hV,[t.createElementVNode("h3",yV,t.toDisplayString(t.unref(d)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.title")),1),t.createVNode(b,{appearance:"tertiary",class:"add-button",size:"small",onClick:u},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(d)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.add_button")),1)]),_:1}),t.createElementVNode("div",_V,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),O=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:O.id},[O.key?(t.openBlock(),t.createElementBlock("div",bV,[t.createElementVNode("div",wV,[t.createVNode(t.unref(Ce.KeyIcon),{color:t.unref(Yc),size:16},null,8,["color"]),t.createElementVNode("div",kV,t.toDisplayString(O.key),1)]),t.createVNode(S,null,{items:t.withCtx(()=>[t.createVNode(v,{onClick:F=>h(O)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:2},1032,["onClick"]),t.createVNode(v,{danger:"",onClick:F=>_(O)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.delete")),1)]),_:2},1032,["onClick"])]),default:t.withCtx(()=>[t.createVNode(b,{appearance:"tertiary",icon:""},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.MoreIcon),{color:t.unref(Gc)},null,8,["color"])]),_:1})]),_:2},1024)])):t.createCommentVNode("",!0)],64))),128))]),t.createVNode(gV,{"is-editing":!!s.value&&!c.value,"secret-name":(N=s.value)==null?void 0:N.key,"secret-ref":(I=s.value)==null?void 0:I.value,"validate-name":g,onCancel:p,onProceed:m},null,8,["is-editing","secret-name","secret-ref"])])}}}),[["__scopeId","data-v-4df4e490"]]),EV={class:"dk-resources-panel"},NV=we(t.defineComponent({__name:"ResourcesPanel",setup(e){const n={type:"record",fields:[{vault:{type:"map",keys:{type:"string"},values:{type:"string"}}}]},{addVault:o,removeVault:r,updateVault:i,renameVault:a,formData:l}=mV();function s(c,d,f){f&&f!==c&&a(f,c,!1),i(c,d)}return(c,d)=>(t.openBlock(),t.createElementBlock("div",EV,[t.createVNode(dt,{data:t.unref(l),schema:n},{default:t.withCtx(()=>[t.createVNode(CV,{name:"vault",onAdd:t.unref(o),onRemove:t.unref(r),onUpdate:s},null,8,["onAdd","onRemove"])]),_:1},8,["data"])]))}}),[["__scopeId","data-v-20ce9c3d"]]),SV={class:"header"},vV={class:"title"},xV={class:"body"},AV={class:"panel"},IV=we(t.defineComponent({__name:"SidePanel",setup(e){const{t:n}=je.createI18n("en-us",We),{sidePanelExpanded:o}=Xa(),{propertiesPanelOpen:r,selectedNode:i}=nt(),a=t.inject(Eo.DATAKIT_M2,!1),l=t.ref("nodes");function s(){r.value=!1}t.watch(i,d=>{d||s()});const c=t.ref(!1);return t.onMounted(()=>{c.value=!0}),(d,f)=>{const u=t.resolveComponent("KSegmentedControl");return t.openBlock(),t.createElementBlock("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(o),inited:c.value}])},[t.createElementVNode("header",SV,[t.createElementVNode("h2",vV,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),t.createElementVNode("div",xV,[t.createElementVNode("div",AV,[t.unref(a)?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(u,{modelValue:l.value,"onUpdate:modelValue":f[0]||(f[0]=p=>l.value=p),options:[{label:t.unref(n)("plugins.free-form.datakit.flow_editor.panel_segments.nodes"),value:"nodes"},{label:t.unref(n)("plugins.free-form.datakit.flow_editor.panel_segments.resources.title"),value:"resources"}]},null,8,["modelValue","options"]),l.value==="nodes"?(t.openBlock(),t.createBlock(ym,{key:0,"hide-title":""})):t.createCommentVNode("",!0),l.value==="resources"?(t.openBlock(),t.createBlock(NV,{key:1})):t.createCommentVNode("",!0)],64)):(t.openBlock(),t.createBlock(ym,{key:1}))])])],2)}}}),[["__scopeId","data-v-ae943268"]]),PV=t.defineComponent({__name:"HttpMethodField",props:{name:{}},setup(e){return(n,o)=>(t.openBlock(),t.createBlock(xt,{items:t.unref(ya)([...t.unref(au)]),name:n.name},null,8,["items","name"]))}}),TV=t.defineComponent({__name:"InputsRecordField",props:{name:{},items:{}},emits:["change:inputs"],setup(e){const{getSchema:n}=Fe(),{i18n:o}=Te(),r=t.computed(()=>{const i=n("inputs");return i?i.fields.map(a=>Object.keys(a)[0]):[]});return(i,a)=>(t.openBlock(),t.createBlock(it,{"as-child":"",name:i.name,"reset-label-path":"isolate"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.value,l=>(t.openBlock(),t.createBlock(xt,{key:l,clearable:"","enable-filtering":"",items:i.items,name:l,placeholder:t.unref(o).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s=>i.$emit("change:inputs",l,s?s.value:null)},null,8,["items","name","placeholder","onChange"]))),128))]),_:1},8,["name"]))}}),OV=["data-testid"],$V={class:"dk-inputs-map-field-entry-body"},BV={class:"dk-inputs-map-field-entry-content"},VV=we(t.defineComponent({__name:"InputsMapField",props:{items:{},fieldNameValidator:{},name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["change:inputs","add:field","remove:field","rename:field","change"],setup(e,{emit:n}){const o=e,r=n,{entries:i,addEntry:a,removeEntry:l,field:s}=Tr(o,r),{i18n:{t:c}}=Te(),d=t.useTemplateRef("root"),f=t.ref(null),u=t.ref({});let p;async function m(S,N="key"){var I;d.value&&(await t.nextTick(),(I=d.value.querySelector(`[data-${N}-input="${S}"]`))==null||I.focus())}function h(){const{id:S}=a(),N=i.value.findIndex(({key:I})=>!I);m(N===-1?i.value.length-1:N),f.value=S}function _(S){l(S.id),S.id===f.value&&(f.value=null),S.key.trim()!==""&&r("remove:field",S.key)}function g(S){p=S.key}function y(S){if(w(S)){S.key=p,delete u.value[S.id];return}if(S.id===f.value){if(S.key.trim()==="")return;r("add:field",S.key,S.value),f.value=null}else r("rename:field",p,S.key);p=S.key}function w(S){delete u.value[S.id];const N=o.fieldNameValidator("input",p,S.key);if(N)return u.value[S.id]=N,N}function b(S){w(S)}function v(S,N){S.id!==f.value&&r("change:inputs",S.key,N)}return t.watch(()=>i.value,S=>{f.value&&(S.find(({id:N})=>N===f.value)||(f.value=null))}),(S,N)=>{const I=t.resolveComponent("KAlert"),O=t.resolveComponent("KLabel"),F=t.resolveComponent("KInput"),H=t.resolveComponent("KSelect"),q=t.resolveComponent("KButton");return t.unref(s).error?(t.openBlock(),t.createBlock(I,{key:0,appearance:"danger",message:t.unref(s).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:d,class:"dk-inputs-map-field"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),(E,te)=>(t.openBlock(),t.createElementBlock("div",{key:E.id,class:"dk-inputs-map-field-entry","data-testid":`ff-kv-container-${t.unref(s).path.value}.${te}`},[t.createVNode(O,{for:`ff-kv-entry-key-${t.unref(s).path.value}.${te}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.label")),1)]),_:2},1032,["for"]),t.createElementVNode("div",$V,[t.createElementVNode("div",BV,[t.createVNode(F,{id:`ff-kv-entry-key-${t.unref(s).path.value}.${te}`,modelValue:E.key,"onUpdate:modelValue":[P=>E.key=P,P=>w(E)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":te,"data-testid":`ff-key-${t.unref(s).path.value}.${te}`,error:!!u.value[E.id],"error-message":u.value[E.id],placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.placeholder"),onBlur:P=>b(E),onChange:P=>y(E),onFocus:P=>g(E)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","placeholder","onBlur","onChange","onFocus"]),t.createVNode(H,{modelValue:E.value,"onUpdate:modelValue":P=>E.value=P,class:"ff-kv-field-entry-value",clearable:"","data-testid":`ff-value-${t.unref(s).path.value}.${te}`,"enable-filtering":"",items:S.items,label:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.source"),placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:P=>v(E,(P==null?void 0:P.value)??null)},null,8,["modelValue","onUpdate:modelValue","data-testid","items","label","placeholder","onChange"])]),t.createVNode(q,{appearance:"tertiary",class:"dk-inputs-map-field-remove-btn","data-testid":`ff-kv-remove-btn-${t.unref(s).path.value}.${te}`,icon:"",onClick:P=>_(E)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.CloseIcon))]),_:2},1032,["data-testid","onClick"])])],8,OV))),128)),t.createVNode(q,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(s).path.value}`,disabled:!!f.value,onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-b2f89c26"]]),RV={class:"dk-inputs-field-or"},io=we(t.defineComponent({__name:"InputsField",props:{items:{},fieldNames:{},fieldNameValidator:{}},emits:["change:input","change:inputs","add:field","remove:field","rename:field"],setup(e,{emit:n}){const o=n,{getSchema:r}=Fe(),{i18n:{t:i}}=Te(),a=t.computed(()=>r("inputs")),l=t.computed(()=>a.value?a.value.type==="record"?TV:VV:null);function s(p){o("change:input",p?p.value:null)}function c(p,m){o("add:field",p,m)}function d(p,m){o("change:inputs",p,m)}function f(p){o("remove:field",p)}function u(p,m){o("rename:field",p,m)}return(p,m)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(t.unref(xe.KLabel),{class:"dk-inputs-field-h1",info:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.tooltip")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.label")),1)]),_:1},8,["info"]),t.unref(r)("input")?(t.openBlock(),t.createBlock(xt,{key:0,class:"dk-inputs-field-h2",clearable:"","enable-filtering":"",items:p.items,label:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.input"),"label-attributes":{info:void 0},name:"input",placeholder:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s},null,8,["items","label","placeholder"])):t.createCommentVNode("",!0),t.createElementVNode("div",RV,[t.createElementVNode("span",null,t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.or")),1)]),t.createVNode(t.unref(xe.KLabel),{class:"dk-inputs-field-h2 dk-margin-0"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.fields")),1)]),_:1}),l.value?(t.openBlock(),t.createBlock(t.unref(l),{key:1,"field-name-validator":p.fieldNameValidator,items:p.items,"key-order":p.fieldNames,name:"inputs","onAdd:field":c,"onChange:inputs":d,"onRemove:field":f,"onRename:field":u},null,8,["field-name-validator","items","key-order"])):t.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-27c48bc3"]]),DV={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{query:{description:"HTTP request query",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"},MV={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"};function FV(e){const n=Number(e);return!isNaN(n)&&isFinite(n)}function ao(...e){return function(o){for(const r of e){const i=r(o);if(i)return i}}}function lo(e){const{i18n:{t:n}}=Te(),o=()=>e?typeof e=="string"?e:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_empty",e):"Field is required";return function(i){if(i==null||typeof i=="string"&&i.trim()==="")return o()}}function _m(e,n){const{i18n:{t:o}}=Te();return function(i){if(i!=null)switch(e){case"identifier":{const a=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_identifier_format",n):"Invalid identifier format";return/^[A-Za-z_][A-Za-z0-9_-]*$/.test(i)?void 0:a()}case"url":{const a=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_url_format"):"Invalid URL format";try{new URL(i);return}catch{return a()}}default:return}}}function LV(e=0,n=1/0,o){const{i18n:{t:r}}=Te();return function(a){if(a!=null&&typeof a=="string"&&(a.length<e||a.length>n))return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.string_len_range",{fieldName:o.fieldName,minLength:e,maxLength:n}):`Value must be between ${e} and ${n} characters`}}function bm(e){const{i18n:{t:n}}=Te();return function(r){if(!FV(r))return e?typeof e=="string"?e:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_number",e):"Value must be a number"}}function wm(e,n){const{i18n:{t:o}}=Te();return function(i){if(i==null)return;const a=bm(n)(i);if(a)return a;const l=Number(i);switch(e){case"float":{const s=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_float",n):"Invalid float format";return Number.isFinite(l)?void 0:s()}case"integer":{const s=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_integer",n):"Invalid integer format";return Number.isInteger(l)?void 0:s()}default:return}}}function km(e=-1/0,n=1/0,o){const{i18n:{t:r}}=Te();return function(a){if(a==null)return;const l=bm(o)(a);if(l)return l;const s=Number(a);if(s<e||s>n)return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.number_range",{fieldName:o.fieldName,min:e,max:n}):`Value must be between ${e} and ${n}`}}function UV(e,n){const{state:o}=nt(),{i18n:{t:r}}=Te();return function(a){if(o.value.nodes.some(l=>l.name===a&&l.id!==e))return n?typeof n=="string"?n:r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",n):"Name must be unique."}}function KV(e,n,o){const{i18n:{t:r}}=Te();return function(a){if(!n)return;if(o?n.fields[e].some(s=>s.name===a&&s.id!==o):n.fields[e].some(s=>s.name===a)){const s=r(e==="input"?"plugins.free-form.datakit.flow_editor.node_properties.input_name.label":"plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name");return r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",{fieldName:s})}}}function jV(){const{i18n:{t:e}}=Te();return function(o){if(Ha(o))return e("plugins.free-form.datakit.flow_editor.node_properties.errors.reserved_node_name",{nodeName:o})}}function Cm(e){const{i18n:{t:n}}=Te(),o={fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.name")};return ao(lo(o),_m("identifier",o),jV(),UV(e,o))}function qV(e){const{i18n:{t:n}}=Te(),{getNodeById:o}=nt();return function(i,a,l){const s={fieldName:n(i==="input"?"plugins.free-form.datakit.flow_editor.node_properties.input_name.label":"plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name")};return ao(lo(s),KV(i,o(e),l))(a)}}function GV(e){const n=t.ref({}),o=t.computed(()=>Object.values(n.value).every(l=>!l)),r={};Object.keys(e).forEach(l=>{const s=e[l],c=u=>{const p=typeof u=="function"?u():u,m=s(p);return n.value[l]=m,m},d=()=>{n.value[l]=void 0},f=u=>(d(),c(u));r[l]={handleChange:f,handleBlur:f,validate:f,isValid:t.computed(()=>n.value[l]===void 0),error:t.computed(()=>n.value[l])}});function i(){n.value={}}function a(l){var s;for(const c of Object.keys(e)){const d=l[c],f=typeof d=="function"?d():d;(s=r[c])==null||s.validate(f)}return n.value}return{isValid:o,errorMap:n,fields:r,clearErrors:i,validate:a}}function Mi(e){const{validationConfig:n,getValidationData:o,toggleNodeValid:r}=e,{skipValidation:i}=nt(),a=t.computed(()=>typeof n=="function"?n():n),l=t.computed(()=>GV(a.value)),s=t.computed(()=>l.value.fields),c=t.computed(()=>l.value.isValid.value);function d(){const u=o(),p=l.value.validate(u),m={};for(const h in a.value)m[h]=p[h];return m}function f(u,p){return{onBlur:()=>{const m=o(),h=s.value[u];h&&h.handleBlur(m[u])},onUpdate:()=>{const m=o(),h=s.value[u];h&&h.handleChange(m[u]),p==null||p()},error:t.computed(()=>{const m=s.value[u];return m?!m.isValid.value:!1}),errorMessage:t.computed(()=>{const m=s.value[u];return m?m.error.value??"":""})}}return t.onMounted(()=>{i.value?i.value=!1:d()}),t.onBeforeUnmount(async()=>{try{const u=d(),p=Object.values(u).filter(Boolean).length>0;r(!p)}catch{}}),t.watch(()=>c.value,r,{immediate:!0}),{fields:s.value,isValid:c,validateAll:d,createFieldHandler:f}}function Pn(e,n){const o=t.inject(Eo.DATAKIT_M2,!1),{state:r,renameNode:i,getNodeById:a,addField:l,renameField:s,removeField:c,replaceConfig:d,disconnectEdge:f,connectEdge:u,invalidConfigNodeIds:p,commit:m,revert:h}=nt(),{i18n:{t:_}}=Te(),g=wB();let y=!1;t.watch(r,async()=>{y=!0,await t.nextTick(),y=!1},{immediate:!0,deep:!0});const w=t.computed(()=>{const D=a(e);if(!D)throw new Error("Node not existed");return D}),b=t.computed(()=>{const L=r.value.edges.filter(j=>j.target===e).reduce((j,Z)=>{var ye,Q;const W=a(Z.source),ne=(ye=Jt(W,"output",Z.sourceField))==null?void 0:ye.id,ie=(Q=Jt(w.value,"input",Z.targetField))==null?void 0:Q.name,de=W.id+(ne?`.${ne}`:"");return ie?j.inputs={...j.inputs,[ie]:de}:j.input=de,j},{});return w.value.fields.input.forEach(j=>{L.inputs||(L.inputs={}),L.inputs[j.name]||(L.inputs[j.name]=null)}),{...w.value.config,...L,name:w.value.name}}),v=D=>{i(e,D??"",!0,`${e}:rename`)},S=(D,L=!0)=>{if(y)return;if(!n)throw new Error("getFormInnerData is not defined");const j=Co(n(),["name","input","inputs"]),Z=D?`update:${e}:${D}`:void 0;d(e,j,L,Z)},N=(D,L)=>{const j=Zt(w.value,D,L);if(!j)throw new Error(`Field with name "${L}" not found in node "${w.value.name}"`);return j},I=(D,L,j)=>{const Z=!!j;l(e,D,L,!Z),Z&&E(L,j)},O=(D,L,j)=>{if(y)return;const Z=N(D,L).id;s(e,Z,j)},F=(D,L)=>{const j=N(D,L).id;c(e,j)},H=t.computed(()=>r.value.edges.filter(D=>D.target===e&&!D.targetField)[0]),q=t.computed(()=>r.value.edges.filter(D=>D.target===e&&D.targetField)),E=async(D,L)=>{if(y)return;const j=L==null,Z=N("input",D).id;if(j){const ue=q.value.find(ce=>ce.targetField===Z);ue&&f(ue.id);return}const{nodeId:W,fieldId:ne}=cu(L),ie=N("input",D).id,de=[];H.value&&(de.push(rr(H.value,a)),f(H.value.id,!1));const ye=q.value.find(ue=>ue.targetField===Z);ye&&(de.push(rr(ye,a)),f(ye.id,!1)),u({source:W,sourceField:ne,target:e,targetField:ie},!1);const Q=Xl(W,ne,e,ie,a),oe=de[0]&&Q?de[0][1]===Q[1]:!1;if(m(),oe||de.length===0)return;await g(_("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[Q],de)||h()},te=async D=>{if(y)return;if(D==null){H.value&&f(H.value.id);return}const j=[];for(const de of q.value)j.push(rr(de,a)),f(de.id,!1);H.value&&f(H.value.id,!1);const{nodeId:Z,fieldId:W}=cu(D);u({source:Z,sourceField:W,target:e,targetField:void 0},!1);const ne=Xl(Z,W,e,void 0,a);if(m(),j.length===0)return;await g(_("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[ne],j)||h()},P=D=>{const L=[...r.value.edges,{source:D,target:e}];return Wa(jr(L))},G=t.computed(()=>{var L,j;const D=[];for(const Z of r.value.nodes)if(!(!o&&Z.type==="vault"||!((L=Ro(Z.type).io)!=null&&L.output))&&Z.fields.output&&Z.id!==e&&!(Z.type==="property"&&!Rl((j=Z.config)==null?void 0:j.property))&&!P(Z.id)&&!(w.value.phase==="request"&&Z.phase==="response")&&!(Z.type==="vault"&&Z.fields.output.length===0)){D.push({value:Z.id,label:Z.name});for(const ne of Z.fields.output)D.push({value:`${Z.id}.${ne.id}`,label:`${Z.name}.${ne.name}`})}return D}),R=t.computed(()=>w.value.fields.input.map(D=>D.name)||[]);function K(D){p.value.delete(e),D||p.value.add(e)}const V=qV(e);function M(D,L,j){const Z=a(e);if(!Z)throw new Error("Node not found when validating field name");const W=Zt(Z,D,L);return V(D,j,W==null?void 0:W.id)}return{formData:b,inputOptions:G,inputEdge:H,inputsEdges:q,inputsFieldNames:R,currentNode:w,setName:v,setConfig:S,addField:I,renameFieldByName:O,removeFieldByName:F,setInputs:E,setInput:te,nameValidator:Cm(e),fieldNameValidator:M,toggleNodeValid:K}}function Tn(e){const{getSchema:n}=Fe();return t.computed(()=>{if(wt(e))switch(e){case"response":return MV;case"service_request":return DV}try{const l=n().fields[0].config.fields[0].nodes.elements.subschema_definitions[e];if(!l)throw new Error(`Subschema "${e}" not found in the schema.`);return l}catch(o){throw new Error(`Failed to get subschema "${e}": ${o.message}`)}})}const ir=t.defineComponent({__name:"NameField",props:{name:{},validate:{type:Function}},emits:["update"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=Te(),a=t.ref(o.name),l=t.computed(()=>{const f=o.validate(a.value.trim());return f===void 0?"":f});let s=a.value.trim();function c(){if(l.value){a.value=s;return}r("update",a.value.trim())}function d(){s=a.value.trim()}return t.watch(()=>o.name,f=>{f!==a.value&&(a.value=f)}),(f,u)=>{const p=t.resolveComponent("KInput");return t.openBlock(),t.createBlock(p,{"model-value":a.value,"onUpdate:modelValue":u[0]||(u[0]=m=>a.value=m),"data-1p-ignore":"",error:!!l.value,"error-message":l.value,label:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.name"),required:"",onChange:c,onFocus:d},null,8,["model-value","error","error-message","label"])}}}),zV=t.defineComponent({__name:"NodeFormCall",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=Te(),o=t.useTemplateRef("form"),r=Tn("call"),{formData:i,setName:a,setConfig:l,inputOptions:s,setInputs:c,setInput:d,inputsFieldNames:f,nameValidator:u,toggleNodeValid:p,fieldNameValidator:m}=Pn(e.nodeId,()=>o.value.getInnerData()),{createFieldHandler:h}=Mi({validationConfig:{url:ao(lo({fieldName:"URL"}),_m("url",{fieldName:"URL"})),timeout:ao(wm("integer",{fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.timeout.label")}),km(0,2147483646,{fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.timeout.label")}))},getValidationData:()=>({url:i.value.url,timeout:i.value.timeout}),toggleNodeValid:p}),_=h("url",()=>l("url")),g=h("timeout",()=>l("timeout"));return(y,w)=>{const b=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(dt,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(ir,{name:t.unref(i).name,validate:t.unref(u),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(b,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(Ln,{error:t.unref(_).error.value,"error-message":t.unref(_).errorMessage.value,name:"url",onBlur:t.unref(_).onBlur,"onUpdate:modelValue":t.unref(_).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(PV,{name:"method",onUpdate:w[0]||(w[0]=v=>t.unref(l)())}),t.createVNode(Un,{error:t.unref(g).error.value,"error-message":t.unref(g).errorMessage.value,label:t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.timeout.label"),name:"timeout",onBlur:t.unref(g).onBlur,"onUpdate:modelValue":t.unref(g).onUpdate},null,8,["error","error-message","label","onBlur","onUpdate:modelValue"]),t.createVNode(Ln,{name:"ssl_server_name","onUpdate:modelValue":w[1]||(w[1]=v=>t.unref(l)("ssl_server_name"))}),t.createVNode(io,{"field-name-validator":t.unref(m),"field-names":t.unref(f),items:t.unref(s),"onChange:input":t.unref(d),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),HV=t.defineComponent({__name:"NodeFormServiceRequest",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=Tn("service_request"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=Pn(e.nodeId,()=>n.value.getInnerData());return(d,f)=>(t.openBlock(),t.createBlock(dt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(io,{"field-name-validator":t.unref(c),"field-names":t.unref(s),items:t.unref(i),"onChange:input":t.unref(l),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),YV=t.defineComponent({__name:"NodeFormResponse",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=Tn("response"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=Pn(e.nodeId,()=>n.value.getInnerData());return(d,f)=>(t.openBlock(),t.createBlock(dt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(io,{"field-name-validator":t.unref(c),"field-names":t.unref(s),items:t.unref(i),"onChange:input":t.unref(l),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),Em={jqlang:"https://jqlang.org/manual/"},WV=t.defineComponent({__name:"NodeFormJq",props:{nodeId:{}},setup(e){const{i18n:{t:n},i18nT:o}=Te(),r=t.useTemplateRef("form"),i=Tn("jq"),{formData:a,setName:l,setConfig:s,inputOptions:c,setInputs:d,setInput:f,addField:u,removeFieldByName:p,renameFieldByName:m,inputsFieldNames:h,nameValidator:_,toggleNodeValid:g,fieldNameValidator:y}=Pn(e.nodeId,()=>r.value.getInnerData());function w(O,F){u("input",O,F)}function b(O){p("input",O)}function v(O,F){m("input",O,F)}const S=n("plugins.free-form.datakit.flow_editor.node_properties.jq.label"),{createFieldHandler:N}=Mi({validationConfig:{jq:ao(lo({fieldName:S}),LV(1,10240,{fieldName:S}))},getValidationData:()=>({jq:a.value.jq}),toggleNodeValid:g}),I=N("jq",()=>s("jq"));return(O,F)=>{const H=t.resolveComponent("KLabel"),q=t.resolveComponent("KExternalLink");return t.openBlock(),t.createBlock(dt,{ref:"form",data:t.unref(a),schema:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(ir,{name:t.unref(a).name,validate:t.unref(_),onUpdate:t.unref(l)},null,8,["name","validate","onUpdate"]),t.createVNode(H,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(Ln,{autosize:"",error:t.unref(I).error.value,"error-message":t.unref(I).errorMessage.value,label:t.unref(S),"label-attributes":{},multiline:"",name:"jq",resizable:"",onBlur:t.unref(I).onBlur,"onUpdate:modelValue":t.unref(I).onUpdate},{help:t.withCtx(()=>[t.createVNode(t.unref(o),{keypath:"plugins.free-form.datakit.flow_editor.node_properties.jq.help"},{link:t.withCtx(()=>[t.createVNode(q,{"hide-icon":"",href:t.unref(Em).jqlang},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(Em).jqlang),1)]),_:1},8,["href"])]),_:1})]),_:1},8,["error","error-message","label","onBlur","onUpdate:modelValue"]),t.createVNode(io,{"field-name-validator":t.unref(y),"field-names":t.unref(h),items:t.unref(c),"onAdd:field":w,"onChange:input":t.unref(f),"onChange:inputs":t.unref(d),"onRemove:field":b,"onRename:field":v},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),XV=we(t.defineComponent({__name:"OutputValueField",props:{fieldNameValidator:{},name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["change:value","add:field","rename:field","remove:field","change"],setup(e,{emit:n}){const o=e,r=n,i=t.ref({}),{entries:a,addEntry:l,removeEntry:s,field:c}=Tr(o,r,!1),{i18n:d}=Te(),f=t.useTemplateRef("root"),u=t.ref(null);let p;async function m(S,N="key"){var I;f.value&&(await t.nextTick(),(I=f.value.querySelector(`[data-${N}-input="${S}"]`))==null||I.focus())}function h(){const S=l(),N=a.value.findIndex(({key:I})=>!I);m(N===-1?a.value.length-1:N),u.value=S}function _(S){var N;S.id===((N=u.value)==null?void 0:N.id)&&(u.value=null),s(S.id),S.key.trim()!==""&&r("remove:field",S.key)}function g(S){p=S.key}function y(S){var N;if(b(S)){S.key=p,delete i.value[S.id];return}if(S.id===((N=u.value)==null?void 0:N.id)){if(S.key.trim()==="")return;u.value=null,r("add:field",S.key,S.value)}else r("rename:field",p,S.key);p=S.key}function w(S,N){var O;if(N.id===((O=u.value)==null?void 0:O.id))return;const I=S.target.value.trim();r("change:value",N.key,I)}function b(S){delete i.value[S.id];const N=o.fieldNameValidator("output",p,S.key);if(N)return i.value[S.id]=N,N}function v(S){b(S)}return t.watchEffect(()=>{u.value&&!a.value.some(S=>S.id===u.value.id)&&a.value.push(u.value)}),(S,N)=>{const I=t.resolveComponent("KAlert"),O=t.resolveComponent("KLabel"),F=t.resolveComponent("KButton"),H=t.resolveComponent("KInput"),q=t.resolveComponent("KCard");return t.unref(c).error?(t.openBlock(),t.createBlock(I,{key:0,appearance:"danger",message:t.unref(c).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:f,class:"dk-output-value-field"},[t.createVNode(O,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.label")),1)]),_:1}),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(a),(E,te)=>(t.openBlock(),t.createBlock(q,{key:E.id,class:"dk-output-value-field-entry","data-testid":`ff-kv-container-${t.unref(c).path.value}.${te}`},{actions:t.withCtx(()=>[t.createVNode(F,{appearance:"none","data-testid":`ff-kv-remove-btn-${t.unref(c).path.value}.${te}`,icon:"",onClick:P=>_(E)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.CloseIcon))]),_:2},1032,["data-testid","onClick"])]),default:t.withCtx(()=>[t.createVNode(H,{id:`ff-kv-entry-key-${t.unref(c).path.value}.${te}`,modelValue:E.key,"onUpdate:modelValue":[P=>E.key=P,P=>b(E)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":te,"data-testid":`ff-key-${t.unref(c).path.value}.${te}`,error:!!i.value[E.id],"error-message":i.value[E.id],label:t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name"),required:"",onBlur:P=>v(E),onChange:P=>y(E),onFocus:P=>g(E)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","label","onBlur","onChange","onFocus"]),t.createVNode(H,{modelValue:E.value,"onUpdate:modelValue":P=>E.value=P,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(c).path.value}.${te}`,label:t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value"),onChange:P=>w(P,E)},null,8,["modelValue","onUpdate:modelValue","data-testid","label","onChange"])]),_:2},1032,["data-testid"]))),128)),t.createVNode(F,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(c).path.value}`,disabled:!!u.value,onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-5e17f8cb"]]);function ZV(e){const n={};for(const[o,r]of Object.entries(e))typeof r=="object"&&r!==null?n[o]=JSON.stringify(r):n[o]=String(r);return n}function Fi(e){const n={};for(const[o,r]of Object.entries(e))if(r!=null){n[o]=r;try{r==="null"?n[o]=null:(r==="true"||r==="false"||/^-?\d+(\.\d+)?$/.test(r)||r.startsWith("{")&&r.endsWith("}")||r.startsWith("[")&&r.endsWith("]"))&&(n[o]=JSON.parse(r))}catch{}}return n}function JV(e,n,o){const r={};for(const i of Object.keys(e))i===n?r[o]=e[n]:r[i]=e[i];return r}const QV=t.defineComponent({__name:"NodeFormStatic",props:{nodeId:{}},setup(e){const{renameNode:n,getOutEdgesByNodeId:o,addField:r,renameField:i,removeField:a,replaceConfig:l,getNodeById:s}=nt(),{fieldNameValidator:c}=Pn(e.nodeId),d=Tn("static"),f=Cm(e.nodeId),u=t.computed(()=>s(e.nodeId)),p=t.computed(()=>{var b;return((b=u.value)==null?void 0:b.fields.output.map(v=>v.name))||[]});function m(b){if(!u.value)throw new Error("No current node");n(u.value.id,b??"")}const h=t.computed(()=>{var F;if(!u.value)return{};const b=((F=u.value.config)==null?void 0:F.values)??{},v={},S=o(u.value.id).map(H=>H.sourceField).filter(Boolean).map(H=>Jt(u.value,"output",H)).map(H=>H==null?void 0:H.name).filter(Boolean),N=u.value.fields.output.map(H=>H.name),I=Object.keys(b);return new Set([...I,...S,...N]).forEach(H=>{if(H in b){v[H]=b[H];return}v[H]=""}),{name:u.value.name,values:ZV(v)}});function _(b,v){if(!u.value)throw new Error("No selected node");const S=v!==void 0;if(r(e.nodeId,"output",b,!S),S){const N={values:Fi({...h.value.values,[b]:v})};l(e.nodeId,N)}}function g(b,v){if(!u.value)throw new Error("No selected node");const S=Zt(u.value,"output",b);if(!S)throw new Error("No field found to rename");const N={values:Fi(JV(h.value.values??{},b,v))};l(e.nodeId,N,!1),i(e.nodeId,S.id,v)}function y(b){var N;if(!u.value)throw new Error("No selected node");const v=Zt(u.value,"output",b);if(!v)throw new Error("No field found to delete");a((N=u.value)==null?void 0:N.id,v.id,!0,!1);const S={values:Fi({...h.value.values})};delete S.values[b],l(e.nodeId,S)}function w(b,v){if(!u.value)throw new Error("No selected node");const S={...h.value.values};S[b]=v;const N={values:Fi(S)};l(e.nodeId,N)}return(b,v)=>(t.openBlock(),t.createBlock(dt,{ref:"form",data:h.value,schema:t.unref(d)},{default:t.withCtx(()=>{var S;return[t.createVNode(ir,{name:((S=u.value)==null?void 0:S.name)??"",validate:t.unref(f),onUpdate:m},null,8,["name","validate"]),t.createVNode(XV,{"field-name-validator":t.unref(c),"key-order":p.value,name:"values","onAdd:field":_,"onChange:value":w,"onRemove:field":y,"onRename:field":g},null,8,["field-name-validator","key-order"])]}),_:1},8,["data","schema"]))}}),eR={class:"dk-kong-property-item"},tR={class:"property-type"},nR={class:"property-badges"},oR=we(t.defineComponent({__name:"PropertiesField",props:{validators:{}},emits:["update:model-value","update:property-key"],setup(e,{emit:n}){const{i18n:{t:o}}=Te(),r=e,i=n,{formData:a}=Fe(),l=t.ref(tr(a.property)),s=t.computed(()=>nr(a.property)),c=t.ref(Vl(a.property)),d=t.computed(()=>a.property??""),f=t.computed(()=>Object.entries(xn).map(([m])=>{var g;const h=nr(m)?(g=a.property)==null?void 0:g.startsWith(m.replace(oo,"")):a.property===m;return{label:h&&c.value?m.replace(oo,c.value):m,value:m,selected:h}}));function u(m){const h=xi.find(_=>{var g;return(g=a.property)==null?void 0:g.startsWith(_)});h&&(a.property=h+m,r.validators.key.handleChange(a.property),i("update:property-key",a.property))}function p(m){l.value!==tr(m==null?void 0:m.value)&&(a.property=(m==null?void 0:m.value)||null,l.value=tr(a.property),r.validators.property.handleBlur(()=>a.property),i("update:model-value",a.property))}return t.watch(()=>a.property,m=>{c.value=Vl(m),l.value=tr(m)}),(m,h)=>{const _=t.resolveComponent("KBadge"),g=t.resolveComponent("KSelect"),y=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(g,{key:d.value,"enable-filtering":"",error:!m.validators.property.isValid.value,help:m.validators.property.error.value,items:f.value,label:"Property","label-attributes":{maxWidth:"300px",placement:"top",info:"The property name to get/set"},required:"",onBlur:h[0]||(h[0]=w=>m.validators.property.handleBlur(()=>t.unref(a).property)),onChange:p},{"item-template":t.withCtx(({item:w})=>[t.createElementVNode("div",eR,[t.createElementVNode("div",null,[t.createElementVNode("div",null,t.toDisplayString(w.label),1),t.createElementVNode("div",tR,t.toDisplayString(t.unref(xn)[w.value].dataType),1)]),t.createElementVNode("div",nR,[t.unref(xn)[w.value].readable?(t.openBlock(),t.createBlock(_,{key:0,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.get")),1)]),_:1})):t.createCommentVNode("",!0),t.unref(xn)[w.value].writable?(t.openBlock(),t.createBlock(_,{key:1,appearance:"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.set")),1)]),_:1})):t.createCommentVNode("",!0)])])]),_:1},8,["error","help","items"])),s.value?(t.openBlock(),t.createBlock(y,{key:0,"model-value":c.value,"onUpdate:modelValue":[h[1]||(h[1]=w=>c.value=w),u],error:!m.validators.key.isValid.value,"error-message":m.validators.key.error.value,label:"key",required:"",onBlur:h[2]||(h[2]=w=>m.validators.key.handleBlur(()=>t.unref(a).property))},null,8,["model-value","error","error-message"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-0ab1be87"]]),rR=t.defineComponent({__name:"NodeFormProperty",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),{selectedNode:o,disconnectInEdges:r,disconnectOutEdges:i}=nt(),a=Tn("property"),{formData:l,setName:s,setConfig:c,inputOptions:d,setInputs:f,setInput:u,inputsFieldNames:p,nameValidator:m,toggleNodeValid:h,fieldNameValidator:_}=Pn(e.nodeId,()=>n.value.getInnerData()),g=t.computed(()=>Dl(l.value.property));function y(b){var S;const v=(S=o.value)==null?void 0:S.id;if(!v)throw new Error("Expected selectedNode to be defined");Rl(b)||i(v,!1),Dl(b)||r(v,!1),c()}const{fields:w}=Mi({validationConfig:()=>({property:lo({fieldName:"Property"}),key:nr(l.value.property)?lo({fieldName:"Key"}):()=>{}}),getValidationData:()=>({property:l.value.property,key:Vl(l.value.property)}),toggleNodeValid:h});return(b,v)=>(t.openBlock(),t.createBlock(dt,{ref:"form",data:t.unref(l),schema:t.unref(a)},{default:t.withCtx(()=>[t.createVNode(ir,{name:t.unref(l).name,validate:t.unref(m),onUpdate:t.unref(s)},null,8,["name","validate","onUpdate"]),t.createVNode(xt,{name:"content_type",onUpdate:v[0]||(v[0]=S=>t.unref(c)())}),t.createVNode(oR,{validators:t.unref(w),"onUpdate:modelValue":y,"onUpdate:propertyKey":v[1]||(v[1]=S=>t.unref(c)("property-key"))},null,8,["validators"]),g.value?(t.openBlock(),t.createBlock(io,{key:0,"field-name-validator":t.unref(_),"field-names":t.unref(p),items:t.unref(d),"onChange:input":t.unref(u),"onChange:inputs":t.unref(f)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])):t.createCommentVNode("",!0)]),_:1},8,["data","schema"]))}}),iR=t.defineComponent({__name:"NodeFormExit",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=Tn("exit"),{formData:r,setName:i,setConfig:a,inputOptions:l,setInputs:s,setInput:c,inputsFieldNames:d,nameValidator:f,toggleNodeValid:u,fieldNameValidator:p}=Pn(e.nodeId,()=>n.value.getInnerData()),{createFieldHandler:m}=Mi({validationConfig:{status:ao(wm("integer",{fieldName:"Status"}),km(200,599,{fieldName:"Status"}))},getValidationData:()=>({status:r.value.status}),toggleNodeValid:u}),h=m("status",()=>a("status"));return(_,g)=>(t.openBlock(),t.createBlock(dt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(ir,{name:t.unref(r).name,validate:t.unref(f),onUpdate:t.unref(i)},null,8,["name","validate","onUpdate"]),t.createVNode(Un,{error:t.unref(h).error.value,"error-message":t.unref(h).errorMessage.value,name:"status",onBlur:t.unref(h).onBlur,"onUpdate:modelValue":t.unref(h).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(Na,{name:"warn_headers_sent","onUpdate:modelValue":g[0]||(g[0]=y=>t.unref(a)())}),t.createVNode(io,{"field-name-validator":t.unref(p),"field-names":t.unref(d),items:t.unref(l),"onChange:input":t.unref(c),"onChange:inputs":t.unref(s)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),aR=["innerHTML"],lR=t.defineComponent({__name:"NodePropertiesPanel",props:{maxWidth:{default:`${ou}px`},offsetTop:{default:`${gN}px`},visible:{type:Boolean},nodeId:{}},emits:["close"],setup(e){const{getNodeById:n}=nt(),o=t.computed(()=>e.nodeId&&n(e.nodeId)),r=t.computed(()=>{var i;switch((i=o.value)==null?void 0:i.type){case"call":return zV;case"service_request":return HV;case"response":return YV;case"jq":return WV;case"static":return QV;case"property":return rR;case"exit":return iR;default:return null}});return(i,a)=>(t.openBlock(),t.createBlock(t.unref(xe.KSlideout),{class:"dk-node-properties-panel","close-on-blur":!1,"has-overlay":!1,"max-width":i.maxWidth,"offset-top":i.offsetTop,visible:i.visible,"z-index":t.unref(mN),onClose:a[0]||(a[0]=l=>i.$emit("close"))},t.createSlots({default:t.withCtx(()=>[o.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"dk-node-properties-panel-desc",innerHTML:t.unref(gt)(o.value.type)},null,8,aR)):t.createCommentVNode("",!0),r.value?(t.openBlock(),t.createBlock(t.unref(r),{key:i.nodeId,class:"dk-node-properties-panel-form","node-id":i.nodeId},null,8,["node-id"])):t.createCommentVNode("",!0)]),_:2},[o.value?{name:"title",fn:t.withCtx(()=>[t.createVNode(mm,{type:o.value.type},null,8,["type"])]),key:"0"}:void 0]),1032,["max-width","offset-top","visible","z-index"]))}}),sR=we(lR,[["__scopeId","data-v-b8520278"]]),cR={class:"dk-editor-content"},dR={class:"main"},uR=we(t.defineComponent({__name:"EditorContent",setup(e){const{propertiesPanelOpen:n,selectedNode:o}=nt();function r(){n.value=!1}t.watch(o,a=>{a||r()});const i=t.ref(!1);return t.onMounted(()=>{i.value=!0}),(a,l)=>{var s;return t.openBlock(),t.createElementBlock("div",cR,[t.createVNode(t.unref(IV)),t.createElementVNode("div",dR,[t.createVNode(oV)]),t.createVNode(sR,{"node-id":(s=t.unref(o))==null?void 0:s.id,visible:t.unref(n),onClose:r},null,8,["node-id","visible"])])}}}),[["__scopeId","data-v-8f04afa6"]]),fR={key:0,class:"dk-editor-modal"},pR=we(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:["update:open"],setup(e){t.useCssVars(s=>({"5fe3dd96":`${t.unref(pN)}px`,"480b2f5d":`${t.unref(nu)}px`}));const n=t.useModel(e,"open"),o=t.ref(!1),r=t.useTemplateRef("confirm-modal"),{clear:i}=nt();bB(async(...s)=>{o.value=!0;const c=await r.value.open(...s);return o.value=!1,c});const a=Ke.useScrollLock(document);t.watch(n,s=>{a.value=!!s,s||i()},{immediate:!0});function l(){n.value=!1}return(s,c)=>n.value?(t.openBlock(),t.createElementBlock("div",fR,[t.createVNode(ZB,{class:"nav",onBack:l}),t.createVNode(uR,{ref:"content",class:"content",tabindex:"0"},null,512),t.createVNode(HB,{ref:"confirm-modal"},null,512)])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-917708bb"]]),mR={class:"dk-flow-editor"},gR={class:"flow-panels-container"},hR={class:"overlay"},yR=we(t.defineComponent({__name:"FlowEditor",props:{isEditing:{type:Boolean}},emits:["change","error"],setup(e,{emit:n}){const{t:o}=je.createI18n("en-us",We),{formData:r}=Fe(),i=n;function a(c,d,f){const u={...r.config,nodes:c};f!==void 0&&(u.resources=f);const p={...r.__ui_data,nodes:d};r.config=u,r.__ui_data=p,i("change",u,p)}const{modalOpen:l,setPendingFitView:s}=yu(r,{onChange:a,isEditing:e.isEditing});return t.watch(l,()=>{s(!0)},{flush:"post"}),(c,d)=>{const f=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",mR,[t.createElementVNode("div",gR,[t.createVNode(Jl,{inactive:t.unref(l),mode:"preview"},null,8,["inactive"]),t.createElementVNode("div",hR,[t.createVNode(f,{appearance:"secondary",class:"button-open-editor",onClick:d[0]||(d[0]=u=>l.value=!0)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.cta"))+" ",1),t.createVNode(t.unref(Ce.ExpandIcon))]),_:1})])]),t.createVNode(pR,{open:t.unref(l),"onUpdate:open":d[1]||(d[1]=u=>t.isRef(l)?l.value=u:null)},null,8,["open"])])}}}),[["__scopeId","data-v-ef02243f"]]);function _R(e,n){const o=[],r=(i,a)=>{typeof a=="string"&&o.push({nodeName:e.name,path:["nodes",n,...i],value:a})};if("input"in e&&e.input!=null&&r(["input"],e.input),"inputs"in e&&e.inputs&&typeof e.inputs=="object")for(const[i,a]of Object.entries(e.inputs))a!=null&&r(["inputs",i],a);if("output"in e&&e.output!=null&&r(["output"],e.output),"outputs"in e&&e.outputs&&typeof e.outputs=="object")for(const[i,a]of Object.entries(e.outputs))a!=null&&r(["outputs",i],a);return o}function bR(e){const n=e.path[2];return n==="output"||n==="outputs"}function wR(e){if(!e)return!1;for(const n of Object.values(e))if(n!=null)return!0;return!1}function Nm(e,n,o){if(!e.nodes)return;const r=e.nodes.map(c=>c.name),i=new Set;r.forEach((c,d)=>{i.has(c)&&o.addIssue({code:"custom",message:`Duplicate node name: "${c}"`,path:["nodes",d,"name"]}),i.add(c)}),e.nodes.forEach((c,d)=>{const f="input"in c&&c.input!=null,u="inputs"in c&&wR(c.inputs);f&&u&&o.addIssue({code:"custom",message:'A node cannot use both "input" and "inputs". Use one or the other.',path:["nodes",d,"inputs"]})});const a=new Set([...n,...r]),l=new Map,s=new Map;e.nodes.forEach((c,d)=>{for(const f of _R(c,d)){const u=f.value.split(".",1)[0];if(a.has(u)||o.addIssue({code:"custom",message:`Unknown node "${u}" in connection "${f.value}"`,path:f.path}),bR(f)){const p=`${f.nodeName}->${u}`;s.has(p)?o.addIssue({code:"custom",message:`Connection specified on both sides: "${f.nodeName}" outputs to "${u}" and "${u}" inputs from "${f.nodeName}". Specify it on one side only.`,path:f.path}):l.set(p,l.get(p)??f.path)}else{const p=`${u}->${f.nodeName}`;l.has(p)?o.addIssue({code:"custom",message:`Connection specified on both sides: "${u}" outputs to "${f.nodeName}" and "${f.nodeName}" inputs from "${u}". Specify it on one side only.`,path:f.path}):s.set(p,s.get(p)??f.path)}}})}const kR=J.z.enum(ru),CR=J.z.enum(Hn),Sm=e=>Hn.includes(e),Ql=J.z.enum(iu),vm=Ql.options;J.z.union([Ql,kR]);const ER=/^[A-Za-z_][A-Za-z0-9_-]{0,254}$/,xm=J.z.string().min(1).max(255).regex(ER,"Invalid node name (snake_case / kebab-case only)").refine(e=>!Sm(e),"Name clashes with reserved implicit node").brand(),Am=J.z.union([CR,xm]),NR=J.z.string().min(1).brand(),Bt=J.z.string().refine(e=>{if(Am.safeParse(e).success)return!0;const n=e.match(/^([^.]+)\.([^.]+)$/);if(!n)return!1;const[,o,r]=n;return Am.safeParse(o).success&&NR.safeParse(r).success},'Invalid connection, expected "NODE" or "NODE.FIELD"').nullish(),Im=J.z.enum(au),ar=J.z.object({type:J.z.string(),name:xm,input:Bt,inputs:J.z.record(J.z.string(),Bt).nullish(),output:Bt,outputs:J.z.record(J.z.string(),Bt).nullish()}).loose(),SR=J.z.object({type:J.z.string(),name:J.z.string()}).loose().superRefine((e,n)=>{const o=e.type,r=e.name;(typeof r!="string"||r.length===0||r.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"invalid node name",fatal:!1}),vm.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${vm.join(", ")}`})}),vR=ar.extend({type:J.z.literal("call"),method:Im.nullish(),ssl_server_name:J.z.string().min(1).nullish(),timeout:J.z.number().int().min(0).max(2147483646).nullish(),url:J.z.url(),inputs:J.z.object({body:Bt,headers:Bt,query:Bt}).partial().nullish(),outputs:J.z.object({body:Bt,headers:Bt,status:Bt}).partial().nullish()}).strict(),xR=ar.extend({type:J.z.literal("exit"),status:J.z.number().int().min(200).max(599).nullish(),warn_headers_sent:J.z.boolean().nullish(),output:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),AR=ar.extend({type:J.z.literal("jq"),jq:J.z.string().min(1).max(10240),outputs:J.z.never().optional()}).strict(),IR=ar.extend({type:J.z.literal("property"),content_type:J.z.enum(["application/json","text/plain","application/octet-stream"]).nullish(),property:J.z.string().min(1),inputs:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),PR=ar.extend({type:J.z.literal("static"),values:J.z.record(J.z.string(),J.z.unknown()),input:J.z.never().optional(),inputs:J.z.never().optional()}).strict(),TR=SR.pipe(J.z.discriminatedUnion("type",[vR,xR,AR,IR,PR])),OR=J.z.record(J.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),J.z.string().min(1).max(4095)),$R=J.z.object({dictionary_name:J.z.string().default("kong_db_cache")}),BR=J.z.object({host:J.z.string().default("127.0.0.1"),port:J.z.number().int().min(0).max(65535).default(6379)}),VR=J.z.object({ip:J.z.string().default("127.0.0.1"),port:J.z.number().int().min(0).max(65535).default(6379)}),RR=J.z.object({host:J.z.string().optional().default("127.0.0.1"),port:J.z.number().int().min(0).max(65535).optional().default(6379),connect_timeout:J.z.number().int().min(0).max(2147483646).default(2e3),send_timeout:J.z.number().int().min(0).max(2147483646).default(2e3),read_timeout:J.z.number().int().min(0).max(2147483646).default(2e3),username:J.z.string().optional(),password:J.z.string().optional(),sentinel_username:J.z.string().optional(),sentinel_password:J.z.string().optional(),database:J.z.number().int().optional().default(0),keepalive_pool_size:J.z.number().int().min(1).max(2147483646).default(256),keepalive_backlog:J.z.number().int().min(0).max(2147483646).optional(),sentinel_master:J.z.string().optional(),sentinel_role:J.z.enum(["master","slave","any"]).optional(),sentinel_nodes:J.z.array(BR).min(1,{message:"sentinel_nodes must contain at least 1 item"}).optional(),cluster_nodes:J.z.array(VR).min(1,{message:"cluster_nodes must contain at least 1 item"}).optional(),ssl:J.z.boolean().default(!1).optional(),ssl_verify:J.z.boolean().default(!1).optional(),server_name:J.z.string().optional(),cluster_max_redirections:J.z.number().int().default(5).optional(),connection_is_proxied:J.z.boolean().default(!1).optional(),timeout:J.z.number().int().optional(),sentinel_addresses:J.z.array(J.z.string()).min(1).optional(),cluster_addresses:J.z.array(J.z.string()).min(1).optional()}).superRefine((e,n)=>{var c;const o=e.host!==void 0&&e.host!==null,r=e.port!==void 0&&e.port!==null;(o&&!r||!o&&r)&&n.addIssue({code:"custom",message:"host and port must be specified together",path:o?["port"]:["host"]});const i=!!e.sentinel_master,a=!!e.sentinel_role,l=!!((c=e.sentinel_nodes)!=null&&c.length),s=[i,a,l].filter(Boolean).length;s>0&&s<3&&n.addIssue({code:"custom",message:"sentinel_master, sentinel_role and sentinel_nodes must be provided together"}),e.connection_is_proxied===!0&&!o&&n.addIssue({code:"custom",message:"host is required when connection_is_proxied is true (host/port should point to the proxy)",path:["host"]})}),DR=J.z.object({strategy:J.z.enum(["memory","redis"]).optional(),memory:$R,redis:RR}),MR=J.z.object({vault:OR.nullish(),cache:DR.nullish()});J.z.array(J.z.object({id:J.z.string()})),J.z.object({nodes:J.z.array(TR).min(1,"At least one node is required"),debug:J.z.boolean().nullish(),resources:MR.nullish()}).strict().superRefine((e,n)=>{Nm(e,Hn,n)});const Pm=Ql.options,FR=J.z.string().min(1).refine(e=>!e.includes("."),"Invalid node name").refine(e=>!Sm(e),"Node name conflicts with reserved implicit node"),Vt=J.z.string().refine(e=>{if(!e||/\s/.test(e))return!1;const n=e.indexOf(".");if(n===-1)return!0;const o=e.slice(0,n),r=e.slice(n+1);return o.length>0&&r.length>0},"Invalid connection"),lr=J.z.object({type:J.z.string(),name:FR,input:Vt.nullish(),inputs:J.z.record(J.z.string(),Vt.nullish()).nullish(),output:Vt.nullish(),outputs:J.z.record(J.z.string(),Vt.nullish()).nullish()}).loose(),LR=J.z.object({type:J.z.string(),name:J.z.string()}).loose().superRefine((e,n)=>{const o=e.type,r=e.name;(typeof r!="string"||r.length===0||r.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"Invalid node name",fatal:!1}),Pm.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${Pm.join(", ")}`})}),UR=lr.extend({type:J.z.literal("call"),method:Im.nullish(),ssl_server_name:J.z.string().nullish(),timeout:J.z.union([J.z.number(),J.z.string()]).nullish(),url:J.z.string().nullish(),inputs:J.z.object({body:Vt.nullish(),headers:Vt.nullish(),query:Vt.nullish()}).partial().nullish(),outputs:J.z.object({body:Vt.nullish(),headers:Vt.nullish(),status:Vt.nullish()}).partial().nullish()}).strict(),KR=lr.extend({type:J.z.literal("exit"),status:J.z.union([J.z.number(),J.z.string()]).nullish(),warn_headers_sent:J.z.boolean().nullish(),output:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),jR=lr.extend({type:J.z.literal("jq"),jq:J.z.string().nullish(),outputs:J.z.never().optional()}).strict(),qR=lr.extend({type:J.z.literal("property"),content_type:J.z.string().nullish(),property:J.z.string().nullish(),inputs:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),GR=lr.extend({type:J.z.literal("static"),values:J.z.record(J.z.string(),J.z.unknown()).nullish(),input:J.z.never().optional(),inputs:J.z.never().optional()}).strict(),zR=LR.pipe(J.z.discriminatedUnion("type",[UR,KR,jR,qR,GR])),HR=J.z.record(J.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),J.z.string().min(1).max(4095)),YR=J.z.object({dictionary_name:J.z.string().default("kong_db_cache")}),WR=J.z.object(),XR=J.z.object({strategy:J.z.enum(["memory","redis"]).optional(),memory:YR.optional(),redis:WR.optional()}),ZR=J.z.object({vault:HR.nullish(),cache:XR.nullish()}),JR=J.z.object({nodes:J.z.array(zR).nullish(),debug:J.z.boolean().nullish(),resources:ZR.nullish()}).strict().superRefine((e,n)=>{!e||!Array.isArray(e.nodes)||Nm(e,Hn,n)}).nullish(),QR={class:"option-label"},eD=["innerHTML"],tD=we(t.defineComponent({__name:"DatakitForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const{t:n}=je.createI18n("en-us",We),o=e,r=t.inject(Eo.DATAKIT_ENABLE_FLOW_EDITOR,!1),i=t.inject(Eo.DATAKIT_M2,!1),{editorMode:a}=Xa(),l=t.computed(()=>r&&c.value?a.value:"code"),s={flow:Ce.DesignIcon,code:Ce.CodeblockIcon},c=t.ref(!0),d=t.computed(()=>{const _=[{label:n("plugins.free-form.datakit.flow_editor.mode"),value:"flow"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}];return _[0].disabled=!c.value,_}),f=t.computed(()=>{switch(l.value){case"code":return n("plugins.free-form.datakit.description_code");case"flow":return n("plugins.free-form.datakit.description_flow");default:return""}});t.watch(l,()=>{var _;(_=o.onValidityChange)==null||_.call(o,{model:"config",valid:!0})});function u(){var _;(_=o.onValidityChange)==null||_.call(o,{model:"config",valid:!0})}function p(){u()}function m(_){var w;u();const{success:g}=JR.safeParse(_);let y=g;if(!i&&y){const b=_;(w=b==null?void 0:b.resources)!=null&&w.vault&&(y=!1)}c.value=y}function h(_){var g;c.value=!1,(g=o.onValidityChange)==null||g.call(o,{model:"config",valid:!1,error:_})}return(_,g)=>{const y=t.resolveComponent("KTooltip");return t.openBlock(),t.createBlock(Qc,t.mergeProps(o,{class:"dk-form"}),t.createSlots({default:t.withCtx(w=>[t.createVNode(dt,t.mergeProps(w,{tag:"div"}),{default:t.withCtx(()=>[l.value==="flow"?(t.openBlock(),t.createBlock(yR,{key:0,"is-editing":o.isEditing,onChange:p},null,8,["is-editing"])):l.value==="code"?(t.openBlock(),t.createBlock(fN,{key:1,class:"code-editor",editing:o.isEditing,onChange:m,onError:h},null,8,["editing"])):t.createCommentVNode("",!0)]),_:2},1040)]),"plugin-config-description":t.withCtx(()=>[t.createElementVNode("span",{innerHTML:f.value},null,8,eD)]),_:2},[t.unref(r)?{name:"plugin-config-extra",fn:t.withCtx(()=>[t.createVNode(t.unref(xe.KSegmentedControl),{"model-value":l.value,options:d.value,"onUpdate:modelValue":g[0]||(g[0]=w=>a.value=w)},{"option-label":t.withCtx(({option:w})=>[t.createVNode(y,{disabled:c.value||w.value!=="flow",text:t.unref(n)("plugins.free-form.datakit.flow_editor.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",QR,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(s[w.value]))),t.createTextVNode(" "+t.toDisplayString(w.label),1)])]),_:2},1032,["disabled","text"])]),_:1},8,["model-value","options"])]),key:"0"}:void 0]),1040)}}}),[["__scopeId","data-v-6b230b53"]]),Tm=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))typeof o=="string"&&(e[n]=o.split(/\s*,\s*/).filter(Boolean))},Om=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))Array.isArray(o)&&(e[n]=o.join(", "))},nD=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(e,{emit:n}){const o=n,{i18n:{t:r}}=Ve.useI18n(),l={prepareFormData:c=>{var f,u;const d=Rn(c);return(u=(f=d.config)==null?void 0:f.tools)!=null&&u.length&&d.config.tools.forEach(p=>{Om(p.headers),Om(p.query)}),d},hasValue:c=>!!(c!=null&&c.config)},s=c=>{var f,u;const d=Rn(c);(u=(f=d.config)==null?void 0:f.tools)!=null&&u.length&&d.config.tools.forEach(p=>{Tm(p.headers),Tm(p.query)}),o("change",d)};return(c,d)=>(t.openBlock(),t.createBlock(dt,{config:l,data:c.data,schema:c.schema,tag:"div",onChange:s},{default:t.withCtx(()=>[t.createVNode(it,{"as-child":"",name:"config","reset-label-path":"reset"},{tools:t.withCtx(({name:f})=>[t.createVNode(Or,{appearance:"tabs","item-label":(u,p)=>t.unref(r)("plugins.free-form.ai-mcp-proxy.tool_item_label",{index:p+1}),name:f,"sticky-tabs":""},null,8,["item-label","name"])]),_:1}),t.createVNode($r)]),_:1},8,["data","schema"]))}}),oD=t.defineComponent({__name:"AIMcpProxyForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Pe.AUTOFILL_SLOT,o==null?void 0:o[Pe.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(va,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(nD,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),rD=we(t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{}},emits:["change"],setup(e,{emit:n}){const o=n,r=t.computed(()=>{const l=e.schema.fields.find(d=>Object.keys(d)[0]==="config").config.fields,s=[],c=[];for(const d of l){const f=Object.keys(d)[0];d[f].required?s.push(f):c.push(f)}return{required:s,nonRequired:c}}),i={hasValue:l=>!!(l!=null&&l.config)};function a(l){o("change",l)}return(l,s)=>(t.openBlock(),t.createBlock(dt,{config:i,data:l.data,schema:l.schema,tag:"div",onChange:a},{default:t.withCtx(()=>[t.createVNode(it,{"as-child":"",name:"config",omit:r.value.nonRequired,"reset-label-path":"reset"},null,8,["omit"]),t.createVNode($r,{class:"ff-advanced-fields"},{default:t.withCtx(()=>[t.createVNode(it,{"as-child":"",name:"config",omit:r.value.required,"reset-label-path":"reset"},null,8,["omit"])]),_:1})]),_:1},8,["data","schema"]))}}),[["__scopeId","data-v-3e5ed51d"]]),$m=Object.freeze(Object.defineProperty({__proto__:null,AIMcpProxyForm:oD,CommonForm:t.defineComponent({__name:"CommonForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Pe.AUTOFILL_SLOT,o==null?void 0:o[Pe.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Qc,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(rD,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),DatakitForm:tD,RequestCalloutForm:zw,ServiceProtectionForm:Fk},Symbol.toStringTag,{value:"Module"})),iD={class:"kong-ui-entities-plugin-form"},aD={key:1,class:"entity-form"},lD={class:"plugin-config-empty-state"},sD=we(t.defineComponent({__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},entityMap:{type:Object,default:()=>({})},record:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},rawSchema:{type:Object,default:()=>({})},editing:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},enableRedisPartial:{type:Boolean,default:!1},engine:{type:String,required:!1}},emits:["loading","model-updated","showNewPartialModal","globalAction","validity-change"],setup(e,{emit:n}){var de,ye;const o=Object.keys(Pe.sharedForms),r=Object.keys($m);if(new Set([...o,...r]).size!==o.length+r.length)throw new Error("Duplicate form component names found in `sharedForms` and `freeForm`");const i=n,a=e,{axiosInstance:l}=fe.useAxios((de=a.config)==null?void 0:de.axiosRequestConfig),{parseSchema:s}=Ve.useSchemas({entityId:((ye=a.entityMap.focusedEntity)==null?void 0:ye.id)||void 0,credential:a.credential,enableRedisPartial:a.enableRedisPartial,experimentalRenders:a.config.app==="konnect"?a.config.experimentalRenders:void 0}),{convertToDotNotation:c,unFlattenObject:d,dismissField:f,isObjectEmpty:u,unsetNullForeignKey:p}=Ve.usePluginHelpers(),m=Ve.useExperimentalFreeForms(),{objectsAreEqual:h}=fe.useHelpers(),{i18n:{t:_}}=Te(),g=Q=>a.config.app==="konnect"?Q.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"?Q.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:""):Q,y=(Q,oe)=>{let le=`${a.config.apiBaseUrl}${Le.form[a.config.app].entityGetOne}`;return le=g(le),le=le.replace(/{entity}/gi,Q),le=le.replace(/{id}/gi,oe),le},w=Q=>{let oe=`${a.config.apiBaseUrl}${Le.form[a.config.app].entityGetAll}`;return oe=g(oe),oe=oe.replace(/{entity}/gi,Q),oe},b=(Q,oe)=>{const le=y(Q,oe);return l.get(le)},v=(Q,oe)=>{const le=w(Q);return a.config.app==="konnect"?l.get(le).then(ue=>{const{data:{data:ce}}=ue;if(delete oe.size,delete oe.offset,ce.length&&Object.keys(oe).length===1){const T=Object.keys(oe)[0],C=ce.filter(x=>x[T]?!!x[T].toLowerCase().includes(oe[T].toLowerCase()):!1);ue.data.data=C}return ue}):l.get(le,{params:oe})},S=(Q,oe,le)=>{const ue=w(Q);if(a.config.app==="konnect"){const{size:ce,offset:T,...C}=oe;if(Q==="consumer_groups")return l.get(ue,{params:{size:1e3},signal:le}).then(k=>{const{data:{data:$}}=k;if($.length&&Object.keys(C).length===1){const A=Object.keys(C)[0],z=$.filter(X=>X[A]?!!X[A].toLowerCase().includes(C[A].toLowerCase()):!1);k.data.data=z}return k});const x={size:ce,offset:T};for(const k of Object.keys(C))x.filter={[k]:{contains:C[k]}};return l.get(ue,{params:x,signal:le})}return l.get(ue,{params:oe,signal:le})},N=(Q,oe=50)=>{const le=w(Q);return l.get(le,{params:{size:oe}})};t.provide(Pe.FORMS_API_KEY,{getOne:b,getAll:v,getAllV2:S,peek:N}),t.provide(Pe.FORMS_CONFIG,a.config);const I=t.ref(""),O=t.ref(""),F=t.ref(null),H=t.ref({}),q=t.reactive({}),E=t.reactive({}),te=t.computed(()=>{var Q;return(Q=F.value)==null?void 0:Q.options}),P=t.ref(!1),G=t.ref(),R=(Q,oe)=>{P.value=Q??"",G.value=oe},K=Q=>{var oe;(oe=G.value)==null||oe.call(G,Q),P.value=!1},V=()=>{var C,x;const Q={...a.schema},oe=E,le=q,ue=Object.keys(oe),ce={};if(!u(H.value))for(let k=0;k<((x=(C=H.value)==null?void 0:C.fields)==null?void 0:x.length);k++)Q[H.value.fields[k].model]=H.value.fields[k];Pe.customFields.forEach(k=>{Q[k]&&(Q[k].fields.forEach($=>{$.fields&&$.fields.forEach(A=>{Q[A.model]=A}),$.model&&(Q[$.model]=$)}),delete Q[k])}),ue.forEach(k=>{var ge;if(!Q[k]){k==="partials"&&(ce[k]=oe[k]);return}const $=Q[k];let A=oe[k];const z=le[k],X=Array.isArray(A)?"array":typeof A,B=$?$.valueType:null,ee=$?$.valueArrayType:null,U=$?$.transform:null;if(A==null&&z==null&&!$.submitWhenNull)return;if($){if(B&&X!==B)switch(B){case"array":X==="string"&&A.length&&(A=A.split(",").map(he=>{if(he=he.trim(),ee==="string")return String(he);if(ee==="number")return Number(he);if(ee==="boolean"){if(typeof he=="string")return he.toLowerCase()==="true"||he==="1";if(typeof he=="number")return he===1}return he})),(!A||!A.length)&&(A=$.submitWhenNull?null:[]);break;case"number":A=Number(A);break;case"boolean":X==="string"&&(A=A.toLowerCase()==="true"||A==="1"),X==="number"&&(A=A===1);break;case"string":A=A==null?"":String(A);break}else B==="array"&&(!A||!A.length?A=$.submitWhenNull?null:[]:((ge=$.inputAttributes)==null?void 0:ge.type)==="number"&&(A=A.map(he=>Number(he))));if($.type==="array"&&$.nestedFields){const he=ae=>{Object.keys(ae).forEach(pe=>{ae[pe]&&typeof ae[pe]=="object"&&!Array.isArray(ae[pe])&&ae[pe]!==null?he(ae[pe]):(ae[pe]===void 0||ae[pe]===null||typeof ae[pe]=="number"&&isNaN(ae[pe])||typeof ae[pe]=="string"&&ae[pe].trim().length===0)&&delete ae[pe]})};A&&typeof A=="object"&&he(A)}$.type==="object-advanced"&&$.fields&&A!==null&&(Object.entries(A).length===0?A=null:Object.keys(A).forEach(he=>{Array.isArray(A[he])||(A[he]=A[he].split(","))}))}let me=c(k);if($.fieldNameHasDashes){const[he,...ae]=me.split(".").reverse();me=[he.replace(/_/g,"-"),...ae].reverse().join(".")}if(B==="object-expand"){let he;[me,he]=me.split(".");let ae={};ce[me]&&(ae=ce[me]),ae[he]=A,A=ae}z!==void 0&&A===""&&A!==z?ce[me]=B==="object"?{}:null:$.type==="checklist"&&A===""?ce[me]=[]:A!==""&&(ce[me]=A),ce[me]=U?U(A):ce[me],p(me,ce)});const T=d(ce);return O.value&&Object.assign(T,Z.value),T},M=(Q,oe={})=>{f(E,oe,Q,a.editing),i("model-updated",{model:E,originalModel:q,data:V()})},D=(Q,oe)=>{var ce;const le={[oe]:Q};typeof((ce=a.schema[oe])==null?void 0:ce.modelTransformer)=="function"&&(le[oe]=a.schema[oe].modelTransformer(Q));const ue=Object.assign({},E,le);Object.assign(E,ue),i("model-updated",{model:E,originalModel:q,data:V()})},L=Q=>{i("validity-change",Q)},j=(Q,oe)=>{Object.keys(Q).forEach(le=>{var x,k;let ue=oe?`${oe}-${le}`:le,ce=a.schema[ue];if(!ce){const $=oe?`${oe}-${le.replace(/-/g,"_")}`:le.replace(/-/g,"_");(x=a.schema[$])!=null&&x.fieldNameHasDashes&&(ue=$,ce=a.schema[ue]),oe&&((k=a.schema[oe])==null?void 0:k.keyFromObject)===le&&(ue=oe,ce=a.schema[ue])}const T=Q[le],C=typeof T;if(ce&&ce.type==="object-advanced"&&!T){E[ue]={},q[ue]={};return}if(Array.isArray(T)){E[ue]=JSON.parse(JSON.stringify(T)),q[ue]=JSON.parse(JSON.stringify(T));return}if(C==="object"&&T&&!T.length)return j(T,ue);if(C==="object"&&T&&T.length&&ce.type==="input"){E[ue]=T.join(", "),q[ue]=T.join(", ");return}E[ue]=T,q[ue]=T}),i("model-updated",{model:E,originalModel:q,data:V()})},Z=t.shallowRef(a.record),W=Q=>{Z.value=Q,i("model-updated",{model:{...E,...Q},originalModel:q,data:V()})},ne=t.ref(!0),ie=()=>{var Q;if(a.record&&a.schema&&(j({enabled:a.record.enabled??!0,...a.record.instance_name&&{instance_name:a.record.instance_name||""},...a.record.protocols&&{protocols:a.record.protocols},...a.record.tags&&{tags:a.record.tags}}),a.credential?((a.record.consumer_id||a.record.consumer)&&j({consumer_id:a.record.consumer_id||a.record.consumer}),j(a.record)):a.record.config&&((a.record.consumer_id||a.record.consumer||a.record.service_id||a.record.service||a.record.route_id||a.record.route||a.record.consumer_group_id||a.record.consumer_group)&&j({service_id:a.record.service_id||a.record.service,route_id:a.record.route_id||a.record.route,consumer_id:a.record.consumer_id||a.record.consumer,consumer_group_id:a.record.consumer_group_id||a.record.consumer_group}),a.record.partials&&M("redis",{partials:a.record.partials}),O.value?W(a.record):j(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const oe={};for(const le in a.entityMap){const ue=a.entityMap[le].id,ce=a.entityMap[le].idField,T=ce==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(ce).replace("_","-"));Object.prototype.hasOwnProperty.call(E,T)&&(oe[T]=ue)}j(oe)}if((Q=a.entityMap.consumer)!=null&&Q.id&&a.schema&&a.credential){const oe={};Object.prototype.hasOwnProperty.call(E,"consumer")&&(oe.consumer=a.entityMap.consumer.id),j(oe)}ne.value=!1};return t.watch(ne,Q=>{i("loading",Q)}),t.watch(()=>a.schema,(Q,oe)=>{var ue,ce;if(h(Q||{},oe||{}))return;const le=s(Q,void 0,void 0,a.engine);Object.assign(E,le.model),H.value={fields:(ce=(ue=H.value)==null?void 0:ue.fields)==null?void 0:ce.map(T=>({...T,disabled:T.disabled||!1}))},Object.assign(q,JSON.parse(JSON.stringify(le.model))),O.value=a.engine?a.engine==="vfg"?void 0:ga(le.model.name,m)||"CommonForm":ga(le.model.name,m),I.value=Pe.getSharedFormName(le.model.name),ie()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var Q,oe;F.value=s(a.schema,void 0,void 0,a.engine),Object.assign(E,((Q=F.value)==null?void 0:Q.model)||{}),H.value=((oe=F.value)==null?void 0:oe.schema)||{},ie()}),(Q,oe)=>{var ue;const le=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",iD,[ne.value?(t.openBlock(),t.createBlock(le,{key:0,type:"form"})):E.id&&e.editing||!e.editing?(t.openBlock(),t.createElementBlock("div",aD,[O.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent($m[O.value]),{key:0,"form-model":E,"form-options":te.value,"form-schema":H.value,"is-editing":e.editing,model:e.record,"on-form-change":W,"on-model-updated":D,"on-validity-change":L,schema:e.rawSchema,onGlobalAction:oe[0]||(oe[0]=(ce,T)=>Q.$emit("globalAction",ce,T))},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Pe.AUTOFILL_SLOT_NAME),fn:t.withCtx(ce=>[ce.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(co.VaultSecretPickerProvider),t.mergeProps({key:0},ce,{onOpen:R}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing","model","schema"])):I.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Pe.sharedForms)[I.value]),{key:1,"enable-redis-partial":e.enableRedisPartial,"form-model":E,"form-options":te.value,"form-schema":H.value,"is-editing":e.editing,"on-model-updated":D,"on-partial-toggled":M,"show-new-partial-modal":ce=>Q.$emit("showNewPartialModal",ce)},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Pe.AUTOFILL_SLOT_NAME),fn:t.withCtx(ce=>[ce.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(co.VaultSecretPickerProvider),t.mergeProps({key:0},ce,{onOpen:R}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["enable-redis-partial","form-model","form-options","form-schema","is-editing","show-new-partial-modal"])):(t.openBlock(),t.createBlock(t.unref(Pe.VueFormGenerator),{key:2,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,model:E,options:te.value,schema:H.value,onModelUpdated:D,onPartialToggled:M,onRefreshModel:V,onShowNewPartialModal:oe[1]||(oe[1]=ce=>Q.$emit("showNewPartialModal",ce))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",lD,t.toDisplayString(t.unref(_)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(ue=t.unref(St)[E.name])!=null&&ue.fieldRules&&(a.config.isNewOtelSchema||E.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(W0,{rules:t.unref(St)[E.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(Pe.AUTOFILL_SLOT_NAME),fn:t.withCtx(ce=>[ce.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(co.VaultSecretPickerProvider),t.mergeProps({key:0},ce,{onOpen:R}),null,16)):t.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["enable-redis-partial","is-editing","model","options","schema"]))])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(co.VaultSecretPicker),{config:a.config,setup:P.value,onCancel:oe[2]||(oe[2]=()=>P.value=!1),onProceed:K},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-3a5319dd"]]),cD={key:1},dD=t.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(e){return(n,o)=>e.teleportTarget?(t.openBlock(),t.createBlock(t.Teleport,{key:0,to:e.teleportTarget},[t.renderSlot(n.$slots,"default")],8,["to"])):(t.openBlock(),t.createElementBlock("div",cD,[t.renderSlot(n.$slots,"default")]))}}),uD={class:"kong-ui-entities-plugin-form-container"},fD={key:0},pD={class:"plugin-form-actions"},mD=we(t.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},pluginType:{type:String,required:!0},pluginId:{type:String,default:""},hideScopeSelection:{type:Boolean,default:!1},disableScopeSelection:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},developer:{type:Boolean,default:!1},isWizardStep:{type:Boolean,default:!1},actionsTeleportTarget:{type:String,default:""},noCardWrapper:{type:Boolean,default:!1},hideViewConfigAction:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},schema:{type:Object,default:null},enableRedisPartial:{type:Boolean,default:!1},scopedEntitiesPermissions:{type:Object,default:null},engine:{type:String,required:!1}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated","showNewPartialModal","globalAction"],setup(e,{emit:n}){var X;const o=n,r=e,i=so.useRouter(),{i18n:{t:a}}=Ve.useI18n(),{customSchemas:l,typedefs:s}=Ve.useSchemas({app:r.config.app,credential:r.credential,experimentalRenders:r.config.app==="konnect"?r.config.experimentalRenders:void 0}),{formatPluginFieldLabel:c}=Ve.usePluginHelpers(),{getMessageFromError:d}=fe.useErrors(),{capitalize:f}=fe.useStringHelpers(),{objectsAreEqual:u}=fe.useHelpers(),{axiosInstance:p}=fe.useAxios((X=r.config)==null?void 0:X.axiosRequestConfig),m=t.ref(!1),h=t.computed(()=>!!r.pluginId),_=t.computed(()=>r.pluginId?fe.EntityBaseFormType.Edit:fe.EntityBaseFormType.Create),g=t.ref(void 0),y=t.ref(void 0),w=t.computed(()=>!!(r.credential&&r.config.entityId)),b=t.ref(void 0),v=t.ref({}),S=t.ref(),N=t.ref();t.provide(Xc,{redisType:S,redisPath:N,isEditing:h.value});const I=t.ref(!1),O=t.reactive({enabled:!0,protocols:[],tags:[]}),F=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),H=t.ref([{title:a("view_configuration.json"),hash:"#json"},{title:a("view_configuration.yaml"),hash:"#yaml"}]);r.config.app==="konnect"&&H.value.splice(1,0,{title:a("view_configuration.terraform"),hash:"#terraform"});const q=t.ref(""),E=t.computed(()=>{var ee;if(w.value){let U=Le.form[r.config.app].credential[_.value];return U=U.replace(/{resourceEndpoint}/gi,R.value),U}let B;return r.config.entityType&&r.config.entityId?B=Le.form[r.config.app].edit.forEntity.replace(/{entityType}/gi,r.config.entityType).replace(/{entityId}/gi,r.config.entityId):B=Le.form[r.config.app].edit.all,r.config.app==="konnect"&&((ee=St[r.pluginType])!=null&&ee.useUIData)?`${B}?__ui_data=true`:B}),te=()=>{m.value=!m.value},P=t.computed(()=>{var he,ae,pe,Se,Ne,se,re,Be;const B=r.config.entityType==="consumers"&&r.config.entityId||((ae=(he=b.value)==null?void 0:he.consumer)==null?void 0:ae.id),ee=r.config.entityType==="consumer_groups"&&r.config.entityId||((Se=(pe=b.value)==null?void 0:pe.consumer_group)==null?void 0:Se.id),U=r.config.entityType==="services"&&r.config.entityId||((se=(Ne=b.value)==null?void 0:Ne.service)==null?void 0:se.id),me=r.config.entityType==="routes"&&r.config.entityId||((Be=(re=b.value)==null?void 0:re.route)==null?void 0:Be.id);if(!(B||ee||U||me))return{global:{entity:Y.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const ge={};return U&&(ge.service={entity:Y.PluginScope.SERVICE,entityEndpoint:"services",id:U,idField:an.SERVICE}),me&&(ge.route={entity:Y.PluginScope.ROUTE,entityEndpoint:"routes",id:me,idField:an.ROUTE}),B&&(ge.consumer={entity:Y.PluginScope.CONSUMER,entityEndpoint:"consumers",id:B,idField:an.CONSUMER}),ee&&(ge.consumer_group={entity:Y.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:ee,idField:an.CONSUMER_GROUP}),r.config.entityType&&(ge.focusedEntity={entity:Y.PluginScope[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()],entityEndpoint:r.config.entityType,id:r.config.entityId,idField:an[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()]}),ge}),G=t.reactive({name:{default:r.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:a("plugins.form.fields.enabled.label"),textOn:a("plugins.form.fields.enabled.on_text"),textOff:a("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:r.hideScopeSelection&&(r.hideScopeSelection||_.value===fe.EntityBaseFormType.Create&&r.config.entityId)?"foreign":"selectionGroup",disabled:r.disableScopeSelection,inputType:"hidden",styleClasses:"hide-label",fields:[{label:a("plugins.form.scoping.global.label"),description:a("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:a("plugins.form.fields.protocols.help"),label:a("plugins.form.fields.protocols.label"),required:!0,styleClasses:"plugin-protocols-select",type:"multiselect",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}]},instance_name:{default:"",type:"input",label:a("plugins.form.fields.instance_name.label"),inputType:"text",help:a("plugins.form.fields.instance_name.help")},tags:s.tags}),R=t.computed(()=>{var U;const B=r.developer?"developers":"consumers",ee=((U=$n[r.pluginType])==null?void 0:U.endpoint)||"/plugins";return`${B}/${r.config.entityId}${r.developer?"/credentials":""}${ee}`}),K=B=>{const ee=Array.from(new Set(B.map(U=>typeof U)));return ee.length>1?"string":ee[0]},V=(B,ee,U,me)=>{var pe,Se;let ge=ee&&ee.fields||[];const he=l[r.pluginType],ae=(Se=(pe=$n[r.pluginType])==null?void 0:pe.schema)==null?void 0:Se.fields;return Array.isArray(ge)&&(ge=ge.reduce((Ne,se)=>{const re=Object.keys(se)[0];return re.match(/-/g)?Ne[re.replace(/-/g,"_")]={...se[re],fieldNameHasDashes:!0}:Ne[re]=se[re],Ne},{})),Object.keys(ge).sort().forEach(Ne=>{var Ht,sr,cr,dr,ur,fr,pr;const se=ge[Ne];se.type==="set"&&(se.type="array");const re=B?`${B}-${Ne}`:`${Ne}`;if((Ht=he==null?void 0:he.fieldsToDelete)!=null&&Ht.includes(re)){Sc(U,re);return}if(Object.prototype.hasOwnProperty.call(se,"overwrite")||se.hidden)return;if(se.type==="table")return V(re,se.schema,U);if(se.fields)return me&&se.type==="record"?(U[re]={type:"object",model:Ne,schema:{fields:Object.values(V(re,se,{},!0))}},U):V(re,se,U);if(U[re]={id:re,model:Ne},U[re].type=se.type==="boolean"?"checkbox":"input",U[re].required=se.required,U[re].referenceable=se.referenceable,re.startsWith("config-"))if(!me&&se.type==="array"&&(q.value=re),me&&q.value&&re.startsWith(q.value)){const Ie=re.slice(q.value.length+1);U[re].label=Ie.split("-").map(c).join(".")}else U[re].label=c(re);if((B==="config"||B.startsWith("config-"))&&(sr=ge[Ne])!=null&&sr.description&&(U[re].help=mr.marked.parse(ge[Ne].description,{mangle:!1,headerIds:!1})),se.type==="map"){if(U[re].type="object-advanced",U[re].values=se.values,se.values.type==="array"){const{type:Ie}=se.values.elements||{};U[re].schema={fields:[{schema:{fields:[{...Ae,model:re,valueArrayType:Ie==="integer"?"number":Ie||"string",inputAttributes:{...Ae.inputAttributes,type:Ie==="integer"?"number":"text",inputMode:Ie==="integer"?"numeric":"text"}}]}}]}}else se.values.fields&&(U[re].schema={fields:[{type:"object",model:"object",schema:{fields:se.values.fields.map(Ie=>{const st=Object.keys(Ie)[0];return{model:st,type:"input",label:f(st),placeholder:st,inputType:Ie[st].type}})}}]});return U}if(se.enum&&se.type==="array"&&(U[re].type="checklist",U[re].values=se.enum,U[re].multi=!0,U[re].multiSelect=!0),se.one_of&&se.type!=="array"&&(U[re].type="select",U[re].values=se.one_of,U[re].selectOptions={noneSelectedText:a("plugins.form.no_selection")}),se.elements&&se.type==="array"){const Ie=se.elements;if(U[re].referenceable=Ie.referenceable,U[re].elements=Ie,["string","integer","number"].includes(Ie.type)&&!Ie.one_of){const{id:st,help:Ue,label:ve,hint:Oe,values:Re,referenceable:Yt,model:ft}=U[re],{inputAttributes:Li,...fM}=JSON.parse(JSON.stringify(Ae));Li.type=Ie.type==="string"?"text":"number",U[re]={id:st,help:Ue,label:ve,hint:Oe,values:Re,referenceable:Yt,model:ft,inputAttributes:Li,...fM}}}if(se.hint&&(U[re].hint=se.hint),he&&!he.overwriteDefault&&Object.keys(he).forEach(Ie=>{if(Ie===re){const{help:st,label:Ue,hint:ve,values:Oe,referenceable:Re,elements:Yt}=U[re],{help:ft,...Li}=he[Ie];U[re]={help:st,label:Ue,hint:ve,values:Oe,referenceable:Re,elements:Yt,...Li},typeof ft=="string"&&(U[re].help=mr.marked.parse(ft,{mangle:!1,headerIds:!1}))}}),se.type==="array"&&((cr=se.elements)==null?void 0:cr.type)==="record"&&Array.isArray(se.elements.fields)){let Ie={};for(const Ue of se.elements.fields)Ie={...Ie,...Ue};const st=(fr=(ur=(dr=U[re])==null?void 0:dr.items)==null?void 0:ur.schema)==null?void 0:fr.fields;if(Array.isArray(st))for(const Ue of U[re].items.schema.fields){const ve=(pr=Ie[Ue.model])==null?void 0:pr.description;Ue.help===void 0&&typeof ve=="string"&&(Ue.help=mr.marked.parse(ve,{mangle:!1,headerIds:!1}))}if(st||(U[re].type="array",U[re].newElementButtonLabelClasses="kong-form-new-element-button-label",U[re].fieldClasses="array-card-container-wrapper",U[re].itemContainerComponent="FieldArrayCardContainer",U[re].items={type:"object",schema:{fields:Object.values(V(re,se.elements,{},!0))}},U[re].items.schema.fields.forEach(Ue=>{var ve,Oe;for(const Re of se.elements.fields){const Yt=Object.keys(Re)[0],ft=((Oe=(ve=Ue.id)==null?void 0:ve.split)==null?void 0:Oe.call(ve,"-"))??[];if(ft[ft.length-1]===Yt){Ue.model=Yt,Ue.label=c(Yt);break}}}),se.elements.type==="record"&&(U[re].nestedFields=!0)),!U[re].nestedFields)U[re].items.default=()=>se.elements.fields.reduce((Ue,ve)=>{const Oe=Object.keys(ve)[0];return Ue[Oe]=ve[Oe].default,Ue},{});else{const Ue=(ve,Oe)=>{if(ve.type==="object"){ve.model&&(Oe[ve.model]={});for(const Re of ve.schema.fields)Ue(Re,ve.model?Oe[ve.model]:Oe)}else ve.model&&(Oe[ve.model]=ve.default)};U[re].items.default=()=>{const ve={};return Ue(U[re].items,ve),ve}}}if(w.value&&ae){for(let Ie=0;Ie<ae.length;Ie++)if(ae[Ie][re]){U[re]={...U[re],...ae[Ie][re]};break}}if(se.required&&se.type!=="boolean"&&(U[re].required=!0,U[re].selectOptions={hideNoneSelectedText:!0}),se.required&&se.type==="boolean"&&(U[re].default=se.default??!1),se.default!=null&&typeof se.default!="object"&&se.default!=="function"&&(U[re].default=se.default),U[re].type==="input"){["string","number"].includes(typeof U[re].default)&&r.config.app==="konnect"&&(U[re].placeholder=`Default: ${U[re].default===""?"<empty string>":U[re].default}`);const{type:Ie}=se.elements||{};Ie&&(U[re].valueArrayType=Ie==="integer"?"number":Ie),U[re].inputType=se.type==="array"||se.type==="string"?se.encrypted?"password":"text":se.type}let Be="string";se.enum?Be=K(se.enum):se.type==="boolean"?Be="boolean":se.type==="number"||se.type==="integer"?(Be="number",U[re].inputType="number"):se.type==="array"?(Be="array",U[re].default=se.default,se.len_min>0&&(U[re].submitWhenNull=!0)):se.type==="foreign"?Be="object":se.default&&Array.isArray(se.default)?(Be="array",U[re].valueArrayType=K(se.default)):se.default&&(Be=typeof se.default),U[re].valueType=Be,se.fieldNameHasDashes&&(U[re].fieldNameHasDashes=!0)}),U},M=()=>{var re,Be,Ht,sr,cr,dr,ur,fr,pr,Ie,st,Ue;const B=((re=St[r.pluginType])==null?void 0:re.scope.includes(Y.PluginScope.SERVICE))??!0,ee=((Be=St[r.pluginType])==null?void 0:Be.scope.includes(Y.PluginScope.ROUTE))??!0,U=((Ht=St[r.pluginType])==null?void 0:Ht.scope.includes(Y.PluginScope.CONSUMER))??!0,me=r.config.disableConsumerGroupScope?!1:((sr=St[r.pluginType])==null?void 0:sr.scope.includes(Y.PluginScope.CONSUMER_GROUP))??!0,ge=r.config.entityType==="consumers"&&!!r.config.entityId||!!((dr=(cr=b.value)==null?void 0:cr.consumer)!=null&&dr.id),he=r.config.entityType==="consumer_groups"&&!!r.config.entityId||!!((fr=(ur=b.value)==null?void 0:ur.consumer_group)!=null&&fr.id),ae=r.config.entityType==="services"&&!!r.config.entityId||!!((Ie=(pr=b.value)==null?void 0:pr.service)!=null&&Ie.id),pe=r.config.entityType==="routes"&&!!r.config.entityId||!!((Ue=(st=b.value)==null?void 0:st.route)!=null&&Ue.id),Se=[],Ne=(ve,Oe,Re)=>ve?a("plugins.form.disable_source_scope_change",{scope:Re}):Oe?a("plugins.form.disable_data_retrieving",{scope:Re}):"",se=ve=>{var Oe,Re;return((Re=(Oe=r.scopedEntitiesPermissions)==null?void 0:Oe[ve])==null?void 0:Re.canRetrieve)===!1};if(B){const ve=se("service"),Oe="services",Re=ae&&r.disableScopeSelection;Se.push({id:"service-id",model:"service-id",label:a("plugins.form.scoping.gateway_service.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",labelField:"name",entity:Oe,inputValues:{fields:["name","id"]},help:a("plugins.form.scoping.gateway_service.help"),disabled:Re||ve,disabledTooltip:Ne(Re,ve,Oe)})}if(ee){const ve=se("route"),Oe="routes",Re=pe&&r.disableScopeSelection;Se.push({id:"route-id",model:"route-id",label:a("plugins.form.scoping.route.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Oe,labelField:"name",inputValues:{fields:["name","id"],primaryField:"id"},help:a("plugins.form.scoping.route.help"),disabled:Re||ve,disabledTooltip:Ne(Re,ve,Oe)})}if(U){const ve=se("consumer"),Oe="consumers",Re=ge&&r.disableScopeSelection;Se.push({model:"consumer-id",label:a("plugins.form.scoping.consumer.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Oe,labelField:"username",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:a("plugins.form.scoping.consumer.help"),disabled:Re||ve,disabledTooltip:Ne(Re,ve,Oe)})}if(me){const ve=se("consumer_group"),Oe="consumer_groups",Re=he&&r.disableScopeSelection;Se.push({model:"consumer_group-id",label:a("plugins.form.scoping.consumer_group.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Oe,entityDataKey:"consumer_group",labelField:"name",inputValues:{fields:["name","id"],primaryField:"name"},help:a("plugins.form.scoping.consumer_group.help"),disabled:Re||ve,disabledTooltip:Ne(Re,ve,Oe)})}if(Se.length){const ve=[...B?["service"]:[],...ee?["route"]:[],...U?["consumer"]:[],...me?["consumer_group"]:[]],Re=ve.splice(ve.length-2,2).map(ft=>a(ft==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ft}.plural`)).join(`${ve.length>0?",":""} and/or `),Yt=["Specific",[...ve.length>0?[ve.map(ft=>a(ft==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ft}.plural`)).join(", ")]:[],Re].join(", ")].join(" ");G.selectionGroup.fields.push({label:a("plugins.form.scoping.label"),description:Yt,fields:[]}),G.selectionGroup.fields[1].fields=Se}l[r.pluginType]&&l[r.pluginType].overwriteDefault&&Object.hasOwnProperty.call(l[r.pluginType],"formSchema")&&Object.assign(G,l[r.pluginType].formSchema)},D=t.computed(()=>!u(F.fields,O,!0)),L=t.computed(()=>!A.value&&!I.value&&(_.value===fe.EntityBaseFormType.Create||D.value)),j=t.ref(!1),Z=t.ref(),W=B=>{r.credential&&B.password&&(B.password=""),F.fields.id=(B==null?void 0:B.id)||void 0,Z.value=B==null?void 0:B.ordering,Object.assign(O,F.fields),b.value=B,j.value=!0},ne=t.ref({}),ie=B=>{var ee;F.fields=B.model,F.fields.id=((ee=b.value)==null?void 0:ee.id)||void 0,Object.assign(O,B.originalModel),ne.value=B.data,r.isWizardStep&&o("model-updated",{model:F.fields,data:B.data,resourceEndpoint:R.value})},de=t.ref(new Map),ye=t.computed(()=>[F.clientErrorMessage,F.serverErrorMessage].filter(Boolean).join("; ")),Q=B=>{B.valid?de.value.delete(B.model):de.value.set(B.model,B.error),F.clientErrorMessage=[...de.value.entries()].map(([ee,U])=>`${ee}: ${typeof U=="string"?U:d(U)}`).join("; "),F.clientErrorMessage&&(F.serverErrorMessage="")};t.watch([P,j],(B,ee)=>{const U=B[0]!==ee[0],me=B[1],ge=ee[1];if(!w.value&&_.value===fe.EntityBaseFormType.Edit&&(U||me&&me!==ge)){const he=V("config",v.value,G);ce.value&&(he._isCustomPlugin=!0),S.value&&(he._supported_redis_partial_type=S.value),y.value=he}},{deep:!0});const oe=()=>{r.config.cancelRoute?i.push(r.config.cancelRoute):o("cancel")},le=t.computed(()=>{let B=`${r.config.apiBaseUrl}${Le.form[r.config.app].validate}`;return r.config.app==="konnect"?B=B.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(B=B.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),B=B.replace(/{id}/gi,r.pluginId),B}),ue=t.computed(()=>{const B=r.config.entityType&&r.config.entityId&&!r.developer,ee=w.value?Le.form[r.config.app].credential[_.value]:Le.form[r.config.app][_.value][B?"forEntity":"all"];let U=`${r.config.apiBaseUrl}${ee}`;return r.config.app==="konnect"?U=U.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(U=U.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),U=U.replace(/{resourceEndpoint}/gi,R.value),U=U.replace(/{id}/gi,r.pluginId),U=U.replace(/{entityType}/gi,r.config.entityType||""),U=U.replace(/{entityId}/gi,r.config.entityId||""),U}),ce=t.computed(()=>!Object.keys(St).includes(r.pluginType)),T=t.computed(()=>{const B=ne.value;if(w.value){for(const ee in Y.PluginScope){const U=Y.PluginScope[ee];B[U]&&!B[U].id&&(B[U]={id:r.config.entityId})}delete B.created_at}return ne.value.partials&&N.value&&Sc(B,N.value),B}),C=t.computed(()=>{const{__ui_data:B,...ee}={...T.value};return ee}),x=async()=>{if(!F.clientErrorMessage&&!r.isWizardStep)try{F.isReadonly=!0;let B;const ee=JSON.parse(JSON.stringify(T.value)),U=l[r.pluginType];typeof(U==null?void 0:U.shamefullyTransformPayload)=="function"&&U.shamefullyTransformPayload({originalModel:O,model:F.fields,payload:ee,schema:y.value}),!w.value&&!ce.value&&await p.post(le.value,ee),_.value==="create"?B=await p.post(ue.value,ee):_.value==="edit"&&(B=r.config.app==="konnect"||S.value&&ee.partials?await p.put(ue.value,Object.assign({ordering:Z.value},ee)):await p.patch(ue.value,ee)),Object.assign(O,F.fields),o("update",B==null?void 0:B.data)}catch(B){F.serverErrorMessage=d(B),o("error",B)}finally{F.isReadonly=!1}},k=t.computed(()=>{var me;const B=w.value?(me=$n[r.pluginType])==null?void 0:me.schemaEndpoint:r.pluginType,ee=w.value?Le.form[r.config.app].credentialSchema:Le.form[r.config.app].pluginSchema;let U=`${r.config.apiBaseUrl}${ee}`;return r.config.app==="konnect"?U=U.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(U=U.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),U=U.replace(/{plugin}/gi,B),U}),$=t.ref(""),A=t.ref(!1),z=t.ref("");return t.onBeforeMount(async()=>{var B,ee,U,me;A.value=!0;try{if(w.value&&r.config.app==="konnect"){const ge=(B=$n[r.pluginType])==null?void 0:B.schemaEndpoint,he=Xm[ge];$.value=ge,y.value=V("",he,{}),A.value=!1}else{const ge=r.schema??(await p.get(k.value)).data;if(g.value=ge,ge)if(w.value)y.value=V("",ge,{}),A.value=!1;else{const he=ge.fields.find(pe=>pe.config);v.value=he?he.config:ge,ge.supported_partials&&(S.value=Object.keys(ge.supported_partials).find(pe=>[hr.REDIS_CE,hr.REDIS_EE].includes(pe)),N.value=(ee=ge.supported_partials[S.value])==null?void 0:ee[0]),M();const ae=(U=ge.fields.find(pe=>pe.protocols))==null?void 0:U.protocols;if(ae){const{default:pe=[],elements:Se={}}=ae;G.protocols.default=pe,G.protocols.placeholder=r.config.app==="konnect"?a("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:pe.join(", ")}):a("plugins.form.fields.protocols.placeholder"),(me=Se.one_of)!=null&&me.length&&(G.protocols.values=Se.one_of.map(Ne=>({label:Ne,value:Ne})))}if(j.value||_.value===fe.EntityBaseFormType.Create){const pe=V("config",v.value,G);S.value&&(pe._supported_redis_partial_type=S.value),ce.value&&(pe._isCustomPlugin=!0),y.value=pe}}}}catch(ge){console.error(ge),z.value=d(ge),o("error:fetch-schema",ge)}finally{A.value=!1}}),(B,ee)=>{const U=t.resolveComponent("KSkeleton"),me=t.resolveComponent("KEmptyState"),ge=t.resolveComponent("KButton"),he=t.resolveComponent("KTabs"),ae=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",uD,[A.value?(t.openBlock(),t.createBlock(U,{key:0,type:"form"})):z.value?(t.openBlock(),t.createBlock(me,{key:1,"action-button-visible":!1,"data-testid":"plugin-form-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(t.unref(a)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(fe.EntityBaseForm),{key:2,"can-submit":L.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(fe.SupportedEntityType).Plugin,"error-message":ye.value,"fetch-url":E.value,"form-fields":T.value,"is-readonly":F.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:oe,"onFetch:error":ee[4]||(ee[4]=pe=>B.$emit("error",pe)),"onFetch:success":W,onLoading:ee[5]||(ee[5]=pe=>B.$emit("loading",pe))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",fD)):(t.openBlock(),t.createBlock(dD,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",pD,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(ge,{key:0,appearance:"tertiary","data-testid":`plugin-${h.value?"edit":"create"}-form-view-configuration`,onClick:ee[3]||(ee[3]=pe=>te())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(ge,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${h.value?"edit":"create"}-form-cancel`,disabled:F.isReadonly,onClick:oe},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(ge,{appearance:"primary","data-testid":`plugin-${h.value?"edit":"create"}-form-submit`,disabled:!L.value||F.isReadonly,type:"submit",onClick:x},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:x},null,32),t.createVNode(sD,{config:e.config,credential:w.value,editing:_.value===t.unref(fe.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":r.enableVaultSecretPicker,engine:e.engine,"entity-map":P.value,"raw-schema":g.value,record:b.value,schema:y.value,onGlobalAction:ee[0]||(ee[0]=(pe,Se)=>B.$emit("globalAction",pe,Se)),onLoading:ee[1]||(ee[1]=pe=>I.value=pe),onModelUpdated:ie,onShowNewPartialModal:ee[2]||(ee[2]=pe=>B.$emit("showNewPartialModal",pe)),onValidityChange:Q},null,8,["config","credential","editing","enable-redis-partial","enable-vault-secret-picker","engine","entity-map","raw-schema","record","schema"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly","wrapper-component"])),t.createVNode(ae,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(a)("view_configuration.title"),visible:m.value,onClose:te},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("view_configuration.message")),1),t.createVNode(he,{"data-testid":"form-view-configuration-slideout-tabs",tabs:H.value},{json:t.withCtx(()=>[t.createVNode(t.unref(fe.JsonCodeBlock),{config:e.config,"entity-record":C.value,"fetcher-url":ue.value,"request-method":r.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(fe.YamlCodeBlock),{"entity-record":C.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(fe.TerraformCodeBlock),{"credential-type":$.value,"entity-record":C.value,"entity-type":t.unref(fe.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-4e00808e"]]),gD={class:"kong-ui-entities-plugins-list"},hD={class:"button-row"},yD={class:"name-cell-wrapper"},_D={class:"info-wrapper"},bD={key:0,class:"info-name"},wD={key:1,class:"info-name"},kD={key:2,class:"info-type"},CD={key:1},ED=we(t.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.createRoute||!e.getViewRoute||!e.getEditRoute||!e.getConfigureDynamicOrderingRoute||e.app==="kongManager"&&!e.isExactMatch&&!e.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canToggle:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},canRetrieveScopedEntity:{type:Function,required:!1,default:async()=>!0},canConfigureDynamicOrdering:{type:Function,required:!1,default:async()=>!0},title:{type:String,default:""},titleTag:{type:String,default:"h2"},useActionOutside:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success","toggle-enabled"],setup(e,{emit:n}){var k,$;const o=Ve.usePluginMetaData(),r=n,i=e,{i18n:{t:a}}=Ve.useI18n(),l=so.useRouter(),{axiosInstance:s}=fe.useAxios((k=i.config)==null?void 0:k.axiosRequestConfig),{hasRecords:c,handleStateChange:d}=fe.useTableState(()=>b.value),f=t.computed(()=>c.value&&i.config.app==="konnect"),u=t.computed(()=>!!i.config.entityId),p=t.computed(()=>{var A;return((A=i.config)==null?void 0:A.entityType)==="consumers"}),m=t.computed(()=>{var A;return((A=i.config)==null?void 0:A.entityType)==="consumer_groups"}),h=i.config.app==="konnect"||fe.useGatewayFeatureSupported({gatewayInfo:i.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),_=t.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),g={name:{label:a("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};($=i.config)!=null&&$.entityId||(g.appliedTo={label:a("plugins.list.table_headers.applied_to"),sortable:!1}),g.enabled={label:a("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},h&&(g.ordering={label:a("plugins.list.table_headers.ordering"),sortable:!0}),g.tags={label:a("plugins.list.table_headers.tags"),sortable:!1};const y=g,w=t.computed(()=>{var z,X,B,ee;let A=i.config.entityType?`${i.config.apiBaseUrl}${Le.list[i.config.app].forEntity}`:`${i.config.apiBaseUrl}${Le.list[i.config.app].all}`;return i.config.app==="konnect"?A=A.replace(/{controlPlaneId}/gi,((z=i.config)==null?void 0:z.controlPlaneId)||""):i.config.app==="kongManager"&&(A=A.replace(/\/{workspace}/gi,(X=i.config)!=null&&X.workspace?`/${i.config.workspace}`:"")),A.replace(/{entityType}/gi,((B=i.config)==null?void 0:B.entityType)||"").replace(/{entityId}/gi,((ee=i.config)==null?void 0:ee.entityId)||"")}),b=t.ref(""),v=t.computed(()=>i.config.app==="konnect"||i.config.isExactMatch?{isExactMatch:!0,fields:{name:g.name,id:{label:a("plugins.list.table_headers.id"),sortable:!0}},placeholder:a(`search.placeholder.${i.config.isExactMatch?"exact":i.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...g.enabled,label:a("search.filter.field.enabled")},name:g.name,instance_name:{label:a("plugins.list.table_headers.instance_name"),searchable:!0}},schema:i.config.filterSchema}),{fetcher:S,fetcherState:N,fetcherCacheKey:I}=fe.useFetcher(t.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),w),O=()=>{b.value=""},F=()=>{I.value++},H=t.ref(null),q=A=>{var X,B,ee,U;const z=[];return((X=A.route)!=null&&X.id||A.route_id)&&z.push({type:"route",badgeText:a("plugins.list.table_headers.applied_to_badges.route")}),((B=A.service)!=null&&B.id||A.service_id)&&z.push({type:"service",badgeText:a("plugins.list.table_headers.applied_to_badges.service")}),((ee=A.consumer)!=null&&ee.id||A.consumer_id)&&z.push({type:"consumer",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer")}),((U=A.consumer_group)!=null&&U.id||A.consumer_group_id)&&z.push({type:"consumer_group",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer_group")}),z.length?z:[{type:null,badgeText:a("plugins.list.table_headers.applied_to_badges.global")}]},E=async(A,z)=>{var X;return A===null?!1:await((X=i.canRetrieveScopedEntity)==null?void 0:X.call(i,A,z.id))},te=(A,z)=>{var B,ee,U,me,ge;let X=null;switch(A){case"route":X=(B=z.route)==null?void 0:B.id;break;case"service":X=(ee=z.service)==null?void 0:ee.id;break;case"consumer":X=(U=z.consumer)==null?void 0:U.id;break;case"consumer_group":X=(me=z.consumer_group)==null?void 0:me.id;break}X&&((ge=i.config)!=null&&ge.getScopedEntityViewRoute)&&l.push(i.config.getScopedEntityViewRoute(A,X))},P=t.ref(!1),G=t.ref(null),R=t.computed(()=>{const A={action:"disable",id:"",name:""};if(G.value){const{enabled:z,id:X,name:B}=G.value;A.action=z?"disable":"enable",A.id=X,A.name=o.getDisplayName(B)||X}return A}),K=A=>{P.value=!0,G.value=A},V=()=>{P.value=!1,G.value=null},M=async()=>{var B,ee,U,me,ge,he,ae,pe;if(!await((B=i.canEdit)==null?void 0:B.call(i,G.value))||!G.value)return;let z=`${i.config.apiBaseUrl}${(ge=Le.item[i.config.app])==null?void 0:ge[(ee=i.config)!=null&&ee.entityType?"forEntity":"all"].replace(/{entityType}/gi,((U=i.config)==null?void 0:U.entityType)||"").replace(/{entityId}/gi,((me=i.config)==null?void 0:me.entityId)||"")}`.replace(/{id}/gi,G.value.id||"");i.config.app==="konnect"?z=z.replace(/{controlPlaneId}/gi,((he=i.config)==null?void 0:he.controlPlaneId)||""):i.config.app==="kongManager"&&(z=z.replace(/\/{workspace}/gi,(ae=i.config)!=null&&ae.workspace?`/${i.config.workspace}`:""));const X=!G.value.enabled;try{const{data:Se}=((pe=i.config)==null?void 0:pe.app)==="konnect"?await s.put(z,{...G.value,enabled:X},{timeout:12e4}):await s.patch(z,{...G.value,enabled:X},{timeout:12e4});r("toggle-enabled",X,Se),G.value.enabled=X}catch(Se){r("error",Se)}},D=async(A,z)=>{const X=A.id;if(!await z(X)){r("copy:error",{entity:A,field:"id",message:a("errors.copy")});return}r("copy:success",{entity:A,field:"id",message:a("copy.success",{val:X})})},L=async(A,z)=>{const X=JSON.stringify(A);if(!await z(X)){r("copy:error",{entity:A,message:a("errors.copy")});return}r("copy:success",{entity:A,message:a("copy.success_brief")})},j=async A=>{var X;await((X=i.canRetrieve)==null?void 0:X.call(i,A))&&l.push(i.config.getViewRoute(A))},Z=A=>({label:a("actions.view"),to:i.config.getViewRoute(A)}),W=A=>({label:a("actions.edit"),to:i.config.getEditRoute(A)}),ne=A=>({label:a("actions.configure_dynamic_ordering"),to:i.config.getConfigureDynamicOrderingRoute(A)}),ie=t.ref(void 0),de=t.ref(!1),ye=t.ref(!1),Q=t.ref(""),oe=fe.useDeleteUrlBuilder(i.config,w.value),le=A=>{ie.value=A,de.value=!0},ue=()=>{de.value=!1},ce=async()=>{var A,z,X;if((A=ie.value)!=null&&A.id){ye.value=!0;try{await s.delete(oe(ie.value.id)),ye.value=!1,de.value=!1,I.value++,r("delete:success",ie.value)}catch(B){Q.value=((X=(z=B.response)==null?void 0:z.data)==null?void 0:X.message)||B.message||a("errors.delete"),r("error",B)}finally{ye.value=!1}}},T=()=>{l.push(i.config.createRoute)};t.watch(N,A=>{var z,X,B;if(A.status===fe.FetcherStatus.Error){H.value={title:a("errors.general")},(B=(X=(z=A.error)==null?void 0:z.response)==null?void 0:X.data)!=null&&B.message&&(H.value.message=A.error.response.data.message),r("error",A.error);return}H.value=null});const C=t.ref({ctaPath:i.config.createRoute,ctaText:void 0,message:`${a("plugins.list.empty_state.description")}${i.config.additionMessageForEmptyState?` ${i.config.additionMessageForEmptyState}`:""}`,title:a("plugins.title")}),x=t.ref(!1);return t.onBeforeMount(async()=>{x.value=await i.canCreate(),x.value&&(C.value.title=a("plugins.list.empty_state.title"),C.value.ctaText=a("actions.create"))}),(A,z)=>{const X=t.resolveComponent("KButton"),B=t.resolveComponent("KEmptyState"),ee=t.resolveComponent("KBadge"),U=t.resolveComponent("KTruncate"),me=t.resolveComponent("KInputSwitch"),ge=t.resolveComponent("KDropdownItem"),he=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",gD,[t.createVNode(t.unref(fe.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":_.value,"empty-state-options":C.value,"enable-entity-actions":"","error-message":H.value,fetcher:t.unref(S),"fetcher-cache-key":t.unref(I),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:b.value,"table-headers":t.unref(y),title:e.title,"title-tag":e.titleTag,onClearSearchInput:O,"onClick:row":z[4]||(z[4]=ae=>j(ae)),onSort:F,onState:t.unref(d)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(fe.EntityFilter),{modelValue:b.value,"onUpdate:modelValue":z[0]||(z[0]=ae=>b.value=ae),config:v.value},null,8,["modelValue","config"])]),"toolbar-button":t.withCtx(()=>[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!e.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[t.createElementVNode("div",hD,[!u.value&&f.value?(t.openBlock(),t.createBlock(X,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:z[1]||(z[1]=ae=>A.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(fe.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(X,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:t.withCtx(({row:ae})=>[t.createElementVNode("div",yD,[t.createVNode(t.unref(fo.PluginIcon),{class:"plugin-icon",name:ae.name,size:24},null,8,["name"]),t.createElementVNode("div",_D,[ae.instance_name?(t.openBlock(),t.createElementBlock("span",bD,t.toDisplayString(ae.instance_name),1)):(t.openBlock(),t.createElementBlock("span",wD,t.toDisplayString(t.unref(o).getDisplayName(ae.name)),1)),ae.instance_name?(t.openBlock(),t.createElementBlock("span",kD,t.toDisplayString(t.unref(o).getDisplayName(ae.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:ae})=>[q(ae).length>0?(t.openBlock(),t.createBlock(U,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(q(ae),pe=>(t.openBlock(),t.createBlock(t.unref(fe.PermissionsWrapper),{key:pe.badgeText,"auth-function":()=>E(pe.type,ae),"force-show":""},{default:t.withCtx(({isAllowed:Se})=>[t.createVNode(ee,{class:t.normalizeClass(Se||"disabled"),onClick:t.withModifiers(Ne=>Se&&pe.type&&te(pe.type,ae),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(pe.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",CD,"-"))]),enabled:t.withCtx(({row:ae})=>[t.createVNode(t.unref(fe.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(ae)&&await e.canToggle(ae)),"force-show":""},{default:t.withCtx(({isAllowed:pe})=>{var Se,Ne;return[t.createElementVNode("div",{onClick:z[3]||(z[3]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(me,{disabled:!pe,"disabled-tooltip-text":!pe&&((Ne=(Se=e.config).getToggleDisabledTooltip)==null?void 0:Ne.call(Se,ae))||void 0,"model-value":ae.enabled,onClick:t.withModifiers(se=>pe&&K(ae),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:ae})=>[t.createVNode(ee,{appearance:t.unref(Cc)(ae)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(Cc)(ae)?t.unref(a)("plugins.list.table_headers.ordering_badge.static"):t.unref(a)("plugins.list.table_headers.ordering_badge.dynamic")),1)]),_:2},1032,["appearance"])]),tags:t.withCtx(({rowValue:ae})=>[t.createVNode(t.unref(fe.TableTags),{tags:ae},null,8,["tags"])]),actions:t.withCtx(({row:ae})=>[t.createVNode(he,null,{default:t.withCtx(({copyToClipboard:pe})=>[t.createVNode(ge,{"data-testid":"action-entity-copy-id",onClick:Se=>D(ae,pe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(he,null,{default:t.withCtx(({copyToClipboard:pe})=>[t.createVNode(ge,{"data-testid":"action-entity-copy-json",onClick:Se=>L(ae,pe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(fe.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(ae)},{default:t.withCtx(()=>[t.createVNode(ge,{"data-testid":"action-entity-view","has-divider":"",item:Z(ae)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(fe.PermissionsWrapper),{"auth-function":()=>e.canEdit(ae)},{default:t.withCtx(()=>[t.createVNode(ge,{"data-testid":"action-entity-edit",item:W(ae)},null,8,["item"])]),_:2},1032,["auth-function"]),!p.value&&!m.value&&t.unref(h)?(t.openBlock(),t.createBlock(t.unref(fe.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(ae)},{default:t.withCtx(()=>[ne(ae)?(t.openBlock(),t.createBlock(ge,{key:0,"data-testid":"action-entity-config-dyn-order",item:ne(ae)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(fe.PermissionsWrapper),{"auth-function":()=>e.canDelete(ae)},{default:t.withCtx(()=>[t.createVNode(ge,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:pe=>le(ae)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!b.value&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>{var ae;return[t.createVNode(B,{"data-testid":e.config.entityId?"nested-plugins-entity-empty-state":"plugins-entity-empty-state","icon-background":"",message:t.unref(a)("plugins.list.empty_state_v2.description"),title:t.unref(a)("plugins.list.empty_state_v2.title")},t.createSlots({icon:t.withCtx(()=>[t.createVNode(t.unref(Ce.PlugIcon),{decorative:""})]),action:t.withCtx(()=>[x.value?(t.openBlock(),t.createBlock(X,{key:0,"data-testid":"entity-create-button",onClick:T},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.create_cta")),1)]),_:1})):t.createCommentVNode("",!0),t.createVNode(X,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:z[2]||(z[2]=pe=>A.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.BookIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[(ae=e.config)!=null&&ae.isControlPlaneGroup?{name:"default",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["data-testid","message","title"])]}),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","title","title-tag","onState"]),t.createVNode(t.unref(fe.EntityToggleModal),{action:R.value.action,"entity-id":R.value.id,"entity-name":R.value.name,"entity-type":t.unref(a)("glossary.plugin"),"on-confirm":M,visible:P.value,onCancel:V,onProceed:V},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(fe.EntityDeleteModal),{"action-pending":ye.value,description:t.unref(a)("delete.description"),"entity-name":ie.value&&(ie.value.instance_name||ie.value.name||ie.value.id),"entity-type":t.unref(fe.EntityTypes).Plugin,error:Q.value,title:t.unref(a)("delete.title"),visible:de.value,onCancel:ue,onProceed:ce},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-582a936c"]]),ND={class:"plugin-select-card-wrapper"},SD=["data-testid"],vD={class:"plugin-card-header"},xD={class:"plugin-card-title"},AD={key:0,class:"plugin-card-actions"},ID=["data-testid","title"],PD={key:0,class:"plugin-card-text"},TD={key:0},OD=["title"],es=we(t.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},plugin:{type:Object,required:!0},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const o=n,r=e,i=so.useRouter(),{i18n:{t:a}}=Ve.useI18n(),l=t.computed(()=>r.config.app==="konnect"?r.config.controlPlaneId:""),s=t.computed(()=>!!(!r.plugin.available||r.plugin.disabledMessage)),c=t.computed(()=>!!(m.value&&!p.value&&r.navigateOnClick&&l.value&&(r.canDeleteCustomPlugin||r.canEditCustomPlugin))),d=()=>{i.push(r.config.getCreateRoute(r.plugin.id))},f=()=>{r.navigateOnClick?d():u()},u=()=>{o("plugin-clicked",r.plugin)},p=t.computed(()=>r.plugin.id==="custom-plugin-create"),m=t.computed(()=>r.config.app==="konnect"&&r.plugin.group===Y.PluginGroup.CUSTOM_PLUGINS),h=()=>{r.config.app==="konnect"&&o("custom-plugin-delete")},_=(y,w)=>{const b=r.config;r.config.app==="konnect"&&typeof b.getCustomEditRoute=="function"&&b.getCustomEditRoute&&i.push(b.getCustomEditRoute(y,w))},g=()=>{if(!s.value&&r.config.app==="konnect"){const y=r.config;p.value&&y.createCustomRoute?i.push(y.createCustomRoute):m.value&&d()}};return(y,w)=>{const b=t.resolveComponent("KButton"),v=t.resolveComponent("KDropdownItem"),S=t.resolveComponent("KDropdownMenu"),N=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",ND,[t.createVNode(N,{text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createElementVNode("a",{class:t.normalizeClass(["plugin-select-card",{disabled:s.value}]),"data-testid":`${e.plugin.id}-card`,role:"button",onClick:w[1]||(w[1]=I=>s.value||m.value?void 0:f())},[t.createElementVNode("div",vD,[t.createElementVNode("div",xD,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!m.value})},t.toDisplayString(e.plugin.name),3)]),c.value?(t.openBlock(),t.createElementBlock("div",AD,[t.createVNode(S,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(b,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.MoreIcon),{size:t.unref(Sk)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(v,{key:0,"data-testid":"edit-plugin-schema",onClick:w[0]||(w[0]=t.withModifiers(I=>_(e.plugin.name,e.plugin.customPluginType),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(v,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(h,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":m.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(a)("plugins.select.unavailable_tooltip"),onClick:g},[t.createVNode(t.unref(fo.PluginIcon),{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||m.value&&!p.value?(t.openBlock(),t.createElementBlock("div",PD,[m.value&&!p.value?(t.openBlock(),t.createElementBlock("p",TD,t.toDisplayString(t.unref(a)("plugins.select.custom_badge_text")),1)):t.createCommentVNode("",!0),e.plugin.description?(t.openBlock(),t.createElementBlock("p",{key:1,class:"plugin-card-text",title:e.plugin.description},t.toDisplayString(e.plugin.description),9,OD)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,ID),t.createElementVNode("div",{class:"plugin-card-footer",onClick:g},t.toDisplayString(p.value?t.unref(a)("actions.create_custom"):e.plugin.exists?t.unref(a)("actions.enabled"):t.unref(a)("actions.enable")),1)],10,SD)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-65d53934"]]),$D=we(t.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(e,{emit:n}){var h;const o=e,r=n,{i18nT:i,i18n:{t:a}}=Ve.useI18n(),{getMessageFromError:l}=fe.useErrors(),{axiosInstance:s}=fe.useAxios((h=o.config)==null?void 0:h.axiosRequestConfig),c=t.computed(()=>{var _;return u.value?a("delete.plugin_schema_in_use_title"):a("delete.title",{name:((_=o.plugin)==null?void 0:_.name)||a("delete.custom_plugin")})}),d=t.ref(!1),f=t.ref(""),u=t.ref(!1),p=t.computed(()=>{if(o.config.app==="konnect"){const _=o.plugin.customPluginType==="streaming"?Le.select[o.config.app].streamingCustomPluginItem:Le.select[o.config.app].schemaCustomPluginItem;let g=`${o.config.apiBaseUrl}${_}`;return g=g.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),g=g.replace(/{pluginId}/gi,o.plugin.id),g}return null}),m=async()=>{var _,g,y,w;if(d.value=!0,f.value="",!(!((_=o.plugin)!=null&&_.name)||((g=o.config)==null?void 0:g.app)!=="konnect"))try{p.value&&await s.delete(p.value),r("proceed")}catch(b){const{response:v}=b;(v==null?void 0:v.status)===400&&((w=(y=v.data)==null?void 0:y.message)!=null&&w.includes("plugin schema is currently in use"))?u.value=!0:f.value=l(b)}finally{d.value=!1}};return(_,g)=>{const y=t.resolveComponent("KButton"),w=t.resolveComponent("KModal");return!u.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(fe.EntityDeleteModal),{key:0,"action-pending":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(a)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(fe.EntityTypes).Plugin,error:f.value,"need-confirm":"",title:c.value,visible:"",onCancel:g[0]||(g[0]=b=>_.$emit("closed")),onProceed:m},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(w,{key:1,"action-button-disabled":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:c.value,visible:"",onCancel:g[2]||(g[2]=b=>_.$emit("closed"))},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(t.unref(i),{keypath:"delete.plugin_schema_in_use_message",tag:"p"},{name:t.withCtx(()=>[t.createElementVNode("strong",null,t.toDisplayString(e.plugin.name),1)]),_:1})])]),"footer-actions":t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(y,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:g[1]||(g[1]=b=>_.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9e0dee7f"]]),BD={class:"custom-plugins-grid"},VD={class:"empty-state-title"},RD={class:"empty-state-description"},ts=310,DD=we(t.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=Ve.useI18n(),{getTallestPluginCardHeight:a,getToggleVisibility:l}=Ve.usePluginHelpers(),s=t.ref(!0),c=S=>{r("plugin-clicked",S)},d=t.computed(()=>{if(o.config.app==="kongManager")return[];const S=JSON.parse(JSON.stringify(o.pluginList))[Y.PluginGroup.CUSTOM_PLUGINS]||[];return o.canCreateCustomPlugin&&o.navigateOnClick&&o.config.createCustomRoute?[{id:"custom-plugin-create",name:i("plugins.select.tabs.custom.create.name"),available:!0,group:Y.PluginGroup.CUSTOM_PLUGINS,description:i("plugins.select.tabs.custom.create.description")}].concat(S):S}),f=t.ref(!1),u=t.ref(null),p=S=>{f.value=!0,u.value={id:S.id,name:S.name,customPluginType:S.customPluginType}},m=S=>{var N;S&&(r("revalidate"),r("delete:success",((N=u.value)==null?void 0:N.name)||"")),f.value=!1,u.value=null},h=t.ref(ts),_=t.ref(null),g=t.ref(null),y=t.computed(()=>s.value?{overflowY:"hidden",maxHeight:`${h.value}px`}:{}),w=t.ref(!1),b=()=>{h.value=Math.max(a(g.value),ts),v()},v=()=>{var S,N;(S=g.value)!=null&&S.length&&(w.value=l(_.value,(N=g.value)==null?void 0:N.length))};return t.onMounted(async()=>{await t.nextTick(),h.value=Math.max(a(g.value),ts),v(),window==null||window.addEventListener("resize",b)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",b)}),(S,N)=>{const I=t.resolveComponent("KEmptyState"),O=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",BD,[d.value.length?(t.openBlock(),t.createBlock(O,{key:1,modelValue:s.value,"onUpdate:modelValue":N[0]||(N[0]=F=>s.value=F),class:"custom-plugins-collapse","data-testid":`${t.unref(Y.PluginGroup).CUSTOM_PLUGINS}-collapse`,title:t.unref(Y.PluginGroup).CUSTOM_PLUGINS,"trigger-label":s.value?t.unref(i)("plugins.select.view_more"):t.unref(i)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:_,class:"plugin-card-container",style:t.normalizeStyle(y.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,(F,H)=>(t.openBlock(),t.createBlock(es,{key:`plugin-card-${H}`,ref_for:!0,ref_key:"pluginCardRef",ref:g,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:F,onCustomPluginDelete:q=>p(F),onPluginClicked:c},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[w.value?void 0:{name:"trigger",fn:t.withCtx(()=>[N[2]||(N[2]=t.createTextVNode("   ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(I,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",VD,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",RD,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),f.value&&u.value?(t.openBlock(),t.createBlock($D,{key:2,config:e.config,plugin:u.value,onClosed:m,onProceed:N[1]||(N[1]=F=>m(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-f4b90f47"]]),ns=310,Bm=we(t.defineComponent({__name:"PluginSelectGroup",props:t.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:t.mergeModels(["plugin-clicked"],["update:modelValue"]),setup(e,{emit:n}){const o=t.useModel(e,"modelValue"),r=e,i=n,{i18n:{t:a}}=Ve.useI18n(),{getTallestPluginCardHeight:l,getToggleVisibility:s}=Ve.usePluginHelpers(),c=t.ref(ns),d=t.ref(null),f=t.ref(null),u=t.computed(()=>o.value?{overflowY:"hidden",maxHeight:`${c.value}px`}:{}),p=t.ref(!1),m=()=>{c.value=Math.max(l(f.value),ns),h()},h=()=>{var _,g;(_=f.value)!=null&&_.length&&(p.value=s(d.value,(g=f.value)==null?void 0:g.length))};return t.onMounted(async()=>{await t.nextTick(),c.value=Math.max(l(f.value),ns),h(),window==null||window.addEventListener("resize",m)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",m)}),(_,g)=>{const y=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(y,{modelValue:o.value,"onUpdate:modelValue":g[0]||(g[0]=w=>o.value=w),class:"plugins-collapse","data-testid":`${r.name}-collapse`,title:r.name,"trigger-label":o.value?t.unref(a)("plugins.select.view_more"):t.unref(a)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:d,class:"plugin-card-container",style:t.normalizeStyle(u.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.plugins,w=>(t.openBlock(),t.createBlock(es,{key:`plugin-card-${w.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:f,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:w,onPluginClicked:b=>i("plugin-clicked",w)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[p.value?void 0:{name:"trigger",fn:t.withCtx(()=>[g[1]||(g[1]=t.createTextVNode("   ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-a1074120"]]),MD={class:"plugin-select-grid"},FD={class:"empty-state-title"},LD={class:"empty-state-description"},os=t.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},highlightedPlugins:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""},hideHighlightedPlugins:{type:Boolean,default:!1}},emits:["plugin-clicked"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=Ve.useI18n(),a=t.ref(!1),l=t.ref(ls),s=d=>{r("plugin-clicked",d)},c=t.computed(()=>{const d=JSON.parse(JSON.stringify(o.pluginList));return o.config.app==="konnect"&&delete d[Y.PluginGroup.CUSTOM_PLUGINS],d});return(d,f)=>{const u=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",MD,[Object.keys(c.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(u,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",FD,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",LD,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!o.hideHighlightedPlugins&&o.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(Bm,{key:1,modelValue:a.value,"onUpdate:modelValue":f[0]||(f[0]=p=>a.value=p),config:e.config,name:o.highlightedPluginsTitle||t.unref(i)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:o.highlightedPlugins,onPluginClicked:f[1]||(f[1]=p=>s(p))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(as),p=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[p]?(t.openBlock(),t.createElementBlock("div",{key:p},[t.createVNode(Bm,{modelValue:l.value[p],"onUpdate:modelValue":m=>l.value[p]=m,config:e.config,name:p,"navigate-on-click":e.navigateOnClick,plugins:c.value[p]||[],onPluginClicked:f[2]||(f[2]=m=>s(m))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),UD={class:"kong-ui-entities-plugin-select-form"},KD={class:"plugins-filter-input-container"},jD={key:0},qD={key:3,"aria-live":"polite",class:"plugins-results-container"},GD={"data-testid":"kong-tab"},zD={class:"tab-description"},HD={"data-testid":"custom-tab"},YD={class:"tab-description"},WD=we(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},customPluginSupport:{type:String,default:"none"},canCreateCustomPlugin:{type:Function,required:!1,default:async()=>!0},canDeleteCustomPlugin:{type:Function,required:!1,default:async()=>!0},canEditCustomPlugin:{type:Function,required:!1,default:async()=>!0},navigateOnClick:{type:Boolean,default:!0},availableOnServer:{type:Boolean,default:!0},ignoredPlugins:{type:Array,default:()=>[]},disabledPlugins:{type:Object,default:()=>({})},highlightedPluginIds:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){var D;const o=e,r=n,i=so.useRoute(),a=so.useRouter(),{i18n:{t:l}}=Ve.useI18n(),{pluginMetaData:s}=Ve.usePluginMetaData(),{getMessageFromError:c}=fe.useErrors(),{sortAlpha:d,objectsAreEqual:f}=fe.useHelpers(),u=t.ref(""),p=t.ref(!0),m=t.ref(!1),h=t.ref(""),_=t.ref([]),g=t.ref([]),y=t.ref({}),w=t.ref([]),{axiosInstance:b}=fe.useAxios((D=o.config)==null?void 0:D.axiosRequestConfig),v=t.computed(()=>y.value?Object.entries(y.value).filter(([L])=>L!==Y.PluginGroup.CUSTOM_PLUGINS).reduce((L,[,j])=>{for(const Z of j)L[Z.id]=Z;return L},{}):{}),S=t.computed(()=>{var Z;if(!y.value)return{};const L=u.value.toLowerCase(),j=JSON.parse(JSON.stringify(y.value));for(const W in y.value){const ne=((Z=y.value[W])==null?void 0:Z.filter(ie=>ie.name.toLowerCase().includes(L)||ie.id.toLowerCase().includes(L)||ie.group.toLowerCase().includes(L)))||[];ne.length?j[W]=ne:delete j[W]}return j}),N=t.computed(()=>o.highlightedPluginIds.reduce((L,j)=>{const Z=v.value[j];return Z&&L.push(Z),L},[])),I=t.computed(()=>Object.keys(S.value).length>0),O=t.computed(()=>Object.keys(y.value).length>0&&!I.value),F=t.computed(()=>o.config.app==="konnect"?[{hash:"#kong",title:l("plugins.select.tabs.kong.title")},{hash:"#custom",title:l("plugins.select.tabs.custom.title"),disabled:["none","disabled"].includes(o.customPluginSupport)}]:[]),H=t.computed(()=>{var j;let L=F.value.length&&((i==null?void 0:i.hash)||((j=F.value[0])==null?void 0:j.hash))||"";return L==="#custom"&&["none","disabled"].includes(o.customPluginSupport)&&(L="#kong"),L}),q=()=>[...new Set([...Object.keys({...o.availableOnServer?{}:s}),..._.value])].filter(L=>!o.ignoredPlugins.includes(L)).filter(L=>o.config.entityType&&(o.config.entityType==="services"&&s[L]&&!s[L].scope.includes(Y.PluginScope.SERVICE)||o.config.entityType==="routes"&&s[L]&&!s[L].scope.includes(Y.PluginScope.ROUTE)||o.config.entityType==="consumer_groups"&&s[L]&&!s[L].scope.includes(Y.PluginScope.CONSUMER_GROUP)||o.config.entityType==="consumers"&&s[L]&&!s[L].scope.includes(Y.PluginScope.CONSUMER))?!1:L).reduce((L,j)=>{var de;const Z=s[j]&&s[j].name||j,W={...s[j],id:j,name:Z,available:_.value.includes(j),disabledMessage:"",group:((de=s[j])==null?void 0:de.group)||Y.PluginGroup.CUSTOM_PLUGINS};W.group===Y.PluginGroup.CUSTOM_PLUGINS&&(W.customPluginType=g.value.find(ye=>ye.name===j)?"streaming":"schema"),o.disabledPlugins&&(W.disabledMessage=o.disabledPlugins[j]);const ne=W.group||l("plugins.select.misc_plugins");let ie=L[ne];return ie||(ie=[]),ie.push(W),ie.sort(d("name")),L[ne]=ie,L},{}),E=t.computed(()=>{var j;let L=`${o.config.apiBaseUrl}${Le.select[o.config.app].availablePlugins}`;return o.config.app==="konnect"?L=L.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(L=((j=o.config.gatewayInfo)==null?void 0:j.edition)==="community"?`${o.config.apiBaseUrl}${Le.select[o.config.app].availablePluginsForOss}`:L.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),L}),te=t.computed(()=>{if(o.config.app==="konnect"&&o.customPluginSupport==="streaming"){let L=`${o.config.apiBaseUrl}${Le.select[o.config.app].streamingCustomPlugins}`;return L=L.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),L}return null}),P=t.computed(()=>{if(o.config.entityType&&o.config.entityId){let L=`${o.config.apiBaseUrl}${Le.list[o.config.app].forEntity}`;return o.config.app==="konnect"?L=L.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(L=L.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),L.replace(/{entityType}/gi,o.config.entityType||"").replace(/{entityId}/gi,o.config.entityId||"")}return""}),G=L=>{a.replace({hash:L,query:i.query})};t.watch(()=>o.disabledPlugins,(L,j)=>{!f(L,j)&&!p.value&&(y.value=q())}),t.watch(()=>o.ignoredPlugins,(L,j)=>{!f(L,j)&&!p.value&&(y.value=q())}),t.watch(p,L=>{r("loading",L)});const R=t.ref(!1),K=t.ref(!1),V=t.ref(!1);t.onBeforeMount(async()=>{R.value=await o.canCreateCustomPlugin(),K.value=await o.canEditCustomPlugin(),V.value=await o.canDeleteCustomPlugin()});const M=t.useTemplateRef("filter-input");return t.onMounted(async()=>{var L,j;(j=(L=M.value)==null?void 0:L.input)==null||j.focus();try{const{data:Z}=await b.get(E.value);if(o.config.app==="konnect"){const{names:W}=Z;if(_.value=W||[],te.value){const{data:ne}=await b.get(te.value);g.value=ne.data||[]}}else if(o.config.app==="kongManager"){const{plugins:{available_on_server:W}}=Z;_.value=W?Object.keys(W):[]}}catch(Z){m.value=!0,h.value=c(Z)}if(P.value)try{const{data:{data:Z}}=await b.get(P.value);if(Z!=null&&Z.length){const W=Z.reduce((ne,ie)=>(ie.name&&ne.push(ie.name),ne),[]);w.value=w.value.concat(W)}}catch{}m.value||(y.value=q()),p.value=!1}),(L,j)=>{const Z=t.resolveComponent("KInput"),W=t.resolveComponent("KSkeletonBox"),ne=t.resolveComponent("KSkeleton"),ie=t.resolveComponent("KEmptyState"),de=t.resolveComponent("KTooltip"),ye=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",UD,[t.createElementVNode("div",KD,[t.createVNode(Z,{ref:"filter-input",modelValue:u.value,"onUpdate:modelValue":j[0]||(j[0]=Q=>u.value=Q),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(l)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),p.value?(t.openBlock(),t.createElementBlock("section",jD,[t.createVNode(W,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(ne,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):m.value?(t.openBlock(),t.createBlock(ie,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(h.value),1)]),_:1})):O.value&&u.value?(t.openBlock(),t.createBlock(ie,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:t.withCtx(()=>[t.createElementVNode("h5",null,t.toDisplayString(t.unref(l)("search.no_results",{filter:u.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",qD,[F.value.length&&e.customPluginSupport!=="none"?(t.openBlock(),t.createBlock(ye,{key:0,modelValue:H.value,"onUpdate:modelValue":j[5]||(j[5]=Q=>H.value=Q),"data-testid":"plugins-tabs",tabs:F.value,onChange:G},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",GD,[t.createElementVNode("p",zD,t.toDisplayString(t.unref(l)("plugins.select.tabs.kong.description")),1),t.createVNode(os,{config:e.config,"hide-highlighted-plugins":u.value.length>0,"highlighted-plugins":N.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":S.value,onPluginClicked:j[1]||(j[1]=Q=>L.$emit("plugin-clicked",Q))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",HD,[t.renderSlot(L.$slots,"before-custom-tab-content",{},void 0,!0),t.createElementVNode("p",YD,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.description")),1),t.createVNode(DD,{"can-create-custom-plugin":R.value,"can-delete-custom-plugin":V.value,"can-edit-custom-plugin":K.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":S.value,"onDelete:success":j[2]||(j[2]=Q=>L.$emit("delete-custom:success",Q)),onPluginClicked:j[3]||(j[3]=Q=>L.$emit("plugin-clicked",Q)),onRevalidate:j[4]||(j[4]=()=>y.value=q())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[e.customPluginSupport==="disabled"?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(de,{"max-width":"300",text:t.unref(l)("plugins.select.tabs.custom.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.title")),1)]),_:1},8,["text"])]),key:"0"}:void 0]),1032,["modelValue","tabs"])):(t.openBlock(),t.createBlock(os,{key:1,config:e.config,"hide-highlighted-plugins":u.value.length>0,"highlighted-plugins":N.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":S.value,onPluginClicked:j[6]||(j[6]=Q=>L.$emit("plugin-clicked",Q))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-7b1adaaa"]]),XD={class:"datakit-config-card-canvas"},ZD={class:"config-card-details-label","data-testid":"datakit-configuration-label"},JD={class:"config-card-details-value datakit-canvas-container","data-testid":"datakit-configuration-canvas"},QD={class:"canvas-wrapper"},eM=we(t.defineComponent({__name:"DatakitConfigCardCanvas",props:{pluginData:{}},setup(e){return yu(e.pluginData),(n,o)=>{const r=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",XD,[t.createElementVNode("div",ZD,[t.createVNode(r,null,{default:t.withCtx(()=>o[0]||(o[0]=[t.createElementVNode("span",{class:"label-content"}," Nodes ",-1)])),_:1,__:[0]})]),t.createElementVNode("div",JD,[t.createElementVNode("div",QD,[t.createVNode(Jl,{class:"datakit-flow-panels",mode:"view",resizable:""})])])])}}}),[["__scopeId","data-v-591ec060"]]),tM={class:"kong-ui-entity-plugin-config-card"},nM={class:"name-cell-wrapper"},oM={class:"info-name"},rM={key:0},iM={key:0},aM={key:0},lM={key:0},sM={key:0},rs="config",cM=we(t.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showIdAsLink:{type:Boolean,default:!1},hideTitle:{type:Boolean,default:!1},scopedEntityType:{type:String,required:!1,default:""},scopedEntityId:{type:String,required:!1,default:""},expandPartial:{type:Boolean,default:!0}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var N;const o=n,r=e,{i18n:{t:i}}=Ve.useI18n(),a=Ve.usePluginMetaData(),{setFieldType:l}=Ve.usePluginHelpers(),{getPropValue:s}=fe.useHelpers(),c=t.computed(()=>r.config.app==="konnect"),d=t.computed(()=>c.value&&r.config.pluginType==="datakit"),f=t.computed(()=>{var O;let I=(O=Le.item[r.config.app])==null?void 0:O[r.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,r.scopedEntityType).replace(/{entityId}/gi,r.scopedEntityId).concat(r.expandPartial?"?expand_partials=true":"");if(c.value){const F=r.expandPartial?"&":"?";I=I.concat(`${F}__ui_data=true`)}return I}),u=t.computed(()=>{var F,H;const I={},O=((F=b.value)==null?void 0:F.fields)||[];for(let q=0;q<O.length;q++){const E=b.value.fields[q],te=(H=Object.keys(E))==null?void 0:H[0];l(I,te,E[te])}return{...I,instance_name:{section:fe.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:i("plugins.fields.consumer"),section:fe.ConfigurationSchemaSection.Basic,order:6},route:{label:i("plugins.fields.route"),section:fe.ConfigurationSchemaSection.Basic,order:6},service:{label:i("plugins.fields.service"),section:fe.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:i("plugins.fields.consumer_group"),section:fe.ConfigurationSchemaSection.Basic,order:6},protocols:{type:fe.ConfigurationSchemaType.BadgeTag,section:fe.ConfigurationSchemaSection.Basic,order:7}}}),p=t.computed(()=>{var O,F,H;if(!((O=b.value)!=null&&O.fields))return[];const I=(F=b.value.fields)==null?void 0:F.find(q=>{var te;return((te=Object.keys(q))==null?void 0:te[0])===rs});return((H=I==null?void 0:I[rs])==null?void 0:H.fields)||[]}),m=t.computed(()=>{var O,F;const I={};if(!p.value)return I;for(let H=0;H<((O=p.value)==null?void 0:O.length);H++){const q=p.value[H],E=(F=Object.keys(q))==null?void 0:F[0],te=q[E];te.required&&(I[E]={order:1}),l(I,E,te)}return I}),h=I=>{var F;const O=(F=a.pluginMetaData[r.config.pluginType])==null?void 0:F.scope;return O?Object.fromEntries(Object.entries(I).filter(([H,q])=>q?!0:!(H==="service"&&!O.includes(Y.PluginScope.SERVICE)||H==="route"&&!O.includes(Y.PluginScope.ROUTE)||H==="consumer"&&!O.includes(Y.PluginScope.CONSUMER)||H==="consumer_group"&&!O.includes(Y.PluginScope.CONSUMER_GROUP)))):I},_=I=>Co(I,"__ui_data"),{getMessageFromError:g}=fe.useErrors(),{axiosInstance:y}=fe.useAxios((N=r.config)==null?void 0:N.axiosRequestConfig),w=t.computed(()=>{var O,F;let I=`${r.config.apiBaseUrl}${Le.form[r.config.app].pluginSchema}`;return r.config.app==="konnect"?I=I.replace(/{controlPlaneId}/gi,((O=r.config)==null?void 0:O.controlPlaneId)||""):r.config.app==="kongManager"&&(I=I.replace(/\/{workspace}/gi,(F=r.config)!=null&&F.workspace?`/${r.config.workspace}`:"")),I=I.replace(/{plugin}/gi,r.config.pluginType),I}),b=t.ref({});fe.useSchemaProvider(b);const v=t.ref(!1),S=t.ref("");return t.onBeforeMount(async()=>{v.value=!0;try{const{data:I}=await y.get(w.value);b.value=I}catch(I){S.value=g(I),o("error:fetch-schema",I)}finally{v.value=!1}}),(I,O)=>{const F=t.resolveComponent("KSkeleton"),H=t.resolveComponent("KEmptyState"),q=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",tM,[v.value?(t.openBlock(),t.createBlock(F,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):S.value?(t.openBlock(),t.createBlock(H,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(S.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(fe.EntityBaseConfigCard),{key:2,"code-block-record-formatter":_,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":u.value,"entity-type":t.unref(fe.SupportedEntityType).Plugin,"fetch-url":f.value,"hide-title":e.hideTitle,"plugin-config-key":rs,"plugin-config-schema":m.value,"record-resolver":h,"onFetch:error":O[0]||(O[0]=E=>I.$emit("fetch:error",E)),"onFetch:success":O[1]||(O[1]=E=>I.$emit("fetch:success",E)),onLoading:O[2]||(O[2]=E=>I.$emit("loading",E))},t.createSlots({name:t.withCtx(E=>[t.createElementVNode("div",nM,[t.createVNode(t.unref(fo.PluginIcon),{class:"plugin-icon",name:t.unref(s)("rowValue",E),size:24},null,8,["name"]),t.createElementVNode("span",oM,t.toDisplayString(t.unref(a).getDisplayName(t.unref(s)("rowValue",E))),1)])]),consumer:t.withCtx(E=>[t.unref(s)("rowValue",E)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(fe.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",E).id,value:t.unref(s)("rowValue",E).id,type:t.unref(fe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>I.$emit("navigation-click",t.unref(s)("rowValue",E).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(q,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",E).label}),"data-testid":"consumer-copy-uuid",text:t.unref(s)("rowValue",E).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",rM,"–"))]),route:t.withCtx(E=>[t.unref(s)("rowValue",E)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(fe.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",E).id,value:t.unref(s)("rowValue",E).id,type:t.unref(fe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>I.$emit("navigation-click",t.unref(s)("rowValue",E).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(q,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",E).label}),"data-testid":"route-copy-uuid",text:t.unref(s)("rowValue",E).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",iM,"–"))]),service:t.withCtx(E=>[t.unref(s)("rowValue",E)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(fe.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",E).id,value:t.unref(s)("rowValue",E).id,type:t.unref(fe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>I.$emit("navigation-click",t.unref(s)("rowValue",E).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(q,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",E).label}),"data-testid":"service-copy-uuid",text:t.unref(s)("rowValue",E).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",aM,"–"))]),consumer_group:t.withCtx(E=>[t.unref(s)("rowValue",E)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(fe.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",E).id,value:t.unref(s)("rowValue",E).id,type:t.unref(fe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>I.$emit("navigation-click",t.unref(s)("rowValue",E).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(q,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",E).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(s)("rowValue",E).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",lM,"–"))]),partials:t.withCtx(E=>{var te,P,G,R,K,V,M,D,L;return[t.unref(s)("rowValue",E)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(fe.InternalLinkItem),{key:1,item:{key:(P=(te=t.unref(s)("rowValue",E))==null?void 0:te[0])==null?void 0:P.id,value:((R=(G=t.unref(s)("rowValue",E))==null?void 0:G[0])==null?void 0:R.id)+((V=(K=t.unref(s)("rowValue",E))==null?void 0:K[0])!=null&&V.name?"/"+((D=(M=t.unref(s)("rowValue",E))==null?void 0:M[0])==null?void 0:D.name):""),type:t.unref(fe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var j,Z;return I.$emit("navigation-click",(Z=(j=t.unref(s)("rowValue",E))==null?void 0:j[0])==null?void 0:Z.id,"partial")}},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(q,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",E).label}),"data-testid":"partial-copy-uuid",text:(L=t.unref(s)("rowValue",E))==null?void 0:L[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",sM,"–"))]}),_:2},[d.value?{name:"config-card-item-nodes",fn:t.withCtx(E=>[t.createVNode(eM,{"plugin-data":E.record},null,8,["plugin-data"])]),key:"0"}:void 0]),1032,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-a5302acb"]]),{usePluginMetaData:dM,useProvideExperimentalFreeForms:uM}=Ve;Object.defineProperty(ke,"PluginGroup",{enumerable:!0,get:()=>Y.PluginGroup}),Object.defineProperty(ke,"PluginScope",{enumerable:!0,get:()=>Y.PluginScope}),Object.defineProperty(ke,"PluginIcon",{enumerable:!0,get:()=>fo.PluginIcon}),Object.defineProperty(ke,"getPluginIconURL",{enumerable:!0,get:()=>fo.getPluginIconURL}),ke.EXPERIMENTAL_FREE_FORM_PROVIDER=ha,ke.EntityTypeIdField=an,ke.FEATURE_FLAGS=Eo,ke.PLUGIN_GROUPS_COLLAPSE_STATUS=ls,ke.PluginConfigCard=cM,ke.PluginForm=mD,ke.PluginGroupArray=as,ke.PluginList=ED,ke.PluginPartialType=hr,ke.PluginSelect=WD,ke.PluginSelectCard=es,ke.PluginSelectGrid=os,ke.TOASTER_PROVIDER=vc,ke.pluginEndpoints=Le,ke.usePluginMetaData=dM,ke.useProvideExperimentalFreeForms=uM,Object.defineProperty(ke,Symbol.toStringTag,{value:"Module"})});
144
+ Edge: ${e}`,USEVUEFLOW_OPTIONS:()=>"The options parameter is deprecated and will be removed in the next major version. Please use the id parameter instead"};class Ze extends Error{constructor(n,...o){var r;super((r=Ff[n])==null?void 0:r.call(Ff,...o)),this.name="VueFlowError",this.code=n,this.args=o}}function Sl(e){return"clientX"in e}function jx(e){return"sourceEvent"in e}function $t(e,n){const o=Sl(e);let r,i;return o?(r=e.clientX,i=e.clientY):"touches"in e&&e.touches.length>0?(r=e.touches[0].clientX,i=e.touches[0].clientY):"changedTouches"in e&&e.changedTouches.length>0?(r=e.changedTouches[0].clientX,i=e.changedTouches[0].clientY):(r=0,i=0),{x:r-((n==null?void 0:n.left)??0),y:i-((n==null?void 0:n.top)??0)}}const yi=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function qx(e){var n,o;return{width:((n=e.dimensions)==null?void 0:n.width)??e.width??0,height:((o=e.dimensions)==null?void 0:o.height)??e.height??0}}function _i(e,n=[1,1]){return{x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}}const Gx=()=>!0;function vl(e){e==null||e.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function zx(e,n,o){const r=[],i={x:e.x-o,y:e.y-o,width:o*2,height:o*2};for(const a of n.values())mi(i,pi(a))>0&&r.push(a);return r}const Hx=250;function Yx(e,n,o,r){var i,a;let l=[],s=Number.POSITIVE_INFINITY;const c=zx(e,o,n+Hx);for(const d of c){const f=[...((i=d.handleBounds)==null?void 0:i.source)??[],...((a=d.handleBounds)==null?void 0:a.target)??[]];for(const u of f){if(r.nodeId===u.nodeId&&r.type===u.type&&r.id===u.id)continue;const{x:p,y:m}=no(d,u,u.position,!0),h=Math.sqrt((p-e.x)**2+(m-e.y)**2);h>n||(h<s?(l=[{...u,x:p,y:m}],s=h):h===s&&l.push({...u,x:p,y:m}))}}if(!l.length)return null;if(l.length>1){const d=r.type==="source"?"target":"source";return l.find(f=>f.type===d)??l[0]}return l[0]}function Lf(e,{handle:n,connectionMode:o,fromNodeId:r,fromHandleId:i,fromType:a,doc:l,lib:s,flowId:c,isValidConnection:d=Gx},f,u,p){const m=a==="target",h=n?l.querySelector(`.${s}-flow__handle[data-id="${c}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:_,y:g}=$t(e),y=l.elementFromPoint(_,g),w=y!=null&&y.classList.contains(`${s}-flow__handle`)?y:h,b={handleDomNode:w,isValid:!1,connection:null,toHandle:null};if(w){const v=Uf(void 0,w),S=w.getAttribute("data-nodeid"),N=w.getAttribute("data-handleid"),I=w.classList.contains("connectable"),O=w.classList.contains("connectableend");if(!S||!v)return b;const F={source:m?S:r,sourceHandle:m?N:i,target:m?r:S,targetHandle:m?i:N};b.connection=F;const q=I&&O&&(o===Qt.Strict?m&&v==="source"||!m&&v==="target":S!==r||N!==i);b.isValid=q&&d(F,{nodes:u,edges:f,sourceNode:p(r),targetNode:p(S)}),b.toHandle=n}return b}function Uf(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function Wx(e,n){let o=null;return n?o="valid":e&&!n&&(o="invalid"),o}function Xx(e,n){let o=null;return n?o=!0:e&&!n&&(o=!1),o}function Zx(e,n,o,r,i,a=!1){var l,s,c;const d=r.get(e);if(!d)return null;const f=i===Qt.Strict?(l=d.handleBounds)==null?void 0:l[n]:[...((s=d.handleBounds)==null?void 0:s.source)??[],...((c=d.handleBounds)==null?void 0:c.target)??[]],u=(o?f==null?void 0:f.find(p=>p.id===o):f==null?void 0:f[0])??null;return u&&a?{...u,...no(d,u,u.position,!0)}:u}const xl={[be.Left]:be.Right,[be.Right]:be.Left,[be.Top]:be.Bottom,[be.Bottom]:be.Top},Jx=["production","prod"];function bi(e,...n){Kf()&&console.warn(`[Vue Flow]: ${e}`,...n)}function Kf(){return!Jx.includes(process.env.NODE_ENV||"")}function jf(e,n,o,r,i){const a=n.querySelectorAll(`.vue-flow__handle.${e}`);return a!=null&&a.length?Array.from(a).map(l=>{const s=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:i,position:l.getAttribute("data-handlepos"),x:(s.left-o.left)/r,y:(s.top-o.top)/r,...gi(l)}}):null}function Al(e,n,o,r,i,a=!1,l){i.value=!1,e.selected?(a||e.selected&&n)&&(r([e]),t.nextTick(()=>{l.blur()})):o([e])}function ze(e){return typeof t.unref(e)<"u"}function Qx(e,n,o,r){if(!e||!e.source||!e.target)return o(new Ze(Ge.EDGE_INVALID,(e==null?void 0:e.id)??"[ID UNKNOWN]")),!1;let i;return en(e)?i=e:i={...e,id:Ef(e)},i=kf(i,void 0,r),$x(i,n)?!1:i}function eA(e,n,o,r,i){if(!n.source||!n.target)return i(new Ze(Ge.EDGE_INVALID,e.id)),!1;if(!o)return i(new Ze(Ge.EDGE_NOT_FOUND,e.id)),!1;const{id:a,...l}=e;return{...l,id:r?Ef(n):a,source:n.source,target:n.target,sourceHandle:n.sourceHandle,targetHandle:n.targetHandle}}function qf(e,n,o){const r={},i=[];for(let a=0;a<e.length;++a){const l=e[a];if(!Sn(l)){o(new Ze(Ge.NODE_INVALID,l==null?void 0:l.id)||`[ID UNKNOWN|INDEX ${a}]`);continue}const s=Px(l,n(l.id),l.parentNode);l.parentNode&&(r[l.parentNode]=!0),i[a]=s}for(const a of i){const l=n(a.parentNode)||i.find(s=>s.id===a.parentNode);a.parentNode&&!l&&o(new Ze(Ge.NODE_MISSING_PARENT,a.id,a.parentNode)),(a.parentNode||r[a.id])&&(r[a.id]&&(a.isParent=!0),l&&(l.isParent=!0))}return i}function Gf(e,n,o,r,i,a){let l=i;const s=r.get(l)||new Map;r.set(l,s.set(o,n)),l=`${i}-${e}`;const c=r.get(l)||new Map;if(r.set(l,c.set(o,n)),a){l=`${i}-${e}-${a}`;const d=r.get(l)||new Map;r.set(l,d.set(o,n))}}function Il(e,n,o){e.clear();for(const r of o){const{source:i,target:a,sourceHandle:l=null,targetHandle:s=null}=r,c={edgeId:r.id,source:i,target:a,sourceHandle:l,targetHandle:s},d=`${i}-${l}--${a}-${s}`,f=`${a}-${s}--${i}-${l}`;Gf("source",c,f,e,i,l),Gf("target",c,d,e,a,s)}}function zf(e,n){if(e.size!==n.size)return!1;for(const o of e)if(!n.has(o))return!1;return!0}function Pl(e,n,o,r,i,a,l,s){const c=[];for(const d of e){const f=en(d)?d:Qx(d,s,i,a);if(!f)continue;const u=o(f.source),p=o(f.target);if(!u||!p){i(new Ze(Ge.EDGE_SOURCE_TARGET_MISSING,f.id,f.source,f.target));continue}if(!u){i(new Ze(Ge.EDGE_SOURCE_MISSING,f.id,f.source));continue}if(!p){i(new Ze(Ge.EDGE_TARGET_MISSING,f.id,f.target));continue}if(n&&!n(f,{edges:s,nodes:l,sourceNode:u,targetNode:p})){i(new Ze(Ge.EDGE_INVALID,f.id));continue}const m=r(f.id);c.push({...kf(f,m,a),sourceNode:u,targetNode:p})}return c}const Hf=Symbol("vueFlow"),Yf=Symbol("nodeId"),Wf=Symbol("nodeRef"),tA=Symbol("edgeId"),nA=Symbol("edgeRef"),wi=Symbol("slots");function Xf(e){const{vueFlowRef:n,snapToGrid:o,snapGrid:r,noDragClassName:i,nodes:a,nodeExtent:l,nodeDragThreshold:s,viewport:c,autoPanOnNodeDrag:d,autoPanSpeed:f,nodesDraggable:u,panBy:p,findNode:m,multiSelectionActive:h,nodesSelectionActive:_,selectNodesOnDrag:g,removeSelectedElements:y,addSelectedNodes:w,updateNodePositions:b,emits:v}=$e(),{onStart:S,onDrag:N,onStop:I,onClick:O,el:F,disabled:H,id:q,selectable:E,dragHandle:te}=e,P=t.shallowRef(!1);let G=[],R,K=null,V={x:void 0,y:void 0},M={x:0,y:0},D=null,L=!1,j=0,Z=!1;const W=iA(),ne=({x:le,y:ue})=>{V={x:le,y:ue};let ce=!1;if(G=G.map(T=>{const C={x:le-T.distance.x,y:ue-T.distance.y},{computedPosition:x}=Nl(T,o.value?_i(C,r.value):C,v.error,l.value,T.parentNode?m(T.parentNode):void 0);return ce=ce||T.position.x!==x.x||T.position.y!==x.y,T.position=x,T}),!!ce&&(b(G,!0,!0),P.value=!0,D)){const[T,C]=El({id:q,dragItems:G,findNode:m});N({event:D,node:T,nodes:C})}},ie=()=>{if(!K)return;const[le,ue]=Tf(M,K,f.value);if(le!==0||ue!==0){const ce={x:(V.x??0)-le/c.value.zoom,y:(V.y??0)-ue/c.value.zoom};p({x:le,y:ue})&&ne(ce)}j=requestAnimationFrame(ie)},de=(le,ue)=>{L=!0;const ce=m(q);!g.value&&!h.value&&ce&&(ce.selected||y()),ce&&t.toValue(E)&&g.value&&Al(ce,h.value,w,y,_,!1,ue);const T=W(le.sourceEvent);if(V=T,G=Dx(a.value,u.value,T,m,q),G.length){const[C,x]=El({id:q,dragItems:G,findNode:m});S({event:le.sourceEvent,node:C,nodes:x})}},ye=(le,ue)=>{var ce;le.sourceEvent.type==="touchmove"&&le.sourceEvent.touches.length>1||(s.value===0&&de(le,ue),V=W(le.sourceEvent),K=((ce=n.value)==null?void 0:ce.getBoundingClientRect())||null,M=$t(le.sourceEvent,K))},Q=(le,ue)=>{const ce=W(le.sourceEvent);if(!Z&&L&&d.value&&(Z=!0,ie()),!L){const T=ce.xSnapped-(V.x??0),C=ce.ySnapped-(V.y??0);Math.sqrt(T*T+C*C)>s.value&&de(le,ue)}(V.x!==ce.xSnapped||V.y!==ce.ySnapped)&&G.length&&L&&(D=le.sourceEvent,M=$t(le.sourceEvent,K),ne(ce))},oe=le=>{let ue=!1;if(!L&&!P.value&&!h.value){const ce=le.sourceEvent,T=W(ce),C=T.xSnapped-(V.x??0),x=T.ySnapped-(V.y??0),k=Math.sqrt(C*C+x*x);k!==0&&k<=s.value&&(O==null||O(ce),ue=!0)}if(G.length&&!ue){b(G,!1,!1);const[ce,T]=El({id:q,dragItems:G,findNode:m});I({event:le.sourceEvent,node:ce,nodes:T})}G=[],P.value=!1,Z=!1,L=!1,V={x:void 0,y:void 0},cancelAnimationFrame(j)};return t.watch([()=>t.toValue(H),F],([le,ue],ce,T)=>{if(ue){const C=kt(ue);le||(R=IS().on("start",x=>ye(x,ue)).on("drag",x=>Q(x,ue)).on("end",x=>oe(x)).filter(x=>{const k=x.target,$=t.toValue(te);return!x.button&&(!i.value||!Rf(k,`.${i.value}`,ue)&&(!$||Rf(k,$,ue)))}),C.call(R)),T(()=>{C.on(".drag",null),R&&(R.on("start",null),R.on("drag",null),R.on("end",null))})}}),P}function oA(){return{doubleClick:_e(),click:_e(),mouseEnter:_e(),mouseMove:_e(),mouseLeave:_e(),contextMenu:_e(),updateStart:_e(),update:_e(),updateEnd:_e()}}function rA(e,n){const o=oA();return o.doubleClick.on(r=>{var i,a;n.edgeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.edgeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.edgeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.edgeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.edgeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.edgeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.updateStart.on(r=>{var i,a;n.edgeUpdateStart(r),(a=(i=e.events)==null?void 0:i.updateStart)==null||a.call(i,r)}),o.update.on(r=>{var i,a;n.edgeUpdate(r),(a=(i=e.events)==null?void 0:i.update)==null||a.call(i,r)}),o.updateEnd.on(r=>{var i,a;n.edgeUpdateEnd(r),(a=(i=e.events)==null?void 0:i.updateEnd)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function iA(){const{viewport:e,snapGrid:n,snapToGrid:o,vueFlowRef:r}=$e();return i=>{var a;const l=((a=r.value)==null?void 0:a.getBoundingClientRect())??{left:0,top:0},s=jx(i)?i.sourceEvent:i,{x:c,y:d}=$t(s,l),f=Zo({x:c,y:d},e.value),{x:u,y:p}=o.value?_i(f,n.value):f;return{xSnapped:u,ySnapped:p,...f}}}function ki(){return!0}function Zf({handleId:e,nodeId:n,type:o,isValidConnection:r,edgeUpdaterType:i,onEdgeUpdate:a,onEdgeUpdateEnd:l}){const{id:s,vueFlowRef:c,connectionMode:d,connectionRadius:f,connectOnClick:u,connectionClickStartHandle:p,nodesConnectable:m,autoPanOnConnect:h,autoPanSpeed:_,findNode:g,panBy:y,startConnection:w,updateConnection:b,endConnection:v,emits:S,viewport:N,edges:I,nodes:O,isValidConnection:F,nodeLookup:H}=$e();let q=null,E=!1,te=null;function P(R){var K;const V=t.toValue(o)==="target",M=Sl(R),D=wf(R.target);if(M&&R.button===0||!M){let L=function(B){T=$t(B,le),ne=Yx(Zo(T,N.value,!1,[1,1]),f.value,H.value,k),C||(x(),C=!0);const ee=Lf(B,{handle:ne,connectionMode:d.value,fromNodeId:t.toValue(n),fromHandleId:t.toValue(e),fromType:V?"target":"source",isValidConnection:W,doc:D,lib:"vue",flowId:s,nodeLookup:H.value},I.value,O.value,g);te=ee.handleDomNode,q=ee.connection,E=Xx(!!ne,ee.isValid);const U={...X,isValid:E,to:ee.toHandle&&E?kl({x:ee.toHandle.x,y:ee.toHandle.y},N.value):T,toHandle:ee.toHandle,toPosition:E&&ee.toHandle?ee.toHandle.position:xl[k.position],toNode:ee.toHandle?H.value.get(ee.toHandle.nodeId):null};if(!(E&&ne&&(X!=null&&X.toHandle)&&U.toHandle&&X.toHandle.type===U.toHandle.type&&X.toHandle.nodeId===U.toHandle.nodeId&&X.toHandle.id===U.toHandle.id&&X.to.x===U.to.x&&X.to.y===U.to.y)){if(b(ne&&E?kl({x:ne.x,y:ne.y},N.value):T,ee.toHandle,Wx(!!ne,E)),X=U,!ne&&!E&&!te)return vl(ce);q&&q.source!==q.target&&te&&(vl(ce),ce=te,te.classList.add("connecting","vue-flow__handle-connecting"),te.classList.toggle("valid",!!E),te.classList.toggle("vue-flow__handle-valid",!!E))}},j=function(B){(ne||te)&&q&&E&&(a?a(B,q):S.connect(q)),S.connectEnd(B),i&&(l==null||l(B)),vl(ce),cancelAnimationFrame(ie),v(B),C=!1,E=!1,q=null,te=null,D.removeEventListener("mousemove",L),D.removeEventListener("mouseup",j),D.removeEventListener("touchmove",L),D.removeEventListener("touchend",j)};const Z=g(t.toValue(n));let W=t.toValue(r)||F.value||ki;!W&&Z&&(W=(V?Z.isValidSourcePos:Z.isValidTargetPos)||ki);let ne,ie=0;const{x:de,y:ye}=$t(R),Q=D==null?void 0:D.elementFromPoint(de,ye),oe=Uf(t.toValue(i),Q),le=(K=c.value)==null?void 0:K.getBoundingClientRect();if(!le||!oe)return;const ue=Zx(t.toValue(n),oe,t.toValue(e),H.value,d.value);if(!ue)return;let ce,T=$t(R,le),C=!1;const x=()=>{if(!h.value)return;const[B,ee]=Tf(T,le,_.value);y({x:B,y:ee}),ie=requestAnimationFrame(x)},k={...ue,nodeId:t.toValue(n),type:oe,position:ue.position},$=H.value.get(t.toValue(n)),z={inProgress:!0,isValid:null,from:no($,k,be.Left,!0),fromHandle:k,fromPosition:k.position,fromNode:$,to:T,toHandle:null,toPosition:xl[k.position],toNode:null};w({nodeId:t.toValue(n),id:t.toValue(e),type:oe,position:(Q==null?void 0:Q.getAttribute("data-handlepos"))||be.Top,...T},{x:de-le.left,y:ye-le.top}),S.connectStart({event:R,nodeId:t.toValue(n),handleId:t.toValue(e),handleType:oe});let X=z;D.addEventListener("mousemove",L),D.addEventListener("mouseup",j),D.addEventListener("touchmove",L),D.addEventListener("touchend",j)}}function G(R){var K,V;if(!u.value)return;const M=t.toValue(o)==="target";if(!p.value){S.clickConnectStart({event:R,nodeId:t.toValue(n),handleId:t.toValue(e)}),w({nodeId:t.toValue(n),type:t.toValue(o),id:t.toValue(e),position:be.Top,...$t(R)},void 0,!0);return}let D=t.toValue(r)||F.value||ki;const L=g(t.toValue(n));if(!D&&L&&(D=(M?L.isValidSourcePos:L.isValidTargetPos)||ki),L&&(typeof L.connectable>"u"?m.value:L.connectable)===!1)return;const j=wf(R.target),Z=Lf(R,{handle:{nodeId:t.toValue(n),id:t.toValue(e),type:t.toValue(o),position:be.Top,...$t(R)},connectionMode:d.value,fromNodeId:p.value.nodeId,fromHandleId:p.value.id??null,fromType:p.value.type,isValidConnection:D,doc:j,lib:"vue",flowId:s,nodeLookup:H.value},I.value,O.value,g),W=((K=Z.connection)==null?void 0:K.source)===((V=Z.connection)==null?void 0:V.target);Z.isValid&&Z.connection&&!W&&S.connect(Z.connection),S.clickConnectEnd(R),v(R,!0)}return{handlePointerDown:P,handleClick:G}}function aA(){return t.inject(Yf,"")}function Jf(e){const n=e??aA()??"",o=t.inject(Wf,t.ref(null)),{findNode:r,edges:i,emits:a}=$e(),l=r(n);return l||a.error(new Ze(Ge.NODE_NOT_FOUND,n)),{id:n,nodeEl:o,node:l,parentNode:t.computed(()=>r(l.parentNode)),connectedEdges:t.computed(()=>xf([l],i.value))}}function lA(){return{doubleClick:_e(),click:_e(),mouseEnter:_e(),mouseMove:_e(),mouseLeave:_e(),contextMenu:_e(),dragStart:_e(),drag:_e(),dragStop:_e()}}function sA(e,n){const o=lA();return o.doubleClick.on(r=>{var i,a;n.nodeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.nodeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.nodeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.nodeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.nodeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.nodeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.dragStart.on(r=>{var i,a;n.nodeDragStart(r),(a=(i=e.events)==null?void 0:i.dragStart)==null||a.call(i,r)}),o.drag.on(r=>{var i,a;n.nodeDrag(r),(a=(i=e.events)==null?void 0:i.drag)==null||a.call(i,r)}),o.dragStop.on(r=>{var i,a;n.nodeDragStop(r),(a=(i=e.events)==null?void 0:i.dragStop)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function Qf(){const{getSelectedNodes:e,nodeExtent:n,updateNodePositions:o,findNode:r,snapGrid:i,snapToGrid:a,nodesDraggable:l,emits:s}=$e();return(c,d=!1)=>{const f=a.value?i.value[0]:5,u=a.value?i.value[1]:5,p=d?4:1,m=c.x*f*p,h=c.y*u*p,_=[];for(const g of e.value)if(g.draggable||l&&typeof g.draggable>"u"){const y={x:g.computedPosition.x+m,y:g.computedPosition.y+h},{computedPosition:w}=Nl(g,y,s.error,n.value,g.parentNode?r(g.parentNode):void 0);_.push({id:g.id,position:w,from:g.position,distance:{x:c.x,y:c.y},dimensions:g.dimensions})}o(_,!0,!1)}}const Tl=.1,cA=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2;function on(){return bi("Viewport not initialized yet."),Promise.resolve(!1)}const dA={zoomIn:on,zoomOut:on,zoomTo:on,fitView:on,setCenter:on,fitBounds:on,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:on,setTransform:on,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function uA(e){function n(r,i){return new Promise(a=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((i==null?void 0:i.interpolate)==="linear"?Ko:ni).scaleBy(Ol(e.d3Selection,i==null?void 0:i.duration,i==null?void 0:i.ease,()=>{a(!0)}),r):a(!1)})}function o(r,i,a,l){return new Promise(s=>{var c;const{x:d,y:f}=bf({x:-r,y:-i},e.translateExtent),u=eo.translate(-d,-f).scale(a);e.d3Selection&&e.d3Zoom?(c=e.d3Zoom)==null||c.interpolate((l==null?void 0:l.interpolate)==="linear"?Ko:ni).transform(Ol(e.d3Selection,l==null?void 0:l.duration,l==null?void 0:l.ease,()=>{s(!0)}),u):s(!1)})}return t.computed(()=>e.d3Zoom&&e.d3Selection&&e.dimensions.width&&e.dimensions.height?{viewportInitialized:!0,zoomIn:i=>n(1.2,i),zoomOut:i=>n(1/1.2,i),zoomTo:(i,a)=>new Promise(l=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((a==null?void 0:a.interpolate)==="linear"?Ko:ni).scaleTo(Ol(e.d3Selection,a==null?void 0:a.duration,a==null?void 0:a.ease,()=>{l(!0)}),i):l(!1)}),setViewport:(i,a)=>o(i.x,i.y,i.zoom,a),setTransform:(i,a)=>o(i.x,i.y,i.zoom,a),getViewport:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),getTransform:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),fitView:(i={padding:Tl,includeHiddenNodes:!1,duration:0})=>{var a,l;const s=[];for(const p of e.nodes)p.dimensions.width&&p.dimensions.height&&((i==null?void 0:i.includeHiddenNodes)||!p.hidden)&&(!((a=i.nodes)!=null&&a.length)||(l=i.nodes)!=null&&l.length&&i.nodes.includes(p.id))&&s.push(p);if(!s.length)return Promise.resolve(!1);const c=Sf(s),{x:d,y:f,zoom:u}=Af(c,e.dimensions.width,e.dimensions.height,i.minZoom??e.minZoom,i.maxZoom??e.maxZoom,i.padding??Tl,i.offset);return o(d,f,u,i)},setCenter:(i,a,l)=>{const s=typeof(l==null?void 0:l.zoom)<"u"?l.zoom:e.maxZoom,c=e.dimensions.width/2-i*s,d=e.dimensions.height/2-a*s;return o(c,d,s,l)},fitBounds:(i,a={padding:Tl})=>{const{x:l,y:s,zoom:c}=Af(i,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,a.padding);return o(l,s,c,a)},project:i=>Zo(i,e.viewport,e.snapToGrid,e.snapGrid),screenToFlowCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x-a,y:i.y-l};return Zo(s,e.viewport,e.snapToGrid,e.snapGrid)}return{x:0,y:0}},flowToScreenCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x+a,y:i.y+l};return kl(s,e.viewport)}return{x:0,y:0}}}:dA)}function Ol(e,n=0,o=cA,r=()=>{}){const i=typeof n=="number"&&n>0;return i||r(),i?e.transition().duration(n).ease(o).on("end",r):e}function fA(e,n,o){const r=t.effectScope(!0);return r.run(()=>{const i=()=>{r.run(()=>{let _,g,y=!!(o.nodes.value.length||o.edges.value.length);_=Wn([e.modelValue,()=>{var w,b;return(b=(w=e.modelValue)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setElements(w),!g&&!y&&w.length?y=!0:g==null||g.resume())}),g=Wn([o.nodes,o.edges,()=>o.edges.value.length,()=>o.nodes.value.length],([w,b])=>{var v;(v=e.modelValue)!=null&&v.value&&Array.isArray(e.modelValue.value)&&(_==null||_.pause(),e.modelValue.value=[...w,...b],t.nextTick(()=>{_==null||_.resume()}))},{immediate:y}),t.onScopeDispose(()=>{_==null||_.stop(),g==null||g.stop()})})},a=()=>{r.run(()=>{let _,g,y=!!o.nodes.value.length;_=Wn([e.nodes,()=>{var w,b;return(b=(w=e.nodes)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setNodes(w),!g&&!y&&w.length?y=!0:g==null||g.resume())}),g=Wn([o.nodes,()=>o.nodes.value.length],([w])=>{var b;(b=e.nodes)!=null&&b.value&&Array.isArray(e.nodes.value)&&(_==null||_.pause(),e.nodes.value=[...w],t.nextTick(()=>{_==null||_.resume()}))},{immediate:y}),t.onScopeDispose(()=>{_==null||_.stop(),g==null||g.stop()})})},l=()=>{r.run(()=>{let _,g,y=!!o.edges.value.length;_=Wn([e.edges,()=>{var w,b;return(b=(w=e.edges)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setEdges(w),!g&&!y&&w.length?y=!0:g==null||g.resume())}),g=Wn([o.edges,()=>o.edges.value.length],([w])=>{var b;(b=e.edges)!=null&&b.value&&Array.isArray(e.edges.value)&&(_==null||_.pause(),e.edges.value=[...w],t.nextTick(()=>{_==null||_.resume()}))},{immediate:y}),t.onScopeDispose(()=>{_==null||_.stop(),g==null||g.stop()})})},s=()=>{r.run(()=>{t.watch(()=>n.maxZoom,()=>{n.maxZoom&&ze(n.maxZoom)&&o.setMaxZoom(n.maxZoom)},{immediate:!0})})},c=()=>{r.run(()=>{t.watch(()=>n.minZoom,()=>{n.minZoom&&ze(n.minZoom)&&o.setMinZoom(n.minZoom)},{immediate:!0})})},d=()=>{r.run(()=>{t.watch(()=>n.translateExtent,()=>{n.translateExtent&&ze(n.translateExtent)&&o.setTranslateExtent(n.translateExtent)},{immediate:!0})})},f=()=>{r.run(()=>{t.watch(()=>n.nodeExtent,()=>{n.nodeExtent&&ze(n.nodeExtent)&&o.setNodeExtent(n.nodeExtent)},{immediate:!0})})},u=()=>{r.run(()=>{t.watch(()=>n.applyDefault,()=>{ze(n.applyDefault)&&(o.applyDefault.value=n.applyDefault)},{immediate:!0})})},p=()=>{r.run(()=>{const _=async g=>{let y=g;typeof n.autoConnect=="function"&&(y=await n.autoConnect(g)),y!==!1&&o.addEdges([y])};t.watch(()=>n.autoConnect,()=>{ze(n.autoConnect)&&(o.autoConnect.value=n.autoConnect)},{immediate:!0}),t.watch(o.autoConnect,(g,y,w)=>{g?o.onConnect(_):o.hooks.value.connect.off(_),w(()=>{o.hooks.value.connect.off(_)})},{immediate:!0})})},m=()=>{const _=["id","modelValue","translateExtent","nodeExtent","edges","nodes","maxZoom","minZoom","applyDefault","autoConnect"];for(const g of Object.keys(n)){const y=g;if(!_.includes(y)){const w=t.toRef(()=>n[y]),b=o[y];t.isRef(b)&&r.run(()=>{t.watch(w,v=>{ze(v)&&(b.value=v)},{immediate:!0})})}}};(()=>{i(),a(),l(),c(),s(),d(),f(),u(),p(),m()})()}),()=>r.stop()}function pA(){return{edgesChange:_e(),nodesChange:_e(),nodeDoubleClick:_e(),nodeClick:_e(),nodeMouseEnter:_e(),nodeMouseMove:_e(),nodeMouseLeave:_e(),nodeContextMenu:_e(),nodeDragStart:_e(),nodeDrag:_e(),nodeDragStop:_e(),nodesInitialized:_e(),miniMapNodeClick:_e(),miniMapNodeDoubleClick:_e(),miniMapNodeMouseEnter:_e(),miniMapNodeMouseMove:_e(),miniMapNodeMouseLeave:_e(),connect:_e(),connectStart:_e(),connectEnd:_e(),clickConnectStart:_e(),clickConnectEnd:_e(),paneReady:_e(),init:_e(),move:_e(),moveStart:_e(),moveEnd:_e(),selectionDragStart:_e(),selectionDrag:_e(),selectionDragStop:_e(),selectionContextMenu:_e(),selectionStart:_e(),selectionEnd:_e(),viewportChangeStart:_e(),viewportChange:_e(),viewportChangeEnd:_e(),paneScroll:_e(),paneClick:_e(),paneContextMenu:_e(),paneMouseEnter:_e(),paneMouseMove:_e(),paneMouseLeave:_e(),edgeContextMenu:_e(),edgeMouseEnter:_e(),edgeMouseMove:_e(),edgeMouseLeave:_e(),edgeDoubleClick:_e(),edgeClick:_e(),edgeUpdateStart:_e(),edgeUpdate:_e(),edgeUpdateEnd:_e(),updateNodeInternals:_e(),error:_e(e=>bi(e.message))}}function mA(e,n){t.onBeforeMount(()=>{for(const[o,r]of Object.entries(n.value)){const i=a=>{e(o,a)};r.fns.add(i),qr(()=>{r.off(i)})}})}function ep(){return{vueFlowRef:null,viewportRef:null,nodes:[],edges:[],connectionLookup:new Map,nodeTypes:{},edgeTypes:{},initialized:!1,dimensions:{width:0,height:0},viewport:{x:0,y:0,zoom:1},d3Zoom:null,d3Selection:null,d3ZoomHandler:null,minZoom:.5,maxZoom:2,translateExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],nodeExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],selectionMode:bl.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:Yo.Free,paneClickDistance:0,panOnDrag:!0,edgeUpdaterRadius:10,onlyRenderVisibleElements:!1,defaultViewport:{x:0,y:0,zoom:1},nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,defaultMarkerColor:"#b1b1b7",connectionLineStyle:{},connectionLineType:null,connectionLineOptions:{type:En.Bezier,style:{}},connectionMode:Qt.Loose,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectionPosition:{x:Number.NaN,y:Number.NaN},connectionRadius:20,connectOnClick:!0,connectionStatus:null,isValidConnection:null,snapGrid:[15,15],snapToGrid:!1,edgesUpdatable:!1,edgesFocusable:!0,nodesFocusable:!0,nodesConnectable:!0,nodesDraggable:!0,nodeDragThreshold:1,elementsSelectable:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,selectionKeyCode:"Shift",multiSelectionKeyCode:yi()?"Meta":"Control",zoomActivationKeyCode:yi()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:pA(),applyDefault:!0,autoConnect:!1,fitViewOnInit:!1,fitViewOnInitDone:!1,noDragClassName:"nodrag",noWheelClassName:"nowheel",noPanClassName:"nopan",defaultEdgeOptions:void 0,elevateEdgesOnSelect:!1,elevateNodesOnSelect:!0,autoPanOnNodeDrag:!0,autoPanOnConnect:!0,autoPanSpeed:15,disableKeyboardA11y:!1,ariaLiveMessage:""}}const gA=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function hA(e,n,o){const r=uA(e),i=T=>{const C=T??[];e.hooks.updateNodeInternals.trigger(C)},a=T=>Ox(T,e.nodes,e.edges),l=T=>Tx(T,e.nodes,e.edges),s=T=>xf(T,e.edges),c=({id:T,type:C,nodeId:x})=>{var k;return Array.from(((k=e.connectionLookup.get(`${x}-${C}-${T??null}`))==null?void 0:k.values())??[])},d=T=>{if(T)return n.value.get(T)},f=T=>{if(T)return o.value.get(T)},u=(T,C,x)=>{var k,$;const A=[];for(const z of T){const X={id:z.id,type:"position",dragging:x,from:z.from};if(C&&(X.position=z.position,z.parentNode)){const B=d(z.parentNode);X.position={x:X.position.x-(((k=B==null?void 0:B.computedPosition)==null?void 0:k.x)??0),y:X.position.y-((($=B==null?void 0:B.computedPosition)==null?void 0:$.y)??0)}}A.push(X)}A!=null&&A.length&&e.hooks.nodesChange.trigger(A)},p=T=>{if(!e.vueFlowRef)return;const C=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!C)return;const x=window.getComputedStyle(C),{m22:k}=new window.DOMMatrixReadOnly(x.transform),$=[];for(const A of T){const z=A,X=d(z.id);if(X){const B=gi(z.nodeElement);if(!!(B.width&&B.height&&(X.dimensions.width!==B.width||X.dimensions.height!==B.height||z.forceUpdate))){const U=z.nodeElement.getBoundingClientRect();X.dimensions=B,X.handleBounds.source=jf("source",z.nodeElement,U,k,X.id),X.handleBounds.target=jf("target",z.nodeElement,U,k,X.id),$.push({id:X.id,type:"dimensions",dimensions:B})}}}!e.fitViewOnInitDone&&e.fitViewOnInit&&r.value.fitView().then(()=>{e.fitViewOnInitDone=!0}),$.length&&e.hooks.nodesChange.trigger($)},m=(T,C)=>{const x=new Set,k=new Set;for(const z of T)Sn(z)?x.add(z.id):en(z)&&k.add(z.id);const $=nn(n.value,x,!0),A=nn(o.value,k);if(e.multiSelectionActive){for(const z of x)$.push(tn(z,C));for(const z of k)A.push(tn(z,C))}$.length&&e.hooks.nodesChange.trigger($),A.length&&e.hooks.edgesChange.trigger(A)},h=T=>{if(e.multiSelectionActive){const C=T.map(x=>tn(x.id,!0));e.hooks.nodesChange.trigger(C);return}e.hooks.nodesChange.trigger(nn(n.value,new Set(T.map(C=>C.id)),!0)),e.hooks.edgesChange.trigger(nn(o.value))},_=T=>{if(e.multiSelectionActive){const C=T.map(x=>tn(x.id,!0));e.hooks.edgesChange.trigger(C);return}e.hooks.edgesChange.trigger(nn(o.value,new Set(T.map(C=>C.id)))),e.hooks.nodesChange.trigger(nn(n.value,new Set,!0))},g=T=>{m(T,!0)},y=T=>{const x=(T||e.nodes).map(k=>(k.selected=!1,tn(k.id,!1)));e.hooks.nodesChange.trigger(x)},w=T=>{const x=(T||e.edges).map(k=>(k.selected=!1,tn(k.id,!1)));e.hooks.edgesChange.trigger(x)},b=T=>{if(!T||!T.length)return m([],!1);const C=T.reduce((x,k)=>{const $=tn(k.id,!1);return Sn(k)?x.nodes.push($):x.edges.push($),x},{nodes:[],edges:[]});C.nodes.length&&e.hooks.nodesChange.trigger(C.nodes),C.edges.length&&e.hooks.edgesChange.trigger(C.edges)},v=T=>{var C;(C=e.d3Zoom)==null||C.scaleExtent([T,e.maxZoom]),e.minZoom=T},S=T=>{var C;(C=e.d3Zoom)==null||C.scaleExtent([e.minZoom,T]),e.maxZoom=T},N=T=>{var C;(C=e.d3Zoom)==null||C.translateExtent(T),e.translateExtent=T},I=T=>{e.nodeExtent=T,i()},O=T=>{var C;(C=e.d3Zoom)==null||C.clickDistance(T)},F=T=>{e.nodesDraggable=T,e.nodesConnectable=T,e.elementsSelectable=T},H=T=>{const C=T instanceof Function?T(e.nodes):T;!e.initialized&&!C.length||(e.nodes=qf(C,d,e.hooks.error.trigger))},q=T=>{const C=T instanceof Function?T(e.edges):T;if(!e.initialized&&!C.length)return;const x=Pl(C,e.isValidConnection,d,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);Il(e.connectionLookup,o.value,x),e.edges=x},E=T=>{const C=T instanceof Function?T([...e.nodes,...e.edges]):T;!e.initialized&&!C.length||(H(C.filter(Sn)),q(C.filter(en)))},te=T=>{let C=T instanceof Function?T(e.nodes):T;C=Array.isArray(C)?C:[C];const x=qf(C,d,e.hooks.error.trigger),k=[];for(const $ of x)k.push($f($));k.length&&e.hooks.nodesChange.trigger(k)},P=T=>{let C=T instanceof Function?T(e.edges):T;C=Array.isArray(C)?C:[C];const x=Pl(C,e.isValidConnection,d,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),k=[];for(const $ of x)k.push($f($));k.length&&e.hooks.edgesChange.trigger(k)},G=(T,C=!0,x=!1)=>{const k=T instanceof Function?T(e.nodes):T,$=Array.isArray(k)?k:[k],A=[],z=[];function X(ee){const U=s(ee);for(const me of U)(!ze(me.deletable)||me.deletable)&&z.push(Vf(me.id,me.source,me.target,me.sourceHandle,me.targetHandle))}function B(ee){const U=[];for(const me of e.nodes)me.parentNode===ee&&U.push(me);if(U.length){for(const me of U)A.push(Bf(me.id));C&&X(U);for(const me of U)B(me.id)}}for(const ee of $){const U=typeof ee=="string"?d(ee):ee;U&&(ze(U.deletable)&&!U.deletable||(A.push(Bf(U.id)),C&&X([U]),x&&B(U.id)))}z.length&&e.hooks.edgesChange.trigger(z),A.length&&e.hooks.nodesChange.trigger(A)},R=T=>{const C=T instanceof Function?T(e.edges):T,x=Array.isArray(C)?C:[C],k=[];for(const $ of x){const A=typeof $=="string"?f($):$;A&&(ze(A.deletable)&&!A.deletable||k.push(Vf(typeof $=="string"?$:$.id,A.source,A.target,A.sourceHandle,A.targetHandle)))}e.hooks.edgesChange.trigger(k)},K=(T,C,x=!0)=>{const k=f(T.id);if(!k)return!1;const $=e.edges.indexOf(k),A=eA(T,C,k,x,e.hooks.error.trigger);if(A){const[z]=Pl([A],e.isValidConnection,d,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);return e.edges=e.edges.map((X,B)=>B===$?z:X),Il(e.connectionLookup,o.value,[z]),z}return!1},V=(T,C,x={replace:!1})=>{const k=f(T);if(!k)return;const $=typeof C=="function"?C(k):C;k.data=x.replace?$:{...k.data,...$}},M=T=>Of(T,e.nodes),D=T=>{const C=Of(T,e.edges);return Il(e.connectionLookup,o.value,C),C},L=(T,C,x={replace:!1})=>{const k=d(T);if(!k)return;const $=typeof C=="function"?C(k):C;x.replace?e.nodes.splice(e.nodes.indexOf(k),1,$):Object.assign(k,$)},j=(T,C,x={replace:!1})=>{const k=d(T);if(!k)return;const $=typeof C=="function"?C(k):C;k.data=x.replace?$:{...k.data,...$}},Z=(T,C,x=!1)=>{x?e.connectionClickStartHandle=T:e.connectionStartHandle=T,e.connectionEndHandle=null,e.connectionStatus=null,C&&(e.connectionPosition=C)},W=(T,C=null,x=null)=>{e.connectionStartHandle&&(e.connectionPosition=T,e.connectionEndHandle=C,e.connectionStatus=x)},ne=(T,C)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,C?e.connectionClickStartHandle=null:e.connectionStartHandle=null},ie=T=>{const C=Ix(T),x=C?null:Xo(T)?T:d(T.id);return!C&&!x?[null,null,C]:[C?T:pi(x),x,C]},de=(T,C=!0,x=e.nodes)=>{const[k,$,A]=ie(T);if(!k)return[];const z=[];for(const X of x||e.nodes){if(!A&&(X.id===$.id||!X.computedPosition))continue;const B=pi(X),ee=mi(B,k);(C&&ee>0||ee>=Number(k.width)*Number(k.height))&&z.push(X)}return z},ye=(T,C,x=!0)=>{const[k]=ie(T);if(!k)return!1;const $=mi(k,C);return x&&$>0||$>=Number(k.width)*Number(k.height)},Q=T=>{const{viewport:C,dimensions:x,d3Zoom:k,d3Selection:$,translateExtent:A}=e;if(!k||!$||!T.x&&!T.y)return!1;const z=eo.translate(C.x+T.x,C.y+T.y).scale(C.zoom),X=[[0,0],[x.width,x.height]],B=k.constrain()(z,X,A),ee=e.viewport.x!==B.x||e.viewport.y!==B.y||e.viewport.zoom!==B.k;return k.transform($,B),ee},oe=T=>{const C=T instanceof Function?T(e):T,x=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];ze(C.defaultEdgeOptions)&&(e.defaultEdgeOptions=C.defaultEdgeOptions);const k=C.modelValue||C.nodes||C.edges?[]:void 0;k&&(C.modelValue&&k.push(...C.modelValue),C.nodes&&k.push(...C.nodes),C.edges&&k.push(...C.edges),E(k));const $=()=>{ze(C.maxZoom)&&S(C.maxZoom),ze(C.minZoom)&&v(C.minZoom),ze(C.translateExtent)&&N(C.translateExtent)};for(const A of Object.keys(C)){const z=A,X=C[z];![...gA,...x].includes(z)&&ze(X)&&(e[z]=X)}Ja(()=>e.d3Zoom).not.toBeNull().then($),e.initialized||(e.initialized=!0)};return{updateNodePositions:u,updateNodeDimensions:p,setElements:E,setNodes:H,setEdges:q,addNodes:te,addEdges:P,removeNodes:G,removeEdges:R,findNode:d,findEdge:f,updateEdge:K,updateEdgeData:V,updateNode:L,updateNodeData:j,applyEdgeChanges:D,applyNodeChanges:M,addSelectedElements:g,addSelectedNodes:h,addSelectedEdges:_,setMinZoom:v,setMaxZoom:S,setTranslateExtent:N,setNodeExtent:I,setPaneClickDistance:O,removeSelectedElements:b,removeSelectedNodes:y,removeSelectedEdges:w,startConnection:Z,updateConnection:W,endConnection:ne,setInteractive:F,setState:oe,getIntersectingNodes:de,getIncomers:a,getOutgoers:l,getConnectedEdges:s,getHandleConnections:c,isNodeIntersecting:ye,panBy:Q,fitView:T=>r.value.fitView(T),zoomIn:T=>r.value.zoomIn(T),zoomOut:T=>r.value.zoomOut(T),zoomTo:(T,C)=>r.value.zoomTo(T,C),setViewport:(T,C)=>r.value.setViewport(T,C),setTransform:(T,C)=>r.value.setTransform(T,C),getViewport:()=>r.value.getViewport(),getTransform:()=>r.value.getTransform(),setCenter:(T,C,x)=>r.value.setCenter(T,C,x),fitBounds:(T,C)=>r.value.fitBounds(T,C),project:T=>r.value.project(T),screenToFlowCoordinate:T=>r.value.screenToFlowCoordinate(T),flowToScreenCoordinate:T=>r.value.flowToScreenCoordinate(T),toObject:()=>{const T=[],C=[];for(const x of e.nodes){const{computedPosition:k,handleBounds:$,selected:A,dimensions:z,isParent:X,resizing:B,dragging:ee,events:U,...me}=x;T.push(me)}for(const x of e.edges){const{selected:k,sourceNode:$,targetNode:A,events:z,...X}=x;C.push(X)}return JSON.parse(JSON.stringify({nodes:T,edges:C,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:T=>new Promise(C=>{const{nodes:x,edges:k,position:$,zoom:A,viewport:z}=T;if(x&&H(x),k&&q(k),z!=null&&z.x&&(z!=null&&z.y)||$){const X=(z==null?void 0:z.x)||$[0],B=(z==null?void 0:z.y)||$[1],ee=(z==null?void 0:z.zoom)||A||e.viewport.zoom;return Ja(()=>r.value.viewportInitialized).toBe(!0).then(()=>{r.value.setViewport({x:X,y:B,zoom:ee}).then(()=>{C(!0)})})}else C(!0)}),updateNodeInternals:i,viewportHelper:r,$reset:()=>{const T=ep();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const C=eo.translate(T.defaultViewport.x??0,T.defaultViewport.y??0).scale(Nn(T.defaultViewport.zoom??1,T.minZoom,T.maxZoom)),x=e.viewportRef.getBoundingClientRect(),k=[[0,0],[x.width,x.height]],$=e.d3Zoom.constrain()(C,k,T.translateExtent);e.d3Zoom.transform(e.d3Selection,$)}oe(T)},$destroy:()=>{}}}const yA=["data-id","data-handleid","data-nodeid","data-handlepos"],_A={name:"Handle",compatConfig:{MODE:3}},rn=t.defineComponent({..._A,props:{id:{default:null},type:{},position:{default:()=>be.Top},isValidConnection:{type:Function},connectable:{type:[Boolean,Number,String,Function],default:void 0},connectableStart:{type:Boolean,default:!0},connectableEnd:{type:Boolean,default:!0}},setup(e,{expose:n}){const o=t.createPropsRestProxy(e,["position","connectable","connectableStart","connectableEnd","id"]),r=t.toRef(()=>o.type??"source"),i=t.toRef(()=>o.isValidConnection??null),{id:a,connectionStartHandle:l,connectionClickStartHandle:s,connectionEndHandle:c,vueFlowRef:d,nodesConnectable:f,noDragClassName:u,noPanClassName:p}=$e(),{id:m,node:h,nodeEl:_,connectedEdges:g}=Jf(),y=t.ref(),w=t.toRef(()=>typeof e.connectableStart<"u"?e.connectableStart:!0),b=t.toRef(()=>typeof e.connectableEnd<"u"?e.connectableEnd:!0),v=t.toRef(()=>{var q,E,te,P,G,R;return((q=l.value)==null?void 0:q.nodeId)===m&&((E=l.value)==null?void 0:E.id)===e.id&&((te=l.value)==null?void 0:te.type)===r.value||((P=c.value)==null?void 0:P.nodeId)===m&&((G=c.value)==null?void 0:G.id)===e.id&&((R=c.value)==null?void 0:R.type)===r.value}),S=t.toRef(()=>{var q,E,te;return((q=s.value)==null?void 0:q.nodeId)===m&&((E=s.value)==null?void 0:E.id)===e.id&&((te=s.value)==null?void 0:te.type)===r.value}),{handlePointerDown:N,handleClick:I}=Zf({nodeId:m,handleId:e.id,isValidConnection:i,type:r}),O=t.computed(()=>typeof e.connectable=="string"&&e.connectable==="single"?!g.value.some(q=>{const E=q[`${r.value}Handle`];return q[r.value]!==m?!1:E?E===e.id:!0}):typeof e.connectable=="number"?g.value.filter(q=>{const E=q[`${r.value}Handle`];return q[r.value]!==m?!1:E?E===e.id:!0}).length<e.connectable:typeof e.connectable=="function"?e.connectable(h,g.value):ze(e.connectable)?e.connectable:f.value);t.onMounted(()=>{var q;if(!h.dimensions.width||!h.dimensions.height)return;const E=(q=h.handleBounds[r.value])==null?void 0:q.find(M=>M.id===e.id);if(!d.value||E)return;const te=d.value.querySelector(".vue-flow__transformationpane");if(!_.value||!y.value||!te||!e.id)return;const P=_.value.getBoundingClientRect(),G=y.value.getBoundingClientRect(),R=window.getComputedStyle(te),{m22:K}=new window.DOMMatrixReadOnly(R.transform),V={id:e.id,position:e.position,x:(G.left-P.left)/K,y:(G.top-P.top)/K,type:r.value,nodeId:m,...gi(y.value)};h.handleBounds[r.value]=[...h.handleBounds[r.value]??[],V]});function F(q){const E=Sl(q);O.value&&w.value&&(E&&q.button===0||!E)&&N(q)}function H(q){!m||!s.value&&!w.value||O.value&&I(q)}return n({handleClick:I,handlePointerDown:N,onClick:H,onPointerDown:F}),(q,E)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"handle",ref:y,"data-id":`${t.unref(a)}-${t.unref(m)}-${e.id}-${r.value}`,"data-handleid":e.id,"data-nodeid":t.unref(m),"data-handlepos":q.position,class:t.normalizeClass(["vue-flow__handle",[`vue-flow__handle-${q.position}`,`vue-flow__handle-${e.id}`,t.unref(u),t.unref(p),r.value,{connectable:O.value,connecting:S.value,connectablestart:w.value,connectableend:b.value,connectionindicator:O.value&&(w.value&&!v.value||b.value&&v.value)}]]),onMousedown:F,onTouchstartPassive:F,onClick:H},[t.renderSlot(q.$slots,"default",{id:q.id})],42,yA))}}),Ci=function({sourcePosition:e=be.Bottom,targetPosition:n=be.Top,label:o,connectable:r=!0,isValidTargetPos:i,isValidSourcePos:a,data:l}){const s=l.label??o;return[t.h(rn,{type:"target",position:n,connectable:r,isValidConnection:i}),typeof s!="string"&&s?t.h(s):t.h(t.Fragment,[s]),t.h(rn,{type:"source",position:e,connectable:r,isValidConnection:a})]};Ci.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"],Ci.inheritAttrs=!1,Ci.compatConfig={MODE:3};const bA=Ci,Ei=function({targetPosition:e=be.Top,label:n,connectable:o=!0,isValidTargetPos:r,data:i}){const a=i.label??n;return[t.h(rn,{type:"target",position:e,connectable:o,isValidConnection:r}),typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a])]};Ei.props=["targetPosition","label","isValidTargetPos","connectable","data"],Ei.inheritAttrs=!1,Ei.compatConfig={MODE:3};const wA=Ei,Ni=function({sourcePosition:e=be.Bottom,label:n,connectable:o=!0,isValidSourcePos:r,data:i}){const a=i.label??n;return[typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a]),t.h(rn,{type:"source",position:e,connectable:o,isValidConnection:r})]};Ni.props=["sourcePosition","label","isValidSourcePos","connectable","data"],Ni.inheritAttrs=!1,Ni.compatConfig={MODE:3};const kA=Ni,CA=["transform"],EA=["width","height","x","y","rx","ry"],NA=["y"],SA={name:"EdgeText",compatConfig:{MODE:3}},vA=t.defineComponent({...SA,props:{x:{},y:{},label:{},labelStyle:{default:()=>({})},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{default:()=>({})},labelBgPadding:{default:()=>[2,4]},labelBgBorderRadius:{default:2}},setup(e){const n=t.ref({x:0,y:0,width:0,height:0}),o=t.ref(null),r=t.computed(()=>`translate(${e.x-n.value.width/2} ${e.y-n.value.height/2})`);t.onMounted(i),t.watch([()=>e.x,()=>e.y,o,()=>e.label],i);function i(){if(!o.value)return;const a=o.value.getBBox();(a.width!==n.value.width||a.height!==n.value.height)&&(n.value=a)}return(a,l)=>(t.openBlock(),t.createElementBlock("g",{transform:r.value,class:"vue-flow__edge-textwrapper"},[a.labelShowBg?(t.openBlock(),t.createElementBlock("rect",{key:0,class:"vue-flow__edge-textbg",width:`${n.value.width+2*a.labelBgPadding[0]}px`,height:`${n.value.height+2*a.labelBgPadding[1]}px`,x:-a.labelBgPadding[0],y:-a.labelBgPadding[1],style:t.normalizeStyle(a.labelBgStyle),rx:a.labelBgBorderRadius,ry:a.labelBgBorderRadius},null,12,EA)):t.createCommentVNode("",!0),t.createElementVNode("text",t.mergeProps(a.$attrs,{ref_key:"el",ref:o,class:"vue-flow__edge-text",y:n.value.height/2,dy:"0.3em",style:a.labelStyle}),[t.renderSlot(a.$slots,"default",{},()=>[typeof a.label!="string"?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(a.label),{key:0})):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(a.label),1)],64))])],16,NA)],8,CA))}}),xA=["id","d","marker-end","marker-start"],AA=["d","stroke-width"],IA={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},Si=t.defineComponent({...IA,props:{id:{},labelX:{},labelY:{},path:{},label:{},markerStart:{},markerEnd:{},interactionWidth:{default:20},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{}},setup(e,{expose:n}){const o=t.ref(null),r=t.ref(null),i=t.ref(null),a=t.useAttrs();return n({pathEl:o,interactionEl:r,labelEl:i}),(l,s)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("path",t.mergeProps(t.unref(a),{id:l.id,ref_key:"pathEl",ref:o,d:l.path,class:"vue-flow__edge-path","marker-end":l.markerEnd,"marker-start":l.markerStart}),null,16,xA),l.interactionWidth?(t.openBlock(),t.createElementBlock("path",{key:0,ref_key:"interactionEl",ref:r,fill:"none",d:l.path,"stroke-width":l.interactionWidth,"stroke-opacity":0,class:"vue-flow__edge-interaction"},null,8,AA)):t.createCommentVNode("",!0),l.label&&l.labelX&&l.labelY?(t.openBlock(),t.createBlock(vA,{key:1,ref_key:"labelEl",ref:i,x:l.labelX,y:l.labelY,label:l.label,"label-show-bg":l.labelShowBg,"label-bg-style":l.labelBgStyle,"label-bg-padding":l.labelBgPadding,"label-bg-border-radius":l.labelBgBorderRadius,"label-style":l.labelStyle},null,8,["x","y","label","label-show-bg","label-bg-style","label-bg-padding","label-bg-border-radius","label-style"])):t.createCommentVNode("",!0)],64))}});function tp({sourceX:e,sourceY:n,targetX:o,targetY:r}){const i=Math.abs(o-e)/2,a=o<e?o+i:o-i,l=Math.abs(r-n)/2,s=r<n?r+l:r-l;return[a,s,i,l]}function np({sourceX:e,sourceY:n,targetX:o,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:l,targetControlY:s}){const c=e*.125+i*.375+l*.375+o*.125,d=n*.125+a*.375+s*.375+r*.125,f=Math.abs(c-e),u=Math.abs(d-n);return[c,d,f,u]}function vi(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function op({pos:e,x1:n,y1:o,x2:r,y2:i,c:a}){let l,s;switch(e){case be.Left:l=n-vi(n-r,a),s=o;break;case be.Right:l=n+vi(r-n,a),s=o;break;case be.Top:l=n,s=o-vi(o-i,a);break;case be.Bottom:l=n,s=o+vi(i-o,a);break}return[l,s]}function rp(e){const{sourceX:n,sourceY:o,sourcePosition:r=be.Bottom,targetX:i,targetY:a,targetPosition:l=be.Top,curvature:s=.25}=e,[c,d]=op({pos:r,x1:n,y1:o,x2:i,y2:a,c:s}),[f,u]=op({pos:l,x1:i,y1:a,x2:n,y2:o,c:s}),[p,m,h,_]=np({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:c,sourceControlY:d,targetControlX:f,targetControlY:u});return[`M${n},${o} C${c},${d} ${f},${u} ${i},${a}`,p,m,h,_]}function ip({pos:e,x1:n,y1:o,x2:r,y2:i}){let a,l;switch(e){case be.Left:case be.Right:a=.5*(n+r),l=o;break;case be.Top:case be.Bottom:a=n,l=.5*(o+i);break}return[a,l]}function ap(e){const{sourceX:n,sourceY:o,sourcePosition:r=be.Bottom,targetX:i,targetY:a,targetPosition:l=be.Top}=e,[s,c]=ip({pos:r,x1:n,y1:o,x2:i,y2:a}),[d,f]=ip({pos:l,x1:i,y1:a,x2:n,y2:o}),[u,p,m,h]=np({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:s,sourceControlY:c,targetControlX:d,targetControlY:f});return[`M${n},${o} C${s},${c} ${d},${f} ${i},${a}`,u,p,m,h]}const lp={[be.Left]:{x:-1,y:0},[be.Right]:{x:1,y:0},[be.Top]:{x:0,y:-1},[be.Bottom]:{x:0,y:1}};function PA({source:e,sourcePosition:n=be.Bottom,target:o}){return n===be.Left||n===be.Right?e.x<o.x?{x:1,y:0}:{x:-1,y:0}:e.y<o.y?{x:0,y:1}:{x:0,y:-1}}function sp(e,n){return Math.sqrt((n.x-e.x)**2+(n.y-e.y)**2)}function TA({source:e,sourcePosition:n=be.Bottom,target:o,targetPosition:r=be.Top,center:i,offset:a}){const l=lp[n],s=lp[r],c={x:e.x+l.x*a,y:e.y+l.y*a},d={x:o.x+s.x*a,y:o.y+s.y*a},f=PA({source:c,sourcePosition:n,target:d}),u=f.x!==0?"x":"y",p=f[u];let m,h,_;const g={x:0,y:0},y={x:0,y:0},[w,b,v,S]=tp({sourceX:e.x,sourceY:e.y,targetX:o.x,targetY:o.y});if(l[u]*s[u]===-1){h=i.x??w,_=i.y??b;const I=[{x:h,y:c.y},{x:h,y:d.y}],O=[{x:c.x,y:_},{x:d.x,y:_}];l[u]===p?m=u==="x"?I:O:m=u==="x"?O:I}else{const I=[{x:c.x,y:d.y}],O=[{x:d.x,y:c.y}];if(u==="x"?m=l.x===p?O:I:m=l.y===p?I:O,n===r){const te=Math.abs(e[u]-o[u]);if(te<=a){const P=Math.min(a-1,a-te);l[u]===p?g[u]=(c[u]>e[u]?-1:1)*P:y[u]=(d[u]>o[u]?-1:1)*P}}if(n!==r){const te=u==="x"?"y":"x",P=l[u]===s[te],G=c[te]>d[te],R=c[te]<d[te];(l[u]===1&&(!P&&G||P&&R)||l[u]!==1&&(!P&&R||P&&G))&&(m=u==="x"?I:O)}const F={x:c.x+g.x,y:c.y+g.y},H={x:d.x+y.x,y:d.y+y.y},q=Math.max(Math.abs(F.x-m[0].x),Math.abs(H.x-m[0].x)),E=Math.max(Math.abs(F.y-m[0].y),Math.abs(H.y-m[0].y));q>=E?(h=(F.x+H.x)/2,_=m[0].y):(h=m[0].x,_=(F.y+H.y)/2)}return[[e,{x:c.x+g.x,y:c.y+g.y},...m,{x:d.x+y.x,y:d.y+y.y},o],h,_,v,S]}function OA(e,n,o,r){const i=Math.min(sp(e,n)/2,sp(n,o)/2,r),{x:a,y:l}=n;if(e.x===a&&a===o.x||e.y===l&&l===o.y)return`L${a} ${l}`;if(e.y===l){const d=e.x<o.x?-1:1,f=e.y<o.y?1:-1;return`L ${a+i*d},${l}Q ${a},${l} ${a},${l+i*f}`}const s=e.x<o.x?1:-1,c=e.y<o.y?-1:1;return`L ${a},${l+i*c}Q ${a},${l} ${a+i*s},${l}`}function $l(e){const{sourceX:n,sourceY:o,sourcePosition:r=be.Bottom,targetX:i,targetY:a,targetPosition:l=be.Top,borderRadius:s=5,centerX:c,centerY:d,offset:f=20}=e,[u,p,m,h,_]=TA({source:{x:n,y:o},sourcePosition:r,target:{x:i,y:a},targetPosition:l,center:{x:c,y:d},offset:f});return[u.reduce((y,w,b)=>{let v;return b>0&&b<u.length-1?v=OA(u[b-1],w,u[b+1],s):v=`${b===0?"M":"L"}${w.x} ${w.y}`,y+=v,y},""),p,m,h,_]}function $A(e){const{sourceX:n,sourceY:o,targetX:r,targetY:i}=e,[a,l,s,c]=tp({sourceX:n,sourceY:o,targetX:r,targetY:i});return[`M ${n},${o}L ${r},${i}`,a,l,s,c]}const BA=t.defineComponent({name:"StraightEdge",props:["label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=$A(e);return t.h(Si,{path:o,labelX:r,labelY:i,...n,...e})}}}),cp=t.defineComponent({name:"SmoothStepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","borderRadius","markerEnd","markerStart","interactionWidth","offset"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=$l({...e,sourcePosition:e.sourcePosition??be.Bottom,targetPosition:e.targetPosition??be.Top});return t.h(Si,{path:o,labelX:r,labelY:i,...n,...e})}}}),VA=t.defineComponent({name:"StepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],setup(e,{attrs:n}){return()=>t.h(cp,{...e,...n,borderRadius:0})}}),RA=t.defineComponent({name:"BezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","curvature","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=rp({...e,sourcePosition:e.sourcePosition??be.Bottom,targetPosition:e.targetPosition??be.Top});return t.h(Si,{path:o,labelX:r,labelY:i,...n,...e})}}}),DA=t.defineComponent({name:"SimpleBezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=ap({...e,sourcePosition:e.sourcePosition??be.Bottom,targetPosition:e.targetPosition??be.Top});return t.h(Si,{path:o,labelX:r,labelY:i,...n,...e})}}}),MA={input:kA,default:bA,output:wA},FA={default:RA,straight:BA,step:VA,smoothstep:cp,simplebezier:DA};function LA(e,n,o){const r=t.computed(()=>_=>n.value.get(_)),i=t.computed(()=>_=>o.value.get(_)),a=t.computed(()=>{const _={...FA,...e.edgeTypes},g=Object.keys(_);for(const y of e.edges)y.type&&!g.includes(y.type)&&(_[y.type]=y.type);return _}),l=t.computed(()=>{const _={...MA,...e.nodeTypes},g=Object.keys(_);for(const y of e.nodes)y.type&&!g.includes(y.type)&&(_[y.type]=y.type);return _}),s=t.computed(()=>e.onlyRenderVisibleElements?vf(e.nodes,{x:0,y:0,width:e.dimensions.width,height:e.dimensions.height},e.viewport,!0):e.nodes),c=t.computed(()=>{if(e.onlyRenderVisibleElements){const _=[];for(const g of e.edges){const y=n.value.get(g.source),w=n.value.get(g.target);Ux({sourcePos:y.computedPosition||{x:0,y:0},targetPos:w.computedPosition||{x:0,y:0},sourceWidth:y.dimensions.width,sourceHeight:y.dimensions.height,targetWidth:w.dimensions.width,targetHeight:w.dimensions.height,width:e.dimensions.width,height:e.dimensions.height,viewport:e.viewport})&&_.push(g)}return _}return e.edges}),d=t.computed(()=>[...s.value,...c.value]),f=t.computed(()=>{const _=[];for(const g of e.nodes)g.selected&&_.push(g);return _}),u=t.computed(()=>{const _=[];for(const g of e.edges)g.selected&&_.push(g);return _}),p=t.computed(()=>[...f.value,...u.value]),m=t.computed(()=>{const _=[];for(const g of e.nodes)g.dimensions.width&&g.dimensions.height&&g.handleBounds!==void 0&&_.push(g);return _}),h=t.computed(()=>s.value.length>0&&m.value.length===s.value.length);return{getNode:r,getEdge:i,getElements:d,getEdgeTypes:a,getNodeTypes:l,getEdges:c,getNodes:s,getSelectedElements:p,getSelectedNodes:f,getSelectedEdges:u,getNodesInitialized:m,areNodesInitialized:h}}class vn{constructor(){this.currentId=0,this.flows=new Map}static getInstance(){var n;const o=(n=t.getCurrentInstance())==null?void 0:n.appContext.app,r=(o==null?void 0:o.config.globalProperties.$vueFlowStorage)??vn.instance;return vn.instance=r??new vn,o&&(o.config.globalProperties.$vueFlowStorage=vn.instance),vn.instance}set(n,o){return this.flows.set(n,o)}get(n){return this.flows.get(n)}remove(n){return this.flows.delete(n)}create(n,o){const r=ep(),i=t.reactive(r),a={};for(const[p,m]of Object.entries(i.hooks)){const h=`on${p.charAt(0).toUpperCase()+p.slice(1)}`;a[h]=m.on}const l={};for(const[p,m]of Object.entries(i.hooks))l[p]=m.trigger;const s=t.computed(()=>{const p=new Map;for(const m of i.nodes)p.set(m.id,m);return p}),c=t.computed(()=>{const p=new Map;for(const m of i.edges)p.set(m.id,m);return p}),d=LA(i,s,c),f=hA(i,s,c);f.setState({...i,...o});const u={...a,...d,...f,...MN(i),nodeLookup:s,edgeLookup:c,emits:l,id:n,vueFlowVersion:"1.45.0",$destroy:()=>{this.remove(n)}};return this.set(n,u),u}getId(){return`vue-flow-${this.currentId++}`}}function $e(e){const n=vn.getInstance(),o=t.getCurrentScope(),r=typeof e=="object",i=r?e:{id:e},a=i.id,l=a??(o==null?void 0:o.vueFlowId);let s;if(o){const c=t.inject(Hf,null);typeof c<"u"&&c!==null&&(!l||c.id===l)&&(s=c)}if(s||l&&(s=n.get(l)),!s||l&&s.id!==l){const c=a??n.getId(),d=n.create(c,i);s=d,(o??t.effectScope(!0)).run(()=>{t.watch(d.applyDefault,(u,p,m)=>{const h=g=>{d.applyNodeChanges(g)},_=g=>{d.applyEdgeChanges(g)};u?(d.onNodesChange(h),d.onEdgesChange(_)):(d.hooks.value.nodesChange.off(h),d.hooks.value.edgesChange.off(_)),m(()=>{d.hooks.value.nodesChange.off(h),d.hooks.value.edgesChange.off(_)})},{immediate:!0}),qr(()=>{if(s){const u=n.get(s.id);u?u.$destroy():bi(`No store instance found for id ${s.id} in storage.`)}})})}else r&&s.setState(i);if(o&&(t.provide(Hf,s),o.vueFlowId=s.id),r){const c=t.getCurrentInstance();(c==null?void 0:c.type.name)!=="VueFlow"&&s.emits.error(new Ze(Ge.USEVUEFLOW_OPTIONS))}return s}function UA(e){const{emits:n,dimensions:o}=$e();let r;t.onMounted(()=>{const i=e.value,a=()=>{if(!i)return;const l=gi(i);(l.width===0||l.height===0)&&n.error(new Ze(Ge.MISSING_VIEWPORT_DIMENSIONS)),o.value={width:l.width||500,height:l.height||500}};a(),window.addEventListener("resize",a),i&&(r=new ResizeObserver(()=>a()),r.observe(i)),t.onBeforeUnmount(()=>{window.removeEventListener("resize",a),r&&i&&r.unobserve(i)})})}const KA={name:"UserSelection",compatConfig:{MODE:3}},jA=t.defineComponent({...KA,props:{userSelectionRect:{}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__selection vue-flow__container",style:t.normalizeStyle({width:`${n.userSelectionRect.width}px`,height:`${n.userSelectionRect.height}px`,transform:`translate(${n.userSelectionRect.x}px, ${n.userSelectionRect.y}px)`})},null,4))}}),qA=["tabIndex"],GA={name:"NodesSelection",compatConfig:{MODE:3}},zA=t.defineComponent({...GA,setup(e){const{emits:n,viewport:o,getSelectedNodes:r,noPanClassName:i,disableKeyboardA11y:a,userSelectionActive:l}=$e(),s=Qf(),c=t.ref(null),d=Xf({el:c,onStart(h){n.selectionDragStart(h)},onDrag(h){n.selectionDrag(h)},onStop(h){n.selectionDragStop(h)}});t.onMounted(()=>{var h;a.value||(h=c.value)==null||h.focus({preventScroll:!0})});const f=t.computed(()=>Sf(r.value)),u=t.computed(()=>({width:`${f.value.width}px`,height:`${f.value.height}px`,top:`${f.value.y}px`,left:`${f.value.x}px`}));function p(h){n.selectionContextMenu({event:h,nodes:r.value})}function m(h){a||to[h.key]&&(h.preventDefault(),s({x:to[h.key].x,y:to[h.key].y},h.shiftKey))}return(h,_)=>!t.unref(l)&&f.value.width&&f.value.height?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["vue-flow__nodesselection vue-flow__container",t.unref(i)]),style:t.normalizeStyle({transform:`translate(${t.unref(o).x}px,${t.unref(o).y}px) scale(${t.unref(o).zoom})`})},[t.createElementVNode("div",{ref_key:"el",ref:c,class:t.normalizeClass([{dragging:t.unref(d)},"vue-flow__nodesselection-rect"]),style:t.normalizeStyle(u.value),tabIndex:t.unref(a)?void 0:-1,onContextmenu:p,onKeydown:m},null,46,qA)],6)):t.createCommentVNode("",!0)}});function HA(e,n){return{x:e.clientX-n.left,y:e.clientY-n.top}}const YA={name:"Pane",compatConfig:{MODE:3}},WA=t.defineComponent({...YA,props:{isSelecting:{type:Boolean},selectionKeyPressed:{type:Boolean}},setup(e){const{vueFlowRef:n,nodes:o,viewport:r,emits:i,userSelectionActive:a,removeSelectedElements:l,userSelectionRect:s,elementsSelectable:c,nodesSelectionActive:d,getSelectedEdges:f,getSelectedNodes:u,removeNodes:p,removeEdges:m,selectionMode:h,deleteKeyCode:_,multiSelectionKeyCode:g,multiSelectionActive:y,edgeLookup:w,nodeLookup:b,connectionLookup:v,defaultEdgeOptions:S,connectionStartHandle:N}=$e(),I=t.ref(null),O=t.ref(new Set),F=t.ref(new Set),H=t.ref(),q=t.toRef(()=>c.value&&(e.isSelecting||a.value)),E=t.toRef(()=>N.value!==null);let te=!1,P=!1;const G=Wo(_,{actInsideInputWithModifier:!1}),R=Wo(g);t.watch(G,W=>{W&&(p(u.value),m(f.value),d.value=!1)}),t.watch(R,W=>{y.value=W});function K(W,ne){return ie=>{ie.target===ne&&(W==null||W(ie))}}function V(W){if(te||E.value){te=!1;return}i.paneClick(W),l(),d.value=!1}function M(W){W.preventDefault(),W.stopPropagation(),i.paneContextMenu(W)}function D(W){i.paneScroll(W)}function L(W){var ne,ie,de;if(H.value=(ne=n.value)==null?void 0:ne.getBoundingClientRect(),!c.value||!e.isSelecting||W.button!==0||W.target!==I.value||!H.value)return;(de=(ie=W.target)==null?void 0:ie.setPointerCapture)==null||de.call(ie,W.pointerId);const{x:ye,y:Q}=HA(W,H.value);P=!0,te=!1,l(),s.value={width:0,height:0,startX:ye,startY:Q,x:ye,y:Q},i.selectionStart(W)}function j(W){var ne;if(!H.value||!s.value)return;te=!0;const{x:ie,y:de}=$t(W,H.value),{startX:ye=0,startY:Q=0}=s.value,oe={startX:ye,startY:Q,x:ie<ye?ie:ye,y:de<Q?de:Q,width:Math.abs(ie-ye),height:Math.abs(de-Q)},le=O.value,ue=F.value;O.value=new Set(vf(o.value,oe,r.value,h.value===bl.Partial,!0).map(T=>T.id)),F.value=new Set;const ce=((ne=S.value)==null?void 0:ne.selectable)??!0;for(const T of O.value){const C=v.value.get(T);if(C)for(const{edgeId:x}of C.values()){const k=w.value.get(x);k&&(k.selectable??ce)&&F.value.add(x)}}if(!zf(le,O.value)){const T=nn(b.value,O.value,!0);i.nodesChange(T)}if(!zf(ue,F.value)){const T=nn(w.value,F.value);i.edgesChange(T)}s.value=oe,a.value=!0,d.value=!1}function Z(W){var ne;W.button!==0||!P||((ne=W.target)==null||ne.releasePointerCapture(W.pointerId),!a.value&&s.value&&W.target===I.value&&V(W),a.value=!1,s.value=null,d.value=O.value.size>0,i.selectionEnd(W),e.selectionKeyPressed&&(te=!1),P=!1)}return(W,ne)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"container",ref:I,class:t.normalizeClass(["vue-flow__pane vue-flow__container",{selection:W.isSelecting}]),onClick:ne[0]||(ne[0]=ie=>q.value?void 0:K(V,I.value)(ie)),onContextmenu:ne[1]||(ne[1]=ie=>K(M,I.value)(ie)),onWheelPassive:ne[2]||(ne[2]=ie=>K(D,I.value)(ie)),onPointerenter:ne[3]||(ne[3]=ie=>q.value?void 0:t.unref(i).paneMouseEnter(ie)),onPointerdown:ne[4]||(ne[4]=ie=>q.value?L(ie):t.unref(i).paneMouseMove(ie)),onPointermove:ne[5]||(ne[5]=ie=>q.value?j(ie):t.unref(i).paneMouseMove(ie)),onPointerup:ne[6]||(ne[6]=ie=>q.value?Z(ie):void 0),onPointerleave:ne[7]||(ne[7]=ie=>t.unref(i).paneMouseLeave(ie))},[t.renderSlot(W.$slots,"default"),t.unref(a)&&t.unref(s)?(t.openBlock(),t.createBlock(jA,{key:0,"user-selection-rect":t.unref(s)},null,8,["user-selection-rect"])):t.createCommentVNode("",!0),t.unref(d)&&t.unref(u).length?(t.openBlock(),t.createBlock(zA,{key:1})):t.createCommentVNode("",!0)],34))}}),XA={name:"Transform",compatConfig:{MODE:3}},ZA=t.defineComponent({...XA,setup(e){const{viewport:n,fitViewOnInit:o,fitViewOnInitDone:r}=$e(),i=t.computed(()=>o.value?!r.value:!1),a=t.computed(()=>`translate(${n.value.x}px,${n.value.y}px) scale(${n.value.zoom})`);return(l,s)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__transformationpane vue-flow__container",style:t.normalizeStyle({transform:a.value,opacity:i.value?0:void 0})},[t.renderSlot(l.$slots,"default")],4))}}),JA={name:"Viewport",compatConfig:{MODE:3}},QA=t.defineComponent({...JA,setup(e){const{minZoom:n,maxZoom:o,defaultViewport:r,translateExtent:i,zoomActivationKeyCode:a,selectionKeyCode:l,panActivationKeyCode:s,panOnScroll:c,panOnScrollMode:d,panOnScrollSpeed:f,panOnDrag:u,zoomOnDoubleClick:p,zoomOnPinch:m,zoomOnScroll:h,preventScrolling:_,noWheelClassName:g,noPanClassName:y,emits:w,connectionStartHandle:b,userSelectionActive:v,paneDragging:S,d3Zoom:N,d3Selection:I,d3ZoomHandler:O,viewport:F,viewportRef:H,paneClickDistance:q}=$e();UA(H);const E=t.shallowRef(!1),te=t.shallowRef(!1);let P=null,G=!1,R=0,K={x:0,y:0,zoom:0};const V=Wo(s),M=Wo(l),D=Wo(a),L=t.toRef(()=>(!M.value||M.value&&l.value===!0)&&(V.value||u.value)),j=t.toRef(()=>V.value||c.value),Z=t.toRef(()=>M.value||l.value===!0&&L.value!==!0);t.onMounted(()=>{if(!H.value){bi("Viewport element is missing");return}const Q=H.value,oe=Q.getBoundingClientRect(),le=Cx().clickDistance(q.value).scaleExtent([n.value,o.value]).translateExtent(i.value),ue=kt(Q).call(le),ce=ue.on("wheel.zoom"),T=eo.translate(r.value.x??0,r.value.y??0).scale(Nn(r.value.zoom??1,n.value,o.value)),C=[[0,0],[oe.width,oe.height]],x=le.constrain()(T,C,i.value);le.transform(ue,x),le.wheelDelta(ne),N.value=le,I.value=ue,O.value=ce,F.value={x:x.x,y:x.y,zoom:x.k},le.on("start",k=>{var $;if(!k.sourceEvent)return null;R=k.sourceEvent.button,E.value=!0;const A=de(k.transform);(($=k.sourceEvent)==null?void 0:$.type)==="mousedown"&&(S.value=!0),K=A,w.viewportChangeStart(A),w.moveStart({event:k,flowTransform:A})}),le.on("end",k=>{if(!k.sourceEvent)return null;if(E.value=!1,S.value=!1,W(L.value,R??0)&&!G&&w.paneContextMenu(k.sourceEvent),G=!1,ie(K,k.transform)){const $=de(k.transform);K=$,w.viewportChangeEnd($),w.moveEnd({event:k,flowTransform:$})}}),le.filter(k=>{var $;const A=D.value||h.value,z=m.value&&k.ctrlKey,X=k.button;if(X===1&&k.type==="mousedown"&&(ye(k,"vue-flow__node")||ye(k,"vue-flow__edge")))return!0;if(!L.value&&!A&&!j.value&&!p.value&&!m.value||v.value||!p.value&&k.type==="dblclick"||ye(k,g.value)&&k.type==="wheel"||ye(k,y.value)&&(k.type!=="wheel"||j.value&&k.type==="wheel"&&!D.value)||!m.value&&k.ctrlKey&&k.type==="wheel"||!A&&!j.value&&!z&&k.type==="wheel")return!1;if(!m&&k.type==="touchstart"&&(($=k.touches)==null?void 0:$.length)>1)return k.preventDefault(),!1;if(!L.value&&(k.type==="mousedown"||k.type==="touchstart")||l.value===!0&&Array.isArray(u.value)&&u.value.includes(0)&&X===0||Array.isArray(u.value)&&!u.value.includes(X)&&(k.type==="mousedown"||k.type==="touchstart"))return!1;const B=Array.isArray(u.value)&&u.value.includes(X)||l.value===!0&&Array.isArray(u.value)&&!u.value.includes(0)||!X||X<=1;return(!k.ctrlKey||V.value||k.type==="wheel")&&B}),t.watch([v,L],()=>{v.value&&!E.value?le.on("zoom",null):v.value||le.on("zoom",k=>{F.value={x:k.transform.x,y:k.transform.y,zoom:k.transform.k};const $=de(k.transform);G=W(L.value,R??0),w.viewportChange($),w.move({event:k,flowTransform:$})})},{immediate:!0}),t.watch([v,j,d,D,m,_,g],()=>{j.value&&!D.value&&!v.value?ue.on("wheel.zoom",k=>{if(ye(k,g.value))return!1;const $=D.value||h.value,A=m.value&&k.ctrlKey;if(!(!_.value||j.value||$||A))return!1;k.preventDefault(),k.stopImmediatePropagation();const X=ue.property("__zoom").k||1,B=yi();if(!V.value&&k.ctrlKey&&m.value&&B){const he=It(k),ae=ne(k),pe=X*2**ae;le.scaleTo(ue,pe,he,k);return}const ee=k.deltaMode===1?20:1;let U=d.value===Yo.Vertical?0:k.deltaX*ee,me=d.value===Yo.Horizontal?0:k.deltaY*ee;!B&&k.shiftKey&&d.value!==Yo.Vertical&&!U&&me&&(U=me,me=0),le.translateBy(ue,-(U/X)*f.value,-(me/X)*f.value);const ge=de(ue.property("__zoom"));P&&clearTimeout(P),te.value?(w.move({event:k,flowTransform:ge}),w.viewportChange(ge),P=setTimeout(()=>{w.moveEnd({event:k,flowTransform:ge}),w.viewportChangeEnd(ge),te.value=!1},150)):(te.value=!0,w.moveStart({event:k,flowTransform:ge}),w.viewportChangeStart(ge))},{passive:!1}):typeof ce<"u"&&ue.on("wheel.zoom",function(k,$){const A=!_.value&&k.type==="wheel"&&!k.ctrlKey,z=D.value||h.value,X=m.value&&k.ctrlKey;if(!z&&!c.value&&!X&&k.type==="wheel"||A||ye(k,g.value))return null;k.preventDefault(),ce.call(this,k,$)},{passive:!1})},{immediate:!0})});function W(Q,oe){return oe===2&&Array.isArray(Q)&&Q.includes(2)}function ne(Q){const oe=Q.ctrlKey&&yi()?10:1;return-Q.deltaY*(Q.deltaMode===1?.05:Q.deltaMode?1:.002)*oe}function ie(Q,oe){return Q.x!==oe.x&&!Number.isNaN(oe.x)||Q.y!==oe.y&&!Number.isNaN(oe.y)||Q.zoom!==oe.k&&!Number.isNaN(oe.k)}function de(Q){return{x:Q.x,y:Q.y,zoom:Q.k}}function ye(Q,oe){return Q.target.closest(`.${oe}`)}return(Q,oe)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"viewportRef",ref:H,class:"vue-flow__viewport vue-flow__container"},[t.createVNode(WA,{"is-selecting":Z.value,"selection-key-pressed":t.unref(M),class:t.normalizeClass({connecting:!!t.unref(b),dragging:t.unref(S),draggable:t.unref(u)===!0||Array.isArray(t.unref(u))&&t.unref(u).includes(0)})},{default:t.withCtx(()=>[t.createVNode(ZA,null,{default:t.withCtx(()=>[t.renderSlot(Q.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}}),eI=["id"],tI=["id"],nI=["id"],oI={name:"A11yDescriptions",compatConfig:{MODE:3}},rI=t.defineComponent({...oI,setup(e){const{id:n,disableKeyboardA11y:o,ariaLiveMessage:r}=$e();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",{id:`${t.unref(hf)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select a node. "+t.toDisplayString(t.unref(o)?"":"You can then use the arrow keys to move the node around.")+" You can then use the arrow keys to move the node around, press delete to remove it and press escape to cancel. ",9,eI),t.createElementVNode("div",{id:`${t.unref(yf)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ",8,tI),t.unref(o)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:0,id:`${t.unref(Ax)}-${t.unref(n)}`,"aria-live":"assertive","aria-atomic":"true",style:{position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(100%)"}},t.toDisplayString(t.unref(r)),9,nI))],64))}});function iI(){const e=$e();t.watch(()=>e.viewportHelper.value.viewportInitialized,n=>{n&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function aI(e,n,o){return o===be.Left?e-n:o===be.Right?e+n:e}function lI(e,n,o){return o===be.Top?e-n:o===be.Bottom?e+n:e}const Bl=function({radius:e=10,centerX:n=0,centerY:o=0,position:r=be.Top,type:i}){return t.h("circle",{class:`vue-flow__edgeupdater vue-flow__edgeupdater-${i}`,cx:aI(n,e,r),cy:lI(o,e,r),r:e,stroke:"transparent",fill:"transparent"})};Bl.props=["radius","centerX","centerY","position","type"],Bl.compatConfig={MODE:3};const dp=Bl,sI=t.defineComponent({name:"Edge",compatConfig:{MODE:3},props:["id"],setup(e){const{id:n,addSelectedEdges:o,connectionMode:r,edgeUpdaterRadius:i,emits:a,nodesSelectionActive:l,noPanClassName:s,getEdgeTypes:c,removeSelectedEdges:d,findEdge:f,findNode:u,isValidConnection:p,multiSelectionActive:m,disableKeyboardA11y:h,elementsSelectable:_,edgesUpdatable:g,edgesFocusable:y,hooks:w}=$e(),b=t.computed(()=>f(e.id)),{emit:v,on:S}=rA(b.value,a),N=t.inject(wi),I=t.getCurrentInstance(),O=t.ref(!1),F=t.ref(!1),H=t.ref(""),q=t.ref(null),E=t.ref("source"),te=t.ref(null),P=t.toRef(()=>typeof b.value.selectable>"u"?_.value:b.value.selectable),G=t.toRef(()=>typeof b.value.updatable>"u"?g.value:b.value.updatable),R=t.toRef(()=>typeof b.value.focusable>"u"?y.value:b.value.focusable);t.provide(tA,e.id),t.provide(nA,te);const K=t.computed(()=>b.value.class instanceof Function?b.value.class(b.value):b.value.class),V=t.computed(()=>b.value.style instanceof Function?b.value.style(b.value):b.value.style),M=t.computed(()=>{const C=b.value.type||"default",x=N==null?void 0:N[`edge-${C}`];if(x)return x;let k=b.value.template??c.value[C];if(typeof k=="string"&&I){const $=Object.keys(I.appContext.components);$&&$.includes(C)&&(k=t.resolveComponent(C,!1))}return k&&typeof k!="string"?k:(a.error(new Ze(Ge.EDGE_TYPE_MISSING,k)),!1)}),{handlePointerDown:D}=Zf({nodeId:H,handleId:q,type:E,isValidConnection:p,edgeUpdaterType:E,onEdgeUpdate:Z,onEdgeUpdateEnd:W});return()=>{const C=u(b.value.source),x=u(b.value.target),k="pathOptions"in b.value?b.value.pathOptions:{};if(!C&&!x)return a.error(new Ze(Ge.EDGE_SOURCE_TARGET_MISSING,b.value.id,b.value.source,b.value.target)),null;if(!C)return a.error(new Ze(Ge.EDGE_SOURCE_MISSING,b.value.id,b.value.source)),null;if(!x)return a.error(new Ze(Ge.EDGE_TARGET_MISSING,b.value.id,b.value.target)),null;if(!b.value||b.value.hidden||C.hidden||x.hidden)return null;let $;r.value===Qt.Strict?$=C.handleBounds.source:$=[...C.handleBounds.source||[],...C.handleBounds.target||[]];const A=Mf($,b.value.sourceHandle);let z;r.value===Qt.Strict?z=x.handleBounds.target:z=[...x.handleBounds.target||[],...x.handleBounds.source||[]];const X=Mf(z,b.value.targetHandle),B=(A==null?void 0:A.position)||be.Bottom,ee=(X==null?void 0:X.position)||be.Top,{x:U,y:me}=no(C,A,B),{x:ge,y:he}=no(x,X,ee);return b.value.sourceX=U,b.value.sourceY=me,b.value.targetX=ge,b.value.targetY=he,t.h("g",{ref:te,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${M.value===!1?"default":b.value.type||"default"}`,s.value,K.value,{updating:O.value,selected:b.value.selected,animated:b.value.animated,inactive:!P.value&&!w.value.edgeClick.hasListeners()}],tabIndex:R.value?0:void 0,"aria-label":b.value.ariaLabel===null?void 0:b.value.ariaLabel??`Edge from ${b.value.source} to ${b.value.target}`,"aria-describedby":R.value?`${yf}-${n}`:void 0,"aria-roledescription":"edge",role:R.value?"group":"img",...b.value.domAttributes,onClick:ie,onContextmenu:de,onDblclick:ye,onMouseenter:Q,onMousemove:oe,onMouseleave:le,onKeyDown:R.value?T:void 0},[F.value?null:t.h(M.value===!1?c.value.default:M.value,{id:e.id,sourceNode:C,targetNode:x,source:b.value.source,target:b.value.target,type:b.value.type,updatable:G.value,selected:b.value.selected,animated:b.value.animated,label:b.value.label,labelStyle:b.value.labelStyle,labelShowBg:b.value.labelShowBg,labelBgStyle:b.value.labelBgStyle,labelBgPadding:b.value.labelBgPadding,labelBgBorderRadius:b.value.labelBgBorderRadius,data:b.value.data,events:{...b.value.events,...S},style:V.value,markerStart:`url('#${Jo(b.value.markerStart,n)}')`,markerEnd:`url('#${Jo(b.value.markerEnd,n)}')`,sourcePosition:B,targetPosition:ee,sourceX:U,sourceY:me,targetX:ge,targetY:he,sourceHandleId:b.value.sourceHandle,targetHandleId:b.value.targetHandle,interactionWidth:b.value.interactionWidth,...k}),[G.value==="source"||G.value===!0?[t.h("g",{onMousedown:ue,onMouseenter:L,onMouseout:j},t.h(dp,{position:B,centerX:U,centerY:me,radius:i.value,type:"source","data-type":"source"}))]:null,G.value==="target"||G.value===!0?[t.h("g",{onMousedown:ce,onMouseenter:L,onMouseout:j},t.h(dp,{position:ee,centerX:ge,centerY:he,radius:i.value,type:"target","data-type":"target"}))]:null]])};function L(){O.value=!0}function j(){O.value=!1}function Z(C,x){v.update({event:C,edge:b.value,connection:x})}function W(C){v.updateEnd({event:C,edge:b.value}),F.value=!1}function ne(C,x){C.button===0&&(F.value=!0,H.value=x?b.value.target:b.value.source,q.value=(x?b.value.targetHandle:b.value.sourceHandle)??null,E.value=x?"target":"source",v.updateStart({event:C,edge:b.value}),D(C))}function ie(C){var x;const k={event:C,edge:b.value};P.value&&(l.value=!1,b.value.selected&&m.value?(d([b.value]),(x=te.value)==null||x.blur()):o([b.value])),v.click(k)}function de(C){v.contextMenu({event:C,edge:b.value})}function ye(C){v.doubleClick({event:C,edge:b.value})}function Q(C){v.mouseEnter({event:C,edge:b.value})}function oe(C){v.mouseMove({event:C,edge:b.value})}function le(C){v.mouseLeave({event:C,edge:b.value})}function ue(C){ne(C,!0)}function ce(C){ne(C,!1)}function T(C){var x;!h.value&&_f.includes(C.key)&&P.value&&(C.key==="Escape"?((x=te.value)==null||x.blur(),d([f(e.id)])):o([f(e.id)]))}}}),cI=t.defineComponent({name:"ConnectionLine",compatConfig:{MODE:3},setup(){var e;const{id:n,connectionMode:o,connectionStartHandle:r,connectionEndHandle:i,connectionPosition:a,connectionLineType:l,connectionLineStyle:s,connectionLineOptions:c,connectionStatus:d,viewport:f,findNode:u}=$e(),p=(e=t.inject(wi))==null?void 0:e["connection-line"],m=t.computed(()=>{var w;return u((w=r.value)==null?void 0:w.nodeId)}),h=t.computed(()=>{var w;return u((w=i.value)==null?void 0:w.nodeId)??null}),_=t.computed(()=>({x:(a.value.x-f.value.x)/f.value.zoom,y:(a.value.y-f.value.y)/f.value.zoom})),g=t.computed(()=>c.value.markerStart?`url(#${Jo(c.value.markerStart,n)})`:""),y=t.computed(()=>c.value.markerEnd?`url(#${Jo(c.value.markerEnd,n)})`:"");return()=>{var w,b,v;if(!m.value||!r.value)return null;const S=r.value.id,N=r.value.type,I=m.value.handleBounds;let O=(I==null?void 0:I[N])??[];if(o.value===Qt.Loose){const V=(I==null?void 0:I[N==="source"?"target":"source"])??[];O=[...O,...V]}if(!O)return null;const F=(S?O.find(V=>V.id===S):O[0])??null,H=(F==null?void 0:F.position)??be.Top,{x:q,y:E}=no(m.value,F,H);let te=null;h.value&&(o.value===Qt.Strict?te=((w=h.value.handleBounds[N==="source"?"target":"source"])==null?void 0:w.find(V=>{var M;return V.id===((M=i.value)==null?void 0:M.id)}))||null:te=((b=[...h.value.handleBounds.source??[],...h.value.handleBounds.target??[]])==null?void 0:b.find(V=>{var M;return V.id===((M=i.value)==null?void 0:M.id)}))||null);const P=((v=i.value)==null?void 0:v.position)??(H?xl[H]:null);if(!H||!P)return null;const G=l.value??c.value.type??En.Bezier;let R="";const K={sourceX:q,sourceY:E,sourcePosition:H,targetX:_.value.x,targetY:_.value.y,targetPosition:P};return G===En.Bezier?[R]=rp(K):G===En.Step?[R]=$l({...K,borderRadius:0}):G===En.SmoothStep?[R]=$l(K):G===En.SimpleBezier?[R]=ap(K):R=`M${q},${E} ${_.value.x},${_.value.y}`,t.h("svg",{class:"vue-flow__edges vue-flow__connectionline vue-flow__container"},t.h("g",{class:"vue-flow__connection"},p?t.h(p,{sourceX:q,sourceY:E,sourcePosition:H,targetX:_.value.x,targetY:_.value.y,targetPosition:P,sourceNode:m.value,sourceHandle:F,targetNode:h.value,targetHandle:te,markerEnd:y.value,markerStart:g.value,connectionStatus:d.value}):t.h("path",{d:R,class:[c.value.class,d,"vue-flow__connection-path"],style:{...s.value,...c.value.style},"marker-end":y.value,"marker-start":g.value})))}}}),dI=["id","markerWidth","markerHeight","markerUnits","orient"],uI={name:"MarkerType",compatConfig:{MODE:3}},fI=t.defineComponent({...uI,props:{id:{},type:{},color:{default:"none"},width:{default:12.5},height:{default:12.5},markerUnits:{default:"strokeWidth"},orient:{default:"auto-start-reverse"},strokeWidth:{default:1}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("marker",{id:n.id,class:"vue-flow__arrowhead",viewBox:"-10 -10 20 20",refX:"0",refY:"0",markerWidth:`${n.width}`,markerHeight:`${n.height}`,markerUnits:n.markerUnits,orient:n.orient},[n.type===t.unref(fi).ArrowClosed?(t.openBlock(),t.createElementBlock("polyline",{key:0,style:t.normalizeStyle({stroke:n.color,fill:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",points:"-5,-4 0,0 -5,4 -5,-4"},null,4)):t.createCommentVNode("",!0),n.type===t.unref(fi).Arrow?(t.openBlock(),t.createElementBlock("polyline",{key:1,style:t.normalizeStyle({stroke:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none",points:"-5,-4 0,0 -5,4"},null,4)):t.createCommentVNode("",!0)],8,dI))}}),pI={class:"vue-flow__marker vue-flow__container","aria-hidden":"true"},mI={name:"MarkerDefinitions",compatConfig:{MODE:3}},gI=t.defineComponent({...mI,setup(e){const{id:n,edges:o,connectionLineOptions:r,defaultMarkerColor:i}=$e(),a=t.computed(()=>{const l=new Set,s=[],c=d=>{if(d){const f=Jo(d,n);l.has(f)||(typeof d=="object"?s.push({...d,id:f,color:d.color||i.value}):s.push({id:f,color:i.value,type:d}),l.add(f))}};for(const d of[r.value.markerEnd,r.value.markerStart])c(d);for(const d of o.value)for(const f of[d.markerStart,d.markerEnd])c(f);return s.sort((d,f)=>d.id.localeCompare(f.id))});return(l,s)=>(t.openBlock(),t.createElementBlock("svg",pI,[t.createElementVNode("defs",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,c=>(t.openBlock(),t.createBlock(fI,{id:c.id,key:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,"stroke-width":c.strokeWidth,orient:c.orient},null,8,["id","type","color","width","height","markerUnits","stroke-width","orient"]))),128))])]))}}),hI={name:"Edges",compatConfig:{MODE:3}},yI=t.defineComponent({...hI,setup(e){const{findNode:n,getEdges:o,elevateEdgesOnSelect:r}=$e();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(gI),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(o),l=>(t.openBlock(),t.createElementBlock("svg",{key:l.id,class:"vue-flow__edges vue-flow__container",style:t.normalizeStyle({zIndex:t.unref(Kx)(l,t.unref(n),t.unref(r))})},[t.createVNode(t.unref(sI),{id:l.id},null,8,["id"])],4))),128)),t.createVNode(t.unref(cI))],64))}}),_I=t.defineComponent({name:"Node",compatConfig:{MODE:3},props:["id","resizeObserver"],setup(e){const{id:n,noPanClassName:o,selectNodesOnDrag:r,nodesSelectionActive:i,multiSelectionActive:a,emits:l,removeSelectedNodes:s,addSelectedNodes:c,updateNodeDimensions:d,onUpdateNodeInternals:f,getNodeTypes:u,nodeExtent:p,elevateNodesOnSelect:m,disableKeyboardA11y:h,ariaLiveMessage:_,snapToGrid:g,snapGrid:y,nodeDragThreshold:w,nodesDraggable:b,elementsSelectable:v,nodesConnectable:S,nodesFocusable:N,hooks:I}=$e(),O=t.ref(null);t.provide(Wf,O),t.provide(Yf,e.id);const F=t.inject(wi),H=t.getCurrentInstance(),q=Qf(),{node:E,parentNode:te}=Jf(e.id),{emit:P,on:G}=sA(E,l),R=t.toRef(()=>typeof E.draggable>"u"?b.value:E.draggable),K=t.toRef(()=>typeof E.selectable>"u"?v.value:E.selectable),V=t.toRef(()=>typeof E.connectable>"u"?S.value:E.connectable),M=t.toRef(()=>typeof E.focusable>"u"?N.value:E.focusable),D=t.computed(()=>K.value||R.value||I.value.nodeClick.hasListeners()||I.value.nodeDoubleClick.hasListeners()||I.value.nodeMouseEnter.hasListeners()||I.value.nodeMouseMove.hasListeners()||I.value.nodeMouseLeave.hasListeners()),L=t.toRef(()=>!!E.dimensions.width&&!!E.dimensions.height),j=t.computed(()=>{const x=E.type||"default",k=F==null?void 0:F[`node-${x}`];if(k)return k;let $=E.template||u.value[x];if(typeof $=="string"&&H){const A=Object.keys(H.appContext.components);A&&A.includes(x)&&($=t.resolveComponent(x,!1))}return $&&typeof $!="string"?$:(l.error(new Ze(Ge.NODE_TYPE_MISSING,$)),!1)}),Z=Xf({id:e.id,el:O,disabled:()=>!R.value,selectable:K,dragHandle:()=>E.dragHandle,onStart(x){P.dragStart(x)},onDrag(x){P.drag(x)},onStop(x){P.dragStop(x)},onClick(x){T(x)}}),W=t.computed(()=>E.class instanceof Function?E.class(E):E.class),ne=t.computed(()=>{const x=(E.style instanceof Function?E.style(E):E.style)||{},k=E.width instanceof Function?E.width(E):E.width,$=E.height instanceof Function?E.height(E):E.height;return!x.width&&k&&(x.width=typeof k=="string"?k:`${k}px`),!x.height&&$&&(x.height=typeof $=="string"?$:`${$}px`),x}),ie=t.toRef(()=>Number(E.zIndex??ne.value.zIndex??0));return f(x=>{(x.includes(e.id)||!x.length)&&ye()}),t.onMounted(()=>{t.watch(()=>E.hidden,(x=!1,k,$)=>{!x&&O.value&&(e.resizeObserver.observe(O.value),$(()=>{O.value&&e.resizeObserver.unobserve(O.value)}))},{immediate:!0,flush:"post"})}),t.watch([()=>E.type,()=>E.sourcePosition,()=>E.targetPosition],()=>{t.nextTick(()=>{d([{id:e.id,nodeElement:O.value,forceUpdate:!0}])})}),t.watch([()=>E.position.x,()=>E.position.y,()=>{var x;return(x=te.value)==null?void 0:x.computedPosition.x},()=>{var x;return(x=te.value)==null?void 0:x.computedPosition.y},()=>{var x;return(x=te.value)==null?void 0:x.computedPosition.z},ie,()=>E.selected,()=>E.dimensions.height,()=>E.dimensions.width,()=>{var x;return(x=te.value)==null?void 0:x.dimensions.height},()=>{var x;return(x=te.value)==null?void 0:x.dimensions.width}],([x,k,$,A,z,X])=>{const B={x,y:k,z:X+(m.value&&E.selected?1e3:0)};typeof $<"u"&&typeof A<"u"?E.computedPosition=Rx({x:$,y:A,z},B):E.computedPosition=B},{flush:"post",immediate:!0}),t.watch([()=>E.extent,p],([x,k],[$,A])=>{(x!==$||k!==A)&&de()}),E.extent==="parent"||typeof E.extent=="object"&&"range"in E.extent&&E.extent.range==="parent"?Ja(()=>L).toBe(!0).then(de):de(),()=>E.hidden?null:t.h("div",{ref:O,"data-id":E.id,class:["vue-flow__node",`vue-flow__node-${j.value===!1?"default":E.type||"default"}`,{[o.value]:R.value,dragging:Z==null?void 0:Z.value,draggable:R.value,selected:E.selected,selectable:K.value,parent:E.isParent},W.value],style:{visibility:L.value?"visible":"hidden",zIndex:E.computedPosition.z??ie.value,transform:`translate(${E.computedPosition.x}px,${E.computedPosition.y}px)`,pointerEvents:D.value?"all":"none",...ne.value},tabIndex:M.value?0:void 0,role:M.value?"group":void 0,"aria-describedby":h.value?void 0:`${hf}-${n}`,"aria-label":E.ariaLabel,"aria-roledescription":"node",...E.domAttributes,onMouseenter:Q,onMousemove:oe,onMouseleave:le,onContextmenu:ue,onClick:T,onDblclick:ce,onKeydown:C},[t.h(j.value===!1?u.value.default:j.value,{id:E.id,type:E.type,data:E.data,events:{...E.events,...G},selected:E.selected,resizing:E.resizing,dragging:Z.value,connectable:V.value,position:E.computedPosition,dimensions:E.dimensions,isValidTargetPos:E.isValidTargetPos,isValidSourcePos:E.isValidSourcePos,parent:E.parentNode,parentNodeId:E.parentNode,zIndex:E.computedPosition.z??ie.value,targetPosition:E.targetPosition,sourcePosition:E.sourcePosition,label:E.label,dragHandle:E.dragHandle,onUpdateNodeInternals:ye})]);function de(){const x=E.computedPosition,{computedPosition:k,position:$}=Nl(E,g.value?_i(x,y.value):x,l.error,p.value,te.value);(E.computedPosition.x!==k.x||E.computedPosition.y!==k.y)&&(E.computedPosition={...E.computedPosition,...k}),(E.position.x!==$.x||E.position.y!==$.y)&&(E.position=$)}function ye(){O.value&&d([{id:e.id,nodeElement:O.value,forceUpdate:!0}])}function Q(x){Z!=null&&Z.value||P.mouseEnter({event:x,node:E})}function oe(x){Z!=null&&Z.value||P.mouseMove({event:x,node:E})}function le(x){Z!=null&&Z.value||P.mouseLeave({event:x,node:E})}function ue(x){return P.contextMenu({event:x,node:E})}function ce(x){return P.doubleClick({event:x,node:E})}function T(x){K.value&&(!r.value||!R.value||w.value>0)&&Al(E,a.value,c,s,i,!1,O.value),P.click({event:x,node:E})}function C(x){if(!(wl(x)||h.value))if(_f.includes(x.key)&&K.value){const k=x.key==="Escape";Al(E,a.value,c,s,i,k,O.value)}else R.value&&E.selected&&to[x.key]&&(x.preventDefault(),_.value=`Moved selected node ${x.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~E.position.x}, y: ${~~E.position.y}`,q({x:to[x.key].x,y:to[x.key].y},x.shiftKey))}}});function bI(e={includeHiddenNodes:!1}){const{nodes:n}=$e();return t.computed(()=>{if(n.value.length===0)return!1;for(const o of n.value)if((e.includeHiddenNodes||!o.hidden)&&((o==null?void 0:o.handleBounds)===void 0||o.dimensions.width===0||o.dimensions.height===0))return!1;return!0})}const wI={class:"vue-flow__nodes vue-flow__container"},kI={name:"Nodes",compatConfig:{MODE:3}},CI=t.defineComponent({...kI,setup(e){const{getNodes:n,updateNodeDimensions:o,emits:r}=$e(),i=bI(),a=t.ref();return t.watch(i,l=>{l&&t.nextTick(()=>{r.nodesInitialized(n.value)})},{immediate:!0}),t.onMounted(()=>{a.value=new ResizeObserver(l=>{const s=l.map(c=>({id:c.target.getAttribute("data-id"),nodeElement:c.target,forceUpdate:!0}));t.nextTick(()=>o(s))})}),t.onBeforeUnmount(()=>{var l;return(l=a.value)==null?void 0:l.disconnect()}),(l,s)=>(t.openBlock(),t.createElementBlock("div",wI,[a.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(t.unref(n),(c,d,f,u)=>{const p=[c.id];if(u&&u.key===c.id&&t.isMemoSame(u,p))return u;const m=(t.openBlock(),t.createBlock(t.unref(_I),{id:c.id,key:c.id,"resize-observer":a.value},null,8,["id","resize-observer"]));return m.memo=p,m},s,0),128)):t.createCommentVNode("",!0)]))}});function EI(){const{emits:e}=$e();t.onMounted(()=>{if(Kf()){const n=document.querySelector(".vue-flow__pane");n&&window.getComputedStyle(n).zIndex!=="1"&&e.error(new Ze(Ge.MISSING_STYLES))}})}const NI=t.createElementVNode("div",{class:"vue-flow__edge-labels"},null,-1),SI={name:"VueFlow",compatConfig:{MODE:3}},up=t.defineComponent({...SI,props:{id:{},modelValue:{},nodes:{},edges:{},edgeTypes:{},nodeTypes:{},connectionMode:{},connectionLineType:{},connectionLineStyle:{default:void 0},connectionLineOptions:{default:void 0},connectionRadius:{},isValidConnection:{type:[Function,null],default:void 0},deleteKeyCode:{default:void 0},selectionKeyCode:{type:[Boolean,null],default:void 0},multiSelectionKeyCode:{default:void 0},zoomActivationKeyCode:{default:void 0},panActivationKeyCode:{default:void 0},snapToGrid:{type:Boolean,default:void 0},snapGrid:{},onlyRenderVisibleElements:{type:Boolean,default:void 0},edgesUpdatable:{type:[Boolean,String],default:void 0},nodesDraggable:{type:Boolean,default:void 0},nodesConnectable:{type:Boolean,default:void 0},nodeDragThreshold:{},elementsSelectable:{type:Boolean,default:void 0},selectNodesOnDrag:{type:Boolean,default:void 0},panOnDrag:{type:[Boolean,Array],default:void 0},minZoom:{},maxZoom:{},defaultViewport:{},translateExtent:{},nodeExtent:{},defaultMarkerColor:{},zoomOnScroll:{type:Boolean,default:void 0},zoomOnPinch:{type:Boolean,default:void 0},panOnScroll:{type:Boolean,default:void 0},panOnScrollSpeed:{},panOnScrollMode:{},paneClickDistance:{},zoomOnDoubleClick:{type:Boolean,default:void 0},preventScrolling:{type:Boolean,default:void 0},selectionMode:{},edgeUpdaterRadius:{},fitViewOnInit:{type:Boolean,default:void 0},connectOnClick:{type:Boolean,default:void 0},applyDefault:{type:Boolean,default:void 0},autoConnect:{type:[Boolean,Function],default:void 0},noDragClassName:{},noWheelClassName:{},noPanClassName:{},defaultEdgeOptions:{},elevateEdgesOnSelect:{type:Boolean,default:void 0},elevateNodesOnSelect:{type:Boolean,default:void 0},disableKeyboardA11y:{type:Boolean,default:void 0},edgesFocusable:{type:Boolean,default:void 0},nodesFocusable:{type:Boolean,default:void 0},autoPanOnConnect:{type:Boolean,default:void 0},autoPanOnNodeDrag:{type:Boolean,default:void 0},autoPanSpeed:{}},emits:["nodesChange","edgesChange","nodesInitialized","paneReady","init","updateNodeInternals","error","connect","connectStart","connectEnd","clickConnectStart","clickConnectEnd","moveStart","move","moveEnd","selectionDragStart","selectionDrag","selectionDragStop","selectionContextMenu","selectionStart","selectionEnd","viewportChangeStart","viewportChange","viewportChangeEnd","paneScroll","paneClick","paneContextMenu","paneMouseEnter","paneMouseMove","paneMouseLeave","edgeUpdate","edgeContextMenu","edgeMouseEnter","edgeMouseMove","edgeMouseLeave","edgeDoubleClick","edgeClick","edgeUpdateStart","edgeUpdateEnd","nodeContextMenu","nodeMouseEnter","nodeMouseMove","nodeMouseLeave","nodeDoubleClick","nodeClick","nodeDragStart","nodeDrag","nodeDragStop","miniMapNodeClick","miniMapNodeDoubleClick","miniMapNodeMouseEnter","miniMapNodeMouseMove","miniMapNodeMouseLeave","update:modelValue","update:nodes","update:edges"],setup(e,{expose:n,emit:o}){const r=e,i=t.useSlots(),a=Qa(r,"modelValue",o),l=Qa(r,"nodes",o),s=Qa(r,"edges",o),c=$e(r),d=fA({modelValue:a,nodes:l,edges:s},r,c);return mA(o,c.hooks),iI(),EI(),t.provide(wi,i),t.onUnmounted(()=>{d()}),n(c),(f,u)=>(t.openBlock(),t.createElementBlock("div",{ref:t.unref(c).vueFlowRef,class:"vue-flow"},[t.createVNode(QA,null,{default:t.withCtx(()=>[t.createVNode(yI),NI,t.createVNode(CI),t.renderSlot(f.$slots,"zoom-pane")]),_:3}),t.renderSlot(f.$slots,"default"),t.createVNode(rI)],512))}}),vI={name:"Panel",compatConfig:{MODE:3}},xI=t.defineComponent({...vI,props:{position:{}},setup(e){const n=e,{userSelectionActive:o}=$e(),r=t.computed(()=>`${n.position}`.split("-"));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["vue-flow__panel",r.value]),style:t.normalizeStyle({pointerEvents:t.unref(o)?"none":"all"})},[t.renderSlot(i.$slots,"default")],6))}});var Gt=(e=>(e.Lines="lines",e.Dots="dots",e))(Gt||{});const fp=function({dimensions:e,size:n,color:o}){return t.h("path",{stroke:o,"stroke-width":n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})},pp=function({radius:e,color:n}){return t.h("circle",{cx:e,cy:e,r:e,fill:n})};Gt.Lines+"",Gt.Dots+"";const AI={[Gt.Dots]:"#81818a",[Gt.Lines]:"#eee"},II=["id","x","y","width","height","patternTransform"],PI={key:2,height:"100",width:"100"},TI=["fill"],OI=["x","y","fill"],$I={name:"Background",compatConfig:{MODE:3}},BI=t.defineComponent({...$I,props:{id:{},variant:{default:()=>Gt.Dots},gap:{default:20},size:{default:1},lineWidth:{default:1},patternColor:{},color:{},bgColor:{},height:{default:100},width:{default:100},x:{default:0},y:{default:0},offset:{default:0}},setup(e){const{id:n,viewport:o}=$e(),r=t.computed(()=>{const l=o.value.zoom,[s,c]=Array.isArray(e.gap)?e.gap:[e.gap,e.gap],d=[s*l||1,c*l||1],f=e.size*l,[u,p]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],m=[u*l||1+d[0]/2,p*l||1+d[1]/2];return{scaledGap:d,offset:m,size:f}}),i=t.toRef(()=>`pattern-${n}${e.id?`-${e.id}`:""}`),a=t.toRef(()=>e.color||e.patternColor||AI[e.variant||Gt.Dots]);return(l,s)=>(t.openBlock(),t.createElementBlock("svg",{class:"vue-flow__background vue-flow__container",style:t.normalizeStyle({height:`${l.height>100?100:l.height}%`,width:`${l.width>100?100:l.width}%`})},[t.renderSlot(l.$slots,"pattern-container",{id:i.value},()=>[t.createElementVNode("pattern",{id:i.value,x:t.unref(o).x%r.value.scaledGap[0],y:t.unref(o).y%r.value.scaledGap[1],width:r.value.scaledGap[0],height:r.value.scaledGap[1],patternTransform:`translate(-${r.value.offset[0]},-${r.value.offset[1]})`,patternUnits:"userSpaceOnUse"},[t.renderSlot(l.$slots,"pattern",{},()=>[l.variant===t.unref(Gt).Lines?(t.openBlock(),t.createBlock(t.unref(fp),{key:0,size:l.lineWidth,color:a.value,dimensions:r.value.scaledGap},null,8,["size","color","dimensions"])):l.variant===t.unref(Gt).Dots?(t.openBlock(),t.createBlock(t.unref(pp),{key:1,color:a.value,radius:r.value.size/2},null,8,["color","radius"])):t.createCommentVNode("",!0),l.bgColor?(t.openBlock(),t.createElementBlock("svg",PI,[t.createElementVNode("rect",{width:"100%",height:"100%",fill:l.bgColor},null,8,TI)])):t.createCommentVNode("",!0)])],8,II)]),t.createElementVNode("rect",{x:l.x,y:l.y,width:"100%",height:"100%",fill:`url(#${i.value})`},null,8,OI),t.renderSlot(l.$slots,"default",{id:i.value})],4))}}),VI={name:"ControlButton",compatConfig:{MODE:3}},RI=(e,n)=>{const o=e.__vccOpts||e;for(const[r,i]of n)o[r]=i;return o},DI={class:"vue-flow__controls-button"};function MI(e,n,o,r,i,a){return t.openBlock(),t.createElementBlock("button",DI,[t.renderSlot(e.$slots,"default")])}const Qo=RI(VI,[["render",MI]]),FI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},LI=[t.createElementVNode("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"},null,-1)];function UI(e,n){return t.openBlock(),t.createElementBlock("svg",FI,LI)}const KI={render:UI},jI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},qI=[t.createElementVNode("path",{d:"M0 0h32v4.2H0z"},null,-1)];function GI(e,n){return t.openBlock(),t.createElementBlock("svg",jI,qI)}const zI={render:GI},HI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},YI=[t.createElementVNode("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0 0 27.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94a.919.919 0 0 1-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"},null,-1)];function WI(e,n){return t.openBlock(),t.createElementBlock("svg",HI,YI)}const XI={render:WI},ZI={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},JI=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"},null,-1)];function QI(e,n){return t.openBlock(),t.createElementBlock("svg",ZI,JI)}const eP={render:QI},tP={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},nP=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047z"},null,-1)];function oP(e,n){return t.openBlock(),t.createElementBlock("svg",tP,nP)}const rP={render:oP},iP={name:"Controls",compatConfig:{MODE:3}},aP=t.defineComponent({...iP,props:{showZoom:{type:Boolean,default:!0},showFitView:{type:Boolean,default:!0},showInteractive:{type:Boolean,default:!0},fitViewParams:{},position:{default:()=>mf.BottomLeft}},emits:["zoomIn","zoomOut","fitView","interactionChange"],setup(e,{emit:n}){const{nodesDraggable:o,nodesConnectable:r,elementsSelectable:i,setInteractive:a,zoomIn:l,zoomOut:s,fitView:c,viewport:d,minZoom:f,maxZoom:u}=$e(),p=t.toRef(()=>o.value||r.value||i.value),m=t.toRef(()=>d.value.zoom<=f.value),h=t.toRef(()=>d.value.zoom>=u.value);function _(){l(),n("zoomIn")}function g(){s(),n("zoomOut")}function y(){c(e.fitViewParams),n("fitView")}function w(){a(!p.value),n("interactionChange",!p.value)}return(b,v)=>(t.openBlock(),t.createBlock(t.unref(xI),{class:"vue-flow__controls",position:b.position},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"top"),b.showZoom?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.renderSlot(b.$slots,"control-zoom-in",{},()=>[t.createVNode(Qo,{class:"vue-flow__controls-zoomin",disabled:h.value,onClick:_},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-zoom-in",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(KI))))])]),_:3},8,["disabled"])]),t.renderSlot(b.$slots,"control-zoom-out",{},()=>[t.createVNode(Qo,{class:"vue-flow__controls-zoomout",disabled:m.value,onClick:g},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-zoom-out",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(zI))))])]),_:3},8,["disabled"])])],64)):t.createCommentVNode("",!0),b.showFitView?t.renderSlot(b.$slots,"control-fit-view",{key:1},()=>[t.createVNode(Qo,{class:"vue-flow__controls-fitview",onClick:y},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-fit-view",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(XI))))])]),_:3})]):t.createCommentVNode("",!0),b.showInteractive?t.renderSlot(b.$slots,"control-interactive",{key:2},()=>[b.showInteractive?(t.openBlock(),t.createBlock(Qo,{key:0,class:"vue-flow__controls-interactive",onClick:w},{default:t.withCtx(()=>[p.value?t.renderSlot(b.$slots,"icon-unlock",{key:0},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(rP))))]):t.createCommentVNode("",!0),p.value?t.createCommentVNode("",!0):t.renderSlot(b.$slots,"icon-lock",{key:1},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(eP))))])]),_:3})):t.createCommentVNode("",!0)]):t.createCommentVNode("",!0),t.renderSlot(b.$slots,"default")]),_:3},8,["position"]))}}),lP=["undo","redo","duplicate","cut","copy","paste"],mp=()=>{};function sP(e){const n=e;return n?!!n.closest('input, textarea, [contenteditable]:not([contenteditable="false"])'):!1}function cP(e){if(!(e.metaKey||e.ctrlKey))return;switch(e.key.toLowerCase()){case"z":return e.shiftKey?"redo":"undo";case"y":return"redo";case"d":return"duplicate";case"x":return"cut";case"c":return"copy";case"v":return"paste"}}const dP=Ke.createSharedComposable(()=>{const e=new Set;Ke.useEventListener("keydown",o=>{if(sP(o.target))return;const r=cP(o);if(r)for(const i of e){if(!t.toValue(i.enabled))continue;const a=i[r];if(a){if(o.defaultPrevented){t.warn(`[useHotkeys] event for "${r}" was already defaultPrevented. Hotkey ignored.`);return}o.preventDefault(),a();return}}},{passive:!1});function n(o){if(!lP.some(i=>typeof o[i]=="function"))return mp;const r={enabled:o.enabled??!0,...o};return e.add(r),()=>e.delete(r)}return{subscribe:n}});function gp(e={}){if(typeof window>"u")return mp;const n=dP().subscribe(e);return t.onScopeDispose(n),n}const er={padding:80,gaps:{nodes:40,edges:80,ranks:40}},uP=1600,fP=1.2,pP=0,mP=200,hp=Symbol("confirm-modal"),oo="{key}",xn={"kong.client.consumer":{dataType:"object",writable:!1,readable:!0},"kong.client.consumer_groups":{dataType:"array",writable:!1,readable:!0},"kong.client.credential":{dataType:"object",writable:!1,readable:!0},"kong.client.get_identity_realm_source":{dataType:"object",writable:!1,readable:!0},"kong.client.forwarded_ip":{dataType:"string",writable:!1,readable:!0},"kong.client.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.client.ip":{dataType:"string",writable:!1,readable:!0},"kong.client.port":{dataType:"number",writable:!1,readable:!0},"kong.client.protocol":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_host":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.request.forwarded_scheme":{dataType:"string",writable:!1,readable:!0},"kong.request.port":{dataType:"number",writable:!1,readable:!0},"kong.response.source":{dataType:"string",writable:!1,readable:!0},"kong.router.route":{dataType:"object",writable:!1,readable:!0},"kong.route_id":{dataType:"string",writable:!1,readable:!0},"kong.route_name":{dataType:"string",writable:!1,readable:!0},"kong.router.service":{dataType:"object",writable:!1,readable:!0},"kong.service_name":{dataType:"string",writable:!1,readable:!0},"kong.service_id":{dataType:"string",writable:!1,readable:!0},"kong.service.response.status":{dataType:"number",writable:!1,readable:!0},"kong.version":{dataType:"string",writable:!1,readable:!0},"kong.node.id":{dataType:"string",writable:!1,readable:!0},"kong.configuration.{key}":{dataType:"any",writable:!1,readable:!0},"kong.service.target":{dataType:"string ({host}:{port})",writable:!0,readable:!1},"kong.service.request_scheme":{dataType:"string ({scheme})",writable:!0,readable:!1},"kong.ctx.plugin.{key}":{dataType:"any",writable:!0,readable:!0},"kong.ctx.shared.{key}":{dataType:"any",writable:!0,readable:!0}},xi=Object.keys(xn).filter(e=>e.includes(oo)).map(e=>e.replace(oo,""));function Vl(e){if(!e||!nr(e))return;const n=xi.find(o=>e.startsWith(o));if(n)return e.slice(n.length).replace(oo,"")}function tr(e){if(!e)return null;const n=xi.find(o=>e.startsWith(o));return n||e}function nr(e){return e?xi.some(n=>e.startsWith(n)):!1}function yp(e){return e?nr(e)?tr(e)+oo:e:null}function Rl(e){var o;if(!e)return!1;const n=yp(e);return n?((o=xn[n])==null?void 0:o.readable)??!1:!1}function Dl(e){var o;if(!e)return!1;const n=yp(e);return n?((o=xn[n])==null?void 0:o.writable)??!1:!1}function gP(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var hP="\0",An="\0",_p="";let yP=class{constructor(n){Ye(this,"_isDirected",!0);Ye(this,"_isMultigraph",!1);Ye(this,"_isCompound",!1);Ye(this,"_label");Ye(this,"_defaultNodeLabelFn",()=>{});Ye(this,"_defaultEdgeLabelFn",()=>{});Ye(this,"_nodes",{});Ye(this,"_in",{});Ye(this,"_preds",{});Ye(this,"_out",{});Ye(this,"_sucs",{});Ye(this,"_edgeObjs",{});Ye(this,"_edgeLabels",{});Ye(this,"_nodeCount",0);Ye(this,"_edgeCount",0);Ye(this,"_parent");Ye(this,"_children");n&&(this._isDirected=Object.hasOwn(n,"directed")?n.directed:!0,this._isMultigraph=Object.hasOwn(n,"multigraph")?n.multigraph:!1,this._isCompound=Object.hasOwn(n,"compound")?n.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[An]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(n){return this._label=n,this}graph(){return this._label}setDefaultNodeLabel(n){return this._defaultNodeLabelFn=n,typeof n!="function"&&(this._defaultNodeLabelFn=()=>n),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var n=this;return this.nodes().filter(o=>Object.keys(n._in[o]).length===0)}sinks(){var n=this;return this.nodes().filter(o=>Object.keys(n._out[o]).length===0)}setNodes(n,o){var r=arguments,i=this;return n.forEach(function(a){r.length>1?i.setNode(a,o):i.setNode(a)}),this}setNode(n,o){return Object.hasOwn(this._nodes,n)?(arguments.length>1&&(this._nodes[n]=o),this):(this._nodes[n]=arguments.length>1?o:this._defaultNodeLabelFn(n),this._isCompound&&(this._parent[n]=An,this._children[n]={},this._children[An][n]=!0),this._in[n]={},this._preds[n]={},this._out[n]={},this._sucs[n]={},++this._nodeCount,this)}node(n){return this._nodes[n]}hasNode(n){return Object.hasOwn(this._nodes,n)}removeNode(n){var o=this;if(Object.hasOwn(this._nodes,n)){var r=i=>o.removeEdge(o._edgeObjs[i]);delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],this.children(n).forEach(function(i){o.setParent(i)}),delete this._children[n]),Object.keys(this._in[n]).forEach(r),delete this._in[n],delete this._preds[n],Object.keys(this._out[n]).forEach(r),delete this._out[n],delete this._sucs[n],--this._nodeCount}return this}setParent(n,o){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(o===void 0)o=An;else{o+="";for(var r=o;r!==void 0;r=this.parent(r))if(r===n)throw new Error("Setting "+o+" as parent of "+n+" would create a cycle");this.setNode(o)}return this.setNode(n),this._removeFromParentsChildList(n),this._parent[n]=o,this._children[o][n]=!0,this}_removeFromParentsChildList(n){delete this._children[this._parent[n]][n]}parent(n){if(this._isCompound){var o=this._parent[n];if(o!==An)return o}}children(n=An){if(this._isCompound){var o=this._children[n];if(o)return Object.keys(o)}else{if(n===An)return this.nodes();if(this.hasNode(n))return[]}}predecessors(n){var o=this._preds[n];if(o)return Object.keys(o)}successors(n){var o=this._sucs[n];if(o)return Object.keys(o)}neighbors(n){var o=this.predecessors(n);if(o){const i=new Set(o);for(var r of this.successors(n))i.add(r);return Array.from(i.values())}}isLeaf(n){var o;return this.isDirected()?o=this.successors(n):o=this.neighbors(n),o.length===0}filterNodes(n){var o=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});o.setGraph(this.graph());var r=this;Object.entries(this._nodes).forEach(function([l,s]){n(l)&&o.setNode(l,s)}),Object.values(this._edgeObjs).forEach(function(l){o.hasNode(l.v)&&o.hasNode(l.w)&&o.setEdge(l,r.edge(l))});var i={};function a(l){var s=r.parent(l);return s===void 0||o.hasNode(s)?(i[l]=s,s):s in i?i[s]:a(s)}return this._isCompound&&o.nodes().forEach(l=>o.setParent(l,a(l))),o}setDefaultEdgeLabel(n){return this._defaultEdgeLabelFn=n,typeof n!="function"&&(this._defaultEdgeLabelFn=()=>n),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(n,o){var r=this,i=arguments;return n.reduce(function(a,l){return i.length>1?r.setEdge(a,l,o):r.setEdge(a,l),l}),this}setEdge(){var n,o,r,i,a=!1,l=arguments[0];typeof l=="object"&&l!==null&&"v"in l?(n=l.v,o=l.w,r=l.name,arguments.length===2&&(i=arguments[1],a=!0)):(n=l,o=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),n=""+n,o=""+o,r!==void 0&&(r=""+r);var s=or(this._isDirected,n,o,r);if(Object.hasOwn(this._edgeLabels,s))return a&&(this._edgeLabels[s]=i),this;if(r!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(n),this.setNode(o),this._edgeLabels[s]=a?i:this._defaultEdgeLabelFn(n,o,r);var c=_P(this._isDirected,n,o,r);return n=c.v,o=c.w,Object.freeze(c),this._edgeObjs[s]=c,bp(this._preds[o],n),bp(this._sucs[n],o),this._in[o][s]=c,this._out[n][s]=c,this._edgeCount++,this}edge(n,o,r){var i=arguments.length===1?Ml(this._isDirected,arguments[0]):or(this._isDirected,n,o,r);return this._edgeLabels[i]}edgeAsObj(){const n=this.edge(...arguments);return typeof n!="object"?{label:n}:n}hasEdge(n,o,r){var i=arguments.length===1?Ml(this._isDirected,arguments[0]):or(this._isDirected,n,o,r);return Object.hasOwn(this._edgeLabels,i)}removeEdge(n,o,r){var i=arguments.length===1?Ml(this._isDirected,arguments[0]):or(this._isDirected,n,o,r),a=this._edgeObjs[i];return a&&(n=a.v,o=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],wp(this._preds[o],n),wp(this._sucs[n],o),delete this._in[o][i],delete this._out[n][i],this._edgeCount--),this}inEdges(n,o){var r=this._in[n];if(r){var i=Object.values(r);return o?i.filter(a=>a.v===o):i}}outEdges(n,o){var r=this._out[n];if(r){var i=Object.values(r);return o?i.filter(a=>a.w===o):i}}nodeEdges(n,o){var r=this.inEdges(n,o);if(r)return r.concat(this.outEdges(n,o))}};function bp(e,n){e[n]?e[n]++:e[n]=1}function wp(e,n){--e[n]||delete e[n]}function or(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}return i+_p+a+_p+(r===void 0?hP:r)}function _P(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}var s={v:i,w:a};return r&&(s.name=r),s}function Ml(e,n){return or(e,n.v,n.w,n.name)}var Fl=yP,bP="2.2.4",wP={Graph:Fl,version:bP},kP=Fl,CP={write:EP,read:vP};function EP(e){var n={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:NP(e),edges:SP(e)};return e.graph()!==void 0&&(n.value=structuredClone(e.graph())),n}function NP(e){return e.nodes().map(function(n){var o=e.node(n),r=e.parent(n),i={v:n};return o!==void 0&&(i.value=o),r!==void 0&&(i.parent=r),i})}function SP(e){return e.edges().map(function(n){var o=e.edge(n),r={v:n.v,w:n.w};return n.name!==void 0&&(r.name=n.name),o!==void 0&&(r.value=o),r})}function vP(e){var n=new kP(e.options).setGraph(e.value);return e.nodes.forEach(function(o){n.setNode(o.v,o.value),o.parent&&n.setParent(o.v,o.parent)}),e.edges.forEach(function(o){n.setEdge({v:o.v,w:o.w,name:o.name},o.value)}),n}var xP=AP;function AP(e){var n={},o=[],r;function i(a){Object.hasOwn(n,a)||(n[a]=!0,r.push(a),e.successors(a).forEach(i),e.predecessors(a).forEach(i))}return e.nodes().forEach(function(a){r=[],i(a),r.length&&o.push(r)}),o}var kp=class{constructor(){Ye(this,"_arr",[]);Ye(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var o=this._keyIndices[n];if(o!==void 0)return this._arr[o].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,o){var r=this._keyIndices;if(n=String(n),!Object.hasOwn(r,n)){var i=this._arr,a=i.length;return r[n]=a,i.push({key:n,priority:o}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,o){var r=this._keyIndices[n];if(o>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[r].priority+" New: "+o);this._arr[r].priority=o,this._decrease(r)}_heapify(n){var o=this._arr,r=2*n,i=r+1,a=n;r<o.length&&(a=o[r].priority<o[a].priority?r:a,i<o.length&&(a=o[i].priority<o[a].priority?i:a),a!==n&&(this._swap(n,a),this._heapify(a)))}_decrease(n){for(var o=this._arr,r=o[n].priority,i;n!==0&&(i=n>>1,!(o[i].priority<r));)this._swap(n,i),n=i}_swap(n,o){var r=this._arr,i=this._keyIndices,a=r[n],l=r[o];r[n]=l,r[o]=a,i[l.key]=n,i[a.key]=o}},IP=kp,Cp=TP,PP=()=>1;function TP(e,n,o,r){return OP(e,String(n),o||PP,r||function(i){return e.outEdges(i)})}function OP(e,n,o,r){var i={},a=new IP,l,s,c=function(d){var f=d.v!==l?d.v:d.w,u=i[f],p=o(d),m=s.distance+p;if(p<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+d+" Weight: "+p);m<u.distance&&(u.distance=m,u.predecessor=l,a.decrease(f,m))};for(e.nodes().forEach(function(d){var f=d===n?0:Number.POSITIVE_INFINITY;i[d]={distance:f},a.add(d,f)});a.size()>0&&(l=a.removeMin(),s=i[l],s.distance!==Number.POSITIVE_INFINITY);)r(l).forEach(c);return i}var $P=Cp,BP=VP;function VP(e,n,o){return e.nodes().reduce(function(r,i){return r[i]=$P(e,i,n,o),r},{})}var Ep=RP;function RP(e){var n=0,o=[],r={},i=[];function a(l){var s=r[l]={onStack:!0,lowlink:n,index:n++};if(o.push(l),e.successors(l).forEach(function(f){Object.hasOwn(r,f)?r[f].onStack&&(s.lowlink=Math.min(s.lowlink,r[f].index)):(a(f),s.lowlink=Math.min(s.lowlink,r[f].lowlink))}),s.lowlink===s.index){var c=[],d;do d=o.pop(),r[d].onStack=!1,c.push(d);while(l!==d);i.push(c)}}return e.nodes().forEach(function(l){Object.hasOwn(r,l)||a(l)}),i}var DP=Ep,MP=FP;function FP(e){return DP(e).filter(function(n){return n.length>1||n.length===1&&e.hasEdge(n[0],n[0])})}var LP=KP,UP=()=>1;function KP(e,n,o){return jP(e,n||UP,o||function(r){return e.outEdges(r)})}function jP(e,n,o){var r={},i=e.nodes();return i.forEach(function(a){r[a]={},r[a][a]={distance:0},i.forEach(function(l){a!==l&&(r[a][l]={distance:Number.POSITIVE_INFINITY})}),o(a).forEach(function(l){var s=l.v===a?l.w:l.v,c=n(l);r[a][s]={distance:c,predecessor:a}})}),i.forEach(function(a){var l=r[a];i.forEach(function(s){var c=r[s];i.forEach(function(d){var f=c[a],u=l[d],p=c[d],m=f.distance+u.distance;m<p.distance&&(p.distance=m,p.predecessor=u.predecessor)})})}),r}function Np(e){var n={},o={},r=[];function i(a){if(Object.hasOwn(o,a))throw new Ll;Object.hasOwn(n,a)||(o[a]=!0,n[a]=!0,e.predecessors(a).forEach(i),delete o[a],r.push(a))}if(e.sinks().forEach(i),Object.keys(n).length!==e.nodeCount())throw new Ll;return r}class Ll extends Error{constructor(){super(...arguments)}}var Sp=Np;Np.CycleException=Ll;var vp=Sp,qP=GP;function GP(e){try{vp(e)}catch(n){if(n instanceof vp.CycleException)return!1;throw n}return!0}var xp=zP;function zP(e,n,o){Array.isArray(n)||(n=[n]);var r=e.isDirected()?s=>e.successors(s):s=>e.neighbors(s),i=o==="post"?HP:YP,a=[],l={};return n.forEach(s=>{if(!e.hasNode(s))throw new Error("Graph does not have node: "+s);i(s,r,l,a)}),a}function HP(e,n,o,r){for(var i=[[e,!1]];i.length>0;){var a=i.pop();a[1]?r.push(a[0]):Object.hasOwn(o,a[0])||(o[a[0]]=!0,i.push([a[0],!0]),Ap(n(a[0]),l=>i.push([l,!1])))}}function YP(e,n,o,r){for(var i=[e];i.length>0;){var a=i.pop();Object.hasOwn(o,a)||(o[a]=!0,r.push(a),Ap(n(a),l=>i.push(l)))}}function Ap(e,n){for(var o=e.length;o--;)n(e[o],o,e);return e}var WP=xp,XP=ZP;function ZP(e,n){return WP(e,n,"post")}var JP=xp,QP=eT;function eT(e,n){return JP(e,n,"pre")}var tT=Fl,nT=kp,oT=rT;function rT(e,n){var o=new tT,r={},i=new nT,a;function l(c){var d=c.v===a?c.w:c.v,f=i.priority(d);if(f!==void 0){var u=n(c);u<f&&(r[d]=a,i.decrease(d,u))}}if(e.nodeCount()===0)return o;e.nodes().forEach(function(c){i.add(c,Number.POSITIVE_INFINITY),o.setNode(c)}),i.decrease(e.nodes()[0],0);for(var s=!1;i.size()>0;){if(a=i.removeMin(),Object.hasOwn(r,a))o.setEdge(a,r[a]);else{if(s)throw new Error("Input graph is not connected: "+e);s=!0}e.nodeEdges(a).forEach(l)}return o}var iT={components:xP,dijkstra:Cp,dijkstraAll:BP,findCycles:MP,floydWarshall:LP,isAcyclic:qP,postorder:XP,preorder:QP,prim:oT,tarjan:Ep,topsort:Sp},Ip=wP,Nt={Graph:Ip.Graph,json:CP,alg:iT,version:Ip.version};let aT=class{constructor(){let n={};n._next=n._prev=n,this._sentinel=n}dequeue(){let n=this._sentinel,o=n._prev;if(o!==n)return Pp(o),o}enqueue(n){let o=this._sentinel;n._prev&&n._next&&Pp(n),n._next=o._next,o._next._prev=n,o._next=n,n._prev=o}toString(){let n=[],o=this._sentinel,r=o._prev;for(;r!==o;)n.push(JSON.stringify(r,lT)),r=r._prev;return"["+n.join(", ")+"]"}};function Pp(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function lT(e,n){if(e!=="_next"&&e!=="_prev")return n}var sT=aT;let cT=Nt.Graph,dT=sT;var uT=pT;let fT=()=>1;function pT(e,n){if(e.nodeCount()<=1)return[];let o=gT(e,n||fT);return mT(o.graph,o.buckets,o.zeroIdx).flatMap(i=>e.outEdges(i.v,i.w))}function mT(e,n,o){let r=[],i=n[n.length-1],a=n[0],l;for(;e.nodeCount();){for(;l=a.dequeue();)Ul(e,n,o,l);for(;l=i.dequeue();)Ul(e,n,o,l);if(e.nodeCount()){for(let s=n.length-2;s>0;--s)if(l=n[s].dequeue(),l){r=r.concat(Ul(e,n,o,l,!0));break}}}return r}function Ul(e,n,o,r,i){let a=i?[]:void 0;return e.inEdges(r.v).forEach(l=>{let s=e.edge(l),c=e.node(l.v);i&&a.push({v:l.v,w:l.w}),c.out-=s,Kl(n,o,c)}),e.outEdges(r.v).forEach(l=>{let s=e.edge(l),c=l.w,d=e.node(c);d.in-=s,Kl(n,o,d)}),e.removeNode(r.v),a}function gT(e,n){let o=new cT,r=0,i=0;e.nodes().forEach(s=>{o.setNode(s,{v:s,in:0,out:0})}),e.edges().forEach(s=>{let c=o.edge(s.v,s.w)||0,d=n(s),f=c+d;o.setEdge(s.v,s.w,f),i=Math.max(i,o.node(s.v).out+=d),r=Math.max(r,o.node(s.w).in+=d)});let a=hT(i+r+3).map(()=>new dT),l=r+1;return o.nodes().forEach(s=>{Kl(a,l,o.node(s))}),{graph:o,buckets:a,zeroIdx:l}}function Kl(e,n,o){o.out?o.in?e[o.out-o.in+n].enqueue(o):e[e.length-1].enqueue(o):e[0].enqueue(o)}function hT(e){const n=[];for(let o=0;o<e;o++)n.push(o);return n}let Tp=Nt.Graph;var He={addBorderNode:ST,addDummyNode:Op,applyWithChunking:Ai,asNonCompoundGraph:_T,buildLayerMatrix:CT,intersectRect:kT,mapValues:OT,maxRank:Bp,normalizeRanks:ET,notime:IT,partition:xT,pick:TT,predecessorWeights:wT,range:Rp,removeEmptyRanks:NT,simplify:yT,successorWeights:bT,time:AT,uniqueId:Vp,zipObject:jl};function Op(e,n,o,r){for(var i=r;e.hasNode(i);)i=Vp(r);return o.dummy=n,e.setNode(i,o),i}function yT(e){let n=new Tp().setGraph(e.graph());return e.nodes().forEach(o=>n.setNode(o,e.node(o))),e.edges().forEach(o=>{let r=n.edge(o.v,o.w)||{weight:0,minlen:1},i=e.edge(o);n.setEdge(o.v,o.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),n}function _T(e){let n=new Tp({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(o=>{e.children(o).length||n.setNode(o,e.node(o))}),e.edges().forEach(o=>{n.setEdge(o,e.edge(o))}),n}function bT(e){let n=e.nodes().map(o=>{let r={};return e.outEdges(o).forEach(i=>{r[i.w]=(r[i.w]||0)+e.edge(i).weight}),r});return jl(e.nodes(),n)}function wT(e){let n=e.nodes().map(o=>{let r={};return e.inEdges(o).forEach(i=>{r[i.v]=(r[i.v]||0)+e.edge(i).weight}),r});return jl(e.nodes(),n)}function kT(e,n){let o=e.x,r=e.y,i=n.x-o,a=n.y-r,l=e.width/2,s=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");let c,d;return Math.abs(a)*l>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,d=s):(i<0&&(l=-l),c=l,d=l*a/i),{x:o+c,y:r+d}}function CT(e){let n=Rp(Bp(e)+1).map(()=>[]);return e.nodes().forEach(o=>{let r=e.node(o),i=r.rank;i!==void 0&&(n[i][r.order]=o)}),n}function ET(e){let n=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MAX_VALUE:i}),o=Ai(Math.min,n);e.nodes().forEach(r=>{let i=e.node(r);Object.hasOwn(i,"rank")&&(i.rank-=o)})}function NT(e){let n=e.nodes().map(l=>e.node(l).rank),o=Ai(Math.min,n),r=[];e.nodes().forEach(l=>{let s=e.node(l).rank-o;r[s]||(r[s]=[]),r[s].push(l)});let i=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((l,s)=>{l===void 0&&s%a!==0?--i:l!==void 0&&i&&l.forEach(c=>e.node(c).rank+=i)})}function ST(e,n,o,r){let i={width:0,height:0};return arguments.length>=4&&(i.rank=o,i.order=r),Op(e,"border",i,n)}function vT(e,n=$p){const o=[];for(let r=0;r<e.length;r+=n){const i=e.slice(r,r+n);o.push(i)}return o}const $p=65535;function Ai(e,n){if(n.length>$p){const o=vT(n);return e.apply(null,o.map(r=>e.apply(null,r)))}else return e.apply(null,n)}function Bp(e){const o=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MIN_VALUE:i});return Ai(Math.max,o)}function xT(e,n){let o={lhs:[],rhs:[]};return e.forEach(r=>{n(r)?o.lhs.push(r):o.rhs.push(r)}),o}function AT(e,n){let o=Date.now();try{return n()}finally{console.log(e+" time: "+(Date.now()-o)+"ms")}}function IT(e,n){return n()}let PT=0;function Vp(e){var n=++PT;return e+(""+n)}function Rp(e,n,o=1){n==null&&(n=e,e=0);let r=a=>a<n;o<0&&(r=a=>n<a);const i=[];for(let a=e;r(a);a+=o)i.push(a);return i}function TT(e,n){const o={};for(const r of n)e[r]!==void 0&&(o[r]=e[r]);return o}function OT(e,n){let o=n;return typeof n=="string"&&(o=r=>r[n]),Object.entries(e).reduce((r,[i,a])=>(r[i]=o(a,i),r),{})}function jl(e,n){return e.reduce((o,r,i)=>(o[r]=n[i],o),{})}let $T=uT,BT=He.uniqueId;var VT={run:RT,undo:MT};function RT(e){(e.graph().acyclicer==="greedy"?$T(e,o(e)):DT(e)).forEach(r=>{let i=e.edge(r);e.removeEdge(r),i.forwardName=r.name,i.reversed=!0,e.setEdge(r.w,r.v,i,BT("rev"))});function o(r){return i=>r.edge(i).weight}}function DT(e){let n=[],o={},r={};function i(a){Object.hasOwn(r,a)||(r[a]=!0,o[a]=!0,e.outEdges(a).forEach(l=>{Object.hasOwn(o,l.w)?n.push(l):i(l.w)}),delete o[a])}return e.nodes().forEach(i),n}function MT(e){e.edges().forEach(n=>{let o=e.edge(n);if(o.reversed){e.removeEdge(n);let r=o.forwardName;delete o.reversed,delete o.forwardName,e.setEdge(n.w,n.v,o,r)}})}let FT=He;var LT={run:UT,undo:jT};function UT(e){e.graph().dummyChains=[],e.edges().forEach(n=>KT(e,n))}function KT(e,n){let o=n.v,r=e.node(o).rank,i=n.w,a=e.node(i).rank,l=n.name,s=e.edge(n),c=s.labelRank;if(a===r+1)return;e.removeEdge(n);let d,f,u;for(u=0,++r;r<a;++u,++r)s.points=[],f={width:0,height:0,edgeLabel:s,edgeObj:n,rank:r},d=FT.addDummyNode(e,"edge",f,"_d"),r===c&&(f.width=s.width,f.height=s.height,f.dummy="edge-label",f.labelpos=s.labelpos),e.setEdge(o,d,{weight:s.weight},l),u===0&&e.graph().dummyChains.push(d),o=d;e.setEdge(o,i,{weight:s.weight},l)}function jT(e){e.graph().dummyChains.forEach(n=>{let o=e.node(n),r=o.edgeLabel,i;for(e.setEdge(o.edgeObj,r);o.dummy;)i=e.successors(n)[0],e.removeNode(n),r.points.push({x:o.x,y:o.y}),o.dummy==="edge-label"&&(r.x=o.x,r.y=o.y,r.width=o.width,r.height=o.height),n=i,o=e.node(n)})}const{applyWithChunking:qT}=He;var Ii={longestPath:GT,slack:zT};function GT(e){var n={};function o(r){var i=e.node(r);if(Object.hasOwn(n,r))return i.rank;n[r]=!0;let a=e.outEdges(r).map(s=>s==null?Number.POSITIVE_INFINITY:o(s.w)-e.edge(s).minlen);var l=qT(Math.min,a);return l===Number.POSITIVE_INFINITY&&(l=0),i.rank=l}e.sources().forEach(o)}function zT(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}var HT=Nt.Graph,Pi=Ii.slack,Dp=YT;function YT(e){var n=new HT({directed:!1}),o=e.nodes()[0],r=e.nodeCount();n.setNode(o,{});for(var i,a;WT(n,e)<r;)i=XT(n,e),a=n.hasNode(i.v)?Pi(e,i):-Pi(e,i),ZT(n,e,a);return n}function WT(e,n){function o(r){n.nodeEdges(r).forEach(i=>{var a=i.v,l=r===a?i.w:a;!e.hasNode(l)&&!Pi(n,i)&&(e.setNode(l,{}),e.setEdge(r,l,{}),o(l))})}return e.nodes().forEach(o),e.nodeCount()}function XT(e,n){return n.edges().reduce((r,i)=>{let a=Number.POSITIVE_INFINITY;return e.hasNode(i.v)!==e.hasNode(i.w)&&(a=Pi(n,i)),a<r[0]?[a,i]:r},[Number.POSITIVE_INFINITY,null])[1]}function ZT(e,n,o){e.nodes().forEach(r=>n.node(r).rank+=o)}var JT=Dp,Mp=Ii.slack,QT=Ii.longestPath,eO=Nt.alg.preorder,tO=Nt.alg.postorder,nO=He.simplify,oO=In;In.initLowLimValues=Gl,In.initCutValues=ql,In.calcCutValue=Fp,In.leaveEdge=Up,In.enterEdge=Kp,In.exchangeEdges=jp;function In(e){e=nO(e),QT(e);var n=JT(e);Gl(n),ql(n,e);for(var o,r;o=Up(n);)r=Kp(n,e,o),jp(n,e,o,r)}function ql(e,n){var o=tO(e,e.nodes());o=o.slice(0,o.length-1),o.forEach(r=>rO(e,n,r))}function rO(e,n,o){var r=e.node(o),i=r.parent;e.edge(o,i).cutvalue=Fp(e,n,o)}function Fp(e,n,o){var r=e.node(o),i=r.parent,a=!0,l=n.edge(o,i),s=0;return l||(a=!1,l=n.edge(i,o)),s=l.weight,n.nodeEdges(o).forEach(c=>{var d=c.v===o,f=d?c.w:c.v;if(f!==i){var u=d===a,p=n.edge(c).weight;if(s+=u?p:-p,aO(e,o,f)){var m=e.edge(o,f).cutvalue;s+=u?-m:m}}}),s}function Gl(e,n){arguments.length<2&&(n=e.nodes()[0]),Lp(e,{},1,n)}function Lp(e,n,o,r,i){var a=o,l=e.node(r);return n[r]=!0,e.neighbors(r).forEach(s=>{Object.hasOwn(n,s)||(o=Lp(e,n,o,s,r))}),l.low=a,l.lim=o++,i?l.parent=i:delete l.parent,o}function Up(e){return e.edges().find(n=>e.edge(n).cutvalue<0)}function Kp(e,n,o){var r=o.v,i=o.w;n.hasEdge(r,i)||(r=o.w,i=o.v);var a=e.node(r),l=e.node(i),s=a,c=!1;a.lim>l.lim&&(s=l,c=!0);var d=n.edges().filter(f=>c===qp(e,e.node(f.v),s)&&c!==qp(e,e.node(f.w),s));return d.reduce((f,u)=>Mp(n,u)<Mp(n,f)?u:f)}function jp(e,n,o,r){var i=o.v,a=o.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),Gl(e),ql(e,n),iO(e,n)}function iO(e,n){var o=e.nodes().find(i=>!n.node(i).parent),r=eO(e,o);r=r.slice(1),r.forEach(i=>{var a=e.node(i).parent,l=n.edge(i,a),s=!1;l||(l=n.edge(a,i),s=!0),n.node(i).rank=n.node(a).rank+(s?l.minlen:-l.minlen)})}function aO(e,n,o){return e.hasEdge(n,o)}function qp(e,n,o){return o.low<=n.lim&&n.lim<=o.lim}var lO=Ii,Gp=lO.longestPath,sO=Dp,cO=oO,dO=uO;function uO(e){var n=e.graph().ranker;if(n instanceof Function)return n(e);switch(e.graph().ranker){case"network-simplex":zp(e);break;case"tight-tree":pO(e);break;case"longest-path":fO(e);break;case"none":break;default:zp(e)}}var fO=Gp;function pO(e){Gp(e),sO(e)}function zp(e){cO(e)}var mO=gO;function gO(e){let n=yO(e);e.graph().dummyChains.forEach(o=>{let r=e.node(o),i=r.edgeObj,a=hO(e,n,i.v,i.w),l=a.path,s=a.lca,c=0,d=l[c],f=!0;for(;o!==i.w;){if(r=e.node(o),f){for(;(d=l[c])!==s&&e.node(d).maxRank<r.rank;)c++;d===s&&(f=!1)}if(!f){for(;c<l.length-1&&e.node(d=l[c+1]).minRank<=r.rank;)c++;d=l[c]}e.setParent(o,d),o=e.successors(o)[0]}})}function hO(e,n,o,r){let i=[],a=[],l=Math.min(n[o].low,n[r].low),s=Math.max(n[o].lim,n[r].lim),c,d;c=o;do c=e.parent(c),i.push(c);while(c&&(n[c].low>l||s>n[c].lim));for(d=c,c=r;(c=e.parent(c))!==d;)a.push(c);return{path:i.concat(a.reverse()),lca:d}}function yO(e){let n={},o=0;function r(i){let a=o;e.children(i).forEach(r),n[i]={low:a,lim:o++}}return e.children().forEach(r),n}let Ti=He;var _O={run:bO,cleanup:CO};function bO(e){let n=Ti.addDummyNode(e,"root",{},"_root"),o=wO(e),r=Object.values(o),i=Ti.applyWithChunking(Math.max,r)-1,a=2*i+1;e.graph().nestingRoot=n,e.edges().forEach(s=>e.edge(s).minlen*=a);let l=kO(e)+1;e.children().forEach(s=>Hp(e,n,a,l,i,o,s)),e.graph().nodeRankFactor=a}function Hp(e,n,o,r,i,a,l){let s=e.children(l);if(!s.length){l!==n&&e.setEdge(n,l,{weight:0,minlen:o});return}let c=Ti.addBorderNode(e,"_bt"),d=Ti.addBorderNode(e,"_bb"),f=e.node(l);e.setParent(c,l),f.borderTop=c,e.setParent(d,l),f.borderBottom=d,s.forEach(u=>{Hp(e,n,o,r,i,a,u);let p=e.node(u),m=p.borderTop?p.borderTop:u,h=p.borderBottom?p.borderBottom:u,_=p.borderTop?r:2*r,g=m!==h?1:i-a[l]+1;e.setEdge(c,m,{weight:_,minlen:g,nestingEdge:!0}),e.setEdge(h,d,{weight:_,minlen:g,nestingEdge:!0})}),e.parent(l)||e.setEdge(n,c,{weight:0,minlen:i+a[l]})}function wO(e){var n={};function o(r,i){var a=e.children(r);a&&a.length&&a.forEach(l=>o(l,i+1)),n[r]=i}return e.children().forEach(r=>o(r,1)),n}function kO(e){return e.edges().reduce((n,o)=>n+e.edge(o).weight,0)}function CO(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,e.edges().forEach(o=>{var r=e.edge(o);r.nestingEdge&&e.removeEdge(o)})}let EO=He;var NO=SO;function SO(e){function n(o){let r=e.children(o),i=e.node(o);if(r.length&&r.forEach(n),Object.hasOwn(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(let a=i.minRank,l=i.maxRank+1;a<l;++a)Yp(e,"borderLeft","_bl",o,i,a),Yp(e,"borderRight","_br",o,i,a)}}e.children().forEach(n)}function Yp(e,n,o,r,i,a){let l={width:0,height:0,rank:a,borderType:n},s=i[n][a-1],c=EO.addDummyNode(e,"border",l,o);i[n][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}var vO={adjust:xO,undo:AO};function xO(e){let n=e.graph().rankdir.toLowerCase();(n==="lr"||n==="rl")&&Wp(e)}function AO(e){let n=e.graph().rankdir.toLowerCase();(n==="bt"||n==="rl")&&IO(e),(n==="lr"||n==="rl")&&(PO(e),Wp(e))}function Wp(e){e.nodes().forEach(n=>Xp(e.node(n))),e.edges().forEach(n=>Xp(e.edge(n)))}function Xp(e){let n=e.width;e.width=e.height,e.height=n}function IO(e){e.nodes().forEach(n=>zl(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(zl),Object.hasOwn(o,"y")&&zl(o)})}function zl(e){e.y=-e.y}function PO(e){e.nodes().forEach(n=>Hl(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(Hl),Object.hasOwn(o,"x")&&Hl(o)})}function Hl(e){let n=e.x;e.x=e.y,e.y=n}let Zp=He;var TO=OO;function OO(e){let n={},o=e.nodes().filter(c=>!e.children(c).length),r=o.map(c=>e.node(c).rank),i=Zp.applyWithChunking(Math.max,r),a=Zp.range(i+1).map(()=>[]);function l(c){if(n[c])return;n[c]=!0;let d=e.node(c);a[d.rank].push(c),e.successors(c).forEach(l)}return o.sort((c,d)=>e.node(c).rank-e.node(d).rank).forEach(l),a}let $O=He.zipObject;var BO=VO;function VO(e,n){let o=0;for(let r=1;r<n.length;++r)o+=RO(e,n[r-1],n[r]);return o}function RO(e,n,o){let r=$O(o,o.map((d,f)=>f)),i=n.flatMap(d=>e.outEdges(d).map(f=>({pos:r[f.w],weight:e.edge(f).weight})).sort((f,u)=>f.pos-u.pos)),a=1;for(;a<o.length;)a<<=1;let l=2*a-1;a-=1;let s=new Array(l).fill(0),c=0;return i.forEach(d=>{let f=d.pos+a;s[f]+=d.weight;let u=0;for(;f>0;)f%2&&(u+=s[f+1]),f=f-1>>1,s[f]+=d.weight;c+=d.weight*u}),c}var DO=MO;function MO(e,n=[]){return n.map(o=>{let r=e.inEdges(o);if(r.length){let i=r.reduce((a,l)=>{let s=e.edge(l),c=e.node(l.v);return{sum:a.sum+s.weight*c.order,weight:a.weight+s.weight}},{sum:0,weight:0});return{v:o,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:o}})}let FO=He;var LO=UO;function UO(e,n){let o={};e.forEach((i,a)=>{let l=o[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};i.barycenter!==void 0&&(l.barycenter=i.barycenter,l.weight=i.weight)}),n.edges().forEach(i=>{let a=o[i.v],l=o[i.w];a!==void 0&&l!==void 0&&(l.indegree++,a.out.push(o[i.w]))});let r=Object.values(o).filter(i=>!i.indegree);return KO(r)}function KO(e){let n=[];function o(i){return a=>{a.merged||(a.barycenter===void 0||i.barycenter===void 0||a.barycenter>=i.barycenter)&&jO(i,a)}}function r(i){return a=>{a.in.push(i),--a.indegree===0&&e.push(a)}}for(;e.length;){let i=e.pop();n.push(i),i.in.reverse().forEach(o(i)),i.out.forEach(r(i))}return n.filter(i=>!i.merged).map(i=>FO.pick(i,["vs","i","barycenter","weight"]))}function jO(e,n){let o=0,r=0;e.weight&&(o+=e.barycenter*e.weight,r+=e.weight),n.weight&&(o+=n.barycenter*n.weight,r+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=o/r,e.weight=r,e.i=Math.min(n.i,e.i),n.merged=!0}let qO=He;var GO=zO;function zO(e,n){let o=qO.partition(e,f=>Object.hasOwn(f,"barycenter")),r=o.lhs,i=o.rhs.sort((f,u)=>u.i-f.i),a=[],l=0,s=0,c=0;r.sort(HO(!!n)),c=Jp(a,i,c),r.forEach(f=>{c+=f.vs.length,a.push(f.vs),l+=f.barycenter*f.weight,s+=f.weight,c=Jp(a,i,c)});let d={vs:a.flat(!0)};return s&&(d.barycenter=l/s,d.weight=s),d}function Jp(e,n,o){let r;for(;n.length&&(r=n[n.length-1]).i<=o;)n.pop(),e.push(r.vs),o++;return o}function HO(e){return(n,o)=>n.barycenter<o.barycenter?-1:n.barycenter>o.barycenter?1:e?o.i-n.i:n.i-o.i}let YO=DO,WO=LO,XO=GO;var ZO=Qp;function Qp(e,n,o,r){let i=e.children(n),a=e.node(n),l=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,c={};l&&(i=i.filter(p=>p!==l&&p!==s));let d=YO(e,i);d.forEach(p=>{if(e.children(p.v).length){let m=Qp(e,p.v,o,r);c[p.v]=m,Object.hasOwn(m,"barycenter")&&QO(p,m)}});let f=WO(d,o);JO(f,c);let u=XO(f,r);if(l&&(u.vs=[l,u.vs,s].flat(!0),e.predecessors(l).length)){let p=e.node(e.predecessors(l)[0]),m=e.node(e.predecessors(s)[0]);Object.hasOwn(u,"barycenter")||(u.barycenter=0,u.weight=0),u.barycenter=(u.barycenter*u.weight+p.order+m.order)/(u.weight+2),u.weight+=2}return u}function JO(e,n){e.forEach(o=>{o.vs=o.vs.flatMap(r=>n[r]?n[r].vs:r)})}function QO(e,n){e.barycenter!==void 0?(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight):(e.barycenter=n.barycenter,e.weight=n.weight)}let e$=Nt.Graph,t$=He;var n$=o$;function o$(e,n,o){let r=r$(e),i=new e$({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(a=>e.node(a));return e.nodes().forEach(a=>{let l=e.node(a),s=e.parent(a);(l.rank===n||l.minRank<=n&&n<=l.maxRank)&&(i.setNode(a),i.setParent(a,s||r),e[o](a).forEach(c=>{let d=c.v===a?c.w:c.v,f=i.edge(d,a),u=f!==void 0?f.weight:0;i.setEdge(d,a,{weight:e.edge(c).weight+u})}),Object.hasOwn(l,"minRank")&&i.setNode(a,{borderLeft:l.borderLeft[n],borderRight:l.borderRight[n]}))}),i}function r$(e){for(var n;e.hasNode(n=t$.uniqueId("_root")););return n}var i$=a$;function a$(e,n,o){let r={},i;o.forEach(a=>{let l=e.parent(a),s,c;for(;l;){if(s=e.parent(l),s?(c=r[s],r[s]=l):(c=i,i=l),c&&c!==l){n.setEdge(c,l);return}l=s}})}let l$=TO,s$=BO,c$=ZO,d$=n$,u$=i$,f$=Nt.Graph,Oi=He;var p$=em;function em(e,n){if(n&&typeof n.customOrder=="function"){n.customOrder(e,em);return}let o=Oi.maxRank(e),r=tm(e,Oi.range(1,o+1),"inEdges"),i=tm(e,Oi.range(o-1,-1,-1),"outEdges"),a=l$(e);if(nm(e,a),n&&n.disableOptimalOrderHeuristic)return;let l=Number.POSITIVE_INFINITY,s;for(let c=0,d=0;d<4;++c,++d){m$(c%2?r:i,c%4>=2),a=Oi.buildLayerMatrix(e);let f=s$(e,a);f<l&&(d=0,s=Object.assign({},a),l=f)}nm(e,s)}function tm(e,n,o){return n.map(function(r){return d$(e,r,o)})}function m$(e,n){let o=new f$;e.forEach(function(r){let i=r.graph().root,a=c$(r,i,o,n);a.vs.forEach((l,s)=>r.node(l).order=s),u$(r,o,a.vs)})}function nm(e,n){Object.values(n).forEach(o=>o.forEach((r,i)=>e.node(r).order=i))}let g$=Nt.Graph,zt=He;var h$={positionX:x$};function y$(e,n){let o={};function r(i,a){let l=0,s=0,c=i.length,d=a[a.length-1];return a.forEach((f,u)=>{let p=b$(e,f),m=p?e.node(p).order:c;(p||f===d)&&(a.slice(s,u+1).forEach(h=>{e.predecessors(h).forEach(_=>{let g=e.node(_),y=g.order;(y<l||m<y)&&!(g.dummy&&e.node(h).dummy)&&om(o,_,h)})}),s=u+1,l=m)}),a}return n.length&&n.reduce(r),o}function _$(e,n){let o={};function r(a,l,s,c,d){let f;zt.range(l,s).forEach(u=>{f=a[u],e.node(f).dummy&&e.predecessors(f).forEach(p=>{let m=e.node(p);m.dummy&&(m.order<c||m.order>d)&&om(o,p,f)})})}function i(a,l){let s=-1,c,d=0;return l.forEach((f,u)=>{if(e.node(f).dummy==="border"){let p=e.predecessors(f);p.length&&(c=e.node(p[0]).order,r(l,d,u,s,c),d=u,s=c)}r(l,d,l.length,c,a.length)}),l}return n.length&&n.reduce(i),o}function b$(e,n){if(e.node(n).dummy)return e.predecessors(n).find(o=>e.node(o).dummy)}function om(e,n,o){if(n>o){let i=n;n=o,o=i}let r=e[n];r||(e[n]=r={}),r[o]=!0}function w$(e,n,o){if(n>o){let r=n;n=o,o=r}return!!e[n]&&Object.hasOwn(e[n],o)}function k$(e,n,o,r){let i={},a={},l={};return n.forEach(s=>{s.forEach((c,d)=>{i[c]=c,a[c]=c,l[c]=d})}),n.forEach(s=>{let c=-1;s.forEach(d=>{let f=r(d);if(f.length){f=f.sort((p,m)=>l[p]-l[m]);let u=(f.length-1)/2;for(let p=Math.floor(u),m=Math.ceil(u);p<=m;++p){let h=f[p];a[d]===d&&c<l[h]&&!w$(o,d,h)&&(a[h]=d,a[d]=i[d]=i[h],c=l[h])}}})}),{root:i,align:a}}function C$(e,n,o,r,i){let a={},l=E$(e,n,o,i),s=i?"borderLeft":"borderRight";function c(u,p){let m=l.nodes(),h=m.pop(),_={};for(;h;)_[h]?u(h):(_[h]=!0,m.push(h),m=m.concat(p(h))),h=m.pop()}function d(u){a[u]=l.inEdges(u).reduce((p,m)=>Math.max(p,a[m.v]+l.edge(m)),0)}function f(u){let p=l.outEdges(u).reduce((h,_)=>Math.min(h,a[_.w]-l.edge(_)),Number.POSITIVE_INFINITY),m=e.node(u);p!==Number.POSITIVE_INFINITY&&m.borderType!==s&&(a[u]=Math.max(a[u],p))}return c(d,l.predecessors.bind(l)),c(f,l.successors.bind(l)),Object.keys(r).forEach(u=>a[u]=a[o[u]]),a}function E$(e,n,o,r){let i=new g$,a=e.graph(),l=A$(a.nodesep,a.edgesep,r);return n.forEach(s=>{let c;s.forEach(d=>{let f=o[d];if(i.setNode(f),c){var u=o[c],p=i.edge(u,f);i.setEdge(u,f,Math.max(l(e,d,c),p||0))}c=d})}),i}function N$(e,n){return Object.values(n).reduce((o,r)=>{let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;Object.entries(r).forEach(([s,c])=>{let d=I$(e,s)/2;i=Math.max(c+d,i),a=Math.min(c-d,a)});const l=i-a;return l<o[0]&&(o=[l,r]),o},[Number.POSITIVE_INFINITY,null])[1]}function S$(e,n){let o=Object.values(n),r=zt.applyWithChunking(Math.min,o),i=zt.applyWithChunking(Math.max,o);["u","d"].forEach(a=>{["l","r"].forEach(l=>{let s=a+l,c=e[s];if(c===n)return;let d=Object.values(c),f=r-zt.applyWithChunking(Math.min,d);l!=="l"&&(f=i-zt.applyWithChunking(Math.max,d)),f&&(e[s]=zt.mapValues(c,u=>u+f))})})}function v$(e,n){return zt.mapValues(e.ul,(o,r)=>{if(n)return e[n.toLowerCase()][r];{let i=Object.values(e).map(a=>a[r]).sort((a,l)=>a-l);return(i[1]+i[2])/2}})}function x$(e){let n=zt.buildLayerMatrix(e),o=Object.assign(y$(e,n),_$(e,n)),r={},i;["u","d"].forEach(l=>{i=l==="u"?n:Object.values(n).reverse(),["l","r"].forEach(s=>{s==="r"&&(i=i.map(u=>Object.values(u).reverse()));let c=(l==="u"?e.predecessors:e.successors).bind(e),d=k$(e,i,o,c),f=C$(e,i,d.root,d.align,s==="r");s==="r"&&(f=zt.mapValues(f,u=>-u)),r[l+s]=f})});let a=N$(e,r);return S$(r,a),v$(r,e.graph().align)}function A$(e,n,o){return(r,i,a)=>{let l=r.node(i),s=r.node(a),c=0,d;if(c+=l.width/2,Object.hasOwn(l,"labelpos"))switch(l.labelpos.toLowerCase()){case"l":d=-l.width/2;break;case"r":d=l.width/2;break}if(d&&(c+=o?d:-d),d=0,c+=(l.dummy?n:e)/2,c+=(s.dummy?n:e)/2,c+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":d=s.width/2;break;case"r":d=-s.width/2;break}return d&&(c+=o?d:-d),d=0,c}}function I$(e,n){return e.node(n).width}let rm=He,P$=h$.positionX;var T$=O$;function O$(e){e=rm.asNonCompoundGraph(e),$$(e),Object.entries(P$(e)).forEach(([n,o])=>e.node(n).x=o)}function $$(e){let n=rm.buildLayerMatrix(e),o=e.graph().ranksep,r=0;n.forEach(i=>{const a=i.reduce((l,s)=>{const c=e.node(s).height;return l>c?l:c},0);i.forEach(l=>e.node(l).y=r+a/2),r+=a+o})}let im=VT,am=LT,B$=dO,V$=He.normalizeRanks,R$=mO,D$=He.removeEmptyRanks,lm=_O,M$=NO,sm=vO,F$=p$,L$=T$,ht=He,U$=Nt.Graph;var K$=j$;function j$(e,n){let o=n&&n.debugTiming?ht.time:ht.notime;o("layout",()=>{let r=o(" buildLayoutGraph",()=>Q$(e));o(" runLayout",()=>q$(r,o,n)),o(" updateInputGraph",()=>G$(e,r))})}function q$(e,n,o){n(" makeSpaceForEdgeLabels",()=>eB(e)),n(" removeSelfEdges",()=>cB(e)),n(" acyclic",()=>im.run(e)),n(" nestingGraph.run",()=>lm.run(e)),n(" rank",()=>B$(ht.asNonCompoundGraph(e))),n(" injectEdgeLabelProxies",()=>tB(e)),n(" removeEmptyRanks",()=>D$(e)),n(" nestingGraph.cleanup",()=>lm.cleanup(e)),n(" normalizeRanks",()=>V$(e)),n(" assignRankMinMax",()=>nB(e)),n(" removeEdgeLabelProxies",()=>oB(e)),n(" normalize.run",()=>am.run(e)),n(" parentDummyChains",()=>R$(e)),n(" addBorderSegments",()=>M$(e)),n(" order",()=>F$(e,o)),n(" insertSelfEdges",()=>dB(e)),n(" adjustCoordinateSystem",()=>sm.adjust(e)),n(" position",()=>L$(e)),n(" positionSelfEdges",()=>uB(e)),n(" removeBorderNodes",()=>sB(e)),n(" normalize.undo",()=>am.undo(e)),n(" fixupEdgeLabelCoords",()=>aB(e)),n(" undoCoordinateSystem",()=>sm.undo(e)),n(" translateGraph",()=>rB(e)),n(" assignNodeIntersects",()=>iB(e)),n(" reversePoints",()=>lB(e)),n(" acyclic.undo",()=>im.undo(e))}function G$(e,n){e.nodes().forEach(o=>{let r=e.node(o),i=n.node(o);r&&(r.x=i.x,r.y=i.y,r.rank=i.rank,n.children(o).length&&(r.width=i.width,r.height=i.height))}),e.edges().forEach(o=>{let r=e.edge(o),i=n.edge(o);r.points=i.points,Object.hasOwn(i,"x")&&(r.x=i.x,r.y=i.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}let z$=["nodesep","edgesep","ranksep","marginx","marginy"],H$={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},Y$=["acyclicer","ranker","rankdir","align"],W$=["width","height","rank"],cm={width:0,height:0},X$=["minlen","weight","width","height","labeloffset"],Z$={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},J$=["labelpos"];function Q$(e){let n=new U$({multigraph:!0,compound:!0}),o=Wl(e.graph());return n.setGraph(Object.assign({},H$,Yl(o,z$),ht.pick(o,Y$))),e.nodes().forEach(r=>{let i=Wl(e.node(r));const a=Yl(i,W$);Object.keys(cm).forEach(l=>{a[l]===void 0&&(a[l]=cm[l])}),n.setNode(r,a),n.setParent(r,e.parent(r))}),e.edges().forEach(r=>{let i=Wl(e.edge(r));n.setEdge(r,Object.assign({},Z$,Yl(i,X$),ht.pick(i,J$)))}),n}function eB(e){let n=e.graph();n.ranksep/=2,e.edges().forEach(o=>{let r=e.edge(o);r.minlen*=2,r.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function tB(e){e.edges().forEach(n=>{let o=e.edge(n);if(o.width&&o.height){let r=e.node(n.v),a={rank:(e.node(n.w).rank-r.rank)/2+r.rank,e:n};ht.addDummyNode(e,"edge-proxy",a,"_ep")}})}function nB(e){let n=0;e.nodes().forEach(o=>{let r=e.node(o);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,n=Math.max(n,r.maxRank))}),e.graph().maxRank=n}function oB(e){e.nodes().forEach(n=>{let o=e.node(n);o.dummy==="edge-proxy"&&(e.edge(o.e).labelRank=o.rank,e.removeNode(n))})}function rB(e){let n=Number.POSITIVE_INFINITY,o=0,r=Number.POSITIVE_INFINITY,i=0,a=e.graph(),l=a.marginx||0,s=a.marginy||0;function c(d){let f=d.x,u=d.y,p=d.width,m=d.height;n=Math.min(n,f-p/2),o=Math.max(o,f+p/2),r=Math.min(r,u-m/2),i=Math.max(i,u+m/2)}e.nodes().forEach(d=>c(e.node(d))),e.edges().forEach(d=>{let f=e.edge(d);Object.hasOwn(f,"x")&&c(f)}),n-=l,r-=s,e.nodes().forEach(d=>{let f=e.node(d);f.x-=n,f.y-=r}),e.edges().forEach(d=>{let f=e.edge(d);f.points.forEach(u=>{u.x-=n,u.y-=r}),Object.hasOwn(f,"x")&&(f.x-=n),Object.hasOwn(f,"y")&&(f.y-=r)}),a.width=o-n+l,a.height=i-r+s}function iB(e){e.edges().forEach(n=>{let o=e.edge(n),r=e.node(n.v),i=e.node(n.w),a,l;o.points?(a=o.points[0],l=o.points[o.points.length-1]):(o.points=[],a=i,l=r),o.points.unshift(ht.intersectRect(r,a)),o.points.push(ht.intersectRect(i,l))})}function aB(e){e.edges().forEach(n=>{let o=e.edge(n);if(Object.hasOwn(o,"x"))switch((o.labelpos==="l"||o.labelpos==="r")&&(o.width-=o.labeloffset),o.labelpos){case"l":o.x-=o.width/2+o.labeloffset;break;case"r":o.x+=o.width/2+o.labeloffset;break}})}function lB(e){e.edges().forEach(n=>{let o=e.edge(n);o.reversed&&o.points.reverse()})}function sB(e){e.nodes().forEach(n=>{if(e.children(n).length){let o=e.node(n),r=e.node(o.borderTop),i=e.node(o.borderBottom),a=e.node(o.borderLeft[o.borderLeft.length-1]),l=e.node(o.borderRight[o.borderRight.length-1]);o.width=Math.abs(l.x-a.x),o.height=Math.abs(i.y-r.y),o.x=a.x+o.width/2,o.y=r.y+o.height/2}}),e.nodes().forEach(n=>{e.node(n).dummy==="border"&&e.removeNode(n)})}function cB(e){e.edges().forEach(n=>{if(n.v===n.w){var o=e.node(n.v);o.selfEdges||(o.selfEdges=[]),o.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function dB(e){var n=ht.buildLayerMatrix(e);n.forEach(o=>{var r=0;o.forEach((i,a)=>{var l=e.node(i);l.order=a+r,(l.selfEdges||[]).forEach(s=>{ht.addDummyNode(e,"selfedge",{width:s.label.width,height:s.label.height,rank:l.rank,order:a+ ++r,e:s.e,label:s.label},"_se")}),delete l.selfEdges})})}function uB(e){e.nodes().forEach(n=>{var o=e.node(n);if(o.dummy==="selfedge"){var r=e.node(o.e.v),i=r.x+r.width/2,a=r.y,l=o.x-i,s=r.height/2;e.setEdge(o.e,o.label),e.removeNode(n),o.label.points=[{x:i+2*l/3,y:a-s},{x:i+5*l/6,y:a-s},{x:i+l,y:a},{x:i+5*l/6,y:a+s},{x:i+2*l/3,y:a+s}],o.label.x=o.x,o.label.y=o.y}})}function Yl(e,n){return ht.mapValues(ht.pick(e,n),Number)}function Wl(e){var n={};return e&&Object.entries(e).forEach(([o,r])=>{typeof o=="string"&&(o=o.toLowerCase()),n[o]=r}),n}let fB=He,pB=Nt.Graph;var mB={debugOrdering:gB};function gB(e){let n=fB.buildLayerMatrix(e),o=new pB({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(r=>{o.setNode(r,{label:r}),o.setParent(r,"layer"+e.node(r).rank)}),e.edges().forEach(r=>o.setEdge(r.v,r.w,{},r.name)),n.forEach((r,i)=>{let a="layer"+i;o.setNode(a,{rank:"same"}),r.reduce((l,s)=>(o.setEdge(l,s,{style:"invis"}),s))}),o}var hB="1.1.5",yB={graphlib:Nt,layout:K$,debug:mB,util:{time:He.time,notime:He.notime},version:hB};const dm=gP(yB);function _B(){const e=(...o)=>{console.warn("TOASTER_PROVIDER is not provided",...o)},n=t.inject(vc,e);return o=>n(o)}function $i(e,n,o){const r=n?Jt(e,o,n):void 0;return`${e.name}${r?`.${r.name}`:""}`}function rr(e,n){const o=n(e.source),r=n(e.target);return[$i(o,e.sourceField,"output"),$i(r,e.targetField,"input")]}function Xl(e,n,o,r,i){const a=i(e),l=i(o);return[$i(a,n,"output"),$i(l,r,"input")]}function bB(e){t.provide(hp,e)}function um(){return t.inject(hp,void 0)}function wB(){const e=um();if(!e)throw new Error("Confirm modal not provided");return e}function fm(e){const n=e.match(/^(input|output)(?:s@(.*))?$/);if(n)return{io:n[1],field:n[2]}}function kB(){const e={x1:Number.POSITIVE_INFINITY,y1:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY};return[r=>{e.x1=Math.min(e.x1,r.x),e.y1=Math.min(e.y1,r.y),e.x2=Math.max(e.x2,r.x+r.width),e.y2=Math.max(e.y2,r.y+r.height)},()=>{const r={...e};return r.x1>r.x2&&(r.x1=r.x2=0),r.y1>r.y2&&(r.y1=r.y2=0),r}]}const CB={default:Ck,hover:Nk,selected:Ek};let pm,Zl;function Bi(e){const n=e.id===pm?"selected":e.id===Zl?"hover":"default",o=CB[n],{markerEnd:r}=e,i=typeof r=="object"?{...r,color:o}:{type:r,color:o};return{...e,style:{...e.style,stroke:o,strokeWidth:n==="selected"?1.5:void 0},markerEnd:i,zIndex:n==="default"?void 0:1}}const[EB,NB]=Ke.createInjectionState(function(e){const{phase:n,flowId:o,layoutOptions:r,readonly:i}=e,{viewport:a,padding:l=er.padding,gaps:s=er.gaps}=r,{nodes:c=er.gaps.nodes,edges:d=er.gaps.edges,ranks:f=er.gaps.ranks}=s,u=$e(o),p=nt(),m=um(),h=_B(),{i18n:{t:_}}=Te(),{findNode:g,fitView:y,deleteKeyCode:w,onNodeDragStop:b,onConnect:v,onNodesChange:S,onEdgesChange:N,onEdgeUpdate:I,onEdgeMouseEnter:O,onEdgeMouseLeave:F,getNodes:H,setNodes:q,setEdges:E,addSelectedNodes:te}=u;w.value=["Delete","Backspace"];const{state:P,commit:G,moveNode:R,selectNode:K,removeNode:V,getNodeById:M,connectEdge:D,disconnectEdge:L,getInEdgesByNodeId:j,commit:Z,reset:W}=p;function ne(k,$){const A=M(k.source),z=M(k.target);return!!(A&&z&&A.phase===$&&z.phase===$)}const ie=t.computed(()=>P.value.nodes.filter(k=>k.phase===n&&!k.hidden).map(k=>({id:k.id,type:"flow",position:k.position,data:k,deletable:!su(k)}))),de=t.computed(()=>P.value.edges.filter(k=>ne(k,n)).filter(k=>{const $=M(k.source),A=M(k.target);return!($!=null&&$.hidden)&&!(A!=null&&A.hidden)}).map(k=>{const $=M(k.source),A=M(k.target);if($){if(!A)throw new Error(`Missing target node "${k.target}" for edge "${k.id}" in phase "${n}"`)}else throw new Error(`Missing source node "${k.source}" for edge "${k.id}" in phase "${n}"`);return Bi({id:k.id,source:k.source,target:k.target,sourceHandle:k.sourceField?`outputs@${k.sourceField}`:"output",targetHandle:k.targetField?`inputs@${k.targetField}`:"input",markerEnd:fi.ArrowClosed,data:k,updatable:!i})}));t.watch([ie,de],([k,$])=>{q(k),E($)},{immediate:!0});const ye=t.computed(()=>({padding:l/Math.max(t.toValue(a==null?void 0:a.width)??0,t.toValue(a==null?void 0:a.height)??0)}));async function Q({source:k,sourceHandle:$,target:A,targetHandle:z}){if(!$||!z)return;const X=fm($),B=fm(z);if((X==null?void 0:X.io)==="input"||(B==null?void 0:B.io)==="output"||$==="output"&&z==="output")return;const ee=j(A);let U=!1,me=!1;const ge=[],he=[],ae=(B==null?void 0:B.io)==="input"?ee.filter(Ne=>!Ne.targetField):ee.filter(Ne=>!!Ne.targetField);ae.length>0&&(U=!0,ae.forEach(Ne=>{he.push(rr(Ne,M)),L(Ne.id,!1)}));const pe=(B==null?void 0:B.io)==="input"?ee.filter(Ne=>Ne.targetField===B.field):ee.filter(Ne=>!Ne.targetField);if(pe.length>0){if(pe.some(se=>se.source===k&&se.target===A&&se.targetField===(B==null?void 0:B.field)&&se.sourceField===(X==null?void 0:X.field)))return;me=!0,pe.forEach(se=>{he.push(rr(se,M)),L(se.id,!1)})}if(!D({source:k,sourceField:X==null?void 0:X.field,target:A,targetField:B==null?void 0:B.field},!1)){W(),h({message:_("plugins.free-form.datakit.flow_editor.error.invalid_connection"),appearance:"danger"});return}if(ge.push(Xl(k,X==null?void 0:X.field,A,B==null?void 0:B.field,M)),U||me){if(!m)throw W(),new Error("Expected confirm modal to be provided here when reachable");if(!await m(_(U?"plugins.free-form.datakit.flow_editor.confirm.message.switch":"plugins.free-form.datakit.flow_editor.confirm.message.override"),ge,he)){W();return}}Z()}v(Q);let oe=!1;const le=()=>{oe&&(oe=!1,Z())};S(k=>{k.filter(A=>A.type==="select").sort((A,z)=>A.selected===z.selected?0:A.selected?1:-1).forEach(A=>{K(A.selected?A.id:void 0)});let $=!1;k.forEach(A=>{A.type==="remove"&&($=!0,V(A.id,!1))}),$&&!oe&&(oe=!0,queueMicrotask(le))}),b(({node:k})=>{k&&R(k.id,k.position)}),N(k=>{k.filter(z=>z.type==="select").sort((z,X)=>z.selected===X.selected?0:z.selected?1:-1).forEach(z=>{pm=z.selected?z.id:void 0,E(X=>X.map(B=>B.id!==z.id||!B.markerEnd?B:Bi({...B,zIndex:z.selected?1:void 0})))});let A=!1;k.forEach(z=>{z.type==="remove"&&(A=!0,L(z.id,!1))}),A&&!oe&&(oe=!0,queueMicrotask(le))}),O(({edge:k})=>{Zl=k.id,E($=>$.map(A=>A.id!==k.id?A:Bi(A)))}),F(({edge:k})=>{Zl=void 0,E($=>$.map(A=>A.id!==k.id?A:Bi(A)))}),I(({edge:k,connection:$})=>{L(k.id,!1),Q($)});function ue(k=!0){let $,A;const z=[],X=re=>{switch(re.data.name){case"request":{if(n!=="request")throw new Error(`Unexpected request node in ${n} phase`);if($)throw new Error("Duplicated request node in request phase");return $=re,!0}case"service_request":{if(n!=="request")throw new Error(`Unexpected service_request node in ${n} phase`);if(A)throw new Error("Duplicated service_request node in request phase");return A=re,!0}case"service_response":{if(n!=="response")throw new Error(`Unexpected service_response node in ${n} phase`);if(A)throw new Error("Duplicated service_response node in response phase");return A=re,!0}case"response":{if(n!=="response")throw new Error(`Unexpected response node in ${n} phase`);if($)throw new Error("Duplicated response node in response phase");return $=re,!0}default:return z.push(re),!1}};let B;for(const re of ie.value)if(!X(re)&&z.length>0){B||(B=new dm.graphlib.Graph({multigraph:!0}),B.setGraph({rankdir:n==="request"?"LR":"RL",nodesep:c,edgesep:d,ranksep:f}));const Be=g(re.id);if(!Be)throw new Error(`Node ${re.id} is missing from the graph in ${n} phase`);B.setNode(re.id,{width:Be.dimensions.width,height:Be.dimensions.height})}if(!$||!A)throw new Error(`One or more implicit nodes are missing from ${n} phase`);const ee=g($.id),U=g(A.id);if(!ee||!U)throw new Error(`One or more implicit nodes are missing from the graph in ${n} phase`);if(z.length>0){if(!B)throw new Error("dagreGraph should be defined here if reachable");const re=new Set([$.id,A.id]);for(const Be of de.value)!re.has(Be.source)&&!re.has(Be.target)&&B.setEdge(Be.source,Be.target,{points:[]});dm.layout(B)}const[me,ge]=kB(),he=re=>({x:re.x-re.width/2,y:re.y-re.height/2,width:re.width,height:re.height});if(z.length>0){if(!B)throw new Error("dagreGraph should be defined here if reachable");for(const re of z){const Be=B.node(re.id),Ht=he(Be);me(Ht),R(re.data.id,{x:Ht.x,y:Ht.y},!1)}}const ae=ge(),pe=ae.x2-ae.x1,Se=ae.y2-ae.y1,Ne=Math.max(0,Math.min(t.toValue(a==null?void 0:a.width)??Number.POSITIVE_INFINITY,uP)-pe-2*c-ee.dimensions.width-U.dimensions.width-2*l),se=ae.y1+Se/2;R($.data.id,{x:ae.x1-c-Ne/2-ee.dimensions.width,y:se-ee.dimensions.height/2},!1),R(A.data.id,{x:ae.x2+c+Ne/2,y:se-U.dimensions.height/2},!1),k&&G(`autolayout-${o}`)}function ce(k){y({...ye.value,...k})}async function T(k){return K(k),new Promise($=>setTimeout(()=>{const A=g(k);te(A?[A]:[]),$()},0))}function C(k){const $=H.value,A=$.find(({id:ae})=>ae===k);if(!A)throw new Error(`Node ${k} not found`);const{position:{x:z,y:X},dimensions:{width:B,height:ee}}=A,U=X,me=X+ee,ge=$.filter(({id:ae})=>ae!==k).filter(({position:{y:ae},dimensions:{height:pe}})=>ae<me&&ae+pe>U).map(({position:{x:ae},dimensions:{width:pe}})=>({left:ae,right:ae+pe})).sort((ae,pe)=>ae.left-pe.left);let he=z+B+c;for(const{left:ae,right:pe}of ge)if(!(pe<=he)){if(he+B<=ae)return{x:he,y:U};he=Math.max(he,pe)+c}return{x:he,y:U}}function x(k){if(!k)return;const $=g(k);if(!$)throw new Error(`Node ${k} not found`);const{position:{x:A},dimensions:{width:z}}=$,X=A+z,{viewport:B,dimensions:ee,setViewport:U}=u,{x:me,y:ge,zoom:he}=B.value,{width:ae}=ee.value,pe=A*he+me,Se=X*he+me,Ne=ae-ou-c;if(Se<=Ne)return;let se=Ne-Se;pe+se<0&&(se=-pe),se!==0&&U({x:me+se,y:ge,zoom:he},{duration:mP})}return{vueFlowStore:u,editorStore:p,readonly:i,nodes:ie,edges:de,selectNode:T,autoLayout:ue,placeToRight:C,scrollRightToReveal:x,fitViewParams:ye,fitView:ce}}),Vi=we(t.defineComponent({__name:"HandleTwig",props:{color:{},position:{default:()=>be.Left},size:{default:()=>Number.parseFloat(Wc)},type:{}},setup(e){t.useCssVars(o=>({"753622c4":o.color}));const n=t.computed(()=>({width:`${e.size}px`,minWidth:`${e.size}px`}));return(o,r)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["handle-twig",[o.type,o.position===t.unref(be).Left?"left":"right"]]),style:t.normalizeStyle(n.value)},null,6))}}),[["__scopeId","data-v-eb2bc3f2"]]),mm=we(t.defineComponent({__name:"NodeBadge",props:{type:{},size:{},iconOnly:{type:Boolean}},setup(e){const n=t.computed(()=>{var i;if(!wt(e.type))return((i=Bo[e.type])==null?void 0:i.icon)??void 0}),o=t.computed(()=>hN(e.type)),r=t.computed(()=>{switch(e.type){case"call":return"warning";case"jq":return"decorative";case"exit":return"danger";case"property":return"success";case"static":return"info";default:return"neutral"}});return(i,a)=>{const l=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(l,{appearance:r.value,class:t.normalizeClass({"icon-only":i.iconOnly}),size:i.size},{icon:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(n.value)))]),default:t.withCtx(()=>[t.createTextVNode(" "+t.toDisplayString(o.value),1)]),_:1},8,["appearance","class","size"])}}}),[["__scopeId","data-v-aae106a9"]]);let ro=null;function SB(){var n;if(ro)return ro;if(typeof navigator>"u")return ro="windows";const e=((n=navigator.userAgentData)==null?void 0:n.platform)||navigator.platform||navigator.userAgent;return/Mac|iPhone|iPad|iPod/i.test(e)?ro="mac":/Linux/i.test(e)&&!/Android/i.test(e)?ro="linux":ro="windows"}const vB={Shift:"⇧",Alt:"⌥",Ctrl:"⌃",Meta:"⌘",Mod:"⌘",Enter:"↩",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Tab:"⇥",Esc:"⎋",Space:"Space",Delete:"⌫"},xB={Shift:"Shift",Alt:"Alt",Ctrl:"Ctrl",Meta:"Win",Mod:"Ctrl",Enter:"Enter",ArrowUp:"Up",ArrowDown:"Down",ArrowLeft:"Left",ArrowRight:"Right",Tab:"Tab",Esc:"Esc",Space:"Spacebar",Delete:"Delete"},AB={Shift:"Shift",Alt:"Alt",Ctrl:"Ctrl",Meta:"Super",Mod:"Ctrl",Enter:"Enter",ArrowUp:"Up",ArrowDown:"Down",ArrowLeft:"Left",ArrowRight:"Right",Tab:"Tab",Esc:"Esc",Space:"Space",Delete:"Delete"};function IB(e,n={}){const o=n.platform??SB(),r=n.joiner??(o==="mac"?"":" + "),i=o==="mac"?vB:o==="linux"?AB:xB;return(Array.isArray(e)?e:e[o]).map(l=>l in i?i[l]:l).join(r)}const PB={key:0,class:"label"},TB={class:"keys"},Ri=we(t.defineComponent({__name:"HotkeyLabel",props:{label:{},keys:{},reverse:{type:Boolean}},setup(e){const n=IB(e.keys);return(o,r)=>(t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["dk-hotkey-label",{reverse:o.reverse}])},[o.label?(t.openBlock(),t.createElementBlock("span",PB,t.toDisplayString(o.label),1)):t.createCommentVNode("",!0),t.createElementVNode("kbd",TB,t.toDisplayString(t.unref(n)),1)],2))}}),[["__scopeId","data-v-cc70d56b"]]),OB={class:"indicator-box"},$B={key:1,class:"additional-count"},Di=we(t.defineComponent({__name:"ValueIndicator",props:{edgeId:{},sourceNode:{},sourceFieldName:{},targetNodes:{},targetFieldNames:{},mode:{},reversed:{type:Boolean,default:!1}},setup(e){const n=t.createPropsRestProxy(e,["reversed"]),o=t.computed(()=>n.mode==="input"&&n.sourceNode?n.sourceFieldName?`${n.sourceNode.name}.${n.sourceFieldName}`:n.sourceNode.name:n.mode==="output"&&n.targetNodes?n.targetNodes.map((s,c)=>{var f;const d=(f=n.targetFieldNames)==null?void 0:f[c];return d?`${s.name}.${d}`:s.name}).join(", "):""),r=t.computed(()=>{var s,c;let l;if(n.mode==="input"&&n.sourceNode?l=n.sourceNode:n.mode==="output"&&n.targetNodes&&n.targetNodes.length>0&&(l=n.targetNodes[0]),!!l)return wt(l.type)?((c=Vo[l.type])==null?void 0:c.icon)??void 0:((s=Bo[l.type])==null?void 0:s.icon)??void 0}),i=t.computed(()=>n.mode==="output"&&n.targetNodes&&n.targetNodes.length>1?n.targetNodes.length-1:0),a=t.computed(()=>n.mode==="input"?e.reversed:!e.reversed);return(l,s)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["value-indicator",{reversed:a.value}])},[t.createVNode(t.unref(xe.KTooltip),{placement:"top",text:o.value},{default:t.withCtx(()=>[t.createElementVNode("div",OB,[r.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.value),{key:0,color:t.unref(Yc),size:16},null,8,["color"])):t.createCommentVNode("",!0),i.value>0?(t.openBlock(),t.createElementBlock("span",$B," +"+t.toDisplayString(i.value),1)):t.createCommentVNode("",!0)])]),_:1},8,["text"])],2))}}),[["__scopeId","data-v-93cc1060"]]),BB={class:"body"},VB={class:"name"},RB={class:"handle"},DB={class:"handle-label-wrapper"},MB={class:"handle-label-wrapper"},FB={class:"handle-label text"},LB={class:"handle"},UB={class:"handle-label-wrapper"},KB={class:"handle-label-wrapper"},jB={class:"handle-label text"},gm=we(t.defineComponent({__name:"FlowNode",props:{data:{},error:{type:Boolean},readonly:{type:Boolean}},setup(e){const{t:n}=je.createI18n("en-us",We),o=NB(),{getInEdgesByNodeId:r,getOutEdgesByNodeId:i,getNodeById:a,toggleExpanded:l,duplicateNode:s,removeNode:c,propertiesPanelOpen:d}=nt(),f=t.computed(()=>Ro(e.data.type)),u=t.computed(()=>e.data.fields.input.length>0),p=t.computed(()=>e.data.fields.output.length>0),m=t.computed(()=>u.value&&r(e.data.id).every(K=>K.targetField===void 0)),h=t.computed(()=>p.value&&i(e.data.id).every(K=>K.sourceField===void 0)),_=t.computed(()=>e.data.expanded.input??!1),g=t.computed(()=>e.data.expanded.output??!1),y=t.computed(()=>{var K,V;if(e.data.type==="property"){const M=(K=e.data.config)==null?void 0:K.property;return Dl(M)}return(V=f.value.io)==null?void 0:V.input}),w=t.computed(()=>{var K,V;if(e.data.type==="property"){const M=(K=e.data.config)==null?void 0:K.property;return Rl(M)}return(V=f.value.io)==null?void 0:V.output}),b=t.computed(()=>su(e.data)),v=t.computed(()=>e.data.phase==="response"),S=t.computed(()=>e.data.phase==="request"?be.Left:be.Right),N=t.computed(()=>e.data.phase==="request"?be.Right:be.Left),I=t.computed(()=>b.value?n(`plugins.free-form.datakit.flow_editor.node_types.${e.data.type}.name`):e.data.name),O=t.computed(()=>b.value?bk:wk),F=t.computed(()=>{const K=new Map,V=r(e.data.id);for(const M of V){const D=a(M.source);if(!D)continue;const L=D.type==="vault",j=D.phase!==e.data.phase;if(!L&&!j)continue;let Z;if(M.sourceField){const W=D.fields.output.find(ne=>ne.id===M.sourceField);Z=W==null?void 0:W.name}if(M.targetField){const W=e.data.fields.input.find(ne=>ne.id===M.targetField);if(!W)continue;K.set(M.targetField,{fieldId:M.targetField,edgeId:M.id,field:W,sourceNode:D,sourceFieldName:Z})}else K.set("input",{fieldId:"input",edgeId:M.id,field:null,sourceNode:D,sourceFieldName:Z})}return K}),H=t.computed(()=>{const K=new Map,V=i(e.data.id);for(const M of V){const D=a(M.target);if(!D||!(D.phase!==e.data.phase))continue;let j;if(M.targetField){const ne=D.fields.input.find(ie=>ie.id===M.targetField);j=ne==null?void 0:ne.name}const Z=M.sourceField||"output";if(!K.has(Z)){const ne=M.sourceField&&e.data.fields.output.find(ie=>ie.id===M.sourceField)||null;K.set(Z,{fieldId:Z,edgeIds:[],field:ne,targetNodes:[],targetFieldNames:[]})}const W=K.get(Z);W.edgeIds.push(M.id),W.targetNodes.push(D),W.targetFieldNames.push(j)}return K});function q(K){return F.value.get(K)}function E(K){return H.value.get(K)}function te(K){!o||o.readonly||K==="input"&&!m.value||K==="output"&&!h.value||l(e.data.id,K)}async function P(){if(!o||o.readonly)return;const K=s(e.data.id,o.placeToRight(e.data.id));await o.selectNode(K),o.scrollRightToReveal(K),d.value=!0}t.watch(m,K=>{K||l(e.data.id,"input",!0,!0,"*")},{immediate:!0}),t.watch(h,K=>{K||l(e.data.id,"output",!0,!0,"*")},{immediate:!0}),t.watch(()=>e.data.fields.input,(K,V)=>{ko(K,V)||l(e.data.id,"input",K.length>0,!0,"*")},{deep:!0}),t.watch(()=>e.data.fields.output,(K,V)=>{ko(K,V)||l(e.data.id,"output",K.length>0,!0,"*")},{deep:!0});const G=t.useTemplateRef("menu");function R(){var K;(K=G.value)==null||K.closeDropdown()}return(K,V)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["flow-node",{reversed:v.value,implicit:b.value,readonly:K.readonly}]),onMousedown:R},[t.createElementVNode("div",BB,[b.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(xe.KTooltip),{key:0,class:"badge",placement:"top",text:K.data.type},{default:t.withCtx(()=>[t.createVNode(mm,{"icon-only":"",size:"small",type:K.data.type},null,8,["type"])]),_:1},8,["text"])),t.createElementVNode("div",VB,t.toDisplayString(I.value),1),K.error?(t.openBlock(),t.createBlock(t.unref(Ce.WarningIcon),{key:1,class:"error-icon",color:t.unref(zc),size:16},null,8,["color"])):t.createCommentVNode("",!0),b.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(xe.KDropdown),{key:2,ref:"menu",class:"menu",disabled:K.readonly,"kpop-attributes":{offset:"4px",target:"body",popoverClasses:"dk-flow-node-menu"},width:"160",onClick:V[1]||(V[1]=t.withModifiers(()=>{},["stop"]))},{items:t.withCtx(()=>[t.createVNode(t.unref(xe.KDropdownItem),{onClick:P},{default:t.withCtx(()=>[t.createVNode(Ri,{keys:t.unref(Ur).duplicate,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.duplicate")},null,8,["keys","label"])]),_:1}),t.createVNode(t.unref(xe.KDropdownItem),{danger:"",onClick:V[0]||(V[0]=M=>t.unref(c)(K.data.id))},{default:t.withCtx(()=>[t.createVNode(Ri,{keys:t.unref(Ur).delete,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.delete")},null,8,["keys","label"])]),_:1})]),default:t.withCtx(()=>[t.createVNode(t.unref(xe.KButton),{appearance:"tertiary",class:"menu-trigger",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.MoreIcon),{color:t.unref(Gc)},null,8,["color"])]),_:1})]),_:1},8,["disabled"]))]),t.createElementVNode("div",{class:t.normalizeClass(["handles",{reversed:v.value}])},[y.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["input-handles",{"has-fields":u.value}])},[t.createElementVNode("div",RB,[t.createVNode(t.unref(rn),{id:"input",position:S.value,type:"target"},null,8,["position"]),q("input")?(t.openBlock(),t.createBlock(Di,{key:0,"edge-id":q("input").edgeId,mode:"input",reversed:v.value,"source-field-name":q("input").sourceFieldName,"source-node":q("input").sourceNode},null,8,["edge-id","reversed","source-field-name","source-node"])):t.createCommentVNode("",!0),t.createElementVNode("div",DB,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:m.value}]),onClick:V[2]||(V[2]=t.withModifiers(M=>te("input"),["stop"]))},[V[4]||(V[4]=t.createElementVNode("div",{class:"text"}," inputs ",-1)),u.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[_.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldMoreIcon),{key:0,size:t.unref(xo)},null,8,["size"])),_.value?(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldLessIcon),{key:1,color:m.value?void 0:t.unref(Hc),size:t.unref(xo)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),u.value&&_.value?(t.openBlock(),t.createBlock(Vi,{key:0,color:O.value,position:S.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)])]),u.value&&_.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(K.data.fields.input,(M,D)=>(t.openBlock(),t.createElementBlock("div",{key:`inputs-${M.id}`,class:"handle indented"},[t.createVNode(t.unref(rn),{id:`inputs@${M.id}`,position:S.value,type:"target"},null,8,["id","position"]),q(M.id)?(t.openBlock(),t.createBlock(Di,{key:0,"edge-id":q(M.id).edgeId,mode:"input",reversed:v.value,"source-field-name":q(M.id).sourceFieldName,"source-node":q(M.id).sourceNode},null,8,["edge-id","reversed","source-field-name","source-node"])):t.createCommentVNode("",!0),t.createElementVNode("div",MB,[t.createElementVNode("div",FB,t.toDisplayString(M.name),1),t.createVNode(Vi,{color:O.value,position:S.value,type:D<K.data.fields.input.length-1?"trident":"corner"},null,8,["color","position","type"])])]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),w.value?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["output-handles",{"has-fields":p.value}])},[t.createElementVNode("div",LB,[t.createElementVNode("div",UB,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:h.value}]),onClick:V[3]||(V[3]=t.withModifiers(M=>te("output"),["stop"]))},[V[5]||(V[5]=t.createElementVNode("div",{class:"text"}," outputs ",-1)),p.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[g.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldMoreIcon),{key:0,size:t.unref(xo)},null,8,["size"])),g.value?(t.openBlock(),t.createBlock(t.unref(Ce.UnfoldLessIcon),{key:1,color:h.value?void 0:t.unref(Hc),size:t.unref(xo)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),p.value&&g.value?(t.openBlock(),t.createBlock(Vi,{key:0,color:O.value,position:N.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(rn),{id:"output",position:N.value,type:"source"},null,8,["position"]),E("output")?(t.openBlock(),t.createBlock(Di,{key:0,mode:"output",reversed:v.value,"target-field-names":E("output").targetFieldNames,"target-nodes":E("output").targetNodes},null,8,["reversed","target-field-names","target-nodes"])):t.createCommentVNode("",!0)]),p.value&&g.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(K.data.fields.output,(M,D)=>(t.openBlock(),t.createElementBlock("div",{key:`outputs-${M.id}`,class:"handle indented"},[t.createElementVNode("div",KB,[t.createElementVNode("div",jB,t.toDisplayString(M.name),1),t.createVNode(Vi,{color:O.value,position:N.value,type:D<K.data.fields.output.length-1?"trident":"corner"},null,8,["color","position","type"])]),t.createVNode(t.unref(rn),{id:`outputs@${M.id}`,position:N.value,type:"source"},null,8,["id","position"]),E(M.id)?(t.openBlock(),t.createBlock(Di,{key:0,mode:"output",reversed:v.value,"target-field-names":E(M.id).targetFieldNames,"target-nodes":E(M.id).targetNodes},null,8,["reversed","target-field-names","target-nodes"])):t.createCommentVNode("",!0)]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0)],2)],34))}}),[["__scopeId","data-v-76f57a4d"]]),qB={key:0,class:"dk-flow-mask"},hm=we(t.defineComponent({__name:"FlowCanvas",props:{flowId:{},phase:{},mode:{}},emits:["initialized","nodes-change"],setup(e,{expose:n,emit:o}){const r=o,i=t.useTemplateRef("flowCanvas"),a=Ke.useElementBounding(i),{i18n:{t:l}}=Te(),{vueFlowStore:s,editorStore:c,autoLayout:d,fitViewParams:f,fitView:u,selectNode:p,placeToRight:m,scrollRightToReveal:h}=EB({phase:e.phase,flowId:e.flowId,layoutOptions:{viewport:{width:a.width,height:a.height}},readonly:e.mode!=="edit"}),{addNode:_,propertiesPanelOpen:g,invalidConfigNodeIds:y,selectedNode:w,duplicateNode:b}=c,{project:v,vueFlowRef:S,zoomIn:N,zoomOut:I,viewport:O,maxZoom:F,minZoom:H}=s,q=t.ref(!1);function E(){e.mode==="edit"&&(g.value=!0)}function te(V){e.mode!=="edit"||q.value||V.preventDefault()}function P(V){var ye,Q;if(e.mode!=="edit"||q.value)return;const M=(ye=V.dataTransfer)==null?void 0:ye.getData($o);if(!M)return;V.preventDefault();const D=JSON.parse(M);if(D.action!=="create-node")return;const{top:L=0,left:j=0}=((Q=S.value)==null?void 0:Q.getBoundingClientRect())||{},Z=v({x:V.clientX-j,y:V.clientY-L}),{type:W,anchor:ne}=D.data,ie={type:W,phase:e.phase,position:{x:Z.x-ne.offsetX,y:Z.y-ne.offsetY}},de=_(ie);de&&(p(de),g.value=!0)}function G(){d(),t.nextTick(()=>u())}const R=t.computed(()=>{if(e.mode==="preview")return[];const V=[{name:"zoom_in",icon:Ce.AddIcon,action:N,disabled:O.value.zoom>=F.value},{name:"zoom_out",icon:Ce.RemoveIcon,action:I,disabled:O.value.zoom<=H.value},{name:"fit_view",icon:Ce.FullscreenIcon,action:u}];return e.mode==="edit"&&V.push({name:"auto_layout",icon:Ce.AutoLayoutIcon,action:G}),V});if(e.phase==="response"&&e.mode==="edit"){Ke.useEventListener("dragstart",M=>{var j;const D=(j=M.dataTransfer)==null?void 0:j.types.find(Z=>Z.startsWith(`${$o}/`));if(!D)return;D.replace(`${$o}/`,"")==="call"&&(q.value=!0)});const{start:V}=Ke.useTimeoutFn(()=>{q.value=!1},80);Ke.useEventListener("dragover",()=>{V()}),Ke.useEventListener("dragend",()=>{q.value=!1})}async function K(){const V=w.value;if(e.mode!=="edit"||!V||V.phase!==e.phase)return;const M=b(V.id,m(V.id));M&&(await p(M),g.value=!0,h(M))}return gp({enabled:t.computed(()=>!!w.value&&e.mode==="edit"&&w.value.phase===e.phase),duplicate:K}),n({autoLayout:d,fitView:u}),(V,M)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowCanvas",ref:i,class:"dk-flow-canvas"},[t.createVNode(t.unref(up),{id:V.flowId,class:t.normalizeClass(["flow",{readonly:V.mode!=="edit"}]),"connect-on-click":!1,"elements-selectable":V.mode==="edit","max-zoom":t.unref(fP),"min-zoom":t.unref(pP),"multi-selection-key-code":null,"nodes-connectable":V.mode==="edit","nodes-draggable":V.mode==="edit","pan-on-drag":V.mode==="preview"?!1:void 0,"pan-on-scroll":V.mode!=="edit"?!1:void 0,"zoom-on-double-click":V.mode!=="edit"?!1:void 0,"zoom-on-pinch":V.mode!=="edit"?!1:void 0,"zoom-on-scroll":V.mode!=="edit"?!1:void 0,onDragover:te,onDrop:P,onNodeClick:E,onNodesChange:M[0]||(M[0]=D=>r("nodes-change")),onNodesInitialized:M[1]||(M[1]=D=>r("initialized"))},{"node-flow":t.withCtx(D=>[t.createVNode(gm,{data:D.data,error:t.unref(y).has(D.data.id),readonly:V.mode!=="edit"},null,8,["data","error","readonly"])]),default:t.withCtx(()=>[t.createVNode(t.unref(BI)),t.createVNode(t.unref(aP),{"fit-view-params":t.unref(f),position:"bottom-left","show-fit-view":!1,"show-interactive":!1,"show-zoom":!1},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(R.value,D=>(t.openBlock(),t.createBlock(t.unref(xe.KTooltip),{key:D.name,placement:"right",text:t.unref(l)(`plugins.free-form.datakit.flow_editor.actions.${D.name}`)},{default:t.withCtx(()=>[t.createVNode(t.unref(Qo),{disabled:D.disabled,onClick:t.withModifiers(D.action,["stop"])},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(D.icon),{size:18}))]),_:2},1032,["disabled","onClick"])]),_:2},1032,["text"]))),128))]),_:1},8,["fit-view-params"])]),_:1},8,["id","class","elements-selectable","max-zoom","min-zoom","nodes-connectable","nodes-draggable","pan-on-drag","pan-on-scroll","zoom-on-double-click","zoom-on-pinch","zoom-on-scroll"]),q.value?(t.openBlock(),t.createElementBlock("div",qB,t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.phase_mask_help")),1)):t.createCommentVNode("",!0)],512))}}),[["__scopeId","data-v-2820a293"]]),Jl=we(t.defineComponent({__name:"FlowPanels",props:{inactive:{type:Boolean},mode:{},resizable:{type:Boolean}},setup(e){const n=t.ref(!1),o=t.ref(!1),{state:r,clearPendingLayout:i,setPendingFitView:a,commit:l,clear:s}=nt(),c=t.useId(),d=`${c}-request`,f=`${c}-response`,u=$e(d),p=$e(f);function m(j,Z){const{onPaneClick:W,onNodesChange:ne,onEdgesChange:ie,getSelectedNodes:de,getSelectedEdges:ye}=j,{removeSelectedElements:Q}=Z;function oe(le){if(!le){Q();return}le.some(ue=>ue.type==="select")&&de.value.length+ye.value.length>0&&Q()}ne(oe),ie(oe),W(()=>oe())}m(u,p),m(p,u);const h=t.useTemplateRef("flowPanels"),_=t.useTemplateRef("requestLabel"),g=t.useTemplateRef("requestCanvasContainer"),y=t.useTemplateRef("requestFlow"),w=t.useTemplateRef("resizeHandle"),b=t.useTemplateRef("responseLabel"),v=t.useTemplateRef("responseCanvasContainer"),S=t.useTemplateRef("responseFlow"),N=Ke.useElementBounding(h),I=Ke.useElementBounding(_),O=Ke.useElementBounding(g),F=Ke.useElementBounding(w),H=Ke.useElementBounding(b),q=Ke.useElementBounding(v),E=t.computed(()=>Math.max(30,N.height.value*.03)),te=t.computed(()=>O.height.value<E.value),P=t.computed(()=>q.height.value<E.value),G=t.ref("50%"),R=t.ref("50%"),K=()=>{e.resizable&&(te.value?(G.value="50%",R.value="50%"):(G.value="0",R.value="100%"))},V=()=>{e.resizable&&(P.value?(G.value="50%",R.value="50%"):(G.value="100%",R.value="0"))},M=t.computed(()=>N.height.value-I.height.value-F.height.value-H.height.value),{isDragging:D}=Ke.useDraggable(w,{onMove(j){if(!e.resizable)return;const Z=Math.max(0,j.y-O.top.value),W=Math.min(1,Math.max(0,Z/M.value));G.value=`${W*100}%`,R.value=`${(1-W)*100}%`},onEnd(){e.resizable&&(O.height.value<E.value?(G.value="0",R.value="100%"):q.height.value<E.value&&(G.value="100%",R.value="0"))}});function L(){t.nextTick(()=>{var j,Z;(j=y.value)==null||j.fitView(),(Z=S.value)==null||Z.fitView()})}return t.watch([n,o,()=>r.value.pendingLayout,()=>r.value.pendingFitView],([j,Z,W,ne])=>{e.inactive||!j||!Z||!W&&!ne||(W&&i(),ne&&a(!1),setTimeout(()=>{var ie,de;W&&((ie=y.value)==null||ie.autoLayout(!1),(de=S.value)==null||de.autoLayout(!1),l("*"),W==="clearHistory"&&s()),ne&&L()},0))}),(j,Z)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowPanels",ref:h,class:"flow-panels"},[t.createElementVNode("div",{ref_key:"requestLabel",ref:_,class:t.normalizeClass(["label request",{resizable:j.resizable}]),onClick:K},[j.resizable?(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:te.value}])},null,8,["class"])):t.createCommentVNode("",!0),Z[4]||(Z[4]=t.createElementVNode("div",{class:"label-content"}," Request ",-1))],2),t.createElementVNode("div",{ref_key:"requestCanvasContainer",ref:g,class:t.normalizeClass(["canvas",{dragging:t.unref(D)}]),style:t.normalizeStyle({flexBasis:G.value})},[t.createVNode(hm,{ref_key:"requestFlow",ref:y,"flow-id":d,mode:j.mode,phase:"request",onInitialized:Z[0]||(Z[0]=W=>n.value=!0),onNodesChange:Z[1]||(Z[1]=W=>n.value=!1)},null,8,["mode"])],6),t.createElementVNode("div",{ref_key:"resizeHandle",ref:w,class:t.normalizeClass(["resize-handle",{resizable:j.resizable}])},null,2),t.createElementVNode("div",{ref_key:"responseLabel",ref:b,class:t.normalizeClass(["label response",{dragging:t.unref(D),resizable:j.resizable}]),onClick:V},[j.resizable?(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:P.value}])},null,8,["class"])):t.createCommentVNode("",!0),Z[5]||(Z[5]=t.createElementVNode("div",{class:"label-content"}," Response ",-1))],2),t.createElementVNode("div",{ref_key:"responseCanvasContainer",ref:v,class:t.normalizeClass(["canvas response",{dragging:t.unref(D)}]),style:t.normalizeStyle({flexBasis:R.value})},[t.createVNode(hm,{ref_key:"responseFlow",ref:S,"flow-id":f,mode:j.mode,phase:"response",onInitialized:Z[2]||(Z[2]=W=>o.value=!0),onNodesChange:Z[3]||(Z[3]=W=>o.value=!1)},null,8,["mode"])],6)],512))}}),[["__scopeId","data-v-57dcdcfa"]]),GB={class:"dk-confirm-modal-body"},zB={class:"dk-confirm-modal-connections"},HB=we(t.defineComponent({__name:"ConflictModal",props:{title:{},message:{},addedConnections:{},removedConnections:{}},emits:["cancel","confirm"],setup(e,{expose:n,emit:o}){const{i18n:{t:r}}=Te(),i=o,a=t.ref(!1),l=t.ref(e.message),s=t.ref(e.addedConnections??[]),c=t.ref(e.removedConnections??[]);let d=null;function f(){a.value=!1,i("cancel"),d==null||d(!1)}function u(){a.value=!1,i("confirm"),d==null||d(!0)}async function p(m,h,_){return l.value=m,s.value=h??[],c.value=_??[],a.value=!0,await new Promise(g=>{d=g})}return n({open:p}),(m,h)=>{const _=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(_,{"action-button-text":t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.proceed"),"close-on-backdrop-click":"","max-width":"660px",title:m.title??t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.title"),visible:a.value,"z-index":9999,onCancel:f,onProceed:u},{default:t.withCtx(()=>[t.createElementVNode("div",GB,[t.createElementVNode("p",null,t.toDisplayString(l.value),1),t.createElementVNode("p",null,t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.message.confirm")),1),t.createElementVNode("div",zB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value??[],([g,y])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${y}`},[t.createVNode(t.unref(Ce.AddIcon),{color:t.unref(kk)},null,8,["color"]),t.createElementVNode("span",null,t.toDisplayString(g),1),h[0]||(h[0]=t.createTextVNode(" → ",-1)),t.createElementVNode("span",null,t.toDisplayString(y),1)]))),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value??[],([g,y])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${y}`},[t.createVNode(t.unref(Ce.RemoveIcon),{color:t.unref(zc)},null,8,["color"]),t.createElementVNode("span",null,t.toDisplayString(g),1),h[1]||(h[1]=t.createTextVNode(" → ",-1)),t.createElementVNode("span",null,t.toDisplayString(y),1)]))),128))])])]),_:1},8,["action-button-text","title","visible"])}}}),[["__scopeId","data-v-9874f282"]]),YB={class:"dk-editor-nav"},WB={class:"top"},XB={class:"bottom"},ZB=we(t.defineComponent({__name:"EditorNav",emits:["back"],setup(e,{emit:n}){const{t:o}=je.createI18n("en-us",We),r=n,i=[{label:o("plugins.free-form.datakit.flow_editor.return_to_config"),icon:Ce.ArrowLeftIcon,onClick:()=>r("back")}],{sidePanelExpanded:a}=Xa(),l=t.computed(()=>a.value?o("plugins.free-form.datakit.flow_editor.collapse_panel"):o("plugins.free-form.datakit.flow_editor.expand_panel")),s=t.ref(!1);function c(){a.value=!a.value}return(d,f)=>(t.openBlock(),t.createElementBlock("nav",YB,[t.createElementVNode("div",WB,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,({label:u,to:p,icon:m,onClick:h})=>t.createVNode(t.unref(xe.KTooltip),{key:u,"kpop-attributes":{offset:"10px"},label:u,placement:"right"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.unref(xe.KButton),{key:u,appearance:"none",class:"nav-item",icon:"",to:p,onClick:h},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m),{decorative:"",size:t.unref(Aa)},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),t.createElementVNode("div",XB,[t.createElementVNode("div",{class:t.normalizeClass(["side-panel-toggle",{expanded:t.unref(a)}]),onTransitionend:f[0]||(f[0]=t.withModifiers(u=>s.value=!1,["self"])),onTransitionstart:f[1]||(f[1]=t.withModifiers(u=>s.value=!0,["self"]))},[t.createVNode(t.unref(xe.KTooltip),{label:s.value?void 0:l.value,placement:t.unref(a)?"left":"right"},{default:t.withCtx(()=>[t.createVNode(t.unref(xe.KButton),{appearance:"none",class:"nav-item nav-item-toggle",icon:"",size:"large",onClick:c},{default:t.withCtx(()=>[t.unref(a)?(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDoubleLeftIcon),{key:0,decorative:"",size:t.unref(Aa)},null,8,["size"])):(t.openBlock(),t.createBlock(t.unref(Ce.ChevronDoubleRightIcon),{key:1,decorative:"",size:t.unref(Aa)},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-2915b6fa"]]),JB={class:"dk-editor-main"},QB={class:"header"},eV={class:"actions"},tV={class:"settings"},nV={ref:"canvasContainer",class:"body"},oV=we(t.defineComponent({__name:"EditorMain",setup(e){const{t:n}=je.createI18n("en-us",We),{modalOpen:o,undo:r,redo:i,canUndo:a,canRedo:l,load:s}=nt();function c(u){const p=ja.load(u,{schema:Lr,json:!0});if(typeof p!="object"||p===null)return;const m=p,h={config:{...m,nodes:m.nodes??[]}};s(h,!0)}function d(){o.value=!1}gp({enabled:o,undo:r,redo:i});const f={maxWidth:"300px",zIndex:1e4};return(u,p)=>(t.openBlock(),t.createElementBlock("div",JB,[t.createElementVNode("header",QB,[t.createElementVNode("div",eV,[t.createVNode(t.unref(xe.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(Ri,{keys:t.unref(Ur).undo,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.undo"),reverse:""},null,8,["keys","label"])]),default:t.withCtx(()=>[t.createVNode(t.unref(xe.KButton),{appearance:"tertiary",disabled:!t.unref(a),icon:"",onClick:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.UndoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),t.createVNode(t.unref(xe.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(Ri,{keys:t.unref(Ur).redo,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.redo"),reverse:""},null,8,["keys","label"])]),default:t.withCtx(()=>[t.createVNode(t.unref(xe.KButton),{appearance:"tertiary",disabled:!t.unref(l),icon:"",onClick:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.RedoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),p[0]||(p[0]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createElementVNode("div",tV,[t.createVNode(Na,{label:t.unref(n)("plugins.free-form.datakit.flow_editor.debug.label"),"label-attributes":{info:t.unref(n)("plugins.free-form.datakit.flow_editor.debug.description"),tooltipAttributes:f},name:"config.debug"},null,8,["label","label-attributes"])]),p[1]||(p[1]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createVNode(t.unref(xe.KDropdown),{appearance:"tertiary","kpop-attributes":{placement:"bottom-end",target:"body"},"show-caret":"","trigger-text":t.unref(n)("plugins.free-form.datakit.flow_editor.examples")},{items:t.withCtx(()=>[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(qa,(m,h)=>t.createVNode(t.unref(xe.KDropdownItem),{key:h,onClick:_=>c(m)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)(`plugins.free-form.datakit.examples.${h}`)),1)]),_:2},1032,["onClick"])),64))]),_:1},8,["trigger-text"]),t.createVNode(t.unref(xe.KButton),{appearance:"tertiary",target:"_blank",to:"https://developer.konghq.com/plugins/datakit/"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.view_docs"))+" ",1),t.createVNode(t.unref(Ce.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref(xe.KButton),{onClick:d},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.done")),1)]),_:1})])]),t.createElementVNode("div",nV,[t.createVNode(Jl,{mode:"edit",resizable:""})],512)]))}}),[["__scopeId","data-v-32006420"]]),rV=["draggable"],iV={class:"icon"},aV={class:"content"},lV={class:"title"},sV={class:"description"},cV=we(t.defineComponent({__name:"NodePanelItem",props:{type:{}},emits:["dragstart"],setup(e,{emit:n}){const o=n,r=e.type==="cache"||e.type==="branch",{summary:i,icon:a}=Bo[e.type];function l(s){o("dragstart",s,e.type)}return(s,c)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-panel-item",{[`node-type-${s.type}`]:!0,unsupported:t.unref(r)}]),draggable:!t.unref(r),onDragstart:l},[t.createElementVNode("div",iV,[t.createVNode(t.unref(a),{size:16})]),t.createElementVNode("div",aV,[t.createElementVNode("div",lV,t.toDisplayString(s.type),1),t.createElementVNode("div",sV,t.toDisplayString(t.unref(i)),1)])],42,rV))}}),[["__scopeId","data-v-d3ce7350"]]),dV={class:"dk-node-panel"},uV={key:0,class:"title"},fV={class:"node-list"},pV={"aria-hidden":"true",class:"preview",inert:""},ym=we(t.defineComponent({__name:"NodePanel",props:{hideTitle:{type:Boolean}},setup(e){const{t:n}=je.createI18n("en-us",We),{createNode:o}=nt(),r=`dk-drag-preview-${t.useId()}`,i=t.shallowRef(),a=t.computed(()=>i.value?[{id:"preview",type:"flow",data:i.value,position:{x:0,y:0}}]:[]),l=async(s,c)=>{var O,F,H;const d=s.currentTarget,{left:f,top:u,width:p,height:m}=d.getBoundingClientRect(),h=s.clientX-f,_=s.clientY-u;i.value=o({type:c}),await t.nextTick();const g=document.querySelector(`#${r}`)||d,y=g.cloneNode(!0);y.classList.add("dk-drag-snapshot");const{offsetWidth:w,offsetHeight:b}=g;Object.assign(y.style,{position:"absolute",top:"-9999px",left:"-9999px",width:`${w}px`,height:`${b}px`}),document.body.appendChild(y);const v=h/p,S=_/m,N={ratioX:v,ratioY:S,offsetX:w*v,offsetY:b*S},I={action:"create-node",data:{type:c,anchor:N}};(O=s.dataTransfer)==null||O.setData($o,JSON.stringify(I)),(F=s.dataTransfer)==null||F.setData(`${$o}/${c}`,c),(H=s.dataTransfer)==null||H.setDragImage(y,N.offsetX,N.offsetY),requestAnimationFrame(()=>{y.remove(),i.value=void 0})};return(s,c)=>{const d=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",dV,[s.hideTitle?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("h3",uV,[t.createVNode(d,{class:"label",info:t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.description")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.title")),1)]),_:1},8,["info"])])),t.createElementVNode("div",fV,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(t.unref(Bo)),f=>(t.openBlock(),t.createBlock(cV,{key:f,type:f,onDragstart:l},null,8,["type"]))),128))]),t.createElementVNode("div",pV,[t.createVNode(t.unref(up),{nodes:a.value},{"node-flow":t.withCtx(f=>[t.createVNode(gm,{id:r,data:f.data},null,8,["data"])]),_:1},8,["nodes"])])])}}}),[["__scopeId","data-v-51ccb23d"]]);function mV(){const{addField:e,getNodeByName:n,removeField:o,replaceConfig:r,renameField:i,disconnectOutEdges:a,nodeMapByName:l}=nt(),s=n("vault");if(!s)throw new Error("no vault node");const c=t.computed(()=>{var h;return((h=l.value.get("vault"))==null?void 0:h.config)||{}});return{formData:t.computed(()=>({vault:{...c.value}})),addVault:(h,_)=>{e(s.id,"output",h,!1);const g={...s.config,[h]:_};r(s.id,g)},removeVault:h=>{const _=Zt(s,"output",h);if(!_)return;const g=s.fields.output.length===1;o(s.id,_.id,!0,!1);const y=Co(s.config,h);r(s.id,y,!g),g&&a(s.id)},updateVault:(h,_,g=!0)=>{const y={...s.config,[h]:_};r(s.id,y,g)},renameVault:(h,_,g=!0)=>{var v;const y=Zt(s,"output",h);if(!y)return;i(s.id,y.id,_,!1);const w=((v=s.config)==null?void 0:v[h])??"",b={...Co(s.config,h),[_]:w};r(s.id,b,g)}}}const gV=t.defineComponent({__name:"VaultSecretPicker",props:{secretRef:{type:[String,Boolean]},secretName:{},validateName:{type:Function,default:()=>{}},isEditing:{type:Boolean,default:!1}},emits:["proceed","cancel"],setup(e,{emit:n}){const o=n,{i18n:{t:r}}=Ve.useI18n(),i=t.inject(Pe.FORMS_CONFIG),a=t.ref(e.secretName||""),l=t.ref(""),s=t.computed(()=>a.value.trim()?e.validateName(a.value.trim(),e.isEditing)===void 0:!1),c=t.computed(()=>!s.value),d=()=>{const m=a.value.trim(),h=e.validateName(m,e.isEditing);return l.value=h||"",h===void 0},f=()=>{l.value="",d()},u=m=>{d()&&o("proceed",{secretRef:m,secretName:a.value.trim()})},p=()=>{a.value="",l.value="",o("cancel")};return t.watch(()=>e.secretName,m=>{a.value=m||"",l.value=""}),(m,h)=>{const _=t.resolveComponent("KInput"),g=t.resolveComponent("KEmptyState");return t.unref(i)?(t.openBlock(),t.createBlock(t.unref(co.VaultSecretPicker),{key:0,"additional-disabled":c.value,config:t.unref(i),"proceed-button-text":t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.proceed_button_text"),setup:m.secretRef,title:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.title"),onCancel:p,onProceed:u},{"form-prefix":t.withCtx(()=>[t.createVNode(_,{"model-value":a.value,"onUpdate:modelValue":[h[0]||(h[0]=y=>a.value=y),f],"data-testid":"vault-secret-picker-secret-name-input",error:!!l.value,"error-message":l.value,label:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.label"),"label-attributes":{info:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.help")},placeholder:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.placeholder"),required:""},null,8,["model-value","error","error-message","label","label-attributes","placeholder"])]),_:1},8,["additional-disabled","config","proceed-button-text","setup","title"])):(t.openBlock(),t.createBlock(g,{key:1,"icon-variant":"error",message:t.unref(r)("plugins.free-form.vault_picker.component_error")},null,8,["message"]))}}}),hV={class:"dk-vault-panel"},yV={class:"title"},_V={class:"vault-list"},bV={key:0,class:"vault-list-item"},wV={class:"vault-list-item-key"},kV={class:"vault-list-item-key-text"},CV=we(t.defineComponent({__name:"VaultField",props:{name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["update","add","remove","change"],setup(e,{emit:n}){const o=e,r=n,{entries:i,addEntry:a,removeEntry:l}=Tr(o,r),s=t.ref(null),c=t.ref(null),{i18n:{t:d}}=Ve.useI18n(),f=t.computed(()=>new Set(i.value.map(y=>y.key))),u=()=>{const y=a();c.value=y,s.value=y},p=()=>{s.value=null,c.value&&(l(c.value.id),c.value=null)},m=y=>{if(!s.value)throw new Error("no selected entry");const w=s.value.key,b=w!==y.secretName,v=s.value.value!==y.secretRef,S=b||v;s.value.value=y.secretRef,s.value.key=y.secretName,c.value?r("add",y.secretName,y.secretRef):S&&r("update",y.secretName,y.secretRef,b?w:void 0),c.value=null,p()},h=y=>{s.value=y},_=y=>{l(y.id),r("remove",y.key)},g=(y,w)=>{var b;if(!y)return d("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_required_error");if(f.value.has(y)&&!(w&&y===((b=s.value)==null?void 0:b.key)))return d("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_exists_error")};return(y,w)=>{var N,I;const b=t.resolveComponent("KButton"),v=t.resolveComponent("KDropdownItem"),S=t.resolveComponent("KDropdown");return t.openBlock(),t.createElementBlock("div",hV,[t.createElementVNode("h3",yV,t.toDisplayString(t.unref(d)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.title")),1),t.createVNode(b,{appearance:"tertiary",class:"add-button",size:"small",onClick:u},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(d)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.add_button")),1)]),_:1}),t.createElementVNode("div",_V,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),O=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:O.id},[O.key?(t.openBlock(),t.createElementBlock("div",bV,[t.createElementVNode("div",wV,[t.createVNode(t.unref(Ce.KeyIcon),{color:t.unref(Yc),size:16},null,8,["color"]),t.createElementVNode("div",kV,t.toDisplayString(O.key),1)]),t.createVNode(S,null,{items:t.withCtx(()=>[t.createVNode(v,{onClick:F=>h(O)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:2},1032,["onClick"]),t.createVNode(v,{danger:"",onClick:F=>_(O)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.delete")),1)]),_:2},1032,["onClick"])]),default:t.withCtx(()=>[t.createVNode(b,{appearance:"tertiary",icon:""},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.MoreIcon),{color:t.unref(Gc)},null,8,["color"])]),_:1})]),_:2},1024)])):t.createCommentVNode("",!0)],64))),128))]),t.createVNode(gV,{"is-editing":!!s.value&&!c.value,"secret-name":(N=s.value)==null?void 0:N.key,"secret-ref":(I=s.value)==null?void 0:I.value,"validate-name":g,onCancel:p,onProceed:m},null,8,["is-editing","secret-name","secret-ref"])])}}}),[["__scopeId","data-v-4df4e490"]]),EV={class:"dk-resources-panel"},NV=we(t.defineComponent({__name:"ResourcesPanel",setup(e){const n={type:"record",fields:[{vault:{type:"map",keys:{type:"string"},values:{type:"string"}}}]},{addVault:o,removeVault:r,updateVault:i,renameVault:a,formData:l}=mV();function s(c,d,f){f&&f!==c&&a(f,c,!1),i(c,d)}return(c,d)=>(t.openBlock(),t.createElementBlock("div",EV,[t.createVNode(dt,{data:t.unref(l),schema:n},{default:t.withCtx(()=>[t.createVNode(CV,{name:"vault",onAdd:t.unref(o),onRemove:t.unref(r),onUpdate:s},null,8,["onAdd","onRemove"])]),_:1},8,["data"])]))}}),[["__scopeId","data-v-20ce9c3d"]]),SV={class:"header"},vV={class:"title"},xV={class:"body"},AV={class:"panel"},IV=we(t.defineComponent({__name:"SidePanel",setup(e){const{t:n}=je.createI18n("en-us",We),{sidePanelExpanded:o}=Xa(),{propertiesPanelOpen:r,selectedNode:i}=nt(),a=t.inject(Eo.DATAKIT_M2,!1),l=t.ref("nodes");function s(){r.value=!1}t.watch(i,d=>{d||s()});const c=t.ref(!1);return t.onMounted(()=>{c.value=!0}),(d,f)=>{const u=t.resolveComponent("KSegmentedControl");return t.openBlock(),t.createElementBlock("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(o),inited:c.value}])},[t.createElementVNode("header",SV,[t.createElementVNode("h2",vV,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),t.createElementVNode("div",xV,[t.createElementVNode("div",AV,[t.unref(a)?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(u,{modelValue:l.value,"onUpdate:modelValue":f[0]||(f[0]=p=>l.value=p),options:[{label:t.unref(n)("plugins.free-form.datakit.flow_editor.panel_segments.nodes"),value:"nodes"},{label:t.unref(n)("plugins.free-form.datakit.flow_editor.panel_segments.resources.title"),value:"resources"}]},null,8,["modelValue","options"]),l.value==="nodes"?(t.openBlock(),t.createBlock(ym,{key:0,"hide-title":""})):t.createCommentVNode("",!0),l.value==="resources"?(t.openBlock(),t.createBlock(NV,{key:1})):t.createCommentVNode("",!0)],64)):(t.openBlock(),t.createBlock(ym,{key:1}))])])],2)}}}),[["__scopeId","data-v-ae943268"]]),PV=t.defineComponent({__name:"HttpMethodField",props:{name:{}},setup(e){return(n,o)=>(t.openBlock(),t.createBlock(xt,{items:t.unref(ya)([...t.unref(au)]),name:n.name},null,8,["items","name"]))}}),TV=t.defineComponent({__name:"InputsRecordField",props:{name:{},items:{}},emits:["change:inputs"],setup(e){const{getSchema:n}=Fe(),{i18n:o}=Te(),r=t.computed(()=>{const i=n("inputs");return i?i.fields.map(a=>Object.keys(a)[0]):[]});return(i,a)=>(t.openBlock(),t.createBlock(it,{"as-child":"",name:i.name,"reset-label-path":"isolate"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.value,l=>(t.openBlock(),t.createBlock(xt,{key:l,clearable:"","enable-filtering":"",items:i.items,name:l,placeholder:t.unref(o).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s=>i.$emit("change:inputs",l,s?s.value:null)},null,8,["items","name","placeholder","onChange"]))),128))]),_:1},8,["name"]))}}),OV=["data-testid"],$V={class:"dk-inputs-map-field-entry-body"},BV={class:"dk-inputs-map-field-entry-content"},VV=we(t.defineComponent({__name:"InputsMapField",props:{items:{},fieldNameValidator:{},name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["change:inputs","add:field","remove:field","rename:field","change"],setup(e,{emit:n}){const o=e,r=n,{entries:i,addEntry:a,removeEntry:l,field:s}=Tr(o,r),{i18n:{t:c}}=Te(),d=t.useTemplateRef("root"),f=t.ref(null),u=t.ref({});let p;async function m(S,N="key"){var I;d.value&&(await t.nextTick(),(I=d.value.querySelector(`[data-${N}-input="${S}"]`))==null||I.focus())}function h(){const{id:S}=a(),N=i.value.findIndex(({key:I})=>!I);m(N===-1?i.value.length-1:N),f.value=S}function _(S){l(S.id),S.id===f.value&&(f.value=null),S.key.trim()!==""&&r("remove:field",S.key)}function g(S){p=S.key}function y(S){if(w(S)){S.key=p,delete u.value[S.id];return}if(S.id===f.value){if(S.key.trim()==="")return;r("add:field",S.key,S.value),f.value=null}else r("rename:field",p,S.key);p=S.key}function w(S){delete u.value[S.id];const N=o.fieldNameValidator("input",p,S.key);if(N)return u.value[S.id]=N,N}function b(S){w(S)}function v(S,N){S.id!==f.value&&r("change:inputs",S.key,N)}return t.watch(()=>i.value,S=>{f.value&&(S.find(({id:N})=>N===f.value)||(f.value=null))}),(S,N)=>{const I=t.resolveComponent("KAlert"),O=t.resolveComponent("KLabel"),F=t.resolveComponent("KInput"),H=t.resolveComponent("KSelect"),q=t.resolveComponent("KButton");return t.unref(s).error?(t.openBlock(),t.createBlock(I,{key:0,appearance:"danger",message:t.unref(s).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:d,class:"dk-inputs-map-field"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),(E,te)=>(t.openBlock(),t.createElementBlock("div",{key:E.id,class:"dk-inputs-map-field-entry","data-testid":`ff-kv-container-${t.unref(s).path.value}.${te}`},[t.createVNode(O,{for:`ff-kv-entry-key-${t.unref(s).path.value}.${te}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.label")),1)]),_:2},1032,["for"]),t.createElementVNode("div",$V,[t.createElementVNode("div",BV,[t.createVNode(F,{id:`ff-kv-entry-key-${t.unref(s).path.value}.${te}`,modelValue:E.key,"onUpdate:modelValue":[P=>E.key=P,P=>w(E)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":te,"data-testid":`ff-key-${t.unref(s).path.value}.${te}`,error:!!u.value[E.id],"error-message":u.value[E.id],placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.placeholder"),onBlur:P=>b(E),onChange:P=>y(E),onFocus:P=>g(E)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","placeholder","onBlur","onChange","onFocus"]),t.createVNode(H,{modelValue:E.value,"onUpdate:modelValue":P=>E.value=P,class:"ff-kv-field-entry-value",clearable:"","data-testid":`ff-value-${t.unref(s).path.value}.${te}`,"enable-filtering":"",items:S.items,label:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.source"),placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:P=>v(E,(P==null?void 0:P.value)??null)},null,8,["modelValue","onUpdate:modelValue","data-testid","items","label","placeholder","onChange"])]),t.createVNode(q,{appearance:"tertiary",class:"dk-inputs-map-field-remove-btn","data-testid":`ff-kv-remove-btn-${t.unref(s).path.value}.${te}`,icon:"",onClick:P=>_(E)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.CloseIcon))]),_:2},1032,["data-testid","onClick"])])],8,OV))),128)),t.createVNode(q,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(s).path.value}`,disabled:!!f.value,onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-b2f89c26"]]),RV={class:"dk-inputs-field-or"},io=we(t.defineComponent({__name:"InputsField",props:{items:{},fieldNames:{},fieldNameValidator:{}},emits:["change:input","change:inputs","add:field","remove:field","rename:field"],setup(e,{emit:n}){const o=n,{getSchema:r}=Fe(),{i18n:{t:i}}=Te(),a=t.computed(()=>r("inputs")),l=t.computed(()=>a.value?a.value.type==="record"?TV:VV:null);function s(p){o("change:input",p?p.value:null)}function c(p,m){o("add:field",p,m)}function d(p,m){o("change:inputs",p,m)}function f(p){o("remove:field",p)}function u(p,m){o("rename:field",p,m)}return(p,m)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(t.unref(xe.KLabel),{class:"dk-inputs-field-h1",info:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.tooltip")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.label")),1)]),_:1},8,["info"]),t.unref(r)("input")?(t.openBlock(),t.createBlock(xt,{key:0,class:"dk-inputs-field-h2",clearable:"","enable-filtering":"",items:p.items,label:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.input"),"label-attributes":{info:void 0},name:"input",placeholder:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s},null,8,["items","label","placeholder"])):t.createCommentVNode("",!0),t.createElementVNode("div",RV,[t.createElementVNode("span",null,t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.or")),1)]),t.createVNode(t.unref(xe.KLabel),{class:"dk-inputs-field-h2 dk-margin-0"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.fields")),1)]),_:1}),l.value?(t.openBlock(),t.createBlock(t.unref(l),{key:1,"field-name-validator":p.fieldNameValidator,items:p.items,"key-order":p.fieldNames,name:"inputs","onAdd:field":c,"onChange:inputs":d,"onRemove:field":f,"onRename:field":u},null,8,["field-name-validator","items","key-order"])):t.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-27c48bc3"]]),DV={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{query:{description:"HTTP request query",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"},MV={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"};function FV(e){const n=Number(e);return!isNaN(n)&&isFinite(n)}function ao(...e){return function(o){for(const r of e){const i=r(o);if(i)return i}}}function lo(e){const{i18n:{t:n}}=Te(),o=()=>e?typeof e=="string"?e:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_empty",e):"Field is required";return function(i){if(i==null||typeof i=="string"&&i.trim()==="")return o()}}function _m(e,n){const{i18n:{t:o}}=Te();return function(i){if(i!=null)switch(e){case"identifier":{const a=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_identifier_format",n):"Invalid identifier format";return/^[A-Za-z_][A-Za-z0-9_-]*$/.test(i)?void 0:a()}case"url":{const a=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_url_format"):"Invalid URL format";try{new URL(i);return}catch{return a()}}default:return}}}function LV(e=0,n=1/0,o){const{i18n:{t:r}}=Te();return function(a){if(a!=null&&typeof a=="string"&&(a.length<e||a.length>n))return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.string_len_range",{fieldName:o.fieldName,minLength:e,maxLength:n}):`Value must be between ${e} and ${n} characters`}}function bm(e){const{i18n:{t:n}}=Te();return function(r){if(!FV(r))return e?typeof e=="string"?e:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_number",e):"Value must be a number"}}function wm(e,n){const{i18n:{t:o}}=Te();return function(i){if(i==null)return;const a=bm(n)(i);if(a)return a;const l=Number(i);switch(e){case"float":{const s=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_float",n):"Invalid float format";return Number.isFinite(l)?void 0:s()}case"integer":{const s=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_integer",n):"Invalid integer format";return Number.isInteger(l)?void 0:s()}default:return}}}function km(e=-1/0,n=1/0,o){const{i18n:{t:r}}=Te();return function(a){if(a==null)return;const l=bm(o)(a);if(l)return l;const s=Number(a);if(s<e||s>n)return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.number_range",{fieldName:o.fieldName,min:e,max:n}):`Value must be between ${e} and ${n}`}}function UV(e,n){const{state:o}=nt(),{i18n:{t:r}}=Te();return function(a){if(o.value.nodes.some(l=>l.name===a&&l.id!==e))return n?typeof n=="string"?n:r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",n):"Name must be unique."}}function KV(e,n,o){const{i18n:{t:r}}=Te();return function(a){if(!n)return;if(o?n.fields[e].some(s=>s.name===a&&s.id!==o):n.fields[e].some(s=>s.name===a)){const s=r(e==="input"?"plugins.free-form.datakit.flow_editor.node_properties.input_name.label":"plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name");return r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",{fieldName:s})}}}function jV(){const{i18n:{t:e}}=Te();return function(o){if(Ha(o))return e("plugins.free-form.datakit.flow_editor.node_properties.errors.reserved_node_name",{nodeName:o})}}function Cm(e){const{i18n:{t:n}}=Te(),o={fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.name")};return ao(lo(o),_m("identifier",o),jV(),UV(e,o))}function qV(e){const{i18n:{t:n}}=Te(),{getNodeById:o}=nt();return function(i,a,l){const s={fieldName:n(i==="input"?"plugins.free-form.datakit.flow_editor.node_properties.input_name.label":"plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name")};return ao(lo(s),KV(i,o(e),l))(a)}}function GV(e){const n=t.ref({}),o=t.computed(()=>Object.values(n.value).every(l=>!l)),r={};Object.keys(e).forEach(l=>{const s=e[l],c=u=>{const p=typeof u=="function"?u():u,m=s(p);return n.value[l]=m,m},d=()=>{n.value[l]=void 0},f=u=>(d(),c(u));r[l]={handleChange:f,handleBlur:f,validate:f,isValid:t.computed(()=>n.value[l]===void 0),error:t.computed(()=>n.value[l])}});function i(){n.value={}}function a(l){var s;for(const c of Object.keys(e)){const d=l[c],f=typeof d=="function"?d():d;(s=r[c])==null||s.validate(f)}return n.value}return{isValid:o,errorMap:n,fields:r,clearErrors:i,validate:a}}function Mi(e){const{validationConfig:n,getValidationData:o,toggleNodeValid:r}=e,{skipValidation:i}=nt(),a=t.computed(()=>typeof n=="function"?n():n),l=t.computed(()=>GV(a.value)),s=t.computed(()=>l.value.fields),c=t.computed(()=>l.value.isValid.value);function d(){const u=o(),p=l.value.validate(u),m={};for(const h in a.value)m[h]=p[h];return m}function f(u,p){return{onBlur:()=>{const m=o(),h=s.value[u];h&&h.handleBlur(m[u])},onUpdate:()=>{const m=o(),h=s.value[u];h&&h.handleChange(m[u]),p==null||p()},error:t.computed(()=>{const m=s.value[u];return m?!m.isValid.value:!1}),errorMessage:t.computed(()=>{const m=s.value[u];return m?m.error.value??"":""})}}return t.onMounted(()=>{i.value?i.value=!1:d()}),t.onBeforeUnmount(async()=>{try{const u=d(),p=Object.values(u).filter(Boolean).length>0;r(!p)}catch{}}),t.watch(()=>c.value,r,{immediate:!0}),{fields:s.value,isValid:c,validateAll:d,createFieldHandler:f}}function Pn(e,n){const o=t.inject(Eo.DATAKIT_M2,!1),{state:r,renameNode:i,getNodeById:a,addField:l,renameField:s,removeField:c,replaceConfig:d,disconnectEdge:f,connectEdge:u,invalidConfigNodeIds:p,commit:m,revert:h}=nt(),{i18n:{t:_}}=Te(),g=wB();let y=!1;t.watch(r,async()=>{y=!0,await t.nextTick(),y=!1},{immediate:!0,deep:!0});const w=t.computed(()=>{const D=a(e);if(!D)throw new Error("Node not existed");return D}),b=t.computed(()=>{const L=r.value.edges.filter(j=>j.target===e).reduce((j,Z)=>{var ye,Q;const W=a(Z.source),ne=(ye=Jt(W,"output",Z.sourceField))==null?void 0:ye.id,ie=(Q=Jt(w.value,"input",Z.targetField))==null?void 0:Q.name,de=W.id+(ne?`.${ne}`:"");return ie?j.inputs={...j.inputs,[ie]:de}:j.input=de,j},{});return w.value.fields.input.forEach(j=>{L.inputs||(L.inputs={}),L.inputs[j.name]||(L.inputs[j.name]=null)}),{...w.value.config,...L,name:w.value.name}}),v=D=>{i(e,D??"",!0,`${e}:rename`)},S=(D,L=!0)=>{if(y)return;if(!n)throw new Error("getFormInnerData is not defined");const j=Co(n(),["name","input","inputs"]),Z=D?`update:${e}:${D}`:void 0;d(e,j,L,Z)},N=(D,L)=>{const j=Zt(w.value,D,L);if(!j)throw new Error(`Field with name "${L}" not found in node "${w.value.name}"`);return j},I=(D,L,j)=>{const Z=!!j;l(e,D,L,!Z),Z&&E(L,j)},O=(D,L,j)=>{if(y)return;const Z=N(D,L).id;s(e,Z,j)},F=(D,L)=>{const j=N(D,L).id;c(e,j)},H=t.computed(()=>r.value.edges.filter(D=>D.target===e&&!D.targetField)[0]),q=t.computed(()=>r.value.edges.filter(D=>D.target===e&&D.targetField)),E=async(D,L)=>{if(y)return;const j=L==null,Z=N("input",D).id;if(j){const ue=q.value.find(ce=>ce.targetField===Z);ue&&f(ue.id);return}const{nodeId:W,fieldId:ne}=cu(L),ie=N("input",D).id,de=[];H.value&&(de.push(rr(H.value,a)),f(H.value.id,!1));const ye=q.value.find(ue=>ue.targetField===Z);ye&&(de.push(rr(ye,a)),f(ye.id,!1)),u({source:W,sourceField:ne,target:e,targetField:ie},!1);const Q=Xl(W,ne,e,ie,a),oe=de[0]&&Q?de[0][1]===Q[1]:!1;if(m(),oe||de.length===0)return;await g(_("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[Q],de)||h()},te=async D=>{if(y)return;if(D==null){H.value&&f(H.value.id);return}const j=[];for(const de of q.value)j.push(rr(de,a)),f(de.id,!1);H.value&&f(H.value.id,!1);const{nodeId:Z,fieldId:W}=cu(D);u({source:Z,sourceField:W,target:e,targetField:void 0},!1);const ne=Xl(Z,W,e,void 0,a);if(m(),j.length===0)return;await g(_("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[ne],j)||h()},P=D=>{const L=[...r.value.edges,{source:D,target:e}];return Wa(jr(L))},G=t.computed(()=>{var L,j;const D=[];for(const Z of r.value.nodes)if(!(!o&&Z.type==="vault"||!((L=Ro(Z.type).io)!=null&&L.output))&&Z.fields.output&&Z.id!==e&&!(Z.type==="property"&&!Rl((j=Z.config)==null?void 0:j.property))&&!P(Z.id)&&!(w.value.phase==="request"&&Z.phase==="response")&&!(Z.type==="vault"&&Z.fields.output.length===0)){D.push({value:Z.id,label:Z.name});for(const ne of Z.fields.output)D.push({value:`${Z.id}.${ne.id}`,label:`${Z.name}.${ne.name}`})}return D}),R=t.computed(()=>w.value.fields.input.map(D=>D.name)||[]);function K(D){p.value.delete(e),D||p.value.add(e)}const V=qV(e);function M(D,L,j){const Z=a(e);if(!Z)throw new Error("Node not found when validating field name");const W=Zt(Z,D,L);return V(D,j,W==null?void 0:W.id)}return{formData:b,inputOptions:G,inputEdge:H,inputsEdges:q,inputsFieldNames:R,currentNode:w,setName:v,setConfig:S,addField:I,renameFieldByName:O,removeFieldByName:F,setInputs:E,setInput:te,nameValidator:Cm(e),fieldNameValidator:M,toggleNodeValid:K}}function Tn(e){const{getSchema:n}=Fe();return t.computed(()=>{if(wt(e))switch(e){case"response":return MV;case"service_request":return DV}try{const l=n().fields[0].config.fields[0].nodes.elements.subschema_definitions[e];if(!l)throw new Error(`Subschema "${e}" not found in the schema.`);return l}catch(o){throw new Error(`Failed to get subschema "${e}": ${o.message}`)}})}const ir=t.defineComponent({__name:"NameField",props:{name:{},validate:{type:Function}},emits:["update"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=Te(),a=t.ref(o.name),l=t.computed(()=>{const f=o.validate(a.value.trim());return f===void 0?"":f});let s=a.value.trim();function c(){if(l.value){a.value=s;return}r("update",a.value.trim())}function d(){s=a.value.trim()}return t.watch(()=>o.name,f=>{f!==a.value&&(a.value=f)}),(f,u)=>{const p=t.resolveComponent("KInput");return t.openBlock(),t.createBlock(p,{"model-value":a.value,"onUpdate:modelValue":u[0]||(u[0]=m=>a.value=m),"data-1p-ignore":"",error:!!l.value,"error-message":l.value,label:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.name"),required:"",onChange:c,onFocus:d},null,8,["model-value","error","error-message","label"])}}}),zV=t.defineComponent({__name:"NodeFormCall",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=Te(),o=t.useTemplateRef("form"),r=Tn("call"),{formData:i,setName:a,setConfig:l,inputOptions:s,setInputs:c,setInput:d,inputsFieldNames:f,nameValidator:u,toggleNodeValid:p,fieldNameValidator:m}=Pn(e.nodeId,()=>o.value.getInnerData()),{createFieldHandler:h}=Mi({validationConfig:{url:ao(lo({fieldName:"URL"}),_m("url",{fieldName:"URL"})),timeout:ao(wm("integer",{fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.timeout.label")}),km(0,2147483646,{fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.timeout.label")}))},getValidationData:()=>({url:i.value.url,timeout:i.value.timeout}),toggleNodeValid:p}),_=h("url",()=>l("url")),g=h("timeout",()=>l("timeout"));return(y,w)=>{const b=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(dt,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(ir,{name:t.unref(i).name,validate:t.unref(u),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(b,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(Ln,{error:t.unref(_).error.value,"error-message":t.unref(_).errorMessage.value,name:"url",onBlur:t.unref(_).onBlur,"onUpdate:modelValue":t.unref(_).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(PV,{name:"method",onUpdate:w[0]||(w[0]=v=>t.unref(l)())}),t.createVNode(Un,{error:t.unref(g).error.value,"error-message":t.unref(g).errorMessage.value,label:t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.timeout.label"),name:"timeout",onBlur:t.unref(g).onBlur,"onUpdate:modelValue":t.unref(g).onUpdate},null,8,["error","error-message","label","onBlur","onUpdate:modelValue"]),t.createVNode(Ln,{name:"ssl_server_name","onUpdate:modelValue":w[1]||(w[1]=v=>t.unref(l)("ssl_server_name"))}),t.createVNode(io,{"field-name-validator":t.unref(m),"field-names":t.unref(f),items:t.unref(s),"onChange:input":t.unref(d),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),HV=t.defineComponent({__name:"NodeFormServiceRequest",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=Tn("service_request"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=Pn(e.nodeId,()=>n.value.getInnerData());return(d,f)=>(t.openBlock(),t.createBlock(dt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(io,{"field-name-validator":t.unref(c),"field-names":t.unref(s),items:t.unref(i),"onChange:input":t.unref(l),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),YV=t.defineComponent({__name:"NodeFormResponse",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=Tn("response"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=Pn(e.nodeId,()=>n.value.getInnerData());return(d,f)=>(t.openBlock(),t.createBlock(dt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(io,{"field-name-validator":t.unref(c),"field-names":t.unref(s),items:t.unref(i),"onChange:input":t.unref(l),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),Em={jqlang:"https://jqlang.org/manual/"},WV=t.defineComponent({__name:"NodeFormJq",props:{nodeId:{}},setup(e){const{i18n:{t:n},i18nT:o}=Te(),r=t.useTemplateRef("form"),i=Tn("jq"),{formData:a,setName:l,setConfig:s,inputOptions:c,setInputs:d,setInput:f,addField:u,removeFieldByName:p,renameFieldByName:m,inputsFieldNames:h,nameValidator:_,toggleNodeValid:g,fieldNameValidator:y}=Pn(e.nodeId,()=>r.value.getInnerData());function w(O,F){u("input",O,F)}function b(O){p("input",O)}function v(O,F){m("input",O,F)}const S=n("plugins.free-form.datakit.flow_editor.node_properties.jq.label"),{createFieldHandler:N}=Mi({validationConfig:{jq:ao(lo({fieldName:S}),LV(1,10240,{fieldName:S}))},getValidationData:()=>({jq:a.value.jq}),toggleNodeValid:g}),I=N("jq",()=>s("jq"));return(O,F)=>{const H=t.resolveComponent("KLabel"),q=t.resolveComponent("KExternalLink");return t.openBlock(),t.createBlock(dt,{ref:"form",data:t.unref(a),schema:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(ir,{name:t.unref(a).name,validate:t.unref(_),onUpdate:t.unref(l)},null,8,["name","validate","onUpdate"]),t.createVNode(H,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(Ln,{autosize:"",error:t.unref(I).error.value,"error-message":t.unref(I).errorMessage.value,label:t.unref(S),"label-attributes":{},multiline:"",name:"jq",resizable:"",onBlur:t.unref(I).onBlur,"onUpdate:modelValue":t.unref(I).onUpdate},{help:t.withCtx(()=>[t.createVNode(t.unref(o),{keypath:"plugins.free-form.datakit.flow_editor.node_properties.jq.help"},{link:t.withCtx(()=>[t.createVNode(q,{"hide-icon":"",href:t.unref(Em).jqlang},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(Em).jqlang),1)]),_:1},8,["href"])]),_:1})]),_:1},8,["error","error-message","label","onBlur","onUpdate:modelValue"]),t.createVNode(io,{"field-name-validator":t.unref(y),"field-names":t.unref(h),items:t.unref(c),"onAdd:field":w,"onChange:input":t.unref(f),"onChange:inputs":t.unref(d),"onRemove:field":b,"onRename:field":v},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),XV=we(t.defineComponent({__name:"OutputValueField",props:{fieldNameValidator:{},name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["change:value","add:field","rename:field","remove:field","change"],setup(e,{emit:n}){const o=e,r=n,i=t.ref({}),{entries:a,addEntry:l,removeEntry:s,field:c}=Tr(o,r,!1),{i18n:d}=Te(),f=t.useTemplateRef("root"),u=t.ref(null);let p;async function m(S,N="key"){var I;f.value&&(await t.nextTick(),(I=f.value.querySelector(`[data-${N}-input="${S}"]`))==null||I.focus())}function h(){const S=l(),N=a.value.findIndex(({key:I})=>!I);m(N===-1?a.value.length-1:N),u.value=S}function _(S){var N;S.id===((N=u.value)==null?void 0:N.id)&&(u.value=null),s(S.id),S.key.trim()!==""&&r("remove:field",S.key)}function g(S){p=S.key}function y(S){var N;if(b(S)){S.key=p,delete i.value[S.id];return}if(S.id===((N=u.value)==null?void 0:N.id)){if(S.key.trim()==="")return;u.value=null,r("add:field",S.key,S.value)}else r("rename:field",p,S.key);p=S.key}function w(S,N){var O;if(N.id===((O=u.value)==null?void 0:O.id))return;const I=S.target.value.trim();r("change:value",N.key,I)}function b(S){delete i.value[S.id];const N=o.fieldNameValidator("output",p,S.key);if(N)return i.value[S.id]=N,N}function v(S){b(S)}return t.watchEffect(()=>{u.value&&!a.value.some(S=>S.id===u.value.id)&&a.value.push(u.value)}),(S,N)=>{const I=t.resolveComponent("KAlert"),O=t.resolveComponent("KLabel"),F=t.resolveComponent("KButton"),H=t.resolveComponent("KInput"),q=t.resolveComponent("KCard");return t.unref(c).error?(t.openBlock(),t.createBlock(I,{key:0,appearance:"danger",message:t.unref(c).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:f,class:"dk-output-value-field"},[t.createVNode(O,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.label")),1)]),_:1}),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(a),(E,te)=>(t.openBlock(),t.createBlock(q,{key:E.id,class:"dk-output-value-field-entry","data-testid":`ff-kv-container-${t.unref(c).path.value}.${te}`},{actions:t.withCtx(()=>[t.createVNode(F,{appearance:"none","data-testid":`ff-kv-remove-btn-${t.unref(c).path.value}.${te}`,icon:"",onClick:P=>_(E)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.CloseIcon))]),_:2},1032,["data-testid","onClick"])]),default:t.withCtx(()=>[t.createVNode(H,{id:`ff-kv-entry-key-${t.unref(c).path.value}.${te}`,modelValue:E.key,"onUpdate:modelValue":[P=>E.key=P,P=>b(E)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":te,"data-testid":`ff-key-${t.unref(c).path.value}.${te}`,error:!!i.value[E.id],"error-message":i.value[E.id],label:t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name"),required:"",onBlur:P=>v(E),onChange:P=>y(E),onFocus:P=>g(E)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","label","onBlur","onChange","onFocus"]),t.createVNode(H,{modelValue:E.value,"onUpdate:modelValue":P=>E.value=P,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(c).path.value}.${te}`,label:t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value"),onChange:P=>w(P,E)},null,8,["modelValue","onUpdate:modelValue","data-testid","label","onChange"])]),_:2},1032,["data-testid"]))),128)),t.createVNode(F,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(c).path.value}`,disabled:!!u.value,onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(d).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-5e17f8cb"]]);function ZV(e){const n={};for(const[o,r]of Object.entries(e))typeof r=="object"&&r!==null?n[o]=JSON.stringify(r):n[o]=String(r);return n}function Fi(e){const n={};for(const[o,r]of Object.entries(e))if(r!=null){n[o]=r;try{r==="null"?n[o]=null:(r==="true"||r==="false"||/^-?\d+(\.\d+)?$/.test(r)||r.startsWith("{")&&r.endsWith("}")||r.startsWith("[")&&r.endsWith("]"))&&(n[o]=JSON.parse(r))}catch{}}return n}function JV(e,n,o){const r={};for(const i of Object.keys(e))i===n?r[o]=e[n]:r[i]=e[i];return r}const QV=t.defineComponent({__name:"NodeFormStatic",props:{nodeId:{}},setup(e){const{renameNode:n,getOutEdgesByNodeId:o,addField:r,renameField:i,removeField:a,replaceConfig:l,getNodeById:s}=nt(),{fieldNameValidator:c}=Pn(e.nodeId),d=Tn("static"),f=Cm(e.nodeId),u=t.computed(()=>s(e.nodeId)),p=t.computed(()=>{var b;return((b=u.value)==null?void 0:b.fields.output.map(v=>v.name))||[]});function m(b){if(!u.value)throw new Error("No current node");n(u.value.id,b??"")}const h=t.computed(()=>{var F;if(!u.value)return{};const b=((F=u.value.config)==null?void 0:F.values)??{},v={},S=o(u.value.id).map(H=>H.sourceField).filter(Boolean).map(H=>Jt(u.value,"output",H)).map(H=>H==null?void 0:H.name).filter(Boolean),N=u.value.fields.output.map(H=>H.name),I=Object.keys(b);return new Set([...I,...S,...N]).forEach(H=>{if(H in b){v[H]=b[H];return}v[H]=""}),{name:u.value.name,values:ZV(v)}});function _(b,v){if(!u.value)throw new Error("No selected node");const S=v!==void 0;if(r(e.nodeId,"output",b,!S),S){const N={values:Fi({...h.value.values,[b]:v})};l(e.nodeId,N)}}function g(b,v){if(!u.value)throw new Error("No selected node");const S=Zt(u.value,"output",b);if(!S)throw new Error("No field found to rename");const N={values:Fi(JV(h.value.values??{},b,v))};l(e.nodeId,N,!1),i(e.nodeId,S.id,v)}function y(b){var N;if(!u.value)throw new Error("No selected node");const v=Zt(u.value,"output",b);if(!v)throw new Error("No field found to delete");a((N=u.value)==null?void 0:N.id,v.id,!0,!1);const S={values:Fi({...h.value.values})};delete S.values[b],l(e.nodeId,S)}function w(b,v){if(!u.value)throw new Error("No selected node");const S={...h.value.values};S[b]=v;const N={values:Fi(S)};l(e.nodeId,N)}return(b,v)=>(t.openBlock(),t.createBlock(dt,{ref:"form",data:h.value,schema:t.unref(d)},{default:t.withCtx(()=>{var S;return[t.createVNode(ir,{name:((S=u.value)==null?void 0:S.name)??"",validate:t.unref(f),onUpdate:m},null,8,["name","validate"]),t.createVNode(XV,{"field-name-validator":t.unref(c),"key-order":p.value,name:"values","onAdd:field":_,"onChange:value":w,"onRemove:field":y,"onRename:field":g},null,8,["field-name-validator","key-order"])]}),_:1},8,["data","schema"]))}}),eR={class:"dk-kong-property-item"},tR={class:"property-type"},nR={class:"property-badges"},oR=we(t.defineComponent({__name:"PropertiesField",props:{validators:{}},emits:["update:model-value","update:property-key"],setup(e,{emit:n}){const{i18n:{t:o}}=Te(),r=e,i=n,{formData:a}=Fe(),l=t.ref(tr(a.property)),s=t.computed(()=>nr(a.property)),c=t.ref(Vl(a.property)),d=t.computed(()=>a.property??""),f=t.computed(()=>Object.entries(xn).map(([m])=>{var g;const h=nr(m)?(g=a.property)==null?void 0:g.startsWith(m.replace(oo,"")):a.property===m;return{label:h&&c.value?m.replace(oo,c.value):m,value:m,selected:h}}));function u(m){const h=xi.find(_=>{var g;return(g=a.property)==null?void 0:g.startsWith(_)});h&&(a.property=h+m,r.validators.key.handleChange(a.property),i("update:property-key",a.property))}function p(m){l.value!==tr(m==null?void 0:m.value)&&(a.property=(m==null?void 0:m.value)||null,l.value=tr(a.property),r.validators.property.handleBlur(()=>a.property),i("update:model-value",a.property))}return t.watch(()=>a.property,m=>{c.value=Vl(m),l.value=tr(m)}),(m,h)=>{const _=t.resolveComponent("KBadge"),g=t.resolveComponent("KSelect"),y=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(g,{key:d.value,"enable-filtering":"",error:!m.validators.property.isValid.value,help:m.validators.property.error.value,items:f.value,label:"Property","label-attributes":{maxWidth:"300px",placement:"top",info:"The property name to get/set"},required:"",onBlur:h[0]||(h[0]=w=>m.validators.property.handleBlur(()=>t.unref(a).property)),onChange:p},{"item-template":t.withCtx(({item:w})=>[t.createElementVNode("div",eR,[t.createElementVNode("div",null,[t.createElementVNode("div",null,t.toDisplayString(w.label),1),t.createElementVNode("div",tR,t.toDisplayString(t.unref(xn)[w.value].dataType),1)]),t.createElementVNode("div",nR,[t.unref(xn)[w.value].readable?(t.openBlock(),t.createBlock(_,{key:0,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.get")),1)]),_:1})):t.createCommentVNode("",!0),t.unref(xn)[w.value].writable?(t.openBlock(),t.createBlock(_,{key:1,appearance:"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.set")),1)]),_:1})):t.createCommentVNode("",!0)])])]),_:1},8,["error","help","items"])),s.value?(t.openBlock(),t.createBlock(y,{key:0,"model-value":c.value,"onUpdate:modelValue":[h[1]||(h[1]=w=>c.value=w),u],error:!m.validators.key.isValid.value,"error-message":m.validators.key.error.value,label:"key",required:"",onBlur:h[2]||(h[2]=w=>m.validators.key.handleBlur(()=>t.unref(a).property))},null,8,["model-value","error","error-message"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-0ab1be87"]]),rR=t.defineComponent({__name:"NodeFormProperty",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),{selectedNode:o,disconnectInEdges:r,disconnectOutEdges:i}=nt(),a=Tn("property"),{formData:l,setName:s,setConfig:c,inputOptions:d,setInputs:f,setInput:u,inputsFieldNames:p,nameValidator:m,toggleNodeValid:h,fieldNameValidator:_}=Pn(e.nodeId,()=>n.value.getInnerData()),g=t.computed(()=>Dl(l.value.property));function y(b){var S;const v=(S=o.value)==null?void 0:S.id;if(!v)throw new Error("Expected selectedNode to be defined");Rl(b)||i(v,!1),Dl(b)||r(v,!1),c()}const{fields:w}=Mi({validationConfig:()=>({property:lo({fieldName:"Property"}),key:nr(l.value.property)?lo({fieldName:"Key"}):()=>{}}),getValidationData:()=>({property:l.value.property,key:Vl(l.value.property)}),toggleNodeValid:h});return(b,v)=>(t.openBlock(),t.createBlock(dt,{ref:"form",data:t.unref(l),schema:t.unref(a)},{default:t.withCtx(()=>[t.createVNode(ir,{name:t.unref(l).name,validate:t.unref(m),onUpdate:t.unref(s)},null,8,["name","validate","onUpdate"]),t.createVNode(xt,{name:"content_type",onUpdate:v[0]||(v[0]=S=>t.unref(c)())}),t.createVNode(oR,{validators:t.unref(w),"onUpdate:modelValue":y,"onUpdate:propertyKey":v[1]||(v[1]=S=>t.unref(c)("property-key"))},null,8,["validators"]),g.value?(t.openBlock(),t.createBlock(io,{key:0,"field-name-validator":t.unref(_),"field-names":t.unref(p),items:t.unref(d),"onChange:input":t.unref(u),"onChange:inputs":t.unref(f)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])):t.createCommentVNode("",!0)]),_:1},8,["data","schema"]))}}),iR=t.defineComponent({__name:"NodeFormExit",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=Tn("exit"),{formData:r,setName:i,setConfig:a,inputOptions:l,setInputs:s,setInput:c,inputsFieldNames:d,nameValidator:f,toggleNodeValid:u,fieldNameValidator:p}=Pn(e.nodeId,()=>n.value.getInnerData()),{createFieldHandler:m}=Mi({validationConfig:{status:ao(wm("integer",{fieldName:"Status"}),km(200,599,{fieldName:"Status"}))},getValidationData:()=>({status:r.value.status}),toggleNodeValid:u}),h=m("status",()=>a("status"));return(_,g)=>(t.openBlock(),t.createBlock(dt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(ir,{name:t.unref(r).name,validate:t.unref(f),onUpdate:t.unref(i)},null,8,["name","validate","onUpdate"]),t.createVNode(Un,{error:t.unref(h).error.value,"error-message":t.unref(h).errorMessage.value,name:"status",onBlur:t.unref(h).onBlur,"onUpdate:modelValue":t.unref(h).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(Na,{name:"warn_headers_sent","onUpdate:modelValue":g[0]||(g[0]=y=>t.unref(a)())}),t.createVNode(io,{"field-name-validator":t.unref(p),"field-names":t.unref(d),items:t.unref(l),"onChange:input":t.unref(c),"onChange:inputs":t.unref(s)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),aR=["innerHTML"],lR=t.defineComponent({__name:"NodePropertiesPanel",props:{maxWidth:{default:`${ou}px`},offsetTop:{default:`${gN}px`},visible:{type:Boolean},nodeId:{}},emits:["close"],setup(e){const{getNodeById:n}=nt(),o=t.computed(()=>e.nodeId&&n(e.nodeId)),r=t.computed(()=>{var i;switch((i=o.value)==null?void 0:i.type){case"call":return zV;case"service_request":return HV;case"response":return YV;case"jq":return WV;case"static":return QV;case"property":return rR;case"exit":return iR;default:return null}});return(i,a)=>(t.openBlock(),t.createBlock(t.unref(xe.KSlideout),{class:"dk-node-properties-panel","close-on-blur":!1,"has-overlay":!1,"max-width":i.maxWidth,"offset-top":i.offsetTop,visible:i.visible,"z-index":t.unref(mN),onClose:a[0]||(a[0]=l=>i.$emit("close"))},t.createSlots({default:t.withCtx(()=>[o.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"dk-node-properties-panel-desc",innerHTML:t.unref(gt)(o.value.type)},null,8,aR)):t.createCommentVNode("",!0),r.value?(t.openBlock(),t.createBlock(t.unref(r),{key:i.nodeId,class:"dk-node-properties-panel-form","node-id":i.nodeId},null,8,["node-id"])):t.createCommentVNode("",!0)]),_:2},[o.value?{name:"title",fn:t.withCtx(()=>[t.createVNode(mm,{type:o.value.type},null,8,["type"])]),key:"0"}:void 0]),1032,["max-width","offset-top","visible","z-index"]))}}),sR=we(lR,[["__scopeId","data-v-b8520278"]]),cR={class:"dk-editor-content"},dR={class:"main"},uR=we(t.defineComponent({__name:"EditorContent",setup(e){const{propertiesPanelOpen:n,selectedNode:o}=nt();function r(){n.value=!1}t.watch(o,a=>{a||r()});const i=t.ref(!1);return t.onMounted(()=>{i.value=!0}),(a,l)=>{var s;return t.openBlock(),t.createElementBlock("div",cR,[t.createVNode(t.unref(IV)),t.createElementVNode("div",dR,[t.createVNode(oV)]),t.createVNode(sR,{"node-id":(s=t.unref(o))==null?void 0:s.id,visible:t.unref(n),onClose:r},null,8,["node-id","visible"])])}}}),[["__scopeId","data-v-8f04afa6"]]),fR={key:0,class:"dk-editor-modal"},pR=we(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:["update:open"],setup(e){t.useCssVars(s=>({"5fe3dd96":`${t.unref(pN)}px`,"480b2f5d":`${t.unref(nu)}px`}));const n=t.useModel(e,"open"),o=t.ref(!1),r=t.useTemplateRef("confirm-modal"),{clear:i}=nt();bB(async(...s)=>{o.value=!0;const c=await r.value.open(...s);return o.value=!1,c});const a=Ke.useScrollLock(document);t.watch(n,s=>{a.value=!!s,s||i()},{immediate:!0});function l(){n.value=!1}return(s,c)=>n.value?(t.openBlock(),t.createElementBlock("div",fR,[t.createVNode(ZB,{class:"nav",onBack:l}),t.createVNode(uR,{ref:"content",class:"content",tabindex:"0"},null,512),t.createVNode(HB,{ref:"confirm-modal"},null,512)])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-917708bb"]]),mR={class:"dk-flow-editor"},gR={class:"flow-panels-container"},hR={class:"overlay"},yR=we(t.defineComponent({__name:"FlowEditor",props:{isEditing:{type:Boolean}},emits:["change","error"],setup(e,{emit:n}){const{t:o}=je.createI18n("en-us",We),{formData:r}=Fe(),i=n;function a(c,d,f){const u={...r.config,nodes:c};f!==void 0&&(u.resources=f);const p={...r.__ui_data,nodes:d};r.config=u,r.__ui_data=p,i("change",u,p)}const{modalOpen:l,setPendingFitView:s}=yu(r,{onChange:a,isEditing:e.isEditing});return t.watch(l,()=>{s(!0)},{flush:"post"}),(c,d)=>{const f=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",mR,[t.createElementVNode("div",gR,[t.createVNode(Jl,{inactive:t.unref(l),mode:"preview"},null,8,["inactive"]),t.createElementVNode("div",hR,[t.createVNode(f,{appearance:"secondary",class:"button-open-editor",onClick:d[0]||(d[0]=u=>l.value=!0)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.cta"))+" ",1),t.createVNode(t.unref(Ce.ExpandIcon))]),_:1})])]),t.createVNode(pR,{open:t.unref(l),"onUpdate:open":d[1]||(d[1]=u=>t.isRef(l)?l.value=u:null)},null,8,["open"])])}}}),[["__scopeId","data-v-ef02243f"]]);function _R(e,n){const o=[],r=(i,a)=>{typeof a=="string"&&o.push({nodeName:e.name,path:["nodes",n,...i],value:a})};if("input"in e&&e.input!=null&&r(["input"],e.input),"inputs"in e&&e.inputs&&typeof e.inputs=="object")for(const[i,a]of Object.entries(e.inputs))a!=null&&r(["inputs",i],a);if("output"in e&&e.output!=null&&r(["output"],e.output),"outputs"in e&&e.outputs&&typeof e.outputs=="object")for(const[i,a]of Object.entries(e.outputs))a!=null&&r(["outputs",i],a);return o}function bR(e){const n=e.path[2];return n==="output"||n==="outputs"}function wR(e){if(!e)return!1;for(const n of Object.values(e))if(n!=null)return!0;return!1}function Nm(e,n,o){if(!e.nodes)return;const r=e.nodes.map(c=>c.name),i=new Set;r.forEach((c,d)=>{i.has(c)&&o.addIssue({code:"custom",message:`Duplicate node name: "${c}"`,path:["nodes",d,"name"]}),i.add(c)}),e.nodes.forEach((c,d)=>{const f="input"in c&&c.input!=null,u="inputs"in c&&wR(c.inputs);f&&u&&o.addIssue({code:"custom",message:'A node cannot use both "input" and "inputs". Use one or the other.',path:["nodes",d,"inputs"]})});const a=new Set([...n,...r]),l=new Map,s=new Map;e.nodes.forEach((c,d)=>{for(const f of _R(c,d)){const u=f.value.split(".",1)[0];if(a.has(u)||o.addIssue({code:"custom",message:`Unknown node "${u}" in connection "${f.value}"`,path:f.path}),bR(f)){const p=`${f.nodeName}->${u}`;s.has(p)?o.addIssue({code:"custom",message:`Connection specified on both sides: "${f.nodeName}" outputs to "${u}" and "${u}" inputs from "${f.nodeName}". Specify it on one side only.`,path:f.path}):l.set(p,l.get(p)??f.path)}else{const p=`${u}->${f.nodeName}`;l.has(p)?o.addIssue({code:"custom",message:`Connection specified on both sides: "${u}" outputs to "${f.nodeName}" and "${f.nodeName}" inputs from "${u}". Specify it on one side only.`,path:f.path}):s.set(p,s.get(p)??f.path)}}})}const kR=J.z.enum(ru),CR=J.z.enum(Hn),Sm=e=>Hn.includes(e),Ql=J.z.enum(iu),vm=Ql.options;J.z.union([Ql,kR]);const ER=/^[A-Za-z_][A-Za-z0-9_-]{0,254}$/,xm=J.z.string().min(1).max(255).regex(ER,"Invalid node name (snake_case / kebab-case only)").refine(e=>!Sm(e),"Name clashes with reserved implicit node").brand(),Am=J.z.union([CR,xm]),NR=J.z.string().min(1).brand(),Bt=J.z.string().refine(e=>{if(Am.safeParse(e).success)return!0;const n=e.match(/^([^.]+)\.([^.]+)$/);if(!n)return!1;const[,o,r]=n;return Am.safeParse(o).success&&NR.safeParse(r).success},'Invalid connection, expected "NODE" or "NODE.FIELD"').nullish(),Im=J.z.enum(au),ar=J.z.object({type:J.z.string(),name:xm,input:Bt,inputs:J.z.record(J.z.string(),Bt).nullish(),output:Bt,outputs:J.z.record(J.z.string(),Bt).nullish()}).loose(),SR=J.z.object({type:J.z.string(),name:J.z.string()}).loose().superRefine((e,n)=>{const o=e.type,r=e.name;(typeof r!="string"||r.length===0||r.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"invalid node name",fatal:!1}),vm.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${vm.join(", ")}`})}),vR=ar.extend({type:J.z.literal("call"),method:Im.nullish(),ssl_server_name:J.z.string().min(1).nullish(),timeout:J.z.number().int().min(0).max(2147483646).nullish(),url:J.z.url(),inputs:J.z.object({body:Bt,headers:Bt,query:Bt}).partial().nullish(),outputs:J.z.object({body:Bt,headers:Bt,status:Bt}).partial().nullish()}).strict(),xR=ar.extend({type:J.z.literal("exit"),status:J.z.number().int().min(200).max(599).nullish(),warn_headers_sent:J.z.boolean().nullish(),output:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),AR=ar.extend({type:J.z.literal("jq"),jq:J.z.string().min(1).max(10240),outputs:J.z.never().optional()}).strict(),IR=ar.extend({type:J.z.literal("property"),content_type:J.z.enum(["application/json","text/plain","application/octet-stream"]).nullish(),property:J.z.string().min(1),inputs:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),PR=ar.extend({type:J.z.literal("static"),values:J.z.record(J.z.string(),J.z.unknown()),input:J.z.never().optional(),inputs:J.z.never().optional()}).strict(),TR=SR.pipe(J.z.discriminatedUnion("type",[vR,xR,AR,IR,PR])),OR=J.z.record(J.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),J.z.string().min(1).max(4095)),$R=J.z.object({dictionary_name:J.z.string().default("kong_db_cache")}),BR=J.z.object({host:J.z.string().default("127.0.0.1"),port:J.z.number().int().min(0).max(65535).default(6379)}),VR=J.z.object({ip:J.z.string().default("127.0.0.1"),port:J.z.number().int().min(0).max(65535).default(6379)}),RR=J.z.object({host:J.z.string().optional().default("127.0.0.1"),port:J.z.number().int().min(0).max(65535).optional().default(6379),connect_timeout:J.z.number().int().min(0).max(2147483646).default(2e3),send_timeout:J.z.number().int().min(0).max(2147483646).default(2e3),read_timeout:J.z.number().int().min(0).max(2147483646).default(2e3),username:J.z.string().optional(),password:J.z.string().optional(),sentinel_username:J.z.string().optional(),sentinel_password:J.z.string().optional(),database:J.z.number().int().optional().default(0),keepalive_pool_size:J.z.number().int().min(1).max(2147483646).default(256),keepalive_backlog:J.z.number().int().min(0).max(2147483646).optional(),sentinel_master:J.z.string().optional(),sentinel_role:J.z.enum(["master","slave","any"]).optional(),sentinel_nodes:J.z.array(BR).min(1,{message:"sentinel_nodes must contain at least 1 item"}).optional(),cluster_nodes:J.z.array(VR).min(1,{message:"cluster_nodes must contain at least 1 item"}).optional(),ssl:J.z.boolean().default(!1).optional(),ssl_verify:J.z.boolean().default(!1).optional(),server_name:J.z.string().optional(),cluster_max_redirections:J.z.number().int().default(5).optional(),connection_is_proxied:J.z.boolean().default(!1).optional(),timeout:J.z.number().int().optional(),sentinel_addresses:J.z.array(J.z.string()).min(1).optional(),cluster_addresses:J.z.array(J.z.string()).min(1).optional()}).superRefine((e,n)=>{var c;const o=e.host!==void 0&&e.host!==null,r=e.port!==void 0&&e.port!==null;(o&&!r||!o&&r)&&n.addIssue({code:"custom",message:"host and port must be specified together",path:o?["port"]:["host"]});const i=!!e.sentinel_master,a=!!e.sentinel_role,l=!!((c=e.sentinel_nodes)!=null&&c.length),s=[i,a,l].filter(Boolean).length;s>0&&s<3&&n.addIssue({code:"custom",message:"sentinel_master, sentinel_role and sentinel_nodes must be provided together"}),e.connection_is_proxied===!0&&!o&&n.addIssue({code:"custom",message:"host is required when connection_is_proxied is true (host/port should point to the proxy)",path:["host"]})}),DR=J.z.object({strategy:J.z.enum(["memory","redis"]).optional(),memory:$R,redis:RR}),MR=J.z.object({vault:OR.nullish(),cache:DR.nullish()});J.z.array(J.z.object({id:J.z.string()})),J.z.object({nodes:J.z.array(TR).min(1,"At least one node is required"),debug:J.z.boolean().nullish(),resources:MR.nullish()}).strict().superRefine((e,n)=>{Nm(e,Hn,n)});const Pm=Ql.options,FR=J.z.string().min(1).refine(e=>!e.includes("."),"Invalid node name").refine(e=>!Sm(e),"Node name conflicts with reserved implicit node"),Vt=J.z.string().refine(e=>{if(!e||/\s/.test(e))return!1;const n=e.indexOf(".");if(n===-1)return!0;const o=e.slice(0,n),r=e.slice(n+1);return o.length>0&&r.length>0},"Invalid connection"),lr=J.z.object({type:J.z.string(),name:FR,input:Vt.nullish(),inputs:J.z.record(J.z.string(),Vt.nullish()).nullish(),output:Vt.nullish(),outputs:J.z.record(J.z.string(),Vt.nullish()).nullish()}).loose(),LR=J.z.object({type:J.z.string(),name:J.z.string()}).loose().superRefine((e,n)=>{const o=e.type,r=e.name;(typeof r!="string"||r.length===0||r.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"Invalid node name",fatal:!1}),Pm.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${Pm.join(", ")}`})}),UR=lr.extend({type:J.z.literal("call"),method:Im.nullish(),ssl_server_name:J.z.string().nullish(),timeout:J.z.union([J.z.number(),J.z.string()]).nullish(),url:J.z.string().nullish(),inputs:J.z.object({body:Vt.nullish(),headers:Vt.nullish(),query:Vt.nullish()}).partial().nullish(),outputs:J.z.object({body:Vt.nullish(),headers:Vt.nullish(),status:Vt.nullish()}).partial().nullish()}).strict(),KR=lr.extend({type:J.z.literal("exit"),status:J.z.union([J.z.number(),J.z.string()]).nullish(),warn_headers_sent:J.z.boolean().nullish(),output:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),jR=lr.extend({type:J.z.literal("jq"),jq:J.z.string().nullish(),outputs:J.z.never().optional()}).strict(),qR=lr.extend({type:J.z.literal("property"),content_type:J.z.string().nullish(),property:J.z.string().nullish(),inputs:J.z.never().optional(),outputs:J.z.never().optional()}).strict(),GR=lr.extend({type:J.z.literal("static"),values:J.z.record(J.z.string(),J.z.unknown()).nullish(),input:J.z.never().optional(),inputs:J.z.never().optional()}).strict(),zR=LR.pipe(J.z.discriminatedUnion("type",[UR,KR,jR,qR,GR])),HR=J.z.record(J.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),J.z.string().min(1).max(4095)),YR=J.z.object({dictionary_name:J.z.string().default("kong_db_cache")}),WR=J.z.object(),XR=J.z.object({strategy:J.z.enum(["memory","redis"]).optional(),memory:YR.optional(),redis:WR.optional()}),ZR=J.z.object({vault:HR.nullish(),cache:XR.nullish()}),JR=J.z.object({nodes:J.z.array(zR).nullish(),debug:J.z.boolean().nullish(),resources:ZR.nullish()}).strict().superRefine((e,n)=>{!e||!Array.isArray(e.nodes)||Nm(e,Hn,n)}).nullish(),QR={class:"option-label"},eD=["innerHTML"],tD=we(t.defineComponent({__name:"DatakitForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const{t:n}=je.createI18n("en-us",We),o=e,r=t.inject(Eo.DATAKIT_ENABLE_FLOW_EDITOR,!1),i=t.inject(Eo.DATAKIT_M2,!1),{editorMode:a}=Xa(),l=t.computed(()=>r&&c.value?a.value:"code"),s={flow:Ce.DesignIcon,code:Ce.CodeblockIcon},c=t.ref(!0),d=t.computed(()=>{const _=[{label:n("plugins.free-form.datakit.flow_editor.mode"),value:"flow"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}];return _[0].disabled=!c.value,_}),f=t.computed(()=>{switch(l.value){case"code":return n("plugins.free-form.datakit.description_code");case"flow":return n("plugins.free-form.datakit.description_flow");default:return""}});t.watch(l,()=>{var _;(_=o.onValidityChange)==null||_.call(o,{model:"config",valid:!0})});function u(){var _;(_=o.onValidityChange)==null||_.call(o,{model:"config",valid:!0})}function p(){u()}function m(_){var w;u();const{success:g}=JR.safeParse(_);let y=g;if(!i&&y){const b=_;(w=b==null?void 0:b.resources)!=null&&w.vault&&(y=!1)}c.value=y}function h(_){var g;c.value=!1,(g=o.onValidityChange)==null||g.call(o,{model:"config",valid:!1,error:_})}return(_,g)=>{const y=t.resolveComponent("KTooltip");return t.openBlock(),t.createBlock(Qc,t.mergeProps(o,{class:"dk-form"}),t.createSlots({default:t.withCtx(w=>[t.createVNode(dt,t.mergeProps(w,{tag:"div"}),{default:t.withCtx(()=>[l.value==="flow"?(t.openBlock(),t.createBlock(yR,{key:0,"is-editing":o.isEditing,onChange:p},null,8,["is-editing"])):l.value==="code"?(t.openBlock(),t.createBlock(fN,{key:1,class:"code-editor",editing:o.isEditing,onChange:m,onError:h},null,8,["editing"])):t.createCommentVNode("",!0)]),_:2},1040)]),"plugin-config-description":t.withCtx(()=>[t.createElementVNode("span",{innerHTML:f.value},null,8,eD)]),_:2},[t.unref(r)?{name:"plugin-config-extra",fn:t.withCtx(()=>[t.createVNode(t.unref(xe.KSegmentedControl),{"model-value":l.value,options:d.value,"onUpdate:modelValue":g[0]||(g[0]=w=>a.value=w)},{"option-label":t.withCtx(({option:w})=>[t.createVNode(y,{disabled:c.value||w.value!=="flow",text:t.unref(n)("plugins.free-form.datakit.flow_editor.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",QR,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(s[w.value]))),t.createTextVNode(" "+t.toDisplayString(w.label),1)])]),_:2},1032,["disabled","text"])]),_:1},8,["model-value","options"])]),key:"0"}:void 0]),1040)}}}),[["__scopeId","data-v-6b230b53"]]),Tm=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))typeof o=="string"&&(e[n]=o.split(/\s*,\s*/).filter(Boolean))},Om=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))Array.isArray(o)&&(e[n]=o.join(", "))},nD=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(e,{emit:n}){const o=n,{i18n:{t:r}}=Ve.useI18n(),l={prepareFormData:c=>{var f,u;const d=Rn(c);return(u=(f=d.config)==null?void 0:f.tools)!=null&&u.length&&d.config.tools.forEach(p=>{Om(p.headers),Om(p.query)}),d},hasValue:c=>!!(c!=null&&c.config)},s=c=>{var f,u;const d=Rn(c);(u=(f=d.config)==null?void 0:f.tools)!=null&&u.length&&d.config.tools.forEach(p=>{Tm(p.headers),Tm(p.query)}),o("change",d)};return(c,d)=>(t.openBlock(),t.createBlock(dt,{config:l,data:c.data,schema:c.schema,tag:"div",onChange:s},{default:t.withCtx(()=>[t.createVNode(it,{"as-child":"",name:"config","reset-label-path":"reset"},{tools:t.withCtx(({name:f})=>[t.createVNode(Or,{appearance:"tabs","item-label":(u,p)=>t.unref(r)("plugins.free-form.ai-mcp-proxy.tool_item_label",{index:p+1}),name:f,"sticky-tabs":""},null,8,["item-label","name"])]),_:1}),t.createVNode($r)]),_:1},8,["data","schema"]))}}),oD=t.defineComponent({__name:"AIMcpProxyForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Pe.AUTOFILL_SLOT,o==null?void 0:o[Pe.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(va,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(nD,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),rD=we(t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{}},emits:["change"],setup(e,{emit:n}){const o=n,r=t.computed(()=>{const l=e.schema.fields.find(d=>Object.keys(d)[0]==="config").config.fields,s=[],c=[];for(const d of l){const f=Object.keys(d)[0];d[f].required?s.push(f):c.push(f)}return{required:s,nonRequired:c}}),i={hasValue:l=>!!(l!=null&&l.config)};function a(l){o("change",l)}return(l,s)=>(t.openBlock(),t.createBlock(dt,{config:i,data:l.data,schema:l.schema,tag:"div",onChange:a},{default:t.withCtx(()=>[t.createVNode(it,{"as-child":"",name:"config",omit:r.value.nonRequired,"reset-label-path":"reset"},null,8,["omit"]),t.createVNode($r,{class:"ff-advanced-fields"},{default:t.withCtx(()=>[t.createVNode(it,{"as-child":"",name:"config",omit:r.value.required,"reset-label-path":"reset"},null,8,["omit"])]),_:1})]),_:1},8,["data","schema"]))}}),[["__scopeId","data-v-3e5ed51d"]]),$m=Object.freeze(Object.defineProperty({__proto__:null,AIMcpProxyForm:oD,CommonForm:t.defineComponent({__name:"CommonForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Pe.AUTOFILL_SLOT,o==null?void 0:o[Pe.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Qc,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(rD,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),DatakitForm:tD,RequestCalloutForm:zw,ServiceProtectionForm:Fk},Symbol.toStringTag,{value:"Module"})),iD={class:"kong-ui-entities-plugin-form"},aD={key:1,class:"entity-form"},lD={class:"plugin-config-empty-state"},sD=we(t.defineComponent({__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},entityMap:{type:Object,default:()=>({})},record:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},rawSchema:{type:Object,default:()=>({})},editing:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},enableRedisPartial:{type:Boolean,default:!1},engine:{type:String,required:!1}},emits:["loading","model-updated","showNewPartialModal","globalAction","validity-change"],setup(e,{emit:n}){var de,ye;const o=Object.keys(Pe.sharedForms),r=Object.keys($m);if(new Set([...o,...r]).size!==o.length+r.length)throw new Error("Duplicate form component names found in `sharedForms` and `freeForm`");const i=n,a=e,{axiosInstance:l}=fe.useAxios((de=a.config)==null?void 0:de.axiosRequestConfig),{parseSchema:s}=Ve.useSchemas({entityId:((ye=a.entityMap.focusedEntity)==null?void 0:ye.id)||void 0,credential:a.credential,enableRedisPartial:a.enableRedisPartial,experimentalRenders:a.config.app==="konnect"?a.config.experimentalRenders:void 0}),{convertToDotNotation:c,unFlattenObject:d,dismissField:f,isObjectEmpty:u,unsetNullForeignKey:p}=Ve.usePluginHelpers(),m=Ve.useExperimentalFreeForms(),{objectsAreEqual:h}=fe.useHelpers(),{i18n:{t:_}}=Te(),g=Q=>a.config.app==="konnect"?Q.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"?Q.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:""):Q,y=(Q,oe)=>{let le=`${a.config.apiBaseUrl}${Le.form[a.config.app].entityGetOne}`;return le=g(le),le=le.replace(/{entity}/gi,Q),le=le.replace(/{id}/gi,oe),le},w=Q=>{let oe=`${a.config.apiBaseUrl}${Le.form[a.config.app].entityGetAll}`;return oe=g(oe),oe=oe.replace(/{entity}/gi,Q),oe},b=(Q,oe)=>{const le=y(Q,oe);return l.get(le)},v=(Q,oe)=>{const le=w(Q);return a.config.app==="konnect"?l.get(le).then(ue=>{const{data:{data:ce}}=ue;if(delete oe.size,delete oe.offset,ce.length&&Object.keys(oe).length===1){const T=Object.keys(oe)[0],C=ce.filter(x=>x[T]?!!x[T].toLowerCase().includes(oe[T].toLowerCase()):!1);ue.data.data=C}return ue}):l.get(le,{params:oe})},S=(Q,oe,le)=>{const ue=w(Q);if(a.config.app==="konnect"){const{size:ce,offset:T,...C}=oe;if(Q==="consumer_groups")return l.get(ue,{params:{size:1e3},signal:le}).then(k=>{const{data:{data:$}}=k;if($.length&&Object.keys(C).length===1){const A=Object.keys(C)[0],z=$.filter(X=>X[A]?!!X[A].toLowerCase().includes(C[A].toLowerCase()):!1);k.data.data=z}return k});const x={size:ce,offset:T};for(const k of Object.keys(C))x.filter={[k]:{contains:C[k]}};return l.get(ue,{params:x,signal:le})}return l.get(ue,{params:oe,signal:le})},N=(Q,oe=50)=>{const le=w(Q);return l.get(le,{params:{size:oe}})};t.provide(Pe.FORMS_API_KEY,{getOne:b,getAll:v,getAllV2:S,peek:N}),t.provide(Pe.FORMS_CONFIG,a.config);const I=t.ref(""),O=t.ref(""),F=t.ref(null),H=t.ref({}),q=t.reactive({}),E=t.reactive({}),te=t.computed(()=>{var Q;return(Q=F.value)==null?void 0:Q.options}),P=t.ref(!1),G=t.ref(),R=(Q,oe)=>{P.value=Q??"",G.value=oe},K=Q=>{var oe;(oe=G.value)==null||oe.call(G,Q),P.value=!1},V=()=>{var C,x;const Q={...a.schema},oe=E,le=q,ue=Object.keys(oe),ce={};if(!u(H.value))for(let k=0;k<((x=(C=H.value)==null?void 0:C.fields)==null?void 0:x.length);k++)Q[H.value.fields[k].model]=H.value.fields[k];Pe.customFields.forEach(k=>{Q[k]&&(Q[k].fields.forEach($=>{$.fields&&$.fields.forEach(A=>{Q[A.model]=A}),$.model&&(Q[$.model]=$)}),delete Q[k])}),ue.forEach(k=>{var ge;if(!Q[k]){k==="partials"&&(ce[k]=oe[k]);return}const $=Q[k];let A=oe[k];const z=le[k],X=Array.isArray(A)?"array":typeof A,B=$?$.valueType:null,ee=$?$.valueArrayType:null,U=$?$.transform:null;if(A==null&&z==null&&!$.submitWhenNull)return;if($){if(B&&X!==B)switch(B){case"array":X==="string"&&A.length&&(A=A.split(",").map(he=>{if(he=he.trim(),ee==="string")return String(he);if(ee==="number")return Number(he);if(ee==="boolean"){if(typeof he=="string")return he.toLowerCase()==="true"||he==="1";if(typeof he=="number")return he===1}return he})),(!A||!A.length)&&(A=$.submitWhenNull?null:[]);break;case"number":A=Number(A);break;case"boolean":X==="string"&&(A=A.toLowerCase()==="true"||A==="1"),X==="number"&&(A=A===1);break;case"string":A=A==null?"":String(A);break}else B==="array"&&(!A||!A.length?A=$.submitWhenNull?null:[]:((ge=$.inputAttributes)==null?void 0:ge.type)==="number"&&(A=A.map(he=>Number(he))));if($.type==="array"&&$.nestedFields){const he=ae=>{Object.keys(ae).forEach(pe=>{ae[pe]&&typeof ae[pe]=="object"&&!Array.isArray(ae[pe])&&ae[pe]!==null?he(ae[pe]):(ae[pe]===void 0||ae[pe]===null||typeof ae[pe]=="number"&&isNaN(ae[pe])||typeof ae[pe]=="string"&&ae[pe].trim().length===0)&&delete ae[pe]})};A&&typeof A=="object"&&he(A)}$.type==="object-advanced"&&$.fields&&A!==null&&(Object.entries(A).length===0?A=null:Object.keys(A).forEach(he=>{Array.isArray(A[he])||(A[he]=A[he].split(","))}))}let me=c(k);if($.fieldNameHasDashes){const[he,...ae]=me.split(".").reverse();me=[he.replace(/_/g,"-"),...ae].reverse().join(".")}if(B==="object-expand"){let he;[me,he]=me.split(".");let ae={};ce[me]&&(ae=ce[me]),ae[he]=A,A=ae}z!==void 0&&A===""&&A!==z?ce[me]=B==="object"?{}:null:$.type==="checklist"&&A===""?ce[me]=[]:A!==""&&(ce[me]=A),ce[me]=U?U(A):ce[me],p(me,ce)});const T=d(ce);return O.value&&Object.assign(T,Z.value),T},M=(Q,oe={})=>{f(E,oe,Q,a.editing),i("model-updated",{model:E,originalModel:q,data:V()})},D=(Q,oe)=>{var ce;const le={[oe]:Q};typeof((ce=a.schema[oe])==null?void 0:ce.modelTransformer)=="function"&&(le[oe]=a.schema[oe].modelTransformer(Q));const ue=Object.assign({},E,le);Object.assign(E,ue),i("model-updated",{model:E,originalModel:q,data:V()})},L=Q=>{i("validity-change",Q)},j=(Q,oe)=>{Object.keys(Q).forEach(le=>{var x,k;let ue=oe?`${oe}-${le}`:le,ce=a.schema[ue];if(!ce){const $=oe?`${oe}-${le.replace(/-/g,"_")}`:le.replace(/-/g,"_");(x=a.schema[$])!=null&&x.fieldNameHasDashes&&(ue=$,ce=a.schema[ue]),oe&&((k=a.schema[oe])==null?void 0:k.keyFromObject)===le&&(ue=oe,ce=a.schema[ue])}const T=Q[le],C=typeof T;if(ce&&ce.type==="object-advanced"&&!T){E[ue]={},q[ue]={};return}if(Array.isArray(T)){E[ue]=JSON.parse(JSON.stringify(T)),q[ue]=JSON.parse(JSON.stringify(T));return}if(C==="object"&&T&&!T.length)return j(T,ue);if(C==="object"&&T&&T.length&&ce.type==="input"){E[ue]=T.join(", "),q[ue]=T.join(", ");return}E[ue]=T,q[ue]=T}),i("model-updated",{model:E,originalModel:q,data:V()})},Z=t.shallowRef(a.record),W=Q=>{Z.value=Q,i("model-updated",{model:{...E,...Q},originalModel:q,data:V()})},ne=t.ref(!0),ie=()=>{var Q;if(a.record&&a.schema&&(j({enabled:a.record.enabled??!0,...a.record.instance_name&&{instance_name:a.record.instance_name||""},...a.record.protocols&&{protocols:a.record.protocols},...a.record.tags&&{tags:a.record.tags}}),a.credential?((a.record.consumer_id||a.record.consumer)&&j({consumer_id:a.record.consumer_id||a.record.consumer}),j(a.record)):a.record.config&&((a.record.consumer_id||a.record.consumer||a.record.service_id||a.record.service||a.record.route_id||a.record.route||a.record.consumer_group_id||a.record.consumer_group)&&j({service_id:a.record.service_id||a.record.service,route_id:a.record.route_id||a.record.route,consumer_id:a.record.consumer_id||a.record.consumer,consumer_group_id:a.record.consumer_group_id||a.record.consumer_group}),a.record.partials&&M("redis",{partials:a.record.partials}),O.value?W(a.record):j(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const oe={};for(const le in a.entityMap){const ue=a.entityMap[le].id,ce=a.entityMap[le].idField,T=ce==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(ce).replace("_","-"));Object.prototype.hasOwnProperty.call(E,T)&&(oe[T]=ue)}j(oe)}if((Q=a.entityMap.consumer)!=null&&Q.id&&a.schema&&a.credential){const oe={};Object.prototype.hasOwnProperty.call(E,"consumer")&&(oe.consumer=a.entityMap.consumer.id),j(oe)}ne.value=!1};return t.watch(ne,Q=>{i("loading",Q)}),t.watch(()=>a.schema,(Q,oe)=>{var ue,ce;if(h(Q||{},oe||{}))return;const le=s(Q,void 0,void 0,a.engine);Object.assign(E,le.model),H.value={fields:(ce=(ue=H.value)==null?void 0:ue.fields)==null?void 0:ce.map(T=>({...T,disabled:T.disabled||!1}))},Object.assign(q,JSON.parse(JSON.stringify(le.model))),O.value=a.engine?a.engine==="vfg"?void 0:ga(le.model.name,m)||"CommonForm":ga(le.model.name,m),I.value=Pe.getSharedFormName(le.model.name),ie()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var Q,oe;F.value=s(a.schema,void 0,void 0,a.engine),Object.assign(E,((Q=F.value)==null?void 0:Q.model)||{}),H.value=((oe=F.value)==null?void 0:oe.schema)||{},ie()}),(Q,oe)=>{var ue;const le=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",iD,[ne.value?(t.openBlock(),t.createBlock(le,{key:0,type:"form"})):E.id&&e.editing||!e.editing?(t.openBlock(),t.createElementBlock("div",aD,[O.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent($m[O.value]),{key:0,"form-model":E,"form-options":te.value,"form-schema":H.value,"is-editing":e.editing,model:e.record,"on-form-change":W,"on-model-updated":D,"on-validity-change":L,schema:e.rawSchema,onGlobalAction:oe[0]||(oe[0]=(ce,T)=>Q.$emit("globalAction",ce,T))},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Pe.AUTOFILL_SLOT_NAME),fn:t.withCtx(ce=>[ce.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(co.VaultSecretPickerProvider),t.mergeProps({key:0},ce,{onOpen:R}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing","model","schema"])):I.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Pe.sharedForms)[I.value]),{key:1,"enable-redis-partial":e.enableRedisPartial,"form-model":E,"form-options":te.value,"form-schema":H.value,"is-editing":e.editing,"on-model-updated":D,"on-partial-toggled":M,"show-new-partial-modal":ce=>Q.$emit("showNewPartialModal",ce)},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Pe.AUTOFILL_SLOT_NAME),fn:t.withCtx(ce=>[ce.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(co.VaultSecretPickerProvider),t.mergeProps({key:0},ce,{onOpen:R}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["enable-redis-partial","form-model","form-options","form-schema","is-editing","show-new-partial-modal"])):(t.openBlock(),t.createBlock(t.unref(Pe.VueFormGenerator),{key:2,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,model:E,options:te.value,schema:H.value,onModelUpdated:D,onPartialToggled:M,onRefreshModel:V,onShowNewPartialModal:oe[1]||(oe[1]=ce=>Q.$emit("showNewPartialModal",ce))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",lD,t.toDisplayString(t.unref(_)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(ue=t.unref(St)[E.name])!=null&&ue.fieldRules&&(a.config.isNewOtelSchema||E.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(W0,{rules:t.unref(St)[E.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(Pe.AUTOFILL_SLOT_NAME),fn:t.withCtx(ce=>[ce.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(co.VaultSecretPickerProvider),t.mergeProps({key:0},ce,{onOpen:R}),null,16)):t.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["enable-redis-partial","is-editing","model","options","schema"]))])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(co.VaultSecretPicker),{config:a.config,setup:P.value,onCancel:oe[2]||(oe[2]=()=>P.value=!1),onProceed:K},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-3a5319dd"]]),cD={key:1},dD=t.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(e){return(n,o)=>e.teleportTarget?(t.openBlock(),t.createBlock(t.Teleport,{key:0,to:e.teleportTarget},[t.renderSlot(n.$slots,"default")],8,["to"])):(t.openBlock(),t.createElementBlock("div",cD,[t.renderSlot(n.$slots,"default")]))}}),uD={class:"kong-ui-entities-plugin-form-container"},fD={key:0},pD={class:"plugin-form-actions"},mD=we(t.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},pluginType:{type:String,required:!0},pluginId:{type:String,default:""},hideScopeSelection:{type:Boolean,default:!1},disableScopeSelection:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},developer:{type:Boolean,default:!1},isWizardStep:{type:Boolean,default:!1},actionsTeleportTarget:{type:String,default:""},noCardWrapper:{type:Boolean,default:!1},hideViewConfigAction:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},schema:{type:Object,default:null},enableRedisPartial:{type:Boolean,default:!1},scopedEntitiesPermissions:{type:Object,default:null},engine:{type:String,required:!1}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated","showNewPartialModal","globalAction"],setup(e,{emit:n}){var X;const o=n,r=e,i=so.useRouter(),{i18n:{t:a}}=Ve.useI18n(),{customSchemas:l,typedefs:s}=Ve.useSchemas({app:r.config.app,credential:r.credential,experimentalRenders:r.config.app==="konnect"?r.config.experimentalRenders:void 0}),{formatPluginFieldLabel:c}=Ve.usePluginHelpers(),{getMessageFromError:d}=fe.useErrors(),{capitalize:f}=fe.useStringHelpers(),{objectsAreEqual:u}=fe.useHelpers(),{axiosInstance:p}=fe.useAxios((X=r.config)==null?void 0:X.axiosRequestConfig),m=t.ref(!1),h=t.computed(()=>!!r.pluginId),_=t.computed(()=>r.pluginId?fe.EntityBaseFormType.Edit:fe.EntityBaseFormType.Create),g=t.ref(void 0),y=t.ref(void 0),w=t.computed(()=>!!(r.credential&&r.config.entityId)),b=t.ref(void 0),v=t.ref({}),S=t.ref(),N=t.ref();t.provide(Xc,{redisType:S,redisPath:N,isEditing:h.value});const I=t.ref(!1),O=t.reactive({enabled:!0,protocols:[],tags:[]}),F=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),H=t.ref([{title:a("view_configuration.json"),hash:"#json"},{title:a("view_configuration.yaml"),hash:"#yaml"}]);r.config.app==="konnect"&&H.value.splice(1,0,{title:a("view_configuration.terraform"),hash:"#terraform"});const q=t.ref(""),E=t.computed(()=>{var ee;if(w.value){let U=Le.form[r.config.app].credential[_.value];return U=U.replace(/{resourceEndpoint}/gi,R.value),U}let B;return r.config.entityType&&r.config.entityId?B=Le.form[r.config.app].edit.forEntity.replace(/{entityType}/gi,r.config.entityType).replace(/{entityId}/gi,r.config.entityId):B=Le.form[r.config.app].edit.all,r.config.app==="konnect"&&((ee=St[r.pluginType])!=null&&ee.useUIData)?`${B}?__ui_data=true`:B}),te=()=>{m.value=!m.value},P=t.computed(()=>{var he,ae,pe,Se,Ne,se,re,Be;const B=r.config.entityType==="consumers"&&r.config.entityId||((ae=(he=b.value)==null?void 0:he.consumer)==null?void 0:ae.id),ee=r.config.entityType==="consumer_groups"&&r.config.entityId||((Se=(pe=b.value)==null?void 0:pe.consumer_group)==null?void 0:Se.id),U=r.config.entityType==="services"&&r.config.entityId||((se=(Ne=b.value)==null?void 0:Ne.service)==null?void 0:se.id),me=r.config.entityType==="routes"&&r.config.entityId||((Be=(re=b.value)==null?void 0:re.route)==null?void 0:Be.id);if(!(B||ee||U||me))return{global:{entity:Y.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const ge={};return U&&(ge.service={entity:Y.PluginScope.SERVICE,entityEndpoint:"services",id:U,idField:an.SERVICE}),me&&(ge.route={entity:Y.PluginScope.ROUTE,entityEndpoint:"routes",id:me,idField:an.ROUTE}),B&&(ge.consumer={entity:Y.PluginScope.CONSUMER,entityEndpoint:"consumers",id:B,idField:an.CONSUMER}),ee&&(ge.consumer_group={entity:Y.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:ee,idField:an.CONSUMER_GROUP}),r.config.entityType&&(ge.focusedEntity={entity:Y.PluginScope[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()],entityEndpoint:r.config.entityType,id:r.config.entityId,idField:an[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()]}),ge}),G=t.reactive({name:{default:r.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:a("plugins.form.fields.enabled.label"),textOn:a("plugins.form.fields.enabled.on_text"),textOff:a("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:r.hideScopeSelection&&(r.hideScopeSelection||_.value===fe.EntityBaseFormType.Create&&r.config.entityId)?"foreign":"selectionGroup",disabled:r.disableScopeSelection,inputType:"hidden",styleClasses:"hide-label",fields:[{label:a("plugins.form.scoping.global.label"),description:a("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:a("plugins.form.fields.protocols.help"),label:a("plugins.form.fields.protocols.label"),required:!0,styleClasses:"plugin-protocols-select",type:"multiselect",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}]},instance_name:{default:"",type:"input",label:a("plugins.form.fields.instance_name.label"),inputType:"text",help:a("plugins.form.fields.instance_name.help")},tags:s.tags}),R=t.computed(()=>{var U;const B=r.developer?"developers":"consumers",ee=((U=$n[r.pluginType])==null?void 0:U.endpoint)||"/plugins";return`${B}/${r.config.entityId}${r.developer?"/credentials":""}${ee}`}),K=B=>{const ee=Array.from(new Set(B.map(U=>typeof U)));return ee.length>1?"string":ee[0]},V=(B,ee,U,me)=>{var pe,Se;let ge=ee&&ee.fields||[];const he=l[r.pluginType],ae=(Se=(pe=$n[r.pluginType])==null?void 0:pe.schema)==null?void 0:Se.fields;return Array.isArray(ge)&&(ge=ge.reduce((Ne,se)=>{const re=Object.keys(se)[0];return re.match(/-/g)?Ne[re.replace(/-/g,"_")]={...se[re],fieldNameHasDashes:!0}:Ne[re]=se[re],Ne},{})),Object.keys(ge).sort().forEach(Ne=>{var Ht,sr,cr,dr,ur,fr,pr;const se=ge[Ne];se.type==="set"&&(se.type="array");const re=B?`${B}-${Ne}`:`${Ne}`;if((Ht=he==null?void 0:he.fieldsToDelete)!=null&&Ht.includes(re)){Sc(U,re);return}if(Object.prototype.hasOwnProperty.call(se,"overwrite")||se.hidden)return;if(se.type==="table")return V(re,se.schema,U);if(se.fields)return me&&se.type==="record"?(U[re]={type:"object",model:Ne,schema:{fields:Object.values(V(re,se,{},!0))}},U):V(re,se,U);if(U[re]={id:re,model:Ne},U[re].type=se.type==="boolean"?"checkbox":"input",U[re].required=se.required,U[re].referenceable=se.referenceable,re.startsWith("config-"))if(!me&&se.type==="array"&&(q.value=re),me&&q.value&&re.startsWith(q.value)){const Ie=re.slice(q.value.length+1);U[re].label=Ie.split("-").map(c).join(".")}else U[re].label=c(re);if((B==="config"||B.startsWith("config-"))&&(sr=ge[Ne])!=null&&sr.description&&(U[re].help=mr.marked.parse(ge[Ne].description,{mangle:!1,headerIds:!1})),se.type==="map"){if(U[re].type="object-advanced",U[re].values=se.values,se.values.type==="array"){const{type:Ie}=se.values.elements||{};U[re].schema={fields:[{schema:{fields:[{...Ae,model:re,valueArrayType:Ie==="integer"?"number":Ie||"string",inputAttributes:{...Ae.inputAttributes,type:Ie==="integer"?"number":"text",inputMode:Ie==="integer"?"numeric":"text"}}]}}]}}else se.values.fields&&(U[re].schema={fields:[{type:"object",model:"object",schema:{fields:se.values.fields.map(Ie=>{const st=Object.keys(Ie)[0];return{model:st,type:"input",label:f(st),placeholder:st,inputType:Ie[st].type}})}}]});return U}if(se.enum&&se.type==="array"&&(U[re].type="checklist",U[re].values=se.enum,U[re].multi=!0,U[re].multiSelect=!0),se.one_of&&se.type!=="array"&&(U[re].type="select",U[re].values=se.one_of,U[re].selectOptions={noneSelectedText:a("plugins.form.no_selection")}),se.elements&&se.type==="array"){const Ie=se.elements;if(U[re].referenceable=Ie.referenceable,U[re].elements=Ie,["string","integer","number"].includes(Ie.type)&&!Ie.one_of){const{id:st,help:Ue,label:ve,hint:Oe,values:Re,referenceable:Yt,model:ft}=U[re],{inputAttributes:Li,...fM}=JSON.parse(JSON.stringify(Ae));Li.type=Ie.type==="string"?"text":"number",U[re]={id:st,help:Ue,label:ve,hint:Oe,values:Re,referenceable:Yt,model:ft,inputAttributes:Li,...fM}}}if(se.hint&&(U[re].hint=se.hint),he&&!he.overwriteDefault&&Object.keys(he).forEach(Ie=>{if(Ie===re){const{help:st,label:Ue,hint:ve,values:Oe,referenceable:Re,elements:Yt}=U[re],{help:ft,...Li}=he[Ie];U[re]={help:st,label:Ue,hint:ve,values:Oe,referenceable:Re,elements:Yt,...Li},typeof ft=="string"&&(U[re].help=mr.marked.parse(ft,{mangle:!1,headerIds:!1}))}}),se.type==="array"&&((cr=se.elements)==null?void 0:cr.type)==="record"&&Array.isArray(se.elements.fields)){let Ie={};for(const Ue of se.elements.fields)Ie={...Ie,...Ue};const st=(fr=(ur=(dr=U[re])==null?void 0:dr.items)==null?void 0:ur.schema)==null?void 0:fr.fields;if(Array.isArray(st))for(const Ue of U[re].items.schema.fields){const ve=(pr=Ie[Ue.model])==null?void 0:pr.description;Ue.help===void 0&&typeof ve=="string"&&(Ue.help=mr.marked.parse(ve,{mangle:!1,headerIds:!1}))}if(st||(U[re].type="array",U[re].newElementButtonLabelClasses="kong-form-new-element-button-label",U[re].fieldClasses="array-card-container-wrapper",U[re].itemContainerComponent="FieldArrayCardContainer",U[re].items={type:"object",schema:{fields:Object.values(V(re,se.elements,{},!0))}},U[re].items.schema.fields.forEach(Ue=>{var ve,Oe;for(const Re of se.elements.fields){const Yt=Object.keys(Re)[0],ft=((Oe=(ve=Ue.id)==null?void 0:ve.split)==null?void 0:Oe.call(ve,"-"))??[];if(ft[ft.length-1]===Yt){Ue.model=Yt,Ue.label=c(Yt);break}}}),se.elements.type==="record"&&(U[re].nestedFields=!0)),!U[re].nestedFields)U[re].items.default=()=>se.elements.fields.reduce((Ue,ve)=>{const Oe=Object.keys(ve)[0];return Ue[Oe]=ve[Oe].default,Ue},{});else{const Ue=(ve,Oe)=>{if(ve.type==="object"){ve.model&&(Oe[ve.model]={});for(const Re of ve.schema.fields)Ue(Re,ve.model?Oe[ve.model]:Oe)}else ve.model&&(Oe[ve.model]=ve.default)};U[re].items.default=()=>{const ve={};return Ue(U[re].items,ve),ve}}}if(w.value&&ae){for(let Ie=0;Ie<ae.length;Ie++)if(ae[Ie][re]){U[re]={...U[re],...ae[Ie][re]};break}}if(se.required&&se.type!=="boolean"&&(U[re].required=!0,U[re].selectOptions={hideNoneSelectedText:!0}),se.required&&se.type==="boolean"&&(U[re].default=se.default??!1),se.default!=null&&typeof se.default!="object"&&se.default!=="function"&&(U[re].default=se.default),U[re].type==="input"){["string","number"].includes(typeof U[re].default)&&r.config.app==="konnect"&&(U[re].placeholder=`Default: ${U[re].default===""?"<empty string>":U[re].default}`);const{type:Ie}=se.elements||{};Ie&&(U[re].valueArrayType=Ie==="integer"?"number":Ie),U[re].inputType=se.type==="array"||se.type==="string"?se.encrypted?"password":"text":se.type}let Be="string";se.enum?Be=K(se.enum):se.type==="boolean"?Be="boolean":se.type==="number"||se.type==="integer"?(Be="number",U[re].inputType="number"):se.type==="array"?(Be="array",U[re].default=se.default,se.len_min>0&&(U[re].submitWhenNull=!0)):se.type==="foreign"?Be="object":se.default&&Array.isArray(se.default)?(Be="array",U[re].valueArrayType=K(se.default)):se.default&&(Be=typeof se.default),U[re].valueType=Be,se.fieldNameHasDashes&&(U[re].fieldNameHasDashes=!0)}),U},M=()=>{var re,Be,Ht,sr,cr,dr,ur,fr,pr,Ie,st,Ue;const B=((re=St[r.pluginType])==null?void 0:re.scope.includes(Y.PluginScope.SERVICE))??!0,ee=((Be=St[r.pluginType])==null?void 0:Be.scope.includes(Y.PluginScope.ROUTE))??!0,U=((Ht=St[r.pluginType])==null?void 0:Ht.scope.includes(Y.PluginScope.CONSUMER))??!0,me=r.config.disableConsumerGroupScope?!1:((sr=St[r.pluginType])==null?void 0:sr.scope.includes(Y.PluginScope.CONSUMER_GROUP))??!0,ge=r.config.entityType==="consumers"&&!!r.config.entityId||!!((dr=(cr=b.value)==null?void 0:cr.consumer)!=null&&dr.id),he=r.config.entityType==="consumer_groups"&&!!r.config.entityId||!!((fr=(ur=b.value)==null?void 0:ur.consumer_group)!=null&&fr.id),ae=r.config.entityType==="services"&&!!r.config.entityId||!!((Ie=(pr=b.value)==null?void 0:pr.service)!=null&&Ie.id),pe=r.config.entityType==="routes"&&!!r.config.entityId||!!((Ue=(st=b.value)==null?void 0:st.route)!=null&&Ue.id),Se=[],Ne=(ve,Oe,Re)=>ve?a("plugins.form.disable_source_scope_change",{scope:Re}):Oe?a("plugins.form.disable_data_retrieving",{scope:Re}):"",se=ve=>{var Oe,Re;return((Re=(Oe=r.scopedEntitiesPermissions)==null?void 0:Oe[ve])==null?void 0:Re.canRetrieve)===!1};if(B){const ve=se("service"),Oe="services",Re=ae&&r.disableScopeSelection;Se.push({id:"service-id",model:"service-id",label:a("plugins.form.scoping.gateway_service.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",labelField:"name",entity:Oe,inputValues:{fields:["name","id"]},help:a("plugins.form.scoping.gateway_service.help"),disabled:Re||ve,disabledTooltip:Ne(Re,ve,Oe)})}if(ee){const ve=se("route"),Oe="routes",Re=pe&&r.disableScopeSelection;Se.push({id:"route-id",model:"route-id",label:a("plugins.form.scoping.route.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Oe,labelField:"name",inputValues:{fields:["name","id"],primaryField:"id"},help:a("plugins.form.scoping.route.help"),disabled:Re||ve,disabledTooltip:Ne(Re,ve,Oe)})}if(U){const ve=se("consumer"),Oe="consumers",Re=ge&&r.disableScopeSelection;Se.push({model:"consumer-id",label:a("plugins.form.scoping.consumer.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Oe,labelField:"username",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:a("plugins.form.scoping.consumer.help"),disabled:Re||ve,disabledTooltip:Ne(Re,ve,Oe)})}if(me){const ve=se("consumer_group"),Oe="consumer_groups",Re=he&&r.disableScopeSelection;Se.push({model:"consumer_group-id",label:a("plugins.form.scoping.consumer_group.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Oe,entityDataKey:"consumer_group",labelField:"name",inputValues:{fields:["name","id"],primaryField:"name"},help:a("plugins.form.scoping.consumer_group.help"),disabled:Re||ve,disabledTooltip:Ne(Re,ve,Oe)})}if(Se.length){const ve=[...B?["service"]:[],...ee?["route"]:[],...U?["consumer"]:[],...me?["consumer_group"]:[]],Re=ve.splice(ve.length-2,2).map(ft=>a(ft==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ft}.plural`)).join(`${ve.length>0?",":""} and/or `),Yt=["Specific",[...ve.length>0?[ve.map(ft=>a(ft==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ft}.plural`)).join(", ")]:[],Re].join(", ")].join(" ");G.selectionGroup.fields.push({label:a("plugins.form.scoping.label"),description:Yt,fields:[]}),G.selectionGroup.fields[1].fields=Se}l[r.pluginType]&&l[r.pluginType].overwriteDefault&&Object.hasOwnProperty.call(l[r.pluginType],"formSchema")&&Object.assign(G,l[r.pluginType].formSchema)},D=t.computed(()=>!u(F.fields,O,!0)),L=t.computed(()=>!A.value&&!I.value&&(_.value===fe.EntityBaseFormType.Create||D.value)),j=t.ref(!1),Z=t.ref(),W=B=>{r.credential&&B.password&&(B.password=""),F.fields.id=(B==null?void 0:B.id)||void 0,Z.value=B==null?void 0:B.ordering,Object.assign(O,F.fields),b.value=B,j.value=!0},ne=t.ref({}),ie=B=>{var ee;F.fields=B.model,F.fields.id=((ee=b.value)==null?void 0:ee.id)||void 0,Object.assign(O,B.originalModel),ne.value=B.data,r.isWizardStep&&o("model-updated",{model:F.fields,data:B.data,resourceEndpoint:R.value})},de=t.ref(new Map),ye=t.computed(()=>[F.clientErrorMessage,F.serverErrorMessage].filter(Boolean).join("; ")),Q=B=>{B.valid?de.value.delete(B.model):de.value.set(B.model,B.error),F.clientErrorMessage=[...de.value.entries()].map(([ee,U])=>`${ee}: ${typeof U=="string"?U:d(U)}`).join("; "),F.clientErrorMessage&&(F.serverErrorMessage="")};t.watch([P,j],(B,ee)=>{const U=B[0]!==ee[0],me=B[1],ge=ee[1];if(!w.value&&_.value===fe.EntityBaseFormType.Edit&&(U||me&&me!==ge)){const he=V("config",v.value,G);ce.value&&(he._isCustomPlugin=!0),S.value&&(he._supported_redis_partial_type=S.value),y.value=he}},{deep:!0});const oe=()=>{r.config.cancelRoute?i.push(r.config.cancelRoute):o("cancel")},le=t.computed(()=>{let B=`${r.config.apiBaseUrl}${Le.form[r.config.app].validate}`;return r.config.app==="konnect"?B=B.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(B=B.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),B=B.replace(/{id}/gi,r.pluginId),B}),ue=t.computed(()=>{const B=r.config.entityType&&r.config.entityId&&!r.developer,ee=w.value?Le.form[r.config.app].credential[_.value]:Le.form[r.config.app][_.value][B?"forEntity":"all"];let U=`${r.config.apiBaseUrl}${ee}`;return r.config.app==="konnect"?U=U.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(U=U.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),U=U.replace(/{resourceEndpoint}/gi,R.value),U=U.replace(/{id}/gi,r.pluginId),U=U.replace(/{entityType}/gi,r.config.entityType||""),U=U.replace(/{entityId}/gi,r.config.entityId||""),U}),ce=t.computed(()=>!Object.keys(St).includes(r.pluginType)),T=t.computed(()=>{const B=ne.value;if(w.value){for(const ee in Y.PluginScope){const U=Y.PluginScope[ee];B[U]&&!B[U].id&&(B[U]={id:r.config.entityId})}delete B.created_at}return ne.value.partials&&N.value&&Sc(B,N.value),B}),C=t.computed(()=>{const{__ui_data:B,...ee}={...T.value};return ee}),x=async()=>{if(!F.clientErrorMessage&&!r.isWizardStep)try{F.isReadonly=!0;let B;const ee=JSON.parse(JSON.stringify(T.value)),U=l[r.pluginType];typeof(U==null?void 0:U.shamefullyTransformPayload)=="function"&&U.shamefullyTransformPayload({originalModel:O,model:F.fields,payload:ee,schema:y.value}),!w.value&&!ce.value&&await p.post(le.value,ee),_.value==="create"?B=await p.post(ue.value,ee):_.value==="edit"&&(B=r.config.app==="konnect"||S.value&&ee.partials?await p.put(ue.value,Object.assign({ordering:Z.value},ee)):await p.patch(ue.value,ee)),Object.assign(O,F.fields),o("update",B==null?void 0:B.data)}catch(B){F.serverErrorMessage=d(B),o("error",B)}finally{F.isReadonly=!1}},k=t.computed(()=>{var me;const B=w.value?(me=$n[r.pluginType])==null?void 0:me.schemaEndpoint:r.pluginType,ee=w.value?Le.form[r.config.app].credentialSchema:Le.form[r.config.app].pluginSchema;let U=`${r.config.apiBaseUrl}${ee}`;return r.config.app==="konnect"?U=U.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(U=U.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),U=U.replace(/{plugin}/gi,B),U}),$=t.ref(""),A=t.ref(!1),z=t.ref("");return t.onBeforeMount(async()=>{var B,ee,U,me;A.value=!0;try{if(w.value&&r.config.app==="konnect"){const ge=(B=$n[r.pluginType])==null?void 0:B.schemaEndpoint,he=Xm[ge];$.value=ge,y.value=V("",he,{}),A.value=!1}else{const ge=r.schema??(await p.get(k.value)).data;if(g.value=ge,ge)if(w.value)y.value=V("",ge,{}),A.value=!1;else{const he=ge.fields.find(pe=>pe.config);v.value=he?he.config:ge,ge.supported_partials&&(S.value=Object.keys(ge.supported_partials).find(pe=>[hr.REDIS_CE,hr.REDIS_EE].includes(pe)),N.value=(ee=ge.supported_partials[S.value])==null?void 0:ee[0]),M();const ae=(U=ge.fields.find(pe=>pe.protocols))==null?void 0:U.protocols;if(ae){const{default:pe=[],elements:Se={}}=ae;G.protocols.default=pe,G.protocols.placeholder=r.config.app==="konnect"?a("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:pe.join(", ")}):a("plugins.form.fields.protocols.placeholder"),(me=Se.one_of)!=null&&me.length&&(G.protocols.values=Se.one_of.map(Ne=>({label:Ne,value:Ne})))}if(j.value||_.value===fe.EntityBaseFormType.Create){const pe=V("config",v.value,G);S.value&&(pe._supported_redis_partial_type=S.value),ce.value&&(pe._isCustomPlugin=!0),y.value=pe}}}}catch(ge){console.error(ge),z.value=d(ge),o("error:fetch-schema",ge)}finally{A.value=!1}}),(B,ee)=>{const U=t.resolveComponent("KSkeleton"),me=t.resolveComponent("KEmptyState"),ge=t.resolveComponent("KButton"),he=t.resolveComponent("KTabs"),ae=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",uD,[A.value?(t.openBlock(),t.createBlock(U,{key:0,type:"form"})):z.value?(t.openBlock(),t.createBlock(me,{key:1,"action-button-visible":!1,"data-testid":"plugin-form-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(t.unref(a)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(fe.EntityBaseForm),{key:2,"can-submit":L.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(fe.SupportedEntityType).Plugin,"error-message":ye.value,"fetch-url":E.value,"form-fields":T.value,"is-readonly":F.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:oe,"onFetch:error":ee[4]||(ee[4]=pe=>B.$emit("error",pe)),"onFetch:success":W,onLoading:ee[5]||(ee[5]=pe=>B.$emit("loading",pe))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",fD)):(t.openBlock(),t.createBlock(dD,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",pD,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(ge,{key:0,appearance:"tertiary","data-testid":`plugin-${h.value?"edit":"create"}-form-view-configuration`,onClick:ee[3]||(ee[3]=pe=>te())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(ge,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${h.value?"edit":"create"}-form-cancel`,disabled:F.isReadonly,onClick:oe},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(ge,{appearance:"primary","data-testid":`plugin-${h.value?"edit":"create"}-form-submit`,disabled:!L.value||F.isReadonly,type:"submit",onClick:x},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:x},null,32),t.createVNode(sD,{config:e.config,credential:w.value,editing:_.value===t.unref(fe.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":r.enableVaultSecretPicker,engine:e.engine,"entity-map":P.value,"raw-schema":g.value,record:b.value,schema:y.value,onGlobalAction:ee[0]||(ee[0]=(pe,Se)=>B.$emit("globalAction",pe,Se)),onLoading:ee[1]||(ee[1]=pe=>I.value=pe),onModelUpdated:ie,onShowNewPartialModal:ee[2]||(ee[2]=pe=>B.$emit("showNewPartialModal",pe)),onValidityChange:Q},null,8,["config","credential","editing","enable-redis-partial","enable-vault-secret-picker","engine","entity-map","raw-schema","record","schema"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly","wrapper-component"])),t.createVNode(ae,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(a)("view_configuration.title"),visible:m.value,onClose:te},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("view_configuration.message")),1),t.createVNode(he,{"data-testid":"form-view-configuration-slideout-tabs",tabs:H.value},{json:t.withCtx(()=>[t.createVNode(t.unref(fe.JsonCodeBlock),{config:e.config,"entity-record":C.value,"fetcher-url":ue.value,"request-method":r.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(fe.YamlCodeBlock),{"entity-record":C.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(fe.TerraformCodeBlock),{"credential-type":$.value,"entity-record":C.value,"entity-type":t.unref(fe.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-4e00808e"]]),gD={class:"kong-ui-entities-plugins-list"},hD={class:"button-row"},yD={class:"name-cell-wrapper"},_D={class:"info-wrapper"},bD={key:0,class:"info-name"},wD={key:1,class:"info-name"},kD={key:2,class:"info-type"},CD={key:1},ED=we(t.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.createRoute||!e.getViewRoute||!e.getEditRoute||!e.getConfigureDynamicOrderingRoute||e.app==="kongManager"&&!e.isExactMatch&&!e.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canToggle:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},canRetrieveScopedEntity:{type:Function,required:!1,default:async()=>!0},canConfigureDynamicOrdering:{type:Function,required:!1,default:async()=>!0},title:{type:String,default:""},titleTag:{type:String,default:"h2"},useActionOutside:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success","toggle-enabled"],setup(e,{emit:n}){var k,$;const o=Ve.usePluginMetaData(),r=n,i=e,{i18n:{t:a}}=Ve.useI18n(),l=so.useRouter(),{axiosInstance:s}=fe.useAxios((k=i.config)==null?void 0:k.axiosRequestConfig),{hasRecords:c,handleStateChange:d}=fe.useTableState(()=>b.value),f=t.computed(()=>c.value&&i.config.app==="konnect"),u=t.computed(()=>!!i.config.entityId),p=t.computed(()=>{var A;return((A=i.config)==null?void 0:A.entityType)==="consumers"}),m=t.computed(()=>{var A;return((A=i.config)==null?void 0:A.entityType)==="consumer_groups"}),h=i.config.app==="konnect"||fe.useGatewayFeatureSupported({gatewayInfo:i.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),_=t.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),g={name:{label:a("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};($=i.config)!=null&&$.entityId||(g.appliedTo={label:a("plugins.list.table_headers.applied_to"),sortable:!1}),g.enabled={label:a("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},h&&(g.ordering={label:a("plugins.list.table_headers.ordering"),sortable:!0}),g.tags={label:a("plugins.list.table_headers.tags"),sortable:!1};const y=g,w=t.computed(()=>{var z,X,B,ee;let A=i.config.entityType?`${i.config.apiBaseUrl}${Le.list[i.config.app].forEntity}`:`${i.config.apiBaseUrl}${Le.list[i.config.app].all}`;return i.config.app==="konnect"?A=A.replace(/{controlPlaneId}/gi,((z=i.config)==null?void 0:z.controlPlaneId)||""):i.config.app==="kongManager"&&(A=A.replace(/\/{workspace}/gi,(X=i.config)!=null&&X.workspace?`/${i.config.workspace}`:"")),A.replace(/{entityType}/gi,((B=i.config)==null?void 0:B.entityType)||"").replace(/{entityId}/gi,((ee=i.config)==null?void 0:ee.entityId)||"")}),b=t.ref(""),v=t.computed(()=>i.config.app==="konnect"||i.config.isExactMatch?{isExactMatch:!0,fields:{name:g.name,id:{label:a("plugins.list.table_headers.id"),sortable:!0}},placeholder:a(`search.placeholder.${i.config.isExactMatch?"exact":i.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...g.enabled,label:a("search.filter.field.enabled")},name:g.name,instance_name:{label:a("plugins.list.table_headers.instance_name"),searchable:!0}},schema:i.config.filterSchema}),{fetcher:S,fetcherState:N,fetcherCacheKey:I}=fe.useFetcher(t.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),w),O=()=>{b.value=""},F=()=>{I.value++},H=t.ref(null),q=A=>{var X,B,ee,U;const z=[];return((X=A.route)!=null&&X.id||A.route_id)&&z.push({type:"route",badgeText:a("plugins.list.table_headers.applied_to_badges.route")}),((B=A.service)!=null&&B.id||A.service_id)&&z.push({type:"service",badgeText:a("plugins.list.table_headers.applied_to_badges.service")}),((ee=A.consumer)!=null&&ee.id||A.consumer_id)&&z.push({type:"consumer",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer")}),((U=A.consumer_group)!=null&&U.id||A.consumer_group_id)&&z.push({type:"consumer_group",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer_group")}),z.length?z:[{type:null,badgeText:a("plugins.list.table_headers.applied_to_badges.global")}]},E=async(A,z)=>{var X;return A===null?!1:await((X=i.canRetrieveScopedEntity)==null?void 0:X.call(i,A,z.id))},te=(A,z)=>{var B,ee,U,me,ge;let X=null;switch(A){case"route":X=(B=z.route)==null?void 0:B.id;break;case"service":X=(ee=z.service)==null?void 0:ee.id;break;case"consumer":X=(U=z.consumer)==null?void 0:U.id;break;case"consumer_group":X=(me=z.consumer_group)==null?void 0:me.id;break}X&&((ge=i.config)!=null&&ge.getScopedEntityViewRoute)&&l.push(i.config.getScopedEntityViewRoute(A,X))},P=t.ref(!1),G=t.ref(null),R=t.computed(()=>{const A={action:"disable",id:"",name:""};if(G.value){const{enabled:z,id:X,name:B}=G.value;A.action=z?"disable":"enable",A.id=X,A.name=o.getDisplayName(B)||X}return A}),K=A=>{P.value=!0,G.value=A},V=()=>{P.value=!1,G.value=null},M=async()=>{var B,ee,U,me,ge,he,ae,pe;if(!await((B=i.canEdit)==null?void 0:B.call(i,G.value))||!G.value)return;let z=`${i.config.apiBaseUrl}${(ge=Le.item[i.config.app])==null?void 0:ge[(ee=i.config)!=null&&ee.entityType?"forEntity":"all"].replace(/{entityType}/gi,((U=i.config)==null?void 0:U.entityType)||"").replace(/{entityId}/gi,((me=i.config)==null?void 0:me.entityId)||"")}`.replace(/{id}/gi,G.value.id||"");i.config.app==="konnect"?z=z.replace(/{controlPlaneId}/gi,((he=i.config)==null?void 0:he.controlPlaneId)||""):i.config.app==="kongManager"&&(z=z.replace(/\/{workspace}/gi,(ae=i.config)!=null&&ae.workspace?`/${i.config.workspace}`:""));const X=!G.value.enabled;try{const{data:Se}=((pe=i.config)==null?void 0:pe.app)==="konnect"?await s.put(z,{...G.value,enabled:X},{timeout:12e4}):await s.patch(z,{...G.value,enabled:X},{timeout:12e4});r("toggle-enabled",X,Se),G.value.enabled=X}catch(Se){r("error",Se)}},D=async(A,z)=>{const X=A.id;if(!await z(X)){r("copy:error",{entity:A,field:"id",message:a("errors.copy")});return}r("copy:success",{entity:A,field:"id",message:a("copy.success",{val:X})})},L=async(A,z)=>{const X=JSON.stringify(A);if(!await z(X)){r("copy:error",{entity:A,message:a("errors.copy")});return}r("copy:success",{entity:A,message:a("copy.success_brief")})},j=async A=>{var X;await((X=i.canRetrieve)==null?void 0:X.call(i,A))&&l.push(i.config.getViewRoute(A))},Z=A=>({label:a("actions.view"),to:i.config.getViewRoute(A)}),W=A=>({label:a("actions.edit"),to:i.config.getEditRoute(A)}),ne=A=>({label:a("actions.configure_dynamic_ordering"),to:i.config.getConfigureDynamicOrderingRoute(A)}),ie=t.ref(void 0),de=t.ref(!1),ye=t.ref(!1),Q=t.ref(""),oe=fe.useDeleteUrlBuilder(i.config,w.value),le=A=>{ie.value=A,de.value=!0},ue=()=>{de.value=!1},ce=async()=>{var A,z,X;if((A=ie.value)!=null&&A.id){ye.value=!0;try{await s.delete(oe(ie.value.id)),ye.value=!1,de.value=!1,I.value++,r("delete:success",ie.value)}catch(B){Q.value=((X=(z=B.response)==null?void 0:z.data)==null?void 0:X.message)||B.message||a("errors.delete"),r("error",B)}finally{ye.value=!1}}},T=()=>{l.push(i.config.createRoute)};t.watch(N,A=>{var z,X,B;if(A.status===fe.FetcherStatus.Error){H.value={title:a("errors.general")},(B=(X=(z=A.error)==null?void 0:z.response)==null?void 0:X.data)!=null&&B.message&&(H.value.message=A.error.response.data.message),r("error",A.error);return}H.value=null});const C=t.ref({ctaPath:i.config.createRoute,ctaText:void 0,message:`${a("plugins.list.empty_state.description")}${i.config.additionMessageForEmptyState?` ${i.config.additionMessageForEmptyState}`:""}`,title:a("plugins.title")}),x=t.ref(!1);return t.onBeforeMount(async()=>{x.value=await i.canCreate(),x.value&&(C.value.title=a("plugins.list.empty_state.title"),C.value.ctaText=a("actions.create"))}),(A,z)=>{const X=t.resolveComponent("KButton"),B=t.resolveComponent("KEmptyState"),ee=t.resolveComponent("KBadge"),U=t.resolveComponent("KTruncate"),me=t.resolveComponent("KInputSwitch"),ge=t.resolveComponent("KDropdownItem"),he=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",gD,[t.createVNode(t.unref(fe.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":_.value,"empty-state-options":C.value,"enable-entity-actions":"","error-message":H.value,fetcher:t.unref(S),"fetcher-cache-key":t.unref(I),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:b.value,"table-headers":t.unref(y),title:e.title,"title-tag":e.titleTag,onClearSearchInput:O,"onClick:row":z[4]||(z[4]=ae=>j(ae)),onSort:F,onState:t.unref(d)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(fe.EntityFilter),{modelValue:b.value,"onUpdate:modelValue":z[0]||(z[0]=ae=>b.value=ae),config:v.value},null,8,["modelValue","config"])]),"toolbar-button":t.withCtx(()=>[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!e.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[t.createElementVNode("div",hD,[!u.value&&f.value?(t.openBlock(),t.createBlock(X,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:z[1]||(z[1]=ae=>A.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(fe.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(X,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:t.withCtx(({row:ae})=>[t.createElementVNode("div",yD,[t.createVNode(t.unref(fo.PluginIcon),{class:"plugin-icon",name:ae.name,size:24},null,8,["name"]),t.createElementVNode("div",_D,[ae.instance_name?(t.openBlock(),t.createElementBlock("span",bD,t.toDisplayString(ae.instance_name),1)):(t.openBlock(),t.createElementBlock("span",wD,t.toDisplayString(t.unref(o).getDisplayName(ae.name)),1)),ae.instance_name?(t.openBlock(),t.createElementBlock("span",kD,t.toDisplayString(t.unref(o).getDisplayName(ae.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:ae})=>[q(ae).length>0?(t.openBlock(),t.createBlock(U,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(q(ae),pe=>(t.openBlock(),t.createBlock(t.unref(fe.PermissionsWrapper),{key:pe.badgeText,"auth-function":()=>E(pe.type,ae),"force-show":""},{default:t.withCtx(({isAllowed:Se})=>[t.createVNode(ee,{class:t.normalizeClass(Se||"disabled"),onClick:t.withModifiers(Ne=>Se&&pe.type&&te(pe.type,ae),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(pe.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",CD,"-"))]),enabled:t.withCtx(({row:ae})=>[t.createVNode(t.unref(fe.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(ae)&&await e.canToggle(ae)),"force-show":""},{default:t.withCtx(({isAllowed:pe})=>{var Se,Ne;return[t.createElementVNode("div",{onClick:z[3]||(z[3]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(me,{disabled:!pe,"disabled-tooltip-text":!pe&&((Ne=(Se=e.config).getToggleDisabledTooltip)==null?void 0:Ne.call(Se,ae))||void 0,"model-value":ae.enabled,onClick:t.withModifiers(se=>pe&&K(ae),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:ae})=>[t.createVNode(ee,{appearance:t.unref(Cc)(ae)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(Cc)(ae)?t.unref(a)("plugins.list.table_headers.ordering_badge.static"):t.unref(a)("plugins.list.table_headers.ordering_badge.dynamic")),1)]),_:2},1032,["appearance"])]),tags:t.withCtx(({rowValue:ae})=>[t.createVNode(t.unref(fe.TableTags),{tags:ae},null,8,["tags"])]),actions:t.withCtx(({row:ae})=>[t.createVNode(he,null,{default:t.withCtx(({copyToClipboard:pe})=>[t.createVNode(ge,{"data-testid":"action-entity-copy-id",onClick:Se=>D(ae,pe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(he,null,{default:t.withCtx(({copyToClipboard:pe})=>[t.createVNode(ge,{"data-testid":"action-entity-copy-json",onClick:Se=>L(ae,pe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(fe.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(ae)},{default:t.withCtx(()=>[t.createVNode(ge,{"data-testid":"action-entity-view","has-divider":"",item:Z(ae)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(fe.PermissionsWrapper),{"auth-function":()=>e.canEdit(ae)},{default:t.withCtx(()=>[t.createVNode(ge,{"data-testid":"action-entity-edit",item:W(ae)},null,8,["item"])]),_:2},1032,["auth-function"]),!p.value&&!m.value&&t.unref(h)?(t.openBlock(),t.createBlock(t.unref(fe.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(ae)},{default:t.withCtx(()=>[ne(ae)?(t.openBlock(),t.createBlock(ge,{key:0,"data-testid":"action-entity-config-dyn-order",item:ne(ae)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(fe.PermissionsWrapper),{"auth-function":()=>e.canDelete(ae)},{default:t.withCtx(()=>[t.createVNode(ge,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:pe=>le(ae)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!b.value&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>{var ae;return[t.createVNode(B,{"data-testid":e.config.entityId?"nested-plugins-entity-empty-state":"plugins-entity-empty-state","icon-background":"",message:t.unref(a)("plugins.list.empty_state_v2.description"),title:t.unref(a)("plugins.list.empty_state_v2.title")},t.createSlots({icon:t.withCtx(()=>[t.createVNode(t.unref(Ce.PlugIcon),{decorative:""})]),action:t.withCtx(()=>[x.value?(t.openBlock(),t.createBlock(X,{key:0,"data-testid":"entity-create-button",onClick:T},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.AddIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.create_cta")),1)]),_:1})):t.createCommentVNode("",!0),t.createVNode(X,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:z[2]||(z[2]=pe=>A.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.BookIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[(ae=e.config)!=null&&ae.isControlPlaneGroup?{name:"default",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["data-testid","message","title"])]}),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","title","title-tag","onState"]),t.createVNode(t.unref(fe.EntityToggleModal),{action:R.value.action,"entity-id":R.value.id,"entity-name":R.value.name,"entity-type":t.unref(a)("glossary.plugin"),"on-confirm":M,visible:P.value,onCancel:V,onProceed:V},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(fe.EntityDeleteModal),{"action-pending":ye.value,description:t.unref(a)("delete.description"),"entity-name":ie.value&&(ie.value.instance_name||ie.value.name||ie.value.id),"entity-type":t.unref(fe.EntityTypes).Plugin,error:Q.value,title:t.unref(a)("delete.title"),visible:de.value,onCancel:ue,onProceed:ce},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-582a936c"]]),ND={class:"plugin-select-card-wrapper"},SD=["data-testid"],vD={class:"plugin-card-header"},xD={class:"plugin-card-title"},AD={key:0,class:"plugin-card-actions"},ID=["data-testid","title"],PD={key:0,class:"plugin-card-text"},TD={key:0},OD=["title"],es=we(t.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},plugin:{type:Object,required:!0},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const o=n,r=e,i=so.useRouter(),{i18n:{t:a}}=Ve.useI18n(),l=t.computed(()=>r.config.app==="konnect"?r.config.controlPlaneId:""),s=t.computed(()=>!!(!r.plugin.available||r.plugin.disabledMessage)),c=t.computed(()=>!!(m.value&&!p.value&&r.navigateOnClick&&l.value&&(r.canDeleteCustomPlugin||r.canEditCustomPlugin))),d=()=>{i.push(r.config.getCreateRoute(r.plugin.id))},f=()=>{r.navigateOnClick?d():u()},u=()=>{o("plugin-clicked",r.plugin)},p=t.computed(()=>r.plugin.id==="custom-plugin-create"),m=t.computed(()=>r.config.app==="konnect"&&r.plugin.group===Y.PluginGroup.CUSTOM_PLUGINS),h=()=>{r.config.app==="konnect"&&o("custom-plugin-delete")},_=(y,w)=>{const b=r.config;r.config.app==="konnect"&&typeof b.getCustomEditRoute=="function"&&b.getCustomEditRoute&&i.push(b.getCustomEditRoute(y,w))},g=()=>{if(!s.value&&r.config.app==="konnect"){const y=r.config;p.value&&y.createCustomRoute?i.push(y.createCustomRoute):m.value&&d()}};return(y,w)=>{const b=t.resolveComponent("KButton"),v=t.resolveComponent("KDropdownItem"),S=t.resolveComponent("KDropdownMenu"),N=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",ND,[t.createVNode(N,{text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createElementVNode("a",{class:t.normalizeClass(["plugin-select-card",{disabled:s.value}]),"data-testid":`${e.plugin.id}-card`,role:"button",onClick:w[1]||(w[1]=I=>s.value||m.value?void 0:f())},[t.createElementVNode("div",vD,[t.createElementVNode("div",xD,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!m.value})},t.toDisplayString(e.plugin.name),3)]),c.value?(t.openBlock(),t.createElementBlock("div",AD,[t.createVNode(S,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(b,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ce.MoreIcon),{size:t.unref(Sk)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(v,{key:0,"data-testid":"edit-plugin-schema",onClick:w[0]||(w[0]=t.withModifiers(I=>_(e.plugin.name,e.plugin.customPluginType),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(v,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(h,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":m.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(a)("plugins.select.unavailable_tooltip"),onClick:g},[t.createVNode(t.unref(fo.PluginIcon),{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||m.value&&!p.value?(t.openBlock(),t.createElementBlock("div",PD,[m.value&&!p.value?(t.openBlock(),t.createElementBlock("p",TD,t.toDisplayString(t.unref(a)("plugins.select.custom_badge_text")),1)):t.createCommentVNode("",!0),e.plugin.description?(t.openBlock(),t.createElementBlock("p",{key:1,class:"plugin-card-text",title:e.plugin.description},t.toDisplayString(e.plugin.description),9,OD)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,ID),t.createElementVNode("div",{class:"plugin-card-footer",onClick:g},t.toDisplayString(p.value?t.unref(a)("actions.create_custom"):e.plugin.exists?t.unref(a)("actions.enabled"):t.unref(a)("actions.enable")),1)],10,SD)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-65d53934"]]),$D=we(t.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(e,{emit:n}){var h;const o=e,r=n,{i18nT:i,i18n:{t:a}}=Ve.useI18n(),{getMessageFromError:l}=fe.useErrors(),{axiosInstance:s}=fe.useAxios((h=o.config)==null?void 0:h.axiosRequestConfig),c=t.computed(()=>{var _;return u.value?a("delete.plugin_schema_in_use_title"):a("delete.title",{name:((_=o.plugin)==null?void 0:_.name)||a("delete.custom_plugin")})}),d=t.ref(!1),f=t.ref(""),u=t.ref(!1),p=t.computed(()=>{if(o.config.app==="konnect"){const _=o.plugin.customPluginType==="streaming"?Le.select[o.config.app].streamingCustomPluginItem:Le.select[o.config.app].schemaCustomPluginItem;let g=`${o.config.apiBaseUrl}${_}`;return g=g.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),g=g.replace(/{pluginId}/gi,o.plugin.id),g}return null}),m=async()=>{var _,g,y,w;if(d.value=!0,f.value="",!(!((_=o.plugin)!=null&&_.name)||((g=o.config)==null?void 0:g.app)!=="konnect"))try{p.value&&await s.delete(p.value),r("proceed")}catch(b){const{response:v}=b;(v==null?void 0:v.status)===400&&((w=(y=v.data)==null?void 0:y.message)!=null&&w.includes("plugin schema is currently in use"))?u.value=!0:f.value=l(b)}finally{d.value=!1}};return(_,g)=>{const y=t.resolveComponent("KButton"),w=t.resolveComponent("KModal");return!u.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(fe.EntityDeleteModal),{key:0,"action-pending":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(a)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(fe.EntityTypes).Plugin,error:f.value,"need-confirm":"",title:c.value,visible:"",onCancel:g[0]||(g[0]=b=>_.$emit("closed")),onProceed:m},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(w,{key:1,"action-button-disabled":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:c.value,visible:"",onCancel:g[2]||(g[2]=b=>_.$emit("closed"))},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(t.unref(i),{keypath:"delete.plugin_schema_in_use_message",tag:"p"},{name:t.withCtx(()=>[t.createElementVNode("strong",null,t.toDisplayString(e.plugin.name),1)]),_:1})])]),"footer-actions":t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(y,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:g[1]||(g[1]=b=>_.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9e0dee7f"]]),BD={class:"custom-plugins-grid"},VD={class:"empty-state-title"},RD={class:"empty-state-description"},ts=310,DD=we(t.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=Ve.useI18n(),{getTallestPluginCardHeight:a,getToggleVisibility:l}=Ve.usePluginHelpers(),s=t.ref(!0),c=S=>{r("plugin-clicked",S)},d=t.computed(()=>{if(o.config.app==="kongManager")return[];const S=JSON.parse(JSON.stringify(o.pluginList))[Y.PluginGroup.CUSTOM_PLUGINS]||[];return o.canCreateCustomPlugin&&o.navigateOnClick&&o.config.createCustomRoute?[{id:"custom-plugin-create",name:i("plugins.select.tabs.custom.create.name"),available:!0,group:Y.PluginGroup.CUSTOM_PLUGINS,description:i("plugins.select.tabs.custom.create.description")}].concat(S):S}),f=t.ref(!1),u=t.ref(null),p=S=>{f.value=!0,u.value={id:S.id,name:S.name,customPluginType:S.customPluginType}},m=S=>{var N;S&&(r("revalidate"),r("delete:success",((N=u.value)==null?void 0:N.name)||"")),f.value=!1,u.value=null},h=t.ref(ts),_=t.ref(null),g=t.ref(null),y=t.computed(()=>s.value?{overflowY:"hidden",maxHeight:`${h.value}px`}:{}),w=t.ref(!1),b=()=>{h.value=Math.max(a(g.value),ts),v()},v=()=>{var S,N;(S=g.value)!=null&&S.length&&(w.value=l(_.value,(N=g.value)==null?void 0:N.length))};return t.onMounted(async()=>{await t.nextTick(),h.value=Math.max(a(g.value),ts),v(),window==null||window.addEventListener("resize",b)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",b)}),(S,N)=>{const I=t.resolveComponent("KEmptyState"),O=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",BD,[d.value.length?(t.openBlock(),t.createBlock(O,{key:1,modelValue:s.value,"onUpdate:modelValue":N[0]||(N[0]=F=>s.value=F),class:"custom-plugins-collapse","data-testid":`${t.unref(Y.PluginGroup).CUSTOM_PLUGINS}-collapse`,title:t.unref(Y.PluginGroup).CUSTOM_PLUGINS,"trigger-label":s.value?t.unref(i)("plugins.select.view_more"):t.unref(i)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:_,class:"plugin-card-container",style:t.normalizeStyle(y.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,(F,H)=>(t.openBlock(),t.createBlock(es,{key:`plugin-card-${H}`,ref_for:!0,ref_key:"pluginCardRef",ref:g,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:F,onCustomPluginDelete:q=>p(F),onPluginClicked:c},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[w.value?void 0:{name:"trigger",fn:t.withCtx(()=>[N[2]||(N[2]=t.createTextVNode("   ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(I,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",VD,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",RD,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),f.value&&u.value?(t.openBlock(),t.createBlock($D,{key:2,config:e.config,plugin:u.value,onClosed:m,onProceed:N[1]||(N[1]=F=>m(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-f4b90f47"]]),ns=310,Bm=we(t.defineComponent({__name:"PluginSelectGroup",props:t.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:t.mergeModels(["plugin-clicked"],["update:modelValue"]),setup(e,{emit:n}){const o=t.useModel(e,"modelValue"),r=e,i=n,{i18n:{t:a}}=Ve.useI18n(),{getTallestPluginCardHeight:l,getToggleVisibility:s}=Ve.usePluginHelpers(),c=t.ref(ns),d=t.ref(null),f=t.ref(null),u=t.computed(()=>o.value?{overflowY:"hidden",maxHeight:`${c.value}px`}:{}),p=t.ref(!1),m=()=>{c.value=Math.max(l(f.value),ns),h()},h=()=>{var _,g;(_=f.value)!=null&&_.length&&(p.value=s(d.value,(g=f.value)==null?void 0:g.length))};return t.onMounted(async()=>{await t.nextTick(),c.value=Math.max(l(f.value),ns),h(),window==null||window.addEventListener("resize",m)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",m)}),(_,g)=>{const y=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(y,{modelValue:o.value,"onUpdate:modelValue":g[0]||(g[0]=w=>o.value=w),class:"plugins-collapse","data-testid":`${r.name}-collapse`,title:r.name,"trigger-label":o.value?t.unref(a)("plugins.select.view_more"):t.unref(a)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:d,class:"plugin-card-container",style:t.normalizeStyle(u.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.plugins,w=>(t.openBlock(),t.createBlock(es,{key:`plugin-card-${w.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:f,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:w,onPluginClicked:b=>i("plugin-clicked",w)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[p.value?void 0:{name:"trigger",fn:t.withCtx(()=>[g[1]||(g[1]=t.createTextVNode("   ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-a1074120"]]),MD={class:"plugin-select-grid"},FD={class:"empty-state-title"},LD={class:"empty-state-description"},os=t.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},highlightedPlugins:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""},hideHighlightedPlugins:{type:Boolean,default:!1}},emits:["plugin-clicked"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=Ve.useI18n(),a=t.ref(!1),l=t.ref(ls),s=d=>{r("plugin-clicked",d)},c=t.computed(()=>{const d=JSON.parse(JSON.stringify(o.pluginList));return o.config.app==="konnect"&&delete d[Y.PluginGroup.CUSTOM_PLUGINS],d});return(d,f)=>{const u=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",MD,[Object.keys(c.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(u,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",FD,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",LD,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!o.hideHighlightedPlugins&&o.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(Bm,{key:1,modelValue:a.value,"onUpdate:modelValue":f[0]||(f[0]=p=>a.value=p),config:e.config,name:o.highlightedPluginsTitle||t.unref(i)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:o.highlightedPlugins,onPluginClicked:f[1]||(f[1]=p=>s(p))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(as),p=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[p]?(t.openBlock(),t.createElementBlock("div",{key:p},[t.createVNode(Bm,{modelValue:l.value[p],"onUpdate:modelValue":m=>l.value[p]=m,config:e.config,name:p,"navigate-on-click":e.navigateOnClick,plugins:c.value[p]||[],onPluginClicked:f[2]||(f[2]=m=>s(m))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),UD={class:"kong-ui-entities-plugin-select-form"},KD={class:"plugins-filter-input-container"},jD={key:0},qD={key:3,"aria-live":"polite",class:"plugins-results-container"},GD={"data-testid":"kong-tab"},zD={class:"tab-description"},HD={"data-testid":"custom-tab"},YD={class:"tab-description"},WD=we(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},customPluginSupport:{type:String,default:"none"},canCreateCustomPlugin:{type:Function,required:!1,default:async()=>!0},canDeleteCustomPlugin:{type:Function,required:!1,default:async()=>!0},canEditCustomPlugin:{type:Function,required:!1,default:async()=>!0},navigateOnClick:{type:Boolean,default:!0},availableOnServer:{type:Boolean,default:!0},ignoredPlugins:{type:Array,default:()=>[]},disabledPlugins:{type:Object,default:()=>({})},highlightedPluginIds:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){var D;const o=e,r=n,i=so.useRoute(),a=so.useRouter(),{i18n:{t:l}}=Ve.useI18n(),{pluginMetaData:s}=Ve.usePluginMetaData(),{getMessageFromError:c}=fe.useErrors(),{sortAlpha:d,objectsAreEqual:f}=fe.useHelpers(),u=t.ref(""),p=t.ref(!0),m=t.ref(!1),h=t.ref(""),_=t.ref([]),g=t.ref([]),y=t.ref({}),w=t.ref([]),{axiosInstance:b}=fe.useAxios((D=o.config)==null?void 0:D.axiosRequestConfig),v=t.computed(()=>y.value?Object.entries(y.value).filter(([L])=>L!==Y.PluginGroup.CUSTOM_PLUGINS).reduce((L,[,j])=>{for(const Z of j)L[Z.id]=Z;return L},{}):{}),S=t.computed(()=>{var Z;if(!y.value)return{};const L=u.value.toLowerCase(),j=JSON.parse(JSON.stringify(y.value));for(const W in y.value){const ne=((Z=y.value[W])==null?void 0:Z.filter(ie=>ie.name.toLowerCase().includes(L)||ie.id.toLowerCase().includes(L)||ie.group.toLowerCase().includes(L)))||[];ne.length?j[W]=ne:delete j[W]}return j}),N=t.computed(()=>o.highlightedPluginIds.reduce((L,j)=>{const Z=v.value[j];return Z&&L.push(Z),L},[])),I=t.computed(()=>Object.keys(S.value).length>0),O=t.computed(()=>Object.keys(y.value).length>0&&!I.value),F=t.computed(()=>o.config.app==="konnect"?[{hash:"#kong",title:l("plugins.select.tabs.kong.title")},{hash:"#custom",title:l("plugins.select.tabs.custom.title"),disabled:["none","disabled"].includes(o.customPluginSupport)}]:[]),H=t.computed(()=>{var j;let L=F.value.length&&((i==null?void 0:i.hash)||((j=F.value[0])==null?void 0:j.hash))||"";return L==="#custom"&&["none","disabled"].includes(o.customPluginSupport)&&(L="#kong"),L}),q=()=>[...new Set([...Object.keys({...o.availableOnServer?{}:s}),..._.value])].filter(L=>!o.ignoredPlugins.includes(L)).filter(L=>o.config.entityType&&(o.config.entityType==="services"&&s[L]&&!s[L].scope.includes(Y.PluginScope.SERVICE)||o.config.entityType==="routes"&&s[L]&&!s[L].scope.includes(Y.PluginScope.ROUTE)||o.config.entityType==="consumer_groups"&&s[L]&&!s[L].scope.includes(Y.PluginScope.CONSUMER_GROUP)||o.config.entityType==="consumers"&&s[L]&&!s[L].scope.includes(Y.PluginScope.CONSUMER))?!1:L).reduce((L,j)=>{var de;const Z=s[j]&&s[j].name||j,W={...s[j],id:j,name:Z,available:_.value.includes(j),disabledMessage:"",group:((de=s[j])==null?void 0:de.group)||Y.PluginGroup.CUSTOM_PLUGINS};W.group===Y.PluginGroup.CUSTOM_PLUGINS&&(W.customPluginType=g.value.find(ye=>ye.name===j)?"streaming":"schema"),o.disabledPlugins&&(W.disabledMessage=o.disabledPlugins[j]);const ne=W.group||l("plugins.select.misc_plugins");let ie=L[ne];return ie||(ie=[]),ie.push(W),ie.sort(d("name")),L[ne]=ie,L},{}),E=t.computed(()=>{var j;let L=`${o.config.apiBaseUrl}${Le.select[o.config.app].availablePlugins}`;return o.config.app==="konnect"?L=L.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(L=((j=o.config.gatewayInfo)==null?void 0:j.edition)==="community"?`${o.config.apiBaseUrl}${Le.select[o.config.app].availablePluginsForOss}`:L.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),L}),te=t.computed(()=>{if(o.config.app==="konnect"&&o.customPluginSupport==="streaming"){let L=`${o.config.apiBaseUrl}${Le.select[o.config.app].streamingCustomPlugins}`;return L=L.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),L}return null}),P=t.computed(()=>{if(o.config.entityType&&o.config.entityId){let L=`${o.config.apiBaseUrl}${Le.list[o.config.app].forEntity}`;return o.config.app==="konnect"?L=L.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(L=L.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),L.replace(/{entityType}/gi,o.config.entityType||"").replace(/{entityId}/gi,o.config.entityId||"")}return""}),G=L=>{a.replace({hash:L,query:i.query})};t.watch(()=>o.disabledPlugins,(L,j)=>{!f(L,j)&&!p.value&&(y.value=q())}),t.watch(()=>o.ignoredPlugins,(L,j)=>{!f(L,j)&&!p.value&&(y.value=q())}),t.watch(p,L=>{r("loading",L)});const R=t.ref(!1),K=t.ref(!1),V=t.ref(!1);t.onBeforeMount(async()=>{R.value=await o.canCreateCustomPlugin(),K.value=await o.canEditCustomPlugin(),V.value=await o.canDeleteCustomPlugin()});const M=t.useTemplateRef("filter-input");return t.onMounted(async()=>{var L,j;(j=(L=M.value)==null?void 0:L.input)==null||j.focus();try{const{data:Z}=await b.get(E.value);if(o.config.app==="konnect"){const{names:W}=Z;if(_.value=W||[],te.value){const{data:ne}=await b.get(te.value);g.value=ne.data||[]}}else if(o.config.app==="kongManager"){const{plugins:{available_on_server:W}}=Z;_.value=W?Object.keys(W):[]}}catch(Z){m.value=!0,h.value=c(Z)}if(P.value)try{const{data:{data:Z}}=await b.get(P.value);if(Z!=null&&Z.length){const W=Z.reduce((ne,ie)=>(ie.name&&ne.push(ie.name),ne),[]);w.value=w.value.concat(W)}}catch{}m.value||(y.value=q()),p.value=!1}),(L,j)=>{const Z=t.resolveComponent("KInput"),W=t.resolveComponent("KSkeletonBox"),ne=t.resolveComponent("KSkeleton"),ie=t.resolveComponent("KEmptyState"),de=t.resolveComponent("KTooltip"),ye=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",UD,[t.createElementVNode("div",KD,[t.createVNode(Z,{ref:"filter-input",modelValue:u.value,"onUpdate:modelValue":j[0]||(j[0]=Q=>u.value=Q),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(l)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),p.value?(t.openBlock(),t.createElementBlock("section",jD,[t.createVNode(W,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(ne,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):m.value?(t.openBlock(),t.createBlock(ie,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(h.value),1)]),_:1})):O.value&&u.value?(t.openBlock(),t.createBlock(ie,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:t.withCtx(()=>[t.createElementVNode("h5",null,t.toDisplayString(t.unref(l)("search.no_results",{filter:u.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",qD,[F.value.length&&e.customPluginSupport!=="none"?(t.openBlock(),t.createBlock(ye,{key:0,modelValue:H.value,"onUpdate:modelValue":j[5]||(j[5]=Q=>H.value=Q),"data-testid":"plugins-tabs",tabs:F.value,onChange:G},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",GD,[t.createElementVNode("p",zD,t.toDisplayString(t.unref(l)("plugins.select.tabs.kong.description")),1),t.createVNode(os,{config:e.config,"hide-highlighted-plugins":u.value.length>0,"highlighted-plugins":N.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":S.value,onPluginClicked:j[1]||(j[1]=Q=>L.$emit("plugin-clicked",Q))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",HD,[t.renderSlot(L.$slots,"before-custom-tab-content",{},void 0,!0),t.createElementVNode("p",YD,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.description")),1),t.createVNode(DD,{"can-create-custom-plugin":R.value,"can-delete-custom-plugin":V.value,"can-edit-custom-plugin":K.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":S.value,"onDelete:success":j[2]||(j[2]=Q=>L.$emit("delete-custom:success",Q)),onPluginClicked:j[3]||(j[3]=Q=>L.$emit("plugin-clicked",Q)),onRevalidate:j[4]||(j[4]=()=>y.value=q())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[e.customPluginSupport==="disabled"?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(de,{"max-width":"300",text:t.unref(l)("plugins.select.tabs.custom.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.title")),1)]),_:1},8,["text"])]),key:"0"}:void 0]),1032,["modelValue","tabs"])):(t.openBlock(),t.createBlock(os,{key:1,config:e.config,"hide-highlighted-plugins":u.value.length>0,"highlighted-plugins":N.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":S.value,onPluginClicked:j[6]||(j[6]=Q=>L.$emit("plugin-clicked",Q))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-7b1adaaa"]]),XD={class:"datakit-config-card-canvas"},ZD={class:"config-card-details-label","data-testid":"datakit-configuration-label"},JD={class:"config-card-details-value datakit-canvas-container","data-testid":"datakit-configuration-canvas"},QD={class:"canvas-wrapper"},eM=we(t.defineComponent({__name:"DatakitConfigCardCanvas",props:{pluginData:{}},setup(e){return yu(e.pluginData),(n,o)=>{const r=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",XD,[t.createElementVNode("div",ZD,[t.createVNode(r,null,{default:t.withCtx(()=>o[0]||(o[0]=[t.createElementVNode("span",{class:"label-content"}," Nodes ",-1)])),_:1,__:[0]})]),t.createElementVNode("div",JD,[t.createElementVNode("div",QD,[t.createVNode(Jl,{class:"datakit-flow-panels",mode:"view",resizable:""})])])])}}}),[["__scopeId","data-v-591ec060"]]),tM={class:"kong-ui-entity-plugin-config-card"},nM={class:"name-cell-wrapper"},oM={class:"info-name"},rM={key:0},iM={key:0},aM={key:0},lM={key:0},sM={key:0},rs="config",cM=we(t.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showIdAsLink:{type:Boolean,default:!1},hideTitle:{type:Boolean,default:!1},scopedEntityType:{type:String,required:!1,default:""},scopedEntityId:{type:String,required:!1,default:""},expandPartial:{type:Boolean,default:!0}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var N;const o=n,r=e,{i18n:{t:i}}=Ve.useI18n(),a=Ve.usePluginMetaData(),{setFieldType:l}=Ve.usePluginHelpers(),{getPropValue:s}=fe.useHelpers(),c=t.computed(()=>r.config.app==="konnect"),d=t.computed(()=>c.value&&r.config.pluginType==="datakit"),f=t.computed(()=>{var O;let I=(O=Le.item[r.config.app])==null?void 0:O[r.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,r.scopedEntityType).replace(/{entityId}/gi,r.scopedEntityId).concat(r.expandPartial?"?expand_partials=true":"");if(c.value){const F=r.expandPartial?"&":"?";I=I.concat(`${F}__ui_data=true`)}return I}),u=t.computed(()=>{var F,H;const I={},O=((F=b.value)==null?void 0:F.fields)||[];for(let q=0;q<O.length;q++){const E=b.value.fields[q],te=(H=Object.keys(E))==null?void 0:H[0];l(I,te,E[te])}return{...I,instance_name:{section:fe.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:i("plugins.fields.consumer"),section:fe.ConfigurationSchemaSection.Basic,order:6},route:{label:i("plugins.fields.route"),section:fe.ConfigurationSchemaSection.Basic,order:6},service:{label:i("plugins.fields.service"),section:fe.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:i("plugins.fields.consumer_group"),section:fe.ConfigurationSchemaSection.Basic,order:6},protocols:{type:fe.ConfigurationSchemaType.BadgeTag,section:fe.ConfigurationSchemaSection.Basic,order:7}}}),p=t.computed(()=>{var O,F,H;if(!((O=b.value)!=null&&O.fields))return[];const I=(F=b.value.fields)==null?void 0:F.find(q=>{var te;return((te=Object.keys(q))==null?void 0:te[0])===rs});return((H=I==null?void 0:I[rs])==null?void 0:H.fields)||[]}),m=t.computed(()=>{var O,F;const I={};if(!p.value)return I;for(let H=0;H<((O=p.value)==null?void 0:O.length);H++){const q=p.value[H],E=(F=Object.keys(q))==null?void 0:F[0],te=q[E];te.required&&(I[E]={order:1}),l(I,E,te)}return I}),h=I=>{var F;const O=(F=a.pluginMetaData[r.config.pluginType])==null?void 0:F.scope;return O?Object.fromEntries(Object.entries(I).filter(([H,q])=>q?!0:!(H==="service"&&!O.includes(Y.PluginScope.SERVICE)||H==="route"&&!O.includes(Y.PluginScope.ROUTE)||H==="consumer"&&!O.includes(Y.PluginScope.CONSUMER)||H==="consumer_group"&&!O.includes(Y.PluginScope.CONSUMER_GROUP)))):I},_=I=>Co(I,"__ui_data"),{getMessageFromError:g}=fe.useErrors(),{axiosInstance:y}=fe.useAxios((N=r.config)==null?void 0:N.axiosRequestConfig),w=t.computed(()=>{var O,F;let I=`${r.config.apiBaseUrl}${Le.form[r.config.app].pluginSchema}`;return r.config.app==="konnect"?I=I.replace(/{controlPlaneId}/gi,((O=r.config)==null?void 0:O.controlPlaneId)||""):r.config.app==="kongManager"&&(I=I.replace(/\/{workspace}/gi,(F=r.config)!=null&&F.workspace?`/${r.config.workspace}`:"")),I=I.replace(/{plugin}/gi,r.config.pluginType),I}),b=t.ref({});fe.useSchemaProvider(b);const v=t.ref(!1),S=t.ref("");return t.onBeforeMount(async()=>{v.value=!0;try{const{data:I}=await y.get(w.value);b.value=I}catch(I){S.value=g(I),o("error:fetch-schema",I)}finally{v.value=!1}}),(I,O)=>{const F=t.resolveComponent("KSkeleton"),H=t.resolveComponent("KEmptyState"),q=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",tM,[v.value?(t.openBlock(),t.createBlock(F,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):S.value?(t.openBlock(),t.createBlock(H,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(S.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(fe.EntityBaseConfigCard),{key:2,"code-block-record-formatter":_,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":u.value,"entity-type":t.unref(fe.SupportedEntityType).Plugin,"fetch-url":f.value,"hide-title":e.hideTitle,"plugin-config-key":rs,"plugin-config-schema":m.value,"record-resolver":h,"onFetch:error":O[0]||(O[0]=E=>I.$emit("fetch:error",E)),"onFetch:success":O[1]||(O[1]=E=>I.$emit("fetch:success",E)),onLoading:O[2]||(O[2]=E=>I.$emit("loading",E))},t.createSlots({name:t.withCtx(E=>[t.createElementVNode("div",nM,[t.createVNode(t.unref(fo.PluginIcon),{class:"plugin-icon",name:t.unref(s)("rowValue",E),size:24},null,8,["name"]),t.createElementVNode("span",oM,t.toDisplayString(t.unref(a).getDisplayName(t.unref(s)("rowValue",E))),1)])]),consumer:t.withCtx(E=>[t.unref(s)("rowValue",E)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(fe.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",E).id,value:t.unref(s)("rowValue",E).id,type:t.unref(fe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>I.$emit("navigation-click",t.unref(s)("rowValue",E).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(q,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",E).label}),"data-testid":"consumer-copy-uuid",text:t.unref(s)("rowValue",E).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",rM,"–"))]),route:t.withCtx(E=>[t.unref(s)("rowValue",E)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(fe.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",E).id,value:t.unref(s)("rowValue",E).id,type:t.unref(fe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>I.$emit("navigation-click",t.unref(s)("rowValue",E).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(q,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",E).label}),"data-testid":"route-copy-uuid",text:t.unref(s)("rowValue",E).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",iM,"–"))]),service:t.withCtx(E=>[t.unref(s)("rowValue",E)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(fe.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",E).id,value:t.unref(s)("rowValue",E).id,type:t.unref(fe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>I.$emit("navigation-click",t.unref(s)("rowValue",E).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(q,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",E).label}),"data-testid":"service-copy-uuid",text:t.unref(s)("rowValue",E).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",aM,"–"))]),consumer_group:t.withCtx(E=>[t.unref(s)("rowValue",E)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(fe.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",E).id,value:t.unref(s)("rowValue",E).id,type:t.unref(fe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>I.$emit("navigation-click",t.unref(s)("rowValue",E).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(q,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",E).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(s)("rowValue",E).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",lM,"–"))]),partials:t.withCtx(E=>{var te,P,G,R,K,V,M,D,L;return[t.unref(s)("rowValue",E)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(fe.InternalLinkItem),{key:1,item:{key:(P=(te=t.unref(s)("rowValue",E))==null?void 0:te[0])==null?void 0:P.id,value:((R=(G=t.unref(s)("rowValue",E))==null?void 0:G[0])==null?void 0:R.id)+((V=(K=t.unref(s)("rowValue",E))==null?void 0:K[0])!=null&&V.name?"/"+((D=(M=t.unref(s)("rowValue",E))==null?void 0:M[0])==null?void 0:D.name):""),type:t.unref(fe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var j,Z;return I.$emit("navigation-click",(Z=(j=t.unref(s)("rowValue",E))==null?void 0:j[0])==null?void 0:Z.id,"partial")}},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(q,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",E).label}),"data-testid":"partial-copy-uuid",text:(L=t.unref(s)("rowValue",E))==null?void 0:L[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",sM,"–"))]}),_:2},[d.value?{name:"config-card-item-nodes",fn:t.withCtx(E=>[t.createVNode(eM,{"plugin-data":E.record},null,8,["plugin-data"])]),key:"0"}:void 0]),1032,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-a5302acb"]]),{usePluginMetaData:dM,useProvideExperimentalFreeForms:uM}=Ve;Object.defineProperty(ke,"PluginGroup",{enumerable:!0,get:()=>Y.PluginGroup}),Object.defineProperty(ke,"PluginScope",{enumerable:!0,get:()=>Y.PluginScope}),Object.defineProperty(ke,"PluginIcon",{enumerable:!0,get:()=>fo.PluginIcon}),Object.defineProperty(ke,"getPluginIconURL",{enumerable:!0,get:()=>fo.getPluginIconURL}),ke.EXPERIMENTAL_FREE_FORM_PROVIDER=ha,ke.EntityTypeIdField=an,ke.FEATURE_FLAGS=Eo,ke.PLUGIN_GROUPS_COLLAPSE_STATUS=ls,ke.PluginConfigCard=cM,ke.PluginForm=mD,ke.PluginGroupArray=as,ke.PluginList=ED,ke.PluginPartialType=hr,ke.PluginSelect=WD,ke.PluginSelectCard=es,ke.PluginSelectGrid=os,ke.TOASTER_PROVIDER=vc,ke.pluginEndpoints=Le,ke.usePluginMetaData=dM,ke.useProvideExperimentalFreeForms=uM,Object.defineProperty(ke,Symbol.toStringTag,{value:"Module"})});