promptfoo 0.18.2 → 0.18.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +1 -1
- package/dist/src/assertions.d.ts.map +1 -1
- package/dist/src/assertions.js +4 -4
- package/dist/src/assertions.js.map +1 -1
- package/dist/src/cache.d.ts +1 -1
- package/dist/src/cache.d.ts.map +1 -1
- package/dist/src/cache.js +4 -4
- package/dist/src/cache.js.map +1 -1
- package/dist/src/evaluator.d.ts.map +1 -1
- package/dist/src/evaluator.js +3 -2
- package/dist/src/evaluator.js.map +1 -1
- package/dist/src/providers/azureopenai.d.ts.map +1 -1
- package/dist/src/providers/azureopenai.js +3 -3
- package/dist/src/providers/azureopenai.js.map +1 -1
- package/dist/src/providers/llama.js +1 -1
- package/dist/src/providers/llama.js.map +1 -1
- package/dist/src/providers/localai.js +2 -2
- package/dist/src/providers/localai.js.map +1 -1
- package/dist/src/providers/ollama.d.ts +9 -0
- package/dist/src/providers/ollama.d.ts.map +1 -0
- package/dist/src/providers/ollama.js +67 -0
- package/dist/src/providers/ollama.js.map +1 -0
- package/dist/src/providers/openai.js +3 -3
- package/dist/src/providers/openai.js.map +1 -1
- package/dist/src/providers.d.ts.map +1 -1
- package/dist/src/providers.js +5 -0
- package/dist/src/providers.js.map +1 -1
- package/dist/src/util.d.ts +2 -0
- package/dist/src/util.d.ts.map +1 -1
- package/dist/src/util.js +13 -5
- package/dist/src/util.js.map +1 -1
- package/dist/src/web/client/assets/{index-af22e73c.js → index-6d2a3573.js} +1 -1
- package/dist/src/web/client/index.html +1 -1
- package/package.json +1 -1
- package/src/assertions.ts +3 -2
- package/src/cache.ts +3 -2
- package/src/evaluator.ts +3 -1
- package/src/providers/azureopenai.ts +16 -6
- package/src/providers/llama.ts +2 -2
- package/src/providers/localai.ts +3 -3
- package/src/providers/ollama.ts +89 -0
- package/src/providers/openai.ts +4 -4
- package/src/providers.ts +16 -2
- package/src/util.ts +13 -4
- package/src/web/client/src/ResultsView.tsx +1 -1
package/dist/src/providers.js
CHANGED
|
@@ -33,6 +33,7 @@ const anthropic_1 = require("./providers/anthropic");
|
|
|
33
33
|
const replicate_1 = require("./providers/replicate");
|
|
34
34
|
const localai_1 = require("./providers/localai");
|
|
35
35
|
const llama_1 = require("./providers/llama");
|
|
36
|
+
const ollama_1 = require("./providers/ollama");
|
|
36
37
|
const scriptCompletion_1 = require("./providers/scriptCompletion");
|
|
37
38
|
const azureopenai_1 = require("./providers/azureopenai");
|
|
38
39
|
async function loadApiProviders(providerPaths, basePath) {
|
|
@@ -139,6 +140,10 @@ async function loadApiProvider(providerPath, context, basePath) {
|
|
|
139
140
|
const modelName = providerPath.split(':')[1];
|
|
140
141
|
return new llama_1.LlamaProvider(modelName, context?.config);
|
|
141
142
|
}
|
|
143
|
+
else if (providerPath.startsWith('ollama:')) {
|
|
144
|
+
const modelName = providerPath.split(':')[1];
|
|
145
|
+
return new ollama_1.OllamaProvider(modelName);
|
|
146
|
+
}
|
|
142
147
|
else if (providerPath?.startsWith('localai:')) {
|
|
143
148
|
const options = providerPath.split(':');
|
|
144
149
|
const modelType = options[1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"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"}
|
package/dist/src/util.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import nunjucks from 'nunjucks';
|
|
1
2
|
import type { RequestInfo, RequestInit, Response } from 'node-fetch';
|
|
2
3
|
import type { CsvRow, EvaluateSummary, UnifiedConfig, TestCase, Prompt, TestSuite } from './types';
|
|
3
4
|
export declare function readProviderPromptMap(config: Partial<UnifiedConfig>, parsedPrompts: Prompt[]): TestSuite['providerPromptMap'];
|
|
@@ -29,4 +30,5 @@ export declare function readLatestResults(): {
|
|
|
29
30
|
} | undefined;
|
|
30
31
|
export declare function cosineSimilarity(vecA: number[], vecB: number[]): number;
|
|
31
32
|
export declare function testCaseFromCsvRow(row: CsvRow): TestCase;
|
|
33
|
+
export declare function getNunjucksEngine(): typeof nunjucks;
|
|
32
34
|
//# sourceMappingURL=util.d.ts.map
|
package/dist/src/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
|
package/dist/src/util.js
CHANGED
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.testCaseFromCsvRow = exports.cosineSimilarity = exports.readLatestResults = exports.readResult = exports.cleanupOldResults = exports.listPreviousResults = exports.writeLatestResults = exports.getLatestResultsPath = exports.getConfigDirectoryPath = exports.fetchWithRetries = exports.fetchWithTimeout = exports.writeOutput = exports.readTests = exports.readTestsFile = exports.readVarsFiles = exports.fetchCsvFromGoogleSheet = exports.readPrompts = exports.readConfig = exports.maybeReadConfig = exports.maybeRecordFirstRun = exports.readGlobalConfig = exports.resetGlobalConfig = exports.readProviderPromptMap = void 0;
|
|
29
|
+
exports.getNunjucksEngine = exports.testCaseFromCsvRow = exports.cosineSimilarity = exports.readLatestResults = exports.readResult = exports.cleanupOldResults = exports.listPreviousResults = exports.writeLatestResults = exports.getLatestResultsPath = exports.getConfigDirectoryPath = exports.fetchWithRetries = exports.fetchWithTimeout = exports.writeOutput = exports.readTests = exports.readTestsFile = exports.readVarsFiles = exports.fetchCsvFromGoogleSheet = exports.readPrompts = exports.readConfig = exports.maybeReadConfig = exports.maybeRecordFirstRun = exports.readGlobalConfig = exports.resetGlobalConfig = exports.readProviderPromptMap = void 0;
|
|
30
30
|
const fs = __importStar(require("fs"));
|
|
31
31
|
const path = __importStar(require("path"));
|
|
32
32
|
const os = __importStar(require("os"));
|
|
@@ -39,7 +39,6 @@ const path_1 = require("path");
|
|
|
39
39
|
const sync_1 = require("csv-parse/sync");
|
|
40
40
|
const sync_2 = require("csv-stringify/sync");
|
|
41
41
|
const logger_1 = __importDefault(require("./logger"));
|
|
42
|
-
const assertions_1 = require("./assertions");
|
|
43
42
|
const esm_1 = require("./esm");
|
|
44
43
|
function readProviderPromptMap(config, parsedPrompts) {
|
|
45
44
|
const ret = {};
|
|
@@ -345,7 +344,7 @@ function writeOutput(outputPath, results, config, shareableUrl) {
|
|
|
345
344
|
[...results.table.head.prompts, ...results.table.head.vars],
|
|
346
345
|
...results.table.body.map((row) => [...row.outputs.map(outputToSimpleString), ...row.vars]),
|
|
347
346
|
];
|
|
348
|
-
const htmlOutput =
|
|
347
|
+
const htmlOutput = getNunjucksEngine().renderString(template, {
|
|
349
348
|
table,
|
|
350
349
|
results: results.results,
|
|
351
350
|
});
|
|
@@ -414,9 +413,10 @@ function writeLatestResults(results, config) {
|
|
|
414
413
|
config,
|
|
415
414
|
results,
|
|
416
415
|
}, null, 2));
|
|
417
|
-
|
|
416
|
+
try {
|
|
418
417
|
fs.unlinkSync(latestResultsPath);
|
|
419
418
|
}
|
|
419
|
+
catch { }
|
|
420
420
|
fs.symlinkSync(newResultsPath, latestResultsPath);
|
|
421
421
|
cleanupOldResults();
|
|
422
422
|
}
|
|
@@ -476,7 +476,8 @@ function testCaseFromCsvRow(row) {
|
|
|
476
476
|
for (const [key, value] of Object.entries(row)) {
|
|
477
477
|
if (key === '__expected') {
|
|
478
478
|
if (value.trim() !== '') {
|
|
479
|
-
|
|
479
|
+
const { assertionFromString } = require('./assertions');
|
|
480
|
+
asserts.push(assertionFromString(value));
|
|
480
481
|
}
|
|
481
482
|
}
|
|
482
483
|
else {
|
|
@@ -489,4 +490,11 @@ function testCaseFromCsvRow(row) {
|
|
|
489
490
|
};
|
|
490
491
|
}
|
|
491
492
|
exports.testCaseFromCsvRow = testCaseFromCsvRow;
|
|
493
|
+
function getNunjucksEngine() {
|
|
494
|
+
nunjucks_1.default.configure({
|
|
495
|
+
autoescape: false,
|
|
496
|
+
});
|
|
497
|
+
return nunjucks_1.default;
|
|
498
|
+
}
|
|
499
|
+
exports.getNunjucksEngine = getNunjucksEngine;
|
|
492
500
|
//# sourceMappingURL=util.js.map
|
package/dist/src/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
|
|
@@ -197,4 +197,4 @@ Error generating stack: `+i.message+`
|
|
|
197
197
|
* This source code is licensed under the MIT license found in the
|
|
198
198
|
* LICENSE file in the root directory of this source tree.
|
|
199
199
|
*/var Hu=w,rI=nI;function oI(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var iI=typeof Object.is=="function"?Object.is:oI,sI=rI.useSyncExternalStore,lI=Hu.useRef,aI=Hu.useEffect,uI=Hu.useMemo,cI=Hu.useDebugValue;rx.useSyncExternalStoreWithSelector=function(e,t,n,r,o){var i=lI(null);if(i.current===null){var s={hasValue:!1,value:null};i.current=s}else s=i.current;i=uI(function(){function a(h){if(!u){if(u=!0,c=h,h=r(h),o!==void 0&&s.hasValue){var y=s.value;if(o(y,h))return d=y}return d=h}if(y=d,iI(c,h))return y;var m=r(h);return o!==void 0&&o(y,m)?y:(c=h,d=m)}var u=!1,c,d,f=n===void 0?null:n;return[function(){return a(t())},f===null?void 0:function(){return a(f())}]},[t,n,r,o]);var l=sI(e,i[0],i[1]);return aI(function(){s.hasValue=!0,s.value=l},[l]),cI(l),l};nx.exports=rx;var dI=nx.exports;const fI=af(dI),{useSyncExternalStoreWithSelector:pI}=fI;function hI(e,t=e.getState,n){const r=pI(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return w.useDebugValue(r),r}const Dg=e=>{({BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1}&&"production")!=="production"&&typeof e!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const t=typeof e=="function"?GO(e):e,n=(r,o)=>hI(t,r,o);return Object.assign(n,t),n},mI=e=>e?Dg(e):Dg;var gI=e=>(({BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1}&&"production")!=="production"&&console.warn("[DEPRECATED] Default export is deprecated. Instead use `import { create } from 'zustand'`."),mI(e));const Uu=gI(e=>({table:null,setTable:t=>e(()=>({table:t})),config:null,setConfig:t=>e(()=>({config:t}))}));function vI(e){return ue("MuiDialog",e)}const yI=ae("MuiDialog",["root","scrollPaper","scrollBody","container","paper","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","paperFullWidth","paperFullScreen"]),Vc=yI,xI=w.createContext({}),sx=xI,bI=["aria-describedby","aria-labelledby","BackdropComponent","BackdropProps","children","className","disableEscapeKeyDown","fullScreen","fullWidth","maxWidth","onBackdropClick","onClose","open","PaperComponent","PaperProps","scroll","TransitionComponent","transitionDuration","TransitionProps"],SI=H(A1,{name:"MuiDialog",slot:"Backdrop",overrides:(e,t)=>t.backdrop})({zIndex:-1}),wI=e=>{const{classes:t,scroll:n,maxWidth:r,fullWidth:o,fullScreen:i}=e,s={root:["root"],container:["container",`scroll${K(n)}`],paper:["paper",`paperScroll${K(n)}`,`paperWidth${K(String(r))}`,o&&"paperFullWidth",i&&"paperFullScreen"]};return de(s,vI,t)},CI=H(F1,{name:"MuiDialog",slot:"Root",overridesResolver:(e,t)=>t.root})({"@media print":{position:"absolute !important"}}),kI=H("div",{name:"MuiDialog",slot:"Container",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.container,t[`scroll${K(n.scroll)}`]]}})(({ownerState:e})=>S({height:"100%","@media print":{height:"auto"},outline:0},e.scroll==="paper"&&{display:"flex",justifyContent:"center",alignItems:"center"},e.scroll==="body"&&{overflowY:"auto",overflowX:"hidden",textAlign:"center","&:after":{content:'""',display:"inline-block",verticalAlign:"middle",height:"100%",width:"0"}})),RI=H(Vu,{name:"MuiDialog",slot:"Paper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.paper,t[`scrollPaper${K(n.scroll)}`],t[`paperWidth${K(String(n.maxWidth))}`],n.fullWidth&&t.paperFullWidth,n.fullScreen&&t.paperFullScreen]}})(({theme:e,ownerState:t})=>S({margin:32,position:"relative",overflowY:"auto","@media print":{overflowY:"visible",boxShadow:"none"}},t.scroll==="paper"&&{display:"flex",flexDirection:"column",maxHeight:"calc(100% - 64px)"},t.scroll==="body"&&{display:"inline-block",verticalAlign:"middle",textAlign:"left"},!t.maxWidth&&{maxWidth:"calc(100% - 64px)"},t.maxWidth==="xs"&&{maxWidth:e.breakpoints.unit==="px"?Math.max(e.breakpoints.values.xs,444):`${e.breakpoints.values.xs}${e.breakpoints.unit}`,[`&.${Vc.paperScrollBody}`]:{[e.breakpoints.down(Math.max(e.breakpoints.values.xs,444)+32*2)]:{maxWidth:"calc(100% - 64px)"}}},t.maxWidth&&t.maxWidth!=="xs"&&{maxWidth:`${e.breakpoints.values[t.maxWidth]}${e.breakpoints.unit}`,[`&.${Vc.paperScrollBody}`]:{[e.breakpoints.down(e.breakpoints.values[t.maxWidth]+32*2)]:{maxWidth:"calc(100% - 64px)"}}},t.fullWidth&&{width:"calc(100% - 64px)"},t.fullScreen&&{margin:0,width:"100%",maxWidth:"100%",height:"100%",maxHeight:"none",borderRadius:0,[`&.${Vc.paperScrollBody}`]:{margin:0,maxWidth:"100%"}})),$I=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiDialog"}),o=ui(),i={enter:o.transitions.duration.enteringScreen,exit:o.transitions.duration.leavingScreen},{"aria-describedby":s,"aria-labelledby":l,BackdropComponent:a,BackdropProps:u,children:c,className:d,disableEscapeKeyDown:f=!1,fullScreen:h=!1,fullWidth:y=!1,maxWidth:m="sm",onBackdropClick:k,onClose:g,open:p,PaperComponent:v=Vu,PaperProps:x={},scroll:C="paper",TransitionComponent:R=I1,transitionDuration:$=i,TransitionProps:E}=r,_=q(r,bI),P=S({},r,{disableEscapeKeyDown:f,fullScreen:h,fullWidth:y,maxWidth:m,scroll:C}),I=wI(P),j=w.useRef(),D=N=>{j.current=N.target===N.currentTarget},A=N=>{j.current&&(j.current=null,k&&k(N),g&&g(N,"backdropClick"))},T=Ka(l),O=w.useMemo(()=>({titleId:T}),[T]);return b.jsx(CI,S({className:Q(I.root,d),closeAfterTransition:!0,components:{Backdrop:SI},componentsProps:{backdrop:S({transitionDuration:$,as:a},u)},disableEscapeKeyDown:f,onClose:g,open:p,ref:n,onClick:A,ownerState:P},_,{children:b.jsx(R,S({appear:!0,in:p,timeout:$,role:"presentation"},E,{children:b.jsx(kI,{className:Q(I.container),onMouseDown:D,ownerState:P,children:b.jsx(RI,S({as:v,elevation:24,role:"dialog","aria-describedby":s,"aria-labelledby":T},x,{className:Q(I.paper,x.className),ownerState:P,children:b.jsx(sx.Provider,{value:O,children:c})}))})}))}))}),qp=$I;function EI(e){return ue("MuiDialogActions",e)}ae("MuiDialogActions",["root","spacing"]);const PI=["className","disableSpacing"],_I=e=>{const{classes:t,disableSpacing:n}=e;return de({root:["root",!n&&"spacing"]},EI,t)},TI=H("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disableSpacing&&t.spacing]}})(({ownerState:e})=>S({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!e.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})),MI=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiDialogActions"}),{className:o,disableSpacing:i=!1}=r,s=q(r,PI),l=S({},r,{disableSpacing:i}),a=_I(l);return b.jsx(TI,S({className:Q(a.root,o),ownerState:l,ref:n},s))}),Yp=MI;function OI(e){return ue("MuiDialogContent",e)}ae("MuiDialogContent",["root","dividers"]);function II(e){return ue("MuiDialogTitle",e)}const AI=ae("MuiDialogTitle",["root"]),FI=AI,LI=["className","dividers"],NI=e=>{const{classes:t,dividers:n}=e;return de({root:["root",n&&"dividers"]},OI,t)},zI=H("div",{name:"MuiDialogContent",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.dividers&&t.dividers]}})(({theme:e,ownerState:t})=>S({flex:"1 1 auto",WebkitOverflowScrolling:"touch",overflowY:"auto",padding:"20px 24px"},t.dividers?{padding:"16px 24px",borderTop:`1px solid ${(e.vars||e).palette.divider}`,borderBottom:`1px solid ${(e.vars||e).palette.divider}`}:{[`.${FI.root} + &`]:{paddingTop:0}})),DI=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiDialogContent"}),{className:o,dividers:i=!1}=r,s=q(r,LI),l=S({},r,{dividers:i}),a=NI(l);return b.jsx(zI,S({className:Q(a.root,o),ownerState:l,ref:n},s))}),Xp=DI,jI=["className","id"],BI=e=>{const{classes:t}=e;return de({root:["root"]},II,t)},VI=H(Pt,{name:"MuiDialogTitle",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:"16px 24px",flex:"0 0 auto"}),HI=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiDialogTitle"}),{className:o,id:i}=r,s=q(r,jI),l=r,a=BI(l),{titleId:u=i}=w.useContext(sx);return b.jsx(VI,S({component:"h2",className:Q(a.root,o),ownerState:l,ref:n,variant:"h6",id:i??u},s))}),Qp=HI;function UI(e){return ue("MuiIconButton",e)}const WI=ae("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge"]),GI=WI,KI=["edge","children","className","color","disabled","disableFocusRipple","size"],qI=e=>{const{classes:t,disabled:n,color:r,edge:o,size:i}=e,s={root:["root",n&&"disabled",r!=="default"&&`color${K(r)}`,o&&`edge${K(o)}`,`size${K(i)}`]};return de(s,UI,t)},YI=H($u,{name:"MuiIconButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="default"&&t[`color${K(n.color)}`],n.edge&&t[`edge${K(n.edge)}`],t[`size${K(n.size)}`]]}})(({theme:e,ownerState:t})=>S({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})`:Xe(e.palette.action.active,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},t.edge==="start"&&{marginLeft:t.size==="small"?-3:-12},t.edge==="end"&&{marginRight:t.size==="small"?-3:-12}),({theme:e,ownerState:t})=>{var n;const r=(n=(e.vars||e).palette)==null?void 0:n[t.color];return S({},t.color==="inherit"&&{color:"inherit"},t.color!=="inherit"&&t.color!=="default"&&S({color:r==null?void 0:r.main},!t.disableRipple&&{"&:hover":S({},r&&{backgroundColor:e.vars?`rgba(${r.mainChannel} / ${e.vars.palette.action.hoverOpacity})`:Xe(r.main,e.palette.action.hoverOpacity)},{"@media (hover: none)":{backgroundColor:"transparent"}})}),t.size==="small"&&{padding:5,fontSize:e.typography.pxToRem(18)},t.size==="large"&&{padding:12,fontSize:e.typography.pxToRem(28)},{[`&.${GI.disabled}`]:{backgroundColor:"transparent",color:(e.vars||e).palette.action.disabled}})}),XI=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiIconButton"}),{edge:o=!1,children:i,className:s,color:l="default",disabled:a=!1,disableFocusRipple:u=!1,size:c="medium"}=r,d=q(r,KI),f=S({},r,{edge:o,color:l,disabled:a,disableFocusRipple:u,size:c}),h=qI(f);return b.jsx(YI,S({className:Q(h.root,s),centerRipple:!0,focusRipple:!u,disabled:a,ref:n,ownerState:f},d,{children:i}))}),Zp=XI;var Jp={},QI=io;Object.defineProperty(Jp,"__esModule",{value:!0});var lx=Jp.default=void 0,ZI=QI(so()),JI=b,eA=(0,ZI.default)((0,JI.jsx)("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"}),"ContentCopy");lx=Jp.default=eA;var eh={},tA=io;Object.defineProperty(eh,"__esModule",{value:!0});var th=eh.default=void 0,nA=tA(so()),rA=b,oA=(0,nA.default)((0,rA.jsx)("path",{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check");th=eh.default=oA;const iA=w.createContext(),ax=iA;function sA(e){return ue("MuiTable",e)}ae("MuiTable",["root","stickyHeader"]);const lA=["className","component","padding","size","stickyHeader"],aA=e=>{const{classes:t,stickyHeader:n}=e;return de({root:["root",n&&"stickyHeader"]},sA,t)},uA=H("table",{name:"MuiTable",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.stickyHeader&&t.stickyHeader]}})(({theme:e,ownerState:t})=>S({display:"table",width:"100%",borderCollapse:"collapse",borderSpacing:0,"& caption":S({},e.typography.body2,{padding:e.spacing(2),color:(e.vars||e).palette.text.secondary,textAlign:"left",captionSide:"bottom"})},t.stickyHeader&&{borderCollapse:"separate"})),jg="table",cA=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiTable"}),{className:o,component:i=jg,padding:s="normal",size:l="medium",stickyHeader:a=!1}=r,u=q(r,lA),c=S({},r,{component:i,padding:s,size:l,stickyHeader:a}),d=aA(c),f=w.useMemo(()=>({padding:s,size:l,stickyHeader:a}),[s,l,a]);return b.jsx(ax.Provider,{value:f,children:b.jsx(uA,S({as:i,role:i===jg?null:"table",ref:n,className:Q(d.root,o),ownerState:c},u))})}),dA=cA,fA=w.createContext(),Wu=fA;function pA(e){return ue("MuiTableBody",e)}ae("MuiTableBody",["root"]);const hA=["className","component"],mA=e=>{const{classes:t}=e;return de({root:["root"]},pA,t)},gA=H("tbody",{name:"MuiTableBody",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"table-row-group"}),vA={variant:"body"},Bg="tbody",yA=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiTableBody"}),{className:o,component:i=Bg}=r,s=q(r,hA),l=S({},r,{component:i}),a=mA(l);return b.jsx(Wu.Provider,{value:vA,children:b.jsx(gA,S({className:Q(a.root,o),as:i,ref:n,role:i===Bg?null:"rowgroup",ownerState:l},s))})}),xA=yA;function bA(e){return ue("MuiTableCell",e)}const SA=ae("MuiTableCell",["root","head","body","footer","sizeSmall","sizeMedium","paddingCheckbox","paddingNone","alignLeft","alignCenter","alignRight","alignJustify","stickyHeader"]),wA=SA,CA=["align","className","component","padding","scope","size","sortDirection","variant"],kA=e=>{const{classes:t,variant:n,align:r,padding:o,size:i,stickyHeader:s}=e,l={root:["root",n,s&&"stickyHeader",r!=="inherit"&&`align${K(r)}`,o!=="normal"&&`padding${K(o)}`,`size${K(i)}`]};return de(l,bA,t)},RA=H("td",{name:"MuiTableCell",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`size${K(n.size)}`],n.padding!=="normal"&&t[`padding${K(n.padding)}`],n.align!=="inherit"&&t[`align${K(n.align)}`],n.stickyHeader&&t.stickyHeader]}})(({theme:e,ownerState:t})=>S({},e.typography.body2,{display:"table-cell",verticalAlign:"inherit",borderBottom:e.vars?`1px solid ${e.vars.palette.TableCell.border}`:`1px solid
|
|
200
|
-
${e.palette.mode==="light"?wp(Xe(e.palette.divider,1),.88):Sp(Xe(e.palette.divider,1),.68)}`,textAlign:"left",padding:16},t.variant==="head"&&{color:(e.vars||e).palette.text.primary,lineHeight:e.typography.pxToRem(24),fontWeight:e.typography.fontWeightMedium},t.variant==="body"&&{color:(e.vars||e).palette.text.primary},t.variant==="footer"&&{color:(e.vars||e).palette.text.secondary,lineHeight:e.typography.pxToRem(21),fontSize:e.typography.pxToRem(12)},t.size==="small"&&{padding:"6px 16px",[`&.${wA.paddingCheckbox}`]:{width:24,padding:"0 12px 0 16px","& > *":{padding:0}}},t.padding==="checkbox"&&{width:48,padding:"0 0 0 4px"},t.padding==="none"&&{padding:0},t.align==="left"&&{textAlign:"left"},t.align==="center"&&{textAlign:"center"},t.align==="right"&&{textAlign:"right",flexDirection:"row-reverse"},t.align==="justify"&&{textAlign:"justify"},t.stickyHeader&&{position:"sticky",top:0,zIndex:2,backgroundColor:(e.vars||e).palette.background.default})),$A=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiTableCell"}),{align:o="inherit",className:i,component:s,padding:l,scope:a,size:u,sortDirection:c,variant:d}=r,f=q(r,CA),h=w.useContext(ax),y=w.useContext(Wu),m=y&&y.variant==="head";let k;s?k=s:k=m?"th":"td";let g=a;k==="td"?g=void 0:!g&&m&&(g="col");const p=d||y&&y.variant,v=S({},r,{align:o,component:k,padding:l||(h&&h.padding?h.padding:"normal"),size:u||(h&&h.size?h.size:"medium"),sortDirection:c,stickyHeader:p==="head"&&h&&h.stickyHeader,variant:p}),x=kA(v);let C=null;return c&&(C=c==="asc"?"ascending":"descending"),b.jsx(RA,S({as:k,ref:n,className:Q(x.root,i),"aria-sort":C,scope:g,ownerState:v},f))}),En=$A;function EA(e){return ue("MuiTableContainer",e)}ae("MuiTableContainer",["root"]);const PA=["className","component"],_A=e=>{const{classes:t}=e;return de({root:["root"]},EA,t)},TA=H("div",{name:"MuiTableContainer",slot:"Root",overridesResolver:(e,t)=>t.root})({width:"100%",overflowX:"auto"}),MA=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiTableContainer"}),{className:o,component:i="div"}=r,s=q(r,PA),l=S({},r,{component:i}),a=_A(l);return b.jsx(TA,S({ref:n,as:i,className:Q(a.root,o),ownerState:l},s))}),OA=MA;function IA(e){return ue("MuiTableHead",e)}ae("MuiTableHead",["root"]);const AA=["className","component"],FA=e=>{const{classes:t}=e;return de({root:["root"]},IA,t)},LA=H("thead",{name:"MuiTableHead",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"table-header-group"}),NA={variant:"head"},Vg="thead",zA=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiTableHead"}),{className:o,component:i=Vg}=r,s=q(r,AA),l=S({},r,{component:i}),a=FA(l);return b.jsx(Wu.Provider,{value:NA,children:b.jsx(LA,S({as:i,className:Q(a.root,o),ref:n,role:i===Vg?null:"rowgroup",ownerState:l},s))})}),DA=zA;function jA(e){return ue("MuiTableRow",e)}const BA=ae("MuiTableRow",["root","selected","hover","head","footer"]),Hg=BA,VA=["className","component","hover","selected"],HA=e=>{const{classes:t,selected:n,hover:r,head:o,footer:i}=e;return de({root:["root",n&&"selected",r&&"hover",o&&"head",i&&"footer"]},jA,t)},UA=H("tr",{name:"MuiTableRow",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.head&&t.head,n.footer&&t.footer]}})(({theme:e})=>({color:"inherit",display:"table-row",verticalAlign:"middle",outline:0,[`&.${Hg.hover}:hover`]:{backgroundColor:(e.vars||e).palette.action.hover},[`&.${Hg.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:Xe(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:Xe(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity)}}})),Ug="tr",WA=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiTableRow"}),{className:o,component:i=Ug,hover:s=!1,selected:l=!1}=r,a=q(r,VA),u=w.useContext(Wu),c=S({},r,{component:i,hover:s,selected:l,head:u&&u.variant==="head",footer:u&&u.variant==="footer"}),d=HA(c);return b.jsx(UA,S({as:i,ref:n,className:Q(d.root,o),role:i===Ug?null:"row",ownerState:c},a))}),Wg=WA;function GA({gradingResults:e}){return e?b.jsxs(jt,{mt:2,children:[b.jsx(Pt,{variant:"subtitle1",children:"Assertions"}),b.jsx(OA,{children:b.jsxs(dA,{children:[b.jsx(DA,{children:b.jsxs(Wg,{children:[b.jsx(En,{style:{fontWeight:"bold"},children:"Pass"}),b.jsx(En,{style:{fontWeight:"bold"},children:"Score"}),b.jsx(En,{style:{fontWeight:"bold"},children:"Type"}),b.jsx(En,{style:{fontWeight:"bold"},children:"Value"}),b.jsx(En,{style:{fontWeight:"bold"},children:"Reason"})]})}),b.jsx(xA,{children:e.map((t,n)=>{var r,o;return b.jsxs(Wg,{children:[b.jsx(En,{children:t.pass?"✅":"❌"}),b.jsx(En,{children:t.score}),b.jsx(En,{children:((r=t.assertion)==null?void 0:r.type)||""}),b.jsx(En,{children:(o=t.assertion)!=null&&o.value?String(t.assertion.value):"-"}),b.jsx(En,{children:t.reason})]},n)})})]})})]}):null}function ux({open:e,onClose:t,prompt:n,output:r,gradingResults:o}){const[i,s]=w.useState(!1);w.useEffect(()=>{s(!1)},[n]);const l=async a=>{await navigator.clipboard.writeText(a),s(!0)};return b.jsxs(qp,{open:e,onClose:t,fullWidth:!0,maxWidth:"lg",children:[b.jsx(Qp,{children:"Details"}),b.jsxs(Xp,{children:[b.jsxs(jt,{mb:2,children:[b.jsx(Pt,{variant:"subtitle1",style:{marginBottom:"1rem"},children:"Prompt"}),b.jsx(Xd,{readOnly:!0,value:n,style:{width:"100%",padding:"0.75rem"},maxRows:20}),b.jsx(Zp,{onClick:()=>l(n),style:{position:"absolute",right:"10px",top:"10px"},children:i?b.jsx(th,{}):b.jsx(lx,{})})]}),r&&b.jsxs(jt,{my:2,children:[b.jsx(Pt,{variant:"subtitle1",style:{marginBottom:"1rem",marginTop:"1rem"},children:"Output"}),b.jsx(Xd,{readOnly:!0,maxRows:20,value:r,style:{width:"100%",padding:"0.75rem"}})]}),b.jsx(GA,{gradingResults:o})]}),b.jsx(Yp,{children:b.jsx(Ts,{onClick:t,children:"Close"})})]})}function KA(e){if(typeof e=="string"){const t=e.startsWith("[PASS]");let n=e;return(e.startsWith("[PASS]")||e.startsWith("[FAIL]"))&&(n=n.slice(6)),{text:n,pass:t,score:t?1:0}}return e}function Gg(e){return e===0||e===1?"":`(${e.toFixed(2)})`}function nh({text:e,maxLength:t}){const[n,r]=w.useState(!0);let o=typeof e=="string"?e:JSON.stringify(e);o=o.replace(/\n/g,"<br>");const i=()=>{r(!n)};return(()=>o.length<=t?b.jsx("span",{dangerouslySetInnerHTML:{__html:o}}):n?b.jsxs("span",{style:{cursor:"pointer"},onClick:i,children:[b.jsx("span",{dangerouslySetInnerHTML:{__html:o.substring(0,t)}})," ..."]}):b.jsx("span",{style:{cursor:"pointer"},onClick:i,children:b.jsx("span",{dangerouslySetInnerHTML:{__html:o}})}))()}function qA({output:e,maxTextLength:t,rowIndex:n,promptIndex:r,onRating:o}){var f,h,y;const[i,s]=w.useState(!1),l=()=>{s(!0)},a=()=>{s(!1)};let u=typeof e.text=="string"?e.text:JSON.stringify(e.text),c=[];!e.pass&&u.includes("---")&&(c=u.split("---"),u=c.slice(1).join("---"));const d=m=>{o(n,r,m)};return b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"cell",children:[e.pass&&b.jsxs("div",{className:"status pass",children:["PASS ",b.jsx("span",{className:"score",children:Gg(e.score)})]}),!e.pass&&b.jsxs("div",{className:"status fail",children:["[FAIL",b.jsx("span",{className:"score",children:Gg(e.score)}),"] ",c[0]]})," ",b.jsx(nh,{text:u,maxLength:t})]}),b.jsx("div",{className:"cell-detail",children:(f=e.tokenUsage)!=null&&f.cached?b.jsxs("span",{children:[e.tokenUsage.cached," tokens (cached)"]}):b.jsxs(b.Fragment,{children:[((h=e.tokenUsage)==null?void 0:h.total)&&b.jsxs("span",{children:[e.tokenUsage.total," tokens"]})," |"," ",b.jsxs("span",{children:[e.latencyMs," ms"]})]})}),b.jsxs("div",{className:"cell-actions",children:[e.prompt&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"action",onClick:l,children:"🔎"}),b.jsx(ux,{open:i,onClose:a,prompt:e.prompt,gradingResults:(y=e.gradingResult)==null?void 0:y.componentResults,output:u})]}),b.jsx("span",{className:"action",onClick:()=>d(!0),children:"👍"}),b.jsx("span",{className:"action",onClick:()=>d(!1),children:"👎"})]})]})}function Kg({text:e,maxLength:t,smallText:n,expandedText:r}){const[o,i]=w.useState(!1),s=()=>{i(!0)},l=()=>{i(!1)};return b.jsxs("div",{children:[b.jsx(nh,{text:e,maxLength:t}),r&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"action",onClick:s,children:"🔎"}),b.jsx(ux,{open:o,onClose:l,prompt:r})]}),b.jsx("div",{className:"smalltext",children:n})]})}function YA({maxTextLength:e,columnVisibility:t,wordBreak:n,filterMode:r,failureFilter:o,onFailureFilterToggle:i}){const{table:s,setTable:l}=Uu();a1(s,"Table should be defined");const{head:a,body:u}=s,c=a.prompts.map((x,C)=>u.reduce((R,$)=>R+($.outputs[C].pass?1:0),0)),d=a.prompts.map((x,C)=>u.reduce((R,$)=>{var E,_;return R+(((_=(E=$.outputs[C].gradingResult)==null?void 0:E.componentResults)==null?void 0:_.length)||0)},0)),f=a.prompts.map((x,C)=>u.reduce((R,$)=>{var _;const E=(_=$.outputs[C].gradingResult)==null?void 0:_.componentResults;return R+(E?E.filter(P=>P.pass).length:0)},0)),h=(x,C,R)=>{const $=[...u],E={...$[x]},_=[...E.outputs];_[C].pass=R,_[C].score=R?1:0,E.outputs=_,$[x]=E,l({head:a,body:$})},y=c.reduce((x,C,R,$)=>C>$[x]?R:x,0),m=c[y],k=jO(),g=[k.group({id:"vars",header:()=>b.jsx("span",{children:"Variables"}),columns:a.vars.map((x,C)=>k.accessor(R=>R.vars[C],{id:`Variable ${C+1}`,header:()=>b.jsx(Kg,{smallText:`Variable ${C+1}`,text:x,maxLength:e}),cell:R=>b.jsx(nh,{text:R.getValue(),maxLength:e}),size:50}))}),k.group({id:"prompts",header:()=>b.jsx("span",{children:"Outputs"}),columns:a.prompts.map((x,C)=>k.accessor(R=>KA(R.outputs[C]),{id:`Prompt ${C+1}`,header:()=>{const R=(c[C]/u.length*100).toFixed(2),$=c[C]===m&&m!==0,E=`Prompt ${C+1}`,_=o[E]||!1;return b.jsxs(b.Fragment,{children:[b.jsx(Kg,{smallText:`Prompt ${C+1}`,text:typeof x=="string"?x:x.display,expandedText:typeof x=="string"?void 0:x.raw,maxLength:e}),r==="failures"&&b.jsx(E1,{sx:{"& .MuiFormControlLabel-label":{fontSize:"0.75rem"}},control:b.jsx(ef,{checked:_,onChange:P=>i(E,P.target.checked)}),label:"Show failures"}),b.jsxs("div",{className:`summary ${$?"highlight":""}`,children:["Passing: ",b.jsxs("strong",{children:[R,"%"]})," (",c[C],"/",u.length," cases",d[C]?b.jsxs("span",{children:[", ",f[C],"/",d[C]," asserts"]}):null,")"]})]})},cell:R=>b.jsx(qA,{output:R.getValue(),maxTextLength:e,rowIndex:R.row.index,promptIndex:C,onRating:h})}))})],p=w.useMemo(()=>r==="failures"?Object.values(o).every(x=>!x)?u:u.filter(x=>x.outputs.some((C,R)=>{const $=`Prompt ${R+1}`,E=!C.pass;return o[$]&&E})):r==="different"?u.filter(x=>!x.outputs.every(C=>C.text===x.outputs[0].text)):u,[u,o,r]),v=WO({data:p,columns:g,columnResizeMode:"onChange",getCoreRowModel:BO(),state:{columnVisibility:t}});return b.jsxs("table",{style:{wordBreak:n},children:[b.jsx("thead",{children:v.getHeaderGroups().map(x=>b.jsx("tr",{className:"header",children:x.headers.map(C=>b.jsxs("th",{key:C.id,colSpan:C.colSpan,style:{width:C.getSize()},children:[C.isPlaceholder?null:Ng(C.column.columnDef.header,C.getContext()),b.jsx("div",{onMouseDown:C.getResizeHandler(),onTouchStart:C.getResizeHandler(),className:`resizer ${C.column.getIsResizing()?"isResizing":""}`})]}))},x.id))}),b.jsx("tbody",{children:v.getRowModel().rows.map((x,C)=>{let R=!1;return b.jsx("tr",{children:x.getVisibleCells().map($=>{const E=$.column.id.startsWith("Variable"),_=!E&&!R;_&&(R=!0);const P=C===0&&!E;return b.jsx("td",{key:$.id,style:{width:$.column.getSize()},className:`${E?"variable":""} ${P?"first-prompt-row":""} ${_?"first-prompt-col":""}`,children:Ng($.column.columnDef.cell,$.getContext())})})},x.id)})})]})}const XA="modulepreload",QA=function(e){return"/"+e},qg={},ZA=function(t,n,r){if(!n||n.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(n.map(i=>{if(i=QA(i),i in qg)return;qg[i]=!0;const s=i.endsWith(".css"),l=s?'[rel="stylesheet"]':"";if(!!r)for(let c=o.length-1;c>=0;c--){const d=o[c];if(d.href===i&&(!s||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${l}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":XA,s||(u.as="script",u.crossOrigin=""),u.href=i,document.head.appendChild(u),s)return new Promise((c,d)=>{u.addEventListener("load",c),u.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t())};function JA(e){return ue("MuiDialogContentText",e)}ae("MuiDialogContentText",["root"]);const eF=["children","className"],tF=e=>{const{classes:t}=e,r=de({root:["root"]},JA,t);return S({},t,r)},nF=H(Pt,{shouldForwardProp:e=>cn(e)||e==="classes",name:"MuiDialogContentText",slot:"Root",overridesResolver:(e,t)=>t.root})({}),rF=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiDialogContentText"}),{className:o}=r,i=q(r,eF),s=tF(i);return b.jsx(nF,S({component:"p",variant:"body1",color:"text.secondary",ref:n,ownerState:i,className:Q(s.root,o)},r,{classes:s}))}),oF=rF;function iF(e){return ue("MuiFormHelperText",e)}const sF=ae("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]),Yg=sF;var Xg;const lF=["children","className","component","disabled","error","filled","focused","margin","required","variant"],aF=e=>{const{classes:t,contained:n,size:r,disabled:o,error:i,filled:s,focused:l,required:a}=e,u={root:["root",o&&"disabled",i&&"error",r&&`size${K(r)}`,n&&"contained",l&&"focused",s&&"filled",a&&"required"]};return de(u,iF,t)},uF=H("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.size&&t[`size${K(n.size)}`],n.contained&&t.contained,n.filled&&t.filled]}})(({theme:e,ownerState:t})=>S({color:(e.vars||e).palette.text.secondary},e.typography.caption,{textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0,[`&.${Yg.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${Yg.error}`]:{color:(e.vars||e).palette.error.main}},t.size==="small"&&{marginTop:4},t.contained&&{marginLeft:14,marginRight:14})),cF=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiFormHelperText"}),{children:o,className:i,component:s="p"}=r,l=q(r,lF),a=Tr(),u=oo({props:r,muiFormControl:a,states:["variant","size","disabled","error","filled","focused","required"]}),c=S({},r,{component:s,contained:u.variant==="filled"||u.variant==="outlined",variant:u.variant,size:u.size,disabled:u.disabled,error:u.error,filled:u.filled,focused:u.focused,required:u.required}),d=aF(c);return b.jsx(uF,S({as:s,ownerState:c,className:Q(d.root,i),ref:n},l,{children:o===" "?Xg||(Xg=b.jsx("span",{className:"notranslate",children:""})):o}))}),dF=cF;function fF(e){return ue("MuiTextField",e)}ae("MuiTextField",["root"]);const pF=["autoComplete","autoFocus","children","className","color","defaultValue","disabled","error","FormHelperTextProps","fullWidth","helperText","id","InputLabelProps","inputProps","InputProps","inputRef","label","maxRows","minRows","multiline","name","onBlur","onChange","onClick","onFocus","placeholder","required","rows","select","SelectProps","type","value","variant"],hF={standard:D1,filled:B1,outlined:zp},mF=e=>{const{classes:t}=e;return de({root:["root"]},fF,t)},gF=H(Wl,{name:"MuiTextField",slot:"Root",overridesResolver:(e,t)=>t.root})({}),vF=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiTextField"}),{autoComplete:o,autoFocus:i=!1,children:s,className:l,color:a="primary",defaultValue:u,disabled:c=!1,error:d=!1,FormHelperTextProps:f,fullWidth:h=!1,helperText:y,id:m,InputLabelProps:k,inputProps:g,InputProps:p,inputRef:v,label:x,maxRows:C,minRows:R,multiline:$=!1,name:E,onBlur:_,onChange:P,onClick:I,onFocus:j,placeholder:D,required:A=!1,rows:T,select:O=!1,SelectProps:N,type:M,value:L,variant:F="outlined"}=r,X=q(r,pF),G=S({},r,{autoFocus:i,color:a,disabled:c,error:d,fullWidth:h,multiline:$,required:A,select:O,variant:F}),oe=mF(G),te={};F==="outlined"&&(k&&typeof k.shrink<"u"&&(te.notched=k.shrink),te.label=x),O&&((!N||!N.native)&&(te.id=void 0),te["aria-describedby"]=void 0);const Z=Ka(m),se=y&&Z?`${Z}-helper-text`:void 0,Ce=x&&Z?`${Z}-label`:void 0,be=hF[F],ce=b.jsx(be,S({"aria-describedby":se,autoComplete:o,autoFocus:i,defaultValue:u,fullWidth:h,multiline:$,name:E,rows:T,maxRows:C,minRows:R,type:M,value:L,id:Z,inputRef:v,onBlur:_,onChange:P,onFocus:j,onClick:I,placeholder:D,inputProps:g},te,p));return b.jsxs(gF,S({className:Q(oe.root,l),disabled:c,error:d,fullWidth:h,ref:n,required:A,color:a,variant:F,ownerState:G},X,{children:[x!=null&&x!==""&&b.jsx(Gl,S({htmlFor:Z,id:Ce},k,{children:x})),O?b.jsx(Kl,S({"aria-describedby":se,id:Z,labelId:Ce,value:L,input:ce},N,{children:s})):ce,y&&b.jsx(dF,S({id:se},f,{children:y}))]}))}),yF=vF,xF=ro(b.jsx("path",{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check"),bF=ro(b.jsx("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm-1 4 6 6v10c0 1.1-.9 2-2 2H7.99C6.89 23 6 22.1 6 21l.01-14c0-1.1.89-2 1.99-2h7zm-1 7h5.5L14 6.5V12z"}),"FileCopy");function SF({open:e,onClose:t}){const{config:n}=Uu(),r=wt.useRef(null),[o,i]=wt.useState(!1),[s,l]=wt.useState("");wt.useEffect(()=>{e&&(async()=>{const{default:c}=await ZA(()=>import("./js-yaml-8bbf9398.js"),[]);l(c.dump(n))})()},[e,n]);const a=()=>{r.current&&(r.current.select(),document.execCommand("copy"),i(!0))},u=()=>{i(!1),t()};return b.jsxs(qp,{open:e,onClose:u,"aria-labelledby":"config-dialog-title",maxWidth:"md",fullWidth:!0,children:[b.jsx(Qp,{id:"config-dialog-title",children:b.jsxs(jt,{display:"flex",justifyContent:"space-between",alignItems:"center",children:[b.jsx(Pt,{variant:"h6",children:"Config"}),b.jsx(Zp,{onClick:a,children:o?b.jsx(xF,{}):b.jsx(bF,{})})]})}),b.jsx(Xp,{children:b.jsx(Pt,{variant:"body1",component:"div",children:b.jsx("textarea",{ref:r,readOnly:!0,value:s,style:{width:"100%",minHeight:"400px",fontFamily:"monospace",border:"1px solid #ccc"}})})}),b.jsx(Yp,{children:b.jsx(Ts,{onClick:u,color:"primary",children:"Close"})})]})}var rh={},wF=io;Object.defineProperty(rh,"__esModule",{value:!0});var cx=rh.default=void 0,CF=wF(so()),kF=b,RF=(0,CF.default)((0,kF.jsx)("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm-1 4 6 6v10c0 1.1-.9 2-2 2H7.99C6.89 23 6 22.1 6 21l.01-14c0-1.1.89-2 1.99-2h7zm-1 7h5.5L14 6.5V12z"}),"FileCopy");cx=rh.default=RF;const $F=({open:e,onClose:t,shareUrl:n})=>{const r=w.useRef(null),[o,i]=w.useState(!1),s=()=>{r.current&&(r.current.select(),document.execCommand("copy"),i(!0))},l=()=>{t(),i(!1)};return b.jsxs(qp,{open:e,onClose:l,PaperProps:{style:{minWidth:"min(660px, 100%)"}},children:[b.jsx(Qp,{children:"Your eval is ready to share"}),b.jsxs(Xp,{children:[b.jsx(yF,{inputRef:r,value:n,fullWidth:!0,InputProps:{readOnly:!0,endAdornment:b.jsx(Zp,{onClick:s,children:o?b.jsx(th,{}):b.jsx(cx,{})})}}),b.jsx(oF,{sx:{fontSize:"0.75rem"},children:"Shared URLs are deleted after 1 week."})]}),b.jsx(Yp,{children:b.jsx(Ts,{onClick:l,color:"primary",children:"Close"})})]})},Qg=jy(LM)(({theme:e})=>({maxWidth:"100%",flexWrap:"wrap",[e.breakpoints.down("sm")]:{flexDirection:"column"}}));function EF(e){const n=e.slice(5,e.length-5).split("T"),r=n[1].replace(/-/g,":"),o=`${n[0]}T${r}`;return new Date(o).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:"short"})}function PF({recentFiles:e,onRecentFileSelected:t}){const{table:n,config:r}=Uu(),[o,i]=w.useState(250),[s,l]=w.useState({}),[a,u]=w.useState([]),[c,d]=w.useState({}),f=(T,O)=>{d(N=>({...N,[T]:O}))},[h,y]=w.useState("all"),m=T=>{const O=T.target.value;y(O);const N={};j.prompts.forEach((M,L)=>{const F=`Prompt ${L+1}`;N[F]=O==="failures"}),d(N)},[k,g]=w.useState("break-all"),p=T=>{g(T.target.checked?"break-all":"break-word")},[v,x]=w.useState(!1),[C,R]=w.useState(""),[$,E]=w.useState(!1),_=async()=>{E(!0);try{const T=await fetch("https://api.promptfoo.dev/eval",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({data:{version:1,results:{table:n},config:r}})}),{id:O}=await T.json(),N=`https://app.promptfoo.dev/eval/${O}`;R(N),x(!0)}catch{alert("Sorry, something went wrong.")}finally{E(!1)}},[P,I]=w.useState(!1);a1(n,"Table data must be loaded before rendering ResultsView");const{head:j}=n,D=T=>{const{target:{value:O}}=T;u(typeof O=="string"?O.split(","):O);const N=[...j.vars.map((L,F)=>`Variable ${F+1}`),...j.prompts.map((L,F)=>`Prompt ${F+1}`)],M={};N.forEach(L=>{M[L]=(typeof O=="string"?O.split(","):O).includes(L)}),l(M)},A=[...j.vars.map((T,O)=>({value:`Variable ${O+1}`,label:`Variable ${O+1}`,group:"Variables"})),...j.prompts.map((T,O)=>({value:`Prompt ${O+1}`,label:`Prompt ${O+1}`,group:"Prompts"}))];return w.useEffect(()=>{u([...j.vars.map((T,O)=>`Variable ${O+1}`),...j.prompts.map((T,O)=>`Prompt ${O+1}`)])},[j]),b.jsxs("div",{children:[b.jsx(jt,{py:"md",children:b.jsxs(Qg,{direction:"row",spacing:4,alignItems:"center",children:[b.jsx(jt,{children:e&&e.length>0&&b.jsxs(Wl,{sx:{m:1,minWidth:200},size:"small",children:[b.jsx(Gl,{children:"View run"}),b.jsx(Kl,{className:"recent-files",label:"Previous runs",defaultValue:e[0],onChange:T=>t(T.target.value),children:e.map(T=>b.jsx(Oi,{value:T,children:EF(T)},T))},e.join(","))]})}),b.jsx(jt,{children:b.jsxs(Wl,{sx:{m:1,minWidth:200},size:"small",children:[b.jsx(Gl,{id:"visible-columns-label",children:"Show columns"}),b.jsx(Kl,{labelId:"visible-columns-label",id:"visible-columns",multiple:!0,value:a,onChange:D,input:b.jsx(zp,{label:"Visible columns"}),renderValue:T=>T.join(", "),children:A.map(T=>b.jsxs(Oi,{dense:!0,value:T.value,children:[b.jsx(ef,{checked:a.indexOf(T.value)>-1}),b.jsx(f_,{primary:T.label})]},T.value))})]})}),b.jsx(jt,{children:b.jsxs(Wl,{sx:{minWidth:180},size:"small",children:[b.jsx(Gl,{id:"failure-filter-mode-label",children:"Filter"}),b.jsxs(Kl,{labelId:"filter-mode-label",id:"filter-mode",value:h,onChange:m,label:"Filter",children:[b.jsx(Oi,{value:"all",children:"Show all results"}),b.jsx(Oi,{value:"failures",children:"Show failures only"}),b.jsx(Oi,{value:"different",children:"Show different only"})]})]})}),b.jsxs(jt,{children:[b.jsxs(Pt,{mt:2,children:["Max text length: ",o]}),b.jsx(AM,{min:25,max:1e3,value:o,onChange:(T,O)=>i(O)})]}),b.jsx(jt,{children:b.jsx(Ic,{title:"Forcing line breaks makes it easier to adjust column widths to your liking",children:b.jsx(E1,{control:b.jsx(ef,{checked:k==="break-all",onChange:p}),label:"Force line breaks"})})}),b.jsx(jt,{flexGrow:1}),b.jsx(jt,{display:"flex",justifyContent:"flex-end",children:b.jsxs(Qg,{direction:"row",spacing:2,children:[r&&b.jsx(Ic,{title:"View config",children:b.jsx(Ts,{color:"primary",onClick:()=>I(!0),startIcon:b.jsx(G1,{}),children:"Config"})}),(r==null?void 0:r.sharing)&&b.jsx(Ic,{title:"Generate a unique URL that others can access",children:b.jsx(Ts,{color:"primary",onClick:_,disabled:$,startIcon:$?b.jsx(R2,{size:16}):b.jsx(W1,{}),children:"Share"})})]})})]})}),b.jsx(YA,{maxTextLength:o,columnVisibility:s,wordBreak:k,filterMode:h,failureFilter:c,onFailureFilterToggle:f}),b.jsx(SF,{open:P,onClose:()=>I(!1)}),b.jsx($F,{open:v,onClose:()=>x(!1),shareUrl:C})]})}function _F(){return b.jsxs(jt,{className:"logo",children:[b.jsx("img",{src:"/logo.svg",alt:"Promptfoo logo"})," ",b.jsx("span",{children:"promptfoo"})]})}var oh={},TF=io;Object.defineProperty(oh,"__esModule",{value:!0});var dx=oh.default=void 0,MF=TF(so()),OF=b,IF=(0,MF.default)((0,OF.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");dx=oh.default=IF;var ih={},AF=io;Object.defineProperty(ih,"__esModule",{value:!0});var fx=ih.default=void 0,FF=AF(so()),LF=b,NF=(0,FF.default)((0,LF.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");fx=ih.default=NF;function zF({darkMode:e,onToggleDarkMode:t}){return b.jsxs("nav",{children:[b.jsx(_F,{}),b.jsx("div",{className:"dark-mode-toggle",onClick:t,children:e?b.jsx(dx,{}):b.jsx(fx,{})})]})}function DF(){const{table:e,setTable:t,setConfig:n}=Uu(),[r,o]=w.useState(!1),i=w.useRef(!1),[s,l]=w.useState([]),a=Ak("(prefers-color-scheme: dark)"),[u,c]=w.useState(a),d=w.useMemo(()=>Cp({palette:{mode:u?"dark":"light"}}),[u]),f=()=>{c(!u),u?document.documentElement.removeAttribute("data-theme"):document.documentElement.setAttribute("data-theme","dark")};w.useEffect(()=>{a&&document.documentElement.setAttribute("data-theme","dark")},[a]);const h=async()=>{if(!window.location.href.includes("localhost"))return;const k=await(await fetch("http://localhost:15500/results")).json();l(k.data)},y=async m=>{const g=await(await fetch(`http://localhost:15500/results/${m}`)).json();t(g.data.results.table),n(g.data.config)};return w.useEffect(()=>{const m=async p=>{var C;if(i.current)return;i.current=!0;const x=await(await fetch(`https://api.promptfoo.dev/eval/${p}`)).json();t(((C=x.data.results)==null?void 0:C.table)||x.data.table),n(x.data.config),o(!0)},k=Hl("http://localhost:15500"),g=window.location.pathname.match(/\/eval\/([\w:-]+)/);if(g){const p=g[1];m(p)}else k.on("init",p=>{console.log("Initialized socket connection",p),o(!0),t(p.results.table),n(p.config),h()}),k.on("update",p=>{console.log("Received data update",p),t(p.results.table),n(p.config),h()});return()=>{k.disconnect()}},[t,n]),b.jsxs(yR,{theme:d,children:[b.jsx(zF,{darkMode:u,onToggleDarkMode:f}),r&&e?b.jsx(PF,{recentFiles:s,onRecentFileSelected:y}):b.jsx("div",{children:"Loading..."})]})}Hc.createRoot(document.getElementById("root")).render(b.jsx(wt.StrictMode,{children:b.jsx(DF,{})}));
|
|
200
|
+
${e.palette.mode==="light"?wp(Xe(e.palette.divider,1),.88):Sp(Xe(e.palette.divider,1),.68)}`,textAlign:"left",padding:16},t.variant==="head"&&{color:(e.vars||e).palette.text.primary,lineHeight:e.typography.pxToRem(24),fontWeight:e.typography.fontWeightMedium},t.variant==="body"&&{color:(e.vars||e).palette.text.primary},t.variant==="footer"&&{color:(e.vars||e).palette.text.secondary,lineHeight:e.typography.pxToRem(21),fontSize:e.typography.pxToRem(12)},t.size==="small"&&{padding:"6px 16px",[`&.${wA.paddingCheckbox}`]:{width:24,padding:"0 12px 0 16px","& > *":{padding:0}}},t.padding==="checkbox"&&{width:48,padding:"0 0 0 4px"},t.padding==="none"&&{padding:0},t.align==="left"&&{textAlign:"left"},t.align==="center"&&{textAlign:"center"},t.align==="right"&&{textAlign:"right",flexDirection:"row-reverse"},t.align==="justify"&&{textAlign:"justify"},t.stickyHeader&&{position:"sticky",top:0,zIndex:2,backgroundColor:(e.vars||e).palette.background.default})),$A=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiTableCell"}),{align:o="inherit",className:i,component:s,padding:l,scope:a,size:u,sortDirection:c,variant:d}=r,f=q(r,CA),h=w.useContext(ax),y=w.useContext(Wu),m=y&&y.variant==="head";let k;s?k=s:k=m?"th":"td";let g=a;k==="td"?g=void 0:!g&&m&&(g="col");const p=d||y&&y.variant,v=S({},r,{align:o,component:k,padding:l||(h&&h.padding?h.padding:"normal"),size:u||(h&&h.size?h.size:"medium"),sortDirection:c,stickyHeader:p==="head"&&h&&h.stickyHeader,variant:p}),x=kA(v);let C=null;return c&&(C=c==="asc"?"ascending":"descending"),b.jsx(RA,S({as:k,ref:n,className:Q(x.root,i),"aria-sort":C,scope:g,ownerState:v},f))}),En=$A;function EA(e){return ue("MuiTableContainer",e)}ae("MuiTableContainer",["root"]);const PA=["className","component"],_A=e=>{const{classes:t}=e;return de({root:["root"]},EA,t)},TA=H("div",{name:"MuiTableContainer",slot:"Root",overridesResolver:(e,t)=>t.root})({width:"100%",overflowX:"auto"}),MA=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiTableContainer"}),{className:o,component:i="div"}=r,s=q(r,PA),l=S({},r,{component:i}),a=_A(l);return b.jsx(TA,S({ref:n,as:i,className:Q(a.root,o),ownerState:l},s))}),OA=MA;function IA(e){return ue("MuiTableHead",e)}ae("MuiTableHead",["root"]);const AA=["className","component"],FA=e=>{const{classes:t}=e;return de({root:["root"]},IA,t)},LA=H("thead",{name:"MuiTableHead",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"table-header-group"}),NA={variant:"head"},Vg="thead",zA=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiTableHead"}),{className:o,component:i=Vg}=r,s=q(r,AA),l=S({},r,{component:i}),a=FA(l);return b.jsx(Wu.Provider,{value:NA,children:b.jsx(LA,S({as:i,className:Q(a.root,o),ref:n,role:i===Vg?null:"rowgroup",ownerState:l},s))})}),DA=zA;function jA(e){return ue("MuiTableRow",e)}const BA=ae("MuiTableRow",["root","selected","hover","head","footer"]),Hg=BA,VA=["className","component","hover","selected"],HA=e=>{const{classes:t,selected:n,hover:r,head:o,footer:i}=e;return de({root:["root",n&&"selected",r&&"hover",o&&"head",i&&"footer"]},jA,t)},UA=H("tr",{name:"MuiTableRow",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.head&&t.head,n.footer&&t.footer]}})(({theme:e})=>({color:"inherit",display:"table-row",verticalAlign:"middle",outline:0,[`&.${Hg.hover}:hover`]:{backgroundColor:(e.vars||e).palette.action.hover},[`&.${Hg.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:Xe(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:Xe(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity)}}})),Ug="tr",WA=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiTableRow"}),{className:o,component:i=Ug,hover:s=!1,selected:l=!1}=r,a=q(r,VA),u=w.useContext(Wu),c=S({},r,{component:i,hover:s,selected:l,head:u&&u.variant==="head",footer:u&&u.variant==="footer"}),d=HA(c);return b.jsx(UA,S({as:i,ref:n,className:Q(d.root,o),role:i===Ug?null:"row",ownerState:c},a))}),Wg=WA;function GA({gradingResults:e}){return e?b.jsxs(jt,{mt:2,children:[b.jsx(Pt,{variant:"subtitle1",children:"Assertions"}),b.jsx(OA,{children:b.jsxs(dA,{children:[b.jsx(DA,{children:b.jsxs(Wg,{children:[b.jsx(En,{style:{fontWeight:"bold"},children:"Pass"}),b.jsx(En,{style:{fontWeight:"bold"},children:"Score"}),b.jsx(En,{style:{fontWeight:"bold"},children:"Type"}),b.jsx(En,{style:{fontWeight:"bold"},children:"Value"}),b.jsx(En,{style:{fontWeight:"bold"},children:"Reason"})]})}),b.jsx(xA,{children:e.map((t,n)=>{var r,o;return b.jsxs(Wg,{children:[b.jsx(En,{children:t.pass?"✅":"❌"}),b.jsx(En,{children:t.score}),b.jsx(En,{children:((r=t.assertion)==null?void 0:r.type)||""}),b.jsx(En,{children:(o=t.assertion)!=null&&o.value?String(t.assertion.value):"-"}),b.jsx(En,{children:t.reason})]},n)})})]})})]}):null}function ux({open:e,onClose:t,prompt:n,output:r,gradingResults:o}){const[i,s]=w.useState(!1);w.useEffect(()=>{s(!1)},[n]);const l=async a=>{await navigator.clipboard.writeText(a),s(!0)};return b.jsxs(qp,{open:e,onClose:t,fullWidth:!0,maxWidth:"lg",children:[b.jsx(Qp,{children:"Details"}),b.jsxs(Xp,{children:[b.jsxs(jt,{mb:2,children:[b.jsx(Pt,{variant:"subtitle1",style:{marginBottom:"1rem"},children:"Prompt"}),b.jsx(Xd,{readOnly:!0,value:n,style:{width:"100%",padding:"0.75rem"},maxRows:20}),b.jsx(Zp,{onClick:()=>l(n),style:{position:"absolute",right:"10px",top:"10px"},children:i?b.jsx(th,{}):b.jsx(lx,{})})]}),r&&b.jsxs(jt,{my:2,children:[b.jsx(Pt,{variant:"subtitle1",style:{marginBottom:"1rem",marginTop:"1rem"},children:"Output"}),b.jsx(Xd,{readOnly:!0,maxRows:20,value:r,style:{width:"100%",padding:"0.75rem"}})]}),b.jsx(GA,{gradingResults:o})]}),b.jsx(Yp,{children:b.jsx(Ts,{onClick:t,children:"Close"})})]})}function KA(e){if(typeof e=="string"){const t=e.startsWith("[PASS]");let n=e;return(e.startsWith("[PASS]")||e.startsWith("[FAIL]"))&&(n=n.slice(6)),{text:n,pass:t,score:t?1:0}}return e}function Gg(e){return e===0||e===1?"":`(${e.toFixed(2)})`}function nh({text:e,maxLength:t}){const[n,r]=w.useState(!0);let o=typeof e=="string"?e:JSON.stringify(e);o=o.replace(/\n/g,"<br>");const i=()=>{r(!n)};return(()=>o.length<=t?b.jsx("span",{dangerouslySetInnerHTML:{__html:o}}):n?b.jsxs("span",{style:{cursor:"pointer"},onClick:i,children:[b.jsx("span",{dangerouslySetInnerHTML:{__html:o.substring(0,t)}})," ..."]}):b.jsx("span",{style:{cursor:"pointer"},onClick:i,children:b.jsx("span",{dangerouslySetInnerHTML:{__html:o}})}))()}function qA({output:e,maxTextLength:t,rowIndex:n,promptIndex:r,onRating:o}){var f,h,y;const[i,s]=w.useState(!1),l=()=>{s(!0)},a=()=>{s(!1)};let u=typeof e.text=="string"?e.text:JSON.stringify(e.text),c=[];!e.pass&&u.includes("---")&&(c=u.split("---"),u=c.slice(1).join("---"));const d=m=>{o(n,r,m)};return b.jsxs(b.Fragment,{children:[b.jsxs("div",{className:"cell",children:[e.pass&&b.jsxs("div",{className:"status pass",children:["PASS ",b.jsx("span",{className:"score",children:Gg(e.score)})]}),!e.pass&&b.jsxs("div",{className:"status fail",children:["[FAIL",b.jsx("span",{className:"score",children:Gg(e.score)}),"] ",c[0]]})," ",b.jsx(nh,{text:u,maxLength:t})]}),b.jsx("div",{className:"cell-detail",children:(f=e.tokenUsage)!=null&&f.cached?b.jsxs("span",{children:[e.tokenUsage.cached," tokens (cached)"]}):b.jsxs(b.Fragment,{children:[((h=e.tokenUsage)==null?void 0:h.total)&&b.jsxs("span",{children:[e.tokenUsage.total," tokens"]})," |"," ",b.jsxs("span",{children:[e.latencyMs," ms"]})]})}),b.jsxs("div",{className:"cell-actions",children:[e.prompt&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"action",onClick:l,children:"🔎"}),b.jsx(ux,{open:i,onClose:a,prompt:e.prompt,gradingResults:(y=e.gradingResult)==null?void 0:y.componentResults,output:u})]}),b.jsx("span",{className:"action",onClick:()=>d(!0),children:"👍"}),b.jsx("span",{className:"action",onClick:()=>d(!1),children:"👎"})]})]})}function Kg({text:e,maxLength:t,smallText:n,expandedText:r}){const[o,i]=w.useState(!1),s=()=>{i(!0)},l=()=>{i(!1)};return b.jsxs("div",{children:[b.jsx(nh,{text:e,maxLength:t}),r&&b.jsxs(b.Fragment,{children:[b.jsx("span",{className:"action",onClick:s,children:"🔎"}),b.jsx(ux,{open:o,onClose:l,prompt:r})]}),b.jsx("div",{className:"smalltext",children:n})]})}function YA({maxTextLength:e,columnVisibility:t,wordBreak:n,filterMode:r,failureFilter:o,onFailureFilterToggle:i}){const{table:s,setTable:l}=Uu();a1(s,"Table should be defined");const{head:a,body:u}=s,c=a.prompts.map((x,C)=>u.reduce((R,$)=>R+($.outputs[C].pass?1:0),0)),d=a.prompts.map((x,C)=>u.reduce((R,$)=>{var E,_;return R+(((_=(E=$.outputs[C].gradingResult)==null?void 0:E.componentResults)==null?void 0:_.length)||0)},0)),f=a.prompts.map((x,C)=>u.reduce((R,$)=>{var _;const E=(_=$.outputs[C].gradingResult)==null?void 0:_.componentResults;return R+(E?E.filter(P=>P.pass).length:0)},0)),h=(x,C,R)=>{const $=[...u],E={...$[x]},_=[...E.outputs];_[C].pass=R,_[C].score=R?1:0,E.outputs=_,$[x]=E,l({head:a,body:$})},y=c.reduce((x,C,R,$)=>C>$[x]?R:x,0),m=c[y],k=jO(),g=[k.group({id:"vars",header:()=>b.jsx("span",{children:"Variables"}),columns:a.vars.map((x,C)=>k.accessor(R=>R.vars[C],{id:`Variable ${C+1}`,header:()=>b.jsx(Kg,{smallText:`Variable ${C+1}`,text:x,maxLength:e}),cell:R=>b.jsx(nh,{text:R.getValue(),maxLength:e}),size:50}))}),k.group({id:"prompts",header:()=>b.jsx("span",{children:"Outputs"}),columns:a.prompts.map((x,C)=>k.accessor(R=>KA(R.outputs[C]),{id:`Prompt ${C+1}`,header:()=>{const R=(c[C]/u.length*100).toFixed(2),$=c[C]===m&&m!==0,E=`Prompt ${C+1}`,_=o[E]||!1;return b.jsxs(b.Fragment,{children:[b.jsx(Kg,{smallText:`Prompt ${C+1}`,text:typeof x=="string"?x:x.display,expandedText:typeof x=="string"?void 0:x.raw,maxLength:e}),r==="failures"&&b.jsx(E1,{sx:{"& .MuiFormControlLabel-label":{fontSize:"0.75rem"}},control:b.jsx(ef,{checked:_,onChange:P=>i(E,P.target.checked)}),label:"Show failures"}),b.jsxs("div",{className:`summary ${$?"highlight":""}`,children:["Passing: ",b.jsxs("strong",{children:[R,"%"]})," (",c[C],"/",u.length," cases",d[C]?b.jsxs("span",{children:[", ",f[C],"/",d[C]," asserts"]}):null,")"]})]})},cell:R=>b.jsx(qA,{output:R.getValue(),maxTextLength:e,rowIndex:R.row.index,promptIndex:C,onRating:h})}))})],p=w.useMemo(()=>r==="failures"?Object.values(o).every(x=>!x)?u:u.filter(x=>x.outputs.some((C,R)=>{const $=`Prompt ${R+1}`,E=!C.pass;return o[$]&&E})):r==="different"?u.filter(x=>!x.outputs.every(C=>C.text===x.outputs[0].text)):u,[u,o,r]),v=WO({data:p,columns:g,columnResizeMode:"onChange",getCoreRowModel:BO(),state:{columnVisibility:t}});return b.jsxs("table",{style:{wordBreak:n},children:[b.jsx("thead",{children:v.getHeaderGroups().map(x=>b.jsx("tr",{className:"header",children:x.headers.map(C=>b.jsxs("th",{key:C.id,colSpan:C.colSpan,style:{width:C.getSize()},children:[C.isPlaceholder?null:Ng(C.column.columnDef.header,C.getContext()),b.jsx("div",{onMouseDown:C.getResizeHandler(),onTouchStart:C.getResizeHandler(),className:`resizer ${C.column.getIsResizing()?"isResizing":""}`})]}))},x.id))}),b.jsx("tbody",{children:v.getRowModel().rows.map((x,C)=>{let R=!1;return b.jsx("tr",{children:x.getVisibleCells().map($=>{const E=$.column.id.startsWith("Variable"),_=!E&&!R;_&&(R=!0);const P=C===0&&!E;return b.jsx("td",{key:$.id,style:{width:$.column.getSize()},className:`${E?"variable":""} ${P?"first-prompt-row":""} ${_?"first-prompt-col":""}`,children:Ng($.column.columnDef.cell,$.getContext())})})},x.id)})})]})}const XA="modulepreload",QA=function(e){return"/"+e},qg={},ZA=function(t,n,r){if(!n||n.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(n.map(i=>{if(i=QA(i),i in qg)return;qg[i]=!0;const s=i.endsWith(".css"),l=s?'[rel="stylesheet"]':"";if(!!r)for(let c=o.length-1;c>=0;c--){const d=o[c];if(d.href===i&&(!s||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${l}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":XA,s||(u.as="script",u.crossOrigin=""),u.href=i,document.head.appendChild(u),s)return new Promise((c,d)=>{u.addEventListener("load",c),u.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t())};function JA(e){return ue("MuiDialogContentText",e)}ae("MuiDialogContentText",["root"]);const eF=["children","className"],tF=e=>{const{classes:t}=e,r=de({root:["root"]},JA,t);return S({},t,r)},nF=H(Pt,{shouldForwardProp:e=>cn(e)||e==="classes",name:"MuiDialogContentText",slot:"Root",overridesResolver:(e,t)=>t.root})({}),rF=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiDialogContentText"}),{className:o}=r,i=q(r,eF),s=tF(i);return b.jsx(nF,S({component:"p",variant:"body1",color:"text.secondary",ref:n,ownerState:i,className:Q(s.root,o)},r,{classes:s}))}),oF=rF;function iF(e){return ue("MuiFormHelperText",e)}const sF=ae("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]),Yg=sF;var Xg;const lF=["children","className","component","disabled","error","filled","focused","margin","required","variant"],aF=e=>{const{classes:t,contained:n,size:r,disabled:o,error:i,filled:s,focused:l,required:a}=e,u={root:["root",o&&"disabled",i&&"error",r&&`size${K(r)}`,n&&"contained",l&&"focused",s&&"filled",a&&"required"]};return de(u,iF,t)},uF=H("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.size&&t[`size${K(n.size)}`],n.contained&&t.contained,n.filled&&t.filled]}})(({theme:e,ownerState:t})=>S({color:(e.vars||e).palette.text.secondary},e.typography.caption,{textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0,[`&.${Yg.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${Yg.error}`]:{color:(e.vars||e).palette.error.main}},t.size==="small"&&{marginTop:4},t.contained&&{marginLeft:14,marginRight:14})),cF=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiFormHelperText"}),{children:o,className:i,component:s="p"}=r,l=q(r,lF),a=Tr(),u=oo({props:r,muiFormControl:a,states:["variant","size","disabled","error","filled","focused","required"]}),c=S({},r,{component:s,contained:u.variant==="filled"||u.variant==="outlined",variant:u.variant,size:u.size,disabled:u.disabled,error:u.error,filled:u.filled,focused:u.focused,required:u.required}),d=aF(c);return b.jsx(uF,S({as:s,ownerState:c,className:Q(d.root,i),ref:n},l,{children:o===" "?Xg||(Xg=b.jsx("span",{className:"notranslate",children:""})):o}))}),dF=cF;function fF(e){return ue("MuiTextField",e)}ae("MuiTextField",["root"]);const pF=["autoComplete","autoFocus","children","className","color","defaultValue","disabled","error","FormHelperTextProps","fullWidth","helperText","id","InputLabelProps","inputProps","InputProps","inputRef","label","maxRows","minRows","multiline","name","onBlur","onChange","onClick","onFocus","placeholder","required","rows","select","SelectProps","type","value","variant"],hF={standard:D1,filled:B1,outlined:zp},mF=e=>{const{classes:t}=e;return de({root:["root"]},fF,t)},gF=H(Wl,{name:"MuiTextField",slot:"Root",overridesResolver:(e,t)=>t.root})({}),vF=w.forwardRef(function(t,n){const r=pe({props:t,name:"MuiTextField"}),{autoComplete:o,autoFocus:i=!1,children:s,className:l,color:a="primary",defaultValue:u,disabled:c=!1,error:d=!1,FormHelperTextProps:f,fullWidth:h=!1,helperText:y,id:m,InputLabelProps:k,inputProps:g,InputProps:p,inputRef:v,label:x,maxRows:C,minRows:R,multiline:$=!1,name:E,onBlur:_,onChange:P,onClick:I,onFocus:j,placeholder:D,required:A=!1,rows:T,select:O=!1,SelectProps:N,type:M,value:L,variant:F="outlined"}=r,X=q(r,pF),G=S({},r,{autoFocus:i,color:a,disabled:c,error:d,fullWidth:h,multiline:$,required:A,select:O,variant:F}),oe=mF(G),te={};F==="outlined"&&(k&&typeof k.shrink<"u"&&(te.notched=k.shrink),te.label=x),O&&((!N||!N.native)&&(te.id=void 0),te["aria-describedby"]=void 0);const Z=Ka(m),se=y&&Z?`${Z}-helper-text`:void 0,Ce=x&&Z?`${Z}-label`:void 0,be=hF[F],ce=b.jsx(be,S({"aria-describedby":se,autoComplete:o,autoFocus:i,defaultValue:u,fullWidth:h,multiline:$,name:E,rows:T,maxRows:C,minRows:R,type:M,value:L,id:Z,inputRef:v,onBlur:_,onChange:P,onFocus:j,onClick:I,placeholder:D,inputProps:g},te,p));return b.jsxs(gF,S({className:Q(oe.root,l),disabled:c,error:d,fullWidth:h,ref:n,required:A,color:a,variant:F,ownerState:G},X,{children:[x!=null&&x!==""&&b.jsx(Gl,S({htmlFor:Z,id:Ce},k,{children:x})),O?b.jsx(Kl,S({"aria-describedby":se,id:Z,labelId:Ce,value:L,input:ce},N,{children:s})):ce,y&&b.jsx(dF,S({id:se},f,{children:y}))]}))}),yF=vF,xF=ro(b.jsx("path",{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check"),bF=ro(b.jsx("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm-1 4 6 6v10c0 1.1-.9 2-2 2H7.99C6.89 23 6 22.1 6 21l.01-14c0-1.1.89-2 1.99-2h7zm-1 7h5.5L14 6.5V12z"}),"FileCopy");function SF({open:e,onClose:t}){const{config:n}=Uu(),r=wt.useRef(null),[o,i]=wt.useState(!1),[s,l]=wt.useState("");wt.useEffect(()=>{e&&(async()=>{const{default:c}=await ZA(()=>import("./js-yaml-8bbf9398.js"),[]);l(c.dump(n))})()},[e,n]);const a=()=>{r.current&&(r.current.select(),document.execCommand("copy"),i(!0))},u=()=>{i(!1),t()};return b.jsxs(qp,{open:e,onClose:u,"aria-labelledby":"config-dialog-title",maxWidth:"md",fullWidth:!0,children:[b.jsx(Qp,{id:"config-dialog-title",children:b.jsxs(jt,{display:"flex",justifyContent:"space-between",alignItems:"center",children:[b.jsx(Pt,{variant:"h6",children:"Config"}),b.jsx(Zp,{onClick:a,children:o?b.jsx(xF,{}):b.jsx(bF,{})})]})}),b.jsx(Xp,{children:b.jsx(Pt,{variant:"body1",component:"div",children:b.jsx("textarea",{ref:r,readOnly:!0,value:s,style:{width:"100%",minHeight:"400px",fontFamily:"monospace",border:"1px solid #ccc"}})})}),b.jsx(Yp,{children:b.jsx(Ts,{onClick:u,color:"primary",children:"Close"})})]})}var rh={},wF=io;Object.defineProperty(rh,"__esModule",{value:!0});var cx=rh.default=void 0,CF=wF(so()),kF=b,RF=(0,CF.default)((0,kF.jsx)("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm-1 4 6 6v10c0 1.1-.9 2-2 2H7.99C6.89 23 6 22.1 6 21l.01-14c0-1.1.89-2 1.99-2h7zm-1 7h5.5L14 6.5V12z"}),"FileCopy");cx=rh.default=RF;const $F=({open:e,onClose:t,shareUrl:n})=>{const r=w.useRef(null),[o,i]=w.useState(!1),s=()=>{r.current&&(r.current.select(),document.execCommand("copy"),i(!0))},l=()=>{t(),i(!1)};return b.jsxs(qp,{open:e,onClose:l,PaperProps:{style:{minWidth:"min(660px, 100%)"}},children:[b.jsx(Qp,{children:"Your eval is ready to share"}),b.jsxs(Xp,{children:[b.jsx(yF,{inputRef:r,value:n,fullWidth:!0,InputProps:{readOnly:!0,endAdornment:b.jsx(Zp,{onClick:s,children:o?b.jsx(th,{}):b.jsx(cx,{})})}}),b.jsx(oF,{sx:{fontSize:"0.75rem"},children:"Shared URLs are deleted after 1 week."})]}),b.jsx(Yp,{children:b.jsx(Ts,{onClick:l,color:"primary",children:"Close"})})]})},Qg=jy(LM)(({theme:e})=>({maxWidth:"100%",flexWrap:"wrap",[e.breakpoints.down("sm")]:{flexDirection:"column"}}));function EF(e){const n=e.slice(5,e.length-5).split("T"),r=n[1].replace(/-/g,":"),o=`${n[0]}T${r}`;return new Date(o).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:"short"})}function PF({recentFiles:e,onRecentFileSelected:t}){const{table:n,config:r}=Uu(),[o,i]=w.useState(250),[s,l]=w.useState({}),[a,u]=w.useState([]),[c,d]=w.useState({}),f=(T,O)=>{d(N=>({...N,[T]:O}))},[h,y]=w.useState("all"),m=T=>{const O=T.target.value;y(O);const N={};j.prompts.forEach((M,L)=>{const F=`Prompt ${L+1}`;N[F]=O==="failures"}),d(N)},[k,g]=w.useState("break-word"),p=T=>{g(T.target.checked?"break-all":"break-word")},[v,x]=w.useState(!1),[C,R]=w.useState(""),[$,E]=w.useState(!1),_=async()=>{E(!0);try{const T=await fetch("https://api.promptfoo.dev/eval",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({data:{version:1,results:{table:n},config:r}})}),{id:O}=await T.json(),N=`https://app.promptfoo.dev/eval/${O}`;R(N),x(!0)}catch{alert("Sorry, something went wrong.")}finally{E(!1)}},[P,I]=w.useState(!1);a1(n,"Table data must be loaded before rendering ResultsView");const{head:j}=n,D=T=>{const{target:{value:O}}=T;u(typeof O=="string"?O.split(","):O);const N=[...j.vars.map((L,F)=>`Variable ${F+1}`),...j.prompts.map((L,F)=>`Prompt ${F+1}`)],M={};N.forEach(L=>{M[L]=(typeof O=="string"?O.split(","):O).includes(L)}),l(M)},A=[...j.vars.map((T,O)=>({value:`Variable ${O+1}`,label:`Variable ${O+1}`,group:"Variables"})),...j.prompts.map((T,O)=>({value:`Prompt ${O+1}`,label:`Prompt ${O+1}`,group:"Prompts"}))];return w.useEffect(()=>{u([...j.vars.map((T,O)=>`Variable ${O+1}`),...j.prompts.map((T,O)=>`Prompt ${O+1}`)])},[j]),b.jsxs("div",{children:[b.jsx(jt,{py:"md",children:b.jsxs(Qg,{direction:"row",spacing:4,alignItems:"center",children:[b.jsx(jt,{children:e&&e.length>0&&b.jsxs(Wl,{sx:{m:1,minWidth:200},size:"small",children:[b.jsx(Gl,{children:"View run"}),b.jsx(Kl,{className:"recent-files",label:"Previous runs",defaultValue:e[0],onChange:T=>t(T.target.value),children:e.map(T=>b.jsx(Oi,{value:T,children:EF(T)},T))},e.join(","))]})}),b.jsx(jt,{children:b.jsxs(Wl,{sx:{m:1,minWidth:200},size:"small",children:[b.jsx(Gl,{id:"visible-columns-label",children:"Show columns"}),b.jsx(Kl,{labelId:"visible-columns-label",id:"visible-columns",multiple:!0,value:a,onChange:D,input:b.jsx(zp,{label:"Visible columns"}),renderValue:T=>T.join(", "),children:A.map(T=>b.jsxs(Oi,{dense:!0,value:T.value,children:[b.jsx(ef,{checked:a.indexOf(T.value)>-1}),b.jsx(f_,{primary:T.label})]},T.value))})]})}),b.jsx(jt,{children:b.jsxs(Wl,{sx:{minWidth:180},size:"small",children:[b.jsx(Gl,{id:"failure-filter-mode-label",children:"Filter"}),b.jsxs(Kl,{labelId:"filter-mode-label",id:"filter-mode",value:h,onChange:m,label:"Filter",children:[b.jsx(Oi,{value:"all",children:"Show all results"}),b.jsx(Oi,{value:"failures",children:"Show failures only"}),b.jsx(Oi,{value:"different",children:"Show different only"})]})]})}),b.jsxs(jt,{children:[b.jsxs(Pt,{mt:2,children:["Max text length: ",o]}),b.jsx(AM,{min:25,max:1e3,value:o,onChange:(T,O)=>i(O)})]}),b.jsx(jt,{children:b.jsx(Ic,{title:"Forcing line breaks makes it easier to adjust column widths to your liking",children:b.jsx(E1,{control:b.jsx(ef,{checked:k==="break-all",onChange:p}),label:"Force line breaks"})})}),b.jsx(jt,{flexGrow:1}),b.jsx(jt,{display:"flex",justifyContent:"flex-end",children:b.jsxs(Qg,{direction:"row",spacing:2,children:[r&&b.jsx(Ic,{title:"View config",children:b.jsx(Ts,{color:"primary",onClick:()=>I(!0),startIcon:b.jsx(G1,{}),children:"Config"})}),(r==null?void 0:r.sharing)&&b.jsx(Ic,{title:"Generate a unique URL that others can access",children:b.jsx(Ts,{color:"primary",onClick:_,disabled:$,startIcon:$?b.jsx(R2,{size:16}):b.jsx(W1,{}),children:"Share"})})]})})]})}),b.jsx(YA,{maxTextLength:o,columnVisibility:s,wordBreak:k,filterMode:h,failureFilter:c,onFailureFilterToggle:f}),b.jsx(SF,{open:P,onClose:()=>I(!1)}),b.jsx($F,{open:v,onClose:()=>x(!1),shareUrl:C})]})}function _F(){return b.jsxs(jt,{className:"logo",children:[b.jsx("img",{src:"/logo.svg",alt:"Promptfoo logo"})," ",b.jsx("span",{children:"promptfoo"})]})}var oh={},TF=io;Object.defineProperty(oh,"__esModule",{value:!0});var dx=oh.default=void 0,MF=TF(so()),OF=b,IF=(0,MF.default)((0,OF.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");dx=oh.default=IF;var ih={},AF=io;Object.defineProperty(ih,"__esModule",{value:!0});var fx=ih.default=void 0,FF=AF(so()),LF=b,NF=(0,FF.default)((0,LF.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");fx=ih.default=NF;function zF({darkMode:e,onToggleDarkMode:t}){return b.jsxs("nav",{children:[b.jsx(_F,{}),b.jsx("div",{className:"dark-mode-toggle",onClick:t,children:e?b.jsx(dx,{}):b.jsx(fx,{})})]})}function DF(){const{table:e,setTable:t,setConfig:n}=Uu(),[r,o]=w.useState(!1),i=w.useRef(!1),[s,l]=w.useState([]),a=Ak("(prefers-color-scheme: dark)"),[u,c]=w.useState(a),d=w.useMemo(()=>Cp({palette:{mode:u?"dark":"light"}}),[u]),f=()=>{c(!u),u?document.documentElement.removeAttribute("data-theme"):document.documentElement.setAttribute("data-theme","dark")};w.useEffect(()=>{a&&document.documentElement.setAttribute("data-theme","dark")},[a]);const h=async()=>{if(!window.location.href.includes("localhost"))return;const k=await(await fetch("http://localhost:15500/results")).json();l(k.data)},y=async m=>{const g=await(await fetch(`http://localhost:15500/results/${m}`)).json();t(g.data.results.table),n(g.data.config)};return w.useEffect(()=>{const m=async p=>{var C;if(i.current)return;i.current=!0;const x=await(await fetch(`https://api.promptfoo.dev/eval/${p}`)).json();t(((C=x.data.results)==null?void 0:C.table)||x.data.table),n(x.data.config),o(!0)},k=Hl("http://localhost:15500"),g=window.location.pathname.match(/\/eval\/([\w:-]+)/);if(g){const p=g[1];m(p)}else k.on("init",p=>{console.log("Initialized socket connection",p),o(!0),t(p.results.table),n(p.config),h()}),k.on("update",p=>{console.log("Received data update",p),t(p.results.table),n(p.config),h()});return()=>{k.disconnect()}},[t,n]),b.jsxs(yR,{theme:d,children:[b.jsx(zF,{darkMode:u,onToggleDarkMode:f}),r&&e?b.jsx(PF,{recentFiles:s,onRecentFileSelected:y}):b.jsx("div",{children:"Loading..."})]})}Hc.createRoot(document.getElementById("root")).render(b.jsx(wt.StrictMode,{children:b.jsx(DF,{})}));
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="favicon.ico" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>promptfoo web viewer</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-6d2a3573.js"></script>
|
|
9
9
|
<link rel="stylesheet" href="/assets/index-d2b6a160.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
package/package.json
CHANGED
package/src/assertions.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import rouge from 'rouge';
|
|
2
2
|
import invariant from 'tiny-invariant';
|
|
3
|
-
import nunjucks from 'nunjucks';
|
|
4
3
|
|
|
5
4
|
import telemetry from './telemetry';
|
|
6
5
|
import { DefaultEmbeddingProvider, DefaultGradingProvider } from './providers/openai';
|
|
7
|
-
import { cosineSimilarity, fetchWithRetries } from './util';
|
|
6
|
+
import { cosineSimilarity, fetchWithRetries, getNunjucksEngine } from './util';
|
|
8
7
|
import { loadApiProvider } from './providers';
|
|
9
8
|
import { DEFAULT_GRADING_PROMPT } from './prompts';
|
|
10
9
|
|
|
@@ -18,6 +17,8 @@ import type {
|
|
|
18
17
|
|
|
19
18
|
const DEFAULT_SEMANTIC_SIMILARITY_THRESHOLD = 0.8;
|
|
20
19
|
|
|
20
|
+
const nunjucks = getNunjucksEngine();
|
|
21
|
+
|
|
21
22
|
function handleRougeScore(
|
|
22
23
|
baseType: 'rouge-n',
|
|
23
24
|
assertion: Assertion,
|
package/src/cache.ts
CHANGED
|
@@ -42,10 +42,11 @@ export function getCache() {
|
|
|
42
42
|
return cacheInstance;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
export async function
|
|
45
|
+
export async function fetchWithCache(
|
|
46
46
|
url: RequestInfo,
|
|
47
47
|
options: RequestInit = {},
|
|
48
48
|
timeout: number,
|
|
49
|
+
format: 'json' | 'text' = 'json',
|
|
49
50
|
): Promise<{ data: any; cached: boolean }> {
|
|
50
51
|
if (!enabled) {
|
|
51
52
|
const resp = await fetchWithRetries(url, options, timeout);
|
|
@@ -75,7 +76,7 @@ export async function fetchJsonWithCache(
|
|
|
75
76
|
// Fetch the actual data and store it in the cache
|
|
76
77
|
const response = await fetchWithRetries(url, options, timeout);
|
|
77
78
|
try {
|
|
78
|
-
const data = await response.json();
|
|
79
|
+
const data = format === 'json' ? await response.json() : await response.text();
|
|
79
80
|
if (response.ok) {
|
|
80
81
|
logger.debug(`Storing ${url} response in cache: ${JSON.stringify(data)}`);
|
|
81
82
|
await cache.set(cacheKey, JSON.stringify(data));
|
package/src/evaluator.ts
CHANGED
|
@@ -2,13 +2,13 @@ import readline from 'readline';
|
|
|
2
2
|
|
|
3
3
|
import async from 'async';
|
|
4
4
|
import chalk from 'chalk';
|
|
5
|
-
import nunjucks from 'nunjucks';
|
|
6
5
|
import invariant from 'tiny-invariant';
|
|
7
6
|
|
|
8
7
|
import logger from './logger';
|
|
9
8
|
import telemetry from './telemetry';
|
|
10
9
|
import { runAssertions } from './assertions';
|
|
11
10
|
import { generatePrompts } from './suggestions';
|
|
11
|
+
import { getNunjucksEngine } from './util';
|
|
12
12
|
|
|
13
13
|
import type { SingleBar } from 'cli-progress';
|
|
14
14
|
import type {
|
|
@@ -39,6 +39,8 @@ interface RunEvalOptions {
|
|
|
39
39
|
|
|
40
40
|
const DEFAULT_MAX_CONCURRENCY = 4;
|
|
41
41
|
|
|
42
|
+
const nunjucks = getNunjucksEngine();
|
|
43
|
+
|
|
42
44
|
function generateVarCombinations(
|
|
43
45
|
vars: Record<string, string | string[] | any>,
|
|
44
46
|
): Record<string, string | any[]>[] {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import logger from '../logger';
|
|
2
|
-
import {
|
|
2
|
+
import { fetchWithCache } from '../cache';
|
|
3
3
|
import { REQUEST_TIMEOUT_MS, parseChatPrompt } from './shared';
|
|
4
4
|
|
|
5
5
|
import type { ApiProvider, ProviderEmbeddingResponse, ProviderResponse } from '../types.js';
|
|
@@ -61,7 +61,7 @@ export class AzureOpenAiEmbeddingProvider extends AzureOpenAiGenericProvider {
|
|
|
61
61
|
let data,
|
|
62
62
|
cached = false;
|
|
63
63
|
try {
|
|
64
|
-
({ data, cached } = (await
|
|
64
|
+
({ data, cached } = (await fetchWithCache(
|
|
65
65
|
`https://${this.apiHost}/openai/deployments/${this.deploymentName}/embeddings?api-version=2023-07-01-preview`,
|
|
66
66
|
{
|
|
67
67
|
method: 'POST',
|
|
@@ -117,7 +117,12 @@ export class AzureOpenAiEmbeddingProvider extends AzureOpenAiGenericProvider {
|
|
|
117
117
|
export class AzureOpenAiCompletionProvider extends AzureOpenAiGenericProvider {
|
|
118
118
|
options: AzureOpenAiCompletionOptions;
|
|
119
119
|
|
|
120
|
-
constructor(
|
|
120
|
+
constructor(
|
|
121
|
+
deploymentName: string,
|
|
122
|
+
apiKey?: string,
|
|
123
|
+
context?: AzureOpenAiCompletionOptions,
|
|
124
|
+
id?: string,
|
|
125
|
+
) {
|
|
121
126
|
super(deploymentName, apiKey);
|
|
122
127
|
this.options = context || {};
|
|
123
128
|
this.id = id ? () => id : this.id;
|
|
@@ -166,7 +171,7 @@ export class AzureOpenAiCompletionProvider extends AzureOpenAiGenericProvider {
|
|
|
166
171
|
let data,
|
|
167
172
|
cached = false;
|
|
168
173
|
try {
|
|
169
|
-
({ data, cached } = (await
|
|
174
|
+
({ data, cached } = (await fetchWithCache(
|
|
170
175
|
`https://${this.apiHost}/openai/deployments/${this.deploymentName}/completions?api-version=2023-07-01-preview`,
|
|
171
176
|
{
|
|
172
177
|
method: 'POST',
|
|
@@ -206,7 +211,12 @@ export class AzureOpenAiCompletionProvider extends AzureOpenAiGenericProvider {
|
|
|
206
211
|
export class AzureOpenAiChatCompletionProvider extends AzureOpenAiGenericProvider {
|
|
207
212
|
options: AzureOpenAiCompletionOptions;
|
|
208
213
|
|
|
209
|
-
constructor(
|
|
214
|
+
constructor(
|
|
215
|
+
deploymentName: string,
|
|
216
|
+
apiKey?: string,
|
|
217
|
+
context?: AzureOpenAiCompletionOptions,
|
|
218
|
+
id?: string,
|
|
219
|
+
) {
|
|
210
220
|
super(deploymentName, apiKey);
|
|
211
221
|
this.options = context || {};
|
|
212
222
|
this.id = id ? () => id : this.id;
|
|
@@ -248,7 +258,7 @@ export class AzureOpenAiChatCompletionProvider extends AzureOpenAiGenericProvide
|
|
|
248
258
|
let data,
|
|
249
259
|
cached = false;
|
|
250
260
|
try {
|
|
251
|
-
({ data, cached } = (await
|
|
261
|
+
({ data, cached } = (await fetchWithCache(
|
|
252
262
|
`https://${this.apiHost}/openai/deployments/${this.deploymentName}/chat/completions?api-version=2023-07-01-preview`,
|
|
253
263
|
{
|
|
254
264
|
method: 'POST',
|
package/src/providers/llama.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { fetchWithCache } from '../cache';
|
|
2
2
|
import { REQUEST_TIMEOUT_MS } from './shared';
|
|
3
3
|
|
|
4
4
|
import type { ApiProvider, ProviderResponse } from '../types.js';
|
|
@@ -65,7 +65,7 @@ export class LlamaProvider implements ApiProvider {
|
|
|
65
65
|
|
|
66
66
|
let response;
|
|
67
67
|
try {
|
|
68
|
-
response = await
|
|
68
|
+
response = await fetchWithCache(
|
|
69
69
|
`${process.env.LLAMA_BASE_URL || 'http://localhost:8080'}/completion`,
|
|
70
70
|
{
|
|
71
71
|
method: 'POST',
|
package/src/providers/localai.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import logger from '../logger';
|
|
2
|
-
import {
|
|
2
|
+
import { fetchWithCache } from '../cache';
|
|
3
3
|
import { REQUEST_TIMEOUT_MS, parseChatPrompt } from './shared';
|
|
4
4
|
|
|
5
5
|
import type { ApiProvider, ProviderResponse } from '../types.js';
|
|
@@ -40,7 +40,7 @@ export class LocalAiChatProvider extends LocalAiGenericProvider {
|
|
|
40
40
|
let data,
|
|
41
41
|
cached = false;
|
|
42
42
|
try {
|
|
43
|
-
({ data, cached } = (await
|
|
43
|
+
({ data, cached } = (await fetchWithCache(
|
|
44
44
|
`${this.apiBaseUrl}/chat/completions`,
|
|
45
45
|
{
|
|
46
46
|
method: 'POST',
|
|
@@ -81,7 +81,7 @@ export class LocalAiCompletionProvider extends LocalAiGenericProvider {
|
|
|
81
81
|
let data,
|
|
82
82
|
cached = false;
|
|
83
83
|
try {
|
|
84
|
-
({ data, cached } = (await
|
|
84
|
+
({ data, cached } = (await fetchWithCache(
|
|
85
85
|
`${this.apiBaseUrl}/completions`,
|
|
86
86
|
{
|
|
87
87
|
method: 'POST',
|