promptfoo 0.77.0 → 0.78.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 (176) hide show
  1. package/README.md +5 -1
  2. package/dist/package.json +10 -10
  3. package/dist/src/assertions.js +1 -1
  4. package/dist/src/assertions.js.map +1 -1
  5. package/dist/src/commands/delete.js +1 -1
  6. package/dist/src/commands/delete.js.map +1 -1
  7. package/dist/src/commands/eval.d.ts.map +1 -1
  8. package/dist/src/commands/eval.js +19 -9
  9. package/dist/src/commands/eval.js.map +1 -1
  10. package/dist/src/commands/generate/redteam.d.ts.map +1 -1
  11. package/dist/src/commands/generate/redteam.js +4 -1
  12. package/dist/src/commands/generate/redteam.js.map +1 -1
  13. package/dist/src/commands/redteam.d.ts.map +1 -1
  14. package/dist/src/commands/redteam.js +93 -77
  15. package/dist/src/commands/redteam.js.map +1 -1
  16. package/dist/src/commands/share.js +1 -1
  17. package/dist/src/commands/share.js.map +1 -1
  18. package/dist/src/config.d.ts.map +1 -1
  19. package/dist/src/config.js +12 -0
  20. package/dist/src/config.js.map +1 -1
  21. package/dist/src/database/tables.d.ts +1 -0
  22. package/dist/src/database/tables.d.ts.map +1 -1
  23. package/dist/src/evaluator.d.ts.map +1 -1
  24. package/dist/src/evaluator.js +13 -1
  25. package/dist/src/evaluator.js.map +1 -1
  26. package/dist/src/evaluatorHelpers.d.ts +8 -0
  27. package/dist/src/evaluatorHelpers.d.ts.map +1 -1
  28. package/dist/src/evaluatorHelpers.js +28 -0
  29. package/dist/src/evaluatorHelpers.js.map +1 -1
  30. package/dist/src/integrations/helicone.d.ts +11 -0
  31. package/dist/src/integrations/helicone.d.ts.map +1 -0
  32. package/dist/src/integrations/helicone.js +68 -0
  33. package/dist/src/integrations/helicone.js.map +1 -0
  34. package/dist/src/onboarding.d.ts +1 -1
  35. package/dist/src/onboarding.d.ts.map +1 -1
  36. package/dist/src/onboarding.js +3 -1
  37. package/dist/src/onboarding.js.map +1 -1
  38. package/dist/src/prompts/utils.js +1 -1
  39. package/dist/src/prompts/utils.js.map +1 -1
  40. package/dist/src/providers/anthropic.d.ts.map +1 -1
  41. package/dist/src/providers/anthropic.js +2 -1
  42. package/dist/src/providers/anthropic.js.map +1 -1
  43. package/dist/src/providers/azureopenai.d.ts.map +1 -1
  44. package/dist/src/providers/azureopenai.js +2 -2
  45. package/dist/src/providers/azureopenai.js.map +1 -1
  46. package/dist/src/providers/bedrock.d.ts.map +1 -1
  47. package/dist/src/providers/bedrock.js +3 -2
  48. package/dist/src/providers/bedrock.js.map +1 -1
  49. package/dist/src/providers/openai.d.ts.map +1 -1
  50. package/dist/src/providers/openai.js +4 -3
  51. package/dist/src/providers/openai.js.map +1 -1
  52. package/dist/src/providers/shared.d.ts +0 -1
  53. package/dist/src/providers/shared.d.ts.map +1 -1
  54. package/dist/src/providers/shared.js +0 -53
  55. package/dist/src/providers/shared.js.map +1 -1
  56. package/dist/src/python/pythonUtils.d.ts.map +1 -1
  57. package/dist/src/python/pythonUtils.js +8 -8
  58. package/dist/src/python/pythonUtils.js.map +1 -1
  59. package/dist/src/python/wrapper.py +3 -1
  60. package/dist/src/redteam/index.d.ts +1 -1
  61. package/dist/src/redteam/index.d.ts.map +1 -1
  62. package/dist/src/redteam/index.js +5 -2
  63. package/dist/src/redteam/index.js.map +1 -1
  64. package/dist/src/redteam/plugins/base.d.ts +4 -1
  65. package/dist/src/redteam/plugins/base.d.ts.map +1 -1
  66. package/dist/src/redteam/plugins/base.js +30 -9
  67. package/dist/src/redteam/plugins/base.js.map +1 -1
  68. package/dist/src/redteam/plugins/harmful.d.ts.map +1 -1
  69. package/dist/src/redteam/plugins/harmful.js +3 -3
  70. package/dist/src/redteam/plugins/harmful.js.map +1 -1
  71. package/dist/src/redteam/plugins/index.d.ts.map +1 -1
  72. package/dist/src/redteam/plugins/index.js +15 -19
  73. package/dist/src/redteam/plugins/index.js.map +1 -1
  74. package/dist/src/redteam/providers/constants.d.ts +4 -0
  75. package/dist/src/redteam/providers/constants.d.ts.map +1 -0
  76. package/dist/src/redteam/providers/constants.js +9 -0
  77. package/dist/src/redteam/providers/constants.js.map +1 -0
  78. package/dist/src/redteam/providers/iterative.d.ts +1 -0
  79. package/dist/src/redteam/providers/iterative.d.ts.map +1 -1
  80. package/dist/src/redteam/providers/iterative.js +13 -83
  81. package/dist/src/redteam/providers/iterative.js.map +1 -1
  82. package/dist/src/redteam/providers/iterativeImage.d.ts.map +1 -1
  83. package/dist/src/redteam/providers/iterativeImage.js +3 -26
  84. package/dist/src/redteam/providers/iterativeImage.js.map +1 -1
  85. package/dist/src/redteam/providers/iterativeTree.d.ts +161 -14
  86. package/dist/src/redteam/providers/iterativeTree.d.ts.map +1 -1
  87. package/dist/src/redteam/providers/iterativeTree.js +343 -328
  88. package/dist/src/redteam/providers/iterativeTree.js.map +1 -1
  89. package/dist/src/redteam/providers/prompts.d.ts +4 -0
  90. package/dist/src/redteam/providers/prompts.d.ts.map +1 -0
  91. package/dist/src/redteam/providers/prompts.js +77 -0
  92. package/dist/src/redteam/providers/prompts.js.map +1 -0
  93. package/dist/src/types/index.d.ts +10 -0
  94. package/dist/src/types/index.d.ts.map +1 -1
  95. package/dist/src/types/index.js +4 -0
  96. package/dist/src/types/index.js.map +1 -1
  97. package/dist/src/types/redteam.d.ts +3 -0
  98. package/dist/src/types/redteam.d.ts.map +1 -1
  99. package/dist/src/util/index.d.ts +14 -1
  100. package/dist/src/util/index.d.ts.map +1 -1
  101. package/dist/src/util/index.js +63 -26
  102. package/dist/src/util/index.js.map +1 -1
  103. package/dist/src/util/templates.d.ts +1 -3
  104. package/dist/src/util/templates.d.ts.map +1 -1
  105. package/dist/src/util/templates.js.map +1 -1
  106. package/dist/src/util/transform.d.ts +9 -8
  107. package/dist/src/util/transform.d.ts.map +1 -1
  108. package/dist/src/util/transform.js +66 -16
  109. package/dist/src/util/transform.js.map +1 -1
  110. package/dist/src/validators/redteam.d.ts +12 -5
  111. package/dist/src/validators/redteam.d.ts.map +1 -1
  112. package/dist/src/validators/redteam.js +6 -3
  113. package/dist/src/validators/redteam.js.map +1 -1
  114. package/dist/src/web/nextui/404/index.html +1 -1
  115. package/dist/src/web/nextui/404.html +1 -1
  116. package/dist/src/web/nextui/_next/static/chunks/585-8b9b2c41f03d3ab8.js +1 -0
  117. package/dist/src/web/nextui/_next/static/chunks/app/{layout-3e4716f7ebdd0dab.js → layout-47ed2a4410747d7e.js} +1 -1
  118. package/dist/src/web/nextui/_next/static/chunks/app/report/page-1da24ad6423ea2a5.js +1 -0
  119. package/dist/src/web/nextui/_next/static/chunks/main-app-0dc90092cd7acaaf.js +1 -0
  120. package/dist/src/web/nextui/auth/login/index.html +1 -1
  121. package/dist/src/web/nextui/auth/login/index.txt +2 -2
  122. package/dist/src/web/nextui/auth/signup/index.html +1 -1
  123. package/dist/src/web/nextui/auth/signup/index.txt +2 -2
  124. package/dist/src/web/nextui/datasets/index.html +1 -1
  125. package/dist/src/web/nextui/datasets/index.txt +2 -2
  126. package/dist/src/web/nextui/eval/index.html +1 -1
  127. package/dist/src/web/nextui/eval/index.txt +3 -3
  128. package/dist/src/web/nextui/index.html +1 -1
  129. package/dist/src/web/nextui/index.txt +2 -2
  130. package/dist/src/web/nextui/progress/index.html +1 -1
  131. package/dist/src/web/nextui/progress/index.txt +2 -2
  132. package/dist/src/web/nextui/prompts/index.html +1 -1
  133. package/dist/src/web/nextui/prompts/index.txt +2 -2
  134. package/dist/src/web/nextui/report/index.html +1 -1
  135. package/dist/src/web/nextui/report/index.txt +3 -3
  136. package/dist/src/web/nextui/setup/index.html +1 -1
  137. package/dist/src/web/nextui/setup/index.txt +2 -2
  138. package/dist/src/web/server.js +2 -2
  139. package/dist/src/web/server.js.map +1 -1
  140. package/dist/test/config.test.js +60 -0
  141. package/dist/test/config.test.js.map +1 -1
  142. package/dist/test/evaluator.test.js +57 -115
  143. package/dist/test/evaluator.test.js.map +1 -1
  144. package/dist/test/evaluatorHelpers.test.d.ts +2 -0
  145. package/dist/test/evaluatorHelpers.test.d.ts.map +1 -0
  146. package/dist/test/evaluatorHelpers.test.js +180 -0
  147. package/dist/test/evaluatorHelpers.test.js.map +1 -0
  148. package/dist/test/is-sql-tests/node-sql-parser.test.js +10 -10
  149. package/dist/test/is-sql-tests/node-sql-parser.test.js.map +1 -1
  150. package/dist/test/prompts.utils.test.js +3 -0
  151. package/dist/test/prompts.utils.test.js.map +1 -1
  152. package/dist/test/pythonWrapper.test.js +53 -20
  153. package/dist/test/pythonWrapper.test.js.map +1 -1
  154. package/dist/test/redteam/plugins/base.test.js +16 -31
  155. package/dist/test/redteam/plugins/base.test.js.map +1 -1
  156. package/dist/test/redteam/providers/iterativeTree.test.d.ts +2 -0
  157. package/dist/test/redteam/providers/iterativeTree.test.d.ts.map +1 -0
  158. package/dist/test/redteam/providers/iterativeTree.test.js +315 -0
  159. package/dist/test/redteam/providers/iterativeTree.test.js.map +1 -0
  160. package/dist/test/redteam/validators.test.js +15 -0
  161. package/dist/test/redteam/validators.test.js.map +1 -1
  162. package/dist/test/util.test.js +89 -0
  163. package/dist/test/util.test.js.map +1 -1
  164. package/dist/test/util.transform.test.js +41 -1
  165. package/dist/test/util.transform.test.js.map +1 -1
  166. package/package.json +10 -10
  167. package/dist/src/web/nextui/_next/static/chunks/944-95d6fadc7a5d7fb2.js +0 -1
  168. package/dist/src/web/nextui/_next/static/chunks/app/report/page-c630a8d0cba86664.js +0 -1
  169. package/dist/src/web/nextui/_next/static/chunks/main-app-4398f7af7ad8387f.js +0 -1
  170. package/dist/test/providers.shared.test.d.ts +0 -2
  171. package/dist/test/providers.shared.test.d.ts.map +0 -1
  172. package/dist/test/providers.shared.test.js +0 -112
  173. package/dist/test/providers.shared.test.js.map +0 -1
  174. /package/dist/src/web/nextui/_next/static/{dLlNz9-V4NvRIcKyU_b89 → FBiShPpcI4BVY3fwT1B5q}/_buildManifest.js +0 -0
  175. /package/dist/src/web/nextui/_next/static/{dLlNz9-V4NvRIcKyU_b89 → FBiShPpcI4BVY3fwT1B5q}/_ssgManifest.js +0 -0
  176. /package/dist/src/web/nextui/_next/static/chunks/{258-e4da2950edde8e2a.js → 258-b2e321ee0d0a5055.js} +0 -0
@@ -33,20 +33,74 @@ const checkbox_2 = require("@inquirer/checkbox");
33
33
  const confirm_1 = __importDefault(require("@inquirer/confirm"));
34
34
  const editor_1 = __importDefault(require("@inquirer/editor"));
35
35
  const input_1 = __importDefault(require("@inquirer/input"));
36
- const number_1 = __importDefault(require("@inquirer/number"));
37
36
  const rawlist_1 = __importDefault(require("@inquirer/rawlist"));
37
+ const select_1 = __importDefault(require("@inquirer/select"));
38
38
  const chalk_1 = __importDefault(require("chalk"));
39
39
  const fs = __importStar(require("fs"));
40
- const js_yaml_1 = __importDefault(require("js-yaml"));
41
40
  const path = __importStar(require("path"));
42
- const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
43
41
  const accounts_1 = require("../accounts");
44
42
  const globalConfig_1 = require("../globalConfig");
45
43
  const logger_1 = __importDefault(require("../logger"));
46
44
  const constants_1 = require("../redteam/constants");
47
45
  const telemetry_1 = __importDefault(require("../telemetry"));
48
- const redteam_1 = require("../validators/redteam");
49
- const redteam_2 = require("./generate/redteam");
46
+ const templates_1 = require("../util/templates");
47
+ const redteam_1 = require("./generate/redteam");
48
+ const REDTEAM_CONFIG_TEMPLATE = `# Red teaming configuration
49
+ # Docs: https://promptfoo.dev/docs/red-team/configuration
50
+
51
+ description: "My first red team"
52
+
53
+ prompts:
54
+ {% for prompt in prompts -%}
55
+ - {{ prompt | dump }}
56
+ {% endfor -%}
57
+ {% if prompts.length > 0 and not prompts[0].startsWith('file://') -%}
58
+ # You can also reference external prompts, e.g.
59
+ # - file:///path/to/prompt.json
60
+ # Learn more: https://promptfoo.dev/docs/configuration/parameters/#prompts
61
+ {% endif %}
62
+
63
+ providers:
64
+ # To talk directly to your application, use a custom provider.
65
+ # See https://promptfoo.dev/docs/red-team/configuration/#providers
66
+ {% for provider in providers -%}
67
+ - {{ provider }}
68
+ {% endfor %}
69
+
70
+ redteam:
71
+ # Default number of inputs to generate for each plugin
72
+ numTests: {{numTests}}
73
+
74
+ {% if plugins.length > 0 -%}
75
+ # Each plugin generates {{numTests}} adversarial inputs.
76
+ # To control the number of tests for each plugin, use:
77
+ # - id: plugin-name
78
+ # numTests: 10
79
+ plugins:
80
+ {% for plugin in plugins -%}
81
+ {% if plugin is string -%}
82
+ - {{plugin}}
83
+ {% else -%}
84
+ - id: {{plugin.id}}
85
+ {% if plugin.numTests is defined -%}
86
+ numTests: {{plugin.numTests}}
87
+ {% endif -%}
88
+ {% if plugin.config is defined and plugin.config.policy is defined -%}
89
+ config:
90
+ policy: {{plugin.config.policy | dump}}
91
+ {% endif -%}
92
+ {% endif -%}
93
+ {% endfor %}
94
+ {% endif -%}
95
+
96
+ {% if strategies.length > 0 -%}
97
+ # Strategies for applying adversarial inputs
98
+ strategies:
99
+ {% for strategy in strategies -%}
100
+ - {{strategy}}
101
+ {% endfor %}
102
+ {% endif -%}
103
+ `;
50
104
  async function redteamInit(directory) {
51
105
  telemetry_1.default.maybeShowNotice();
52
106
  telemetry_1.default.record('command_used', { name: 'redteam init - started' });
@@ -64,32 +118,18 @@ async function redteamInit(directory) {
64
118
  fs.mkdirSync(projectDir, { recursive: true });
65
119
  }
66
120
  const configPath = path.join(projectDir, 'promptfooconfig.yaml');
67
- const previousConfigExists = fs.existsSync(configPath);
68
- let existingConfig;
69
- if (previousConfigExists) {
70
- const overwrite = await (0, confirm_1.default)({
71
- message: `A promptfoo configuration file already exists at: ${configPath} Do you want to overwrite it?`,
72
- default: false,
73
- });
74
- if (!overwrite) {
75
- return;
76
- }
77
- existingConfig = js_yaml_1.default.load(fs.readFileSync(configPath, 'utf8'));
78
- }
79
121
  console.clear();
80
122
  logger_1.default.info(chalk_1.default.bold('Prompt Configuration\n'));
81
123
  const promptChoices = [
82
124
  { name: 'Enter a prompt', value: 'enter' },
83
125
  { name: 'Reference a prompt file', value: 'file' },
84
- ...(previousConfigExists
85
- ? [{ name: 'Use prompts from existing config', value: 'existing' }]
86
- : []),
126
+ { name: 'No prompt', value: 'none' },
87
127
  ];
88
128
  const promptChoice = await (0, rawlist_1.default)({
89
129
  message: 'How would you like to specify the prompt?',
90
130
  choices: promptChoices,
91
131
  });
92
- let prompts = [];
132
+ const prompts = [];
93
133
  if (promptChoice === 'enter') {
94
134
  prompts.push(await (0, editor_1.default)({
95
135
  message: 'Enter your prompt:',
@@ -102,14 +142,13 @@ async function redteamInit(directory) {
102
142
  });
103
143
  prompts.push(`file://${promptFile}`);
104
144
  }
105
- else if (promptChoice === 'existing') {
106
- (0, tiny_invariant_1.default)(existingConfig?.prompts, 'No prompts found in existing configuration');
107
- prompts = existingConfig?.prompts;
145
+ else if (promptChoice === 'none') {
146
+ prompts.push('{{query}}');
108
147
  }
109
148
  console.clear();
110
149
  logger_1.default.info(chalk_1.default.bold('Provider Configuration\n'));
111
150
  const providerChoices = [
112
- { name: 'openai:gpt-4o-mini', value: 'openai:gpt-4o-mini', checked: true },
151
+ { name: 'openai:gpt-4o-mini', value: 'openai:gpt-4o-mini' },
113
152
  { name: 'openai:gpt-4o', value: 'openai:gpt-4o' },
114
153
  { name: 'openai:gpt-3.5-turbo', value: 'openai:gpt-3.5-turbo' },
115
154
  {
@@ -123,23 +162,26 @@ async function redteamInit(directory) {
123
162
  { name: 'vertex:gemini-pro', value: 'vertex:gemini-pro' },
124
163
  { name: 'Other', value: 'Other' },
125
164
  ];
126
- const selectedProviders = await (0, checkbox_1.default)({
127
- message: 'Choose one or more providers to target:',
165
+ const selectedProvider = await (0, select_1.default)({
166
+ message: 'Choose a provider to target:',
128
167
  choices: providerChoices,
129
- pageSize: Math.min(providerChoices.length, process.stdout.rows - 4),
168
+ pageSize: process.stdout.rows - 4,
130
169
  });
131
- const providers = selectedProviders.filter((p) => p !== 'Other');
132
- if (selectedProviders.includes('Other')) {
170
+ let providers;
171
+ if (selectedProvider === 'Other') {
133
172
  const customProvider = await (0, input_1.default)({
134
- message: 'Enter the custom provider ID (see https://www.promptfoo.dev/docs/providers/ for options):',
173
+ message: 'Enter the custom provider ID (see https://promptfoo.dev/docs/red-team/configuration/#providers for info):',
135
174
  });
136
- providers.push(customProvider);
175
+ providers = [customProvider || 'openai:gpt-4o-mini'];
176
+ }
177
+ else {
178
+ providers = [selectedProvider];
137
179
  }
138
180
  if (!process.env.OPENAI_API_KEY) {
139
181
  console.clear();
140
182
  logger_1.default.info(chalk_1.default.bold('OpenAI API Configuration\n'));
141
183
  const apiKeyChoice = await (0, rawlist_1.default)({
142
- message: 'OpenAI API key is required. How to proceed?',
184
+ message: `OpenAI API key is required, but I don't see an OPENAI_API_KEY environment variable. How to proceed?`,
143
185
  choices: [
144
186
  { name: 'Enter API key now', value: 'enter' },
145
187
  { name: 'Set it later', value: 'later' },
@@ -161,13 +203,12 @@ async function redteamInit(directory) {
161
203
  .map((plugin) => ({
162
204
  name: `${plugin} - ${constants_1.subCategoryDescriptions[plugin] || 'No description'}`,
163
205
  value: plugin,
164
- checked: (existingConfig?.redteam?.plugins || []).some((p) => p.id === plugin) ||
165
- constants_1.DEFAULT_PLUGINS.has(plugin),
206
+ checked: constants_1.DEFAULT_PLUGINS.has(plugin),
166
207
  }));
167
208
  const plugins = await (0, checkbox_1.default)({
168
209
  message: 'Select plugins to enable:',
169
210
  choices: pluginChoices,
170
- pageSize: Math.min(pluginChoices.length, process.stdout.rows - 4),
211
+ pageSize: process.stdout.rows - 4,
171
212
  loop: false,
172
213
  validate: (answer) => answer.length > 0 || 'You must select at least one plugin.',
173
214
  });
@@ -198,42 +239,16 @@ async function redteamInit(directory) {
198
239
  ? {
199
240
  name: `${strategy} - ${constants_1.subCategoryDescriptions[strategy] || 'No description'}`,
200
241
  value: strategy,
201
- checked: (existingConfig?.redteam?.strategies || []).some((s) => s.id === strategy || (typeof s === 'string' && s === strategy)) || constants_1.DEFAULT_STRATEGIES.includes(strategy),
242
+ checked: constants_1.DEFAULT_STRATEGIES.includes(strategy),
202
243
  }
203
244
  : strategy);
204
245
  const strategies = await (0, checkbox_1.default)({
205
246
  message: 'Select strategies to enable:',
206
247
  choices: strategyChoices,
207
- pageSize: Math.min(strategyChoices.length, process.stdout.rows - 4),
248
+ pageSize: process.stdout.rows - 4,
208
249
  loop: false,
209
250
  });
210
- const numTests = await (0, number_1.default)({
211
- message: 'Number of test cases per plugin:',
212
- default: 5,
213
- min: 0,
214
- max: 1000,
215
- });
216
- (0, tiny_invariant_1.default)(numTests, 'No number of tests provided');
217
- // Create config file
218
- const config = {
219
- prompts,
220
- providers: providers,
221
- tests: [],
222
- redteam: redteam_1.RedteamConfigSchema.safeParse({
223
- plugins,
224
- strategies,
225
- numTests,
226
- }).data,
227
- };
228
- // Write the simplified form to the config file to make it easier
229
- // for people to play with. Writes 1 in the { id: ..., numTests }
230
- // and then the rest as strings.
231
- const parsedPlugins = redteam_1.RedteamConfigSchema.safeParse({
232
- plugins,
233
- strategies,
234
- numTests,
235
- })?.data?.plugins;
236
- const hasHarmfulPlugin = parsedPlugins?.some((plugin) => plugin.id.startsWith('harmful'));
251
+ const hasHarmfulPlugin = plugins.some((plugin) => typeof plugin === 'string' && plugin.startsWith('harmful'));
237
252
  if (hasHarmfulPlugin) {
238
253
  const { hasHarmfulRedteamConsent } = (0, globalConfig_1.readGlobalConfig)();
239
254
  if (!hasHarmfulRedteamConsent) {
@@ -270,15 +285,16 @@ async function redteamInit(directory) {
270
285
  }
271
286
  }
272
287
  }
273
- const configPlugins = plugins.length >= 2 ? [parsedPlugins?.[0], ...plugins.slice(1)] : plugins;
274
- fs.writeFileSync(configPath, js_yaml_1.default.dump({
275
- ...config,
276
- redteam: {
277
- numTests,
278
- plugins: configPlugins,
279
- strategies,
280
- },
281
- }), 'utf8');
288
+ const numTests = 5;
289
+ const nunjucks = (0, templates_1.getNunjucksEngine)();
290
+ const redteamConfig = nunjucks.renderString(REDTEAM_CONFIG_TEMPLATE, {
291
+ numTests,
292
+ plugins,
293
+ strategies,
294
+ prompts,
295
+ providers,
296
+ });
297
+ fs.writeFileSync(configPath, redteamConfig, 'utf8');
282
298
  console.clear();
283
299
  logger_1.default.info(chalk_1.default.green(`\nCreated red teaming configuration file at ${configPath}\n`));
284
300
  const readyToGenerate = await (0, confirm_1.default)({
@@ -286,11 +302,11 @@ async function redteamInit(directory) {
286
302
  default: true,
287
303
  });
288
304
  if (readyToGenerate) {
289
- await (0, redteam_2.doGenerateRedteam)({
290
- plugins: parsedPlugins,
305
+ await (0, redteam_1.doGenerateRedteam)({
306
+ plugins: plugins.map((plugin) => (typeof plugin === 'string' ? { id: plugin } : plugin)),
291
307
  cache: false,
292
308
  write: true,
293
- defaultConfig: config,
309
+ defaultConfig: {},
294
310
  defaultConfigPath: configPath,
295
311
  numTests,
296
312
  });
@@ -1 +1 @@
1
- {"version":3,"file":"redteam.js","sourceRoot":"","sources":["../../../src/commands/redteam.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redteam.js","sourceRoot":"","sources":["../../../src/commands/redteam.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ function shareCommand(program) {
38
38
  }
39
39
  }
40
40
  else {
41
- results = await (0, util_1.readLatestResults)();
41
+ results = await (0, util_1.getLatestEval)();
42
42
  if (!results) {
43
43
  logger_1.default.error('Could not load results. Do you need to run `promptfoo eval` first?');
44
44
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"share.js","sourceRoot":"","sources":["../../../src/commands/share.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"share.js","sourceRoot":"","sources":["../../../src/commands/share.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,kBAAkB,EAIlB,SAAS,EACT,aAAa,EACd,MAAM,SAAS,CAAC;AAGjB,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CA6GxF;AAED,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAS3E;AAED,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAK5F;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAoK/E;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACnC,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,GACpC,OAAO,CAAC;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAmJrF"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,kBAAkB,EAIlB,SAAS,EACT,aAAa,EACd,MAAM,SAAS,CAAC;AAGjB,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CA6GxF;AAED,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAS3E;AAED,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAK5F;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAiL/E;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACnC,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,GACpC,OAAO,CAAC;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAqJrF"}
@@ -201,6 +201,15 @@ async function readConfigs(configPaths) {
201
201
  tests.push(...config.tests);
202
202
  }
203
203
  }
204
+ const extensions = [];
205
+ for (const config of configs) {
206
+ if (Array.isArray(config.extensions)) {
207
+ extensions.push(...config.extensions);
208
+ }
209
+ }
210
+ if (extensions.length > 1 && configs.length > 1) {
211
+ console.warn('Warning: Multiple configurations and extensions detected. Currently, all extensions are run across all configs and do not respect their original promptfooconfig. Please file an issue on our GitHub repository if you need support for this use case.');
212
+ }
204
213
  const redteam = {
205
214
  plugins: [],
206
215
  strategies: [],
@@ -308,6 +317,7 @@ async function readConfigs(configPaths) {
308
317
  env: configs.reduce((prev, curr) => ({ ...prev, ...curr.env }), {}),
309
318
  evaluateOptions: configs.reduce((prev, curr) => ({ ...prev, ...curr.evaluateOptions }), {}),
310
319
  commandLineOptions: configs.reduce((prev, curr) => ({ ...prev, ...curr.commandLineOptions }), {}),
320
+ extensions,
311
321
  redteam,
312
322
  metadata: configs.reduce((prev, curr) => ({ ...prev, ...curr.metadata }), {}),
313
323
  sharing: !configs.some((config) => config.sharing === false),
@@ -365,6 +375,7 @@ async function resolveConfigs(cmdObj, defaultConfig) {
365
375
  defaultTest: defaultTestRaw ? await (0, testCases_1.readTest)(defaultTestRaw, basePath) : undefined,
366
376
  derivedMetrics: fileConfig.derivedMetrics || defaultConfig.derivedMetrics,
367
377
  outputPath: cmdObj.output || fileConfig.outputPath || defaultConfig.outputPath,
378
+ extensions: fileConfig.extensions || defaultConfig.extensions || [],
368
379
  metadata: fileConfig.metadata || defaultConfig.metadata,
369
380
  redteam: fileConfig.redteam || defaultConfig.redteam,
370
381
  };
@@ -429,6 +440,7 @@ async function resolveConfigs(cmdObj, defaultConfig) {
429
440
  defaultTest,
430
441
  derivedMetrics: config.derivedMetrics,
431
442
  nunjucksFilters: await (0, util_1.readFilters)(fileConfig.nunjucksFilters || defaultConfig.nunjucksFilters || {}, basePath),
443
+ extensions: config.extensions,
432
444
  };
433
445
  if (testSuite.tests) {
434
446
  (0, validateAssertions_1.validateAssertions)(testSuite.tests);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
@@ -766,6 +766,7 @@ export declare const evals: import("drizzle-orm/sqlite-core").SQLiteTableWithCol
766
766
  value: string | ((args_0: Record<string, number>, args_1: import("../types").RunEvalOptions, ...args_2: unknown[]) => number);
767
767
  name: string;
768
768
  }[] | undefined;
769
+ extensions?: string[] | undefined;
769
770
  redteam?: import("../types").RedteamConfig | undefined;
770
771
  outputPath?: string | string[] | undefined;
771
772
  sharing?: boolean | {
@@ -1 +1 @@
1
- {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../../src/database/tables.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,UAAU,CAAC;AAI/D,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYnB,CAAC;AAEF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBjB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB1B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;EAE1B,CAAC;AAIJ,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYpB,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB3B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;EAE3B,CAAC;AAIJ,eAAO,MAAM,cAAc;;;EAGxB,CAAC;AAEJ,eAAO,MAAM,uBAAuB;;;EASjC,CAAC;AAEJ,eAAO,MAAM,wBAAwB;;;EASlC,CAAC"}
1
+ {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../../src/database/tables.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,UAAU,CAAC;AAI/D,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYnB,CAAC;AAEF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBjB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB1B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;EAE1B,CAAC;AAIJ,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYpB,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB3B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;EAE3B,CAAC;AAIJ,eAAO,MAAM,cAAc;;;EAGxB,CAAC;AAEJ,eAAO,MAAM,uBAAuB;;;EASjC,CAAC;AAEJ,eAAO,MAAM,wBAAwB;;;EASlC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../src/evaluator.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAGV,eAAe,EAGf,eAAe,EAEf,MAAM,EAEN,SAAS,EAGV,MAAM,SAAS,CAAC;AAIjB,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,OAAO,CAM7F;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,CAAC,GAC5C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAqClC;AA2yBD,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":"AAeA,OAAO,KAAK,EAGV,eAAe,EAGf,eAAe,EAEf,MAAM,EAEN,SAAS,EAGV,MAAM,SAAS,CAAC;AAIjB,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,OAAO,CAM7F;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,CAAC,GAC5C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAqClC;AA0zBD,wBAAgB,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,4BAGtE"}
@@ -296,6 +296,7 @@ class Evaluator {
296
296
  async evaluate() {
297
297
  const { testSuite, options } = this;
298
298
  const prompts = [];
299
+ await (0, evaluatorHelpers_1.runExtensionHook)(testSuite.extensions, 'beforeAll', { suite: testSuite });
299
300
  if (options.generateSuggestions) {
300
301
  // TODO(ian): Move this into its own command/file
301
302
  logger_1.default.info(`Generating prompt variations...`);
@@ -515,6 +516,9 @@ class Evaluator {
515
516
  if (typeof index !== 'number') {
516
517
  throw new Error('Expected index to be a number');
517
518
  }
519
+ await (0, evaluatorHelpers_1.runExtensionHook)(testSuite.extensions, 'beforeEach', {
520
+ test: evalStep.test,
521
+ });
518
522
  const row = await this.runEval(evalStep);
519
523
  results.push(row);
520
524
  numComplete++;
@@ -577,7 +581,7 @@ class Evaluator {
577
581
  metrics.namedScores[key] = (metrics.namedScores[key] || 0) + value;
578
582
  }
579
583
  if (testSuite.derivedMetrics) {
580
- const math = await Promise.resolve().then(() => __importStar(require('mathjs')));
584
+ const math = await Promise.resolve().then(() => __importStar(require('mathjs'))); // TODO: move this
581
585
  for (const metric of testSuite.derivedMetrics) {
582
586
  if (metrics.namedScores[metric.name] === undefined) {
583
587
  metrics.namedScores[metric.name] = 0;
@@ -612,6 +616,10 @@ class Evaluator {
612
616
  metrics.tokenUsage.total =
613
617
  (metrics.tokenUsage.total || 0) + (row.response?.tokenUsage?.total || 0);
614
618
  metrics.cost += row.cost || 0;
619
+ await (0, evaluatorHelpers_1.runExtensionHook)(testSuite.extensions, 'afterEach', {
620
+ test: evalStep.test,
621
+ result: row,
622
+ });
615
623
  };
616
624
  // Set up main progress bars
617
625
  let multibar;
@@ -779,6 +787,10 @@ class Evaluator {
779
787
  if (progressBar) {
780
788
  progressBar.stop();
781
789
  }
790
+ await (0, evaluatorHelpers_1.runExtensionHook)(testSuite.extensions, 'afterAll', {
791
+ results: results,
792
+ suite: testSuite,
793
+ });
782
794
  telemetry_1.default.record('eval_ran', {
783
795
  numPrompts: prompts.length,
784
796
  numTests: tests.length,