promptfoo 0.52.0 → 0.53.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.
Files changed (87) hide show
  1. package/dist/package.json +2 -1
  2. package/dist/src/assertions.js +1 -1
  3. package/dist/src/assertions.js.map +1 -1
  4. package/dist/src/commands/delete.d.ts +3 -0
  5. package/dist/src/commands/delete.d.ts.map +1 -0
  6. package/dist/src/commands/delete.js +53 -0
  7. package/dist/src/commands/delete.js.map +1 -0
  8. package/dist/src/commands/list.d.ts.map +1 -1
  9. package/dist/src/commands/list.js +1 -0
  10. package/dist/src/commands/list.js.map +1 -1
  11. package/dist/src/commands/show.d.ts.map +1 -1
  12. package/dist/src/commands/show.js +7 -2
  13. package/dist/src/commands/show.js.map +1 -1
  14. package/dist/src/csv.d.ts.map +1 -1
  15. package/dist/src/csv.js +5 -0
  16. package/dist/src/csv.js.map +1 -1
  17. package/dist/src/database.d.ts.map +1 -1
  18. package/dist/src/database.js +4 -0
  19. package/dist/src/database.js.map +1 -1
  20. package/dist/src/evaluator.d.ts.map +1 -1
  21. package/dist/src/evaluator.js +36 -5
  22. package/dist/src/evaluator.js.map +1 -1
  23. package/dist/src/index.d.ts.map +1 -1
  24. package/dist/src/index.js +8 -6
  25. package/dist/src/index.js.map +1 -1
  26. package/dist/src/main.js +2 -0
  27. package/dist/src/main.js.map +1 -1
  28. package/dist/src/matchers.d.ts.map +1 -1
  29. package/dist/src/matchers.js +11 -11
  30. package/dist/src/matchers.js.map +1 -1
  31. package/dist/src/providers/anthropic.d.ts +3 -0
  32. package/dist/src/providers/anthropic.d.ts.map +1 -1
  33. package/dist/src/providers/anthropic.js +4 -1
  34. package/dist/src/providers/anthropic.js.map +1 -1
  35. package/dist/src/providers/defaults.d.ts +13 -0
  36. package/dist/src/providers/defaults.d.ts.map +1 -0
  37. package/dist/src/providers/defaults.js +26 -0
  38. package/dist/src/providers/defaults.js.map +1 -0
  39. package/dist/src/types.d.ts +16 -1
  40. package/dist/src/types.d.ts.map +1 -1
  41. package/dist/src/updates.d.ts +1 -1
  42. package/dist/src/updates.d.ts.map +1 -1
  43. package/dist/src/updates.js +6 -6
  44. package/dist/src/updates.js.map +1 -1
  45. package/dist/src/util.d.ts +2 -1
  46. package/dist/src/util.d.ts.map +1 -1
  47. package/dist/src/util.js +19 -3
  48. package/dist/src/util.js.map +1 -1
  49. package/dist/src/web/nextui/404/index.html +1 -1
  50. package/dist/src/web/nextui/404.html +1 -1
  51. package/dist/src/web/nextui/_next/static/chunks/670-cbba26ea73165041.js +1 -0
  52. package/dist/src/web/nextui/_next/static/chunks/{782-6b1b5ac8f130e5a1.js → 772-d8e765a0f4a182cd.js} +4 -4
  53. package/dist/src/web/nextui/_next/static/chunks/864-406abb9f68cff6a3.js +1 -0
  54. package/dist/src/web/nextui/_next/static/chunks/{609-483decb66cf4cfa8.js → 921-ea4bddb5c25058ea.js} +1 -1
  55. package/dist/src/web/nextui/_next/static/chunks/{580-cccb247de1b7350b.js → 946-740c3c4d7e8acaf7.js} +2 -2
  56. package/dist/src/web/nextui/_next/static/chunks/app/datasets/page-f93e740e9cc7a725.js +1 -0
  57. package/dist/src/web/nextui/_next/static/chunks/app/eval/[id]/{page-6f275364ed1179d3.js → page-fd17c94175203b8b.js} +1 -1
  58. package/dist/src/web/nextui/_next/static/chunks/app/eval/{page-7a1f6ddb7c8a0989.js → page-f7288a403368b113.js} +1 -1
  59. package/dist/src/web/nextui/_next/static/chunks/app/{layout-6bdc710ec6575432.js → layout-0afd14c99b2fc9eb.js} +1 -1
  60. package/dist/src/web/nextui/_next/static/chunks/app/progress/page-1129b810645defc6.js +1 -0
  61. package/dist/src/web/nextui/_next/static/chunks/app/setup/{page-24c5090254cfe584.js → page-45bba09ce127aef4.js} +1 -1
  62. package/dist/src/web/nextui/auth/login/index.html +1 -1
  63. package/dist/src/web/nextui/auth/login/index.txt +2 -2
  64. package/dist/src/web/nextui/auth/signup/index.html +1 -1
  65. package/dist/src/web/nextui/auth/signup/index.txt +2 -2
  66. package/dist/src/web/nextui/datasets/index.html +1 -1
  67. package/dist/src/web/nextui/datasets/index.txt +3 -3
  68. package/dist/src/web/nextui/eval/index.html +1 -1
  69. package/dist/src/web/nextui/eval/index.txt +3 -3
  70. package/dist/src/web/nextui/index.html +1 -1
  71. package/dist/src/web/nextui/index.txt +2 -2
  72. package/dist/src/web/nextui/progress/index.html +1 -1
  73. package/dist/src/web/nextui/progress/index.txt +3 -3
  74. package/dist/src/web/nextui/prompts/index.html +1 -1
  75. package/dist/src/web/nextui/prompts/index.txt +2 -2
  76. package/dist/src/web/nextui/setup/index.html +1 -1
  77. package/dist/src/web/nextui/setup/index.txt +3 -3
  78. package/dist/src/web/server.d.ts.map +1 -1
  79. package/dist/src/web/server.js +10 -0
  80. package/dist/src/web/server.js.map +1 -1
  81. package/package.json +2 -1
  82. package/dist/src/web/nextui/_next/static/chunks/670-2347ab2bd4ff02e8.js +0 -1
  83. package/dist/src/web/nextui/_next/static/chunks/840-854b7ee26e0beb0b.js +0 -1
  84. package/dist/src/web/nextui/_next/static/chunks/app/datasets/page-b348c3d000a051ae.js +0 -1
  85. package/dist/src/web/nextui/_next/static/chunks/app/progress/page-3920254227ac3a80.js +0 -1
  86. /package/dist/src/web/nextui/_next/static/{h7brftlT688FPtMGffwJi → GHBGwvfOmzPvY63S0GsPx}/_buildManifest.js +0 -0
  87. /package/dist/src/web/nextui/_next/static/{h7brftlT688FPtMGffwJi → GHBGwvfOmzPvY63S0GsPx}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/web/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/web/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "promptfoo",
3
3
  "description": "LLM eval & testing toolkit",
4
4
  "author": "Ian Webster",
5
- "version": "0.52.0",
5
+ "version": "0.53.0",
6
6
  "license": "MIT",
7
7
  "type": "commonjs",
8
8
  "repository": "promptfoo/promptfoo",
@@ -102,6 +102,7 @@
102
102
  "fastest-levenshtein": "^1.0.16",
103
103
  "glob": "^10.2.6",
104
104
  "js-yaml": "^4.1.0",
105
+ "mathjs": "^12.4.1",
105
106
  "node-fetch": "^2.6.7",
106
107
  "nunjucks": "^3.2.4",
107
108
  "openai": "^4.19.0",
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[670],{2810:function(e,t,s){"use strict";let n,l;async function r(){if(n||(l||(l=fetch("/api/config").then(e=>e.json()).then(e=>n=e.apiBaseUrl)),await l),void 0===n)throw Error("API base URL is undefined");return n}s.d(t,{b:function(){return r}})},9670:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return eV}});var n=s(7437),l=s(2265),r=s(2130),a=s(6882),i=s(3388),o=s(4033),c=s(3082),d=s(8440),u=s(6507),p=s(5551),h=s(7760),m=s(3391),x=s(4081),j=s(3226),g=s(819),f=s(8212),v=s(5507),b=s(923),y=s(654),Z=s(3295),C=s(2467),w=s(3457),k=s(1975),S=s(8276),N=s(9605),R=s(9190),P=s(2053),I=s(8339),O=s(2481),E=s(3375),F=s(4660),T=s(4810);let L=(0,F.Ue)()((0,T.tJ)((e,t)=>({evalId:null,setEvalId:t=>e(()=>({evalId:t})),table:null,setTable:t=>e(()=>({table:t})),config:null,setConfig:t=>e(()=>({config:t})),maxTextLength:250,setMaxTextLength:t=>e(()=>({maxTextLength:t})),wordBreak:"break-word",setWordBreak:t=>e(()=>({wordBreak:t})),showInferenceDetails:!0,setShowInferenceDetails:t=>e(()=>({showInferenceDetails:t})),renderMarkdown:!1,setRenderMarkdown:t=>e(()=>({renderMarkdown:t})),prettifyJson:!1,setPrettifyJson:t=>e(()=>({prettifyJson:t})),showPrompts:!1,setShowPrompts:t=>e(()=>({showPrompts:t}))}),{name:"ResultsViewStorage",storage:(0,T.FL)(()=>localStorage)}));var M=function(){let{table:e,config:t,evalId:s}=L(),[r,a]=l.useState(null),i=(e,t)=>{let s=URL.createObjectURL(e),n=document.createElement("a");n.href=s,n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(s)};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(S.Z,{title:"Download options",children:(0,n.jsx)(p.Z,{color:"primary","aria-controls":"download-menu","aria-haspopup":"true",onClick:e=>{a(e.currentTarget)},startIcon:(0,n.jsx)(O.Z,{}),children:"Download"})}),(0,n.jsxs)(E.Z,{id:"download-menu",anchorEl:r,keepMounted:!0,open:!!r,onClose:()=>a(null),children:[(0,n.jsx)(v.Z,{onClick:()=>{a(null);let e=I.default.dump(t),s=new Blob([e],{type:"text/yaml;charset=utf-8"});i(s,"promptfooconfig.yaml")},children:"YAML config"}),(0,n.jsx)(v.Z,{onClick:()=>{if(a(null),!e){alert("No table data");return}let t=new Blob([JSON.stringify(e,null,2)],{type:"application/json"});i(t,"".concat(s,"-table.json"))},children:"Table JSON"}),(0,n.jsx)(v.Z,{onClick:()=>{if(a(null),!e){alert("No table data");return}let t=e.body.map((t,s)=>({chosen:t.outputs.filter(e=>e.pass).map(e=>e.text),rejected:t.outputs.filter(e=>!e.pass).map(e=>e.text),vars:t.test.vars,providers:e.head.prompts.map(e=>e.provider),prompts:e.head.prompts.map(e=>e.display)})),n=new Blob([JSON.stringify(t,null,2)],{type:"application/json"});i(n,"".concat(s,"-dpo.json"))},children:"DPO JSON"})]})]})},D=s(6704),U=s(9394),A=s(1797),_=s(6337),W=s(1101),V=s(9872),z=s(2653),B=s(3533),J=s(4740);let H=["#fd7f6f","#7eb0d5","#b2e061","#bd7ebe","#ffb55a","#ffee65","#beb9db","#fdcce5","#8bd3c7"];function G(e){let{table:t}=e,s=(0,l.useRef)(null),r=(0,l.useRef)(null);return(0,l.useEffect)(()=>{if(!s.current)return;r.current&&r.current.destroy();let e=t.body.flatMap(e=>e.outputs.map(e=>e.score)),n=Math.min(...e),l=(Math.ceil(Math.max(...e))-Math.floor(n))/10,a=Array.from({length:11},(e,t)=>parseFloat((Math.floor(n)+t*l).toFixed(2))),i=t.head.prompts.map((e,s)=>{let n=t.body.flatMap(e=>e.outputs[s].score),r=a.map(e=>n.filter(t=>t>=e&&t<e+l).length);return{label:"Prompt ".concat(s+1),data:r,backgroundColor:H[s%H.length]}});r.current=new D.kL(s.current,{type:"bar",data:{labels:a,datasets:i},options:{animation:!1,plugins:{title:{display:!0,text:"Score Distribution"},legend:{display:!1},tooltip:{callbacks:{title:function(e){let t=e[0].datasetIndex;return"Prompt ".concat(t+1)},label:function(e){let t=e.dataIndex,s=a[t],n=a[t+1];return n?"".concat(s," <= score < ").concat(n):"".concat(s," <= score")}}}}}})},[t]),(0,n.jsx)("canvas",{ref:s,style:{maxHeight:"300px"}})}function X(e){let{table:t}=e,s=(0,l.useRef)(null),r=(0,l.useRef)(null);return(0,l.useEffect)(()=>{if(!s.current)return;r.current&&r.current.destroy();let e=t.head.prompts.map((e,s)=>{let n=t.body.flatMap(e=>e.outputs[s]),l=n.filter(e=>e.pass).length,r=l/n.length*100;return{label:"Prompt ".concat(s+1),data:[r],backgroundColor:H[s%H.length]}});r.current=new D.kL(s.current,{type:"bar",data:{labels:["Pass Rate (%)"],datasets:e},options:{animation:!1,plugins:{title:{display:!0,text:"Pass rate"},legend:{display:!0}}}})},[t]),(0,n.jsx)("canvas",{ref:s,style:{maxHeight:"300px"}})}function Y(e){let{table:t}=e,s=(0,l.useRef)(null),r=(0,l.useRef)(null),[a,i]=(0,l.useState)(0),[o,c]=(0,l.useState)(1),[d,u]=(0,l.useState)(!1);return(0,l.useEffect)(()=>{if(!s.current)return;r.current&&r.current.destroy();let e=t.body.flatMap(e=>e.outputs.map(e=>e.score)),n=Math.min(...e),l=Math.max(...e),i=t.body.map(e=>{let t=e.outputs[a].score,s=e.outputs[o].score;return{x:t,y:s,backgroundColor:s>t?"green":s<t?"red":"gray"}});r.current=new D.kL(s.current,{type:"scatter",data:{datasets:[{data:i,backgroundColor:i.map(e=>e.backgroundColor)},{type:"line",data:[{x:n,y:n},{x:l,y:l}],borderColor:"gray",borderWidth:1,borderDash:[5,5],pointRadius:0}]},options:{animation:!1,plugins:{legend:{display:!1},tooltip:{callbacks:{label:function(e){let s=t.body[e.dataIndex],n=s.outputs[0].text,l=s.outputs[1].text;return n.length>30&&(n=n.substring(0,30)+"..."),l.length>30&&(l=l.substring(0,30)+"..."),"Output 1: ".concat(n,"\nOutput 2: ").concat(l)}}}},scales:{x:{title:{display:!0,text:"Prompt ".concat(a+1," Score")}},y:{title:{display:!0,text:"Prompt ".concat(o+1," Score")}}}}})},[t,a,o]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(U.Z,{open:d,onClose:()=>u(!1),children:[(0,n.jsx)(A.Z,{children:"Compare prompt outputs"}),(0,n.jsxs)(_.Z,{children:[(0,n.jsx)(x.Z,{sx:{m:1,minWidth:120},children:(0,n.jsx)(y.Z,{value:a,onChange:e=>i(Number(e.target.value)),children:t.head.prompts.map((e,t)=>(0,n.jsxs)(v.Z,{value:t,children:["Prompt ",t+1]},t))})}),(0,n.jsx)(x.Z,{sx:{m:1,minWidth:120},children:(0,n.jsx)(y.Z,{value:o,onChange:e=>c(Number(e.target.value)),children:t.head.prompts.map((e,t)=>(0,n.jsxs)(v.Z,{value:t,children:["Prompt ",t+1]},t))})})]})]}),(0,n.jsx)("canvas",{ref:s,style:{maxHeight:"300px",cursor:"pointer"},onClick:()=>u(!0)})]})}function q(e){let{columnVisibility:t}=e,s=(0,W.Z)();D.kL.defaults.color="dark"===s.palette.mode?"#aaa":"#666";let[r,a]=(0,l.useState)(!0),{table:i}=L();if(!i||!r||i.head.prompts.length<2)return null;let o=i.body.flatMap(e=>e.outputs.map(e=>e.score));return 1===new Set(o).size?null:(0,n.jsx)(J.SV,{fallback:null,children:(0,n.jsxs)(V.Z,{style:{position:"relative",padding:s.spacing(3)},children:[(0,n.jsx)(z.Z,{style:{position:"absolute",right:0,top:0},onClick:()=>a(!1),children:(0,n.jsx)(B.Z,{})}),(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",width:"100%"},children:[(0,n.jsx)("div",{style:{width:"33%"},children:(0,n.jsx)(X,{table:i})}),(0,n.jsx)("div",{style:{width:"33%"},children:(0,n.jsx)(G,{table:i})}),(0,n.jsx)("div",{style:{width:"33%"},children:(0,n.jsx)(Y,{table:i})})]})]})})}D.kL.register(D.vn,D.ST,D.ho,D.uw,D.f$,D.ZL,D.jn,D.od,D.u,D.wL);var $=s(9116);s(5777);var K=s(3425),Q=s(7660),ee=s(3216),et=s(182),es=s(5391),en=s(1396),el=s.n(en);s(8715);var er=e=>{let{lookup:t}=e;return t&&Object.keys(t).length?(0,n.jsx)("div",{className:"custom-metric-container",children:Object.entries(t).map(e=>{let[t,s]=e;return t&&s?(0,n.jsxs)("span",{children:[t,": ",s.toFixed(2)]},t):null})}):null},ea=s(2834),ei=s(5446),eo=s(9329),ec=s(4719),ed=s(3701),eu=s(9279),ep=s(666),eh=s(5795),em=s(6988),ex=s(4147);function ej(e){let{gradingResults:t}=e;return t?(0,n.jsxs)(u.Z,{mt:2,children:[(0,n.jsx)(j.Z,{variant:"subtitle1",children:"Assertions"}),(0,n.jsx)(eh.Z,{children:(0,n.jsxs)(ed.Z,{children:[(0,n.jsx)(em.Z,{children:(0,n.jsxs)(ex.Z,{children:[(0,n.jsx)(ep.Z,{style:{fontWeight:"bold"},children:"Pass"}),(0,n.jsx)(ep.Z,{style:{fontWeight:"bold"},children:"Score"}),(0,n.jsx)(ep.Z,{style:{fontWeight:"bold"},children:"Type"}),(0,n.jsx)(ep.Z,{style:{fontWeight:"bold"},children:"Value"}),(0,n.jsx)(ep.Z,{style:{fontWeight:"bold"},children:"Reason"})]})}),(0,n.jsx)(eu.Z,{children:t.map((e,t)=>{var s,l;return(0,n.jsxs)(ex.Z,{children:[(0,n.jsx)(ep.Z,{children:e.pass?"✅":"❌"}),(0,n.jsx)(ep.Z,{children:e.score.toFixed(2)}),(0,n.jsx)(ep.Z,{children:(null===(s=e.assertion)||void 0===s?void 0:s.type)||""}),(0,n.jsx)(ep.Z,{style:{whiteSpace:"pre-wrap"},children:(null===(l=e.assertion)||void 0===l?void 0:l.value)?String(e.assertion.value):"-"}),(0,n.jsx)(ep.Z,{style:{whiteSpace:"pre-wrap"},children:e.reason})]},t)})})]})})]}):null}function eg(e){let{open:t,onClose:s,prompt:r,provider:a,output:i,gradingResults:o}=e,[c,d]=(0,l.useState)(!1);(0,l.useEffect)(()=>{d(!1)},[r]);let h=async e=>{await navigator.clipboard.writeText(e),d(!0)};return(0,n.jsxs)(U.Z,{open:t,onClose:s,fullWidth:!0,maxWidth:"lg",children:[(0,n.jsxs)(A.Z,{children:["Details",a&&": ".concat(a)]}),(0,n.jsxs)(_.Z,{children:[(0,n.jsxs)(u.Z,{mb:2,children:[(0,n.jsx)(j.Z,{variant:"subtitle1",style:{marginBottom:"1rem"},children:"Prompt"}),(0,n.jsx)(ei.u,{readOnly:!0,value:r,style:{width:"100%",padding:"0.75rem"},maxRows:20}),(0,n.jsx)(z.Z,{onClick:()=>h(r),style:{position:"absolute",right:"10px",top:"10px"},children:c?(0,n.jsx)(ec.Z,{}):(0,n.jsx)(eo.Z,{})})]}),i&&(0,n.jsxs)(u.Z,{my:2,children:[(0,n.jsx)(j.Z,{variant:"subtitle1",style:{marginBottom:"1rem",marginTop:"1rem"},children:"Output"}),(0,n.jsx)(ei.u,{readOnly:!0,maxRows:20,value:i,style:{width:"100%",padding:"0.75rem"}})]}),(0,n.jsx)(ej,{gradingResults:o})]}),(0,n.jsx)(ea.Z,{children:(0,n.jsx)(p.Z,{onClick:s,children:"Close"})})]})}var ef=s(9396),ev=s(4173),eb=function(){let e=(0,W.Z)(),[t,s]=l.useState(!1),r=()=>{s(!1)};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{style:{textAlign:"center",marginTop:20,marginBottom:40},children:(0,n.jsx)(p.Z,{variant:"text",color:"primary",startIcon:(0,n.jsx)(ef.Z,{}),onClick:()=>{s(!0)},children:"Generate test cases"})}),(0,n.jsxs)(U.Z,{open:t,onClose:r,children:[(0,n.jsx)(A.Z,{children:"Run on Command Line"}),(0,n.jsx)(_.Z,{children:(0,n.jsxs)(ev.Z,{children:[(0,n.jsx)("p",{children:"This feature is in beta. UI coming soon."}),(0,n.jsxs)("p",{children:["Run"," ",(0,n.jsx)(u.Z,{component:"code",sx:{backgroundColor:"dark"===e.palette.mode?"#424242":"#f0f0f0",padding:"2px 4px",borderRadius:"4px"},children:"promptfoo generate dataset"}),"to generate test cases on the command line."]})]})}),(0,n.jsx)(ea.Z,{children:(0,n.jsx)(p.Z,{onClick:r,color:"primary",children:"Close"})})]})]})},ey=s(2810);function eZ(e){return null===e||0===e||1===e?"":"(".concat(e.toFixed(2),")")}function eC(e){return"string"==typeof e||"number"==typeof e?e.toString().length:Array.isArray(e)?e.reduce((e,t)=>e+eC(t),0):l.isValidElement(e)&&e.props.children?l.Children.toArray(e.props.children).reduce((e,t)=>e+eC(t),0):0}function ew(e){let t,{text:s,maxLength:r}=e,[a,i]=l.useState(!0),o=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if("string"==typeof e||"number"==typeof e){let s=e.toString();return s.slice(0,r-t)}if(Array.isArray(e)){let s=[],n=t;for(let t of e){let e=eC(t);if(n+e>r){s.push(o(t,n));break}s.push(t),n+=e}return s}if(l.isValidElement(e)&&e.props.children){let s=eC(e.props.children);if(s>r-t)return l.cloneElement(e,{...e.props,children:o(e.props.children,t)})}return e};t=l.isValidElement(s)||"string"==typeof s?s:JSON.stringify(s);let c=a?o(t):t,d=eC(t)>r;return(0,n.jsxs)("div",{style:{cursor:d?"pointer":"normal"},onClick:()=>{i(!a)},children:[c,a&&eC(t)>r&&(0,n.jsx)("span",{children:"..."})]})}function ek(e){var t,s,r,a,i,o;let c,d,u,p,h,{output:m,maxTextLength:x,rowIndex:j,promptIndex:g,onRating:f,firstOutput:v,filterMode:b,searchText:y,showStats:Z}=e,{renderMarkdown:C,prettifyJson:w,showPrompts:k}=L(),[N,R]=l.useState(!1),[P,I]=l.useState(!1),O=()=>I(!P),E="string"==typeof m.text?m.text:JSON.stringify(m.text),F=[];if(E.startsWith("[IMAGE]")){let e=E.slice(7).trim();c=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("img",{loading:"lazy",src:e,alt:m.prompt,onClick:O}),P&&(0,n.jsx)("div",{className:"lightbox",onClick:O,children:(0,n.jsx)("img",{src:e,alt:m.prompt})})]})}else!m.pass&&E.includes("---")?E=(F=E.split("---")).slice(1).join("---"):F=[E];if("different"===b&&v){let e,t="string"==typeof v.text?v.text:JSON.stringify(v.text);t.includes("---")&&(t=t.split("---").slice(1).join("---"));try{JSON.parse(t),JSON.parse(E),e=(0,$.CT)(t,E)}catch(s){e=t.includes(". ")&&E.includes(". ")?(0,$.SY)(t,E):(0,$.NV)(t,E)}c=(0,n.jsx)(n.Fragment,{children:e.map((e,t)=>e.added?(0,n.jsx)("ins",{children:e.value},t):e.removed?(0,n.jsx)("del",{children:e.value},t):(0,n.jsx)("span",{children:e.value},t))})}if(y)try{let e;let t=RegExp(y,"gi"),s=[];for(;null!==(e=t.exec(E));)s.push({start:e.index,end:t.lastIndex});c=(0,n.jsx)(n.Fragment,{children:s.length>0?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{children:E.substring(0,s[0].start)},"text-before"),s.map((e,t)=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"search-highlight",children:E.substring(e.start,e.end)},"match-"+t),(0,n.jsx)("span",{children:E.substring(e.end,s[t+1]?s[t+1].start:E.length)},"text-after-"+t)]}))]}):(0,n.jsx)("span",{children:E},"no-match")})}catch(e){console.error("Invalid regular expression:",e.message)}else if(C)c=(0,n.jsx)(K.U,{children:E});else if(w)try{c=(0,n.jsx)("pre",{children:JSON.stringify(JSON.parse(E),null,2)})}catch(e){}let T=e=>{var t;f(j,g,e,void 0,null===(t=m.gradingResult)||void 0===t?void 0:t.comment)},M=()=>{var e;let t=prompt("Comment:",(null===(e=m.gradingResult)||void 0===e?void 0:e.comment)||"");null!=t&&f(j,g,void 0,void 0,t)};if(null===(t=m.tokenUsage)||void 0===t?void 0:t.completion){u=(0,n.jsxs)("span",{children:[Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(m.latencyMs)," ms"]});let e=m.tokenUsage.completion/(m.latencyMs/1e3);p=(0,n.jsx)("span",{children:Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(e)})}m.cost&&(h=(0,n.jsxs)("span",{children:["$",m.cost.toPrecision(2)]})),(null===(s=m.tokenUsage)||void 0===s?void 0:s.cached)?d=(0,n.jsxs)("span",{children:[Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(m.tokenUsage.cached)," ","(cached)"]}):(null===(r=m.tokenUsage)||void 0===r?void 0:r.total)&&(d=(0,n.jsx)("span",{children:Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(m.tokenUsage.total)}));let D=(null===(a=m.gradingResult)||void 0===a?void 0:a.comment)?(0,n.jsx)("div",{className:"comment",onClick:M,children:m.gradingResult.comment}):null,U=Z?(0,n.jsxs)("div",{className:"cell-detail",children:[d&&(0,n.jsxs)("div",{className:"stat-item",children:[(0,n.jsx)("strong",{children:"Tokens:"})," ",d]}),u&&(0,n.jsxs)("div",{className:"stat-item",children:[(0,n.jsx)("strong",{children:"Latency:"})," ",u]}),p&&(0,n.jsxs)("div",{className:"stat-item",children:[(0,n.jsx)("strong",{children:"Tokens/Sec:"})," ",p]}),h&&(0,n.jsxs)("div",{className:"stat-item",children:[(0,n.jsx)("strong",{children:"Cost:"})," ",h]})]}):null,A=(0,n.jsxs)("div",{className:"cell-actions",children:[m.prompt&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"action",onClick:()=>{R(!0)},children:(0,n.jsx)(S.Z,{title:"View ouput and test details",children:(0,n.jsx)("span",{children:"\uD83D\uDD0E"})})}),(0,n.jsx)(eg,{open:N,onClose:()=>{R(!1)},prompt:m.prompt,provider:m.provider,gradingResults:null===(i=m.gradingResult)||void 0===i?void 0:i.componentResults,output:E})]}),(0,n.jsx)("span",{className:"action",onClick:()=>T(!0),children:(0,n.jsx)(S.Z,{title:"Mark test passed (score 1.0)",children:(0,n.jsx)("span",{children:"\uD83D\uDC4D"})})}),(0,n.jsx)("span",{className:"action",onClick:()=>T(!1),children:(0,n.jsx)(S.Z,{title:"Mark test failed (score 0.0)",children:(0,n.jsx)("span",{children:"\uD83D\uDC4E"})})}),(0,n.jsx)("span",{className:"action",onClick:()=>{let e=prompt("Set test score (0.0 - 1.0):",String(m.score));if(null!==e){let s=parseFloat(e);if(!isNaN(s)&&s>=0&&s<=1){var t;f(j,g,void 0,s,null===(t=m.gradingResult)||void 0===t?void 0:t.comment)}else alert("Invalid score. Please enter a value between 0.0 and 1.0.")}},children:(0,n.jsx)(S.Z,{title:"Set test score",children:(0,n.jsx)("span",{children:"\uD83D\uDD22"})})}),(0,n.jsx)("span",{className:"action",onClick:M,children:(0,n.jsx)(S.Z,{title:"Edit comment",children:(0,n.jsx)("span",{children:"✏️"})})})]});return(0,n.jsxs)("div",{className:"cell",children:[m.pass?(0,n.jsx)(n.Fragment,{children:(0,n.jsxs)("div",{className:"status pass",children:[(0,n.jsxs)("div",{className:"pill",children:["PASS ",(0,n.jsx)("span",{className:"score",children:eZ(m.score)})]}),(0,n.jsx)(er,{lookup:m.namedScores})]})}):(0,n.jsx)(n.Fragment,{children:(0,n.jsxs)("div",{className:"status fail",children:[(0,n.jsxs)("div",{className:"pill",children:["FAIL",m.score>0?" ":"",(0,n.jsx)("span",{className:"score",children:eZ(m.score)})]}),(0,n.jsx)(er,{lookup:m.namedScores}),(0,n.jsx)("span",{className:"fail-reason",children:null===(o=F[0])||void 0===o?void 0:o.trim().split("\n").map((e,t)=>(0,n.jsxs)(l.Fragment,{children:[e,(0,n.jsx)("br",{})]},t))})]})}),k&&v.prompt&&(0,n.jsxs)("div",{className:"prompt",children:[(0,n.jsx)("span",{className:"pill",children:"Prompt"}),m.prompt]}),(0,n.jsx)(ew,{text:c||E,maxLength:x}),D,U,A]})}function eS(e){let{text:t,maxLength:s,expandedText:r,resourceId:a,className:i}=e,[o,c]=l.useState(!1);return(0,n.jsxs)("div",{className:"".concat(i||""),children:[(0,n.jsx)(ew,{text:t,maxLength:s}),r&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(S.Z,{title:"View prompt",children:(0,n.jsx)("span",{className:"action",onClick:()=>{c(!0)},children:"\uD83D\uDD0E"})}),(0,n.jsx)(eg,{open:o,onClose:()=>{c(!1)},prompt:r}),a&&(0,n.jsx)(S.Z,{title:"View other evals and datasets for this prompt",children:(0,n.jsx)("span",{className:"action",children:(0,n.jsx)(el(),{href:"/prompts/?id=".concat(a),target:"_blank",children:(0,n.jsx)(es.Z,{fontSize:"small"})})})})]})]})}function eN(e){let{maxTextLength:t,columnVisibility:s,wordBreak:a,filterMode:i,failureFilter:o,searchText:c,showStats:d,onFailureFilterToggle:m}=e,{evalId:x,table:g,setTable:f}=L();(0,r.Z)(g,"Table should be defined");let{head:v,body:b}=g,y=v.prompts.map((e,t)=>b.reduce((e,s)=>e+(s.outputs[t].pass?1:0),0)),Z=v.prompts.map((e,t)=>b.reduce((e,s)=>{var n,l;return e+((null===(l=s.outputs[t].gradingResult)||void 0===l?void 0:null===(n=l.componentResults)||void 0===n?void 0:n.length)||0)},0)),C=v.prompts.map((e,t)=>b.reduce((e,s)=>{var n;let l=null===(n=s.outputs[t].gradingResult)||void 0===n?void 0:n.componentResults;return e+(l?l.filter(e=>e.pass).length:0)},0)),w=async(e,t,s,n,l)=>{let r=[...b],a={...r[e]},i=[...a.outputs],o=null!=s?s:i[t].pass,c=void 0===n?s?1:0:n||0;i[t].pass=o,i[t].score=c;let d={...i[t].gradingResult||{},pass:o,score:c,reason:"Manual result (overrides all other grading results)",comment:l,assertion:null};i[t].gradingResult=d,a.outputs=i,r[e]=a;let u={head:v,body:r};f(u);try{let e=await fetch("".concat(await (0,ey.b)(),"/api/eval/").concat(x),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({table:u})});if(!e.ok)throw Error("Network response was not ok")}catch(e){console.error("Failed to update table:",e)}},S=y.reduce((e,t,s,n)=>t>n[e]?s:e,0),N=y[S],R=(0,Q.Cl)(),P=[];v.vars.length>0&&P.push(R.group({id:"vars",header:()=>(0,n.jsx)("span",{className:"font-bold",children:"Variables"}),columns:v.vars.map((e,s)=>R.accessor(e=>e.vars[s],{id:"Variable ".concat(s+1),header:()=>(0,n.jsx)(eS,{text:e,maxLength:t,className:"font-bold"}),cell:e=>(0,n.jsx)(ew,{text:e.getValue(),maxLength:t}),size:50}))})),P.push(R.group({id:"prompts",header:()=>(0,n.jsx)("span",{className:"font-bold",children:"Outputs"}),columns:v.prompts.map((e,s)=>R.accessor(e=>(function(e){if("string"==typeof e){let t=e.startsWith("[PASS]"),s=e;return e.startsWith("[PASS]")?s=s.slice(6):e.startsWith("[FAIL]")&&(s=s.slice(6)),{text:s,pass:t,score:t?1:0}}return e})(e.outputs[s]),{id:"Prompt ".concat(s+1),header:()=>{var l,r,a,c,u,p,x,j;let g=y[s]&&b.length?(y[s]/b.length*100).toFixed(2):"0.00",f=y[s]===N&&0!==N,w="Prompt ".concat(s+1),k=o[w]||!1,S=d?(0,n.jsxs)("div",{className:"prompt-detail",children:[Z[s]?(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"Asserts:"})," ",C[s],"/",Z[s]," passed"]}):null,(null===(l=e.metrics)||void 0===l?void 0:l.totalLatencyMs)?(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"Avg Latency:"})," ",Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(e.metrics.totalLatencyMs/b.length)," ","ms"]}):null,(null===(a=e.metrics)||void 0===a?void 0:null===(r=a.tokenUsage)||void 0===r?void 0:r.total)?(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"Avg Tokens:"})," ",Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(e.metrics.tokenUsage.total/b.length)]}):null,(null===(c=e.metrics)||void 0===c?void 0:c.totalLatencyMs)&&(null===(p=e.metrics)||void 0===p?void 0:null===(u=p.tokenUsage)||void 0===u?void 0:u.completion)?(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"Tokens/Sec:"})," ",Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(e.metrics.tokenUsage.completion/(e.metrics.totalLatencyMs/1e3))]}):null,(null===(x=e.metrics)||void 0===x?void 0:x.cost)?(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"Cost:"})," $",e.metrics.cost.toPrecision(2)]}):null]}):null,R=v.prompts.every(e=>e.provider===v.prompts[0].provider),P=e.provider?e.provider.split(":"):[],I=P.length>1?(0,n.jsxs)(n.Fragment,{children:[P[0],":",(0,n.jsx)("strong",{children:P.slice(1).join(":")})]}):(0,n.jsx)("strong",{children:e.provider});return(0,n.jsxs)("div",{className:"output-header",children:[(0,n.jsxs)("div",{className:"pills",children:[!R&&e.provider?(0,n.jsx)("div",{className:"provider",children:I}):null,(0,n.jsx)("div",{className:"summary",children:(0,n.jsxs)("div",{className:"highlight ".concat(f?"success":""),children:[(0,n.jsxs)("strong",{children:[g,"% passing"]})," (",y[s],"/",b.length," cases)"]})}),(null===(j=e.metrics)||void 0===j?void 0:j.namedScores)&&Object.keys(e.metrics.namedScores).length>0?(0,n.jsx)(er,{lookup:e.metrics.namedScores}):null]}),(0,n.jsx)(eS,{className:"prompt-container",text:e.display,expandedText:e.raw,maxLength:t,resourceId:e.id}),S,"failures"===i&&(0,n.jsx)(et.Z,{sx:{"& .MuiFormControlLabel-label":{fontSize:"0.75rem"}},control:(0,n.jsx)(h.Z,{checked:k,onChange:e=>m(w,e.target.checked)}),label:"Show failures"})]})},cell:e=>(0,n.jsx)(ek,{output:e.getValue(),maxTextLength:t,rowIndex:e.row.index,promptIndex:s,onRating:w,firstOutput:E[e.row.index].outputs[0],filterMode:i,searchText:c,showStats:d})}))}));let I=b.some(e=>e.description);I&&P.splice(0,0,{accessorFn:e=>e.description||"",id:"description",header:()=>(0,n.jsx)("span",{className:"font-bold",children:"Description"}),cell:e=>(0,n.jsx)(ew,{text:String(e.getValue()),maxLength:t}),size:50});let O=Object.keys(s).length>0,E=l.useMemo(()=>{try{let e=RegExp(c,"i");return b.filter(t=>{let n="failures"===i?t.outputs.some((e,t)=>{let n="Prompt ".concat(t+1);return o[n]&&!e.pass&&(!O||s[n])}):"different"!==i||!t.outputs.every(e=>e.text===t.outputs[0].text),l=!c||t.outputs.some(t=>{var s;let n="".concat(t.text," ").concat(Object.keys(t.namedScores)," ").concat(null===(s=t.gradingResult)||void 0===s?void 0:s.reason);return e.test(n)});return n&&l})}catch(e){return console.error("Invalid regular expression:",e.message),b}},[b,o,i,c,s,O]),[F,T]=l.useState({pageIndex:0,pageSize:50}),M=(0,ee.b7)({data:E,columns:P,columnResizeMode:"onChange",getCoreRowModel:(0,Q.sC)(),getPaginationRowModel:(0,Q.G_)(),state:{columnVisibility:s,pagination:F}});return(0,n.jsxs)("div",{children:[(0,n.jsxs)("table",{className:"results-table firefox-fix ".concat(t<=25?"compact":""),style:{wordBreak:a},children:[(0,n.jsx)("thead",{children:M.getHeaderGroups().map(e=>(0,n.jsx)("tr",{className:"header",children:e.headers.map(e=>(0,n.jsxs)("th",{colSpan:e.colSpan,style:{width:e.getSize()},children:[e.isPlaceholder?null:(0,ee.ie)(e.column.columnDef.header,e.getContext()),(0,n.jsx)("div",{onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler(),className:"resizer ".concat(e.column.getIsResizing()?"isResizing":"")})]},e.id))},e.id))}),(0,n.jsx)("tbody",{children:M.getRowModel().rows.map((e,t)=>{let s=!1;return(0,n.jsx)("tr",{children:e.getVisibleCells().map(e=>{let l=e.column.id.startsWith("Variable")||"description"===e.column.id,r=!l&&!s;return r&&(s=!0),(0,n.jsx)("td",{style:{width:e.column.getSize()},className:"".concat(l?"variable":""," ").concat(0!==t||l?"":"first-prompt-row"," ").concat(r?"first-prompt-col":""),children:(0,ee.ie)(e.column.columnDef.cell,e.getContext())},e.id)})},e.id)})})]}),M.getPageCount()>1&&(0,n.jsxs)(u.Z,{className:"pagination",sx:{display:"flex",alignItems:"center",gap:2},children:[(0,n.jsx)(p.Z,{onClick:()=>T(e=>({...e,pageIndex:Math.max(e.pageIndex-1,0)})),disabled:0===M.getState().pagination.pageIndex,variant:"contained",children:"Previous"}),(0,n.jsxs)(j.Z,{component:"span",sx:{display:"flex",alignItems:"center",gap:1},children:["Page",(0,n.jsx)(k.Z,{size:"small",type:"number",value:M.getState().pagination.pageIndex+1,onChange:e=>{let t=e.target.value?Number(e.target.value)-1:0;T(e=>({...e,pageIndex:Math.min(Math.max(t,0),M.getPageCount()-1)}))},InputProps:{style:{width:"60px",textAlign:"center"}},variant:"outlined"}),(0,n.jsxs)("span",{children:["of ",M.getPageCount()]})]}),(0,n.jsx)(p.Z,{onClick:()=>T(e=>({...e,pageIndex:Math.min(e.pageIndex+1,M.getPageCount()-1)})),disabled:M.getState().pagination.pageIndex+1>=M.getPageCount(),variant:"contained",children:"Next"})]}),(0,n.jsx)(eb,{})]})}s(2604);var eR=s(7175);function eP(e){let{open:t,onClose:r}=e,{config:a}=L(),i=l.useRef(null),[o,c]=l.useState(!1),[d,h]=l.useState("");l.useEffect(()=>{t&&(async()=>{let{default:e}=await Promise.resolve().then(s.bind(s,8339));h(e.dump(a))})()},[t,a]);let m=()=>{c(!1),r()};return(0,n.jsxs)(U.Z,{open:t,onClose:m,"aria-labelledby":"config-dialog-title",maxWidth:"md",fullWidth:!0,children:[(0,n.jsx)(A.Z,{id:"config-dialog-title",children:(0,n.jsxs)(u.Z,{display:"flex",justifyContent:"space-between",alignItems:"center",children:[(0,n.jsx)(j.Z,{variant:"h6",style:{flexGrow:1},children:"Config"}),(0,n.jsxs)(u.Z,{children:[(0,n.jsx)(S.Z,{title:"Copy to clipboard",children:(0,n.jsx)(z.Z,{onClick:()=>{i.current&&(i.current.select(),document.execCommand("copy"),c(!0))},children:o?(0,n.jsx)(ec.Z,{}):(0,n.jsx)(eR.Z,{})})}),(0,n.jsx)(S.Z,{title:"Download .yaml",children:(0,n.jsx)(z.Z,{onClick:()=>{let e=new Blob([d],{type:"text/yaml;charset=utf-8"}),t=URL.createObjectURL(e),s=document.createElement("a");s.href=t,s.download="config.yaml",document.body.appendChild(s),s.click(),document.body.removeChild(s),URL.revokeObjectURL(t)},children:(0,n.jsx)(O.Z,{})})})]})]})}),(0,n.jsx)(_.Z,{children:(0,n.jsx)(j.Z,{variant:"body1",component:"div",children:(0,n.jsx)("textarea",{ref:i,readOnly:!0,value:d,style:{width:"100%",minHeight:"400px",fontFamily:"monospace",border:"1px solid #ccc"}})})}),(0,n.jsx)(ea.Z,{children:(0,n.jsx)(p.Z,{onClick:m,color:"primary",children:"Close"})})]})}var eI=e=>{let{open:t,onClose:s,shareUrl:r}=e,a=(0,l.useRef)(null),[i,o]=(0,l.useState)(!1),c=()=>{s(),o(!1)};return(0,n.jsxs)(U.Z,{open:t,onClose:c,PaperProps:{style:{minWidth:"min(660px, 100%)"}},children:[(0,n.jsx)(A.Z,{children:"Your eval is ready to share"}),(0,n.jsxs)(_.Z,{children:[(0,n.jsx)(k.Z,{inputRef:a,value:r,fullWidth:!0,InputProps:{readOnly:!0,endAdornment:(0,n.jsx)(z.Z,{onClick:()=>{a.current&&(a.current.select(),document.execCommand("copy"),o(!0))},children:i?(0,n.jsx)(ec.Z,{}):(0,n.jsx)(eR.Z,{})})}}),(0,n.jsx)(ev.Z,{sx:{fontSize:"0.75rem"},children:"Shared URLs are deleted after 2 weeks."})]}),(0,n.jsx)(ea.Z,{children:(0,n.jsx)(p.Z,{onClick:c,color:"primary",children:"Close"})})]})},eO=s(33),eE=e=>{let{open:t,onClose:s}=e,{maxTextLength:l,setMaxTextLength:r,wordBreak:a,setWordBreak:i,showInferenceDetails:o,setShowInferenceDetails:c,renderMarkdown:d,setRenderMarkdown:m,prettifyJson:x,setPrettifyJson:g,showPrompts:f,setShowPrompts:v}=L();return(0,n.jsxs)(U.Z,{open:t,onClose:s,fullWidth:!0,maxWidth:"sm",children:[(0,n.jsx)(A.Z,{children:"Table View Settings"}),(0,n.jsxs)(_.Z,{children:[(0,n.jsx)(u.Z,{children:(0,n.jsx)(S.Z,{title:"Forcing line breaks makes it easier to adjust column widths to your liking",children:(0,n.jsx)(et.Z,{control:(0,n.jsx)(h.Z,{checked:"break-all"===a,onChange:e=>i(e.target.checked?"break-all":"break-word")}),label:"Force line breaks"})})}),(0,n.jsx)(u.Z,{children:(0,n.jsx)(et.Z,{control:(0,n.jsx)(h.Z,{checked:d,onChange:e=>m(e.target.checked)}),label:"Render model outputs as Markdown"})}),(0,n.jsx)(u.Z,{children:(0,n.jsx)(et.Z,{control:(0,n.jsx)(h.Z,{checked:x,onChange:e=>g(e.target.checked)}),label:"Prettify JSON outputs"})}),(0,n.jsx)(u.Z,{children:(0,n.jsx)(S.Z,{title:"Show the final prompt that produced the output in each cell.",children:(0,n.jsx)(et.Z,{control:(0,n.jsx)(h.Z,{checked:f,onChange:e=>v(e.target.checked)}),label:"Show full prompt in output cell"})})}),(0,n.jsx)(u.Z,{children:(0,n.jsx)(S.Z,{title:"Show detailed inference statistics such as latency, tokens used, cost, etc.",children:(0,n.jsx)(et.Z,{control:(0,n.jsx)(h.Z,{checked:o,onChange:e=>c(e.target.checked)}),label:"Show inference details"})})}),(0,n.jsxs)(u.Z,{maxWidth:"sm",children:[(0,n.jsxs)(j.Z,{mt:2,children:["Max text length: ",l]}),(0,n.jsx)(eO.ZP,{min:25,max:1e3,value:l,onChange:(e,t)=>r(t)})]})]}),(0,n.jsx)(ea.Z,{children:(0,n.jsx)(p.Z,{onClick:s,children:"Close"})})]})},eF=s(1938),eT=s(7580);let eL=eT.env.NEXT_PUBLIC_PROMPTFOO_REMOTE_API_BASE_URL||eT.env.NEXT_PUBLIC_PROMPTFOO_BASE_URL||eT.env.PROMPTFOO_REMOTE_API_BASE_URL||"https://api.promptfoo.dev",eM=eT.env.NEXT_PUBLIC_PROMPTFOO_BASE_URL||eT.env.PROMPTFOO_REMOTE_APP_BASE_URL||"https://app.promptfoo.dev";s(6911);let eD=(0,R.Z)(w.Z)(e=>{let{theme:t}=e;return{maxWidth:"100%",flexWrap:"wrap",[t.breakpoints.down("sm")]:{flexDirection:"column"}}});function eU(e){let{recentEvals:t,onRecentEvalSelected:s,defaultEvalId:i}=e,c=(0,o.useRouter)(),{table:w,config:R,setConfig:I,maxTextLength:O,wordBreak:E,showInferenceDetails:F,evalId:T}=L(),{setStateFromConfig:D}=(0,eF.o)(),[U,A]=l.useState({}),[_,W]=l.useState([]),[V,z]=l.useState(""),[B]=(0,P.Nr)(V,1e3),[J,H]=l.useState({}),[G,X]=l.useState("all"),[Y,$]=l.useState(!1),[K,Q]=l.useState(""),[ee,et]=l.useState(!1),es=async()=>{et(!0);try{let e=await fetch("".concat(eL,"/api/eval"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({data:{version:2,createdAt:new Date().toISOString(),results:{table:w},config:R}})}),{id:t}=await e.json(),s="".concat(eM,"/eval/").concat(t);Q(s),$(!0)}catch(e){alert("Sorry, something went wrong.")}finally{et(!1)}},[en,el]=l.useState(!1),[er,ea]=l.useState(!1);(0,r.Z)(w,"Table data must be loaded before rendering ResultsView");let{head:ei}=w,eo=async()=>{(0,r.Z)(R,"Config must be loaded before clicking its description");let e=window.prompt("Enter new description:",R.description);if(null!==e&&e!==R.description){let t={...R,description:e};try{let e=await fetch("".concat(await (0,ey.b)(),"/api/eval/").concat(T),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({config:t})});if(!e.ok)throw Error("Network response was not ok");I(t)}catch(e){console.error("Failed to update table:",e)}}},ec=[...ei.vars.map((e,t)=>({value:"Variable ".concat(t+1),label:"Var ".concat(t+1,": ").concat(ei.vars[t].length>100?ei.vars[t].slice(0,97)+"...":ei.vars[t]),group:"Variables"})),...ei.prompts.map((e,t)=>({value:"Prompt ".concat(t+1),label:"Prompt ".concat(t+1,": ").concat(ei.prompts[t].display.length>100?ei.prompts[t].display.slice(0,97)+"...":ei.prompts[t].display),group:"Prompts"}))];return l.useEffect(()=>{W(ec.map(e=>e.value))},[ei]),(0,n.jsxs)("div",{style:{marginLeft:"1rem",marginRight:"1rem"},children:[(0,n.jsx)(u.Z,{mb:2,sx:{display:"flex",alignItems:"center"},children:(0,n.jsxs)(j.Z,{variant:"h5",sx:{flexGrow:1},children:[(0,n.jsx)("span",{className:"description",onClick:eo,children:(null==R?void 0:R.description)||T})," ",(null==R?void 0:R.description)&&(0,n.jsx)("span",{className:"description-filepath",children:T})]})}),(0,n.jsx)(u.Z,{py:"md",children:(0,n.jsxs)(eD,{direction:"row",spacing:4,alignItems:"center",children:[(0,n.jsx)(u.Z,{children:t&&t.length>0&&(0,n.jsx)(x.Z,{sx:{m:1,minWidth:200},size:"small",children:(0,n.jsx)(d.Z,{size:"small",options:t,renderOption:(e,t)=>(0,l.createElement)("li",{...e,key:t.id},t.label),style:{width:350},renderInput:e=>(0,n.jsx)(k.Z,{...e,label:"Eval run",variant:"outlined"}),defaultValue:t.find(e=>e.id===i)||t[0],onChange:(e,t)=>{t&&t.id&&s(t.id)},disableClearable:!0})})}),(0,n.jsx)(u.Z,{children:(0,n.jsxs)(x.Z,{sx:{m:1,minWidth:200,maxWidth:350},size:"small",children:[(0,n.jsx)(g.Z,{id:"visible-columns-label",children:"Columns"}),(0,n.jsx)(y.Z,{labelId:"visible-columns-label",id:"visible-columns",multiple:!0,value:_,onChange:e=>{let{target:{value:t}}=e;W("string"==typeof t?t.split(","):t);let s=[...ei.vars.map((e,t)=>"Variable ".concat(t+1)),...ei.prompts.map((e,t)=>"Prompt ".concat(t+1))],n={};s.forEach(e=>{n[e]=("string"==typeof t?t.split(","):t).includes(e)}),A(n)},input:(0,n.jsx)(b.Z,{label:"Visible columns"}),renderValue:e=>e.join(", "),children:ec.map(e=>(0,n.jsxs)(v.Z,{dense:!0,value:e.value,children:[(0,n.jsx)(h.Z,{checked:_.indexOf(e.value)>-1}),(0,n.jsx)(f.Z,{primary:e.label})]},e.value))})]})}),(0,n.jsx)(u.Z,{children:(0,n.jsxs)(x.Z,{sx:{minWidth:180},size:"small",children:[(0,n.jsx)(g.Z,{id:"failure-filter-mode-label",children:"Display"}),(0,n.jsxs)(y.Z,{labelId:"filter-mode-label",id:"filter-mode",value:G,onChange:e=>{let t=e.target.value;X(t);let s={};ei.prompts.forEach((e,n)=>{s["Prompt ".concat(n+1)]="failures"===t}),H(s)},label:"Filter",children:[(0,n.jsx)(v.Z,{value:"all",children:"Show all results"}),(0,n.jsx)(v.Z,{value:"failures",children:"Show failures only"}),(0,n.jsx)(v.Z,{value:"different",children:"Show different only"})]})]})}),(0,n.jsx)(u.Z,{children:(0,n.jsx)(k.Z,{sx:{minWidth:180},size:"small",label:"Search",placeholder:"Text or regex",value:V,onChange:e=>{z(e.target.value)}})}),(0,n.jsx)(u.Z,{flexGrow:1}),(0,n.jsx)(u.Z,{display:"flex",justifyContent:"flex-end",children:(0,n.jsxs)(eD,{direction:"row",spacing:2,children:[(0,n.jsx)(S.Z,{title:"Edit table view settings",children:(0,n.jsx)(p.Z,{color:"primary",onClick:()=>ea(!0),startIcon:(0,n.jsx)(Z.Z,{}),children:"Table Settings"})}),R&&(0,n.jsx)(S.Z,{title:"View the configuration that defines this eval",children:(0,n.jsx)(p.Z,{color:"primary",onClick:()=>el(!0),startIcon:(0,n.jsx)(N.Z,{}),children:"View YAML"})}),R&&(0,n.jsx)(S.Z,{title:"Edit eval",children:(0,n.jsx)(p.Z,{color:"primary",onClick:()=>{D(R),c.push("/setup/")},startIcon:(0,n.jsx)(m.Z,{}),children:"Edit Eval"})}),R&&(0,n.jsx)(M,{}),(null==R?void 0:R.sharing)&&(0,n.jsx)(S.Z,{title:"Generate a unique URL that others can access",children:(0,n.jsx)(p.Z,{color:"primary",onClick:es,disabled:ee,startIcon:ee?(0,n.jsx)(a.Z,{size:16}):(0,n.jsx)(C.Z,{}),children:"Share"})})]})})]})}),(0,n.jsx)(q,{columnVisibility:U}),(0,n.jsx)(eN,{maxTextLength:O,columnVisibility:U,wordBreak:E,showStats:F,filterMode:G,failureFilter:J,searchText:B,onFailureFilterToggle:(e,t)=>{H(s=>({...s,[e]:t}))}}),(0,n.jsx)(eP,{open:en,onClose:()=>el(!1)}),(0,n.jsx)(eI,{open:Y,onClose:()=>$(!1),shareUrl:K}),(0,n.jsx)(eE,{open:er,onClose:()=>ea(!1)})]})}var eA=s(279);async function e_(){let e=(0,c.createClientComponentClient)(),{data:{user:t}}=await e.auth.getUser();(0,r.Z)(t,"User not logged in");let{data:s,error:n}=await e.from("EvaluationResult").select("id, createdAt").eq("user_id",t.id).order("createdAt",{ascending:!1}).limit(100);return s||[]}async function eW(e){let t=(0,c.createClientComponentClient)(),{data:s,error:n}=await t.from("EvaluationResult").select("*").eq("id",e).single();return s}function eV(e){var t;let{fetchId:s,preloadedData:c,recentEvals:d,defaultEvalId:u}=e,p=(0,o.useRouter)(),{table:h,setTable:m,setConfig:x,setEvalId:j}=L(),[g,f]=l.useState(!1),[v,b]=l.useState(!1),[y,Z]=l.useState(d||[]),C=async()=>{let e=await fetch("".concat(await (0,ey.b)(),"/api/results"),{cache:"no-store"}),t=await e.json();return Z(t.data),t.data},w=l.useCallback(async e=>{let t=await fetch("".concat(await (0,ey.b)(),"/api/results/").concat(e),{cache:"no-store"}),s=await t.json();m(s.data.results.table),x(s.data.config),j(e)},[m,x,j]),k=async e=>{eA.Ox?(f(!1),p.push("/eval/remote:".concat(encodeURIComponent(e)))):p.push("/eval/?evalId=".concat(encodeURIComponent(e)))},[S,N]=l.useState(u||(null===(t=y[0])||void 0===t?void 0:t.id)),R=(0,o.useSearchParams)(),P=R?R.get("evalId"):null;return(l.useEffect(()=>{if(P){let e=async()=>{await w(P),f(!0),N(P),C()};e()}else if(c){var e;m(null===(e=c.data.results)||void 0===e?void 0:e.table),x(c.data.config),f(!0)}else if(s){let e=async()=>{var e;let t="".concat(eL,"/api/eval/").concat(s);console.log("Fetching eval from remote server",t);let n=await fetch(t);if(!n.ok){b(!0);return}let l=await n.json();m(null===(e=l.data.results)||void 0===e?void 0:e.table),x(l.data.config),f(!0)};e()}else if(eA.T8)(0,ey.b)().then(e=>{let t=(0,i.io)(e);return t.on("init",e=>{console.log("Initialized socket connection",e),f(!0),m(null==e?void 0:e.results.table),x(null==e?void 0:e.config),C().then(e=>{var t,s;N(null===(t=e[0])||void 0===t?void 0:t.id),j(null===(s=e[0])||void 0===s?void 0:s.id)})}),t.on("update",e=>{console.log("Received data update",e),m(e.results.table),x(e.config),C().then(e=>{var t;let s=null===(t=e[0])||void 0===t?void 0:t.id;s&&(N(s),j(s))})}),()=>{t.disconnect()}});else if(eA.Ox)e_().then(e=>{Z(e.map(e=>({id:e.id,label:e.createdAt}))),e.length>0&&eW(e[0].id).then(t=>{(0,r.Z)(t,"Eval not found");let s=t.results,n=t.config;N(e[0].id),m(s.table),x(n),f(!0)})});else{let e=async()=>{let e=await C();if(!(e.length>0))return(0,n.jsx)("div",{className:"notice",children:"No evals yet. Share some evals to this server and they will appear here."});{let t=await (0,ey.b)(),s=e[0].id,n=await fetch("".concat(t,"/api/results/").concat(s)),l=await n.json();m(l.data.results.table),x(l.data.config),f(!0),N(s),j(s)}};e()}},[s,m,x,j,w,c,N,P]),v)?(0,n.jsx)("div",{className:"notice",children:"404 Eval not found"}):g&&h?(0,n.jsx)(eU,{defaultEvalId:S,recentEvals:y,onRecentEvalSelected:k}):(0,n.jsxs)("div",{className:"notice",children:[(0,n.jsx)("div",{children:(0,n.jsx)(a.Z,{size:22})}),(0,n.jsx)("div",{children:"Loading eval data"})]})}s(5038)},279:function(e,t,s){"use strict";s.d(t,{Ox:function(){return r},T8:function(){return l},eA:function(){return a}});var n=s(7580);let l=!n.env.NEXT_PUBLIC_PROMPTFOO_BUILD_STANDALONE_SERVER,r=!!n.env.NEXT_PUBLIC_PROMPTFOO_USE_SUPABASE,a=""},1938:function(e,t,s){"use strict";s.d(t,{o:function(){return r}});var n=s(4660),l=s(4810);let r=(0,n.Ue)()((0,l.tJ)((e,t)=>({env:{},testCases:[],description:"",providers:[],prompts:[],defaultTest:{},evaluateOptions:{},setEnv:t=>e({env:t}),setTestCases:t=>e({testCases:t}),setDescription:t=>e({description:t}),setProviders:t=>e({providers:t}),setPrompts:t=>e({prompts:t}),setDefaultTest:t=>e({defaultTest:t}),setEvaluateOptions:t=>e({evaluateOptions:t}),setStateFromConfig:t=>{let s={};t.description&&(s.description=t.description||""),t.tests&&(s.testCases=t.tests),t.providers&&(s.providers=t.providers),t.prompts&&("string"==typeof t.prompts?s.prompts=[t.prompts]:Array.isArray(t.prompts)?s.prompts=t.prompts.filter(e=>!e.endsWith(".txt")&&!e.endsWith(".json")&&!e.endsWith(".yaml")):console.warn("Invalid prompts config",t.prompts)),e(s)},getTestSuite:()=>{let{description:e,testCases:s,providers:n,prompts:l,env:r}=t();return{env:r,description:e,providers:n,prompts:l,tests:s}}}),{name:"promptfoo",skipHydration:!0}))},8715:function(){},5038:function(){},2604:function(){},6911:function(){},5777:function(){}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[840],{7580:function(e){var t,r,n,o=e.exports={};function i(){throw Error("setTimeout has not been defined")}function a(){throw Error("clearTimeout has not been defined")}function l(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var u=[],s=!1,c=-1;function d(){s&&n&&(s=!1,n.length?u=n.concat(u):c=-1,u.length&&f())}function f(){if(!s){var e=l(d);s=!0;for(var t=u.length;t;){for(n=u,u=[];++c<t;)n&&n[c].run();c=-1,t=u.length}n=null,s=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function m(){}o.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];u.push(new p(e,t)),1!==u.length||s||l(f)},p.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=m,o.addListener=m,o.once=m,o.off=m,o.removeListener=m,o.removeAllListeners=m,o.emit=m,o.prependListener=m,o.prependOnceListener=m,o.listeners=function(e){return[]},o.binding=function(e){throw Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw Error("process.chdir is not supported")},o.umask=function(){return 0}},9864:function(e,t,r){"use strict";var n=r(6314);t.Z=void 0;var o=n(r(984)),i=r(7437),a=(0,o.default)((0,i.jsx)("path",{d:"M12 3c-4.97 0-9 4.03-9 9s4.03 9 9 9 9-4.03 9-9c0-.46-.04-.92-.1-1.36-.98 1.37-2.58 2.26-4.4 2.26-2.98 0-5.4-2.42-5.4-5.4 0-1.81.89-3.42 2.26-4.4-.44-.06-.9-.1-1.36-.1z"}),"DarkMode");t.Z=a},7028:function(e,t,r){"use strict";var n=r(6314);t.Z=void 0;var o=n(r(984)),i=r(7437),a=(0,o.default)((0,i.jsx)("path",{d:"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06zm1.06-10.96c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06zM7.05 18.36c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06z"}),"LightMode");t.Z=a},984:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n.createSvgIcon}});var n=r(3135)},3283:function(e,t,r){"use strict";r.d(t,{Z:function(){return x}});var n=r(791),o=r(3428),i=r(2265),a=r(7042),l=r(5600),u=r(5843),s=r(7927),c=r(9782),d=r(7437),f=(0,c.Z)((0,d.jsx)("path",{d:"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"}),"Person"),p=r(6520),m=r(5702);function g(e){return(0,m.Z)("MuiAvatar",e)}(0,p.Z)("MuiAvatar",["root","colorDefault","circular","rounded","square","img","fallback"]);let h=["alt","children","className","component","imgProps","sizes","src","srcSet","variant"],v=e=>{let{classes:t,variant:r,colorDefault:n}=e;return(0,l.Z)({root:["root",r,n&&"colorDefault"],img:["img"],fallback:["fallback"]},g,t)},b=(0,u.ZP)("div",{name:"MuiAvatar",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[r.variant],r.colorDefault&&t.colorDefault]}})(({theme:e,ownerState:t})=>(0,o.Z)({position:"relative",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,width:40,height:40,fontFamily:e.typography.fontFamily,fontSize:e.typography.pxToRem(20),lineHeight:1,borderRadius:"50%",overflow:"hidden",userSelect:"none"},"rounded"===t.variant&&{borderRadius:(e.vars||e).shape.borderRadius},"square"===t.variant&&{borderRadius:0},t.colorDefault&&(0,o.Z)({color:(e.vars||e).palette.background.default},e.vars?{backgroundColor:e.vars.palette.Avatar.defaultBg}:{backgroundColor:"light"===e.palette.mode?e.palette.grey[400]:e.palette.grey[600]}))),y=(0,u.ZP)("img",{name:"MuiAvatar",slot:"Img",overridesResolver:(e,t)=>t.img})({width:"100%",height:"100%",textAlign:"center",objectFit:"cover",color:"transparent",textIndent:1e4}),Z=(0,u.ZP)(f,{name:"MuiAvatar",slot:"Fallback",overridesResolver:(e,t)=>t.fallback})({width:"75%",height:"75%"}),w=i.forwardRef(function(e,t){let r=(0,s.Z)({props:e,name:"MuiAvatar"}),{alt:l,children:u,className:c,component:f="div",imgProps:p,sizes:m,src:g,srcSet:w,variant:x="circular"}=r,_=(0,n.Z)(r,h),S=null,C=function({crossOrigin:e,referrerPolicy:t,src:r,srcSet:n}){let[o,a]=i.useState(!1);return i.useEffect(()=>{if(!r&&!n)return;a(!1);let o=!0,i=new Image;return i.onload=()=>{o&&a("loaded")},i.onerror=()=>{o&&a("error")},i.crossOrigin=e,i.referrerPolicy=t,i.src=r,n&&(i.srcset=n),()=>{o=!1}},[e,t,r,n]),o}((0,o.Z)({},p,{src:g,srcSet:w})),M=g||w,k=M&&"error"!==C,P=(0,o.Z)({},r,{colorDefault:!k,component:f,variant:x}),j=v(P);return S=k?(0,d.jsx)(y,(0,o.Z)({alt:l,src:g,srcSet:w,sizes:m,ownerState:P,className:j.img},p)):null!=u?u:M&&l?l[0]:(0,d.jsx)(Z,{ownerState:P,className:j.fallback}),(0,d.jsx)(b,(0,o.Z)({as:f,ownerState:P,className:(0,a.Z)(j.root,c),ref:t},_,{children:S}))});var x=w},6507:function(e,t,r){"use strict";r.d(t,{Z:function(){return b}});var n=r(3428),o=r(791),i=r(2265),a=r(7042),l=r(9613),u=r(7947),s=r(3381),c=r(5270),d=r(7437);let f=["className","component"];var p=r(5097),m=r(606),g=r(3469);let h=(0,m.Z)(),v=function(e={}){let{themeId:t,defaultTheme:r,defaultClassName:p="MuiBox-root",generateClassName:m}=e,g=(0,l.ZP)("div",{shouldForwardProp:e=>"theme"!==e&&"sx"!==e&&"as"!==e})(u.Z),h=i.forwardRef(function(e,i){let l=(0,c.Z)(r),u=(0,s.Z)(e),{className:h,component:v="div"}=u,b=(0,o.Z)(u,f);return(0,d.jsx)(g,(0,n.Z)({as:v,ref:i,className:(0,a.Z)(h,m?m(p):p),theme:t&&l[t]||l},b))});return h}({themeId:g.Z,defaultTheme:h,defaultClassName:"MuiBox-root",generateClassName:p.Z.generate});var b=v},2653:function(e,t,r){"use strict";r.d(t,{Z:function(){return x}});var n=r(791),o=r(3428),i=r(2265),a=r(7042),l=r(5600),u=r(9975),s=r(5843),c=r(7927),d=r(6659),f=r(8702),p=r(6520),m=r(5702);function g(e){return(0,m.Z)("MuiIconButton",e)}let h=(0,p.Z)("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge"]);var v=r(7437);let b=["edge","children","className","color","disabled","disableFocusRipple","size"],y=e=>{let{classes:t,disabled:r,color:n,edge:o,size:i}=e,a={root:["root",r&&"disabled","default"!==n&&`color${(0,f.Z)(n)}`,o&&`edge${(0,f.Z)(o)}`,`size${(0,f.Z)(i)}`]};return(0,l.Z)(a,g,t)},Z=(0,s.ZP)(d.Z,{name:"MuiIconButton",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,"default"!==r.color&&t[`color${(0,f.Z)(r.color)}`],r.edge&&t[`edge${(0,f.Z)(r.edge)}`],t[`size${(0,f.Z)(r.size)}`]]}})(({theme:e,ownerState:t})=>(0,o.Z)({textAlign:"center",flex:"0 0 auto",fontSize:e.typography.pxToRem(24),padding:8,borderRadius:"50%",overflow:"visible",color:(e.vars||e).palette.action.active,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest})},!t.disableRipple&&{"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:(0,u.Fq)(e.palette.action.active,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"start"===t.edge&&{marginLeft:"small"===t.size?-3:-12},"end"===t.edge&&{marginRight:"small"===t.size?-3:-12}),({theme:e,ownerState:t})=>{var r;let n=null==(r=(e.vars||e).palette)?void 0:r[t.color];return(0,o.Z)({},"inherit"===t.color&&{color:"inherit"},"inherit"!==t.color&&"default"!==t.color&&(0,o.Z)({color:null==n?void 0:n.main},!t.disableRipple&&{"&:hover":(0,o.Z)({},n&&{backgroundColor:e.vars?`rgba(${n.mainChannel} / ${e.vars.palette.action.hoverOpacity})`:(0,u.Fq)(n.main,e.palette.action.hoverOpacity)},{"@media (hover: none)":{backgroundColor:"transparent"}})}),"small"===t.size&&{padding:5,fontSize:e.typography.pxToRem(18)},"large"===t.size&&{padding:12,fontSize:e.typography.pxToRem(28)},{[`&.${h.disabled}`]:{backgroundColor:"transparent",color:(e.vars||e).palette.action.disabled}})}),w=i.forwardRef(function(e,t){let r=(0,c.Z)({props:e,name:"MuiIconButton"}),{edge:i=!1,children:l,className:u,color:s="default",disabled:d=!1,disableFocusRipple:f=!1,size:p="medium"}=r,m=(0,n.Z)(r,b),g=(0,o.Z)({},r,{edge:i,color:s,disabled:d,disableFocusRipple:f,size:p}),h=y(g);return(0,v.jsx)(Z,(0,o.Z)({className:(0,a.Z)(h.root,u),centerRipple:!0,focusRipple:!f,disabled:d,ref:t,ownerState:g},m,{children:l}))});var x=w},9660:function(e,t,r){"use strict";r.d(t,{L:function(){return i}});var n=r(6520),o=r(5702);function i(e){return(0,o.Z)("MuiListItemText",e)}let a=(0,n.Z)("MuiListItemText",["root","multiline","dense","inset","primary","secondary"]);t.Z=a},5507:function(e,t,r){"use strict";r.d(t,{Z:function(){return k}});var n=r(791),o=r(3428),i=r(2265),a=r(7042),l=r(5600),u=r(9975),s=r(5843),c=r(7927),d=r(7820),f=r(6659),p=r(8519),m=r(7663),g=r(6520);let h=(0,g.Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]),v=(0,g.Z)("MuiListItemIcon",["root","alignItemsFlexStart"]);var b=r(9660),y=r(5702);function Z(e){return(0,y.Z)("MuiMenuItem",e)}let w=(0,g.Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]);var x=r(7437);let _=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex","className"],S=e=>{let{disabled:t,dense:r,divider:n,disableGutters:i,selected:a,classes:u}=e,s=(0,l.Z)({root:["root",r&&"dense",t&&"disabled",!i&&"gutters",n&&"divider",a&&"selected"]},Z,u);return(0,o.Z)({},u,s)},C=(0,s.ZP)(f.Z,{shouldForwardProp:e=>(0,s.FO)(e)||"classes"===e,name:"MuiMenuItem",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.dense&&t.dense,r.divider&&t.divider,!r.disableGutters&&t.gutters]}})(({theme:e,ownerState:t})=>(0,o.Z)({},e.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!t.disableGutters&&{paddingLeft:16,paddingRight:16},t.divider&&{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"},{"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${w.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:(0,u.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${w.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:(0,u.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${w.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:(0,u.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:(0,u.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${w.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${w.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`& + .${h.root}`]:{marginTop:e.spacing(1),marginBottom:e.spacing(1)},[`& + .${h.inset}`]:{marginLeft:52},[`& .${b.Z.root}`]:{marginTop:0,marginBottom:0},[`& .${b.Z.inset}`]:{paddingLeft:36},[`& .${v.root}`]:{minWidth:36}},!t.dense&&{[e.breakpoints.up("sm")]:{minHeight:"auto"}},t.dense&&(0,o.Z)({minHeight:32,paddingTop:4,paddingBottom:4},e.typography.body2,{[`& .${v.root} svg`]:{fontSize:"1.25rem"}}))),M=i.forwardRef(function(e,t){let r;let l=(0,c.Z)({props:e,name:"MuiMenuItem"}),{autoFocus:u=!1,component:s="li",dense:f=!1,divider:g=!1,disableGutters:h=!1,focusVisibleClassName:v,role:b="menuitem",tabIndex:y,className:Z}=l,w=(0,n.Z)(l,_),M=i.useContext(d.Z),k=i.useMemo(()=>({dense:f||M.dense||!1,disableGutters:h}),[M.dense,f,h]),P=i.useRef(null);(0,p.Z)(()=>{u&&P.current&&P.current.focus()},[u]);let j=(0,o.Z)({},l,{dense:k.dense,divider:g,disableGutters:h}),O=S(l),z=(0,m.Z)(P,t);return l.disabled||(r=void 0!==y?y:-1),(0,x.jsx)(d.Z.Provider,{value:k,children:(0,x.jsx)(C,(0,o.Z)({ref:z,role:b,tabIndex:r,component:s,focusVisibleClassName:(0,a.Z)(O.focusVisible,v),className:(0,a.Z)(O.root,Z)},w,{ownerState:j,classes:O}))})});var k=M},3457:function(e,t,r){"use strict";r.d(t,{Z:function(){return M}});var n=r(791),o=r(3428),i=r(2265),a=r(7042),l=r(5959),u=r(5600),s=r(5702),c=r(9190),d=r(8153),f=r(3381),p=r(4775),m=r(5425),g=r(7508),h=r(7437);let v=["component","direction","spacing","divider","children","className","useFlexGap"],b=(0,p.Z)(),y=(0,c.Z)("div",{name:"MuiStack",slot:"Root",overridesResolver:(e,t)=>t.root});function Z(e){return(0,d.Z)({props:e,name:"MuiStack",defaultTheme:b})}let w=e=>({row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"})[e],x=({ownerState:e,theme:t})=>{let r=(0,o.Z)({display:"flex",flexDirection:"column"},(0,m.k9)({theme:t},(0,m.P$)({values:e.direction,breakpoints:t.breakpoints.values}),e=>({flexDirection:e})));if(e.spacing){let n=(0,g.hB)(t),o=Object.keys(t.breakpoints.values).reduce((t,r)=>(("object"==typeof e.spacing&&null!=e.spacing[r]||"object"==typeof e.direction&&null!=e.direction[r])&&(t[r]=!0),t),{}),i=(0,m.P$)({values:e.direction,base:o}),a=(0,m.P$)({values:e.spacing,base:o});"object"==typeof i&&Object.keys(i).forEach((e,t,r)=>{let n=i[e];if(!n){let n=t>0?i[r[t-1]]:"column";i[e]=n}}),r=(0,l.Z)(r,(0,m.k9)({theme:t},a,(t,r)=>e.useFlexGap?{gap:(0,g.NA)(n,t)}:{"& > :not(style):not(style)":{margin:0},"& > :not(style) ~ :not(style)":{[`margin${w(r?i[r]:e.direction)}`]:(0,g.NA)(n,t)}}))}return(0,m.dt)(t.breakpoints,r)};var _=r(5843),S=r(7927);let C=function(e={}){let{createStyledComponent:t=y,useThemeProps:r=Z,componentName:l="MuiStack"}=e,c=()=>(0,u.Z)({root:["root"]},e=>(0,s.Z)(l,e),{}),d=t(x),p=i.forwardRef(function(e,t){let l=r(e),u=(0,f.Z)(l),{component:s="div",direction:p="column",spacing:m=0,divider:g,children:b,className:y,useFlexGap:Z=!1}=u,w=(0,n.Z)(u,v),x=c();return(0,h.jsx)(d,(0,o.Z)({as:s,ownerState:{direction:p,spacing:m,useFlexGap:Z},ref:t,className:(0,a.Z)(x.root,y)},w,{children:g?function(e,t){let r=i.Children.toArray(e).filter(Boolean);return r.reduce((e,n,o)=>(e.push(n),o<r.length-1&&e.push(i.cloneElement(t,{key:`separator-${o}`})),e),[])}(b,g):b}))});return p}({createStyledComponent:(0,_.ZP)("div",{name:"MuiStack",slot:"Root",overridesResolver:(e,t)=>t.root}),useThemeProps:e=>(0,S.Z)({props:e,name:"MuiStack"})});var M=C},5573:function(e,t,r){"use strict";r.d(t,{Z:function(){return y}});var n=r(3428),o=r(791),i=r(2265);let a=i.createContext(null);function l(){let e=i.useContext(a);return e}let u="function"==typeof Symbol&&Symbol.for;var s=u?Symbol.for("mui.nested"):"__THEME_NESTED__",c=r(7437),d=function(e){let{children:t,theme:r}=e,o=l(),u=i.useMemo(()=>{let e=null===o?r:function(e,t){if("function"==typeof t){let r=t(e);return r}return(0,n.Z)({},e,t)}(o,r);return null!=e&&(e[s]=null!==o),e},[r,o]);return(0,c.jsx)(a.Provider,{value:u,children:t})},f=r(6375),p=r(4809);let m={};function g(e,t,r,o=!1){return i.useMemo(()=>{let i=e&&t[e]||t;if("function"==typeof r){let a=r(i),l=e?(0,n.Z)({},t,{[e]:a}):a;return o?()=>l:l}return e?(0,n.Z)({},t,{[e]:r}):(0,n.Z)({},t,r)},[e,t,r,o])}var h=function(e){let{children:t,theme:r,themeId:n}=e,o=(0,p.Z)(m),i=l()||m,a=g(n,o,r),u=g(n,i,r,!0);return(0,c.jsx)(d,{theme:u,children:(0,c.jsx)(f.T.Provider,{value:a,children:t})})},v=r(3469);let b=["theme"];function y(e){let{theme:t}=e,r=(0,o.Z)(e,b),i=t[v.Z];return(0,c.jsx)(h,(0,n.Z)({},r,{themeId:i?v.Z:void 0,theme:i||t}))}},2135:function(e,t,r){"use strict";r.d(t,{Z:function(){return d}});var n,o=r(2265),i=r(4809),a=r(1529),l=r(8519);function u(e,t,r,n,i){let[a,u]=o.useState(()=>i&&r?r(e).matches:n?n(e).matches:t);return(0,l.Z)(()=>{let t=!0;if(!r)return;let n=r(e),o=()=>{t&&u(n.matches)};return o(),n.addListener(o),()=>{t=!1,n.removeListener(o)}},[e,r]),a}let s=(n||(n=r.t(o,2))).useSyncExternalStore;function c(e,t,r,n,i){let a=o.useCallback(()=>t,[t]),l=o.useMemo(()=>{if(i&&r)return()=>r(e).matches;if(null!==n){let{matches:t}=n(e);return()=>t}return a},[a,e,n,i,r]),[u,c]=o.useMemo(()=>{if(null===r)return[a,()=>()=>{}];let t=r(e);return[()=>t.matches,e=>(t.addListener(e),()=>{t.removeListener(e)})]},[a,r,e]),d=s(c,u,l);return d}function d(e,t={}){let r=(0,i.Z)(),n="undefined"!=typeof window&&void 0!==window.matchMedia,{defaultMatches:o=!1,matchMedia:l=n?window.matchMedia:null,ssrMatchMedia:d=null,noSsr:f=!1}=(0,a.Z)({name:"MuiUseMediaQuery",props:t,theme:r}),p="function"==typeof e?e(r):e;p=p.replace(/^@media( ?)/m,"");let m=(void 0!==s?c:u)(p,o,l,d,f);return m}},3135:function(e,t,r){"use strict";r.r(t),r.d(t,{capitalize:function(){return o.Z},createChainedFunction:function(){return i},createSvgIcon:function(){return a.Z},debounce:function(){return l.Z},deprecatedPropType:function(){return u},isMuiElement:function(){return s.Z},ownerDocument:function(){return c.Z},ownerWindow:function(){return d.Z},requirePropFactory:function(){return f},setRef:function(){return p},unstable_ClassNameGenerator:function(){return w},unstable_useEnhancedEffect:function(){return m.Z},unstable_useId:function(){return g.Z},unsupportedProp:function(){return h},useControlled:function(){return v.Z},useEventCallback:function(){return b.Z},useForkRef:function(){return y.Z},useIsFocusVisible:function(){return Z.Z}});var n=r(5097),o=r(8702),i=r(2940).Z,a=r(9782),l=r(494),u=function(e,t){return()=>null},s=r(673),c=r(3931),d=r(6649);r(3428);var f=function(e,t){return()=>null},p=r(3406).Z,m=r(8519),g=r(419),h=function(e,t,r,n,o){return null},v=r(3292),b=r(96),y=r(7663),Z=r(2143);let w={configure:e=>{n.Z.configure(e)}}},419:function(e,t,r){"use strict";var n=r(3449);t.Z=n.Z},3222:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Image",{enumerable:!0,get:function(){return b}});let n=r(1024),o=r(8533),i=o._(r(2265)),a=r(4887),l=n._(r(2912)),u=r(2301),s=r(7709),c=r(9469);r(7873);let d=r(2706),f=n._(r(6515)),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function m(e,t,r,n,o,i){let a=null==e?void 0:e.src;if(!e||e["data-loaded-src"]===a)return;e["data-loaded-src"]=a;let l="decode"in e?e.decode():Promise.resolve();l.catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("blur"===t&&o(!0),null==r?void 0:r.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,o=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>o,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{o=!0,t.stopPropagation()}})}(null==n?void 0:n.current)&&n.current(e)}})}function g(e){let[t,r]=i.version.split("."),n=parseInt(t,10),o=parseInt(r,10);return n>18||18===n&&o>=3?{fetchPriority:e}:{fetchpriority:e}}let h=(0,i.forwardRef)((e,t)=>{let{src:r,srcSet:n,sizes:o,height:a,width:l,decoding:u,className:s,style:c,fetchPriority:d,placeholder:f,loading:p,unoptimized:h,fill:v,onLoadRef:b,onLoadingCompleteRef:y,setBlurComplete:Z,setShowAltText:w,onLoad:x,onError:_,...S}=e;return i.default.createElement("img",{...S,...g(d),loading:p,width:l,height:a,decoding:u,"data-nimg":v?"fill":"1",className:s,style:c,sizes:o,srcSet:n,src:r,ref:(0,i.useCallback)(e=>{t&&("function"==typeof t?t(e):"object"==typeof t&&(t.current=e)),e&&(_&&(e.src=e.src),e.complete&&m(e,f,b,y,Z,h))},[r,f,b,y,Z,_,h,t]),onLoad:e=>{let t=e.currentTarget;m(t,f,b,y,Z,h)},onError:e=>{w(!0),"blur"===f&&Z(!0),_&&_(e)}})});function v(e){let{isAppRouter:t,imgAttributes:r}=e,n={as:"image",imageSrcSet:r.srcSet,imageSizes:r.sizes,crossOrigin:r.crossOrigin,referrerPolicy:r.referrerPolicy,...g(r.fetchPriority)};return t?((0,a.preload)(r.src,n),null):i.default.createElement(l.default,null,i.default.createElement("link",{key:"__nimg-"+r.src+r.srcSet+r.sizes,rel:"preload",href:r.srcSet?void 0:r.src,...n}))}let b=(0,i.forwardRef)((e,t)=>{let r=(0,i.useContext)(d.RouterContext),n=(0,i.useContext)(c.ImageConfigContext),o=(0,i.useMemo)(()=>{let e=p||n||s.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r}},[n]),{onLoad:a,onLoadingComplete:l}=e,m=(0,i.useRef)(a);(0,i.useEffect)(()=>{m.current=a},[a]);let g=(0,i.useRef)(l);(0,i.useEffect)(()=>{g.current=l},[l]);let[b,y]=(0,i.useState)(!1),[Z,w]=(0,i.useState)(!1),{props:x,meta:_}=(0,u.getImgProps)(e,{defaultLoader:f.default,imgConf:o,blurComplete:b,showAltText:Z});return i.default.createElement(i.default.Fragment,null,i.default.createElement(h,{...x,unoptimized:_.unoptimized,placeholder:_.placeholder,fill:_.fill,onLoadRef:m,onLoadingCompleteRef:g,setBlurComplete:y,setShowAltText:w,ref:t}),_.priority?i.default.createElement(v,{isAppRouter:!r,imgAttributes:x}):null)});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5885:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return i}});let n=r(1024),o=n._(r(2265)),i=o.default.createContext({})},8551:function(e,t){"use strict";function r(e){let{ampFirst:t=!1,hybrid:r=!1,hasQuery:n=!1}=void 0===e?{}:e;return t||r&&n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return r}})},2301:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImgProps",{enumerable:!0,get:function(){return l}}),r(7873);let n=r(9540),o=r(7709);function i(e){return void 0!==e.default}function a(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function l(e,t){var r;let l,u,s,{src:c,sizes:d,unoptimized:f=!1,priority:p=!1,loading:m,className:g,quality:h,width:v,height:b,fill:y=!1,style:Z,onLoad:w,onLoadingComplete:x,placeholder:_="empty",blurDataURL:S,fetchPriority:C,layout:M,objectFit:k,objectPosition:P,lazyBoundary:j,lazyRoot:O,...z}=e,{imgConf:I,showAltText:R,blurComplete:E,defaultLoader:$}=t,T=I||o.imageConfigDefault;if("allSizes"in T)l=T;else{let e=[...T.deviceSizes,...T.imageSizes].sort((e,t)=>e-t),t=T.deviceSizes.sort((e,t)=>e-t);l={...T,allSizes:e,deviceSizes:t}}let A=z.loader||$;delete z.loader,delete z.srcSet;let F="__next_img_default"in A;if(F){if("custom"===l.loader)throw Error('Image with src "'+c+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader')}else{let e=A;A=t=>{let{config:r,...n}=t;return e(n)}}if(M){"fill"===M&&(y=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[M];e&&(Z={...Z,...e});let t={responsive:"100vw",fill:"100vw"}[M];t&&!d&&(d=t)}let L="",N=a(v),D=a(b);if("object"==typeof(r=c)&&(i(r)||void 0!==r.src)){let e=i(c)?c.default:c;if(!e.src)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(e));if(!e.height||!e.width)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(e));if(u=e.blurWidth,s=e.blurHeight,S=S||e.blurDataURL,L=e.src,!y){if(N||D){if(N&&!D){let t=N/e.width;D=Math.round(e.height*t)}else if(!N&&D){let t=D/e.height;N=Math.round(e.width*t)}}else N=e.width,D=e.height}}let B=!p&&("lazy"===m||void 0===m);(!(c="string"==typeof c?c:L)||c.startsWith("data:")||c.startsWith("blob:"))&&(f=!0,B=!1),l.unoptimized&&(f=!0),F&&c.endsWith(".svg")&&!l.dangerouslyAllowSVG&&(f=!0),p&&(C="high");let V=a(h),G=Object.assign(y?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:k,objectPosition:P}:{},R?{}:{color:"transparent"},Z),q="blur"===_&&S&&!E?{backgroundSize:G.objectFit||"cover",backgroundPosition:G.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:'url("data:image/svg+xml;charset=utf-8,'+(0,n.getImageBlurSvg)({widthInt:N,heightInt:D,blurWidth:u,blurHeight:s,blurDataURL:S,objectFit:G.objectFit})+'")'}:{},U=function(e){let{config:t,src:r,unoptimized:n,width:o,quality:i,sizes:a,loader:l}=e;if(n)return{src:r,srcSet:void 0,sizes:void 0};let{widths:u,kind:s}=function(e,t,r){let{deviceSizes:n,allSizes:o}=e;if(r){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let n;n=e.exec(r);n)t.push(parseInt(n[2]));if(t.length){let e=.01*Math.min(...t);return{widths:o.filter(t=>t>=n[0]*e),kind:"w"}}return{widths:o,kind:"w"}}if("number"!=typeof t)return{widths:n,kind:"w"};let i=[...new Set([t,2*t].map(e=>o.find(t=>t>=e)||o[o.length-1]))];return{widths:i,kind:"x"}}(t,o,a),c=u.length-1;return{sizes:a||"w"!==s?a:"100vw",srcSet:u.map((e,n)=>l({config:t,src:r,quality:i,width:e})+" "+("w"===s?e:n+1)+s).join(", "),src:l({config:t,src:r,quality:i,width:u[c]})}}({config:l,src:c,unoptimized:f,width:N,quality:V,sizes:d,loader:A}),W={...z,loading:B?"lazy":m,fetchPriority:C,width:N,height:D,decoding:"async",className:g,style:{...G,...q},sizes:U.sizes,srcSet:U.srcSet,src:U.src},H={unoptimized:f,priority:p,placeholder:_,fill:y};return{props:W,meta:H}}},2912:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{defaultHead:function(){return c},default:function(){return m}});let n=r(1024),o=r(8533),i=o._(r(2265)),a=n._(r(3878)),l=r(5885),u=r(1330),s=r(8551);function c(e){void 0===e&&(e=!1);let t=[i.default.createElement("meta",{charSet:"utf-8"})];return e||t.push(i.default.createElement("meta",{name:"viewport",content:"width=device-width"})),t}function d(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===i.default.Fragment?e.concat(i.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}r(7873);let f=["name","httpEquiv","charSet","itemProp"];function p(e,t){let{inAmpMode:r}=t;return e.reduce(d,[]).reverse().concat(c(r).reverse()).filter(function(){let e=new Set,t=new Set,r=new Set,n={};return o=>{let i=!0,a=!1;if(o.key&&"number"!=typeof o.key&&o.key.indexOf("$")>0){a=!0;let t=o.key.slice(o.key.indexOf("$")+1);e.has(t)?i=!1:e.add(t)}switch(o.type){case"title":case"base":t.has(o.type)?i=!1:t.add(o.type);break;case"meta":for(let e=0,t=f.length;e<t;e++){let t=f[e];if(o.props.hasOwnProperty(t)){if("charSet"===t)r.has(t)?i=!1:r.add(t);else{let e=o.props[t],r=n[t]||new Set;("name"!==t||!a)&&r.has(e)?i=!1:(r.add(e),n[t]=r)}}}}return i}}()).reverse().map((e,t)=>{let n=e.key||t;if(!r&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some(t=>e.props.href.startsWith(t))){let t={...e.props||{}};return t["data-href"]=t.href,t.href=void 0,t["data-optimized-fonts"]=!0,i.default.cloneElement(e,t)}return i.default.cloneElement(e,{key:n})})}let m=function(e){let{children:t}=e,r=(0,i.useContext)(l.AmpStateContext),n=(0,i.useContext)(u.HeadManagerContext);return i.default.createElement(a.default,{reduceComponentsToState:p,headManager:n,inAmpMode:(0,s.isInAmpMode)(r)},t)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9540:function(e,t){"use strict";function r(e){let{widthInt:t,heightInt:r,blurWidth:n,blurHeight:o,blurDataURL:i,objectFit:a}=e,l=n?40*n:t,u=o?40*o:r,s=l&&u?"viewBox='0 0 "+l+" "+u+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+s+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(s?"none":"contain"===a?"xMidYMid":"cover"===a?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+i+"'/%3E%3C/svg%3E"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImageBlurSvg",{enumerable:!0,get:function(){return r}})},9469:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return a}});let n=r(1024),o=n._(r(2265)),i=r(7709),a=o.default.createContext(i.imageConfigDefault)},7709:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{VALID_LOADERS:function(){return r},imageConfigDefault:function(){return n}});let r=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"inline",remotePatterns:[],unoptimized:!1}},1295:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return s},unstable_getImgProps:function(){return u}});let n=r(1024),o=r(2301),i=r(7873),a=r(3222),l=n._(r(6515)),u=e=>{(0,i.warnOnce)("Warning: unstable_getImgProps() is experimental and may change or be removed at any time. Use at your own risk.");let{props:t}=(0,o.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}},s=a.Image},6515:function(e,t){"use strict";function r(e){let{config:t,src:r,width:n,quality:o}=e;return t.path+"?url="+encodeURIComponent(r)+"&w="+n+"&q="+(o||75)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n}}),r.__next_img_default=!0;let n=r},3878:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return l}});let n=r(8533),o=n._(r(2265)),i=o.useLayoutEffect,a=o.useEffect;function l(e){let{headManager:t,reduceComponentsToState:r}=e;function n(){if(t&&t.mountedInstances){let n=o.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(n,e))}}return i(()=>{var r;return null==t||null==(r=t.mountedInstances)||r.add(e.children),()=>{var r;null==t||null==(r=t.mountedInstances)||r.delete(e.children)}}),i(()=>(t&&(t._pendingUpdate=n),()=>{t&&(t._pendingUpdate=n)})),a(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},7873:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},8384:function(e){e.exports={style:{fontFamily:"'__Roboto_c5054f', '__Roboto_Fallback_c5054f'"},className:"__className_c5054f"}},6691:function(e,t,r){e.exports=r(1295)},6314:function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[958],{4303:function(e,t,s){Promise.resolve().then(s.bind(s,4260))},2810:function(e,t,s){"use strict";let i,n;async function l(){if(i||(n||(n=fetch("/api/config").then(e=>e.json()).then(e=>i=e.apiBaseUrl)),await n),void 0===i)throw Error("API base URL is undefined");return i}s.d(t,{b:function(){return l}})},4260:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return E}});var i=s(7437),n=s(2265),l=s(1396),r=s.n(l),c=s(6507),d=s(2492),a=s(3701),o=s(9279),h=s(666),u=s(6988),v=s(4147),x=s(5781),j=s(8276),p=s(4033),Z=s(8339),m=s(5551),f=s(9394),w=s(2834),C=s(6337),y=s(1797),g=s(3226),I=s(5446);function k(e){var t,s,l,c,x;let{openDialog:j,handleClose:p,testCase:k}=e,[S,E]=(0,n.useState)(1);return(0,i.jsxs)(f.Z,{open:j,onClose:p,fullWidth:!0,maxWidth:"lg",children:[(0,i.jsxs)(y.Z,{children:["Dataset ",k.id.slice(0,6)]}),(0,i.jsxs)(C.Z,{children:[(0,i.jsx)(g.Z,{variant:"h6",style:{marginTop:"1rem"},children:"Test cases"}),(0,i.jsx)(I.u,{readOnly:!0,value:k&&Z.default.dump(k.testCases),style:{width:"100%",padding:"0.75rem"},maxRows:15}),(0,i.jsx)(g.Z,{variant:"h6",style:{marginTop:"1rem"},children:"Used in..."}),(0,i.jsxs)(a.Z,{children:[(0,i.jsx)(u.Z,{children:(0,i.jsxs)(v.Z,{children:[(0,i.jsx)(h.Z,{children:"Eval ID"}),(0,i.jsx)(h.Z,{children:"Prompt ID"}),(0,i.jsx)(h.Z,{children:"Raw score"}),(0,i.jsx)(h.Z,{children:"Pass rate"}),(0,i.jsx)(h.Z,{children:"Pass count"}),(0,i.jsx)(h.Z,{children:"Fail count"}),(0,i.jsx)(h.Z,{children:"Prompt"})]})}),(0,i.jsx)(o.Z,{children:null==k?void 0:null===(t=k.prompts)||void 0===t?void 0:t.slice((S-1)*10,10*S).sort((e,t)=>t.evalId.localeCompare(e.evalId)).map((e,t)=>{var s,n,d,a,o,u,j,p;return(0,i.jsxs)(v.Z,{hover:!0,children:[(0,i.jsx)(h.Z,{children:(0,i.jsx)(r(),{href:"/eval/?evalId=".concat(e.evalId),children:e.evalId})}),(0,i.jsx)(h.Z,{style:{minWidth:"8em"},children:(0,i.jsx)(r(),{href:"/prompts/?id=".concat(e.id),children:e.id.slice(0,6)})}),(0,i.jsx)(h.Z,{children:null!==(l=null===(s=e.prompt.metrics)||void 0===s?void 0:s.score.toFixed(2))&&void 0!==l?l:"-"}),(0,i.jsx)(h.Z,{children:(null===(n=e.prompt.metrics)||void 0===n?void 0:n.testPassCount)!==void 0&&(null===(d=e.prompt.metrics)||void 0===d?void 0:d.testFailCount)!==void 0?((null===(a=e.prompt.metrics)||void 0===a?void 0:a.testPassCount)/((null===(o=e.prompt.metrics)||void 0===o?void 0:o.testPassCount)+(null===(u=e.prompt.metrics)||void 0===u?void 0:u.testFailCount))*100).toFixed(2)+"%":"-"}),(0,i.jsx)(h.Z,{children:null!==(c=null===(j=e.prompt.metrics)||void 0===j?void 0:j.testPassCount)&&void 0!==c?c:"-"}),(0,i.jsx)(h.Z,{children:null!==(x=null===(p=e.prompt.metrics)||void 0===p?void 0:p.testFailCount)&&void 0!==x?x:"-"}),(0,i.jsx)(h.Z,{children:e.prompt.raw.length>250?e.prompt.raw.slice(0,250)+"...":e.prompt.raw})]},t)})})]}),Math.ceil(((null==k?void 0:null===(s=k.prompts)||void 0===s?void 0:s.length)||0)/10)>1&&(0,i.jsx)(d.Z,{count:Math.ceil(k.prompts.length/10),page:S,onChange:(e,t)=>{E(t)}})]}),(0,i.jsx)(w.Z,{children:(0,i.jsx)(m.Z,{onClick:p,children:"Close"})})]})}var S=s(2810);function E(){let e=(0,p.useSearchParams)(),[t,s]=(0,n.useState)([]),[l,Z]=(0,n.useState)("date"),[m,f]=(0,n.useState)("desc"),[w,C]=(0,n.useState)(1),[y,g]=(0,n.useState)(10),[I,E]=(0,n.useState)(!1),[P,b]=(0,n.useState)(0),D=e=>{let t=l===e&&"asc"===m?"desc":"asc";Z(e),f(t)};(0,n.useEffect)(()=>{(async()=>{fetch("".concat(await (0,S.b)(),"/api/datasets")).then(e=>e.json()).then(e=>{let t=[...e.data].sort((e,t)=>null===l?0:"asc"===m?e[l]>t[l]?1:-1:e[l]<t[l]?1:-1);s(t)})})()},[l,m,w,y]),(0,n.useEffect)(()=>{let s=null==e?void 0:e.get("id");if(s){let e=t.findIndex(e=>e.id.startsWith(s));-1!==e&&M(e)}},[t,e]);let M=e=>{b(e),E(!0)};return(0,i.jsxs)(c.Z,{paddingX:2,children:[(0,i.jsxs)(a.Z,{children:[(0,i.jsx)(u.Z,{children:(0,i.jsxs)(v.Z,{children:[(0,i.jsx)(h.Z,{style:{width:"10%"},children:"ID"}),(0,i.jsx)(h.Z,{style:{width:"20%"},children:(0,i.jsx)(x.Z,{active:"raw"===l,direction:"raw"===l?m:"asc",onClick:()=>D("raw"),children:"Info"})}),(0,i.jsx)(h.Z,{style:{width:"20%"},children:"Variables"}),(0,i.jsx)(h.Z,{style:{width:"10%"},children:(0,i.jsx)(x.Z,{active:"count"===l,direction:"count"===l?m:"asc",onClick:()=>D("count"),children:"Total # evals"})}),(0,i.jsx)(h.Z,{style:{width:"20%"},children:(0,i.jsx)(j.Z,{title:"The date of the most recent eval for this set of test cases",children:(0,i.jsx)(x.Z,{active:"date"===l,direction:"date"===l?m:"asc",onClick:()=>D("date"),children:"Most recent eval date"})})}),(0,i.jsx)(h.Z,{style:{width:"20%"},children:(0,i.jsx)(j.Z,{title:"The ID of the most recent eval for this set of test cases",children:(0,i.jsx)(x.Z,{active:"evalId"===l,direction:"evalId"===l?m:"asc",onClick:()=>D("evalId"),children:"Most recent eval ID"})})})]})}),(0,i.jsx)(o.Z,{children:t.slice((w-1)*y,w*y).map((e,t)=>(0,i.jsxs)(v.Z,{hover:!0,onClick:()=>M(t),style:{cursor:"pointer"},children:[(0,i.jsx)(h.Z,{children:e.id.slice(0,6)}),(0,i.jsxs)(h.Z,{style:{width:"20%",whiteSpace:"pre-wrap"},children:[e.testCases.length," test cases"]}),(0,i.jsx)(h.Z,{style:{width:"20%",whiteSpace:"pre-wrap"},children:(()=>{if(!Array.isArray(e.testCases)||"string"==typeof e.testCases[0])return"";let t=(e.testCases||[]).flatMap(e=>Object.keys(e.vars||{})),s=Array.from(new Set(t));return s.length>0?s.join(", "):"None"})()}),(0,i.jsx)(h.Z,{style:{width:"10%"},children:e.count}),(0,i.jsx)(h.Z,{style:{width:"20%"},children:e.recentEvalDate||"Unknown"}),(0,i.jsx)(h.Z,{style:{width:"20%"},children:e.recentEvalId?(0,i.jsx)(r(),{href:"/eval?evalId=".concat(e.recentEvalId),children:e.recentEvalId}):"Unknown"})]},t))})]}),Math.ceil(t.length/y)>1&&(0,i.jsx)(d.Z,{count:Math.ceil(t.length/y),page:w,onChange:(e,t)=>C(t)}),t[P]&&(0,i.jsx)(k,{openDialog:I,handleClose:()=>{E(!1)},testCase:t[P]})]})}},4033:function(e,t,s){e.exports=s(8165)}},function(e){e.O(0,[547,602,414,113,339,21,971,596,744],function(){return e(e.s=4303)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[92],{2481:function(e,t,a){"use strict";var i=a(6314);t.Z=void 0;var r=i(a(984)),n=a(7437),s=(0,r.default)((0,n.jsx)("path",{d:"M5 20h14v-2H5v2zM19 9h-4V3H9v6H5l7 7 7-7z"}),"Download");t.Z=s},9660:function(e,t,a){"use strict";a.d(t,{L:function(){return n}});var i=a(6520),r=a(5702);function n(e){return(0,r.Z)("MuiListItemText",e)}let s=(0,i.Z)("MuiListItemText",["root","multiline","dense","inset","primary","secondary"]);t.Z=s},5507:function(e,t,a){"use strict";a.d(t,{Z:function(){return k}});var i=a(791),r=a(3428),n=a(2265),s=a(7042),o=a(5600),l=a(9975),d=a(5843),c=a(7927),u=a(7820),p=a(6659),v=a(8519),m=a(7663),h=a(6520);let x=(0,h.Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]),f=(0,h.Z)("MuiListItemIcon",["root","alignItemsFlexStart"]);var Z=a(9660),g=a(5702);function C(e){return(0,g.Z)("MuiMenuItem",e)}let I=(0,h.Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]);var j=a(7437);let b=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex","className"],y=e=>{let{disabled:t,dense:a,divider:i,disableGutters:n,selected:s,classes:l}=e,d=(0,o.Z)({root:["root",a&&"dense",t&&"disabled",!n&&"gutters",i&&"divider",s&&"selected"]},C,l);return(0,r.Z)({},l,d)},w=(0,d.ZP)(p.Z,{shouldForwardProp:e=>(0,d.FO)(e)||"classes"===e,name:"MuiMenuItem",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:a}=e;return[t.root,a.dense&&t.dense,a.divider&&t.divider,!a.disableGutters&&t.gutters]}})(({theme:e,ownerState:t})=>(0,r.Z)({},e.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!t.disableGutters&&{paddingLeft:16,paddingRight:16},t.divider&&{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"},{"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${I.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:(0,l.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${I.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:(0,l.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${I.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:(0,l.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:(0,l.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${I.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${I.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`& + .${x.root}`]:{marginTop:e.spacing(1),marginBottom:e.spacing(1)},[`& + .${x.inset}`]:{marginLeft:52},[`& .${Z.Z.root}`]:{marginTop:0,marginBottom:0},[`& .${Z.Z.inset}`]:{paddingLeft:36},[`& .${f.root}`]:{minWidth:36}},!t.dense&&{[e.breakpoints.up("sm")]:{minHeight:"auto"}},t.dense&&(0,r.Z)({minHeight:32,paddingTop:4,paddingBottom:4},e.typography.body2,{[`& .${f.root} svg`]:{fontSize:"1.25rem"}}))),P=n.forwardRef(function(e,t){let a;let o=(0,c.Z)({props:e,name:"MuiMenuItem"}),{autoFocus:l=!1,component:d="li",dense:p=!1,divider:h=!1,disableGutters:x=!1,focusVisibleClassName:f,role:Z="menuitem",tabIndex:g,className:C}=o,I=(0,i.Z)(o,b),P=n.useContext(u.Z),k=n.useMemo(()=>({dense:p||P.dense||!1,disableGutters:x}),[P.dense,p,x]),F=n.useRef(null);(0,v.Z)(()=>{l&&F.current&&F.current.focus()},[l]);let M=(0,r.Z)({},o,{dense:k.dense,divider:h,disableGutters:x}),S=y(o),$=(0,m.Z)(F,t);return o.disabled||(a=void 0!==g?g:-1),(0,j.jsx)(u.Z.Provider,{value:k,children:(0,j.jsx)(w,(0,r.Z)({ref:$,role:Z,tabIndex:a,component:d,focusVisibleClassName:(0,s.Z)(S.focusVisible,f),className:(0,s.Z)(S.root,C)},I,{ownerState:M,classes:S}))})});var k=P},932:function(e,t,a){Promise.resolve().then(a.bind(a,5986))},5986:function(e,t,a){"use strict";a.r(t),a.d(t,{default:function(){return I}});var i=a(7437),r=a(2265),n=a(1396),s=a.n(n),o=a(8440),l=a(6507),d=a(5551),c=a(2481),u=a(3375),p=a(5507),v=a(2492),m=a(3701),h=a(9279),x=a(666),f=a(6988),Z=a(4147),g=a(5781),C=a(1975);function I(){let[e,t]=(0,r.useState)([]),[a,n]=(0,r.useState)(null),[I,j]=(0,r.useState)("asc"),[b,y]=(0,r.useState)(null),[w,P]=r.useState(1),[k,F]=(0,r.useState)({evalId:"",datasetId:"",provider:"",promptId:""}),M=!!b;(0,r.useEffect)(()=>{(async()=>{let e=await fetch("/api/progress"),a=await e.json();a&&a.data&&t(a.data)})()},[]);let S=e=>{let t=a===e&&"asc"===I;n(e),j(t?"desc":"asc")},$=t=>{let a="json"===t?JSON.stringify(e):R(e),i=new Blob([a],{type:"text/".concat(t,";charset=utf-8;")}),r=document.createElement("a");r.href=URL.createObjectURL(i),r.download="cols_export.".concat(t),r.click(),URL.revokeObjectURL(r.href),y(null)},O=e=>(null==e?void 0:e.testPassCount)!=null&&(null==e?void 0:e.testFailCount)!=null?(e.testPassCount/(e.testPassCount+e.testFailCount)*100).toFixed(2):"-",R=e=>{var t,a,i,r,n;let s=e.map(e=>{var s,o,l,d,c;return[null!==(t=e.evalId)&&void 0!==t?t:"",null!==(a=null===(s=e.datasetId)||void 0===s?void 0:s.slice(0,6))&&void 0!==a?a:"",null!==(i=e.provider)&&void 0!==i?i:"",(null!==(r=null===(o=e.promptId)||void 0===o?void 0:o.slice(0,6))&&void 0!==r?r:"")+" "+(null!==(n=e.raw)&&void 0!==n?n:""),O(e.metrics),(null===(l=e.metrics)||void 0===l?void 0:l.testPassCount)==null?"-":"".concat(e.metrics.testPassCount),(null===(d=e.metrics)||void 0===d?void 0:d.testFailCount)==null?"-":"".concat(e.metrics.testFailCount),(null===(c=e.metrics)||void 0===c?void 0:c.score)==null?"-":e.metrics.score.toFixed(2)]});return[["Eval","Dataset","Provider","Prompt","Pass Rate %","Pass Count","Fail Count","Raw score"]].concat(s).map(e=>e.map(e=>null!=e?e:"").join(",")).join("\n")},L=r.useMemo(()=>e.filter(e=>{var t,a,i,r;return(!k.evalId||(null===(t=e.evalId)||void 0===t?void 0:t.includes(k.evalId)))&&(!k.datasetId||(null===(a=e.datasetId)||void 0===a?void 0:a.startsWith(k.datasetId)))&&(!k.provider||(null===(i=e.provider)||void 0===i?void 0:i.includes(k.provider)))&&(!k.promptId||(null===(r=e.promptId)||void 0===r?void 0:r.startsWith(k.promptId)))}),[e,k]),D=r.useMemo(()=>L.sort((e,t)=>{if(!a)return 0;if("passRate"===a){let a=parseFloat(O(e.metrics)),i=parseFloat(O(t.metrics));return"asc"===I?a-i:i-a}if(a in e&&a in t){let i=e[a]||"",r=t[a]||"";return"asc"===I?i.toString().localeCompare(r.toString()):r.toString().localeCompare(i.toString())}return 0}),[L,a,I]),E=r.useMemo(()=>Array.from(new Set(e.map(e=>e.evalId))),[e]),V=r.useMemo(()=>Array.from(new Set(e.map(e=>e.datasetId))),[e]),N=r.useMemo(()=>Array.from(new Set(e.map(e=>e.provider))),[e]),z=r.useMemo(()=>Array.from(new Set(e.map(e=>e.promptId))),[e]);return(0,i.jsxs)(l.Z,{paddingX:2,children:[(0,i.jsxs)(l.Z,{display:"flex",justifyContent:"space-between",alignItems:"center",children:[(0,i.jsx)("h2",{children:"Progress summary"}),(0,i.jsxs)("div",{children:[(0,i.jsx)(d.Z,{id:"export-button","aria-controls":M?"export-menu":void 0,"aria-haspopup":"true","aria-expanded":M?"true":void 0,onClick:e=>{y(e.currentTarget)},startIcon:(0,i.jsx)(c.Z,{}),children:"Export"}),(0,i.jsxs)(u.Z,{id:"export-menu",anchorEl:b,open:M,onClose:()=>{y(null)},MenuListProps:{"aria-labelledby":"export-button"},children:[(0,i.jsx)(p.Z,{onClick:()=>$("csv"),children:"CSV"}),(0,i.jsx)(p.Z,{onClick:()=>$("json"),children:"JSON"})]})]})]}),(0,i.jsx)(l.Z,{children:"This page shows performance metrics for recent evals."}),(0,i.jsxs)(l.Z,{display:"flex",flexDirection:"row",gap:2,mt:2,children:[(0,i.jsx)(o.Z,{options:E,value:k.evalId,onChange:(e,t)=>{F({...k,evalId:t||""})},renderInput:e=>(0,i.jsx)(C.Z,{...e,label:"Eval ID",variant:"outlined",size:"small",fullWidth:!0}),sx:{width:220}}),(0,i.jsx)(o.Z,{options:V,value:k.datasetId,onChange:(e,t)=>{F({...k,datasetId:t||""})},renderInput:e=>(0,i.jsx)(C.Z,{...e,label:"Dataset ID",variant:"outlined",size:"small",fullWidth:!0}),sx:{width:220}}),(0,i.jsx)(o.Z,{options:N,value:k.provider,onChange:(e,t)=>{F({...k,provider:t||""})},renderInput:e=>(0,i.jsx)(C.Z,{...e,label:"Provider",variant:"outlined",size:"small",fullWidth:!0}),sx:{width:220}}),(0,i.jsx)(o.Z,{options:z,value:k.promptId,onChange:(e,t)=>{F({...k,promptId:t||""})},renderInput:e=>(0,i.jsx)(C.Z,{...e,label:"Prompt ID",variant:"outlined",size:"small",fullWidth:!0}),sx:{width:220}})]}),(0,i.jsxs)(m.Z,{children:[(0,i.jsx)(f.Z,{children:(0,i.jsxs)(Z.Z,{children:[(0,i.jsx)(x.Z,{children:(0,i.jsx)(g.Z,{active:"evalId"===a,direction:"evalId"===a?I:"asc",onClick:()=>S("evalId"),children:"Eval"})}),(0,i.jsx)(x.Z,{children:"Dataset"}),(0,i.jsx)(x.Z,{children:"Provider"}),(0,i.jsx)(x.Z,{children:"Prompt"}),(0,i.jsx)(x.Z,{children:(0,i.jsx)(g.Z,{active:"passRate"===a,direction:"passRate"===a?I:"asc",onClick:()=>S("passRate"),children:"Pass Rate %"})}),(0,i.jsx)(x.Z,{children:(0,i.jsx)(g.Z,{active:"testPassCount"===a,direction:"testPassCount"===a?I:"asc",onClick:()=>S("testPassCount"),children:"Pass Count"})}),(0,i.jsx)(x.Z,{children:(0,i.jsx)(g.Z,{active:"testFailCount"===a,direction:"testFailCount"===a?I:"asc",onClick:()=>S("testFailCount"),children:"Fail Count"})}),(0,i.jsx)(x.Z,{children:(0,i.jsx)(g.Z,{active:"score"===a,direction:"score"===a?I:"asc",onClick:()=>S("score"),children:"Raw score"})})]})}),(0,i.jsx)(h.Z,{children:D.slice((w-1)*25,25*w).map((e,t)=>{var a,r,n,o,l;return(0,i.jsxs)(Z.Z,{hover:!0,onClick:()=>F({...k,evalId:e.evalId,datasetId:e.datasetId||"",promptId:e.promptId||"",provider:e.provider}),children:[(0,i.jsx)(x.Z,{children:(0,i.jsx)(s(),{href:"/eval?evalId=".concat(e.evalId),onClick:e=>e.stopPropagation(),children:e.evalId})}),(0,i.jsx)(x.Z,{children:(0,i.jsx)(s(),{href:"/datasets?id=".concat(e.datasetId),onClick:e=>e.stopPropagation(),children:null===(a=e.datasetId)||void 0===a?void 0:a.slice(0,6)})}),(0,i.jsx)(x.Z,{children:e.provider}),(0,i.jsxs)(x.Z,{children:[(0,i.jsxs)(s(),{href:"/prompts?id=".concat(e.promptId),onClick:e=>e.stopPropagation(),children:["[",null===(r=e.promptId)||void 0===r?void 0:r.slice(0,6),"]"]})," ",e.raw]}),(0,i.jsx)(x.Z,{children:O(e.metrics)}),(0,i.jsx)(x.Z,{children:(null===(n=e.metrics)||void 0===n?void 0:n.testPassCount)==null?"-":"".concat(e.metrics.testPassCount)}),(0,i.jsx)(x.Z,{children:(null===(o=e.metrics)||void 0===o?void 0:o.testFailCount)==null?"-":"".concat(e.metrics.testFailCount)}),(0,i.jsx)(x.Z,{children:(null===(l=e.metrics)||void 0===l?void 0:l.score)==null?"-":e.metrics.score.toFixed(2)})]},t)})})]}),Math.ceil(L.length/25)>1&&(0,i.jsx)(v.Z,{count:Math.ceil(D.length/25),page:w,onChange:(e,t)=>P(t),sx:{pt:2,pb:4,display:"flex",justifyContent:"center"}})]})}}},function(e){e.O(0,[547,602,72,975,414,261,21,971,596,744],function(){return e(e.s=932)}),_N_E=e.O()}]);