promptfoo 0.81.5 → 0.82.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/dist/package.json +1 -1
  2. package/dist/src/commands/{generate/redteam.d.ts → redteam/generate.d.ts} +3 -3
  3. package/dist/src/commands/redteam/generate.d.ts.map +1 -0
  4. package/dist/src/commands/{generate/redteam.js → redteam/generate.js} +5 -3
  5. package/dist/src/commands/redteam/generate.js.map +1 -0
  6. package/dist/src/commands/{redteam.d.ts → redteam/init.d.ts} +1 -2
  7. package/dist/src/commands/redteam/init.d.ts.map +1 -0
  8. package/dist/src/commands/{redteam.js → redteam/init.js} +118 -145
  9. package/dist/src/commands/redteam/init.js.map +1 -0
  10. package/dist/src/commands/redteam/plugins.d.ts +3 -0
  11. package/dist/src/commands/redteam/plugins.d.ts.map +1 -0
  12. package/dist/src/commands/redteam/plugins.js +31 -0
  13. package/dist/src/commands/redteam/plugins.js.map +1 -0
  14. package/dist/src/database/tables.d.ts +6 -6
  15. package/dist/src/envars.d.ts +2 -0
  16. package/dist/src/envars.d.ts.map +1 -1
  17. package/dist/src/envars.js.map +1 -1
  18. package/dist/src/index.d.ts +15 -3
  19. package/dist/src/index.d.ts.map +1 -1
  20. package/dist/src/index.js +14 -3
  21. package/dist/src/index.js.map +1 -1
  22. package/dist/src/main.d.ts.map +1 -1
  23. package/dist/src/main.js +7 -6
  24. package/dist/src/main.js.map +1 -1
  25. package/dist/src/onboarding.js +2 -2
  26. package/dist/src/onboarding.js.map +1 -1
  27. package/dist/src/redteam/extraction/entities.d.ts.map +1 -1
  28. package/dist/src/redteam/extraction/entities.js +12 -0
  29. package/dist/src/redteam/extraction/entities.js.map +1 -1
  30. package/dist/src/redteam/extraction/purpose.d.ts.map +1 -1
  31. package/dist/src/redteam/extraction/purpose.js +13 -0
  32. package/dist/src/redteam/extraction/purpose.js.map +1 -1
  33. package/dist/src/redteam/extraction/util.d.ts +28 -0
  34. package/dist/src/redteam/extraction/util.d.ts.map +1 -1
  35. package/dist/src/redteam/extraction/util.js +43 -0
  36. package/dist/src/redteam/extraction/util.js.map +1 -1
  37. package/dist/src/redteam/index.d.ts +1 -1
  38. package/dist/src/redteam/index.d.ts.map +1 -1
  39. package/dist/src/redteam/index.js +38 -23
  40. package/dist/src/redteam/index.js.map +1 -1
  41. package/dist/src/redteam/plugins/base.d.ts +6 -5
  42. package/dist/src/redteam/plugins/base.d.ts.map +1 -1
  43. package/dist/src/redteam/plugins/base.js +21 -7
  44. package/dist/src/redteam/plugins/base.js.map +1 -1
  45. package/dist/src/redteam/plugins/bfla.d.ts +1 -1
  46. package/dist/src/redteam/plugins/bfla.d.ts.map +1 -1
  47. package/dist/src/redteam/plugins/bfla.js +11 -5
  48. package/dist/src/redteam/plugins/bfla.js.map +1 -1
  49. package/dist/src/redteam/plugins/bola.d.ts +1 -1
  50. package/dist/src/redteam/plugins/bola.d.ts.map +1 -1
  51. package/dist/src/redteam/plugins/bola.js +11 -7
  52. package/dist/src/redteam/plugins/bola.js.map +1 -1
  53. package/dist/src/redteam/plugins/custom.d.ts +1 -1
  54. package/dist/src/redteam/plugins/custom.d.ts.map +1 -1
  55. package/dist/src/redteam/plugins/custom.js +2 -2
  56. package/dist/src/redteam/plugins/custom.js.map +1 -1
  57. package/dist/src/redteam/plugins/harmful.d.ts +1 -1
  58. package/dist/src/redteam/plugins/harmful.d.ts.map +1 -1
  59. package/dist/src/redteam/plugins/harmful.js +45 -34
  60. package/dist/src/redteam/plugins/harmful.js.map +1 -1
  61. package/dist/src/redteam/plugins/index.d.ts +5 -4
  62. package/dist/src/redteam/plugins/index.d.ts.map +1 -1
  63. package/dist/src/redteam/plugins/index.js +35 -84
  64. package/dist/src/redteam/plugins/index.js.map +1 -1
  65. package/dist/src/redteam/plugins/indirectPromptInjection.d.ts +0 -2
  66. package/dist/src/redteam/plugins/indirectPromptInjection.d.ts.map +1 -1
  67. package/dist/src/redteam/plugins/indirectPromptInjection.js +0 -3
  68. package/dist/src/redteam/plugins/indirectPromptInjection.js.map +1 -1
  69. package/dist/src/redteam/plugins/policy.d.ts +1 -1
  70. package/dist/src/redteam/plugins/policy.d.ts.map +1 -1
  71. package/dist/src/redteam/plugins/policy.js +4 -2
  72. package/dist/src/redteam/plugins/policy.js.map +1 -1
  73. package/dist/src/redteam/plugins/promptExtraction.d.ts +1 -1
  74. package/dist/src/redteam/plugins/promptExtraction.d.ts.map +1 -1
  75. package/dist/src/redteam/plugins/promptExtraction.js +1 -1
  76. package/dist/src/redteam/plugins/promptExtraction.js.map +1 -1
  77. package/dist/src/redteam/plugins/ssrf.d.ts +1 -1
  78. package/dist/src/redteam/plugins/ssrf.d.ts.map +1 -1
  79. package/dist/src/redteam/plugins/ssrf.js +2 -2
  80. package/dist/src/redteam/plugins/ssrf.js.map +1 -1
  81. package/dist/src/redteam/providers/crescendo/index.d.ts +2 -2
  82. package/dist/src/redteam/providers/crescendo/index.d.ts.map +1 -1
  83. package/dist/src/redteam/providers/iterative.d.ts.map +1 -1
  84. package/dist/src/redteam/providers/iterativeImage.d.ts.map +1 -1
  85. package/dist/src/redteam/providers/shared.d.ts +2 -2
  86. package/dist/src/redteam/providers/shared.d.ts.map +1 -1
  87. package/dist/src/redteam/providers/shared.js +1 -1
  88. package/dist/src/redteam/providers/shared.js.map +1 -1
  89. package/dist/src/redteam/strategies/index.d.ts +2 -4
  90. package/dist/src/redteam/strategies/index.d.ts.map +1 -1
  91. package/dist/src/redteam/strategies/index.js.map +1 -1
  92. package/dist/src/redteam/strategies/multilingual.d.ts.map +1 -1
  93. package/dist/src/redteam/strategies/multilingual.js +20 -0
  94. package/dist/src/redteam/strategies/multilingual.js.map +1 -1
  95. package/dist/src/types/index.d.ts +40 -40
  96. package/dist/src/types/index.d.ts.map +1 -1
  97. package/dist/src/types/index.js.map +1 -1
  98. package/dist/src/types/redteam.d.ts +29 -35
  99. package/dist/src/types/redteam.d.ts.map +1 -1
  100. package/dist/src/validators/redteam.d.ts +20 -13
  101. package/dist/src/validators/redteam.d.ts.map +1 -1
  102. package/dist/src/validators/redteam.js +13 -0
  103. package/dist/src/validators/redteam.js.map +1 -1
  104. package/dist/src/web/nextui/404/index.html +1 -1
  105. package/dist/src/web/nextui/404.html +1 -1
  106. package/dist/src/web/nextui/_next/static/chunks/app/{layout-e9b86858e84ebd38.js → layout-436df6a7978b874b.js} +1 -1
  107. package/dist/src/web/nextui/_next/static/chunks/app/report/{page-0b89c8ba365b7195.js → page-a330d7b915e8a5b9.js} +1 -1
  108. package/dist/src/web/nextui/auth/login/index.html +1 -1
  109. package/dist/src/web/nextui/auth/login/index.txt +2 -2
  110. package/dist/src/web/nextui/auth/signup/index.html +1 -1
  111. package/dist/src/web/nextui/auth/signup/index.txt +2 -2
  112. package/dist/src/web/nextui/datasets/index.html +1 -1
  113. package/dist/src/web/nextui/datasets/index.txt +2 -2
  114. package/dist/src/web/nextui/eval/index.html +1 -1
  115. package/dist/src/web/nextui/eval/index.txt +3 -3
  116. package/dist/src/web/nextui/index.html +1 -1
  117. package/dist/src/web/nextui/index.txt +2 -2
  118. package/dist/src/web/nextui/progress/index.html +1 -1
  119. package/dist/src/web/nextui/progress/index.txt +2 -2
  120. package/dist/src/web/nextui/prompts/index.html +1 -1
  121. package/dist/src/web/nextui/prompts/index.txt +2 -2
  122. package/dist/src/web/nextui/report/index.html +1 -1
  123. package/dist/src/web/nextui/report/index.txt +3 -3
  124. package/dist/src/web/nextui/setup/index.html +1 -1
  125. package/dist/src/web/nextui/setup/index.txt +2 -2
  126. package/dist/test/commands/redteam/generate.test.d.ts +2 -0
  127. package/dist/test/commands/redteam/generate.test.d.ts.map +1 -0
  128. package/dist/test/commands/{generate/redteam.test.js → redteam/generate.test.js} +12 -13
  129. package/dist/test/commands/redteam/generate.test.js.map +1 -0
  130. package/dist/test/redteam/extraction/entities.test.js +43 -2
  131. package/dist/test/redteam/extraction/entities.test.js.map +1 -1
  132. package/dist/test/redteam/extraction/purpose.test.js +44 -10
  133. package/dist/test/redteam/extraction/purpose.test.js.map +1 -1
  134. package/dist/test/redteam/extraction/util.test.js +93 -4
  135. package/dist/test/redteam/extraction/util.test.js.map +1 -1
  136. package/dist/test/redteam/index.test.js +0 -23
  137. package/dist/test/redteam/index.test.js.map +1 -1
  138. package/dist/test/redteam/plugins/base.test.js +16 -4
  139. package/dist/test/redteam/plugins/base.test.js.map +1 -1
  140. package/dist/test/redteam/providers/shared.test.js +0 -8
  141. package/dist/test/redteam/providers/shared.test.js.map +1 -1
  142. package/dist/test/redteam/validators.test.js +1 -1
  143. package/dist/test/redteam/validators.test.js.map +1 -1
  144. package/package.json +1 -1
  145. package/dist/src/commands/generate/redteam.d.ts.map +0 -1
  146. package/dist/src/commands/generate/redteam.js.map +0 -1
  147. package/dist/src/commands/redteam.d.ts.map +0 -1
  148. package/dist/src/commands/redteam.js.map +0 -1
  149. package/dist/test/commands/generate/redteam.test.d.ts +0 -2
  150. package/dist/test/commands/generate/redteam.test.d.ts.map +0 -1
  151. package/dist/test/commands/generate/redteam.test.js.map +0 -1
  152. /package/dist/src/web/nextui/_next/static/chunks/{258-5f4892005dadd945.js → 258-97aa8e9afbe66e83.js} +0 -0
  153. /package/dist/src/web/nextui/_next/static/{B-Wbtl8GsdNHqd1Jebs7I → hKKNDbykxSExL2_mnZqWi}/_buildManifest.js +0 -0
  154. /package/dist/src/web/nextui/_next/static/{B-Wbtl8GsdNHqd1Jebs7I → hKKNDbykxSExL2_mnZqWi}/_ssgManifest.js +0 -0
package/dist/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "promptfoo",
3
3
  "description": "LLM eval & testing toolkit",
4
4
  "author": "Ian Webster",
5
- "version": "0.81.5",
5
+ "version": "0.82.0",
6
6
  "license": "MIT",
7
7
  "type": "commonjs",
8
8
  "repository": {
@@ -1,6 +1,6 @@
1
1
  import type { Command } from 'commander';
2
2
  import type { UnifiedConfig } from '../../types';
3
- import type { RedteamGenerateOptions } from '../../types/redteam';
4
- export declare function doGenerateRedteam(options: RedteamGenerateOptions): Promise<void>;
3
+ import type { RedteamCliGenerateOptions } from '../../types/redteam';
4
+ export declare function doGenerateRedteam(options: RedteamCliGenerateOptions): Promise<void>;
5
5
  export declare function generateRedteamCommand(program: Command, command: 'redteam' | 'generate', defaultConfig: Partial<UnifiedConfig>, defaultConfigPath: string | undefined): void;
6
- //# sourceMappingURL=redteam.d.ts.map
6
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../../src/commands/redteam/generate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBzC,OAAO,KAAK,EAAa,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,KAAK,EAAqB,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAKxF,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,yBAAyB,iBA0LzE;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,GAAG,UAAU,EAC/B,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,EACrC,iBAAiB,EAAE,MAAM,GAAG,SAAS,QA0GtC"}
@@ -124,6 +124,7 @@ async function doGenerateRedteam(options) {
124
124
  provider: redteamConfig?.provider || options.provider,
125
125
  purpose: redteamConfig?.purpose || options.purpose,
126
126
  strategies: strategyObjs,
127
+ delay: redteamConfig?.delay || options.delay,
127
128
  };
128
129
  const parsedConfig = redteam_2.RedteamConfigSchema.safeParse(config);
129
130
  if (!parsedConfig.success) {
@@ -137,6 +138,7 @@ async function doGenerateRedteam(options) {
137
138
  numTests: config.numTests,
138
139
  prompts: testSuite.prompts.map((prompt) => prompt.raw),
139
140
  maxConcurrency: config.maxConcurrency,
141
+ delay: config.delay,
140
142
  });
141
143
  const updatedRedteamConfig = {
142
144
  purpose,
@@ -231,6 +233,7 @@ function generateRedteamCommand(program, command, defaultConfig, defaultConfigPa
231
233
  .option('--no-cache', 'Do not read or write results to disk cache', false)
232
234
  .option('--env-file <path>', 'Path to .env file')
233
235
  .option('-j, --max-concurrency <number>', 'Maximum number of concurrent API calls', (val) => Number.parseInt(val, 10), defaultConfig.evaluateOptions?.maxConcurrency)
236
+ .option('--delay <number>', 'Delay in milliseconds between plugin API calls', (val) => Number.parseInt(val, 10))
234
237
  .action((opts) => {
235
238
  try {
236
239
  let overrides = {};
@@ -255,10 +258,9 @@ function generateRedteamCommand(program, command, defaultConfig, defaultConfigPa
255
258
  }
256
259
  const validatedOpts = redteam_2.RedteamGenerateOptionsSchema.parse({
257
260
  ...opts,
261
+ ...overrides,
258
262
  defaultConfig,
259
263
  defaultConfigPath,
260
- ...(overrides.plugins ? { plugins: overrides.plugins } : {}),
261
- ...(overrides.strategies ? { strategies: overrides.strategies } : {}),
262
264
  });
263
265
  doGenerateRedteam(validatedOpts);
264
266
  }
@@ -276,4 +278,4 @@ function generateRedteamCommand(program, command, defaultConfig, defaultConfigPa
276
278
  }
277
279
  });
278
280
  }
279
- //# sourceMappingURL=redteam.js.map
281
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../src/commands/redteam/generate.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import type { Command } from 'commander';
2
2
  export declare function redteamInit(directory: string | undefined): Promise<void>;
3
3
  export declare function initCommand(program: Command): void;
4
- export declare function pluginsCommand(program: Command): void;
5
- //# sourceMappingURL=redteam.d.ts.map
4
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/commands/redteam/init.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoJzC,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,iBAgZ9D;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,QA2B3C"}
@@ -28,7 +28,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.redteamInit = redteamInit;
30
30
  exports.initCommand = initCommand;
31
- exports.pluginsCommand = pluginsCommand;
32
31
  const checkbox_1 = __importDefault(require("@inquirer/checkbox"));
33
32
  const checkbox_2 = require("@inquirer/checkbox");
34
33
  const confirm_1 = __importDefault(require("@inquirer/confirm"));
@@ -41,14 +40,14 @@ const chalk_1 = __importDefault(require("chalk"));
41
40
  const dedent_1 = __importDefault(require("dedent"));
42
41
  const fs = __importStar(require("fs"));
43
42
  const path = __importStar(require("path"));
44
- const accounts_1 = require("../accounts");
45
- const envars_1 = require("../envars");
46
- const globalConfig_1 = require("../globalConfig");
47
- const logger_1 = __importDefault(require("../logger"));
48
- const constants_1 = require("../redteam/constants");
49
- const telemetry_1 = __importDefault(require("../telemetry"));
50
- const templates_1 = require("../util/templates");
51
- const redteam_1 = require("./generate/redteam");
43
+ const accounts_1 = require("../../accounts");
44
+ const envars_1 = require("../../envars");
45
+ const globalConfig_1 = require("../../globalConfig");
46
+ const logger_1 = __importDefault(require("../../logger"));
47
+ const constants_1 = require("../../redteam/constants");
48
+ const telemetry_1 = __importDefault(require("../../telemetry"));
49
+ const templates_1 = require("../../util/templates");
50
+ const generate_1 = require("./generate");
52
51
  const REDTEAM_CONFIG_TEMPLATE = `# Red teaming configuration
53
52
  # Docs: https://promptfoo.dev/docs/red-team/configuration
54
53
 
@@ -151,14 +150,14 @@ async function getSystemPrompt(numVariablesRequired = 1) {
151
150
  default: prompt,
152
151
  });
153
152
  prompt = prompt.replace(NOTE, '');
154
- let variables = (0, templates_1.extractVariablesFromTemplate)(prompt);
155
- while (variables.length < numVariablesRequired) {
156
- logger_1.default.info(chalk_1.default.red(`For real though, your prompt must include ${numVariablesRequired} ${numVariablesRequired === 1 ? 'variable' : 'variables'} like "{{query}}" as a placeholder for user input`));
153
+ const variables = (0, templates_1.extractVariablesFromTemplate)(prompt);
154
+ if (variables.length < numVariablesRequired) {
155
+ // Give the user another chance to edit their prompt
156
+ logger_1.default.info(chalk_1.default.red(`Your prompt must include ${numVariablesRequired} ${numVariablesRequired === 1 ? 'variable' : 'variables'} like "{{query}}" as a placeholder for user input.`));
157
157
  prompt = await (0, editor_1.default)({
158
158
  message: 'Enter the prompt you want to test against:',
159
159
  default: prompt,
160
160
  });
161
- variables = (0, templates_1.extractVariablesFromTemplate)(prompt);
162
161
  }
163
162
  return prompt;
164
163
  }
@@ -185,7 +184,6 @@ async function redteamInit(directory) {
185
184
  });
186
185
  recordOnboardingStep('choose app type', { value: redTeamChoice });
187
186
  const prompts = [];
188
- let defaultPromptUsed = false;
189
187
  let purpose;
190
188
  const useCustomProvider = redTeamChoice === 'rag' || redTeamChoice === 'agent';
191
189
  let deferGeneration = useCustomProvider;
@@ -214,14 +212,12 @@ async function redteamInit(directory) {
214
212
  prompt = await getSystemPrompt();
215
213
  }
216
214
  else {
217
- defaultPromptUsed = true;
218
215
  prompt = defaultPrompt;
219
216
  deferGeneration = true;
220
217
  }
221
218
  prompts.push(prompt);
222
219
  }
223
220
  else {
224
- defaultPromptUsed = true;
225
221
  prompts.push('You are a travel agent specialized in budget trips to Europe\n\nUser query: {{query}}');
226
222
  }
227
223
  let providers;
@@ -281,27 +277,49 @@ async function redteamInit(directory) {
281
277
  }
282
278
  console.clear();
283
279
  recordOnboardingStep('begin plugin & strategy selection');
284
- logger_1.default.info(chalk_1.default.bold('Plugin Configuration\n'));
285
- const pluginChoices = Array.from(constants_1.ALL_PLUGINS)
286
- .sort()
287
- .map((plugin) => ({
288
- name: `${plugin} - ${constants_1.subCategoryDescriptions[plugin] || 'No description'}`,
289
- value: plugin,
290
- checked: constants_1.DEFAULT_PLUGINS.has(plugin),
291
- }));
292
- const plugins = await (0, checkbox_1.default)({
293
- message: `Plugins generate adversarial inputs. Select the ones you want to use. Don't worry, you can change this later:`,
294
- choices: pluginChoices,
295
- pageSize: process.stdout.rows - 6,
296
- loop: false,
297
- validate: (answer) => answer.length > 0 || 'You must select at least one plugin.',
298
- });
299
- recordOnboardingStep('choose plugins', {
300
- value: plugins.map((p) => (typeof p === 'string' ? p : p.id)),
280
+ logger_1.default.info(chalk_1.default.bold('Plugin Configuration'));
281
+ logger_1.default.info('Plugins generate adversarial inputs.\n');
282
+ const pluginConfigChoice = await (0, select_1.default)({
283
+ message: 'How would you like to configure plugins?',
284
+ choices: [
285
+ { name: 'Use the defaults (configure later)', value: 'default' },
286
+ { name: 'Manually select', value: 'manual' },
287
+ ],
301
288
  });
302
- // Handle policy plugin
289
+ recordOnboardingStep('choose plugin config method', { value: pluginConfigChoice });
290
+ let plugins;
291
+ if (pluginConfigChoice === 'default') {
292
+ if (redTeamChoice === 'rag') {
293
+ plugins = Array.from(constants_1.DEFAULT_PLUGINS);
294
+ }
295
+ else if (redTeamChoice === 'agent') {
296
+ plugins = [...constants_1.DEFAULT_PLUGINS, 'rbac', 'bola', 'bfla', 'ssrf'];
297
+ }
298
+ else {
299
+ plugins = Array.from(constants_1.DEFAULT_PLUGINS);
300
+ }
301
+ }
302
+ else {
303
+ const pluginChoices = Array.from(constants_1.ALL_PLUGINS)
304
+ .sort()
305
+ .map((plugin) => ({
306
+ name: `${plugin} - ${constants_1.subCategoryDescriptions[plugin] || 'No description'}`,
307
+ value: plugin,
308
+ checked: constants_1.DEFAULT_PLUGINS.has(plugin),
309
+ }));
310
+ plugins = await (0, checkbox_1.default)({
311
+ message: `Select the plugins you want to use. Don't worry, you can change this later:`,
312
+ choices: pluginChoices,
313
+ pageSize: process.stdout.rows - 6,
314
+ loop: false,
315
+ validate: (answer) => answer.length > 0 || 'You must select at least one plugin.',
316
+ });
317
+ recordOnboardingStep('choose plugins', {
318
+ value: plugins.map((p) => (typeof p === 'string' ? p : p.id)),
319
+ });
320
+ }
321
+ // Plugins that require additional configuration
303
322
  if (plugins.includes('policy')) {
304
- // Remove the original 'policy' string if it exists
305
323
  const policyIndex = plugins.indexOf('policy');
306
324
  if (policyIndex !== -1) {
307
325
  plugins.splice(policyIndex, 1);
@@ -318,104 +336,80 @@ async function redteamInit(directory) {
318
336
  });
319
337
  }
320
338
  }
321
- // Handle prompt extraction plugin
322
339
  if (plugins.includes('prompt-extraction')) {
323
- const promptExtractionIdx = plugins.indexOf('prompt-extraction');
324
- if (promptExtractionIdx !== -1) {
325
- plugins.splice(promptExtractionIdx, 1);
326
- }
327
- if (defaultPromptUsed) {
328
- recordOnboardingStep('collect system prompt');
329
- const systemPrompt = await getSystemPrompt();
330
- recordOnboardingStep('choose system prompt', { value: systemPrompt.length });
331
- if (systemPrompt.trim() !== '') {
332
- plugins.push({
333
- id: 'prompt-extraction',
334
- config: { systemPrompt: (0, dedent_1.default)(systemPrompt.trim()) },
335
- });
336
- prompts[0] = systemPrompt;
337
- }
338
- }
339
- else {
340
- plugins.push({
341
- id: 'prompt-extraction',
342
- config: { systemPrompt: prompts[0] },
343
- });
344
- }
340
+ plugins.push({
341
+ id: 'prompt-extraction',
342
+ config: { systemPrompt: prompts[0] },
343
+ });
345
344
  }
346
- // Handle prompt extraction plugin
347
345
  if (plugins.includes('indirect-prompt-injection')) {
346
+ recordOnboardingStep('choose indirect prompt injection variable');
348
347
  logger_1.default.info(chalk_1.default.bold('Indirect Prompt Injection Configuration\n'));
349
- logger_1.default.info(chalk_1.default.yellow('This plugin tests if the prompt is vulnerable to instructions injected into the prompt.\n'));
350
- logger_1.default.info(chalk_1.default.yellow('This plugin requires two pieces of information:\n' +
351
- '1. The system prompt: This is the template that includes variables where content will be injected.\n' +
352
- '2. The indirectInjectionVarName: This is the name of the variable in your system prompt where untrusted content will be injected.\n\n' +
353
- 'These are needed to test if the model is vulnerable to instructions injected into the prompt through this variable.\n'));
354
- await (0, input_1.default)({
355
- message: 'Read the above and Press Enter to continue setting up the plugin.',
356
- });
357
- const promptExtractionIdx = plugins.indexOf('indirect-prompt-injection');
358
- if (promptExtractionIdx !== -1) {
359
- plugins.splice(promptExtractionIdx, 1);
360
- }
361
- if (defaultPromptUsed) {
362
- const systemPrompt = await getSystemPrompt(2);
363
- const variables = (0, templates_1.extractVariablesFromTemplate)(systemPrompt);
364
- let indirectInjectionVar = variables[0].trim();
365
- indirectInjectionVar = await (0, input_1.default)({
366
- message: `What is the name of the variable where content will be injected into the prompt? (e.g. "name")`,
367
- default: indirectInjectionVar,
348
+ const variables = (0, templates_1.extractVariablesFromTemplate)(prompts[0]);
349
+ if (variables.length > 1) {
350
+ const indirectInjectionVar = await (0, select_1.default)({
351
+ message: 'Which variable would you like to test for indirect prompt injection?',
352
+ choices: variables.sort().map((variable) => ({
353
+ name: variable,
354
+ value: variable,
355
+ })),
368
356
  });
369
- indirectInjectionVar = indirectInjectionVar.trim();
370
- if (!variables.includes(indirectInjectionVar)) {
371
- logger_1.default.info(chalk_1.default.red(`The variable ${indirectInjectionVar} is not found in the prompt. Please go back and edit your prompt to add the variable to your prompt`));
372
- await (0, input_1.default)({
373
- message: 'Press Enter to continue...',
374
- });
375
- }
376
- if (indirectInjectionVar === variables[variables.length - 1]) {
377
- logger_1.default.info(chalk_1.default.red(`The variable ${indirectInjectionVar} is the last variable in the prompt. This might cause some issues with the plugin since we assume the last variable is the main injectVar. Please make sure you set injectVar properly in your config.`));
378
- await (0, input_1.default)({
379
- message: 'Press Enter to continue...',
380
- });
381
- }
382
- if (systemPrompt.trim() !== '') {
383
- plugins.push({
384
- id: 'indirect-prompt-injection',
385
- config: {
386
- systemPrompt: (0, dedent_1.default)(systemPrompt.trim()),
387
- indirectInjectionVar: indirectInjectionVar.trim(),
388
- },
389
- });
390
- prompts[0] = systemPrompt;
391
- }
392
- }
393
- else {
357
+ recordOnboardingStep('chose indirect prompt injection variable');
394
358
  plugins.push({
395
- id: 'prompt-extraction',
396
- config: { systemPrompt: prompts[0] },
359
+ id: 'indirect-prompt-injection',
360
+ config: {
361
+ indirectInjectionVar,
362
+ },
397
363
  });
398
364
  }
365
+ else {
366
+ recordOnboardingStep('skip indirect prompt injection');
367
+ logger_1.default.warn(`Skipping indirect prompt injection plugin because it requires at least two {{variables}} in the prompt. Learn more: https://www.promptfoo.dev/docs/red-team/plugins/indirect-prompt-injection/`);
368
+ }
399
369
  }
400
370
  console.clear();
401
- logger_1.default.info(chalk_1.default.bold('Strategy Configuration\n'));
402
- const strategyChoices = [
403
- ...Array.from(constants_1.DEFAULT_STRATEGIES).sort(),
404
- new checkbox_2.Separator(),
405
- ...Array.from(constants_1.ADDITIONAL_STRATEGIES).sort(),
406
- ].map((strategy) => typeof strategy === 'string'
407
- ? {
408
- name: `${strategy} - ${constants_1.subCategoryDescriptions[strategy] || 'No description'}`,
409
- value: strategy,
410
- checked: constants_1.DEFAULT_STRATEGIES.includes(strategy),
411
- }
412
- : strategy);
413
- const strategies = await (0, checkbox_1.default)({
414
- message: `Strategies are attack methods. Select the ones you want to use. Don't worry, you can change this later:`,
415
- choices: strategyChoices,
416
- pageSize: process.stdout.rows - 6,
417
- loop: false,
371
+ logger_1.default.info(chalk_1.default.bold('Strategy Configuration'));
372
+ logger_1.default.info('Strategies are attack methods.\n');
373
+ const strategyConfigChoice = await (0, select_1.default)({
374
+ message: 'How would you like to configure strategies?',
375
+ choices: [
376
+ { name: 'Use the defaults (configure later)', value: 'default' },
377
+ { name: 'Manually select', value: 'manual' },
378
+ ],
418
379
  });
380
+ recordOnboardingStep('choose strategy config method', { value: strategyConfigChoice });
381
+ let strategies;
382
+ if (strategyConfigChoice === 'default') {
383
+ // TODO(ian): Differentiate strategies
384
+ if (redTeamChoice === 'rag') {
385
+ strategies = Array.from(constants_1.DEFAULT_STRATEGIES);
386
+ }
387
+ else if (redTeamChoice === 'agent') {
388
+ strategies = Array.from(constants_1.DEFAULT_STRATEGIES);
389
+ }
390
+ else {
391
+ strategies = Array.from(constants_1.DEFAULT_STRATEGIES);
392
+ }
393
+ }
394
+ else {
395
+ const strategyChoices = [
396
+ ...Array.from(constants_1.DEFAULT_STRATEGIES).sort(),
397
+ new checkbox_2.Separator(),
398
+ ...Array.from(constants_1.ADDITIONAL_STRATEGIES).sort(),
399
+ ].map((strategy) => typeof strategy === 'string'
400
+ ? {
401
+ name: `${strategy} - ${constants_1.subCategoryDescriptions[strategy] || 'No description'}`,
402
+ value: strategy,
403
+ checked: constants_1.DEFAULT_STRATEGIES.includes(strategy),
404
+ }
405
+ : strategy);
406
+ strategies = await (0, checkbox_1.default)({
407
+ message: `Select the ones you want to use. Don't worry, you can change this later:`,
408
+ choices: strategyChoices,
409
+ pageSize: process.stdout.rows - 6,
410
+ loop: false,
411
+ });
412
+ }
419
413
  recordOnboardingStep('choose strategies', {
420
414
  value: strategies,
421
415
  });
@@ -490,7 +484,7 @@ async function redteamInit(directory) {
490
484
  });
491
485
  recordOnboardingStep('choose generate', { value: readyToGenerate });
492
486
  if (readyToGenerate) {
493
- await (0, redteam_1.doGenerateRedteam)({
487
+ await (0, generate_1.doGenerateRedteam)({
494
488
  purpose,
495
489
  plugins: plugins.map((plugin) => (typeof plugin === 'string' ? { id: plugin } : plugin)),
496
490
  cache: false,
@@ -532,25 +526,4 @@ function initCommand(program) {
532
526
  }
533
527
  });
534
528
  }
535
- function pluginsCommand(program) {
536
- program
537
- .command('plugins')
538
- .description('List all available plugins')
539
- .option('--ids-only', 'Show only plugin IDs without descriptions')
540
- .option('--default', 'Show only the default plugins')
541
- .action(async (options) => {
542
- const pluginsToShow = options.default ? constants_1.DEFAULT_PLUGINS : constants_1.ALL_PLUGINS;
543
- if (options.idsOnly) {
544
- pluginsToShow.forEach((plugin) => {
545
- logger_1.default.info(plugin);
546
- });
547
- }
548
- else {
549
- pluginsToShow.forEach((plugin) => {
550
- const description = constants_1.subCategoryDescriptions[plugin] || 'No description available';
551
- logger_1.default.info(`${chalk_1.default.blue.bold(plugin)}: ${description}`);
552
- });
553
- }
554
- });
555
- }
556
- //# sourceMappingURL=redteam.js.map
529
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../src/commands/redteam/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6JA,kCAgZC;AAED,kCA2BC;AA1kBD,kEAA0C;AAC1C,iDAA+C;AAC/C,gEAAwC;AACxC,yCAAiD;AACjD,8DAAsC;AACtC,4DAAoC;AACpC,gEAAwC;AACxC,8DAAsC;AACtC,kDAA0B;AAE1B,oDAA4B;AAC5B,uCAAyB;AACzB,2CAA6B;AAC7B,6CAA4D;AAC5D,yCAA4C;AAC5C,qDAAgF;AAChF,0DAAkC;AAClC,uDAQiC;AACjC,gEAA6D;AAE7D,oDAAuF;AACvF,yCAA+C;AAE/C,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6D/B,CAAC;AAEF,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;CAoBhC,CAAC;AAEF,SAAS,oBAAoB,CAAC,IAAY,EAAE,aAAyC,EAAE;IACrF,mBAAS,CAAC,aAAa,CAAC,QAAQ,EAAE;QAChC,IAAI,EAAE,oBAAoB;QAC1B,IAAI;QACJ,GAAG,UAAU;KACd,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,uBAA+B,CAAC;IAC7D,MAAM,IAAI,GACR,+IAA+I,CAAC;IAElJ,IAAI,MAAM,GAAG,IAAA,gBAAM,EAAA;;;;IAIjB,IAAI,EAAE,CAAC;IACT,MAAM,GAAG,MAAM,IAAA,gBAAM,EAAC;QACpB,OAAO,EAAE,4CAA4C;QACrD,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC;IACH,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,IAAA,wCAA4B,EAAC,MAAM,CAAC,CAAC;IACvD,IAAI,SAAS,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;QAC5C,oDAAoD;QACpD,gBAAM,CAAC,IAAI,CACT,eAAK,CAAC,GAAG,CACP,4BAA4B,oBAAoB,IAC9C,oBAAoB,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAC5C,oDAAoD,CACrD,CACF,CAAC;QACF,MAAM,GAAG,MAAM,IAAA,gBAAM,EAAC;YACpB,OAAO,EAAE,4CAA4C;YACrD,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,SAA6B;IAC7D,mBAAS,CAAC,eAAe,EAAE,CAAC;IAC5B,mBAAS,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC;IACrE,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE9B,MAAM,UAAU,GAAG,SAAS,IAAI,GAAG,CAAC;IACpC,IAAI,UAAU,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;IAEjE,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,gBAAM,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAEpD,MAAM,aAAa,GAAG,MAAM,IAAA,gBAAM,EAAC;QACjC,OAAO,EAAE,4BAA4B;QACrC,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE;YAC3C,EAAE,IAAI,EAAE,sCAAsC,EAAE,KAAK,EAAE,sBAAsB,EAAE;YAC/E,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE;YACxC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE;SAC9C;QACD,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;KAClC,CAAC,CAAC;IAEH,oBAAoB,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;IAElE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,OAA2B,CAAC;IAEhC,MAAM,iBAAiB,GAAG,aAAa,KAAK,KAAK,IAAI,aAAa,KAAK,OAAO,CAAC;IAC/E,IAAI,eAAe,GAAG,iBAAiB,CAAC;IACxC,MAAM,aAAa,GACjB,uFAAuF,CAAC;IAC1F,MAAM,cAAc,GAAG,qDAAqD,CAAC;IAC7E,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO;YACL,CAAC,MAAM,IAAA,eAAK,EAAC;gBACX,OAAO,EAAE,IAAA,gBAAM,EAAA;iBACN,cAAc,MAAM;aAC9B,CAAC,CAAC,IAAI,cAAc,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE1B,oBAAoB,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;SAAM,IAAI,aAAa,KAAK,sBAAsB,EAAE,CAAC;QACpD,MAAM,YAAY,GAAG,MAAM,IAAA,gBAAM,EAAC;YAChC,OAAO,EAAE,6CAA6C;YACtD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC1C,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,EAAE;aAC/C;SACF,CAAC,CAAC;QAEH,oBAAoB,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QAE/D,IAAI,MAAc,CAAC;QACnB,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;YAC3B,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,aAAa,CAAC;YACvB,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CACV,uFAAuF,CACxF,CAAC;IACJ,CAAC;IAED,IAAI,SAAmB,CAAC;IACxB,IAAI,iBAAiB,EAAE,CAAC;QACtB,SAAS,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,MAAM,eAAe,GAAG;YACtB,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE;YAC7C,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,EAAE;YAC3D,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE;YACjD,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,sBAAsB,EAAE;YAC/D;gBACE,IAAI,EAAE,sCAAsC;gBAC5C,KAAK,EAAE,+CAA+C;aACvD;YACD;gBACE,IAAI,EAAE,kCAAkC;gBACxC,KAAK,EAAE,2CAA2C;aACnD;YACD,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE;SAC1D,CAAC;QAEF,MAAM,gBAAgB,GAAG,MAAM,IAAA,gBAAM,EAAC;YACpC,OAAO,EAAE,2BAA2B;YACpC,OAAO,EAAE,eAAe;YACxB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;SAClC,CAAC,CAAC;QAEH,oBAAoB,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAErE,IAAI,gBAAgB,KAAK,OAAO,EAAE,CAAC;YACjC,SAAS,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAA,qBAAY,EAAC,gBAAgB,CAAC,EAAE,CAAC;QACpC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;QAExC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,gBAAM,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;QAEtD,MAAM,YAAY,GAAG,MAAM,IAAA,iBAAO,EAAC;YACjC,OAAO,EAAE,qGAAqG;YAC9G,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE;gBAC7C,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE;aACzC;SACF,CAAC,CAAC;QAEH,oBAAoB,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QAEhE,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAA,eAAK,EAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,MAAM,CAAC;YACpC,gBAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,IAAI,CAAC;YACvB,gBAAM,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,OAAO,CAAC,KAAK,EAAE,CAAC;IAEhB,oBAAoB,CAAC,mCAAmC,CAAC,CAAC;IAE1D,gBAAM,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAChD,gBAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IAEtD,MAAM,kBAAkB,GAAG,MAAM,IAAA,gBAAM,EAAC;QACtC,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,oCAAoC,EAAE,KAAK,EAAE,SAAS,EAAE;YAChE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC7C;KACF,CAAC,CAAC;IAEH,oBAAoB,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAEnF,IAAI,OAAyC,CAAC;IAE9C,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;YAC5B,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,2BAAe,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;YACrC,OAAO,GAAG,CAAC,GAAG,2BAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,2BAAe,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,uBAAW,CAAC;aAC1C,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChB,IAAI,EAAE,GAAG,MAAM,MAAM,mCAAuB,CAAC,MAAM,CAAC,IAAI,gBAAgB,EAAE;YAC1E,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,2BAAe,CAAC,GAAG,CAAC,MAAM,CAAC;SACrC,CAAC,CAAC,CAAC;QAEN,OAAO,GAAG,MAAM,IAAA,kBAAQ,EAAC;YACvB,OAAO,EAAE,6EAA6E;YACtF,OAAO,EAAE,aAAa;YACtB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;YACjC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,sCAAsC;SAClF,CAAC,CAAC;QAEH,oBAAoB,CAAC,gBAAgB,EAAE;YACrC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,gDAAgD;IAEhD,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QACvC,MAAM,iBAAiB,GAAG,MAAM,IAAA,eAAK,EAAC;YACpC,OAAO,EACL,+IAA+I;SAClJ,CAAC,CAAC;QACH,oBAAoB,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;QAE3E,IAAI,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,QAAQ;gBACZ,MAAM,EAAE,EAAE,MAAM,EAAE,iBAAiB,CAAC,IAAI,EAAE,EAAE;aACtB,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,mBAAmB;YACvB,MAAM,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE;SACd,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;QAClD,oBAAoB,CAAC,2CAA2C,CAAC,CAAC;QAClE,gBAAM,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,IAAA,wCAA4B,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,oBAAoB,GAAG,MAAM,IAAA,gBAAM,EAAC;gBACxC,OAAO,EAAE,sEAAsE;gBAC/E,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAC3C,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,QAAQ;iBAChB,CAAC,CAAC;aACJ,CAAC,CAAC;YACH,oBAAoB,CAAC,0CAA0C,CAAC,CAAC;YAEjE,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,2BAA2B;gBAC/B,MAAM,EAAE;oBACN,oBAAoB;iBACrB;aACqB,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,oBAAoB,CAAC,gCAAgC,CAAC,CAAC;YACvD,gBAAM,CAAC,IAAI,CACT,gMAAgM,CACjM,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,CAAC,KAAK,EAAE,CAAC;IAEhB,gBAAM,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAClD,gBAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAEhD,MAAM,oBAAoB,GAAG,MAAM,IAAA,gBAAM,EAAC;QACxC,OAAO,EAAE,6CAA6C;QACtD,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,oCAAoC,EAAE,KAAK,EAAE,SAAS,EAAE;YAChE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC7C;KACF,CAAC,CAAC;IAEH,oBAAoB,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAEvF,IAAI,UAAsB,CAAC;IAE3B,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,sCAAsC;QACtC,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;YAC5B,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,8BAAkB,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;YACrC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,8BAAkB,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,8BAAkB,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,eAAe,GAAG;YACtB,GAAG,KAAK,CAAC,IAAI,CAAC,8BAAkB,CAAC,CAAC,IAAI,EAAE;YACxC,IAAI,oBAAS,EAAE;YACf,GAAG,KAAK,CAAC,IAAI,CAAC,iCAAqB,CAAC,CAAC,IAAI,EAAE;SAC5C,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACjB,OAAO,QAAQ,KAAK,QAAQ;YAC1B,CAAC,CAAC;gBACE,IAAI,EAAE,GAAG,QAAQ,MAAM,mCAAuB,CAAC,QAAQ,CAAC,IAAI,gBAAgB,EAAE;gBAC9E,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,8BAAkB,CAAC,QAAQ,CAAC,QAAe,CAAC;aACtD;YACH,CAAC,CAAC,QAAQ,CACb,CAAC;QAEF,UAAU,GAAG,MAAM,IAAA,kBAAQ,EAAC;YAC1B,OAAO,EAAE,0EAA0E;YACnF,OAAO,EAAE,eAAe;YACxB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;YACjC,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,mBAAmB,EAAE;QACxC,KAAK,EAAE,UAAU;KAClB,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CACnC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CACvE,CAAC;IACF,IAAI,gBAAgB,EAAE,CAAC;QACrB,oBAAoB,CAAC,eAAe,CAAC,CAAC;QACtC,MAAM,EAAE,wBAAwB,EAAE,GAAG,IAAA,+BAAgB,GAAE,CAAC;QACxD,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC9B,gBAAM,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;YACjD,gBAAM,CAAC,IAAI,CACT,kFAAkF,CACnF,CAAC;YACF,gBAAM,CAAC,IAAI,CACT,kFAAkF,CACnF,CAAC;YAEF,MAAM,aAAa,GAAG,IAAA,uBAAY,GAAE,CAAC;YAErC,IAAI,KAAa,CAAC;YAClB,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,oBAAoB,GAAG,MAAM,IAAA,iBAAO,EAAC;oBACzC,OAAO,EAAE,eAAe;oBACxB,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;gBACH,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,KAAK,GAAG,aAAa,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,MAAM,IAAA,eAAK,EAAC;oBAClB,OAAO,EAAE,4DAA4D;oBACrE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBAClB,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,oCAAoC,CAAC;oBACrE,CAAC;iBACF,CAAC,CAAC;gBACH,IAAA,uBAAY,EAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,mBAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAA,uCAAwB,EAAC,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,gBAAM,CAAC,KAAK,CAAC,yBAA0B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,CAAC;IAEnB,MAAM,QAAQ,GAAG,IAAA,6BAAiB,GAAE,CAAC;IAErC,MAAM,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC,uBAAuB,EAAE;QACnE,OAAO;QACP,QAAQ;QACR,OAAO;QACP,UAAU;QACV,OAAO;QACP,SAAS;QACT,YAAY,EAAE,mCAAuB;KACtC,CAAC,CAAC;IACH,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAEpD,IAAI,iBAAiB,EAAE,CAAC;QACtB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,wBAAwB,EAAE,MAAM,CAAC,CAAC;IACvF,CAAC;IAED,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,gBAAM,CAAC,IAAI,CAAC,eAAK,CAAC,KAAK,CAAC,+CAA+C,UAAU,IAAI,CAAC,CAAC,CAAC;IAExF,mBAAS,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAC3D,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAErC,IAAI,eAAe,EAAE,CAAC;QACpB,gBAAM,CAAC,IAAI,CACT,IAAI;YACF,eAAK,CAAC,IAAI,CACR,4EAA4E;gBAC1E,eAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAC3C,CACJ,CAAC;QACF,OAAO;IACT,CAAC;SAAM,CAAC;QACN,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QACvC,MAAM,eAAe,GAAG,MAAM,IAAA,iBAAO,EAAC;YACpC,OAAO,EAAE,mDAAmD;YAC5D,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,oBAAoB,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;QAEpE,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,IAAA,4BAAiB,EAAC;gBACtB,OAAO;gBACP,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACxF,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,cAAc;gBACtB,aAAa,EAAE,EAAE;gBACjB,iBAAiB,EAAE,UAAU;gBAC7B,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,gBAAM,CAAC,IAAI,CACT,IAAI;gBACF,eAAK,CAAC,IAAI,CACR,iDAAiD;oBAC/C,eAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAC3C,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,WAAW,CAAC,OAAgB;IAC1C,OAAO;SACJ,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC,KAAK,EAAE,SAA6B,EAAE,EAAE;QAC9C,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,sBAAe,EAAE,CAAC;gBACnC,gBAAM,CAAC,IAAI,CACT,IAAI;oBACF,eAAK,CAAC,IAAI,CACR,4EAA4E,CAC7E;oBACD,eAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CACvC,CAAC;gBACF,gBAAM,CAAC,IAAI,CACT,eAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC;oBACxC,eAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CACpD,CAAC;gBACF,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;gBACzC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function pluginsCommand(program: Command): void;
3
+ //# sourceMappingURL=plugins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../../src/commands/redteam/plugins.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,QAoB9C"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.pluginsCommand = pluginsCommand;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const logger_1 = __importDefault(require("../../logger"));
9
+ const constants_1 = require("../../redteam/constants");
10
+ function pluginsCommand(program) {
11
+ program
12
+ .command('plugins')
13
+ .description('List all available plugins')
14
+ .option('--ids-only', 'Show only plugin IDs without descriptions')
15
+ .option('--default', 'Show only the default plugins')
16
+ .action(async (options) => {
17
+ const pluginsToShow = options.default ? constants_1.DEFAULT_PLUGINS : constants_1.ALL_PLUGINS;
18
+ if (options.idsOnly) {
19
+ pluginsToShow.forEach((plugin) => {
20
+ logger_1.default.info(plugin);
21
+ });
22
+ }
23
+ else {
24
+ pluginsToShow.forEach((plugin) => {
25
+ const description = constants_1.subCategoryDescriptions[plugin] || 'No description available';
26
+ logger_1.default.info(`${chalk_1.default.blue.bold(plugin)}: ${description}`);
27
+ });
28
+ }
29
+ });
30
+ }
31
+ //# sourceMappingURL=plugins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../../src/commands/redteam/plugins.ts"],"names":[],"mappings":";;;;;AAKA,wCAoBC;AAzBD,kDAA0B;AAE1B,0DAAkC;AAClC,uDAAgG;AAEhG,SAAgB,cAAc,CAAC,OAAgB;IAC7C,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,YAAY,EAAE,2CAA2C,CAAC;SACjE,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,2BAAe,CAAC,CAAC,CAAC,uBAAW,CAAC;QAEtE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC/B,gBAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC/B,MAAM,WAAW,GAAG,mCAAuB,CAAC,MAAM,CAAC,IAAI,0BAA0B,CAAC;gBAClF,gBAAM,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -827,7 +827,7 @@ export declare const evals: import("drizzle-orm/sqlite-core").SQLiteTableWithCol
827
827
  name: string;
828
828
  }[] | undefined;
829
829
  extensions?: string[] | undefined;
830
- redteam?: import("../types").RedteamConfig | undefined;
830
+ redteam?: import("../types").RedteamFileConfig | undefined;
831
831
  outputPath?: string | string[] | undefined;
832
832
  sharing?: boolean | {
833
833
  apiBaseUrl?: string | undefined;
@@ -835,9 +835,9 @@ export declare const evals: import("drizzle-orm/sqlite-core").SQLiteTableWithCol
835
835
  } | undefined;
836
836
  evaluateOptions?: {
837
837
  delay?: number | undefined;
838
+ cache?: boolean | undefined;
838
839
  maxConcurrency?: number | undefined;
839
840
  repeat?: number | undefined;
840
- cache?: boolean | undefined;
841
841
  generateSuggestions?: boolean | undefined;
842
842
  eventSource?: string | undefined;
843
843
  interactiveProviders?: boolean | undefined;
@@ -850,9 +850,12 @@ export declare const evals: import("drizzle-orm/sqlite-core").SQLiteTableWithCol
850
850
  prompts?: string[] | undefined;
851
851
  delay?: string | undefined;
852
852
  output?: string[] | undefined;
853
+ cache?: boolean | undefined;
854
+ envFile?: string | undefined;
855
+ maxConcurrency?: string | undefined;
856
+ write?: boolean | undefined;
853
857
  description?: string | undefined;
854
858
  providers?: string[] | undefined;
855
- maxConcurrency?: string | undefined;
856
859
  repeat?: string | undefined;
857
860
  tests?: string | undefined;
858
861
  assertions?: string | undefined;
@@ -860,8 +863,6 @@ export declare const evals: import("drizzle-orm/sqlite-core").SQLiteTableWithCol
860
863
  verbose?: boolean | undefined;
861
864
  grader?: string | undefined;
862
865
  tableCellMaxLength?: string | undefined;
863
- write?: boolean | undefined;
864
- cache?: boolean | undefined;
865
866
  table?: boolean | undefined;
866
867
  share?: boolean | undefined;
867
868
  progressBar?: boolean | undefined;
@@ -874,7 +875,6 @@ export declare const evals: import("drizzle-orm/sqlite-core").SQLiteTableWithCol
874
875
  generateSuggestions?: boolean | undefined;
875
876
  promptPrefix?: string | undefined;
876
877
  promptSuffix?: string | undefined;
877
- envFile?: string | undefined;
878
878
  } | undefined;
879
879
  }>;
880
880
  driverParam: string;
@@ -16,6 +16,8 @@ export type EnvVars = {
16
16
  PROMPTFOO_DISABLE_AJV_STRICT_MODE?: boolean;
17
17
  PROMPTFOO_DISABLE_CONVERSATION_VAR?: boolean;
18
18
  PROMPTFOO_DISABLE_JSON_AUTOESCAPE?: boolean;
19
+ PROMPTFOO_DISABLE_REDTEAM_REMOTE_GENERATION?: boolean;
20
+ PROMPTFOO_DISABLE_REDTEAM_MODERATION?: boolean;
19
21
  PROMPTFOO_DISABLE_REF_PARSER?: boolean;
20
22
  PROMPTFOO_DISABLE_SHARE_WARNING?: boolean;
21
23
  PROMPTFOO_DISABLE_SHARING?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"envars.d.ts","sourceRoot":"","sources":["../../src/envars.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAChD,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,yCAAyC,CAAC,EAAE,MAAM,CAAC;IACnD,oCAAoC,CAAC,EAAE,MAAM,CAAC;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,qCAAqC,CAAC,EAAE,OAAO,CAAC;IAChD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,sCAAsC,CAAC,EAAE,MAAM,CAAC;IAChD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,YAAY,CAAC;AAEjB,KAAK,SAAS,GAAG,MAAM,OAAO,CAAC;AAE/B;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AACjE,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;AAS3E;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAS1E;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAC9D,wBAAgB,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;AAexE;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAChE,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"envars.d.ts","sourceRoot":"","sources":["../../src/envars.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"envars.js","sourceRoot":"","sources":["../../src/envars.ts"],"names":[],"mappings":";;AA0GA,oCAMC;AAQD,gCASC;AAUD,8BAYC;AAUD,kCAYC;AAnED,SAAgB,YAAY,CAAC,GAAc,EAAE,YAAqB;IAChE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,GAAc,EAAE,YAAsB;IAC/D,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC;IAChD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC;AAC/B,CAAC;AAUD,SAAgB,SAAS,CAAC,GAAc,EAAE,YAAqB;IAC7D,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAUD,SAAgB,WAAW,CAAC,GAAc,EAAE,YAAqB;IAC/D,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"envars.js","sourceRoot":"","sources":["../../src/envars.ts"],"names":[],"mappings":";;AA4GA,oCAMC;AAQD,gCASC;AAUD,8BAYC;AAUD,kCAYC;AAnED,SAAgB,YAAY,CAAC,GAAc,EAAE,YAAqB;IAChE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,GAAc,EAAE,YAAsB;IAC/D,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC;IAChD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC;AAC/B,CAAC;AAUD,SAAgB,SAAS,CAAC,GAAc,EAAE,YAAqB;IAC7D,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAUD,SAAgB,WAAW,CAAC,GAAc,EAAE,YAAqB;IAC/D,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC"}