@vostride/agent-qa-dashboard-ui 0.1.9 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/dist/assets/{arrow-up-down-DyIZvSrC.js → arrow-up-down-D8UGCR46.js} +1 -1
  2. package/dist/assets/{badge-BbhOGRC0.js → badge-Dd058S66.js} +1 -1
  3. package/dist/assets/{batch-action-bar-CZxUcNFZ.js → batch-action-bar-BlKdJC25.js} +1 -1
  4. package/dist/assets/{circle-alert-pBH5T6su.js → circle-alert-Cr31wwud.js} +1 -1
  5. package/dist/assets/{circle-x-DLBotPS8.js → circle-x-CbsF-Or-.js} +1 -1
  6. package/dist/assets/config-B6eE0o2y.js +10 -0
  7. package/dist/assets/{copy-Gj5_oF-8.js → copy-BdD4bkD_.js} +1 -1
  8. package/dist/assets/display-step-4AfU6w4K.js +1 -0
  9. package/dist/assets/{dist-DZYW0-Ta.js → dist-D9h3nbVK.js} +1 -1
  10. package/dist/assets/{dist-DFSjTjXY.js → dist-DrO-WGvP.js} +1 -1
  11. package/dist/assets/dist-KjoEChiB.js +1 -0
  12. package/dist/assets/{empty-state-Dluv5C1Q.js → empty-state-c1UKljbh.js} +1 -1
  13. package/dist/assets/{external-link-BZ9gsZx_.js → external-link-MKpqbawt.js} +1 -1
  14. package/dist/assets/{eye-CZ7GiZXJ.js → eye-vXF-W3Sy.js} +1 -1
  15. package/dist/assets/{file-code-GHpcb0ud.js → file-code-C7vOuS4q.js} +1 -1
  16. package/dist/assets/{file-search-CIA16Vb8.js → file-search-COrO0ndH.js} +1 -1
  17. package/dist/assets/filename-validation-Ccwuaki1.js +1 -0
  18. package/dist/assets/{grip-vertical-aDoBVncr.js → grip-vertical-B4rX3Pd9.js} +1 -1
  19. package/dist/assets/{hook-editor-Dvrur2VR.js → hook-editor-fVte-sFt.js} +1 -1
  20. package/dist/assets/{hook-runtime-ChJ0-jZo.js → hook-runtime-CPPjqz70.js} +1 -1
  21. package/dist/assets/hook-viewer-Ceps9GqL.js +1 -0
  22. package/dist/assets/hooks-BwveYPPu.js +1 -0
  23. package/dist/assets/{id-badge-Dzm7eQ9l.js → id-badge-5c0D9pZV.js} +2 -2
  24. package/dist/assets/{index-B3xPCIyH.js → index-CZotRLCc.js} +2 -2
  25. package/dist/assets/{insights-rNBE_Oot.js → insights-D_d7szDN.js} +1 -1
  26. package/dist/assets/{insights-line-grid-G3ouKANt.js → insights-line-grid-DzQiRxUU.js} +4 -4
  27. package/dist/assets/{lib-BPEPp1D-.js → lib-CCr9qhea.js} +1 -1
  28. package/dist/assets/live-run-BxEaMSEi.js +1 -0
  29. package/dist/assets/{memory-DcKox3BM.js → memory-7vVmoZvP.js} +1 -1
  30. package/dist/assets/memory-product-B30NAtAP.js +2 -0
  31. package/dist/assets/{monaco-editor-CDJrOpKK.js → monaco-editor-Ba9qdSve.js} +2 -2
  32. package/dist/assets/{monaco-editor-inner-Q9WqqJ52.js → monaco-editor-inner-CeD8qR_F.js} +2 -2
  33. package/dist/assets/{monaco.contribution-DTHp-zXN.js → monaco.contribution-ZpEX2Im1.js} +2 -2
  34. package/dist/assets/{observation-block-DdB7C1c0.js → observation-block-BRa3lkBV.js} +1 -1
  35. package/dist/assets/observation-markdown-BJ9B18Mk.js +1 -0
  36. package/dist/assets/{pencil-BmkcPKBm.js → pencil-BdoVUAcl.js} +1 -1
  37. package/dist/assets/plus-BDA9KiOF.js +1 -0
  38. package/dist/assets/popover-BAlAEoO4.js +1 -0
  39. package/dist/assets/{refresh-cw-v_0wwa0P.js → refresh-cw-3zJOKpgR.js} +1 -1
  40. package/dist/assets/{resizable-COfX_iMb.js → resizable-BuOu2RfX.js} +1 -1
  41. package/dist/assets/run-detail-BkmoKeU2.js +1 -0
  42. package/dist/assets/runs-Bs16pBe9.js +1 -0
  43. package/dist/assets/{scroll-area-DfPMtFw0.js → scroll-area-48uajHeh.js} +1 -1
  44. package/dist/assets/select-B2_tSMl_.js +1 -0
  45. package/dist/assets/{shortcut-hints-CfVf0REF.js → shortcut-hints-BnEYaq1r.js} +1 -1
  46. package/dist/assets/split-button-C54F4hz3.js +1 -0
  47. package/dist/assets/square-lmyO8EeE.js +1 -0
  48. package/dist/assets/{step-name-pills-COKv64-4.js → step-name-pills-hCVbMRBe.js} +1 -1
  49. package/dist/assets/suite-editor-HxXY0n_h.js +5 -0
  50. package/dist/assets/suite-navbar-DzgJZNSk.js +1 -0
  51. package/dist/assets/suite-viewer-DX-uI0KI.js +1 -0
  52. package/dist/assets/{suites-Cbjz7uPI.js → suites-BrCm410e.js} +1 -1
  53. package/dist/assets/{switch-BOdp7A9U.js → switch-C7U17ptQ.js} +1 -1
  54. package/dist/assets/tab-console-W4FDWhGS.js +1 -0
  55. package/dist/assets/table-BGMQ2E9D.js +1 -0
  56. package/dist/assets/{tabs-CfNQIHt-.js → tabs-CWnvxa-h.js} +1 -1
  57. package/dist/assets/test-editor-C7jMc_bm.js +9 -0
  58. package/dist/assets/test-navbar-1FE5zQJP.js +7 -0
  59. package/dist/assets/{test-viewer-C6Rg-HeW.js → test-viewer-yi44-64J.js} +1 -1
  60. package/dist/assets/tests-D9iNxwue.js +1 -0
  61. package/dist/assets/{tests-suites-table-widths-tlOYaS72.js → tests-suites-table-widths-C3pXnpiW.js} +1 -1
  62. package/dist/assets/{textarea-ByegDm2e.js → textarea-C-0LUFGZ.js} +1 -1
  63. package/dist/assets/{trash-2-CawFHfTJ.js → trash-2-Cj6kkRf4.js} +1 -1
  64. package/dist/assets/{tsMode-DGJI_hpV.js → tsMode-fizT3CAG.js} +1 -1
  65. package/dist/assets/{use-hook-run-session-Cjqu9VED.js → use-hook-run-session-RvECpdZN.js} +1 -1
  66. package/dist/assets/{use-keyboard-shortcuts-BRF3cm7O.js → use-keyboard-shortcuts-BTppBDf3.js} +1 -1
  67. package/dist/assets/{use-page-title-CK82kWb2.js → use-page-title-BeSr97vd.js} +1 -1
  68. package/dist/assets/use-run-status-favicon-ClaOG7BI.js +1 -0
  69. package/dist/assets/{use-selection-queue-CZ4rXNAT.js → use-selection-queue-B7ZRHEAV.js} +1 -1
  70. package/dist/assets/{viewer-url-state-CZTYs75z.js → viewer-url-state-aAMA3-2e.js} +1 -1
  71. package/dist/assets/{zap-C7OZlYXQ.js → zap-oUNJUGP6.js} +1 -1
  72. package/dist/index.html +1 -1
  73. package/package.json +2 -2
  74. package/dist/assets/config-BfxB7vJt.js +0 -10
  75. package/dist/assets/display-step-CV3zilMS.js +0 -1
  76. package/dist/assets/dist-o2A-YJGQ.js +0 -1
  77. package/dist/assets/filename-validation-BOmZP9gf.js +0 -1
  78. package/dist/assets/hook-viewer-DwQt3CRN.js +0 -1
  79. package/dist/assets/hooks-DcW2AVgE.js +0 -1
  80. package/dist/assets/live-run-C2WLFzlf.js +0 -1
  81. package/dist/assets/memory-product-oHTD8fqS.js +0 -2
  82. package/dist/assets/observation-markdown-CvCuqq7R.js +0 -1
  83. package/dist/assets/plus-C6Zz9JLt.js +0 -1
  84. package/dist/assets/popover-CvQRjfg5.js +0 -1
  85. package/dist/assets/run-detail-B6QhqCjq.js +0 -1
  86. package/dist/assets/runs-DO4LkmoV.js +0 -1
  87. package/dist/assets/select-B5gV6YUf.js +0 -1
  88. package/dist/assets/split-button-C7J0EKrF.js +0 -1
  89. package/dist/assets/square-CvSqzenY.js +0 -1
  90. package/dist/assets/suite-editor-CaMQ5mWb.js +0 -5
  91. package/dist/assets/suite-navbar-CnJmeIp-.js +0 -1
  92. package/dist/assets/suite-viewer-HsI0Pn4t.js +0 -1
  93. package/dist/assets/tab-console-CLKFTABo.js +0 -1
  94. package/dist/assets/table-DL0PmHAE.js +0 -1
  95. package/dist/assets/test-editor-CIRL6zSb.js +0 -9
  96. package/dist/assets/test-navbar-CZhYoxgB.js +0 -7
  97. package/dist/assets/tests-C0Xhq39F.js +0 -1
  98. package/dist/assets/use-run-status-favicon-DoJZcfHz.js +0 -1
@@ -1 +1 @@
1
- import{r as e}from"./chunk-CilyBKbf.js";import{t}from"./use-page-title-CK82kWb2.js";import{$ as n,A as r,B as i,C as a,D as o,E as s,F as c,G as l,H as u,I as d,J as f,K as p,L as m,M as h,N as g,O as _,P as v,Q as y,R as b,S as x,T as S,U as C,V as w,W as T,X as E,Y as D,Z as O,_ as k,_t as A,a as ee,at as j,b as M,bt as te,c as ne,ct as re,d as ie,dt as ae,et as oe,f as se,ft as N,g as ce,gt as le,h as ue,ht as de,i as fe,it as pe,j as P,k as me,l as he,lt as ge,m as _e,mt as ve,n as F,nt as ye,o as be,ot as I,p as xe,pt as Se,q as L,r as R,rt as Ce,s as we,st as Te,t as z,tt as Ee,u as De,ut as Oe,v as ke,vt as B,w as Ae,x as je,y as Me,yt as Ne,z as Pe}from"./insights-line-grid-G3ouKANt.js";import{n as Fe,t as Ie}from"./scroll-area-DfPMtFw0.js";import{G as Le,Gn as Re,Ht as ze,Kt as Be,Qn as Ve,Rn as He,Ut as V,Yn as Ue,Zn as We,fr as Ge,ft as Ke,lr as qe,nt as Je,sr as Ye,t as Xe}from"./index-B3xPCIyH.js";import{a as Ze,i as H,n as Qe,o as $e,r as U,t as et}from"./table-DL0PmHAE.js";import{t as W}from"./format-BpI4TiHn.js";var G=e(Ge(),1),tt=new Set([`1d`,`7d`,`30d`,`all`]),nt=new Set([`test`,`suite`,`platform`]);function rt(e){let t=new URLSearchParams;return e.window!==`7d`&&t.set(`window`,e.window),e.breakdown!==`test`&&t.set(`breakdown`,e.breakdown),t}function it(){let[e,t]=qe(),n=e.get(`window`),r=tt.has(n)?n:`7d`,i=e.get(`breakdown`),a=nt.has(i)?i:`test`,o=(0,G.useMemo)(()=>({window:r,breakdown:a}),[r,a]);(0,G.useEffect)(()=>{let n=rt(o);e.toString()!==n.toString()&&t(n,{replace:!0})},[e,t,o]);let s=(0,G.useCallback)(e=>{t(rt({...o,...e}),{replace:!0})},[t,o]);return{window:r,breakdown:a,setWindow:(0,G.useCallback)(e=>s({window:e}),[s]),setBreakdown:(0,G.useCallback)(e=>s({breakdown:e}),[s])}}var at=e=>null;at.displayName=`Cell`;var ot=(e,t,n)=>{var i=Te();return(a,o)=>s=>{e?.(a,o,s),i(r({activeIndex:String(o),activeDataKey:t,activeCoordinate:a.tooltipPosition,activeGraphicalItemId:n}))}},st=e=>{var t=Te();return(n,r)=>i=>{e?.(n,r,i),t(_())}},ct=(e,t,n)=>{var r=Te();return(i,a)=>o=>{e?.(i,a,o),r(me({activeIndex:String(a),activeDataKey:t,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}},lt=(e,t,n)=>{var r=n??e;if(!ve(r))return ae(r,t,0)},ut=(e,t,n)=>{var r={},i=e.filter(d),a=e.filter(e=>e.stackId==null),o=i.reduce((e,t)=>{var n=e[t.stackId];return n??=[],n.push(t),e[t.stackId]=n,e},r),s=Object.entries(o).map(e=>{var[r,i]=e;return{stackId:r,dataKeys:i.map(e=>e.dataKey),barSize:lt(t,n,i[0]?.barSize)}}),c=a.map(e=>({stackId:void 0,dataKeys:[e.dataKey].filter(e=>e!=null),barSize:lt(t,n,e.barSize)}));return[...s,...c]};function dt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function K(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?dt(Object(n),!0).forEach(function(t){ft(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ft(e,t,n){return(t=pt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pt(e){var t=mt(e,`string`);return typeof t==`symbol`?t:t+``}function mt(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ht(e,t,n,r,i){var a=r.length;if(!(a<1)){var o=ae(e,n,0,!0),s,c=[];if(j(r[0]?.barSize)){var l=!1,u=n/a,d=r.reduce((e,t)=>e+(t.barSize||0),0);d+=(a-1)*o,d>=n&&(d-=(a-1)*o,o=0),d>=n&&u>0&&(l=!0,u*=.9,d=a*u);var f={offset:((n-d)/2>>0)-o,size:0};s=r.reduce((e,t)=>{var n={stackId:t.stackId,dataKeys:t.dataKeys,position:{offset:f.offset+f.size+o,size:l?u:t.barSize??0}},r=[...e,n];return f=n.position,r},c)}else{var p=ae(t,n,0,!0);n-2*p-(a-1)*o<=0&&(o=0);var m=(n-2*p-(a-1)*o)/a;m>1&&(m>>=0);var h=j(i)?Math.min(m,i):m;s=r.reduce((e,t,n)=>[...e,{stackId:t.stackId,dataKeys:t.dataKeys,position:{offset:p+(m+o)*n+(m-h)/2,size:h}}],c)}return s}}var gt=(e,t,n,r,i,a,o)=>{var s=ve(o)?t:o,c=ht(n,r,i===a?a:i,e,s);return i!==a&&c!=null&&(c=c.map(e=>K(K({},e),{},{position:K(K({},e.position),{},{offset:e.position.offset-i/2})}))),c},_t=(e,t)=>{var n=m(t);if(!(!e||n==null||t==null)){var{stackId:r}=t;if(r!=null){var i=e[r];if(i){var{stackedData:a}=i;if(a)return a.find(e=>e.key===n)}}}},vt=(e,t)=>{if(!(e==null||t==null)){var n=e.find(e=>e.stackId===t.stackId&&t.dataKey!=null&&e.dataKeys.includes(t.dataKey));if(n!=null)return n.position}};function yt(e,t){return e&&typeof e==`object`&&`zIndex`in e&&typeof e.zIndex==`number`&&j(e.zIndex)?e.zIndex:t}function q(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.xAxisId??0}function J(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.yAxisId??0}var bt=!0,xt=`Invariant failed`;function St(e,t){if(!e){if(bt)throw Error(xt);var n=typeof t==`function`?t():t,r=n?`${xt}: ${n}`:xt;throw Error(r)}}function Ct(){return Ct=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ct.apply(null,arguments)}function wt(e){return G.createElement(Me,Ct({shapeType:`rectangle`,activeClassName:`recharts-active-bar`,inActiveClassName:`recharts-inactive-bar`},e))}var Tt=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return(n,r)=>{if(de(e))return e;var i=de(n)||ve(n);return i?e(n,r):(!i&&St(!1,`minPointSize callback function received a value with type of ${typeof n}. Currently only numbers or null/undefined are supported.`),t)}},Et=(e,t,n)=>n,Y=I([c,(e,t)=>t],(e,t)=>e.filter(e=>e.type===`bar`).find(e=>e.id===t)),Dt=I([Y],e=>e?.maxBarSize),Ot=(e,t,n,r)=>r,kt=I([L,c,q,J,Et],(e,t,n,r,i)=>t.filter(t=>e===`horizontal`?t.xAxisId===n:t.yAxisId===r).filter(e=>e.isPanorama===i).filter(e=>e.hide===!1).filter(e=>e.type===`bar`)),At=(e,t,n)=>{var r=L(e),i=q(e,t),a=J(e,t);if(!(i==null||a==null))return r===`horizontal`?g(e,`yAxis`,a,n):g(e,`xAxis`,i,n)},jt=I([kt,w,(e,t)=>{var n=L(e),r=q(e,t),i=J(e,t);if(!(r==null||i==null))return n===`horizontal`?h(e,`xAxis`,r):h(e,`yAxis`,i)}],ut),Mt=(e,t,n)=>{var r=Y(e,t);if(r==null)return 0;var i=q(e,t),a=J(e,t);if(i==null||a==null)return 0;var o=L(e),s=u(e),{maxBarSize:c}=r,l=ve(c)?s:c,d,f;return o===`horizontal`?(d=P(e,`xAxis`,i,n),f=v(e,`xAxis`,i,n)):(d=P(e,`yAxis`,a,n),f=v(e,`yAxis`,a,n)),y(d,f,!0)??l??0},Nt=(e,t,n)=>{var r=L(e),i=q(e,t),a=J(e,t);if(!(i==null||a==null)){var o,s;return r===`horizontal`?(o=P(e,`xAxis`,i,n),s=v(e,`xAxis`,i,n)):(o=P(e,`yAxis`,a,n),s=v(e,`yAxis`,a,n)),y(o,s)}},Pt=I([O,E,(e,t,n)=>{var r=q(e,t);if(r!=null)return P(e,`xAxis`,r,n)},(e,t,n)=>{var r=J(e,t);if(r!=null)return P(e,`yAxis`,r,n)},(e,t,n)=>{var r=q(e,t);if(r!=null)return v(e,`xAxis`,r,n)},(e,t,n)=>{var r=J(e,t);if(r!=null)return v(e,`yAxis`,r,n)},I([I([jt,u,i,Pe,Mt,Nt,Dt],gt),Y],vt),L,C,Nt,I([At,Y],_t),Y,Ot],(e,t,n,r,i,a,o,s,c,l,u,d,f)=>{var{chartData:p,dataStartIndex:m,dataEndIndex:h}=c;if(!(d==null||o==null||t==null||s!==`horizontal`&&s!==`vertical`||n==null||r==null||i==null||a==null||l==null)){var{data:g}=d,_=g!=null&&g.length>0?g:p?.slice(m,h+1);if(_!=null)return mn({layout:s,barSettings:d,pos:o,parentViewBox:t,bandSize:l,xAxis:n,yAxis:r,xAxisTicks:i,yAxisTicks:a,stackedData:u,displayedData:_,offset:e,cells:f,dataStartIndex:m})}}),Ft=[`index`];function It(){return It=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},It.apply(null,arguments)}function Lt(e,t){if(e==null)return{};var n,r,i=Rt(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Rt(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var zt=(0,G.createContext)(void 0),Bt=e=>{var t=(0,G.useContext)(zt);if(t!=null)return t.stackId;if(e!=null)return Ee(e)},Vt=(e,t)=>`recharts-bar-stack-clip-path-${e}-${t}`,Ht=e=>{var t=(0,G.useContext)(zt);if(t!=null){var{stackId:n}=t;return`url(#${Vt(n,e)})`}},Ut=e=>{var{index:t}=e,n=Lt(e,Ft),r=Ht(t);return G.createElement(B,It({className:`recharts-bar-stack-layer`,clipPath:r},n))},Wt=[`onMouseEnter`,`onMouseLeave`,`onClick`],Gt=[`value`,`background`,`tooltipPosition`],Kt=[`id`],qt=[`onMouseEnter`,`onClick`,`onMouseLeave`];function X(){return X=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},X.apply(null,arguments)}function Jt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Z(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Jt(Object(n),!0).forEach(function(t){Yt(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Jt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Yt(e,t,n){return(t=Xt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Xt(e){var t=Zt(e,`string`);return typeof t==`symbol`?t:t+``}function Zt(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Q(e,t){if(e==null)return{};var n,r,i=Qt(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Qt(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var $t=e=>{var{dataKey:t,name:n,fill:r,legendType:i,hide:a}=e;return[{inactive:a,dataKey:t,type:i,color:r,value:ye(n,t),payload:e}]},en=G.memo(e=>{var{dataKey:t,stroke:n,strokeWidth:r,fill:i,name:a,hide:o,unit:s,tooltipType:c,id:l}=e,u={dataDefinedOnItem:void 0,getPosition:A,settings:{stroke:n,strokeWidth:r,fill:i,dataKey:t,nameKey:void 0,name:ye(a,t),hide:o,type:c,color:i,unit:s,graphicalItemId:l}};return G.createElement(ke,{tooltipEntrySettings:u})});function tn(e){var t=re(o),{data:n,dataKey:r,background:i,allOtherBarProps:a}=e,{onMouseEnter:s,onMouseLeave:c,onClick:l}=a,u=Q(a,Wt),d=ot(s,r,a.id),f=st(c),p=ct(l,r,a.id);if(!i||n==null)return null;var m=te(i);return G.createElement(S,{zIndex:yt(i,b.barBackground)},n.map((e,n)=>{var{value:a,background:o,tooltipPosition:s}=e,c=Q(e,Gt);if(!o)return null;var l=d(e,n),h=f(e,n),g=p(e,n),_=Z(Z(Z(Z(Z({option:i,isActive:String(n)===t},c),{},{fill:`#eee`},o),m),Oe(u,e,n)),{},{onMouseEnter:l,onMouseLeave:h,onClick:g,dataKey:r,index:n,className:`recharts-bar-background-rectangle`});return G.createElement(wt,X({key:`background-bar-${n}`},_))}))}function nn(e){var{showLabels:t,children:n,rects:r}=e,i=r?.map(e=>{var t={x:e.x,y:e.y,width:e.width,lowerWidth:e.width,upperWidth:e.width,height:e.height};return Z(Z({},t),{},{value:e.value,payload:e.payload,parentViewBox:e.parentViewBox,viewBox:t,fill:e.fill})});return G.createElement(je,{value:t?i:void 0},n)}function rn(e){var{shape:t,activeBar:n,baseProps:r,entry:i,index:a,dataKey:c}=e,l=re(o),u=re(s),d=n&&String(i.originalDataIndex)===l&&(u==null||c===u),[f,p]=(0,G.useState)(!1),[m,h]=(0,G.useState)(!1);(0,G.useEffect)(()=>{var e;return d?(p(!0),e=requestAnimationFrame(()=>{h(!0)})):h(!1),()=>{cancelAnimationFrame(e)}},[d]);var g=(0,G.useCallback)(()=>{d||p(!1)},[d]),_=d&&m,v=d||f,y=d?n===!0?t:n:t,x=G.createElement(wt,X({},r,{name:String(r.name)},i,{isActive:_,option:y,index:a,dataKey:c,onTransitionEnd:g}));return v?G.createElement(S,{zIndex:b.activeBar},G.createElement(Ut,{index:i.originalDataIndex},x)):x}function an(e){var{shape:t,baseProps:n,entry:r,index:i,dataKey:a}=e;return G.createElement(wt,X({},n,{name:String(n.name)},r,{isActive:!1,option:t,index:i,dataKey:a}))}function on(e){var{data:t,props:n}=e,r=Ne(n)??{},{id:i}=r,a=Q(r,Kt),{shape:o,dataKey:s,activeBar:c}=n,{onMouseEnter:l,onClick:u,onMouseLeave:d}=n,f=Q(n,qt),p=ot(l,s,i),m=st(d),h=ct(u,s,i);return t?G.createElement(G.Fragment,null,t.map((e,t)=>G.createElement(Ut,X({index:e.originalDataIndex,key:`rectangle-${e?.x}-${e?.y}-${e?.value}-${t}`,className:`recharts-bar-rectangle`},Oe(f,e,t),{onMouseEnter:p(e,t),onMouseLeave:m(e,t),onClick:h(e,t)}),c?G.createElement(rn,{shape:o,activeBar:c,baseProps:a,entry:e,index:t,dataKey:s}):G.createElement(an,{shape:o,baseProps:a,entry:e,index:t,dataKey:s})))):null}function sn(e){var{props:t,previousRectanglesRef:n}=e,{data:r,layout:i,isAnimationActive:a,animationBegin:o,animationDuration:s,animationEasing:c,onAnimationEnd:u,onAnimationStart:d}=t,f=n.current,p=T(t,`recharts-bar-`),[m,h]=(0,G.useState)(!1),g=!m,_=(0,G.useCallback)(()=>{typeof u==`function`&&u(),h(!1)},[u]),v=(0,G.useCallback)(()=>{typeof d==`function`&&d(),h(!0)},[d]);return G.createElement(nn,{showLabels:g,rects:r},G.createElement(l,{animationId:p,begin:o,duration:s,isActive:a,easing:c,onAnimationEnd:_,onAnimationStart:v,key:p},e=>{var a=e===1?r:r?.map((t,n)=>{var r=f&&f[n];if(r)return Z(Z({},t),{},{x:N(r.x,t.x,e),y:N(r.y,t.y,e),width:N(r.width,t.width,e),height:N(r.height,t.height,e)});if(i===`horizontal`){var a=N(0,t.height,e),o=N(t.stackedBarStart,t.y,e);return Z(Z({},t),{},{y:o,height:a})}var s=N(0,t.width,e),c=N(t.stackedBarStart,t.x,e);return Z(Z({},t),{},{width:s,x:c})});return e>0&&(n.current=a??null),a==null?null:G.createElement(B,null,G.createElement(on,{props:t,data:a}))}),G.createElement(x,{label:t.label}),t.children)}function cn(e){var t=(0,G.useRef)(null);return G.createElement(sn,{previousRectanglesRef:t,props:e})}var ln=0,un=(e,t)=>{var n=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:n,errorVal:Ce(e,t)}},dn=class extends G.PureComponent{render(){var{hide:e,data:t,dataKey:n,className:r,xAxisId:i,yAxisId:a,needClip:o,background:s,id:c}=this.props;if(e||t==null)return null;var l=Ue(`recharts-bar`,r),u=c;return G.createElement(B,{className:l,id:c},o&&G.createElement(`defs`,null,G.createElement(ie,{clipPathId:u,xAxisId:i,yAxisId:a})),G.createElement(B,{className:`recharts-bar-rectangles`,clipPath:o?`url(#clipPath-${u})`:void 0},G.createElement(tn,{data:t,dataKey:n,background:s,allOtherBarProps:this.props}),G.createElement(cn,this.props)))}},fn={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:`ease`,background:!1,hide:!1,isAnimationActive:`auto`,label:!1,legendType:`rect`,minPointSize:ln,xAxisId:0,yAxisId:0,zIndex:b.bar};function pn(e){var{xAxisId:t,yAxisId:n,hide:r,legendType:i,minPointSize:a,activeBar:o,animationBegin:s,animationDuration:c,animationEasing:l,isAnimationActive:u}=e,{needClip:d}=se(t,n),p=f(),m=D(),h=M(e.children,at),g=re(t=>Pt(t,e.id,m,h));if(p!==`vertical`&&p!==`horizontal`)return null;var _,v=g?.[0];return _=v==null||v.height==null||v.width==null?0:p===`vertical`?v.height/2:v.width/2,G.createElement(xe,{xAxisId:t,yAxisId:n,data:g,dataPointFormatter:un,errorBarOffset:_},G.createElement(dn,X({},e,{layout:p,needClip:d,data:g,xAxisId:t,yAxisId:n,hide:r,legendType:i,minPointSize:a,activeBar:o,animationBegin:s,animationDuration:c,animationEasing:l,isAnimationActive:u})))}function mn(e){var{layout:t,barSettings:{dataKey:r,minPointSize:i,hasCustomShape:a},pos:o,bandSize:s,xAxis:c,yAxis:l,xAxisTicks:u,yAxisTicks:d,stackedData:f,displayedData:p,offset:m,cells:h,parentViewBox:g,dataStartIndex:_}=e,v=t===`horizontal`?l:c,y=f?v.scale.domain():null,b=n({numericAxis:v}),x=v.scale.map(b);return p.map((e,n)=>{var p,v,S,C,w,T;if(f){var E=f[n+_];if(E==null)return null;p=pe(E,y)}else p=Ce(e,r),Array.isArray(p)||(p=[b,p]);var D=Tt(i,ln)(p[1],n);if(t===`horizontal`){var O=l.scale.map(p[0]),k=l.scale.map(p[1]);if(O==null||k==null)return null;v=oe({axis:c,ticks:u,bandSize:s,offset:o.offset,entry:e,index:n}),S=k??O??void 0,C=o.size;var A=O-k;if(w=Se(A)?0:A,T={x:v,y:m.top,width:C,height:m.height},Math.abs(D)>0&&Math.abs(w)<Math.abs(D)){var ee=le(w||D)*(Math.abs(D)-Math.abs(w));S-=ee,w+=ee}}else{var j=c.scale.map(p[0]),M=c.scale.map(p[1]);if(j==null||M==null)return null;if(v=j,S=oe({axis:l,ticks:d,bandSize:s,offset:o.offset,entry:e,index:n}),C=M-j,w=o.size,T={x:m.left,y:S,width:m.width,height:w},Math.abs(D)>0&&Math.abs(C)<Math.abs(D)){var te=le(C||D)*(Math.abs(D)-Math.abs(C));C+=te}}return v==null||S==null||C==null||w==null||!a&&(C===0||w===0)?null:Z(Z({},e),{},{stackedBarStart:x,x:v,y:S,width:C,height:w,value:f?p:p[1],payload:e,background:T,tooltipPosition:{x:v+C/2,y:S+w/2},parentViewBox:g,originalDataIndex:n},h&&h[n]&&h[n].props)}).filter(Boolean)}function hn(e){var t=ge(e,fn),n=Bt(t.stackId),r=D();return G.createElement(ce,{id:t.id,type:`bar`},e=>G.createElement(G.Fragment,null,G.createElement(k,{legendPayload:$t(t)}),G.createElement(en,{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:e}),G.createElement(ue,{type:`bar`,id:e,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:n,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:r,hasCustomShape:t.shape!=null}),G.createElement(S,{zIndex:t.zIndex},G.createElement(pn,X({},t,{id:e})))))}var gn=G.memo(hn,p);gn.displayName=`Bar`;var _n=[`axis`,`item`],vn=(0,G.forwardRef)((e,t)=>G.createElement(ne,{chartName:`BarChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:_n,tooltipPayloadSearcher:Ae,categoricalChartProps:e,ref:t})),$=We(),yn={test:{title:`Test Breakdown`,label:`Test`},suite:{title:`Suite Breakdown`,label:`Suite`},platform:{title:`Platform Breakdown`,label:`Platform`}};function bn(e){return e<1e3?`${Math.round(e)}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m ${Math.round(e%6e4/1e3)}s`}function xn(e){let t=e<=1?e*100:e;return Math.round(t*10)/10}function Sn(e,t){return e===`platform`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(U,{className:`px-4 py-2 font-medium`,children:t.label}),(0,$.jsx)(U,{className:`px-4 py-2 text-right font-mono tabular-nums`,children:t.runs}),(0,$.jsx)(U,{className:`px-4 py-2 text-right font-mono tabular-nums`,children:t.passed??0}),(0,$.jsx)(U,{className:`px-4 py-2 text-right font-mono tabular-nums`,children:t.failed??0}),(0,$.jsxs)(U,{className:`px-4 py-2 text-right font-mono tabular-nums`,children:[xn(t.passRate),`%`]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(U,{className:`px-4 py-2 font-medium`,children:t.label}),(0,$.jsx)(U,{className:`px-4 py-2 text-right font-mono tabular-nums`,children:t.runs}),(0,$.jsxs)(U,{className:`px-4 py-2 text-right font-mono tabular-nums`,children:[xn(t.passRate),`%`]}),(0,$.jsxs)(U,{className:`px-4 py-2 text-right font-mono tabular-nums`,children:[xn(t.flakeRate),`%`]}),(0,$.jsx)(U,{className:`px-4 py-2 text-right font-mono tabular-nums`,children:bn(t.avgDuration)})]})}function Cn({dimension:e,rows:t,isRefreshing:n=!1}){let r=yn[e];return t.length===0?(0,$.jsx)(F,{children:(0,$.jsx)(R,{className:`px-4 py-6`,title:`No ${e} data in this window`,description:`Try another breakdown or widen the time window.`})}):(0,$.jsx)(F,{className:V(`overflow-hidden transition-opacity`,n&&`opacity-70`),"aria-busy":n||void 0,children:(0,$.jsxs)(Ie,{className:`w-full`,children:[(0,$.jsxs)(et,{children:[(0,$.jsx)(Ze,{children:(0,$.jsxs)($e,{className:`hover:bg-transparent`,children:[(0,$.jsx)(H,{className:`px-4`,children:r.label}),(0,$.jsx)(H,{className:`px-4 text-right`,children:`Runs`}),e===`platform`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(H,{className:`px-4 text-right`,children:`Passed`}),(0,$.jsx)(H,{className:`px-4 text-right`,children:`Failed`}),(0,$.jsx)(H,{className:`px-4 text-right`,children:`Pass Rate`})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(H,{className:`px-4 text-right`,children:`Pass Rate`}),(0,$.jsx)(H,{className:`px-4 text-right`,children:`Flake Rate`}),(0,$.jsx)(H,{className:`px-4 text-right`,children:`Avg Duration`})]})]})}),(0,$.jsx)(Qe,{children:t.map(t=>(0,$.jsx)($e,{className:`hover:bg-transparent`,children:Sn(e,t)},t.key))})]}),(0,$.jsx)(Fe,{orientation:`horizontal`})]})})}var wn={promptTokens:{label:`Input`,color:`var(--chart-1)`},completionTokens:{label:`Output`,color:`var(--chart-2)`}};function Tn(e){return new Intl.NumberFormat(`en-US`,{notation:`compact`,maximumFractionDigits:1}).format(e)}function En(e){let t=new Map;for(let n of e){let e=t.get(n.model)??{model:n.model,promptTokens:0,completionTokens:0};e.promptTokens+=n.promptTokens,e.completionTokens+=n.completionTokens,t.set(n.model,e)}return Array.from(t.values()).map(e=>({...e,totalTokens:e.promptTokens+e.completionTokens})).sort((e,t)=>t.totalTokens-e.totalTokens)}function Dn({active:e,payload:t,label:n}){if(!e||!t?.length)return null;let r=t.find(e=>e.dataKey===`promptTokens`)?.value??0,i=t.find(e=>e.dataKey===`completionTokens`)?.value??0,a=r+i;return(0,$.jsxs)(`div`,{className:`rounded-md border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl`,children:[(0,$.jsx)(`p`,{className:`mb-1 font-medium`,children:n??``}),(0,$.jsx)(`div`,{className:`grid gap-1`,children:[{label:`Input`,value:r,color:`var(--chart-1)`},{label:`Output`,value:i,color:`var(--chart-2)`},{label:`Total`,value:a,color:`var(--muted-foreground)`}].map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`div`,{className:`h-2.5 w-2.5 shrink-0 rounded-[2px]`,style:{backgroundColor:e.color}}),(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:e.label})]}),(0,$.jsx)(`span`,{className:`font-mono font-medium tabular-nums`,children:W(e.value)})]},e.label))})]})}function On({data:e,className:t}){let n=En(e);return(0,$.jsx)(we,{config:wn,className:V(`h-[220px] w-full aspect-auto`,t),children:(0,$.jsxs)(vn,{data:n,layout:`vertical`,accessibilityLayer:!0,margin:{top:4,right:8,left:8,bottom:4},children:[(0,$.jsx)(_e,{horizontal:!1}),(0,$.jsx)(De,{type:`number`,tickFormatter:Tn,tickLine:!1,axisLine:!1}),(0,$.jsx)(he,{type:`category`,dataKey:`model`,tickLine:!1,axisLine:!1,width:96}),(0,$.jsx)(a,{content:(0,$.jsx)(Dn,{}),isAnimationActive:!1}),(0,$.jsx)(gn,{dataKey:`promptTokens`,fill:`var(--color-promptTokens)`,stackId:`tokens`,radius:[4,0,0,4],isAnimationActive:!1}),(0,$.jsx)(gn,{dataKey:`completionTokens`,fill:`var(--color-completionTokens)`,stackId:`tokens`,radius:[0,4,4,0],isAnimationActive:!1})]})})}function kn({title:e,description:t}){return(0,$.jsx)(R,{className:`min-h-48 px-5 py-6`,title:e,description:t})}function An(e){return e?e.byModel.some(e=>e.promptTokens>0||e.completionTokens>0):!1}function jn(e){return`${Math.round(e*100)}%`}function Mn(e){if(!e)return[];let t=new Map;for(let n of e.byModel){let e=t.get(n.model)??{model:n.model,promptTokens:0,completionTokens:0};e.promptTokens+=n.promptTokens,e.completionTokens+=n.completionTokens,t.set(n.model,e)}return Array.from(t.values()).map(e=>({...e,totalTokens:e.promptTokens+e.completionTokens})).sort((e,t)=>t.totalTokens-e.totalTokens)}function Nn({stats:e,tokenStats:t}){let n=e.memory,r=An(t),i=!!(n&&n.runs>0),a=Mn(t),o=(t?.totals.promptTokens??0)+(t?.totals.completionTokens??0),s=n?n.added+n.confirmed+n.deprecated:0,c=s>0?[{label:`Added`,value:n.added,color:`bg-[var(--chart-1)]`},{label:`Confirmed`,value:n.confirmed,color:`bg-[var(--chart-2)]`},{label:`Deprecated`,value:n.deprecated,color:`bg-[var(--chart-5)]`}]:[],l=t?.bySource[`test-run`],u=t?.bySource[`live-editor`];return(0,$.jsxs)(F,{className:`xl:grid-cols-2 xl:divide-x xl:divide-y-0 xl:items-stretch`,children:[r&&t?(0,$.jsxs)(z,{className:`flex h-full flex-col p-0`,children:[(0,$.jsxs)(`div`,{className:`border-b border-border px-5 py-5`,children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold`,children:`Token Usage`}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Window-wide model activity, independent of the breakdown selector.`})]}),(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`grid gap-0 divide-y divide-border border-b border-border sm:grid-cols-3 sm:divide-x sm:divide-y-0`,children:[(0,$.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Total Tokens`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:W(o)})]}),(0,$.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Input`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:W(t.totals.promptTokens)})]}),(0,$.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Output`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:W(t.totals.completionTokens)})]})]}),(0,$.jsxs)(`div`,{className:`space-y-2 border-b border-border px-5 py-5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`p`,{className:`text-sm font-medium`,children:`By model`}),(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Input vs output across `,a.length,` active `,a.length===1?`model`:`models`]})]}),(0,$.jsx)(On,{data:t.byModel,className:`h-[200px]`})]}),(0,$.jsxs)(`div`,{className:`grid gap-0 divide-y divide-border sm:grid-cols-2 sm:divide-x sm:divide-y-0`,children:[(0,$.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Test Runs`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:W((l?.promptTokens??0)+(l?.completionTokens??0))})]}),(0,$.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Live Editor`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:W((u?.promptTokens??0)+(u?.completionTokens??0))})]})]})]})]}):(0,$.jsx)(kn,{title:`No token usage in this window`,description:`Token metrics appear after runs or live sessions use model calls.`}),i&&n?(0,$.jsxs)(z,{className:`flex h-full flex-col p-0`,children:[(0,$.jsxs)(`div`,{className:`border-b border-border px-5 py-5`,children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold`,children:`Memory Curator`}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Observation activity and curator usage across the selected window.`})]}),(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`grid gap-0 divide-y divide-border border-b border-border sm:grid-cols-3 sm:divide-x sm:divide-y-0`,children:[(0,$.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Runs With Memory`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:n.runs})]}),(0,$.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Observations`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:s})]}),(0,$.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Curator Tokens`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:W(n.curatorTokens)})]})]}),(0,$.jsxs)(`div`,{className:`grid flex-1 gap-0 divide-y divide-border lg:grid-cols-2 lg:divide-x lg:divide-y-0`,children:[(0,$.jsxs)(`div`,{className:`px-4 py-4`,children:[(0,$.jsx)(`p`,{className:`text-sm font-medium`,children:`Observation Mix`}),c.length>0?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`mt-4 flex h-3 overflow-hidden rounded-full bg-muted`,children:c.map(e=>(0,$.jsx)(`div`,{className:e.color,style:{width:`${e.value===0?0:e.value/s*100}%`}},e.label))}),(0,$.jsx)(`div`,{className:`mt-4 space-y-2`,children:c.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`size-2 rounded-full ${e.color}`}),(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:e.label})]}),(0,$.jsx)(`span`,{className:`font-mono tabular-nums`,children:e.value})]},e.label))})]}):(0,$.jsx)(`p`,{className:`mt-3 text-sm text-muted-foreground`,children:`No observation mix is available in this window yet.`})]}),(0,$.jsxs)(`div`,{className:`px-4 py-4`,children:[(0,$.jsx)(`p`,{className:`text-sm font-medium`,children:`Curator Snapshot`}),(0,$.jsxs)(`div`,{className:`mt-4 grid gap-4 sm:grid-cols-2`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Added Share`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:s>0?jn(n.added/s):`0%`})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Tokens / Run`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:n.runs>0?W(Math.round(n.curatorTokens/n.runs)):`0`})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Confirmed`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:n.confirmed})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Deprecated`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:n.deprecated})]})]})]})]})]})]}):(0,$.jsx)(kn,{title:`No memory-curator activity in this window`,description:`Memory metrics appear after runs create or confirm observations.`})]})}var Pn=[{value:`1d`,label:`1D`},{value:`7d`,label:`7D`},{value:`30d`,label:`30D`},{value:`all`,label:`All Time`}],Fn=[{value:`test`,label:`Test`,title:`Test Breakdown`},{value:`suite`,label:`Suite`,title:`Suite Breakdown`},{value:`platform`,label:`Platform`,title:`Platform Breakdown`}];function In(e){let t=new Date;return t.setDate(t.getDate()-e),t.toISOString()}function Ln(e){let t=e<=1?e*100:e;return`${Math.round(t)}%`}function Rn(e){if(e!==`all`)return In(e===`1d`?1:e===`30d`?30:7)}function zn(){t(`Insights`);let e=Ye(),{window:n,breakdown:r,setWindow:i,setBreakdown:a}=it(),[o,s]=(0,G.useState)(null),[c,l]=(0,G.useState)(null),[u,d]=(0,G.useState)([]),[f,p]=(0,G.useState)(!1),[m,h]=(0,G.useState)(!1),[g,_]=(0,G.useState)(!1),[v,y]=(0,G.useState)(!1),[b,x]=(0,G.useState)(!1),[S,C]=(0,G.useState)(!1),[w,T]=(0,G.useState)(`all`);if((0,G.useEffect)(()=>{let e=!1;async function t(){let t=Rn(n),r=w===`scoped`?`passRate`:void 0;f&&_(!0);try{let[n,i]=await Promise.all([Je({from:t,scope:r}),Ke({from:t})]);if(e)return;s(n),l(i),x(!1)}catch{if(e)return;f||(s(null),l(null)),x(!0)}finally{if(e)return;p(!0),_(!1)}}return t(),()=>{e=!0}},[n,w]),(0,G.useEffect)(()=>{let e=!1;async function t(){let t=Rn(n),i=w===`scoped`?`passRate`:void 0;m&&y(!0);try{let n=await Le(r,{from:t,limit:25,scope:i});if(e)return;d(n.rows),C(!1)}catch{if(e)return;m||d([]),C(!0)}finally{if(e)return;h(!0),y(!1)}}return t(),()=>{e=!0}},[n,r,w]),!f||!m)return(0,$.jsx)(Xe,{});let E=!!(o&&o.totalRuns>0),D=o&&o.totalRuns>0?Math.round(o.passed/o.totalRuns*100):0,O=Fn.find(e=>e.value===r)??Fn[0],k=o&&o.runs.length>0?Math.round(o.totalRuns/o.runs.length):0,A=b&&!o,j=n===`all`?`selected range`:`selected window`,M=o?.scope?.configured??!1,te=w===`scoped`&&M;return(0,$.jsxs)(`div`,{"data-insights-page-root":!0,className:`h-full min-h-0 overflow-y-auto p-4 md:p-6 space-y-6`,children:[(0,$.jsxs)(`header`,{className:`flex flex-col gap-4 md:flex-row md:items-start md:justify-between`,children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`h1`,{className:`text-3xl font-semibold tracking-tight`,children:`Insights`}),(0,$.jsx)(`p`,{className:`max-w-2xl text-sm text-muted-foreground`,children:`Window-wide reliability, cost, and curator signals with a separate comparison section for tests, suites, and platforms.`})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 md:items-end`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 md:justify-end`,children:[M?(0,$.jsx)(`div`,{className:`inline-flex rounded border border-border p-0.5`,"aria-label":`Run scope`,children:[`scoped`,`all`].map(e=>(0,$.jsx)(ze,{type:`button`,size:`xs`,variant:w===e?`default`:`ghost`,"aria-pressed":w===e,className:`h-7 rounded-[2px] px-2 text-xs`,onClick:()=>T(e),children:e===`scoped`?`Scoped`:`All runs`},e))}):null,(0,$.jsx)(`div`,{className:`inline-flex rounded border border-border p-0.5`,"aria-label":`Time window`,children:Pn.map(e=>(0,$.jsx)(ze,{type:`button`,variant:n===e.value?`default`:`ghost`,size:`xs`,"aria-pressed":n===e.value,className:`h-7 rounded-[2px] px-2 text-xs`,onClick:()=>(0,G.startTransition)(()=>i(e.value)),children:e.label},e.value))})]}),g?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground md:justify-end`,children:[(0,$.jsx)(He,{className:`size-3 animate-spin`}),(0,$.jsx)(`span`,{children:`Refreshing selected range`})]}):null]})]}),A?(0,$.jsx)(F,{className:`mt-6`,children:(0,$.jsx)(R,{title:`Insights unavailable`,description:`Refresh the page. If the problem continues, change the time window and verify analytics data is available.`})}):!E||!o?(0,$.jsx)(F,{className:`mt-6 min-h-[50vh]`,children:(0,$.jsxs)(z,{className:`flex min-h-[50vh] flex-col items-center justify-center text-center`,children:[(0,$.jsx)(Re,{className:`mb-4 h-8 w-8 text-muted-foreground`}),(0,$.jsx)(`h3`,{className:`text-lg font-semibold`,children:`No runs in this window`}),(0,$.jsx)(`p`,{className:`mt-1 max-w-sm text-sm text-muted-foreground`,children:`Run or rerun tests to populate insights. If you expect older data, switch to 30D or All Time.`}),(0,$.jsx)(ze,{className:`mt-6`,onClick:()=>e(Ve.runs),children:`Open Runs`})]})}):(0,$.jsxs)(`div`,{className:`mt-6 space-y-6`,children:[b?(0,$.jsx)(F,{className:`border-amber-500/30`,children:(0,$.jsx)(R,{description:`The latest refresh failed. Showing the previous ${j} instead.`})}):null,(0,$.jsxs)(`section`,{className:`space-y-4`,children:[(0,$.jsxs)(F,{className:`xl:grid-cols-[minmax(0,340px)_minmax(0,1fr)_minmax(0,1fr)] xl:divide-x xl:divide-y-0 xl:items-stretch`,children:[(0,$.jsx)(z,{className:`p-0`,children:(0,$.jsxs)(`div`,{className:`grid h-full auto-rows-fr gap-0 sm:grid-cols-2`,children:[(0,$.jsx)(fe,{className:`border-b border-border sm:border-r`,label:`Total Runs`,value:o.totalRuns.toLocaleString(),description:`${k} ${te?`scoped `:``}runs per active day in this ${n===`all`?`range`:`window`}.`}),(0,$.jsx)(fe,{className:`border-b border-border`,label:`Pass Rate`,value:`${D}%`,description:`${o.passed} successful ${te?`scoped `:``}runs out of ${o.totalRuns}.`}),(0,$.jsx)(fe,{className:`border-b border-border sm:border-b-0 sm:border-r`,label:`Avg Duration`,value:Be(o.avgDuration),description:`Average runtime for completed runs in the selected range.`}),(0,$.jsx)(fe,{label:`Flake Rate`,value:Ln(o.flakeRate),description:`${o.failed} failed runs with healed/flaky behavior tracked separately.`})]})}),(0,$.jsxs)(z,{className:`h-full`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold`,children:`Pass Rate`}),(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Trend for successful outcomes across the selected window.`})]}),(0,$.jsx)(be,{data:o.runs.map(e=>{let t=e.passed+e.failed;return{date:e.date,passRate:t>0?Math.round(e.passed/t*1e3)/10:0}}),className:V(`mt-4 h-[200px]`,g&&`opacity-70`)})]}),(0,$.jsxs)(z,{className:`h-full`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold`,children:`Duration`}),(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Average run duration by day for the selected window.`})]}),(0,$.jsx)(ee,{data:o.runs.map(e=>({date:e.date,duration:e.duration})),className:V(`mt-4 h-[200px]`,g&&`opacity-70`)})]})]}),(0,$.jsx)(`div`,{className:V(`transition-opacity`,g&&`opacity-70`),children:(0,$.jsx)(Nn,{stats:o,tokenStats:c})})]}),(0,$.jsxs)(`section`,{className:`space-y-4`,children:[(0,$.jsxs)(F,{"data-insights-breakdown-block":!0,"aria-busy":v,className:`divide-y-0 lg:grid-cols-[minmax(0,1fr)_auto]`,children:[(0,$.jsxs)(z,{className:`space-y-1`,children:[(0,$.jsx)(`h2`,{className:`text-lg font-semibold`,children:O.title}),(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Compare reliability in a focused lower section so the overall window summary stays stable.`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[v?(0,$.jsx)(He,{className:`size-3 animate-spin`}):null,(0,$.jsx)(`span`,{children:S?`Unable to refresh comparison. Showing previous results.`:v?`Updating comparison`:`${O.label} comparison`})]})]}),(0,$.jsxs)(z,{className:`space-y-2 lg:text-right`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Break down by`}),(0,$.jsx)(`div`,{className:`flex flex-wrap gap-2 lg:justify-end`,children:Fn.map(e=>(0,$.jsx)(ze,{variant:r===e.value?`default`:`outline`,size:`sm`,onClick:()=>(0,G.startTransition)(()=>a(e.value)),children:e.label},e.value))})]})]}),S&&u.length===0?(0,$.jsx)(F,{children:(0,$.jsx)(R,{title:`Breakdown unavailable`,children:(0,$.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Refresh the page or pick another window to reload the selected comparison.`})})}):(0,$.jsx)(Cn,{dimension:r,rows:u,isRefreshing:v})]})]})]})}export{zn as default};
1
+ import{r as e}from"./chunk-CilyBKbf.js";import{t}from"./use-page-title-BeSr97vd.js";import{$ as n,A as r,B as i,C as a,D as o,E as s,F as c,G as l,H as u,I as d,J as f,K as p,L as m,M as h,N as g,O as _,P as v,Q as y,R as b,S as x,T as S,U as C,V as w,W as T,X as E,Y as D,Z as O,_ as k,_t as A,a as ee,at as j,b as M,bt as te,c as ne,ct as re,d as ie,dt as ae,et as oe,f as se,ft as N,g as ce,gt as le,h as ue,ht as de,i as fe,it as pe,j as P,k as me,l as he,lt as ge,m as _e,mt as ve,n as F,nt as ye,o as be,ot as I,p as xe,pt as Se,q as L,r as R,rt as Ce,s as we,st as Te,t as z,tt as Ee,u as De,ut as Oe,v as ke,vt as B,w as Ae,x as je,y as Me,yt as Ne,z as Pe}from"./insights-line-grid-DzQiRxUU.js";import{n as Fe,t as Ie}from"./scroll-area-48uajHeh.js";import{$n as Le,K as Re,Kn as ze,Qn as Be,Ut as Ve,Wt as V,Xn as He,cr as Ue,pr as We,pt as Ge,qt as Ke,rt as qe,t as Je,ur as Ye,zn as Xe}from"./index-CZotRLCc.js";import{a as Ze,i as H,n as Qe,o as $e,r as U,t as et}from"./table-BGMQ2E9D.js";import{t as W}from"./format-BpI4TiHn.js";var G=e(We(),1),tt=new Set([`1d`,`7d`,`30d`,`all`]),nt=new Set([`test`,`suite`,`platform`]);function rt(e){let t=new URLSearchParams;return e.window!==`7d`&&t.set(`window`,e.window),e.breakdown!==`test`&&t.set(`breakdown`,e.breakdown),t}function it(){let[e,t]=Ye(),n=e.get(`window`),r=tt.has(n)?n:`7d`,i=e.get(`breakdown`),a=nt.has(i)?i:`test`,o=(0,G.useMemo)(()=>({window:r,breakdown:a}),[r,a]);(0,G.useEffect)(()=>{let n=rt(o);e.toString()!==n.toString()&&t(n,{replace:!0})},[e,t,o]);let s=(0,G.useCallback)(e=>{t(rt({...o,...e}),{replace:!0})},[t,o]);return{window:r,breakdown:a,setWindow:(0,G.useCallback)(e=>s({window:e}),[s]),setBreakdown:(0,G.useCallback)(e=>s({breakdown:e}),[s])}}var at=e=>null;at.displayName=`Cell`;var ot=(e,t,n)=>{var i=Te();return(a,o)=>s=>{e?.(a,o,s),i(r({activeIndex:String(o),activeDataKey:t,activeCoordinate:a.tooltipPosition,activeGraphicalItemId:n}))}},st=e=>{var t=Te();return(n,r)=>i=>{e?.(n,r,i),t(_())}},ct=(e,t,n)=>{var r=Te();return(i,a)=>o=>{e?.(i,a,o),r(me({activeIndex:String(a),activeDataKey:t,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}},lt=(e,t,n)=>{var r=n??e;if(!ve(r))return ae(r,t,0)},ut=(e,t,n)=>{var r={},i=e.filter(d),a=e.filter(e=>e.stackId==null),o=i.reduce((e,t)=>{var n=e[t.stackId];return n??=[],n.push(t),e[t.stackId]=n,e},r),s=Object.entries(o).map(e=>{var[r,i]=e;return{stackId:r,dataKeys:i.map(e=>e.dataKey),barSize:lt(t,n,i[0]?.barSize)}}),c=a.map(e=>({stackId:void 0,dataKeys:[e.dataKey].filter(e=>e!=null),barSize:lt(t,n,e.barSize)}));return[...s,...c]};function dt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function K(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?dt(Object(n),!0).forEach(function(t){ft(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ft(e,t,n){return(t=pt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pt(e){var t=mt(e,`string`);return typeof t==`symbol`?t:t+``}function mt(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ht(e,t,n,r,i){var a=r.length;if(!(a<1)){var o=ae(e,n,0,!0),s,c=[];if(j(r[0]?.barSize)){var l=!1,u=n/a,d=r.reduce((e,t)=>e+(t.barSize||0),0);d+=(a-1)*o,d>=n&&(d-=(a-1)*o,o=0),d>=n&&u>0&&(l=!0,u*=.9,d=a*u);var f={offset:((n-d)/2>>0)-o,size:0};s=r.reduce((e,t)=>{var n={stackId:t.stackId,dataKeys:t.dataKeys,position:{offset:f.offset+f.size+o,size:l?u:t.barSize??0}},r=[...e,n];return f=n.position,r},c)}else{var p=ae(t,n,0,!0);n-2*p-(a-1)*o<=0&&(o=0);var m=(n-2*p-(a-1)*o)/a;m>1&&(m>>=0);var h=j(i)?Math.min(m,i):m;s=r.reduce((e,t,n)=>[...e,{stackId:t.stackId,dataKeys:t.dataKeys,position:{offset:p+(m+o)*n+(m-h)/2,size:h}}],c)}return s}}var gt=(e,t,n,r,i,a,o)=>{var s=ve(o)?t:o,c=ht(n,r,i===a?a:i,e,s);return i!==a&&c!=null&&(c=c.map(e=>K(K({},e),{},{position:K(K({},e.position),{},{offset:e.position.offset-i/2})}))),c},_t=(e,t)=>{var n=m(t);if(!(!e||n==null||t==null)){var{stackId:r}=t;if(r!=null){var i=e[r];if(i){var{stackedData:a}=i;if(a)return a.find(e=>e.key===n)}}}},vt=(e,t)=>{if(!(e==null||t==null)){var n=e.find(e=>e.stackId===t.stackId&&t.dataKey!=null&&e.dataKeys.includes(t.dataKey));if(n!=null)return n.position}};function yt(e,t){return e&&typeof e==`object`&&`zIndex`in e&&typeof e.zIndex==`number`&&j(e.zIndex)?e.zIndex:t}function q(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.xAxisId??0}function J(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.yAxisId??0}var bt=!0,xt=`Invariant failed`;function St(e,t){if(!e){if(bt)throw Error(xt);var n=typeof t==`function`?t():t,r=n?`${xt}: ${n}`:xt;throw Error(r)}}function Ct(){return Ct=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ct.apply(null,arguments)}function wt(e){return G.createElement(Me,Ct({shapeType:`rectangle`,activeClassName:`recharts-active-bar`,inActiveClassName:`recharts-inactive-bar`},e))}var Tt=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return(n,r)=>{if(de(e))return e;var i=de(n)||ve(n);return i?e(n,r):(!i&&St(!1,`minPointSize callback function received a value with type of ${typeof n}. Currently only numbers or null/undefined are supported.`),t)}},Et=(e,t,n)=>n,Y=I([c,(e,t)=>t],(e,t)=>e.filter(e=>e.type===`bar`).find(e=>e.id===t)),Dt=I([Y],e=>e?.maxBarSize),Ot=(e,t,n,r)=>r,kt=I([L,c,q,J,Et],(e,t,n,r,i)=>t.filter(t=>e===`horizontal`?t.xAxisId===n:t.yAxisId===r).filter(e=>e.isPanorama===i).filter(e=>e.hide===!1).filter(e=>e.type===`bar`)),At=(e,t,n)=>{var r=L(e),i=q(e,t),a=J(e,t);if(!(i==null||a==null))return r===`horizontal`?g(e,`yAxis`,a,n):g(e,`xAxis`,i,n)},jt=I([kt,w,(e,t)=>{var n=L(e),r=q(e,t),i=J(e,t);if(!(r==null||i==null))return n===`horizontal`?h(e,`xAxis`,r):h(e,`yAxis`,i)}],ut),Mt=(e,t,n)=>{var r=Y(e,t);if(r==null)return 0;var i=q(e,t),a=J(e,t);if(i==null||a==null)return 0;var o=L(e),s=u(e),{maxBarSize:c}=r,l=ve(c)?s:c,d,f;return o===`horizontal`?(d=P(e,`xAxis`,i,n),f=v(e,`xAxis`,i,n)):(d=P(e,`yAxis`,a,n),f=v(e,`yAxis`,a,n)),y(d,f,!0)??l??0},Nt=(e,t,n)=>{var r=L(e),i=q(e,t),a=J(e,t);if(!(i==null||a==null)){var o,s;return r===`horizontal`?(o=P(e,`xAxis`,i,n),s=v(e,`xAxis`,i,n)):(o=P(e,`yAxis`,a,n),s=v(e,`yAxis`,a,n)),y(o,s)}},Pt=I([O,E,(e,t,n)=>{var r=q(e,t);if(r!=null)return P(e,`xAxis`,r,n)},(e,t,n)=>{var r=J(e,t);if(r!=null)return P(e,`yAxis`,r,n)},(e,t,n)=>{var r=q(e,t);if(r!=null)return v(e,`xAxis`,r,n)},(e,t,n)=>{var r=J(e,t);if(r!=null)return v(e,`yAxis`,r,n)},I([I([jt,u,i,Pe,Mt,Nt,Dt],gt),Y],vt),L,C,Nt,I([At,Y],_t),Y,Ot],(e,t,n,r,i,a,o,s,c,l,u,d,f)=>{var{chartData:p,dataStartIndex:m,dataEndIndex:h}=c;if(!(d==null||o==null||t==null||s!==`horizontal`&&s!==`vertical`||n==null||r==null||i==null||a==null||l==null)){var{data:g}=d,_=g!=null&&g.length>0?g:p?.slice(m,h+1);if(_!=null)return mn({layout:s,barSettings:d,pos:o,parentViewBox:t,bandSize:l,xAxis:n,yAxis:r,xAxisTicks:i,yAxisTicks:a,stackedData:u,displayedData:_,offset:e,cells:f,dataStartIndex:m})}}),Ft=[`index`];function It(){return It=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},It.apply(null,arguments)}function Lt(e,t){if(e==null)return{};var n,r,i=Rt(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Rt(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var zt=(0,G.createContext)(void 0),Bt=e=>{var t=(0,G.useContext)(zt);if(t!=null)return t.stackId;if(e!=null)return Ee(e)},Vt=(e,t)=>`recharts-bar-stack-clip-path-${e}-${t}`,Ht=e=>{var t=(0,G.useContext)(zt);if(t!=null){var{stackId:n}=t;return`url(#${Vt(n,e)})`}},Ut=e=>{var{index:t}=e,n=Lt(e,Ft),r=Ht(t);return G.createElement(B,It({className:`recharts-bar-stack-layer`,clipPath:r},n))},Wt=[`onMouseEnter`,`onMouseLeave`,`onClick`],Gt=[`value`,`background`,`tooltipPosition`],Kt=[`id`],qt=[`onMouseEnter`,`onClick`,`onMouseLeave`];function X(){return X=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},X.apply(null,arguments)}function Jt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Z(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Jt(Object(n),!0).forEach(function(t){Yt(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Jt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Yt(e,t,n){return(t=Xt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Xt(e){var t=Zt(e,`string`);return typeof t==`symbol`?t:t+``}function Zt(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Q(e,t){if(e==null)return{};var n,r,i=Qt(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Qt(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var $t=e=>{var{dataKey:t,name:n,fill:r,legendType:i,hide:a}=e;return[{inactive:a,dataKey:t,type:i,color:r,value:ye(n,t),payload:e}]},en=G.memo(e=>{var{dataKey:t,stroke:n,strokeWidth:r,fill:i,name:a,hide:o,unit:s,tooltipType:c,id:l}=e,u={dataDefinedOnItem:void 0,getPosition:A,settings:{stroke:n,strokeWidth:r,fill:i,dataKey:t,nameKey:void 0,name:ye(a,t),hide:o,type:c,color:i,unit:s,graphicalItemId:l}};return G.createElement(ke,{tooltipEntrySettings:u})});function tn(e){var t=re(o),{data:n,dataKey:r,background:i,allOtherBarProps:a}=e,{onMouseEnter:s,onMouseLeave:c,onClick:l}=a,u=Q(a,Wt),d=ot(s,r,a.id),f=st(c),p=ct(l,r,a.id);if(!i||n==null)return null;var m=te(i);return G.createElement(S,{zIndex:yt(i,b.barBackground)},n.map((e,n)=>{var{value:a,background:o,tooltipPosition:s}=e,c=Q(e,Gt);if(!o)return null;var l=d(e,n),h=f(e,n),g=p(e,n),_=Z(Z(Z(Z(Z({option:i,isActive:String(n)===t},c),{},{fill:`#eee`},o),m),Oe(u,e,n)),{},{onMouseEnter:l,onMouseLeave:h,onClick:g,dataKey:r,index:n,className:`recharts-bar-background-rectangle`});return G.createElement(wt,X({key:`background-bar-${n}`},_))}))}function nn(e){var{showLabels:t,children:n,rects:r}=e,i=r?.map(e=>{var t={x:e.x,y:e.y,width:e.width,lowerWidth:e.width,upperWidth:e.width,height:e.height};return Z(Z({},t),{},{value:e.value,payload:e.payload,parentViewBox:e.parentViewBox,viewBox:t,fill:e.fill})});return G.createElement(je,{value:t?i:void 0},n)}function rn(e){var{shape:t,activeBar:n,baseProps:r,entry:i,index:a,dataKey:c}=e,l=re(o),u=re(s),d=n&&String(i.originalDataIndex)===l&&(u==null||c===u),[f,p]=(0,G.useState)(!1),[m,h]=(0,G.useState)(!1);(0,G.useEffect)(()=>{var e;return d?(p(!0),e=requestAnimationFrame(()=>{h(!0)})):h(!1),()=>{cancelAnimationFrame(e)}},[d]);var g=(0,G.useCallback)(()=>{d||p(!1)},[d]),_=d&&m,v=d||f,y=d?n===!0?t:n:t,x=G.createElement(wt,X({},r,{name:String(r.name)},i,{isActive:_,option:y,index:a,dataKey:c,onTransitionEnd:g}));return v?G.createElement(S,{zIndex:b.activeBar},G.createElement(Ut,{index:i.originalDataIndex},x)):x}function an(e){var{shape:t,baseProps:n,entry:r,index:i,dataKey:a}=e;return G.createElement(wt,X({},n,{name:String(n.name)},r,{isActive:!1,option:t,index:i,dataKey:a}))}function on(e){var{data:t,props:n}=e,r=Ne(n)??{},{id:i}=r,a=Q(r,Kt),{shape:o,dataKey:s,activeBar:c}=n,{onMouseEnter:l,onClick:u,onMouseLeave:d}=n,f=Q(n,qt),p=ot(l,s,i),m=st(d),h=ct(u,s,i);return t?G.createElement(G.Fragment,null,t.map((e,t)=>G.createElement(Ut,X({index:e.originalDataIndex,key:`rectangle-${e?.x}-${e?.y}-${e?.value}-${t}`,className:`recharts-bar-rectangle`},Oe(f,e,t),{onMouseEnter:p(e,t),onMouseLeave:m(e,t),onClick:h(e,t)}),c?G.createElement(rn,{shape:o,activeBar:c,baseProps:a,entry:e,index:t,dataKey:s}):G.createElement(an,{shape:o,baseProps:a,entry:e,index:t,dataKey:s})))):null}function sn(e){var{props:t,previousRectanglesRef:n}=e,{data:r,layout:i,isAnimationActive:a,animationBegin:o,animationDuration:s,animationEasing:c,onAnimationEnd:u,onAnimationStart:d}=t,f=n.current,p=T(t,`recharts-bar-`),[m,h]=(0,G.useState)(!1),g=!m,_=(0,G.useCallback)(()=>{typeof u==`function`&&u(),h(!1)},[u]),v=(0,G.useCallback)(()=>{typeof d==`function`&&d(),h(!0)},[d]);return G.createElement(nn,{showLabels:g,rects:r},G.createElement(l,{animationId:p,begin:o,duration:s,isActive:a,easing:c,onAnimationEnd:_,onAnimationStart:v,key:p},e=>{var a=e===1?r:r?.map((t,n)=>{var r=f&&f[n];if(r)return Z(Z({},t),{},{x:N(r.x,t.x,e),y:N(r.y,t.y,e),width:N(r.width,t.width,e),height:N(r.height,t.height,e)});if(i===`horizontal`){var a=N(0,t.height,e),o=N(t.stackedBarStart,t.y,e);return Z(Z({},t),{},{y:o,height:a})}var s=N(0,t.width,e),c=N(t.stackedBarStart,t.x,e);return Z(Z({},t),{},{width:s,x:c})});return e>0&&(n.current=a??null),a==null?null:G.createElement(B,null,G.createElement(on,{props:t,data:a}))}),G.createElement(x,{label:t.label}),t.children)}function cn(e){var t=(0,G.useRef)(null);return G.createElement(sn,{previousRectanglesRef:t,props:e})}var ln=0,un=(e,t)=>{var n=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:n,errorVal:Ce(e,t)}},dn=class extends G.PureComponent{render(){var{hide:e,data:t,dataKey:n,className:r,xAxisId:i,yAxisId:a,needClip:o,background:s,id:c}=this.props;if(e||t==null)return null;var l=He(`recharts-bar`,r),u=c;return G.createElement(B,{className:l,id:c},o&&G.createElement(`defs`,null,G.createElement(ie,{clipPathId:u,xAxisId:i,yAxisId:a})),G.createElement(B,{className:`recharts-bar-rectangles`,clipPath:o?`url(#clipPath-${u})`:void 0},G.createElement(tn,{data:t,dataKey:n,background:s,allOtherBarProps:this.props}),G.createElement(cn,this.props)))}},fn={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:`ease`,background:!1,hide:!1,isAnimationActive:`auto`,label:!1,legendType:`rect`,minPointSize:ln,xAxisId:0,yAxisId:0,zIndex:b.bar};function pn(e){var{xAxisId:t,yAxisId:n,hide:r,legendType:i,minPointSize:a,activeBar:o,animationBegin:s,animationDuration:c,animationEasing:l,isAnimationActive:u}=e,{needClip:d}=se(t,n),p=f(),m=D(),h=M(e.children,at),g=re(t=>Pt(t,e.id,m,h));if(p!==`vertical`&&p!==`horizontal`)return null;var _,v=g?.[0];return _=v==null||v.height==null||v.width==null?0:p===`vertical`?v.height/2:v.width/2,G.createElement(xe,{xAxisId:t,yAxisId:n,data:g,dataPointFormatter:un,errorBarOffset:_},G.createElement(dn,X({},e,{layout:p,needClip:d,data:g,xAxisId:t,yAxisId:n,hide:r,legendType:i,minPointSize:a,activeBar:o,animationBegin:s,animationDuration:c,animationEasing:l,isAnimationActive:u})))}function mn(e){var{layout:t,barSettings:{dataKey:r,minPointSize:i,hasCustomShape:a},pos:o,bandSize:s,xAxis:c,yAxis:l,xAxisTicks:u,yAxisTicks:d,stackedData:f,displayedData:p,offset:m,cells:h,parentViewBox:g,dataStartIndex:_}=e,v=t===`horizontal`?l:c,y=f?v.scale.domain():null,b=n({numericAxis:v}),x=v.scale.map(b);return p.map((e,n)=>{var p,v,S,C,w,T;if(f){var E=f[n+_];if(E==null)return null;p=pe(E,y)}else p=Ce(e,r),Array.isArray(p)||(p=[b,p]);var D=Tt(i,ln)(p[1],n);if(t===`horizontal`){var O=l.scale.map(p[0]),k=l.scale.map(p[1]);if(O==null||k==null)return null;v=oe({axis:c,ticks:u,bandSize:s,offset:o.offset,entry:e,index:n}),S=k??O??void 0,C=o.size;var A=O-k;if(w=Se(A)?0:A,T={x:v,y:m.top,width:C,height:m.height},Math.abs(D)>0&&Math.abs(w)<Math.abs(D)){var ee=le(w||D)*(Math.abs(D)-Math.abs(w));S-=ee,w+=ee}}else{var j=c.scale.map(p[0]),M=c.scale.map(p[1]);if(j==null||M==null)return null;if(v=j,S=oe({axis:l,ticks:d,bandSize:s,offset:o.offset,entry:e,index:n}),C=M-j,w=o.size,T={x:m.left,y:S,width:m.width,height:w},Math.abs(D)>0&&Math.abs(C)<Math.abs(D)){var te=le(C||D)*(Math.abs(D)-Math.abs(C));C+=te}}return v==null||S==null||C==null||w==null||!a&&(C===0||w===0)?null:Z(Z({},e),{},{stackedBarStart:x,x:v,y:S,width:C,height:w,value:f?p:p[1],payload:e,background:T,tooltipPosition:{x:v+C/2,y:S+w/2},parentViewBox:g,originalDataIndex:n},h&&h[n]&&h[n].props)}).filter(Boolean)}function hn(e){var t=ge(e,fn),n=Bt(t.stackId),r=D();return G.createElement(ce,{id:t.id,type:`bar`},e=>G.createElement(G.Fragment,null,G.createElement(k,{legendPayload:$t(t)}),G.createElement(en,{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:e}),G.createElement(ue,{type:`bar`,id:e,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:n,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:r,hasCustomShape:t.shape!=null}),G.createElement(S,{zIndex:t.zIndex},G.createElement(pn,X({},t,{id:e})))))}var gn=G.memo(hn,p);gn.displayName=`Bar`;var _n=[`axis`,`item`],vn=(0,G.forwardRef)((e,t)=>G.createElement(ne,{chartName:`BarChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:_n,tooltipPayloadSearcher:Ae,categoricalChartProps:e,ref:t})),$=Be(),yn={test:{title:`Test Breakdown`,label:`Test`},suite:{title:`Suite Breakdown`,label:`Suite`},platform:{title:`Platform Breakdown`,label:`Platform`}};function bn(e){return e<1e3?`${Math.round(e)}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m ${Math.round(e%6e4/1e3)}s`}function xn(e){let t=e<=1?e*100:e;return Math.round(t*10)/10}function Sn(e,t){return e===`platform`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(U,{className:`px-4 py-2 font-medium`,children:t.label}),(0,$.jsx)(U,{className:`px-4 py-2 text-right font-mono tabular-nums`,children:t.runs}),(0,$.jsx)(U,{className:`px-4 py-2 text-right font-mono tabular-nums`,children:t.passed??0}),(0,$.jsx)(U,{className:`px-4 py-2 text-right font-mono tabular-nums`,children:t.failed??0}),(0,$.jsxs)(U,{className:`px-4 py-2 text-right font-mono tabular-nums`,children:[xn(t.passRate),`%`]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(U,{className:`px-4 py-2 font-medium`,children:t.label}),(0,$.jsx)(U,{className:`px-4 py-2 text-right font-mono tabular-nums`,children:t.runs}),(0,$.jsxs)(U,{className:`px-4 py-2 text-right font-mono tabular-nums`,children:[xn(t.passRate),`%`]}),(0,$.jsxs)(U,{className:`px-4 py-2 text-right font-mono tabular-nums`,children:[xn(t.flakeRate),`%`]}),(0,$.jsx)(U,{className:`px-4 py-2 text-right font-mono tabular-nums`,children:bn(t.avgDuration)})]})}function Cn({dimension:e,rows:t,isRefreshing:n=!1}){let r=yn[e];return t.length===0?(0,$.jsx)(F,{children:(0,$.jsx)(R,{className:`px-4 py-6`,title:`No ${e} data in this window`,description:`Try another breakdown or widen the time window.`})}):(0,$.jsx)(F,{className:V(`overflow-hidden transition-opacity`,n&&`opacity-70`),"aria-busy":n||void 0,children:(0,$.jsxs)(Ie,{className:`w-full`,children:[(0,$.jsxs)(et,{children:[(0,$.jsx)(Ze,{children:(0,$.jsxs)($e,{className:`hover:bg-transparent`,children:[(0,$.jsx)(H,{className:`px-4`,children:r.label}),(0,$.jsx)(H,{className:`px-4 text-right`,children:`Runs`}),e===`platform`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(H,{className:`px-4 text-right`,children:`Passed`}),(0,$.jsx)(H,{className:`px-4 text-right`,children:`Failed`}),(0,$.jsx)(H,{className:`px-4 text-right`,children:`Pass Rate`})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(H,{className:`px-4 text-right`,children:`Pass Rate`}),(0,$.jsx)(H,{className:`px-4 text-right`,children:`Flake Rate`}),(0,$.jsx)(H,{className:`px-4 text-right`,children:`Avg Duration`})]})]})}),(0,$.jsx)(Qe,{children:t.map(t=>(0,$.jsx)($e,{className:`hover:bg-transparent`,children:Sn(e,t)},t.key))})]}),(0,$.jsx)(Fe,{orientation:`horizontal`})]})})}var wn={promptTokens:{label:`Input`,color:`var(--chart-1)`},completionTokens:{label:`Output`,color:`var(--chart-2)`}};function Tn(e){return new Intl.NumberFormat(`en-US`,{notation:`compact`,maximumFractionDigits:1}).format(e)}function En(e){let t=new Map;for(let n of e){let e=t.get(n.model)??{model:n.model,promptTokens:0,completionTokens:0};e.promptTokens+=n.promptTokens,e.completionTokens+=n.completionTokens,t.set(n.model,e)}return Array.from(t.values()).map(e=>({...e,totalTokens:e.promptTokens+e.completionTokens})).sort((e,t)=>t.totalTokens-e.totalTokens)}function Dn({active:e,payload:t,label:n}){if(!e||!t?.length)return null;let r=t.find(e=>e.dataKey===`promptTokens`)?.value??0,i=t.find(e=>e.dataKey===`completionTokens`)?.value??0,a=r+i;return(0,$.jsxs)(`div`,{className:`rounded-md border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl`,children:[(0,$.jsx)(`p`,{className:`mb-1 font-medium`,children:n??``}),(0,$.jsx)(`div`,{className:`grid gap-1`,children:[{label:`Input`,value:r,color:`var(--chart-1)`},{label:`Output`,value:i,color:`var(--chart-2)`},{label:`Total`,value:a,color:`var(--muted-foreground)`}].map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`div`,{className:`h-2.5 w-2.5 shrink-0 rounded-[2px]`,style:{backgroundColor:e.color}}),(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:e.label})]}),(0,$.jsx)(`span`,{className:`font-mono font-medium tabular-nums`,children:W(e.value)})]},e.label))})]})}function On({data:e,className:t}){let n=En(e);return(0,$.jsx)(we,{config:wn,className:V(`h-[220px] w-full aspect-auto`,t),children:(0,$.jsxs)(vn,{data:n,layout:`vertical`,accessibilityLayer:!0,margin:{top:4,right:8,left:8,bottom:4},children:[(0,$.jsx)(_e,{horizontal:!1}),(0,$.jsx)(De,{type:`number`,tickFormatter:Tn,tickLine:!1,axisLine:!1}),(0,$.jsx)(he,{type:`category`,dataKey:`model`,tickLine:!1,axisLine:!1,width:96}),(0,$.jsx)(a,{content:(0,$.jsx)(Dn,{}),isAnimationActive:!1}),(0,$.jsx)(gn,{dataKey:`promptTokens`,fill:`var(--color-promptTokens)`,stackId:`tokens`,radius:[4,0,0,4],isAnimationActive:!1}),(0,$.jsx)(gn,{dataKey:`completionTokens`,fill:`var(--color-completionTokens)`,stackId:`tokens`,radius:[0,4,4,0],isAnimationActive:!1})]})})}function kn({title:e,description:t}){return(0,$.jsx)(R,{className:`min-h-48 px-5 py-6`,title:e,description:t})}function An(e){return e?e.byModel.some(e=>e.promptTokens>0||e.completionTokens>0):!1}function jn(e){return`${Math.round(e*100)}%`}function Mn(e){if(!e)return[];let t=new Map;for(let n of e.byModel){let e=t.get(n.model)??{model:n.model,promptTokens:0,completionTokens:0};e.promptTokens+=n.promptTokens,e.completionTokens+=n.completionTokens,t.set(n.model,e)}return Array.from(t.values()).map(e=>({...e,totalTokens:e.promptTokens+e.completionTokens})).sort((e,t)=>t.totalTokens-e.totalTokens)}function Nn({stats:e,tokenStats:t}){let n=e.memory,r=An(t),i=!!(n&&n.runs>0),a=Mn(t),o=(t?.totals.promptTokens??0)+(t?.totals.completionTokens??0),s=n?n.added+n.confirmed+n.deprecated:0,c=s>0?[{label:`Added`,value:n.added,color:`bg-[var(--chart-1)]`},{label:`Confirmed`,value:n.confirmed,color:`bg-[var(--chart-2)]`},{label:`Deprecated`,value:n.deprecated,color:`bg-[var(--chart-5)]`}]:[],l=t?.bySource[`test-run`],u=t?.bySource[`live-editor`];return(0,$.jsxs)(F,{className:`xl:grid-cols-2 xl:divide-x xl:divide-y-0 xl:items-stretch`,children:[r&&t?(0,$.jsxs)(z,{className:`flex h-full flex-col p-0`,children:[(0,$.jsxs)(`div`,{className:`border-b border-border px-5 py-5`,children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold`,children:`Token Usage`}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Window-wide model activity, independent of the breakdown selector.`})]}),(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`grid gap-0 divide-y divide-border border-b border-border sm:grid-cols-3 sm:divide-x sm:divide-y-0`,children:[(0,$.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Total Tokens`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:W(o)})]}),(0,$.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Input`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:W(t.totals.promptTokens)})]}),(0,$.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Output`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:W(t.totals.completionTokens)})]})]}),(0,$.jsxs)(`div`,{className:`space-y-2 border-b border-border px-5 py-5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`p`,{className:`text-sm font-medium`,children:`By model`}),(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Input vs output across `,a.length,` active `,a.length===1?`model`:`models`]})]}),(0,$.jsx)(On,{data:t.byModel,className:`h-[200px]`})]}),(0,$.jsxs)(`div`,{className:`grid gap-0 divide-y divide-border sm:grid-cols-2 sm:divide-x sm:divide-y-0`,children:[(0,$.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Test Runs`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:W((l?.promptTokens??0)+(l?.completionTokens??0))})]}),(0,$.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Live Editor`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:W((u?.promptTokens??0)+(u?.completionTokens??0))})]})]})]})]}):(0,$.jsx)(kn,{title:`No token usage in this window`,description:`Token metrics appear after runs or live sessions use model calls.`}),i&&n?(0,$.jsxs)(z,{className:`flex h-full flex-col p-0`,children:[(0,$.jsxs)(`div`,{className:`border-b border-border px-5 py-5`,children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold`,children:`Memory Curator`}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Observation activity and curator usage across the selected window.`})]}),(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`grid gap-0 divide-y divide-border border-b border-border sm:grid-cols-3 sm:divide-x sm:divide-y-0`,children:[(0,$.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Runs With Memory`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:n.runs})]}),(0,$.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Observations`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:s})]}),(0,$.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Curator Tokens`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:W(n.curatorTokens)})]})]}),(0,$.jsxs)(`div`,{className:`grid flex-1 gap-0 divide-y divide-border lg:grid-cols-2 lg:divide-x lg:divide-y-0`,children:[(0,$.jsxs)(`div`,{className:`px-4 py-4`,children:[(0,$.jsx)(`p`,{className:`text-sm font-medium`,children:`Observation Mix`}),c.length>0?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`mt-4 flex h-3 overflow-hidden rounded-full bg-muted`,children:c.map(e=>(0,$.jsx)(`div`,{className:e.color,style:{width:`${e.value===0?0:e.value/s*100}%`}},e.label))}),(0,$.jsx)(`div`,{className:`mt-4 space-y-2`,children:c.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`size-2 rounded-full ${e.color}`}),(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:e.label})]}),(0,$.jsx)(`span`,{className:`font-mono tabular-nums`,children:e.value})]},e.label))})]}):(0,$.jsx)(`p`,{className:`mt-3 text-sm text-muted-foreground`,children:`No observation mix is available in this window yet.`})]}),(0,$.jsxs)(`div`,{className:`px-4 py-4`,children:[(0,$.jsx)(`p`,{className:`text-sm font-medium`,children:`Curator Snapshot`}),(0,$.jsxs)(`div`,{className:`mt-4 grid gap-4 sm:grid-cols-2`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Added Share`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:s>0?jn(n.added/s):`0%`})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Tokens / Run`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:n.runs>0?W(Math.round(n.curatorTokens/n.runs)):`0`})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Confirmed`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:n.confirmed})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Deprecated`}),(0,$.jsx)(`p`,{className:`mt-1 text-xl font-semibold`,children:n.deprecated})]})]})]})]})]})]}):(0,$.jsx)(kn,{title:`No memory-curator activity in this window`,description:`Memory metrics appear after runs create or confirm observations.`})]})}var Pn=[{value:`1d`,label:`1D`},{value:`7d`,label:`7D`},{value:`30d`,label:`30D`},{value:`all`,label:`All Time`}],Fn=[{value:`test`,label:`Test`,title:`Test Breakdown`},{value:`suite`,label:`Suite`,title:`Suite Breakdown`},{value:`platform`,label:`Platform`,title:`Platform Breakdown`}];function In(e){let t=new Date;return t.setDate(t.getDate()-e),t.toISOString()}function Ln(e){let t=e<=1?e*100:e;return`${Math.round(t)}%`}function Rn(e){if(e!==`all`)return In(e===`1d`?1:e===`30d`?30:7)}function zn(){t(`Insights`);let e=Ue(),{window:n,breakdown:r,setWindow:i,setBreakdown:a}=it(),[o,s]=(0,G.useState)(null),[c,l]=(0,G.useState)(null),[u,d]=(0,G.useState)([]),[f,p]=(0,G.useState)(!1),[m,h]=(0,G.useState)(!1),[g,_]=(0,G.useState)(!1),[v,y]=(0,G.useState)(!1),[b,x]=(0,G.useState)(!1),[S,C]=(0,G.useState)(!1),[w,T]=(0,G.useState)(`all`);if((0,G.useEffect)(()=>{let e=!1;async function t(){let t=Rn(n),r=w===`scoped`?`passRate`:void 0;f&&_(!0);try{let[n,i]=await Promise.all([qe({from:t,scope:r}),Ge({from:t})]);if(e)return;s(n),l(i),x(!1)}catch{if(e)return;f||(s(null),l(null)),x(!0)}finally{if(e)return;p(!0),_(!1)}}return t(),()=>{e=!0}},[n,w]),(0,G.useEffect)(()=>{let e=!1;async function t(){let t=Rn(n),i=w===`scoped`?`passRate`:void 0;m&&y(!0);try{let n=await Re(r,{from:t,limit:25,scope:i});if(e)return;d(n.rows),C(!1)}catch{if(e)return;m||d([]),C(!0)}finally{if(e)return;h(!0),y(!1)}}return t(),()=>{e=!0}},[n,r,w]),!f||!m)return(0,$.jsx)(Je,{});let E=!!(o&&o.totalRuns>0),D=o&&o.totalRuns>0?Math.round(o.passed/o.totalRuns*100):0,O=Fn.find(e=>e.value===r)??Fn[0],k=o&&o.runs.length>0?Math.round(o.totalRuns/o.runs.length):0,A=b&&!o,j=n===`all`?`selected range`:`selected window`,M=o?.scope?.configured??!1,te=w===`scoped`&&M;return(0,$.jsxs)(`div`,{"data-insights-page-root":!0,className:`h-full min-h-0 overflow-y-auto p-4 md:p-6 space-y-6`,children:[(0,$.jsxs)(`header`,{className:`flex flex-col gap-4 md:flex-row md:items-start md:justify-between`,children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`h1`,{className:`text-3xl font-semibold tracking-tight`,children:`Insights`}),(0,$.jsx)(`p`,{className:`max-w-2xl text-sm text-muted-foreground`,children:`Window-wide reliability, cost, and curator signals with a separate comparison section for tests, suites, and platforms.`})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 md:items-end`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 md:justify-end`,children:[M?(0,$.jsx)(`div`,{className:`inline-flex rounded border border-border p-0.5`,"aria-label":`Run scope`,children:[`scoped`,`all`].map(e=>(0,$.jsx)(Ve,{type:`button`,size:`xs`,variant:w===e?`default`:`ghost`,"aria-pressed":w===e,className:`h-7 rounded-[2px] px-2 text-xs`,onClick:()=>T(e),children:e===`scoped`?`Scoped`:`All runs`},e))}):null,(0,$.jsx)(`div`,{className:`inline-flex rounded border border-border p-0.5`,"aria-label":`Time window`,children:Pn.map(e=>(0,$.jsx)(Ve,{type:`button`,variant:n===e.value?`default`:`ghost`,size:`xs`,"aria-pressed":n===e.value,className:`h-7 rounded-[2px] px-2 text-xs`,onClick:()=>(0,G.startTransition)(()=>i(e.value)),children:e.label},e.value))})]}),g?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground md:justify-end`,children:[(0,$.jsx)(Xe,{className:`size-3 animate-spin`}),(0,$.jsx)(`span`,{children:`Refreshing selected range`})]}):null]})]}),A?(0,$.jsx)(F,{className:`mt-6`,children:(0,$.jsx)(R,{title:`Insights unavailable`,description:`Refresh the page. If the problem continues, change the time window and verify analytics data is available.`})}):!E||!o?(0,$.jsx)(F,{className:`mt-6 min-h-[50vh]`,children:(0,$.jsxs)(z,{className:`flex min-h-[50vh] flex-col items-center justify-center text-center`,children:[(0,$.jsx)(ze,{className:`mb-4 h-8 w-8 text-muted-foreground`}),(0,$.jsx)(`h3`,{className:`text-lg font-semibold`,children:`No runs in this window`}),(0,$.jsx)(`p`,{className:`mt-1 max-w-sm text-sm text-muted-foreground`,children:`Run or rerun tests to populate insights. If you expect older data, switch to 30D or All Time.`}),(0,$.jsx)(Ve,{className:`mt-6`,onClick:()=>e(Le.runs),children:`Open Runs`})]})}):(0,$.jsxs)(`div`,{className:`mt-6 space-y-6`,children:[b?(0,$.jsx)(F,{className:`border-amber-500/30`,children:(0,$.jsx)(R,{description:`The latest refresh failed. Showing the previous ${j} instead.`})}):null,(0,$.jsxs)(`section`,{className:`space-y-4`,children:[(0,$.jsxs)(F,{className:`xl:grid-cols-[minmax(0,340px)_minmax(0,1fr)_minmax(0,1fr)] xl:divide-x xl:divide-y-0 xl:items-stretch`,children:[(0,$.jsx)(z,{className:`p-0`,children:(0,$.jsxs)(`div`,{className:`grid h-full auto-rows-fr gap-0 sm:grid-cols-2`,children:[(0,$.jsx)(fe,{className:`border-b border-border sm:border-r`,label:`Total Runs`,value:o.totalRuns.toLocaleString(),description:`${k} ${te?`scoped `:``}runs per active day in this ${n===`all`?`range`:`window`}.`}),(0,$.jsx)(fe,{className:`border-b border-border`,label:`Pass Rate`,value:`${D}%`,description:`${o.passed} successful ${te?`scoped `:``}runs out of ${o.totalRuns}.`}),(0,$.jsx)(fe,{className:`border-b border-border sm:border-b-0 sm:border-r`,label:`Avg Duration`,value:Ke(o.avgDuration),description:`Average runtime for completed runs in the selected range.`}),(0,$.jsx)(fe,{label:`Flake Rate`,value:Ln(o.flakeRate),description:`${o.failed} failed runs with healed/flaky behavior tracked separately.`})]})}),(0,$.jsxs)(z,{className:`h-full`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold`,children:`Pass Rate`}),(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Trend for successful outcomes across the selected window.`})]}),(0,$.jsx)(be,{data:o.runs.map(e=>{let t=e.passed+e.failed;return{date:e.date,passRate:t>0?Math.round(e.passed/t*1e3)/10:0}}),className:V(`mt-4 h-[200px]`,g&&`opacity-70`)})]}),(0,$.jsxs)(z,{className:`h-full`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold`,children:`Duration`}),(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Average run duration by day for the selected window.`})]}),(0,$.jsx)(ee,{data:o.runs.map(e=>({date:e.date,duration:e.duration})),className:V(`mt-4 h-[200px]`,g&&`opacity-70`)})]})]}),(0,$.jsx)(`div`,{className:V(`transition-opacity`,g&&`opacity-70`),children:(0,$.jsx)(Nn,{stats:o,tokenStats:c})})]}),(0,$.jsxs)(`section`,{className:`space-y-4`,children:[(0,$.jsxs)(F,{"data-insights-breakdown-block":!0,"aria-busy":v,className:`divide-y-0 lg:grid-cols-[minmax(0,1fr)_auto]`,children:[(0,$.jsxs)(z,{className:`space-y-1`,children:[(0,$.jsx)(`h2`,{className:`text-lg font-semibold`,children:O.title}),(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Compare reliability in a focused lower section so the overall window summary stays stable.`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[v?(0,$.jsx)(Xe,{className:`size-3 animate-spin`}):null,(0,$.jsx)(`span`,{children:S?`Unable to refresh comparison. Showing previous results.`:v?`Updating comparison`:`${O.label} comparison`})]})]}),(0,$.jsxs)(z,{className:`space-y-2 lg:text-right`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Break down by`}),(0,$.jsx)(`div`,{className:`flex flex-wrap gap-2 lg:justify-end`,children:Fn.map(e=>(0,$.jsx)(Ve,{variant:r===e.value?`default`:`outline`,size:`sm`,onClick:()=>(0,G.startTransition)(()=>a(e.value)),children:e.label},e.value))})]})]}),S&&u.length===0?(0,$.jsx)(F,{children:(0,$.jsx)(R,{title:`Breakdown unavailable`,children:(0,$.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Refresh the page or pick another window to reload the selected comparison.`})})}):(0,$.jsx)(Cn,{dimension:r,rows:u,isRefreshing:v})]})]})]})}export{zn as default};