promptfoo 0.119.0 → 0.119.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 (315) hide show
  1. package/dist/package.json +10 -10
  2. package/dist/src/app/assets/index-DqlKP0sF.js +72 -0
  3. package/dist/src/app/assets/{index-BmEhbU1h.js.map → index-DqlKP0sF.js.map} +1 -1
  4. package/dist/src/app/assets/{source-map-support-5rOGWFat.js → source-map-support-eCtSvaxE.js} +1 -1
  5. package/dist/src/app/assets/{source-map-support-5rOGWFat.js.map → source-map-support-eCtSvaxE.js.map} +1 -1
  6. package/dist/src/app/index.html +1 -1
  7. package/dist/src/assertions/answerRelevance.d.ts +1 -1
  8. package/dist/src/assertions/answerRelevance.d.ts.map +1 -1
  9. package/dist/src/assertions/answerRelevance.js +2 -2
  10. package/dist/src/assertions/answerRelevance.js.map +1 -1
  11. package/dist/src/assertions/contextFaithfulness.d.ts +1 -1
  12. package/dist/src/assertions/contextFaithfulness.d.ts.map +1 -1
  13. package/dist/src/assertions/contextFaithfulness.js +2 -2
  14. package/dist/src/assertions/contextFaithfulness.js.map +1 -1
  15. package/dist/src/assertions/contextRecall.d.ts +1 -1
  16. package/dist/src/assertions/contextRecall.d.ts.map +1 -1
  17. package/dist/src/assertions/contextRecall.js +2 -2
  18. package/dist/src/assertions/contextRecall.js.map +1 -1
  19. package/dist/src/assertions/contextRelevance.d.ts +1 -1
  20. package/dist/src/assertions/contextRelevance.d.ts.map +1 -1
  21. package/dist/src/assertions/contextRelevance.js +2 -2
  22. package/dist/src/assertions/contextRelevance.js.map +1 -1
  23. package/dist/src/assertions/factuality.d.ts +1 -1
  24. package/dist/src/assertions/factuality.d.ts.map +1 -1
  25. package/dist/src/assertions/factuality.js +2 -2
  26. package/dist/src/assertions/factuality.js.map +1 -1
  27. package/dist/src/assertions/geval.d.ts +1 -1
  28. package/dist/src/assertions/geval.d.ts.map +1 -1
  29. package/dist/src/assertions/geval.js +3 -3
  30. package/dist/src/assertions/geval.js.map +1 -1
  31. package/dist/src/assertions/index.d.ts +2 -2
  32. package/dist/src/assertions/index.d.ts.map +1 -1
  33. package/dist/src/assertions/index.js +12 -3
  34. package/dist/src/assertions/index.js.map +1 -1
  35. package/dist/src/assertions/javascript.d.ts +1 -1
  36. package/dist/src/assertions/javascript.d.ts.map +1 -1
  37. package/dist/src/assertions/javascript.js +3 -3
  38. package/dist/src/assertions/javascript.js.map +1 -1
  39. package/dist/src/assertions/llmRubric.d.ts +1 -1
  40. package/dist/src/assertions/llmRubric.d.ts.map +1 -1
  41. package/dist/src/assertions/llmRubric.js +2 -2
  42. package/dist/src/assertions/llmRubric.js.map +1 -1
  43. package/dist/src/assertions/modelGradedClosedQa.d.ts +1 -1
  44. package/dist/src/assertions/modelGradedClosedQa.d.ts.map +1 -1
  45. package/dist/src/assertions/modelGradedClosedQa.js +2 -2
  46. package/dist/src/assertions/modelGradedClosedQa.js.map +1 -1
  47. package/dist/src/assertions/python.d.ts +1 -1
  48. package/dist/src/assertions/python.d.ts.map +1 -1
  49. package/dist/src/assertions/python.js +2 -2
  50. package/dist/src/assertions/python.js.map +1 -1
  51. package/dist/src/assertions/ruby.d.ts +1 -1
  52. package/dist/src/assertions/ruby.d.ts.map +1 -1
  53. package/dist/src/assertions/ruby.js +2 -2
  54. package/dist/src/assertions/ruby.js.map +1 -1
  55. package/dist/src/assertions/traceErrorSpans.d.ts +1 -1
  56. package/dist/src/assertions/traceErrorSpans.d.ts.map +1 -1
  57. package/dist/src/assertions/traceErrorSpans.js +3 -3
  58. package/dist/src/assertions/traceErrorSpans.js.map +1 -1
  59. package/dist/src/assertions/traceSpanCount.d.ts +1 -1
  60. package/dist/src/assertions/traceSpanCount.d.ts.map +1 -1
  61. package/dist/src/assertions/traceSpanCount.js +3 -3
  62. package/dist/src/assertions/traceSpanCount.js.map +1 -1
  63. package/dist/src/assertions/traceSpanDuration.d.ts +1 -1
  64. package/dist/src/assertions/traceSpanDuration.d.ts.map +1 -1
  65. package/dist/src/assertions/traceSpanDuration.js +3 -3
  66. package/dist/src/assertions/traceSpanDuration.js.map +1 -1
  67. package/dist/src/commands/init.d.ts +1 -0
  68. package/dist/src/commands/init.d.ts.map +1 -1
  69. package/dist/src/commands/init.js +29 -0
  70. package/dist/src/commands/init.js.map +1 -1
  71. package/dist/src/commands/share.d.ts.map +1 -1
  72. package/dist/src/commands/share.js +23 -5
  73. package/dist/src/commands/share.js.map +1 -1
  74. package/dist/src/database/tables.d.ts +136 -48
  75. package/dist/src/database/tables.d.ts.map +1 -1
  76. package/dist/src/envars.d.ts +4 -0
  77. package/dist/src/envars.d.ts.map +1 -1
  78. package/dist/src/envars.js.map +1 -1
  79. package/dist/src/evaluator.d.ts +1 -1
  80. package/dist/src/evaluator.d.ts.map +1 -1
  81. package/dist/src/evaluator.js +20 -3
  82. package/dist/src/evaluator.js.map +1 -1
  83. package/dist/src/generated/constants.js +1 -1
  84. package/dist/src/matchers.d.ts +10 -10
  85. package/dist/src/matchers.d.ts.map +1 -1
  86. package/dist/src/matchers.js +81 -30
  87. package/dist/src/matchers.js.map +1 -1
  88. package/dist/src/microsoftSharepoint.d.ts +12 -0
  89. package/dist/src/microsoftSharepoint.d.ts.map +1 -0
  90. package/dist/src/microsoftSharepoint.js +154 -0
  91. package/dist/src/microsoftSharepoint.js.map +1 -0
  92. package/dist/src/models/eval.d.ts.map +1 -1
  93. package/dist/src/models/eval.js +26 -26
  94. package/dist/src/models/eval.js.map +1 -1
  95. package/dist/src/providers/google/live.d.ts +8 -0
  96. package/dist/src/providers/google/live.d.ts.map +1 -1
  97. package/dist/src/providers/google/live.js +44 -16
  98. package/dist/src/providers/google/live.js.map +1 -1
  99. package/dist/src/providers/http.d.ts +2 -2
  100. package/dist/src/providers/http.d.ts.map +1 -1
  101. package/dist/src/providers/http.js +16 -0
  102. package/dist/src/providers/http.js.map +1 -1
  103. package/dist/src/providers/index.d.ts +1 -1
  104. package/dist/src/providers/index.d.ts.map +1 -1
  105. package/dist/src/providers/index.js +42 -6
  106. package/dist/src/providers/index.js.map +1 -1
  107. package/dist/src/providers/simulatedUser.d.ts +20 -0
  108. package/dist/src/providers/simulatedUser.d.ts.map +1 -1
  109. package/dist/src/providers/simulatedUser.js +92 -1
  110. package/dist/src/providers/simulatedUser.js.map +1 -1
  111. package/dist/src/python/persistent_wrapper.py +95 -11
  112. package/dist/src/python/worker.d.ts +1 -2
  113. package/dist/src/python/worker.d.ts.map +1 -1
  114. package/dist/src/python/worker.js +2 -2
  115. package/dist/src/python/worker.js.map +1 -1
  116. package/dist/src/redteam/commands/generate.d.ts.map +1 -1
  117. package/dist/src/redteam/commands/generate.js +0 -1
  118. package/dist/src/redteam/commands/generate.js.map +1 -1
  119. package/dist/src/redteam/constants/frameworks.d.ts +1 -1
  120. package/dist/src/redteam/constants/frameworks.d.ts.map +1 -1
  121. package/dist/src/redteam/constants/frameworks.js +49 -12
  122. package/dist/src/redteam/constants/frameworks.js.map +1 -1
  123. package/dist/src/redteam/constants/metadata.d.ts.map +1 -1
  124. package/dist/src/redteam/constants/metadata.js +61 -4
  125. package/dist/src/redteam/constants/metadata.js.map +1 -1
  126. package/dist/src/redteam/constants/plugins.d.ts +10 -4
  127. package/dist/src/redteam/constants/plugins.d.ts.map +1 -1
  128. package/dist/src/redteam/constants/plugins.js +26 -1
  129. package/dist/src/redteam/constants/plugins.js.map +1 -1
  130. package/dist/src/redteam/constants/strategies.d.ts +11 -3
  131. package/dist/src/redteam/constants/strategies.d.ts.map +1 -1
  132. package/dist/src/redteam/constants/strategies.js +21 -3
  133. package/dist/src/redteam/constants/strategies.js.map +1 -1
  134. package/dist/src/redteam/graders.d.ts.map +1 -1
  135. package/dist/src/redteam/graders.js +14 -0
  136. package/dist/src/redteam/graders.js.map +1 -1
  137. package/dist/src/redteam/index.d.ts +1 -22
  138. package/dist/src/redteam/index.d.ts.map +1 -1
  139. package/dist/src/redteam/index.js +200 -138
  140. package/dist/src/redteam/index.js.map +1 -1
  141. package/dist/src/redteam/plugins/aegis.d.ts +3 -3
  142. package/dist/src/redteam/plugins/aegis.d.ts.map +1 -1
  143. package/dist/src/redteam/plugins/aegis.js +2 -2
  144. package/dist/src/redteam/plugins/aegis.js.map +1 -1
  145. package/dist/src/redteam/plugins/asciiSmuggling.d.ts +3 -3
  146. package/dist/src/redteam/plugins/asciiSmuggling.d.ts.map +1 -1
  147. package/dist/src/redteam/plugins/asciiSmuggling.js +1 -1
  148. package/dist/src/redteam/plugins/asciiSmuggling.js.map +1 -1
  149. package/dist/src/redteam/plugins/base.d.ts +6 -1
  150. package/dist/src/redteam/plugins/base.d.ts.map +1 -1
  151. package/dist/src/redteam/plugins/base.js +18 -15
  152. package/dist/src/redteam/plugins/base.js.map +1 -1
  153. package/dist/src/redteam/plugins/beavertails.d.ts +3 -3
  154. package/dist/src/redteam/plugins/beavertails.d.ts.map +1 -1
  155. package/dist/src/redteam/plugins/beavertails.js +7 -2
  156. package/dist/src/redteam/plugins/beavertails.js.map +1 -1
  157. package/dist/src/redteam/plugins/crossSessionLeak.d.ts +3 -3
  158. package/dist/src/redteam/plugins/crossSessionLeak.d.ts.map +1 -1
  159. package/dist/src/redteam/plugins/crossSessionLeak.js +1 -1
  160. package/dist/src/redteam/plugins/crossSessionLeak.js.map +1 -1
  161. package/dist/src/redteam/plugins/goalMisalignment.d.ts +18 -0
  162. package/dist/src/redteam/plugins/goalMisalignment.d.ts.map +1 -0
  163. package/dist/src/redteam/plugins/goalMisalignment.js +548 -0
  164. package/dist/src/redteam/plugins/goalMisalignment.js.map +1 -0
  165. package/dist/src/redteam/plugins/harmful/graders.d.ts +3 -3
  166. package/dist/src/redteam/plugins/harmful/graders.d.ts.map +1 -1
  167. package/dist/src/redteam/plugins/harmful/graders.js +2 -2
  168. package/dist/src/redteam/plugins/harmful/graders.js.map +1 -1
  169. package/dist/src/redteam/plugins/insurance/coverageDiscrimination.d.ts +11 -0
  170. package/dist/src/redteam/plugins/insurance/coverageDiscrimination.d.ts.map +1 -0
  171. package/dist/src/redteam/plugins/insurance/coverageDiscrimination.js +81 -0
  172. package/dist/src/redteam/plugins/insurance/coverageDiscrimination.js.map +1 -0
  173. package/dist/src/redteam/plugins/insurance/networkMisinformation.d.ts +11 -0
  174. package/dist/src/redteam/plugins/insurance/networkMisinformation.d.ts.map +1 -0
  175. package/dist/src/redteam/plugins/insurance/networkMisinformation.js +81 -0
  176. package/dist/src/redteam/plugins/insurance/networkMisinformation.js.map +1 -0
  177. package/dist/src/redteam/plugins/insurance/phiDisclosure.d.ts +11 -0
  178. package/dist/src/redteam/plugins/insurance/phiDisclosure.d.ts.map +1 -0
  179. package/dist/src/redteam/plugins/insurance/phiDisclosure.js +78 -0
  180. package/dist/src/redteam/plugins/insurance/phiDisclosure.js.map +1 -0
  181. package/dist/src/redteam/plugins/intent.d.ts +3 -3
  182. package/dist/src/redteam/plugins/intent.d.ts.map +1 -1
  183. package/dist/src/redteam/plugins/intent.js +2 -2
  184. package/dist/src/redteam/plugins/intent.js.map +1 -1
  185. package/dist/src/redteam/plugins/pharmacy/controlledSubstanceCompliance.d.ts +11 -0
  186. package/dist/src/redteam/plugins/pharmacy/controlledSubstanceCompliance.d.ts.map +1 -0
  187. package/dist/src/redteam/plugins/pharmacy/controlledSubstanceCompliance.js +76 -0
  188. package/dist/src/redteam/plugins/pharmacy/controlledSubstanceCompliance.js.map +1 -0
  189. package/dist/src/redteam/plugins/pharmacy/dosageCalculation.d.ts +11 -0
  190. package/dist/src/redteam/plugins/pharmacy/dosageCalculation.d.ts.map +1 -0
  191. package/dist/src/redteam/plugins/pharmacy/dosageCalculation.js +75 -0
  192. package/dist/src/redteam/plugins/pharmacy/dosageCalculation.js.map +1 -0
  193. package/dist/src/redteam/plugins/pharmacy/drugInteraction.d.ts +11 -0
  194. package/dist/src/redteam/plugins/pharmacy/drugInteraction.d.ts.map +1 -0
  195. package/dist/src/redteam/plugins/pharmacy/drugInteraction.js +69 -0
  196. package/dist/src/redteam/plugins/pharmacy/drugInteraction.js.map +1 -0
  197. package/dist/src/redteam/plugins/policy/index.d.ts +3 -3
  198. package/dist/src/redteam/plugins/policy/index.d.ts.map +1 -1
  199. package/dist/src/redteam/plugins/policy/index.js +2 -2
  200. package/dist/src/redteam/plugins/policy/index.js.map +1 -1
  201. package/dist/src/redteam/plugins/policy/utils.d.ts +2 -1
  202. package/dist/src/redteam/plugins/policy/utils.d.ts.map +1 -1
  203. package/dist/src/redteam/plugins/policy/utils.js +21 -3
  204. package/dist/src/redteam/plugins/policy/utils.js.map +1 -1
  205. package/dist/src/redteam/plugins/policy/utils.test.js +33 -2
  206. package/dist/src/redteam/plugins/policy/utils.test.js.map +1 -1
  207. package/dist/src/redteam/providers/crescendo/index.d.ts +6 -1
  208. package/dist/src/redteam/providers/crescendo/index.d.ts.map +1 -1
  209. package/dist/src/redteam/providers/crescendo/index.js +63 -21
  210. package/dist/src/redteam/providers/crescendo/index.js.map +1 -1
  211. package/dist/src/redteam/providers/custom/index.d.ts +2 -1
  212. package/dist/src/redteam/providers/custom/index.d.ts.map +1 -1
  213. package/dist/src/redteam/providers/custom/index.js +1 -14
  214. package/dist/src/redteam/providers/custom/index.js.map +1 -1
  215. package/dist/src/redteam/providers/goat.d.ts +6 -0
  216. package/dist/src/redteam/providers/goat.d.ts.map +1 -1
  217. package/dist/src/redteam/providers/goat.js +59 -2
  218. package/dist/src/redteam/providers/goat.js.map +1 -1
  219. package/dist/src/redteam/providers/iterative.d.ts +5 -1
  220. package/dist/src/redteam/providers/iterative.d.ts.map +1 -1
  221. package/dist/src/redteam/providers/iterative.js +79 -34
  222. package/dist/src/redteam/providers/iterative.js.map +1 -1
  223. package/dist/src/redteam/providers/iterativeImage.d.ts.map +1 -1
  224. package/dist/src/redteam/providers/iterativeImage.js +0 -3
  225. package/dist/src/redteam/providers/iterativeImage.js.map +1 -1
  226. package/dist/src/redteam/providers/iterativeTree.d.ts +2 -1
  227. package/dist/src/redteam/providers/iterativeTree.d.ts.map +1 -1
  228. package/dist/src/redteam/providers/iterativeTree.js +3 -20
  229. package/dist/src/redteam/providers/iterativeTree.js.map +1 -1
  230. package/dist/src/redteam/providers/shared.d.ts +3 -0
  231. package/dist/src/redteam/providers/shared.d.ts.map +1 -1
  232. package/dist/src/redteam/providers/shared.js.map +1 -1
  233. package/dist/src/redteam/providers/traceFormatting.d.ts +6 -0
  234. package/dist/src/redteam/providers/traceFormatting.d.ts.map +1 -0
  235. package/dist/src/redteam/providers/traceFormatting.js +55 -0
  236. package/dist/src/redteam/providers/traceFormatting.js.map +1 -0
  237. package/dist/src/redteam/providers/tracingOptions.d.ts +22 -0
  238. package/dist/src/redteam/providers/tracingOptions.d.ts.map +1 -0
  239. package/dist/src/redteam/providers/tracingOptions.js +54 -0
  240. package/dist/src/redteam/providers/tracingOptions.js.map +1 -0
  241. package/dist/src/redteam/shared.d.ts.map +1 -1
  242. package/dist/src/redteam/shared.js +3 -1
  243. package/dist/src/redteam/shared.js.map +1 -1
  244. package/dist/src/redteam/sharedFrontend.d.ts.map +1 -1
  245. package/dist/src/redteam/sharedFrontend.js +1 -0
  246. package/dist/src/redteam/sharedFrontend.js.map +1 -1
  247. package/dist/src/redteam/strategies/index.d.ts.map +1 -1
  248. package/dist/src/redteam/strategies/index.js +4 -11
  249. package/dist/src/redteam/strategies/index.js.map +1 -1
  250. package/dist/src/redteam/strategies/layer.js +1 -1
  251. package/dist/src/redteam/strategies/layer.js.map +1 -1
  252. package/dist/src/redteam/strategies/multilingual.d.ts +19 -0
  253. package/dist/src/redteam/strategies/multilingual.d.ts.map +1 -1
  254. package/dist/src/redteam/strategies/multilingual.js +32 -0
  255. package/dist/src/redteam/strategies/multilingual.js.map +1 -1
  256. package/dist/src/redteam/strategies/simpleImage.d.ts.map +1 -1
  257. package/dist/src/redteam/strategies/simpleImage.js +75 -2
  258. package/dist/src/redteam/strategies/simpleImage.js.map +1 -1
  259. package/dist/src/redteam/types.d.ts +19 -3
  260. package/dist/src/redteam/types.d.ts.map +1 -1
  261. package/dist/src/server/utils/evalTableUtils.d.ts.map +1 -1
  262. package/dist/src/server/utils/evalTableUtils.js +24 -16
  263. package/dist/src/server/utils/evalTableUtils.js.map +1 -1
  264. package/dist/src/share.d.ts.map +1 -1
  265. package/dist/src/share.js +6 -0
  266. package/dist/src/share.js.map +1 -1
  267. package/dist/src/tracing/evaluatorTracing.d.ts.map +1 -1
  268. package/dist/src/tracing/evaluatorTracing.js +3 -1
  269. package/dist/src/tracing/evaluatorTracing.js.map +1 -1
  270. package/dist/src/tracing/otlpReceiver.d.ts.map +1 -1
  271. package/dist/src/tracing/otlpReceiver.js +11 -0
  272. package/dist/src/tracing/otlpReceiver.js.map +1 -1
  273. package/dist/src/tracing/store.d.ts +10 -0
  274. package/dist/src/tracing/store.d.ts.map +1 -1
  275. package/dist/src/tracing/store.js +174 -3
  276. package/dist/src/tracing/store.js.map +1 -1
  277. package/dist/src/tracing/traceContext.d.ts +37 -0
  278. package/dist/src/tracing/traceContext.d.ts.map +1 -0
  279. package/dist/src/tracing/traceContext.js +159 -0
  280. package/dist/src/tracing/traceContext.js.map +1 -0
  281. package/dist/src/types/env.d.ts +12 -0
  282. package/dist/src/types/env.d.ts.map +1 -1
  283. package/dist/src/types/env.js +4 -0
  284. package/dist/src/types/env.js.map +1 -1
  285. package/dist/src/types/index.d.ts +1425 -286
  286. package/dist/src/types/index.d.ts.map +1 -1
  287. package/dist/src/types/index.js.map +1 -1
  288. package/dist/src/types/providers.d.ts +1 -0
  289. package/dist/src/types/providers.d.ts.map +1 -1
  290. package/dist/src/types/providers.js.map +1 -1
  291. package/dist/src/util/cloud.d.ts +21 -0
  292. package/dist/src/util/cloud.d.ts.map +1 -1
  293. package/dist/src/util/cloud.js +125 -0
  294. package/dist/src/util/cloud.js.map +1 -1
  295. package/dist/src/util/database.d.ts +8 -0
  296. package/dist/src/util/database.d.ts.map +1 -1
  297. package/dist/src/util/index.d.ts +22 -0
  298. package/dist/src/util/index.d.ts.map +1 -1
  299. package/dist/src/util/index.js +78 -0
  300. package/dist/src/util/index.js.map +1 -1
  301. package/dist/src/util/sanitizer.d.ts.map +1 -1
  302. package/dist/src/util/sanitizer.js +16 -0
  303. package/dist/src/util/sanitizer.js.map +1 -1
  304. package/dist/src/util/testCaseReader.d.ts.map +1 -1
  305. package/dist/src/util/testCaseReader.js +7 -0
  306. package/dist/src/util/testCaseReader.js.map +1 -1
  307. package/dist/src/validators/providers.d.ts +80 -0
  308. package/dist/src/validators/providers.d.ts.map +1 -1
  309. package/dist/src/validators/redteam.d.ts +59 -23
  310. package/dist/src/validators/redteam.d.ts.map +1 -1
  311. package/dist/src/validators/redteam.js +67 -2
  312. package/dist/src/validators/redteam.js.map +1 -1
  313. package/dist/tsconfig.tsbuildinfo +1 -1
  314. package/package.json +10 -10
  315. package/dist/src/app/assets/index-BmEhbU1h.js +0 -72
@@ -37,7 +37,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.resolvePluginConfig = resolvePluginConfig;
40
- exports.getMultilingualRequestedCount = getMultilingualRequestedCount;
41
40
  exports.getTestCount = getTestCount;
42
41
  exports.calculateTotalTests = calculateTotalTests;
43
42
  exports.synthesize = synthesize;
@@ -61,7 +60,6 @@ const index_1 = require("./plugins/index");
61
60
  const shared_1 = require("./providers/shared");
62
61
  const remoteGeneration_1 = require("./remoteGeneration");
63
62
  const index_2 = require("./strategies/index");
64
- const multilingual_1 = require("./strategies/multilingual");
65
63
  const util_1 = require("./strategies/util");
66
64
  const util_2 = require("./util");
67
65
  const MAX_MAX_CONCURRENCY = 20;
@@ -163,6 +161,10 @@ const categories = {
163
161
  harmful: Object.keys(constants_1.HARM_PLUGINS),
164
162
  bias: constants_1.BIAS_PLUGINS,
165
163
  pii: constants_1.PII_PLUGINS,
164
+ medical: constants_1.MEDICAL_PLUGINS,
165
+ pharmacy: constants_1.PHARMACY_PLUGINS,
166
+ insurance: constants_1.INSURANCE_PLUGINS,
167
+ financial: constants_1.FINANCIAL_PLUGINS,
166
168
  };
167
169
  /**
168
170
  * Formats the test count for display.
@@ -173,6 +175,45 @@ const categories = {
173
175
  const formatTestCount = (numTests, strategy) => numTests === 1
174
176
  ? `1 ${strategy ? 'additional ' : ''}test`
175
177
  : `${numTests} ${strategy ? 'additional ' : ''}tests`;
178
+ /**
179
+ * Gets the language from a test case's metadata.
180
+ * Checks both metadata.language and metadata.modifiers.language.
181
+ * @param test - The test case to get language from.
182
+ * @returns The language string or undefined if not found.
183
+ */
184
+ function getLanguageForTestCase(test) {
185
+ return test.metadata?.language || test.metadata?.modifiers?.language;
186
+ }
187
+ /**
188
+ * Adds comprehensive metadata to plugin test cases including language, plugin info, and severity.
189
+ * @param test - The test case to add metadata to.
190
+ * @param lang - The language for this test.
191
+ * @param plugin - The plugin configuration.
192
+ * @param testGenerationInstructions - Optional test generation instructions.
193
+ * @returns Test case with complete metadata.
194
+ */
195
+ function addLanguageToPluginMetadata(test, lang, plugin, testGenerationInstructions) {
196
+ const existingLanguage = getLanguageForTestCase(test);
197
+ const languageToAdd = lang && !existingLanguage ? { language: lang } : {};
198
+ return {
199
+ ...test,
200
+ metadata: {
201
+ pluginId: plugin.id,
202
+ pluginConfig: resolvePluginConfig(plugin.config),
203
+ severity: plugin.severity ?? getPluginSeverity(plugin.id, resolvePluginConfig(plugin.config)),
204
+ modifiers: {
205
+ ...(testGenerationInstructions ? { testGenerationInstructions } : {}),
206
+ ...(plugin.config?.modifiers || {}),
207
+ ...test.metadata?.modifiers,
208
+ // Add language to modifiers if not already present (respect existing)
209
+ ...languageToAdd,
210
+ },
211
+ ...test.metadata,
212
+ // Hoist language to top-level metadata for backward compatibility and easier access
213
+ ...languageToAdd,
214
+ },
215
+ };
216
+ }
176
217
  /**
177
218
  * Determines whether a strategy should be applied to a test case based on plugin targeting rules.
178
219
  *
@@ -189,19 +230,6 @@ const formatTestCount = (numTests, strategy) => numTests === 1
189
230
  * Supports both exact matches and category prefixes (e.g., 'harmful' matches 'harmful:hate')
190
231
  * @returns True if the strategy should be applied to this test case, false otherwise
191
232
  */
192
- /**
193
- * Helper function to calculate the number of expected test cases for the multilingual strategy.
194
- */
195
- function getMultilingualRequestedCount(testCases, strategy) {
196
- // If languages is an empty array, return 0
197
- if (Array.isArray(strategy.config?.languages) && strategy.config.languages.length === 0) {
198
- return 0;
199
- }
200
- const numLanguages = Array.isArray(strategy.config?.languages)
201
- ? strategy.config.languages.length
202
- : multilingual_1.DEFAULT_LANGUAGES.length;
203
- return testCases.length * numLanguages;
204
- }
205
233
  /**
206
234
  * Applies strategies to the test cases.
207
235
  * @param testCases - The initial test cases generated by plugins.
@@ -264,33 +292,40 @@ async function applyStrategies(testCases, strategies, injectVar, excludeTargetOu
264
292
  .map((st) => (typeof st === 'string' ? st : st.id))
265
293
  .join('→')})`
266
294
  : strategy.id;
267
- // Special case for multilingual strategy to account for languages multiplier
268
- if (strategy.id === 'multilingual') {
269
- const requestedCount = getMultilingualRequestedCount(applicableTestCases, strategy);
270
- strategyResults[displayId] = {
271
- requested: requestedCount,
272
- generated: strategyTestCases.length,
273
- };
274
- }
275
- else if (strategy.id === 'layer') {
276
- // Estimate requested count for layer: multiply by language factors of any multilingual steps
277
- let multiplier = 1;
278
- const steps = Array.isArray(strategy.config?.steps)
279
- ? strategy.config.steps
280
- : [];
281
- for (const st of steps) {
282
- const stepId = typeof st === 'string' ? st : st.id;
283
- if (stepId === 'multilingual') {
284
- const stepCfg = (typeof st === 'string' ? {} : st.config) || {};
285
- const numLangs = Array.isArray(stepCfg.languages) && stepCfg.languages.length > 0
286
- ? stepCfg.languages.length
287
- : multilingual_1.DEFAULT_LANGUAGES.length;
288
- multiplier *= numLangs;
295
+ // Check if strategy generated tests across multiple languages
296
+ // Language can be in metadata.language or metadata.modifiers.language
297
+ // Note: Language is passed to strategies via test metadata.modifiers.language from plugin generation
298
+ const languagesInResults = new Set(strategyTestCases
299
+ .map((t) => getLanguageForTestCase(t))
300
+ .filter((lang) => lang !== undefined));
301
+ if (languagesInResults.size > 1) {
302
+ // Strategy was applied to multilingual tests - break down by language
303
+ // Don't show language suffix for English (en) - it's the default
304
+ const resultsByLanguage = {};
305
+ for (const lang of languagesInResults) {
306
+ const testsForLang = strategyTestCases.filter((t) => getLanguageForTestCase(t) === lang);
307
+ const applicableForLang = applicableTestCases.filter((t) => getLanguageForTestCase(t) === lang);
308
+ let n = 1;
309
+ if (typeof strategy.config?.n === 'number') {
310
+ n = strategy.config.n;
311
+ }
312
+ else if ((0, constants_1.isFanoutStrategy)(strategy.id)) {
313
+ n = (0, constants_1.getDefaultNFanout)(strategy.id);
289
314
  }
315
+ resultsByLanguage[lang] = {
316
+ requested: applicableForLang.length * n,
317
+ generated: testsForLang.length,
318
+ };
290
319
  }
291
- const requestedCount = applicableTestCases.length * multiplier;
320
+ for (const [lang, result] of Object.entries(resultsByLanguage)) {
321
+ const strategyDisplayId = lang === 'en' ? displayId : `${displayId} (${lang})`;
322
+ strategyResults[strategyDisplayId] = result;
323
+ }
324
+ }
325
+ else if (strategy.id === 'layer') {
326
+ // Layer strategy: requested count is same as applicable test cases
292
327
  strategyResults[displayId] = {
293
- requested: requestedCount,
328
+ requested: applicableTestCases.length,
294
329
  generated: strategyTestCases.length,
295
330
  };
296
331
  }
@@ -323,35 +358,10 @@ function getTestCount(strategy, totalPluginTests, _strategies) {
323
358
  if (strategy.id === 'basic') {
324
359
  return strategy.config?.enabled === false ? 0 : totalPluginTests;
325
360
  }
326
- // Multilingual strategy doubles the total count
327
- if (strategy.id === 'multilingual') {
328
- // If languages is an empty array, return 0
329
- if (Array.isArray(strategy.config?.languages) && strategy.config.languages.length === 0) {
330
- return 0;
331
- }
332
- const numLanguages = Object.keys(strategy.config?.languages ?? {}).length || multilingual_1.DEFAULT_LANGUAGES.length;
333
- return totalPluginTests * numLanguages;
334
- }
335
- // Sequence strategy: approximate by multiplying plugin tests by language multipliers of any multilingual steps
361
+ // Layer strategy: returns the same count as plugin tests
362
+ // (plugins already account for language multipliers)
336
363
  if (strategy.id === 'layer') {
337
- const steps = Array.isArray(strategy.config?.steps)
338
- ? strategy.config.steps
339
- : [];
340
- let multiplier = 1;
341
- for (const st of steps) {
342
- const stepId = typeof st === 'string' ? st : st.id;
343
- if (stepId === 'multilingual') {
344
- const stepCfg = (typeof st === 'string' ? {} : st.config) || {};
345
- if (Array.isArray(stepCfg.languages) && stepCfg.languages.length === 0) {
346
- continue; // no additional tests
347
- }
348
- const numLangs = Array.isArray(stepCfg.languages) && stepCfg.languages.length > 0
349
- ? stepCfg.languages.length
350
- : multilingual_1.DEFAULT_LANGUAGES.length;
351
- multiplier *= numLangs;
352
- }
353
- }
354
- return totalPluginTests * multiplier;
364
+ return totalPluginTests;
355
365
  }
356
366
  // Retry strategy doubles the plugin tests
357
367
  if (strategy.id === 'retry') {
@@ -375,21 +385,27 @@ function getTestCount(strategy, totalPluginTests, _strategies) {
375
385
  * @param strategies - The array of strategies to apply
376
386
  * @returns Object containing total tests and intermediate calculations
377
387
  */
378
- function calculateTotalTests(plugins, strategies) {
379
- const multilingualStrategy = strategies.find((s) => s.id === 'multilingual');
388
+ function calculateTotalTests(plugins, strategies, language) {
380
389
  const retryStrategy = strategies.find((s) => s.id === 'retry');
381
390
  const basicStrategy = strategies.find((s) => s.id === 'basic');
382
391
  const basicStrategyExists = basicStrategy !== undefined;
383
392
  const includeBasicTests = basicStrategy?.config?.enabled ?? true;
384
393
  const effectiveStrategyCount = basicStrategyExists && !includeBasicTests ? strategies.length - 1 : strategies.length;
385
- const totalPluginTests = plugins.reduce((sum, p) => sum + (p.numTests || 0), 0);
394
+ // Calculate total plugin tests accounting for multiple languages
395
+ // Each plugin's tests are multiplied by the number of languages when multiple languages are configured
396
+ const totalPluginTests = plugins.reduce((sum, p) => {
397
+ const pluginLanguageConfig = p.config?.language ?? language;
398
+ const pluginLanguageCount = Array.isArray(pluginLanguageConfig)
399
+ ? pluginLanguageConfig.length
400
+ : 1;
401
+ return sum + (p.numTests || 0) * pluginLanguageCount;
402
+ }, 0);
386
403
  // When there are no strategies, or only a disabled basic strategy
387
404
  if (strategies.length === 0 ||
388
405
  (strategies.length === 1 && basicStrategyExists && !includeBasicTests)) {
389
406
  return {
390
407
  effectiveStrategyCount: 0,
391
408
  includeBasicTests: strategies.length === 0 ? true : includeBasicTests,
392
- multilingualStrategy: undefined,
393
409
  totalPluginTests,
394
410
  totalTests: includeBasicTests ? totalPluginTests : 0,
395
411
  };
@@ -400,22 +416,17 @@ function calculateTotalTests(plugins, strategies) {
400
416
  if (retryStrategy) {
401
417
  totalTests = getTestCount(retryStrategy, totalTests, strategies);
402
418
  }
403
- // Apply other non-basic, non-multilingual, non-retry strategies
419
+ // Apply other non-basic, non-retry strategies
404
420
  for (const strategy of strategies) {
405
- if (['basic', 'multilingual', 'retry'].includes(strategy.id)) {
421
+ if (['basic', 'retry'].includes(strategy.id)) {
406
422
  continue;
407
423
  }
408
424
  // Add the tests from this strategy to the total, not replace the total
409
425
  totalTests += getTestCount(strategy, totalPluginTests, strategies);
410
426
  }
411
- // Apply multilingual strategy last if present
412
- if (multilingualStrategy) {
413
- totalTests = getTestCount(multilingualStrategy, totalTests, strategies);
414
- }
415
427
  return {
416
428
  effectiveStrategyCount,
417
429
  includeBasicTests,
418
- multilingualStrategy,
419
430
  totalPluginTests,
420
431
  totalTests,
421
432
  };
@@ -490,34 +501,44 @@ async function synthesize({ abortSignal, delay, entities: entitiesOverride, inje
490
501
  return true;
491
502
  });
492
503
  (0, index_2.validateStrategies)(strategies);
504
+ // If any language-disallowed strategies are present, force language to English only
505
+ const hasLanguageDisallowedStrategy = strategies.some((s) => (0, constants_1.isLanguageDisallowedStrategy)(s.id));
506
+ if (hasLanguageDisallowedStrategy && language) {
507
+ const originalLanguage = Array.isArray(language) ? language.join(', ') : language;
508
+ language = 'en';
509
+ logger_1.default.info(`[Language Override] Detected language-disallowed strategy (audio/video/image/layer/math-prompt). Forcing language to 'en' (was: ${originalLanguage})`);
510
+ }
493
511
  const redteamProvider = await shared_1.redteamProviderManager.getProvider({
494
512
  provider,
495
513
  });
496
- const { effectiveStrategyCount, includeBasicTests, multilingualStrategy, totalPluginTests, totalTests, } = calculateTotalTests(plugins, strategies);
514
+ const { effectiveStrategyCount, includeBasicTests, totalPluginTests, totalTests } = calculateTotalTests(plugins, strategies, language);
497
515
  logger_1.default.info(`Synthesizing test cases for ${prompts.length} ${prompts.length === 1 ? 'prompt' : 'prompts'}...\nUsing plugins:\n\n${chalk_1.default.yellow(plugins
498
- .map((p) => `${p.id} (${formatTestCount(p.numTests, false)})${p.config ? ` (${JSON.stringify(p.config)})` : ''}`)
516
+ .map((p) => {
517
+ // Calculate actual test count accounting for multiple languages
518
+ const pluginLanguageConfig = p.config?.language ?? language;
519
+ const pluginLanguageCount = Array.isArray(pluginLanguageConfig)
520
+ ? pluginLanguageConfig.length
521
+ : 1;
522
+ const actualTestCount = (p.numTests || 0) * pluginLanguageCount;
523
+ return `${p.id} (${formatTestCount(actualTestCount, false)})${p.config ? ` (${JSON.stringify(p.config)})` : ''}`;
524
+ })
499
525
  .sort()
500
526
  .join('\n'))}\n`);
501
527
  if (strategies.length > 0) {
502
528
  logger_1.default.info(`Using strategies:\n\n${chalk_1.default.yellow(strategies
503
529
  .filter((s) => !['basic', 'retry'].includes(s.id))
504
530
  .map((s) => {
505
- // For non-basic, non-multilingual strategies, we want to show the additional tests they generate
531
+ // For non-basic strategies, we want to show the additional tests they generate
506
532
  let testCount = totalPluginTests;
507
- if (s.id === 'multilingual') {
508
- testCount = getTestCount(s, totalPluginTests, strategies);
533
+ // Apply fan-out multiplier if this is a fan-out strategy
534
+ let n = 1;
535
+ if (typeof s.config?.n === 'number') {
536
+ n = s.config.n;
509
537
  }
510
- else {
511
- // Apply fan-out multiplier if this is a fan-out strategy
512
- let n = 1;
513
- if (typeof s.config?.n === 'number') {
514
- n = s.config.n;
515
- }
516
- else if ((0, constants_1.isFanoutStrategy)(s.id)) {
517
- n = (0, constants_1.getDefaultNFanout)(s.id);
518
- }
519
- testCount = totalPluginTests * n;
538
+ else if ((0, constants_1.isFanoutStrategy)(s.id)) {
539
+ n = (0, constants_1.getDefaultNFanout)(s.id);
520
540
  }
541
+ testCount = totalPluginTests * n;
521
542
  return `${s.id} (${formatTestCount(testCount, true)})`;
522
543
  })
523
544
  .sort()
@@ -664,40 +685,73 @@ async function synthesize({ abortSignal, delay, entities: entitiesOverride, inje
664
685
  const { action } = index_1.Plugins.find((p) => p.key === plugin.id) || {};
665
686
  if (action) {
666
687
  logger_1.default.debug(`Generating tests for ${plugin.id}...`);
667
- let pluginTests = await action({
668
- provider: redteamProvider,
669
- purpose,
670
- injectVar,
671
- n: plugin.numTests,
672
- delayMs: delay || 0,
673
- config: {
674
- language,
675
- modifiers: {
676
- ...(testGenerationInstructions ? { testGenerationInstructions } : {}),
677
- ...(plugin.config?.modifiers || {}),
678
- },
679
- ...resolvePluginConfig(plugin.config),
680
- },
681
- });
682
- if (!Array.isArray(pluginTests) || pluginTests.length === 0) {
683
- logger_1.default.warn(`Failed to generate tests for ${plugin.id}`);
684
- pluginTests = [];
685
- }
686
- else {
687
- // Add metadata to each test case
688
- const testCasesWithMetadata = pluginTests.map((t) => ({
689
- ...t,
690
- metadata: {
691
- pluginId: plugin.id,
692
- pluginConfig: resolvePluginConfig(plugin.config),
693
- severity: plugin.severity ?? getPluginSeverity(plugin.id, resolvePluginConfig(plugin.config)),
688
+ // If plugin has its own language, use that; otherwise use global language
689
+ const languageConfig = plugin.config?.language ?? language;
690
+ const languages = Array.isArray(languageConfig)
691
+ ? languageConfig
692
+ : languageConfig
693
+ ? [languageConfig]
694
+ : ['en'];
695
+ logger_1.default.debug(`[Language Processing] Plugin: ${plugin.id}, Languages: ${JSON.stringify(languages)}, NumTests per language: ${plugin.numTests}${plugin.config?.language ? ' (plugin override)' : ''}`);
696
+ // Generate tests for each language in parallel using Promise.allSettled
697
+ const allPluginTests = [];
698
+ const resultsPerLanguage = {};
699
+ const languagePromises = languages.map(async (lang) => {
700
+ const pluginTests = await action({
701
+ provider: redteamProvider,
702
+ purpose,
703
+ injectVar,
704
+ n: plugin.numTests,
705
+ delayMs: delay || 0,
706
+ config: {
707
+ ...resolvePluginConfig(plugin.config),
708
+ language: lang,
694
709
  modifiers: {
695
710
  ...(testGenerationInstructions ? { testGenerationInstructions } : {}),
696
711
  ...(plugin.config?.modifiers || {}),
697
712
  },
698
- ...(t?.metadata || {}),
699
713
  },
700
- }));
714
+ });
715
+ {
716
+ const langKey = lang;
717
+ if (Array.isArray(pluginTests) && pluginTests.length > 0) {
718
+ // Add all metadata (language + plugin info) so strategies can access it
719
+ const testsWithMetadata = pluginTests.map((test) => addLanguageToPluginMetadata(test, lang, plugin, testGenerationInstructions));
720
+ return {
721
+ lang: langKey,
722
+ tests: testsWithMetadata,
723
+ requested: plugin.numTests,
724
+ generated: pluginTests.length,
725
+ };
726
+ }
727
+ logger_1.default.warn(`[Language Processing] No tests generated for ${plugin.id} in language: ${lang || 'default'}`);
728
+ return {
729
+ lang: langKey,
730
+ tests: [],
731
+ requested: plugin.numTests,
732
+ generated: 0,
733
+ };
734
+ }
735
+ });
736
+ const languageResults = await Promise.allSettled(languagePromises);
737
+ for (const result of languageResults) {
738
+ if (result.status === 'fulfilled') {
739
+ const { lang, tests, requested, generated } = result.value;
740
+ allPluginTests.push(...tests);
741
+ resultsPerLanguage[lang] = { requested, generated };
742
+ }
743
+ else {
744
+ // Handle rejected promise
745
+ logger_1.default.warn(`[Language Processing] Error generating tests for ${plugin.id}: ${result.reason}`);
746
+ }
747
+ }
748
+ logger_1.default.debug(`[Language Processing] Total tests generated for ${plugin.id}: ${allPluginTests.length} (across ${languages.length} language(s))`);
749
+ if (!Array.isArray(allPluginTests) || allPluginTests.length === 0) {
750
+ logger_1.default.warn(`Failed to generate tests for ${plugin.id}`);
751
+ }
752
+ else {
753
+ // Metadata already added in promise resolution above (including pluginId)
754
+ const testCasesWithMetadata = allPluginTests;
701
755
  // Extract goal for this plugin's tests
702
756
  logger_1.default.debug(`Extracting goal for ${testCasesWithMetadata.length} tests from ${plugin.id}...`);
703
757
  for (const testCase of testCasesWithMetadata) {
@@ -710,18 +764,31 @@ async function synthesize({ abortSignal, delay, entities: entitiesOverride, inje
710
764
  // Add the results to main test cases array
711
765
  testCases.push(...testCasesWithMetadata);
712
766
  }
713
- pluginTests = Array.isArray(pluginTests) ? pluginTests : [];
714
767
  if (showProgressBar) {
715
- progressBar?.increment(plugin.numTests);
768
+ progressBar?.increment(plugin.numTests * languages.length);
716
769
  }
717
770
  else {
718
- logger_1.default.info(`Generated ${pluginTests.length} tests for ${plugin.id}`);
771
+ logger_1.default.info(`Generated ${allPluginTests.length} tests for ${plugin.id}`);
772
+ }
773
+ logger_1.default.debug(`Added ${allPluginTests.length} ${plugin.id} test cases`);
774
+ // If multiple defined languages were used, create separate report entries for each language
775
+ // Otherwise, use the aggregated result for the plugin
776
+ const definedLanguages = languages.filter((lang) => lang !== undefined);
777
+ if (definedLanguages.length > 1) {
778
+ // Multiple languages - create separate entries for each
779
+ // Don't show language suffix for English (en) - it's the default
780
+ for (const [langKey, result] of Object.entries(resultsPerLanguage)) {
781
+ const displayId = langKey === 'en' ? plugin.id : `${plugin.id} (${langKey})`;
782
+ pluginResults[displayId] = result;
783
+ }
784
+ }
785
+ else {
786
+ // Single language or no language - use aggregated result
787
+ pluginResults[plugin.id] = {
788
+ requested: plugin.id === 'intent' ? allPluginTests.length : plugin.numTests * languages.length,
789
+ generated: allPluginTests.length,
790
+ };
719
791
  }
720
- logger_1.default.debug(`Added ${pluginTests.length} ${plugin.id} test cases`);
721
- pluginResults[plugin.id] = {
722
- requested: plugin.id === 'intent' ? pluginTests.length : plugin.numTests,
723
- generated: pluginTests.length,
724
- };
725
792
  }
726
793
  else if (plugin.id.startsWith('file://')) {
727
794
  try {
@@ -785,19 +852,14 @@ async function synthesize({ abortSignal, delay, entities: entitiesOverride, inje
785
852
  pluginTestCases.push(...retryTestCases);
786
853
  Object.assign(strategyResults, retryResults);
787
854
  }
788
- // Check for abort signal or apply non-basic, non-multilingual strategies
855
+ // Check for abort signal or apply non-basic strategies
789
856
  checkAbort();
790
- const { testCases: strategyTestCases, strategyResults: otherStrategyResults } = await applyStrategies(pluginTestCases, strategies.filter((s) => !['basic', 'multilingual', 'retry'].includes(s.id)), injectVar, excludeTargetOutputFromAgenticAttackGeneration);
857
+ const { testCases: strategyTestCases, strategyResults: otherStrategyResults } = await applyStrategies(pluginTestCases, strategies.filter((s) => !['basic', 'retry'].includes(s.id)), injectVar, excludeTargetOutputFromAgenticAttackGeneration);
791
858
  Object.assign(strategyResults, otherStrategyResults);
792
859
  // Combine test cases based on basic strategy setting
793
860
  const finalTestCases = [...(includeBasicTests ? pluginTestCases : []), ...strategyTestCases];
794
- // Check for abort signal or apply multilingual strategy to all test cases
861
+ // Check for abort signal
795
862
  checkAbort();
796
- if (multilingualStrategy) {
797
- const { testCases: multiLingualTestCases, strategyResults: multiLingualResults } = await applyStrategies(finalTestCases, [multilingualStrategy], injectVar);
798
- finalTestCases.push(...multiLingualTestCases);
799
- Object.assign(strategyResults, multiLingualResults);
800
- }
801
863
  progressBar?.update({ task: 'Done.' });
802
864
  progressBar?.stop();
803
865
  if (progressBar) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/redteam/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/redteam/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { RedteamGraderBase, RedteamPluginBase } from './base';
2
- import type { ApiProvider, Assertion, AtomicTestCase, GradingResult, TestCase } from '../../types/index';
1
+ import { RedteamGraderBase, RedteamPluginBase, type RedteamGradingContext } from './base';
2
+ import type { ApiProvider, Assertion, AssertionValue, AtomicTestCase, GradingResult, TestCase } from '../../types/index';
3
3
  export declare const DATASET_PATH = "huggingface://datasets/nvidia/Aegis-AI-Content-Safety-Dataset-1.0?split=train";
4
4
  export declare function fetchDataset(limit: number): Promise<TestCase[]>;
5
5
  export declare class AegisPlugin extends RedteamPluginBase {
@@ -12,7 +12,7 @@ export declare class AegisPlugin extends RedteamPluginBase {
12
12
  export declare class AegisGrader extends RedteamGraderBase {
13
13
  readonly id = "promptfoo:redteam:aegis";
14
14
  rubric: string;
15
- getResult(prompt: string, llmOutput: string, test: AtomicTestCase, provider: ApiProvider | undefined): Promise<{
15
+ getResult(prompt: string, llmOutput: string, test: AtomicTestCase, provider: ApiProvider | undefined, renderedValue?: AssertionValue, additionalRubric?: string, skipRefusalCheck?: boolean, gradingContext?: RedteamGradingContext): Promise<{
16
16
  grade: GradingResult;
17
17
  rubric: string;
18
18
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"aegis.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/aegis.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE9D,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,cAAc,EACd,aAAa,EACb,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAG3B,eAAO,MAAM,YAAY,kFACwD,CAAC;AAclF,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CA0BrE;AAED,qBAAa,WAAY,SAAQ,iBAAiB;IAChD,QAAQ,CAAC,EAAE,6BAAa;IACxB,MAAM,CAAC,QAAQ,CAAC,iBAAiB,SAAS;IAEpC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAIpC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE;IAS/C,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAavE;AAED,qBAAa,WAAY,SAAQ,iBAAiB;IAChD,QAAQ,CAAC,EAAE,6BAAa;IAExB,MAAM,SAWiF;IAEjF,SAAS,CACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,WAAW,GAAG,SAAS,GAChC,OAAO,CAAC;QAAE,KAAK,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAarD"}
1
+ {"version":3,"file":"aegis.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/aegis.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAE1F,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,cAAc,EACd,cAAc,EACd,aAAa,EACb,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAG3B,eAAO,MAAM,YAAY,kFACwD,CAAC;AAclF,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CA0BrE;AAED,qBAAa,WAAY,SAAQ,iBAAiB;IAChD,QAAQ,CAAC,EAAE,6BAAa;IACxB,MAAM,CAAC,QAAQ,CAAC,iBAAiB,SAAS;IAEpC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAIpC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE;IAS/C,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAavE;AAED,qBAAa,WAAY,SAAQ,iBAAiB;IAChD,QAAQ,CAAC,EAAE,6BAAa;IAExB,MAAM,SAWiF;IAEjF,SAAS,CACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,WAAW,GAAG,SAAS,EACjC,aAAa,CAAC,EAAE,cAAc,EAC9B,gBAAgB,CAAC,EAAE,MAAM,EACzB,gBAAgB,CAAC,EAAE,OAAO,EAC1B,cAAc,CAAC,EAAE,qBAAqB,GACrC,OAAO,CAAC;QAAE,KAAK,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAsBrD"}