@mastra/deployer-cloud 1.48.0-alpha.5 → 1.48.0-alpha.6
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.
- package/CHANGELOG.md +8 -0
- package/dist/studio/assets/{core-BMRIJY6E.js → core-Wah_Mjo9.js} +1 -1
- package/dist/studio/assets/{index-B_G4GeS9.js → index-ChhNLGZO.js} +2 -2
- package/dist/studio/assets/{main-CESghIDe.js → main-Dia8xtBK.js} +4 -4
- package/dist/studio/index.html +1 -1
- package/package.json +5 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./core-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./core-Wah_Mjo9.js","./engine-compile-BkERmzkH.js","./preload-helper-PPVm8Dsz.js","./engine-javascript-CSIo_1eZ.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{_ as Eo}from"./preload-helper-PPVm8Dsz.js";function Hzt(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&&!Array.isArray(r)){for(const s in r)if(s!=="default"&&!(s in e)){const a=Object.getOwnPropertyDescriptor(r,s);a&&Object.defineProperty(e,s,a.get?a:{enumerable:!0,get:()=>r[s]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var Pj=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Cc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var YQ={exports:{}},fA={};var vRe;function Wzt(){if(vRe)return fA;vRe=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,s,a){var i=null;if(a!==void 0&&(i=""+a),s.key!==void 0&&(i=""+s.key),"key"in s){a={};for(var l in s)l!=="key"&&(a[l]=s[l])}else a=s;return s=a.ref,{$$typeof:e,type:r,key:i,ref:s!==void 0?s:null,props:a}}return fA.Fragment=t,fA.jsx=n,fA.jsxs=n,fA}var yRe;function Zzt(){return yRe||(yRe=1,YQ.exports=Wzt()),YQ.exports}var o=Zzt(),XQ={exports:{}},Br={},bRe;function Gzt(){if(bRe)return Br;bRe=1;var e={env:{}};var t=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),i=Symbol.for("react.consumer"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),h=Symbol.iterator;function m(U){return U===null||typeof U!="object"?null:(U=h&&U[h]||U["@@iterator"],typeof U=="function"?U:null)}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},y=Object.assign,b={};function w(U,P,q){this.props=U,this.context=P,this.refs=b,this.updater=q||g}w.prototype.isReactComponent={},w.prototype.setState=function(U,P){if(typeof U!="object"&&typeof U!="function"&&U!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,U,P,"setState")},w.prototype.forceUpdate=function(U){this.updater.enqueueForceUpdate(this,U,"forceUpdate")};function S(){}S.prototype=w.prototype;function k(U,P,q){this.props=U,this.context=P,this.refs=b,this.updater=q||g}var _=k.prototype=new S;_.constructor=k,y(_,w.prototype),_.isPureReactComponent=!0;var C=Array.isArray;function E(){}var j={H:null,A:null,T:null,S:null},N=Object.prototype.hasOwnProperty;function I(U,P,q){var Z=q.ref;return{$$typeof:t,type:U,key:P,ref:Z!==void 0?Z:null,props:q}}function R(U,P){return I(U.type,P,U.props)}function $(U){return typeof U=="object"&&U!==null&&U.$$typeof===t}function F(U){var P={"=":"=0",":":"=2"};return"$"+U.replace(/[=:]/g,function(q){return P[q]})}var D=/\/+/g;function V(U,P){return typeof U=="object"&&U!==null&&U.key!=null?F(""+U.key):P.toString(36)}function W(U){switch(U.status){case"fulfilled":return U.value;case"rejected":throw U.reason;default:switch(typeof U.status=="string"?U.then(E,E):(U.status="pending",U.then(function(P){U.status==="pending"&&(U.status="fulfilled",U.value=P)},function(P){U.status==="pending"&&(U.status="rejected",U.reason=P)})),U.status){case"fulfilled":return U.value;case"rejected":throw U.reason}}throw U}function L(U,P,q,Z,X){var te=typeof U;(te==="undefined"||te==="boolean")&&(U=null);var J=!1;if(U===null)J=!0;else switch(te){case"bigint":case"string":case"number":J=!0;break;case"object":switch(U.$$typeof){case t:case n:J=!0;break;case f:return J=U._init,L(J(U._payload),P,q,Z,X)}}if(J)return X=X(U),J=Z===""?"."+V(U,0):Z,C(X)?(q="",J!=null&&(q=J.replace(D,"$&/")+"/"),L(X,P,q,"",function(de){return de})):X!=null&&($(X)&&(X=R(X,q+(X.key==null||U&&U.key===X.key?"":(""+X.key).replace(D,"$&/")+"/")+J)),P.push(X)),1;J=0;var ee=Z===""?".":Z+":";if(C(U))for(var ae=0;ae<U.length;ae++)Z=U[ae],te=ee+V(Z,ae),J+=L(Z,P,q,te,X);else if(ae=m(U),typeof ae=="function")for(U=ae.call(U),ae=0;!(Z=U.next()).done;)Z=Z.value,te=ee+V(Z,ae++),J+=L(Z,P,q,te,X);else if(te==="object"){if(typeof U.then=="function")return L(W(U),P,q,Z,X);throw P=String(U),Error("Objects are not valid as a React child (found: "+(P==="[object Object]"?"object with keys {"+Object.keys(U).join(", ")+"}":P)+"). If you meant to render a collection of children, use an array instead.")}return J}function z(U,P,q){if(U==null)return U;var Z=[],X=0;return L(U,Z,"","",function(te){return P.call(q,te,X++)}),Z}function B(U){if(U._status===-1){var P=U._result;P=P(),P.then(function(q){(U._status===0||U._status===-1)&&(U._status=1,U._result=q)},function(q){(U._status===0||U._status===-1)&&(U._status=2,U._result=q)}),U._status===-1&&(U._status=0,U._result=P)}if(U._status===1)return U._result.default;throw U._result}var M=typeof reportError=="function"?reportError:function(U){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var P=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof U=="object"&&U!==null&&typeof U.message=="string"?String(U.message):String(U),error:U});if(!window.dispatchEvent(P))return}else if(typeof e=="object"&&typeof e.emit=="function"){e.emit("uncaughtException",U);return}console.error(U)},G={map:z,forEach:function(U,P,q){z(U,function(){P.apply(this,arguments)},q)},count:function(U){var P=0;return z(U,function(){P++}),P},toArray:function(U){return z(U,function(P){return P})||[]},only:function(U){if(!$(U))throw Error("React.Children.only expected to receive a single React element child.");return U}};return Br.Activity=p,Br.Children=G,Br.Component=w,Br.Fragment=r,Br.Profiler=a,Br.PureComponent=k,Br.StrictMode=s,Br.Suspense=u,Br.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=j,Br.__COMPILER_RUNTIME={__proto__:null,c:function(U){return j.H.useMemoCache(U)}},Br.cache=function(U){return function(){return U.apply(null,arguments)}},Br.cacheSignal=function(){return null},Br.cloneElement=function(U,P,q){if(U==null)throw Error("The argument must be a React element, but you passed "+U+".");var Z=y({},U.props),X=U.key;if(P!=null)for(te in P.key!==void 0&&(X=""+P.key),P)!N.call(P,te)||te==="key"||te==="__self"||te==="__source"||te==="ref"&&P.ref===void 0||(Z[te]=P[te]);var te=arguments.length-2;if(te===1)Z.children=q;else if(1<te){for(var J=Array(te),ee=0;ee<te;ee++)J[ee]=arguments[ee+2];Z.children=J}return I(U.type,X,Z)},Br.createContext=function(U){return U={$$typeof:l,_currentValue:U,_currentValue2:U,_threadCount:0,Provider:null,Consumer:null},U.Provider=U,U.Consumer={$$typeof:i,_context:U},U},Br.createElement=function(U,P,q){var Z,X={},te=null;if(P!=null)for(Z in P.key!==void 0&&(te=""+P.key),P)N.call(P,Z)&&Z!=="key"&&Z!=="__self"&&Z!=="__source"&&(X[Z]=P[Z]);var J=arguments.length-2;if(J===1)X.children=q;else if(1<J){for(var ee=Array(J),ae=0;ae<J;ae++)ee[ae]=arguments[ae+2];X.children=ee}if(U&&U.defaultProps)for(Z in J=U.defaultProps,J)X[Z]===void 0&&(X[Z]=J[Z]);return I(U,te,X)},Br.createRef=function(){return{current:null}},Br.forwardRef=function(U){return{$$typeof:c,render:U}},Br.isValidElement=$,Br.lazy=function(U){return{$$typeof:f,_payload:{_status:-1,_result:U},_init:B}},Br.memo=function(U,P){return{$$typeof:d,type:U,compare:P===void 0?null:P}},Br.startTransition=function(U){var P=j.T,q={};j.T=q;try{var Z=U(),X=j.S;X!==null&&X(q,Z),typeof Z=="object"&&Z!==null&&typeof Z.then=="function"&&Z.then(E,M)}catch(te){M(te)}finally{P!==null&&q.types!==null&&(P.types=q.types),j.T=P}},Br.unstable_useCacheRefresh=function(){return j.H.useCacheRefresh()},Br.use=function(U){return j.H.use(U)},Br.useActionState=function(U,P,q){return j.H.useActionState(U,P,q)},Br.useCallback=function(U,P){return j.H.useCallback(U,P)},Br.useContext=function(U){return j.H.useContext(U)},Br.useDebugValue=function(){},Br.useDeferredValue=function(U,P){return j.H.useDeferredValue(U,P)},Br.useEffect=function(U,P){return j.H.useEffect(U,P)},Br.useEffectEvent=function(U){return j.H.useEffectEvent(U)},Br.useId=function(){return j.H.useId()},Br.useImperativeHandle=function(U,P,q){return j.H.useImperativeHandle(U,P,q)},Br.useInsertionEffect=function(U,P){return j.H.useInsertionEffect(U,P)},Br.useLayoutEffect=function(U,P){return j.H.useLayoutEffect(U,P)},Br.useMemo=function(U,P){return j.H.useMemo(U,P)},Br.useOptimistic=function(U,P){return j.H.useOptimistic(U,P)},Br.useReducer=function(U,P,q){return j.H.useReducer(U,P,q)},Br.useRef=function(U){return j.H.useRef(U)},Br.useState=function(U){return j.H.useState(U)},Br.useSyncExternalStore=function(U,P,q){return j.H.useSyncExternalStore(U,P,q)},Br.useTransition=function(){return j.H.useTransition()},Br.version="19.2.6",Br}var xRe;function iN(){return xRe||(xRe=1,XQ.exports=Gzt()),XQ.exports}var v=iN();const Le=Cc(v),oN=Hzt({__proto__:null,default:Le},[v]);var KQ={exports:{}},pA={},JQ={exports:{}},eY={};var wRe;function Qzt(){return wRe||(wRe=1,(function(e){function t(W,L){var z=W.length;W.push(L);e:for(;0<z;){var B=z-1>>>1,M=W[B];if(0<s(M,L))W[B]=L,W[z]=M,z=B;else break e}}function n(W){return W.length===0?null:W[0]}function r(W){if(W.length===0)return null;var L=W[0],z=W.pop();if(z!==L){W[0]=z;e:for(var B=0,M=W.length,G=M>>>1;B<G;){var U=2*(B+1)-1,P=W[U],q=U+1,Z=W[q];if(0>s(P,z))q<M&&0>s(Z,P)?(W[B]=Z,W[q]=z,B=q):(W[B]=P,W[U]=z,B=U);else if(q<M&&0>s(Z,z))W[B]=Z,W[q]=z,B=q;else break e}}return L}function s(W,L){var z=W.sortIndex-L.sortIndex;return z!==0?z:W.id-L.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var i=Date,l=i.now();e.unstable_now=function(){return i.now()-l}}var c=[],u=[],d=1,f=null,p=3,h=!1,m=!1,g=!1,y=!1,b=typeof setTimeout=="function"?setTimeout:null,w=typeof clearTimeout=="function"?clearTimeout:null,S=typeof setImmediate<"u"?setImmediate:null;function k(W){for(var L=n(u);L!==null;){if(L.callback===null)r(u);else if(L.startTime<=W)r(u),L.sortIndex=L.expirationTime,t(c,L);else break;L=n(u)}}function _(W){if(g=!1,k(W),!m)if(n(c)!==null)m=!0,C||(C=!0,$());else{var L=n(u);L!==null&&V(_,L.startTime-W)}}var C=!1,E=-1,j=5,N=-1;function I(){return y?!0:!(e.unstable_now()-N<j)}function R(){if(y=!1,C){var W=e.unstable_now();N=W;var L=!0;try{e:{m=!1,g&&(g=!1,w(E),E=-1),h=!0;var z=p;try{t:{for(k(W),f=n(c);f!==null&&!(f.expirationTime>W&&I());){var B=f.callback;if(typeof B=="function"){f.callback=null,p=f.priorityLevel;var M=B(f.expirationTime<=W);if(W=e.unstable_now(),typeof M=="function"){f.callback=M,k(W),L=!0;break t}f===n(c)&&r(c),k(W)}else r(c);f=n(c)}if(f!==null)L=!0;else{var G=n(u);G!==null&&V(_,G.startTime-W),L=!1}}break e}finally{f=null,p=z,h=!1}L=void 0}}finally{L?$():C=!1}}}var $;if(typeof S=="function")$=function(){S(R)};else if(typeof MessageChannel<"u"){var F=new MessageChannel,D=F.port2;F.port1.onmessage=R,$=function(){D.postMessage(null)}}else $=function(){b(R,0)};function V(W,L){E=b(function(){W(e.unstable_now())},L)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(W){W.callback=null},e.unstable_forceFrameRate=function(W){0>W||125<W?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):j=0<W?Math.floor(1e3/W):5},e.unstable_getCurrentPriorityLevel=function(){return p},e.unstable_next=function(W){switch(p){case 1:case 2:case 3:var L=3;break;default:L=p}var z=p;p=L;try{return W()}finally{p=z}},e.unstable_requestPaint=function(){y=!0},e.unstable_runWithPriority=function(W,L){switch(W){case 1:case 2:case 3:case 4:case 5:break;default:W=3}var z=p;p=W;try{return L()}finally{p=z}},e.unstable_scheduleCallback=function(W,L,z){var B=e.unstable_now();switch(typeof z=="object"&&z!==null?(z=z.delay,z=typeof z=="number"&&0<z?B+z:B):z=B,W){case 1:var M=-1;break;case 2:M=250;break;case 5:M=1073741823;break;case 4:M=1e4;break;default:M=5e3}return M=z+M,W={id:d++,callback:L,priorityLevel:W,startTime:z,expirationTime:M,sortIndex:-1},z>B?(W.sortIndex=z,t(u,W),n(c)===null&&W===n(u)&&(g?(w(E),E=-1):g=!0,V(_,z-B))):(W.sortIndex=M,t(c,W),m||h||(m=!0,C||(C=!0,$()))),W},e.unstable_shouldYield=I,e.unstable_wrapCallback=function(W){var L=p;return function(){var z=p;p=L;try{return W.apply(this,arguments)}finally{p=z}}}})(eY)),eY}var SRe;function Yzt(){return SRe||(SRe=1,JQ.exports=Qzt()),JQ.exports}var tY={exports:{}},cu={};var kRe;function Xzt(){if(kRe)return cu;kRe=1;var e=iN();function t(c){var u="https://react.dev/errors/"+c;if(1<arguments.length){u+="?args[]="+encodeURIComponent(arguments[1]);for(var d=2;d<arguments.length;d++)u+="&args[]="+encodeURIComponent(arguments[d])}return"Minified React error #"+c+"; visit "+u+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function n(){}var r={d:{f:n,r:function(){throw Error(t(522))},D:n,C:n,L:n,m:n,X:n,S:n,M:n},p:0,findDOMNode:null},s=Symbol.for("react.portal");function a(c,u,d){var f=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:s,key:f==null?null:""+f,children:c,containerInfo:u,implementation:d}}var i=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function l(c,u){if(c==="font")return"";if(typeof u=="string")return u==="use-credentials"?u:""}return cu.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,cu.createPortal=function(c,u){var d=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!u||u.nodeType!==1&&u.nodeType!==9&&u.nodeType!==11)throw Error(t(299));return a(c,u,null,d)},cu.flushSync=function(c){var u=i.T,d=r.p;try{if(i.T=null,r.p=2,c)return c()}finally{i.T=u,r.p=d,r.d.f()}},cu.preconnect=function(c,u){typeof c=="string"&&(u?(u=u.crossOrigin,u=typeof u=="string"?u==="use-credentials"?u:"":void 0):u=null,r.d.C(c,u))},cu.prefetchDNS=function(c){typeof c=="string"&&r.d.D(c)},cu.preinit=function(c,u){if(typeof c=="string"&&u&&typeof u.as=="string"){var d=u.as,f=l(d,u.crossOrigin),p=typeof u.integrity=="string"?u.integrity:void 0,h=typeof u.fetchPriority=="string"?u.fetchPriority:void 0;d==="style"?r.d.S(c,typeof u.precedence=="string"?u.precedence:void 0,{crossOrigin:f,integrity:p,fetchPriority:h}):d==="script"&&r.d.X(c,{crossOrigin:f,integrity:p,fetchPriority:h,nonce:typeof u.nonce=="string"?u.nonce:void 0})}},cu.preinitModule=function(c,u){if(typeof c=="string")if(typeof u=="object"&&u!==null){if(u.as==null||u.as==="script"){var d=l(u.as,u.crossOrigin);r.d.M(c,{crossOrigin:d,integrity:typeof u.integrity=="string"?u.integrity:void 0,nonce:typeof u.nonce=="string"?u.nonce:void 0})}}else u==null&&r.d.M(c)},cu.preload=function(c,u){if(typeof c=="string"&&typeof u=="object"&&u!==null&&typeof u.as=="string"){var d=u.as,f=l(d,u.crossOrigin);r.d.L(c,d,{crossOrigin:f,integrity:typeof u.integrity=="string"?u.integrity:void 0,nonce:typeof u.nonce=="string"?u.nonce:void 0,type:typeof u.type=="string"?u.type:void 0,fetchPriority:typeof u.fetchPriority=="string"?u.fetchPriority:void 0,referrerPolicy:typeof u.referrerPolicy=="string"?u.referrerPolicy:void 0,imageSrcSet:typeof u.imageSrcSet=="string"?u.imageSrcSet:void 0,imageSizes:typeof u.imageSizes=="string"?u.imageSizes:void 0,media:typeof u.media=="string"?u.media:void 0})}},cu.preloadModule=function(c,u){if(typeof c=="string")if(u){var d=l(u.as,u.crossOrigin);r.d.m(c,{as:typeof u.as=="string"&&u.as!=="script"?u.as:void 0,crossOrigin:d,integrity:typeof u.integrity=="string"?u.integrity:void 0})}else r.d.m(c)},cu.requestFormReset=function(c){r.d.r(c)},cu.unstable_batchedUpdates=function(c,u){return c(u)},cu.useFormState=function(c,u,d){return i.H.useFormState(c,u,d)},cu.useFormStatus=function(){return i.H.useHostTransitionStatus()},cu.version="19.2.6",cu}var ORe;function Vnt(){if(ORe)return tY.exports;ORe=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),tY.exports=Xzt(),tY.exports}var _Re;function Kzt(){if(_Re)return pA;_Re=1;var e={env:{}};var t=Yzt(),n=iN(),r=Vnt();function s(x){var O="https://react.dev/errors/"+x;if(1<arguments.length){O+="?args[]="+encodeURIComponent(arguments[1]);for(var T=2;T<arguments.length;T++)O+="&args[]="+encodeURIComponent(arguments[T])}return"Minified React error #"+x+"; visit "+O+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function a(x){return!(!x||x.nodeType!==1&&x.nodeType!==9&&x.nodeType!==11)}function i(x){var O=x,T=x;if(x.alternate)for(;O.return;)O=O.return;else{x=O;do O=x,(O.flags&4098)!==0&&(T=O.return),x=O.return;while(x)}return O.tag===3?T:null}function l(x){if(x.tag===13){var O=x.memoizedState;if(O===null&&(x=x.alternate,x!==null&&(O=x.memoizedState)),O!==null)return O.dehydrated}return null}function c(x){if(x.tag===31){var O=x.memoizedState;if(O===null&&(x=x.alternate,x!==null&&(O=x.memoizedState)),O!==null)return O.dehydrated}return null}function u(x){if(i(x)!==x)throw Error(s(188))}function d(x){var O=x.alternate;if(!O){if(O=i(x),O===null)throw Error(s(188));return O!==x?null:x}for(var T=x,A=O;;){var H=T.return;if(H===null)break;var Q=H.alternate;if(Q===null){if(A=H.return,A!==null){T=A;continue}break}if(H.child===Q.child){for(Q=H.child;Q;){if(Q===T)return u(H),x;if(Q===A)return u(H),O;Q=Q.sibling}throw Error(s(188))}if(T.return!==A.return)T=H,A=Q;else{for(var ie=!1,we=H.child;we;){if(we===T){ie=!0,T=H,A=Q;break}if(we===A){ie=!0,A=H,T=Q;break}we=we.sibling}if(!ie){for(we=Q.child;we;){if(we===T){ie=!0,T=Q,A=H;break}if(we===A){ie=!0,A=Q,T=H;break}we=we.sibling}if(!ie)throw Error(s(189))}}if(T.alternate!==A)throw Error(s(190))}if(T.tag!==3)throw Error(s(188));return T.stateNode.current===T?x:O}function f(x){var O=x.tag;if(O===5||O===26||O===27||O===6)return x;for(x=x.child;x!==null;){if(O=f(x),O!==null)return O;x=x.sibling}return null}var p=Object.assign,h=Symbol.for("react.element"),m=Symbol.for("react.transitional.element"),g=Symbol.for("react.portal"),y=Symbol.for("react.fragment"),b=Symbol.for("react.strict_mode"),w=Symbol.for("react.profiler"),S=Symbol.for("react.consumer"),k=Symbol.for("react.context"),_=Symbol.for("react.forward_ref"),C=Symbol.for("react.suspense"),E=Symbol.for("react.suspense_list"),j=Symbol.for("react.memo"),N=Symbol.for("react.lazy"),I=Symbol.for("react.activity"),R=Symbol.for("react.memo_cache_sentinel"),$=Symbol.iterator;function F(x){return x===null||typeof x!="object"?null:(x=$&&x[$]||x["@@iterator"],typeof x=="function"?x:null)}var D=Symbol.for("react.client.reference");function V(x){if(x==null)return null;if(typeof x=="function")return x.$$typeof===D?null:x.displayName||x.name||null;if(typeof x=="string")return x;switch(x){case y:return"Fragment";case w:return"Profiler";case b:return"StrictMode";case C:return"Suspense";case E:return"SuspenseList";case I:return"Activity"}if(typeof x=="object")switch(x.$$typeof){case g:return"Portal";case k:return x.displayName||"Context";case S:return(x._context.displayName||"Context")+".Consumer";case _:var O=x.render;return x=x.displayName,x||(x=O.displayName||O.name||"",x=x!==""?"ForwardRef("+x+")":"ForwardRef"),x;case j:return O=x.displayName||null,O!==null?O:V(x.type)||"Memo";case N:O=x._payload,x=x._init;try{return V(x(O))}catch{}}return null}var W=Array.isArray,L=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,z=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,B={pending:!1,data:null,method:null,action:null},M=[],G=-1;function U(x){return{current:x}}function P(x){0>G||(x.current=M[G],M[G]=null,G--)}function q(x,O){G++,M[G]=x.current,x.current=O}var Z=U(null),X=U(null),te=U(null),J=U(null);function ee(x,O){switch(q(te,O),q(X,x),q(Z,null),O.nodeType){case 9:case 11:x=(x=O.documentElement)&&(x=x.namespaceURI)?zAe(x):0;break;default:if(x=O.tagName,O=O.namespaceURI)O=zAe(O),x=BAe(O,x);else switch(x){case"svg":x=1;break;case"math":x=2;break;default:x=0}}P(Z),q(Z,x)}function ae(){P(Z),P(X),P(te)}function de(x){x.memoizedState!==null&&q(J,x);var O=Z.current,T=BAe(O,x.type);O!==T&&(q(X,x),q(Z,T))}function Y(x){X.current===x&&(P(Z),P(X)),J.current===x&&(P(J),lA._currentValue=B)}var ne,ce;function pe(x){if(ne===void 0)try{throw Error()}catch(T){var O=T.stack.trim().match(/\n( *(at )?)/);ne=O&&O[1]||"",ce=-1<T.stack.indexOf(`
|
|
3
3
|
at`)?" (<anonymous>)":-1<T.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
4
4
|
`+ne+x+ce}var le=!1;function ve(x,O){if(!x||le)return"";le=!0;var T=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var A={DetermineComponentFrameRoot:function(){try{if(O){var Ct=function(){throw Error()};if(Object.defineProperty(Ct.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Ct,[])}catch(dt){var lt=dt}Reflect.construct(x,[],Ct)}else{try{Ct.call()}catch(dt){lt=dt}x.call(Ct.prototype)}}else{try{throw Error()}catch(dt){lt=dt}(Ct=x())&&typeof Ct.catch=="function"&&Ct.catch(function(){})}}catch(dt){if(dt&<&&typeof dt.stack=="string")return[dt.stack,lt.stack]}return[null,null]}};A.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var H=Object.getOwnPropertyDescriptor(A.DetermineComponentFrameRoot,"name");H&&H.configurable&&Object.defineProperty(A.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var Q=A.DetermineComponentFrameRoot(),ie=Q[0],we=Q[1];if(ie&&we){var Be=ie.split(`
|
|
@@ -109,7 +109,7 @@ ${n}
|
|
|
109
109
|
`)}if(a)break}const s=O2e(n);r=!0,s&&(yield s)}finally{r||await e.cancel(),e.releaseLock()}}},mYt=class extends pi{constructor(e){super(e)}async create(e){const{requestContext:t,...n}=e,r=`/v1/responses${nn(t)}`;if(e.stream){const a=await this.request(r,{method:"POST",body:n,stream:!0});return new hYt(a)}const s=await this.request(r,{method:"POST",body:n});return AF(s)}stream(e){return this.create({...e,stream:!0})}async retrieve(e,t){const n=await this.request(`/v1/responses/${encodeURIComponent(e)}${nn(t)}`);return AF(n)}delete(e,t){return this.request(`/v1/responses/${encodeURIComponent(e)}${nn(t)}`,{method:"DELETE"})}},gYt=class extends pi{constructor(e){super(e)}listPlatforms(){return this.request("/channels/platforms")}async listInstallations(e,t){const n=await this.request(`/channels/${e}/installations`);return t?n.filter(r=>r.agentId===t):n}connect(e,t,n){return this.request(`/channels/${e}/connect`,{method:"POST",body:{agentId:t,options:n}})}disconnect(e,t){return this.request(`/channels/${e}/${t}/disconnect`,{method:"POST"})}},vYt=class extends pi{constructor(e,t,n){super(e),this.controllerId=t,this.resourceId=n}controllerId;resourceId;base(){return`/agent-controller/${encodeURIComponent(this.controllerId)}/sessions/${encodeURIComponent(this.resourceId)}`}create(e){return this.request(`/agent-controller/${encodeURIComponent(this.controllerId)}/sessions`,{method:"POST",body:{resourceId:this.resourceId,tags:e?.tags}})}async subscribe(e){const t=await this.request(`${this.base()}/stream`,{stream:!0});if(!t.body)throw new Error("No response body for agent controller session stream");const n=t.body.getReader(),r=new TextDecoder;let s=!1,a="";return(async()=>{try{for(;!s;){const{done:l,value:c}=await n.read();if(l)break;a+=r.decode(c,{stream:!0});let u;for(;(u=a.indexOf(`
|
|
110
110
|
|
|
111
111
|
`))!==-1;){const d=a.slice(0,u);a=a.slice(u+2);for(const f of d.split(`
|
|
112
|
-
`)){if(!f.startsWith("data:"))continue;const p=f.slice(5).trim();if(p)try{e.onEvent(JSON.parse(p))}catch{}}}}}catch(l){s||e.onError?.(l)}})(),{unsubscribe:()=>{s=!0,n.cancel().catch(()=>{})}}}async sendMessage(e){await this.request(`${this.base()}/messages`,{method:"POST",body:{message:e}})}async abort(){await this.request(`${this.base()}/abort`,{method:"POST"})}async approveTool(e,t){await this.request(`${this.base()}/tool-approval`,{method:"POST",body:{toolCallId:e,approved:t}})}async respondToToolSuspension(e,t){await this.request(`${this.base()}/tool-suspension`,{method:"POST",body:{toolCallId:e,resumeData:t}})}async steer(e){await this.request(`${this.base()}/steer`,{method:"POST",body:{message:e}})}state(){return this.request(this.base())}async setState(e){await this.request(`${this.base()}/state`,{method:"PUT",body:{state:e}})}async switchMode(e){await this.request(`${this.base()}/mode`,{method:"POST",body:{modeId:e}})}async switchModel(e,t){await this.request(`${this.base()}/model`,{method:"POST",body:{modelId:e,scope:t?.scope,modeId:t?.modeId}})}async listThreads(e){const t=typeof e=="number"?{limit:e}:e??{},n=new URLSearchParams;t.limit!=null&&n.set("limit",String(t.limit)),t.tags&&Object.keys(t.tags).length>0&&n.set("tags",JSON.stringify(t.tags));const r=n.toString()?`?${n.toString()}`:"";return(await this.request(`${this.base()}/threads${r}`)).threads}async switchThread(e){await this.request(`${this.base()}/thread`,{method:"POST",body:{threadId:e}})}async createThread(e){return this.request(`${this.base()}/threads`,{method:"POST",body:{title:e}})}async deleteThread(e){await this.request(`${this.base()}/threads/${encodeURIComponent(e)}`,{method:"DELETE"})}async renameThread(e,t){await this.request(`${this.base()}/threads/${encodeURIComponent(e)}`,{method:"PUT",body:{title:t}})}async cloneThread(e){return this.request(`${this.base()}/threads/clone`,{method:"POST",body:e??{}})}async listMessages(e,t){const n=t!=null?`?limit=${t}`:"";return(await this.request(`${this.base()}/threads/${encodeURIComponent(e)}/messages${n}`)).messages}async followUp(e){await this.request(`${this.base()}/follow-up`,{method:"POST",body:{message:e}})}async getOMRecord(){return(await this.request(`${this.base()}/om`)).record}async setResourceId(e){await this.request(`${this.base()}/resource`,{method:"POST",body:{newResourceId:e}})}async getResourceIds(){return(await this.request(`${this.base()}/resources`)).resourceIds}async getGoal(){return(await this.request(`${this.base()}/goal`)).goal}async setGoal(e,t){return(await this.request(`${this.base()}/goal`,{method:"POST",body:{objective:e,...t}})).goal}async updateGoal(e){return(await this.request(`${this.base()}/goal`,{method:"PUT",body:e})).goal}async clearGoal(){await this.request(`${this.base()}/goal`,{method:"DELETE"})}async getPermissions(){return this.request(`${this.base()}/permissions`)}async setPermissionForCategory(e,t){await this.request(`${this.base()}/permissions/category`,{method:"PUT",body:{category:e,policy:t}})}async setPermissionForTool(e,t){await this.request(`${this.base()}/permissions/tool`,{method:"PUT",body:{toolName:e,policy:t}})}async sendNotification(e){return this.request(`${this.base()}/notifications`,{method:"POST",body:e})}},yYt=class extends pi{constructor(e,t){super(e),this.controllerId=t}controllerId;basePath(){return`/agent-controller/${encodeURIComponent(this.controllerId)}`}async listModes(){return(await this.request(`${this.basePath()}/modes`)).modes}async listModels(){return(await this.request(`${this.basePath()}/models`)).models}async workspaceStatus(){return this.request(`${this.basePath()}/workspace`)}session(e){return new vYt(this.options,this.controllerId,e)}},LR=class extends pi{observability;conversations;responses;channels;constructor(e){super(e),this.observability=new tYt(e),this.conversations=new LQt(e),this.responses=new mYt(e),this.channels=new gYt(e)}listAgents(e,t){const n=fk(Pr(e)),r=new URLSearchParams;n&&r.set("requestContext",n),t&&r.set("partial","true");const s=r.toString();return this.request(`/agents${s?`?${s}`:""}`)}listAgentsModelProviders(){return this.request("/agents/providers")}getAgent(e,t){return new IQt(this.options,e,t)}async listAgentControllers(){return(await this.request("/agent-controller")).agentControllers}getAgentController(e){return new yYt(this.options,e)}async listMemoryThreads(e={}){const t=new URLSearchParams;e.resourceId&&t.set("resourceId",e.resourceId),e.metadata&&t.set("metadata",JSON.stringify(e.metadata)),e.agentId&&t.set("agentId",e.agentId),e.page!==void 0&&t.set("page",e.page.toString()),e.perPage!==void 0&&t.set("perPage",e.perPage.toString()),e.orderBy&&(e.orderBy.field&&t.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&t.set("orderBy[direction]",e.orderBy.direction));const n=t.toString(),r=await this.request(`/memory/threads${n?`?${n}`:""}${nn(e.requestContext,n?"&":"?")}`);return"threads"in r?r:{threads:r,total:r.length,page:e.page??0,perPage:e.perPage??100,hasMore:!1}}getMemoryConfig(e){return this.request(`/memory/config?agentId=${e.agentId}${nn(e.requestContext,"&")}`)}createMemoryThread(e){return this.request(`/memory/threads?agentId=${e.agentId}${nn(e.requestContext,"&")}`,{method:"POST",body:e})}getMemoryThread({threadId:e,agentId:t}){return new AQt(this.options,e,t)}listThreadMessages(e,t={}){let n="";const r=t.includeSystemReminders===void 0?"":`includeSystemReminders=${t.includeSystemReminders}`;return t.networkId?n=`/memory/network/threads/${e}/messages?networkId=${t.networkId}${r?`&${r}`:""}${nn(t.requestContext,"&")}`:t.agentId?n=`/memory/threads/${e}/messages?agentId=${t.agentId}${r?`&${r}`:""}${nn(t.requestContext,"&")}`:n=`/memory/threads/${e}/messages${r?`?${r}`:""}${nn(t.requestContext,r?"&":"?")}`,this.request(n)}deleteThread(e,t){if(!t||!!t.agentId==!!t.networkId)throw new Error("MastraClient.deleteThread() requires exactly one of agentId or networkId. The server cannot resolve which memory store owns the thread without one, and passing both is ambiguous.");const n=t.agentId?`/memory/threads/${e}?agentId=${t.agentId}${nn(t.requestContext,"&")}`:`/memory/network/threads/${e}?networkId=${t.networkId}${nn(t.requestContext,"&")}`;return this.request(n,{method:"DELETE"})}saveMessageToMemory(e){return this.request(`/memory/save-messages?agentId=${e.agentId}${nn(e.requestContext,"&")}`,{method:"POST",body:e})}getMemoryStatus(e,t,n){const r=new URLSearchParams({agentId:e});n?.resourceId&&r.set("resourceId",n.resourceId),n?.threadId&&r.set("threadId",n.threadId);const s=r.toString();return this.request(`/memory/status?${s}${nn(t,"&")}`)}getObservationalMemory(e){const t=new URLSearchParams({agentId:e.agentId});e.resourceId&&t.set("resourceId",e.resourceId),e.threadId&&t.set("threadId",e.threadId),e.from&&t.set("from",e.from instanceof Date?e.from.toISOString():e.from),e.to&&t.set("to",e.to instanceof Date?e.to.toISOString():e.to),e.offset!=null&&t.set("offset",String(e.offset)),e.limit!=null&&t.set("limit",String(e.limit));const n=t.toString();return this.request(`/memory/observational-memory?${n}${nn(e.requestContext,"&")}`)}awaitBufferStatus(e){return this.request(`/memory/observational-memory/buffer-status${nn(e.requestContext)}`,{method:"POST",body:{agentId:e.agentId,resourceId:e.resourceId,threadId:e.threadId}})}listTools(e){const t=fk(Pr(e)),n=new URLSearchParams;t&&n.set("requestContext",t);const r=n.toString();return this.request(`/tools${r?`?${r}`:""}`)}getTool(e){return new $Qt(this.options,e)}listProcessors(e){const t=fk(Pr(e)),n=new URLSearchParams;t&&n.set("requestContext",t);const r=n.toString();return this.request(`/processors${r?`?${r}`:""}`)}getProcessor(e){return new MQt(this.options,e)}listWorkflows(e,t){const n=fk(Pr(e)),r=new URLSearchParams;n&&r.set("requestContext",n),t&&r.set("partial","true");const s=r.toString();return this.request(`/workflows${s?`?${s}`:""}`)}getWorkflow(e){return new UQt(this.options,e)}getAgentBuilderActions(){return this.request("/agent-builder")}getAgentBuilderAction(e){return new eYt(this.options,e)}getVector(e){return new PQt(this.options,e)}listLogs(e){const{transportId:t,fromDate:n,toDate:r,logLevel:s,filters:a,page:i,perPage:l}=e,c=a?Object.entries(a).map(([d,f])=>`${d}:${f}`):[],u=new URLSearchParams;if(t&&u.set("transportId",t),n&&u.set("fromDate",n.toISOString()),r&&u.set("toDate",r.toISOString()),s&&u.set("logLevel",s),i&&u.set("page",String(i)),l&&u.set("perPage",String(l)),c)if(Array.isArray(c))for(const d of c)u.append("filters",d);else u.set("filters",c);return u.size?this.request(`/logs?${u}`):this.request("/logs")}getLogForRun(e){const{runId:t,transportId:n,fromDate:r,toDate:s,logLevel:a,filters:i,page:l,perPage:c}=e,u=i?Object.entries(i).map(([f,p])=>`${f}:${p}`):[],d=new URLSearchParams;if(t&&d.set("runId",t),n&&d.set("transportId",n),r&&d.set("fromDate",r.toISOString()),s&&d.set("toDate",s.toISOString()),a&&d.set("logLevel",a),l&&d.set("page",String(l)),c&&d.set("perPage",String(c)),u)if(Array.isArray(u))for(const f of u)d.append("filters",f);else d.set("filters",u);return d.size?this.request(`/logs/${t}?${d}`):this.request(`/logs/${t}`)}listLogTransports(){return this.request("/logs/transports")}getMcpServers(e){const t=new URLSearchParams;e?.page!==void 0&&t.set("page",String(e.page)),e?.perPage!==void 0&&t.set("perPage",String(e.perPage)),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));const n=t.toString();return this.request(`/mcp/v0/servers${n?`?${n}`:""}`)}getMcpServerDetails(e,t){const n=new URLSearchParams;t?.version&&n.set("version",t.version);const r=n.toString();return this.request(`/mcp/v0/servers/${e}${r?`?${r}`:""}`)}getMcpServerTools(e){return this.request(`/mcp/${e}/tools`)}getMcpServerTool(e,t){return new JQt(this.options,e,t)}getMcpServerResources(e){return this.request(`/mcp/${encodeURIComponent(e)}/resources`)}readMcpServerResource(e,t){return this.request(`/mcp/${encodeURIComponent(e)}/resources/read`,{method:"POST",body:{uri:t}})}getA2A(e){return new KQt(this.options,e)}getWorkingMemory({agentId:e,threadId:t,resourceId:n,requestContext:r}){return this.request(`/memory/threads/${t}/working-memory?agentId=${e}&resourceId=${n}${nn(r,"&")}`)}searchMemory({agentId:e,resourceId:t,threadId:n,searchQuery:r,memoryConfig:s,requestContext:a}){const i=new URLSearchParams({searchQuery:r,resourceId:t,agentId:e});return n&&i.append("threadId",n),s&&i.append("memoryConfig",JSON.stringify(s)),this.request(`/memory/search?${i}${nn(a,"&")}`)}updateWorkingMemory({agentId:e,threadId:t,workingMemory:n,resourceId:r,requestContext:s}){return this.request(`/memory/threads/${t}/working-memory?agentId=${e}${nn(s,"&")}`,{method:"POST",body:{workingMemory:n,resourceId:r}})}listScorers(e){return this.request(`/scores/scorers${nn(e)}`)}getScorer(e){return this.request(`/scores/scorers/${encodeURIComponent(e)}`)}listScoresByScorerId(e){const{page:t,perPage:n,scorerId:r,entityId:s,entityType:a}=e,i=new URLSearchParams;s&&i.set("entityId",s),a&&i.set("entityType",a),t!==void 0&&i.set("page",String(t)),n!==void 0&&i.set("perPage",String(n));const l=i.toString();return this.request(`/scores/scorer/${encodeURIComponent(r)}${l?`?${l}`:""}`)}listScoresByRunId(e){const{runId:t,page:n,perPage:r}=e,s=new URLSearchParams;n!==void 0&&s.set("page",String(n)),r!==void 0&&s.set("perPage",String(r));const a=s.toString();return this.request(`/scores/run/${encodeURIComponent(t)}${a?`?${a}`:""}`)}listScoresByEntityId(e){const{entityId:t,entityType:n,page:r,perPage:s}=e,a=new URLSearchParams;r!==void 0&&a.set("page",String(r)),s!==void 0&&a.set("perPage",String(s));const i=a.toString();return this.request(`/scores/entity/${encodeURIComponent(n)}/${encodeURIComponent(t)}${i?`?${i}`:""}`)}saveScore(e){return this.request("/scores",{method:"POST",body:e})}getTrace(e){return this.observability.getTrace(e)}getTraceLight(e){return this.observability.getTraceLight(e)}getSpan(e,t){return this.observability.getSpan(e,t)}getTraceTrajectory(e){return this.observability.getTraceTrajectory(e)}getTraces(e){return this.observability.getTraces(e)}listTraces(e={}){return this.observability.listTraces(e)}listBranches(e={}){return this.observability.listBranches(e)}getBranch(e){return this.observability.getBranch(e)}listScoresBySpan(e){return this.observability.listScoresBySpan(e)}score(e){return this.observability.score(e)}listLogsVNext(e={}){return this.observability.listLogs(e)}listScores(e={}){return this.observability.listScores(e)}createScore(e){return this.observability.createScore(e)}getScoreAggregate(e){return this.observability.getScoreAggregate(e)}getScoreBreakdown(e){return this.observability.getScoreBreakdown(e)}getScoreTimeSeries(e){return this.observability.getScoreTimeSeries(e)}getScorePercentiles(e){return this.observability.getScorePercentiles(e)}listFeedback(e={}){return this.observability.listFeedback(e)}createFeedback(e){return this.observability.createFeedback(e)}getFeedbackAggregate(e){return this.observability.getFeedbackAggregate(e)}getFeedbackBreakdown(e){return this.observability.getFeedbackBreakdown(e)}getFeedbackTimeSeries(e){return this.observability.getFeedbackTimeSeries(e)}getFeedbackPercentiles(e){return this.observability.getFeedbackPercentiles(e)}getMetricAggregate(e){return this.observability.getMetricAggregate(e)}getMetricBreakdown(e){return this.observability.getMetricBreakdown(e)}getMetricTimeSeries(e){return this.observability.getMetricTimeSeries(e)}getMetricPercentiles(e){return this.observability.getMetricPercentiles(e)}getMetricNames(e={}){return this.observability.getMetricNames(e)}getMetricLabelKeys(e){return this.observability.getMetricLabelKeys(e)}getMetricLabelValues(e){return this.observability.getMetricLabelValues(e)}getEntityTypes(){return this.observability.getEntityTypes()}getEntityNames(e={}){return this.observability.getEntityNames(e)}getServiceNames(){return this.observability.getServiceNames()}getEnvironments(){return this.observability.getEnvironments()}getTags(e={}){return this.observability.getTags(e)}listStoredAgents(e){const t=new URLSearchParams;e?.page!==void 0&&t.set("page",String(e.page)),e?.perPage!==void 0&&t.set("perPage",String(e.perPage)),e?.orderBy&&(e.orderBy.field&&t.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&t.set("orderBy[direction]",e.orderBy.direction)),e?.status&&t.set("status",e.status),e?.authorId&&t.set("authorId",e.authorId),e?.visibility&&t.set("visibility",e.visibility),e?.metadata&&t.set("metadata",JSON.stringify(e.metadata)),e?.favoritedOnly&&t.set("favoritedOnly","true"),e?.pinFavoritedFor&&t.set("pinFavoritedFor",e.pinFavoritedFor);const n=t.toString();return this.request(`/stored/agents${n?`?${n}`:""}`)}createStoredAgent(e){return this.request("/stored/agents",{method:"POST",body:e})}getStoredAgent(e){return new nYt(this.options,e)}listStoredPromptBlocks(e){const t=new URLSearchParams;e?.page!==void 0&&t.set("page",String(e.page)),e?.perPage!==void 0&&t.set("perPage",String(e.perPage)),e?.orderBy&&(e.orderBy.field&&t.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&t.set("orderBy[direction]",e.orderBy.direction)),e?.authorId&&t.set("authorId",e.authorId),e?.status&&t.set("status",e.status),e?.metadata&&t.set("metadata",JSON.stringify(e.metadata));const n=t.toString();return this.request(`/stored/prompt-blocks${n?`?${n}`:""}`)}createStoredPromptBlock(e){return this.request("/stored/prompt-blocks",{method:"POST",body:e})}getStoredPromptBlock(e){return new rYt(this.options,e)}listStoredScorers(e){const t=new URLSearchParams;e?.page!==void 0&&t.set("page",String(e.page)),e?.perPage!==void 0&&t.set("perPage",String(e.perPage)),e?.orderBy&&(e.orderBy.field&&t.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&t.set("orderBy[direction]",e.orderBy.direction)),e?.authorId&&t.set("authorId",e.authorId),e?.metadata&&t.set("metadata",JSON.stringify(e.metadata));const n=t.toString();return this.request(`/stored/scorers${n?`?${n}`:""}`)}createStoredScorer(e){return this.request("/stored/scorers",{method:"POST",body:e})}getStoredScorer(e){return new aYt(this.options,e)}listStoredMCPClients(e){const t=new URLSearchParams;e?.page!==void 0&&t.set("page",String(e.page)),e?.perPage!==void 0&&t.set("perPage",String(e.perPage)),e?.orderBy&&(e.orderBy.field&&t.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&t.set("orderBy[direction]",e.orderBy.direction)),e?.authorId&&t.set("authorId",e.authorId),e?.metadata&&t.set("metadata",JSON.stringify(e.metadata));const n=t.toString();return this.request(`/stored/mcp-clients${n?`?${n}`:""}`)}createStoredMCPClient(e){return this.request("/stored/mcp-clients",{method:"POST",body:e})}getStoredMCPClient(e){return new sYt(this.options,e)}listStoredSkills(e){const t=new URLSearchParams;e?.page!==void 0&&t.set("page",String(e.page)),e?.perPage!==void 0&&t.set("perPage",String(e.perPage)),e?.orderBy&&(e.orderBy.field&&t.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&t.set("orderBy[direction]",e.orderBy.direction)),e?.authorId&&t.set("authorId",e.authorId),e?.visibility&&t.set("visibility",e.visibility),e?.metadata&&t.set("metadata",JSON.stringify(e.metadata)),e?.favoritedOnly&&t.set("favoritedOnly","true"),e?.pinFavoritedFor&&t.set("pinFavoritedFor",e.pinFavoritedFor);const n=t.toString();return this.request(`/stored/skills${n?`?${n}`:""}`)}createStoredSkill(e){return this.request("/stored/skills",{method:"POST",body:e})}getStoredSkill(e){return new uYt(this.options,e)}listToolProviders(){return this.request("/tool-providers")}getToolProvider(e){return new iYt(this.options,e)}getProcessorProviders(){return this.request("/processor-providers")}getProcessorProvider(e){return new oYt(this.options,e)}getSystemPackages(){return this.request("/system/packages")}getBuilderSettings(){return this.request("/editor/builder/settings")}getBuilderAvailableModels(){return this.request("/editor/builder/models/available")}getPermissionPatterns(){return this.request("/auth/permission-patterns")}getInfrastructureStatus(){return this.request("/editor/builder/infrastructure")}listBuilderRegistries(){return this.request("/editor/builder/registries")}searchBuilderRegistry(e,t){const n=new URLSearchParams({q:t.q});return t.limit!==void 0&&n.set("limit",String(t.limit)),this.request(`/editor/builder/registries/${encodeURIComponent(e)}/search?${n.toString()}`)}getBuilderRegistryPopular(e,t){const n=new URLSearchParams;t?.limit!==void 0&&n.set("limit",String(t.limit)),t?.offset!==void 0&&n.set("offset",String(t.offset));const r=n.toString();return this.request(`/editor/builder/registries/${encodeURIComponent(e)}/popular${r?`?${r}`:""}`)}getBuilderRegistryPreview(e,t){const n=new URLSearchParams({owner:t.owner,repo:t.repo,path:t.path});return this.request(`/editor/builder/registries/${encodeURIComponent(e)}/preview?${n.toString()}`)}installBuilderRegistrySkill(e,t){return this.request(`/editor/builder/registries/${encodeURIComponent(e)}/install`,{method:"POST",body:t})}listWorkspaces(){return this.request("/workspaces")}getWorkspace(e){return new cYt(this.options,e)}listStoredWorkspaces(e){const t=new URLSearchParams;e?.page!==void 0&&t.set("page",String(e.page)),e?.perPage!==void 0&&t.set("perPage",String(e.perPage)),e?.authorId&&t.set("authorId",e.authorId),e?.orderBy?.field&&t.set("orderBy[field]",e.orderBy.field),e?.orderBy?.direction&&t.set("orderBy[direction]",e.orderBy.direction);const n=t.toString();return this.request(`/stored/workspaces${n?`?${n}`:""}`)}getStoredWorkspace(e){return this.request(`/stored/workspaces/${encodeURIComponent(e)}`)}listVectors(){return this.request("/vectors")}listEmbedders(){return this.request("/embedders")}listDatasets(e){const t=new URLSearchParams;e?.page!==void 0&&t.set("page",String(e.page)),e?.perPage!==void 0&&t.set("perPage",String(e.perPage));const n=t.toString();return this.request(`/datasets${n?`?${n}`:""}`)}getDataset(e){return this.request(`/datasets/${encodeURIComponent(e)}`)}createDataset(e){return this.request("/datasets",{method:"POST",body:e})}updateDataset(e){const{datasetId:t,...n}=e;return this.request(`/datasets/${encodeURIComponent(t)}`,{method:"PATCH",body:n})}deleteDataset(e){return this.request(`/datasets/${encodeURIComponent(e)}`,{method:"DELETE"})}listDatasetItems(e,t){const n=new URLSearchParams;t?.page!==void 0&&n.set("page",String(t.page)),t?.perPage!==void 0&&n.set("perPage",String(t.perPage)),t?.search&&n.set("search",t.search),t?.version!=null&&n.set("version",String(t.version));const r=n.toString();return this.request(`/datasets/${encodeURIComponent(e)}/items${r?`?${r}`:""}`)}getDatasetItem(e,t){return this.request(`/datasets/${encodeURIComponent(e)}/items/${encodeURIComponent(t)}`)}addDatasetItem(e){const{datasetId:t,...n}=e;return this.request(`/datasets/${encodeURIComponent(t)}/items`,{method:"POST",body:n})}updateDatasetItem(e){const{datasetId:t,itemId:n,...r}=e;return this.request(`/datasets/${encodeURIComponent(t)}/items/${encodeURIComponent(n)}`,{method:"PATCH",body:r})}deleteDatasetItem(e,t){return this.request(`/datasets/${encodeURIComponent(e)}/items/${encodeURIComponent(t)}`,{method:"DELETE"})}batchInsertDatasetItems(e){const{datasetId:t,...n}=e;return this.request(`/datasets/${encodeURIComponent(t)}/items/batch`,{method:"POST",body:n})}batchDeleteDatasetItems(e){const{datasetId:t,...n}=e;return this.request(`/datasets/${encodeURIComponent(t)}/items/batch`,{method:"DELETE",body:n})}generateDatasetItems(e){const{datasetId:t,...n}=e;return this.request(`/datasets/${encodeURIComponent(t)}/generate-items`,{method:"POST",body:n})}clusterFailures(e){return this.request("/datasets/cluster-failures",{method:"POST",body:e})}getItemHistory(e,t){return this.request(`/datasets/${encodeURIComponent(e)}/items/${encodeURIComponent(t)}/history`)}getDatasetItemVersion(e,t,n){return this.request(`/datasets/${encodeURIComponent(e)}/items/${encodeURIComponent(t)}/versions/${n}`)}listDatasetVersions(e,t){const n=new URLSearchParams;t?.page!==void 0&&n.set("page",String(t.page)),t?.perPage!==void 0&&n.set("perPage",String(t.perPage));const r=n.toString();return this.request(`/datasets/${encodeURIComponent(e)}/versions${r?`?${r}`:""}`)}listExperiments(e){const t=new URLSearchParams;e?.page!==void 0&&t.set("page",String(e.page)),e?.perPage!==void 0&&t.set("perPage",String(e.perPage));const n=t.toString();return this.request(`/experiments${n?`?${n}`:""}`)}getExperimentReviewSummary(){return this.request("/experiments/review-summary")}listDatasetExperiments(e,t){const n=new URLSearchParams;t?.page!==void 0&&n.set("page",String(t.page)),t?.perPage!==void 0&&n.set("perPage",String(t.perPage));const r=n.toString();return this.request(`/datasets/${encodeURIComponent(e)}/experiments${r?`?${r}`:""}`)}getDatasetExperiment(e,t){return this.request(`/datasets/${encodeURIComponent(e)}/experiments/${encodeURIComponent(t)}`)}listDatasetExperimentResults(e,t,n){const r=new URLSearchParams;n?.page!==void 0&&r.set("page",String(n.page)),n?.perPage!==void 0&&r.set("perPage",String(n.perPage));const s=r.toString();return this.request(`/datasets/${encodeURIComponent(e)}/experiments/${encodeURIComponent(t)}/results${s?`?${s}`:""}`)}updateDatasetExperimentResult(e){const{datasetId:t,experimentId:n,resultId:r,...s}=e;return this.request(`/datasets/${encodeURIComponent(t)}/experiments/${encodeURIComponent(n)}/results/${encodeURIComponent(r)}`,{method:"PATCH",body:s})}triggerDatasetExperiment(e){const{datasetId:t,...n}=e;return this.request(`/datasets/${encodeURIComponent(t)}/experiments`,{method:"POST",body:n})}updateExperimentResult(e){const{datasetId:t,experimentId:n,resultId:r,...s}=e;return this.request(`/datasets/${encodeURIComponent(t)}/experiments/${encodeURIComponent(n)}/results/${encodeURIComponent(r)}`,{method:"PATCH",body:s})}compareExperiments(e){const{datasetId:t,...n}=e;return this.request(`/datasets/${encodeURIComponent(t)}/compare`,{method:"POST",body:n})}listBackgroundTasks(e={}){const t=new URLSearchParams;e.agentId&&t.set("agentId",e.agentId),e.status&&t.set("status",e.status),e.runId&&t.set("runId",e.runId),e.threadId&&t.set("threadId",e.threadId),e.resourceId&&t.set("resourceId",e.resourceId),e.toolName&&t.set("toolName",e.toolName),e.toolCallId&&t.set("toolCallId",e.toolCallId),e.fromDate&&t.set("fromDate",e.fromDate.toISOString()),e.toDate&&t.set("toDate",e.toDate.toISOString()),e.dateFilterBy&&t.set("dateFilterBy",e.dateFilterBy),e.orderBy&&t.set("orderBy",e.orderBy),e.orderDirection&&t.set("orderDirection",e.orderDirection),e.page!==void 0&&t.set("page",String(e.page)),e.perPage!==void 0&&t.set("perPage",String(e.perPage));const n=t.toString();return this.request(`/background-tasks${n?`?${n}`:""}`)}getBackgroundTask(e){return this.request(`/background-tasks/${encodeURIComponent(e)}`)}async streamBackgroundTasks(e={}){const t=new URLSearchParams;e.agentId&&t.set("agentId",e.agentId),e.runId&&t.set("runId",e.runId),e.threadId&&t.set("threadId",e.threadId),e.resourceId&&t.set("resourceId",e.resourceId),e.taskId&&t.set("taskId",e.taskId);const n=t.toString(),r=await this.request(`/background-tasks/stream${n?`?${n}`:""}`,{stream:!0});if(!r.ok)throw new Error(`Failed to stream background tasks: ${r.statusText}`);if(!r.body)throw new Error("Response body is null");let s;return r.body.pipeThrough(new TransformStream({async transform(a,i){try{const c=new TextDecoder().decode(a).split(`
|
|
112
|
+
`)){if(!f.startsWith("data:"))continue;const p=f.slice(5).trim();if(p)try{e.onEvent(JSON.parse(p))}catch{}}}}}catch(l){s||e.onError?.(l)}})(),{unsubscribe:()=>{s=!0,n.cancel().catch(()=>{})}}}async sendMessage(e){await this.request(`${this.base()}/messages`,{method:"POST",body:{message:e}})}async abort(){await this.request(`${this.base()}/abort`,{method:"POST"})}async approveTool(e,t){await this.request(`${this.base()}/tool-approval`,{method:"POST",body:{toolCallId:e,approved:t}})}async respondToToolSuspension(e,t){await this.request(`${this.base()}/tool-suspension`,{method:"POST",body:{toolCallId:e,resumeData:t}})}async steer(e){await this.request(`${this.base()}/steer`,{method:"POST",body:{message:e}})}state(){return this.request(this.base())}async setState(e){await this.request(`${this.base()}/state`,{method:"PUT",body:{state:e}})}async switchMode(e){await this.request(`${this.base()}/mode`,{method:"POST",body:{modeId:e}})}async switchModel(e,t){await this.request(`${this.base()}/model`,{method:"POST",body:{modelId:e,scope:t?.scope,modeId:t?.modeId}})}async listThreads(e){const t=typeof e=="number"?{limit:e}:e??{},n=new URLSearchParams;t.limit!=null&&n.set("limit",String(t.limit)),t.tags&&Object.keys(t.tags).length>0&&n.set("tags",JSON.stringify(t.tags));const r=n.toString()?`?${n.toString()}`:"";return(await this.request(`${this.base()}/threads${r}`)).threads}async switchThread(e){await this.request(`${this.base()}/thread`,{method:"POST",body:{threadId:e}})}async createThread(e){return this.request(`${this.base()}/threads`,{method:"POST",body:{title:e}})}async deleteThread(e){await this.request(`${this.base()}/threads/${encodeURIComponent(e)}`,{method:"DELETE"})}async renameThread(e,t){await this.request(`${this.base()}/threads/${encodeURIComponent(e)}`,{method:"PUT",body:{title:t}})}async cloneThread(e){return this.request(`${this.base()}/threads/clone`,{method:"POST",body:e??{}})}async listMessages(e,t){const n=t!=null?`?limit=${t}`:"";return(await this.request(`${this.base()}/threads/${encodeURIComponent(e)}/messages${n}`)).messages}async followUp(e){await this.request(`${this.base()}/follow-up`,{method:"POST",body:{message:e}})}async getOMRecord(){return(await this.request(`${this.base()}/om`)).record}async setResourceId(e){await this.request(`${this.base()}/resource`,{method:"POST",body:{newResourceId:e}})}async getResourceIds(){return(await this.request(`${this.base()}/resources`)).resourceIds}async getGoal(){return(await this.request(`${this.base()}/goal`)).goal}async setGoal(e,t){return(await this.request(`${this.base()}/goal`,{method:"POST",body:{objective:e,...t}})).goal}async updateGoal(e){return(await this.request(`${this.base()}/goal`,{method:"PUT",body:e})).goal}async clearGoal(){await this.request(`${this.base()}/goal`,{method:"DELETE"})}async getPermissions(){return this.request(`${this.base()}/permissions`)}async setPermissionForCategory(e,t){await this.request(`${this.base()}/permissions/category`,{method:"PUT",body:{category:e,policy:t}})}async setPermissionForTool(e,t){await this.request(`${this.base()}/permissions/tool`,{method:"PUT",body:{toolName:e,policy:t}})}async sendNotification(e){return this.request(`${this.base()}/notifications`,{method:"POST",body:e})}},yYt=class extends pi{constructor(e,t){super(e),this.controllerId=t}controllerId;basePath(){return`/agent-controller/${encodeURIComponent(this.controllerId)}`}async listModes(){return(await this.request(`${this.basePath()}/modes`)).modes}async listModels(){return(await this.request(`${this.basePath()}/models`)).models}async workspaceStatus(){return this.request(`${this.basePath()}/workspace`)}session(e){return new vYt(this.options,this.controllerId,e)}},LR=class extends pi{observability;conversations;responses;channels;constructor(e){super(e),this.observability=new tYt(e),this.conversations=new LQt(e),this.responses=new mYt(e),this.channels=new gYt(e)}listAgents(e,t){const n=fk(Pr(e)),r=new URLSearchParams;n&&r.set("requestContext",n),t&&r.set("partial","true");const s=r.toString();return this.request(`/agents${s?`?${s}`:""}`)}listAgentsModelProviders(){return this.request("/agents/providers")}getAgent(e,t){return new IQt(this.options,e,t)}async listAgentControllers(){return(await this.request("/agent-controller")).agentControllers}getAgentController(e){return new yYt(this.options,e)}async listMemoryThreads(e={}){const t=new URLSearchParams;e.resourceId&&t.set("resourceId",e.resourceId),e.metadata&&t.set("metadata",JSON.stringify(e.metadata)),e.agentId&&t.set("agentId",e.agentId),e.page!==void 0&&t.set("page",e.page.toString()),e.perPage!==void 0&&t.set("perPage",e.perPage.toString()),e.orderBy&&(e.orderBy.field&&t.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&t.set("orderBy[direction]",e.orderBy.direction));const n=t.toString(),r=await this.request(`/memory/threads${n?`?${n}`:""}${nn(e.requestContext,n?"&":"?")}`);return"threads"in r?r:{threads:r,total:r.length,page:e.page??0,perPage:e.perPage??100,hasMore:!1}}getMemoryConfig(e){return this.request(`/memory/config?agentId=${e.agentId}${nn(e.requestContext,"&")}`)}createMemoryThread(e){return this.request(`/memory/threads?agentId=${e.agentId}${nn(e.requestContext,"&")}`,{method:"POST",body:e})}getMemoryThread({threadId:e,agentId:t}){return new AQt(this.options,e,t)}listThreadMessages(e,t={}){let n="";const r=t.includeSystemReminders===void 0?"":`includeSystemReminders=${t.includeSystemReminders}`;return t.networkId?n=`/memory/network/threads/${e}/messages?networkId=${t.networkId}${r?`&${r}`:""}${nn(t.requestContext,"&")}`:t.agentId?n=`/memory/threads/${e}/messages?agentId=${t.agentId}${r?`&${r}`:""}${nn(t.requestContext,"&")}`:n=`/memory/threads/${e}/messages${r?`?${r}`:""}${nn(t.requestContext,r?"&":"?")}`,this.request(n)}deleteThread(e,t){if(!t||!!t.agentId==!!t.networkId)throw new Error("MastraClient.deleteThread() requires exactly one of agentId or networkId. The server cannot resolve which memory store owns the thread without one, and passing both is ambiguous.");const n=t.agentId?`/memory/threads/${e}?agentId=${t.agentId}${nn(t.requestContext,"&")}`:`/memory/network/threads/${e}?networkId=${t.networkId}${nn(t.requestContext,"&")}`;return this.request(n,{method:"DELETE"})}saveMessageToMemory(e){return this.request(`/memory/save-messages?agentId=${e.agentId}${nn(e.requestContext,"&")}`,{method:"POST",body:e})}getMemoryStatus(e,t,n){const r=new URLSearchParams({agentId:e});n?.resourceId&&r.set("resourceId",n.resourceId),n?.threadId&&r.set("threadId",n.threadId);const s=r.toString();return this.request(`/memory/status?${s}${nn(t,"&")}`)}getObservationalMemory(e){const t=new URLSearchParams({agentId:e.agentId});e.resourceId&&t.set("resourceId",e.resourceId),e.threadId&&t.set("threadId",e.threadId),e.from&&t.set("from",e.from instanceof Date?e.from.toISOString():e.from),e.to&&t.set("to",e.to instanceof Date?e.to.toISOString():e.to),e.offset!=null&&t.set("offset",String(e.offset)),e.limit!=null&&t.set("limit",String(e.limit));const n=t.toString();return this.request(`/memory/observational-memory?${n}${nn(e.requestContext,"&")}`)}awaitBufferStatus(e){return this.request(`/memory/observational-memory/buffer-status${nn(e.requestContext)}`,{method:"POST",body:{agentId:e.agentId,resourceId:e.resourceId,threadId:e.threadId}})}listTools(e){const t=fk(Pr(e)),n=new URLSearchParams;t&&n.set("requestContext",t);const r=n.toString();return this.request(`/tools${r?`?${r}`:""}`)}getTool(e){return new $Qt(this.options,e)}listProcessors(e){const t=fk(Pr(e)),n=new URLSearchParams;t&&n.set("requestContext",t);const r=n.toString();return this.request(`/processors${r?`?${r}`:""}`)}getProcessor(e){return new MQt(this.options,e)}listWorkflows(e,t){const n=fk(Pr(e)),r=new URLSearchParams;n&&r.set("requestContext",n),t&&r.set("partial","true");const s=r.toString();return this.request(`/workflows${s?`?${s}`:""}`)}getWorkflow(e){return new UQt(this.options,e)}getAgentBuilderActions(){return this.request("/agent-builder")}getAgentBuilderAction(e){return new eYt(this.options,e)}getVector(e){return new PQt(this.options,e)}listLogs(e){const{transportId:t,fromDate:n,toDate:r,logLevel:s,filters:a,page:i,perPage:l}=e,c=a?Object.entries(a).map(([d,f])=>`${d}:${f}`):[],u=new URLSearchParams;if(t&&u.set("transportId",t),n&&u.set("fromDate",n.toISOString()),r&&u.set("toDate",r.toISOString()),s&&u.set("logLevel",s),i!==void 0&&u.set("page",String(i)),l!==void 0&&u.set("perPage",String(l)),c)if(Array.isArray(c))for(const d of c)u.append("filters",d);else u.set("filters",c);return u.size?this.request(`/logs?${u}`):this.request("/logs")}getLogForRun(e){const{runId:t,transportId:n,fromDate:r,toDate:s,logLevel:a,filters:i,page:l,perPage:c}=e,u=i?Object.entries(i).map(([f,p])=>`${f}:${p}`):[],d=new URLSearchParams;if(t&&d.set("runId",t),n&&d.set("transportId",n),r&&d.set("fromDate",r.toISOString()),s&&d.set("toDate",s.toISOString()),a&&d.set("logLevel",a),l!==void 0&&d.set("page",String(l)),c!==void 0&&d.set("perPage",String(c)),u)if(Array.isArray(u))for(const f of u)d.append("filters",f);else d.set("filters",u);return d.size?this.request(`/logs/${t}?${d}`):this.request(`/logs/${t}`)}listLogTransports(){return this.request("/logs/transports")}getMcpServers(e){const t=new URLSearchParams;e?.page!==void 0&&t.set("page",String(e.page)),e?.perPage!==void 0&&t.set("perPage",String(e.perPage)),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));const n=t.toString();return this.request(`/mcp/v0/servers${n?`?${n}`:""}`)}getMcpServerDetails(e,t){const n=new URLSearchParams;t?.version&&n.set("version",t.version);const r=n.toString();return this.request(`/mcp/v0/servers/${e}${r?`?${r}`:""}`)}getMcpServerTools(e){return this.request(`/mcp/${e}/tools`)}getMcpServerTool(e,t){return new JQt(this.options,e,t)}getMcpServerResources(e){return this.request(`/mcp/${encodeURIComponent(e)}/resources`)}readMcpServerResource(e,t){return this.request(`/mcp/${encodeURIComponent(e)}/resources/read`,{method:"POST",body:{uri:t}})}getA2A(e){return new KQt(this.options,e)}getWorkingMemory({agentId:e,threadId:t,resourceId:n,requestContext:r}){return this.request(`/memory/threads/${t}/working-memory?agentId=${e}&resourceId=${n}${nn(r,"&")}`)}searchMemory({agentId:e,resourceId:t,threadId:n,searchQuery:r,memoryConfig:s,requestContext:a}){const i=new URLSearchParams({searchQuery:r,resourceId:t,agentId:e});return n&&i.append("threadId",n),s&&i.append("memoryConfig",JSON.stringify(s)),this.request(`/memory/search?${i}${nn(a,"&")}`)}updateWorkingMemory({agentId:e,threadId:t,workingMemory:n,resourceId:r,requestContext:s}){return this.request(`/memory/threads/${t}/working-memory?agentId=${e}${nn(s,"&")}`,{method:"POST",body:{workingMemory:n,resourceId:r}})}listScorers(e){return this.request(`/scores/scorers${nn(e)}`)}getScorer(e){return this.request(`/scores/scorers/${encodeURIComponent(e)}`)}listScoresByScorerId(e){const{page:t,perPage:n,scorerId:r,entityId:s,entityType:a}=e,i=new URLSearchParams;s&&i.set("entityId",s),a&&i.set("entityType",a),t!==void 0&&i.set("page",String(t)),n!==void 0&&i.set("perPage",String(n));const l=i.toString();return this.request(`/scores/scorer/${encodeURIComponent(r)}${l?`?${l}`:""}`)}listScoresByRunId(e){const{runId:t,page:n,perPage:r}=e,s=new URLSearchParams;n!==void 0&&s.set("page",String(n)),r!==void 0&&s.set("perPage",String(r));const a=s.toString();return this.request(`/scores/run/${encodeURIComponent(t)}${a?`?${a}`:""}`)}listScoresByEntityId(e){const{entityId:t,entityType:n,page:r,perPage:s}=e,a=new URLSearchParams;r!==void 0&&a.set("page",String(r)),s!==void 0&&a.set("perPage",String(s));const i=a.toString();return this.request(`/scores/entity/${encodeURIComponent(n)}/${encodeURIComponent(t)}${i?`?${i}`:""}`)}saveScore(e){return this.request("/scores",{method:"POST",body:e})}getTrace(e){return this.observability.getTrace(e)}getTraceLight(e){return this.observability.getTraceLight(e)}getSpan(e,t){return this.observability.getSpan(e,t)}getTraceTrajectory(e){return this.observability.getTraceTrajectory(e)}getTraces(e){return this.observability.getTraces(e)}listTraces(e={}){return this.observability.listTraces(e)}listBranches(e={}){return this.observability.listBranches(e)}getBranch(e){return this.observability.getBranch(e)}listScoresBySpan(e){return this.observability.listScoresBySpan(e)}score(e){return this.observability.score(e)}listLogsVNext(e={}){return this.observability.listLogs(e)}listScores(e={}){return this.observability.listScores(e)}createScore(e){return this.observability.createScore(e)}getScoreAggregate(e){return this.observability.getScoreAggregate(e)}getScoreBreakdown(e){return this.observability.getScoreBreakdown(e)}getScoreTimeSeries(e){return this.observability.getScoreTimeSeries(e)}getScorePercentiles(e){return this.observability.getScorePercentiles(e)}listFeedback(e={}){return this.observability.listFeedback(e)}createFeedback(e){return this.observability.createFeedback(e)}getFeedbackAggregate(e){return this.observability.getFeedbackAggregate(e)}getFeedbackBreakdown(e){return this.observability.getFeedbackBreakdown(e)}getFeedbackTimeSeries(e){return this.observability.getFeedbackTimeSeries(e)}getFeedbackPercentiles(e){return this.observability.getFeedbackPercentiles(e)}getMetricAggregate(e){return this.observability.getMetricAggregate(e)}getMetricBreakdown(e){return this.observability.getMetricBreakdown(e)}getMetricTimeSeries(e){return this.observability.getMetricTimeSeries(e)}getMetricPercentiles(e){return this.observability.getMetricPercentiles(e)}getMetricNames(e={}){return this.observability.getMetricNames(e)}getMetricLabelKeys(e){return this.observability.getMetricLabelKeys(e)}getMetricLabelValues(e){return this.observability.getMetricLabelValues(e)}getEntityTypes(){return this.observability.getEntityTypes()}getEntityNames(e={}){return this.observability.getEntityNames(e)}getServiceNames(){return this.observability.getServiceNames()}getEnvironments(){return this.observability.getEnvironments()}getTags(e={}){return this.observability.getTags(e)}listStoredAgents(e){const t=new URLSearchParams;e?.page!==void 0&&t.set("page",String(e.page)),e?.perPage!==void 0&&t.set("perPage",String(e.perPage)),e?.orderBy&&(e.orderBy.field&&t.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&t.set("orderBy[direction]",e.orderBy.direction)),e?.status&&t.set("status",e.status),e?.authorId&&t.set("authorId",e.authorId),e?.visibility&&t.set("visibility",e.visibility),e?.metadata&&t.set("metadata",JSON.stringify(e.metadata)),e?.favoritedOnly&&t.set("favoritedOnly","true"),e?.pinFavoritedFor&&t.set("pinFavoritedFor",e.pinFavoritedFor);const n=t.toString();return this.request(`/stored/agents${n?`?${n}`:""}`)}createStoredAgent(e){return this.request("/stored/agents",{method:"POST",body:e})}getStoredAgent(e){return new nYt(this.options,e)}listStoredPromptBlocks(e){const t=new URLSearchParams;e?.page!==void 0&&t.set("page",String(e.page)),e?.perPage!==void 0&&t.set("perPage",String(e.perPage)),e?.orderBy&&(e.orderBy.field&&t.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&t.set("orderBy[direction]",e.orderBy.direction)),e?.authorId&&t.set("authorId",e.authorId),e?.status&&t.set("status",e.status),e?.metadata&&t.set("metadata",JSON.stringify(e.metadata));const n=t.toString();return this.request(`/stored/prompt-blocks${n?`?${n}`:""}`)}createStoredPromptBlock(e){return this.request("/stored/prompt-blocks",{method:"POST",body:e})}getStoredPromptBlock(e){return new rYt(this.options,e)}listStoredScorers(e){const t=new URLSearchParams;e?.page!==void 0&&t.set("page",String(e.page)),e?.perPage!==void 0&&t.set("perPage",String(e.perPage)),e?.orderBy&&(e.orderBy.field&&t.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&t.set("orderBy[direction]",e.orderBy.direction)),e?.authorId&&t.set("authorId",e.authorId),e?.metadata&&t.set("metadata",JSON.stringify(e.metadata));const n=t.toString();return this.request(`/stored/scorers${n?`?${n}`:""}`)}createStoredScorer(e){return this.request("/stored/scorers",{method:"POST",body:e})}getStoredScorer(e){return new aYt(this.options,e)}listStoredMCPClients(e){const t=new URLSearchParams;e?.page!==void 0&&t.set("page",String(e.page)),e?.perPage!==void 0&&t.set("perPage",String(e.perPage)),e?.orderBy&&(e.orderBy.field&&t.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&t.set("orderBy[direction]",e.orderBy.direction)),e?.authorId&&t.set("authorId",e.authorId),e?.metadata&&t.set("metadata",JSON.stringify(e.metadata));const n=t.toString();return this.request(`/stored/mcp-clients${n?`?${n}`:""}`)}createStoredMCPClient(e){return this.request("/stored/mcp-clients",{method:"POST",body:e})}getStoredMCPClient(e){return new sYt(this.options,e)}listStoredSkills(e){const t=new URLSearchParams;e?.page!==void 0&&t.set("page",String(e.page)),e?.perPage!==void 0&&t.set("perPage",String(e.perPage)),e?.orderBy&&(e.orderBy.field&&t.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&t.set("orderBy[direction]",e.orderBy.direction)),e?.authorId&&t.set("authorId",e.authorId),e?.visibility&&t.set("visibility",e.visibility),e?.metadata&&t.set("metadata",JSON.stringify(e.metadata)),e?.favoritedOnly&&t.set("favoritedOnly","true"),e?.pinFavoritedFor&&t.set("pinFavoritedFor",e.pinFavoritedFor);const n=t.toString();return this.request(`/stored/skills${n?`?${n}`:""}`)}createStoredSkill(e){return this.request("/stored/skills",{method:"POST",body:e})}getStoredSkill(e){return new uYt(this.options,e)}listToolProviders(){return this.request("/tool-providers")}getToolProvider(e){return new iYt(this.options,e)}getProcessorProviders(){return this.request("/processor-providers")}getProcessorProvider(e){return new oYt(this.options,e)}getSystemPackages(){return this.request("/system/packages")}getBuilderSettings(){return this.request("/editor/builder/settings")}getBuilderAvailableModels(){return this.request("/editor/builder/models/available")}getPermissionPatterns(){return this.request("/auth/permission-patterns")}getInfrastructureStatus(){return this.request("/editor/builder/infrastructure")}listBuilderRegistries(){return this.request("/editor/builder/registries")}searchBuilderRegistry(e,t){const n=new URLSearchParams({q:t.q});return t.limit!==void 0&&n.set("limit",String(t.limit)),this.request(`/editor/builder/registries/${encodeURIComponent(e)}/search?${n.toString()}`)}getBuilderRegistryPopular(e,t){const n=new URLSearchParams;t?.limit!==void 0&&n.set("limit",String(t.limit)),t?.offset!==void 0&&n.set("offset",String(t.offset));const r=n.toString();return this.request(`/editor/builder/registries/${encodeURIComponent(e)}/popular${r?`?${r}`:""}`)}getBuilderRegistryPreview(e,t){const n=new URLSearchParams({owner:t.owner,repo:t.repo,path:t.path});return this.request(`/editor/builder/registries/${encodeURIComponent(e)}/preview?${n.toString()}`)}installBuilderRegistrySkill(e,t){return this.request(`/editor/builder/registries/${encodeURIComponent(e)}/install`,{method:"POST",body:t})}listWorkspaces(){return this.request("/workspaces")}getWorkspace(e){return new cYt(this.options,e)}listStoredWorkspaces(e){const t=new URLSearchParams;e?.page!==void 0&&t.set("page",String(e.page)),e?.perPage!==void 0&&t.set("perPage",String(e.perPage)),e?.authorId&&t.set("authorId",e.authorId),e?.orderBy?.field&&t.set("orderBy[field]",e.orderBy.field),e?.orderBy?.direction&&t.set("orderBy[direction]",e.orderBy.direction);const n=t.toString();return this.request(`/stored/workspaces${n?`?${n}`:""}`)}getStoredWorkspace(e){return this.request(`/stored/workspaces/${encodeURIComponent(e)}`)}listVectors(){return this.request("/vectors")}listEmbedders(){return this.request("/embedders")}listDatasets(e){const t=new URLSearchParams;e?.page!==void 0&&t.set("page",String(e.page)),e?.perPage!==void 0&&t.set("perPage",String(e.perPage));const n=t.toString();return this.request(`/datasets${n?`?${n}`:""}`)}getDataset(e){return this.request(`/datasets/${encodeURIComponent(e)}`)}createDataset(e){return this.request("/datasets",{method:"POST",body:e})}updateDataset(e){const{datasetId:t,...n}=e;return this.request(`/datasets/${encodeURIComponent(t)}`,{method:"PATCH",body:n})}deleteDataset(e){return this.request(`/datasets/${encodeURIComponent(e)}`,{method:"DELETE"})}listDatasetItems(e,t){const n=new URLSearchParams;t?.page!==void 0&&n.set("page",String(t.page)),t?.perPage!==void 0&&n.set("perPage",String(t.perPage)),t?.search&&n.set("search",t.search),t?.version!=null&&n.set("version",String(t.version));const r=n.toString();return this.request(`/datasets/${encodeURIComponent(e)}/items${r?`?${r}`:""}`)}getDatasetItem(e,t){return this.request(`/datasets/${encodeURIComponent(e)}/items/${encodeURIComponent(t)}`)}addDatasetItem(e){const{datasetId:t,...n}=e;return this.request(`/datasets/${encodeURIComponent(t)}/items`,{method:"POST",body:n})}updateDatasetItem(e){const{datasetId:t,itemId:n,...r}=e;return this.request(`/datasets/${encodeURIComponent(t)}/items/${encodeURIComponent(n)}`,{method:"PATCH",body:r})}deleteDatasetItem(e,t){return this.request(`/datasets/${encodeURIComponent(e)}/items/${encodeURIComponent(t)}`,{method:"DELETE"})}batchInsertDatasetItems(e){const{datasetId:t,...n}=e;return this.request(`/datasets/${encodeURIComponent(t)}/items/batch`,{method:"POST",body:n})}batchDeleteDatasetItems(e){const{datasetId:t,...n}=e;return this.request(`/datasets/${encodeURIComponent(t)}/items/batch`,{method:"DELETE",body:n})}generateDatasetItems(e){const{datasetId:t,...n}=e;return this.request(`/datasets/${encodeURIComponent(t)}/generate-items`,{method:"POST",body:n})}clusterFailures(e){return this.request("/datasets/cluster-failures",{method:"POST",body:e})}getItemHistory(e,t){return this.request(`/datasets/${encodeURIComponent(e)}/items/${encodeURIComponent(t)}/history`)}getDatasetItemVersion(e,t,n){return this.request(`/datasets/${encodeURIComponent(e)}/items/${encodeURIComponent(t)}/versions/${n}`)}listDatasetVersions(e,t){const n=new URLSearchParams;t?.page!==void 0&&n.set("page",String(t.page)),t?.perPage!==void 0&&n.set("perPage",String(t.perPage));const r=n.toString();return this.request(`/datasets/${encodeURIComponent(e)}/versions${r?`?${r}`:""}`)}listExperiments(e){const t=new URLSearchParams;e?.page!==void 0&&t.set("page",String(e.page)),e?.perPage!==void 0&&t.set("perPage",String(e.perPage));const n=t.toString();return this.request(`/experiments${n?`?${n}`:""}`)}getExperimentReviewSummary(){return this.request("/experiments/review-summary")}listDatasetExperiments(e,t){const n=new URLSearchParams;t?.page!==void 0&&n.set("page",String(t.page)),t?.perPage!==void 0&&n.set("perPage",String(t.perPage));const r=n.toString();return this.request(`/datasets/${encodeURIComponent(e)}/experiments${r?`?${r}`:""}`)}getDatasetExperiment(e,t){return this.request(`/datasets/${encodeURIComponent(e)}/experiments/${encodeURIComponent(t)}`)}listDatasetExperimentResults(e,t,n){const r=new URLSearchParams;n?.page!==void 0&&r.set("page",String(n.page)),n?.perPage!==void 0&&r.set("perPage",String(n.perPage));const s=r.toString();return this.request(`/datasets/${encodeURIComponent(e)}/experiments/${encodeURIComponent(t)}/results${s?`?${s}`:""}`)}updateDatasetExperimentResult(e){const{datasetId:t,experimentId:n,resultId:r,...s}=e;return this.request(`/datasets/${encodeURIComponent(t)}/experiments/${encodeURIComponent(n)}/results/${encodeURIComponent(r)}`,{method:"PATCH",body:s})}triggerDatasetExperiment(e){const{datasetId:t,...n}=e;return this.request(`/datasets/${encodeURIComponent(t)}/experiments`,{method:"POST",body:n})}updateExperimentResult(e){const{datasetId:t,experimentId:n,resultId:r,...s}=e;return this.request(`/datasets/${encodeURIComponent(t)}/experiments/${encodeURIComponent(n)}/results/${encodeURIComponent(r)}`,{method:"PATCH",body:s})}compareExperiments(e){const{datasetId:t,...n}=e;return this.request(`/datasets/${encodeURIComponent(t)}/compare`,{method:"POST",body:n})}listBackgroundTasks(e={}){const t=new URLSearchParams;e.agentId&&t.set("agentId",e.agentId),e.status&&t.set("status",e.status),e.runId&&t.set("runId",e.runId),e.threadId&&t.set("threadId",e.threadId),e.resourceId&&t.set("resourceId",e.resourceId),e.toolName&&t.set("toolName",e.toolName),e.toolCallId&&t.set("toolCallId",e.toolCallId),e.fromDate&&t.set("fromDate",e.fromDate.toISOString()),e.toDate&&t.set("toDate",e.toDate.toISOString()),e.dateFilterBy&&t.set("dateFilterBy",e.dateFilterBy),e.orderBy&&t.set("orderBy",e.orderBy),e.orderDirection&&t.set("orderDirection",e.orderDirection),e.page!==void 0&&t.set("page",String(e.page)),e.perPage!==void 0&&t.set("perPage",String(e.perPage));const n=t.toString();return this.request(`/background-tasks${n?`?${n}`:""}`)}getBackgroundTask(e){return this.request(`/background-tasks/${encodeURIComponent(e)}`)}async streamBackgroundTasks(e={}){const t=new URLSearchParams;e.agentId&&t.set("agentId",e.agentId),e.runId&&t.set("runId",e.runId),e.threadId&&t.set("threadId",e.threadId),e.resourceId&&t.set("resourceId",e.resourceId),e.taskId&&t.set("taskId",e.taskId);const n=t.toString(),r=await this.request(`/background-tasks/stream${n?`?${n}`:""}`,{stream:!0});if(!r.ok)throw new Error(`Failed to stream background tasks: ${r.statusText}`);if(!r.body)throw new Error("Response body is null");let s;return r.body.pipeThrough(new TransformStream({async transform(a,i){try{const c=new TextDecoder().decode(a).split(`
|
|
113
113
|
|
|
114
114
|
`);for(const u of c)if(u){const d=u.substring(6),f=s?s+d:d;try{const p=JSON.parse(f);i.enqueue(p),s=void 0}catch{s=f}}}catch{}}}))}listSchedules(e={}){const t=new URLSearchParams;e.workflowId&&t.set("workflowId",e.workflowId),e.status&&t.set("status",e.status),e.ownerType&&t.set("ownerType",e.ownerType),e.ownerId&&t.set("ownerId",e.ownerId);const n=t.toString();return this.request(`/schedules${n?`?${n}`:""}`)}getSchedule(e){return this.request(`/schedules/${encodeURIComponent(e)}`)}listScheduleTriggers(e,t={}){const n=new URLSearchParams;t.limit!==void 0&&n.set("limit",String(t.limit)),t.fromActualFireAt!==void 0&&n.set("fromActualFireAt",String(t.fromActualFireAt)),t.toActualFireAt!==void 0&&n.set("toActualFireAt",String(t.toActualFireAt));const r=n.toString();return this.request(`/schedules/${encodeURIComponent(e)}/triggers${r?`?${r}`:""}`)}pauseSchedule(e){return this.request(`/schedules/${encodeURIComponent(e)}/pause`,{method:"POST"})}resumeSchedule(e){return this.request(`/schedules/${encodeURIComponent(e)}/resume`,{method:"POST"})}listHeartbeats(e={}){const t=new URLSearchParams;e.agentId&&t.set("agentId",e.agentId),e.threadId&&t.set("threadId",e.threadId),e.resourceId&&t.set("resourceId",e.resourceId),e.name&&t.set("name",e.name);const n=t.toString();return this.request(`/heartbeats${n?`?${n}`:""}`).then(r=>r.heartbeats)}getHeartbeat(e){return this.request(`/heartbeats/${encodeURIComponent(e)}`)}createHeartbeat(e){return this.request("/heartbeats",{method:"POST",body:e})}updateHeartbeat(e,t){return this.request(`/heartbeats/${encodeURIComponent(e)}`,{method:"PATCH",body:t})}deleteHeartbeat(e){return this.request(`/heartbeats/${encodeURIComponent(e)}`,{method:"DELETE"})}pauseHeartbeat(e){return this.request(`/heartbeats/${encodeURIComponent(e)}/pause`,{method:"POST"})}resumeHeartbeat(e){return this.request(`/heartbeats/${encodeURIComponent(e)}/resume`,{method:"POST"})}runHeartbeat(e){return this.request(`/heartbeats/${encodeURIComponent(e)}/run`,{method:"POST"})}},bYt=class{id;description;inputSchema;outputSchema;execute;constructor(e){this.id=e.id,this.description=e.description,this.inputSchema=e.inputSchema,this.outputSchema=e.outputSchema,this.execute=e.execute}};function yg(e){return new bYt(e)}var xYt={},wYt={},aat="vercel.ai.error",SYt=Symbol.for(aat),_2e,C2e,df=class iat extends(C2e=Error,_2e=SYt,C2e){constructor({name:t,message:n,cause:r}){super(n),this[_2e]=!0,this.name=t,this.cause=r}static isInstance(t){return iat.hasMarker(t,aat)}static hasMarker(t,n){const r=Symbol.for(n);return t!=null&&typeof t=="object"&&r in t&&typeof t[r]=="boolean"&&t[r]===!0}},oat="AI_APICallError",lat=`vercel.ai.error.${oat}`,kYt=Symbol.for(lat),E2e,j2e,Wd=class extends(j2e=df,E2e=kYt,j2e){constructor({message:t,url:n,requestBodyValues:r,statusCode:s,responseHeaders:a,responseBody:i,cause:l,isRetryable:c=s!=null&&(s===408||s===409||s===429||s>=500),data:u}){super({name:oat,message:t,cause:l}),this[E2e]=!0,this.url=n,this.requestBodyValues=r,this.statusCode=s,this.responseHeaders=a,this.responseBody=i,this.isRetryable=c,this.data=u}static isInstance(t){return df.hasMarker(t,lat)}},cat="AI_EmptyResponseBodyError",uat=`vercel.ai.error.${cat}`,OYt=Symbol.for(uat),T2e,N2e,_Yt=class extends(N2e=df,T2e=OYt,N2e){constructor({message:t="Empty response body"}={}){super({name:cat,message:t}),this[T2e]=!0}static isInstance(t){return df.hasMarker(t,uat)}};function cye(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}var dat="AI_InvalidArgumentError",fat=`vercel.ai.error.${dat}`,CYt=Symbol.for(fat),I2e,A2e,EYt=class extends(A2e=df,I2e=CYt,A2e){constructor({message:t,cause:n,argument:r}){super({name:dat,message:t,cause:n}),this[I2e]=!0,this.argument=r}static isInstance(t){return df.hasMarker(t,fat)}},pat="AI_JSONParseError",hat=`vercel.ai.error.${pat}`,jYt=Symbol.for(hat),R2e,P2e,RF=class extends(P2e=df,R2e=jYt,P2e){constructor({text:t,cause:n}){super({name:pat,message:`JSON parsing failed: Text: ${t}.
|
|
115
115
|
Error message: ${cye(n)}`,cause:n}),this[R2e]=!0,this.text=t}static isInstance(t){return df.hasMarker(t,hat)}},mat="AI_TypeValidationError",gat=`vercel.ai.error.${mat}`,TYt=Symbol.for(gat),$2e,M2e,bP=class bde extends(M2e=df,$2e=TYt,M2e){constructor({value:t,cause:n}){super({name:mat,message:`Type validation failed: Value: ${JSON.stringify(t)}.
|
|
@@ -333,7 +333,7 @@ attempted value: ${i}
|
|
|
333
333
|
\${}
|
|
334
334
|
}
|
|
335
335
|
}`,{label:"class",detail:"definition",type:"keyword"}),Md('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Md('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],Pyt=$we.concat([Md("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),Md("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),Md("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),MLe=new Lmt,$yt=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function zA(e){return(t,n)=>{let r=t.node.getChild("VariableDefinition");return r&&n(r,e),!0}}const W6n=["FunctionDeclaration"],Z6n={FunctionDeclaration:zA("function"),ClassDeclaration:zA("class"),ClassExpression:()=>!0,EnumDeclaration:zA("constant"),TypeAliasDeclaration:zA("type"),NamespaceDeclaration:zA("namespace"),VariableDefinition(e,t){e.matchContext(W6n)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function Myt(e,t){let n=MLe.get(t);if(n)return n;let r=[],s=!0;function a(i,l){let c=e.sliceString(i.from,i.to);r.push({label:c,type:l})}return t.cursor(La.IncludeAnonymous).iterate(i=>{if(s)s=!1;else if(i.name){let l=Z6n[i.name];if(l&&l(i,a)||$yt.has(i.name))return!1}else if(i.to-i.from>8192){for(let l of Myt(e,i.node))r.push(l);return!1}}),MLe.set(t,r),r}const i7=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Mwe=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function Dyt(e){let t=fi(e.state).resolveInner(e.pos,-1);if(Mwe.indexOf(t.name)>-1)return null;let n=t.name=="VariableName"||t.to-t.from<20&&i7.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let r=[];for(let s=t;s;s=s.parent)$yt.has(s.name)&&(r=r.concat(Myt(e.state.doc,s)));return{options:r,from:n?t.from:e.pos,validFor:i7}}function SK(e,t,n){var r;let s=[];for(;;){let a=t.firstChild,i;if(a?.name=="VariableName")return s.push(e(a)),{path:s.reverse(),name:n};if(a?.name=="MemberExpression"&&((r=i=a.lastChild)===null||r===void 0?void 0:r.name)=="PropertyName")s.push(e(i)),t=a;else return null}}function Lyt(e){let t=r=>e.state.doc.sliceString(r.from,r.to),n=fi(e.state).resolveInner(e.pos,-1);return n.name=="PropertyName"?SK(t,n.parent,t(n)):(n.name=="."||n.name=="?.")&&n.parent.name=="MemberExpression"?SK(t,n.parent,""):Mwe.indexOf(n.name)>-1?null:n.name=="VariableName"||n.to-n.from<20&&i7.test(t(n))?{path:[],name:t(n)}:n.name=="MemberExpression"?SK(t,n,""):e.explicit?{path:[],name:""}:null}function G6n(e,t){let n=e,r=[],s=new Set;for(let a=0;;a++){for(let l of(Object.getOwnPropertyNames||Object.keys)(e)){if(!/^[a-zA-Z_$\xaa-\uffdc][\w$\xaa-\uffdc]*$/.test(l)||s.has(l))continue;s.add(l);let c;try{c=n[l]}catch{continue}r.push({label:l,type:typeof c=="function"?/^[A-Z]/.test(l)?"class":t?"function":"method":t?"variable":"property",boost:-a})}let i=Object.getPrototypeOf(e);if(!i)return r;e=i}}function Q6n(e){let t=new Map;return n=>{let r=Lyt(n);if(!r)return null;let s=e;for(let i of r.path)if(s=s[i],!s)return null;let a=t.get(s);return a||t.set(s,a=G6n(s,!r.path.length)),{from:n.pos-r.name.length,options:a,validFor:i7}}}const qh=wO.define({name:"javascript",parser:H6n.configure({props:[k_.add({IfStatement:gj({except:/^\s*({|else\b)/}),TryStatement:gj({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:qDn,SwitchBody:e=>{let t=e.textAfter,n=/^\s*\}/.test(t),r=/^\s*(case|default)\b/.test(t);return e.baseIndent+(n?0:r?1:2)*e.unit},Block:UDn({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":gj({except:/^\s*{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag"(e){return e.column(e.node.from)+e.unit}}),O_.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":mwe,BlockComment(e){return{from:e.from+2,to:e.to-2}},JSXElement(e){let t=e.firstChild;if(!t||t.name=="JSXSelfClosingTag")return null;let n=e.lastChild;return{from:t.to,to:n.type.isError?e.to:n.from}},"JSXSelfClosingTag JSXOpenTag"(e){var t;let n=(t=e.firstChild)===null||t===void 0?void 0:t.nextSibling,r=e.lastChild;return!n||n.type.isError?null:{from:n.to,to:r.type.isError?e.to:r.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Fyt={test:e=>/^JSX/.test(e.name),facet:iV({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Dwe=qh.configure({dialect:"ts"},"typescript"),Lwe=qh.configure({dialect:"jsx",props:[fwe.add(e=>e.isTop?[Fyt]:void 0)]}),Fwe=qh.configure({dialect:"jsx ts",props:[fwe.add(e=>e.isTop?[Fyt]:void 0)]},"typescript");let zyt=e=>({label:e,type:"keyword"});const Byt="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(zyt),Y6n=Byt.concat(["declare","implements","private","protected","public"].map(zyt));function o7(e={}){let t=e.jsx?e.typescript?Fwe:Lwe:e.typescript?Dwe:qh,n=e.typescript?Pyt.concat(Y6n):$we.concat(Byt);return new kO(t,[qh.data.of({autocomplete:j4n(Mwe,Fvt(n))}),qh.data.of({autocomplete:Dyt}),e.jsx?Uyt:[]])}function X6n(e){for(;;){if(e.name=="JSXOpenTag"||e.name=="JSXSelfClosingTag"||e.name=="JSXFragmentTag")return e;if(e.name=="JSXEscape"||!e.parent)return null;e=e.parent}}function DLe(e,t,n=e.length){for(let r=t?.firstChild;r;r=r.nextSibling)if(r.name=="JSXIdentifier"||r.name=="JSXBuiltin"||r.name=="JSXNamespacedName"||r.name=="JSXMemberExpression")return e.sliceString(r.from,Math.min(r.to,n));return""}const K6n=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),Uyt=It.inputHandler.of((e,t,n,r,s)=>{if((K6n?e.composing:e.compositionStarted)||e.state.readOnly||t!=n||r!=">"&&r!="/"||!qh.isActiveAt(e.state,t,-1))return!1;let a=s(),{state:i}=a,l=i.changeByRange(c=>{var u;let{head:d}=c,f=fi(i).resolveInner(d-1,-1),p;if(f.name=="JSXStartTag"&&(f=f.parent),!(i.doc.sliceString(d-1,d)!=r||f.name=="JSXAttributeValue"&&f.to>d)){if(r==">"&&f.name=="JSXFragmentTag")return{range:c,changes:{from:d,insert:"</>"}};if(r=="/"&&f.name=="JSXStartCloseTag"){let h=f.parent,m=h.parent;if(m&&h.from==d-2&&((p=DLe(i.doc,m.firstChild,d))||((u=m.firstChild)===null||u===void 0?void 0:u.name)=="JSXFragmentTag")){let g=`${p}>`;return{range:vt.cursor(d+g.length,-1),changes:{from:d,insert:g}}}}else if(r==">"){let h=X6n(f);if(h&&h.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(i.doc.sliceString(d,d+2))&&(p=DLe(i.doc,h,d)))return{range:c,changes:{from:d,insert:`</${p}>`}}}}return{range:c}});return l.changes.empty?!1:(e.dispatch([a,i.update(l,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});function J6n(e,t){return t||(t={parserOptions:{ecmaVersion:2019,sourceType:"module"},env:{browser:!0,node:!0,es6:!0,es2015:!0,es2017:!0,es2020:!0},rules:{}},e.getRules().forEach((n,r)=>{var s;!((s=n.meta.docs)===null||s===void 0)&&s.recommended&&(t.rules[r]=2)})),n=>{let{state:r}=n,s=[];for(let{from:a,to:i}of qh.findRegions(r)){let l=r.doc.lineAt(a),c={line:l.number-1,col:a-l.from,pos:a};for(let u of e.verify(r.sliceDoc(a,i),t))s.push(e8n(u,r.doc,c))}return s}}function LLe(e,t,n,r){return n.line(e+r.line).from+t+(e==1?r.col-1:-1)}function e8n(e,t,n){let r=LLe(e.line,e.column,t,n),s={from:r,to:e.endLine!=null&&e.endColumn!=1?LLe(e.endLine,e.endColumn,t,n):r,message:e.message,source:e.ruleId?"eslint:"+e.ruleId:"eslint",severity:e.severity==1?"warning":"error"};if(e.fix){let{range:a,text:i}=e.fix,l=a[0]+n.pos-r,c=a[1]+n.pos-r;s.actions=[{name:"fix",apply(u,d){u.dispatch({changes:{from:d+l,to:d+c,insert:i},scrollIntoView:!0})}}]}return s}const c6=Object.freeze(Object.defineProperty({__proto__:null,autoCloseTags:Uyt,completionPath:Lyt,esLint:J6n,javascript:o7,javascriptLanguage:qh,jsxLanguage:Lwe,localCompletionSource:Dyt,scopeCompletionSource:Q6n,snippets:$we,tsxLanguage:Fwe,typescriptLanguage:Dwe,typescriptSnippets:Pyt},Symbol.toStringTag,{value:"Module"})),BA=["_blank","_self","_top","_parent"],kK=["ascii","utf-8","utf-16","latin1","latin1"],OK=["get","post","put","delete"],_K=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Vf=["true","false"],Jn={},t8n={a:{attrs:{href:null,ping:null,type:null,media:null,target:BA,hreflang:null}},abbr:Jn,address:Jn,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:Jn,aside:Jn,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:Jn,base:{attrs:{href:null,target:BA}},bdi:Jn,bdo:Jn,blockquote:{attrs:{cite:null}},body:Jn,br:Jn,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:_K,formmethod:OK,formnovalidate:["novalidate"],formtarget:BA,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:Jn,center:Jn,cite:Jn,code:Jn,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:Jn,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:Jn,div:Jn,dl:Jn,dt:Jn,em:Jn,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:Jn,figure:Jn,footer:Jn,form:{attrs:{action:null,name:null,"accept-charset":kK,autocomplete:["on","off"],enctype:_K,method:OK,novalidate:["novalidate"],target:BA}},h1:Jn,h2:Jn,h3:Jn,h4:Jn,h5:Jn,h6:Jn,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:Jn,hgroup:Jn,hr:Jn,html:{attrs:{manifest:null}},i:Jn,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:_K,formmethod:OK,formnovalidate:["novalidate"],formtarget:BA,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:Jn,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:Jn,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:Jn,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:kK,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:Jn,noscript:Jn,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:Jn,param:{attrs:{name:null,value:null}},pre:Jn,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:Jn,rt:Jn,ruby:Jn,samp:Jn,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:kK}},section:Jn,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:Jn,source:{attrs:{src:null,type:null,media:null}},span:Jn,strong:Jn,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:Jn,summary:Jn,sup:Jn,table:Jn,tbody:Jn,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:Jn,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:Jn,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:Jn,time:{attrs:{datetime:null}},title:Jn,tr:Jn,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:Jn,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:Jn},qyt={accesskey:null,class:null,contenteditable:Vf,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Vf,autocorrect:Vf,autocapitalize:Vf,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Vf,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Vf,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Vf,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Vf,"aria-hidden":Vf,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Vf,"aria-multiselectable":Vf,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Vf,"aria-relevant":null,"aria-required":Vf,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Vyt="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(e=>"on"+e);for(let e of Vyt)qyt[e]=null;class q${constructor(t,n){this.tags={...t8n,...t},this.globalAttrs={...qyt,...n},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}q$.default=new q$;function dT(e,t,n=e.length){if(!t)return"";let r=t.firstChild,s=r&&r.getChild("TagName");return s?e.sliceString(s.from,Math.min(s.to,n)):""}function fT(e,t=!1){for(;e;e=e.parent)if(e.name=="Element")if(t)t=!1;else return e;return null}function Hyt(e,t,n){let r=n.tags[dT(e,fT(t))];return r?.children||n.allTags}function zwe(e,t){let n=[];for(let r=fT(t);r&&!r.type.isTop;r=fT(r.parent)){let s=dT(e,r);if(s&&r.lastChild.name=="CloseTag")break;s&&n.indexOf(s)<0&&(t.name=="EndTag"||t.from>=r.firstChild.to)&&n.push(s)}return n}const Wyt=/^[:\-\.\w\u00b7-\uffff]*$/;function FLe(e,t,n,r,s){let a=/\s*>/.test(e.sliceDoc(s,s+5))?"":">",i=fT(n,n.name=="StartTag"||n.name=="TagName");return{from:r,to:s,options:Hyt(e.doc,i,t).map(l=>({label:l,type:"type"})).concat(zwe(e.doc,n).map((l,c)=>({label:"/"+l,apply:"/"+l+a,type:"type",boost:99-c}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function zLe(e,t,n,r){let s=/\s*>/.test(e.sliceDoc(r,r+5))?"":">";return{from:n,to:r,options:zwe(e.doc,t).map((a,i)=>({label:a,apply:a+s,type:"type",boost:99-i})),validFor:Wyt}}function n8n(e,t,n,r){let s=[],a=0;for(let i of Hyt(e.doc,n,t))s.push({label:"<"+i,type:"type"});for(let i of zwe(e.doc,n))s.push({label:"</"+i+">",type:"type",boost:99-a++});return{from:r,to:r,options:s,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function r8n(e,t,n,r,s){let a=fT(n),i=a?t.tags[dT(e.doc,a)]:null,l=i&&i.attrs?Object.keys(i.attrs):[],c=i&&i.globalAttrs===!1?l:l.length?l.concat(t.globalAttrNames):t.globalAttrNames;return{from:r,to:s,options:c.map(u=>({label:u,type:"property"})),validFor:Wyt}}function s8n(e,t,n,r,s){var a;let i=(a=n.parent)===null||a===void 0?void 0:a.getChild("AttributeName"),l=[],c;if(i){let u=e.sliceDoc(i.from,i.to),d=t.globalAttrs[u];if(!d){let f=fT(n),p=f?t.tags[dT(e.doc,f)]:null;d=p?.attrs&&p.attrs[u]}if(d){let f=e.sliceDoc(r,s).toLowerCase(),p='"',h='"';/^['"]/.test(f)?(c=f[0]=='"'?/^[^"]*$/:/^[^']*$/,p="",h=e.sliceDoc(s,s+1)==f[0]?"":f[0],f=f.slice(1),r++):c=/^[^\s<>='"]*$/;for(let m of d)l.push({label:m,apply:p+m+h,type:"constant"})}}return{from:r,to:s,options:l,validFor:c}}function Zyt(e,t){let{state:n,pos:r}=t,s=fi(n).resolveInner(r,-1),a=s.resolve(r);for(let i=r,l;a==s&&(l=s.childBefore(i));){let c=l.lastChild;if(!c||!c.type.isError||c.from<c.to)break;a=s=l,i=c.from}return s.name=="TagName"?s.parent&&/CloseTag$/.test(s.parent.name)?zLe(n,s,s.from,r):FLe(n,e,s,s.from,r):s.name=="StartTag"||s.name=="IncompleteTag"?FLe(n,e,s,r,r):s.name=="StartCloseTag"||s.name=="IncompleteCloseTag"?zLe(n,s,r,r):s.name=="OpenTag"||s.name=="SelfClosingTag"||s.name=="AttributeName"?r8n(n,e,s,s.name=="AttributeName"?s.from:r,r):s.name=="Is"||s.name=="AttributeValue"||s.name=="UnquotedAttributeValue"?s8n(n,e,s,s.name=="Is"?r:s.from,r):t.explicit&&(a.name=="Element"||a.name=="Text"||a.name=="Document")?n8n(n,e,s,r):null}function a8n(e){return Zyt(q$.default,e)}function i8n(e){let{extraTags:t,extraGlobalAttributes:n}=e,r=n||t?new q$(t,n):q$.default;return s=>Zyt(r,s)}const o8n=qh.parser.configure({top:"SingleExpression"}),Gyt=[{tag:"script",attrs:e=>e.type=="text/typescript"||e.lang=="ts",parser:Dwe.parser},{tag:"script",attrs:e=>e.type=="text/babel"||e.type=="text/jsx",parser:Lwe.parser},{tag:"script",attrs:e=>e.type=="text/typescript-jsx",parser:Fwe.parser},{tag:"script",attrs(e){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type)},parser:o8n},{tag:"script",attrs(e){return!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type)},parser:qh.parser},{tag:"style",attrs(e){return(!e.lang||e.lang=="css")&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type))},parser:a7.parser}],Qyt=[{name:"style",parser:a7.parser.configure({top:"Styles"})}].concat(Vyt.map(e=>({name:e,parser:qh.parser}))),Yyt=wO.define({name:"html",parser:ALn.configure({props:[k_.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag"(e){return e.column(e.node.from)+e.unit},Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].length<e.node.to)return e.continue();let t=null,n;for(let r=e.node;;){let s=r.lastChild;if(!s||s.name!="Element"||s.to!=r.to)break;t=r=s}return t&&!((n=t.lastChild)&&(n.name=="CloseTag"||n.name=="SelfClosingTag"))?e.lineIndent(t.from)+e.unit:null}}),O_.add({Element(e){let t=e.firstChild,n=e.lastChild;return!t||t.name!="OpenTag"?null:{from:t.to,to:n.name=="CloseTag"?n.from:e.to}}}),Avt.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),$9=Yyt.configure({wrap:Eyt(Gyt,Qyt)});function l8n(e={}){let t="",n;e.matchClosingTags===!1&&(t="noMatch"),e.selfClosingTags===!0&&(t=(t?t+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(n=Eyt((e.nestedLanguages||[]).concat(Gyt),(e.nestedAttributes||[]).concat(Qyt)));let r=n?Yyt.configure({wrap:n,dialect:t}):t?$9.configure({dialect:t}):$9;return new kO(r,[$9.data.of({autocomplete:i8n(e)}),e.autoCloseTags!==!1?c8n:[],o7().support,h6n().support])}const BLe=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),c8n=It.inputHandler.of((e,t,n,r,s)=>{if(e.composing||e.state.readOnly||t!=n||r!=">"&&r!="/"||!$9.isActiveAt(e.state,t,-1))return!1;let a=s(),{state:i}=a,l=i.changeByRange(c=>{var u,d,f;let p=i.doc.sliceString(c.from-1,c.to)==r,{head:h}=c,m=fi(i).resolveInner(h,-1),g;if(p&&r==">"&&m.name=="EndTag"){let y=m.parent;if(((d=(u=y.parent)===null||u===void 0?void 0:u.lastChild)===null||d===void 0?void 0:d.name)!="CloseTag"&&(g=dT(i.doc,y.parent,h))&&!BLe.has(g)){let b=h+(i.doc.sliceString(h,h+1)===">"?1:0),w=`</${g}>`;return{range:c,changes:{from:h,to:b,insert:w}}}}else if(p&&r=="/"&&m.name=="IncompleteCloseTag"){let y=m.parent;if(m.from==h-2&&((f=y.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(g=dT(i.doc,y,h))&&!BLe.has(g)){let b=h+(i.doc.sliceString(h,h+1)===">"?1:0),w=`${g}>`;return{range:vt.cursor(h+w.length,-1),changes:{from:h,to:b,insert:w}}}}return{range:c}});return l.changes.empty?!1:(e.dispatch([a,i.update(l,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),Xyt=iV({commentTokens:{block:{open:"<!--",close:"-->"}}}),Kyt=new Rr,Jyt=P5n.configure({props:[O_.add(e=>!e.is("Block")||e.is("Document")||ehe(e)!=null||u8n(e)?void 0:(t,n)=>({from:n.doc.lineAt(t.from).to,to:t.to})),Kyt.add(ehe),k_.add({Document:()=>null}),mw.add({Document:Xyt})]});function ehe(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function u8n(e){return e.name=="OrderedList"||e.name=="BulletList"}function d8n(e,t){let n=e;for(;;){let r=n.nextSibling,s;if(!r||(s=ehe(r.type))!=null&&s<=t)break;n=r}return n.to}const f8n=xvt.of((e,t,n)=>{for(let r=fi(e).resolveInner(n,-1);r&&!(r.from<t);r=r.parent){let s=r.type.prop(Kyt);if(s==null)continue;let a=d8n(r,s);if(a>n)return{from:n,to:a}}return null});function Bwe(e){return new mp(Xyt,e,[],"markdown")}const ebt=Bwe(Jyt),p8n=Jyt.configure([H5n,Z5n,W5n,G5n,{props:[O_.add({Table:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}]),CO=Bwe(p8n);function h8n(e,t){return n=>{if(n&&e){let r=null;if(n=/\S*/.exec(n)[0],typeof e=="function"?r=e(n):r=Ym.matchLanguageName(e,n,!0),r instanceof Ym)return r.support?r.support.language.parser:SO.getSkippingParser(r.load());if(r)return r.parser}return t?t.parser:null}}class CK{constructor(t,n,r,s,a,i,l){this.node=t,this.from=n,this.to=r,this.spaceBefore=s,this.spaceAfter=a,this.type=i,this.item=l}blank(t,n=!0){let r=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(t!=null){for(;r.length<t;)r+=" ";return r}else{for(let s=this.to-this.from-r.length-this.spaceAfter.length;s>0;s--)r+=" ";return r+(n?this.spaceAfter:"")}}marker(t,n){let r=this.node.name=="OrderedList"?String(+nbt(this.item,t)[2]+n):"";return this.spaceBefore+r+this.type+this.spaceAfter}}function tbt(e,t){let n=[],r=[];for(let s=e;s;s=s.parent){if(s.name=="FencedCode")return r;(s.name=="ListItem"||s.name=="Blockquote")&&n.push(s)}for(let s=n.length-1;s>=0;s--){let a=n[s],i,l=t.lineAt(a.from),c=a.from-l.from;if(a.name=="Blockquote"&&(i=/^ *>( ?)/.exec(l.text.slice(c))))r.push(new CK(a,c,c+i[0].length,"",i[1],">",null));else if(a.name=="ListItem"&&a.parent.name=="OrderedList"&&(i=/^( *)\d+([.)])( *)/.exec(l.text.slice(c)))){let u=i[3],d=i[0].length;u.length>=4&&(u=u.slice(0,u.length-4),d-=4),r.push(new CK(a.parent,c,c+d,i[1],u,i[2],a))}else if(a.name=="ListItem"&&a.parent.name=="BulletList"&&(i=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(l.text.slice(c)))){let u=i[4],d=i[0].length;u.length>4&&(u=u.slice(0,u.length-4),d-=4);let f=i[2];i[3]&&(f+=i[3].replace(/[xX]/," ")),r.push(new CK(a.parent,c,c+d,i[1],u,f,a))}}return r}function nbt(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function EK(e,t,n,r=0){for(let s=-1,a=e;;){if(a.name=="ListItem"){let l=nbt(a,t),c=+l[2];if(s>=0){if(c!=s+1)return;n.push({from:a.from+l[1].length,to:a.from+l[0].length,insert:String(s+2+r)})}s=c}let i=a.nextSibling;if(!i)break;a=i}}function Uwe(e,t){let n=/^[ \t]*/.exec(e)[0].length;if(!n||t.facet(RN)!=" ")return e;let r=_g(e,4,n),s="";for(let a=r;a>0;)a>=4?(s+=" ",a-=4):(s+=" ",a--);return s+e.slice(n)}const rbt=(e={})=>({state:t,dispatch:n})=>{let r=fi(t),{doc:s}=t,a=null,i=t.changeByRange(l=>{if(!l.empty||!CO.isActiveAt(t,l.from,-1)&&!CO.isActiveAt(t,l.from,1))return a={range:l};let c=l.from,u=s.lineAt(c),d=tbt(r.resolveInner(c,-1),s);for(;d.length&&d[d.length-1].from>c-u.from;)d.pop();if(!d.length)return a={range:l};let f=d[d.length-1];if(f.to-f.spaceAfter.length>c-u.from)return a={range:l};let p=c>=f.to-f.spaceAfter.length&&!/\S/.test(u.text.slice(f.to));if(f.item&&p){let b=f.node.firstChild,w=f.node.getChild("ListItem","ListItem");if(b.to>=c||w&&w.to<c||u.from>0&&!/[^\s>]/.test(s.lineAt(u.from-1).text)||e.nonTightLists===!1){let S=d.length>1?d[d.length-2]:null,k,_="";S&&S.item?(k=u.from+S.from,_=S.marker(s,1)):k=u.from+(S?S.to:0);let C=[{from:k,to:c,insert:_}];return f.node.name=="OrderedList"&&EK(f.item,s,C,-2),S&&S.node.name=="OrderedList"&&EK(S.item,s,C),{range:vt.cursor(k+_.length),changes:C}}else{let S=qLe(d,t,u);return{range:vt.cursor(c+S.length+1),changes:{from:u.from,insert:S+t.lineBreak}}}}if(f.node.name=="Blockquote"&&p&&u.from){let b=s.lineAt(u.from-1),w=/>\s*$/.exec(b.text);if(w&&w.index==f.from){let S=t.changes([{from:b.from+w.index,to:b.to},{from:u.from+f.from,to:u.to}]);return{range:l.map(S),changes:S}}}let h=[];f.node.name=="OrderedList"&&EK(f.item,s,h);let m=f.item&&f.item.from<u.from,g="";if(!m||/^[\s\d.)\-+*>]*/.exec(u.text)[0].length>=f.to)for(let b=0,w=d.length-1;b<=w;b++)g+=b==w&&!m?d[b].marker(s,1):d[b].blank(b<w?_g(u.text,4,d[b+1].from)-g.length:null);let y=c;for(;y>u.from&&/\s/.test(u.text.charAt(y-u.from-1));)y--;return g=Uwe(g,t),m8n(f.node,t.doc)&&(g=qLe(d,t,u)+t.lineBreak+g),h.push({from:y,to:c,insert:t.lineBreak+g}),{range:vt.cursor(y+g.length+1),changes:h}});return a?!1:(n(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0)},sbt=rbt();function ULe(e){return e.name=="QuoteMark"||e.name=="ListMark"}function m8n(e,t){if(e.name!="OrderedList"&&e.name!="BulletList")return!1;let n=e.firstChild,r=e.getChild("ListItem","ListItem");if(!r)return!1;let s=t.lineAt(n.to),a=t.lineAt(r.from),i=/^[\s>]*$/.test(s.text);return s.number+(i?0:1)<a.number}function qLe(e,t,n){let r="";for(let s=0,a=e.length-2;s<=a;s++)r+=e[s].blank(s<a?_g(n.text,4,e[s+1].from)-r.length:null,s<a);return Uwe(r,t)}function g8n(e,t){let n=e.resolveInner(t,-1),r=t;ULe(n)&&(r=n.from,n=n.parent);for(let s;s=n.childBefore(r);)if(ULe(s))r=s.from;else if(s.name=="OrderedList"||s.name=="BulletList")n=s.lastChild,r=n.to;else break;return n}const abt=({state:e,dispatch:t})=>{let n=fi(e),r=null,s=e.changeByRange(a=>{let i=a.from,{doc:l}=e;if(a.empty&&CO.isActiveAt(e,a.from)){let c=l.lineAt(i),u=tbt(g8n(n,i),l);if(u.length){let d=u[u.length-1],f=d.to-d.spaceAfter.length+(d.spaceAfter?1:0);if(i-c.from>f&&!/\S/.test(c.text.slice(f,i-c.from)))return{range:vt.cursor(c.from+f),changes:{from:c.from+f,to:i}};if(i-c.from==f&&(!d.item||c.from<=d.item.from||!/\S/.test(c.text.slice(0,d.to)))){let p=c.from+d.from;if(d.item&&d.node.from<d.item.from&&/\S/.test(c.text.slice(d.from,d.to))){let h=d.blank(_g(c.text,4,d.to)-_g(c.text,4,d.from));return p==c.from&&(h=Uwe(h,e)),{range:vt.cursor(p+h.length),changes:{from:p,to:c.from+d.to,insert:h}}}if(p<i)return{range:vt.cursor(p),changes:{from:p,to:i}}}}}return r={range:a}});return r?!1:(t(e.update(s,{scrollIntoView:!0,userEvent:"delete"})),!0)},ibt=[{key:"Enter",run:sbt},{key:"Backspace",run:abt}],obt=l8n({matchClosingTags:!1});function qwe(e={}){let{codeLanguages:t,defaultCodeLanguage:n,addKeymap:r=!0,base:{parser:s}=ebt,completeHTMLTags:a=!0,pasteURLAsLink:i=!0,htmlTagLanguage:l=obt}=e;if(!(s instanceof uV))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let c=e.extensions?[e.extensions]:[],u=[l.support,f8n],d;i&&u.push(lbt),n instanceof kO?(u.push(n.support),d=n.language):n&&(d=n);let f=t||d?h8n(t,d):void 0;c.push(M5n({codeParser:f,htmlParser:l.language.parser})),r&&u.push(Pg.high(AN.of(ibt)));let p=Bwe(s.configure(c));return a&&u.push(p.data.of({autocomplete:v8n})),new kO(p,u)}function v8n(e){let{state:t,pos:n}=e,r=/<[:\-\.\w\u00b7-\uffff]*$/.exec(t.sliceDoc(n-25,n));if(!r)return null;let s=fi(t).resolveInner(n,-1);for(;s&&!s.type.isTop;){if(s.name=="CodeBlock"||s.name=="FencedCode"||s.name=="ProcessingInstructionBlock"||s.name=="CommentBlock"||s.name=="Link"||s.name=="Image")return null;s=s.parent}return{from:n-r[0].length,to:n,options:y8n(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}let jK=null;function y8n(){if(jK)return jK;let e=a8n(new bwe(os.create({extensions:obt}),0,!0));return jK=e?e.options:[]}const b8n=/code|horizontalrule|html|link|comment|processing|escape|entity|image|mark|url/i,lbt=It.domEventHandlers({paste:(e,t)=>{var n;let{main:r}=t.state.selection;if(r.empty)return!1;let s=(n=e.clipboardData)===null||n===void 0?void 0:n.getData("text/plain");if(!s||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(s)||(/^www\./.test(s)&&(s="https://"+s),!CO.isActiveAt(t.state,r.from,1)))return!1;let a=fi(t.state),i=!1;return a.iterate({from:r.from,to:r.to,enter:l=>{(l.from>r.from||b8n.test(l.name))&&(i=!0)},leave:l=>{l.to<r.to&&(i=!0)}}),i?!1:(t.dispatch({changes:[{from:r.from,insert:"["},{from:r.to,insert:`](${s})`}],userEvent:"input.paste",scrollIntoView:!0}),!0)}}),x8n=Object.freeze(Object.defineProperty({__proto__:null,commonmarkLanguage:ebt,deleteMarkupBackward:abt,insertNewlineContinueMarkup:sbt,insertNewlineContinueMarkupCommand:rbt,markdown:qwe,markdownKeymap:ibt,markdownLanguage:CO,pasteURLAsLink:lbt},Symbol.toStringTag,{value:"Module"}));function EO(){return EO=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},EO.apply(null,arguments)}var w8n=e=>{var t=e.theme,n=e.settings,r=n===void 0?{}:n,s=e.styles,a=s===void 0?[]:s,i={".cm-gutters":{}},l={};r.background&&(l.backgroundColor=r.background),r.backgroundImage&&(l.backgroundImage=r.backgroundImage),r.foreground&&(l.color=r.foreground),r.fontSize&&(l.fontSize=r.fontSize),(r.background||r.foreground)&&(i["&"]=l),r.fontFamily&&(i["&.cm-editor .cm-scroller"]={fontFamily:r.fontFamily}),r.gutterBackground&&(i[".cm-gutters"].backgroundColor=r.gutterBackground),r.gutterForeground&&(i[".cm-gutters"].color=r.gutterForeground),r.gutterBorder&&(i[".cm-gutters"].borderRightColor=r.gutterBorder),r.caret&&(i[".cm-content"]={caretColor:r.caret},i[".cm-cursor, .cm-dropCursor"]={borderLeftColor:r.caret});var c={};r.gutterActiveForeground&&(c.color=r.gutterActiveForeground),r.lineHighlight&&(i[".cm-activeLine"]={backgroundColor:r.lineHighlight},c.backgroundColor=r.lineHighlight),i[".cm-activeLineGutter"]=c,r.selection&&(i["&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection"]={background:r.selection+" !important"}),r.selectionMatch&&(i["& .cm-selectionMatch"]={backgroundColor:r.selectionMatch});var u=It.theme(i,{dark:t==="dark"}),d=$g.define(a),f=[u,F1(d)];return f},S8n={background:"#282a36",foreground:"#f8f8f2",caret:"#f8f8f0",selection:"rgba(255, 255, 255, 0.1)",selectionMatch:"rgba(255, 255, 255, 0.2)",gutterBackground:"#282a36",gutterForeground:"#6D8A88",gutterBorder:"transparent",lineHighlight:"rgba(255, 255, 255, 0.1)"},k8n=[{tag:fe.comment,color:"#6272a4"},{tag:fe.string,color:"#f1fa8c"},{tag:fe.atom,color:"#bd93f9"},{tag:fe.meta,color:"#f8f8f2"},{tag:[fe.keyword,fe.operator,fe.tagName],color:"#ff79c6"},{tag:[fe.function(fe.propertyName),fe.propertyName],color:"#66d9ef"},{tag:[fe.definition(fe.variableName),fe.function(fe.variableName),fe.className,fe.attributeName],color:"#50fa7b"},{tag:fe.atom,color:"#bd93f9"}],$N=e=>{var t=e||{},n=t.theme,r=n===void 0?"dark":n,s=t.settings,a=s===void 0?{}:s,i=t.styles,l=i===void 0?[]:i;return w8n({theme:r,settings:EO({},S8n,a),styles:[...k8n,...l]})};$N();function cbt(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}const O8n=e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=Hwe(e.state,n.from);return r.line?_8n(e):r.block?E8n(e):!1};function Vwe(e,t){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let s=e(t,n);return s?(r(n.update(s)),!0):!1}}const _8n=Vwe(N8n,0),C8n=Vwe(ubt,0),E8n=Vwe((e,t)=>ubt(e,t,T8n(t)),0);function Hwe(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}const UA=50;function j8n(e,{open:t,close:n},r,s){let a=e.sliceDoc(r-UA,r),i=e.sliceDoc(s,s+UA),l=/\s*$/.exec(a)[0].length,c=/^\s*/.exec(i)[0].length,u=a.length-l;if(a.slice(u-t.length,u)==t&&i.slice(c,c+n.length)==n)return{open:{pos:r-l,margin:l&&1},close:{pos:s+c,margin:c&&1}};let d,f;s-r<=2*UA?d=f=e.sliceDoc(r,s):(d=e.sliceDoc(r,r+UA),f=e.sliceDoc(s-UA,s));let p=/^\s*/.exec(d)[0].length,h=/\s*$/.exec(f)[0].length,m=f.length-h-n.length;return d.slice(p,p+t.length)==t&&f.slice(m,m+n.length)==n?{open:{pos:r+p+t.length,margin:/\s/.test(d.charAt(p+t.length))?1:0},close:{pos:s-h-n.length,margin:/\s/.test(f.charAt(m-1))?1:0}}:null}function T8n(e){let t=[];for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),s=n.to<=r.to?r:e.doc.lineAt(n.to);s.from>r.from&&s.from==n.to&&(s=n.to==r.to+1?r:e.doc.lineAt(n.to-1));let a=t.length-1;a>=0&&t[a].to>r.from?t[a].to=s.to:t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:s.to})}return t}function ubt(e,t,n=t.selection.ranges){let r=n.map(a=>Hwe(t,a.from).block);if(!r.every(a=>a))return null;let s=n.map((a,i)=>j8n(t,r[i],a.from,a.to));if(e!=2&&!s.every(a=>a))return{changes:t.changes(n.map((a,i)=>s[i]?[]:[{from:a.from,insert:r[i].open+" "},{from:a.to,insert:" "+r[i].close}]))};if(e!=1&&s.some(a=>a)){let a=[];for(let i=0,l;i<s.length;i++)if(l=s[i]){let c=r[i],{open:u,close:d}=l;a.push({from:u.pos-c.open.length,to:u.pos+u.margin},{from:d.pos-d.margin,to:d.pos+c.close.length})}return{changes:a}}return null}function N8n(e,t,n=t.selection.ranges){let r=[],s=-1;e:for(let{from:a,to:i}of n){let l=r.length,c=1e9,u;for(let d=a;d<=i;){let f=t.doc.lineAt(d);if(u==null&&(u=Hwe(t,f.from).line,!u))continue e;if(f.from>s&&(a==i||i>f.from)){s=f.from;let p=/^\s*/.exec(f.text)[0].length,h=p==f.length,m=f.text.slice(p,p+u.length)==u?p:-1;p<f.text.length&&p<c&&(c=p),r.push({line:f,comment:m,token:u,indent:p,empty:h,single:!1})}d=f.to+1}if(c<1e9)for(let d=l;d<r.length;d++)r[d].indent<r[d].line.text.length&&(r[d].indent=c);r.length==l+1&&(r[l].single=!0)}if(e!=2&&r.some(a=>a.comment<0&&(!a.empty||a.single))){let a=[];for(let{line:l,token:c,indent:u,empty:d,single:f}of r)(f||!d)&&a.push({from:l.from+u,insert:c+" "});let i=t.changes(a);return{changes:i,selection:t.selection.map(i,1)}}else if(e!=1&&r.some(a=>a.comment>=0)){let a=[];for(let{line:i,comment:l,token:c}of r)if(l>=0){let u=i.from+l,d=u+c.length;i.text[d-i.from]==" "&&d++,a.push({from:u,to:d})}return{changes:a}}return null}const the=Ay.define(),I8n=Ay.define(),A8n=On.define(),dbt=On.define({combine(e){return Ry(e,{minDepth:100,newGroupDelay:500,joinToEvent:(t,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,n)=>(r,s)=>t(r,s)||n(r,s)})}}),fbt=ml.define({create(){return Lv.empty},update(e,t){let n=t.state.facet(dbt),r=t.annotation(the);if(r){let c=Yd.fromTransaction(t,r.selection),u=r.side,d=u==0?e.undone:e.done;return c?d=l7(d,d.length,n.minDepth,c):d=mbt(d,t.startState.selection),new Lv(u==0?r.rest:d,u==0?d:r.rest)}let s=t.annotation(I8n);if((s=="full"||s=="before")&&(e=e.isolate()),t.annotation(El.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let a=Yd.fromTransaction(t),i=t.annotation(El.time),l=t.annotation(El.userEvent);return a?e=e.addChanges(a,i,l,n,t):t.selection&&(e=e.addSelection(t.startState.selection,i,l,n.newGroupDelay)),(s=="full"||s=="after")&&(e=e.isolate()),e},toJSON(e){return{done:e.done.map(t=>t.toJSON()),undone:e.undone.map(t=>t.toJSON())}},fromJSON(e){return new Lv(e.done.map(Yd.fromJSON),e.undone.map(Yd.fromJSON))}});function R8n(e={}){return[fbt,dbt.of(e),It.domEventHandlers({beforeinput(t,n){let r=t.inputType=="historyUndo"?pbt:t.inputType=="historyRedo"?nhe:null;return r?(t.preventDefault(),r(n)):!1}})]}function dV(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let s=n.field(fbt,!1);if(!s)return!1;let a=s.pop(e,n,t);return a?(r(a),!0):!1}}const pbt=dV(0,!1),nhe=dV(1,!1),P8n=dV(0,!0),$8n=dV(1,!0);class Yd{constructor(t,n,r,s,a){this.changes=t,this.effects=n,this.mapped=r,this.startSelection=s,this.selectionsAfter=a}setSelAfter(t){return new Yd(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){var t,n,r;return{changes:(t=this.changes)===null||t===void 0?void 0:t.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(s=>s.toJSON())}}static fromJSON(t){return new Yd(t.changes&&_l.fromJSON(t.changes),[],t.mapped&&Yv.fromJSON(t.mapped),t.startSelection&&vt.fromJSON(t.startSelection),t.selectionsAfter.map(vt.fromJSON))}static fromTransaction(t,n){let r=Ph;for(let s of t.startState.facet(A8n)){let a=s(t);a.length&&(r=r.concat(a))}return!r.length&&t.changes.empty?null:new Yd(t.changes.invert(t.startState.doc),r,void 0,n||t.startState.selection,Ph)}static selection(t){return new Yd(void 0,Ph,void 0,void 0,t)}}function l7(e,t,n,r){let s=t+1>n+20?t-n-1:0,a=e.slice(s,t);return a.push(r),a}function M8n(e,t){let n=[],r=!1;return e.iterChangedRanges((s,a)=>n.push(s,a)),t.iterChangedRanges((s,a,i,l)=>{for(let c=0;c<n.length;){let u=n[c++],d=n[c++];l>=u&&i<=d&&(r=!0)}}),r}function D8n(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((n,r)=>n.empty!=t.ranges[r].empty).length===0}function hbt(e,t){return e.length?t.length?e.concat(t):e:t}const Ph=[],L8n=200;function mbt(e,t){if(e.length){let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-L8n));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),l7(e,e.length-1,1e9,n.setSelAfter(r)))}else return[Yd.selection([t])]}function F8n(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function TK(e,t){if(!e.length)return e;let n=e.length,r=Ph;for(;n;){let s=z8n(e[n-1],t,r);if(s.changes&&!s.changes.empty||s.effects.length){let a=e.slice(0,n);return a[n-1]=s,a}else t=s.mapped,n--,r=s.selectionsAfter}return r.length?[Yd.selection(r)]:Ph}function z8n(e,t,n){let r=hbt(e.selectionsAfter.length?e.selectionsAfter.map(l=>l.map(t)):Ph,n);if(!e.changes)return Yd.selection(r);let s=e.changes.map(t),a=t.mapDesc(e.changes,!0),i=e.mapped?e.mapped.composeDesc(a):a;return new Yd(s,vr.mapEffects(e.effects,t),i,e.startSelection.map(a),r)}const B8n=/^(input\.type|delete)($|\.)/;class Lv{constructor(t,n,r=0,s=void 0){this.done=t,this.undone=n,this.prevTime=r,this.prevUserEvent=s}isolate(){return this.prevTime?new Lv(this.done,this.undone):this}addChanges(t,n,r,s,a){let i=this.done,l=i[i.length-1];return l&&l.changes&&!l.changes.empty&&t.changes&&(!r||B8n.test(r))&&(!l.selectionsAfter.length&&n-this.prevTime<s.newGroupDelay&&s.joinToEvent(a,M8n(l.changes,t.changes))||r=="input.type.compose")?i=l7(i,i.length-1,s.minDepth,new Yd(t.changes.compose(l.changes),hbt(vr.mapEffects(t.effects,l.changes),l.effects),l.mapped,l.startSelection,Ph)):i=l7(i,i.length,s.minDepth,t),new Lv(i,Ph,n,r)}addSelection(t,n,r,s){let a=this.done.length?this.done[this.done.length-1].selectionsAfter:Ph;return a.length>0&&n-this.prevTime<s&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&D8n(a[a.length-1],t)?this:new Lv(mbt(this.done,t),this.undone,n,r)}addMapping(t){return new Lv(TK(this.done,t),TK(this.undone,t),this.prevTime,this.prevUserEvent)}pop(t,n,r){let s=t==0?this.done:this.undone;if(s.length==0)return null;let a=s[s.length-1],i=a.selectionsAfter[0]||(a.startSelection?a.startSelection.map(a.changes.invertedDesc,1):n.selection);if(r&&a.selectionsAfter.length)return n.update({selection:a.selectionsAfter[a.selectionsAfter.length-1],annotations:the.of({side:t,rest:F8n(s),selection:i}),userEvent:t==0?"select.undo":"select.redo",scrollIntoView:!0});if(a.changes){let l=s.length==1?Ph:s.slice(0,s.length-1);return a.mapped&&(l=TK(l,a.mapped)),n.update({changes:a.changes,selection:a.startSelection,effects:a.effects,annotations:the.of({side:t,rest:l,selection:i}),filter:!1,userEvent:t==0?"undo":"redo",scrollIntoView:!0})}else return null}}Lv.empty=new Lv(Ph,Ph);const U8n=[{key:"Mod-z",run:pbt,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:nhe,preventDefault:!0},{linux:"Ctrl-Shift-z",run:nhe,preventDefault:!0},{key:"Mod-u",run:P8n,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:$8n,preventDefault:!0}];function MN(e,t){return vt.create(e.ranges.map(t),e.mainIndex)}function Mg(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function Dg({state:e,dispatch:t},n){let r=MN(e.selection,n);return r.eq(e.selection,!0)?!1:(t(Mg(e,r)),!0)}function fV(e,t){return vt.cursor(t?e.to:e.from)}function gbt(e,t){return Dg(e,n=>n.empty?e.moveByChar(n,t):fV(n,t))}function Fu(e){return e.textDirectionAt(e.state.selection.main.head)==xi.LTR}const vbt=e=>gbt(e,!Fu(e)),ybt=e=>gbt(e,Fu(e));function bbt(e,t){return Dg(e,n=>n.empty?e.moveByGroup(n,t):fV(n,t))}const q8n=e=>bbt(e,!Fu(e)),V8n=e=>bbt(e,Fu(e));function H8n(e,t,n){if(t.type.prop(n))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function pV(e,t,n){let r=fi(e).resolveInner(t.head),s=n?Rr.closedBy:Rr.openedBy;for(let c=t.head;;){let u=n?r.childAfter(c):r.childBefore(c);if(!u)break;H8n(e,u,s)?r=u:c=n?u.to:u.from}let a=r.type.prop(s),i,l;return a&&(i=n?Dv(e,r.from,1):Dv(e,r.to,-1))&&i.matched?l=n?i.end.to:i.end.from:l=n?r.to:r.from,vt.cursor(l,n?-1:1)}const W8n=e=>Dg(e,t=>pV(e.state,t,!Fu(e))),Z8n=e=>Dg(e,t=>pV(e.state,t,Fu(e)));function xbt(e,t){return Dg(e,n=>{if(!n.empty)return fV(n,t);let r=e.moveVertically(n,t);return r.head!=n.head?r:e.moveToLineBoundary(n,t)})}const wbt=e=>xbt(e,!1),Sbt=e=>xbt(e,!0);function kbt(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,r=0,s;if(t){for(let a of e.state.facet(It.scrollMargins)){let i=a(e);i?.top&&(n=Math.max(i?.top,n)),i?.bottom&&(r=Math.max(i?.bottom,r))}s=e.scrollDOM.clientHeight-n-r}else s=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:t,height:Math.max(e.defaultLineHeight,s-5)}}function Obt(e,t){let n=kbt(e),{state:r}=e,s=MN(r.selection,i=>i.empty?e.moveVertically(i,t,n.height):fV(i,t));if(s.eq(r.selection))return!1;let a;if(n.selfScroll){let i=e.coordsAtPos(r.selection.main.head),l=e.scrollDOM.getBoundingClientRect(),c=l.top+n.marginTop,u=l.bottom-n.marginBottom;i&&i.top>c&&i.bottom<u&&(a=It.scrollIntoView(s.main.head,{y:"start",yMargin:i.top-c}))}return e.dispatch(Mg(r,s),{effects:a}),!0}const VLe=e=>Obt(e,!1),rhe=e=>Obt(e,!0);function z1(e,t,n){let r=e.lineBlockAt(t.head),s=e.moveToLineBoundary(t,n);if(s.head==t.head&&s.head!=(n?r.to:r.from)&&(s=e.moveToLineBoundary(t,n,!1)),!n&&s.head==r.from&&r.length){let a=/^\s*/.exec(e.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;a&&t.head!=r.from+a&&(s=vt.cursor(r.from+a))}return s}const G8n=e=>Dg(e,t=>z1(e,t,!0)),Q8n=e=>Dg(e,t=>z1(e,t,!1)),Y8n=e=>Dg(e,t=>z1(e,t,!Fu(e))),X8n=e=>Dg(e,t=>z1(e,t,Fu(e))),K8n=e=>Dg(e,t=>vt.cursor(e.lineBlockAt(t.head).from,1)),J8n=e=>Dg(e,t=>vt.cursor(e.lineBlockAt(t.head).to,-1));function e9n(e,t,n){let r=!1,s=MN(e.selection,a=>{let i=Dv(e,a.head,-1)||Dv(e,a.head,1)||a.head>0&&Dv(e,a.head-1,1)||a.head<e.doc.length&&Dv(e,a.head+1,-1);if(!i||!i.end)return a;r=!0;let l=i.start.from==a.head?i.end.to:i.end.from;return vt.cursor(l)});return r?(t(Mg(e,s)),!0):!1}const t9n=({state:e,dispatch:t})=>e9n(e,t);function bm(e,t){let n=MN(e.state.selection,r=>{let s=t(r);return vt.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return n.eq(e.state.selection)?!1:(e.dispatch(Mg(e.state,n)),!0)}function _bt(e,t){return bm(e,n=>e.moveByChar(n,t))}const Cbt=e=>_bt(e,!Fu(e)),Ebt=e=>_bt(e,Fu(e));function jbt(e,t){return bm(e,n=>e.moveByGroup(n,t))}const n9n=e=>jbt(e,!Fu(e)),r9n=e=>jbt(e,Fu(e)),s9n=e=>bm(e,t=>pV(e.state,t,!Fu(e))),a9n=e=>bm(e,t=>pV(e.state,t,Fu(e)));function Tbt(e,t){return bm(e,n=>e.moveVertically(n,t))}const Nbt=e=>Tbt(e,!1),Ibt=e=>Tbt(e,!0);function Abt(e,t){return bm(e,n=>e.moveVertically(n,t,kbt(e).height))}const HLe=e=>Abt(e,!1),WLe=e=>Abt(e,!0),i9n=e=>bm(e,t=>z1(e,t,!0)),o9n=e=>bm(e,t=>z1(e,t,!1)),l9n=e=>bm(e,t=>z1(e,t,!Fu(e))),c9n=e=>bm(e,t=>z1(e,t,Fu(e))),u9n=e=>bm(e,t=>vt.cursor(e.lineBlockAt(t.head).from)),d9n=e=>bm(e,t=>vt.cursor(e.lineBlockAt(t.head).to)),ZLe=({state:e,dispatch:t})=>(t(Mg(e,{anchor:0})),!0),GLe=({state:e,dispatch:t})=>(t(Mg(e,{anchor:e.doc.length})),!0),QLe=({state:e,dispatch:t})=>(t(Mg(e,{anchor:e.selection.main.anchor,head:0})),!0),YLe=({state:e,dispatch:t})=>(t(Mg(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),f9n=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),p9n=({state:e,dispatch:t})=>{let n=hV(e).map(({from:r,to:s})=>vt.range(r,Math.min(s+1,e.doc.length)));return t(e.update({selection:vt.create(n),userEvent:"select"})),!0},h9n=({state:e,dispatch:t})=>{let n=MN(e.selection,r=>{let s=fi(e),a=s.resolveStack(r.from,1);if(r.empty){let i=s.resolveStack(r.from,-1);i.node.from>=a.node.from&&i.node.to<=a.node.to&&(a=i)}for(let i=a;i;i=i.next){let{node:l}=i;if((l.from<r.from&&l.to>=r.to||l.to>r.to&&l.from<=r.from)&&i.next)return vt.range(l.to,l.from)}return r});return n.eq(e.selection)?!1:(t(Mg(e,n)),!0)};function Rbt(e,t){let{state:n}=e,r=n.selection,s=n.selection.ranges.slice();for(let a of n.selection.ranges){let i=n.doc.lineAt(a.head);if(t?i.to<e.state.doc.length:i.from>0)for(let l=a;;){let c=e.moveVertically(l,t);if(c.head<i.from||c.head>i.to){s.some(u=>u.head==c.head)||s.push(c);break}else{if(c.head==l.head)break;l=c}}}return s.length==r.ranges.length?!1:(e.dispatch(Mg(n,vt.create(s,s.length-1))),!0)}const m9n=e=>Rbt(e,!1),g9n=e=>Rbt(e,!0),v9n=({state:e,dispatch:t})=>{let n=e.selection,r=null;return n.ranges.length>1?r=vt.create([n.main]):n.main.empty||(r=vt.create([vt.cursor(n.main.head)])),r?(t(Mg(e,r)),!0):!1};function rD(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:r}=e,s=r.changeByRange(a=>{let{from:i,to:l}=a;if(i==l){let c=t(a);c<i?(n="delete.backward",c=u6(e,c,!1)):c>i&&(n="delete.forward",c=u6(e,c,!0)),i=Math.min(i,c),l=Math.max(l,c)}else i=u6(e,i,!1),l=u6(e,l,!0);return i==l?{range:a}:{changes:{from:i,to:l},range:vt.cursor(i,i<a.head?-1:1)}});return s.changes.empty?!1:(e.dispatch(r.update(s,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?It.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function u6(e,t,n){if(e instanceof It)for(let r of e.state.facet(It.atomicRanges).map(s=>s(e)))r.between(t,t,(s,a)=>{s<t&&a>t&&(t=n?a:s)});return t}const Pbt=(e,t,n)=>rD(e,r=>{let s=r.from,{state:a}=e,i=a.doc.lineAt(s),l,c;if(n&&!t&&s>i.from&&s<i.from+200&&!/[^ \t]/.test(l=i.text.slice(0,s-i.from))){if(l[l.length-1]==" ")return s-1;let u=_g(l,a.tabSize),d=u%OO(a)||OO(a);for(let f=0;f<d&&l[l.length-1-f]==" ";f++)s--;c=s}else c=vc(i.text,s-i.from,t,t)+i.from,c==s&&i.number!=(t?a.doc.lines:1)?c+=t?1:-1:!t&&/[\ufe00-\ufe0f]/.test(i.text.slice(c-i.from,s-i.from))&&(c=vc(i.text,c-i.from,!1,!1)+i.from);return c}),she=e=>Pbt(e,!1,!0),$bt=e=>Pbt(e,!0,!1),Mbt=(e,t)=>rD(e,n=>{let r=n.head,{state:s}=e,a=s.doc.lineAt(r),i=s.charCategorizer(r);for(let l=null;;){if(r==(t?a.to:a.from)){r==n.head&&a.number!=(t?s.doc.lines:1)&&(r+=t?1:-1);break}let c=vc(a.text,r-a.from,t)+a.from,u=a.text.slice(Math.min(r,c)-a.from,Math.max(r,c)-a.from),d=i(u);if(l!=null&&d!=l)break;(u!=" "||r!=n.head)&&(l=d),r=c}return r}),Dbt=e=>Mbt(e,!1),y9n=e=>Mbt(e,!0),b9n=e=>rD(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),x9n=e=>rD(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),w9n=e=>rD(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),S9n=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:va.of(["",""])},range:vt.cursor(r.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},k9n=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{if(!r.empty||r.from==0||r.from==e.doc.length)return{range:r};let s=r.from,a=e.doc.lineAt(s),i=s==a.from?s-1:vc(a.text,s-a.from,!1)+a.from,l=s==a.to?s+1:vc(a.text,s-a.from,!0)+a.from;return{changes:{from:i,to:l,insert:e.doc.slice(s,l).append(e.doc.slice(i,s))},range:vt.cursor(l)}});return n.changes.empty?!1:(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function hV(e){let t=[],n=-1;for(let r of e.selection.ranges){let s=e.doc.lineAt(r.from),a=e.doc.lineAt(r.to);if(!r.empty&&r.to==a.from&&(a=e.doc.lineAt(r.to-1)),n>=s.number){let i=t[t.length-1];i.to=a.to,i.ranges.push(r)}else t.push({from:s.from,to:a.to,ranges:[r]});n=a.number+1}return t}function Lbt(e,t,n){if(e.readOnly)return!1;let r=[],s=[];for(let a of hV(e)){if(n?a.to==e.doc.length:a.from==0)continue;let i=e.doc.lineAt(n?a.to+1:a.from-1),l=i.length+1;if(n){r.push({from:a.to,to:i.to},{from:a.from,insert:i.text+e.lineBreak});for(let c of a.ranges)s.push(vt.range(Math.min(e.doc.length,c.anchor+l),Math.min(e.doc.length,c.head+l)))}else{r.push({from:i.from,to:a.from},{from:a.to,insert:e.lineBreak+i.text});for(let c of a.ranges)s.push(vt.range(c.anchor-l,c.head-l))}}return r.length?(t(e.update({changes:r,scrollIntoView:!0,selection:vt.create(s,e.selection.mainIndex),userEvent:"move.line"})),!0):!1}const O9n=({state:e,dispatch:t})=>Lbt(e,t,!1),_9n=({state:e,dispatch:t})=>Lbt(e,t,!0);function Fbt(e,t,n){if(e.readOnly)return!1;let r=[];for(let a of hV(e))n?r.push({from:a.from,insert:e.doc.slice(a.from,a.to)+e.lineBreak}):r.push({from:a.to,insert:e.lineBreak+e.doc.slice(a.from,a.to)});let s=e.changes(r);return t(e.update({changes:s,selection:e.selection.map(s,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const C9n=({state:e,dispatch:t})=>Fbt(e,t,!1),E9n=({state:e,dispatch:t})=>Fbt(e,t,!0),j9n=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(hV(t).map(({from:s,to:a})=>(s>0?s--:a<t.doc.length&&a++,{from:s,to:a}))),r=MN(t.selection,s=>{let a;if(e.lineWrapping){let i=e.lineBlockAt(s.head),l=e.coordsAtPos(s.head,s.assoc||1);l&&(a=i.bottom+e.documentTop-l.bottom+e.defaultLineHeight/2)}return e.moveVertically(s,!0,a)}).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function T9n(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=fi(e).resolveInner(t),r=n.childBefore(t),s=n.childAfter(t),a;return r&&s&&r.to<=t&&s.from>=t&&(a=r.type.prop(Rr.closedBy))&&a.indexOf(s.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(s.from).from&&!/\S/.test(e.sliceDoc(r.to,s.from))?{from:r.to,to:s.from}:null}const XLe=zbt(!1),N9n=zbt(!0);function zbt(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=t.changeByRange(s=>{let{from:a,to:i}=s,l=t.doc.lineAt(a),c=!e&&a==i&&T9n(t,a);e&&(a=i=(i<=l.to?l:t.doc.lineAt(i)).to);let u=new oV(t,{simulateBreak:a,simulateDoubleBreak:!!c}),d=pwe(u,a);for(d==null&&(d=_g(/^\s*/.exec(t.doc.lineAt(a).text)[0],t.tabSize));i<l.to&&/\s/.test(l.text[i-l.from]);)i++;c?{from:a,to:i}=c:a>l.from&&a<l.from+100&&!/\S/.test(l.text.slice(0,a))&&(a=l.from);let f=["",$$(t,d)];return c&&f.push($$(t,u.lineIndent(l.from,-1))),{changes:{from:a,to:i,insert:va.of(f)},range:vt.cursor(a+1+f[1].length)}});return n(t.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function Wwe(e,t){let n=-1;return e.changeByRange(r=>{let s=[];for(let i=r.from;i<=r.to;){let l=e.doc.lineAt(i);l.number>n&&(r.empty||r.to>l.from)&&(t(l,s,r),n=l.number),i=l.to+1}let a=e.changes(s);return{changes:s,range:vt.range(a.mapPos(r.anchor,1),a.mapPos(r.head,1))}})}const I9n=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new oV(e,{overrideIndentation:a=>{let i=n[a];return i??-1}}),s=Wwe(e,(a,i,l)=>{let c=pwe(r,a.from);if(c==null)return;/\S/.test(a.text)||(c=0);let u=/^\s*/.exec(a.text)[0],d=$$(e,c);(u!=d||l.from<a.from+u.length)&&(n[a.from]=c,i.push({from:a.from,to:a.from+u.length,insert:d}))});return s.changes.empty||t(e.update(s,{userEvent:"indent"})),!0},Bbt=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(Wwe(e,(n,r)=>{r.push({from:n.from,insert:e.facet(RN)})}),{userEvent:"input.indent"})),!0),Ubt=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(Wwe(e,(n,r)=>{let s=/^\s*/.exec(n.text)[0];if(!s)return;let a=_g(s,e.tabSize),i=0,l=$$(e,Math.max(0,a-OO(e)));for(;i<s.length&&i<l.length&&s.charCodeAt(i)==l.charCodeAt(i);)i++;r.push({from:n.from+i,to:n.from+s.length,insert:l.slice(i)})}),{userEvent:"delete.dedent"})),!0),A9n=e=>(e.setTabFocusMode(),!0),R9n=[{key:"Ctrl-b",run:vbt,shift:Cbt,preventDefault:!0},{key:"Ctrl-f",run:ybt,shift:Ebt},{key:"Ctrl-p",run:wbt,shift:Nbt},{key:"Ctrl-n",run:Sbt,shift:Ibt},{key:"Ctrl-a",run:K8n,shift:u9n},{key:"Ctrl-e",run:J8n,shift:d9n},{key:"Ctrl-d",run:$bt},{key:"Ctrl-h",run:she},{key:"Ctrl-k",run:b9n},{key:"Ctrl-Alt-h",run:Dbt},{key:"Ctrl-o",run:S9n},{key:"Ctrl-t",run:k9n},{key:"Ctrl-v",run:rhe}],P9n=[{key:"ArrowLeft",run:vbt,shift:Cbt,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:q8n,shift:n9n,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:Y8n,shift:l9n,preventDefault:!0},{key:"ArrowRight",run:ybt,shift:Ebt,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:V8n,shift:r9n,preventDefault:!0},{mac:"Cmd-ArrowRight",run:X8n,shift:c9n,preventDefault:!0},{key:"ArrowUp",run:wbt,shift:Nbt,preventDefault:!0},{mac:"Cmd-ArrowUp",run:ZLe,shift:QLe},{mac:"Ctrl-ArrowUp",run:VLe,shift:HLe},{key:"ArrowDown",run:Sbt,shift:Ibt,preventDefault:!0},{mac:"Cmd-ArrowDown",run:GLe,shift:YLe},{mac:"Ctrl-ArrowDown",run:rhe,shift:WLe},{key:"PageUp",run:VLe,shift:HLe},{key:"PageDown",run:rhe,shift:WLe},{key:"Home",run:Q8n,shift:o9n,preventDefault:!0},{key:"Mod-Home",run:ZLe,shift:QLe},{key:"End",run:G8n,shift:i9n,preventDefault:!0},{key:"Mod-End",run:GLe,shift:YLe},{key:"Enter",run:XLe,shift:XLe},{key:"Mod-a",run:f9n},{key:"Backspace",run:she,shift:she,preventDefault:!0},{key:"Delete",run:$bt,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Dbt,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:y9n,preventDefault:!0},{mac:"Mod-Backspace",run:x9n,preventDefault:!0},{mac:"Mod-Delete",run:w9n,preventDefault:!0}].concat(R9n.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),$9n=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:W8n,shift:s9n},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Z8n,shift:a9n},{key:"Alt-ArrowUp",run:O9n},{key:"Shift-Alt-ArrowUp",run:C9n},{key:"Alt-ArrowDown",run:_9n},{key:"Shift-Alt-ArrowDown",run:E9n},{key:"Mod-Alt-ArrowUp",run:m9n},{key:"Mod-Alt-ArrowDown",run:g9n},{key:"Escape",run:v9n},{key:"Mod-Enter",run:N9n},{key:"Alt-l",mac:"Ctrl-l",run:p9n},{key:"Mod-i",run:h9n,preventDefault:!0},{key:"Mod-[",run:Ubt},{key:"Mod-]",run:Bbt},{key:"Mod-Alt-\\",run:I9n},{key:"Shift-Mod-k",run:j9n},{key:"Shift-Mod-\\",run:t9n},{key:"Mod-/",run:O8n},{key:"Alt-A",run:C8n},{key:"Ctrl-m",mac:"Shift-Alt-m",run:A9n}].concat(P9n),M9n={key:"Tab",run:Bbt,shift:Ubt},KLe=typeof String.prototype.normalize=="function"?e=>e.normalize("NFKD"):e=>e;class Sx{constructor(t,n,r=0,s=t.length,a,i){this.test=i,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=t.iterRange(r,s),this.bufferStart=r,this.normalize=a?l=>a(KLe(l)):KLe,this.query=this.normalize(n)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Ud(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let t=this.peek();if(t<0)return this.done=!0,this;let n=G0e(t),r=this.bufferStart+this.bufferPos;this.bufferPos+=_v(t);let s=this.normalize(n);if(s.length)for(let a=0,i=r,l=!0;;a++){let c=s.charCodeAt(a),u=this.match(c,i,l,this.bufferPos+this.bufferStart,a==s.length-1);if(u)return this.value=u,this;if(a==s.length-1)break;l&&a<n.length&&n.charCodeAt(a)==c?i++:l=!1}}}match(t,n,r,s,a){let i=null;for(let l=0;l<this.matches.length;){let c=this.matches[l],u=!1;this.query.charCodeAt(c.index)==t&&(c.index==this.query.length-1?i={from:c.from,to:s,precise:a&&c.precise}:(c.index++,u=!0)),u?l++:this.matches.splice(l,1)}return this.query.charCodeAt(0)==t&&(this.query.length==1?i={from:n,to:s,precise:r&&a}:this.matches.push({from:n,index:1,precise:r})),i&&this.test&&!this.test(i.from,i.to,this.buffer,this.bufferStart)&&(i=null),i}}typeof Symbol<"u"&&(Sx.prototype[Symbol.iterator]=function(){return this});const qbt={from:-1,to:-1,match:/.*/.exec(""),precise:!0},Zwe="gm"+(/x/.unicode==null?"":"u");class Vbt{constructor(t,n,r,s=0,a=t.length){if(this.text=t,this.to=a,this.curLine="",this.done=!1,this.value=qbt,/\\[sWDnr]|\n|\r|\[\^/.test(n))return new Hbt(t,n,r,s,a);this.re=new RegExp(n,Zwe+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=t.iter();let i=t.lineAt(s);this.curLineStart=i.from,this.matchPos=c7(t,s),this.getLine(this.curLineStart)}getLine(t){this.iter.next(t),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let t=this.matchPos-this.curLineStart;;){this.re.lastIndex=t;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let r=this.curLineStart+n.index,s=r+n[0].length;if(this.matchPos=c7(this.text,s+(r==s?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<s||r>this.value.to)&&(!this.test||this.test(r,s,n)))return this.value={from:r,to:s,precise:!0,match:n},this;t=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),t=0;else return this.done=!0,this}}}const NK=new WeakMap;class yj{constructor(t,n){this.from=t,this.text=n}get to(){return this.from+this.text.length}static get(t,n,r){let s=NK.get(t);if(!s||s.from>=r||s.to<=n){let l=new yj(n,t.sliceString(n,r));return NK.set(t,l),l}if(s.from==n&&s.to==r)return s;let{text:a,from:i}=s;return i>n&&(a=t.sliceString(n,i)+a,i=n),s.to<r&&(a+=t.sliceString(s.to,r)),NK.set(t,new yj(i,a)),new yj(n,a.slice(n-i,r-i))}}class Hbt{constructor(t,n,r,s,a){this.text=t,this.to=a,this.done=!1,this.value=qbt,this.matchPos=c7(t,s),this.re=new RegExp(n,Zwe+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=yj.get(t,s,this.chunkEnd(s+5e3))}chunkEnd(t){return t>=this.to?this.to:this.text.lineAt(t).to}next(){for(;;){let t=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==t&&(this.re.lastIndex=t+1,n=this.re.exec(this.flat.text)),n){let r=this.flat.from+n.index,s=r+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,s,n)))return this.value={from:r,to:s,precise:!0,match:n},this.matchPos=c7(this.text,s+(r==s?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=yj.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(Vbt.prototype[Symbol.iterator]=Hbt.prototype[Symbol.iterator]=function(){return this});function D9n(e){try{return new RegExp(e,Zwe),!0}catch{return!1}}function c7(e,t){if(t>=e.length)return t;let n=e.lineAt(t),r;for(;t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344;)t++;return t}const L9n=e=>{let{state:t}=e,n=String(t.doc.lineAt(e.state.selection.main.head).number),{close:r,result:s}=bDn(e,{label:t.phrase("Go to line"),input:{type:"text",name:"line",value:n},focus:!0,submitLabel:t.phrase("go")});return s.then(a=>{let i=a&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(a.elements.line.value);if(!i){e.dispatch({effects:r});return}let l=t.doc.lineAt(t.selection.main.head),[,c,u,d,f]=i,p=d?+d.slice(1):0,h=u?+u:l.number;if(u&&f){let y=h/100;c&&(y=y*(c=="-"?-1:1)+l.number/t.doc.lines),h=Math.round(t.doc.lines*y)}else u&&c&&(h=h*(c=="-"?-1:1)+l.number);let m=t.doc.line(Math.max(1,Math.min(t.doc.lines,h))),g=vt.cursor(m.from+Math.max(0,Math.min(p,m.length)));e.dispatch({effects:[r,It.scrollIntoView(g.from,{y:"center"})],selection:g})}),!0},F9n={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},z9n=On.define({combine(e){return Ry(e,F9n,{highlightWordAroundCursor:(t,n)=>t||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function B9n(e){return[W9n,H9n]}const U9n=Cn.mark({class:"cm-selectionMatch"}),q9n=Cn.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function JLe(e,t,n,r){return(n==0||e(t.sliceDoc(n-1,n))!=fo.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=fo.Word)}function V9n(e,t,n,r){return e(t.sliceDoc(n,n+1))==fo.Word&&e(t.sliceDoc(r-1,r))==fo.Word}const H9n=yo.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(z9n),{state:n}=e,r=n.selection;if(r.ranges.length>1)return Cn.none;let s=r.main,a,i=null;if(s.empty){if(!t.highlightWordAroundCursor)return Cn.none;let c=n.wordAt(s.head);if(!c)return Cn.none;i=n.charCategorizer(s.head),a=n.sliceDoc(c.from,c.to)}else{let c=s.to-s.from;if(c<t.minSelectionLength||c>200)return Cn.none;if(t.wholeWords){if(a=n.sliceDoc(s.from,s.to),i=n.charCategorizer(s.head),!(JLe(i,n,s.from,s.to)&&V9n(i,n,s.from,s.to)))return Cn.none}else if(a=n.sliceDoc(s.from,s.to),!a)return Cn.none}let l=[];for(let c of e.visibleRanges){let u=new Sx(n.doc,a,c.from,c.to);for(;!u.next().done;){let{from:d,to:f}=u.value;if((!i||JLe(i,n,d,f))&&(s.empty&&d<=s.from&&f>=s.to?l.push(q9n.range(d,f)):(d>=s.to||f<=s.from)&&l.push(U9n.range(d,f)),l.length>t.maxMatches))return Cn.none}}return Cn.set(l)}},{decorations:e=>e.decorations}),W9n=It.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),Z9n=({state:e,dispatch:t})=>{let{selection:n}=e,r=vt.create(n.ranges.map(s=>e.wordAt(s.head)||vt.cursor(s.head)),n.mainIndex);return r.eq(n)?!1:(t(e.update({selection:r})),!0)};function G9n(e,t){let{main:n,ranges:r}=e.selection,s=e.wordAt(n.head),a=s&&s.from==n.from&&s.to==n.to;for(let i=!1,l=new Sx(e.doc,t,r[r.length-1].to);;)if(l.next(),l.done){if(i)return null;l=new Sx(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),i=!0}else{if(i&&r.some(c=>c.from==l.value.from))continue;if(a){let c=e.wordAt(l.value.from);if(!c||c.from!=l.value.from||c.to!=l.value.to)continue}return l.value}}const Q9n=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(a=>a.from===a.to))return Z9n({state:e,dispatch:t});let r=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(a=>e.sliceDoc(a.from,a.to)!=r))return!1;let s=G9n(e,r);return s?(t(e.update({selection:e.selection.addRange(vt.range(s.from,s.to),!1),effects:It.scrollIntoView(s.to)})),!0):!1},DN=On.define({combine(e){return Ry(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:t=>new cFn(t),scrollToMatch:t=>It.scrollIntoView(t)})}});class Wbt{constructor(t){this.search=t.search,this.caseSensitive=!!t.caseSensitive,this.literal=!!t.literal,this.regexp=!!t.regexp,this.replace=t.replace||"",this.valid=!!this.search&&(!this.regexp||D9n(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!t.wholeWord,this.test=t.test}unquote(t){return this.literal?t:t.replace(/\\([nrt\\])/g,(n,r)=>r=="n"?`
|
|
336
|
-
`:r=="r"?"\r":r=="t"?" ":"\\")}eq(t){return this.search==t.search&&this.replace==t.replace&&this.caseSensitive==t.caseSensitive&&this.regexp==t.regexp&&this.wholeWord==t.wholeWord&&this.test==t.test}create(){return this.regexp?new tFn(this):new K9n(this)}getCursor(t,n=0,r){let s=t.doc?t:os.create({doc:t});return r==null&&(r=s.doc.length),this.regexp?vE(this,s,n,r):gE(this,s,n,r)}}class Zbt{constructor(t){this.spec=t}}function Y9n(e,t,n){return(r,s,a,i)=>{if(n&&!n(r,s,a,i))return!1;let l=r>=i&&s<=i+a.length?a.slice(r-i,s-i):t.doc.sliceString(r,s);return e(l,t,r,s)}}function gE(e,t,n,r){let s;return e.wholeWord&&(s=X9n(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(s=Y9n(e.test,t,s)),new Sx(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:a=>a.toLowerCase(),s)}function X9n(e,t){return(n,r,s,a)=>((a>n||a+s.length<r)&&(a=Math.max(0,n-2),s=e.sliceString(a,Math.min(e.length,r+2))),(t(u7(s,n-a))!=fo.Word||t(d7(s,n-a))!=fo.Word)&&(t(d7(s,r-a))!=fo.Word||t(u7(s,r-a))!=fo.Word))}class K9n extends Zbt{constructor(t){super(t)}nextMatch(t,n,r){let s=gE(this.spec,t,r,t.doc.length).nextOverlapping();if(s.done){let a=Math.min(t.doc.length,n+this.spec.unquoted.length);s=gE(this.spec,t,0,a).nextOverlapping()}return s.done||s.value.from==n&&s.value.to==r?null:s.value}prevMatchInRange(t,n,r){for(let s=r;;){let a=Math.max(n,s-1e4-this.spec.unquoted.length),i=gE(this.spec,t,a,s),l=null;for(;!i.nextOverlapping().done;)l=i.value;if(l)return l;if(a==n)return null;s-=1e4}}prevMatch(t,n,r){let s=this.prevMatchInRange(t,0,n);return s||(s=this.prevMatchInRange(t,Math.max(0,r-this.spec.unquoted.length),t.doc.length)),s&&(s.from!=n||s.to!=r)?s:null}getReplacement(t){return this.spec.unquote(this.spec.replace)}matchAll(t,n){let r=gE(this.spec,t,0,t.doc.length),s=[];for(;!r.next().done;){if(s.length>=n)return null;s.push(r.value)}return s}highlight(t,n,r,s){let a=gE(this.spec,t,Math.max(0,n-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,t.doc.length));for(;!a.next().done;)s(a.value.from,a.value.to)}}function J9n(e,t,n){return(r,s,a)=>(!n||n(r,s,a))&&e(a[0],t,r,s)}function vE(e,t,n,r){let s;return e.wholeWord&&(s=eFn(t.charCategorizer(t.selection.main.head))),e.test&&(s=J9n(e.test,t,s)),new Vbt(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:s},n,r)}function u7(e,t){return e.slice(vc(e,t,!1),t)}function d7(e,t){return e.slice(t,vc(e,t))}function eFn(e){return(t,n,r)=>!r[0].length||(e(u7(r.input,r.index))!=fo.Word||e(d7(r.input,r.index))!=fo.Word)&&(e(d7(r.input,r.index+r[0].length))!=fo.Word||e(u7(r.input,r.index+r[0].length))!=fo.Word)}class tFn extends Zbt{nextMatch(t,n,r){let s=vE(this.spec,t,r,t.doc.length).next();return s.done&&(s=vE(this.spec,t,0,n).next()),s.done?null:s.value}prevMatchInRange(t,n,r){for(let s=1;;s++){let a=Math.max(n,r-s*1e4),i=vE(this.spec,t,a,r),l=null;for(;!i.next().done;)l=i.value;if(l&&(a==n||l.from>a+10))return l;if(a==n)return null}}prevMatch(t,n,r){return this.prevMatchInRange(t,0,n)||this.prevMatchInRange(t,r,t.doc.length)}getReplacement(t){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,r)=>{if(r=="&")return t.match[0];if(r=="$")return"$";for(let s=r.length;s>0;s--){let a=+r.slice(0,s);if(a>0&&a<t.match.length)return t.match[a]+r.slice(s)}return n})}matchAll(t,n){let r=vE(this.spec,t,0,t.doc.length),s=[];for(;!r.next().done;){if(s.length>=n)return null;s.push(r.value)}return s}highlight(t,n,r,s){let a=vE(this.spec,t,Math.max(0,n-250),Math.min(r+250,t.doc.length));for(;!a.next().done;)s(a.value.from,a.value.to)}}const V$=vr.define(),Gwe=vr.define(),Rw=ml.define({create(e){return new IK(ahe(e).create(),null)},update(e,t){for(let n of t.effects)n.is(V$)?e=new IK(n.value.create(),e.panel):n.is(Gwe)&&(e=new IK(e.query,n.value?Qwe:null));return e},provide:e=>P$.from(e,t=>t.panel)});class IK{constructor(t,n){this.query=t,this.panel=n}}const nFn=Cn.mark({class:"cm-searchMatch"}),rFn=Cn.mark({class:"cm-searchMatch cm-searchMatch-selected"}),sFn=yo.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(Rw))}update(e){let t=e.state.field(Rw);(t!=e.startState.field(Rw)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return Cn.none;let{view:n}=this,r=new xd;for(let s=0,a=n.visibleRanges,i=a.length;s<i;s++){let{from:l,to:c}=a[s];for(;s<i-1&&c>a[s+1].from-500;)c=a[++s].to;e.highlight(n.state,l,c,(u,d)=>{let f=n.state.selection.ranges.some(p=>p.from==u&&p.to==d);r.add(u,d,f?rFn:nFn)})}return r.finish()}},{decorations:e=>e.decorations});function sD(e){return t=>{let n=t.state.field(Rw,!1);return n&&n.query.spec.valid?e(t,n):Ybt(t)}}const f7=sD((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let s=vt.single(r.from,r.to),a=e.state.facet(DN);return e.dispatch({selection:s,effects:[Ywe(e,r),a.scrollToMatch(s.main,e)],userEvent:"select.search"}),Qbt(e),!0}),p7=sD((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,s=t.prevMatch(n,r,r);if(!s)return!1;let a=vt.single(s.from,s.to),i=e.state.facet(DN);return e.dispatch({selection:a,effects:[Ywe(e,s),i.scrollToMatch(a.main,e)],userEvent:"select.search"}),Qbt(e),!0}),aFn=sD((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:vt.create(n.map(r=>vt.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),iFn=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:s}=n.main,a=[],i=0;for(let l=new Sx(e.doc,e.sliceDoc(r,s));!l.next().done;){if(a.length>1e3)return!1;l.value.from==r&&(i=a.length),a.push(vt.range(l.value.from,l.value.to))}return t(e.update({selection:vt.create(a,i),userEvent:"select.search.matches"})),!0},e6e=sD((e,{query:t})=>{let{state:n}=e,{from:r,to:s}=n.selection.main;if(n.readOnly)return!1;let a=t.nextMatch(n,r,r);if(!a)return!1;let i=a,l=[],c,u,d=[];i.precise?i.from==r&&i.to==s&&(u=n.toText(t.getReplacement(i)),l.push({from:i.from,to:i.to,insert:u}),d.push(It.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+"."))):i=t.nextMatch(n,i.from,i.to);let f=e.state.changes(l);return i&&(c=vt.single(i.from,i.to).map(f),d.push(Ywe(e,i)),d.push(n.facet(DN).scrollToMatch(c.main,e))),e.dispatch({changes:f,selection:c,effects:d,userEvent:"input.replace"}),!0}),oFn=sD((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let s of t.matchAll(e.state,1e9)){let{from:a,to:i,precise:l}=s;l&&n.push({from:a,to:i,insert:t.getReplacement(s)})}if(!n.length)return!1;let r=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:It.announce.of(r),userEvent:"input.replace.all"}),!0});function Qwe(e){return e.state.facet(DN).createPanel(e)}function ahe(e,t){var n,r,s,a,i;let l=e.selection.main,c=l.empty||l.to>l.from+100?"":e.sliceDoc(l.from,l.to);if(t&&!c)return t;let u=e.facet(DN);return new Wbt({search:((n=t?.literal)!==null&&n!==void 0?n:u.literal)?c:c.replace(/\n/g,"\\n"),caseSensitive:(r=t?.caseSensitive)!==null&&r!==void 0?r:u.caseSensitive,literal:(s=t?.literal)!==null&&s!==void 0?s:u.literal,regexp:(a=t?.regexp)!==null&&a!==void 0?a:u.regexp,wholeWord:(i=t?.wholeWord)!==null&&i!==void 0?i:u.wholeWord})}function Gbt(e){let t=dwe(e,Qwe);return t&&t.dom.querySelector("[main-field]")}function Qbt(e){let t=Gbt(e);t&&t==e.root.activeElement&&t.select()}const Ybt=e=>{let t=e.state.field(Rw,!1);if(t&&t.panel){let n=Gbt(e);if(n&&n!=e.root.activeElement){let r=ahe(e.state,t.query.spec);r.valid&&e.dispatch({effects:V$.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[Gwe.of(!0),t?V$.of(ahe(e.state,t.query.spec)):vr.appendConfig.of(dFn)]});return!0},Xbt=e=>{let t=e.state.field(Rw,!1);if(!t||!t.panel)return!1;let n=dwe(e,Qwe);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:Gwe.of(!1)}),!0},lFn=[{key:"Mod-f",run:Ybt,scope:"editor search-panel"},{key:"F3",run:f7,shift:p7,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:f7,shift:p7,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Xbt,scope:"editor search-panel"},{key:"Mod-Shift-l",run:iFn},{key:"Mod-Alt-g",run:L9n},{key:"Mod-d",run:Q9n,preventDefault:!0}];class cFn{constructor(t){this.view=t;let n=this.query=t.state.field(Rw).query.spec;this.commit=this.commit.bind(this),this.searchField=ii("input",{value:n.search,placeholder:Hf(t,"Find"),"aria-label":Hf(t,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=ii("input",{value:n.replace,placeholder:Hf(t,"Replace"),"aria-label":Hf(t,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=ii("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=ii("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=ii("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(s,a,i){return ii("button",{class:"cm-button",name:s,onclick:a,type:"button"},i)}this.dom=ii("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,r("next",()=>f7(t),[Hf(t,"next")]),r("prev",()=>p7(t),[Hf(t,"previous")]),r("select",()=>aFn(t),[Hf(t,"all")]),ii("label",null,[this.caseField,Hf(t,"match case")]),ii("label",null,[this.reField,Hf(t,"regexp")]),ii("label",null,[this.wordField,Hf(t,"by word")]),...t.state.readOnly?[]:[ii("br"),this.replaceField,r("replace",()=>e6e(t),[Hf(t,"replace")]),r("replaceAll",()=>oFn(t),[Hf(t,"replace all")])],ii("button",{name:"close",onclick:()=>Xbt(t),"aria-label":Hf(t,"close"),type:"button"},["×"])])}commit(){let t=new Wbt({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});t.eq(this.query)||(this.query=t,this.view.dispatch({effects:V$.of(t)}))}keydown(t){T3n(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?p7:f7)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),e6e(this.view))}update(t){for(let n of t.transactions)for(let r of n.effects)r.is(V$)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(t){this.query=t,this.searchField.value=t.search,this.replaceField.value=t.replace,this.caseField.checked=t.caseSensitive,this.reField.checked=t.regexp,this.wordField.checked=t.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(DN).top}}function Hf(e,t){return e.state.phrase(t)}const d6=30,f6=/[\s\.,:;?!]/;function Ywe(e,{from:t,to:n}){let r=e.state.doc.lineAt(t),s=e.state.doc.lineAt(n).to,a=Math.max(r.from,t-d6),i=Math.min(s,n+d6),l=e.state.sliceDoc(a,i);if(a!=r.from){for(let c=0;c<d6;c++)if(!f6.test(l[c+1])&&f6.test(l[c])){l=l.slice(c);break}}if(i!=s){for(let c=l.length-1;c>l.length-d6;c--)if(!f6.test(l[c-1])&&f6.test(l[c])){l=l.slice(0,c);break}}return It.announce.of(`${e.state.phrase("current match")}. ${l} ${e.state.phrase("on line")} ${r.number}.`)}const uFn=It.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),dFn=[Rw,Pg.low(sFn),uFn];class t6e{constructor(t,n,r){this.from=t,this.to=n,this.diagnostic=r}}class ck{constructor(t,n,r){this.diagnostics=t,this.panel=n,this.selected=r}static init(t,n,r){let s=r.facet(H$).markerFilter;s&&(t=s(t,r));let a=t.slice().sort((d,f)=>d.from-f.from||d.to-f.to),i=new xd,l=[],c=0;for(let d=0;;){let f=d==a.length?null:a[d];if(!f&&!l.length)break;let p,h;for(l.length?(p=c,h=l.reduce((g,y)=>Math.min(g,y.to),f&&f.from>p?f.from:1e8)):(p=f.from,h=f.to,l.push(f),d++);d<a.length;){let g=a[d];if(g.from==p&&(g.to>g.from||g.to==p))l.push(g),d++,h=Math.min(g.to,h);else{h=Math.min(g.from,h);break}}let m=OFn(l);if(l.some(g=>g.from==g.to||g.from==g.to-1&&r.doc.lineAt(g.from).to==g.from))i.add(p,p,Cn.widget({widget:new xFn(m),diagnostics:l.slice()}));else{let g=l.reduce((y,b)=>b.markClass?y+" "+b.markClass:y,"");i.add(p,h,Cn.mark({class:"cm-lintRange cm-lintRange-"+m+g,diagnostics:l.slice(),inclusiveEnd:l.some(y=>y.to>h)}))}c=h;for(let g=0;g<l.length;g++)l[g].to<=c&&l.splice(g--,1)}let u=i.finish();return new ck(u,n,pT(u))}}function pT(e,t=null,n=0){let r=null;return e.between(n,1e9,(s,a,{spec:i})=>{if(!(t&&i.diagnostics.indexOf(t)<0))if(!r)r=new t6e(s,a,t||i.diagnostics[0]);else{if(i.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new t6e(r.from,a,r.diagnostic)}}),r}function fFn(e,t){let n=t.pos,r=t.end||n,s=e.state.facet(H$).hideOn(e,n,r);if(s!=null)return s;let a=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(i=>i.is(Kbt))||e.changes.touchesRange(a.from,Math.max(a.to,r)))}function pFn(e,t){return e.field(gp,!1)?t:t.concat(vr.appendConfig.of(_Fn))}const Kbt=vr.define(),Xwe=vr.define(),Jbt=vr.define(),gp=ml.define({create(){return new ck(Cn.none,null,null)},update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),r=null,s=e.panel;if(e.selected){let a=t.changes.mapPos(e.selected.from,1);r=pT(n,e.selected.diagnostic,a)||pT(n,null,a)}!n.size&&s&&t.state.facet(H$).autoPanel&&(s=null),e=new ck(n,s,r)}for(let n of t.effects)if(n.is(Kbt)){let r=t.state.facet(H$).autoPanel?n.value.length?W$.open:null:e.panel;e=ck.init(n.value,r,t.state)}else n.is(Xwe)?e=new ck(e.diagnostics,n.value?W$.open:null,e.selected):n.is(Jbt)&&(e=new ck(e.diagnostics,e.panel,n.value));return e},provide:e=>[P$.from(e,t=>t.panel),It.decorations.from(e,t=>t.diagnostics)]}),hFn=Cn.mark({class:"cm-lintRange cm-lintRange-active"});function mFn(e,t,n){let{diagnostics:r}=e.state.field(gp),s,a=-1,i=-1;r.between(t-(n<0?1:0),t+(n>0?1:0),(c,u,{spec:d})=>{if(t>=c&&t<=u&&(c==u||(t>c||n>0)&&(t<u||n<0)))return s=d.diagnostics,a=c,i=u,!1});let l=e.state.facet(H$).tooltipFilter;return s&&l&&(s=l(s,e.state)),s?{pos:a,end:i,above:e.state.doc.lineAt(a).to<i,create(){return{dom:gFn(e,s)}}}:null}function gFn(e,t){return ii("ul",{class:"cm-tooltip-lint"},t.map(n=>txt(e,n,!1)))}const vFn=e=>{let t=e.state.field(gp,!1);(!t||!t.panel)&&e.dispatch({effects:pFn(e.state,[Xwe.of(!0)])});let n=dwe(e,W$.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},n6e=e=>{let t=e.state.field(gp,!1);return!t||!t.panel?!1:(e.dispatch({effects:Xwe.of(!1)}),!0)},yFn=e=>{let t=e.state.field(gp,!1);if(!t)return!1;let n=e.state.selection.main,r=t.diagnostics.iter(n.to+1);return!r.value&&(r=t.diagnostics.iter(0),!r.value||r.from==n.from&&r.to==n.to)?!1:(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},bFn=[{key:"Mod-Shift-m",run:vFn,preventDefault:!0},{key:"F8",run:yFn}],H$=On.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...Ry(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:r6e,tooltipFilter:r6e,needsRefresh:(t,n)=>t?n?r=>t(r)||n(r):t:n,hideOn:(t,n)=>t?n?(r,s,a)=>t(r,s,a)||n(r,s,a):t:n,autoPanel:(t,n)=>t||n})}}});function r6e(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function ext(e){let t=[];if(e)e:for(let{name:n}of e){for(let r=0;r<n.length;r++){let s=n[r];if(/[a-zA-Z]/.test(s)&&!t.some(a=>a.toLowerCase()==s.toLowerCase())){t.push(s);continue e}}t.push("")}return t}function txt(e,t,n){var r;let s=n?ext(t.actions):[];return ii("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},ii("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),(r=t.actions)===null||r===void 0?void 0:r.map((a,i)=>{let l=!1,c=h=>{if(h.preventDefault(),l)return;l=!0;let m=pT(e.state.field(gp).diagnostics,t);m&&a.apply(e,m.from,m.to)},{name:u}=a,d=s[i]?u.indexOf(s[i]):-1,f=d<0?u:[u.slice(0,d),ii("u",u.slice(d,d+1)),u.slice(d+1)],p=a.markClass?" "+a.markClass:"";return ii("button",{type:"button",class:"cm-diagnosticAction"+p,onclick:c,onmousedown:c,"aria-label":` Action: ${u}${d<0?"":` (access key "${s[i]})"`}.`},f)}),t.source&&ii("div",{class:"cm-diagnosticSource"},t.source))}class xFn extends Wp{constructor(t){super(),this.sev=t}eq(t){return t.sev==this.sev}toDOM(){return ii("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class s6e{constructor(t,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=txt(t,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class W${constructor(t){this.view=t,this.items=[];let n=s=>{if(s.keyCode==27)n6e(this.view),this.view.focus();else if(s.keyCode==38||s.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(s.keyCode==40||s.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(s.keyCode==36)this.moveSelection(0);else if(s.keyCode==35)this.moveSelection(this.items.length-1);else if(s.keyCode==13)this.view.focus();else if(s.keyCode>=65&&s.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:a}=this.items[this.selectedIndex],i=ext(a.actions);for(let l=0;l<i.length;l++)if(i[l].toUpperCase().charCodeAt(0)==s.keyCode){let c=pT(this.view.state.field(gp).diagnostics,a);c&&a.actions[l].apply(t,c.from,c.to)}}else return;s.preventDefault()},r=s=>{for(let a=0;a<this.items.length;a++)this.items[a].dom.contains(s.target)&&this.moveSelection(a)};this.list=ii("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:r}),this.dom=ii("div",{class:"cm-panel-lint"},this.list,ii("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>n6e(this.view)},"×")),this.update()}get selectedIndex(){let t=this.view.state.field(gp).selected;if(!t)return-1;for(let n=0;n<this.items.length;n++)if(this.items[n].diagnostic==t.diagnostic)return n;return-1}update(){let{diagnostics:t,selected:n}=this.view.state.field(gp),r=0,s=!1,a=null,i=new Set;for(t.between(0,this.view.state.doc.length,(l,c,{spec:u})=>{for(let d of u.diagnostics){if(i.has(d))continue;i.add(d);let f=-1,p;for(let h=r;h<this.items.length;h++)if(this.items[h].diagnostic==d){f=h;break}f<0?(p=new s6e(this.view,d),this.items.splice(r,0,p),s=!0):(p=this.items[f],f>r&&(this.items.splice(r,f-r),s=!0)),n&&p.diagnostic==n.diagnostic?p.dom.hasAttribute("aria-selected")||(p.dom.setAttribute("aria-selected","true"),a=p):p.dom.hasAttribute("aria-selected")&&p.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)s=!0,this.items.pop();this.items.length==0&&(this.items.push(new s6e(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),s=!0),a?(this.list.setAttribute("aria-activedescendant",a.id),this.view.requestMeasure({key:this,read:()=>({sel:a.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:l,panel:c})=>{let u=c.height/this.list.offsetHeight;l.top<c.top?this.list.scrollTop-=(c.top-l.top)/u:l.bottom>c.bottom&&(this.list.scrollTop+=(l.bottom-c.bottom)/u)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let t=this.list.firstChild;function n(){let r=t;t=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;t!=r.dom;)n();t=r.dom.nextSibling}else this.list.insertBefore(r.dom,t);for(;t;)n()}moveSelection(t){if(this.selectedIndex<0)return;let n=this.view.state.field(gp),r=pT(n.diagnostics,this.items[t].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:Jbt.of(r)})}static open(t){return new W$(t)}}function wFn(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}function p6(e){return wFn(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const SFn=It.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:p6("#d11")},".cm-lintRange-warning":{backgroundImage:p6("orange")},".cm-lintRange-info":{backgroundImage:p6("#999")},".cm-lintRange-hint":{backgroundImage:p6("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function kFn(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function OFn(e){let t="hint",n=1;for(let r of e){let s=kFn(r.severity);s>n&&(n=s,t=r.severity)}return t}const _Fn=[gp,It.decorations.compute([gp],e=>{let{selected:t,panel:n}=e.field(gp);return!t||!n||t.from==t.to?Cn.none:Cn.set([hFn.range(t.from,t.to)])}),vDn(mFn,{hideOn:fFn}),SFn];var a6e=function(t){t===void 0&&(t={});var n=t,r=n.crosshairCursor,s=r===void 0?!1:r,a=[];t.closeBracketsKeymap!==!1&&(a=a.concat(h5n)),t.defaultKeymap!==!1&&(a=a.concat($9n)),t.searchKeymap!==!1&&(a=a.concat(lFn)),t.historyKeymap!==!1&&(a=a.concat(U8n)),t.foldKeymap!==!1&&(a=a.concat(JDn)),t.completionKeymap!==!1&&(a=a.concat(Qvt)),t.lintKeymap!==!1&&(a=a.concat(bFn));var i=[];return t.lineNumbers!==!1&&i.push(TDn()),t.highlightActiveLineGutter!==!1&&i.push(ADn()),t.highlightSpecialChars!==!1&&i.push(H3n()),t.history!==!1&&i.push(R8n()),t.foldGutter!==!1&&i.push(r4n()),t.drawSelection!==!1&&i.push($3n()),t.dropCursor!==!1&&i.push(z3n()),t.allowMultipleSelections!==!1&&i.push(os.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&i.push(HDn()),t.syntaxHighlighting!==!1&&i.push(F1(o4n,{fallback:!0})),t.bracketMatching!==!1&&i.push(h4n()),t.closeBrackets!==!1&&i.push(u5n()),t.autocompletion!==!1&&i.push(Gvt()),t.rectangularSelection!==!1&&i.push(aDn()),s!==!1&&i.push(lDn()),t.highlightActiveLine!==!1&&i.push(X3n()),t.highlightSelectionMatches!==!1&&i.push(B9n()),t.tabSize&&typeof t.tabSize=="number"&&i.push(RN.of(" ".repeat(t.tabSize))),i.concat([AN.of(a.flat())]).filter(Boolean)};const CFn="#e5c07b",i6e="#e06c75",EFn="#56b6c2",jFn="#ffffff",M9="#abb2bf",ihe="#7d8799",TFn="#61afef",NFn="#98c379",o6e="#d19a66",IFn="#c678dd",AFn="#21252b",l6e="#2c313a",c6e="#282c34",AK="#353a42",RFn="#3E4451",u6e="#528bff",PFn=It.theme({"&":{color:M9,backgroundColor:c6e},".cm-content":{caretColor:u6e},".cm-cursor, .cm-dropCursor":{borderLeftColor:u6e},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:RFn},".cm-panels":{backgroundColor:AFn,color:M9},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:c6e,color:ihe,border:"none"},".cm-activeLineGutter":{backgroundColor:l6e},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:AK},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:AK,borderBottomColor:AK},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:l6e,color:M9}}},{dark:!0}),$Fn=$g.define([{tag:fe.keyword,color:IFn},{tag:[fe.name,fe.deleted,fe.character,fe.propertyName,fe.macroName],color:i6e},{tag:[fe.function(fe.variableName),fe.labelName],color:TFn},{tag:[fe.color,fe.constant(fe.name),fe.standard(fe.name)],color:o6e},{tag:[fe.definition(fe.name),fe.separator],color:M9},{tag:[fe.typeName,fe.className,fe.number,fe.changed,fe.annotation,fe.modifier,fe.self,fe.namespace],color:CFn},{tag:[fe.operator,fe.operatorKeyword,fe.url,fe.escape,fe.regexp,fe.link,fe.special(fe.string)],color:EFn},{tag:[fe.meta,fe.comment],color:ihe},{tag:fe.strong,fontWeight:"bold"},{tag:fe.emphasis,fontStyle:"italic"},{tag:fe.strikethrough,textDecoration:"line-through"},{tag:fe.link,color:ihe,textDecoration:"underline"},{tag:fe.heading,fontWeight:"bold",color:i6e},{tag:[fe.atom,fe.bool,fe.special(fe.variableName)],color:o6e},{tag:[fe.processingInstruction,fe.string,fe.inserted],color:NFn},{tag:fe.invalid,color:jFn}]),MFn=[PFn,F1($Fn)];var DFn=It.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),LFn=function(t){t===void 0&&(t={});var n=t,r=n.indentWithTab,s=r===void 0?!0:r,a=n.editable,i=a===void 0?!0:a,l=n.readOnly,c=l===void 0?!1:l,u=n.theme,d=u===void 0?"light":u,f=n.placeholder,p=f===void 0?"":f,h=n.basicSetup,m=h===void 0?!0:h,g=[];switch(s&&g.unshift(AN.of([M9n])),m&&(typeof m=="boolean"?g.unshift(a6e()):g.unshift(a6e(m))),p&&g.unshift(tDn(p)),d){case"light":g.push(DFn);break;case"dark":g.push(MFn);break;case"none":break;default:g.push(d);break}return i===!1&&g.push(It.editable.of(!1)),c&&g.push(os.readOnly.of(!0)),[...g]},FFn=e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map(t=>e.state.sliceDoc(t.from,t.to)),selectedText:e.state.selection.ranges.some(t=>!t.empty)});class zFn{constructor(t,n){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=n,this.timeoutMS=n,this.callbacks.push(t)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var t=this.callbacks.slice();this.callbacks.length=0,t.forEach(n=>{try{n()}catch(r){console.error("TimeoutLatch callback error:",r)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class d6e{constructor(){this.interval=null,this.latches=new Set}add(t){this.latches.add(t),this.start()}remove(t){this.latches.delete(t),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(t=>{t.tick(),t.isDone&&this.remove(t)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var RK=null,BFn=()=>typeof window>"u"?new d6e:(RK||(RK=new d6e),RK),f6e=Ay.define(),UFn=200,qFn=[];function VFn(e){var t=e.value,n=e.selection,r=e.onChange,s=e.onStatistics,a=e.onCreateEditor,i=e.onUpdate,l=e.extensions,c=l===void 0?qFn:l,u=e.autoFocus,d=e.theme,f=d===void 0?"light":d,p=e.height,h=p===void 0?null:p,m=e.minHeight,g=m===void 0?null:m,y=e.maxHeight,b=y===void 0?null:y,w=e.width,S=w===void 0?null:w,k=e.minWidth,_=k===void 0?null:k,C=e.maxWidth,E=C===void 0?null:C,j=e.placeholder,N=j===void 0?"":j,I=e.editable,R=I===void 0?!0:I,$=e.readOnly,F=$===void 0?!1:$,D=e.indentWithTab,V=D===void 0?!0:D,W=e.basicSetup,L=W===void 0?!0:W,z=e.root,B=e.initialState,M=v.useState(),G=M[0],U=M[1],P=v.useState(),q=P[0],Z=P[1],X=v.useState(),te=X[0],J=X[1],ee=v.useState(()=>({current:null}))[0],ae=v.useState(()=>({current:null}))[0],de=It.theme({"&":{height:h,minHeight:g,maxHeight:b,width:S,minWidth:_,maxWidth:E},"& .cm-scroller":{height:"100% !important"}}),Y=It.updateListener.of(pe=>{if(pe.docChanged&&typeof r=="function"&&!pe.transactions.some(ye=>ye.annotation(f6e))){ee.current?ee.current.reset():(ee.current=new zFn(()=>{if(ae.current){var ye=ae.current;ae.current=null,ye()}ee.current=null},UFn),BFn().add(ee.current));var le=pe.state.doc,ve=le.toString();r(ve,pe)}s&&s(FFn(pe))}),ne=LFn({theme:f,editable:R,readOnly:F,placeholder:N,indentWithTab:V,basicSetup:L}),ce=[Y,de,...ne];return i&&typeof i=="function"&&ce.push(It.updateListener.of(i)),ce=ce.concat(c),v.useLayoutEffect(()=>{if(G&&!te){var pe={doc:t,selection:n,extensions:ce},le=B?os.fromJSON(B.json,pe,B.fields):os.create(pe);if(J(le),!q){var ve=new It({state:le,parent:G,root:z});Z(ve),a&&a(ve,le)}}return()=>{q&&(J(void 0),Z(void 0))}},[G,te]),v.useEffect(()=>{e.container&&U(e.container)},[e.container]),v.useEffect(()=>()=>{q&&(q.destroy(),Z(void 0)),ee.current&&(ee.current.cancel(),ee.current=null)},[q]),v.useEffect(()=>{u&&q&&q.focus()},[u,q]),v.useEffect(()=>{q&&q.dispatch({effects:vr.reconfigure.of(ce)})},[f,c,h,g,b,S,_,E,N,R,F,V,L,r,i]),v.useEffect(()=>{if(t!==void 0){var pe=q?q.state.doc.toString():"";if(q&&t!==pe){var le=ee.current&&!ee.current.isDone,ve=()=>{q&&t!==q.state.doc.toString()&&q.dispatch({changes:{from:0,to:q.state.doc.toString().length,insert:t||""},annotations:[f6e.of(!0)]})};le?ae.current=ve:ve()}}},[t,q]),{state:te,setState:J,view:q,setView:Z,container:G,setContainer:U}}var HFn=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],Xc=v.forwardRef((e,t)=>{var n=e.className,r=e.value,s=r===void 0?"":r,a=e.selection,i=e.extensions,l=i===void 0?[]:i,c=e.onChange,u=e.onStatistics,d=e.onCreateEditor,f=e.onUpdate,p=e.autoFocus,h=e.theme,m=h===void 0?"light":h,g=e.height,y=e.minHeight,b=e.maxHeight,w=e.width,S=e.minWidth,k=e.maxWidth,_=e.basicSetup,C=e.placeholder,E=e.indentWithTab,j=e.editable,N=e.readOnly,I=e.root,R=e.initialState,$=cbt(e,HFn),F=v.useRef(null),D=VFn({root:I,value:s,autoFocus:p,theme:m,height:g,minHeight:y,maxHeight:b,width:w,minWidth:S,maxWidth:k,basicSetup:_,placeholder:C,indentWithTab:E,editable:j,readOnly:N,selection:a,onChange:c,onStatistics:u,onCreateEditor:d,onUpdate:f,extensions:l,initialState:R}),V=D.state,W=D.view,L=D.container,z=D.setContainer;v.useImperativeHandle(t,()=>({editor:F.current,state:V,view:W}),[F,L,V,W]);var B=v.useCallback(G=>{F.current=G,z(G)},[z]);if(typeof s!="string")throw new Error("value must be typeof string but got "+typeof s);var M=typeof m=="string"?"cm-theme-"+m:"cm-theme";return o.jsx("div",EO({ref:B,className:""+M+(n?" "+n:"")},$))});Xc.displayName="CodeMirror";function WFn(e){return new kO(gwe.define(e))}const nxt=[Ym.of({name:"JavaScript",alias:["ecmascript","js","node"],extensions:["js","mjs","cjs"],load(){return Eo(()=>Promise.resolve().then(()=>c6),[],import.meta.url).then(e=>e.javascript())}}),Ym.of({name:"JSON",alias:["json5"],extensions:["json","map"],load(){return Eo(()=>Promise.resolve().then(()=>C4n),void 0,import.meta.url).then(e=>e.json())}}),Ym.of({name:"JSX",extensions:["jsx"],load(){return Eo(()=>Promise.resolve().then(()=>c6),void 0,import.meta.url).then(e=>e.javascript({jsx:!0}))}}),Ym.of({name:"Markdown",extensions:["md","markdown","mkd"],load(){return Eo(()=>Promise.resolve().then(()=>x8n),void 0,import.meta.url).then(e=>e.markdown())}}),Ym.of({name:"TSX",extensions:["tsx"],load(){return Eo(()=>Promise.resolve().then(()=>c6),void 0,import.meta.url).then(e=>e.javascript({jsx:!0,typescript:!0}))}}),Ym.of({name:"TypeScript",alias:["ts"],extensions:["ts","mts","cts"],load(){return Eo(()=>Promise.resolve().then(()=>c6),void 0,import.meta.url).then(e=>e.javascript({typescript:!0}))}}),Ym.of({name:"Shell",alias:["bash","sh","zsh"],extensions:["sh","ksh","bash"],filename:/^PKGBUILD$/,load(){return Eo(()=>import("./shell-CjFT_Tl9.js"),[],import.meta.url).then(e=>WFn(e.shell))}})];function ZFn(e,t=5){if(!e?.properties)return[];const n=[];function r(s,a,i){if(i>t)return;const l=Array.isArray(s.type)?s.type.join(" | "):s.type;if(n.push({path:a,label:a,description:s.description??s.title,type:l}),s.properties)for(const[c,u]of Object.entries(s.properties))r(u,`${a}.${c}`,i+1);if(s.items?.properties)for(const[c,u]of Object.entries(s.items.properties))r(u,`${a}[].${c}`,i+1)}for(const[s,a]of Object.entries(e.properties))r(a,s,1);return n}function GFn(e){const t=ZFn(e);return Gvt({override:[QFn(t)],defaultKeymap:!0,closeOnBlur:!0,icons:!1})}function QFn(e){return t=>{const r=t.state.sliceDoc(Math.max(0,t.pos-50),t.pos).match(/\{\{([a-zA-Z0-9_.\[\]]*)?$/);if(!r)return null;const s=r[1]??"",a=t.pos-s.length,i=s?e.filter(c=>c.path.toLowerCase().startsWith(s.toLowerCase())):e;if(i.length===0)return null;const l=i.map(c=>({label:c.path,displayLabel:c.path,detail:c.type,info:c.description,apply:(u,d,f,p)=>{const g=u.state.sliceDoc(p,p+2)==="}}"?d.label:`${d.label}}}`;u.dispatch({changes:{from:f,to:p,insert:g},selection:{anchor:f+g.length}})}}));return{from:a,options:l,validFor:/^[a-zA-Z0-9_.\[\]]*$/}}}const YFn=/\{\{([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)\}\}/g,XFn=Cn.mark({class:"cm-variable-highlight"}),p6e=new lvt({regexp:YFn,decoration:()=>XFn}),KFn=yo.fromClass(class{decorations;constructor(e){this.decorations=p6e.createDeco(e)}update(e){this.decorations=p6e.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}),JFn=KFn;function ezn(){const e=$N({settings:{fontFamily:"var(--font-mono)",fontSize:"0.8rem",lineHighlight:"transparent",gutterBackground:"transparent",gutterForeground:"var(--neutral2)",background:"transparent",foreground:"var(--neutral6)",caret:"var(--neutral6)"},styles:[{tag:[fe.className,fe.propertyName],color:"var(--neutral6)"},{tag:fe.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[fe.heading1,fe.heading2,fe.heading3,fe.heading4,fe.heading5,fe.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:fe.emphasis,fontStyle:"italic",color:"var(--neutral6)"},{tag:fe.strong,fontWeight:"bold",color:"var(--neutral6)"},{tag:fe.link,color:"var(--accent3)",textDecoration:"underline"},{tag:fe.url,color:"var(--accent3)"},{tag:fe.monospace,color:"var(--neutral6)"},{tag:fe.strikethrough,textDecoration:"line-through"},{tag:fe.quote,fontStyle:"italic",color:"var(--neutral2)"}]}),t=It.theme({".cm-editor":{backgroundColor:"transparent"},".cm-content":{color:"var(--neutral6)",caretColor:"var(--neutral6)"},".cm-lineNumbers .cm-gutterElement":{color:"var(--neutral2)"},".cm-activeLineGutter":{color:"var(--neutral3)"},".cm-cursor":{borderLeftColor:"var(--neutral6)"},".cm-selectionBackground, .cm-content ::selection":{backgroundColor:"color-mix(in srgb, var(--accent3) 22%, transparent)"},".cm-tooltip-autocomplete":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",borderRadius:"6px",boxShadow:"0 8px 16px rgba(0, 0, 0, 0.2)"},".cm-tooltip-autocomplete > ul":{fontFamily:"var(--font-mono)"},".cm-completionLabel":{color:"var(--neutral6)"},".cm-completionDetail":{color:"var(--neutral3)",fontSize:"0.7rem",marginLeft:"auto",paddingLeft:"12px"},".cm-completionInfo":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",color:"var(--neutral3)",padding:"8px 12px"},".cm-completionIcon":{display:"none"},"ul.cm-completionList li[aria-selected]":{backgroundColor:"var(--surface4)",color:"var(--neutral6)"},".cm-line .cm-variable-highlight":{color:"var(--accent6) !important",fontWeight:"500"}});return[e,t]}function tzn(){const e=It.theme({"&":{backgroundColor:"transparent",color:"var(--neutral6)",fontSize:"0.8rem"},"&.cm-editor .cm-scroller":{fontFamily:"var(--font-mono)"},".cm-gutters":{backgroundColor:"transparent",color:"var(--neutral2)",borderRight:"none"},".cm-content":{color:"var(--neutral6)",caretColor:"var(--neutral6)"},".cm-activeLine":{backgroundColor:"transparent"},".cm-lineNumbers .cm-gutterElement":{color:"var(--neutral2)"},".cm-activeLineGutter":{backgroundColor:"transparent",color:"var(--neutral3)"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--neutral6)"},"&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection":{background:"color-mix(in srgb, var(--accent3) 22%, transparent) !important"},".cm-tooltip-autocomplete":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",borderRadius:"6px",boxShadow:"0 8px 16px rgba(0, 0, 0, 0.2)"},".cm-tooltip-autocomplete > ul":{fontFamily:"var(--font-mono)"},".cm-completionLabel":{color:"var(--neutral6)"},".cm-completionDetail":{color:"var(--neutral3)",fontSize:"0.7rem",marginLeft:"auto",paddingLeft:"12px"},".cm-completionInfo":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",color:"var(--neutral3)",padding:"8px 12px"},".cm-completionIcon":{display:"none"},"ul.cm-completionList li[aria-selected]":{backgroundColor:"var(--surface4)",color:"var(--neutral6)"},".cm-line .cm-variable-highlight":{color:"var(--accent6) !important",fontWeight:"500"}}),t=$g.define([{tag:[fe.comment,fe.bracket],color:"var(--neutral2)"},{tag:[fe.string,fe.meta,fe.regexp],color:"var(--accent1)"},{tag:[fe.atom,fe.bool,fe.special(fe.variableName)],color:"var(--accent6)"},{tag:[fe.keyword,fe.operator,fe.tagName],color:"var(--accent2)"},{tag:[fe.function(fe.propertyName),fe.propertyName],color:"var(--accent5)"},{tag:[fe.definition(fe.variableName),fe.function(fe.variableName),fe.className,fe.attributeName],color:"var(--accent3)"},{tag:[fe.variableName,fe.number],color:"var(--accent5)"},{tag:[fe.name,fe.quote],color:"var(--accent1)"},{tag:fe.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[fe.heading1,fe.heading2,fe.heading3,fe.heading4,fe.heading5,fe.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:[fe.emphasis],fontStyle:"italic",color:"var(--neutral6)"},{tag:[fe.strong],fontWeight:"bold",color:"var(--neutral6)"},{tag:fe.link,color:"var(--accent3)",textDecoration:"underline"},{tag:fe.url,color:"var(--accent3)"},{tag:fe.monospace,color:"var(--neutral6)"},{tag:fe.strikethrough,textDecoration:"line-through"},{tag:[fe.deleted],color:"var(--accent2)"},{tag:fe.invalid,color:"var(--error)"},{tag:[fe.standard(fe.tagName)],color:"var(--accent1)"}]);return[e,F1(t)]}const Py=()=>{const e=EN().resolvedTheme==="dark";return v.useMemo(()=>e?ezn():tzn(),[e])},Qr=v.forwardRef(({data:e,value:t,onChange:n,showCopyButton:r=!0,className:s,language:a="json",highlightVariables:i=!1,placeholder:l,schema:c,autoFocus:u,lineNumbers:d=!0,lineWrapping:f=!0,editable:p,...h},m)=>{const g=Py(),y=e?JSON.stringify(e,null,2):t??"",b=v.useMemo(()=>{const w=[];return f&&w.push(It.lineWrapping),a==="json"?w.push(of):a==="markdown"&&w.push(qwe({base:CO,codeLanguages:nxt})),i&&a==="markdown"&&w.push(JFn),c&&a==="markdown"&&w.push(GFn(c)),p===!1&&w.push(os.readOnly.of(!0)),w},[a,i,c,p,f]);return o.jsxs("div",{className:K("rounded-md bg-surface3 p-1 font-mono relative border border-border1 overflow-hidden",s),...h,children:[r&&o.jsx(ya,{content:y,className:"absolute top-2 right-2 z-20"}),o.jsx(Xc,{ref:m,value:y,theme:g,extensions:b,onChange:n,editable:p,"aria-label":"Code editor",placeholder:l,height:"100%",style:{height:"100%"},autoFocus:u,basicSetup:{lineNumbers:d}})]})}),nzn={js:"javascript",javascript:"javascript",mjs:"javascript",cjs:"javascript",node:"javascript",ts:"typescript",typescript:"typescript",mts:"typescript",cts:"typescript",tsx:"tsx",jsx:"jsx",json:"json",json5:"json",md:"markdown",markdown:"markdown",py:"python",python:"python",sh:"bash",bash:"bash",shell:"bash",zsh:"bash"};let PK=null;function rzn(){return PK||(PK=(async()=>{const[{createHighlighterCore:e},{createJavaScriptRegexEngine:t}]=await Promise.all([Eo(()=>import("./core-BMRIJY6E.js"),__vite__mapDeps([0,1,2]),import.meta.url),Eo(()=>import("./engine-javascript-CSIo_1eZ.js"),__vite__mapDeps([3,1]),import.meta.url)]);return e({themes:[Eo(()=>import("./github-light-DAi9KRSo.js"),[],import.meta.url),Eo(()=>import("./github-dark-DHJKELXO.js"),[],import.meta.url)],langs:[Eo(()=>import("./javascript-ySlJ1b_l.js"),[],import.meta.url),Eo(()=>import("./typescript-Dj6nwHGl.js"),[],import.meta.url),Eo(()=>import("./tsx-B6W0miNI.js"),[],import.meta.url),Eo(()=>import("./jsx-BAng5TT0.js"),[],import.meta.url),Eo(()=>import("./json-BQoSv7ci.js"),[],import.meta.url),Eo(()=>import("./bash-atvbtKCR.js"),[],import.meta.url),Eo(()=>import("./markdown-UIAJJxZW.js"),[],import.meta.url),Eo(()=>import("./python-DhUJRlN_.js"),[],import.meta.url)],engine:t()})})()),PK}async function szn(e,t){const n=nzn[t?.toLowerCase()];if(!n)return null;const r=await rzn(),{tokens:s}=r.codeToTokens(e,{lang:n,defaultColor:!1,themes:{light:"github-light",dark:"github-dark"}});return s}const azn=e=>{try{return JSON.stringify(e??{},null,2)}catch{return"{}"}},izn=({editorClassName:e="h-[240px] max-h-[40vh]",onSaved:t})=>{const n=Py(),{settings:r,setSettings:s}=Bq(),a=r?.tracingOptions,i=v.useMemo(()=>azn(a),[a]),[l,c]=v.useState(()=>i),u=v.useRef(!1);v.useEffect(()=>{u.current||c(i)},[i]);const d=p=>{u.current=!0,c(p)},f=()=>{if(!l){s({...r,tracingOptions:void 0}),t?.();return}try{const p=JSON.parse(l);typeof p=="object"&&p!==null&&s({...r,tracingOptions:p})}catch{return}t?.()};return o.jsxs("div",{className:"space-y-2 px-5 py-2",children:[o.jsx(ge,{as:"h3",variant:"ui-md",className:"text-neutral3",children:"Tracing Options"}),o.jsx(Xc,{value:l,onChange:d,theme:n,extensions:[of],className:K("overflow-y-scroll bg-surface3 rounded-lg overflow-hidden p-3",e)}),o.jsx("div",{className:"flex items-center justify-end",children:o.jsx(ue,{type:"button",onClick:f,children:"Save"})})]})},ozn=()=>{const[e,t]=v.useState(!1);return o.jsxs(o.Fragment,{children:[o.jsxs(Wn,{children:[o.jsx(zn,{asChild:!0,children:o.jsx(ue,{type:"button",variant:"ghost",size:"icon-md","aria-label":"Run Options",onClick:()=>t(!0),children:o.jsx(Ue,{children:o.jsx(Yye,{})})})}),o.jsx(Bn,{children:"Run Options"})]}),o.jsx(br,{open:e,onOpenChange:t,children:o.jsxs(xr,{children:[o.jsxs(wr,{children:[o.jsx(gr,{children:"Run Options"}),o.jsx(Qs,{children:"Configure tracing and debug options for this workflow run"})]}),o.jsx(Ar,{children:o.jsx(izn,{onSaved:()=>t(!1)})})]})})]})};function lzn({status:e}){switch(e){case"running":return o.jsx(Gt,{});case"failed":return o.jsx(vs,{className:"text-accent2"});case"canceled":return o.jsx(xf,{className:"text-neutral3"});case"pending":case"waiting":return o.jsx(sO,{className:"text-neutral3"});case"suspended":return o.jsx(ZU,{className:"text-accent3"});case"success":return o.jsx(Js,{className:"text-accent1"});default:return o.jsx(sO,{className:"text-neutral3"})}}function rxt({status:e}){return o.jsxs(Wn,{children:[o.jsx(zn,{asChild:!0,children:o.jsx(Ue,{"aria-label":e,className:"shrink-0",children:o.jsx(lzn,{status:e})})}),o.jsx(Bn,{children:e})]})}var $K,h6e;function Kwe(){if(h6e)return $K;h6e=1;var e="\0",t="\0",n="";class r{_isDirected=!0;_isMultigraph=!1;_isCompound=!1;_label;_defaultNodeLabelFn=()=>{};_defaultEdgeLabelFn=()=>{};_nodes={};_in={};_preds={};_out={};_sucs={};_edgeObjs={};_edgeLabels={};_nodeCount=0;_edgeCount=0;_parent;_children;constructor(d){d&&(this._isDirected=Object.hasOwn(d,"directed")?d.directed:!0,this._isMultigraph=Object.hasOwn(d,"multigraph")?d.multigraph:!1,this._isCompound=Object.hasOwn(d,"compound")?d.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[t]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(d){return this._label=d,this}graph(){return this._label}setDefaultNodeLabel(d){return this._defaultNodeLabelFn=d,typeof d!="function"&&(this._defaultNodeLabelFn=()=>d),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var d=this;return this.nodes().filter(f=>Object.keys(d._in[f]).length===0)}sinks(){var d=this;return this.nodes().filter(f=>Object.keys(d._out[f]).length===0)}setNodes(d,f){var p=arguments,h=this;return d.forEach(function(m){p.length>1?h.setNode(m,f):h.setNode(m)}),this}setNode(d,f){return Object.hasOwn(this._nodes,d)?(arguments.length>1&&(this._nodes[d]=f),this):(this._nodes[d]=arguments.length>1?f:this._defaultNodeLabelFn(d),this._isCompound&&(this._parent[d]=t,this._children[d]={},this._children[t][d]=!0),this._in[d]={},this._preds[d]={},this._out[d]={},this._sucs[d]={},++this._nodeCount,this)}node(d){return this._nodes[d]}hasNode(d){return Object.hasOwn(this._nodes,d)}removeNode(d){var f=this;if(Object.hasOwn(this._nodes,d)){var p=h=>f.removeEdge(f._edgeObjs[h]);delete this._nodes[d],this._isCompound&&(this._removeFromParentsChildList(d),delete this._parent[d],this.children(d).forEach(function(h){f.setParent(h)}),delete this._children[d]),Object.keys(this._in[d]).forEach(p),delete this._in[d],delete this._preds[d],Object.keys(this._out[d]).forEach(p),delete this._out[d],delete this._sucs[d],--this._nodeCount}return this}setParent(d,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(f===void 0)f=t;else{f+="";for(var p=f;p!==void 0;p=this.parent(p))if(p===d)throw new Error("Setting "+f+" as parent of "+d+" would create a cycle");this.setNode(f)}return this.setNode(d),this._removeFromParentsChildList(d),this._parent[d]=f,this._children[f][d]=!0,this}_removeFromParentsChildList(d){delete this._children[this._parent[d]][d]}parent(d){if(this._isCompound){var f=this._parent[d];if(f!==t)return f}}children(d=t){if(this._isCompound){var f=this._children[d];if(f)return Object.keys(f)}else{if(d===t)return this.nodes();if(this.hasNode(d))return[]}}predecessors(d){var f=this._preds[d];if(f)return Object.keys(f)}successors(d){var f=this._sucs[d];if(f)return Object.keys(f)}neighbors(d){var f=this.predecessors(d);if(f){const h=new Set(f);for(var p of this.successors(d))h.add(p);return Array.from(h.values())}}isLeaf(d){var f;return this.isDirected()?f=this.successors(d):f=this.neighbors(d),f.length===0}filterNodes(d){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var p=this;Object.entries(this._nodes).forEach(function([g,y]){d(g)&&f.setNode(g,y)}),Object.values(this._edgeObjs).forEach(function(g){f.hasNode(g.v)&&f.hasNode(g.w)&&f.setEdge(g,p.edge(g))});var h={};function m(g){var y=p.parent(g);return y===void 0||f.hasNode(y)?(h[g]=y,y):y in h?h[y]:m(y)}return this._isCompound&&f.nodes().forEach(g=>f.setParent(g,m(g))),f}setDefaultEdgeLabel(d){return this._defaultEdgeLabelFn=d,typeof d!="function"&&(this._defaultEdgeLabelFn=()=>d),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(d,f){var p=this,h=arguments;return d.reduce(function(m,g){return h.length>1?p.setEdge(m,g,f):p.setEdge(m,g),g}),this}setEdge(){var d,f,p,h,m=!1,g=arguments[0];typeof g=="object"&&g!==null&&"v"in g?(d=g.v,f=g.w,p=g.name,arguments.length===2&&(h=arguments[1],m=!0)):(d=g,f=arguments[1],p=arguments[3],arguments.length>2&&(h=arguments[2],m=!0)),d=""+d,f=""+f,p!==void 0&&(p=""+p);var y=i(this._isDirected,d,f,p);if(Object.hasOwn(this._edgeLabels,y))return m&&(this._edgeLabels[y]=h),this;if(p!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(d),this.setNode(f),this._edgeLabels[y]=m?h:this._defaultEdgeLabelFn(d,f,p);var b=l(this._isDirected,d,f,p);return d=b.v,f=b.w,Object.freeze(b),this._edgeObjs[y]=b,s(this._preds[f],d),s(this._sucs[d],f),this._in[f][y]=b,this._out[d][y]=b,this._edgeCount++,this}edge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p);return this._edgeLabels[h]}edgeAsObj(){const d=this.edge(...arguments);return typeof d!="object"?{label:d}:d}hasEdge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p);return Object.hasOwn(this._edgeLabels,h)}removeEdge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p),m=this._edgeObjs[h];return m&&(d=m.v,f=m.w,delete this._edgeLabels[h],delete this._edgeObjs[h],a(this._preds[f],d),a(this._sucs[d],f),delete this._in[f][h],delete this._out[d][h],this._edgeCount--),this}inEdges(d,f){var p=this._in[d];if(p){var h=Object.values(p);return f?h.filter(m=>m.v===f):h}}outEdges(d,f){var p=this._out[d];if(p){var h=Object.values(p);return f?h.filter(m=>m.w===f):h}}nodeEdges(d,f){var p=this.inEdges(d,f);if(p)return p.concat(this.outEdges(d,f))}}function s(u,d){u[d]?u[d]++:u[d]=1}function a(u,d){--u[d]||delete u[d]}function i(u,d,f,p){var h=""+d,m=""+f;if(!u&&h>m){var g=h;h=m,m=g}return h+n+m+n+(p===void 0?e:p)}function l(u,d,f,p){var h=""+d,m=""+f;if(!u&&h>m){var g=h;h=m,m=g}var y={v:h,w:m};return p&&(y.name=p),y}function c(u,d){return i(u,d.v,d.w,d.name)}return $K=r,$K}var MK,m6e;function czn(){return m6e||(m6e=1,MK="2.2.4"),MK}var DK,g6e;function uzn(){return g6e||(g6e=1,DK={Graph:Kwe(),version:czn()}),DK}var LK,v6e;function dzn(){if(v6e)return LK;v6e=1;var e=Kwe();LK={write:t,read:s};function t(a){var i={options:{directed:a.isDirected(),multigraph:a.isMultigraph(),compound:a.isCompound()},nodes:n(a),edges:r(a)};return a.graph()!==void 0&&(i.value=structuredClone(a.graph())),i}function n(a){return a.nodes().map(function(i){var l=a.node(i),c=a.parent(i),u={v:i};return l!==void 0&&(u.value=l),c!==void 0&&(u.parent=c),u})}function r(a){return a.edges().map(function(i){var l=a.edge(i),c={v:i.v,w:i.w};return i.name!==void 0&&(c.name=i.name),l!==void 0&&(c.value=l),c})}function s(a){var i=new e(a.options).setGraph(a.value);return a.nodes.forEach(function(l){i.setNode(l.v,l.value),l.parent&&i.setParent(l.v,l.parent)}),a.edges.forEach(function(l){i.setEdge({v:l.v,w:l.w,name:l.name},l.value)}),i}return LK}var FK,y6e;function fzn(){if(y6e)return FK;y6e=1,FK=e;function e(t){var n={},r=[],s;function a(i){Object.hasOwn(n,i)||(n[i]=!0,s.push(i),t.successors(i).forEach(a),t.predecessors(i).forEach(a))}return t.nodes().forEach(function(i){s=[],a(i),s.length&&r.push(s)}),r}return FK}var zK,b6e;function sxt(){if(b6e)return zK;b6e=1;class e{_arr=[];_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 r=this._keyIndices[n];if(r!==void 0)return this._arr[r].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,r){var s=this._keyIndices;if(n=String(n),!Object.hasOwn(s,n)){var a=this._arr,i=a.length;return s[n]=i,a.push({key:n,priority:r}),this._decrease(i),!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,r){var s=this._keyIndices[n];if(r>this._arr[s].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[s].priority+" New: "+r);this._arr[s].priority=r,this._decrease(s)}_heapify(n){var r=this._arr,s=2*n,a=s+1,i=n;s<r.length&&(i=r[s].priority<r[i].priority?s:i,a<r.length&&(i=r[a].priority<r[i].priority?a:i),i!==n&&(this._swap(n,i),this._heapify(i)))}_decrease(n){for(var r=this._arr,s=r[n].priority,a;n!==0&&(a=n>>1,!(r[a].priority<s));)this._swap(n,a),n=a}_swap(n,r){var s=this._arr,a=this._keyIndices,i=s[n],l=s[r];s[n]=l,s[r]=i,a[l.key]=n,a[i.key]=r}}return zK=e,zK}var BK,x6e;function axt(){if(x6e)return BK;x6e=1;var e=sxt();BK=n;var t=()=>1;function n(s,a,i,l){return r(s,String(a),i||t,l||function(c){return s.outEdges(c)})}function r(s,a,i,l){var c={},u=new e,d,f,p=function(h){var m=h.v!==d?h.v:h.w,g=c[m],y=i(h),b=f.distance+y;if(y<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+h+" Weight: "+y);b<g.distance&&(g.distance=b,g.predecessor=d,u.decrease(m,b))};for(s.nodes().forEach(function(h){var m=h===a?0:Number.POSITIVE_INFINITY;c[h]={distance:m},u.add(h,m)});u.size()>0&&(d=u.removeMin(),f=c[d],f.distance!==Number.POSITIVE_INFINITY);)l(d).forEach(p);return c}return BK}var UK,w6e;function pzn(){if(w6e)return UK;w6e=1;var e=axt();UK=t;function t(n,r,s){return n.nodes().reduce(function(a,i){return a[i]=e(n,i,r,s),a},{})}return UK}var qK,S6e;function ixt(){if(S6e)return qK;S6e=1,qK=e;function e(t){var n=0,r=[],s={},a=[];function i(l){var c=s[l]={onStack:!0,lowlink:n,index:n++};if(r.push(l),t.successors(l).forEach(function(f){Object.hasOwn(s,f)?s[f].onStack&&(c.lowlink=Math.min(c.lowlink,s[f].index)):(i(f),c.lowlink=Math.min(c.lowlink,s[f].lowlink))}),c.lowlink===c.index){var u=[],d;do d=r.pop(),s[d].onStack=!1,u.push(d);while(l!==d);a.push(u)}}return t.nodes().forEach(function(l){Object.hasOwn(s,l)||i(l)}),a}return qK}var VK,k6e;function hzn(){if(k6e)return VK;k6e=1;var e=ixt();VK=t;function t(n){return e(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return VK}var HK,O6e;function mzn(){if(O6e)return HK;O6e=1,HK=t;var e=()=>1;function t(r,s,a){return n(r,s||e,a||function(i){return r.outEdges(i)})}function n(r,s,a){var i={},l=r.nodes();return l.forEach(function(c){i[c]={},i[c][c]={distance:0},l.forEach(function(u){c!==u&&(i[c][u]={distance:Number.POSITIVE_INFINITY})}),a(c).forEach(function(u){var d=u.v===c?u.w:u.v,f=s(u);i[c][d]={distance:f,predecessor:c}})}),l.forEach(function(c){var u=i[c];l.forEach(function(d){var f=i[d];l.forEach(function(p){var h=f[c],m=u[p],g=f[p],y=h.distance+m.distance;y<g.distance&&(g.distance=y,g.predecessor=m.predecessor)})})}),i}return HK}var WK,_6e;function oxt(){if(_6e)return WK;_6e=1;function e(n){var r={},s={},a=[];function i(l){if(Object.hasOwn(s,l))throw new t;Object.hasOwn(r,l)||(s[l]=!0,r[l]=!0,n.predecessors(l).forEach(i),delete s[l],a.push(l))}if(n.sinks().forEach(i),Object.keys(r).length!==n.nodeCount())throw new t;return a}class t extends Error{constructor(){super(...arguments)}}return WK=e,e.CycleException=t,WK}var ZK,C6e;function gzn(){if(C6e)return ZK;C6e=1;var e=oxt();ZK=t;function t(n){try{e(n)}catch(r){if(r instanceof e.CycleException)return!1;throw r}return!0}return ZK}var GK,E6e;function lxt(){if(E6e)return GK;E6e=1,GK=e;function e(s,a,i){Array.isArray(a)||(a=[a]);var l=s.isDirected()?f=>s.successors(f):f=>s.neighbors(f),c=i==="post"?t:n,u=[],d={};return a.forEach(f=>{if(!s.hasNode(f))throw new Error("Graph does not have node: "+f);c(f,l,d,u)}),u}function t(s,a,i,l){for(var c=[[s,!1]];c.length>0;){var u=c.pop();u[1]?l.push(u[0]):Object.hasOwn(i,u[0])||(i[u[0]]=!0,c.push([u[0],!0]),r(a(u[0]),d=>c.push([d,!1])))}}function n(s,a,i,l){for(var c=[s];c.length>0;){var u=c.pop();Object.hasOwn(i,u)||(i[u]=!0,l.push(u),r(a(u),d=>c.push(d)))}}function r(s,a){for(var i=s.length;i--;)a(s[i],i,s);return s}return GK}var QK,j6e;function vzn(){if(j6e)return QK;j6e=1;var e=lxt();QK=t;function t(n,r){return e(n,r,"post")}return QK}var YK,T6e;function yzn(){if(T6e)return YK;T6e=1;var e=lxt();YK=t;function t(n,r){return e(n,r,"pre")}return YK}var XK,N6e;function bzn(){if(N6e)return XK;N6e=1;var e=Kwe(),t=sxt();XK=n;function n(r,s){var a=new e,i={},l=new t,c;function u(f){var p=f.v===c?f.w:f.v,h=l.priority(p);if(h!==void 0){var m=s(f);m<h&&(i[p]=c,l.decrease(p,m))}}if(r.nodeCount()===0)return a;r.nodes().forEach(function(f){l.add(f,Number.POSITIVE_INFINITY),a.setNode(f)}),l.decrease(r.nodes()[0],0);for(var d=!1;l.size()>0;){if(c=l.removeMin(),Object.hasOwn(i,c))a.setEdge(c,i[c]);else{if(d)throw new Error("Input graph is not connected: "+r);d=!0}r.nodeEdges(c).forEach(u)}return a}return XK}var KK,I6e;function xzn(){return I6e||(I6e=1,KK={components:fzn(),dijkstra:axt(),dijkstraAll:pzn(),findCycles:hzn(),floydWarshall:mzn(),isAcyclic:gzn(),postorder:vzn(),preorder:yzn(),prim:bzn(),tarjan:ixt(),topsort:oxt()}),KK}var JK,A6e;function Eg(){if(A6e)return JK;A6e=1;var e=uzn();return JK={Graph:e.Graph,json:dzn(),alg:xzn(),version:e.version},JK}var eJ,R6e;function wzn(){if(R6e)return eJ;R6e=1;class e{constructor(){let s={};s._next=s._prev=s,this._sentinel=s}dequeue(){let s=this._sentinel,a=s._prev;if(a!==s)return t(a),a}enqueue(s){let a=this._sentinel;s._prev&&s._next&&t(s),s._next=a._next,a._next._prev=s,a._next=s,s._prev=a}toString(){let s=[],a=this._sentinel,i=a._prev;for(;i!==a;)s.push(JSON.stringify(i,n)),i=i._prev;return"["+s.join(", ")+"]"}}function t(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function n(r,s){if(r!=="_next"&&r!=="_prev")return s}return eJ=e,eJ}var tJ,P6e;function Szn(){if(P6e)return tJ;P6e=1;let e=Eg().Graph,t=wzn();tJ=r;let n=()=>1;function r(u,d){if(u.nodeCount()<=1)return[];let f=i(u,d||n);return s(f.graph,f.buckets,f.zeroIdx).flatMap(h=>u.outEdges(h.v,h.w))}function s(u,d,f){let p=[],h=d[d.length-1],m=d[0],g;for(;u.nodeCount();){for(;g=m.dequeue();)a(u,d,f,g);for(;g=h.dequeue();)a(u,d,f,g);if(u.nodeCount()){for(let y=d.length-2;y>0;--y)if(g=d[y].dequeue(),g){p=p.concat(a(u,d,f,g,!0));break}}}return p}function a(u,d,f,p,h){let m=h?[]:void 0;return u.inEdges(p.v).forEach(g=>{let y=u.edge(g),b=u.node(g.v);h&&m.push({v:g.v,w:g.w}),b.out-=y,l(d,f,b)}),u.outEdges(p.v).forEach(g=>{let y=u.edge(g),b=g.w,w=u.node(b);w.in-=y,l(d,f,w)}),u.removeNode(p.v),m}function i(u,d){let f=new e,p=0,h=0;u.nodes().forEach(y=>{f.setNode(y,{v:y,in:0,out:0})}),u.edges().forEach(y=>{let b=f.edge(y.v,y.w)||0,w=d(y),S=b+w;f.setEdge(y.v,y.w,S),h=Math.max(h,f.node(y.v).out+=w),p=Math.max(p,f.node(y.w).in+=w)});let m=c(h+p+3).map(()=>new t),g=p+1;return f.nodes().forEach(y=>{l(m,g,f.node(y))}),{graph:f,buckets:m,zeroIdx:g}}function l(u,d,f){f.out?f.in?u[f.out-f.in+d].enqueue(f):u[u.length-1].enqueue(f):u[0].enqueue(f)}function c(u){const d=[];for(let f=0;f<u;f++)d.push(f);return d}return tJ}var nJ,$6e;function jl(){if($6e)return nJ;$6e=1;let e=Eg().Graph;nJ={addBorderNode:d,addDummyNode:t,applyWithChunking:h,asNonCompoundGraph:r,buildLayerMatrix:l,intersectRect:i,mapValues:C,maxRank:m,normalizeRanks:c,notime:b,partition:g,pick:_,predecessorWeights:a,range:k,removeEmptyRanks:u,simplify:n,successorWeights:s,time:y,uniqueId:S,zipObject:E};function t(j,N,I,R){for(var $=R;j.hasNode($);)$=S(R);return I.dummy=N,j.setNode($,I),$}function n(j){let N=new e().setGraph(j.graph());return j.nodes().forEach(I=>N.setNode(I,j.node(I))),j.edges().forEach(I=>{let R=N.edge(I.v,I.w)||{weight:0,minlen:1},$=j.edge(I);N.setEdge(I.v,I.w,{weight:R.weight+$.weight,minlen:Math.max(R.minlen,$.minlen)})}),N}function r(j){let N=new e({multigraph:j.isMultigraph()}).setGraph(j.graph());return j.nodes().forEach(I=>{j.children(I).length||N.setNode(I,j.node(I))}),j.edges().forEach(I=>{N.setEdge(I,j.edge(I))}),N}function s(j){let N=j.nodes().map(I=>{let R={};return j.outEdges(I).forEach($=>{R[$.w]=(R[$.w]||0)+j.edge($).weight}),R});return E(j.nodes(),N)}function a(j){let N=j.nodes().map(I=>{let R={};return j.inEdges(I).forEach($=>{R[$.v]=(R[$.v]||0)+j.edge($).weight}),R});return E(j.nodes(),N)}function i(j,N){let I=j.x,R=j.y,$=N.x-I,F=N.y-R,D=j.width/2,V=j.height/2;if(!$&&!F)throw new Error("Not possible to find intersection inside of the rectangle");let W,L;return Math.abs(F)*D>Math.abs($)*V?(F<0&&(V=-V),W=V*$/F,L=V):($<0&&(D=-D),W=D,L=D*F/$),{x:I+W,y:R+L}}function l(j){let N=k(m(j)+1).map(()=>[]);return j.nodes().forEach(I=>{let R=j.node(I),$=R.rank;$!==void 0&&(N[$][R.order]=I)}),N}function c(j){let N=j.nodes().map(R=>{let $=j.node(R).rank;return $===void 0?Number.MAX_VALUE:$}),I=h(Math.min,N);j.nodes().forEach(R=>{let $=j.node(R);Object.hasOwn($,"rank")&&($.rank-=I)})}function u(j){let N=j.nodes().map(D=>j.node(D).rank),I=h(Math.min,N),R=[];j.nodes().forEach(D=>{let V=j.node(D).rank-I;R[V]||(R[V]=[]),R[V].push(D)});let $=0,F=j.graph().nodeRankFactor;Array.from(R).forEach((D,V)=>{D===void 0&&V%F!==0?--$:D!==void 0&&$&&D.forEach(W=>j.node(W).rank+=$)})}function d(j,N,I,R){let $={width:0,height:0};return arguments.length>=4&&($.rank=I,$.order=R),t(j,"border",$,N)}function f(j,N=p){const I=[];for(let R=0;R<j.length;R+=N){const $=j.slice(R,R+N);I.push($)}return I}const p=65535;function h(j,N){if(N.length>p){const I=f(N);return j.apply(null,I.map(R=>j.apply(null,R)))}else return j.apply(null,N)}function m(j){const I=j.nodes().map(R=>{let $=j.node(R).rank;return $===void 0?Number.MIN_VALUE:$});return h(Math.max,I)}function g(j,N){let I={lhs:[],rhs:[]};return j.forEach(R=>{N(R)?I.lhs.push(R):I.rhs.push(R)}),I}function y(j,N){let I=Date.now();try{return N()}finally{console.log(j+" time: "+(Date.now()-I)+"ms")}}function b(j,N){return N()}let w=0;function S(j){var N=++w;return j+(""+N)}function k(j,N,I=1){N==null&&(N=j,j=0);let R=F=>F<N;I<0&&(R=F=>N<F);const $=[];for(let F=j;R(F);F+=I)$.push(F);return $}function _(j,N){const I={};for(const R of N)j[R]!==void 0&&(I[R]=j[R]);return I}function C(j,N){let I=N;return typeof N=="string"&&(I=R=>R[N]),Object.entries(j).reduce((R,[$,F])=>(R[$]=I(F,$),R),{})}function E(j,N){return j.reduce((I,R,$)=>(I[R]=N[$],I),{})}return nJ}var rJ,M6e;function kzn(){if(M6e)return rJ;M6e=1;let e=Szn(),t=jl().uniqueId;rJ={run:n,undo:s};function n(a){(a.graph().acyclicer==="greedy"?e(a,l(a)):r(a)).forEach(c=>{let u=a.edge(c);a.removeEdge(c),u.forwardName=c.name,u.reversed=!0,a.setEdge(c.w,c.v,u,t("rev"))});function l(c){return u=>c.edge(u).weight}}function r(a){let i=[],l={},c={};function u(d){Object.hasOwn(c,d)||(c[d]=!0,l[d]=!0,a.outEdges(d).forEach(f=>{Object.hasOwn(l,f.w)?i.push(f):u(f.w)}),delete l[d])}return a.nodes().forEach(u),i}function s(a){a.edges().forEach(i=>{let l=a.edge(i);if(l.reversed){a.removeEdge(i);let c=l.forwardName;delete l.reversed,delete l.forwardName,a.setEdge(i.w,i.v,l,c)}})}return rJ}var sJ,D6e;function Ozn(){if(D6e)return sJ;D6e=1;let e=jl();sJ={run:t,undo:r};function t(s){s.graph().dummyChains=[],s.edges().forEach(a=>n(s,a))}function n(s,a){let i=a.v,l=s.node(i).rank,c=a.w,u=s.node(c).rank,d=a.name,f=s.edge(a),p=f.labelRank;if(u===l+1)return;s.removeEdge(a);let h,m,g;for(g=0,++l;l<u;++g,++l)f.points=[],m={width:0,height:0,edgeLabel:f,edgeObj:a,rank:l},h=e.addDummyNode(s,"edge",m,"_d"),l===p&&(m.width=f.width,m.height=f.height,m.dummy="edge-label",m.labelpos=f.labelpos),s.setEdge(i,h,{weight:f.weight},d),g===0&&s.graph().dummyChains.push(h),i=h;s.setEdge(i,c,{weight:f.weight},d)}function r(s){s.graph().dummyChains.forEach(a=>{let i=s.node(a),l=i.edgeLabel,c;for(s.setEdge(i.edgeObj,l);i.dummy;)c=s.successors(a)[0],s.removeNode(a),l.points.push({x:i.x,y:i.y}),i.dummy==="edge-label"&&(l.x=i.x,l.y=i.y,l.width=i.width,l.height=i.height),a=c,i=s.node(a)})}return sJ}var aJ,L6e;function h7(){if(L6e)return aJ;L6e=1;const{applyWithChunking:e}=jl();aJ={longestPath:t,slack:n};function t(r){var s={};function a(i){var l=r.node(i);if(Object.hasOwn(s,i))return l.rank;s[i]=!0;let c=r.outEdges(i).map(d=>d==null?Number.POSITIVE_INFINITY:a(d.w)-r.edge(d).minlen);var u=e(Math.min,c);return u===Number.POSITIVE_INFINITY&&(u=0),l.rank=u}r.sources().forEach(a)}function n(r,s){return r.node(s.w).rank-r.node(s.v).rank-r.edge(s).minlen}return aJ}var iJ,F6e;function cxt(){if(F6e)return iJ;F6e=1;var e=Eg().Graph,t=h7().slack;iJ=n;function n(i){var l=new e({directed:!1}),c=i.nodes()[0],u=i.nodeCount();l.setNode(c,{});for(var d,f;r(l,i)<u;)d=s(l,i),f=l.hasNode(d.v)?t(i,d):-t(i,d),a(l,i,f);return l}function r(i,l){function c(u){l.nodeEdges(u).forEach(d=>{var f=d.v,p=u===f?d.w:f;!i.hasNode(p)&&!t(l,d)&&(i.setNode(p,{}),i.setEdge(u,p,{}),c(p))})}return i.nodes().forEach(c),i.nodeCount()}function s(i,l){return l.edges().reduce((u,d)=>{let f=Number.POSITIVE_INFINITY;return i.hasNode(d.v)!==i.hasNode(d.w)&&(f=t(l,d)),f<u[0]?[f,d]:u},[Number.POSITIVE_INFINITY,null])[1]}function a(i,l,c){i.nodes().forEach(u=>l.node(u).rank+=c)}return iJ}var oJ,z6e;function _zn(){if(z6e)return oJ;z6e=1;var e=cxt(),t=h7().slack,n=h7().longestPath,r=Eg().alg.preorder,s=Eg().alg.postorder,a=jl().simplify;oJ=i,i.initLowLimValues=d,i.initCutValues=l,i.calcCutValue=u,i.leaveEdge=p,i.enterEdge=h,i.exchangeEdges=m;function i(w){w=a(w),n(w);var S=e(w);d(S),l(S,w);for(var k,_;k=p(S);)_=h(S,w,k),m(S,w,k,_)}function l(w,S){var k=s(w,w.nodes());k=k.slice(0,k.length-1),k.forEach(_=>c(w,S,_))}function c(w,S,k){var _=w.node(k),C=_.parent;w.edge(k,C).cutvalue=u(w,S,k)}function u(w,S,k){var _=w.node(k),C=_.parent,E=!0,j=S.edge(k,C),N=0;return j||(E=!1,j=S.edge(C,k)),N=j.weight,S.nodeEdges(k).forEach(I=>{var R=I.v===k,$=R?I.w:I.v;if($!==C){var F=R===E,D=S.edge(I).weight;if(N+=F?D:-D,y(w,k,$)){var V=w.edge(k,$).cutvalue;N+=F?-V:V}}}),N}function d(w,S){arguments.length<2&&(S=w.nodes()[0]),f(w,{},1,S)}function f(w,S,k,_,C){var E=k,j=w.node(_);return S[_]=!0,w.neighbors(_).forEach(N=>{Object.hasOwn(S,N)||(k=f(w,S,k,N,_))}),j.low=E,j.lim=k++,C?j.parent=C:delete j.parent,k}function p(w){return w.edges().find(S=>w.edge(S).cutvalue<0)}function h(w,S,k){var _=k.v,C=k.w;S.hasEdge(_,C)||(_=k.w,C=k.v);var E=w.node(_),j=w.node(C),N=E,I=!1;E.lim>j.lim&&(N=j,I=!0);var R=S.edges().filter($=>I===b(w,w.node($.v),N)&&I!==b(w,w.node($.w),N));return R.reduce(($,F)=>t(S,F)<t(S,$)?F:$)}function m(w,S,k,_){var C=k.v,E=k.w;w.removeEdge(C,E),w.setEdge(_.v,_.w,{}),d(w),l(w,S),g(w,S)}function g(w,S){var k=w.nodes().find(C=>!S.node(C).parent),_=r(w,k);_=_.slice(1),_.forEach(C=>{var E=w.node(C).parent,j=S.edge(C,E),N=!1;j||(j=S.edge(E,C),N=!0),S.node(C).rank=S.node(E).rank+(N?j.minlen:-j.minlen)})}function y(w,S,k){return w.hasEdge(S,k)}function b(w,S,k){return k.low<=S.lim&&S.lim<=k.lim}return oJ}var lJ,B6e;function Czn(){if(B6e)return lJ;B6e=1;var e=h7(),t=e.longestPath,n=cxt(),r=_zn();lJ=s;function s(c){var u=c.graph().ranker;if(u instanceof Function)return u(c);switch(c.graph().ranker){case"network-simplex":l(c);break;case"tight-tree":i(c);break;case"longest-path":a(c);break;case"none":break;default:l(c)}}var a=t;function i(c){t(c),n(c)}function l(c){r(c)}return lJ}var cJ,U6e;function Ezn(){if(U6e)return cJ;U6e=1,cJ=e;function e(r){let s=n(r);r.graph().dummyChains.forEach(a=>{let i=r.node(a),l=i.edgeObj,c=t(r,s,l.v,l.w),u=c.path,d=c.lca,f=0,p=u[f],h=!0;for(;a!==l.w;){if(i=r.node(a),h){for(;(p=u[f])!==d&&r.node(p).maxRank<i.rank;)f++;p===d&&(h=!1)}if(!h){for(;f<u.length-1&&r.node(p=u[f+1]).minRank<=i.rank;)f++;p=u[f]}r.setParent(a,p),a=r.successors(a)[0]}})}function t(r,s,a,i){let l=[],c=[],u=Math.min(s[a].low,s[i].low),d=Math.max(s[a].lim,s[i].lim),f,p;f=a;do f=r.parent(f),l.push(f);while(f&&(s[f].low>u||d>s[f].lim));for(p=f,f=i;(f=r.parent(f))!==p;)c.push(f);return{path:l.concat(c.reverse()),lca:p}}function n(r){let s={},a=0;function i(l){let c=a;r.children(l).forEach(i),s[l]={low:c,lim:a++}}return r.children().forEach(i),s}return cJ}var uJ,q6e;function jzn(){if(q6e)return uJ;q6e=1;let e=jl();uJ={run:t,cleanup:a};function t(i){let l=e.addDummyNode(i,"root",{},"_root"),c=r(i),u=Object.values(c),d=e.applyWithChunking(Math.max,u)-1,f=2*d+1;i.graph().nestingRoot=l,i.edges().forEach(h=>i.edge(h).minlen*=f);let p=s(i)+1;i.children().forEach(h=>n(i,l,f,p,d,c,h)),i.graph().nodeRankFactor=f}function n(i,l,c,u,d,f,p){let h=i.children(p);if(!h.length){p!==l&&i.setEdge(l,p,{weight:0,minlen:c});return}let m=e.addBorderNode(i,"_bt"),g=e.addBorderNode(i,"_bb"),y=i.node(p);i.setParent(m,p),y.borderTop=m,i.setParent(g,p),y.borderBottom=g,h.forEach(b=>{n(i,l,c,u,d,f,b);let w=i.node(b),S=w.borderTop?w.borderTop:b,k=w.borderBottom?w.borderBottom:b,_=w.borderTop?u:2*u,C=S!==k?1:d-f[p]+1;i.setEdge(m,S,{weight:_,minlen:C,nestingEdge:!0}),i.setEdge(k,g,{weight:_,minlen:C,nestingEdge:!0})}),i.parent(p)||i.setEdge(l,m,{weight:0,minlen:d+f[p]})}function r(i){var l={};function c(u,d){var f=i.children(u);f&&f.length&&f.forEach(p=>c(p,d+1)),l[u]=d}return i.children().forEach(u=>c(u,1)),l}function s(i){return i.edges().reduce((l,c)=>l+i.edge(c).weight,0)}function a(i){var l=i.graph();i.removeNode(l.nestingRoot),delete l.nestingRoot,i.edges().forEach(c=>{var u=i.edge(c);u.nestingEdge&&i.removeEdge(c)})}return uJ}var dJ,V6e;function Tzn(){if(V6e)return dJ;V6e=1;let e=jl();dJ=t;function t(r){function s(a){let i=r.children(a),l=r.node(a);if(i.length&&i.forEach(s),Object.hasOwn(l,"minRank")){l.borderLeft=[],l.borderRight=[];for(let c=l.minRank,u=l.maxRank+1;c<u;++c)n(r,"borderLeft","_bl",a,l,c),n(r,"borderRight","_br",a,l,c)}}r.children().forEach(s)}function n(r,s,a,i,l,c){let u={width:0,height:0,rank:c,borderType:s},d=l[s][c-1],f=e.addDummyNode(r,"border",u,a);l[s][c]=f,r.setParent(f,i),d&&r.setEdge(d,f,{weight:1})}return dJ}var fJ,H6e;function Nzn(){if(H6e)return fJ;H6e=1,fJ={adjust:e,undo:t};function e(c){let u=c.graph().rankdir.toLowerCase();(u==="lr"||u==="rl")&&n(c)}function t(c){let u=c.graph().rankdir.toLowerCase();(u==="bt"||u==="rl")&&s(c),(u==="lr"||u==="rl")&&(i(c),n(c))}function n(c){c.nodes().forEach(u=>r(c.node(u))),c.edges().forEach(u=>r(c.edge(u)))}function r(c){let u=c.width;c.width=c.height,c.height=u}function s(c){c.nodes().forEach(u=>a(c.node(u))),c.edges().forEach(u=>{let d=c.edge(u);d.points.forEach(a),Object.hasOwn(d,"y")&&a(d)})}function a(c){c.y=-c.y}function i(c){c.nodes().forEach(u=>l(c.node(u))),c.edges().forEach(u=>{let d=c.edge(u);d.points.forEach(l),Object.hasOwn(d,"x")&&l(d)})}function l(c){let u=c.x;c.x=c.y,c.y=u}return fJ}var pJ,W6e;function Izn(){if(W6e)return pJ;W6e=1;let e=jl();pJ=t;function t(n){let r={},s=n.nodes().filter(d=>!n.children(d).length),a=s.map(d=>n.node(d).rank),i=e.applyWithChunking(Math.max,a),l=e.range(i+1).map(()=>[]);function c(d){if(r[d])return;r[d]=!0;let f=n.node(d);l[f.rank].push(d),n.successors(d).forEach(c)}return s.sort((d,f)=>n.node(d).rank-n.node(f).rank).forEach(c),l}return pJ}var hJ,Z6e;function Azn(){if(Z6e)return hJ;Z6e=1;let e=jl().zipObject;hJ=t;function t(r,s){let a=0;for(let i=1;i<s.length;++i)a+=n(r,s[i-1],s[i]);return a}function n(r,s,a){let i=e(a,a.map((p,h)=>h)),l=s.flatMap(p=>r.outEdges(p).map(h=>({pos:i[h.w],weight:r.edge(h).weight})).sort((h,m)=>h.pos-m.pos)),c=1;for(;c<a.length;)c<<=1;let u=2*c-1;c-=1;let d=new Array(u).fill(0),f=0;return l.forEach(p=>{let h=p.pos+c;d[h]+=p.weight;let m=0;for(;h>0;)h%2&&(m+=d[h+1]),h=h-1>>1,d[h]+=p.weight;f+=p.weight*m}),f}return hJ}var mJ,G6e;function Rzn(){if(G6e)return mJ;G6e=1,mJ=e;function e(t,n=[]){return n.map(r=>{let s=t.inEdges(r);if(s.length){let a=s.reduce((i,l)=>{let c=t.edge(l),u=t.node(l.v);return{sum:i.sum+c.weight*u.order,weight:i.weight+c.weight}},{sum:0,weight:0});return{v:r,barycenter:a.sum/a.weight,weight:a.weight}}else return{v:r}})}return mJ}var gJ,Q6e;function Pzn(){if(Q6e)return gJ;Q6e=1;let e=jl();gJ=t;function t(s,a){let i={};s.forEach((c,u)=>{let d=i[c.v]={indegree:0,in:[],out:[],vs:[c.v],i:u};c.barycenter!==void 0&&(d.barycenter=c.barycenter,d.weight=c.weight)}),a.edges().forEach(c=>{let u=i[c.v],d=i[c.w];u!==void 0&&d!==void 0&&(d.indegree++,u.out.push(i[c.w]))});let l=Object.values(i).filter(c=>!c.indegree);return n(l)}function n(s){let a=[];function i(c){return u=>{u.merged||(u.barycenter===void 0||c.barycenter===void 0||u.barycenter>=c.barycenter)&&r(c,u)}}function l(c){return u=>{u.in.push(c),--u.indegree===0&&s.push(u)}}for(;s.length;){let c=s.pop();a.push(c),c.in.reverse().forEach(i(c)),c.out.forEach(l(c))}return a.filter(c=>!c.merged).map(c=>e.pick(c,["vs","i","barycenter","weight"]))}function r(s,a){let i=0,l=0;s.weight&&(i+=s.barycenter*s.weight,l+=s.weight),a.weight&&(i+=a.barycenter*a.weight,l+=a.weight),s.vs=a.vs.concat(s.vs),s.barycenter=i/l,s.weight=l,s.i=Math.min(a.i,s.i),a.merged=!0}return gJ}var vJ,Y6e;function $zn(){if(Y6e)return vJ;Y6e=1;let e=jl();vJ=t;function t(s,a){let i=e.partition(s,m=>Object.hasOwn(m,"barycenter")),l=i.lhs,c=i.rhs.sort((m,g)=>g.i-m.i),u=[],d=0,f=0,p=0;l.sort(r(!!a)),p=n(u,c,p),l.forEach(m=>{p+=m.vs.length,u.push(m.vs),d+=m.barycenter*m.weight,f+=m.weight,p=n(u,c,p)});let h={vs:u.flat(!0)};return f&&(h.barycenter=d/f,h.weight=f),h}function n(s,a,i){let l;for(;a.length&&(l=a[a.length-1]).i<=i;)a.pop(),s.push(l.vs),i++;return i}function r(s){return(a,i)=>a.barycenter<i.barycenter?-1:a.barycenter>i.barycenter?1:s?i.i-a.i:a.i-i.i}return vJ}var yJ,X6e;function Mzn(){if(X6e)return yJ;X6e=1;let e=Rzn(),t=Pzn(),n=$zn();yJ=r;function r(i,l,c,u){let d=i.children(l),f=i.node(l),p=f?f.borderLeft:void 0,h=f?f.borderRight:void 0,m={};p&&(d=d.filter(w=>w!==p&&w!==h));let g=e(i,d);g.forEach(w=>{if(i.children(w.v).length){let S=r(i,w.v,c,u);m[w.v]=S,Object.hasOwn(S,"barycenter")&&a(w,S)}});let y=t(g,c);s(y,m);let b=n(y,u);if(p&&(b.vs=[p,b.vs,h].flat(!0),i.predecessors(p).length)){let w=i.node(i.predecessors(p)[0]),S=i.node(i.predecessors(h)[0]);Object.hasOwn(b,"barycenter")||(b.barycenter=0,b.weight=0),b.barycenter=(b.barycenter*b.weight+w.order+S.order)/(b.weight+2),b.weight+=2}return b}function s(i,l){i.forEach(c=>{c.vs=c.vs.flatMap(u=>l[u]?l[u].vs:u)})}function a(i,l){i.barycenter!==void 0?(i.barycenter=(i.barycenter*i.weight+l.barycenter*l.weight)/(i.weight+l.weight),i.weight+=l.weight):(i.barycenter=l.barycenter,i.weight=l.weight)}return yJ}var bJ,K6e;function Dzn(){if(K6e)return bJ;K6e=1;let e=Eg().Graph,t=jl();bJ=n;function n(s,a,i,l){l||(l=s.nodes());let c=r(s),u=new e({compound:!0}).setGraph({root:c}).setDefaultNodeLabel(d=>s.node(d));return l.forEach(d=>{let f=s.node(d),p=s.parent(d);(f.rank===a||f.minRank<=a&&a<=f.maxRank)&&(u.setNode(d),u.setParent(d,p||c),s[i](d).forEach(h=>{let m=h.v===d?h.w:h.v,g=u.edge(m,d),y=g!==void 0?g.weight:0;u.setEdge(m,d,{weight:s.edge(h).weight+y})}),Object.hasOwn(f,"minRank")&&u.setNode(d,{borderLeft:f.borderLeft[a],borderRight:f.borderRight[a]}))}),u}function r(s){for(var a;s.hasNode(a=t.uniqueId("_root")););return a}return bJ}var xJ,J6e;function Lzn(){if(J6e)return xJ;J6e=1,xJ=e;function e(t,n,r){let s={},a;r.forEach(i=>{let l=t.parent(i),c,u;for(;l;){if(c=t.parent(l),c?(u=s[c],s[c]=l):(u=a,a=l),u&&u!==l){n.setEdge(u,l);return}l=c}})}return xJ}var wJ,e8e;function Fzn(){if(e8e)return wJ;e8e=1;let e=Izn(),t=Azn(),n=Mzn(),r=Dzn(),s=Lzn(),a=Eg().Graph,i=jl();wJ=l;function l(f,p){if(p&&typeof p.customOrder=="function"){p.customOrder(f,l);return}let h=i.maxRank(f),m=c(f,i.range(1,h+1),"inEdges"),g=c(f,i.range(h-1,-1,-1),"outEdges"),y=e(f);if(d(f,y),p&&p.disableOptimalOrderHeuristic)return;let b=Number.POSITIVE_INFINITY,w;for(let S=0,k=0;k<4;++S,++k){u(S%2?m:g,S%4>=2),y=i.buildLayerMatrix(f);let _=t(f,y);_<b&&(k=0,w=Object.assign({},y),b=_)}d(f,w)}function c(f,p,h){const m=new Map,g=(y,b)=>{m.has(y)||m.set(y,[]),m.get(y).push(b)};for(const y of f.nodes()){const b=f.node(y);if(typeof b.rank=="number"&&g(b.rank,y),typeof b.minRank=="number"&&typeof b.maxRank=="number")for(let w=b.minRank;w<=b.maxRank;w++)w!==b.rank&&g(w,y)}return p.map(function(y){return r(f,y,h,m.get(y)||[])})}function u(f,p){let h=new a;f.forEach(function(m){let g=m.graph().root,y=n(m,g,h,p);y.vs.forEach((b,w)=>m.node(b).order=w),s(m,h,y.vs)})}function d(f,p){Object.values(p).forEach(h=>h.forEach((m,g)=>f.node(m).order=g))}return wJ}var SJ,t8e;function zzn(){if(t8e)return SJ;t8e=1;let e=Eg().Graph,t=jl();SJ={positionX:h,findType1Conflicts:n,findType2Conflicts:r,addConflict:a,hasConflict:i,verticalAlignment:l,horizontalCompaction:c,alignCoordinates:f,findSmallestWidthAlignment:d,balance:p};function n(y,b){let w={};function S(k,_){let C=0,E=0,j=k.length,N=_[_.length-1];return _.forEach((I,R)=>{let $=s(y,I),F=$?y.node($).order:j;($||I===N)&&(_.slice(E,R+1).forEach(D=>{y.predecessors(D).forEach(V=>{let W=y.node(V),L=W.order;(L<C||F<L)&&!(W.dummy&&y.node(D).dummy)&&a(w,V,D)})}),E=R+1,C=F)}),_}return b.length&&b.reduce(S),w}function r(y,b){let w={};function S(_,C,E,j,N){let I;t.range(C,E).forEach(R=>{I=_[R],y.node(I).dummy&&y.predecessors(I).forEach($=>{let F=y.node($);F.dummy&&(F.order<j||F.order>N)&&a(w,$,I)})})}function k(_,C){let E=-1,j,N=0;return C.forEach((I,R)=>{if(y.node(I).dummy==="border"){let $=y.predecessors(I);$.length&&(j=y.node($[0]).order,S(C,N,R,E,j),N=R,E=j)}S(C,N,C.length,j,_.length)}),C}return b.length&&b.reduce(k),w}function s(y,b){if(y.node(b).dummy)return y.predecessors(b).find(w=>y.node(w).dummy)}function a(y,b,w){if(b>w){let k=b;b=w,w=k}let S=y[b];S||(y[b]=S={}),S[w]=!0}function i(y,b,w){if(b>w){let S=b;b=w,w=S}return!!y[b]&&Object.hasOwn(y[b],w)}function l(y,b,w,S){let k={},_={},C={};return b.forEach(E=>{E.forEach((j,N)=>{k[j]=j,_[j]=j,C[j]=N})}),b.forEach(E=>{let j=-1;E.forEach(N=>{let I=S(N);if(I.length){I=I.sort(($,F)=>C[$]-C[F]);let R=(I.length-1)/2;for(let $=Math.floor(R),F=Math.ceil(R);$<=F;++$){let D=I[$];_[N]===N&&j<C[D]&&!i(w,N,D)&&(_[D]=N,_[N]=k[N]=k[D],j=C[D])}}})}),{root:k,align:_}}function c(y,b,w,S,k){let _={},C=u(y,b,w,k),E=k?"borderLeft":"borderRight";function j(R,$){let F=C.nodes(),D=F.pop(),V={};for(;D;)V[D]?R(D):(V[D]=!0,F.push(D),F=F.concat($(D))),D=F.pop()}function N(R){_[R]=C.inEdges(R).reduce(($,F)=>Math.max($,_[F.v]+C.edge(F)),0)}function I(R){let $=C.outEdges(R).reduce((D,V)=>Math.min(D,_[V.w]-C.edge(V)),Number.POSITIVE_INFINITY),F=y.node(R);$!==Number.POSITIVE_INFINITY&&F.borderType!==E&&(_[R]=Math.max(_[R],$))}return j(N,C.predecessors.bind(C)),j(I,C.successors.bind(C)),Object.keys(S).forEach(R=>_[R]=_[w[R]]),_}function u(y,b,w,S){let k=new e,_=y.graph(),C=m(_.nodesep,_.edgesep,S);return b.forEach(E=>{let j;E.forEach(N=>{let I=w[N];if(k.setNode(I),j){var R=w[j],$=k.edge(R,I);k.setEdge(R,I,Math.max(C(y,N,j),$||0))}j=N})}),k}function d(y,b){return Object.values(b).reduce((w,S)=>{let k=Number.NEGATIVE_INFINITY,_=Number.POSITIVE_INFINITY;Object.entries(S).forEach(([E,j])=>{let N=g(y,E)/2;k=Math.max(j+N,k),_=Math.min(j-N,_)});const C=k-_;return C<w[0]&&(w=[C,S]),w},[Number.POSITIVE_INFINITY,null])[1]}function f(y,b){let w=Object.values(b),S=t.applyWithChunking(Math.min,w),k=t.applyWithChunking(Math.max,w);["u","d"].forEach(_=>{["l","r"].forEach(C=>{let E=_+C,j=y[E];if(j===b)return;let N=Object.values(j),I=S-t.applyWithChunking(Math.min,N);C!=="l"&&(I=k-t.applyWithChunking(Math.max,N)),I&&(y[E]=t.mapValues(j,R=>R+I))})})}function p(y,b){return t.mapValues(y.ul,(w,S)=>{if(b)return y[b.toLowerCase()][S];{let k=Object.values(y).map(_=>_[S]).sort((_,C)=>_-C);return(k[1]+k[2])/2}})}function h(y){let b=t.buildLayerMatrix(y),w=Object.assign(n(y,b),r(y,b)),S={},k;["u","d"].forEach(C=>{k=C==="u"?b:Object.values(b).reverse(),["l","r"].forEach(E=>{E==="r"&&(k=k.map(R=>Object.values(R).reverse()));let j=(C==="u"?y.predecessors:y.successors).bind(y),N=l(y,k,w,j),I=c(y,k,N.root,N.align,E==="r");E==="r"&&(I=t.mapValues(I,R=>-R)),S[C+E]=I})});let _=d(y,S);return f(S,_),p(S,y.graph().align)}function m(y,b,w){return(S,k,_)=>{let C=S.node(k),E=S.node(_),j=0,N;if(j+=C.width/2,Object.hasOwn(C,"labelpos"))switch(C.labelpos.toLowerCase()){case"l":N=-C.width/2;break;case"r":N=C.width/2;break}if(N&&(j+=w?N:-N),N=0,j+=(C.dummy?b:y)/2,j+=(E.dummy?b:y)/2,j+=E.width/2,Object.hasOwn(E,"labelpos"))switch(E.labelpos.toLowerCase()){case"l":N=E.width/2;break;case"r":N=-E.width/2;break}return N&&(j+=w?N:-N),N=0,j}}function g(y,b){return y.node(b).width}return SJ}var kJ,n8e;function Bzn(){if(n8e)return kJ;n8e=1;let e=jl(),t=zzn().positionX;kJ=n;function n(s){s=e.asNonCompoundGraph(s),r(s),Object.entries(t(s)).forEach(([a,i])=>s.node(a).x=i)}function r(s){let a=e.buildLayerMatrix(s),i=s.graph().ranksep,l=0;a.forEach(c=>{const u=c.reduce((d,f)=>{const p=s.node(f).height;return d>p?d:p},0);c.forEach(d=>s.node(d).y=l+u/2),l+=u+i})}return kJ}var OJ,r8e;function Uzn(){if(r8e)return OJ;r8e=1;let e=kzn(),t=Ozn(),n=Czn(),r=jl().normalizeRanks,s=Ezn(),a=jl().removeEmptyRanks,i=jzn(),l=Tzn(),c=Nzn(),u=Fzn(),d=Bzn(),f=jl(),p=Eg().Graph;OJ=h;function h(P,q){let Z=q&&q.debugTiming?f.time:f.notime;Z("layout",()=>{let X=Z(" buildLayoutGraph",()=>j(P));Z(" runLayout",()=>m(X,Z,q)),Z(" updateInputGraph",()=>g(P,X))})}function m(P,q,Z){q(" makeSpaceForEdgeLabels",()=>N(P)),q(" removeSelfEdges",()=>z(P)),q(" acyclic",()=>e.run(P)),q(" nestingGraph.run",()=>i.run(P)),q(" rank",()=>n(f.asNonCompoundGraph(P))),q(" injectEdgeLabelProxies",()=>I(P)),q(" removeEmptyRanks",()=>a(P)),q(" nestingGraph.cleanup",()=>i.cleanup(P)),q(" normalizeRanks",()=>r(P)),q(" assignRankMinMax",()=>R(P)),q(" removeEdgeLabelProxies",()=>$(P)),q(" normalize.run",()=>t.run(P)),q(" parentDummyChains",()=>s(P)),q(" addBorderSegments",()=>l(P)),q(" order",()=>u(P,Z)),q(" insertSelfEdges",()=>B(P)),q(" adjustCoordinateSystem",()=>c.adjust(P)),q(" position",()=>d(P)),q(" positionSelfEdges",()=>M(P)),q(" removeBorderNodes",()=>L(P)),q(" normalize.undo",()=>t.undo(P)),q(" fixupEdgeLabelCoords",()=>V(P)),q(" undoCoordinateSystem",()=>c.undo(P)),q(" translateGraph",()=>F(P)),q(" assignNodeIntersects",()=>D(P)),q(" reversePoints",()=>W(P)),q(" acyclic.undo",()=>e.undo(P))}function g(P,q){P.nodes().forEach(Z=>{let X=P.node(Z),te=q.node(Z);X&&(X.x=te.x,X.y=te.y,X.rank=te.rank,q.children(Z).length&&(X.width=te.width,X.height=te.height))}),P.edges().forEach(Z=>{let X=P.edge(Z),te=q.edge(Z);X.points=te.points,Object.hasOwn(te,"x")&&(X.x=te.x,X.y=te.y)}),P.graph().width=q.graph().width,P.graph().height=q.graph().height}let y=["nodesep","edgesep","ranksep","marginx","marginy"],b={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},w=["acyclicer","ranker","rankdir","align"],S=["width","height","rank"],k={width:0,height:0},_=["minlen","weight","width","height","labeloffset"],C={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},E=["labelpos"];function j(P){let q=new p({multigraph:!0,compound:!0}),Z=U(P.graph());return q.setGraph(Object.assign({},b,G(Z,y),f.pick(Z,w))),P.nodes().forEach(X=>{let te=U(P.node(X));const J=G(te,S);Object.keys(k).forEach(ee=>{J[ee]===void 0&&(J[ee]=k[ee])}),q.setNode(X,J),q.setParent(X,P.parent(X))}),P.edges().forEach(X=>{let te=U(P.edge(X));q.setEdge(X,Object.assign({},C,G(te,_),f.pick(te,E)))}),q}function N(P){let q=P.graph();q.ranksep/=2,P.edges().forEach(Z=>{let X=P.edge(Z);X.minlen*=2,X.labelpos.toLowerCase()!=="c"&&(q.rankdir==="TB"||q.rankdir==="BT"?X.width+=X.labeloffset:X.height+=X.labeloffset)})}function I(P){P.edges().forEach(q=>{let Z=P.edge(q);if(Z.width&&Z.height){let X=P.node(q.v),J={rank:(P.node(q.w).rank-X.rank)/2+X.rank,e:q};f.addDummyNode(P,"edge-proxy",J,"_ep")}})}function R(P){let q=0;P.nodes().forEach(Z=>{let X=P.node(Z);X.borderTop&&(X.minRank=P.node(X.borderTop).rank,X.maxRank=P.node(X.borderBottom).rank,q=Math.max(q,X.maxRank))}),P.graph().maxRank=q}function $(P){P.nodes().forEach(q=>{let Z=P.node(q);Z.dummy==="edge-proxy"&&(P.edge(Z.e).labelRank=Z.rank,P.removeNode(q))})}function F(P){let q=Number.POSITIVE_INFINITY,Z=0,X=Number.POSITIVE_INFINITY,te=0,J=P.graph(),ee=J.marginx||0,ae=J.marginy||0;function de(Y){let ne=Y.x,ce=Y.y,pe=Y.width,le=Y.height;q=Math.min(q,ne-pe/2),Z=Math.max(Z,ne+pe/2),X=Math.min(X,ce-le/2),te=Math.max(te,ce+le/2)}P.nodes().forEach(Y=>de(P.node(Y))),P.edges().forEach(Y=>{let ne=P.edge(Y);Object.hasOwn(ne,"x")&&de(ne)}),q-=ee,X-=ae,P.nodes().forEach(Y=>{let ne=P.node(Y);ne.x-=q,ne.y-=X}),P.edges().forEach(Y=>{let ne=P.edge(Y);ne.points.forEach(ce=>{ce.x-=q,ce.y-=X}),Object.hasOwn(ne,"x")&&(ne.x-=q),Object.hasOwn(ne,"y")&&(ne.y-=X)}),J.width=Z-q+ee,J.height=te-X+ae}function D(P){P.edges().forEach(q=>{let Z=P.edge(q),X=P.node(q.v),te=P.node(q.w),J,ee;Z.points?(J=Z.points[0],ee=Z.points[Z.points.length-1]):(Z.points=[],J=te,ee=X),Z.points.unshift(f.intersectRect(X,J)),Z.points.push(f.intersectRect(te,ee))})}function V(P){P.edges().forEach(q=>{let Z=P.edge(q);if(Object.hasOwn(Z,"x"))switch((Z.labelpos==="l"||Z.labelpos==="r")&&(Z.width-=Z.labeloffset),Z.labelpos){case"l":Z.x-=Z.width/2+Z.labeloffset;break;case"r":Z.x+=Z.width/2+Z.labeloffset;break}})}function W(P){P.edges().forEach(q=>{let Z=P.edge(q);Z.reversed&&Z.points.reverse()})}function L(P){P.nodes().forEach(q=>{if(P.children(q).length){let Z=P.node(q),X=P.node(Z.borderTop),te=P.node(Z.borderBottom),J=P.node(Z.borderLeft[Z.borderLeft.length-1]),ee=P.node(Z.borderRight[Z.borderRight.length-1]);Z.width=Math.abs(ee.x-J.x),Z.height=Math.abs(te.y-X.y),Z.x=J.x+Z.width/2,Z.y=X.y+Z.height/2}}),P.nodes().forEach(q=>{P.node(q).dummy==="border"&&P.removeNode(q)})}function z(P){P.edges().forEach(q=>{if(q.v===q.w){var Z=P.node(q.v);Z.selfEdges||(Z.selfEdges=[]),Z.selfEdges.push({e:q,label:P.edge(q)}),P.removeEdge(q)}})}function B(P){var q=f.buildLayerMatrix(P);q.forEach(Z=>{var X=0;Z.forEach((te,J)=>{var ee=P.node(te);ee.order=J+X,(ee.selfEdges||[]).forEach(ae=>{f.addDummyNode(P,"selfedge",{width:ae.label.width,height:ae.label.height,rank:ee.rank,order:J+ ++X,e:ae.e,label:ae.label},"_se")}),delete ee.selfEdges})})}function M(P){P.nodes().forEach(q=>{var Z=P.node(q);if(Z.dummy==="selfedge"){var X=P.node(Z.e.v),te=X.x+X.width/2,J=X.y,ee=Z.x-te,ae=X.height/2;P.setEdge(Z.e,Z.label),P.removeNode(q),Z.label.points=[{x:te+2*ee/3,y:J-ae},{x:te+5*ee/6,y:J-ae},{x:te+ee,y:J},{x:te+5*ee/6,y:J+ae},{x:te+2*ee/3,y:J+ae}],Z.label.x=Z.x,Z.label.y=Z.y}})}function G(P,q){return f.mapValues(f.pick(P,q),Number)}function U(P){var q={};return P&&Object.entries(P).forEach(([Z,X])=>{typeof Z=="string"&&(Z=Z.toLowerCase()),q[Z]=X}),q}return OJ}var _J,s8e;function qzn(){if(s8e)return _J;s8e=1;let e=jl(),t=Eg().Graph;_J={debugOrdering:n};function n(r){let s=e.buildLayerMatrix(r),a=new t({compound:!0,multigraph:!0}).setGraph({});return r.nodes().forEach(i=>{a.setNode(i,{label:i}),a.setParent(i,"layer"+r.node(i).rank)}),r.edges().forEach(i=>a.setEdge(i.v,i.w,{},i.name)),s.forEach((i,l)=>{let c="layer"+l;a.setNode(c,{rank:"same"}),i.reduce((u,d)=>(a.setEdge(u,d,{style:"invis"}),d))}),a}return _J}var CJ,a8e;function Vzn(){return a8e||(a8e=1,CJ="1.1.8"),CJ}var EJ,i8e;function Hzn(){return i8e||(i8e=1,EJ={graphlib:Eg(),layout:Uzn(),debug:qzn(),util:{time:jl().time,notime:jl().notime},version:Vzn()}),EJ}var Wzn=Hzn();const o8e=Cc(Wzn);function Pl(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=Pl(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var Zzn={value:()=>{}};function mV(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new D9(n)}function D9(e){this._=e}function Gzn(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",s=n.indexOf(".");if(s>=0&&(r=n.slice(s+1),n=n.slice(0,s)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}D9.prototype=mV.prototype={constructor:D9,on:function(e,t){var n=this._,r=Gzn(e+"",n),s,a=-1,i=r.length;if(arguments.length<2){for(;++a<i;)if((s=(e=r[a]).type)&&(s=Qzn(n[s],e.name)))return s;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++a<i;)if(s=(e=r[a]).type)n[s]=l8e(n[s],e.name,t);else if(t==null)for(s in n)n[s]=l8e(n[s],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new D9(e)},call:function(e,t){if((s=arguments.length-2)>0)for(var n=new Array(s),r=0,s,a;r<s;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],r=0,s=a.length;r<s;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],s=0,a=r.length;s<a;++s)r[s].value.apply(t,n)}};function Qzn(e,t){for(var n=0,r=e.length,s;n<r;++n)if((s=e[n]).name===t)return s.value}function l8e(e,t,n){for(var r=0,s=e.length;r<s;++r)if(e[r].name===t){e[r]=Zzn,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var ohe="http://www.w3.org/1999/xhtml";const c8e={svg:"http://www.w3.org/2000/svg",xhtml:ohe,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function gV(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),c8e.hasOwnProperty(t)?{space:c8e[t],local:e}:e}function Yzn(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===ohe&&t.documentElement.namespaceURI===ohe?t.createElement(e):t.createElementNS(n,e)}}function Xzn(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function uxt(e){var t=gV(e);return(t.local?Xzn:Yzn)(t)}function Kzn(){}function Jwe(e){return e==null?Kzn:function(){return this.querySelector(e)}}function Jzn(e){typeof e!="function"&&(e=Jwe(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=new Array(i),c,u,d=0;d<i;++d)(c=a[d])&&(u=e.call(c,c.__data__,d,a))&&("__data__"in c&&(u.__data__=c.__data__),l[d]=u);return new Dp(r,this._parents)}function e7n(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function t7n(){return[]}function dxt(e){return e==null?t7n:function(){return this.querySelectorAll(e)}}function n7n(e){return function(){return e7n(e.apply(this,arguments))}}function r7n(e){typeof e=="function"?e=n7n(e):e=dxt(e);for(var t=this._groups,n=t.length,r=[],s=[],a=0;a<n;++a)for(var i=t[a],l=i.length,c,u=0;u<l;++u)(c=i[u])&&(r.push(e.call(c,c.__data__,u,i)),s.push(c));return new Dp(r,s)}function fxt(e){return function(){return this.matches(e)}}function pxt(e){return function(t){return t.matches(e)}}var s7n=Array.prototype.find;function a7n(e){return function(){return s7n.call(this.children,e)}}function i7n(){return this.firstElementChild}function o7n(e){return this.select(e==null?i7n:a7n(typeof e=="function"?e:pxt(e)))}var l7n=Array.prototype.filter;function c7n(){return Array.from(this.children)}function u7n(e){return function(){return l7n.call(this.children,e)}}function d7n(e){return this.selectAll(e==null?c7n:u7n(typeof e=="function"?e:pxt(e)))}function f7n(e){typeof e!="function"&&(e=fxt(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=[],c,u=0;u<i;++u)(c=a[u])&&e.call(c,c.__data__,u,a)&&l.push(c);return new Dp(r,this._parents)}function hxt(e){return new Array(e.length)}function p7n(){return new Dp(this._enter||this._groups.map(hxt),this._parents)}function m7(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}m7.prototype={constructor:m7,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function h7n(e){return function(){return e}}function m7n(e,t,n,r,s,a){for(var i=0,l,c=t.length,u=a.length;i<u;++i)(l=t[i])?(l.__data__=a[i],r[i]=l):n[i]=new m7(e,a[i]);for(;i<c;++i)(l=t[i])&&(s[i]=l)}function g7n(e,t,n,r,s,a,i){var l,c,u=new Map,d=t.length,f=a.length,p=new Array(d),h;for(l=0;l<d;++l)(c=t[l])&&(p[l]=h=i.call(c,c.__data__,l,t)+"",u.has(h)?s[l]=c:u.set(h,c));for(l=0;l<f;++l)h=i.call(e,a[l],l,a)+"",(c=u.get(h))?(r[l]=c,c.__data__=a[l],u.delete(h)):n[l]=new m7(e,a[l]);for(l=0;l<d;++l)(c=t[l])&&u.get(p[l])===c&&(s[l]=c)}function v7n(e){return e.__data__}function y7n(e,t){if(!arguments.length)return Array.from(this,v7n);var n=t?g7n:m7n,r=this._parents,s=this._groups;typeof e!="function"&&(e=h7n(e));for(var a=s.length,i=new Array(a),l=new Array(a),c=new Array(a),u=0;u<a;++u){var d=r[u],f=s[u],p=f.length,h=b7n(e.call(d,d&&d.__data__,u,r)),m=h.length,g=l[u]=new Array(m),y=i[u]=new Array(m),b=c[u]=new Array(p);n(d,f,g,y,b,h,t);for(var w=0,S=0,k,_;w<m;++w)if(k=g[w]){for(w>=S&&(S=w+1);!(_=y[S])&&++S<m;);k._next=_||null}}return i=new Dp(i,r),i._enter=l,i._exit=c,i}function b7n(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function x7n(){return new Dp(this._exit||this._groups.map(hxt),this._parents)}function w7n(e,t,n){var r=this.enter(),s=this,a=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(s=t(s),s&&(s=s.selection())),n==null?a.remove():n(a),r&&s?r.merge(s).order():s}function S7n(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,s=n.length,a=r.length,i=Math.min(s,a),l=new Array(s),c=0;c<i;++c)for(var u=n[c],d=r[c],f=u.length,p=l[c]=new Array(f),h,m=0;m<f;++m)(h=u[m]||d[m])&&(p[m]=h);for(;c<s;++c)l[c]=n[c];return new Dp(l,this._parents)}function k7n(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],s=r.length-1,a=r[s],i;--s>=0;)(i=r[s])&&(a&&i.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(i,a),a=i);return this}function O7n(e){e||(e=_7n);function t(f,p){return f&&p?e(f.__data__,p.__data__):!f-!p}for(var n=this._groups,r=n.length,s=new Array(r),a=0;a<r;++a){for(var i=n[a],l=i.length,c=s[a]=new Array(l),u,d=0;d<l;++d)(u=i[d])&&(c[d]=u);c.sort(t)}return new Dp(s,this._parents).order()}function _7n(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function C7n(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function E7n(){return Array.from(this)}function j7n(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],s=0,a=r.length;s<a;++s){var i=r[s];if(i)return i}return null}function T7n(){let e=0;for(const t of this)++e;return e}function N7n(){return!this.node()}function I7n(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var s=t[n],a=0,i=s.length,l;a<i;++a)(l=s[a])&&e.call(l,l.__data__,a,s);return this}function A7n(e){return function(){this.removeAttribute(e)}}function R7n(e){return function(){this.removeAttributeNS(e.space,e.local)}}function P7n(e,t){return function(){this.setAttribute(e,t)}}function $7n(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function M7n(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function D7n(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function L7n(e,t){var n=gV(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?R7n:A7n:typeof t=="function"?n.local?D7n:M7n:n.local?$7n:P7n)(n,t))}function mxt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function F7n(e){return function(){this.style.removeProperty(e)}}function z7n(e,t,n){return function(){this.style.setProperty(e,t,n)}}function B7n(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function U7n(e,t,n){return arguments.length>1?this.each((t==null?F7n:typeof t=="function"?B7n:z7n)(e,t,n??"")):hT(this.node(),e)}function hT(e,t){return e.style.getPropertyValue(t)||mxt(e).getComputedStyle(e,null).getPropertyValue(t)}function q7n(e){return function(){delete this[e]}}function V7n(e,t){return function(){this[e]=t}}function H7n(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function W7n(e,t){return arguments.length>1?this.each((t==null?q7n:typeof t=="function"?H7n:V7n)(e,t)):this.node()[e]}function gxt(e){return e.trim().split(/^|\s+/)}function e1e(e){return e.classList||new vxt(e)}function vxt(e){this._node=e,this._names=gxt(e.getAttribute("class")||"")}vxt.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function yxt(e,t){for(var n=e1e(e),r=-1,s=t.length;++r<s;)n.add(t[r])}function bxt(e,t){for(var n=e1e(e),r=-1,s=t.length;++r<s;)n.remove(t[r])}function Z7n(e){return function(){yxt(this,e)}}function G7n(e){return function(){bxt(this,e)}}function Q7n(e,t){return function(){(t.apply(this,arguments)?yxt:bxt)(this,e)}}function Y7n(e,t){var n=gxt(e+"");if(arguments.length<2){for(var r=e1e(this.node()),s=-1,a=n.length;++s<a;)if(!r.contains(n[s]))return!1;return!0}return this.each((typeof t=="function"?Q7n:t?Z7n:G7n)(n,t))}function X7n(){this.textContent=""}function K7n(e){return function(){this.textContent=e}}function J7n(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function eBn(e){return arguments.length?this.each(e==null?X7n:(typeof e=="function"?J7n:K7n)(e)):this.node().textContent}function tBn(){this.innerHTML=""}function nBn(e){return function(){this.innerHTML=e}}function rBn(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function sBn(e){return arguments.length?this.each(e==null?tBn:(typeof e=="function"?rBn:nBn)(e)):this.node().innerHTML}function aBn(){this.nextSibling&&this.parentNode.appendChild(this)}function iBn(){return this.each(aBn)}function oBn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function lBn(){return this.each(oBn)}function cBn(e){var t=typeof e=="function"?e:uxt(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function uBn(){return null}function dBn(e,t){var n=typeof e=="function"?e:uxt(e),r=t==null?uBn:typeof t=="function"?t:Jwe(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function fBn(){var e=this.parentNode;e&&e.removeChild(this)}function pBn(){return this.each(fBn)}function hBn(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function mBn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function gBn(e){return this.select(e?mBn:hBn)}function vBn(e){return arguments.length?this.property("__data__",e):this.node().__data__}function yBn(e){return function(t){e.call(this,t,this.__data__)}}function bBn(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function xBn(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,s=t.length,a;n<s;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function wBn(e,t,n){return function(){var r=this.__on,s,a=yBn(t);if(r){for(var i=0,l=r.length;i<l;++i)if((s=r[i]).type===e.type&&s.name===e.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=a,s.options=n),s.value=t;return}}this.addEventListener(e.type,a,n),s={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(s):this.__on=[s]}}function SBn(e,t,n){var r=bBn(e+""),s,a=r.length,i;if(arguments.length<2){var l=this.node().__on;if(l){for(var c=0,u=l.length,d;c<u;++c)for(s=0,d=l[c];s<a;++s)if((i=r[s]).type===d.type&&i.name===d.name)return d.value}return}for(l=t?wBn:xBn,s=0;s<a;++s)this.each(l(r[s],t,n));return this}function xxt(e,t,n){var r=mxt(e),s=r.CustomEvent;typeof s=="function"?s=new s(t,n):(s=r.document.createEvent("Event"),n?(s.initEvent(t,n.bubbles,n.cancelable),s.detail=n.detail):s.initEvent(t,!1,!1)),e.dispatchEvent(s)}function kBn(e,t){return function(){return xxt(this,e,t)}}function OBn(e,t){return function(){return xxt(this,e,t.apply(this,arguments))}}function _Bn(e,t){return this.each((typeof t=="function"?OBn:kBn)(e,t))}function*CBn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],s=0,a=r.length,i;s<a;++s)(i=r[s])&&(yield i)}var wxt=[null];function Dp(e,t){this._groups=e,this._parents=t}function aD(){return new Dp([[document.documentElement]],wxt)}function EBn(){return this}Dp.prototype=aD.prototype={constructor:Dp,select:Jzn,selectAll:r7n,selectChild:o7n,selectChildren:d7n,filter:f7n,data:y7n,enter:p7n,exit:x7n,join:w7n,merge:S7n,selection:EBn,order:k7n,sort:O7n,call:C7n,nodes:E7n,node:j7n,size:T7n,empty:N7n,each:I7n,attr:L7n,style:U7n,property:W7n,classed:Y7n,text:eBn,html:sBn,raise:iBn,lower:lBn,append:cBn,insert:dBn,remove:pBn,clone:gBn,datum:vBn,on:SBn,dispatch:_Bn,[Symbol.iterator]:CBn};function fp(e){return typeof e=="string"?new Dp([[document.querySelector(e)]],[document.documentElement]):new Dp([[e]],wxt)}function jBn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Xm(e,t){if(e=jBn(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}}return[e.pageX,e.pageY]}const TBn={passive:!1},Z$={capture:!0,passive:!1};function jJ(e){e.stopImmediatePropagation()}function bj(e){e.preventDefault(),e.stopImmediatePropagation()}function Sxt(e){var t=e.document.documentElement,n=fp(e).on("dragstart.drag",bj,Z$);"onselectstart"in t?n.on("selectstart.drag",bj,Z$):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function kxt(e,t){var n=e.document.documentElement,r=fp(e).on("dragstart.drag",null);t&&(r.on("click.drag",bj,Z$),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const h6=e=>()=>e;function lhe(e,{sourceEvent:t,subject:n,target:r,identifier:s,active:a,x:i,y:l,dx:c,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:i,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}lhe.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function NBn(e){return!e.ctrlKey&&!e.button}function IBn(){return this.parentNode}function ABn(e,t){return t??{x:e.x,y:e.y}}function RBn(){return navigator.maxTouchPoints||"ontouchstart"in this}function Oxt(){var e=NBn,t=IBn,n=ABn,r=RBn,s={},a=mV("start","drag","end"),i=0,l,c,u,d,f=0;function p(k){k.on("mousedown.drag",h).filter(r).on("touchstart.drag",y).on("touchmove.drag",b,TBn).on("touchend.drag touchcancel.drag",w).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(k,_){if(!(d||!e.call(this,k,_))){var C=S(this,t.call(this,k,_),k,_,"mouse");C&&(fp(k.view).on("mousemove.drag",m,Z$).on("mouseup.drag",g,Z$),Sxt(k.view),jJ(k),u=!1,l=k.clientX,c=k.clientY,C("start",k))}}function m(k){if(bj(k),!u){var _=k.clientX-l,C=k.clientY-c;u=_*_+C*C>f}s.mouse("drag",k)}function g(k){fp(k.view).on("mousemove.drag mouseup.drag",null),kxt(k.view,u),bj(k),s.mouse("end",k)}function y(k,_){if(e.call(this,k,_)){var C=k.changedTouches,E=t.call(this,k,_),j=C.length,N,I;for(N=0;N<j;++N)(I=S(this,E,k,_,C[N].identifier,C[N]))&&(jJ(k),I("start",k,C[N]))}}function b(k){var _=k.changedTouches,C=_.length,E,j;for(E=0;E<C;++E)(j=s[_[E].identifier])&&(bj(k),j("drag",k,_[E]))}function w(k){var _=k.changedTouches,C=_.length,E,j;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),E=0;E<C;++E)(j=s[_[E].identifier])&&(jJ(k),j("end",k,_[E]))}function S(k,_,C,E,j,N){var I=a.copy(),R=Xm(N||C,_),$,F,D;if((D=n.call(k,new lhe("beforestart",{sourceEvent:C,target:p,identifier:j,active:i,x:R[0],y:R[1],dx:0,dy:0,dispatch:I}),E))!=null)return $=D.x-R[0]||0,F=D.y-R[1]||0,function V(W,L,z){var B=R,M;switch(W){case"start":s[j]=V,M=i++;break;case"end":delete s[j],--i;case"drag":R=Xm(z||L,_),M=i;break}I.call(W,k,new lhe(W,{sourceEvent:L,subject:D,target:p,identifier:j,active:M,x:R[0]+$,y:R[1]+F,dx:R[0]-B[0],dy:R[1]-B[1],dispatch:I}),E)}}return p.filter=function(k){return arguments.length?(e=typeof k=="function"?k:h6(!!k),p):e},p.container=function(k){return arguments.length?(t=typeof k=="function"?k:h6(k),p):t},p.subject=function(k){return arguments.length?(n=typeof k=="function"?k:h6(k),p):n},p.touchable=function(k){return arguments.length?(r=typeof k=="function"?k:h6(!!k),p):r},p.on=function(){var k=a.on.apply(a,arguments);return k===a?p:k},p.clickDistance=function(k){return arguments.length?(f=(k=+k)*k,p):Math.sqrt(f)},p}function t1e(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function _xt(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function iD(){}var G$=.7,g7=1/G$,xj="\\s*([+-]?\\d+)\\s*",Q$="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Xv="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",PBn=/^#([0-9a-f]{3,8})$/,$Bn=new RegExp(`^rgb\\(${xj},${xj},${xj}\\)$`),MBn=new RegExp(`^rgb\\(${Xv},${Xv},${Xv}\\)$`),DBn=new RegExp(`^rgba\\(${xj},${xj},${xj},${Q$}\\)$`),LBn=new RegExp(`^rgba\\(${Xv},${Xv},${Xv},${Q$}\\)$`),FBn=new RegExp(`^hsl\\(${Q$},${Xv},${Xv}\\)$`),zBn=new RegExp(`^hsla\\(${Q$},${Xv},${Xv},${Q$}\\)$`),u8e={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};t1e(iD,jO,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:d8e,formatHex:d8e,formatHex8:BBn,formatHsl:UBn,formatRgb:f8e,toString:f8e});function d8e(){return this.rgb().formatHex()}function BBn(){return this.rgb().formatHex8()}function UBn(){return Cxt(this).formatHsl()}function f8e(){return this.rgb().formatRgb()}function jO(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=PBn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?p8e(t):n===3?new Xd(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?m6(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?m6(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=$Bn.exec(e))?new Xd(t[1],t[2],t[3],1):(t=MBn.exec(e))?new Xd(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=DBn.exec(e))?m6(t[1],t[2],t[3],t[4]):(t=LBn.exec(e))?m6(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=FBn.exec(e))?g8e(t[1],t[2]/100,t[3]/100,1):(t=zBn.exec(e))?g8e(t[1],t[2]/100,t[3]/100,t[4]):u8e.hasOwnProperty(e)?p8e(u8e[e]):e==="transparent"?new Xd(NaN,NaN,NaN,0):null}function p8e(e){return new Xd(e>>16&255,e>>8&255,e&255,1)}function m6(e,t,n,r){return r<=0&&(e=t=n=NaN),new Xd(e,t,n,r)}function qBn(e){return e instanceof iD||(e=jO(e)),e?(e=e.rgb(),new Xd(e.r,e.g,e.b,e.opacity)):new Xd}function che(e,t,n,r){return arguments.length===1?qBn(e):new Xd(e,t,n,r??1)}function Xd(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}t1e(Xd,che,_xt(iD,{brighter(e){return e=e==null?g7:Math.pow(g7,e),new Xd(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?G$:Math.pow(G$,e),new Xd(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Xd(zk(this.r),zk(this.g),zk(this.b),v7(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:h8e,formatHex:h8e,formatHex8:VBn,formatRgb:m8e,toString:m8e}));function h8e(){return`#${_k(this.r)}${_k(this.g)}${_k(this.b)}`}function VBn(){return`#${_k(this.r)}${_k(this.g)}${_k(this.b)}${_k((isNaN(this.opacity)?1:this.opacity)*255)}`}function m8e(){const e=v7(this.opacity);return`${e===1?"rgb(":"rgba("}${zk(this.r)}, ${zk(this.g)}, ${zk(this.b)}${e===1?")":`, ${e})`}`}function v7(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function zk(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function _k(e){return e=zk(e),(e<16?"0":"")+e.toString(16)}function g8e(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new rg(e,t,n,r)}function Cxt(e){if(e instanceof rg)return new rg(e.h,e.s,e.l,e.opacity);if(e instanceof iD||(e=jO(e)),!e)return new rg;if(e instanceof rg)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,s=Math.min(t,n,r),a=Math.max(t,n,r),i=NaN,l=a-s,c=(a+s)/2;return l?(t===a?i=(n-r)/l+(n<r)*6:n===a?i=(r-t)/l+2:i=(t-n)/l+4,l/=c<.5?a+s:2-a-s,i*=60):l=c>0&&c<1?0:i,new rg(i,l,c,e.opacity)}function HBn(e,t,n,r){return arguments.length===1?Cxt(e):new rg(e,t,n,r??1)}function rg(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}t1e(rg,HBn,_xt(iD,{brighter(e){return e=e==null?g7:Math.pow(g7,e),new rg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?G$:Math.pow(G$,e),new rg(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,s=2*n-r;return new Xd(TJ(e>=240?e-240:e+120,s,r),TJ(e,s,r),TJ(e<120?e+240:e-120,s,r),this.opacity)},clamp(){return new rg(v8e(this.h),g6(this.s),g6(this.l),v7(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=v7(this.opacity);return`${e===1?"hsl(":"hsla("}${v8e(this.h)}, ${g6(this.s)*100}%, ${g6(this.l)*100}%${e===1?")":`, ${e})`}`}}));function v8e(e){return e=(e||0)%360,e<0?e+360:e}function g6(e){return Math.max(0,Math.min(1,e||0))}function TJ(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const n1e=e=>()=>e;function WBn(e,t){return function(n){return e+n*t}}function ZBn(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function GBn(e){return(e=+e)==1?Ext:function(t,n){return n-t?ZBn(t,n,e):n1e(isNaN(t)?n:t)}}function Ext(e,t){var n=t-e;return n?WBn(e,n):n1e(isNaN(e)?t:e)}const y7=(function e(t){var n=GBn(t);function r(s,a){var i=n((s=che(s)).r,(a=che(a)).r),l=n(s.g,a.g),c=n(s.b,a.b),u=Ext(s.opacity,a.opacity);return function(d){return s.r=i(d),s.g=l(d),s.b=c(d),s.opacity=u(d),s+""}}return r.gamma=e,r})(1);function QBn(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),s;return function(a){for(s=0;s<n;++s)r[s]=e[s]*(1-a)+t[s]*a;return r}}function YBn(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function XBn(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,s=new Array(r),a=new Array(n),i;for(i=0;i<r;++i)s[i]=rx(e[i],t[i]);for(;i<n;++i)a[i]=t[i];return function(l){for(i=0;i<r;++i)a[i]=s[i](l);return a}}function KBn(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function Jm(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function JBn(e,t){var n={},r={},s;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(s in t)s in e?n[s]=rx(e[s],t[s]):r[s]=t[s];return function(a){for(s in n)r[s]=n[s](a);return r}}var uhe=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,NJ=new RegExp(uhe.source,"g");function eUn(e){return function(){return e}}function tUn(e){return function(t){return e(t)+""}}function jxt(e,t){var n=uhe.lastIndex=NJ.lastIndex=0,r,s,a,i=-1,l=[],c=[];for(e=e+"",t=t+"";(r=uhe.exec(e))&&(s=NJ.exec(t));)(a=s.index)>n&&(a=t.slice(n,a),l[i]?l[i]+=a:l[++i]=a),(r=r[0])===(s=s[0])?l[i]?l[i]+=s:l[++i]=s:(l[++i]=null,c.push({i,x:Jm(r,s)})),n=NJ.lastIndex;return n<t.length&&(a=t.slice(n),l[i]?l[i]+=a:l[++i]=a),l.length<2?c[0]?tUn(c[0].x):eUn(t):(t=c.length,function(u){for(var d=0,f;d<t;++d)l[(f=c[d]).i]=f.x(u);return l.join("")})}function rx(e,t){var n=typeof t,r;return t==null||n==="boolean"?n1e(t):(n==="number"?Jm:n==="string"?(r=jO(t))?(t=r,y7):jxt:t instanceof jO?y7:t instanceof Date?KBn:YBn(t)?QBn:Array.isArray(t)?XBn:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?JBn:Jm)(e,t)}function r1e(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var y8e=180/Math.PI,dhe={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Txt(e,t,n,r,s,a){var i,l,c;return(i=Math.sqrt(e*e+t*t))&&(e/=i,t/=i),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(l=Math.sqrt(n*n+r*r))&&(n/=l,r/=l,c/=l),e*r<t*n&&(e=-e,t=-t,c=-c,i=-i),{translateX:s,translateY:a,rotate:Math.atan2(t,e)*y8e,skewX:Math.atan(c)*y8e,scaleX:i,scaleY:l}}var v6;function nUn(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?dhe:Txt(t.a,t.b,t.c,t.d,t.e,t.f)}function rUn(e){return e==null||(v6||(v6=document.createElementNS("http://www.w3.org/2000/svg","g")),v6.setAttribute("transform",e),!(e=v6.transform.baseVal.consolidate()))?dhe:(e=e.matrix,Txt(e.a,e.b,e.c,e.d,e.e,e.f))}function Nxt(e,t,n,r){function s(u){return u.length?u.pop()+" ":""}function a(u,d,f,p,h,m){if(u!==f||d!==p){var g=h.push("translate(",null,t,null,n);m.push({i:g-4,x:Jm(u,f)},{i:g-2,x:Jm(d,p)})}else(f||p)&&h.push("translate("+f+t+p+n)}function i(u,d,f,p){u!==d?(u-d>180?d+=360:d-u>180&&(u+=360),p.push({i:f.push(s(f)+"rotate(",null,r)-2,x:Jm(u,d)})):d&&f.push(s(f)+"rotate("+d+r)}function l(u,d,f,p){u!==d?p.push({i:f.push(s(f)+"skewX(",null,r)-2,x:Jm(u,d)}):d&&f.push(s(f)+"skewX("+d+r)}function c(u,d,f,p,h,m){if(u!==f||d!==p){var g=h.push(s(h)+"scale(",null,",",null,")");m.push({i:g-4,x:Jm(u,f)},{i:g-2,x:Jm(d,p)})}else(f!==1||p!==1)&&h.push(s(h)+"scale("+f+","+p+")")}return function(u,d){var f=[],p=[];return u=e(u),d=e(d),a(u.translateX,u.translateY,d.translateX,d.translateY,f,p),i(u.rotate,d.rotate,f,p),l(u.skewX,d.skewX,f,p),c(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,p),u=d=null,function(h){for(var m=-1,g=p.length,y;++m<g;)f[(y=p[m]).i]=y.x(h);return f.join("")}}}var sUn=Nxt(nUn,"px, ","px)","deg)"),aUn=Nxt(rUn,", ",")",")"),iUn=1e-12;function b8e(e){return((e=Math.exp(e))+1/e)/2}function oUn(e){return((e=Math.exp(e))-1/e)/2}function lUn(e){return((e=Math.exp(2*e))-1)/(e+1)}const L9=(function e(t,n,r){function s(a,i){var l=a[0],c=a[1],u=a[2],d=i[0],f=i[1],p=i[2],h=d-l,m=f-c,g=h*h+m*m,y,b;if(g<iUn)b=Math.log(p/u)/t,y=function(E){return[l+E*h,c+E*m,u*Math.exp(t*E*b)]};else{var w=Math.sqrt(g),S=(p*p-u*u+r*g)/(2*u*n*w),k=(p*p-u*u-r*g)/(2*p*n*w),_=Math.log(Math.sqrt(S*S+1)-S),C=Math.log(Math.sqrt(k*k+1)-k);b=(C-_)/t,y=function(E){var j=E*b,N=b8e(_),I=u/(n*w)*(N*lUn(t*j+_)-oUn(_));return[l+I*h,c+I*m,u*N/b8e(t*j+_)]}}return y.duration=b*1e3*t/Math.SQRT2,y}return s.rho=function(a){var i=Math.max(.001,+a),l=i*i,c=l*l;return e(i,l,c)},s})(Math.SQRT2,2,4);function cUn(e,t){t===void 0&&(t=e,e=rx);for(var n=0,r=t.length-1,s=t[0],a=new Array(r<0?0:r);n<r;)a[n]=e(s,s=t[++n]);return function(i){var l=Math.max(0,Math.min(r-1,Math.floor(i*=r)));return a[l](i-l)}}var mT=0,r2=0,qA=0,Ixt=1e3,b7,s2,x7=0,TO=0,vV=0,Y$=typeof performance=="object"&&performance.now?performance:Date,Axt=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function s1e(){return TO||(Axt(uUn),TO=Y$.now()+vV)}function uUn(){TO=0}function w7(){this._call=this._time=this._next=null}w7.prototype=Rxt.prototype={constructor:w7,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?s1e():+n)+(t==null?0:+t),!this._next&&s2!==this&&(s2?s2._next=this:b7=this,s2=this),this._call=e,this._time=n,fhe()},stop:function(){this._call&&(this._call=null,this._time=1/0,fhe())}};function Rxt(e,t,n){var r=new w7;return r.restart(e,t,n),r}function dUn(){s1e(),++mT;for(var e=b7,t;e;)(t=TO-e._time)>=0&&e._call.call(void 0,t),e=e._next;--mT}function x8e(){TO=(x7=Y$.now())+vV,mT=r2=0;try{dUn()}finally{mT=0,pUn(),TO=0}}function fUn(){var e=Y$.now(),t=e-x7;t>Ixt&&(vV-=t,x7=e)}function pUn(){for(var e,t=b7,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:b7=n);s2=e,fhe(r)}function fhe(e){if(!mT){r2&&(r2=clearTimeout(r2));var t=e-TO;t>24?(e<1/0&&(r2=setTimeout(x8e,e-Y$.now()-vV)),qA&&(qA=clearInterval(qA))):(qA||(x7=Y$.now(),qA=setInterval(fUn,Ixt)),mT=1,Axt(x8e))}}function w8e(e,t,n){var r=new w7;return t=t==null?0:+t,r.restart(s=>{r.stop(),e(s+t)},t,n),r}var hUn=mV("start","end","cancel","interrupt"),mUn=[],Pxt=0,S8e=1,phe=2,F9=3,k8e=4,hhe=5,z9=6;function yV(e,t,n,r,s,a){var i=e.__transition;if(!i)e.__transition={};else if(n in i)return;gUn(e,n,{name:t,index:r,group:s,on:hUn,tween:mUn,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Pxt})}function a1e(e,t){var n=Lg(e,t);if(n.state>Pxt)throw new Error("too late; already scheduled");return n}function $y(e,t){var n=Lg(e,t);if(n.state>F9)throw new Error("too late; already running");return n}function Lg(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function gUn(e,t,n){var r=e.__transition,s;r[t]=n,n.timer=Rxt(a,0,n.time);function a(u){n.state=S8e,n.timer.restart(i,n.delay,n.time),n.delay<=u&&i(u-n.delay)}function i(u){var d,f,p,h;if(n.state!==S8e)return c();for(d in r)if(h=r[d],h.name===n.name){if(h.state===F9)return w8e(i);h.state===k8e?(h.state=z9,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[d]):+d<t&&(h.state=z9,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[d])}if(w8e(function(){n.state===F9&&(n.state=k8e,n.timer.restart(l,n.delay,n.time),l(u))}),n.state=phe,n.on.call("start",e,e.__data__,n.index,n.group),n.state===phe){for(n.state=F9,s=new Array(p=n.tween.length),d=0,f=-1;d<p;++d)(h=n.tween[d].value.call(e,e.__data__,n.index,n.group))&&(s[++f]=h);s.length=f+1}}function l(u){for(var d=u<n.duration?n.ease.call(null,u/n.duration):(n.timer.restart(c),n.state=hhe,1),f=-1,p=s.length;++f<p;)s[f].call(e,d);n.state===hhe&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=z9,n.timer.stop(),delete r[t];for(var u in r)return;delete e.__transition}}function B9(e,t){var n=e.__transition,r,s,a=!0,i;if(n){t=t==null?null:t+"";for(i in n){if((r=n[i]).name!==t){a=!1;continue}s=r.state>phe&&r.state<hhe,r.state=z9,r.timer.stop(),r.on.call(s?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[i]}a&&delete e.__transition}}function vUn(e){return this.each(function(){B9(this,e)})}function yUn(e,t){var n,r;return function(){var s=$y(this,e),a=s.tween;if(a!==n){r=n=a;for(var i=0,l=r.length;i<l;++i)if(r[i].name===t){r=r.slice(),r.splice(i,1);break}}s.tween=r}}function bUn(e,t,n){var r,s;if(typeof n!="function")throw new Error;return function(){var a=$y(this,e),i=a.tween;if(i!==r){s=(r=i).slice();for(var l={name:t,value:n},c=0,u=s.length;c<u;++c)if(s[c].name===t){s[c]=l;break}c===u&&s.push(l)}a.tween=s}}function xUn(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=Lg(this.node(),n).tween,s=0,a=r.length,i;s<a;++s)if((i=r[s]).name===e)return i.value;return null}return this.each((t==null?yUn:bUn)(n,e,t))}function i1e(e,t,n){var r=e._id;return e.each(function(){var s=$y(this,r);(s.value||(s.value={}))[t]=n.apply(this,arguments)}),function(s){return Lg(s,r).value[t]}}function $xt(e,t){var n;return(typeof t=="number"?Jm:t instanceof jO?y7:(n=jO(t))?(t=n,y7):jxt)(e,t)}function wUn(e){return function(){this.removeAttribute(e)}}function SUn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function kUn(e,t,n){var r,s=n+"",a;return function(){var i=this.getAttribute(e);return i===s?null:i===r?a:a=t(r=i,n)}}function OUn(e,t,n){var r,s=n+"",a;return function(){var i=this.getAttributeNS(e.space,e.local);return i===s?null:i===r?a:a=t(r=i,n)}}function _Un(e,t,n){var r,s,a;return function(){var i,l=n(this),c;return l==null?void this.removeAttribute(e):(i=this.getAttribute(e),c=l+"",i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l)))}}function CUn(e,t,n){var r,s,a;return function(){var i,l=n(this),c;return l==null?void this.removeAttributeNS(e.space,e.local):(i=this.getAttributeNS(e.space,e.local),c=l+"",i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l)))}}function EUn(e,t){var n=gV(e),r=n==="transform"?aUn:$xt;return this.attrTween(e,typeof t=="function"?(n.local?CUn:_Un)(n,r,i1e(this,"attr."+e,t)):t==null?(n.local?SUn:wUn)(n):(n.local?OUn:kUn)(n,r,t))}function jUn(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function TUn(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function NUn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&TUn(e,a)),n}return s._value=t,s}function IUn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&jUn(e,a)),n}return s._value=t,s}function AUn(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var r=gV(e);return this.tween(n,(r.local?NUn:IUn)(r,t))}function RUn(e,t){return function(){a1e(this,e).delay=+t.apply(this,arguments)}}function PUn(e,t){return t=+t,function(){a1e(this,e).delay=t}}function $Un(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?RUn:PUn)(t,e)):Lg(this.node(),t).delay}function MUn(e,t){return function(){$y(this,e).duration=+t.apply(this,arguments)}}function DUn(e,t){return t=+t,function(){$y(this,e).duration=t}}function LUn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?MUn:DUn)(t,e)):Lg(this.node(),t).duration}function FUn(e,t){if(typeof t!="function")throw new Error;return function(){$y(this,e).ease=t}}function zUn(e){var t=this._id;return arguments.length?this.each(FUn(t,e)):Lg(this.node(),t).ease}function BUn(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;$y(this,e).ease=n}}function UUn(e){if(typeof e!="function")throw new Error;return this.each(BUn(this._id,e))}function qUn(e){typeof e!="function"&&(e=fxt(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=[],c,u=0;u<i;++u)(c=a[u])&&e.call(c,c.__data__,u,a)&&l.push(c);return new kx(r,this._parents,this._name,this._id)}function VUn(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,s=n.length,a=Math.min(r,s),i=new Array(r),l=0;l<a;++l)for(var c=t[l],u=n[l],d=c.length,f=i[l]=new Array(d),p,h=0;h<d;++h)(p=c[h]||u[h])&&(f[h]=p);for(;l<r;++l)i[l]=t[l];return new kx(i,this._parents,this._name,this._id)}function HUn(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function WUn(e,t,n){var r,s,a=HUn(t)?a1e:$y;return function(){var i=a(this,e),l=i.on;l!==r&&(s=(r=l).copy()).on(t,n),i.on=s}}function ZUn(e,t){var n=this._id;return arguments.length<2?Lg(this.node(),n).on.on(e):this.each(WUn(n,e,t))}function GUn(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function QUn(){return this.on("end.remove",GUn(this._id))}function YUn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Jwe(e));for(var r=this._groups,s=r.length,a=new Array(s),i=0;i<s;++i)for(var l=r[i],c=l.length,u=a[i]=new Array(c),d,f,p=0;p<c;++p)(d=l[p])&&(f=e.call(d,d.__data__,p,l))&&("__data__"in d&&(f.__data__=d.__data__),u[p]=f,yV(u[p],t,n,p,u,Lg(d,n)));return new kx(a,this._parents,t,n)}function XUn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=dxt(e));for(var r=this._groups,s=r.length,a=[],i=[],l=0;l<s;++l)for(var c=r[l],u=c.length,d,f=0;f<u;++f)if(d=c[f]){for(var p=e.call(d,d.__data__,f,c),h,m=Lg(d,n),g=0,y=p.length;g<y;++g)(h=p[g])&&yV(h,t,n,g,p,m);a.push(p),i.push(d)}return new kx(a,i,t,n)}var KUn=aD.prototype.constructor;function JUn(){return new KUn(this._groups,this._parents)}function eqn(e,t){var n,r,s;return function(){var a=hT(this,e),i=(this.style.removeProperty(e),hT(this,e));return a===i?null:a===n&&i===r?s:s=t(n=a,r=i)}}function Mxt(e){return function(){this.style.removeProperty(e)}}function tqn(e,t,n){var r,s=n+"",a;return function(){var i=hT(this,e);return i===s?null:i===r?a:a=t(r=i,n)}}function nqn(e,t,n){var r,s,a;return function(){var i=hT(this,e),l=n(this),c=l+"";return l==null&&(c=l=(this.style.removeProperty(e),hT(this,e))),i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l))}}function rqn(e,t){var n,r,s,a="style."+t,i="end."+a,l;return function(){var c=$y(this,e),u=c.on,d=c.value[a]==null?l||(l=Mxt(t)):void 0;(u!==n||s!==d)&&(r=(n=u).copy()).on(i,s=d),c.on=r}}function sqn(e,t,n){var r=(e+="")=="transform"?sUn:$xt;return t==null?this.styleTween(e,eqn(e,r)).on("end.style."+e,Mxt(e)):typeof t=="function"?this.styleTween(e,nqn(e,r,i1e(this,"style."+e,t))).each(rqn(this._id,e)):this.styleTween(e,tqn(e,r,t),n).on("end.style."+e,null)}function aqn(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function iqn(e,t,n){var r,s;function a(){var i=t.apply(this,arguments);return i!==s&&(r=(s=i)&&aqn(e,i,n)),r}return a._value=t,a}function oqn(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,iqn(e,t,n??""))}function lqn(e){return function(){this.textContent=e}}function cqn(e){return function(){var t=e(this);this.textContent=t??""}}function uqn(e){return this.tween("text",typeof e=="function"?cqn(i1e(this,"text",e)):lqn(e==null?"":e+""))}function dqn(e){return function(t){this.textContent=e.call(this,t)}}function fqn(e){var t,n;function r(){var s=e.apply(this,arguments);return s!==n&&(t=(n=s)&&dqn(s)),t}return r._value=e,r}function pqn(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,fqn(e))}function hqn(){for(var e=this._name,t=this._id,n=Dxt(),r=this._groups,s=r.length,a=0;a<s;++a)for(var i=r[a],l=i.length,c,u=0;u<l;++u)if(c=i[u]){var d=Lg(c,t);yV(c,e,n,u,i,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new kx(r,this._parents,e,n)}function mqn(){var e,t,n=this,r=n._id,s=n.size();return new Promise(function(a,i){var l={value:i},c={value:function(){--s===0&&a()}};n.each(function(){var u=$y(this,r),d=u.on;d!==e&&(t=(e=d).copy(),t._.cancel.push(l),t._.interrupt.push(l),t._.end.push(c)),u.on=t}),s===0&&a()})}var gqn=0;function kx(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Dxt(){return++gqn}var pb=aD.prototype;kx.prototype={constructor:kx,select:YUn,selectAll:XUn,selectChild:pb.selectChild,selectChildren:pb.selectChildren,filter:qUn,merge:VUn,selection:JUn,transition:hqn,call:pb.call,nodes:pb.nodes,node:pb.node,size:pb.size,empty:pb.empty,each:pb.each,on:ZUn,attr:EUn,attrTween:AUn,style:sqn,styleTween:oqn,text:uqn,textTween:pqn,remove:QUn,tween:xUn,delay:$Un,duration:LUn,ease:zUn,easeVarying:UUn,end:mqn,[Symbol.iterator]:pb[Symbol.iterator]};function vqn(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var yqn={time:null,delay:0,duration:250,ease:vqn};function bqn(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function xqn(e){var t,n;e instanceof kx?(t=e._id,e=e._name):(t=Dxt(),(n=yqn).time=s1e(),e=e==null?null:e+"");for(var r=this._groups,s=r.length,a=0;a<s;++a)for(var i=r[a],l=i.length,c,u=0;u<l;++u)(c=i[u])&&yV(c,e,t,u,i,n||bqn(c,t));return new kx(r,this._parents,e,t)}aD.prototype.interrupt=vUn;aD.prototype.transition=xqn;const y6=e=>()=>e;function wqn(e,{sourceEvent:t,target:n,transform:r,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:s}})}function Vb(e,t,n){this.k=e,this.x=t,this.y=n}Vb.prototype={constructor:Vb,scale:function(e){return e===1?this:new Vb(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Vb(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var bV=new Vb(1,0,0);Lxt.prototype=Vb.prototype;function Lxt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return bV;return e.__zoom}function IJ(e){e.stopImmediatePropagation()}function VA(e){e.preventDefault(),e.stopImmediatePropagation()}function Sqn(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function kqn(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function O8e(){return this.__zoom||bV}function Oqn(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function _qn(){return navigator.maxTouchPoints||"ontouchstart"in this}function Cqn(e,t,n){var r=e.invertX(t[0][0])-n[0][0],s=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],i=e.invertY(t[1][1])-n[1][1];return e.translate(s>r?(r+s)/2:Math.min(0,r)||Math.max(0,s),i>a?(a+i)/2:Math.min(0,a)||Math.max(0,i))}function Fxt(){var e=Sqn,t=kqn,n=Cqn,r=Oqn,s=_qn,a=[0,1/0],i=[[-1/0,-1/0],[1/0,1/0]],l=250,c=L9,u=mV("start","zoom","end"),d,f,p,h=500,m=150,g=0,y=10;function b(D){D.property("__zoom",O8e).on("wheel.zoom",j,{passive:!1}).on("mousedown.zoom",N).on("dblclick.zoom",I).filter(s).on("touchstart.zoom",R).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",F).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(D,V,W,L){var z=D.selection?D.selection():D;z.property("__zoom",O8e),D!==z?_(D,V,W,L):z.interrupt().each(function(){C(this,arguments).event(L).start().zoom(null,typeof V=="function"?V.apply(this,arguments):V).end()})},b.scaleBy=function(D,V,W,L){b.scaleTo(D,function(){var z=this.__zoom.k,B=typeof V=="function"?V.apply(this,arguments):V;return z*B},W,L)},b.scaleTo=function(D,V,W,L){b.transform(D,function(){var z=t.apply(this,arguments),B=this.__zoom,M=W==null?k(z):typeof W=="function"?W.apply(this,arguments):W,G=B.invert(M),U=typeof V=="function"?V.apply(this,arguments):V;return n(S(w(B,U),M,G),z,i)},W,L)},b.translateBy=function(D,V,W,L){b.transform(D,function(){return n(this.__zoom.translate(typeof V=="function"?V.apply(this,arguments):V,typeof W=="function"?W.apply(this,arguments):W),t.apply(this,arguments),i)},null,L)},b.translateTo=function(D,V,W,L,z){b.transform(D,function(){var B=t.apply(this,arguments),M=this.__zoom,G=L==null?k(B):typeof L=="function"?L.apply(this,arguments):L;return n(bV.translate(G[0],G[1]).scale(M.k).translate(typeof V=="function"?-V.apply(this,arguments):-V,typeof W=="function"?-W.apply(this,arguments):-W),B,i)},L,z)};function w(D,V){return V=Math.max(a[0],Math.min(a[1],V)),V===D.k?D:new Vb(V,D.x,D.y)}function S(D,V,W){var L=V[0]-W[0]*D.k,z=V[1]-W[1]*D.k;return L===D.x&&z===D.y?D:new Vb(D.k,L,z)}function k(D){return[(+D[0][0]+ +D[1][0])/2,(+D[0][1]+ +D[1][1])/2]}function _(D,V,W,L){D.on("start.zoom",function(){C(this,arguments).event(L).start()}).on("interrupt.zoom end.zoom",function(){C(this,arguments).event(L).end()}).tween("zoom",function(){var z=this,B=arguments,M=C(z,B).event(L),G=t.apply(z,B),U=W==null?k(G):typeof W=="function"?W.apply(z,B):W,P=Math.max(G[1][0]-G[0][0],G[1][1]-G[0][1]),q=z.__zoom,Z=typeof V=="function"?V.apply(z,B):V,X=c(q.invert(U).concat(P/q.k),Z.invert(U).concat(P/Z.k));return function(te){if(te===1)te=Z;else{var J=X(te),ee=P/J[2];te=new Vb(ee,U[0]-J[0]*ee,U[1]-J[1]*ee)}M.zoom(null,te)}})}function C(D,V,W){return!W&&D.__zooming||new E(D,V)}function E(D,V){this.that=D,this.args=V,this.active=0,this.sourceEvent=null,this.extent=t.apply(D,V),this.taps=0}E.prototype={event:function(D){return D&&(this.sourceEvent=D),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(D,V){return this.mouse&&D!=="mouse"&&(this.mouse[1]=V.invert(this.mouse[0])),this.touch0&&D!=="touch"&&(this.touch0[1]=V.invert(this.touch0[0])),this.touch1&&D!=="touch"&&(this.touch1[1]=V.invert(this.touch1[0])),this.that.__zoom=V,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(D){var V=fp(this.that).datum();u.call(D,this.that,new wqn(D,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:u}),V)}};function j(D,...V){if(!e.apply(this,arguments))return;var W=C(this,V).event(D),L=this.__zoom,z=Math.max(a[0],Math.min(a[1],L.k*Math.pow(2,r.apply(this,arguments)))),B=Xm(D);if(W.wheel)(W.mouse[0][0]!==B[0]||W.mouse[0][1]!==B[1])&&(W.mouse[1]=L.invert(W.mouse[0]=B)),clearTimeout(W.wheel);else{if(L.k===z)return;W.mouse=[B,L.invert(B)],B9(this),W.start()}VA(D),W.wheel=setTimeout(M,m),W.zoom("mouse",n(S(w(L,z),W.mouse[0],W.mouse[1]),W.extent,i));function M(){W.wheel=null,W.end()}}function N(D,...V){if(p||!e.apply(this,arguments))return;var W=D.currentTarget,L=C(this,V,!0).event(D),z=fp(D.view).on("mousemove.zoom",U,!0).on("mouseup.zoom",P,!0),B=Xm(D,W),M=D.clientX,G=D.clientY;Sxt(D.view),IJ(D),L.mouse=[B,this.__zoom.invert(B)],B9(this),L.start();function U(q){if(VA(q),!L.moved){var Z=q.clientX-M,X=q.clientY-G;L.moved=Z*Z+X*X>g}L.event(q).zoom("mouse",n(S(L.that.__zoom,L.mouse[0]=Xm(q,W),L.mouse[1]),L.extent,i))}function P(q){z.on("mousemove.zoom mouseup.zoom",null),kxt(q.view,L.moved),VA(q),L.event(q).end()}}function I(D,...V){if(e.apply(this,arguments)){var W=this.__zoom,L=Xm(D.changedTouches?D.changedTouches[0]:D,this),z=W.invert(L),B=W.k*(D.shiftKey?.5:2),M=n(S(w(W,B),L,z),t.apply(this,V),i);VA(D),l>0?fp(this).transition().duration(l).call(_,M,L,D):fp(this).call(b.transform,M,L,D)}}function R(D,...V){if(e.apply(this,arguments)){var W=D.touches,L=W.length,z=C(this,V,D.changedTouches.length===L).event(D),B,M,G,U;for(IJ(D),M=0;M<L;++M)G=W[M],U=Xm(G,this),U=[U,this.__zoom.invert(U),G.identifier],z.touch0?!z.touch1&&z.touch0[2]!==U[2]&&(z.touch1=U,z.taps=0):(z.touch0=U,B=!0,z.taps=1+!!d);d&&(d=clearTimeout(d)),B&&(z.taps<2&&(f=U[0],d=setTimeout(function(){d=null},h)),B9(this),z.start())}}function $(D,...V){if(this.__zooming){var W=C(this,V).event(D),L=D.changedTouches,z=L.length,B,M,G,U;for(VA(D),B=0;B<z;++B)M=L[B],G=Xm(M,this),W.touch0&&W.touch0[2]===M.identifier?W.touch0[0]=G:W.touch1&&W.touch1[2]===M.identifier&&(W.touch1[0]=G);if(M=W.that.__zoom,W.touch1){var P=W.touch0[0],q=W.touch0[1],Z=W.touch1[0],X=W.touch1[1],te=(te=Z[0]-P[0])*te+(te=Z[1]-P[1])*te,J=(J=X[0]-q[0])*J+(J=X[1]-q[1])*J;M=w(M,Math.sqrt(te/J)),G=[(P[0]+Z[0])/2,(P[1]+Z[1])/2],U=[(q[0]+X[0])/2,(q[1]+X[1])/2]}else if(W.touch0)G=W.touch0[0],U=W.touch0[1];else return;W.zoom("touch",n(S(M,G,U),W.extent,i))}}function F(D,...V){if(this.__zooming){var W=C(this,V).event(D),L=D.changedTouches,z=L.length,B,M;for(IJ(D),p&&clearTimeout(p),p=setTimeout(function(){p=null},h),B=0;B<z;++B)M=L[B],W.touch0&&W.touch0[2]===M.identifier?delete W.touch0:W.touch1&&W.touch1[2]===M.identifier&&delete W.touch1;if(W.touch1&&!W.touch0&&(W.touch0=W.touch1,delete W.touch1),W.touch0)W.touch0[1]=this.__zoom.invert(W.touch0[0]);else if(W.end(),W.taps===2&&(M=Xm(M,this),Math.hypot(f[0]-M[0],f[1]-M[1])<y)){var G=fp(this).on("dblclick.zoom");G&&G.apply(this,arguments)}}}return b.wheelDelta=function(D){return arguments.length?(r=typeof D=="function"?D:y6(+D),b):r},b.filter=function(D){return arguments.length?(e=typeof D=="function"?D:y6(!!D),b):e},b.touchable=function(D){return arguments.length?(s=typeof D=="function"?D:y6(!!D),b):s},b.extent=function(D){return arguments.length?(t=typeof D=="function"?D:y6([[+D[0][0],+D[0][1]],[+D[1][0],+D[1][1]]]),b):t},b.scaleExtent=function(D){return arguments.length?(a[0]=+D[0],a[1]=+D[1],b):[a[0],a[1]]},b.translateExtent=function(D){return arguments.length?(i[0][0]=+D[0][0],i[1][0]=+D[1][0],i[0][1]=+D[0][1],i[1][1]=+D[1][1],b):[[i[0][0],i[0][1]],[i[1][0],i[1][1]]]},b.constrain=function(D){return arguments.length?(n=D,b):n},b.duration=function(D){return arguments.length?(l=+D,b):l},b.interpolate=function(D){return arguments.length?(c=D,b):c},b.on=function(){var D=u.on.apply(u,arguments);return D===u?b:D},b.clickDistance=function(D){return arguments.length?(g=(D=+D)*D,b):Math.sqrt(g)},b.tapDistance=function(D){return arguments.length?(y=+D,b):y},b}const py={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:r}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},X$=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],zxt=["Enter"," ","Escape"],Bxt={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var gT;(function(e){e.Strict="strict",e.Loose="loose"})(gT||(gT={}));var Bk;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Bk||(Bk={}));var K$;(function(e){e.Partial="partial",e.Full="full"})(K$||(K$={}));const Uxt={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var sw;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(sw||(sw={}));var J$;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(J$||(J$={}));var nr;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(nr||(nr={}));const _8e={[nr.Left]:nr.Right,[nr.Right]:nr.Left,[nr.Top]:nr.Bottom,[nr.Bottom]:nr.Top};function qxt(e){return e===null?null:e?"valid":"invalid"}const Vxt=e=>"id"in e&&"source"in e&&"target"in e,Eqn=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),o1e=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),oD=(e,t=[0,0])=>{const{width:n,height:r}=Hx(e),s=e.origin??t,a=n*s[0],i=r*s[1];return{x:e.position.x-a,y:e.position.y-i}},jqn=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,s)=>{const a=typeof s=="string";let i=!t.nodeLookup&&!a?s:void 0;t.nodeLookup&&(i=a?t.nodeLookup.get(s):o1e(s)?s:t.nodeLookup.get(s.id));const l=i?S7(i,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return xV(r,l)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return wV(n)},lD=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(s=>{(t.filter===void 0||t.filter(s))&&(n=xV(n,S7(s)),r=!0)}),r?wV(n):{x:0,y:0,width:0,height:0}},l1e=(e,t,[n,r,s]=[0,0,1],a=!1,i=!1)=>{const l={...uD(t,[n,r,s]),width:t.width/s,height:t.height/s},c=[];for(const u of e.values()){const{measured:d,selectable:f=!0,hidden:p=!1}=u;if(i&&!f||p)continue;const h=d.width??u.width??u.initialWidth??null,m=d.height??u.height??u.initialHeight??null,g=eM(l,yT(u)),y=(h??0)*(m??0),b=a&&g>0;(!u.internals.handleBounds||b||g>=y||u.dragging)&&c.push(u)}return c},Tqn=(e,t)=>{const n=new Set;return e.forEach(r=>{n.add(r.id)}),t.filter(r=>n.has(r.source)||n.has(r.target))};function Nqn(e,t){const n=new Map,r=t?.nodes?new Set(t.nodes.map(s=>s.id)):null;return e.forEach(s=>{s.measured.width&&s.measured.height&&(t?.includeHiddenNodes||!s.hidden)&&(!r||r.has(s.id))&&n.set(s.id,s)}),n}async function Iqn({nodes:e,width:t,height:n,panZoom:r,minZoom:s,maxZoom:a},i){if(e.size===0)return Promise.resolve(!0);const l=Nqn(e,i),c=lD(l),u=c1e(c,t,n,i?.minZoom??s,i?.maxZoom??a,i?.padding??.1);return await r.setViewport(u,{duration:i?.duration,ease:i?.ease,interpolate:i?.interpolate}),Promise.resolve(!0)}function Hxt({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:s,onError:a}){const i=n.get(e),l=i.parentId?n.get(i.parentId):void 0,{x:c,y:u}=l?l.internals.positionAbsolute:{x:0,y:0},d=i.origin??r;let f=i.extent||s;if(i.extent==="parent"&&!i.expandParent)if(!l)a?.("005",py.error005());else{const h=l.measured.width,m=l.measured.height;h&&m&&(f=[[c,u],[c+h,u+m]])}else l&&bT(i.extent)&&(f=[[i.extent[0][0]+c,i.extent[0][1]+u],[i.extent[1][0]+c,i.extent[1][1]+u]]);const p=bT(f)?NO(t,f,i.measured):t;return(i.measured.width===void 0||i.measured.height===void 0)&&a?.("015",py.error015()),{position:{x:p.x-c+(i.measured.width??0)*d[0],y:p.y-u+(i.measured.height??0)*d[1]},positionAbsolute:p}}async function Aqn({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:s}){const a=new Set(e.map(p=>p.id)),i=[];for(const p of n){if(p.deletable===!1)continue;const h=a.has(p.id),m=!h&&p.parentId&&i.find(g=>g.id===p.parentId);(h||m)&&i.push(p)}const l=new Set(t.map(p=>p.id)),c=r.filter(p=>p.deletable!==!1),d=Tqn(i,c);for(const p of c)l.has(p.id)&&!d.find(m=>m.id===p.id)&&d.push(p);if(!s)return{edges:d,nodes:i};const f=await s({nodes:i,edges:d});return typeof f=="boolean"?f?{edges:d,nodes:i}:{edges:[],nodes:[]}:f}const vT=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),NO=(e={x:0,y:0},t,n)=>({x:vT(e.x,t[0][0],t[1][0]-(n?.width??0)),y:vT(e.y,t[0][1],t[1][1]-(n?.height??0))});function Wxt(e,t,n){const{width:r,height:s}=Hx(n),{x:a,y:i}=n.internals.positionAbsolute;return NO(e,[[a,i],[a+r,i+s]],t)}const C8e=(e,t,n)=>e<t?vT(Math.abs(e-t),1,t)/t:e>n?-vT(Math.abs(e-n),1,t)/t:0,Zxt=(e,t,n=15,r=40)=>{const s=C8e(e.x,r,t.width-r)*n,a=C8e(e.y,r,t.height-r)*n;return[s,a]},xV=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),mhe=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),wV=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),yT=(e,t=[0,0])=>{const{x:n,y:r}=o1e(e)?e.internals.positionAbsolute:oD(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},S7=(e,t=[0,0])=>{const{x:n,y:r}=o1e(e)?e.internals.positionAbsolute:oD(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},Gxt=(e,t)=>wV(xV(mhe(e),mhe(t))),eM=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},E8e=e=>cg(e.width)&&cg(e.height)&&cg(e.x)&&cg(e.y),cg=e=>!isNaN(e)&&isFinite(e),Rqn=(e,t)=>{},cD=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),uD=({x:e,y:t},[n,r,s],a=!1,i=[1,1])=>{const l={x:(e-n)/s,y:(t-r)/s};return a?cD(l,i):l},k7=({x:e,y:t},[n,r,s])=>({x:e*s+n,y:t*s+r});function MC(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Pqn(e,t,n){if(typeof e=="string"||typeof e=="number"){const r=MC(e,n),s=MC(e,t);return{top:r,right:s,bottom:r,left:s,x:s*2,y:r*2}}if(typeof e=="object"){const r=MC(e.top??e.y??0,n),s=MC(e.bottom??e.y??0,n),a=MC(e.left??e.x??0,t),i=MC(e.right??e.x??0,t);return{top:r,right:i,bottom:s,left:a,x:a+i,y:r+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function $qn(e,t,n,r,s,a){const{x:i,y:l}=k7(e,[t,n,r]),{x:c,y:u}=k7({x:e.x+e.width,y:e.y+e.height},[t,n,r]),d=s-c,f=a-u;return{left:Math.floor(i),top:Math.floor(l),right:Math.floor(d),bottom:Math.floor(f)}}const c1e=(e,t,n,r,s,a)=>{const i=Pqn(a,t,n),l=(t-i.x)/e.width,c=(n-i.y)/e.height,u=Math.min(l,c),d=vT(u,r,s),f=e.x+e.width/2,p=e.y+e.height/2,h=t/2-f*d,m=n/2-p*d,g=$qn(e,h,m,d,t,n),y={left:Math.min(g.left-i.left,0),top:Math.min(g.top-i.top,0),right:Math.min(g.right-i.right,0),bottom:Math.min(g.bottom-i.bottom,0)};return{x:h-y.left+y.right,y:m-y.top+y.bottom,zoom:d}},tM=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function bT(e){return e!=null&&e!=="parent"}function Hx(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function Qxt(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function Yxt(e,t={width:0,height:0},n,r,s){const a={...e},i=r.get(n);if(i){const l=i.origin||s;a.x+=i.internals.positionAbsolute.x-(t.width??0)*l[0],a.y+=i.internals.positionAbsolute.y-(t.height??0)*l[1]}return a}function j8e(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function Mqn(){let e,t;return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}}function Dqn(e){return{...Bxt,...e||{}}}function D2(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:s}){const{x:a,y:i}=ug(e),l=uD({x:a-(s?.left??0),y:i-(s?.top??0)},r),{x:c,y:u}=n?cD(l,t):l;return{xSnapped:c,ySnapped:u,...l}}const u1e=e=>({width:e.offsetWidth,height:e.offsetHeight}),Xxt=e=>e?.getRootNode?.()||window?.document,Lqn=["INPUT","SELECT","TEXTAREA"];function Kxt(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:Lqn.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const Jxt=e=>"clientX"in e,ug=(e,t)=>{const n=Jxt(e),r=n?e.clientX:e.touches?.[0].clientX,s=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:s-(t?.top??0)}},T8e=(e,t,n,r,s)=>{const a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(i=>{const l=i.getBoundingClientRect();return{id:i.getAttribute("data-handleid"),type:e,nodeId:s,position:i.getAttribute("data-handlepos"),x:(l.left-n.left)/r,y:(l.top-n.top)/r,...u1e(i)}})};function e0t({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:s,sourceControlY:a,targetControlX:i,targetControlY:l}){const c=e*.125+s*.375+i*.375+n*.125,u=t*.125+a*.375+l*.375+r*.125,d=Math.abs(c-e),f=Math.abs(u-t);return[c,u,d,f]}function b6(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function N8e({pos:e,x1:t,y1:n,x2:r,y2:s,c:a}){switch(e){case nr.Left:return[t-b6(t-r,a),n];case nr.Right:return[t+b6(r-t,a),n];case nr.Top:return[t,n-b6(n-s,a)];case nr.Bottom:return[t,n+b6(s-n,a)]}}function d1e({sourceX:e,sourceY:t,sourcePosition:n=nr.Bottom,targetX:r,targetY:s,targetPosition:a=nr.Top,curvature:i=.25}){const[l,c]=N8e({pos:n,x1:e,y1:t,x2:r,y2:s,c:i}),[u,d]=N8e({pos:a,x1:r,y1:s,x2:e,y2:t,c:i}),[f,p,h,m]=e0t({sourceX:e,sourceY:t,targetX:r,targetY:s,sourceControlX:l,sourceControlY:c,targetControlX:u,targetControlY:d});return[`M${e},${t} C${l},${c} ${u},${d} ${r},${s}`,f,p,h,m]}function t0t({sourceX:e,sourceY:t,targetX:n,targetY:r}){const s=Math.abs(n-e)/2,a=n<e?n+s:n-s,i=Math.abs(r-t)/2,l=r<t?r+i:r-i;return[a,l,s,i]}function Fqn({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:s=!1,zIndexMode:a="basic"}){if(a==="manual")return r;const i=s&&n?r+1e3:r,l=Math.max(e.parentId||s&&e.selected?e.internals.z:0,t.parentId||s&&t.selected?t.internals.z:0);return i+l}function zqn({sourceNode:e,targetNode:t,width:n,height:r,transform:s}){const a=xV(S7(e),S7(t));a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1);const i={x:-s[0]/s[2],y:-s[1]/s[2],width:n/s[2],height:r/s[2]};return eM(i,wV(a))>0}const Bqn=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,Uqn=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),qqn=(e,t,n={})=>{if(!e.source||!e.target)return t;const r=n.getEdgeId||Bqn;let s;return Vxt(e)?s={...e}:s={...e,id:r(e)},Uqn(s,t)?t:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,t.concat(s))};function n0t({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[s,a,i,l]=t0t({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,s,a,i,l]}const I8e={[nr.Left]:{x:-1,y:0},[nr.Right]:{x:1,y:0},[nr.Top]:{x:0,y:-1},[nr.Bottom]:{x:0,y:1}},Vqn=({source:e,sourcePosition:t=nr.Bottom,target:n})=>t===nr.Left||t===nr.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},A8e=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function Hqn({source:e,sourcePosition:t=nr.Bottom,target:n,targetPosition:r=nr.Top,center:s,offset:a,stepPosition:i}){const l=I8e[t],c=I8e[r],u={x:e.x+l.x*a,y:e.y+l.y*a},d={x:n.x+c.x*a,y:n.y+c.y*a},f=Vqn({source:u,sourcePosition:t,target:d}),p=f.x!==0?"x":"y",h=f[p];let m=[],g,y;const b={x:0,y:0},w={x:0,y:0},[,,S,k]=t0t({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(l[p]*c[p]===-1){p==="x"?(g=s.x??u.x+(d.x-u.x)*i,y=s.y??(u.y+d.y)/2):(g=s.x??(u.x+d.x)/2,y=s.y??u.y+(d.y-u.y)*i);const j=[{x:g,y:u.y},{x:g,y:d.y}],N=[{x:u.x,y},{x:d.x,y}];l[p]===h?m=p==="x"?j:N:m=p==="x"?N:j}else{const j=[{x:u.x,y:d.y}],N=[{x:d.x,y:u.y}];if(p==="x"?m=l.x===h?N:j:m=l.y===h?j:N,t===r){const D=Math.abs(e[p]-n[p]);if(D<=a){const V=Math.min(a-1,a-D);l[p]===h?b[p]=(u[p]>e[p]?-1:1)*V:w[p]=(d[p]>n[p]?-1:1)*V}}if(t!==r){const D=p==="x"?"y":"x",V=l[p]===c[D],W=u[D]>d[D],L=u[D]<d[D];(l[p]===1&&(!V&&W||V&&L)||l[p]!==1&&(!V&&L||V&&W))&&(m=p==="x"?j:N)}const I={x:u.x+b.x,y:u.y+b.y},R={x:d.x+w.x,y:d.y+w.y},$=Math.max(Math.abs(I.x-m[0].x),Math.abs(R.x-m[0].x)),F=Math.max(Math.abs(I.y-m[0].y),Math.abs(R.y-m[0].y));$>=F?(g=(I.x+R.x)/2,y=m[0].y):(g=m[0].x,y=(I.y+R.y)/2)}const _={x:u.x+b.x,y:u.y+b.y},C={x:d.x+w.x,y:d.y+w.y};return[[e,..._.x!==m[0].x||_.y!==m[0].y?[_]:[],...m,...C.x!==m[m.length-1].x||C.y!==m[m.length-1].y?[C]:[],n],g,y,S,k]}function Wqn(e,t,n,r){const s=Math.min(A8e(e,t)/2,A8e(t,n)/2,r),{x:a,y:i}=t;if(e.x===a&&a===n.x||e.y===i&&i===n.y)return`L${a} ${i}`;if(e.y===i){const u=e.x<n.x?-1:1,d=e.y<n.y?1:-1;return`L ${a+s*u},${i}Q ${a},${i} ${a},${i+s*d}`}const l=e.x<n.x?1:-1,c=e.y<n.y?-1:1;return`L ${a},${i+s*c}Q ${a},${i} ${a+s*l},${i}`}function ghe({sourceX:e,sourceY:t,sourcePosition:n=nr.Bottom,targetX:r,targetY:s,targetPosition:a=nr.Top,borderRadius:i=5,centerX:l,centerY:c,offset:u=20,stepPosition:d=.5}){const[f,p,h,m,g]=Hqn({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:s},targetPosition:a,center:{x:l,y:c},offset:u,stepPosition:d});let y=`M${f[0].x} ${f[0].y}`;for(let b=1;b<f.length-1;b++)y+=Wqn(f[b-1],f[b],f[b+1],i);return y+=`L${f[f.length-1].x} ${f[f.length-1].y}`,[y,p,h,m,g]}function R8e(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function Zqn(e){const{sourceNode:t,targetNode:n}=e;if(!R8e(t)||!R8e(n))return null;const r=t.internals.handleBounds||P8e(t.handles),s=n.internals.handleBounds||P8e(n.handles),a=$8e(r?.source??[],e.sourceHandle),i=$8e(e.connectionMode===gT.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),e.targetHandle);if(!a||!i)return e.onError?.("008",py.error008(a?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const l=a?.position||nr.Bottom,c=i?.position||nr.Top,u=IO(t,a,l),d=IO(n,i,c);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:l,targetPosition:c}}function P8e(e){if(!e)return null;const t=[],n=[];for(const r of e)r.width=r.width??1,r.height=r.height??1,r.type==="source"?t.push(r):r.type==="target"&&n.push(r);return{source:t,target:n}}function IO(e,t,n=nr.Left,r=!1){const s=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:i,height:l}=t??Hx(e);if(r)return{x:s+i/2,y:a+l/2};switch(t?.position??n){case nr.Top:return{x:s+i/2,y:a};case nr.Right:return{x:s+i,y:a+l/2};case nr.Bottom:return{x:s+i/2,y:a+l};case nr.Left:return{x:s,y:a+l/2}}}function $8e(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function vhe(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function Gqn(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:s}){const a=new Set;return e.reduce((i,l)=>([l.markerStart||r,l.markerEnd||s].forEach(c=>{if(c&&typeof c=="object"){const u=vhe(c,t);a.has(u)||(i.push({id:u,color:c.color||n,...c}),a.add(u))}}),i),[]).sort((i,l)=>i.id.localeCompare(l.id))}const r0t=1e3,Qqn=10,f1e={nodeOrigin:[0,0],nodeExtent:X$,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},Yqn={...f1e,checkEquality:!0};function p1e(e,t){const n={...e};for(const r in t)t[r]!==void 0&&(n[r]=t[r]);return n}function Xqn(e,t,n){const r=p1e(f1e,n);for(const s of e.values())if(s.parentId)m1e(s,e,t,r);else{const a=oD(s,r.nodeOrigin),i=bT(s.extent)?s.extent:r.nodeExtent,l=NO(a,i,Hx(s));s.internals.positionAbsolute=l}}function Kqn(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;const n=[],r=[];for(const s of e.handles){const a={id:s.id,width:s.width??1,height:s.height??1,nodeId:e.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?n.push(a):s.type==="target"&&r.push(a)}return{source:n,target:r}}function h1e(e){return e==="manual"}function yhe(e,t,n,r={}){const s=p1e(Yqn,r),a={i:0},i=new Map(t),l=s?.elevateNodesOnSelect&&!h1e(s.zIndexMode)?r0t:0;let c=e.length>0,u=!1;t.clear(),n.clear();for(const d of e){let f=i.get(d.id);if(s.checkEquality&&d===f?.internals.userNode)t.set(d.id,f);else{const p=oD(d,s.nodeOrigin),h=bT(d.extent)?d.extent:s.nodeExtent,m=NO(p,h,Hx(d));f={...s.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:m,handleBounds:Kqn(d,f),z:s0t(d,l,s.zIndexMode),userNode:d}},t.set(d.id,f)}(f.measured===void 0||f.measured.width===void 0||f.measured.height===void 0)&&!f.hidden&&(c=!1),d.parentId&&m1e(f,t,n,r,a),u||=d.selected??!1}return{nodesInitialized:c,hasSelectedNodes:u}}function Jqn(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function m1e(e,t,n,r,s){const{elevateNodesOnSelect:a,nodeOrigin:i,nodeExtent:l,zIndexMode:c}=p1e(f1e,r),u=e.parentId,d=t.get(u);if(!d){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Jqn(e,n),s&&!d.parentId&&d.internals.rootParentIndex===void 0&&c==="auto"&&(d.internals.rootParentIndex=++s.i,d.internals.z=d.internals.z+s.i*Qqn),s&&d.internals.rootParentIndex!==void 0&&(s.i=d.internals.rootParentIndex);const f=a&&!h1e(c)?r0t:0,{x:p,y:h,z:m}=eVn(e,d,i,l,f,c),{positionAbsolute:g}=e.internals,y=p!==g.x||h!==g.y;(y||m!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:p,y:h}:g,z:m}})}function s0t(e,t,n){const r=cg(e.zIndex)?e.zIndex:0;return h1e(n)?r:r+(e.selected?t:0)}function eVn(e,t,n,r,s,a){const{x:i,y:l}=t.internals.positionAbsolute,c=Hx(e),u=oD(e,n),d=bT(e.extent)?NO(u,e.extent,c):u;let f=NO({x:i+d.x,y:l+d.y},r,c);e.extent==="parent"&&(f=Wxt(f,c,t));const p=s0t(e,s,a),h=t.internals.z??0;return{x:f.x,y:f.y,z:h>=p?h+1:p}}function g1e(e,t,n,r=[0,0]){const s=[],a=new Map;for(const i of e){const l=t.get(i.parentId);if(!l)continue;const c=a.get(i.parentId)?.expandedRect??yT(l),u=Gxt(c,i.rect);a.set(i.parentId,{expandedRect:u,parent:l})}return a.size>0&&a.forEach(({expandedRect:i,parent:l},c)=>{const u=l.internals.positionAbsolute,d=Hx(l),f=l.origin??r,p=i.x<u.x?Math.round(Math.abs(u.x-i.x)):0,h=i.y<u.y?Math.round(Math.abs(u.y-i.y)):0,m=Math.max(d.width,Math.round(i.width)),g=Math.max(d.height,Math.round(i.height)),y=(m-d.width)*f[0],b=(g-d.height)*f[1];(p>0||h>0||y||b)&&(s.push({id:c,type:"position",position:{x:l.position.x-p+y,y:l.position.y-h+b}}),n.get(c)?.forEach(w=>{e.some(S=>S.id===w.id)||s.push({id:w.id,type:"position",position:{x:w.position.x+p,y:w.position.y+h}})})),(d.width<i.width||d.height<i.height||p||h)&&s.push({id:c,type:"dimensions",setAttributes:!0,dimensions:{width:m+(p?f[0]*p-y:0),height:g+(h?f[1]*h-b:0)}})}),s}function tVn(e,t,n,r,s,a,i){const l=r?.querySelector(".xyflow__viewport");let c=!1;if(!l)return{changes:[],updatedInternals:c};const u=[],d=window.getComputedStyle(l),{m22:f}=new window.DOMMatrixReadOnly(d.transform),p=[];for(const h of e.values()){const m=t.get(h.id);if(!m)continue;if(m.hidden){t.set(m.id,{...m,internals:{...m.internals,handleBounds:void 0}}),c=!0;continue}const g=u1e(h.nodeElement),y=m.measured.width!==g.width||m.measured.height!==g.height;if(!!(g.width&&g.height&&(y||!m.internals.handleBounds||h.force))){const w=h.nodeElement.getBoundingClientRect(),S=bT(m.extent)?m.extent:a;let{positionAbsolute:k}=m.internals;m.parentId&&m.extent==="parent"?k=Wxt(k,g,t.get(m.parentId)):S&&(k=NO(k,S,g));const _={...m,measured:g,internals:{...m.internals,positionAbsolute:k,handleBounds:{source:T8e("source",h.nodeElement,w,f,m.id),target:T8e("target",h.nodeElement,w,f,m.id)}}};t.set(m.id,_),m.parentId&&m1e(_,t,n,{nodeOrigin:s,zIndexMode:i}),c=!0,y&&(u.push({id:m.id,type:"dimensions",dimensions:g}),m.expandParent&&m.parentId&&p.push({id:m.id,parentId:m.parentId,rect:yT(_,s)}))}}if(p.length>0){const h=g1e(p,t,n,s);u.push(...h)}return{changes:u,updatedInternals:c}}async function nVn({delta:e,panZoom:t,transform:n,translateExtent:r,width:s,height:a}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const i=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[s,a]],r),l=!!i&&(i.x!==n[0]||i.y!==n[1]||i.k!==n[2]);return Promise.resolve(l)}function M8e(e,t,n,r,s,a){let i=s;const l=r.get(i)||new Map;r.set(i,l.set(n,t)),i=`${s}-${e}`;const c=r.get(i)||new Map;if(r.set(i,c.set(n,t)),a){i=`${s}-${e}-${a}`;const u=r.get(i)||new Map;r.set(i,u.set(n,t))}}function a0t(e,t,n){e.clear(),t.clear();for(const r of n){const{source:s,target:a,sourceHandle:i=null,targetHandle:l=null}=r,c={edgeId:r.id,source:s,target:a,sourceHandle:i,targetHandle:l},u=`${s}-${i}--${a}-${l}`,d=`${a}-${l}--${s}-${i}`;M8e("source",c,d,e,s,i),M8e("target",c,u,e,a,l),t.set(r.id,r)}}function i0t(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:i0t(n,t):!1}function D8e(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function rVn(e,t,n,r){const s=new Map;for(const[a,i]of e)if((i.selected||i.id===r)&&(!i.parentId||!i0t(i,e))&&(i.draggable||t&&typeof i.draggable>"u")){const l=e.get(a);l&&s.set(a,{id:a,position:l.position||{x:0,y:0},distance:{x:n.x-l.internals.positionAbsolute.x,y:n.y-l.internals.positionAbsolute.y},extent:l.extent,parentId:l.parentId,origin:l.origin,expandParent:l.expandParent,internals:{positionAbsolute:l.internals.positionAbsolute||{x:0,y:0}},measured:{width:l.measured.width??0,height:l.measured.height??0}})}return s}function AJ({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){const s=[];for(const[i,l]of t){const c=n.get(i)?.internals.userNode;c&&s.push({...c,position:l.position,dragging:r})}if(!e)return[s[0],s];const a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:s[0],s]}function sVn({dragItems:e,snapGrid:t,x:n,y:r}){const s=e.values().next().value;if(!s)return null;const a={x:n-s.distance.x,y:r-s.distance.y},i=cD(a,t);return{x:i.x-a.x,y:i.y-a.y}}function aVn({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:s}){let a={x:null,y:null},i=0,l=new Map,c=!1,u={x:0,y:0},d=null,f=!1,p=null,h=!1,m=!1,g=null;function y({noDragClassName:w,handleSelector:S,domNode:k,isSelectable:_,nodeId:C,nodeClickDistance:E=0}){p=fp(k);function j({x:$,y:F}){const{nodeLookup:D,nodeExtent:V,snapGrid:W,snapToGrid:L,nodeOrigin:z,onNodeDrag:B,onSelectionDrag:M,onError:G,updateNodePositions:U}=t();a={x:$,y:F};let P=!1;const q=l.size>1,Z=q&&V?mhe(lD(l)):null,X=q&&L?sVn({dragItems:l,snapGrid:W,x:$,y:F}):null;for(const[te,J]of l){if(!D.has(te))continue;let ee={x:$-J.distance.x,y:F-J.distance.y};L&&(ee=X?{x:Math.round(ee.x+X.x),y:Math.round(ee.y+X.y)}:cD(ee,W));let ae=null;if(q&&V&&!J.extent&&Z){const{positionAbsolute:ne}=J.internals,ce=ne.x-Z.x+V[0][0],pe=ne.x+J.measured.width-Z.x2+V[1][0],le=ne.y-Z.y+V[0][1],ve=ne.y+J.measured.height-Z.y2+V[1][1];ae=[[ce,le],[pe,ve]]}const{position:de,positionAbsolute:Y}=Hxt({nodeId:te,nextPosition:ee,nodeLookup:D,nodeExtent:ae||V,nodeOrigin:z,onError:G});P=P||J.position.x!==de.x||J.position.y!==de.y,J.position=de,J.internals.positionAbsolute=Y}if(m=m||P,!!P&&(U(l,!0),g&&(r||B||!C&&M))){const[te,J]=AJ({nodeId:C,dragItems:l,nodeLookup:D});r?.(g,l,te,J),B?.(g,te,J),C||M?.(g,J)}}async function N(){if(!d)return;const{transform:$,panBy:F,autoPanSpeed:D,autoPanOnNodeDrag:V}=t();if(!V){c=!1,cancelAnimationFrame(i);return}const[W,L]=Zxt(u,d,D);(W!==0||L!==0)&&(a.x=(a.x??0)-W/$[2],a.y=(a.y??0)-L/$[2],await F({x:W,y:L})&&j(a)),i=requestAnimationFrame(N)}function I($){const{nodeLookup:F,multiSelectionActive:D,nodesDraggable:V,transform:W,snapGrid:L,snapToGrid:z,selectNodesOnDrag:B,onNodeDragStart:M,onSelectionDragStart:G,unselectNodesAndEdges:U}=t();f=!0,(!B||!_)&&!D&&C&&(F.get(C)?.selected||U()),_&&B&&C&&e?.(C);const P=D2($.sourceEvent,{transform:W,snapGrid:L,snapToGrid:z,containerBounds:d});if(a=P,l=rVn(F,V,P,C),l.size>0&&(n||M||!C&&G)){const[q,Z]=AJ({nodeId:C,dragItems:l,nodeLookup:F});n?.($.sourceEvent,l,q,Z),M?.($.sourceEvent,q,Z),C||G?.($.sourceEvent,Z)}}const R=Oxt().clickDistance(E).on("start",$=>{const{domNode:F,nodeDragThreshold:D,transform:V,snapGrid:W,snapToGrid:L}=t();d=F?.getBoundingClientRect()||null,h=!1,m=!1,g=$.sourceEvent,D===0&&I($),a=D2($.sourceEvent,{transform:V,snapGrid:W,snapToGrid:L,containerBounds:d}),u=ug($.sourceEvent,d)}).on("drag",$=>{const{autoPanOnNodeDrag:F,transform:D,snapGrid:V,snapToGrid:W,nodeDragThreshold:L,nodeLookup:z}=t(),B=D2($.sourceEvent,{transform:D,snapGrid:V,snapToGrid:W,containerBounds:d});if(g=$.sourceEvent,($.sourceEvent.type==="touchmove"&&$.sourceEvent.touches.length>1||C&&!z.has(C))&&(h=!0),!h){if(!c&&F&&f&&(c=!0,N()),!f){const M=ug($.sourceEvent,d),G=M.x-u.x,U=M.y-u.y;Math.sqrt(G*G+U*U)>L&&I($)}(a.x!==B.xSnapped||a.y!==B.ySnapped)&&l&&f&&(u=ug($.sourceEvent,d),j(B))}}).on("end",$=>{if(!(!f||h)&&(c=!1,f=!1,cancelAnimationFrame(i),l.size>0)){const{nodeLookup:F,updateNodePositions:D,onNodeDragStop:V,onSelectionDragStop:W}=t();if(m&&(D(l,!1),m=!1),s||V||!C&&W){const[L,z]=AJ({nodeId:C,dragItems:l,nodeLookup:F,dragging:!1});s?.($.sourceEvent,l,L,z),V?.($.sourceEvent,L,z),C||W?.($.sourceEvent,z)}}}).filter($=>{const F=$.target;return!$.button&&(!w||!D8e(F,`.${w}`,k))&&(!S||D8e(F,S,k))});p.call(R)}function b(){p?.on(".drag",null)}return{update:y,destroy:b}}function iVn(e,t,n){const r=[],s={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const a of t.values())eM(s,yT(a))>0&&r.push(a);return r}const oVn=250;function lVn(e,t,n,r){let s=[],a=1/0;const i=iVn(e,n,t+oVn);for(const l of i){const c=[...l.internals.handleBounds?.source??[],...l.internals.handleBounds?.target??[]];for(const u of c){if(r.nodeId===u.nodeId&&r.type===u.type&&r.id===u.id)continue;const{x:d,y:f}=IO(l,u,u.position,!0),p=Math.sqrt(Math.pow(d-e.x,2)+Math.pow(f-e.y,2));p>t||(p<a?(s=[{...u,x:d,y:f}],a=p):p===a&&s.push({...u,x:d,y:f}))}}if(!s.length)return null;if(s.length>1){const l=r.type==="source"?"target":"source";return s.find(c=>c.type===l)??s[0]}return s[0]}function o0t(e,t,n,r,s,a=!1){const i=r.get(e);if(!i)return null;const l=s==="strict"?i.internals.handleBounds?.[t]:[...i.internals.handleBounds?.source??[],...i.internals.handleBounds?.target??[]],c=(n?l?.find(u=>u.id===n):l?.[0])??null;return c&&a?{...c,...IO(i,c,c.position,!0)}:c}function l0t(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function cVn(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const c0t=()=>!0;function uVn(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:s,edgeUpdaterType:a,isTarget:i,domNode:l,nodeLookup:c,lib:u,autoPanOnConnect:d,flowId:f,panBy:p,cancelConnection:h,onConnectStart:m,onConnect:g,onConnectEnd:y,isValidConnection:b=c0t,onReconnectEnd:w,updateConnection:S,getTransform:k,getFromHandle:_,autoPanSpeed:C,dragThreshold:E=1,handleDomNode:j}){const N=Xxt(e.target);let I=0,R;const{x:$,y:F}=ug(e),D=l0t(a,j),V=l?.getBoundingClientRect();let W=!1;if(!V||!D)return;const L=o0t(s,D,r,c,t);if(!L)return;let z=ug(e,V),B=!1,M=null,G=!1,U=null;function P(){if(!d||!V)return;const[de,Y]=Zxt(z,V,C);p({x:de,y:Y}),I=requestAnimationFrame(P)}const q={...L,nodeId:s,type:D,position:L.position},Z=c.get(s);let te={inProgress:!0,isValid:null,from:IO(Z,q,nr.Left,!0),fromHandle:q,fromPosition:q.position,fromNode:Z,to:z,toHandle:null,toPosition:_8e[q.position],toNode:null,pointer:z};function J(){W=!0,S(te),m?.(e,{nodeId:s,handleId:r,handleType:D})}E===0&&J();function ee(de){if(!W){const{x:ve,y:ye}=ug(de),Se=ve-$,Ne=ye-F;if(!(Se*Se+Ne*Ne>E*E))return;J()}if(!_()||!q){ae(de);return}const Y=k();z=ug(de,V),R=lVn(uD(z,Y,!1,[1,1]),n,c,q),B||(P(),B=!0);const ne=u0t(de,{handle:R,connectionMode:t,fromNodeId:s,fromHandleId:r,fromType:i?"target":"source",isValidConnection:b,doc:N,lib:u,flowId:f,nodeLookup:c});U=ne.handleDomNode,M=ne.connection,G=cVn(!!R,ne.isValid);const ce=c.get(s),pe=ce?IO(ce,q,nr.Left,!0):te.from,le={...te,from:pe,isValid:G,to:ne.toHandle&&G?k7({x:ne.toHandle.x,y:ne.toHandle.y},Y):z,toHandle:ne.toHandle,toPosition:G&&ne.toHandle?ne.toHandle.position:_8e[q.position],toNode:ne.toHandle?c.get(ne.toHandle.nodeId):null,pointer:z};S(le),te=le}function ae(de){if(!("touches"in de&&de.touches.length>0)){if(W){(R||U)&&M&&G&&g?.(M);const{inProgress:Y,...ne}=te,ce={...ne,toPosition:te.toHandle?te.toPosition:null};y?.(de,ce),a&&w?.(de,ce)}h(),cancelAnimationFrame(I),B=!1,G=!1,M=null,U=null,N.removeEventListener("mousemove",ee),N.removeEventListener("mouseup",ae),N.removeEventListener("touchmove",ee),N.removeEventListener("touchend",ae)}}N.addEventListener("mousemove",ee),N.addEventListener("mouseup",ae),N.addEventListener("touchmove",ee),N.addEventListener("touchend",ae)}function u0t(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:s,fromType:a,doc:i,lib:l,flowId:c,isValidConnection:u=c0t,nodeLookup:d}){const f=a==="target",p=t?i.querySelector(`.${l}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:h,y:m}=ug(e),g=i.elementFromPoint(h,m),y=g?.classList.contains(`${l}-flow__handle`)?g:p,b={handleDomNode:y,isValid:!1,connection:null,toHandle:null};if(y){const w=l0t(void 0,y),S=y.getAttribute("data-nodeid"),k=y.getAttribute("data-handleid"),_=y.classList.contains("connectable"),C=y.classList.contains("connectableend");if(!S||!w)return b;const E={source:f?S:r,sourceHandle:f?k:s,target:f?r:S,targetHandle:f?s:k};b.connection=E;const N=_&&C&&(n===gT.Strict?f&&w==="source"||!f&&w==="target":S!==r||k!==s);b.isValid=N&&u(E),b.toHandle=o0t(S,w,k,d,n,!0)}return b}const bhe={onPointerDown:uVn,isValid:u0t};function dVn({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){const s=fp(e);function a({translateExtent:l,width:c,height:u,zoomStep:d=1,pannable:f=!0,zoomable:p=!0,inversePan:h=!1}){const m=S=>{if(S.sourceEvent.type!=="wheel"||!t)return;const k=n(),_=S.sourceEvent.ctrlKey&&tM()?10:1,C=-S.sourceEvent.deltaY*(S.sourceEvent.deltaMode===1?.05:S.sourceEvent.deltaMode?1:.002)*d,E=k[2]*Math.pow(2,C*_);t.scaleTo(E)};let g=[0,0];const y=S=>{(S.sourceEvent.type==="mousedown"||S.sourceEvent.type==="touchstart")&&(g=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY])},b=S=>{const k=n();if(S.sourceEvent.type!=="mousemove"&&S.sourceEvent.type!=="touchmove"||!t)return;const _=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY],C=[_[0]-g[0],_[1]-g[1]];g=_;const E=r()*Math.max(k[2],Math.log(k[2]))*(h?-1:1),j={x:k[0]-C[0]*E,y:k[1]-C[1]*E},N=[[0,0],[c,u]];t.setViewportConstrained({x:j.x,y:j.y,zoom:k[2]},N,l)},w=Fxt().on("start",y).on("zoom",f?b:null).on("zoom.wheel",p?m:null);s.call(w,{})}function i(){s.on("zoom",null)}return{update:a,destroy:i,pointer:Xm}}const SV=e=>({x:e.x,y:e.y,zoom:e.k}),RJ=({x:e,y:t,zoom:n})=>bV.translate(e,t).scale(n),zE=(e,t)=>e.target.closest(`.${t}`),d0t=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),fVn=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,PJ=(e,t=0,n=fVn,r=()=>{})=>{const s=typeof t=="number"&&t>0;return s||r(),s?e.transition().duration(t).ease(n).on("end",r):e},f0t=e=>{const t=e.ctrlKey&&tM()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function pVn({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:s,panOnScrollSpeed:a,zoomOnPinch:i,onPanZoomStart:l,onPanZoom:c,onPanZoomEnd:u}){return d=>{if(zE(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const f=n.property("__zoom").k||1;if(d.ctrlKey&&i){const y=Xm(d),b=f0t(d),w=f*Math.pow(2,b);r.scaleTo(n,w,y,d);return}const p=d.deltaMode===1?20:1;let h=s===Bk.Vertical?0:d.deltaX*p,m=s===Bk.Horizontal?0:d.deltaY*p;!tM()&&d.shiftKey&&s!==Bk.Vertical&&(h=d.deltaY*p,m=0),r.translateBy(n,-(h/f)*a,-(m/f)*a,{internal:!0});const g=SV(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(c?.(d,g),e.panScrollTimeout=setTimeout(()=>{u?.(d,g),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,l?.(d,g))}}function hVn({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,s){const a=r.type==="wheel",i=!t&&a&&!r.ctrlKey,l=zE(r,e);if(r.ctrlKey&&a&&l&&r.preventDefault(),i||l)return null;r.preventDefault(),n.call(this,r,s)}}function mVn({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;const s=SV(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=s,r.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(r.sourceEvent,s)}}function gVn({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:s}){return a=>{e.usedRightMouseButton=!!(n&&d0t(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),s&&!a.sourceEvent?.internal&&s?.(a.sourceEvent,SV(a.transform))}}function vVn({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:s,onPaneContextMenu:a}){return i=>{if(!i.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&d0t(t,e.mouseButton??0)&&!e.usedRightMouseButton&&i.sourceEvent&&a(i.sourceEvent),e.usedRightMouseButton=!1,r(!1),s)){const l=SV(i.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s?.(i.sourceEvent,l)},n?150:0)}}}function yVn({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:s,zoomOnDoubleClick:a,userSelectionActive:i,noWheelClassName:l,noPanClassName:c,lib:u,connectionInProgress:d}){return f=>{const p=e||t,h=n&&f.ctrlKey,m=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&(zE(f,`${u}-flow__node`)||zE(f,`${u}-flow__edge`)))return!0;if(!r&&!p&&!s&&!a&&!n||i||d&&!m||zE(f,l)&&m||zE(f,c)&&(!m||s&&m&&!e)||!n&&f.ctrlKey&&m)return!1;if(!n&&f.type==="touchstart"&&f.touches?.length>1)return f.preventDefault(),!1;if(!p&&!s&&!h&&m||!r&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(r)&&!r.includes(f.button)&&f.type==="mousedown")return!1;const g=Array.isArray(r)&&r.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||m)&&g}}function bVn({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:s,onPanZoom:a,onPanZoomStart:i,onPanZoomEnd:l,onDraggingChange:c}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=Fxt().scaleExtent([t,n]).translateExtent(r),p=fp(e).call(f);w({x:s.x,y:s.y,zoom:vT(s.zoom,t,n)},[[0,0],[d.width,d.height]],r);const h=p.on("wheel.zoom"),m=p.on("dblclick.zoom");f.wheelDelta(f0t);function g(R,$){return p?new Promise(F=>{f?.interpolate($?.interpolate==="linear"?rx:L9).transform(PJ(p,$?.duration,$?.ease,()=>F(!0)),R)}):Promise.resolve(!1)}function y({noWheelClassName:R,noPanClassName:$,onPaneContextMenu:F,userSelectionActive:D,panOnScroll:V,panOnDrag:W,panOnScrollMode:L,panOnScrollSpeed:z,preventScrolling:B,zoomOnPinch:M,zoomOnScroll:G,zoomOnDoubleClick:U,zoomActivationKeyPressed:P,lib:q,onTransformChange:Z,connectionInProgress:X,paneClickDistance:te,selectionOnDrag:J}){D&&!u.isZoomingOrPanning&&b();const ee=V&&!P&&!D;f.clickDistance(J?1/0:!cg(te)||te<0?0:te);const ae=ee?pVn({zoomPanValues:u,noWheelClassName:R,d3Selection:p,d3Zoom:f,panOnScrollMode:L,panOnScrollSpeed:z,zoomOnPinch:M,onPanZoomStart:i,onPanZoom:a,onPanZoomEnd:l}):hVn({noWheelClassName:R,preventScrolling:B,d3ZoomHandler:h});if(p.on("wheel.zoom",ae,{passive:!1}),!D){const Y=mVn({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:i});f.on("start",Y);const ne=gVn({zoomPanValues:u,panOnDrag:W,onPaneContextMenu:!!F,onPanZoom:a,onTransformChange:Z});f.on("zoom",ne);const ce=vVn({zoomPanValues:u,panOnDrag:W,panOnScroll:V,onPaneContextMenu:F,onPanZoomEnd:l,onDraggingChange:c});f.on("end",ce)}const de=yVn({zoomActivationKeyPressed:P,panOnDrag:W,zoomOnScroll:G,panOnScroll:V,zoomOnDoubleClick:U,zoomOnPinch:M,userSelectionActive:D,noPanClassName:$,noWheelClassName:R,lib:q,connectionInProgress:X});f.filter(de),U?p.on("dblclick.zoom",m):p.on("dblclick.zoom",null)}function b(){f.on("zoom",null)}async function w(R,$,F){const D=RJ(R),V=f?.constrain()(D,$,F);return V&&await g(V),new Promise(W=>W(V))}async function S(R,$){const F=RJ(R);return await g(F,$),new Promise(D=>D(F))}function k(R){if(p){const $=RJ(R),F=p.property("__zoom");(F.k!==R.zoom||F.x!==R.x||F.y!==R.y)&&f?.transform(p,$,null,{sync:!0})}}function _(){const R=p?Lxt(p.node()):{x:0,y:0,k:1};return{x:R.x,y:R.y,zoom:R.k}}function C(R,$){return p?new Promise(F=>{f?.interpolate($?.interpolate==="linear"?rx:L9).scaleTo(PJ(p,$?.duration,$?.ease,()=>F(!0)),R)}):Promise.resolve(!1)}function E(R,$){return p?new Promise(F=>{f?.interpolate($?.interpolate==="linear"?rx:L9).scaleBy(PJ(p,$?.duration,$?.ease,()=>F(!0)),R)}):Promise.resolve(!1)}function j(R){f?.scaleExtent(R)}function N(R){f?.translateExtent(R)}function I(R){const $=!cg(R)||R<0?0:R;f?.clickDistance($)}return{update:y,destroy:b,setViewport:S,setViewportConstrained:w,getViewport:_,scaleTo:C,scaleBy:E,setScaleExtent:j,setTranslateExtent:N,syncViewport:k,setClickDistance:I}}var xT;(function(e){e.Line="line",e.Handle="handle"})(xT||(xT={}));function xVn({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:s,affectsY:a}){const i=e-t,l=n-r,c=[i>0?1:i<0?-1:0,l>0?1:l<0?-1:0];return i&&s&&(c[0]=c[0]*-1),l&&a&&(c[1]=c[1]*-1),c}function L8e(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),r=e.includes("left"),s=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:r,affectsY:s}}function D0(e,t){return Math.max(0,t-e)}function L0(e,t){return Math.max(0,e-t)}function x6(e,t,n){return Math.max(0,t-e,e-n)}function F8e(e,t){return e?!t:t}function wVn(e,t,n,r,s,a,i,l){let{affectsX:c,affectsY:u}=t;const{isHorizontal:d,isVertical:f}=t,p=d&&f,{xSnapped:h,ySnapped:m}=n,{minWidth:g,maxWidth:y,minHeight:b,maxHeight:w}=r,{x:S,y:k,width:_,height:C,aspectRatio:E}=e;let j=Math.floor(d?h-e.pointerX:0),N=Math.floor(f?m-e.pointerY:0);const I=_+(c?-j:j),R=C+(u?-N:N),$=-a[0]*_,F=-a[1]*C;let D=x6(I,g,y),V=x6(R,b,w);if(i){let z=0,B=0;c&&j<0?z=D0(S+j+$,i[0][0]):!c&&j>0&&(z=L0(S+I+$,i[1][0])),u&&N<0?B=D0(k+N+F,i[0][1]):!u&&N>0&&(B=L0(k+R+F,i[1][1])),D=Math.max(D,z),V=Math.max(V,B)}if(l){let z=0,B=0;c&&j>0?z=L0(S+j,l[0][0]):!c&&j<0&&(z=D0(S+I,l[1][0])),u&&N>0?B=L0(k+N,l[0][1]):!u&&N<0&&(B=D0(k+R,l[1][1])),D=Math.max(D,z),V=Math.max(V,B)}if(s){if(d){const z=x6(I/E,b,w)*E;if(D=Math.max(D,z),i){let B=0;!c&&!u||c&&!u&&p?B=L0(k+F+I/E,i[1][1])*E:B=D0(k+F+(c?j:-j)/E,i[0][1])*E,D=Math.max(D,B)}if(l){let B=0;!c&&!u||c&&!u&&p?B=D0(k+I/E,l[1][1])*E:B=L0(k+(c?j:-j)/E,l[0][1])*E,D=Math.max(D,B)}}if(f){const z=x6(R*E,g,y)/E;if(V=Math.max(V,z),i){let B=0;!c&&!u||u&&!c&&p?B=L0(S+R*E+$,i[1][0])/E:B=D0(S+(u?N:-N)*E+$,i[0][0])/E,V=Math.max(V,B)}if(l){let B=0;!c&&!u||u&&!c&&p?B=D0(S+R*E,l[1][0])/E:B=L0(S+(u?N:-N)*E,l[0][0])/E,V=Math.max(V,B)}}}N=N+(N<0?V:-V),j=j+(j<0?D:-D),s&&(p?I>R*E?N=(F8e(c,u)?-j:j)/E:j=(F8e(c,u)?-N:N)*E:d?(N=j/E,u=c):(j=N*E,c=u));const W=c?S+j:S,L=u?k+N:k;return{width:_+(c?-j:j),height:C+(u?-N:N),x:a[0]*j*(c?-1:1)+W,y:a[1]*N*(u?-1:1)+L}}const p0t={width:0,height:0,x:0,y:0},SVn={...p0t,pointerX:0,pointerY:0,aspectRatio:1};function kVn(e){return[[0,0],[e.measured.width,e.measured.height]]}function OVn(e,t,n){const r=t.position.x+e.position.x,s=t.position.y+e.position.y,a=e.measured.width??0,i=e.measured.height??0,l=n[0]*a,c=n[1]*i;return[[r-l,s-c],[r+a-l,s+i-c]]}function _Vn({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:s}){const a=fp(e);let i={controlDirection:L8e("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function l({controlPosition:u,boundaries:d,keepAspectRatio:f,resizeDirection:p,onResizeStart:h,onResize:m,onResizeEnd:g,shouldResize:y}){let b={...p0t},w={...SVn};i={boundaries:d,resizeDirection:p,keepAspectRatio:f,controlDirection:L8e(u)};let S,k=null,_=[],C,E,j,N=!1;const I=Oxt().on("start",R=>{const{nodeLookup:$,transform:F,snapGrid:D,snapToGrid:V,nodeOrigin:W,paneDomNode:L}=n();if(S=$.get(t),!S)return;k=L?.getBoundingClientRect()??null;const{xSnapped:z,ySnapped:B}=D2(R.sourceEvent,{transform:F,snapGrid:D,snapToGrid:V,containerBounds:k});b={width:S.measured.width??0,height:S.measured.height??0,x:S.position.x??0,y:S.position.y??0},w={...b,pointerX:z,pointerY:B,aspectRatio:b.width/b.height},C=void 0,S.parentId&&(S.extent==="parent"||S.expandParent)&&(C=$.get(S.parentId),E=C&&S.extent==="parent"?kVn(C):void 0),_=[],j=void 0;for(const[M,G]of $)if(G.parentId===t&&(_.push({id:M,position:{...G.position},extent:G.extent}),G.extent==="parent"||G.expandParent)){const U=OVn(G,S,G.origin??W);j?j=[[Math.min(U[0][0],j[0][0]),Math.min(U[0][1],j[0][1])],[Math.max(U[1][0],j[1][0]),Math.max(U[1][1],j[1][1])]]:j=U}h?.(R,{...b})}).on("drag",R=>{const{transform:$,snapGrid:F,snapToGrid:D,nodeOrigin:V}=n(),W=D2(R.sourceEvent,{transform:$,snapGrid:F,snapToGrid:D,containerBounds:k}),L=[];if(!S)return;const{x:z,y:B,width:M,height:G}=b,U={},P=S.origin??V,{width:q,height:Z,x:X,y:te}=wVn(w,i.controlDirection,W,i.boundaries,i.keepAspectRatio,P,E,j),J=q!==M,ee=Z!==G,ae=X!==z&&J,de=te!==B&ⅇif(!ae&&!de&&!J&&!ee)return;if((ae||de||P[0]===1||P[1]===1)&&(U.x=ae?X:b.x,U.y=de?te:b.y,b.x=U.x,b.y=U.y,_.length>0)){const pe=X-z,le=te-B;for(const ve of _)ve.position={x:ve.position.x-pe+P[0]*(q-M),y:ve.position.y-le+P[1]*(Z-G)},L.push(ve)}if((J||ee)&&(U.width=J&&(!i.resizeDirection||i.resizeDirection==="horizontal")?q:b.width,U.height=ee&&(!i.resizeDirection||i.resizeDirection==="vertical")?Z:b.height,b.width=U.width,b.height=U.height),C&&S.expandParent){const pe=P[0]*(U.width??0);U.x&&U.x<pe&&(b.x=pe,w.x=w.x-(U.x-pe));const le=P[1]*(U.height??0);U.y&&U.y<le&&(b.y=le,w.y=w.y-(U.y-le))}const Y=xVn({width:b.width,prevWidth:M,height:b.height,prevHeight:G,affectsX:i.controlDirection.affectsX,affectsY:i.controlDirection.affectsY}),ne={...b,direction:Y};y?.(R,ne)!==!1&&(N=!0,m?.(R,ne),r(U,L))}).on("end",R=>{N&&(g?.(R,{...b}),s?.({...b}),N=!1)});a.call(I)}function c(){a.on(".drag",null)}return{update:l,destroy:c}}const CVn={},z8e=e=>{let t;const n=new Set,r=(d,f)=>{const p=typeof d=="function"?d(t):d;if(!Object.is(p,t)){const h=t;t=f??(typeof p!="object"||p===null)?p:Object.assign({},t,p),n.forEach(m=>m(t,h))}},s=()=>t,c={setState:r,getState:s,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{(CVn?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},u=t=e(r,s,c);return c},EVn=e=>e?z8e(e):z8e,{useDebugValue:jVn}=Le,{useSyncExternalStoreWithSelector:TVn}=nwn,NVn=e=>e;function h0t(e,t=NVn,n){const r=TVn(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return jVn(r),r}const B8e=(e,t)=>{const n=EVn(e),r=(s,a=t)=>h0t(n,s,a);return Object.assign(r,n),r},IVn=(e,t)=>e?B8e(e,t):B8e;function to(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,s]of e)if(!Object.is(s,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}const kV=v.createContext(null),AVn=kV.Provider,m0t=py.error001();function Us(e,t){const n=v.useContext(kV);if(n===null)throw new Error(m0t);return h0t(n,e,t)}function wo(){const e=v.useContext(kV);if(e===null)throw new Error(m0t);return v.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const U8e={display:"none"},RVn={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},g0t="react-flow__node-desc",v0t="react-flow__edge-desc",PVn="react-flow__aria-live",$Vn=e=>e.ariaLiveMessage,MVn=e=>e.ariaLabelConfig;function DVn({rfId:e}){const t=Us($Vn);return o.jsx("div",{id:`${PVn}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:RVn,children:t})}function LVn({rfId:e,disableKeyboardA11y:t}){const n=Us(MVn);return o.jsxs(o.Fragment,{children:[o.jsx("div",{id:`${g0t}-${e}`,style:U8e,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),o.jsx("div",{id:`${v0t}-${e}`,style:U8e,children:n["edge.a11yDescription.default"]}),!t&&o.jsx(DVn,{rfId:e})]})}const dD=v.forwardRef(({position:e="top-left",children:t,className:n,style:r,...s},a)=>{const i=`${e}`.split("-");return o.jsx("div",{className:Pl(["react-flow__panel",n,...i]),style:r,ref:a,...s,children:t})});dD.displayName="Panel";function FVn({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:o.jsx(dD,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:o.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const zVn=e=>{const t=[],n=[];for(const[,r]of e.nodeLookup)r.selected&&t.push(r.internals.userNode);for(const[,r]of e.edgeLookup)r.selected&&n.push(r);return{selectedNodes:t,selectedEdges:n}},w6=e=>e.id;function BVn(e,t){return to(e.selectedNodes.map(w6),t.selectedNodes.map(w6))&&to(e.selectedEdges.map(w6),t.selectedEdges.map(w6))}function UVn({onSelectionChange:e}){const t=wo(),{selectedNodes:n,selectedEdges:r}=Us(zVn,BVn);return v.useEffect(()=>{const s={nodes:n,edges:r};e?.(s),t.getState().onSelectionChangeHandlers.forEach(a=>a(s))},[n,r,e]),null}const qVn=e=>!!e.onSelectionChangeHandlers;function VVn({onSelectionChange:e}){const t=Us(qVn);return e||t?o.jsx(UVn,{onSelectionChange:e}):null}const xhe=typeof window<"u"?v.useLayoutEffect:v.useEffect,y0t=[0,0],HVn={x:0,y:0,zoom:1},WVn=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],q8e=[...WVn,"rfId"],ZVn=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),V8e={translateExtent:X$,nodeOrigin:y0t,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function GVn(e){const{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:s,setTranslateExtent:a,setNodeExtent:i,reset:l,setDefaultNodesAndEdges:c}=Us(ZVn,to),u=wo();xhe(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=V8e,l()}),[]);const d=v.useRef(V8e);return xhe(()=>{for(const f of q8e){const p=e[f],h=d.current[f];p!==h&&(typeof e[f]>"u"||(f==="nodes"?t(p):f==="edges"?n(p):f==="minZoom"?r(p):f==="maxZoom"?s(p):f==="translateExtent"?a(p):f==="nodeExtent"?i(p):f==="ariaLabelConfig"?u.setState({ariaLabelConfig:Dqn(p)}):f==="fitView"?u.setState({fitViewQueued:p}):f==="fitViewOptions"?u.setState({fitViewOptions:p}):u.setState({[f]:p})))}d.current=e},q8e.map(f=>e[f])),null}function H8e(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function QVn(e){const[t,n]=v.useState(e==="system"?null:e);return v.useEffect(()=>{if(e!=="system"){n(e);return}const r=H8e(),s=()=>n(r?.matches?"dark":"light");return s(),r?.addEventListener("change",s),()=>{r?.removeEventListener("change",s)}},[e]),t!==null?t:H8e()?.matches?"dark":"light"}const W8e=typeof document<"u"?document:null;function nM(e=null,t={target:W8e,actInsideInputWithModifier:!0}){const[n,r]=v.useState(!1),s=v.useRef(!1),a=v.useRef(new Set([])),[i,l]=v.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.replace("+",`
|
|
336
|
+
`:r=="r"?"\r":r=="t"?" ":"\\")}eq(t){return this.search==t.search&&this.replace==t.replace&&this.caseSensitive==t.caseSensitive&&this.regexp==t.regexp&&this.wholeWord==t.wholeWord&&this.test==t.test}create(){return this.regexp?new tFn(this):new K9n(this)}getCursor(t,n=0,r){let s=t.doc?t:os.create({doc:t});return r==null&&(r=s.doc.length),this.regexp?vE(this,s,n,r):gE(this,s,n,r)}}class Zbt{constructor(t){this.spec=t}}function Y9n(e,t,n){return(r,s,a,i)=>{if(n&&!n(r,s,a,i))return!1;let l=r>=i&&s<=i+a.length?a.slice(r-i,s-i):t.doc.sliceString(r,s);return e(l,t,r,s)}}function gE(e,t,n,r){let s;return e.wholeWord&&(s=X9n(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(s=Y9n(e.test,t,s)),new Sx(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:a=>a.toLowerCase(),s)}function X9n(e,t){return(n,r,s,a)=>((a>n||a+s.length<r)&&(a=Math.max(0,n-2),s=e.sliceString(a,Math.min(e.length,r+2))),(t(u7(s,n-a))!=fo.Word||t(d7(s,n-a))!=fo.Word)&&(t(d7(s,r-a))!=fo.Word||t(u7(s,r-a))!=fo.Word))}class K9n extends Zbt{constructor(t){super(t)}nextMatch(t,n,r){let s=gE(this.spec,t,r,t.doc.length).nextOverlapping();if(s.done){let a=Math.min(t.doc.length,n+this.spec.unquoted.length);s=gE(this.spec,t,0,a).nextOverlapping()}return s.done||s.value.from==n&&s.value.to==r?null:s.value}prevMatchInRange(t,n,r){for(let s=r;;){let a=Math.max(n,s-1e4-this.spec.unquoted.length),i=gE(this.spec,t,a,s),l=null;for(;!i.nextOverlapping().done;)l=i.value;if(l)return l;if(a==n)return null;s-=1e4}}prevMatch(t,n,r){let s=this.prevMatchInRange(t,0,n);return s||(s=this.prevMatchInRange(t,Math.max(0,r-this.spec.unquoted.length),t.doc.length)),s&&(s.from!=n||s.to!=r)?s:null}getReplacement(t){return this.spec.unquote(this.spec.replace)}matchAll(t,n){let r=gE(this.spec,t,0,t.doc.length),s=[];for(;!r.next().done;){if(s.length>=n)return null;s.push(r.value)}return s}highlight(t,n,r,s){let a=gE(this.spec,t,Math.max(0,n-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,t.doc.length));for(;!a.next().done;)s(a.value.from,a.value.to)}}function J9n(e,t,n){return(r,s,a)=>(!n||n(r,s,a))&&e(a[0],t,r,s)}function vE(e,t,n,r){let s;return e.wholeWord&&(s=eFn(t.charCategorizer(t.selection.main.head))),e.test&&(s=J9n(e.test,t,s)),new Vbt(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:s},n,r)}function u7(e,t){return e.slice(vc(e,t,!1),t)}function d7(e,t){return e.slice(t,vc(e,t))}function eFn(e){return(t,n,r)=>!r[0].length||(e(u7(r.input,r.index))!=fo.Word||e(d7(r.input,r.index))!=fo.Word)&&(e(d7(r.input,r.index+r[0].length))!=fo.Word||e(u7(r.input,r.index+r[0].length))!=fo.Word)}class tFn extends Zbt{nextMatch(t,n,r){let s=vE(this.spec,t,r,t.doc.length).next();return s.done&&(s=vE(this.spec,t,0,n).next()),s.done?null:s.value}prevMatchInRange(t,n,r){for(let s=1;;s++){let a=Math.max(n,r-s*1e4),i=vE(this.spec,t,a,r),l=null;for(;!i.next().done;)l=i.value;if(l&&(a==n||l.from>a+10))return l;if(a==n)return null}}prevMatch(t,n,r){return this.prevMatchInRange(t,0,n)||this.prevMatchInRange(t,r,t.doc.length)}getReplacement(t){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,r)=>{if(r=="&")return t.match[0];if(r=="$")return"$";for(let s=r.length;s>0;s--){let a=+r.slice(0,s);if(a>0&&a<t.match.length)return t.match[a]+r.slice(s)}return n})}matchAll(t,n){let r=vE(this.spec,t,0,t.doc.length),s=[];for(;!r.next().done;){if(s.length>=n)return null;s.push(r.value)}return s}highlight(t,n,r,s){let a=vE(this.spec,t,Math.max(0,n-250),Math.min(r+250,t.doc.length));for(;!a.next().done;)s(a.value.from,a.value.to)}}const V$=vr.define(),Gwe=vr.define(),Rw=ml.define({create(e){return new IK(ahe(e).create(),null)},update(e,t){for(let n of t.effects)n.is(V$)?e=new IK(n.value.create(),e.panel):n.is(Gwe)&&(e=new IK(e.query,n.value?Qwe:null));return e},provide:e=>P$.from(e,t=>t.panel)});class IK{constructor(t,n){this.query=t,this.panel=n}}const nFn=Cn.mark({class:"cm-searchMatch"}),rFn=Cn.mark({class:"cm-searchMatch cm-searchMatch-selected"}),sFn=yo.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(Rw))}update(e){let t=e.state.field(Rw);(t!=e.startState.field(Rw)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return Cn.none;let{view:n}=this,r=new xd;for(let s=0,a=n.visibleRanges,i=a.length;s<i;s++){let{from:l,to:c}=a[s];for(;s<i-1&&c>a[s+1].from-500;)c=a[++s].to;e.highlight(n.state,l,c,(u,d)=>{let f=n.state.selection.ranges.some(p=>p.from==u&&p.to==d);r.add(u,d,f?rFn:nFn)})}return r.finish()}},{decorations:e=>e.decorations});function sD(e){return t=>{let n=t.state.field(Rw,!1);return n&&n.query.spec.valid?e(t,n):Ybt(t)}}const f7=sD((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let s=vt.single(r.from,r.to),a=e.state.facet(DN);return e.dispatch({selection:s,effects:[Ywe(e,r),a.scrollToMatch(s.main,e)],userEvent:"select.search"}),Qbt(e),!0}),p7=sD((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,s=t.prevMatch(n,r,r);if(!s)return!1;let a=vt.single(s.from,s.to),i=e.state.facet(DN);return e.dispatch({selection:a,effects:[Ywe(e,s),i.scrollToMatch(a.main,e)],userEvent:"select.search"}),Qbt(e),!0}),aFn=sD((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:vt.create(n.map(r=>vt.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),iFn=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:s}=n.main,a=[],i=0;for(let l=new Sx(e.doc,e.sliceDoc(r,s));!l.next().done;){if(a.length>1e3)return!1;l.value.from==r&&(i=a.length),a.push(vt.range(l.value.from,l.value.to))}return t(e.update({selection:vt.create(a,i),userEvent:"select.search.matches"})),!0},e6e=sD((e,{query:t})=>{let{state:n}=e,{from:r,to:s}=n.selection.main;if(n.readOnly)return!1;let a=t.nextMatch(n,r,r);if(!a)return!1;let i=a,l=[],c,u,d=[];i.precise?i.from==r&&i.to==s&&(u=n.toText(t.getReplacement(i)),l.push({from:i.from,to:i.to,insert:u}),d.push(It.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+"."))):i=t.nextMatch(n,i.from,i.to);let f=e.state.changes(l);return i&&(c=vt.single(i.from,i.to).map(f),d.push(Ywe(e,i)),d.push(n.facet(DN).scrollToMatch(c.main,e))),e.dispatch({changes:f,selection:c,effects:d,userEvent:"input.replace"}),!0}),oFn=sD((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let s of t.matchAll(e.state,1e9)){let{from:a,to:i,precise:l}=s;l&&n.push({from:a,to:i,insert:t.getReplacement(s)})}if(!n.length)return!1;let r=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:It.announce.of(r),userEvent:"input.replace.all"}),!0});function Qwe(e){return e.state.facet(DN).createPanel(e)}function ahe(e,t){var n,r,s,a,i;let l=e.selection.main,c=l.empty||l.to>l.from+100?"":e.sliceDoc(l.from,l.to);if(t&&!c)return t;let u=e.facet(DN);return new Wbt({search:((n=t?.literal)!==null&&n!==void 0?n:u.literal)?c:c.replace(/\n/g,"\\n"),caseSensitive:(r=t?.caseSensitive)!==null&&r!==void 0?r:u.caseSensitive,literal:(s=t?.literal)!==null&&s!==void 0?s:u.literal,regexp:(a=t?.regexp)!==null&&a!==void 0?a:u.regexp,wholeWord:(i=t?.wholeWord)!==null&&i!==void 0?i:u.wholeWord})}function Gbt(e){let t=dwe(e,Qwe);return t&&t.dom.querySelector("[main-field]")}function Qbt(e){let t=Gbt(e);t&&t==e.root.activeElement&&t.select()}const Ybt=e=>{let t=e.state.field(Rw,!1);if(t&&t.panel){let n=Gbt(e);if(n&&n!=e.root.activeElement){let r=ahe(e.state,t.query.spec);r.valid&&e.dispatch({effects:V$.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[Gwe.of(!0),t?V$.of(ahe(e.state,t.query.spec)):vr.appendConfig.of(dFn)]});return!0},Xbt=e=>{let t=e.state.field(Rw,!1);if(!t||!t.panel)return!1;let n=dwe(e,Qwe);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:Gwe.of(!1)}),!0},lFn=[{key:"Mod-f",run:Ybt,scope:"editor search-panel"},{key:"F3",run:f7,shift:p7,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:f7,shift:p7,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Xbt,scope:"editor search-panel"},{key:"Mod-Shift-l",run:iFn},{key:"Mod-Alt-g",run:L9n},{key:"Mod-d",run:Q9n,preventDefault:!0}];class cFn{constructor(t){this.view=t;let n=this.query=t.state.field(Rw).query.spec;this.commit=this.commit.bind(this),this.searchField=ii("input",{value:n.search,placeholder:Hf(t,"Find"),"aria-label":Hf(t,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=ii("input",{value:n.replace,placeholder:Hf(t,"Replace"),"aria-label":Hf(t,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=ii("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=ii("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=ii("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(s,a,i){return ii("button",{class:"cm-button",name:s,onclick:a,type:"button"},i)}this.dom=ii("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,r("next",()=>f7(t),[Hf(t,"next")]),r("prev",()=>p7(t),[Hf(t,"previous")]),r("select",()=>aFn(t),[Hf(t,"all")]),ii("label",null,[this.caseField,Hf(t,"match case")]),ii("label",null,[this.reField,Hf(t,"regexp")]),ii("label",null,[this.wordField,Hf(t,"by word")]),...t.state.readOnly?[]:[ii("br"),this.replaceField,r("replace",()=>e6e(t),[Hf(t,"replace")]),r("replaceAll",()=>oFn(t),[Hf(t,"replace all")])],ii("button",{name:"close",onclick:()=>Xbt(t),"aria-label":Hf(t,"close"),type:"button"},["×"])])}commit(){let t=new Wbt({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});t.eq(this.query)||(this.query=t,this.view.dispatch({effects:V$.of(t)}))}keydown(t){T3n(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?p7:f7)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),e6e(this.view))}update(t){for(let n of t.transactions)for(let r of n.effects)r.is(V$)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(t){this.query=t,this.searchField.value=t.search,this.replaceField.value=t.replace,this.caseField.checked=t.caseSensitive,this.reField.checked=t.regexp,this.wordField.checked=t.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(DN).top}}function Hf(e,t){return e.state.phrase(t)}const d6=30,f6=/[\s\.,:;?!]/;function Ywe(e,{from:t,to:n}){let r=e.state.doc.lineAt(t),s=e.state.doc.lineAt(n).to,a=Math.max(r.from,t-d6),i=Math.min(s,n+d6),l=e.state.sliceDoc(a,i);if(a!=r.from){for(let c=0;c<d6;c++)if(!f6.test(l[c+1])&&f6.test(l[c])){l=l.slice(c);break}}if(i!=s){for(let c=l.length-1;c>l.length-d6;c--)if(!f6.test(l[c-1])&&f6.test(l[c])){l=l.slice(0,c);break}}return It.announce.of(`${e.state.phrase("current match")}. ${l} ${e.state.phrase("on line")} ${r.number}.`)}const uFn=It.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),dFn=[Rw,Pg.low(sFn),uFn];class t6e{constructor(t,n,r){this.from=t,this.to=n,this.diagnostic=r}}class ck{constructor(t,n,r){this.diagnostics=t,this.panel=n,this.selected=r}static init(t,n,r){let s=r.facet(H$).markerFilter;s&&(t=s(t,r));let a=t.slice().sort((d,f)=>d.from-f.from||d.to-f.to),i=new xd,l=[],c=0;for(let d=0;;){let f=d==a.length?null:a[d];if(!f&&!l.length)break;let p,h;for(l.length?(p=c,h=l.reduce((g,y)=>Math.min(g,y.to),f&&f.from>p?f.from:1e8)):(p=f.from,h=f.to,l.push(f),d++);d<a.length;){let g=a[d];if(g.from==p&&(g.to>g.from||g.to==p))l.push(g),d++,h=Math.min(g.to,h);else{h=Math.min(g.from,h);break}}let m=OFn(l);if(l.some(g=>g.from==g.to||g.from==g.to-1&&r.doc.lineAt(g.from).to==g.from))i.add(p,p,Cn.widget({widget:new xFn(m),diagnostics:l.slice()}));else{let g=l.reduce((y,b)=>b.markClass?y+" "+b.markClass:y,"");i.add(p,h,Cn.mark({class:"cm-lintRange cm-lintRange-"+m+g,diagnostics:l.slice(),inclusiveEnd:l.some(y=>y.to>h)}))}c=h;for(let g=0;g<l.length;g++)l[g].to<=c&&l.splice(g--,1)}let u=i.finish();return new ck(u,n,pT(u))}}function pT(e,t=null,n=0){let r=null;return e.between(n,1e9,(s,a,{spec:i})=>{if(!(t&&i.diagnostics.indexOf(t)<0))if(!r)r=new t6e(s,a,t||i.diagnostics[0]);else{if(i.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new t6e(r.from,a,r.diagnostic)}}),r}function fFn(e,t){let n=t.pos,r=t.end||n,s=e.state.facet(H$).hideOn(e,n,r);if(s!=null)return s;let a=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(i=>i.is(Kbt))||e.changes.touchesRange(a.from,Math.max(a.to,r)))}function pFn(e,t){return e.field(gp,!1)?t:t.concat(vr.appendConfig.of(_Fn))}const Kbt=vr.define(),Xwe=vr.define(),Jbt=vr.define(),gp=ml.define({create(){return new ck(Cn.none,null,null)},update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),r=null,s=e.panel;if(e.selected){let a=t.changes.mapPos(e.selected.from,1);r=pT(n,e.selected.diagnostic,a)||pT(n,null,a)}!n.size&&s&&t.state.facet(H$).autoPanel&&(s=null),e=new ck(n,s,r)}for(let n of t.effects)if(n.is(Kbt)){let r=t.state.facet(H$).autoPanel?n.value.length?W$.open:null:e.panel;e=ck.init(n.value,r,t.state)}else n.is(Xwe)?e=new ck(e.diagnostics,n.value?W$.open:null,e.selected):n.is(Jbt)&&(e=new ck(e.diagnostics,e.panel,n.value));return e},provide:e=>[P$.from(e,t=>t.panel),It.decorations.from(e,t=>t.diagnostics)]}),hFn=Cn.mark({class:"cm-lintRange cm-lintRange-active"});function mFn(e,t,n){let{diagnostics:r}=e.state.field(gp),s,a=-1,i=-1;r.between(t-(n<0?1:0),t+(n>0?1:0),(c,u,{spec:d})=>{if(t>=c&&t<=u&&(c==u||(t>c||n>0)&&(t<u||n<0)))return s=d.diagnostics,a=c,i=u,!1});let l=e.state.facet(H$).tooltipFilter;return s&&l&&(s=l(s,e.state)),s?{pos:a,end:i,above:e.state.doc.lineAt(a).to<i,create(){return{dom:gFn(e,s)}}}:null}function gFn(e,t){return ii("ul",{class:"cm-tooltip-lint"},t.map(n=>txt(e,n,!1)))}const vFn=e=>{let t=e.state.field(gp,!1);(!t||!t.panel)&&e.dispatch({effects:pFn(e.state,[Xwe.of(!0)])});let n=dwe(e,W$.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},n6e=e=>{let t=e.state.field(gp,!1);return!t||!t.panel?!1:(e.dispatch({effects:Xwe.of(!1)}),!0)},yFn=e=>{let t=e.state.field(gp,!1);if(!t)return!1;let n=e.state.selection.main,r=t.diagnostics.iter(n.to+1);return!r.value&&(r=t.diagnostics.iter(0),!r.value||r.from==n.from&&r.to==n.to)?!1:(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},bFn=[{key:"Mod-Shift-m",run:vFn,preventDefault:!0},{key:"F8",run:yFn}],H$=On.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...Ry(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:r6e,tooltipFilter:r6e,needsRefresh:(t,n)=>t?n?r=>t(r)||n(r):t:n,hideOn:(t,n)=>t?n?(r,s,a)=>t(r,s,a)||n(r,s,a):t:n,autoPanel:(t,n)=>t||n})}}});function r6e(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function ext(e){let t=[];if(e)e:for(let{name:n}of e){for(let r=0;r<n.length;r++){let s=n[r];if(/[a-zA-Z]/.test(s)&&!t.some(a=>a.toLowerCase()==s.toLowerCase())){t.push(s);continue e}}t.push("")}return t}function txt(e,t,n){var r;let s=n?ext(t.actions):[];return ii("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},ii("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),(r=t.actions)===null||r===void 0?void 0:r.map((a,i)=>{let l=!1,c=h=>{if(h.preventDefault(),l)return;l=!0;let m=pT(e.state.field(gp).diagnostics,t);m&&a.apply(e,m.from,m.to)},{name:u}=a,d=s[i]?u.indexOf(s[i]):-1,f=d<0?u:[u.slice(0,d),ii("u",u.slice(d,d+1)),u.slice(d+1)],p=a.markClass?" "+a.markClass:"";return ii("button",{type:"button",class:"cm-diagnosticAction"+p,onclick:c,onmousedown:c,"aria-label":` Action: ${u}${d<0?"":` (access key "${s[i]})"`}.`},f)}),t.source&&ii("div",{class:"cm-diagnosticSource"},t.source))}class xFn extends Wp{constructor(t){super(),this.sev=t}eq(t){return t.sev==this.sev}toDOM(){return ii("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class s6e{constructor(t,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=txt(t,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class W${constructor(t){this.view=t,this.items=[];let n=s=>{if(s.keyCode==27)n6e(this.view),this.view.focus();else if(s.keyCode==38||s.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(s.keyCode==40||s.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(s.keyCode==36)this.moveSelection(0);else if(s.keyCode==35)this.moveSelection(this.items.length-1);else if(s.keyCode==13)this.view.focus();else if(s.keyCode>=65&&s.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:a}=this.items[this.selectedIndex],i=ext(a.actions);for(let l=0;l<i.length;l++)if(i[l].toUpperCase().charCodeAt(0)==s.keyCode){let c=pT(this.view.state.field(gp).diagnostics,a);c&&a.actions[l].apply(t,c.from,c.to)}}else return;s.preventDefault()},r=s=>{for(let a=0;a<this.items.length;a++)this.items[a].dom.contains(s.target)&&this.moveSelection(a)};this.list=ii("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:r}),this.dom=ii("div",{class:"cm-panel-lint"},this.list,ii("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>n6e(this.view)},"×")),this.update()}get selectedIndex(){let t=this.view.state.field(gp).selected;if(!t)return-1;for(let n=0;n<this.items.length;n++)if(this.items[n].diagnostic==t.diagnostic)return n;return-1}update(){let{diagnostics:t,selected:n}=this.view.state.field(gp),r=0,s=!1,a=null,i=new Set;for(t.between(0,this.view.state.doc.length,(l,c,{spec:u})=>{for(let d of u.diagnostics){if(i.has(d))continue;i.add(d);let f=-1,p;for(let h=r;h<this.items.length;h++)if(this.items[h].diagnostic==d){f=h;break}f<0?(p=new s6e(this.view,d),this.items.splice(r,0,p),s=!0):(p=this.items[f],f>r&&(this.items.splice(r,f-r),s=!0)),n&&p.diagnostic==n.diagnostic?p.dom.hasAttribute("aria-selected")||(p.dom.setAttribute("aria-selected","true"),a=p):p.dom.hasAttribute("aria-selected")&&p.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)s=!0,this.items.pop();this.items.length==0&&(this.items.push(new s6e(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),s=!0),a?(this.list.setAttribute("aria-activedescendant",a.id),this.view.requestMeasure({key:this,read:()=>({sel:a.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:l,panel:c})=>{let u=c.height/this.list.offsetHeight;l.top<c.top?this.list.scrollTop-=(c.top-l.top)/u:l.bottom>c.bottom&&(this.list.scrollTop+=(l.bottom-c.bottom)/u)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let t=this.list.firstChild;function n(){let r=t;t=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;t!=r.dom;)n();t=r.dom.nextSibling}else this.list.insertBefore(r.dom,t);for(;t;)n()}moveSelection(t){if(this.selectedIndex<0)return;let n=this.view.state.field(gp),r=pT(n.diagnostics,this.items[t].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:Jbt.of(r)})}static open(t){return new W$(t)}}function wFn(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}function p6(e){return wFn(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const SFn=It.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:p6("#d11")},".cm-lintRange-warning":{backgroundImage:p6("orange")},".cm-lintRange-info":{backgroundImage:p6("#999")},".cm-lintRange-hint":{backgroundImage:p6("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function kFn(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function OFn(e){let t="hint",n=1;for(let r of e){let s=kFn(r.severity);s>n&&(n=s,t=r.severity)}return t}const _Fn=[gp,It.decorations.compute([gp],e=>{let{selected:t,panel:n}=e.field(gp);return!t||!n||t.from==t.to?Cn.none:Cn.set([hFn.range(t.from,t.to)])}),vDn(mFn,{hideOn:fFn}),SFn];var a6e=function(t){t===void 0&&(t={});var n=t,r=n.crosshairCursor,s=r===void 0?!1:r,a=[];t.closeBracketsKeymap!==!1&&(a=a.concat(h5n)),t.defaultKeymap!==!1&&(a=a.concat($9n)),t.searchKeymap!==!1&&(a=a.concat(lFn)),t.historyKeymap!==!1&&(a=a.concat(U8n)),t.foldKeymap!==!1&&(a=a.concat(JDn)),t.completionKeymap!==!1&&(a=a.concat(Qvt)),t.lintKeymap!==!1&&(a=a.concat(bFn));var i=[];return t.lineNumbers!==!1&&i.push(TDn()),t.highlightActiveLineGutter!==!1&&i.push(ADn()),t.highlightSpecialChars!==!1&&i.push(H3n()),t.history!==!1&&i.push(R8n()),t.foldGutter!==!1&&i.push(r4n()),t.drawSelection!==!1&&i.push($3n()),t.dropCursor!==!1&&i.push(z3n()),t.allowMultipleSelections!==!1&&i.push(os.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&i.push(HDn()),t.syntaxHighlighting!==!1&&i.push(F1(o4n,{fallback:!0})),t.bracketMatching!==!1&&i.push(h4n()),t.closeBrackets!==!1&&i.push(u5n()),t.autocompletion!==!1&&i.push(Gvt()),t.rectangularSelection!==!1&&i.push(aDn()),s!==!1&&i.push(lDn()),t.highlightActiveLine!==!1&&i.push(X3n()),t.highlightSelectionMatches!==!1&&i.push(B9n()),t.tabSize&&typeof t.tabSize=="number"&&i.push(RN.of(" ".repeat(t.tabSize))),i.concat([AN.of(a.flat())]).filter(Boolean)};const CFn="#e5c07b",i6e="#e06c75",EFn="#56b6c2",jFn="#ffffff",M9="#abb2bf",ihe="#7d8799",TFn="#61afef",NFn="#98c379",o6e="#d19a66",IFn="#c678dd",AFn="#21252b",l6e="#2c313a",c6e="#282c34",AK="#353a42",RFn="#3E4451",u6e="#528bff",PFn=It.theme({"&":{color:M9,backgroundColor:c6e},".cm-content":{caretColor:u6e},".cm-cursor, .cm-dropCursor":{borderLeftColor:u6e},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:RFn},".cm-panels":{backgroundColor:AFn,color:M9},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:c6e,color:ihe,border:"none"},".cm-activeLineGutter":{backgroundColor:l6e},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:AK},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:AK,borderBottomColor:AK},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:l6e,color:M9}}},{dark:!0}),$Fn=$g.define([{tag:fe.keyword,color:IFn},{tag:[fe.name,fe.deleted,fe.character,fe.propertyName,fe.macroName],color:i6e},{tag:[fe.function(fe.variableName),fe.labelName],color:TFn},{tag:[fe.color,fe.constant(fe.name),fe.standard(fe.name)],color:o6e},{tag:[fe.definition(fe.name),fe.separator],color:M9},{tag:[fe.typeName,fe.className,fe.number,fe.changed,fe.annotation,fe.modifier,fe.self,fe.namespace],color:CFn},{tag:[fe.operator,fe.operatorKeyword,fe.url,fe.escape,fe.regexp,fe.link,fe.special(fe.string)],color:EFn},{tag:[fe.meta,fe.comment],color:ihe},{tag:fe.strong,fontWeight:"bold"},{tag:fe.emphasis,fontStyle:"italic"},{tag:fe.strikethrough,textDecoration:"line-through"},{tag:fe.link,color:ihe,textDecoration:"underline"},{tag:fe.heading,fontWeight:"bold",color:i6e},{tag:[fe.atom,fe.bool,fe.special(fe.variableName)],color:o6e},{tag:[fe.processingInstruction,fe.string,fe.inserted],color:NFn},{tag:fe.invalid,color:jFn}]),MFn=[PFn,F1($Fn)];var DFn=It.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),LFn=function(t){t===void 0&&(t={});var n=t,r=n.indentWithTab,s=r===void 0?!0:r,a=n.editable,i=a===void 0?!0:a,l=n.readOnly,c=l===void 0?!1:l,u=n.theme,d=u===void 0?"light":u,f=n.placeholder,p=f===void 0?"":f,h=n.basicSetup,m=h===void 0?!0:h,g=[];switch(s&&g.unshift(AN.of([M9n])),m&&(typeof m=="boolean"?g.unshift(a6e()):g.unshift(a6e(m))),p&&g.unshift(tDn(p)),d){case"light":g.push(DFn);break;case"dark":g.push(MFn);break;case"none":break;default:g.push(d);break}return i===!1&&g.push(It.editable.of(!1)),c&&g.push(os.readOnly.of(!0)),[...g]},FFn=e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map(t=>e.state.sliceDoc(t.from,t.to)),selectedText:e.state.selection.ranges.some(t=>!t.empty)});class zFn{constructor(t,n){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=n,this.timeoutMS=n,this.callbacks.push(t)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var t=this.callbacks.slice();this.callbacks.length=0,t.forEach(n=>{try{n()}catch(r){console.error("TimeoutLatch callback error:",r)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class d6e{constructor(){this.interval=null,this.latches=new Set}add(t){this.latches.add(t),this.start()}remove(t){this.latches.delete(t),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(t=>{t.tick(),t.isDone&&this.remove(t)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var RK=null,BFn=()=>typeof window>"u"?new d6e:(RK||(RK=new d6e),RK),f6e=Ay.define(),UFn=200,qFn=[];function VFn(e){var t=e.value,n=e.selection,r=e.onChange,s=e.onStatistics,a=e.onCreateEditor,i=e.onUpdate,l=e.extensions,c=l===void 0?qFn:l,u=e.autoFocus,d=e.theme,f=d===void 0?"light":d,p=e.height,h=p===void 0?null:p,m=e.minHeight,g=m===void 0?null:m,y=e.maxHeight,b=y===void 0?null:y,w=e.width,S=w===void 0?null:w,k=e.minWidth,_=k===void 0?null:k,C=e.maxWidth,E=C===void 0?null:C,j=e.placeholder,N=j===void 0?"":j,I=e.editable,R=I===void 0?!0:I,$=e.readOnly,F=$===void 0?!1:$,D=e.indentWithTab,V=D===void 0?!0:D,W=e.basicSetup,L=W===void 0?!0:W,z=e.root,B=e.initialState,M=v.useState(),G=M[0],U=M[1],P=v.useState(),q=P[0],Z=P[1],X=v.useState(),te=X[0],J=X[1],ee=v.useState(()=>({current:null}))[0],ae=v.useState(()=>({current:null}))[0],de=It.theme({"&":{height:h,minHeight:g,maxHeight:b,width:S,minWidth:_,maxWidth:E},"& .cm-scroller":{height:"100% !important"}}),Y=It.updateListener.of(pe=>{if(pe.docChanged&&typeof r=="function"&&!pe.transactions.some(ye=>ye.annotation(f6e))){ee.current?ee.current.reset():(ee.current=new zFn(()=>{if(ae.current){var ye=ae.current;ae.current=null,ye()}ee.current=null},UFn),BFn().add(ee.current));var le=pe.state.doc,ve=le.toString();r(ve,pe)}s&&s(FFn(pe))}),ne=LFn({theme:f,editable:R,readOnly:F,placeholder:N,indentWithTab:V,basicSetup:L}),ce=[Y,de,...ne];return i&&typeof i=="function"&&ce.push(It.updateListener.of(i)),ce=ce.concat(c),v.useLayoutEffect(()=>{if(G&&!te){var pe={doc:t,selection:n,extensions:ce},le=B?os.fromJSON(B.json,pe,B.fields):os.create(pe);if(J(le),!q){var ve=new It({state:le,parent:G,root:z});Z(ve),a&&a(ve,le)}}return()=>{q&&(J(void 0),Z(void 0))}},[G,te]),v.useEffect(()=>{e.container&&U(e.container)},[e.container]),v.useEffect(()=>()=>{q&&(q.destroy(),Z(void 0)),ee.current&&(ee.current.cancel(),ee.current=null)},[q]),v.useEffect(()=>{u&&q&&q.focus()},[u,q]),v.useEffect(()=>{q&&q.dispatch({effects:vr.reconfigure.of(ce)})},[f,c,h,g,b,S,_,E,N,R,F,V,L,r,i]),v.useEffect(()=>{if(t!==void 0){var pe=q?q.state.doc.toString():"";if(q&&t!==pe){var le=ee.current&&!ee.current.isDone,ve=()=>{q&&t!==q.state.doc.toString()&&q.dispatch({changes:{from:0,to:q.state.doc.toString().length,insert:t||""},annotations:[f6e.of(!0)]})};le?ae.current=ve:ve()}}},[t,q]),{state:te,setState:J,view:q,setView:Z,container:G,setContainer:U}}var HFn=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],Xc=v.forwardRef((e,t)=>{var n=e.className,r=e.value,s=r===void 0?"":r,a=e.selection,i=e.extensions,l=i===void 0?[]:i,c=e.onChange,u=e.onStatistics,d=e.onCreateEditor,f=e.onUpdate,p=e.autoFocus,h=e.theme,m=h===void 0?"light":h,g=e.height,y=e.minHeight,b=e.maxHeight,w=e.width,S=e.minWidth,k=e.maxWidth,_=e.basicSetup,C=e.placeholder,E=e.indentWithTab,j=e.editable,N=e.readOnly,I=e.root,R=e.initialState,$=cbt(e,HFn),F=v.useRef(null),D=VFn({root:I,value:s,autoFocus:p,theme:m,height:g,minHeight:y,maxHeight:b,width:w,minWidth:S,maxWidth:k,basicSetup:_,placeholder:C,indentWithTab:E,editable:j,readOnly:N,selection:a,onChange:c,onStatistics:u,onCreateEditor:d,onUpdate:f,extensions:l,initialState:R}),V=D.state,W=D.view,L=D.container,z=D.setContainer;v.useImperativeHandle(t,()=>({editor:F.current,state:V,view:W}),[F,L,V,W]);var B=v.useCallback(G=>{F.current=G,z(G)},[z]);if(typeof s!="string")throw new Error("value must be typeof string but got "+typeof s);var M=typeof m=="string"?"cm-theme-"+m:"cm-theme";return o.jsx("div",EO({ref:B,className:""+M+(n?" "+n:"")},$))});Xc.displayName="CodeMirror";function WFn(e){return new kO(gwe.define(e))}const nxt=[Ym.of({name:"JavaScript",alias:["ecmascript","js","node"],extensions:["js","mjs","cjs"],load(){return Eo(()=>Promise.resolve().then(()=>c6),[],import.meta.url).then(e=>e.javascript())}}),Ym.of({name:"JSON",alias:["json5"],extensions:["json","map"],load(){return Eo(()=>Promise.resolve().then(()=>C4n),void 0,import.meta.url).then(e=>e.json())}}),Ym.of({name:"JSX",extensions:["jsx"],load(){return Eo(()=>Promise.resolve().then(()=>c6),void 0,import.meta.url).then(e=>e.javascript({jsx:!0}))}}),Ym.of({name:"Markdown",extensions:["md","markdown","mkd"],load(){return Eo(()=>Promise.resolve().then(()=>x8n),void 0,import.meta.url).then(e=>e.markdown())}}),Ym.of({name:"TSX",extensions:["tsx"],load(){return Eo(()=>Promise.resolve().then(()=>c6),void 0,import.meta.url).then(e=>e.javascript({jsx:!0,typescript:!0}))}}),Ym.of({name:"TypeScript",alias:["ts"],extensions:["ts","mts","cts"],load(){return Eo(()=>Promise.resolve().then(()=>c6),void 0,import.meta.url).then(e=>e.javascript({typescript:!0}))}}),Ym.of({name:"Shell",alias:["bash","sh","zsh"],extensions:["sh","ksh","bash"],filename:/^PKGBUILD$/,load(){return Eo(()=>import("./shell-CjFT_Tl9.js"),[],import.meta.url).then(e=>WFn(e.shell))}})];function ZFn(e,t=5){if(!e?.properties)return[];const n=[];function r(s,a,i){if(i>t)return;const l=Array.isArray(s.type)?s.type.join(" | "):s.type;if(n.push({path:a,label:a,description:s.description??s.title,type:l}),s.properties)for(const[c,u]of Object.entries(s.properties))r(u,`${a}.${c}`,i+1);if(s.items?.properties)for(const[c,u]of Object.entries(s.items.properties))r(u,`${a}[].${c}`,i+1)}for(const[s,a]of Object.entries(e.properties))r(a,s,1);return n}function GFn(e){const t=ZFn(e);return Gvt({override:[QFn(t)],defaultKeymap:!0,closeOnBlur:!0,icons:!1})}function QFn(e){return t=>{const r=t.state.sliceDoc(Math.max(0,t.pos-50),t.pos).match(/\{\{([a-zA-Z0-9_.\[\]]*)?$/);if(!r)return null;const s=r[1]??"",a=t.pos-s.length,i=s?e.filter(c=>c.path.toLowerCase().startsWith(s.toLowerCase())):e;if(i.length===0)return null;const l=i.map(c=>({label:c.path,displayLabel:c.path,detail:c.type,info:c.description,apply:(u,d,f,p)=>{const g=u.state.sliceDoc(p,p+2)==="}}"?d.label:`${d.label}}}`;u.dispatch({changes:{from:f,to:p,insert:g},selection:{anchor:f+g.length}})}}));return{from:a,options:l,validFor:/^[a-zA-Z0-9_.\[\]]*$/}}}const YFn=/\{\{([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)\}\}/g,XFn=Cn.mark({class:"cm-variable-highlight"}),p6e=new lvt({regexp:YFn,decoration:()=>XFn}),KFn=yo.fromClass(class{decorations;constructor(e){this.decorations=p6e.createDeco(e)}update(e){this.decorations=p6e.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}),JFn=KFn;function ezn(){const e=$N({settings:{fontFamily:"var(--font-mono)",fontSize:"0.8rem",lineHighlight:"transparent",gutterBackground:"transparent",gutterForeground:"var(--neutral2)",background:"transparent",foreground:"var(--neutral6)",caret:"var(--neutral6)"},styles:[{tag:[fe.className,fe.propertyName],color:"var(--neutral6)"},{tag:fe.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[fe.heading1,fe.heading2,fe.heading3,fe.heading4,fe.heading5,fe.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:fe.emphasis,fontStyle:"italic",color:"var(--neutral6)"},{tag:fe.strong,fontWeight:"bold",color:"var(--neutral6)"},{tag:fe.link,color:"var(--accent3)",textDecoration:"underline"},{tag:fe.url,color:"var(--accent3)"},{tag:fe.monospace,color:"var(--neutral6)"},{tag:fe.strikethrough,textDecoration:"line-through"},{tag:fe.quote,fontStyle:"italic",color:"var(--neutral2)"}]}),t=It.theme({".cm-editor":{backgroundColor:"transparent"},".cm-content":{color:"var(--neutral6)",caretColor:"var(--neutral6)"},".cm-lineNumbers .cm-gutterElement":{color:"var(--neutral2)"},".cm-activeLineGutter":{color:"var(--neutral3)"},".cm-cursor":{borderLeftColor:"var(--neutral6)"},".cm-selectionBackground, .cm-content ::selection":{backgroundColor:"color-mix(in srgb, var(--accent3) 22%, transparent)"},".cm-tooltip-autocomplete":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",borderRadius:"6px",boxShadow:"0 8px 16px rgba(0, 0, 0, 0.2)"},".cm-tooltip-autocomplete > ul":{fontFamily:"var(--font-mono)"},".cm-completionLabel":{color:"var(--neutral6)"},".cm-completionDetail":{color:"var(--neutral3)",fontSize:"0.7rem",marginLeft:"auto",paddingLeft:"12px"},".cm-completionInfo":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",color:"var(--neutral3)",padding:"8px 12px"},".cm-completionIcon":{display:"none"},"ul.cm-completionList li[aria-selected]":{backgroundColor:"var(--surface4)",color:"var(--neutral6)"},".cm-line .cm-variable-highlight":{color:"var(--accent6) !important",fontWeight:"500"}});return[e,t]}function tzn(){const e=It.theme({"&":{backgroundColor:"transparent",color:"var(--neutral6)",fontSize:"0.8rem"},"&.cm-editor .cm-scroller":{fontFamily:"var(--font-mono)"},".cm-gutters":{backgroundColor:"transparent",color:"var(--neutral2)",borderRight:"none"},".cm-content":{color:"var(--neutral6)",caretColor:"var(--neutral6)"},".cm-activeLine":{backgroundColor:"transparent"},".cm-lineNumbers .cm-gutterElement":{color:"var(--neutral2)"},".cm-activeLineGutter":{backgroundColor:"transparent",color:"var(--neutral3)"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--neutral6)"},"&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection":{background:"color-mix(in srgb, var(--accent3) 22%, transparent) !important"},".cm-tooltip-autocomplete":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",borderRadius:"6px",boxShadow:"0 8px 16px rgba(0, 0, 0, 0.2)"},".cm-tooltip-autocomplete > ul":{fontFamily:"var(--font-mono)"},".cm-completionLabel":{color:"var(--neutral6)"},".cm-completionDetail":{color:"var(--neutral3)",fontSize:"0.7rem",marginLeft:"auto",paddingLeft:"12px"},".cm-completionInfo":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",color:"var(--neutral3)",padding:"8px 12px"},".cm-completionIcon":{display:"none"},"ul.cm-completionList li[aria-selected]":{backgroundColor:"var(--surface4)",color:"var(--neutral6)"},".cm-line .cm-variable-highlight":{color:"var(--accent6) !important",fontWeight:"500"}}),t=$g.define([{tag:[fe.comment,fe.bracket],color:"var(--neutral2)"},{tag:[fe.string,fe.meta,fe.regexp],color:"var(--accent1)"},{tag:[fe.atom,fe.bool,fe.special(fe.variableName)],color:"var(--accent6)"},{tag:[fe.keyword,fe.operator,fe.tagName],color:"var(--accent2)"},{tag:[fe.function(fe.propertyName),fe.propertyName],color:"var(--accent5)"},{tag:[fe.definition(fe.variableName),fe.function(fe.variableName),fe.className,fe.attributeName],color:"var(--accent3)"},{tag:[fe.variableName,fe.number],color:"var(--accent5)"},{tag:[fe.name,fe.quote],color:"var(--accent1)"},{tag:fe.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[fe.heading1,fe.heading2,fe.heading3,fe.heading4,fe.heading5,fe.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:[fe.emphasis],fontStyle:"italic",color:"var(--neutral6)"},{tag:[fe.strong],fontWeight:"bold",color:"var(--neutral6)"},{tag:fe.link,color:"var(--accent3)",textDecoration:"underline"},{tag:fe.url,color:"var(--accent3)"},{tag:fe.monospace,color:"var(--neutral6)"},{tag:fe.strikethrough,textDecoration:"line-through"},{tag:[fe.deleted],color:"var(--accent2)"},{tag:fe.invalid,color:"var(--error)"},{tag:[fe.standard(fe.tagName)],color:"var(--accent1)"}]);return[e,F1(t)]}const Py=()=>{const e=EN().resolvedTheme==="dark";return v.useMemo(()=>e?ezn():tzn(),[e])},Qr=v.forwardRef(({data:e,value:t,onChange:n,showCopyButton:r=!0,className:s,language:a="json",highlightVariables:i=!1,placeholder:l,schema:c,autoFocus:u,lineNumbers:d=!0,lineWrapping:f=!0,editable:p,...h},m)=>{const g=Py(),y=e?JSON.stringify(e,null,2):t??"",b=v.useMemo(()=>{const w=[];return f&&w.push(It.lineWrapping),a==="json"?w.push(of):a==="markdown"&&w.push(qwe({base:CO,codeLanguages:nxt})),i&&a==="markdown"&&w.push(JFn),c&&a==="markdown"&&w.push(GFn(c)),p===!1&&w.push(os.readOnly.of(!0)),w},[a,i,c,p,f]);return o.jsxs("div",{className:K("rounded-md bg-surface3 p-1 font-mono relative border border-border1 overflow-hidden",s),...h,children:[r&&o.jsx(ya,{content:y,className:"absolute top-2 right-2 z-20"}),o.jsx(Xc,{ref:m,value:y,theme:g,extensions:b,onChange:n,editable:p,"aria-label":"Code editor",placeholder:l,height:"100%",style:{height:"100%"},autoFocus:u,basicSetup:{lineNumbers:d}})]})}),nzn={js:"javascript",javascript:"javascript",mjs:"javascript",cjs:"javascript",node:"javascript",ts:"typescript",typescript:"typescript",mts:"typescript",cts:"typescript",tsx:"tsx",jsx:"jsx",json:"json",json5:"json",md:"markdown",markdown:"markdown",py:"python",python:"python",sh:"bash",bash:"bash",shell:"bash",zsh:"bash"};let PK=null;function rzn(){return PK||(PK=(async()=>{const[{createHighlighterCore:e},{createJavaScriptRegexEngine:t}]=await Promise.all([Eo(()=>import("./core-Wah_Mjo9.js"),__vite__mapDeps([0,1,2]),import.meta.url),Eo(()=>import("./engine-javascript-CSIo_1eZ.js"),__vite__mapDeps([3,1]),import.meta.url)]);return e({themes:[Eo(()=>import("./github-light-DAi9KRSo.js"),[],import.meta.url),Eo(()=>import("./github-dark-DHJKELXO.js"),[],import.meta.url)],langs:[Eo(()=>import("./javascript-ySlJ1b_l.js"),[],import.meta.url),Eo(()=>import("./typescript-Dj6nwHGl.js"),[],import.meta.url),Eo(()=>import("./tsx-B6W0miNI.js"),[],import.meta.url),Eo(()=>import("./jsx-BAng5TT0.js"),[],import.meta.url),Eo(()=>import("./json-BQoSv7ci.js"),[],import.meta.url),Eo(()=>import("./bash-atvbtKCR.js"),[],import.meta.url),Eo(()=>import("./markdown-UIAJJxZW.js"),[],import.meta.url),Eo(()=>import("./python-DhUJRlN_.js"),[],import.meta.url)],engine:t()})})()),PK}async function szn(e,t){const n=nzn[t?.toLowerCase()];if(!n)return null;const r=await rzn(),{tokens:s}=r.codeToTokens(e,{lang:n,defaultColor:!1,themes:{light:"github-light",dark:"github-dark"}});return s}const azn=e=>{try{return JSON.stringify(e??{},null,2)}catch{return"{}"}},izn=({editorClassName:e="h-[240px] max-h-[40vh]",onSaved:t})=>{const n=Py(),{settings:r,setSettings:s}=Bq(),a=r?.tracingOptions,i=v.useMemo(()=>azn(a),[a]),[l,c]=v.useState(()=>i),u=v.useRef(!1);v.useEffect(()=>{u.current||c(i)},[i]);const d=p=>{u.current=!0,c(p)},f=()=>{if(!l){s({...r,tracingOptions:void 0}),t?.();return}try{const p=JSON.parse(l);typeof p=="object"&&p!==null&&s({...r,tracingOptions:p})}catch{return}t?.()};return o.jsxs("div",{className:"space-y-2 px-5 py-2",children:[o.jsx(ge,{as:"h3",variant:"ui-md",className:"text-neutral3",children:"Tracing Options"}),o.jsx(Xc,{value:l,onChange:d,theme:n,extensions:[of],className:K("overflow-y-scroll bg-surface3 rounded-lg overflow-hidden p-3",e)}),o.jsx("div",{className:"flex items-center justify-end",children:o.jsx(ue,{type:"button",onClick:f,children:"Save"})})]})},ozn=()=>{const[e,t]=v.useState(!1);return o.jsxs(o.Fragment,{children:[o.jsxs(Wn,{children:[o.jsx(zn,{asChild:!0,children:o.jsx(ue,{type:"button",variant:"ghost",size:"icon-md","aria-label":"Run Options",onClick:()=>t(!0),children:o.jsx(Ue,{children:o.jsx(Yye,{})})})}),o.jsx(Bn,{children:"Run Options"})]}),o.jsx(br,{open:e,onOpenChange:t,children:o.jsxs(xr,{children:[o.jsxs(wr,{children:[o.jsx(gr,{children:"Run Options"}),o.jsx(Qs,{children:"Configure tracing and debug options for this workflow run"})]}),o.jsx(Ar,{children:o.jsx(izn,{onSaved:()=>t(!1)})})]})})]})};function lzn({status:e}){switch(e){case"running":return o.jsx(Gt,{});case"failed":return o.jsx(vs,{className:"text-accent2"});case"canceled":return o.jsx(xf,{className:"text-neutral3"});case"pending":case"waiting":return o.jsx(sO,{className:"text-neutral3"});case"suspended":return o.jsx(ZU,{className:"text-accent3"});case"success":return o.jsx(Js,{className:"text-accent1"});default:return o.jsx(sO,{className:"text-neutral3"})}}function rxt({status:e}){return o.jsxs(Wn,{children:[o.jsx(zn,{asChild:!0,children:o.jsx(Ue,{"aria-label":e,className:"shrink-0",children:o.jsx(lzn,{status:e})})}),o.jsx(Bn,{children:e})]})}var $K,h6e;function Kwe(){if(h6e)return $K;h6e=1;var e="\0",t="\0",n="";class r{_isDirected=!0;_isMultigraph=!1;_isCompound=!1;_label;_defaultNodeLabelFn=()=>{};_defaultEdgeLabelFn=()=>{};_nodes={};_in={};_preds={};_out={};_sucs={};_edgeObjs={};_edgeLabels={};_nodeCount=0;_edgeCount=0;_parent;_children;constructor(d){d&&(this._isDirected=Object.hasOwn(d,"directed")?d.directed:!0,this._isMultigraph=Object.hasOwn(d,"multigraph")?d.multigraph:!1,this._isCompound=Object.hasOwn(d,"compound")?d.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[t]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(d){return this._label=d,this}graph(){return this._label}setDefaultNodeLabel(d){return this._defaultNodeLabelFn=d,typeof d!="function"&&(this._defaultNodeLabelFn=()=>d),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var d=this;return this.nodes().filter(f=>Object.keys(d._in[f]).length===0)}sinks(){var d=this;return this.nodes().filter(f=>Object.keys(d._out[f]).length===0)}setNodes(d,f){var p=arguments,h=this;return d.forEach(function(m){p.length>1?h.setNode(m,f):h.setNode(m)}),this}setNode(d,f){return Object.hasOwn(this._nodes,d)?(arguments.length>1&&(this._nodes[d]=f),this):(this._nodes[d]=arguments.length>1?f:this._defaultNodeLabelFn(d),this._isCompound&&(this._parent[d]=t,this._children[d]={},this._children[t][d]=!0),this._in[d]={},this._preds[d]={},this._out[d]={},this._sucs[d]={},++this._nodeCount,this)}node(d){return this._nodes[d]}hasNode(d){return Object.hasOwn(this._nodes,d)}removeNode(d){var f=this;if(Object.hasOwn(this._nodes,d)){var p=h=>f.removeEdge(f._edgeObjs[h]);delete this._nodes[d],this._isCompound&&(this._removeFromParentsChildList(d),delete this._parent[d],this.children(d).forEach(function(h){f.setParent(h)}),delete this._children[d]),Object.keys(this._in[d]).forEach(p),delete this._in[d],delete this._preds[d],Object.keys(this._out[d]).forEach(p),delete this._out[d],delete this._sucs[d],--this._nodeCount}return this}setParent(d,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(f===void 0)f=t;else{f+="";for(var p=f;p!==void 0;p=this.parent(p))if(p===d)throw new Error("Setting "+f+" as parent of "+d+" would create a cycle");this.setNode(f)}return this.setNode(d),this._removeFromParentsChildList(d),this._parent[d]=f,this._children[f][d]=!0,this}_removeFromParentsChildList(d){delete this._children[this._parent[d]][d]}parent(d){if(this._isCompound){var f=this._parent[d];if(f!==t)return f}}children(d=t){if(this._isCompound){var f=this._children[d];if(f)return Object.keys(f)}else{if(d===t)return this.nodes();if(this.hasNode(d))return[]}}predecessors(d){var f=this._preds[d];if(f)return Object.keys(f)}successors(d){var f=this._sucs[d];if(f)return Object.keys(f)}neighbors(d){var f=this.predecessors(d);if(f){const h=new Set(f);for(var p of this.successors(d))h.add(p);return Array.from(h.values())}}isLeaf(d){var f;return this.isDirected()?f=this.successors(d):f=this.neighbors(d),f.length===0}filterNodes(d){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var p=this;Object.entries(this._nodes).forEach(function([g,y]){d(g)&&f.setNode(g,y)}),Object.values(this._edgeObjs).forEach(function(g){f.hasNode(g.v)&&f.hasNode(g.w)&&f.setEdge(g,p.edge(g))});var h={};function m(g){var y=p.parent(g);return y===void 0||f.hasNode(y)?(h[g]=y,y):y in h?h[y]:m(y)}return this._isCompound&&f.nodes().forEach(g=>f.setParent(g,m(g))),f}setDefaultEdgeLabel(d){return this._defaultEdgeLabelFn=d,typeof d!="function"&&(this._defaultEdgeLabelFn=()=>d),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(d,f){var p=this,h=arguments;return d.reduce(function(m,g){return h.length>1?p.setEdge(m,g,f):p.setEdge(m,g),g}),this}setEdge(){var d,f,p,h,m=!1,g=arguments[0];typeof g=="object"&&g!==null&&"v"in g?(d=g.v,f=g.w,p=g.name,arguments.length===2&&(h=arguments[1],m=!0)):(d=g,f=arguments[1],p=arguments[3],arguments.length>2&&(h=arguments[2],m=!0)),d=""+d,f=""+f,p!==void 0&&(p=""+p);var y=i(this._isDirected,d,f,p);if(Object.hasOwn(this._edgeLabels,y))return m&&(this._edgeLabels[y]=h),this;if(p!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(d),this.setNode(f),this._edgeLabels[y]=m?h:this._defaultEdgeLabelFn(d,f,p);var b=l(this._isDirected,d,f,p);return d=b.v,f=b.w,Object.freeze(b),this._edgeObjs[y]=b,s(this._preds[f],d),s(this._sucs[d],f),this._in[f][y]=b,this._out[d][y]=b,this._edgeCount++,this}edge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p);return this._edgeLabels[h]}edgeAsObj(){const d=this.edge(...arguments);return typeof d!="object"?{label:d}:d}hasEdge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p);return Object.hasOwn(this._edgeLabels,h)}removeEdge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p),m=this._edgeObjs[h];return m&&(d=m.v,f=m.w,delete this._edgeLabels[h],delete this._edgeObjs[h],a(this._preds[f],d),a(this._sucs[d],f),delete this._in[f][h],delete this._out[d][h],this._edgeCount--),this}inEdges(d,f){var p=this._in[d];if(p){var h=Object.values(p);return f?h.filter(m=>m.v===f):h}}outEdges(d,f){var p=this._out[d];if(p){var h=Object.values(p);return f?h.filter(m=>m.w===f):h}}nodeEdges(d,f){var p=this.inEdges(d,f);if(p)return p.concat(this.outEdges(d,f))}}function s(u,d){u[d]?u[d]++:u[d]=1}function a(u,d){--u[d]||delete u[d]}function i(u,d,f,p){var h=""+d,m=""+f;if(!u&&h>m){var g=h;h=m,m=g}return h+n+m+n+(p===void 0?e:p)}function l(u,d,f,p){var h=""+d,m=""+f;if(!u&&h>m){var g=h;h=m,m=g}var y={v:h,w:m};return p&&(y.name=p),y}function c(u,d){return i(u,d.v,d.w,d.name)}return $K=r,$K}var MK,m6e;function czn(){return m6e||(m6e=1,MK="2.2.4"),MK}var DK,g6e;function uzn(){return g6e||(g6e=1,DK={Graph:Kwe(),version:czn()}),DK}var LK,v6e;function dzn(){if(v6e)return LK;v6e=1;var e=Kwe();LK={write:t,read:s};function t(a){var i={options:{directed:a.isDirected(),multigraph:a.isMultigraph(),compound:a.isCompound()},nodes:n(a),edges:r(a)};return a.graph()!==void 0&&(i.value=structuredClone(a.graph())),i}function n(a){return a.nodes().map(function(i){var l=a.node(i),c=a.parent(i),u={v:i};return l!==void 0&&(u.value=l),c!==void 0&&(u.parent=c),u})}function r(a){return a.edges().map(function(i){var l=a.edge(i),c={v:i.v,w:i.w};return i.name!==void 0&&(c.name=i.name),l!==void 0&&(c.value=l),c})}function s(a){var i=new e(a.options).setGraph(a.value);return a.nodes.forEach(function(l){i.setNode(l.v,l.value),l.parent&&i.setParent(l.v,l.parent)}),a.edges.forEach(function(l){i.setEdge({v:l.v,w:l.w,name:l.name},l.value)}),i}return LK}var FK,y6e;function fzn(){if(y6e)return FK;y6e=1,FK=e;function e(t){var n={},r=[],s;function a(i){Object.hasOwn(n,i)||(n[i]=!0,s.push(i),t.successors(i).forEach(a),t.predecessors(i).forEach(a))}return t.nodes().forEach(function(i){s=[],a(i),s.length&&r.push(s)}),r}return FK}var zK,b6e;function sxt(){if(b6e)return zK;b6e=1;class e{_arr=[];_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 r=this._keyIndices[n];if(r!==void 0)return this._arr[r].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,r){var s=this._keyIndices;if(n=String(n),!Object.hasOwn(s,n)){var a=this._arr,i=a.length;return s[n]=i,a.push({key:n,priority:r}),this._decrease(i),!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,r){var s=this._keyIndices[n];if(r>this._arr[s].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[s].priority+" New: "+r);this._arr[s].priority=r,this._decrease(s)}_heapify(n){var r=this._arr,s=2*n,a=s+1,i=n;s<r.length&&(i=r[s].priority<r[i].priority?s:i,a<r.length&&(i=r[a].priority<r[i].priority?a:i),i!==n&&(this._swap(n,i),this._heapify(i)))}_decrease(n){for(var r=this._arr,s=r[n].priority,a;n!==0&&(a=n>>1,!(r[a].priority<s));)this._swap(n,a),n=a}_swap(n,r){var s=this._arr,a=this._keyIndices,i=s[n],l=s[r];s[n]=l,s[r]=i,a[l.key]=n,a[i.key]=r}}return zK=e,zK}var BK,x6e;function axt(){if(x6e)return BK;x6e=1;var e=sxt();BK=n;var t=()=>1;function n(s,a,i,l){return r(s,String(a),i||t,l||function(c){return s.outEdges(c)})}function r(s,a,i,l){var c={},u=new e,d,f,p=function(h){var m=h.v!==d?h.v:h.w,g=c[m],y=i(h),b=f.distance+y;if(y<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+h+" Weight: "+y);b<g.distance&&(g.distance=b,g.predecessor=d,u.decrease(m,b))};for(s.nodes().forEach(function(h){var m=h===a?0:Number.POSITIVE_INFINITY;c[h]={distance:m},u.add(h,m)});u.size()>0&&(d=u.removeMin(),f=c[d],f.distance!==Number.POSITIVE_INFINITY);)l(d).forEach(p);return c}return BK}var UK,w6e;function pzn(){if(w6e)return UK;w6e=1;var e=axt();UK=t;function t(n,r,s){return n.nodes().reduce(function(a,i){return a[i]=e(n,i,r,s),a},{})}return UK}var qK,S6e;function ixt(){if(S6e)return qK;S6e=1,qK=e;function e(t){var n=0,r=[],s={},a=[];function i(l){var c=s[l]={onStack:!0,lowlink:n,index:n++};if(r.push(l),t.successors(l).forEach(function(f){Object.hasOwn(s,f)?s[f].onStack&&(c.lowlink=Math.min(c.lowlink,s[f].index)):(i(f),c.lowlink=Math.min(c.lowlink,s[f].lowlink))}),c.lowlink===c.index){var u=[],d;do d=r.pop(),s[d].onStack=!1,u.push(d);while(l!==d);a.push(u)}}return t.nodes().forEach(function(l){Object.hasOwn(s,l)||i(l)}),a}return qK}var VK,k6e;function hzn(){if(k6e)return VK;k6e=1;var e=ixt();VK=t;function t(n){return e(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return VK}var HK,O6e;function mzn(){if(O6e)return HK;O6e=1,HK=t;var e=()=>1;function t(r,s,a){return n(r,s||e,a||function(i){return r.outEdges(i)})}function n(r,s,a){var i={},l=r.nodes();return l.forEach(function(c){i[c]={},i[c][c]={distance:0},l.forEach(function(u){c!==u&&(i[c][u]={distance:Number.POSITIVE_INFINITY})}),a(c).forEach(function(u){var d=u.v===c?u.w:u.v,f=s(u);i[c][d]={distance:f,predecessor:c}})}),l.forEach(function(c){var u=i[c];l.forEach(function(d){var f=i[d];l.forEach(function(p){var h=f[c],m=u[p],g=f[p],y=h.distance+m.distance;y<g.distance&&(g.distance=y,g.predecessor=m.predecessor)})})}),i}return HK}var WK,_6e;function oxt(){if(_6e)return WK;_6e=1;function e(n){var r={},s={},a=[];function i(l){if(Object.hasOwn(s,l))throw new t;Object.hasOwn(r,l)||(s[l]=!0,r[l]=!0,n.predecessors(l).forEach(i),delete s[l],a.push(l))}if(n.sinks().forEach(i),Object.keys(r).length!==n.nodeCount())throw new t;return a}class t extends Error{constructor(){super(...arguments)}}return WK=e,e.CycleException=t,WK}var ZK,C6e;function gzn(){if(C6e)return ZK;C6e=1;var e=oxt();ZK=t;function t(n){try{e(n)}catch(r){if(r instanceof e.CycleException)return!1;throw r}return!0}return ZK}var GK,E6e;function lxt(){if(E6e)return GK;E6e=1,GK=e;function e(s,a,i){Array.isArray(a)||(a=[a]);var l=s.isDirected()?f=>s.successors(f):f=>s.neighbors(f),c=i==="post"?t:n,u=[],d={};return a.forEach(f=>{if(!s.hasNode(f))throw new Error("Graph does not have node: "+f);c(f,l,d,u)}),u}function t(s,a,i,l){for(var c=[[s,!1]];c.length>0;){var u=c.pop();u[1]?l.push(u[0]):Object.hasOwn(i,u[0])||(i[u[0]]=!0,c.push([u[0],!0]),r(a(u[0]),d=>c.push([d,!1])))}}function n(s,a,i,l){for(var c=[s];c.length>0;){var u=c.pop();Object.hasOwn(i,u)||(i[u]=!0,l.push(u),r(a(u),d=>c.push(d)))}}function r(s,a){for(var i=s.length;i--;)a(s[i],i,s);return s}return GK}var QK,j6e;function vzn(){if(j6e)return QK;j6e=1;var e=lxt();QK=t;function t(n,r){return e(n,r,"post")}return QK}var YK,T6e;function yzn(){if(T6e)return YK;T6e=1;var e=lxt();YK=t;function t(n,r){return e(n,r,"pre")}return YK}var XK,N6e;function bzn(){if(N6e)return XK;N6e=1;var e=Kwe(),t=sxt();XK=n;function n(r,s){var a=new e,i={},l=new t,c;function u(f){var p=f.v===c?f.w:f.v,h=l.priority(p);if(h!==void 0){var m=s(f);m<h&&(i[p]=c,l.decrease(p,m))}}if(r.nodeCount()===0)return a;r.nodes().forEach(function(f){l.add(f,Number.POSITIVE_INFINITY),a.setNode(f)}),l.decrease(r.nodes()[0],0);for(var d=!1;l.size()>0;){if(c=l.removeMin(),Object.hasOwn(i,c))a.setEdge(c,i[c]);else{if(d)throw new Error("Input graph is not connected: "+r);d=!0}r.nodeEdges(c).forEach(u)}return a}return XK}var KK,I6e;function xzn(){return I6e||(I6e=1,KK={components:fzn(),dijkstra:axt(),dijkstraAll:pzn(),findCycles:hzn(),floydWarshall:mzn(),isAcyclic:gzn(),postorder:vzn(),preorder:yzn(),prim:bzn(),tarjan:ixt(),topsort:oxt()}),KK}var JK,A6e;function Eg(){if(A6e)return JK;A6e=1;var e=uzn();return JK={Graph:e.Graph,json:dzn(),alg:xzn(),version:e.version},JK}var eJ,R6e;function wzn(){if(R6e)return eJ;R6e=1;class e{constructor(){let s={};s._next=s._prev=s,this._sentinel=s}dequeue(){let s=this._sentinel,a=s._prev;if(a!==s)return t(a),a}enqueue(s){let a=this._sentinel;s._prev&&s._next&&t(s),s._next=a._next,a._next._prev=s,a._next=s,s._prev=a}toString(){let s=[],a=this._sentinel,i=a._prev;for(;i!==a;)s.push(JSON.stringify(i,n)),i=i._prev;return"["+s.join(", ")+"]"}}function t(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function n(r,s){if(r!=="_next"&&r!=="_prev")return s}return eJ=e,eJ}var tJ,P6e;function Szn(){if(P6e)return tJ;P6e=1;let e=Eg().Graph,t=wzn();tJ=r;let n=()=>1;function r(u,d){if(u.nodeCount()<=1)return[];let f=i(u,d||n);return s(f.graph,f.buckets,f.zeroIdx).flatMap(h=>u.outEdges(h.v,h.w))}function s(u,d,f){let p=[],h=d[d.length-1],m=d[0],g;for(;u.nodeCount();){for(;g=m.dequeue();)a(u,d,f,g);for(;g=h.dequeue();)a(u,d,f,g);if(u.nodeCount()){for(let y=d.length-2;y>0;--y)if(g=d[y].dequeue(),g){p=p.concat(a(u,d,f,g,!0));break}}}return p}function a(u,d,f,p,h){let m=h?[]:void 0;return u.inEdges(p.v).forEach(g=>{let y=u.edge(g),b=u.node(g.v);h&&m.push({v:g.v,w:g.w}),b.out-=y,l(d,f,b)}),u.outEdges(p.v).forEach(g=>{let y=u.edge(g),b=g.w,w=u.node(b);w.in-=y,l(d,f,w)}),u.removeNode(p.v),m}function i(u,d){let f=new e,p=0,h=0;u.nodes().forEach(y=>{f.setNode(y,{v:y,in:0,out:0})}),u.edges().forEach(y=>{let b=f.edge(y.v,y.w)||0,w=d(y),S=b+w;f.setEdge(y.v,y.w,S),h=Math.max(h,f.node(y.v).out+=w),p=Math.max(p,f.node(y.w).in+=w)});let m=c(h+p+3).map(()=>new t),g=p+1;return f.nodes().forEach(y=>{l(m,g,f.node(y))}),{graph:f,buckets:m,zeroIdx:g}}function l(u,d,f){f.out?f.in?u[f.out-f.in+d].enqueue(f):u[u.length-1].enqueue(f):u[0].enqueue(f)}function c(u){const d=[];for(let f=0;f<u;f++)d.push(f);return d}return tJ}var nJ,$6e;function jl(){if($6e)return nJ;$6e=1;let e=Eg().Graph;nJ={addBorderNode:d,addDummyNode:t,applyWithChunking:h,asNonCompoundGraph:r,buildLayerMatrix:l,intersectRect:i,mapValues:C,maxRank:m,normalizeRanks:c,notime:b,partition:g,pick:_,predecessorWeights:a,range:k,removeEmptyRanks:u,simplify:n,successorWeights:s,time:y,uniqueId:S,zipObject:E};function t(j,N,I,R){for(var $=R;j.hasNode($);)$=S(R);return I.dummy=N,j.setNode($,I),$}function n(j){let N=new e().setGraph(j.graph());return j.nodes().forEach(I=>N.setNode(I,j.node(I))),j.edges().forEach(I=>{let R=N.edge(I.v,I.w)||{weight:0,minlen:1},$=j.edge(I);N.setEdge(I.v,I.w,{weight:R.weight+$.weight,minlen:Math.max(R.minlen,$.minlen)})}),N}function r(j){let N=new e({multigraph:j.isMultigraph()}).setGraph(j.graph());return j.nodes().forEach(I=>{j.children(I).length||N.setNode(I,j.node(I))}),j.edges().forEach(I=>{N.setEdge(I,j.edge(I))}),N}function s(j){let N=j.nodes().map(I=>{let R={};return j.outEdges(I).forEach($=>{R[$.w]=(R[$.w]||0)+j.edge($).weight}),R});return E(j.nodes(),N)}function a(j){let N=j.nodes().map(I=>{let R={};return j.inEdges(I).forEach($=>{R[$.v]=(R[$.v]||0)+j.edge($).weight}),R});return E(j.nodes(),N)}function i(j,N){let I=j.x,R=j.y,$=N.x-I,F=N.y-R,D=j.width/2,V=j.height/2;if(!$&&!F)throw new Error("Not possible to find intersection inside of the rectangle");let W,L;return Math.abs(F)*D>Math.abs($)*V?(F<0&&(V=-V),W=V*$/F,L=V):($<0&&(D=-D),W=D,L=D*F/$),{x:I+W,y:R+L}}function l(j){let N=k(m(j)+1).map(()=>[]);return j.nodes().forEach(I=>{let R=j.node(I),$=R.rank;$!==void 0&&(N[$][R.order]=I)}),N}function c(j){let N=j.nodes().map(R=>{let $=j.node(R).rank;return $===void 0?Number.MAX_VALUE:$}),I=h(Math.min,N);j.nodes().forEach(R=>{let $=j.node(R);Object.hasOwn($,"rank")&&($.rank-=I)})}function u(j){let N=j.nodes().map(D=>j.node(D).rank),I=h(Math.min,N),R=[];j.nodes().forEach(D=>{let V=j.node(D).rank-I;R[V]||(R[V]=[]),R[V].push(D)});let $=0,F=j.graph().nodeRankFactor;Array.from(R).forEach((D,V)=>{D===void 0&&V%F!==0?--$:D!==void 0&&$&&D.forEach(W=>j.node(W).rank+=$)})}function d(j,N,I,R){let $={width:0,height:0};return arguments.length>=4&&($.rank=I,$.order=R),t(j,"border",$,N)}function f(j,N=p){const I=[];for(let R=0;R<j.length;R+=N){const $=j.slice(R,R+N);I.push($)}return I}const p=65535;function h(j,N){if(N.length>p){const I=f(N);return j.apply(null,I.map(R=>j.apply(null,R)))}else return j.apply(null,N)}function m(j){const I=j.nodes().map(R=>{let $=j.node(R).rank;return $===void 0?Number.MIN_VALUE:$});return h(Math.max,I)}function g(j,N){let I={lhs:[],rhs:[]};return j.forEach(R=>{N(R)?I.lhs.push(R):I.rhs.push(R)}),I}function y(j,N){let I=Date.now();try{return N()}finally{console.log(j+" time: "+(Date.now()-I)+"ms")}}function b(j,N){return N()}let w=0;function S(j){var N=++w;return j+(""+N)}function k(j,N,I=1){N==null&&(N=j,j=0);let R=F=>F<N;I<0&&(R=F=>N<F);const $=[];for(let F=j;R(F);F+=I)$.push(F);return $}function _(j,N){const I={};for(const R of N)j[R]!==void 0&&(I[R]=j[R]);return I}function C(j,N){let I=N;return typeof N=="string"&&(I=R=>R[N]),Object.entries(j).reduce((R,[$,F])=>(R[$]=I(F,$),R),{})}function E(j,N){return j.reduce((I,R,$)=>(I[R]=N[$],I),{})}return nJ}var rJ,M6e;function kzn(){if(M6e)return rJ;M6e=1;let e=Szn(),t=jl().uniqueId;rJ={run:n,undo:s};function n(a){(a.graph().acyclicer==="greedy"?e(a,l(a)):r(a)).forEach(c=>{let u=a.edge(c);a.removeEdge(c),u.forwardName=c.name,u.reversed=!0,a.setEdge(c.w,c.v,u,t("rev"))});function l(c){return u=>c.edge(u).weight}}function r(a){let i=[],l={},c={};function u(d){Object.hasOwn(c,d)||(c[d]=!0,l[d]=!0,a.outEdges(d).forEach(f=>{Object.hasOwn(l,f.w)?i.push(f):u(f.w)}),delete l[d])}return a.nodes().forEach(u),i}function s(a){a.edges().forEach(i=>{let l=a.edge(i);if(l.reversed){a.removeEdge(i);let c=l.forwardName;delete l.reversed,delete l.forwardName,a.setEdge(i.w,i.v,l,c)}})}return rJ}var sJ,D6e;function Ozn(){if(D6e)return sJ;D6e=1;let e=jl();sJ={run:t,undo:r};function t(s){s.graph().dummyChains=[],s.edges().forEach(a=>n(s,a))}function n(s,a){let i=a.v,l=s.node(i).rank,c=a.w,u=s.node(c).rank,d=a.name,f=s.edge(a),p=f.labelRank;if(u===l+1)return;s.removeEdge(a);let h,m,g;for(g=0,++l;l<u;++g,++l)f.points=[],m={width:0,height:0,edgeLabel:f,edgeObj:a,rank:l},h=e.addDummyNode(s,"edge",m,"_d"),l===p&&(m.width=f.width,m.height=f.height,m.dummy="edge-label",m.labelpos=f.labelpos),s.setEdge(i,h,{weight:f.weight},d),g===0&&s.graph().dummyChains.push(h),i=h;s.setEdge(i,c,{weight:f.weight},d)}function r(s){s.graph().dummyChains.forEach(a=>{let i=s.node(a),l=i.edgeLabel,c;for(s.setEdge(i.edgeObj,l);i.dummy;)c=s.successors(a)[0],s.removeNode(a),l.points.push({x:i.x,y:i.y}),i.dummy==="edge-label"&&(l.x=i.x,l.y=i.y,l.width=i.width,l.height=i.height),a=c,i=s.node(a)})}return sJ}var aJ,L6e;function h7(){if(L6e)return aJ;L6e=1;const{applyWithChunking:e}=jl();aJ={longestPath:t,slack:n};function t(r){var s={};function a(i){var l=r.node(i);if(Object.hasOwn(s,i))return l.rank;s[i]=!0;let c=r.outEdges(i).map(d=>d==null?Number.POSITIVE_INFINITY:a(d.w)-r.edge(d).minlen);var u=e(Math.min,c);return u===Number.POSITIVE_INFINITY&&(u=0),l.rank=u}r.sources().forEach(a)}function n(r,s){return r.node(s.w).rank-r.node(s.v).rank-r.edge(s).minlen}return aJ}var iJ,F6e;function cxt(){if(F6e)return iJ;F6e=1;var e=Eg().Graph,t=h7().slack;iJ=n;function n(i){var l=new e({directed:!1}),c=i.nodes()[0],u=i.nodeCount();l.setNode(c,{});for(var d,f;r(l,i)<u;)d=s(l,i),f=l.hasNode(d.v)?t(i,d):-t(i,d),a(l,i,f);return l}function r(i,l){function c(u){l.nodeEdges(u).forEach(d=>{var f=d.v,p=u===f?d.w:f;!i.hasNode(p)&&!t(l,d)&&(i.setNode(p,{}),i.setEdge(u,p,{}),c(p))})}return i.nodes().forEach(c),i.nodeCount()}function s(i,l){return l.edges().reduce((u,d)=>{let f=Number.POSITIVE_INFINITY;return i.hasNode(d.v)!==i.hasNode(d.w)&&(f=t(l,d)),f<u[0]?[f,d]:u},[Number.POSITIVE_INFINITY,null])[1]}function a(i,l,c){i.nodes().forEach(u=>l.node(u).rank+=c)}return iJ}var oJ,z6e;function _zn(){if(z6e)return oJ;z6e=1;var e=cxt(),t=h7().slack,n=h7().longestPath,r=Eg().alg.preorder,s=Eg().alg.postorder,a=jl().simplify;oJ=i,i.initLowLimValues=d,i.initCutValues=l,i.calcCutValue=u,i.leaveEdge=p,i.enterEdge=h,i.exchangeEdges=m;function i(w){w=a(w),n(w);var S=e(w);d(S),l(S,w);for(var k,_;k=p(S);)_=h(S,w,k),m(S,w,k,_)}function l(w,S){var k=s(w,w.nodes());k=k.slice(0,k.length-1),k.forEach(_=>c(w,S,_))}function c(w,S,k){var _=w.node(k),C=_.parent;w.edge(k,C).cutvalue=u(w,S,k)}function u(w,S,k){var _=w.node(k),C=_.parent,E=!0,j=S.edge(k,C),N=0;return j||(E=!1,j=S.edge(C,k)),N=j.weight,S.nodeEdges(k).forEach(I=>{var R=I.v===k,$=R?I.w:I.v;if($!==C){var F=R===E,D=S.edge(I).weight;if(N+=F?D:-D,y(w,k,$)){var V=w.edge(k,$).cutvalue;N+=F?-V:V}}}),N}function d(w,S){arguments.length<2&&(S=w.nodes()[0]),f(w,{},1,S)}function f(w,S,k,_,C){var E=k,j=w.node(_);return S[_]=!0,w.neighbors(_).forEach(N=>{Object.hasOwn(S,N)||(k=f(w,S,k,N,_))}),j.low=E,j.lim=k++,C?j.parent=C:delete j.parent,k}function p(w){return w.edges().find(S=>w.edge(S).cutvalue<0)}function h(w,S,k){var _=k.v,C=k.w;S.hasEdge(_,C)||(_=k.w,C=k.v);var E=w.node(_),j=w.node(C),N=E,I=!1;E.lim>j.lim&&(N=j,I=!0);var R=S.edges().filter($=>I===b(w,w.node($.v),N)&&I!==b(w,w.node($.w),N));return R.reduce(($,F)=>t(S,F)<t(S,$)?F:$)}function m(w,S,k,_){var C=k.v,E=k.w;w.removeEdge(C,E),w.setEdge(_.v,_.w,{}),d(w),l(w,S),g(w,S)}function g(w,S){var k=w.nodes().find(C=>!S.node(C).parent),_=r(w,k);_=_.slice(1),_.forEach(C=>{var E=w.node(C).parent,j=S.edge(C,E),N=!1;j||(j=S.edge(E,C),N=!0),S.node(C).rank=S.node(E).rank+(N?j.minlen:-j.minlen)})}function y(w,S,k){return w.hasEdge(S,k)}function b(w,S,k){return k.low<=S.lim&&S.lim<=k.lim}return oJ}var lJ,B6e;function Czn(){if(B6e)return lJ;B6e=1;var e=h7(),t=e.longestPath,n=cxt(),r=_zn();lJ=s;function s(c){var u=c.graph().ranker;if(u instanceof Function)return u(c);switch(c.graph().ranker){case"network-simplex":l(c);break;case"tight-tree":i(c);break;case"longest-path":a(c);break;case"none":break;default:l(c)}}var a=t;function i(c){t(c),n(c)}function l(c){r(c)}return lJ}var cJ,U6e;function Ezn(){if(U6e)return cJ;U6e=1,cJ=e;function e(r){let s=n(r);r.graph().dummyChains.forEach(a=>{let i=r.node(a),l=i.edgeObj,c=t(r,s,l.v,l.w),u=c.path,d=c.lca,f=0,p=u[f],h=!0;for(;a!==l.w;){if(i=r.node(a),h){for(;(p=u[f])!==d&&r.node(p).maxRank<i.rank;)f++;p===d&&(h=!1)}if(!h){for(;f<u.length-1&&r.node(p=u[f+1]).minRank<=i.rank;)f++;p=u[f]}r.setParent(a,p),a=r.successors(a)[0]}})}function t(r,s,a,i){let l=[],c=[],u=Math.min(s[a].low,s[i].low),d=Math.max(s[a].lim,s[i].lim),f,p;f=a;do f=r.parent(f),l.push(f);while(f&&(s[f].low>u||d>s[f].lim));for(p=f,f=i;(f=r.parent(f))!==p;)c.push(f);return{path:l.concat(c.reverse()),lca:p}}function n(r){let s={},a=0;function i(l){let c=a;r.children(l).forEach(i),s[l]={low:c,lim:a++}}return r.children().forEach(i),s}return cJ}var uJ,q6e;function jzn(){if(q6e)return uJ;q6e=1;let e=jl();uJ={run:t,cleanup:a};function t(i){let l=e.addDummyNode(i,"root",{},"_root"),c=r(i),u=Object.values(c),d=e.applyWithChunking(Math.max,u)-1,f=2*d+1;i.graph().nestingRoot=l,i.edges().forEach(h=>i.edge(h).minlen*=f);let p=s(i)+1;i.children().forEach(h=>n(i,l,f,p,d,c,h)),i.graph().nodeRankFactor=f}function n(i,l,c,u,d,f,p){let h=i.children(p);if(!h.length){p!==l&&i.setEdge(l,p,{weight:0,minlen:c});return}let m=e.addBorderNode(i,"_bt"),g=e.addBorderNode(i,"_bb"),y=i.node(p);i.setParent(m,p),y.borderTop=m,i.setParent(g,p),y.borderBottom=g,h.forEach(b=>{n(i,l,c,u,d,f,b);let w=i.node(b),S=w.borderTop?w.borderTop:b,k=w.borderBottom?w.borderBottom:b,_=w.borderTop?u:2*u,C=S!==k?1:d-f[p]+1;i.setEdge(m,S,{weight:_,minlen:C,nestingEdge:!0}),i.setEdge(k,g,{weight:_,minlen:C,nestingEdge:!0})}),i.parent(p)||i.setEdge(l,m,{weight:0,minlen:d+f[p]})}function r(i){var l={};function c(u,d){var f=i.children(u);f&&f.length&&f.forEach(p=>c(p,d+1)),l[u]=d}return i.children().forEach(u=>c(u,1)),l}function s(i){return i.edges().reduce((l,c)=>l+i.edge(c).weight,0)}function a(i){var l=i.graph();i.removeNode(l.nestingRoot),delete l.nestingRoot,i.edges().forEach(c=>{var u=i.edge(c);u.nestingEdge&&i.removeEdge(c)})}return uJ}var dJ,V6e;function Tzn(){if(V6e)return dJ;V6e=1;let e=jl();dJ=t;function t(r){function s(a){let i=r.children(a),l=r.node(a);if(i.length&&i.forEach(s),Object.hasOwn(l,"minRank")){l.borderLeft=[],l.borderRight=[];for(let c=l.minRank,u=l.maxRank+1;c<u;++c)n(r,"borderLeft","_bl",a,l,c),n(r,"borderRight","_br",a,l,c)}}r.children().forEach(s)}function n(r,s,a,i,l,c){let u={width:0,height:0,rank:c,borderType:s},d=l[s][c-1],f=e.addDummyNode(r,"border",u,a);l[s][c]=f,r.setParent(f,i),d&&r.setEdge(d,f,{weight:1})}return dJ}var fJ,H6e;function Nzn(){if(H6e)return fJ;H6e=1,fJ={adjust:e,undo:t};function e(c){let u=c.graph().rankdir.toLowerCase();(u==="lr"||u==="rl")&&n(c)}function t(c){let u=c.graph().rankdir.toLowerCase();(u==="bt"||u==="rl")&&s(c),(u==="lr"||u==="rl")&&(i(c),n(c))}function n(c){c.nodes().forEach(u=>r(c.node(u))),c.edges().forEach(u=>r(c.edge(u)))}function r(c){let u=c.width;c.width=c.height,c.height=u}function s(c){c.nodes().forEach(u=>a(c.node(u))),c.edges().forEach(u=>{let d=c.edge(u);d.points.forEach(a),Object.hasOwn(d,"y")&&a(d)})}function a(c){c.y=-c.y}function i(c){c.nodes().forEach(u=>l(c.node(u))),c.edges().forEach(u=>{let d=c.edge(u);d.points.forEach(l),Object.hasOwn(d,"x")&&l(d)})}function l(c){let u=c.x;c.x=c.y,c.y=u}return fJ}var pJ,W6e;function Izn(){if(W6e)return pJ;W6e=1;let e=jl();pJ=t;function t(n){let r={},s=n.nodes().filter(d=>!n.children(d).length),a=s.map(d=>n.node(d).rank),i=e.applyWithChunking(Math.max,a),l=e.range(i+1).map(()=>[]);function c(d){if(r[d])return;r[d]=!0;let f=n.node(d);l[f.rank].push(d),n.successors(d).forEach(c)}return s.sort((d,f)=>n.node(d).rank-n.node(f).rank).forEach(c),l}return pJ}var hJ,Z6e;function Azn(){if(Z6e)return hJ;Z6e=1;let e=jl().zipObject;hJ=t;function t(r,s){let a=0;for(let i=1;i<s.length;++i)a+=n(r,s[i-1],s[i]);return a}function n(r,s,a){let i=e(a,a.map((p,h)=>h)),l=s.flatMap(p=>r.outEdges(p).map(h=>({pos:i[h.w],weight:r.edge(h).weight})).sort((h,m)=>h.pos-m.pos)),c=1;for(;c<a.length;)c<<=1;let u=2*c-1;c-=1;let d=new Array(u).fill(0),f=0;return l.forEach(p=>{let h=p.pos+c;d[h]+=p.weight;let m=0;for(;h>0;)h%2&&(m+=d[h+1]),h=h-1>>1,d[h]+=p.weight;f+=p.weight*m}),f}return hJ}var mJ,G6e;function Rzn(){if(G6e)return mJ;G6e=1,mJ=e;function e(t,n=[]){return n.map(r=>{let s=t.inEdges(r);if(s.length){let a=s.reduce((i,l)=>{let c=t.edge(l),u=t.node(l.v);return{sum:i.sum+c.weight*u.order,weight:i.weight+c.weight}},{sum:0,weight:0});return{v:r,barycenter:a.sum/a.weight,weight:a.weight}}else return{v:r}})}return mJ}var gJ,Q6e;function Pzn(){if(Q6e)return gJ;Q6e=1;let e=jl();gJ=t;function t(s,a){let i={};s.forEach((c,u)=>{let d=i[c.v]={indegree:0,in:[],out:[],vs:[c.v],i:u};c.barycenter!==void 0&&(d.barycenter=c.barycenter,d.weight=c.weight)}),a.edges().forEach(c=>{let u=i[c.v],d=i[c.w];u!==void 0&&d!==void 0&&(d.indegree++,u.out.push(i[c.w]))});let l=Object.values(i).filter(c=>!c.indegree);return n(l)}function n(s){let a=[];function i(c){return u=>{u.merged||(u.barycenter===void 0||c.barycenter===void 0||u.barycenter>=c.barycenter)&&r(c,u)}}function l(c){return u=>{u.in.push(c),--u.indegree===0&&s.push(u)}}for(;s.length;){let c=s.pop();a.push(c),c.in.reverse().forEach(i(c)),c.out.forEach(l(c))}return a.filter(c=>!c.merged).map(c=>e.pick(c,["vs","i","barycenter","weight"]))}function r(s,a){let i=0,l=0;s.weight&&(i+=s.barycenter*s.weight,l+=s.weight),a.weight&&(i+=a.barycenter*a.weight,l+=a.weight),s.vs=a.vs.concat(s.vs),s.barycenter=i/l,s.weight=l,s.i=Math.min(a.i,s.i),a.merged=!0}return gJ}var vJ,Y6e;function $zn(){if(Y6e)return vJ;Y6e=1;let e=jl();vJ=t;function t(s,a){let i=e.partition(s,m=>Object.hasOwn(m,"barycenter")),l=i.lhs,c=i.rhs.sort((m,g)=>g.i-m.i),u=[],d=0,f=0,p=0;l.sort(r(!!a)),p=n(u,c,p),l.forEach(m=>{p+=m.vs.length,u.push(m.vs),d+=m.barycenter*m.weight,f+=m.weight,p=n(u,c,p)});let h={vs:u.flat(!0)};return f&&(h.barycenter=d/f,h.weight=f),h}function n(s,a,i){let l;for(;a.length&&(l=a[a.length-1]).i<=i;)a.pop(),s.push(l.vs),i++;return i}function r(s){return(a,i)=>a.barycenter<i.barycenter?-1:a.barycenter>i.barycenter?1:s?i.i-a.i:a.i-i.i}return vJ}var yJ,X6e;function Mzn(){if(X6e)return yJ;X6e=1;let e=Rzn(),t=Pzn(),n=$zn();yJ=r;function r(i,l,c,u){let d=i.children(l),f=i.node(l),p=f?f.borderLeft:void 0,h=f?f.borderRight:void 0,m={};p&&(d=d.filter(w=>w!==p&&w!==h));let g=e(i,d);g.forEach(w=>{if(i.children(w.v).length){let S=r(i,w.v,c,u);m[w.v]=S,Object.hasOwn(S,"barycenter")&&a(w,S)}});let y=t(g,c);s(y,m);let b=n(y,u);if(p&&(b.vs=[p,b.vs,h].flat(!0),i.predecessors(p).length)){let w=i.node(i.predecessors(p)[0]),S=i.node(i.predecessors(h)[0]);Object.hasOwn(b,"barycenter")||(b.barycenter=0,b.weight=0),b.barycenter=(b.barycenter*b.weight+w.order+S.order)/(b.weight+2),b.weight+=2}return b}function s(i,l){i.forEach(c=>{c.vs=c.vs.flatMap(u=>l[u]?l[u].vs:u)})}function a(i,l){i.barycenter!==void 0?(i.barycenter=(i.barycenter*i.weight+l.barycenter*l.weight)/(i.weight+l.weight),i.weight+=l.weight):(i.barycenter=l.barycenter,i.weight=l.weight)}return yJ}var bJ,K6e;function Dzn(){if(K6e)return bJ;K6e=1;let e=Eg().Graph,t=jl();bJ=n;function n(s,a,i,l){l||(l=s.nodes());let c=r(s),u=new e({compound:!0}).setGraph({root:c}).setDefaultNodeLabel(d=>s.node(d));return l.forEach(d=>{let f=s.node(d),p=s.parent(d);(f.rank===a||f.minRank<=a&&a<=f.maxRank)&&(u.setNode(d),u.setParent(d,p||c),s[i](d).forEach(h=>{let m=h.v===d?h.w:h.v,g=u.edge(m,d),y=g!==void 0?g.weight:0;u.setEdge(m,d,{weight:s.edge(h).weight+y})}),Object.hasOwn(f,"minRank")&&u.setNode(d,{borderLeft:f.borderLeft[a],borderRight:f.borderRight[a]}))}),u}function r(s){for(var a;s.hasNode(a=t.uniqueId("_root")););return a}return bJ}var xJ,J6e;function Lzn(){if(J6e)return xJ;J6e=1,xJ=e;function e(t,n,r){let s={},a;r.forEach(i=>{let l=t.parent(i),c,u;for(;l;){if(c=t.parent(l),c?(u=s[c],s[c]=l):(u=a,a=l),u&&u!==l){n.setEdge(u,l);return}l=c}})}return xJ}var wJ,e8e;function Fzn(){if(e8e)return wJ;e8e=1;let e=Izn(),t=Azn(),n=Mzn(),r=Dzn(),s=Lzn(),a=Eg().Graph,i=jl();wJ=l;function l(f,p){if(p&&typeof p.customOrder=="function"){p.customOrder(f,l);return}let h=i.maxRank(f),m=c(f,i.range(1,h+1),"inEdges"),g=c(f,i.range(h-1,-1,-1),"outEdges"),y=e(f);if(d(f,y),p&&p.disableOptimalOrderHeuristic)return;let b=Number.POSITIVE_INFINITY,w;for(let S=0,k=0;k<4;++S,++k){u(S%2?m:g,S%4>=2),y=i.buildLayerMatrix(f);let _=t(f,y);_<b&&(k=0,w=Object.assign({},y),b=_)}d(f,w)}function c(f,p,h){const m=new Map,g=(y,b)=>{m.has(y)||m.set(y,[]),m.get(y).push(b)};for(const y of f.nodes()){const b=f.node(y);if(typeof b.rank=="number"&&g(b.rank,y),typeof b.minRank=="number"&&typeof b.maxRank=="number")for(let w=b.minRank;w<=b.maxRank;w++)w!==b.rank&&g(w,y)}return p.map(function(y){return r(f,y,h,m.get(y)||[])})}function u(f,p){let h=new a;f.forEach(function(m){let g=m.graph().root,y=n(m,g,h,p);y.vs.forEach((b,w)=>m.node(b).order=w),s(m,h,y.vs)})}function d(f,p){Object.values(p).forEach(h=>h.forEach((m,g)=>f.node(m).order=g))}return wJ}var SJ,t8e;function zzn(){if(t8e)return SJ;t8e=1;let e=Eg().Graph,t=jl();SJ={positionX:h,findType1Conflicts:n,findType2Conflicts:r,addConflict:a,hasConflict:i,verticalAlignment:l,horizontalCompaction:c,alignCoordinates:f,findSmallestWidthAlignment:d,balance:p};function n(y,b){let w={};function S(k,_){let C=0,E=0,j=k.length,N=_[_.length-1];return _.forEach((I,R)=>{let $=s(y,I),F=$?y.node($).order:j;($||I===N)&&(_.slice(E,R+1).forEach(D=>{y.predecessors(D).forEach(V=>{let W=y.node(V),L=W.order;(L<C||F<L)&&!(W.dummy&&y.node(D).dummy)&&a(w,V,D)})}),E=R+1,C=F)}),_}return b.length&&b.reduce(S),w}function r(y,b){let w={};function S(_,C,E,j,N){let I;t.range(C,E).forEach(R=>{I=_[R],y.node(I).dummy&&y.predecessors(I).forEach($=>{let F=y.node($);F.dummy&&(F.order<j||F.order>N)&&a(w,$,I)})})}function k(_,C){let E=-1,j,N=0;return C.forEach((I,R)=>{if(y.node(I).dummy==="border"){let $=y.predecessors(I);$.length&&(j=y.node($[0]).order,S(C,N,R,E,j),N=R,E=j)}S(C,N,C.length,j,_.length)}),C}return b.length&&b.reduce(k),w}function s(y,b){if(y.node(b).dummy)return y.predecessors(b).find(w=>y.node(w).dummy)}function a(y,b,w){if(b>w){let k=b;b=w,w=k}let S=y[b];S||(y[b]=S={}),S[w]=!0}function i(y,b,w){if(b>w){let S=b;b=w,w=S}return!!y[b]&&Object.hasOwn(y[b],w)}function l(y,b,w,S){let k={},_={},C={};return b.forEach(E=>{E.forEach((j,N)=>{k[j]=j,_[j]=j,C[j]=N})}),b.forEach(E=>{let j=-1;E.forEach(N=>{let I=S(N);if(I.length){I=I.sort(($,F)=>C[$]-C[F]);let R=(I.length-1)/2;for(let $=Math.floor(R),F=Math.ceil(R);$<=F;++$){let D=I[$];_[N]===N&&j<C[D]&&!i(w,N,D)&&(_[D]=N,_[N]=k[N]=k[D],j=C[D])}}})}),{root:k,align:_}}function c(y,b,w,S,k){let _={},C=u(y,b,w,k),E=k?"borderLeft":"borderRight";function j(R,$){let F=C.nodes(),D=F.pop(),V={};for(;D;)V[D]?R(D):(V[D]=!0,F.push(D),F=F.concat($(D))),D=F.pop()}function N(R){_[R]=C.inEdges(R).reduce(($,F)=>Math.max($,_[F.v]+C.edge(F)),0)}function I(R){let $=C.outEdges(R).reduce((D,V)=>Math.min(D,_[V.w]-C.edge(V)),Number.POSITIVE_INFINITY),F=y.node(R);$!==Number.POSITIVE_INFINITY&&F.borderType!==E&&(_[R]=Math.max(_[R],$))}return j(N,C.predecessors.bind(C)),j(I,C.successors.bind(C)),Object.keys(S).forEach(R=>_[R]=_[w[R]]),_}function u(y,b,w,S){let k=new e,_=y.graph(),C=m(_.nodesep,_.edgesep,S);return b.forEach(E=>{let j;E.forEach(N=>{let I=w[N];if(k.setNode(I),j){var R=w[j],$=k.edge(R,I);k.setEdge(R,I,Math.max(C(y,N,j),$||0))}j=N})}),k}function d(y,b){return Object.values(b).reduce((w,S)=>{let k=Number.NEGATIVE_INFINITY,_=Number.POSITIVE_INFINITY;Object.entries(S).forEach(([E,j])=>{let N=g(y,E)/2;k=Math.max(j+N,k),_=Math.min(j-N,_)});const C=k-_;return C<w[0]&&(w=[C,S]),w},[Number.POSITIVE_INFINITY,null])[1]}function f(y,b){let w=Object.values(b),S=t.applyWithChunking(Math.min,w),k=t.applyWithChunking(Math.max,w);["u","d"].forEach(_=>{["l","r"].forEach(C=>{let E=_+C,j=y[E];if(j===b)return;let N=Object.values(j),I=S-t.applyWithChunking(Math.min,N);C!=="l"&&(I=k-t.applyWithChunking(Math.max,N)),I&&(y[E]=t.mapValues(j,R=>R+I))})})}function p(y,b){return t.mapValues(y.ul,(w,S)=>{if(b)return y[b.toLowerCase()][S];{let k=Object.values(y).map(_=>_[S]).sort((_,C)=>_-C);return(k[1]+k[2])/2}})}function h(y){let b=t.buildLayerMatrix(y),w=Object.assign(n(y,b),r(y,b)),S={},k;["u","d"].forEach(C=>{k=C==="u"?b:Object.values(b).reverse(),["l","r"].forEach(E=>{E==="r"&&(k=k.map(R=>Object.values(R).reverse()));let j=(C==="u"?y.predecessors:y.successors).bind(y),N=l(y,k,w,j),I=c(y,k,N.root,N.align,E==="r");E==="r"&&(I=t.mapValues(I,R=>-R)),S[C+E]=I})});let _=d(y,S);return f(S,_),p(S,y.graph().align)}function m(y,b,w){return(S,k,_)=>{let C=S.node(k),E=S.node(_),j=0,N;if(j+=C.width/2,Object.hasOwn(C,"labelpos"))switch(C.labelpos.toLowerCase()){case"l":N=-C.width/2;break;case"r":N=C.width/2;break}if(N&&(j+=w?N:-N),N=0,j+=(C.dummy?b:y)/2,j+=(E.dummy?b:y)/2,j+=E.width/2,Object.hasOwn(E,"labelpos"))switch(E.labelpos.toLowerCase()){case"l":N=E.width/2;break;case"r":N=-E.width/2;break}return N&&(j+=w?N:-N),N=0,j}}function g(y,b){return y.node(b).width}return SJ}var kJ,n8e;function Bzn(){if(n8e)return kJ;n8e=1;let e=jl(),t=zzn().positionX;kJ=n;function n(s){s=e.asNonCompoundGraph(s),r(s),Object.entries(t(s)).forEach(([a,i])=>s.node(a).x=i)}function r(s){let a=e.buildLayerMatrix(s),i=s.graph().ranksep,l=0;a.forEach(c=>{const u=c.reduce((d,f)=>{const p=s.node(f).height;return d>p?d:p},0);c.forEach(d=>s.node(d).y=l+u/2),l+=u+i})}return kJ}var OJ,r8e;function Uzn(){if(r8e)return OJ;r8e=1;let e=kzn(),t=Ozn(),n=Czn(),r=jl().normalizeRanks,s=Ezn(),a=jl().removeEmptyRanks,i=jzn(),l=Tzn(),c=Nzn(),u=Fzn(),d=Bzn(),f=jl(),p=Eg().Graph;OJ=h;function h(P,q){let Z=q&&q.debugTiming?f.time:f.notime;Z("layout",()=>{let X=Z(" buildLayoutGraph",()=>j(P));Z(" runLayout",()=>m(X,Z,q)),Z(" updateInputGraph",()=>g(P,X))})}function m(P,q,Z){q(" makeSpaceForEdgeLabels",()=>N(P)),q(" removeSelfEdges",()=>z(P)),q(" acyclic",()=>e.run(P)),q(" nestingGraph.run",()=>i.run(P)),q(" rank",()=>n(f.asNonCompoundGraph(P))),q(" injectEdgeLabelProxies",()=>I(P)),q(" removeEmptyRanks",()=>a(P)),q(" nestingGraph.cleanup",()=>i.cleanup(P)),q(" normalizeRanks",()=>r(P)),q(" assignRankMinMax",()=>R(P)),q(" removeEdgeLabelProxies",()=>$(P)),q(" normalize.run",()=>t.run(P)),q(" parentDummyChains",()=>s(P)),q(" addBorderSegments",()=>l(P)),q(" order",()=>u(P,Z)),q(" insertSelfEdges",()=>B(P)),q(" adjustCoordinateSystem",()=>c.adjust(P)),q(" position",()=>d(P)),q(" positionSelfEdges",()=>M(P)),q(" removeBorderNodes",()=>L(P)),q(" normalize.undo",()=>t.undo(P)),q(" fixupEdgeLabelCoords",()=>V(P)),q(" undoCoordinateSystem",()=>c.undo(P)),q(" translateGraph",()=>F(P)),q(" assignNodeIntersects",()=>D(P)),q(" reversePoints",()=>W(P)),q(" acyclic.undo",()=>e.undo(P))}function g(P,q){P.nodes().forEach(Z=>{let X=P.node(Z),te=q.node(Z);X&&(X.x=te.x,X.y=te.y,X.rank=te.rank,q.children(Z).length&&(X.width=te.width,X.height=te.height))}),P.edges().forEach(Z=>{let X=P.edge(Z),te=q.edge(Z);X.points=te.points,Object.hasOwn(te,"x")&&(X.x=te.x,X.y=te.y)}),P.graph().width=q.graph().width,P.graph().height=q.graph().height}let y=["nodesep","edgesep","ranksep","marginx","marginy"],b={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},w=["acyclicer","ranker","rankdir","align"],S=["width","height","rank"],k={width:0,height:0},_=["minlen","weight","width","height","labeloffset"],C={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},E=["labelpos"];function j(P){let q=new p({multigraph:!0,compound:!0}),Z=U(P.graph());return q.setGraph(Object.assign({},b,G(Z,y),f.pick(Z,w))),P.nodes().forEach(X=>{let te=U(P.node(X));const J=G(te,S);Object.keys(k).forEach(ee=>{J[ee]===void 0&&(J[ee]=k[ee])}),q.setNode(X,J),q.setParent(X,P.parent(X))}),P.edges().forEach(X=>{let te=U(P.edge(X));q.setEdge(X,Object.assign({},C,G(te,_),f.pick(te,E)))}),q}function N(P){let q=P.graph();q.ranksep/=2,P.edges().forEach(Z=>{let X=P.edge(Z);X.minlen*=2,X.labelpos.toLowerCase()!=="c"&&(q.rankdir==="TB"||q.rankdir==="BT"?X.width+=X.labeloffset:X.height+=X.labeloffset)})}function I(P){P.edges().forEach(q=>{let Z=P.edge(q);if(Z.width&&Z.height){let X=P.node(q.v),J={rank:(P.node(q.w).rank-X.rank)/2+X.rank,e:q};f.addDummyNode(P,"edge-proxy",J,"_ep")}})}function R(P){let q=0;P.nodes().forEach(Z=>{let X=P.node(Z);X.borderTop&&(X.minRank=P.node(X.borderTop).rank,X.maxRank=P.node(X.borderBottom).rank,q=Math.max(q,X.maxRank))}),P.graph().maxRank=q}function $(P){P.nodes().forEach(q=>{let Z=P.node(q);Z.dummy==="edge-proxy"&&(P.edge(Z.e).labelRank=Z.rank,P.removeNode(q))})}function F(P){let q=Number.POSITIVE_INFINITY,Z=0,X=Number.POSITIVE_INFINITY,te=0,J=P.graph(),ee=J.marginx||0,ae=J.marginy||0;function de(Y){let ne=Y.x,ce=Y.y,pe=Y.width,le=Y.height;q=Math.min(q,ne-pe/2),Z=Math.max(Z,ne+pe/2),X=Math.min(X,ce-le/2),te=Math.max(te,ce+le/2)}P.nodes().forEach(Y=>de(P.node(Y))),P.edges().forEach(Y=>{let ne=P.edge(Y);Object.hasOwn(ne,"x")&&de(ne)}),q-=ee,X-=ae,P.nodes().forEach(Y=>{let ne=P.node(Y);ne.x-=q,ne.y-=X}),P.edges().forEach(Y=>{let ne=P.edge(Y);ne.points.forEach(ce=>{ce.x-=q,ce.y-=X}),Object.hasOwn(ne,"x")&&(ne.x-=q),Object.hasOwn(ne,"y")&&(ne.y-=X)}),J.width=Z-q+ee,J.height=te-X+ae}function D(P){P.edges().forEach(q=>{let Z=P.edge(q),X=P.node(q.v),te=P.node(q.w),J,ee;Z.points?(J=Z.points[0],ee=Z.points[Z.points.length-1]):(Z.points=[],J=te,ee=X),Z.points.unshift(f.intersectRect(X,J)),Z.points.push(f.intersectRect(te,ee))})}function V(P){P.edges().forEach(q=>{let Z=P.edge(q);if(Object.hasOwn(Z,"x"))switch((Z.labelpos==="l"||Z.labelpos==="r")&&(Z.width-=Z.labeloffset),Z.labelpos){case"l":Z.x-=Z.width/2+Z.labeloffset;break;case"r":Z.x+=Z.width/2+Z.labeloffset;break}})}function W(P){P.edges().forEach(q=>{let Z=P.edge(q);Z.reversed&&Z.points.reverse()})}function L(P){P.nodes().forEach(q=>{if(P.children(q).length){let Z=P.node(q),X=P.node(Z.borderTop),te=P.node(Z.borderBottom),J=P.node(Z.borderLeft[Z.borderLeft.length-1]),ee=P.node(Z.borderRight[Z.borderRight.length-1]);Z.width=Math.abs(ee.x-J.x),Z.height=Math.abs(te.y-X.y),Z.x=J.x+Z.width/2,Z.y=X.y+Z.height/2}}),P.nodes().forEach(q=>{P.node(q).dummy==="border"&&P.removeNode(q)})}function z(P){P.edges().forEach(q=>{if(q.v===q.w){var Z=P.node(q.v);Z.selfEdges||(Z.selfEdges=[]),Z.selfEdges.push({e:q,label:P.edge(q)}),P.removeEdge(q)}})}function B(P){var q=f.buildLayerMatrix(P);q.forEach(Z=>{var X=0;Z.forEach((te,J)=>{var ee=P.node(te);ee.order=J+X,(ee.selfEdges||[]).forEach(ae=>{f.addDummyNode(P,"selfedge",{width:ae.label.width,height:ae.label.height,rank:ee.rank,order:J+ ++X,e:ae.e,label:ae.label},"_se")}),delete ee.selfEdges})})}function M(P){P.nodes().forEach(q=>{var Z=P.node(q);if(Z.dummy==="selfedge"){var X=P.node(Z.e.v),te=X.x+X.width/2,J=X.y,ee=Z.x-te,ae=X.height/2;P.setEdge(Z.e,Z.label),P.removeNode(q),Z.label.points=[{x:te+2*ee/3,y:J-ae},{x:te+5*ee/6,y:J-ae},{x:te+ee,y:J},{x:te+5*ee/6,y:J+ae},{x:te+2*ee/3,y:J+ae}],Z.label.x=Z.x,Z.label.y=Z.y}})}function G(P,q){return f.mapValues(f.pick(P,q),Number)}function U(P){var q={};return P&&Object.entries(P).forEach(([Z,X])=>{typeof Z=="string"&&(Z=Z.toLowerCase()),q[Z]=X}),q}return OJ}var _J,s8e;function qzn(){if(s8e)return _J;s8e=1;let e=jl(),t=Eg().Graph;_J={debugOrdering:n};function n(r){let s=e.buildLayerMatrix(r),a=new t({compound:!0,multigraph:!0}).setGraph({});return r.nodes().forEach(i=>{a.setNode(i,{label:i}),a.setParent(i,"layer"+r.node(i).rank)}),r.edges().forEach(i=>a.setEdge(i.v,i.w,{},i.name)),s.forEach((i,l)=>{let c="layer"+l;a.setNode(c,{rank:"same"}),i.reduce((u,d)=>(a.setEdge(u,d,{style:"invis"}),d))}),a}return _J}var CJ,a8e;function Vzn(){return a8e||(a8e=1,CJ="1.1.8"),CJ}var EJ,i8e;function Hzn(){return i8e||(i8e=1,EJ={graphlib:Eg(),layout:Uzn(),debug:qzn(),util:{time:jl().time,notime:jl().notime},version:Vzn()}),EJ}var Wzn=Hzn();const o8e=Cc(Wzn);function Pl(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=Pl(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var Zzn={value:()=>{}};function mV(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new D9(n)}function D9(e){this._=e}function Gzn(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",s=n.indexOf(".");if(s>=0&&(r=n.slice(s+1),n=n.slice(0,s)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}D9.prototype=mV.prototype={constructor:D9,on:function(e,t){var n=this._,r=Gzn(e+"",n),s,a=-1,i=r.length;if(arguments.length<2){for(;++a<i;)if((s=(e=r[a]).type)&&(s=Qzn(n[s],e.name)))return s;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++a<i;)if(s=(e=r[a]).type)n[s]=l8e(n[s],e.name,t);else if(t==null)for(s in n)n[s]=l8e(n[s],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new D9(e)},call:function(e,t){if((s=arguments.length-2)>0)for(var n=new Array(s),r=0,s,a;r<s;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],r=0,s=a.length;r<s;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],s=0,a=r.length;s<a;++s)r[s].value.apply(t,n)}};function Qzn(e,t){for(var n=0,r=e.length,s;n<r;++n)if((s=e[n]).name===t)return s.value}function l8e(e,t,n){for(var r=0,s=e.length;r<s;++r)if(e[r].name===t){e[r]=Zzn,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var ohe="http://www.w3.org/1999/xhtml";const c8e={svg:"http://www.w3.org/2000/svg",xhtml:ohe,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function gV(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),c8e.hasOwnProperty(t)?{space:c8e[t],local:e}:e}function Yzn(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===ohe&&t.documentElement.namespaceURI===ohe?t.createElement(e):t.createElementNS(n,e)}}function Xzn(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function uxt(e){var t=gV(e);return(t.local?Xzn:Yzn)(t)}function Kzn(){}function Jwe(e){return e==null?Kzn:function(){return this.querySelector(e)}}function Jzn(e){typeof e!="function"&&(e=Jwe(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=new Array(i),c,u,d=0;d<i;++d)(c=a[d])&&(u=e.call(c,c.__data__,d,a))&&("__data__"in c&&(u.__data__=c.__data__),l[d]=u);return new Dp(r,this._parents)}function e7n(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function t7n(){return[]}function dxt(e){return e==null?t7n:function(){return this.querySelectorAll(e)}}function n7n(e){return function(){return e7n(e.apply(this,arguments))}}function r7n(e){typeof e=="function"?e=n7n(e):e=dxt(e);for(var t=this._groups,n=t.length,r=[],s=[],a=0;a<n;++a)for(var i=t[a],l=i.length,c,u=0;u<l;++u)(c=i[u])&&(r.push(e.call(c,c.__data__,u,i)),s.push(c));return new Dp(r,s)}function fxt(e){return function(){return this.matches(e)}}function pxt(e){return function(t){return t.matches(e)}}var s7n=Array.prototype.find;function a7n(e){return function(){return s7n.call(this.children,e)}}function i7n(){return this.firstElementChild}function o7n(e){return this.select(e==null?i7n:a7n(typeof e=="function"?e:pxt(e)))}var l7n=Array.prototype.filter;function c7n(){return Array.from(this.children)}function u7n(e){return function(){return l7n.call(this.children,e)}}function d7n(e){return this.selectAll(e==null?c7n:u7n(typeof e=="function"?e:pxt(e)))}function f7n(e){typeof e!="function"&&(e=fxt(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=[],c,u=0;u<i;++u)(c=a[u])&&e.call(c,c.__data__,u,a)&&l.push(c);return new Dp(r,this._parents)}function hxt(e){return new Array(e.length)}function p7n(){return new Dp(this._enter||this._groups.map(hxt),this._parents)}function m7(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}m7.prototype={constructor:m7,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function h7n(e){return function(){return e}}function m7n(e,t,n,r,s,a){for(var i=0,l,c=t.length,u=a.length;i<u;++i)(l=t[i])?(l.__data__=a[i],r[i]=l):n[i]=new m7(e,a[i]);for(;i<c;++i)(l=t[i])&&(s[i]=l)}function g7n(e,t,n,r,s,a,i){var l,c,u=new Map,d=t.length,f=a.length,p=new Array(d),h;for(l=0;l<d;++l)(c=t[l])&&(p[l]=h=i.call(c,c.__data__,l,t)+"",u.has(h)?s[l]=c:u.set(h,c));for(l=0;l<f;++l)h=i.call(e,a[l],l,a)+"",(c=u.get(h))?(r[l]=c,c.__data__=a[l],u.delete(h)):n[l]=new m7(e,a[l]);for(l=0;l<d;++l)(c=t[l])&&u.get(p[l])===c&&(s[l]=c)}function v7n(e){return e.__data__}function y7n(e,t){if(!arguments.length)return Array.from(this,v7n);var n=t?g7n:m7n,r=this._parents,s=this._groups;typeof e!="function"&&(e=h7n(e));for(var a=s.length,i=new Array(a),l=new Array(a),c=new Array(a),u=0;u<a;++u){var d=r[u],f=s[u],p=f.length,h=b7n(e.call(d,d&&d.__data__,u,r)),m=h.length,g=l[u]=new Array(m),y=i[u]=new Array(m),b=c[u]=new Array(p);n(d,f,g,y,b,h,t);for(var w=0,S=0,k,_;w<m;++w)if(k=g[w]){for(w>=S&&(S=w+1);!(_=y[S])&&++S<m;);k._next=_||null}}return i=new Dp(i,r),i._enter=l,i._exit=c,i}function b7n(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function x7n(){return new Dp(this._exit||this._groups.map(hxt),this._parents)}function w7n(e,t,n){var r=this.enter(),s=this,a=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(s=t(s),s&&(s=s.selection())),n==null?a.remove():n(a),r&&s?r.merge(s).order():s}function S7n(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,s=n.length,a=r.length,i=Math.min(s,a),l=new Array(s),c=0;c<i;++c)for(var u=n[c],d=r[c],f=u.length,p=l[c]=new Array(f),h,m=0;m<f;++m)(h=u[m]||d[m])&&(p[m]=h);for(;c<s;++c)l[c]=n[c];return new Dp(l,this._parents)}function k7n(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],s=r.length-1,a=r[s],i;--s>=0;)(i=r[s])&&(a&&i.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(i,a),a=i);return this}function O7n(e){e||(e=_7n);function t(f,p){return f&&p?e(f.__data__,p.__data__):!f-!p}for(var n=this._groups,r=n.length,s=new Array(r),a=0;a<r;++a){for(var i=n[a],l=i.length,c=s[a]=new Array(l),u,d=0;d<l;++d)(u=i[d])&&(c[d]=u);c.sort(t)}return new Dp(s,this._parents).order()}function _7n(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function C7n(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function E7n(){return Array.from(this)}function j7n(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],s=0,a=r.length;s<a;++s){var i=r[s];if(i)return i}return null}function T7n(){let e=0;for(const t of this)++e;return e}function N7n(){return!this.node()}function I7n(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var s=t[n],a=0,i=s.length,l;a<i;++a)(l=s[a])&&e.call(l,l.__data__,a,s);return this}function A7n(e){return function(){this.removeAttribute(e)}}function R7n(e){return function(){this.removeAttributeNS(e.space,e.local)}}function P7n(e,t){return function(){this.setAttribute(e,t)}}function $7n(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function M7n(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function D7n(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function L7n(e,t){var n=gV(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?R7n:A7n:typeof t=="function"?n.local?D7n:M7n:n.local?$7n:P7n)(n,t))}function mxt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function F7n(e){return function(){this.style.removeProperty(e)}}function z7n(e,t,n){return function(){this.style.setProperty(e,t,n)}}function B7n(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function U7n(e,t,n){return arguments.length>1?this.each((t==null?F7n:typeof t=="function"?B7n:z7n)(e,t,n??"")):hT(this.node(),e)}function hT(e,t){return e.style.getPropertyValue(t)||mxt(e).getComputedStyle(e,null).getPropertyValue(t)}function q7n(e){return function(){delete this[e]}}function V7n(e,t){return function(){this[e]=t}}function H7n(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function W7n(e,t){return arguments.length>1?this.each((t==null?q7n:typeof t=="function"?H7n:V7n)(e,t)):this.node()[e]}function gxt(e){return e.trim().split(/^|\s+/)}function e1e(e){return e.classList||new vxt(e)}function vxt(e){this._node=e,this._names=gxt(e.getAttribute("class")||"")}vxt.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function yxt(e,t){for(var n=e1e(e),r=-1,s=t.length;++r<s;)n.add(t[r])}function bxt(e,t){for(var n=e1e(e),r=-1,s=t.length;++r<s;)n.remove(t[r])}function Z7n(e){return function(){yxt(this,e)}}function G7n(e){return function(){bxt(this,e)}}function Q7n(e,t){return function(){(t.apply(this,arguments)?yxt:bxt)(this,e)}}function Y7n(e,t){var n=gxt(e+"");if(arguments.length<2){for(var r=e1e(this.node()),s=-1,a=n.length;++s<a;)if(!r.contains(n[s]))return!1;return!0}return this.each((typeof t=="function"?Q7n:t?Z7n:G7n)(n,t))}function X7n(){this.textContent=""}function K7n(e){return function(){this.textContent=e}}function J7n(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function eBn(e){return arguments.length?this.each(e==null?X7n:(typeof e=="function"?J7n:K7n)(e)):this.node().textContent}function tBn(){this.innerHTML=""}function nBn(e){return function(){this.innerHTML=e}}function rBn(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function sBn(e){return arguments.length?this.each(e==null?tBn:(typeof e=="function"?rBn:nBn)(e)):this.node().innerHTML}function aBn(){this.nextSibling&&this.parentNode.appendChild(this)}function iBn(){return this.each(aBn)}function oBn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function lBn(){return this.each(oBn)}function cBn(e){var t=typeof e=="function"?e:uxt(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function uBn(){return null}function dBn(e,t){var n=typeof e=="function"?e:uxt(e),r=t==null?uBn:typeof t=="function"?t:Jwe(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function fBn(){var e=this.parentNode;e&&e.removeChild(this)}function pBn(){return this.each(fBn)}function hBn(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function mBn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function gBn(e){return this.select(e?mBn:hBn)}function vBn(e){return arguments.length?this.property("__data__",e):this.node().__data__}function yBn(e){return function(t){e.call(this,t,this.__data__)}}function bBn(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function xBn(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,s=t.length,a;n<s;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function wBn(e,t,n){return function(){var r=this.__on,s,a=yBn(t);if(r){for(var i=0,l=r.length;i<l;++i)if((s=r[i]).type===e.type&&s.name===e.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=a,s.options=n),s.value=t;return}}this.addEventListener(e.type,a,n),s={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(s):this.__on=[s]}}function SBn(e,t,n){var r=bBn(e+""),s,a=r.length,i;if(arguments.length<2){var l=this.node().__on;if(l){for(var c=0,u=l.length,d;c<u;++c)for(s=0,d=l[c];s<a;++s)if((i=r[s]).type===d.type&&i.name===d.name)return d.value}return}for(l=t?wBn:xBn,s=0;s<a;++s)this.each(l(r[s],t,n));return this}function xxt(e,t,n){var r=mxt(e),s=r.CustomEvent;typeof s=="function"?s=new s(t,n):(s=r.document.createEvent("Event"),n?(s.initEvent(t,n.bubbles,n.cancelable),s.detail=n.detail):s.initEvent(t,!1,!1)),e.dispatchEvent(s)}function kBn(e,t){return function(){return xxt(this,e,t)}}function OBn(e,t){return function(){return xxt(this,e,t.apply(this,arguments))}}function _Bn(e,t){return this.each((typeof t=="function"?OBn:kBn)(e,t))}function*CBn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],s=0,a=r.length,i;s<a;++s)(i=r[s])&&(yield i)}var wxt=[null];function Dp(e,t){this._groups=e,this._parents=t}function aD(){return new Dp([[document.documentElement]],wxt)}function EBn(){return this}Dp.prototype=aD.prototype={constructor:Dp,select:Jzn,selectAll:r7n,selectChild:o7n,selectChildren:d7n,filter:f7n,data:y7n,enter:p7n,exit:x7n,join:w7n,merge:S7n,selection:EBn,order:k7n,sort:O7n,call:C7n,nodes:E7n,node:j7n,size:T7n,empty:N7n,each:I7n,attr:L7n,style:U7n,property:W7n,classed:Y7n,text:eBn,html:sBn,raise:iBn,lower:lBn,append:cBn,insert:dBn,remove:pBn,clone:gBn,datum:vBn,on:SBn,dispatch:_Bn,[Symbol.iterator]:CBn};function fp(e){return typeof e=="string"?new Dp([[document.querySelector(e)]],[document.documentElement]):new Dp([[e]],wxt)}function jBn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Xm(e,t){if(e=jBn(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}}return[e.pageX,e.pageY]}const TBn={passive:!1},Z$={capture:!0,passive:!1};function jJ(e){e.stopImmediatePropagation()}function bj(e){e.preventDefault(),e.stopImmediatePropagation()}function Sxt(e){var t=e.document.documentElement,n=fp(e).on("dragstart.drag",bj,Z$);"onselectstart"in t?n.on("selectstart.drag",bj,Z$):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function kxt(e,t){var n=e.document.documentElement,r=fp(e).on("dragstart.drag",null);t&&(r.on("click.drag",bj,Z$),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const h6=e=>()=>e;function lhe(e,{sourceEvent:t,subject:n,target:r,identifier:s,active:a,x:i,y:l,dx:c,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:i,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}lhe.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function NBn(e){return!e.ctrlKey&&!e.button}function IBn(){return this.parentNode}function ABn(e,t){return t??{x:e.x,y:e.y}}function RBn(){return navigator.maxTouchPoints||"ontouchstart"in this}function Oxt(){var e=NBn,t=IBn,n=ABn,r=RBn,s={},a=mV("start","drag","end"),i=0,l,c,u,d,f=0;function p(k){k.on("mousedown.drag",h).filter(r).on("touchstart.drag",y).on("touchmove.drag",b,TBn).on("touchend.drag touchcancel.drag",w).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(k,_){if(!(d||!e.call(this,k,_))){var C=S(this,t.call(this,k,_),k,_,"mouse");C&&(fp(k.view).on("mousemove.drag",m,Z$).on("mouseup.drag",g,Z$),Sxt(k.view),jJ(k),u=!1,l=k.clientX,c=k.clientY,C("start",k))}}function m(k){if(bj(k),!u){var _=k.clientX-l,C=k.clientY-c;u=_*_+C*C>f}s.mouse("drag",k)}function g(k){fp(k.view).on("mousemove.drag mouseup.drag",null),kxt(k.view,u),bj(k),s.mouse("end",k)}function y(k,_){if(e.call(this,k,_)){var C=k.changedTouches,E=t.call(this,k,_),j=C.length,N,I;for(N=0;N<j;++N)(I=S(this,E,k,_,C[N].identifier,C[N]))&&(jJ(k),I("start",k,C[N]))}}function b(k){var _=k.changedTouches,C=_.length,E,j;for(E=0;E<C;++E)(j=s[_[E].identifier])&&(bj(k),j("drag",k,_[E]))}function w(k){var _=k.changedTouches,C=_.length,E,j;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),E=0;E<C;++E)(j=s[_[E].identifier])&&(jJ(k),j("end",k,_[E]))}function S(k,_,C,E,j,N){var I=a.copy(),R=Xm(N||C,_),$,F,D;if((D=n.call(k,new lhe("beforestart",{sourceEvent:C,target:p,identifier:j,active:i,x:R[0],y:R[1],dx:0,dy:0,dispatch:I}),E))!=null)return $=D.x-R[0]||0,F=D.y-R[1]||0,function V(W,L,z){var B=R,M;switch(W){case"start":s[j]=V,M=i++;break;case"end":delete s[j],--i;case"drag":R=Xm(z||L,_),M=i;break}I.call(W,k,new lhe(W,{sourceEvent:L,subject:D,target:p,identifier:j,active:M,x:R[0]+$,y:R[1]+F,dx:R[0]-B[0],dy:R[1]-B[1],dispatch:I}),E)}}return p.filter=function(k){return arguments.length?(e=typeof k=="function"?k:h6(!!k),p):e},p.container=function(k){return arguments.length?(t=typeof k=="function"?k:h6(k),p):t},p.subject=function(k){return arguments.length?(n=typeof k=="function"?k:h6(k),p):n},p.touchable=function(k){return arguments.length?(r=typeof k=="function"?k:h6(!!k),p):r},p.on=function(){var k=a.on.apply(a,arguments);return k===a?p:k},p.clickDistance=function(k){return arguments.length?(f=(k=+k)*k,p):Math.sqrt(f)},p}function t1e(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function _xt(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function iD(){}var G$=.7,g7=1/G$,xj="\\s*([+-]?\\d+)\\s*",Q$="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Xv="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",PBn=/^#([0-9a-f]{3,8})$/,$Bn=new RegExp(`^rgb\\(${xj},${xj},${xj}\\)$`),MBn=new RegExp(`^rgb\\(${Xv},${Xv},${Xv}\\)$`),DBn=new RegExp(`^rgba\\(${xj},${xj},${xj},${Q$}\\)$`),LBn=new RegExp(`^rgba\\(${Xv},${Xv},${Xv},${Q$}\\)$`),FBn=new RegExp(`^hsl\\(${Q$},${Xv},${Xv}\\)$`),zBn=new RegExp(`^hsla\\(${Q$},${Xv},${Xv},${Q$}\\)$`),u8e={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};t1e(iD,jO,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:d8e,formatHex:d8e,formatHex8:BBn,formatHsl:UBn,formatRgb:f8e,toString:f8e});function d8e(){return this.rgb().formatHex()}function BBn(){return this.rgb().formatHex8()}function UBn(){return Cxt(this).formatHsl()}function f8e(){return this.rgb().formatRgb()}function jO(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=PBn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?p8e(t):n===3?new Xd(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?m6(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?m6(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=$Bn.exec(e))?new Xd(t[1],t[2],t[3],1):(t=MBn.exec(e))?new Xd(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=DBn.exec(e))?m6(t[1],t[2],t[3],t[4]):(t=LBn.exec(e))?m6(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=FBn.exec(e))?g8e(t[1],t[2]/100,t[3]/100,1):(t=zBn.exec(e))?g8e(t[1],t[2]/100,t[3]/100,t[4]):u8e.hasOwnProperty(e)?p8e(u8e[e]):e==="transparent"?new Xd(NaN,NaN,NaN,0):null}function p8e(e){return new Xd(e>>16&255,e>>8&255,e&255,1)}function m6(e,t,n,r){return r<=0&&(e=t=n=NaN),new Xd(e,t,n,r)}function qBn(e){return e instanceof iD||(e=jO(e)),e?(e=e.rgb(),new Xd(e.r,e.g,e.b,e.opacity)):new Xd}function che(e,t,n,r){return arguments.length===1?qBn(e):new Xd(e,t,n,r??1)}function Xd(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}t1e(Xd,che,_xt(iD,{brighter(e){return e=e==null?g7:Math.pow(g7,e),new Xd(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?G$:Math.pow(G$,e),new Xd(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Xd(zk(this.r),zk(this.g),zk(this.b),v7(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:h8e,formatHex:h8e,formatHex8:VBn,formatRgb:m8e,toString:m8e}));function h8e(){return`#${_k(this.r)}${_k(this.g)}${_k(this.b)}`}function VBn(){return`#${_k(this.r)}${_k(this.g)}${_k(this.b)}${_k((isNaN(this.opacity)?1:this.opacity)*255)}`}function m8e(){const e=v7(this.opacity);return`${e===1?"rgb(":"rgba("}${zk(this.r)}, ${zk(this.g)}, ${zk(this.b)}${e===1?")":`, ${e})`}`}function v7(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function zk(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function _k(e){return e=zk(e),(e<16?"0":"")+e.toString(16)}function g8e(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new rg(e,t,n,r)}function Cxt(e){if(e instanceof rg)return new rg(e.h,e.s,e.l,e.opacity);if(e instanceof iD||(e=jO(e)),!e)return new rg;if(e instanceof rg)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,s=Math.min(t,n,r),a=Math.max(t,n,r),i=NaN,l=a-s,c=(a+s)/2;return l?(t===a?i=(n-r)/l+(n<r)*6:n===a?i=(r-t)/l+2:i=(t-n)/l+4,l/=c<.5?a+s:2-a-s,i*=60):l=c>0&&c<1?0:i,new rg(i,l,c,e.opacity)}function HBn(e,t,n,r){return arguments.length===1?Cxt(e):new rg(e,t,n,r??1)}function rg(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}t1e(rg,HBn,_xt(iD,{brighter(e){return e=e==null?g7:Math.pow(g7,e),new rg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?G$:Math.pow(G$,e),new rg(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,s=2*n-r;return new Xd(TJ(e>=240?e-240:e+120,s,r),TJ(e,s,r),TJ(e<120?e+240:e-120,s,r),this.opacity)},clamp(){return new rg(v8e(this.h),g6(this.s),g6(this.l),v7(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=v7(this.opacity);return`${e===1?"hsl(":"hsla("}${v8e(this.h)}, ${g6(this.s)*100}%, ${g6(this.l)*100}%${e===1?")":`, ${e})`}`}}));function v8e(e){return e=(e||0)%360,e<0?e+360:e}function g6(e){return Math.max(0,Math.min(1,e||0))}function TJ(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const n1e=e=>()=>e;function WBn(e,t){return function(n){return e+n*t}}function ZBn(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function GBn(e){return(e=+e)==1?Ext:function(t,n){return n-t?ZBn(t,n,e):n1e(isNaN(t)?n:t)}}function Ext(e,t){var n=t-e;return n?WBn(e,n):n1e(isNaN(e)?t:e)}const y7=(function e(t){var n=GBn(t);function r(s,a){var i=n((s=che(s)).r,(a=che(a)).r),l=n(s.g,a.g),c=n(s.b,a.b),u=Ext(s.opacity,a.opacity);return function(d){return s.r=i(d),s.g=l(d),s.b=c(d),s.opacity=u(d),s+""}}return r.gamma=e,r})(1);function QBn(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),s;return function(a){for(s=0;s<n;++s)r[s]=e[s]*(1-a)+t[s]*a;return r}}function YBn(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function XBn(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,s=new Array(r),a=new Array(n),i;for(i=0;i<r;++i)s[i]=rx(e[i],t[i]);for(;i<n;++i)a[i]=t[i];return function(l){for(i=0;i<r;++i)a[i]=s[i](l);return a}}function KBn(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function Jm(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function JBn(e,t){var n={},r={},s;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(s in t)s in e?n[s]=rx(e[s],t[s]):r[s]=t[s];return function(a){for(s in n)r[s]=n[s](a);return r}}var uhe=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,NJ=new RegExp(uhe.source,"g");function eUn(e){return function(){return e}}function tUn(e){return function(t){return e(t)+""}}function jxt(e,t){var n=uhe.lastIndex=NJ.lastIndex=0,r,s,a,i=-1,l=[],c=[];for(e=e+"",t=t+"";(r=uhe.exec(e))&&(s=NJ.exec(t));)(a=s.index)>n&&(a=t.slice(n,a),l[i]?l[i]+=a:l[++i]=a),(r=r[0])===(s=s[0])?l[i]?l[i]+=s:l[++i]=s:(l[++i]=null,c.push({i,x:Jm(r,s)})),n=NJ.lastIndex;return n<t.length&&(a=t.slice(n),l[i]?l[i]+=a:l[++i]=a),l.length<2?c[0]?tUn(c[0].x):eUn(t):(t=c.length,function(u){for(var d=0,f;d<t;++d)l[(f=c[d]).i]=f.x(u);return l.join("")})}function rx(e,t){var n=typeof t,r;return t==null||n==="boolean"?n1e(t):(n==="number"?Jm:n==="string"?(r=jO(t))?(t=r,y7):jxt:t instanceof jO?y7:t instanceof Date?KBn:YBn(t)?QBn:Array.isArray(t)?XBn:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?JBn:Jm)(e,t)}function r1e(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var y8e=180/Math.PI,dhe={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Txt(e,t,n,r,s,a){var i,l,c;return(i=Math.sqrt(e*e+t*t))&&(e/=i,t/=i),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(l=Math.sqrt(n*n+r*r))&&(n/=l,r/=l,c/=l),e*r<t*n&&(e=-e,t=-t,c=-c,i=-i),{translateX:s,translateY:a,rotate:Math.atan2(t,e)*y8e,skewX:Math.atan(c)*y8e,scaleX:i,scaleY:l}}var v6;function nUn(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?dhe:Txt(t.a,t.b,t.c,t.d,t.e,t.f)}function rUn(e){return e==null||(v6||(v6=document.createElementNS("http://www.w3.org/2000/svg","g")),v6.setAttribute("transform",e),!(e=v6.transform.baseVal.consolidate()))?dhe:(e=e.matrix,Txt(e.a,e.b,e.c,e.d,e.e,e.f))}function Nxt(e,t,n,r){function s(u){return u.length?u.pop()+" ":""}function a(u,d,f,p,h,m){if(u!==f||d!==p){var g=h.push("translate(",null,t,null,n);m.push({i:g-4,x:Jm(u,f)},{i:g-2,x:Jm(d,p)})}else(f||p)&&h.push("translate("+f+t+p+n)}function i(u,d,f,p){u!==d?(u-d>180?d+=360:d-u>180&&(u+=360),p.push({i:f.push(s(f)+"rotate(",null,r)-2,x:Jm(u,d)})):d&&f.push(s(f)+"rotate("+d+r)}function l(u,d,f,p){u!==d?p.push({i:f.push(s(f)+"skewX(",null,r)-2,x:Jm(u,d)}):d&&f.push(s(f)+"skewX("+d+r)}function c(u,d,f,p,h,m){if(u!==f||d!==p){var g=h.push(s(h)+"scale(",null,",",null,")");m.push({i:g-4,x:Jm(u,f)},{i:g-2,x:Jm(d,p)})}else(f!==1||p!==1)&&h.push(s(h)+"scale("+f+","+p+")")}return function(u,d){var f=[],p=[];return u=e(u),d=e(d),a(u.translateX,u.translateY,d.translateX,d.translateY,f,p),i(u.rotate,d.rotate,f,p),l(u.skewX,d.skewX,f,p),c(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,p),u=d=null,function(h){for(var m=-1,g=p.length,y;++m<g;)f[(y=p[m]).i]=y.x(h);return f.join("")}}}var sUn=Nxt(nUn,"px, ","px)","deg)"),aUn=Nxt(rUn,", ",")",")"),iUn=1e-12;function b8e(e){return((e=Math.exp(e))+1/e)/2}function oUn(e){return((e=Math.exp(e))-1/e)/2}function lUn(e){return((e=Math.exp(2*e))-1)/(e+1)}const L9=(function e(t,n,r){function s(a,i){var l=a[0],c=a[1],u=a[2],d=i[0],f=i[1],p=i[2],h=d-l,m=f-c,g=h*h+m*m,y,b;if(g<iUn)b=Math.log(p/u)/t,y=function(E){return[l+E*h,c+E*m,u*Math.exp(t*E*b)]};else{var w=Math.sqrt(g),S=(p*p-u*u+r*g)/(2*u*n*w),k=(p*p-u*u-r*g)/(2*p*n*w),_=Math.log(Math.sqrt(S*S+1)-S),C=Math.log(Math.sqrt(k*k+1)-k);b=(C-_)/t,y=function(E){var j=E*b,N=b8e(_),I=u/(n*w)*(N*lUn(t*j+_)-oUn(_));return[l+I*h,c+I*m,u*N/b8e(t*j+_)]}}return y.duration=b*1e3*t/Math.SQRT2,y}return s.rho=function(a){var i=Math.max(.001,+a),l=i*i,c=l*l;return e(i,l,c)},s})(Math.SQRT2,2,4);function cUn(e,t){t===void 0&&(t=e,e=rx);for(var n=0,r=t.length-1,s=t[0],a=new Array(r<0?0:r);n<r;)a[n]=e(s,s=t[++n]);return function(i){var l=Math.max(0,Math.min(r-1,Math.floor(i*=r)));return a[l](i-l)}}var mT=0,r2=0,qA=0,Ixt=1e3,b7,s2,x7=0,TO=0,vV=0,Y$=typeof performance=="object"&&performance.now?performance:Date,Axt=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function s1e(){return TO||(Axt(uUn),TO=Y$.now()+vV)}function uUn(){TO=0}function w7(){this._call=this._time=this._next=null}w7.prototype=Rxt.prototype={constructor:w7,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?s1e():+n)+(t==null?0:+t),!this._next&&s2!==this&&(s2?s2._next=this:b7=this,s2=this),this._call=e,this._time=n,fhe()},stop:function(){this._call&&(this._call=null,this._time=1/0,fhe())}};function Rxt(e,t,n){var r=new w7;return r.restart(e,t,n),r}function dUn(){s1e(),++mT;for(var e=b7,t;e;)(t=TO-e._time)>=0&&e._call.call(void 0,t),e=e._next;--mT}function x8e(){TO=(x7=Y$.now())+vV,mT=r2=0;try{dUn()}finally{mT=0,pUn(),TO=0}}function fUn(){var e=Y$.now(),t=e-x7;t>Ixt&&(vV-=t,x7=e)}function pUn(){for(var e,t=b7,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:b7=n);s2=e,fhe(r)}function fhe(e){if(!mT){r2&&(r2=clearTimeout(r2));var t=e-TO;t>24?(e<1/0&&(r2=setTimeout(x8e,e-Y$.now()-vV)),qA&&(qA=clearInterval(qA))):(qA||(x7=Y$.now(),qA=setInterval(fUn,Ixt)),mT=1,Axt(x8e))}}function w8e(e,t,n){var r=new w7;return t=t==null?0:+t,r.restart(s=>{r.stop(),e(s+t)},t,n),r}var hUn=mV("start","end","cancel","interrupt"),mUn=[],Pxt=0,S8e=1,phe=2,F9=3,k8e=4,hhe=5,z9=6;function yV(e,t,n,r,s,a){var i=e.__transition;if(!i)e.__transition={};else if(n in i)return;gUn(e,n,{name:t,index:r,group:s,on:hUn,tween:mUn,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Pxt})}function a1e(e,t){var n=Lg(e,t);if(n.state>Pxt)throw new Error("too late; already scheduled");return n}function $y(e,t){var n=Lg(e,t);if(n.state>F9)throw new Error("too late; already running");return n}function Lg(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function gUn(e,t,n){var r=e.__transition,s;r[t]=n,n.timer=Rxt(a,0,n.time);function a(u){n.state=S8e,n.timer.restart(i,n.delay,n.time),n.delay<=u&&i(u-n.delay)}function i(u){var d,f,p,h;if(n.state!==S8e)return c();for(d in r)if(h=r[d],h.name===n.name){if(h.state===F9)return w8e(i);h.state===k8e?(h.state=z9,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[d]):+d<t&&(h.state=z9,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[d])}if(w8e(function(){n.state===F9&&(n.state=k8e,n.timer.restart(l,n.delay,n.time),l(u))}),n.state=phe,n.on.call("start",e,e.__data__,n.index,n.group),n.state===phe){for(n.state=F9,s=new Array(p=n.tween.length),d=0,f=-1;d<p;++d)(h=n.tween[d].value.call(e,e.__data__,n.index,n.group))&&(s[++f]=h);s.length=f+1}}function l(u){for(var d=u<n.duration?n.ease.call(null,u/n.duration):(n.timer.restart(c),n.state=hhe,1),f=-1,p=s.length;++f<p;)s[f].call(e,d);n.state===hhe&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=z9,n.timer.stop(),delete r[t];for(var u in r)return;delete e.__transition}}function B9(e,t){var n=e.__transition,r,s,a=!0,i;if(n){t=t==null?null:t+"";for(i in n){if((r=n[i]).name!==t){a=!1;continue}s=r.state>phe&&r.state<hhe,r.state=z9,r.timer.stop(),r.on.call(s?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[i]}a&&delete e.__transition}}function vUn(e){return this.each(function(){B9(this,e)})}function yUn(e,t){var n,r;return function(){var s=$y(this,e),a=s.tween;if(a!==n){r=n=a;for(var i=0,l=r.length;i<l;++i)if(r[i].name===t){r=r.slice(),r.splice(i,1);break}}s.tween=r}}function bUn(e,t,n){var r,s;if(typeof n!="function")throw new Error;return function(){var a=$y(this,e),i=a.tween;if(i!==r){s=(r=i).slice();for(var l={name:t,value:n},c=0,u=s.length;c<u;++c)if(s[c].name===t){s[c]=l;break}c===u&&s.push(l)}a.tween=s}}function xUn(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=Lg(this.node(),n).tween,s=0,a=r.length,i;s<a;++s)if((i=r[s]).name===e)return i.value;return null}return this.each((t==null?yUn:bUn)(n,e,t))}function i1e(e,t,n){var r=e._id;return e.each(function(){var s=$y(this,r);(s.value||(s.value={}))[t]=n.apply(this,arguments)}),function(s){return Lg(s,r).value[t]}}function $xt(e,t){var n;return(typeof t=="number"?Jm:t instanceof jO?y7:(n=jO(t))?(t=n,y7):jxt)(e,t)}function wUn(e){return function(){this.removeAttribute(e)}}function SUn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function kUn(e,t,n){var r,s=n+"",a;return function(){var i=this.getAttribute(e);return i===s?null:i===r?a:a=t(r=i,n)}}function OUn(e,t,n){var r,s=n+"",a;return function(){var i=this.getAttributeNS(e.space,e.local);return i===s?null:i===r?a:a=t(r=i,n)}}function _Un(e,t,n){var r,s,a;return function(){var i,l=n(this),c;return l==null?void this.removeAttribute(e):(i=this.getAttribute(e),c=l+"",i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l)))}}function CUn(e,t,n){var r,s,a;return function(){var i,l=n(this),c;return l==null?void this.removeAttributeNS(e.space,e.local):(i=this.getAttributeNS(e.space,e.local),c=l+"",i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l)))}}function EUn(e,t){var n=gV(e),r=n==="transform"?aUn:$xt;return this.attrTween(e,typeof t=="function"?(n.local?CUn:_Un)(n,r,i1e(this,"attr."+e,t)):t==null?(n.local?SUn:wUn)(n):(n.local?OUn:kUn)(n,r,t))}function jUn(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function TUn(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function NUn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&TUn(e,a)),n}return s._value=t,s}function IUn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&jUn(e,a)),n}return s._value=t,s}function AUn(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var r=gV(e);return this.tween(n,(r.local?NUn:IUn)(r,t))}function RUn(e,t){return function(){a1e(this,e).delay=+t.apply(this,arguments)}}function PUn(e,t){return t=+t,function(){a1e(this,e).delay=t}}function $Un(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?RUn:PUn)(t,e)):Lg(this.node(),t).delay}function MUn(e,t){return function(){$y(this,e).duration=+t.apply(this,arguments)}}function DUn(e,t){return t=+t,function(){$y(this,e).duration=t}}function LUn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?MUn:DUn)(t,e)):Lg(this.node(),t).duration}function FUn(e,t){if(typeof t!="function")throw new Error;return function(){$y(this,e).ease=t}}function zUn(e){var t=this._id;return arguments.length?this.each(FUn(t,e)):Lg(this.node(),t).ease}function BUn(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;$y(this,e).ease=n}}function UUn(e){if(typeof e!="function")throw new Error;return this.each(BUn(this._id,e))}function qUn(e){typeof e!="function"&&(e=fxt(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=[],c,u=0;u<i;++u)(c=a[u])&&e.call(c,c.__data__,u,a)&&l.push(c);return new kx(r,this._parents,this._name,this._id)}function VUn(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,s=n.length,a=Math.min(r,s),i=new Array(r),l=0;l<a;++l)for(var c=t[l],u=n[l],d=c.length,f=i[l]=new Array(d),p,h=0;h<d;++h)(p=c[h]||u[h])&&(f[h]=p);for(;l<r;++l)i[l]=t[l];return new kx(i,this._parents,this._name,this._id)}function HUn(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function WUn(e,t,n){var r,s,a=HUn(t)?a1e:$y;return function(){var i=a(this,e),l=i.on;l!==r&&(s=(r=l).copy()).on(t,n),i.on=s}}function ZUn(e,t){var n=this._id;return arguments.length<2?Lg(this.node(),n).on.on(e):this.each(WUn(n,e,t))}function GUn(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function QUn(){return this.on("end.remove",GUn(this._id))}function YUn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Jwe(e));for(var r=this._groups,s=r.length,a=new Array(s),i=0;i<s;++i)for(var l=r[i],c=l.length,u=a[i]=new Array(c),d,f,p=0;p<c;++p)(d=l[p])&&(f=e.call(d,d.__data__,p,l))&&("__data__"in d&&(f.__data__=d.__data__),u[p]=f,yV(u[p],t,n,p,u,Lg(d,n)));return new kx(a,this._parents,t,n)}function XUn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=dxt(e));for(var r=this._groups,s=r.length,a=[],i=[],l=0;l<s;++l)for(var c=r[l],u=c.length,d,f=0;f<u;++f)if(d=c[f]){for(var p=e.call(d,d.__data__,f,c),h,m=Lg(d,n),g=0,y=p.length;g<y;++g)(h=p[g])&&yV(h,t,n,g,p,m);a.push(p),i.push(d)}return new kx(a,i,t,n)}var KUn=aD.prototype.constructor;function JUn(){return new KUn(this._groups,this._parents)}function eqn(e,t){var n,r,s;return function(){var a=hT(this,e),i=(this.style.removeProperty(e),hT(this,e));return a===i?null:a===n&&i===r?s:s=t(n=a,r=i)}}function Mxt(e){return function(){this.style.removeProperty(e)}}function tqn(e,t,n){var r,s=n+"",a;return function(){var i=hT(this,e);return i===s?null:i===r?a:a=t(r=i,n)}}function nqn(e,t,n){var r,s,a;return function(){var i=hT(this,e),l=n(this),c=l+"";return l==null&&(c=l=(this.style.removeProperty(e),hT(this,e))),i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l))}}function rqn(e,t){var n,r,s,a="style."+t,i="end."+a,l;return function(){var c=$y(this,e),u=c.on,d=c.value[a]==null?l||(l=Mxt(t)):void 0;(u!==n||s!==d)&&(r=(n=u).copy()).on(i,s=d),c.on=r}}function sqn(e,t,n){var r=(e+="")=="transform"?sUn:$xt;return t==null?this.styleTween(e,eqn(e,r)).on("end.style."+e,Mxt(e)):typeof t=="function"?this.styleTween(e,nqn(e,r,i1e(this,"style."+e,t))).each(rqn(this._id,e)):this.styleTween(e,tqn(e,r,t),n).on("end.style."+e,null)}function aqn(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function iqn(e,t,n){var r,s;function a(){var i=t.apply(this,arguments);return i!==s&&(r=(s=i)&&aqn(e,i,n)),r}return a._value=t,a}function oqn(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,iqn(e,t,n??""))}function lqn(e){return function(){this.textContent=e}}function cqn(e){return function(){var t=e(this);this.textContent=t??""}}function uqn(e){return this.tween("text",typeof e=="function"?cqn(i1e(this,"text",e)):lqn(e==null?"":e+""))}function dqn(e){return function(t){this.textContent=e.call(this,t)}}function fqn(e){var t,n;function r(){var s=e.apply(this,arguments);return s!==n&&(t=(n=s)&&dqn(s)),t}return r._value=e,r}function pqn(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,fqn(e))}function hqn(){for(var e=this._name,t=this._id,n=Dxt(),r=this._groups,s=r.length,a=0;a<s;++a)for(var i=r[a],l=i.length,c,u=0;u<l;++u)if(c=i[u]){var d=Lg(c,t);yV(c,e,n,u,i,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new kx(r,this._parents,e,n)}function mqn(){var e,t,n=this,r=n._id,s=n.size();return new Promise(function(a,i){var l={value:i},c={value:function(){--s===0&&a()}};n.each(function(){var u=$y(this,r),d=u.on;d!==e&&(t=(e=d).copy(),t._.cancel.push(l),t._.interrupt.push(l),t._.end.push(c)),u.on=t}),s===0&&a()})}var gqn=0;function kx(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Dxt(){return++gqn}var pb=aD.prototype;kx.prototype={constructor:kx,select:YUn,selectAll:XUn,selectChild:pb.selectChild,selectChildren:pb.selectChildren,filter:qUn,merge:VUn,selection:JUn,transition:hqn,call:pb.call,nodes:pb.nodes,node:pb.node,size:pb.size,empty:pb.empty,each:pb.each,on:ZUn,attr:EUn,attrTween:AUn,style:sqn,styleTween:oqn,text:uqn,textTween:pqn,remove:QUn,tween:xUn,delay:$Un,duration:LUn,ease:zUn,easeVarying:UUn,end:mqn,[Symbol.iterator]:pb[Symbol.iterator]};function vqn(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var yqn={time:null,delay:0,duration:250,ease:vqn};function bqn(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function xqn(e){var t,n;e instanceof kx?(t=e._id,e=e._name):(t=Dxt(),(n=yqn).time=s1e(),e=e==null?null:e+"");for(var r=this._groups,s=r.length,a=0;a<s;++a)for(var i=r[a],l=i.length,c,u=0;u<l;++u)(c=i[u])&&yV(c,e,t,u,i,n||bqn(c,t));return new kx(r,this._parents,e,t)}aD.prototype.interrupt=vUn;aD.prototype.transition=xqn;const y6=e=>()=>e;function wqn(e,{sourceEvent:t,target:n,transform:r,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:s}})}function Vb(e,t,n){this.k=e,this.x=t,this.y=n}Vb.prototype={constructor:Vb,scale:function(e){return e===1?this:new Vb(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Vb(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var bV=new Vb(1,0,0);Lxt.prototype=Vb.prototype;function Lxt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return bV;return e.__zoom}function IJ(e){e.stopImmediatePropagation()}function VA(e){e.preventDefault(),e.stopImmediatePropagation()}function Sqn(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function kqn(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function O8e(){return this.__zoom||bV}function Oqn(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function _qn(){return navigator.maxTouchPoints||"ontouchstart"in this}function Cqn(e,t,n){var r=e.invertX(t[0][0])-n[0][0],s=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],i=e.invertY(t[1][1])-n[1][1];return e.translate(s>r?(r+s)/2:Math.min(0,r)||Math.max(0,s),i>a?(a+i)/2:Math.min(0,a)||Math.max(0,i))}function Fxt(){var e=Sqn,t=kqn,n=Cqn,r=Oqn,s=_qn,a=[0,1/0],i=[[-1/0,-1/0],[1/0,1/0]],l=250,c=L9,u=mV("start","zoom","end"),d,f,p,h=500,m=150,g=0,y=10;function b(D){D.property("__zoom",O8e).on("wheel.zoom",j,{passive:!1}).on("mousedown.zoom",N).on("dblclick.zoom",I).filter(s).on("touchstart.zoom",R).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",F).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(D,V,W,L){var z=D.selection?D.selection():D;z.property("__zoom",O8e),D!==z?_(D,V,W,L):z.interrupt().each(function(){C(this,arguments).event(L).start().zoom(null,typeof V=="function"?V.apply(this,arguments):V).end()})},b.scaleBy=function(D,V,W,L){b.scaleTo(D,function(){var z=this.__zoom.k,B=typeof V=="function"?V.apply(this,arguments):V;return z*B},W,L)},b.scaleTo=function(D,V,W,L){b.transform(D,function(){var z=t.apply(this,arguments),B=this.__zoom,M=W==null?k(z):typeof W=="function"?W.apply(this,arguments):W,G=B.invert(M),U=typeof V=="function"?V.apply(this,arguments):V;return n(S(w(B,U),M,G),z,i)},W,L)},b.translateBy=function(D,V,W,L){b.transform(D,function(){return n(this.__zoom.translate(typeof V=="function"?V.apply(this,arguments):V,typeof W=="function"?W.apply(this,arguments):W),t.apply(this,arguments),i)},null,L)},b.translateTo=function(D,V,W,L,z){b.transform(D,function(){var B=t.apply(this,arguments),M=this.__zoom,G=L==null?k(B):typeof L=="function"?L.apply(this,arguments):L;return n(bV.translate(G[0],G[1]).scale(M.k).translate(typeof V=="function"?-V.apply(this,arguments):-V,typeof W=="function"?-W.apply(this,arguments):-W),B,i)},L,z)};function w(D,V){return V=Math.max(a[0],Math.min(a[1],V)),V===D.k?D:new Vb(V,D.x,D.y)}function S(D,V,W){var L=V[0]-W[0]*D.k,z=V[1]-W[1]*D.k;return L===D.x&&z===D.y?D:new Vb(D.k,L,z)}function k(D){return[(+D[0][0]+ +D[1][0])/2,(+D[0][1]+ +D[1][1])/2]}function _(D,V,W,L){D.on("start.zoom",function(){C(this,arguments).event(L).start()}).on("interrupt.zoom end.zoom",function(){C(this,arguments).event(L).end()}).tween("zoom",function(){var z=this,B=arguments,M=C(z,B).event(L),G=t.apply(z,B),U=W==null?k(G):typeof W=="function"?W.apply(z,B):W,P=Math.max(G[1][0]-G[0][0],G[1][1]-G[0][1]),q=z.__zoom,Z=typeof V=="function"?V.apply(z,B):V,X=c(q.invert(U).concat(P/q.k),Z.invert(U).concat(P/Z.k));return function(te){if(te===1)te=Z;else{var J=X(te),ee=P/J[2];te=new Vb(ee,U[0]-J[0]*ee,U[1]-J[1]*ee)}M.zoom(null,te)}})}function C(D,V,W){return!W&&D.__zooming||new E(D,V)}function E(D,V){this.that=D,this.args=V,this.active=0,this.sourceEvent=null,this.extent=t.apply(D,V),this.taps=0}E.prototype={event:function(D){return D&&(this.sourceEvent=D),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(D,V){return this.mouse&&D!=="mouse"&&(this.mouse[1]=V.invert(this.mouse[0])),this.touch0&&D!=="touch"&&(this.touch0[1]=V.invert(this.touch0[0])),this.touch1&&D!=="touch"&&(this.touch1[1]=V.invert(this.touch1[0])),this.that.__zoom=V,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(D){var V=fp(this.that).datum();u.call(D,this.that,new wqn(D,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:u}),V)}};function j(D,...V){if(!e.apply(this,arguments))return;var W=C(this,V).event(D),L=this.__zoom,z=Math.max(a[0],Math.min(a[1],L.k*Math.pow(2,r.apply(this,arguments)))),B=Xm(D);if(W.wheel)(W.mouse[0][0]!==B[0]||W.mouse[0][1]!==B[1])&&(W.mouse[1]=L.invert(W.mouse[0]=B)),clearTimeout(W.wheel);else{if(L.k===z)return;W.mouse=[B,L.invert(B)],B9(this),W.start()}VA(D),W.wheel=setTimeout(M,m),W.zoom("mouse",n(S(w(L,z),W.mouse[0],W.mouse[1]),W.extent,i));function M(){W.wheel=null,W.end()}}function N(D,...V){if(p||!e.apply(this,arguments))return;var W=D.currentTarget,L=C(this,V,!0).event(D),z=fp(D.view).on("mousemove.zoom",U,!0).on("mouseup.zoom",P,!0),B=Xm(D,W),M=D.clientX,G=D.clientY;Sxt(D.view),IJ(D),L.mouse=[B,this.__zoom.invert(B)],B9(this),L.start();function U(q){if(VA(q),!L.moved){var Z=q.clientX-M,X=q.clientY-G;L.moved=Z*Z+X*X>g}L.event(q).zoom("mouse",n(S(L.that.__zoom,L.mouse[0]=Xm(q,W),L.mouse[1]),L.extent,i))}function P(q){z.on("mousemove.zoom mouseup.zoom",null),kxt(q.view,L.moved),VA(q),L.event(q).end()}}function I(D,...V){if(e.apply(this,arguments)){var W=this.__zoom,L=Xm(D.changedTouches?D.changedTouches[0]:D,this),z=W.invert(L),B=W.k*(D.shiftKey?.5:2),M=n(S(w(W,B),L,z),t.apply(this,V),i);VA(D),l>0?fp(this).transition().duration(l).call(_,M,L,D):fp(this).call(b.transform,M,L,D)}}function R(D,...V){if(e.apply(this,arguments)){var W=D.touches,L=W.length,z=C(this,V,D.changedTouches.length===L).event(D),B,M,G,U;for(IJ(D),M=0;M<L;++M)G=W[M],U=Xm(G,this),U=[U,this.__zoom.invert(U),G.identifier],z.touch0?!z.touch1&&z.touch0[2]!==U[2]&&(z.touch1=U,z.taps=0):(z.touch0=U,B=!0,z.taps=1+!!d);d&&(d=clearTimeout(d)),B&&(z.taps<2&&(f=U[0],d=setTimeout(function(){d=null},h)),B9(this),z.start())}}function $(D,...V){if(this.__zooming){var W=C(this,V).event(D),L=D.changedTouches,z=L.length,B,M,G,U;for(VA(D),B=0;B<z;++B)M=L[B],G=Xm(M,this),W.touch0&&W.touch0[2]===M.identifier?W.touch0[0]=G:W.touch1&&W.touch1[2]===M.identifier&&(W.touch1[0]=G);if(M=W.that.__zoom,W.touch1){var P=W.touch0[0],q=W.touch0[1],Z=W.touch1[0],X=W.touch1[1],te=(te=Z[0]-P[0])*te+(te=Z[1]-P[1])*te,J=(J=X[0]-q[0])*J+(J=X[1]-q[1])*J;M=w(M,Math.sqrt(te/J)),G=[(P[0]+Z[0])/2,(P[1]+Z[1])/2],U=[(q[0]+X[0])/2,(q[1]+X[1])/2]}else if(W.touch0)G=W.touch0[0],U=W.touch0[1];else return;W.zoom("touch",n(S(M,G,U),W.extent,i))}}function F(D,...V){if(this.__zooming){var W=C(this,V).event(D),L=D.changedTouches,z=L.length,B,M;for(IJ(D),p&&clearTimeout(p),p=setTimeout(function(){p=null},h),B=0;B<z;++B)M=L[B],W.touch0&&W.touch0[2]===M.identifier?delete W.touch0:W.touch1&&W.touch1[2]===M.identifier&&delete W.touch1;if(W.touch1&&!W.touch0&&(W.touch0=W.touch1,delete W.touch1),W.touch0)W.touch0[1]=this.__zoom.invert(W.touch0[0]);else if(W.end(),W.taps===2&&(M=Xm(M,this),Math.hypot(f[0]-M[0],f[1]-M[1])<y)){var G=fp(this).on("dblclick.zoom");G&&G.apply(this,arguments)}}}return b.wheelDelta=function(D){return arguments.length?(r=typeof D=="function"?D:y6(+D),b):r},b.filter=function(D){return arguments.length?(e=typeof D=="function"?D:y6(!!D),b):e},b.touchable=function(D){return arguments.length?(s=typeof D=="function"?D:y6(!!D),b):s},b.extent=function(D){return arguments.length?(t=typeof D=="function"?D:y6([[+D[0][0],+D[0][1]],[+D[1][0],+D[1][1]]]),b):t},b.scaleExtent=function(D){return arguments.length?(a[0]=+D[0],a[1]=+D[1],b):[a[0],a[1]]},b.translateExtent=function(D){return arguments.length?(i[0][0]=+D[0][0],i[1][0]=+D[1][0],i[0][1]=+D[0][1],i[1][1]=+D[1][1],b):[[i[0][0],i[0][1]],[i[1][0],i[1][1]]]},b.constrain=function(D){return arguments.length?(n=D,b):n},b.duration=function(D){return arguments.length?(l=+D,b):l},b.interpolate=function(D){return arguments.length?(c=D,b):c},b.on=function(){var D=u.on.apply(u,arguments);return D===u?b:D},b.clickDistance=function(D){return arguments.length?(g=(D=+D)*D,b):Math.sqrt(g)},b.tapDistance=function(D){return arguments.length?(y=+D,b):y},b}const py={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:r}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},X$=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],zxt=["Enter"," ","Escape"],Bxt={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var gT;(function(e){e.Strict="strict",e.Loose="loose"})(gT||(gT={}));var Bk;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Bk||(Bk={}));var K$;(function(e){e.Partial="partial",e.Full="full"})(K$||(K$={}));const Uxt={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var sw;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(sw||(sw={}));var J$;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(J$||(J$={}));var nr;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(nr||(nr={}));const _8e={[nr.Left]:nr.Right,[nr.Right]:nr.Left,[nr.Top]:nr.Bottom,[nr.Bottom]:nr.Top};function qxt(e){return e===null?null:e?"valid":"invalid"}const Vxt=e=>"id"in e&&"source"in e&&"target"in e,Eqn=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),o1e=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),oD=(e,t=[0,0])=>{const{width:n,height:r}=Hx(e),s=e.origin??t,a=n*s[0],i=r*s[1];return{x:e.position.x-a,y:e.position.y-i}},jqn=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,s)=>{const a=typeof s=="string";let i=!t.nodeLookup&&!a?s:void 0;t.nodeLookup&&(i=a?t.nodeLookup.get(s):o1e(s)?s:t.nodeLookup.get(s.id));const l=i?S7(i,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return xV(r,l)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return wV(n)},lD=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(s=>{(t.filter===void 0||t.filter(s))&&(n=xV(n,S7(s)),r=!0)}),r?wV(n):{x:0,y:0,width:0,height:0}},l1e=(e,t,[n,r,s]=[0,0,1],a=!1,i=!1)=>{const l={...uD(t,[n,r,s]),width:t.width/s,height:t.height/s},c=[];for(const u of e.values()){const{measured:d,selectable:f=!0,hidden:p=!1}=u;if(i&&!f||p)continue;const h=d.width??u.width??u.initialWidth??null,m=d.height??u.height??u.initialHeight??null,g=eM(l,yT(u)),y=(h??0)*(m??0),b=a&&g>0;(!u.internals.handleBounds||b||g>=y||u.dragging)&&c.push(u)}return c},Tqn=(e,t)=>{const n=new Set;return e.forEach(r=>{n.add(r.id)}),t.filter(r=>n.has(r.source)||n.has(r.target))};function Nqn(e,t){const n=new Map,r=t?.nodes?new Set(t.nodes.map(s=>s.id)):null;return e.forEach(s=>{s.measured.width&&s.measured.height&&(t?.includeHiddenNodes||!s.hidden)&&(!r||r.has(s.id))&&n.set(s.id,s)}),n}async function Iqn({nodes:e,width:t,height:n,panZoom:r,minZoom:s,maxZoom:a},i){if(e.size===0)return Promise.resolve(!0);const l=Nqn(e,i),c=lD(l),u=c1e(c,t,n,i?.minZoom??s,i?.maxZoom??a,i?.padding??.1);return await r.setViewport(u,{duration:i?.duration,ease:i?.ease,interpolate:i?.interpolate}),Promise.resolve(!0)}function Hxt({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:s,onError:a}){const i=n.get(e),l=i.parentId?n.get(i.parentId):void 0,{x:c,y:u}=l?l.internals.positionAbsolute:{x:0,y:0},d=i.origin??r;let f=i.extent||s;if(i.extent==="parent"&&!i.expandParent)if(!l)a?.("005",py.error005());else{const h=l.measured.width,m=l.measured.height;h&&m&&(f=[[c,u],[c+h,u+m]])}else l&&bT(i.extent)&&(f=[[i.extent[0][0]+c,i.extent[0][1]+u],[i.extent[1][0]+c,i.extent[1][1]+u]]);const p=bT(f)?NO(t,f,i.measured):t;return(i.measured.width===void 0||i.measured.height===void 0)&&a?.("015",py.error015()),{position:{x:p.x-c+(i.measured.width??0)*d[0],y:p.y-u+(i.measured.height??0)*d[1]},positionAbsolute:p}}async function Aqn({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:s}){const a=new Set(e.map(p=>p.id)),i=[];for(const p of n){if(p.deletable===!1)continue;const h=a.has(p.id),m=!h&&p.parentId&&i.find(g=>g.id===p.parentId);(h||m)&&i.push(p)}const l=new Set(t.map(p=>p.id)),c=r.filter(p=>p.deletable!==!1),d=Tqn(i,c);for(const p of c)l.has(p.id)&&!d.find(m=>m.id===p.id)&&d.push(p);if(!s)return{edges:d,nodes:i};const f=await s({nodes:i,edges:d});return typeof f=="boolean"?f?{edges:d,nodes:i}:{edges:[],nodes:[]}:f}const vT=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),NO=(e={x:0,y:0},t,n)=>({x:vT(e.x,t[0][0],t[1][0]-(n?.width??0)),y:vT(e.y,t[0][1],t[1][1]-(n?.height??0))});function Wxt(e,t,n){const{width:r,height:s}=Hx(n),{x:a,y:i}=n.internals.positionAbsolute;return NO(e,[[a,i],[a+r,i+s]],t)}const C8e=(e,t,n)=>e<t?vT(Math.abs(e-t),1,t)/t:e>n?-vT(Math.abs(e-n),1,t)/t:0,Zxt=(e,t,n=15,r=40)=>{const s=C8e(e.x,r,t.width-r)*n,a=C8e(e.y,r,t.height-r)*n;return[s,a]},xV=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),mhe=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),wV=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),yT=(e,t=[0,0])=>{const{x:n,y:r}=o1e(e)?e.internals.positionAbsolute:oD(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},S7=(e,t=[0,0])=>{const{x:n,y:r}=o1e(e)?e.internals.positionAbsolute:oD(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},Gxt=(e,t)=>wV(xV(mhe(e),mhe(t))),eM=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},E8e=e=>cg(e.width)&&cg(e.height)&&cg(e.x)&&cg(e.y),cg=e=>!isNaN(e)&&isFinite(e),Rqn=(e,t)=>{},cD=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),uD=({x:e,y:t},[n,r,s],a=!1,i=[1,1])=>{const l={x:(e-n)/s,y:(t-r)/s};return a?cD(l,i):l},k7=({x:e,y:t},[n,r,s])=>({x:e*s+n,y:t*s+r});function MC(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Pqn(e,t,n){if(typeof e=="string"||typeof e=="number"){const r=MC(e,n),s=MC(e,t);return{top:r,right:s,bottom:r,left:s,x:s*2,y:r*2}}if(typeof e=="object"){const r=MC(e.top??e.y??0,n),s=MC(e.bottom??e.y??0,n),a=MC(e.left??e.x??0,t),i=MC(e.right??e.x??0,t);return{top:r,right:i,bottom:s,left:a,x:a+i,y:r+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function $qn(e,t,n,r,s,a){const{x:i,y:l}=k7(e,[t,n,r]),{x:c,y:u}=k7({x:e.x+e.width,y:e.y+e.height},[t,n,r]),d=s-c,f=a-u;return{left:Math.floor(i),top:Math.floor(l),right:Math.floor(d),bottom:Math.floor(f)}}const c1e=(e,t,n,r,s,a)=>{const i=Pqn(a,t,n),l=(t-i.x)/e.width,c=(n-i.y)/e.height,u=Math.min(l,c),d=vT(u,r,s),f=e.x+e.width/2,p=e.y+e.height/2,h=t/2-f*d,m=n/2-p*d,g=$qn(e,h,m,d,t,n),y={left:Math.min(g.left-i.left,0),top:Math.min(g.top-i.top,0),right:Math.min(g.right-i.right,0),bottom:Math.min(g.bottom-i.bottom,0)};return{x:h-y.left+y.right,y:m-y.top+y.bottom,zoom:d}},tM=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function bT(e){return e!=null&&e!=="parent"}function Hx(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function Qxt(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function Yxt(e,t={width:0,height:0},n,r,s){const a={...e},i=r.get(n);if(i){const l=i.origin||s;a.x+=i.internals.positionAbsolute.x-(t.width??0)*l[0],a.y+=i.internals.positionAbsolute.y-(t.height??0)*l[1]}return a}function j8e(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function Mqn(){let e,t;return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}}function Dqn(e){return{...Bxt,...e||{}}}function D2(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:s}){const{x:a,y:i}=ug(e),l=uD({x:a-(s?.left??0),y:i-(s?.top??0)},r),{x:c,y:u}=n?cD(l,t):l;return{xSnapped:c,ySnapped:u,...l}}const u1e=e=>({width:e.offsetWidth,height:e.offsetHeight}),Xxt=e=>e?.getRootNode?.()||window?.document,Lqn=["INPUT","SELECT","TEXTAREA"];function Kxt(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:Lqn.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const Jxt=e=>"clientX"in e,ug=(e,t)=>{const n=Jxt(e),r=n?e.clientX:e.touches?.[0].clientX,s=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:s-(t?.top??0)}},T8e=(e,t,n,r,s)=>{const a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(i=>{const l=i.getBoundingClientRect();return{id:i.getAttribute("data-handleid"),type:e,nodeId:s,position:i.getAttribute("data-handlepos"),x:(l.left-n.left)/r,y:(l.top-n.top)/r,...u1e(i)}})};function e0t({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:s,sourceControlY:a,targetControlX:i,targetControlY:l}){const c=e*.125+s*.375+i*.375+n*.125,u=t*.125+a*.375+l*.375+r*.125,d=Math.abs(c-e),f=Math.abs(u-t);return[c,u,d,f]}function b6(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function N8e({pos:e,x1:t,y1:n,x2:r,y2:s,c:a}){switch(e){case nr.Left:return[t-b6(t-r,a),n];case nr.Right:return[t+b6(r-t,a),n];case nr.Top:return[t,n-b6(n-s,a)];case nr.Bottom:return[t,n+b6(s-n,a)]}}function d1e({sourceX:e,sourceY:t,sourcePosition:n=nr.Bottom,targetX:r,targetY:s,targetPosition:a=nr.Top,curvature:i=.25}){const[l,c]=N8e({pos:n,x1:e,y1:t,x2:r,y2:s,c:i}),[u,d]=N8e({pos:a,x1:r,y1:s,x2:e,y2:t,c:i}),[f,p,h,m]=e0t({sourceX:e,sourceY:t,targetX:r,targetY:s,sourceControlX:l,sourceControlY:c,targetControlX:u,targetControlY:d});return[`M${e},${t} C${l},${c} ${u},${d} ${r},${s}`,f,p,h,m]}function t0t({sourceX:e,sourceY:t,targetX:n,targetY:r}){const s=Math.abs(n-e)/2,a=n<e?n+s:n-s,i=Math.abs(r-t)/2,l=r<t?r+i:r-i;return[a,l,s,i]}function Fqn({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:s=!1,zIndexMode:a="basic"}){if(a==="manual")return r;const i=s&&n?r+1e3:r,l=Math.max(e.parentId||s&&e.selected?e.internals.z:0,t.parentId||s&&t.selected?t.internals.z:0);return i+l}function zqn({sourceNode:e,targetNode:t,width:n,height:r,transform:s}){const a=xV(S7(e),S7(t));a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1);const i={x:-s[0]/s[2],y:-s[1]/s[2],width:n/s[2],height:r/s[2]};return eM(i,wV(a))>0}const Bqn=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,Uqn=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),qqn=(e,t,n={})=>{if(!e.source||!e.target)return t;const r=n.getEdgeId||Bqn;let s;return Vxt(e)?s={...e}:s={...e,id:r(e)},Uqn(s,t)?t:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,t.concat(s))};function n0t({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[s,a,i,l]=t0t({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,s,a,i,l]}const I8e={[nr.Left]:{x:-1,y:0},[nr.Right]:{x:1,y:0},[nr.Top]:{x:0,y:-1},[nr.Bottom]:{x:0,y:1}},Vqn=({source:e,sourcePosition:t=nr.Bottom,target:n})=>t===nr.Left||t===nr.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},A8e=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function Hqn({source:e,sourcePosition:t=nr.Bottom,target:n,targetPosition:r=nr.Top,center:s,offset:a,stepPosition:i}){const l=I8e[t],c=I8e[r],u={x:e.x+l.x*a,y:e.y+l.y*a},d={x:n.x+c.x*a,y:n.y+c.y*a},f=Vqn({source:u,sourcePosition:t,target:d}),p=f.x!==0?"x":"y",h=f[p];let m=[],g,y;const b={x:0,y:0},w={x:0,y:0},[,,S,k]=t0t({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(l[p]*c[p]===-1){p==="x"?(g=s.x??u.x+(d.x-u.x)*i,y=s.y??(u.y+d.y)/2):(g=s.x??(u.x+d.x)/2,y=s.y??u.y+(d.y-u.y)*i);const j=[{x:g,y:u.y},{x:g,y:d.y}],N=[{x:u.x,y},{x:d.x,y}];l[p]===h?m=p==="x"?j:N:m=p==="x"?N:j}else{const j=[{x:u.x,y:d.y}],N=[{x:d.x,y:u.y}];if(p==="x"?m=l.x===h?N:j:m=l.y===h?j:N,t===r){const D=Math.abs(e[p]-n[p]);if(D<=a){const V=Math.min(a-1,a-D);l[p]===h?b[p]=(u[p]>e[p]?-1:1)*V:w[p]=(d[p]>n[p]?-1:1)*V}}if(t!==r){const D=p==="x"?"y":"x",V=l[p]===c[D],W=u[D]>d[D],L=u[D]<d[D];(l[p]===1&&(!V&&W||V&&L)||l[p]!==1&&(!V&&L||V&&W))&&(m=p==="x"?j:N)}const I={x:u.x+b.x,y:u.y+b.y},R={x:d.x+w.x,y:d.y+w.y},$=Math.max(Math.abs(I.x-m[0].x),Math.abs(R.x-m[0].x)),F=Math.max(Math.abs(I.y-m[0].y),Math.abs(R.y-m[0].y));$>=F?(g=(I.x+R.x)/2,y=m[0].y):(g=m[0].x,y=(I.y+R.y)/2)}const _={x:u.x+b.x,y:u.y+b.y},C={x:d.x+w.x,y:d.y+w.y};return[[e,..._.x!==m[0].x||_.y!==m[0].y?[_]:[],...m,...C.x!==m[m.length-1].x||C.y!==m[m.length-1].y?[C]:[],n],g,y,S,k]}function Wqn(e,t,n,r){const s=Math.min(A8e(e,t)/2,A8e(t,n)/2,r),{x:a,y:i}=t;if(e.x===a&&a===n.x||e.y===i&&i===n.y)return`L${a} ${i}`;if(e.y===i){const u=e.x<n.x?-1:1,d=e.y<n.y?1:-1;return`L ${a+s*u},${i}Q ${a},${i} ${a},${i+s*d}`}const l=e.x<n.x?1:-1,c=e.y<n.y?-1:1;return`L ${a},${i+s*c}Q ${a},${i} ${a+s*l},${i}`}function ghe({sourceX:e,sourceY:t,sourcePosition:n=nr.Bottom,targetX:r,targetY:s,targetPosition:a=nr.Top,borderRadius:i=5,centerX:l,centerY:c,offset:u=20,stepPosition:d=.5}){const[f,p,h,m,g]=Hqn({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:s},targetPosition:a,center:{x:l,y:c},offset:u,stepPosition:d});let y=`M${f[0].x} ${f[0].y}`;for(let b=1;b<f.length-1;b++)y+=Wqn(f[b-1],f[b],f[b+1],i);return y+=`L${f[f.length-1].x} ${f[f.length-1].y}`,[y,p,h,m,g]}function R8e(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function Zqn(e){const{sourceNode:t,targetNode:n}=e;if(!R8e(t)||!R8e(n))return null;const r=t.internals.handleBounds||P8e(t.handles),s=n.internals.handleBounds||P8e(n.handles),a=$8e(r?.source??[],e.sourceHandle),i=$8e(e.connectionMode===gT.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),e.targetHandle);if(!a||!i)return e.onError?.("008",py.error008(a?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const l=a?.position||nr.Bottom,c=i?.position||nr.Top,u=IO(t,a,l),d=IO(n,i,c);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:l,targetPosition:c}}function P8e(e){if(!e)return null;const t=[],n=[];for(const r of e)r.width=r.width??1,r.height=r.height??1,r.type==="source"?t.push(r):r.type==="target"&&n.push(r);return{source:t,target:n}}function IO(e,t,n=nr.Left,r=!1){const s=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:i,height:l}=t??Hx(e);if(r)return{x:s+i/2,y:a+l/2};switch(t?.position??n){case nr.Top:return{x:s+i/2,y:a};case nr.Right:return{x:s+i,y:a+l/2};case nr.Bottom:return{x:s+i/2,y:a+l};case nr.Left:return{x:s,y:a+l/2}}}function $8e(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function vhe(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function Gqn(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:s}){const a=new Set;return e.reduce((i,l)=>([l.markerStart||r,l.markerEnd||s].forEach(c=>{if(c&&typeof c=="object"){const u=vhe(c,t);a.has(u)||(i.push({id:u,color:c.color||n,...c}),a.add(u))}}),i),[]).sort((i,l)=>i.id.localeCompare(l.id))}const r0t=1e3,Qqn=10,f1e={nodeOrigin:[0,0],nodeExtent:X$,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},Yqn={...f1e,checkEquality:!0};function p1e(e,t){const n={...e};for(const r in t)t[r]!==void 0&&(n[r]=t[r]);return n}function Xqn(e,t,n){const r=p1e(f1e,n);for(const s of e.values())if(s.parentId)m1e(s,e,t,r);else{const a=oD(s,r.nodeOrigin),i=bT(s.extent)?s.extent:r.nodeExtent,l=NO(a,i,Hx(s));s.internals.positionAbsolute=l}}function Kqn(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;const n=[],r=[];for(const s of e.handles){const a={id:s.id,width:s.width??1,height:s.height??1,nodeId:e.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?n.push(a):s.type==="target"&&r.push(a)}return{source:n,target:r}}function h1e(e){return e==="manual"}function yhe(e,t,n,r={}){const s=p1e(Yqn,r),a={i:0},i=new Map(t),l=s?.elevateNodesOnSelect&&!h1e(s.zIndexMode)?r0t:0;let c=e.length>0,u=!1;t.clear(),n.clear();for(const d of e){let f=i.get(d.id);if(s.checkEquality&&d===f?.internals.userNode)t.set(d.id,f);else{const p=oD(d,s.nodeOrigin),h=bT(d.extent)?d.extent:s.nodeExtent,m=NO(p,h,Hx(d));f={...s.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:m,handleBounds:Kqn(d,f),z:s0t(d,l,s.zIndexMode),userNode:d}},t.set(d.id,f)}(f.measured===void 0||f.measured.width===void 0||f.measured.height===void 0)&&!f.hidden&&(c=!1),d.parentId&&m1e(f,t,n,r,a),u||=d.selected??!1}return{nodesInitialized:c,hasSelectedNodes:u}}function Jqn(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function m1e(e,t,n,r,s){const{elevateNodesOnSelect:a,nodeOrigin:i,nodeExtent:l,zIndexMode:c}=p1e(f1e,r),u=e.parentId,d=t.get(u);if(!d){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Jqn(e,n),s&&!d.parentId&&d.internals.rootParentIndex===void 0&&c==="auto"&&(d.internals.rootParentIndex=++s.i,d.internals.z=d.internals.z+s.i*Qqn),s&&d.internals.rootParentIndex!==void 0&&(s.i=d.internals.rootParentIndex);const f=a&&!h1e(c)?r0t:0,{x:p,y:h,z:m}=eVn(e,d,i,l,f,c),{positionAbsolute:g}=e.internals,y=p!==g.x||h!==g.y;(y||m!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:p,y:h}:g,z:m}})}function s0t(e,t,n){const r=cg(e.zIndex)?e.zIndex:0;return h1e(n)?r:r+(e.selected?t:0)}function eVn(e,t,n,r,s,a){const{x:i,y:l}=t.internals.positionAbsolute,c=Hx(e),u=oD(e,n),d=bT(e.extent)?NO(u,e.extent,c):u;let f=NO({x:i+d.x,y:l+d.y},r,c);e.extent==="parent"&&(f=Wxt(f,c,t));const p=s0t(e,s,a),h=t.internals.z??0;return{x:f.x,y:f.y,z:h>=p?h+1:p}}function g1e(e,t,n,r=[0,0]){const s=[],a=new Map;for(const i of e){const l=t.get(i.parentId);if(!l)continue;const c=a.get(i.parentId)?.expandedRect??yT(l),u=Gxt(c,i.rect);a.set(i.parentId,{expandedRect:u,parent:l})}return a.size>0&&a.forEach(({expandedRect:i,parent:l},c)=>{const u=l.internals.positionAbsolute,d=Hx(l),f=l.origin??r,p=i.x<u.x?Math.round(Math.abs(u.x-i.x)):0,h=i.y<u.y?Math.round(Math.abs(u.y-i.y)):0,m=Math.max(d.width,Math.round(i.width)),g=Math.max(d.height,Math.round(i.height)),y=(m-d.width)*f[0],b=(g-d.height)*f[1];(p>0||h>0||y||b)&&(s.push({id:c,type:"position",position:{x:l.position.x-p+y,y:l.position.y-h+b}}),n.get(c)?.forEach(w=>{e.some(S=>S.id===w.id)||s.push({id:w.id,type:"position",position:{x:w.position.x+p,y:w.position.y+h}})})),(d.width<i.width||d.height<i.height||p||h)&&s.push({id:c,type:"dimensions",setAttributes:!0,dimensions:{width:m+(p?f[0]*p-y:0),height:g+(h?f[1]*h-b:0)}})}),s}function tVn(e,t,n,r,s,a,i){const l=r?.querySelector(".xyflow__viewport");let c=!1;if(!l)return{changes:[],updatedInternals:c};const u=[],d=window.getComputedStyle(l),{m22:f}=new window.DOMMatrixReadOnly(d.transform),p=[];for(const h of e.values()){const m=t.get(h.id);if(!m)continue;if(m.hidden){t.set(m.id,{...m,internals:{...m.internals,handleBounds:void 0}}),c=!0;continue}const g=u1e(h.nodeElement),y=m.measured.width!==g.width||m.measured.height!==g.height;if(!!(g.width&&g.height&&(y||!m.internals.handleBounds||h.force))){const w=h.nodeElement.getBoundingClientRect(),S=bT(m.extent)?m.extent:a;let{positionAbsolute:k}=m.internals;m.parentId&&m.extent==="parent"?k=Wxt(k,g,t.get(m.parentId)):S&&(k=NO(k,S,g));const _={...m,measured:g,internals:{...m.internals,positionAbsolute:k,handleBounds:{source:T8e("source",h.nodeElement,w,f,m.id),target:T8e("target",h.nodeElement,w,f,m.id)}}};t.set(m.id,_),m.parentId&&m1e(_,t,n,{nodeOrigin:s,zIndexMode:i}),c=!0,y&&(u.push({id:m.id,type:"dimensions",dimensions:g}),m.expandParent&&m.parentId&&p.push({id:m.id,parentId:m.parentId,rect:yT(_,s)}))}}if(p.length>0){const h=g1e(p,t,n,s);u.push(...h)}return{changes:u,updatedInternals:c}}async function nVn({delta:e,panZoom:t,transform:n,translateExtent:r,width:s,height:a}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const i=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[s,a]],r),l=!!i&&(i.x!==n[0]||i.y!==n[1]||i.k!==n[2]);return Promise.resolve(l)}function M8e(e,t,n,r,s,a){let i=s;const l=r.get(i)||new Map;r.set(i,l.set(n,t)),i=`${s}-${e}`;const c=r.get(i)||new Map;if(r.set(i,c.set(n,t)),a){i=`${s}-${e}-${a}`;const u=r.get(i)||new Map;r.set(i,u.set(n,t))}}function a0t(e,t,n){e.clear(),t.clear();for(const r of n){const{source:s,target:a,sourceHandle:i=null,targetHandle:l=null}=r,c={edgeId:r.id,source:s,target:a,sourceHandle:i,targetHandle:l},u=`${s}-${i}--${a}-${l}`,d=`${a}-${l}--${s}-${i}`;M8e("source",c,d,e,s,i),M8e("target",c,u,e,a,l),t.set(r.id,r)}}function i0t(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:i0t(n,t):!1}function D8e(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function rVn(e,t,n,r){const s=new Map;for(const[a,i]of e)if((i.selected||i.id===r)&&(!i.parentId||!i0t(i,e))&&(i.draggable||t&&typeof i.draggable>"u")){const l=e.get(a);l&&s.set(a,{id:a,position:l.position||{x:0,y:0},distance:{x:n.x-l.internals.positionAbsolute.x,y:n.y-l.internals.positionAbsolute.y},extent:l.extent,parentId:l.parentId,origin:l.origin,expandParent:l.expandParent,internals:{positionAbsolute:l.internals.positionAbsolute||{x:0,y:0}},measured:{width:l.measured.width??0,height:l.measured.height??0}})}return s}function AJ({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){const s=[];for(const[i,l]of t){const c=n.get(i)?.internals.userNode;c&&s.push({...c,position:l.position,dragging:r})}if(!e)return[s[0],s];const a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:s[0],s]}function sVn({dragItems:e,snapGrid:t,x:n,y:r}){const s=e.values().next().value;if(!s)return null;const a={x:n-s.distance.x,y:r-s.distance.y},i=cD(a,t);return{x:i.x-a.x,y:i.y-a.y}}function aVn({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:s}){let a={x:null,y:null},i=0,l=new Map,c=!1,u={x:0,y:0},d=null,f=!1,p=null,h=!1,m=!1,g=null;function y({noDragClassName:w,handleSelector:S,domNode:k,isSelectable:_,nodeId:C,nodeClickDistance:E=0}){p=fp(k);function j({x:$,y:F}){const{nodeLookup:D,nodeExtent:V,snapGrid:W,snapToGrid:L,nodeOrigin:z,onNodeDrag:B,onSelectionDrag:M,onError:G,updateNodePositions:U}=t();a={x:$,y:F};let P=!1;const q=l.size>1,Z=q&&V?mhe(lD(l)):null,X=q&&L?sVn({dragItems:l,snapGrid:W,x:$,y:F}):null;for(const[te,J]of l){if(!D.has(te))continue;let ee={x:$-J.distance.x,y:F-J.distance.y};L&&(ee=X?{x:Math.round(ee.x+X.x),y:Math.round(ee.y+X.y)}:cD(ee,W));let ae=null;if(q&&V&&!J.extent&&Z){const{positionAbsolute:ne}=J.internals,ce=ne.x-Z.x+V[0][0],pe=ne.x+J.measured.width-Z.x2+V[1][0],le=ne.y-Z.y+V[0][1],ve=ne.y+J.measured.height-Z.y2+V[1][1];ae=[[ce,le],[pe,ve]]}const{position:de,positionAbsolute:Y}=Hxt({nodeId:te,nextPosition:ee,nodeLookup:D,nodeExtent:ae||V,nodeOrigin:z,onError:G});P=P||J.position.x!==de.x||J.position.y!==de.y,J.position=de,J.internals.positionAbsolute=Y}if(m=m||P,!!P&&(U(l,!0),g&&(r||B||!C&&M))){const[te,J]=AJ({nodeId:C,dragItems:l,nodeLookup:D});r?.(g,l,te,J),B?.(g,te,J),C||M?.(g,J)}}async function N(){if(!d)return;const{transform:$,panBy:F,autoPanSpeed:D,autoPanOnNodeDrag:V}=t();if(!V){c=!1,cancelAnimationFrame(i);return}const[W,L]=Zxt(u,d,D);(W!==0||L!==0)&&(a.x=(a.x??0)-W/$[2],a.y=(a.y??0)-L/$[2],await F({x:W,y:L})&&j(a)),i=requestAnimationFrame(N)}function I($){const{nodeLookup:F,multiSelectionActive:D,nodesDraggable:V,transform:W,snapGrid:L,snapToGrid:z,selectNodesOnDrag:B,onNodeDragStart:M,onSelectionDragStart:G,unselectNodesAndEdges:U}=t();f=!0,(!B||!_)&&!D&&C&&(F.get(C)?.selected||U()),_&&B&&C&&e?.(C);const P=D2($.sourceEvent,{transform:W,snapGrid:L,snapToGrid:z,containerBounds:d});if(a=P,l=rVn(F,V,P,C),l.size>0&&(n||M||!C&&G)){const[q,Z]=AJ({nodeId:C,dragItems:l,nodeLookup:F});n?.($.sourceEvent,l,q,Z),M?.($.sourceEvent,q,Z),C||G?.($.sourceEvent,Z)}}const R=Oxt().clickDistance(E).on("start",$=>{const{domNode:F,nodeDragThreshold:D,transform:V,snapGrid:W,snapToGrid:L}=t();d=F?.getBoundingClientRect()||null,h=!1,m=!1,g=$.sourceEvent,D===0&&I($),a=D2($.sourceEvent,{transform:V,snapGrid:W,snapToGrid:L,containerBounds:d}),u=ug($.sourceEvent,d)}).on("drag",$=>{const{autoPanOnNodeDrag:F,transform:D,snapGrid:V,snapToGrid:W,nodeDragThreshold:L,nodeLookup:z}=t(),B=D2($.sourceEvent,{transform:D,snapGrid:V,snapToGrid:W,containerBounds:d});if(g=$.sourceEvent,($.sourceEvent.type==="touchmove"&&$.sourceEvent.touches.length>1||C&&!z.has(C))&&(h=!0),!h){if(!c&&F&&f&&(c=!0,N()),!f){const M=ug($.sourceEvent,d),G=M.x-u.x,U=M.y-u.y;Math.sqrt(G*G+U*U)>L&&I($)}(a.x!==B.xSnapped||a.y!==B.ySnapped)&&l&&f&&(u=ug($.sourceEvent,d),j(B))}}).on("end",$=>{if(!(!f||h)&&(c=!1,f=!1,cancelAnimationFrame(i),l.size>0)){const{nodeLookup:F,updateNodePositions:D,onNodeDragStop:V,onSelectionDragStop:W}=t();if(m&&(D(l,!1),m=!1),s||V||!C&&W){const[L,z]=AJ({nodeId:C,dragItems:l,nodeLookup:F,dragging:!1});s?.($.sourceEvent,l,L,z),V?.($.sourceEvent,L,z),C||W?.($.sourceEvent,z)}}}).filter($=>{const F=$.target;return!$.button&&(!w||!D8e(F,`.${w}`,k))&&(!S||D8e(F,S,k))});p.call(R)}function b(){p?.on(".drag",null)}return{update:y,destroy:b}}function iVn(e,t,n){const r=[],s={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const a of t.values())eM(s,yT(a))>0&&r.push(a);return r}const oVn=250;function lVn(e,t,n,r){let s=[],a=1/0;const i=iVn(e,n,t+oVn);for(const l of i){const c=[...l.internals.handleBounds?.source??[],...l.internals.handleBounds?.target??[]];for(const u of c){if(r.nodeId===u.nodeId&&r.type===u.type&&r.id===u.id)continue;const{x:d,y:f}=IO(l,u,u.position,!0),p=Math.sqrt(Math.pow(d-e.x,2)+Math.pow(f-e.y,2));p>t||(p<a?(s=[{...u,x:d,y:f}],a=p):p===a&&s.push({...u,x:d,y:f}))}}if(!s.length)return null;if(s.length>1){const l=r.type==="source"?"target":"source";return s.find(c=>c.type===l)??s[0]}return s[0]}function o0t(e,t,n,r,s,a=!1){const i=r.get(e);if(!i)return null;const l=s==="strict"?i.internals.handleBounds?.[t]:[...i.internals.handleBounds?.source??[],...i.internals.handleBounds?.target??[]],c=(n?l?.find(u=>u.id===n):l?.[0])??null;return c&&a?{...c,...IO(i,c,c.position,!0)}:c}function l0t(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function cVn(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const c0t=()=>!0;function uVn(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:s,edgeUpdaterType:a,isTarget:i,domNode:l,nodeLookup:c,lib:u,autoPanOnConnect:d,flowId:f,panBy:p,cancelConnection:h,onConnectStart:m,onConnect:g,onConnectEnd:y,isValidConnection:b=c0t,onReconnectEnd:w,updateConnection:S,getTransform:k,getFromHandle:_,autoPanSpeed:C,dragThreshold:E=1,handleDomNode:j}){const N=Xxt(e.target);let I=0,R;const{x:$,y:F}=ug(e),D=l0t(a,j),V=l?.getBoundingClientRect();let W=!1;if(!V||!D)return;const L=o0t(s,D,r,c,t);if(!L)return;let z=ug(e,V),B=!1,M=null,G=!1,U=null;function P(){if(!d||!V)return;const[de,Y]=Zxt(z,V,C);p({x:de,y:Y}),I=requestAnimationFrame(P)}const q={...L,nodeId:s,type:D,position:L.position},Z=c.get(s);let te={inProgress:!0,isValid:null,from:IO(Z,q,nr.Left,!0),fromHandle:q,fromPosition:q.position,fromNode:Z,to:z,toHandle:null,toPosition:_8e[q.position],toNode:null,pointer:z};function J(){W=!0,S(te),m?.(e,{nodeId:s,handleId:r,handleType:D})}E===0&&J();function ee(de){if(!W){const{x:ve,y:ye}=ug(de),Se=ve-$,Ne=ye-F;if(!(Se*Se+Ne*Ne>E*E))return;J()}if(!_()||!q){ae(de);return}const Y=k();z=ug(de,V),R=lVn(uD(z,Y,!1,[1,1]),n,c,q),B||(P(),B=!0);const ne=u0t(de,{handle:R,connectionMode:t,fromNodeId:s,fromHandleId:r,fromType:i?"target":"source",isValidConnection:b,doc:N,lib:u,flowId:f,nodeLookup:c});U=ne.handleDomNode,M=ne.connection,G=cVn(!!R,ne.isValid);const ce=c.get(s),pe=ce?IO(ce,q,nr.Left,!0):te.from,le={...te,from:pe,isValid:G,to:ne.toHandle&&G?k7({x:ne.toHandle.x,y:ne.toHandle.y},Y):z,toHandle:ne.toHandle,toPosition:G&&ne.toHandle?ne.toHandle.position:_8e[q.position],toNode:ne.toHandle?c.get(ne.toHandle.nodeId):null,pointer:z};S(le),te=le}function ae(de){if(!("touches"in de&&de.touches.length>0)){if(W){(R||U)&&M&&G&&g?.(M);const{inProgress:Y,...ne}=te,ce={...ne,toPosition:te.toHandle?te.toPosition:null};y?.(de,ce),a&&w?.(de,ce)}h(),cancelAnimationFrame(I),B=!1,G=!1,M=null,U=null,N.removeEventListener("mousemove",ee),N.removeEventListener("mouseup",ae),N.removeEventListener("touchmove",ee),N.removeEventListener("touchend",ae)}}N.addEventListener("mousemove",ee),N.addEventListener("mouseup",ae),N.addEventListener("touchmove",ee),N.addEventListener("touchend",ae)}function u0t(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:s,fromType:a,doc:i,lib:l,flowId:c,isValidConnection:u=c0t,nodeLookup:d}){const f=a==="target",p=t?i.querySelector(`.${l}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:h,y:m}=ug(e),g=i.elementFromPoint(h,m),y=g?.classList.contains(`${l}-flow__handle`)?g:p,b={handleDomNode:y,isValid:!1,connection:null,toHandle:null};if(y){const w=l0t(void 0,y),S=y.getAttribute("data-nodeid"),k=y.getAttribute("data-handleid"),_=y.classList.contains("connectable"),C=y.classList.contains("connectableend");if(!S||!w)return b;const E={source:f?S:r,sourceHandle:f?k:s,target:f?r:S,targetHandle:f?s:k};b.connection=E;const N=_&&C&&(n===gT.Strict?f&&w==="source"||!f&&w==="target":S!==r||k!==s);b.isValid=N&&u(E),b.toHandle=o0t(S,w,k,d,n,!0)}return b}const bhe={onPointerDown:uVn,isValid:u0t};function dVn({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){const s=fp(e);function a({translateExtent:l,width:c,height:u,zoomStep:d=1,pannable:f=!0,zoomable:p=!0,inversePan:h=!1}){const m=S=>{if(S.sourceEvent.type!=="wheel"||!t)return;const k=n(),_=S.sourceEvent.ctrlKey&&tM()?10:1,C=-S.sourceEvent.deltaY*(S.sourceEvent.deltaMode===1?.05:S.sourceEvent.deltaMode?1:.002)*d,E=k[2]*Math.pow(2,C*_);t.scaleTo(E)};let g=[0,0];const y=S=>{(S.sourceEvent.type==="mousedown"||S.sourceEvent.type==="touchstart")&&(g=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY])},b=S=>{const k=n();if(S.sourceEvent.type!=="mousemove"&&S.sourceEvent.type!=="touchmove"||!t)return;const _=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY],C=[_[0]-g[0],_[1]-g[1]];g=_;const E=r()*Math.max(k[2],Math.log(k[2]))*(h?-1:1),j={x:k[0]-C[0]*E,y:k[1]-C[1]*E},N=[[0,0],[c,u]];t.setViewportConstrained({x:j.x,y:j.y,zoom:k[2]},N,l)},w=Fxt().on("start",y).on("zoom",f?b:null).on("zoom.wheel",p?m:null);s.call(w,{})}function i(){s.on("zoom",null)}return{update:a,destroy:i,pointer:Xm}}const SV=e=>({x:e.x,y:e.y,zoom:e.k}),RJ=({x:e,y:t,zoom:n})=>bV.translate(e,t).scale(n),zE=(e,t)=>e.target.closest(`.${t}`),d0t=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),fVn=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,PJ=(e,t=0,n=fVn,r=()=>{})=>{const s=typeof t=="number"&&t>0;return s||r(),s?e.transition().duration(t).ease(n).on("end",r):e},f0t=e=>{const t=e.ctrlKey&&tM()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function pVn({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:s,panOnScrollSpeed:a,zoomOnPinch:i,onPanZoomStart:l,onPanZoom:c,onPanZoomEnd:u}){return d=>{if(zE(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const f=n.property("__zoom").k||1;if(d.ctrlKey&&i){const y=Xm(d),b=f0t(d),w=f*Math.pow(2,b);r.scaleTo(n,w,y,d);return}const p=d.deltaMode===1?20:1;let h=s===Bk.Vertical?0:d.deltaX*p,m=s===Bk.Horizontal?0:d.deltaY*p;!tM()&&d.shiftKey&&s!==Bk.Vertical&&(h=d.deltaY*p,m=0),r.translateBy(n,-(h/f)*a,-(m/f)*a,{internal:!0});const g=SV(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(c?.(d,g),e.panScrollTimeout=setTimeout(()=>{u?.(d,g),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,l?.(d,g))}}function hVn({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,s){const a=r.type==="wheel",i=!t&&a&&!r.ctrlKey,l=zE(r,e);if(r.ctrlKey&&a&&l&&r.preventDefault(),i||l)return null;r.preventDefault(),n.call(this,r,s)}}function mVn({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;const s=SV(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=s,r.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(r.sourceEvent,s)}}function gVn({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:s}){return a=>{e.usedRightMouseButton=!!(n&&d0t(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),s&&!a.sourceEvent?.internal&&s?.(a.sourceEvent,SV(a.transform))}}function vVn({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:s,onPaneContextMenu:a}){return i=>{if(!i.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&d0t(t,e.mouseButton??0)&&!e.usedRightMouseButton&&i.sourceEvent&&a(i.sourceEvent),e.usedRightMouseButton=!1,r(!1),s)){const l=SV(i.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s?.(i.sourceEvent,l)},n?150:0)}}}function yVn({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:s,zoomOnDoubleClick:a,userSelectionActive:i,noWheelClassName:l,noPanClassName:c,lib:u,connectionInProgress:d}){return f=>{const p=e||t,h=n&&f.ctrlKey,m=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&(zE(f,`${u}-flow__node`)||zE(f,`${u}-flow__edge`)))return!0;if(!r&&!p&&!s&&!a&&!n||i||d&&!m||zE(f,l)&&m||zE(f,c)&&(!m||s&&m&&!e)||!n&&f.ctrlKey&&m)return!1;if(!n&&f.type==="touchstart"&&f.touches?.length>1)return f.preventDefault(),!1;if(!p&&!s&&!h&&m||!r&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(r)&&!r.includes(f.button)&&f.type==="mousedown")return!1;const g=Array.isArray(r)&&r.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||m)&&g}}function bVn({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:s,onPanZoom:a,onPanZoomStart:i,onPanZoomEnd:l,onDraggingChange:c}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=Fxt().scaleExtent([t,n]).translateExtent(r),p=fp(e).call(f);w({x:s.x,y:s.y,zoom:vT(s.zoom,t,n)},[[0,0],[d.width,d.height]],r);const h=p.on("wheel.zoom"),m=p.on("dblclick.zoom");f.wheelDelta(f0t);function g(R,$){return p?new Promise(F=>{f?.interpolate($?.interpolate==="linear"?rx:L9).transform(PJ(p,$?.duration,$?.ease,()=>F(!0)),R)}):Promise.resolve(!1)}function y({noWheelClassName:R,noPanClassName:$,onPaneContextMenu:F,userSelectionActive:D,panOnScroll:V,panOnDrag:W,panOnScrollMode:L,panOnScrollSpeed:z,preventScrolling:B,zoomOnPinch:M,zoomOnScroll:G,zoomOnDoubleClick:U,zoomActivationKeyPressed:P,lib:q,onTransformChange:Z,connectionInProgress:X,paneClickDistance:te,selectionOnDrag:J}){D&&!u.isZoomingOrPanning&&b();const ee=V&&!P&&!D;f.clickDistance(J?1/0:!cg(te)||te<0?0:te);const ae=ee?pVn({zoomPanValues:u,noWheelClassName:R,d3Selection:p,d3Zoom:f,panOnScrollMode:L,panOnScrollSpeed:z,zoomOnPinch:M,onPanZoomStart:i,onPanZoom:a,onPanZoomEnd:l}):hVn({noWheelClassName:R,preventScrolling:B,d3ZoomHandler:h});if(p.on("wheel.zoom",ae,{passive:!1}),!D){const Y=mVn({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:i});f.on("start",Y);const ne=gVn({zoomPanValues:u,panOnDrag:W,onPaneContextMenu:!!F,onPanZoom:a,onTransformChange:Z});f.on("zoom",ne);const ce=vVn({zoomPanValues:u,panOnDrag:W,panOnScroll:V,onPaneContextMenu:F,onPanZoomEnd:l,onDraggingChange:c});f.on("end",ce)}const de=yVn({zoomActivationKeyPressed:P,panOnDrag:W,zoomOnScroll:G,panOnScroll:V,zoomOnDoubleClick:U,zoomOnPinch:M,userSelectionActive:D,noPanClassName:$,noWheelClassName:R,lib:q,connectionInProgress:X});f.filter(de),U?p.on("dblclick.zoom",m):p.on("dblclick.zoom",null)}function b(){f.on("zoom",null)}async function w(R,$,F){const D=RJ(R),V=f?.constrain()(D,$,F);return V&&await g(V),new Promise(W=>W(V))}async function S(R,$){const F=RJ(R);return await g(F,$),new Promise(D=>D(F))}function k(R){if(p){const $=RJ(R),F=p.property("__zoom");(F.k!==R.zoom||F.x!==R.x||F.y!==R.y)&&f?.transform(p,$,null,{sync:!0})}}function _(){const R=p?Lxt(p.node()):{x:0,y:0,k:1};return{x:R.x,y:R.y,zoom:R.k}}function C(R,$){return p?new Promise(F=>{f?.interpolate($?.interpolate==="linear"?rx:L9).scaleTo(PJ(p,$?.duration,$?.ease,()=>F(!0)),R)}):Promise.resolve(!1)}function E(R,$){return p?new Promise(F=>{f?.interpolate($?.interpolate==="linear"?rx:L9).scaleBy(PJ(p,$?.duration,$?.ease,()=>F(!0)),R)}):Promise.resolve(!1)}function j(R){f?.scaleExtent(R)}function N(R){f?.translateExtent(R)}function I(R){const $=!cg(R)||R<0?0:R;f?.clickDistance($)}return{update:y,destroy:b,setViewport:S,setViewportConstrained:w,getViewport:_,scaleTo:C,scaleBy:E,setScaleExtent:j,setTranslateExtent:N,syncViewport:k,setClickDistance:I}}var xT;(function(e){e.Line="line",e.Handle="handle"})(xT||(xT={}));function xVn({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:s,affectsY:a}){const i=e-t,l=n-r,c=[i>0?1:i<0?-1:0,l>0?1:l<0?-1:0];return i&&s&&(c[0]=c[0]*-1),l&&a&&(c[1]=c[1]*-1),c}function L8e(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),r=e.includes("left"),s=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:r,affectsY:s}}function D0(e,t){return Math.max(0,t-e)}function L0(e,t){return Math.max(0,e-t)}function x6(e,t,n){return Math.max(0,t-e,e-n)}function F8e(e,t){return e?!t:t}function wVn(e,t,n,r,s,a,i,l){let{affectsX:c,affectsY:u}=t;const{isHorizontal:d,isVertical:f}=t,p=d&&f,{xSnapped:h,ySnapped:m}=n,{minWidth:g,maxWidth:y,minHeight:b,maxHeight:w}=r,{x:S,y:k,width:_,height:C,aspectRatio:E}=e;let j=Math.floor(d?h-e.pointerX:0),N=Math.floor(f?m-e.pointerY:0);const I=_+(c?-j:j),R=C+(u?-N:N),$=-a[0]*_,F=-a[1]*C;let D=x6(I,g,y),V=x6(R,b,w);if(i){let z=0,B=0;c&&j<0?z=D0(S+j+$,i[0][0]):!c&&j>0&&(z=L0(S+I+$,i[1][0])),u&&N<0?B=D0(k+N+F,i[0][1]):!u&&N>0&&(B=L0(k+R+F,i[1][1])),D=Math.max(D,z),V=Math.max(V,B)}if(l){let z=0,B=0;c&&j>0?z=L0(S+j,l[0][0]):!c&&j<0&&(z=D0(S+I,l[1][0])),u&&N>0?B=L0(k+N,l[0][1]):!u&&N<0&&(B=D0(k+R,l[1][1])),D=Math.max(D,z),V=Math.max(V,B)}if(s){if(d){const z=x6(I/E,b,w)*E;if(D=Math.max(D,z),i){let B=0;!c&&!u||c&&!u&&p?B=L0(k+F+I/E,i[1][1])*E:B=D0(k+F+(c?j:-j)/E,i[0][1])*E,D=Math.max(D,B)}if(l){let B=0;!c&&!u||c&&!u&&p?B=D0(k+I/E,l[1][1])*E:B=L0(k+(c?j:-j)/E,l[0][1])*E,D=Math.max(D,B)}}if(f){const z=x6(R*E,g,y)/E;if(V=Math.max(V,z),i){let B=0;!c&&!u||u&&!c&&p?B=L0(S+R*E+$,i[1][0])/E:B=D0(S+(u?N:-N)*E+$,i[0][0])/E,V=Math.max(V,B)}if(l){let B=0;!c&&!u||u&&!c&&p?B=D0(S+R*E,l[1][0])/E:B=L0(S+(u?N:-N)*E,l[0][0])/E,V=Math.max(V,B)}}}N=N+(N<0?V:-V),j=j+(j<0?D:-D),s&&(p?I>R*E?N=(F8e(c,u)?-j:j)/E:j=(F8e(c,u)?-N:N)*E:d?(N=j/E,u=c):(j=N*E,c=u));const W=c?S+j:S,L=u?k+N:k;return{width:_+(c?-j:j),height:C+(u?-N:N),x:a[0]*j*(c?-1:1)+W,y:a[1]*N*(u?-1:1)+L}}const p0t={width:0,height:0,x:0,y:0},SVn={...p0t,pointerX:0,pointerY:0,aspectRatio:1};function kVn(e){return[[0,0],[e.measured.width,e.measured.height]]}function OVn(e,t,n){const r=t.position.x+e.position.x,s=t.position.y+e.position.y,a=e.measured.width??0,i=e.measured.height??0,l=n[0]*a,c=n[1]*i;return[[r-l,s-c],[r+a-l,s+i-c]]}function _Vn({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:s}){const a=fp(e);let i={controlDirection:L8e("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function l({controlPosition:u,boundaries:d,keepAspectRatio:f,resizeDirection:p,onResizeStart:h,onResize:m,onResizeEnd:g,shouldResize:y}){let b={...p0t},w={...SVn};i={boundaries:d,resizeDirection:p,keepAspectRatio:f,controlDirection:L8e(u)};let S,k=null,_=[],C,E,j,N=!1;const I=Oxt().on("start",R=>{const{nodeLookup:$,transform:F,snapGrid:D,snapToGrid:V,nodeOrigin:W,paneDomNode:L}=n();if(S=$.get(t),!S)return;k=L?.getBoundingClientRect()??null;const{xSnapped:z,ySnapped:B}=D2(R.sourceEvent,{transform:F,snapGrid:D,snapToGrid:V,containerBounds:k});b={width:S.measured.width??0,height:S.measured.height??0,x:S.position.x??0,y:S.position.y??0},w={...b,pointerX:z,pointerY:B,aspectRatio:b.width/b.height},C=void 0,S.parentId&&(S.extent==="parent"||S.expandParent)&&(C=$.get(S.parentId),E=C&&S.extent==="parent"?kVn(C):void 0),_=[],j=void 0;for(const[M,G]of $)if(G.parentId===t&&(_.push({id:M,position:{...G.position},extent:G.extent}),G.extent==="parent"||G.expandParent)){const U=OVn(G,S,G.origin??W);j?j=[[Math.min(U[0][0],j[0][0]),Math.min(U[0][1],j[0][1])],[Math.max(U[1][0],j[1][0]),Math.max(U[1][1],j[1][1])]]:j=U}h?.(R,{...b})}).on("drag",R=>{const{transform:$,snapGrid:F,snapToGrid:D,nodeOrigin:V}=n(),W=D2(R.sourceEvent,{transform:$,snapGrid:F,snapToGrid:D,containerBounds:k}),L=[];if(!S)return;const{x:z,y:B,width:M,height:G}=b,U={},P=S.origin??V,{width:q,height:Z,x:X,y:te}=wVn(w,i.controlDirection,W,i.boundaries,i.keepAspectRatio,P,E,j),J=q!==M,ee=Z!==G,ae=X!==z&&J,de=te!==B&ⅇif(!ae&&!de&&!J&&!ee)return;if((ae||de||P[0]===1||P[1]===1)&&(U.x=ae?X:b.x,U.y=de?te:b.y,b.x=U.x,b.y=U.y,_.length>0)){const pe=X-z,le=te-B;for(const ve of _)ve.position={x:ve.position.x-pe+P[0]*(q-M),y:ve.position.y-le+P[1]*(Z-G)},L.push(ve)}if((J||ee)&&(U.width=J&&(!i.resizeDirection||i.resizeDirection==="horizontal")?q:b.width,U.height=ee&&(!i.resizeDirection||i.resizeDirection==="vertical")?Z:b.height,b.width=U.width,b.height=U.height),C&&S.expandParent){const pe=P[0]*(U.width??0);U.x&&U.x<pe&&(b.x=pe,w.x=w.x-(U.x-pe));const le=P[1]*(U.height??0);U.y&&U.y<le&&(b.y=le,w.y=w.y-(U.y-le))}const Y=xVn({width:b.width,prevWidth:M,height:b.height,prevHeight:G,affectsX:i.controlDirection.affectsX,affectsY:i.controlDirection.affectsY}),ne={...b,direction:Y};y?.(R,ne)!==!1&&(N=!0,m?.(R,ne),r(U,L))}).on("end",R=>{N&&(g?.(R,{...b}),s?.({...b}),N=!1)});a.call(I)}function c(){a.on(".drag",null)}return{update:l,destroy:c}}const CVn={},z8e=e=>{let t;const n=new Set,r=(d,f)=>{const p=typeof d=="function"?d(t):d;if(!Object.is(p,t)){const h=t;t=f??(typeof p!="object"||p===null)?p:Object.assign({},t,p),n.forEach(m=>m(t,h))}},s=()=>t,c={setState:r,getState:s,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{(CVn?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},u=t=e(r,s,c);return c},EVn=e=>e?z8e(e):z8e,{useDebugValue:jVn}=Le,{useSyncExternalStoreWithSelector:TVn}=nwn,NVn=e=>e;function h0t(e,t=NVn,n){const r=TVn(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return jVn(r),r}const B8e=(e,t)=>{const n=EVn(e),r=(s,a=t)=>h0t(n,s,a);return Object.assign(r,n),r},IVn=(e,t)=>e?B8e(e,t):B8e;function to(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,s]of e)if(!Object.is(s,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}const kV=v.createContext(null),AVn=kV.Provider,m0t=py.error001();function Us(e,t){const n=v.useContext(kV);if(n===null)throw new Error(m0t);return h0t(n,e,t)}function wo(){const e=v.useContext(kV);if(e===null)throw new Error(m0t);return v.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const U8e={display:"none"},RVn={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},g0t="react-flow__node-desc",v0t="react-flow__edge-desc",PVn="react-flow__aria-live",$Vn=e=>e.ariaLiveMessage,MVn=e=>e.ariaLabelConfig;function DVn({rfId:e}){const t=Us($Vn);return o.jsx("div",{id:`${PVn}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:RVn,children:t})}function LVn({rfId:e,disableKeyboardA11y:t}){const n=Us(MVn);return o.jsxs(o.Fragment,{children:[o.jsx("div",{id:`${g0t}-${e}`,style:U8e,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),o.jsx("div",{id:`${v0t}-${e}`,style:U8e,children:n["edge.a11yDescription.default"]}),!t&&o.jsx(DVn,{rfId:e})]})}const dD=v.forwardRef(({position:e="top-left",children:t,className:n,style:r,...s},a)=>{const i=`${e}`.split("-");return o.jsx("div",{className:Pl(["react-flow__panel",n,...i]),style:r,ref:a,...s,children:t})});dD.displayName="Panel";function FVn({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:o.jsx(dD,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:o.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const zVn=e=>{const t=[],n=[];for(const[,r]of e.nodeLookup)r.selected&&t.push(r.internals.userNode);for(const[,r]of e.edgeLookup)r.selected&&n.push(r);return{selectedNodes:t,selectedEdges:n}},w6=e=>e.id;function BVn(e,t){return to(e.selectedNodes.map(w6),t.selectedNodes.map(w6))&&to(e.selectedEdges.map(w6),t.selectedEdges.map(w6))}function UVn({onSelectionChange:e}){const t=wo(),{selectedNodes:n,selectedEdges:r}=Us(zVn,BVn);return v.useEffect(()=>{const s={nodes:n,edges:r};e?.(s),t.getState().onSelectionChangeHandlers.forEach(a=>a(s))},[n,r,e]),null}const qVn=e=>!!e.onSelectionChangeHandlers;function VVn({onSelectionChange:e}){const t=Us(qVn);return e||t?o.jsx(UVn,{onSelectionChange:e}):null}const xhe=typeof window<"u"?v.useLayoutEffect:v.useEffect,y0t=[0,0],HVn={x:0,y:0,zoom:1},WVn=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],q8e=[...WVn,"rfId"],ZVn=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),V8e={translateExtent:X$,nodeOrigin:y0t,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function GVn(e){const{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:s,setTranslateExtent:a,setNodeExtent:i,reset:l,setDefaultNodesAndEdges:c}=Us(ZVn,to),u=wo();xhe(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=V8e,l()}),[]);const d=v.useRef(V8e);return xhe(()=>{for(const f of q8e){const p=e[f],h=d.current[f];p!==h&&(typeof e[f]>"u"||(f==="nodes"?t(p):f==="edges"?n(p):f==="minZoom"?r(p):f==="maxZoom"?s(p):f==="translateExtent"?a(p):f==="nodeExtent"?i(p):f==="ariaLabelConfig"?u.setState({ariaLabelConfig:Dqn(p)}):f==="fitView"?u.setState({fitViewQueued:p}):f==="fitViewOptions"?u.setState({fitViewOptions:p}):u.setState({[f]:p})))}d.current=e},q8e.map(f=>e[f])),null}function H8e(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function QVn(e){const[t,n]=v.useState(e==="system"?null:e);return v.useEffect(()=>{if(e!=="system"){n(e);return}const r=H8e(),s=()=>n(r?.matches?"dark":"light");return s(),r?.addEventListener("change",s),()=>{r?.removeEventListener("change",s)}},[e]),t!==null?t:H8e()?.matches?"dark":"light"}const W8e=typeof document<"u"?document:null;function nM(e=null,t={target:W8e,actInsideInputWithModifier:!0}){const[n,r]=v.useState(!1),s=v.useRef(!1),a=v.useRef(new Set([])),[i,l]=v.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.replace("+",`
|
|
337
337
|
`).replace(`
|
|
338
338
|
|
|
339
339
|
`,`
|
|
@@ -724,7 +724,7 @@ window.parent.postMessage({jsonrpc:'2.0',method:'ui/notifications/sandbox-proxy-
|
|
|
724
724
|
"groundTruth": "Expected result (optional)",
|
|
725
725
|
"metadata": { "key": "value" } // optional
|
|
726
726
|
}
|
|
727
|
-
]`})]})]})}function ses({errors:e,maxErrors:t=5}){if(e.length===0)return null;const n=e.slice(0,t),r=e.length-t;return o.jsxs("div",{className:"bg-accent2/10 border border-accent2/30 rounded-md p-3",children:[o.jsxs("div",{className:"flex items-center gap-2 text-accent2 mb-2",children:[o.jsx(Ue,{children:o.jsx(kp,{className:"w-4 h-4"})}),o.jsxs("span",{className:"font-medium text-sm",children:[e.length," validation error",e.length!==1?"s":""]})]}),o.jsx("ul",{className:"text-sm text-accent2/80 space-y-1",children:n.map((s,a)=>o.jsxs("li",{className:"flex gap-2",children:[o.jsx("span",{className:"shrink-0",children:"•"}),o.jsx("span",{children:s.message})]},a))}),r>0&&o.jsxs("div",{className:"text-xs text-accent2/60 mt-2",children:["+",r," more error",r!==1?"s":""]})]})}function aes({datasetId:e,open:t,onOpenChange:n,onSuccess:r}){const[s,a]=v.useState("upload"),[i,l]=v.useState(null),[c,u]=v.useState({current:0,total:0}),[d,f]=v.useState(null),[p,h]=v.useState(!1),{parseFile:m,isParsing:g,error:y}=IKr(),{batchInsertItems:b}=_i(),w=v.useCallback(async I=>{try{const R=await m(I);l(R),a("preview")}catch{}},[m]),S=v.useCallback(async()=>{if(!i||i.items.length===0)return;a("importing"),h(!0);const{items:I}=i;u({current:0,total:I.length});try{await b.mutateAsync({datasetId:e,items:I.map(R=>({input:R.input,groundTruth:R.groundTruth,metadata:R.metadata}))}),f({success:I.length,errors:0})}catch{f({success:0,errors:I.length})}u({current:I.length,total:I.length}),h(!1),a("complete")},[i,b,e]),k=v.useCallback(()=>{n(!1),r?.(),d&&d.success>0&&De.success(`Imported ${d.success} item${d.success!==1?"s":""}`),setTimeout(()=>{a("upload"),l(null),u({current:0,total:0}),f(null)},150)},[n,r,d]),_=v.useCallback(()=>{p||(n(!1),setTimeout(()=>{a("upload"),l(null),u({current:0,total:0}),f(null)},150))},[p,n]),C=i&&i.items.length>0&&i.errors.length===0,E=()=>{switch(s){case"upload":return o.jsx(res,{onFileSelect:w,isParsing:g,error:y?.message});case"preview":return i?o.jsx("div",{className:"flex flex-col gap-4",children:i.errors.length>0?o.jsxs(o.Fragment,{children:[o.jsx(ses,{errors:i.errors}),o.jsx("div",{className:"text-sm text-neutral4",children:"Please fix the errors in your JSON file and try again."})]}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"text-sm text-neutral4",children:["Found ",i.items.length," valid item",i.items.length!==1?"s":""," to import."]}),o.jsx(nes,{items:i.items,maxRows:5})]})}):null;case"importing":return o.jsxs("div",{className:"flex flex-col items-center gap-4 py-8",children:[o.jsx(Gt,{}),o.jsxs("div",{className:"text-center",children:[o.jsx("div",{className:"text-lg font-medium text-neutral1",children:"Importing items..."}),o.jsxs("div",{className:"text-sm text-neutral4 mt-1",children:[c.current," of ",c.total]})]})]});case"complete":return o.jsxs("div",{className:"flex flex-col items-center gap-4 py-8",children:[o.jsx("div",{className:"text-4xl",children:d&&d.errors===0?"✓":"⚠"}),o.jsxs("div",{className:"text-center",children:[o.jsx("div",{className:"text-lg font-medium text-neutral1",children:"Import Complete"}),o.jsxs("div",{className:"text-sm text-neutral4 mt-1",children:[d?.success??0," item",d?.success!==1?"s":""," imported",d&&d.errors>0&&o.jsxs("span",{className:"text-accent2",children:[" ","(",d.errors," error",d.errors!==1?"s":"",")"]})]})]})]})}},j=()=>{switch(s){case"upload":return o.jsx(ue,{onClick:_,children:"Cancel"});case"preview":return o.jsxs(o.Fragment,{children:[o.jsx(ue,{onClick:()=>a("upload"),children:"Back"}),o.jsxs(ue,{variant:"primary",onClick:S,disabled:!C,children:["Import ",i?.items.length??0," Item",i?.items.length!==1?"s":""]})]});case"importing":return null;case"complete":return o.jsx(ue,{variant:"primary",onClick:k,children:"Done"})}},N={upload:"Import JSON",preview:"Preview Data",importing:"Importing",complete:"Import Complete"};return o.jsx(br,{open:t,onOpenChange:_,children:o.jsxs(xr,{className:"max-w-2xl max-h-[90vh]",children:[o.jsxs(wr,{children:[o.jsx(gr,{children:N[s]}),o.jsx(Qs,{children:"Import dataset items from a JSON file."})]}),o.jsx(Ar,{className:"min-h-[200px] max-h-[50vh] overflow-y-auto",children:E()}),o.jsx(kc,{className:"px-6 pt-4 flex justify-end gap-2",children:j()})]})})}const fTe=e=>{const t=We(),{data:n}=GM(e),r=n?.experiments;return wt({queryKey:["dataset-review-items",e,r?.map(s=>s.id)],queryFn:async()=>!r||r.length===0?[]:(await Promise.all(r.map(async a=>{if(!a.datasetId)return[];try{const{results:i}=await t.listDatasetExperimentResults(a.datasetId,a.id);return i.filter(l=>l.status==="needs-review").map(l=>({id:l.id,input:l.input,output:l.output,error:l.error,itemId:l.itemId,experimentId:l.experimentId,datasetId:a.datasetId??void 0,traceId:l.traceId??void 0,scores:l.scores?Object.fromEntries(l.scores.map(c=>[c.scorerId,c.score??0])):{},tags:l.tags??[],comment:""}))}catch{return[]}}))).flat(),enabled:!!e&&!!r&&r.length>0,refetchOnWindowFocus:!1})},ies=e=>{const t=We(),{data:n}=GM(e),r=n?.experiments;return wt({queryKey:["dataset-completed-items",e,r?.map(s=>s.id)],queryFn:async()=>!r||r.length===0?[]:(await Promise.all(r.map(async a=>{if(!a.datasetId)return[];try{const{results:i}=await t.listDatasetExperimentResults(a.datasetId,a.id);return i.filter(l=>l.status==="complete").map(l=>({id:l.id,input:l.input,output:l.output,error:l.error,itemId:l.itemId,experimentId:l.experimentId,datasetId:a.datasetId??void 0,traceId:l.traceId??void 0,scores:l.scores?Object.fromEntries(l.scores.map(c=>[c.scorerId,c.score??0])):{},tags:l.tags??[],comment:""}))}catch{return[]}}))).flat(),enabled:!!e&&!!r&&r.length>0,refetchOnWindowFocus:!1})};function oes(e,t){if(typeof e=="string")return e.length>t?e.slice(0,t)+"...":e;try{const n=JSON.stringify(e);return n.length>t?n.slice(0,t)+"...":n}catch{return String(e)}}function s8t({datasetId:e,experimentId:t,featuredItemId:n}){const r=We(),{data:s}=Ux(e),{data:a,isLoading:i}=fTe(e),{data:l,isLoading:c}=ies(e),u=v.useMemo(()=>t?(a??[]).filter(Ce=>Ce.experimentId===t):a,[a,t]),d=v.useMemo(()=>t?(l??[]).filter(Ce=>Ce.experimentId===t):l,[l,t]),{updateExperimentResult:f}=_i(),[p,h]=v.useState(n??null);v.useEffect(()=>{n!==void 0&&h(n)},[n]);const[m,g]=v.useState(null),[y,b]=v.useState(new Set),[w,S]=v.useState(!1),[k,_]=v.useState(!1),[C,E]=v.useState(!1),[j,N]=v.useState(""),[I,R]=v.useState(""),[$,F]=v.useState(""),[D,V]=v.useState([]),[W,L]=v.useState(!1),[z,B]=v.useState(null),M=v.useMemo(()=>z??u??[],[z,u]);v.useEffect(()=>{B(null)},[e,t]),v.useEffect(()=>{u&&z===null&&B(u)},[u,z]);const G=v.useMemo(()=>{const Ce=new Set;if(s?.tags)for(const je of s.tags)Ce.add(je);for(const je of M)for(const _e of je.tags)Ce.add(_e);return[...Ce].sort()},[s,M]),U=v.useCallback(Ce=>{!s||!e||(s.tags??[]).includes(Ce)},[s,e]),P=v.useMemo(()=>m?m==="__untagged__"?M.filter(Ce=>Ce.tags.length===0):M.filter(Ce=>Ce.tags.includes(m)):M,[M,m]),q=v.useMemo(()=>{const Ce=new Map;for(const je of M)for(const _e of je.tags)Ce.set(_e,(Ce.get(_e)??0)+1);return[...Ce.entries()].sort((je,_e)=>_e[1]-je[1])},[M]),Z=v.useMemo(()=>M.filter(Ce=>Ce.tags.length===0).length,[M]),X=v.useMemo(()=>{let Ce=0;return m&&Ce++,w&&Ce++,Ce},[m,w]),te=v.useCallback((Ce,je)=>{B(Oe=>(Oe??[]).map(Re=>Re.id===Ce?{...Re,tags:je}:Re));const _e=M.find(Oe=>Oe.id===Ce);_e?.experimentId&&_e?.datasetId&&f.mutate({datasetId:_e.datasetId,experimentId:_e.experimentId,resultId:_e.id,tags:je})},[M,f]),J=v.useCallback((Ce,je)=>{const _e=M.find(Oe=>Oe.id===Ce);_e?.traceId&&je!==void 0&&r.createFeedback({feedback:{traceId:_e.traceId,source:"studio",feedbackSource:"studio",feedbackType:"rating",value:je==="positive"?1:-1,experimentId:_e.experimentId??void 0,sourceId:_e.id}}).catch(()=>{}),B(Oe=>(Oe??[]).map(Re=>Re.id===Ce?{...Re,rating:je}:Re))},[M,r]),ee=v.useCallback((Ce,je)=>{const _e=M.find(Oe=>Oe.id===Ce);_e?.traceId&&r.createFeedback({feedback:{traceId:_e.traceId,source:"studio",feedbackSource:"studio",feedbackType:"comment",value:je,comment:je,experimentId:_e.experimentId??void 0,sourceId:_e.id}}).catch(()=>{}),B(Oe=>(Oe??[]).map(Re=>Re.id===Ce?{...Re,comment:je}:Re))},[M,r]),ae=v.useCallback(Ce=>{const je=M.find(_e=>_e.id===Ce);B(_e=>(_e??[]).filter(Oe=>Oe.id!==Ce)),b(_e=>{const Oe=new Set(_e);return Oe.delete(Ce),Oe}),p===Ce&&h(null),je?.experimentId&&je?.datasetId&&f.mutate({datasetId:je.datasetId,experimentId:je.experimentId,resultId:je.id,status:null})},[M,f,p]),de=v.useCallback(Ce=>{const je=M.find(_e=>_e.id===Ce);B(_e=>(_e??[]).filter(Oe=>Oe.id!==Ce)),b(_e=>{const Oe=new Set(_e);return Oe.delete(Ce),Oe}),p===Ce&&h(null),je?.experimentId&&je?.datasetId&&f.mutate({datasetId:je.datasetId,experimentId:je.experimentId,resultId:je.id,status:"complete"})},[M,f,p]),Y=v.useMemo(()=>{const Ce=w?d??[]:P;return!w||!m?Ce:m==="__untagged__"?Ce.filter(je=>je.tags.length===0):Ce.filter(je=>je.tags.includes(m))},[w,d,P,m]),ne=w?c:!1,ce=v.useMemo(()=>new Set(Y.map(Ce=>Ce.id)),[Y]),pe=v.useMemo(()=>[...y].filter(Ce=>ce.has(Ce)).length,[y,ce]),le=Y.length>0&&pe===Y.length,ve=pe>0&&!le,ye=v.useCallback(Ce=>{b(je=>{const _e=new Set(je);return _e.has(Ce)?_e.delete(Ce):_e.add(Ce),_e})},[]),Se=v.useCallback(()=>{b(le?new Set:new Set(Y.map(Ce=>Ce.id)))},[le,Y]),Ne=v.useCallback(Ce=>{for(const je of y){const _e=M.find(Oe=>Oe.id===je);_e&&!_e.tags.includes(Ce)&&te(je,[..._e.tags,Ce])}},[M,y,te]),ke=v.useCallback(Ce=>{for(const je of y){const _e=M.find(Oe=>Oe.id===je);_e&&_e.tags.includes(Ce)&&te(je,_e.tags.filter(Oe=>Oe!==Ce))}},[M,y,te]),Ie=v.useCallback(()=>{for(const Ce of y)de(Ce);b(new Set)},[y,de]),ze=v.useCallback(()=>{for(const Ce of y)ae(Ce);b(new Set)},[y,ae]),oe=v.useCallback(()=>{N(""),E(!0)},[]),se=v.useCallback(async()=>{if(!(!I||!$)){_(!0),E(!1);try{const Ce=M.filter(_e=>y.has(_e.id));if(Ce.length===0){_(!1);return}const je=await r.clusterFailures({modelId:`${I}/${$}`,items:Ce.map(_e=>({id:_e.id,input:_e.input,output:_e.output??void 0,error:typeof _e.error=="string"?_e.error:_e.error?String(_e.error):void 0,scores:_e.scores,existingTags:_e.tags.length>0?_e.tags:void 0})),availableTags:G.length>0?G:void 0,prompt:j||void 0});je.proposedTags&&je.proposedTags.length>0&&(V(je.proposedTags.map(_e=>({..._e,accepted:!0}))),L(!0))}catch(Ce){console.error("Analysis failed:",Ce)}finally{_(!1)}}},[I,$,M,y,r,G,j]),re=v.useCallback(()=>{for(const Ce of D){if(!Ce.accepted)continue;const je=M.find(_e=>_e.id===Ce.itemId);if(je){const _e=[...new Set([...je.tags,...Ce.tags])];te(je.id,_e)}}L(!1)},[D,M,te]),he=v.useCallback(Ce=>{h(je=>je===Ce?null:Ce)},[]),xe=v.useMemo(()=>p?Y.find(Ce=>Ce.id===p)??null:null,[p,Y]),Ee=p?Y.findIndex(Ce=>Ce.id===p):-1,Pe=Ee>0?()=>h(Y[Ee-1].id):void 0,Qe=Ee>=0&&Ee<Y.length-1?()=>h(Y[Ee+1].id):void 0,Ze="auto minmax(15rem,1fr) 10rem 8rem 6rem 6rem";return i?o.jsx("div",{className:"flex-1 flex items-center justify-center",children:o.jsx(Gt,{className:"w-6 h-6"})}):o.jsxs("div",{className:"flex flex-1 min-h-0 overflow-hidden",children:[o.jsx(br,{open:C,onOpenChange:E,children:o.jsxs(xr,{children:[o.jsxs(wr,{children:[o.jsx(gr,{children:"Analyze Items"}),o.jsx(Qs,{children:"Use an LLM to automatically suggest tags for the selected items."})]}),o.jsxs("div",{className:"space-y-4 py-2",children:[o.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[o.jsxs("div",{children:[o.jsx(Rt,{className:"text-xs mb-1 block",children:"Provider"}),o.jsx(Fy,{value:I,onValueChange:R})]}),o.jsxs("div",{children:[o.jsx(Rt,{className:"text-xs mb-1 block",children:"Model"}),o.jsx(zy,{llmId:I,value:$,onValueChange:F})]})]}),o.jsxs(ge,{variant:"ui-xs",className:"text-neutral3",children:[y.size," item",y.size!==1?"s":""," will be analyzed"]}),o.jsxs("div",{children:[o.jsx(Rt,{className:"text-xs",children:"Instructions (optional)"}),o.jsx(Yl,{value:j,onChange:Ce=>N(Ce.target.value),placeholder:"E.g., Focus on safety issues and factual errors...",rows:3,className:"text-xs mt-1"})]})]}),o.jsxs(kc,{children:[o.jsx(ue,{variant:"outline",onClick:()=>E(!1),children:"Cancel"}),o.jsxs(ue,{onClick:se,disabled:!I||!$||k,children:[k?o.jsx(Gt,{className:"w-4 h-4 mr-1"}):null,"Analyze"]})]})]})}),o.jsx(br,{open:W,onOpenChange:L,children:o.jsxs(xr,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[o.jsxs(wr,{children:[o.jsx(gr,{children:"Review Proposed Tags"}),o.jsxs(Qs,{children:[D.filter(Ce=>Ce.accepted).length," of ",D.length," proposals selected"]})]}),o.jsx("div",{className:"space-y-3 py-2",children:D.map((Ce,je)=>{const _e=M.find(Oe=>Oe.id===Ce.itemId);return o.jsx("div",{className:K("p-3 border rounded-lg",!Ce.accepted&&"opacity-50"),children:o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx($o,{checked:Ce.accepted,onCheckedChange:Oe=>V(Re=>Re.map((qe,Ke)=>Ke===je?{...qe,accepted:!!Oe}:qe))}),o.jsxs("div",{className:"flex-1 min-w-0",children:[o.jsx(ge,{variant:"ui-xs",className:"text-neutral4 truncate block",children:_e?typeof _e.input=="string"?_e.input.slice(0,100):JSON.stringify(_e.input).slice(0,100):Ce.itemId}),o.jsx("div",{className:"flex gap-1 flex-wrap mt-1.5",children:Ce.tags.map((Oe,Re)=>o.jsx(L6t,{tag:Oe,onRename:qe=>V(Ke=>Ke.map((Ge,Ot)=>Ot===je?{...Ge,tags:Ge.tags.map((yt,rn)=>rn===Re?qe:yt)}:Ge)),onRemove:()=>V(qe=>qe.map((Ke,Ge)=>Ge===je?{...Ke,tags:Ke.tags.filter((Ot,yt)=>yt!==Re)}:Ke))},`${Oe}-${Re}`))}),Ce.reason&&o.jsx(ge,{variant:"ui-xs",className:"text-neutral3 mt-1 block italic",children:Ce.reason})]})]})},Ce.itemId)})}),o.jsxs(kc,{children:[o.jsx(ue,{variant:"outline",onClick:()=>L(!1),children:"Cancel"}),o.jsxs(ue,{onClick:re,disabled:D.filter(Ce=>Ce.accepted).length===0,children:["Accept ",D.filter(Ce=>Ce.accepted).length," proposals"]})]})]})}),o.jsxs("div",{className:K("grid w-full h-full grid-cols-1 gap-4 overflow-y-auto",xe&&"grid-cols-[1fr_1fr]"),children:[o.jsxs("div",{className:"grid gap-8 content-start w-full overflow-y-auto",children:[o.jsxs("div",{className:"flex items-center justify-between w-full flex-wrap gap-4 gap-x-6",children:[o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsxs(ft,{children:[o.jsx(ft.Trigger,{asChild:!0,children:o.jsxs(ue,{variant:"outline",size:"md",children:[o.jsx(vlt,{}),"Filter",X>0&&o.jsx("span",{className:K("ml-0.5 inline-flex items-center justify-center rounded-full bg-accent1/50 text-neutral5 text-ui-sm w-5 h-5"),children:X})]})}),o.jsxs(ft.Content,{align:"start",className:K("min-w-48"),children:[o.jsxs(ft.Sub,{children:[o.jsxs(ft.SubTrigger,{children:["Status",w&&o.jsx("span",{className:K("ml-auto text-ui-sm text-accent1"),children:"1"})]}),o.jsxs(ft.SubContent,{children:[o.jsx(ft.CheckboxItem,{checked:!w,onCheckedChange:()=>{S(!1),h(null)},onSelect:Ce=>Ce.preventDefault(),children:"Review Queue"}),o.jsx(ft.CheckboxItem,{checked:w,onCheckedChange:()=>{S(!0),h(null)},onSelect:Ce=>Ce.preventDefault(),children:"Completed"})]})]}),o.jsxs(ft.Sub,{children:[o.jsxs(ft.SubTrigger,{children:["Tags",m&&o.jsx("span",{className:K("ml-auto text-ui-sm text-accent1"),children:"1"})]}),o.jsxs(ft.SubContent,{children:[o.jsx(ft.CheckboxItem,{checked:!m,onCheckedChange:()=>g(null),onSelect:Ce=>Ce.preventDefault(),children:"All"}),Z>0&&o.jsx(ft.CheckboxItem,{checked:m==="__untagged__",onCheckedChange:()=>g(m==="__untagged__"?null:"__untagged__"),onSelect:Ce=>Ce.preventDefault(),children:"Untagged"}),q.length>0&&o.jsx(ft.Separator,{}),q.map(([Ce])=>o.jsx(ft.CheckboxItem,{checked:m===Ce,onCheckedChange:()=>g(m===Ce?null:Ce),onSelect:je=>je.preventDefault(),children:Ce},Ce))]})]}),X>0&&o.jsxs(o.Fragment,{children:[o.jsx(ft.Separator,{}),o.jsxs(ft.Item,{onSelect:()=>{g(null),S(!1),h(null)},children:[o.jsx(vs,{}),"Clear all filters"]})]})]})]}),X>0&&o.jsxs(ue,{variant:"outline",size:"md",onClick:()=>{g(null),S(!1),h(null)},children:[o.jsx(vs,{}),"Reset"]})]}),!w&&y.size>0&&o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(D6t,{selectedCount:y.size,vocabulary:G,onApplyTag:Ne,onRemoveTag:ke,onNewTag:Ce=>Ne(Ce)}),o.jsxs(ft,{children:[o.jsx(ft.Trigger,{asChild:!0,children:o.jsxs(ue,{disabled:k,children:[k?o.jsx(Gt,{className:"w-4 h-4"}):o.jsx(Ue,{size:"sm",children:o.jsx(Na,{})}),"Actions"]})}),o.jsxs(ft.Content,{align:"end",children:[o.jsxs(ft.Item,{onSelect:Ie,children:[o.jsx(Ue,{size:"sm",children:o.jsx(rO,{})}),"Complete"]}),o.jsxs(ft.Item,{onSelect:ze,children:[o.jsx(Ue,{size:"sm",children:o.jsx(Jc,{})}),"Remove"]}),o.jsx(ft.Separator,{}),o.jsxs(ft.Item,{onSelect:oe,children:[o.jsx(Ue,{size:"sm",children:o.jsx(bg,{})}),"Analyze"]})]})]})]})]}),ne?o.jsx("div",{className:"flex-1 flex items-center justify-center",children:o.jsx(Gt,{className:"w-6 h-6"})}):Y.length===0?o.jsx("div",{className:"flex-1 flex items-center justify-center",children:o.jsxs("div",{className:"text-center px-8",children:[o.jsx(ge,{variant:"ui-sm",className:"text-neutral3 block",children:w?"No completed reviews yet":"No items to review"}),o.jsx(ge,{variant:"ui-xs",className:"text-neutral3 mt-2 block",children:w?"Items marked as complete will appear here for auditing.":"When experiment results are flagged for review, they will appear here."})]})}):o.jsxs(me,{columns:Ze,className:"min-w-0",children:[o.jsxs(me.Top,{hasLeadingCell:!0,children:[w?o.jsx(me.TopCell,{children:" "}):o.jsx(me.TopSelectCell,{checked:le?!0:ve?"indeterminate":!1,onToggle:()=>Se(),"aria-label":"Select all"}),o.jsxs(me.TopCells,{colStart:2,children:[o.jsx(me.TopCell,{children:"Input"}),o.jsx(me.TopCell,{children:"Comment"}),o.jsx(me.TopCell,{children:"Tags"}),o.jsx(me.TopCell,{children:"Rating"}),o.jsx(me.TopCell,{children:"Scores"})]})]}),Y.map(Ce=>{const je=Ce.scores?Object.entries(Ce.scores):[],_e=p===Ce.id,Oe=o.jsxs(o.Fragment,{children:[o.jsx(me.Cell,{height:"compact",className:"min-w-0 text-neutral4",children:o.jsx("span",{className:"block truncate",children:oes(Ce.input,200)})}),o.jsx(me.Cell,{height:"compact",className:"min-w-0",children:Ce.comment?o.jsx(ge,{variant:"ui-xs",className:"text-neutral3 truncate",children:Ce.comment}):o.jsx(ge,{variant:"ui-xs",className:"text-neutral2",children:"—"})}),o.jsx(me.Cell,{height:"compact",className:"min-w-0",children:Ce.tags.length>0?o.jsx(ge,{variant:"ui-xs",className:"text-neutral4 truncate",children:Ce.tags.join(", ")}):o.jsx(ge,{variant:"ui-xs",className:"text-neutral2",children:"—"})}),o.jsxs(me.Cell,{height:"compact",children:[Ce.rating==="positive"&&o.jsx(Ue,{size:"sm",className:"text-positive1",children:o.jsx(Jye,{})}),Ce.rating==="negative"&&o.jsx(Ue,{size:"sm",className:"text-negative1",children:o.jsx(Kye,{})}),!Ce.rating&&o.jsx(ge,{variant:"ui-xs",className:"text-neutral2",children:"—"})]}),o.jsx(me.Cell,{height:"compact",children:je.length>0?o.jsxs("div",{className:"flex items-center gap-1",children:[o.jsx(Ue,{size:"sm",className:"text-neutral3",children:o.jsx(Jh,{})}),o.jsx(ge,{variant:"ui-xs",className:"text-neutral4 font-mono",children:je[0][1].toFixed(2)}),je.length>1&&o.jsxs(fn,{variant:"default",children:["+",je.length-1]})]}):o.jsx(ge,{variant:"ui-xs",className:"text-neutral2",children:"—"})})]});return o.jsxs(me.RowWrapper,{children:[w?o.jsx(me.Cell,{height:"compact",className:"justify-items-center px-4",children:o.jsx("div",{role:"img","aria-label":Ce.error?"Error":"Success",title:Ce.error?"Error":"Success",className:K("w-2 h-2 rounded-full",Ce.error?"bg-red-700":"bg-green-600")})}):o.jsx(me.SelectCell,{checked:y.has(Ce.id),onToggle:()=>ye(Ce.id),"aria-label":`Select item ${Ce.id}`}),o.jsx(me.RowButton,{flushLeft:!0,colStart:2,featured:_e,onClick:()=>he(Ce.id),children:Oe})]},Ce.id)})]})]}),xe&&o.jsx(M6t,{item:xe,isCompleted:w,tagVocabulary:G,onRate:Ce=>J(xe.id,Ce),onSetTags:Ce=>{te(xe.id,Ce);for(const je of Ce)G.includes(je)||U(je)},onComment:Ce=>ee(xe.id,Ce),onRemove:()=>ae(xe.id),onComplete:w?void 0:()=>de(xe.id),onPrevious:Pe,onNext:Qe,onClose:()=>h(null)})]})]})}function les({datasetId:e,onAddItemClick:t,onNavigateToDataset:n}){const{navigate:r}=yn(),[s,a]=ji(),{tab:i,activeVersion:l,handleTabChange:c}=uTe(s,a),[u,d]=v.useState(!1),[f,p]=v.useState(!1),[h,m]=v.useState(!1),[g,y]=v.useState([]),[b,w]=v.useState(!1),[S,k]=v.useState([]),[_,C]=v.useState(!1),[E,j]=v.useState([]),[N,I]=v.useState(0),[R,$]=v.useState(null),[F,D]=v.useState(""),[V]=w0e(F,300),{data:W}=Ux(e),{data:L=[],total:z,isLoading:B,setEndOfListElement:M,isFetchingNextPage:G,hasNextPage:U}=_1(e,V||void 0,l),{total:P}=_1(e,void 0,l),[q,Z]=v.useState({}),{data:X,isLoading:te}=GM(e,void 0,q),{data:J}=GM(e),{deleteItems:ee}=_i(),ae=X?.experiments??[],de=J?.experiments??[],Y=cJr({hasSearchQuery:!!V,filteredItemsLength:L.length,unfilteredItemsTotal:P,itemsTotal:z}),{data:ne}=fTe(e),ce=ne?.length??0,pe=re=>{$(re)},le=()=>{$(null)},ve=re=>{y(re),m(!0)},ye=re=>{k(re),w(!0)},Se=re=>{w(re),re||(k([]),I(he=>he+1))},Ne=re=>{r(`/datasets/${e}/items?items=${re.join(",")}`)},ke=re=>{r(`/datasets/${e}/versions?ids=${re.join(",")}`)},Ie=re=>{j(re),C(!0)},ze=async()=>{await ee.mutateAsync({datasetId:e,itemIds:E}),De.success(`Deleted ${E.length} items`),C(!1),j([]),I(re=>re+1)},oe=re=>{m(!1),y([]),I(he=>he+1),n?.(re)},se=re=>{m(re),re||(y([]),I(he=>he+1))};return o.jsxs(o.Fragment,{children:[o.jsxs(ru,{defaultTab:"items",value:i,onValueChange:c,className:"grid grid-rows-[auto_1fr] h-full",children:[o.jsxs(su,{children:[o.jsxs(Vr,{value:"items",children:["Items ",o.jsx(Xs,{color:"gray",children:Y})]}),o.jsxs(Vr,{value:"experiments",children:["Experiments",o.jsx(Xs,{color:"gray",children:ae.length})]}),o.jsxs(Vr,{value:"review",children:["Review",ce>0&&o.jsx(Xs,{color:"orange",children:ce})]})]}),o.jsx(ps,{value:"items",className:"grid overflow-auto mt-5 pb-0",children:o.jsx(tes,{datasetId:e,items:L,isLoading:B,featuredItemId:R,onItemSelect:pe,onItemClose:le,onAddClick:t??(()=>{}),onImportClick:()=>d(!0),onImportJsonClick:()=>p(!0),onBulkDeleteClick:Ie,onCreateDatasetClick:ve,onAddToDatasetClick:ye,onCompareItemsClick:Ne,datasetName:W?.name,clearSelectionTrigger:N,setEndOfListElement:M,isFetchingNextPage:G,hasNextPage:U,searchQuery:F,activeSearchQuery:V,onSearchChange:D,currentDatasetVersion:W?.version,onCompareVersionsClick:ke})}),o.jsx(ps,{value:"experiments",className:"grid overflow-auto mt-5 pb-0",children:o.jsx(CJr,{experiments:ae,allExperiments:de,isLoading:te,datasetId:e,filters:q,onFiltersChange:Z})}),o.jsx(ps,{value:"review",className:"overflow-auto mt-2 pb-0",children:o.jsx(s8t,{datasetId:e})})]}),o.jsx(yJr,{datasetId:e,open:u,onOpenChange:d}),o.jsx(aes,{datasetId:e,open:f,onOpenChange:p}),o.jsx(GKr,{open:h,onOpenChange:se,items:g,onSuccess:oe}),o.jsx(QKr,{open:b,onOpenChange:Se,items:S,currentDatasetId:e}),o.jsx(Tt,{open:_,onOpenChange:C,children:o.jsxs(Tt.Content,{children:[o.jsxs(Tt.Header,{children:[o.jsx(Tt.Title,{children:"Delete Items"}),o.jsxs(Tt.Description,{children:["Are you sure you want to delete ",E.length," item",E.length!==1?"s":"","? This action cannot be undone."]})]}),o.jsxs(Tt.Footer,{children:[o.jsx(Tt.Cancel,{children:"Cancel"}),o.jsx(Tt.Action,{onClick:ze,children:ee.isPending?"Deleting...":"Delete"})]})]})})]})}function ces(e){if(!(e instanceof Error))return null;const t=e.message.match(/- ({.*})$/);if(!t)return null;try{const n=JSON.parse(t[1]);if(n.field&&Array.isArray(n.errors))return{field:n.field,errors:n.errors}}catch{}return null}function Dre({field:e,errors:t}){return t.length?o.jsx("div",{className:"mt-2 space-y-1",children:t.map((n,r)=>o.jsxs("p",{className:"text-xs text-destructive",children:[o.jsxs("code",{className:"bg-destructive/10 px-1 rounded",children:[e,n.path!=="/"?n.path:""]}),": ",n.message]},r))}):null}function ues({datasetId:e,open:t,onOpenChange:n,onSuccess:r}){const[s,a]=v.useState("{}"),[i,l]=v.useState(""),[c,u]=v.useState(""),[d,f]=v.useState(""),[p,h]=v.useState(""),[m,g]=v.useState(null),{addItem:y}=_i(),b=async C=>{C.preventDefault();let E;try{E=JSON.parse(s)}catch{De.error("Input must be valid JSON");return}let j;if(i.trim())try{j=JSON.parse(i)}catch{De.error("Ground Truth must be valid JSON");return}let N;if(c.trim())try{N=JSON.parse(c)}catch{De.error("Expected Trajectory must be valid JSON");return}let I;if(d.trim())try{const $=JSON.parse(d);if(!Array.isArray($)){De.error("Tool Mocks must be a JSON array");return}I=$}catch{De.error("Tool Mocks must be valid JSON");return}let R;if(p.trim())try{R=JSON.parse(p)}catch{De.error("Request Context must be valid JSON");return}try{await y.mutateAsync({datasetId:e,input:E,groundTruth:j,expectedTrajectory:N,toolMocks:I,requestContext:R}),De.success("Item added successfully"),g(null),a("{}"),l(""),u(""),f(""),h(""),n(!1),r?.()}catch($){const F=ces($);F?g(F):De.error(`Failed to add item: ${$ instanceof Error?$.message:"Unknown error"}`)}},w=C=>{a(C),m?.field==="input"&&g(null)},S=C=>{l(C),m?.field==="groundTruth"&&g(null)},k=C=>{f(C),m?.field==="toolMocks"&&g(null)},_=()=>{a("{}"),l(""),u(""),f(""),h(""),g(null),n(!1)};return o.jsx(br,{open:t,onOpenChange:n,children:o.jsxs(xr,{className:"max-w-lg",children:[o.jsx(wr,{children:o.jsx(gr,{children:"Add Item"})}),o.jsx(Ar,{children:o.jsxs("form",{onSubmit:b,className:"space-y-4",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(Rt,{htmlFor:"item-input",children:"Input (JSON) *"}),o.jsx(Qr,{value:s,onChange:w,showCopyButton:!1,className:"min-h-[120px]"}),m?.field==="input"&&o.jsx(Dre,{field:"input",errors:m.errors})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Rt,{htmlFor:"item-ground-truth",children:"Ground Truth (JSON, optional)"}),o.jsx(Qr,{value:i,onChange:S,showCopyButton:!1,className:"min-h-[80px]"}),m?.field==="groundTruth"&&o.jsx(Dre,{field:"groundTruth",errors:m.errors})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Rt,{htmlFor:"item-trajectory",children:"Expected Trajectory (JSON, optional)"}),o.jsx(Qr,{value:c,onChange:u,showCopyButton:!1,className:"min-h-[80px]"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Rt,{htmlFor:"item-tool-mocks",children:"Tool Mocks (JSON array, optional)"}),o.jsx(Qr,{value:d,onChange:k,showCopyButton:!1,className:"min-h-[80px]"}),m?.field==="toolMocks"&&o.jsx(Dre,{field:"toolMocks",errors:m.errors})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Rt,{htmlFor:"item-request-context",children:"Request Context (JSON, optional)"}),o.jsx(Qr,{value:p,onChange:h,showCopyButton:!1,className:"min-h-[80px]"})]}),o.jsxs("div",{className:"flex justify-end gap-2 pt-4",children:[o.jsx(ue,{type:"button",onClick:_,children:"Cancel"}),o.jsx(ue,{type:"submit",variant:"primary",disabled:y.isPending,children:y.isPending?"Adding...":"Add Item"})]})]})})]})})}function des({item:e}){return o.jsx(ua,{withMargins:!1,children:o.jsxs(ua.Column,{children:[o.jsxs(ua.Title,{size:"smaller",children:[o.jsx(dN,{}),o.jsx("span",{className:"truncate",children:e.id}),o.jsx(ya,{content:e.id,tooltip:`Copy item ID: ${e.id}`})]}),o.jsxs(ua.Description,{children:[o.jsxs(Nl,{children:[o.jsx(llt,{})," Created ",er(new Date(e.createdAt),"MMM d, yyyy h:mm aaa")]}),e.datasetVersion!=null&&o.jsxs(Nl,{children:[o.jsx(i_,{})," Version v",e.datasetVersion]})]})]})})}function pTe({item:e}){const t=e?.input?JSON.stringify(e.input,null,2):"null",n=e?.groundTruth?JSON.stringify(e.groundTruth,null,2):"null",r=e?.metadata?JSON.stringify(e.metadata,null,2):"null",s=e?.expectedTrajectory?JSON.stringify(e.expectedTrajectory,null,2):null;return o.jsxs(Rje,{children:[o.jsx(Ps.CodeSection,{title:"Input",icon:o.jsx(aO,{}),codeStr:t}),o.jsx(Ps.CodeSection,{title:"Ground Truth",icon:o.jsx(hg,{}),codeStr:n}),s&&o.jsx(Ps.CodeSection,{title:"Expected Trajectory",icon:o.jsx(Gye,{}),codeStr:s}),o.jsx(Ps.CodeSection,{title:"Metadata",icon:o.jsx(hN,{}),codeStr:r})]})}function fes({selectedScorers:e,setSelectedScorers:t,disabled:n=!1,container:r}){const{data:s,isLoading:a}=eh(),i=v.useMemo(()=>s?Object.entries(s).map(([l,c])=>({value:l,label:c.scorer?.config?.name||l,description:c.scorer?.config?.description||""})):[],[s]);return o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Rt,{children:"Scorers (Optional)"}),o.jsx(Xl,{multiple:!0,options:i,value:e,onValueChange:t,placeholder:"Select scorers...",searchPlaceholder:"Search scorers...",emptyText:"No scorers available",disabled:n||a,container:r})]})}const pes=[{value:"agent",label:"Agent"},{value:"workflow",label:"Workflow"},{value:"scorer",label:"Scorer"}];function hes({targetType:e,setTargetType:t,targetId:n,setTargetId:r,container:s}){const{data:a,isLoading:i}=Sm(),{data:l,isLoading:c}=By(),{data:u,isLoading:d}=eh(),f=e==="agent"?Object.entries(a??{}).map(([g,y])=>({value:g,label:y.name??g})):e==="workflow"?Object.entries(l??{}).map(([g,y])=>({value:g,label:y.name??g})):e==="scorer"?Object.entries(u??{}).map(([g,y])=>({value:g,label:y.scorer?.config?.name??g})):[],p=e==="agent"&&i||e==="workflow"&&c||e==="scorer"&&d,h=g=>{t(g),r("")},m=e==="agent"?"Agent":e==="workflow"?"Workflow":"Scorer";return o.jsxs("div",{className:"grid gap-6",children:[o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Rt,{children:"Target Type"}),o.jsx(Xl,{options:pes,value:e,onValueChange:h,placeholder:"Select target type",searchPlaceholder:"Search types...",emptyText:"No types available",container:s})]}),e&&o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Rt,{children:m}),o.jsx(Xl,{options:f,value:n,onValueChange:r,placeholder:`Select ${e}`,searchPlaceholder:"Search...",emptyText:"No targets available",disabled:p,container:s})]})]})}function mes({requestContextSchema:e,onChange:t}){const n=v.useMemo(()=>{try{return im(sm(e))}catch(r){return console.error("Failed to parse requestContextSchema:",r),null}},[e]);return n?o.jsxs("div",{className:"space-y-2",children:[o.jsx(Rt,{children:"Request Context"}),o.jsx(X3,{schema:n,onValuesChange:t,className:"[&_button[type=submit]]:hidden"})]}):o.jsx("p",{className:"text-sm text-destructive",children:"Failed to parse request context schema"})}function ges({datasetId:e,version:t,requestContextSchema:n,open:r,onOpenChange:s,onSuccess:a}){const i=v.useRef(null),[l,c]=v.useState(""),[u,d]=v.useState(""),[f,p]=v.useState([]),[h,m]=v.useState({}),[g,y]=v.useState(""),{triggerExperiment:b}=_i(),w=!!(n&&Object.keys(n).length>0),S=l&&u,k=b.isPending,_=()=>{c(""),d(""),p([]),m({}),y("")},C=()=>{if(w){const N=Object.entries(h).filter(([,I])=>I!==void 0&&I!=="");return N.length>0?Object.fromEntries(N):void 0}if(g.trim()){let N;try{N=JSON.parse(g)}catch{throw new Error("Request Context must be valid JSON")}if(!N||typeof N!="object"||Array.isArray(N))throw new Error("Request Context must be a JSON object");return N}},E=async()=>{if(!S)return;let N;try{N=C()}catch(I){const R=I instanceof Error?I.message:"Request Context must be valid JSON";ju.error(R);return}try{const I=await b.mutateAsync({datasetId:e,targetType:l,targetId:u,scorerIds:f.length>0?f:void 0,version:t,requestContext:N});ju.success("Experiment triggered successfully"),s(!1),a?.(I.experimentId),_()}catch(I){const R=I instanceof Error?I.message:"Failed to trigger experiment";ju.error(R)}},j=()=>{k||(s(!1),_())};return o.jsx(br,{open:r,onOpenChange:j,children:o.jsxs(xr,{ref:i,children:[o.jsxs(wr,{children:[o.jsx(gr,{children:"Run Experiment"}),o.jsx(Qs,{children:t?`Execute items from ${er(new Date(t),"MMM d, yyyy")} version against a target.`:"Execute all items in this dataset against a target."})]}),o.jsxs(Ar,{className:"grid gap-6",children:[o.jsx(hes,{targetType:l,setTargetType:c,targetId:u,setTargetId:d,container:i}),l&&l!=="scorer"&&o.jsx(fes,{selectedScorers:f,setSelectedScorers:p,disabled:k,container:i}),w?o.jsx(mes,{requestContextSchema:n,onChange:m}):o.jsxs("div",{className:"space-y-2",children:[o.jsx(Rt,{children:"Request Context (JSON, optional)"}),o.jsx(Qr,{value:g,onChange:y,showCopyButton:!1,className:"min-h-[80px]"})]})]}),o.jsxs(kc,{className:"px-6 pt-4",children:[o.jsx(ue,{onClick:j,disabled:k,children:"Cancel"}),o.jsx(ue,{variant:"primary",onClick:E,disabled:!S||k,children:k?o.jsxs(o.Fragment,{children:[o.jsx(Gt,{className:"w-4 h-4"}),"Running..."]}):"Run"})]})]})})}const ves=e=>{const t=We();return wt({queryKey:["experiment-trace-light",e],queryFn:async()=>{if(!e)throw new Error("Trace ID is required");return t.getTraceLight(e)},enabled:!!e})},hTe=e=>o.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 9.45892 8.88606",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M8.53702 7.36403C8.98547 7.36403 9.34918 7.70502 9.34918 8.12535C9.34906 8.54559 8.9854 8.88606 8.53702 8.88606H5.6839C5.23552 8.88606 4.87186 8.54559 4.87174 8.12535C4.87174 7.70502 5.23545 7.36403 5.6839 7.36403H8.53702Z",fill:"currentColor"}),o.jsx("path",{d:"M8.53702 3.67209C8.98547 3.67209 9.34918 4.01309 9.34918 4.43342C9.34911 4.8537 8.98543 5.19413 8.53702 5.19413H5.6839C5.23549 5.19413 4.87181 4.8537 4.87174 4.43342C4.87174 4.01309 5.23545 3.67209 5.6839 3.67209H8.53702Z",fill:"currentColor"}),o.jsx("path",{d:"M8.67155 0C9.10635 2.06584e-05 9.45892 0.341006 9.45892 0.761326C9.45878 1.18153 9.10627 1.52201 8.67155 1.52203H2.88163C2.4469 1.52203 2.0944 1.18154 2.09427 0.761326C2.09427 0.340993 2.44681 3.80132e-08 2.88163 0H8.67155Z",fill:"currentColor"}),o.jsx("path",{d:"M0.757606 0.760086V4.01122H3.50594V4.76883H0.759466L0.762566 5.4291C0.76837 6.70703 1.8058 7.73972 3.08374 7.73973H3.67953V8.49796H3.08374C1.38863 8.49795 0.0120204 7.1273 0.00433981 5.4322L0 4.39188V0.760086H0.757606Z",fill:"currentColor"})]});function Lre(e){try{return JSON.stringify(e??{})}catch{return String(e)}}function yes({report:e}){const{served:t,unconsumed:n,liveCalls:r,failure:s}=e,a=[...t.map(i=>({outcome:"served",toolName:i.toolName,args:i.args})),...r.map(i=>({outcome:"live",toolName:i.toolName,args:i.args})),...n.map(i=>({outcome:"unconsumed",toolName:i.toolName,args:i.args}))];return o.jsxs("div",{className:"grid gap-2","data-testid":"tool-mock-report",children:[o.jsx(bn.SectionHeading,{icon:o.jsx(tm,{}),className:"mb-2",children:"Tool Mocks"}),s&&o.jsx(In,{variant:"destructive",title:"Mock mismatch",children:o.jsxs(In.Message,{children:[o.jsx("span",{className:"block",children:`Tool "${s.toolName}" was called with arguments that did not match an available mock (${s.code}).`}),o.jsxs("span",{className:"mt-1 block font-mono text-xs",children:["Called with: ",Lre(s.args)]}),n.length>0&&o.jsxs("span",{className:"mt-1 block font-mono text-xs",children:["Unconsumed mocks: ",n.map(i=>Lre(i.args)).join(", ")]})]})}),o.jsx("div",{className:"rounded border border-border1 divide-y divide-border1 text-sm",children:a.map((i,l)=>o.jsxs("div",{className:"flex items-center justify-between gap-2 px-3 py-1.5",children:[o.jsxs("span",{className:"min-w-0 truncate",children:[o.jsx("span",{className:"font-mono text-neutral4",children:i.toolName}),o.jsx("span",{className:"ml-2 font-mono text-xs text-neutral3",children:Lre(i.args)})]}),o.jsx("span",{className:`shrink-0 text-xs px-2 py-0.5 rounded ${bes(i.outcome)}`,children:i.outcome})]},`${i.outcome}-${i.toolName}-${l}`))})]})}function bes(e){switch(e){case"served":return"bg-accent1/10 text-accent1";case"live":return"bg-orange-500/10 text-orange-400";case"unconsumed":return"bg-neutral3/10 text-neutral4"}}function xes({result:e,scores:t,onPrevious:n,onNext:r,onClose:s,onShowTrace:a,onOpenInReview:i,onScoreClick:l,featuredScoreId:c,onFlagForReview:u,collapsed:d,onCollapsedChange:f}){const[p,h]=v.useState(!1),m=d??p,g=f??h,y=!!e?.error,b=U8(e?.input),w=U8(e?.output),S=U8(e?.groundTruth),k=u&&e.status!=="needs-review"&&e.status!=="complete",_=Array.isArray(e.tags)?e.tags:[];return o.jsxs(bn,{collapsed:m,children:[o.jsxs(bn.Header,{children:[o.jsxs(bn.Heading,{children:["Result ",o.jsxs("b",{children:["# ",e.id.length>12?`${e.id.slice(0,12)}…`:e.id]})]}),o.jsxs($r,{className:"ml-auto shrink-0",children:[f&&o.jsx(ue,{size:"md",tooltip:m?"Expand panel":"Collapse panel",onClick:()=>g(!m),children:m?o.jsx(flt,{}):o.jsx(dlt,{})}),o.jsx(bn.NextPrevNav,{onPrevious:n,onNext:r,previousLabel:"Previous result",nextLabel:"Next result"}),o.jsxs(ue,{size:"md",onClick:a,disabled:!e.traceId,children:[o.jsx(hTe,{}),"Trace"]}),o.jsx(bn.CloseButton,{onClick:s,tooltip:"Close result panel"})]})]}),!m&&o.jsxs(bn.Content,{children:[o.jsxs("div",{className:"grid gap-4 mb-6",children:[o.jsxs(zt,{children:[o.jsx(zt.Key,{children:"Item Id"}),o.jsx(zt.ValueWithCopyBtn,{copyTooltip:"Copy Item Id to clipboard",copyValue:e.itemId,children:e.itemId}),o.jsx(zt.Key,{children:"Created"}),o.jsx(zt.Value,{children:er(new Date(e.createdAt),"MMM d, yyyy 'at' h:mm a")})]}),y&&o.jsx(In,{variant:"destructive",title:"Error",children:o.jsx(In.Message,{children:U8(e?.error&&typeof e.error=="object"?e.error.message:e?.error)})}),t&&t.length>0&&o.jsxs(me,{columns:"1fr 1fr",children:[o.jsxs(me.Top,{children:[o.jsx(me.TopCell,{children:"Scorer"}),o.jsx(me.TopCell,{children:"Score"})]}),t.map(C=>o.jsxs(me.RowButton,{featured:c===C.id,onClick:()=>l?.(C.id),children:[o.jsx(me.Cell,{height:"compact",children:C.scorerId}),o.jsx(me.MonoCell,{children:C.score.toFixed(3)})]},C.id))]}),e.toolMockReport&&o.jsx(yes,{report:e.toolMockReport}),(e.status||_.length>0||k)&&o.jsxs("div",{className:"grid gap-2",children:[o.jsx(bn.SectionHeading,{icon:o.jsx(hN,{}),className:"mb-2",children:"Review"}),(e.status||_.length>0)&&o.jsxs("div",{className:"flex flex-wrap gap-2 items-center",children:[e.status&&o.jsx("span",{className:`text-xs px-2 py-0.5 rounded-full font-medium ${e.status==="needs-review"?"bg-orange-500/10 text-orange-400":e.status==="complete"?"bg-accent1/10 text-accent1":"bg-neutral3/10 text-neutral4"}`,children:e.status}),_.map(C=>o.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-surface4 text-neutral4",children:C},C))]}),k&&o.jsx("div",{children:o.jsxs(ue,{size:"sm",onClick:()=>u(e.id),children:[o.jsx(GU,{}),"Flag for Review"]})}),e.status==="needs-review"&&i&&o.jsx("div",{children:o.jsxs(ue,{size:"sm",onClick:i,children:[o.jsx(Pa,{}),"Review"]})})]})]}),o.jsxs("div",{className:"grid gap-3",children:[o.jsx(bn.CodeSection,{title:"Input",icon:o.jsx(dN,{}),codeStr:b}),o.jsx(bn.CodeSection,{title:"Output",icon:o.jsx(hg,{}),codeStr:w}),o.jsx(bn.CodeSection,{title:"Ground Truth",icon:o.jsx(Xye,{}),codeStr:S})]})]})]})}function U8(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function wes({results:e,isLoading:t,featuredResultId:n,onResultClick:r,columns:s,scoresByItemId:a,scorerIds:i,setEndOfListElement:l,isFetchingNextPage:c,hasNextPage:u,selectedIds:d,onToggleSelect:f}){const p=!!(d&&f),h=[p?"auto":"",...s.map(g=>g.size)].filter(Boolean).join(" "),m=s.some(g=>g.name==="input");return t?o.jsx(el,{columns:h}):o.jsxs(me,{columns:h,className:"min-w-0",children:[o.jsxs(me.Top,{hasLeadingCell:p,children:[p&&o.jsx(me.TopCell,{children:" "}),p?o.jsx(me.TopCells,{colStart:2,children:s.map(g=>o.jsx(me.TopCell,{children:g.label},g.name))}):s.map(g=>o.jsx(me.TopCell,{children:g.label},g.name))]}),e.length===0?o.jsx(me.NoMatch,{message:"No results yet"}):o.jsxs(o.Fragment,{children:[e.map(g=>{const y=!!g.error,b=g.id===n,w=o.jsxs(o.Fragment,{children:[o.jsx(me.IdCell,{id:g.itemId}),o.jsx(me.Cell,{height:"compact",children:o.jsxs(Wn,{children:[o.jsx(zn,{asChild:!0,children:o.jsx("div",{className:"flex items-center justify-center w-10 relative bg-transparent h-full",children:o.jsx("div",{role:"img","aria-label":y?"Error":"Success",className:K("w-2 h-2 rounded-full",y?"bg-red-700":"bg-green-600")})})}),o.jsx(Bn,{children:y?"Error":"Success"})]})}),m&&o.jsx(me.MonoCell,{children:kes(Ses(g.input),200)}),i?.map(S=>{const _=a?.[g.itemId]?.find(C=>C.scorerId===S);return o.jsx(me.Cell,{height:"compact",className:"font-mono text-neutral3 text-ui-smd",children:_!=null?_.score.toFixed(3):"-"},S)})]});return p?o.jsxs(me.RowWrapper,{children:[o.jsx(me.SelectCell,{checked:d.has(g.id),onToggle:()=>f(g.id),"aria-label":`Select result ${g.itemId}`}),o.jsx(me.RowButton,{flushLeft:!0,colStart:2,featured:b,onClick:()=>r(g.id),children:w})]},g.id):o.jsx(me.RowButton,{featured:b,onClick:()=>r(g.id),children:w},g.id)}),o.jsx(me.NextPageLoading,{isLoading:c,hasMore:u,setEndOfListElement:l})]})]})}function Ses(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function kes(e,t){return e.length<=t?e:e.slice(0,t-1)+"..."}function Oes(e){const t=e.scorer;return t?.hasJudge===!1?!0:t?.hasJudge===!0?!1:!e.preprocessPrompt&&!e.analyzePrompt&&!e.generateScorePrompt&&!e.generateReasonPrompt}function _es({score:e,onNext:t,onPrevious:n,onClose:r,onShowTrace:s,collapsed:a,onCollapsedChange:i}){const[l,c]=v.useState(!1),u=a??l,d=i??c,f=Oes(e),p=f?"N/A — code-based scorer":"N/A — step not configured";return o.jsxs(bn,{collapsed:u,children:[o.jsxs(bn.Header,{children:[o.jsxs(bn.Heading,{children:["Score ",o.jsx("b",{children:e.scorerId})]}),o.jsxs($r,{className:"ml-auto shrink-0",children:[i&&o.jsx(ue,{size:"md",tooltip:u?"Expand panel":"Collapse panel",onClick:()=>d(!u),children:u?o.jsx(flt,{}):o.jsx(dlt,{})}),(n||t)&&o.jsx(bn.NextPrevNav,{onPrevious:n,onNext:t,previousLabel:"Previous score",nextLabel:"Next score"}),s&&o.jsxs(ue,{size:"md",onClick:s,disabled:!e.traceId,children:[o.jsx(hTe,{}),"Trace"]}),o.jsx(bn.CloseButton,{onClick:r,tooltip:"Close score panel"})]})]}),!u&&o.jsx(bn.Content,{children:o.jsxs("div",{className:"grid gap-3",children:[o.jsx(bn.CodeSection,{title:`Score: ${e.score}`,icon:o.jsx(Jh,{}),codeStr:e.reason||p,simplified:!0}),!f&&o.jsxs(o.Fragment,{children:[o.jsx(bn.CodeSection,{title:"Preprocess Prompt",icon:o.jsx(bh,{}),codeStr:e.preprocessPrompt||p,simplified:!0}),o.jsx(bn.CodeSection,{title:"Analyze Prompt",icon:o.jsx(bh,{}),codeStr:e.analyzePrompt||p,simplified:!0}),o.jsx(bn.CodeSection,{title:"Generate Score Prompt",icon:o.jsx(bh,{}),codeStr:e.generateScorePrompt||p,simplified:!0}),o.jsx(bn.CodeSection,{title:"Generate Reason Prompt",icon:o.jsx(bh,{}),codeStr:e.generateReasonPrompt||p,simplified:!0})]})]})})]})}const pQe=[{name:"scorer",label:"Scorer",size:"1fr"},{name:"avg",label:"Avg Score",size:"1fr"},{name:"count",label:"Items Scored",size:"1fr"}];function Ces({scoresByItemId:e,experimentStatus:t}){const n=v.useMemo(()=>{if(!e)return[];const r={};for(const s of Object.values(e))for(const a of s)r[a.scorerId]||(r[a.scorerId]={sum:0,count:0}),r[a.scorerId].sum+=a.score,r[a.scorerId].count++;return Object.entries(r).map(([s,{sum:a,count:i}])=>({scorerId:s,avg:a/i,count:i})).sort((s,a)=>s.scorerId.localeCompare(a.scorerId))},[e]);if(n.length===0){const r=t==="running"||t==="pending",s=e!==void 0;let a,i;return r?(a="Experiment in progress",i="Summary metrics will appear here once the experiment completes."):s?(a="No scorers configured",i="Add scorers when triggering an experiment to evaluate results and see summary metrics here."):(a="Loading scores",i="Fetching scorer results…"),o.jsx("div",{className:"flex h-full items-center justify-center py-12",children:o.jsx(Lr,{iconSlot:o.jsx(Jh,{className:"w-8 h-8 text-neutral3"}),titleSlot:a,descriptionSlot:i})})}return o.jsxs(gn,{children:[o.jsxs(gn.Header,{columns:pQe,children:[o.jsx(gn.HeaderCol,{children:"Scorer"}),o.jsx(gn.HeaderCol,{children:"Avg Score"}),o.jsx(gn.HeaderCol,{children:"Items Scored"})]}),o.jsx(gn.Scroller,{children:o.jsx(gn.Items,{children:n.map(({scorerId:r,avg:s,count:a})=>o.jsxs(gn.Row,{columns:pQe,children:[o.jsx(gn.TextCell,{children:r}),o.jsx(gn.TextCell,{className:"font-mono",children:s.toFixed(3)}),o.jsx(gn.TextCell,{className:"font-mono",children:a})]},r))})})]})}function a8t({experimentId:e,datasetId:t,experimentStatus:n,results:r,isLoading:s,setEndOfListElement:a,isFetchingNextPage:i,hasNextPage:l}){const[c,u]=v.useState(null),[d,f]=v.useState(null),[p,h]=v.useState(void 0),[m,g]=v.useState(null),[y,b]=v.useState(new Set),[w,S]=v.useState(!1),[k,_]=v.useState(!1),[C,E]=v.useState(!1),[j,N]=v.useState(!1),{updateExperimentResult:I}=_i(),R=v.useCallback(se=>{b(re=>{const he=new Set(re);return he.has(se)?he.delete(se):he.add(se),he})},[]),$=v.useCallback(()=>b(new Set),[]),F=v.useCallback(()=>{const se=r.filter(re=>!!re.error).map(re=>re.id);b(new Set(se))},[r]),D=v.useCallback(async se=>{if(w||se.length===0)return;S(!0);let re=0;const he=new Set;try{for(const xe of se)try{await I.mutateAsync({datasetId:t,experimentId:e,resultId:xe,status:"needs-review"}),re++,he.add(xe)}catch{}}finally{S(!1)}he.size>0&&b(xe=>{const Ee=new Set(xe);for(const Pe of he)Ee.delete(Pe);return Ee}),re>0&&De(`${re} result${re>1?"s":""} flagged for review`)},[t,e,w,I]),V=r.find(se=>se.id===c)??null,[W,L]=v.useState("summary"),[z,B]=v.useState(null),M=se=>{L(se),se!=="reviews"&&B(null)},{data:G}=fTe(t),U=(G??[]).filter(se=>se.experimentId===e).length,{data:P}=_6t(e,n),q=v.useMemo(()=>{if(!P)return[];const se=new Set;for(const re of Object.values(P))for(const he of re)se.add(he.scorerId);return[...se].sort()},[P]),Z=se=>{u(se),f(null),h(void 0),g(null)},X=se=>{Z(se===c?null:se)},te=()=>{Z(null)},J=()=>{if(!V)return;const se=r.findIndex(re=>re.id===V.id);if(se>=0&&se<r.length-1)return()=>Z(r[se+1].id)},ee=()=>{if(!V)return;const se=r.findIndex(re=>re.id===V.id);if(se>0)return()=>Z(r[se-1].id)},ae=V?P?.[V.itemId]:void 0,de=ae?.find(se=>se.id===m)??null,Y=se=>{g(se===m?null:se),f(null),h(void 0)},ne=()=>{if(!m||!ae)return;const se=ae.findIndex(re=>re.id===m);if(se>=0&&se<ae.length-1)return()=>g(ae[se+1].id)},ce=()=>{if(!m||!ae)return;const se=ae.findIndex(re=>re.id===m);if(se>0)return()=>g(ae[se-1].id)},{data:pe,isLoading:le}=ves(d),ve=pe?.spans,{data:ye,isLoading:Se}=aI(d,p),Ne=ye?.span,{handlePreviousSpan:ke,handleNextSpan:Ie}=WH(ve,p??null,h),ze=(()=>{const se=[],re=!!de,he=!!d;return se.push(k?"auto":re||he?"2fr":"1fr"),re&&se.push(j?"auto":"3fr"),he&&se.push(C?"auto":"3fr"),he&&p&&se.push("3fr"),se.join(" ")})(),oe=v.useMemo(()=>[{name:"itemId",label:"Item ID",size:"7rem"},{name:"status",label:"Status",size:"5rem"},{name:"input",label:"Input",size:"minmax(15rem,1fr)"},...q.map(se=>({name:se,label:se,size:"12rem"}))],[q]);return o.jsxs(ru,{defaultTab:"summary",value:W,onValueChange:M,className:"grid grid-rows-[auto_1fr] h-full overflow-hidden",children:[o.jsxs(su,{children:[o.jsx(Vr,{value:"summary",children:"Summary"}),o.jsx(Vr,{value:"results",children:"Results"}),o.jsxs(Vr,{value:"reviews",children:["Reviews",U>0&&o.jsx(Xs,{color:"orange",children:U})]})]}),o.jsx(ps,{value:"summary",className:"overflow-y-auto mt-5",children:o.jsx(Ces,{scoresByItemId:P,experimentStatus:n})}),o.jsx(ps,{value:"reviews",className:"overflow-auto mt-2 pb-0",children:o.jsx(s8t,{datasetId:t,experimentId:e,featuredItemId:z})}),o.jsxs(ps,{value:"results",className:"grid grid-rows-[auto_1fr] overflow-hidden mt-2",children:[o.jsxs("div",{className:"mb-4",children:[y.size>0&&o.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 bg-surface3",children:[o.jsxs(ge,{variant:"ui-xs",className:"text-neutral5 font-medium",children:[y.size," selected"]}),o.jsx("div",{className:"flex-1"}),o.jsxs(ue,{variant:"outline",size:"sm",disabled:w,onClick:()=>D([...y]),children:[o.jsx(Ue,{size:"sm",children:o.jsx(GU,{})}),"Flag for Review"]}),o.jsx(ue,{variant:"ghost",size:"sm",onClick:$,children:"Clear"})]}),r.length>0&&y.size===0&&!s&&o.jsx("div",{className:"flex items-center gap-2 px-4 py-2",children:o.jsx(ue,{variant:"ghost",size:"sm",onClick:F,children:"Select loaded failures"})})]}),o.jsxs("div",{className:K("grid w-full h-full grid-cols-1 gap-4 overflow-y-auto",V&&"grid-cols-[1fr_1fr]"),children:[o.jsx("div",{className:"flex overflow-y-auto w-full",children:o.jsx("div",{className:"grid gap-8 content-start w-full overflow-y-auto",children:o.jsx(wes,{results:r,isLoading:s,featuredResultId:c,onResultClick:X,columns:oe,scoresByItemId:P,scorerIds:q,setEndOfListElement:a,isFetchingNextPage:i,hasNextPage:l,selectedIds:y,onToggleSelect:R})})}),V&&o.jsxs("div",{className:"grid gap-4 max-h-full min-h-0 overflow-auto content-start",style:{gridTemplateRows:ze},children:[o.jsx(xes,{result:V,scores:ae,onPrevious:ee(),onNext:J(),onClose:te,onScoreClick:Y,featuredScoreId:m,onShowTrace:()=>{V.traceId&&(f(V.traceId),h(void 0),g(null),_(!0),E(!1))},onOpenInReview:()=>{B(V.id),L("reviews")},onFlagForReview:se=>D([se]),collapsed:k,onCollapsedChange:_}),de&&o.jsx(_es,{score:de,onNext:ne(),onPrevious:ce(),onClose:()=>g(null),onShowTrace:()=>{de.traceId&&(f(de.traceId),h(void 0),_(!0),N(!0),E(!1))},collapsed:j,onCollapsedChange:N}),d&&o.jsxs(o.Fragment,{children:[o.jsx(sTe,{traceId:d,spans:ve,isLoading:le,onClose:()=>{f(null),h(void 0),_(!1),N(!1)},onSpanSelect:h,initialSpanId:p??null,placement:"traces-list",showUnavailableFeaturesMsg:!1,collapsed:C,onCollapsedChange:E,LinkComponent:R3,traceHref:`/traces/${d}`}),p&&o.jsx(qH,{traceId:d,spanId:p,span:Ne,isLoading:Se,onPrevious:ke,onNext:Ie,onClose:()=>h(void 0)})]})]})]})]})]})}const Ees={pending:o.jsx(sO,{}),running:o.jsx(Fde,{}),completed:o.jsx(Js,{}),failed:o.jsx(vs,{})};function jes({experiment:e,className:t}){const n=e.status,r=e.totalItems-e.succeededCount-e.failedCount;return o.jsxs("div",{className:K("grid justify-items-end gap-3",t),children:[o.jsxs("div",{className:"flex p-1 px-3 text-ui-lg capitalize text-neutral4 gap-2 items-center bg-surface5 rounded-lg ",children:[o.jsx("span",{className:K("w-5 h-5 flex items-center justify-center rounded-full text-black","[&>svg]:w-4 [&>svg]:h-4",{"bg-green-700":n==="completed","bg-red-700":n==="failed","bg-cyan-600":n==="running","bg-yellow-600":n==="pending"}),children:Ees[n]}),e.status]}),o.jsxs("div",{className:K("flex items-center gap-3 text-neutral3 text-ui-md ","[&>span]:flex [&>span]:gap-1 [&>span]:items-center ","[&_b]:text-neutral4 [&_b]:font-semibold"),children:[o.jsxs("span",{children:["Total: ",o.jsx("b",{children:e.totalItems})]}),o.jsxs("span",{children:["Succeeded: ",o.jsx("b",{children:e.succeededCount})]}),o.jsxs("span",{children:["Failed: ",o.jsx("b",{children:e.failedCount})]}),(n==="pending"||n==="running")&&o.jsxs("span",{children:["Pending: ",o.jsx("b",{children:r})]})]})]})}function Tes({onPrevious:e,onNext:t,previousAriaLabel:n="Previous",nextAriaLabel:r="Next"}){return o.jsxs($r,{spacing:"close",children:[o.jsxs(ue,{onClick:e,disabled:!e,"aria-label":n,children:[o.jsx($q,{})," Prev"]}),o.jsxs(ue,{onClick:t,disabled:!t,"aria-label":r,children:["Next",o.jsx(Rq,{})]})]})}function mTe({delta:e}){const t=e>0?o.jsx(Xs,{size:"small",color:"green",intensity:"muted",children:o.jsx(i3,{})}):e<0?o.jsx(Xs,{size:"small",color:"red",intensity:"muted",children:o.jsx(Won,{})}):null;return o.jsxs("span",{className:K("font-mono text-sm text-neutral4 min-w-20"),children:[o.jsx("span",{className:"w-3 inline-block",children:e>0?"+ ":e<0?"- ":""}),Math.abs(e).toFixed(2)," ",t]})}function q8(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function Nes({item:e,baselineId:t,contenderId:n,baselineVersion:r,contenderVersion:s,onPrevious:a,onNext:i,onClose:l}){const c=e.results[t],u=e.results[n],d=!!(c&&u),f=new Set;if(c)for(const h of Object.keys(c.scores))f.add(h);if(u)for(const h of Object.keys(u.scores))f.add(h);const p=[...f].sort();return o.jsxs(Gr,{withLeftSeparator:!0,children:[o.jsxs(Gr.Toolbar,{children:[o.jsx(Tes,{onPrevious:a,onNext:i,previousAriaLabel:"Previous comparison item",nextAriaLabel:"Next comparison item"}),o.jsx($r,{children:o.jsx(ue,{onClick:l,"aria-label":"Close comparison detail panel",children:o.jsx(vs,{})})})]}),o.jsxs(Gr.Content,{className:"pb-6",children:[o.jsx(ua,{withMargins:!1,children:o.jsx(ua.Column,{children:o.jsxs(ua.Title,{size:"smaller",children:[o.jsx(dN,{})," ",e.itemId]})})}),d?o.jsx(o.Fragment,{children:o.jsxs(Rje,{children:[p.length>0&&o.jsxs("div",{className:"grid gap-3",children:[o.jsx("h4",{className:"text-sm font-medium text-neutral5",children:"Scores"}),o.jsx("div",{className:"grid gap-2",children:p.map(h=>{const m=c?.scores[h]??null,g=u?.scores[h]??null,y=m!=null&&g!=null?g-m:null;return o.jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2 rounded-lg bg-surface2",children:[o.jsx("span",{className:"text-sm text-neutral5 font-medium",children:h}),o.jsxs("div",{className:"flex items-center gap-4",children:[o.jsxs("span",{className:"text-sm text-neutral3",children:[m!=null?m.toFixed(3):"-"," →"," ",g!=null?g.toFixed(3):"-"]}),y!=null&&o.jsx(mTe,{delta:y})]})]},h)})})]}),o.jsx(Ps.CodeSection,{title:o.jsxs(o.Fragment,{children:[o.jsx(Xs,{color:"purple",children:"Baseline "})," Experiment Output"]}),icon:o.jsx(hg,{}),codeStr:q8(c?.output)}),o.jsx(Ps.CodeSection,{title:o.jsxs(o.Fragment,{children:[o.jsx(Xs,{color:"cyan",children:"Contender "})," Experiment Output"]}),icon:o.jsx(hg,{}),codeStr:q8(u?.output)}),o.jsx(Ps.CodeSection,{title:"Item Input",icon:o.jsx(aO,{}),codeStr:q8(e.input)}),o.jsx(Ps.CodeSection,{title:"Item Ground Truth",icon:o.jsx(Xye,{}),codeStr:q8(e.groundTruth)})]})}):o.jsx(In,{variant:"warning",title:"Comparison not available",children:o.jsx(In.Message,{children:(()=>{const h=c?"Contender":"Baseline",m=c?s:r;return o.jsxs(o.Fragment,{children:["The ",h," experiment was run against dataset",m!=null?` v. ${m}`:"",", which does not contain this item."]})})()})})]})]})}function Ies({items:e,baselineId:t,contenderId:n,scorerIds:r,featuredItemId:s,columns:a,onItemClick:i}){return o.jsx(Gr,{children:o.jsxs(gn,{children:[o.jsxs(gn.Header,{columns:a,children:[o.jsx(gn.HeaderCol,{children:"Item ID"}),!s&&r.map(l=>o.jsx(gn.HeaderCol,{className:"flex justify-center",children:l},l))]}),o.jsx(gn.Scroller,{children:o.jsx(gn.Items,{children:e.map(l=>{const c=l.results[t],u=l.results[n],d=!!(c&&u);return o.jsx(gn.Row,{children:o.jsxs(gn.RowButton,{item:{id:l.itemId},columns:a,isFeatured:s===l.itemId,onClick:i,children:[o.jsx(gn.IdCell,{id:l.itemId,className:d?"":"text-neutral1"}),!s&&o.jsx(o.Fragment,{children:r.map(f=>{const p=c?.scores[f]??null,h=u?.scores[f]??null,m=p!=null&&h!=null?h-p:null;return o.jsx(gn.Cell,{className:"flex items-center gap-5 justify-center font-mono",children:m!=null?o.jsxs(o.Fragment,{children:[o.jsxs("span",{className:"flex items-center text-neutral2 min-w-24",children:[p?.toFixed(2)," → ",h?.toFixed(2)]}),o.jsx(mTe,{delta:m})]}):o.jsx("span",{className:"text-neutral1",children:"-"})},f)})})]})},l.itemId)})})})]})})}const Aes={baseline:{label:"Baseline",color:"purple",customStyle:"items-end justify-items-end [&>div]:justify-end border-r-0 rounded-r-none"},contender:{label:"Contender",color:"cyan",customStyle:"items-start justify-items-start [&>div]:justify-start border-l-0 rounded-l-none"}};function hQe({datasetId:e,experiment:t,type:n}){const{Link:r}=yn(),{label:s,color:a,customStyle:i}=Aes[n];if(!t)return null;const l=t.createdAt?new Date(t.createdAt):null;return o.jsxs("div",{className:`grid border-2 border-border1 rounded-lg p-5 gap-3 ${i}`,children:[o.jsxs("div",{className:"flex items-center gap-3 w-full overflow-clip",children:[n==="contender"&&o.jsxs(Xs,{size:"small",color:a,children:[s,o.jsx(hm,{})]}),o.jsx(ue,{as:r,href:`/datasets/${e}/experiments/${t.id}`,children:o.jsx("span",{className:"truncate min-w-0",children:t.id})}),n==="baseline"&&o.jsxs(Xs,{size:"small",color:a,children:[o.jsx(Ec,{})," ",s]})]}),o.jsxs("div",{className:"flex flex-wrap gap-x-4 gap-y-1 text-ui-sm text-neutral3",children:[o.jsxs(Nl,{children:[o.jsx(Xye,{})," ",t.targetType," / ",t.targetId]}),o.jsxs(Nl,{children:[o.jsx(XU,{})," v",t.datasetVersion??"—"]}),l&&o.jsxs(Nl,{children:[o.jsx(clt,{})," ",er(l,"MMM d, yyyy HH:mm")]})]})]})}function Res({datasetId:e,experimentIdA:t,experimentIdB:n,onSwap:r}){const[s,a]=v.useState(null),{data:i,isLoading:l,error:c}=wKr(e,t,n),{data:u}=_U(e,t),{data:d}=_U(e,n),f=u&&d&&u.datasetVersion!==d.datasetVersion,p=v.useMemo(()=>{if(!i)return[];const E=new Set;for(const j of i.items)for(const N of Object.values(j.results))if(N)for(const I of Object.keys(N.scores))E.add(I);return[...E].sort()},[i]),h=v.useMemo(()=>{if(!i||p.length===0)return[];const E=i.baselineId,j=t===E?n:t;return p.map(N=>{let I=0,R=0,$=0,F=0;for(const L of i.items){const z=L.results[E]?.scores[N],B=L.results[j]?.scores[N];z!=null&&(I+=z,$++),B!=null&&(R+=B,F++)}const D=$>0?I/$:null,V=F>0?R/F:null,W=D!=null&&V!=null?V-D:null;return{scorerId:N,avgA:D,avgB:V,delta:W}})},[i,p,t,n]),m=[{name:"scorer",label:"Scorer",size:"1fr"},{name:"baselineAvg",label:"Baseline Avg",size:"1fr"},{name:"comparisonAvg",label:"Comparison Avg",size:"1fr"},{name:"delta",label:"Delta",size:"1fr"}],g=v.useMemo(()=>[{name:"itemId",label:"Item ID",size:"8rem"},...s?[]:p.map(E=>({name:E,label:E,size:"1fr"}))],[p,s]),y=i?.items.find(E=>E.itemId===s)??null,b=E=>{a(E===s?null:E)},w=()=>{a(null)},S=()=>{if(!i||!s)return;const E=i.items.findIndex(j=>j.itemId===s);if(E>=0&&E<i.items.length-1)return()=>a(i.items[E+1].itemId)},k=()=>{if(!i||!s)return;const E=i.items.findIndex(j=>j.itemId===s);if(E>0)return()=>a(i.items[E-1].itemId)};if(l)return o.jsx("div",{className:"flex items-center justify-center h-64",children:o.jsx(Gt,{})});if(c)return o.jsx(In,{variant:"warning",title:"Error loading comparison",children:o.jsx(In.Message,{children:c instanceof Error?c.message:"Unknown error"})});if(!i||i.items.length===0)return o.jsx("div",{className:"text-neutral4 text-sm text-center py-8",children:"No comparison data"});const _=i.baselineId,C=t===_?n:t;return o.jsxs("div",{className:"grid gap-10",children:[u&&d&&o.jsxs("div",{className:K("relative grid xl:grid-cols-[1fr_auto_1fr] gap-4 xl:gap-0"),children:[o.jsx(hQe,{datasetId:e,experiment:u,type:"baseline"}),o.jsx("div",{className:"relative flex items-center justify-center px-[2vw] before:absolute before:inset-y-0 before:left-1/2 before:-translate-x-1/2 before:w-[2px] before:bg-border1",children:o.jsx("div",{className:"relative z-1 bg-surface2 rounded-lg p-2",children:o.jsxs(Wn,{children:[o.jsx(zn,{asChild:!0,children:o.jsx(ue,{onClick:r,children:"VS"})}),o.jsx(Bn,{children:"Switch the order"})]})})}),o.jsx(hQe,{datasetId:e,experiment:d,type:"contender"})]}),f&&o.jsx(In,{variant:"warning",title:"Version mismatch",children:o.jsxs(In.Message,{children:["These experiments used different dataset versions (v",u.datasetVersion," vs v",d.datasetVersion,"). Results may not be directly comparable."]})}),h.length>0&&o.jsxs(gn,{children:[o.jsxs(gn.Header,{columns:m,children:[o.jsx(gn.HeaderCol,{children:"Scorer"}),o.jsx(gn.HeaderCol,{className:"flex justify-center",children:o.jsxs(mGe,{children:[o.jsx(Xs,{color:"purple",size:"small",intensity:"muted",children:"Baseline"}),o.jsx(Xs,{color:"purple",size:"small",children:"Avg"})]})}),o.jsx(gn.HeaderCol,{className:"flex justify-center",children:o.jsxs(mGe,{children:[o.jsx(Xs,{color:"cyan",size:"small",intensity:"muted",children:"Contender"}),o.jsx(Xs,{color:"cyan",size:"small",children:"Avg"})]})}),o.jsx(gn.HeaderCol,{className:"flex justify-center",children:"Delta"})]}),o.jsx(gn.Scroller,{children:o.jsx(gn.Items,{children:h.map(({scorerId:E,avgA:j,avgB:N,delta:I})=>o.jsxs(gn.Row,{columns:m,children:[o.jsx(gn.TextCell,{children:E}),o.jsx(gn.TextCell,{className:"text-center font-mono",children:j!=null?j.toFixed(3):"-"}),o.jsx(gn.TextCell,{className:"text-center font-mono",children:N!=null?N.toFixed(3):"-"}),o.jsx(gn.TextCell,{className:"flex justify-center",children:I!=null?o.jsx(mTe,{delta:I}):"-"})]},E))})})]}),o.jsxs(ry,{className:K({"grid-cols-[1fr_2fr]":!!y}),children:[o.jsx(Ies,{items:i.items,baselineId:_,contenderId:C,scorerIds:p,featuredItemId:s,columns:g,onItemClick:b}),!!y&&o.jsx(Nes,{item:y,baselineId:_,contenderId:C,baselineVersion:u?.datasetVersion,contenderVersion:d?.datasetVersion,onPrevious:k(),onNext:S(),onClose:w})]})]})}function Pes({datasetId:e,itemId:t,onVersionSelect:n,onCompareVersionsClick:r,activeVersion:s}){const{data:a,isLoading:i}=cTe(e,t),[l,c]=v.useState(!1),[u,d]=v.useState(new Set),f=b=>{n?.(b)},p=b=>s==null?b.isLatest:b.datasetVersion===s,h=b=>{d(w=>{const S=new Set(w);if(S.has(b))S.delete(b);else if(S.size>=2){const[k]=Array.from(S);return new Set([k,b])}else S.add(b);return S})},m=()=>{c(!1),d(new Set)},g=()=>{c(!0)},y=()=>{u.size===2&&r?.([...u])};return o.jsxs(Gr,{className:"min-w-56",children:[l?o.jsx(Gr.Toolbar,{className:"grid justify-stretch gap-3 w-full",children:o.jsxs($r,{children:[o.jsx(ue,{onClick:m,children:"Cancel"}),o.jsx(ue,{variant:"primary",disabled:u.size!==2,onClick:y,tooltip:u.size!==2?"Check 2 versions to compare":void 0,className:"grow",children:"Compare"})]})}):o.jsx(o.Fragment,{children:(a||[]).length>1&&o.jsx(Gr.Toolbar,{children:o.jsxs(ue,{onClick:g,className:"w-full",children:[o.jsx(Qw,{})," Compare Ver."]})})}),i?o.jsx($es,{}):o.jsxs(gn,{children:[o.jsx(gn.Header,{children:o.jsx(gn.HeaderCol,{children:"Item Version History"})}),o.jsx(gn.Scroller,{children:o.jsx(gn.Items,{children:a?.map(b=>{const w=String(b.datasetVersion),S=typeof b.updatedAt=="string"?new Date(b.updatedAt):b.updatedAt;return o.jsxs(gn.Row,{isSelected:l&&u.has(w),children:[l&&o.jsx(gn.LabelCell,{children:o.jsx($o,{checked:u.has(w),disabled:b.isDeleted,onCheckedChange:()=>{},onClick:k=>{k.stopPropagation(),b.isDeleted||h(w)},"aria-label":`Select version ${b.datasetVersion}`})}),o.jsx(gn.RowButton,{item:b,columns:[{name:"version",label:"Item Version History",size:"1fr"}],isFeatured:p(b),onClick:()=>f(b),className:"py-2",children:o.jsx(gn.VersionCell,{version:b.datasetVersion,date:S,isLatest:b.isLatest,isDeleted:b.isDeleted})})]},String(b.datasetVersion))})})})]})]})}function $es(){return o.jsxs(gn,{children:[o.jsx(gn.Header,{columns:[{name:"version",label:"Item Version History",size:"1fr"}],children:o.jsx(gn.HeaderCol,{children:"Item Version History"})}),o.jsx(gn.Items,{children:Array.from({length:3}).map((e,t)=>o.jsx(gn.Row,{children:o.jsx(gn.RowButton,{columns:[{name:"version",label:"Item Version History",size:"1fr"}],children:o.jsx(gn.TextCell,{isLoading:!0,children:"Loading..."})})},t))})]})}function Mes(e,t){if(t){const n=typeof t=="string"?new Date(t):t;return`v${e} ${er(n,"MMM dd 'at' H:mm:ss a")}`}return`v${e}`}function Des({datasetId:e,versionA:t,versionB:n,onVersionChange:r}){const{data:s}=Yje(e),a=(s??[]).map(i=>({value:String(i.version),label:`${Mes(i.version,i.createdAt)}${i.isCurrent?" (current)":""}`}));return o.jsxs(Gr.Toolbar,{className:"grid grid-cols-[1fr_1fr_1fr_10rem] gap-4 w-full",children:[o.jsx("div",{}),o.jsx(xc,{label:"Version A",labelIsHidden:!0,name:"version-a",placeholder:"Select version",options:a,value:t??"",onValueChange:i=>r?.(i,n??"")}),o.jsx(xc,{label:"Version B",labelIsHidden:!0,name:"version-b",options:a,value:n??"",onValueChange:i=>r?.(t??"",i)}),o.jsx("div",{})]})}const Les=[{name:"id",label:"ID",size:"1fr"},{name:"versionA",label:"Version A",size:"1fr"},{name:"versionB",label:"Version B",size:"1fr"},{name:"compare",label:"Compare",size:"10rem"}],Fes={added:{color:"blue",borderColor:"border-blue-900",icon:o.jsx(Fr,{}),tooltip:"Added in this version"},changed:{color:"orange",borderColor:"border-yellow-900",icon:o.jsx(jlt,{}),tooltip:"Changed in this version"},same:{color:"green",borderColor:"border-green-900",icon:o.jsx(gcn,{}),tooltip:"Same in both versions"}};function Fre({red:e=!1,tooltip:t}){return o.jsxs(Wn,{children:[o.jsx(zn,{asChild:!0,children:o.jsx(nln,{className:K("text-neutral3/40 w-5 h-5 ",{"text-red-900":e})})}),t&&o.jsx(Bn,{children:t})]})}function VS({variant:e,version:t}){if(!e)return o.jsxs("span",{className:"text-ui-md text-neutral4",children:["v. ",t]});const{color:n,icon:r,tooltip:s}=Fes[e];return o.jsxs(Wn,{children:[o.jsx(zn,{asChild:!0,children:o.jsxs("div",{className:"grid grid-cols-[1fr_auto]",children:[t!==void 0&&o.jsxs("span",{className:"pr-3 text-ui-md text-neutral4 min-w-16 flex justify-end",children:["v. ",t]}),o.jsx(Xs,{color:n,size:"small",children:r})]})}),o.jsx(Bn,{children:s})]})}function zes(e,t){return e&&t&&e.datasetVersion===t.datasetVersion?"same":e&&t&&e.datasetVersion!==t.datasetVersion?"changed":e?"added":"removed"}function Bes({datasetId:e,versionA:t,versionB:n,allItems:r,itemsAMap:s,itemsBMap:a}){const{Link:i}=yn(),l=t>n;return o.jsx(gn,{children:o.jsx(gn.Scroller,{children:o.jsx(gn.Items,{children:r.map(({id:c})=>{const u=s.get(c),d=a.get(c),f=zes(u,d);return o.jsxs(gn.Row,{columns:Les,children:[o.jsx(gn.IdCell,{id:c,isShortened:!1}),f!=="same"?o.jsxs(o.Fragment,{children:[u?.datasetVersion?o.jsx(gn.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"gap-2",children:!d&&l?o.jsx(VS,{variant:"added",version:u.datasetVersion}):f==="changed"&&l?o.jsx(VS,{variant:"changed",version:u.datasetVersion}):o.jsx(VS,{version:u.datasetVersion})}):o.jsx(gn.Cell,{className:"justify-center flex items-center",children:o.jsx(Fre,{red:l,tooltip:l?"Deleted in this version":"Not present in this version"})}),d?.datasetVersion?o.jsx(gn.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"gap-2",children:!u&&!l?o.jsx(VS,{variant:"added",version:d.datasetVersion}):f==="changed"&&!l?o.jsx(VS,{variant:"changed",version:d.datasetVersion}):o.jsx(VS,{version:d.datasetVersion})}):o.jsx(gn.Cell,{className:"justify-center flex items-center",children:o.jsx(Fre,{red:!l,tooltip:l?"Not present in this version":"Deleted in this version"})})]}):o.jsx(gn.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"col-span-2 gap-2",children:o.jsx(VS,{variant:"same",version:d?.datasetVersion})}),f==="changed"?o.jsx(gn.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}/versions?ids=${u?.datasetVersion},${d?.datasetVersion}`,children:"Compare"}):o.jsx(gn.Cell,{children:o.jsx(Fre,{tooltip:o.jsxs(o.Fragment,{children:["Comparing is available",o.jsx("br",{})," only for changed items"]})})})]},c)})})})})}const mQe={needsReview:"#facc15",complete:"#22c55e"},Ues=[{label:"Needs Review",color:mQe.needsReview},{label:"Reviewed",color:mQe.complete}];function qes({reviewSummary:e,experiments:t,datasets:n,isLoading:r,isError:s}){const{data:a,maxVal:i,totalInPipeline:l}=v.useMemo(()=>{if(!e?.counts||!t)return{data:[],maxVal:0,totalInPipeline:0};const u=new Map;for(const m of t)u.set(m.id,m);const d=new Map;if(n)for(const m of n)d.set(m.id,m.name);let f=0,p=0;const h=[];for(const m of e.counts){const g=m.needsReview+m.complete;if(g===0)continue;p+=g,g>f&&(f=g);const y=u.get(m.experimentId),b=y?.datasetId?d.get(y.datasetId):void 0,w=b?`${b} · ${m.experimentId.slice(0,8)}`:m.experimentId.slice(0,8);h.push({name:w,values:[m.needsReview,m.complete]})}return{data:h,maxVal:f,totalInPipeline:p}},[e,t,n]),c=a.length>0;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Review Pipeline",description:"Items in review across experiments."}),c&&o.jsx(Bt.Summary,{value:String(l),label:"Items in pipeline"})]}),r?o.jsx(Bt.Loading,{}):s?o.jsx(Bt.Error,{message:"Failed to load review data"}):o.jsx(Bt.Content,{children:c?o.jsx(aN,{data:a,segments:Ues,maxVal:i,fmt:u=>String(u)}):o.jsx(Bt.NoData,{message:"No items have been sent to review yet"})})]})}function gTe(){const e=We();return wt({queryKey:["experiment-review-summary"],queryFn:()=>e.getExperimentReviewSummary()})}function i8t(e){const t=new Map;if(!e?.counts)return t;for(const n of e.counts)t.set(n.experimentId,{needsReview:n.needsReview,complete:n.complete,total:n.total});return t}function Ves(e,t){const n=new Map,r=i8t(e);if(!r.size||!t)return n;for(const s of t){const a=r.get(s.id);if(!a||!s.datasetId||a.needsReview+a.complete===0)continue;const l=n.get(s.datasetId)??{needsReview:0,complete:0};l.needsReview+=a.needsReview,l.complete+=a.complete,n.set(s.datasetId,l)}return n}function Hes(e){return e?.counts?e.counts.reduce((t,n)=>({needsReview:t.needsReview+n.needsReview,complete:t.complete+n.complete,inPipeline:t.inPipeline+n.needsReview+n.complete}),{needsReview:0,complete:0,inPipeline:0}):{needsReview:0,complete:0,inPipeline:0}}const Wes=10;function Zes(){const[e,t]=v.useState(!1),[n,r]=v.useState(""),[s,a]=v.useState("all"),[i,l]=v.useState("all"),[c,u]=v.useState("all"),[d,f]=v.useState(0),{data:p,isLoading:h,error:m}=Rg({page:d,perPage:Wes}),{data:g,isLoading:y,error:b}=zZ(),{data:w}=gTe(),S=v.useMemo(()=>p?.datasets??[],[p?.datasets]),k=p?.pagination?.hasMore??!1,_=v.useMemo(()=>g?.experiments??[],[g?.experiments]),C=v.useMemo(()=>FKr(S),[S]),E=v.useMemo(()=>Ves(w,_),[w,_]),j=h||y,N=m||b,I=()=>t(!0),R=v.useCallback(()=>f(B=>B+1),[]),$=v.useCallback(()=>f(B=>Math.max(0,B-1)),[]),F=v.useCallback(B=>{r(B),f(0)},[]),D=v.useCallback(B=>{a(B),f(0)},[]),V=v.useCallback(B=>{l(B),f(0)},[]),W=v.useCallback(B=>{u(B),f(0)},[]);if(N&&gs(N))return o.jsx(lr,{children:o.jsx(Vs,{})});if(N&&ys(N))return o.jsx(lr,{children:o.jsx(Ds,{resource:"datasets"})});if(N)return o.jsx(lr,{children:o.jsx(Fi,{title:"Failed to load datasets",message:N.message})});if(S.length===0&&!j&&d===0)return o.jsxs(o.Fragment,{children:[o.jsx(lr,{children:o.jsx(VKr,{onCreateClick:I})}),o.jsx(Eve,{open:e,onOpenChange:t})]});const L=s!=="all"||i!=="all"||c!=="all"||n!=="",z=()=>{r(""),a("all"),l("all"),u("all"),f(0)};return o.jsxs(Lt,{children:[o.jsx(Lt.TopArea,{children:o.jsx(ZKr,{search:n,onSearchChange:F,targetFilter:s,onTargetFilterChange:D,experimentFilter:i,onExperimentFilterChange:V,tagFilter:c,onTagFilterChange:W,tagOptions:C,onReset:z,hasActiveFilters:L,onCreateClick:I})}),o.jsx(qKr,{datasets:S,experiments:_,reviewByDataset:E,isLoading:j,search:n,targetFilter:s,experimentFilter:i,tagFilter:c,currentPage:d,hasMore:k,onNextPage:R,onPrevPage:$}),o.jsx(Eve,{open:e,onOpenChange:t})]})}function V8({children:e}){return o.jsxs(Lt,{height:"full",children:[o.jsx("div",{}),o.jsx(Lt.MainArea,{isCentered:!0,children:e})]})}function Ges(){const{datasetId:e}=dr(),t=bs(),[n,r]=ji(),{activeVersion:s}=uTe(n,r),[a,i]=v.useState(!1),[l,c]=v.useState(!1),[u,d]=v.useState(!1),[f,p]=v.useState(!1),[h,m]=v.useState(!1),{data:g,error:y,isLoading:b}=Ux(e),{data:w=[],isLoading:S}=_1(e,void 0,s),k=!S&&w.length===0;if(b)return null;if(y&&gs(y))return o.jsx(V8,{children:o.jsx(Vs,{})});if(y&&ys(y))return o.jsx(V8,{children:o.jsx(Ds,{resource:"datasets"})});if(y&&z1e(y)||!b&&!y&&!g)return o.jsx(V8,{children:o.jsx(Lr,{iconSlot:o.jsx(ay,{}),titleSlot:"Dataset not found",descriptionSlot:`No dataset with id "${e}".`,actionSlot:o.jsxs(ue,{as:ci,to:"/datasets",children:[o.jsx(Ec,{}),"Back to Datasets"]})})});if(y)return o.jsx(V8,{children:o.jsx(Fi,{title:"Failed to load dataset",message:y instanceof Error?y.message:"An unexpected error occurred. Please try again."})});const _=E=>{t(`/datasets/${e}/experiments/${E}`)},C=()=>{t("/datasets")};return o.jsxs(o.Fragment,{children:[o.jsxs(Lt,{height:"full",children:[o.jsx(Lt.TopArea,{children:o.jsxs(Lt.Row,{children:[o.jsxs(Lt.Column,{children:[g?.description&&o.jsx("p",{className:"text-ui-smd text-neutral3 mb-1",children:g.description}),o.jsxs(zt,{numOfCol:2,children:[o.jsx(zt.Key,{children:"Created at"}),o.jsx(zt.Value,{children:g?.createdAt?er(new Date(g.createdAt),"MMM d, yyyy"):""}),o.jsx(zt.Key,{children:"Latest version"}),o.jsxs(zt.Value,{children:["v",g?.version??""]})]})]}),o.jsx(Lt.Column,{children:o.jsxs($r,{children:[k?o.jsxs(Wn,{children:[o.jsx(zn,{asChild:!0,children:o.jsx("span",{className:"cursor-not-allowed",children:o.jsx("div",{className:"pointer-events-none opacity-50",inert:!0,"aria-disabled":"true",children:o.jsxs(ue,{variant:"primary",children:[o.jsx(Pp,{}),s!=null?`Run on v${s}`:"Run Experiment"]})})})}),o.jsx(Bn,{children:"Add items to the dataset before running an experiment"})]}):o.jsxs(ue,{variant:"primary",onClick:()=>i(!0),children:[o.jsx(Pp,{}),s!=null?`Run on v${s}`:"Run Experiment"]}),o.jsxs(ft,{children:[o.jsx(ft.Trigger,{asChild:!0,children:o.jsx(ue,{size:"lg","aria-label":"Dataset actions menu",children:o.jsx(l3,{})})}),o.jsxs(ft.Content,{align:"end",className:"w-48",children:[o.jsxs(ft.Item,{onSelect:()=>d(!0),children:[o.jsx(em,{})," Edit Dataset"]}),o.jsxs(ft.Item,{onSelect:()=>m(!0),children:[o.jsx(Rp,{})," Duplicate Dataset"]}),o.jsxs(ft.Item,{onSelect:()=>p(!0),className:"text-red-500 focus:text-red-400",children:[o.jsx(Jc,{})," Delete Dataset"]})]})]})]})})]})}),o.jsx(Lt.MainArea,{children:o.jsx(les,{datasetId:e,onAddItemClick:()=>c(!0)})})]}),o.jsx(ges,{datasetId:e,version:s??void 0,requestContextSchema:g?.requestContextSchema,open:a,onOpenChange:i,onSuccess:_}),o.jsx(ues,{datasetId:e,open:l,onOpenChange:c}),g&&o.jsx(JKr,{open:u,onOpenChange:d,dataset:{id:g.id,name:g.name,description:g?.description||"",targetType:g.targetType,inputSchema:g.inputSchema,groundTruthSchema:g.groundTruthSchema,requestContextSchema:g.requestContextSchema}}),g&&o.jsx(YKr,{open:h,onOpenChange:m,sourceDatasetId:g.id,sourceDatasetName:g.name,sourceDatasetDescription:g.description,sourceDatasetTargetType:g.targetType}),g&&o.jsx(tJr,{open:f,onOpenChange:p,datasetId:g.id,datasetName:g.name,onSuccess:C})]})}function o8t({experiment:e}){const{Link:t,paths:n}=yn(),{data:r}=Sm(),{data:s}=By(),{data:a}=eh(),i=()=>{switch(e.targetType){case"agent":return n.agentLink(e.targetId);case"workflow":return n.workflowLink(e.targetId);case"scorer":return n.scorerLink(e.targetId);default:return"#"}},l=()=>{const u=e.targetId;if(!u)return u;switch(e.targetType){case"agent":return r?.[u]?.name??u;case"workflow":return s?.[u]?.name??u;case"scorer":return a?.[u]?.scorer?.config?.name??u;default:return u}},c=e.agentVersion&&e.targetType==="agent"&&e.targetId?`${n.agentLink(e.targetId)}/editor?version=${encodeURIComponent(e.agentVersion)}`:null;return o.jsx(Lt.TopArea,{children:o.jsxs(Lt.Row,{children:[o.jsx(Lt.Column,{children:o.jsxs(zt,{numOfCol:2,children:[o.jsx(zt.Key,{children:"Created at"}),o.jsx(zt.Value,{children:er(new Date(e.createdAt),"MMM d, yyyy 'at' h:mm a")}),e.completedAt&&o.jsxs(o.Fragment,{children:[o.jsx(zt.Key,{children:"Completed at"}),o.jsx(zt.Value,{children:er(new Date(e.completedAt),"MMM d, yyyy 'at' h:mm a")})]}),o.jsx(zt.Key,{children:"Target"}),o.jsx(zt.ValueLink,{href:i(),as:t,children:l()}),e.agentVersion&&o.jsxs(o.Fragment,{children:[o.jsx(zt.Key,{children:"Version"}),c?o.jsx(zt.ValueLink,{href:c,as:t,children:e.agentVersion}):o.jsx(zt.Value,{children:e.agentVersion})]})]})}),o.jsx(Lt.Column,{children:o.jsx(jes,{experiment:e})})]})})}function H8({children:e}){return o.jsxs(Lt,{height:"full",children:[o.jsx("div",{}),o.jsx(Lt.MainArea,{isCentered:!0,children:e})]})}function Qes(){const{datasetId:e,experimentId:t}=dr(),{data:n,isLoading:r,error:s}=_U(e,t),{data:a,isLoading:i,setEndOfListElement:l,isFetchingNextPage:c,hasNextPage:u}=$Z({datasetId:e,experimentId:t,experimentStatus:n?.status});return!e||!t||r?null:s&&gs(s)?o.jsx(H8,{children:o.jsx(Vs,{})}):s&&ys(s)?o.jsx(H8,{children:o.jsx(Ds,{resource:"datasets"})}):s&&z1e(s)||!r&&!s&&!n?o.jsx(H8,{children:o.jsx(Lr,{iconSlot:o.jsx(Bye,{}),titleSlot:"Experiment not found",descriptionSlot:`No experiment with id "${t}".`,actionSlot:o.jsxs(ue,{as:ci,to:`/datasets/${e}?tab=experiments`,children:[o.jsx(Ec,{}),"Back to Dataset"]})})}):s?o.jsx(H8,{children:o.jsx(Fi,{title:"Failed to load experiment",message:s instanceof Error?s.message:"An unexpected error occurred. Please try again."})}):o.jsxs(Lt,{height:"full",children:[o.jsx(o8t,{experiment:n}),o.jsx(Lt.MainArea,{children:o.jsx(a8t,{experimentId:t,datasetId:e,experimentStatus:n.status,results:a??[],isLoading:i,setEndOfListElement:l,isFetchingNextPage:c,hasNextPage:u})})]})}function Yes(){const{datasetId:e}=dr(),[t,n]=ji(),{error:r}=Ux(e??""),s=t.get("baseline")??"",a=t.get("contender")??"";return r&&gs(r)?o.jsx(cs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Vs,{})})}):r&&ys(r)?o.jsx(cs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ds,{resource:"datasets"})})}):!e||!s||!a?o.jsx(cs,{children:o.jsx(xy,{children:o.jsxs("div",{className:"text-neutral4 text-center py-8",children:[o.jsx("p",{children:"Select two experiments to compare."}),o.jsxs("p",{className:"text-sm mt-2",children:["Use the URL format: /datasets/","{datasetId}","/experiments?baseline=","{experimentIdA}","&contender=","{experimentIdB}"]})]})})}):o.jsx(cs,{children:o.jsx(xy,{children:o.jsxs("div",{className:"max-w-[100rem] w-full px-12 mx-auto grid content-start ",children:[o.jsxs(ua,{children:[o.jsxs(ua.Column,{children:[o.jsxs(ua.Title,{children:[o.jsx(Qw,{})," Dataset Experiments Comparison"]}),o.jsxs(ua.Description,{children:["Comparing"," ",o.jsx(ci,{to:`/datasets/${e}/experiments/${s}`,children:s.slice(0,8)})," vs"," ",o.jsx(ci,{to:`/datasets/${e}/experiments/${a}`,children:a.slice(0,8)})]})]}),o.jsx(ua.Column,{children:o.jsxs(ue,{as:ci,to:`/datasets/${e}`,children:[o.jsx(Ec,{}),"Back to Dataset"]})})]}),o.jsx(Res,{datasetId:e,experimentIdA:s,experimentIdB:a,onSwap:()=>{n({baseline:a,contender:s})}})]})})})}function Xes(){const{datasetId:e,itemId:t}=dr(),{Link:n}=yn(),r=bs(),{data:s,isLoading:a,error:i}=cTe(e??"",t??""),{updateItem:l,deleteItem:c}=_i(),{data:u}=Ux(e??""),d=s?.[0]??null,f=d?.isDeleted??!1,[p,h]=v.useState(null),m=v.useMemo(()=>!d||f?{input:"",groundTruth:"",metadata:"",trajectory:"",toolMocks:"",requestContext:""}:{input:JSON.stringify(d.input,null,2),groundTruth:d.groundTruth?JSON.stringify(d.groundTruth,null,2):"",metadata:d.metadata?JSON.stringify(d.metadata,null,2):"",trajectory:d.expectedTrajectory!=null?JSON.stringify(d.expectedTrajectory,null,2):"",toolMocks:d.toolMocks?.length?JSON.stringify(d.toolMocks,null,2):"",requestContext:d.requestContext?JSON.stringify(d.requestContext,null,2):""},[d,f]),g=d?.datasetVersion??0,[y,b]=v.useState(!1),[w,S]=v.useState(m.input),[k,_]=v.useState(m.groundTruth),[C,E]=v.useState(m.metadata),[j,N]=v.useState(m.trajectory),[I,R]=v.useState(m.toolMocks),[$,F]=v.useState(m.requestContext),[D,V]=v.useState(g);g!==D&&(V(g),S(m.input),_(m.groundTruth),E(m.metadata),N(m.trajectory),R(m.toolMocks),F(m.requestContext));const[W,L]=v.useState(!1),z=J=>{h(f?J:J.isLatest?null:J)},B=()=>{h(null)},M=!f&&p!=null,G=()=>{M||b(!0)},U=()=>{M||L(!0)},P=async()=>{if(!e||!t)return;let J;try{J=JSON.parse(w)}catch{De.error("Input must be valid JSON");return}let ee;if(k.trim())try{ee=JSON.parse(k)}catch{De.error("Ground Truth must be valid JSON");return}let ae;if(C.trim())try{ae=JSON.parse(C)}catch{De.error("Metadata must be valid JSON");return}let de;const Y=j!==m.trajectory;if(Y&&j.trim())try{de=JSON.parse(j)}catch{De.error("Expected Trajectory must be valid JSON");return}let ne;const ce=I!==m.toolMocks;if(ce&&I.trim())try{const ve=JSON.parse(I);if(!Array.isArray(ve)){De.error("Tool Mocks must be a JSON array");return}ne=ve}catch{De.error("Tool Mocks must be valid JSON");return}let pe;const le=$!==m.requestContext;if(le&&$.trim())try{pe=JSON.parse($)}catch{De.error("Request Context must be valid JSON");return}try{await l.mutateAsync({datasetId:e,itemId:t,input:J,groundTruth:ee,metadata:ae,...Y?{expectedTrajectory:de??null}:{},...ce?{toolMocks:ne??[]}:{},...le?{requestContext:pe}:{}}),De.success("Item updated successfully"),b(!1)}catch(ve){De.error(`Failed to update item: ${ve instanceof Error?ve.message:"Unknown error"}`)}},q=()=>{d&&(S(JSON.stringify(d.input,null,2)),_(d.groundTruth?JSON.stringify(d.groundTruth,null,2):""),E(d.metadata?JSON.stringify(d.metadata,null,2):""),N(d.expectedTrajectory!=null?JSON.stringify(d.expectedTrajectory,null,2):""),R(d.toolMocks?.length?JSON.stringify(d.toolMocks,null,2):""),F(d.requestContext?JSON.stringify(d.requestContext,null,2):"")),b(!1)},Z=async()=>{if(!(!e||!t))try{await c.mutateAsync({datasetId:e,itemId:t}),De.success("Item deleted successfully"),L(!1),r(`/datasets/${e}`)}catch(J){De.error(`Failed to delete item: ${J instanceof Error?J.message:"Unknown error"}`)}},X=p??d,te=X?{id:t??"",datasetId:e??"",datasetVersion:X.datasetVersion,input:X.input,groundTruth:X.groundTruth,expectedTrajectory:X.expectedTrajectory,metadata:X.metadata,createdAt:X.createdAt,updatedAt:X.updatedAt}:null;return i&&gs(i)?o.jsx(cs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Vs,{})})}):i&&ys(i)?o.jsx(cs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ds,{resource:"datasets"})})}):a?null:!e||!t||!s||s.length===0?o.jsx(cs,{children:o.jsx(xy,{children:o.jsx("div",{className:"text-neutral3 p-4",children:"Item not found"})})}):o.jsxs(o.Fragment,{children:[o.jsx(cs,{children:o.jsx("div",{className:"h-full overflow-hidden px-6 pb-4",children:o.jsxs("div",{className:"grid gap-6 max-w-[60rem] mx-auto grid-rows-[auto_1fr] h-full",children:[o.jsxs(ua,{children:[o.jsxs(ua.Column,{children:[o.jsxs(ua.Title,{children:[o.jsx(dN,{}),t," ",o.jsx(ya,{content:t})]}),o.jsx(ua.Description,{children:o.jsxs(Nl,{children:["Item of ",o.jsx(ay,{})," ",u?.name]})}),o.jsxs(ua.Description,{children:[o.jsxs(Nl,{children:[o.jsx(llt,{})," Created at"," ",d?.createdAt?er(new Date(d.createdAt),"MMM d, yyyy"):""]}),o.jsxs(Nl,{children:[o.jsx(i_,{})," Latest version v",d?.datasetVersion??""]})]})]}),o.jsx(ua.Column,{children:!y&&!f&&o.jsxs($r,{children:[o.jsxs(ue,{onClick:G,disabled:M,title:M?"Return to latest version to edit":void 0,children:[o.jsx(jlt,{})," Edit"]}),o.jsxs(ue,{onClick:U,disabled:M,title:M?"Return to latest version to delete":void 0,children:[o.jsx(Jc,{})," Delete"]})]})})]}),o.jsxs(ry,{className:y?"grid-cols-1":"grid-cols-[1fr_auto]",children:[o.jsxs(Gr,{withRightSeparator:!y,children:[f&&d&&o.jsx(In,{variant:"destructive",title:"Item deleted",children:o.jsxs(In.Message,{children:["This item was deleted at version v",d.datasetVersion]})}),!f&&M&&p&&o.jsx(In,{variant:"warning",title:"Previous version",action:o.jsxs(In.Button,{onClick:B,children:[o.jsx(rlt,{})," Return to the latest version"]}),children:o.jsxs(In.Message,{children:["Viewing version v",p.datasetVersion]})}),y?o.jsx(n8t,{inputValue:w,setInputValue:S,groundTruthValue:k,setGroundTruthValue:_,metadataValue:C,setMetadataValue:E,trajectoryValue:j,setTrajectoryValue:N,toolMocksValue:I,setToolMocksValue:R,requestContextValue:$,setRequestContextValue:F,validationErrors:null,onSave:P,onCancel:q,isSaving:l.isPending}):te?o.jsx(pTe,{item:te,Link:n}):o.jsx("div",{className:"text-neutral4 text-sm",children:"Item data not available"})]}),!y&&o.jsx(Gr,{children:o.jsx(Pes,{datasetId:e,itemId:t,onClose:()=>{},onVersionSelect:z,onCompareVersionsClick:J=>{r(`/datasets/${e}/items/${t}/versions?ids=${J.join(",")}`)},activeVersion:p?.datasetVersion??null})})]})]})})}),o.jsx(Tt,{open:W,onOpenChange:L,children:o.jsxs(Tt.Content,{children:[o.jsxs(Tt.Header,{children:[o.jsx(Tt.Title,{children:"Delete Item"}),o.jsx(Tt.Description,{children:"Are you sure you want to delete this item? This action cannot be undone."})]}),o.jsxs(Tt.Footer,{children:[o.jsx(Tt.Cancel,{children:"Cancel"}),o.jsx(Tt.Action,{onClick:Z,children:c.isPending?"Deleting...":"Delete"})]})]})})]})}function gQe(e){return JSON.stringify({input:e.input??null,groundTruth:e.groundTruth??null,metadata:e.metadata??null},null,2)}function Kes(){const{datasetId:e}=dr(),[t,n]=ji(),r=t.get("items")?.split(",").filter(Boolean)??[],{data:s,error:a}=Ux(e??""),{Link:i}=yn(),[l,c]=v.useState(!1),{data:u}=CU(e??"",r[0]??""),{data:d}=CU(e??"",r[1]??"");return a&&gs(a)?o.jsx(cs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Vs,{})})}):a&&ys(a)?o.jsx(cs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ds,{resource:"datasets"})})}):!e||r.length<2?o.jsx(cs,{children:o.jsx(xy,{children:o.jsx("div",{className:"text-neutral4 text-center py-8",children:o.jsx("p",{children:"Select at least two items to compare."})})})}):o.jsxs(cs,{children:[o.jsx(Ty,{owner:"dataset-items-compare",children:o.jsxs(ue,{as:ci,to:`/datasets/${e}`,variant:"outline",children:[o.jsx(Ec,{}),"Back to Dataset"]})}),o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:K("grid gap-6 max-w-[140rem] mx-auto grid-rows-[auto_1fr] h-full",{"grid-rows-[auto_auto_1fr]":l}),children:[o.jsxs(ua,{children:[o.jsxs(ua.Column,{children:[o.jsxs(ua.Title,{children:[o.jsx(Qw,{}),"Compare Dataset Items"]}),o.jsx(ua.Description,{children:o.jsxs(Nl,{children:["Comparing ",r.length," items of"," ",o.jsx(ci,{to:`/datasets/${e}`,className:"text-info1 hover:underline",children:s?.name||e?.slice(0,8)})]})})]}),o.jsx(ua.Column,{children:o.jsx($r,{children:o.jsx(ue,{variant:"primary",onClick:()=>c(f=>!f),children:l?o.jsxs(o.Fragment,{children:[o.jsx(mlt,{})," Default View"]}):o.jsxs(o.Fragment,{children:[o.jsx(lcn,{})," Diff View"]})})})})]}),o.jsx(ry,{className:"grid-cols-[1fr_3vw_1fr]",children:r.map((f,p)=>o.jsxs(v.Fragment,{children:[o.jsx(Jes,{datasetId:e,itemId:f,Link:i,idx:p,itemIds:r,showContent:!l,onItemChange:h=>{const m=[...r];m[p]=h,n({items:m.join(",")})}}),p==0&&o.jsx("div",{className:K("bg-surface5 w-[3px] shrink-0 mx-[1.5vw]")})]},f))}),l&&u&&d&&o.jsx(S_e,{codeA:gQe(u),codeB:gQe(d)})]})})]})}function Jes({datasetId:e,itemId:t,Link:n,idx:r,itemIds:s,onItemChange:a,showContent:i=!0}){const{data:l,isLoading:c}=CU(e,t),{data:u}=_1(e),d=new Set(s.filter((p,h)=>h!==r)),f=(u??[]).map(p=>({value:p.id,label:p.id,disabled:d.has(p.id)}));return o.jsxs(Gr,{children:[o.jsxs(Gr.Toolbar,{className:"flex gap-4",children:[o.jsxs(ba,{name:`compare-item-${r}`,value:t,onValueChange:a,children:[o.jsx(wa,{"aria-label":"Item",children:o.jsx(xa,{placeholder:"Select item"})}),o.jsx(Sa,{children:f.map(p=>o.jsx(qr,{value:p.value,disabled:p.disabled,children:p.label},p.value))})]}),o.jsxs(ue,{as:n,to:`/datasets/${e}/items/${t}`,children:[o.jsx(i_,{}),"Versions"]})]}),i&&o.jsx(Gr.Content,{children:c?o.jsx("div",{className:"text-neutral4 text-sm",children:"Loading..."}):l?o.jsxs(o.Fragment,{children:[o.jsx(des,{item:l}),o.jsx(pTe,{item:l,Link:n})]}):o.jsxs("div",{className:"text-neutral4 text-sm",children:["Item ",t.slice(0,8)," not found"]})})]})}function vQe(e){return JSON.stringify({input:e.input??null,groundTruth:e.groundTruth??null,metadata:e.metadata??null},null,2)}function ets(){const{datasetId:e,itemId:t}=dr(),[n,r]=ji(),[s,a]=v.useState(!1),i=n.get("ids")?.split(",").map(Number).filter(h=>!isNaN(h)&&h>0)??[],{data:l,error:c}=Ux(e??""),{Link:u}=yn(),{data:d}=cTe(e??"",t??""),{data:f}=Tve(e??"",t??"",i[0]??0,l?.version),{data:p}=Tve(e??"",t??"",i[1]??0,l?.version);return c&&gs(c)?o.jsx(cs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Vs,{})})}):c&&ys(c)?o.jsx(cs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ds,{resource:"datasets"})})}):!e||!t||i.length<2?o.jsx(cs,{children:o.jsx(xy,{children:o.jsx("div",{className:"text-neutral4 text-center py-8",children:o.jsx("p",{children:"Select at least two versions to compare."})})})}):o.jsxs(cs,{children:[o.jsx(Ty,{owner:"dataset-item-versions-compare",children:o.jsxs(ue,{as:ci,to:`/datasets/${e}/items/${t}`,variant:"outline",children:[o.jsx(Ec,{}),"Back to Item"]})}),o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:K("grid gap-6 max-w-[140rem] mx-auto grid-rows-[auto_1fr] h-full",{"grid-rows-[auto_auto_1fr]":s}),children:[o.jsxs(ua,{children:[o.jsxs(ua.Column,{children:[o.jsxs(ua.Title,{children:[o.jsx(Qw,{}),"Compare Dataset Item Versions"]}),o.jsx(ua.Description,{children:o.jsxs(Nl,{children:["Comparing ",i.length," versions of"," ",o.jsx(ci,{to:`/datasets/${e}/items/${t}`,className:"text-info1 hover:underline",children:t})]})})]}),o.jsx(ua.Column,{children:o.jsx($r,{children:o.jsx(ue,{variant:"primary",onClick:()=>a(h=>!h),children:s?o.jsxs(o.Fragment,{children:[o.jsx(mlt,{})," Default View"]}):o.jsxs(o.Fragment,{children:[o.jsx(Zcn,{})," Diff View"]})})})})]}),o.jsx(ry,{className:"grid-cols-[1fr_3vw_1fr]",children:i.map((h,m)=>o.jsxs(v.Fragment,{children:[o.jsx(tts,{datasetId:e,itemId:t,datasetVersion:h,latestVersion:l?.version,allVersions:d??[],versionNumbers:i,Link:u,idx:m,showContent:!s,onVersionChange:g=>{const y=[...i];y[m]=g,r({ids:y.join(",")})}}),m===0&&o.jsx("div",{className:K("bg-surface5 w-[3px] shrink-0 mx-[1.5vw]")})]},h))}),s&&f&&p&&o.jsx(S_e,{codeA:vQe(f),codeB:vQe(p)})]})})]})}function tts({datasetId:e,itemId:t,datasetVersion:n,latestVersion:r,allVersions:s,versionNumbers:a,Link:i,idx:l,showContent:c=!0,onVersionChange:u}){const{data:d,isLoading:f}=Tve(e,t,n,r),p=new Set(a.filter((g,y)=>y!==l)),h=s.map(g=>{const y=typeof g.updatedAt=="string"?new Date(g.updatedAt):g.updatedAt;return{value:String(g.datasetVersion),label:o.jsxs(o.Fragment,{children:[o.jsxs("b",{children:["v. ",g.datasetVersion]})," - ",er(y,"MMM d, yyyy h:mm a"),g.isLatest?o.jsx(Xs,{color:"blue",size:"small",children:"Latest"}):null]}),disabled:p.has(g.datasetVersion)}}),m=d?{id:d.id,datasetId:e,datasetVersion:d.datasetVersion,input:d.input,groundTruth:d.groundTruth,metadata:d.metadata,createdAt:d.createdAt,updatedAt:d.updatedAt}:null;return o.jsxs(Gr,{children:[o.jsxs(Gr.Toolbar,{className:"grid gap-4 grid-cols-[auto_1fr]",children:[o.jsx(i_,{className:"w-6 h-6 opacity-50"}),o.jsxs(ba,{name:`compare-version-${l}`,value:String(n),onValueChange:g=>u(Number(g)),children:[o.jsx(wa,{"aria-label":"Version",className:"w-full",children:o.jsx(xa,{placeholder:"Select version"})}),o.jsx(Sa,{children:h.map(g=>o.jsx(qr,{value:g.value,disabled:g.disabled,children:g.label},g.value))})]})]}),c&&o.jsx(Gr.Content,{children:f?o.jsx("div",{className:"text-neutral4 text-sm",children:"Loading..."}):!d||!m?o.jsxs("div",{className:"text-neutral4 text-sm",children:["Version ",n," not found"]}):o.jsx(pTe,{item:m,Link:i})})]})}function nts(){const{datasetId:e}=dr(),[t]=ji(),n=t.get("ids")?.split(",").map(Number).filter(g=>!isNaN(g)&&g>0)??[],r=bs(),{data:s,error:a}=Ux(e??""),i=_1(e??"",void 0,n[0]??null),l=_1(e??"",void 0,n[1]??null),c=v.useMemo(()=>i.data??[],[i.data]),u=v.useMemo(()=>l.data??[],[l.data]),d=v.useMemo(()=>{const g=new Map;for(const y of[...c,...u])g.has(y.id)||g.set(y.id,{id:y.id,createdAt:new Date(y.createdAt)});return[...g.values()].sort((y,b)=>b.createdAt.getTime()-y.createdAt.getTime())},[c,u]),f=v.useMemo(()=>new Map(c.map(g=>[g.id,g])),[c]),p=v.useMemo(()=>new Map(u.map(g=>[g.id,g])),[u]);if(a&&gs(a))return o.jsx(cs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Vs,{})})});if(a&&ys(a))return o.jsx(cs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ds,{resource:"datasets"})})});if(!e||n.length<2)return o.jsx(cs,{children:o.jsx(xy,{children:o.jsx("div",{className:"text-neutral4 text-center py-8",children:o.jsx("p",{children:"Select at least two versions to compare."})})})});const h=(g,y,b)=>{r(`/datasets/${e}/items/${g}/versions?ids=${y?.datasetVersion??""},${b?.datasetVersion??""}`)},m=(g,y)=>{r(`/datasets/${e}/versions?ids=${g},${y}`,{replace:!0})};return o.jsx(cs,{children:o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:"grid gap-6 max-w-[140rem] mx-auto grid-rows-[auto_1fr] h-full",children:[o.jsxs(ua,{children:[o.jsxs(ua.Column,{children:[o.jsxs(ua.Title,{children:[o.jsx(Tdn,{})," Compare Dataset Versions"]}),o.jsx(ua.Description,{children:o.jsxs(Nl,{children:[o.jsx(i_,{})," Comparing ",n.length," versions of"," ",s?.name||e?.slice(0,8)]})})]}),o.jsx(ua.Column,{children:o.jsxs(ue,{as:ci,to:`/datasets/${e}`,children:[o.jsx(Ec,{}),"Back to Dataset"]})})]}),o.jsx(ry,{children:o.jsxs(Gr,{children:[o.jsx(Des,{datasetId:e,versionA:String(n[0]),versionB:String(n[1]),onVersionChange:m}),o.jsx(Bes,{datasetId:e,versionA:n[0],versionB:n[1],allItems:d,itemsAMap:f,itemsBMap:p,onItemClick:h})]})})]})})})}function Nve({children:e,className:t}){return o.jsx("div",{className:K("flex flex-wrap gap-8",t),children:e})}function rts(e){if(!e||e.length<2)return null;const t=[...e].sort((i,l)=>new Date(i.createdAt).getTime()-new Date(l.createdAt).getTime()),n=Math.floor(t.length/2),r=n,s=t.length-n;if(r===0)return null;const a=(s-r)/r*100;return{changePct:Math.round(a*10)/10,prevValue:String(r)}}function sts({scorers:e,datasets:t,experiments:n,avgScore:r,prevAvgScore:s,totalNeedsReview:a,isLoadingScorers:i,isLoadingDatasets:l,isLoadingExperiments:c,isLoadingScores:u,isLoadingReview:d}){const f=e?Object.keys(e).length:void 0,p=t?.length,h=n?.length,m=r!=null&&s!=null&&s!==0?{changePct:Math.round((r-s)/s*100*10)/10,prevValue:String(s)}:null,g=rts(n);return o.jsxs(o.Fragment,{children:[o.jsxs(Kr,{children:[o.jsx(Kr.Label,{children:"Total Scorers"}),i?o.jsx(Kr.Loading,{}):f!=null?o.jsxs(o.Fragment,{children:[o.jsx(Kr.Value,{children:String(f)}),o.jsx(Kr.NoChange,{message:"Static count"})]}):o.jsx(Kr.NoData,{})]}),o.jsxs(Kr,{children:[o.jsx(Kr.Label,{children:"Total Datasets"}),l?o.jsx(Kr.Loading,{}):p!=null?o.jsxs(o.Fragment,{children:[o.jsx(Kr.Value,{children:String(p)}),o.jsx(Kr.NoChange,{message:"Static count"})]}):o.jsx(Kr.NoData,{})]}),o.jsxs(Kr,{children:[o.jsx(Kr.Label,{children:"Avg Score"}),u?o.jsx(Kr.Loading,{}):r!=null?o.jsxs(o.Fragment,{children:[o.jsx(Kr.Value,{children:String(r)}),m?o.jsx(Kr.Change,{changePct:m.changePct,prevValue:m.prevValue}):o.jsx(Kr.NoChange,{})]}):o.jsx(Kr.NoData,{})]}),o.jsxs(Kr,{children:[o.jsx(Kr.Label,{children:"Total Experiments"}),c?o.jsx(Kr.Loading,{}):h!=null?o.jsxs(o.Fragment,{children:[o.jsx(Kr.Value,{children:String(h)}),g?o.jsx(Kr.Change,{changePct:g.changePct,prevValue:g.prevValue}):o.jsx(Kr.NoChange,{})]}):o.jsx(Kr.NoData,{})]}),o.jsxs(Kr,{children:[o.jsx(Kr.Label,{children:"Needs Review"}),d?o.jsx(Kr.Loading,{}):a!=null?o.jsxs(o.Fragment,{children:[o.jsx(Kr.Value,{children:String(a)}),a>0?o.jsx(Kr.NoChange,{message:"items pending review"}):o.jsx(Kr.NoChange,{message:"All caught up"})]}):o.jsx(Kr.NoData,{})]})]})}const yQe="auto 1fr auto auto auto auto auto auto auto";function ats(e){return e?(typeof e=="string"?new Date(e):e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"—"}const its={completed:"success",running:"warning",failed:"error",pending:"neutral"};function ots({experiments:e,datasets:t,reviewByExperiment:n,isLoading:r,search:s="",statusFilter:a="all",datasetFilter:i="all"}){const{paths:l,Link:c}=yn(),u=v.useMemo(()=>{const p=new Map;return t?.forEach(h=>p.set(h.id,h.name)),p},[t]),d=v.useMemo(()=>[...e].sort((p,h)=>{const m=p.createdAt?new Date(p.createdAt).getTime():0;return(h.createdAt?new Date(h.createdAt).getTime():0)-m}),[e]),f=v.useMemo(()=>{const p=s.toLowerCase();return d.filter(h=>{const m=h.datasetId?u.get(h.datasetId)??"":"",g=!p||h.id.toLowerCase().includes(p)||m.toLowerCase().includes(p)||(h.targetId??"").toLowerCase().includes(p),y=a==="all"||h.status===a,b=i==="all"||h.datasetId===i;return g&&y&&b})},[d,s,u,a,i]);return r?o.jsx(el,{columns:yQe}):o.jsxs(me,{columns:yQe,variant:"striped",children:[o.jsxs(me.Top,{children:[o.jsx(me.TopCell,{children:"Experiment"}),o.jsx(me.TopCell,{children:"Dataset"}),o.jsx(me.TopCell,{children:"Target"}),o.jsx(me.TopCell,{children:"Status"}),o.jsx(me.TopCell,{className:"text-center",children:"Items"}),o.jsx(me.TopCell,{className:"text-center",children:"Succeeded"}),o.jsx(me.TopCell,{className:"text-center",children:"Failed"}),o.jsx(me.TopCell,{className:"text-center",children:"Review"}),o.jsx(me.TopCell,{children:"Date"})]}),f.map(p=>{const h=p.datasetId?u.get(p.datasetId)??p.datasetId.slice(0,8):"—",m=p.status??"pending",g=p.succeededCount??0,y=p.failedCount??0,b=p.totalItems??0,w=b>0?Math.round(g/b*100):0;return o.jsxs(me.RowLink,{to:l.experimentLink(p.id),LinkComponent:c,children:[o.jsx(me.NameCell,{className:"font-mono",children:p.id.slice(0,8)}),o.jsx(me.TextCell,{children:h}),o.jsx(me.Cell,{children:o.jsxs("span",{className:"truncate",children:[p.targetType," ",p.targetId]})}),o.jsx(me.Cell,{children:o.jsx(dg,{variant:its[m]??"neutral",withDot:!0,children:m})}),o.jsx(me.TextCell,{className:"text-center",children:b}),o.jsx(me.TextCell,{className:"text-center",children:o.jsxs("span",{className:g>0?"text-accent1":"",children:[g," (",w,"%)"]})}),o.jsx(me.TextCell,{className:"text-center",children:o.jsx("span",{className:y>0?"text-accent2":"",children:y})}),o.jsx(me.Cell,{className:"text-center",children:(()=>{const S=n?.get(p.id);if(!S)return o.jsx("span",{className:"text-neutral2",children:"—"});const k=S.needsReview+S.complete;return k===0?o.jsx("span",{className:"text-neutral2",children:"—"}):S.needsReview>0?o.jsxs(Xs,{size:"small",color:"yellow",children:[S.needsReview," pending"]}):o.jsxs(Xs,{size:"small",color:"green",children:[S.complete,"/",k," reviewed"]})})()}),o.jsx(me.TextCell,{children:ats(p.createdAt)})]},p.id)})]})}const lts=[{value:"all",label:"All statuses"},{value:"completed",label:"Completed"},{value:"running",label:"Running"},{value:"failed",label:"Failed"},{value:"pending",label:"Pending"}];function cts(e){return[{value:"all",label:"All datasets"},...(e??[]).map(t=>({value:t.id,label:t.name}))]}const W8={completed:"#22c55e",running:"#facc15",pending:"#fb923c",failed:"#f87171"},uts=[{label:"Completed",color:W8.completed},{label:"Running",color:W8.running},{label:"Pending",color:W8.pending},{label:"Failed",color:W8.failed}];function dts({experiments:e,datasets:t,isLoading:n,isError:r}){const{data:s,maxVal:a}=v.useMemo(()=>{if(!e||e.length===0)return{data:[],maxVal:0};const l=new Map;if(t)for(const f of t)l.set(f.id,f.name);const c=new Map;for(const f of e){const p=f.datasetId??"unknown";c.has(p)||c.set(p,{completed:0,running:0,pending:0,failed:0});const h=c.get(p),m=f.status;m in h&&h[m]++}let u=0;return{data:Array.from(c.entries()).map(([f,p])=>{const h=p.completed+p.running+p.pending+p.failed;return h>u&&(u=h),{name:l.get(f)??f.slice(0,12),values:[p.completed,p.running,p.pending,p.failed]}}),maxVal:u}},[e,t]),i=s.length>0;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Experiments by Dataset",description:"Experiment status breakdown per dataset."}),i&&o.jsx(Bt.Summary,{value:String(e?.length??0),label:"Total experiments"})]}),n?o.jsx(Bt.Loading,{}):r?o.jsx(Bt.Error,{message:"Failed to load experiments data"}):o.jsx(Bt.Content,{children:i?o.jsx(aN,{data:s,segments:uts,maxVal:a,fmt:l=>String(l)}):o.jsx(Bt.NoData,{message:"No experiments have been run yet"})})]})}const fts=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(xf,{}),titleSlot:"No Experiments yet",descriptionSlot:o.jsxs(o.Fragment,{children:["Run an experiment from a dataset to evaluate ",o.jsx("br",{}),"your agents and workflows."]}),actionSlot:o.jsx("div",{className:"flex flex-col items-center gap-2",children:o.jsxs(ue,{variant:"ghost",as:"a",href:"https://mastra.ai/en/docs/evals/datasets/running-experiments",target:"_blank",rel:"noopener noreferrer",children:["Experiments Documentation ",o.jsx(Pa,{})]})})})});function pts({search:e,onSearchChange:t,statusFilter:n,onStatusFilterChange:r,datasetFilter:s,onDatasetFilterChange:a,datasetOptions:i,onReset:l,hasActiveFilters:c}){return o.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[o.jsx(Of,{label:"Search experiments",placeholder:"Filter by experiment, dataset, or target",value:e,onSearch:t}),o.jsxs($r,{children:[o.jsx(xc,{label:"Status",labelIsHidden:!0,name:"filter-status",options:[...lts],value:n,onValueChange:r,className:"whitespace-nowrap"}),o.jsx(xc,{label:"Dataset",labelIsHidden:!0,name:"filter-dataset",options:i,value:s,onValueChange:a,className:"whitespace-nowrap"}),l&&c&&o.jsxs(ue,{onClick:l,size:"sm",variant:"default",children:[o.jsx(vs,{className:"size-3"})," Reset"]})]})]})}function hts(){const{data:e,isLoading:t,error:n}=eh(),{data:r,isLoading:s,error:a}=Rg(),{data:i,isLoading:l,error:c}=zZ(),{data:u,isLoading:d,isError:f,error:p}=uWr(),{data:h,isLoading:m,isError:g,error:y}=gTe(),b=r?.datasets,w=i?.experiments,S=v.useMemo(()=>Hes(h),[h]),k=n||a||c||p||y;return k&&gs(k)?o.jsx(lr,{children:o.jsx(Vs,{})}):k&&ys(k)?o.jsx(lr,{children:o.jsx(Ds,{resource:"evaluation"})}):k?o.jsx(lr,{children:o.jsx(Fi,{title:"Failed to load evaluation data",message:k.message})}):o.jsx(Lt,{width:"wide",height:"full",children:o.jsxs("div",{className:"flex flex-col gap-6",children:[o.jsx(Nve,{children:o.jsx(sts,{scorers:e,datasets:b,experiments:w,avgScore:u?.avgScore??null,prevAvgScore:u?.prevAvgScore??null,totalNeedsReview:S.needsReview,isLoadingScorers:t,isLoadingDatasets:s,isLoadingExperiments:l,isLoadingScores:d,isLoadingReview:m})}),o.jsx(gHr,{summaryData:u?.summaryData??[],overTimeData:u?.overTimeData??[],scorerNames:u?.scorerNames??[],avgScore:u?.avgScore??null,isLoading:d,isError:f}),o.jsxs("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-2",children:[o.jsx(WKr,{experiments:w,isLoading:l,isError:!!c}),o.jsx(dts,{experiments:w,datasets:b,isLoading:l,isError:!!c})]}),o.jsx(qes,{reviewSummary:h,experiments:w,datasets:b,isLoading:m,isError:!!g})]})})}function mts(){const[e,t]=v.useState(""),[n,r]=v.useState("all"),[s,a]=v.useState("all"),{data:i,isLoading:l,error:c}=Rg(),{data:u,isLoading:d,error:f}=zZ(),{data:p}=gTe(),h=v.useMemo(()=>i?.datasets??[],[i?.datasets]),m=v.useMemo(()=>u?.experiments??[],[u?.experiments]),g=v.useMemo(()=>cts(h),[h]),y=v.useMemo(()=>i8t(p),[p]),b=l||d,w=f||c;if(w&&gs(w))return o.jsx(lr,{children:o.jsx(Vs,{})});if(f&&ys(f))return o.jsx(lr,{children:o.jsx(Ds,{resource:"experiments"})});if(c&&ys(c))return o.jsx(lr,{children:o.jsx(Ds,{resource:"datasets"})});if(w)return o.jsx(lr,{children:o.jsx(Fi,{title:"Failed to load experiments",message:w.message})});if(m.length===0&&!b)return o.jsx(lr,{children:o.jsx(fts,{})});const S=n!=="all"||s!=="all"||e!=="",k=()=>{t(""),r("all"),a("all")};return o.jsxs(Lt,{children:[o.jsx(Lt.TopArea,{children:o.jsx(pts,{search:e,onSearchChange:t,statusFilter:n,onStatusFilterChange:r,datasetFilter:s,onDatasetFilterChange:a,datasetOptions:g,onReset:k,hasActiveFilters:S})}),o.jsx(ots,{experiments:m,datasets:h,reviewByExperiment:y,isLoading:b,search:e,statusFilter:n,datasetFilter:s})]})}function Z8({children:e}){return o.jsxs(Lt,{height:"full",children:[o.jsx("div",{}),o.jsx(Lt.MainArea,{isCentered:!0,children:e})]})}function gts(){const{experimentId:e}=dr(),{data:t,isLoading:n}=zZ(),s=t?.experiments?.find(h=>h.id===e)?.datasetId??"",{data:a,isLoading:i,error:l}=_U(s,e??""),{data:c,isLoading:u,setEndOfListElement:d,isFetchingNextPage:f,hasNextPage:p}=$Z({datasetId:s,experimentId:e??"",experimentStatus:a?.status});return!e||n||i?null:l&&gs(l)?o.jsx(Z8,{children:o.jsx(Vs,{})}):l&&ys(l)?o.jsx(Z8,{children:o.jsx(Ds,{resource:"datasets"})}):l&&z1e(l)||!n&&!s||!i&&!l&&!a?o.jsx(Z8,{children:o.jsx(Lr,{iconSlot:o.jsx(Bye,{}),titleSlot:"Experiment not found",descriptionSlot:`No experiment with id "${e}".`,actionSlot:o.jsxs(ue,{as:ci,to:"/experiments",children:[o.jsx(Ec,{}),"Back to Experiments"]})})}):l?o.jsx(Z8,{children:o.jsx(Fi,{title:"Failed to load experiment",message:l instanceof Error?l.message:"An unexpected error occurred. Please try again."})}):o.jsxs(Lt,{height:"full",children:[o.jsx(o8t,{experiment:a}),o.jsx(Lt.MainArea,{children:o.jsx(a8t,{experimentId:e,datasetId:s,experimentStatus:a.status,results:c??[],isLoading:u,setEndOfListElement:d,isFetchingNextPage:f,hasNextPage:p})})]})}function vts({connection:e,isAdmin:t,disconnectPending:n,onDisconnect:r}){return o.jsxs("li",{className:"flex items-center justify-between border-b py-2",children:[o.jsxs("div",{children:[o.jsx("div",{className:"font-mono text-xs",children:e.connectionId}),o.jsxs("div",{className:"text-xs text-gray-500",children:[e.label??"(no label)"," · ",e.status,e.scope?` · ${e.scope}`:"",t&&e.authorId?` · author: ${e.authorId}`:""]})]}),o.jsx("button",{type:"button",className:"text-red-600 underline disabled:opacity-50",onClick:r,disabled:n,children:"Disconnect"})]})}function l8t({connections:e,isAdmin:t,disconnectPending:n,onDisconnect:r}){return o.jsx("ul",{className:"space-y-1",children:e.map(s=>o.jsx(vts,{connection:s,isAdmin:t,disconnectPending:n,onDisconnect:()=>r(s.connectionId)},s.connectionId))})}function yts({groups:e,isAdmin:t,disconnectPending:n,onDisconnect:r}){return o.jsx("div",{className:"space-y-4",children:e.map(([s,a])=>o.jsxs("div",{children:[o.jsx("h3",{className:"text-sm font-semibold text-gray-700","data-testid":`integration-author-group-${s}`,children:s==="shared"?"Shared":`Owned by ${s}`}),o.jsx(l8t,{connections:a,isAdmin:t,disconnectPending:n,onDisconnect:r})]},s))})}function bts({providerId:e,toolkit:t,connections:n,groupedByAuthor:r,isAdmin:s,isLoading:a,error:i,disconnectPending:l,disconnectError:c,onDisconnect:u}){return o.jsxs("div",{className:"space-y-2 border rounded p-4",children:[o.jsx("h2",{className:"text-lg font-semibold",children:"Existing connections"}),!e||!t?o.jsx("p",{className:"text-gray-500",children:"Pick a provider and toolkit to list connections."}):a?o.jsx("p",{className:"text-gray-500",children:"Loading…"}):i?o.jsx("p",{className:"text-red-600",children:String(i)}):n.length===0?o.jsx("p",{className:"text-gray-500",children:"No connections."}):r?o.jsx(yts,{groups:r,isAdmin:s,disconnectPending:l,onDisconnect:u}):o.jsx(l8t,{connections:n,isAdmin:s,disconnectPending:l,onDisconnect:u}),c?o.jsx("p",{className:"text-red-600",children:String(c)}):null]})}function xts({providers:e,toolkits:t,providerId:n,toolkit:r,label:s,providersLoading:a,providersError:i,toolkitsLoading:l,toolkitsError:c,authorizePending:u,authorizeError:d,authorizedConnection:f,onProviderChange:p,onToolkitChange:h,onLabelChange:m,onConnect:g}){return o.jsxs("div",{className:"space-y-4 border rounded p-4",children:[o.jsxs("div",{className:"space-y-1",children:[o.jsx("label",{className:"block font-medium",htmlFor:"provider-select",children:"Provider"}),o.jsxs("select",{id:"provider-select",className:"border rounded px-2 py-1 w-full",value:n,onChange:y=>p(y.target.value),disabled:a,children:[o.jsx("option",{value:"",children:"— select provider —"}),e.map(y=>o.jsxs("option",{value:y.id,children:[y.displayName??y.name," (",y.id,")"]},y.id))]}),a&&o.jsx("span",{className:"text-gray-500",children:"Loading providers…"}),i?o.jsx("span",{className:"text-red-600",children:String(i)}):null]}),o.jsxs("div",{className:"space-y-1",children:[o.jsx("label",{className:"block font-medium",htmlFor:"toolkit-select",children:"Toolkit"}),o.jsxs("select",{id:"toolkit-select",className:"border rounded px-2 py-1 w-full",value:r,onChange:y=>h(y.target.value),disabled:!n||l,children:[o.jsx("option",{value:"",children:"— select toolkit —"}),t.map(y=>o.jsxs("option",{value:y.slug,children:[y.name," (",y.slug,")"]},y.slug))]}),l&&o.jsx("span",{className:"text-gray-500",children:"Loading toolkits…"}),c?o.jsx("span",{className:"text-red-600",children:String(c)}):null]}),o.jsxs("div",{className:"space-y-1",children:[o.jsx("label",{className:"block font-medium",htmlFor:"label-input",children:"Label (optional)"}),o.jsx("input",{id:"label-input",type:"text",className:"border rounded px-2 py-1 w-full",placeholder:"My personal Gmail",value:s,onChange:y=>m(y.target.value),disabled:!n||!r})]}),o.jsx("button",{type:"button",className:"bg-blue-600 text-white rounded px-4 py-2 disabled:opacity-50",onClick:g,disabled:!n||!r||u,children:u?"Authorizing…":"Connect"}),d?o.jsx("p",{className:"text-red-600",children:String(d)}):null,f&&o.jsxs("p",{className:"text-green-700",children:["Authorized: ",f.connectionId," (status: ",f.status,")"]})]})}const bQe=e=>e.authorId?.trim()||"shared",wts=(e,t)=>{if(!t||new Set(e.map(bQe)).size<=1)return null;const r=new Map;for(const a of e){const i=bQe(a);r.set(i,[...r.get(i)??[],a])}const s=Array.from(r.entries());return s.sort(([a],[i])=>a==="shared"?1:i==="shared"?-1:a.localeCompare(i)),s},Sts=["*","tool-providers:*","tool-providers:admin"];function kts(){const{data:e}=wm();return e?.permissions?.some(t=>Sts.includes(t))??!1}function Ots(){const[e,t]=v.useState(""),[n,r]=v.useState(""),[s,a]=v.useState(""),i=cI(),l=lW(e||null),c=sAt(e||null,n||null),u=rAt(),d=eAt(),f=kts(),p=i.data?.providers??[],h=l.data?.data??[],m=v.useMemo(()=>c.data?.items??[],[c.data?.items]),g=v.useMemo(()=>wts(m,f),[m,f]),y=S=>{t(S),r("")},b=()=>{!e||!n||u.mutate({providerId:e,toolkit:n,label:s.trim()||null},{onSuccess:()=>{a(""),c.refetch()}})},w=S=>{d.mutate({providerId:e,connectionId:S})};return o.jsxs("div",{className:"p-6 max-w-3xl space-y-6 text-sm",children:[o.jsx("h1",{className:"text-2xl font-semibold",children:"Integrations"}),o.jsx("p",{className:"text-gray-500",children:"Minimal page to verify the ToolProvider backend. Pick a provider and toolkit, then connect."}),o.jsx(xts,{providers:p,toolkits:h,providerId:e,toolkit:n,label:s,providersLoading:i.isLoading,providersError:i.error,toolkitsLoading:l.isLoading,toolkitsError:l.error,authorizePending:u.isPending,authorizeError:u.error,authorizedConnection:u.data,onProviderChange:y,onToolkitChange:r,onLabelChange:a,onConnect:b}),o.jsx(bts,{providerId:e,toolkit:n,connections:m,groupedByAuthor:g,isAdmin:f,isLoading:c.isLoading,error:c.error,disconnectPending:d.isPending,disconnectError:d.error,onDisconnect:w})]})}function _ts({title:e,description:t,errorBanner:n,children:r}){return o.jsx("div",{"data-testid":"login-page",className:"flex min-h-screen items-center justify-center bg-surface1",children:o.jsxs("div",{className:"w-full max-w-sm space-y-6",children:[o.jsxs("div",{className:"flex flex-col items-center space-y-2",children:[o.jsx(Zh,{className:"h-10 w-10"}),o.jsx("h1",{className:"text-xl font-semibold text-neutral6",children:e})]}),t,n,r]})})}function c8t({redirectUri:e,onSuccess:t,initialMode:n="signin",errorMessage:r}){const{data:s,isLoading:a}=rc(),{mutate:i,isPending:l,error:c}=l1r(),{mutate:u,isPending:d,error:f}=u1r(),{mutate:p,isPending:h}=ENt(),[m,g]=v.useState(n),[y,b]=v.useState(""),[w,S]=v.useState(""),[k,_]=v.useState("");if(a)return o.jsx("div",{className:"flex min-h-screen items-center justify-center bg-surface1",children:o.jsx("div",{className:"text-neutral3",children:"Loading..."})});if(!s?.enabled||!s?.login)return o.jsx("div",{className:"flex min-h-screen items-center justify-center bg-surface1",children:o.jsx("div",{className:"text-neutral3",children:"Authentication is not configured"})});const{login:C}=s,E=C.type==="sso"||C.type==="both",j=C.type==="credentials"||C.type==="both",N=C.sso,I=C.signUpEnabled!==!1,R=m==="signin"||!I,$=R?l:d,F=R?c:f,D=()=>{t?t():e?window.location.href=e:window.location.href="/"},V=M=>{M.preventDefault(),R?i({email:w,password:k},{onSuccess:D}):u({email:w,password:k,name:y||void 0},{onSuccess:D})},W=()=>{p({redirectUri:e},{onSuccess:M=>{window.location.href=M.url}})},L=()=>{g(R?"signup":"signin")},z=C.description?o.jsxs("div",{className:"flex items-start gap-2.5 rounded-md border border-border1 bg-surface1 p-3",children:[o.jsx(pf,{className:"mt-0.5 h-4 w-4 shrink-0 text-neutral4"}),o.jsx("p",{className:"text-sm text-neutral3",children:C.description})]}):null,B=r?o.jsx("div",{className:"rounded-md bg-red-500/10 p-3 text-sm text-red-400",children:r}):null;return o.jsxs(_ts,{title:R?"Sign in to Mastra Studio":"Create your account",description:z,errorBanner:B,children:[j&&o.jsxs("form",{onSubmit:V,className:"space-y-4",children:[!R&&o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:"name",className:"block text-sm text-neutral4",children:"Name"}),o.jsx(kn,{id:"name",type:"text",value:y,onChange:M=>b(M.target.value),placeholder:"Your name",variant:"default",size:"lg"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:"email",className:"block text-sm text-neutral4",children:"Email"}),o.jsx(kn,{id:"email",type:"email",value:w,onChange:M=>S(M.target.value),placeholder:"you@example.com",required:!0,variant:"default",size:"lg"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:"password",className:"block text-sm text-neutral4",children:"Password"}),o.jsx(kn,{id:"password",type:"password",value:k,onChange:M=>_(M.target.value),placeholder:R?"Enter your password":"Create a password",required:!0,variant:"default",size:"lg"})]}),F&&o.jsx("div",{className:"rounded-md bg-red-500/10 p-3 text-sm text-red-400",children:F.message}),o.jsx(ue,{type:"submit",disabled:$,className:"w-full",size:"lg",children:$?R?"Signing in...":"Creating account...":R?"Sign in":"Create account"}),I&&o.jsxs("div",{className:"text-center text-sm",children:[o.jsx("span",{className:"text-neutral3",children:R?"Don't have an account? ":"Already have an account? "}),o.jsx("button",{type:"button",onClick:L,className:"text-neutral6 hover:underline",children:R?"Sign up":"Sign in"})]})]}),E&&j&&o.jsxs("div",{className:"relative",children:[o.jsx("div",{className:"absolute inset-0 flex items-center",children:o.jsx("div",{className:"w-full border-t border-border1"})}),o.jsx("div",{className:"relative flex justify-center text-sm",children:o.jsx("span",{className:"bg-surface1 px-2 text-neutral3",children:"or continue with"})})]}),E&&N&&o.jsxs(ue,{onClick:W,disabled:h,className:"w-full",size:"lg",variant:"outline",children:[N.icon&&o.jsx("span",{className:"mr-2",children:N.icon}),h?"Redirecting...":N.text||"Sign in"]})]})}function Cts(){const[e]=ji(),t=bs(),n=e.get("redirect")||"/",s=e.get("mode")==="signup"?"signup":"signin",a=e.get("error_description")||e.get("error")||null,i=()=>{n.startsWith("http")?window.location.href=n:t(n,{replace:!0})};return o.jsx(c8t,{redirectUri:n,onSuccess:i,initialMode:s,errorMessage:a})}function Ets({error:e,resource:t,errorTitle:n}){if(gs(e))return o.jsx(Vs,{});if(ys(e))return o.jsx(Ds,{resource:t});if(v1t(e,"logs"))return o.jsx(Lr,{iconSlot:o.jsx(_xe,{}),titleSlot:"Logs are not available with your current storage",descriptionSlot:"The configured observability storage provider does not support listing logs. Switch to a storage provider with logs support to view runtime logs in Studio."});const r=e instanceof Error?e.message:void 0;return o.jsx(Fi,{title:n,message:r??"Unknown error"})}function jts({listSlot:e,logPanelSlot:t,tracePanelSlot:n,spanPanelSlot:r,logCollapsed:s}){const a=!!t;return o.jsxs("div",{className:K("grid h-full min-h-0 gap-4 items-start",a?"grid-cols-[1fr_1fr]":"grid-cols-[1fr]"),children:[e,a&&o.jsxs("div",{className:K("grid gap-4 h-full overflow-auto",n&&r?s?"grid-rows-[auto_1fr_1fr]":"grid-rows-[1fr_1fr_1fr]":n?s?"grid-rows-[auto_1fr]":"grid-rows-[1fr_1fr]":s?"grid-rows-[auto]":"grid-rows-[1fr]"),children:[t,n,r]})]})}const Tts={debug:{label:"DEBUG",color:"#71717a"},info:{label:"INFO",color:"#60a5fa"},warn:{label:"WARN",color:"#facc15"},error:{label:"ERROR",color:"#f87171"},fatal:{label:"FATAL",color:"#dc2626"}};function Nts({level:e}){const t=Tts[e];return o.jsx(So,{height:"compact",children:o.jsx("span",{className:"uppercase text-ui-sm font-semibold",style:{color:t.color},children:t.label})})}function Its({entityType:e,className:t}){const n=K("size-3.5 shrink-0 text-neutral2",t);switch(e.toLowerCase()){case Os.AGENT:return o.jsx(rl,{className:n,"aria-hidden":!0});case"workflow":case Os.WORKFLOW_RUN:return o.jsx(kd,{className:n,"aria-hidden":!0});case Os.TOOL:return o.jsx(Gp,{className:n,"aria-hidden":!0});default:return null}}function Ats({entityType:e,entityName:t}){const n=e??"";return o.jsxs(So,{height:"compact",className:"flex min-w-0 items-center gap-2",children:[o.jsx(Its,{entityType:n}),t?o.jsx("span",{className:"min-w-0 text-ui-smd truncate",children:t}):"-"]})}function Rts({message:e}){return o.jsx(So,{height:"compact",className:"text-neutral4 text-ui-smd min-w-0 truncate font-mono",children:e})}function Pts({data:e}){if(!e||Object.keys(e).length===0)return o.jsx(So,{height:"compact",children:null});const t=Object.entries(e).map(([n,r])=>{if(typeof r=="string")return`${n}: ${r}`;try{return`${n}: ${JSON.stringify(r)}`}catch{return`${n}: <unserializable>`}}).join(", ");return o.jsx(Wke,{children:t})}const zl=Object.assign(FD,{Top:BH,TopCell:$_,TopCellWithTooltip:UH,TopCellSmart:IEt,RowWrapper:Xke,RowButton:zD,RowLink:AEt,Spacer:Yke,NoMatch:zH,DateCell:Zke,TimeCell:Gke,LevelCell:Nts,EntityCell:Ats,MessageCell:Rts,DataCell:Pts,NextPageLoading:FH}),xQe="6rem 9rem 5rem 10rem minmax(8rem,1fr) minmax(8rem,1fr)",$ts=36,Mts=8;function Dts({logs:e,isLoading:t,isFetchingNextPage:n,hasNextPage:r,setEndOfListElement:s,logIdMap:a,featuredLogId:i,onLogClick:l}){const c=v.useRef(null),u=A6t({count:e.length,getScrollElement:()=>c.current,estimateSize:()=>$ts,overscan:Mts}),d=v.useRef(t);if(v.useEffect(()=>{d.current&&!t&&c.current?.dispatchEvent(new Event("scroll")),d.current=t},[t]),t)return o.jsx(el,{columns:xQe});const f=u.getVirtualItems(),p=u.getTotalSize(),h=f[0]?.start??0,m=f.length>0?Math.max(0,p-(f[f.length-1]?.end??0)):0;return o.jsxs(zl,{columns:xQe,variant:"striped",scrollRef:c,className:"min-w-0",children:[o.jsxs(zl.Top,{children:[o.jsx(zl.TopCell,{children:"Date"}),o.jsx(zl.TopCell,{children:"Time"}),o.jsx(zl.TopCell,{children:"Level"}),o.jsx(zl.TopCell,{children:"Entity"}),o.jsx(zl.TopCell,{children:"Message"}),o.jsx(zl.TopCell,{children:"Data"})]}),e.length===0?o.jsx(zl.NoMatch,{message:"No logs match your search"}):o.jsxs(o.Fragment,{children:[o.jsx(zl.Spacer,{height:h}),f.map(g=>{const y=e[g.index];if(!y)return null;const b=a.get(y);if(!b)return null;const w=b===i;return o.jsxs(zl.RowButton,{ref:u.measureElement,"data-index":g.index,onClick:()=>l(y),featured:w,variant:y.level==="error"||y.level==="fatal"?"error":"default",children:[o.jsx(zl.DateCell,{timestamp:y.timestamp}),o.jsx(zl.TimeCell,{timestamp:y.timestamp}),o.jsx(zl.LevelCell,{level:y.level}),o.jsx(zl.EntityCell,{entityType:y.entityType,entityName:y.entityName}),o.jsx(zl.MessageCell,{message:y.message}),o.jsx(zl.DataCell,{data:y.data})]},b)}),o.jsx(zl.Spacer,{height:m})]}),o.jsx(zl.NextPageLoading,{isLoading:n,hasMore:r,setEndOfListElement:s})]})}function Lts({onClear:e,onRemoveAll:t,onSave:n,onRemoveSaved:r,isLoading:s,filterFields:a,filterTokens:i,onFilterTokensChange:l,autoFocusFilterFieldId:c}){const u=i.length>0,d=i.some(f=>Fts(f,a));return o.jsxs("div",{className:K("grid grid-cols-[1fr_auto] gap-3 items-start"),children:[o.jsx(nTe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(eTe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function Fts(e,t){const n=t.find(r=>r.id===e.fieldId);return n?n.kind==="text"?typeof e.value=="string"&&e.value.trim()!=="":n.kind==="pick-multi"?n.multi?Array.isArray(e.value)&&e.value.length>0:typeof e.value=="string"&&e.value!==""&&e.value!=="Any":n.kind==="multi-select"?Array.isArray(e.value)&&e.value.length>0:!1:!1}const zts={"last-24h":"the last 24 hours","last-3d":"the last 3 days","last-7d":"the last 7 days","last-14d":"the last 14 days","last-30d":"the last 30 days"},zre="MMM d, yyyy HH:mm",Bre="Pick a wider range or lower the logging level — verbose entries (debug, info) may be filtered out.";function Bts({datePreset:e,dateFrom:t,dateTo:n}){return e&&e!=="all"&&e!=="custom"?{title:`No logs for ${zts[e]}`,description:Bre}:t&&n?{title:`No logs between ${er(t,zre)} and ${er(n,zre)}`,description:Bre}:t?{title:`No logs since ${er(t,zre)}`,description:Bre}:{title:"No logs yet",description:"Logs will appear here once agents, workflows, or tools are executed."}}const Uts=({datePreset:e,dateFrom:t,dateTo:n}={})=>{const{title:r,description:s}=Bts({datePreset:e,dateFrom:t,dateTo:n});return o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(_xe,{}),titleSlot:r,descriptionSlot:s,actionSlot:o.jsxs(ue,{variant:"ghost",as:"a",href:"https://mastra.ai/en/docs/observability/logging",target:"_blank",rel:"noopener noreferrer",children:["Logging Documentation ",o.jsx(Cxe,{})]})})})},qts=20,Vts=1e4;function Hts(e,t,n){if(e?.pagination?.hasMore)return n+1}function Wts(e){const t=new Set,n=[];for(const r of e.pages)for(const s of r.logs??[]){const a=s.logId??JSON.stringify(s);t.has(a)||(t.add(a),n.push(s))}return n}function Zts(e){return v1t(e.state.error,"logs")?!1:Vts}const Gts=({filters:e}={})=>{const t=We(),{inView:n,setRef:r}=__(),s=R1({queryKey:["logs",e],queryFn:({pageParam:p})=>t.listLogsVNext({pagination:{page:p,perPage:qts},filters:e,orderBy:{field:"timestamp",direction:"DESC"}}),initialPageParam:0,getNextPageParam:Hts,select:Wts,retry:!1,refetchInterval:Zts}),{hasNextPage:a,isFetchingNextPage:i,fetchNextPage:l,data:c,isLoading:u,isError:d,error:f}=s;return v.useEffect(()=>{n&&a&&!i&&l()},[n,a,i,l]),{data:c,hasNextPage:a,isFetchingNextPage:i,fetchNextPage:l,isLoading:u,isError:d,error:f,setEndOfListElement:r}},Qts="Filters setting for Logs saved",Yts="Filters setting for Logs cleared up";function Xts(e,t,n){const{storageKey:r,messages:s,skipHydration:a}={},[i,l]=v.useState(()=>PGe(r)!==null),c=v.useCallback(()=>{IQr(e,r),l(!0);const f=s?.saved??Qts;f!==!1&&De.success(f)},[e,r,s?.saved]),u=v.useCallback(()=>{AQr(r),l(!1);const f=s?.cleared??Yts;f!==!1&&De.success(f)},[r,s?.cleared]),d=v.useRef(!1);return v.useEffect(()=>{if(a||d.current||(d.current=!0,RQr(e)))return;const f=PGe(r);f&&t(p=>{const h=new URLSearchParams(p);for(const[m,g]of f)h.append(m,g);return h},{replace:!0})},[]),{hasSavedFilters:i,handleSave:c,handleRemoveSaved:u}}function Kts(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(t>>>0).toString(36)}function Jts(e){const t=new Map;for(const n of e){if(n.logId){t.set(n,n.logId);continue}const r=n.timestamp instanceof Date?n.timestamp.toISOString():n.timestamp;t.set(n,Kts(`${r}${n.message??""}${n.data?JSON.stringify(n.data):""}`))}return t}function ens(e,t,n,r){const s=v.useMemo(()=>Jts(e),[e]),a=v.useMemo(()=>{const h=new Map;for(let m=0;m<e.length;m++){const g=s.get(e[m]);g&&h.set(g,{log:e[m],idx:m})}return h},[e,s]),l=(t?a.get(t):void 0)?.idx??-1,c=l>=0?e[l]:null,u=v.useCallback(h=>s.get(h),[s]),d=v.useCallback(h=>{const m=s.get(h);if(m){if(t===m){n({logId:null});return}n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}},[s,t,r,n]),f=l>0?()=>{const h=e[l-1],m=s.get(h);n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}:void 0,p=l>=0&&l<e.length-1?()=>{const h=e[l+1],m=s.get(h);n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}:void 0;return{logIdMap:s,getLogId:u,featuredLog:c,handleLogClick:d,handlePreviousLog:f,handleNextLog:p}}const Ive="logId",Ave="traceId",Rve="spanId",IR=1440*60*1e3,tns={"last-24h":IR,"last-3d":3*IR,"last-7d":7*IR,"last-14d":14*IR,"last-30d":30*IR};function G8(e){e.delete(Ive),e.delete(Ave),e.delete(Rve)}function nns(e,t,n){const{onRemoveAll:r}={},s=v.useMemo(()=>{const _=e.get(zb);return _&&NQr.has(_)?_:"last-24h"},[e]),a=e.get(Bb),i=e.get(Ub),l=v.useMemo(()=>{if(s==="custom"){if(!a)return;const C=new Date(a);return Number.isNaN(C.getTime())?void 0:C}if(s==="all")return;const _=tns[s];return _?new Date(Date.now()-_):void 0},[s,a]),c=v.useMemo(()=>{if(s!=="custom"||!i)return;const _=new Date(i);return Number.isNaN(_.getTime())?void 0:_},[s,i]),u=v.useRef(s);u.current=s;const d=e.get(Ive),f=e.get(Ave),p=e.get(Rve),h=v.useMemo(()=>N6t.find(_=>_.entityType===e.get(Px)),[e]),m=v.useMemo(()=>$Qr(e),[e]),g=v.useCallback(_=>{t(C=>{const E=new URLSearchParams(C);for(const[j,N]of Object.entries(_)){const I=j==="logId"?Ive:j==="traceId"?Ave:Rve;N?E.set(I,N):E.delete(I)}return E},{replace:!0})},[t]),y=v.useCallback(_=>{t(C=>{const E=new URLSearchParams(C);return DQr(E,_),G8(E),E},{replace:!0})},[t]),b=y,w=v.useCallback((_,C)=>{if(u.current!=="custom")return;const E=C==="from"?Bb:Ub;t(j=>{const N=new URLSearchParams(j);return _?N.set(E,_.toISOString()):N.delete(E),G8(N),N},{replace:!0})},[t]),S=v.useCallback(_=>{u.current=_,t(C=>{const E=new URLSearchParams(C);return _==="last-24h"?(E.delete(zb),E.delete(Bb),E.delete(Ub)):_==="custom"?E.set(zb,"custom"):(E.set(zb,_),E.delete(Bb),E.delete(Ub)),G8(E),E},{replace:!0})},[t]),k=v.useCallback(()=>{t(_=>{const C=new URLSearchParams(_);C.delete(Px);for(const E of U4)C.delete(kl[E]);return C.delete(zb),C.delete(Bb),C.delete(Ub),G8(C),C},{replace:!0}),r?.()},[t,r]);return v.useMemo(()=>({searchParams:e,setSearchParams:t,datePreset:s,selectedDateFrom:l,selectedDateTo:c,datePresetRef:u,featuredLogId:d,featuredTraceId:f,featuredSpanId:p,selectedEntityOption:h,filterTokens:m,handleFeaturedChange:g,handleFilterTokensChange:b,handleDateChange:w,handleDatePresetChange:S,handleRemoveAll:k,applyFilterTokens:y}),[e,t,s,l,c,u,d,f,p,h,m,g,b,w,S,k,y])}function rns(){const[e,t]=ji(),n=nns(e,t),r=Xts(e,t),[s,a]=v.useState(),[i,l]=v.useState(!1),{data:c=[],isPending:u}=lTe(),{data:d=[],isPending:f}=aTe({entityType:n.selectedEntityOption?.entityType,rootOnly:!0}),{data:p=[],isPending:h}=iTe(),{data:m=[],isPending:g}=oTe(),y=v.useMemo(()=>PQr({availableTags:c,availableRootEntityNames:d,availableServiceNames:m,availableEnvironments:p,loading:{tags:u,entityNames:f,serviceNames:g,environments:h}}),[c,d,m,p,u,f,g,h]),b=v.useMemo(()=>LQr({rootEntityType:n.selectedEntityOption?.entityType,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo,tokens:n.filterTokens}),[n.filterTokens,n.selectedDateFrom,n.selectedDateTo,n.selectedEntityOption]),{data:w=[],isLoading:S,error:k,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:E}=Gts({filters:b}),{logIdMap:j,featuredLog:N,handleLogClick:I,handlePreviousLog:R,handleNextLog:$}=ens(w,n.featuredLogId,n.handleFeaturedChange,n.featuredTraceId),{data:F,isLoading:D}=HH(n.featuredTraceId??null),{data:V,isLoading:W}=aI(n.featuredTraceId??"",n.featuredSpanId??""),L=v.useCallback(()=>n.applyFilterTokens(FQr(y,n.filterTokens)),[y,n]),z=v.useCallback(()=>n.handleFeaturedChange({logId:null}),[n]),B=v.useCallback(X=>n.handleFeaturedChange({traceId:X,spanId:null}),[n]),M=v.useCallback((X,te)=>n.handleFeaturedChange({traceId:X,spanId:te}),[n]),G=v.useCallback(()=>{n.handleFeaturedChange({traceId:null,spanId:null}),l(!1)},[n]),U=v.useCallback(()=>n.handleFeaturedChange({spanId:null}),[n]),P=v.useCallback(X=>n.handleFeaturedChange({spanId:X??null}),[n]),q=o.jsxs(Lt.TopArea,{children:[o.jsx(Lt.Row,{children:o.jsxs(Lt.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(Jje,{preset:n.datePreset,onPresetChange:n.handleDatePresetChange,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo,onDateChange:n.handleDateChange,disabled:S,presets:["last-24h","last-3d","last-7d","last-14d","last-30d","custom"]}),o.jsx(rTe,{fields:y,tokens:n.filterTokens,onTokensChange:n.handleFilterTokensChange,disabled:S,onStartTextFilter:a})]})}),o.jsx(Lts,{isLoading:S,filterFields:y,filterTokens:n.filterTokens,onFilterTokensChange:n.handleFilterTokensChange,onClear:L,onRemoveAll:n.handleRemoveAll,onSave:r.handleSave,onRemoveSaved:r.hasSavedFilters?r.handleRemoveSaved:void 0,autoFocusFilterFieldId:s})]});if(k)return o.jsxs(Lt,{width:"wide",height:"full",children:[q,o.jsx(Lt.MainArea,{isCentered:!0,children:o.jsx(Ets,{error:k,resource:"logs",errorTitle:"Failed to load logs"})})]});const Z=!!n.selectedEntityOption||n.filterTokens.length>0;return w.length===0&&!S&&!Z?o.jsxs(Lt,{width:"wide",height:"full",children:[q,o.jsx(Lt.MainArea,{isCentered:!0,children:o.jsx(Uts,{datePreset:n.datePreset,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo})})]}):o.jsxs(Lt,{width:"wide",height:"full",children:[q,o.jsx(jts,{logCollapsed:i,listSlot:o.jsx(Dts,{logs:w,isLoading:S,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:E,logIdMap:j,featuredLogId:n.featuredLogId,onLogClick:I}),logPanelSlot:N?o.jsx(JQr,{log:N,onClose:z,onTraceClick:B,onSpanClick:M,onPrevious:R,onNext:$,collapsed:i,onCollapsedChange:l}):null,tracePanelSlot:n.featuredTraceId?o.jsx(ZEt,{traceId:n.featuredTraceId,spans:F?.spans,isLoading:D,onClose:G,onSpanSelect:P,selectedSpanId:n.featuredSpanId}):null,spanPanelSlot:n.featuredTraceId&&n.featuredSpanId?o.jsx(zQr,{spanId:n.featuredSpanId,span:V?.span,isLoading:W,onClose:U}):null})]})}function sns({server:e}){const{paths:t,Link:n}=yn(),s=We().options.baseUrl,a=s?`${s}/api/mcp/${e.id}/sse`:"",{data:i}=Z4t(e),l=Object.values(i||{}),c=l.length,u=l.filter(p=>p.toolType==="agent").length,d=l.filter(p=>p.toolType==="workflow").length,f=dm(e.name,50);return o.jsxs(me.RowLink,{to:t.mcpServerLink(e.id),LinkComponent:n,children:[o.jsx(me.NameCell,{children:f}),o.jsx(me.DescriptionCell,{children:a}),o.jsx(me.TextCell,{className:"text-center",children:u||""}),o.jsx(me.TextCell,{className:"text-center",children:c||""}),o.jsx(me.TextCell,{className:"text-center",children:d||""})]})}function ans({mcpServers:e,isLoading:t,search:n=""}){const r=v.useMemo(()=>{const s=n.toLowerCase();return e.filter(a=>a.name?.toLowerCase().includes(s)||a.id?.toLowerCase().includes(s))},[e,n]);return t?o.jsx(el,{columns:"auto 1fr auto auto auto"}):o.jsxs(me,{columns:"auto 1fr auto auto auto",variant:"striped",children:[o.jsxs(me.Top,{children:[o.jsx(me.TopCell,{children:"Name"}),o.jsx(me.TopCell,{children:"URL"}),o.jsx(me.TopCellSmart,{long:"Agents",short:o.jsx(rl,{}),tooltip:"Agent Tools",className:"text-center"}),o.jsx(me.TopCellSmart,{long:"Tools",short:o.jsx(Gp,{}),tooltip:"Tools",className:"text-center"}),o.jsx(me.TopCellSmart,{long:"Workflows",short:o.jsx(kd,{}),tooltip:"Workflow Tools",className:"text-center"})]}),r.length===0&&n?o.jsx(me.NoMatch,{message:"No MCP Servers match your search"}):null,r.map(s=>o.jsx(sns,{server:s},s.id))]})}const ins=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(xf,{}),titleSlot:"No MCP Servers yet",descriptionSlot:o.jsxs(o.Fragment,{children:["MCP servers are not configured yet. ",o.jsx("br",{}),"More information in the documentation."]}),actionSlot:o.jsxs(ue,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/tools-mcp/mcp-overview",target:"_blank",rel:"noopener noreferrer",children:["MCP Documentation ",o.jsx(Pa,{})]})})}),ons=()=>{const{data:e=[],isLoading:t,error:n}=vZ(),[r,s]=v.useState("");return n&&gs(n)?o.jsx(lr,{children:o.jsx(Vs,{})}):n&&ys(n)?o.jsx(lr,{children:o.jsx(Ds,{resource:"MCP servers"})}):n?o.jsx(lr,{children:o.jsx(Fi,{title:"Failed to load MCP servers",message:n.message})}):e.length===0&&!t?o.jsx(lr,{children:o.jsx(ins,{})}):o.jsxs(Lt,{children:[o.jsx(Lt.TopArea,{children:o.jsx("div",{className:"max-w-120",children:o.jsx(Of,{onSearch:s,label:"Filter MCP servers",placeholder:"Filter by name"})})}),o.jsx(ans,{mcpServers:e,isLoading:t,search:r})]})},lns=(e,t)=>{const n=new Map,r=Object.keys(t);for(const s of r){const a=t[s],i=a.tools,l=Object.keys(i);for(const c of l){const u=i[c];n.has(u.id)||n.set(u.id,{...u,agents:[]}),n.get(u.id).agents.push({...a,id:s})}}for(const[s,a]of Object.entries(e))n.has(a.id)||n.set(a.id,{...a,agents:[]});return Array.from(n.values())};function cns({tools:e,agents:t,isLoading:n,search:r=""}){const{paths:s,Link:a}=yn(),i=v.useMemo(()=>lns(e,t),[e,t]),l=v.useMemo(()=>i.filter(c=>c.id.toLowerCase().includes(r.toLowerCase())),[i,r]);return n?o.jsx(el,{columns:"auto 1fr auto"}):o.jsxs(me,{columns:"auto 1fr auto",variant:"striped",children:[o.jsxs(me.Top,{children:[o.jsx(me.TopCell,{children:"Name"}),o.jsx(me.TopCell,{children:"Description"}),o.jsx(me.TopCellSmart,{long:"Agents",short:o.jsx(rl,{}),tooltip:"Attached Agents",className:"text-center"})]}),l.length===0&&r?o.jsx(me.NoMatch,{message:"No Tools match your search"}):null,l.map(c=>{const u=dm(c.id,50),d=dm(c.description??"",200),f=c.agents.length;return o.jsxs(me.RowLink,{to:s.toolLink(c.id),LinkComponent:a,children:[o.jsx(me.NameCell,{children:u}),o.jsx(me.DescriptionCell,{children:d}),o.jsx(me.TextCell,{className:"text-center",children:f||""})]},c.id)})]})}const uns=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(xf,{}),titleSlot:"No Tools yet",descriptionSlot:o.jsxs(o.Fragment,{children:["Mastra tools are not configured yet. ",o.jsx("br",{}),"More information in the documentation."]}),actionSlot:o.jsxs(ue,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/agents/using-tools-and-mcp",target:"_blank",rel:"noopener noreferrer",children:["Tools Documentation ",o.jsx(Pa,{})]})})}),dns=()=>{const e=We();return Rn({mutationFn:async({toolId:t,input:n,requestContext:r})=>{const s=new r_;Object.entries(r??{}).forEach(([a,i])=>{s.set(a,i)});try{return await e.getTool(t).execute({data:n,requestContext:s})}catch(a){throw De.error("Error executing dev tool"),console.error("Error executing dev tool:",a),a}}})},fns=({toolId:e})=>{const{canExecute:t}=al(),n=t("tools"),{data:r={}}=Sm(),s=v.useMemo(()=>{for(const g of Object.values(r))if(g.tools){const y=Object.values(g.tools).find(b=>b.id===e);if(y)return y}return null},[r,e]),{data:a,isLoading:i,error:l}=W0r(e,{enabled:!s}),c=s||a,{mutateAsync:u,isPending:d,data:f}=dns(),{requestContext:p}=_s();v.useEffect(()=>{if(l){const g=l instanceof Error?l.message:"Failed to load tool";De.error(`Error loading tool: ${g}`)}},[l]);const h=async(g,y)=>{if(!c)return;const b={...p??{},...y??{}};return u({toolId:c.id,input:g,requestContext:b})},m=c?.inputSchema?im(sm(mx(c?.inputSchema))):Ss({});return i?o.jsxs("div",{className:"p-6",children:[o.jsx(At,{className:"h-8 w-48 mb-4"}),o.jsx(At,{className:"h-32 w-full"})]}):l?null:c?n?o.jsx(Mje,{executionResult:f,isExecutingTool:d,zodInputSchema:m,handleExecuteTool:h,toolDescription:c.description,toolId:c.id,requestContextSchema:c.requestContextSchema}):o.jsx("div",{className:"py-12 text-center px-6",children:o.jsx(ge,{variant:"ui-sm",className:"text-neutral3",children:"You don't have permission to execute tools."})}):o.jsx("div",{className:"py-12 text-center px-6",children:o.jsx(ge,{variant:"header-md",className:"text-neutral3",children:"Tool not found"})})};function pns({value:e,onValueChange:t,placeholder:n="Select a tool...",searchPlaceholder:r="Search tools...",emptyText:s="No tools found.",className:a,disabled:i=!1,variant:l}){const{data:c={},isLoading:u,isError:d,error:f}=oI(),{data:p={},isLoading:h,isError:m,error:g}=Sm(),{navigate:y,paths:b}=yn();v.useEffect(()=>{if(d){const _=f instanceof Error?f.message:"Failed to load tools";De.error(`Error loading tools: ${_}`)}},[d,f]),v.useEffect(()=>{if(m){const _=g instanceof Error?g.message:"Failed to load agents";De.error(`Error loading agents: ${_}`)}},[m,g]);const w=new Map;Object.values(p).forEach(_=>{_.tools&&Object.values(_.tools).forEach(C=>{w.has(C.id)||w.set(C.id,C)})}),Object.values(c).forEach(_=>{w.has(_.id)||w.set(_.id,_)});const S=Array.from(w.values()).map(_=>({label:_.id,value:_.id})),k=_=>{t?t(_):_&&_!==e&&y(b.toolLink(_))};return o.jsx(Xl,{options:S,value:e,onValueChange:k,placeholder:u||h?"Loading tools...":n,searchPlaceholder:r,emptyText:s,className:a,disabled:i||u||h||d||m,variant:l})}const hns=({isLoading:e,server:t})=>{const[{sseUrl:n,httpStreamUrl:r},s]=v.useState({sseUrl:"",httpStreamUrl:""});if(v.useEffect(()=>{if(!t)return;const i=window.MASTRA_SERVER_HOST,l=window.MASTRA_SERVER_PORT;let c=null;i&&l&&(c=`http://${i}:${l}`);const u=c||"http://localhost:4111",d=`${u}/api/mcp/${t.id}/sse`,f=`${u}/api/mcp/${t.id}/mcp`;s({sseUrl:d,httpStreamUrl:f})},[t]),e)return null;if(!t)return o.jsx(xy,{children:o.jsx(ge,{as:"h1",variant:"header-md",className:"text-neutral3 font-medium py-20 text-center",children:"Server not found"})});const a=`npx -y mcp-remote ${n}`;return o.jsxs(xy,{isDivided:!0,children:[o.jsxs("div",{className:"px-8 py-12 mx-auto max-w-2xl w-full",children:[o.jsx(ge,{as:"h1",variant:"header-md",className:"text-neutral6 font-medium pb-4",children:t.name}),o.jsxs("div",{className:"flex items-center gap-1 pb-6",children:[o.jsx(fn,{icon:o.jsx(DEt,{className:"text-neutral6"}),className:"rounded-r-sm text-neutral4!",children:"Version"}),o.jsx(fn,{className:"rounded-l-sm text-neutral4!",children:t.version_detail.version})]}),o.jsx(ge,{className:"text-neutral3 pb-4",children:"This MCP server can be accessed through multiple transport methods. Choose the one that best fits your use case."}),o.jsxs("div",{className:"flex flex-col gap-4",children:[o.jsxs("div",{className:"rounded-lg border border-border1 bg-surface3 p-4",children:[o.jsx(fn,{icon:o.jsx("span",{className:"font-mono w-6 text-accent1 font-medium mr-1",children:"HTTP"}),children:"Regular HTTP Endpoint"}),o.jsx(ge,{className:"text-neutral3 pt-1 pb-2",children:"Use for stateless HTTP transport with streamable responses."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ge,{className:"px-2 py-1 bg-surface4 rounded-lg",children:r}),o.jsx("div",{className:"pt-1",children:o.jsx(ya,{tooltip:"Copy HTTP Stream URL",content:r})})]})]}),o.jsxs("div",{className:"rounded-lg border border-border1 bg-surface3 p-4",children:[o.jsx(fn,{icon:o.jsx("span",{className:"font-mono w-6 text-accent1 font-medium mr-1",children:"SSE"}),children:"Server-Sent Events"}),o.jsx(ge,{className:"text-neutral3 pt-1 pb-2",children:"Use for real-time communication via SSE."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ge,{className:"px-2 py-1 bg-surface4 rounded-lg",children:n}),o.jsx("div",{className:"pt-1",children:o.jsx(ya,{tooltip:"Copy SSE URL",content:n})})]})]}),o.jsxs("div",{className:"rounded-lg border border-border1 bg-surface3 p-4",children:[o.jsx(fn,{icon:o.jsx("span",{className:"font-mono w-6 text-accent1 font-medium mr-1",children:"CLI"}),children:"Command Line"}),o.jsx(ge,{className:"text-neutral3 pt-1 pb-2",children:"Use for local command-line access via npx and mcp-remote."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ge,{className:"px-2 py-1 bg-surface4 rounded-lg",children:a}),o.jsx("div",{className:"pt-1",children:o.jsx(ya,{tooltip:"Copy Command Line Config",content:a})})]})]})]})]}),o.jsx("div",{className:"h-full overflow-y-scroll border-l border-border1",children:o.jsx(mns,{server:t})})]})},mns=({server:e})=>{const{data:t={},isLoading:n}=Z4t(e);if(n)return null;const r=Object.keys(t);return o.jsxs("div",{className:"p-5 overflow-y-scroll",children:[o.jsxs("div",{className:"text-neutral6 flex gap-2 items-center",children:[o.jsx(Ue,{size:"lg",className:"bg-surface4 rounded-md p-1",children:o.jsx(M_,{})}),o.jsx(ge,{variant:"header-md",as:"h2",className:"font-medium",children:"Available Tools"})]}),o.jsx("div",{className:"flex flex-col gap-2 pt-6",children:r.map(s=>{const a=t[s];return o.jsx(vns,{tool:a,serverId:e.id},s)})})]})};function gns(e){if(!e)return!1;const t=e.ui;return!!(typeof t?.resourceUri=="string"&&t.resourceUri.startsWith("ui://")||typeof e["ui/resourceUri"]=="string"&&e["ui/resourceUri"].startsWith("ui://"))}const vns=({tool:e,serverId:t})=>{const n=v.useRef(null),{Link:r,paths:s}=yn(),a=TLt[e.toolType||"tool"],i=gns(e._meta);return o.jsxs(Cf,{onClick:()=>n.current?.click(),children:[o.jsx(nAt,{children:o.jsx(a,{className:"group-hover/entity:text-accent6"})}),o.jsxs(jf,{children:[o.jsx(Ef,{children:o.jsxs("span",{className:"flex items-center gap-2",children:[o.jsx(r,{ref:n,href:s.mcpServerToolLink(t,e.id),children:e.id}),i&&o.jsx(fn,{className:"text-[10px] py-0",children:"App"})]})}),o.jsx(Qp,{children:e.description})]})]})},yns=()=>{const{serverId:e}=dr(),{data:t=[],isLoading:n}=vZ(),r=t.find(s=>s.id===e);return o.jsx("div",{className:"h-full w-full overflow-hidden",children:o.jsx(hns,{isLoading:n,server:r})})};function bns(e){if(!e)return;const t=e.ui;if(t?.resourceUri)return t.resourceUri;const n=e["ui/resourceUri"];if(typeof n=="string")return n}const xns=({toolId:e,serverId:t})=>{const{canExecute:n}=al(),r=n("tools"),s=We(),{data:a,isLoading:i,error:l}=eje(t,e),{mutateAsync:c,isPending:u,data:d}=WFr(t,e),f=a?bns(a._meta):void 0,{data:p}=wt({queryKey:["mcp-app-resource",t,f],queryFn:async()=>f?(await s.readMcpServerResource(t,f)).contents[0]?.text??null:null,enabled:!!f}),h=v.useCallback(async(y,b)=>await c(b),[c]);v.useEffect(()=>{if(l){const y=l instanceof Error?l.message:"Failed to load tool";De.error(`Error loading tool: ${y}`)}},[l]);const m=async y=>{if(a)return await c(y)};if(i)return o.jsxs("div",{className:"p-6",children:[o.jsx(At,{className:"h-8 w-48 mb-4"}),o.jsx(At,{className:"h-32 w-full"})]});if(l)return null;if(!a)return o.jsx("div",{className:"py-12 text-center px-6",children:o.jsx(ge,{variant:"header-md",className:"text-neutral3",children:"Tool not found"})});if(!r)return o.jsx("div",{className:"py-12 text-center px-6",children:o.jsx(ge,{variant:"ui-sm",className:"text-neutral3",children:"You don't have permission to execute tools."})});let g;try{g=im(sm(a.inputSchema))}catch(y){console.error("Error processing input schema:",y),De.error("Failed to process tool input schema."),g=Ss({})}return o.jsxs("div",{className:"flex flex-col gap-4",children:[p&&o.jsx("div",{className:"border-b border-border1 p-4",children:o.jsx(W4t,{html:p,toolName:a.name??a.id,onToolCall:h})}),o.jsx(Mje,{executionResult:d,isExecutingTool:u,zodInputSchema:g,handleExecuteTool:m,toolDescription:a.description||"",toolId:a.id})]})},wns=()=>{const{serverId:e,toolId:t}=dr(),{data:n,isLoading:r}=eje(e,t);return r||!n?null:o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(xns,{toolId:t,serverId:e})})},Sns=["last-24h","last-3d","last-7d","last-14d","last-30d","custom"];function kns(e){switch(e){case"3d":return"last-3d";case"7d":return"last-7d";case"14d":return"last-14d";case"30d":return"last-30d";case"custom":return"custom";default:return"last-24h"}}function Ons(e){switch(e){case"last-3d":return"3d";case"last-7d":return"7d";case"last-14d":return"14d";case"last-30d":return"30d";case"custom":return"custom";default:return"24h"}}function _ns(){const{datePreset:e,setDatePreset:t,customRange:n,setCustomRange:r}=DZ(),s=v.useRef(e);s.current=e;const a=v.useRef(n);return a.current=n,o.jsx(Jje,{preset:kns(e),onPresetChange:i=>{const l=Ons(i);s.current=l,t(l)},dateFrom:n?.from,dateTo:n?.to,onDateChange:(i,l)=>{if(s.current!=="custom")return;const c={...a.current,[l]:i};a.current=c,r(c)},presets:Sns})}const Ure={"24h":1440*60*1e3,"3d":4320*60*1e3,"7d":10080*60*1e3,"14d":336*60*60*1e3,"30d":720*60*60*1e3};function Cns(e,t,n){if(e!=="custom"){const r=Ure[e]??Ure["24h"];return{start:new Date(n-r),end:new Date(n)}}return{start:t?.from??new Date(n-Ure["24h"]),end:t?.to??new Date(n)}}function Cm(){const{datePreset:e,customRange:t,dimensionalFilter:n,dimensionalFilterKey:r}=DZ(),s=v.useRef(null),a=e==="custom"?`custom:${t?.from?.getTime()??""}:${t?.to?.getTime()??""}`:`preset:${e}`;(!s.current||s.current.key!==a)&&(s.current={key:a,anchor:Date.now()});const i=s.current.anchor,l=v.useMemo(()=>Cns(e,t,i),[e,t,i]),c=v.useMemo(()=>({timestamp:l,...n}),[l,r]),u=v.useMemo(()=>`${a}|${r}`,[a,r]);return{datePreset:e,customRange:t,timestamp:l,filters:c,dimensionalFilter:n,filterKey:u}}function u8t(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","agent-runs-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count",filters:t,comparePeriod:"previous_period"})})}function q4({href:e,LinkComponent:t="a"}){return o.jsx(ue,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View in Traces","aria-label":"View in Traces",children:o.jsx(bkn,{})})}function Ens({href:e,LinkComponent:t="a"}){return o.jsx(ue,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View errors in Logs","aria-label":"View errors in Logs",children:o.jsx(tOn,{})})}function jns(e){switch(e){case"24h":return"last-24h";case"3d":return"last-3d";case"7d":return"last-7d";case"14d":return"last-14d";case"30d":return"last-30d";case"custom":return"custom";default:return}}function Tns(e,t){if(t==="1h"){const s=new Date(e);s.setUTCMinutes(0,0,0);const a=new Date(s.getTime()+3600*1e3);return{from:s,to:a}}const n=new Date(e);n.setUTCHours(0,0,0,0);const r=new Date(n.getTime()+1440*60*1e3);return{from:n,to:r}}function d8t(e,t,n,r,s,a,i){if(i){e.set(t,"custom"),e.set(n,i.from.toISOString()),e.set(r,i.to.toISOString());return}if(s==="custom"){e.set(t,"custom"),a?.from&&e.set(n,a.from.toISOString()),a?.to&&e.set(r,a.to.toISOString());return}const l=jns(s);l&&e.set(t,l)}function jo(e,t,n){typeof n=="string"&&n.length>0&&e.set(t,n)}function f8t(e,t,n){if(!(!Array.isArray(n)||n.length===0))for(const r of n)r&&e.append(t,r)}function wQe({preset:e,customRange:t,dashboardFilter:n,scope:r,tracesBasePath:s="/observability"}){const a=new URLSearchParams;a.set(gw,"branches"),d8t(a,vw,yw,bw,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(_x,i),r.status&&a.set(Cx,r.status),jo(a,Sl.entityName,r.entityName??n.entityName),jo(a,Sl.threadId,r.threadId??n.threadId),jo(a,Sl.resourceId,r.resourceId??n.resourceId),jo(a,Sl.entityId,n.entityId),jo(a,Sl.runId,n.runId),jo(a,Sl.sessionId,n.sessionId),jo(a,Sl.requestId,n.requestId),jo(a,Sl.userId,n.userId),jo(a,Sl.organizationId,n.organizationId),jo(a,Sl.experimentId,n.experimentId),jo(a,Sl.serviceName,n.serviceName),jo(a,Sl.environment,n.environment),f8t(a,Sl.tags,n.tags);const l=a.toString();return l?`${s}?${l}`:s}function Nns({preset:e,customRange:t,dashboardFilter:n,scope:r,logsBasePath:s="/logs"}){const a=new URLSearchParams;d8t(a,zb,Bb,Ub,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Px,i),jo(a,kl.entityName,r.entityName??n.entityName),jo(a,kl.threadId,r.threadId??n.threadId),jo(a,kl.resourceId,r.resourceId??n.resourceId),jo(a,kl.runId,n.runId),jo(a,kl.sessionId,n.sessionId),jo(a,kl.requestId,n.requestId),jo(a,kl.userId,n.userId),jo(a,kl.organizationId,n.organizationId),jo(a,kl.experimentId,n.experimentId),jo(a,kl.serviceName,n.serviceName),jo(a,kl.environment,n.environment),f8t(a,kl.tags,n.tags),r.status==="error"&&a.append(kl.level,"error");const l=a.toString();return l?`${s}?${l}`:s}function wI(){const{datePreset:e,customRange:t,dimensionalFilter:n,tracesBasePath:r,logsBasePath:s}=DZ(),a=v.useCallback((c={})=>wQe({preset:e,customRange:t,dashboardFilter:n,scope:c,tracesBasePath:r}),[e,t,n,r]),i=v.useCallback((c={})=>Nns({preset:e,customRange:t,dashboardFilter:n,scope:c,logsBasePath:s}),[e,t,n,s]),l=v.useCallback((c,u,d)=>{const f=Tns(u,d);return wQe({preset:e,customRange:t,dashboardFilter:n,scope:{...c,window:f},tracesBasePath:r})},[e,t,n,r]);return{getTracesHref:a,getLogsHref:i,getBucketTracesHref:l}}const p8t="1h";async function qre(e,t,n){const r=await e.getMetricPercentiles({name:t,percentiles:[.5,.95],interval:p8t,filters:n}),s=r.series.find(l=>l.percentile===.5),a=r.series.find(l=>l.percentile===.95);if(!s||!a)return[];const i=new Map(a.points.map(l=>[new Date(l.timestamp).getTime(),l.value]));return s.points.map(l=>{const c=new Date(l.timestamp),u=c.getTime();return{time:c.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),tsMs:u,p50:Math.round(l.value),p95:Math.round(i.get(u)??0)}})}function Ins(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","latency",n],queryFn:async()=>{const[r,s,a]=await Promise.all([qre(e,"mastra_agent_duration_ms",t),qre(e,"mastra_workflow_duration_ms",t),qre(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a,interval:p8t}}})}const SQe={agents:Os.AGENT,workflows:Os.WORKFLOW_RUN,tools:Os.TOOL};function Ans(){const{data:e,isLoading:t,isError:n}=Ins(),{getTracesHref:r,getBucketTracesHref:s}=wI(),{Link:a}=yn(),i=bs();return o.jsx(_Qr,{data:e,isLoading:t,isError:n,onPointClick:(l,c)=>{Number.isFinite(c.tsMs)&&i(s({rootEntityType:SQe[l]},c.tsMs,"1h"))},actions:l=>o.jsx(q4,{href:r({rootEntityType:SQe[l]}),LinkComponent:a})})}function Rns(e){return e==="threads"||e==="resources"}function Vre(e){return e.length<=12?e:`${e.slice(0,6)}…${e.slice(-4)}`}function Pns({threads:e,resources:t,getThreadRowHref:n,getResourceRowHref:r,actions:s,LinkComponent:a}){const[i,l]=v.useState("threads"),c=e.data?.map(y=>({...y,key:y.threadId}))??[],u=t.data?.map(y=>({...y,key:y.resourceId}))??[],d=c.length>0,f=u.length>0,p=e.data?.reduce((y,b)=>y+b.runs,0)??0,h=t.data?.reduce((y,b)=>y+b.threadCount,0)??0,m=i==="threads"?e:t,g=typeof s=="function"?s(i):s;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Memory",description:"Resource and Thread consumption"}),i==="threads"&&d&&o.jsx(Bt.Summary,{value:p.toLocaleString(),label:"Total runs"}),i==="resources"&&f&&o.jsx(Bt.Summary,{value:h.toLocaleString(),label:"Total threads"}),g?o.jsx(Bt.Actions,{children:g}):null]}),m.isLoading?o.jsx(Bt.Loading,{}):m.isError?o.jsx(Bt.Error,{message:"Failed to load memory data"}):o.jsx(Bt.Content,{children:o.jsxs(ru,{defaultTab:"threads",value:i,onValueChange:y=>{Rns(y)&&l(y)},className:"grid grid-rows-[auto_1fr] overflow-y-auto h-full",children:[o.jsxs(su,{children:[o.jsx(Vr,{value:"threads",children:"Threads"}),o.jsx(Vr,{value:"resources",children:"Resources"})]}),o.jsx(ps,{value:"threads",children:d?o.jsxs(me,{columns:"auto auto auto auto auto",...kve,children:[o.jsxs(me.Top,{children:[o.jsx(me.TopCell,{sticky:"start",children:"Thread ID"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Resource ID"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Runs"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Cost"})]}),c.map(y=>{const b=n?.(y),w=o.jsxs(o.Fragment,{children:[o.jsx(me.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:Vre(y.threadId)}),o.jsx(me.NumberCell,{children:y.resourceId?Vre(y.resourceId):"—"}),o.jsx(me.NumberCell,{highlight:!0,children:y.runs.toLocaleString()}),o.jsx(me.NumberCell,{children:y.tokens>0?yc(y.tokens):"—"}),o.jsx(me.NumberCell,{children:y.cost!=null?vg(y.cost,y.costUnit):"—"})]});return b?o.jsx(me.RowLink,{to:b,LinkComponent:a,children:w},y.key):o.jsx(me.RowStatic,{children:w},y.key)})]}):o.jsx(Bt.NoData,{message:"No thread activity yet"})}),o.jsx(ps,{value:"resources",children:f?o.jsxs(me,{columns:"auto auto auto auto",...kve,children:[o.jsxs(me.Top,{children:[o.jsx(me.TopCell,{sticky:"start",children:"Resource ID"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Threads"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Cost"})]}),u.map(y=>{const b=r?.(y),w=o.jsxs(o.Fragment,{children:[o.jsx(me.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:Vre(y.resourceId)}),o.jsx(me.NumberCell,{highlight:!0,children:y.threadCount.toLocaleString()}),o.jsx(me.NumberCell,{children:y.tokens>0?yc(y.tokens):"—"}),o.jsx(me.NumberCell,{children:y.cost!=null?vg(y.cost,y.costUnit):"—"})]});return b?o.jsx(me.RowLink,{to:b,LinkComponent:a,children:w},y.key):o.jsx(me.RowStatic,{children:w},y.key)})]}):o.jsx(Bt.NoData,{message:"No resource activity yet"})})]})})]})}const Hre=20;function $ns(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","top-active-threads",n],queryFn:async()=>{const r={groupBy:["threadId","resourceId"],orderDirection:"DESC",filters:t},[s,a,i]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_agent_duration_ms"],aggregation:"count",limit:Hre}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:Hre}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:Hre})]),l=new Map,c=d=>(l.has(d)||l.set(d,{tokens:0,cost:null,costUnit:null}),l.get(d)),u=d=>{for(const f of d){const p=f.dimensions.threadId;if(!p)continue;const h=c(p);h.tokens+=f.value,f.estimatedCost!=null&&(h.cost=(h.cost??0)+f.estimatedCost,f.costUnit&&(h.costUnit=f.costUnit))}};return u(a.groups),u(i.groups),s.groups.filter(d=>!!d.dimensions.threadId).map(d=>{const f=d.dimensions.threadId,p=l.get(f);return{threadId:f,resourceId:d.dimensions.resourceId??null,runs:d.value,tokens:p?.tokens??0,cost:p?.cost??null,costUnit:p?.costUnit??null}})}})}const Wre=20;function Mns(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","top-resources-by-threads",n],queryFn:async()=>{const r={groupBy:["resourceId"],orderDirection:"DESC",filters:t},[s,a,i]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"threadId",limit:Wre}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:Wre}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:Wre})]),l=new Map,c=d=>(l.has(d)||l.set(d,{tokens:0,cost:null,costUnit:null}),l.get(d)),u=d=>{for(const f of d){const p=f.dimensions.resourceId;if(!p)continue;const h=c(p);h.tokens+=f.value,f.estimatedCost!=null&&(h.cost=(h.cost??0)+f.estimatedCost,f.costUnit&&(h.costUnit=f.costUnit))}};return u(a.groups),u(i.groups),s.groups.filter(d=>!!d.dimensions.resourceId).map(d=>{const f=d.dimensions.resourceId,p=l.get(f);return{resourceId:f,threadCount:d.value,tokens:p?.tokens??0,cost:p?.cost??null,costUnit:p?.costUnit??null}})}})}function Dns(){const e=$ns(),t=Mns(),{getTracesHref:n}=wI(),{Link:r}=yn();return o.jsx(Pns,{threads:{data:e.data,isLoading:e.isLoading,isError:e.isError},resources:{data:t.data,isLoading:t.isLoading,isError:t.isError},LinkComponent:r,getThreadRowHref:s=>n({threadId:s.threadId,...s.resourceId?{resourceId:s.resourceId}:{}}),getResourceRowHref:s=>n({resourceId:s.resourceId})})}function V4({label:e,value:t,prevValue:n,changePct:r,isLoading:s,isError:a}){const i=t!=null;return o.jsxs(Kr,{children:[o.jsx(Kr.Label,{children:e}),o.jsx(Kr.Value,{className:i?void 0:"invisible",children:i?t:"—"}),a?o.jsx(Kr.Error,{}):s?o.jsx(Kr.Loading,{}):i?r!=null?o.jsx(Kr.Change,{changePct:r,prevValue:n}):o.jsx(Kr.NoChange,{}):o.jsx(Kr.NoData,{})]})}function Lns(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","active-resources-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"resourceId",filters:t,comparePeriod:"previous_period"})})}function Fns(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","active-threads-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"threadId",filters:t,comparePeriod:"previous_period"})})}function zns(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","model-cost-kpi",n],queryFn:async()=>{const r=await e.getMetricAggregate({name:["mastra_model_total_input_tokens","mastra_model_total_output_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"});return{cost:r.estimatedCost??null,costUnit:r.costUnit??null,previousCost:r.previousEstimatedCost??null,costChangePercent:r.costChangePercent??null}}})}function Bns(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","total-tokens-kpi",n],queryFn:async()=>{const[r,s]=await Promise.all([e.getMetricAggregate({name:["mastra_model_total_input_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"}),e.getMetricAggregate({name:["mastra_model_total_output_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"})]),a=r.value!=null||s.value!=null,i=r.previousValue!=null||s.previousValue!=null,l=(r.value??0)+(s.value??0),c=(r.previousValue??0)+(s.previousValue??0),u=i&&c>0?(l-c)/c*100:null;return{value:a?l:null,previousValue:i?c:null,changePercent:u}}})}function Uns(){const{data:e,isLoading:t,isError:n}=u8t();return o.jsx(V4,{label:"Total Agent Runs",value:e?.value!=null?e.value.toLocaleString():null,prevValue:e?.previousValue!=null?e.previousValue.toLocaleString():void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function qns(){const{data:e,isLoading:t,isError:n}=zns();return o.jsx(V4,{label:"Total Model Cost",value:e?.cost!=null?vg(e.cost,e.costUnit):null,prevValue:e?.previousCost!=null?vg(e.previousCost,e.costUnit):void 0,changePct:e?.costChangePercent??null,isLoading:t,isError:n})}function Vns(){const{data:e,isLoading:t,isError:n}=Bns();return o.jsx(V4,{label:"Total Tokens",value:e?.value!=null?yc(e.value):null,prevValue:e?.previousValue!=null?yc(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function Hns(){const{data:e,isLoading:t,isError:n}=Fns();return o.jsx(V4,{label:"Total Threads",value:e?.value!=null?yc(e.value):null,prevValue:e?.previousValue!=null?yc(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function Wns(){const{data:e,isLoading:t,isError:n}=Lns();return o.jsx(V4,{label:"Total Resources",value:e?.value!=null?yc(e.value):null,prevValue:e?.previousValue!=null?yc(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function Zns({onClear:e,onRemoveAll:t,onSave:n,onRemoveSaved:r,isLoading:s,filterFields:a,filterTokens:i,onFilterTokensChange:l,autoFocusFilterFieldId:c}){const u=i.length>0,d=i.some(f=>Gns(f,a));return o.jsxs("div",{className:K("grid grid-cols-[1fr_auto] gap-3 items-start"),children:[o.jsx(nTe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(eTe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function Gns(e,t){const n=t.find(r=>r.id===e.fieldId);return n?n.kind==="text"?typeof e.value=="string"&&e.value.trim()!=="":n.kind==="pick-multi"?n.multi?Array.isArray(e.value)&&e.value.length>0:typeof e.value=="string"&&e.value!==""&&e.value!=="Any":n.kind==="multi-select"?Array.isArray(e.value)&&e.value.length>0:!1:!1}function Qns({rows:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const i=!!e&&e.length>0;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Model Usage & Cost",description:"Token consumption by model."}),i&&(()=>{const l=e.reduce((d,f)=>d+(f.cost??0),0),c=new Set;for(const d of e)d.cost!=null&&d.costUnit&&c.add(d.costUnit);let u;return c.size===0?u=l>0?vg(l):"—":c.size===1?u=l>0?vg(l,[...c][0]):"—":u="Mixed",o.jsx(Bt.Summary,{value:u,label:"Total cost"})})(),s?o.jsx(Bt.Actions,{children:s}):null]}),t?o.jsx(Bt.Loading,{}):n?o.jsx(Bt.Error,{message:"Failed to load model usage data"}):o.jsx(Bt.Content,{children:i?o.jsxs(me,{columns:"auto auto auto auto auto auto",...kve,children:[o.jsxs(me.Top,{children:[o.jsx(me.TopCell,{sticky:"start",children:"Model"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Input"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Output"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Cache Read"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Cache Write"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Cost"})]}),e.map(l=>{const c=r?.(l),u=o.jsxs(o.Fragment,{children:[o.jsx(me.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:l.model}),o.jsx(me.NumberCell,{children:l.input}),o.jsx(me.NumberCell,{children:l.output}),o.jsx(me.NumberCell,{children:l.cacheRead}),o.jsx(me.NumberCell,{children:l.cacheWrite}),o.jsx(me.NumberCell,{highlight:!0,children:l.cost!=null?vg(l.cost,l.costUnit):"—"})]});return c?o.jsx(me.RowLink,{to:c,LinkComponent:a,children:u},l.model):o.jsx(me.RowStatic,{children:u},l.model)})]}):o.jsx(Bt.NoData,{message:"No model usage data yet"})})]})}function Yns(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","model-usage-cost",n],queryFn:async()=>{const[r,s,a,i]=await Promise.all(["mastra_model_total_input_tokens","mastra_model_total_output_tokens","mastra_model_input_cache_read_tokens","mastra_model_input_cache_write_tokens"].map(d=>e.getMetricBreakdown({name:[d],groupBy:["model"],aggregation:"sum",orderDirection:"DESC",filters:t}))),l=new Map,c=d=>(l.has(d)||l.set(d,{input:0,output:0,cacheRead:0,cacheWrite:0,cost:null,costUnit:null}),l.get(d)),u=(d,f)=>{f.estimatedCost!=null&&(d.cost=(d.cost??0)+f.estimatedCost,f.costUnit&&(d.costUnit=f.costUnit))};for(const d of r.groups){const f=d.dimensions.model??"unknown",p=c(f);p.input=d.value,u(p,d)}for(const d of s.groups){const f=d.dimensions.model??"unknown",p=c(f);p.output=d.value,u(p,d)}for(const d of a.groups){const f=d.dimensions.model??"unknown",p=c(f);p.cacheRead=d.value}for(const d of i.groups){const f=d.dimensions.model??"unknown",p=c(f);p.cacheWrite=d.value}return Array.from(l.entries()).map(([d,f])=>({model:d,input:yc(f.input),output:yc(f.output),cacheRead:yc(f.cacheRead),cacheWrite:yc(f.cacheWrite),cost:f.cost,costUnit:f.costUnit})).sort((d,f)=>d.model.localeCompare(f.model))}})}function Xns(){const{data:e,isLoading:t,isError:n}=Yns(),{getTracesHref:r}=wI(),{Link:s}=yn();return o.jsx(Qns,{rows:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:()=>r({rootEntityType:Os.AGENT}),actions:o.jsx(q4,{href:r({rootEntityType:Os.AGENT}),LinkComponent:s})})}function Kns(e){return e==="tokens"||e==="cost"}function Jns({data:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const[i,l]=v.useState("tokens"),c=e??[],u=c.length>0,d=c.reduce((b,w)=>b+w.total,0),f=c.filter(b=>b.cost!=null&&b.cost>0),p=new Set(f.map(b=>b.costUnit??"usd")),h=p.size<=1,m=h?[...p][0]??"usd":null,g=h?f.reduce((b,w)=>b+(w.cost??0),0):0,y=h&&g>0;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Token Usage by Agent",description:"Token consumption grouped by agent."}),u&&(i==="cost"&&y?o.jsx(Bt.Summary,{value:vg(g,m),label:"Total cost"}):o.jsx(Bt.Summary,{value:yc(d),label:"Total tokens"})),u&&s?o.jsx(Bt.Actions,{children:s}):null]}),t?o.jsx(Bt.Loading,{}):n?o.jsx(Bt.Error,{message:"Failed to load token usage data"}):o.jsx(Bt.Content,{children:u?o.jsxs(ru,{defaultTab:"tokens",value:i,onValueChange:b=>{Kns(b)&&l(b)},className:"grid grid-rows-[auto_1fr] overflow-y-auto h-full",children:[o.jsxs(su,{children:[o.jsx(Vr,{value:"tokens",children:"Tokens"}),o.jsx(Vr,{value:"cost",children:"Cost"})]}),o.jsx(ps,{value:"tokens",children:o.jsx(aN,{LinkComponent:a,data:c.map(b=>({name:b.name,values:[b.input,b.output],href:r?.(b)})),segments:[{label:"Input",color:Np.blueDark},{label:"Output",color:Np.blue}],maxVal:Math.max(...c.map(b=>b.input+b.output)),fmt:yc})}),o.jsx(ps,{value:"cost",children:y?o.jsx(aN,{LinkComponent:a,data:f.slice().sort((b,w)=>(w.cost??0)-(b.cost??0)).map(b=>({name:b.name,values:[b.cost],href:r?.(b)})),segments:[{label:"Cost",color:Np.purple}],maxVal:Math.max(...f.map(b=>b.cost??0)),fmt:b=>vg(b,m)}):o.jsx(Bt.NoData,{message:"No cost data yet"})})]}):o.jsx(Bt.NoData,{message:"No token usage data yet"})})]})}function ers(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","token-usage-by-agent",n],queryFn:async()=>{const r={groupBy:["entityName"],aggregation:"sum",orderDirection:"DESC",filters:t},[s,a]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"]}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"]})]),i=new Map,l=u=>(i.has(u)||i.set(u,{input:0,output:0,cost:null,costUnit:null}),i.get(u)),c=(u,d)=>{d.estimatedCost!=null&&(u.cost=(u.cost??0)+d.estimatedCost,d.costUnit&&(u.costUnit=d.costUnit))};for(const u of s.groups){const d=u.dimensions.entityName??"unknown",f=l(d);f.input=u.value,c(f,u)}for(const u of a.groups){const d=u.dimensions.entityName??"unknown",f=l(d);f.output=u.value,c(f,u)}return Array.from(i.entries()).map(([u,d])=>({name:u,input:d.input,output:d.output,total:d.input+d.output,cost:d.cost,costUnit:d.costUnit})).sort((u,d)=>d.total-u.total)}})}function trs(){const{data:e,isLoading:t,isError:n}=ers(),{getTracesHref:r}=wI(),{Link:s}=yn();return o.jsx(Jns,{data:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:a=>r({rootEntityType:Os.AGENT,entityName:a.name}),actions:o.jsx(q4,{href:r({rootEntityType:Os.AGENT}),LinkComponent:s})})}function nrs(e){return e==="24h"?"1h":"1d"}function rrs(e,t){return t==="1h"?e.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}):e.toLocaleDateString("en-US",{month:"short",day:"2-digit"})}function kQe(e,t,n){for(const r of t?.points??[]){const s=new Date(r.timestamp).getTime();if(!Number.isFinite(s))continue;const a=e.get(s)??{tsMs:s,input:0,output:0,cost:null,costUnits:new Set,hasUnknownCostUnit:!1};a[n]+=r.value,r.estimatedCost!=null&&(a.cost=(a.cost??0)+r.estimatedCost,t?.costUnit?a.costUnits.add(t.costUnit):a.hasUnknownCostUnit=!0),e.set(s,a)}}function srs(e){return e.cost==null||e.hasUnknownCostUnit||e.costUnits.size!==1?null:[...e.costUnits][0]??null}function ars(){const e=We(),{datePreset:t,filters:n,filterKey:r}=Cm(),s=nrs(t);return wt({queryKey:["metrics","token-usage-timeseries",r,s],queryFn:async()=>{const[a,i]=await Promise.all([e.getMetricTimeSeries({name:["mastra_model_total_input_tokens"],interval:s,aggregation:"sum",filters:n}),e.getMetricTimeSeries({name:["mastra_model_total_output_tokens"],interval:s,aggregation:"sum",filters:n})]),l=new Map;return kQe(l,a.series[0],"input"),kQe(l,i.series[0],"output"),{data:Array.from(l.values()).sort((u,d)=>u.tsMs-d.tsMs).map(u=>{const d=new Date(u.tsMs);return{time:rrs(d,s),tsMs:u.tsMs,input:u.input,output:u.output,total:u.input+u.output,cost:u.cost,costUnit:srs(u)}}),interval:s}}})}function irs(){const{data:e,isLoading:t,isError:n}=ars(),{getTracesHref:r}=wI(),{Link:s}=yn();return o.jsx(jQr,{data:e?.data,interval:e?.interval,isLoading:t,isError:n,actions:o.jsx(q4,{href:r(),LinkComponent:s})})}function Zre({data:e,rowHrefs:t,errorHrefs:n,LinkComponent:r}){return o.jsx(aN,{LinkComponent:r,data:e.map(s=>{const a=n?.(s),i=t?.(s);return a?{name:s.name,values:[s.completed,s.errors],hrefs:[i,a]}:{name:s.name,values:[s.completed,s.errors],href:i}}),segments:[{label:"Completed",color:Np.blueDark},{label:"Errors",color:Np.pink}],maxVal:Math.max(...e.map(s=>s.completed+s.errors)),fmt:yc})}function ors({data:e,isLoading:t,isError:n,getRowHref:r,getErrorSegmentHref:s,actions:a,LinkComponent:i}){const[l,c]=v.useState("agents"),u=typeof a=="function"?a(l):a,d=!!e&&(e.agentData.length>0||e.workflowData.length>0||e.toolData.length>0),f=e?[...e.agentData,...e.workflowData,...e.toolData].reduce((m,g)=>m+g.completed+g.errors,0):0,p=m=>r?g=>r(m,g):void 0,h=m=>s?g=>s(m,g):void 0;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Trace Volume",description:"Runs and call counts."}),d&&o.jsx(Bt.Summary,{value:yc(f),label:"Total runs"}),u?o.jsx(Bt.Actions,{children:u}):null]}),t?o.jsx(Bt.Loading,{}):n?o.jsx(Bt.Error,{message:"Failed to load trace volume data"}):o.jsx(Bt.Content,{children:d?o.jsxs(ru,{value:l,onValueChange:c,defaultTab:"agents",className:"grid grid-rows-[auto_1fr] overflow-y-auto h-full",children:[o.jsxs(su,{children:[o.jsx(Vr,{value:"agents",children:"Agents"}),o.jsx(Vr,{value:"workflows",children:"Workflows"}),o.jsx(Vr,{value:"tools",children:"Tools"})]}),o.jsx(ps,{value:"agents",children:e.agentData.length>0?o.jsx(Zre,{data:e.agentData,rowHrefs:p("agents"),errorHrefs:h("agents"),LinkComponent:i}):o.jsx(Bt.NoData,{message:"No agent data yet"})}),o.jsx(ps,{value:"workflows",children:e.workflowData.length>0?o.jsx(Zre,{data:e.workflowData,rowHrefs:p("workflows"),errorHrefs:h("workflows"),LinkComponent:i}):o.jsx(Bt.NoData,{message:"No workflow data yet"})}),o.jsx(ps,{value:"tools",children:e.toolData.length>0?o.jsx(Zre,{data:e.toolData,rowHrefs:p("tools"),errorHrefs:h("tools"),LinkComponent:i}):o.jsx(Bt.NoData,{message:"No tool data yet"})})]}):o.jsx(Bt.NoData,{message:"No trace volume data yet"})})]})}async function Gre(e,t,n){const r=await e.getMetricBreakdown({name:[t],groupBy:["entityName","status"],aggregation:"count",orderDirection:"DESC",filters:n}),s=new Map;for(const a of r.groups){const i=a.dimensions.entityName??"unknown",l=a.dimensions.status??"ok";s.has(i)||s.set(i,{completed:0,errors:0});const c=s.get(i);l==="error"?c.errors+=a.value:c.completed+=a.value}return Array.from(s.entries()).map(([a,i])=>({name:a,...i})).sort((a,i)=>i.completed+i.errors-(a.completed+a.errors))}function lrs(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","trace-volume",n],queryFn:async()=>{const[r,s,a]=await Promise.all([Gre(e,"mastra_agent_duration_ms",t),Gre(e,"mastra_workflow_duration_ms",t),Gre(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a}}})}const Q8={agents:Os.AGENT,workflows:Os.WORKFLOW_RUN,tools:Os.TOOL};function crs(){const{data:e,isLoading:t,isError:n}=lrs(),{getTracesHref:r,getLogsHref:s}=wI(),{Link:a}=yn();return o.jsx(ors,{data:e,isLoading:t,isError:n,LinkComponent:a,getRowHref:(i,l)=>r({rootEntityType:Q8[i],entityName:l.name}),getErrorSegmentHref:(i,l)=>l.errors>0?s({rootEntityType:Q8[i],entityName:l.name,status:"error"}):void 0,actions:i=>o.jsxs(o.Fragment,{children:[o.jsx(q4,{href:r({rootEntityType:Q8[i]}),LinkComponent:a}),o.jsx(Ens,{href:s({rootEntityType:Q8[i],status:"error"}),LinkComponent:a})]})})}const urs=new Set(["ObservabilityStorageClickhouseVNext","ObservabilityStorageDuckDB","ObservabilityInMemory","ObservabilitySpanner","ObservabilityStoragePostgresVNext"]),Qre="period",Y8="dateFrom",X8="dateTo";function drs(){const[e,t]=ji(),n=e.get(Qre),r=wQr(n)?n:"24h",s=v.useMemo(()=>{if(r!=="custom")return;const d=h=>{if(!h)return;const m=new Date(h);return Number.isNaN(m.getTime())?void 0:m},f=d(e.get(Y8)),p=d(e.get(X8));if(!(!f&&!p))return{from:f,to:p}},[r,e.toString()]),a=v.useMemo(()=>hQr(e),[e.toString()]),i=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d==="24h"?p.delete(Qre):p.set(Qre,d),d!=="custom"&&(p.delete(Y8),p.delete(X8)),p},{replace:!0})},[t]),l=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d?.from?p.set(Y8,d.from.toISOString()):p.delete(Y8),d?.to?p.set(X8,d.to.toISOString()):p.delete(X8),p},{replace:!0})},[t]),c=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return gQr(p,d),p},{replace:!0})},[t]),u=v.useRef(!1);return v.useEffect(()=>{if(u.current||(u.current=!0,fQr(e)))return;const d=E6t();d&&t(f=>{const p=new URLSearchParams(f);for(const[h,m]of d)p.append(h,m);return p},{replace:!0})},[]),o.jsx(kQr,{preset:r,filterTokens:a,onPresetChange:i,onFilterTokensChange:c,customRange:s,onCustomRangeChange:l,children:o.jsx(frs,{})})}function frs(){const[e]=ji(),{error:t,isLoading:n}=u8t(),{filterTokens:r,setFilterTokens:s}=DZ(),[a,i]=v.useState(),{data:l,isLoading:c}=M4(),u=l?.observabilityStorageType,d=u?urs.has(u):!1,f=u==="ObservabilityInMemory",{data:p,isLoading:h}=lTe(),{data:m,isLoading:g}=aTe(),{data:y,isLoading:b}=oTe(),{data:w,isLoading:S}=iTe(),k=v.useMemo(()=>pQr({availableTags:p??[],availableEntityNames:m??[],availableServiceNames:y??[],availableEnvironments:w??[],loading:{tags:h,entityNames:g,serviceNames:b,environments:S}}),[p,m,y,w,h,g,b,S]),[_,C]=v.useState(()=>E6t()!==null),E=v.useCallback(()=>{uQr(e),C(!0),De.success("Filters setting for Metrics saved")},[e]),j=v.useCallback(()=>{dQr(),C(!1),De.success("Filters setting for Metrics cleared up")},[]),N=v.useCallback(()=>{s([])},[s]),I=v.useCallback(()=>{const R=r.map($=>{const F=k.find(D=>D.id===$.fieldId);return F?F.kind==="text"?{fieldId:$.fieldId,value:""}:F.kind==="pick-multi"?F.multi?{fieldId:$.fieldId,value:[]}:{fieldId:$.fieldId,value:"Any"}:F.kind==="multi-select"?{fieldId:$.fieldId,value:[]}:$:$});s(R)},[k,r,s]);return t&&gs(t)?o.jsx(lr,{children:o.jsx(Vs,{})}):t&&ys(t)?o.jsx(lr,{children:o.jsx(Ds,{resource:"metrics"})}):t?o.jsx(lr,{children:o.jsx(Fi,{title:"Failed to load metrics",message:t.message})}):o.jsxs(Lt,{width:"wide",height:"full",children:[o.jsxs(Lt.TopArea,{children:[o.jsx(Lt.Row,{children:o.jsxs(Lt.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(_ns,{}),o.jsx(rTe,{fields:k,tokens:r,onTokensChange:s,disabled:n,onStartTextFilter:i})]})}),o.jsx(Zns,{isLoading:n,filterFields:k,filterTokens:r,onFilterTokensChange:s,onClear:I,onRemoveAll:N,onSave:E,onRemoveSaved:_?j:void 0,autoFocusFilterFieldId:a})]}),c?null:d?o.jsxs("div",{className:"grid gap-8 content-start pb-10",children:[f&&o.jsx(In,{variant:"info",title:"Metrics are not persisted",children:o.jsx(In.Message,{children:"This project uses in-memory storage for observability. Metrics will be lost on every server restart. For persistent metrics, switch the observability storage to ClickHouse, DuckDB, Postgres v-next, or Spanner."})}),o.jsxs(Nve,{children:[o.jsx(Uns,{}),o.jsx(qns,{}),o.jsx(Vns,{}),o.jsx(Hns,{}),o.jsx(Wns,{})]}),o.jsxs(Nve,{children:[o.jsx(Xns,{}),o.jsx(trs,{}),o.jsx(irs,{}),o.jsx(Dns,{}),o.jsx(crs,{}),o.jsx(Ans,{})]})]}):o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(xf,{}),titleSlot:"Metrics are not available with your current storage",descriptionSlot:"Metrics require ClickHouse, DuckDB, Postgres v-next, Spanner, or in-memory storage for observability. Other relational databases (LibSQL, MSSQL) and document stores (MongoDB) do not support metrics collection. To enable metrics on an existing project, switch the observability storage in the Mastra configuration.",actionSlot:o.jsxs(ue,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/observability/metrics/overview",target:"_blank",rel:"noopener noreferrer",children:["Metrics Documentation ",o.jsx(Pa,{})]})})})]})}function prs(){const{paths:e}=yn(),{data:t,isLoading:n,error:r}=ILt(),{isCmsAvailable:s}=yI(),[a,i]=v.useState(""),l=t?.promptBlocks??[];return r&&gs(r)?o.jsx(lr,{children:o.jsx(Vs,{})}):r&&ys(r)?o.jsx(lr,{children:o.jsx(Ds,{resource:"prompt blocks"})}):r?o.jsx(lr,{children:o.jsx(Fi,{title:"Failed to load prompt blocks",message:r.message})}):l.length===0&&!n?o.jsx(lr,{children:o.jsx(mZr,{})}):o.jsxs(Lt,{children:[o.jsx(Lt.TopArea,{children:o.jsxs(Lt.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(Of,{onSearch:i,label:"Filter prompts",placeholder:"Filter by name or description"})}),s&&o.jsxs(ue,{as:ci,to:e.cmsPromptBlockCreateLink(),variant:"primary",className:"shrink-0",children:[o.jsx(Fr,{}),"Create Prompt"]})]})}),o.jsx(hZr,{promptBlocks:l,isLoading:n,search:a})]})}function hrs(){return o.jsx(Lt,{width:"narrow",children:o.jsx(Lt.MainArea,{children:o.jsx(kzr,{children:o.jsx(eve,{})})})})}const mrs=[{title:"Mastra APIs",description:"Explore and test the available REST API endpoints with the interactive Swagger UI.",icon:pcn,href:"/swagger-ui",external:!1},{title:"Documentation",description:"Read the official Mastra documentation for guides, references, and tutorials.",icon:ilt,href:"https://mastra.ai/en/docs",external:!0},{title:"Github",description:"Browse the source code, report issues, and contribute to the Mastra project.",icon:Pa,href:"https://github.com/mastra-ai/mastra",external:!0},{title:"Community",description:"Join the Mastra Discord community for help, discussion, and collaboration.",icon:qj,href:"https://discord.gg/BTYqqHKUrf",external:!0},{title:"Share with your team",description:"Running Mastra Studio locally? Deploy to the cloud so your team can collaborate.",icon:hlt,href:"https://mastra.ai/cloud",external:!0},{title:"Talk to our Sales team",description:"Get a custom demo, discuss on-prem deployments, and how we can help you accelerate getting agents into production.",icon:olt,href:"https://mastra.ai/contact?ref=studio",external:!0}];function grs(){return o.jsx(Lt,{width:"narrow",children:o.jsx(Lt.MainArea,{children:o.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4 max-w-3xl",children:mrs.map(e=>o.jsxs("a",{href:e.href,...e.external?{target:"_blank",rel:"noreferrer"}:{},className:"group flex flex-col gap-3 rounded-lg border border-border1 bg-surface2 p-5 transition-colors hover:border-accent1 hover:bg-surface3",children:[o.jsxs("div",{className:"flex items-center gap-2.5",children:[o.jsx(e.icon,{className:"h-5 w-5 text-icon3 group-hover:text-accent1 transition-colors"}),o.jsx("span",{className:"text-ui-md font-medium text-text1",children:e.title}),e.external&&o.jsx(Pa,{className:"h-3.5 w-3.5 text-icon3 ml-auto opacity-0 group-hover:opacity-100 transition-opacity"})]}),o.jsx("p",{className:"text-ui-sm text-text3 leading-relaxed",children:e.description})]},e.href))})})})}function vrs(){const{data:e={},isLoading:t,error:n}=eh(),[r,s]=v.useState(""),[a,i]=v.useState("all");if(n&&gs(n))return o.jsx(lr,{children:o.jsx(Vs,{})});if(n&&ys(n))return o.jsx(lr,{children:o.jsx(Ds,{resource:"scorers"})});if(n)return o.jsx(lr,{children:o.jsx(Fi,{title:"Failed to load scorers",message:n.message})});if(Object.keys(e).length===0&&!t)return o.jsx(lr,{children:o.jsx(wHr,{})});const l=a!=="all"||r!=="",c=()=>{s(""),i("all")};return o.jsxs(Lt,{children:[o.jsx(Lt.TopArea,{children:o.jsx(THr,{search:r,onSearchChange:s,sourceFilter:a,onSourceFilterChange:i,onReset:c,hasActiveFilters:l})}),o.jsx(xHr,{scorers:e,isLoading:t,search:r,sourceFilter:a})]})}function yrs(){const{scorerId:e}=dr(),[t,n]=ji(),r=t.get("scoreId")??void 0,[s,a]=v.useState(r),[i,l]=v.useState({value:"all",label:"All Entities",type:"ALL"}),{scorer:c,error:u}=XVr(e),{data:d={},isLoading:f,error:p}=Sm(),{isLoading:h,error:m}=By(),{data:g=[],isLoading:y,error:b,isFetchingNextPage:w,hasNextPage:S,setEndOfListElement:k}=YVr({scorerId:e,entityId:i?.value==="all"?void 0:i?.value,entityType:i?.type==="ALL"?void 0:i?.type}),_=v.useMemo(()=>c?.agentIds?.filter(B=>d[B]).map(B=>({value:B,label:d[B].name,type:"AGENT"}))||[],[c?.agentIds,d]),C=v.useMemo(()=>c?.workflowIds?.map(B=>({value:B,label:B,type:"WORKFLOW"}))||[],[c?.workflowIds]),E=v.useMemo(()=>[{value:"all",label:"All Entities",type:"ALL"},..._,...C],[_,C]),j=t.get("entity")??"all",N=E.find(B=>B.value===j);N&&N.value!==i?.value&&l(N),v.useEffect(()=>{if(u){const B=u instanceof Error?u.message:"Failed to load scorer";De.error(`Error loading scorer: ${B}`)}},[u]),v.useEffect(()=>{if(p){const B=p instanceof Error?p.message:"Failed to load agents";De.error(`Error loading agents: ${B}`)}},[p]),v.useEffect(()=>{if(m){const B=m instanceof Error?m.message:"Failed to load workflows";De.error(`Error loading workflows: ${B}`)}},[m]);const I=B=>{B?.value&&n(M=>{const G=new URLSearchParams(M);return G.set("entity",B.value),G})};v.useEffect(()=>{const B=t.get("scoreId")??void 0;if(B===s)return;if(!B){a(void 0);return}g.find(G=>G.id===B)&&a(B)},[t,g]);const R=v.useCallback(B=>{a(B||void 0),n(M=>{const G=new URLSearchParams(M);return B?G.set("scoreId",B):G.delete("scoreId"),G})},[n]);if(!c)return null;const $=gs(u)||gs(p)||gs(m),F=u&&ys(u),D=!$&&!F&&(u||p||m),V=!y&&g.length===0,W=i?.value!=="all",L=c?.scorer?.source==="stored"?o.jsx(Ty,{owner:"scorer-detail",children:o.jsxs(ue,{variant:"default",as:ci,to:`/cms/scorers/${e}/edit`,size:"sm",children:[o.jsx(em,{})," Edit"]})}):null;if($||F||D||V&&!W){const B=(u instanceof Error?u.message:void 0)??(p instanceof Error?p.message:void 0)??(m instanceof Error?m.message:void 0)??"An unexpected error occurred";return o.jsxs(Lt,{width:"wide",height:"full",children:[L,o.jsx(Lt.MainArea,{isCentered:!0,children:$?o.jsx(Vs,{}):F?o.jsx(Ds,{resource:"scorers"}):D?o.jsx(Fi,{title:"Failed to load scorer",message:B}):o.jsx(HVr,{})})]})}return o.jsxs(Lt,{width:"wide",children:[L,o.jsx(Lt.TopArea,{children:o.jsx(WVr,{selectedEntity:i,entityOptions:E,onEntityChange:I,onReset:()=>{n(B=>{const M=new URLSearchParams(B);return M.set("entity","all"),M})},isLoading:y||f||h})}),o.jsx(VVr,{scores:g,isLoading:y,selectedScoreId:s,isFetchingNextPage:w,hasNextPage:S,setEndOfListElement:k,onScoreClick:R,errorMsg:b?.message})]})}function brs({label:e,description:t,htmlFor:n,className:r,children:s}){return o.jsxs("div",{className:K("flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",r),"data-slot":"settings-row",children:[o.jsxs("div",{children:[n?o.jsx(Rt,{htmlFor:n,className:"text-sm font-medium",children:e}):o.jsx("p",{className:"text-sm font-medium",children:e}),t&&o.jsx("p",{className:"text-sm text-neutral3",children:t})]}),s]})}const h8t=[{value:"dark",label:"Dark",Icon:Uun},{value:"light",label:"Light",Icon:Xdn},{value:"system",label:"System",Icon:Olt}],xrs=e=>h8t.some(t=>t.value===e);function wrs({option:e}){const{Icon:t}=e;return o.jsxs("span",{className:"inline-flex min-w-0 max-w-full items-center gap-2",children:[o.jsx(t,{"aria-hidden":"true",className:"h-4 w-4 shrink-0 opacity-70"}),o.jsx("span",{className:"min-w-0 truncate",children:e.label})]})}const Srs=()=>{const{baseUrl:e,headers:t,apiPrefix:n}=Axe(),{theme:r,setTheme:s}=EN();return o.jsx(Lt,{width:"narrow",children:o.jsxs(Lt.MainArea,{className:"flex flex-col gap-5 mt-6",children:[o.jsx(Pge,{title:"Theme",description:"Customize the appearance of the studio.",children:o.jsx(brs,{label:"Theme mode",htmlFor:"theme",children:o.jsxs(ba,{value:r,onValueChange:a=>{xrs(a)&&s(a)},children:[o.jsx(wa,{id:"theme",className:"w-full sm:w-48",children:o.jsx(xa,{className:"inline-flex min-w-0 max-w-full items-center"})}),o.jsx(Sa,{children:h8t.map(a=>o.jsx(qr,{value:a.value,children:o.jsx(wrs,{option:a})},a.value))})]})})}),o.jsx(Pge,{title:"Mastra Connection",description:"Configure the Mastra instance URL, API prefix, and request headers used by the studio.",children:o.jsx(K5t,{initialConfig:{baseUrl:e,headers:t,apiPrefix:n}})})]})})};function krs(){const[e]=ji(),t=bs(),n=e.get("redirect")||"/",r=()=>{n.startsWith("http")?window.location.href=n:t(n,{replace:!0})};return o.jsx(c8t,{redirectUri:n,onSuccess:r,initialMode:"signup"})}const m8t=e=>o.jsxs("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("g",{clipPath:"url(#clip0_21999_22095)",children:o.jsx("path",{d:"M7.5 0.75C3.6325 0.75 0.5 3.8825 0.5 7.75C0.5 10.8475 2.50375 13.4637 5.28625 14.3912C5.63625 14.4525 5.7675 14.2425 5.7675 14.0587C5.7675 13.8925 5.75875 13.3412 5.75875 12.755C4 13.0787 3.545 12.3262 3.405 11.9325C3.32625 11.7312 2.985 11.11 2.6875 10.9437C2.4425 10.8125 2.0925 10.4887 2.67875 10.48C3.23 10.4712 3.62375 10.9875 3.755 11.1975C4.385 12.2562 5.39125 11.9587 5.79375 11.775C5.855 11.32 6.03875 11.0137 6.24 10.8387C4.6825 10.6637 3.055 10.06 3.055 7.3825C3.055 6.62125 3.32625 5.99125 3.7725 5.50125C3.7025 5.32625 3.4575 4.60875 3.8425 3.64625C3.8425 3.64625 4.42875 3.4625 5.7675 4.36375C6.3275 4.20625 6.9225 4.1275 7.5175 4.1275C8.1125 4.1275 8.7075 4.20625 9.2675 4.36375C10.6062 3.45375 11.1925 3.64625 11.1925 3.64625C11.5775 4.60875 11.3325 5.32625 11.2625 5.50125C11.7087 5.99125 11.98 6.6125 11.98 7.3825C11.98 10.0687 10.3438 10.6637 8.78625 10.8387C9.04 11.0575 9.25875 11.4775 9.25875 12.1337C9.25875 13.07 9.25 13.8225 9.25 14.0587C9.25 14.2425 9.38125 14.4612 9.73125 14.3912C11.1209 13.9221 12.3284 13.029 13.1839 11.8377C14.0393 10.6463 14.4996 9.21668 14.5 7.75C14.5 3.8825 11.3675 0.75 7.5 0.75Z",fill:"currentColor"})}),o.jsx("defs",{children:o.jsx("clipPath",{id:"clip0_21999_22095",children:o.jsx("rect",{width:"14",height:"14",fill:"currentColor",transform:"translate(0.5 0.75)"})})})]});function Ors(e){return e.replace(/\/$/,"").split("/").pop()}function BZ({children:e,className:t}){return o.jsx("div",{className:K("border border-border1 rounded-lg mt-12 py-8 lg:min-h-[25rem] transition-height px-4 lg:px-12",t),children:e})}function _rs({templates:e,linkComponent:t,className:n,isLoading:r}){const s=t||"a";return r?o.jsx("div",{className:K("grid gap-y-4",n),children:Array.from({length:5}).map((a,i)=>o.jsx("div",{className:"h-16 bg-surface3 animate-pulse rounded-lg"},i))}):o.jsx("div",{className:K("grid gap-y-4",n),children:e.map(a=>{const i=a?.agents||a?.tools||a?.networks||a?.workflows||a?.mcp;return o.jsxs("article",{className:K("border border-border1 rounded-lg overflow-hidden w-full grid grid-cols-[1fr_auto] bg-surface3 transition-colors hover:bg-surface4"),children:[o.jsxs(s,{to:`/templates/${a.slug}`,className:K("grid [&:hover_p]:text-neutral5",{"grid-cols-[8rem_1fr] lg:grid-cols-[12rem_1fr]":a.imageURL}),children:[a.imageURL&&o.jsx("div",{className:K("overflow-hidden"),children:o.jsx("div",{className:"w-full h-full bg-cover thumb transition-scale duration-150",style:{backgroundImage:`url(${a.imageURL})`}})}),o.jsxs("div",{className:K("grid py-3 px-6 w-full gap-0.5","[&_svg]:w-[1em] [&_svg]:h-[1em] [&_svg]:text-neutral3"),children:[o.jsx("h2",{className:"text-ui-lg text-neutral5",children:a.title}),o.jsx("p",{className:"text-ui-md text-neutral4 transition-colors duration-500",children:a.description}),o.jsxs("div",{className:"hidden 2xl:flex text-neutral3 text-ui-md flex-wrap items-center gap-4 mt-3",children:[i&&o.jsxs("ul",{className:K("flex gap-4 text-ui-md text-neutral3 m-0 p-0 list-none","[&>li]:flex [&>li]:items-center [&>li]:gap-0.5 text-neutral4"),children:[a?.agents&&a.agents.length>0&&o.jsxs("li",{children:[o.jsx(rl,{})," ",a.agents.length]}),a?.tools&&a.tools.length>0&&o.jsxs("li",{children:[o.jsx(Gp,{})," ",a.tools.length]}),a?.networks&&a.networks.length>0&&o.jsxs("li",{children:[o.jsx(_lt,{})," ",a.networks.length]}),a?.workflows&&a.workflows.length>0&&o.jsxs("li",{children:[o.jsx(eq,{})," ",a.workflows.length]}),a?.mcp&&a.mcp.length>0&&o.jsxs("li",{children:[o.jsx(M_,{})," ",a.mcp.length]})]}),i&&a.supportedProviders&&o.jsx("small",{children:"|"}),o.jsx("div",{className:"flex items-center text-neutral3 gap-4",children:a.supportedProviders.map(l=>o.jsx("span",{className:"",children:l},l))})]})]})]}),o.jsx("a",{href:a.githubUrl,className:K("group items-center gap-2 text-ui-md ml-auto pr-4 hidden","lg:flex"),target:"_blank",rel:"noopener noreferrer",children:o.jsxs("span",{className:"flex items-center gap-2 px-2 py-1 rounded bg-surface1 group-hover:bg-surface2 text-neutral3 transition-colors group-hover:text-neutral5",children:[o.jsx(m8t,{})," ",Ors(a.githubUrl)]})})]},a.slug)})})}function Crs({tagOptions:e,selectedTag:t,providerOptions:n,selectedProvider:r,onTagChange:s,onProviderChange:a,searchTerm:i,onSearchChange:l,onReset:c,className:u,isLoading:d}){return d?o.jsxs("div",{className:K("h-[6.5rem] flex items-center gap-8","[&>div]:bg-surface3 [&>div]:w-48 [&>div]:h-8 [&>div]:animate-pulse",u),children:[o.jsx("div",{})," ",o.jsx("div",{})," ",o.jsx("div",{})]}):o.jsxs("div",{className:K("flex flex-wrap mx-auto sticky top-0 gap-4 bg-surface2 py-8",u),children:[o.jsx($T,{name:"search-templates",label:"Search templates",labelIsHidden:!0,value:i,onChange:f=>l?.(f.target.value),placeholder:"Search Template"}),o.jsx(xc,{label:"Filter by tag",labelIsHidden:!0,name:"filter-tag",value:t,onValueChange:s,options:e}),o.jsx(xc,{label:"Filter by provider",labelIsHidden:!0,name:"filter-provider",value:r,onValueChange:a,options:n}),c&&o.jsxs(ue,{onClick:c,children:["Reset ",o.jsx(vs,{})]})]})}function Ers(){const{data:e,isLoading:t}=DQn(),{templates:n,tags:r,providers:s}=e??{templates:[],tags:[],providers:[]},[a,i]=v.useState("all"),[l,c]=v.useState("all"),[u,d]=v.useState(""),f=[{value:"all",label:"Any tag"}];(r||[]).forEach(w=>{f.push({value:w,label:w})});const p=[{value:"all",label:"Any provider"}];(s||[]).forEach(w=>{p.push({value:w,label:w})});const h=(w,S)=>{S==="tag"?i(w):S==="provider"&&c(w)},m=w=>{d(w)},g=()=>{i("all"),c("all"),d("")},y=n.filter(w=>!(u&&!w.title.toLowerCase().includes(u)&&!w.description.toLowerCase().includes(u)||a!=="all"&&!w.tags.includes(a)||l!=="all"&&!w.supportedProviders.includes(l))),b=u||a!=="all"||l!=="all";return o.jsxs(cs,{children:[o.jsx(qxe,{children:o.jsxs(hpt,{children:[o.jsx(Ue,{children:o.jsx(Hv,{})}),"Templates"]})}),o.jsxs("div",{className:K("overflow-y-auto w-full h-full px-8 pb-12 z-10"),children:[o.jsx(Crs,{selectedTag:a,onTagChange:w=>h(w,"tag"),tagOptions:f,selectedProvider:l,onProviderChange:w=>h(w,"provider"),providerOptions:p,searchTerm:u,onSearchChange:m,onReset:b?g:void 0,className:"max-w-[80rem]",isLoading:t}),o.jsx(_rs,{templates:y,linkComponent:ci,className:"max-w-[80rem] mx-auto",isLoading:t})]})]})}const jrs="1.48.0-alpha.5";function Trs({errorMsg:e,validationErrors:t}){const n=typeof e=="string"?e:e!=null?String(e):void 0,r=n?.includes("Invalid schema for function"),s=n?.includes("validation issue")||t&&t.length>0,a=()=>s?"Template installation completed but some validation issues remain. The template may still be functional, but you should review and fix these issues.":r?"There was an issue with the AI model configuration. This may be related to the selected model or AI SDK version compatibility.":"An unexpected error occurred during template installation.",i=()=>s?{icon:o.jsx(kp,{className:"text-yellow-500"}),title:"Template Installed with Warnings"}:{icon:o.jsx(Ucn,{}),title:"Template Installation Failed"},{icon:l,title:c}=i();return o.jsxs(BZ,{className:"space-y-4 text-neutral3 mb-8 content-center",children:[o.jsxs("div",{className:K("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[l,o.jsxs("div",{className:"text-center space-y-2",children:[o.jsx("p",{className:"text-ui-md font-medium text-neutral5",children:c}),o.jsx("p",{className:"text-ui-md text-neutral3",children:a()})]})]}),t&&t.length>0&&o.jsxs("details",{className:"text-xs",children:[o.jsxs("summary",{className:"cursor-pointer text-neutral3 hover:text-neutral4 select-none text-center",children:["Show Validation Issues (",t.length,")"]}),o.jsx("div",{className:"mt-4 p-3 bg-gray-100 dark:bg-gray-800 rounded text-xs overflow-auto max-h-60 text-left space-y-2",children:t.map((u,d)=>o.jsxs("div",{className:"border-l-2 border-red-400 pl-2",children:[o.jsx("div",{className:"font-medium text-red-600 dark:text-red-400",children:u.type==="typescript"?"🔴 TypeScript Error":"⚠️ Lint Error"}),o.jsx("div",{className:"text-xs font-mono text-gray-700 dark:text-gray-300 mt-1 whitespace-pre-wrap wrap-break-word",children:u.message})]},d))})]}),n&&!s&&o.jsxs("details",{className:"text-xs",children:[o.jsx("summary",{className:"cursor-pointer text-neutral3 hover:text-neutral4 select-none text-center",children:"Show Details"}),o.jsx("div",{className:"mt-4 p-3 bg-gray-100 dark:bg-gray-800 rounded text-xs font-mono overflow-auto max-h-60 text-left",children:o.jsx("div",{className:"whitespace-pre-wrap wrap-break-word",children:n})})]})]})}function Nrs({providerOptions:e,selectedProvider:t,onProviderChange:n,variables:r,errors:s,handleInstallTemplate:a,handleVariableChange:i,isLoadingEnvVars:l,isInstalling:c,defaultModelProvider:u,defaultModelId:d,onModelUpdate:f}){return o.jsx(BZ,{children:o.jsxs("div",{className:"max-w-[40rem] my-4 p-4 lg:p-8 mx-auto gap-8 grid",children:[o.jsxs("h2",{className:K("text-neutral4 text-header-sm font-semibold flex items-center gap-2","[&>svg]:w-[1.2em] [&_svg]:h-[1.2em] [&_svg]:opacity-70"),children:["Install Template ",o.jsx(Clt,{})]}),o.jsx(xc,{name:"template-provider",options:e,label:"Template AI Model Provider",onValueChange:n,value:t,placeholder:"Select",layout:"horizontal"}),t&&Object.entries(r||{}).length>0&&o.jsxs(o.Fragment,{children:[o.jsx("h3",{className:"text-neutral3 text-ui-md",children:"Set required Environmental Variables"}),o.jsx("div",{className:"grid grid-cols-[1fr_1fr] gap-4 items-start",children:l?o.jsxs("div",{className:K("flex items-center justify-center col-span-2 text-neutral3 text-ui-sm gap-4","[&_svg]:opacity-50 [&_svg]:w-[1.1em] [&_svg]:h-[1.1em]","animate-in fade-in duration-300"),children:[o.jsx(Gt,{})," Loading variables..."]}):Object.entries(r).map(([p,h])=>o.jsxs(v.Fragment,{children:[o.jsx(dO,{name:`env-${p}`,labelIsHidden:!0,label:"Key",value:p,disabled:!0,className:"w-full"}),o.jsx(dO,{name:p,labelIsHidden:!0,label:"Value",value:h,onChange:i,errorMsg:s.includes(p)?"Value is required.":"",autoComplete:"off",className:"w-full"})]},p))}),o.jsxs("div",{className:"border-t border-border1 pt-12 mt-3.5 relative",children:[o.jsx("div",{className:"absolute w-8 h-8 rounded-full bg-surface2 top-0 left-1/2 -translate-x-1/2 -translate-y-4 text-ui-sm text-neutral3 flex items-center justify-center",children:"And"}),o.jsx("h3",{className:"text-neutral4 text-ui-lg",children:"Set AI Model for Template Installation"}),o.jsx("p",{className:"text-neutral3 text-ui-md mt-2 mb-8",children:"This model will be used by the workflow to process and install the template"}),o.jsx(X5t,{defaultProvider:u||"",defaultModel:d||"",updateModel:f||(()=>Promise.resolve({message:"Updated"})),closeEditor:()=>{},autoSave:!0,selectProviderPlaceholder:"Provider"})]})]}),t&&!l&&o.jsx(ue,{className:K("flex items-center gap-2 mt-4 justify-center text-ui-md w-full bg-surface5 min-h-10 rounded-lg text-neutral5 hover:bg-surface6 transition-colors","[&>svg]:w-[1.1em] [&_svg]:h-[1.1em] [&_svg]:text-neutral5"),onClick:a,disabled:!t||!u||!d||s.length>0||c,children:c?o.jsxs(o.Fragment,{children:[o.jsx(Gt,{className:"w-4 h-4"})," Installing..."]}):o.jsxs(o.Fragment,{children:["Install ",o.jsx(hm,{})]})})]})})}function Irs({title:e,description:t,githubUrl:n,isLoading:r,infoData:s,templateSlug:a}){const i=a?`feat/install-template-${a}`:"feat/install-template-[slug]";return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:K("grid mt-8 items-center"),children:o.jsxs("div",{className:K("text-header-lg flex items-center gap-3","[&>svg]:w-[1.2em] [&>svg]:h-[1.2em] [&>svg]:opacity-50",{"[&>svg]:opacity-20":r}),children:[o.jsx(Hv,{}),o.jsx("h2",{className:K({"bg-surface4 flex rounded-lg min-w-[50%]":r}),children:r?o.jsx(o.Fragment,{children:" "}):e})]})}),o.jsxs("div",{className:"grid lg:grid-cols-[1fr_1fr] gap-x-24",children:[o.jsxs("div",{className:"grid",children:[o.jsx("p",{className:K("mb-4 text-ui-md text-neutral4 mt-2 leading-7",{"bg-surface4 rounded-lg ":r}),children:r?o.jsx(o.Fragment,{children:" "}):t}),!r&&a&&o.jsxs("div",{className:K("bg-surface2 border border-surface4 rounded-lg p-4 mb-4","flex items-start gap-3"),children:[o.jsx("div",{className:"shrink-0 mt-0.5",children:o.jsx(Mx,{className:"w-[1.1em] h-[1.1em] text-blue-500"})}),o.jsxs("div",{className:"flex-1 space-y-2",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Vye,{className:"w-[1em] h-[1em] text-neutral4"}),o.jsx("span",{className:"text-ui-md font-medium text-neutral5",children:"A new Git branch will be created"})]}),o.jsxs("div",{className:"text-ui-sm text-neutral4 space-y-1",children:[o.jsxs("div",{children:[o.jsx("span",{className:"font-medium",children:"Branch name:"})," ",o.jsx("code",{className:"bg-surface3 px-1.5 py-0.5 rounded text-ui-sm font-mono",children:i})]}),o.jsx("div",{children:"This ensures safe installation with easy rollback if needed. Your main branch remains unchanged."})]})]})]}),n&&o.jsxs("a",{href:n,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 mt-auto text-neutral3 text-ui-md hover:text-neutral5",children:[o.jsx(m8t,{}),n?.split("/")?.pop()]})]}),s&&o.jsx(Aje,{data:s,labelsAreHidden:!0,isLoading:r})]})]})}function Ars(e){switch(e){case"running":return o.jsx(Gt,{});case"success":return o.jsx(hx,{});case"failed":return o.jsx(Pu,{});default:return null}}function Rrs({stepId:e,step:t,isActive:n,position:r}){const s=a=>a.charAt(0).toUpperCase()+a.slice(1).replace(/-/g," ");return o.jsxs("div",{className:K("grid gap-6 grid-cols-[1fr_auto] py-3 px-4 rounded-lg",is.all,{"border border-dashed border-neutral2 bg-surface3":n}),children:[o.jsxs("div",{className:"grid grid-cols-[auto_1fr] gap-2",children:[o.jsxs("span",{className:K("text-ui-md min-w-6 flex justify-end",is.colors,{"text-neutral5":n||t.status==="success","text-neutral3":!n&&t.status!=="success"}),children:[r,"."]}),o.jsxs("div",{children:[o.jsx("h4",{className:K("text-ui-md",is.colors,{"text-neutral5":n||t.status==="success","text-neutral3":!n&&t.status!=="success"}),children:s(e)}),t.description&&o.jsx("p",{className:"text-ui-md text-neutral2 -mt-0.5",children:t.description})]})]}),o.jsx("div",{className:K("w-[1.75rem] h-[1.75rem] rounded-full flex items-center justify-center self-center",is.all,{"border border-neutral2 border-dashed":t.status==="pending","[&>svg]:text-white [&>svg]:w-4 [&>svg]:h-4":t.status!=="running","w-[1.75rem] h-[1.75rem]":t.status==="running","bg-accent1Dark shadow-glow-accent1":t.status==="success","bg-accent2Dark shadow-glow-accent2":t.status==="failed","scale-110":t.status==="success"||t.status==="failed"}),children:Ars(t.status)})]})}function Prs({currentStep:e,steps:t=[],className:n}){return o.jsx("div",{className:K(n),children:t.map((r,s)=>o.jsx(Rrs,{stepId:r.id,step:r,isActive:e?.id===r.id,position:s+1},r.id))})}function $rs({steps:e}){const t=e.length,n=e.filter(r=>r.status==="success").length;return o.jsxs("div",{className:"flex justify-center flex-col gap-4 content-center w-full",children:[o.jsx("div",{className:"grid grid-cols-[0_repeat(9,1fr)] w-full",children:e.map((r,s)=>o.jsx("div",{className:K("flex justify-end items-center relative h-[2rem]",is.colors,{"bg-accent1Dark":r.status==="success"&&e?.[s-1]?.status==="success"}),children:o.jsx("div",{className:K("w-[2rem] h-[2rem] rounded-full flex items-center justify-center self-center absolute right-0 translate-x-[50%] bg-surface3 z-10 text-neutral3 font-bold text-ui-sm",is.all,{"border border-neutral2 border-dashed":r.status==="pending","[&>svg]:text-surface1 [&>svg]:w-[1.1rem] [&>svg]:h-[1.1rem]":r.status!=="running","bg-accent1Dark text-white shadow-glow-accent1 scale-110":r.status==="success","bg-accent2Dark text-white shadow-glow-accent2 scale-110":r.status==="failed"}),children:r.status==="running"?o.jsx(Gt,{}):s+1})},r.id))}),o.jsxs("div",{className:K("text-xs text-neutral3 text-center",is.colors),children:[n," of ",t," steps completed"]})]})}function Mrs({name:e,streamResult:t,runId:n,workflowInfo:r}){const s=t?.phase||"initializing",a=t?.payload?.workflowState,i=t?.payload?.currentStep,l=t?.error,c=a?.steps||{},u=Object.keys(c).length>0,d=g=>g==="input"||g.endsWith(".input")||g.startsWith("Mapping_")&&/[0-9a-f]{8}/.test(g)||/[0-9a-f]{8,}/.test(g)?!1:r?.allSteps?g in r.allSteps:!0,f=Object.entries(c).filter(([g,y])=>d(g)),p=f.length,h=()=>{switch(s){case"initializing":return"Preparing template installation...";case"processing":return`Installing ${e} template`;case"completed":return"Template installation completed!";case"error":return"Template installation failed";default:return"Installing template..."}},m=f.map(([g,y])=>({id:g,status:y?.status,description:y?.description,title:g.charAt(0).toUpperCase()+g.slice(1).replace(/-/g," "),isActive:i?.id===g}));return o.jsxs(BZ,{className:"space-y-6 text-neutral3 mb-8 content-center",children:[o.jsxs("div",{className:"text-center",children:[o.jsx("h3",{className:"text-lg font-semibold text-neutral5",children:h()}),(t?.runId||n)&&o.jsxs("div",{className:"mt-2 text-ui-sm text-neutral3",children:["Run ID: ",t?.runId??n]})]}),u&&p>0&&!["error"].includes(s)&&o.jsx("div",{className:"max-w-[30rem] w-full mx-auto px-6",children:o.jsx($rs,{steps:m})}),l&&s==="error"&&o.jsxs("div",{className:K("rounded-lg text-neutral5 p-6 flex items-center gap-3 text-ui-md bg-red-500/10","[&>svg]:w-6 [&>svg]:h-6 [&>svg]:opacity-70 [&>svg]:text-red-500"),children:[o.jsx(Kun,{}),l||"Something went wrong"]}),u&&o.jsx(Prs,{steps:m,currentStep:i,className:"pb-4"}),!u&&s==="initializing"&&o.jsxs("div",{className:"text-center text-sm text-neutral3 grid gap-4 justify-items-center",children:[o.jsx(Gt,{}),o.jsx("p",{children:"This may take some time..."})]})]})}function Drs({name:e,installedEntities:t}){return o.jsxs(BZ,{className:K("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[o.jsx(Clt,{}),o.jsx("h2",{className:"text-header-md",children:"Done!"}),o.jsxs("p",{className:"text-ui-md text-center text-neutral3 ",children:["The ",o.jsx("b",{className:"text-neutral4",children:e})," template has been successfully installed.",t&&t.length>0&&o.jsxs(o.Fragment,{children:[o.jsx("br",{})," Installed entities are listed below."]})]}),t&&t.length>0&&o.jsx(Aje,{data:t})]})}function Lrs(){const{templateSlug:e}=dr(),[t,n]=ji(),[r,s]=v.useState(""),[a,i]=v.useState(""),[l,c]=v.useState(""),[u,d]=v.useState({}),[f,p]=v.useState([]),[h,m]=v.useState(null),[g,y]=v.useState(!1),[b,w]=v.useState(""),[S,k]=v.useState(!1),[_,C]=v.useState(!1),[E,j]=v.useState([]),{data:N,isLoading:I}=LQn({repoOrSlug:e,owner:"mastra-ai"}),$=jrs?.includes("beta")??!1?"beta":"main",{data:F,isLoading:D}=FQn({repo:N?.githubUrl?new URL(N.githubUrl).pathname.split("/")[2]:`template-${e}`,owner:"mastra-ai",branch:$}),{data:V,isLoading:W}=zQn(),{mutateAsync:L,isPending:z}=BQn(),{mutateAsync:B}=UQn(),{streamInstall:M,streamResult:G,isStreaming:U}=VQn(V),{observeInstall:P,streamResult:q,isStreaming:Z}=HQn(V);v.useEffect(()=>{const ne=t.get("runId");ne&&!g&&!h&&!U&&!Z&&(console.info("🔄 Checking completed run after hot reload:",{runId:ne}),w(ne),B({runId:ne}).then(ce=>{const pe=ce.snapshot;if(pe?.status==="success"&&pe?.result?.success)y(!0);else if(pe?.result?.success===!1)if(pe?.result?.validationResults&&!pe?.result?.validationResults?.valid&&pe?.result?.validationResults?.remainingErrors>0){const{remainingErrors:ve,errors:ye}=pe.result.validationResults,Se=`Template installation completed but ${ve} validation issue${ve>1?"s":""} remain unresolved.`;m(Se),j(ye||[])}else{const ve=pe?.result?.message||pe?.result?.error||"Template installation failed";m(typeof ve=="string"?ve:String(ve))}}).catch(ce=>{console.error("❌ Failed to fetch run details:",ce),m("Failed to retrieve installation status after reload")}))},[t,g,h,U,Z,B]),v.useEffect(()=>{const ne=t.get("runId"),ce=t.get("resume"),pe=t.get("provider");if(ne&&ce==="true"&&pe&&!U&&!Z&&!S&&!_&&V){w(ne),k(!0);try{B({runId:ne}).then(le=>{if(le.snapshot?.status==="running")return P.mutateAsync({runId:ne})}).then(()=>{n(le=>{const ve=new URLSearchParams(le);return ve.delete("resume"),ve})}).catch(le=>{console.error("❌ Failed to resume template installation:",le),le.message?.includes("404")||le.message?.includes("not found")?m("Template installation run not found. It may have expired or been completed."):m("Failed to resume template installation. Please try again.")})}catch(le){console.error("❌ Auto-resume failed with error:",le),m("Failed to resume template installation. Please refresh and try again.")}}},[t,e,U,Z,S,_,V,B,P,n]);const X=[{value:"openai",label:"OpenAI"},{value:"anthropic",label:"Anthropic"},{value:"groq",label:"Groq"},{value:"google",label:"Google"}],te=[{key:"tools",label:"Tools",value:N?.tools?.length?N.tools.map(ne=>ne).join(", "):"n/a",icon:o.jsx(Gp,{})},{key:"agents",label:"Agents",value:N?.agents?.length?N.agents.map(ne=>ne).join(", "):"n/a",icon:o.jsx(rl,{})},{key:"workflows",label:"Workflows",value:N?.workflows?.length?N.workflows.map(ne=>ne).join(", "):"n/a",icon:o.jsx(eq,{})},{key:"providers",label:"Providers",value:N?.supportedProviders?.length?N.supportedProviders.join(", "):"n/a",icon:o.jsx(Iv,{})},{key:"tags",label:"Tags",value:N?.tags?.length?N.tags.join(", "):"n/a",icon:o.jsx(hN,{})}],J=[{...te[0]},{...te[1]},{...te[2]}].filter(ne=>ne.value!=="n/a");v.useEffect(()=>{F&&d(F)},[F]),v.useEffect(()=>{const ne=G||q;ne?.phase==="error"&&ne?.error&&m(typeof ne.error=="string"?ne.error:String(ne.error))},[G?.phase,G?.error,q?.phase,q?.error]);const ee=ne=>{s(ne)},ae=async ne=>(i(ne.provider),c(ne.modelId),{message:"Model updated successfully"}),de=async()=>{const ne=Object.entries(u).reduce((ce,[pe,le])=>(le===""&&ce.push(pe),ce),[]);if(ne.length>0){p(ne);return}if(N){m(null),y(!1),w(""),C(!0);try{const pe={repo:N.githubUrl||`https://github.com/mastra-ai/template-${N.slug}`,ref:$,slug:N.slug,variables:u},{runId:le}=await L({});w(le),n(ve=>{const ye=new URLSearchParams(ve);return ye.set("runId",le),ye.set("resume","true"),ye.set("provider",r||"openai"),ye}),await M.mutateAsync({inputData:pe,selectedModel:{provider:a,modelId:l},runId:le})}catch(ce){C(!1),m(ce?.message||"Template installation failed"),console.error("Template installation failed",ce)}}},Y=ne=>{const{name:ce,value:pe}=ne.target;pe.trim()===""?p(le=>[...le,ce]):p(le=>le.filter(ve=>ve!==ce)),d(le=>({...le,[ce]:pe}))};return o.jsx(cs,{children:o.jsx("div",{className:K("w-full lg:px-12 h-full overflow-y-scroll"),children:o.jsxs("div",{className:"p-6 w-full max-w-[80rem] mx-auto grid gap-y-4",children:[o.jsx(Irs,{isLoading:I,title:N?.title,description:N?.longDescription,imageURL:N?.imageURL,githubUrl:N?.githubUrl,infoData:te,templateSlug:e}),N&&o.jsxs(o.Fragment,{children:[(U||Z)&&o.jsx(Mrs,{name:N.title,streamResult:Z?q:G,runId:b,workflowInfo:V}),g&&o.jsx(Drs,{name:N.title,installedEntities:J,linkComponent:ci}),h&&o.jsx(Trs,{errorMsg:h,validationErrors:E.length>0?E:G?.validationResults?.errors||q?.validationResults?.errors}),!U&&!Z&&!g&&!h&&o.jsx(Nrs,{providerOptions:X,selectedProvider:r,onProviderChange:ee,variables:u,setVariables:d,errors:f,setErrors:p,handleInstallTemplate:de,handleVariableChange:Y,isLoadingEnvVars:D||W,isInstalling:z,defaultModelProvider:a,defaultModelId:l,onModelUpdate:ae})]})]})})})}const Frs=()=>{const{toolId:e,agentId:t}=dr();return o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(AWr,{toolId:e,agentId:t})})},zrs=()=>{const{toolId:e}=dr();return o.jsx("div",{className:"h-full w-full overflow-y-hidden",children:o.jsx(fns,{toolId:e})})};function Brs(){const{traceId:e}=dr(),[t,n]=ji(),r=bs(),s=t.get("spanId")||void 0,a=t.get("tab"),i=a==="scoring"?"scoring":a==="feedback"?"feedback":"details",l=t.get("scoreId")||void 0,[c,u]=v.useState(s??null),[d,f]=v.useState(),[p,h]=v.useState(i),[m,g]=v.useState(0),[y,b]=v.useState(!1),{data:w,isLoading:S,error:k}=HH(e),_=v.useMemo(()=>w?.spans??[],[w?.spans]),C=v.useMemo(()=>_.find(ae=>ae.parentSpanId==null),[_]),{data:E,isLoading:j}=aI(e,c??"");v.useEffect(()=>g(0),[e,c]);const{data:N,isLoading:I}=eh(),{data:R,isLoading:$}=_Lt({traceId:e,spanId:c??void 0,page:m}),[F,D]=v.useState(0);v.useEffect(()=>D(0),[e,c]);const{data:V,isLoading:W}=K6t({traceId:e,page:F});v.useEffect(()=>{if(l&&R?.scores&&!d){const ae=R.scores.find(de=>de.id===l);ae&&f(ae)}},[l,R?.scores,d]);const L=v.useCallback(ae=>{const de=new URLSearchParams(t);for(const[Y,ne]of Object.entries(ae))ne===null||ne===""?de.delete(Y):de.set(Y,ne);n(de,{replace:!0})},[t,n]),z=v.useCallback(ae=>{const de=ae??null,Y=de===c;u(de),Y||(f(void 0),h("details"),L({spanId:de,tab:null,scoreId:null}))},[c,L]),B=v.useCallback(()=>{u(null),f(void 0),h("details"),L({spanId:null,tab:null,scoreId:null})},[L]),M=v.useCallback(ae=>{u(ae),f(void 0),h("details"),L({spanId:ae,tab:null,scoreId:null})},[L]),{handlePreviousSpan:G,handleNextSpan:U}=WH(_,c,M),P=v.useCallback(ae=>{const de=ae;h(de),f(void 0),L({tab:de==="details"?null:de,scoreId:null})},[L]),q=v.useCallback(ae=>{f(ae),L({scoreId:ae.id})},[L]),Z=v.useCallback(()=>{f(void 0),L({scoreId:null})},[L]),X=v.useCallback(()=>{r("/observability")},[r]),te=v.useCallback(()=>{h("scoring"),C&&c!==C.spanId?(u(C.spanId),f(void 0),L({spanId:C.spanId,tab:"scoring",scoreId:null})):L({tab:"scoring"})},[C,c,L]),J=C?o.jsx(Ty,{owner:"trace-detail",children:o.jsxs($r,{children:[o.jsxs(ue,{tooltip:"Evaluate Trace","aria-label":"Evaluate Trace",onClick:te,children:[o.jsx(Pln,{}),"Evaluate"]}),o.jsxs(ue,{tooltip:"Save as Dataset Item","aria-label":"Save as Dataset Item",onClick:()=>b(!0),children:[o.jsx(fd,{}),"Save"]})]})}):null,ee=C?o.jsx(Lt.Row,{children:o.jsx(Lt.Column,{children:o.jsx(q6t,{rootSpan:C,numOfCol:3})})}):null;return k?o.jsxs(Lt,{height:"full",children:[J,ee&&o.jsx(Lt.TopArea,{children:ee}),o.jsx(Lt.MainArea,{isCentered:!0,children:o.jsx(V6t,{error:k,resource:"traces",errorTitle:"Failed to load trace"})})]}):o.jsxs(Lt,{children:[J,ee&&o.jsx(Lt.TopArea,{children:ee}),o.jsx(Z6t,{rootSpanId:C?.spanId,traceId:e,isOpen:y,onClose:()=>b(!1)}),o.jsxs("div",{className:K("grid h-full min-h-0 gap-4 overflow-hidden items-start mt-4",c?"grid-cols-[2fr_3fr]":"grid-cols-[1fr]"),children:[o.jsx(sTe,{traceId:e,spans:_,isLoading:S,onClose:X,onSpanSelect:z,onEvaluateTrace:te,initialSpanId:c,placement:"trace-page",timelineChartWidth:c?"default":"wide"}),c&&!S&&o.jsxs("div",{className:K("grid gap-4 max-h-full min-h-0 overflow-auto",d?"grid-rows-[1fr_1fr]":"grid-rows-[1fr]"),children:[o.jsx(qH,{traceId:e,spanId:c,span:E?.span,isLoading:j,onClose:B,onPrevious:G,onNext:U,activeTab:p,onTabChange:P,feedbackTabBadge:V?.pagination?.total??void 0,feedbackTabSlot:()=>o.jsx(Q6t,{feedbackData:V,onPageChange:D,isLoadingFeedbackData:W}),scoringTabBadge:R?.pagination?.total??void 0,scoringTabSlot:({span:ae,traceId:de,spanId:Y})=>o.jsxs("div",{className:"grid gap-6",children:[o.jsx(X6t,{traceId:de,isTopLevelSpan:!ae.parentSpanId,spanId:Y,entityType:ae.attributes?.agentId||ae.entityType===Os.AGENT?"Agent":ae.attributes?.workflowId||ae.entityType===Os.WORKFLOW_RUN?"Workflow":void 0,scorers:N,isLoadingScorers:I}),o.jsx(Y6t,{scoresData:R,onPageChange:g,isLoadingScoresData:$,onScoreSelect:q})]})}),d&&o.jsx(Ije,{score:d,onClose:Z})]})]})]})}function Urs(){const{data:e,isLoading:t,error:n}=By(),[r,s]=v.useState("");return n&&gs(n)?o.jsx(lr,{children:o.jsx(Vs,{})}):n&&ys(n)?o.jsx(lr,{children:o.jsx(Ds,{resource:"workflows"})}):n?o.jsx(lr,{children:o.jsx(Fi,{title:"Failed to load workflows",message:n.message})}):Object.keys(e||{}).length===0&&!t?o.jsx(lr,{children:o.jsx(Q$r,{})}):o.jsxs(Lt,{children:[o.jsx(Lt.TopArea,{children:o.jsxs(Lt.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(Of,{onSearch:s,label:"Filter workflows",placeholder:"Filter by name or description"})}),o.jsxs(ue,{as:ci,to:"/workflows/schedules",variant:"primary",className:"shrink-0",children:[o.jsx(o3,{}),"Schedules"]})]})}),o.jsx(G$r,{workflows:e||{},isLoading:t,search:r})]})}const qrs={active:"bg-accent1",paused:"bg-accent3"},Vrs={active:"text-accent1",paused:"text-accent3"},g8t=({status:e})=>o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${qrs[e]}`,"aria-hidden":!0}),o.jsx("span",{className:`text-ui-sm ${Vrs[e]}`,children:e})]}),Aj=e=>!e||e<=0?"—":new Date(e).toLocaleString(),sP=e=>{if(!e||e<=0)return"—";const t=e-Date.now(),n=Math.abs(t),r=Math.floor(n/1e3);if(r<60)return t>=0?`in ${r}s`:`${r}s ago`;const s=Math.floor(r/60);if(s<60)return t>=0?`in ${s}m`:`${s}m ago`;const a=Math.floor(s/60);if(a<24)return t>=0?`in ${a}h`:`${a}h ago`;const i=Math.floor(a/24);return t>=0?`in ${i}d`:`${i}d ago`};function v8t({status:e}){const{icon:t,color:n}=Hrs(e);return o.jsxs("span",{className:`inline-flex items-center gap-1.5 whitespace-nowrap text-ui-sm ${n}`,children:[o.jsx("span",{className:"inline-flex shrink-0 items-center","aria-hidden":!0,children:t}),o.jsx("span",{children:e})]})}function Hrs(e){switch(e){case"success":return{icon:o.jsx(Js,{size:14}),color:"text-accent1"};case"failed":return{icon:o.jsx(vs,{size:14}),color:"text-accent2"};case"running":return{icon:o.jsx(Gt,{}),color:"text-neutral3"};case"suspended":return{icon:o.jsx(ZU,{size:14}),color:"text-accent3"};case"canceled":return{icon:o.jsx(xf,{size:14}),color:"text-neutral3"};case"pending":case"waiting":return{icon:o.jsx(sO,{size:14}),color:"text-neutral3"};default:return{icon:null,color:"text-neutral3"}}}const OQe="auto auto auto auto 1fr";function Wrs(e){if(e===void 0)return"—";if(e<1e3)return`${e}ms`;if(e<6e4)return`${(e/1e3).toFixed(1)}s`;const t=Math.floor(e/6e4),n=Math.floor(e%6e4/1e3);return`${t}m ${n}s`}function Zrs(e){const t=Math.abs(e),n=e<0?"-":"";return t<1e3?`${n}${t}ms`:t<6e4?`${n}${(t/1e3).toFixed(1)}s`:t<36e5?`${n}${(t/6e4).toFixed(1)}m`:`${n}${(t/36e5).toFixed(1)}h`}const Grs=3e4,Qrs=5*6e4;function Yrs({triggers:e,isLoading:t,workflowId:n,hasNextPage:r,isFetchingNextPage:s,setEndOfListElement:a}){const{Link:i,paths:l}=yn();return t?o.jsx(el,{columns:OQe}):e.length===0?o.jsx(ge,{variant:"ui-md",className:"text-neutral4 p-4",children:"No trigger history yet."}):o.jsxs(me,{columns:OQe,className:"min-w-0",children:[o.jsxs(me.Top,{children:[o.jsx(me.TopCell,{children:"Run"}),o.jsx(me.TopCell,{children:"Status"}),o.jsx(me.TopCell,{children:"Started"}),o.jsx(me.TopCell,{children:"Duration"}),o.jsx(me.TopCell,{children:" "})]}),e.map(c=>{const u=c.actualFireAt-c.scheduledFireAt,d=Zrs(u),f=`Scheduled ${Aj(c.scheduledFireAt)} — published ${Aj(c.actualFireAt)} (drift ${d})`,p=c.outcome==="failed",h=p?c.error:c.run?.error,m=Math.abs(u),g=!p&&m>Grs&&m<=Qrs,y=`${c.scheduleId}-${c.runId}-${c.actualFireAt}`,b=!!(n&&c.runId&&!p),w=o.jsx("span",{className:b?"text-accent1 font-mono text-ui-sm whitespace-nowrap":"text-neutral3 font-mono text-ui-sm whitespace-nowrap",children:c.runId}),S=o.jsxs(o.Fragment,{children:[o.jsx(me.Cell,{height:"compact",children:w}),o.jsx(me.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2",children:[p?o.jsxs("span",{className:"inline-flex items-center gap-1.5 whitespace-nowrap text-ui-sm text-accent2",children:[o.jsx(kp,{size:14}),"publish failed"]}):c.run?o.jsx(v8t,{status:c.run.status}):o.jsx("span",{className:"inline-flex items-center gap-1.5 whitespace-nowrap text-ui-sm text-neutral3",children:"pending"}),h?o.jsxs(Wn,{children:[o.jsx(zn,{asChild:!0,children:o.jsx("span",{className:"text-accent2 inline-flex",children:o.jsx(kp,{size:14})})}),o.jsx(Bn,{children:h})]}):null]})}),o.jsx(me.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("span",{title:f,children:sP(c.actualFireAt)}),g?o.jsxs(Wn,{children:[o.jsx(zn,{asChild:!0,children:o.jsx("span",{className:"text-accent3 inline-flex",children:o.jsx(kp,{size:14})})}),o.jsxs(Bn,{children:["Published ",d," after the scheduled fire time"]})]}):null]})}),o.jsx(me.Cell,{height:"compact",children:c.run?o.jsx("span",{children:Wrs(c.run.durationMs)}):o.jsx("span",{className:"text-neutral4",children:"—"})}),o.jsx(me.Cell,{height:"compact",children:" "})]});return b?o.jsx(me.RowLink,{to:l.workflowRunLink(n,c.runId),LinkComponent:i,children:S},y):o.jsx(me.RowStatic,{children:S},y)}),o.jsx(me.NextPageLoading,{isLoading:s,hasMore:r,setEndOfListElement:a})]})}const Xrs=e=>{const t=We();return wt({queryKey:["schedule",e],enabled:!!e,queryFn:async()=>{if(!e)throw new Error("scheduleId is required");return t.getSchedule(e)}})},_Qe=25,Krs=e=>{const t=We(),{inView:n,setRef:r}=__(),s=R1({queryKey:["schedule-triggers",e],enabled:!!e,initialPageParam:void 0,queryFn:async({pageParam:u})=>e?t.listScheduleTriggers(e,{limit:_Qe,toActualFireAt:u}):{triggers:[]},getNextPageParam:u=>{if(!(!u?.triggers?.length||u.triggers.length<_Qe))return u.triggers[u.triggers.length-1].actualFireAt},refetchInterval:u=>(u.state.data?.pages.flatMap(p=>p.triggers)??[]).some(p=>p.run?p.run.status==="pending"||p.run.status==="running"||p.run.status==="waiting":p.outcome==="published")?5e3:!1}),a=s.data?.pages.flatMap(u=>u?.triggers??[])??[],{hasNextPage:i,isFetchingNextPage:l,fetchNextPage:c}=s;return v.useEffect(()=>{n&&i&&!l&&c()},[n,i,l,c]),{...s,data:a,setEndOfListElement:r}},Jrs=e=>{const t=We(),n=Hr();return Rn({mutationFn:async r=>{if(!e)throw new Error("scheduleId is required");return r==="pause"?t.pauseSchedule(e):t.resumeSchedule(e)},onSuccess:(r,s)=>{n.invalidateQueries({queryKey:["schedule",e]}),n.invalidateQueries({queryKey:["schedules"]}),De.success(s==="pause"?"Schedule paused":"Schedule resumed")},onError:r=>{De.error(r.message)}})};function K8({label:e,children:t}){return o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx(ge,{variant:"ui-xs",className:"text-neutral4 uppercase tracking-wide",children:e}),o.jsx("div",{className:"text-ui-md",children:t})]})}function ess(){const{scheduleId:e}=dr(),{paths:t}=yn(),{data:n,error:r}=Xrs(e),{data:s,isLoading:a,error:i,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u}=Krs(e),d=Jrs(e);if(r&&gs(r))return o.jsx(lr,{children:o.jsx(Vs,{})});if(r&&ys(r))return o.jsx(lr,{children:o.jsx(Ds,{resource:"schedules"})});if(r)return o.jsx(lr,{children:o.jsx(Fi,{title:"Failed to load schedule",message:r.message})});const f=n?.target.type==="workflow"?n.target.workflowId:void 0;return o.jsxs(Lt,{children:[o.jsx(Lt.TopArea,{children:o.jsx(Lt.Row,{className:"justify-end",children:o.jsxs(Lt.Column,{className:"flex justify-end gap-2",children:[o.jsxs(ue,{as:ci,to:t.schedulesLink(),variant:"ghost",children:[o.jsx(Ec,{}),"Back to schedules"]}),f?o.jsx(ue,{as:ci,to:t.workflowLink(f),variant:"ghost",children:"Open workflow"}):null,n?o.jsx(ue,{onClick:()=>d.mutate(n.status==="active"?"pause":"resume"),disabled:d.isPending,"data-testid":"schedule-toggle-button",children:n.status==="active"?o.jsxs(o.Fragment,{children:[o.jsx(Elt,{}),"Pause"]}):o.jsxs(o.Fragment,{children:[o.jsx(Pp,{}),"Resume"]})}):null]})})}),n?o.jsxs("div",{className:"grid gap-6 h-full overflow-hidden grid-cols-[minmax(0,20rem)_1fr]",children:[o.jsxs("div",{className:"flex flex-col gap-4 border border-border1 rounded-md p-4 h-fit",children:[o.jsx(K8,{label:"Workflow",children:f?o.jsx(ci,{to:t.workflowLink(f),className:"text-accent1 hover:underline",children:f}):"—"}),o.jsxs(K8,{label:"Cron",children:[o.jsx("code",{className:"font-mono text-ui-md",children:n.cron}),n.timezone?o.jsx("span",{className:"text-neutral4 ml-2 text-ui-sm",children:n.timezone}):null]}),o.jsx(K8,{label:"Status",children:o.jsx(g8t,{status:n.status})}),o.jsx(K8,{label:"Next fire",children:o.jsx("span",{title:Aj(n.nextFireAt),children:sP(n.nextFireAt)})})]}),o.jsxs("div",{className:"overflow-y-auto","data-testid":"schedule-triggers-panel",children:[o.jsx(ge,{variant:"ui-md",className:"mb-3",children:"Trigger history"}),i?o.jsx(Fi,{title:"Failed to load trigger history",message:i.message}):o.jsx(Yrs,{triggers:s??[],isLoading:a,workflowId:f,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u})]})]}):null]})}const CQe="minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 1fr) auto auto auto";function tss({schedules:e,isLoading:t,search:n=""}){const{paths:r,Link:s}=yn(),a=v.useMemo(()=>{const i=n.toLowerCase();return i?e.filter(l=>l.id.toLowerCase().includes(i)||l.target.workflowId.toLowerCase().includes(i)):e},[e,n]);return t?o.jsx(el,{columns:CQe}):o.jsxs(me,{columns:CQe,variant:"striped",className:"min-w-0",children:[o.jsxs(me.Top,{children:[o.jsx(me.TopCell,{children:"Workflow"}),o.jsx(me.TopCell,{children:"Schedule ID"}),o.jsx(me.TopCell,{children:"Cron"}),o.jsx(me.TopCell,{children:"Status"}),o.jsx(me.TopCell,{children:"Next fire"}),o.jsx(me.TopCell,{children:"Last run"})]}),a.length===0&&n?o.jsx(me.NoMatch,{message:"No schedules match your search"}):null,a.length===0&&!n?o.jsx(me.NoMatch,{message:"No schedules configured"}):null,a.map(i=>o.jsxs(me.RowLink,{to:r.scheduleLink(i.id),LinkComponent:s,children:[o.jsx(me.NameCell,{children:i.target.workflowId}),o.jsx(me.Cell,{height:"compact",className:"min-w-0",children:o.jsx("span",{className:"block truncate font-mono text-ui-smd text-neutral3",title:i.id,children:i.id})}),o.jsx(me.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("code",{className:"font-mono text-ui-sm",children:i.cron}),i.timezone?o.jsx("span",{className:"text-neutral4 text-ui-xs",children:i.timezone}):null]})}),o.jsx(me.Cell,{height:"compact",children:o.jsx(g8t,{status:i.status})}),o.jsx(me.Cell,{height:"compact",children:o.jsx("span",{className:"whitespace-nowrap",title:Aj(i.nextFireAt),children:sP(i.nextFireAt)})}),o.jsx(me.Cell,{height:"compact",children:i.lastRun?o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx(v8t,{status:i.lastRun.status}),o.jsx("span",{className:"text-neutral4 text-ui-sm",title:Aj(i.lastFireAt),children:i.lastFireAt?sP(i.lastFireAt):""})]}):i.lastFireAt?o.jsx("span",{className:"whitespace-nowrap",title:Aj(i.lastFireAt),children:sP(i.lastFireAt)}):o.jsx("span",{className:"text-neutral4",children:"Never"})})]},i.id))]})}function nss({workflowId:e}={}){const{data:t,isLoading:n,error:r}=Bxe(e?{workflowId:e}:{}),[s,a]=v.useState("");return r?o.jsx(Fi,{title:"Failed to load schedules",message:r.message}):o.jsxs("div",{className:"grid grid-rows-[auto_1fr] gap-4 h-full overflow-hidden",children:[o.jsx("div",{className:"max-w-120",children:o.jsx(Of,{onSearch:a,label:"Filter schedules",placeholder:"Filter by id or workflow"})}),o.jsx("div",{className:"overflow-y-auto",children:o.jsx(tss,{schedules:t??[],isLoading:n,search:s})})]})}function rss(){const[e]=ji(),t=e.get("workflowId")??void 0,{error:n}=Bxe(t?{workflowId:t}:{});return n&&gs(n)?o.jsx(lr,{children:o.jsx(Vs,{})}):n&&ys(n)?o.jsx(lr,{children:o.jsx(Ds,{resource:"schedules"})}):o.jsx(Lt,{children:o.jsx("div",{className:"h-full",children:o.jsx(nss,{workflowId:t})})})}function sss({stepGraph:e,open:t,workflowName:n}){const{nodes:r,edges:s}=b1e({stepGraph:e}),[a,i]=v.useState(!1),[l,c,u]=Z0t(r),[d]=G0t(s),{edgeTypes:f,nodeTypes:p,styledEdges:h}=VRt({edges:d,workflowName:n,stepGraph:e});return v.useEffect(()=>{t&&setTimeout(()=>{i(!0)},500)},[t]),o.jsx("div",{className:"w-full h-full relative bg-surface1",children:a?o.jsxs(W0t,{nodes:l,edges:h,edgeTypes:f,fitView:!0,fitViewOptions:{maxZoom:1},minZoom:.01,maxZoom:1,nodeTypes:p,onNodesChange:u,children:[o.jsx(I_e,{position:"bottom-left"}),o.jsx(Y0t,{variant:Kv.Lines,gap:12,size:.5})]}):o.jsx("div",{className:"w-full h-full flex items-center justify-center",children:o.jsx(Gt,{})})})}function ass(){const{stepDetail:e,closeStepDetail:t}=RV();return e?o.jsxs("div",{className:"flex flex-col h-full","data-testid":"workflow-step-detail-panel",children:[o.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border1 bg-surface1",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[e.type==="map-config"&&o.jsx(Lde,{className:"w-4 h-4",style:{color:xu.map}}),e.type==="nested-graph"&&o.jsx(kd,{className:"w-4 h-4",style:{color:xu.workflow}}),o.jsxs("div",{className:"flex flex-col",children:[o.jsx(ge,{variant:"ui-md",className:"text-neutral6 font-medium",children:e.type==="map-config"?`${e.stepName} Config`:`${e.stepName} Workflow`}),e.type==="map-config"&&e.stepId&&e.stepId!==e.stepName&&o.jsx(ge,{variant:"ui-xs",className:"text-neutral3",children:e.stepId})]})]}),o.jsx("button",{onClick:t,className:"p-1 hover:bg-surface3 rounded transition-colors","aria-label":"Close",children:o.jsx(vs,{className:"w-4 h-4 text-neutral3"})})]}),o.jsxs("div",{className:"flex-1 overflow-auto",children:[e.type==="map-config"&&e.mapConfig&&o.jsx(J2,{data:e.mapConfig}),e.type==="nested-graph"&&e.nestedGraph&&o.jsx("div",{className:"h-full min-h-[400px]",children:o.jsx(y1e,{children:o.jsx(sss,{stepGraph:e.nestedGraph.stepGraph,open:!0,workflowName:e.nestedGraph.fullStep})},`nested-graph-${e.nestedGraph.fullStep}`)})]})]}):null}function iss(e){const t=new Blob([JSON.stringify(e??null)]).size;return t<1024?`${t} B`:`${(t/1024).toFixed(1)} KB`}function oss(e,t){if(e&&typeof e=="object"&&!Array.isArray(e)){const n=Object.keys(e);if(n.length===1)return n[0]}return t}function lss({suspendedSteps:e,workflow:t,isStreaming:n,onResume:r}){return n||e.length===0?null:o.jsxs("div",{className:"space-y-5 rounded-lg border border-border1 bg-surface4 p-5","data-testid":"workflow-suspended-steps",children:[o.jsxs("div",{className:"flex items-center justify-between gap-3",children:[o.jsxs(ge,{as:"p",variant:"ui-md",className:"flex items-center gap-2 text-neutral6 font-semibold",children:[o.jsx(Ue,{children:o.jsx(ZU,{})}),"Step suspended"]}),o.jsx(fn,{variant:"warning",children:"Needs input"})]}),e.map((s,a)=>{const i=t.allSteps[s.stepId];if(!i||i.isWorkflow)return null;const l=i?.resumeSchema?im(sm(mx(i.resumeSchema))):rp(ur(),nT());return o.jsx(css,{step:s,stepSchema:l,description:i.description,isStreaming:n,onResume:r},`${s.runId}-${s.stepId}-${a}`)})]})}function css({step:e,stepSchema:t,description:n,isStreaming:r,onResume:s}){const[a,i]=v.useState(!1);return o.jsxs("div",{className:"space-y-5",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(ge,{as:"p",variant:"ui-md",className:"text-neutral6 font-medium truncate",children:e.stepId}),n&&o.jsx(ge,{as:"p",variant:"ui-sm",className:"text-neutral3",children:n})]}),e.suspendPayload&&o.jsxs("div",{className:"space-y-2",children:[o.jsxs(ge,{as:"p",variant:"ui-sm",className:"flex items-center gap-2 text-neutral3",children:[o.jsx(Ue,{children:o.jsx(Vun,{})}),"The step is asking"]}),o.jsxs(Lp,{open:a,onOpenChange:i,children:[o.jsxs(mf,{className:"flex w-full items-center justify-between gap-2 rounded-lg border border-border1 bg-surface3 px-3 py-2.5",children:[o.jsxs("span",{className:"flex items-center gap-2 min-w-0",children:[o.jsx(Ue,{children:o.jsx(la,{className:K("transition-transform text-neutral3",{"transform rotate-90":a})})}),o.jsx(ge,{as:"span",variant:"ui-md",className:"text-neutral6 truncate",children:oss(e.suspendPayload,e.stepId)})]}),o.jsx(ge,{as:"span",variant:"ui-sm",className:"text-neutral3 shrink-0",children:iss(e.suspendPayload)})]}),o.jsx(gf,{children:o.jsx("div",{"data-testid":"suspended-payload",className:"pt-2",children:o.jsx(Qr,{data:e.suspendPayload,className:"w-full overflow-x-auto p-2",showCopyButton:!1})})})]})]}),o.jsxs("div",{className:"space-y-3",children:[o.jsxs(ge,{as:"p",variant:"ui-sm",className:"flex items-center gap-2 text-neutral3",children:[o.jsx(Ue,{children:o.jsx(Zun,{})}),"Your response"]}),o.jsx("div",{className:"-mx-5",children:o.jsx(C7,{schema:t,isSubmitLoading:r,submitButtonLabel:"Resume",submitButtonIcon:o.jsx(Pp,{}),submitButtonFullWidth:!0,collapsible:!1,hideHeading:!0,hideInputTypeLabel:!0,onSubmit:l=>{const c=e.stepId?.split(".");s({stepId:c,runId:e.runId,suspendPayload:e.suspendPayload,resumeData:l,isLoading:!1})}})})]})]})}function uss(){const{result:e,runSnapshot:t,workflow:n,runId:r,isStreamingWorkflow:s}=v.useContext(Rl),{runId:a}=dr(),i=rwt(e,r??""),l=nZn(),c=!!a,u=t?.status==="suspended",f=!!(a&&r&&a===r)&&e?.status==="suspended";return s||!n||i.length===0||c&&!u&&!f?null:o.jsx("div",{"data-testid":"workflow-suspended-overlay",className:"absolute top-2 right-2 z-20 w-[380px] max-w-[calc(100%-1rem)] max-h-[calc(100%-1rem)] overflow-y-auto rounded-lg shadow-lg animate-in fade-in-0 slide-in-from-top-2 zoom-in-95 duration-300",children:o.jsx(lss,{suspendedSteps:i,workflow:n,isStreaming:s,onResume:l})},r)}const dss=e=>o.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.99982 2.0625C3.8252 2.0625 2.06232 3.82538 2.06232 6C2.06232 8.17462 3.8252 9.9375 5.99982 9.9375C8.17444 9.9375 9.93732 8.17462 9.93732 6C9.93732 3.82538 8.17444 2.0625 5.99982 2.0625ZM0.937317 6C0.937317 3.20406 3.20388 0.9375 5.99982 0.9375C8.79576 0.9375 11.0623 3.20406 11.0623 6C11.0623 8.79594 8.79576 11.0625 5.99982 11.0625C3.20388 11.0625 0.937317 8.79594 0.937317 6Z",fill:"currentColor"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.97865 4.57004C8.22604 4.75795 8.27426 5.11082 8.08635 5.35821L6.05486 8.03279C5.94873 8.17251 5.78348 8.25471 5.60803 8.25505C5.43257 8.2554 5.267 8.17385 5.16032 8.03454L3.80937 6.27034C3.6205 6.02369 3.66733 5.67063 3.91398 5.48176C4.16063 5.29288 4.51369 5.33972 4.70257 5.58637L5.6051 6.76498L7.19048 4.67774C7.37839 4.43036 7.73126 4.38213 7.97865 4.57004Z",fill:"currentColor"})]}),fss=e=>o.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.99982 2.0625C3.8252 2.0625 2.06232 3.82538 2.06232 6C2.06232 8.17462 3.8252 9.9375 5.99982 9.9375C8.17444 9.9375 9.93732 8.17462 9.93732 6C9.93732 3.82538 8.17444 2.0625 5.99982 2.0625ZM0.937317 6C0.937317 3.20406 3.20388 0.9375 5.99982 0.9375C8.79576 0.9375 11.0623 3.20406 11.0623 6C11.0623 8.79594 8.79576 11.0625 5.99982 11.0625C3.20388 11.0625 0.937317 8.79594 0.937317 6Z",fill:"currentColor"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.89741 4.10293C8.11707 4.32261 8.11706 4.67877 7.89738 4.89843L6.79517 6.00058L7.8962 7.10155C8.11588 7.32122 8.11589 7.67737 7.89623 7.89705C7.67656 8.11673 7.32041 8.11674 7.10073 7.89707L5.99965 6.79605L4.89856 7.89707C4.67889 8.11673 4.32273 8.11672 4.10307 7.89704C3.88341 7.67737 3.88342 7.32121 4.10309 7.10155L5.20413 6.00058L4.10191 4.89843C3.88224 4.67877 3.88223 4.32262 4.10189 4.10294C4.32155 3.88326 4.67771 3.88325 4.89738 4.10292L5.99965 5.20511L7.10191 4.10291C7.32159 3.88325 7.67774 3.88326 7.89741 4.10293Z",fill:"currentColor"})]}),pss=e=>e.includes("."),hss=e=>e==="input"||e.endsWith(".input"),mss=1;function gss(e){return`${Number((e/1e3).toPrecision(3))}s`}function vss(e,t){const n=Object.entries(e).filter(([i])=>!hss(i));if(n.length===0)return[];const r=Math.min(...n.map(([,i])=>i.startedAt)),s=Math.max(...n.map(([,i])=>i.endedAt??t)),a=Math.max(s-r,1);return n.map(([i,l])=>{const c=l.endedAt===void 0,d=(l.endedAt??t)-l.startedAt,f=(l.startedAt-r)/a*100,p=Math.max(d/a*100,mss);return{stepId:i,step:l,status:l.status,offsetPct:f,widthPct:p,durationMs:d,isRunning:c,isNestedEntry:pss(i)}})}const yss=({status:e})=>o.jsxs(Ue,{children:[e==="success"&&o.jsx(dss,{className:"text-accent1"}),e==="failed"&&o.jsx(fss,{className:"text-accent2"}),e==="suspended"&&o.jsx(ZU,{className:"text-accent3"}),e==="waiting"&&o.jsx(Dde,{className:"text-accent5"}),e==="skipped"&&o.jsx(Dde,{className:"text-icon3"}),e==="running"&&o.jsx(ia,{className:"text-accent6 animate-spin"})]}),bss={success:"bg-accent1",failed:"bg-accent2",suspended:"bg-accent3",waiting:"bg-accent5",skipped:"bg-border1",running:"bg-accent6"};function y8t(e){return e.split(/[-_.\s]+/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}const EQe=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{value:e},xss=e=>{const t=e;return $Rt({duration:t.duration,date:t.date,isForEach:t.isForEach,mapConfig:t.mapConfig,canSuspend:t.canSuspend,isParallel:t.isParallel,stepGraph:t.stepGraph})},wss=({row:e,index:t,isSelected:n,isHovered:r,onSelectStep:s,onHoverStep:a,onOpenInput:i,onOpenOutput:l})=>{const c=xss(e.step),u=e.status==="running",d=!e.isNestedEntry;return o.jsxs("div",{role:"button",tabIndex:0,"data-testid":"workflow-timeline-row","data-workflow-step-key":e.stepId,"data-workflow-step-active":n?"true":void 0,"data-workflow-step-hovered":r?"true":void 0,"data-workflow-step-nested":e.isNestedEntry?"true":void 0,"aria-pressed":n,"aria-disabled":!d,onMouseEnter:()=>{d&&a(e.stepId)},onMouseLeave:()=>{d&&a(null)},onClick:()=>{d&&s(e.stepId)},onKeyDown:f=>{!d||f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),s(e.stepId))},className:K("grid grid-cols-[auto_auto_auto_minmax(0,10rem)_minmax(0,1fr)_auto_5rem] items-center gap-2 rounded-md border border-transparent px-2 py-1 text-left transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-accent1",d&&"cursor-pointer",d&&"hover:bg-surface4",d&&r&&!n&&"border-neutral6 bg-surface4",d&&n&&"border-accent1",e.isNestedEntry&&"cursor-default opacity-55"),children:[o.jsx("div",{className:"flex justify-center",children:o.jsx(yss,{status:e.status})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(ue,{type:"button",variant:"ghost",size:"icon-sm",tooltip:"View step input",disabled:u,className:"text-neutral3 hover:text-neutral6 disabled:cursor-not-allowed disabled:opacity-40",onClick:f=>{f.stopPropagation(),u||i(e)},children:o.jsx(Hdn,{})})}),o.jsx("div",{className:"flex overflow-hidden",children:o.jsx(JB,{indicators:c,className:"shrink-0"})}),o.jsx(ge,{as:"span",variant:"ui-sm",className:"block min-w-0 max-w-full justify-self-stretch overflow-hidden text-ellipsis whitespace-nowrap text-left text-neutral6",children:y8t(e.stepId)}),o.jsx("div",{className:"relative h-2 min-w-0 rounded bg-surface4",children:o.jsx("div",{"data-testid":"workflow-timeline-bar","data-offset":String(e.offsetPct),"data-width":String(e.widthPct),className:`absolute top-0 h-full rounded ${bss[e.status]}`,style:{left:`${e.offsetPct}%`,width:`${e.widthPct}%`}})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(ue,{type:"button",variant:"ghost",size:"icon-sm",tooltip:"View step output",disabled:u,className:"text-neutral3 hover:text-neutral6 disabled:cursor-not-allowed disabled:opacity-40",onClick:f=>{f.stopPropagation(),u||l(e)},children:o.jsx(qdn,{})})}),o.jsx(ge,{as:"span",variant:"ui-sm",className:"w-20 justify-self-end text-right text-neutral3 tabular-nums",children:gss(e.durationMs)})]},`timeline-item-${e.stepId}-${t}`)};function Sss(){const{steps:e}=JD(),{selectedStepId:t,hoverStepId:n,setSelectedStepId:r,setHoverStepId:s}=Vq(),[a,i]=v.useState(()=>Date.now()),[l,c]=v.useState(!1),[u,d]=v.useState(null),f=v.useRef(null);Qxe(f,{enabled:!l});const p=vss(e,a),h=p.some(m=>m.isRunning);return v.useEffect(()=>{if(!h)return;const m=setInterval(()=>i(Date.now()),100);return()=>clearInterval(m)},[h]),v.useEffect(()=>{if(l||p.length===0)return;const m=f.current;m&&(m.scrollTop=m.scrollHeight)},[l,p.length]),p.length===0?null:o.jsxs(o.Fragment,{children:[o.jsx("div",{"data-testid":"workflow-timeline",className:"pointer-events-none absolute right-0 bottom-0 z-20 px-2 pb-2",style:{left:"var(--workflow-left-panel-width, 0px)"},children:o.jsxs("div",{className:"pointer-events-auto flex max-h-64 w-full min-w-0 flex-col gap-3 overflow-hidden rounded-studio-panel border border-border1/50 bg-surface3 p-4 shadow-lg",children:[o.jsxs("div",{className:"flex shrink-0 items-center justify-between gap-3",children:[o.jsx(ge,{as:"p",variant:"ui-md",className:"text-neutral3",children:"Timeline"}),o.jsx("button",{type:"button","aria-label":l?"Expand timeline":"Collapse timeline","aria-expanded":!l,onClick:()=>c(m=>!m),className:"rounded-md p-1 text-neutral3 transition-colors hover:bg-surface4 hover:text-neutral6",children:o.jsx(Na,{className:K("h-4 w-4 transition-transform",l&&"-rotate-90")})})]}),!l&&o.jsx("div",{ref:f,"data-testid":"workflow-timeline-list",className:"flex min-h-0 flex-col gap-2 overflow-y-auto",children:p.map((m,g)=>o.jsx(wss,{row:m,index:g,isSelected:t===m.stepId,isHovered:n===m.stepId,onSelectStep:r,onHoverStep:s,onOpenInput:y=>d({type:"input",stepId:y.stepId,data:EQe(y.step.input)}),onOpenOutput:y=>d({type:"output",stepId:y.stepId,data:EQe(y.step.output)})},`timeline-item-${m.stepId}-${g}`))})]})}),o.jsx(br,{open:!!u,onOpenChange:m=>!m&&d(null),children:u&&o.jsx(awt,{data:u.data,title:`${y8t(u.stepId)} ${u.type==="input"?"input":"output"}`})})]})}const kss=({workflowId:e,workflow:t,isLoading:n})=>{const{stepDetail:r}=RV();return o.jsxs("div",{className:"flex h-full min-h-0",children:[o.jsx("div",{className:"flex h-full min-h-0 flex-1 flex-col",children:o.jsxs("div",{className:"relative min-h-0 flex-1 p-2 pb-0",children:[o.jsx(KRt,{workflowId:e,workflow:t,isLoading:n}),o.jsx(uss,{}),o.jsx(Sss,{})]})}),r&&o.jsx("div",{className:"w-[420px] min-h-0 overflow-hidden border-l border-border1",children:o.jsx(ass,{})})]})},jQe=()=>{const{workflowId:e}=dr(),{data:t,isLoading:n,error:r}=hD(e);return r&&gs(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Vs,{})}):r&&ys(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ds,{resource:"workflows"})}):o.jsx(L1e,{children:o.jsx(kss,{workflowId:e,workflow:t??void 0,isLoading:n})})};function Oss(e,t){if(e==null)return{};var n,r,s=cbt(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}function Pve(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function _ss(e){if(Array.isArray(e))return Pve(e)}function Css(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Ess(e,t){if(e){if(typeof e=="string")return Pve(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Pve(e,t):void 0}}function jss(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
727
|
+
]`})]})]})}function ses({errors:e,maxErrors:t=5}){if(e.length===0)return null;const n=e.slice(0,t),r=e.length-t;return o.jsxs("div",{className:"bg-accent2/10 border border-accent2/30 rounded-md p-3",children:[o.jsxs("div",{className:"flex items-center gap-2 text-accent2 mb-2",children:[o.jsx(Ue,{children:o.jsx(kp,{className:"w-4 h-4"})}),o.jsxs("span",{className:"font-medium text-sm",children:[e.length," validation error",e.length!==1?"s":""]})]}),o.jsx("ul",{className:"text-sm text-accent2/80 space-y-1",children:n.map((s,a)=>o.jsxs("li",{className:"flex gap-2",children:[o.jsx("span",{className:"shrink-0",children:"•"}),o.jsx("span",{children:s.message})]},a))}),r>0&&o.jsxs("div",{className:"text-xs text-accent2/60 mt-2",children:["+",r," more error",r!==1?"s":""]})]})}function aes({datasetId:e,open:t,onOpenChange:n,onSuccess:r}){const[s,a]=v.useState("upload"),[i,l]=v.useState(null),[c,u]=v.useState({current:0,total:0}),[d,f]=v.useState(null),[p,h]=v.useState(!1),{parseFile:m,isParsing:g,error:y}=IKr(),{batchInsertItems:b}=_i(),w=v.useCallback(async I=>{try{const R=await m(I);l(R),a("preview")}catch{}},[m]),S=v.useCallback(async()=>{if(!i||i.items.length===0)return;a("importing"),h(!0);const{items:I}=i;u({current:0,total:I.length});try{await b.mutateAsync({datasetId:e,items:I.map(R=>({input:R.input,groundTruth:R.groundTruth,metadata:R.metadata}))}),f({success:I.length,errors:0})}catch{f({success:0,errors:I.length})}u({current:I.length,total:I.length}),h(!1),a("complete")},[i,b,e]),k=v.useCallback(()=>{n(!1),r?.(),d&&d.success>0&&De.success(`Imported ${d.success} item${d.success!==1?"s":""}`),setTimeout(()=>{a("upload"),l(null),u({current:0,total:0}),f(null)},150)},[n,r,d]),_=v.useCallback(()=>{p||(n(!1),setTimeout(()=>{a("upload"),l(null),u({current:0,total:0}),f(null)},150))},[p,n]),C=i&&i.items.length>0&&i.errors.length===0,E=()=>{switch(s){case"upload":return o.jsx(res,{onFileSelect:w,isParsing:g,error:y?.message});case"preview":return i?o.jsx("div",{className:"flex flex-col gap-4",children:i.errors.length>0?o.jsxs(o.Fragment,{children:[o.jsx(ses,{errors:i.errors}),o.jsx("div",{className:"text-sm text-neutral4",children:"Please fix the errors in your JSON file and try again."})]}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"text-sm text-neutral4",children:["Found ",i.items.length," valid item",i.items.length!==1?"s":""," to import."]}),o.jsx(nes,{items:i.items,maxRows:5})]})}):null;case"importing":return o.jsxs("div",{className:"flex flex-col items-center gap-4 py-8",children:[o.jsx(Gt,{}),o.jsxs("div",{className:"text-center",children:[o.jsx("div",{className:"text-lg font-medium text-neutral1",children:"Importing items..."}),o.jsxs("div",{className:"text-sm text-neutral4 mt-1",children:[c.current," of ",c.total]})]})]});case"complete":return o.jsxs("div",{className:"flex flex-col items-center gap-4 py-8",children:[o.jsx("div",{className:"text-4xl",children:d&&d.errors===0?"✓":"⚠"}),o.jsxs("div",{className:"text-center",children:[o.jsx("div",{className:"text-lg font-medium text-neutral1",children:"Import Complete"}),o.jsxs("div",{className:"text-sm text-neutral4 mt-1",children:[d?.success??0," item",d?.success!==1?"s":""," imported",d&&d.errors>0&&o.jsxs("span",{className:"text-accent2",children:[" ","(",d.errors," error",d.errors!==1?"s":"",")"]})]})]})]})}},j=()=>{switch(s){case"upload":return o.jsx(ue,{onClick:_,children:"Cancel"});case"preview":return o.jsxs(o.Fragment,{children:[o.jsx(ue,{onClick:()=>a("upload"),children:"Back"}),o.jsxs(ue,{variant:"primary",onClick:S,disabled:!C,children:["Import ",i?.items.length??0," Item",i?.items.length!==1?"s":""]})]});case"importing":return null;case"complete":return o.jsx(ue,{variant:"primary",onClick:k,children:"Done"})}},N={upload:"Import JSON",preview:"Preview Data",importing:"Importing",complete:"Import Complete"};return o.jsx(br,{open:t,onOpenChange:_,children:o.jsxs(xr,{className:"max-w-2xl max-h-[90vh]",children:[o.jsxs(wr,{children:[o.jsx(gr,{children:N[s]}),o.jsx(Qs,{children:"Import dataset items from a JSON file."})]}),o.jsx(Ar,{className:"min-h-[200px] max-h-[50vh] overflow-y-auto",children:E()}),o.jsx(kc,{className:"px-6 pt-4 flex justify-end gap-2",children:j()})]})})}const fTe=e=>{const t=We(),{data:n}=GM(e),r=n?.experiments;return wt({queryKey:["dataset-review-items",e,r?.map(s=>s.id)],queryFn:async()=>!r||r.length===0?[]:(await Promise.all(r.map(async a=>{if(!a.datasetId)return[];try{const{results:i}=await t.listDatasetExperimentResults(a.datasetId,a.id);return i.filter(l=>l.status==="needs-review").map(l=>({id:l.id,input:l.input,output:l.output,error:l.error,itemId:l.itemId,experimentId:l.experimentId,datasetId:a.datasetId??void 0,traceId:l.traceId??void 0,scores:l.scores?Object.fromEntries(l.scores.map(c=>[c.scorerId,c.score??0])):{},tags:l.tags??[],comment:""}))}catch{return[]}}))).flat(),enabled:!!e&&!!r&&r.length>0,refetchOnWindowFocus:!1})},ies=e=>{const t=We(),{data:n}=GM(e),r=n?.experiments;return wt({queryKey:["dataset-completed-items",e,r?.map(s=>s.id)],queryFn:async()=>!r||r.length===0?[]:(await Promise.all(r.map(async a=>{if(!a.datasetId)return[];try{const{results:i}=await t.listDatasetExperimentResults(a.datasetId,a.id);return i.filter(l=>l.status==="complete").map(l=>({id:l.id,input:l.input,output:l.output,error:l.error,itemId:l.itemId,experimentId:l.experimentId,datasetId:a.datasetId??void 0,traceId:l.traceId??void 0,scores:l.scores?Object.fromEntries(l.scores.map(c=>[c.scorerId,c.score??0])):{},tags:l.tags??[],comment:""}))}catch{return[]}}))).flat(),enabled:!!e&&!!r&&r.length>0,refetchOnWindowFocus:!1})};function oes(e,t){if(typeof e=="string")return e.length>t?e.slice(0,t)+"...":e;try{const n=JSON.stringify(e);return n.length>t?n.slice(0,t)+"...":n}catch{return String(e)}}function s8t({datasetId:e,experimentId:t,featuredItemId:n}){const r=We(),{data:s}=Ux(e),{data:a,isLoading:i}=fTe(e),{data:l,isLoading:c}=ies(e),u=v.useMemo(()=>t?(a??[]).filter(Ce=>Ce.experimentId===t):a,[a,t]),d=v.useMemo(()=>t?(l??[]).filter(Ce=>Ce.experimentId===t):l,[l,t]),{updateExperimentResult:f}=_i(),[p,h]=v.useState(n??null);v.useEffect(()=>{n!==void 0&&h(n)},[n]);const[m,g]=v.useState(null),[y,b]=v.useState(new Set),[w,S]=v.useState(!1),[k,_]=v.useState(!1),[C,E]=v.useState(!1),[j,N]=v.useState(""),[I,R]=v.useState(""),[$,F]=v.useState(""),[D,V]=v.useState([]),[W,L]=v.useState(!1),[z,B]=v.useState(null),M=v.useMemo(()=>z??u??[],[z,u]);v.useEffect(()=>{B(null)},[e,t]),v.useEffect(()=>{u&&z===null&&B(u)},[u,z]);const G=v.useMemo(()=>{const Ce=new Set;if(s?.tags)for(const je of s.tags)Ce.add(je);for(const je of M)for(const _e of je.tags)Ce.add(_e);return[...Ce].sort()},[s,M]),U=v.useCallback(Ce=>{!s||!e||(s.tags??[]).includes(Ce)},[s,e]),P=v.useMemo(()=>m?m==="__untagged__"?M.filter(Ce=>Ce.tags.length===0):M.filter(Ce=>Ce.tags.includes(m)):M,[M,m]),q=v.useMemo(()=>{const Ce=new Map;for(const je of M)for(const _e of je.tags)Ce.set(_e,(Ce.get(_e)??0)+1);return[...Ce.entries()].sort((je,_e)=>_e[1]-je[1])},[M]),Z=v.useMemo(()=>M.filter(Ce=>Ce.tags.length===0).length,[M]),X=v.useMemo(()=>{let Ce=0;return m&&Ce++,w&&Ce++,Ce},[m,w]),te=v.useCallback((Ce,je)=>{B(Oe=>(Oe??[]).map(Re=>Re.id===Ce?{...Re,tags:je}:Re));const _e=M.find(Oe=>Oe.id===Ce);_e?.experimentId&&_e?.datasetId&&f.mutate({datasetId:_e.datasetId,experimentId:_e.experimentId,resultId:_e.id,tags:je})},[M,f]),J=v.useCallback((Ce,je)=>{const _e=M.find(Oe=>Oe.id===Ce);_e?.traceId&&je!==void 0&&r.createFeedback({feedback:{traceId:_e.traceId,source:"studio",feedbackSource:"studio",feedbackType:"rating",value:je==="positive"?1:-1,experimentId:_e.experimentId??void 0,sourceId:_e.id}}).catch(()=>{}),B(Oe=>(Oe??[]).map(Re=>Re.id===Ce?{...Re,rating:je}:Re))},[M,r]),ee=v.useCallback((Ce,je)=>{const _e=M.find(Oe=>Oe.id===Ce);_e?.traceId&&r.createFeedback({feedback:{traceId:_e.traceId,source:"studio",feedbackSource:"studio",feedbackType:"comment",value:je,comment:je,experimentId:_e.experimentId??void 0,sourceId:_e.id}}).catch(()=>{}),B(Oe=>(Oe??[]).map(Re=>Re.id===Ce?{...Re,comment:je}:Re))},[M,r]),ae=v.useCallback(Ce=>{const je=M.find(_e=>_e.id===Ce);B(_e=>(_e??[]).filter(Oe=>Oe.id!==Ce)),b(_e=>{const Oe=new Set(_e);return Oe.delete(Ce),Oe}),p===Ce&&h(null),je?.experimentId&&je?.datasetId&&f.mutate({datasetId:je.datasetId,experimentId:je.experimentId,resultId:je.id,status:null})},[M,f,p]),de=v.useCallback(Ce=>{const je=M.find(_e=>_e.id===Ce);B(_e=>(_e??[]).filter(Oe=>Oe.id!==Ce)),b(_e=>{const Oe=new Set(_e);return Oe.delete(Ce),Oe}),p===Ce&&h(null),je?.experimentId&&je?.datasetId&&f.mutate({datasetId:je.datasetId,experimentId:je.experimentId,resultId:je.id,status:"complete"})},[M,f,p]),Y=v.useMemo(()=>{const Ce=w?d??[]:P;return!w||!m?Ce:m==="__untagged__"?Ce.filter(je=>je.tags.length===0):Ce.filter(je=>je.tags.includes(m))},[w,d,P,m]),ne=w?c:!1,ce=v.useMemo(()=>new Set(Y.map(Ce=>Ce.id)),[Y]),pe=v.useMemo(()=>[...y].filter(Ce=>ce.has(Ce)).length,[y,ce]),le=Y.length>0&&pe===Y.length,ve=pe>0&&!le,ye=v.useCallback(Ce=>{b(je=>{const _e=new Set(je);return _e.has(Ce)?_e.delete(Ce):_e.add(Ce),_e})},[]),Se=v.useCallback(()=>{b(le?new Set:new Set(Y.map(Ce=>Ce.id)))},[le,Y]),Ne=v.useCallback(Ce=>{for(const je of y){const _e=M.find(Oe=>Oe.id===je);_e&&!_e.tags.includes(Ce)&&te(je,[..._e.tags,Ce])}},[M,y,te]),ke=v.useCallback(Ce=>{for(const je of y){const _e=M.find(Oe=>Oe.id===je);_e&&_e.tags.includes(Ce)&&te(je,_e.tags.filter(Oe=>Oe!==Ce))}},[M,y,te]),Ie=v.useCallback(()=>{for(const Ce of y)de(Ce);b(new Set)},[y,de]),ze=v.useCallback(()=>{for(const Ce of y)ae(Ce);b(new Set)},[y,ae]),oe=v.useCallback(()=>{N(""),E(!0)},[]),se=v.useCallback(async()=>{if(!(!I||!$)){_(!0),E(!1);try{const Ce=M.filter(_e=>y.has(_e.id));if(Ce.length===0){_(!1);return}const je=await r.clusterFailures({modelId:`${I}/${$}`,items:Ce.map(_e=>({id:_e.id,input:_e.input,output:_e.output??void 0,error:typeof _e.error=="string"?_e.error:_e.error?String(_e.error):void 0,scores:_e.scores,existingTags:_e.tags.length>0?_e.tags:void 0})),availableTags:G.length>0?G:void 0,prompt:j||void 0});je.proposedTags&&je.proposedTags.length>0&&(V(je.proposedTags.map(_e=>({..._e,accepted:!0}))),L(!0))}catch(Ce){console.error("Analysis failed:",Ce)}finally{_(!1)}}},[I,$,M,y,r,G,j]),re=v.useCallback(()=>{for(const Ce of D){if(!Ce.accepted)continue;const je=M.find(_e=>_e.id===Ce.itemId);if(je){const _e=[...new Set([...je.tags,...Ce.tags])];te(je.id,_e)}}L(!1)},[D,M,te]),he=v.useCallback(Ce=>{h(je=>je===Ce?null:Ce)},[]),xe=v.useMemo(()=>p?Y.find(Ce=>Ce.id===p)??null:null,[p,Y]),Ee=p?Y.findIndex(Ce=>Ce.id===p):-1,Pe=Ee>0?()=>h(Y[Ee-1].id):void 0,Qe=Ee>=0&&Ee<Y.length-1?()=>h(Y[Ee+1].id):void 0,Ze="auto minmax(15rem,1fr) 10rem 8rem 6rem 6rem";return i?o.jsx("div",{className:"flex-1 flex items-center justify-center",children:o.jsx(Gt,{className:"w-6 h-6"})}):o.jsxs("div",{className:"flex flex-1 min-h-0 overflow-hidden",children:[o.jsx(br,{open:C,onOpenChange:E,children:o.jsxs(xr,{children:[o.jsxs(wr,{children:[o.jsx(gr,{children:"Analyze Items"}),o.jsx(Qs,{children:"Use an LLM to automatically suggest tags for the selected items."})]}),o.jsxs("div",{className:"space-y-4 py-2",children:[o.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[o.jsxs("div",{children:[o.jsx(Rt,{className:"text-xs mb-1 block",children:"Provider"}),o.jsx(Fy,{value:I,onValueChange:R})]}),o.jsxs("div",{children:[o.jsx(Rt,{className:"text-xs mb-1 block",children:"Model"}),o.jsx(zy,{llmId:I,value:$,onValueChange:F})]})]}),o.jsxs(ge,{variant:"ui-xs",className:"text-neutral3",children:[y.size," item",y.size!==1?"s":""," will be analyzed"]}),o.jsxs("div",{children:[o.jsx(Rt,{className:"text-xs",children:"Instructions (optional)"}),o.jsx(Yl,{value:j,onChange:Ce=>N(Ce.target.value),placeholder:"E.g., Focus on safety issues and factual errors...",rows:3,className:"text-xs mt-1"})]})]}),o.jsxs(kc,{children:[o.jsx(ue,{variant:"outline",onClick:()=>E(!1),children:"Cancel"}),o.jsxs(ue,{onClick:se,disabled:!I||!$||k,children:[k?o.jsx(Gt,{className:"w-4 h-4 mr-1"}):null,"Analyze"]})]})]})}),o.jsx(br,{open:W,onOpenChange:L,children:o.jsxs(xr,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[o.jsxs(wr,{children:[o.jsx(gr,{children:"Review Proposed Tags"}),o.jsxs(Qs,{children:[D.filter(Ce=>Ce.accepted).length," of ",D.length," proposals selected"]})]}),o.jsx("div",{className:"space-y-3 py-2",children:D.map((Ce,je)=>{const _e=M.find(Oe=>Oe.id===Ce.itemId);return o.jsx("div",{className:K("p-3 border rounded-lg",!Ce.accepted&&"opacity-50"),children:o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx($o,{checked:Ce.accepted,onCheckedChange:Oe=>V(Re=>Re.map((qe,Ke)=>Ke===je?{...qe,accepted:!!Oe}:qe))}),o.jsxs("div",{className:"flex-1 min-w-0",children:[o.jsx(ge,{variant:"ui-xs",className:"text-neutral4 truncate block",children:_e?typeof _e.input=="string"?_e.input.slice(0,100):JSON.stringify(_e.input).slice(0,100):Ce.itemId}),o.jsx("div",{className:"flex gap-1 flex-wrap mt-1.5",children:Ce.tags.map((Oe,Re)=>o.jsx(L6t,{tag:Oe,onRename:qe=>V(Ke=>Ke.map((Ge,Ot)=>Ot===je?{...Ge,tags:Ge.tags.map((yt,rn)=>rn===Re?qe:yt)}:Ge)),onRemove:()=>V(qe=>qe.map((Ke,Ge)=>Ge===je?{...Ke,tags:Ke.tags.filter((Ot,yt)=>yt!==Re)}:Ke))},`${Oe}-${Re}`))}),Ce.reason&&o.jsx(ge,{variant:"ui-xs",className:"text-neutral3 mt-1 block italic",children:Ce.reason})]})]})},Ce.itemId)})}),o.jsxs(kc,{children:[o.jsx(ue,{variant:"outline",onClick:()=>L(!1),children:"Cancel"}),o.jsxs(ue,{onClick:re,disabled:D.filter(Ce=>Ce.accepted).length===0,children:["Accept ",D.filter(Ce=>Ce.accepted).length," proposals"]})]})]})}),o.jsxs("div",{className:K("grid w-full h-full grid-cols-1 gap-4 overflow-y-auto",xe&&"grid-cols-[1fr_1fr]"),children:[o.jsxs("div",{className:"grid gap-8 content-start w-full overflow-y-auto",children:[o.jsxs("div",{className:"flex items-center justify-between w-full flex-wrap gap-4 gap-x-6",children:[o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsxs(ft,{children:[o.jsx(ft.Trigger,{asChild:!0,children:o.jsxs(ue,{variant:"outline",size:"md",children:[o.jsx(vlt,{}),"Filter",X>0&&o.jsx("span",{className:K("ml-0.5 inline-flex items-center justify-center rounded-full bg-accent1/50 text-neutral5 text-ui-sm w-5 h-5"),children:X})]})}),o.jsxs(ft.Content,{align:"start",className:K("min-w-48"),children:[o.jsxs(ft.Sub,{children:[o.jsxs(ft.SubTrigger,{children:["Status",w&&o.jsx("span",{className:K("ml-auto text-ui-sm text-accent1"),children:"1"})]}),o.jsxs(ft.SubContent,{children:[o.jsx(ft.CheckboxItem,{checked:!w,onCheckedChange:()=>{S(!1),h(null)},onSelect:Ce=>Ce.preventDefault(),children:"Review Queue"}),o.jsx(ft.CheckboxItem,{checked:w,onCheckedChange:()=>{S(!0),h(null)},onSelect:Ce=>Ce.preventDefault(),children:"Completed"})]})]}),o.jsxs(ft.Sub,{children:[o.jsxs(ft.SubTrigger,{children:["Tags",m&&o.jsx("span",{className:K("ml-auto text-ui-sm text-accent1"),children:"1"})]}),o.jsxs(ft.SubContent,{children:[o.jsx(ft.CheckboxItem,{checked:!m,onCheckedChange:()=>g(null),onSelect:Ce=>Ce.preventDefault(),children:"All"}),Z>0&&o.jsx(ft.CheckboxItem,{checked:m==="__untagged__",onCheckedChange:()=>g(m==="__untagged__"?null:"__untagged__"),onSelect:Ce=>Ce.preventDefault(),children:"Untagged"}),q.length>0&&o.jsx(ft.Separator,{}),q.map(([Ce])=>o.jsx(ft.CheckboxItem,{checked:m===Ce,onCheckedChange:()=>g(m===Ce?null:Ce),onSelect:je=>je.preventDefault(),children:Ce},Ce))]})]}),X>0&&o.jsxs(o.Fragment,{children:[o.jsx(ft.Separator,{}),o.jsxs(ft.Item,{onSelect:()=>{g(null),S(!1),h(null)},children:[o.jsx(vs,{}),"Clear all filters"]})]})]})]}),X>0&&o.jsxs(ue,{variant:"outline",size:"md",onClick:()=>{g(null),S(!1),h(null)},children:[o.jsx(vs,{}),"Reset"]})]}),!w&&y.size>0&&o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(D6t,{selectedCount:y.size,vocabulary:G,onApplyTag:Ne,onRemoveTag:ke,onNewTag:Ce=>Ne(Ce)}),o.jsxs(ft,{children:[o.jsx(ft.Trigger,{asChild:!0,children:o.jsxs(ue,{disabled:k,children:[k?o.jsx(Gt,{className:"w-4 h-4"}):o.jsx(Ue,{size:"sm",children:o.jsx(Na,{})}),"Actions"]})}),o.jsxs(ft.Content,{align:"end",children:[o.jsxs(ft.Item,{onSelect:Ie,children:[o.jsx(Ue,{size:"sm",children:o.jsx(rO,{})}),"Complete"]}),o.jsxs(ft.Item,{onSelect:ze,children:[o.jsx(Ue,{size:"sm",children:o.jsx(Jc,{})}),"Remove"]}),o.jsx(ft.Separator,{}),o.jsxs(ft.Item,{onSelect:oe,children:[o.jsx(Ue,{size:"sm",children:o.jsx(bg,{})}),"Analyze"]})]})]})]})]}),ne?o.jsx("div",{className:"flex-1 flex items-center justify-center",children:o.jsx(Gt,{className:"w-6 h-6"})}):Y.length===0?o.jsx("div",{className:"flex-1 flex items-center justify-center",children:o.jsxs("div",{className:"text-center px-8",children:[o.jsx(ge,{variant:"ui-sm",className:"text-neutral3 block",children:w?"No completed reviews yet":"No items to review"}),o.jsx(ge,{variant:"ui-xs",className:"text-neutral3 mt-2 block",children:w?"Items marked as complete will appear here for auditing.":"When experiment results are flagged for review, they will appear here."})]})}):o.jsxs(me,{columns:Ze,className:"min-w-0",children:[o.jsxs(me.Top,{hasLeadingCell:!0,children:[w?o.jsx(me.TopCell,{children:" "}):o.jsx(me.TopSelectCell,{checked:le?!0:ve?"indeterminate":!1,onToggle:()=>Se(),"aria-label":"Select all"}),o.jsxs(me.TopCells,{colStart:2,children:[o.jsx(me.TopCell,{children:"Input"}),o.jsx(me.TopCell,{children:"Comment"}),o.jsx(me.TopCell,{children:"Tags"}),o.jsx(me.TopCell,{children:"Rating"}),o.jsx(me.TopCell,{children:"Scores"})]})]}),Y.map(Ce=>{const je=Ce.scores?Object.entries(Ce.scores):[],_e=p===Ce.id,Oe=o.jsxs(o.Fragment,{children:[o.jsx(me.Cell,{height:"compact",className:"min-w-0 text-neutral4",children:o.jsx("span",{className:"block truncate",children:oes(Ce.input,200)})}),o.jsx(me.Cell,{height:"compact",className:"min-w-0",children:Ce.comment?o.jsx(ge,{variant:"ui-xs",className:"text-neutral3 truncate",children:Ce.comment}):o.jsx(ge,{variant:"ui-xs",className:"text-neutral2",children:"—"})}),o.jsx(me.Cell,{height:"compact",className:"min-w-0",children:Ce.tags.length>0?o.jsx(ge,{variant:"ui-xs",className:"text-neutral4 truncate",children:Ce.tags.join(", ")}):o.jsx(ge,{variant:"ui-xs",className:"text-neutral2",children:"—"})}),o.jsxs(me.Cell,{height:"compact",children:[Ce.rating==="positive"&&o.jsx(Ue,{size:"sm",className:"text-positive1",children:o.jsx(Jye,{})}),Ce.rating==="negative"&&o.jsx(Ue,{size:"sm",className:"text-negative1",children:o.jsx(Kye,{})}),!Ce.rating&&o.jsx(ge,{variant:"ui-xs",className:"text-neutral2",children:"—"})]}),o.jsx(me.Cell,{height:"compact",children:je.length>0?o.jsxs("div",{className:"flex items-center gap-1",children:[o.jsx(Ue,{size:"sm",className:"text-neutral3",children:o.jsx(Jh,{})}),o.jsx(ge,{variant:"ui-xs",className:"text-neutral4 font-mono",children:je[0][1].toFixed(2)}),je.length>1&&o.jsxs(fn,{variant:"default",children:["+",je.length-1]})]}):o.jsx(ge,{variant:"ui-xs",className:"text-neutral2",children:"—"})})]});return o.jsxs(me.RowWrapper,{children:[w?o.jsx(me.Cell,{height:"compact",className:"justify-items-center px-4",children:o.jsx("div",{role:"img","aria-label":Ce.error?"Error":"Success",title:Ce.error?"Error":"Success",className:K("w-2 h-2 rounded-full",Ce.error?"bg-red-700":"bg-green-600")})}):o.jsx(me.SelectCell,{checked:y.has(Ce.id),onToggle:()=>ye(Ce.id),"aria-label":`Select item ${Ce.id}`}),o.jsx(me.RowButton,{flushLeft:!0,colStart:2,featured:_e,onClick:()=>he(Ce.id),children:Oe})]},Ce.id)})]})]}),xe&&o.jsx(M6t,{item:xe,isCompleted:w,tagVocabulary:G,onRate:Ce=>J(xe.id,Ce),onSetTags:Ce=>{te(xe.id,Ce);for(const je of Ce)G.includes(je)||U(je)},onComment:Ce=>ee(xe.id,Ce),onRemove:()=>ae(xe.id),onComplete:w?void 0:()=>de(xe.id),onPrevious:Pe,onNext:Qe,onClose:()=>h(null)})]})]})}function les({datasetId:e,onAddItemClick:t,onNavigateToDataset:n}){const{navigate:r}=yn(),[s,a]=ji(),{tab:i,activeVersion:l,handleTabChange:c}=uTe(s,a),[u,d]=v.useState(!1),[f,p]=v.useState(!1),[h,m]=v.useState(!1),[g,y]=v.useState([]),[b,w]=v.useState(!1),[S,k]=v.useState([]),[_,C]=v.useState(!1),[E,j]=v.useState([]),[N,I]=v.useState(0),[R,$]=v.useState(null),[F,D]=v.useState(""),[V]=w0e(F,300),{data:W}=Ux(e),{data:L=[],total:z,isLoading:B,setEndOfListElement:M,isFetchingNextPage:G,hasNextPage:U}=_1(e,V||void 0,l),{total:P}=_1(e,void 0,l),[q,Z]=v.useState({}),{data:X,isLoading:te}=GM(e,void 0,q),{data:J}=GM(e),{deleteItems:ee}=_i(),ae=X?.experiments??[],de=J?.experiments??[],Y=cJr({hasSearchQuery:!!V,filteredItemsLength:L.length,unfilteredItemsTotal:P,itemsTotal:z}),{data:ne}=fTe(e),ce=ne?.length??0,pe=re=>{$(re)},le=()=>{$(null)},ve=re=>{y(re),m(!0)},ye=re=>{k(re),w(!0)},Se=re=>{w(re),re||(k([]),I(he=>he+1))},Ne=re=>{r(`/datasets/${e}/items?items=${re.join(",")}`)},ke=re=>{r(`/datasets/${e}/versions?ids=${re.join(",")}`)},Ie=re=>{j(re),C(!0)},ze=async()=>{await ee.mutateAsync({datasetId:e,itemIds:E}),De.success(`Deleted ${E.length} items`),C(!1),j([]),I(re=>re+1)},oe=re=>{m(!1),y([]),I(he=>he+1),n?.(re)},se=re=>{m(re),re||(y([]),I(he=>he+1))};return o.jsxs(o.Fragment,{children:[o.jsxs(ru,{defaultTab:"items",value:i,onValueChange:c,className:"grid grid-rows-[auto_1fr] h-full",children:[o.jsxs(su,{children:[o.jsxs(Vr,{value:"items",children:["Items ",o.jsx(Xs,{color:"gray",children:Y})]}),o.jsxs(Vr,{value:"experiments",children:["Experiments",o.jsx(Xs,{color:"gray",children:ae.length})]}),o.jsxs(Vr,{value:"review",children:["Review",ce>0&&o.jsx(Xs,{color:"orange",children:ce})]})]}),o.jsx(ps,{value:"items",className:"grid overflow-auto mt-5 pb-0",children:o.jsx(tes,{datasetId:e,items:L,isLoading:B,featuredItemId:R,onItemSelect:pe,onItemClose:le,onAddClick:t??(()=>{}),onImportClick:()=>d(!0),onImportJsonClick:()=>p(!0),onBulkDeleteClick:Ie,onCreateDatasetClick:ve,onAddToDatasetClick:ye,onCompareItemsClick:Ne,datasetName:W?.name,clearSelectionTrigger:N,setEndOfListElement:M,isFetchingNextPage:G,hasNextPage:U,searchQuery:F,activeSearchQuery:V,onSearchChange:D,currentDatasetVersion:W?.version,onCompareVersionsClick:ke})}),o.jsx(ps,{value:"experiments",className:"grid overflow-auto mt-5 pb-0",children:o.jsx(CJr,{experiments:ae,allExperiments:de,isLoading:te,datasetId:e,filters:q,onFiltersChange:Z})}),o.jsx(ps,{value:"review",className:"overflow-auto mt-2 pb-0",children:o.jsx(s8t,{datasetId:e})})]}),o.jsx(yJr,{datasetId:e,open:u,onOpenChange:d}),o.jsx(aes,{datasetId:e,open:f,onOpenChange:p}),o.jsx(GKr,{open:h,onOpenChange:se,items:g,onSuccess:oe}),o.jsx(QKr,{open:b,onOpenChange:Se,items:S,currentDatasetId:e}),o.jsx(Tt,{open:_,onOpenChange:C,children:o.jsxs(Tt.Content,{children:[o.jsxs(Tt.Header,{children:[o.jsx(Tt.Title,{children:"Delete Items"}),o.jsxs(Tt.Description,{children:["Are you sure you want to delete ",E.length," item",E.length!==1?"s":"","? This action cannot be undone."]})]}),o.jsxs(Tt.Footer,{children:[o.jsx(Tt.Cancel,{children:"Cancel"}),o.jsx(Tt.Action,{onClick:ze,children:ee.isPending?"Deleting...":"Delete"})]})]})})]})}function ces(e){if(!(e instanceof Error))return null;const t=e.message.match(/- ({.*})$/);if(!t)return null;try{const n=JSON.parse(t[1]);if(n.field&&Array.isArray(n.errors))return{field:n.field,errors:n.errors}}catch{}return null}function Dre({field:e,errors:t}){return t.length?o.jsx("div",{className:"mt-2 space-y-1",children:t.map((n,r)=>o.jsxs("p",{className:"text-xs text-destructive",children:[o.jsxs("code",{className:"bg-destructive/10 px-1 rounded",children:[e,n.path!=="/"?n.path:""]}),": ",n.message]},r))}):null}function ues({datasetId:e,open:t,onOpenChange:n,onSuccess:r}){const[s,a]=v.useState("{}"),[i,l]=v.useState(""),[c,u]=v.useState(""),[d,f]=v.useState(""),[p,h]=v.useState(""),[m,g]=v.useState(null),{addItem:y}=_i(),b=async C=>{C.preventDefault();let E;try{E=JSON.parse(s)}catch{De.error("Input must be valid JSON");return}let j;if(i.trim())try{j=JSON.parse(i)}catch{De.error("Ground Truth must be valid JSON");return}let N;if(c.trim())try{N=JSON.parse(c)}catch{De.error("Expected Trajectory must be valid JSON");return}let I;if(d.trim())try{const $=JSON.parse(d);if(!Array.isArray($)){De.error("Tool Mocks must be a JSON array");return}I=$}catch{De.error("Tool Mocks must be valid JSON");return}let R;if(p.trim())try{R=JSON.parse(p)}catch{De.error("Request Context must be valid JSON");return}try{await y.mutateAsync({datasetId:e,input:E,groundTruth:j,expectedTrajectory:N,toolMocks:I,requestContext:R}),De.success("Item added successfully"),g(null),a("{}"),l(""),u(""),f(""),h(""),n(!1),r?.()}catch($){const F=ces($);F?g(F):De.error(`Failed to add item: ${$ instanceof Error?$.message:"Unknown error"}`)}},w=C=>{a(C),m?.field==="input"&&g(null)},S=C=>{l(C),m?.field==="groundTruth"&&g(null)},k=C=>{f(C),m?.field==="toolMocks"&&g(null)},_=()=>{a("{}"),l(""),u(""),f(""),h(""),g(null),n(!1)};return o.jsx(br,{open:t,onOpenChange:n,children:o.jsxs(xr,{className:"max-w-lg",children:[o.jsx(wr,{children:o.jsx(gr,{children:"Add Item"})}),o.jsx(Ar,{children:o.jsxs("form",{onSubmit:b,className:"space-y-4",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(Rt,{htmlFor:"item-input",children:"Input (JSON) *"}),o.jsx(Qr,{value:s,onChange:w,showCopyButton:!1,className:"min-h-[120px]"}),m?.field==="input"&&o.jsx(Dre,{field:"input",errors:m.errors})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Rt,{htmlFor:"item-ground-truth",children:"Ground Truth (JSON, optional)"}),o.jsx(Qr,{value:i,onChange:S,showCopyButton:!1,className:"min-h-[80px]"}),m?.field==="groundTruth"&&o.jsx(Dre,{field:"groundTruth",errors:m.errors})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Rt,{htmlFor:"item-trajectory",children:"Expected Trajectory (JSON, optional)"}),o.jsx(Qr,{value:c,onChange:u,showCopyButton:!1,className:"min-h-[80px]"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Rt,{htmlFor:"item-tool-mocks",children:"Tool Mocks (JSON array, optional)"}),o.jsx(Qr,{value:d,onChange:k,showCopyButton:!1,className:"min-h-[80px]"}),m?.field==="toolMocks"&&o.jsx(Dre,{field:"toolMocks",errors:m.errors})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Rt,{htmlFor:"item-request-context",children:"Request Context (JSON, optional)"}),o.jsx(Qr,{value:p,onChange:h,showCopyButton:!1,className:"min-h-[80px]"})]}),o.jsxs("div",{className:"flex justify-end gap-2 pt-4",children:[o.jsx(ue,{type:"button",onClick:_,children:"Cancel"}),o.jsx(ue,{type:"submit",variant:"primary",disabled:y.isPending,children:y.isPending?"Adding...":"Add Item"})]})]})})]})})}function des({item:e}){return o.jsx(ua,{withMargins:!1,children:o.jsxs(ua.Column,{children:[o.jsxs(ua.Title,{size:"smaller",children:[o.jsx(dN,{}),o.jsx("span",{className:"truncate",children:e.id}),o.jsx(ya,{content:e.id,tooltip:`Copy item ID: ${e.id}`})]}),o.jsxs(ua.Description,{children:[o.jsxs(Nl,{children:[o.jsx(llt,{})," Created ",er(new Date(e.createdAt),"MMM d, yyyy h:mm aaa")]}),e.datasetVersion!=null&&o.jsxs(Nl,{children:[o.jsx(i_,{})," Version v",e.datasetVersion]})]})]})})}function pTe({item:e}){const t=e?.input?JSON.stringify(e.input,null,2):"null",n=e?.groundTruth?JSON.stringify(e.groundTruth,null,2):"null",r=e?.metadata?JSON.stringify(e.metadata,null,2):"null",s=e?.expectedTrajectory?JSON.stringify(e.expectedTrajectory,null,2):null;return o.jsxs(Rje,{children:[o.jsx(Ps.CodeSection,{title:"Input",icon:o.jsx(aO,{}),codeStr:t}),o.jsx(Ps.CodeSection,{title:"Ground Truth",icon:o.jsx(hg,{}),codeStr:n}),s&&o.jsx(Ps.CodeSection,{title:"Expected Trajectory",icon:o.jsx(Gye,{}),codeStr:s}),o.jsx(Ps.CodeSection,{title:"Metadata",icon:o.jsx(hN,{}),codeStr:r})]})}function fes({selectedScorers:e,setSelectedScorers:t,disabled:n=!1,container:r}){const{data:s,isLoading:a}=eh(),i=v.useMemo(()=>s?Object.entries(s).map(([l,c])=>({value:l,label:c.scorer?.config?.name||l,description:c.scorer?.config?.description||""})):[],[s]);return o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Rt,{children:"Scorers (Optional)"}),o.jsx(Xl,{multiple:!0,options:i,value:e,onValueChange:t,placeholder:"Select scorers...",searchPlaceholder:"Search scorers...",emptyText:"No scorers available",disabled:n||a,container:r})]})}const pes=[{value:"agent",label:"Agent"},{value:"workflow",label:"Workflow"},{value:"scorer",label:"Scorer"}];function hes({targetType:e,setTargetType:t,targetId:n,setTargetId:r,container:s}){const{data:a,isLoading:i}=Sm(),{data:l,isLoading:c}=By(),{data:u,isLoading:d}=eh(),f=e==="agent"?Object.entries(a??{}).map(([g,y])=>({value:g,label:y.name??g})):e==="workflow"?Object.entries(l??{}).map(([g,y])=>({value:g,label:y.name??g})):e==="scorer"?Object.entries(u??{}).map(([g,y])=>({value:g,label:y.scorer?.config?.name??g})):[],p=e==="agent"&&i||e==="workflow"&&c||e==="scorer"&&d,h=g=>{t(g),r("")},m=e==="agent"?"Agent":e==="workflow"?"Workflow":"Scorer";return o.jsxs("div",{className:"grid gap-6",children:[o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Rt,{children:"Target Type"}),o.jsx(Xl,{options:pes,value:e,onValueChange:h,placeholder:"Select target type",searchPlaceholder:"Search types...",emptyText:"No types available",container:s})]}),e&&o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Rt,{children:m}),o.jsx(Xl,{options:f,value:n,onValueChange:r,placeholder:`Select ${e}`,searchPlaceholder:"Search...",emptyText:"No targets available",disabled:p,container:s})]})]})}function mes({requestContextSchema:e,onChange:t}){const n=v.useMemo(()=>{try{return im(sm(e))}catch(r){return console.error("Failed to parse requestContextSchema:",r),null}},[e]);return n?o.jsxs("div",{className:"space-y-2",children:[o.jsx(Rt,{children:"Request Context"}),o.jsx(X3,{schema:n,onValuesChange:t,className:"[&_button[type=submit]]:hidden"})]}):o.jsx("p",{className:"text-sm text-destructive",children:"Failed to parse request context schema"})}function ges({datasetId:e,version:t,requestContextSchema:n,open:r,onOpenChange:s,onSuccess:a}){const i=v.useRef(null),[l,c]=v.useState(""),[u,d]=v.useState(""),[f,p]=v.useState([]),[h,m]=v.useState({}),[g,y]=v.useState(""),{triggerExperiment:b}=_i(),w=!!(n&&Object.keys(n).length>0),S=l&&u,k=b.isPending,_=()=>{c(""),d(""),p([]),m({}),y("")},C=()=>{if(w){const N=Object.entries(h).filter(([,I])=>I!==void 0&&I!=="");return N.length>0?Object.fromEntries(N):void 0}if(g.trim()){let N;try{N=JSON.parse(g)}catch{throw new Error("Request Context must be valid JSON")}if(!N||typeof N!="object"||Array.isArray(N))throw new Error("Request Context must be a JSON object");return N}},E=async()=>{if(!S)return;let N;try{N=C()}catch(I){const R=I instanceof Error?I.message:"Request Context must be valid JSON";ju.error(R);return}try{const I=await b.mutateAsync({datasetId:e,targetType:l,targetId:u,scorerIds:f.length>0?f:void 0,version:t,requestContext:N});ju.success("Experiment triggered successfully"),s(!1),a?.(I.experimentId),_()}catch(I){const R=I instanceof Error?I.message:"Failed to trigger experiment";ju.error(R)}},j=()=>{k||(s(!1),_())};return o.jsx(br,{open:r,onOpenChange:j,children:o.jsxs(xr,{ref:i,children:[o.jsxs(wr,{children:[o.jsx(gr,{children:"Run Experiment"}),o.jsx(Qs,{children:t?`Execute items from ${er(new Date(t),"MMM d, yyyy")} version against a target.`:"Execute all items in this dataset against a target."})]}),o.jsxs(Ar,{className:"grid gap-6",children:[o.jsx(hes,{targetType:l,setTargetType:c,targetId:u,setTargetId:d,container:i}),l&&l!=="scorer"&&o.jsx(fes,{selectedScorers:f,setSelectedScorers:p,disabled:k,container:i}),w?o.jsx(mes,{requestContextSchema:n,onChange:m}):o.jsxs("div",{className:"space-y-2",children:[o.jsx(Rt,{children:"Request Context (JSON, optional)"}),o.jsx(Qr,{value:g,onChange:y,showCopyButton:!1,className:"min-h-[80px]"})]})]}),o.jsxs(kc,{className:"px-6 pt-4",children:[o.jsx(ue,{onClick:j,disabled:k,children:"Cancel"}),o.jsx(ue,{variant:"primary",onClick:E,disabled:!S||k,children:k?o.jsxs(o.Fragment,{children:[o.jsx(Gt,{className:"w-4 h-4"}),"Running..."]}):"Run"})]})]})})}const ves=e=>{const t=We();return wt({queryKey:["experiment-trace-light",e],queryFn:async()=>{if(!e)throw new Error("Trace ID is required");return t.getTraceLight(e)},enabled:!!e})},hTe=e=>o.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 9.45892 8.88606",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M8.53702 7.36403C8.98547 7.36403 9.34918 7.70502 9.34918 8.12535C9.34906 8.54559 8.9854 8.88606 8.53702 8.88606H5.6839C5.23552 8.88606 4.87186 8.54559 4.87174 8.12535C4.87174 7.70502 5.23545 7.36403 5.6839 7.36403H8.53702Z",fill:"currentColor"}),o.jsx("path",{d:"M8.53702 3.67209C8.98547 3.67209 9.34918 4.01309 9.34918 4.43342C9.34911 4.8537 8.98543 5.19413 8.53702 5.19413H5.6839C5.23549 5.19413 4.87181 4.8537 4.87174 4.43342C4.87174 4.01309 5.23545 3.67209 5.6839 3.67209H8.53702Z",fill:"currentColor"}),o.jsx("path",{d:"M8.67155 0C9.10635 2.06584e-05 9.45892 0.341006 9.45892 0.761326C9.45878 1.18153 9.10627 1.52201 8.67155 1.52203H2.88163C2.4469 1.52203 2.0944 1.18154 2.09427 0.761326C2.09427 0.340993 2.44681 3.80132e-08 2.88163 0H8.67155Z",fill:"currentColor"}),o.jsx("path",{d:"M0.757606 0.760086V4.01122H3.50594V4.76883H0.759466L0.762566 5.4291C0.76837 6.70703 1.8058 7.73972 3.08374 7.73973H3.67953V8.49796H3.08374C1.38863 8.49795 0.0120204 7.1273 0.00433981 5.4322L0 4.39188V0.760086H0.757606Z",fill:"currentColor"})]});function Lre(e){try{return JSON.stringify(e??{})}catch{return String(e)}}function yes({report:e}){const{served:t,unconsumed:n,liveCalls:r,failure:s}=e,a=[...t.map(i=>({outcome:"served",toolName:i.toolName,args:i.args})),...r.map(i=>({outcome:"live",toolName:i.toolName,args:i.args})),...n.map(i=>({outcome:"unconsumed",toolName:i.toolName,args:i.args}))];return o.jsxs("div",{className:"grid gap-2","data-testid":"tool-mock-report",children:[o.jsx(bn.SectionHeading,{icon:o.jsx(tm,{}),className:"mb-2",children:"Tool Mocks"}),s&&o.jsx(In,{variant:"destructive",title:"Mock mismatch",children:o.jsxs(In.Message,{children:[o.jsx("span",{className:"block",children:`Tool "${s.toolName}" was called with arguments that did not match an available mock (${s.code}).`}),o.jsxs("span",{className:"mt-1 block font-mono text-xs",children:["Called with: ",Lre(s.args)]}),n.length>0&&o.jsxs("span",{className:"mt-1 block font-mono text-xs",children:["Unconsumed mocks: ",n.map(i=>Lre(i.args)).join(", ")]})]})}),o.jsx("div",{className:"rounded border border-border1 divide-y divide-border1 text-sm",children:a.map((i,l)=>o.jsxs("div",{className:"flex items-center justify-between gap-2 px-3 py-1.5",children:[o.jsxs("span",{className:"min-w-0 truncate",children:[o.jsx("span",{className:"font-mono text-neutral4",children:i.toolName}),o.jsx("span",{className:"ml-2 font-mono text-xs text-neutral3",children:Lre(i.args)})]}),o.jsx("span",{className:`shrink-0 text-xs px-2 py-0.5 rounded ${bes(i.outcome)}`,children:i.outcome})]},`${i.outcome}-${i.toolName}-${l}`))})]})}function bes(e){switch(e){case"served":return"bg-accent1/10 text-accent1";case"live":return"bg-orange-500/10 text-orange-400";case"unconsumed":return"bg-neutral3/10 text-neutral4"}}function xes({result:e,scores:t,onPrevious:n,onNext:r,onClose:s,onShowTrace:a,onOpenInReview:i,onScoreClick:l,featuredScoreId:c,onFlagForReview:u,collapsed:d,onCollapsedChange:f}){const[p,h]=v.useState(!1),m=d??p,g=f??h,y=!!e?.error,b=U8(e?.input),w=U8(e?.output),S=U8(e?.groundTruth),k=u&&e.status!=="needs-review"&&e.status!=="complete",_=Array.isArray(e.tags)?e.tags:[];return o.jsxs(bn,{collapsed:m,children:[o.jsxs(bn.Header,{children:[o.jsxs(bn.Heading,{children:["Result ",o.jsxs("b",{children:["# ",e.id.length>12?`${e.id.slice(0,12)}…`:e.id]})]}),o.jsxs($r,{className:"ml-auto shrink-0",children:[f&&o.jsx(ue,{size:"md",tooltip:m?"Expand panel":"Collapse panel",onClick:()=>g(!m),children:m?o.jsx(flt,{}):o.jsx(dlt,{})}),o.jsx(bn.NextPrevNav,{onPrevious:n,onNext:r,previousLabel:"Previous result",nextLabel:"Next result"}),o.jsxs(ue,{size:"md",onClick:a,disabled:!e.traceId,children:[o.jsx(hTe,{}),"Trace"]}),o.jsx(bn.CloseButton,{onClick:s,tooltip:"Close result panel"})]})]}),!m&&o.jsxs(bn.Content,{children:[o.jsxs("div",{className:"grid gap-4 mb-6",children:[o.jsxs(zt,{children:[o.jsx(zt.Key,{children:"Item Id"}),o.jsx(zt.ValueWithCopyBtn,{copyTooltip:"Copy Item Id to clipboard",copyValue:e.itemId,children:e.itemId}),o.jsx(zt.Key,{children:"Created"}),o.jsx(zt.Value,{children:er(new Date(e.createdAt),"MMM d, yyyy 'at' h:mm a")})]}),y&&o.jsx(In,{variant:"destructive",title:"Error",children:o.jsx(In.Message,{children:U8(e?.error&&typeof e.error=="object"?e.error.message:e?.error)})}),t&&t.length>0&&o.jsxs(me,{columns:"1fr 1fr",children:[o.jsxs(me.Top,{children:[o.jsx(me.TopCell,{children:"Scorer"}),o.jsx(me.TopCell,{children:"Score"})]}),t.map(C=>o.jsxs(me.RowButton,{featured:c===C.id,onClick:()=>l?.(C.id),children:[o.jsx(me.Cell,{height:"compact",children:C.scorerId}),o.jsx(me.MonoCell,{children:C.score.toFixed(3)})]},C.id))]}),e.toolMockReport&&o.jsx(yes,{report:e.toolMockReport}),(e.status||_.length>0||k)&&o.jsxs("div",{className:"grid gap-2",children:[o.jsx(bn.SectionHeading,{icon:o.jsx(hN,{}),className:"mb-2",children:"Review"}),(e.status||_.length>0)&&o.jsxs("div",{className:"flex flex-wrap gap-2 items-center",children:[e.status&&o.jsx("span",{className:`text-xs px-2 py-0.5 rounded-full font-medium ${e.status==="needs-review"?"bg-orange-500/10 text-orange-400":e.status==="complete"?"bg-accent1/10 text-accent1":"bg-neutral3/10 text-neutral4"}`,children:e.status}),_.map(C=>o.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-surface4 text-neutral4",children:C},C))]}),k&&o.jsx("div",{children:o.jsxs(ue,{size:"sm",onClick:()=>u(e.id),children:[o.jsx(GU,{}),"Flag for Review"]})}),e.status==="needs-review"&&i&&o.jsx("div",{children:o.jsxs(ue,{size:"sm",onClick:i,children:[o.jsx(Pa,{}),"Review"]})})]})]}),o.jsxs("div",{className:"grid gap-3",children:[o.jsx(bn.CodeSection,{title:"Input",icon:o.jsx(dN,{}),codeStr:b}),o.jsx(bn.CodeSection,{title:"Output",icon:o.jsx(hg,{}),codeStr:w}),o.jsx(bn.CodeSection,{title:"Ground Truth",icon:o.jsx(Xye,{}),codeStr:S})]})]})]})}function U8(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function wes({results:e,isLoading:t,featuredResultId:n,onResultClick:r,columns:s,scoresByItemId:a,scorerIds:i,setEndOfListElement:l,isFetchingNextPage:c,hasNextPage:u,selectedIds:d,onToggleSelect:f}){const p=!!(d&&f),h=[p?"auto":"",...s.map(g=>g.size)].filter(Boolean).join(" "),m=s.some(g=>g.name==="input");return t?o.jsx(el,{columns:h}):o.jsxs(me,{columns:h,className:"min-w-0",children:[o.jsxs(me.Top,{hasLeadingCell:p,children:[p&&o.jsx(me.TopCell,{children:" "}),p?o.jsx(me.TopCells,{colStart:2,children:s.map(g=>o.jsx(me.TopCell,{children:g.label},g.name))}):s.map(g=>o.jsx(me.TopCell,{children:g.label},g.name))]}),e.length===0?o.jsx(me.NoMatch,{message:"No results yet"}):o.jsxs(o.Fragment,{children:[e.map(g=>{const y=!!g.error,b=g.id===n,w=o.jsxs(o.Fragment,{children:[o.jsx(me.IdCell,{id:g.itemId}),o.jsx(me.Cell,{height:"compact",children:o.jsxs(Wn,{children:[o.jsx(zn,{asChild:!0,children:o.jsx("div",{className:"flex items-center justify-center w-10 relative bg-transparent h-full",children:o.jsx("div",{role:"img","aria-label":y?"Error":"Success",className:K("w-2 h-2 rounded-full",y?"bg-red-700":"bg-green-600")})})}),o.jsx(Bn,{children:y?"Error":"Success"})]})}),m&&o.jsx(me.MonoCell,{children:kes(Ses(g.input),200)}),i?.map(S=>{const _=a?.[g.itemId]?.find(C=>C.scorerId===S);return o.jsx(me.Cell,{height:"compact",className:"font-mono text-neutral3 text-ui-smd",children:_!=null?_.score.toFixed(3):"-"},S)})]});return p?o.jsxs(me.RowWrapper,{children:[o.jsx(me.SelectCell,{checked:d.has(g.id),onToggle:()=>f(g.id),"aria-label":`Select result ${g.itemId}`}),o.jsx(me.RowButton,{flushLeft:!0,colStart:2,featured:b,onClick:()=>r(g.id),children:w})]},g.id):o.jsx(me.RowButton,{featured:b,onClick:()=>r(g.id),children:w},g.id)}),o.jsx(me.NextPageLoading,{isLoading:c,hasMore:u,setEndOfListElement:l})]})]})}function Ses(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function kes(e,t){return e.length<=t?e:e.slice(0,t-1)+"..."}function Oes(e){const t=e.scorer;return t?.hasJudge===!1?!0:t?.hasJudge===!0?!1:!e.preprocessPrompt&&!e.analyzePrompt&&!e.generateScorePrompt&&!e.generateReasonPrompt}function _es({score:e,onNext:t,onPrevious:n,onClose:r,onShowTrace:s,collapsed:a,onCollapsedChange:i}){const[l,c]=v.useState(!1),u=a??l,d=i??c,f=Oes(e),p=f?"N/A — code-based scorer":"N/A — step not configured";return o.jsxs(bn,{collapsed:u,children:[o.jsxs(bn.Header,{children:[o.jsxs(bn.Heading,{children:["Score ",o.jsx("b",{children:e.scorerId})]}),o.jsxs($r,{className:"ml-auto shrink-0",children:[i&&o.jsx(ue,{size:"md",tooltip:u?"Expand panel":"Collapse panel",onClick:()=>d(!u),children:u?o.jsx(flt,{}):o.jsx(dlt,{})}),(n||t)&&o.jsx(bn.NextPrevNav,{onPrevious:n,onNext:t,previousLabel:"Previous score",nextLabel:"Next score"}),s&&o.jsxs(ue,{size:"md",onClick:s,disabled:!e.traceId,children:[o.jsx(hTe,{}),"Trace"]}),o.jsx(bn.CloseButton,{onClick:r,tooltip:"Close score panel"})]})]}),!u&&o.jsx(bn.Content,{children:o.jsxs("div",{className:"grid gap-3",children:[o.jsx(bn.CodeSection,{title:`Score: ${e.score}`,icon:o.jsx(Jh,{}),codeStr:e.reason||p,simplified:!0}),!f&&o.jsxs(o.Fragment,{children:[o.jsx(bn.CodeSection,{title:"Preprocess Prompt",icon:o.jsx(bh,{}),codeStr:e.preprocessPrompt||p,simplified:!0}),o.jsx(bn.CodeSection,{title:"Analyze Prompt",icon:o.jsx(bh,{}),codeStr:e.analyzePrompt||p,simplified:!0}),o.jsx(bn.CodeSection,{title:"Generate Score Prompt",icon:o.jsx(bh,{}),codeStr:e.generateScorePrompt||p,simplified:!0}),o.jsx(bn.CodeSection,{title:"Generate Reason Prompt",icon:o.jsx(bh,{}),codeStr:e.generateReasonPrompt||p,simplified:!0})]})]})})]})}const pQe=[{name:"scorer",label:"Scorer",size:"1fr"},{name:"avg",label:"Avg Score",size:"1fr"},{name:"count",label:"Items Scored",size:"1fr"}];function Ces({scoresByItemId:e,experimentStatus:t}){const n=v.useMemo(()=>{if(!e)return[];const r={};for(const s of Object.values(e))for(const a of s)r[a.scorerId]||(r[a.scorerId]={sum:0,count:0}),r[a.scorerId].sum+=a.score,r[a.scorerId].count++;return Object.entries(r).map(([s,{sum:a,count:i}])=>({scorerId:s,avg:a/i,count:i})).sort((s,a)=>s.scorerId.localeCompare(a.scorerId))},[e]);if(n.length===0){const r=t==="running"||t==="pending",s=e!==void 0;let a,i;return r?(a="Experiment in progress",i="Summary metrics will appear here once the experiment completes."):s?(a="No scorers configured",i="Add scorers when triggering an experiment to evaluate results and see summary metrics here."):(a="Loading scores",i="Fetching scorer results…"),o.jsx("div",{className:"flex h-full items-center justify-center py-12",children:o.jsx(Lr,{iconSlot:o.jsx(Jh,{className:"w-8 h-8 text-neutral3"}),titleSlot:a,descriptionSlot:i})})}return o.jsxs(gn,{children:[o.jsxs(gn.Header,{columns:pQe,children:[o.jsx(gn.HeaderCol,{children:"Scorer"}),o.jsx(gn.HeaderCol,{children:"Avg Score"}),o.jsx(gn.HeaderCol,{children:"Items Scored"})]}),o.jsx(gn.Scroller,{children:o.jsx(gn.Items,{children:n.map(({scorerId:r,avg:s,count:a})=>o.jsxs(gn.Row,{columns:pQe,children:[o.jsx(gn.TextCell,{children:r}),o.jsx(gn.TextCell,{className:"font-mono",children:s.toFixed(3)}),o.jsx(gn.TextCell,{className:"font-mono",children:a})]},r))})})]})}function a8t({experimentId:e,datasetId:t,experimentStatus:n,results:r,isLoading:s,setEndOfListElement:a,isFetchingNextPage:i,hasNextPage:l}){const[c,u]=v.useState(null),[d,f]=v.useState(null),[p,h]=v.useState(void 0),[m,g]=v.useState(null),[y,b]=v.useState(new Set),[w,S]=v.useState(!1),[k,_]=v.useState(!1),[C,E]=v.useState(!1),[j,N]=v.useState(!1),{updateExperimentResult:I}=_i(),R=v.useCallback(se=>{b(re=>{const he=new Set(re);return he.has(se)?he.delete(se):he.add(se),he})},[]),$=v.useCallback(()=>b(new Set),[]),F=v.useCallback(()=>{const se=r.filter(re=>!!re.error).map(re=>re.id);b(new Set(se))},[r]),D=v.useCallback(async se=>{if(w||se.length===0)return;S(!0);let re=0;const he=new Set;try{for(const xe of se)try{await I.mutateAsync({datasetId:t,experimentId:e,resultId:xe,status:"needs-review"}),re++,he.add(xe)}catch{}}finally{S(!1)}he.size>0&&b(xe=>{const Ee=new Set(xe);for(const Pe of he)Ee.delete(Pe);return Ee}),re>0&&De(`${re} result${re>1?"s":""} flagged for review`)},[t,e,w,I]),V=r.find(se=>se.id===c)??null,[W,L]=v.useState("summary"),[z,B]=v.useState(null),M=se=>{L(se),se!=="reviews"&&B(null)},{data:G}=fTe(t),U=(G??[]).filter(se=>se.experimentId===e).length,{data:P}=_6t(e,n),q=v.useMemo(()=>{if(!P)return[];const se=new Set;for(const re of Object.values(P))for(const he of re)se.add(he.scorerId);return[...se].sort()},[P]),Z=se=>{u(se),f(null),h(void 0),g(null)},X=se=>{Z(se===c?null:se)},te=()=>{Z(null)},J=()=>{if(!V)return;const se=r.findIndex(re=>re.id===V.id);if(se>=0&&se<r.length-1)return()=>Z(r[se+1].id)},ee=()=>{if(!V)return;const se=r.findIndex(re=>re.id===V.id);if(se>0)return()=>Z(r[se-1].id)},ae=V?P?.[V.itemId]:void 0,de=ae?.find(se=>se.id===m)??null,Y=se=>{g(se===m?null:se),f(null),h(void 0)},ne=()=>{if(!m||!ae)return;const se=ae.findIndex(re=>re.id===m);if(se>=0&&se<ae.length-1)return()=>g(ae[se+1].id)},ce=()=>{if(!m||!ae)return;const se=ae.findIndex(re=>re.id===m);if(se>0)return()=>g(ae[se-1].id)},{data:pe,isLoading:le}=ves(d),ve=pe?.spans,{data:ye,isLoading:Se}=aI(d,p),Ne=ye?.span,{handlePreviousSpan:ke,handleNextSpan:Ie}=WH(ve,p??null,h),ze=(()=>{const se=[],re=!!de,he=!!d;return se.push(k?"auto":re||he?"2fr":"1fr"),re&&se.push(j?"auto":"3fr"),he&&se.push(C?"auto":"3fr"),he&&p&&se.push("3fr"),se.join(" ")})(),oe=v.useMemo(()=>[{name:"itemId",label:"Item ID",size:"7rem"},{name:"status",label:"Status",size:"5rem"},{name:"input",label:"Input",size:"minmax(15rem,1fr)"},...q.map(se=>({name:se,label:se,size:"12rem"}))],[q]);return o.jsxs(ru,{defaultTab:"summary",value:W,onValueChange:M,className:"grid grid-rows-[auto_1fr] h-full overflow-hidden",children:[o.jsxs(su,{children:[o.jsx(Vr,{value:"summary",children:"Summary"}),o.jsx(Vr,{value:"results",children:"Results"}),o.jsxs(Vr,{value:"reviews",children:["Reviews",U>0&&o.jsx(Xs,{color:"orange",children:U})]})]}),o.jsx(ps,{value:"summary",className:"overflow-y-auto mt-5",children:o.jsx(Ces,{scoresByItemId:P,experimentStatus:n})}),o.jsx(ps,{value:"reviews",className:"overflow-auto mt-2 pb-0",children:o.jsx(s8t,{datasetId:t,experimentId:e,featuredItemId:z})}),o.jsxs(ps,{value:"results",className:"grid grid-rows-[auto_1fr] overflow-hidden mt-2",children:[o.jsxs("div",{className:"mb-4",children:[y.size>0&&o.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 bg-surface3",children:[o.jsxs(ge,{variant:"ui-xs",className:"text-neutral5 font-medium",children:[y.size," selected"]}),o.jsx("div",{className:"flex-1"}),o.jsxs(ue,{variant:"outline",size:"sm",disabled:w,onClick:()=>D([...y]),children:[o.jsx(Ue,{size:"sm",children:o.jsx(GU,{})}),"Flag for Review"]}),o.jsx(ue,{variant:"ghost",size:"sm",onClick:$,children:"Clear"})]}),r.length>0&&y.size===0&&!s&&o.jsx("div",{className:"flex items-center gap-2 px-4 py-2",children:o.jsx(ue,{variant:"ghost",size:"sm",onClick:F,children:"Select loaded failures"})})]}),o.jsxs("div",{className:K("grid w-full h-full grid-cols-1 gap-4 overflow-y-auto",V&&"grid-cols-[1fr_1fr]"),children:[o.jsx("div",{className:"flex overflow-y-auto w-full",children:o.jsx("div",{className:"grid gap-8 content-start w-full overflow-y-auto",children:o.jsx(wes,{results:r,isLoading:s,featuredResultId:c,onResultClick:X,columns:oe,scoresByItemId:P,scorerIds:q,setEndOfListElement:a,isFetchingNextPage:i,hasNextPage:l,selectedIds:y,onToggleSelect:R})})}),V&&o.jsxs("div",{className:"grid gap-4 max-h-full min-h-0 overflow-auto content-start",style:{gridTemplateRows:ze},children:[o.jsx(xes,{result:V,scores:ae,onPrevious:ee(),onNext:J(),onClose:te,onScoreClick:Y,featuredScoreId:m,onShowTrace:()=>{V.traceId&&(f(V.traceId),h(void 0),g(null),_(!0),E(!1))},onOpenInReview:()=>{B(V.id),L("reviews")},onFlagForReview:se=>D([se]),collapsed:k,onCollapsedChange:_}),de&&o.jsx(_es,{score:de,onNext:ne(),onPrevious:ce(),onClose:()=>g(null),onShowTrace:()=>{de.traceId&&(f(de.traceId),h(void 0),_(!0),N(!0),E(!1))},collapsed:j,onCollapsedChange:N}),d&&o.jsxs(o.Fragment,{children:[o.jsx(sTe,{traceId:d,spans:ve,isLoading:le,onClose:()=>{f(null),h(void 0),_(!1),N(!1)},onSpanSelect:h,initialSpanId:p??null,placement:"traces-list",showUnavailableFeaturesMsg:!1,collapsed:C,onCollapsedChange:E,LinkComponent:R3,traceHref:`/traces/${d}`}),p&&o.jsx(qH,{traceId:d,spanId:p,span:Ne,isLoading:Se,onPrevious:ke,onNext:Ie,onClose:()=>h(void 0)})]})]})]})]})]})}const Ees={pending:o.jsx(sO,{}),running:o.jsx(Fde,{}),completed:o.jsx(Js,{}),failed:o.jsx(vs,{})};function jes({experiment:e,className:t}){const n=e.status,r=e.totalItems-e.succeededCount-e.failedCount;return o.jsxs("div",{className:K("grid justify-items-end gap-3",t),children:[o.jsxs("div",{className:"flex p-1 px-3 text-ui-lg capitalize text-neutral4 gap-2 items-center bg-surface5 rounded-lg ",children:[o.jsx("span",{className:K("w-5 h-5 flex items-center justify-center rounded-full text-black","[&>svg]:w-4 [&>svg]:h-4",{"bg-green-700":n==="completed","bg-red-700":n==="failed","bg-cyan-600":n==="running","bg-yellow-600":n==="pending"}),children:Ees[n]}),e.status]}),o.jsxs("div",{className:K("flex items-center gap-3 text-neutral3 text-ui-md ","[&>span]:flex [&>span]:gap-1 [&>span]:items-center ","[&_b]:text-neutral4 [&_b]:font-semibold"),children:[o.jsxs("span",{children:["Total: ",o.jsx("b",{children:e.totalItems})]}),o.jsxs("span",{children:["Succeeded: ",o.jsx("b",{children:e.succeededCount})]}),o.jsxs("span",{children:["Failed: ",o.jsx("b",{children:e.failedCount})]}),(n==="pending"||n==="running")&&o.jsxs("span",{children:["Pending: ",o.jsx("b",{children:r})]})]})]})}function Tes({onPrevious:e,onNext:t,previousAriaLabel:n="Previous",nextAriaLabel:r="Next"}){return o.jsxs($r,{spacing:"close",children:[o.jsxs(ue,{onClick:e,disabled:!e,"aria-label":n,children:[o.jsx($q,{})," Prev"]}),o.jsxs(ue,{onClick:t,disabled:!t,"aria-label":r,children:["Next",o.jsx(Rq,{})]})]})}function mTe({delta:e}){const t=e>0?o.jsx(Xs,{size:"small",color:"green",intensity:"muted",children:o.jsx(i3,{})}):e<0?o.jsx(Xs,{size:"small",color:"red",intensity:"muted",children:o.jsx(Won,{})}):null;return o.jsxs("span",{className:K("font-mono text-sm text-neutral4 min-w-20"),children:[o.jsx("span",{className:"w-3 inline-block",children:e>0?"+ ":e<0?"- ":""}),Math.abs(e).toFixed(2)," ",t]})}function q8(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function Nes({item:e,baselineId:t,contenderId:n,baselineVersion:r,contenderVersion:s,onPrevious:a,onNext:i,onClose:l}){const c=e.results[t],u=e.results[n],d=!!(c&&u),f=new Set;if(c)for(const h of Object.keys(c.scores))f.add(h);if(u)for(const h of Object.keys(u.scores))f.add(h);const p=[...f].sort();return o.jsxs(Gr,{withLeftSeparator:!0,children:[o.jsxs(Gr.Toolbar,{children:[o.jsx(Tes,{onPrevious:a,onNext:i,previousAriaLabel:"Previous comparison item",nextAriaLabel:"Next comparison item"}),o.jsx($r,{children:o.jsx(ue,{onClick:l,"aria-label":"Close comparison detail panel",children:o.jsx(vs,{})})})]}),o.jsxs(Gr.Content,{className:"pb-6",children:[o.jsx(ua,{withMargins:!1,children:o.jsx(ua.Column,{children:o.jsxs(ua.Title,{size:"smaller",children:[o.jsx(dN,{})," ",e.itemId]})})}),d?o.jsx(o.Fragment,{children:o.jsxs(Rje,{children:[p.length>0&&o.jsxs("div",{className:"grid gap-3",children:[o.jsx("h4",{className:"text-sm font-medium text-neutral5",children:"Scores"}),o.jsx("div",{className:"grid gap-2",children:p.map(h=>{const m=c?.scores[h]??null,g=u?.scores[h]??null,y=m!=null&&g!=null?g-m:null;return o.jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2 rounded-lg bg-surface2",children:[o.jsx("span",{className:"text-sm text-neutral5 font-medium",children:h}),o.jsxs("div",{className:"flex items-center gap-4",children:[o.jsxs("span",{className:"text-sm text-neutral3",children:[m!=null?m.toFixed(3):"-"," →"," ",g!=null?g.toFixed(3):"-"]}),y!=null&&o.jsx(mTe,{delta:y})]})]},h)})})]}),o.jsx(Ps.CodeSection,{title:o.jsxs(o.Fragment,{children:[o.jsx(Xs,{color:"purple",children:"Baseline "})," Experiment Output"]}),icon:o.jsx(hg,{}),codeStr:q8(c?.output)}),o.jsx(Ps.CodeSection,{title:o.jsxs(o.Fragment,{children:[o.jsx(Xs,{color:"cyan",children:"Contender "})," Experiment Output"]}),icon:o.jsx(hg,{}),codeStr:q8(u?.output)}),o.jsx(Ps.CodeSection,{title:"Item Input",icon:o.jsx(aO,{}),codeStr:q8(e.input)}),o.jsx(Ps.CodeSection,{title:"Item Ground Truth",icon:o.jsx(Xye,{}),codeStr:q8(e.groundTruth)})]})}):o.jsx(In,{variant:"warning",title:"Comparison not available",children:o.jsx(In.Message,{children:(()=>{const h=c?"Contender":"Baseline",m=c?s:r;return o.jsxs(o.Fragment,{children:["The ",h," experiment was run against dataset",m!=null?` v. ${m}`:"",", which does not contain this item."]})})()})})]})]})}function Ies({items:e,baselineId:t,contenderId:n,scorerIds:r,featuredItemId:s,columns:a,onItemClick:i}){return o.jsx(Gr,{children:o.jsxs(gn,{children:[o.jsxs(gn.Header,{columns:a,children:[o.jsx(gn.HeaderCol,{children:"Item ID"}),!s&&r.map(l=>o.jsx(gn.HeaderCol,{className:"flex justify-center",children:l},l))]}),o.jsx(gn.Scroller,{children:o.jsx(gn.Items,{children:e.map(l=>{const c=l.results[t],u=l.results[n],d=!!(c&&u);return o.jsx(gn.Row,{children:o.jsxs(gn.RowButton,{item:{id:l.itemId},columns:a,isFeatured:s===l.itemId,onClick:i,children:[o.jsx(gn.IdCell,{id:l.itemId,className:d?"":"text-neutral1"}),!s&&o.jsx(o.Fragment,{children:r.map(f=>{const p=c?.scores[f]??null,h=u?.scores[f]??null,m=p!=null&&h!=null?h-p:null;return o.jsx(gn.Cell,{className:"flex items-center gap-5 justify-center font-mono",children:m!=null?o.jsxs(o.Fragment,{children:[o.jsxs("span",{className:"flex items-center text-neutral2 min-w-24",children:[p?.toFixed(2)," → ",h?.toFixed(2)]}),o.jsx(mTe,{delta:m})]}):o.jsx("span",{className:"text-neutral1",children:"-"})},f)})})]})},l.itemId)})})})]})})}const Aes={baseline:{label:"Baseline",color:"purple",customStyle:"items-end justify-items-end [&>div]:justify-end border-r-0 rounded-r-none"},contender:{label:"Contender",color:"cyan",customStyle:"items-start justify-items-start [&>div]:justify-start border-l-0 rounded-l-none"}};function hQe({datasetId:e,experiment:t,type:n}){const{Link:r}=yn(),{label:s,color:a,customStyle:i}=Aes[n];if(!t)return null;const l=t.createdAt?new Date(t.createdAt):null;return o.jsxs("div",{className:`grid border-2 border-border1 rounded-lg p-5 gap-3 ${i}`,children:[o.jsxs("div",{className:"flex items-center gap-3 w-full overflow-clip",children:[n==="contender"&&o.jsxs(Xs,{size:"small",color:a,children:[s,o.jsx(hm,{})]}),o.jsx(ue,{as:r,href:`/datasets/${e}/experiments/${t.id}`,children:o.jsx("span",{className:"truncate min-w-0",children:t.id})}),n==="baseline"&&o.jsxs(Xs,{size:"small",color:a,children:[o.jsx(Ec,{})," ",s]})]}),o.jsxs("div",{className:"flex flex-wrap gap-x-4 gap-y-1 text-ui-sm text-neutral3",children:[o.jsxs(Nl,{children:[o.jsx(Xye,{})," ",t.targetType," / ",t.targetId]}),o.jsxs(Nl,{children:[o.jsx(XU,{})," v",t.datasetVersion??"—"]}),l&&o.jsxs(Nl,{children:[o.jsx(clt,{})," ",er(l,"MMM d, yyyy HH:mm")]})]})]})}function Res({datasetId:e,experimentIdA:t,experimentIdB:n,onSwap:r}){const[s,a]=v.useState(null),{data:i,isLoading:l,error:c}=wKr(e,t,n),{data:u}=_U(e,t),{data:d}=_U(e,n),f=u&&d&&u.datasetVersion!==d.datasetVersion,p=v.useMemo(()=>{if(!i)return[];const E=new Set;for(const j of i.items)for(const N of Object.values(j.results))if(N)for(const I of Object.keys(N.scores))E.add(I);return[...E].sort()},[i]),h=v.useMemo(()=>{if(!i||p.length===0)return[];const E=i.baselineId,j=t===E?n:t;return p.map(N=>{let I=0,R=0,$=0,F=0;for(const L of i.items){const z=L.results[E]?.scores[N],B=L.results[j]?.scores[N];z!=null&&(I+=z,$++),B!=null&&(R+=B,F++)}const D=$>0?I/$:null,V=F>0?R/F:null,W=D!=null&&V!=null?V-D:null;return{scorerId:N,avgA:D,avgB:V,delta:W}})},[i,p,t,n]),m=[{name:"scorer",label:"Scorer",size:"1fr"},{name:"baselineAvg",label:"Baseline Avg",size:"1fr"},{name:"comparisonAvg",label:"Comparison Avg",size:"1fr"},{name:"delta",label:"Delta",size:"1fr"}],g=v.useMemo(()=>[{name:"itemId",label:"Item ID",size:"8rem"},...s?[]:p.map(E=>({name:E,label:E,size:"1fr"}))],[p,s]),y=i?.items.find(E=>E.itemId===s)??null,b=E=>{a(E===s?null:E)},w=()=>{a(null)},S=()=>{if(!i||!s)return;const E=i.items.findIndex(j=>j.itemId===s);if(E>=0&&E<i.items.length-1)return()=>a(i.items[E+1].itemId)},k=()=>{if(!i||!s)return;const E=i.items.findIndex(j=>j.itemId===s);if(E>0)return()=>a(i.items[E-1].itemId)};if(l)return o.jsx("div",{className:"flex items-center justify-center h-64",children:o.jsx(Gt,{})});if(c)return o.jsx(In,{variant:"warning",title:"Error loading comparison",children:o.jsx(In.Message,{children:c instanceof Error?c.message:"Unknown error"})});if(!i||i.items.length===0)return o.jsx("div",{className:"text-neutral4 text-sm text-center py-8",children:"No comparison data"});const _=i.baselineId,C=t===_?n:t;return o.jsxs("div",{className:"grid gap-10",children:[u&&d&&o.jsxs("div",{className:K("relative grid xl:grid-cols-[1fr_auto_1fr] gap-4 xl:gap-0"),children:[o.jsx(hQe,{datasetId:e,experiment:u,type:"baseline"}),o.jsx("div",{className:"relative flex items-center justify-center px-[2vw] before:absolute before:inset-y-0 before:left-1/2 before:-translate-x-1/2 before:w-[2px] before:bg-border1",children:o.jsx("div",{className:"relative z-1 bg-surface2 rounded-lg p-2",children:o.jsxs(Wn,{children:[o.jsx(zn,{asChild:!0,children:o.jsx(ue,{onClick:r,children:"VS"})}),o.jsx(Bn,{children:"Switch the order"})]})})}),o.jsx(hQe,{datasetId:e,experiment:d,type:"contender"})]}),f&&o.jsx(In,{variant:"warning",title:"Version mismatch",children:o.jsxs(In.Message,{children:["These experiments used different dataset versions (v",u.datasetVersion," vs v",d.datasetVersion,"). Results may not be directly comparable."]})}),h.length>0&&o.jsxs(gn,{children:[o.jsxs(gn.Header,{columns:m,children:[o.jsx(gn.HeaderCol,{children:"Scorer"}),o.jsx(gn.HeaderCol,{className:"flex justify-center",children:o.jsxs(mGe,{children:[o.jsx(Xs,{color:"purple",size:"small",intensity:"muted",children:"Baseline"}),o.jsx(Xs,{color:"purple",size:"small",children:"Avg"})]})}),o.jsx(gn.HeaderCol,{className:"flex justify-center",children:o.jsxs(mGe,{children:[o.jsx(Xs,{color:"cyan",size:"small",intensity:"muted",children:"Contender"}),o.jsx(Xs,{color:"cyan",size:"small",children:"Avg"})]})}),o.jsx(gn.HeaderCol,{className:"flex justify-center",children:"Delta"})]}),o.jsx(gn.Scroller,{children:o.jsx(gn.Items,{children:h.map(({scorerId:E,avgA:j,avgB:N,delta:I})=>o.jsxs(gn.Row,{columns:m,children:[o.jsx(gn.TextCell,{children:E}),o.jsx(gn.TextCell,{className:"text-center font-mono",children:j!=null?j.toFixed(3):"-"}),o.jsx(gn.TextCell,{className:"text-center font-mono",children:N!=null?N.toFixed(3):"-"}),o.jsx(gn.TextCell,{className:"flex justify-center",children:I!=null?o.jsx(mTe,{delta:I}):"-"})]},E))})})]}),o.jsxs(ry,{className:K({"grid-cols-[1fr_2fr]":!!y}),children:[o.jsx(Ies,{items:i.items,baselineId:_,contenderId:C,scorerIds:p,featuredItemId:s,columns:g,onItemClick:b}),!!y&&o.jsx(Nes,{item:y,baselineId:_,contenderId:C,baselineVersion:u?.datasetVersion,contenderVersion:d?.datasetVersion,onPrevious:k(),onNext:S(),onClose:w})]})]})}function Pes({datasetId:e,itemId:t,onVersionSelect:n,onCompareVersionsClick:r,activeVersion:s}){const{data:a,isLoading:i}=cTe(e,t),[l,c]=v.useState(!1),[u,d]=v.useState(new Set),f=b=>{n?.(b)},p=b=>s==null?b.isLatest:b.datasetVersion===s,h=b=>{d(w=>{const S=new Set(w);if(S.has(b))S.delete(b);else if(S.size>=2){const[k]=Array.from(S);return new Set([k,b])}else S.add(b);return S})},m=()=>{c(!1),d(new Set)},g=()=>{c(!0)},y=()=>{u.size===2&&r?.([...u])};return o.jsxs(Gr,{className:"min-w-56",children:[l?o.jsx(Gr.Toolbar,{className:"grid justify-stretch gap-3 w-full",children:o.jsxs($r,{children:[o.jsx(ue,{onClick:m,children:"Cancel"}),o.jsx(ue,{variant:"primary",disabled:u.size!==2,onClick:y,tooltip:u.size!==2?"Check 2 versions to compare":void 0,className:"grow",children:"Compare"})]})}):o.jsx(o.Fragment,{children:(a||[]).length>1&&o.jsx(Gr.Toolbar,{children:o.jsxs(ue,{onClick:g,className:"w-full",children:[o.jsx(Qw,{})," Compare Ver."]})})}),i?o.jsx($es,{}):o.jsxs(gn,{children:[o.jsx(gn.Header,{children:o.jsx(gn.HeaderCol,{children:"Item Version History"})}),o.jsx(gn.Scroller,{children:o.jsx(gn.Items,{children:a?.map(b=>{const w=String(b.datasetVersion),S=typeof b.updatedAt=="string"?new Date(b.updatedAt):b.updatedAt;return o.jsxs(gn.Row,{isSelected:l&&u.has(w),children:[l&&o.jsx(gn.LabelCell,{children:o.jsx($o,{checked:u.has(w),disabled:b.isDeleted,onCheckedChange:()=>{},onClick:k=>{k.stopPropagation(),b.isDeleted||h(w)},"aria-label":`Select version ${b.datasetVersion}`})}),o.jsx(gn.RowButton,{item:b,columns:[{name:"version",label:"Item Version History",size:"1fr"}],isFeatured:p(b),onClick:()=>f(b),className:"py-2",children:o.jsx(gn.VersionCell,{version:b.datasetVersion,date:S,isLatest:b.isLatest,isDeleted:b.isDeleted})})]},String(b.datasetVersion))})})})]})]})}function $es(){return o.jsxs(gn,{children:[o.jsx(gn.Header,{columns:[{name:"version",label:"Item Version History",size:"1fr"}],children:o.jsx(gn.HeaderCol,{children:"Item Version History"})}),o.jsx(gn.Items,{children:Array.from({length:3}).map((e,t)=>o.jsx(gn.Row,{children:o.jsx(gn.RowButton,{columns:[{name:"version",label:"Item Version History",size:"1fr"}],children:o.jsx(gn.TextCell,{isLoading:!0,children:"Loading..."})})},t))})]})}function Mes(e,t){if(t){const n=typeof t=="string"?new Date(t):t;return`v${e} ${er(n,"MMM dd 'at' H:mm:ss a")}`}return`v${e}`}function Des({datasetId:e,versionA:t,versionB:n,onVersionChange:r}){const{data:s}=Yje(e),a=(s??[]).map(i=>({value:String(i.version),label:`${Mes(i.version,i.createdAt)}${i.isCurrent?" (current)":""}`}));return o.jsxs(Gr.Toolbar,{className:"grid grid-cols-[1fr_1fr_1fr_10rem] gap-4 w-full",children:[o.jsx("div",{}),o.jsx(xc,{label:"Version A",labelIsHidden:!0,name:"version-a",placeholder:"Select version",options:a,value:t??"",onValueChange:i=>r?.(i,n??"")}),o.jsx(xc,{label:"Version B",labelIsHidden:!0,name:"version-b",options:a,value:n??"",onValueChange:i=>r?.(t??"",i)}),o.jsx("div",{})]})}const Les=[{name:"id",label:"ID",size:"1fr"},{name:"versionA",label:"Version A",size:"1fr"},{name:"versionB",label:"Version B",size:"1fr"},{name:"compare",label:"Compare",size:"10rem"}],Fes={added:{color:"blue",borderColor:"border-blue-900",icon:o.jsx(Fr,{}),tooltip:"Added in this version"},changed:{color:"orange",borderColor:"border-yellow-900",icon:o.jsx(jlt,{}),tooltip:"Changed in this version"},same:{color:"green",borderColor:"border-green-900",icon:o.jsx(gcn,{}),tooltip:"Same in both versions"}};function Fre({red:e=!1,tooltip:t}){return o.jsxs(Wn,{children:[o.jsx(zn,{asChild:!0,children:o.jsx(nln,{className:K("text-neutral3/40 w-5 h-5 ",{"text-red-900":e})})}),t&&o.jsx(Bn,{children:t})]})}function VS({variant:e,version:t}){if(!e)return o.jsxs("span",{className:"text-ui-md text-neutral4",children:["v. ",t]});const{color:n,icon:r,tooltip:s}=Fes[e];return o.jsxs(Wn,{children:[o.jsx(zn,{asChild:!0,children:o.jsxs("div",{className:"grid grid-cols-[1fr_auto]",children:[t!==void 0&&o.jsxs("span",{className:"pr-3 text-ui-md text-neutral4 min-w-16 flex justify-end",children:["v. ",t]}),o.jsx(Xs,{color:n,size:"small",children:r})]})}),o.jsx(Bn,{children:s})]})}function zes(e,t){return e&&t&&e.datasetVersion===t.datasetVersion?"same":e&&t&&e.datasetVersion!==t.datasetVersion?"changed":e?"added":"removed"}function Bes({datasetId:e,versionA:t,versionB:n,allItems:r,itemsAMap:s,itemsBMap:a}){const{Link:i}=yn(),l=t>n;return o.jsx(gn,{children:o.jsx(gn.Scroller,{children:o.jsx(gn.Items,{children:r.map(({id:c})=>{const u=s.get(c),d=a.get(c),f=zes(u,d);return o.jsxs(gn.Row,{columns:Les,children:[o.jsx(gn.IdCell,{id:c,isShortened:!1}),f!=="same"?o.jsxs(o.Fragment,{children:[u?.datasetVersion?o.jsx(gn.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"gap-2",children:!d&&l?o.jsx(VS,{variant:"added",version:u.datasetVersion}):f==="changed"&&l?o.jsx(VS,{variant:"changed",version:u.datasetVersion}):o.jsx(VS,{version:u.datasetVersion})}):o.jsx(gn.Cell,{className:"justify-center flex items-center",children:o.jsx(Fre,{red:l,tooltip:l?"Deleted in this version":"Not present in this version"})}),d?.datasetVersion?o.jsx(gn.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"gap-2",children:!u&&!l?o.jsx(VS,{variant:"added",version:d.datasetVersion}):f==="changed"&&!l?o.jsx(VS,{variant:"changed",version:d.datasetVersion}):o.jsx(VS,{version:d.datasetVersion})}):o.jsx(gn.Cell,{className:"justify-center flex items-center",children:o.jsx(Fre,{red:!l,tooltip:l?"Not present in this version":"Deleted in this version"})})]}):o.jsx(gn.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"col-span-2 gap-2",children:o.jsx(VS,{variant:"same",version:d?.datasetVersion})}),f==="changed"?o.jsx(gn.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}/versions?ids=${u?.datasetVersion},${d?.datasetVersion}`,children:"Compare"}):o.jsx(gn.Cell,{children:o.jsx(Fre,{tooltip:o.jsxs(o.Fragment,{children:["Comparing is available",o.jsx("br",{})," only for changed items"]})})})]},c)})})})})}const mQe={needsReview:"#facc15",complete:"#22c55e"},Ues=[{label:"Needs Review",color:mQe.needsReview},{label:"Reviewed",color:mQe.complete}];function qes({reviewSummary:e,experiments:t,datasets:n,isLoading:r,isError:s}){const{data:a,maxVal:i,totalInPipeline:l}=v.useMemo(()=>{if(!e?.counts||!t)return{data:[],maxVal:0,totalInPipeline:0};const u=new Map;for(const m of t)u.set(m.id,m);const d=new Map;if(n)for(const m of n)d.set(m.id,m.name);let f=0,p=0;const h=[];for(const m of e.counts){const g=m.needsReview+m.complete;if(g===0)continue;p+=g,g>f&&(f=g);const y=u.get(m.experimentId),b=y?.datasetId?d.get(y.datasetId):void 0,w=b?`${b} · ${m.experimentId.slice(0,8)}`:m.experimentId.slice(0,8);h.push({name:w,values:[m.needsReview,m.complete]})}return{data:h,maxVal:f,totalInPipeline:p}},[e,t,n]),c=a.length>0;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Review Pipeline",description:"Items in review across experiments."}),c&&o.jsx(Bt.Summary,{value:String(l),label:"Items in pipeline"})]}),r?o.jsx(Bt.Loading,{}):s?o.jsx(Bt.Error,{message:"Failed to load review data"}):o.jsx(Bt.Content,{children:c?o.jsx(aN,{data:a,segments:Ues,maxVal:i,fmt:u=>String(u)}):o.jsx(Bt.NoData,{message:"No items have been sent to review yet"})})]})}function gTe(){const e=We();return wt({queryKey:["experiment-review-summary"],queryFn:()=>e.getExperimentReviewSummary()})}function i8t(e){const t=new Map;if(!e?.counts)return t;for(const n of e.counts)t.set(n.experimentId,{needsReview:n.needsReview,complete:n.complete,total:n.total});return t}function Ves(e,t){const n=new Map,r=i8t(e);if(!r.size||!t)return n;for(const s of t){const a=r.get(s.id);if(!a||!s.datasetId||a.needsReview+a.complete===0)continue;const l=n.get(s.datasetId)??{needsReview:0,complete:0};l.needsReview+=a.needsReview,l.complete+=a.complete,n.set(s.datasetId,l)}return n}function Hes(e){return e?.counts?e.counts.reduce((t,n)=>({needsReview:t.needsReview+n.needsReview,complete:t.complete+n.complete,inPipeline:t.inPipeline+n.needsReview+n.complete}),{needsReview:0,complete:0,inPipeline:0}):{needsReview:0,complete:0,inPipeline:0}}const Wes=10;function Zes(){const[e,t]=v.useState(!1),[n,r]=v.useState(""),[s,a]=v.useState("all"),[i,l]=v.useState("all"),[c,u]=v.useState("all"),[d,f]=v.useState(0),{data:p,isLoading:h,error:m}=Rg({page:d,perPage:Wes}),{data:g,isLoading:y,error:b}=zZ(),{data:w}=gTe(),S=v.useMemo(()=>p?.datasets??[],[p?.datasets]),k=p?.pagination?.hasMore??!1,_=v.useMemo(()=>g?.experiments??[],[g?.experiments]),C=v.useMemo(()=>FKr(S),[S]),E=v.useMemo(()=>Ves(w,_),[w,_]),j=h||y,N=m||b,I=()=>t(!0),R=v.useCallback(()=>f(B=>B+1),[]),$=v.useCallback(()=>f(B=>Math.max(0,B-1)),[]),F=v.useCallback(B=>{r(B),f(0)},[]),D=v.useCallback(B=>{a(B),f(0)},[]),V=v.useCallback(B=>{l(B),f(0)},[]),W=v.useCallback(B=>{u(B),f(0)},[]);if(N&&gs(N))return o.jsx(lr,{children:o.jsx(Vs,{})});if(N&&ys(N))return o.jsx(lr,{children:o.jsx(Ds,{resource:"datasets"})});if(N)return o.jsx(lr,{children:o.jsx(Fi,{title:"Failed to load datasets",message:N.message})});if(S.length===0&&!j&&d===0)return o.jsxs(o.Fragment,{children:[o.jsx(lr,{children:o.jsx(VKr,{onCreateClick:I})}),o.jsx(Eve,{open:e,onOpenChange:t})]});const L=s!=="all"||i!=="all"||c!=="all"||n!=="",z=()=>{r(""),a("all"),l("all"),u("all"),f(0)};return o.jsxs(Lt,{children:[o.jsx(Lt.TopArea,{children:o.jsx(ZKr,{search:n,onSearchChange:F,targetFilter:s,onTargetFilterChange:D,experimentFilter:i,onExperimentFilterChange:V,tagFilter:c,onTagFilterChange:W,tagOptions:C,onReset:z,hasActiveFilters:L,onCreateClick:I})}),o.jsx(qKr,{datasets:S,experiments:_,reviewByDataset:E,isLoading:j,search:n,targetFilter:s,experimentFilter:i,tagFilter:c,currentPage:d,hasMore:k,onNextPage:R,onPrevPage:$}),o.jsx(Eve,{open:e,onOpenChange:t})]})}function V8({children:e}){return o.jsxs(Lt,{height:"full",children:[o.jsx("div",{}),o.jsx(Lt.MainArea,{isCentered:!0,children:e})]})}function Ges(){const{datasetId:e}=dr(),t=bs(),[n,r]=ji(),{activeVersion:s}=uTe(n,r),[a,i]=v.useState(!1),[l,c]=v.useState(!1),[u,d]=v.useState(!1),[f,p]=v.useState(!1),[h,m]=v.useState(!1),{data:g,error:y,isLoading:b}=Ux(e),{data:w=[],isLoading:S}=_1(e,void 0,s),k=!S&&w.length===0;if(b)return null;if(y&&gs(y))return o.jsx(V8,{children:o.jsx(Vs,{})});if(y&&ys(y))return o.jsx(V8,{children:o.jsx(Ds,{resource:"datasets"})});if(y&&z1e(y)||!b&&!y&&!g)return o.jsx(V8,{children:o.jsx(Lr,{iconSlot:o.jsx(ay,{}),titleSlot:"Dataset not found",descriptionSlot:`No dataset with id "${e}".`,actionSlot:o.jsxs(ue,{as:ci,to:"/datasets",children:[o.jsx(Ec,{}),"Back to Datasets"]})})});if(y)return o.jsx(V8,{children:o.jsx(Fi,{title:"Failed to load dataset",message:y instanceof Error?y.message:"An unexpected error occurred. Please try again."})});const _=E=>{t(`/datasets/${e}/experiments/${E}`)},C=()=>{t("/datasets")};return o.jsxs(o.Fragment,{children:[o.jsxs(Lt,{height:"full",children:[o.jsx(Lt.TopArea,{children:o.jsxs(Lt.Row,{children:[o.jsxs(Lt.Column,{children:[g?.description&&o.jsx("p",{className:"text-ui-smd text-neutral3 mb-1",children:g.description}),o.jsxs(zt,{numOfCol:2,children:[o.jsx(zt.Key,{children:"Created at"}),o.jsx(zt.Value,{children:g?.createdAt?er(new Date(g.createdAt),"MMM d, yyyy"):""}),o.jsx(zt.Key,{children:"Latest version"}),o.jsxs(zt.Value,{children:["v",g?.version??""]})]})]}),o.jsx(Lt.Column,{children:o.jsxs($r,{children:[k?o.jsxs(Wn,{children:[o.jsx(zn,{asChild:!0,children:o.jsx("span",{className:"cursor-not-allowed",children:o.jsx("div",{className:"pointer-events-none opacity-50",inert:!0,"aria-disabled":"true",children:o.jsxs(ue,{variant:"primary",children:[o.jsx(Pp,{}),s!=null?`Run on v${s}`:"Run Experiment"]})})})}),o.jsx(Bn,{children:"Add items to the dataset before running an experiment"})]}):o.jsxs(ue,{variant:"primary",onClick:()=>i(!0),children:[o.jsx(Pp,{}),s!=null?`Run on v${s}`:"Run Experiment"]}),o.jsxs(ft,{children:[o.jsx(ft.Trigger,{asChild:!0,children:o.jsx(ue,{size:"lg","aria-label":"Dataset actions menu",children:o.jsx(l3,{})})}),o.jsxs(ft.Content,{align:"end",className:"w-48",children:[o.jsxs(ft.Item,{onSelect:()=>d(!0),children:[o.jsx(em,{})," Edit Dataset"]}),o.jsxs(ft.Item,{onSelect:()=>m(!0),children:[o.jsx(Rp,{})," Duplicate Dataset"]}),o.jsxs(ft.Item,{onSelect:()=>p(!0),className:"text-red-500 focus:text-red-400",children:[o.jsx(Jc,{})," Delete Dataset"]})]})]})]})})]})}),o.jsx(Lt.MainArea,{children:o.jsx(les,{datasetId:e,onAddItemClick:()=>c(!0)})})]}),o.jsx(ges,{datasetId:e,version:s??void 0,requestContextSchema:g?.requestContextSchema,open:a,onOpenChange:i,onSuccess:_}),o.jsx(ues,{datasetId:e,open:l,onOpenChange:c}),g&&o.jsx(JKr,{open:u,onOpenChange:d,dataset:{id:g.id,name:g.name,description:g?.description||"",targetType:g.targetType,inputSchema:g.inputSchema,groundTruthSchema:g.groundTruthSchema,requestContextSchema:g.requestContextSchema}}),g&&o.jsx(YKr,{open:h,onOpenChange:m,sourceDatasetId:g.id,sourceDatasetName:g.name,sourceDatasetDescription:g.description,sourceDatasetTargetType:g.targetType}),g&&o.jsx(tJr,{open:f,onOpenChange:p,datasetId:g.id,datasetName:g.name,onSuccess:C})]})}function o8t({experiment:e}){const{Link:t,paths:n}=yn(),{data:r}=Sm(),{data:s}=By(),{data:a}=eh(),i=()=>{switch(e.targetType){case"agent":return n.agentLink(e.targetId);case"workflow":return n.workflowLink(e.targetId);case"scorer":return n.scorerLink(e.targetId);default:return"#"}},l=()=>{const u=e.targetId;if(!u)return u;switch(e.targetType){case"agent":return r?.[u]?.name??u;case"workflow":return s?.[u]?.name??u;case"scorer":return a?.[u]?.scorer?.config?.name??u;default:return u}},c=e.agentVersion&&e.targetType==="agent"&&e.targetId?`${n.agentLink(e.targetId)}/editor?version=${encodeURIComponent(e.agentVersion)}`:null;return o.jsx(Lt.TopArea,{children:o.jsxs(Lt.Row,{children:[o.jsx(Lt.Column,{children:o.jsxs(zt,{numOfCol:2,children:[o.jsx(zt.Key,{children:"Created at"}),o.jsx(zt.Value,{children:er(new Date(e.createdAt),"MMM d, yyyy 'at' h:mm a")}),e.completedAt&&o.jsxs(o.Fragment,{children:[o.jsx(zt.Key,{children:"Completed at"}),o.jsx(zt.Value,{children:er(new Date(e.completedAt),"MMM d, yyyy 'at' h:mm a")})]}),o.jsx(zt.Key,{children:"Target"}),o.jsx(zt.ValueLink,{href:i(),as:t,children:l()}),e.agentVersion&&o.jsxs(o.Fragment,{children:[o.jsx(zt.Key,{children:"Version"}),c?o.jsx(zt.ValueLink,{href:c,as:t,children:e.agentVersion}):o.jsx(zt.Value,{children:e.agentVersion})]})]})}),o.jsx(Lt.Column,{children:o.jsx(jes,{experiment:e})})]})})}function H8({children:e}){return o.jsxs(Lt,{height:"full",children:[o.jsx("div",{}),o.jsx(Lt.MainArea,{isCentered:!0,children:e})]})}function Qes(){const{datasetId:e,experimentId:t}=dr(),{data:n,isLoading:r,error:s}=_U(e,t),{data:a,isLoading:i,setEndOfListElement:l,isFetchingNextPage:c,hasNextPage:u}=$Z({datasetId:e,experimentId:t,experimentStatus:n?.status});return!e||!t||r?null:s&&gs(s)?o.jsx(H8,{children:o.jsx(Vs,{})}):s&&ys(s)?o.jsx(H8,{children:o.jsx(Ds,{resource:"datasets"})}):s&&z1e(s)||!r&&!s&&!n?o.jsx(H8,{children:o.jsx(Lr,{iconSlot:o.jsx(Bye,{}),titleSlot:"Experiment not found",descriptionSlot:`No experiment with id "${t}".`,actionSlot:o.jsxs(ue,{as:ci,to:`/datasets/${e}?tab=experiments`,children:[o.jsx(Ec,{}),"Back to Dataset"]})})}):s?o.jsx(H8,{children:o.jsx(Fi,{title:"Failed to load experiment",message:s instanceof Error?s.message:"An unexpected error occurred. Please try again."})}):o.jsxs(Lt,{height:"full",children:[o.jsx(o8t,{experiment:n}),o.jsx(Lt.MainArea,{children:o.jsx(a8t,{experimentId:t,datasetId:e,experimentStatus:n.status,results:a??[],isLoading:i,setEndOfListElement:l,isFetchingNextPage:c,hasNextPage:u})})]})}function Yes(){const{datasetId:e}=dr(),[t,n]=ji(),{error:r}=Ux(e??""),s=t.get("baseline")??"",a=t.get("contender")??"";return r&&gs(r)?o.jsx(cs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Vs,{})})}):r&&ys(r)?o.jsx(cs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ds,{resource:"datasets"})})}):!e||!s||!a?o.jsx(cs,{children:o.jsx(xy,{children:o.jsxs("div",{className:"text-neutral4 text-center py-8",children:[o.jsx("p",{children:"Select two experiments to compare."}),o.jsxs("p",{className:"text-sm mt-2",children:["Use the URL format: /datasets/","{datasetId}","/experiments?baseline=","{experimentIdA}","&contender=","{experimentIdB}"]})]})})}):o.jsx(cs,{children:o.jsx(xy,{children:o.jsxs("div",{className:"max-w-[100rem] w-full px-12 mx-auto grid content-start ",children:[o.jsxs(ua,{children:[o.jsxs(ua.Column,{children:[o.jsxs(ua.Title,{children:[o.jsx(Qw,{})," Dataset Experiments Comparison"]}),o.jsxs(ua.Description,{children:["Comparing"," ",o.jsx(ci,{to:`/datasets/${e}/experiments/${s}`,children:s.slice(0,8)})," vs"," ",o.jsx(ci,{to:`/datasets/${e}/experiments/${a}`,children:a.slice(0,8)})]})]}),o.jsx(ua.Column,{children:o.jsxs(ue,{as:ci,to:`/datasets/${e}`,children:[o.jsx(Ec,{}),"Back to Dataset"]})})]}),o.jsx(Res,{datasetId:e,experimentIdA:s,experimentIdB:a,onSwap:()=>{n({baseline:a,contender:s})}})]})})})}function Xes(){const{datasetId:e,itemId:t}=dr(),{Link:n}=yn(),r=bs(),{data:s,isLoading:a,error:i}=cTe(e??"",t??""),{updateItem:l,deleteItem:c}=_i(),{data:u}=Ux(e??""),d=s?.[0]??null,f=d?.isDeleted??!1,[p,h]=v.useState(null),m=v.useMemo(()=>!d||f?{input:"",groundTruth:"",metadata:"",trajectory:"",toolMocks:"",requestContext:""}:{input:JSON.stringify(d.input,null,2),groundTruth:d.groundTruth?JSON.stringify(d.groundTruth,null,2):"",metadata:d.metadata?JSON.stringify(d.metadata,null,2):"",trajectory:d.expectedTrajectory!=null?JSON.stringify(d.expectedTrajectory,null,2):"",toolMocks:d.toolMocks?.length?JSON.stringify(d.toolMocks,null,2):"",requestContext:d.requestContext?JSON.stringify(d.requestContext,null,2):""},[d,f]),g=d?.datasetVersion??0,[y,b]=v.useState(!1),[w,S]=v.useState(m.input),[k,_]=v.useState(m.groundTruth),[C,E]=v.useState(m.metadata),[j,N]=v.useState(m.trajectory),[I,R]=v.useState(m.toolMocks),[$,F]=v.useState(m.requestContext),[D,V]=v.useState(g);g!==D&&(V(g),S(m.input),_(m.groundTruth),E(m.metadata),N(m.trajectory),R(m.toolMocks),F(m.requestContext));const[W,L]=v.useState(!1),z=J=>{h(f?J:J.isLatest?null:J)},B=()=>{h(null)},M=!f&&p!=null,G=()=>{M||b(!0)},U=()=>{M||L(!0)},P=async()=>{if(!e||!t)return;let J;try{J=JSON.parse(w)}catch{De.error("Input must be valid JSON");return}let ee;if(k.trim())try{ee=JSON.parse(k)}catch{De.error("Ground Truth must be valid JSON");return}let ae;if(C.trim())try{ae=JSON.parse(C)}catch{De.error("Metadata must be valid JSON");return}let de;const Y=j!==m.trajectory;if(Y&&j.trim())try{de=JSON.parse(j)}catch{De.error("Expected Trajectory must be valid JSON");return}let ne;const ce=I!==m.toolMocks;if(ce&&I.trim())try{const ve=JSON.parse(I);if(!Array.isArray(ve)){De.error("Tool Mocks must be a JSON array");return}ne=ve}catch{De.error("Tool Mocks must be valid JSON");return}let pe;const le=$!==m.requestContext;if(le&&$.trim())try{pe=JSON.parse($)}catch{De.error("Request Context must be valid JSON");return}try{await l.mutateAsync({datasetId:e,itemId:t,input:J,groundTruth:ee,metadata:ae,...Y?{expectedTrajectory:de??null}:{},...ce?{toolMocks:ne??[]}:{},...le?{requestContext:pe}:{}}),De.success("Item updated successfully"),b(!1)}catch(ve){De.error(`Failed to update item: ${ve instanceof Error?ve.message:"Unknown error"}`)}},q=()=>{d&&(S(JSON.stringify(d.input,null,2)),_(d.groundTruth?JSON.stringify(d.groundTruth,null,2):""),E(d.metadata?JSON.stringify(d.metadata,null,2):""),N(d.expectedTrajectory!=null?JSON.stringify(d.expectedTrajectory,null,2):""),R(d.toolMocks?.length?JSON.stringify(d.toolMocks,null,2):""),F(d.requestContext?JSON.stringify(d.requestContext,null,2):"")),b(!1)},Z=async()=>{if(!(!e||!t))try{await c.mutateAsync({datasetId:e,itemId:t}),De.success("Item deleted successfully"),L(!1),r(`/datasets/${e}`)}catch(J){De.error(`Failed to delete item: ${J instanceof Error?J.message:"Unknown error"}`)}},X=p??d,te=X?{id:t??"",datasetId:e??"",datasetVersion:X.datasetVersion,input:X.input,groundTruth:X.groundTruth,expectedTrajectory:X.expectedTrajectory,metadata:X.metadata,createdAt:X.createdAt,updatedAt:X.updatedAt}:null;return i&&gs(i)?o.jsx(cs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Vs,{})})}):i&&ys(i)?o.jsx(cs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ds,{resource:"datasets"})})}):a?null:!e||!t||!s||s.length===0?o.jsx(cs,{children:o.jsx(xy,{children:o.jsx("div",{className:"text-neutral3 p-4",children:"Item not found"})})}):o.jsxs(o.Fragment,{children:[o.jsx(cs,{children:o.jsx("div",{className:"h-full overflow-hidden px-6 pb-4",children:o.jsxs("div",{className:"grid gap-6 max-w-[60rem] mx-auto grid-rows-[auto_1fr] h-full",children:[o.jsxs(ua,{children:[o.jsxs(ua.Column,{children:[o.jsxs(ua.Title,{children:[o.jsx(dN,{}),t," ",o.jsx(ya,{content:t})]}),o.jsx(ua.Description,{children:o.jsxs(Nl,{children:["Item of ",o.jsx(ay,{})," ",u?.name]})}),o.jsxs(ua.Description,{children:[o.jsxs(Nl,{children:[o.jsx(llt,{})," Created at"," ",d?.createdAt?er(new Date(d.createdAt),"MMM d, yyyy"):""]}),o.jsxs(Nl,{children:[o.jsx(i_,{})," Latest version v",d?.datasetVersion??""]})]})]}),o.jsx(ua.Column,{children:!y&&!f&&o.jsxs($r,{children:[o.jsxs(ue,{onClick:G,disabled:M,title:M?"Return to latest version to edit":void 0,children:[o.jsx(jlt,{})," Edit"]}),o.jsxs(ue,{onClick:U,disabled:M,title:M?"Return to latest version to delete":void 0,children:[o.jsx(Jc,{})," Delete"]})]})})]}),o.jsxs(ry,{className:y?"grid-cols-1":"grid-cols-[1fr_auto]",children:[o.jsxs(Gr,{withRightSeparator:!y,children:[f&&d&&o.jsx(In,{variant:"destructive",title:"Item deleted",children:o.jsxs(In.Message,{children:["This item was deleted at version v",d.datasetVersion]})}),!f&&M&&p&&o.jsx(In,{variant:"warning",title:"Previous version",action:o.jsxs(In.Button,{onClick:B,children:[o.jsx(rlt,{})," Return to the latest version"]}),children:o.jsxs(In.Message,{children:["Viewing version v",p.datasetVersion]})}),y?o.jsx(n8t,{inputValue:w,setInputValue:S,groundTruthValue:k,setGroundTruthValue:_,metadataValue:C,setMetadataValue:E,trajectoryValue:j,setTrajectoryValue:N,toolMocksValue:I,setToolMocksValue:R,requestContextValue:$,setRequestContextValue:F,validationErrors:null,onSave:P,onCancel:q,isSaving:l.isPending}):te?o.jsx(pTe,{item:te,Link:n}):o.jsx("div",{className:"text-neutral4 text-sm",children:"Item data not available"})]}),!y&&o.jsx(Gr,{children:o.jsx(Pes,{datasetId:e,itemId:t,onClose:()=>{},onVersionSelect:z,onCompareVersionsClick:J=>{r(`/datasets/${e}/items/${t}/versions?ids=${J.join(",")}`)},activeVersion:p?.datasetVersion??null})})]})]})})}),o.jsx(Tt,{open:W,onOpenChange:L,children:o.jsxs(Tt.Content,{children:[o.jsxs(Tt.Header,{children:[o.jsx(Tt.Title,{children:"Delete Item"}),o.jsx(Tt.Description,{children:"Are you sure you want to delete this item? This action cannot be undone."})]}),o.jsxs(Tt.Footer,{children:[o.jsx(Tt.Cancel,{children:"Cancel"}),o.jsx(Tt.Action,{onClick:Z,children:c.isPending?"Deleting...":"Delete"})]})]})})]})}function gQe(e){return JSON.stringify({input:e.input??null,groundTruth:e.groundTruth??null,metadata:e.metadata??null},null,2)}function Kes(){const{datasetId:e}=dr(),[t,n]=ji(),r=t.get("items")?.split(",").filter(Boolean)??[],{data:s,error:a}=Ux(e??""),{Link:i}=yn(),[l,c]=v.useState(!1),{data:u}=CU(e??"",r[0]??""),{data:d}=CU(e??"",r[1]??"");return a&&gs(a)?o.jsx(cs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Vs,{})})}):a&&ys(a)?o.jsx(cs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ds,{resource:"datasets"})})}):!e||r.length<2?o.jsx(cs,{children:o.jsx(xy,{children:o.jsx("div",{className:"text-neutral4 text-center py-8",children:o.jsx("p",{children:"Select at least two items to compare."})})})}):o.jsxs(cs,{children:[o.jsx(Ty,{owner:"dataset-items-compare",children:o.jsxs(ue,{as:ci,to:`/datasets/${e}`,variant:"outline",children:[o.jsx(Ec,{}),"Back to Dataset"]})}),o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:K("grid gap-6 max-w-[140rem] mx-auto grid-rows-[auto_1fr] h-full",{"grid-rows-[auto_auto_1fr]":l}),children:[o.jsxs(ua,{children:[o.jsxs(ua.Column,{children:[o.jsxs(ua.Title,{children:[o.jsx(Qw,{}),"Compare Dataset Items"]}),o.jsx(ua.Description,{children:o.jsxs(Nl,{children:["Comparing ",r.length," items of"," ",o.jsx(ci,{to:`/datasets/${e}`,className:"text-info1 hover:underline",children:s?.name||e?.slice(0,8)})]})})]}),o.jsx(ua.Column,{children:o.jsx($r,{children:o.jsx(ue,{variant:"primary",onClick:()=>c(f=>!f),children:l?o.jsxs(o.Fragment,{children:[o.jsx(mlt,{})," Default View"]}):o.jsxs(o.Fragment,{children:[o.jsx(lcn,{})," Diff View"]})})})})]}),o.jsx(ry,{className:"grid-cols-[1fr_3vw_1fr]",children:r.map((f,p)=>o.jsxs(v.Fragment,{children:[o.jsx(Jes,{datasetId:e,itemId:f,Link:i,idx:p,itemIds:r,showContent:!l,onItemChange:h=>{const m=[...r];m[p]=h,n({items:m.join(",")})}}),p==0&&o.jsx("div",{className:K("bg-surface5 w-[3px] shrink-0 mx-[1.5vw]")})]},f))}),l&&u&&d&&o.jsx(S_e,{codeA:gQe(u),codeB:gQe(d)})]})})]})}function Jes({datasetId:e,itemId:t,Link:n,idx:r,itemIds:s,onItemChange:a,showContent:i=!0}){const{data:l,isLoading:c}=CU(e,t),{data:u}=_1(e),d=new Set(s.filter((p,h)=>h!==r)),f=(u??[]).map(p=>({value:p.id,label:p.id,disabled:d.has(p.id)}));return o.jsxs(Gr,{children:[o.jsxs(Gr.Toolbar,{className:"flex gap-4",children:[o.jsxs(ba,{name:`compare-item-${r}`,value:t,onValueChange:a,children:[o.jsx(wa,{"aria-label":"Item",children:o.jsx(xa,{placeholder:"Select item"})}),o.jsx(Sa,{children:f.map(p=>o.jsx(qr,{value:p.value,disabled:p.disabled,children:p.label},p.value))})]}),o.jsxs(ue,{as:n,to:`/datasets/${e}/items/${t}`,children:[o.jsx(i_,{}),"Versions"]})]}),i&&o.jsx(Gr.Content,{children:c?o.jsx("div",{className:"text-neutral4 text-sm",children:"Loading..."}):l?o.jsxs(o.Fragment,{children:[o.jsx(des,{item:l}),o.jsx(pTe,{item:l,Link:n})]}):o.jsxs("div",{className:"text-neutral4 text-sm",children:["Item ",t.slice(0,8)," not found"]})})]})}function vQe(e){return JSON.stringify({input:e.input??null,groundTruth:e.groundTruth??null,metadata:e.metadata??null},null,2)}function ets(){const{datasetId:e,itemId:t}=dr(),[n,r]=ji(),[s,a]=v.useState(!1),i=n.get("ids")?.split(",").map(Number).filter(h=>!isNaN(h)&&h>0)??[],{data:l,error:c}=Ux(e??""),{Link:u}=yn(),{data:d}=cTe(e??"",t??""),{data:f}=Tve(e??"",t??"",i[0]??0,l?.version),{data:p}=Tve(e??"",t??"",i[1]??0,l?.version);return c&&gs(c)?o.jsx(cs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Vs,{})})}):c&&ys(c)?o.jsx(cs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ds,{resource:"datasets"})})}):!e||!t||i.length<2?o.jsx(cs,{children:o.jsx(xy,{children:o.jsx("div",{className:"text-neutral4 text-center py-8",children:o.jsx("p",{children:"Select at least two versions to compare."})})})}):o.jsxs(cs,{children:[o.jsx(Ty,{owner:"dataset-item-versions-compare",children:o.jsxs(ue,{as:ci,to:`/datasets/${e}/items/${t}`,variant:"outline",children:[o.jsx(Ec,{}),"Back to Item"]})}),o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:K("grid gap-6 max-w-[140rem] mx-auto grid-rows-[auto_1fr] h-full",{"grid-rows-[auto_auto_1fr]":s}),children:[o.jsxs(ua,{children:[o.jsxs(ua.Column,{children:[o.jsxs(ua.Title,{children:[o.jsx(Qw,{}),"Compare Dataset Item Versions"]}),o.jsx(ua.Description,{children:o.jsxs(Nl,{children:["Comparing ",i.length," versions of"," ",o.jsx(ci,{to:`/datasets/${e}/items/${t}`,className:"text-info1 hover:underline",children:t})]})})]}),o.jsx(ua.Column,{children:o.jsx($r,{children:o.jsx(ue,{variant:"primary",onClick:()=>a(h=>!h),children:s?o.jsxs(o.Fragment,{children:[o.jsx(mlt,{})," Default View"]}):o.jsxs(o.Fragment,{children:[o.jsx(Zcn,{})," Diff View"]})})})})]}),o.jsx(ry,{className:"grid-cols-[1fr_3vw_1fr]",children:i.map((h,m)=>o.jsxs(v.Fragment,{children:[o.jsx(tts,{datasetId:e,itemId:t,datasetVersion:h,latestVersion:l?.version,allVersions:d??[],versionNumbers:i,Link:u,idx:m,showContent:!s,onVersionChange:g=>{const y=[...i];y[m]=g,r({ids:y.join(",")})}}),m===0&&o.jsx("div",{className:K("bg-surface5 w-[3px] shrink-0 mx-[1.5vw]")})]},h))}),s&&f&&p&&o.jsx(S_e,{codeA:vQe(f),codeB:vQe(p)})]})})]})}function tts({datasetId:e,itemId:t,datasetVersion:n,latestVersion:r,allVersions:s,versionNumbers:a,Link:i,idx:l,showContent:c=!0,onVersionChange:u}){const{data:d,isLoading:f}=Tve(e,t,n,r),p=new Set(a.filter((g,y)=>y!==l)),h=s.map(g=>{const y=typeof g.updatedAt=="string"?new Date(g.updatedAt):g.updatedAt;return{value:String(g.datasetVersion),label:o.jsxs(o.Fragment,{children:[o.jsxs("b",{children:["v. ",g.datasetVersion]})," - ",er(y,"MMM d, yyyy h:mm a"),g.isLatest?o.jsx(Xs,{color:"blue",size:"small",children:"Latest"}):null]}),disabled:p.has(g.datasetVersion)}}),m=d?{id:d.id,datasetId:e,datasetVersion:d.datasetVersion,input:d.input,groundTruth:d.groundTruth,metadata:d.metadata,createdAt:d.createdAt,updatedAt:d.updatedAt}:null;return o.jsxs(Gr,{children:[o.jsxs(Gr.Toolbar,{className:"grid gap-4 grid-cols-[auto_1fr]",children:[o.jsx(i_,{className:"w-6 h-6 opacity-50"}),o.jsxs(ba,{name:`compare-version-${l}`,value:String(n),onValueChange:g=>u(Number(g)),children:[o.jsx(wa,{"aria-label":"Version",className:"w-full",children:o.jsx(xa,{placeholder:"Select version"})}),o.jsx(Sa,{children:h.map(g=>o.jsx(qr,{value:g.value,disabled:g.disabled,children:g.label},g.value))})]})]}),c&&o.jsx(Gr.Content,{children:f?o.jsx("div",{className:"text-neutral4 text-sm",children:"Loading..."}):!d||!m?o.jsxs("div",{className:"text-neutral4 text-sm",children:["Version ",n," not found"]}):o.jsx(pTe,{item:m,Link:i})})]})}function nts(){const{datasetId:e}=dr(),[t]=ji(),n=t.get("ids")?.split(",").map(Number).filter(g=>!isNaN(g)&&g>0)??[],r=bs(),{data:s,error:a}=Ux(e??""),i=_1(e??"",void 0,n[0]??null),l=_1(e??"",void 0,n[1]??null),c=v.useMemo(()=>i.data??[],[i.data]),u=v.useMemo(()=>l.data??[],[l.data]),d=v.useMemo(()=>{const g=new Map;for(const y of[...c,...u])g.has(y.id)||g.set(y.id,{id:y.id,createdAt:new Date(y.createdAt)});return[...g.values()].sort((y,b)=>b.createdAt.getTime()-y.createdAt.getTime())},[c,u]),f=v.useMemo(()=>new Map(c.map(g=>[g.id,g])),[c]),p=v.useMemo(()=>new Map(u.map(g=>[g.id,g])),[u]);if(a&&gs(a))return o.jsx(cs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Vs,{})})});if(a&&ys(a))return o.jsx(cs,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ds,{resource:"datasets"})})});if(!e||n.length<2)return o.jsx(cs,{children:o.jsx(xy,{children:o.jsx("div",{className:"text-neutral4 text-center py-8",children:o.jsx("p",{children:"Select at least two versions to compare."})})})});const h=(g,y,b)=>{r(`/datasets/${e}/items/${g}/versions?ids=${y?.datasetVersion??""},${b?.datasetVersion??""}`)},m=(g,y)=>{r(`/datasets/${e}/versions?ids=${g},${y}`,{replace:!0})};return o.jsx(cs,{children:o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:"grid gap-6 max-w-[140rem] mx-auto grid-rows-[auto_1fr] h-full",children:[o.jsxs(ua,{children:[o.jsxs(ua.Column,{children:[o.jsxs(ua.Title,{children:[o.jsx(Tdn,{})," Compare Dataset Versions"]}),o.jsx(ua.Description,{children:o.jsxs(Nl,{children:[o.jsx(i_,{})," Comparing ",n.length," versions of"," ",s?.name||e?.slice(0,8)]})})]}),o.jsx(ua.Column,{children:o.jsxs(ue,{as:ci,to:`/datasets/${e}`,children:[o.jsx(Ec,{}),"Back to Dataset"]})})]}),o.jsx(ry,{children:o.jsxs(Gr,{children:[o.jsx(Des,{datasetId:e,versionA:String(n[0]),versionB:String(n[1]),onVersionChange:m}),o.jsx(Bes,{datasetId:e,versionA:n[0],versionB:n[1],allItems:d,itemsAMap:f,itemsBMap:p,onItemClick:h})]})})]})})})}function Nve({children:e,className:t}){return o.jsx("div",{className:K("flex flex-wrap gap-8",t),children:e})}function rts(e){if(!e||e.length<2)return null;const t=[...e].sort((i,l)=>new Date(i.createdAt).getTime()-new Date(l.createdAt).getTime()),n=Math.floor(t.length/2),r=n,s=t.length-n;if(r===0)return null;const a=(s-r)/r*100;return{changePct:Math.round(a*10)/10,prevValue:String(r)}}function sts({scorers:e,datasets:t,experiments:n,avgScore:r,prevAvgScore:s,totalNeedsReview:a,isLoadingScorers:i,isLoadingDatasets:l,isLoadingExperiments:c,isLoadingScores:u,isLoadingReview:d}){const f=e?Object.keys(e).length:void 0,p=t?.length,h=n?.length,m=r!=null&&s!=null&&s!==0?{changePct:Math.round((r-s)/s*100*10)/10,prevValue:String(s)}:null,g=rts(n);return o.jsxs(o.Fragment,{children:[o.jsxs(Kr,{children:[o.jsx(Kr.Label,{children:"Total Scorers"}),i?o.jsx(Kr.Loading,{}):f!=null?o.jsxs(o.Fragment,{children:[o.jsx(Kr.Value,{children:String(f)}),o.jsx(Kr.NoChange,{message:"Static count"})]}):o.jsx(Kr.NoData,{})]}),o.jsxs(Kr,{children:[o.jsx(Kr.Label,{children:"Total Datasets"}),l?o.jsx(Kr.Loading,{}):p!=null?o.jsxs(o.Fragment,{children:[o.jsx(Kr.Value,{children:String(p)}),o.jsx(Kr.NoChange,{message:"Static count"})]}):o.jsx(Kr.NoData,{})]}),o.jsxs(Kr,{children:[o.jsx(Kr.Label,{children:"Avg Score"}),u?o.jsx(Kr.Loading,{}):r!=null?o.jsxs(o.Fragment,{children:[o.jsx(Kr.Value,{children:String(r)}),m?o.jsx(Kr.Change,{changePct:m.changePct,prevValue:m.prevValue}):o.jsx(Kr.NoChange,{})]}):o.jsx(Kr.NoData,{})]}),o.jsxs(Kr,{children:[o.jsx(Kr.Label,{children:"Total Experiments"}),c?o.jsx(Kr.Loading,{}):h!=null?o.jsxs(o.Fragment,{children:[o.jsx(Kr.Value,{children:String(h)}),g?o.jsx(Kr.Change,{changePct:g.changePct,prevValue:g.prevValue}):o.jsx(Kr.NoChange,{})]}):o.jsx(Kr.NoData,{})]}),o.jsxs(Kr,{children:[o.jsx(Kr.Label,{children:"Needs Review"}),d?o.jsx(Kr.Loading,{}):a!=null?o.jsxs(o.Fragment,{children:[o.jsx(Kr.Value,{children:String(a)}),a>0?o.jsx(Kr.NoChange,{message:"items pending review"}):o.jsx(Kr.NoChange,{message:"All caught up"})]}):o.jsx(Kr.NoData,{})]})]})}const yQe="auto 1fr auto auto auto auto auto auto auto";function ats(e){return e?(typeof e=="string"?new Date(e):e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"—"}const its={completed:"success",running:"warning",failed:"error",pending:"neutral"};function ots({experiments:e,datasets:t,reviewByExperiment:n,isLoading:r,search:s="",statusFilter:a="all",datasetFilter:i="all"}){const{paths:l,Link:c}=yn(),u=v.useMemo(()=>{const p=new Map;return t?.forEach(h=>p.set(h.id,h.name)),p},[t]),d=v.useMemo(()=>[...e].sort((p,h)=>{const m=p.createdAt?new Date(p.createdAt).getTime():0;return(h.createdAt?new Date(h.createdAt).getTime():0)-m}),[e]),f=v.useMemo(()=>{const p=s.toLowerCase();return d.filter(h=>{const m=h.datasetId?u.get(h.datasetId)??"":"",g=!p||h.id.toLowerCase().includes(p)||m.toLowerCase().includes(p)||(h.targetId??"").toLowerCase().includes(p),y=a==="all"||h.status===a,b=i==="all"||h.datasetId===i;return g&&y&&b})},[d,s,u,a,i]);return r?o.jsx(el,{columns:yQe}):o.jsxs(me,{columns:yQe,variant:"striped",children:[o.jsxs(me.Top,{children:[o.jsx(me.TopCell,{children:"Experiment"}),o.jsx(me.TopCell,{children:"Dataset"}),o.jsx(me.TopCell,{children:"Target"}),o.jsx(me.TopCell,{children:"Status"}),o.jsx(me.TopCell,{className:"text-center",children:"Items"}),o.jsx(me.TopCell,{className:"text-center",children:"Succeeded"}),o.jsx(me.TopCell,{className:"text-center",children:"Failed"}),o.jsx(me.TopCell,{className:"text-center",children:"Review"}),o.jsx(me.TopCell,{children:"Date"})]}),f.map(p=>{const h=p.datasetId?u.get(p.datasetId)??p.datasetId.slice(0,8):"—",m=p.status??"pending",g=p.succeededCount??0,y=p.failedCount??0,b=p.totalItems??0,w=b>0?Math.round(g/b*100):0;return o.jsxs(me.RowLink,{to:l.experimentLink(p.id),LinkComponent:c,children:[o.jsx(me.NameCell,{className:"font-mono",children:p.id.slice(0,8)}),o.jsx(me.TextCell,{children:h}),o.jsx(me.Cell,{children:o.jsxs("span",{className:"truncate",children:[p.targetType," ",p.targetId]})}),o.jsx(me.Cell,{children:o.jsx(dg,{variant:its[m]??"neutral",withDot:!0,children:m})}),o.jsx(me.TextCell,{className:"text-center",children:b}),o.jsx(me.TextCell,{className:"text-center",children:o.jsxs("span",{className:g>0?"text-accent1":"",children:[g," (",w,"%)"]})}),o.jsx(me.TextCell,{className:"text-center",children:o.jsx("span",{className:y>0?"text-accent2":"",children:y})}),o.jsx(me.Cell,{className:"text-center",children:(()=>{const S=n?.get(p.id);if(!S)return o.jsx("span",{className:"text-neutral2",children:"—"});const k=S.needsReview+S.complete;return k===0?o.jsx("span",{className:"text-neutral2",children:"—"}):S.needsReview>0?o.jsxs(Xs,{size:"small",color:"yellow",children:[S.needsReview," pending"]}):o.jsxs(Xs,{size:"small",color:"green",children:[S.complete,"/",k," reviewed"]})})()}),o.jsx(me.TextCell,{children:ats(p.createdAt)})]},p.id)})]})}const lts=[{value:"all",label:"All statuses"},{value:"completed",label:"Completed"},{value:"running",label:"Running"},{value:"failed",label:"Failed"},{value:"pending",label:"Pending"}];function cts(e){return[{value:"all",label:"All datasets"},...(e??[]).map(t=>({value:t.id,label:t.name}))]}const W8={completed:"#22c55e",running:"#facc15",pending:"#fb923c",failed:"#f87171"},uts=[{label:"Completed",color:W8.completed},{label:"Running",color:W8.running},{label:"Pending",color:W8.pending},{label:"Failed",color:W8.failed}];function dts({experiments:e,datasets:t,isLoading:n,isError:r}){const{data:s,maxVal:a}=v.useMemo(()=>{if(!e||e.length===0)return{data:[],maxVal:0};const l=new Map;if(t)for(const f of t)l.set(f.id,f.name);const c=new Map;for(const f of e){const p=f.datasetId??"unknown";c.has(p)||c.set(p,{completed:0,running:0,pending:0,failed:0});const h=c.get(p),m=f.status;m in h&&h[m]++}let u=0;return{data:Array.from(c.entries()).map(([f,p])=>{const h=p.completed+p.running+p.pending+p.failed;return h>u&&(u=h),{name:l.get(f)??f.slice(0,12),values:[p.completed,p.running,p.pending,p.failed]}}),maxVal:u}},[e,t]),i=s.length>0;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Experiments by Dataset",description:"Experiment status breakdown per dataset."}),i&&o.jsx(Bt.Summary,{value:String(e?.length??0),label:"Total experiments"})]}),n?o.jsx(Bt.Loading,{}):r?o.jsx(Bt.Error,{message:"Failed to load experiments data"}):o.jsx(Bt.Content,{children:i?o.jsx(aN,{data:s,segments:uts,maxVal:a,fmt:l=>String(l)}):o.jsx(Bt.NoData,{message:"No experiments have been run yet"})})]})}const fts=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(xf,{}),titleSlot:"No Experiments yet",descriptionSlot:o.jsxs(o.Fragment,{children:["Run an experiment from a dataset to evaluate ",o.jsx("br",{}),"your agents and workflows."]}),actionSlot:o.jsx("div",{className:"flex flex-col items-center gap-2",children:o.jsxs(ue,{variant:"ghost",as:"a",href:"https://mastra.ai/en/docs/evals/datasets/running-experiments",target:"_blank",rel:"noopener noreferrer",children:["Experiments Documentation ",o.jsx(Pa,{})]})})})});function pts({search:e,onSearchChange:t,statusFilter:n,onStatusFilterChange:r,datasetFilter:s,onDatasetFilterChange:a,datasetOptions:i,onReset:l,hasActiveFilters:c}){return o.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[o.jsx(Of,{label:"Search experiments",placeholder:"Filter by experiment, dataset, or target",value:e,onSearch:t}),o.jsxs($r,{children:[o.jsx(xc,{label:"Status",labelIsHidden:!0,name:"filter-status",options:[...lts],value:n,onValueChange:r,className:"whitespace-nowrap"}),o.jsx(xc,{label:"Dataset",labelIsHidden:!0,name:"filter-dataset",options:i,value:s,onValueChange:a,className:"whitespace-nowrap"}),l&&c&&o.jsxs(ue,{onClick:l,size:"sm",variant:"default",children:[o.jsx(vs,{className:"size-3"})," Reset"]})]})]})}function hts(){const{data:e,isLoading:t,error:n}=eh(),{data:r,isLoading:s,error:a}=Rg(),{data:i,isLoading:l,error:c}=zZ(),{data:u,isLoading:d,isError:f,error:p}=uWr(),{data:h,isLoading:m,isError:g,error:y}=gTe(),b=r?.datasets,w=i?.experiments,S=v.useMemo(()=>Hes(h),[h]),k=n||a||c||p||y;return k&&gs(k)?o.jsx(lr,{children:o.jsx(Vs,{})}):k&&ys(k)?o.jsx(lr,{children:o.jsx(Ds,{resource:"evaluation"})}):k?o.jsx(lr,{children:o.jsx(Fi,{title:"Failed to load evaluation data",message:k.message})}):o.jsx(Lt,{width:"wide",height:"full",children:o.jsxs("div",{className:"flex flex-col gap-6",children:[o.jsx(Nve,{children:o.jsx(sts,{scorers:e,datasets:b,experiments:w,avgScore:u?.avgScore??null,prevAvgScore:u?.prevAvgScore??null,totalNeedsReview:S.needsReview,isLoadingScorers:t,isLoadingDatasets:s,isLoadingExperiments:l,isLoadingScores:d,isLoadingReview:m})}),o.jsx(gHr,{summaryData:u?.summaryData??[],overTimeData:u?.overTimeData??[],scorerNames:u?.scorerNames??[],avgScore:u?.avgScore??null,isLoading:d,isError:f}),o.jsxs("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-2",children:[o.jsx(WKr,{experiments:w,isLoading:l,isError:!!c}),o.jsx(dts,{experiments:w,datasets:b,isLoading:l,isError:!!c})]}),o.jsx(qes,{reviewSummary:h,experiments:w,datasets:b,isLoading:m,isError:!!g})]})})}function mts(){const[e,t]=v.useState(""),[n,r]=v.useState("all"),[s,a]=v.useState("all"),{data:i,isLoading:l,error:c}=Rg(),{data:u,isLoading:d,error:f}=zZ(),{data:p}=gTe(),h=v.useMemo(()=>i?.datasets??[],[i?.datasets]),m=v.useMemo(()=>u?.experiments??[],[u?.experiments]),g=v.useMemo(()=>cts(h),[h]),y=v.useMemo(()=>i8t(p),[p]),b=l||d,w=f||c;if(w&&gs(w))return o.jsx(lr,{children:o.jsx(Vs,{})});if(f&&ys(f))return o.jsx(lr,{children:o.jsx(Ds,{resource:"experiments"})});if(c&&ys(c))return o.jsx(lr,{children:o.jsx(Ds,{resource:"datasets"})});if(w)return o.jsx(lr,{children:o.jsx(Fi,{title:"Failed to load experiments",message:w.message})});if(m.length===0&&!b)return o.jsx(lr,{children:o.jsx(fts,{})});const S=n!=="all"||s!=="all"||e!=="",k=()=>{t(""),r("all"),a("all")};return o.jsxs(Lt,{children:[o.jsx(Lt.TopArea,{children:o.jsx(pts,{search:e,onSearchChange:t,statusFilter:n,onStatusFilterChange:r,datasetFilter:s,onDatasetFilterChange:a,datasetOptions:g,onReset:k,hasActiveFilters:S})}),o.jsx(ots,{experiments:m,datasets:h,reviewByExperiment:y,isLoading:b,search:e,statusFilter:n,datasetFilter:s})]})}function Z8({children:e}){return o.jsxs(Lt,{height:"full",children:[o.jsx("div",{}),o.jsx(Lt.MainArea,{isCentered:!0,children:e})]})}function gts(){const{experimentId:e}=dr(),{data:t,isLoading:n}=zZ(),s=t?.experiments?.find(h=>h.id===e)?.datasetId??"",{data:a,isLoading:i,error:l}=_U(s,e??""),{data:c,isLoading:u,setEndOfListElement:d,isFetchingNextPage:f,hasNextPage:p}=$Z({datasetId:s,experimentId:e??"",experimentStatus:a?.status});return!e||n||i?null:l&&gs(l)?o.jsx(Z8,{children:o.jsx(Vs,{})}):l&&ys(l)?o.jsx(Z8,{children:o.jsx(Ds,{resource:"datasets"})}):l&&z1e(l)||!n&&!s||!i&&!l&&!a?o.jsx(Z8,{children:o.jsx(Lr,{iconSlot:o.jsx(Bye,{}),titleSlot:"Experiment not found",descriptionSlot:`No experiment with id "${e}".`,actionSlot:o.jsxs(ue,{as:ci,to:"/experiments",children:[o.jsx(Ec,{}),"Back to Experiments"]})})}):l?o.jsx(Z8,{children:o.jsx(Fi,{title:"Failed to load experiment",message:l instanceof Error?l.message:"An unexpected error occurred. Please try again."})}):o.jsxs(Lt,{height:"full",children:[o.jsx(o8t,{experiment:a}),o.jsx(Lt.MainArea,{children:o.jsx(a8t,{experimentId:e,datasetId:s,experimentStatus:a.status,results:c??[],isLoading:u,setEndOfListElement:d,isFetchingNextPage:f,hasNextPage:p})})]})}function vts({connection:e,isAdmin:t,disconnectPending:n,onDisconnect:r}){return o.jsxs("li",{className:"flex items-center justify-between border-b py-2",children:[o.jsxs("div",{children:[o.jsx("div",{className:"font-mono text-xs",children:e.connectionId}),o.jsxs("div",{className:"text-xs text-gray-500",children:[e.label??"(no label)"," · ",e.status,e.scope?` · ${e.scope}`:"",t&&e.authorId?` · author: ${e.authorId}`:""]})]}),o.jsx("button",{type:"button",className:"text-red-600 underline disabled:opacity-50",onClick:r,disabled:n,children:"Disconnect"})]})}function l8t({connections:e,isAdmin:t,disconnectPending:n,onDisconnect:r}){return o.jsx("ul",{className:"space-y-1",children:e.map(s=>o.jsx(vts,{connection:s,isAdmin:t,disconnectPending:n,onDisconnect:()=>r(s.connectionId)},s.connectionId))})}function yts({groups:e,isAdmin:t,disconnectPending:n,onDisconnect:r}){return o.jsx("div",{className:"space-y-4",children:e.map(([s,a])=>o.jsxs("div",{children:[o.jsx("h3",{className:"text-sm font-semibold text-gray-700","data-testid":`integration-author-group-${s}`,children:s==="shared"?"Shared":`Owned by ${s}`}),o.jsx(l8t,{connections:a,isAdmin:t,disconnectPending:n,onDisconnect:r})]},s))})}function bts({providerId:e,toolkit:t,connections:n,groupedByAuthor:r,isAdmin:s,isLoading:a,error:i,disconnectPending:l,disconnectError:c,onDisconnect:u}){return o.jsxs("div",{className:"space-y-2 border rounded p-4",children:[o.jsx("h2",{className:"text-lg font-semibold",children:"Existing connections"}),!e||!t?o.jsx("p",{className:"text-gray-500",children:"Pick a provider and toolkit to list connections."}):a?o.jsx("p",{className:"text-gray-500",children:"Loading…"}):i?o.jsx("p",{className:"text-red-600",children:String(i)}):n.length===0?o.jsx("p",{className:"text-gray-500",children:"No connections."}):r?o.jsx(yts,{groups:r,isAdmin:s,disconnectPending:l,onDisconnect:u}):o.jsx(l8t,{connections:n,isAdmin:s,disconnectPending:l,onDisconnect:u}),c?o.jsx("p",{className:"text-red-600",children:String(c)}):null]})}function xts({providers:e,toolkits:t,providerId:n,toolkit:r,label:s,providersLoading:a,providersError:i,toolkitsLoading:l,toolkitsError:c,authorizePending:u,authorizeError:d,authorizedConnection:f,onProviderChange:p,onToolkitChange:h,onLabelChange:m,onConnect:g}){return o.jsxs("div",{className:"space-y-4 border rounded p-4",children:[o.jsxs("div",{className:"space-y-1",children:[o.jsx("label",{className:"block font-medium",htmlFor:"provider-select",children:"Provider"}),o.jsxs("select",{id:"provider-select",className:"border rounded px-2 py-1 w-full",value:n,onChange:y=>p(y.target.value),disabled:a,children:[o.jsx("option",{value:"",children:"— select provider —"}),e.map(y=>o.jsxs("option",{value:y.id,children:[y.displayName??y.name," (",y.id,")"]},y.id))]}),a&&o.jsx("span",{className:"text-gray-500",children:"Loading providers…"}),i?o.jsx("span",{className:"text-red-600",children:String(i)}):null]}),o.jsxs("div",{className:"space-y-1",children:[o.jsx("label",{className:"block font-medium",htmlFor:"toolkit-select",children:"Toolkit"}),o.jsxs("select",{id:"toolkit-select",className:"border rounded px-2 py-1 w-full",value:r,onChange:y=>h(y.target.value),disabled:!n||l,children:[o.jsx("option",{value:"",children:"— select toolkit —"}),t.map(y=>o.jsxs("option",{value:y.slug,children:[y.name," (",y.slug,")"]},y.slug))]}),l&&o.jsx("span",{className:"text-gray-500",children:"Loading toolkits…"}),c?o.jsx("span",{className:"text-red-600",children:String(c)}):null]}),o.jsxs("div",{className:"space-y-1",children:[o.jsx("label",{className:"block font-medium",htmlFor:"label-input",children:"Label (optional)"}),o.jsx("input",{id:"label-input",type:"text",className:"border rounded px-2 py-1 w-full",placeholder:"My personal Gmail",value:s,onChange:y=>m(y.target.value),disabled:!n||!r})]}),o.jsx("button",{type:"button",className:"bg-blue-600 text-white rounded px-4 py-2 disabled:opacity-50",onClick:g,disabled:!n||!r||u,children:u?"Authorizing…":"Connect"}),d?o.jsx("p",{className:"text-red-600",children:String(d)}):null,f&&o.jsxs("p",{className:"text-green-700",children:["Authorized: ",f.connectionId," (status: ",f.status,")"]})]})}const bQe=e=>e.authorId?.trim()||"shared",wts=(e,t)=>{if(!t||new Set(e.map(bQe)).size<=1)return null;const r=new Map;for(const a of e){const i=bQe(a);r.set(i,[...r.get(i)??[],a])}const s=Array.from(r.entries());return s.sort(([a],[i])=>a==="shared"?1:i==="shared"?-1:a.localeCompare(i)),s},Sts=["*","tool-providers:*","tool-providers:admin"];function kts(){const{data:e}=wm();return e?.permissions?.some(t=>Sts.includes(t))??!1}function Ots(){const[e,t]=v.useState(""),[n,r]=v.useState(""),[s,a]=v.useState(""),i=cI(),l=lW(e||null),c=sAt(e||null,n||null),u=rAt(),d=eAt(),f=kts(),p=i.data?.providers??[],h=l.data?.data??[],m=v.useMemo(()=>c.data?.items??[],[c.data?.items]),g=v.useMemo(()=>wts(m,f),[m,f]),y=S=>{t(S),r("")},b=()=>{!e||!n||u.mutate({providerId:e,toolkit:n,label:s.trim()||null},{onSuccess:()=>{a(""),c.refetch()}})},w=S=>{d.mutate({providerId:e,connectionId:S})};return o.jsxs("div",{className:"p-6 max-w-3xl space-y-6 text-sm",children:[o.jsx("h1",{className:"text-2xl font-semibold",children:"Integrations"}),o.jsx("p",{className:"text-gray-500",children:"Minimal page to verify the ToolProvider backend. Pick a provider and toolkit, then connect."}),o.jsx(xts,{providers:p,toolkits:h,providerId:e,toolkit:n,label:s,providersLoading:i.isLoading,providersError:i.error,toolkitsLoading:l.isLoading,toolkitsError:l.error,authorizePending:u.isPending,authorizeError:u.error,authorizedConnection:u.data,onProviderChange:y,onToolkitChange:r,onLabelChange:a,onConnect:b}),o.jsx(bts,{providerId:e,toolkit:n,connections:m,groupedByAuthor:g,isAdmin:f,isLoading:c.isLoading,error:c.error,disconnectPending:d.isPending,disconnectError:d.error,onDisconnect:w})]})}function _ts({title:e,description:t,errorBanner:n,children:r}){return o.jsx("div",{"data-testid":"login-page",className:"flex min-h-screen items-center justify-center bg-surface1",children:o.jsxs("div",{className:"w-full max-w-sm space-y-6",children:[o.jsxs("div",{className:"flex flex-col items-center space-y-2",children:[o.jsx(Zh,{className:"h-10 w-10"}),o.jsx("h1",{className:"text-xl font-semibold text-neutral6",children:e})]}),t,n,r]})})}function c8t({redirectUri:e,onSuccess:t,initialMode:n="signin",errorMessage:r}){const{data:s,isLoading:a}=rc(),{mutate:i,isPending:l,error:c}=l1r(),{mutate:u,isPending:d,error:f}=u1r(),{mutate:p,isPending:h}=ENt(),[m,g]=v.useState(n),[y,b]=v.useState(""),[w,S]=v.useState(""),[k,_]=v.useState("");if(a)return o.jsx("div",{className:"flex min-h-screen items-center justify-center bg-surface1",children:o.jsx("div",{className:"text-neutral3",children:"Loading..."})});if(!s?.enabled||!s?.login)return o.jsx("div",{className:"flex min-h-screen items-center justify-center bg-surface1",children:o.jsx("div",{className:"text-neutral3",children:"Authentication is not configured"})});const{login:C}=s,E=C.type==="sso"||C.type==="both",j=C.type==="credentials"||C.type==="both",N=C.sso,I=C.signUpEnabled!==!1,R=m==="signin"||!I,$=R?l:d,F=R?c:f,D=()=>{t?t():e?window.location.href=e:window.location.href="/"},V=M=>{M.preventDefault(),R?i({email:w,password:k},{onSuccess:D}):u({email:w,password:k,name:y||void 0},{onSuccess:D})},W=()=>{p({redirectUri:e},{onSuccess:M=>{window.location.href=M.url}})},L=()=>{g(R?"signup":"signin")},z=C.description?o.jsxs("div",{className:"flex items-start gap-2.5 rounded-md border border-border1 bg-surface1 p-3",children:[o.jsx(pf,{className:"mt-0.5 h-4 w-4 shrink-0 text-neutral4"}),o.jsx("p",{className:"text-sm text-neutral3",children:C.description})]}):null,B=r?o.jsx("div",{className:"rounded-md bg-red-500/10 p-3 text-sm text-red-400",children:r}):null;return o.jsxs(_ts,{title:R?"Sign in to Mastra Studio":"Create your account",description:z,errorBanner:B,children:[j&&o.jsxs("form",{onSubmit:V,className:"space-y-4",children:[!R&&o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:"name",className:"block text-sm text-neutral4",children:"Name"}),o.jsx(kn,{id:"name",type:"text",value:y,onChange:M=>b(M.target.value),placeholder:"Your name",variant:"default",size:"lg"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:"email",className:"block text-sm text-neutral4",children:"Email"}),o.jsx(kn,{id:"email",type:"email",value:w,onChange:M=>S(M.target.value),placeholder:"you@example.com",required:!0,variant:"default",size:"lg"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:"password",className:"block text-sm text-neutral4",children:"Password"}),o.jsx(kn,{id:"password",type:"password",value:k,onChange:M=>_(M.target.value),placeholder:R?"Enter your password":"Create a password",required:!0,variant:"default",size:"lg"})]}),F&&o.jsx("div",{className:"rounded-md bg-red-500/10 p-3 text-sm text-red-400",children:F.message}),o.jsx(ue,{type:"submit",disabled:$,className:"w-full",size:"lg",children:$?R?"Signing in...":"Creating account...":R?"Sign in":"Create account"}),I&&o.jsxs("div",{className:"text-center text-sm",children:[o.jsx("span",{className:"text-neutral3",children:R?"Don't have an account? ":"Already have an account? "}),o.jsx("button",{type:"button",onClick:L,className:"text-neutral6 hover:underline",children:R?"Sign up":"Sign in"})]})]}),E&&j&&o.jsxs("div",{className:"relative",children:[o.jsx("div",{className:"absolute inset-0 flex items-center",children:o.jsx("div",{className:"w-full border-t border-border1"})}),o.jsx("div",{className:"relative flex justify-center text-sm",children:o.jsx("span",{className:"bg-surface1 px-2 text-neutral3",children:"or continue with"})})]}),E&&N&&o.jsxs(ue,{onClick:W,disabled:h,className:"w-full",size:"lg",variant:"outline",children:[N.icon&&o.jsx("span",{className:"mr-2",children:N.icon}),h?"Redirecting...":N.text||"Sign in"]})]})}function Cts(){const[e]=ji(),t=bs(),n=e.get("redirect")||"/",s=e.get("mode")==="signup"?"signup":"signin",a=e.get("error_description")||e.get("error")||null,i=()=>{n.startsWith("http")?window.location.href=n:t(n,{replace:!0})};return o.jsx(c8t,{redirectUri:n,onSuccess:i,initialMode:s,errorMessage:a})}function Ets({error:e,resource:t,errorTitle:n}){if(gs(e))return o.jsx(Vs,{});if(ys(e))return o.jsx(Ds,{resource:t});if(v1t(e,"logs"))return o.jsx(Lr,{iconSlot:o.jsx(_xe,{}),titleSlot:"Logs are not available with your current storage",descriptionSlot:"The configured observability storage provider does not support listing logs. Switch to a storage provider with logs support to view runtime logs in Studio."});const r=e instanceof Error?e.message:void 0;return o.jsx(Fi,{title:n,message:r??"Unknown error"})}function jts({listSlot:e,logPanelSlot:t,tracePanelSlot:n,spanPanelSlot:r,logCollapsed:s}){const a=!!t;return o.jsxs("div",{className:K("grid h-full min-h-0 gap-4 items-start",a?"grid-cols-[1fr_1fr]":"grid-cols-[1fr]"),children:[e,a&&o.jsxs("div",{className:K("grid gap-4 h-full overflow-auto",n&&r?s?"grid-rows-[auto_1fr_1fr]":"grid-rows-[1fr_1fr_1fr]":n?s?"grid-rows-[auto_1fr]":"grid-rows-[1fr_1fr]":s?"grid-rows-[auto]":"grid-rows-[1fr]"),children:[t,n,r]})]})}const Tts={debug:{label:"DEBUG",color:"#71717a"},info:{label:"INFO",color:"#60a5fa"},warn:{label:"WARN",color:"#facc15"},error:{label:"ERROR",color:"#f87171"},fatal:{label:"FATAL",color:"#dc2626"}};function Nts({level:e}){const t=Tts[e];return o.jsx(So,{height:"compact",children:o.jsx("span",{className:"uppercase text-ui-sm font-semibold",style:{color:t.color},children:t.label})})}function Its({entityType:e,className:t}){const n=K("size-3.5 shrink-0 text-neutral2",t);switch(e.toLowerCase()){case Os.AGENT:return o.jsx(rl,{className:n,"aria-hidden":!0});case"workflow":case Os.WORKFLOW_RUN:return o.jsx(kd,{className:n,"aria-hidden":!0});case Os.TOOL:return o.jsx(Gp,{className:n,"aria-hidden":!0});default:return null}}function Ats({entityType:e,entityName:t}){const n=e??"";return o.jsxs(So,{height:"compact",className:"flex min-w-0 items-center gap-2",children:[o.jsx(Its,{entityType:n}),t?o.jsx("span",{className:"min-w-0 text-ui-smd truncate",children:t}):"-"]})}function Rts({message:e}){return o.jsx(So,{height:"compact",className:"text-neutral4 text-ui-smd min-w-0 truncate font-mono",children:e})}function Pts({data:e}){if(!e||Object.keys(e).length===0)return o.jsx(So,{height:"compact",children:null});const t=Object.entries(e).map(([n,r])=>{if(typeof r=="string")return`${n}: ${r}`;try{return`${n}: ${JSON.stringify(r)}`}catch{return`${n}: <unserializable>`}}).join(", ");return o.jsx(Wke,{children:t})}const zl=Object.assign(FD,{Top:BH,TopCell:$_,TopCellWithTooltip:UH,TopCellSmart:IEt,RowWrapper:Xke,RowButton:zD,RowLink:AEt,Spacer:Yke,NoMatch:zH,DateCell:Zke,TimeCell:Gke,LevelCell:Nts,EntityCell:Ats,MessageCell:Rts,DataCell:Pts,NextPageLoading:FH}),xQe="6rem 9rem 5rem 10rem minmax(8rem,1fr) minmax(8rem,1fr)",$ts=36,Mts=8;function Dts({logs:e,isLoading:t,isFetchingNextPage:n,hasNextPage:r,setEndOfListElement:s,logIdMap:a,featuredLogId:i,onLogClick:l}){const c=v.useRef(null),u=A6t({count:e.length,getScrollElement:()=>c.current,estimateSize:()=>$ts,overscan:Mts}),d=v.useRef(t);if(v.useEffect(()=>{d.current&&!t&&c.current?.dispatchEvent(new Event("scroll")),d.current=t},[t]),t)return o.jsx(el,{columns:xQe});const f=u.getVirtualItems(),p=u.getTotalSize(),h=f[0]?.start??0,m=f.length>0?Math.max(0,p-(f[f.length-1]?.end??0)):0;return o.jsxs(zl,{columns:xQe,variant:"striped",scrollRef:c,className:"min-w-0",children:[o.jsxs(zl.Top,{children:[o.jsx(zl.TopCell,{children:"Date"}),o.jsx(zl.TopCell,{children:"Time"}),o.jsx(zl.TopCell,{children:"Level"}),o.jsx(zl.TopCell,{children:"Entity"}),o.jsx(zl.TopCell,{children:"Message"}),o.jsx(zl.TopCell,{children:"Data"})]}),e.length===0?o.jsx(zl.NoMatch,{message:"No logs match your search"}):o.jsxs(o.Fragment,{children:[o.jsx(zl.Spacer,{height:h}),f.map(g=>{const y=e[g.index];if(!y)return null;const b=a.get(y);if(!b)return null;const w=b===i;return o.jsxs(zl.RowButton,{ref:u.measureElement,"data-index":g.index,onClick:()=>l(y),featured:w,variant:y.level==="error"||y.level==="fatal"?"error":"default",children:[o.jsx(zl.DateCell,{timestamp:y.timestamp}),o.jsx(zl.TimeCell,{timestamp:y.timestamp}),o.jsx(zl.LevelCell,{level:y.level}),o.jsx(zl.EntityCell,{entityType:y.entityType,entityName:y.entityName}),o.jsx(zl.MessageCell,{message:y.message}),o.jsx(zl.DataCell,{data:y.data})]},b)}),o.jsx(zl.Spacer,{height:m})]}),o.jsx(zl.NextPageLoading,{isLoading:n,hasMore:r,setEndOfListElement:s})]})}function Lts({onClear:e,onRemoveAll:t,onSave:n,onRemoveSaved:r,isLoading:s,filterFields:a,filterTokens:i,onFilterTokensChange:l,autoFocusFilterFieldId:c}){const u=i.length>0,d=i.some(f=>Fts(f,a));return o.jsxs("div",{className:K("grid grid-cols-[1fr_auto] gap-3 items-start"),children:[o.jsx(nTe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(eTe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function Fts(e,t){const n=t.find(r=>r.id===e.fieldId);return n?n.kind==="text"?typeof e.value=="string"&&e.value.trim()!=="":n.kind==="pick-multi"?n.multi?Array.isArray(e.value)&&e.value.length>0:typeof e.value=="string"&&e.value!==""&&e.value!=="Any":n.kind==="multi-select"?Array.isArray(e.value)&&e.value.length>0:!1:!1}const zts={"last-24h":"the last 24 hours","last-3d":"the last 3 days","last-7d":"the last 7 days","last-14d":"the last 14 days","last-30d":"the last 30 days"},zre="MMM d, yyyy HH:mm",Bre="Pick a wider range or lower the logging level — verbose entries (debug, info) may be filtered out.";function Bts({datePreset:e,dateFrom:t,dateTo:n}){return e&&e!=="all"&&e!=="custom"?{title:`No logs for ${zts[e]}`,description:Bre}:t&&n?{title:`No logs between ${er(t,zre)} and ${er(n,zre)}`,description:Bre}:t?{title:`No logs since ${er(t,zre)}`,description:Bre}:{title:"No logs yet",description:"Logs will appear here once agents, workflows, or tools are executed."}}const Uts=({datePreset:e,dateFrom:t,dateTo:n}={})=>{const{title:r,description:s}=Bts({datePreset:e,dateFrom:t,dateTo:n});return o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(_xe,{}),titleSlot:r,descriptionSlot:s,actionSlot:o.jsxs(ue,{variant:"ghost",as:"a",href:"https://mastra.ai/en/docs/observability/logging",target:"_blank",rel:"noopener noreferrer",children:["Logging Documentation ",o.jsx(Cxe,{})]})})})},qts=20,Vts=1e4;function Hts(e,t,n){if(e?.pagination?.hasMore)return n+1}function Wts(e){const t=new Set,n=[];for(const r of e.pages)for(const s of r.logs??[]){const a=s.logId??JSON.stringify(s);t.has(a)||(t.add(a),n.push(s))}return n}function Zts(e){return v1t(e.state.error,"logs")?!1:Vts}const Gts=({filters:e}={})=>{const t=We(),{inView:n,setRef:r}=__(),s=R1({queryKey:["logs",e],queryFn:({pageParam:p})=>t.listLogsVNext({pagination:{page:p,perPage:qts},filters:e,orderBy:{field:"timestamp",direction:"DESC"}}),initialPageParam:0,getNextPageParam:Hts,select:Wts,retry:!1,refetchInterval:Zts}),{hasNextPage:a,isFetchingNextPage:i,fetchNextPage:l,data:c,isLoading:u,isError:d,error:f}=s;return v.useEffect(()=>{n&&a&&!i&&l()},[n,a,i,l]),{data:c,hasNextPage:a,isFetchingNextPage:i,fetchNextPage:l,isLoading:u,isError:d,error:f,setEndOfListElement:r}},Qts="Filters setting for Logs saved",Yts="Filters setting for Logs cleared up";function Xts(e,t,n){const{storageKey:r,messages:s,skipHydration:a}={},[i,l]=v.useState(()=>PGe(r)!==null),c=v.useCallback(()=>{IQr(e,r),l(!0);const f=s?.saved??Qts;f!==!1&&De.success(f)},[e,r,s?.saved]),u=v.useCallback(()=>{AQr(r),l(!1);const f=s?.cleared??Yts;f!==!1&&De.success(f)},[r,s?.cleared]),d=v.useRef(!1);return v.useEffect(()=>{if(a||d.current||(d.current=!0,RQr(e)))return;const f=PGe(r);f&&t(p=>{const h=new URLSearchParams(p);for(const[m,g]of f)h.append(m,g);return h},{replace:!0})},[]),{hasSavedFilters:i,handleSave:c,handleRemoveSaved:u}}function Kts(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(t>>>0).toString(36)}function Jts(e){const t=new Map;for(const n of e){if(n.logId){t.set(n,n.logId);continue}const r=n.timestamp instanceof Date?n.timestamp.toISOString():n.timestamp;t.set(n,Kts(`${r}${n.message??""}${n.data?JSON.stringify(n.data):""}`))}return t}function ens(e,t,n,r){const s=v.useMemo(()=>Jts(e),[e]),a=v.useMemo(()=>{const h=new Map;for(let m=0;m<e.length;m++){const g=s.get(e[m]);g&&h.set(g,{log:e[m],idx:m})}return h},[e,s]),l=(t?a.get(t):void 0)?.idx??-1,c=l>=0?e[l]:null,u=v.useCallback(h=>s.get(h),[s]),d=v.useCallback(h=>{const m=s.get(h);if(m){if(t===m){n({logId:null});return}n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}},[s,t,r,n]),f=l>0?()=>{const h=e[l-1],m=s.get(h);n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}:void 0,p=l>=0&&l<e.length-1?()=>{const h=e[l+1],m=s.get(h);n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}:void 0;return{logIdMap:s,getLogId:u,featuredLog:c,handleLogClick:d,handlePreviousLog:f,handleNextLog:p}}const Ive="logId",Ave="traceId",Rve="spanId",IR=1440*60*1e3,tns={"last-24h":IR,"last-3d":3*IR,"last-7d":7*IR,"last-14d":14*IR,"last-30d":30*IR};function G8(e){e.delete(Ive),e.delete(Ave),e.delete(Rve)}function nns(e,t,n){const{onRemoveAll:r}={},s=v.useMemo(()=>{const _=e.get(zb);return _&&NQr.has(_)?_:"last-24h"},[e]),a=e.get(Bb),i=e.get(Ub),l=v.useMemo(()=>{if(s==="custom"){if(!a)return;const C=new Date(a);return Number.isNaN(C.getTime())?void 0:C}if(s==="all")return;const _=tns[s];return _?new Date(Date.now()-_):void 0},[s,a]),c=v.useMemo(()=>{if(s!=="custom"||!i)return;const _=new Date(i);return Number.isNaN(_.getTime())?void 0:_},[s,i]),u=v.useRef(s);u.current=s;const d=e.get(Ive),f=e.get(Ave),p=e.get(Rve),h=v.useMemo(()=>N6t.find(_=>_.entityType===e.get(Px)),[e]),m=v.useMemo(()=>$Qr(e),[e]),g=v.useCallback(_=>{t(C=>{const E=new URLSearchParams(C);for(const[j,N]of Object.entries(_)){const I=j==="logId"?Ive:j==="traceId"?Ave:Rve;N?E.set(I,N):E.delete(I)}return E},{replace:!0})},[t]),y=v.useCallback(_=>{t(C=>{const E=new URLSearchParams(C);return DQr(E,_),G8(E),E},{replace:!0})},[t]),b=y,w=v.useCallback((_,C)=>{if(u.current!=="custom")return;const E=C==="from"?Bb:Ub;t(j=>{const N=new URLSearchParams(j);return _?N.set(E,_.toISOString()):N.delete(E),G8(N),N},{replace:!0})},[t]),S=v.useCallback(_=>{u.current=_,t(C=>{const E=new URLSearchParams(C);return _==="last-24h"?(E.delete(zb),E.delete(Bb),E.delete(Ub)):_==="custom"?E.set(zb,"custom"):(E.set(zb,_),E.delete(Bb),E.delete(Ub)),G8(E),E},{replace:!0})},[t]),k=v.useCallback(()=>{t(_=>{const C=new URLSearchParams(_);C.delete(Px);for(const E of U4)C.delete(kl[E]);return C.delete(zb),C.delete(Bb),C.delete(Ub),G8(C),C},{replace:!0}),r?.()},[t,r]);return v.useMemo(()=>({searchParams:e,setSearchParams:t,datePreset:s,selectedDateFrom:l,selectedDateTo:c,datePresetRef:u,featuredLogId:d,featuredTraceId:f,featuredSpanId:p,selectedEntityOption:h,filterTokens:m,handleFeaturedChange:g,handleFilterTokensChange:b,handleDateChange:w,handleDatePresetChange:S,handleRemoveAll:k,applyFilterTokens:y}),[e,t,s,l,c,u,d,f,p,h,m,g,b,w,S,k,y])}function rns(){const[e,t]=ji(),n=nns(e,t),r=Xts(e,t),[s,a]=v.useState(),[i,l]=v.useState(!1),{data:c=[],isPending:u}=lTe(),{data:d=[],isPending:f}=aTe({entityType:n.selectedEntityOption?.entityType,rootOnly:!0}),{data:p=[],isPending:h}=iTe(),{data:m=[],isPending:g}=oTe(),y=v.useMemo(()=>PQr({availableTags:c,availableRootEntityNames:d,availableServiceNames:m,availableEnvironments:p,loading:{tags:u,entityNames:f,serviceNames:g,environments:h}}),[c,d,m,p,u,f,g,h]),b=v.useMemo(()=>LQr({rootEntityType:n.selectedEntityOption?.entityType,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo,tokens:n.filterTokens}),[n.filterTokens,n.selectedDateFrom,n.selectedDateTo,n.selectedEntityOption]),{data:w=[],isLoading:S,error:k,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:E}=Gts({filters:b}),{logIdMap:j,featuredLog:N,handleLogClick:I,handlePreviousLog:R,handleNextLog:$}=ens(w,n.featuredLogId,n.handleFeaturedChange,n.featuredTraceId),{data:F,isLoading:D}=HH(n.featuredTraceId??null),{data:V,isLoading:W}=aI(n.featuredTraceId??"",n.featuredSpanId??""),L=v.useCallback(()=>n.applyFilterTokens(FQr(y,n.filterTokens)),[y,n]),z=v.useCallback(()=>n.handleFeaturedChange({logId:null}),[n]),B=v.useCallback(X=>n.handleFeaturedChange({traceId:X,spanId:null}),[n]),M=v.useCallback((X,te)=>n.handleFeaturedChange({traceId:X,spanId:te}),[n]),G=v.useCallback(()=>{n.handleFeaturedChange({traceId:null,spanId:null}),l(!1)},[n]),U=v.useCallback(()=>n.handleFeaturedChange({spanId:null}),[n]),P=v.useCallback(X=>n.handleFeaturedChange({spanId:X??null}),[n]),q=o.jsxs(Lt.TopArea,{children:[o.jsx(Lt.Row,{children:o.jsxs(Lt.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(Jje,{preset:n.datePreset,onPresetChange:n.handleDatePresetChange,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo,onDateChange:n.handleDateChange,disabled:S,presets:["last-24h","last-3d","last-7d","last-14d","last-30d","custom"]}),o.jsx(rTe,{fields:y,tokens:n.filterTokens,onTokensChange:n.handleFilterTokensChange,disabled:S,onStartTextFilter:a})]})}),o.jsx(Lts,{isLoading:S,filterFields:y,filterTokens:n.filterTokens,onFilterTokensChange:n.handleFilterTokensChange,onClear:L,onRemoveAll:n.handleRemoveAll,onSave:r.handleSave,onRemoveSaved:r.hasSavedFilters?r.handleRemoveSaved:void 0,autoFocusFilterFieldId:s})]});if(k)return o.jsxs(Lt,{width:"wide",height:"full",children:[q,o.jsx(Lt.MainArea,{isCentered:!0,children:o.jsx(Ets,{error:k,resource:"logs",errorTitle:"Failed to load logs"})})]});const Z=!!n.selectedEntityOption||n.filterTokens.length>0;return w.length===0&&!S&&!Z?o.jsxs(Lt,{width:"wide",height:"full",children:[q,o.jsx(Lt.MainArea,{isCentered:!0,children:o.jsx(Uts,{datePreset:n.datePreset,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo})})]}):o.jsxs(Lt,{width:"wide",height:"full",children:[q,o.jsx(jts,{logCollapsed:i,listSlot:o.jsx(Dts,{logs:w,isLoading:S,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:E,logIdMap:j,featuredLogId:n.featuredLogId,onLogClick:I}),logPanelSlot:N?o.jsx(JQr,{log:N,onClose:z,onTraceClick:B,onSpanClick:M,onPrevious:R,onNext:$,collapsed:i,onCollapsedChange:l}):null,tracePanelSlot:n.featuredTraceId?o.jsx(ZEt,{traceId:n.featuredTraceId,spans:F?.spans,isLoading:D,onClose:G,onSpanSelect:P,selectedSpanId:n.featuredSpanId}):null,spanPanelSlot:n.featuredTraceId&&n.featuredSpanId?o.jsx(zQr,{spanId:n.featuredSpanId,span:V?.span,isLoading:W,onClose:U}):null})]})}function sns({server:e}){const{paths:t,Link:n}=yn(),s=We().options.baseUrl,a=s?`${s}/api/mcp/${e.id}/sse`:"",{data:i}=Z4t(e),l=Object.values(i||{}),c=l.length,u=l.filter(p=>p.toolType==="agent").length,d=l.filter(p=>p.toolType==="workflow").length,f=dm(e.name,50);return o.jsxs(me.RowLink,{to:t.mcpServerLink(e.id),LinkComponent:n,children:[o.jsx(me.NameCell,{children:f}),o.jsx(me.DescriptionCell,{children:a}),o.jsx(me.TextCell,{className:"text-center",children:u||""}),o.jsx(me.TextCell,{className:"text-center",children:c||""}),o.jsx(me.TextCell,{className:"text-center",children:d||""})]})}function ans({mcpServers:e,isLoading:t,search:n=""}){const r=v.useMemo(()=>{const s=n.toLowerCase();return e.filter(a=>a.name?.toLowerCase().includes(s)||a.id?.toLowerCase().includes(s))},[e,n]);return t?o.jsx(el,{columns:"auto 1fr auto auto auto"}):o.jsxs(me,{columns:"auto 1fr auto auto auto",variant:"striped",children:[o.jsxs(me.Top,{children:[o.jsx(me.TopCell,{children:"Name"}),o.jsx(me.TopCell,{children:"URL"}),o.jsx(me.TopCellSmart,{long:"Agents",short:o.jsx(rl,{}),tooltip:"Agent Tools",className:"text-center"}),o.jsx(me.TopCellSmart,{long:"Tools",short:o.jsx(Gp,{}),tooltip:"Tools",className:"text-center"}),o.jsx(me.TopCellSmart,{long:"Workflows",short:o.jsx(kd,{}),tooltip:"Workflow Tools",className:"text-center"})]}),r.length===0&&n?o.jsx(me.NoMatch,{message:"No MCP Servers match your search"}):null,r.map(s=>o.jsx(sns,{server:s},s.id))]})}const ins=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(xf,{}),titleSlot:"No MCP Servers yet",descriptionSlot:o.jsxs(o.Fragment,{children:["MCP servers are not configured yet. ",o.jsx("br",{}),"More information in the documentation."]}),actionSlot:o.jsxs(ue,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/tools-mcp/mcp-overview",target:"_blank",rel:"noopener noreferrer",children:["MCP Documentation ",o.jsx(Pa,{})]})})}),ons=()=>{const{data:e=[],isLoading:t,error:n}=vZ(),[r,s]=v.useState("");return n&&gs(n)?o.jsx(lr,{children:o.jsx(Vs,{})}):n&&ys(n)?o.jsx(lr,{children:o.jsx(Ds,{resource:"MCP servers"})}):n?o.jsx(lr,{children:o.jsx(Fi,{title:"Failed to load MCP servers",message:n.message})}):e.length===0&&!t?o.jsx(lr,{children:o.jsx(ins,{})}):o.jsxs(Lt,{children:[o.jsx(Lt.TopArea,{children:o.jsx("div",{className:"max-w-120",children:o.jsx(Of,{onSearch:s,label:"Filter MCP servers",placeholder:"Filter by name"})})}),o.jsx(ans,{mcpServers:e,isLoading:t,search:r})]})},lns=(e,t)=>{const n=new Map,r=Object.keys(t);for(const s of r){const a=t[s],i=a.tools,l=Object.keys(i);for(const c of l){const u=i[c];n.has(u.id)||n.set(u.id,{...u,agents:[]}),n.get(u.id).agents.push({...a,id:s})}}for(const[s,a]of Object.entries(e))n.has(a.id)||n.set(a.id,{...a,agents:[]});return Array.from(n.values())};function cns({tools:e,agents:t,isLoading:n,search:r=""}){const{paths:s,Link:a}=yn(),i=v.useMemo(()=>lns(e,t),[e,t]),l=v.useMemo(()=>i.filter(c=>c.id.toLowerCase().includes(r.toLowerCase())),[i,r]);return n?o.jsx(el,{columns:"auto 1fr auto"}):o.jsxs(me,{columns:"auto 1fr auto",variant:"striped",children:[o.jsxs(me.Top,{children:[o.jsx(me.TopCell,{children:"Name"}),o.jsx(me.TopCell,{children:"Description"}),o.jsx(me.TopCellSmart,{long:"Agents",short:o.jsx(rl,{}),tooltip:"Attached Agents",className:"text-center"})]}),l.length===0&&r?o.jsx(me.NoMatch,{message:"No Tools match your search"}):null,l.map(c=>{const u=dm(c.id,50),d=dm(c.description??"",200),f=c.agents.length;return o.jsxs(me.RowLink,{to:s.toolLink(c.id),LinkComponent:a,children:[o.jsx(me.NameCell,{children:u}),o.jsx(me.DescriptionCell,{children:d}),o.jsx(me.TextCell,{className:"text-center",children:f||""})]},c.id)})]})}const uns=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(xf,{}),titleSlot:"No Tools yet",descriptionSlot:o.jsxs(o.Fragment,{children:["Mastra tools are not configured yet. ",o.jsx("br",{}),"More information in the documentation."]}),actionSlot:o.jsxs(ue,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/agents/using-tools-and-mcp",target:"_blank",rel:"noopener noreferrer",children:["Tools Documentation ",o.jsx(Pa,{})]})})}),dns=()=>{const e=We();return Rn({mutationFn:async({toolId:t,input:n,requestContext:r})=>{const s=new r_;Object.entries(r??{}).forEach(([a,i])=>{s.set(a,i)});try{return await e.getTool(t).execute({data:n,requestContext:s})}catch(a){throw De.error("Error executing dev tool"),console.error("Error executing dev tool:",a),a}}})},fns=({toolId:e})=>{const{canExecute:t}=al(),n=t("tools"),{data:r={}}=Sm(),s=v.useMemo(()=>{for(const g of Object.values(r))if(g.tools){const y=Object.values(g.tools).find(b=>b.id===e);if(y)return y}return null},[r,e]),{data:a,isLoading:i,error:l}=W0r(e,{enabled:!s}),c=s||a,{mutateAsync:u,isPending:d,data:f}=dns(),{requestContext:p}=_s();v.useEffect(()=>{if(l){const g=l instanceof Error?l.message:"Failed to load tool";De.error(`Error loading tool: ${g}`)}},[l]);const h=async(g,y)=>{if(!c)return;const b={...p??{},...y??{}};return u({toolId:c.id,input:g,requestContext:b})},m=c?.inputSchema?im(sm(mx(c?.inputSchema))):Ss({});return i?o.jsxs("div",{className:"p-6",children:[o.jsx(At,{className:"h-8 w-48 mb-4"}),o.jsx(At,{className:"h-32 w-full"})]}):l?null:c?n?o.jsx(Mje,{executionResult:f,isExecutingTool:d,zodInputSchema:m,handleExecuteTool:h,toolDescription:c.description,toolId:c.id,requestContextSchema:c.requestContextSchema}):o.jsx("div",{className:"py-12 text-center px-6",children:o.jsx(ge,{variant:"ui-sm",className:"text-neutral3",children:"You don't have permission to execute tools."})}):o.jsx("div",{className:"py-12 text-center px-6",children:o.jsx(ge,{variant:"header-md",className:"text-neutral3",children:"Tool not found"})})};function pns({value:e,onValueChange:t,placeholder:n="Select a tool...",searchPlaceholder:r="Search tools...",emptyText:s="No tools found.",className:a,disabled:i=!1,variant:l}){const{data:c={},isLoading:u,isError:d,error:f}=oI(),{data:p={},isLoading:h,isError:m,error:g}=Sm(),{navigate:y,paths:b}=yn();v.useEffect(()=>{if(d){const _=f instanceof Error?f.message:"Failed to load tools";De.error(`Error loading tools: ${_}`)}},[d,f]),v.useEffect(()=>{if(m){const _=g instanceof Error?g.message:"Failed to load agents";De.error(`Error loading agents: ${_}`)}},[m,g]);const w=new Map;Object.values(p).forEach(_=>{_.tools&&Object.values(_.tools).forEach(C=>{w.has(C.id)||w.set(C.id,C)})}),Object.values(c).forEach(_=>{w.has(_.id)||w.set(_.id,_)});const S=Array.from(w.values()).map(_=>({label:_.id,value:_.id})),k=_=>{t?t(_):_&&_!==e&&y(b.toolLink(_))};return o.jsx(Xl,{options:S,value:e,onValueChange:k,placeholder:u||h?"Loading tools...":n,searchPlaceholder:r,emptyText:s,className:a,disabled:i||u||h||d||m,variant:l})}const hns=({isLoading:e,server:t})=>{const[{sseUrl:n,httpStreamUrl:r},s]=v.useState({sseUrl:"",httpStreamUrl:""});if(v.useEffect(()=>{if(!t)return;const i=window.MASTRA_SERVER_HOST,l=window.MASTRA_SERVER_PORT;let c=null;i&&l&&(c=`http://${i}:${l}`);const u=c||"http://localhost:4111",d=`${u}/api/mcp/${t.id}/sse`,f=`${u}/api/mcp/${t.id}/mcp`;s({sseUrl:d,httpStreamUrl:f})},[t]),e)return null;if(!t)return o.jsx(xy,{children:o.jsx(ge,{as:"h1",variant:"header-md",className:"text-neutral3 font-medium py-20 text-center",children:"Server not found"})});const a=`npx -y mcp-remote ${n}`;return o.jsxs(xy,{isDivided:!0,children:[o.jsxs("div",{className:"px-8 py-12 mx-auto max-w-2xl w-full",children:[o.jsx(ge,{as:"h1",variant:"header-md",className:"text-neutral6 font-medium pb-4",children:t.name}),o.jsxs("div",{className:"flex items-center gap-1 pb-6",children:[o.jsx(fn,{icon:o.jsx(DEt,{className:"text-neutral6"}),className:"rounded-r-sm text-neutral4!",children:"Version"}),o.jsx(fn,{className:"rounded-l-sm text-neutral4!",children:t.version_detail.version})]}),o.jsx(ge,{className:"text-neutral3 pb-4",children:"This MCP server can be accessed through multiple transport methods. Choose the one that best fits your use case."}),o.jsxs("div",{className:"flex flex-col gap-4",children:[o.jsxs("div",{className:"rounded-lg border border-border1 bg-surface3 p-4",children:[o.jsx(fn,{icon:o.jsx("span",{className:"font-mono w-6 text-accent1 font-medium mr-1",children:"HTTP"}),children:"Regular HTTP Endpoint"}),o.jsx(ge,{className:"text-neutral3 pt-1 pb-2",children:"Use for stateless HTTP transport with streamable responses."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ge,{className:"px-2 py-1 bg-surface4 rounded-lg",children:r}),o.jsx("div",{className:"pt-1",children:o.jsx(ya,{tooltip:"Copy HTTP Stream URL",content:r})})]})]}),o.jsxs("div",{className:"rounded-lg border border-border1 bg-surface3 p-4",children:[o.jsx(fn,{icon:o.jsx("span",{className:"font-mono w-6 text-accent1 font-medium mr-1",children:"SSE"}),children:"Server-Sent Events"}),o.jsx(ge,{className:"text-neutral3 pt-1 pb-2",children:"Use for real-time communication via SSE."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ge,{className:"px-2 py-1 bg-surface4 rounded-lg",children:n}),o.jsx("div",{className:"pt-1",children:o.jsx(ya,{tooltip:"Copy SSE URL",content:n})})]})]}),o.jsxs("div",{className:"rounded-lg border border-border1 bg-surface3 p-4",children:[o.jsx(fn,{icon:o.jsx("span",{className:"font-mono w-6 text-accent1 font-medium mr-1",children:"CLI"}),children:"Command Line"}),o.jsx(ge,{className:"text-neutral3 pt-1 pb-2",children:"Use for local command-line access via npx and mcp-remote."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ge,{className:"px-2 py-1 bg-surface4 rounded-lg",children:a}),o.jsx("div",{className:"pt-1",children:o.jsx(ya,{tooltip:"Copy Command Line Config",content:a})})]})]})]})]}),o.jsx("div",{className:"h-full overflow-y-scroll border-l border-border1",children:o.jsx(mns,{server:t})})]})},mns=({server:e})=>{const{data:t={},isLoading:n}=Z4t(e);if(n)return null;const r=Object.keys(t);return o.jsxs("div",{className:"p-5 overflow-y-scroll",children:[o.jsxs("div",{className:"text-neutral6 flex gap-2 items-center",children:[o.jsx(Ue,{size:"lg",className:"bg-surface4 rounded-md p-1",children:o.jsx(M_,{})}),o.jsx(ge,{variant:"header-md",as:"h2",className:"font-medium",children:"Available Tools"})]}),o.jsx("div",{className:"flex flex-col gap-2 pt-6",children:r.map(s=>{const a=t[s];return o.jsx(vns,{tool:a,serverId:e.id},s)})})]})};function gns(e){if(!e)return!1;const t=e.ui;return!!(typeof t?.resourceUri=="string"&&t.resourceUri.startsWith("ui://")||typeof e["ui/resourceUri"]=="string"&&e["ui/resourceUri"].startsWith("ui://"))}const vns=({tool:e,serverId:t})=>{const n=v.useRef(null),{Link:r,paths:s}=yn(),a=TLt[e.toolType||"tool"],i=gns(e._meta);return o.jsxs(Cf,{onClick:()=>n.current?.click(),children:[o.jsx(nAt,{children:o.jsx(a,{className:"group-hover/entity:text-accent6"})}),o.jsxs(jf,{children:[o.jsx(Ef,{children:o.jsxs("span",{className:"flex items-center gap-2",children:[o.jsx(r,{ref:n,href:s.mcpServerToolLink(t,e.id),children:e.id}),i&&o.jsx(fn,{className:"text-[10px] py-0",children:"App"})]})}),o.jsx(Qp,{children:e.description})]})]})},yns=()=>{const{serverId:e}=dr(),{data:t=[],isLoading:n}=vZ(),r=t.find(s=>s.id===e);return o.jsx("div",{className:"h-full w-full overflow-hidden",children:o.jsx(hns,{isLoading:n,server:r})})};function bns(e){if(!e)return;const t=e.ui;if(t?.resourceUri)return t.resourceUri;const n=e["ui/resourceUri"];if(typeof n=="string")return n}const xns=({toolId:e,serverId:t})=>{const{canExecute:n}=al(),r=n("tools"),s=We(),{data:a,isLoading:i,error:l}=eje(t,e),{mutateAsync:c,isPending:u,data:d}=WFr(t,e),f=a?bns(a._meta):void 0,{data:p}=wt({queryKey:["mcp-app-resource",t,f],queryFn:async()=>f?(await s.readMcpServerResource(t,f)).contents[0]?.text??null:null,enabled:!!f}),h=v.useCallback(async(y,b)=>await c(b),[c]);v.useEffect(()=>{if(l){const y=l instanceof Error?l.message:"Failed to load tool";De.error(`Error loading tool: ${y}`)}},[l]);const m=async y=>{if(a)return await c(y)};if(i)return o.jsxs("div",{className:"p-6",children:[o.jsx(At,{className:"h-8 w-48 mb-4"}),o.jsx(At,{className:"h-32 w-full"})]});if(l)return null;if(!a)return o.jsx("div",{className:"py-12 text-center px-6",children:o.jsx(ge,{variant:"header-md",className:"text-neutral3",children:"Tool not found"})});if(!r)return o.jsx("div",{className:"py-12 text-center px-6",children:o.jsx(ge,{variant:"ui-sm",className:"text-neutral3",children:"You don't have permission to execute tools."})});let g;try{g=im(sm(a.inputSchema))}catch(y){console.error("Error processing input schema:",y),De.error("Failed to process tool input schema."),g=Ss({})}return o.jsxs("div",{className:"flex flex-col gap-4",children:[p&&o.jsx("div",{className:"border-b border-border1 p-4",children:o.jsx(W4t,{html:p,toolName:a.name??a.id,onToolCall:h})}),o.jsx(Mje,{executionResult:d,isExecutingTool:u,zodInputSchema:g,handleExecuteTool:m,toolDescription:a.description||"",toolId:a.id})]})},wns=()=>{const{serverId:e,toolId:t}=dr(),{data:n,isLoading:r}=eje(e,t);return r||!n?null:o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(xns,{toolId:t,serverId:e})})},Sns=["last-24h","last-3d","last-7d","last-14d","last-30d","custom"];function kns(e){switch(e){case"3d":return"last-3d";case"7d":return"last-7d";case"14d":return"last-14d";case"30d":return"last-30d";case"custom":return"custom";default:return"last-24h"}}function Ons(e){switch(e){case"last-3d":return"3d";case"last-7d":return"7d";case"last-14d":return"14d";case"last-30d":return"30d";case"custom":return"custom";default:return"24h"}}function _ns(){const{datePreset:e,setDatePreset:t,customRange:n,setCustomRange:r}=DZ(),s=v.useRef(e);s.current=e;const a=v.useRef(n);return a.current=n,o.jsx(Jje,{preset:kns(e),onPresetChange:i=>{const l=Ons(i);s.current=l,t(l)},dateFrom:n?.from,dateTo:n?.to,onDateChange:(i,l)=>{if(s.current!=="custom")return;const c={...a.current,[l]:i};a.current=c,r(c)},presets:Sns})}const Ure={"24h":1440*60*1e3,"3d":4320*60*1e3,"7d":10080*60*1e3,"14d":336*60*60*1e3,"30d":720*60*60*1e3};function Cns(e,t,n){if(e!=="custom"){const r=Ure[e]??Ure["24h"];return{start:new Date(n-r),end:new Date(n)}}return{start:t?.from??new Date(n-Ure["24h"]),end:t?.to??new Date(n)}}function Cm(){const{datePreset:e,customRange:t,dimensionalFilter:n,dimensionalFilterKey:r}=DZ(),s=v.useRef(null),a=e==="custom"?`custom:${t?.from?.getTime()??""}:${t?.to?.getTime()??""}`:`preset:${e}`;(!s.current||s.current.key!==a)&&(s.current={key:a,anchor:Date.now()});const i=s.current.anchor,l=v.useMemo(()=>Cns(e,t,i),[e,t,i]),c=v.useMemo(()=>({timestamp:l,...n}),[l,r]),u=v.useMemo(()=>`${a}|${r}`,[a,r]);return{datePreset:e,customRange:t,timestamp:l,filters:c,dimensionalFilter:n,filterKey:u}}function u8t(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","agent-runs-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count",filters:t,comparePeriod:"previous_period"})})}function q4({href:e,LinkComponent:t="a"}){return o.jsx(ue,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View in Traces","aria-label":"View in Traces",children:o.jsx(bkn,{})})}function Ens({href:e,LinkComponent:t="a"}){return o.jsx(ue,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View errors in Logs","aria-label":"View errors in Logs",children:o.jsx(tOn,{})})}function jns(e){switch(e){case"24h":return"last-24h";case"3d":return"last-3d";case"7d":return"last-7d";case"14d":return"last-14d";case"30d":return"last-30d";case"custom":return"custom";default:return}}function Tns(e,t){if(t==="1h"){const s=new Date(e);s.setUTCMinutes(0,0,0);const a=new Date(s.getTime()+3600*1e3);return{from:s,to:a}}const n=new Date(e);n.setUTCHours(0,0,0,0);const r=new Date(n.getTime()+1440*60*1e3);return{from:n,to:r}}function d8t(e,t,n,r,s,a,i){if(i){e.set(t,"custom"),e.set(n,i.from.toISOString()),e.set(r,i.to.toISOString());return}if(s==="custom"){e.set(t,"custom"),a?.from&&e.set(n,a.from.toISOString()),a?.to&&e.set(r,a.to.toISOString());return}const l=jns(s);l&&e.set(t,l)}function jo(e,t,n){typeof n=="string"&&n.length>0&&e.set(t,n)}function f8t(e,t,n){if(!(!Array.isArray(n)||n.length===0))for(const r of n)r&&e.append(t,r)}function wQe({preset:e,customRange:t,dashboardFilter:n,scope:r,tracesBasePath:s="/observability"}){const a=new URLSearchParams;a.set(gw,"branches"),d8t(a,vw,yw,bw,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(_x,i),r.status&&a.set(Cx,r.status),jo(a,Sl.entityName,r.entityName??n.entityName),jo(a,Sl.threadId,r.threadId??n.threadId),jo(a,Sl.resourceId,r.resourceId??n.resourceId),jo(a,Sl.entityId,n.entityId),jo(a,Sl.runId,n.runId),jo(a,Sl.sessionId,n.sessionId),jo(a,Sl.requestId,n.requestId),jo(a,Sl.userId,n.userId),jo(a,Sl.organizationId,n.organizationId),jo(a,Sl.experimentId,n.experimentId),jo(a,Sl.serviceName,n.serviceName),jo(a,Sl.environment,n.environment),f8t(a,Sl.tags,n.tags);const l=a.toString();return l?`${s}?${l}`:s}function Nns({preset:e,customRange:t,dashboardFilter:n,scope:r,logsBasePath:s="/logs"}){const a=new URLSearchParams;d8t(a,zb,Bb,Ub,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Px,i),jo(a,kl.entityName,r.entityName??n.entityName),jo(a,kl.threadId,r.threadId??n.threadId),jo(a,kl.resourceId,r.resourceId??n.resourceId),jo(a,kl.runId,n.runId),jo(a,kl.sessionId,n.sessionId),jo(a,kl.requestId,n.requestId),jo(a,kl.userId,n.userId),jo(a,kl.organizationId,n.organizationId),jo(a,kl.experimentId,n.experimentId),jo(a,kl.serviceName,n.serviceName),jo(a,kl.environment,n.environment),f8t(a,kl.tags,n.tags),r.status==="error"&&a.append(kl.level,"error");const l=a.toString();return l?`${s}?${l}`:s}function wI(){const{datePreset:e,customRange:t,dimensionalFilter:n,tracesBasePath:r,logsBasePath:s}=DZ(),a=v.useCallback((c={})=>wQe({preset:e,customRange:t,dashboardFilter:n,scope:c,tracesBasePath:r}),[e,t,n,r]),i=v.useCallback((c={})=>Nns({preset:e,customRange:t,dashboardFilter:n,scope:c,logsBasePath:s}),[e,t,n,s]),l=v.useCallback((c,u,d)=>{const f=Tns(u,d);return wQe({preset:e,customRange:t,dashboardFilter:n,scope:{...c,window:f},tracesBasePath:r})},[e,t,n,r]);return{getTracesHref:a,getLogsHref:i,getBucketTracesHref:l}}const p8t="1h";async function qre(e,t,n){const r=await e.getMetricPercentiles({name:t,percentiles:[.5,.95],interval:p8t,filters:n}),s=r.series.find(l=>l.percentile===.5),a=r.series.find(l=>l.percentile===.95);if(!s||!a)return[];const i=new Map(a.points.map(l=>[new Date(l.timestamp).getTime(),l.value]));return s.points.map(l=>{const c=new Date(l.timestamp),u=c.getTime();return{time:c.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),tsMs:u,p50:Math.round(l.value),p95:Math.round(i.get(u)??0)}})}function Ins(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","latency",n],queryFn:async()=>{const[r,s,a]=await Promise.all([qre(e,"mastra_agent_duration_ms",t),qre(e,"mastra_workflow_duration_ms",t),qre(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a,interval:p8t}}})}const SQe={agents:Os.AGENT,workflows:Os.WORKFLOW_RUN,tools:Os.TOOL};function Ans(){const{data:e,isLoading:t,isError:n}=Ins(),{getTracesHref:r,getBucketTracesHref:s}=wI(),{Link:a}=yn(),i=bs();return o.jsx(_Qr,{data:e,isLoading:t,isError:n,onPointClick:(l,c)=>{Number.isFinite(c.tsMs)&&i(s({rootEntityType:SQe[l]},c.tsMs,"1h"))},actions:l=>o.jsx(q4,{href:r({rootEntityType:SQe[l]}),LinkComponent:a})})}function Rns(e){return e==="threads"||e==="resources"}function Vre(e){return e.length<=12?e:`${e.slice(0,6)}…${e.slice(-4)}`}function Pns({threads:e,resources:t,getThreadRowHref:n,getResourceRowHref:r,actions:s,LinkComponent:a}){const[i,l]=v.useState("threads"),c=e.data?.map(y=>({...y,key:y.threadId}))??[],u=t.data?.map(y=>({...y,key:y.resourceId}))??[],d=c.length>0,f=u.length>0,p=e.data?.reduce((y,b)=>y+b.runs,0)??0,h=t.data?.reduce((y,b)=>y+b.threadCount,0)??0,m=i==="threads"?e:t,g=typeof s=="function"?s(i):s;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Memory",description:"Resource and Thread consumption"}),i==="threads"&&d&&o.jsx(Bt.Summary,{value:p.toLocaleString(),label:"Total runs"}),i==="resources"&&f&&o.jsx(Bt.Summary,{value:h.toLocaleString(),label:"Total threads"}),g?o.jsx(Bt.Actions,{children:g}):null]}),m.isLoading?o.jsx(Bt.Loading,{}):m.isError?o.jsx(Bt.Error,{message:"Failed to load memory data"}):o.jsx(Bt.Content,{children:o.jsxs(ru,{defaultTab:"threads",value:i,onValueChange:y=>{Rns(y)&&l(y)},className:"grid grid-rows-[auto_1fr] overflow-y-auto h-full",children:[o.jsxs(su,{children:[o.jsx(Vr,{value:"threads",children:"Threads"}),o.jsx(Vr,{value:"resources",children:"Resources"})]}),o.jsx(ps,{value:"threads",children:d?o.jsxs(me,{columns:"auto auto auto auto auto",...kve,children:[o.jsxs(me.Top,{children:[o.jsx(me.TopCell,{sticky:"start",children:"Thread ID"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Resource ID"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Runs"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Cost"})]}),c.map(y=>{const b=n?.(y),w=o.jsxs(o.Fragment,{children:[o.jsx(me.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:Vre(y.threadId)}),o.jsx(me.NumberCell,{children:y.resourceId?Vre(y.resourceId):"—"}),o.jsx(me.NumberCell,{highlight:!0,children:y.runs.toLocaleString()}),o.jsx(me.NumberCell,{children:y.tokens>0?yc(y.tokens):"—"}),o.jsx(me.NumberCell,{children:y.cost!=null?vg(y.cost,y.costUnit):"—"})]});return b?o.jsx(me.RowLink,{to:b,LinkComponent:a,children:w},y.key):o.jsx(me.RowStatic,{children:w},y.key)})]}):o.jsx(Bt.NoData,{message:"No thread activity yet"})}),o.jsx(ps,{value:"resources",children:f?o.jsxs(me,{columns:"auto auto auto auto",...kve,children:[o.jsxs(me.Top,{children:[o.jsx(me.TopCell,{sticky:"start",children:"Resource ID"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Threads"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Cost"})]}),u.map(y=>{const b=r?.(y),w=o.jsxs(o.Fragment,{children:[o.jsx(me.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:Vre(y.resourceId)}),o.jsx(me.NumberCell,{highlight:!0,children:y.threadCount.toLocaleString()}),o.jsx(me.NumberCell,{children:y.tokens>0?yc(y.tokens):"—"}),o.jsx(me.NumberCell,{children:y.cost!=null?vg(y.cost,y.costUnit):"—"})]});return b?o.jsx(me.RowLink,{to:b,LinkComponent:a,children:w},y.key):o.jsx(me.RowStatic,{children:w},y.key)})]}):o.jsx(Bt.NoData,{message:"No resource activity yet"})})]})})]})}const Hre=20;function $ns(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","top-active-threads",n],queryFn:async()=>{const r={groupBy:["threadId","resourceId"],orderDirection:"DESC",filters:t},[s,a,i]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_agent_duration_ms"],aggregation:"count",limit:Hre}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:Hre}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:Hre})]),l=new Map,c=d=>(l.has(d)||l.set(d,{tokens:0,cost:null,costUnit:null}),l.get(d)),u=d=>{for(const f of d){const p=f.dimensions.threadId;if(!p)continue;const h=c(p);h.tokens+=f.value,f.estimatedCost!=null&&(h.cost=(h.cost??0)+f.estimatedCost,f.costUnit&&(h.costUnit=f.costUnit))}};return u(a.groups),u(i.groups),s.groups.filter(d=>!!d.dimensions.threadId).map(d=>{const f=d.dimensions.threadId,p=l.get(f);return{threadId:f,resourceId:d.dimensions.resourceId??null,runs:d.value,tokens:p?.tokens??0,cost:p?.cost??null,costUnit:p?.costUnit??null}})}})}const Wre=20;function Mns(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","top-resources-by-threads",n],queryFn:async()=>{const r={groupBy:["resourceId"],orderDirection:"DESC",filters:t},[s,a,i]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"threadId",limit:Wre}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:Wre}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:Wre})]),l=new Map,c=d=>(l.has(d)||l.set(d,{tokens:0,cost:null,costUnit:null}),l.get(d)),u=d=>{for(const f of d){const p=f.dimensions.resourceId;if(!p)continue;const h=c(p);h.tokens+=f.value,f.estimatedCost!=null&&(h.cost=(h.cost??0)+f.estimatedCost,f.costUnit&&(h.costUnit=f.costUnit))}};return u(a.groups),u(i.groups),s.groups.filter(d=>!!d.dimensions.resourceId).map(d=>{const f=d.dimensions.resourceId,p=l.get(f);return{resourceId:f,threadCount:d.value,tokens:p?.tokens??0,cost:p?.cost??null,costUnit:p?.costUnit??null}})}})}function Dns(){const e=$ns(),t=Mns(),{getTracesHref:n}=wI(),{Link:r}=yn();return o.jsx(Pns,{threads:{data:e.data,isLoading:e.isLoading,isError:e.isError},resources:{data:t.data,isLoading:t.isLoading,isError:t.isError},LinkComponent:r,getThreadRowHref:s=>n({threadId:s.threadId,...s.resourceId?{resourceId:s.resourceId}:{}}),getResourceRowHref:s=>n({resourceId:s.resourceId})})}function V4({label:e,value:t,prevValue:n,changePct:r,isLoading:s,isError:a}){const i=t!=null;return o.jsxs(Kr,{children:[o.jsx(Kr.Label,{children:e}),o.jsx(Kr.Value,{className:i?void 0:"invisible",children:i?t:"—"}),a?o.jsx(Kr.Error,{}):s?o.jsx(Kr.Loading,{}):i?r!=null?o.jsx(Kr.Change,{changePct:r,prevValue:n}):o.jsx(Kr.NoChange,{}):o.jsx(Kr.NoData,{})]})}function Lns(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","active-resources-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"resourceId",filters:t,comparePeriod:"previous_period"})})}function Fns(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","active-threads-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"threadId",filters:t,comparePeriod:"previous_period"})})}function zns(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","model-cost-kpi",n],queryFn:async()=>{const r=await e.getMetricAggregate({name:["mastra_model_total_input_tokens","mastra_model_total_output_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"});return{cost:r.estimatedCost??null,costUnit:r.costUnit??null,previousCost:r.previousEstimatedCost??null,costChangePercent:r.costChangePercent??null}}})}function Bns(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","total-tokens-kpi",n],queryFn:async()=>{const[r,s]=await Promise.all([e.getMetricAggregate({name:["mastra_model_total_input_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"}),e.getMetricAggregate({name:["mastra_model_total_output_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"})]),a=r.value!=null||s.value!=null,i=r.previousValue!=null||s.previousValue!=null,l=(r.value??0)+(s.value??0),c=(r.previousValue??0)+(s.previousValue??0),u=i&&c>0?(l-c)/c*100:null;return{value:a?l:null,previousValue:i?c:null,changePercent:u}}})}function Uns(){const{data:e,isLoading:t,isError:n}=u8t();return o.jsx(V4,{label:"Total Agent Runs",value:e?.value!=null?e.value.toLocaleString():null,prevValue:e?.previousValue!=null?e.previousValue.toLocaleString():void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function qns(){const{data:e,isLoading:t,isError:n}=zns();return o.jsx(V4,{label:"Total Model Cost",value:e?.cost!=null?vg(e.cost,e.costUnit):null,prevValue:e?.previousCost!=null?vg(e.previousCost,e.costUnit):void 0,changePct:e?.costChangePercent??null,isLoading:t,isError:n})}function Vns(){const{data:e,isLoading:t,isError:n}=Bns();return o.jsx(V4,{label:"Total Tokens",value:e?.value!=null?yc(e.value):null,prevValue:e?.previousValue!=null?yc(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function Hns(){const{data:e,isLoading:t,isError:n}=Fns();return o.jsx(V4,{label:"Total Threads",value:e?.value!=null?yc(e.value):null,prevValue:e?.previousValue!=null?yc(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function Wns(){const{data:e,isLoading:t,isError:n}=Lns();return o.jsx(V4,{label:"Total Resources",value:e?.value!=null?yc(e.value):null,prevValue:e?.previousValue!=null?yc(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function Zns({onClear:e,onRemoveAll:t,onSave:n,onRemoveSaved:r,isLoading:s,filterFields:a,filterTokens:i,onFilterTokensChange:l,autoFocusFilterFieldId:c}){const u=i.length>0,d=i.some(f=>Gns(f,a));return o.jsxs("div",{className:K("grid grid-cols-[1fr_auto] gap-3 items-start"),children:[o.jsx(nTe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(eTe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function Gns(e,t){const n=t.find(r=>r.id===e.fieldId);return n?n.kind==="text"?typeof e.value=="string"&&e.value.trim()!=="":n.kind==="pick-multi"?n.multi?Array.isArray(e.value)&&e.value.length>0:typeof e.value=="string"&&e.value!==""&&e.value!=="Any":n.kind==="multi-select"?Array.isArray(e.value)&&e.value.length>0:!1:!1}function Qns({rows:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const i=!!e&&e.length>0;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Model Usage & Cost",description:"Token consumption by model."}),i&&(()=>{const l=e.reduce((d,f)=>d+(f.cost??0),0),c=new Set;for(const d of e)d.cost!=null&&d.costUnit&&c.add(d.costUnit);let u;return c.size===0?u=l>0?vg(l):"—":c.size===1?u=l>0?vg(l,[...c][0]):"—":u="Mixed",o.jsx(Bt.Summary,{value:u,label:"Total cost"})})(),s?o.jsx(Bt.Actions,{children:s}):null]}),t?o.jsx(Bt.Loading,{}):n?o.jsx(Bt.Error,{message:"Failed to load model usage data"}):o.jsx(Bt.Content,{children:i?o.jsxs(me,{columns:"auto auto auto auto auto auto",...kve,children:[o.jsxs(me.Top,{children:[o.jsx(me.TopCell,{sticky:"start",children:"Model"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Input"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Output"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Cache Read"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Cache Write"}),o.jsx(me.TopCell,{className:"justify-end text-right",children:"Cost"})]}),e.map(l=>{const c=r?.(l),u=o.jsxs(o.Fragment,{children:[o.jsx(me.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:l.model}),o.jsx(me.NumberCell,{children:l.input}),o.jsx(me.NumberCell,{children:l.output}),o.jsx(me.NumberCell,{children:l.cacheRead}),o.jsx(me.NumberCell,{children:l.cacheWrite}),o.jsx(me.NumberCell,{highlight:!0,children:l.cost!=null?vg(l.cost,l.costUnit):"—"})]});return c?o.jsx(me.RowLink,{to:c,LinkComponent:a,children:u},l.model):o.jsx(me.RowStatic,{children:u},l.model)})]}):o.jsx(Bt.NoData,{message:"No model usage data yet"})})]})}function Yns(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","model-usage-cost",n],queryFn:async()=>{const[r,s,a,i]=await Promise.all(["mastra_model_total_input_tokens","mastra_model_total_output_tokens","mastra_model_input_cache_read_tokens","mastra_model_input_cache_write_tokens"].map(d=>e.getMetricBreakdown({name:[d],groupBy:["model"],aggregation:"sum",orderDirection:"DESC",filters:t}))),l=new Map,c=d=>(l.has(d)||l.set(d,{input:0,output:0,cacheRead:0,cacheWrite:0,cost:null,costUnit:null}),l.get(d)),u=(d,f)=>{f.estimatedCost!=null&&(d.cost=(d.cost??0)+f.estimatedCost,f.costUnit&&(d.costUnit=f.costUnit))};for(const d of r.groups){const f=d.dimensions.model??"unknown",p=c(f);p.input=d.value,u(p,d)}for(const d of s.groups){const f=d.dimensions.model??"unknown",p=c(f);p.output=d.value,u(p,d)}for(const d of a.groups){const f=d.dimensions.model??"unknown",p=c(f);p.cacheRead=d.value}for(const d of i.groups){const f=d.dimensions.model??"unknown",p=c(f);p.cacheWrite=d.value}return Array.from(l.entries()).map(([d,f])=>({model:d,input:yc(f.input),output:yc(f.output),cacheRead:yc(f.cacheRead),cacheWrite:yc(f.cacheWrite),cost:f.cost,costUnit:f.costUnit})).sort((d,f)=>d.model.localeCompare(f.model))}})}function Xns(){const{data:e,isLoading:t,isError:n}=Yns(),{getTracesHref:r}=wI(),{Link:s}=yn();return o.jsx(Qns,{rows:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:()=>r({rootEntityType:Os.AGENT}),actions:o.jsx(q4,{href:r({rootEntityType:Os.AGENT}),LinkComponent:s})})}function Kns(e){return e==="tokens"||e==="cost"}function Jns({data:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const[i,l]=v.useState("tokens"),c=e??[],u=c.length>0,d=c.reduce((b,w)=>b+w.total,0),f=c.filter(b=>b.cost!=null&&b.cost>0),p=new Set(f.map(b=>b.costUnit??"usd")),h=p.size<=1,m=h?[...p][0]??"usd":null,g=h?f.reduce((b,w)=>b+(w.cost??0),0):0,y=h&&g>0;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Token Usage by Agent",description:"Token consumption grouped by agent."}),u&&(i==="cost"&&y?o.jsx(Bt.Summary,{value:vg(g,m),label:"Total cost"}):o.jsx(Bt.Summary,{value:yc(d),label:"Total tokens"})),u&&s?o.jsx(Bt.Actions,{children:s}):null]}),t?o.jsx(Bt.Loading,{}):n?o.jsx(Bt.Error,{message:"Failed to load token usage data"}):o.jsx(Bt.Content,{children:u?o.jsxs(ru,{defaultTab:"tokens",value:i,onValueChange:b=>{Kns(b)&&l(b)},className:"grid grid-rows-[auto_1fr] overflow-y-auto h-full",children:[o.jsxs(su,{children:[o.jsx(Vr,{value:"tokens",children:"Tokens"}),o.jsx(Vr,{value:"cost",children:"Cost"})]}),o.jsx(ps,{value:"tokens",children:o.jsx(aN,{LinkComponent:a,data:c.map(b=>({name:b.name,values:[b.input,b.output],href:r?.(b)})),segments:[{label:"Input",color:Np.blueDark},{label:"Output",color:Np.blue}],maxVal:Math.max(...c.map(b=>b.input+b.output)),fmt:yc})}),o.jsx(ps,{value:"cost",children:y?o.jsx(aN,{LinkComponent:a,data:f.slice().sort((b,w)=>(w.cost??0)-(b.cost??0)).map(b=>({name:b.name,values:[b.cost],href:r?.(b)})),segments:[{label:"Cost",color:Np.purple}],maxVal:Math.max(...f.map(b=>b.cost??0)),fmt:b=>vg(b,m)}):o.jsx(Bt.NoData,{message:"No cost data yet"})})]}):o.jsx(Bt.NoData,{message:"No token usage data yet"})})]})}function ers(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","token-usage-by-agent",n],queryFn:async()=>{const r={groupBy:["entityName"],aggregation:"sum",orderDirection:"DESC",filters:t},[s,a]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"]}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"]})]),i=new Map,l=u=>(i.has(u)||i.set(u,{input:0,output:0,cost:null,costUnit:null}),i.get(u)),c=(u,d)=>{d.estimatedCost!=null&&(u.cost=(u.cost??0)+d.estimatedCost,d.costUnit&&(u.costUnit=d.costUnit))};for(const u of s.groups){const d=u.dimensions.entityName??"unknown",f=l(d);f.input=u.value,c(f,u)}for(const u of a.groups){const d=u.dimensions.entityName??"unknown",f=l(d);f.output=u.value,c(f,u)}return Array.from(i.entries()).map(([u,d])=>({name:u,input:d.input,output:d.output,total:d.input+d.output,cost:d.cost,costUnit:d.costUnit})).sort((u,d)=>d.total-u.total)}})}function trs(){const{data:e,isLoading:t,isError:n}=ers(),{getTracesHref:r}=wI(),{Link:s}=yn();return o.jsx(Jns,{data:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:a=>r({rootEntityType:Os.AGENT,entityName:a.name}),actions:o.jsx(q4,{href:r({rootEntityType:Os.AGENT}),LinkComponent:s})})}function nrs(e){return e==="24h"?"1h":"1d"}function rrs(e,t){return t==="1h"?e.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}):e.toLocaleDateString("en-US",{month:"short",day:"2-digit"})}function kQe(e,t,n){for(const r of t?.points??[]){const s=new Date(r.timestamp).getTime();if(!Number.isFinite(s))continue;const a=e.get(s)??{tsMs:s,input:0,output:0,cost:null,costUnits:new Set,hasUnknownCostUnit:!1};a[n]+=r.value,r.estimatedCost!=null&&(a.cost=(a.cost??0)+r.estimatedCost,t?.costUnit?a.costUnits.add(t.costUnit):a.hasUnknownCostUnit=!0),e.set(s,a)}}function srs(e){return e.cost==null||e.hasUnknownCostUnit||e.costUnits.size!==1?null:[...e.costUnits][0]??null}function ars(){const e=We(),{datePreset:t,filters:n,filterKey:r}=Cm(),s=nrs(t);return wt({queryKey:["metrics","token-usage-timeseries",r,s],queryFn:async()=>{const[a,i]=await Promise.all([e.getMetricTimeSeries({name:["mastra_model_total_input_tokens"],interval:s,aggregation:"sum",filters:n}),e.getMetricTimeSeries({name:["mastra_model_total_output_tokens"],interval:s,aggregation:"sum",filters:n})]),l=new Map;return kQe(l,a.series[0],"input"),kQe(l,i.series[0],"output"),{data:Array.from(l.values()).sort((u,d)=>u.tsMs-d.tsMs).map(u=>{const d=new Date(u.tsMs);return{time:rrs(d,s),tsMs:u.tsMs,input:u.input,output:u.output,total:u.input+u.output,cost:u.cost,costUnit:srs(u)}}),interval:s}}})}function irs(){const{data:e,isLoading:t,isError:n}=ars(),{getTracesHref:r}=wI(),{Link:s}=yn();return o.jsx(jQr,{data:e?.data,interval:e?.interval,isLoading:t,isError:n,actions:o.jsx(q4,{href:r(),LinkComponent:s})})}function Zre({data:e,rowHrefs:t,errorHrefs:n,LinkComponent:r}){return o.jsx(aN,{LinkComponent:r,data:e.map(s=>{const a=n?.(s),i=t?.(s);return a?{name:s.name,values:[s.completed,s.errors],hrefs:[i,a]}:{name:s.name,values:[s.completed,s.errors],href:i}}),segments:[{label:"Completed",color:Np.blueDark},{label:"Errors",color:Np.pink}],maxVal:Math.max(...e.map(s=>s.completed+s.errors)),fmt:yc})}function ors({data:e,isLoading:t,isError:n,getRowHref:r,getErrorSegmentHref:s,actions:a,LinkComponent:i}){const[l,c]=v.useState("agents"),u=typeof a=="function"?a(l):a,d=!!e&&(e.agentData.length>0||e.workflowData.length>0||e.toolData.length>0),f=e?[...e.agentData,...e.workflowData,...e.toolData].reduce((m,g)=>m+g.completed+g.errors,0):0,p=m=>r?g=>r(m,g):void 0,h=m=>s?g=>s(m,g):void 0;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Trace Volume",description:"Runs and call counts."}),d&&o.jsx(Bt.Summary,{value:yc(f),label:"Total runs"}),u?o.jsx(Bt.Actions,{children:u}):null]}),t?o.jsx(Bt.Loading,{}):n?o.jsx(Bt.Error,{message:"Failed to load trace volume data"}):o.jsx(Bt.Content,{children:d?o.jsxs(ru,{value:l,onValueChange:c,defaultTab:"agents",className:"grid grid-rows-[auto_1fr] overflow-y-auto h-full",children:[o.jsxs(su,{children:[o.jsx(Vr,{value:"agents",children:"Agents"}),o.jsx(Vr,{value:"workflows",children:"Workflows"}),o.jsx(Vr,{value:"tools",children:"Tools"})]}),o.jsx(ps,{value:"agents",children:e.agentData.length>0?o.jsx(Zre,{data:e.agentData,rowHrefs:p("agents"),errorHrefs:h("agents"),LinkComponent:i}):o.jsx(Bt.NoData,{message:"No agent data yet"})}),o.jsx(ps,{value:"workflows",children:e.workflowData.length>0?o.jsx(Zre,{data:e.workflowData,rowHrefs:p("workflows"),errorHrefs:h("workflows"),LinkComponent:i}):o.jsx(Bt.NoData,{message:"No workflow data yet"})}),o.jsx(ps,{value:"tools",children:e.toolData.length>0?o.jsx(Zre,{data:e.toolData,rowHrefs:p("tools"),errorHrefs:h("tools"),LinkComponent:i}):o.jsx(Bt.NoData,{message:"No tool data yet"})})]}):o.jsx(Bt.NoData,{message:"No trace volume data yet"})})]})}async function Gre(e,t,n){const r=await e.getMetricBreakdown({name:[t],groupBy:["entityName","status"],aggregation:"count",orderDirection:"DESC",filters:n}),s=new Map;for(const a of r.groups){const i=a.dimensions.entityName??"unknown",l=a.dimensions.status??"ok";s.has(i)||s.set(i,{completed:0,errors:0});const c=s.get(i);l==="error"?c.errors+=a.value:c.completed+=a.value}return Array.from(s.entries()).map(([a,i])=>({name:a,...i})).sort((a,i)=>i.completed+i.errors-(a.completed+a.errors))}function lrs(){const e=We(),{filters:t,filterKey:n}=Cm();return wt({queryKey:["metrics","trace-volume",n],queryFn:async()=>{const[r,s,a]=await Promise.all([Gre(e,"mastra_agent_duration_ms",t),Gre(e,"mastra_workflow_duration_ms",t),Gre(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a}}})}const Q8={agents:Os.AGENT,workflows:Os.WORKFLOW_RUN,tools:Os.TOOL};function crs(){const{data:e,isLoading:t,isError:n}=lrs(),{getTracesHref:r,getLogsHref:s}=wI(),{Link:a}=yn();return o.jsx(ors,{data:e,isLoading:t,isError:n,LinkComponent:a,getRowHref:(i,l)=>r({rootEntityType:Q8[i],entityName:l.name}),getErrorSegmentHref:(i,l)=>l.errors>0?s({rootEntityType:Q8[i],entityName:l.name,status:"error"}):void 0,actions:i=>o.jsxs(o.Fragment,{children:[o.jsx(q4,{href:r({rootEntityType:Q8[i]}),LinkComponent:a}),o.jsx(Ens,{href:s({rootEntityType:Q8[i],status:"error"}),LinkComponent:a})]})})}const urs=new Set(["ObservabilityStorageClickhouseVNext","ObservabilityStorageDuckDB","ObservabilityInMemory","ObservabilitySpanner","ObservabilityStoragePostgresVNext"]),Qre="period",Y8="dateFrom",X8="dateTo";function drs(){const[e,t]=ji(),n=e.get(Qre),r=wQr(n)?n:"24h",s=v.useMemo(()=>{if(r!=="custom")return;const d=h=>{if(!h)return;const m=new Date(h);return Number.isNaN(m.getTime())?void 0:m},f=d(e.get(Y8)),p=d(e.get(X8));if(!(!f&&!p))return{from:f,to:p}},[r,e.toString()]),a=v.useMemo(()=>hQr(e),[e.toString()]),i=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d==="24h"?p.delete(Qre):p.set(Qre,d),d!=="custom"&&(p.delete(Y8),p.delete(X8)),p},{replace:!0})},[t]),l=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d?.from?p.set(Y8,d.from.toISOString()):p.delete(Y8),d?.to?p.set(X8,d.to.toISOString()):p.delete(X8),p},{replace:!0})},[t]),c=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return gQr(p,d),p},{replace:!0})},[t]),u=v.useRef(!1);return v.useEffect(()=>{if(u.current||(u.current=!0,fQr(e)))return;const d=E6t();d&&t(f=>{const p=new URLSearchParams(f);for(const[h,m]of d)p.append(h,m);return p},{replace:!0})},[]),o.jsx(kQr,{preset:r,filterTokens:a,onPresetChange:i,onFilterTokensChange:c,customRange:s,onCustomRangeChange:l,children:o.jsx(frs,{})})}function frs(){const[e]=ji(),{error:t,isLoading:n}=u8t(),{filterTokens:r,setFilterTokens:s}=DZ(),[a,i]=v.useState(),{data:l,isLoading:c}=M4(),u=l?.observabilityStorageType,d=u?urs.has(u):!1,f=u==="ObservabilityInMemory",{data:p,isLoading:h}=lTe(),{data:m,isLoading:g}=aTe(),{data:y,isLoading:b}=oTe(),{data:w,isLoading:S}=iTe(),k=v.useMemo(()=>pQr({availableTags:p??[],availableEntityNames:m??[],availableServiceNames:y??[],availableEnvironments:w??[],loading:{tags:h,entityNames:g,serviceNames:b,environments:S}}),[p,m,y,w,h,g,b,S]),[_,C]=v.useState(()=>E6t()!==null),E=v.useCallback(()=>{uQr(e),C(!0),De.success("Filters setting for Metrics saved")},[e]),j=v.useCallback(()=>{dQr(),C(!1),De.success("Filters setting for Metrics cleared up")},[]),N=v.useCallback(()=>{s([])},[s]),I=v.useCallback(()=>{const R=r.map($=>{const F=k.find(D=>D.id===$.fieldId);return F?F.kind==="text"?{fieldId:$.fieldId,value:""}:F.kind==="pick-multi"?F.multi?{fieldId:$.fieldId,value:[]}:{fieldId:$.fieldId,value:"Any"}:F.kind==="multi-select"?{fieldId:$.fieldId,value:[]}:$:$});s(R)},[k,r,s]);return t&&gs(t)?o.jsx(lr,{children:o.jsx(Vs,{})}):t&&ys(t)?o.jsx(lr,{children:o.jsx(Ds,{resource:"metrics"})}):t?o.jsx(lr,{children:o.jsx(Fi,{title:"Failed to load metrics",message:t.message})}):o.jsxs(Lt,{width:"wide",height:"full",children:[o.jsxs(Lt.TopArea,{children:[o.jsx(Lt.Row,{children:o.jsxs(Lt.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(_ns,{}),o.jsx(rTe,{fields:k,tokens:r,onTokensChange:s,disabled:n,onStartTextFilter:i})]})}),o.jsx(Zns,{isLoading:n,filterFields:k,filterTokens:r,onFilterTokensChange:s,onClear:I,onRemoveAll:N,onSave:E,onRemoveSaved:_?j:void 0,autoFocusFilterFieldId:a})]}),c?null:d?o.jsxs("div",{className:"grid gap-8 content-start pb-10",children:[f&&o.jsx(In,{variant:"info",title:"Metrics are not persisted",children:o.jsx(In.Message,{children:"This project uses in-memory storage for observability. Metrics will be lost on every server restart. For persistent metrics, switch the observability storage to ClickHouse, DuckDB, Postgres v-next, or Spanner."})}),o.jsxs(Nve,{children:[o.jsx(Uns,{}),o.jsx(qns,{}),o.jsx(Vns,{}),o.jsx(Hns,{}),o.jsx(Wns,{})]}),o.jsxs(Nve,{children:[o.jsx(Xns,{}),o.jsx(trs,{}),o.jsx(irs,{}),o.jsx(Dns,{}),o.jsx(crs,{}),o.jsx(Ans,{})]})]}):o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(xf,{}),titleSlot:"Metrics are not available with your current storage",descriptionSlot:"Metrics require ClickHouse, DuckDB, Postgres v-next, Spanner, or in-memory storage for observability. Other relational databases (LibSQL, MSSQL) and document stores (MongoDB) do not support metrics collection. To enable metrics on an existing project, switch the observability storage in the Mastra configuration.",actionSlot:o.jsxs(ue,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/observability/metrics/overview",target:"_blank",rel:"noopener noreferrer",children:["Metrics Documentation ",o.jsx(Pa,{})]})})})]})}function prs(){const{paths:e}=yn(),{data:t,isLoading:n,error:r}=ILt(),{isCmsAvailable:s}=yI(),[a,i]=v.useState(""),l=t?.promptBlocks??[];return r&&gs(r)?o.jsx(lr,{children:o.jsx(Vs,{})}):r&&ys(r)?o.jsx(lr,{children:o.jsx(Ds,{resource:"prompt blocks"})}):r?o.jsx(lr,{children:o.jsx(Fi,{title:"Failed to load prompt blocks",message:r.message})}):l.length===0&&!n?o.jsx(lr,{children:o.jsx(mZr,{})}):o.jsxs(Lt,{children:[o.jsx(Lt.TopArea,{children:o.jsxs(Lt.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(Of,{onSearch:i,label:"Filter prompts",placeholder:"Filter by name or description"})}),s&&o.jsxs(ue,{as:ci,to:e.cmsPromptBlockCreateLink(),variant:"primary",className:"shrink-0",children:[o.jsx(Fr,{}),"Create Prompt"]})]})}),o.jsx(hZr,{promptBlocks:l,isLoading:n,search:a})]})}function hrs(){return o.jsx(Lt,{width:"narrow",children:o.jsx(Lt.MainArea,{children:o.jsx(kzr,{children:o.jsx(eve,{})})})})}const mrs=[{title:"Mastra APIs",description:"Explore and test the available REST API endpoints with the interactive Swagger UI.",icon:pcn,href:"/swagger-ui",external:!1},{title:"Documentation",description:"Read the official Mastra documentation for guides, references, and tutorials.",icon:ilt,href:"https://mastra.ai/en/docs",external:!0},{title:"Github",description:"Browse the source code, report issues, and contribute to the Mastra project.",icon:Pa,href:"https://github.com/mastra-ai/mastra",external:!0},{title:"Community",description:"Join the Mastra Discord community for help, discussion, and collaboration.",icon:qj,href:"https://discord.gg/BTYqqHKUrf",external:!0},{title:"Share with your team",description:"Running Mastra Studio locally? Deploy to the cloud so your team can collaborate.",icon:hlt,href:"https://mastra.ai/cloud",external:!0},{title:"Talk to our Sales team",description:"Get a custom demo, discuss on-prem deployments, and how we can help you accelerate getting agents into production.",icon:olt,href:"https://mastra.ai/contact?ref=studio",external:!0}];function grs(){return o.jsx(Lt,{width:"narrow",children:o.jsx(Lt.MainArea,{children:o.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4 max-w-3xl",children:mrs.map(e=>o.jsxs("a",{href:e.href,...e.external?{target:"_blank",rel:"noreferrer"}:{},className:"group flex flex-col gap-3 rounded-lg border border-border1 bg-surface2 p-5 transition-colors hover:border-accent1 hover:bg-surface3",children:[o.jsxs("div",{className:"flex items-center gap-2.5",children:[o.jsx(e.icon,{className:"h-5 w-5 text-icon3 group-hover:text-accent1 transition-colors"}),o.jsx("span",{className:"text-ui-md font-medium text-text1",children:e.title}),e.external&&o.jsx(Pa,{className:"h-3.5 w-3.5 text-icon3 ml-auto opacity-0 group-hover:opacity-100 transition-opacity"})]}),o.jsx("p",{className:"text-ui-sm text-text3 leading-relaxed",children:e.description})]},e.href))})})})}function vrs(){const{data:e={},isLoading:t,error:n}=eh(),[r,s]=v.useState(""),[a,i]=v.useState("all");if(n&&gs(n))return o.jsx(lr,{children:o.jsx(Vs,{})});if(n&&ys(n))return o.jsx(lr,{children:o.jsx(Ds,{resource:"scorers"})});if(n)return o.jsx(lr,{children:o.jsx(Fi,{title:"Failed to load scorers",message:n.message})});if(Object.keys(e).length===0&&!t)return o.jsx(lr,{children:o.jsx(wHr,{})});const l=a!=="all"||r!=="",c=()=>{s(""),i("all")};return o.jsxs(Lt,{children:[o.jsx(Lt.TopArea,{children:o.jsx(THr,{search:r,onSearchChange:s,sourceFilter:a,onSourceFilterChange:i,onReset:c,hasActiveFilters:l})}),o.jsx(xHr,{scorers:e,isLoading:t,search:r,sourceFilter:a})]})}function yrs(){const{scorerId:e}=dr(),[t,n]=ji(),r=t.get("scoreId")??void 0,[s,a]=v.useState(r),[i,l]=v.useState({value:"all",label:"All Entities",type:"ALL"}),{scorer:c,error:u}=XVr(e),{data:d={},isLoading:f,error:p}=Sm(),{isLoading:h,error:m}=By(),{data:g=[],isLoading:y,error:b,isFetchingNextPage:w,hasNextPage:S,setEndOfListElement:k}=YVr({scorerId:e,entityId:i?.value==="all"?void 0:i?.value,entityType:i?.type==="ALL"?void 0:i?.type}),_=v.useMemo(()=>c?.agentIds?.filter(B=>d[B]).map(B=>({value:B,label:d[B].name,type:"AGENT"}))||[],[c?.agentIds,d]),C=v.useMemo(()=>c?.workflowIds?.map(B=>({value:B,label:B,type:"WORKFLOW"}))||[],[c?.workflowIds]),E=v.useMemo(()=>[{value:"all",label:"All Entities",type:"ALL"},..._,...C],[_,C]),j=t.get("entity")??"all",N=E.find(B=>B.value===j);N&&N.value!==i?.value&&l(N),v.useEffect(()=>{if(u){const B=u instanceof Error?u.message:"Failed to load scorer";De.error(`Error loading scorer: ${B}`)}},[u]),v.useEffect(()=>{if(p){const B=p instanceof Error?p.message:"Failed to load agents";De.error(`Error loading agents: ${B}`)}},[p]),v.useEffect(()=>{if(m){const B=m instanceof Error?m.message:"Failed to load workflows";De.error(`Error loading workflows: ${B}`)}},[m]);const I=B=>{B?.value&&n(M=>{const G=new URLSearchParams(M);return G.set("entity",B.value),G})};v.useEffect(()=>{const B=t.get("scoreId")??void 0;if(B===s)return;if(!B){a(void 0);return}g.find(G=>G.id===B)&&a(B)},[t,g]);const R=v.useCallback(B=>{a(B||void 0),n(M=>{const G=new URLSearchParams(M);return B?G.set("scoreId",B):G.delete("scoreId"),G})},[n]);if(!c)return null;const $=gs(u)||gs(p)||gs(m),F=u&&ys(u),D=!$&&!F&&(u||p||m),V=!y&&g.length===0,W=i?.value!=="all",L=c?.scorer?.source==="stored"?o.jsx(Ty,{owner:"scorer-detail",children:o.jsxs(ue,{variant:"default",as:ci,to:`/cms/scorers/${e}/edit`,size:"sm",children:[o.jsx(em,{})," Edit"]})}):null;if($||F||D||V&&!W){const B=(u instanceof Error?u.message:void 0)??(p instanceof Error?p.message:void 0)??(m instanceof Error?m.message:void 0)??"An unexpected error occurred";return o.jsxs(Lt,{width:"wide",height:"full",children:[L,o.jsx(Lt.MainArea,{isCentered:!0,children:$?o.jsx(Vs,{}):F?o.jsx(Ds,{resource:"scorers"}):D?o.jsx(Fi,{title:"Failed to load scorer",message:B}):o.jsx(HVr,{})})]})}return o.jsxs(Lt,{width:"wide",children:[L,o.jsx(Lt.TopArea,{children:o.jsx(WVr,{selectedEntity:i,entityOptions:E,onEntityChange:I,onReset:()=>{n(B=>{const M=new URLSearchParams(B);return M.set("entity","all"),M})},isLoading:y||f||h})}),o.jsx(VVr,{scores:g,isLoading:y,selectedScoreId:s,isFetchingNextPage:w,hasNextPage:S,setEndOfListElement:k,onScoreClick:R,errorMsg:b?.message})]})}function brs({label:e,description:t,htmlFor:n,className:r,children:s}){return o.jsxs("div",{className:K("flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",r),"data-slot":"settings-row",children:[o.jsxs("div",{children:[n?o.jsx(Rt,{htmlFor:n,className:"text-sm font-medium",children:e}):o.jsx("p",{className:"text-sm font-medium",children:e}),t&&o.jsx("p",{className:"text-sm text-neutral3",children:t})]}),s]})}const h8t=[{value:"dark",label:"Dark",Icon:Uun},{value:"light",label:"Light",Icon:Xdn},{value:"system",label:"System",Icon:Olt}],xrs=e=>h8t.some(t=>t.value===e);function wrs({option:e}){const{Icon:t}=e;return o.jsxs("span",{className:"inline-flex min-w-0 max-w-full items-center gap-2",children:[o.jsx(t,{"aria-hidden":"true",className:"h-4 w-4 shrink-0 opacity-70"}),o.jsx("span",{className:"min-w-0 truncate",children:e.label})]})}const Srs=()=>{const{baseUrl:e,headers:t,apiPrefix:n}=Axe(),{theme:r,setTheme:s}=EN();return o.jsx(Lt,{width:"narrow",children:o.jsxs(Lt.MainArea,{className:"flex flex-col gap-5 mt-6",children:[o.jsx(Pge,{title:"Theme",description:"Customize the appearance of the studio.",children:o.jsx(brs,{label:"Theme mode",htmlFor:"theme",children:o.jsxs(ba,{value:r,onValueChange:a=>{xrs(a)&&s(a)},children:[o.jsx(wa,{id:"theme",className:"w-full sm:w-48",children:o.jsx(xa,{className:"inline-flex min-w-0 max-w-full items-center"})}),o.jsx(Sa,{children:h8t.map(a=>o.jsx(qr,{value:a.value,children:o.jsx(wrs,{option:a})},a.value))})]})})}),o.jsx(Pge,{title:"Mastra Connection",description:"Configure the Mastra instance URL, API prefix, and request headers used by the studio.",children:o.jsx(K5t,{initialConfig:{baseUrl:e,headers:t,apiPrefix:n}})})]})})};function krs(){const[e]=ji(),t=bs(),n=e.get("redirect")||"/",r=()=>{n.startsWith("http")?window.location.href=n:t(n,{replace:!0})};return o.jsx(c8t,{redirectUri:n,onSuccess:r,initialMode:"signup"})}const m8t=e=>o.jsxs("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("g",{clipPath:"url(#clip0_21999_22095)",children:o.jsx("path",{d:"M7.5 0.75C3.6325 0.75 0.5 3.8825 0.5 7.75C0.5 10.8475 2.50375 13.4637 5.28625 14.3912C5.63625 14.4525 5.7675 14.2425 5.7675 14.0587C5.7675 13.8925 5.75875 13.3412 5.75875 12.755C4 13.0787 3.545 12.3262 3.405 11.9325C3.32625 11.7312 2.985 11.11 2.6875 10.9437C2.4425 10.8125 2.0925 10.4887 2.67875 10.48C3.23 10.4712 3.62375 10.9875 3.755 11.1975C4.385 12.2562 5.39125 11.9587 5.79375 11.775C5.855 11.32 6.03875 11.0137 6.24 10.8387C4.6825 10.6637 3.055 10.06 3.055 7.3825C3.055 6.62125 3.32625 5.99125 3.7725 5.50125C3.7025 5.32625 3.4575 4.60875 3.8425 3.64625C3.8425 3.64625 4.42875 3.4625 5.7675 4.36375C6.3275 4.20625 6.9225 4.1275 7.5175 4.1275C8.1125 4.1275 8.7075 4.20625 9.2675 4.36375C10.6062 3.45375 11.1925 3.64625 11.1925 3.64625C11.5775 4.60875 11.3325 5.32625 11.2625 5.50125C11.7087 5.99125 11.98 6.6125 11.98 7.3825C11.98 10.0687 10.3438 10.6637 8.78625 10.8387C9.04 11.0575 9.25875 11.4775 9.25875 12.1337C9.25875 13.07 9.25 13.8225 9.25 14.0587C9.25 14.2425 9.38125 14.4612 9.73125 14.3912C11.1209 13.9221 12.3284 13.029 13.1839 11.8377C14.0393 10.6463 14.4996 9.21668 14.5 7.75C14.5 3.8825 11.3675 0.75 7.5 0.75Z",fill:"currentColor"})}),o.jsx("defs",{children:o.jsx("clipPath",{id:"clip0_21999_22095",children:o.jsx("rect",{width:"14",height:"14",fill:"currentColor",transform:"translate(0.5 0.75)"})})})]});function Ors(e){return e.replace(/\/$/,"").split("/").pop()}function BZ({children:e,className:t}){return o.jsx("div",{className:K("border border-border1 rounded-lg mt-12 py-8 lg:min-h-[25rem] transition-height px-4 lg:px-12",t),children:e})}function _rs({templates:e,linkComponent:t,className:n,isLoading:r}){const s=t||"a";return r?o.jsx("div",{className:K("grid gap-y-4",n),children:Array.from({length:5}).map((a,i)=>o.jsx("div",{className:"h-16 bg-surface3 animate-pulse rounded-lg"},i))}):o.jsx("div",{className:K("grid gap-y-4",n),children:e.map(a=>{const i=a?.agents||a?.tools||a?.networks||a?.workflows||a?.mcp;return o.jsxs("article",{className:K("border border-border1 rounded-lg overflow-hidden w-full grid grid-cols-[1fr_auto] bg-surface3 transition-colors hover:bg-surface4"),children:[o.jsxs(s,{to:`/templates/${a.slug}`,className:K("grid [&:hover_p]:text-neutral5",{"grid-cols-[8rem_1fr] lg:grid-cols-[12rem_1fr]":a.imageURL}),children:[a.imageURL&&o.jsx("div",{className:K("overflow-hidden"),children:o.jsx("div",{className:"w-full h-full bg-cover thumb transition-scale duration-150",style:{backgroundImage:`url(${a.imageURL})`}})}),o.jsxs("div",{className:K("grid py-3 px-6 w-full gap-0.5","[&_svg]:w-[1em] [&_svg]:h-[1em] [&_svg]:text-neutral3"),children:[o.jsx("h2",{className:"text-ui-lg text-neutral5",children:a.title}),o.jsx("p",{className:"text-ui-md text-neutral4 transition-colors duration-500",children:a.description}),o.jsxs("div",{className:"hidden 2xl:flex text-neutral3 text-ui-md flex-wrap items-center gap-4 mt-3",children:[i&&o.jsxs("ul",{className:K("flex gap-4 text-ui-md text-neutral3 m-0 p-0 list-none","[&>li]:flex [&>li]:items-center [&>li]:gap-0.5 text-neutral4"),children:[a?.agents&&a.agents.length>0&&o.jsxs("li",{children:[o.jsx(rl,{})," ",a.agents.length]}),a?.tools&&a.tools.length>0&&o.jsxs("li",{children:[o.jsx(Gp,{})," ",a.tools.length]}),a?.networks&&a.networks.length>0&&o.jsxs("li",{children:[o.jsx(_lt,{})," ",a.networks.length]}),a?.workflows&&a.workflows.length>0&&o.jsxs("li",{children:[o.jsx(eq,{})," ",a.workflows.length]}),a?.mcp&&a.mcp.length>0&&o.jsxs("li",{children:[o.jsx(M_,{})," ",a.mcp.length]})]}),i&&a.supportedProviders&&o.jsx("small",{children:"|"}),o.jsx("div",{className:"flex items-center text-neutral3 gap-4",children:a.supportedProviders.map(l=>o.jsx("span",{className:"",children:l},l))})]})]})]}),o.jsx("a",{href:a.githubUrl,className:K("group items-center gap-2 text-ui-md ml-auto pr-4 hidden","lg:flex"),target:"_blank",rel:"noopener noreferrer",children:o.jsxs("span",{className:"flex items-center gap-2 px-2 py-1 rounded bg-surface1 group-hover:bg-surface2 text-neutral3 transition-colors group-hover:text-neutral5",children:[o.jsx(m8t,{})," ",Ors(a.githubUrl)]})})]},a.slug)})})}function Crs({tagOptions:e,selectedTag:t,providerOptions:n,selectedProvider:r,onTagChange:s,onProviderChange:a,searchTerm:i,onSearchChange:l,onReset:c,className:u,isLoading:d}){return d?o.jsxs("div",{className:K("h-[6.5rem] flex items-center gap-8","[&>div]:bg-surface3 [&>div]:w-48 [&>div]:h-8 [&>div]:animate-pulse",u),children:[o.jsx("div",{})," ",o.jsx("div",{})," ",o.jsx("div",{})]}):o.jsxs("div",{className:K("flex flex-wrap mx-auto sticky top-0 gap-4 bg-surface2 py-8",u),children:[o.jsx($T,{name:"search-templates",label:"Search templates",labelIsHidden:!0,value:i,onChange:f=>l?.(f.target.value),placeholder:"Search Template"}),o.jsx(xc,{label:"Filter by tag",labelIsHidden:!0,name:"filter-tag",value:t,onValueChange:s,options:e}),o.jsx(xc,{label:"Filter by provider",labelIsHidden:!0,name:"filter-provider",value:r,onValueChange:a,options:n}),c&&o.jsxs(ue,{onClick:c,children:["Reset ",o.jsx(vs,{})]})]})}function Ers(){const{data:e,isLoading:t}=DQn(),{templates:n,tags:r,providers:s}=e??{templates:[],tags:[],providers:[]},[a,i]=v.useState("all"),[l,c]=v.useState("all"),[u,d]=v.useState(""),f=[{value:"all",label:"Any tag"}];(r||[]).forEach(w=>{f.push({value:w,label:w})});const p=[{value:"all",label:"Any provider"}];(s||[]).forEach(w=>{p.push({value:w,label:w})});const h=(w,S)=>{S==="tag"?i(w):S==="provider"&&c(w)},m=w=>{d(w)},g=()=>{i("all"),c("all"),d("")},y=n.filter(w=>!(u&&!w.title.toLowerCase().includes(u)&&!w.description.toLowerCase().includes(u)||a!=="all"&&!w.tags.includes(a)||l!=="all"&&!w.supportedProviders.includes(l))),b=u||a!=="all"||l!=="all";return o.jsxs(cs,{children:[o.jsx(qxe,{children:o.jsxs(hpt,{children:[o.jsx(Ue,{children:o.jsx(Hv,{})}),"Templates"]})}),o.jsxs("div",{className:K("overflow-y-auto w-full h-full px-8 pb-12 z-10"),children:[o.jsx(Crs,{selectedTag:a,onTagChange:w=>h(w,"tag"),tagOptions:f,selectedProvider:l,onProviderChange:w=>h(w,"provider"),providerOptions:p,searchTerm:u,onSearchChange:m,onReset:b?g:void 0,className:"max-w-[80rem]",isLoading:t}),o.jsx(_rs,{templates:y,linkComponent:ci,className:"max-w-[80rem] mx-auto",isLoading:t})]})]})}const jrs="1.48.0-alpha.6";function Trs({errorMsg:e,validationErrors:t}){const n=typeof e=="string"?e:e!=null?String(e):void 0,r=n?.includes("Invalid schema for function"),s=n?.includes("validation issue")||t&&t.length>0,a=()=>s?"Template installation completed but some validation issues remain. The template may still be functional, but you should review and fix these issues.":r?"There was an issue with the AI model configuration. This may be related to the selected model or AI SDK version compatibility.":"An unexpected error occurred during template installation.",i=()=>s?{icon:o.jsx(kp,{className:"text-yellow-500"}),title:"Template Installed with Warnings"}:{icon:o.jsx(Ucn,{}),title:"Template Installation Failed"},{icon:l,title:c}=i();return o.jsxs(BZ,{className:"space-y-4 text-neutral3 mb-8 content-center",children:[o.jsxs("div",{className:K("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[l,o.jsxs("div",{className:"text-center space-y-2",children:[o.jsx("p",{className:"text-ui-md font-medium text-neutral5",children:c}),o.jsx("p",{className:"text-ui-md text-neutral3",children:a()})]})]}),t&&t.length>0&&o.jsxs("details",{className:"text-xs",children:[o.jsxs("summary",{className:"cursor-pointer text-neutral3 hover:text-neutral4 select-none text-center",children:["Show Validation Issues (",t.length,")"]}),o.jsx("div",{className:"mt-4 p-3 bg-gray-100 dark:bg-gray-800 rounded text-xs overflow-auto max-h-60 text-left space-y-2",children:t.map((u,d)=>o.jsxs("div",{className:"border-l-2 border-red-400 pl-2",children:[o.jsx("div",{className:"font-medium text-red-600 dark:text-red-400",children:u.type==="typescript"?"🔴 TypeScript Error":"⚠️ Lint Error"}),o.jsx("div",{className:"text-xs font-mono text-gray-700 dark:text-gray-300 mt-1 whitespace-pre-wrap wrap-break-word",children:u.message})]},d))})]}),n&&!s&&o.jsxs("details",{className:"text-xs",children:[o.jsx("summary",{className:"cursor-pointer text-neutral3 hover:text-neutral4 select-none text-center",children:"Show Details"}),o.jsx("div",{className:"mt-4 p-3 bg-gray-100 dark:bg-gray-800 rounded text-xs font-mono overflow-auto max-h-60 text-left",children:o.jsx("div",{className:"whitespace-pre-wrap wrap-break-word",children:n})})]})]})}function Nrs({providerOptions:e,selectedProvider:t,onProviderChange:n,variables:r,errors:s,handleInstallTemplate:a,handleVariableChange:i,isLoadingEnvVars:l,isInstalling:c,defaultModelProvider:u,defaultModelId:d,onModelUpdate:f}){return o.jsx(BZ,{children:o.jsxs("div",{className:"max-w-[40rem] my-4 p-4 lg:p-8 mx-auto gap-8 grid",children:[o.jsxs("h2",{className:K("text-neutral4 text-header-sm font-semibold flex items-center gap-2","[&>svg]:w-[1.2em] [&_svg]:h-[1.2em] [&_svg]:opacity-70"),children:["Install Template ",o.jsx(Clt,{})]}),o.jsx(xc,{name:"template-provider",options:e,label:"Template AI Model Provider",onValueChange:n,value:t,placeholder:"Select",layout:"horizontal"}),t&&Object.entries(r||{}).length>0&&o.jsxs(o.Fragment,{children:[o.jsx("h3",{className:"text-neutral3 text-ui-md",children:"Set required Environmental Variables"}),o.jsx("div",{className:"grid grid-cols-[1fr_1fr] gap-4 items-start",children:l?o.jsxs("div",{className:K("flex items-center justify-center col-span-2 text-neutral3 text-ui-sm gap-4","[&_svg]:opacity-50 [&_svg]:w-[1.1em] [&_svg]:h-[1.1em]","animate-in fade-in duration-300"),children:[o.jsx(Gt,{})," Loading variables..."]}):Object.entries(r).map(([p,h])=>o.jsxs(v.Fragment,{children:[o.jsx(dO,{name:`env-${p}`,labelIsHidden:!0,label:"Key",value:p,disabled:!0,className:"w-full"}),o.jsx(dO,{name:p,labelIsHidden:!0,label:"Value",value:h,onChange:i,errorMsg:s.includes(p)?"Value is required.":"",autoComplete:"off",className:"w-full"})]},p))}),o.jsxs("div",{className:"border-t border-border1 pt-12 mt-3.5 relative",children:[o.jsx("div",{className:"absolute w-8 h-8 rounded-full bg-surface2 top-0 left-1/2 -translate-x-1/2 -translate-y-4 text-ui-sm text-neutral3 flex items-center justify-center",children:"And"}),o.jsx("h3",{className:"text-neutral4 text-ui-lg",children:"Set AI Model for Template Installation"}),o.jsx("p",{className:"text-neutral3 text-ui-md mt-2 mb-8",children:"This model will be used by the workflow to process and install the template"}),o.jsx(X5t,{defaultProvider:u||"",defaultModel:d||"",updateModel:f||(()=>Promise.resolve({message:"Updated"})),closeEditor:()=>{},autoSave:!0,selectProviderPlaceholder:"Provider"})]})]}),t&&!l&&o.jsx(ue,{className:K("flex items-center gap-2 mt-4 justify-center text-ui-md w-full bg-surface5 min-h-10 rounded-lg text-neutral5 hover:bg-surface6 transition-colors","[&>svg]:w-[1.1em] [&_svg]:h-[1.1em] [&_svg]:text-neutral5"),onClick:a,disabled:!t||!u||!d||s.length>0||c,children:c?o.jsxs(o.Fragment,{children:[o.jsx(Gt,{className:"w-4 h-4"})," Installing..."]}):o.jsxs(o.Fragment,{children:["Install ",o.jsx(hm,{})]})})]})})}function Irs({title:e,description:t,githubUrl:n,isLoading:r,infoData:s,templateSlug:a}){const i=a?`feat/install-template-${a}`:"feat/install-template-[slug]";return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:K("grid mt-8 items-center"),children:o.jsxs("div",{className:K("text-header-lg flex items-center gap-3","[&>svg]:w-[1.2em] [&>svg]:h-[1.2em] [&>svg]:opacity-50",{"[&>svg]:opacity-20":r}),children:[o.jsx(Hv,{}),o.jsx("h2",{className:K({"bg-surface4 flex rounded-lg min-w-[50%]":r}),children:r?o.jsx(o.Fragment,{children:" "}):e})]})}),o.jsxs("div",{className:"grid lg:grid-cols-[1fr_1fr] gap-x-24",children:[o.jsxs("div",{className:"grid",children:[o.jsx("p",{className:K("mb-4 text-ui-md text-neutral4 mt-2 leading-7",{"bg-surface4 rounded-lg ":r}),children:r?o.jsx(o.Fragment,{children:" "}):t}),!r&&a&&o.jsxs("div",{className:K("bg-surface2 border border-surface4 rounded-lg p-4 mb-4","flex items-start gap-3"),children:[o.jsx("div",{className:"shrink-0 mt-0.5",children:o.jsx(Mx,{className:"w-[1.1em] h-[1.1em] text-blue-500"})}),o.jsxs("div",{className:"flex-1 space-y-2",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Vye,{className:"w-[1em] h-[1em] text-neutral4"}),o.jsx("span",{className:"text-ui-md font-medium text-neutral5",children:"A new Git branch will be created"})]}),o.jsxs("div",{className:"text-ui-sm text-neutral4 space-y-1",children:[o.jsxs("div",{children:[o.jsx("span",{className:"font-medium",children:"Branch name:"})," ",o.jsx("code",{className:"bg-surface3 px-1.5 py-0.5 rounded text-ui-sm font-mono",children:i})]}),o.jsx("div",{children:"This ensures safe installation with easy rollback if needed. Your main branch remains unchanged."})]})]})]}),n&&o.jsxs("a",{href:n,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 mt-auto text-neutral3 text-ui-md hover:text-neutral5",children:[o.jsx(m8t,{}),n?.split("/")?.pop()]})]}),s&&o.jsx(Aje,{data:s,labelsAreHidden:!0,isLoading:r})]})]})}function Ars(e){switch(e){case"running":return o.jsx(Gt,{});case"success":return o.jsx(hx,{});case"failed":return o.jsx(Pu,{});default:return null}}function Rrs({stepId:e,step:t,isActive:n,position:r}){const s=a=>a.charAt(0).toUpperCase()+a.slice(1).replace(/-/g," ");return o.jsxs("div",{className:K("grid gap-6 grid-cols-[1fr_auto] py-3 px-4 rounded-lg",is.all,{"border border-dashed border-neutral2 bg-surface3":n}),children:[o.jsxs("div",{className:"grid grid-cols-[auto_1fr] gap-2",children:[o.jsxs("span",{className:K("text-ui-md min-w-6 flex justify-end",is.colors,{"text-neutral5":n||t.status==="success","text-neutral3":!n&&t.status!=="success"}),children:[r,"."]}),o.jsxs("div",{children:[o.jsx("h4",{className:K("text-ui-md",is.colors,{"text-neutral5":n||t.status==="success","text-neutral3":!n&&t.status!=="success"}),children:s(e)}),t.description&&o.jsx("p",{className:"text-ui-md text-neutral2 -mt-0.5",children:t.description})]})]}),o.jsx("div",{className:K("w-[1.75rem] h-[1.75rem] rounded-full flex items-center justify-center self-center",is.all,{"border border-neutral2 border-dashed":t.status==="pending","[&>svg]:text-white [&>svg]:w-4 [&>svg]:h-4":t.status!=="running","w-[1.75rem] h-[1.75rem]":t.status==="running","bg-accent1Dark shadow-glow-accent1":t.status==="success","bg-accent2Dark shadow-glow-accent2":t.status==="failed","scale-110":t.status==="success"||t.status==="failed"}),children:Ars(t.status)})]})}function Prs({currentStep:e,steps:t=[],className:n}){return o.jsx("div",{className:K(n),children:t.map((r,s)=>o.jsx(Rrs,{stepId:r.id,step:r,isActive:e?.id===r.id,position:s+1},r.id))})}function $rs({steps:e}){const t=e.length,n=e.filter(r=>r.status==="success").length;return o.jsxs("div",{className:"flex justify-center flex-col gap-4 content-center w-full",children:[o.jsx("div",{className:"grid grid-cols-[0_repeat(9,1fr)] w-full",children:e.map((r,s)=>o.jsx("div",{className:K("flex justify-end items-center relative h-[2rem]",is.colors,{"bg-accent1Dark":r.status==="success"&&e?.[s-1]?.status==="success"}),children:o.jsx("div",{className:K("w-[2rem] h-[2rem] rounded-full flex items-center justify-center self-center absolute right-0 translate-x-[50%] bg-surface3 z-10 text-neutral3 font-bold text-ui-sm",is.all,{"border border-neutral2 border-dashed":r.status==="pending","[&>svg]:text-surface1 [&>svg]:w-[1.1rem] [&>svg]:h-[1.1rem]":r.status!=="running","bg-accent1Dark text-white shadow-glow-accent1 scale-110":r.status==="success","bg-accent2Dark text-white shadow-glow-accent2 scale-110":r.status==="failed"}),children:r.status==="running"?o.jsx(Gt,{}):s+1})},r.id))}),o.jsxs("div",{className:K("text-xs text-neutral3 text-center",is.colors),children:[n," of ",t," steps completed"]})]})}function Mrs({name:e,streamResult:t,runId:n,workflowInfo:r}){const s=t?.phase||"initializing",a=t?.payload?.workflowState,i=t?.payload?.currentStep,l=t?.error,c=a?.steps||{},u=Object.keys(c).length>0,d=g=>g==="input"||g.endsWith(".input")||g.startsWith("Mapping_")&&/[0-9a-f]{8}/.test(g)||/[0-9a-f]{8,}/.test(g)?!1:r?.allSteps?g in r.allSteps:!0,f=Object.entries(c).filter(([g,y])=>d(g)),p=f.length,h=()=>{switch(s){case"initializing":return"Preparing template installation...";case"processing":return`Installing ${e} template`;case"completed":return"Template installation completed!";case"error":return"Template installation failed";default:return"Installing template..."}},m=f.map(([g,y])=>({id:g,status:y?.status,description:y?.description,title:g.charAt(0).toUpperCase()+g.slice(1).replace(/-/g," "),isActive:i?.id===g}));return o.jsxs(BZ,{className:"space-y-6 text-neutral3 mb-8 content-center",children:[o.jsxs("div",{className:"text-center",children:[o.jsx("h3",{className:"text-lg font-semibold text-neutral5",children:h()}),(t?.runId||n)&&o.jsxs("div",{className:"mt-2 text-ui-sm text-neutral3",children:["Run ID: ",t?.runId??n]})]}),u&&p>0&&!["error"].includes(s)&&o.jsx("div",{className:"max-w-[30rem] w-full mx-auto px-6",children:o.jsx($rs,{steps:m})}),l&&s==="error"&&o.jsxs("div",{className:K("rounded-lg text-neutral5 p-6 flex items-center gap-3 text-ui-md bg-red-500/10","[&>svg]:w-6 [&>svg]:h-6 [&>svg]:opacity-70 [&>svg]:text-red-500"),children:[o.jsx(Kun,{}),l||"Something went wrong"]}),u&&o.jsx(Prs,{steps:m,currentStep:i,className:"pb-4"}),!u&&s==="initializing"&&o.jsxs("div",{className:"text-center text-sm text-neutral3 grid gap-4 justify-items-center",children:[o.jsx(Gt,{}),o.jsx("p",{children:"This may take some time..."})]})]})}function Drs({name:e,installedEntities:t}){return o.jsxs(BZ,{className:K("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[o.jsx(Clt,{}),o.jsx("h2",{className:"text-header-md",children:"Done!"}),o.jsxs("p",{className:"text-ui-md text-center text-neutral3 ",children:["The ",o.jsx("b",{className:"text-neutral4",children:e})," template has been successfully installed.",t&&t.length>0&&o.jsxs(o.Fragment,{children:[o.jsx("br",{})," Installed entities are listed below."]})]}),t&&t.length>0&&o.jsx(Aje,{data:t})]})}function Lrs(){const{templateSlug:e}=dr(),[t,n]=ji(),[r,s]=v.useState(""),[a,i]=v.useState(""),[l,c]=v.useState(""),[u,d]=v.useState({}),[f,p]=v.useState([]),[h,m]=v.useState(null),[g,y]=v.useState(!1),[b,w]=v.useState(""),[S,k]=v.useState(!1),[_,C]=v.useState(!1),[E,j]=v.useState([]),{data:N,isLoading:I}=LQn({repoOrSlug:e,owner:"mastra-ai"}),$=jrs?.includes("beta")??!1?"beta":"main",{data:F,isLoading:D}=FQn({repo:N?.githubUrl?new URL(N.githubUrl).pathname.split("/")[2]:`template-${e}`,owner:"mastra-ai",branch:$}),{data:V,isLoading:W}=zQn(),{mutateAsync:L,isPending:z}=BQn(),{mutateAsync:B}=UQn(),{streamInstall:M,streamResult:G,isStreaming:U}=VQn(V),{observeInstall:P,streamResult:q,isStreaming:Z}=HQn(V);v.useEffect(()=>{const ne=t.get("runId");ne&&!g&&!h&&!U&&!Z&&(console.info("🔄 Checking completed run after hot reload:",{runId:ne}),w(ne),B({runId:ne}).then(ce=>{const pe=ce.snapshot;if(pe?.status==="success"&&pe?.result?.success)y(!0);else if(pe?.result?.success===!1)if(pe?.result?.validationResults&&!pe?.result?.validationResults?.valid&&pe?.result?.validationResults?.remainingErrors>0){const{remainingErrors:ve,errors:ye}=pe.result.validationResults,Se=`Template installation completed but ${ve} validation issue${ve>1?"s":""} remain unresolved.`;m(Se),j(ye||[])}else{const ve=pe?.result?.message||pe?.result?.error||"Template installation failed";m(typeof ve=="string"?ve:String(ve))}}).catch(ce=>{console.error("❌ Failed to fetch run details:",ce),m("Failed to retrieve installation status after reload")}))},[t,g,h,U,Z,B]),v.useEffect(()=>{const ne=t.get("runId"),ce=t.get("resume"),pe=t.get("provider");if(ne&&ce==="true"&&pe&&!U&&!Z&&!S&&!_&&V){w(ne),k(!0);try{B({runId:ne}).then(le=>{if(le.snapshot?.status==="running")return P.mutateAsync({runId:ne})}).then(()=>{n(le=>{const ve=new URLSearchParams(le);return ve.delete("resume"),ve})}).catch(le=>{console.error("❌ Failed to resume template installation:",le),le.message?.includes("404")||le.message?.includes("not found")?m("Template installation run not found. It may have expired or been completed."):m("Failed to resume template installation. Please try again.")})}catch(le){console.error("❌ Auto-resume failed with error:",le),m("Failed to resume template installation. Please refresh and try again.")}}},[t,e,U,Z,S,_,V,B,P,n]);const X=[{value:"openai",label:"OpenAI"},{value:"anthropic",label:"Anthropic"},{value:"groq",label:"Groq"},{value:"google",label:"Google"}],te=[{key:"tools",label:"Tools",value:N?.tools?.length?N.tools.map(ne=>ne).join(", "):"n/a",icon:o.jsx(Gp,{})},{key:"agents",label:"Agents",value:N?.agents?.length?N.agents.map(ne=>ne).join(", "):"n/a",icon:o.jsx(rl,{})},{key:"workflows",label:"Workflows",value:N?.workflows?.length?N.workflows.map(ne=>ne).join(", "):"n/a",icon:o.jsx(eq,{})},{key:"providers",label:"Providers",value:N?.supportedProviders?.length?N.supportedProviders.join(", "):"n/a",icon:o.jsx(Iv,{})},{key:"tags",label:"Tags",value:N?.tags?.length?N.tags.join(", "):"n/a",icon:o.jsx(hN,{})}],J=[{...te[0]},{...te[1]},{...te[2]}].filter(ne=>ne.value!=="n/a");v.useEffect(()=>{F&&d(F)},[F]),v.useEffect(()=>{const ne=G||q;ne?.phase==="error"&&ne?.error&&m(typeof ne.error=="string"?ne.error:String(ne.error))},[G?.phase,G?.error,q?.phase,q?.error]);const ee=ne=>{s(ne)},ae=async ne=>(i(ne.provider),c(ne.modelId),{message:"Model updated successfully"}),de=async()=>{const ne=Object.entries(u).reduce((ce,[pe,le])=>(le===""&&ce.push(pe),ce),[]);if(ne.length>0){p(ne);return}if(N){m(null),y(!1),w(""),C(!0);try{const pe={repo:N.githubUrl||`https://github.com/mastra-ai/template-${N.slug}`,ref:$,slug:N.slug,variables:u},{runId:le}=await L({});w(le),n(ve=>{const ye=new URLSearchParams(ve);return ye.set("runId",le),ye.set("resume","true"),ye.set("provider",r||"openai"),ye}),await M.mutateAsync({inputData:pe,selectedModel:{provider:a,modelId:l},runId:le})}catch(ce){C(!1),m(ce?.message||"Template installation failed"),console.error("Template installation failed",ce)}}},Y=ne=>{const{name:ce,value:pe}=ne.target;pe.trim()===""?p(le=>[...le,ce]):p(le=>le.filter(ve=>ve!==ce)),d(le=>({...le,[ce]:pe}))};return o.jsx(cs,{children:o.jsx("div",{className:K("w-full lg:px-12 h-full overflow-y-scroll"),children:o.jsxs("div",{className:"p-6 w-full max-w-[80rem] mx-auto grid gap-y-4",children:[o.jsx(Irs,{isLoading:I,title:N?.title,description:N?.longDescription,imageURL:N?.imageURL,githubUrl:N?.githubUrl,infoData:te,templateSlug:e}),N&&o.jsxs(o.Fragment,{children:[(U||Z)&&o.jsx(Mrs,{name:N.title,streamResult:Z?q:G,runId:b,workflowInfo:V}),g&&o.jsx(Drs,{name:N.title,installedEntities:J,linkComponent:ci}),h&&o.jsx(Trs,{errorMsg:h,validationErrors:E.length>0?E:G?.validationResults?.errors||q?.validationResults?.errors}),!U&&!Z&&!g&&!h&&o.jsx(Nrs,{providerOptions:X,selectedProvider:r,onProviderChange:ee,variables:u,setVariables:d,errors:f,setErrors:p,handleInstallTemplate:de,handleVariableChange:Y,isLoadingEnvVars:D||W,isInstalling:z,defaultModelProvider:a,defaultModelId:l,onModelUpdate:ae})]})]})})})}const Frs=()=>{const{toolId:e,agentId:t}=dr();return o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(AWr,{toolId:e,agentId:t})})},zrs=()=>{const{toolId:e}=dr();return o.jsx("div",{className:"h-full w-full overflow-y-hidden",children:o.jsx(fns,{toolId:e})})};function Brs(){const{traceId:e}=dr(),[t,n]=ji(),r=bs(),s=t.get("spanId")||void 0,a=t.get("tab"),i=a==="scoring"?"scoring":a==="feedback"?"feedback":"details",l=t.get("scoreId")||void 0,[c,u]=v.useState(s??null),[d,f]=v.useState(),[p,h]=v.useState(i),[m,g]=v.useState(0),[y,b]=v.useState(!1),{data:w,isLoading:S,error:k}=HH(e),_=v.useMemo(()=>w?.spans??[],[w?.spans]),C=v.useMemo(()=>_.find(ae=>ae.parentSpanId==null),[_]),{data:E,isLoading:j}=aI(e,c??"");v.useEffect(()=>g(0),[e,c]);const{data:N,isLoading:I}=eh(),{data:R,isLoading:$}=_Lt({traceId:e,spanId:c??void 0,page:m}),[F,D]=v.useState(0);v.useEffect(()=>D(0),[e,c]);const{data:V,isLoading:W}=K6t({traceId:e,page:F});v.useEffect(()=>{if(l&&R?.scores&&!d){const ae=R.scores.find(de=>de.id===l);ae&&f(ae)}},[l,R?.scores,d]);const L=v.useCallback(ae=>{const de=new URLSearchParams(t);for(const[Y,ne]of Object.entries(ae))ne===null||ne===""?de.delete(Y):de.set(Y,ne);n(de,{replace:!0})},[t,n]),z=v.useCallback(ae=>{const de=ae??null,Y=de===c;u(de),Y||(f(void 0),h("details"),L({spanId:de,tab:null,scoreId:null}))},[c,L]),B=v.useCallback(()=>{u(null),f(void 0),h("details"),L({spanId:null,tab:null,scoreId:null})},[L]),M=v.useCallback(ae=>{u(ae),f(void 0),h("details"),L({spanId:ae,tab:null,scoreId:null})},[L]),{handlePreviousSpan:G,handleNextSpan:U}=WH(_,c,M),P=v.useCallback(ae=>{const de=ae;h(de),f(void 0),L({tab:de==="details"?null:de,scoreId:null})},[L]),q=v.useCallback(ae=>{f(ae),L({scoreId:ae.id})},[L]),Z=v.useCallback(()=>{f(void 0),L({scoreId:null})},[L]),X=v.useCallback(()=>{r("/observability")},[r]),te=v.useCallback(()=>{h("scoring"),C&&c!==C.spanId?(u(C.spanId),f(void 0),L({spanId:C.spanId,tab:"scoring",scoreId:null})):L({tab:"scoring"})},[C,c,L]),J=C?o.jsx(Ty,{owner:"trace-detail",children:o.jsxs($r,{children:[o.jsxs(ue,{tooltip:"Evaluate Trace","aria-label":"Evaluate Trace",onClick:te,children:[o.jsx(Pln,{}),"Evaluate"]}),o.jsxs(ue,{tooltip:"Save as Dataset Item","aria-label":"Save as Dataset Item",onClick:()=>b(!0),children:[o.jsx(fd,{}),"Save"]})]})}):null,ee=C?o.jsx(Lt.Row,{children:o.jsx(Lt.Column,{children:o.jsx(q6t,{rootSpan:C,numOfCol:3})})}):null;return k?o.jsxs(Lt,{height:"full",children:[J,ee&&o.jsx(Lt.TopArea,{children:ee}),o.jsx(Lt.MainArea,{isCentered:!0,children:o.jsx(V6t,{error:k,resource:"traces",errorTitle:"Failed to load trace"})})]}):o.jsxs(Lt,{children:[J,ee&&o.jsx(Lt.TopArea,{children:ee}),o.jsx(Z6t,{rootSpanId:C?.spanId,traceId:e,isOpen:y,onClose:()=>b(!1)}),o.jsxs("div",{className:K("grid h-full min-h-0 gap-4 overflow-hidden items-start mt-4",c?"grid-cols-[2fr_3fr]":"grid-cols-[1fr]"),children:[o.jsx(sTe,{traceId:e,spans:_,isLoading:S,onClose:X,onSpanSelect:z,onEvaluateTrace:te,initialSpanId:c,placement:"trace-page",timelineChartWidth:c?"default":"wide"}),c&&!S&&o.jsxs("div",{className:K("grid gap-4 max-h-full min-h-0 overflow-auto",d?"grid-rows-[1fr_1fr]":"grid-rows-[1fr]"),children:[o.jsx(qH,{traceId:e,spanId:c,span:E?.span,isLoading:j,onClose:B,onPrevious:G,onNext:U,activeTab:p,onTabChange:P,feedbackTabBadge:V?.pagination?.total??void 0,feedbackTabSlot:()=>o.jsx(Q6t,{feedbackData:V,onPageChange:D,isLoadingFeedbackData:W}),scoringTabBadge:R?.pagination?.total??void 0,scoringTabSlot:({span:ae,traceId:de,spanId:Y})=>o.jsxs("div",{className:"grid gap-6",children:[o.jsx(X6t,{traceId:de,isTopLevelSpan:!ae.parentSpanId,spanId:Y,entityType:ae.attributes?.agentId||ae.entityType===Os.AGENT?"Agent":ae.attributes?.workflowId||ae.entityType===Os.WORKFLOW_RUN?"Workflow":void 0,scorers:N,isLoadingScorers:I}),o.jsx(Y6t,{scoresData:R,onPageChange:g,isLoadingScoresData:$,onScoreSelect:q})]})}),d&&o.jsx(Ije,{score:d,onClose:Z})]})]})]})}function Urs(){const{data:e,isLoading:t,error:n}=By(),[r,s]=v.useState("");return n&&gs(n)?o.jsx(lr,{children:o.jsx(Vs,{})}):n&&ys(n)?o.jsx(lr,{children:o.jsx(Ds,{resource:"workflows"})}):n?o.jsx(lr,{children:o.jsx(Fi,{title:"Failed to load workflows",message:n.message})}):Object.keys(e||{}).length===0&&!t?o.jsx(lr,{children:o.jsx(Q$r,{})}):o.jsxs(Lt,{children:[o.jsx(Lt.TopArea,{children:o.jsxs(Lt.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(Of,{onSearch:s,label:"Filter workflows",placeholder:"Filter by name or description"})}),o.jsxs(ue,{as:ci,to:"/workflows/schedules",variant:"primary",className:"shrink-0",children:[o.jsx(o3,{}),"Schedules"]})]})}),o.jsx(G$r,{workflows:e||{},isLoading:t,search:r})]})}const qrs={active:"bg-accent1",paused:"bg-accent3"},Vrs={active:"text-accent1",paused:"text-accent3"},g8t=({status:e})=>o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${qrs[e]}`,"aria-hidden":!0}),o.jsx("span",{className:`text-ui-sm ${Vrs[e]}`,children:e})]}),Aj=e=>!e||e<=0?"—":new Date(e).toLocaleString(),sP=e=>{if(!e||e<=0)return"—";const t=e-Date.now(),n=Math.abs(t),r=Math.floor(n/1e3);if(r<60)return t>=0?`in ${r}s`:`${r}s ago`;const s=Math.floor(r/60);if(s<60)return t>=0?`in ${s}m`:`${s}m ago`;const a=Math.floor(s/60);if(a<24)return t>=0?`in ${a}h`:`${a}h ago`;const i=Math.floor(a/24);return t>=0?`in ${i}d`:`${i}d ago`};function v8t({status:e}){const{icon:t,color:n}=Hrs(e);return o.jsxs("span",{className:`inline-flex items-center gap-1.5 whitespace-nowrap text-ui-sm ${n}`,children:[o.jsx("span",{className:"inline-flex shrink-0 items-center","aria-hidden":!0,children:t}),o.jsx("span",{children:e})]})}function Hrs(e){switch(e){case"success":return{icon:o.jsx(Js,{size:14}),color:"text-accent1"};case"failed":return{icon:o.jsx(vs,{size:14}),color:"text-accent2"};case"running":return{icon:o.jsx(Gt,{}),color:"text-neutral3"};case"suspended":return{icon:o.jsx(ZU,{size:14}),color:"text-accent3"};case"canceled":return{icon:o.jsx(xf,{size:14}),color:"text-neutral3"};case"pending":case"waiting":return{icon:o.jsx(sO,{size:14}),color:"text-neutral3"};default:return{icon:null,color:"text-neutral3"}}}const OQe="auto auto auto auto 1fr";function Wrs(e){if(e===void 0)return"—";if(e<1e3)return`${e}ms`;if(e<6e4)return`${(e/1e3).toFixed(1)}s`;const t=Math.floor(e/6e4),n=Math.floor(e%6e4/1e3);return`${t}m ${n}s`}function Zrs(e){const t=Math.abs(e),n=e<0?"-":"";return t<1e3?`${n}${t}ms`:t<6e4?`${n}${(t/1e3).toFixed(1)}s`:t<36e5?`${n}${(t/6e4).toFixed(1)}m`:`${n}${(t/36e5).toFixed(1)}h`}const Grs=3e4,Qrs=5*6e4;function Yrs({triggers:e,isLoading:t,workflowId:n,hasNextPage:r,isFetchingNextPage:s,setEndOfListElement:a}){const{Link:i,paths:l}=yn();return t?o.jsx(el,{columns:OQe}):e.length===0?o.jsx(ge,{variant:"ui-md",className:"text-neutral4 p-4",children:"No trigger history yet."}):o.jsxs(me,{columns:OQe,className:"min-w-0",children:[o.jsxs(me.Top,{children:[o.jsx(me.TopCell,{children:"Run"}),o.jsx(me.TopCell,{children:"Status"}),o.jsx(me.TopCell,{children:"Started"}),o.jsx(me.TopCell,{children:"Duration"}),o.jsx(me.TopCell,{children:" "})]}),e.map(c=>{const u=c.actualFireAt-c.scheduledFireAt,d=Zrs(u),f=`Scheduled ${Aj(c.scheduledFireAt)} — published ${Aj(c.actualFireAt)} (drift ${d})`,p=c.outcome==="failed",h=p?c.error:c.run?.error,m=Math.abs(u),g=!p&&m>Grs&&m<=Qrs,y=`${c.scheduleId}-${c.runId}-${c.actualFireAt}`,b=!!(n&&c.runId&&!p),w=o.jsx("span",{className:b?"text-accent1 font-mono text-ui-sm whitespace-nowrap":"text-neutral3 font-mono text-ui-sm whitespace-nowrap",children:c.runId}),S=o.jsxs(o.Fragment,{children:[o.jsx(me.Cell,{height:"compact",children:w}),o.jsx(me.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2",children:[p?o.jsxs("span",{className:"inline-flex items-center gap-1.5 whitespace-nowrap text-ui-sm text-accent2",children:[o.jsx(kp,{size:14}),"publish failed"]}):c.run?o.jsx(v8t,{status:c.run.status}):o.jsx("span",{className:"inline-flex items-center gap-1.5 whitespace-nowrap text-ui-sm text-neutral3",children:"pending"}),h?o.jsxs(Wn,{children:[o.jsx(zn,{asChild:!0,children:o.jsx("span",{className:"text-accent2 inline-flex",children:o.jsx(kp,{size:14})})}),o.jsx(Bn,{children:h})]}):null]})}),o.jsx(me.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("span",{title:f,children:sP(c.actualFireAt)}),g?o.jsxs(Wn,{children:[o.jsx(zn,{asChild:!0,children:o.jsx("span",{className:"text-accent3 inline-flex",children:o.jsx(kp,{size:14})})}),o.jsxs(Bn,{children:["Published ",d," after the scheduled fire time"]})]}):null]})}),o.jsx(me.Cell,{height:"compact",children:c.run?o.jsx("span",{children:Wrs(c.run.durationMs)}):o.jsx("span",{className:"text-neutral4",children:"—"})}),o.jsx(me.Cell,{height:"compact",children:" "})]});return b?o.jsx(me.RowLink,{to:l.workflowRunLink(n,c.runId),LinkComponent:i,children:S},y):o.jsx(me.RowStatic,{children:S},y)}),o.jsx(me.NextPageLoading,{isLoading:s,hasMore:r,setEndOfListElement:a})]})}const Xrs=e=>{const t=We();return wt({queryKey:["schedule",e],enabled:!!e,queryFn:async()=>{if(!e)throw new Error("scheduleId is required");return t.getSchedule(e)}})},_Qe=25,Krs=e=>{const t=We(),{inView:n,setRef:r}=__(),s=R1({queryKey:["schedule-triggers",e],enabled:!!e,initialPageParam:void 0,queryFn:async({pageParam:u})=>e?t.listScheduleTriggers(e,{limit:_Qe,toActualFireAt:u}):{triggers:[]},getNextPageParam:u=>{if(!(!u?.triggers?.length||u.triggers.length<_Qe))return u.triggers[u.triggers.length-1].actualFireAt},refetchInterval:u=>(u.state.data?.pages.flatMap(p=>p.triggers)??[]).some(p=>p.run?p.run.status==="pending"||p.run.status==="running"||p.run.status==="waiting":p.outcome==="published")?5e3:!1}),a=s.data?.pages.flatMap(u=>u?.triggers??[])??[],{hasNextPage:i,isFetchingNextPage:l,fetchNextPage:c}=s;return v.useEffect(()=>{n&&i&&!l&&c()},[n,i,l,c]),{...s,data:a,setEndOfListElement:r}},Jrs=e=>{const t=We(),n=Hr();return Rn({mutationFn:async r=>{if(!e)throw new Error("scheduleId is required");return r==="pause"?t.pauseSchedule(e):t.resumeSchedule(e)},onSuccess:(r,s)=>{n.invalidateQueries({queryKey:["schedule",e]}),n.invalidateQueries({queryKey:["schedules"]}),De.success(s==="pause"?"Schedule paused":"Schedule resumed")},onError:r=>{De.error(r.message)}})};function K8({label:e,children:t}){return o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx(ge,{variant:"ui-xs",className:"text-neutral4 uppercase tracking-wide",children:e}),o.jsx("div",{className:"text-ui-md",children:t})]})}function ess(){const{scheduleId:e}=dr(),{paths:t}=yn(),{data:n,error:r}=Xrs(e),{data:s,isLoading:a,error:i,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u}=Krs(e),d=Jrs(e);if(r&&gs(r))return o.jsx(lr,{children:o.jsx(Vs,{})});if(r&&ys(r))return o.jsx(lr,{children:o.jsx(Ds,{resource:"schedules"})});if(r)return o.jsx(lr,{children:o.jsx(Fi,{title:"Failed to load schedule",message:r.message})});const f=n?.target.type==="workflow"?n.target.workflowId:void 0;return o.jsxs(Lt,{children:[o.jsx(Lt.TopArea,{children:o.jsx(Lt.Row,{className:"justify-end",children:o.jsxs(Lt.Column,{className:"flex justify-end gap-2",children:[o.jsxs(ue,{as:ci,to:t.schedulesLink(),variant:"ghost",children:[o.jsx(Ec,{}),"Back to schedules"]}),f?o.jsx(ue,{as:ci,to:t.workflowLink(f),variant:"ghost",children:"Open workflow"}):null,n?o.jsx(ue,{onClick:()=>d.mutate(n.status==="active"?"pause":"resume"),disabled:d.isPending,"data-testid":"schedule-toggle-button",children:n.status==="active"?o.jsxs(o.Fragment,{children:[o.jsx(Elt,{}),"Pause"]}):o.jsxs(o.Fragment,{children:[o.jsx(Pp,{}),"Resume"]})}):null]})})}),n?o.jsxs("div",{className:"grid gap-6 h-full overflow-hidden grid-cols-[minmax(0,20rem)_1fr]",children:[o.jsxs("div",{className:"flex flex-col gap-4 border border-border1 rounded-md p-4 h-fit",children:[o.jsx(K8,{label:"Workflow",children:f?o.jsx(ci,{to:t.workflowLink(f),className:"text-accent1 hover:underline",children:f}):"—"}),o.jsxs(K8,{label:"Cron",children:[o.jsx("code",{className:"font-mono text-ui-md",children:n.cron}),n.timezone?o.jsx("span",{className:"text-neutral4 ml-2 text-ui-sm",children:n.timezone}):null]}),o.jsx(K8,{label:"Status",children:o.jsx(g8t,{status:n.status})}),o.jsx(K8,{label:"Next fire",children:o.jsx("span",{title:Aj(n.nextFireAt),children:sP(n.nextFireAt)})})]}),o.jsxs("div",{className:"overflow-y-auto","data-testid":"schedule-triggers-panel",children:[o.jsx(ge,{variant:"ui-md",className:"mb-3",children:"Trigger history"}),i?o.jsx(Fi,{title:"Failed to load trigger history",message:i.message}):o.jsx(Yrs,{triggers:s??[],isLoading:a,workflowId:f,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u})]})]}):null]})}const CQe="minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 1fr) auto auto auto";function tss({schedules:e,isLoading:t,search:n=""}){const{paths:r,Link:s}=yn(),a=v.useMemo(()=>{const i=n.toLowerCase();return i?e.filter(l=>l.id.toLowerCase().includes(i)||l.target.workflowId.toLowerCase().includes(i)):e},[e,n]);return t?o.jsx(el,{columns:CQe}):o.jsxs(me,{columns:CQe,variant:"striped",className:"min-w-0",children:[o.jsxs(me.Top,{children:[o.jsx(me.TopCell,{children:"Workflow"}),o.jsx(me.TopCell,{children:"Schedule ID"}),o.jsx(me.TopCell,{children:"Cron"}),o.jsx(me.TopCell,{children:"Status"}),o.jsx(me.TopCell,{children:"Next fire"}),o.jsx(me.TopCell,{children:"Last run"})]}),a.length===0&&n?o.jsx(me.NoMatch,{message:"No schedules match your search"}):null,a.length===0&&!n?o.jsx(me.NoMatch,{message:"No schedules configured"}):null,a.map(i=>o.jsxs(me.RowLink,{to:r.scheduleLink(i.id),LinkComponent:s,children:[o.jsx(me.NameCell,{children:i.target.workflowId}),o.jsx(me.Cell,{height:"compact",className:"min-w-0",children:o.jsx("span",{className:"block truncate font-mono text-ui-smd text-neutral3",title:i.id,children:i.id})}),o.jsx(me.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("code",{className:"font-mono text-ui-sm",children:i.cron}),i.timezone?o.jsx("span",{className:"text-neutral4 text-ui-xs",children:i.timezone}):null]})}),o.jsx(me.Cell,{height:"compact",children:o.jsx(g8t,{status:i.status})}),o.jsx(me.Cell,{height:"compact",children:o.jsx("span",{className:"whitespace-nowrap",title:Aj(i.nextFireAt),children:sP(i.nextFireAt)})}),o.jsx(me.Cell,{height:"compact",children:i.lastRun?o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx(v8t,{status:i.lastRun.status}),o.jsx("span",{className:"text-neutral4 text-ui-sm",title:Aj(i.lastFireAt),children:i.lastFireAt?sP(i.lastFireAt):""})]}):i.lastFireAt?o.jsx("span",{className:"whitespace-nowrap",title:Aj(i.lastFireAt),children:sP(i.lastFireAt)}):o.jsx("span",{className:"text-neutral4",children:"Never"})})]},i.id))]})}function nss({workflowId:e}={}){const{data:t,isLoading:n,error:r}=Bxe(e?{workflowId:e}:{}),[s,a]=v.useState("");return r?o.jsx(Fi,{title:"Failed to load schedules",message:r.message}):o.jsxs("div",{className:"grid grid-rows-[auto_1fr] gap-4 h-full overflow-hidden",children:[o.jsx("div",{className:"max-w-120",children:o.jsx(Of,{onSearch:a,label:"Filter schedules",placeholder:"Filter by id or workflow"})}),o.jsx("div",{className:"overflow-y-auto",children:o.jsx(tss,{schedules:t??[],isLoading:n,search:s})})]})}function rss(){const[e]=ji(),t=e.get("workflowId")??void 0,{error:n}=Bxe(t?{workflowId:t}:{});return n&&gs(n)?o.jsx(lr,{children:o.jsx(Vs,{})}):n&&ys(n)?o.jsx(lr,{children:o.jsx(Ds,{resource:"schedules"})}):o.jsx(Lt,{children:o.jsx("div",{className:"h-full",children:o.jsx(nss,{workflowId:t})})})}function sss({stepGraph:e,open:t,workflowName:n}){const{nodes:r,edges:s}=b1e({stepGraph:e}),[a,i]=v.useState(!1),[l,c,u]=Z0t(r),[d]=G0t(s),{edgeTypes:f,nodeTypes:p,styledEdges:h}=VRt({edges:d,workflowName:n,stepGraph:e});return v.useEffect(()=>{if(t){const m=setTimeout(()=>{i(!0)},500);return()=>clearTimeout(m)}},[t]),o.jsx("div",{className:"w-full h-full relative bg-surface1",children:a?o.jsxs(W0t,{nodes:l,edges:h,edgeTypes:f,fitView:!0,fitViewOptions:{maxZoom:1},minZoom:.01,maxZoom:1,nodeTypes:p,onNodesChange:u,children:[o.jsx(I_e,{position:"bottom-left"}),o.jsx(Y0t,{variant:Kv.Lines,gap:12,size:.5})]}):o.jsx("div",{className:"w-full h-full flex items-center justify-center",children:o.jsx(Gt,{})})})}function ass(){const{stepDetail:e,closeStepDetail:t}=RV();return e?o.jsxs("div",{className:"flex flex-col h-full","data-testid":"workflow-step-detail-panel",children:[o.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border1 bg-surface1",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[e.type==="map-config"&&o.jsx(Lde,{className:"w-4 h-4",style:{color:xu.map}}),e.type==="nested-graph"&&o.jsx(kd,{className:"w-4 h-4",style:{color:xu.workflow}}),o.jsxs("div",{className:"flex flex-col",children:[o.jsx(ge,{variant:"ui-md",className:"text-neutral6 font-medium",children:e.type==="map-config"?`${e.stepName} Config`:`${e.stepName} Workflow`}),e.type==="map-config"&&e.stepId&&e.stepId!==e.stepName&&o.jsx(ge,{variant:"ui-xs",className:"text-neutral3",children:e.stepId})]})]}),o.jsx("button",{onClick:t,className:"p-1 hover:bg-surface3 rounded transition-colors","aria-label":"Close",children:o.jsx(vs,{className:"w-4 h-4 text-neutral3"})})]}),o.jsxs("div",{className:"flex-1 overflow-auto",children:[e.type==="map-config"&&e.mapConfig&&o.jsx(J2,{data:e.mapConfig}),e.type==="nested-graph"&&e.nestedGraph&&o.jsx("div",{className:"h-full min-h-[400px]",children:o.jsx(y1e,{children:o.jsx(sss,{stepGraph:e.nestedGraph.stepGraph,open:!0,workflowName:e.nestedGraph.fullStep})},`nested-graph-${e.nestedGraph.fullStep}`)})]})]}):null}function iss(e){const t=new Blob([JSON.stringify(e??null)]).size;return t<1024?`${t} B`:`${(t/1024).toFixed(1)} KB`}function oss(e,t){if(e&&typeof e=="object"&&!Array.isArray(e)){const n=Object.keys(e);if(n.length===1)return n[0]}return t}function lss({suspendedSteps:e,workflow:t,isStreaming:n,onResume:r}){return n||e.length===0?null:o.jsxs("div",{className:"space-y-5 rounded-lg border border-border1 bg-surface4 p-5","data-testid":"workflow-suspended-steps",children:[o.jsxs("div",{className:"flex items-center justify-between gap-3",children:[o.jsxs(ge,{as:"p",variant:"ui-md",className:"flex items-center gap-2 text-neutral6 font-semibold",children:[o.jsx(Ue,{children:o.jsx(ZU,{})}),"Step suspended"]}),o.jsx(fn,{variant:"warning",children:"Needs input"})]}),e.map((s,a)=>{const i=t.allSteps[s.stepId];if(!i||i.isWorkflow)return null;const l=i?.resumeSchema?im(sm(mx(i.resumeSchema))):rp(ur(),nT());return o.jsx(css,{step:s,stepSchema:l,description:i.description,isStreaming:n,onResume:r},`${s.runId}-${s.stepId}-${a}`)})]})}function css({step:e,stepSchema:t,description:n,isStreaming:r,onResume:s}){const[a,i]=v.useState(!1);return o.jsxs("div",{className:"space-y-5",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(ge,{as:"p",variant:"ui-md",className:"text-neutral6 font-medium truncate",children:e.stepId}),n&&o.jsx(ge,{as:"p",variant:"ui-sm",className:"text-neutral3",children:n})]}),e.suspendPayload&&o.jsxs("div",{className:"space-y-2",children:[o.jsxs(ge,{as:"p",variant:"ui-sm",className:"flex items-center gap-2 text-neutral3",children:[o.jsx(Ue,{children:o.jsx(Vun,{})}),"The step is asking"]}),o.jsxs(Lp,{open:a,onOpenChange:i,children:[o.jsxs(mf,{className:"flex w-full items-center justify-between gap-2 rounded-lg border border-border1 bg-surface3 px-3 py-2.5",children:[o.jsxs("span",{className:"flex items-center gap-2 min-w-0",children:[o.jsx(Ue,{children:o.jsx(la,{className:K("transition-transform text-neutral3",{"transform rotate-90":a})})}),o.jsx(ge,{as:"span",variant:"ui-md",className:"text-neutral6 truncate",children:oss(e.suspendPayload,e.stepId)})]}),o.jsx(ge,{as:"span",variant:"ui-sm",className:"text-neutral3 shrink-0",children:iss(e.suspendPayload)})]}),o.jsx(gf,{children:o.jsx("div",{"data-testid":"suspended-payload",className:"pt-2",children:o.jsx(Qr,{data:e.suspendPayload,className:"w-full overflow-x-auto p-2",showCopyButton:!1})})})]})]}),o.jsxs("div",{className:"space-y-3",children:[o.jsxs(ge,{as:"p",variant:"ui-sm",className:"flex items-center gap-2 text-neutral3",children:[o.jsx(Ue,{children:o.jsx(Zun,{})}),"Your response"]}),o.jsx("div",{className:"-mx-5",children:o.jsx(C7,{schema:t,isSubmitLoading:r,submitButtonLabel:"Resume",submitButtonIcon:o.jsx(Pp,{}),submitButtonFullWidth:!0,collapsible:!1,hideHeading:!0,hideInputTypeLabel:!0,onSubmit:l=>{const c=e.stepId?.split(".");s({stepId:c,runId:e.runId,suspendPayload:e.suspendPayload,resumeData:l,isLoading:!1})}})})]})]})}function uss(){const{result:e,runSnapshot:t,workflow:n,runId:r,isStreamingWorkflow:s}=v.useContext(Rl),{runId:a}=dr(),i=rwt(e,r??""),l=nZn(),c=!!a,u=t?.status==="suspended",f=!!(a&&r&&a===r)&&e?.status==="suspended";return s||!n||i.length===0||c&&!u&&!f?null:o.jsx("div",{"data-testid":"workflow-suspended-overlay",className:"absolute top-2 right-2 z-20 w-[380px] max-w-[calc(100%-1rem)] max-h-[calc(100%-1rem)] overflow-y-auto rounded-lg shadow-lg animate-in fade-in-0 slide-in-from-top-2 zoom-in-95 duration-300",children:o.jsx(lss,{suspendedSteps:i,workflow:n,isStreaming:s,onResume:l})},r)}const dss=e=>o.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.99982 2.0625C3.8252 2.0625 2.06232 3.82538 2.06232 6C2.06232 8.17462 3.8252 9.9375 5.99982 9.9375C8.17444 9.9375 9.93732 8.17462 9.93732 6C9.93732 3.82538 8.17444 2.0625 5.99982 2.0625ZM0.937317 6C0.937317 3.20406 3.20388 0.9375 5.99982 0.9375C8.79576 0.9375 11.0623 3.20406 11.0623 6C11.0623 8.79594 8.79576 11.0625 5.99982 11.0625C3.20388 11.0625 0.937317 8.79594 0.937317 6Z",fill:"currentColor"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.97865 4.57004C8.22604 4.75795 8.27426 5.11082 8.08635 5.35821L6.05486 8.03279C5.94873 8.17251 5.78348 8.25471 5.60803 8.25505C5.43257 8.2554 5.267 8.17385 5.16032 8.03454L3.80937 6.27034C3.6205 6.02369 3.66733 5.67063 3.91398 5.48176C4.16063 5.29288 4.51369 5.33972 4.70257 5.58637L5.6051 6.76498L7.19048 4.67774C7.37839 4.43036 7.73126 4.38213 7.97865 4.57004Z",fill:"currentColor"})]}),fss=e=>o.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.99982 2.0625C3.8252 2.0625 2.06232 3.82538 2.06232 6C2.06232 8.17462 3.8252 9.9375 5.99982 9.9375C8.17444 9.9375 9.93732 8.17462 9.93732 6C9.93732 3.82538 8.17444 2.0625 5.99982 2.0625ZM0.937317 6C0.937317 3.20406 3.20388 0.9375 5.99982 0.9375C8.79576 0.9375 11.0623 3.20406 11.0623 6C11.0623 8.79594 8.79576 11.0625 5.99982 11.0625C3.20388 11.0625 0.937317 8.79594 0.937317 6Z",fill:"currentColor"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.89741 4.10293C8.11707 4.32261 8.11706 4.67877 7.89738 4.89843L6.79517 6.00058L7.8962 7.10155C8.11588 7.32122 8.11589 7.67737 7.89623 7.89705C7.67656 8.11673 7.32041 8.11674 7.10073 7.89707L5.99965 6.79605L4.89856 7.89707C4.67889 8.11673 4.32273 8.11672 4.10307 7.89704C3.88341 7.67737 3.88342 7.32121 4.10309 7.10155L5.20413 6.00058L4.10191 4.89843C3.88224 4.67877 3.88223 4.32262 4.10189 4.10294C4.32155 3.88326 4.67771 3.88325 4.89738 4.10292L5.99965 5.20511L7.10191 4.10291C7.32159 3.88325 7.67774 3.88326 7.89741 4.10293Z",fill:"currentColor"})]}),pss=e=>e.includes("."),hss=e=>e==="input"||e.endsWith(".input"),mss=1;function gss(e){return`${Number((e/1e3).toPrecision(3))}s`}function vss(e,t){const n=Object.entries(e).filter(([i])=>!hss(i));if(n.length===0)return[];const r=Math.min(...n.map(([,i])=>i.startedAt)),s=Math.max(...n.map(([,i])=>i.endedAt??t)),a=Math.max(s-r,1);return n.map(([i,l])=>{const c=l.endedAt===void 0,d=(l.endedAt??t)-l.startedAt,f=(l.startedAt-r)/a*100,p=Math.max(d/a*100,mss);return{stepId:i,step:l,status:l.status,offsetPct:f,widthPct:p,durationMs:d,isRunning:c,isNestedEntry:pss(i)}})}const yss=({status:e})=>o.jsxs(Ue,{children:[e==="success"&&o.jsx(dss,{className:"text-accent1"}),e==="failed"&&o.jsx(fss,{className:"text-accent2"}),e==="suspended"&&o.jsx(ZU,{className:"text-accent3"}),e==="waiting"&&o.jsx(Dde,{className:"text-accent5"}),e==="skipped"&&o.jsx(Dde,{className:"text-icon3"}),e==="running"&&o.jsx(ia,{className:"text-accent6 animate-spin"})]}),bss={success:"bg-accent1",failed:"bg-accent2",suspended:"bg-accent3",waiting:"bg-accent5",skipped:"bg-border1",running:"bg-accent6"};function y8t(e){return e.split(/[-_.\s]+/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}const EQe=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{value:e},xss=e=>{const t=e;return $Rt({duration:t.duration,date:t.date,isForEach:t.isForEach,mapConfig:t.mapConfig,canSuspend:t.canSuspend,isParallel:t.isParallel,stepGraph:t.stepGraph})},wss=({row:e,index:t,isSelected:n,isHovered:r,onSelectStep:s,onHoverStep:a,onOpenInput:i,onOpenOutput:l})=>{const c=xss(e.step),u=e.status==="running",d=!e.isNestedEntry;return o.jsxs("div",{role:"button",tabIndex:0,"data-testid":"workflow-timeline-row","data-workflow-step-key":e.stepId,"data-workflow-step-active":n?"true":void 0,"data-workflow-step-hovered":r?"true":void 0,"data-workflow-step-nested":e.isNestedEntry?"true":void 0,"aria-pressed":n,"aria-disabled":!d,onMouseEnter:()=>{d&&a(e.stepId)},onMouseLeave:()=>{d&&a(null)},onClick:()=>{d&&s(e.stepId)},onKeyDown:f=>{!d||f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),s(e.stepId))},className:K("grid grid-cols-[auto_auto_auto_minmax(0,10rem)_minmax(0,1fr)_auto_5rem] items-center gap-2 rounded-md border border-transparent px-2 py-1 text-left transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-accent1",d&&"cursor-pointer",d&&"hover:bg-surface4",d&&r&&!n&&"border-neutral6 bg-surface4",d&&n&&"border-accent1",e.isNestedEntry&&"cursor-default opacity-55"),children:[o.jsx("div",{className:"flex justify-center",children:o.jsx(yss,{status:e.status})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(ue,{type:"button",variant:"ghost",size:"icon-sm",tooltip:"View step input",disabled:u,className:"text-neutral3 hover:text-neutral6 disabled:cursor-not-allowed disabled:opacity-40",onClick:f=>{f.stopPropagation(),u||i(e)},children:o.jsx(Hdn,{})})}),o.jsx("div",{className:"flex overflow-hidden",children:o.jsx(JB,{indicators:c,className:"shrink-0"})}),o.jsx(ge,{as:"span",variant:"ui-sm",className:"block min-w-0 max-w-full justify-self-stretch overflow-hidden text-ellipsis whitespace-nowrap text-left text-neutral6",children:y8t(e.stepId)}),o.jsx("div",{className:"relative h-2 min-w-0 rounded bg-surface4",children:o.jsx("div",{"data-testid":"workflow-timeline-bar","data-offset":String(e.offsetPct),"data-width":String(e.widthPct),className:`absolute top-0 h-full rounded ${bss[e.status]}`,style:{left:`${e.offsetPct}%`,width:`${e.widthPct}%`}})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(ue,{type:"button",variant:"ghost",size:"icon-sm",tooltip:"View step output",disabled:u,className:"text-neutral3 hover:text-neutral6 disabled:cursor-not-allowed disabled:opacity-40",onClick:f=>{f.stopPropagation(),u||l(e)},children:o.jsx(qdn,{})})}),o.jsx(ge,{as:"span",variant:"ui-sm",className:"w-20 justify-self-end text-right text-neutral3 tabular-nums",children:gss(e.durationMs)})]},`timeline-item-${e.stepId}-${t}`)};function Sss(){const{steps:e}=JD(),{selectedStepId:t,hoverStepId:n,setSelectedStepId:r,setHoverStepId:s}=Vq(),[a,i]=v.useState(()=>Date.now()),[l,c]=v.useState(!1),[u,d]=v.useState(null),f=v.useRef(null);Qxe(f,{enabled:!l});const p=vss(e,a),h=p.some(m=>m.isRunning);return v.useEffect(()=>{if(!h)return;const m=setInterval(()=>i(Date.now()),100);return()=>clearInterval(m)},[h]),v.useEffect(()=>{if(l||p.length===0)return;const m=f.current;m&&(m.scrollTop=m.scrollHeight)},[l,p.length]),p.length===0?null:o.jsxs(o.Fragment,{children:[o.jsx("div",{"data-testid":"workflow-timeline",className:"pointer-events-none absolute right-0 bottom-0 z-20 px-2 pb-2",style:{left:"var(--workflow-left-panel-width, 0px)"},children:o.jsxs("div",{className:"pointer-events-auto flex max-h-64 w-full min-w-0 flex-col gap-3 overflow-hidden rounded-studio-panel border border-border1/50 bg-surface3 p-4 shadow-lg",children:[o.jsxs("div",{className:"flex shrink-0 items-center justify-between gap-3",children:[o.jsx(ge,{as:"p",variant:"ui-md",className:"text-neutral3",children:"Timeline"}),o.jsx("button",{type:"button","aria-label":l?"Expand timeline":"Collapse timeline","aria-expanded":!l,onClick:()=>c(m=>!m),className:"rounded-md p-1 text-neutral3 transition-colors hover:bg-surface4 hover:text-neutral6",children:o.jsx(Na,{className:K("h-4 w-4 transition-transform",l&&"-rotate-90")})})]}),!l&&o.jsx("div",{ref:f,"data-testid":"workflow-timeline-list",className:"flex min-h-0 flex-col gap-2 overflow-y-auto",children:p.map((m,g)=>o.jsx(wss,{row:m,index:g,isSelected:t===m.stepId,isHovered:n===m.stepId,onSelectStep:r,onHoverStep:s,onOpenInput:y=>d({type:"input",stepId:y.stepId,data:EQe(y.step.input)}),onOpenOutput:y=>d({type:"output",stepId:y.stepId,data:EQe(y.step.output)})},`timeline-item-${m.stepId}-${g}`))})]})}),o.jsx(br,{open:!!u,onOpenChange:m=>!m&&d(null),children:u&&o.jsx(awt,{data:u.data,title:`${y8t(u.stepId)} ${u.type==="input"?"input":"output"}`})})]})}const kss=({workflowId:e,workflow:t,isLoading:n})=>{const{stepDetail:r}=RV();return o.jsxs("div",{className:"flex h-full min-h-0",children:[o.jsx("div",{className:"flex h-full min-h-0 flex-1 flex-col",children:o.jsxs("div",{className:"relative min-h-0 flex-1 p-2 pb-0",children:[o.jsx(KRt,{workflowId:e,workflow:t,isLoading:n}),o.jsx(uss,{}),o.jsx(Sss,{})]})}),r&&o.jsx("div",{className:"w-[420px] min-h-0 overflow-hidden border-l border-border1",children:o.jsx(ass,{})})]})},jQe=()=>{const{workflowId:e}=dr(),{data:t,isLoading:n,error:r}=hD(e);return r&&gs(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Vs,{})}):r&&ys(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ds,{resource:"workflows"})}):o.jsx(L1e,{children:o.jsx(kss,{workflowId:e,workflow:t??void 0,isLoading:n})})};function Oss(e,t){if(e==null)return{};var n,r,s=cbt(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}function Pve(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function _ss(e){if(Array.isArray(e))return Pve(e)}function Css(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Ess(e,t){if(e){if(typeof e=="string")return Pve(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Pve(e,t):void 0}}function jss(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
728
728
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $ve(e){return _ss(e)||Css(e)||Ess(e)||jss()}function YM(e){"@babel/helpers - typeof";return YM=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},YM(e)}function Tss(e,t){if(YM(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(YM(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Nss(e){var t=Tss(e,"string");return YM(t)=="symbol"?t:t+""}function b8t(e,t,n){return(t=Nss(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function TQe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function KE(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?TQe(Object(n),!0).forEach(function(r){b8t(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):TQe(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Iss(e){var t=e.length;if(t===0||t===1)return e;if(t===2)return[e[0],e[1],"".concat(e[0],".").concat(e[1]),"".concat(e[1],".").concat(e[0])];if(t===3)return[e[0],e[1],e[2],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0])];if(t>=4)return[e[0],e[1],e[2],e[3],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[2],".").concat(e[3]),"".concat(e[3],".").concat(e[0]),"".concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[0]),"".concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[3],".").concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[2],".").concat(e[1],".").concat(e[0])]}var Yre={};function Ass(e){if(e.length===0||e.length===1)return e;var t=e.join(".");return Yre[t]||(Yre[t]=Iss(e)),Yre[t]}function Rss(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=e.filter(function(a){return a!=="token"}),s=Ass(r);return s.reduce(function(a,i){return KE(KE({},a),n[i])},t)}function NQe(e){return e.join(" ")}function Pss(e,t){var n=0;return function(r){return n+=1,r.map(function(s,a){return x8t({node:s,stylesheet:e,useInlineStyles:t,key:"code-segment-".concat(n,"-").concat(a)})})}}function x8t(e){var t=e.node,n=e.stylesheet,r=e.style,s=r===void 0?{}:r,a=e.useInlineStyles,i=e.key,l=t.properties,c=t.type,u=t.tagName,d=t.value;if(c==="text")return d;if(u){var f=Pss(n,a),p;if(!a)p=KE(KE({},l),{},{className:NQe(l.className)});else{var h=Object.keys(n).reduce(function(b,w){return w.split(".").forEach(function(S){b.includes(S)||b.push(S)}),b},[]),m=l.className&&l.className.includes("token")?["token"]:[],g=l.className&&m.concat(l.className.filter(function(b){return!h.includes(b)}));p=KE(KE({},l),{},{className:NQe(g)||void 0,style:Rss(l.className,Object.assign({},l.style,s),n)})}var y=f(t.children);return Le.createElement(u,EO({key:i},p),y)}}const $ss=(function(e,t){var n=e.listLanguages();return n.indexOf(t)!==-1});var Mss=["language","children","style","customStyle","codeTagProps","useInlineStyles","showLineNumbers","showInlineLineNumbers","startingLineNumber","lineNumberContainerStyle","lineNumberStyle","wrapLines","wrapLongLines","lineProps","renderer","PreTag","CodeTag","code","astGenerator"];function IQe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function Sw(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?IQe(Object(n),!0).forEach(function(r){b8t(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):IQe(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var Dss=/\n/g;function Lss(e){return e.match(Dss)}function Fss(e){var t=e.lines,n=e.startingLineNumber,r=e.style;return t.map(function(s,a){var i=a+n;return Le.createElement("span",{key:"line-".concat(a),className:"react-syntax-highlighter-line-number",style:typeof r=="function"?r(i):r},"".concat(i,`
|
|
729
729
|
`))})}function zss(e){var t=e.codeString,n=e.codeStyle,r=e.containerStyle,s=r===void 0?{float:"left",paddingRight:"10px"}:r,a=e.numberStyle,i=a===void 0?{}:a,l=e.startingLineNumber;return Le.createElement("code",{style:Object.assign({},n,s)},Fss({lines:t.replace(/\n$/,"").split(`
|
|
730
730
|
`),style:i,startingLineNumber:l}))}function Bss(e){return"".concat(e.toString().length,".25em")}function w8t(e,t){return{type:"element",tagName:"span",properties:{key:"line-number--".concat(e),className:["comment","linenumber","react-syntax-highlighter-line-number"],style:t},children:[{type:"text",value:e}]}}function S8t(e,t,n){var r={display:"inline-block",minWidth:Bss(n),paddingRight:"1em",textAlign:"right",userSelect:"none"},s=typeof e=="function"?e(t):e,a=Sw(Sw({},r),s);return a}function pF(e){var t=e.children,n=e.lineNumber,r=e.lineNumberStyle,s=e.largestLineNumber,a=e.showInlineLineNumbers,i=e.lineProps,l=i===void 0?{}:i,c=e.className,u=c===void 0?[]:c,d=e.showLineNumbers,f=e.wrapLongLines,p=e.wrapLines,h=p===void 0?!1:p,m=h?Sw({},typeof l=="function"?l(n):l):{};if(m.className=m.className?[].concat($ve(m.className.trim().split(/\s+/)),$ve(u)):u,n&&a){var g=S8t(r,n,s);t.unshift(w8t(n,g))}return f&d&&(m.style=Sw({display:"flex"},m.style)),{type:"element",tagName:"span",properties:m,children:t}}function k8t(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],r=0;r<e.length;r++){var s=e[r];if(s.type==="text")n.push(pF({children:[s],className:$ve(new Set(t))}));else if(s.children){var a=t.concat(s.properties.className);k8t(s.children,a).forEach(function(i){return n.push(i)})}}return n}function Uss(e,t,n,r,s,a,i,l,c){var u,d=k8t(e.value),f=[],p=-1,h=0;function m(_,C){var E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return pF({children:_,lineNumber:C,lineNumberStyle:l,largestLineNumber:i,showInlineLineNumbers:s,lineProps:n,className:E,showLineNumbers:r,wrapLongLines:c,wrapLines:t})}function g(_,C){if(r&&C&&s){var E=S8t(l,C,i);_.unshift(w8t(C,E))}return _}function y(_,C){var E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return t||E.length>0?m(_,C,E):g(_,C)}for(var b=function(){var C=d[h],E=C.children[0].value,j=Lss(E);if(j){var N=E.split(`
|