promptfoo 0.103.0 → 0.103.2

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 (94) hide show
  1. package/README.md +36 -427
  2. package/dist/package.json +1 -1
  3. package/dist/src/app/assets/{index-Vk7H3M29.css → index-DdUNCsxz.css} +1 -1
  4. package/dist/src/app/assets/{index-hVGk-Oul.js → index-ziw_4_A9.js} +238 -238
  5. package/dist/src/app/assets/{index.es-CcK3JjZn.js → index.es-XehlSHxK.js} +1 -1
  6. package/dist/src/app/assets/{sync-BaigR5eq.js → sync-DDIaa9Ut.js} +1 -1
  7. package/dist/src/app/index.html +2 -2
  8. package/dist/src/cache.d.ts +1 -1
  9. package/dist/src/cache.d.ts.map +1 -1
  10. package/dist/src/cache.js +3 -3
  11. package/dist/src/cache.js.map +1 -1
  12. package/dist/src/envars.d.ts +6 -1
  13. package/dist/src/envars.d.ts.map +1 -1
  14. package/dist/src/envars.js.map +1 -1
  15. package/dist/src/esm.d.ts.map +1 -1
  16. package/dist/src/esm.js +4 -1
  17. package/dist/src/esm.js.map +1 -1
  18. package/dist/src/fetch.d.ts.map +1 -1
  19. package/dist/src/fetch.js +8 -5
  20. package/dist/src/fetch.js.map +1 -1
  21. package/dist/src/matchers.d.ts.map +1 -1
  22. package/dist/src/matchers.js +7 -0
  23. package/dist/src/matchers.js.map +1 -1
  24. package/dist/src/models/eval.d.ts.map +1 -1
  25. package/dist/src/models/eval.js +9 -1
  26. package/dist/src/models/eval.js.map +1 -1
  27. package/dist/src/models/evalResult.d.ts.map +1 -1
  28. package/dist/src/models/evalResult.js +30 -6
  29. package/dist/src/models/evalResult.js.map +1 -1
  30. package/dist/src/providers/bedrock.d.ts.map +1 -1
  31. package/dist/src/providers/bedrock.js +15 -22
  32. package/dist/src/providers/bedrock.js.map +1 -1
  33. package/dist/src/providers/http.d.ts +4 -1
  34. package/dist/src/providers/http.d.ts.map +1 -1
  35. package/dist/src/providers/http.js +4 -3
  36. package/dist/src/providers/http.js.map +1 -1
  37. package/dist/src/providers/promptfoo.d.ts.map +1 -1
  38. package/dist/src/providers/promptfoo.js +3 -3
  39. package/dist/src/providers/promptfoo.js.map +1 -1
  40. package/dist/src/redteam/commands/generate.d.ts.map +1 -1
  41. package/dist/src/redteam/commands/generate.js +2 -0
  42. package/dist/src/redteam/commands/generate.js.map +1 -1
  43. package/dist/src/redteam/commands/run.d.ts.map +1 -1
  44. package/dist/src/redteam/commands/run.js +6 -0
  45. package/dist/src/redteam/commands/run.js.map +1 -1
  46. package/dist/src/redteam/constants.d.ts +1 -1
  47. package/dist/src/redteam/constants.d.ts.map +1 -1
  48. package/dist/src/redteam/constants.js +7 -0
  49. package/dist/src/redteam/constants.js.map +1 -1
  50. package/dist/src/redteam/graders.d.ts.map +1 -1
  51. package/dist/src/redteam/graders.js +2 -0
  52. package/dist/src/redteam/graders.js.map +1 -1
  53. package/dist/src/redteam/plugins/base.d.ts.map +1 -1
  54. package/dist/src/redteam/plugins/base.js +7 -0
  55. package/dist/src/redteam/plugins/base.js.map +1 -1
  56. package/dist/src/redteam/plugins/divergentRepetition.d.ts +16 -0
  57. package/dist/src/redteam/plugins/divergentRepetition.d.ts.map +1 -0
  58. package/dist/src/redteam/plugins/divergentRepetition.js +133 -0
  59. package/dist/src/redteam/plugins/divergentRepetition.js.map +1 -0
  60. package/dist/src/redteam/plugins/index.d.ts.map +1 -1
  61. package/dist/src/redteam/plugins/index.js +2 -0
  62. package/dist/src/redteam/plugins/index.js.map +1 -1
  63. package/dist/src/redteam/providers/iterative.d.ts +1 -1
  64. package/dist/src/redteam/providers/iterative.d.ts.map +1 -1
  65. package/dist/src/redteam/providers/iterative.js +6 -6
  66. package/dist/src/redteam/providers/iterative.js.map +1 -1
  67. package/dist/src/redteam/types.d.ts +2 -0
  68. package/dist/src/redteam/types.d.ts.map +1 -1
  69. package/dist/src/redteam/util.d.ts +1 -0
  70. package/dist/src/redteam/util.d.ts.map +1 -1
  71. package/dist/src/redteam/util.js +24 -19
  72. package/dist/src/redteam/util.js.map +1 -1
  73. package/dist/src/util/cloud.d.ts +2 -0
  74. package/dist/src/util/cloud.d.ts.map +1 -0
  75. package/dist/src/util/cloud.js +34 -0
  76. package/dist/src/util/cloud.js.map +1 -0
  77. package/dist/test/fetch.test.js +27 -1
  78. package/dist/test/fetch.test.js.map +1 -1
  79. package/dist/test/integrations/huggingfaceDatasets.test.js +1 -0
  80. package/dist/test/integrations/huggingfaceDatasets.test.js.map +1 -1
  81. package/dist/test/matchers.test.js +15 -0
  82. package/dist/test/matchers.test.js.map +1 -1
  83. package/dist/test/providers/bedrock.test.js +21 -0
  84. package/dist/test/providers/bedrock.test.js.map +1 -1
  85. package/dist/test/providers/http.test.js +54 -25
  86. package/dist/test/providers/http.test.js.map +1 -1
  87. package/dist/test/redteam/plugins/base.test.js +69 -0
  88. package/dist/test/redteam/plugins/base.test.js.map +1 -1
  89. package/dist/test/redteam/plugins/intent.test.js +16 -1
  90. package/dist/test/redteam/plugins/intent.test.js.map +1 -1
  91. package/dist/test/redteam/providers/iterative.test.js +48 -3
  92. package/dist/test/redteam/providers/iterative.test.js.map +1 -1
  93. package/dist/tsconfig.tsbuildinfo +1 -1
  94. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"intent.test.js","sourceRoot":"","sources":["../../../../test/redteam/plugins/intent.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intent.test.js","sourceRoot":"","sources":["../../../../test/redteam/plugins/intent.test.ts"],"names":[],"mappings":"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"}
@@ -42,10 +42,38 @@ describe('RedteamIterativeProvider', () => {
42
42
  globals_1.jest.clearAllMocks();
43
43
  mockRedteamProvider = {
44
44
  id: globals_1.jest.fn().mockReturnValue('mock-redteam'),
45
- callApi: () => ({ output: 'mock response' }),
45
+ callApi: globals_1.jest
46
+ .fn()
47
+ .mockImplementation(async (prompt) => {
48
+ const input = JSON.parse(prompt);
49
+ if (Array.isArray(input) && input[0]?.role === 'system') {
50
+ return {
51
+ output: JSON.stringify({
52
+ improvement: 'test improvement',
53
+ prompt: 'test prompt',
54
+ }),
55
+ };
56
+ }
57
+ else if (Array.isArray(input) && input[0]?.content?.includes('on-topic')) {
58
+ return {
59
+ output: JSON.stringify({ onTopic: true }),
60
+ };
61
+ }
62
+ else {
63
+ return {
64
+ output: JSON.stringify({
65
+ currentResponse: { rating: 5, explanation: 'test' },
66
+ previousBestResponse: { rating: 0, explanation: 'none' },
67
+ }),
68
+ };
69
+ }
70
+ }),
46
71
  };
47
- mockGetProvider.mockImplementation(() => mockRedteamProvider);
48
- mockCheckPenalizedPhrases.mockReturnValue(false);
72
+ mockGetProvider.mockImplementation(() => Promise.resolve(mockRedteamProvider));
73
+ mockGetTargetResponse.mockImplementation(() => Promise.resolve({
74
+ output: 'mock target response',
75
+ }));
76
+ mockCheckPenalizedPhrases.mockImplementation(() => false);
49
77
  });
50
78
  describe('constructor', () => {
51
79
  it('should throw if injectVar is not provided', () => {
@@ -56,6 +84,23 @@ describe('RedteamIterativeProvider', () => {
56
84
  expect(provider).toBeInstanceOf(iterative_1.default);
57
85
  expect(provider.id()).toBe('promptfoo:redteam:iterative');
58
86
  });
87
+ it('should use default numIterations if not provided', () => {
88
+ const provider = new iterative_1.default({ injectVar: 'test' });
89
+ expect(provider['numIterations']).toBe(10);
90
+ });
91
+ it('should use configured numIterations when provided', () => {
92
+ const provider = new iterative_1.default({
93
+ injectVar: 'test',
94
+ numIterations: '5',
95
+ });
96
+ expect(provider['numIterations']).toBe(5);
97
+ });
98
+ it('should use environment variable for numIterations if set', () => {
99
+ process.env.PROMPTFOO_NUM_JAILBREAK_ITERATIONS = '15';
100
+ const provider = new iterative_1.default({ injectVar: 'test' });
101
+ expect(provider['numIterations']).toBe(15);
102
+ delete process.env.PROMPTFOO_NUM_JAILBREAK_ITERATIONS;
103
+ });
59
104
  });
60
105
  });
61
106
  //# sourceMappingURL=iterative.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"iterative.test.js","sourceRoot":"","sources":["../../../../test/redteam/providers/iterative.test.ts"],"names":[],"mappings":";;;;;AAAA,2CAAqC;AACrC,yFAAgF;AAGhF,MAAM,eAAe,GAAG,cAAI,CAAC,EAAE,EAAE,CAAC;AAClC,MAAM,qBAAqB,GAAG,cAAI,CAAC,EAAE,EAAE,CAAC;AACxC,MAAM,yBAAyB,GAAG,cAAI,CAAC,EAAE,EAAE,CAAC;AAE5C,cAAI,CAAC,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE,CAAC,CAAC;IACxD,sBAAsB,EAAE;QACtB,WAAW,EAAE,eAAe;KAC7B;IACD,iBAAiB,EAAE,qBAAqB;IACxC,qBAAqB,EAAE,yBAAyB;CACjD,CAAC,CAAC,CAAC;AAEJ,cAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,MAAM,EAAE;QACN,MAAM,EAAE;YACN,MAAM,EAAE,UAAU;SACnB;KACF;CACF,CAAC,CAAC,CAAC;AAEJ,cAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE,CAAC,CAAC;IAChD,4BAA4B,EAAE,cAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;QAChE,EAAE,EAAE,cAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC;QAC5C,OAAO,EAAE,cAAI,CAAC,EAAE,EAAE;KACnB,CAAC,CAAC;CACJ,CAAC,CAAC,CAAC;AAEJ,cAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,gBAAgB,EAAE,cAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAC5C,GAAG,EAAE,CACH;QACE;YACE,EAAE,EAAE,GAAG,EAAE,CAAC,eAAe;YACzB,OAAO,EAAE,cAAI,CAAC,EAAE,EAAE;SACnB;KACe,CACrB;CACF,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,IAAI,mBAA6C,CAAC;IAElD,UAAU,CAAC,GAAG,EAAE;QACd,cAAI,CAAC,aAAa,EAAE,CAAC;QAErB,mBAAmB,GAAG;YACpB,EAAE,EAAE,cAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,cAAc,CAAC;YAC7C,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;SACN,CAAC;QAEzC,eAAe,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC;QAC9D,yBAAyB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,mBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,QAAQ,GAAG,IAAI,mBAAwB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,mBAAwB,CAAC,CAAC;YAC1D,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"iterative.test.js","sourceRoot":"","sources":["../../../../test/redteam/providers/iterative.test.ts"],"names":[],"mappings":"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"}