promptfoo 0.100.0 → 0.100.3

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 (36) hide show
  1. package/dist/package.json +14 -14
  2. package/dist/src/app/assets/{index-C7MIODeb.js → index-CTUbNoYk.js} +239 -239
  3. package/dist/src/app/assets/{index.es-B07_QSRL.js → index.es-D3QM4dM5.js} +1 -1
  4. package/dist/src/app/assets/{sync-C7g_seoZ.js → sync-Bkkellft.js} +1 -1
  5. package/dist/src/app/index.html +1 -1
  6. package/dist/src/providers/azure.d.ts +13 -0
  7. package/dist/src/providers/azure.d.ts.map +1 -1
  8. package/dist/src/providers/azure.js +50 -29
  9. package/dist/src/providers/azure.js.map +1 -1
  10. package/dist/src/redteam/commands/init.d.ts.map +1 -1
  11. package/dist/src/redteam/commands/init.js +3 -2
  12. package/dist/src/redteam/commands/init.js.map +1 -1
  13. package/dist/src/redteam/index.d.ts.map +1 -1
  14. package/dist/src/redteam/index.js +71 -60
  15. package/dist/src/redteam/index.js.map +1 -1
  16. package/dist/src/redteam/plugins/base.d.ts.map +1 -1
  17. package/dist/src/redteam/plugins/base.js +17 -4
  18. package/dist/src/redteam/plugins/base.js.map +1 -1
  19. package/dist/src/redteam/plugins/intent.d.ts.map +1 -1
  20. package/dist/src/redteam/plugins/intent.js +2 -1
  21. package/dist/src/redteam/plugins/intent.js.map +1 -1
  22. package/dist/src/redteam/providers/crescendo/index.d.ts.map +1 -1
  23. package/dist/src/redteam/providers/crescendo/index.js +33 -31
  24. package/dist/src/redteam/providers/crescendo/index.js.map +1 -1
  25. package/dist/src/redteam/strategies/multilingual.d.ts +1 -0
  26. package/dist/src/redteam/strategies/multilingual.d.ts.map +1 -1
  27. package/dist/src/redteam/strategies/multilingual.js +10 -3
  28. package/dist/src/redteam/strategies/multilingual.js.map +1 -1
  29. package/dist/test/providers/azure.test.js +243 -23
  30. package/dist/test/providers/azure.test.js.map +1 -1
  31. package/dist/test/redteam/strategies/multilingual.test.d.ts +2 -0
  32. package/dist/test/redteam/strategies/multilingual.test.d.ts.map +1 -0
  33. package/dist/test/redteam/strategies/multilingual.test.js +158 -0
  34. package/dist/test/redteam/strategies/multilingual.test.js.map +1 -0
  35. package/dist/tsconfig.tsbuildinfo +1 -1
  36. package/package.json +14 -14
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const cache_1 = require("../../src/cache");
3
4
  const azure_1 = require("../../src/providers/azure");
4
5
  const azure_2 = require("../../src/providers/azure");
5
6
  const azure_3 = require("../../src/providers/azure");
@@ -7,6 +8,9 @@ const azureUtil_1 = require("../../src/providers/azureUtil");
7
8
  const huggingface_1 = require("../../src/providers/huggingface");
8
9
  const openai_1 = require("../../src/providers/openai");
9
10
  jest.mock('../../src/logger');
11
+ jest.mock('../../src/cache', () => ({
12
+ fetchWithCache: jest.fn(),
13
+ }));
10
14
  describe('maybeEmitAzureOpenAiWarning', () => {
11
15
  it('should not emit warning when no Azure providers are used', () => {
12
16
  const testSuite = {
@@ -148,21 +152,18 @@ describe('AzureOpenAiChatCompletionProvider', () => {
148
152
  },
149
153
  });
150
154
  });
151
- it('should use provider config when no prompt config exists', async () => {
155
+ it('should use provider config when no prompt config exists', () => {
152
156
  const context = {
153
- prompt: {
154
- label: 'test prompt',
155
- raw: 'test prompt',
156
- },
157
+ prompt: { label: 'test prompt', raw: 'test prompt' },
157
158
  vars: {},
158
159
  };
159
- expect(provider.getOpenAiBody('test prompt', context)).toMatchObject({
160
+ expect(provider.getOpenAiBody('test prompt', context).body).toMatchObject({
160
161
  functions: [{ name: 'provider_func', parameters: {} }],
161
162
  max_tokens: 100,
162
163
  temperature: 0.5,
163
164
  });
164
165
  });
165
- it('should merge prompt config with provider config', async () => {
166
+ it('should merge prompt config with provider config', () => {
166
167
  const context = {
167
168
  prompt: {
168
169
  config: {
@@ -174,42 +175,35 @@ describe('AzureOpenAiChatCompletionProvider', () => {
174
175
  },
175
176
  vars: {},
176
177
  };
177
- expect(provider.getOpenAiBody('test prompt', context)).toMatchObject({
178
+ expect(provider.getOpenAiBody('test prompt', context).body).toMatchObject({
178
179
  functions: [{ name: 'prompt_func', parameters: {} }],
179
180
  max_tokens: 100,
180
181
  temperature: 0.7,
181
182
  });
182
183
  });
183
- it('should handle undefined prompt config', async () => {
184
+ it('should handle undefined prompt config', () => {
184
185
  const context = {
185
- prompt: {
186
- label: 'test prompt',
187
- raw: 'test prompt',
188
- },
186
+ prompt: { label: 'test prompt', raw: 'test prompt' },
189
187
  vars: {},
190
188
  };
191
- expect(provider.getOpenAiBody('test prompt', context)).toMatchObject({
189
+ expect(provider.getOpenAiBody('test prompt', context).body).toMatchObject({
192
190
  functions: [{ name: 'provider_func', parameters: {} }],
193
191
  max_tokens: 100,
194
192
  temperature: 0.5,
195
193
  });
196
194
  });
197
- it('should handle empty prompt config', async () => {
195
+ it('should handle empty prompt config', () => {
198
196
  const context = {
199
- prompt: {
200
- config: {},
201
- label: 'test prompt',
202
- raw: 'test prompt',
203
- },
197
+ prompt: { config: {}, label: 'test prompt', raw: 'test prompt' },
204
198
  vars: {},
205
199
  };
206
- expect(provider.getOpenAiBody('test prompt', context)).toMatchObject({
200
+ expect(provider.getOpenAiBody('test prompt', context).body).toMatchObject({
207
201
  functions: [{ name: 'provider_func', parameters: {} }],
208
202
  max_tokens: 100,
209
203
  temperature: 0.5,
210
204
  });
211
205
  });
212
- it('should handle complex nested config merging', async () => {
206
+ it('should handle complex nested config merging', () => {
213
207
  const context = {
214
208
  prompt: {
215
209
  config: {
@@ -221,7 +215,7 @@ describe('AzureOpenAiChatCompletionProvider', () => {
221
215
  },
222
216
  vars: {},
223
217
  };
224
- expect(provider.getOpenAiBody('test prompt', context)).toMatchObject({
218
+ expect(provider.getOpenAiBody('test prompt', context).body).toMatchObject({
225
219
  functions: [{ name: 'provider_func', parameters: {} }],
226
220
  max_tokens: 100,
227
221
  response_format: { type: 'json_object' },
@@ -229,6 +223,232 @@ describe('AzureOpenAiChatCompletionProvider', () => {
229
223
  tool_choice: { function: { name: 'test' }, type: 'function' },
230
224
  });
231
225
  });
226
+ it('should handle json_schema response format', () => {
227
+ const context = {
228
+ prompt: {
229
+ config: {
230
+ response_format: {
231
+ type: 'json_schema',
232
+ json_schema: {
233
+ name: 'test_schema',
234
+ strict: true,
235
+ schema: {
236
+ type: 'object',
237
+ properties: {
238
+ test: { type: 'string' },
239
+ },
240
+ required: ['test'],
241
+ additionalProperties: false,
242
+ },
243
+ },
244
+ },
245
+ },
246
+ label: 'test prompt',
247
+ raw: 'test prompt',
248
+ },
249
+ vars: {},
250
+ };
251
+ const { body } = provider.getOpenAiBody('test prompt', context);
252
+ expect(body.response_format).toMatchObject({
253
+ type: 'json_schema',
254
+ json_schema: {
255
+ name: 'test_schema',
256
+ strict: true,
257
+ schema: {
258
+ type: 'object',
259
+ properties: {
260
+ test: { type: 'string' },
261
+ },
262
+ required: ['test'],
263
+ additionalProperties: false,
264
+ },
265
+ },
266
+ });
267
+ });
268
+ it('should render variables in response format', () => {
269
+ const context = {
270
+ prompt: {
271
+ config: {
272
+ response_format: {
273
+ type: 'json_schema',
274
+ json_schema: {
275
+ name: '{{schemaName}}',
276
+ strict: true,
277
+ schema: {
278
+ type: 'object',
279
+ properties: {
280
+ test: { type: 'string' },
281
+ },
282
+ },
283
+ },
284
+ },
285
+ },
286
+ label: 'test prompt',
287
+ raw: 'test prompt',
288
+ },
289
+ vars: {
290
+ schemaName: 'dynamic_schema',
291
+ },
292
+ };
293
+ const { body } = provider.getOpenAiBody('test prompt', context);
294
+ expect(body.response_format.json_schema.name).toBe('dynamic_schema');
295
+ });
296
+ });
297
+ describe('response handling', () => {
298
+ let provider;
299
+ beforeEach(() => {
300
+ provider = new azure_3.AzureChatCompletionProvider('test-deployment', {
301
+ config: {
302
+ apiHost: 'test.azure.com',
303
+ apiKey: 'test-key',
304
+ },
305
+ });
306
+ });
307
+ afterEach(() => {
308
+ jest.resetAllMocks();
309
+ });
310
+ it('should parse JSON response with json_schema format', async () => {
311
+ const mockResponse = {
312
+ id: 'mock-id',
313
+ object: 'chat.completion',
314
+ created: Date.now(),
315
+ model: 'gpt-4',
316
+ choices: [
317
+ {
318
+ index: 0,
319
+ message: {
320
+ role: 'assistant',
321
+ content: JSON.stringify({ test: 'value' }),
322
+ },
323
+ finish_reason: 'stop',
324
+ },
325
+ ],
326
+ usage: {
327
+ prompt_tokens: 10,
328
+ completion_tokens: 20,
329
+ total_tokens: 30,
330
+ },
331
+ };
332
+ provider.config.response_format = {
333
+ type: 'json_schema',
334
+ json_schema: {
335
+ name: 'test_response',
336
+ strict: true,
337
+ schema: {
338
+ type: 'object',
339
+ properties: {
340
+ test: { type: 'string' },
341
+ },
342
+ required: ['test'],
343
+ additionalProperties: false,
344
+ },
345
+ },
346
+ };
347
+ jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce({
348
+ data: mockResponse,
349
+ cached: false,
350
+ status: 200,
351
+ statusText: 'OK',
352
+ });
353
+ const result = await provider.callApi('test prompt');
354
+ expect(result.output).toEqual({ test: 'value' });
355
+ });
356
+ it('should handle API errors', async () => {
357
+ jest.mocked(cache_1.fetchWithCache).mockRejectedValueOnce(new Error('API Error'));
358
+ const result = await provider.callApi('test prompt');
359
+ expect(result.error).toBe('API call error: API Error');
360
+ });
361
+ it('should handle invalid JSON response', async () => {
362
+ jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce({
363
+ data: 'invalid json',
364
+ cached: false,
365
+ status: 200,
366
+ statusText: 'OK',
367
+ });
368
+ const result = await provider.callApi('test prompt');
369
+ expect(result.error).toContain('API returned invalid JSON response');
370
+ });
371
+ it('should handle tool calls in response', async () => {
372
+ const mockResponse = {
373
+ id: 'mock-id',
374
+ object: 'chat.completion',
375
+ created: Date.now(),
376
+ model: 'gpt-4',
377
+ choices: [
378
+ {
379
+ index: 0,
380
+ message: {
381
+ role: 'assistant',
382
+ tool_calls: [
383
+ {
384
+ type: 'function',
385
+ function: {
386
+ name: 'test',
387
+ arguments: '{}',
388
+ },
389
+ },
390
+ ],
391
+ },
392
+ finish_reason: 'stop',
393
+ },
394
+ ],
395
+ usage: {
396
+ prompt_tokens: 10,
397
+ completion_tokens: 20,
398
+ total_tokens: 30,
399
+ },
400
+ };
401
+ jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce({
402
+ data: mockResponse,
403
+ cached: false,
404
+ status: 200,
405
+ statusText: 'OK',
406
+ });
407
+ const result = await provider.callApi('test prompt');
408
+ expect(result.output).toEqual([
409
+ {
410
+ type: 'function',
411
+ function: {
412
+ name: 'test',
413
+ arguments: '{}',
414
+ },
415
+ },
416
+ ]);
417
+ });
418
+ });
419
+ });
420
+ describe('AzureCompletionProvider', () => {
421
+ it('should handle basic completion with caching', async () => {
422
+ const provider = new azure_1.AzureCompletionProvider('test-deployment', {
423
+ config: {
424
+ apiHost: 'test.azure.com',
425
+ apiKey: 'test-key',
426
+ },
427
+ });
428
+ const mockResponse = {
429
+ choices: [{ text: 'Test response' }],
430
+ usage: { total_tokens: 10, prompt_tokens: 5, completion_tokens: 5 },
431
+ };
432
+ jest
433
+ .mocked(cache_1.fetchWithCache)
434
+ .mockResolvedValueOnce({
435
+ data: mockResponse,
436
+ cached: false,
437
+ status: 200,
438
+ statusText: 'OK',
439
+ })
440
+ .mockResolvedValueOnce({
441
+ data: mockResponse,
442
+ cached: true,
443
+ status: 200,
444
+ statusText: 'OK',
445
+ });
446
+ const result1 = await provider.callApi('Test prompt');
447
+ const result2 = await provider.callApi('Test prompt');
448
+ expect(cache_1.fetchWithCache).toHaveBeenCalledTimes(2);
449
+ expect(result1.output).toBe('Test response');
450
+ expect(result1.tokenUsage).toEqual({ total: 10, prompt: 5, completion: 5 });
451
+ expect(result2.tokenUsage).toEqual({ cached: 10, total: 10 });
232
452
  });
233
453
  });
234
454
  //# sourceMappingURL=azure.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"azure.test.js","sourceRoot":"","sources":["../../../test/providers/azure.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"azure.test.js","sourceRoot":"","sources":["../../../test/providers/azure.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=multilingual.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multilingual.test.d.ts","sourceRoot":"","sources":["../../../../test/redteam/strategies/multilingual.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,158 @@
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
+ const cli_progress_1 = require("cli-progress");
7
+ const cache_1 = require("../../../src/cache");
8
+ const logger_1 = __importDefault(require("../../../src/logger"));
9
+ const remoteGeneration_1 = require("../../../src/redteam/remoteGeneration");
10
+ const multilingual_1 = require("../../../src/redteam/strategies/multilingual");
11
+ jest.mock('../../../src/logger', () => ({
12
+ debug: jest.fn(),
13
+ error: jest.fn(),
14
+ level: 'info',
15
+ }));
16
+ jest.mock('../../../src/redteam/remoteGeneration', () => ({
17
+ getRemoteGenerationUrl: jest.fn().mockReturnValue('http://test.url'),
18
+ shouldGenerateRemote: jest.fn().mockReturnValue(false),
19
+ }));
20
+ jest.mock('../../../src/cache', () => ({
21
+ fetchWithCache: jest.fn().mockResolvedValue({
22
+ data: { result: [] },
23
+ }),
24
+ }));
25
+ jest.mock('../../../src/redteam/providers/shared', () => ({
26
+ loadRedteamProvider: jest.fn().mockResolvedValue({
27
+ callApi: jest.fn().mockResolvedValue({
28
+ output: '{"translation": "Hallo Welt"}',
29
+ }),
30
+ }),
31
+ }));
32
+ jest.mock('cli-progress', () => ({
33
+ Presets: {
34
+ shades_classic: {},
35
+ },
36
+ SingleBar: jest.fn().mockImplementation(() => ({
37
+ increment: jest.fn(),
38
+ start: jest.fn(),
39
+ stop: jest.fn(),
40
+ })),
41
+ }));
42
+ describe('addMultilingual', () => {
43
+ beforeEach(() => {
44
+ jest.clearAllMocks();
45
+ });
46
+ afterEach(() => {
47
+ jest.resetModules();
48
+ });
49
+ it('should preserve harmCategory and modify assertion metrics', async () => {
50
+ const testCase = {
51
+ assert: [{ type: 'promptfoo:redteam:contracts' }, { type: 'promptfoo:redteam:harmful' }],
52
+ metadata: {
53
+ harmCategory: 'Illegal Activities - Fraud & scams',
54
+ otherField: 'value',
55
+ },
56
+ vars: {
57
+ text: 'Hello world',
58
+ },
59
+ };
60
+ const result = await (0, multilingual_1.addMultilingual)([testCase], 'text', { languages: ['de'] });
61
+ expect(result[0].metadata).toEqual({
62
+ harmCategory: 'Illegal Activities - Fraud & scams',
63
+ otherField: 'value',
64
+ });
65
+ expect(result[0].assert).toEqual([
66
+ {
67
+ metric: 'contracts/Multilingual-DE',
68
+ type: 'promptfoo:redteam:contracts',
69
+ },
70
+ {
71
+ metric: 'harmful/Multilingual-DE',
72
+ type: 'promptfoo:redteam:harmful',
73
+ },
74
+ ]);
75
+ });
76
+ it('should handle test cases without metadata', async () => {
77
+ const testCase = {
78
+ vars: {
79
+ text: 'Hello world',
80
+ },
81
+ };
82
+ const result = await (0, multilingual_1.addMultilingual)([testCase], 'text', { languages: ['de'] });
83
+ expect(result[0].metadata).toEqual({});
84
+ });
85
+ it('should translate text and update vars correctly', async () => {
86
+ const testCase = {
87
+ vars: {
88
+ otherVar: 'test',
89
+ text: 'Hello world',
90
+ },
91
+ };
92
+ const result = await (0, multilingual_1.addMultilingual)([testCase], 'text', { languages: ['de'] });
93
+ expect(result[0].vars).toEqual({
94
+ otherVar: 'test',
95
+ text: 'Hallo Welt',
96
+ });
97
+ });
98
+ it('should increment progress bar when provided', async () => {
99
+ const testCase = {
100
+ vars: {
101
+ text: 'Hello world',
102
+ },
103
+ };
104
+ logger_1.default.level = 'info';
105
+ await (0, multilingual_1.addMultilingual)([testCase], 'text', { languages: ['de'] });
106
+ const mockBarInstance = jest.mocked(cli_progress_1.SingleBar).mock.results[0].value;
107
+ expect(mockBarInstance.increment).toHaveBeenCalledWith(1);
108
+ expect(mockBarInstance.stop).toHaveBeenCalledWith();
109
+ });
110
+ it('should attempt remote generation first', async () => {
111
+ const testCase = {
112
+ vars: { text: 'Hello world' },
113
+ };
114
+ jest.mocked(remoteGeneration_1.shouldGenerateRemote).mockReturnValueOnce(true);
115
+ jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce({
116
+ cached: false,
117
+ data: {
118
+ result: [
119
+ {
120
+ vars: { text: 'Hallo Welt' },
121
+ },
122
+ ],
123
+ },
124
+ status: 200,
125
+ statusText: 'OK',
126
+ });
127
+ const result = await (0, multilingual_1.addMultilingual)([testCase], 'text', { languages: ['es'] });
128
+ expect(result).toHaveLength(1);
129
+ expect(result[0].vars?.text).toBe('Hallo Welt');
130
+ });
131
+ it('should preserve harmCategory and modify assertion metrics only for redteam types', async () => {
132
+ const testCase = {
133
+ assert: [{ type: 'promptfoo:redteam:harmful' }, { type: 'moderation' }],
134
+ metadata: {
135
+ harmCategory: 'Illegal Activities - Fraud & scams',
136
+ otherField: 'value',
137
+ },
138
+ vars: {
139
+ text: 'Hello world',
140
+ },
141
+ };
142
+ const result = await (0, multilingual_1.addMultilingual)([testCase], 'text', { languages: ['de'] });
143
+ expect(result[0].metadata).toEqual({
144
+ harmCategory: 'Illegal Activities - Fraud & scams',
145
+ otherField: 'value',
146
+ });
147
+ expect(result[0].assert).toEqual([
148
+ {
149
+ metric: 'harmful/Multilingual-DE',
150
+ type: 'promptfoo:redteam:harmful',
151
+ },
152
+ {
153
+ type: 'moderation',
154
+ },
155
+ ]);
156
+ });
157
+ });
158
+ //# sourceMappingURL=multilingual.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multilingual.test.js","sourceRoot":"","sources":["../../../../test/redteam/strategies/multilingual.test.ts"],"names":[],"mappings":"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"}