promptfoo 0.89.4 → 0.90.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 (174) hide show
  1. package/dist/package.json +15 -13
  2. package/dist/src/app/assets/{index-BPzLW4I1.js → index-BeOib0z5.js} +115 -115
  3. package/dist/src/app/assets/{index.es-D-gLDYqw.js → index.es-CzfKCJRL.js} +1 -1
  4. package/dist/src/app/assets/{sync-jrQhr-Ko.js → sync-Bosy7BPC.js} +1 -1
  5. package/dist/src/app/index.html +1 -1
  6. package/dist/src/assertions.d.ts.map +1 -1
  7. package/dist/src/assertions.js +1 -0
  8. package/dist/src/assertions.js.map +1 -1
  9. package/dist/src/cache.js +2 -2
  10. package/dist/src/cache.js.map +1 -1
  11. package/dist/src/commands/auth.d.ts +3 -0
  12. package/dist/src/commands/auth.d.ts.map +1 -0
  13. package/dist/src/commands/auth.js +86 -0
  14. package/dist/src/commands/auth.js.map +1 -0
  15. package/dist/src/commands/config.js +1 -1
  16. package/dist/src/commands/config.js.map +1 -1
  17. package/dist/src/commands/eval.d.ts.map +1 -1
  18. package/dist/src/commands/eval.js +25 -12
  19. package/dist/src/commands/eval.js.map +1 -1
  20. package/dist/src/commands/generate/dataset.d.ts.map +1 -1
  21. package/dist/src/commands/generate/dataset.js +2 -2
  22. package/dist/src/commands/generate/dataset.js.map +1 -1
  23. package/dist/src/commands/init.js +1 -1
  24. package/dist/src/commands/init.js.map +1 -1
  25. package/dist/src/commands/share.d.ts.map +1 -1
  26. package/dist/src/commands/share.js +18 -8
  27. package/dist/src/commands/share.js.map +1 -1
  28. package/dist/src/commands/view.js +2 -2
  29. package/dist/src/commands/view.js.map +1 -1
  30. package/dist/src/configTypes.d.ts +5 -1
  31. package/dist/src/configTypes.d.ts.map +1 -1
  32. package/dist/src/constants.d.ts +1 -1
  33. package/dist/src/constants.d.ts.map +1 -1
  34. package/dist/src/constants.js +2 -1
  35. package/dist/src/constants.js.map +1 -1
  36. package/dist/src/csv.d.ts.map +1 -1
  37. package/dist/src/csv.js +3 -2
  38. package/dist/src/csv.js.map +1 -1
  39. package/dist/src/database/index.js +3 -3
  40. package/dist/src/database/index.js.map +1 -1
  41. package/dist/src/database/tables.d.ts +10 -0
  42. package/dist/src/database/tables.d.ts.map +1 -1
  43. package/dist/src/envars.d.ts +18 -0
  44. package/dist/src/envars.d.ts.map +1 -1
  45. package/dist/src/envars.js.map +1 -1
  46. package/dist/src/globalConfig/accounts.d.ts.map +1 -0
  47. package/dist/src/{accounts.js → globalConfig/accounts.js} +2 -2
  48. package/dist/src/globalConfig/accounts.js.map +1 -0
  49. package/dist/src/globalConfig/cloud.d.ts +17 -0
  50. package/dist/src/globalConfig/cloud.d.ts.map +1 -0
  51. package/dist/src/globalConfig/cloud.js +82 -0
  52. package/dist/src/globalConfig/cloud.js.map +1 -0
  53. package/dist/src/{globalConfig.d.ts → globalConfig/globalConfig.d.ts} +1 -3
  54. package/dist/src/globalConfig/globalConfig.d.ts.map +1 -0
  55. package/dist/src/{globalConfig.js → globalConfig/globalConfig.js} +13 -36
  56. package/dist/src/globalConfig/globalConfig.js.map +1 -0
  57. package/dist/src/main.d.ts +1 -5
  58. package/dist/src/main.d.ts.map +1 -1
  59. package/dist/src/main.js +15 -31
  60. package/dist/src/main.js.map +1 -1
  61. package/dist/src/onboarding.d.ts.map +1 -1
  62. package/dist/src/onboarding.js +5 -3
  63. package/dist/src/onboarding.js.map +1 -1
  64. package/dist/src/providers/bedrock.d.ts +15 -0
  65. package/dist/src/providers/bedrock.d.ts.map +1 -1
  66. package/dist/src/providers/bedrock.js +53 -20
  67. package/dist/src/providers/bedrock.js.map +1 -1
  68. package/dist/src/providers/http.d.ts +3 -1
  69. package/dist/src/providers/http.d.ts.map +1 -1
  70. package/dist/src/providers/http.js +61 -6
  71. package/dist/src/providers/http.js.map +1 -1
  72. package/dist/src/providers.d.ts.map +1 -1
  73. package/dist/src/providers.js +8 -2
  74. package/dist/src/providers.js.map +1 -1
  75. package/dist/src/redteam/commands/generate.d.ts.map +1 -1
  76. package/dist/src/redteam/commands/generate.js +9 -7
  77. package/dist/src/redteam/commands/generate.js.map +1 -1
  78. package/dist/src/redteam/commands/init.d.ts.map +1 -1
  79. package/dist/src/redteam/commands/init.js +17 -23
  80. package/dist/src/redteam/commands/init.js.map +1 -1
  81. package/dist/src/redteam/plugins/crossSessionLeak.d.ts.map +1 -1
  82. package/dist/src/redteam/plugins/crossSessionLeak.js +2 -0
  83. package/dist/src/redteam/plugins/crossSessionLeak.js.map +1 -1
  84. package/dist/src/redteam/providers/iterative.d.ts.map +1 -1
  85. package/dist/src/redteam/providers/iterative.js +0 -1
  86. package/dist/src/redteam/providers/iterative.js.map +1 -1
  87. package/dist/src/redteam/providers/iterativeImage.d.ts.map +1 -1
  88. package/dist/src/redteam/providers/iterativeImage.js +0 -1
  89. package/dist/src/redteam/providers/iterativeImage.js.map +1 -1
  90. package/dist/src/share.d.ts.map +1 -1
  91. package/dist/src/share.js +35 -16
  92. package/dist/src/share.js.map +1 -1
  93. package/dist/src/telemetry.d.ts +0 -1
  94. package/dist/src/telemetry.d.ts.map +1 -1
  95. package/dist/src/telemetry.js +0 -7
  96. package/dist/src/telemetry.js.map +1 -1
  97. package/dist/src/types/index.d.ts +308 -0
  98. package/dist/src/types/index.d.ts.map +1 -1
  99. package/dist/src/types/index.js +3 -0
  100. package/dist/src/types/index.js.map +1 -1
  101. package/dist/src/util/config/default.d.ts +14 -0
  102. package/dist/src/util/config/default.d.ts.map +1 -0
  103. package/dist/src/util/config/default.js +36 -0
  104. package/dist/src/util/config/default.js.map +1 -0
  105. package/dist/src/{config.d.ts → util/config/load.d.ts} +3 -3
  106. package/dist/src/util/config/load.d.ts.map +1 -0
  107. package/dist/src/{config.js → util/config/load.js} +18 -17
  108. package/dist/src/util/config/load.js.map +1 -0
  109. package/dist/src/util/{config.d.ts → config/manage.d.ts} +2 -2
  110. package/dist/src/util/config/manage.d.ts.map +1 -0
  111. package/dist/src/util/{config.js → config/manage.js} +3 -3
  112. package/dist/src/util/config/manage.js.map +1 -0
  113. package/dist/src/util/index.d.ts +4 -0
  114. package/dist/src/util/index.d.ts.map +1 -1
  115. package/dist/src/util/index.js +8 -8
  116. package/dist/src/util/index.js.map +1 -1
  117. package/dist/test/account.test.js +5 -4
  118. package/dist/test/account.test.js.map +1 -1
  119. package/dist/test/assertions.test.js +37 -0
  120. package/dist/test/assertions.test.js.map +1 -1
  121. package/dist/test/csv.test.js +21 -0
  122. package/dist/test/csv.test.js.map +1 -1
  123. package/dist/test/globalConfig.test.js +5 -26
  124. package/dist/test/globalConfig.test.js.map +1 -1
  125. package/dist/test/providers.bedrock.test.js +46 -0
  126. package/dist/test/providers.bedrock.test.js.map +1 -1
  127. package/dist/test/providers.http.test.js +100 -5
  128. package/dist/test/providers.http.test.js.map +1 -1
  129. package/dist/test/providers.pythonCompletion.test.js +21 -0
  130. package/dist/test/providers.pythonCompletion.test.js.map +1 -1
  131. package/dist/test/providers.test.js +25 -0
  132. package/dist/test/providers.test.js.map +1 -1
  133. package/dist/test/redteam/commands/generate.test.js +9 -9
  134. package/dist/test/redteam/commands/generate.test.js.map +1 -1
  135. package/dist/test/redteam/extraction/entities.test.js +4 -1
  136. package/dist/test/redteam/extraction/entities.test.js.map +1 -1
  137. package/dist/test/redteam/extraction/purpose.test.js +4 -1
  138. package/dist/test/redteam/extraction/purpose.test.js.map +1 -1
  139. package/dist/test/redteam/extraction/util.test.js +3 -0
  140. package/dist/test/redteam/extraction/util.test.js.map +1 -1
  141. package/dist/test/telemetry.test.js +0 -3
  142. package/dist/test/telemetry.test.js.map +1 -1
  143. package/dist/test/util.config.default.test.d.ts +2 -0
  144. package/dist/test/util.config.default.test.d.ts.map +1 -0
  145. package/dist/test/util.config.default.test.js +62 -0
  146. package/dist/test/util.config.default.test.js.map +1 -0
  147. package/dist/test/util.config.load.test.ts.d.ts +2 -0
  148. package/dist/test/util.config.load.test.ts.d.ts.map +1 -0
  149. package/dist/test/{config.test.js → util.config.load.test.ts.js} +75 -28
  150. package/dist/test/util.config.load.test.ts.js.map +1 -0
  151. package/dist/test/util.config.main.test.d.ts +2 -0
  152. package/dist/test/util.config.main.test.d.ts.map +1 -0
  153. package/dist/test/{util.config.test.js → util.config.main.test.js} +16 -16
  154. package/dist/test/util.config.main.test.js.map +1 -0
  155. package/package.json +15 -13
  156. package/dist/src/accounts.d.ts.map +0 -1
  157. package/dist/src/accounts.js.map +0 -1
  158. package/dist/src/config.d.ts.map +0 -1
  159. package/dist/src/config.js.map +0 -1
  160. package/dist/src/globalConfig.d.ts.map +0 -1
  161. package/dist/src/globalConfig.js.map +0 -1
  162. package/dist/src/util/config.d.ts.map +0 -1
  163. package/dist/src/util/config.js.map +0 -1
  164. package/dist/test/config.test.d.ts +0 -2
  165. package/dist/test/config.test.d.ts.map +0 -1
  166. package/dist/test/config.test.js.map +0 -1
  167. package/dist/test/main.test.d.ts +0 -2
  168. package/dist/test/main.test.d.ts.map +0 -1
  169. package/dist/test/main.test.js +0 -49
  170. package/dist/test/main.test.js.map +0 -1
  171. package/dist/test/util.config.test.d.ts +0 -2
  172. package/dist/test/util.config.test.d.ts.map +0 -1
  173. package/dist/test/util.config.test.js.map +0 -1
  174. /package/dist/src/{accounts.d.ts → globalConfig/accounts.d.ts} +0 -0
@@ -31,10 +31,10 @@ const glob_1 = require("glob");
31
31
  const js_yaml_1 = __importDefault(require("js-yaml"));
32
32
  const path = __importStar(require("path"));
33
33
  const cliState_1 = __importDefault(require("../src/cliState"));
34
- const config_1 = require("../src/config");
35
34
  const esm_1 = require("../src/esm");
36
35
  const testCases_1 = require("../src/testCases");
37
36
  const util_1 = require("../src/util");
37
+ const load_1 = require("../src/util/config/load");
38
38
  jest.mock('../src/database', () => ({
39
39
  getDb: jest.fn(),
40
40
  }));
@@ -70,7 +70,7 @@ jest.mock('../src/testCases', () => {
70
70
  };
71
71
  });
72
72
  jest.mock('../src/logger');
73
- describe('readConfigs', () => {
73
+ describe('combineConfigs', () => {
74
74
  beforeEach(() => {
75
75
  jest.clearAllMocks();
76
76
  });
@@ -144,7 +144,7 @@ describe('readConfigs', () => {
144
144
  jest.mocked(fs.statSync).mockImplementation(() => {
145
145
  throw new Error('File does not exist');
146
146
  });
147
- const config1Result = await (0, config_1.readConfigs)(['config1.json']);
147
+ const config1Result = await (0, load_1.combineConfigs)(['config1.json']);
148
148
  expect(config1Result).toEqual({
149
149
  description: 'test1',
150
150
  tags: { tag1: 'value1' },
@@ -173,7 +173,7 @@ describe('readConfigs', () => {
173
173
  metadata: {},
174
174
  sharing: false,
175
175
  });
176
- const config2Result = await (0, config_1.readConfigs)(['config2.json']);
176
+ const config2Result = await (0, load_1.combineConfigs)(['config2.json']);
177
177
  expect(config2Result).toEqual({
178
178
  description: 'test2',
179
179
  tags: {},
@@ -202,7 +202,7 @@ describe('readConfigs', () => {
202
202
  metadata: {},
203
203
  sharing: true,
204
204
  });
205
- const result = await (0, config_1.readConfigs)(['config1.json', 'config2.json']);
205
+ const result = await (0, load_1.combineConfigs)(['config1.json', 'config2.json']);
206
206
  expect(fs.readFileSync).toHaveBeenCalledTimes(4);
207
207
  expect(result).toEqual({
208
208
  description: 'test1, test2',
@@ -236,9 +236,56 @@ describe('readConfigs', () => {
236
236
  sharing: false,
237
237
  });
238
238
  });
239
+ it('combines configs with provider-specific prompts', async () => {
240
+ jest.mocked(fs.existsSync).mockReturnValue(true);
241
+ jest.mocked(fs.readFileSync).mockImplementation((path) => {
242
+ if (typeof path === 'string' && path === 'config.json') {
243
+ return JSON.stringify({
244
+ prompts: [
245
+ { id: 'file://prompt1.txt', label: 'My first prompt' },
246
+ { id: 'file://prompt2.txt', label: 'My second prompt' },
247
+ ],
248
+ providers: [
249
+ {
250
+ id: 'openai:gpt-4o-mini',
251
+ prompts: ['My first prompt', 'My second prompt'],
252
+ },
253
+ {
254
+ id: 'openai:gpt-4',
255
+ prompts: ['My first prompt'],
256
+ },
257
+ ],
258
+ tests: [{ vars: { topic: 'bananas' } }],
259
+ });
260
+ }
261
+ return Buffer.from('');
262
+ });
263
+ const result = await (0, load_1.combineConfigs)(['config.json']);
264
+ expect(result.prompts).toEqual([
265
+ {
266
+ id: `file://${path.resolve(path.dirname('config.json'), 'prompt1.txt')}`,
267
+ label: 'My first prompt',
268
+ },
269
+ {
270
+ id: `file://${path.resolve(path.dirname('config.json'), 'prompt2.txt')}`,
271
+ label: 'My second prompt',
272
+ },
273
+ ]);
274
+ expect(result.providers).toEqual([
275
+ {
276
+ id: 'openai:gpt-4o-mini',
277
+ prompts: ['My first prompt', 'My second prompt'],
278
+ },
279
+ {
280
+ id: 'openai:gpt-4',
281
+ prompts: ['My first prompt'],
282
+ },
283
+ ]);
284
+ expect(result.tests?.[0]).toEqual({ vars: { topic: 'bananas' } });
285
+ });
239
286
  it('throws error for unsupported configuration file format', async () => {
240
287
  jest.mocked(fs.existsSync).mockReturnValue(true);
241
- await expect((0, config_1.readConfigs)(['config1.unsupported'])).rejects.toThrow('Unsupported configuration file format: .unsupported');
288
+ await expect((0, load_1.combineConfigs)(['config1.unsupported'])).rejects.toThrow('Unsupported configuration file format: .unsupported');
242
289
  });
243
290
  it('makeAbsolute should resolve file:// syntax and plaintext prompts', async () => {
244
291
  jest.mocked(fs.existsSync).mockReturnValue(true);
@@ -260,7 +307,7 @@ describe('readConfigs', () => {
260
307
  return Buffer.from(''); // Return an empty Buffer instead of null
261
308
  });
262
309
  const configPaths = ['config1.json', 'config2.json'];
263
- const result = await (0, config_1.readConfigs)(configPaths);
310
+ const result = await (0, load_1.combineConfigs)(configPaths);
264
311
  expect(result.prompts).toEqual([
265
312
  `file://${path.resolve(path.dirname(configPaths[0]), 'prompt1.txt')}`,
266
313
  'prompt2',
@@ -288,7 +335,7 @@ describe('readConfigs', () => {
288
335
  return Buffer.from(''); // Return an empty Buffer instead of null
289
336
  });
290
337
  const configPaths = ['config1.json', 'config2.json'];
291
- const result = await (0, config_1.readConfigs)(configPaths);
338
+ const result = await (0, load_1.combineConfigs)(configPaths);
292
339
  expect(result.prompts).toEqual([
293
340
  'prompt1',
294
341
  `file://${path.resolve(path.dirname(configPaths[0]), 'prompt2.txt')}`,
@@ -311,7 +358,7 @@ describe('readConfigs', () => {
311
358
  .mocked(fs.readFileSync)
312
359
  .mockReturnValueOnce(JSON.stringify(config1))
313
360
  .mockReturnValueOnce(JSON.stringify(config2));
314
- const result = await (0, config_1.readConfigs)(['config1.json', 'config2.json']);
361
+ const result = await (0, load_1.combineConfigs)(['config1.json', 'config2.json']);
315
362
  expect(result.defaultTest?.metadata).toEqual({
316
363
  key1: 'value1',
317
364
  key2: 'value2',
@@ -329,7 +376,7 @@ describe('readConfigs', () => {
329
376
  .mockReturnValueOnce(JSON.stringify(config1))
330
377
  .mockReturnValueOnce(JSON.stringify(config2));
331
378
  jest.spyOn(console, 'warn').mockImplementation();
332
- const result = await (0, config_1.readConfigs)(['config1.json', 'config2.json']);
379
+ const result = await (0, load_1.combineConfigs)(['config1.json', 'config2.json']);
333
380
  expect(result.extensions).toEqual(['extension1', 'extension2', 'extension3']);
334
381
  });
335
382
  it('handles configs without extensions', async () => {
@@ -343,7 +390,7 @@ describe('readConfigs', () => {
343
390
  .mocked(fs.readFileSync)
344
391
  .mockReturnValueOnce(JSON.stringify(config1))
345
392
  .mockReturnValueOnce(JSON.stringify(config2));
346
- const result = await (0, config_1.readConfigs)(['config1.json', 'config2.json']);
393
+ const result = await (0, load_1.combineConfigs)(['config1.json', 'config2.json']);
347
394
  expect(result.extensions).toEqual(['extension1']);
348
395
  });
349
396
  it('warns when multiple configs and extensions are detected', async () => {
@@ -356,7 +403,7 @@ describe('readConfigs', () => {
356
403
  extensions: ['extension2'],
357
404
  }));
358
405
  const consoleSpy = jest.spyOn(console, 'warn').mockImplementation();
359
- await (0, config_1.readConfigs)(['config1.json', 'config2.json']);
406
+ await (0, load_1.combineConfigs)(['config1.json', 'config2.json']);
360
407
  expect(consoleSpy).toHaveBeenCalledWith('Warning: Multiple configurations and extensions detected. Currently, all extensions are run across all configs and do not respect their original promptfooconfig. Please file an issue on our GitHub repository if you need support for this use case.');
361
408
  consoleSpy.mockRestore();
362
409
  });
@@ -370,7 +417,7 @@ describe('readConfigs', () => {
370
417
  description: 'Config without extensions',
371
418
  }));
372
419
  const consoleSpy = jest.spyOn(console, 'warn').mockImplementation();
373
- await (0, config_1.readConfigs)(['config1.json', 'config2.json']);
420
+ await (0, load_1.combineConfigs)(['config1.json', 'config2.json']);
374
421
  expect(consoleSpy).toHaveBeenCalledWith('Warning: Multiple configurations and extensions detected. Currently, all extensions are run across all configs and do not respect their original promptfooconfig. Please file an issue on our GitHub repository if you need support for this use case.');
375
422
  consoleSpy.mockRestore();
376
423
  });
@@ -385,7 +432,7 @@ describe('dereferenceConfig', () => {
385
432
  evaluateOptions: {},
386
433
  commandLineOptions: {},
387
434
  };
388
- const dereferencedConfig = await (0, config_1.dereferenceConfig)(rawConfig);
435
+ const dereferencedConfig = await (0, load_1.dereferenceConfig)(rawConfig);
389
436
  expect(dereferencedConfig).toEqual(rawConfig);
390
437
  });
391
438
  it('should dereference a config with $refs', async () => {
@@ -415,7 +462,7 @@ describe('dereferenceConfig', () => {
415
462
  },
416
463
  },
417
464
  };
418
- const dereferencedConfig = await (0, config_1.dereferenceConfig)(rawConfig);
465
+ const dereferencedConfig = await (0, load_1.dereferenceConfig)(rawConfig);
419
466
  expect(dereferencedConfig).toEqual(expectedConfig);
420
467
  });
421
468
  it('should preserve regular functions when dereferencing', async () => {
@@ -447,7 +494,7 @@ describe('dereferenceConfig', () => {
447
494
  },
448
495
  ],
449
496
  };
450
- const dereferencedConfig = await (0, config_1.dereferenceConfig)(rawConfig);
497
+ const dereferencedConfig = await (0, load_1.dereferenceConfig)(rawConfig);
451
498
  expect(dereferencedConfig).toEqual(rawConfig);
452
499
  });
453
500
  it('should preserve tools with references and definitions when dereferencing', async () => {
@@ -496,7 +543,7 @@ describe('dereferenceConfig', () => {
496
543
  prompt: 'hello world',
497
544
  },
498
545
  };
499
- const dereferencedConfig = await (0, config_1.dereferenceConfig)(rawConfig);
546
+ const dereferencedConfig = await (0, load_1.dereferenceConfig)(rawConfig);
500
547
  const expectedOutput = {
501
548
  prompts: ['hello world'],
502
549
  tests: [],
@@ -561,7 +608,7 @@ describe('dereferenceConfig', () => {
561
608
  },
562
609
  ],
563
610
  };
564
- const dereferencedConfig = await (0, config_1.dereferenceConfig)(rawConfig);
611
+ const dereferencedConfig = await (0, load_1.dereferenceConfig)(rawConfig);
565
612
  expect(dereferencedConfig).toEqual(rawConfig);
566
613
  });
567
614
  });
@@ -577,7 +624,7 @@ describe('resolveConfigs', () => {
577
624
  prompts: ['prompt1'],
578
625
  providers: ['openai:foobar'],
579
626
  }));
580
- await (0, config_1.resolveConfigs)(cmdObj, defaultConfig);
627
+ await (0, load_1.resolveConfigs)(cmdObj, defaultConfig);
581
628
  expect(cliState_1.default.basePath).toBe(path.dirname('config.json'));
582
629
  });
583
630
  it('should load scenarios and tests from external files', async () => {
@@ -603,7 +650,7 @@ describe('resolveConfigs', () => {
603
650
  // Mock readTests to return the external tests
604
651
  jest.mocked(testCases_1.readTests).mockResolvedValue(externalTests);
605
652
  jest.mocked(glob_1.globSync).mockReturnValue(['config.json']);
606
- const { testSuite } = await (0, config_1.resolveConfigs)(cmdObj, defaultConfig);
653
+ const { testSuite } = await (0, load_1.resolveConfigs)(cmdObj, defaultConfig);
607
654
  expect(util_1.maybeLoadFromExternalFile).toHaveBeenCalledWith(['file://scenarios.yaml']);
608
655
  expect(util_1.maybeLoadFromExternalFile).toHaveBeenCalledWith('file://tests.yaml');
609
656
  expect(testSuite).toEqual(expect.objectContaining({
@@ -646,7 +693,7 @@ describe('readConfig', () => {
646
693
  };
647
694
  jest.spyOn(fs, 'readFileSync').mockReturnValue(JSON.stringify(mockConfig));
648
695
  jest.spyOn(path, 'parse').mockReturnValue({ ext: '.json' });
649
- const result = await (0, config_1.readConfig)('config.json');
696
+ const result = await (0, load_1.readConfig)('config.json');
650
697
  expect(result).toEqual(mockConfig);
651
698
  expect(fs.readFileSync).toHaveBeenCalledWith('config.json', 'utf-8');
652
699
  });
@@ -658,7 +705,7 @@ describe('readConfig', () => {
658
705
  };
659
706
  jest.spyOn(fs, 'readFileSync').mockReturnValue(js_yaml_1.default.dump(mockConfig));
660
707
  jest.spyOn(path, 'parse').mockReturnValue({ ext: '.yaml' });
661
- const result = await (0, config_1.readConfig)('config.yaml');
708
+ const result = await (0, load_1.readConfig)('config.yaml');
662
709
  expect(result).toEqual(mockConfig);
663
710
  expect(fs.readFileSync).toHaveBeenCalledWith('config.yaml', 'utf-8');
664
711
  });
@@ -670,13 +717,13 @@ describe('readConfig', () => {
670
717
  };
671
718
  jest.spyOn(path, 'parse').mockReturnValue({ ext: '.js' });
672
719
  jest.mocked(esm_1.importModule).mockResolvedValue(mockConfig);
673
- const result = await (0, config_1.readConfig)('config.js');
720
+ const result = await (0, load_1.readConfig)('config.js');
674
721
  expect(result).toEqual(mockConfig);
675
722
  expect(esm_1.importModule).toHaveBeenCalledWith('config.js');
676
723
  });
677
724
  it('should throw error for unsupported file format', async () => {
678
725
  jest.spyOn(path, 'parse').mockReturnValue({ ext: '.txt' });
679
- await expect((0, config_1.readConfig)('config.txt')).rejects.toThrow('Unsupported configuration file format: .txt');
726
+ await expect((0, load_1.readConfig)('config.txt')).rejects.toThrow('Unsupported configuration file format: .txt');
680
727
  });
681
728
  it('should rewrite targets to providers', async () => {
682
729
  const mockConfig = {
@@ -686,7 +733,7 @@ describe('readConfig', () => {
686
733
  };
687
734
  jest.spyOn(fs, 'readFileSync').mockReturnValue(JSON.stringify(mockConfig));
688
735
  jest.spyOn(path, 'parse').mockReturnValue({ ext: '.json' });
689
- const result = await (0, config_1.readConfig)('config.json');
736
+ const result = await (0, load_1.readConfig)('config.json');
690
737
  expect(result).toEqual({
691
738
  description: 'Test config',
692
739
  providers: ['openai:gpt-4o'],
@@ -703,7 +750,7 @@ describe('readConfig', () => {
703
750
  };
704
751
  jest.spyOn(fs, 'readFileSync').mockReturnValue(JSON.stringify(mockConfig));
705
752
  jest.spyOn(path, 'parse').mockReturnValue({ ext: '.json' });
706
- const result = await (0, config_1.readConfig)('config.json');
753
+ const result = await (0, load_1.readConfig)('config.json');
707
754
  expect(result).toEqual({
708
755
  description: 'Test config',
709
756
  providers: ['openai:gpt-4o'],
@@ -725,11 +772,11 @@ describe('readConfig', () => {
725
772
  };
726
773
  jest.spyOn(fs, 'readFileSync').mockReturnValue(JSON.stringify(mockConfig));
727
774
  jest.spyOn(path, 'parse').mockReturnValue({ ext: '.json' });
728
- const result = await (0, config_1.readConfig)('config.json');
775
+ const result = await (0, load_1.readConfig)('config.json');
729
776
  expect(result).toEqual({
730
777
  ...mockConfig,
731
778
  prompts: ['{{prompt}}'],
732
779
  });
733
780
  });
734
781
  });
735
- //# sourceMappingURL=config.test.js.map
782
+ //# sourceMappingURL=util.config.load.test.ts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.config.load.test.ts.js","sourceRoot":"","sources":["../../test/util.config.load.test.ts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=util.config.main.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.config.main.test.d.ts","sourceRoot":"","sources":["../../test/util.config.main.test.ts"],"names":[],"mappings":""}
@@ -30,7 +30,7 @@ const fs = __importStar(require("fs"));
30
30
  const js_yaml_1 = __importDefault(require("js-yaml"));
31
31
  const os = __importStar(require("os"));
32
32
  const path = __importStar(require("path"));
33
- const config_1 = require("../src/util/config");
33
+ const manage_1 = require("../src/util/config/manage");
34
34
  jest.mock('os');
35
35
  jest.mock('fs');
36
36
  jest.mock('js-yaml');
@@ -45,34 +45,34 @@ describe('config', () => {
45
45
  });
46
46
  describe('getConfigDirectoryPath', () => {
47
47
  it('returns default path when no custom path is set', () => {
48
- expect((0, config_1.getConfigDirectoryPath)()).toBe(defaultConfigPath);
48
+ expect((0, manage_1.getConfigDirectoryPath)()).toBe(defaultConfigPath);
49
49
  });
50
50
  it('does not create directory when createIfNotExists is false', () => {
51
- (0, config_1.getConfigDirectoryPath)(false);
51
+ (0, manage_1.getConfigDirectoryPath)(false);
52
52
  expect(fs.mkdirSync).not.toHaveBeenCalled();
53
53
  });
54
54
  it('creates directory when createIfNotExists is true and directory does not exist', () => {
55
- (0, config_1.getConfigDirectoryPath)(true);
55
+ (0, manage_1.getConfigDirectoryPath)(true);
56
56
  expect(fs.mkdirSync).toHaveBeenCalledWith(defaultConfigPath, { recursive: true });
57
57
  });
58
58
  it('does not create directory when it already exists', () => {
59
59
  jest.mocked(fs.existsSync).mockReturnValue(true);
60
- (0, config_1.getConfigDirectoryPath)(true);
60
+ (0, manage_1.getConfigDirectoryPath)(true);
61
61
  expect(fs.mkdirSync).not.toHaveBeenCalled();
62
62
  });
63
63
  });
64
64
  describe('setConfigDirectoryPath', () => {
65
65
  it('updates the config directory path', () => {
66
66
  const newPath = '/new/config/path';
67
- (0, config_1.setConfigDirectoryPath)(newPath);
68
- expect((0, config_1.getConfigDirectoryPath)()).toBe(newPath);
67
+ (0, manage_1.setConfigDirectoryPath)(newPath);
68
+ expect((0, manage_1.getConfigDirectoryPath)()).toBe(newPath);
69
69
  });
70
70
  it('overrides the environment variable', () => {
71
71
  const envPath = '/env/path';
72
72
  const newPath = '/new/path';
73
73
  process.env.PROMPTFOO_CONFIG_DIR = envPath;
74
- (0, config_1.setConfigDirectoryPath)(newPath);
75
- expect((0, config_1.getConfigDirectoryPath)()).toBe(newPath);
74
+ (0, manage_1.setConfigDirectoryPath)(newPath);
75
+ expect((0, manage_1.getConfigDirectoryPath)()).toBe(newPath);
76
76
  });
77
77
  });
78
78
  });
@@ -85,7 +85,7 @@ describe('writePromptfooConfig', () => {
85
85
  const mockConfig = { description: 'Test config' };
86
86
  const mockYaml = 'description: Test config\n';
87
87
  jest.mocked(js_yaml_1.default.dump).mockReturnValue(mockYaml);
88
- (0, config_1.writePromptfooConfig)(mockConfig, mockOutputPath);
88
+ (0, manage_1.writePromptfooConfig)(mockConfig, mockOutputPath);
89
89
  expect(fs.writeFileSync).toHaveBeenCalledWith(mockOutputPath, mockYaml);
90
90
  });
91
91
  it('orders the keys of the config correctly', () => {
@@ -96,19 +96,19 @@ describe('writePromptfooConfig', () => {
96
96
  providers: ['provider1'],
97
97
  defaultTest: { assert: [{ type: 'equals', value: 'default assertion' }] },
98
98
  };
99
- (0, config_1.writePromptfooConfig)(mockConfig, mockOutputPath);
99
+ (0, manage_1.writePromptfooConfig)(mockConfig, mockOutputPath);
100
100
  const dumpCall = jest.mocked(js_yaml_1.default.dump).mock.calls[0][0];
101
101
  const keys = Object.keys(dumpCall);
102
102
  expect(keys).toEqual(['description', 'prompts', 'providers', 'defaultTest', 'tests']);
103
103
  });
104
104
  it('uses js-yaml to dump the config with skipInvalid option', () => {
105
105
  const mockConfig = { description: 'Test config' };
106
- (0, config_1.writePromptfooConfig)(mockConfig, mockOutputPath);
106
+ (0, manage_1.writePromptfooConfig)(mockConfig, mockOutputPath);
107
107
  expect(js_yaml_1.default.dump).toHaveBeenCalledWith(expect.anything(), { skipInvalid: true });
108
108
  });
109
109
  it('handles empty config', () => {
110
110
  const mockConfig = {};
111
- (0, config_1.writePromptfooConfig)(mockConfig, mockOutputPath);
111
+ (0, manage_1.writePromptfooConfig)(mockConfig, mockOutputPath);
112
112
  expect(fs.writeFileSync).toHaveBeenCalledWith(mockOutputPath, undefined);
113
113
  expect(js_yaml_1.default.dump).toHaveBeenCalledWith({}, { skipInvalid: true });
114
114
  });
@@ -124,7 +124,7 @@ describe('writePromptfooConfig', () => {
124
124
  ],
125
125
  outputPath: './output',
126
126
  };
127
- (0, config_1.writePromptfooConfig)(mockConfig, mockOutputPath);
127
+ (0, manage_1.writePromptfooConfig)(mockConfig, mockOutputPath);
128
128
  const dumpCall = jest.mocked(js_yaml_1.default.dump).mock.calls[0][0];
129
129
  expect(dumpCall).toEqual(expect.objectContaining(mockConfig));
130
130
  });
@@ -134,11 +134,11 @@ describe('writePromptfooConfig', () => {
134
134
  prompts: undefined,
135
135
  providers: ['provider1'],
136
136
  };
137
- (0, config_1.writePromptfooConfig)(mockConfig, mockOutputPath);
137
+ (0, manage_1.writePromptfooConfig)(mockConfig, mockOutputPath);
138
138
  const dumpCall = jest.mocked(js_yaml_1.default.dump).mock.calls[0][0];
139
139
  expect(dumpCall).toHaveProperty('description', 'Config with undefined');
140
140
  expect(dumpCall).toHaveProperty('providers', ['provider1']);
141
141
  expect(dumpCall).not.toHaveProperty('prompts');
142
142
  });
143
143
  });
144
- //# sourceMappingURL=util.config.test.js.map
144
+ //# sourceMappingURL=util.config.main.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.config.main.test.js","sourceRoot":"","sources":["../../test/util.config.main.test.ts"],"names":[],"mappings":"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"}
package/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.89.4",
5
+ "version": "0.90.1",
6
6
  "license": "MIT",
7
7
  "type": "commonjs",
8
8
  "repository": {
@@ -29,7 +29,8 @@
29
29
  "node": ">=18.0.0"
30
30
  },
31
31
  "bin": {
32
- "promptfoo": "dist/src/main.js"
32
+ "promptfoo": "dist/src/main.js",
33
+ "pf": "dist/src/main.js"
33
34
  },
34
35
  "scripts": {
35
36
  "bin": "dist/src/main.js",
@@ -68,18 +69,18 @@
68
69
  "@azure/identity": "^4.0.0",
69
70
  "@azure/openai-assistants": "^1.0.0-beta.5",
70
71
  "@ibm-generative-ai/node-sdk": "^2.0.6",
72
+ "@playwright/browser-chromium": "^1.47.2",
71
73
  "@smithy/node-http-handler": "^3.1.1",
72
74
  "google-auth-library": "^9.7.0",
73
75
  "langfuse": "^3.7.0",
74
76
  "node-sql-parser": "^5.2.0",
75
- "playwright": "^1.47.2",
76
- "@playwright/browser-chromium": "^1.47.2"
77
+ "playwright": "^1.47.2"
77
78
  },
78
79
  "devDependencies": {
79
80
  "@aws-sdk/client-bedrock-runtime": "^3.654.0",
80
81
  "@azure/identity": "^4.4.1",
81
- "@eslint/js": "^9.10.0",
82
- "@libsql/client": "^0.12.0",
82
+ "@eslint/js": "^9.11.0",
83
+ "@libsql/client": "^0.14.0",
83
84
  "@swc/cli": "^0.4.0",
84
85
  "@swc/core": "^1.7.26",
85
86
  "@swc/jest": "^0.2.36",
@@ -107,8 +108,8 @@
107
108
  "cloudflare": "3.4.0",
108
109
  "concurrently": "^8.2.2",
109
110
  "drizzle-kit": "^0.24.2",
110
- "esbuild": "^0.23.1",
111
- "eslint": "^9.10.0",
111
+ "esbuild": "^0.24.0",
112
+ "eslint": "^9.11.0",
112
113
  "eslint-plugin-jest": "^28.8.3",
113
114
  "eslint-plugin-react-hooks": "^5.1.0-rc.0",
114
115
  "eslint-plugin-unicorn": "^55.0.0",
@@ -117,13 +118,13 @@
117
118
  "jest-watch-typeahead": "^2.2.2",
118
119
  "madge": "^8.0.0",
119
120
  "nock": "^13.5.5",
120
- "nodemon": "^3.1.5",
121
+ "nodemon": "^3.1.7",
121
122
  "prettier": "^3.3.3",
122
123
  "shx": "^0.3.4",
123
124
  "ts-node": "^10.9.2",
124
125
  "tsconfig-paths": "^4.2.0",
125
126
  "typescript": "^5.6.2",
126
- "typescript-eslint": "^8.6.0",
127
+ "typescript-eslint": "^8.7.0",
127
128
  "zod-to-json-schema": "^3.23.3"
128
129
  },
129
130
  "dependencies": {
@@ -132,7 +133,7 @@
132
133
  "@emotion/react": "^11.13.3",
133
134
  "@emotion/styled": "^11.13.0",
134
135
  "@googleapis/sheets": "^9.3.1",
135
- "@mui/material": "^6.1.0",
136
+ "@mui/material": "^6.1.1",
136
137
  "ajv": "^8.17.1",
137
138
  "ajv-formats": "^3.0.1",
138
139
  "async": "^3.2.6",
@@ -158,6 +159,7 @@
158
159
  "fastest-levenshtein": "^1.0.16",
159
160
  "glob": "^10.4.3",
160
161
  "groq-sdk": "^0.7.0",
162
+ "http-z": "^7.1.1",
161
163
  "inquirer": "^10.2.2",
162
164
  "js-rouge": "3.0.0",
163
165
  "js-yaml": "^4.1.0",
@@ -165,14 +167,14 @@
165
167
  "node-cache": "^5.1.2",
166
168
  "node-fetch": "^2.6.7",
167
169
  "nunjucks": "^3.2.4",
168
- "openai": "^4.62.1",
170
+ "openai": "^4.63.0",
169
171
  "opener": "^1.5.2",
170
172
  "proxy-agent": "^6.4.0",
171
173
  "python-shell": "^5.0.0",
172
174
  "replicate": "^0.33.0",
173
175
  "rfdc": "^1.4.1",
174
176
  "semver": "^7.6.3",
175
- "socket.io": "^4.7.5",
177
+ "socket.io": "^4.8.0",
176
178
  "tiny-invariant": "^1.3.3",
177
179
  "uuid": "^10.0.0",
178
180
  "winston": "^3.14.2",
@@ -1 +0,0 @@
1
- {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/accounts.ts"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,IAAI,MAAM,GAAG,IAAI,CAG5C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,QAGzC;AAED,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAEzC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/accounts.ts"],"names":[],"mappings":";;AAIA,oCAGC;AAED,oCAGC;AAED,8BAEC;AAfD,qCAAwC;AACxC,iDAAqE;AAErE,SAAgB,YAAY;IAC1B,MAAM,YAAY,GAAG,IAAA,+BAAgB,GAAE,CAAC;IACxC,OAAO,YAAY,CAAC,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC;AAC7C,CAAC;AAED,SAAgB,YAAY,CAAC,KAAa;IACxC,MAAM,MAAM,GAAiB,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;IACpD,IAAA,gCAAiB,EAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,SAAS;IACvB,OAAO,IAAA,qBAAY,EAAC,kBAAkB,CAAC,IAAI,YAAY,EAAE,IAAI,IAAI,CAAC;AACpE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,kBAAkB,EAOlB,SAAS,EACT,aAAa,EACd,MAAM,SAAS,CAAC;AAGjB,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CA6GxF;AAED,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAsD3E;AAED,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAK5F;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CA8L/E;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACnC,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,GACpC,OAAO,CAAC;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAqKrF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"globalConfig.d.ts","sourceRoot":"","sources":["../../src/globalConfig.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAKlD,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED,wBAAgB,gBAAgB,IAAI,YAAY,CAiB/C;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAK5D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAcnF;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAa7C"}