promptfoo 0.90.3 → 0.91.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 (223) hide show
  1. package/dist/package.json +4 -4
  2. package/dist/src/app/assets/{index-Nu_Jrwyo.js → index-Dvv-swGm.js} +161 -161
  3. package/dist/src/app/assets/{index.es-Cwq4F6NP.js → index.es-DAIlgY6E.js} +1 -1
  4. package/dist/src/app/assets/{sync-CE7pFgME.js → sync-CABaZxhX.js} +1 -1
  5. package/dist/src/app/index.html +1 -1
  6. package/dist/src/cache.d.ts +4 -3
  7. package/dist/src/cache.d.ts.map +1 -1
  8. package/dist/src/cache.js.map +1 -1
  9. package/dist/src/checkNodeVersion.d.ts.map +1 -1
  10. package/dist/src/checkNodeVersion.js +4 -37
  11. package/dist/src/checkNodeVersion.js.map +1 -1
  12. package/dist/src/commands/eval.d.ts +1 -1
  13. package/dist/src/commands/eval.d.ts.map +1 -1
  14. package/dist/src/commands/eval.js.map +1 -1
  15. package/dist/src/commands/list.d.ts.map +1 -1
  16. package/dist/src/commands/list.js +2 -1
  17. package/dist/src/commands/list.js.map +1 -1
  18. package/dist/src/database/tables.d.ts +5 -0
  19. package/dist/src/database/tables.d.ts.map +1 -1
  20. package/dist/src/envars.d.ts +1 -0
  21. package/dist/src/envars.d.ts.map +1 -1
  22. package/dist/src/envars.js.map +1 -1
  23. package/dist/src/evaluator.d.ts.map +1 -1
  24. package/dist/src/evaluator.js +12 -2
  25. package/dist/src/evaluator.js.map +1 -1
  26. package/dist/src/index.d.ts +9 -0
  27. package/dist/src/index.d.ts.map +1 -1
  28. package/dist/src/index.js +11 -2
  29. package/dist/src/index.js.map +1 -1
  30. package/dist/src/main.js +11 -10
  31. package/dist/src/main.js.map +1 -1
  32. package/dist/src/models/prompt.d.ts +6 -0
  33. package/dist/src/models/prompt.d.ts.map +1 -0
  34. package/dist/src/models/prompt.js +10 -0
  35. package/dist/src/models/prompt.js.map +1 -0
  36. package/dist/src/prompts/index.d.ts +1 -1
  37. package/dist/src/prompts/index.d.ts.map +1 -1
  38. package/dist/src/prompts/index.js.map +1 -1
  39. package/dist/src/providers/browser.d.ts.map +1 -1
  40. package/dist/src/providers/browser.js +24 -1
  41. package/dist/src/providers/browser.js.map +1 -1
  42. package/dist/src/providers/golangCompletion.d.ts.map +1 -1
  43. package/dist/src/providers/golangCompletion.js +2 -1
  44. package/dist/src/providers/golangCompletion.js.map +1 -1
  45. package/dist/src/providers/openai.js +1 -1
  46. package/dist/src/providers/pythonCompletion.d.ts.map +1 -1
  47. package/dist/src/providers/pythonCompletion.js +2 -1
  48. package/dist/src/providers/pythonCompletion.js.map +1 -1
  49. package/dist/src/providers.d.ts.map +1 -1
  50. package/dist/src/providers.js +23 -5
  51. package/dist/src/providers.js.map +1 -1
  52. package/dist/src/python/wrapper.py +5 -1
  53. package/dist/src/redteam/commands/generate.d.ts +2 -2
  54. package/dist/src/redteam/commands/generate.d.ts.map +1 -1
  55. package/dist/src/redteam/commands/generate.js +3 -3
  56. package/dist/src/redteam/commands/generate.js.map +1 -1
  57. package/dist/src/redteam/commands/init.d.ts.map +1 -1
  58. package/dist/src/redteam/commands/init.js +3 -4
  59. package/dist/src/redteam/commands/init.js.map +1 -1
  60. package/dist/src/redteam/commands/report.d.ts +3 -0
  61. package/dist/src/redteam/commands/report.d.ts.map +1 -0
  62. package/dist/src/redteam/commands/report.js +31 -0
  63. package/dist/src/redteam/commands/report.js.map +1 -0
  64. package/dist/src/redteam/commands/run.d.ts +3 -0
  65. package/dist/src/redteam/commands/run.d.ts.map +1 -0
  66. package/dist/src/redteam/commands/run.js +137 -0
  67. package/dist/src/redteam/commands/run.js.map +1 -0
  68. package/dist/src/redteam/graders.d.ts +2 -2
  69. package/dist/src/redteam/graders.d.ts.map +1 -1
  70. package/dist/src/redteam/plugins/asciiSmuggling.d.ts +2 -2
  71. package/dist/src/redteam/plugins/asciiSmuggling.d.ts.map +1 -1
  72. package/dist/src/redteam/plugins/asciiSmuggling.js +1 -1
  73. package/dist/src/redteam/plugins/asciiSmuggling.js.map +1 -1
  74. package/dist/src/redteam/plugins/base.d.ts +3 -3
  75. package/dist/src/redteam/plugins/base.d.ts.map +1 -1
  76. package/dist/src/redteam/plugins/base.js +7 -7
  77. package/dist/src/redteam/plugins/base.js.map +1 -1
  78. package/dist/src/redteam/plugins/bfla.d.ts +2 -2
  79. package/dist/src/redteam/plugins/bfla.d.ts.map +1 -1
  80. package/dist/src/redteam/plugins/bfla.js +1 -1
  81. package/dist/src/redteam/plugins/bfla.js.map +1 -1
  82. package/dist/src/redteam/plugins/bola.d.ts +2 -2
  83. package/dist/src/redteam/plugins/bola.d.ts.map +1 -1
  84. package/dist/src/redteam/plugins/bola.js +1 -1
  85. package/dist/src/redteam/plugins/bola.js.map +1 -1
  86. package/dist/src/redteam/plugins/competitors.d.ts +2 -2
  87. package/dist/src/redteam/plugins/competitors.d.ts.map +1 -1
  88. package/dist/src/redteam/plugins/competitors.js +1 -1
  89. package/dist/src/redteam/plugins/competitors.js.map +1 -1
  90. package/dist/src/redteam/plugins/contracts.d.ts +3 -3
  91. package/dist/src/redteam/plugins/contracts.d.ts.map +1 -1
  92. package/dist/src/redteam/plugins/contracts.js +2 -2
  93. package/dist/src/redteam/plugins/contracts.js.map +1 -1
  94. package/dist/src/redteam/plugins/crossSessionLeak.d.ts +3 -3
  95. package/dist/src/redteam/plugins/crossSessionLeak.d.ts.map +1 -1
  96. package/dist/src/redteam/plugins/crossSessionLeak.js +2 -2
  97. package/dist/src/redteam/plugins/crossSessionLeak.js.map +1 -1
  98. package/dist/src/redteam/plugins/custom.d.ts +2 -2
  99. package/dist/src/redteam/plugins/custom.d.ts.map +1 -1
  100. package/dist/src/redteam/plugins/custom.js +1 -1
  101. package/dist/src/redteam/plugins/custom.js.map +1 -1
  102. package/dist/src/redteam/plugins/debugAccess.d.ts +3 -3
  103. package/dist/src/redteam/plugins/debugAccess.d.ts.map +1 -1
  104. package/dist/src/redteam/plugins/debugAccess.js +2 -2
  105. package/dist/src/redteam/plugins/debugAccess.js.map +1 -1
  106. package/dist/src/redteam/plugins/excessiveAgency.d.ts +3 -3
  107. package/dist/src/redteam/plugins/excessiveAgency.d.ts.map +1 -1
  108. package/dist/src/redteam/plugins/excessiveAgency.js +2 -2
  109. package/dist/src/redteam/plugins/excessiveAgency.js.map +1 -1
  110. package/dist/src/redteam/plugins/hallucination.d.ts +3 -3
  111. package/dist/src/redteam/plugins/hallucination.d.ts.map +1 -1
  112. package/dist/src/redteam/plugins/hallucination.js +2 -2
  113. package/dist/src/redteam/plugins/hallucination.js.map +1 -1
  114. package/dist/src/redteam/plugins/harmful.d.ts +2 -2
  115. package/dist/src/redteam/plugins/harmful.d.ts.map +1 -1
  116. package/dist/src/redteam/plugins/harmful.js +4 -7
  117. package/dist/src/redteam/plugins/harmful.js.map +1 -1
  118. package/dist/src/redteam/plugins/hijacking.d.ts +2 -2
  119. package/dist/src/redteam/plugins/hijacking.d.ts.map +1 -1
  120. package/dist/src/redteam/plugins/hijacking.js +1 -1
  121. package/dist/src/redteam/plugins/hijacking.js.map +1 -1
  122. package/dist/src/redteam/plugins/imitation.d.ts +3 -3
  123. package/dist/src/redteam/plugins/imitation.d.ts.map +1 -1
  124. package/dist/src/redteam/plugins/imitation.js +2 -2
  125. package/dist/src/redteam/plugins/imitation.js.map +1 -1
  126. package/dist/src/redteam/plugins/indirectPromptInjection.d.ts +3 -19
  127. package/dist/src/redteam/plugins/indirectPromptInjection.d.ts.map +1 -1
  128. package/dist/src/redteam/plugins/indirectPromptInjection.js +2 -73
  129. package/dist/src/redteam/plugins/indirectPromptInjection.js.map +1 -1
  130. package/dist/src/redteam/plugins/overreliance.d.ts +3 -3
  131. package/dist/src/redteam/plugins/overreliance.d.ts.map +1 -1
  132. package/dist/src/redteam/plugins/overreliance.js +2 -2
  133. package/dist/src/redteam/plugins/overreliance.js.map +1 -1
  134. package/dist/src/redteam/plugins/pii.d.ts +2 -2
  135. package/dist/src/redteam/plugins/pii.d.ts.map +1 -1
  136. package/dist/src/redteam/plugins/pii.js +3 -4
  137. package/dist/src/redteam/plugins/pii.js.map +1 -1
  138. package/dist/src/redteam/plugins/policy.d.ts +3 -3
  139. package/dist/src/redteam/plugins/policy.d.ts.map +1 -1
  140. package/dist/src/redteam/plugins/policy.js +2 -2
  141. package/dist/src/redteam/plugins/policy.js.map +1 -1
  142. package/dist/src/redteam/plugins/politics.d.ts +3 -3
  143. package/dist/src/redteam/plugins/politics.d.ts.map +1 -1
  144. package/dist/src/redteam/plugins/politics.js +2 -2
  145. package/dist/src/redteam/plugins/politics.js.map +1 -1
  146. package/dist/src/redteam/plugins/promptExtraction.d.ts +3 -3
  147. package/dist/src/redteam/plugins/promptExtraction.d.ts.map +1 -1
  148. package/dist/src/redteam/plugins/promptExtraction.js +2 -2
  149. package/dist/src/redteam/plugins/promptExtraction.js.map +1 -1
  150. package/dist/src/redteam/plugins/rbac.d.ts +3 -3
  151. package/dist/src/redteam/plugins/rbac.d.ts.map +1 -1
  152. package/dist/src/redteam/plugins/rbac.js +2 -2
  153. package/dist/src/redteam/plugins/rbac.js.map +1 -1
  154. package/dist/src/redteam/plugins/shellInjection.d.ts +3 -3
  155. package/dist/src/redteam/plugins/shellInjection.d.ts.map +1 -1
  156. package/dist/src/redteam/plugins/shellInjection.js +2 -2
  157. package/dist/src/redteam/plugins/shellInjection.js.map +1 -1
  158. package/dist/src/redteam/plugins/sqlInjection.d.ts +3 -3
  159. package/dist/src/redteam/plugins/sqlInjection.d.ts.map +1 -1
  160. package/dist/src/redteam/plugins/sqlInjection.js +2 -2
  161. package/dist/src/redteam/plugins/sqlInjection.js.map +1 -1
  162. package/dist/src/redteam/plugins/ssrf.d.ts +2 -2
  163. package/dist/src/redteam/plugins/ssrf.d.ts.map +1 -1
  164. package/dist/src/redteam/plugins/ssrf.js +1 -1
  165. package/dist/src/redteam/plugins/ssrf.js.map +1 -1
  166. package/dist/src/redteam/providers/constants.d.ts +1 -1
  167. package/dist/src/redteam/providers/constants.d.ts.map +1 -1
  168. package/dist/src/redteam/providers/constants.js +1 -1
  169. package/dist/src/redteam/providers/constants.js.map +1 -1
  170. package/dist/src/server/server.d.ts +2 -1
  171. package/dist/src/server/server.d.ts.map +1 -1
  172. package/dist/src/server/server.js +15 -7
  173. package/dist/src/server/server.js.map +1 -1
  174. package/dist/src/share.d.ts.map +1 -1
  175. package/dist/src/share.js +16 -1
  176. package/dist/src/share.js.map +1 -1
  177. package/dist/src/types/index.d.ts +135 -0
  178. package/dist/src/types/index.d.ts.map +1 -1
  179. package/dist/src/types/index.js +1 -0
  180. package/dist/src/types/index.js.map +1 -1
  181. package/dist/src/types/providers.d.ts +3 -2
  182. package/dist/src/types/providers.d.ts.map +1 -1
  183. package/dist/src/types/providers.js.map +1 -1
  184. package/dist/src/util/config/default.d.ts +10 -2
  185. package/dist/src/util/config/default.d.ts.map +1 -1
  186. package/dist/src/util/config/default.js +18 -5
  187. package/dist/src/util/config/default.js.map +1 -1
  188. package/dist/src/util/createHash.d.ts +2 -0
  189. package/dist/src/util/createHash.d.ts.map +1 -0
  190. package/dist/src/util/createHash.js +8 -0
  191. package/dist/src/util/createHash.js.map +1 -0
  192. package/dist/src/util/index.d.ts +4 -2
  193. package/dist/src/util/index.d.ts.map +1 -1
  194. package/dist/src/util/index.js +16 -18
  195. package/dist/src/util/index.js.map +1 -1
  196. package/dist/src/util/transform.d.ts +5 -1
  197. package/dist/src/util/transform.d.ts.map +1 -1
  198. package/dist/src/util/transform.js +13 -7
  199. package/dist/src/util/transform.js.map +1 -1
  200. package/dist/src/validators/redteam.d.ts.map +1 -1
  201. package/dist/src/validators/redteam.js +70 -33
  202. package/dist/src/validators/redteam.js.map +1 -1
  203. package/dist/test/checkNodeVersion.test.js +11 -58
  204. package/dist/test/checkNodeVersion.test.js.map +1 -1
  205. package/dist/test/evaluator.test.js +53 -0
  206. package/dist/test/evaluator.test.js.map +1 -1
  207. package/dist/test/index.test.js +170 -8
  208. package/dist/test/index.test.js.map +1 -1
  209. package/dist/test/providers.test.js +36 -1
  210. package/dist/test/providers.test.js.map +1 -1
  211. package/dist/test/redteam/plugins/base.test.js +6 -6
  212. package/dist/test/redteam/plugins/base.test.js.map +1 -1
  213. package/dist/test/redteam/validators.test.js +165 -7
  214. package/dist/test/redteam/validators.test.js.map +1 -1
  215. package/dist/test/util.config.default.test.js +93 -11
  216. package/dist/test/util.config.default.test.js.map +1 -1
  217. package/dist/test/util.transform.test.js +17 -0
  218. package/dist/test/util.transform.test.js.map +1 -1
  219. package/package.json +4 -4
  220. package/dist/src/commands/version.d.ts +0 -3
  221. package/dist/src/commands/version.d.ts.map +0 -1
  222. package/dist/src/commands/version.js +0 -18
  223. package/dist/src/commands/version.js.map +0 -1
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.redteamRunCommand = redteamRunCommand;
30
+ const chalk_1 = __importDefault(require("chalk"));
31
+ const crypto_1 = require("crypto");
32
+ const fs = __importStar(require("fs"));
33
+ const yaml = __importStar(require("js-yaml"));
34
+ const zod_1 = require("zod");
35
+ const package_json_1 = __importDefault(require("../../../package.json"));
36
+ const cliState_1 = __importDefault(require("../../cliState"));
37
+ const eval_1 = require("../../commands/eval");
38
+ const logger_1 = __importDefault(require("../../logger"));
39
+ const telemetry_1 = __importDefault(require("../../telemetry"));
40
+ const util_1 = require("../../util");
41
+ const default_1 = require("../../util/config/default");
42
+ const generate_1 = require("./generate");
43
+ const init_1 = require("./init");
44
+ function getConfigHash(configPath) {
45
+ const content = fs.readFileSync(configPath, 'utf8');
46
+ const version = package_json_1.default.version;
47
+ return (0, crypto_1.createHash)('md5').update(`${version}:${content}`).digest('hex');
48
+ }
49
+ async function doRedteamRun(options) {
50
+ const configPath = options.config || 'promptfooconfig.yaml';
51
+ const redteamPath = options.output || 'redteam.yaml';
52
+ // Check if promptfooconfig.yaml exists, if not, run init
53
+ if (!fs.existsSync(configPath)) {
54
+ logger_1.default.info('No configuration file found. Running initialization...');
55
+ await (0, init_1.redteamInit)(undefined);
56
+ // User probably needs to edit init and stuff, so it is premature to generate and eval.
57
+ return;
58
+ }
59
+ // Check for updates to the config file and regenerate redteam if necessary
60
+ let shouldGenerate = true;
61
+ if (fs.existsSync(redteamPath)) {
62
+ const redteamContent = yaml.load(fs.readFileSync(redteamPath, 'utf8'));
63
+ const storedHash = redteamContent.metadata?.configHash;
64
+ const currentHash = getConfigHash(configPath);
65
+ if (storedHash === currentHash) {
66
+ shouldGenerate = false;
67
+ }
68
+ }
69
+ if (shouldGenerate) {
70
+ logger_1.default.info('Generating new test cases...');
71
+ await (0, generate_1.doGenerateRedteam)({
72
+ ...options,
73
+ config: configPath,
74
+ output: redteamPath,
75
+ });
76
+ // Update redteam.yaml with the new config hash
77
+ const redteamContent = yaml.load(fs.readFileSync(redteamPath, 'utf8'));
78
+ redteamContent.metadata = {
79
+ ...redteamContent.metadata,
80
+ configHash: getConfigHash(configPath),
81
+ };
82
+ fs.writeFileSync(redteamPath, yaml.dump(redteamContent));
83
+ }
84
+ else {
85
+ logger_1.default.info('Using existing test cases...');
86
+ }
87
+ // Run evaluation
88
+ const { defaultConfig } = await (0, default_1.loadDefaultConfig)();
89
+ await (0, eval_1.doEval)({
90
+ ...options,
91
+ config: [redteamPath],
92
+ cache: true, // Enable caching
93
+ write: true, // Write results to database
94
+ }, defaultConfig, redteamPath, {
95
+ showProgressBar: true,
96
+ });
97
+ logger_1.default.info(chalk_1.default.green('\nRed team evaluation complete!'));
98
+ logger_1.default.info(chalk_1.default.blue('To view the results, run: ') + chalk_1.default.bold('promptfoo redteam report'));
99
+ }
100
+ function redteamRunCommand(program) {
101
+ program
102
+ .command('run')
103
+ .description('Run red teaming process (init, generate, and evaluate)')
104
+ .option('-c, --config [path]', 'Path to configuration file. Defaults to promptfooconfig.yaml')
105
+ .option('-o, --output [path]', 'Path to output file for generated tests. Defaults to redteam.yaml')
106
+ .option('--no-cache', 'Do not read or write results to disk cache', false)
107
+ .option('--env-file, --env-path <path>', 'Path to .env file')
108
+ .option('-j, --max-concurrency <number>', 'Maximum number of concurrent API calls', (val) => Number.parseInt(val, 10))
109
+ .option('--delay <number>', 'Delay in milliseconds between API calls', (val) => Number.parseInt(val, 10))
110
+ .option('--remote', 'Force remote inference wherever possible', false)
111
+ .action(async (opts) => {
112
+ (0, util_1.setupEnv)(opts.envPath);
113
+ telemetry_1.default.record('command_used', {
114
+ name: 'redteam run',
115
+ });
116
+ await telemetry_1.default.send();
117
+ try {
118
+ if (opts.remote) {
119
+ cliState_1.default.remote = true;
120
+ }
121
+ await doRedteamRun(opts);
122
+ }
123
+ catch (error) {
124
+ if (error instanceof zod_1.z.ZodError) {
125
+ logger_1.default.error('Invalid options:');
126
+ error.errors.forEach((err) => {
127
+ logger_1.default.error(` ${err.path.join('.')}: ${err.message}`);
128
+ });
129
+ }
130
+ else {
131
+ logger_1.default.error('An unexpected error occurred:', error);
132
+ }
133
+ process.exit(1);
134
+ }
135
+ });
136
+ }
137
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/redteam/commands/run.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { AsciiSmugglingGrader } from './plugins/asciiSmuggling';
2
- import type { RedteamModelGrader } from './plugins/base';
2
+ import type { RedteamGraderBase } from './plugins/base';
3
3
  import { BflaGrader } from './plugins/bfla';
4
4
  import { BolaGrader } from './plugins/bola';
5
5
  import { CompetitorsGrader } from './plugins/competitors';
@@ -72,5 +72,5 @@ export declare const GRADERS: {
72
72
  'promptfoo:redteam:prompt-extraction': PromptExtractionGrader;
73
73
  'promptfoo:redteam:indirect-prompt-injection': IndirectPromptInjectionGrader;
74
74
  };
75
- export declare function getGraderById(id: string): RedteamModelGrader | undefined;
75
+ export declare function getGraderById(id: string): RedteamGraderBase | undefined;
76
76
  //# sourceMappingURL=graders.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graders.d.ts","sourceRoot":"","sources":["../../../src/redteam/graders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDnB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAExE"}
1
+ {"version":3,"file":"graders.d.ts","sourceRoot":"","sources":["../../../src/redteam/graders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDnB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEvE"}
@@ -1,7 +1,7 @@
1
1
  import type { AtomicTestCase, GradingResult } from '../../types';
2
- import { RedteamModelGrader } from './base';
2
+ import { RedteamGraderBase } from './base';
3
3
  export declare const PLUGIN_ID = "promptfoo:redteam:ascii-smuggling";
4
- export declare class AsciiSmugglingGrader extends RedteamModelGrader {
4
+ export declare class AsciiSmugglingGrader extends RedteamGraderBase {
5
5
  id: string;
6
6
  rubric: string;
7
7
  getResult(prompt: string, llmOutput: string, test: AtomicTestCase): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"asciiSmuggling.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/asciiSmuggling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE5C,eAAO,MAAM,SAAS,sCAAsC,CAAC;AAE7D,qBAAa,oBAAqB,SAAQ,kBAAkB;IAC1D,EAAE,SAAa;IACf,MAAM,SAAM;IACN,SAAS,CACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC;QAAE,KAAK,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAarD"}
1
+ {"version":3,"file":"asciiSmuggling.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/asciiSmuggling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C,eAAO,MAAM,SAAS,sCAAsC,CAAC;AAE7D,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,EAAE,SAAa;IACf,MAAM,SAAM;IACN,SAAS,CACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC;QAAE,KAAK,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAarD"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AsciiSmugglingGrader = exports.PLUGIN_ID = void 0;
4
4
  const base_1 = require("./base");
5
5
  exports.PLUGIN_ID = 'promptfoo:redteam:ascii-smuggling';
6
- class AsciiSmugglingGrader extends base_1.RedteamModelGrader {
6
+ class AsciiSmugglingGrader extends base_1.RedteamGraderBase {
7
7
  constructor() {
8
8
  super(...arguments);
9
9
  this.id = exports.PLUGIN_ID;
@@ -1 +1 @@
1
- {"version":3,"file":"asciiSmuggling.js","sourceRoot":"","sources":["../../../../src/redteam/plugins/asciiSmuggling.ts"],"names":[],"mappings":";;;AACA,iCAA4C;AAE/B,QAAA,SAAS,GAAG,mCAAmC,CAAC;AAE7D,MAAa,oBAAqB,SAAQ,yBAAkB;IAA5D;;QACE,OAAE,GAAG,iBAAS,CAAC;QACf,WAAM,GAAG,EAAE,CAAC;IAkBd,CAAC;IAjBC,KAAK,CAAC,SAAS,CACb,MAAc,EACd,SAAiB,EACjB,IAAoB;QAEpB,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;QAC1E,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EAAE,CAAC,KAAK;gBACZ,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE,KAAK;oBACX,CAAC,CAAC,sCAAsC;oBACxC,CAAC,CAAC,qCAAqC;aAC1C;YACD,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;CACF;AApBD,oDAoBC"}
1
+ {"version":3,"file":"asciiSmuggling.js","sourceRoot":"","sources":["../../../../src/redteam/plugins/asciiSmuggling.ts"],"names":[],"mappings":";;;AACA,iCAA2C;AAE9B,QAAA,SAAS,GAAG,mCAAmC,CAAC;AAE7D,MAAa,oBAAqB,SAAQ,wBAAiB;IAA3D;;QACE,OAAE,GAAG,iBAAS,CAAC;QACf,WAAM,GAAG,EAAE,CAAC;IAkBd,CAAC;IAjBC,KAAK,CAAC,SAAS,CACb,MAAc,EACd,SAAiB,EACjB,IAAoB;QAEpB,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;QAC1E,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EAAE,CAAC,KAAK;gBACZ,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE,KAAK;oBACX,CAAC,CAAC,sCAAsC;oBACxC,CAAC,CAAC,qCAAqC;aAC1C;YACD,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;CACF;AApBD,oDAoBC"}
@@ -3,13 +3,13 @@ import type { AtomicTestCase, GradingResult } from '../../types';
3
3
  /**
4
4
  * Abstract base class for creating plugins that generate test cases.
5
5
  */
6
- export declare abstract class PluginBase {
6
+ export declare abstract class RedteamPluginBase {
7
7
  protected provider: ApiProvider;
8
8
  protected purpose: string;
9
9
  protected injectVar: string;
10
10
  protected config: PluginConfig;
11
11
  /**
12
- * Creates an instance of PluginBase.
12
+ * Creates an instance of RedteamPluginBase.
13
13
  * @param provider - The API provider used for generating prompts.
14
14
  * @param purpose - The purpose of the plugin.
15
15
  * @param injectVar - The variable name to inject the generated prompt into.
@@ -60,7 +60,7 @@ export declare abstract class PluginBase {
60
60
  *
61
61
  * But if you'd like, you can override the `getResult` method to use a different grading method.
62
62
  */
63
- export declare abstract class RedteamModelGrader {
63
+ export declare abstract class RedteamGraderBase {
64
64
  abstract id: string;
65
65
  abstract rubric: string;
66
66
  renderRubric(vars: Record<string, any>): string;
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/base.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACT,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAOjE;;GAEG;AACH,8BAAsB,UAAU;IAS5B,SAAS,CAAC,QAAQ,EAAE,WAAW;IAC/B,SAAS,CAAC,OAAO,EAAE,MAAM;IACzB,SAAS,CAAC,SAAS,EAAE,MAAM;IAC3B,SAAS,CAAC,MAAM,EAAE,YAAY;IAXhC;;;;;;OAMG;gBAES,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,YAAiB;IAKrC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAEjD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE;IAE7D;;;;;OAKG;IACG,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,MAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAkDxE;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,QAAQ,EAAE;IASvE;;;;;OAKG;IACH,SAAS,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE;IAyB/E,OAAO,CAAC,eAAe;CAmCxB;AAED;;;;;;;GAOG;AACH,8BAAsB,kBAAkB;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAkB/C,cAAc,CAAC,EACb,IAAI,EACJ,SAAS,EACT,aAAa,GACd,EAAE;QACD,IAAI,EAAE,cAAc,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,cAAc,CAAC;KAChC,GAAG,gBAAgB,EAAE;IAIhB,SAAS,CACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,WAAW,GAAG,SAAS,EACjC,aAAa,EAAE,cAAc,GAAG,SAAS,GACxC,OAAO,CAAC;QAAE,KAAK,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC;CAgCvF"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/base.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACT,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAOjE;;GAEG;AACH,8BAAsB,iBAAiB;IASnC,SAAS,CAAC,QAAQ,EAAE,WAAW;IAC/B,SAAS,CAAC,OAAO,EAAE,MAAM;IACzB,SAAS,CAAC,SAAS,EAAE,MAAM;IAC3B,SAAS,CAAC,MAAM,EAAE,YAAY;IAXhC;;;;;;OAMG;gBAES,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,YAAiB;IAKrC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAEjD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE;IAE7D;;;;;OAKG;IACG,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,MAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAkDxE;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,QAAQ,EAAE;IASvE;;;;;OAKG;IACH,SAAS,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE;IAyB/E,OAAO,CAAC,eAAe;CAmCxB;AAED;;;;;;;GAOG;AACH,8BAAsB,iBAAiB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAkB/C,cAAc,CAAC,EACb,IAAI,EACJ,SAAS,EACT,aAAa,GACd,EAAE;QACD,IAAI,EAAE,cAAc,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,cAAc,CAAC;KAChC,GAAG,gBAAgB,EAAE;IAIhB,SAAS,CACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,WAAW,GAAG,SAAS,EACjC,aAAa,EAAE,cAAc,GAAG,SAAS,GACxC,OAAO,CAAC;QAAE,KAAK,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC;CAgCvF"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.RedteamModelGrader = exports.PluginBase = void 0;
6
+ exports.RedteamGraderBase = exports.RedteamPluginBase = void 0;
7
7
  const dedent_1 = __importDefault(require("dedent"));
8
8
  const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
9
9
  const cliState_1 = __importDefault(require("../../cliState"));
@@ -17,9 +17,9 @@ const util_2 = require("../util");
17
17
  /**
18
18
  * Abstract base class for creating plugins that generate test cases.
19
19
  */
20
- class PluginBase {
20
+ class RedteamPluginBase {
21
21
  /**
22
- * Creates an instance of PluginBase.
22
+ * Creates an instance of RedteamPluginBase.
23
23
  * @param provider - The API provider used for generating prompts.
24
24
  * @param purpose - The purpose of the plugin.
25
25
  * @param injectVar - The variable name to inject the generated prompt into.
@@ -30,7 +30,7 @@ class PluginBase {
30
30
  this.purpose = purpose;
31
31
  this.injectVar = injectVar;
32
32
  this.config = config;
33
- logger_1.default.debug(`PluginBase initialized with purpose: ${purpose}, injectVar: ${injectVar}`);
33
+ logger_1.default.debug(`RedteamPluginBase initialized with purpose: ${purpose}, injectVar: ${injectVar}`);
34
34
  }
35
35
  /**
36
36
  * Generates test cases based on the plugin's configuration.
@@ -146,7 +146,7 @@ class PluginBase {
146
146
  `.trim();
147
147
  }
148
148
  }
149
- exports.PluginBase = PluginBase;
149
+ exports.RedteamPluginBase = RedteamPluginBase;
150
150
  /**
151
151
  * Base class for all redteam graders.
152
152
  *
@@ -155,7 +155,7 @@ exports.PluginBase = PluginBase;
155
155
  *
156
156
  * But if you'd like, you can override the `getResult` method to use a different grading method.
157
157
  */
158
- class RedteamModelGrader {
158
+ class RedteamGraderBase {
159
159
  renderRubric(vars) {
160
160
  const nunjucks = (0, templates_1.getNunjucksEngine)(undefined, true /* throwOnUndefined */);
161
161
  try {
@@ -206,5 +206,5 @@ class RedteamModelGrader {
206
206
  return { grade, rubric: finalRubric, suggestions };
207
207
  }
208
208
  }
209
- exports.RedteamModelGrader = RedteamModelGrader;
209
+ exports.RedteamGraderBase = RedteamGraderBase;
210
210
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/redteam/plugins/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/redteam/plugins/base.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,oEAAuC;AACvC,8DAAsC;AACtC,0DAAkC;AAClC,6CAAkD;AAUlD,qCAAuD;AACvD,sDAA4E;AAC5E,oDAAyD;AACzD,gDAA0D;AAC1D,kCAAuC;AAEvC;;GAEG;AACH,MAAsB,iBAAiB;IACrC;;;;;;OAMG;IACH,YACY,QAAqB,EACrB,OAAe,EACf,SAAiB,EACjB,SAAuB,EAAE;QAHzB,aAAQ,GAAR,QAAQ,CAAa;QACrB,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAAQ;QACjB,WAAM,GAAN,MAAM,CAAmB;QAEnC,gBAAM,CAAC,KAAK,CAAC,+CAA+C,OAAO,gBAAgB,SAAS,EAAE,CAAC,CAAC;IAClG,CAAC;IAcD;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,CAAS,EAAE,UAAkB,CAAC;QAChD,gBAAM,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,EAAE,CAAC;QAErB;;;;WAIG;QACH,MAAM,eAAe,GAAG,KAAK,EAC3B,cAAoC,EACL,EAAE;YACjC,MAAM,cAAc,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC;YACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAE7D,gBAAM,CAAC,KAAK,CAAC,uBAAuB,gBAAgB,UAAU,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,IAAA,6BAAiB,GAAE,CAAC;YACrC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE;gBACvE,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,CAAC,EAAE,gBAAgB;aACpB,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;YAC7D,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACvF,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,gBAAM,CAAC,KAAK,CAAC,gBAAgB,OAAO,IAAI,CAAC,CAAC;gBAC1C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/D,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACV,gBAAM,CAAC,KAAK,CACV,oDAAoD,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,KAAK,EAAE,CACtF,CAAC;gBACF,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;gBACzC,gBAAM,CAAC,KAAK,CACV,uFAAuF,OAAO,gBAAgB,KAAK,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CACtJ,CAAC;gBACF,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,IAAA,mCAAsB,EAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,IAAA,wBAAW,EAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC3C,gBAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,+BAA+B,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;QAC9F,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACO,kBAAkB,CAAC,OAA6B;QACxD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,EAAE;gBACJ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM;aAChC;YACD,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC;SAC1C,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACO,qBAAqB,CAAC,gBAAwB;QACtD,MAAM,WAAW,GAAG,CAAC,IAAY,EAAiB,EAAE;YAClD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,MAAM,GAAG,IAAA,mBAAY,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC1C,6CAA6C;YAC7C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;YACrD,gBAAgB;YAChB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;YAChD,uBAAuB;YACvB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACxF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACxF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC,CAAC;QAEF,gCAAgC;QAChC,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAErD,OAAO,WAAW;aACf,GAAG,CAAC,WAAW,CAAC;aAChB,MAAM,CAAC,CAAC,MAAM,EAAoB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC;aACrD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAEO,eAAe,CAAC,QAAgB;QACtC,+CAA+C;QAC/C,MAAM,SAAS,GACZ,IAAI,CAAC,MAAM,CAAC,SAAoC,IAAI,EAAE,CAAC;QAE1D,sDAAsD;QACtD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzB,IAAA,wBAAS,EAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,2BAA2B,CAAC,CAAC;YACjF,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC5C,CAAC;QAED,eAAe;QACf,IACE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,EAAE,CAAC,EACvF,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,uBAAuB;QACvB,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;aAC9C,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,EAAE,CAAC;aACtE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC;aACzC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO,IAAA,gBAAM,EAAA;QACT,QAAQ,CAAC,IAAI,EAAE;;;;QAIf,eAAe;;;KAGlB,CAAC,IAAI,EAAE,CAAC;IACX,CAAC;CACF;AArKD,8CAqKC;AAED;;;;;;;GAOG;AACH,MAAsB,iBAAiB;IAIrC,YAAY,CAAC,IAAyB;QACpC,MAAM,QAAQ,GAAG,IAAA,6BAAiB,EAAC,SAAS,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAE3E,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAc,CAAC;YAC3B,gBAAM,CAAC,KAAK,CAAC,oCAAoC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAChE,gBAAM,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACzC,gBAAM,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,IAAA,gBAAM,EAAA;2CACe,GAAG,CAAC,OAAO;;qBAEjC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;OAC3C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,cAAc,CAAC,EACb,IAAI,EACJ,SAAS,EACT,aAAa,GAKd;QACC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,SAAS,CACb,MAAc,EACd,SAAiB,EACjB,IAAoB,EACpB,QAAiC,EACjC,aAAyC;QAEzC,IAAA,wBAAS,EAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kCAAkC,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG;YACX,GAAG,IAAI,CAAC,QAAQ;YAChB,MAAM;YACN,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE;YACvC,KAAK,EAAE,IAAA,gCAAyB,EAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC;YACzD,KAAK,EAAE,aAAa;SACrB,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE5C,MAAM,KAAK,GAAG,MAAM,IAAA,2BAAgB,EAAC,WAAW,EAAE,SAAS,EAAE;YAC3D,GAAG,IAAI,CAAC,OAAO;YACf,QAAQ,EAAE,MAAM,IAAA,4BAAmB,EAAC;gBAClC,QAAQ;gBACN,yGAAyG;gBACzG,kBAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ;oBACtC,kBAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI;oBACrD,kBAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ;gBACjD,QAAQ,EAAE,IAAI;aACf,CAAC;SACH,CAAC,CAAC;QACH,gBAAM,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAElF,IAAI,WAAW,CAAC;QAChB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAChB,iDAAiD;YACjD,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IACrD,CAAC;CACF;AAxED,8CAwEC"}
@@ -1,5 +1,5 @@
1
- import { RedteamModelGrader } from './base';
2
- export declare class BflaGrader extends RedteamModelGrader {
1
+ import { RedteamGraderBase } from './base';
2
+ export declare class BflaGrader extends RedteamGraderBase {
3
3
  id: string;
4
4
  rubric: string;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bfla.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/bfla.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAI5C,qBAAa,UAAW,SAAQ,kBAAkB;IAChD,EAAE,SAAa;IACf,MAAM,SAqCJ;CACH"}
1
+ {"version":3,"file":"bfla.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/bfla.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAI3C,qBAAa,UAAW,SAAQ,iBAAiB;IAC/C,EAAE,SAAa;IACf,MAAM,SAqCJ;CACH"}
@@ -7,7 +7,7 @@ exports.BflaGrader = void 0;
7
7
  const dedent_1 = __importDefault(require("dedent"));
8
8
  const base_1 = require("./base");
9
9
  const PLUGIN_ID = 'promptfoo:redteam:bfla';
10
- class BflaGrader extends base_1.RedteamModelGrader {
10
+ class BflaGrader extends base_1.RedteamGraderBase {
11
11
  constructor() {
12
12
  super(...arguments);
13
13
  this.id = PLUGIN_ID;
@@ -1 +1 @@
1
- {"version":3,"file":"bfla.js","sourceRoot":"","sources":["../../../../src/redteam/plugins/bfla.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,iCAA4C;AAE5C,MAAM,SAAS,GAAG,wBAAwB,CAAC;AAE3C,MAAa,UAAW,SAAQ,yBAAkB;IAAlD;;QACE,OAAE,GAAG,SAAS,CAAC;QACf,WAAM,GAAG,IAAA,gBAAM,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCd,CAAC;IACJ,CAAC;CAAA;AAxCD,gCAwCC"}
1
+ {"version":3,"file":"bfla.js","sourceRoot":"","sources":["../../../../src/redteam/plugins/bfla.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,iCAA2C;AAE3C,MAAM,SAAS,GAAG,wBAAwB,CAAC;AAE3C,MAAa,UAAW,SAAQ,wBAAiB;IAAjD;;QACE,OAAE,GAAG,SAAS,CAAC;QACf,WAAM,GAAG,IAAA,gBAAM,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCd,CAAC;IACJ,CAAC;CAAA;AAxCD,gCAwCC"}
@@ -1,6 +1,6 @@
1
- import { RedteamModelGrader } from './base';
1
+ import { RedteamGraderBase } from './base';
2
2
  export declare const PLUGIN_ID = "promptfoo:redteam:bola";
3
- export declare class BolaGrader extends RedteamModelGrader {
3
+ export declare class BolaGrader extends RedteamGraderBase {
4
4
  id: string;
5
5
  rubric: string;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bola.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/bola.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE5C,eAAO,MAAM,SAAS,2BAA2B,CAAC;AAElD,qBAAa,UAAW,SAAQ,kBAAkB;IAChD,EAAE,SAAa;IACf,MAAM,SA+CJ;CACH"}
1
+ {"version":3,"file":"bola.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/bola.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C,eAAO,MAAM,SAAS,2BAA2B,CAAC;AAElD,qBAAa,UAAW,SAAQ,iBAAiB;IAC/C,EAAE,SAAa;IACf,MAAM,SA+CJ;CACH"}
@@ -7,7 +7,7 @@ exports.BolaGrader = exports.PLUGIN_ID = void 0;
7
7
  const dedent_1 = __importDefault(require("dedent"));
8
8
  const base_1 = require("./base");
9
9
  exports.PLUGIN_ID = 'promptfoo:redteam:bola';
10
- class BolaGrader extends base_1.RedteamModelGrader {
10
+ class BolaGrader extends base_1.RedteamGraderBase {
11
11
  constructor() {
12
12
  super(...arguments);
13
13
  this.id = exports.PLUGIN_ID;
@@ -1 +1 @@
1
- {"version":3,"file":"bola.js","sourceRoot":"","sources":["../../../../src/redteam/plugins/bola.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,iCAA4C;AAE/B,QAAA,SAAS,GAAG,wBAAwB,CAAC;AAElD,MAAa,UAAW,SAAQ,yBAAkB;IAAlD;;QACE,OAAE,GAAG,iBAAS,CAAC;QACf,WAAM,GAAG,IAAA,gBAAM,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+Cd,CAAC;IACJ,CAAC;CAAA;AAlDD,gCAkDC"}
1
+ {"version":3,"file":"bola.js","sourceRoot":"","sources":["../../../../src/redteam/plugins/bola.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,iCAA2C;AAE9B,QAAA,SAAS,GAAG,wBAAwB,CAAC;AAElD,MAAa,UAAW,SAAQ,wBAAiB;IAAjD;;QACE,OAAE,GAAG,iBAAS,CAAC;QACf,WAAM,GAAG,IAAA,gBAAM,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+Cd,CAAC;IACJ,CAAC;CAAA;AAlDD,gCAkDC"}
@@ -1,6 +1,6 @@
1
- import { RedteamModelGrader } from './base';
1
+ import { RedteamGraderBase } from './base';
2
2
  export declare const PLUGIN_ID = "promptfoo:redteam:competitors";
3
- export declare class CompetitorsGrader extends RedteamModelGrader {
3
+ export declare class CompetitorsGrader extends RedteamGraderBase {
4
4
  id: string;
5
5
  rubric: string;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"competitors.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/competitors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE5C,eAAO,MAAM,SAAS,kCAAkC,CAAC;AAEzD,qBAAa,iBAAkB,SAAQ,kBAAkB;IACvD,EAAE,SAAa;IACf,MAAM,SA2BJ;CACH"}
1
+ {"version":3,"file":"competitors.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/competitors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C,eAAO,MAAM,SAAS,kCAAkC,CAAC;AAEzD,qBAAa,iBAAkB,SAAQ,iBAAiB;IACtD,EAAE,SAAa;IACf,MAAM,SA2BJ;CACH"}
@@ -7,7 +7,7 @@ exports.CompetitorsGrader = exports.PLUGIN_ID = void 0;
7
7
  const dedent_1 = __importDefault(require("dedent"));
8
8
  const base_1 = require("./base");
9
9
  exports.PLUGIN_ID = 'promptfoo:redteam:competitors';
10
- class CompetitorsGrader extends base_1.RedteamModelGrader {
10
+ class CompetitorsGrader extends base_1.RedteamGraderBase {
11
11
  constructor() {
12
12
  super(...arguments);
13
13
  this.id = exports.PLUGIN_ID;
@@ -1 +1 @@
1
- {"version":3,"file":"competitors.js","sourceRoot":"","sources":["../../../../src/redteam/plugins/competitors.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,iCAA4C;AAE/B,QAAA,SAAS,GAAG,+BAA+B,CAAC;AAEzD,MAAa,iBAAkB,SAAQ,yBAAkB;IAAzD;;QACE,OAAE,GAAG,iBAAS,CAAC;QACf,WAAM,GAAG,IAAA,gBAAM,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2Bd,CAAC;IACJ,CAAC;CAAA;AA9BD,8CA8BC"}
1
+ {"version":3,"file":"competitors.js","sourceRoot":"","sources":["../../../../src/redteam/plugins/competitors.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,iCAA2C;AAE9B,QAAA,SAAS,GAAG,+BAA+B,CAAC;AAEzD,MAAa,iBAAkB,SAAQ,wBAAiB;IAAxD;;QACE,OAAE,GAAG,iBAAS,CAAC;QACf,WAAM,GAAG,IAAA,gBAAM,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2Bd,CAAC;IACJ,CAAC;CAAA;AA9BD,8CA8BC"}
@@ -1,11 +1,11 @@
1
1
  import type { Assertion } from '../../types';
2
- import { PluginBase, RedteamModelGrader } from './base';
2
+ import { RedteamPluginBase, RedteamGraderBase } from './base';
3
3
  export declare const PLUGIN_ID = "promptfoo:redteam:contracts";
4
- export declare class ContractPlugin extends PluginBase {
4
+ export declare class ContractPlugin extends RedteamPluginBase {
5
5
  protected getTemplate(): Promise<string>;
6
6
  protected getAssertions(prompt: string): Assertion[];
7
7
  }
8
- export declare class ContractsGrader extends RedteamModelGrader {
8
+ export declare class ContractsGrader extends RedteamGraderBase {
9
9
  id: string;
10
10
  rubric: string;
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/contracts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAExD,eAAO,MAAM,SAAS,gCAAgC,CAAC;AAEvD,qBAAa,cAAe,SAAQ,UAAU;cAC5B,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IA6B9C,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE;CAQrD;AAED,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,EAAE,SAAa;IACf,MAAM,SA4BJ;CACH"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/contracts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE9D,eAAO,MAAM,SAAS,gCAAgC,CAAC;AAEvD,qBAAa,cAAe,SAAQ,iBAAiB;cACnC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IA6B9C,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE;CAQrD;AAED,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD,EAAE,SAAa;IACf,MAAM,SA4BJ;CACH"}
@@ -7,7 +7,7 @@ exports.ContractsGrader = exports.ContractPlugin = exports.PLUGIN_ID = void 0;
7
7
  const dedent_1 = __importDefault(require("dedent"));
8
8
  const base_1 = require("./base");
9
9
  exports.PLUGIN_ID = 'promptfoo:redteam:contracts';
10
- class ContractPlugin extends base_1.PluginBase {
10
+ class ContractPlugin extends base_1.RedteamPluginBase {
11
11
  async getTemplate() {
12
12
  return (0, dedent_1.default) `
13
13
  In order to test whether an AI can be influenced to enter into unintended business contracts, we propose a "contract test".
@@ -46,7 +46,7 @@ class ContractPlugin extends base_1.PluginBase {
46
46
  }
47
47
  }
48
48
  exports.ContractPlugin = ContractPlugin;
49
- class ContractsGrader extends base_1.RedteamModelGrader {
49
+ class ContractsGrader extends base_1.RedteamGraderBase {
50
50
  constructor() {
51
51
  super(...arguments);
52
52
  this.id = exports.PLUGIN_ID;
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../../src/redteam/plugins/contracts.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,iCAAwD;AAE3C,QAAA,SAAS,GAAG,6BAA6B,CAAC;AAEvD,MAAa,cAAe,SAAQ,iBAAU;IAClC,KAAK,CAAC,WAAW;QACzB,OAAO,IAAA,gBAAM,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBd,CAAC;IACF,CAAC;IAES,aAAa,CAAC,MAAc;QACpC,OAAO;YACL;gBACE,IAAI,EAAE,iBAAS;gBACf,MAAM,EAAE,uBAAuB;aAChC;SACF,CAAC;IACJ,CAAC;CACF;AAtCD,wCAsCC;AAED,MAAa,eAAgB,SAAQ,yBAAkB;IAAvD;;QACE,OAAE,GAAG,iBAAS,CAAC;QACf,WAAM,GAAG,IAAA,gBAAM,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4Bd,CAAC;IACJ,CAAC;CAAA;AA/BD,0CA+BC"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../../src/redteam/plugins/contracts.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,iCAA8D;AAEjD,QAAA,SAAS,GAAG,6BAA6B,CAAC;AAEvD,MAAa,cAAe,SAAQ,wBAAiB;IACzC,KAAK,CAAC,WAAW;QACzB,OAAO,IAAA,gBAAM,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBd,CAAC;IACF,CAAC;IAES,aAAa,CAAC,MAAc;QACpC,OAAO;YACL;gBACE,IAAI,EAAE,iBAAS;gBACf,MAAM,EAAE,uBAAuB;aAChC;SACF,CAAC;IACJ,CAAC;CACF;AAtCD,wCAsCC;AAED,MAAa,eAAgB,SAAQ,wBAAiB;IAAtD;;QACE,OAAE,GAAG,iBAAS,CAAC;QACf,WAAM,GAAG,IAAA,gBAAM,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4Bd,CAAC;IACJ,CAAC;CAAA;AA/BD,0CA+BC"}
@@ -1,12 +1,12 @@
1
1
  import type { Assertion, AtomicTestCase, GradingResult, TestCase } from '../../types';
2
- import { PluginBase, RedteamModelGrader } from './base';
2
+ import { RedteamPluginBase, RedteamGraderBase } from './base';
3
3
  export declare const PLUGIN_ID = "promptfoo:redteam:cross-session-leak";
4
- export declare class CrossSessionLeakPlugin extends PluginBase {
4
+ export declare class CrossSessionLeakPlugin extends RedteamPluginBase {
5
5
  protected getTemplate(): Promise<string>;
6
6
  protected getAssertions(prompt: string): Assertion[];
7
7
  generateTests(n: number, delayMs: number): Promise<TestCase[]>;
8
8
  }
9
- export declare class CrossSessionLeakGrader extends RedteamModelGrader {
9
+ export declare class CrossSessionLeakGrader extends RedteamGraderBase {
10
10
  id: string;
11
11
  rubric: string;
12
12
  getResult(prompt: string, llmOutput: string, test: AtomicTestCase): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"crossSessionLeak.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/crossSessionLeak.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGtF,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAExD,eAAO,MAAM,SAAS,yCAAyC,CAAC;AAEhE,qBAAa,sBAAuB,SAAQ,UAAU;cACpC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAmC9C,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE;IAS9C,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CA6CrE;AAED,qBAAa,sBAAuB,SAAQ,kBAAkB;IAC5D,EAAE,SAAa;IACf,MAAM,SAAM;IACN,SAAS,CACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC;QAAE,KAAK,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAcrD"}
1
+ {"version":3,"file":"crossSessionLeak.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/crossSessionLeak.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGtF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE9D,eAAO,MAAM,SAAS,yCAAyC,CAAC;AAEhE,qBAAa,sBAAuB,SAAQ,iBAAiB;cAC3C,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAmC9C,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE;IAS9C,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CA6CrE;AAED,qBAAa,sBAAuB,SAAQ,iBAAiB;IAC3D,EAAE,SAAa;IACf,MAAM,SAAM;IACN,SAAS,CACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC;QAAE,KAAK,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAcrD"}
@@ -10,7 +10,7 @@ const json_1 = require("../../util/json");
10
10
  const shared_1 = require("../providers/shared");
11
11
  const base_1 = require("./base");
12
12
  exports.PLUGIN_ID = 'promptfoo:redteam:cross-session-leak';
13
- class CrossSessionLeakPlugin extends base_1.PluginBase {
13
+ class CrossSessionLeakPlugin extends base_1.RedteamPluginBase {
14
14
  async getTemplate() {
15
15
  return (0, dedent_1.default) `
16
16
  We are testing an AI system for potential information leaks across different user sessions. Generate a series of prompts that simulate two separate user interactions:
@@ -93,7 +93,7 @@ class CrossSessionLeakPlugin extends base_1.PluginBase {
93
93
  }
94
94
  }
95
95
  exports.CrossSessionLeakPlugin = CrossSessionLeakPlugin;
96
- class CrossSessionLeakGrader extends base_1.RedteamModelGrader {
96
+ class CrossSessionLeakGrader extends base_1.RedteamGraderBase {
97
97
  constructor() {
98
98
  super(...arguments);
99
99
  this.id = exports.PLUGIN_ID;
@@ -1 +1 @@
1
- {"version":3,"file":"crossSessionLeak.js","sourceRoot":"","sources":["../../../../src/redteam/plugins/crossSessionLeak.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crossSessionLeak.js","sourceRoot":"","sources":["../../../../src/redteam/plugins/crossSessionLeak.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { ApiProvider, Assertion } from '../../types';
2
- import { PluginBase } from './base';
3
- export declare class CustomPlugin extends PluginBase {
2
+ import { RedteamPluginBase } from './base';
3
+ export declare class CustomPlugin extends RedteamPluginBase {
4
4
  private definition;
5
5
  constructor(provider: ApiProvider, purpose: string, injectVar: string, definition: {
6
6
  generator: string;
@@ -1 +1 @@
1
- {"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/custom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,qBAAa,YAAa,SAAQ,UAAU;IAC1C,OAAO,CAAC,UAAU,CAAwC;gBAGxD,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;cAMnC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9C,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE;CAQrD"}
1
+ {"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/custom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C,qBAAa,YAAa,SAAQ,iBAAiB;IACjD,OAAO,CAAC,UAAU,CAAwC;gBAGxD,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;cAMnC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9C,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE;CAQrD"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CustomPlugin = void 0;
4
4
  const base_1 = require("./base");
5
- class CustomPlugin extends base_1.PluginBase {
5
+ class CustomPlugin extends base_1.RedteamPluginBase {
6
6
  constructor(provider, purpose, injectVar, definition) {
7
7
  super(provider, purpose, injectVar);
8
8
  this.definition = definition;
@@ -1 +1 @@
1
- {"version":3,"file":"custom.js","sourceRoot":"","sources":["../../../../src/redteam/plugins/custom.ts"],"names":[],"mappings":";;;AACA,iCAAoC;AAEpC,MAAa,YAAa,SAAQ,iBAAU;IAG1C,YACE,QAAqB,EACrB,OAAe,EACf,SAAiB,EACjB,UAAiD;QAEjD,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAES,KAAK,CAAC,WAAW;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;IACnC,CAAC;IAES,aAAa,CAAC,MAAc;QACpC,OAAO;YACL;gBACE,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;aAC9B;SACF,CAAC;IACJ,CAAC;CACF;AAzBD,oCAyBC"}
1
+ {"version":3,"file":"custom.js","sourceRoot":"","sources":["../../../../src/redteam/plugins/custom.ts"],"names":[],"mappings":";;;AACA,iCAA2C;AAE3C,MAAa,YAAa,SAAQ,wBAAiB;IAGjD,YACE,QAAqB,EACrB,OAAe,EACf,SAAiB,EACjB,UAAiD;QAEjD,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAES,KAAK,CAAC,WAAW;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;IACnC,CAAC;IAES,aAAa,CAAC,MAAc;QACpC,OAAO;YACL;gBACE,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;aAC9B;SACF,CAAC;IACJ,CAAC;CACF;AAzBD,oCAyBC"}
@@ -1,11 +1,11 @@
1
1
  import type { Assertion } from '../../types';
2
- import { PluginBase, RedteamModelGrader } from './base';
2
+ import { RedteamPluginBase, RedteamGraderBase } from './base';
3
3
  export declare const PLUGIN_ID = "promptfoo:redteam:debug-access";
4
- export declare class DebugAccessPlugin extends PluginBase {
4
+ export declare class DebugAccessPlugin extends RedteamPluginBase {
5
5
  protected getTemplate(): Promise<string>;
6
6
  protected getAssertions(prompt: string): Assertion[];
7
7
  }
8
- export declare class DebugAccessGrader extends RedteamModelGrader {
8
+ export declare class DebugAccessGrader extends RedteamGraderBase {
9
9
  id: string;
10
10
  rubric: string;
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"debugAccess.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/debugAccess.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAExD,eAAO,MAAM,SAAS,mCAAmC,CAAC;AAE1D,qBAAa,iBAAkB,SAAQ,UAAU;cAC/B,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IA6B9C,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE;CAQrD;AAED,qBAAa,iBAAkB,SAAQ,kBAAkB;IACvD,EAAE,SAAa;IACf,MAAM,SAA8M;CACrN"}
1
+ {"version":3,"file":"debugAccess.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/debugAccess.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE9D,eAAO,MAAM,SAAS,mCAAmC,CAAC;AAE1D,qBAAa,iBAAkB,SAAQ,iBAAiB;cACtC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IA6B9C,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE;CAQrD;AAED,qBAAa,iBAAkB,SAAQ,iBAAiB;IACtD,EAAE,SAAa;IACf,MAAM,SAA8M;CACrN"}
@@ -7,7 +7,7 @@ exports.DebugAccessGrader = exports.DebugAccessPlugin = exports.PLUGIN_ID = void
7
7
  const dedent_1 = __importDefault(require("dedent"));
8
8
  const base_1 = require("./base");
9
9
  exports.PLUGIN_ID = 'promptfoo:redteam:debug-access';
10
- class DebugAccessPlugin extends base_1.PluginBase {
10
+ class DebugAccessPlugin extends base_1.RedteamPluginBase {
11
11
  async getTemplate() {
12
12
  return (0, dedent_1.default) `
13
13
  In order to test whether an AI system has an exposed debugging interface, we propose a "Debug Interface test".
@@ -46,7 +46,7 @@ class DebugAccessPlugin extends base_1.PluginBase {
46
46
  }
47
47
  }
48
48
  exports.DebugAccessPlugin = DebugAccessPlugin;
49
- class DebugAccessGrader extends base_1.RedteamModelGrader {
49
+ class DebugAccessGrader extends base_1.RedteamGraderBase {
50
50
  constructor() {
51
51
  super(...arguments);
52
52
  this.id = exports.PLUGIN_ID;
@@ -1 +1 @@
1
- {"version":3,"file":"debugAccess.js","sourceRoot":"","sources":["../../../../src/redteam/plugins/debugAccess.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,iCAAwD;AAE3C,QAAA,SAAS,GAAG,gCAAgC,CAAC;AAE1D,MAAa,iBAAkB,SAAQ,iBAAU;IACrC,KAAK,CAAC,WAAW;QACzB,OAAO,IAAA,gBAAM,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBd,CAAC;IACF,CAAC;IAES,aAAa,CAAC,MAAc;QACpC,OAAO;YACL;gBACE,IAAI,EAAE,iBAAS;gBACf,MAAM,EAAE,aAAa;aACtB;SACF,CAAC;IACJ,CAAC;CACF;AAtCD,8CAsCC;AAED,MAAa,iBAAkB,SAAQ,yBAAkB;IAAzD;;QACE,OAAE,GAAG,iBAAS,CAAC;QACf,WAAM,GAAG,IAAA,gBAAM,EAAA,oMAAoM,CAAC;IACtN,CAAC;CAAA;AAHD,8CAGC"}
1
+ {"version":3,"file":"debugAccess.js","sourceRoot":"","sources":["../../../../src/redteam/plugins/debugAccess.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,iCAA8D;AAEjD,QAAA,SAAS,GAAG,gCAAgC,CAAC;AAE1D,MAAa,iBAAkB,SAAQ,wBAAiB;IAC5C,KAAK,CAAC,WAAW;QACzB,OAAO,IAAA,gBAAM,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBd,CAAC;IACF,CAAC;IAES,aAAa,CAAC,MAAc;QACpC,OAAO;YACL;gBACE,IAAI,EAAE,iBAAS;gBACf,MAAM,EAAE,aAAa;aACtB;SACF,CAAC;IACJ,CAAC;CACF;AAtCD,8CAsCC;AAED,MAAa,iBAAkB,SAAQ,wBAAiB;IAAxD;;QACE,OAAE,GAAG,iBAAS,CAAC;QACf,WAAM,GAAG,IAAA,gBAAM,EAAA,oMAAoM,CAAC;IACtN,CAAC;CAAA;AAHD,8CAGC"}