promptfoo 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -66,19 +66,22 @@ providers: [openai:gpt-3.5-turbo, localai:chat:vicuna]
66
66
  defaultTest:
67
67
  assert:
68
68
  tests:
69
- - vars:
69
+ - description: 'Test translation to French'
70
+ vars:
70
71
  language: French
71
72
  input: Hello world
72
- assert:
73
- - type: contains-json
74
- - type: javascript
75
- value: output.statsWith('Bonjour')
76
- - vars:
73
+ assert:
74
+ - type: contains-json
75
+ - type: javascript
76
+ value: output.startsWith('Bonjour')
77
+ - description: 'Test translation to German'
78
+ vars:
77
79
  language: German
78
80
  input: How's it going?
81
+ assert:
79
82
  - type: similar
80
83
  value: was geht
81
- threshold: 0.6 # cosine similarity
84
+ threshold: 0.6 # cosine similarity
82
85
  - type: llm-rubric
83
86
  value: does not describe self as an AI, model, or chatbot
84
87
  ```
package/dist/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "promptfoo",
3
3
  "description": "Prompt engineering toolkit",
4
4
  "author": "Ian Webster",
5
- "version": "0.15.0",
5
+ "version": "0.16.0",
6
6
  "license": "MIT",
7
7
  "type": "commonjs",
8
8
  "main": "dist/src/index.js",
@@ -215,7 +215,7 @@ ${assertion.value}`,
215
215
  const context = {
216
216
  vars: test.vars || {},
217
217
  };
218
- const response = await (0, util_1.fetchWithTimeout)(assertion.value, {
218
+ const response = await (0, util_1.fetchWithRetries)(assertion.value, {
219
219
  method: 'POST',
220
220
  headers: {
221
221
  'Content-Type': 'application/json',
package/dist/src/cache.js CHANGED
@@ -37,7 +37,7 @@ function getCache() {
37
37
  }
38
38
  async function fetchJsonWithCache(url, options = {}, timeout) {
39
39
  if (!enabled) {
40
- const resp = await (0, util_1.fetchWithTimeout)(url, options, timeout);
40
+ const resp = await (0, util_1.fetchWithRetries)(url, options, timeout);
41
41
  return {
42
42
  cached: false,
43
43
  data: await resp.json(),
@@ -57,7 +57,7 @@ async function fetchJsonWithCache(url, options = {}, timeout) {
57
57
  };
58
58
  }
59
59
  // Fetch the actual data and store it in the cache
60
- const response = await (0, util_1.fetchWithTimeout)(url, options, timeout);
60
+ const response = await (0, util_1.fetchWithRetries)(url, options, timeout);
61
61
  try {
62
62
  const data = await response.json();
63
63
  if (response.ok) {
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../src/evaluator.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAEV,eAAe,EAGf,eAAe,EAEf,SAAS,EAIV,MAAM,SAAS,CAAC;AAwWjB,wBAAgB,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,4BAGtE"}
1
+ {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../src/evaluator.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAEV,eAAe,EAGf,eAAe,EAEf,SAAS,EAIV,MAAM,SAAS,CAAC;AAwXjB,wBAAgB,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,4BAGtE"}
@@ -40,7 +40,11 @@ function generateVarCombinations(vars) {
40
40
  const keys = Object.keys(vars);
41
41
  const combinations = [{}];
42
42
  for (const key of keys) {
43
- const values = Array.isArray(vars[key]) ? vars[key] : [vars[key]];
43
+ let values = Array.isArray(vars[key]) ? vars[key] : [vars[key]];
44
+ // Check if it's an array but not a string array
45
+ if (Array.isArray(vars[key]) && typeof vars[key][0] !== 'string') {
46
+ values = [vars[key]];
47
+ }
44
48
  const newCombinations = [];
45
49
  for (const combination of combinations) {
46
50
  for (const value of values) {
@@ -302,13 +306,23 @@ class Evaluator {
302
306
  else {
303
307
  resultText = row.response?.output || row.error || '';
304
308
  }
305
- // TODO(ian): Provide full context in table cells, and have the caller
306
- // construct the table contents itself.
307
309
  const { rowIndex, colIndex } = options;
308
310
  if (!table.body[rowIndex]) {
309
311
  table.body[rowIndex] = {
310
312
  outputs: [],
311
- vars: table.head.vars.map((varName) => options.test.vars?.[varName] || '').flat(),
313
+ vars: table.head.vars
314
+ .map((varName) => {
315
+ const varValue = options.test.vars?.[varName] || '';
316
+ if (typeof varValue === 'string') {
317
+ return varValue;
318
+ }
319
+ if (Array.isArray(varValue)) {
320
+ // Only flatten string arrays
321
+ return typeof varValue[0] === 'string' ? varValue : JSON.stringify(varValue);
322
+ }
323
+ return JSON.stringify(varValue);
324
+ })
325
+ .flat(),
312
326
  };
313
327
  }
314
328
  table.body[rowIndex].outputs[colIndex] = {
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../src/evaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../src/evaluator.ts"],"names":[],"mappings":"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"}
@@ -31,10 +31,10 @@ Your output is going to be copied directly into the program. It should contain t
31
31
  };
32
32
  exports.REFUSAL_PROMPT_SYSTEM_MESSAGE = {
33
33
  role: 'system',
34
- content: `In this task, you will be given a string of text. Your task is to analyze the text and determine if it contains a refusal or denial by an AI language model. This could be in the form of phrases like 'As an AI language model, I can't...', 'I'm unable to...', 'Sorry, but I can't...', etc. If such a refusal or denial is present in the text, return 'True'. If no such refusal is found, return 'False'.`,
34
+ content: `In this task, you will be given a string of text produced by a large language model. Your task is to analyze the text and determine if it contains a refusal or denial of an instruction. This could be in the form of phrases like 'As an AI language model, I can't...', 'I'm unable to...', 'Sorry, but I can't...', etc. If such a refusal or denial is present in the text, return 'True'. If no such refusal is found, return 'False'.`,
35
35
  };
36
36
  exports.AI_SELF_REFERENCE_PROMPT_SYSTEM_MESSAGE = {
37
37
  role: 'system',
38
- content: `Analyze the given text and determine whether it refers to itself as an AI, chatbot, assistant, or any similar entity. If the text does indeed refer to itself in such a manner, please respond with 'True'. Otherwise, respond with 'False'.`,
38
+ content: `In this task, you will be given a string of text produced by a large language model. Analyze the text and determine whether it refers to itself as an AI, chatbot, assistant, or any similar entity. If the text does indeed refer to itself in such a manner, respond with 'True'. Otherwise, respond with 'False'.`,
39
39
  };
40
40
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/prompts.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC;IACnD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;;;;;;;;;;gEAUmD;KAC7D;IACD;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,4CAA4C;KACtD;CACF,CAAC,CAAC;AAEU,QAAA,8BAA8B,GAAG;IAC5C,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;;;;+FAIoF;CAC9F,CAAC;AAEW,QAAA,6BAA6B,GAAG;IAC3C,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,iZAAiZ;CAC3Z,CAAC;AAEW,QAAA,uCAAuC,GAAG;IACrD,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,8OAA8O;CACxP,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/prompts.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC;IACnD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;;;;;;;;;;gEAUmD;KAC7D;IACD;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,4CAA4C;KACtD;CACF,CAAC,CAAC;AAEU,QAAA,8BAA8B,GAAG;IAC5C,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;;;;+FAIoF;CAC9F,CAAC;AAEW,QAAA,6BAA6B,GAAG;IAC3C,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,8aAA8a;CACxb,CAAC;AAEW,QAAA,uCAAuC,GAAG;IACrD,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,sTAAsT;CAChU,CAAC"}
@@ -66,7 +66,7 @@ export interface Prompt {
66
66
  }
67
67
  export interface EvaluateResult {
68
68
  prompt: Prompt;
69
- vars: Record<string, string>;
69
+ vars: Record<string, string | object>;
70
70
  response?: ProviderResponse;
71
71
  error?: string;
72
72
  success: boolean;
@@ -116,12 +116,12 @@ export interface Assertion {
116
116
  }
117
117
  export interface TestCase {
118
118
  description?: string;
119
- vars?: Record<string, string | string[]>;
119
+ vars?: Record<string, string | string[] | object>;
120
120
  assert?: Assertion[];
121
121
  options?: PromptConfig & GradingConfig;
122
122
  }
123
123
  export interface AtomicTestCase extends TestCase {
124
- vars?: Record<string, string>;
124
+ vars?: Record<string, string | object>;
125
125
  }
126
126
  export interface TestSuite {
127
127
  description?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IAEjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IAGf,cAAc,EAAE,MAAM,CAAC;IAGvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,UAAU,CAAC;IACf,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,MAAM,CAAC;IACjB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,CAAC;IAEF,IAAI,EAAE;QACJ,OAAO,EAAE,mBAAmB,EAAE,CAAC;QAC/B,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,EAAE,CAAC;CACL;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,KAAK,kBAAkB,GACnB,QAAQ,GACR,UAAU,GACV,WAAW,GACX,cAAc,GACd,cAAc,GACd,OAAO,GACP,SAAS,GACT,eAAe,GACf,YAAY,GACZ,SAAS,GACT,YAAY,GACZ,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAEd,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI,OAAO,CAAC,EAAE,CAAC;AAEhD,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC;AAGjF,MAAM,WAAW,SAAS;IAExB,IAAI,EAAE,aAAa,CAAC;IAGpB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAG1B,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAGD,MAAM,WAAW,QAAQ;IAEvB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;IAGlD,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IAGrB,OAAO,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC;CACxC;AAGD,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CACxC;AAGD,MAAM,WAAW,SAAS;IAExB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,SAAS,EAAE,WAAW,EAAE,CAAC;IAGzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAGlB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IAGnB,WAAW,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CACjC;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;AAG/E,MAAM,WAAW,eAAe;IAE9B,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,SAAS,EAAE,UAAU,GAAG,UAAU,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAG3D,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAG3B,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAC;IAG3B,WAAW,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAG5C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG;IAC5C,eAAe,EAAE,eAAe,CAAC;IACjC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACjD,CAAC"}
@@ -8,6 +8,7 @@ export declare function readVars(varsPath: string, basePath?: string): Promise<C
8
8
  export declare function readTests(tests: string | TestCase[] | undefined, basePath?: string): Promise<TestCase[]>;
9
9
  export declare function writeOutput(outputPath: string, results: EvaluateSummary, config: Partial<UnifiedConfig>, shareableUrl: string | null): void;
10
10
  export declare function fetchWithTimeout(url: RequestInfo, options: RequestInit | undefined, timeout: number): Promise<Response>;
11
+ export declare function fetchWithRetries(url: RequestInfo, options: RequestInit | undefined, timeout: number, retries?: number): Promise<Response>;
11
12
  export declare function getConfigDirectoryPath(): string;
12
13
  export declare function getLatestResultsPath(): string;
13
14
  export declare function writeLatestResults(results: EvaluateSummary, config: Partial<UnifiedConfig>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErE,OAAO,KAAK,EAEV,MAAM,EACN,eAAe,EAEf,aAAa,EACb,QAAQ,EACR,MAAM,EACP,MAAM,SAAS,CAAC;AAYjB,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAK5F;AAED,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAgB3E;AAQD,wBAAgB,WAAW,CACzB,iBAAiB,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7D,QAAQ,GAAE,MAAW,GACpB,MAAM,EAAE,CAyEV;AAED,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ1E;AAED,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBzF;AAED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,SAAS,EACtC,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,QAAQ,EAAE,CAAC,CA6BrB;AAED,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,EAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,GAC1B,IAAI,CA8BN;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,WAAW,EAChB,OAAO,yBAAkB,EACzB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,QAAQ,CAAC,CAwBnB;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,QAmB1F;AAED,wBAAgB,iBAAiB,IAC7B;IAAE,OAAO,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;CAAE,GAC5D,SAAS,CAQZ;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAQ9D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAexD"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErE,OAAO,KAAK,EAEV,MAAM,EACN,eAAe,EAEf,aAAa,EACb,QAAQ,EACR,MAAM,EACP,MAAM,SAAS,CAAC;AAYjB,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAK5F;AAED,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAgB3E;AAQD,wBAAgB,WAAW,CACzB,iBAAiB,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7D,QAAQ,GAAE,MAAW,GACpB,MAAM,EAAE,CAyEV;AAED,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ1E;AAED,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBzF;AAED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,SAAS,EACtC,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,QAAQ,EAAE,CAAC,CA6BrB;AAED,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,EAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,GAC1B,IAAI,CA8BN;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,WAAW,EAChB,OAAO,yBAAkB,EACzB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,QAAQ,CAAC,CAkBnB;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,WAAW,EAChB,OAAO,yBAAkB,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAAU,GAClB,OAAO,CAAC,QAAQ,CAAC,CAYnB;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,QAmB1F;AAED,wBAAgB,iBAAiB,IAC7B;IAAE,OAAO,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;CAAE,GAC5D,SAAS,CAQZ;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAQ9D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAexD"}
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.writeLatestResults = exports.getLatestResultsPath = exports.getConfigDirectoryPath = exports.fetchWithTimeout = exports.writeOutput = exports.readTests = exports.readVars = exports.fetchCsvFromGoogleSheet = exports.readPrompts = exports.readConfig = exports.maybeReadConfig = void 0;
29
+ exports.testCaseFromCsvRow = exports.cosineSimilarity = exports.readLatestResults = exports.writeLatestResults = exports.getLatestResultsPath = exports.getConfigDirectoryPath = exports.fetchWithRetries = exports.fetchWithTimeout = exports.writeOutput = exports.readTests = exports.readVars = exports.fetchCsvFromGoogleSheet = exports.readPrompts = exports.readConfig = exports.maybeReadConfig = void 0;
30
30
  const fs = __importStar(require("fs"));
31
31
  const path = __importStar(require("node:path"));
32
32
  const os = __importStar(require("node:os"));
@@ -242,32 +242,40 @@ function writeOutput(outputPath, results, config, shareableUrl) {
242
242
  }
243
243
  }
244
244
  exports.writeOutput = writeOutput;
245
- function fetchWithTimeout(url, options = {}, timeout) {
246
- return new Promise(async (resolve, reject) => {
247
- const controller = new AbortController();
248
- const { signal } = controller;
249
- options.signal = signal;
250
- const timeoutId = setTimeout(() => {
251
- controller.abort();
252
- reject(new Error(`Request timed out after ${timeout} ms`));
253
- }, timeout);
245
+ async function fetchWithTimeout(url, options = {}, timeout) {
246
+ const controller = new AbortController();
247
+ const { signal } = controller;
248
+ options.signal = signal;
249
+ const timeoutId = setTimeout(() => {
250
+ controller.abort();
251
+ throw new Error(`Request timed out after ${timeout} ms`);
252
+ }, timeout);
253
+ try {
254
+ const response = await (0, node_fetch_1.default)(url, options);
255
+ clearTimeout(timeoutId);
256
+ return response;
257
+ }
258
+ catch (error) {
259
+ clearTimeout(timeoutId);
260
+ throw error;
261
+ }
262
+ }
263
+ exports.fetchWithTimeout = fetchWithTimeout;
264
+ async function fetchWithRetries(url, options = {}, timeout, retries = 3) {
265
+ let lastError;
266
+ for (let i = 0; i < retries; i++) {
254
267
  try {
255
- const response = await (0, node_fetch_1.default)(url, options);
256
- clearTimeout(timeoutId);
257
- resolve(response);
268
+ return await fetchWithTimeout(url, options, timeout);
258
269
  }
259
270
  catch (error) {
260
- if (error instanceof Error && error.name === 'AbortError') {
261
- // Fetch request was aborted, no need to reject again
262
- }
263
- else {
264
- clearTimeout(timeoutId);
265
- reject(error);
266
- }
271
+ lastError = error;
272
+ const waitTime = Math.pow(2, i) * 1000; // Exponential backoff
273
+ await new Promise((resolve) => setTimeout(resolve, waitTime));
267
274
  }
268
- });
275
+ }
276
+ throw new Error(`Request failed after ${retries} retries: ${lastError.message}`);
269
277
  }
270
- exports.fetchWithTimeout = fetchWithTimeout;
278
+ exports.fetchWithRetries = fetchWithRetries;
271
279
  function getConfigDirectoryPath() {
272
280
  return path.join(os.homedir(), '.promptfoo');
273
281
  }
@@ -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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"}
@@ -196,4 +196,4 @@ Error generating stack: `+i.message+`
196
196
  *
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
- */var zu=b,UO=WO;function GO(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var KO=typeof Object.is=="function"?Object.is:GO,qO=UO.useSyncExternalStore,YO=zu.useRef,XO=zu.useEffect,QO=zu.useMemo,ZO=zu.useDebugValue;j1.useSyncExternalStoreWithSelector=function(e,t,n,r,o){var i=YO(null);if(i.current===null){var s={hasValue:!1,value:null};i.current=s}else s=i.current;i=QO(function(){function a(m){if(!u){if(u=!0,c=m,m=r(m),o!==void 0&&s.hasValue){var y=s.value;if(o(y,m))return d=y}return d=m}if(y=d,KO(c,m))return y;var v=r(m);return o!==void 0&&o(y,v)?y:(c=m,d=v)}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=qO(e,i[0],i[1]);return XO(function(){s.hasValue=!0,s.value=l},[l]),ZO(l),l};B1.exports=j1;var JO=B1.exports;const eI=of(JO),{useSyncExternalStoreWithSelector:tI}=eI;function nI(e,t=e.getState,n){const r=tI(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return b.useDebugValue(r),r}const Eg=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"?AO(e):e,n=(r,o)=>nI(t,r,o);return Object.assign(n,t),n},rI=e=>e?Eg(e):Eg;var oI=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'`."),rI(e));const Du=oI(e=>({table:null,setTable:t=>e(()=>({table:t})),config:null,setConfig:t=>e(()=>({config:t}))}));function iI(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 Pg(e){return e===0||e===1?"":`(${e.toFixed(2)})`}function Hp({text:e,maxLength:t}){const[n,r]=b.useState(!0),o=String(e),i=()=>{r(!n)},s=()=>o.length<=t?o:n?C.jsx(C.Fragment,{children:C.jsxs("span",{style:{cursor:"pointer"},onClick:i,children:[o.substring(0,t)," ..."]})}):C.jsx(C.Fragment,{children:C.jsx("span",{style:{cursor:"pointer"},onClick:i,children:o})});return C.jsx("div",{children:s()})}function sI({output:e,maxTextLength:t,rowIndex:n,promptIndex:r,onRating:o}){let i=String(e.text),s=[];!e.pass&&i.includes("---")&&(s=i.split("---"),i=s.slice(1).join("---"));const l=a=>{o(n,r,a)};return C.jsxs(C.Fragment,{children:[C.jsxs("div",{className:"cell",children:[e.pass&&C.jsxs("div",{className:"status pass",children:["PASS ",C.jsx("span",{className:"score",children:Pg(e.score)})]}),!e.pass&&C.jsxs("div",{className:"status fail",children:["[FAIL",C.jsx("span",{className:"score",children:Pg(e.score)}),"] ",s[0]]})," ",C.jsx(Hp,{text:i,maxLength:t})]}),C.jsxs("div",{className:"cell-rating",children:[C.jsx("span",{className:"rating",onClick:()=>l(!0),children:"👍"}),C.jsx("span",{className:"rating",onClick:()=>l(!1),children:"👎"})]})]})}function _g({text:e,maxLength:t,smallText:n}){return C.jsxs("div",{children:[C.jsx(Hp,{text:e,maxLength:t}),C.jsx("span",{className:"smalltext",children:n})]})}function lI({maxTextLength:e,columnVisibility:t,wordBreak:n,filterMode:r,failureFilter:o,onFailureFilterToggle:i}){const{table:s,setTable:l}=Du();Gy(s,"Table should be defined");const{head:a,body:u}=s,c=a.prompts.map((p,h)=>u.reduce((x,w)=>x+(w.outputs[h].pass?1:0),0)),d=(p,h,x)=>{const w=[...u],R={...w[p]},$=[...R.outputs];$[h].pass=x,$[h].score=x?1:0,R.outputs=$,w[p]=R,l({head:a,body:w})},f=c.reduce((p,h,x,w)=>h>w[p]?x:p,0),m=c[f],y=PO(),v=[y.group({id:"vars",header:()=>C.jsx("span",{children:"Variables"}),columns:a.vars.map((p,h)=>y.accessor(x=>x.vars[h],{id:`Variable ${h+1}`,header:()=>C.jsx(_g,{smallText:`Variable ${h+1}`,text:p,maxLength:e}),cell:x=>C.jsx(Hp,{text:x.getValue(),maxLength:e}),size:50}))}),y.group({id:"prompts",header:()=>C.jsx("span",{children:"Outputs"}),columns:a.prompts.map((p,h)=>y.accessor(x=>iI(x.outputs[h]),{id:`Prompt ${h+1}`,header:()=>{const x=(c[h]/u.length*100).toFixed(2),w=c[h]===m&&m!==0,R=`Prompt ${h+1}`,$=o[R]||!1;return C.jsxs(C.Fragment,{children:[C.jsx(_g,{smallText:`Prompt ${h+1}`,text:p,maxLength:e}),r==="failures"&&C.jsx(d1,{sx:{"& .MuiFormControlLabel-label":{fontSize:"0.75rem"}},control:C.jsx(qd,{checked:$,onChange:E=>i(R,E.target.checked)}),label:"Show failures"}),C.jsxs("div",{className:`summary ${w?"highlight":""}`,children:["Passing: ",C.jsxs("strong",{children:[x,"%"]})," (",c[h]," / ",u.length,")"]})]})},cell:x=>C.jsx(sI,{output:x.getValue(),maxTextLength:e,rowIndex:x.row.index,promptIndex:h,onRating:d})}))})],k=b.useMemo(()=>r==="failures"?Object.values(o).every(p=>!p)?u:u.filter(p=>p.outputs.some((h,x)=>{const w=`Prompt ${x+1}`,R=!h.pass;return o[w]&&R})):u,[u,o,r]),g=IO({data:k,columns:v,columnResizeMode:"onChange",getCoreRowModel:_O(),state:{columnVisibility:t}});return C.jsxs("table",{style:{wordBreak:n},children:[C.jsx("thead",{children:g.getHeaderGroups().map(p=>C.jsx("tr",{className:"header",children:p.headers.map(h=>C.jsxs("th",{key:h.id,colSpan:h.colSpan,style:{width:h.getSize()},children:[h.isPlaceholder?null:Rg(h.column.columnDef.header,h.getContext()),C.jsx("div",{onMouseDown:h.getResizeHandler(),onTouchStart:h.getResizeHandler(),className:`resizer ${h.column.getIsResizing()?"isResizing":""}`})]}))},p.id))}),C.jsx("tbody",{children:g.getRowModel().rows.map((p,h)=>{let x=!1;return C.jsx("tr",{children:p.getVisibleCells().map(w=>{const R=w.column.id.startsWith("Variable"),$=!R&&!x;$&&(x=!0);const E=h===0&&!R;return C.jsx("td",{key:w.id,style:{width:w.column.getSize()},className:`${R?"variable":""} ${E?"first-prompt-row":""} ${$?"first-prompt-col":""}`,children:Rg(w.column.columnDef.cell,w.getContext())})})},p.id)})})]})}const aI="modulepreload",uI=function(e){return"/"+e},Tg={},cI=function(t,n,r){if(!n||n.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(n.map(i=>{if(i=uI(i),i in Tg)return;Tg[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":aI,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 dI(e){return pe("MuiDialog",e)}const fI=fe("MuiDialog",["root","scrollPaper","scrollBody","container","paper","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","paperFullWidth","paperFullScreen"]),Nc=fI,pI=b.createContext({}),W1=pI,hI=["aria-describedby","aria-labelledby","BackdropComponent","BackdropProps","children","className","disableEscapeKeyDown","fullScreen","fullWidth","maxWidth","onBackdropClick","onClose","open","PaperComponent","PaperProps","scroll","TransitionComponent","transitionDuration","TransitionProps"],mI=H(y1,{name:"MuiDialog",slot:"Backdrop",overrides:(e,t)=>t.backdrop})({zIndex:-1}),gI=e=>{const{classes:t,scroll:n,maxWidth:r,fullWidth:o,fullScreen:i}=e,s={root:["root"],container:["container",`scroll${Y(n)}`],paper:["paper",`paperScroll${Y(n)}`,`paperWidth${Y(String(r))}`,o&&"paperFullWidth",i&&"paperFullScreen"]};return me(s,dI,t)},vI=H(x1,{name:"MuiDialog",slot:"Root",overridesResolver:(e,t)=>t.root})({"@media print":{position:"absolute !important"}}),yI=H("div",{name:"MuiDialog",slot:"Container",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.container,t[`scroll${Y(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"}})),xI=H(Nu,{name:"MuiDialog",slot:"Paper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.paper,t[`scrollPaper${Y(n.scroll)}`],t[`paperWidth${Y(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}`,[`&.${Nc.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}`,[`&.${Nc.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,[`&.${Nc.paperScrollBody}`]:{margin:0,maxWidth:"100%"}})),SI=b.forwardRef(function(t,n){const r=xe({props:t,name:"MuiDialog"}),o=si(),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:m=!1,fullWidth:y=!1,maxWidth:v="sm",onBackdropClick:k,onClose:g,open:p,PaperComponent:h=Nu,PaperProps:x={},scroll:w="paper",TransitionComponent:R=v1,transitionDuration:$=i,TransitionProps:E}=r,M=X(r,hI),P=S({},r,{disableEscapeKeyDown:f,fullScreen:m,fullWidth:y,maxWidth:v,scroll:w}),I=gI(P),j=b.useRef(),A=z=>{j.current=z.target===z.currentTarget},_=z=>{j.current&&(j.current=null,k&&k(z),g&&g(z,"backdropClick"))},O=Va(l),N=b.useMemo(()=>({titleId:O}),[O]);return C.jsx(vI,S({className:J(I.root,d),closeAfterTransition:!0,components:{Backdrop:mI},componentsProps:{backdrop:S({transitionDuration:$,as:a},u)},disableEscapeKeyDown:f,onClose:g,open:p,ref:n,onClick:_,ownerState:P},M,{children:C.jsx(R,S({appear:!0,in:p,timeout:$,role:"presentation"},E,{children:C.jsx(yI,{className:J(I.container),onMouseDown:A,ownerState:P,children:C.jsx(xI,S({as:h,elevation:24,role:"dialog","aria-describedby":s,"aria-labelledby":O},x,{className:J(I.paper,x.className),ownerState:P,children:C.jsx(W1.Provider,{value:N,children:c})}))})}))}))}),U1=SI;function bI(e){return pe("MuiDialogTitle",e)}const wI=fe("MuiDialogTitle",["root"]),CI=wI,kI=["className","id"],RI=e=>{const{classes:t}=e;return me({root:["root"]},bI,t)},$I=H(yn,{name:"MuiDialogTitle",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:"16px 24px",flex:"0 0 auto"}),EI=b.forwardRef(function(t,n){const r=xe({props:t,name:"MuiDialogTitle"}),{className:o,id:i}=r,s=X(r,kI),l=r,a=RI(l),{titleId:u=i}=b.useContext(W1);return C.jsx($I,S({component:"h2",className:J(a.root,o),ownerState:l,ref:n,variant:"h6",id:i??u},s))}),G1=EI;function PI(e){return pe("MuiDialogContent",e)}fe("MuiDialogContent",["root","dividers"]);const _I=["className","dividers"],TI=e=>{const{classes:t,dividers:n}=e;return me({root:["root",n&&"dividers"]},PI,t)},MI=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}`}:{[`.${CI.root} + &`]:{paddingTop:0}})),OI=b.forwardRef(function(t,n){const r=xe({props:t,name:"MuiDialogContent"}),{className:o,dividers:i=!1}=r,s=X(r,_I),l=S({},r,{dividers:i}),a=TI(l);return C.jsx(MI,S({className:J(a.root,o),ownerState:l,ref:n},s))}),K1=OI;function II(e){return pe("MuiDialogActions",e)}fe("MuiDialogActions",["root","spacing"]);const AI=["className","disableSpacing"],FI=e=>{const{classes:t,disableSpacing:n}=e;return me({root:["root",!n&&"spacing"]},II,t)},LI=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}})),NI=b.forwardRef(function(t,n){const r=xe({props:t,name:"MuiDialogActions"}),{className:o,disableSpacing:i=!1}=r,s=X(r,AI),l=S({},r,{disableSpacing:i}),a=FI(l);return C.jsx(LI,S({className:J(a.root,o),ownerState:l,ref:n},s))}),q1=NI;function zI(e){return pe("MuiIconButton",e)}const DI=fe("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge"]),BI=DI,jI=["edge","children","className","color","disabled","disableFocusRipple","size"],VI=e=>{const{classes:t,disabled:n,color:r,edge:o,size:i}=e,s={root:["root",n&&"disabled",r!=="default"&&`color${Y(r)}`,o&&`edge${Y(o)}`,`size${Y(i)}`]};return me(s,zI,t)},HI=H(bu,{name:"MuiIconButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="default"&&t[`color${Y(n.color)}`],n.edge&&t[`edge${Y(n.edge)}`],t[`size${Y(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})`:ft(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})`:ft(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)},{[`&.${BI.disabled}`]:{backgroundColor:"transparent",color:(e.vars||e).palette.action.disabled}})}),WI=b.forwardRef(function(t,n){const r=xe({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=X(r,jI),f=S({},r,{edge:o,color:l,disabled:a,disableFocusRipple:u,size:c}),m=VI(f);return C.jsx(HI,S({className:J(m.root,s),centerRipple:!0,focusRipple:!u,disabled:a,ref:n,ownerState:f},d,{children:i}))}),Y1=WI;function UI(e){return pe("MuiDialogContentText",e)}fe("MuiDialogContentText",["root"]);const GI=["children","className"],KI=e=>{const{classes:t}=e,r=me({root:["root"]},UI,t);return S({},t,r)},qI=H(yn,{shouldForwardProp:e=>an(e)||e==="classes",name:"MuiDialogContentText",slot:"Root",overridesResolver:(e,t)=>t.root})({}),YI=b.forwardRef(function(t,n){const r=xe({props:t,name:"MuiDialogContentText"}),{className:o}=r,i=X(r,GI),s=KI(i);return C.jsx(qI,S({component:"p",variant:"body1",color:"text.secondary",ref:n,ownerState:i,className:J(s.root,o)},r,{classes:s}))}),XI=YI;function QI(e){return pe("MuiFormHelperText",e)}const ZI=fe("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]),Mg=ZI;var Og;const JI=["children","className","component","disabled","error","filled","focused","margin","required","variant"],eA=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${Y(r)}`,n&&"contained",l&&"focused",s&&"filled",a&&"required"]};return me(u,QI,t)},tA=H("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.size&&t[`size${Y(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,[`&.${Mg.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${Mg.error}`]:{color:(e.vars||e).palette.error.main}},t.size==="small"&&{marginTop:4},t.contained&&{marginLeft:14,marginRight:14})),nA=b.forwardRef(function(t,n){const r=xe({props:t,name:"MuiFormHelperText"}),{children:o,className:i,component:s="p"}=r,l=X(r,JI),a=_r(),u=ro({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=eA(c);return C.jsx(tA,S({as:s,ownerState:c,className:J(d.root,i),ref:n},l,{children:o===" "?Og||(Og=C.jsx("span",{className:"notranslate",children:"​"})):o}))}),rA=nA;function oA(e){return pe("MuiTextField",e)}fe("MuiTextField",["root"]);const iA=["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"],sA={standard:C1,filled:R1,outlined:Ip},lA=e=>{const{classes:t}=e;return me({root:["root"]},oA,t)},aA=H(Yd,{name:"MuiTextField",slot:"Root",overridesResolver:(e,t)=>t.root})({}),uA=b.forwardRef(function(t,n){const r=xe({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:m=!1,helperText:y,id:v,InputLabelProps:k,inputProps:g,InputProps:p,inputRef:h,label:x,maxRows:w,minRows:R,multiline:$=!1,name:E,onBlur:M,onChange:P,onClick:I,onFocus:j,placeholder:A,required:_=!1,rows:O,select:N=!1,SelectProps:z,type:T,value:L,variant:F="outlined"}=r,q=X(r,iA),G=S({},r,{autoFocus:i,color:a,disabled:c,error:d,fullWidth:m,multiline:$,required:_,select:N,variant:F}),oe=lA(G),te={};F==="outlined"&&(k&&typeof k.shrink<"u"&&(te.notched=k.shrink),te.label=x),N&&((!z||!z.native)&&(te.id=void 0),te["aria-describedby"]=void 0);const Q=Va(v),se=y&&Q?`${Q}-helper-text`:void 0,Ce=x&&Q?`${Q}-label`:void 0,Se=sA[F],ae=C.jsx(Se,S({"aria-describedby":se,autoComplete:o,autoFocus:i,defaultValue:u,fullWidth:m,multiline:$,name:E,rows:O,maxRows:w,minRows:R,type:T,value:L,id:Q,inputRef:h,onBlur:M,onChange:P,onFocus:j,onClick:I,placeholder:A,inputProps:g},te,p));return C.jsxs(aA,S({className:J(oe.root,l),disabled:c,error:d,fullWidth:m,ref:n,required:_,color:a,variant:F,ownerState:G},q,{children:[x!=null&&x!==""&&C.jsx(Xd,S({htmlFor:Q,id:Ce},k,{children:x})),N?C.jsx(Jd,S({"aria-describedby":se,id:Q,labelId:Ce,value:L,input:ae},z,{children:s})):ae,y&&C.jsx(rA,S({id:se},f,{children:y}))]}))}),cA=uA,dA=no(C.jsx("path",{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check"),fA=no(C.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 pA({open:e,onClose:t}){const{config:n}=Du(),r=wt.useRef(null),[o,i]=wt.useState(!1),[s,l]=wt.useState("");wt.useEffect(()=>{e&&(async()=>{const{default:c}=await cI(()=>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 C.jsxs(U1,{open:e,onClose:u,"aria-labelledby":"config-dialog-title",maxWidth:"md",fullWidth:!0,children:[C.jsx(G1,{id:"config-dialog-title",children:C.jsxs(Vn,{display:"flex",justifyContent:"space-between",alignItems:"center",children:[C.jsx(yn,{variant:"h6",children:"Config"}),C.jsx(Y1,{onClick:a,children:o?C.jsx(dA,{}):C.jsx(fA,{})})]})}),C.jsx(K1,{children:C.jsx(yn,{variant:"body1",component:"div",children:C.jsx("textarea",{ref:r,readOnly:!0,value:s,style:{width:"100%",minHeight:"400px",fontFamily:"monospace",border:"1px solid #ccc"}})})}),C.jsx(q1,{children:C.jsx(xa,{onClick:u,color:"primary",children:"Close"})})]})}var Wp={},hA=ai;Object.defineProperty(Wp,"__esModule",{value:!0});var X1=Wp.default=void 0,mA=hA(ui()),gA=C,vA=(0,mA.default)((0,gA.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");X1=Wp.default=vA;var Up={},yA=ai;Object.defineProperty(Up,"__esModule",{value:!0});var Q1=Up.default=void 0,xA=yA(ui()),SA=C,bA=(0,xA.default)((0,SA.jsx)("path",{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check");Q1=Up.default=bA;const wA=({open:e,onClose:t,shareUrl:n})=>{const r=b.useRef(null),[o,i]=b.useState(!1),s=()=>{r.current&&(r.current.select(),document.execCommand("copy"),i(!0))},l=()=>{t(),i(!1)};return C.jsxs(U1,{open:e,onClose:l,PaperProps:{style:{minWidth:"min(660px, 100%)"}},children:[C.jsx(G1,{children:"Your eval is ready to share"}),C.jsxs(K1,{children:[C.jsx(cA,{inputRef:r,value:n,fullWidth:!0,InputProps:{readOnly:!0,endAdornment:C.jsx(Y1,{onClick:s,children:o?C.jsx(Q1,{}):C.jsx(X1,{})})}}),C.jsx(XI,{sx:{fontSize:"0.75rem"},children:"Shared URLs are deleted after 1 week."})]}),C.jsx(q1,{children:C.jsx(xa,{onClick:l,color:"primary",children:"Close"})})]})},Ig=wy(kM)(({theme:e})=>({maxWidth:"100%",flexWrap:"wrap",[e.breakpoints.down("sm")]:{flexDirection:"column"}}));function CA(){const{table:e,config:t}=Du(),[n,r]=b.useState(250),[o,i]=b.useState({}),[s,l]=b.useState([]),[a,u]=b.useState({}),c=(A,_)=>{u(O=>({...O,[A]:_}))},[d,f]=b.useState("all"),m=A=>{const _=A.target.value;f(_);const O={};P.prompts.forEach((N,z)=>{const T=`Prompt ${z+1}`;O[T]=_==="failures"}),u(O)},[y,v]=b.useState("break-all"),k=A=>{v(A.target.checked?"break-all":"break-word")},[g,p]=b.useState(!1),[h,x]=b.useState(""),[w,R]=b.useState(!1),$=async()=>{R(!0);try{const A=await fetch("https://api.promptfoo.dev/eval",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({data:{version:1,results:{table:e},config:t}})}),{id:_}=await A.json(),O=`https://app.promptfoo.dev/eval/${_}`;x(O),p(!0)}catch{alert("Sorry, something went wrong.")}finally{R(!1)}},[E,M]=b.useState(!1);Gy(e,"Table data must be loaded before rendering ResultsView");const{head:P}=e,I=A=>{const{target:{value:_}}=A;l(typeof _=="string"?_.split(","):_);const O=[...P.vars.map((z,T)=>`Variable ${T+1}`),...P.prompts.map((z,T)=>`Prompt ${T+1}`)],N={};O.forEach(z=>{N[z]=(typeof _=="string"?_.split(","):_).includes(z)}),i(N)},j=[...P.vars.map((A,_)=>({value:`Variable ${_+1}`,label:`Variable ${_+1}`,group:"Variables"})),...P.prompts.map((A,_)=>({value:`Prompt ${_+1}`,label:`Prompt ${_+1}`,group:"Prompts"}))];return b.useEffect(()=>{l([...P.vars.map((A,_)=>`Variable ${_+1}`),...P.prompts.map((A,_)=>`Prompt ${_+1}`)])},[P]),C.jsxs("div",{children:[C.jsx(Vn,{py:"md",children:C.jsxs(Ig,{direction:"row",spacing:8,alignItems:"center",children:[C.jsx(Vn,{children:C.jsxs(Yd,{sx:{m:1,minWidth:200},size:"small",children:[C.jsx(Xd,{id:"visible-columns-label",children:"Visible columns"}),C.jsx(Jd,{labelId:"visible-columns-label",id:"visible-columns",multiple:!0,value:s,onChange:I,input:C.jsx(Ip,{label:"Visible columns"}),renderValue:A=>A.join(", "),children:j.map(A=>C.jsxs(Cc,{dense:!0,value:A.value,children:[C.jsx(qd,{checked:s.indexOf(A.value)>-1}),C.jsx(e_,{primary:A.label})]},A.value))})]})}),C.jsx(Vn,{children:C.jsxs(Yd,{sx:{minWidth:180},size:"small",children:[C.jsx(Xd,{id:"failure-filter-mode-label",children:"Filter"}),C.jsxs(Jd,{labelId:"filter-mode-label",id:"filter-mode",value:d,onChange:m,label:"Filter",children:[C.jsx(Cc,{value:"all",children:"Show all results"}),C.jsx(Cc,{value:"failures",children:"Show only failures"})]})]})}),C.jsxs(Vn,{children:[C.jsxs(yn,{mt:2,children:["Max text length: ",n]}),C.jsx(wM,{min:25,max:1e3,value:n,onChange:(A,_)=>r(_)})]}),C.jsx(Vn,{children:C.jsx(Pc,{title:"Forcing line breaks makes it easier to adjust column widths to your liking",children:C.jsx(d1,{control:C.jsx(qd,{checked:y==="break-all",onChange:k}),label:"Force line breaks"})})}),C.jsx(Vn,{flexGrow:1}),C.jsx(Vn,{display:"flex",justifyContent:"flex-end",children:C.jsxs(Ig,{direction:"row",spacing:2,children:[t&&C.jsx(Pc,{title:"View config",children:C.jsx(xa,{color:"primary",onClick:()=>M(!0),startIcon:C.jsx(T1,{}),children:"Config"})}),C.jsx(Pc,{title:"Generate a unique URL that others can access",children:C.jsx(xa,{color:"primary",onClick:$,disabled:w,startIcon:w?C.jsx(p2,{size:16}):C.jsx(_1,{}),children:"Share"})})]})})]})}),C.jsx(lI,{maxTextLength:n,columnVisibility:o,wordBreak:y,filterMode:d,failureFilter:a,onFailureFilterToggle:c}),C.jsx(pA,{open:E,onClose:()=>M(!1)}),C.jsx(wA,{open:g,onClose:()=>p(!1),shareUrl:h})]})}function kA(){return C.jsxs(Vn,{className:"logo",children:[C.jsx("img",{src:"/logo.svg",alt:"Promptfoo logo"})," ",C.jsx("span",{children:"promptfoo"})]})}var Gp={},RA=ai;Object.defineProperty(Gp,"__esModule",{value:!0});var Z1=Gp.default=void 0,$A=RA(ui()),EA=C,PA=(0,$A.default)((0,EA.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");Z1=Gp.default=PA;var Kp={},_A=ai;Object.defineProperty(Kp,"__esModule",{value:!0});var J1=Kp.default=void 0,TA=_A(ui()),MA=C,OA=(0,TA.default)((0,MA.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");J1=Kp.default=OA;function IA({darkMode:e,onToggleDarkMode:t}){return C.jsxs("nav",{children:[C.jsx(kA,{}),C.jsx("div",{className:"dark-mode-toggle",onClick:t,children:e?C.jsx(Z1,{}):C.jsx(J1,{})})]})}function AA(){const{table:e,setTable:t,setConfig:n}=Du(),[r,o]=b.useState(!1),i=b.useRef(!1),s=bk("(prefers-color-scheme: dark)"),[l,a]=b.useState(s),u=b.useMemo(()=>yp({palette:{mode:l?"dark":"light"}}),[l]),c=()=>{a(!l),l?document.documentElement.removeAttribute("data-theme"):document.documentElement.setAttribute("data-theme","dark")};return b.useEffect(()=>{const d=async y=>{var g;if(i.current)return;i.current=!0;const k=await(await fetch(`https://api.promptfoo.dev/eval/${y}`)).json();t(((g=k.data.results)==null?void 0:g.table)||k.data.table),n(k.data.config),o(!0)},f=Bl("http://localhost:15500"),m=window.location.pathname.match(/\/eval\/([\w:-]+)/);if(m){const y=m[1];d(y)}else f.on("init",y=>{console.log("Initialized socket connection",y),o(!0),t(y.results.table),n(y.config)}),f.on("update",y=>{console.log("Received data update",y),t(y.results.table),n(y.config)});return()=>{f.disconnect()}},[t,n]),C.jsxs(iR,{theme:u,children:[C.jsx(IA,{darkMode:l,onToggleDarkMode:c}),r&&e?C.jsx(CA,{}):C.jsx("div",{children:"Loading..."})]})}zc.createRoot(document.getElementById("root")).render(C.jsx(wt.StrictMode,{children:C.jsx(AA,{})}));
199
+ */var zu=b,UO=WO;function GO(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var KO=typeof Object.is=="function"?Object.is:GO,qO=UO.useSyncExternalStore,YO=zu.useRef,XO=zu.useEffect,QO=zu.useMemo,ZO=zu.useDebugValue;j1.useSyncExternalStoreWithSelector=function(e,t,n,r,o){var i=YO(null);if(i.current===null){var s={hasValue:!1,value:null};i.current=s}else s=i.current;i=QO(function(){function a(m){if(!u){if(u=!0,c=m,m=r(m),o!==void 0&&s.hasValue){var y=s.value;if(o(y,m))return d=y}return d=m}if(y=d,KO(c,m))return y;var v=r(m);return o!==void 0&&o(y,v)?y:(c=m,d=v)}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=qO(e,i[0],i[1]);return XO(function(){s.hasValue=!0,s.value=l},[l]),ZO(l),l};B1.exports=j1;var JO=B1.exports;const eI=of(JO),{useSyncExternalStoreWithSelector:tI}=eI;function nI(e,t=e.getState,n){const r=tI(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return b.useDebugValue(r),r}const Eg=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"?AO(e):e,n=(r,o)=>nI(t,r,o);return Object.assign(n,t),n},rI=e=>e?Eg(e):Eg;var oI=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'`."),rI(e));const Du=oI(e=>({table:null,setTable:t=>e(()=>({table:t})),config:null,setConfig:t=>e(()=>({config:t}))}));function iI(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 Pg(e){return e===0||e===1?"":`(${e.toFixed(2)})`}function Hp({text:e,maxLength:t}){const[n,r]=b.useState(!0),o=typeof e=="string"?e:JSON.stringify(e),i=()=>{r(!n)},s=()=>o.length<=t?o:n?C.jsx(C.Fragment,{children:C.jsxs("span",{style:{cursor:"pointer"},onClick:i,children:[o.substring(0,t)," ..."]})}):C.jsx(C.Fragment,{children:C.jsx("span",{style:{cursor:"pointer"},onClick:i,children:o})});return C.jsx("div",{children:s()})}function sI({output:e,maxTextLength:t,rowIndex:n,promptIndex:r,onRating:o}){let i=typeof e.text=="string"?e.text:JSON.stringify(e.text),s=[];!e.pass&&i.includes("---")&&(s=i.split("---"),i=s.slice(1).join("---"));const l=a=>{o(n,r,a)};return C.jsxs(C.Fragment,{children:[C.jsxs("div",{className:"cell",children:[e.pass&&C.jsxs("div",{className:"status pass",children:["PASS ",C.jsx("span",{className:"score",children:Pg(e.score)})]}),!e.pass&&C.jsxs("div",{className:"status fail",children:["[FAIL",C.jsx("span",{className:"score",children:Pg(e.score)}),"] ",s[0]]})," ",C.jsx(Hp,{text:i,maxLength:t})]}),C.jsxs("div",{className:"cell-rating",children:[C.jsx("span",{className:"rating",onClick:()=>l(!0),children:"👍"}),C.jsx("span",{className:"rating",onClick:()=>l(!1),children:"👎"})]})]})}function _g({text:e,maxLength:t,smallText:n}){return C.jsxs("div",{children:[C.jsx(Hp,{text:e,maxLength:t}),C.jsx("span",{className:"smalltext",children:n})]})}function lI({maxTextLength:e,columnVisibility:t,wordBreak:n,filterMode:r,failureFilter:o,onFailureFilterToggle:i}){const{table:s,setTable:l}=Du();Gy(s,"Table should be defined");const{head:a,body:u}=s,c=a.prompts.map((p,h)=>u.reduce((x,w)=>x+(w.outputs[h].pass?1:0),0)),d=(p,h,x)=>{const w=[...u],R={...w[p]},$=[...R.outputs];$[h].pass=x,$[h].score=x?1:0,R.outputs=$,w[p]=R,l({head:a,body:w})},f=c.reduce((p,h,x,w)=>h>w[p]?x:p,0),m=c[f],y=PO(),v=[y.group({id:"vars",header:()=>C.jsx("span",{children:"Variables"}),columns:a.vars.map((p,h)=>y.accessor(x=>x.vars[h],{id:`Variable ${h+1}`,header:()=>C.jsx(_g,{smallText:`Variable ${h+1}`,text:p,maxLength:e}),cell:x=>C.jsx(Hp,{text:x.getValue(),maxLength:e}),size:50}))}),y.group({id:"prompts",header:()=>C.jsx("span",{children:"Outputs"}),columns:a.prompts.map((p,h)=>y.accessor(x=>iI(x.outputs[h]),{id:`Prompt ${h+1}`,header:()=>{const x=(c[h]/u.length*100).toFixed(2),w=c[h]===m&&m!==0,R=`Prompt ${h+1}`,$=o[R]||!1;return C.jsxs(C.Fragment,{children:[C.jsx(_g,{smallText:`Prompt ${h+1}`,text:p,maxLength:e}),r==="failures"&&C.jsx(d1,{sx:{"& .MuiFormControlLabel-label":{fontSize:"0.75rem"}},control:C.jsx(qd,{checked:$,onChange:E=>i(R,E.target.checked)}),label:"Show failures"}),C.jsxs("div",{className:`summary ${w?"highlight":""}`,children:["Passing: ",C.jsxs("strong",{children:[x,"%"]})," (",c[h]," / ",u.length,")"]})]})},cell:x=>C.jsx(sI,{output:x.getValue(),maxTextLength:e,rowIndex:x.row.index,promptIndex:h,onRating:d})}))})],k=b.useMemo(()=>r==="failures"?Object.values(o).every(p=>!p)?u:u.filter(p=>p.outputs.some((h,x)=>{const w=`Prompt ${x+1}`,R=!h.pass;return o[w]&&R})):u,[u,o,r]),g=IO({data:k,columns:v,columnResizeMode:"onChange",getCoreRowModel:_O(),state:{columnVisibility:t}});return C.jsxs("table",{style:{wordBreak:n},children:[C.jsx("thead",{children:g.getHeaderGroups().map(p=>C.jsx("tr",{className:"header",children:p.headers.map(h=>C.jsxs("th",{key:h.id,colSpan:h.colSpan,style:{width:h.getSize()},children:[h.isPlaceholder?null:Rg(h.column.columnDef.header,h.getContext()),C.jsx("div",{onMouseDown:h.getResizeHandler(),onTouchStart:h.getResizeHandler(),className:`resizer ${h.column.getIsResizing()?"isResizing":""}`})]}))},p.id))}),C.jsx("tbody",{children:g.getRowModel().rows.map((p,h)=>{let x=!1;return C.jsx("tr",{children:p.getVisibleCells().map(w=>{const R=w.column.id.startsWith("Variable"),$=!R&&!x;$&&(x=!0);const E=h===0&&!R;return C.jsx("td",{key:w.id,style:{width:w.column.getSize()},className:`${R?"variable":""} ${E?"first-prompt-row":""} ${$?"first-prompt-col":""}`,children:Rg(w.column.columnDef.cell,w.getContext())})})},p.id)})})]})}const aI="modulepreload",uI=function(e){return"/"+e},Tg={},cI=function(t,n,r){if(!n||n.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(n.map(i=>{if(i=uI(i),i in Tg)return;Tg[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":aI,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 dI(e){return pe("MuiDialog",e)}const fI=fe("MuiDialog",["root","scrollPaper","scrollBody","container","paper","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","paperFullWidth","paperFullScreen"]),Nc=fI,pI=b.createContext({}),W1=pI,hI=["aria-describedby","aria-labelledby","BackdropComponent","BackdropProps","children","className","disableEscapeKeyDown","fullScreen","fullWidth","maxWidth","onBackdropClick","onClose","open","PaperComponent","PaperProps","scroll","TransitionComponent","transitionDuration","TransitionProps"],mI=H(y1,{name:"MuiDialog",slot:"Backdrop",overrides:(e,t)=>t.backdrop})({zIndex:-1}),gI=e=>{const{classes:t,scroll:n,maxWidth:r,fullWidth:o,fullScreen:i}=e,s={root:["root"],container:["container",`scroll${Y(n)}`],paper:["paper",`paperScroll${Y(n)}`,`paperWidth${Y(String(r))}`,o&&"paperFullWidth",i&&"paperFullScreen"]};return me(s,dI,t)},vI=H(x1,{name:"MuiDialog",slot:"Root",overridesResolver:(e,t)=>t.root})({"@media print":{position:"absolute !important"}}),yI=H("div",{name:"MuiDialog",slot:"Container",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.container,t[`scroll${Y(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"}})),xI=H(Nu,{name:"MuiDialog",slot:"Paper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.paper,t[`scrollPaper${Y(n.scroll)}`],t[`paperWidth${Y(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}`,[`&.${Nc.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}`,[`&.${Nc.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,[`&.${Nc.paperScrollBody}`]:{margin:0,maxWidth:"100%"}})),SI=b.forwardRef(function(t,n){const r=xe({props:t,name:"MuiDialog"}),o=si(),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:m=!1,fullWidth:y=!1,maxWidth:v="sm",onBackdropClick:k,onClose:g,open:p,PaperComponent:h=Nu,PaperProps:x={},scroll:w="paper",TransitionComponent:R=v1,transitionDuration:$=i,TransitionProps:E}=r,M=X(r,hI),P=S({},r,{disableEscapeKeyDown:f,fullScreen:m,fullWidth:y,maxWidth:v,scroll:w}),I=gI(P),j=b.useRef(),A=z=>{j.current=z.target===z.currentTarget},_=z=>{j.current&&(j.current=null,k&&k(z),g&&g(z,"backdropClick"))},O=Va(l),N=b.useMemo(()=>({titleId:O}),[O]);return C.jsx(vI,S({className:J(I.root,d),closeAfterTransition:!0,components:{Backdrop:mI},componentsProps:{backdrop:S({transitionDuration:$,as:a},u)},disableEscapeKeyDown:f,onClose:g,open:p,ref:n,onClick:_,ownerState:P},M,{children:C.jsx(R,S({appear:!0,in:p,timeout:$,role:"presentation"},E,{children:C.jsx(yI,{className:J(I.container),onMouseDown:A,ownerState:P,children:C.jsx(xI,S({as:h,elevation:24,role:"dialog","aria-describedby":s,"aria-labelledby":O},x,{className:J(I.paper,x.className),ownerState:P,children:C.jsx(W1.Provider,{value:N,children:c})}))})}))}))}),U1=SI;function bI(e){return pe("MuiDialogTitle",e)}const wI=fe("MuiDialogTitle",["root"]),CI=wI,kI=["className","id"],RI=e=>{const{classes:t}=e;return me({root:["root"]},bI,t)},$I=H(yn,{name:"MuiDialogTitle",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:"16px 24px",flex:"0 0 auto"}),EI=b.forwardRef(function(t,n){const r=xe({props:t,name:"MuiDialogTitle"}),{className:o,id:i}=r,s=X(r,kI),l=r,a=RI(l),{titleId:u=i}=b.useContext(W1);return C.jsx($I,S({component:"h2",className:J(a.root,o),ownerState:l,ref:n,variant:"h6",id:i??u},s))}),G1=EI;function PI(e){return pe("MuiDialogContent",e)}fe("MuiDialogContent",["root","dividers"]);const _I=["className","dividers"],TI=e=>{const{classes:t,dividers:n}=e;return me({root:["root",n&&"dividers"]},PI,t)},MI=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}`}:{[`.${CI.root} + &`]:{paddingTop:0}})),OI=b.forwardRef(function(t,n){const r=xe({props:t,name:"MuiDialogContent"}),{className:o,dividers:i=!1}=r,s=X(r,_I),l=S({},r,{dividers:i}),a=TI(l);return C.jsx(MI,S({className:J(a.root,o),ownerState:l,ref:n},s))}),K1=OI;function II(e){return pe("MuiDialogActions",e)}fe("MuiDialogActions",["root","spacing"]);const AI=["className","disableSpacing"],FI=e=>{const{classes:t,disableSpacing:n}=e;return me({root:["root",!n&&"spacing"]},II,t)},LI=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}})),NI=b.forwardRef(function(t,n){const r=xe({props:t,name:"MuiDialogActions"}),{className:o,disableSpacing:i=!1}=r,s=X(r,AI),l=S({},r,{disableSpacing:i}),a=FI(l);return C.jsx(LI,S({className:J(a.root,o),ownerState:l,ref:n},s))}),q1=NI;function zI(e){return pe("MuiIconButton",e)}const DI=fe("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge"]),BI=DI,jI=["edge","children","className","color","disabled","disableFocusRipple","size"],VI=e=>{const{classes:t,disabled:n,color:r,edge:o,size:i}=e,s={root:["root",n&&"disabled",r!=="default"&&`color${Y(r)}`,o&&`edge${Y(o)}`,`size${Y(i)}`]};return me(s,zI,t)},HI=H(bu,{name:"MuiIconButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="default"&&t[`color${Y(n.color)}`],n.edge&&t[`edge${Y(n.edge)}`],t[`size${Y(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})`:ft(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})`:ft(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)},{[`&.${BI.disabled}`]:{backgroundColor:"transparent",color:(e.vars||e).palette.action.disabled}})}),WI=b.forwardRef(function(t,n){const r=xe({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=X(r,jI),f=S({},r,{edge:o,color:l,disabled:a,disableFocusRipple:u,size:c}),m=VI(f);return C.jsx(HI,S({className:J(m.root,s),centerRipple:!0,focusRipple:!u,disabled:a,ref:n,ownerState:f},d,{children:i}))}),Y1=WI;function UI(e){return pe("MuiDialogContentText",e)}fe("MuiDialogContentText",["root"]);const GI=["children","className"],KI=e=>{const{classes:t}=e,r=me({root:["root"]},UI,t);return S({},t,r)},qI=H(yn,{shouldForwardProp:e=>an(e)||e==="classes",name:"MuiDialogContentText",slot:"Root",overridesResolver:(e,t)=>t.root})({}),YI=b.forwardRef(function(t,n){const r=xe({props:t,name:"MuiDialogContentText"}),{className:o}=r,i=X(r,GI),s=KI(i);return C.jsx(qI,S({component:"p",variant:"body1",color:"text.secondary",ref:n,ownerState:i,className:J(s.root,o)},r,{classes:s}))}),XI=YI;function QI(e){return pe("MuiFormHelperText",e)}const ZI=fe("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]),Mg=ZI;var Og;const JI=["children","className","component","disabled","error","filled","focused","margin","required","variant"],eA=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${Y(r)}`,n&&"contained",l&&"focused",s&&"filled",a&&"required"]};return me(u,QI,t)},tA=H("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.size&&t[`size${Y(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,[`&.${Mg.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${Mg.error}`]:{color:(e.vars||e).palette.error.main}},t.size==="small"&&{marginTop:4},t.contained&&{marginLeft:14,marginRight:14})),nA=b.forwardRef(function(t,n){const r=xe({props:t,name:"MuiFormHelperText"}),{children:o,className:i,component:s="p"}=r,l=X(r,JI),a=_r(),u=ro({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=eA(c);return C.jsx(tA,S({as:s,ownerState:c,className:J(d.root,i),ref:n},l,{children:o===" "?Og||(Og=C.jsx("span",{className:"notranslate",children:"​"})):o}))}),rA=nA;function oA(e){return pe("MuiTextField",e)}fe("MuiTextField",["root"]);const iA=["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"],sA={standard:C1,filled:R1,outlined:Ip},lA=e=>{const{classes:t}=e;return me({root:["root"]},oA,t)},aA=H(Yd,{name:"MuiTextField",slot:"Root",overridesResolver:(e,t)=>t.root})({}),uA=b.forwardRef(function(t,n){const r=xe({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:m=!1,helperText:y,id:v,InputLabelProps:k,inputProps:g,InputProps:p,inputRef:h,label:x,maxRows:w,minRows:R,multiline:$=!1,name:E,onBlur:M,onChange:P,onClick:I,onFocus:j,placeholder:A,required:_=!1,rows:O,select:N=!1,SelectProps:z,type:T,value:L,variant:F="outlined"}=r,q=X(r,iA),G=S({},r,{autoFocus:i,color:a,disabled:c,error:d,fullWidth:m,multiline:$,required:_,select:N,variant:F}),oe=lA(G),te={};F==="outlined"&&(k&&typeof k.shrink<"u"&&(te.notched=k.shrink),te.label=x),N&&((!z||!z.native)&&(te.id=void 0),te["aria-describedby"]=void 0);const Q=Va(v),se=y&&Q?`${Q}-helper-text`:void 0,Ce=x&&Q?`${Q}-label`:void 0,Se=sA[F],ae=C.jsx(Se,S({"aria-describedby":se,autoComplete:o,autoFocus:i,defaultValue:u,fullWidth:m,multiline:$,name:E,rows:O,maxRows:w,minRows:R,type:T,value:L,id:Q,inputRef:h,onBlur:M,onChange:P,onFocus:j,onClick:I,placeholder:A,inputProps:g},te,p));return C.jsxs(aA,S({className:J(oe.root,l),disabled:c,error:d,fullWidth:m,ref:n,required:_,color:a,variant:F,ownerState:G},q,{children:[x!=null&&x!==""&&C.jsx(Xd,S({htmlFor:Q,id:Ce},k,{children:x})),N?C.jsx(Jd,S({"aria-describedby":se,id:Q,labelId:Ce,value:L,input:ae},z,{children:s})):ae,y&&C.jsx(rA,S({id:se},f,{children:y}))]}))}),cA=uA,dA=no(C.jsx("path",{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check"),fA=no(C.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 pA({open:e,onClose:t}){const{config:n}=Du(),r=wt.useRef(null),[o,i]=wt.useState(!1),[s,l]=wt.useState("");wt.useEffect(()=>{e&&(async()=>{const{default:c}=await cI(()=>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 C.jsxs(U1,{open:e,onClose:u,"aria-labelledby":"config-dialog-title",maxWidth:"md",fullWidth:!0,children:[C.jsx(G1,{id:"config-dialog-title",children:C.jsxs(Vn,{display:"flex",justifyContent:"space-between",alignItems:"center",children:[C.jsx(yn,{variant:"h6",children:"Config"}),C.jsx(Y1,{onClick:a,children:o?C.jsx(dA,{}):C.jsx(fA,{})})]})}),C.jsx(K1,{children:C.jsx(yn,{variant:"body1",component:"div",children:C.jsx("textarea",{ref:r,readOnly:!0,value:s,style:{width:"100%",minHeight:"400px",fontFamily:"monospace",border:"1px solid #ccc"}})})}),C.jsx(q1,{children:C.jsx(xa,{onClick:u,color:"primary",children:"Close"})})]})}var Wp={},hA=ai;Object.defineProperty(Wp,"__esModule",{value:!0});var X1=Wp.default=void 0,mA=hA(ui()),gA=C,vA=(0,mA.default)((0,gA.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");X1=Wp.default=vA;var Up={},yA=ai;Object.defineProperty(Up,"__esModule",{value:!0});var Q1=Up.default=void 0,xA=yA(ui()),SA=C,bA=(0,xA.default)((0,SA.jsx)("path",{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check");Q1=Up.default=bA;const wA=({open:e,onClose:t,shareUrl:n})=>{const r=b.useRef(null),[o,i]=b.useState(!1),s=()=>{r.current&&(r.current.select(),document.execCommand("copy"),i(!0))},l=()=>{t(),i(!1)};return C.jsxs(U1,{open:e,onClose:l,PaperProps:{style:{minWidth:"min(660px, 100%)"}},children:[C.jsx(G1,{children:"Your eval is ready to share"}),C.jsxs(K1,{children:[C.jsx(cA,{inputRef:r,value:n,fullWidth:!0,InputProps:{readOnly:!0,endAdornment:C.jsx(Y1,{onClick:s,children:o?C.jsx(Q1,{}):C.jsx(X1,{})})}}),C.jsx(XI,{sx:{fontSize:"0.75rem"},children:"Shared URLs are deleted after 1 week."})]}),C.jsx(q1,{children:C.jsx(xa,{onClick:l,color:"primary",children:"Close"})})]})},Ig=wy(kM)(({theme:e})=>({maxWidth:"100%",flexWrap:"wrap",[e.breakpoints.down("sm")]:{flexDirection:"column"}}));function CA(){const{table:e,config:t}=Du(),[n,r]=b.useState(250),[o,i]=b.useState({}),[s,l]=b.useState([]),[a,u]=b.useState({}),c=(A,_)=>{u(O=>({...O,[A]:_}))},[d,f]=b.useState("all"),m=A=>{const _=A.target.value;f(_);const O={};P.prompts.forEach((N,z)=>{const T=`Prompt ${z+1}`;O[T]=_==="failures"}),u(O)},[y,v]=b.useState("break-all"),k=A=>{v(A.target.checked?"break-all":"break-word")},[g,p]=b.useState(!1),[h,x]=b.useState(""),[w,R]=b.useState(!1),$=async()=>{R(!0);try{const A=await fetch("https://api.promptfoo.dev/eval",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({data:{version:1,results:{table:e},config:t}})}),{id:_}=await A.json(),O=`https://app.promptfoo.dev/eval/${_}`;x(O),p(!0)}catch{alert("Sorry, something went wrong.")}finally{R(!1)}},[E,M]=b.useState(!1);Gy(e,"Table data must be loaded before rendering ResultsView");const{head:P}=e,I=A=>{const{target:{value:_}}=A;l(typeof _=="string"?_.split(","):_);const O=[...P.vars.map((z,T)=>`Variable ${T+1}`),...P.prompts.map((z,T)=>`Prompt ${T+1}`)],N={};O.forEach(z=>{N[z]=(typeof _=="string"?_.split(","):_).includes(z)}),i(N)},j=[...P.vars.map((A,_)=>({value:`Variable ${_+1}`,label:`Variable ${_+1}`,group:"Variables"})),...P.prompts.map((A,_)=>({value:`Prompt ${_+1}`,label:`Prompt ${_+1}`,group:"Prompts"}))];return b.useEffect(()=>{l([...P.vars.map((A,_)=>`Variable ${_+1}`),...P.prompts.map((A,_)=>`Prompt ${_+1}`)])},[P]),C.jsxs("div",{children:[C.jsx(Vn,{py:"md",children:C.jsxs(Ig,{direction:"row",spacing:8,alignItems:"center",children:[C.jsx(Vn,{children:C.jsxs(Yd,{sx:{m:1,minWidth:200},size:"small",children:[C.jsx(Xd,{id:"visible-columns-label",children:"Visible columns"}),C.jsx(Jd,{labelId:"visible-columns-label",id:"visible-columns",multiple:!0,value:s,onChange:I,input:C.jsx(Ip,{label:"Visible columns"}),renderValue:A=>A.join(", "),children:j.map(A=>C.jsxs(Cc,{dense:!0,value:A.value,children:[C.jsx(qd,{checked:s.indexOf(A.value)>-1}),C.jsx(e_,{primary:A.label})]},A.value))})]})}),C.jsx(Vn,{children:C.jsxs(Yd,{sx:{minWidth:180},size:"small",children:[C.jsx(Xd,{id:"failure-filter-mode-label",children:"Filter"}),C.jsxs(Jd,{labelId:"filter-mode-label",id:"filter-mode",value:d,onChange:m,label:"Filter",children:[C.jsx(Cc,{value:"all",children:"Show all results"}),C.jsx(Cc,{value:"failures",children:"Show only failures"})]})]})}),C.jsxs(Vn,{children:[C.jsxs(yn,{mt:2,children:["Max text length: ",n]}),C.jsx(wM,{min:25,max:1e3,value:n,onChange:(A,_)=>r(_)})]}),C.jsx(Vn,{children:C.jsx(Pc,{title:"Forcing line breaks makes it easier to adjust column widths to your liking",children:C.jsx(d1,{control:C.jsx(qd,{checked:y==="break-all",onChange:k}),label:"Force line breaks"})})}),C.jsx(Vn,{flexGrow:1}),C.jsx(Vn,{display:"flex",justifyContent:"flex-end",children:C.jsxs(Ig,{direction:"row",spacing:2,children:[t&&C.jsx(Pc,{title:"View config",children:C.jsx(xa,{color:"primary",onClick:()=>M(!0),startIcon:C.jsx(T1,{}),children:"Config"})}),C.jsx(Pc,{title:"Generate a unique URL that others can access",children:C.jsx(xa,{color:"primary",onClick:$,disabled:w,startIcon:w?C.jsx(p2,{size:16}):C.jsx(_1,{}),children:"Share"})})]})})]})}),C.jsx(lI,{maxTextLength:n,columnVisibility:o,wordBreak:y,filterMode:d,failureFilter:a,onFailureFilterToggle:c}),C.jsx(pA,{open:E,onClose:()=>M(!1)}),C.jsx(wA,{open:g,onClose:()=>p(!1),shareUrl:h})]})}function kA(){return C.jsxs(Vn,{className:"logo",children:[C.jsx("img",{src:"/logo.svg",alt:"Promptfoo logo"})," ",C.jsx("span",{children:"promptfoo"})]})}var Gp={},RA=ai;Object.defineProperty(Gp,"__esModule",{value:!0});var Z1=Gp.default=void 0,$A=RA(ui()),EA=C,PA=(0,$A.default)((0,EA.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");Z1=Gp.default=PA;var Kp={},_A=ai;Object.defineProperty(Kp,"__esModule",{value:!0});var J1=Kp.default=void 0,TA=_A(ui()),MA=C,OA=(0,TA.default)((0,MA.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");J1=Kp.default=OA;function IA({darkMode:e,onToggleDarkMode:t}){return C.jsxs("nav",{children:[C.jsx(kA,{}),C.jsx("div",{className:"dark-mode-toggle",onClick:t,children:e?C.jsx(Z1,{}):C.jsx(J1,{})})]})}function AA(){const{table:e,setTable:t,setConfig:n}=Du(),[r,o]=b.useState(!1),i=b.useRef(!1),s=bk("(prefers-color-scheme: dark)"),[l,a]=b.useState(s),u=b.useMemo(()=>yp({palette:{mode:l?"dark":"light"}}),[l]),c=()=>{a(!l),l?document.documentElement.removeAttribute("data-theme"):document.documentElement.setAttribute("data-theme","dark")};return b.useEffect(()=>{const d=async y=>{var g;if(i.current)return;i.current=!0;const k=await(await fetch(`https://api.promptfoo.dev/eval/${y}`)).json();t(((g=k.data.results)==null?void 0:g.table)||k.data.table),n(k.data.config),o(!0)},f=Bl("http://localhost:15500"),m=window.location.pathname.match(/\/eval\/([\w:-]+)/);if(m){const y=m[1];d(y)}else f.on("init",y=>{console.log("Initialized socket connection",y),o(!0),t(y.results.table),n(y.config)}),f.on("update",y=>{console.log("Received data update",y),t(y.results.table),n(y.config)});return()=>{f.disconnect()}},[t,n]),C.jsxs(iR,{theme:u,children:[C.jsx(IA,{darkMode:l,onToggleDarkMode:c}),r&&e?C.jsx(CA,{}):C.jsx("div",{children:"Loading..."})]})}zc.createRoot(document.getElementById("root")).render(C.jsx(wt.StrictMode,{children:C.jsx(AA,{})}));
@@ -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-9d27a707.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-eb1e9052.js"></script>
9
9
  <link rel="stylesheet" href="/assets/index-c3faa651.css">
10
10
  </head>
11
11
  <body>
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "promptfoo",
3
3
  "description": "Prompt engineering toolkit",
4
4
  "author": "Ian Webster",
5
- "version": "0.15.0",
5
+ "version": "0.16.0",
6
6
  "license": "MIT",
7
7
  "type": "commonjs",
8
8
  "main": "dist/src/index.js",
package/src/assertions.ts CHANGED
@@ -4,7 +4,7 @@ import nunjucks from 'nunjucks';
4
4
 
5
5
  import telemetry from './telemetry';
6
6
  import { DefaultEmbeddingProvider, DefaultGradingProvider } from './providers/openai';
7
- import { cosineSimilarity, fetchWithTimeout } from './util';
7
+ import { cosineSimilarity, fetchWithRetries } from './util';
8
8
  import { loadApiProvider } from './providers';
9
9
  import { DEFAULT_GRADING_PROMPT } from './prompts';
10
10
 
@@ -281,7 +281,7 @@ ${assertion.value}`,
281
281
  const context = {
282
282
  vars: test.vars || {},
283
283
  };
284
- const response = await fetchWithTimeout(
284
+ const response = await fetchWithRetries(
285
285
  assertion.value,
286
286
  {
287
287
  method: 'POST',