promptfoo 0.91.3 → 0.92.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/dist/drizzle/0006_harsh_caretaker.sql +42 -0
  2. package/dist/drizzle/0007_cloudy_wong.sql +1 -0
  3. package/dist/drizzle/meta/0006_snapshot.json +721 -0
  4. package/dist/drizzle/meta/0007_snapshot.json +723 -0
  5. package/dist/drizzle/meta/_journal.json +14 -0
  6. package/dist/package.json +10 -8
  7. package/dist/src/app/assets/{index-C6z1nbLN.js → index-BpjzEMiv.js} +243 -241
  8. package/dist/src/app/assets/{index.es-oqbvfIxR.js → index.es-ihzvEu35.js} +1 -1
  9. package/dist/src/app/assets/{sync-D2s75VlC.js → sync-BosjlpGJ.js} +1 -1
  10. package/dist/src/app/index.html +3 -3
  11. package/dist/src/assertions.js +2 -2
  12. package/dist/src/assertions.js.map +1 -1
  13. package/dist/src/commands/cache.d.ts.map +1 -1
  14. package/dist/src/commands/cache.js +0 -2
  15. package/dist/src/commands/cache.js.map +1 -1
  16. package/dist/src/commands/eval.d.ts.map +1 -1
  17. package/dist/src/commands/eval.js +19 -16
  18. package/dist/src/commands/eval.js.map +1 -1
  19. package/dist/src/commands/export.d.ts.map +1 -1
  20. package/dist/src/commands/export.js +8 -31
  21. package/dist/src/commands/export.js.map +1 -1
  22. package/dist/src/commands/import.d.ts.map +1 -1
  23. package/dist/src/commands/import.js +52 -13
  24. package/dist/src/commands/import.js.map +1 -1
  25. package/dist/src/commands/list.d.ts.map +1 -1
  26. package/dist/src/commands/list.js +35 -7
  27. package/dist/src/commands/list.js.map +1 -1
  28. package/dist/src/commands/share.d.ts +2 -2
  29. package/dist/src/commands/share.d.ts.map +1 -1
  30. package/dist/src/commands/share.js +12 -13
  31. package/dist/src/commands/share.js.map +1 -1
  32. package/dist/src/commands/show.d.ts.map +1 -1
  33. package/dist/src/commands/show.js +10 -6
  34. package/dist/src/commands/show.js.map +1 -1
  35. package/dist/src/constants.d.ts +1 -0
  36. package/dist/src/constants.d.ts.map +1 -1
  37. package/dist/src/constants.js +2 -1
  38. package/dist/src/constants.js.map +1 -1
  39. package/dist/src/database/index.js +1 -1
  40. package/dist/src/database/index.js.map +1 -1
  41. package/dist/src/database/tables.d.ts +609 -11
  42. package/dist/src/database/tables.d.ts.map +1 -1
  43. package/dist/src/database/tables.js +111 -52
  44. package/dist/src/database/tables.js.map +1 -1
  45. package/dist/src/database/types.d.ts +3 -3
  46. package/dist/src/database/types.d.ts.map +1 -1
  47. package/dist/src/evaluator.d.ts +3 -2
  48. package/dist/src/evaluator.d.ts.map +1 -1
  49. package/dist/src/evaluator.js +75 -104
  50. package/dist/src/evaluator.js.map +1 -1
  51. package/dist/src/evaluatorHelpers.d.ts.map +1 -1
  52. package/dist/src/evaluatorHelpers.js +2 -1
  53. package/dist/src/evaluatorHelpers.js.map +1 -1
  54. package/dist/src/index.d.ts +2 -1
  55. package/dist/src/index.d.ts.map +1 -1
  56. package/dist/src/index.js +18 -10
  57. package/dist/src/index.js.map +1 -1
  58. package/dist/src/models/eval.d.ts +95 -0
  59. package/dist/src/models/eval.d.ts.map +1 -0
  60. package/dist/src/models/eval.js +390 -0
  61. package/dist/src/models/eval.js.map +1 -0
  62. package/dist/src/models/evalResult.d.ts +50 -0
  63. package/dist/src/models/evalResult.d.ts.map +1 -0
  64. package/dist/src/models/evalResult.js +122 -0
  65. package/dist/src/models/evalResult.js.map +1 -0
  66. package/dist/src/models/provider.d.ts +9 -0
  67. package/dist/src/models/provider.d.ts.map +1 -0
  68. package/dist/src/models/provider.js +47 -0
  69. package/dist/src/models/provider.js.map +1 -0
  70. package/dist/src/prompts/index.d.ts.map +1 -1
  71. package/dist/src/prompts/index.js +2 -1
  72. package/dist/src/prompts/index.js.map +1 -1
  73. package/dist/src/prompts/utils.d.ts +1 -0
  74. package/dist/src/prompts/utils.d.ts.map +1 -1
  75. package/dist/src/prompts/utils.js +7 -0
  76. package/dist/src/prompts/utils.js.map +1 -1
  77. package/dist/src/providers/fal.d.ts +2 -2
  78. package/dist/src/providers/fal.d.ts.map +1 -1
  79. package/dist/src/providers/fal.js +2 -1
  80. package/dist/src/providers/fal.js.map +1 -1
  81. package/dist/src/providers/http.js +2 -2
  82. package/dist/src/providers/http.js.map +1 -1
  83. package/dist/src/providers/palm.d.ts +4 -3
  84. package/dist/src/providers/palm.d.ts.map +1 -1
  85. package/dist/src/providers/palm.js +13 -3
  86. package/dist/src/providers/palm.js.map +1 -1
  87. package/dist/src/providers.js +5 -5
  88. package/dist/src/providers.js.map +1 -1
  89. package/dist/src/redteam/eval/excessive-agency/llm_rubric-20240617.json +10 -0
  90. package/dist/src/redteam/eval/excessive-agency/llm_rubric-20240618.json +10 -0
  91. package/dist/src/redteam/eval/harmful/llm_rubric-20240723.json +10 -0
  92. package/dist/src/redteam/eval/harmful/llm_rubric-20240724.json +10 -0
  93. package/dist/src/server/server.d.ts +1 -0
  94. package/dist/src/server/server.d.ts.map +1 -1
  95. package/dist/src/server/server.js +70 -31
  96. package/dist/src/server/server.js.map +1 -1
  97. package/dist/src/share.d.ts +2 -2
  98. package/dist/src/share.d.ts.map +1 -1
  99. package/dist/src/share.js +93 -34
  100. package/dist/src/share.js.map +1 -1
  101. package/dist/src/table.d.ts +2 -2
  102. package/dist/src/table.d.ts.map +1 -1
  103. package/dist/src/table.js +3 -3
  104. package/dist/src/table.js.map +1 -1
  105. package/dist/src/types/index.d.ts +163 -11
  106. package/dist/src/types/index.d.ts.map +1 -1
  107. package/dist/src/types/index.js +21 -1
  108. package/dist/src/types/index.js.map +1 -1
  109. package/dist/src/util/config/load.d.ts.map +1 -1
  110. package/dist/src/util/config/load.js +2 -1
  111. package/dist/src/util/config/load.js.map +1 -1
  112. package/dist/src/util/config/manage.d.ts.map +1 -1
  113. package/dist/src/util/config/manage.js.map +1 -1
  114. package/dist/src/util/convertEvalResultsToTable.d.ts +16 -0
  115. package/dist/src/util/convertEvalResultsToTable.d.ts.map +1 -0
  116. package/dist/src/util/convertEvalResultsToTable.js +136 -0
  117. package/dist/src/util/convertEvalResultsToTable.js.map +1 -0
  118. package/dist/src/util/createHash.d.ts +1 -0
  119. package/dist/src/util/createHash.d.ts.map +1 -1
  120. package/dist/src/util/createHash.js +9 -0
  121. package/dist/src/util/createHash.js.map +1 -1
  122. package/dist/src/util/file.d.ts +8 -0
  123. package/dist/src/util/file.d.ts.map +1 -0
  124. package/dist/src/util/file.js +13 -0
  125. package/dist/src/util/file.js.map +1 -0
  126. package/dist/src/util/index.d.ts +9 -14
  127. package/dist/src/util/index.d.ts.map +1 -1
  128. package/dist/src/util/index.js +132 -268
  129. package/dist/src/util/index.js.map +1 -1
  130. package/dist/src/util/time.d.ts +2 -0
  131. package/dist/src/util/time.d.ts.map +1 -0
  132. package/dist/src/util/time.js +7 -0
  133. package/dist/src/util/time.js.map +1 -0
  134. package/dist/src/util/transform.js +2 -2
  135. package/dist/src/util/transform.js.map +1 -1
  136. package/dist/src/validators/providers.d.ts +6 -0
  137. package/dist/src/validators/providers.d.ts.map +1 -1
  138. package/dist/src/validators/providers.js +1 -0
  139. package/dist/src/validators/providers.js.map +1 -1
  140. package/dist/src/validators/redteam.d.ts +6 -0
  141. package/dist/src/validators/redteam.d.ts.map +1 -1
  142. package/dist/test/commands/eval/filterFailingTests.test.js +24 -2
  143. package/dist/test/commands/eval/filterFailingTests.test.js.map +1 -1
  144. package/dist/test/evaluator.test.js +152 -74
  145. package/dist/test/evaluator.test.js.map +1 -1
  146. package/dist/test/factories/data/eval/database_records.d.ts +142 -0
  147. package/dist/test/factories/data/eval/database_records.d.ts.map +1 -0
  148. package/dist/test/factories/data/eval/database_records.js +251 -0
  149. package/dist/test/factories/data/eval/database_records.js.map +1 -0
  150. package/dist/test/factories/evalFactory.d.ts +768 -0
  151. package/dist/test/factories/evalFactory.d.ts.map +1 -0
  152. package/dist/test/factories/evalFactory.js +121 -0
  153. package/dist/test/factories/evalFactory.js.map +1 -0
  154. package/dist/test/index.test.js +20 -35
  155. package/dist/test/index.test.js.map +1 -1
  156. package/dist/test/models/eval.test.d.ts +2 -0
  157. package/dist/test/models/eval.test.d.ts.map +1 -0
  158. package/dist/test/models/eval.test.js +34 -0
  159. package/dist/test/models/eval.test.js.map +1 -0
  160. package/dist/test/providers.test.js +3 -3
  161. package/dist/test/providers.test.js.map +1 -1
  162. package/dist/test/server/share.test.d.ts +2 -0
  163. package/dist/test/server/share.test.d.ts.map +1 -0
  164. package/dist/test/server/share.test.js +36 -0
  165. package/dist/test/server/share.test.js.map +1 -0
  166. package/dist/test/server/v3evalToShare.json +507 -0
  167. package/dist/test/server/v4evalToShare.json +421 -0
  168. package/dist/test/types.test.js +56 -3
  169. package/dist/test/types.test.js.map +1 -1
  170. package/dist/test/util.file.test.d.ts +2 -0
  171. package/dist/test/util.file.test.d.ts.map +1 -0
  172. package/dist/test/util.file.test.js +32 -0
  173. package/dist/test/util.file.test.js.map +1 -0
  174. package/dist/test/util.listPrevious.test.d.ts +2 -0
  175. package/dist/test/util.listPrevious.test.d.ts.map +1 -0
  176. package/dist/test/util.listPrevious.test.js +37 -0
  177. package/dist/test/util.listPrevious.test.js.map +1 -0
  178. package/dist/test/util.test.js +38 -311
  179. package/dist/test/util.test.js.map +1 -1
  180. package/dist/tsconfig.tsbuildinfo +1 -0
  181. package/package.json +10 -8
@@ -43,6 +43,7 @@ const envars_1 = require("./envars");
43
43
  const evaluatorHelpers_1 = require("./evaluatorHelpers");
44
44
  const logger_1 = __importDefault(require("./logger"));
45
45
  const prompt_1 = require("./models/prompt");
46
+ const provider_1 = __importDefault(require("./models/provider"));
46
47
  const azureopenaiUtil_1 = require("./providers/azureopenaiUtil");
47
48
  const suggestions_1 = require("./suggestions");
48
49
  const telemetry_1 = __importDefault(require("./telemetry"));
@@ -103,8 +104,9 @@ function generateVarCombinations(vars) {
103
104
  return combinations;
104
105
  }
105
106
  class Evaluator {
106
- constructor(testSuite, options) {
107
+ constructor(testSuite, evalRecord, options) {
107
108
  this.testSuite = testSuite;
109
+ this.evalRecord = evalRecord;
108
110
  this.options = options;
109
111
  this.stats = {
110
112
  successes: 0,
@@ -120,7 +122,7 @@ class Evaluator {
120
122
  this.registers = {};
121
123
  }
122
124
  async runEval({ provider, prompt, // raw prompt
123
- test, delay, nunjucksFilters: filters, evaluateOptions, }) {
125
+ test, delay, nunjucksFilters: filters, evaluateOptions, testIdx, promptIdx, }) {
124
126
  // Use the original prompt to set the label, not renderedPrompt
125
127
  const promptLabel = prompt.label;
126
128
  // Set up the special _conversation variable
@@ -145,6 +147,7 @@ class Evaluator {
145
147
  provider: {
146
148
  id: provider.id(),
147
149
  label: provider.label,
150
+ config: provider.config,
148
151
  },
149
152
  prompt: {
150
153
  raw: renderedPrompt,
@@ -215,6 +218,10 @@ class Evaluator {
215
218
  latencyMs,
216
219
  cost: response.cost,
217
220
  metadata: response.metadata,
221
+ promptIdx,
222
+ testIdx,
223
+ testCase: test,
224
+ promptId: prompt.id || '',
218
225
  };
219
226
  if (response.error) {
220
227
  ret.error = response.error;
@@ -291,12 +298,17 @@ class Evaluator {
291
298
  score: 0,
292
299
  namedScores: {},
293
300
  latencyMs,
301
+ promptIdx,
302
+ testIdx,
303
+ testCase: test,
304
+ promptId: prompt.id || '',
294
305
  };
295
306
  }
296
307
  }
297
308
  async evaluate() {
298
309
  const { testSuite, options } = this;
299
310
  const prompts = [];
311
+ const rowsWithSelectBestAssertion = new Set();
300
312
  await (0, evaluatorHelpers_1.runExtensionHook)(testSuite.extensions, 'beforeAll', { suite: testSuite });
301
313
  if (options.generateSuggestions) {
302
314
  // TODO(ian): Move this into its own command/file
@@ -449,7 +461,7 @@ class Evaluator {
449
461
  }
450
462
  // Set up eval cases
451
463
  const runEvalOptions = [];
452
- let rowIndex = 0;
464
+ let testIdx = 0;
453
465
  for (let index = 0; index < tests.length; index++) {
454
466
  const testCase = tests[index];
455
467
  (0, tiny_invariant_1.default)(Array.isArray(testSuite.defaultTest?.assert || []), `defaultTest.assert is not an array in test case #${index + 1}`);
@@ -469,7 +481,7 @@ class Evaluator {
469
481
  const numRepeat = this.options.repeat || 1;
470
482
  for (let repeatIndex = 0; repeatIndex < numRepeat; repeatIndex++) {
471
483
  for (const vars of varCombinations) {
472
- let colIndex = 0;
484
+ let promptIdx = 0;
473
485
  // Order matters - keep provider in outer loop to reduce need to swap models during local inference.
474
486
  for (const provider of testSuite.providers) {
475
487
  for (const prompt of testSuite.prompts) {
@@ -486,30 +498,18 @@ class Evaluator {
486
498
  },
487
499
  test: { ...testCase, vars, options: testCase.options },
488
500
  nunjucksFilters: testSuite.nunjucksFilters,
489
- rowIndex,
490
- colIndex,
501
+ testIdx,
502
+ promptIdx,
491
503
  repeatIndex,
492
504
  evaluateOptions: options,
493
505
  });
494
- colIndex++;
506
+ promptIdx++;
495
507
  }
496
508
  }
497
- rowIndex++;
509
+ testIdx++;
498
510
  }
499
511
  }
500
512
  }
501
- // Set up table...
502
- const isTest = tests.some((t) => !!t.assert);
503
- const table = {
504
- head: {
505
- prompts,
506
- vars: [
507
- ...Object.keys(testSuite.defaultTest?.vars || {}).sort(),
508
- ...Array.from(varNames).sort(),
509
- ],
510
- },
511
- body: [],
512
- };
513
513
  // Determine run parameters
514
514
  let concurrency = options.maxConcurrency || exports.DEFAULT_MAX_CONCURRENCY;
515
515
  if (concurrency > 1) {
@@ -525,7 +525,6 @@ class Evaluator {
525
525
  }
526
526
  }
527
527
  // Actually run the eval
528
- const results = [];
529
528
  let numComplete = 0;
530
529
  const processEvalStep = async (evalStep, index) => {
531
530
  if (typeof index !== 'number') {
@@ -535,61 +534,21 @@ class Evaluator {
535
534
  test: evalStep.test,
536
535
  });
537
536
  const row = await this.runEval(evalStep);
538
- results.push(row);
537
+ if (evalStep.test.assert?.some((a) => a.type === 'select-best')) {
538
+ rowsWithSelectBestAssertion.add(row.testIdx);
539
+ }
539
540
  numComplete++;
540
541
  if (options.progressCallback) {
541
- options.progressCallback(results.length, runEvalOptions.length, index, evalStep);
542
- }
543
- // Bookkeeping for table
544
- let resultText;
545
- const outputTextDisplay = (typeof row.response?.output === 'object'
546
- ? JSON.stringify(row.response.output)
547
- : row.response?.output || row.error || '');
548
- if (isTest) {
549
- if (row.success) {
550
- resultText = `${outputTextDisplay || row.error || ''}`;
551
- }
552
- else {
553
- resultText = `${row.error}\n---\n${outputTextDisplay}`;
554
- }
542
+ options.progressCallback(this.evalRecord.results.length, runEvalOptions.length, index, evalStep);
555
543
  }
556
- else if (row.error) {
557
- resultText = `${row.error}`;
544
+ try {
545
+ await this.evalRecord.addResult(row, evalStep.test);
558
546
  }
559
- else {
560
- resultText = outputTextDisplay;
561
- }
562
- const { rowIndex, colIndex } = evalStep;
563
- if (!table.body[rowIndex]) {
564
- table.body[rowIndex] = {
565
- description: evalStep.test.description,
566
- outputs: [],
567
- test: evalStep.test,
568
- vars: table.head.vars
569
- .map((varName) => {
570
- const varValue = evalStep.test.vars?.[varName] || '';
571
- if (typeof varValue === 'string') {
572
- return varValue;
573
- }
574
- return JSON.stringify(varValue);
575
- })
576
- .flat(),
577
- };
547
+ catch (error) {
548
+ logger_1.default.error(`Error saving result: ${error} ${JSON.stringify(row)}`);
578
549
  }
579
- table.body[rowIndex].outputs[colIndex] = {
580
- pass: row.success,
581
- score: row.score,
582
- namedScores: row.namedScores,
583
- text: resultText,
584
- prompt: row.prompt.raw,
585
- provider: row.provider.label || row.provider.id,
586
- latencyMs: row.latencyMs,
587
- tokenUsage: row.response?.tokenUsage,
588
- gradingResult: row.gradingResult,
589
- cost: row.cost || 0,
590
- metadata: row.metadata,
591
- };
592
- const metrics = table.head.prompts[colIndex].metrics;
550
+ const { promptIdx } = row;
551
+ const metrics = prompts[promptIdx].metrics;
593
552
  (0, tiny_invariant_1.default)(metrics, 'Expected prompt.metrics to be set');
594
553
  metrics.score += row.score;
595
554
  for (const [key, value] of Object.entries(row.namedScores)) {
@@ -705,7 +664,7 @@ class Evaluator {
705
664
  // Then run concurrent evaluations
706
665
  await async_1.default.forEachOfLimit(concurrentRunEvalOptions, concurrency, processEvalStep);
707
666
  // Do we have to run comparisons between row outputs?
708
- const compareRowsCount = table.body.reduce((count, row) => count + (row.test.assert?.some((a) => a.type === 'select-best') ? 1 : 0), 0);
667
+ const compareRowsCount = rowsWithSelectBestAssertion.size;
709
668
  let progressBar;
710
669
  if (compareRowsCount > 0 && multibar) {
711
670
  progressBar = multibar.create(compareRowsCount, 0, {
@@ -714,60 +673,72 @@ class Evaluator {
714
673
  vars: '',
715
674
  });
716
675
  }
717
- for (let index = 0; index < table.body.length; index++) {
718
- const row = table.body[index];
719
- const compareAssertion = row.test.assert?.find((a) => a.type === 'select-best');
676
+ let compareCount = 0;
677
+ for (const testIdx of rowsWithSelectBestAssertion) {
678
+ compareCount++;
679
+ const resultsToCompare = this.evalRecord.results.filter((r) => r.testIdx === testIdx);
680
+ if (resultsToCompare.length === 0) {
681
+ logger_1.default.warn(`Expected results to be found for test index ${testIdx}`);
682
+ continue;
683
+ }
684
+ const compareAssertion = resultsToCompare[0].testCase.assert?.find((a) => a.type === 'select-best');
720
685
  if (compareAssertion) {
721
- const outputs = row.outputs.map((o) => o.text);
722
- const gradingResults = await (0, assertions_1.runCompareAssertion)(row.test, compareAssertion, outputs);
723
- row.outputs.forEach((output, index) => {
686
+ const outputs = resultsToCompare.map((r) => r.response?.output || '');
687
+ const gradingResults = await (0, assertions_1.runCompareAssertion)(resultsToCompare[0].testCase, compareAssertion, outputs);
688
+ for (let index = 0; index < resultsToCompare.length; index++) {
689
+ const result = resultsToCompare[index];
724
690
  const gradingResult = gradingResults[index];
725
- if (output.gradingResult) {
726
- output.gradingResult.tokensUsed = output.gradingResult.tokensUsed || {
691
+ if (result.gradingResult) {
692
+ result.gradingResult.tokensUsed = result.gradingResult.tokensUsed || {
727
693
  total: 0,
728
694
  prompt: 0,
729
695
  completion: 0,
730
696
  };
731
- output.gradingResult.tokensUsed = output.gradingResult.tokensUsed || {
697
+ result.gradingResult.tokensUsed = result.gradingResult.tokensUsed || {
732
698
  total: 0,
733
699
  prompt: 0,
734
700
  completion: 0,
735
701
  };
736
- output.gradingResult.tokensUsed.total =
737
- (output.gradingResult.tokensUsed.total || 0) + (gradingResult.tokensUsed?.total || 0);
738
- output.gradingResult.tokensUsed.prompt =
739
- (output.gradingResult.tokensUsed.prompt || 0) +
702
+ result.gradingResult.tokensUsed.total =
703
+ (result.gradingResult.tokensUsed.total || 0) + (gradingResult.tokensUsed?.total || 0);
704
+ result.gradingResult.tokensUsed.prompt =
705
+ (result.gradingResult.tokensUsed.prompt || 0) +
740
706
  (gradingResult.tokensUsed?.prompt || 0);
741
- output.gradingResult.tokensUsed.completion =
742
- (output.gradingResult.tokensUsed.completion || 0) +
707
+ result.gradingResult.tokensUsed.completion =
708
+ (result.gradingResult.tokensUsed.completion || 0) +
743
709
  (gradingResult.tokensUsed?.completion || 0);
744
- output.pass = output.gradingResult.pass =
745
- output.gradingResult.pass && gradingResult.pass;
710
+ result.success = result.gradingResult.pass =
711
+ result.gradingResult.pass && gradingResult.pass;
746
712
  if (!gradingResult.pass) {
747
713
  // Failure overrides the reason and the score
748
- output.gradingResult.reason = gradingResult.reason;
749
- output.score = output.gradingResult.score = gradingResult.score;
750
- output.text = `${gradingResult.reason}\n---\n${output.text}`;
714
+ result.gradingResult.reason = gradingResult.reason;
715
+ result.score = result.gradingResult.score = gradingResult.score;
751
716
  }
752
- if (!output.gradingResult.componentResults) {
753
- output.gradingResult.componentResults = [];
717
+ if (!result.gradingResult.componentResults) {
718
+ result.gradingResult.componentResults = [];
754
719
  }
755
- output.gradingResult.componentResults.push(gradingResult);
720
+ result.gradingResult.componentResults.push(gradingResult);
756
721
  }
757
722
  else {
758
- output.gradingResult = gradingResult;
723
+ result.gradingResult = gradingResult;
759
724
  }
760
- });
725
+ if (this.evalRecord.persisted) {
726
+ await result.save();
727
+ }
728
+ }
761
729
  if (progressBar) {
762
730
  progressBar.increment({
763
- prompt: row.outputs[0].text.slice(0, 10).replace(/\n/g, ''),
731
+ prompt: resultsToCompare[0].prompt.raw.slice(0, 10).replace(/\n/g, ''),
764
732
  });
765
733
  }
766
734
  else {
767
- logger_1.default.debug(`Model-graded comparison #${index + 1} of ${compareRowsCount} complete`);
735
+ logger_1.default.debug(`Model-graded comparison #${compareCount} of ${compareRowsCount} complete`);
768
736
  }
769
737
  }
770
738
  }
739
+ await this.evalRecord.addPrompts(prompts);
740
+ const providers = await provider_1.default.createMultiple(testSuite.providers);
741
+ await this.evalRecord.addProviders(providers);
771
742
  // Finish up
772
743
  if (multibar) {
773
744
  multibar.stop();
@@ -776,7 +747,7 @@ class Evaluator {
776
747
  progressBar.stop();
777
748
  }
778
749
  await (0, evaluatorHelpers_1.runExtensionHook)(testSuite.extensions, 'afterAll', {
779
- results,
750
+ results: this.evalRecord.results.map((r) => r.toEvaluateResult()),
780
751
  suite: testSuite,
781
752
  });
782
753
  telemetry_1.default.record('eval_ran', {
@@ -792,14 +763,14 @@ class Evaluator {
792
763
  assertionTypes: Array.from(new Set(tests.flatMap((t) => t.assert || []).map((a) => a.type))).sort(),
793
764
  eventSource: options.eventSource || 'default',
794
765
  ci: (0, envars_1.isCI)(),
795
- hasAnyPass: results.some((r) => r.success),
766
+ hasAnyPass: this.evalRecord.results.some((r) => r.success),
796
767
  isRedteam: Boolean(testSuite.redteam),
797
768
  });
798
- return { version: 2, timestamp: new Date().toISOString(), results, stats: this.stats, table };
769
+ return this.evalRecord;
799
770
  }
800
771
  }
801
- function evaluate(testSuite, options) {
802
- const ev = new Evaluator(testSuite, options);
772
+ function evaluate(testSuite, evalRecord, options) {
773
+ const ev = new Evaluator(testSuite, evalRecord, options);
803
774
  return ev.evaluate();
804
775
  }
805
776
  //# sourceMappingURL=evaluator.js.map
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"evaluatorHelpers.d.ts","sourceRoot":"","sources":["../../src/evaluatorHelpers.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAKtE,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACzC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CA4BjC;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACrC,eAAe,CAAC,EAAE,iBAAiB,EACnC,QAAQ,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC,CA4HjB;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,EAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,GAAG,iBAUb"}
1
+ {"version":3,"file":"evaluatorHelpers.d.ts","sourceRoot":"","sources":["../../src/evaluatorHelpers.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAMtE,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACzC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CA4BjC;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACrC,eAAe,CAAC,EAAE,iBAAiB,EACnC,QAAQ,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC,CA4HjB;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,EAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,GAAG,iBAUb"}
@@ -39,6 +39,7 @@ const esm_1 = require("./esm");
39
39
  const logger_1 = __importDefault(require("./logger"));
40
40
  const pythonUtils_1 = require("./python/pythonUtils");
41
41
  const util_1 = require("./util");
42
+ const file_1 = require("./util/file");
42
43
  const templates_1 = require("./util/templates");
43
44
  const transform_1 = require("./util/transform");
44
45
  function resolveVariables(variables) {
@@ -79,7 +80,7 @@ async function renderPrompt(prompt, vars, nunjucksFilters, provider) {
79
80
  const filePath = path.resolve(process.cwd(), basePath, value.slice('file://'.length));
80
81
  const fileExtension = filePath.split('.').pop();
81
82
  logger_1.default.debug(`Loading var ${varName} from file: ${filePath}`);
82
- if ((0, util_1.isJavascriptFile)(filePath)) {
83
+ if ((0, file_1.isJavascriptFile)(filePath)) {
83
84
  const javascriptOutput = (await (await (0, esm_1.importModule)(filePath))(varName, basePrompt, vars, provider));
84
85
  if (javascriptOutput.error) {
85
86
  throw new Error(`Error running ${filePath}: ${javascriptOutput.error}`);
@@ -1 +1 @@
1
- {"version":3,"file":"evaluatorHelpers.js","sourceRoot":"","sources":["../../src/evaluatorHelpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,4CA8BC;AAED,oCAiIC;AASD,4CAaC;AArMD,uCAAyB;AACzB,sDAA2B;AAC3B,2CAA6B;AAC7B,oEAAuC;AACvC,0DAAkC;AAClC,qCAAsC;AACtC,+BAAqC;AACrC,sDAA8B;AAC9B,sDAAiD;AAEjD,iCAA8D;AAC9D,gDAAqD;AACrD,gDAA6C;AAE7C,SAAgB,gBAAgB,CAC9B,SAA0C;IAE1C,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,MAAM,KAAK,GAAG,qBAAqB,CAAC,CAAC,qDAAqD;IAE1F,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC;QACF,QAAQ,GAAG,IAAI,CAAC;QAChB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACvC,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAW,CAAC;YACvC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;gBACrC,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;oBACrC,6DAA6D;oBAC7D,oEAAoE;gBACtE,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,CAAW,CAAC,CAAC;oBAC1E,QAAQ,GAAG,KAAK,CAAC,CAAC,gEAAgE;gBACpF,CAAC;YACH,CAAC;QACH,CAAC;QACD,UAAU,EAAE,CAAC;IACf,CAAC,QAAQ,CAAC,QAAQ,IAAI,UAAU,GAAG,CAAC,EAAE;IAEtC,OAAO,SAAS,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,IAAqC,EACrC,eAAmC,EACnC,QAAsB;IAEtB,MAAM,QAAQ,GAAG,IAAA,6BAAiB,EAAC,eAAe,CAAC,CAAC;IAEpD,IAAI,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC;IAE5B,aAAa;IACb,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,MAAM,QAAQ,GAAG,kBAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YACtF,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YAEhD,gBAAM,CAAC,KAAK,CAAC,eAAe,OAAO,eAAe,QAAQ,EAAE,CAAC,CAAC;YAC9D,IAAI,IAAA,uBAAgB,EAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,MAAM,gBAAgB,GAAG,CAAC,MAAM,CAC9B,MAAM,IAAA,kBAAY,EAAC,QAAQ,CAAC,CAC7B,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAGrC,CAAC;gBACF,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,KAAK,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC1E,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CACb,YAAY,QAAQ,yCAAyC,gBAAgB,EAAE,CAChF,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC;YAC1C,CAAC;iBAAM,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;gBAClC,MAAM,kBAAkB,GAAG,CAAC,MAAM,IAAA,uBAAS,EAAC,QAAQ,EAAE,SAAS,EAAE;oBAC/D,OAAO;oBACP,UAAU;oBACV,IAAI;iBACL,CAAC,CAAwC,CAAC;gBAC3C,IAAI,kBAAkB,CAAC,KAAK,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,KAAK,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC1F,CAAC;gBACD,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,4BAA4B,CAAC,CAAC;gBACzE,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnD,CAAC;iBAAM,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;gBAC/D,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAC5B,iBAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAoB,CAChE,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,UAAU,GAAG,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,uDAAuD,OAAO,MAAM,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,0FAA0F;IAC1F,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEvB,2BAA2B;IAC3B,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACxC,MAAM,EAAE,SAAS,EAAE,GAAG,wDAAa,wBAAwB,GAAC,CAAC;QAC7D,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;SAAM,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAChD,MAAM,EAAE,SAAS,EAAE,GAAG,wDAAa,yBAAyB,GAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE9D,6BAA6B;QAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzE,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,SAAS,CACpC,MAAM,EACN,IAAI,EACJ,UAAU,EACV,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CACnD,CAAC;QACF,OAAO,cAAc,CAAC;IACxB,CAAC;SAAM,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAChD,MAAM,EAAE,SAAS,EAAE,GAAG,wDAAa,yBAAyB,GAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3F,MAAM,cAAc,GAAG,MAAM,SAAS,CACpC,EAAE,EACF,IAAI,EACJ,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAC7D,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAC9D,CAAC;QACF,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,gBAAgB;IAChB,IAAI,CAAC;QACH,IAAI,IAAA,mBAAU,EAAC,mCAAmC,CAAC,EAAE,CAAC;YACpD,OAAO,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEtC,qHAAqH;QACrH,qFAAqF;QACrF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAA,yBAAkB,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,gBAAgB,CACpC,UAAgC,EAChC,QAAgB,EAChB,OAAY;IAEZ,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzE,OAAO;IACT,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAA,wBAAS,EAAC,OAAO,SAAS,KAAK,QAAQ,EAAE,4BAA4B,CAAC,CAAC;QACvE,gBAAM,CAAC,KAAK,CAAC,0BAA0B,QAAQ,iBAAiB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3F,MAAM,IAAA,qBAAS,EAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"evaluatorHelpers.js","sourceRoot":"","sources":["../../src/evaluatorHelpers.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import assertions from './assertions';
2
2
  import * as cache from './cache';
3
+ import Eval from './models/eval';
3
4
  import providers, { loadApiProvider } from './providers';
4
5
  import { extractEntities } from './redteam/extraction/entities';
5
6
  import { extractSystemPurpose } from './redteam/extraction/purpose';
@@ -7,7 +8,7 @@ import { RedteamPluginBase, RedteamGraderBase } from './redteam/plugins/base';
7
8
  import type { EvaluateOptions, EvaluateTestSuite } from './types';
8
9
  export * from './types';
9
10
  export { generateTable } from './table';
10
- declare function evaluate(testSuite: EvaluateTestSuite, options?: EvaluateOptions): Promise<import("./types").EvaluateSummary>;
11
+ declare function evaluate(testSuite: EvaluateTestSuite, options?: EvaluateOptions): Promise<Eval>;
11
12
  declare const redteam: {
12
13
  Extractors: {
13
14
  extractEntities: typeof extractEntities;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAGjC,OAAO,SAAS,EAAE,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAI9E,OAAO,KAAK,EACV,eAAe,EAEf,iBAAiB,EAIlB,MAAM,SAAS,CAAC;AASjB,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,iBAAe,QAAQ,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,GAAE,eAAoB,8CAgGlF;AAED,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYZ,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3D,wBAME"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAGjC,OAAO,IAAI,MAAM,eAAe,CAAC;AAEjC,OAAO,SAAS,EAAE,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAI9E,OAAO,KAAK,EACV,eAAe,EAEf,iBAAiB,EAIlB,MAAM,SAAS,CAAC;AAIjB,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,iBAAe,QAAQ,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,GAAE,eAAoB,iBAwGlF;AAED,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYZ,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3D,wBAME"}
package/dist/src/index.js CHANGED
@@ -37,6 +37,8 @@ exports.assertions = assertions_1.default;
37
37
  const cache = __importStar(require("./cache"));
38
38
  exports.cache = cache;
39
39
  const evaluator_1 = require("./evaluator");
40
+ const migrate_1 = require("./migrate");
41
+ const eval_1 = __importDefault(require("./models/eval"));
40
42
  const prompts_1 = require("./prompts");
41
43
  const providers_1 = __importStar(require("./providers"));
42
44
  exports.providers = providers_1.default;
@@ -50,10 +52,14 @@ const strategies_1 = require("./redteam/strategies");
50
52
  const telemetry_1 = __importDefault(require("./telemetry"));
51
53
  const testCases_1 = require("./testCases");
52
54
  const util_1 = require("./util");
55
+ const prompts_2 = require("./validators/prompts");
53
56
  __exportStar(require("./types"), exports);
54
57
  var table_1 = require("./table");
55
58
  Object.defineProperty(exports, "generateTable", { enumerable: true, get: function () { return table_1.generateTable; } });
56
59
  async function evaluate(testSuite, options = {}) {
60
+ if (testSuite.writeLatestResults) {
61
+ await (0, migrate_1.runDbMigrations)();
62
+ }
57
63
  const constructedTestSuite = {
58
64
  ...testSuite,
59
65
  scenarios: testSuite.scenarios,
@@ -74,7 +80,11 @@ async function evaluate(testSuite, options = {}) {
74
80
  else if (typeof promptInput === 'string') {
75
81
  return (0, prompts_1.readPrompts)(promptInput);
76
82
  }
77
- else {
83
+ try {
84
+ return prompts_2.PromptSchema.parse(promptInput);
85
+ }
86
+ catch (error) {
87
+ console.warn(`Prompt input is not a valid prompt schema: ${error}\nFalling back to serialized JSON as raw prompt.`);
78
88
  return {
79
89
  raw: JSON.stringify(promptInput),
80
90
  label: JSON.stringify(promptInput),
@@ -113,26 +123,24 @@ async function evaluate(testSuite, options = {}) {
113
123
  cache.disableCache();
114
124
  }
115
125
  const parsedProviderPromptMap = (0, prompts_1.readProviderPromptMap)(testSuite, constructedTestSuite.prompts);
126
+ const unifiedConfig = { ...testSuite, prompts: constructedTestSuite.prompts };
127
+ const evalRecord = testSuite.writeLatestResults
128
+ ? await eval_1.default.create(unifiedConfig, constructedTestSuite.prompts)
129
+ : new eval_1.default(unifiedConfig);
116
130
  // Run the eval!
117
131
  const ret = await (0, evaluator_1.evaluate)({
118
132
  ...constructedTestSuite,
119
133
  providerPromptMap: parsedProviderPromptMap,
120
- }, {
134
+ }, evalRecord, {
121
135
  eventSource: 'library',
122
136
  ...options,
123
137
  });
124
- const unifiedConfig = { ...testSuite, prompts: constructedTestSuite.prompts };
125
- let evalId = null;
126
- if (testSuite.writeLatestResults) {
127
- await (0, util_1.migrateResultsFromFileSystemToDatabase)();
128
- evalId = await (0, util_1.writeResultsToDatabase)(ret, unifiedConfig);
129
- }
130
138
  if (testSuite.outputPath) {
131
139
  if (typeof testSuite.outputPath === 'string') {
132
- await (0, util_1.writeOutput)(testSuite.outputPath, evalId, ret, unifiedConfig, null);
140
+ await (0, util_1.writeOutput)(testSuite.outputPath, evalRecord, null);
133
141
  }
134
142
  else if (Array.isArray(testSuite.outputPath)) {
135
- await (0, util_1.writeMultipleOutputs)(testSuite.outputPath, evalId, ret, unifiedConfig, null);
143
+ await (0, util_1.writeMultipleOutputs)(testSuite.outputPath, evalRecord, null);
136
144
  }
137
145
  }
138
146
  await telemetry_1.default.send();