agentv 4.34.1-next.1 → 4.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{artifact-writer-UWZX5JKX.js → artifact-writer-G57MG52C.js} +3 -3
- package/dist/{chunk-4Y6LH2Q5.js → chunk-6NMAI6I6.js} +17 -6
- package/dist/{chunk-4Y6LH2Q5.js.map → chunk-6NMAI6I6.js.map} +1 -1
- package/dist/{chunk-GPRZ7XSC.js → chunk-KJGYL3M3.js} +2 -2
- package/dist/{chunk-KP4SPQ2M.js → chunk-KNF3AGCI.js} +24 -22
- package/dist/chunk-KNF3AGCI.js.map +1 -0
- package/dist/{chunk-HRN7BFMP.js → chunk-Q6LNXSP2.js} +131 -11
- package/dist/chunk-Q6LNXSP2.js.map +1 -0
- package/dist/cli.js +4 -4
- package/dist/dashboard/assets/{index-B4alzfKh.js → index-BWO0UcxG.js} +1 -1
- package/dist/dashboard/assets/{index-CM9L4pya.js → index-Bdk-9a_8.js} +1 -1
- package/dist/dashboard/index.html +1 -1
- package/dist/{dist-Z5VWSDOO.js → dist-M4B77IW4.js} +2 -2
- package/dist/index.js +4 -4
- package/dist/{interactive-VQPUNWH2.js → interactive-GFD5XV35.js} +4 -4
- package/package.json +1 -1
- package/dist/chunk-HRN7BFMP.js.map +0 -1
- package/dist/chunk-KP4SPQ2M.js.map +0 -1
- /package/dist/{artifact-writer-UWZX5JKX.js.map → artifact-writer-G57MG52C.js.map} +0 -0
- /package/dist/{chunk-GPRZ7XSC.js.map → chunk-KJGYL3M3.js.map} +0 -0
- /package/dist/{dist-Z5VWSDOO.js.map → dist-M4B77IW4.js.map} +0 -0
- /package/dist/{interactive-VQPUNWH2.js.map → interactive-GFD5XV35.js.map} +0 -0
|
@@ -115,4 +115,4 @@ Project: ${y.project_name}`,children:m.jsx(gx,{display:x})},`${y.project_id}/${y
|
|
|
115
115
|
*
|
|
116
116
|
* This source code is licensed under the MIT license found in the
|
|
117
117
|
* LICENSE file in the root directory of this source tree.
|
|
118
|
-
*/var CT;function wZ(){if(CT)return tt;CT=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),o=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),d=Symbol.for("react.suspense_list"),p=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),y=Symbol.for("react.view_transition"),x=Symbol.for("react.client.reference");function S(j){if(typeof j=="object"&&j!==null){var O=j.$$typeof;switch(O){case e:switch(j=j.type,j){case r:case i:case n:case f:case d:case y:return j;default:switch(j=j&&j.$$typeof,j){case o:case c:case v:case p:return j;case l:return j;default:return O}}case t:return O}}}return tt.ContextConsumer=l,tt.ContextProvider=o,tt.Element=e,tt.ForwardRef=c,tt.Fragment=r,tt.Lazy=v,tt.Memo=p,tt.Portal=t,tt.Profiler=i,tt.StrictMode=n,tt.Suspense=f,tt.SuspenseList=d,tt.isContextConsumer=function(j){return S(j)===l},tt.isContextProvider=function(j){return S(j)===o},tt.isElement=function(j){return typeof j=="object"&&j!==null&&j.$$typeof===e},tt.isForwardRef=function(j){return S(j)===c},tt.isFragment=function(j){return S(j)===r},tt.isLazy=function(j){return S(j)===v},tt.isMemo=function(j){return S(j)===p},tt.isPortal=function(j){return S(j)===t},tt.isProfiler=function(j){return S(j)===i},tt.isStrictMode=function(j){return S(j)===n},tt.isSuspense=function(j){return S(j)===f},tt.isSuspenseList=function(j){return S(j)===d},tt.isValidElementType=function(j){return typeof j=="string"||typeof j=="function"||j===r||j===i||j===n||j===f||j===d||typeof j=="object"&&j!==null&&(j.$$typeof===v||j.$$typeof===p||j.$$typeof===o||j.$$typeof===l||j.$$typeof===c||j.$$typeof===x||j.getModuleId!==void 0)},tt.typeOf=S,tt}var MT;function OZ(){return MT||(MT=1,L0.exports=wZ()),L0.exports}var NZ=OZ(),RT=e=>typeof e=="string"?e:e?e.displayName||e.name||"Component":"",DT=null,z0=null,_3=e=>{if(e===DT&&Array.isArray(z0))return z0;var t=[];return w.Children.forEach(e,r=>{mt(r)||(NZ.isFragment(r)?t=t.concat(_3(r.props.children)):t.push(r))}),z0=t,DT=e,t};function _Z(e,t){var r=[],n=[];return Array.isArray(t)?n=t.map(i=>RT(i)):n=[RT(t)],_3(e).forEach(i=>{var l=$o(i,"type.displayName")||$o(i,"type.name");l&&n.indexOf(l)!==-1&&r.push(i)}),r}var E3=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0,$0={},kT;function EZ(){return kT||(kT=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){var i;if(typeof r!="object"||r==null)return!1;if(Object.getPrototypeOf(r)===null)return!0;if(Object.prototype.toString.call(r)!=="[object Object]"){const l=r[Symbol.toStringTag];return l==null||!((i=Object.getOwnPropertyDescriptor(r,Symbol.toStringTag))!=null&&i.writable)?!1:r.toString()===`[object ${l}]`}let n=r;for(;Object.getPrototypeOf(n)!==null;)n=Object.getPrototypeOf(n);return Object.getPrototypeOf(r)===n}e.isPlainObject=t})($0)),$0}var B0,IT;function AZ(){return IT||(IT=1,B0=EZ().isPlainObject),B0}var PZ=AZ();const TZ=rs(PZ);var LT,zT,$T,BT,UT;function qT(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function HT(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?qT(Object(r),!0).forEach(function(n){CZ(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):qT(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function CZ(e,t,r){return(t=MZ(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function MZ(e){var t=RZ(e,"string");return typeof t=="symbol"?t:t+""}function RZ(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Sm(){return Sm=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Sm.apply(null,arguments)}function yc(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var FT=(e,t,r,n,i)=>{var l=r-n,o;return o=bt(LT||(LT=yc(["M ",",",""])),e,t),o+=bt(zT||(zT=yc(["L ",",",""])),e+r,t),o+=bt($T||($T=yc(["L ",",",""])),e+r-l/2,t+i),o+=bt(BT||(BT=yc(["L ",",",""])),e+r-l/2-n,t+i),o+=bt(UT||(UT=yc(["L ",","," Z"])),e,t),o},DZ={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},kZ=e=>{var t=lr(e,DZ),{x:r,y:n,upperWidth:i,lowerWidth:l,height:o,className:c}=t,{animationEasing:f,animationDuration:d,animationBegin:p,isUpdateAnimationActive:v}=t,y=w.useRef(null),[x,S]=w.useState(-1),j=w.useRef(i),O=w.useRef(l),N=w.useRef(o),P=w.useRef(r),E=w.useRef(n),A=lp(e,"trapezoid-");if(w.useEffect(()=>{if(y.current&&y.current.getTotalLength)try{var Q=y.current.getTotalLength();Q&&S(Q)}catch{}},[]),r!==+r||n!==+n||i!==+i||l!==+l||o!==+o||i===0&&l===0||o===0)return null;var T=Xe("recharts-trapezoid",c);if(!v)return w.createElement("g",null,w.createElement("path",Sm({},Or(t),{className:T,d:FT(r,n,i,l,o)})));var M=j.current,R=O.current,I=N.current,z=P.current,D=E.current,H="0px ".concat(x===-1?1:x,"px"),q="".concat(x,"px ").concat(x,"px"),ae=LR(["strokeDasharray"],d,f);return w.createElement(sp,{animationId:A,key:A,canBegin:x>0,duration:d,easing:f,isActive:v,begin:p},Q=>{var Z=St(M,i,Q),B=St(R,l,Q),K=St(I,o,Q),ee=St(z,r,Q),se=St(D,n,Q);y.current&&(j.current=Z,O.current=B,N.current=K,P.current=ee,E.current=se);var ue=Q>0?{transition:ae,strokeDasharray:q}:{strokeDasharray:H};return w.createElement("path",Sm({},Or(t),{className:T,d:FT(ee,se,Z,B,K),ref:y,style:HT(HT({},ue),t.style)}))})},IZ=["option","shapeType","activeClassName","inActiveClassName"];function LZ(e,t){if(e==null)return{};var r,n,i=zZ(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function zZ(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function KT(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function jm(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?KT(Object(r),!0).forEach(function(n){$Z(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):KT(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function $Z(e,t,r){return(t=BZ(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function BZ(e){var t=UZ(e,"string");return typeof t=="symbol"?t:t+""}function UZ(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function qZ(e,t){return jm(jm({},t),e)}function HZ(e,t){return e==="symbols"}function GT(e){var{shapeType:t,elementProps:r}=e;switch(t){case"rectangle":return w.createElement(UR,r);case"trapezoid":return w.createElement(kZ,r);case"sector":return w.createElement(FR,r);case"symbols":if(HZ(t))return w.createElement(Jb,r);break;case"curve":return w.createElement(IR,r);default:return null}}function FZ(e){return w.isValidElement(e)?e.props:e}function A3(e){var{option:t,shapeType:r,activeClassName:n="recharts-active-shape",inActiveClassName:i="recharts-shape"}=e,l=LZ(e,IZ),o;if(w.isValidElement(t))o=w.cloneElement(t,jm(jm({},l),FZ(t)));else if(typeof t=="function")o=t(l,l.index);else if(TZ(t)&&typeof t!="boolean"){var c=qZ(t,l);o=w.createElement(GT,{shapeType:r,elementProps:c})}else{var f=l;o=w.createElement(GT,{shapeType:r,elementProps:f})}return l.isActive?w.createElement(tn,{className:n},o):w.createElement(tn,{className:i},o)}var P3=(e,t,r)=>{var n=ct();return(i,l)=>o=>{e==null||e(i,l,o),n(ID({activeIndex:String(l),activeDataKey:t,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:r}))}},T3=e=>{var t=ct();return(r,n)=>i=>{e==null||e(r,n,i),t(lV())}},C3=(e,t,r)=>{var n=ct();return(i,l)=>o=>{e==null||e(i,l,o),n(oV({activeIndex:String(l),activeDataKey:t,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:r}))}};function M3(e){var{tooltipEntrySettings:t}=e,r=ct(),n=yr(),i=w.useRef(null);return w.useLayoutEffect(()=>{n||(i.current===null?r(nV(t)):i.current!==t&&r(aV({prev:i.current,next:t})),i.current=t)},[t,r,n]),w.useLayoutEffect(()=>()=>{i.current&&(r(iV(i.current)),i.current=null)},[r]),null}function R3(e){var{legendPayload:t}=e,r=ct(),n=yr(),i=w.useRef(null);return w.useLayoutEffect(()=>{n||(i.current===null?r(Y9(t)):i.current!==t&&r(V9({prev:i.current,next:t})),i.current=t)},[r,n,t]),w.useLayoutEffect(()=>()=>{i.current&&(r(Q9(i.current)),i.current=null)},[r]),null}var U0,KZ=()=>{var[e]=w.useState(()=>kc("uid-"));return e},GZ=(U0=wL.useId)!==null&&U0!==void 0?U0:KZ;function YZ(e,t){var r=GZ();return t||(e?"".concat(e,"-").concat(r):r)}var VZ=w.createContext(void 0),D3=e=>{var{id:t,type:r,children:n}=e,i=YZ("recharts-".concat(r),t);return w.createElement(VZ.Provider,{value:i},n(i))},QZ={cartesianItems:[],polarItems:[]},k3=vr({name:"graphicalItems",initialState:QZ,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(t.payload)},prepare:lt()},replaceCartesianGraphicalItem:{reducer(e,t){var{prev:r,next:n}=t.payload,i=jn(e).cartesianItems.indexOf(r);i>-1&&(e.cartesianItems[i]=n)},prepare:lt()},removeCartesianGraphicalItem:{reducer(e,t){var r=jn(e).cartesianItems.indexOf(t.payload);r>-1&&e.cartesianItems.splice(r,1)},prepare:lt()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(t.payload)},prepare:lt()},removePolarGraphicalItem:{reducer(e,t){var r=jn(e).polarItems.indexOf(t.payload);r>-1&&e.polarItems.splice(r,1)},prepare:lt()},replacePolarGraphicalItem:{reducer(e,t){var{prev:r,next:n}=t.payload,i=jn(e).polarItems.indexOf(r);i>-1&&(e.polarItems[i]=n)},prepare:lt()}}}),{addCartesianGraphicalItem:XZ,replaceCartesianGraphicalItem:ZZ,removeCartesianGraphicalItem:WZ,addPolarGraphicalItem:nie,removePolarGraphicalItem:aie,replacePolarGraphicalItem:iie}=k3.actions,JZ=k3.reducer,eW=e=>{var t=ct(),r=w.useRef(null);return w.useLayoutEffect(()=>{r.current===null?t(XZ(e)):r.current!==e&&t(ZZ({prev:r.current,next:e})),r.current=e},[t,e]),w.useLayoutEffect(()=>()=>{r.current&&(t(WZ(r.current)),r.current=null)},[t]),null},I3=w.memo(eW),tW=["points"];function YT(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function q0(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?YT(Object(r),!0).forEach(function(n){rW(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):YT(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function rW(e,t,r){return(t=nW(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function nW(e){var t=aW(e,"string");return typeof t=="symbol"?t:t+""}function aW(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function wm(){return wm=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},wm.apply(null,arguments)}function iW(e,t){if(e==null)return{};var r,n,i=sW(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function sW(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function lW(e){var{option:t,dotProps:r,className:n}=e;if(w.isValidElement(t))return w.cloneElement(t,r);if(typeof t=="function")return t(r);var i=Xe(n,typeof t!="boolean"?t.className:""),l=r??{},{points:o}=l,c=iW(l,tW);return w.createElement(O3,wm({},c,{className:i}))}function oW(e,t){return e==null?!1:t?!0:e.length===1}function uW(e){var{points:t,dot:r,className:n,dotClassName:i,dataKey:l,baseProps:o,needClip:c,clipPathId:f,zIndex:d=Kt.scatter}=e;if(!oW(t,r))return null;var p=E3(r),v=RB(r),y=t.map((S,j)=>{var O,N,P=q0(q0(q0({r:3},o),v),{},{index:j,cx:(O=S.x)!==null&&O!==void 0?O:void 0,cy:(N=S.y)!==null&&N!==void 0?N:void 0,dataKey:l,value:S.value,payload:S.payload,points:t});return w.createElement(lW,{key:"dot-".concat(j),option:r,dotProps:P,className:i})}),x={};return c&&f!=null&&(x.clipPath="url(#clipPath-".concat(p?"":"dots-").concat(f,")")),w.createElement(_n,{zIndex:d},w.createElement(tn,wm({className:n},x),y))}function VT(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function QT(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?VT(Object(r),!0).forEach(function(n){cW(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):VT(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function cW(e,t,r){return(t=fW(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function fW(e){var t=dW(e,"string");return typeof t=="symbol"?t:t+""}function dW(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var L3=0,hW={xAxis:{},yAxis:{},zAxis:{}},z3=vr({name:"cartesianAxis",initialState:hW,reducers:{addXAxis:{reducer(e,t){e.xAxis[t.payload.id]=t.payload},prepare:lt()},replaceXAxis:{reducer(e,t){var{prev:r,next:n}=t.payload;e.xAxis[r.id]!==void 0&&(r.id!==n.id&&delete e.xAxis[r.id],e.xAxis[n.id]=n)},prepare:lt()},removeXAxis:{reducer(e,t){delete e.xAxis[t.payload.id]},prepare:lt()},addYAxis:{reducer(e,t){e.yAxis[t.payload.id]=t.payload},prepare:lt()},replaceYAxis:{reducer(e,t){var{prev:r,next:n}=t.payload;e.yAxis[r.id]!==void 0&&(r.id!==n.id&&delete e.yAxis[r.id],e.yAxis[n.id]=n)},prepare:lt()},removeYAxis:{reducer(e,t){delete e.yAxis[t.payload.id]},prepare:lt()},addZAxis:{reducer(e,t){e.zAxis[t.payload.id]=t.payload},prepare:lt()},replaceZAxis:{reducer(e,t){var{prev:r,next:n}=t.payload;e.zAxis[r.id]!==void 0&&(r.id!==n.id&&delete e.zAxis[r.id],e.zAxis[n.id]=n)},prepare:lt()},removeZAxis:{reducer(e,t){delete e.zAxis[t.payload.id]},prepare:lt()},updateYAxisWidth(e,t){var{id:r,width:n}=t.payload,i=e.yAxis[r];if(i){var l,o=i.widthHistory||[];if(o.length===3&&o[0]===o[2]&&n===o[1]&&n!==i.width&&Math.abs(n-((l=o[0])!==null&&l!==void 0?l:0))<=1)return;var c=[...o,n].slice(-3);e.yAxis[r]=QT(QT({},i),{},{width:n,widthHistory:c})}}}}),{addXAxis:mW,replaceXAxis:pW,removeXAxis:vW,addYAxis:yW,replaceYAxis:gW,removeYAxis:xW,addZAxis:sie,replaceZAxis:lie,removeZAxis:oie,updateYAxisWidth:bW}=z3.actions,SW=z3.reducer,jW=V([Yt],e=>({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),wW=V([jW,Za,Wa],(e,t,r)=>{if(!(!e||t==null||r==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,r-e.top-e.bottom)}}),bj=()=>ge(wW),OW=()=>ge(nQ);function XT(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function H0(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?XT(Object(r),!0).forEach(function(n){NW(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):XT(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function NW(e,t,r){return(t=_W(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _W(e){var t=EW(e,"string");return typeof t=="symbol"?t:t+""}function EW(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var AW=e=>{var{point:t,childIndex:r,mainColor:n,activeDot:i,dataKey:l,clipPath:o}=e;if(i===!1||t.x==null||t.y==null)return null;var c={index:r,dataKey:l,cx:t.x,cy:t.y,r:4,fill:n??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},f=H0(H0(H0({},c),lf(i)),eS(i)),d;return w.isValidElement(i)?d=w.cloneElement(i,f):typeof i=="function"?d=i(f):d=w.createElement(O3,f),w.createElement(tn,{className:"recharts-active-dot",clipPath:o},d)};function PW(e){var{points:t,mainColor:r,activeDot:n,itemDataKey:i,clipPath:l,zIndex:o=Kt.activeDot}=e,c=ge(ll),f=OW();if(t==null||f==null)return null;var d=t.find(p=>f.includes(p.payload));return mt(d)?null:w.createElement(_n,{zIndex:o},w.createElement(AW,{point:d,childIndex:Number(c),mainColor:r,dataKey:i,activeDot:n,clipPath:l}))}var ZT=(e,t,r)=>{var n=r??e;if(!mt(n))return In(n,t,0)},TW=(e,t,r)=>{var n={},i=e.filter(hp),l=e.filter(d=>d.stackId==null),o=i.reduce((d,p)=>{var v=d[p.stackId];return v==null&&(v=[]),v.push(p),d[p.stackId]=v,d},n),c=Object.entries(o).map(d=>{var p,[v,y]=d,x=y.map(j=>j.dataKey),S=ZT(t,r,(p=y[0])===null||p===void 0?void 0:p.barSize);return{stackId:v,dataKeys:x,barSize:S}}),f=l.map(d=>{var p=[d.dataKey].filter(y=>y!=null),v=ZT(t,r,d.barSize);return{stackId:void 0,dataKeys:p,barSize:v}});return[...c,...f]};function WT(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function uh(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?WT(Object(r),!0).forEach(function(n){CW(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):WT(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function CW(e,t,r){return(t=MW(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function MW(e){var t=RW(e,"string");return typeof t=="symbol"?t:t+""}function RW(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function DW(e,t,r,n,i){var l,o=n.length;if(!(o<1)){var c=In(e,r,0,!0),f,d=[];if(Be((l=n[0])===null||l===void 0?void 0:l.barSize)){var p=!1,v=r/o,y=n.reduce((P,E)=>P+(E.barSize||0),0);y+=(o-1)*c,y>=r&&(y-=(o-1)*c,c=0),y>=r&&v>0&&(p=!0,v*=.9,y=o*v);var x=(r-y)/2>>0,S={offset:x-c,size:0};f=n.reduce((P,E)=>{var A,T={stackId:E.stackId,dataKeys:E.dataKeys,position:{offset:S.offset+S.size+c,size:p?v:(A=E.barSize)!==null&&A!==void 0?A:0}},M=[...P,T];return S=T.position,M},d)}else{var j=In(t,r,0,!0);r-2*j-(o-1)*c<=0&&(c=0);var O=(r-2*j-(o-1)*c)/o;O>1&&(O>>=0);var N=Be(i)?Math.min(O,i):O;f=n.reduce((P,E,A)=>[...P,{stackId:E.stackId,dataKeys:E.dataKeys,position:{offset:j+(O+c)*A+(O-N)/2,size:N}}],d)}return f}}var kW=(e,t,r,n,i,l,o)=>{var c=mt(o)?t:o,f=DW(r,n,i!==l?i:l,e,c);return i!==l&&f!=null&&(f=f.map(d=>uh(uh({},d),{},{position:uh(uh({},d.position),{},{offset:d.position.offset-i/2})}))),f},IW=(e,t)=>{var r=ES(t);if(!(!e||r==null||t==null)){var{stackId:n}=t;if(n!=null){var i=e[n];if(i){var{stackedData:l}=i;if(l)return l.find(o=>o.key===r)}}}},LW=(e,t)=>{if(!(e==null||t==null)){var r=e.find(n=>n.stackId===t.stackId&&t.dataKey!=null&&n.dataKeys.includes(t.dataKey));if(r!=null)return r.position}};function zW(e,t){return e&&typeof e=="object"&&"zIndex"in e&&typeof e.zIndex=="number"&&Be(e.zIndex)?e.zIndex:t}var $W=e=>{var{chartData:t}=e,r=ct(),n=yr();return w.useEffect(()=>n?()=>{}:(r(dT(t)),()=>{r(dT(void 0))}),[t,r,n]),null},JT={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},$3=vr({name:"brush",initialState:JT,reducers:{setBrushSettings(e,t){return t.payload==null?JT:t.payload}}}),{setBrushSettings:uie}=$3.actions,BW=$3.reducer;function UW(e){return(e%180+180)%180}var qW=function(t){var{width:r,height:n}=t,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,l=UW(i),o=l*Math.PI/180,c=Math.atan(n/r),f=o>c&&o<Math.PI-c?n/Math.sin(o):r/Math.cos(o);return Math.abs(f)},HW={dots:[],areas:[],lines:[]},B3=vr({name:"referenceElements",initialState:HW,reducers:{addDot:(e,t)=>{e.dots.push(t.payload)},removeDot:(e,t)=>{var r=jn(e).dots.findIndex(n=>n===t.payload);r!==-1&&e.dots.splice(r,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var r=jn(e).areas.findIndex(n=>n===t.payload);r!==-1&&e.areas.splice(r,1)},addLine:(e,t)=>{e.lines.push(t.payload)},removeLine:(e,t)=>{var r=jn(e).lines.findIndex(n=>n===t.payload);r!==-1&&e.lines.splice(r,1)}}}),{addDot:cie,removeDot:fie,addArea:die,removeArea:hie,addLine:mie,removeLine:pie}=B3.actions,FW=B3.reducer,KW=w.createContext(void 0),GW=e=>{var{children:t}=e,[r]=w.useState("".concat(kc("recharts"),"-clip")),n=bj();if(n==null)return null;var{x:i,y:l,width:o,height:c}=n;return w.createElement(KW.Provider,{value:r},w.createElement("defs",null,w.createElement("clipPath",{id:r},w.createElement("rect",{x:i,y:l,height:c,width:o}))),t)};function U3(e,t){if(t<1)return[];if(t===1)return e;for(var r=[],n=0;n<e.length;n+=t){var i=e[n];i!==void 0&&r.push(i)}return r}function YW(e,t,r){var n={width:e.width+t.width,height:e.height+t.height};return qW(n,r)}function VW(e,t,r){var n=r==="width",{x:i,y:l,width:o,height:c}=e;return t===1?{start:n?i:l,end:n?i+o:l+c}:{start:n?i+o:l+c,end:n?i:l}}function Qc(e,t,r,n,i){if(e*t<e*n||e*t>e*i)return!1;var l=r();return e*(t-e*l/2-n)>=0&&e*(t+e*l/2-i)<=0}function QW(e,t){return U3(e,t+1)}function XW(e,t,r,n,i){for(var l=(n||[]).slice(),{start:o,end:c}=t,f=0,d=1,p=o,v=function(){var S=n==null?void 0:n[f];if(S===void 0)return{v:U3(n,d)};var j=f,O,N=()=>(O===void 0&&(O=r(S,j)),O),P=S.coordinate,E=f===0||Qc(e,P,N,p,c);E||(f=0,p=o,d+=1),E&&(p=P+e*(N()/2+i),f+=d)},y;d<=l.length;)if(y=v(),y)return y.v;return[]}function ZW(e,t,r,n,i){var l=(n||[]).slice(),o=l.length;if(o===0)return[];for(var{start:c,end:f}=t,d=1;d<=o;d++){for(var p=(o-1)%d,v=c,y=!0,x=function(){var A=n[j];if(A==null)return 0;var T=j,M,R=()=>(M===void 0&&(M=r(A,T)),M),I=A.coordinate,z=j===p||Qc(e,I,R,v,f);if(!z)return y=!1,1;z&&(v=I+e*(R()/2+i))},S,j=p;j<o&&(S=x(),!(S!==0&&S===1));j+=d);if(y){for(var O=[],N=p;N<o;N+=d){var P=n[N];P!=null&&O.push(P)}return O}}return[]}function eC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function dr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?eC(Object(r),!0).forEach(function(n){WW(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):eC(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function WW(e,t,r){return(t=JW(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function JW(e){var t=eJ(e,"string");return typeof t=="symbol"?t:t+""}function eJ(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function tJ(e,t,r,n,i){for(var l=(n||[]).slice(),o=l.length,{start:c}=t,{end:f}=t,d=function(y){var x=l[y];if(x==null)return 1;var S=x,j,O=()=>(j===void 0&&(j=r(x,y)),j);if(y===o-1){var N=e*(S.coordinate+e*O()/2-f);l[y]=S=dr(dr({},S),{},{tickCoord:N>0?S.coordinate-N*e:S.coordinate})}else l[y]=S=dr(dr({},S),{},{tickCoord:S.coordinate});if(S.tickCoord!=null){var P=Qc(e,S.tickCoord,O,c,f);P&&(f=S.tickCoord-e*(O()/2+i),l[y]=dr(dr({},S),{},{isShow:!0}))}},p=o-1;p>=0;p--)d(p);return l}function rJ(e,t,r,n,i,l){var o=(n||[]).slice(),c=o.length,{start:f,end:d}=t;if(l){var p=n[c-1];if(p!=null){var v=r(p,c-1),y=e*(p.coordinate+e*v/2-d);if(o[c-1]=p=dr(dr({},p),{},{tickCoord:y>0?p.coordinate-y*e:p.coordinate}),p.tickCoord!=null){var x=Qc(e,p.tickCoord,()=>v,f,d);x&&(d=p.tickCoord-e*(v/2+i),o[c-1]=dr(dr({},p),{},{isShow:!0}))}}}for(var S=l?c-1:c,j=function(P){var E=o[P];if(E==null)return 1;var A=E,T,M=()=>(T===void 0&&(T=r(E,P)),T);if(P===0){var R=e*(A.coordinate-e*M()/2-f);o[P]=A=dr(dr({},A),{},{tickCoord:R<0?A.coordinate-R*e:A.coordinate})}else o[P]=A=dr(dr({},A),{},{tickCoord:A.coordinate});if(A.tickCoord!=null){var I=Qc(e,A.tickCoord,M,f,d);I&&(f=A.tickCoord+e*(M()/2+i),o[P]=dr(dr({},A),{},{isShow:!0}))}},O=0;O<S;O++)j(O);return o}function Sj(e,t,r){var{tick:n,ticks:i,viewBox:l,minTickGap:o,orientation:c,interval:f,tickFormatter:d,unit:p,angle:v}=e;if(!i||!i.length||!n)return[];if(pe(f)||mf.isSsr){var y;return(y=QW(i,pe(f)?f:0))!==null&&y!==void 0?y:[]}var x=[],S=c==="top"||c==="bottom"?"width":"height",j=p&&S==="width"?_c(p,{fontSize:t,letterSpacing:r}):{width:0,height:0},O=(T,M)=>{var R=typeof d=="function"?d(T.value,M):T.value;return S==="width"?YW(_c(R,{fontSize:t,letterSpacing:r}),j,v):_c(R,{fontSize:t,letterSpacing:r})[S]},N=i[0],P=i[1],E=i.length>=2&&N!=null&&P!=null?zr(P.coordinate-N.coordinate):1,A=VW(l,E,S);return f==="equidistantPreserveStart"?XW(E,A,O,i,o):f==="equidistantPreserveEnd"?ZW(E,A,O,i,o):(f==="preserveStart"||f==="preserveStartEnd"?x=rJ(E,A,O,i,o,f==="preserveStartEnd"):x=tJ(E,A,O,i,o),x.filter(T=>T.isShow))}var nJ=e=>{var{ticks:t,label:r,labelGapWithTick:n=5,tickSize:i=0,tickMargin:l=0}=e,o=0;if(t){Array.from(t).forEach(p=>{if(p){var v=p.getBoundingClientRect();v.width>o&&(o=v.width)}});var c=r?r.getBoundingClientRect().width:0,f=i+l,d=o+f+c+(r?n:0);return Math.round(d)}return 0},aJ={xAxis:{},yAxis:{}},q3=vr({name:"renderedTicks",initialState:aJ,reducers:{setRenderedTicks:(e,t)=>{var{axisType:r,axisId:n,ticks:i}=t.payload;e[r][n]=i},removeRenderedTicks:(e,t)=>{var{axisType:r,axisId:n}=t.payload;delete e[r][n]}}}),{setRenderedTicks:iJ,removeRenderedTicks:sJ}=q3.actions,lJ=q3.reducer,oJ=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function uJ(e,t){if(e==null)return{};var r,n,i=cJ(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function cJ(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function ol(){return ol=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ol.apply(null,arguments)}function tC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function xt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?tC(Object(r),!0).forEach(function(n){fJ(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):tC(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function fJ(e,t,r){return(t=dJ(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function dJ(e){var t=hJ(e,"string");return typeof t=="symbol"?t:t+""}function hJ(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var qa={x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd",zIndex:Kt.axis};function mJ(e){var{x:t,y:r,width:n,height:i,orientation:l,mirror:o,axisLine:c,otherSvgProps:f}=e;if(!c)return null;var d=xt(xt(xt({},f),kn(c)),{},{fill:"none"});if(l==="top"||l==="bottom"){var p=+(l==="top"&&!o||l==="bottom"&&o);d=xt(xt({},d),{},{x1:t,y1:r+p*i,x2:t+n,y2:r+p*i})}else{var v=+(l==="left"&&!o||l==="right"&&o);d=xt(xt({},d),{},{x1:t+v*n,y1:r,x2:t+v*n,y2:r+i})}return w.createElement("line",ol({},d,{className:Xe("recharts-cartesian-axis-line",$o(c,"className"))}))}function pJ(e,t,r,n,i,l,o,c,f){var d,p,v,y,x,S,j=c?-1:1,O=e.tickSize||o,N=pe(e.tickCoord)?e.tickCoord:e.coordinate;switch(l){case"top":d=p=e.coordinate,y=r+ +!c*i,v=y-j*O,S=v-j*f,x=N;break;case"left":v=y=e.coordinate,p=t+ +!c*n,d=p-j*O,x=d-j*f,S=N;break;case"right":v=y=e.coordinate,p=t+ +c*n,d=p+j*O,x=d+j*f,S=N;break;default:d=p=e.coordinate,y=r+ +c*i,v=y+j*O,S=v+j*f,x=N;break}return{line:{x1:d,y1:v,x2:p,y2:y},tick:{x,y:S}}}function vJ(e,t){switch(e){case"left":return t?"start":"end";case"right":return t?"end":"start";default:return"middle"}}function yJ(e,t){switch(e){case"left":case"right":return"middle";case"top":return t?"start":"end";default:return t?"end":"start"}}function gJ(e){var{option:t,tickProps:r,value:n}=e,i,l=Xe(r.className,"recharts-cartesian-axis-tick-value");if(w.isValidElement(t))i=w.cloneElement(t,xt(xt({},r),{},{className:l}));else if(typeof t=="function")i=t(xt(xt({},r),{},{className:l}));else{var o="recharts-cartesian-axis-tick-value";typeof t!="boolean"&&(o=Xe(o,jZ(t))),i=w.createElement(gj,ol({},r,{className:o}),n)}return i}function xJ(e){var{ticks:t,axisType:r,axisId:n}=e,i=ct();return w.useEffect(()=>{if(n==null||r==null)return fl;var l=t.map(o=>({value:o.value,coordinate:o.coordinate,offset:o.offset,index:o.index}));return i(iJ({ticks:l,axisId:n,axisType:r})),()=>{i(sJ({axisId:n,axisType:r}))}},[i,t,n,r]),null}var bJ=w.forwardRef((e,t)=>{var{ticks:r=[],tick:n,tickLine:i,stroke:l,tickFormatter:o,unit:c,padding:f,tickTextProps:d,orientation:p,mirror:v,x:y,y:x,width:S,height:j,tickSize:O,tickMargin:N,fontSize:P,letterSpacing:E,getTicksConfig:A,events:T,axisType:M,axisId:R}=e,I=Sj(xt(xt({},A),{},{ticks:r}),P,E),z=kn(A),D=lf(n),H=m3(z.textAnchor)?z.textAnchor:vJ(p,v),q=yJ(p,v),ae={};typeof i=="object"&&(ae=i);var Q=xt(xt({},z),{},{fill:"none"},ae),Z=I.map(ee=>xt({entry:ee},pJ(ee,y,x,S,j,p,O,v,N))),B=Z.map(ee=>{var{entry:se,line:ue}=ee;return w.createElement(tn,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(se.value,"-").concat(se.coordinate,"-").concat(se.tickCoord)},i&&w.createElement("line",ol({},Q,ue,{className:Xe("recharts-cartesian-axis-tick-line",$o(i,"className"))})))}),K=Z.map((ee,se)=>{var ue,k,{entry:W,tick:oe}=ee,le=xt(xt(xt(xt({verticalAnchor:q},z),{},{textAnchor:H,stroke:"none",fill:l},oe),{},{index:se,payload:W,visibleTicksCount:I.length,tickFormatter:o,padding:f},d),{},{angle:(ue=(k=d==null?void 0:d.angle)!==null&&k!==void 0?k:z.angle)!==null&&ue!==void 0?ue:0}),ve=xt(xt({},le),D);return w.createElement(tn,ol({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(W.value,"-").concat(W.coordinate,"-").concat(W.tickCoord)},Bm(T,W,se)),n&&w.createElement(gJ,{option:n,tickProps:ve,value:"".concat(typeof o=="function"?o(W.value,se):W.value).concat(c||"")}))});return w.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(M,"-ticks")},w.createElement(xJ,{ticks:I,axisId:R,axisType:M}),K.length>0&&w.createElement(_n,{zIndex:Kt.label},w.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(M,"-tick-labels"),ref:t},K)),B.length>0&&w.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(M,"-tick-lines")},B))}),SJ=w.forwardRef((e,t)=>{var{axisLine:r,width:n,height:i,className:l,hide:o,ticks:c,axisType:f,axisId:d}=e,p=uJ(e,oJ),[v,y]=w.useState(""),[x,S]=w.useState(""),j=w.useRef(null);w.useImperativeHandle(t,()=>({getCalculatedWidth:()=>{var N;return nJ({ticks:j.current,label:(N=e.labelRef)===null||N===void 0?void 0:N.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var O=w.useCallback(N=>{if(N){var P=N.getElementsByClassName("recharts-cartesian-axis-tick-value");j.current=P;var E=P[0];if(E){var A=window.getComputedStyle(E),T=A.fontSize,M=A.letterSpacing;(T!==v||M!==x)&&(y(T),S(M))}}},[v,x]);return o||n!=null&&n<=0||i!=null&&i<=0?null:w.createElement(_n,{zIndex:e.zIndex},w.createElement(tn,{className:Xe("recharts-cartesian-axis",l)},w.createElement(mJ,{x:e.x,y:e.y,width:n,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:kn(e)}),w.createElement(bJ,{ref:O,axisType:f,events:p,fontSize:v,getTicksConfig:e,height:e.height,letterSpacing:x,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:c,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:d}),w.createElement(nZ,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},w.createElement(hZ,{label:e.label,labelRef:e.labelRef}),e.children)))}),jj=w.forwardRef((e,t)=>{var r=lr(e,qa);return w.createElement(SJ,ol({},r,{ref:t}))});jj.displayName="CartesianAxis";var jJ=["x1","y1","x2","y2","key"],wJ=["offset"],OJ=["xAxisId","yAxisId"],NJ=["xAxisId","yAxisId"];function rC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function hr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?rC(Object(r),!0).forEach(function(n){_J(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):rC(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function _J(e,t,r){return(t=EJ(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function EJ(e){var t=AJ(e,"string");return typeof t=="symbol"?t:t+""}function AJ(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ls(){return Ls=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Ls.apply(null,arguments)}function Om(e,t){if(e==null)return{};var r,n,i=PJ(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function PJ(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var TJ=e=>{var{fill:t}=e;if(!t||t==="none")return null;var{fillOpacity:r,x:n,y:i,width:l,height:o,ry:c}=e;return w.createElement("rect",{x:n,y:i,ry:c,width:l,height:o,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function H3(e){var{option:t,lineItemProps:r}=e,n;if(w.isValidElement(t))n=w.cloneElement(t,r);else if(typeof t=="function")n=t(r);else{var i,{x1:l,y1:o,x2:c,y2:f,key:d}=r,p=Om(r,jJ),v=(i=kn(p))!==null&&i!==void 0?i:{},{offset:y}=v,x=Om(v,wJ);n=w.createElement("line",Ls({},x,{x1:l,y1:o,x2:c,y2:f,fill:"none",key:d}))}return n}function CJ(e){var{x:t,width:r,horizontal:n=!0,horizontalPoints:i}=e;if(!n||!i||!i.length)return null;var{xAxisId:l,yAxisId:o}=e,c=Om(e,OJ),f=i.map((d,p)=>{var v=hr(hr({},c),{},{x1:t,y1:d,x2:t+r,y2:d,key:"line-".concat(p),index:p});return w.createElement(H3,{key:"line-".concat(p),option:n,lineItemProps:v})});return w.createElement("g",{className:"recharts-cartesian-grid-horizontal"},f)}function MJ(e){var{y:t,height:r,vertical:n=!0,verticalPoints:i}=e;if(!n||!i||!i.length)return null;var{xAxisId:l,yAxisId:o}=e,c=Om(e,NJ),f=i.map((d,p)=>{var v=hr(hr({},c),{},{x1:d,y1:t,x2:d,y2:t+r,key:"line-".concat(p),index:p});return w.createElement(H3,{option:n,lineItemProps:v,key:"line-".concat(p)})});return w.createElement("g",{className:"recharts-cartesian-grid-vertical"},f)}function RJ(e){var{horizontalFill:t,fillOpacity:r,x:n,y:i,width:l,height:o,horizontalPoints:c,horizontal:f=!0}=e;if(!f||!t||!t.length||c==null)return null;var d=c.map(v=>Math.round(v+i-i)).sort((v,y)=>v-y);i!==d[0]&&d.unshift(0);var p=d.map((v,y)=>{var x=d[y+1],S=x==null,j=S?i+o-v:x-v;if(j<=0)return null;var O=y%t.length;return w.createElement("rect",{key:"react-".concat(y),y:v,x:n,height:j,width:l,stroke:"none",fill:t[O],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return w.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},p)}function DJ(e){var{vertical:t=!0,verticalFill:r,fillOpacity:n,x:i,y:l,width:o,height:c,verticalPoints:f}=e;if(!t||!r||!r.length)return null;var d=f.map(v=>Math.round(v+i-i)).sort((v,y)=>v-y);i!==d[0]&&d.unshift(0);var p=d.map((v,y)=>{var x=d[y+1],S=x==null,j=S?i+o-v:x-v;if(j<=0)return null;var O=y%r.length;return w.createElement("rect",{key:"react-".concat(y),x:v,y:l,width:j,height:c,stroke:"none",fill:r[O],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return w.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},p)}var kJ=(e,t)=>{var{xAxis:r,width:n,height:i,offset:l}=e;return yR(Sj(hr(hr(hr({},qa),r),{},{ticks:gR(r),viewBox:{x:0,y:0,width:n,height:i}})),l.left,l.left+l.width,t)},IJ=(e,t)=>{var{yAxis:r,width:n,height:i,offset:l}=e;return yR(Sj(hr(hr(hr({},qa),r),{},{ticks:gR(r),viewBox:{x:0,y:0,width:n,height:i}})),l.top,l.top+l.height,t)},LJ={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:Kt.grid};function _p(e){var t=hS(),r=mS(),n=wR(),i=hr(hr({},lr(e,LJ)),{},{x:pe(e.x)?e.x:n.left,y:pe(e.y)?e.y:n.top,width:pe(e.width)?e.width:n.width,height:pe(e.height)?e.height:n.height}),{xAxisId:l,yAxisId:o,x:c,y:f,width:d,height:p,syncWithTicks:v,horizontalValues:y,verticalValues:x}=i,S=yr(),j=ge(z=>JP(z,"xAxis",l,S)),O=ge(z=>JP(z,"yAxis",o,S));if(!ia(d)||!ia(p)||!pe(c)||!pe(f))return null;var N=i.verticalCoordinatesGenerator||kJ,P=i.horizontalCoordinatesGenerator||IJ,{horizontalPoints:E,verticalPoints:A}=i;if((!E||!E.length)&&typeof P=="function"){var T=y&&y.length,M=P({yAxis:O?hr(hr({},O),{},{ticks:T?y:O.ticks}):void 0,width:t??d,height:r??p,offset:n},T?!0:v);Qh(Array.isArray(M),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof M,"]")),Array.isArray(M)&&(E=M)}if((!A||!A.length)&&typeof N=="function"){var R=x&&x.length,I=N({xAxis:j?hr(hr({},j),{},{ticks:R?x:j.ticks}):void 0,width:t??d,height:r??p,offset:n},R?!0:v);Qh(Array.isArray(I),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof I,"]")),Array.isArray(I)&&(A=I)}return w.createElement(_n,{zIndex:i.zIndex},w.createElement("g",{className:"recharts-cartesian-grid"},w.createElement(TJ,{fill:i.fill,fillOpacity:i.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),w.createElement(RJ,Ls({},i,{horizontalPoints:E})),w.createElement(DJ,Ls({},i,{verticalPoints:A})),w.createElement(CJ,Ls({},i,{offset:n,horizontalPoints:E,xAxis:j,yAxis:O})),w.createElement(MJ,Ls({},i,{offset:n,verticalPoints:A,xAxis:j,yAxis:O}))))}_p.displayName="CartesianGrid";var zJ={},F3=vr({name:"errorBars",initialState:zJ,reducers:{addErrorBar:(e,t)=>{var{itemId:r,errorBar:n}=t.payload;e[r]||(e[r]=[]),e[r].push(n)},replaceErrorBar:(e,t)=>{var{itemId:r,prev:n,next:i}=t.payload;e[r]&&(e[r]=e[r].map(l=>l.dataKey===n.dataKey&&l.direction===n.direction?i:l))},removeErrorBar:(e,t)=>{var{itemId:r,errorBar:n}=t.payload;e[r]&&(e[r]=e[r].filter(i=>i.dataKey!==n.dataKey||i.direction!==n.direction))}}}),{addErrorBar:vie,replaceErrorBar:yie,removeErrorBar:gie}=F3.actions,$J=F3.reducer,BJ=["children"];function UJ(e,t){if(e==null)return{};var r,n,i=qJ(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function qJ(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var HJ={data:[],xAxisId:"xAxis-0",yAxisId:"yAxis-0",dataPointFormatter:()=>({x:0,y:0,value:0}),errorBarOffset:0},FJ=w.createContext(HJ);function K3(e){var{children:t}=e,r=UJ(e,BJ);return w.createElement(FJ.Provider,{value:r},t)}function wj(e,t){var r,n,i=ge(d=>ei(d,e)),l=ge(d=>ti(d,t)),o=(r=i==null?void 0:i.allowDataOverflow)!==null&&r!==void 0?r:kt.allowDataOverflow,c=(n=l==null?void 0:l.allowDataOverflow)!==null&&n!==void 0?n:It.allowDataOverflow,f=o||c;return{needClip:f,needClipX:o,needClipY:c}}function G3(e){var{xAxisId:t,yAxisId:r,clipPathId:n}=e,i=bj(),{needClipX:l,needClipY:o,needClip:c}=wj(t,r);if(!c||!i)return null;var{x:f,y:d,width:p,height:v}=i;return w.createElement("clipPath",{id:"clipPath-".concat(n)},w.createElement("rect",{x:l?f:f-p/2,y:o?d:d-v/2,width:l?p:p*2,height:o?v:v*2}))}var Y3=(e,t,r,n)=>es(e,"xAxis",t,n),V3=(e,t,r,n)=>Ji(e,"xAxis",t,n),Q3=(e,t,r,n)=>es(e,"yAxis",r,n),X3=(e,t,r,n)=>Ji(e,"yAxis",r,n),KJ=V([Ze,Y3,Q3,V3,X3],(e,t,r,n,i)=>Xa(e,"xAxis")?Uo(t,n,!1):Uo(r,i,!1)),GJ=(e,t,r,n,i)=>i;function YJ(e){return e.type==="line"}var VJ=V([jp,GJ],(e,t)=>e.filter(YJ).find(r=>r.id===t)),QJ=V([Ze,Y3,Q3,V3,X3,VJ,KJ,pf],(e,t,r,n,i,l,o,c)=>{var{chartData:f,dataStartIndex:d,dataEndIndex:p}=c;if(!(l==null||t==null||r==null||n==null||i==null||n.length===0||i.length===0||o==null||e!=="horizontal"&&e!=="vertical")){var{dataKey:v,data:y}=l,x;if(y!=null&&y.length>0?x=y:x=f==null?void 0:f.slice(d,p+1),x!=null)return vee({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:i,dataKey:v,bandSize:o,displayedData:x})}});function XJ(e){var t=lf(e),r=3,n=2;if(t!=null){var{r:i,strokeWidth:l}=t,o=Number(i),c=Number(l);return(Number.isNaN(o)||o<0)&&(o=r),(Number.isNaN(c)||c<0)&&(c=n),{r:o,strokeWidth:c}}return{r,strokeWidth:n}}var ZJ=["id"],WJ=["type","layout","connectNulls","needClip","shape"],JJ=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function Xc(){return Xc=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Xc.apply(null,arguments)}function nC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Wn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?nC(Object(r),!0).forEach(function(n){eee(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):nC(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function eee(e,t,r){return(t=tee(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function tee(e){var t=ree(e,"string");return typeof t=="symbol"?t:t+""}function ree(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Oj(e,t){if(e==null)return{};var r,n,i=nee(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function nee(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var aee=e=>{var{dataKey:t,name:r,stroke:n,legendType:i,hide:l}=e;return[{inactive:l,dataKey:t,type:i,color:n,value:Zm(r,t),payload:e}]},iee=w.memo(e=>{var{dataKey:t,data:r,stroke:n,strokeWidth:i,fill:l,name:o,hide:c,unit:f,tooltipType:d,id:p}=e,v={dataDefinedOnItem:r,getPosition:fl,settings:{stroke:n,strokeWidth:i,fill:l,dataKey:t,nameKey:void 0,name:Zm(o,t),hide:c,type:d,color:n,unit:f,graphicalItemId:p}};return w.createElement(M3,{tooltipEntrySettings:v})}),Z3=(e,t)=>"".concat(t,"px ").concat(e,"px");function see(e,t){for(var r=e.length%2!==0?[...e,0]:e,n=[],i=0;i<t;++i)n.push(...r);return n}var lee=(e,t,r)=>{var n=r.reduce((y,x)=>y+x,0);if(!n)return Z3(t,e);for(var i=Math.floor(e/n),l=e%n,o=[],c=0,f=0;c<r.length;f+=(d=r[c])!==null&&d!==void 0?d:0,++c){var d,p=r[c];if(p!=null&&f+p>l){o=[...r.slice(0,c),l-f];break}}var v=o.length%2===0?[0,t]:[t];return[...see(r,i),...o,...v].map(y=>"".concat(y,"px")).join(", ")};function oee(e){var{clipPathId:t,points:r,props:n}=e,{dot:i,dataKey:l,needClip:o}=n,{id:c}=n,f=Oj(n,ZJ),d=kn(f);return w.createElement(uW,{points:r,dot:i,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:l,baseProps:d,needClip:o,clipPathId:t})}function uee(e){var{showLabels:t,children:r,points:n}=e,i=w.useMemo(()=>n==null?void 0:n.map(l=>{var o,c,f={x:(o=l.x)!==null&&o!==void 0?o:0,y:(c=l.y)!==null&&c!==void 0?c:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Wn(Wn({},f),{},{value:l.value,payload:l.payload,viewBox:f,parentViewBox:void 0,fill:void 0})}),[n]);return w.createElement(S3,{value:t?i:void 0},r)}function aC(e){var{clipPathId:t,pathRef:r,points:n,strokeDasharray:i,props:l}=e,{type:o,layout:c,connectNulls:f,needClip:d,shape:p}=l,v=Oj(l,WJ),y=Wn(Wn({},Or(v)),{},{fill:"none",className:"recharts-line-curve",clipPath:d?"url(#clipPath-".concat(t,")"):void 0,points:n,type:o,layout:c,connectNulls:f,strokeDasharray:i??l.strokeDasharray});return w.createElement(w.Fragment,null,(n==null?void 0:n.length)>1&&w.createElement(A3,Xc({shapeType:"curve",option:p},y,{pathRef:r})),w.createElement(oee,{points:n,clipPathId:t,props:l}))}function cee(e){try{return e&&e.getTotalLength&&e.getTotalLength()||0}catch{return 0}}function fee(e){var{clipPathId:t,props:r,pathRef:n,previousPointsRef:i,longestAnimatedLengthRef:l}=e,{points:o,strokeDasharray:c,isAnimationActive:f,animationBegin:d,animationDuration:p,animationEasing:v,animateNewValues:y,width:x,height:S,onAnimationEnd:j,onAnimationStart:O}=r,N=i.current,P=lp(o,"recharts-line-"),E=w.useRef(P),[A,T]=w.useState(!1),M=!A,R=w.useCallback(()=>{typeof j=="function"&&j(),T(!1)},[j]),I=w.useCallback(()=>{typeof O=="function"&&O(),T(!0)},[O]),z=cee(n.current),D=w.useRef(0);E.current!==P&&(D.current=l.current,E.current=P);var H=D.current;return w.createElement(uee,{points:o,showLabels:M},r.children,w.createElement(sp,{animationId:P,begin:d,duration:p,isActive:f,easing:v,onAnimationEnd:R,onAnimationStart:I,key:P},q=>{var ae=St(H,z+H,q),Q=Math.min(ae,z),Z;if(f)if(c){var B="".concat(c).split(/[,\s]+/gim).map(se=>parseFloat(se));Z=lee(Q,z,B)}else Z=Z3(z,Q);else Z=c==null?void 0:String(c);if(q>0&&z>0&&(i.current=o,l.current=Math.max(l.current,Q)),N){var K=N.length/o.length,ee=q===1?o:o.map((se,ue)=>{var k=Math.floor(ue*K);if(N[k]){var W=N[k];return Wn(Wn({},se),{},{x:St(W.x,se.x,q),y:St(W.y,se.y,q)})}return y?Wn(Wn({},se),{},{x:St(x*2,se.x,q),y:St(S/2,se.y,q)}):Wn(Wn({},se),{},{x:se.x,y:se.y})});return i.current=ee,w.createElement(aC,{props:r,points:ee,clipPathId:t,pathRef:n,strokeDasharray:Z})}return w.createElement(aC,{props:r,points:o,clipPathId:t,pathRef:n,strokeDasharray:Z})}),w.createElement(w3,{label:r.label}))}function dee(e){var{clipPathId:t,props:r}=e,n=w.useRef(null),i=w.useRef(0),l=w.useRef(null);return w.createElement(fee,{props:r,clipPathId:t,previousPointsRef:n,longestAnimatedLengthRef:i,pathRef:l})}var hee=(e,t)=>{var r,n;return{x:(r=e.x)!==null&&r!==void 0?r:void 0,y:(n=e.y)!==null&&n!==void 0?n:void 0,value:e.value,errorVal:Nt(e.payload,t)}};class mee extends w.Component{render(){var{hide:t,dot:r,points:n,className:i,xAxisId:l,yAxisId:o,top:c,left:f,width:d,height:p,id:v,needClip:y,zIndex:x}=this.props;if(t)return null;var S=Xe("recharts-line",i),j=v,{r:O,strokeWidth:N}=XJ(r),P=E3(r),E=O*2+N,A=y?"url(#clipPath-".concat(P?"":"dots-").concat(j,")"):void 0;return w.createElement(_n,{zIndex:x},w.createElement(tn,{className:S},y&&w.createElement("defs",null,w.createElement(G3,{clipPathId:j,xAxisId:l,yAxisId:o}),!P&&w.createElement("clipPath",{id:"clipPath-dots-".concat(j)},w.createElement("rect",{x:f-E/2,y:c-E/2,width:d+E,height:p+E}))),w.createElement(K3,{xAxisId:l,yAxisId:o,data:n,dataPointFormatter:hee,errorBarOffset:0},w.createElement(dee,{props:this.props,clipPathId:j}))),w.createElement(PW,{activeDot:this.props.activeDot,points:n,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:A}))}}var W3={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:Kt.line,type:"linear"};function pee(e){var t=lr(e,W3),{activeDot:r,animateNewValues:n,animationBegin:i,animationDuration:l,animationEasing:o,connectNulls:c,dot:f,hide:d,isAnimationActive:p,label:v,legendType:y,xAxisId:x,yAxisId:S,id:j}=t,O=Oj(t,JJ),{needClip:N}=wj(x,S),P=bj(),E=dl(),A=yr(),T=ge(D=>QJ(D,x,S,A,j));if(E!=="horizontal"&&E!=="vertical"||T==null||P==null)return null;var{height:M,width:R,x:I,y:z}=P;return w.createElement(mee,Xc({},O,{id:j,connectNulls:c,dot:f,activeDot:r,animateNewValues:n,animationBegin:i,animationDuration:l,animationEasing:o,isAnimationActive:p,hide:d,label:v,legendType:y,xAxisId:x,yAxisId:S,points:T,layout:E,height:M,width:R,left:I,top:z,needClip:N}))}function vee(e){var{layout:t,xAxis:r,yAxis:n,xAxisTicks:i,yAxisTicks:l,dataKey:o,bandSize:c,displayedData:f}=e;return f.map((d,p)=>{var v=Nt(d,o);if(t==="horizontal"){var y=KE({axis:r,ticks:i,bandSize:c,entry:d,index:p}),x=mt(v)?null:n.scale.map(v);return{x:y,y:x??null,value:v,payload:d}}var S=mt(v)?null:r.scale.map(v),j=KE({axis:n,ticks:l,bandSize:c,entry:d,index:p});return S==null||j==null?null:{x:S,y:j,value:v,payload:d}}).filter(Boolean)}function yee(e){var t=lr(e,W3),r=yr();return w.createElement(D3,{id:t.id,type:"line"},n=>w.createElement(w.Fragment,null,w.createElement(R3,{legendPayload:aee(t)}),w.createElement(iee,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:n}),w.createElement(I3,{type:"line",id:n,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:r}),w.createElement(pee,Xc({},t,{id:n}))))}var J3=w.memo(yee,eu);J3.displayName="Line";function vl(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||n===void 0?void 0:n.xAxisId)!==null&&r!==void 0?r:L3}function yl(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||n===void 0?void 0:n.yAxisId)!==null&&r!==void 0?r:L3}var gee="Invariant failed";function xee(e,t){throw new Error(gee)}function ob(){return ob=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ob.apply(null,arguments)}function Nj(e){return w.createElement(A3,ob({shapeType:"rectangle",activeClassName:"recharts-active-bar",inActiveClassName:"recharts-inactive-bar"},e))}var bee=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return(n,i)=>{if(pe(t))return t;var l=pe(n)||mt(n);return l?t(n,i):(l||xee(),r)}},See=(e,t,r)=>r,jee=(e,t)=>t,Nf=V([jp,jee],(e,t)=>e.filter(r=>r.type==="bar").find(r=>r.id===t)),wee=V([Nf],e=>e==null?void 0:e.maxBarSize),Oee=(e,t,r,n)=>n,Nee=V([Ze,jp,vl,yl,See],(e,t,r,n,i)=>t.filter(l=>e==="horizontal"?l.xAxisId===r:l.yAxisId===n).filter(l=>l.isPanorama===i).filter(l=>l.hide===!1).filter(l=>l.type==="bar")),_ee=(e,t,r)=>{var n=Ze(e),i=vl(e,t),l=yl(e,t);if(!(i==null||l==null))return n==="horizontal"?nb(e,"yAxis",l,r):nb(e,"xAxis",i,r)},Eee=(e,t)=>{var r=Ze(e),n=vl(e,t),i=yl(e,t);if(!(n==null||i==null))return r==="horizontal"?WP(e,"xAxis",n):WP(e,"yAxis",i)},Aee=V([Nee,c7,Eee],TW),Pee=(e,t,r)=>{var n,i,l=Nf(e,t);if(l==null)return 0;var o=vl(e,t),c=yl(e,t);if(o==null||c==null)return 0;var f=Ze(e),d=n4(e),{maxBarSize:p}=l,v=mt(p)?d:p,y,x;return f==="horizontal"?(y=es(e,"xAxis",o,r),x=Ji(e,"xAxis",o,r)):(y=es(e,"yAxis",c,r),x=Ji(e,"yAxis",c,r)),(n=(i=Uo(y,x,!0))!==null&&i!==void 0?i:v)!==null&&n!==void 0?n:0},ek=(e,t,r)=>{var n=Ze(e),i=vl(e,t),l=yl(e,t);if(!(i==null||l==null)){var o,c;return n==="horizontal"?(o=es(e,"xAxis",i,r),c=Ji(e,"xAxis",i,r)):(o=es(e,"yAxis",l,r),c=Ji(e,"yAxis",l,r)),Uo(o,c)}},Tee=V([Aee,n4,u7,a4,Pee,ek,wee],kW),Cee=(e,t,r)=>{var n=vl(e,t);if(n!=null)return es(e,"xAxis",n,r)},Mee=(e,t,r)=>{var n=yl(e,t);if(n!=null)return es(e,"yAxis",n,r)},Ree=(e,t,r)=>{var n=vl(e,t);if(n!=null)return Ji(e,"xAxis",n,r)},Dee=(e,t,r)=>{var n=yl(e,t);if(n!=null)return Ji(e,"yAxis",n,r)},kee=V([Tee,Nf],LW),Iee=V([_ee,Nf],IW),Lee=V([Yt,uS,Cee,Mee,Ree,Dee,kee,Ze,t7,ek,Iee,Nf,Oee],(e,t,r,n,i,l,o,c,f,d,p,v,y)=>{var{chartData:x,dataStartIndex:S,dataEndIndex:j}=f;if(!(v==null||o==null||t==null||c!=="horizontal"&&c!=="vertical"||r==null||n==null||i==null||l==null||d==null)){var{data:O}=v,N;if(O!=null&&O.length>0?N=O:N=x==null?void 0:x.slice(S,j+1),N!=null)return fte({layout:c,barSettings:v,pos:o,parentViewBox:t,bandSize:d,xAxis:r,yAxis:n,xAxisTicks:i,yAxisTicks:l,stackedData:p,displayedData:N,offset:e,cells:y,dataStartIndex:S})}}),zee=["index"];function ub(){return ub=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ub.apply(null,arguments)}function $ee(e,t){if(e==null)return{};var r,n,i=Bee(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function Bee(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var tk=w.createContext(void 0),Uee=e=>{var t=w.useContext(tk);if(t!=null)return t.stackId;if(e!=null)return Vq(e)},qee=(e,t)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(t),Hee=e=>{var t=w.useContext(tk);if(t!=null){var{stackId:r}=t;return"url(#".concat(qee(r,e),")")}},rk=e=>{var{index:t}=e,r=$ee(e,zee),n=Hee(t);return w.createElement(tn,ub({className:"recharts-bar-stack-layer",clipPath:n},r))},Fee=["onMouseEnter","onMouseLeave","onClick"],Kee=["value","background","tooltipPosition"],Gee=["id"],Yee=["onMouseEnter","onClick","onMouseLeave"];function ts(){return ts=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ts.apply(null,arguments)}function iC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Sr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?iC(Object(r),!0).forEach(function(n){Vee(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):iC(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Vee(e,t,r){return(t=Qee(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Qee(e){var t=Xee(e,"string");return typeof t=="symbol"?t:t+""}function Xee(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Nm(e,t){if(e==null)return{};var r,n,i=Zee(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function Zee(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var Wee=e=>{var{dataKey:t,name:r,fill:n,legendType:i,hide:l}=e;return[{inactive:l,dataKey:t,type:i,color:n,value:Zm(r,t),payload:e}]},Jee=w.memo(e=>{var{dataKey:t,stroke:r,strokeWidth:n,fill:i,name:l,hide:o,unit:c,tooltipType:f,id:d}=e,p={dataDefinedOnItem:void 0,getPosition:fl,settings:{stroke:r,strokeWidth:n,fill:i,dataKey:t,nameKey:void 0,name:Zm(l,t),hide:o,type:f,color:i,unit:c,graphicalItemId:d}};return w.createElement(M3,{tooltipEntrySettings:p})});function ete(e){var t=ge(ll),{data:r,dataKey:n,background:i,allOtherBarProps:l}=e,{onMouseEnter:o,onMouseLeave:c,onClick:f}=l,d=Nm(l,Fee),p=P3(o,n,l.id),v=T3(c),y=C3(f,n,l.id);if(!i||r==null)return null;var x=lf(i);return w.createElement(_n,{zIndex:zW(i,Kt.barBackground)},r.map((S,j)=>{var{value:O,background:N,tooltipPosition:P}=S,E=Nm(S,Kee);if(!N)return null;var A=p(S,j),T=v(S,j),M=y(S,j),R=Sr(Sr(Sr(Sr(Sr({option:i,isActive:String(j)===t},E),{},{fill:"#eee"},N),x),Bm(d,S,j)),{},{onMouseEnter:A,onMouseLeave:T,onClick:M,dataKey:n,index:j,className:"recharts-bar-background-rectangle"});return w.createElement(Nj,ts({key:"background-bar-".concat(j)},R))}))}function tte(e){var{showLabels:t,children:r,rects:n}=e,i=n==null?void 0:n.map(l=>{var o={x:l.x,y:l.y,width:l.width,lowerWidth:l.width,upperWidth:l.width,height:l.height};return Sr(Sr({},o),{},{value:l.value,payload:l.payload,parentViewBox:l.parentViewBox,viewBox:o,fill:l.fill})});return w.createElement(S3,{value:t?i:void 0},r)}function rte(e){var{shape:t,activeBar:r,baseProps:n,entry:i,index:l,dataKey:o}=e,c=ge(ll),f=ge(WD),d=r&&String(i.originalDataIndex)===c&&(f==null||o===f),[p,v]=w.useState(!1),[y,x]=w.useState(!1);w.useEffect(()=>{var E;return d?(v(!0),E=requestAnimationFrame(()=>{x(!0)})):x(!1),()=>{cancelAnimationFrame(E)}},[d]);var S=w.useCallback(()=>{d||v(!1)},[d]),j=d&&y,O=d||p,N;d?r===!0?N=t:N=r:N=t;var P=w.createElement(Nj,ts({},n,{name:String(n.name)},i,{isActive:j,option:N,index:l,dataKey:o,onTransitionEnd:S}));return O?w.createElement(_n,{zIndex:Kt.activeBar},w.createElement(rk,{index:i.originalDataIndex},P)):P}function nte(e){var{shape:t,baseProps:r,entry:n,index:i,dataKey:l}=e;return w.createElement(Nj,ts({},r,{name:String(r.name)},n,{isActive:!1,option:t,index:i,dataKey:l}))}function ate(e){var t,{data:r,props:n}=e,i=(t=kn(n))!==null&&t!==void 0?t:{},{id:l}=i,o=Nm(i,Gee),{shape:c,dataKey:f,activeBar:d}=n,{onMouseEnter:p,onClick:v,onMouseLeave:y}=n,x=Nm(n,Yee),S=P3(p,f,l),j=T3(y),O=C3(v,f,l);return r?w.createElement(w.Fragment,null,r.map((N,P)=>w.createElement(rk,ts({index:N.originalDataIndex,key:"rectangle-".concat(N==null?void 0:N.x,"-").concat(N==null?void 0:N.y,"-").concat(N==null?void 0:N.value,"-").concat(P),className:"recharts-bar-rectangle"},Bm(x,N,P),{onMouseEnter:S(N,P),onMouseLeave:j(N,P),onClick:O(N,P)}),d?w.createElement(rte,{shape:c,activeBar:d,baseProps:o,entry:N,index:P,dataKey:f}):w.createElement(nte,{shape:c,baseProps:o,entry:N,index:P,dataKey:f})))):null}function ite(e){var{props:t,previousRectanglesRef:r}=e,{data:n,layout:i,isAnimationActive:l,animationBegin:o,animationDuration:c,animationEasing:f,onAnimationEnd:d,onAnimationStart:p}=t,v=r.current,y=lp(t,"recharts-bar-"),[x,S]=w.useState(!1),j=!x,O=w.useCallback(()=>{typeof d=="function"&&d(),S(!1)},[d]),N=w.useCallback(()=>{typeof p=="function"&&p(),S(!0)},[p]);return w.createElement(tte,{showLabels:j,rects:n},w.createElement(sp,{animationId:y,begin:o,duration:c,isActive:l,easing:f,onAnimationEnd:O,onAnimationStart:N,key:y},P=>{var E=P===1?n:n==null?void 0:n.map((A,T)=>{var M=v&&v[T];if(M)return Sr(Sr({},A),{},{x:St(M.x,A.x,P),y:St(M.y,A.y,P),width:St(M.width,A.width,P),height:St(M.height,A.height,P)});if(i==="horizontal"){var R=St(0,A.height,P),I=St(A.stackedBarStart,A.y,P);return Sr(Sr({},A),{},{y:I,height:R})}var z=St(0,A.width,P),D=St(A.stackedBarStart,A.x,P);return Sr(Sr({},A),{},{width:z,x:D})});return P>0&&(r.current=E??null),E==null?null:w.createElement(tn,null,w.createElement(ate,{props:t,data:E}))}),w.createElement(w3,{label:t.label}),t.children)}function ste(e){var t=w.useRef(null);return w.createElement(ite,{previousRectanglesRef:t,props:e})}var nk=0,lte=(e,t)=>{var r=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:r,errorVal:Nt(e,t)}};class ote extends w.PureComponent{render(){var{hide:t,data:r,dataKey:n,className:i,xAxisId:l,yAxisId:o,needClip:c,background:f,id:d}=this.props;if(t||r==null)return null;var p=Xe("recharts-bar",i),v=d;return w.createElement(tn,{className:p,id:d},c&&w.createElement("defs",null,w.createElement(G3,{clipPathId:v,xAxisId:l,yAxisId:o})),w.createElement(tn,{className:"recharts-bar-rectangles",clipPath:c?"url(#clipPath-".concat(v,")"):void 0},w.createElement(ete,{data:r,dataKey:n,background:f,allOtherBarProps:this.props}),w.createElement(ste,this.props)))}}var ute={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:nk,xAxisId:0,yAxisId:0,zIndex:Kt.bar};function cte(e){var{xAxisId:t,yAxisId:r,hide:n,legendType:i,minPointSize:l,activeBar:o,animationBegin:c,animationDuration:f,animationEasing:d,isAnimationActive:p}=e,{needClip:v}=wj(t,r),y=dl(),x=yr(),S=_Z(e.children,yj),j=ge(P=>Lee(P,e.id,x,S));if(y!=="vertical"&&y!=="horizontal")return null;var O,N=j==null?void 0:j[0];return N==null||N.height==null||N.width==null?O=0:O=y==="vertical"?N.height/2:N.width/2,w.createElement(K3,{xAxisId:t,yAxisId:r,data:j,dataPointFormatter:lte,errorBarOffset:O},w.createElement(ote,ts({},e,{layout:y,needClip:v,data:j,xAxisId:t,yAxisId:r,hide:n,legendType:i,minPointSize:l,activeBar:o,animationBegin:c,animationDuration:f,animationEasing:d,isAnimationActive:p})))}function fte(e){var{layout:t,barSettings:{dataKey:r,minPointSize:n,hasCustomShape:i},pos:l,bandSize:o,xAxis:c,yAxis:f,xAxisTicks:d,yAxisTicks:p,stackedData:v,displayedData:y,offset:x,cells:S,parentViewBox:j,dataStartIndex:O}=e,N=t==="horizontal"?f:c,P=v?N.scale.domain():null,E=Qq({numericAxis:N}),A=N.scale.map(E);return y.map((T,M)=>{var R,I,z,D,H,q;if(v){var ae=v[M+O];if(ae==null)return null;R=Hq(ae,P)}else R=Nt(T,r),Array.isArray(R)||(R=[E,R]);var Q=bee(n,nk)(R[1],M);if(t==="horizontal"){var Z,B=f.scale.map(R[0]),K=f.scale.map(R[1]);if(B==null||K==null)return null;I=GE({axis:c,ticks:d,bandSize:o,offset:l.offset,entry:T,index:M}),z=(Z=K??B)!==null&&Z!==void 0?Z:void 0,D=l.size;var ee=B-K;if(H=na(ee)?0:ee,q={x:I,y:x.top,width:D,height:x.height},Math.abs(Q)>0&&Math.abs(H)<Math.abs(Q)){var se=zr(H||Q)*(Math.abs(Q)-Math.abs(H));z-=se,H+=se}}else{var ue=c.scale.map(R[0]),k=c.scale.map(R[1]);if(ue==null||k==null)return null;if(I=ue,z=GE({axis:f,ticks:p,bandSize:o,offset:l.offset,entry:T,index:M}),D=k-ue,H=l.size,q={x:x.left,y:z,width:x.width,height:H},Math.abs(Q)>0&&Math.abs(D)<Math.abs(Q)){var W=zr(D||Q)*(Math.abs(Q)-Math.abs(D));D+=W}}if(I==null||z==null||D==null||H==null||!i&&(D===0||H===0))return null;var oe=Sr(Sr({},T),{},{stackedBarStart:A,x:I,y:z,width:D,height:H,value:v?R:R[1],payload:T,background:q,tooltipPosition:{x:I+D/2,y:z+H/2},parentViewBox:j,originalDataIndex:M},S&&S[M]&&S[M].props);return oe}).filter(Boolean)}function dte(e){var t=lr(e,ute),r=Uee(t.stackId),n=yr();return w.createElement(D3,{id:t.id,type:"bar"},i=>w.createElement(w.Fragment,null,w.createElement(R3,{legendPayload:Wee(t)}),w.createElement(Jee,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:i}),w.createElement(I3,{type:"bar",id:i,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:r,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:n,hasCustomShape:t.shape!=null}),w.createElement(_n,{zIndex:t.zIndex},w.createElement(cte,ts({},t,{id:i})))))}var _j=w.memo(dte,eu);_j.displayName="Bar";var hte=["domain","range"],mte=["domain","range"];function sC(e,t){if(e==null)return{};var r,n,i=pte(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function pte(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function lC(e,t){return e===t?!0:Array.isArray(e)&&e.length===2&&Array.isArray(t)&&t.length===2?e[0]===t[0]&&e[1]===t[1]:!1}function ak(e,t){if(e===t)return!0;var{domain:r,range:n}=e,i=sC(e,hte),{domain:l,range:o}=t,c=sC(t,mte);return!lC(r,l)||!lC(n,o)?!1:eu(i,c)}var vte=["type"],yte=["dangerouslySetInnerHTML","ticks","scale"],gte=["id","scale"];function cb(){return cb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},cb.apply(null,arguments)}function oC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function uC(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?oC(Object(r),!0).forEach(function(n){xte(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):oC(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function xte(e,t,r){return(t=bte(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function bte(e){var t=Ste(e,"string");return typeof t=="symbol"?t:t+""}function Ste(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function fb(e,t){if(e==null)return{};var r,n,i=jte(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function jte(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function wte(e){var t=ct(),r=w.useRef(null),n=OR(),{type:i}=e,l=fb(e,vte),o=cp(n,"xAxis",i),c=w.useMemo(()=>{if(o!=null)return uC(uC({},l),{},{type:o})},[l,o]);return w.useLayoutEffect(()=>{c!=null&&(r.current===null?t(mW(c)):r.current!==c&&t(pW({prev:r.current,next:c})),r.current=c)},[c,t]),w.useLayoutEffect(()=>()=>{r.current&&(t(vW(r.current)),r.current=null)},[t]),null}var Ote=e=>{var{xAxisId:t,className:r}=e,n=ge(uS),i=yr(),l="xAxis",o=ge(N=>TD(N,l,t,i)),c=ge(N=>ED(N,t)),f=ge(N=>KY(N,t)),d=ge(N=>Q4(N,t));if(c==null||f==null||d==null)return null;var{dangerouslySetInnerHTML:p,ticks:v,scale:y}=e,x=fb(e,yte),{id:S,scale:j}=d,O=fb(d,gte);return w.createElement(jj,cb({},x,O,{x:f.x,y:f.y,width:c.width,height:c.height,className:Xe("recharts-".concat(l," ").concat(l),r),viewBox:n,ticks:o,axisType:l,axisId:t}))},Nte={allowDataOverflow:kt.allowDataOverflow,allowDecimals:kt.allowDecimals,allowDuplicatedCategory:kt.allowDuplicatedCategory,angle:kt.angle,axisLine:qa.axisLine,height:kt.height,hide:!1,includeHidden:kt.includeHidden,interval:kt.interval,label:!1,minTickGap:kt.minTickGap,mirror:kt.mirror,orientation:kt.orientation,padding:kt.padding,reversed:kt.reversed,scale:kt.scale,tick:kt.tick,tickCount:kt.tickCount,tickLine:qa.tickLine,tickSize:qa.tickSize,type:kt.type,niceTicks:kt.niceTicks,xAxisId:0},_te=e=>{var t=lr(e,Nte);return w.createElement(w.Fragment,null,w.createElement(wte,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),w.createElement(Ote,t))},Ep=w.memo(_te,ak);Ep.displayName="XAxis";var Ete=["type"],Ate=["dangerouslySetInnerHTML","ticks","scale"],Pte=["id","scale"];function db(){return db=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},db.apply(null,arguments)}function cC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function fC(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?cC(Object(r),!0).forEach(function(n){Tte(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):cC(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Tte(e,t,r){return(t=Cte(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Cte(e){var t=Mte(e,"string");return typeof t=="symbol"?t:t+""}function Mte(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function hb(e,t){if(e==null)return{};var r,n,i=Rte(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function Rte(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function Dte(e){var t=ct(),r=w.useRef(null),n=OR(),{type:i}=e,l=hb(e,Ete),o=cp(n,"yAxis",i),c=w.useMemo(()=>{if(o!=null)return fC(fC({},l),{},{type:o})},[o,l]);return w.useLayoutEffect(()=>{c!=null&&(r.current===null?t(yW(c)):r.current!==c&&t(gW({prev:r.current,next:c})),r.current=c)},[c,t]),w.useLayoutEffect(()=>()=>{r.current&&(t(xW(r.current)),r.current=null)},[t]),null}function kte(e){var{yAxisId:t,className:r,width:n,label:i}=e,l=w.useRef(null),o=w.useRef(null),c=ge(uS),f=yr(),d=ct(),p="yAxis",v=ge(M=>AD(M,t)),y=ge(M=>YY(M,t)),x=ge(M=>TD(M,p,t,f)),S=ge(M=>X4(M,t));if(w.useLayoutEffect(()=>{if(!(n!=="auto"||!v||xj(i)||w.isValidElement(i)||S==null)){var M=l.current;if(M){var R=M.getCalculatedWidth();Math.round(v.width)!==Math.round(R)&&d(bW({id:t,width:R}))}}},[x,v,d,i,t,n,S]),v==null||y==null||S==null)return null;var{dangerouslySetInnerHTML:j,ticks:O,scale:N}=e,P=hb(e,Ate),{id:E,scale:A}=S,T=hb(S,Pte);return w.createElement(jj,db({},P,T,{ref:l,labelRef:o,x:y.x,y:y.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:v.width,height:v.height,className:Xe("recharts-".concat(p," ").concat(p),r),viewBox:c,ticks:x,axisType:p,axisId:t}))}var Ite={allowDataOverflow:It.allowDataOverflow,allowDecimals:It.allowDecimals,allowDuplicatedCategory:It.allowDuplicatedCategory,angle:It.angle,axisLine:qa.axisLine,hide:!1,includeHidden:It.includeHidden,interval:It.interval,label:!1,minTickGap:It.minTickGap,mirror:It.mirror,orientation:It.orientation,padding:It.padding,reversed:It.reversed,scale:It.scale,tick:It.tick,tickCount:It.tickCount,tickLine:qa.tickLine,tickSize:qa.tickSize,type:It.type,niceTicks:It.niceTicks,width:It.width,yAxisId:0},Lte=e=>{var t=lr(e,Ite);return w.createElement(w.Fragment,null,w.createElement(Dte,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),w.createElement(kte,t))},Ap=w.memo(Lte,ak);Ap.displayName="YAxis";var zte=(e,t)=>t,Ej=V([zte,Ze,f4,Qt,VD,ri,vQ,Yt],wQ);function $te(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function Aj(e){var t=e.currentTarget.getBoundingClientRect(),r,n;if($te(e)){var i=e.currentTarget.getBBox();r=i.width>0?t.width/i.width:1,n=i.height>0?t.height/i.height:1}else{var l=e.currentTarget;r=l.offsetWidth>0?t.width/l.offsetWidth:1,n=l.offsetHeight>0?t.height/l.offsetHeight:1}var o=(c,f)=>({relativeX:Math.round((c-t.left)/r),relativeY:Math.round((f-t.top)/n)});return"touches"in e?Array.from(e.touches).map(c=>o(c.clientX,c.clientY)):o(e.clientX,e.clientY)}var ik=rn("mouseClick"),sk=cf();sk.startListening({actionCreator:ik,effect:(e,t)=>{var r=e.payload,n=Ej(t.getState(),Aj(r));(n==null?void 0:n.activeIndex)!=null&&t.dispatch(uV({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var mb=rn("mouseMove"),lk=cf(),co=null,Ns=null,F0=null;lk.startListening({actionCreator:mb,effect:(e,t)=>{var r=e.payload,n=t.getState(),{throttleDelay:i,throttledEvents:l}=n.eventSettings,o=l==="all"||(l==null?void 0:l.includes("mousemove"));co!==null&&(cancelAnimationFrame(co),co=null),Ns!==null&&(typeof i!="number"||!o)&&(clearTimeout(Ns),Ns=null),F0=Aj(r);var c=()=>{var f=t.getState(),d=wf(f,f.tooltip.settings.shared);if(!F0){co=null,Ns=null;return}if(d==="axis"){var p=Ej(f,F0);(p==null?void 0:p.activeIndex)!=null?t.dispatch(zD({activeIndex:p.activeIndex,activeDataKey:void 0,activeCoordinate:p.activeCoordinate})):t.dispatch(LD())}co=null,Ns=null};if(!o){c();return}i==="raf"?co=requestAnimationFrame(c):typeof i=="number"&&Ns===null&&(Ns=setTimeout(c,i))}});function Bte(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<<CHILDREN>>":t}var dC={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},ok=vr({name:"rootProps",initialState:dC,reducers:{updateOptions:(e,t)=>{var r;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(r=t.payload.barGap)!==null&&r!==void 0?r:dC.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),Ute=ok.reducer,{updateOptions:qte}=ok.actions,Hte=null,Fte={updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)},uk=vr({name:"polarOptions",initialState:Hte,reducers:Fte}),{updatePolarOptions:xie}=uk.actions,Kte=uk.reducer,ck=rn("keyDown"),fk=rn("focus"),dk=rn("blur"),Pp=cf(),fo=null,_s=null,ch=null;Pp.startListening({actionCreator:ck,effect:(e,t)=>{ch=e.payload,fo!==null&&(cancelAnimationFrame(fo),fo=null);var r=t.getState(),{throttleDelay:n,throttledEvents:i}=r.eventSettings,l=i==="all"||i.includes("keydown");_s!==null&&(typeof n!="number"||!l)&&(clearTimeout(_s),_s=null);var o=()=>{try{var c=t.getState(),f=c.rootProps.accessibilityLayer!==!1;if(!f)return;var{keyboardInteraction:d}=c.tooltip,p=ch;if(p!=="ArrowRight"&&p!=="ArrowLeft"&&p!=="Enter")return;var v=Nc(d,sl(c),Yo(c),Vo(c)),y=v==null?-1:Number(v),x=!Number.isFinite(y)||y<0,S=ri(c),j=sl(c),O=wf(c,c.tooltip.settings.shared);if(p==="Enter"){if(x)return;var N=xm(c,O,"hover",String(d.index));t.dispatch(gm({active:!d.active,activeIndex:d.index,activeCoordinate:N}));return}var P=WY(c),E=P==="left-to-right"?1:-1,A=p==="ArrowRight"?1:-1,T;if(x){var M=Yo(c),R=Vo(c),I=A*E,z=Q=>({active:!1,index:String(Q),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(T=-1,I>0){for(var D=0;D<j.length;D++)if(Nc(z(D),j,M,R)!=null){T=D;break}}else for(var H=j.length-1;H>=0;H--)if(Nc(z(H),j,M,R)!=null){T=H;break}if(T<0)return}else{T=y+A*E;var q=(S==null?void 0:S.length)||j.length;if(q===0||T>=q||T<0)return}var ae=xm(c,O,"hover",String(T));t.dispatch(gm({active:!0,activeIndex:T.toString(),activeCoordinate:ae}))}finally{fo=null,_s=null}};if(!l){o();return}n==="raf"?fo=requestAnimationFrame(o):typeof n=="number"&&_s===null&&(o(),ch=null,_s=setTimeout(()=>{ch?o():(_s=null,fo=null)},n))}});Pp.startListening({actionCreator:fk,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var{keyboardInteraction:i}=r.tooltip;if(!i.active&&i.index==null){var l="0",o=wf(r,r.tooltip.settings.shared),c=xm(r,o,"hover",String(l));t.dispatch(gm({active:!0,activeIndex:l,activeCoordinate:c}))}}}});Pp.startListening({actionCreator:dk,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var{keyboardInteraction:i}=r.tooltip;i.active&&t.dispatch(gm({active:!1,activeIndex:i.index,activeCoordinate:i.coordinate}))}}});function hk(e){e.persist();var{currentTarget:t}=e;return new Proxy(e,{get:(r,n)=>{if(n==="currentTarget")return t;var i=Reflect.get(r,n);return typeof i=="function"?i.bind(r):i}})}var yn=rn("externalEvent"),mk=cf(),fh=new Map,gc=new Map,K0=new Map;mk.startListening({actionCreator:yn,effect:(e,t)=>{var{handler:r,reactEvent:n}=e.payload;if(r!=null){var i=n.type,l=hk(n);K0.set(i,{handler:r,reactEvent:l});var o=fh.get(i);o!==void 0&&(cancelAnimationFrame(o),fh.delete(i));var c=t.getState(),{throttleDelay:f,throttledEvents:d}=c.eventSettings,p=d,v=p==="all"||(p==null?void 0:p.includes(i)),y=gc.get(i);y!==void 0&&(typeof f!="number"||!v)&&(clearTimeout(y),gc.delete(i));var x=()=>{var O=K0.get(i);try{if(!O)return;var{handler:N,reactEvent:P}=O,E=t.getState(),A={activeCoordinate:eQ(E),activeDataKey:WD(E),activeIndex:ll(E),activeLabel:ZD(E),activeTooltipIndex:ll(E),isTooltipActive:tQ(E)};N&&N(A,P)}finally{fh.delete(i),gc.delete(i),K0.delete(i)}};if(!v){x();return}if(f==="raf"){var S=requestAnimationFrame(x);fh.set(i,S)}else if(typeof f=="number"){if(!gc.has(i)){x();var j=setTimeout(x,f);gc.set(i,j)}}else x()}}});var Gte=V([ou],e=>e.tooltipItemPayloads),Yte=V([Gte,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(l=>l.settings.graphicalItemId===r);if(n!=null){var{getPosition:i}=n;if(i!=null)return i(t)}}}),pk=rn("touchMove"),vk=cf(),Es=null,Pi=null,hC=null,xc=null;vk.startListening({actionCreator:pk,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){xc=hk(r);var n=t.getState(),{throttleDelay:i,throttledEvents:l}=n.eventSettings,o=l==="all"||l.includes("touchmove");Es!==null&&(cancelAnimationFrame(Es),Es=null),Pi!==null&&(typeof i!="number"||!o)&&(clearTimeout(Pi),Pi=null),hC=Array.from(r.touches).map(f=>Aj({clientX:f.clientX,clientY:f.clientY,currentTarget:r.currentTarget}));var c=()=>{if(xc!=null){var f=t.getState(),d=wf(f,f.tooltip.settings.shared);if(d==="axis"){var p,v=(p=hC)===null||p===void 0?void 0:p[0];if(v==null){Es=null,Pi=null;return}var y=Ej(f,v);(y==null?void 0:y.activeIndex)!=null&&t.dispatch(zD({activeIndex:y.activeIndex,activeDataKey:void 0,activeCoordinate:y.activeCoordinate}))}else if(d==="item"){var x,S=xc.touches[0];if(document.elementFromPoint==null||S==null)return;var j=document.elementFromPoint(S.clientX,S.clientY);if(!j||!j.getAttribute)return;var O=j.getAttribute(r9),N=(x=j.getAttribute(n9))!==null&&x!==void 0?x:void 0,P=pl(f).find(T=>T.id===N);if(O==null||P==null||N==null)return;var{dataKey:E}=P,A=Yte(f,O,N);t.dispatch(ID({activeDataKey:E,activeIndex:O,activeCoordinate:A,activeGraphicalItemId:N}))}Es=null,Pi=null}};if(!o){c();return}i==="raf"?Es=requestAnimationFrame(c):typeof i=="number"&&Pi===null&&(c(),xc=null,Pi=setTimeout(()=>{xc?c():(Pi=null,Es=null)},i))}}});var yk={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},gk=vr({name:"eventSettings",initialState:yk,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=t.payload.throttledEvents)}}}),{setEventSettings:Vte}=gk.actions,Qte=gk.reducer,Xte=qM({brush:BW,cartesianAxis:SW,chartData:JQ,errorBars:$J,eventSettings:Qte,graphicalItems:JZ,layout:zq,legend:X9,options:VQ,polarAxis:SZ,polarOptions:Kte,referenceElements:FW,renderedTicks:lJ,rootProps:Ute,tooltip:cV,zIndex:IQ}),Zte=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return uq({reducer:Xte,preloadedState:t,middleware:n=>{var i;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((i="es6")!==null&&i!==void 0?i:"")}).concat([sk.middleware,lk.middleware,Pp.middleware,mk.middleware,vk.middleware])},enhancers:n=>{var i=n;return typeof n=="function"&&(i=n()),i.concat(nR({type:"raf"}))},devTools:{serialize:{replacer:Bte},name:"recharts-".concat(r)}})};function Wte(e){var{preloadedState:t,children:r,reduxStoreName:n}=e,i=yr(),l=w.useRef(null);if(i)return r;l.current==null&&(l.current=Zte(t,n));var o=rS;return w.createElement(dH,{context:o,store:l.current},r)}function Jte(e){var{layout:t,margin:r}=e,n=ct(),i=yr();return w.useEffect(()=>{i||(n(kq(t)),n(Dq(r)))},[n,i,t,r]),null}var ere=w.memo(Jte,eu);function tre(e){var t=ct();return w.useEffect(()=>{t(qte(e))},[t,e]),null}var rre=e=>{var t=ct();return w.useEffect(()=>{t(Vte(e))},[t,e]),null},nre=w.memo(rre,eu);function mC(e){var{zIndex:t,isPanorama:r}=e,n=w.useRef(null),i=ct();return w.useLayoutEffect(()=>(n.current&&i(DQ({zIndex:t,element:n.current,isPanorama:r})),()=>{i(kQ({zIndex:t,isPanorama:r}))}),[i,t,r]),w.createElement("g",{tabIndex:-1,ref:n,className:"recharts-zIndex-layer_".concat(t)})}function pC(e){var{children:t,isPanorama:r}=e,n=ge(NQ);if(!n||n.length===0)return t;var i=n.filter(o=>o<0),l=n.filter(o=>o>0);return w.createElement(w.Fragment,null,i.map(o=>w.createElement(mC,{key:o,zIndex:o,isPanorama:r})),t,l.map(o=>w.createElement(mC,{key:o,zIndex:o,isPanorama:r})))}var are=["children"];function ire(e,t){if(e==null)return{};var r,n,i=sre(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function sre(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function _m(){return _m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_m.apply(null,arguments)}var lre={width:"100%",height:"100%",display:"block"},ore=w.forwardRef((e,t)=>{var r=hS(),n=mS(),i=kR();if(!ia(r)||!ia(n))return null;var{children:l,otherAttributes:o,title:c,desc:f}=e,d,p;return o!=null&&(typeof o.tabIndex=="number"?d=o.tabIndex:d=i?0:void 0,typeof o.role=="string"?p=o.role:p=i?"application":void 0),w.createElement(Gb,_m({},o,{title:c,desc:f,role:p,tabIndex:d,width:r,height:n,style:lre,ref:t}),l)}),ure=e=>{var{children:t}=e,r=ge(tp);if(!r)return null;var{width:n,height:i,y:l,x:o}=r;return w.createElement(Gb,{width:n,height:i,x:o,y:l},t)},vC=w.forwardRef((e,t)=>{var{children:r}=e,n=ire(e,are),i=yr();return i?w.createElement(ure,null,w.createElement(pC,{isPanorama:!0},r)):w.createElement(ore,_m({ref:t},n),w.createElement(pC,{isPanorama:!1},r))});function cre(){var e=ct(),[t,r]=w.useState(null),n=ge(t9);return w.useEffect(()=>{if(t!=null){var i=t.getBoundingClientRect(),l=i.width/t.offsetWidth;Be(l)&&l!==n&&e(Lq(l))}},[t,e,n]),r}function yC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function fre(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?yC(Object(r),!0).forEach(function(n){dre(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):yC(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function dre(e,t,r){return(t=hre(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function hre(e){var t=mre(e,"string");return typeof t=="symbol"?t:t+""}function mre(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Wi(){return Wi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Wi.apply(null,arguments)}var pre=()=>(oX(),null);function Em(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var vre=w.forwardRef((e,t)=>{var r,n,i=w.useRef(null),[l,o]=w.useState({containerWidth:Em((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:Em((n=e.style)===null||n===void 0?void 0:n.height)}),c=w.useCallback((d,p)=>{o(v=>{var y=Math.round(d),x=Math.round(p);return v.containerWidth===y&&v.containerHeight===x?v:{containerWidth:y,containerHeight:x}})},[]),f=w.useCallback(d=>{if(typeof t=="function"&&t(d),i.current!=null&&(i.current.disconnect(),i.current=null),d!=null&&typeof ResizeObserver<"u"){var{width:p,height:v}=d.getBoundingClientRect();c(p,v);var y=S=>{var j=S[0];if(j!=null){var{width:O,height:N}=j.contentRect;c(O,N)}},x=new ResizeObserver(y);x.observe(d),i.current=x}},[t,c]);return w.useEffect(()=>()=>{var d=i.current;d!=null&&d.disconnect()},[c]),w.createElement(w.Fragment,null,w.createElement(df,{width:l.containerWidth,height:l.containerHeight}),w.createElement("div",Wi({ref:f},e)))}),yre=w.forwardRef((e,t)=>{var{width:r,height:n}=e,[i,l]=w.useState({containerWidth:Em(r),containerHeight:Em(n)}),o=w.useCallback((f,d)=>{l(p=>{var v=Math.round(f),y=Math.round(d);return p.containerWidth===v&&p.containerHeight===y?p:{containerWidth:v,containerHeight:y}})},[]),c=w.useCallback(f=>{if(typeof t=="function"&&t(f),f!=null){var{width:d,height:p}=f.getBoundingClientRect();o(d,p)}},[t,o]);return w.createElement(w.Fragment,null,w.createElement(df,{width:i.containerWidth,height:i.containerHeight}),w.createElement("div",Wi({ref:c},e)))}),gre=w.forwardRef((e,t)=>{var{width:r,height:n}=e;return w.createElement(w.Fragment,null,w.createElement(df,{width:r,height:n}),w.createElement("div",Wi({ref:t},e)))}),xre=w.forwardRef((e,t)=>{var{width:r,height:n}=e;return typeof r=="string"||typeof n=="string"?w.createElement(yre,Wi({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?w.createElement(gre,Wi({},e,{width:r,height:n,ref:t})):w.createElement(w.Fragment,null,w.createElement(df,{width:r,height:n}),w.createElement("div",Wi({ref:t},e)))});function bre(e){return e?vre:xre}var Sre=w.forwardRef((e,t)=>{var{children:r,className:n,height:i,onClick:l,onContextMenu:o,onDoubleClick:c,onMouseDown:f,onMouseEnter:d,onMouseLeave:p,onMouseMove:v,onMouseUp:y,onTouchEnd:x,onTouchMove:S,onTouchStart:j,style:O,width:N,responsive:P,dispatchTouchEvents:E=!0}=e,A=w.useRef(null),T=ct(),[M,R]=w.useState(null),[I,z]=w.useState(null),D=cre(),H=cS(),q=(H==null?void 0:H.width)>0?H.width:N,ae=(H==null?void 0:H.height)>0?H.height:i,Q=w.useCallback(te=>{D(te),typeof t=="function"&&t(te),R(te),z(te),te!=null&&(A.current=te)},[D,t,R,z]),Z=w.useCallback(te=>{T(ik(te)),T(yn({handler:l,reactEvent:te}))},[T,l]),B=w.useCallback(te=>{T(mb(te)),T(yn({handler:d,reactEvent:te}))},[T,d]),K=w.useCallback(te=>{T(LD()),T(yn({handler:p,reactEvent:te}))},[T,p]),ee=w.useCallback(te=>{T(mb(te)),T(yn({handler:v,reactEvent:te}))},[T,v]),se=w.useCallback(()=>{T(fk())},[T]),ue=w.useCallback(()=>{T(dk())},[T]),k=w.useCallback(te=>{T(ck(te.key))},[T]),W=w.useCallback(te=>{T(yn({handler:o,reactEvent:te}))},[T,o]),oe=w.useCallback(te=>{T(yn({handler:c,reactEvent:te}))},[T,c]),le=w.useCallback(te=>{T(yn({handler:f,reactEvent:te}))},[T,f]),ve=w.useCallback(te=>{T(yn({handler:y,reactEvent:te}))},[T,y]),we=w.useCallback(te=>{T(yn({handler:j,reactEvent:te}))},[T,j]),Oe=w.useCallback(te=>{E&&T(pk(te)),T(yn({handler:S,reactEvent:te}))},[T,E,S]),Ce=w.useCallback(te=>{T(yn({handler:x,reactEvent:te}))},[T,x]),fe=bre(P);return w.createElement(i3.Provider,{value:M},w.createElement(nM.Provider,{value:I},w.createElement(fe,{width:q??(O==null?void 0:O.width),height:ae??(O==null?void 0:O.height),className:Xe("recharts-wrapper",n),style:fre({position:"relative",cursor:"default",width:q,height:ae},O),onClick:Z,onContextMenu:W,onDoubleClick:oe,onFocus:se,onBlur:ue,onKeyDown:k,onMouseDown:le,onMouseEnter:B,onMouseLeave:K,onMouseMove:ee,onMouseUp:ve,onTouchEnd:Ce,onTouchMove:Oe,onTouchStart:we,ref:Q},w.createElement(pre,null),r)))}),jre=["width","height","responsive","children","className","style","compact","title","desc"];function wre(e,t){if(e==null)return{};var r,n,i=Ore(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function Ore(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var Nre=w.forwardRef((e,t)=>{var{width:r,height:n,responsive:i,children:l,className:o,style:c,compact:f,title:d,desc:p}=e,v=wre(e,jre),y=kn(v);return f?w.createElement(w.Fragment,null,w.createElement(df,{width:r,height:n}),w.createElement(vC,{otherAttributes:y,title:d,desc:p},l)):w.createElement(Sre,{className:o,style:c,width:r,height:n,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},w.createElement(vC,{otherAttributes:y,title:d,desc:p,ref:t},w.createElement(GW,null,l)))});function pb(){return pb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},pb.apply(null,arguments)}function gC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function _re(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?gC(Object(r),!0).forEach(function(n){Ere(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):gC(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ere(e,t,r){return(t=Are(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Are(e){var t=Pre(e,"string");return typeof t=="symbol"?t:t+""}function Pre(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Tre={top:5,right:5,bottom:5,left:5},Cre=_re({accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,layout:"horizontal",margin:Tre,responsive:!1,reverseStackOrder:!1,stackOffset:"none",syncMethod:"index"},yk),xk=w.forwardRef(function(t,r){var n,i=lr(t.categoricalChartProps,Cre),{chartName:l,defaultTooltipEventType:o,validateTooltipEventTypes:c,tooltipPayloadSearcher:f,categoricalChartProps:d}=t,p={chartName:l,defaultTooltipEventType:o,validateTooltipEventTypes:c,tooltipPayloadSearcher:f,eventEmitter:void 0};return w.createElement(Wte,{preloadedState:{options:p},reduxStoreName:(n=d.id)!==null&&n!==void 0?n:l},w.createElement($W,{chartData:d.data}),w.createElement(ere,{layout:i.layout,margin:i.margin}),w.createElement(nre,{throttleDelay:i.throttleDelay,throttledEvents:i.throttledEvents}),w.createElement(tre,{baseValue:i.baseValue,accessibilityLayer:i.accessibilityLayer,barCategoryGap:i.barCategoryGap,maxBarSize:i.maxBarSize,stackOffset:i.stackOffset,barGap:i.barGap,barSize:i.barSize,syncId:i.syncId,syncMethod:i.syncMethod,className:i.className,reverseStackOrder:i.reverseStackOrder}),w.createElement(Nre,pb({},i,{ref:r})))}),Mre=["axis"],Rre=w.forwardRef((e,t)=>w.createElement(xk,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Mre,tooltipPayloadSearcher:s3,categoricalChartProps:e,ref:t})),Dre=["axis","item"],bk=w.forwardRef((e,t)=>w.createElement(xk,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Dre,tooltipPayloadSearcher:s3,categoricalChartProps:e,ref:t}));const Di="",vb=[{value:"all",label:"All time"},{value:"24h",label:"Last 24h",windowMs:1440*60*1e3},{value:"7d",label:"Last 7d",windowMs:10080*60*1e3},{value:"30d",label:"Last 30d",windowMs:720*60*60*1e3}],G0=10;function kre(e,t,r=new Date){const n=Ire(e),i=zre(e,n),l=$re(n.flatMap(v=>v.category??[])),o=l.length>0,c=n.some(v=>v.startedAtMs!==void 0),f=vb.find(v=>v.value===t.timePeriod)??vb[0],d=f.windowMs===void 0?void 0:r.getTime()-f.windowMs,p=n.filter(v=>t.experiment&&v.experiment!==t.experiment||t.category&&v.category!==t.category?!1:d!==void 0?v.startedAtMs!==void 0&&v.startedAtMs>=d:!0);return{buckets:Bre(p.map(v=>v.score)),experimentOptions:i,categoryOptions:l,totalScores:n.length,filteredScores:p.length,categoryAvailable:o,hasTimestampedScores:c}}function Ire(e){return e.runs&&e.runs.length>0?e.runs.flatMap(t=>Lre(t)):e.cells.flatMap(t=>t.tests.flatMap(r=>{const n=Sk(r,t.experiment);return n?[n]:[]}))}function Lre(e){const t=qre(e.started_at);return e.tests.flatMap(r=>{const n=Sk(r,e.experiment);return n?[{...n,startedAtMs:t}]:[]})}function Sk(e,t){if(!Number.isFinite(e.score))return;const r=Ure(e.category);return{score:e.score,experiment:t,...r&&{category:r}}}function zre(e,t){const r=new Map,n=new Set(e.experiments);for(const i of e.cells)n.add(i.experiment);for(const i of t)n.add(i.experiment),r.set(i.experiment,(r.get(i.experiment)??0)+1);return[...n].sort((i,l)=>i.localeCompare(l)).map(i=>({value:i,label:i,count:r.get(i)??0}))}function $re(e){const t=new Map;for(const r of e)t.set(r,(t.get(r)??0)+1);return[...t.entries()].sort(([r],[n])=>r.localeCompare(n)).map(([r,n])=>({value:r,label:r,count:n}))}function Bre(e){if(e.length===0)return[];const t=Array.from({length:G0},(r,n)=>({range:`${n*10}-${(n+1)*10}%`,count:0}));for(const r of e){const n=Math.max(0,Math.min(r,1)),i=Math.min(Math.floor(n*G0),G0-1);t[i].count++}return t}function Ure(e){const t=e==null?void 0:e.trim();return t||void 0}function qre(e){const t=Date.parse(e);return Number.isFinite(t)?t:void 0}const Ot={green:"#34d399",red:"#f87171",gray:"#4b5563",cyan:"#22d3ee",gridLine:"#1f2937",labelText:"#9ca3af"},xC=["#22d3ee","#34d399","#facc15","#f87171","#a78bfa","#fb923c","#f472b6","#60a5fa"];function Hre(e){return xC[e%xC.length]}function Fre({data:e,projectId:t}){const[r,n]=w.useState(!0),[i,l]=w.useState(""),o=e.targets,c=Ke(t?K2(t,i||void 0):b8(i||void 0)),f=i?c.data:void 0,d=w.useMemo(()=>Zre(e.runs??[]),[e.runs]);return m.jsxs("div",{className:"rounded-lg border border-gray-800",children:[m.jsxs("button",{type:"button",onClick:()=>n(p=>!p),className:"flex w-full items-center justify-between px-4 py-3 text-left transition-colors hover:bg-gray-900/30",children:[m.jsx("span",{className:"text-sm font-medium text-gray-300",children:"Analytics"}),m.jsx("span",{className:"text-xs text-gray-500",children:r?"▸ Show":"▾ Hide"})]}),!r&&m.jsxs("div",{className:"space-y-6 border-t border-gray-800 px-4 py-4",children:[m.jsxs("div",{className:"flex items-center gap-3",children:[m.jsx("label",{htmlFor:"baseline-select",className:"text-xs font-medium uppercase tracking-wider text-gray-500",children:"Baseline target"}),m.jsxs("select",{id:"baseline-select",value:i,onChange:p=>l(p.target.value),className:"rounded-md border border-gray-700 bg-gray-950 px-3 py-1.5 text-sm text-gray-100 focus:border-cyan-500 focus:outline-none focus:ring-1 focus:ring-cyan-500",children:[m.jsx("option",{value:"",children:"Select a baseline…"}),o.map(p=>m.jsx("option",{value:p,children:p},p))]}),i&&c.isLoading&&m.jsx("span",{className:"text-xs text-gray-500",children:"Loading…"})]}),i&&f&&m.jsx(Kre,{data:f,baseline:i}),e.runs&&e.runs.length>0&&o.length>1&&m.jsx(Gre,{runs:e.runs,targets:o}),i&&f&&m.jsx(Yre,{data:f,baseline:i}),m.jsx(Vre,{data:e}),d.length>1&&o.length>0&&m.jsx(Wre,{data:d,targets:o}),!i&&m.jsx("p",{className:"text-xs text-gray-500",children:"Select a baseline target above to see gain and delta charts."})]})]})}function Pj({active:e,payload:t,label:r}){return!e||!(t!=null&&t.length)?null:m.jsxs("div",{className:"rounded-md border border-gray-700 bg-gray-900 px-3 py-2 text-xs shadow-xl",children:[r&&m.jsx("div",{className:"mb-1 font-medium text-gray-300",children:r}),t.map((n,i)=>m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"h-2 w-2 rounded-full",style:{backgroundColor:n.color}}),m.jsxs("span",{className:"text-gray-400",children:[n.name,":"]}),m.jsx("span",{className:"tabular-nums text-gray-200",children:typeof n.value=="number"?n.value.toFixed(3):n.value})]},`${n.name}-${i}`))]})}function Qo({title:e,children:t}){return m.jsxs("div",{className:"space-y-3",children:[m.jsx("h3",{className:"text-sm font-medium text-gray-400",children:e}),t]})}function Kre({data:e,baseline:t}){const r=w.useMemo(()=>{const i=[];for(const l of e.cells)l.target!==t&&l.delta!==void 0&&i.push({experiment:l.experiment,target:l.target,g:l.normalized_gain??null,delta:l.delta});return i.sort((l,o)=>Math.abs(o.g??0)-Math.abs(l.g??0)),i},[e.cells,t]);if(r.length===0)return m.jsx(Qo,{title:"Normalized Gain (g)",children:m.jsx("p",{className:"text-xs text-gray-500",children:"No gain data available. Ensure multiple targets exist."})});const n=r.map(i=>({name:`${i.target} · ${i.experiment}`,g:i.g??0,isNull:i.g===null}));return m.jsx(Qo,{title:"Normalized Gain (g)",children:m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900/30 p-3",children:m.jsx(fS,{width:"100%",height:Math.max(200,n.length*32),children:m.jsxs(bk,{data:n,layout:"vertical",margin:{left:120,right:20,top:5,bottom:5},children:[m.jsx(_p,{strokeDasharray:"3 3",stroke:Ot.gridLine,horizontal:!1}),m.jsx(Ep,{type:"number",tick:{fill:Ot.labelText,fontSize:11},axisLine:{stroke:Ot.gridLine}}),m.jsx(Ap,{type:"category",dataKey:"name",tick:{fill:Ot.labelText,fontSize:11},width:120,axisLine:{stroke:Ot.gridLine}}),m.jsx(vj,{content:m.jsx(Pj,{})}),m.jsx(_j,{dataKey:"g",name:"Normalized Gain",children:n.map(i=>m.jsx(yj,{fill:i.isNull?Ot.gray:i.g>0?Ot.green:i.g<0?Ot.red:Ot.gray},i.name))})]})})})})}function Gre({runs:e,targets:t}){const{tags:r,grid:n}=w.useMemo(()=>{const i=new Map;for(const c of e)for(const f of c.tags??[]){let d=i.get(f);d||(d=new Map,i.set(f,d));let p=d.get(c.target);p||(p={passed:0,total:0},d.set(c.target,p)),p.passed+=c.passed_count,p.total+=c.eval_count}const l=[...i.keys()].sort(),o=l.map(c=>{const f={tag:c},d=i.get(c);if(!d)return f;for(const p of t){const v=d.get(p);f[p]=v&&v.total>0?v.passed/v.total:-1}return f});return{tags:l,grid:o}},[e,t]);return r.length===0?null:m.jsx(Qo,{title:"Pass Rate by Tag × Target",children:m.jsx("div",{className:"overflow-x-auto rounded-lg border border-gray-800",children:m.jsxs("table",{className:"w-full text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Tag"}),t.map(i=>m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:i},i))]})}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:n.map(i=>m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[m.jsx("td",{className:"px-4 py-3 font-medium text-gray-200",children:i.tag}),t.map(l=>{const o=i[l];if(o<0)return m.jsx("td",{className:"px-4 py-3 text-center text-gray-600",children:"—"},l);const c=Math.round(o*100),f=o>=.8?"bg-emerald-400/20 text-emerald-400":o>=.5?"bg-yellow-400/20 text-yellow-400":"bg-red-400/20 text-red-400";return m.jsx("td",{className:"px-4 py-3",children:m.jsxs("span",{className:`inline-block rounded px-2 py-0.5 text-xs tabular-nums font-medium ${f}`,children:[c,"%"]})},l)})]},i.tag))})]})})})}function Yre({data:e,baseline:t}){const r=w.useMemo(()=>e.cells.filter(n=>n.target!==t&&n.delta!==void 0&&n.delta<0).sort((n,i)=>(n.delta??0)-(i.delta??0)),[e.cells,t]);return r.length===0?null:m.jsx(Qo,{title:"Regressions vs. Baseline",children:m.jsx("div",{className:"overflow-x-auto rounded-lg border border-gray-800",children:m.jsxs("table",{className:"w-full text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Experiment"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Target"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Avg Score"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Delta"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"g"})]})}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:r.map(n=>{var i;return m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[m.jsx("td",{className:"px-4 py-3 font-medium text-gray-200",children:n.experiment}),m.jsx("td",{className:"px-4 py-3 text-gray-300",children:n.target}),m.jsxs("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:[Math.round(n.avg_score*100),"%"]}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-red-400",children:(i=n.delta)==null?void 0:i.toFixed(3)}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-red-400",children:n.normalized_gain!==void 0&&n.normalized_gain!==null?n.normalized_gain.toFixed(3):"—"})]},`${n.experiment}::${n.target}`)})})]})})})}const bC={experiment:Di,category:Di,timePeriod:"all"};function Vre({data:e}){const[t,r]=w.useState(bC),n=w.useMemo(()=>kre(e,t),[e,t]);w.useEffect(()=>{r(d=>{const p=!d.experiment||n.experimentOptions.some(x=>x.value===d.experiment),v=!d.category||n.categoryOptions.some(x=>x.value===d.category),y=d.timePeriod==="all"||n.hasTimestampedScores;return p&&v&&y?d:{experiment:p?d.experiment:Di,category:v?d.category:Di,timePeriod:y?d.timePeriod:"all"}})},[n.experimentOptions,n.categoryOptions,n.hasTimestampedScores]);const i=(d,p)=>{r(v=>({...v,[d]:p}))},l=()=>r(bC),o=t.experiment!==Di||t.category!==Di||t.timePeriod!=="all",c=n.totalScores>0,f=Xre(n,t);return m.jsx(Qo,{title:"Score Distribution",children:m.jsxs("div",{className:"space-y-3",children:[m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900/30 px-3 py-3",children:[m.jsxs("div",{className:"grid gap-3 sm:grid-cols-3",children:[m.jsxs(Y0,{id:"score-distribution-experiment",label:"Experiment",value:t.experiment,onChange:d=>i("experiment",d),disabled:n.experimentOptions.length===0,children:[m.jsx("option",{value:Di,children:"All experiments"}),n.experimentOptions.map(d=>m.jsxs("option",{value:d.value,children:[d.label," (",d.count,")"]},d.value))]}),m.jsxs(Y0,{id:"score-distribution-category",label:"Category",value:t.category,onChange:d=>i("category",d),disabled:!n.categoryAvailable,help:n.categoryAvailable||!c?void 0:"Category metadata is not present in these compare results.",children:[m.jsx("option",{value:Di,children:"All categories"}),n.categoryOptions.map(d=>m.jsxs("option",{value:d.value,children:[d.label," (",d.count,")"]},d.value))]}),m.jsx(Y0,{id:"score-distribution-time",label:"Time period",value:t.timePeriod,onChange:d=>i("timePeriod",d),disabled:!n.hasTimestampedScores,help:n.hasTimestampedScores||!c?void 0:"Recent windows need run timestamps from compare data.",children:vb.map(d=>m.jsx("option",{value:d.value,children:d.label},d.value))})]}),m.jsxs("div",{className:"mt-3 flex flex-wrap items-center justify-between gap-2 border-t border-gray-800/70 pt-3 text-xs",children:[m.jsxs("span",{className:"tabular-nums text-gray-400",children:["Showing ",m.jsx("span",{className:"text-gray-200",children:n.filteredScores})," of"," ",m.jsx("span",{className:"text-gray-200",children:n.totalScores})," scores"]}),o&&m.jsx("button",{type:"button",onClick:l,className:"text-gray-500 underline-offset-2 transition-colors hover:text-gray-300 hover:underline",children:"Clear filters"})]})]}),n.buckets.length>0?m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900/30 p-3",children:m.jsx(fS,{width:"100%",height:200,children:m.jsxs(bk,{data:n.buckets,margin:{left:10,right:10,top:5,bottom:5},children:[m.jsx(_p,{strokeDasharray:"3 3",stroke:Ot.gridLine,vertical:!1}),m.jsx(Ep,{dataKey:"range",tick:{fill:Ot.labelText,fontSize:11},axisLine:{stroke:Ot.gridLine}}),m.jsx(Ap,{tick:{fill:Ot.labelText,fontSize:11},axisLine:{stroke:Ot.gridLine}}),m.jsx(vj,{content:m.jsx(Pj,{})}),m.jsx(_j,{dataKey:"count",name:"Tests",fill:Ot.cyan,radius:[2,2,0,0]})]})})}):m.jsx(Qre,{message:f})]})})}function Y0({id:e,label:t,value:r,onChange:n,disabled:i,help:l,children:o}){return m.jsxs("div",{className:"min-w-0 space-y-1",children:[m.jsx("label",{htmlFor:e,className:"block text-xs font-medium uppercase tracking-wider text-gray-500",children:t}),m.jsx("select",{id:e,value:r,disabled:i,onChange:c=>n(c.target.value),className:"w-full rounded-md border border-gray-700 bg-gray-950 px-3 py-1.5 text-sm text-gray-100 transition-colors focus:border-cyan-500 focus:outline-none focus:ring-1 focus:ring-cyan-500 disabled:cursor-not-allowed disabled:border-gray-800 disabled:text-gray-600",children:o}),l&&m.jsx("p",{className:"text-xs leading-5 text-gray-500",children:l})]})}function Qre({message:e}){return m.jsx("div",{className:"rounded-lg border border-dashed border-gray-800 bg-gray-900/20 px-4 py-8 text-center",children:m.jsx("p",{className:"text-sm text-gray-400",children:e})})}function Xre(e,t){return e.totalScores===0?"No test scores are available in this comparison yet.":t.category&&!e.categoryAvailable?"Category metadata is not available in these compare results.":"No scores match the selected distribution filters."}function Zre(e){if(e.length===0)return[];const t=new Map;for(const n of e){const i=n.started_at.slice(0,10);let l=t.get(i);l||(l=new Map,t.set(i,l));let o=l.get(n.target);o||(o={scoreSum:0,count:0},l.set(n.target,o)),o.scoreSum+=n.avg_score,o.count++}return[...t.keys()].sort().map(n=>{const i={date:n},l=t.get(n);if(!l)return i;for(const[o,c]of l)i[o]=Math.round(c.scoreSum/c.count*1e3)/1e3;return i})}function Wre({data:e,targets:t}){return m.jsx(Qo,{title:"Score Trend Over Time",children:m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900/30 p-3",children:m.jsx(fS,{width:"100%",height:250,children:m.jsxs(Rre,{data:e,margin:{left:10,right:20,top:5,bottom:5},children:[m.jsx(_p,{strokeDasharray:"3 3",stroke:Ot.gridLine}),m.jsx(Ep,{dataKey:"date",tick:{fill:Ot.labelText,fontSize:11},axisLine:{stroke:Ot.gridLine}}),m.jsx(Ap,{domain:[0,1],tick:{fill:Ot.labelText,fontSize:11},axisLine:{stroke:Ot.gridLine}}),m.jsx(vj,{content:m.jsx(Pj,{})}),m.jsx(RR,{wrapperStyle:{fontSize:12,color:Ot.labelText}}),t.map((r,n)=>m.jsx(J3,{type:"monotone",dataKey:r,stroke:Hre(n),strokeWidth:2,dot:{r:3},connectNulls:!0},r))]})})})})}function en({rate:e}){const t=Math.round(e*100);return m.jsxs("div",{className:"relative h-5 w-20 overflow-hidden rounded-full bg-gray-800",children:[m.jsx("div",{className:"absolute inset-y-0 left-0 bg-gradient-to-r from-blue-400 to-blue-600",style:{width:`${t}%`}}),m.jsxs("span",{className:"absolute inset-0 flex items-center justify-center text-xs font-semibold tabular-nums text-white",children:[t,"%"]})]})}function jk({data:e,isLoading:t,isError:r,error:n,projectId:i,readOnly:l}){var P,E;const[o,c]=w.useState("aggregated"),[f,d]=w.useState([]),{allTags:p,tagCounts:v}=w.useMemo(()=>{const A=new Map;for(const T of(e==null?void 0:e.runs)??[])for(const M of T.tags??[])A.set(M,(A.get(M)??0)+1);return{allTags:[...A.keys()].sort(),tagCounts:A}},[e==null?void 0:e.runs]),y=w.useMemo(()=>{if(!e||f.length===0)return e;const A=new Set(f),T=(e.runs??[]).filter(D=>(D.tags??[]).some(H=>A.has(H))),M=new Map,R=new Set,I=new Set;for(const D of T){R.add(D.experiment),I.add(D.target);const H=`${D.experiment}::${D.target}`,q=M.get(H)??{experiment:D.experiment,target:D.target,eval_count:0,quality_count:0,passed_count:0,execution_error_count:0,score_sum:0,tests:[]},ae=zo(D);q.eval_count+=D.eval_count,q.quality_count+=ae,q.passed_count+=D.passed_count,q.execution_error_count+=Gt(D),q.score_sum+=D.avg_score*ae;for(const Q of D.tests)q.tests.push(Q);M.set(H,q)}const z=[...M.values()].map(D=>{const H=new Map;for(const q of D.tests)H.set(q.test_id,q);return{experiment:D.experiment,target:D.target,eval_count:D.eval_count,quality_count:D.quality_count,passed_count:D.passed_count,execution_error_count:D.execution_error_count,pass_rate:D.quality_count>0?D.passed_count/D.quality_count:0,avg_score:D.quality_count>0?D.score_sum/D.quality_count:0,tests:[...H.values()].slice(-100)}});return{...e,experiments:[...R].sort(),targets:[...I].sort(),cells:z,runs:T}},[e,f]),x=A=>{d(T=>T.includes(A)?T.filter(M=>M!==A):[...T,A])},S=()=>d([]),j=((P=y==null?void 0:y.runs)==null?void 0:P.length)??0,O=e&&e.cells.length>0,N=f.length>0&&y&&(((E=y.runs)==null?void 0:E.length)??0)===0;return m.jsxs("div",{className:"space-y-4",children:[m.jsx(ene,{mode:o,onModeChange:c,runsCount:j}),t&&m.jsx(pne,{}),!t&&r&&n&&m.jsx(hne,{message:`Failed to load comparison data: ${n.message}`}),!t&&!r&&!O&&m.jsx(mne,{}),!t&&!r&&O&&m.jsxs(m.Fragment,{children:[p.length>0&&m.jsx(Jre,{allTags:p,tagCounts:v,selected:f,onToggle:x,onClear:S}),N?m.jsx(Tp,{headline:`No runs match ${f.map(A=>`\`${A}\``).join(" + ")}`,body:"Clear the filter or pick a different tag combination.",action:{label:"Clear filter",onClick:S}}):y&&m.jsxs(m.Fragment,{children:[o==="aggregated"&&m.jsx(rne,{data:y,projectId:i}),o==="per-run"&&m.jsx(lne,{data:y,projectId:i,readOnly:l??!1})]})]})]})}function Jre({allTags:e,tagCounts:t,selected:r,onToggle:n,onClear:i}){const l=new Set(r),o=r.length>0;return m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900/40 px-4 py-3",children:[m.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[m.jsx("span",{className:"text-xs font-medium uppercase tracking-wider text-gray-500",children:"Filter by tag"}),e.map(c=>{const f=l.has(c),d=t.get(c)??0;return m.jsxs("button",{type:"button",onClick:()=>n(c),"aria-pressed":f,className:`inline-flex items-center gap-1.5 rounded-md border px-2 py-0.5 text-xs font-medium transition-colors ${f?"border-cyan-900/60 bg-cyan-950/30 text-cyan-300 hover:border-cyan-800/80":"border-gray-700 text-gray-400 hover:border-gray-600 hover:text-gray-200"}`,children:[m.jsx("span",{children:c}),m.jsx("span",{className:`rounded px-1 text-[0.65rem] tabular-nums ${f?"bg-cyan-900/50 text-cyan-200":"bg-gray-800 text-gray-500"}`,children:d})]},c)}),o&&m.jsx("button",{type:"button",onClick:i,className:"ml-1 text-xs text-gray-500 underline-offset-2 transition-colors hover:text-gray-300 hover:underline",children:"Clear"})]}),m.jsxs("p",{className:"mt-2 text-xs text-gray-500",children:["Showing runs with ",m.jsx("span",{className:"text-gray-400",children:"any"})," selected tag."]})]})}function ene({mode:e,onModeChange:t,runsCount:r}){return m.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[m.jsxs("div",{children:[m.jsx("h2",{className:"text-xl font-semibold text-white",children:"Analyze runs"}),m.jsx("p",{className:"mt-1 text-sm text-gray-400",children:"Study one experiment against another, or pit individual runs head-to-head."})]}),m.jsx(tne,{mode:e,onChange:t,runsCount:r})]})}function tne({mode:e,onChange:t,runsCount:r}){const n=r===0;return m.jsxs("div",{role:"tablist","aria-label":"Comparison view mode",className:"inline-flex items-center rounded-lg border border-gray-800 bg-gray-900/50 p-1",children:[m.jsx(SC,{active:e==="aggregated",onClick:()=>t("aggregated"),children:"Aggregated"}),m.jsxs(SC,{active:e==="per-run",onClick:()=>t("per-run"),disabled:n,title:n?"No runs available":void 0,children:["Per run",r>0&&m.jsx("span",{className:"ml-1.5 rounded bg-gray-800 px-1.5 py-0.5 text-xs tabular-nums text-gray-400",children:r})]})]})}function SC({active:e,onClick:t,disabled:r,title:n,children:i}){return m.jsx("button",{type:"button",role:"tab","aria-selected":e,onClick:t,disabled:r,title:n,className:`rounded-md px-3 py-1.5 text-sm font-medium transition-colors ${e?"bg-gray-800 text-cyan-400 shadow-sm":"text-gray-400 hover:text-gray-200 disabled:text-gray-600 disabled:hover:text-gray-600"}`,children:i})}function rne({data:e,projectId:t}){const{experiments:r,targets:n,cells:i}=e,l=w.useMemo(()=>{const o=new Map;for(const c of i)o.set(`${c.experiment}::${c.target}`,c);return o},[i]);return r.length<=1&&n.length<=1?m.jsx(Tp,{headline:"Not enough variation to compare",body:`The aggregated matrix requires at least 2 experiments or 2 targets. Currently ${r.length} experiment(s) and ${n.length} target(s).`}):m.jsxs("div",{className:"space-y-3",children:[m.jsx(dne,{}),m.jsx("div",{className:"overflow-x-auto rounded-lg border border-gray-800",children:m.jsxs("table",{className:"w-full text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:m.jsx("span",{className:"text-xs uppercase tracking-wider",children:"Target ↓ / Experiment →"})}),r.map(o=>m.jsx("th",{className:"px-4 py-3 font-medium text-gray-300",children:o},o))]})}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:n.map(o=>m.jsx(nne,{target:o,experiments:r,cellMap:l},o))})]})}),m.jsx(Fre,{data:e,projectId:t})]})}function nne({target:e,experiments:t,cellMap:r}){return m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[m.jsx("td",{className:"px-4 py-3 font-medium text-gray-200",children:e}),t.map(n=>{const i=r.get(`${n}::${e}`);return m.jsx("td",{className:"px-4 py-3",children:i?m.jsx(ane,{cell:i}):m.jsx(ine,{})},n)})]})}function ane({cell:e}){const[t,r]=w.useState(!1),n=Math.round(e.avg_score*100),i=zo(e),l=Gt(e);return m.jsxs("div",{className:"space-y-2",children:[m.jsxs("button",{type:"button",className:"group flex w-full flex-col gap-1 rounded-md border border-gray-800 bg-gray-900/40 px-3 py-2 text-left transition-colors hover:border-gray-700 hover:bg-gray-900/70",onClick:()=>r(o=>!o),"aria-expanded":t,children:[m.jsx(en,{rate:e.pass_rate}),m.jsxs("div",{className:"flex items-center gap-2 text-xs tabular-nums text-gray-500",children:[m.jsxs("span",{children:[m.jsx("span",{className:"text-emerald-400",children:e.passed_count}),m.jsx("span",{className:"text-gray-600",children:" / "}),m.jsx("span",{children:i})]}),m.jsx("span",{className:"text-gray-700",children:"·"}),m.jsxs("span",{children:["avg ",n,"%"]}),l>0&&m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"text-gray-700",children:"·"}),m.jsxs("span",{className:"text-amber-400",children:[l," errors"]})]})]})]}),t&&m.jsx(sne,{tests:e.tests})]})}function ine(){return m.jsx("div",{className:"text-center text-gray-600",children:"—"})}function sne({tests:e}){return m.jsxs("div",{className:"rounded-md border border-gray-800 bg-gray-950/60 px-3 py-2",children:[m.jsx("div",{className:"mb-1.5 text-xs font-medium uppercase tracking-wider text-gray-500",children:"Test cases"}),m.jsx("ul",{className:"space-y-1",children:e.map(t=>{const r=t.execution_status==="execution_error";return m.jsxs("li",{className:"flex items-center gap-2 text-xs",children:[m.jsx("span",{"aria-hidden":!0,className:`h-1.5 w-1.5 rounded-full ${r?"bg-amber-400":t.passed?"bg-emerald-400":"bg-red-400"}`}),m.jsx("span",{className:"flex-1 truncate text-gray-300",title:t.test_id,children:t.test_id}),m.jsx("span",{className:`tabular-nums ${r?"text-amber-400":t.passed?"text-emerald-400":"text-red-400"}`,children:r?"error":`${Math.round(t.score*100)}%`})]},t.test_id)})})]})}function lne({data:e,projectId:t,readOnly:r}){const n=e.runs??[],[i,l]=w.useState(new Set),[o,c]=w.useState(!1),[f,d]=w.useState(null),p=x=>{l(S=>{const j=new Set(S);return j.has(x)?j.delete(x):j.add(x),j})},v=()=>l(new Set),y=w.useMemo(()=>n.filter(x=>i.has(x.run_id)),[n,i]);return n.length===0?m.jsx(Tp,{headline:"No runs yet",body:"Run an evaluation to populate the per-run view."}):o&&y.length>=2?m.jsx(cne,{runs:y,onBack:()=>c(!1)}):m.jsxs("div",{className:"space-y-3",children:[m.jsx("div",{className:"flex items-center justify-between text-sm text-gray-400",children:m.jsxs("span",{children:[m.jsx("span",{className:"font-medium text-gray-300",children:n.length})," run",n.length===1?"":"s"," — select two or more to compare side-by-side"]})}),m.jsx("div",{className:"overflow-x-auto rounded-lg border border-gray-800",children:m.jsxs("table",{className:"w-full text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[m.jsx("th",{className:"w-10 px-3 py-3","aria-label":"Select"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Timestamp"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Tags"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Experiment"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Target"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Tests"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Pass Rate"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Avg"})]})}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:n.map(x=>m.jsx(one,{run:x,checked:i.has(x.run_id),onToggle:()=>p(x.run_id),editing:f===x.run_id,onStartEdit:()=>d(x.run_id),onEndEdit:()=>d(null),projectId:t,readOnly:r},x.run_id))})]})}),i.size>0&&m.jsxs("div",{role:"toolbar","aria-label":"Selection actions",className:"sticky bottom-4 z-10 flex items-center justify-between gap-3 rounded-lg border border-cyan-900/50 bg-gray-900/95 px-4 py-3 shadow-xl backdrop-blur",children:[m.jsxs("div",{className:"text-sm text-gray-300",children:[m.jsx("span",{className:"font-semibold tabular-nums text-cyan-400",children:i.size})," ","selected"]}),m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("button",{type:"button",onClick:v,className:"rounded-md px-3 py-1.5 text-sm text-gray-400 transition-colors hover:text-gray-200",children:"Clear"}),m.jsxs("button",{type:"button",disabled:i.size<2,onClick:()=>c(!0),className:"inline-flex items-center gap-1.5 rounded-md bg-cyan-500 px-3 py-1.5 text-sm font-medium text-gray-950 transition-colors hover:bg-cyan-400 disabled:cursor-not-allowed disabled:bg-gray-700 disabled:text-gray-500",children:["Compare ",i.size,m.jsx("span",{"aria-hidden":!0,children:"→"})]})]})]})]})}function one({run:e,checked:t,onToggle:r,editing:n,onStartEdit:i,onEndEdit:l,projectId:o,readOnly:c}){const f=Math.round(e.avg_score*100),d=zo(e),p=Gt(e),v=!c,y=w.useRef(null),x=e.tags??[],S=e.metadata_dirty===!0,j=x[0]??e.run_id,O=vne(e.run_id),N=x.length>0?"inline-flex flex-wrap items-center gap-1 rounded-md px-1 py-0.5 transition-colors hover:bg-gray-800/60":S?"rounded-md border border-yellow-900/60 bg-yellow-950/20 px-2 py-0.5 text-xs text-yellow-300 transition-colors hover:border-yellow-700":"rounded-md border border-dashed border-gray-700 px-2 py-0.5 text-xs text-gray-500 transition-colors hover:border-cyan-800 hover:text-cyan-400",P=w.useRef(n);return w.useEffect(()=>{var E;P.current&&!n&&((E=y.current)==null||E.focus()),P.current=n},[n]),m.jsxs(m.Fragment,{children:[m.jsxs("tr",{className:`transition-colors ${t?"bg-cyan-950/20 hover:bg-cyan-950/30":"hover:bg-gray-900/30"}`,children:[m.jsx("td",{className:"px-3 py-3 align-middle",children:m.jsx("input",{type:"checkbox",className:"h-4 w-4 cursor-pointer rounded border-gray-700 bg-gray-900 text-cyan-500 accent-cyan-500 focus:ring-cyan-500",checked:t,onChange:r,"aria-label":`Select run ${j}`})}),m.jsxs("td",{className:"px-4 py-3 align-middle",title:e.run_id,children:[m.jsx("div",{className:"font-medium text-gray-200 tabular-nums",children:wk(e.started_at)}),O&&m.jsx("div",{className:"text-xs text-gray-500",children:O})]}),m.jsx("td",{className:"px-4 py-3 align-middle",children:v?m.jsx("button",{ref:y,type:"button",onClick:E=>{E.stopPropagation(),i()},className:N,"aria-label":x.length>0?"Edit tags":"Add tags",children:x.length>0?m.jsx(jC,{tags:x,dirty:S}):S?m.jsx(m.Fragment,{children:"Pending clear"}):m.jsx(m.Fragment,{children:"+ tags"})}):x.length>0?m.jsx(jC,{tags:x,dirty:S}):m.jsx("span",{className:S?"text-yellow-400":"text-gray-600",children:S?"Pending clear":"—"})}),m.jsx("td",{className:"px-4 py-3 align-middle text-gray-300",children:e.experiment}),m.jsx("td",{className:"px-4 py-3 align-middle text-gray-300",children:e.target}),m.jsxs("td",{className:"px-4 py-3 align-middle text-right tabular-nums text-gray-400",children:[m.jsx("div",{children:d}),p>0&&m.jsxs("div",{className:"text-xs text-amber-400",children:[p," errors"]})]}),m.jsx("td",{className:"px-4 py-3 align-middle",children:m.jsx(en,{rate:e.pass_rate})}),m.jsxs("td",{className:"px-4 py-3 align-middle text-right tabular-nums text-gray-400",children:[f,"%"]})]}),n&&m.jsx("tr",{className:"bg-gray-950/80",children:m.jsx("td",{colSpan:8,className:"px-4 py-3",children:m.jsx(une,{runId:e.run_id,currentTags:x,source:e.source,projectId:o,onClose:l})})})]})}function jC({tags:e,dirty:t}){return m.jsxs("span",{className:"inline-flex flex-wrap items-center gap-1",children:[e.map(r=>m.jsx("span",{className:"rounded-md border border-cyan-900/60 bg-cyan-950/30 px-2 py-0.5 text-xs font-medium text-cyan-300",children:r},r)),t?m.jsx("span",{className:"rounded-md border border-yellow-900/60 bg-yellow-950/20 px-2 py-0.5 text-xs font-medium text-yellow-300",children:"Pending sync"}):null]})}function une({runId:e,currentTags:t,source:r,projectId:n,onClose:i}){const[l,o]=w.useState(t),[c,f]=w.useState(""),[d,p]=w.useState(null),v=oa(),y=w.useRef(null);w.useEffect(()=>{var E;(E=y.current)==null||E.focus()},[]);const x=dx({mutationFn:()=>G8(e,l,n),onSuccess:()=>{v.invalidateQueries({queryKey:["compare"]}),v.invalidateQueries({queryKey:["runs"]}),v.invalidateQueries({queryKey:["remote-status",n??""]}),n&&(v.invalidateQueries({queryKey:["projects",n,"compare"]}),v.invalidateQueries({queryKey:["projects",n,"runs"]})),i()},onError:E=>p(E.message)}),S=dx({mutationFn:()=>Y8(e,n),onSuccess:()=>{v.invalidateQueries({queryKey:["compare"]}),v.invalidateQueries({queryKey:["runs"]}),v.invalidateQueries({queryKey:["remote-status",n??""]}),n&&(v.invalidateQueries({queryKey:["projects",n,"compare"]}),v.invalidateQueries({queryKey:["projects",n,"runs"]})),i()},onError:E=>p(E.message)}),j=x.isPending||S.isPending,O=l.length!==t.length||l.some((E,A)=>E!==t[A]),N=()=>{const E=c.trim();if(E!==""){if(l.includes(E)){f("");return}o([...l,E]),f(""),p(null)}},P=E=>{o(l.filter(A=>A!==E))};return m.jsxs("div",{className:"space-y-2 rounded-md border border-gray-800 bg-gray-900/60 p-3",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs font-medium uppercase tracking-wider text-gray-400",children:"Tag run"}),m.jsx("span",{className:"text-xs text-gray-500",children:"Multi-valued. Enter or comma adds; Backspace removes the last chip."})]}),r==="remote"?m.jsx("div",{className:"rounded-md border border-yellow-900/60 bg-yellow-950/20 px-3 py-2 text-xs text-yellow-300",children:"Remote tag edits are saved as local metadata. Use Sync Metadata to push them to the results repo."}):null,m.jsxs("div",{className:"flex flex-wrap items-center gap-2 rounded-md border border-gray-700 bg-gray-950 px-2 py-1.5 focus-within:border-cyan-500 focus-within:ring-1 focus-within:ring-cyan-500",children:[l.map(E=>m.jsxs("span",{className:"inline-flex items-center gap-1 rounded-md border border-cyan-900/60 bg-cyan-950/30 px-2 py-0.5 text-xs font-medium text-cyan-300",children:[E,m.jsx("button",{type:"button",onClick:()=>P(E),disabled:j,className:"text-cyan-500 transition-colors hover:text-cyan-200 disabled:opacity-50","aria-label":`Remove tag ${E}`,children:"×"})]},E)),m.jsx("input",{ref:y,type:"text",className:"flex-1 min-w-[140px] bg-transparent text-sm text-gray-100 placeholder:text-gray-600 focus:outline-none disabled:opacity-50",placeholder:l.length===0?"e.g. baseline, v2-prompt, slow":"Add tag…",value:c,onChange:E=>{p(null),f(E.target.value)},maxLength:60,disabled:j,onKeyDown:E=>{E.key==="Enter"||E.key===","?(E.preventDefault(),N()):E.key==="Backspace"&&c===""&&l.length>0?(E.preventDefault(),o(l.slice(0,-1))):E.key==="Escape"&&i()},onBlur:N})]}),m.jsxs("div",{className:"flex items-center justify-end gap-2",children:[m.jsx("button",{type:"button",onClick:i,disabled:j,className:"rounded-md px-3 py-1.5 text-sm text-gray-400 transition-colors hover:text-gray-200 disabled:opacity-50",children:"Cancel"}),t.length>0&&m.jsx("button",{type:"button",onClick:()=>{j||S.mutate()},disabled:j,className:"rounded-md border border-red-900/60 px-3 py-1.5 text-sm text-red-400 transition-colors hover:border-red-800 hover:bg-red-950/30 hover:text-red-300 disabled:opacity-50",children:"Clear all"}),m.jsx("button",{type:"button",disabled:!O||j,onClick:()=>{j||!O||x.mutate()},className:"rounded-md bg-cyan-500 px-3 py-1.5 text-sm font-medium text-gray-950 transition-colors hover:bg-cyan-400 disabled:cursor-not-allowed disabled:bg-gray-700 disabled:text-gray-500",children:x.isPending?"Saving…":"Save"})]}),d&&m.jsx("div",{className:"rounded-md border border-red-900/60 bg-red-950/30 px-3 py-1.5 text-xs text-red-400",children:d})]})}function cne({runs:e,onBack:t}){const r=w.useMemo(()=>{const i=new Set,l=[];for(const o of e)for(const c of o.tests)i.has(c.test_id)||(i.add(c.test_id),l.push(c.test_id));return l},[e]),n=w.useMemo(()=>e.map(i=>{const l=new Map;for(const o of i.tests)l.set(o.test_id,o);return l}),[e]);return m.jsxs("div",{className:"space-y-3",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsxs("button",{type:"button",onClick:t,className:"inline-flex items-center gap-1 text-sm text-cyan-400 transition-colors hover:text-cyan-300",children:[m.jsx("span",{"aria-hidden":!0,children:"←"})," Back to runs"]}),m.jsxs("span",{className:"text-sm text-gray-500",children:[e.length," runs · ",r.length," tests"]})]}),m.jsx("div",{className:"overflow-x-auto rounded-lg border border-gray-800",children:m.jsxs("table",{className:"w-full text-left text-sm",children:[m.jsxs("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:[m.jsxs("tr",{children:[m.jsx("th",{className:"sticky left-0 z-10 bg-gray-900/80 px-4 py-3 font-medium text-gray-400 backdrop-blur",children:"Test case"}),e.map(i=>m.jsx("th",{className:"px-4 py-3 align-bottom",children:m.jsx(fne,{run:i})},i.run_id))]}),m.jsxs("tr",{className:"border-t border-gray-800/50 bg-gray-900/30",children:[m.jsx("th",{className:"sticky left-0 z-10 bg-gray-900/80 px-4 py-2 text-xs font-medium uppercase tracking-wider text-gray-500 backdrop-blur",children:"Pass rate"}),e.map(i=>m.jsx("th",{className:"px-4 py-2",children:m.jsx(en,{rate:i.pass_rate})},i.run_id))]})]}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:r.map(i=>m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[m.jsx("td",{className:"sticky left-0 z-10 bg-gray-950/70 px-4 py-3 font-medium text-gray-200 backdrop-blur",children:i}),n.map((l,o)=>{const c=l.get(i),f=e[o].run_id;return c?m.jsx("td",{className:"px-4 py-3",children:m.jsx("div",{className:"flex items-center gap-2",children:c.execution_status==="execution_error"?m.jsxs(m.Fragment,{children:[m.jsx("span",{"aria-hidden":!0,className:"h-1.5 w-1.5 rounded-full bg-amber-400"}),m.jsx("span",{className:"tabular-nums text-amber-400",children:"error"})]}):m.jsxs(m.Fragment,{children:[m.jsx("span",{"aria-hidden":!0,className:`h-1.5 w-1.5 rounded-full ${c.passed?"bg-emerald-400":"bg-red-400"}`}),m.jsxs("span",{className:`tabular-nums ${c.passed?"text-emerald-400":"text-red-400"}`,children:[Math.round(c.score*100),"%"]})]})})},f):m.jsx("td",{className:"px-4 py-3 text-center text-gray-600",children:"—"},f)})]},i))})]})})]})}function fne({run:e}){const t=e.tags??[];return m.jsxs("div",{className:"min-w-[140px] space-y-1",children:[m.jsx("div",{className:"text-sm font-medium text-gray-200 tabular-nums",title:e.run_id,children:wk(e.started_at)}),t.length>0&&m.jsx("div",{className:"flex flex-wrap gap-1",children:t.map(r=>m.jsx("span",{className:"rounded-md border border-cyan-900/60 bg-cyan-950/30 px-1.5 py-0.5 text-[0.7rem] font-medium text-cyan-300",children:r},r))}),m.jsxs("div",{className:"text-xs text-gray-500",children:[e.experiment," · ",e.target]})]})}function dne(){return m.jsxs("div",{className:"flex items-center gap-4 text-xs text-gray-500",role:"note",children:[m.jsx(dh,{className:"bg-emerald-400",label:"80%+"}),m.jsx(dh,{className:"bg-yellow-400",label:"50–80%"}),m.jsx(dh,{className:"bg-red-400",label:"< 50%"}),m.jsx(dh,{className:"bg-gray-700",label:"no data"})]})}function dh({className:e,label:t}){return m.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[m.jsx("span",{className:`h-2 w-2 rounded-full ${e}`,"aria-hidden":!0}),m.jsx("span",{children:t})]})}function hne({message:e}){return m.jsx("div",{className:"rounded-lg border border-red-900/60 bg-red-950/30 p-4 text-sm text-red-400",children:e})}function mne(){return m.jsx(Tp,{headline:"No comparison data yet",body:"Run evaluations with different experiment and target combinations to populate this view."})}function Tp({headline:e,body:t,action:r}){return m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-8 text-center",children:[m.jsx("p",{className:"text-lg text-gray-300",children:e}),m.jsx("p",{className:"mt-2 text-sm text-gray-500",children:t}),r&&m.jsx("button",{type:"button",onClick:r.onClick,className:"mt-4 inline-flex items-center rounded-md bg-cyan-500 px-3 py-1.5 text-sm font-medium text-gray-950 transition-colors hover:bg-cyan-400",children:r.label})]})}function pne(){return m.jsx("div",{className:"overflow-hidden rounded-lg border border-gray-800",children:m.jsxs("div",{className:"animate-pulse",children:[m.jsx("div",{className:"border-b border-gray-800 bg-gray-900/50 px-4 py-3",children:m.jsx("div",{className:"h-4 w-48 rounded bg-gray-800"})}),["sk-1","sk-2","sk-3","sk-4","sk-5"].map(e=>m.jsxs("div",{className:"flex gap-4 border-b border-gray-800/50 px-4 py-3",children:[m.jsx("div",{className:"h-4 w-32 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-12 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-12 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-48 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-24 rounded bg-gray-800"})]},e))]})})}function wk(e){try{const t=new Date(e);if(Number.isNaN(t.getTime()))return e;const r=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),i=String(t.getDate()).padStart(2,"0"),l=String(t.getHours()).padStart(2,"0"),o=String(t.getMinutes()).padStart(2,"0");return`${r}-${n}-${i} ${l}:${o}`}catch{return e}}function vne(e){const t=e.split("::");return t.length<2?null:t.slice(0,-1).join(" · ")}function Ok({projectId:e}){const{data:t,isLoading:r}=e?Ke(zb(e)):q2();if(r)return m.jsx(yne,{});const n=(t==null?void 0:t.experiments)??[];return n.length===0?m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-8 text-center",children:[m.jsx("p",{className:"text-lg text-gray-400",children:"No experiments found"}),m.jsx("p",{className:"mt-2 text-sm text-gray-500",children:"Experiments will appear here once evaluations are run with experiment labels."})]}):m.jsx("div",{className:"max-w-full overflow-x-auto rounded-lg border border-gray-800",children:m.jsxs("table",{className:"min-w-[760px] w-full whitespace-nowrap text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Experiment"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Runs"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Targets"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Evals"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Execution Errors"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Pass Rate"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Last Run"})]})}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:n.map(i=>{const l=zo(i),o=Gt(i);return m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[m.jsx("td",{className:"px-4 py-3",children:e?m.jsx(Ne,{to:"/projects/$projectId/experiments/$experimentName",params:{projectId:e,experimentName:i.name},className:"font-medium text-cyan-400 hover:text-cyan-300 hover:underline",children:i.name}):m.jsx(Ne,{to:"/experiments/$experimentName",params:{experimentName:i.name},className:"font-medium text-cyan-400 hover:text-cyan-300 hover:underline",children:i.name})}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:i.run_count}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:i.target_count}),m.jsxs("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:[m.jsx("span",{className:"text-emerald-400",children:i.passed_count}),m.jsx("span",{className:"text-gray-600",children:" / "}),l]}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-amber-400",children:o>0?o:m.jsx("span",{className:"text-gray-600",children:"0"})}),m.jsx("td",{className:"px-4 py-3",children:m.jsx(en,{rate:i.pass_rate})}),m.jsx("td",{className:"px-4 py-3 text-gray-400",title:wC(i.last_run).full,children:wC(i.last_run).date})]},i.name)})})]})})}function wC(e){if(!e)return{date:"N/A",full:"N/A"};try{const t=new Date(e);if(Number.isNaN(t.getTime()))return{date:"N/A",full:"N/A"};const r=t.toLocaleString(),n=Date.now()-t.getTime(),i=Math.floor(n/6e4),l=Math.floor(n/36e5);let o;return i<1?o="just now":i<60?o=`${i} min ago`:l<24?o=`${l} hour${l===1?"":"s"} ago`:o=t.toLocaleDateString(),{date:o,full:r}}catch{return{date:"N/A",full:"N/A"}}}function yne(){return m.jsx("div",{className:"max-w-full overflow-x-auto rounded-lg border border-gray-800",children:m.jsxs("div",{className:"min-w-[760px] animate-pulse",children:[m.jsx("div",{className:"border-b border-gray-800 bg-gray-900/50 px-4 py-3",children:m.jsx("div",{className:"h-4 w-48 rounded bg-gray-800"})}),["sk-1","sk-2","sk-3","sk-4","sk-5"].map(e=>m.jsxs("div",{className:"flex gap-4 border-b border-gray-800/50 px-4 py-3",children:[m.jsx("div",{className:"h-4 w-32 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-12 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-12 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-48 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-24 rounded bg-gray-800"})]},e))]})})}function gne(e){if(!e)return"No runs";const t=new Date(e);if(Number.isNaN(t.getTime()))return"N/A";const r=Date.now()-t.getTime(),n=Math.floor(r/6e4);if(n<1)return"Just now";if(n<60)return`${n}m ago`;const i=Math.floor(n/60);return i<24?`${i}h ago`:`${Math.floor(i/24)}d ago`}function xne({project:e}){const t=Math.round(e.pass_rate*100),r=Gt(e);return m.jsxs(Ne,{to:"/projects/$projectId",params:{projectId:e.id},className:"group block rounded-lg border border-gray-800 bg-gray-900/50 p-5 transition-colors hover:border-cyan-800 hover:bg-gray-900",children:[m.jsx("div",{className:"flex items-start justify-between",children:m.jsxs("div",{className:"min-w-0 flex-1",children:[m.jsx("h3",{className:"truncate text-lg font-semibold text-white group-hover:text-cyan-400",children:e.name}),m.jsx("p",{className:"mt-1 truncate text-xs text-gray-500",children:e.path})]})}),m.jsxs("div",{className:"mt-4 grid grid-cols-4 gap-3",children:[m.jsxs("div",{children:[m.jsx("p",{className:"text-xs text-gray-500",children:"Runs"}),m.jsx("p",{className:"text-lg font-semibold text-white",children:e.run_count})]}),m.jsxs("div",{children:[m.jsx("p",{className:"text-xs text-gray-500",children:"Pass Rate"}),m.jsx("p",{className:`text-lg font-semibold ${e.run_count===0?"text-gray-500":t>=80?"text-emerald-400":t>=50?"text-yellow-400":"text-red-400"}`,children:e.run_count>0?`${t}%`:"--"})]}),m.jsxs("div",{children:[m.jsx("p",{className:"text-xs text-gray-500",children:"Errors"}),m.jsx("p",{className:`text-lg font-semibold ${r>0?"text-amber-300":"text-gray-500"}`,children:r})]}),m.jsxs("div",{children:[m.jsx("p",{className:"text-xs text-gray-500",children:"Last Run"}),m.jsx("p",{className:"text-sm text-gray-300",children:gne(e.last_run)})]})]})]})}function bne(e){return e.map(t=>({path:t.path,relativePath:t.relative_path,category:t.category}))}function Sne(e){return(e.split(",").at(-1)??"").trim()}function jne(e,t){const r=Sne(t).toLowerCase();return r?e.filter(n=>n.relativePath.toLowerCase().includes(r)||n.category.toLowerCase().includes(r)):e}function wne(e,t){const r=e.split(",");return[...(/,\s*$/.test(e)?r:r.slice(0,-1)).map(c=>c.trim()).filter(Boolean).filter(c=>c!==t),t].join(", ")}function One(e,t,r){return t?e:Tj(e,r)}function Tj(e,t){return e||String(t??Dc)}function Nne({suiteFilter:e,testIds:t,target:r,thresholdInput:n,studioThreshold:i,workers:l,dryRun:o}){const c={};e.trim()&&(c.suite_filter=e.trim()),t.length>0&&(c.test_ids=t),r&&(c.target=r);const f=Tj(n,i);return f&&(c.threshold=Number.parseFloat(f)),l&&(c.workers=Number.parseInt(l,10)),o&&(c.dry_run=!0),c}function gl({open:e,onClose:t,projectId:r,prefill:n}){const i=oa(),l=cl(),[o,c]=w.useState((n==null?void 0:n.suiteFilter)??""),[f,d]=w.useState(""),[p,v]=w.useState((n==null?void 0:n.testIds)??[]),[y,x]=w.useState((n==null?void 0:n.target)??""),[S,j]=w.useState(""),[O,N]=w.useState(!1),[P,E]=w.useState(""),[A,T]=w.useState(!1),[M,R]=w.useState(!1),[I,z]=w.useState(null),[D,H]=w.useState(null),[q,ae]=w.useState(!1),[Q,Z]=w.useState(null),{data:B}=X8(r),{data:K}=W8(r),{data:ee}=$b(I,r),{data:se}=ut(r),ue=w.useMemo(()=>bne((B==null?void 0:B.eval_files)??[]),[B]),k=w.useMemo(()=>jne(ue,o),[ue,o]),W=w.useMemo(()=>(K==null?void 0:K.targets)??[],[K]),oe=w.useMemo(()=>Tj(S,se==null?void 0:se.threshold),[se==null?void 0:se.threshold,S]),le=w.useMemo(()=>One(S,O,se==null?void 0:se.threshold),[se==null?void 0:se.threshold,S,O]);w.useEffect(()=>{e&&(c((n==null?void 0:n.suiteFilter)??""),v((n==null?void 0:n.testIds)??[]),x((n==null?void 0:n.target)??""),d(""),j(""),N(!1),E(""),T(!1),R(!1),z(null),H(null),ae(!1),Z(null))},[e,n]),w.useEffect(()=>{((ee==null?void 0:ee.status)==="finished"||(ee==null?void 0:ee.status)==="failed")&&(i.invalidateQueries({queryKey:["runs"]}),i.invalidateQueries({queryKey:["projects"]}))},[ee==null?void 0:ee.status,i]);const ve=w.useCallback(()=>Nne({suiteFilter:o,testIds:p,target:y,thresholdInput:S,studioThreshold:se==null?void 0:se.threshold,workers:P,dryRun:A}),[A,se==null?void 0:se.threshold,o,y,p,S,P]);w.useEffect(()=>{const te=ve();if(!te.suite_filter&&(!te.test_ids||te.test_ids.length===0)){Z(null);return}rB(te,r).then(je=>Z(je.command)).catch(()=>Z(null))},[ve,r]);function we(){const te=f.trim();te&&!p.includes(te)&&v([...p,te]),d("")}function Oe(te){v(p.filter(je=>je!==te))}async function Ce(){H(null),ae(!0);try{const te=ve(),je=await V2(te,r);z(je.id)}catch(te){H(te.message)}finally{ae(!1)}}if(!e)return null;if(I&&ee){let te=function(){t(),l({to:iB(r)})};return m.jsx(OC,{onClose:t,title:"Eval Run",children:m.jsx(_ne,{status:ee,onClose:t,onRunInBackground:te,runId:I})})}const fe=!!(o.trim()||p.length>0);return m.jsx(OC,{onClose:t,title:"Run Eval",children:m.jsxs("div",{className:"space-y-4",children:[m.jsxs("div",{children:[m.jsx("label",{htmlFor:"suite-filter",className:"mb-1 block text-sm font-medium text-gray-300",children:"Suite Filter"}),m.jsx("input",{id:"suite-filter",type:"text",value:o,onChange:te=>c(te.target.value),placeholder:"evals/**/*.eval.yaml",className:"w-full rounded-md border border-gray-700 bg-gray-800 px-3 py-2 text-sm text-white placeholder-gray-500 focus:border-cyan-600 focus:outline-none"}),ue.length>0&&m.jsx("div",{className:"mt-1.5 max-h-44 overflow-y-auto rounded-md border border-gray-800 bg-gray-950/60 p-1",children:k.length>0?k.map(te=>m.jsxs("button",{type:"button",onClick:()=>c(je=>wne(je,te.relativePath)),className:"block w-full rounded px-2 py-1 text-left text-xs text-gray-400 hover:bg-gray-800 hover:text-gray-200",children:[m.jsx("span",{className:"block truncate",children:te.relativePath}),te.category&&m.jsx("span",{className:"block truncate text-[11px] text-gray-600",children:te.category})]},te.relativePath)):m.jsx("div",{className:"px-2 py-1 text-xs text-gray-500",children:"No matching eval files"})})]}),m.jsxs("div",{children:[m.jsx("label",{htmlFor:"test-id-input",className:"mb-1 block text-sm font-medium text-gray-300",children:"Test ID Filter"}),m.jsxs("div",{className:"flex gap-2",children:[m.jsx("input",{id:"test-id-input",type:"text",value:f,onChange:te=>d(te.target.value),onKeyDown:te=>{te.key==="Enter"&&(te.preventDefault(),we())},placeholder:"auth-*, retrieval-basic",className:"flex-1 rounded-md border border-gray-700 bg-gray-800 px-3 py-2 text-sm text-white placeholder-gray-500 focus:border-cyan-600 focus:outline-none"}),m.jsx("button",{type:"button",onClick:we,disabled:!f.trim(),className:"rounded-md bg-gray-700 px-3 py-2 text-sm text-white hover:bg-gray-600 disabled:opacity-50",children:"Add"})]}),p.length>0&&m.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1",children:p.map(te=>m.jsxs("span",{className:"inline-flex items-center gap-1 rounded-full bg-cyan-900/40 px-2.5 py-0.5 text-xs text-cyan-300",children:[te,m.jsx("button",{type:"button",onClick:()=>Oe(te),className:"text-cyan-400 hover:text-white",children:"×"})]},te))})]}),m.jsxs("div",{children:[m.jsx("label",{htmlFor:"target-override",className:"mb-1 block text-sm font-medium text-gray-300",children:"Target Override"}),m.jsxs("select",{id:"target-override",value:y,onChange:te=>x(te.target.value),className:"w-full rounded-md border border-gray-700 bg-gray-800 px-3 py-2 text-sm text-white focus:border-cyan-600 focus:outline-none",children:[m.jsx("option",{value:"",children:"Use eval's configured target"}),W.map(te=>m.jsx("option",{value:te,children:te},te))]})]}),m.jsxs("div",{children:[m.jsxs("button",{type:"button",onClick:()=>R(!M),className:"text-sm text-gray-400 hover:text-gray-200",children:[M?"▾":"▸"," Advanced Options"]}),M&&m.jsxs("div",{className:"mt-2 grid grid-cols-2 gap-3",children:[m.jsxs("div",{children:[m.jsx("label",{htmlFor:"threshold-input",className:"mb-1 block text-xs text-gray-400",children:"Threshold (0–1)"}),m.jsx("input",{id:"threshold-input",type:"number",value:le,onChange:te=>{N(!0),j(te.target.value)},min:"0",max:"1",step:"0.1",placeholder:oe,className:"w-full rounded-md border border-gray-700 bg-gray-800 px-3 py-1.5 text-sm text-white placeholder-gray-500 focus:border-cyan-600 focus:outline-none"})]}),m.jsxs("div",{children:[m.jsx("label",{htmlFor:"workers-input",className:"mb-1 block text-xs text-gray-400",children:"Workers"}),m.jsx("input",{id:"workers-input",type:"number",value:P,onChange:te=>E(te.target.value),min:"1",max:"50",placeholder:"3",className:"w-full rounded-md border border-gray-700 bg-gray-800 px-3 py-1.5 text-sm text-white placeholder-gray-500 focus:border-cyan-600 focus:outline-none"})]}),m.jsx("div",{className:"col-span-2",children:m.jsxs("label",{className:"flex items-center gap-2 text-sm text-gray-400",children:[m.jsx("input",{type:"checkbox",checked:A,onChange:te=>T(te.target.checked),className:"rounded border-gray-600 bg-gray-800"}),"Dry run (mock provider responses)"]})})]})]}),Q&&m.jsxs("div",{className:"rounded-md border border-gray-700 bg-gray-950 p-3",children:[m.jsx("div",{className:"mb-1 text-xs text-gray-500",children:"CLI Preview"}),m.jsx("code",{className:"block break-all text-xs text-cyan-300",children:Q})]}),D&&m.jsx("div",{className:"rounded-md border border-red-900/50 bg-red-950/20 p-2 text-sm text-red-400",children:D}),m.jsxs("div",{className:"flex justify-end gap-2 pt-2",children:[m.jsx("button",{type:"button",onClick:t,className:"rounded-md bg-gray-700 px-4 py-2 text-sm text-white hover:bg-gray-600",children:"Cancel"}),m.jsx("button",{type:"button",onClick:Ce,disabled:!fe||q,className:"rounded-md bg-cyan-600 px-4 py-2 text-sm font-medium text-white hover:bg-cyan-500 disabled:opacity-50",children:q?"Launching…":"Run Now"})]})]})})}function OC({children:e,onClose:t,title:r}){return m.jsx("div",{className:"fixed inset-0 z-50 flex items-start justify-center bg-black/60 pt-[10vh]",children:m.jsxs("div",{className:"w-full max-w-lg rounded-lg border border-gray-700 bg-gray-900 shadow-xl",children:[m.jsxs("div",{className:"flex items-center justify-between border-b border-gray-800 px-5 py-3",children:[m.jsx("h2",{className:"text-lg font-semibold text-white",children:r}),m.jsx("button",{type:"button",onClick:t,className:"text-gray-400 hover:text-white",children:"✕"})]}),m.jsx("div",{className:"px-5 py-4",children:e})]})})}function _ne({status:e,onClose:t,onRunInBackground:r,runId:n}){const i=e.status==="finished"||e.status==="failed",l={starting:"text-yellow-400",running:"text-cyan-400",finished:"text-emerald-400",failed:"text-red-400"};return m.jsxs("div",{className:"space-y-3",children:[m.jsxs("div",{className:"flex items-center gap-3",children:[m.jsxs("span",{className:`text-sm font-medium ${l[e.status]??"text-gray-400"}`,children:[e.status==="running"&&"●"," ",e.status.charAt(0).toUpperCase()+e.status.slice(1)]}),!i&&m.jsx("span",{className:"inline-block h-3 w-3 animate-spin rounded-full border-2 border-cyan-400 border-t-transparent"})]}),m.jsx("div",{className:"rounded-md border border-gray-700 bg-gray-950 p-3",children:m.jsx("code",{className:"block break-all text-xs text-cyan-300",children:e.command})}),e.stdout&&m.jsx("div",{className:"max-h-48 overflow-y-auto rounded-md bg-gray-950 p-3",children:m.jsx("pre",{className:"whitespace-pre-wrap text-xs text-gray-300",children:e.stdout.slice(-3e3)})}),e.stderr&&m.jsx("div",{className:"max-h-24 overflow-y-auto rounded-md bg-red-950/20 p-3",children:m.jsx("pre",{className:"whitespace-pre-wrap text-xs text-red-300",children:e.stderr.slice(-2e3)})}),m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs text-gray-500",children:i?m.jsxs(m.Fragment,{children:["Exit code: ",e.exit_code,e.finished_at&&` · ${new Date(e.finished_at).toLocaleTimeString()}`]}):n&&m.jsx("button",{type:"button",onClick:r,className:"text-xs text-gray-400 hover:text-cyan-400",children:"Run in background"})}),i&&m.jsx("button",{type:"button",onClick:t,className:"rounded-md bg-gray-700 px-4 py-2 text-sm text-white hover:bg-gray-600",children:"Close"})]})]})}function V0(e){if(e.source==="remote")return"Remote runs cannot be combined or deleted from the local workspace.";if(e.status==="starting"||e.status==="running")return"Running runs cannot be combined or deleted yet."}function Ene(e){return`${e} local run${e===1?"":"s"} selected`}function Ane(e,t){return`Combined ${e} local run${e===1?"":"s"} into ${t}.`}function Pne(e){return`Deleted ${e} local run${e===1?"":"s"}.`}function Tne(e){if(!e)return{date:"N/A",full:"N/A"};try{const t=new Date(e);if(Number.isNaN(t.getTime()))return{date:"N/A",full:"N/A"};const r=t.toLocaleString(),n=Date.now()-t.getTime(),i=Math.floor(n/6e4),l=Math.floor(n/36e5);let o;return i<1?o="just now":i<60?o=`${i} min ago`:l<24?o=`${l} hour${l===1?"":"s"} ago`:o=t.toLocaleDateString(),{date:o,full:r}}catch{return{date:"N/A",full:"N/A"}}}function Cne(e,t){const r=Tne(e.timestamp),n=e.status==="starting"||e.status==="running",i=Fb(e,{includePassRate:!1}),l=i.label,o=Gt(e),c=Math.max(0,e.test_count-o),f=c>0?e.pass_rate>=t:o===0,d=Math.round(e.pass_rate*c),p=c-d,v=e.metadata_dirty===!0;return{run:e,ts:r,isActive:n,label:l,display:i,errors:o,qualityCount:c,passing:f,passedCount:d,failedCount:p,metadataDirty:v}}function Cp({runs:e,projectId:t,emptyMessage:r,hasNextPage:n=!1,isFetchingNextPage:i=!1,onLoadMore:l,enableCombine:o=!1}){const{data:c}=ut(t),f=oa(),d=(c==null?void 0:c.threshold)??Dc,p=w.useRef(null),v=w.useRef(null),y=w.useRef(!1),[x,S]=w.useState([]),[j,O]=w.useState(null),[N,P]=w.useState(!1),[E,A]=w.useState(!1),T=w.useMemo(()=>e.map(Q=>Cne(Q,d)),[d,e]),M=w.useMemo(()=>e.filter(Q=>o&&!V0(Q)).map(Q=>Q.filename),[o,e]),R=new Set(x);w.useEffect(()=>{i||(y.current=!1)},[i]),w.useEffect(()=>{if(!n||!l)return;const Q=[];if(p.current&&Q.push(p.current),v.current&&Q.push(v.current),Q.length===0)return;const Z=new IntersectionObserver(B=>{B.some(K=>K.isIntersecting)&&!i&&!y.current&&(y.current=!0,l())},{rootMargin:"200px 0px"});for(const B of Q)Z.observe(B);return()=>Z.disconnect()},[n,i,l]),w.useEffect(()=>{const Q=new Set(M);S(Z=>Z.filter(B=>Q.has(B)))},[M]);async function I(){if(t){await Promise.all([f.invalidateQueries({queryKey:["projects",t,"runs"]}),f.invalidateQueries({queryKey:["projects",t,"experiments"]}),f.invalidateQueries({queryKey:["projects",t,"compare"]}),f.invalidateQueries({queryKey:["projects",t,"targets"]})]);return}await Promise.all([f.invalidateQueries({queryKey:["runs"]}),f.invalidateQueries({queryKey:["experiments"]}),f.invalidateQueries({queryKey:["compare"]}),f.invalidateQueries({queryKey:["targets"]})])}async function z(){if(x.length<2||N)return;const Q=[...x];O(null),P(!0);try{let Z;try{Z=await j_(Q,"error",t)}catch(B){if(!(B instanceof Y2)||B.status!==409)throw B;const K=B.duplicates.length;if(!window.confirm(`${K} duplicate (test_id, target) pair${K===1?"":"s"} found. Replace duplicates with the latest timestamp?`))return;Z=await j_(Q,"latest",t)}S([]),O({kind:"success",message:Ane(Q.length,Z.display_name),combinedRunId:Z.run_id,sourceRunIds:Q}),await I()}catch(Z){O({kind:"error",message:Z.message})}finally{P(!1)}}async function D(){x.length===0||E||await q(x,"selected")}async function H(){const Q=(j==null?void 0:j.sourceRunIds)??[];Q.length===0||E||await q(Q,"combined-sources")}async function q(Q,Z){const B=Q.length,K=B===1?"run":"runs",ee=Z==="combined-sources"?`Delete the ${B} source local ${K} used for the combined run? The combined run will remain.`:`Delete ${B} local ${K}? This removes the run workspace and artifacts from disk.`;if(window.confirm(ee)){O(null),A(!0);try{for(const ue of Q)await K8(ue,t);S([]),O({kind:"success",message:Pne(B)}),await I()}catch(ue){O({kind:"error",message:ue.message})}finally{A(!1)}}}function ae(Q){S(Z=>Z.includes(Q)?Z.filter(B=>B!==Q):[...Z,Q])}return e.length===0?m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-8 text-center",children:r??m.jsxs(m.Fragment,{children:[m.jsx("p",{className:"text-lg text-gray-400",children:"No evaluation runs found."}),m.jsxs("p",{className:"mt-2 text-sm text-gray-500",children:["Run an evaluation first:"," ",m.jsx("code",{className:"rounded bg-gray-800 px-2 py-1 text-cyan-400",children:"agentv eval <eval-file>"})]})]})}):m.jsxs("div",{className:"space-y-3",children:[o&&m.jsxs("div",{className:"flex flex-col gap-3 rounded-lg border border-gray-800 bg-gray-900/40 px-4 py-3 sm:flex-row sm:items-start sm:justify-between",children:[m.jsxs("div",{className:"min-w-0 space-y-1",children:[m.jsx("p",{className:"text-sm font-medium text-gray-200",children:Ene(x.length)}),m.jsx("p",{className:"text-xs text-gray-500",children:"Select completed local runs to combine or delete. Remote runs stay read-only here."}),j&&m.jsx("div",{className:`mt-2 rounded-md border px-3 py-2 text-sm ${j.kind==="success"?"border-emerald-900/60 bg-emerald-950/20 text-emerald-300":"border-red-900/60 bg-red-950/20 text-red-300"}`,role:j.kind==="error"?"alert":"status",children:m.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1",children:[m.jsx("span",{children:j.message}),j.combinedRunId?t?m.jsx(Ne,{to:"/projects/$projectId/runs/$runId",params:{projectId:t,runId:j.combinedRunId},className:"font-medium text-cyan-300 hover:text-cyan-200 hover:underline",children:"Open combined run"}):m.jsx(Ne,{to:"/runs/$runId",params:{runId:j.combinedRunId},className:"font-medium text-cyan-300 hover:text-cyan-200 hover:underline",children:"Open combined run"}):null,j.sourceRunIds&&j.sourceRunIds.length>0?m.jsx("button",{type:"button",onClick:()=>void H(),disabled:E||N,className:"font-medium text-red-300 hover:text-red-200 hover:underline disabled:cursor-not-allowed disabled:text-gray-500",children:E?"Deleting sources...":"Delete source runs"}):null]})})]}),m.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[m.jsx("button",{type:"button",onClick:()=>void D(),disabled:x.length===0||E||N,className:"whitespace-nowrap rounded-md border border-red-900/70 px-3 py-1.5 text-sm font-medium text-red-300 hover:border-red-700 hover:bg-red-950/40 disabled:cursor-not-allowed disabled:border-gray-800 disabled:text-gray-500",children:E?"Deleting...":"Delete selected"}),m.jsx("button",{type:"button",onClick:()=>void z(),disabled:x.length<2||N||E,className:"whitespace-nowrap rounded-md bg-cyan-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-cyan-500 disabled:cursor-not-allowed disabled:bg-gray-700 disabled:text-gray-400",children:N?"Combining...":"Combine selected"})]})]}),m.jsxs("div",{className:"space-y-2 sm:hidden",children:[T.map(Q=>{const{run:Z,ts:B,label:K,display:ee,errors:se,qualityCount:ue,passedCount:k,failedCount:W,metadataDirty:oe}=Q,le=V0(Z),ve=!le&&M.includes(Z.filename);return m.jsxs("article",{className:"rounded-lg border border-gray-800 bg-gray-900/40 px-3 py-3",children:[m.jsxs("div",{className:"flex items-start gap-3",children:[o&&m.jsx("input",{type:"checkbox",checked:R.has(Z.filename),disabled:!ve,onChange:()=>ae(Z.filename),title:le,"aria-label":le?`${K}: ${le}`:`Select ${K}`,className:"mt-1 h-4 w-4 shrink-0 rounded border-gray-700 bg-gray-900 text-cyan-500 disabled:opacity-30"}),m.jsx(AC,{view:Q,className:"mt-1 shrink-0"}),m.jsxs("div",{className:"min-w-0 flex-1",children:[m.jsx(NC,{projectId:t,runId:Z.filename,label:ee.primary,title:ee.title,className:"block truncate text-sm font-medium text-cyan-400 hover:text-cyan-300 hover:underline"}),ee.secondary?m.jsx("p",{className:"mt-0.5 truncate text-xs text-gray-500",title:ee.title,children:ee.secondary}):null,m.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[m.jsx(_C,{source:Z.source}),oe?m.jsx(EC,{}):null,m.jsx("span",{className:"text-xs text-gray-500",title:B.full,children:B.date})]})]})]}),m.jsxs("dl",{className:"mt-3 grid grid-cols-2 gap-x-3 gap-y-2 border-t border-gray-800/70 pt-3",children:[m.jsx(ho,{label:"Pass Rate",valueClassName:"text-gray-300",children:m.jsx(en,{rate:Z.pass_rate})}),m.jsx(ho,{label:"Total",valueClassName:"text-gray-300",children:ue}),m.jsx(ho,{label:"Passed",valueClassName:"text-emerald-300",children:k}),m.jsx(ho,{label:"Failures",valueClassName:"text-red-400",children:W>0?W:m.jsx("span",{className:"text-gray-600",children:"0"})}),m.jsx(ho,{label:"Errors",valueClassName:"text-amber-300",children:se>0?se:m.jsx("span",{className:"text-gray-600",children:"0"})}),m.jsx(ho,{label:"Source",valueClassName:"text-gray-400",children:Z.source==="remote"?"Remote":"Local"})]})]},Z.filename)}),(n||i)&&m.jsx("div",{ref:v,className:"rounded-lg border border-gray-800 bg-gray-900/40 px-4 py-3 text-center text-xs text-gray-500",children:i?"Loading more runs...":"Scroll to load more..."})]}),m.jsx("div",{className:"hidden max-w-full overflow-x-auto rounded-lg border border-gray-800 sm:block",children:m.jsxs("table",{className:"min-w-[780px] w-full whitespace-nowrap text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[o&&m.jsx("th",{className:"w-10 px-4 py-3"}),m.jsx("th",{className:"w-8 px-4 py-3"}),m.jsx("th",{className:"w-[22rem] px-4 py-3 font-medium text-gray-400",children:"Run"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Source"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Passed"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Failures"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Errors"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Total"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Pass Rate"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"When"})]})}),m.jsxs("tbody",{className:"divide-y divide-gray-800/50",children:[T.map(Q=>{const{run:Z,ts:B,label:K,display:ee,errors:se,qualityCount:ue,passedCount:k,failedCount:W,metadataDirty:oe}=Q,le=V0(Z),ve=!le&&M.includes(Z.filename);return m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[o&&m.jsx("td",{className:"px-4 py-3",children:m.jsx("input",{type:"checkbox",checked:R.has(Z.filename),disabled:!ve,onChange:()=>ae(Z.filename),title:le,"aria-label":le?`${K}: ${le}`:`Select ${K}`,className:"h-4 w-4 rounded border-gray-700 bg-gray-900 text-cyan-500 disabled:opacity-30"})}),m.jsx("td",{className:"px-4 py-3 text-center",children:m.jsx(AC,{view:Q})}),m.jsx("td",{className:"w-[22rem] max-w-[22rem] px-4 py-3",children:m.jsxs("div",{className:"min-w-0",children:[m.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[m.jsx(NC,{projectId:t,runId:Z.filename,label:ee.primary,title:ee.title,className:"block min-w-0 truncate font-medium text-cyan-400 hover:text-cyan-300 hover:underline"}),oe?m.jsx(EC,{}):null]}),ee.secondary?m.jsx("div",{className:"mt-0.5 truncate text-xs text-gray-500",title:ee.title,children:ee.secondary}):null]})}),m.jsx("td",{className:"px-4 py-3",children:m.jsx(_C,{source:Z.source})}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-emerald-300",children:k}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-red-400",children:W>0?W:m.jsx("span",{className:"text-gray-600",children:"0"})}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums",children:se>0?m.jsx("span",{className:"text-amber-300",children:se}):m.jsx("span",{className:"text-gray-600",children:"0"})}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:ue}),m.jsx("td",{className:"px-4 py-3",children:m.jsx(en,{rate:Z.pass_rate})}),m.jsx("td",{className:"px-4 py-3 text-gray-400",title:B.full,children:B.date})]},Z.filename)}),(n||i)&&m.jsx("tr",{ref:p,children:m.jsx("td",{colSpan:o?10:9,className:"px-4 py-3 text-center text-xs text-gray-500",children:i?"Loading more runs...":"Scroll to load more..."})})]})]})})]})}function NC({projectId:e,runId:t,label:r,title:n,className:i}){return e?m.jsx(Ne,{to:"/projects/$projectId/runs/$runId",params:{projectId:e,runId:t},className:i,title:n,children:r}):m.jsx(Ne,{to:"/runs/$runId",params:{runId:t},className:i,title:n,children:r})}function _C({source:e}){return m.jsx("span",{className:`inline-flex rounded-md border px-2 py-0.5 text-xs font-medium ${e==="remote"?"border-cyan-900/60 bg-cyan-950/20 text-cyan-300":"border-gray-800 bg-gray-900/70 text-gray-400"}`,children:e==="remote"?"Remote":"Local"})}function EC(){return m.jsx("span",{className:"shrink-0 rounded-md border border-yellow-900/60 bg-yellow-950/20 px-1.5 py-0.5 text-xs text-yellow-300",title:"Use Sync Metadata to push this metadata to the results repo.",children:"Pending sync"})}function AC({view:e,className:t=""}){return e.isActive?m.jsx("span",{className:`inline-block h-2 w-2 animate-pulse rounded-full bg-cyan-400 ${t}`,title:e.run.status==="starting"?"Starting...":"Running...","aria-label":e.run.status==="starting"?"Starting":"Running"}):e.qualityCount===0&&e.errors>0?m.jsx("span",{className:`text-base font-bold text-amber-300 ${t}`,title:"Execution errors",children:"!"}):m.jsx("span",{className:`text-base font-bold ${e.passing?"text-emerald-400":"text-red-400"} ${t}`,children:e.passing?"✓":"✗"})}function ho({label:e,valueClassName:t,children:r}){return m.jsxs("div",{className:"min-w-0",children:[m.jsx("dt",{className:"text-xs text-gray-500",children:e}),m.jsx("dd",{className:`mt-1 min-w-0 text-sm tabular-nums ${t}`,children:r})]})}function Nk({filter:e,onFilterChange:t,remoteStatus:r,syncInFlight:n,onSync:i,projectName:l,syncFeedback:o}){var j,O;const c=(r==null?void 0:r.configured)===!0,f=c8(r,n),d=n===!0||!f.canSync,p={neutral:"border-gray-700 bg-gray-800/70 text-gray-300",good:"border-emerald-800/70 bg-emerald-950/30 text-emerald-300",info:"border-cyan-800/70 bg-cyan-950/30 text-cyan-300",warn:"border-yellow-800/70 bg-yellow-950/30 text-yellow-300",danger:"border-red-800/70 bg-red-950/30 text-red-300"}[f.tone],v=(o==null?void 0:o.kind)==="success"?"border-emerald-900/60 bg-emerald-950/20 text-emerald-300":(o==null?void 0:o.kind)==="warning"?"border-yellow-900/60 bg-yellow-950/20 text-yellow-300":"border-red-900/60 bg-red-950/20 text-red-300",y=((j=r==null?void 0:r.dirty_paths)==null?void 0:j.length)??0,x=((O=r==null?void 0:r.conflicted_paths)==null?void 0:O.length)??0,S=o8(r,l);return m.jsxs("div",{className:"flex flex-col gap-3 rounded-lg border border-gray-800 bg-gray-900/40 p-4",children:[m.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[m.jsx("div",{className:"flex flex-wrap items-center gap-2",children:["all","local","remote"].map(N=>{const P=N==="remote"&&!c;return m.jsx("button",{type:"button",onClick:()=>t(N),title:P?"Remote results are not configured":void 0,className:`rounded-full px-3 py-1 text-sm font-medium transition-colors ${e===N?"bg-cyan-500/20 text-cyan-300":P?"bg-gray-800 text-gray-600":"bg-gray-800 text-gray-400 hover:text-gray-200"}`,children:N==="all"?"All Sources":N==="local"?"Local Only":"Remote Only"},N)})}),c?m.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[m.jsx("span",{className:`inline-flex items-center rounded-full border px-2.5 py-1 text-xs font-medium ${p}`,children:f.label}),i?m.jsx("button",{type:"button",onClick:i,disabled:d,title:f.canSync?void 0:f.nextAction,className:"rounded-md border border-cyan-800 bg-cyan-950/40 px-3 py-1.5 text-sm font-medium text-cyan-300 transition-colors hover:bg-cyan-900/50 disabled:cursor-not-allowed disabled:opacity-60",children:n?"Syncing...":f.actionLabel}):null]}):null]}),c?m.jsxs("div",{className:"space-y-2 text-sm",children:[m.jsx("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 text-gray-400",children:S.map(N=>m.jsx("span",{children:N},N))}),m.jsx("p",{className:f.tone==="danger"?"text-red-300":"text-gray-400",children:f.summary}),f.nextAction?m.jsx("p",{className:"text-xs text-gray-500",children:f.nextAction}):null,y>0||x>0?m.jsxs("div",{className:"flex flex-wrap gap-2 text-xs",children:[y>0?m.jsxs("span",{className:"rounded-md border border-yellow-900/60 bg-yellow-950/20 px-2 py-0.5 text-yellow-300",children:[y," dirty path",y===1?"":"s"]}):null,x>0?m.jsxs("span",{className:"rounded-md border border-red-900/60 bg-red-950/20 px-2 py-0.5 text-red-300",children:[x," conflicted path",x===1?"":"s"]}):null]}):null]}):e==="all"?m.jsxs("p",{className:"text-sm text-gray-500",children:["Remote results are not configured. Add"," ",m.jsx("code",{className:"rounded bg-gray-800 px-1 text-gray-400",children:"results"})," to"," ",m.jsx("code",{className:"rounded bg-gray-800 px-1 text-gray-400",children:".agentv/config.yaml"})," to enable."]}):null,o?m.jsx("div",{className:`rounded-md border px-3 py-2 text-sm ${v}`,role:o.kind==="error"?"alert":"status",children:o.message}):null,r!=null&&r.last_error?m.jsxs("div",{className:"rounded-md border border-red-900/60 bg-red-950/20 px-3 py-2 text-sm text-red-300",role:"alert",children:[m.jsx("p",{className:"font-medium",children:"Remote sync error"}),m.jsx("p",{children:r.last_error}),m.jsx("p",{className:"mt-1 text-xs text-red-200/80",children:Db(r)})]}):null,r!=null&&r.git_diff_summary&&f.state!=="clean"?m.jsx("pre",{className:"max-h-32 overflow-auto whitespace-pre-wrap rounded-md border border-gray-800 bg-gray-950/60 px-3 py-2 text-xs text-gray-500",children:r.git_diff_summary}):null]})}const PC="remote::";function Mne(e){return e.startsWith(PC)?e.slice(PC.length):e}function Mp(e){const t=new Map;for(const r of e){const n=Mne(r.filename),i=t.get(n);(!i||i.source==="remote"&&r.source==="local")&&t.set(n,r)}return[...t.values()]}function _k({projectId:e}={}){var v,y;const[t,r]=w.useState(null),n=Ke(e?H8(e):j8),i=Ke(e?Lb(e):kb),l=((v=n.data)==null?void 0:v.targets)??[],o=((y=i.data)==null?void 0:y.runs)??[],c=n.error??i.error,f=n.isLoading||i.isLoading,d=w.useMemo(()=>l.find(x=>x.name===t)??null,[t,l]);w.useEffect(()=>{t&&!l.some(x=>x.name===t)&&r(null)},[t,l]);const p=w.useMemo(()=>{if(!d)return[];const x=new Map;for(const S of o){if((S.target??"default")!==d.name)continue;const O=S.experiment??"default",N=x.get(O)??[];N.push(S),x.set(O,N)}return[...x.entries()].map(([S,j])=>Rne(S,Mp(j))).sort((S,j)=>S.latestTimestamp&&j.latestTimestamp&&S.latestTimestamp!==j.latestTimestamp?j.latestTimestamp.localeCompare(S.latestTimestamp):S.latestTimestamp?-1:j.latestTimestamp?1:S.name.localeCompare(j.name))},[o,d]);return f?m.jsx(Ine,{}):c?m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load targets: ",c.message]}):l.length===0?m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-8 text-center",children:[m.jsx("p",{className:"text-lg text-gray-400",children:"No targets found"}),m.jsx("p",{className:"mt-2 text-sm text-gray-500",children:"Targets will appear here once evaluations are run with target labels."})]}):d?m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{className:"space-y-3",children:[m.jsx("button",{type:"button",onClick:()=>r(null),className:"rounded-md px-3 py-1.5 text-sm text-gray-400 transition-colors hover:text-gray-200",children:"← Back to targets"}),m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900/50 p-4",children:m.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[m.jsxs("div",{children:[m.jsx("h2",{className:"text-xl font-semibold text-white",children:d.name}),m.jsxs("p",{className:"mt-1 text-sm text-gray-400",children:[d.run_count," run",d.run_count===1?"":"s"," ·"," ",d.experiment_count," experiment",d.experiment_count===1?"":"s"," ·"," ",m.jsx("span",{className:"text-emerald-400",children:d.passed_count}),m.jsx("span",{className:"text-gray-600",children:" / "}),zo(d)," evals passed",Gt(d)>0&&m.jsxs("span",{className:"ml-2 text-amber-400",children:["· ",Gt(d)," execution errors"]})]})]}),m.jsx("div",{className:"w-full max-w-52",children:m.jsx(en,{rate:d.pass_rate})})]})})]}),p.length===0?m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-8 text-center",children:[m.jsx("p",{className:"text-lg text-gray-400",children:"No runs found for this target"}),m.jsx("p",{className:"mt-2 text-sm text-gray-500",children:"This target summary exists, but there are no matching runs to group by experiment."})]}):m.jsx("div",{className:"space-y-6",children:p.map(x=>m.jsxs("section",{className:"space-y-3",children:[m.jsxs("div",{className:"flex flex-col gap-3 rounded-lg border border-gray-800 bg-gray-900/40 p-4 sm:flex-row sm:items-center sm:justify-between",children:[m.jsxs("div",{children:[m.jsx("h3",{className:"text-lg font-medium text-gray-200",children:Dne(x.name)}),m.jsxs("p",{className:"mt-1 text-sm text-gray-400",children:[x.runs.length," run",x.runs.length===1?"":"s"," ·"," ",m.jsx("span",{className:"text-emerald-400",children:x.passedCount}),m.jsx("span",{className:"text-gray-600",children:" / "}),x.qualityCount," evals passed",x.executionErrorCount>0&&m.jsxs("span",{className:"ml-2 text-amber-400",children:["· ",x.executionErrorCount," execution errors"]}),x.latestTimestamp&&m.jsxs("span",{className:"ml-2 text-gray-500",children:["· Last run ",kne(x.latestTimestamp)]})]})]}),m.jsx("div",{className:"w-full max-w-52",children:m.jsx(en,{rate:x.passRate})})]}),m.jsx(Cp,{runs:x.runs,projectId:e})]},x.name))})]}):m.jsx("div",{className:"max-w-full overflow-x-auto rounded-lg border border-gray-800",children:m.jsxs("table",{className:"min-w-[720px] w-full whitespace-nowrap text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Target"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Runs"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Experiments"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Pass Rate"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Evals"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Execution Errors"})]})}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:l.map(x=>{const S=zo(x),j=Gt(x);return m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[m.jsx("td",{className:"px-4 py-3",children:m.jsx("button",{type:"button",onClick:()=>r(x.name),className:"font-medium text-cyan-400 hover:text-cyan-300 hover:underline",children:x.name})}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:x.run_count}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:x.experiment_count}),m.jsx("td",{className:"px-4 py-3",children:m.jsx(en,{rate:x.pass_rate})}),m.jsxs("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:[m.jsx("span",{className:"text-emerald-400",children:x.passed_count}),m.jsx("span",{className:"text-gray-600",children:" / "}),m.jsx("span",{children:S})]}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-amber-400",children:j>0?j:m.jsx("span",{className:"text-gray-600",children:"0"})})]},x.name)})})]})})}function Rne(e,t){let r=0,n=0,i=0,l=0,o=null;for(const c of t){const f=Gt(c),d=Math.max(0,c.test_count-f);r+=c.test_count,n+=d,l+=f,i+=Math.round(c.pass_rate*d),c.timestamp&&(!o||c.timestamp>o)&&(o=c.timestamp)}return{name:e,runs:t,latestTimestamp:o,evalCount:r,qualityCount:n,passedCount:i,executionErrorCount:l,passRate:n>0?i/n:0}}function Dne(e){return e==="default"?"Default experiment":e}function kne(e){const t=new Date(e);if(Number.isNaN(t.getTime()))return e;const r=Date.now()-t.getTime(),n=Math.floor(r/6e4),i=Math.floor(r/36e5);return n<1?"just now":n<60?`${n} min ago`:i<24?`${i} hour${i===1?"":"s"} ago`:t.toLocaleDateString()}function Ine(){return m.jsxs("div",{className:"space-y-4",children:[m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900/50 p-4",children:[m.jsx("div",{className:"h-6 w-40 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"mt-3 h-4 w-72 animate-pulse rounded bg-gray-800"})]}),m.jsx("div",{className:"overflow-hidden rounded-lg border border-gray-800",children:m.jsxs("div",{className:"animate-pulse",children:[m.jsx("div",{className:"border-b border-gray-800 bg-gray-900/50 px-4 py-3",children:m.jsx("div",{className:"h-4 w-48 rounded bg-gray-800"})}),["sk-1","sk-2","sk-3","sk-4","sk-5"].map(e=>m.jsxs("div",{className:"flex gap-4 border-b border-gray-800/50 px-4 py-3",children:[m.jsx("div",{className:"h-4 w-32 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-12 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-12 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-48 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-20 rounded bg-gray-800"})]},e))]})}),m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900/40 p-4",children:[m.jsx("div",{className:"h-5 w-48 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"mt-3 h-4 w-56 animate-pulse rounded bg-gray-800"})]})]})}const TC=[{id:"runs",label:"🏃 Recent Runs"},{id:"experiments",label:"🧪 Experiments"},{id:"analytics",label:"📊 Analytics"},{id:"targets",label:"🤖 Targets"}],Lne=_r("/")({component:zne});function zne(){const e=cl(),n=Mb().location.search.tab,{data:i,isLoading:l}=Jo(),{data:o,isLoading:c}=ut(),f=(i==null?void 0:i.projects)??[],[d,p]=w.useState(void 0);w.useEffect(()=>{if(l||c)return;const y=o==null?void 0:o.current_project_id;if(!y){p(null);return}const x=aB(y),S=typeof window<"u"&&window.sessionStorage.getItem(x)==="1",j=sB(f.map(O=>O.id),y,S);typeof window<"u"&&j&&window.sessionStorage.setItem(x,"1"),p(j??null)},[o==null?void 0:o.current_project_id,c,f,l]);const v=lB(f.map(y=>y.id),o==null?void 0:o.project_dashboard,d??void 0,n);return w.useEffect(()=>{v.kind==="redirect"&&v.redirectPath&&e({to:v.redirectPath,replace:!0})},[v,e]),l||c||d===void 0?m.jsx(yb,{}):v.kind==="redirect"?m.jsx(yb,{}):v.kind==="dashboard"?m.jsx($ne,{}):m.jsx(Bne,{})}function $ne(){const{data:e}=Jo(),{data:t}=ut(),r=oa(),[n,i]=w.useState(""),[l,o]=w.useState(null),[c,f]=w.useState(!1),[d,p]=w.useState(!1),v=(e==null?void 0:e.projects)??[],y=(t==null?void 0:t.read_only)===!0;async function x(S){if(S.preventDefault(),!!n.trim()){o(null);try{await I8(n.trim()),i(""),f(!1),r.invalidateQueries({queryKey:["projects"]})}catch(j){o(j.message)}}}return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("h1",{className:"text-2xl font-semibold text-white",children:"Projects"}),m.jsx("div",{className:"flex gap-2",children:!y&&m.jsxs(m.Fragment,{children:[m.jsx("button",{type:"button",onClick:()=>p(!0),className:"rounded-md bg-emerald-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-emerald-500",children:"▶ Run Eval"}),m.jsx("button",{type:"button",onClick:()=>f(!c),className:"rounded-md bg-cyan-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-cyan-500",children:c?"Cancel":"Add Project"})]})})]}),l&&m.jsx("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-3 text-sm text-red-400",children:l}),!y&&c&&m.jsx("div",{className:"space-y-3 rounded-lg border border-gray-800 bg-gray-900/50 p-4",children:m.jsxs("form",{onSubmit:x,className:"flex gap-2",children:[m.jsx("input",{type:"text",value:n,onChange:S=>i(S.target.value),placeholder:"Project path (e.g., /home/user/projects/my-evals)",className:"flex-1 rounded-md border border-gray-700 bg-gray-800 px-3 py-1.5 text-sm text-white placeholder-gray-500 focus:border-cyan-600 focus:outline-none"}),m.jsx("button",{type:"submit",className:"rounded-md bg-cyan-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-cyan-500",children:"Add"})]})}),v.length===0?m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900/50 p-8 text-center",children:[m.jsx("p",{className:"text-lg text-gray-300",children:"No projects registered yet."}),m.jsx("p",{className:"mt-2 text-sm text-gray-500",children:"Add a project path to start browsing runs, experiments, analytics, and targets."})]}):m.jsx("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",children:v.map(S=>m.jsx(xne,{project:S},S.id))}),!y&&m.jsx(gl,{open:d,onClose:()=>p(!1)})]})}function Bne(){const r=Mb().location.search.tab,n=cl(),i=oa(),{data:l,isLoading:o,error:c,hasNextPage:f,fetchNextPage:d,isFetchingNextPage:p}=A8(),{data:v}=Rm(),{data:y}=ut(),[x,S]=w.useState(!1),[j,O]=w.useState("all"),[N,P]=w.useState(!1),[E,A]=w.useState(null),T=(y==null?void 0:y.read_only)===!0,M=TC.some(z=>z.id===r)?r:"runs",R=j==="all"?Mp((l==null?void 0:l.runs)??[]):((l==null?void 0:l.runs)??[]).filter(z=>z.source===j);async function I(){P(!0),A(null);try{const z=await G2();i.setQueryData(Ib().queryKey,z),A(L2(z)),Promise.all([i.invalidateQueries({queryKey:["runs"]}),i.invalidateQueries({queryKey:["experiments"]}),i.invalidateQueries({queryKey:["compare"]}),i.invalidateQueries({queryKey:["targets"]}),i.invalidateQueries({queryKey:["remote-status",""]})]).catch(()=>{})}catch(z){A(z2(z,v)),i.invalidateQueries({queryKey:["remote-status",""]}).catch(()=>{})}finally{P(!1)}}return w.useEffect(()=>{if((E==null?void 0:E.kind)!=="success")return;const z=window.setTimeout(()=>A(null),7e3);return()=>window.clearTimeout(z)},[E]),m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-semibold text-white",children:"Evaluation Runs"}),(y==null?void 0:y.project_name)&&m.jsx("p",{className:"mt-0.5 text-sm text-gray-500",children:y.project_name})]}),!T&&m.jsx("button",{type:"button",onClick:()=>S(!0),className:"rounded-md bg-emerald-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-emerald-500",children:"▶ Run Eval"})]}),m.jsx("div",{className:"border-b border-gray-800",children:m.jsx("div",{className:"flex flex-wrap gap-1 sm:flex-nowrap",children:TC.map(z=>m.jsx("button",{type:"button",onClick:()=>n({to:"/",search:{tab:z.id}}),className:`px-4 py-2 text-sm font-medium transition-colors ${M===z.id?"border-b-2 border-cyan-400 text-cyan-400":"text-gray-400 hover:text-gray-300"}`,children:z.label},z.id))})}),M==="runs"&&m.jsx(qne,{runs:R,isLoading:o,error:c,sourceFilter:j,onSourceFilterChange:O,remoteStatus:v,syncInFlight:N,syncFeedback:E,onSyncRemote:I,projectName:y==null?void 0:y.project_name,hasNextPage:f,isFetchingNextPage:p,onLoadMore:()=>void d(),readOnly:T}),M==="experiments"&&m.jsx(Ok,{}),M==="analytics"&&m.jsx(Une,{readOnly:T}),M==="targets"&&m.jsx(_k,{}),!T&&m.jsx(gl,{open:x,onClose:()=>S(!1)})]})}function Une({readOnly:e}){const{data:t,isLoading:r,isError:n,error:i}=T8();return m.jsx(jk,{data:t,isLoading:r,isError:n,error:i,readOnly:e})}function qne({runs:e,isLoading:t,error:r,sourceFilter:n,onSourceFilterChange:i,remoteStatus:l,syncInFlight:o,syncFeedback:c,onSyncRemote:f,projectName:d,hasNextPage:p,isFetchingNextPage:v,onLoadMore:y,readOnly:x}){return t?m.jsx(yb,{}):r?m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load runs: ",r.message]}):m.jsxs("div",{className:"space-y-4",children:[m.jsx(Hne,{}),m.jsx(Nk,{filter:n,onFilterChange:i,remoteStatus:l,syncInFlight:o,onSync:f,projectName:d,syncFeedback:c}),m.jsx(Cp,{runs:e,enableCombine:!x,hasNextPage:p,isFetchingNextPage:v,onLoadMore:y,emptyMessage:n==="remote"?l!=null&&l.configured?m.jsxs(m.Fragment,{children:[m.jsx("p",{className:"text-lg text-gray-400",children:"No remote runs found."}),m.jsxs("p",{className:"mt-2 text-sm text-gray-500",children:["Sync remote results or run an eval with"," ",m.jsx("code",{className:"rounded bg-gray-800 px-2 py-1 text-cyan-400",children:"auto_push: true"})," ","in your config."]})]}):m.jsxs(m.Fragment,{children:[m.jsx("p",{className:"text-lg text-gray-400",children:"Remote results are not configured."}),m.jsxs("p",{className:"mt-2 text-sm text-gray-500",children:["Add ",m.jsx("code",{className:"rounded bg-gray-800 px-2 py-1 text-cyan-400",children:"results"})," ","to"," ",m.jsx("code",{className:"rounded bg-gray-800 px-2 py-1 text-cyan-400",children:".agentv/config.yaml"})," ","to enable remote result syncing."]})]}):void 0})]})}function Hne(){const{data:e}=Bb(),t=((e==null?void 0:e.runs)??[]).filter(r=>r.status==="starting"||r.status==="running");return t.length===0?null:m.jsxs("div",{className:"rounded-lg border border-cyan-900/40 bg-cyan-950/10",children:[m.jsx("div",{className:"border-b border-cyan-900/30 px-4 py-2.5",children:m.jsx("span",{className:"text-xs font-medium uppercase tracking-wider text-cyan-400",children:"Active"})}),m.jsx("ul",{className:"divide-y divide-gray-800/50",children:t.map(r=>m.jsxs("li",{className:"flex items-center justify-between px-4 py-3",children:[m.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[m.jsx("span",{className:"inline-block h-2 w-2 flex-shrink-0 animate-pulse rounded-full bg-cyan-400"}),m.jsx("span",{className:"truncate font-mono text-sm text-gray-300",children:r.id}),m.jsx("span",{className:"flex-shrink-0 text-xs text-gray-500",children:new Date(r.started_at).toLocaleTimeString()})]}),m.jsx(Ne,{to:"/jobs/$runId",params:{runId:r.id},className:"ml-4 flex-shrink-0 text-xs text-cyan-400 hover:text-cyan-300",children:"View Log →"})]},r.id))})]})}function yb(){return m.jsx("div",{className:"space-y-2",children:["s1","s2","s3","s4","s5"].map(e=>m.jsx("div",{className:"h-12 animate-pulse rounded-lg bg-gray-900"},e))})}function Ek(e){return e==="finished"||e==="failed"}function Fne(e,t){return t||!e?!1:!Ek(e)}function Kne(e,t,r,n){return t||n&&!Ek(n)?!1:!!(e.some(i=>i.executionStatus==="execution_error")||r!==void 0&&e.length<r)}function Gne(e){const t={suite_filter:e.suiteFilter,output:e.runDir};return e.target&&(t.target=e.target),e.mode==="resume"?t.resume=!0:t.rerun_failed=!0,t}function Ak({results:e,runDir:t,suiteFilter:r,target:n,projectId:i,isReadOnly:l,plannedTestCount:o,runStatus:c}){const f=cl(),[d,p]=w.useState(null),[v,y]=w.useState(null);if(!Kne(e,l,o,c))return null;const x=!!t&&!!r,S=t?r?"":"Original eval file path missing from benchmark.json — cannot determine what to resume":"Run directory unavailable (remote run cannot be resumed in place)";async function j(O){if(!(!x||!t||!r)){p(O),y(null);try{const N=Gne({mode:O,runDir:t,suiteFilter:r,target:n}),P=await V2(N,i);f(i?{to:"/projects/$projectId/jobs/$runId",params:{projectId:i,runId:P.id}}:{to:"/jobs/$runId",params:{runId:P.id}})}catch(N){y(N instanceof Error?N.message:"Failed to launch resume"),p(null)}}}return m.jsxs("div",{className:"flex flex-col items-end gap-1",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("button",{type:"button",onClick:()=>j("resume"),disabled:!x||d!==null,title:x?"Skip already-completed tests, run the rest":S,className:"rounded-md bg-amber-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-amber-500 disabled:cursor-not-allowed disabled:opacity-50","data-testid":"resume-run-button",children:d==="resume"?"Resuming…":"↻ Resume run"}),m.jsx("button",{type:"button",onClick:()=>j("rerun"),disabled:!x||d!==null,title:x?"Re-run failed/errored tests, keep passing results":S,className:"rounded-md border border-amber-600/60 bg-transparent px-3 py-1.5 text-sm font-medium text-amber-300 hover:bg-amber-950/40 disabled:cursor-not-allowed disabled:opacity-50","data-testid":"rerun-failed-button",children:d==="rerun"?"Re-running…":"Rerun failed cases"})]}),v&&m.jsx("p",{className:"text-xs text-red-400",children:v})]})}function Pk(e){return e&&e!=="default"?e:void 0}function Yne(e,t){const r=[Pk(t==null?void 0:t.experiment),t==null?void 0:t.target].filter(n=>!!n);return r.length>0?r.join(" · "):e}function gb(e){const t=e==null?void 0:e.trim();return t||void 0}function Tk(e){const t=e.results[0],r=gb(e.sourceLabel),n=e.source==="remote",i=n&&r?r:Yne(e.runId,t),l=t!=null&&t.timestamp&&e.formatTimestamp?e.formatTimestamp(t.timestamp):t==null?void 0:t.timestamp,o=[t==null?void 0:t.target,Pk(t==null?void 0:t.experiment),l,n?void 0:e.source].filter(d=>!!d),c=gb(e.remoteRepo),f=[];return n&&(r&&r!==i&&f.push({label:"Source",value:r}),c&&f.push({label:"Repo",value:c})),{heading:i,meta:o.join(" · "),...n&&{sourceBadge:"Remote"},...r&&{sourceLabel:r},sourceContext:f}}function Vne(e){const t=e.replace(/\\/g,"/");return t==="."||t===".."||t.startsWith("./")||t.startsWith("../")||t.startsWith("/")||/^[A-Za-z]:\//.test(t)||t.includes("/../")||t.includes("/./")}function Qne(e){var r;return((r=e.split(/[\\/]+/).filter(n=>n&&n!=="."&&n!=="..").at(-1))==null?void 0:r.trim())||void 0}function Xne(e){const t=gb(e)??"Uncategorized";return Vne(t)?{label:Qne(t)??"Uncategorized",mutedLabel:t}:{label:t}}function Xo({total:e,passed:t,failed:r,passRate:n,executionErrors:i=0,totalCost:l}){const o=Math.round(n*100),c=o>=80?"text-cyan-400":o>=60?"text-amber-400":"text-red-400";return m.jsxs("div",{className:"flex flex-wrap items-center gap-6 rounded-lg border border-gray-800 bg-gray-900/60 px-5 py-3",children:[m.jsx(mo,{label:"Pass Rate",value:`${o}%`,accent:c,large:!0}),m.jsx("div",{className:"h-6 w-px bg-gray-700"}),m.jsx(mo,{label:"Passed",value:String(t),accent:"text-emerald-400"}),m.jsx(mo,{label:"Failures",value:String(r),accent:"text-red-400"}),i>0&&m.jsx(mo,{label:"Execution Errors",value:String(i),accent:"text-amber-400"}),m.jsx(mo,{label:"Total",value:String(e)}),l!==void 0&&m.jsxs(m.Fragment,{children:[m.jsx("div",{className:"h-6 w-px bg-gray-700"}),m.jsx(mo,{label:"Cost",value:`$${l.toFixed(4)}`,accent:"text-amber-400"})]})]})}function mo({label:e,value:t,accent:r,large:n}){return m.jsxs("div",{className:"flex flex-col",children:[m.jsx("span",{className:"text-xs text-gray-500",children:e}),m.jsx("span",{className:`tabular-nums font-semibold ${n?"text-2xl":"text-lg"} ${r??"text-white"}`,children:t})]})}function Zne(e,t){const r=new Map;for(const n of e){const i=n.category??"Uncategorized",l=n.suite??"Uncategorized";r.has(i)||r.set(i,new Map);const o=r.get(i),c=o.get(l)??[];c.push(n),o.set(l,c)}return Array.from(r.entries()).map(([n,i])=>{const l=Array.from(i.entries()).map(([x,S])=>{const j=Im(S,t);return{name:x,passed:j.passed,failed:j.failed,executionErrors:j.executionErrors,total:j.total,avgScore:j.avgScore}}).sort((x,S)=>x.name.localeCompare(S.name)),o=l.reduce((x,S)=>x+S.total,0),c=l.reduce((x,S)=>x+S.passed,0),f=l.reduce((x,S)=>x+S.failed,0),d=l.reduce((x,S)=>x+S.executionErrors,0),p=o-d,v=l.reduce((x,S)=>x+S.avgScore*(S.total-S.executionErrors),0),y=Xne(n);return{name:n,displayName:y.label,mutedDisplayName:y.mutedLabel,suites:l,total:o,passed:c,failed:f,executionErrors:d,avgScore:p>0?v/p:0}}).sort((n,i)=>n.name.localeCompare(i.name))}function Ck({results:e,runId:t,projectId:r}){const{data:n}=ut(r),i=(n==null?void 0:n.threshold)??(n==null?void 0:n.pass_threshold)??.8,l=e.length,o=Im(e,i),c=e.reduce((d,p)=>d+(p.costUsd??0),0),f=Zne(e,i);return l===0?m.jsxs("div",{className:"space-y-6",children:[m.jsx(Xo,{total:0,passed:0,failed:0,passRate:0}),m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-8 text-center",children:[m.jsx("p",{className:"text-lg text-gray-400",children:"No evaluations found"}),m.jsx("p",{className:"mt-2 text-sm text-gray-500",children:"This run has no results yet."})]})]}):m.jsxs("div",{className:"space-y-6",children:[m.jsx(Xo,{total:l,passed:o.passed,failed:o.failed,passRate:o.passRate,executionErrors:o.executionErrors,totalCost:c>0?c:void 0}),m.jsxs("div",{children:[m.jsx("h3",{className:"mb-3 text-sm font-medium text-gray-400",children:"Category Breakdown"}),m.jsx("div",{className:"max-w-full overflow-x-auto rounded-lg border border-gray-800",children:m.jsxs("table",{className:"min-w-[620px] w-full whitespace-nowrap text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[m.jsx("th",{className:"px-4 py-2.5 font-medium text-gray-400",children:"Category"}),m.jsx("th",{className:"px-4 py-2.5 font-medium text-gray-400",children:"Pass Rate"}),m.jsx("th",{className:"px-4 py-2.5 text-right font-medium text-gray-400",children:"Passed"}),m.jsx("th",{className:"px-4 py-2.5 text-right font-medium text-gray-400",children:"Failures"}),m.jsx("th",{className:"px-4 py-2.5 text-right font-medium text-gray-400",children:"Execution Errors"}),m.jsx("th",{className:"px-4 py-2.5 text-right font-medium text-gray-400",children:"Total"})]})}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:f.map(d=>{const p=m.jsxs("span",{className:"flex min-w-0 items-baseline gap-2",children:[m.jsx("span",{className:"truncate",children:d.displayName}),d.mutedDisplayName?m.jsx("span",{className:"truncate text-xs font-normal text-gray-500",title:d.mutedDisplayName,children:d.mutedDisplayName}):null]});return m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[m.jsx("td",{className:"w-[18rem] max-w-[18rem] px-4 py-2.5 font-medium text-gray-200",children:r?m.jsx(Ne,{to:"/projects/$projectId/runs/$runId/category/$category",params:{projectId:r,runId:t,category:d.name},className:"flex min-w-0 text-cyan-400 hover:text-cyan-300 hover:underline",title:d.mutedDisplayName??d.displayName,children:p}):m.jsx(Ne,{to:"/runs/$runId/category/$category",params:{runId:t,category:d.name},className:"flex min-w-0 text-cyan-400 hover:text-cyan-300 hover:underline",title:d.mutedDisplayName??d.displayName,children:p})}),m.jsx("td",{className:"px-4 py-2.5",children:m.jsx(en,{rate:d.total-d.executionErrors>0?d.passed/(d.total-d.executionErrors):0})}),m.jsx("td",{className:"px-4 py-2.5 text-right tabular-nums text-emerald-400",children:d.passed}),m.jsx("td",{className:"px-4 py-2.5 text-right tabular-nums text-red-400",children:d.failed>0?d.failed:m.jsx("span",{className:"text-gray-600",children:"0"})}),m.jsx("td",{className:"px-4 py-2.5 text-right tabular-nums text-amber-400",children:d.executionErrors>0?d.executionErrors:m.jsx("span",{className:"text-gray-600",children:"0"})}),m.jsx("td",{className:"px-4 py-2.5 text-right tabular-nums text-gray-400",children:d.total})]},d.name)})})]})})]}),m.jsxs("div",{children:[m.jsx("h3",{className:"mb-3 text-sm font-medium text-gray-400",children:"All Evals"}),m.jsx("div",{className:"max-w-full overflow-x-auto rounded-lg border border-gray-800",children:m.jsxs("table",{className:"min-w-[760px] w-full whitespace-nowrap text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[m.jsx("th",{className:"w-8 px-4 py-3"}),m.jsx("th",{className:"w-[24rem] px-4 py-3 font-medium text-gray-400",children:"Test ID"}),m.jsx("th",{className:"w-[12rem] px-4 py-3 font-medium text-gray-400",children:"Target"}),m.jsx("th",{className:"w-48 px-4 py-3 font-medium text-gray-400",children:"Score"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Duration"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Cost"})]})}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:e.map((d,p)=>{const v=km(d),y=Fa(d.score,i);return m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[m.jsx("td",{className:"px-4 py-3 text-center",children:v?m.jsx("span",{className:"text-base font-bold text-amber-400",children:"!"}):m.jsx("span",{className:`text-base font-bold ${y?"text-emerald-400":"text-red-400"}`,children:y?"✓":"✗"})}),m.jsx("td",{className:"w-[24rem] max-w-[24rem] px-4 py-3",children:r?m.jsx(Ne,{to:"/projects/$projectId/evals/$runId/$evalId",params:{projectId:r,runId:t,evalId:d.testId},className:"block truncate font-medium text-cyan-400 hover:text-cyan-300 hover:underline",title:d.testId,children:d.testId}):m.jsx(Ne,{to:"/evals/$runId/$evalId",params:{runId:t,evalId:d.testId},className:"block truncate font-medium text-cyan-400 hover:text-cyan-300 hover:underline",title:d.testId,children:d.testId})}),m.jsx("td",{className:"w-[12rem] max-w-[12rem] truncate px-4 py-3 text-gray-400",title:d.target??void 0,children:d.target??"-"}),m.jsx("td",{className:"px-4 py-3",children:v?m.jsx("span",{className:"inline-flex rounded-full bg-amber-900/40 px-2 py-0.5 text-xs font-medium text-amber-300",children:"Execution error"}):m.jsx(en,{rate:d.score})}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:d.durationMs!=null?`${(d.durationMs/1e3).toFixed(1)}s`:"-"}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:d.costUsd!=null?`$${d.costUsd.toFixed(4)}`:"-"})]},`${d.testId}-${p}`)})})]})})]}),m.jsx(Wne,{runId:t,projectId:r})]})}function Wne({runId:e,projectId:t}){const[r,n]=w.useState(!1),{data:i,isLoading:l,error:o}=g8(e,t);return!l&&!o&&i==null?null:m.jsxs("div",{children:[m.jsxs("button",{type:"button",onClick:()=>n(c=>!c),className:"flex w-full items-center justify-between rounded-lg border border-gray-800 bg-gray-900/50 px-4 py-2 text-left text-sm font-medium text-gray-300 transition-colors hover:bg-gray-900","aria-expanded":r,children:[m.jsxs("span",{className:"flex items-center gap-2",children:[m.jsx("span",{"aria-hidden":"true",children:r?"▾":"▸"}),"Run Log"]}),m.jsx("span",{className:"text-xs text-gray-500",children:l?"Loading…":o?"Failed to load":i?`${i.length} chars`:""})]}),r&&m.jsx("div",{className:"mt-2 overflow-hidden rounded-lg border border-gray-800 bg-black",children:o?m.jsxs("div",{className:"p-4 text-sm text-red-400",children:["Failed to load run log: ",o.message]}):m.jsx("pre",{className:"max-h-[480px] overflow-auto whitespace-pre-wrap break-words p-4 font-mono text-xs leading-relaxed text-gray-200",children:i??""})})]})}function Rp({status:e}){const t=e==="finished"||e==="failed",n={starting:"text-yellow-400",running:"text-cyan-400",finished:"text-emerald-400",failed:"text-red-400"}[e]??"text-gray-400";return m.jsxs(m.Fragment,{children:[m.jsx("span",{className:`text-sm font-medium ${n}`,children:e.charAt(0).toUpperCase()+e.slice(1)}),!t&&m.jsx("span",{className:"inline-block h-3 w-3 animate-spin rounded-full border-2 border-cyan-400 border-t-transparent"})]})}function Dp({runId:e,status:t,isReadOnly:r,projectId:n}){const[i,l]=w.useState(!1),[o,c]=w.useState(null);if(!Fne(t,r))return null;async function f(){l(!0),c(null);try{await J8(e,n)}catch(d){c(d instanceof Error?d.message:"Failed to stop run"),l(!1)}}return m.jsxs("div",{className:"flex flex-col items-end gap-1",children:[m.jsx("button",{type:"button",onClick:f,disabled:i,className:"inline-flex items-center gap-2 rounded-md border border-gray-700 bg-transparent px-3 py-1.5 text-sm font-medium text-gray-300 hover:bg-gray-800 disabled:cursor-not-allowed disabled:opacity-50","data-testid":"stop-run-button",children:i?"Stopping…":m.jsxs(m.Fragment,{children:[m.jsx("span",{"aria-hidden":"true",className:"inline-block h-2.5 w-2.5 rounded-[1px] bg-current"}),"Stop"]})}),o&&m.jsx("p",{className:"text-xs text-red-400",children:o})]})}const Mk=_r("/runs/$runId")({component:Jne});function Jne(){var j;const{runId:e}=Mk.useParams(),{data:t,isLoading:r,error:n}=rf(e),{data:i}=ut(),{data:l}=Rm(),[o,c]=w.useState(!1),f=(i==null?void 0:i.read_only)===!0;if(r)return m.jsxs("div",{className:"space-y-4",children:[m.jsx("div",{className:"h-8 w-64 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"grid grid-cols-5 gap-4",children:["s1","s2","s3","s4","s5"].map(O=>m.jsx("div",{className:"h-20 animate-pulse rounded-lg bg-gray-900"},O))})]});if(n)return m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load run: ",n.message]});const d=(j=t==null?void 0:t.results)==null?void 0:j[0],p=d==null?void 0:d.target,v=p?{target:p}:void 0,y=t==null?void 0:t.status,x=y==="starting"||y==="running",S=Tk({runId:e,results:(t==null?void 0:t.results)??[],source:t==null?void 0:t.source,sourceLabel:t==null?void 0:t.source_label,remoteRepo:(t==null?void 0:t.source)==="remote"?l==null?void 0:l.repo:void 0,formatTimestamp:O=>new Date(O).toLocaleString()});return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",children:[m.jsxs("div",{className:"min-w-0",children:[m.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[m.jsx("h1",{className:"min-w-0 truncate text-xl font-semibold text-white sm:text-2xl",title:S.heading,children:S.heading}),S.sourceBadge?m.jsx("span",{className:"rounded-md border border-cyan-900/60 bg-cyan-950/20 px-2 py-0.5 text-xs font-medium text-cyan-300",children:S.sourceBadge}):null]}),S.meta?m.jsx("p",{className:"mt-1 text-sm text-gray-500",children:S.meta}):null,S.sourceContext.length>0?m.jsx("div",{className:"mt-2 flex flex-wrap items-center gap-2 text-xs text-gray-500",children:S.sourceContext.map(O=>m.jsxs("span",{children:[m.jsxs("span",{className:"text-gray-600",children:[O.label,":"]})," ",O.value]},`${O.label}:${O.value}`))}):null]}),m.jsxs("div",{className:"flex flex-wrap items-center gap-3 sm:justify-end",children:[!f&&x?m.jsx(Dp,{runId:e,status:y,isReadOnly:f}):m.jsx(Ak,{results:(t==null?void 0:t.results)??[],runDir:t==null?void 0:t.run_dir,suiteFilter:t==null?void 0:t.suite_filter,target:p??void 0,isReadOnly:f,plannedTestCount:t==null?void 0:t.planned_test_count,runStatus:y}),y&&m.jsx(Rp,{status:y}),!f&&!x&&m.jsx("button",{type:"button",onClick:()=>c(!0),className:"rounded-md bg-emerald-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-emerald-500",children:"▶ Run evals"})]})]}),m.jsx(Ck,{results:(t==null?void 0:t.results)??[],runId:e}),!f&&m.jsx(gl,{open:o,onClose:()=>c(!1),prefill:v})]})}function eae({projectId:e,displayName:t}){return m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-semibold text-white",children:t}),t!==e?m.jsx("p",{className:"mt-0.5 text-sm text-gray-500",children:e}):null]})}const CC=[{id:"runs",label:"🏃 Recent Runs"},{id:"experiments",label:"🧪 Experiments"},{id:"analytics",label:"📊 Analytics"},{id:"targets",label:"🤖 Targets"}],Rk=_r("/projects/$projectId")({component:tae});function tae(){const{projectId:e}=Rk.useParams(),n=Mb().location.search.tab,i=cl(),[l,o]=w.useState(!1),{data:c}=ut(e),{data:f}=Jo(),d=(c==null?void 0:c.read_only)===!0,p=qb(e,f==null?void 0:f.projects),v=CC.some(y=>y.id===n)?n:"runs";return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx(eae,{projectId:e,displayName:p}),!d&&m.jsx("button",{type:"button",onClick:()=>o(!0),className:"rounded-md bg-emerald-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-emerald-500",children:"▶ Run Eval"})]}),m.jsx("div",{className:"border-b border-gray-800 sm:overflow-x-auto",children:m.jsx("div",{className:"flex flex-wrap gap-1 sm:min-w-max sm:flex-nowrap",children:CC.map(y=>m.jsx("button",{type:"button",onClick:()=>i({to:"/projects/$projectId",params:{projectId:e},search:{tab:y.id}}),className:`shrink-0 px-4 py-2 text-sm font-medium transition-colors ${v===y.id?"border-b-2 border-cyan-400 text-cyan-400":"text-gray-400 hover:text-gray-300"}`,children:y.label},y.id))})}),v==="runs"&&m.jsx(rae,{projectId:e,projectName:p,readOnly:d}),v==="experiments"&&m.jsx(Ok,{projectId:e}),v==="analytics"&&m.jsx(nae,{projectId:e,readOnly:d}),v==="targets"&&m.jsx(_k,{projectId:e}),!d&&m.jsx(gl,{open:l,onClose:()=>o(!1),projectId:e})]})}function rae({projectId:e,projectName:t,readOnly:r}){const n=oa(),{data:i,isLoading:l,error:o,hasNextPage:c,fetchNextPage:f,isFetchingNextPage:d}=$8(e),{data:p}=Bb(e),{data:v}=Rm(e),[y,x]=w.useState("all"),[S,j]=w.useState(!1),[O,N]=w.useState(null),P=((p==null?void 0:p.runs)??[]).filter(T=>T.status==="starting"||T.status==="running"),E=y==="all"?Mp((i==null?void 0:i.runs)??[]):((i==null?void 0:i.runs)??[]).filter(T=>T.source===y);async function A(){j(!0),N(null);try{const T=await G2(e);n.setQueryData(Ib(e).queryKey,T);const M=L2(T);N(M),Promise.all([n.invalidateQueries({queryKey:["projects",e,"runs"]}),n.invalidateQueries({queryKey:["projects",e,"experiments"]}),n.invalidateQueries({queryKey:["projects",e,"compare"]}),n.invalidateQueries({queryKey:["projects",e,"targets"]}),n.invalidateQueries({queryKey:["remote-status",e]})]).catch(()=>{})}catch(T){N(z2(T,v)),n.invalidateQueries({queryKey:["remote-status",e]}).catch(()=>{})}finally{j(!1)}}return w.useEffect(()=>{if((O==null?void 0:O.kind)!=="success")return;const T=window.setTimeout(()=>N(null),7e3);return()=>window.clearTimeout(T)},[O]),l?m.jsx("div",{className:"space-y-2",children:["s1","s2","s3"].map(T=>m.jsx("div",{className:"h-12 animate-pulse rounded-lg bg-gray-900"},T))}):o?m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load runs: ",o.message]}):m.jsxs("div",{className:"space-y-4",children:[P.length>0&&m.jsxs("div",{className:"rounded-lg border border-cyan-900/40 bg-cyan-950/10",children:[m.jsx("div",{className:"border-b border-cyan-900/30 px-4 py-2.5",children:m.jsx("span",{className:"text-xs font-medium uppercase tracking-wider text-cyan-400",children:"Active"})}),m.jsx("ul",{className:"divide-y divide-gray-800/50",children:P.map(T=>m.jsxs("li",{className:"flex items-center justify-between gap-4 px-4 py-3",children:[m.jsxs("div",{className:"min-w-0 flex items-center gap-3",children:[m.jsx("span",{className:"inline-block h-2 w-2 flex-shrink-0 animate-pulse rounded-full bg-cyan-400"}),m.jsx("span",{className:"truncate font-mono text-sm text-gray-300",children:T.id}),m.jsx("span",{className:"flex-shrink-0 text-xs text-gray-500",children:new Date(T.started_at).toLocaleTimeString()})]}),m.jsx(Ne,{to:"/projects/$projectId/jobs/$runId",params:{projectId:e,runId:T.id},className:"flex-shrink-0 text-xs text-cyan-400 hover:text-cyan-300",children:"View Log →"})]},T.id))})]}),m.jsx(Nk,{filter:y,onFilterChange:x,remoteStatus:v,syncInFlight:S,onSync:A,projectName:t,syncFeedback:O}),m.jsx(Cp,{runs:E,projectId:e,enableCombine:!r,hasNextPage:c,isFetchingNextPage:d,onLoadMore:()=>void f()})]})}function nae({projectId:e,readOnly:t}){const{data:r,isLoading:n,isError:i,error:l}=Ke(K2(e));return m.jsx(jk,{data:r,isLoading:n,isError:i,error:l,projectId:e,readOnly:t})}const Dk=_r("/jobs/$runId")({component:aae});function aae(){const{runId:e}=Dk.useParams(),{data:t,isLoading:r,error:n}=$b(e),{data:i}=ut(),l=(i==null?void 0:i.read_only)===!0;if(r)return m.jsxs("div",{className:"space-y-4",children:[m.jsx(Q0,{}),m.jsx("div",{className:"h-8 w-48 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"h-64 animate-pulse rounded-lg bg-gray-900"})]});if(n||!t)return m.jsxs("div",{className:"space-y-4",children:[m.jsx(Q0,{}),m.jsx("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-4 text-sm text-red-400",children:n?`Failed to load run: ${n.message}`:"Run not found."})]});const o=t.status==="finished"||t.status==="failed";return m.jsxs("div",{className:"space-y-4",children:[m.jsx(Q0,{}),m.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-4",children:[m.jsxs("div",{className:"min-w-0",children:[m.jsx("h1",{className:"truncate font-mono text-base font-semibold text-white",children:e}),m.jsxs("p",{className:"mt-0.5 text-xs text-gray-500",children:["Started ",new Date(t.started_at).toLocaleString(),t.finished_at&&m.jsxs(m.Fragment,{children:[" · ","Finished ",new Date(t.finished_at).toLocaleString()," · ",Math.round((new Date(t.finished_at).getTime()-new Date(t.started_at).getTime())/1e3),"s"]})]})]}),m.jsxs("div",{className:"flex flex-shrink-0 items-center gap-3",children:[m.jsx(Dp,{runId:e,status:t.status,isReadOnly:l}),m.jsx(Rp,{status:t.status})]})]}),m.jsxs("div",{className:"rounded-md border border-gray-700 bg-gray-950 px-4 py-3",children:[m.jsx("p",{className:"mb-1 text-xs font-medium uppercase tracking-wider text-gray-500",children:"Command"}),m.jsx("code",{className:"break-all text-xs text-cyan-300",children:t.command})]}),t.stdout?m.jsxs("div",{children:[m.jsx("p",{className:"mb-1 text-xs font-medium uppercase tracking-wider text-gray-500",children:"Output"}),m.jsx("div",{className:"max-h-[60vh] overflow-y-auto rounded-lg border border-gray-700 bg-gray-950 p-4",children:m.jsx("pre",{className:"whitespace-pre-wrap font-mono text-xs text-gray-200",children:t.stdout})})]}):!o&&m.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-500",children:[m.jsx("span",{className:"inline-block h-2.5 w-2.5 animate-spin rounded-full border-2 border-gray-500 border-t-transparent"}),"Waiting for output…"]}),t.stderr&&m.jsxs("div",{children:[m.jsx("p",{className:"mb-1 text-xs font-medium uppercase tracking-wider text-red-500",children:"Stderr"}),m.jsx("div",{className:"max-h-48 overflow-y-auto rounded-lg border border-red-900/40 bg-red-950/20 p-4",children:m.jsx("pre",{className:"whitespace-pre-wrap font-mono text-xs text-red-300",children:t.stderr})})]}),o&&m.jsxs("p",{className:"text-xs text-gray-500",children:["Exit code:"," ",m.jsx("span",{className:t.exit_code===0?"text-emerald-400":"text-red-400",children:t.exit_code})]})]})}function Q0(){return m.jsx(Ne,{to:"/",search:{tab:"runs"},className:"text-xs text-gray-400 hover:text-cyan-400",children:"← Back to Runs"})}function kk({experimentName:e,projectId:t}){var y;const{data:r,isLoading:n}=Ke(t?zb(t):U2),{data:i,isLoading:l}=Ke(t?Lb(t):kb);if(n||l)return m.jsxs("div",{className:"space-y-4",children:[m.jsx("div",{className:"h-8 w-64 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"grid grid-cols-4 gap-4",children:["s1","s2","s3","s4"].map(x=>m.jsx("div",{className:"h-20 animate-pulse rounded-lg bg-gray-900"},x))})]});const c=(y=r==null?void 0:r.experiments)==null?void 0:y.find(x=>x.name===e),f=Mp(((i==null?void 0:i.runs)??[]).filter(x=>(x.experiment??"default")===e)),d=(c==null?void 0:c.pass_rate)??0,p=f.length,v=(c==null?void 0:c.target_count)??0;return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-semibold text-white",children:e}),m.jsxs("p",{className:"mt-1 text-sm text-gray-400",children:[p," run",p!==1?"s":""," · ",v," target",v!==1?"s":"",(c==null?void 0:c.last_run)&&m.jsxs("span",{className:"ml-2",children:["· Last run: ",MC(c.last_run)]})]})]}),c&&m.jsxs("div",{className:"grid grid-cols-2 gap-4 sm:grid-cols-4",children:[m.jsx(hh,{label:"Runs",value:String(p)}),m.jsx(hh,{label:"Targets",value:String(v)}),m.jsx(hh,{label:"Pass Rate",value:`${Math.round(d*100)}%`,accent:"text-cyan-400"}),m.jsx(hh,{label:"Last Run",value:MC(c.last_run)})]}),m.jsxs("div",{children:[m.jsx("h2",{className:"mb-4 text-lg font-medium text-gray-200",children:"All Runs"}),m.jsx(Cp,{runs:f,projectId:t,emptyMessage:m.jsxs("div",{children:[m.jsx("p",{className:"text-lg text-gray-400",children:"No evaluation runs found for this experiment."}),m.jsx("p",{className:"mt-2 text-sm text-gray-500",children:"Runs will appear here once this experiment has execution results."})]})})]})]})}function hh({label:e,value:t,accent:r}){return m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-4",children:[m.jsx("p",{className:"text-sm text-gray-400",children:e}),m.jsx("p",{className:`mt-1 text-2xl font-semibold tabular-nums ${r??"text-white"}`,children:t})]})}function MC(e){if(!e)return"N/A";try{const t=new Date(e);return Number.isNaN(t.getTime())?"N/A":t.toLocaleString()}catch{return"N/A"}}const Ik=_r("/experiments/$experimentName")({component:iae});function iae(){const{experimentName:e}=Ik.useParams();return m.jsx(kk,{experimentName:e})}async function sae(e,t){const r=await fetch("/api/feedback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reviews:[{test_id:e,comment:t}]})});if(!r.ok)throw new Error(`Failed to save feedback: ${r.status}`);return r.json()}function lae({testId:e}){var p;const{data:t}=P8(),r=oa(),n=(p=t==null?void 0:t.reviews)==null?void 0:p.find(v=>v.test_id===e),[i,l]=w.useState((n==null?void 0:n.comment)??""),[o,c]=w.useState(!1);w.useEffect(()=>{l((n==null?void 0:n.comment)??""),c(!1)},[n==null?void 0:n.comment]);const f=dx({mutationFn:()=>sae(e,i),onSuccess:()=>{r.invalidateQueries({queryKey:["feedback"]}),c(!0),setTimeout(()=>c(!1),2e3)}}),d=w.useCallback(()=>{f.mutate()},[f]);return m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-4",children:[m.jsx("h4",{className:"mb-2 text-sm font-medium text-gray-400",children:"Feedback"}),m.jsx("textarea",{value:i,onChange:v=>{l(v.target.value),c(!1)},placeholder:"Add feedback for this test...",className:"w-full rounded-md border border-gray-700 bg-gray-800 p-3 text-sm text-gray-200 placeholder-gray-500 focus:border-cyan-400 focus:outline-none",rows:3}),m.jsxs("div",{className:"mt-2 flex items-center gap-3",children:[m.jsx("button",{type:"button",onClick:d,disabled:f.isPending,className:"rounded-md bg-cyan-600 px-4 py-1.5 text-sm font-medium text-white hover:bg-cyan-500 disabled:opacity-50",children:f.isPending?"Saving...":"Save Feedback"}),o&&m.jsx("span",{className:"text-sm text-emerald-400",children:"Saved"}),f.isError&&m.jsx("span",{className:"text-sm text-red-400",children:"Error saving feedback"})]})]})}function oae(e){var r;switch((r=e.split(".").pop())==null?void 0:r.toLowerCase()){case"ts":case"tsx":return"📘";case"json":return"📋";case"log":case"txt":return"📜";case"md":return"📝";default:return"📄"}}function Lk(e){const t=[];for(const r of e)r.type==="dir"&&(t.push(r.path),r.children&&t.push(...Lk(r.children)));return t}function zk({node:e,selectedPath:t,onSelect:r,openFolders:n,toggleFolder:i,depth:l=0}){const o=e.type==="dir",c=n.has(e.path),f=t===e.path;return m.jsxs("div",{children:[m.jsxs("button",{type:"button",onClick:()=>{o?i(e.path):r(e.path)},className:`flex w-full items-center gap-2 rounded-md px-2 py-1 text-sm transition-colors ${f?"bg-cyan-400/20 text-cyan-400":"text-gray-300 hover:bg-gray-800/50 hover:text-gray-200"}`,style:{paddingLeft:`${l*16+8}px`},children:[m.jsx("span",{className:"flex-shrink-0 text-xs",children:o?c?"📂":"📁":oae(e.name)}),m.jsx("span",{className:"truncate",children:e.name})]}),o&&c&&e.children&&m.jsx("div",{children:e.children.map(d=>m.jsx(zk,{node:d,selectedPath:t,onSelect:r,openFolders:n,toggleFolder:i,depth:l+1},d.path))})]})}function uae({files:e,selectedPath:t,onSelect:r}){const[n,i]=w.useState(()=>new Set(Lk(e))),l=o=>{i(c=>{const f=new Set(c);return f.has(o)?f.delete(o):f.add(o),f})};return m.jsxs("div",{className:"w-full md:w-64 overflow-y-auto rounded-lg border border-gray-800 bg-gray-900 py-2",children:[e.length===0&&m.jsx("p",{className:"px-4 py-2 text-sm text-gray-500",children:"No files."}),e.map(o=>m.jsx(zk,{node:o,selectedPath:t,onSelect:r,openFolders:n,toggleFolder:l},o.path))]})}const cae="modulepreload",fae=function(e){return"/"+e},RC={},dae=function(t,r,n){let i=Promise.resolve();if(r&&r.length>0){let o=function(d){return Promise.all(d.map(p=>Promise.resolve(p).then(v=>({status:"fulfilled",value:v}),v=>({status:"rejected",reason:v}))))};document.getElementsByTagName("link");const c=document.querySelector("meta[property=csp-nonce]"),f=(c==null?void 0:c.nonce)||(c==null?void 0:c.getAttribute("nonce"));i=o(r.map(d=>{if(d=fae(d),d in RC)return;RC[d]=!0;const p=d.endsWith(".css"),v=p?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${v}`))return;const y=document.createElement("link");if(y.rel=p?"stylesheet":cae,p||(y.as="script"),y.crossOrigin="",y.href=d,f&&y.setAttribute("nonce",f),document.head.appendChild(y),p)return new Promise((x,S)=>{y.addEventListener("load",x),y.addEventListener("error",()=>S(new Error(`Unable to preload CSS for ${d}`)))})}))}function l(o){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=o,window.dispatchEvent(c),!c.defaultPrevented)throw o}return i.then(o=>{for(const c of o||[])c.status==="rejected"&&l(c.reason);return t().catch(l)})},hae=w.lazy(()=>dae(()=>import("./index-CM9L4pya.js"),[]));function mae({value:e,language:t="json",height:r="400px"}){return m.jsx(w.Suspense,{fallback:m.jsx("div",{className:"flex items-center justify-center rounded-lg bg-gray-900 p-8 text-gray-500",children:"Loading editor..."}),children:m.jsx(hae,{height:r,language:t,value:e,theme:"vs-dark",options:{readOnly:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:13,lineNumbers:"on",wordWrap:"on",padding:{top:12}}})})}function Am({score:e,className:t=""}){const r=Math.round(Math.max(0,Math.min(1,e))*100);return m.jsxs("div",{className:`flex items-center gap-3 ${t}`,children:[m.jsx("div",{className:"h-2 flex-1 overflow-hidden rounded-full bg-gray-800",children:m.jsx("div",{className:"h-full rounded-full bg-gradient-to-r from-cyan-400 to-blue-500 transition-all duration-300",style:{width:`${r}%`}})}),m.jsxs("span",{className:"w-12 text-right text-sm font-medium tabular-nums text-gray-300",children:[r,"%"]})]})}function $k(e){for(const t of e){if(t.type==="file")return t.path;if(t.children){const r=$k(t.children);if(r)return r}}return null}function Bk({eval:e,runId:t,projectId:r}){const[n,i]=w.useState("checks"),{data:l}=ut(r),o=(l==null?void 0:l.read_only)===!0,c=[{id:"checks",label:"Checks"},{id:"source",label:"Source"},{id:"files",label:"Files"},...o?[]:[{id:"feedback",label:"Feedback"}]];return m.jsxs("div",{className:"flex min-h-full flex-col",children:[m.jsx("div",{className:"border-b border-gray-800",children:m.jsx("div",{className:"flex gap-1 px-4",children:c.map(f=>m.jsx("button",{type:"button",onClick:()=>i(f.id),className:`px-4 py-2 text-sm font-medium transition-colors ${n===f.id?"border-b-2 border-cyan-400 text-cyan-400":"text-gray-400 hover:text-gray-300"}`,children:f.label},f.id))})}),m.jsxs("div",{className:"min-h-0 flex-1",children:[n==="checks"&&m.jsx("div",{className:"overflow-auto p-4",children:m.jsx(gae,{result:e,projectId:r})}),n==="files"&&m.jsx("div",{className:"h-full p-4",children:m.jsx(xae,{result:e,runId:t,projectId:r})}),n==="source"&&m.jsx("div",{className:"overflow-auto p-4",children:m.jsx(yae,{result:e})}),!o&&n==="feedback"&&m.jsx("div",{className:"p-4",children:m.jsx(lae,{testId:e.testId})})]})]})}function pae(e){if(e!==void 0)return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function bn({label:e,value:t}){return t===void 0||t===""?null:m.jsxs("div",{className:"min-w-0",children:[m.jsx("dt",{className:"text-xs font-medium uppercase text-gray-500",children:e}),m.jsx("dd",{className:"mt-1 break-words font-mono text-sm text-gray-200",children:String(t)})]})}function Uk({file:e}){var r,n;const t=pae(e.size_bytes);return m.jsxs("dl",{className:"grid gap-3 md:grid-cols-2",children:[m.jsx(bn,{label:"Path",value:e.display_path}),m.jsx(bn,{label:"SHA-256",value:e.content_sha256}),m.jsx(bn,{label:"Size",value:t}),m.jsx(bn,{label:"Omitted",value:((r=e.omitted)==null?void 0:r.message)??((n=e.omitted)==null?void 0:n.reason)})]})}function Ec({value:e,language:t}){return m.jsx("pre",{className:"max-h-96 overflow-auto rounded-md border border-gray-800 bg-gray-950 p-3 text-xs text-gray-200",children:m.jsx("code",{"data-language":t,children:e})})}function vae({file:e}){const t=`${e.kind}${e.grader_name?` · ${e.grader_name}`:""}`;return m.jsxs("details",{className:"rounded-md border border-gray-800 bg-gray-900 p-3",open:!1,children:[m.jsxs("summary",{className:"cursor-pointer text-sm font-medium text-gray-200",children:[m.jsx("span",{children:t}),m.jsx("span",{className:"ml-3 font-mono text-xs text-gray-500",children:e.display_path})]}),m.jsxs("div",{className:"mt-3 space-y-3",children:[m.jsx(Uk,{file:e}),e.command&&e.command.length>0&&m.jsx(Ec,{value:JSON.stringify(e.command,null,2),language:"json"}),e.content&&m.jsx(Ec,{value:e.content})]})]})}function yae({result:e}){var r,n,i;const t=e.source_traceability;return!t||t.status!=="captured"?m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-4",children:[m.jsx("h4",{className:"text-sm font-medium text-gray-300",children:"Source metadata"}),m.jsx("p",{className:"mt-2 text-sm text-gray-500",children:(t==null?void 0:t.message)??"Source metadata was not captured for this run."})]}):m.jsxs("div",{className:"space-y-6",children:[m.jsxs("section",{className:"rounded-lg border border-gray-800 bg-gray-900 p-4",children:[m.jsx("h4",{className:"mb-3 text-sm font-medium text-gray-300",children:"Traceability"}),m.jsxs("dl",{className:"grid gap-3 md:grid-cols-2",children:[m.jsx(bn,{label:"Eval file",value:(r=t.eval_file)==null?void 0:r.display_path}),m.jsx(bn,{label:"Test ID",value:t.test_id??e.testId}),m.jsx(bn,{label:"Suite",value:e.suite}),m.jsx(bn,{label:"Category",value:e.category}),m.jsx(bn,{label:"Target",value:e.target})]})]}),((n=t.source_test)==null?void 0:n.yaml)&&m.jsxs("section",{className:"space-y-3",children:[m.jsx("h4",{className:"text-sm font-medium text-gray-300",children:"Source Test"}),m.jsx(Ec,{value:t.source_test.yaml,language:"yaml"})]}),((i=t.eval_file)==null?void 0:i.content)&&m.jsxs("section",{className:"space-y-3",children:[m.jsx("h4",{className:"text-sm font-medium text-gray-300",children:"Eval File Snapshot"}),m.jsx(Uk,{file:t.eval_file}),m.jsx(Ec,{value:t.eval_file.content,language:"yaml"})]}),t.graders&&t.graders.length>0&&m.jsxs("section",{className:"space-y-3",children:[m.jsx("h4",{className:"text-sm font-medium text-gray-300",children:"Graders"}),m.jsx("div",{className:"space-y-3",children:t.graders.map(l=>m.jsxs("details",{className:"rounded-md border border-gray-800 bg-gray-900 p-3",children:[m.jsxs("summary",{className:"cursor-pointer text-sm font-medium text-gray-200",children:[l.name,m.jsx("span",{className:"ml-3 font-mono text-xs text-gray-500",children:l.type})]}),m.jsxs("div",{className:"mt-3 space-y-3",children:[m.jsxs("dl",{className:"grid gap-3 md:grid-cols-3",children:[m.jsx(bn,{label:"Weight",value:l.weight}),m.jsx(bn,{label:"Required",value:l.required}),m.jsx(bn,{label:"Min score",value:l.min_score})]}),m.jsx(Ec,{value:JSON.stringify(l.definition,null,2),language:"json"})]})]},`${l.name}-${l.type}`))})]}),t.referenced_files&&t.referenced_files.length>0&&m.jsxs("section",{className:"space-y-3",children:[m.jsx("h4",{className:"text-sm font-medium text-gray-300",children:"Referenced Files"}),m.jsx("div",{className:"space-y-3",children:t.referenced_files.map((l,o)=>m.jsx(vae,{file:l},`${l.kind}-${l.display_path}-${l.grader_name??""}-${o}`))})]})]})}function DC({assertion:e}){return m.jsxs("div",{className:`flex items-start gap-3 rounded-lg border p-3 ${e.passed?"border-emerald-900/50 bg-emerald-950/20":"border-red-900/50 bg-red-950/20"}`,children:[m.jsx("span",{className:`mt-0.5 text-lg ${e.passed?"text-emerald-400":"text-red-400"}`,children:e.passed?"✓":"✗"}),m.jsxs("div",{className:"min-w-0 flex-1",children:[m.jsxs("p",{className:"text-sm text-gray-200",children:[e.text,e.durationMs!=null&&m.jsxs("span",{className:"ml-2 text-xs text-gray-500",children:["(",(e.durationMs/1e3).toFixed(1),"s)"]})]}),e.evidence&&m.jsx("p",{className:"mt-1 text-xs text-gray-400",children:e.evidence})]})]})}function gae({result:e,projectId:t}){const{data:r}=ut(t),n=(r==null?void 0:r.threshold)??(r==null?void 0:r.pass_threshold)??.8,i=!Fa(e.score,n)||e.executionStatus==="error"||e.executionStatus==="failed",l=(e.scores??[]).filter(p=>Array.isArray(p.assertions)&&p.assertions.length>0),o=l.length>0,c=e.assertions??[],f=[];e.error&&f.push(e.error),(e.executionStatus==="error"||e.executionStatus==="failed")&&f.push(`Execution status: ${e.executionStatus}`);const d=o?l.flatMap(p=>p.assertions):c;for(const p of d.filter(v=>!v.passed)){const v=p.evidence?`${p.text}: ${p.evidence}`:p.text;f.push(v)}if(e.scores){for(const p of e.scores)if(!Fa(p.score,n)&&p.details){const v=typeof p.details=="string"?p.details:JSON.stringify(p.details,null,2);f.push(`[${p.name??p.type??"evaluator"}] ${v}`)}}return m.jsxs("div",{className:"space-y-6",children:[m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-4",children:m.jsxs("div",{className:"flex items-center gap-4",children:[m.jsx("span",{className:"text-sm font-medium text-gray-400",children:"Overall score"}),m.jsx("div",{className:"flex-1",children:m.jsx(Am,{score:e.score})})]})}),e.scores&&e.scores.length>0&&m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-4",children:[m.jsx("h4",{className:"mb-3 text-sm font-medium text-gray-400",children:"Grader Scores"}),m.jsx("div",{className:"space-y-3",children:e.scores.map((p,v)=>m.jsxs("div",{className:"flex items-center gap-4",children:[m.jsx("span",{className:"w-40 truncate text-sm text-gray-300",children:p.name??p.type??`Score ${v+1}`}),m.jsx("div",{className:"flex-1",children:m.jsx(Am,{score:p.score})})]},`${p.name??p.type??v}`))})]}),o?m.jsx("div",{className:"space-y-6",children:l.map((p,v)=>{const y=p.name??p.type??`Grader ${v+1}`;return m.jsxs("div",{className:"space-y-2",children:[m.jsx("h4",{className:"text-xs font-semibold uppercase tracking-wider text-gray-300",children:y}),p.assertions.map((x,S)=>m.jsx(DC,{assertion:x},`${x.text}-${S}`))]},`${p.name??p.type??v}`)})}):c.length>0?m.jsx("div",{className:"space-y-2",children:c.map((p,v)=>m.jsx(DC,{assertion:p},`${p.text}-${v}`))}):m.jsx("p",{className:"text-sm text-gray-500",children:"No assertion steps recorded."}),i&&f.length>0&&m.jsxs("div",{className:"rounded-lg border border-red-500/30 bg-red-500/10 p-4",children:[m.jsx("h4",{className:"mb-2 text-sm font-medium text-red-400",children:"Failure Reason"}),m.jsx("div",{className:"space-y-2",children:f.map(p=>m.jsx("p",{className:"text-sm text-gray-300",children:p},p))})]})]})}function xae({result:e,runId:t,projectId:r}){const n=e.testId,{data:i}=r?Ke(U8(r,t,n)):C8(t,n),l=(i==null?void 0:i.files)??[],[o,c]=w.useState(null),[f,d]=w.useState(!1),p=o??(l.length>0?$k(l):null),{data:v,isLoading:y}=r?Ke(q8(r,t,n,p??"")):M8(t,n,p??"");if(l.length===0)return m.jsx("p",{className:"text-sm text-gray-500",children:"No artifact files available."});const x=p?y?"Loading...":(v==null?void 0:v.content)??"":"",S=p?(v==null?void 0:v.language)??"plaintext":"plaintext";return m.jsxs("div",{className:"relative flex h-full min-h-[400px] gap-4",children:[m.jsx("div",{className:`${f?"block":"hidden"} md:block w-full md:w-auto`,children:m.jsx(uae,{files:l,selectedPath:p,onSelect:j=>{c(j),d(!1)}})}),m.jsx("div",{className:`${f?"hidden":"block"} md:block flex-1 h-full`,children:m.jsx(mae,{value:x,language:S,height:"100%"})}),m.jsx("button",{type:"button",onClick:()=>d(!f),className:"md:hidden fixed bottom-4 right-4 z-50 flex items-center gap-2 rounded-full bg-gray-800 px-4 py-2.5 text-sm font-medium text-gray-200 shadow-lg border border-gray-700 hover:bg-gray-700 active:bg-gray-600 transition-colors","aria-label":f?"Switch to file content viewer":"Switch to file tree",children:f?m.jsxs(m.Fragment,{children:[m.jsx("span",{children:"📄"}),m.jsx("span",{children:"Content"})]}):m.jsxs(m.Fragment,{children:[m.jsx("span",{children:"📁"}),m.jsx("span",{children:"Files"})]})})]})}const qk=_r("/evals/$runId/$evalId")({component:bae});function bae(){const{runId:e,evalId:t}=qk.useParams(),{data:r,isLoading:n,error:i}=rf(e),{data:l}=ut(),[o,c]=w.useState(!1),f=(l==null?void 0:l.read_only)===!0;if(n)return m.jsxs("div",{className:"space-y-4",children:[m.jsx("div",{className:"h-8 w-64 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"h-48 animate-pulse rounded-lg bg-gray-900"})]});if(i)return m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load eval: ",i.message]});const d=r==null?void 0:r.results.find(y=>y.testId===t);if(!d)return m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-6 text-center",children:m.jsxs("p",{className:"text-gray-400",children:["Eval ",m.jsx("code",{className:"text-cyan-400",children:t})," not found in run"," ",m.jsx("code",{className:"text-cyan-400",children:e}),"."]})});const p=(l==null?void 0:l.threshold)??(l==null?void 0:l.pass_threshold)??.8,v=Fa(d.score,p)&&d.executionStatus!=="error"&&d.executionStatus!=="failed";return m.jsxs("div",{className:"flex h-full flex-col gap-6",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsxs("div",{children:[m.jsxs("p",{className:"text-sm text-gray-400",children:["Run: ",e," / Eval: ",t]}),m.jsxs("h1",{className:"flex items-center gap-2 text-2xl font-semibold text-white",children:[m.jsx("span",{className:`text-2xl font-bold leading-none ${v?"text-emerald-400":"text-red-400"}`,children:v?"✓":"✗"}),t]})]}),!f&&m.jsx("button",{type:"button",onClick:()=>c(!0),className:"rounded-md bg-emerald-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-emerald-500",children:"▶ Run this Test"})]}),m.jsx(Bk,{eval:d,runId:e}),!f&&m.jsx(gl,{open:o,onClose:()=>c(!1),prefill:{testIds:[t],target:d.target}})]})}const Hk=_r("/runs/$runId_/suite/$suite")({component:Sae});function Sae(){const{runId:e,suite:t}=Hk.useParams(),{data:r,isLoading:n,error:i}=rf(e),{data:l}=ut(),o=(l==null?void 0:l.threshold)??(l==null?void 0:l.pass_threshold)??.8;if(n)return m.jsxs("div",{className:"space-y-4",children:[m.jsx("div",{className:"h-8 w-64 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"grid grid-cols-5 gap-4",children:["s1","s2","s3","s4","s5"].map(v=>m.jsx("div",{className:"h-20 animate-pulse rounded-lg bg-gray-900"},v))})]});if(i)return m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load run: ",i.message]});const c=((r==null?void 0:r.results)??[]).filter(v=>(v.suite??"Uncategorized")===t),f=c.length,d=Im(c,o),p=c.reduce((v,y)=>v+(y.costUsd??0),0);return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-semibold text-white",children:t}),m.jsxs("p",{className:"mt-1 text-sm text-gray-400",children:["Suite in run: ",e]})]}),m.jsx(Xo,{total:f,passed:d.passed,failed:d.failed,passRate:d.passRate,executionErrors:d.executionErrors,totalCost:p>0?p:void 0}),f===0?m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-8 text-center",children:m.jsx("p",{className:"text-lg text-gray-400",children:"No evaluations in this suite"})}):m.jsx("div",{className:"overflow-hidden rounded-lg border border-gray-800",children:m.jsxs("table",{className:"w-full text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Test ID"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Target"}),m.jsx("th",{className:"w-48 px-4 py-3 font-medium text-gray-400",children:"Score"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Duration"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Cost"})]})}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:c.map((v,y)=>m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[m.jsx("td",{className:"px-4 py-3",children:m.jsx(Ne,{to:"/evals/$runId/$evalId",params:{runId:e,evalId:v.testId},className:"font-medium text-cyan-400 hover:text-cyan-300 hover:underline",children:v.testId})}),m.jsx("td",{className:"px-4 py-3 text-gray-400",children:v.target??"-"}),m.jsx("td",{className:"px-4 py-3",children:km(v)?m.jsx("span",{className:"inline-flex rounded-full bg-amber-900/40 px-2 py-0.5 text-xs font-medium text-amber-300",children:"Execution error"}):m.jsx(en,{rate:v.score})}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:v.durationMs!=null?`${(v.durationMs/1e3).toFixed(1)}s`:"-"}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:v.costUsd!=null?`$${v.costUsd.toFixed(4)}`:"-"})]},`${v.testId}-${y}`))})]})})]})}const Fk=_r("/runs/$runId_/category/$category")({component:jae});function jae(){const{runId:e,category:t}=Fk.useParams(),{data:r,isLoading:n,error:i}=H2(e,t);if(n)return m.jsxs("div",{className:"space-y-4",children:[m.jsx("div",{className:"h-8 w-64 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"grid grid-cols-5 gap-4",children:["s1","s2","s3","s4","s5"].map(y=>m.jsx("div",{className:"h-20 animate-pulse rounded-lg bg-gray-900"},y))})]});if(i)return m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load category: ",i.message]});const l=(r==null?void 0:r.suites)??[],o=l.reduce((y,x)=>y+x.total,0),c=l.reduce((y,x)=>y+x.passed,0),f=l.reduce((y,x)=>y+x.failed,0),d=l.reduce((y,x)=>y+Gt(x),0),p=o-d,v=p>0?c/p:0;return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-semibold text-white",children:t}),m.jsxs("p",{className:"mt-1 text-sm text-gray-400",children:["Category in run: ",e]})]}),m.jsx(Xo,{total:o,passed:c,failed:f,passRate:v,executionErrors:d}),l.length===0?m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-8 text-center",children:m.jsx("p",{className:"text-lg text-gray-400",children:"No suites in this category"})}):m.jsxs("div",{className:"space-y-3",children:[m.jsx("h3",{className:"text-sm font-medium text-gray-400",children:"Suites"}),m.jsx("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-3",children:l.map(y=>m.jsxs(Ne,{to:"/runs/$runId/suite/$suite",params:{runId:e,suite:y.name},className:"rounded-lg border border-gray-800 bg-gray-900 p-3 text-left transition-colors hover:border-gray-700",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-sm font-medium text-gray-200 truncate",children:y.name}),m.jsxs("span",{className:"ml-2 text-xs text-gray-500",children:[y.passed,"/",J2(y)]})]}),m.jsx("div",{className:"mt-2",children:m.jsx(Am,{score:y.avg_score})}),m.jsxs("div",{className:"mt-1 flex gap-3 text-xs",children:[m.jsxs("span",{className:"text-emerald-400",children:[y.passed," passed"]}),y.failed>0&&m.jsxs("span",{className:"text-red-400",children:[y.failed," failed"]}),Gt(y)>0&&m.jsxs("span",{className:"text-amber-400",children:[Gt(y)," execution errors"]})]})]},y.name))})]})]})}const Kk=_r("/projects/$projectId_/runs/$runId")({component:wae});function wae(){var O;const{projectId:e,runId:t}=Kk.useParams(),{data:r,isLoading:n,error:i}=af(e,t),{data:l}=ut(e),{data:o}=Rm(e),[c,f]=w.useState(!1),d=(l==null?void 0:l.read_only)===!0;if(n)return m.jsxs("div",{className:"space-y-4",children:[m.jsx("div",{className:"h-8 w-64 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"grid grid-cols-5 gap-4",children:["s1","s2","s3","s4","s5"].map(N=>m.jsx("div",{className:"h-20 animate-pulse rounded-lg bg-gray-900"},N))})]});if(i)return m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load run: ",i.message]});const p=(O=r==null?void 0:r.results)==null?void 0:O[0],v=p==null?void 0:p.target,y=v?{target:v}:void 0,x=r==null?void 0:r.status,S=x==="starting"||x==="running",j=Tk({runId:t,results:(r==null?void 0:r.results)??[],source:r==null?void 0:r.source,sourceLabel:r==null?void 0:r.source_label,remoteRepo:(r==null?void 0:r.source)==="remote"?o==null?void 0:o.repo:void 0,formatTimestamp:N=>new Date(N).toLocaleString()});return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",children:[m.jsxs("div",{className:"min-w-0",children:[m.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[m.jsx("h1",{className:"min-w-0 truncate text-xl font-semibold text-white sm:text-2xl",title:j.heading,children:j.heading}),j.sourceBadge?m.jsx("span",{className:"rounded-md border border-cyan-900/60 bg-cyan-950/20 px-2 py-0.5 text-xs font-medium text-cyan-300",children:j.sourceBadge}):null]}),j.meta?m.jsx("p",{className:"mt-1 text-sm text-gray-500",children:j.meta}):null,j.sourceContext.length>0?m.jsx("div",{className:"mt-2 flex flex-wrap items-center gap-2 text-xs text-gray-500",children:j.sourceContext.map(N=>m.jsxs("span",{children:[m.jsxs("span",{className:"text-gray-600",children:[N.label,":"]})," ",N.value]},`${N.label}:${N.value}`))}):null]}),m.jsxs("div",{className:"flex flex-wrap items-center gap-3 sm:justify-end",children:[!d&&S?m.jsx(Dp,{runId:t,status:x,isReadOnly:d,projectId:e}):m.jsx(Ak,{results:(r==null?void 0:r.results)??[],runDir:r==null?void 0:r.run_dir,suiteFilter:r==null?void 0:r.suite_filter,target:v??void 0,projectId:e,isReadOnly:d,plannedTestCount:r==null?void 0:r.planned_test_count,runStatus:x}),x&&m.jsx(Rp,{status:x}),!d&&!S&&m.jsx("button",{type:"button",onClick:()=>f(!0),className:"rounded-md bg-emerald-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-emerald-500",children:"▶ Run evals"})]})]}),m.jsx(Ck,{results:(r==null?void 0:r.results)??[],runId:t,projectId:e}),!d&&m.jsx(gl,{open:c,onClose:()=>f(!1),projectId:e,prefill:y})]})}const Gk=_r("/projects/$projectId_/jobs/$runId")({component:Oae});function Oae(){const{projectId:e,runId:t}=Gk.useParams(),{data:r,isLoading:n,error:i}=$b(t,e),{data:l}=ut(e),o=(l==null?void 0:l.read_only)===!0;if(n)return m.jsxs("div",{className:"space-y-4",children:[m.jsx(X0,{projectId:e}),m.jsx("div",{className:"h-8 w-48 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"h-64 animate-pulse rounded-lg bg-gray-900"})]});if(i||!r)return m.jsxs("div",{className:"space-y-4",children:[m.jsx(X0,{projectId:e}),m.jsx("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-4 text-sm text-red-400",children:i?`Failed to load run: ${i.message}`:"Run not found."})]});const c=r.status==="finished"||r.status==="failed";return m.jsxs("div",{className:"space-y-4",children:[m.jsx(X0,{projectId:e}),m.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-4",children:[m.jsxs("div",{className:"min-w-0",children:[m.jsx("h1",{className:"truncate font-mono text-base font-semibold text-white",children:t}),m.jsxs("p",{className:"mt-0.5 text-xs text-gray-500",children:["Started ",new Date(r.started_at).toLocaleString(),r.finished_at&&m.jsxs(m.Fragment,{children:[" · ","Finished ",new Date(r.finished_at).toLocaleString()," · ",Math.round((new Date(r.finished_at).getTime()-new Date(r.started_at).getTime())/1e3),"s"]})]})]}),m.jsxs("div",{className:"flex flex-shrink-0 items-center gap-3",children:[m.jsx(Dp,{runId:t,status:r.status,isReadOnly:o,projectId:e}),m.jsx(Rp,{status:r.status})]})]}),m.jsxs("div",{className:"rounded-md border border-gray-700 bg-gray-950 px-4 py-3",children:[m.jsx("p",{className:"mb-1 text-xs font-medium uppercase tracking-wider text-gray-500",children:"Command"}),m.jsx("code",{className:"break-all text-xs text-cyan-300",children:r.command})]}),r.stdout?m.jsxs("div",{children:[m.jsx("p",{className:"mb-1 text-xs font-medium uppercase tracking-wider text-gray-500",children:"Output"}),m.jsx("div",{className:"max-h-[60vh] overflow-y-auto rounded-lg border border-gray-700 bg-gray-950 p-4",children:m.jsx("pre",{className:"whitespace-pre-wrap font-mono text-xs text-gray-200",children:r.stdout})})]}):!c&&m.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-500",children:[m.jsx("span",{className:"inline-block h-2.5 w-2.5 animate-spin rounded-full border-2 border-gray-500 border-t-transparent"}),"Waiting for output…"]}),r.stderr&&m.jsxs("div",{children:[m.jsx("p",{className:"mb-1 text-xs font-medium uppercase tracking-wider text-red-500",children:"Stderr"}),m.jsx("div",{className:"max-h-48 overflow-y-auto rounded-lg border border-red-900/40 bg-red-950/20 p-4",children:m.jsx("pre",{className:"whitespace-pre-wrap font-mono text-xs text-red-300",children:r.stderr})})]}),c&&m.jsxs("p",{className:"text-xs text-gray-500",children:["Exit code:"," ",m.jsx("span",{className:r.exit_code===0?"text-emerald-400":"text-red-400",children:r.exit_code})]})]})}function X0({projectId:e}){return m.jsx(Ne,{to:"/projects/$projectId",params:{projectId:e},search:{tab:"runs"},className:"text-xs text-gray-400 hover:text-cyan-400",children:"← Back to Runs"})}const Yk=_r("/projects/$projectId_/experiments/$experimentName")({component:Nae});function Nae(){const{projectId:e,experimentName:t}=Yk.useParams();return m.jsx(kk,{experimentName:t,projectId:e})}const Vk=_r("/projects/$projectId_/evals/$runId/$evalId")({component:_ae});function _ae(){const{projectId:e,runId:t,evalId:r}=Vk.useParams(),{data:n,isLoading:i,error:l}=af(e,t),{data:o}=ut(e),[c,f]=w.useState(!1),d=(o==null?void 0:o.read_only)===!0;if(i)return m.jsxs("div",{className:"space-y-4",children:[m.jsx("div",{className:"h-8 w-64 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"h-48 animate-pulse rounded-lg bg-gray-900"})]});if(l)return m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load eval: ",l.message]});const p=n==null?void 0:n.results.find(x=>x.testId===r);if(!p)return m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-6 text-center",children:m.jsxs("p",{className:"text-gray-400",children:["Eval ",m.jsx("code",{className:"text-cyan-400",children:r})," not found in run"," ",m.jsx("code",{className:"text-cyan-400",children:t}),"."]})});const v=(o==null?void 0:o.threshold)??(o==null?void 0:o.pass_threshold)??.8,y=Fa(p.score,v)&&p.executionStatus!=="error"&&p.executionStatus!=="failed";return m.jsxs("div",{className:"flex h-full flex-col gap-6",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsxs("div",{children:[m.jsxs("p",{className:"text-sm text-gray-400",children:["Run: ",t," / Eval: ",r]}),m.jsxs("h1",{className:"flex items-center gap-2 text-2xl font-semibold text-white",children:[m.jsx("span",{className:`text-2xl font-bold leading-none ${y?"text-emerald-400":"text-red-400"}`,children:y?"✓":"✗"}),r]})]}),!d&&m.jsx("button",{type:"button",onClick:()=>f(!0),className:"rounded-md bg-emerald-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-emerald-500",children:"▶ Run this Test"})]}),m.jsx(Bk,{eval:p,runId:t,projectId:e}),!d&&m.jsx(gl,{open:c,onClose:()=>f(!1),projectId:e,prefill:{testIds:[r],target:p.target}})]})}const Qk=_r("/projects/$projectId_/runs/$runId_/suite/$suite")({component:Eae});function Eae(){const{projectId:e,runId:t,suite:r}=Qk.useParams(),{data:n,isLoading:i,error:l}=af(e,t),{data:o}=ut(e),c=(o==null?void 0:o.threshold)??(o==null?void 0:o.pass_threshold)??.8;if(i)return m.jsxs("div",{className:"space-y-4",children:[m.jsx("div",{className:"h-8 w-64 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"grid grid-cols-5 gap-4",children:["s1","s2","s3","s4","s5"].map(y=>m.jsx("div",{className:"h-20 animate-pulse rounded-lg bg-gray-900"},y))})]});if(l)return m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load run: ",l.message]});const f=((n==null?void 0:n.results)??[]).filter(y=>(y.suite??"Uncategorized")===r),d=f.length,p=Im(f,c),v=f.reduce((y,x)=>y+(x.costUsd??0),0);return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-semibold text-white",children:r}),m.jsxs("p",{className:"mt-1 text-sm text-gray-400",children:["Suite in run: ",t]})]}),m.jsx(Xo,{total:d,passed:p.passed,failed:p.failed,passRate:p.passRate,executionErrors:p.executionErrors,totalCost:v>0?v:void 0}),d===0?m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-8 text-center",children:m.jsx("p",{className:"text-lg text-gray-400",children:"No evaluations in this suite"})}):m.jsx("div",{className:"overflow-hidden rounded-lg border border-gray-800",children:m.jsxs("table",{className:"w-full text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Test ID"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Target"}),m.jsx("th",{className:"w-48 px-4 py-3 font-medium text-gray-400",children:"Score"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Duration"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Cost"})]})}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:f.map((y,x)=>m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[m.jsx("td",{className:"px-4 py-3",children:m.jsx(Ne,{to:"/projects/$projectId/evals/$runId/$evalId",params:{projectId:e,runId:t,evalId:y.testId},className:"font-medium text-cyan-400 hover:text-cyan-300 hover:underline",children:y.testId})}),m.jsx("td",{className:"px-4 py-3 text-gray-400",children:y.target??"-"}),m.jsx("td",{className:"px-4 py-3",children:km(y)?m.jsx("span",{className:"inline-flex rounded-full bg-amber-900/40 px-2 py-0.5 text-xs font-medium text-amber-300",children:"Execution error"}):m.jsx(en,{rate:y.score})}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:y.durationMs!=null?`${(y.durationMs/1e3).toFixed(1)}s`:"-"}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:y.costUsd!=null?`$${y.costUsd.toFixed(4)}`:"-"})]},`${y.testId}-${x}`))})]})})]})}const Xk=_r("/projects/$projectId_/runs/$runId_/category/$category")({component:Aae});function Aae(){const{projectId:e,runId:t,category:r}=Xk.useParams(),{data:n,isLoading:i,error:l}=Ke(F2(e,t,r));if(i)return m.jsxs("div",{className:"space-y-4",children:[m.jsx("div",{className:"h-8 w-64 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"grid grid-cols-5 gap-4",children:["s1","s2","s3","s4","s5"].map(x=>m.jsx("div",{className:"h-20 animate-pulse rounded-lg bg-gray-900"},x))})]});if(l)return m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load category: ",l.message]});const o=(n==null?void 0:n.suites)??[],c=o.reduce((x,S)=>x+S.total,0),f=o.reduce((x,S)=>x+S.passed,0),d=o.reduce((x,S)=>x+S.failed,0),p=o.reduce((x,S)=>x+Gt(S),0),v=c-p,y=v>0?f/v:0;return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-semibold text-white",children:r}),m.jsxs("p",{className:"mt-1 text-sm text-gray-400",children:["Category in run: ",t]})]}),m.jsx(Xo,{total:c,passed:f,failed:d,passRate:y,executionErrors:p}),o.length===0?m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-8 text-center",children:m.jsx("p",{className:"text-lg text-gray-400",children:"No suites in this category"})}):m.jsxs("div",{className:"space-y-3",children:[m.jsx("h3",{className:"text-sm font-medium text-gray-400",children:"Suites"}),m.jsx("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-3",children:o.map(x=>m.jsxs(Ne,{to:"/projects/$projectId/runs/$runId/suite/$suite",params:{projectId:e,runId:t,suite:x.name},className:"rounded-lg border border-gray-800 bg-gray-900 p-3 text-left transition-colors hover:border-gray-700",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"truncate text-sm font-medium text-gray-200",children:x.name}),m.jsxs("span",{className:"ml-2 text-xs text-gray-500",children:[x.passed,"/",J2(x)]})]}),m.jsx("div",{className:"mt-2",children:m.jsx(Am,{score:x.avg_score})}),m.jsxs("div",{className:"mt-1 flex gap-3 text-xs",children:[m.jsxs("span",{className:"text-emerald-400",children:[x.passed," passed"]}),x.failed>0&&m.jsxs("span",{className:"text-red-400",children:[x.failed," failed"]}),Gt(x)>0&&m.jsxs("span",{className:"text-amber-400",children:[Gt(x)," execution errors"]})]})]},x.name))})]})]})}const Pae=AB.update({id:"/settings",path:"/settings",getParentRoute:()=>pr}),Tae=Lne.update({id:"/",path:"/",getParentRoute:()=>pr}),Cae=Mk.update({id:"/runs/$runId",path:"/runs/$runId",getParentRoute:()=>pr}),Mae=Rk.update({id:"/projects/$projectId",path:"/projects/$projectId",getParentRoute:()=>pr}),Rae=Dk.update({id:"/jobs/$runId",path:"/jobs/$runId",getParentRoute:()=>pr}),Dae=Ik.update({id:"/experiments/$experimentName",path:"/experiments/$experimentName",getParentRoute:()=>pr}),kae=qk.update({id:"/evals/$runId/$evalId",path:"/evals/$runId/$evalId",getParentRoute:()=>pr}),Iae=Hk.update({id:"/runs/$runId_/suite/$suite",path:"/runs/$runId/suite/$suite",getParentRoute:()=>pr}),Lae=Fk.update({id:"/runs/$runId_/category/$category",path:"/runs/$runId/category/$category",getParentRoute:()=>pr}),zae=Kk.update({id:"/projects/$projectId_/runs/$runId",path:"/projects/$projectId/runs/$runId",getParentRoute:()=>pr}),$ae=Gk.update({id:"/projects/$projectId_/jobs/$runId",path:"/projects/$projectId/jobs/$runId",getParentRoute:()=>pr}),Bae=Yk.update({id:"/projects/$projectId_/experiments/$experimentName",path:"/projects/$projectId/experiments/$experimentName",getParentRoute:()=>pr}),Uae=Vk.update({id:"/projects/$projectId_/evals/$runId/$evalId",path:"/projects/$projectId/evals/$runId/$evalId",getParentRoute:()=>pr}),qae=Qk.update({id:"/projects/$projectId_/runs/$runId_/suite/$suite",path:"/projects/$projectId/runs/$runId/suite/$suite",getParentRoute:()=>pr}),Hae=Xk.update({id:"/projects/$projectId_/runs/$runId_/category/$category",path:"/projects/$projectId/runs/$runId/category/$category",getParentRoute:()=>pr}),Fae={IndexRoute:Tae,SettingsRoute:Pae,ExperimentsExperimentNameRoute:Dae,JobsRunIdRoute:Rae,ProjectsProjectIdRoute:Mae,RunsRunIdRoute:Cae,EvalsRunIdEvalIdRoute:kae,ProjectsProjectIdExperimentsExperimentNameRoute:Bae,ProjectsProjectIdJobsRunIdRoute:$ae,ProjectsProjectIdRunsRunIdRoute:zae,RunsRunIdCategoryCategoryRoute:Lae,RunsRunIdSuiteSuiteRoute:Iae,ProjectsProjectIdEvalsRunIdEvalIdRoute:Uae,ProjectsProjectIdRunsRunIdCategoryCategoryRoute:Hae,ProjectsProjectIdRunsRunIdSuiteSuiteRoute:qae},Kae=pr._addFileChildren(Fae)._addFileTypes(),Gae=new tz({defaultOptions:{queries:{staleTime:5e3,refetchOnWindowFocus:!0}}}),Yae=r8({routeTree:Kae}),Zk=document.getElementById("root");if(!Zk)throw new Error("Root element not found");PL.createRoot(Zk).render(m.jsx(w.StrictMode,{children:m.jsx(rz,{client:Gae,children:m.jsx(i8,{router:Yae})})}));export{ko as W,w as r};
|
|
118
|
+
*/var CT;function wZ(){if(CT)return tt;CT=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),o=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),d=Symbol.for("react.suspense_list"),p=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),y=Symbol.for("react.view_transition"),x=Symbol.for("react.client.reference");function S(j){if(typeof j=="object"&&j!==null){var O=j.$$typeof;switch(O){case e:switch(j=j.type,j){case r:case i:case n:case f:case d:case y:return j;default:switch(j=j&&j.$$typeof,j){case o:case c:case v:case p:return j;case l:return j;default:return O}}case t:return O}}}return tt.ContextConsumer=l,tt.ContextProvider=o,tt.Element=e,tt.ForwardRef=c,tt.Fragment=r,tt.Lazy=v,tt.Memo=p,tt.Portal=t,tt.Profiler=i,tt.StrictMode=n,tt.Suspense=f,tt.SuspenseList=d,tt.isContextConsumer=function(j){return S(j)===l},tt.isContextProvider=function(j){return S(j)===o},tt.isElement=function(j){return typeof j=="object"&&j!==null&&j.$$typeof===e},tt.isForwardRef=function(j){return S(j)===c},tt.isFragment=function(j){return S(j)===r},tt.isLazy=function(j){return S(j)===v},tt.isMemo=function(j){return S(j)===p},tt.isPortal=function(j){return S(j)===t},tt.isProfiler=function(j){return S(j)===i},tt.isStrictMode=function(j){return S(j)===n},tt.isSuspense=function(j){return S(j)===f},tt.isSuspenseList=function(j){return S(j)===d},tt.isValidElementType=function(j){return typeof j=="string"||typeof j=="function"||j===r||j===i||j===n||j===f||j===d||typeof j=="object"&&j!==null&&(j.$$typeof===v||j.$$typeof===p||j.$$typeof===o||j.$$typeof===l||j.$$typeof===c||j.$$typeof===x||j.getModuleId!==void 0)},tt.typeOf=S,tt}var MT;function OZ(){return MT||(MT=1,L0.exports=wZ()),L0.exports}var NZ=OZ(),RT=e=>typeof e=="string"?e:e?e.displayName||e.name||"Component":"",DT=null,z0=null,_3=e=>{if(e===DT&&Array.isArray(z0))return z0;var t=[];return w.Children.forEach(e,r=>{mt(r)||(NZ.isFragment(r)?t=t.concat(_3(r.props.children)):t.push(r))}),z0=t,DT=e,t};function _Z(e,t){var r=[],n=[];return Array.isArray(t)?n=t.map(i=>RT(i)):n=[RT(t)],_3(e).forEach(i=>{var l=$o(i,"type.displayName")||$o(i,"type.name");l&&n.indexOf(l)!==-1&&r.push(i)}),r}var E3=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0,$0={},kT;function EZ(){return kT||(kT=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){var i;if(typeof r!="object"||r==null)return!1;if(Object.getPrototypeOf(r)===null)return!0;if(Object.prototype.toString.call(r)!=="[object Object]"){const l=r[Symbol.toStringTag];return l==null||!((i=Object.getOwnPropertyDescriptor(r,Symbol.toStringTag))!=null&&i.writable)?!1:r.toString()===`[object ${l}]`}let n=r;for(;Object.getPrototypeOf(n)!==null;)n=Object.getPrototypeOf(n);return Object.getPrototypeOf(r)===n}e.isPlainObject=t})($0)),$0}var B0,IT;function AZ(){return IT||(IT=1,B0=EZ().isPlainObject),B0}var PZ=AZ();const TZ=rs(PZ);var LT,zT,$T,BT,UT;function qT(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function HT(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?qT(Object(r),!0).forEach(function(n){CZ(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):qT(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function CZ(e,t,r){return(t=MZ(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function MZ(e){var t=RZ(e,"string");return typeof t=="symbol"?t:t+""}function RZ(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Sm(){return Sm=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Sm.apply(null,arguments)}function yc(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var FT=(e,t,r,n,i)=>{var l=r-n,o;return o=bt(LT||(LT=yc(["M ",",",""])),e,t),o+=bt(zT||(zT=yc(["L ",",",""])),e+r,t),o+=bt($T||($T=yc(["L ",",",""])),e+r-l/2,t+i),o+=bt(BT||(BT=yc(["L ",",",""])),e+r-l/2-n,t+i),o+=bt(UT||(UT=yc(["L ",","," Z"])),e,t),o},DZ={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},kZ=e=>{var t=lr(e,DZ),{x:r,y:n,upperWidth:i,lowerWidth:l,height:o,className:c}=t,{animationEasing:f,animationDuration:d,animationBegin:p,isUpdateAnimationActive:v}=t,y=w.useRef(null),[x,S]=w.useState(-1),j=w.useRef(i),O=w.useRef(l),N=w.useRef(o),P=w.useRef(r),E=w.useRef(n),A=lp(e,"trapezoid-");if(w.useEffect(()=>{if(y.current&&y.current.getTotalLength)try{var Q=y.current.getTotalLength();Q&&S(Q)}catch{}},[]),r!==+r||n!==+n||i!==+i||l!==+l||o!==+o||i===0&&l===0||o===0)return null;var T=Xe("recharts-trapezoid",c);if(!v)return w.createElement("g",null,w.createElement("path",Sm({},Or(t),{className:T,d:FT(r,n,i,l,o)})));var M=j.current,R=O.current,I=N.current,z=P.current,D=E.current,H="0px ".concat(x===-1?1:x,"px"),q="".concat(x,"px ").concat(x,"px"),ae=LR(["strokeDasharray"],d,f);return w.createElement(sp,{animationId:A,key:A,canBegin:x>0,duration:d,easing:f,isActive:v,begin:p},Q=>{var Z=St(M,i,Q),B=St(R,l,Q),K=St(I,o,Q),ee=St(z,r,Q),se=St(D,n,Q);y.current&&(j.current=Z,O.current=B,N.current=K,P.current=ee,E.current=se);var ue=Q>0?{transition:ae,strokeDasharray:q}:{strokeDasharray:H};return w.createElement("path",Sm({},Or(t),{className:T,d:FT(ee,se,Z,B,K),ref:y,style:HT(HT({},ue),t.style)}))})},IZ=["option","shapeType","activeClassName","inActiveClassName"];function LZ(e,t){if(e==null)return{};var r,n,i=zZ(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function zZ(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function KT(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function jm(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?KT(Object(r),!0).forEach(function(n){$Z(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):KT(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function $Z(e,t,r){return(t=BZ(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function BZ(e){var t=UZ(e,"string");return typeof t=="symbol"?t:t+""}function UZ(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function qZ(e,t){return jm(jm({},t),e)}function HZ(e,t){return e==="symbols"}function GT(e){var{shapeType:t,elementProps:r}=e;switch(t){case"rectangle":return w.createElement(UR,r);case"trapezoid":return w.createElement(kZ,r);case"sector":return w.createElement(FR,r);case"symbols":if(HZ(t))return w.createElement(Jb,r);break;case"curve":return w.createElement(IR,r);default:return null}}function FZ(e){return w.isValidElement(e)?e.props:e}function A3(e){var{option:t,shapeType:r,activeClassName:n="recharts-active-shape",inActiveClassName:i="recharts-shape"}=e,l=LZ(e,IZ),o;if(w.isValidElement(t))o=w.cloneElement(t,jm(jm({},l),FZ(t)));else if(typeof t=="function")o=t(l,l.index);else if(TZ(t)&&typeof t!="boolean"){var c=qZ(t,l);o=w.createElement(GT,{shapeType:r,elementProps:c})}else{var f=l;o=w.createElement(GT,{shapeType:r,elementProps:f})}return l.isActive?w.createElement(tn,{className:n},o):w.createElement(tn,{className:i},o)}var P3=(e,t,r)=>{var n=ct();return(i,l)=>o=>{e==null||e(i,l,o),n(ID({activeIndex:String(l),activeDataKey:t,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:r}))}},T3=e=>{var t=ct();return(r,n)=>i=>{e==null||e(r,n,i),t(lV())}},C3=(e,t,r)=>{var n=ct();return(i,l)=>o=>{e==null||e(i,l,o),n(oV({activeIndex:String(l),activeDataKey:t,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:r}))}};function M3(e){var{tooltipEntrySettings:t}=e,r=ct(),n=yr(),i=w.useRef(null);return w.useLayoutEffect(()=>{n||(i.current===null?r(nV(t)):i.current!==t&&r(aV({prev:i.current,next:t})),i.current=t)},[t,r,n]),w.useLayoutEffect(()=>()=>{i.current&&(r(iV(i.current)),i.current=null)},[r]),null}function R3(e){var{legendPayload:t}=e,r=ct(),n=yr(),i=w.useRef(null);return w.useLayoutEffect(()=>{n||(i.current===null?r(Y9(t)):i.current!==t&&r(V9({prev:i.current,next:t})),i.current=t)},[r,n,t]),w.useLayoutEffect(()=>()=>{i.current&&(r(Q9(i.current)),i.current=null)},[r]),null}var U0,KZ=()=>{var[e]=w.useState(()=>kc("uid-"));return e},GZ=(U0=wL.useId)!==null&&U0!==void 0?U0:KZ;function YZ(e,t){var r=GZ();return t||(e?"".concat(e,"-").concat(r):r)}var VZ=w.createContext(void 0),D3=e=>{var{id:t,type:r,children:n}=e,i=YZ("recharts-".concat(r),t);return w.createElement(VZ.Provider,{value:i},n(i))},QZ={cartesianItems:[],polarItems:[]},k3=vr({name:"graphicalItems",initialState:QZ,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(t.payload)},prepare:lt()},replaceCartesianGraphicalItem:{reducer(e,t){var{prev:r,next:n}=t.payload,i=jn(e).cartesianItems.indexOf(r);i>-1&&(e.cartesianItems[i]=n)},prepare:lt()},removeCartesianGraphicalItem:{reducer(e,t){var r=jn(e).cartesianItems.indexOf(t.payload);r>-1&&e.cartesianItems.splice(r,1)},prepare:lt()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(t.payload)},prepare:lt()},removePolarGraphicalItem:{reducer(e,t){var r=jn(e).polarItems.indexOf(t.payload);r>-1&&e.polarItems.splice(r,1)},prepare:lt()},replacePolarGraphicalItem:{reducer(e,t){var{prev:r,next:n}=t.payload,i=jn(e).polarItems.indexOf(r);i>-1&&(e.polarItems[i]=n)},prepare:lt()}}}),{addCartesianGraphicalItem:XZ,replaceCartesianGraphicalItem:ZZ,removeCartesianGraphicalItem:WZ,addPolarGraphicalItem:nie,removePolarGraphicalItem:aie,replacePolarGraphicalItem:iie}=k3.actions,JZ=k3.reducer,eW=e=>{var t=ct(),r=w.useRef(null);return w.useLayoutEffect(()=>{r.current===null?t(XZ(e)):r.current!==e&&t(ZZ({prev:r.current,next:e})),r.current=e},[t,e]),w.useLayoutEffect(()=>()=>{r.current&&(t(WZ(r.current)),r.current=null)},[t]),null},I3=w.memo(eW),tW=["points"];function YT(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function q0(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?YT(Object(r),!0).forEach(function(n){rW(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):YT(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function rW(e,t,r){return(t=nW(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function nW(e){var t=aW(e,"string");return typeof t=="symbol"?t:t+""}function aW(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function wm(){return wm=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},wm.apply(null,arguments)}function iW(e,t){if(e==null)return{};var r,n,i=sW(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function sW(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function lW(e){var{option:t,dotProps:r,className:n}=e;if(w.isValidElement(t))return w.cloneElement(t,r);if(typeof t=="function")return t(r);var i=Xe(n,typeof t!="boolean"?t.className:""),l=r??{},{points:o}=l,c=iW(l,tW);return w.createElement(O3,wm({},c,{className:i}))}function oW(e,t){return e==null?!1:t?!0:e.length===1}function uW(e){var{points:t,dot:r,className:n,dotClassName:i,dataKey:l,baseProps:o,needClip:c,clipPathId:f,zIndex:d=Kt.scatter}=e;if(!oW(t,r))return null;var p=E3(r),v=RB(r),y=t.map((S,j)=>{var O,N,P=q0(q0(q0({r:3},o),v),{},{index:j,cx:(O=S.x)!==null&&O!==void 0?O:void 0,cy:(N=S.y)!==null&&N!==void 0?N:void 0,dataKey:l,value:S.value,payload:S.payload,points:t});return w.createElement(lW,{key:"dot-".concat(j),option:r,dotProps:P,className:i})}),x={};return c&&f!=null&&(x.clipPath="url(#clipPath-".concat(p?"":"dots-").concat(f,")")),w.createElement(_n,{zIndex:d},w.createElement(tn,wm({className:n},x),y))}function VT(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function QT(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?VT(Object(r),!0).forEach(function(n){cW(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):VT(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function cW(e,t,r){return(t=fW(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function fW(e){var t=dW(e,"string");return typeof t=="symbol"?t:t+""}function dW(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var L3=0,hW={xAxis:{},yAxis:{},zAxis:{}},z3=vr({name:"cartesianAxis",initialState:hW,reducers:{addXAxis:{reducer(e,t){e.xAxis[t.payload.id]=t.payload},prepare:lt()},replaceXAxis:{reducer(e,t){var{prev:r,next:n}=t.payload;e.xAxis[r.id]!==void 0&&(r.id!==n.id&&delete e.xAxis[r.id],e.xAxis[n.id]=n)},prepare:lt()},removeXAxis:{reducer(e,t){delete e.xAxis[t.payload.id]},prepare:lt()},addYAxis:{reducer(e,t){e.yAxis[t.payload.id]=t.payload},prepare:lt()},replaceYAxis:{reducer(e,t){var{prev:r,next:n}=t.payload;e.yAxis[r.id]!==void 0&&(r.id!==n.id&&delete e.yAxis[r.id],e.yAxis[n.id]=n)},prepare:lt()},removeYAxis:{reducer(e,t){delete e.yAxis[t.payload.id]},prepare:lt()},addZAxis:{reducer(e,t){e.zAxis[t.payload.id]=t.payload},prepare:lt()},replaceZAxis:{reducer(e,t){var{prev:r,next:n}=t.payload;e.zAxis[r.id]!==void 0&&(r.id!==n.id&&delete e.zAxis[r.id],e.zAxis[n.id]=n)},prepare:lt()},removeZAxis:{reducer(e,t){delete e.zAxis[t.payload.id]},prepare:lt()},updateYAxisWidth(e,t){var{id:r,width:n}=t.payload,i=e.yAxis[r];if(i){var l,o=i.widthHistory||[];if(o.length===3&&o[0]===o[2]&&n===o[1]&&n!==i.width&&Math.abs(n-((l=o[0])!==null&&l!==void 0?l:0))<=1)return;var c=[...o,n].slice(-3);e.yAxis[r]=QT(QT({},i),{},{width:n,widthHistory:c})}}}}),{addXAxis:mW,replaceXAxis:pW,removeXAxis:vW,addYAxis:yW,replaceYAxis:gW,removeYAxis:xW,addZAxis:sie,replaceZAxis:lie,removeZAxis:oie,updateYAxisWidth:bW}=z3.actions,SW=z3.reducer,jW=V([Yt],e=>({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),wW=V([jW,Za,Wa],(e,t,r)=>{if(!(!e||t==null||r==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,r-e.top-e.bottom)}}),bj=()=>ge(wW),OW=()=>ge(nQ);function XT(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function H0(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?XT(Object(r),!0).forEach(function(n){NW(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):XT(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function NW(e,t,r){return(t=_W(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _W(e){var t=EW(e,"string");return typeof t=="symbol"?t:t+""}function EW(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var AW=e=>{var{point:t,childIndex:r,mainColor:n,activeDot:i,dataKey:l,clipPath:o}=e;if(i===!1||t.x==null||t.y==null)return null;var c={index:r,dataKey:l,cx:t.x,cy:t.y,r:4,fill:n??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},f=H0(H0(H0({},c),lf(i)),eS(i)),d;return w.isValidElement(i)?d=w.cloneElement(i,f):typeof i=="function"?d=i(f):d=w.createElement(O3,f),w.createElement(tn,{className:"recharts-active-dot",clipPath:o},d)};function PW(e){var{points:t,mainColor:r,activeDot:n,itemDataKey:i,clipPath:l,zIndex:o=Kt.activeDot}=e,c=ge(ll),f=OW();if(t==null||f==null)return null;var d=t.find(p=>f.includes(p.payload));return mt(d)?null:w.createElement(_n,{zIndex:o},w.createElement(AW,{point:d,childIndex:Number(c),mainColor:r,dataKey:i,activeDot:n,clipPath:l}))}var ZT=(e,t,r)=>{var n=r??e;if(!mt(n))return In(n,t,0)},TW=(e,t,r)=>{var n={},i=e.filter(hp),l=e.filter(d=>d.stackId==null),o=i.reduce((d,p)=>{var v=d[p.stackId];return v==null&&(v=[]),v.push(p),d[p.stackId]=v,d},n),c=Object.entries(o).map(d=>{var p,[v,y]=d,x=y.map(j=>j.dataKey),S=ZT(t,r,(p=y[0])===null||p===void 0?void 0:p.barSize);return{stackId:v,dataKeys:x,barSize:S}}),f=l.map(d=>{var p=[d.dataKey].filter(y=>y!=null),v=ZT(t,r,d.barSize);return{stackId:void 0,dataKeys:p,barSize:v}});return[...c,...f]};function WT(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function uh(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?WT(Object(r),!0).forEach(function(n){CW(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):WT(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function CW(e,t,r){return(t=MW(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function MW(e){var t=RW(e,"string");return typeof t=="symbol"?t:t+""}function RW(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function DW(e,t,r,n,i){var l,o=n.length;if(!(o<1)){var c=In(e,r,0,!0),f,d=[];if(Be((l=n[0])===null||l===void 0?void 0:l.barSize)){var p=!1,v=r/o,y=n.reduce((P,E)=>P+(E.barSize||0),0);y+=(o-1)*c,y>=r&&(y-=(o-1)*c,c=0),y>=r&&v>0&&(p=!0,v*=.9,y=o*v);var x=(r-y)/2>>0,S={offset:x-c,size:0};f=n.reduce((P,E)=>{var A,T={stackId:E.stackId,dataKeys:E.dataKeys,position:{offset:S.offset+S.size+c,size:p?v:(A=E.barSize)!==null&&A!==void 0?A:0}},M=[...P,T];return S=T.position,M},d)}else{var j=In(t,r,0,!0);r-2*j-(o-1)*c<=0&&(c=0);var O=(r-2*j-(o-1)*c)/o;O>1&&(O>>=0);var N=Be(i)?Math.min(O,i):O;f=n.reduce((P,E,A)=>[...P,{stackId:E.stackId,dataKeys:E.dataKeys,position:{offset:j+(O+c)*A+(O-N)/2,size:N}}],d)}return f}}var kW=(e,t,r,n,i,l,o)=>{var c=mt(o)?t:o,f=DW(r,n,i!==l?i:l,e,c);return i!==l&&f!=null&&(f=f.map(d=>uh(uh({},d),{},{position:uh(uh({},d.position),{},{offset:d.position.offset-i/2})}))),f},IW=(e,t)=>{var r=ES(t);if(!(!e||r==null||t==null)){var{stackId:n}=t;if(n!=null){var i=e[n];if(i){var{stackedData:l}=i;if(l)return l.find(o=>o.key===r)}}}},LW=(e,t)=>{if(!(e==null||t==null)){var r=e.find(n=>n.stackId===t.stackId&&t.dataKey!=null&&n.dataKeys.includes(t.dataKey));if(r!=null)return r.position}};function zW(e,t){return e&&typeof e=="object"&&"zIndex"in e&&typeof e.zIndex=="number"&&Be(e.zIndex)?e.zIndex:t}var $W=e=>{var{chartData:t}=e,r=ct(),n=yr();return w.useEffect(()=>n?()=>{}:(r(dT(t)),()=>{r(dT(void 0))}),[t,r,n]),null},JT={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},$3=vr({name:"brush",initialState:JT,reducers:{setBrushSettings(e,t){return t.payload==null?JT:t.payload}}}),{setBrushSettings:uie}=$3.actions,BW=$3.reducer;function UW(e){return(e%180+180)%180}var qW=function(t){var{width:r,height:n}=t,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,l=UW(i),o=l*Math.PI/180,c=Math.atan(n/r),f=o>c&&o<Math.PI-c?n/Math.sin(o):r/Math.cos(o);return Math.abs(f)},HW={dots:[],areas:[],lines:[]},B3=vr({name:"referenceElements",initialState:HW,reducers:{addDot:(e,t)=>{e.dots.push(t.payload)},removeDot:(e,t)=>{var r=jn(e).dots.findIndex(n=>n===t.payload);r!==-1&&e.dots.splice(r,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var r=jn(e).areas.findIndex(n=>n===t.payload);r!==-1&&e.areas.splice(r,1)},addLine:(e,t)=>{e.lines.push(t.payload)},removeLine:(e,t)=>{var r=jn(e).lines.findIndex(n=>n===t.payload);r!==-1&&e.lines.splice(r,1)}}}),{addDot:cie,removeDot:fie,addArea:die,removeArea:hie,addLine:mie,removeLine:pie}=B3.actions,FW=B3.reducer,KW=w.createContext(void 0),GW=e=>{var{children:t}=e,[r]=w.useState("".concat(kc("recharts"),"-clip")),n=bj();if(n==null)return null;var{x:i,y:l,width:o,height:c}=n;return w.createElement(KW.Provider,{value:r},w.createElement("defs",null,w.createElement("clipPath",{id:r},w.createElement("rect",{x:i,y:l,height:c,width:o}))),t)};function U3(e,t){if(t<1)return[];if(t===1)return e;for(var r=[],n=0;n<e.length;n+=t){var i=e[n];i!==void 0&&r.push(i)}return r}function YW(e,t,r){var n={width:e.width+t.width,height:e.height+t.height};return qW(n,r)}function VW(e,t,r){var n=r==="width",{x:i,y:l,width:o,height:c}=e;return t===1?{start:n?i:l,end:n?i+o:l+c}:{start:n?i+o:l+c,end:n?i:l}}function Qc(e,t,r,n,i){if(e*t<e*n||e*t>e*i)return!1;var l=r();return e*(t-e*l/2-n)>=0&&e*(t+e*l/2-i)<=0}function QW(e,t){return U3(e,t+1)}function XW(e,t,r,n,i){for(var l=(n||[]).slice(),{start:o,end:c}=t,f=0,d=1,p=o,v=function(){var S=n==null?void 0:n[f];if(S===void 0)return{v:U3(n,d)};var j=f,O,N=()=>(O===void 0&&(O=r(S,j)),O),P=S.coordinate,E=f===0||Qc(e,P,N,p,c);E||(f=0,p=o,d+=1),E&&(p=P+e*(N()/2+i),f+=d)},y;d<=l.length;)if(y=v(),y)return y.v;return[]}function ZW(e,t,r,n,i){var l=(n||[]).slice(),o=l.length;if(o===0)return[];for(var{start:c,end:f}=t,d=1;d<=o;d++){for(var p=(o-1)%d,v=c,y=!0,x=function(){var A=n[j];if(A==null)return 0;var T=j,M,R=()=>(M===void 0&&(M=r(A,T)),M),I=A.coordinate,z=j===p||Qc(e,I,R,v,f);if(!z)return y=!1,1;z&&(v=I+e*(R()/2+i))},S,j=p;j<o&&(S=x(),!(S!==0&&S===1));j+=d);if(y){for(var O=[],N=p;N<o;N+=d){var P=n[N];P!=null&&O.push(P)}return O}}return[]}function eC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function dr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?eC(Object(r),!0).forEach(function(n){WW(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):eC(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function WW(e,t,r){return(t=JW(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function JW(e){var t=eJ(e,"string");return typeof t=="symbol"?t:t+""}function eJ(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function tJ(e,t,r,n,i){for(var l=(n||[]).slice(),o=l.length,{start:c}=t,{end:f}=t,d=function(y){var x=l[y];if(x==null)return 1;var S=x,j,O=()=>(j===void 0&&(j=r(x,y)),j);if(y===o-1){var N=e*(S.coordinate+e*O()/2-f);l[y]=S=dr(dr({},S),{},{tickCoord:N>0?S.coordinate-N*e:S.coordinate})}else l[y]=S=dr(dr({},S),{},{tickCoord:S.coordinate});if(S.tickCoord!=null){var P=Qc(e,S.tickCoord,O,c,f);P&&(f=S.tickCoord-e*(O()/2+i),l[y]=dr(dr({},S),{},{isShow:!0}))}},p=o-1;p>=0;p--)d(p);return l}function rJ(e,t,r,n,i,l){var o=(n||[]).slice(),c=o.length,{start:f,end:d}=t;if(l){var p=n[c-1];if(p!=null){var v=r(p,c-1),y=e*(p.coordinate+e*v/2-d);if(o[c-1]=p=dr(dr({},p),{},{tickCoord:y>0?p.coordinate-y*e:p.coordinate}),p.tickCoord!=null){var x=Qc(e,p.tickCoord,()=>v,f,d);x&&(d=p.tickCoord-e*(v/2+i),o[c-1]=dr(dr({},p),{},{isShow:!0}))}}}for(var S=l?c-1:c,j=function(P){var E=o[P];if(E==null)return 1;var A=E,T,M=()=>(T===void 0&&(T=r(E,P)),T);if(P===0){var R=e*(A.coordinate-e*M()/2-f);o[P]=A=dr(dr({},A),{},{tickCoord:R<0?A.coordinate-R*e:A.coordinate})}else o[P]=A=dr(dr({},A),{},{tickCoord:A.coordinate});if(A.tickCoord!=null){var I=Qc(e,A.tickCoord,M,f,d);I&&(f=A.tickCoord+e*(M()/2+i),o[P]=dr(dr({},A),{},{isShow:!0}))}},O=0;O<S;O++)j(O);return o}function Sj(e,t,r){var{tick:n,ticks:i,viewBox:l,minTickGap:o,orientation:c,interval:f,tickFormatter:d,unit:p,angle:v}=e;if(!i||!i.length||!n)return[];if(pe(f)||mf.isSsr){var y;return(y=QW(i,pe(f)?f:0))!==null&&y!==void 0?y:[]}var x=[],S=c==="top"||c==="bottom"?"width":"height",j=p&&S==="width"?_c(p,{fontSize:t,letterSpacing:r}):{width:0,height:0},O=(T,M)=>{var R=typeof d=="function"?d(T.value,M):T.value;return S==="width"?YW(_c(R,{fontSize:t,letterSpacing:r}),j,v):_c(R,{fontSize:t,letterSpacing:r})[S]},N=i[0],P=i[1],E=i.length>=2&&N!=null&&P!=null?zr(P.coordinate-N.coordinate):1,A=VW(l,E,S);return f==="equidistantPreserveStart"?XW(E,A,O,i,o):f==="equidistantPreserveEnd"?ZW(E,A,O,i,o):(f==="preserveStart"||f==="preserveStartEnd"?x=rJ(E,A,O,i,o,f==="preserveStartEnd"):x=tJ(E,A,O,i,o),x.filter(T=>T.isShow))}var nJ=e=>{var{ticks:t,label:r,labelGapWithTick:n=5,tickSize:i=0,tickMargin:l=0}=e,o=0;if(t){Array.from(t).forEach(p=>{if(p){var v=p.getBoundingClientRect();v.width>o&&(o=v.width)}});var c=r?r.getBoundingClientRect().width:0,f=i+l,d=o+f+c+(r?n:0);return Math.round(d)}return 0},aJ={xAxis:{},yAxis:{}},q3=vr({name:"renderedTicks",initialState:aJ,reducers:{setRenderedTicks:(e,t)=>{var{axisType:r,axisId:n,ticks:i}=t.payload;e[r][n]=i},removeRenderedTicks:(e,t)=>{var{axisType:r,axisId:n}=t.payload;delete e[r][n]}}}),{setRenderedTicks:iJ,removeRenderedTicks:sJ}=q3.actions,lJ=q3.reducer,oJ=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function uJ(e,t){if(e==null)return{};var r,n,i=cJ(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function cJ(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function ol(){return ol=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ol.apply(null,arguments)}function tC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function xt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?tC(Object(r),!0).forEach(function(n){fJ(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):tC(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function fJ(e,t,r){return(t=dJ(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function dJ(e){var t=hJ(e,"string");return typeof t=="symbol"?t:t+""}function hJ(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var qa={x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd",zIndex:Kt.axis};function mJ(e){var{x:t,y:r,width:n,height:i,orientation:l,mirror:o,axisLine:c,otherSvgProps:f}=e;if(!c)return null;var d=xt(xt(xt({},f),kn(c)),{},{fill:"none"});if(l==="top"||l==="bottom"){var p=+(l==="top"&&!o||l==="bottom"&&o);d=xt(xt({},d),{},{x1:t,y1:r+p*i,x2:t+n,y2:r+p*i})}else{var v=+(l==="left"&&!o||l==="right"&&o);d=xt(xt({},d),{},{x1:t+v*n,y1:r,x2:t+v*n,y2:r+i})}return w.createElement("line",ol({},d,{className:Xe("recharts-cartesian-axis-line",$o(c,"className"))}))}function pJ(e,t,r,n,i,l,o,c,f){var d,p,v,y,x,S,j=c?-1:1,O=e.tickSize||o,N=pe(e.tickCoord)?e.tickCoord:e.coordinate;switch(l){case"top":d=p=e.coordinate,y=r+ +!c*i,v=y-j*O,S=v-j*f,x=N;break;case"left":v=y=e.coordinate,p=t+ +!c*n,d=p-j*O,x=d-j*f,S=N;break;case"right":v=y=e.coordinate,p=t+ +c*n,d=p+j*O,x=d+j*f,S=N;break;default:d=p=e.coordinate,y=r+ +c*i,v=y+j*O,S=v+j*f,x=N;break}return{line:{x1:d,y1:v,x2:p,y2:y},tick:{x,y:S}}}function vJ(e,t){switch(e){case"left":return t?"start":"end";case"right":return t?"end":"start";default:return"middle"}}function yJ(e,t){switch(e){case"left":case"right":return"middle";case"top":return t?"start":"end";default:return t?"end":"start"}}function gJ(e){var{option:t,tickProps:r,value:n}=e,i,l=Xe(r.className,"recharts-cartesian-axis-tick-value");if(w.isValidElement(t))i=w.cloneElement(t,xt(xt({},r),{},{className:l}));else if(typeof t=="function")i=t(xt(xt({},r),{},{className:l}));else{var o="recharts-cartesian-axis-tick-value";typeof t!="boolean"&&(o=Xe(o,jZ(t))),i=w.createElement(gj,ol({},r,{className:o}),n)}return i}function xJ(e){var{ticks:t,axisType:r,axisId:n}=e,i=ct();return w.useEffect(()=>{if(n==null||r==null)return fl;var l=t.map(o=>({value:o.value,coordinate:o.coordinate,offset:o.offset,index:o.index}));return i(iJ({ticks:l,axisId:n,axisType:r})),()=>{i(sJ({axisId:n,axisType:r}))}},[i,t,n,r]),null}var bJ=w.forwardRef((e,t)=>{var{ticks:r=[],tick:n,tickLine:i,stroke:l,tickFormatter:o,unit:c,padding:f,tickTextProps:d,orientation:p,mirror:v,x:y,y:x,width:S,height:j,tickSize:O,tickMargin:N,fontSize:P,letterSpacing:E,getTicksConfig:A,events:T,axisType:M,axisId:R}=e,I=Sj(xt(xt({},A),{},{ticks:r}),P,E),z=kn(A),D=lf(n),H=m3(z.textAnchor)?z.textAnchor:vJ(p,v),q=yJ(p,v),ae={};typeof i=="object"&&(ae=i);var Q=xt(xt({},z),{},{fill:"none"},ae),Z=I.map(ee=>xt({entry:ee},pJ(ee,y,x,S,j,p,O,v,N))),B=Z.map(ee=>{var{entry:se,line:ue}=ee;return w.createElement(tn,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(se.value,"-").concat(se.coordinate,"-").concat(se.tickCoord)},i&&w.createElement("line",ol({},Q,ue,{className:Xe("recharts-cartesian-axis-tick-line",$o(i,"className"))})))}),K=Z.map((ee,se)=>{var ue,k,{entry:W,tick:oe}=ee,le=xt(xt(xt(xt({verticalAnchor:q},z),{},{textAnchor:H,stroke:"none",fill:l},oe),{},{index:se,payload:W,visibleTicksCount:I.length,tickFormatter:o,padding:f},d),{},{angle:(ue=(k=d==null?void 0:d.angle)!==null&&k!==void 0?k:z.angle)!==null&&ue!==void 0?ue:0}),ve=xt(xt({},le),D);return w.createElement(tn,ol({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(W.value,"-").concat(W.coordinate,"-").concat(W.tickCoord)},Bm(T,W,se)),n&&w.createElement(gJ,{option:n,tickProps:ve,value:"".concat(typeof o=="function"?o(W.value,se):W.value).concat(c||"")}))});return w.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(M,"-ticks")},w.createElement(xJ,{ticks:I,axisId:R,axisType:M}),K.length>0&&w.createElement(_n,{zIndex:Kt.label},w.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(M,"-tick-labels"),ref:t},K)),B.length>0&&w.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(M,"-tick-lines")},B))}),SJ=w.forwardRef((e,t)=>{var{axisLine:r,width:n,height:i,className:l,hide:o,ticks:c,axisType:f,axisId:d}=e,p=uJ(e,oJ),[v,y]=w.useState(""),[x,S]=w.useState(""),j=w.useRef(null);w.useImperativeHandle(t,()=>({getCalculatedWidth:()=>{var N;return nJ({ticks:j.current,label:(N=e.labelRef)===null||N===void 0?void 0:N.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var O=w.useCallback(N=>{if(N){var P=N.getElementsByClassName("recharts-cartesian-axis-tick-value");j.current=P;var E=P[0];if(E){var A=window.getComputedStyle(E),T=A.fontSize,M=A.letterSpacing;(T!==v||M!==x)&&(y(T),S(M))}}},[v,x]);return o||n!=null&&n<=0||i!=null&&i<=0?null:w.createElement(_n,{zIndex:e.zIndex},w.createElement(tn,{className:Xe("recharts-cartesian-axis",l)},w.createElement(mJ,{x:e.x,y:e.y,width:n,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:kn(e)}),w.createElement(bJ,{ref:O,axisType:f,events:p,fontSize:v,getTicksConfig:e,height:e.height,letterSpacing:x,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:c,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:d}),w.createElement(nZ,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},w.createElement(hZ,{label:e.label,labelRef:e.labelRef}),e.children)))}),jj=w.forwardRef((e,t)=>{var r=lr(e,qa);return w.createElement(SJ,ol({},r,{ref:t}))});jj.displayName="CartesianAxis";var jJ=["x1","y1","x2","y2","key"],wJ=["offset"],OJ=["xAxisId","yAxisId"],NJ=["xAxisId","yAxisId"];function rC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function hr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?rC(Object(r),!0).forEach(function(n){_J(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):rC(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function _J(e,t,r){return(t=EJ(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function EJ(e){var t=AJ(e,"string");return typeof t=="symbol"?t:t+""}function AJ(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ls(){return Ls=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Ls.apply(null,arguments)}function Om(e,t){if(e==null)return{};var r,n,i=PJ(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function PJ(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var TJ=e=>{var{fill:t}=e;if(!t||t==="none")return null;var{fillOpacity:r,x:n,y:i,width:l,height:o,ry:c}=e;return w.createElement("rect",{x:n,y:i,ry:c,width:l,height:o,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function H3(e){var{option:t,lineItemProps:r}=e,n;if(w.isValidElement(t))n=w.cloneElement(t,r);else if(typeof t=="function")n=t(r);else{var i,{x1:l,y1:o,x2:c,y2:f,key:d}=r,p=Om(r,jJ),v=(i=kn(p))!==null&&i!==void 0?i:{},{offset:y}=v,x=Om(v,wJ);n=w.createElement("line",Ls({},x,{x1:l,y1:o,x2:c,y2:f,fill:"none",key:d}))}return n}function CJ(e){var{x:t,width:r,horizontal:n=!0,horizontalPoints:i}=e;if(!n||!i||!i.length)return null;var{xAxisId:l,yAxisId:o}=e,c=Om(e,OJ),f=i.map((d,p)=>{var v=hr(hr({},c),{},{x1:t,y1:d,x2:t+r,y2:d,key:"line-".concat(p),index:p});return w.createElement(H3,{key:"line-".concat(p),option:n,lineItemProps:v})});return w.createElement("g",{className:"recharts-cartesian-grid-horizontal"},f)}function MJ(e){var{y:t,height:r,vertical:n=!0,verticalPoints:i}=e;if(!n||!i||!i.length)return null;var{xAxisId:l,yAxisId:o}=e,c=Om(e,NJ),f=i.map((d,p)=>{var v=hr(hr({},c),{},{x1:d,y1:t,x2:d,y2:t+r,key:"line-".concat(p),index:p});return w.createElement(H3,{option:n,lineItemProps:v,key:"line-".concat(p)})});return w.createElement("g",{className:"recharts-cartesian-grid-vertical"},f)}function RJ(e){var{horizontalFill:t,fillOpacity:r,x:n,y:i,width:l,height:o,horizontalPoints:c,horizontal:f=!0}=e;if(!f||!t||!t.length||c==null)return null;var d=c.map(v=>Math.round(v+i-i)).sort((v,y)=>v-y);i!==d[0]&&d.unshift(0);var p=d.map((v,y)=>{var x=d[y+1],S=x==null,j=S?i+o-v:x-v;if(j<=0)return null;var O=y%t.length;return w.createElement("rect",{key:"react-".concat(y),y:v,x:n,height:j,width:l,stroke:"none",fill:t[O],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return w.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},p)}function DJ(e){var{vertical:t=!0,verticalFill:r,fillOpacity:n,x:i,y:l,width:o,height:c,verticalPoints:f}=e;if(!t||!r||!r.length)return null;var d=f.map(v=>Math.round(v+i-i)).sort((v,y)=>v-y);i!==d[0]&&d.unshift(0);var p=d.map((v,y)=>{var x=d[y+1],S=x==null,j=S?i+o-v:x-v;if(j<=0)return null;var O=y%r.length;return w.createElement("rect",{key:"react-".concat(y),x:v,y:l,width:j,height:c,stroke:"none",fill:r[O],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return w.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},p)}var kJ=(e,t)=>{var{xAxis:r,width:n,height:i,offset:l}=e;return yR(Sj(hr(hr(hr({},qa),r),{},{ticks:gR(r),viewBox:{x:0,y:0,width:n,height:i}})),l.left,l.left+l.width,t)},IJ=(e,t)=>{var{yAxis:r,width:n,height:i,offset:l}=e;return yR(Sj(hr(hr(hr({},qa),r),{},{ticks:gR(r),viewBox:{x:0,y:0,width:n,height:i}})),l.top,l.top+l.height,t)},LJ={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:Kt.grid};function _p(e){var t=hS(),r=mS(),n=wR(),i=hr(hr({},lr(e,LJ)),{},{x:pe(e.x)?e.x:n.left,y:pe(e.y)?e.y:n.top,width:pe(e.width)?e.width:n.width,height:pe(e.height)?e.height:n.height}),{xAxisId:l,yAxisId:o,x:c,y:f,width:d,height:p,syncWithTicks:v,horizontalValues:y,verticalValues:x}=i,S=yr(),j=ge(z=>JP(z,"xAxis",l,S)),O=ge(z=>JP(z,"yAxis",o,S));if(!ia(d)||!ia(p)||!pe(c)||!pe(f))return null;var N=i.verticalCoordinatesGenerator||kJ,P=i.horizontalCoordinatesGenerator||IJ,{horizontalPoints:E,verticalPoints:A}=i;if((!E||!E.length)&&typeof P=="function"){var T=y&&y.length,M=P({yAxis:O?hr(hr({},O),{},{ticks:T?y:O.ticks}):void 0,width:t??d,height:r??p,offset:n},T?!0:v);Qh(Array.isArray(M),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof M,"]")),Array.isArray(M)&&(E=M)}if((!A||!A.length)&&typeof N=="function"){var R=x&&x.length,I=N({xAxis:j?hr(hr({},j),{},{ticks:R?x:j.ticks}):void 0,width:t??d,height:r??p,offset:n},R?!0:v);Qh(Array.isArray(I),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof I,"]")),Array.isArray(I)&&(A=I)}return w.createElement(_n,{zIndex:i.zIndex},w.createElement("g",{className:"recharts-cartesian-grid"},w.createElement(TJ,{fill:i.fill,fillOpacity:i.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),w.createElement(RJ,Ls({},i,{horizontalPoints:E})),w.createElement(DJ,Ls({},i,{verticalPoints:A})),w.createElement(CJ,Ls({},i,{offset:n,horizontalPoints:E,xAxis:j,yAxis:O})),w.createElement(MJ,Ls({},i,{offset:n,verticalPoints:A,xAxis:j,yAxis:O}))))}_p.displayName="CartesianGrid";var zJ={},F3=vr({name:"errorBars",initialState:zJ,reducers:{addErrorBar:(e,t)=>{var{itemId:r,errorBar:n}=t.payload;e[r]||(e[r]=[]),e[r].push(n)},replaceErrorBar:(e,t)=>{var{itemId:r,prev:n,next:i}=t.payload;e[r]&&(e[r]=e[r].map(l=>l.dataKey===n.dataKey&&l.direction===n.direction?i:l))},removeErrorBar:(e,t)=>{var{itemId:r,errorBar:n}=t.payload;e[r]&&(e[r]=e[r].filter(i=>i.dataKey!==n.dataKey||i.direction!==n.direction))}}}),{addErrorBar:vie,replaceErrorBar:yie,removeErrorBar:gie}=F3.actions,$J=F3.reducer,BJ=["children"];function UJ(e,t){if(e==null)return{};var r,n,i=qJ(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function qJ(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var HJ={data:[],xAxisId:"xAxis-0",yAxisId:"yAxis-0",dataPointFormatter:()=>({x:0,y:0,value:0}),errorBarOffset:0},FJ=w.createContext(HJ);function K3(e){var{children:t}=e,r=UJ(e,BJ);return w.createElement(FJ.Provider,{value:r},t)}function wj(e,t){var r,n,i=ge(d=>ei(d,e)),l=ge(d=>ti(d,t)),o=(r=i==null?void 0:i.allowDataOverflow)!==null&&r!==void 0?r:kt.allowDataOverflow,c=(n=l==null?void 0:l.allowDataOverflow)!==null&&n!==void 0?n:It.allowDataOverflow,f=o||c;return{needClip:f,needClipX:o,needClipY:c}}function G3(e){var{xAxisId:t,yAxisId:r,clipPathId:n}=e,i=bj(),{needClipX:l,needClipY:o,needClip:c}=wj(t,r);if(!c||!i)return null;var{x:f,y:d,width:p,height:v}=i;return w.createElement("clipPath",{id:"clipPath-".concat(n)},w.createElement("rect",{x:l?f:f-p/2,y:o?d:d-v/2,width:l?p:p*2,height:o?v:v*2}))}var Y3=(e,t,r,n)=>es(e,"xAxis",t,n),V3=(e,t,r,n)=>Ji(e,"xAxis",t,n),Q3=(e,t,r,n)=>es(e,"yAxis",r,n),X3=(e,t,r,n)=>Ji(e,"yAxis",r,n),KJ=V([Ze,Y3,Q3,V3,X3],(e,t,r,n,i)=>Xa(e,"xAxis")?Uo(t,n,!1):Uo(r,i,!1)),GJ=(e,t,r,n,i)=>i;function YJ(e){return e.type==="line"}var VJ=V([jp,GJ],(e,t)=>e.filter(YJ).find(r=>r.id===t)),QJ=V([Ze,Y3,Q3,V3,X3,VJ,KJ,pf],(e,t,r,n,i,l,o,c)=>{var{chartData:f,dataStartIndex:d,dataEndIndex:p}=c;if(!(l==null||t==null||r==null||n==null||i==null||n.length===0||i.length===0||o==null||e!=="horizontal"&&e!=="vertical")){var{dataKey:v,data:y}=l,x;if(y!=null&&y.length>0?x=y:x=f==null?void 0:f.slice(d,p+1),x!=null)return vee({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:i,dataKey:v,bandSize:o,displayedData:x})}});function XJ(e){var t=lf(e),r=3,n=2;if(t!=null){var{r:i,strokeWidth:l}=t,o=Number(i),c=Number(l);return(Number.isNaN(o)||o<0)&&(o=r),(Number.isNaN(c)||c<0)&&(c=n),{r:o,strokeWidth:c}}return{r,strokeWidth:n}}var ZJ=["id"],WJ=["type","layout","connectNulls","needClip","shape"],JJ=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function Xc(){return Xc=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Xc.apply(null,arguments)}function nC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Wn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?nC(Object(r),!0).forEach(function(n){eee(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):nC(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function eee(e,t,r){return(t=tee(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function tee(e){var t=ree(e,"string");return typeof t=="symbol"?t:t+""}function ree(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Oj(e,t){if(e==null)return{};var r,n,i=nee(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function nee(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var aee=e=>{var{dataKey:t,name:r,stroke:n,legendType:i,hide:l}=e;return[{inactive:l,dataKey:t,type:i,color:n,value:Zm(r,t),payload:e}]},iee=w.memo(e=>{var{dataKey:t,data:r,stroke:n,strokeWidth:i,fill:l,name:o,hide:c,unit:f,tooltipType:d,id:p}=e,v={dataDefinedOnItem:r,getPosition:fl,settings:{stroke:n,strokeWidth:i,fill:l,dataKey:t,nameKey:void 0,name:Zm(o,t),hide:c,type:d,color:n,unit:f,graphicalItemId:p}};return w.createElement(M3,{tooltipEntrySettings:v})}),Z3=(e,t)=>"".concat(t,"px ").concat(e,"px");function see(e,t){for(var r=e.length%2!==0?[...e,0]:e,n=[],i=0;i<t;++i)n.push(...r);return n}var lee=(e,t,r)=>{var n=r.reduce((y,x)=>y+x,0);if(!n)return Z3(t,e);for(var i=Math.floor(e/n),l=e%n,o=[],c=0,f=0;c<r.length;f+=(d=r[c])!==null&&d!==void 0?d:0,++c){var d,p=r[c];if(p!=null&&f+p>l){o=[...r.slice(0,c),l-f];break}}var v=o.length%2===0?[0,t]:[t];return[...see(r,i),...o,...v].map(y=>"".concat(y,"px")).join(", ")};function oee(e){var{clipPathId:t,points:r,props:n}=e,{dot:i,dataKey:l,needClip:o}=n,{id:c}=n,f=Oj(n,ZJ),d=kn(f);return w.createElement(uW,{points:r,dot:i,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:l,baseProps:d,needClip:o,clipPathId:t})}function uee(e){var{showLabels:t,children:r,points:n}=e,i=w.useMemo(()=>n==null?void 0:n.map(l=>{var o,c,f={x:(o=l.x)!==null&&o!==void 0?o:0,y:(c=l.y)!==null&&c!==void 0?c:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Wn(Wn({},f),{},{value:l.value,payload:l.payload,viewBox:f,parentViewBox:void 0,fill:void 0})}),[n]);return w.createElement(S3,{value:t?i:void 0},r)}function aC(e){var{clipPathId:t,pathRef:r,points:n,strokeDasharray:i,props:l}=e,{type:o,layout:c,connectNulls:f,needClip:d,shape:p}=l,v=Oj(l,WJ),y=Wn(Wn({},Or(v)),{},{fill:"none",className:"recharts-line-curve",clipPath:d?"url(#clipPath-".concat(t,")"):void 0,points:n,type:o,layout:c,connectNulls:f,strokeDasharray:i??l.strokeDasharray});return w.createElement(w.Fragment,null,(n==null?void 0:n.length)>1&&w.createElement(A3,Xc({shapeType:"curve",option:p},y,{pathRef:r})),w.createElement(oee,{points:n,clipPathId:t,props:l}))}function cee(e){try{return e&&e.getTotalLength&&e.getTotalLength()||0}catch{return 0}}function fee(e){var{clipPathId:t,props:r,pathRef:n,previousPointsRef:i,longestAnimatedLengthRef:l}=e,{points:o,strokeDasharray:c,isAnimationActive:f,animationBegin:d,animationDuration:p,animationEasing:v,animateNewValues:y,width:x,height:S,onAnimationEnd:j,onAnimationStart:O}=r,N=i.current,P=lp(o,"recharts-line-"),E=w.useRef(P),[A,T]=w.useState(!1),M=!A,R=w.useCallback(()=>{typeof j=="function"&&j(),T(!1)},[j]),I=w.useCallback(()=>{typeof O=="function"&&O(),T(!0)},[O]),z=cee(n.current),D=w.useRef(0);E.current!==P&&(D.current=l.current,E.current=P);var H=D.current;return w.createElement(uee,{points:o,showLabels:M},r.children,w.createElement(sp,{animationId:P,begin:d,duration:p,isActive:f,easing:v,onAnimationEnd:R,onAnimationStart:I,key:P},q=>{var ae=St(H,z+H,q),Q=Math.min(ae,z),Z;if(f)if(c){var B="".concat(c).split(/[,\s]+/gim).map(se=>parseFloat(se));Z=lee(Q,z,B)}else Z=Z3(z,Q);else Z=c==null?void 0:String(c);if(q>0&&z>0&&(i.current=o,l.current=Math.max(l.current,Q)),N){var K=N.length/o.length,ee=q===1?o:o.map((se,ue)=>{var k=Math.floor(ue*K);if(N[k]){var W=N[k];return Wn(Wn({},se),{},{x:St(W.x,se.x,q),y:St(W.y,se.y,q)})}return y?Wn(Wn({},se),{},{x:St(x*2,se.x,q),y:St(S/2,se.y,q)}):Wn(Wn({},se),{},{x:se.x,y:se.y})});return i.current=ee,w.createElement(aC,{props:r,points:ee,clipPathId:t,pathRef:n,strokeDasharray:Z})}return w.createElement(aC,{props:r,points:o,clipPathId:t,pathRef:n,strokeDasharray:Z})}),w.createElement(w3,{label:r.label}))}function dee(e){var{clipPathId:t,props:r}=e,n=w.useRef(null),i=w.useRef(0),l=w.useRef(null);return w.createElement(fee,{props:r,clipPathId:t,previousPointsRef:n,longestAnimatedLengthRef:i,pathRef:l})}var hee=(e,t)=>{var r,n;return{x:(r=e.x)!==null&&r!==void 0?r:void 0,y:(n=e.y)!==null&&n!==void 0?n:void 0,value:e.value,errorVal:Nt(e.payload,t)}};class mee extends w.Component{render(){var{hide:t,dot:r,points:n,className:i,xAxisId:l,yAxisId:o,top:c,left:f,width:d,height:p,id:v,needClip:y,zIndex:x}=this.props;if(t)return null;var S=Xe("recharts-line",i),j=v,{r:O,strokeWidth:N}=XJ(r),P=E3(r),E=O*2+N,A=y?"url(#clipPath-".concat(P?"":"dots-").concat(j,")"):void 0;return w.createElement(_n,{zIndex:x},w.createElement(tn,{className:S},y&&w.createElement("defs",null,w.createElement(G3,{clipPathId:j,xAxisId:l,yAxisId:o}),!P&&w.createElement("clipPath",{id:"clipPath-dots-".concat(j)},w.createElement("rect",{x:f-E/2,y:c-E/2,width:d+E,height:p+E}))),w.createElement(K3,{xAxisId:l,yAxisId:o,data:n,dataPointFormatter:hee,errorBarOffset:0},w.createElement(dee,{props:this.props,clipPathId:j}))),w.createElement(PW,{activeDot:this.props.activeDot,points:n,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:A}))}}var W3={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:Kt.line,type:"linear"};function pee(e){var t=lr(e,W3),{activeDot:r,animateNewValues:n,animationBegin:i,animationDuration:l,animationEasing:o,connectNulls:c,dot:f,hide:d,isAnimationActive:p,label:v,legendType:y,xAxisId:x,yAxisId:S,id:j}=t,O=Oj(t,JJ),{needClip:N}=wj(x,S),P=bj(),E=dl(),A=yr(),T=ge(D=>QJ(D,x,S,A,j));if(E!=="horizontal"&&E!=="vertical"||T==null||P==null)return null;var{height:M,width:R,x:I,y:z}=P;return w.createElement(mee,Xc({},O,{id:j,connectNulls:c,dot:f,activeDot:r,animateNewValues:n,animationBegin:i,animationDuration:l,animationEasing:o,isAnimationActive:p,hide:d,label:v,legendType:y,xAxisId:x,yAxisId:S,points:T,layout:E,height:M,width:R,left:I,top:z,needClip:N}))}function vee(e){var{layout:t,xAxis:r,yAxis:n,xAxisTicks:i,yAxisTicks:l,dataKey:o,bandSize:c,displayedData:f}=e;return f.map((d,p)=>{var v=Nt(d,o);if(t==="horizontal"){var y=KE({axis:r,ticks:i,bandSize:c,entry:d,index:p}),x=mt(v)?null:n.scale.map(v);return{x:y,y:x??null,value:v,payload:d}}var S=mt(v)?null:r.scale.map(v),j=KE({axis:n,ticks:l,bandSize:c,entry:d,index:p});return S==null||j==null?null:{x:S,y:j,value:v,payload:d}}).filter(Boolean)}function yee(e){var t=lr(e,W3),r=yr();return w.createElement(D3,{id:t.id,type:"line"},n=>w.createElement(w.Fragment,null,w.createElement(R3,{legendPayload:aee(t)}),w.createElement(iee,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:n}),w.createElement(I3,{type:"line",id:n,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:r}),w.createElement(pee,Xc({},t,{id:n}))))}var J3=w.memo(yee,eu);J3.displayName="Line";function vl(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||n===void 0?void 0:n.xAxisId)!==null&&r!==void 0?r:L3}function yl(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(i=>i.id===t))===null||n===void 0?void 0:n.yAxisId)!==null&&r!==void 0?r:L3}var gee="Invariant failed";function xee(e,t){throw new Error(gee)}function ob(){return ob=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ob.apply(null,arguments)}function Nj(e){return w.createElement(A3,ob({shapeType:"rectangle",activeClassName:"recharts-active-bar",inActiveClassName:"recharts-inactive-bar"},e))}var bee=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return(n,i)=>{if(pe(t))return t;var l=pe(n)||mt(n);return l?t(n,i):(l||xee(),r)}},See=(e,t,r)=>r,jee=(e,t)=>t,Nf=V([jp,jee],(e,t)=>e.filter(r=>r.type==="bar").find(r=>r.id===t)),wee=V([Nf],e=>e==null?void 0:e.maxBarSize),Oee=(e,t,r,n)=>n,Nee=V([Ze,jp,vl,yl,See],(e,t,r,n,i)=>t.filter(l=>e==="horizontal"?l.xAxisId===r:l.yAxisId===n).filter(l=>l.isPanorama===i).filter(l=>l.hide===!1).filter(l=>l.type==="bar")),_ee=(e,t,r)=>{var n=Ze(e),i=vl(e,t),l=yl(e,t);if(!(i==null||l==null))return n==="horizontal"?nb(e,"yAxis",l,r):nb(e,"xAxis",i,r)},Eee=(e,t)=>{var r=Ze(e),n=vl(e,t),i=yl(e,t);if(!(n==null||i==null))return r==="horizontal"?WP(e,"xAxis",n):WP(e,"yAxis",i)},Aee=V([Nee,c7,Eee],TW),Pee=(e,t,r)=>{var n,i,l=Nf(e,t);if(l==null)return 0;var o=vl(e,t),c=yl(e,t);if(o==null||c==null)return 0;var f=Ze(e),d=n4(e),{maxBarSize:p}=l,v=mt(p)?d:p,y,x;return f==="horizontal"?(y=es(e,"xAxis",o,r),x=Ji(e,"xAxis",o,r)):(y=es(e,"yAxis",c,r),x=Ji(e,"yAxis",c,r)),(n=(i=Uo(y,x,!0))!==null&&i!==void 0?i:v)!==null&&n!==void 0?n:0},ek=(e,t,r)=>{var n=Ze(e),i=vl(e,t),l=yl(e,t);if(!(i==null||l==null)){var o,c;return n==="horizontal"?(o=es(e,"xAxis",i,r),c=Ji(e,"xAxis",i,r)):(o=es(e,"yAxis",l,r),c=Ji(e,"yAxis",l,r)),Uo(o,c)}},Tee=V([Aee,n4,u7,a4,Pee,ek,wee],kW),Cee=(e,t,r)=>{var n=vl(e,t);if(n!=null)return es(e,"xAxis",n,r)},Mee=(e,t,r)=>{var n=yl(e,t);if(n!=null)return es(e,"yAxis",n,r)},Ree=(e,t,r)=>{var n=vl(e,t);if(n!=null)return Ji(e,"xAxis",n,r)},Dee=(e,t,r)=>{var n=yl(e,t);if(n!=null)return Ji(e,"yAxis",n,r)},kee=V([Tee,Nf],LW),Iee=V([_ee,Nf],IW),Lee=V([Yt,uS,Cee,Mee,Ree,Dee,kee,Ze,t7,ek,Iee,Nf,Oee],(e,t,r,n,i,l,o,c,f,d,p,v,y)=>{var{chartData:x,dataStartIndex:S,dataEndIndex:j}=f;if(!(v==null||o==null||t==null||c!=="horizontal"&&c!=="vertical"||r==null||n==null||i==null||l==null||d==null)){var{data:O}=v,N;if(O!=null&&O.length>0?N=O:N=x==null?void 0:x.slice(S,j+1),N!=null)return fte({layout:c,barSettings:v,pos:o,parentViewBox:t,bandSize:d,xAxis:r,yAxis:n,xAxisTicks:i,yAxisTicks:l,stackedData:p,displayedData:N,offset:e,cells:y,dataStartIndex:S})}}),zee=["index"];function ub(){return ub=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ub.apply(null,arguments)}function $ee(e,t){if(e==null)return{};var r,n,i=Bee(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function Bee(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var tk=w.createContext(void 0),Uee=e=>{var t=w.useContext(tk);if(t!=null)return t.stackId;if(e!=null)return Vq(e)},qee=(e,t)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(t),Hee=e=>{var t=w.useContext(tk);if(t!=null){var{stackId:r}=t;return"url(#".concat(qee(r,e),")")}},rk=e=>{var{index:t}=e,r=$ee(e,zee),n=Hee(t);return w.createElement(tn,ub({className:"recharts-bar-stack-layer",clipPath:n},r))},Fee=["onMouseEnter","onMouseLeave","onClick"],Kee=["value","background","tooltipPosition"],Gee=["id"],Yee=["onMouseEnter","onClick","onMouseLeave"];function ts(){return ts=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ts.apply(null,arguments)}function iC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Sr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?iC(Object(r),!0).forEach(function(n){Vee(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):iC(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Vee(e,t,r){return(t=Qee(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Qee(e){var t=Xee(e,"string");return typeof t=="symbol"?t:t+""}function Xee(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Nm(e,t){if(e==null)return{};var r,n,i=Zee(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function Zee(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var Wee=e=>{var{dataKey:t,name:r,fill:n,legendType:i,hide:l}=e;return[{inactive:l,dataKey:t,type:i,color:n,value:Zm(r,t),payload:e}]},Jee=w.memo(e=>{var{dataKey:t,stroke:r,strokeWidth:n,fill:i,name:l,hide:o,unit:c,tooltipType:f,id:d}=e,p={dataDefinedOnItem:void 0,getPosition:fl,settings:{stroke:r,strokeWidth:n,fill:i,dataKey:t,nameKey:void 0,name:Zm(l,t),hide:o,type:f,color:i,unit:c,graphicalItemId:d}};return w.createElement(M3,{tooltipEntrySettings:p})});function ete(e){var t=ge(ll),{data:r,dataKey:n,background:i,allOtherBarProps:l}=e,{onMouseEnter:o,onMouseLeave:c,onClick:f}=l,d=Nm(l,Fee),p=P3(o,n,l.id),v=T3(c),y=C3(f,n,l.id);if(!i||r==null)return null;var x=lf(i);return w.createElement(_n,{zIndex:zW(i,Kt.barBackground)},r.map((S,j)=>{var{value:O,background:N,tooltipPosition:P}=S,E=Nm(S,Kee);if(!N)return null;var A=p(S,j),T=v(S,j),M=y(S,j),R=Sr(Sr(Sr(Sr(Sr({option:i,isActive:String(j)===t},E),{},{fill:"#eee"},N),x),Bm(d,S,j)),{},{onMouseEnter:A,onMouseLeave:T,onClick:M,dataKey:n,index:j,className:"recharts-bar-background-rectangle"});return w.createElement(Nj,ts({key:"background-bar-".concat(j)},R))}))}function tte(e){var{showLabels:t,children:r,rects:n}=e,i=n==null?void 0:n.map(l=>{var o={x:l.x,y:l.y,width:l.width,lowerWidth:l.width,upperWidth:l.width,height:l.height};return Sr(Sr({},o),{},{value:l.value,payload:l.payload,parentViewBox:l.parentViewBox,viewBox:o,fill:l.fill})});return w.createElement(S3,{value:t?i:void 0},r)}function rte(e){var{shape:t,activeBar:r,baseProps:n,entry:i,index:l,dataKey:o}=e,c=ge(ll),f=ge(WD),d=r&&String(i.originalDataIndex)===c&&(f==null||o===f),[p,v]=w.useState(!1),[y,x]=w.useState(!1);w.useEffect(()=>{var E;return d?(v(!0),E=requestAnimationFrame(()=>{x(!0)})):x(!1),()=>{cancelAnimationFrame(E)}},[d]);var S=w.useCallback(()=>{d||v(!1)},[d]),j=d&&y,O=d||p,N;d?r===!0?N=t:N=r:N=t;var P=w.createElement(Nj,ts({},n,{name:String(n.name)},i,{isActive:j,option:N,index:l,dataKey:o,onTransitionEnd:S}));return O?w.createElement(_n,{zIndex:Kt.activeBar},w.createElement(rk,{index:i.originalDataIndex},P)):P}function nte(e){var{shape:t,baseProps:r,entry:n,index:i,dataKey:l}=e;return w.createElement(Nj,ts({},r,{name:String(r.name)},n,{isActive:!1,option:t,index:i,dataKey:l}))}function ate(e){var t,{data:r,props:n}=e,i=(t=kn(n))!==null&&t!==void 0?t:{},{id:l}=i,o=Nm(i,Gee),{shape:c,dataKey:f,activeBar:d}=n,{onMouseEnter:p,onClick:v,onMouseLeave:y}=n,x=Nm(n,Yee),S=P3(p,f,l),j=T3(y),O=C3(v,f,l);return r?w.createElement(w.Fragment,null,r.map((N,P)=>w.createElement(rk,ts({index:N.originalDataIndex,key:"rectangle-".concat(N==null?void 0:N.x,"-").concat(N==null?void 0:N.y,"-").concat(N==null?void 0:N.value,"-").concat(P),className:"recharts-bar-rectangle"},Bm(x,N,P),{onMouseEnter:S(N,P),onMouseLeave:j(N,P),onClick:O(N,P)}),d?w.createElement(rte,{shape:c,activeBar:d,baseProps:o,entry:N,index:P,dataKey:f}):w.createElement(nte,{shape:c,baseProps:o,entry:N,index:P,dataKey:f})))):null}function ite(e){var{props:t,previousRectanglesRef:r}=e,{data:n,layout:i,isAnimationActive:l,animationBegin:o,animationDuration:c,animationEasing:f,onAnimationEnd:d,onAnimationStart:p}=t,v=r.current,y=lp(t,"recharts-bar-"),[x,S]=w.useState(!1),j=!x,O=w.useCallback(()=>{typeof d=="function"&&d(),S(!1)},[d]),N=w.useCallback(()=>{typeof p=="function"&&p(),S(!0)},[p]);return w.createElement(tte,{showLabels:j,rects:n},w.createElement(sp,{animationId:y,begin:o,duration:c,isActive:l,easing:f,onAnimationEnd:O,onAnimationStart:N,key:y},P=>{var E=P===1?n:n==null?void 0:n.map((A,T)=>{var M=v&&v[T];if(M)return Sr(Sr({},A),{},{x:St(M.x,A.x,P),y:St(M.y,A.y,P),width:St(M.width,A.width,P),height:St(M.height,A.height,P)});if(i==="horizontal"){var R=St(0,A.height,P),I=St(A.stackedBarStart,A.y,P);return Sr(Sr({},A),{},{y:I,height:R})}var z=St(0,A.width,P),D=St(A.stackedBarStart,A.x,P);return Sr(Sr({},A),{},{width:z,x:D})});return P>0&&(r.current=E??null),E==null?null:w.createElement(tn,null,w.createElement(ate,{props:t,data:E}))}),w.createElement(w3,{label:t.label}),t.children)}function ste(e){var t=w.useRef(null);return w.createElement(ite,{previousRectanglesRef:t,props:e})}var nk=0,lte=(e,t)=>{var r=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:r,errorVal:Nt(e,t)}};class ote extends w.PureComponent{render(){var{hide:t,data:r,dataKey:n,className:i,xAxisId:l,yAxisId:o,needClip:c,background:f,id:d}=this.props;if(t||r==null)return null;var p=Xe("recharts-bar",i),v=d;return w.createElement(tn,{className:p,id:d},c&&w.createElement("defs",null,w.createElement(G3,{clipPathId:v,xAxisId:l,yAxisId:o})),w.createElement(tn,{className:"recharts-bar-rectangles",clipPath:c?"url(#clipPath-".concat(v,")"):void 0},w.createElement(ete,{data:r,dataKey:n,background:f,allOtherBarProps:this.props}),w.createElement(ste,this.props)))}}var ute={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:nk,xAxisId:0,yAxisId:0,zIndex:Kt.bar};function cte(e){var{xAxisId:t,yAxisId:r,hide:n,legendType:i,minPointSize:l,activeBar:o,animationBegin:c,animationDuration:f,animationEasing:d,isAnimationActive:p}=e,{needClip:v}=wj(t,r),y=dl(),x=yr(),S=_Z(e.children,yj),j=ge(P=>Lee(P,e.id,x,S));if(y!=="vertical"&&y!=="horizontal")return null;var O,N=j==null?void 0:j[0];return N==null||N.height==null||N.width==null?O=0:O=y==="vertical"?N.height/2:N.width/2,w.createElement(K3,{xAxisId:t,yAxisId:r,data:j,dataPointFormatter:lte,errorBarOffset:O},w.createElement(ote,ts({},e,{layout:y,needClip:v,data:j,xAxisId:t,yAxisId:r,hide:n,legendType:i,minPointSize:l,activeBar:o,animationBegin:c,animationDuration:f,animationEasing:d,isAnimationActive:p})))}function fte(e){var{layout:t,barSettings:{dataKey:r,minPointSize:n,hasCustomShape:i},pos:l,bandSize:o,xAxis:c,yAxis:f,xAxisTicks:d,yAxisTicks:p,stackedData:v,displayedData:y,offset:x,cells:S,parentViewBox:j,dataStartIndex:O}=e,N=t==="horizontal"?f:c,P=v?N.scale.domain():null,E=Qq({numericAxis:N}),A=N.scale.map(E);return y.map((T,M)=>{var R,I,z,D,H,q;if(v){var ae=v[M+O];if(ae==null)return null;R=Hq(ae,P)}else R=Nt(T,r),Array.isArray(R)||(R=[E,R]);var Q=bee(n,nk)(R[1],M);if(t==="horizontal"){var Z,B=f.scale.map(R[0]),K=f.scale.map(R[1]);if(B==null||K==null)return null;I=GE({axis:c,ticks:d,bandSize:o,offset:l.offset,entry:T,index:M}),z=(Z=K??B)!==null&&Z!==void 0?Z:void 0,D=l.size;var ee=B-K;if(H=na(ee)?0:ee,q={x:I,y:x.top,width:D,height:x.height},Math.abs(Q)>0&&Math.abs(H)<Math.abs(Q)){var se=zr(H||Q)*(Math.abs(Q)-Math.abs(H));z-=se,H+=se}}else{var ue=c.scale.map(R[0]),k=c.scale.map(R[1]);if(ue==null||k==null)return null;if(I=ue,z=GE({axis:f,ticks:p,bandSize:o,offset:l.offset,entry:T,index:M}),D=k-ue,H=l.size,q={x:x.left,y:z,width:x.width,height:H},Math.abs(Q)>0&&Math.abs(D)<Math.abs(Q)){var W=zr(D||Q)*(Math.abs(Q)-Math.abs(D));D+=W}}if(I==null||z==null||D==null||H==null||!i&&(D===0||H===0))return null;var oe=Sr(Sr({},T),{},{stackedBarStart:A,x:I,y:z,width:D,height:H,value:v?R:R[1],payload:T,background:q,tooltipPosition:{x:I+D/2,y:z+H/2},parentViewBox:j,originalDataIndex:M},S&&S[M]&&S[M].props);return oe}).filter(Boolean)}function dte(e){var t=lr(e,ute),r=Uee(t.stackId),n=yr();return w.createElement(D3,{id:t.id,type:"bar"},i=>w.createElement(w.Fragment,null,w.createElement(R3,{legendPayload:Wee(t)}),w.createElement(Jee,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:i}),w.createElement(I3,{type:"bar",id:i,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:r,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:n,hasCustomShape:t.shape!=null}),w.createElement(_n,{zIndex:t.zIndex},w.createElement(cte,ts({},t,{id:i})))))}var _j=w.memo(dte,eu);_j.displayName="Bar";var hte=["domain","range"],mte=["domain","range"];function sC(e,t){if(e==null)return{};var r,n,i=pte(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function pte(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function lC(e,t){return e===t?!0:Array.isArray(e)&&e.length===2&&Array.isArray(t)&&t.length===2?e[0]===t[0]&&e[1]===t[1]:!1}function ak(e,t){if(e===t)return!0;var{domain:r,range:n}=e,i=sC(e,hte),{domain:l,range:o}=t,c=sC(t,mte);return!lC(r,l)||!lC(n,o)?!1:eu(i,c)}var vte=["type"],yte=["dangerouslySetInnerHTML","ticks","scale"],gte=["id","scale"];function cb(){return cb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},cb.apply(null,arguments)}function oC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function uC(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?oC(Object(r),!0).forEach(function(n){xte(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):oC(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function xte(e,t,r){return(t=bte(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function bte(e){var t=Ste(e,"string");return typeof t=="symbol"?t:t+""}function Ste(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function fb(e,t){if(e==null)return{};var r,n,i=jte(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function jte(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function wte(e){var t=ct(),r=w.useRef(null),n=OR(),{type:i}=e,l=fb(e,vte),o=cp(n,"xAxis",i),c=w.useMemo(()=>{if(o!=null)return uC(uC({},l),{},{type:o})},[l,o]);return w.useLayoutEffect(()=>{c!=null&&(r.current===null?t(mW(c)):r.current!==c&&t(pW({prev:r.current,next:c})),r.current=c)},[c,t]),w.useLayoutEffect(()=>()=>{r.current&&(t(vW(r.current)),r.current=null)},[t]),null}var Ote=e=>{var{xAxisId:t,className:r}=e,n=ge(uS),i=yr(),l="xAxis",o=ge(N=>TD(N,l,t,i)),c=ge(N=>ED(N,t)),f=ge(N=>KY(N,t)),d=ge(N=>Q4(N,t));if(c==null||f==null||d==null)return null;var{dangerouslySetInnerHTML:p,ticks:v,scale:y}=e,x=fb(e,yte),{id:S,scale:j}=d,O=fb(d,gte);return w.createElement(jj,cb({},x,O,{x:f.x,y:f.y,width:c.width,height:c.height,className:Xe("recharts-".concat(l," ").concat(l),r),viewBox:n,ticks:o,axisType:l,axisId:t}))},Nte={allowDataOverflow:kt.allowDataOverflow,allowDecimals:kt.allowDecimals,allowDuplicatedCategory:kt.allowDuplicatedCategory,angle:kt.angle,axisLine:qa.axisLine,height:kt.height,hide:!1,includeHidden:kt.includeHidden,interval:kt.interval,label:!1,minTickGap:kt.minTickGap,mirror:kt.mirror,orientation:kt.orientation,padding:kt.padding,reversed:kt.reversed,scale:kt.scale,tick:kt.tick,tickCount:kt.tickCount,tickLine:qa.tickLine,tickSize:qa.tickSize,type:kt.type,niceTicks:kt.niceTicks,xAxisId:0},_te=e=>{var t=lr(e,Nte);return w.createElement(w.Fragment,null,w.createElement(wte,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),w.createElement(Ote,t))},Ep=w.memo(_te,ak);Ep.displayName="XAxis";var Ete=["type"],Ate=["dangerouslySetInnerHTML","ticks","scale"],Pte=["id","scale"];function db(){return db=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},db.apply(null,arguments)}function cC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function fC(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?cC(Object(r),!0).forEach(function(n){Tte(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):cC(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Tte(e,t,r){return(t=Cte(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Cte(e){var t=Mte(e,"string");return typeof t=="symbol"?t:t+""}function Mte(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function hb(e,t){if(e==null)return{};var r,n,i=Rte(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function Rte(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function Dte(e){var t=ct(),r=w.useRef(null),n=OR(),{type:i}=e,l=hb(e,Ete),o=cp(n,"yAxis",i),c=w.useMemo(()=>{if(o!=null)return fC(fC({},l),{},{type:o})},[o,l]);return w.useLayoutEffect(()=>{c!=null&&(r.current===null?t(yW(c)):r.current!==c&&t(gW({prev:r.current,next:c})),r.current=c)},[c,t]),w.useLayoutEffect(()=>()=>{r.current&&(t(xW(r.current)),r.current=null)},[t]),null}function kte(e){var{yAxisId:t,className:r,width:n,label:i}=e,l=w.useRef(null),o=w.useRef(null),c=ge(uS),f=yr(),d=ct(),p="yAxis",v=ge(M=>AD(M,t)),y=ge(M=>YY(M,t)),x=ge(M=>TD(M,p,t,f)),S=ge(M=>X4(M,t));if(w.useLayoutEffect(()=>{if(!(n!=="auto"||!v||xj(i)||w.isValidElement(i)||S==null)){var M=l.current;if(M){var R=M.getCalculatedWidth();Math.round(v.width)!==Math.round(R)&&d(bW({id:t,width:R}))}}},[x,v,d,i,t,n,S]),v==null||y==null||S==null)return null;var{dangerouslySetInnerHTML:j,ticks:O,scale:N}=e,P=hb(e,Ate),{id:E,scale:A}=S,T=hb(S,Pte);return w.createElement(jj,db({},P,T,{ref:l,labelRef:o,x:y.x,y:y.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:v.width,height:v.height,className:Xe("recharts-".concat(p," ").concat(p),r),viewBox:c,ticks:x,axisType:p,axisId:t}))}var Ite={allowDataOverflow:It.allowDataOverflow,allowDecimals:It.allowDecimals,allowDuplicatedCategory:It.allowDuplicatedCategory,angle:It.angle,axisLine:qa.axisLine,hide:!1,includeHidden:It.includeHidden,interval:It.interval,label:!1,minTickGap:It.minTickGap,mirror:It.mirror,orientation:It.orientation,padding:It.padding,reversed:It.reversed,scale:It.scale,tick:It.tick,tickCount:It.tickCount,tickLine:qa.tickLine,tickSize:qa.tickSize,type:It.type,niceTicks:It.niceTicks,width:It.width,yAxisId:0},Lte=e=>{var t=lr(e,Ite);return w.createElement(w.Fragment,null,w.createElement(Dte,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),w.createElement(kte,t))},Ap=w.memo(Lte,ak);Ap.displayName="YAxis";var zte=(e,t)=>t,Ej=V([zte,Ze,f4,Qt,VD,ri,vQ,Yt],wQ);function $te(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function Aj(e){var t=e.currentTarget.getBoundingClientRect(),r,n;if($te(e)){var i=e.currentTarget.getBBox();r=i.width>0?t.width/i.width:1,n=i.height>0?t.height/i.height:1}else{var l=e.currentTarget;r=l.offsetWidth>0?t.width/l.offsetWidth:1,n=l.offsetHeight>0?t.height/l.offsetHeight:1}var o=(c,f)=>({relativeX:Math.round((c-t.left)/r),relativeY:Math.round((f-t.top)/n)});return"touches"in e?Array.from(e.touches).map(c=>o(c.clientX,c.clientY)):o(e.clientX,e.clientY)}var ik=rn("mouseClick"),sk=cf();sk.startListening({actionCreator:ik,effect:(e,t)=>{var r=e.payload,n=Ej(t.getState(),Aj(r));(n==null?void 0:n.activeIndex)!=null&&t.dispatch(uV({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var mb=rn("mouseMove"),lk=cf(),co=null,Ns=null,F0=null;lk.startListening({actionCreator:mb,effect:(e,t)=>{var r=e.payload,n=t.getState(),{throttleDelay:i,throttledEvents:l}=n.eventSettings,o=l==="all"||(l==null?void 0:l.includes("mousemove"));co!==null&&(cancelAnimationFrame(co),co=null),Ns!==null&&(typeof i!="number"||!o)&&(clearTimeout(Ns),Ns=null),F0=Aj(r);var c=()=>{var f=t.getState(),d=wf(f,f.tooltip.settings.shared);if(!F0){co=null,Ns=null;return}if(d==="axis"){var p=Ej(f,F0);(p==null?void 0:p.activeIndex)!=null?t.dispatch(zD({activeIndex:p.activeIndex,activeDataKey:void 0,activeCoordinate:p.activeCoordinate})):t.dispatch(LD())}co=null,Ns=null};if(!o){c();return}i==="raf"?co=requestAnimationFrame(c):typeof i=="number"&&Ns===null&&(Ns=setTimeout(c,i))}});function Bte(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<<CHILDREN>>":t}var dC={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},ok=vr({name:"rootProps",initialState:dC,reducers:{updateOptions:(e,t)=>{var r;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(r=t.payload.barGap)!==null&&r!==void 0?r:dC.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),Ute=ok.reducer,{updateOptions:qte}=ok.actions,Hte=null,Fte={updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)},uk=vr({name:"polarOptions",initialState:Hte,reducers:Fte}),{updatePolarOptions:xie}=uk.actions,Kte=uk.reducer,ck=rn("keyDown"),fk=rn("focus"),dk=rn("blur"),Pp=cf(),fo=null,_s=null,ch=null;Pp.startListening({actionCreator:ck,effect:(e,t)=>{ch=e.payload,fo!==null&&(cancelAnimationFrame(fo),fo=null);var r=t.getState(),{throttleDelay:n,throttledEvents:i}=r.eventSettings,l=i==="all"||i.includes("keydown");_s!==null&&(typeof n!="number"||!l)&&(clearTimeout(_s),_s=null);var o=()=>{try{var c=t.getState(),f=c.rootProps.accessibilityLayer!==!1;if(!f)return;var{keyboardInteraction:d}=c.tooltip,p=ch;if(p!=="ArrowRight"&&p!=="ArrowLeft"&&p!=="Enter")return;var v=Nc(d,sl(c),Yo(c),Vo(c)),y=v==null?-1:Number(v),x=!Number.isFinite(y)||y<0,S=ri(c),j=sl(c),O=wf(c,c.tooltip.settings.shared);if(p==="Enter"){if(x)return;var N=xm(c,O,"hover",String(d.index));t.dispatch(gm({active:!d.active,activeIndex:d.index,activeCoordinate:N}));return}var P=WY(c),E=P==="left-to-right"?1:-1,A=p==="ArrowRight"?1:-1,T;if(x){var M=Yo(c),R=Vo(c),I=A*E,z=Q=>({active:!1,index:String(Q),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(T=-1,I>0){for(var D=0;D<j.length;D++)if(Nc(z(D),j,M,R)!=null){T=D;break}}else for(var H=j.length-1;H>=0;H--)if(Nc(z(H),j,M,R)!=null){T=H;break}if(T<0)return}else{T=y+A*E;var q=(S==null?void 0:S.length)||j.length;if(q===0||T>=q||T<0)return}var ae=xm(c,O,"hover",String(T));t.dispatch(gm({active:!0,activeIndex:T.toString(),activeCoordinate:ae}))}finally{fo=null,_s=null}};if(!l){o();return}n==="raf"?fo=requestAnimationFrame(o):typeof n=="number"&&_s===null&&(o(),ch=null,_s=setTimeout(()=>{ch?o():(_s=null,fo=null)},n))}});Pp.startListening({actionCreator:fk,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var{keyboardInteraction:i}=r.tooltip;if(!i.active&&i.index==null){var l="0",o=wf(r,r.tooltip.settings.shared),c=xm(r,o,"hover",String(l));t.dispatch(gm({active:!0,activeIndex:l,activeCoordinate:c}))}}}});Pp.startListening({actionCreator:dk,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var{keyboardInteraction:i}=r.tooltip;i.active&&t.dispatch(gm({active:!1,activeIndex:i.index,activeCoordinate:i.coordinate}))}}});function hk(e){e.persist();var{currentTarget:t}=e;return new Proxy(e,{get:(r,n)=>{if(n==="currentTarget")return t;var i=Reflect.get(r,n);return typeof i=="function"?i.bind(r):i}})}var yn=rn("externalEvent"),mk=cf(),fh=new Map,gc=new Map,K0=new Map;mk.startListening({actionCreator:yn,effect:(e,t)=>{var{handler:r,reactEvent:n}=e.payload;if(r!=null){var i=n.type,l=hk(n);K0.set(i,{handler:r,reactEvent:l});var o=fh.get(i);o!==void 0&&(cancelAnimationFrame(o),fh.delete(i));var c=t.getState(),{throttleDelay:f,throttledEvents:d}=c.eventSettings,p=d,v=p==="all"||(p==null?void 0:p.includes(i)),y=gc.get(i);y!==void 0&&(typeof f!="number"||!v)&&(clearTimeout(y),gc.delete(i));var x=()=>{var O=K0.get(i);try{if(!O)return;var{handler:N,reactEvent:P}=O,E=t.getState(),A={activeCoordinate:eQ(E),activeDataKey:WD(E),activeIndex:ll(E),activeLabel:ZD(E),activeTooltipIndex:ll(E),isTooltipActive:tQ(E)};N&&N(A,P)}finally{fh.delete(i),gc.delete(i),K0.delete(i)}};if(!v){x();return}if(f==="raf"){var S=requestAnimationFrame(x);fh.set(i,S)}else if(typeof f=="number"){if(!gc.has(i)){x();var j=setTimeout(x,f);gc.set(i,j)}}else x()}}});var Gte=V([ou],e=>e.tooltipItemPayloads),Yte=V([Gte,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(l=>l.settings.graphicalItemId===r);if(n!=null){var{getPosition:i}=n;if(i!=null)return i(t)}}}),pk=rn("touchMove"),vk=cf(),Es=null,Pi=null,hC=null,xc=null;vk.startListening({actionCreator:pk,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){xc=hk(r);var n=t.getState(),{throttleDelay:i,throttledEvents:l}=n.eventSettings,o=l==="all"||l.includes("touchmove");Es!==null&&(cancelAnimationFrame(Es),Es=null),Pi!==null&&(typeof i!="number"||!o)&&(clearTimeout(Pi),Pi=null),hC=Array.from(r.touches).map(f=>Aj({clientX:f.clientX,clientY:f.clientY,currentTarget:r.currentTarget}));var c=()=>{if(xc!=null){var f=t.getState(),d=wf(f,f.tooltip.settings.shared);if(d==="axis"){var p,v=(p=hC)===null||p===void 0?void 0:p[0];if(v==null){Es=null,Pi=null;return}var y=Ej(f,v);(y==null?void 0:y.activeIndex)!=null&&t.dispatch(zD({activeIndex:y.activeIndex,activeDataKey:void 0,activeCoordinate:y.activeCoordinate}))}else if(d==="item"){var x,S=xc.touches[0];if(document.elementFromPoint==null||S==null)return;var j=document.elementFromPoint(S.clientX,S.clientY);if(!j||!j.getAttribute)return;var O=j.getAttribute(r9),N=(x=j.getAttribute(n9))!==null&&x!==void 0?x:void 0,P=pl(f).find(T=>T.id===N);if(O==null||P==null||N==null)return;var{dataKey:E}=P,A=Yte(f,O,N);t.dispatch(ID({activeDataKey:E,activeIndex:O,activeCoordinate:A,activeGraphicalItemId:N}))}Es=null,Pi=null}};if(!o){c();return}i==="raf"?Es=requestAnimationFrame(c):typeof i=="number"&&Pi===null&&(c(),xc=null,Pi=setTimeout(()=>{xc?c():(Pi=null,Es=null)},i))}}});var yk={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},gk=vr({name:"eventSettings",initialState:yk,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=t.payload.throttledEvents)}}}),{setEventSettings:Vte}=gk.actions,Qte=gk.reducer,Xte=qM({brush:BW,cartesianAxis:SW,chartData:JQ,errorBars:$J,eventSettings:Qte,graphicalItems:JZ,layout:zq,legend:X9,options:VQ,polarAxis:SZ,polarOptions:Kte,referenceElements:FW,renderedTicks:lJ,rootProps:Ute,tooltip:cV,zIndex:IQ}),Zte=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return uq({reducer:Xte,preloadedState:t,middleware:n=>{var i;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((i="es6")!==null&&i!==void 0?i:"")}).concat([sk.middleware,lk.middleware,Pp.middleware,mk.middleware,vk.middleware])},enhancers:n=>{var i=n;return typeof n=="function"&&(i=n()),i.concat(nR({type:"raf"}))},devTools:{serialize:{replacer:Bte},name:"recharts-".concat(r)}})};function Wte(e){var{preloadedState:t,children:r,reduxStoreName:n}=e,i=yr(),l=w.useRef(null);if(i)return r;l.current==null&&(l.current=Zte(t,n));var o=rS;return w.createElement(dH,{context:o,store:l.current},r)}function Jte(e){var{layout:t,margin:r}=e,n=ct(),i=yr();return w.useEffect(()=>{i||(n(kq(t)),n(Dq(r)))},[n,i,t,r]),null}var ere=w.memo(Jte,eu);function tre(e){var t=ct();return w.useEffect(()=>{t(qte(e))},[t,e]),null}var rre=e=>{var t=ct();return w.useEffect(()=>{t(Vte(e))},[t,e]),null},nre=w.memo(rre,eu);function mC(e){var{zIndex:t,isPanorama:r}=e,n=w.useRef(null),i=ct();return w.useLayoutEffect(()=>(n.current&&i(DQ({zIndex:t,element:n.current,isPanorama:r})),()=>{i(kQ({zIndex:t,isPanorama:r}))}),[i,t,r]),w.createElement("g",{tabIndex:-1,ref:n,className:"recharts-zIndex-layer_".concat(t)})}function pC(e){var{children:t,isPanorama:r}=e,n=ge(NQ);if(!n||n.length===0)return t;var i=n.filter(o=>o<0),l=n.filter(o=>o>0);return w.createElement(w.Fragment,null,i.map(o=>w.createElement(mC,{key:o,zIndex:o,isPanorama:r})),t,l.map(o=>w.createElement(mC,{key:o,zIndex:o,isPanorama:r})))}var are=["children"];function ire(e,t){if(e==null)return{};var r,n,i=sre(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function sre(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function _m(){return _m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_m.apply(null,arguments)}var lre={width:"100%",height:"100%",display:"block"},ore=w.forwardRef((e,t)=>{var r=hS(),n=mS(),i=kR();if(!ia(r)||!ia(n))return null;var{children:l,otherAttributes:o,title:c,desc:f}=e,d,p;return o!=null&&(typeof o.tabIndex=="number"?d=o.tabIndex:d=i?0:void 0,typeof o.role=="string"?p=o.role:p=i?"application":void 0),w.createElement(Gb,_m({},o,{title:c,desc:f,role:p,tabIndex:d,width:r,height:n,style:lre,ref:t}),l)}),ure=e=>{var{children:t}=e,r=ge(tp);if(!r)return null;var{width:n,height:i,y:l,x:o}=r;return w.createElement(Gb,{width:n,height:i,x:o,y:l},t)},vC=w.forwardRef((e,t)=>{var{children:r}=e,n=ire(e,are),i=yr();return i?w.createElement(ure,null,w.createElement(pC,{isPanorama:!0},r)):w.createElement(ore,_m({ref:t},n),w.createElement(pC,{isPanorama:!1},r))});function cre(){var e=ct(),[t,r]=w.useState(null),n=ge(t9);return w.useEffect(()=>{if(t!=null){var i=t.getBoundingClientRect(),l=i.width/t.offsetWidth;Be(l)&&l!==n&&e(Lq(l))}},[t,e,n]),r}function yC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function fre(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?yC(Object(r),!0).forEach(function(n){dre(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):yC(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function dre(e,t,r){return(t=hre(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function hre(e){var t=mre(e,"string");return typeof t=="symbol"?t:t+""}function mre(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Wi(){return Wi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Wi.apply(null,arguments)}var pre=()=>(oX(),null);function Em(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var vre=w.forwardRef((e,t)=>{var r,n,i=w.useRef(null),[l,o]=w.useState({containerWidth:Em((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:Em((n=e.style)===null||n===void 0?void 0:n.height)}),c=w.useCallback((d,p)=>{o(v=>{var y=Math.round(d),x=Math.round(p);return v.containerWidth===y&&v.containerHeight===x?v:{containerWidth:y,containerHeight:x}})},[]),f=w.useCallback(d=>{if(typeof t=="function"&&t(d),i.current!=null&&(i.current.disconnect(),i.current=null),d!=null&&typeof ResizeObserver<"u"){var{width:p,height:v}=d.getBoundingClientRect();c(p,v);var y=S=>{var j=S[0];if(j!=null){var{width:O,height:N}=j.contentRect;c(O,N)}},x=new ResizeObserver(y);x.observe(d),i.current=x}},[t,c]);return w.useEffect(()=>()=>{var d=i.current;d!=null&&d.disconnect()},[c]),w.createElement(w.Fragment,null,w.createElement(df,{width:l.containerWidth,height:l.containerHeight}),w.createElement("div",Wi({ref:f},e)))}),yre=w.forwardRef((e,t)=>{var{width:r,height:n}=e,[i,l]=w.useState({containerWidth:Em(r),containerHeight:Em(n)}),o=w.useCallback((f,d)=>{l(p=>{var v=Math.round(f),y=Math.round(d);return p.containerWidth===v&&p.containerHeight===y?p:{containerWidth:v,containerHeight:y}})},[]),c=w.useCallback(f=>{if(typeof t=="function"&&t(f),f!=null){var{width:d,height:p}=f.getBoundingClientRect();o(d,p)}},[t,o]);return w.createElement(w.Fragment,null,w.createElement(df,{width:i.containerWidth,height:i.containerHeight}),w.createElement("div",Wi({ref:c},e)))}),gre=w.forwardRef((e,t)=>{var{width:r,height:n}=e;return w.createElement(w.Fragment,null,w.createElement(df,{width:r,height:n}),w.createElement("div",Wi({ref:t},e)))}),xre=w.forwardRef((e,t)=>{var{width:r,height:n}=e;return typeof r=="string"||typeof n=="string"?w.createElement(yre,Wi({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?w.createElement(gre,Wi({},e,{width:r,height:n,ref:t})):w.createElement(w.Fragment,null,w.createElement(df,{width:r,height:n}),w.createElement("div",Wi({ref:t},e)))});function bre(e){return e?vre:xre}var Sre=w.forwardRef((e,t)=>{var{children:r,className:n,height:i,onClick:l,onContextMenu:o,onDoubleClick:c,onMouseDown:f,onMouseEnter:d,onMouseLeave:p,onMouseMove:v,onMouseUp:y,onTouchEnd:x,onTouchMove:S,onTouchStart:j,style:O,width:N,responsive:P,dispatchTouchEvents:E=!0}=e,A=w.useRef(null),T=ct(),[M,R]=w.useState(null),[I,z]=w.useState(null),D=cre(),H=cS(),q=(H==null?void 0:H.width)>0?H.width:N,ae=(H==null?void 0:H.height)>0?H.height:i,Q=w.useCallback(te=>{D(te),typeof t=="function"&&t(te),R(te),z(te),te!=null&&(A.current=te)},[D,t,R,z]),Z=w.useCallback(te=>{T(ik(te)),T(yn({handler:l,reactEvent:te}))},[T,l]),B=w.useCallback(te=>{T(mb(te)),T(yn({handler:d,reactEvent:te}))},[T,d]),K=w.useCallback(te=>{T(LD()),T(yn({handler:p,reactEvent:te}))},[T,p]),ee=w.useCallback(te=>{T(mb(te)),T(yn({handler:v,reactEvent:te}))},[T,v]),se=w.useCallback(()=>{T(fk())},[T]),ue=w.useCallback(()=>{T(dk())},[T]),k=w.useCallback(te=>{T(ck(te.key))},[T]),W=w.useCallback(te=>{T(yn({handler:o,reactEvent:te}))},[T,o]),oe=w.useCallback(te=>{T(yn({handler:c,reactEvent:te}))},[T,c]),le=w.useCallback(te=>{T(yn({handler:f,reactEvent:te}))},[T,f]),ve=w.useCallback(te=>{T(yn({handler:y,reactEvent:te}))},[T,y]),we=w.useCallback(te=>{T(yn({handler:j,reactEvent:te}))},[T,j]),Oe=w.useCallback(te=>{E&&T(pk(te)),T(yn({handler:S,reactEvent:te}))},[T,E,S]),Ce=w.useCallback(te=>{T(yn({handler:x,reactEvent:te}))},[T,x]),fe=bre(P);return w.createElement(i3.Provider,{value:M},w.createElement(nM.Provider,{value:I},w.createElement(fe,{width:q??(O==null?void 0:O.width),height:ae??(O==null?void 0:O.height),className:Xe("recharts-wrapper",n),style:fre({position:"relative",cursor:"default",width:q,height:ae},O),onClick:Z,onContextMenu:W,onDoubleClick:oe,onFocus:se,onBlur:ue,onKeyDown:k,onMouseDown:le,onMouseEnter:B,onMouseLeave:K,onMouseMove:ee,onMouseUp:ve,onTouchEnd:Ce,onTouchMove:Oe,onTouchStart:we,ref:Q},w.createElement(pre,null),r)))}),jre=["width","height","responsive","children","className","style","compact","title","desc"];function wre(e,t){if(e==null)return{};var r,n,i=Ore(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function Ore(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var Nre=w.forwardRef((e,t)=>{var{width:r,height:n,responsive:i,children:l,className:o,style:c,compact:f,title:d,desc:p}=e,v=wre(e,jre),y=kn(v);return f?w.createElement(w.Fragment,null,w.createElement(df,{width:r,height:n}),w.createElement(vC,{otherAttributes:y,title:d,desc:p},l)):w.createElement(Sre,{className:o,style:c,width:r,height:n,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},w.createElement(vC,{otherAttributes:y,title:d,desc:p,ref:t},w.createElement(GW,null,l)))});function pb(){return pb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},pb.apply(null,arguments)}function gC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function _re(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?gC(Object(r),!0).forEach(function(n){Ere(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):gC(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ere(e,t,r){return(t=Are(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Are(e){var t=Pre(e,"string");return typeof t=="symbol"?t:t+""}function Pre(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Tre={top:5,right:5,bottom:5,left:5},Cre=_re({accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,layout:"horizontal",margin:Tre,responsive:!1,reverseStackOrder:!1,stackOffset:"none",syncMethod:"index"},yk),xk=w.forwardRef(function(t,r){var n,i=lr(t.categoricalChartProps,Cre),{chartName:l,defaultTooltipEventType:o,validateTooltipEventTypes:c,tooltipPayloadSearcher:f,categoricalChartProps:d}=t,p={chartName:l,defaultTooltipEventType:o,validateTooltipEventTypes:c,tooltipPayloadSearcher:f,eventEmitter:void 0};return w.createElement(Wte,{preloadedState:{options:p},reduxStoreName:(n=d.id)!==null&&n!==void 0?n:l},w.createElement($W,{chartData:d.data}),w.createElement(ere,{layout:i.layout,margin:i.margin}),w.createElement(nre,{throttleDelay:i.throttleDelay,throttledEvents:i.throttledEvents}),w.createElement(tre,{baseValue:i.baseValue,accessibilityLayer:i.accessibilityLayer,barCategoryGap:i.barCategoryGap,maxBarSize:i.maxBarSize,stackOffset:i.stackOffset,barGap:i.barGap,barSize:i.barSize,syncId:i.syncId,syncMethod:i.syncMethod,className:i.className,reverseStackOrder:i.reverseStackOrder}),w.createElement(Nre,pb({},i,{ref:r})))}),Mre=["axis"],Rre=w.forwardRef((e,t)=>w.createElement(xk,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Mre,tooltipPayloadSearcher:s3,categoricalChartProps:e,ref:t})),Dre=["axis","item"],bk=w.forwardRef((e,t)=>w.createElement(xk,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Dre,tooltipPayloadSearcher:s3,categoricalChartProps:e,ref:t}));const Di="",vb=[{value:"all",label:"All time"},{value:"24h",label:"Last 24h",windowMs:1440*60*1e3},{value:"7d",label:"Last 7d",windowMs:10080*60*1e3},{value:"30d",label:"Last 30d",windowMs:720*60*60*1e3}],G0=10;function kre(e,t,r=new Date){const n=Ire(e),i=zre(e,n),l=$re(n.flatMap(v=>v.category??[])),o=l.length>0,c=n.some(v=>v.startedAtMs!==void 0),f=vb.find(v=>v.value===t.timePeriod)??vb[0],d=f.windowMs===void 0?void 0:r.getTime()-f.windowMs,p=n.filter(v=>t.experiment&&v.experiment!==t.experiment||t.category&&v.category!==t.category?!1:d!==void 0?v.startedAtMs!==void 0&&v.startedAtMs>=d:!0);return{buckets:Bre(p.map(v=>v.score)),experimentOptions:i,categoryOptions:l,totalScores:n.length,filteredScores:p.length,categoryAvailable:o,hasTimestampedScores:c}}function Ire(e){return e.runs&&e.runs.length>0?e.runs.flatMap(t=>Lre(t)):e.cells.flatMap(t=>t.tests.flatMap(r=>{const n=Sk(r,t.experiment);return n?[n]:[]}))}function Lre(e){const t=qre(e.started_at);return e.tests.flatMap(r=>{const n=Sk(r,e.experiment);return n?[{...n,startedAtMs:t}]:[]})}function Sk(e,t){if(!Number.isFinite(e.score))return;const r=Ure(e.category);return{score:e.score,experiment:t,...r&&{category:r}}}function zre(e,t){const r=new Map,n=new Set(e.experiments);for(const i of e.cells)n.add(i.experiment);for(const i of t)n.add(i.experiment),r.set(i.experiment,(r.get(i.experiment)??0)+1);return[...n].sort((i,l)=>i.localeCompare(l)).map(i=>({value:i,label:i,count:r.get(i)??0}))}function $re(e){const t=new Map;for(const r of e)t.set(r,(t.get(r)??0)+1);return[...t.entries()].sort(([r],[n])=>r.localeCompare(n)).map(([r,n])=>({value:r,label:r,count:n}))}function Bre(e){if(e.length===0)return[];const t=Array.from({length:G0},(r,n)=>({range:`${n*10}-${(n+1)*10}%`,count:0}));for(const r of e){const n=Math.max(0,Math.min(r,1)),i=Math.min(Math.floor(n*G0),G0-1);t[i].count++}return t}function Ure(e){const t=e==null?void 0:e.trim();return t||void 0}function qre(e){const t=Date.parse(e);return Number.isFinite(t)?t:void 0}const Ot={green:"#34d399",red:"#f87171",gray:"#4b5563",cyan:"#22d3ee",gridLine:"#1f2937",labelText:"#9ca3af"},xC=["#22d3ee","#34d399","#facc15","#f87171","#a78bfa","#fb923c","#f472b6","#60a5fa"];function Hre(e){return xC[e%xC.length]}function Fre({data:e,projectId:t}){const[r,n]=w.useState(!0),[i,l]=w.useState(""),o=e.targets,c=Ke(t?K2(t,i||void 0):b8(i||void 0)),f=i?c.data:void 0,d=w.useMemo(()=>Zre(e.runs??[]),[e.runs]);return m.jsxs("div",{className:"rounded-lg border border-gray-800",children:[m.jsxs("button",{type:"button",onClick:()=>n(p=>!p),className:"flex w-full items-center justify-between px-4 py-3 text-left transition-colors hover:bg-gray-900/30",children:[m.jsx("span",{className:"text-sm font-medium text-gray-300",children:"Analytics"}),m.jsx("span",{className:"text-xs text-gray-500",children:r?"▸ Show":"▾ Hide"})]}),!r&&m.jsxs("div",{className:"space-y-6 border-t border-gray-800 px-4 py-4",children:[m.jsxs("div",{className:"flex items-center gap-3",children:[m.jsx("label",{htmlFor:"baseline-select",className:"text-xs font-medium uppercase tracking-wider text-gray-500",children:"Baseline target"}),m.jsxs("select",{id:"baseline-select",value:i,onChange:p=>l(p.target.value),className:"rounded-md border border-gray-700 bg-gray-950 px-3 py-1.5 text-sm text-gray-100 focus:border-cyan-500 focus:outline-none focus:ring-1 focus:ring-cyan-500",children:[m.jsx("option",{value:"",children:"Select a baseline…"}),o.map(p=>m.jsx("option",{value:p,children:p},p))]}),i&&c.isLoading&&m.jsx("span",{className:"text-xs text-gray-500",children:"Loading…"})]}),i&&f&&m.jsx(Kre,{data:f,baseline:i}),e.runs&&e.runs.length>0&&o.length>1&&m.jsx(Gre,{runs:e.runs,targets:o}),i&&f&&m.jsx(Yre,{data:f,baseline:i}),m.jsx(Vre,{data:e}),d.length>1&&o.length>0&&m.jsx(Wre,{data:d,targets:o}),!i&&m.jsx("p",{className:"text-xs text-gray-500",children:"Select a baseline target above to see gain and delta charts."})]})]})}function Pj({active:e,payload:t,label:r}){return!e||!(t!=null&&t.length)?null:m.jsxs("div",{className:"rounded-md border border-gray-700 bg-gray-900 px-3 py-2 text-xs shadow-xl",children:[r&&m.jsx("div",{className:"mb-1 font-medium text-gray-300",children:r}),t.map((n,i)=>m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("span",{className:"h-2 w-2 rounded-full",style:{backgroundColor:n.color}}),m.jsxs("span",{className:"text-gray-400",children:[n.name,":"]}),m.jsx("span",{className:"tabular-nums text-gray-200",children:typeof n.value=="number"?n.value.toFixed(3):n.value})]},`${n.name}-${i}`))]})}function Qo({title:e,children:t}){return m.jsxs("div",{className:"space-y-3",children:[m.jsx("h3",{className:"text-sm font-medium text-gray-400",children:e}),t]})}function Kre({data:e,baseline:t}){const r=w.useMemo(()=>{const i=[];for(const l of e.cells)l.target!==t&&l.delta!==void 0&&i.push({experiment:l.experiment,target:l.target,g:l.normalized_gain??null,delta:l.delta});return i.sort((l,o)=>Math.abs(o.g??0)-Math.abs(l.g??0)),i},[e.cells,t]);if(r.length===0)return m.jsx(Qo,{title:"Normalized Gain (g)",children:m.jsx("p",{className:"text-xs text-gray-500",children:"No gain data available. Ensure multiple targets exist."})});const n=r.map(i=>({name:`${i.target} · ${i.experiment}`,g:i.g??0,isNull:i.g===null}));return m.jsx(Qo,{title:"Normalized Gain (g)",children:m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900/30 p-3",children:m.jsx(fS,{width:"100%",height:Math.max(200,n.length*32),children:m.jsxs(bk,{data:n,layout:"vertical",margin:{left:120,right:20,top:5,bottom:5},children:[m.jsx(_p,{strokeDasharray:"3 3",stroke:Ot.gridLine,horizontal:!1}),m.jsx(Ep,{type:"number",tick:{fill:Ot.labelText,fontSize:11},axisLine:{stroke:Ot.gridLine}}),m.jsx(Ap,{type:"category",dataKey:"name",tick:{fill:Ot.labelText,fontSize:11},width:120,axisLine:{stroke:Ot.gridLine}}),m.jsx(vj,{content:m.jsx(Pj,{})}),m.jsx(_j,{dataKey:"g",name:"Normalized Gain",children:n.map(i=>m.jsx(yj,{fill:i.isNull?Ot.gray:i.g>0?Ot.green:i.g<0?Ot.red:Ot.gray},i.name))})]})})})})}function Gre({runs:e,targets:t}){const{tags:r,grid:n}=w.useMemo(()=>{const i=new Map;for(const c of e)for(const f of c.tags??[]){let d=i.get(f);d||(d=new Map,i.set(f,d));let p=d.get(c.target);p||(p={passed:0,total:0},d.set(c.target,p)),p.passed+=c.passed_count,p.total+=c.eval_count}const l=[...i.keys()].sort(),o=l.map(c=>{const f={tag:c},d=i.get(c);if(!d)return f;for(const p of t){const v=d.get(p);f[p]=v&&v.total>0?v.passed/v.total:-1}return f});return{tags:l,grid:o}},[e,t]);return r.length===0?null:m.jsx(Qo,{title:"Pass Rate by Tag × Target",children:m.jsx("div",{className:"overflow-x-auto rounded-lg border border-gray-800",children:m.jsxs("table",{className:"w-full text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Tag"}),t.map(i=>m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:i},i))]})}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:n.map(i=>m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[m.jsx("td",{className:"px-4 py-3 font-medium text-gray-200",children:i.tag}),t.map(l=>{const o=i[l];if(o<0)return m.jsx("td",{className:"px-4 py-3 text-center text-gray-600",children:"—"},l);const c=Math.round(o*100),f=o>=.8?"bg-emerald-400/20 text-emerald-400":o>=.5?"bg-yellow-400/20 text-yellow-400":"bg-red-400/20 text-red-400";return m.jsx("td",{className:"px-4 py-3",children:m.jsxs("span",{className:`inline-block rounded px-2 py-0.5 text-xs tabular-nums font-medium ${f}`,children:[c,"%"]})},l)})]},i.tag))})]})})})}function Yre({data:e,baseline:t}){const r=w.useMemo(()=>e.cells.filter(n=>n.target!==t&&n.delta!==void 0&&n.delta<0).sort((n,i)=>(n.delta??0)-(i.delta??0)),[e.cells,t]);return r.length===0?null:m.jsx(Qo,{title:"Regressions vs. Baseline",children:m.jsx("div",{className:"overflow-x-auto rounded-lg border border-gray-800",children:m.jsxs("table",{className:"w-full text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Experiment"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Target"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Avg Score"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Delta"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"g"})]})}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:r.map(n=>{var i;return m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[m.jsx("td",{className:"px-4 py-3 font-medium text-gray-200",children:n.experiment}),m.jsx("td",{className:"px-4 py-3 text-gray-300",children:n.target}),m.jsxs("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:[Math.round(n.avg_score*100),"%"]}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-red-400",children:(i=n.delta)==null?void 0:i.toFixed(3)}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-red-400",children:n.normalized_gain!==void 0&&n.normalized_gain!==null?n.normalized_gain.toFixed(3):"—"})]},`${n.experiment}::${n.target}`)})})]})})})}const bC={experiment:Di,category:Di,timePeriod:"all"};function Vre({data:e}){const[t,r]=w.useState(bC),n=w.useMemo(()=>kre(e,t),[e,t]);w.useEffect(()=>{r(d=>{const p=!d.experiment||n.experimentOptions.some(x=>x.value===d.experiment),v=!d.category||n.categoryOptions.some(x=>x.value===d.category),y=d.timePeriod==="all"||n.hasTimestampedScores;return p&&v&&y?d:{experiment:p?d.experiment:Di,category:v?d.category:Di,timePeriod:y?d.timePeriod:"all"}})},[n.experimentOptions,n.categoryOptions,n.hasTimestampedScores]);const i=(d,p)=>{r(v=>({...v,[d]:p}))},l=()=>r(bC),o=t.experiment!==Di||t.category!==Di||t.timePeriod!=="all",c=n.totalScores>0,f=Xre(n,t);return m.jsx(Qo,{title:"Score Distribution",children:m.jsxs("div",{className:"space-y-3",children:[m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900/30 px-3 py-3",children:[m.jsxs("div",{className:"grid gap-3 sm:grid-cols-3",children:[m.jsxs(Y0,{id:"score-distribution-experiment",label:"Experiment",value:t.experiment,onChange:d=>i("experiment",d),disabled:n.experimentOptions.length===0,children:[m.jsx("option",{value:Di,children:"All experiments"}),n.experimentOptions.map(d=>m.jsxs("option",{value:d.value,children:[d.label," (",d.count,")"]},d.value))]}),m.jsxs(Y0,{id:"score-distribution-category",label:"Category",value:t.category,onChange:d=>i("category",d),disabled:!n.categoryAvailable,help:n.categoryAvailable||!c?void 0:"Category metadata is not present in these compare results.",children:[m.jsx("option",{value:Di,children:"All categories"}),n.categoryOptions.map(d=>m.jsxs("option",{value:d.value,children:[d.label," (",d.count,")"]},d.value))]}),m.jsx(Y0,{id:"score-distribution-time",label:"Time period",value:t.timePeriod,onChange:d=>i("timePeriod",d),disabled:!n.hasTimestampedScores,help:n.hasTimestampedScores||!c?void 0:"Recent windows need run timestamps from compare data.",children:vb.map(d=>m.jsx("option",{value:d.value,children:d.label},d.value))})]}),m.jsxs("div",{className:"mt-3 flex flex-wrap items-center justify-between gap-2 border-t border-gray-800/70 pt-3 text-xs",children:[m.jsxs("span",{className:"tabular-nums text-gray-400",children:["Showing ",m.jsx("span",{className:"text-gray-200",children:n.filteredScores})," of"," ",m.jsx("span",{className:"text-gray-200",children:n.totalScores})," scores"]}),o&&m.jsx("button",{type:"button",onClick:l,className:"text-gray-500 underline-offset-2 transition-colors hover:text-gray-300 hover:underline",children:"Clear filters"})]})]}),n.buckets.length>0?m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900/30 p-3",children:m.jsx(fS,{width:"100%",height:200,children:m.jsxs(bk,{data:n.buckets,margin:{left:10,right:10,top:5,bottom:5},children:[m.jsx(_p,{strokeDasharray:"3 3",stroke:Ot.gridLine,vertical:!1}),m.jsx(Ep,{dataKey:"range",tick:{fill:Ot.labelText,fontSize:11},axisLine:{stroke:Ot.gridLine}}),m.jsx(Ap,{tick:{fill:Ot.labelText,fontSize:11},axisLine:{stroke:Ot.gridLine}}),m.jsx(vj,{content:m.jsx(Pj,{})}),m.jsx(_j,{dataKey:"count",name:"Tests",fill:Ot.cyan,radius:[2,2,0,0]})]})})}):m.jsx(Qre,{message:f})]})})}function Y0({id:e,label:t,value:r,onChange:n,disabled:i,help:l,children:o}){return m.jsxs("div",{className:"min-w-0 space-y-1",children:[m.jsx("label",{htmlFor:e,className:"block text-xs font-medium uppercase tracking-wider text-gray-500",children:t}),m.jsx("select",{id:e,value:r,disabled:i,onChange:c=>n(c.target.value),className:"w-full rounded-md border border-gray-700 bg-gray-950 px-3 py-1.5 text-sm text-gray-100 transition-colors focus:border-cyan-500 focus:outline-none focus:ring-1 focus:ring-cyan-500 disabled:cursor-not-allowed disabled:border-gray-800 disabled:text-gray-600",children:o}),l&&m.jsx("p",{className:"text-xs leading-5 text-gray-500",children:l})]})}function Qre({message:e}){return m.jsx("div",{className:"rounded-lg border border-dashed border-gray-800 bg-gray-900/20 px-4 py-8 text-center",children:m.jsx("p",{className:"text-sm text-gray-400",children:e})})}function Xre(e,t){return e.totalScores===0?"No test scores are available in this comparison yet.":t.category&&!e.categoryAvailable?"Category metadata is not available in these compare results.":"No scores match the selected distribution filters."}function Zre(e){if(e.length===0)return[];const t=new Map;for(const n of e){const i=n.started_at.slice(0,10);let l=t.get(i);l||(l=new Map,t.set(i,l));let o=l.get(n.target);o||(o={scoreSum:0,count:0},l.set(n.target,o)),o.scoreSum+=n.avg_score,o.count++}return[...t.keys()].sort().map(n=>{const i={date:n},l=t.get(n);if(!l)return i;for(const[o,c]of l)i[o]=Math.round(c.scoreSum/c.count*1e3)/1e3;return i})}function Wre({data:e,targets:t}){return m.jsx(Qo,{title:"Score Trend Over Time",children:m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900/30 p-3",children:m.jsx(fS,{width:"100%",height:250,children:m.jsxs(Rre,{data:e,margin:{left:10,right:20,top:5,bottom:5},children:[m.jsx(_p,{strokeDasharray:"3 3",stroke:Ot.gridLine}),m.jsx(Ep,{dataKey:"date",tick:{fill:Ot.labelText,fontSize:11},axisLine:{stroke:Ot.gridLine}}),m.jsx(Ap,{domain:[0,1],tick:{fill:Ot.labelText,fontSize:11},axisLine:{stroke:Ot.gridLine}}),m.jsx(vj,{content:m.jsx(Pj,{})}),m.jsx(RR,{wrapperStyle:{fontSize:12,color:Ot.labelText}}),t.map((r,n)=>m.jsx(J3,{type:"monotone",dataKey:r,stroke:Hre(n),strokeWidth:2,dot:{r:3},connectNulls:!0},r))]})})})})}function en({rate:e}){const t=Math.round(e*100);return m.jsxs("div",{className:"relative h-5 w-20 overflow-hidden rounded-full bg-gray-800",children:[m.jsx("div",{className:"absolute inset-y-0 left-0 bg-gradient-to-r from-blue-400 to-blue-600",style:{width:`${t}%`}}),m.jsxs("span",{className:"absolute inset-0 flex items-center justify-center text-xs font-semibold tabular-nums text-white",children:[t,"%"]})]})}function jk({data:e,isLoading:t,isError:r,error:n,projectId:i,readOnly:l}){var P,E;const[o,c]=w.useState("aggregated"),[f,d]=w.useState([]),{allTags:p,tagCounts:v}=w.useMemo(()=>{const A=new Map;for(const T of(e==null?void 0:e.runs)??[])for(const M of T.tags??[])A.set(M,(A.get(M)??0)+1);return{allTags:[...A.keys()].sort(),tagCounts:A}},[e==null?void 0:e.runs]),y=w.useMemo(()=>{if(!e||f.length===0)return e;const A=new Set(f),T=(e.runs??[]).filter(D=>(D.tags??[]).some(H=>A.has(H))),M=new Map,R=new Set,I=new Set;for(const D of T){R.add(D.experiment),I.add(D.target);const H=`${D.experiment}::${D.target}`,q=M.get(H)??{experiment:D.experiment,target:D.target,eval_count:0,quality_count:0,passed_count:0,execution_error_count:0,score_sum:0,tests:[]},ae=zo(D);q.eval_count+=D.eval_count,q.quality_count+=ae,q.passed_count+=D.passed_count,q.execution_error_count+=Gt(D),q.score_sum+=D.avg_score*ae;for(const Q of D.tests)q.tests.push(Q);M.set(H,q)}const z=[...M.values()].map(D=>{const H=new Map;for(const q of D.tests)H.set(q.test_id,q);return{experiment:D.experiment,target:D.target,eval_count:D.eval_count,quality_count:D.quality_count,passed_count:D.passed_count,execution_error_count:D.execution_error_count,pass_rate:D.quality_count>0?D.passed_count/D.quality_count:0,avg_score:D.quality_count>0?D.score_sum/D.quality_count:0,tests:[...H.values()].slice(-100)}});return{...e,experiments:[...R].sort(),targets:[...I].sort(),cells:z,runs:T}},[e,f]),x=A=>{d(T=>T.includes(A)?T.filter(M=>M!==A):[...T,A])},S=()=>d([]),j=((P=y==null?void 0:y.runs)==null?void 0:P.length)??0,O=e&&e.cells.length>0,N=f.length>0&&y&&(((E=y.runs)==null?void 0:E.length)??0)===0;return m.jsxs("div",{className:"space-y-4",children:[m.jsx(ene,{mode:o,onModeChange:c,runsCount:j}),t&&m.jsx(pne,{}),!t&&r&&n&&m.jsx(hne,{message:`Failed to load comparison data: ${n.message}`}),!t&&!r&&!O&&m.jsx(mne,{}),!t&&!r&&O&&m.jsxs(m.Fragment,{children:[p.length>0&&m.jsx(Jre,{allTags:p,tagCounts:v,selected:f,onToggle:x,onClear:S}),N?m.jsx(Tp,{headline:`No runs match ${f.map(A=>`\`${A}\``).join(" + ")}`,body:"Clear the filter or pick a different tag combination.",action:{label:"Clear filter",onClick:S}}):y&&m.jsxs(m.Fragment,{children:[o==="aggregated"&&m.jsx(rne,{data:y,projectId:i}),o==="per-run"&&m.jsx(lne,{data:y,projectId:i,readOnly:l??!1})]})]})]})}function Jre({allTags:e,tagCounts:t,selected:r,onToggle:n,onClear:i}){const l=new Set(r),o=r.length>0;return m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900/40 px-4 py-3",children:[m.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[m.jsx("span",{className:"text-xs font-medium uppercase tracking-wider text-gray-500",children:"Filter by tag"}),e.map(c=>{const f=l.has(c),d=t.get(c)??0;return m.jsxs("button",{type:"button",onClick:()=>n(c),"aria-pressed":f,className:`inline-flex items-center gap-1.5 rounded-md border px-2 py-0.5 text-xs font-medium transition-colors ${f?"border-cyan-900/60 bg-cyan-950/30 text-cyan-300 hover:border-cyan-800/80":"border-gray-700 text-gray-400 hover:border-gray-600 hover:text-gray-200"}`,children:[m.jsx("span",{children:c}),m.jsx("span",{className:`rounded px-1 text-[0.65rem] tabular-nums ${f?"bg-cyan-900/50 text-cyan-200":"bg-gray-800 text-gray-500"}`,children:d})]},c)}),o&&m.jsx("button",{type:"button",onClick:i,className:"ml-1 text-xs text-gray-500 underline-offset-2 transition-colors hover:text-gray-300 hover:underline",children:"Clear"})]}),m.jsxs("p",{className:"mt-2 text-xs text-gray-500",children:["Showing runs with ",m.jsx("span",{className:"text-gray-400",children:"any"})," selected tag."]})]})}function ene({mode:e,onModeChange:t,runsCount:r}){return m.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[m.jsxs("div",{children:[m.jsx("h2",{className:"text-xl font-semibold text-white",children:"Analyze runs"}),m.jsx("p",{className:"mt-1 text-sm text-gray-400",children:"Study one experiment against another, or pit individual runs head-to-head."})]}),m.jsx(tne,{mode:e,onChange:t,runsCount:r})]})}function tne({mode:e,onChange:t,runsCount:r}){const n=r===0;return m.jsxs("div",{role:"tablist","aria-label":"Comparison view mode",className:"inline-flex items-center rounded-lg border border-gray-800 bg-gray-900/50 p-1",children:[m.jsx(SC,{active:e==="aggregated",onClick:()=>t("aggregated"),children:"Aggregated"}),m.jsxs(SC,{active:e==="per-run",onClick:()=>t("per-run"),disabled:n,title:n?"No runs available":void 0,children:["Per run",r>0&&m.jsx("span",{className:"ml-1.5 rounded bg-gray-800 px-1.5 py-0.5 text-xs tabular-nums text-gray-400",children:r})]})]})}function SC({active:e,onClick:t,disabled:r,title:n,children:i}){return m.jsx("button",{type:"button",role:"tab","aria-selected":e,onClick:t,disabled:r,title:n,className:`rounded-md px-3 py-1.5 text-sm font-medium transition-colors ${e?"bg-gray-800 text-cyan-400 shadow-sm":"text-gray-400 hover:text-gray-200 disabled:text-gray-600 disabled:hover:text-gray-600"}`,children:i})}function rne({data:e,projectId:t}){const{experiments:r,targets:n,cells:i}=e,l=w.useMemo(()=>{const o=new Map;for(const c of i)o.set(`${c.experiment}::${c.target}`,c);return o},[i]);return r.length<=1&&n.length<=1?m.jsx(Tp,{headline:"Not enough variation to compare",body:`The aggregated matrix requires at least 2 experiments or 2 targets. Currently ${r.length} experiment(s) and ${n.length} target(s).`}):m.jsxs("div",{className:"space-y-3",children:[m.jsx(dne,{}),m.jsx("div",{className:"overflow-x-auto rounded-lg border border-gray-800",children:m.jsxs("table",{className:"w-full text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:m.jsx("span",{className:"text-xs uppercase tracking-wider",children:"Target ↓ / Experiment →"})}),r.map(o=>m.jsx("th",{className:"px-4 py-3 font-medium text-gray-300",children:o},o))]})}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:n.map(o=>m.jsx(nne,{target:o,experiments:r,cellMap:l},o))})]})}),m.jsx(Fre,{data:e,projectId:t})]})}function nne({target:e,experiments:t,cellMap:r}){return m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[m.jsx("td",{className:"px-4 py-3 font-medium text-gray-200",children:e}),t.map(n=>{const i=r.get(`${n}::${e}`);return m.jsx("td",{className:"px-4 py-3",children:i?m.jsx(ane,{cell:i}):m.jsx(ine,{})},n)})]})}function ane({cell:e}){const[t,r]=w.useState(!1),n=Math.round(e.avg_score*100),i=zo(e),l=Gt(e);return m.jsxs("div",{className:"space-y-2",children:[m.jsxs("button",{type:"button",className:"group flex w-full flex-col gap-1 rounded-md border border-gray-800 bg-gray-900/40 px-3 py-2 text-left transition-colors hover:border-gray-700 hover:bg-gray-900/70",onClick:()=>r(o=>!o),"aria-expanded":t,children:[m.jsx(en,{rate:e.pass_rate}),m.jsxs("div",{className:"flex items-center gap-2 text-xs tabular-nums text-gray-500",children:[m.jsxs("span",{children:[m.jsx("span",{className:"text-emerald-400",children:e.passed_count}),m.jsx("span",{className:"text-gray-600",children:" / "}),m.jsx("span",{children:i})]}),m.jsx("span",{className:"text-gray-700",children:"·"}),m.jsxs("span",{children:["avg ",n,"%"]}),l>0&&m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"text-gray-700",children:"·"}),m.jsxs("span",{className:"text-amber-400",children:[l," errors"]})]})]})]}),t&&m.jsx(sne,{tests:e.tests})]})}function ine(){return m.jsx("div",{className:"text-center text-gray-600",children:"—"})}function sne({tests:e}){return m.jsxs("div",{className:"rounded-md border border-gray-800 bg-gray-950/60 px-3 py-2",children:[m.jsx("div",{className:"mb-1.5 text-xs font-medium uppercase tracking-wider text-gray-500",children:"Test cases"}),m.jsx("ul",{className:"space-y-1",children:e.map(t=>{const r=t.execution_status==="execution_error";return m.jsxs("li",{className:"flex items-center gap-2 text-xs",children:[m.jsx("span",{"aria-hidden":!0,className:`h-1.5 w-1.5 rounded-full ${r?"bg-amber-400":t.passed?"bg-emerald-400":"bg-red-400"}`}),m.jsx("span",{className:"flex-1 truncate text-gray-300",title:t.test_id,children:t.test_id}),m.jsx("span",{className:`tabular-nums ${r?"text-amber-400":t.passed?"text-emerald-400":"text-red-400"}`,children:r?"error":`${Math.round(t.score*100)}%`})]},t.test_id)})})]})}function lne({data:e,projectId:t,readOnly:r}){const n=e.runs??[],[i,l]=w.useState(new Set),[o,c]=w.useState(!1),[f,d]=w.useState(null),p=x=>{l(S=>{const j=new Set(S);return j.has(x)?j.delete(x):j.add(x),j})},v=()=>l(new Set),y=w.useMemo(()=>n.filter(x=>i.has(x.run_id)),[n,i]);return n.length===0?m.jsx(Tp,{headline:"No runs yet",body:"Run an evaluation to populate the per-run view."}):o&&y.length>=2?m.jsx(cne,{runs:y,onBack:()=>c(!1)}):m.jsxs("div",{className:"space-y-3",children:[m.jsx("div",{className:"flex items-center justify-between text-sm text-gray-400",children:m.jsxs("span",{children:[m.jsx("span",{className:"font-medium text-gray-300",children:n.length})," run",n.length===1?"":"s"," — select two or more to compare side-by-side"]})}),m.jsx("div",{className:"overflow-x-auto rounded-lg border border-gray-800",children:m.jsxs("table",{className:"w-full text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[m.jsx("th",{className:"w-10 px-3 py-3","aria-label":"Select"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Timestamp"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Tags"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Experiment"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Target"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Tests"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Pass Rate"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Avg"})]})}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:n.map(x=>m.jsx(one,{run:x,checked:i.has(x.run_id),onToggle:()=>p(x.run_id),editing:f===x.run_id,onStartEdit:()=>d(x.run_id),onEndEdit:()=>d(null),projectId:t,readOnly:r},x.run_id))})]})}),i.size>0&&m.jsxs("div",{role:"toolbar","aria-label":"Selection actions",className:"sticky bottom-4 z-10 flex items-center justify-between gap-3 rounded-lg border border-cyan-900/50 bg-gray-900/95 px-4 py-3 shadow-xl backdrop-blur",children:[m.jsxs("div",{className:"text-sm text-gray-300",children:[m.jsx("span",{className:"font-semibold tabular-nums text-cyan-400",children:i.size})," ","selected"]}),m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("button",{type:"button",onClick:v,className:"rounded-md px-3 py-1.5 text-sm text-gray-400 transition-colors hover:text-gray-200",children:"Clear"}),m.jsxs("button",{type:"button",disabled:i.size<2,onClick:()=>c(!0),className:"inline-flex items-center gap-1.5 rounded-md bg-cyan-500 px-3 py-1.5 text-sm font-medium text-gray-950 transition-colors hover:bg-cyan-400 disabled:cursor-not-allowed disabled:bg-gray-700 disabled:text-gray-500",children:["Compare ",i.size,m.jsx("span",{"aria-hidden":!0,children:"→"})]})]})]})]})}function one({run:e,checked:t,onToggle:r,editing:n,onStartEdit:i,onEndEdit:l,projectId:o,readOnly:c}){const f=Math.round(e.avg_score*100),d=zo(e),p=Gt(e),v=!c,y=w.useRef(null),x=e.tags??[],S=e.metadata_dirty===!0,j=x[0]??e.run_id,O=vne(e.run_id),N=x.length>0?"inline-flex flex-wrap items-center gap-1 rounded-md px-1 py-0.5 transition-colors hover:bg-gray-800/60":S?"rounded-md border border-yellow-900/60 bg-yellow-950/20 px-2 py-0.5 text-xs text-yellow-300 transition-colors hover:border-yellow-700":"rounded-md border border-dashed border-gray-700 px-2 py-0.5 text-xs text-gray-500 transition-colors hover:border-cyan-800 hover:text-cyan-400",P=w.useRef(n);return w.useEffect(()=>{var E;P.current&&!n&&((E=y.current)==null||E.focus()),P.current=n},[n]),m.jsxs(m.Fragment,{children:[m.jsxs("tr",{className:`transition-colors ${t?"bg-cyan-950/20 hover:bg-cyan-950/30":"hover:bg-gray-900/30"}`,children:[m.jsx("td",{className:"px-3 py-3 align-middle",children:m.jsx("input",{type:"checkbox",className:"h-4 w-4 cursor-pointer rounded border-gray-700 bg-gray-900 text-cyan-500 accent-cyan-500 focus:ring-cyan-500",checked:t,onChange:r,"aria-label":`Select run ${j}`})}),m.jsxs("td",{className:"px-4 py-3 align-middle",title:e.run_id,children:[m.jsx("div",{className:"font-medium text-gray-200 tabular-nums",children:wk(e.started_at)}),O&&m.jsx("div",{className:"text-xs text-gray-500",children:O})]}),m.jsx("td",{className:"px-4 py-3 align-middle",children:v?m.jsx("button",{ref:y,type:"button",onClick:E=>{E.stopPropagation(),i()},className:N,"aria-label":x.length>0?"Edit tags":"Add tags",children:x.length>0?m.jsx(jC,{tags:x,dirty:S}):S?m.jsx(m.Fragment,{children:"Pending clear"}):m.jsx(m.Fragment,{children:"+ tags"})}):x.length>0?m.jsx(jC,{tags:x,dirty:S}):m.jsx("span",{className:S?"text-yellow-400":"text-gray-600",children:S?"Pending clear":"—"})}),m.jsx("td",{className:"px-4 py-3 align-middle text-gray-300",children:e.experiment}),m.jsx("td",{className:"px-4 py-3 align-middle text-gray-300",children:e.target}),m.jsxs("td",{className:"px-4 py-3 align-middle text-right tabular-nums text-gray-400",children:[m.jsx("div",{children:d}),p>0&&m.jsxs("div",{className:"text-xs text-amber-400",children:[p," errors"]})]}),m.jsx("td",{className:"px-4 py-3 align-middle",children:m.jsx(en,{rate:e.pass_rate})}),m.jsxs("td",{className:"px-4 py-3 align-middle text-right tabular-nums text-gray-400",children:[f,"%"]})]}),n&&m.jsx("tr",{className:"bg-gray-950/80",children:m.jsx("td",{colSpan:8,className:"px-4 py-3",children:m.jsx(une,{runId:e.run_id,currentTags:x,source:e.source,projectId:o,onClose:l})})})]})}function jC({tags:e,dirty:t}){return m.jsxs("span",{className:"inline-flex flex-wrap items-center gap-1",children:[e.map(r=>m.jsx("span",{className:"rounded-md border border-cyan-900/60 bg-cyan-950/30 px-2 py-0.5 text-xs font-medium text-cyan-300",children:r},r)),t?m.jsx("span",{className:"rounded-md border border-yellow-900/60 bg-yellow-950/20 px-2 py-0.5 text-xs font-medium text-yellow-300",children:"Pending sync"}):null]})}function une({runId:e,currentTags:t,source:r,projectId:n,onClose:i}){const[l,o]=w.useState(t),[c,f]=w.useState(""),[d,p]=w.useState(null),v=oa(),y=w.useRef(null);w.useEffect(()=>{var E;(E=y.current)==null||E.focus()},[]);const x=dx({mutationFn:()=>G8(e,l,n),onSuccess:()=>{v.invalidateQueries({queryKey:["compare"]}),v.invalidateQueries({queryKey:["runs"]}),v.invalidateQueries({queryKey:["remote-status",n??""]}),n&&(v.invalidateQueries({queryKey:["projects",n,"compare"]}),v.invalidateQueries({queryKey:["projects",n,"runs"]})),i()},onError:E=>p(E.message)}),S=dx({mutationFn:()=>Y8(e,n),onSuccess:()=>{v.invalidateQueries({queryKey:["compare"]}),v.invalidateQueries({queryKey:["runs"]}),v.invalidateQueries({queryKey:["remote-status",n??""]}),n&&(v.invalidateQueries({queryKey:["projects",n,"compare"]}),v.invalidateQueries({queryKey:["projects",n,"runs"]})),i()},onError:E=>p(E.message)}),j=x.isPending||S.isPending,O=l.length!==t.length||l.some((E,A)=>E!==t[A]),N=()=>{const E=c.trim();if(E!==""){if(l.includes(E)){f("");return}o([...l,E]),f(""),p(null)}},P=E=>{o(l.filter(A=>A!==E))};return m.jsxs("div",{className:"space-y-2 rounded-md border border-gray-800 bg-gray-900/60 p-3",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs font-medium uppercase tracking-wider text-gray-400",children:"Tag run"}),m.jsx("span",{className:"text-xs text-gray-500",children:"Multi-valued. Enter or comma adds; Backspace removes the last chip."})]}),r==="remote"?m.jsx("div",{className:"rounded-md border border-yellow-900/60 bg-yellow-950/20 px-3 py-2 text-xs text-yellow-300",children:"Remote tag edits are saved as local metadata. Use Sync Metadata to push them to the results repo."}):null,m.jsxs("div",{className:"flex flex-wrap items-center gap-2 rounded-md border border-gray-700 bg-gray-950 px-2 py-1.5 focus-within:border-cyan-500 focus-within:ring-1 focus-within:ring-cyan-500",children:[l.map(E=>m.jsxs("span",{className:"inline-flex items-center gap-1 rounded-md border border-cyan-900/60 bg-cyan-950/30 px-2 py-0.5 text-xs font-medium text-cyan-300",children:[E,m.jsx("button",{type:"button",onClick:()=>P(E),disabled:j,className:"text-cyan-500 transition-colors hover:text-cyan-200 disabled:opacity-50","aria-label":`Remove tag ${E}`,children:"×"})]},E)),m.jsx("input",{ref:y,type:"text",className:"flex-1 min-w-[140px] bg-transparent text-sm text-gray-100 placeholder:text-gray-600 focus:outline-none disabled:opacity-50",placeholder:l.length===0?"e.g. baseline, v2-prompt, slow":"Add tag…",value:c,onChange:E=>{p(null),f(E.target.value)},maxLength:60,disabled:j,onKeyDown:E=>{E.key==="Enter"||E.key===","?(E.preventDefault(),N()):E.key==="Backspace"&&c===""&&l.length>0?(E.preventDefault(),o(l.slice(0,-1))):E.key==="Escape"&&i()},onBlur:N})]}),m.jsxs("div",{className:"flex items-center justify-end gap-2",children:[m.jsx("button",{type:"button",onClick:i,disabled:j,className:"rounded-md px-3 py-1.5 text-sm text-gray-400 transition-colors hover:text-gray-200 disabled:opacity-50",children:"Cancel"}),t.length>0&&m.jsx("button",{type:"button",onClick:()=>{j||S.mutate()},disabled:j,className:"rounded-md border border-red-900/60 px-3 py-1.5 text-sm text-red-400 transition-colors hover:border-red-800 hover:bg-red-950/30 hover:text-red-300 disabled:opacity-50",children:"Clear all"}),m.jsx("button",{type:"button",disabled:!O||j,onClick:()=>{j||!O||x.mutate()},className:"rounded-md bg-cyan-500 px-3 py-1.5 text-sm font-medium text-gray-950 transition-colors hover:bg-cyan-400 disabled:cursor-not-allowed disabled:bg-gray-700 disabled:text-gray-500",children:x.isPending?"Saving…":"Save"})]}),d&&m.jsx("div",{className:"rounded-md border border-red-900/60 bg-red-950/30 px-3 py-1.5 text-xs text-red-400",children:d})]})}function cne({runs:e,onBack:t}){const r=w.useMemo(()=>{const i=new Set,l=[];for(const o of e)for(const c of o.tests)i.has(c.test_id)||(i.add(c.test_id),l.push(c.test_id));return l},[e]),n=w.useMemo(()=>e.map(i=>{const l=new Map;for(const o of i.tests)l.set(o.test_id,o);return l}),[e]);return m.jsxs("div",{className:"space-y-3",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsxs("button",{type:"button",onClick:t,className:"inline-flex items-center gap-1 text-sm text-cyan-400 transition-colors hover:text-cyan-300",children:[m.jsx("span",{"aria-hidden":!0,children:"←"})," Back to runs"]}),m.jsxs("span",{className:"text-sm text-gray-500",children:[e.length," runs · ",r.length," tests"]})]}),m.jsx("div",{className:"overflow-x-auto rounded-lg border border-gray-800",children:m.jsxs("table",{className:"w-full text-left text-sm",children:[m.jsxs("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:[m.jsxs("tr",{children:[m.jsx("th",{className:"sticky left-0 z-10 bg-gray-900/80 px-4 py-3 font-medium text-gray-400 backdrop-blur",children:"Test case"}),e.map(i=>m.jsx("th",{className:"px-4 py-3 align-bottom",children:m.jsx(fne,{run:i})},i.run_id))]}),m.jsxs("tr",{className:"border-t border-gray-800/50 bg-gray-900/30",children:[m.jsx("th",{className:"sticky left-0 z-10 bg-gray-900/80 px-4 py-2 text-xs font-medium uppercase tracking-wider text-gray-500 backdrop-blur",children:"Pass rate"}),e.map(i=>m.jsx("th",{className:"px-4 py-2",children:m.jsx(en,{rate:i.pass_rate})},i.run_id))]})]}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:r.map(i=>m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[m.jsx("td",{className:"sticky left-0 z-10 bg-gray-950/70 px-4 py-3 font-medium text-gray-200 backdrop-blur",children:i}),n.map((l,o)=>{const c=l.get(i),f=e[o].run_id;return c?m.jsx("td",{className:"px-4 py-3",children:m.jsx("div",{className:"flex items-center gap-2",children:c.execution_status==="execution_error"?m.jsxs(m.Fragment,{children:[m.jsx("span",{"aria-hidden":!0,className:"h-1.5 w-1.5 rounded-full bg-amber-400"}),m.jsx("span",{className:"tabular-nums text-amber-400",children:"error"})]}):m.jsxs(m.Fragment,{children:[m.jsx("span",{"aria-hidden":!0,className:`h-1.5 w-1.5 rounded-full ${c.passed?"bg-emerald-400":"bg-red-400"}`}),m.jsxs("span",{className:`tabular-nums ${c.passed?"text-emerald-400":"text-red-400"}`,children:[Math.round(c.score*100),"%"]})]})})},f):m.jsx("td",{className:"px-4 py-3 text-center text-gray-600",children:"—"},f)})]},i))})]})})]})}function fne({run:e}){const t=e.tags??[];return m.jsxs("div",{className:"min-w-[140px] space-y-1",children:[m.jsx("div",{className:"text-sm font-medium text-gray-200 tabular-nums",title:e.run_id,children:wk(e.started_at)}),t.length>0&&m.jsx("div",{className:"flex flex-wrap gap-1",children:t.map(r=>m.jsx("span",{className:"rounded-md border border-cyan-900/60 bg-cyan-950/30 px-1.5 py-0.5 text-[0.7rem] font-medium text-cyan-300",children:r},r))}),m.jsxs("div",{className:"text-xs text-gray-500",children:[e.experiment," · ",e.target]})]})}function dne(){return m.jsxs("div",{className:"flex items-center gap-4 text-xs text-gray-500",role:"note",children:[m.jsx(dh,{className:"bg-emerald-400",label:"80%+"}),m.jsx(dh,{className:"bg-yellow-400",label:"50–80%"}),m.jsx(dh,{className:"bg-red-400",label:"< 50%"}),m.jsx(dh,{className:"bg-gray-700",label:"no data"})]})}function dh({className:e,label:t}){return m.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[m.jsx("span",{className:`h-2 w-2 rounded-full ${e}`,"aria-hidden":!0}),m.jsx("span",{children:t})]})}function hne({message:e}){return m.jsx("div",{className:"rounded-lg border border-red-900/60 bg-red-950/30 p-4 text-sm text-red-400",children:e})}function mne(){return m.jsx(Tp,{headline:"No comparison data yet",body:"Run evaluations with different experiment and target combinations to populate this view."})}function Tp({headline:e,body:t,action:r}){return m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-8 text-center",children:[m.jsx("p",{className:"text-lg text-gray-300",children:e}),m.jsx("p",{className:"mt-2 text-sm text-gray-500",children:t}),r&&m.jsx("button",{type:"button",onClick:r.onClick,className:"mt-4 inline-flex items-center rounded-md bg-cyan-500 px-3 py-1.5 text-sm font-medium text-gray-950 transition-colors hover:bg-cyan-400",children:r.label})]})}function pne(){return m.jsx("div",{className:"overflow-hidden rounded-lg border border-gray-800",children:m.jsxs("div",{className:"animate-pulse",children:[m.jsx("div",{className:"border-b border-gray-800 bg-gray-900/50 px-4 py-3",children:m.jsx("div",{className:"h-4 w-48 rounded bg-gray-800"})}),["sk-1","sk-2","sk-3","sk-4","sk-5"].map(e=>m.jsxs("div",{className:"flex gap-4 border-b border-gray-800/50 px-4 py-3",children:[m.jsx("div",{className:"h-4 w-32 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-12 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-12 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-48 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-24 rounded bg-gray-800"})]},e))]})})}function wk(e){try{const t=new Date(e);if(Number.isNaN(t.getTime()))return e;const r=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),i=String(t.getDate()).padStart(2,"0"),l=String(t.getHours()).padStart(2,"0"),o=String(t.getMinutes()).padStart(2,"0");return`${r}-${n}-${i} ${l}:${o}`}catch{return e}}function vne(e){const t=e.split("::");return t.length<2?null:t.slice(0,-1).join(" · ")}function Ok({projectId:e}){const{data:t,isLoading:r}=e?Ke(zb(e)):q2();if(r)return m.jsx(yne,{});const n=(t==null?void 0:t.experiments)??[];return n.length===0?m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-8 text-center",children:[m.jsx("p",{className:"text-lg text-gray-400",children:"No experiments found"}),m.jsx("p",{className:"mt-2 text-sm text-gray-500",children:"Experiments will appear here once evaluations are run with experiment labels."})]}):m.jsx("div",{className:"max-w-full overflow-x-auto rounded-lg border border-gray-800",children:m.jsxs("table",{className:"min-w-[760px] w-full whitespace-nowrap text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Experiment"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Runs"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Targets"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Evals"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Execution Errors"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Pass Rate"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Last Run"})]})}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:n.map(i=>{const l=zo(i),o=Gt(i);return m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[m.jsx("td",{className:"px-4 py-3",children:e?m.jsx(Ne,{to:"/projects/$projectId/experiments/$experimentName",params:{projectId:e,experimentName:i.name},className:"font-medium text-cyan-400 hover:text-cyan-300 hover:underline",children:i.name}):m.jsx(Ne,{to:"/experiments/$experimentName",params:{experimentName:i.name},className:"font-medium text-cyan-400 hover:text-cyan-300 hover:underline",children:i.name})}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:i.run_count}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:i.target_count}),m.jsxs("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:[m.jsx("span",{className:"text-emerald-400",children:i.passed_count}),m.jsx("span",{className:"text-gray-600",children:" / "}),l]}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-amber-400",children:o>0?o:m.jsx("span",{className:"text-gray-600",children:"0"})}),m.jsx("td",{className:"px-4 py-3",children:m.jsx(en,{rate:i.pass_rate})}),m.jsx("td",{className:"px-4 py-3 text-gray-400",title:wC(i.last_run).full,children:wC(i.last_run).date})]},i.name)})})]})})}function wC(e){if(!e)return{date:"N/A",full:"N/A"};try{const t=new Date(e);if(Number.isNaN(t.getTime()))return{date:"N/A",full:"N/A"};const r=t.toLocaleString(),n=Date.now()-t.getTime(),i=Math.floor(n/6e4),l=Math.floor(n/36e5);let o;return i<1?o="just now":i<60?o=`${i} min ago`:l<24?o=`${l} hour${l===1?"":"s"} ago`:o=t.toLocaleDateString(),{date:o,full:r}}catch{return{date:"N/A",full:"N/A"}}}function yne(){return m.jsx("div",{className:"max-w-full overflow-x-auto rounded-lg border border-gray-800",children:m.jsxs("div",{className:"min-w-[760px] animate-pulse",children:[m.jsx("div",{className:"border-b border-gray-800 bg-gray-900/50 px-4 py-3",children:m.jsx("div",{className:"h-4 w-48 rounded bg-gray-800"})}),["sk-1","sk-2","sk-3","sk-4","sk-5"].map(e=>m.jsxs("div",{className:"flex gap-4 border-b border-gray-800/50 px-4 py-3",children:[m.jsx("div",{className:"h-4 w-32 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-12 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-12 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-48 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-24 rounded bg-gray-800"})]},e))]})})}function gne(e){if(!e)return"No runs";const t=new Date(e);if(Number.isNaN(t.getTime()))return"N/A";const r=Date.now()-t.getTime(),n=Math.floor(r/6e4);if(n<1)return"Just now";if(n<60)return`${n}m ago`;const i=Math.floor(n/60);return i<24?`${i}h ago`:`${Math.floor(i/24)}d ago`}function xne({project:e}){const t=Math.round(e.pass_rate*100),r=Gt(e);return m.jsxs(Ne,{to:"/projects/$projectId",params:{projectId:e.id},className:"group block rounded-lg border border-gray-800 bg-gray-900/50 p-5 transition-colors hover:border-cyan-800 hover:bg-gray-900",children:[m.jsx("div",{className:"flex items-start justify-between",children:m.jsxs("div",{className:"min-w-0 flex-1",children:[m.jsx("h3",{className:"truncate text-lg font-semibold text-white group-hover:text-cyan-400",children:e.name}),m.jsx("p",{className:"mt-1 truncate text-xs text-gray-500",children:e.path})]})}),m.jsxs("div",{className:"mt-4 grid grid-cols-4 gap-3",children:[m.jsxs("div",{children:[m.jsx("p",{className:"text-xs text-gray-500",children:"Runs"}),m.jsx("p",{className:"text-lg font-semibold text-white",children:e.run_count})]}),m.jsxs("div",{children:[m.jsx("p",{className:"text-xs text-gray-500",children:"Pass Rate"}),m.jsx("p",{className:`text-lg font-semibold ${e.run_count===0?"text-gray-500":t>=80?"text-emerald-400":t>=50?"text-yellow-400":"text-red-400"}`,children:e.run_count>0?`${t}%`:"--"})]}),m.jsxs("div",{children:[m.jsx("p",{className:"text-xs text-gray-500",children:"Errors"}),m.jsx("p",{className:`text-lg font-semibold ${r>0?"text-amber-300":"text-gray-500"}`,children:r})]}),m.jsxs("div",{children:[m.jsx("p",{className:"text-xs text-gray-500",children:"Last Run"}),m.jsx("p",{className:"text-sm text-gray-300",children:gne(e.last_run)})]})]})]})}function bne(e){return e.map(t=>({path:t.path,relativePath:t.relative_path,category:t.category}))}function Sne(e){return(e.split(",").at(-1)??"").trim()}function jne(e,t){const r=Sne(t).toLowerCase();return r?e.filter(n=>n.relativePath.toLowerCase().includes(r)||n.category.toLowerCase().includes(r)):e}function wne(e,t){const r=e.split(",");return[...(/,\s*$/.test(e)?r:r.slice(0,-1)).map(c=>c.trim()).filter(Boolean).filter(c=>c!==t),t].join(", ")}function One(e,t,r){return t?e:Tj(e,r)}function Tj(e,t){return e||String(t??Dc)}function Nne({suiteFilter:e,testIds:t,target:r,thresholdInput:n,studioThreshold:i,workers:l,dryRun:o}){const c={};e.trim()&&(c.suite_filter=e.trim()),t.length>0&&(c.test_ids=t),r&&(c.target=r);const f=Tj(n,i);return f&&(c.threshold=Number.parseFloat(f)),l&&(c.workers=Number.parseInt(l,10)),o&&(c.dry_run=!0),c}function gl({open:e,onClose:t,projectId:r,prefill:n}){const i=oa(),l=cl(),[o,c]=w.useState((n==null?void 0:n.suiteFilter)??""),[f,d]=w.useState(""),[p,v]=w.useState((n==null?void 0:n.testIds)??[]),[y,x]=w.useState((n==null?void 0:n.target)??""),[S,j]=w.useState(""),[O,N]=w.useState(!1),[P,E]=w.useState(""),[A,T]=w.useState(!1),[M,R]=w.useState(!1),[I,z]=w.useState(null),[D,H]=w.useState(null),[q,ae]=w.useState(!1),[Q,Z]=w.useState(null),{data:B}=X8(r),{data:K}=W8(r),{data:ee}=$b(I,r),{data:se}=ut(r),ue=w.useMemo(()=>bne((B==null?void 0:B.eval_files)??[]),[B]),k=w.useMemo(()=>jne(ue,o),[ue,o]),W=w.useMemo(()=>(K==null?void 0:K.targets)??[],[K]),oe=w.useMemo(()=>Tj(S,se==null?void 0:se.threshold),[se==null?void 0:se.threshold,S]),le=w.useMemo(()=>One(S,O,se==null?void 0:se.threshold),[se==null?void 0:se.threshold,S,O]);w.useEffect(()=>{e&&(c((n==null?void 0:n.suiteFilter)??""),v((n==null?void 0:n.testIds)??[]),x((n==null?void 0:n.target)??""),d(""),j(""),N(!1),E(""),T(!1),R(!1),z(null),H(null),ae(!1),Z(null))},[e,n]),w.useEffect(()=>{((ee==null?void 0:ee.status)==="finished"||(ee==null?void 0:ee.status)==="failed")&&(i.invalidateQueries({queryKey:["runs"]}),i.invalidateQueries({queryKey:["projects"]}))},[ee==null?void 0:ee.status,i]);const ve=w.useCallback(()=>Nne({suiteFilter:o,testIds:p,target:y,thresholdInput:S,studioThreshold:se==null?void 0:se.threshold,workers:P,dryRun:A}),[A,se==null?void 0:se.threshold,o,y,p,S,P]);w.useEffect(()=>{const te=ve();if(!te.suite_filter&&(!te.test_ids||te.test_ids.length===0)){Z(null);return}rB(te,r).then(je=>Z(je.command)).catch(()=>Z(null))},[ve,r]);function we(){const te=f.trim();te&&!p.includes(te)&&v([...p,te]),d("")}function Oe(te){v(p.filter(je=>je!==te))}async function Ce(){H(null),ae(!0);try{const te=ve(),je=await V2(te,r);z(je.id)}catch(te){H(te.message)}finally{ae(!1)}}if(!e)return null;if(I&&ee){let te=function(){t(),l({to:iB(r)})};return m.jsx(OC,{onClose:t,title:"Eval Run",children:m.jsx(_ne,{status:ee,onClose:t,onRunInBackground:te,runId:I})})}const fe=!!(o.trim()||p.length>0);return m.jsx(OC,{onClose:t,title:"Run Eval",children:m.jsxs("div",{className:"space-y-4",children:[m.jsxs("div",{children:[m.jsx("label",{htmlFor:"suite-filter",className:"mb-1 block text-sm font-medium text-gray-300",children:"Suite Filter"}),m.jsx("input",{id:"suite-filter",type:"text",value:o,onChange:te=>c(te.target.value),placeholder:"evals/**/*.eval.yaml",className:"w-full rounded-md border border-gray-700 bg-gray-800 px-3 py-2 text-sm text-white placeholder-gray-500 focus:border-cyan-600 focus:outline-none"}),ue.length>0&&m.jsx("div",{className:"mt-1.5 max-h-44 overflow-y-auto rounded-md border border-gray-800 bg-gray-950/60 p-1",children:k.length>0?k.map(te=>m.jsxs("button",{type:"button",onClick:()=>c(je=>wne(je,te.relativePath)),className:"block w-full rounded px-2 py-1 text-left text-xs text-gray-400 hover:bg-gray-800 hover:text-gray-200",children:[m.jsx("span",{className:"block truncate",children:te.relativePath}),te.category&&m.jsx("span",{className:"block truncate text-[11px] text-gray-600",children:te.category})]},te.relativePath)):m.jsx("div",{className:"px-2 py-1 text-xs text-gray-500",children:"No matching eval files"})})]}),m.jsxs("div",{children:[m.jsx("label",{htmlFor:"test-id-input",className:"mb-1 block text-sm font-medium text-gray-300",children:"Test ID Filter"}),m.jsxs("div",{className:"flex gap-2",children:[m.jsx("input",{id:"test-id-input",type:"text",value:f,onChange:te=>d(te.target.value),onKeyDown:te=>{te.key==="Enter"&&(te.preventDefault(),we())},placeholder:"auth-*, retrieval-basic",className:"flex-1 rounded-md border border-gray-700 bg-gray-800 px-3 py-2 text-sm text-white placeholder-gray-500 focus:border-cyan-600 focus:outline-none"}),m.jsx("button",{type:"button",onClick:we,disabled:!f.trim(),className:"rounded-md bg-gray-700 px-3 py-2 text-sm text-white hover:bg-gray-600 disabled:opacity-50",children:"Add"})]}),p.length>0&&m.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1",children:p.map(te=>m.jsxs("span",{className:"inline-flex items-center gap-1 rounded-full bg-cyan-900/40 px-2.5 py-0.5 text-xs text-cyan-300",children:[te,m.jsx("button",{type:"button",onClick:()=>Oe(te),className:"text-cyan-400 hover:text-white",children:"×"})]},te))})]}),m.jsxs("div",{children:[m.jsx("label",{htmlFor:"target-override",className:"mb-1 block text-sm font-medium text-gray-300",children:"Target Override"}),m.jsxs("select",{id:"target-override",value:y,onChange:te=>x(te.target.value),className:"w-full rounded-md border border-gray-700 bg-gray-800 px-3 py-2 text-sm text-white focus:border-cyan-600 focus:outline-none",children:[m.jsx("option",{value:"",children:"Use eval's configured target"}),W.map(te=>m.jsx("option",{value:te,children:te},te))]})]}),m.jsxs("div",{children:[m.jsxs("button",{type:"button",onClick:()=>R(!M),className:"text-sm text-gray-400 hover:text-gray-200",children:[M?"▾":"▸"," Advanced Options"]}),M&&m.jsxs("div",{className:"mt-2 grid grid-cols-2 gap-3",children:[m.jsxs("div",{children:[m.jsx("label",{htmlFor:"threshold-input",className:"mb-1 block text-xs text-gray-400",children:"Threshold (0–1)"}),m.jsx("input",{id:"threshold-input",type:"number",value:le,onChange:te=>{N(!0),j(te.target.value)},min:"0",max:"1",step:"0.1",placeholder:oe,className:"w-full rounded-md border border-gray-700 bg-gray-800 px-3 py-1.5 text-sm text-white placeholder-gray-500 focus:border-cyan-600 focus:outline-none"})]}),m.jsxs("div",{children:[m.jsx("label",{htmlFor:"workers-input",className:"mb-1 block text-xs text-gray-400",children:"Workers"}),m.jsx("input",{id:"workers-input",type:"number",value:P,onChange:te=>E(te.target.value),min:"1",max:"50",placeholder:"3",className:"w-full rounded-md border border-gray-700 bg-gray-800 px-3 py-1.5 text-sm text-white placeholder-gray-500 focus:border-cyan-600 focus:outline-none"})]}),m.jsx("div",{className:"col-span-2",children:m.jsxs("label",{className:"flex items-center gap-2 text-sm text-gray-400",children:[m.jsx("input",{type:"checkbox",checked:A,onChange:te=>T(te.target.checked),className:"rounded border-gray-600 bg-gray-800"}),"Dry run (mock provider responses)"]})})]})]}),Q&&m.jsxs("div",{className:"rounded-md border border-gray-700 bg-gray-950 p-3",children:[m.jsx("div",{className:"mb-1 text-xs text-gray-500",children:"CLI Preview"}),m.jsx("code",{className:"block break-all text-xs text-cyan-300",children:Q})]}),D&&m.jsx("div",{className:"rounded-md border border-red-900/50 bg-red-950/20 p-2 text-sm text-red-400",children:D}),m.jsxs("div",{className:"flex justify-end gap-2 pt-2",children:[m.jsx("button",{type:"button",onClick:t,className:"rounded-md bg-gray-700 px-4 py-2 text-sm text-white hover:bg-gray-600",children:"Cancel"}),m.jsx("button",{type:"button",onClick:Ce,disabled:!fe||q,className:"rounded-md bg-cyan-600 px-4 py-2 text-sm font-medium text-white hover:bg-cyan-500 disabled:opacity-50",children:q?"Launching…":"Run Now"})]})]})})}function OC({children:e,onClose:t,title:r}){return m.jsx("div",{className:"fixed inset-0 z-50 flex items-start justify-center bg-black/60 pt-[10vh]",children:m.jsxs("div",{className:"w-full max-w-lg rounded-lg border border-gray-700 bg-gray-900 shadow-xl",children:[m.jsxs("div",{className:"flex items-center justify-between border-b border-gray-800 px-5 py-3",children:[m.jsx("h2",{className:"text-lg font-semibold text-white",children:r}),m.jsx("button",{type:"button",onClick:t,className:"text-gray-400 hover:text-white",children:"✕"})]}),m.jsx("div",{className:"px-5 py-4",children:e})]})})}function _ne({status:e,onClose:t,onRunInBackground:r,runId:n}){const i=e.status==="finished"||e.status==="failed",l={starting:"text-yellow-400",running:"text-cyan-400",finished:"text-emerald-400",failed:"text-red-400"};return m.jsxs("div",{className:"space-y-3",children:[m.jsxs("div",{className:"flex items-center gap-3",children:[m.jsxs("span",{className:`text-sm font-medium ${l[e.status]??"text-gray-400"}`,children:[e.status==="running"&&"●"," ",e.status.charAt(0).toUpperCase()+e.status.slice(1)]}),!i&&m.jsx("span",{className:"inline-block h-3 w-3 animate-spin rounded-full border-2 border-cyan-400 border-t-transparent"})]}),m.jsx("div",{className:"rounded-md border border-gray-700 bg-gray-950 p-3",children:m.jsx("code",{className:"block break-all text-xs text-cyan-300",children:e.command})}),e.stdout&&m.jsx("div",{className:"max-h-48 overflow-y-auto rounded-md bg-gray-950 p-3",children:m.jsx("pre",{className:"whitespace-pre-wrap text-xs text-gray-300",children:e.stdout.slice(-3e3)})}),e.stderr&&m.jsx("div",{className:"max-h-24 overflow-y-auto rounded-md bg-red-950/20 p-3",children:m.jsx("pre",{className:"whitespace-pre-wrap text-xs text-red-300",children:e.stderr.slice(-2e3)})}),m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-xs text-gray-500",children:i?m.jsxs(m.Fragment,{children:["Exit code: ",e.exit_code,e.finished_at&&` · ${new Date(e.finished_at).toLocaleTimeString()}`]}):n&&m.jsx("button",{type:"button",onClick:r,className:"text-xs text-gray-400 hover:text-cyan-400",children:"Run in background"})}),i&&m.jsx("button",{type:"button",onClick:t,className:"rounded-md bg-gray-700 px-4 py-2 text-sm text-white hover:bg-gray-600",children:"Close"})]})]})}function V0(e){if(e.source==="remote")return"Remote runs cannot be combined or deleted from the local workspace.";if(e.status==="starting"||e.status==="running")return"Running runs cannot be combined or deleted yet."}function Ene(e){return`${e} local run${e===1?"":"s"} selected`}function Ane(e,t){return`Combined ${e} local run${e===1?"":"s"} into ${t}.`}function Pne(e){return`Deleted ${e} local run${e===1?"":"s"}.`}function Tne(e){if(!e)return{date:"N/A",full:"N/A"};try{const t=new Date(e);if(Number.isNaN(t.getTime()))return{date:"N/A",full:"N/A"};const r=t.toLocaleString(),n=Date.now()-t.getTime(),i=Math.floor(n/6e4),l=Math.floor(n/36e5);let o;return i<1?o="just now":i<60?o=`${i} min ago`:l<24?o=`${l} hour${l===1?"":"s"} ago`:o=t.toLocaleDateString(),{date:o,full:r}}catch{return{date:"N/A",full:"N/A"}}}function Cne(e,t){const r=Tne(e.timestamp),n=e.status==="starting"||e.status==="running",i=Fb(e,{includePassRate:!1}),l=i.label,o=Gt(e),c=Math.max(0,e.test_count-o),f=c>0?e.pass_rate>=t:o===0,d=Math.round(e.pass_rate*c),p=c-d,v=e.metadata_dirty===!0;return{run:e,ts:r,isActive:n,label:l,display:i,errors:o,qualityCount:c,passing:f,passedCount:d,failedCount:p,metadataDirty:v}}function Cp({runs:e,projectId:t,emptyMessage:r,hasNextPage:n=!1,isFetchingNextPage:i=!1,onLoadMore:l,enableCombine:o=!1}){const{data:c}=ut(t),f=oa(),d=(c==null?void 0:c.threshold)??Dc,p=w.useRef(null),v=w.useRef(null),y=w.useRef(!1),[x,S]=w.useState([]),[j,O]=w.useState(null),[N,P]=w.useState(!1),[E,A]=w.useState(!1),T=w.useMemo(()=>e.map(Q=>Cne(Q,d)),[d,e]),M=w.useMemo(()=>e.filter(Q=>o&&!V0(Q)).map(Q=>Q.filename),[o,e]),R=new Set(x);w.useEffect(()=>{i||(y.current=!1)},[i]),w.useEffect(()=>{if(!n||!l)return;const Q=[];if(p.current&&Q.push(p.current),v.current&&Q.push(v.current),Q.length===0)return;const Z=new IntersectionObserver(B=>{B.some(K=>K.isIntersecting)&&!i&&!y.current&&(y.current=!0,l())},{rootMargin:"200px 0px"});for(const B of Q)Z.observe(B);return()=>Z.disconnect()},[n,i,l]),w.useEffect(()=>{const Q=new Set(M);S(Z=>Z.filter(B=>Q.has(B)))},[M]);async function I(){if(t){await Promise.all([f.invalidateQueries({queryKey:["projects",t,"runs"]}),f.invalidateQueries({queryKey:["projects",t,"experiments"]}),f.invalidateQueries({queryKey:["projects",t,"compare"]}),f.invalidateQueries({queryKey:["projects",t,"targets"]})]);return}await Promise.all([f.invalidateQueries({queryKey:["runs"]}),f.invalidateQueries({queryKey:["experiments"]}),f.invalidateQueries({queryKey:["compare"]}),f.invalidateQueries({queryKey:["targets"]})])}async function z(){if(x.length<2||N)return;const Q=[...x];O(null),P(!0);try{let Z;try{Z=await j_(Q,"error",t)}catch(B){if(!(B instanceof Y2)||B.status!==409)throw B;const K=B.duplicates.length;if(!window.confirm(`${K} duplicate (test_id, target) pair${K===1?"":"s"} found. Replace duplicates with the latest timestamp?`))return;Z=await j_(Q,"latest",t)}S([]),O({kind:"success",message:Ane(Q.length,Z.display_name),combinedRunId:Z.run_id,sourceRunIds:Q}),await I()}catch(Z){O({kind:"error",message:Z.message})}finally{P(!1)}}async function D(){x.length===0||E||await q(x,"selected")}async function H(){const Q=(j==null?void 0:j.sourceRunIds)??[];Q.length===0||E||await q(Q,"combined-sources")}async function q(Q,Z){const B=Q.length,K=B===1?"run":"runs",ee=Z==="combined-sources"?`Delete the ${B} source local ${K} used for the combined run? The combined run will remain.`:`Delete ${B} local ${K}? This removes the run workspace and artifacts from disk.`;if(window.confirm(ee)){O(null),A(!0);try{for(const ue of Q)await K8(ue,t);S([]),O({kind:"success",message:Pne(B)}),await I()}catch(ue){O({kind:"error",message:ue.message})}finally{A(!1)}}}function ae(Q){S(Z=>Z.includes(Q)?Z.filter(B=>B!==Q):[...Z,Q])}return e.length===0?m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-8 text-center",children:r??m.jsxs(m.Fragment,{children:[m.jsx("p",{className:"text-lg text-gray-400",children:"No evaluation runs found."}),m.jsxs("p",{className:"mt-2 text-sm text-gray-500",children:["Run an evaluation first:"," ",m.jsx("code",{className:"rounded bg-gray-800 px-2 py-1 text-cyan-400",children:"agentv eval <eval-file>"})]})]})}):m.jsxs("div",{className:"space-y-3",children:[o&&m.jsxs("div",{className:"flex flex-col gap-3 rounded-lg border border-gray-800 bg-gray-900/40 px-4 py-3 sm:flex-row sm:items-start sm:justify-between",children:[m.jsxs("div",{className:"min-w-0 space-y-1",children:[m.jsx("p",{className:"text-sm font-medium text-gray-200",children:Ene(x.length)}),m.jsx("p",{className:"text-xs text-gray-500",children:"Select completed local runs to combine or delete. Remote runs stay read-only here."}),j&&m.jsx("div",{className:`mt-2 rounded-md border px-3 py-2 text-sm ${j.kind==="success"?"border-emerald-900/60 bg-emerald-950/20 text-emerald-300":"border-red-900/60 bg-red-950/20 text-red-300"}`,role:j.kind==="error"?"alert":"status",children:m.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1",children:[m.jsx("span",{children:j.message}),j.combinedRunId?t?m.jsx(Ne,{to:"/projects/$projectId/runs/$runId",params:{projectId:t,runId:j.combinedRunId},className:"font-medium text-cyan-300 hover:text-cyan-200 hover:underline",children:"Open combined run"}):m.jsx(Ne,{to:"/runs/$runId",params:{runId:j.combinedRunId},className:"font-medium text-cyan-300 hover:text-cyan-200 hover:underline",children:"Open combined run"}):null,j.sourceRunIds&&j.sourceRunIds.length>0?m.jsx("button",{type:"button",onClick:()=>void H(),disabled:E||N,className:"font-medium text-red-300 hover:text-red-200 hover:underline disabled:cursor-not-allowed disabled:text-gray-500",children:E?"Deleting sources...":"Delete source runs"}):null]})})]}),m.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[m.jsx("button",{type:"button",onClick:()=>void D(),disabled:x.length===0||E||N,className:"whitespace-nowrap rounded-md border border-red-900/70 px-3 py-1.5 text-sm font-medium text-red-300 hover:border-red-700 hover:bg-red-950/40 disabled:cursor-not-allowed disabled:border-gray-800 disabled:text-gray-500",children:E?"Deleting...":"Delete selected"}),m.jsx("button",{type:"button",onClick:()=>void z(),disabled:x.length<2||N||E,className:"whitespace-nowrap rounded-md bg-cyan-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-cyan-500 disabled:cursor-not-allowed disabled:bg-gray-700 disabled:text-gray-400",children:N?"Combining...":"Combine selected"})]})]}),m.jsxs("div",{className:"space-y-2 sm:hidden",children:[T.map(Q=>{const{run:Z,ts:B,label:K,display:ee,errors:se,qualityCount:ue,passedCount:k,failedCount:W,metadataDirty:oe}=Q,le=V0(Z),ve=!le&&M.includes(Z.filename);return m.jsxs("article",{className:"rounded-lg border border-gray-800 bg-gray-900/40 px-3 py-3",children:[m.jsxs("div",{className:"flex items-start gap-3",children:[o&&m.jsx("input",{type:"checkbox",checked:R.has(Z.filename),disabled:!ve,onChange:()=>ae(Z.filename),title:le,"aria-label":le?`${K}: ${le}`:`Select ${K}`,className:"mt-1 h-4 w-4 shrink-0 rounded border-gray-700 bg-gray-900 text-cyan-500 disabled:opacity-30"}),m.jsx(AC,{view:Q,className:"mt-1 shrink-0"}),m.jsxs("div",{className:"min-w-0 flex-1",children:[m.jsx(NC,{projectId:t,runId:Z.filename,label:ee.primary,title:ee.title,className:"block truncate text-sm font-medium text-cyan-400 hover:text-cyan-300 hover:underline"}),ee.secondary?m.jsx("p",{className:"mt-0.5 truncate text-xs text-gray-500",title:ee.title,children:ee.secondary}):null,m.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[m.jsx(_C,{source:Z.source}),oe?m.jsx(EC,{}):null,m.jsx("span",{className:"text-xs text-gray-500",title:B.full,children:B.date})]})]})]}),m.jsxs("dl",{className:"mt-3 grid grid-cols-2 gap-x-3 gap-y-2 border-t border-gray-800/70 pt-3",children:[m.jsx(ho,{label:"Pass Rate",valueClassName:"text-gray-300",children:m.jsx(en,{rate:Z.pass_rate})}),m.jsx(ho,{label:"Total",valueClassName:"text-gray-300",children:ue}),m.jsx(ho,{label:"Passed",valueClassName:"text-emerald-300",children:k}),m.jsx(ho,{label:"Failures",valueClassName:"text-red-400",children:W>0?W:m.jsx("span",{className:"text-gray-600",children:"0"})}),m.jsx(ho,{label:"Errors",valueClassName:"text-amber-300",children:se>0?se:m.jsx("span",{className:"text-gray-600",children:"0"})}),m.jsx(ho,{label:"Source",valueClassName:"text-gray-400",children:Z.source==="remote"?"Remote":"Local"})]})]},Z.filename)}),(n||i)&&m.jsx("div",{ref:v,className:"rounded-lg border border-gray-800 bg-gray-900/40 px-4 py-3 text-center text-xs text-gray-500",children:i?"Loading more runs...":"Scroll to load more..."})]}),m.jsx("div",{className:"hidden max-w-full overflow-x-auto rounded-lg border border-gray-800 sm:block",children:m.jsxs("table",{className:"min-w-[780px] w-full whitespace-nowrap text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[o&&m.jsx("th",{className:"w-10 px-4 py-3"}),m.jsx("th",{className:"w-8 px-4 py-3"}),m.jsx("th",{className:"w-[22rem] px-4 py-3 font-medium text-gray-400",children:"Run"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Source"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Passed"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Failures"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Errors"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Total"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Pass Rate"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"When"})]})}),m.jsxs("tbody",{className:"divide-y divide-gray-800/50",children:[T.map(Q=>{const{run:Z,ts:B,label:K,display:ee,errors:se,qualityCount:ue,passedCount:k,failedCount:W,metadataDirty:oe}=Q,le=V0(Z),ve=!le&&M.includes(Z.filename);return m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[o&&m.jsx("td",{className:"px-4 py-3",children:m.jsx("input",{type:"checkbox",checked:R.has(Z.filename),disabled:!ve,onChange:()=>ae(Z.filename),title:le,"aria-label":le?`${K}: ${le}`:`Select ${K}`,className:"h-4 w-4 rounded border-gray-700 bg-gray-900 text-cyan-500 disabled:opacity-30"})}),m.jsx("td",{className:"px-4 py-3 text-center",children:m.jsx(AC,{view:Q})}),m.jsx("td",{className:"w-[22rem] max-w-[22rem] px-4 py-3",children:m.jsxs("div",{className:"min-w-0",children:[m.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[m.jsx(NC,{projectId:t,runId:Z.filename,label:ee.primary,title:ee.title,className:"block min-w-0 truncate font-medium text-cyan-400 hover:text-cyan-300 hover:underline"}),oe?m.jsx(EC,{}):null]}),ee.secondary?m.jsx("div",{className:"mt-0.5 truncate text-xs text-gray-500",title:ee.title,children:ee.secondary}):null]})}),m.jsx("td",{className:"px-4 py-3",children:m.jsx(_C,{source:Z.source})}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-emerald-300",children:k}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-red-400",children:W>0?W:m.jsx("span",{className:"text-gray-600",children:"0"})}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums",children:se>0?m.jsx("span",{className:"text-amber-300",children:se}):m.jsx("span",{className:"text-gray-600",children:"0"})}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:ue}),m.jsx("td",{className:"px-4 py-3",children:m.jsx(en,{rate:Z.pass_rate})}),m.jsx("td",{className:"px-4 py-3 text-gray-400",title:B.full,children:B.date})]},Z.filename)}),(n||i)&&m.jsx("tr",{ref:p,children:m.jsx("td",{colSpan:o?10:9,className:"px-4 py-3 text-center text-xs text-gray-500",children:i?"Loading more runs...":"Scroll to load more..."})})]})]})})]})}function NC({projectId:e,runId:t,label:r,title:n,className:i}){return e?m.jsx(Ne,{to:"/projects/$projectId/runs/$runId",params:{projectId:e,runId:t},className:i,title:n,children:r}):m.jsx(Ne,{to:"/runs/$runId",params:{runId:t},className:i,title:n,children:r})}function _C({source:e}){return m.jsx("span",{className:`inline-flex rounded-md border px-2 py-0.5 text-xs font-medium ${e==="remote"?"border-cyan-900/60 bg-cyan-950/20 text-cyan-300":"border-gray-800 bg-gray-900/70 text-gray-400"}`,children:e==="remote"?"Remote":"Local"})}function EC(){return m.jsx("span",{className:"shrink-0 rounded-md border border-yellow-900/60 bg-yellow-950/20 px-1.5 py-0.5 text-xs text-yellow-300",title:"Use Sync Metadata to push this metadata to the results repo.",children:"Pending sync"})}function AC({view:e,className:t=""}){return e.isActive?m.jsx("span",{className:`inline-block h-2 w-2 animate-pulse rounded-full bg-cyan-400 ${t}`,title:e.run.status==="starting"?"Starting...":"Running...","aria-label":e.run.status==="starting"?"Starting":"Running"}):e.qualityCount===0&&e.errors>0?m.jsx("span",{className:`text-base font-bold text-amber-300 ${t}`,title:"Execution errors",children:"!"}):m.jsx("span",{className:`text-base font-bold ${e.passing?"text-emerald-400":"text-red-400"} ${t}`,children:e.passing?"✓":"✗"})}function ho({label:e,valueClassName:t,children:r}){return m.jsxs("div",{className:"min-w-0",children:[m.jsx("dt",{className:"text-xs text-gray-500",children:e}),m.jsx("dd",{className:`mt-1 min-w-0 text-sm tabular-nums ${t}`,children:r})]})}function Nk({filter:e,onFilterChange:t,remoteStatus:r,syncInFlight:n,onSync:i,projectName:l,syncFeedback:o}){var j,O;const c=(r==null?void 0:r.configured)===!0,f=c8(r,n),d=n===!0||!f.canSync,p={neutral:"border-gray-700 bg-gray-800/70 text-gray-300",good:"border-emerald-800/70 bg-emerald-950/30 text-emerald-300",info:"border-cyan-800/70 bg-cyan-950/30 text-cyan-300",warn:"border-yellow-800/70 bg-yellow-950/30 text-yellow-300",danger:"border-red-800/70 bg-red-950/30 text-red-300"}[f.tone],v=(o==null?void 0:o.kind)==="success"?"border-emerald-900/60 bg-emerald-950/20 text-emerald-300":(o==null?void 0:o.kind)==="warning"?"border-yellow-900/60 bg-yellow-950/20 text-yellow-300":"border-red-900/60 bg-red-950/20 text-red-300",y=((j=r==null?void 0:r.dirty_paths)==null?void 0:j.length)??0,x=((O=r==null?void 0:r.conflicted_paths)==null?void 0:O.length)??0,S=o8(r,l);return m.jsxs("div",{className:"flex flex-col gap-3 rounded-lg border border-gray-800 bg-gray-900/40 p-4",children:[m.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[m.jsx("div",{className:"flex flex-wrap items-center gap-2",children:["all","local","remote"].map(N=>{const P=N==="remote"&&!c;return m.jsx("button",{type:"button",onClick:()=>t(N),title:P?"Remote results are not configured":void 0,className:`rounded-full px-3 py-1 text-sm font-medium transition-colors ${e===N?"bg-cyan-500/20 text-cyan-300":P?"bg-gray-800 text-gray-600":"bg-gray-800 text-gray-400 hover:text-gray-200"}`,children:N==="all"?"All Sources":N==="local"?"Local Only":"Remote Only"},N)})}),c?m.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[m.jsx("span",{className:`inline-flex items-center rounded-full border px-2.5 py-1 text-xs font-medium ${p}`,children:f.label}),i?m.jsx("button",{type:"button",onClick:i,disabled:d,title:f.canSync?void 0:f.nextAction,className:"rounded-md border border-cyan-800 bg-cyan-950/40 px-3 py-1.5 text-sm font-medium text-cyan-300 transition-colors hover:bg-cyan-900/50 disabled:cursor-not-allowed disabled:opacity-60",children:n?"Syncing...":f.actionLabel}):null]}):null]}),c?m.jsxs("div",{className:"space-y-2 text-sm",children:[m.jsx("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 text-gray-400",children:S.map(N=>m.jsx("span",{children:N},N))}),m.jsx("p",{className:f.tone==="danger"?"text-red-300":"text-gray-400",children:f.summary}),f.nextAction?m.jsx("p",{className:"text-xs text-gray-500",children:f.nextAction}):null,y>0||x>0?m.jsxs("div",{className:"flex flex-wrap gap-2 text-xs",children:[y>0?m.jsxs("span",{className:"rounded-md border border-yellow-900/60 bg-yellow-950/20 px-2 py-0.5 text-yellow-300",children:[y," dirty path",y===1?"":"s"]}):null,x>0?m.jsxs("span",{className:"rounded-md border border-red-900/60 bg-red-950/20 px-2 py-0.5 text-red-300",children:[x," conflicted path",x===1?"":"s"]}):null]}):null]}):e==="all"?m.jsxs("p",{className:"text-sm text-gray-500",children:["Remote results are not configured. Add"," ",m.jsx("code",{className:"rounded bg-gray-800 px-1 text-gray-400",children:"results"})," to"," ",m.jsx("code",{className:"rounded bg-gray-800 px-1 text-gray-400",children:".agentv/config.yaml"})," to enable."]}):null,o?m.jsx("div",{className:`rounded-md border px-3 py-2 text-sm ${v}`,role:o.kind==="error"?"alert":"status",children:o.message}):null,r!=null&&r.last_error?m.jsxs("div",{className:"rounded-md border border-red-900/60 bg-red-950/20 px-3 py-2 text-sm text-red-300",role:"alert",children:[m.jsx("p",{className:"font-medium",children:"Remote sync error"}),m.jsx("p",{children:r.last_error}),m.jsx("p",{className:"mt-1 text-xs text-red-200/80",children:Db(r)})]}):null,r!=null&&r.git_diff_summary&&f.state!=="clean"?m.jsx("pre",{className:"max-h-32 overflow-auto whitespace-pre-wrap rounded-md border border-gray-800 bg-gray-950/60 px-3 py-2 text-xs text-gray-500",children:r.git_diff_summary}):null]})}const PC="remote::";function Mne(e){return e.startsWith(PC)?e.slice(PC.length):e}function Mp(e){const t=new Map;for(const r of e){const n=Mne(r.filename),i=t.get(n);(!i||i.source==="remote"&&r.source==="local")&&t.set(n,r)}return[...t.values()]}function _k({projectId:e}={}){var v,y;const[t,r]=w.useState(null),n=Ke(e?H8(e):j8),i=Ke(e?Lb(e):kb),l=((v=n.data)==null?void 0:v.targets)??[],o=((y=i.data)==null?void 0:y.runs)??[],c=n.error??i.error,f=n.isLoading||i.isLoading,d=w.useMemo(()=>l.find(x=>x.name===t)??null,[t,l]);w.useEffect(()=>{t&&!l.some(x=>x.name===t)&&r(null)},[t,l]);const p=w.useMemo(()=>{if(!d)return[];const x=new Map;for(const S of o){if((S.target??"default")!==d.name)continue;const O=S.experiment??"default",N=x.get(O)??[];N.push(S),x.set(O,N)}return[...x.entries()].map(([S,j])=>Rne(S,Mp(j))).sort((S,j)=>S.latestTimestamp&&j.latestTimestamp&&S.latestTimestamp!==j.latestTimestamp?j.latestTimestamp.localeCompare(S.latestTimestamp):S.latestTimestamp?-1:j.latestTimestamp?1:S.name.localeCompare(j.name))},[o,d]);return f?m.jsx(Ine,{}):c?m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load targets: ",c.message]}):l.length===0?m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-8 text-center",children:[m.jsx("p",{className:"text-lg text-gray-400",children:"No targets found"}),m.jsx("p",{className:"mt-2 text-sm text-gray-500",children:"Targets will appear here once evaluations are run with target labels."})]}):d?m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{className:"space-y-3",children:[m.jsx("button",{type:"button",onClick:()=>r(null),className:"rounded-md px-3 py-1.5 text-sm text-gray-400 transition-colors hover:text-gray-200",children:"← Back to targets"}),m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900/50 p-4",children:m.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[m.jsxs("div",{children:[m.jsx("h2",{className:"text-xl font-semibold text-white",children:d.name}),m.jsxs("p",{className:"mt-1 text-sm text-gray-400",children:[d.run_count," run",d.run_count===1?"":"s"," ·"," ",d.experiment_count," experiment",d.experiment_count===1?"":"s"," ·"," ",m.jsx("span",{className:"text-emerald-400",children:d.passed_count}),m.jsx("span",{className:"text-gray-600",children:" / "}),zo(d)," evals passed",Gt(d)>0&&m.jsxs("span",{className:"ml-2 text-amber-400",children:["· ",Gt(d)," execution errors"]})]})]}),m.jsx("div",{className:"w-full max-w-52",children:m.jsx(en,{rate:d.pass_rate})})]})})]}),p.length===0?m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-8 text-center",children:[m.jsx("p",{className:"text-lg text-gray-400",children:"No runs found for this target"}),m.jsx("p",{className:"mt-2 text-sm text-gray-500",children:"This target summary exists, but there are no matching runs to group by experiment."})]}):m.jsx("div",{className:"space-y-6",children:p.map(x=>m.jsxs("section",{className:"space-y-3",children:[m.jsxs("div",{className:"flex flex-col gap-3 rounded-lg border border-gray-800 bg-gray-900/40 p-4 sm:flex-row sm:items-center sm:justify-between",children:[m.jsxs("div",{children:[m.jsx("h3",{className:"text-lg font-medium text-gray-200",children:Dne(x.name)}),m.jsxs("p",{className:"mt-1 text-sm text-gray-400",children:[x.runs.length," run",x.runs.length===1?"":"s"," ·"," ",m.jsx("span",{className:"text-emerald-400",children:x.passedCount}),m.jsx("span",{className:"text-gray-600",children:" / "}),x.qualityCount," evals passed",x.executionErrorCount>0&&m.jsxs("span",{className:"ml-2 text-amber-400",children:["· ",x.executionErrorCount," execution errors"]}),x.latestTimestamp&&m.jsxs("span",{className:"ml-2 text-gray-500",children:["· Last run ",kne(x.latestTimestamp)]})]})]}),m.jsx("div",{className:"w-full max-w-52",children:m.jsx(en,{rate:x.passRate})})]}),m.jsx(Cp,{runs:x.runs,projectId:e})]},x.name))})]}):m.jsx("div",{className:"max-w-full overflow-x-auto rounded-lg border border-gray-800",children:m.jsxs("table",{className:"min-w-[720px] w-full whitespace-nowrap text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Target"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Runs"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Experiments"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Pass Rate"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Evals"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Execution Errors"})]})}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:l.map(x=>{const S=zo(x),j=Gt(x);return m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[m.jsx("td",{className:"px-4 py-3",children:m.jsx("button",{type:"button",onClick:()=>r(x.name),className:"font-medium text-cyan-400 hover:text-cyan-300 hover:underline",children:x.name})}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:x.run_count}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:x.experiment_count}),m.jsx("td",{className:"px-4 py-3",children:m.jsx(en,{rate:x.pass_rate})}),m.jsxs("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:[m.jsx("span",{className:"text-emerald-400",children:x.passed_count}),m.jsx("span",{className:"text-gray-600",children:" / "}),m.jsx("span",{children:S})]}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-amber-400",children:j>0?j:m.jsx("span",{className:"text-gray-600",children:"0"})})]},x.name)})})]})})}function Rne(e,t){let r=0,n=0,i=0,l=0,o=null;for(const c of t){const f=Gt(c),d=Math.max(0,c.test_count-f);r+=c.test_count,n+=d,l+=f,i+=Math.round(c.pass_rate*d),c.timestamp&&(!o||c.timestamp>o)&&(o=c.timestamp)}return{name:e,runs:t,latestTimestamp:o,evalCount:r,qualityCount:n,passedCount:i,executionErrorCount:l,passRate:n>0?i/n:0}}function Dne(e){return e==="default"?"Default experiment":e}function kne(e){const t=new Date(e);if(Number.isNaN(t.getTime()))return e;const r=Date.now()-t.getTime(),n=Math.floor(r/6e4),i=Math.floor(r/36e5);return n<1?"just now":n<60?`${n} min ago`:i<24?`${i} hour${i===1?"":"s"} ago`:t.toLocaleDateString()}function Ine(){return m.jsxs("div",{className:"space-y-4",children:[m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900/50 p-4",children:[m.jsx("div",{className:"h-6 w-40 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"mt-3 h-4 w-72 animate-pulse rounded bg-gray-800"})]}),m.jsx("div",{className:"overflow-hidden rounded-lg border border-gray-800",children:m.jsxs("div",{className:"animate-pulse",children:[m.jsx("div",{className:"border-b border-gray-800 bg-gray-900/50 px-4 py-3",children:m.jsx("div",{className:"h-4 w-48 rounded bg-gray-800"})}),["sk-1","sk-2","sk-3","sk-4","sk-5"].map(e=>m.jsxs("div",{className:"flex gap-4 border-b border-gray-800/50 px-4 py-3",children:[m.jsx("div",{className:"h-4 w-32 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-12 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-12 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-48 rounded bg-gray-800"}),m.jsx("div",{className:"h-4 w-20 rounded bg-gray-800"})]},e))]})}),m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900/40 p-4",children:[m.jsx("div",{className:"h-5 w-48 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"mt-3 h-4 w-56 animate-pulse rounded bg-gray-800"})]})]})}const TC=[{id:"runs",label:"🏃 Recent Runs"},{id:"experiments",label:"🧪 Experiments"},{id:"analytics",label:"📊 Analytics"},{id:"targets",label:"🤖 Targets"}],Lne=_r("/")({component:zne});function zne(){const e=cl(),n=Mb().location.search.tab,{data:i,isLoading:l}=Jo(),{data:o,isLoading:c}=ut(),f=(i==null?void 0:i.projects)??[],[d,p]=w.useState(void 0);w.useEffect(()=>{if(l||c)return;const y=o==null?void 0:o.current_project_id;if(!y){p(null);return}const x=aB(y),S=typeof window<"u"&&window.sessionStorage.getItem(x)==="1",j=sB(f.map(O=>O.id),y,S);typeof window<"u"&&j&&window.sessionStorage.setItem(x,"1"),p(j??null)},[o==null?void 0:o.current_project_id,c,f,l]);const v=lB(f.map(y=>y.id),o==null?void 0:o.project_dashboard,d??void 0,n);return w.useEffect(()=>{v.kind==="redirect"&&v.redirectPath&&e({to:v.redirectPath,replace:!0})},[v,e]),l||c||d===void 0?m.jsx(yb,{}):v.kind==="redirect"?m.jsx(yb,{}):v.kind==="dashboard"?m.jsx($ne,{}):m.jsx(Bne,{})}function $ne(){const{data:e}=Jo(),{data:t}=ut(),r=oa(),[n,i]=w.useState(""),[l,o]=w.useState(null),[c,f]=w.useState(!1),[d,p]=w.useState(!1),v=(e==null?void 0:e.projects)??[],y=(t==null?void 0:t.read_only)===!0;async function x(S){if(S.preventDefault(),!!n.trim()){o(null);try{await I8(n.trim()),i(""),f(!1),r.invalidateQueries({queryKey:["projects"]})}catch(j){o(j.message)}}}return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("h1",{className:"text-2xl font-semibold text-white",children:"Projects"}),m.jsx("div",{className:"flex gap-2",children:!y&&m.jsxs(m.Fragment,{children:[m.jsx("button",{type:"button",onClick:()=>p(!0),className:"rounded-md bg-emerald-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-emerald-500",children:"▶ Run Eval"}),m.jsx("button",{type:"button",onClick:()=>f(!c),className:"rounded-md bg-cyan-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-cyan-500",children:c?"Cancel":"Add Project"})]})})]}),l&&m.jsx("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-3 text-sm text-red-400",children:l}),!y&&c&&m.jsx("div",{className:"space-y-3 rounded-lg border border-gray-800 bg-gray-900/50 p-4",children:m.jsxs("form",{onSubmit:x,className:"flex gap-2",children:[m.jsx("input",{type:"text",value:n,onChange:S=>i(S.target.value),placeholder:"Project path (e.g., /home/user/projects/my-evals)",className:"flex-1 rounded-md border border-gray-700 bg-gray-800 px-3 py-1.5 text-sm text-white placeholder-gray-500 focus:border-cyan-600 focus:outline-none"}),m.jsx("button",{type:"submit",className:"rounded-md bg-cyan-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-cyan-500",children:"Add"})]})}),v.length===0?m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900/50 p-8 text-center",children:[m.jsx("p",{className:"text-lg text-gray-300",children:"No projects registered yet."}),m.jsx("p",{className:"mt-2 text-sm text-gray-500",children:"Add a project path to start browsing runs, experiments, analytics, and targets."})]}):m.jsx("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",children:v.map(S=>m.jsx(xne,{project:S},S.id))}),!y&&m.jsx(gl,{open:d,onClose:()=>p(!1)})]})}function Bne(){const r=Mb().location.search.tab,n=cl(),i=oa(),{data:l,isLoading:o,error:c,hasNextPage:f,fetchNextPage:d,isFetchingNextPage:p}=A8(),{data:v}=Rm(),{data:y}=ut(),[x,S]=w.useState(!1),[j,O]=w.useState("all"),[N,P]=w.useState(!1),[E,A]=w.useState(null),T=(y==null?void 0:y.read_only)===!0,M=TC.some(z=>z.id===r)?r:"runs",R=j==="all"?Mp((l==null?void 0:l.runs)??[]):((l==null?void 0:l.runs)??[]).filter(z=>z.source===j);async function I(){P(!0),A(null);try{const z=await G2();i.setQueryData(Ib().queryKey,z),A(L2(z)),Promise.all([i.invalidateQueries({queryKey:["runs"]}),i.invalidateQueries({queryKey:["experiments"]}),i.invalidateQueries({queryKey:["compare"]}),i.invalidateQueries({queryKey:["targets"]}),i.invalidateQueries({queryKey:["remote-status",""]})]).catch(()=>{})}catch(z){A(z2(z,v)),i.invalidateQueries({queryKey:["remote-status",""]}).catch(()=>{})}finally{P(!1)}}return w.useEffect(()=>{if((E==null?void 0:E.kind)!=="success")return;const z=window.setTimeout(()=>A(null),7e3);return()=>window.clearTimeout(z)},[E]),m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-semibold text-white",children:"Evaluation Runs"}),(y==null?void 0:y.project_name)&&m.jsx("p",{className:"mt-0.5 text-sm text-gray-500",children:y.project_name})]}),!T&&m.jsx("button",{type:"button",onClick:()=>S(!0),className:"rounded-md bg-emerald-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-emerald-500",children:"▶ Run Eval"})]}),m.jsx("div",{className:"border-b border-gray-800",children:m.jsx("div",{className:"flex flex-wrap gap-1 sm:flex-nowrap",children:TC.map(z=>m.jsx("button",{type:"button",onClick:()=>n({to:"/",search:{tab:z.id}}),className:`px-4 py-2 text-sm font-medium transition-colors ${M===z.id?"border-b-2 border-cyan-400 text-cyan-400":"text-gray-400 hover:text-gray-300"}`,children:z.label},z.id))})}),M==="runs"&&m.jsx(qne,{runs:R,isLoading:o,error:c,sourceFilter:j,onSourceFilterChange:O,remoteStatus:v,syncInFlight:N,syncFeedback:E,onSyncRemote:I,projectName:y==null?void 0:y.project_name,hasNextPage:f,isFetchingNextPage:p,onLoadMore:()=>void d(),readOnly:T}),M==="experiments"&&m.jsx(Ok,{}),M==="analytics"&&m.jsx(Une,{readOnly:T}),M==="targets"&&m.jsx(_k,{}),!T&&m.jsx(gl,{open:x,onClose:()=>S(!1)})]})}function Une({readOnly:e}){const{data:t,isLoading:r,isError:n,error:i}=T8();return m.jsx(jk,{data:t,isLoading:r,isError:n,error:i,readOnly:e})}function qne({runs:e,isLoading:t,error:r,sourceFilter:n,onSourceFilterChange:i,remoteStatus:l,syncInFlight:o,syncFeedback:c,onSyncRemote:f,projectName:d,hasNextPage:p,isFetchingNextPage:v,onLoadMore:y,readOnly:x}){return t?m.jsx(yb,{}):r?m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load runs: ",r.message]}):m.jsxs("div",{className:"space-y-4",children:[m.jsx(Hne,{}),m.jsx(Nk,{filter:n,onFilterChange:i,remoteStatus:l,syncInFlight:o,onSync:f,projectName:d,syncFeedback:c}),m.jsx(Cp,{runs:e,enableCombine:!x,hasNextPage:p,isFetchingNextPage:v,onLoadMore:y,emptyMessage:n==="remote"?l!=null&&l.configured?m.jsxs(m.Fragment,{children:[m.jsx("p",{className:"text-lg text-gray-400",children:"No remote runs found."}),m.jsxs("p",{className:"mt-2 text-sm text-gray-500",children:["Sync remote results or run an eval with"," ",m.jsx("code",{className:"rounded bg-gray-800 px-2 py-1 text-cyan-400",children:"sync.auto_push: true"})," ","in your config."]})]}):m.jsxs(m.Fragment,{children:[m.jsx("p",{className:"text-lg text-gray-400",children:"Remote results are not configured."}),m.jsxs("p",{className:"mt-2 text-sm text-gray-500",children:["Add ",m.jsx("code",{className:"rounded bg-gray-800 px-2 py-1 text-cyan-400",children:"results"})," ","to"," ",m.jsx("code",{className:"rounded bg-gray-800 px-2 py-1 text-cyan-400",children:".agentv/config.yaml"})," ","to enable remote result syncing."]})]}):void 0})]})}function Hne(){const{data:e}=Bb(),t=((e==null?void 0:e.runs)??[]).filter(r=>r.status==="starting"||r.status==="running");return t.length===0?null:m.jsxs("div",{className:"rounded-lg border border-cyan-900/40 bg-cyan-950/10",children:[m.jsx("div",{className:"border-b border-cyan-900/30 px-4 py-2.5",children:m.jsx("span",{className:"text-xs font-medium uppercase tracking-wider text-cyan-400",children:"Active"})}),m.jsx("ul",{className:"divide-y divide-gray-800/50",children:t.map(r=>m.jsxs("li",{className:"flex items-center justify-between px-4 py-3",children:[m.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[m.jsx("span",{className:"inline-block h-2 w-2 flex-shrink-0 animate-pulse rounded-full bg-cyan-400"}),m.jsx("span",{className:"truncate font-mono text-sm text-gray-300",children:r.id}),m.jsx("span",{className:"flex-shrink-0 text-xs text-gray-500",children:new Date(r.started_at).toLocaleTimeString()})]}),m.jsx(Ne,{to:"/jobs/$runId",params:{runId:r.id},className:"ml-4 flex-shrink-0 text-xs text-cyan-400 hover:text-cyan-300",children:"View Log →"})]},r.id))})]})}function yb(){return m.jsx("div",{className:"space-y-2",children:["s1","s2","s3","s4","s5"].map(e=>m.jsx("div",{className:"h-12 animate-pulse rounded-lg bg-gray-900"},e))})}function Ek(e){return e==="finished"||e==="failed"}function Fne(e,t){return t||!e?!1:!Ek(e)}function Kne(e,t,r,n){return t||n&&!Ek(n)?!1:!!(e.some(i=>i.executionStatus==="execution_error")||r!==void 0&&e.length<r)}function Gne(e){const t={suite_filter:e.suiteFilter,output:e.runDir};return e.target&&(t.target=e.target),e.mode==="resume"?t.resume=!0:t.rerun_failed=!0,t}function Ak({results:e,runDir:t,suiteFilter:r,target:n,projectId:i,isReadOnly:l,plannedTestCount:o,runStatus:c}){const f=cl(),[d,p]=w.useState(null),[v,y]=w.useState(null);if(!Kne(e,l,o,c))return null;const x=!!t&&!!r,S=t?r?"":"Original eval file path missing from benchmark.json — cannot determine what to resume":"Run directory unavailable (remote run cannot be resumed in place)";async function j(O){if(!(!x||!t||!r)){p(O),y(null);try{const N=Gne({mode:O,runDir:t,suiteFilter:r,target:n}),P=await V2(N,i);f(i?{to:"/projects/$projectId/jobs/$runId",params:{projectId:i,runId:P.id}}:{to:"/jobs/$runId",params:{runId:P.id}})}catch(N){y(N instanceof Error?N.message:"Failed to launch resume"),p(null)}}}return m.jsxs("div",{className:"flex flex-col items-end gap-1",children:[m.jsxs("div",{className:"flex items-center gap-2",children:[m.jsx("button",{type:"button",onClick:()=>j("resume"),disabled:!x||d!==null,title:x?"Skip already-completed tests, run the rest":S,className:"rounded-md bg-amber-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-amber-500 disabled:cursor-not-allowed disabled:opacity-50","data-testid":"resume-run-button",children:d==="resume"?"Resuming…":"↻ Resume run"}),m.jsx("button",{type:"button",onClick:()=>j("rerun"),disabled:!x||d!==null,title:x?"Re-run failed/errored tests, keep passing results":S,className:"rounded-md border border-amber-600/60 bg-transparent px-3 py-1.5 text-sm font-medium text-amber-300 hover:bg-amber-950/40 disabled:cursor-not-allowed disabled:opacity-50","data-testid":"rerun-failed-button",children:d==="rerun"?"Re-running…":"Rerun failed cases"})]}),v&&m.jsx("p",{className:"text-xs text-red-400",children:v})]})}function Pk(e){return e&&e!=="default"?e:void 0}function Yne(e,t){const r=[Pk(t==null?void 0:t.experiment),t==null?void 0:t.target].filter(n=>!!n);return r.length>0?r.join(" · "):e}function gb(e){const t=e==null?void 0:e.trim();return t||void 0}function Tk(e){const t=e.results[0],r=gb(e.sourceLabel),n=e.source==="remote",i=n&&r?r:Yne(e.runId,t),l=t!=null&&t.timestamp&&e.formatTimestamp?e.formatTimestamp(t.timestamp):t==null?void 0:t.timestamp,o=[t==null?void 0:t.target,Pk(t==null?void 0:t.experiment),l,n?void 0:e.source].filter(d=>!!d),c=gb(e.remoteRepo),f=[];return n&&(r&&r!==i&&f.push({label:"Source",value:r}),c&&f.push({label:"Repo",value:c})),{heading:i,meta:o.join(" · "),...n&&{sourceBadge:"Remote"},...r&&{sourceLabel:r},sourceContext:f}}function Vne(e){const t=e.replace(/\\/g,"/");return t==="."||t===".."||t.startsWith("./")||t.startsWith("../")||t.startsWith("/")||/^[A-Za-z]:\//.test(t)||t.includes("/../")||t.includes("/./")}function Qne(e){var r;return((r=e.split(/[\\/]+/).filter(n=>n&&n!=="."&&n!=="..").at(-1))==null?void 0:r.trim())||void 0}function Xne(e){const t=gb(e)??"Uncategorized";return Vne(t)?{label:Qne(t)??"Uncategorized",mutedLabel:t}:{label:t}}function Xo({total:e,passed:t,failed:r,passRate:n,executionErrors:i=0,totalCost:l}){const o=Math.round(n*100),c=o>=80?"text-cyan-400":o>=60?"text-amber-400":"text-red-400";return m.jsxs("div",{className:"flex flex-wrap items-center gap-6 rounded-lg border border-gray-800 bg-gray-900/60 px-5 py-3",children:[m.jsx(mo,{label:"Pass Rate",value:`${o}%`,accent:c,large:!0}),m.jsx("div",{className:"h-6 w-px bg-gray-700"}),m.jsx(mo,{label:"Passed",value:String(t),accent:"text-emerald-400"}),m.jsx(mo,{label:"Failures",value:String(r),accent:"text-red-400"}),i>0&&m.jsx(mo,{label:"Execution Errors",value:String(i),accent:"text-amber-400"}),m.jsx(mo,{label:"Total",value:String(e)}),l!==void 0&&m.jsxs(m.Fragment,{children:[m.jsx("div",{className:"h-6 w-px bg-gray-700"}),m.jsx(mo,{label:"Cost",value:`$${l.toFixed(4)}`,accent:"text-amber-400"})]})]})}function mo({label:e,value:t,accent:r,large:n}){return m.jsxs("div",{className:"flex flex-col",children:[m.jsx("span",{className:"text-xs text-gray-500",children:e}),m.jsx("span",{className:`tabular-nums font-semibold ${n?"text-2xl":"text-lg"} ${r??"text-white"}`,children:t})]})}function Zne(e,t){const r=new Map;for(const n of e){const i=n.category??"Uncategorized",l=n.suite??"Uncategorized";r.has(i)||r.set(i,new Map);const o=r.get(i),c=o.get(l)??[];c.push(n),o.set(l,c)}return Array.from(r.entries()).map(([n,i])=>{const l=Array.from(i.entries()).map(([x,S])=>{const j=Im(S,t);return{name:x,passed:j.passed,failed:j.failed,executionErrors:j.executionErrors,total:j.total,avgScore:j.avgScore}}).sort((x,S)=>x.name.localeCompare(S.name)),o=l.reduce((x,S)=>x+S.total,0),c=l.reduce((x,S)=>x+S.passed,0),f=l.reduce((x,S)=>x+S.failed,0),d=l.reduce((x,S)=>x+S.executionErrors,0),p=o-d,v=l.reduce((x,S)=>x+S.avgScore*(S.total-S.executionErrors),0),y=Xne(n);return{name:n,displayName:y.label,mutedDisplayName:y.mutedLabel,suites:l,total:o,passed:c,failed:f,executionErrors:d,avgScore:p>0?v/p:0}}).sort((n,i)=>n.name.localeCompare(i.name))}function Ck({results:e,runId:t,projectId:r}){const{data:n}=ut(r),i=(n==null?void 0:n.threshold)??(n==null?void 0:n.pass_threshold)??.8,l=e.length,o=Im(e,i),c=e.reduce((d,p)=>d+(p.costUsd??0),0),f=Zne(e,i);return l===0?m.jsxs("div",{className:"space-y-6",children:[m.jsx(Xo,{total:0,passed:0,failed:0,passRate:0}),m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-8 text-center",children:[m.jsx("p",{className:"text-lg text-gray-400",children:"No evaluations found"}),m.jsx("p",{className:"mt-2 text-sm text-gray-500",children:"This run has no results yet."})]})]}):m.jsxs("div",{className:"space-y-6",children:[m.jsx(Xo,{total:l,passed:o.passed,failed:o.failed,passRate:o.passRate,executionErrors:o.executionErrors,totalCost:c>0?c:void 0}),m.jsxs("div",{children:[m.jsx("h3",{className:"mb-3 text-sm font-medium text-gray-400",children:"Category Breakdown"}),m.jsx("div",{className:"max-w-full overflow-x-auto rounded-lg border border-gray-800",children:m.jsxs("table",{className:"min-w-[620px] w-full whitespace-nowrap text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[m.jsx("th",{className:"px-4 py-2.5 font-medium text-gray-400",children:"Category"}),m.jsx("th",{className:"px-4 py-2.5 font-medium text-gray-400",children:"Pass Rate"}),m.jsx("th",{className:"px-4 py-2.5 text-right font-medium text-gray-400",children:"Passed"}),m.jsx("th",{className:"px-4 py-2.5 text-right font-medium text-gray-400",children:"Failures"}),m.jsx("th",{className:"px-4 py-2.5 text-right font-medium text-gray-400",children:"Execution Errors"}),m.jsx("th",{className:"px-4 py-2.5 text-right font-medium text-gray-400",children:"Total"})]})}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:f.map(d=>{const p=m.jsxs("span",{className:"flex min-w-0 items-baseline gap-2",children:[m.jsx("span",{className:"truncate",children:d.displayName}),d.mutedDisplayName?m.jsx("span",{className:"truncate text-xs font-normal text-gray-500",title:d.mutedDisplayName,children:d.mutedDisplayName}):null]});return m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[m.jsx("td",{className:"w-[18rem] max-w-[18rem] px-4 py-2.5 font-medium text-gray-200",children:r?m.jsx(Ne,{to:"/projects/$projectId/runs/$runId/category/$category",params:{projectId:r,runId:t,category:d.name},className:"flex min-w-0 text-cyan-400 hover:text-cyan-300 hover:underline",title:d.mutedDisplayName??d.displayName,children:p}):m.jsx(Ne,{to:"/runs/$runId/category/$category",params:{runId:t,category:d.name},className:"flex min-w-0 text-cyan-400 hover:text-cyan-300 hover:underline",title:d.mutedDisplayName??d.displayName,children:p})}),m.jsx("td",{className:"px-4 py-2.5",children:m.jsx(en,{rate:d.total-d.executionErrors>0?d.passed/(d.total-d.executionErrors):0})}),m.jsx("td",{className:"px-4 py-2.5 text-right tabular-nums text-emerald-400",children:d.passed}),m.jsx("td",{className:"px-4 py-2.5 text-right tabular-nums text-red-400",children:d.failed>0?d.failed:m.jsx("span",{className:"text-gray-600",children:"0"})}),m.jsx("td",{className:"px-4 py-2.5 text-right tabular-nums text-amber-400",children:d.executionErrors>0?d.executionErrors:m.jsx("span",{className:"text-gray-600",children:"0"})}),m.jsx("td",{className:"px-4 py-2.5 text-right tabular-nums text-gray-400",children:d.total})]},d.name)})})]})})]}),m.jsxs("div",{children:[m.jsx("h3",{className:"mb-3 text-sm font-medium text-gray-400",children:"All Evals"}),m.jsx("div",{className:"max-w-full overflow-x-auto rounded-lg border border-gray-800",children:m.jsxs("table",{className:"min-w-[760px] w-full whitespace-nowrap text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[m.jsx("th",{className:"w-8 px-4 py-3"}),m.jsx("th",{className:"w-[24rem] px-4 py-3 font-medium text-gray-400",children:"Test ID"}),m.jsx("th",{className:"w-[12rem] px-4 py-3 font-medium text-gray-400",children:"Target"}),m.jsx("th",{className:"w-48 px-4 py-3 font-medium text-gray-400",children:"Score"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Duration"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Cost"})]})}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:e.map((d,p)=>{const v=km(d),y=Fa(d.score,i);return m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[m.jsx("td",{className:"px-4 py-3 text-center",children:v?m.jsx("span",{className:"text-base font-bold text-amber-400",children:"!"}):m.jsx("span",{className:`text-base font-bold ${y?"text-emerald-400":"text-red-400"}`,children:y?"✓":"✗"})}),m.jsx("td",{className:"w-[24rem] max-w-[24rem] px-4 py-3",children:r?m.jsx(Ne,{to:"/projects/$projectId/evals/$runId/$evalId",params:{projectId:r,runId:t,evalId:d.testId},className:"block truncate font-medium text-cyan-400 hover:text-cyan-300 hover:underline",title:d.testId,children:d.testId}):m.jsx(Ne,{to:"/evals/$runId/$evalId",params:{runId:t,evalId:d.testId},className:"block truncate font-medium text-cyan-400 hover:text-cyan-300 hover:underline",title:d.testId,children:d.testId})}),m.jsx("td",{className:"w-[12rem] max-w-[12rem] truncate px-4 py-3 text-gray-400",title:d.target??void 0,children:d.target??"-"}),m.jsx("td",{className:"px-4 py-3",children:v?m.jsx("span",{className:"inline-flex rounded-full bg-amber-900/40 px-2 py-0.5 text-xs font-medium text-amber-300",children:"Execution error"}):m.jsx(en,{rate:d.score})}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:d.durationMs!=null?`${(d.durationMs/1e3).toFixed(1)}s`:"-"}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:d.costUsd!=null?`$${d.costUsd.toFixed(4)}`:"-"})]},`${d.testId}-${p}`)})})]})})]}),m.jsx(Wne,{runId:t,projectId:r})]})}function Wne({runId:e,projectId:t}){const[r,n]=w.useState(!1),{data:i,isLoading:l,error:o}=g8(e,t);return!l&&!o&&i==null?null:m.jsxs("div",{children:[m.jsxs("button",{type:"button",onClick:()=>n(c=>!c),className:"flex w-full items-center justify-between rounded-lg border border-gray-800 bg-gray-900/50 px-4 py-2 text-left text-sm font-medium text-gray-300 transition-colors hover:bg-gray-900","aria-expanded":r,children:[m.jsxs("span",{className:"flex items-center gap-2",children:[m.jsx("span",{"aria-hidden":"true",children:r?"▾":"▸"}),"Run Log"]}),m.jsx("span",{className:"text-xs text-gray-500",children:l?"Loading…":o?"Failed to load":i?`${i.length} chars`:""})]}),r&&m.jsx("div",{className:"mt-2 overflow-hidden rounded-lg border border-gray-800 bg-black",children:o?m.jsxs("div",{className:"p-4 text-sm text-red-400",children:["Failed to load run log: ",o.message]}):m.jsx("pre",{className:"max-h-[480px] overflow-auto whitespace-pre-wrap break-words p-4 font-mono text-xs leading-relaxed text-gray-200",children:i??""})})]})}function Rp({status:e}){const t=e==="finished"||e==="failed",n={starting:"text-yellow-400",running:"text-cyan-400",finished:"text-emerald-400",failed:"text-red-400"}[e]??"text-gray-400";return m.jsxs(m.Fragment,{children:[m.jsx("span",{className:`text-sm font-medium ${n}`,children:e.charAt(0).toUpperCase()+e.slice(1)}),!t&&m.jsx("span",{className:"inline-block h-3 w-3 animate-spin rounded-full border-2 border-cyan-400 border-t-transparent"})]})}function Dp({runId:e,status:t,isReadOnly:r,projectId:n}){const[i,l]=w.useState(!1),[o,c]=w.useState(null);if(!Fne(t,r))return null;async function f(){l(!0),c(null);try{await J8(e,n)}catch(d){c(d instanceof Error?d.message:"Failed to stop run"),l(!1)}}return m.jsxs("div",{className:"flex flex-col items-end gap-1",children:[m.jsx("button",{type:"button",onClick:f,disabled:i,className:"inline-flex items-center gap-2 rounded-md border border-gray-700 bg-transparent px-3 py-1.5 text-sm font-medium text-gray-300 hover:bg-gray-800 disabled:cursor-not-allowed disabled:opacity-50","data-testid":"stop-run-button",children:i?"Stopping…":m.jsxs(m.Fragment,{children:[m.jsx("span",{"aria-hidden":"true",className:"inline-block h-2.5 w-2.5 rounded-[1px] bg-current"}),"Stop"]})}),o&&m.jsx("p",{className:"text-xs text-red-400",children:o})]})}const Mk=_r("/runs/$runId")({component:Jne});function Jne(){var j;const{runId:e}=Mk.useParams(),{data:t,isLoading:r,error:n}=rf(e),{data:i}=ut(),{data:l}=Rm(),[o,c]=w.useState(!1),f=(i==null?void 0:i.read_only)===!0;if(r)return m.jsxs("div",{className:"space-y-4",children:[m.jsx("div",{className:"h-8 w-64 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"grid grid-cols-5 gap-4",children:["s1","s2","s3","s4","s5"].map(O=>m.jsx("div",{className:"h-20 animate-pulse rounded-lg bg-gray-900"},O))})]});if(n)return m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load run: ",n.message]});const d=(j=t==null?void 0:t.results)==null?void 0:j[0],p=d==null?void 0:d.target,v=p?{target:p}:void 0,y=t==null?void 0:t.status,x=y==="starting"||y==="running",S=Tk({runId:e,results:(t==null?void 0:t.results)??[],source:t==null?void 0:t.source,sourceLabel:t==null?void 0:t.source_label,remoteRepo:(t==null?void 0:t.source)==="remote"?l==null?void 0:l.repo:void 0,formatTimestamp:O=>new Date(O).toLocaleString()});return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",children:[m.jsxs("div",{className:"min-w-0",children:[m.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[m.jsx("h1",{className:"min-w-0 truncate text-xl font-semibold text-white sm:text-2xl",title:S.heading,children:S.heading}),S.sourceBadge?m.jsx("span",{className:"rounded-md border border-cyan-900/60 bg-cyan-950/20 px-2 py-0.5 text-xs font-medium text-cyan-300",children:S.sourceBadge}):null]}),S.meta?m.jsx("p",{className:"mt-1 text-sm text-gray-500",children:S.meta}):null,S.sourceContext.length>0?m.jsx("div",{className:"mt-2 flex flex-wrap items-center gap-2 text-xs text-gray-500",children:S.sourceContext.map(O=>m.jsxs("span",{children:[m.jsxs("span",{className:"text-gray-600",children:[O.label,":"]})," ",O.value]},`${O.label}:${O.value}`))}):null]}),m.jsxs("div",{className:"flex flex-wrap items-center gap-3 sm:justify-end",children:[!f&&x?m.jsx(Dp,{runId:e,status:y,isReadOnly:f}):m.jsx(Ak,{results:(t==null?void 0:t.results)??[],runDir:t==null?void 0:t.run_dir,suiteFilter:t==null?void 0:t.suite_filter,target:p??void 0,isReadOnly:f,plannedTestCount:t==null?void 0:t.planned_test_count,runStatus:y}),y&&m.jsx(Rp,{status:y}),!f&&!x&&m.jsx("button",{type:"button",onClick:()=>c(!0),className:"rounded-md bg-emerald-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-emerald-500",children:"▶ Run evals"})]})]}),m.jsx(Ck,{results:(t==null?void 0:t.results)??[],runId:e}),!f&&m.jsx(gl,{open:o,onClose:()=>c(!1),prefill:v})]})}function eae({projectId:e,displayName:t}){return m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-semibold text-white",children:t}),t!==e?m.jsx("p",{className:"mt-0.5 text-sm text-gray-500",children:e}):null]})}const CC=[{id:"runs",label:"🏃 Recent Runs"},{id:"experiments",label:"🧪 Experiments"},{id:"analytics",label:"📊 Analytics"},{id:"targets",label:"🤖 Targets"}],Rk=_r("/projects/$projectId")({component:tae});function tae(){const{projectId:e}=Rk.useParams(),n=Mb().location.search.tab,i=cl(),[l,o]=w.useState(!1),{data:c}=ut(e),{data:f}=Jo(),d=(c==null?void 0:c.read_only)===!0,p=qb(e,f==null?void 0:f.projects),v=CC.some(y=>y.id===n)?n:"runs";return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx(eae,{projectId:e,displayName:p}),!d&&m.jsx("button",{type:"button",onClick:()=>o(!0),className:"rounded-md bg-emerald-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-emerald-500",children:"▶ Run Eval"})]}),m.jsx("div",{className:"border-b border-gray-800 sm:overflow-x-auto",children:m.jsx("div",{className:"flex flex-wrap gap-1 sm:min-w-max sm:flex-nowrap",children:CC.map(y=>m.jsx("button",{type:"button",onClick:()=>i({to:"/projects/$projectId",params:{projectId:e},search:{tab:y.id}}),className:`shrink-0 px-4 py-2 text-sm font-medium transition-colors ${v===y.id?"border-b-2 border-cyan-400 text-cyan-400":"text-gray-400 hover:text-gray-300"}`,children:y.label},y.id))})}),v==="runs"&&m.jsx(rae,{projectId:e,projectName:p,readOnly:d}),v==="experiments"&&m.jsx(Ok,{projectId:e}),v==="analytics"&&m.jsx(nae,{projectId:e,readOnly:d}),v==="targets"&&m.jsx(_k,{projectId:e}),!d&&m.jsx(gl,{open:l,onClose:()=>o(!1),projectId:e})]})}function rae({projectId:e,projectName:t,readOnly:r}){const n=oa(),{data:i,isLoading:l,error:o,hasNextPage:c,fetchNextPage:f,isFetchingNextPage:d}=$8(e),{data:p}=Bb(e),{data:v}=Rm(e),[y,x]=w.useState("all"),[S,j]=w.useState(!1),[O,N]=w.useState(null),P=((p==null?void 0:p.runs)??[]).filter(T=>T.status==="starting"||T.status==="running"),E=y==="all"?Mp((i==null?void 0:i.runs)??[]):((i==null?void 0:i.runs)??[]).filter(T=>T.source===y);async function A(){j(!0),N(null);try{const T=await G2(e);n.setQueryData(Ib(e).queryKey,T);const M=L2(T);N(M),Promise.all([n.invalidateQueries({queryKey:["projects",e,"runs"]}),n.invalidateQueries({queryKey:["projects",e,"experiments"]}),n.invalidateQueries({queryKey:["projects",e,"compare"]}),n.invalidateQueries({queryKey:["projects",e,"targets"]}),n.invalidateQueries({queryKey:["remote-status",e]})]).catch(()=>{})}catch(T){N(z2(T,v)),n.invalidateQueries({queryKey:["remote-status",e]}).catch(()=>{})}finally{j(!1)}}return w.useEffect(()=>{if((O==null?void 0:O.kind)!=="success")return;const T=window.setTimeout(()=>N(null),7e3);return()=>window.clearTimeout(T)},[O]),l?m.jsx("div",{className:"space-y-2",children:["s1","s2","s3"].map(T=>m.jsx("div",{className:"h-12 animate-pulse rounded-lg bg-gray-900"},T))}):o?m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load runs: ",o.message]}):m.jsxs("div",{className:"space-y-4",children:[P.length>0&&m.jsxs("div",{className:"rounded-lg border border-cyan-900/40 bg-cyan-950/10",children:[m.jsx("div",{className:"border-b border-cyan-900/30 px-4 py-2.5",children:m.jsx("span",{className:"text-xs font-medium uppercase tracking-wider text-cyan-400",children:"Active"})}),m.jsx("ul",{className:"divide-y divide-gray-800/50",children:P.map(T=>m.jsxs("li",{className:"flex items-center justify-between gap-4 px-4 py-3",children:[m.jsxs("div",{className:"min-w-0 flex items-center gap-3",children:[m.jsx("span",{className:"inline-block h-2 w-2 flex-shrink-0 animate-pulse rounded-full bg-cyan-400"}),m.jsx("span",{className:"truncate font-mono text-sm text-gray-300",children:T.id}),m.jsx("span",{className:"flex-shrink-0 text-xs text-gray-500",children:new Date(T.started_at).toLocaleTimeString()})]}),m.jsx(Ne,{to:"/projects/$projectId/jobs/$runId",params:{projectId:e,runId:T.id},className:"flex-shrink-0 text-xs text-cyan-400 hover:text-cyan-300",children:"View Log →"})]},T.id))})]}),m.jsx(Nk,{filter:y,onFilterChange:x,remoteStatus:v,syncInFlight:S,onSync:A,projectName:t,syncFeedback:O}),m.jsx(Cp,{runs:E,projectId:e,enableCombine:!r,hasNextPage:c,isFetchingNextPage:d,onLoadMore:()=>void f()})]})}function nae({projectId:e,readOnly:t}){const{data:r,isLoading:n,isError:i,error:l}=Ke(K2(e));return m.jsx(jk,{data:r,isLoading:n,isError:i,error:l,projectId:e,readOnly:t})}const Dk=_r("/jobs/$runId")({component:aae});function aae(){const{runId:e}=Dk.useParams(),{data:t,isLoading:r,error:n}=$b(e),{data:i}=ut(),l=(i==null?void 0:i.read_only)===!0;if(r)return m.jsxs("div",{className:"space-y-4",children:[m.jsx(Q0,{}),m.jsx("div",{className:"h-8 w-48 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"h-64 animate-pulse rounded-lg bg-gray-900"})]});if(n||!t)return m.jsxs("div",{className:"space-y-4",children:[m.jsx(Q0,{}),m.jsx("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-4 text-sm text-red-400",children:n?`Failed to load run: ${n.message}`:"Run not found."})]});const o=t.status==="finished"||t.status==="failed";return m.jsxs("div",{className:"space-y-4",children:[m.jsx(Q0,{}),m.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-4",children:[m.jsxs("div",{className:"min-w-0",children:[m.jsx("h1",{className:"truncate font-mono text-base font-semibold text-white",children:e}),m.jsxs("p",{className:"mt-0.5 text-xs text-gray-500",children:["Started ",new Date(t.started_at).toLocaleString(),t.finished_at&&m.jsxs(m.Fragment,{children:[" · ","Finished ",new Date(t.finished_at).toLocaleString()," · ",Math.round((new Date(t.finished_at).getTime()-new Date(t.started_at).getTime())/1e3),"s"]})]})]}),m.jsxs("div",{className:"flex flex-shrink-0 items-center gap-3",children:[m.jsx(Dp,{runId:e,status:t.status,isReadOnly:l}),m.jsx(Rp,{status:t.status})]})]}),m.jsxs("div",{className:"rounded-md border border-gray-700 bg-gray-950 px-4 py-3",children:[m.jsx("p",{className:"mb-1 text-xs font-medium uppercase tracking-wider text-gray-500",children:"Command"}),m.jsx("code",{className:"break-all text-xs text-cyan-300",children:t.command})]}),t.stdout?m.jsxs("div",{children:[m.jsx("p",{className:"mb-1 text-xs font-medium uppercase tracking-wider text-gray-500",children:"Output"}),m.jsx("div",{className:"max-h-[60vh] overflow-y-auto rounded-lg border border-gray-700 bg-gray-950 p-4",children:m.jsx("pre",{className:"whitespace-pre-wrap font-mono text-xs text-gray-200",children:t.stdout})})]}):!o&&m.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-500",children:[m.jsx("span",{className:"inline-block h-2.5 w-2.5 animate-spin rounded-full border-2 border-gray-500 border-t-transparent"}),"Waiting for output…"]}),t.stderr&&m.jsxs("div",{children:[m.jsx("p",{className:"mb-1 text-xs font-medium uppercase tracking-wider text-red-500",children:"Stderr"}),m.jsx("div",{className:"max-h-48 overflow-y-auto rounded-lg border border-red-900/40 bg-red-950/20 p-4",children:m.jsx("pre",{className:"whitespace-pre-wrap font-mono text-xs text-red-300",children:t.stderr})})]}),o&&m.jsxs("p",{className:"text-xs text-gray-500",children:["Exit code:"," ",m.jsx("span",{className:t.exit_code===0?"text-emerald-400":"text-red-400",children:t.exit_code})]})]})}function Q0(){return m.jsx(Ne,{to:"/",search:{tab:"runs"},className:"text-xs text-gray-400 hover:text-cyan-400",children:"← Back to Runs"})}function kk({experimentName:e,projectId:t}){var y;const{data:r,isLoading:n}=Ke(t?zb(t):U2),{data:i,isLoading:l}=Ke(t?Lb(t):kb);if(n||l)return m.jsxs("div",{className:"space-y-4",children:[m.jsx("div",{className:"h-8 w-64 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"grid grid-cols-4 gap-4",children:["s1","s2","s3","s4"].map(x=>m.jsx("div",{className:"h-20 animate-pulse rounded-lg bg-gray-900"},x))})]});const c=(y=r==null?void 0:r.experiments)==null?void 0:y.find(x=>x.name===e),f=Mp(((i==null?void 0:i.runs)??[]).filter(x=>(x.experiment??"default")===e)),d=(c==null?void 0:c.pass_rate)??0,p=f.length,v=(c==null?void 0:c.target_count)??0;return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-semibold text-white",children:e}),m.jsxs("p",{className:"mt-1 text-sm text-gray-400",children:[p," run",p!==1?"s":""," · ",v," target",v!==1?"s":"",(c==null?void 0:c.last_run)&&m.jsxs("span",{className:"ml-2",children:["· Last run: ",MC(c.last_run)]})]})]}),c&&m.jsxs("div",{className:"grid grid-cols-2 gap-4 sm:grid-cols-4",children:[m.jsx(hh,{label:"Runs",value:String(p)}),m.jsx(hh,{label:"Targets",value:String(v)}),m.jsx(hh,{label:"Pass Rate",value:`${Math.round(d*100)}%`,accent:"text-cyan-400"}),m.jsx(hh,{label:"Last Run",value:MC(c.last_run)})]}),m.jsxs("div",{children:[m.jsx("h2",{className:"mb-4 text-lg font-medium text-gray-200",children:"All Runs"}),m.jsx(Cp,{runs:f,projectId:t,emptyMessage:m.jsxs("div",{children:[m.jsx("p",{className:"text-lg text-gray-400",children:"No evaluation runs found for this experiment."}),m.jsx("p",{className:"mt-2 text-sm text-gray-500",children:"Runs will appear here once this experiment has execution results."})]})})]})]})}function hh({label:e,value:t,accent:r}){return m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-4",children:[m.jsx("p",{className:"text-sm text-gray-400",children:e}),m.jsx("p",{className:`mt-1 text-2xl font-semibold tabular-nums ${r??"text-white"}`,children:t})]})}function MC(e){if(!e)return"N/A";try{const t=new Date(e);return Number.isNaN(t.getTime())?"N/A":t.toLocaleString()}catch{return"N/A"}}const Ik=_r("/experiments/$experimentName")({component:iae});function iae(){const{experimentName:e}=Ik.useParams();return m.jsx(kk,{experimentName:e})}async function sae(e,t){const r=await fetch("/api/feedback",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reviews:[{test_id:e,comment:t}]})});if(!r.ok)throw new Error(`Failed to save feedback: ${r.status}`);return r.json()}function lae({testId:e}){var p;const{data:t}=P8(),r=oa(),n=(p=t==null?void 0:t.reviews)==null?void 0:p.find(v=>v.test_id===e),[i,l]=w.useState((n==null?void 0:n.comment)??""),[o,c]=w.useState(!1);w.useEffect(()=>{l((n==null?void 0:n.comment)??""),c(!1)},[n==null?void 0:n.comment]);const f=dx({mutationFn:()=>sae(e,i),onSuccess:()=>{r.invalidateQueries({queryKey:["feedback"]}),c(!0),setTimeout(()=>c(!1),2e3)}}),d=w.useCallback(()=>{f.mutate()},[f]);return m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-4",children:[m.jsx("h4",{className:"mb-2 text-sm font-medium text-gray-400",children:"Feedback"}),m.jsx("textarea",{value:i,onChange:v=>{l(v.target.value),c(!1)},placeholder:"Add feedback for this test...",className:"w-full rounded-md border border-gray-700 bg-gray-800 p-3 text-sm text-gray-200 placeholder-gray-500 focus:border-cyan-400 focus:outline-none",rows:3}),m.jsxs("div",{className:"mt-2 flex items-center gap-3",children:[m.jsx("button",{type:"button",onClick:d,disabled:f.isPending,className:"rounded-md bg-cyan-600 px-4 py-1.5 text-sm font-medium text-white hover:bg-cyan-500 disabled:opacity-50",children:f.isPending?"Saving...":"Save Feedback"}),o&&m.jsx("span",{className:"text-sm text-emerald-400",children:"Saved"}),f.isError&&m.jsx("span",{className:"text-sm text-red-400",children:"Error saving feedback"})]})]})}function oae(e){var r;switch((r=e.split(".").pop())==null?void 0:r.toLowerCase()){case"ts":case"tsx":return"📘";case"json":return"📋";case"log":case"txt":return"📜";case"md":return"📝";default:return"📄"}}function Lk(e){const t=[];for(const r of e)r.type==="dir"&&(t.push(r.path),r.children&&t.push(...Lk(r.children)));return t}function zk({node:e,selectedPath:t,onSelect:r,openFolders:n,toggleFolder:i,depth:l=0}){const o=e.type==="dir",c=n.has(e.path),f=t===e.path;return m.jsxs("div",{children:[m.jsxs("button",{type:"button",onClick:()=>{o?i(e.path):r(e.path)},className:`flex w-full items-center gap-2 rounded-md px-2 py-1 text-sm transition-colors ${f?"bg-cyan-400/20 text-cyan-400":"text-gray-300 hover:bg-gray-800/50 hover:text-gray-200"}`,style:{paddingLeft:`${l*16+8}px`},children:[m.jsx("span",{className:"flex-shrink-0 text-xs",children:o?c?"📂":"📁":oae(e.name)}),m.jsx("span",{className:"truncate",children:e.name})]}),o&&c&&e.children&&m.jsx("div",{children:e.children.map(d=>m.jsx(zk,{node:d,selectedPath:t,onSelect:r,openFolders:n,toggleFolder:i,depth:l+1},d.path))})]})}function uae({files:e,selectedPath:t,onSelect:r}){const[n,i]=w.useState(()=>new Set(Lk(e))),l=o=>{i(c=>{const f=new Set(c);return f.has(o)?f.delete(o):f.add(o),f})};return m.jsxs("div",{className:"w-full md:w-64 overflow-y-auto rounded-lg border border-gray-800 bg-gray-900 py-2",children:[e.length===0&&m.jsx("p",{className:"px-4 py-2 text-sm text-gray-500",children:"No files."}),e.map(o=>m.jsx(zk,{node:o,selectedPath:t,onSelect:r,openFolders:n,toggleFolder:l},o.path))]})}const cae="modulepreload",fae=function(e){return"/"+e},RC={},dae=function(t,r,n){let i=Promise.resolve();if(r&&r.length>0){let o=function(d){return Promise.all(d.map(p=>Promise.resolve(p).then(v=>({status:"fulfilled",value:v}),v=>({status:"rejected",reason:v}))))};document.getElementsByTagName("link");const c=document.querySelector("meta[property=csp-nonce]"),f=(c==null?void 0:c.nonce)||(c==null?void 0:c.getAttribute("nonce"));i=o(r.map(d=>{if(d=fae(d),d in RC)return;RC[d]=!0;const p=d.endsWith(".css"),v=p?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${v}`))return;const y=document.createElement("link");if(y.rel=p?"stylesheet":cae,p||(y.as="script"),y.crossOrigin="",y.href=d,f&&y.setAttribute("nonce",f),document.head.appendChild(y),p)return new Promise((x,S)=>{y.addEventListener("load",x),y.addEventListener("error",()=>S(new Error(`Unable to preload CSS for ${d}`)))})}))}function l(o){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=o,window.dispatchEvent(c),!c.defaultPrevented)throw o}return i.then(o=>{for(const c of o||[])c.status==="rejected"&&l(c.reason);return t().catch(l)})},hae=w.lazy(()=>dae(()=>import("./index-Bdk-9a_8.js"),[]));function mae({value:e,language:t="json",height:r="400px"}){return m.jsx(w.Suspense,{fallback:m.jsx("div",{className:"flex items-center justify-center rounded-lg bg-gray-900 p-8 text-gray-500",children:"Loading editor..."}),children:m.jsx(hae,{height:r,language:t,value:e,theme:"vs-dark",options:{readOnly:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:13,lineNumbers:"on",wordWrap:"on",padding:{top:12}}})})}function Am({score:e,className:t=""}){const r=Math.round(Math.max(0,Math.min(1,e))*100);return m.jsxs("div",{className:`flex items-center gap-3 ${t}`,children:[m.jsx("div",{className:"h-2 flex-1 overflow-hidden rounded-full bg-gray-800",children:m.jsx("div",{className:"h-full rounded-full bg-gradient-to-r from-cyan-400 to-blue-500 transition-all duration-300",style:{width:`${r}%`}})}),m.jsxs("span",{className:"w-12 text-right text-sm font-medium tabular-nums text-gray-300",children:[r,"%"]})]})}function $k(e){for(const t of e){if(t.type==="file")return t.path;if(t.children){const r=$k(t.children);if(r)return r}}return null}function Bk({eval:e,runId:t,projectId:r}){const[n,i]=w.useState("checks"),{data:l}=ut(r),o=(l==null?void 0:l.read_only)===!0,c=[{id:"checks",label:"Checks"},{id:"source",label:"Source"},{id:"files",label:"Files"},...o?[]:[{id:"feedback",label:"Feedback"}]];return m.jsxs("div",{className:"flex min-h-full flex-col",children:[m.jsx("div",{className:"border-b border-gray-800",children:m.jsx("div",{className:"flex gap-1 px-4",children:c.map(f=>m.jsx("button",{type:"button",onClick:()=>i(f.id),className:`px-4 py-2 text-sm font-medium transition-colors ${n===f.id?"border-b-2 border-cyan-400 text-cyan-400":"text-gray-400 hover:text-gray-300"}`,children:f.label},f.id))})}),m.jsxs("div",{className:"min-h-0 flex-1",children:[n==="checks"&&m.jsx("div",{className:"overflow-auto p-4",children:m.jsx(gae,{result:e,projectId:r})}),n==="files"&&m.jsx("div",{className:"h-full p-4",children:m.jsx(xae,{result:e,runId:t,projectId:r})}),n==="source"&&m.jsx("div",{className:"overflow-auto p-4",children:m.jsx(yae,{result:e})}),!o&&n==="feedback"&&m.jsx("div",{className:"p-4",children:m.jsx(lae,{testId:e.testId})})]})]})}function pae(e){if(e!==void 0)return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function bn({label:e,value:t}){return t===void 0||t===""?null:m.jsxs("div",{className:"min-w-0",children:[m.jsx("dt",{className:"text-xs font-medium uppercase text-gray-500",children:e}),m.jsx("dd",{className:"mt-1 break-words font-mono text-sm text-gray-200",children:String(t)})]})}function Uk({file:e}){var r,n;const t=pae(e.size_bytes);return m.jsxs("dl",{className:"grid gap-3 md:grid-cols-2",children:[m.jsx(bn,{label:"Path",value:e.display_path}),m.jsx(bn,{label:"SHA-256",value:e.content_sha256}),m.jsx(bn,{label:"Size",value:t}),m.jsx(bn,{label:"Omitted",value:((r=e.omitted)==null?void 0:r.message)??((n=e.omitted)==null?void 0:n.reason)})]})}function Ec({value:e,language:t}){return m.jsx("pre",{className:"max-h-96 overflow-auto rounded-md border border-gray-800 bg-gray-950 p-3 text-xs text-gray-200",children:m.jsx("code",{"data-language":t,children:e})})}function vae({file:e}){const t=`${e.kind}${e.grader_name?` · ${e.grader_name}`:""}`;return m.jsxs("details",{className:"rounded-md border border-gray-800 bg-gray-900 p-3",open:!1,children:[m.jsxs("summary",{className:"cursor-pointer text-sm font-medium text-gray-200",children:[m.jsx("span",{children:t}),m.jsx("span",{className:"ml-3 font-mono text-xs text-gray-500",children:e.display_path})]}),m.jsxs("div",{className:"mt-3 space-y-3",children:[m.jsx(Uk,{file:e}),e.command&&e.command.length>0&&m.jsx(Ec,{value:JSON.stringify(e.command,null,2),language:"json"}),e.content&&m.jsx(Ec,{value:e.content})]})]})}function yae({result:e}){var r,n,i;const t=e.source_traceability;return!t||t.status!=="captured"?m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-4",children:[m.jsx("h4",{className:"text-sm font-medium text-gray-300",children:"Source metadata"}),m.jsx("p",{className:"mt-2 text-sm text-gray-500",children:(t==null?void 0:t.message)??"Source metadata was not captured for this run."})]}):m.jsxs("div",{className:"space-y-6",children:[m.jsxs("section",{className:"rounded-lg border border-gray-800 bg-gray-900 p-4",children:[m.jsx("h4",{className:"mb-3 text-sm font-medium text-gray-300",children:"Traceability"}),m.jsxs("dl",{className:"grid gap-3 md:grid-cols-2",children:[m.jsx(bn,{label:"Eval file",value:(r=t.eval_file)==null?void 0:r.display_path}),m.jsx(bn,{label:"Test ID",value:t.test_id??e.testId}),m.jsx(bn,{label:"Suite",value:e.suite}),m.jsx(bn,{label:"Category",value:e.category}),m.jsx(bn,{label:"Target",value:e.target})]})]}),((n=t.source_test)==null?void 0:n.yaml)&&m.jsxs("section",{className:"space-y-3",children:[m.jsx("h4",{className:"text-sm font-medium text-gray-300",children:"Source Test"}),m.jsx(Ec,{value:t.source_test.yaml,language:"yaml"})]}),((i=t.eval_file)==null?void 0:i.content)&&m.jsxs("section",{className:"space-y-3",children:[m.jsx("h4",{className:"text-sm font-medium text-gray-300",children:"Eval File Snapshot"}),m.jsx(Uk,{file:t.eval_file}),m.jsx(Ec,{value:t.eval_file.content,language:"yaml"})]}),t.graders&&t.graders.length>0&&m.jsxs("section",{className:"space-y-3",children:[m.jsx("h4",{className:"text-sm font-medium text-gray-300",children:"Graders"}),m.jsx("div",{className:"space-y-3",children:t.graders.map(l=>m.jsxs("details",{className:"rounded-md border border-gray-800 bg-gray-900 p-3",children:[m.jsxs("summary",{className:"cursor-pointer text-sm font-medium text-gray-200",children:[l.name,m.jsx("span",{className:"ml-3 font-mono text-xs text-gray-500",children:l.type})]}),m.jsxs("div",{className:"mt-3 space-y-3",children:[m.jsxs("dl",{className:"grid gap-3 md:grid-cols-3",children:[m.jsx(bn,{label:"Weight",value:l.weight}),m.jsx(bn,{label:"Required",value:l.required}),m.jsx(bn,{label:"Min score",value:l.min_score})]}),m.jsx(Ec,{value:JSON.stringify(l.definition,null,2),language:"json"})]})]},`${l.name}-${l.type}`))})]}),t.referenced_files&&t.referenced_files.length>0&&m.jsxs("section",{className:"space-y-3",children:[m.jsx("h4",{className:"text-sm font-medium text-gray-300",children:"Referenced Files"}),m.jsx("div",{className:"space-y-3",children:t.referenced_files.map((l,o)=>m.jsx(vae,{file:l},`${l.kind}-${l.display_path}-${l.grader_name??""}-${o}`))})]})]})}function DC({assertion:e}){return m.jsxs("div",{className:`flex items-start gap-3 rounded-lg border p-3 ${e.passed?"border-emerald-900/50 bg-emerald-950/20":"border-red-900/50 bg-red-950/20"}`,children:[m.jsx("span",{className:`mt-0.5 text-lg ${e.passed?"text-emerald-400":"text-red-400"}`,children:e.passed?"✓":"✗"}),m.jsxs("div",{className:"min-w-0 flex-1",children:[m.jsxs("p",{className:"text-sm text-gray-200",children:[e.text,e.durationMs!=null&&m.jsxs("span",{className:"ml-2 text-xs text-gray-500",children:["(",(e.durationMs/1e3).toFixed(1),"s)"]})]}),e.evidence&&m.jsx("p",{className:"mt-1 text-xs text-gray-400",children:e.evidence})]})]})}function gae({result:e,projectId:t}){const{data:r}=ut(t),n=(r==null?void 0:r.threshold)??(r==null?void 0:r.pass_threshold)??.8,i=!Fa(e.score,n)||e.executionStatus==="error"||e.executionStatus==="failed",l=(e.scores??[]).filter(p=>Array.isArray(p.assertions)&&p.assertions.length>0),o=l.length>0,c=e.assertions??[],f=[];e.error&&f.push(e.error),(e.executionStatus==="error"||e.executionStatus==="failed")&&f.push(`Execution status: ${e.executionStatus}`);const d=o?l.flatMap(p=>p.assertions):c;for(const p of d.filter(v=>!v.passed)){const v=p.evidence?`${p.text}: ${p.evidence}`:p.text;f.push(v)}if(e.scores){for(const p of e.scores)if(!Fa(p.score,n)&&p.details){const v=typeof p.details=="string"?p.details:JSON.stringify(p.details,null,2);f.push(`[${p.name??p.type??"evaluator"}] ${v}`)}}return m.jsxs("div",{className:"space-y-6",children:[m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-4",children:m.jsxs("div",{className:"flex items-center gap-4",children:[m.jsx("span",{className:"text-sm font-medium text-gray-400",children:"Overall score"}),m.jsx("div",{className:"flex-1",children:m.jsx(Am,{score:e.score})})]})}),e.scores&&e.scores.length>0&&m.jsxs("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-4",children:[m.jsx("h4",{className:"mb-3 text-sm font-medium text-gray-400",children:"Grader Scores"}),m.jsx("div",{className:"space-y-3",children:e.scores.map((p,v)=>m.jsxs("div",{className:"flex items-center gap-4",children:[m.jsx("span",{className:"w-40 truncate text-sm text-gray-300",children:p.name??p.type??`Score ${v+1}`}),m.jsx("div",{className:"flex-1",children:m.jsx(Am,{score:p.score})})]},`${p.name??p.type??v}`))})]}),o?m.jsx("div",{className:"space-y-6",children:l.map((p,v)=>{const y=p.name??p.type??`Grader ${v+1}`;return m.jsxs("div",{className:"space-y-2",children:[m.jsx("h4",{className:"text-xs font-semibold uppercase tracking-wider text-gray-300",children:y}),p.assertions.map((x,S)=>m.jsx(DC,{assertion:x},`${x.text}-${S}`))]},`${p.name??p.type??v}`)})}):c.length>0?m.jsx("div",{className:"space-y-2",children:c.map((p,v)=>m.jsx(DC,{assertion:p},`${p.text}-${v}`))}):m.jsx("p",{className:"text-sm text-gray-500",children:"No assertion steps recorded."}),i&&f.length>0&&m.jsxs("div",{className:"rounded-lg border border-red-500/30 bg-red-500/10 p-4",children:[m.jsx("h4",{className:"mb-2 text-sm font-medium text-red-400",children:"Failure Reason"}),m.jsx("div",{className:"space-y-2",children:f.map(p=>m.jsx("p",{className:"text-sm text-gray-300",children:p},p))})]})]})}function xae({result:e,runId:t,projectId:r}){const n=e.testId,{data:i}=r?Ke(U8(r,t,n)):C8(t,n),l=(i==null?void 0:i.files)??[],[o,c]=w.useState(null),[f,d]=w.useState(!1),p=o??(l.length>0?$k(l):null),{data:v,isLoading:y}=r?Ke(q8(r,t,n,p??"")):M8(t,n,p??"");if(l.length===0)return m.jsx("p",{className:"text-sm text-gray-500",children:"No artifact files available."});const x=p?y?"Loading...":(v==null?void 0:v.content)??"":"",S=p?(v==null?void 0:v.language)??"plaintext":"plaintext";return m.jsxs("div",{className:"relative flex h-full min-h-[400px] gap-4",children:[m.jsx("div",{className:`${f?"block":"hidden"} md:block w-full md:w-auto`,children:m.jsx(uae,{files:l,selectedPath:p,onSelect:j=>{c(j),d(!1)}})}),m.jsx("div",{className:`${f?"hidden":"block"} md:block flex-1 h-full`,children:m.jsx(mae,{value:x,language:S,height:"100%"})}),m.jsx("button",{type:"button",onClick:()=>d(!f),className:"md:hidden fixed bottom-4 right-4 z-50 flex items-center gap-2 rounded-full bg-gray-800 px-4 py-2.5 text-sm font-medium text-gray-200 shadow-lg border border-gray-700 hover:bg-gray-700 active:bg-gray-600 transition-colors","aria-label":f?"Switch to file content viewer":"Switch to file tree",children:f?m.jsxs(m.Fragment,{children:[m.jsx("span",{children:"📄"}),m.jsx("span",{children:"Content"})]}):m.jsxs(m.Fragment,{children:[m.jsx("span",{children:"📁"}),m.jsx("span",{children:"Files"})]})})]})}const qk=_r("/evals/$runId/$evalId")({component:bae});function bae(){const{runId:e,evalId:t}=qk.useParams(),{data:r,isLoading:n,error:i}=rf(e),{data:l}=ut(),[o,c]=w.useState(!1),f=(l==null?void 0:l.read_only)===!0;if(n)return m.jsxs("div",{className:"space-y-4",children:[m.jsx("div",{className:"h-8 w-64 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"h-48 animate-pulse rounded-lg bg-gray-900"})]});if(i)return m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load eval: ",i.message]});const d=r==null?void 0:r.results.find(y=>y.testId===t);if(!d)return m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-6 text-center",children:m.jsxs("p",{className:"text-gray-400",children:["Eval ",m.jsx("code",{className:"text-cyan-400",children:t})," not found in run"," ",m.jsx("code",{className:"text-cyan-400",children:e}),"."]})});const p=(l==null?void 0:l.threshold)??(l==null?void 0:l.pass_threshold)??.8,v=Fa(d.score,p)&&d.executionStatus!=="error"&&d.executionStatus!=="failed";return m.jsxs("div",{className:"flex h-full flex-col gap-6",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsxs("div",{children:[m.jsxs("p",{className:"text-sm text-gray-400",children:["Run: ",e," / Eval: ",t]}),m.jsxs("h1",{className:"flex items-center gap-2 text-2xl font-semibold text-white",children:[m.jsx("span",{className:`text-2xl font-bold leading-none ${v?"text-emerald-400":"text-red-400"}`,children:v?"✓":"✗"}),t]})]}),!f&&m.jsx("button",{type:"button",onClick:()=>c(!0),className:"rounded-md bg-emerald-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-emerald-500",children:"▶ Run this Test"})]}),m.jsx(Bk,{eval:d,runId:e}),!f&&m.jsx(gl,{open:o,onClose:()=>c(!1),prefill:{testIds:[t],target:d.target}})]})}const Hk=_r("/runs/$runId_/suite/$suite")({component:Sae});function Sae(){const{runId:e,suite:t}=Hk.useParams(),{data:r,isLoading:n,error:i}=rf(e),{data:l}=ut(),o=(l==null?void 0:l.threshold)??(l==null?void 0:l.pass_threshold)??.8;if(n)return m.jsxs("div",{className:"space-y-4",children:[m.jsx("div",{className:"h-8 w-64 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"grid grid-cols-5 gap-4",children:["s1","s2","s3","s4","s5"].map(v=>m.jsx("div",{className:"h-20 animate-pulse rounded-lg bg-gray-900"},v))})]});if(i)return m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load run: ",i.message]});const c=((r==null?void 0:r.results)??[]).filter(v=>(v.suite??"Uncategorized")===t),f=c.length,d=Im(c,o),p=c.reduce((v,y)=>v+(y.costUsd??0),0);return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-semibold text-white",children:t}),m.jsxs("p",{className:"mt-1 text-sm text-gray-400",children:["Suite in run: ",e]})]}),m.jsx(Xo,{total:f,passed:d.passed,failed:d.failed,passRate:d.passRate,executionErrors:d.executionErrors,totalCost:p>0?p:void 0}),f===0?m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-8 text-center",children:m.jsx("p",{className:"text-lg text-gray-400",children:"No evaluations in this suite"})}):m.jsx("div",{className:"overflow-hidden rounded-lg border border-gray-800",children:m.jsxs("table",{className:"w-full text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Test ID"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Target"}),m.jsx("th",{className:"w-48 px-4 py-3 font-medium text-gray-400",children:"Score"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Duration"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Cost"})]})}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:c.map((v,y)=>m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[m.jsx("td",{className:"px-4 py-3",children:m.jsx(Ne,{to:"/evals/$runId/$evalId",params:{runId:e,evalId:v.testId},className:"font-medium text-cyan-400 hover:text-cyan-300 hover:underline",children:v.testId})}),m.jsx("td",{className:"px-4 py-3 text-gray-400",children:v.target??"-"}),m.jsx("td",{className:"px-4 py-3",children:km(v)?m.jsx("span",{className:"inline-flex rounded-full bg-amber-900/40 px-2 py-0.5 text-xs font-medium text-amber-300",children:"Execution error"}):m.jsx(en,{rate:v.score})}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:v.durationMs!=null?`${(v.durationMs/1e3).toFixed(1)}s`:"-"}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:v.costUsd!=null?`$${v.costUsd.toFixed(4)}`:"-"})]},`${v.testId}-${y}`))})]})})]})}const Fk=_r("/runs/$runId_/category/$category")({component:jae});function jae(){const{runId:e,category:t}=Fk.useParams(),{data:r,isLoading:n,error:i}=H2(e,t);if(n)return m.jsxs("div",{className:"space-y-4",children:[m.jsx("div",{className:"h-8 w-64 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"grid grid-cols-5 gap-4",children:["s1","s2","s3","s4","s5"].map(y=>m.jsx("div",{className:"h-20 animate-pulse rounded-lg bg-gray-900"},y))})]});if(i)return m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load category: ",i.message]});const l=(r==null?void 0:r.suites)??[],o=l.reduce((y,x)=>y+x.total,0),c=l.reduce((y,x)=>y+x.passed,0),f=l.reduce((y,x)=>y+x.failed,0),d=l.reduce((y,x)=>y+Gt(x),0),p=o-d,v=p>0?c/p:0;return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-semibold text-white",children:t}),m.jsxs("p",{className:"mt-1 text-sm text-gray-400",children:["Category in run: ",e]})]}),m.jsx(Xo,{total:o,passed:c,failed:f,passRate:v,executionErrors:d}),l.length===0?m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-8 text-center",children:m.jsx("p",{className:"text-lg text-gray-400",children:"No suites in this category"})}):m.jsxs("div",{className:"space-y-3",children:[m.jsx("h3",{className:"text-sm font-medium text-gray-400",children:"Suites"}),m.jsx("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-3",children:l.map(y=>m.jsxs(Ne,{to:"/runs/$runId/suite/$suite",params:{runId:e,suite:y.name},className:"rounded-lg border border-gray-800 bg-gray-900 p-3 text-left transition-colors hover:border-gray-700",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"text-sm font-medium text-gray-200 truncate",children:y.name}),m.jsxs("span",{className:"ml-2 text-xs text-gray-500",children:[y.passed,"/",J2(y)]})]}),m.jsx("div",{className:"mt-2",children:m.jsx(Am,{score:y.avg_score})}),m.jsxs("div",{className:"mt-1 flex gap-3 text-xs",children:[m.jsxs("span",{className:"text-emerald-400",children:[y.passed," passed"]}),y.failed>0&&m.jsxs("span",{className:"text-red-400",children:[y.failed," failed"]}),Gt(y)>0&&m.jsxs("span",{className:"text-amber-400",children:[Gt(y)," execution errors"]})]})]},y.name))})]})]})}const Kk=_r("/projects/$projectId_/runs/$runId")({component:wae});function wae(){var O;const{projectId:e,runId:t}=Kk.useParams(),{data:r,isLoading:n,error:i}=af(e,t),{data:l}=ut(e),{data:o}=Rm(e),[c,f]=w.useState(!1),d=(l==null?void 0:l.read_only)===!0;if(n)return m.jsxs("div",{className:"space-y-4",children:[m.jsx("div",{className:"h-8 w-64 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"grid grid-cols-5 gap-4",children:["s1","s2","s3","s4","s5"].map(N=>m.jsx("div",{className:"h-20 animate-pulse rounded-lg bg-gray-900"},N))})]});if(i)return m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load run: ",i.message]});const p=(O=r==null?void 0:r.results)==null?void 0:O[0],v=p==null?void 0:p.target,y=v?{target:v}:void 0,x=r==null?void 0:r.status,S=x==="starting"||x==="running",j=Tk({runId:t,results:(r==null?void 0:r.results)??[],source:r==null?void 0:r.source,sourceLabel:r==null?void 0:r.source_label,remoteRepo:(r==null?void 0:r.source)==="remote"?o==null?void 0:o.repo:void 0,formatTimestamp:N=>new Date(N).toLocaleString()});return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",children:[m.jsxs("div",{className:"min-w-0",children:[m.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[m.jsx("h1",{className:"min-w-0 truncate text-xl font-semibold text-white sm:text-2xl",title:j.heading,children:j.heading}),j.sourceBadge?m.jsx("span",{className:"rounded-md border border-cyan-900/60 bg-cyan-950/20 px-2 py-0.5 text-xs font-medium text-cyan-300",children:j.sourceBadge}):null]}),j.meta?m.jsx("p",{className:"mt-1 text-sm text-gray-500",children:j.meta}):null,j.sourceContext.length>0?m.jsx("div",{className:"mt-2 flex flex-wrap items-center gap-2 text-xs text-gray-500",children:j.sourceContext.map(N=>m.jsxs("span",{children:[m.jsxs("span",{className:"text-gray-600",children:[N.label,":"]})," ",N.value]},`${N.label}:${N.value}`))}):null]}),m.jsxs("div",{className:"flex flex-wrap items-center gap-3 sm:justify-end",children:[!d&&S?m.jsx(Dp,{runId:t,status:x,isReadOnly:d,projectId:e}):m.jsx(Ak,{results:(r==null?void 0:r.results)??[],runDir:r==null?void 0:r.run_dir,suiteFilter:r==null?void 0:r.suite_filter,target:v??void 0,projectId:e,isReadOnly:d,plannedTestCount:r==null?void 0:r.planned_test_count,runStatus:x}),x&&m.jsx(Rp,{status:x}),!d&&!S&&m.jsx("button",{type:"button",onClick:()=>f(!0),className:"rounded-md bg-emerald-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-emerald-500",children:"▶ Run evals"})]})]}),m.jsx(Ck,{results:(r==null?void 0:r.results)??[],runId:t,projectId:e}),!d&&m.jsx(gl,{open:c,onClose:()=>f(!1),projectId:e,prefill:y})]})}const Gk=_r("/projects/$projectId_/jobs/$runId")({component:Oae});function Oae(){const{projectId:e,runId:t}=Gk.useParams(),{data:r,isLoading:n,error:i}=$b(t,e),{data:l}=ut(e),o=(l==null?void 0:l.read_only)===!0;if(n)return m.jsxs("div",{className:"space-y-4",children:[m.jsx(X0,{projectId:e}),m.jsx("div",{className:"h-8 w-48 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"h-64 animate-pulse rounded-lg bg-gray-900"})]});if(i||!r)return m.jsxs("div",{className:"space-y-4",children:[m.jsx(X0,{projectId:e}),m.jsx("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-4 text-sm text-red-400",children:i?`Failed to load run: ${i.message}`:"Run not found."})]});const c=r.status==="finished"||r.status==="failed";return m.jsxs("div",{className:"space-y-4",children:[m.jsx(X0,{projectId:e}),m.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-4",children:[m.jsxs("div",{className:"min-w-0",children:[m.jsx("h1",{className:"truncate font-mono text-base font-semibold text-white",children:t}),m.jsxs("p",{className:"mt-0.5 text-xs text-gray-500",children:["Started ",new Date(r.started_at).toLocaleString(),r.finished_at&&m.jsxs(m.Fragment,{children:[" · ","Finished ",new Date(r.finished_at).toLocaleString()," · ",Math.round((new Date(r.finished_at).getTime()-new Date(r.started_at).getTime())/1e3),"s"]})]})]}),m.jsxs("div",{className:"flex flex-shrink-0 items-center gap-3",children:[m.jsx(Dp,{runId:t,status:r.status,isReadOnly:o,projectId:e}),m.jsx(Rp,{status:r.status})]})]}),m.jsxs("div",{className:"rounded-md border border-gray-700 bg-gray-950 px-4 py-3",children:[m.jsx("p",{className:"mb-1 text-xs font-medium uppercase tracking-wider text-gray-500",children:"Command"}),m.jsx("code",{className:"break-all text-xs text-cyan-300",children:r.command})]}),r.stdout?m.jsxs("div",{children:[m.jsx("p",{className:"mb-1 text-xs font-medium uppercase tracking-wider text-gray-500",children:"Output"}),m.jsx("div",{className:"max-h-[60vh] overflow-y-auto rounded-lg border border-gray-700 bg-gray-950 p-4",children:m.jsx("pre",{className:"whitespace-pre-wrap font-mono text-xs text-gray-200",children:r.stdout})})]}):!c&&m.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-500",children:[m.jsx("span",{className:"inline-block h-2.5 w-2.5 animate-spin rounded-full border-2 border-gray-500 border-t-transparent"}),"Waiting for output…"]}),r.stderr&&m.jsxs("div",{children:[m.jsx("p",{className:"mb-1 text-xs font-medium uppercase tracking-wider text-red-500",children:"Stderr"}),m.jsx("div",{className:"max-h-48 overflow-y-auto rounded-lg border border-red-900/40 bg-red-950/20 p-4",children:m.jsx("pre",{className:"whitespace-pre-wrap font-mono text-xs text-red-300",children:r.stderr})})]}),c&&m.jsxs("p",{className:"text-xs text-gray-500",children:["Exit code:"," ",m.jsx("span",{className:r.exit_code===0?"text-emerald-400":"text-red-400",children:r.exit_code})]})]})}function X0({projectId:e}){return m.jsx(Ne,{to:"/projects/$projectId",params:{projectId:e},search:{tab:"runs"},className:"text-xs text-gray-400 hover:text-cyan-400",children:"← Back to Runs"})}const Yk=_r("/projects/$projectId_/experiments/$experimentName")({component:Nae});function Nae(){const{projectId:e,experimentName:t}=Yk.useParams();return m.jsx(kk,{experimentName:t,projectId:e})}const Vk=_r("/projects/$projectId_/evals/$runId/$evalId")({component:_ae});function _ae(){const{projectId:e,runId:t,evalId:r}=Vk.useParams(),{data:n,isLoading:i,error:l}=af(e,t),{data:o}=ut(e),[c,f]=w.useState(!1),d=(o==null?void 0:o.read_only)===!0;if(i)return m.jsxs("div",{className:"space-y-4",children:[m.jsx("div",{className:"h-8 w-64 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"h-48 animate-pulse rounded-lg bg-gray-900"})]});if(l)return m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load eval: ",l.message]});const p=n==null?void 0:n.results.find(x=>x.testId===r);if(!p)return m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-6 text-center",children:m.jsxs("p",{className:"text-gray-400",children:["Eval ",m.jsx("code",{className:"text-cyan-400",children:r})," not found in run"," ",m.jsx("code",{className:"text-cyan-400",children:t}),"."]})});const v=(o==null?void 0:o.threshold)??(o==null?void 0:o.pass_threshold)??.8,y=Fa(p.score,v)&&p.executionStatus!=="error"&&p.executionStatus!=="failed";return m.jsxs("div",{className:"flex h-full flex-col gap-6",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsxs("div",{children:[m.jsxs("p",{className:"text-sm text-gray-400",children:["Run: ",t," / Eval: ",r]}),m.jsxs("h1",{className:"flex items-center gap-2 text-2xl font-semibold text-white",children:[m.jsx("span",{className:`text-2xl font-bold leading-none ${y?"text-emerald-400":"text-red-400"}`,children:y?"✓":"✗"}),r]})]}),!d&&m.jsx("button",{type:"button",onClick:()=>f(!0),className:"rounded-md bg-emerald-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-emerald-500",children:"▶ Run this Test"})]}),m.jsx(Bk,{eval:p,runId:t,projectId:e}),!d&&m.jsx(gl,{open:c,onClose:()=>f(!1),projectId:e,prefill:{testIds:[r],target:p.target}})]})}const Qk=_r("/projects/$projectId_/runs/$runId_/suite/$suite")({component:Eae});function Eae(){const{projectId:e,runId:t,suite:r}=Qk.useParams(),{data:n,isLoading:i,error:l}=af(e,t),{data:o}=ut(e),c=(o==null?void 0:o.threshold)??(o==null?void 0:o.pass_threshold)??.8;if(i)return m.jsxs("div",{className:"space-y-4",children:[m.jsx("div",{className:"h-8 w-64 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"grid grid-cols-5 gap-4",children:["s1","s2","s3","s4","s5"].map(y=>m.jsx("div",{className:"h-20 animate-pulse rounded-lg bg-gray-900"},y))})]});if(l)return m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load run: ",l.message]});const f=((n==null?void 0:n.results)??[]).filter(y=>(y.suite??"Uncategorized")===r),d=f.length,p=Im(f,c),v=f.reduce((y,x)=>y+(x.costUsd??0),0);return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-semibold text-white",children:r}),m.jsxs("p",{className:"mt-1 text-sm text-gray-400",children:["Suite in run: ",t]})]}),m.jsx(Xo,{total:d,passed:p.passed,failed:p.failed,passRate:p.passRate,executionErrors:p.executionErrors,totalCost:v>0?v:void 0}),d===0?m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-8 text-center",children:m.jsx("p",{className:"text-lg text-gray-400",children:"No evaluations in this suite"})}):m.jsx("div",{className:"overflow-hidden rounded-lg border border-gray-800",children:m.jsxs("table",{className:"w-full text-left text-sm",children:[m.jsx("thead",{className:"border-b border-gray-800 bg-gray-900/50",children:m.jsxs("tr",{children:[m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Test ID"}),m.jsx("th",{className:"px-4 py-3 font-medium text-gray-400",children:"Target"}),m.jsx("th",{className:"w-48 px-4 py-3 font-medium text-gray-400",children:"Score"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Duration"}),m.jsx("th",{className:"px-4 py-3 text-right font-medium text-gray-400",children:"Cost"})]})}),m.jsx("tbody",{className:"divide-y divide-gray-800/50",children:f.map((y,x)=>m.jsxs("tr",{className:"transition-colors hover:bg-gray-900/30",children:[m.jsx("td",{className:"px-4 py-3",children:m.jsx(Ne,{to:"/projects/$projectId/evals/$runId/$evalId",params:{projectId:e,runId:t,evalId:y.testId},className:"font-medium text-cyan-400 hover:text-cyan-300 hover:underline",children:y.testId})}),m.jsx("td",{className:"px-4 py-3 text-gray-400",children:y.target??"-"}),m.jsx("td",{className:"px-4 py-3",children:km(y)?m.jsx("span",{className:"inline-flex rounded-full bg-amber-900/40 px-2 py-0.5 text-xs font-medium text-amber-300",children:"Execution error"}):m.jsx(en,{rate:y.score})}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:y.durationMs!=null?`${(y.durationMs/1e3).toFixed(1)}s`:"-"}),m.jsx("td",{className:"px-4 py-3 text-right tabular-nums text-gray-400",children:y.costUsd!=null?`$${y.costUsd.toFixed(4)}`:"-"})]},`${y.testId}-${x}`))})]})})]})}const Xk=_r("/projects/$projectId_/runs/$runId_/category/$category")({component:Aae});function Aae(){const{projectId:e,runId:t,category:r}=Xk.useParams(),{data:n,isLoading:i,error:l}=Ke(F2(e,t,r));if(i)return m.jsxs("div",{className:"space-y-4",children:[m.jsx("div",{className:"h-8 w-64 animate-pulse rounded bg-gray-800"}),m.jsx("div",{className:"grid grid-cols-5 gap-4",children:["s1","s2","s3","s4","s5"].map(x=>m.jsx("div",{className:"h-20 animate-pulse rounded-lg bg-gray-900"},x))})]});if(l)return m.jsxs("div",{className:"rounded-lg border border-red-900/50 bg-red-950/20 p-6 text-red-400",children:["Failed to load category: ",l.message]});const o=(n==null?void 0:n.suites)??[],c=o.reduce((x,S)=>x+S.total,0),f=o.reduce((x,S)=>x+S.passed,0),d=o.reduce((x,S)=>x+S.failed,0),p=o.reduce((x,S)=>x+Gt(S),0),v=c-p,y=v>0?f/v:0;return m.jsxs("div",{className:"space-y-6",children:[m.jsxs("div",{children:[m.jsx("h1",{className:"text-2xl font-semibold text-white",children:r}),m.jsxs("p",{className:"mt-1 text-sm text-gray-400",children:["Category in run: ",t]})]}),m.jsx(Xo,{total:c,passed:f,failed:d,passRate:y,executionErrors:p}),o.length===0?m.jsx("div",{className:"rounded-lg border border-gray-800 bg-gray-900 p-8 text-center",children:m.jsx("p",{className:"text-lg text-gray-400",children:"No suites in this category"})}):m.jsxs("div",{className:"space-y-3",children:[m.jsx("h3",{className:"text-sm font-medium text-gray-400",children:"Suites"}),m.jsx("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-3",children:o.map(x=>m.jsxs(Ne,{to:"/projects/$projectId/runs/$runId/suite/$suite",params:{projectId:e,runId:t,suite:x.name},className:"rounded-lg border border-gray-800 bg-gray-900 p-3 text-left transition-colors hover:border-gray-700",children:[m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx("span",{className:"truncate text-sm font-medium text-gray-200",children:x.name}),m.jsxs("span",{className:"ml-2 text-xs text-gray-500",children:[x.passed,"/",J2(x)]})]}),m.jsx("div",{className:"mt-2",children:m.jsx(Am,{score:x.avg_score})}),m.jsxs("div",{className:"mt-1 flex gap-3 text-xs",children:[m.jsxs("span",{className:"text-emerald-400",children:[x.passed," passed"]}),x.failed>0&&m.jsxs("span",{className:"text-red-400",children:[x.failed," failed"]}),Gt(x)>0&&m.jsxs("span",{className:"text-amber-400",children:[Gt(x)," execution errors"]})]})]},x.name))})]})]})}const Pae=AB.update({id:"/settings",path:"/settings",getParentRoute:()=>pr}),Tae=Lne.update({id:"/",path:"/",getParentRoute:()=>pr}),Cae=Mk.update({id:"/runs/$runId",path:"/runs/$runId",getParentRoute:()=>pr}),Mae=Rk.update({id:"/projects/$projectId",path:"/projects/$projectId",getParentRoute:()=>pr}),Rae=Dk.update({id:"/jobs/$runId",path:"/jobs/$runId",getParentRoute:()=>pr}),Dae=Ik.update({id:"/experiments/$experimentName",path:"/experiments/$experimentName",getParentRoute:()=>pr}),kae=qk.update({id:"/evals/$runId/$evalId",path:"/evals/$runId/$evalId",getParentRoute:()=>pr}),Iae=Hk.update({id:"/runs/$runId_/suite/$suite",path:"/runs/$runId/suite/$suite",getParentRoute:()=>pr}),Lae=Fk.update({id:"/runs/$runId_/category/$category",path:"/runs/$runId/category/$category",getParentRoute:()=>pr}),zae=Kk.update({id:"/projects/$projectId_/runs/$runId",path:"/projects/$projectId/runs/$runId",getParentRoute:()=>pr}),$ae=Gk.update({id:"/projects/$projectId_/jobs/$runId",path:"/projects/$projectId/jobs/$runId",getParentRoute:()=>pr}),Bae=Yk.update({id:"/projects/$projectId_/experiments/$experimentName",path:"/projects/$projectId/experiments/$experimentName",getParentRoute:()=>pr}),Uae=Vk.update({id:"/projects/$projectId_/evals/$runId/$evalId",path:"/projects/$projectId/evals/$runId/$evalId",getParentRoute:()=>pr}),qae=Qk.update({id:"/projects/$projectId_/runs/$runId_/suite/$suite",path:"/projects/$projectId/runs/$runId/suite/$suite",getParentRoute:()=>pr}),Hae=Xk.update({id:"/projects/$projectId_/runs/$runId_/category/$category",path:"/projects/$projectId/runs/$runId/category/$category",getParentRoute:()=>pr}),Fae={IndexRoute:Tae,SettingsRoute:Pae,ExperimentsExperimentNameRoute:Dae,JobsRunIdRoute:Rae,ProjectsProjectIdRoute:Mae,RunsRunIdRoute:Cae,EvalsRunIdEvalIdRoute:kae,ProjectsProjectIdExperimentsExperimentNameRoute:Bae,ProjectsProjectIdJobsRunIdRoute:$ae,ProjectsProjectIdRunsRunIdRoute:zae,RunsRunIdCategoryCategoryRoute:Lae,RunsRunIdSuiteSuiteRoute:Iae,ProjectsProjectIdEvalsRunIdEvalIdRoute:Uae,ProjectsProjectIdRunsRunIdCategoryCategoryRoute:Hae,ProjectsProjectIdRunsRunIdSuiteSuiteRoute:qae},Kae=pr._addFileChildren(Fae)._addFileTypes(),Gae=new tz({defaultOptions:{queries:{staleTime:5e3,refetchOnWindowFocus:!0}}}),Yae=r8({routeTree:Kae}),Zk=document.getElementById("root");if(!Zk)throw new Error("Root element not found");PL.createRoot(Zk).render(m.jsx(w.StrictMode,{children:m.jsx(rz,{client:Gae,children:m.jsx(i8,{router:Yae})})}));export{ko as W,w as r};
|